§
    ÈÁ³gð  ã                   ó´  — d dl Z d dlZ	  ej        dej        ¦  «        Z ej        dej        ¦  «        Z ej        dej        ¦  «        Zd„ Z ej        d¦  «        Z ej        d¦  «        Z	 ej        d¦  «        Z
d	„ Zd
„ Z ej        d¦  «        Zd„ Zd„ Z ej        d¦  «        Zd„ Zd„ Z ej        dej        ¦  «        Zd„ Zd„ Z ed¦  «        ZdS )é    Nz2(\n|\A)((     (\$|\*))|)\s*(subroutine|function)\bz+\n\s*end\s*(subroutine|function)\b.*(\n|\Z)z\n     (\$|\*)\s*function\bc                 ó"  — g }d}	 t                                | |¦  «        }|€në|                     ¦   «         }t                               | ||                     ¦   «         ¦  «        r4	 |                      d||¦  «        }|dk    rn|}| ||dz   …         dk    rnŒ3|dz  }t                               | |                     ¦   «         ¦  «        }|r|                     ¦   «         dz
  pt          | ¦  «        x}}| 	                    ||f¦  «         �Œ	|S )	z‘ Return a list of tuples for each function or subroutine each
    tuple is the start and end of a subroutine or function to be
    expanded.
    r   TNú
éÿÿÿÿé   z
     $é   )
Úroutine_start_reÚsearchÚstartÚfunction_start_reÚmatchÚendÚrfindÚroutine_end_reÚlenÚappend)ÚastrÚspanlistÚindÚmr
   Úir   s          úQ/var/www/html/mpstechhub/venv/lib/python3.11/site-packages/numpy/f2py/_src_pyf.pyÚparse_structurer   7   s  € ð €HØ
€Cð&Ý×#Ò# D¨#Ñ.Ô.ˆØˆ9ØØ—’‘	”	ˆÝ×"Ò" 4¨°·²±´Ñ8Ô8ð 	ðØ—J’J˜t S¨%Ñ0Ô0�Ø�b’5�5ØØ�Ø˜˜!˜A™#˜”; 
Ò*Ð*Øðð 	�‰
ˆÝ×!Ò! $¨¯ª©¬Ñ0Ô0ˆØ�O˜!Ÿ%š%™'œ' !™)Ð0¥s¨4¡y¤yÐ0ˆˆcØ�Š˜ ˜Ñ%Ô%Ð%ñ!&ð" €Oó    z<\s*(\w[\w\d]*)\s*>z<\s*(\w[\w\d]*)\s*=\s*(.*?)\s*>z<\s*((.*?))\s*>c                 óú   — t                                | ¦  «        }i }|D ][}|d                              ¦   «         pt          |¦  «        }|d                              dd¦  «        }t          |¦  «        }|||<   Œ\|S )Nr   r   ú\,ú@comma@)Únamed_reÚfindallÚstripÚ
unique_keyÚreplaceÚconv)r   ÚrepsÚnamesÚrepÚnameÚreplÚthelists          r   Úfind_repl_patternsr)   V   sy   € Ý×Ò˜DÑ!Ô!€DØ€EØð ð ˆØ�1Œv�|Š|‰~Œ~Ð2¥¨EÑ!2Ô!2ˆØ�1Œv�~Š~˜e YÑ/Ô/ˆÝ�t‘*”*ˆØˆˆd‰ˆØ€Lr   c                 ój   — t          | ¦  «        }t          j        t          d| ¦  «        d         } | |fS )NÚ r   )r)   ÚreÚsubnr   )r   r$   s     r   Úfind_and_remove_repl_patternsr.   `   s1   € Ý˜tÑ$Ô$€EÝŒ7•8˜R Ñ&Ô& qÔ)€DØ�ˆ;Ðr   z\A\\(?P<index>\d+)\Zc                 óJ  — |                       d¦  «        }d„ |D ¦   «         }t          t          |¦  «        ¦  «        D ]Q}t                               ||         ¦  «        }|r-t          |                     d¦  «        ¦  «        }||         ||<   ŒRd                     |¦  «        S )Nú,c                 ó6   — g | ]}|                      ¦   «         ‘ŒS © )r   )Ú.0Úxs     r   ú
<listcomp>zconv.<locals>.<listcomp>h   s    € ÐÐÐ�qˆ�Š‰ŒÐÐÐr   Úindex)ÚsplitÚranger   Úitem_rer   ÚintÚgroupÚjoin)r   ÚbÚlr   r   Újs         r   r"   r"   f   s“   € Ø�
Š
�3‰Œ€AØÐ˜AÐÑÔ€AÝ•3�q‘6”6‰]Œ]ð ð ˆÝ�MŠM˜!˜Aœ$ÑÔˆØð 	Ý�A—G’G˜GÑ$Ô$Ñ%Ô%ˆAØ�Q”4ˆAˆa‰DøØ�8Š8�A‰;Œ;Ðr   c                 óz   — t          |                      ¦   «         ¦  «        }d}d}|sd|z  }||v r|dz  }nd}|¯|S )z( Obtain a unique key given a dictionary.Fr   z__l%sT)ÚlistÚkeys)ÚadictÚallkeysÚdoneÚnÚnewkeys        r   r    r    p   s^   € å�5—:’:‘<”<Ñ Ô €GØ€DØ	€AØð Ø˜A‘ˆØ�WÐÐØ�‰FˆAˆAàˆDð ð ð €Mr   z\A\s*(\w[\w\d]*)\s*\Zc           
      óÜ  ‡‡‡— |                       dd¦  «        } |                       dd¦  «        } t          | ¦  «        Št                               d| ¦  «        } ˆfd„}t                               || ¦  «        } d }d }i Št
                               | ¦  «        D ]æ}|‰vrà‰                     ||                     |d ¦  «        ¦  «        }|€t          d|z  ¦  «        ‚||vr| 	                    d¦  «        s|||<   d	„ | 
                    d
¦  «        D ¦   «         }t          |¦  «        }|€
|}|‰|<   |}Œœ||k    r|‰|<   Œ¨t          d                     |d
                     ‰|         ¦  «        ||¦  «        ¦  «         Œç‰s| S ˆˆfd„}	d}
t          |¦  «        D ]#Š|
t
                               |	| ¦  «        dz   z  }
Œ$|
                      dd¦  «        }
|
                      dd¦  «        }
|
S )Nz\>z@rightarrow@z\<z@leftarrow@z<\1>c                 ó2  •— t          |                      d¦  «                             dd¦  «        ¦  «        }t                               |¦  «        rd|z  S d }‰                     ¦   «         D ]}‰|         |k    r|}Œ|€t          ‰¦  «        }|‰|<   d|z  S )Nr   r   r   z<%s>)r"   r;   r!   Útemplate_name_rer   rB   r    )Úmobjr(   r&   ÚkeyÚlnamess       €r   Úlistreplzexpand_sub.<locals>.listrepl…   s¡   ø€ Ý�t—z’z !‘}”}×,Ò,¨U°IÑ>Ô>Ñ?Ô?ˆÝ×!Ò! 'Ñ*Ô*ð 	&Ø˜WÑ%Ð%ØˆØ—;’;‘=”=ð 	ð 	ˆCØ�cŒ{˜gÒ%Ð%Ø�øØˆ<Ý˜fÑ%Ô%ˆDØ"ˆF�4‰LØ˜‰}Ðr   zNo replicates found for <%s>Ú_c                 ó:   — g | ]}|                      d d¦  «        ‘ŒS )r   r0   )r!   )r3   r   s     r   r5   zexpand_sub.<locals>.<listcomp>Ÿ   s&   € ÐJÐJÐJ°!�A—I’I˜i¨Ñ-Ô-ÐJÐJÐJr   r0   zHMismatch in number of replacements (base <{}={}>) for <{}={}>. Ignoring.c                 ót   •— |                       d¦  «        }‰                     |‰dz   |gz  ¦  «        ‰         S )Nr   )r;   Úget)rK   r&   ÚkÚruless     €€r   Únamereplzexpand_sub.<locals>.namerepl®   s5   ø€ Ø�zŠz˜!‰}Œ}ˆØ�yŠy˜  !¡ d V™|Ñ,Ô,¨QÔ/Ð/r   r+   z

ú>ú<)r!   r)   r   ÚsubÚlist_reÚtemplate_rer   rR   Ú
ValueErrorÚ
startswithr7   r   ÚprintÚformatr<   r8   )Úsubstrr$   rN   ÚnumsubsÚ	base_ruleÚrr(   ÚruleÚnumrU   ÚnewstrrS   rM   rT   s              @@@r   Ú
expand_subrf      s;  øøø€ Ø�^Š^˜E >Ñ2Ô2€FØ�^Š^˜E =Ñ1Ô1€FÝ Ñ'Ô'€FÝ�\Š\˜' 6Ñ*Ô*€Fðð ð ð ð õ �[Š[˜ 6Ñ*Ô*€Fð €GØ€IØ€EÝ× Ò  Ñ(Ô(ð jð jˆØ�Eˆ>ˆ>Ø—j’j  E§I¢I¨a°Ñ$6Ô$6Ñ7Ô7ˆGØˆÝ Ð!?À1Ñ!EÑFÔFÐFØ˜ˆ~ˆ~ g×&8Ò&8¸Ñ&=Ô&=ˆ~Ø"��a‘ØJÐJ°w·}²}ÀSÑ7IÔ7IÐJÑJÔJˆDÝ�d‘)”)ˆCàˆØ�Ø��a‘Ø�	�	Ø˜’�Ø��a‘�åð /ß/5ªv°iÀÇÂÈ%ÐPYÔJZÑA[ÔA[Ð]^Ð`gÑ/hÔ/hñjô jð jøàð Øˆð0ð 0ð 0ð 0ð 0ð 0ð €FÝ�7‰^Œ^ð =ð =ˆØ•+—/’/ (¨FÑ3Ô3°fÑ<Ñ<ˆˆà�^Š^˜N¨CÑ0Ô0€FØ�^Š^˜M¨3Ñ/Ô/€FØ€Mr   c                 ó^  — | }d}t          |¦  «        }d}i }|                     t          ¦  «         |D ]k}t          |||d         …         ¦  «        \  }}||z  }|                     |¦  «         |t	          ||d         |d         …         |¦  «        z  }|d         }Œl|||d …         z  }|S )Nr+   r   r   )r   ÚupdateÚ_special_namesr.   rf   )	Úallstrre   ÚwritestrÚstructÚoldendr$   rX   Ú
cleanedstrÚdefss	            r   Úprocess_strrp   º   sÆ   € Ø€FØ€Hå˜VÑ$Ô$€Fà€FØ€EØ	‡L‚L•Ñ Ô Ð Øð ð ˆÝ8¸ÀÀsÈ1ÄvÀÔ9NÑOÔOÑˆ
�DØ�JÑˆØ�Š�TÑÔÐØ•J˜v c¨!¤f¨S°¬V mÔ4°eÑ<Ô<Ñ<ˆØ�a”&ˆˆØ��v�w�w”Ñ€Hà€Or   z8(\n|\A)\s*include\s*['\"](?P<name>[\w\d./\\]+\.src)['\"]c                 ó\  — t           j                             | ¦  «        }t          | ¦  «        5 }g }|D ]ß}t                               |¦  «        }|r¬|                     d¦  «        }t           j                             |¦  «        s t           j                             ||¦  «        }t           j         	                    |¦  «        r#| 
                    t          |¦  «        ¦  «         Œ´|                     |¦  «         ŒÊ|                     |¦  «         Œà	 d d d ¦  «         n# 1 swxY w Y   |S )Nr&   )ÚosÚpathÚdirnameÚopenÚinclude_src_rer   r;   Úisabsr<   ÚisfileÚextendÚresolve_includesr   )ÚsourceÚdÚfidÚlinesÚliner   Úfns          r   rz   rz   Ï   sF  € Ý
Œ�Š˜ÑÔ€AÝ	ˆf‰Œð #˜ØˆØð 	#ð 	#ˆDÝ×$Ò$ TÑ*Ô*ˆAØð 	#Ø—W’W˜V‘_”_�Ý”w—}’} RÑ(Ô(ð -ÝœŸš a¨Ñ,Ô,�BÝ”7—>’> "Ñ%Ô%ð 'Ø—L’LÕ!1°"Ñ!5Ô!5Ñ6Ô6Ð6Ð6à—L’L Ñ&Ô&Ð&Ð&à—’˜TÑ"Ô"Ð"Ð"ð	#ð#ð #ð #ñ #ô #ð #ð #ð #ð #ð #ð #øøøð #ð #ð #ð #ð €Ls   ¯C%D!Ä!D%Ä(D%c                 ód   — t          | ¦  «        }t          d                     |¦  «        ¦  «        S )Nr+   )rz   rp   r<   )r{   r~   s     r   Úprocess_filer‚   á   s'   € Ý˜VÑ$Ô$€EÝ�r—w’w˜u‘~”~Ñ&Ô&Ð&r   zÿ
<_c=s,d,c,z>
<_t=real,double precision,complex,double complex>
<prefix=s,d,c,z>
<ftype=real,double precision,complex,double complex>
<ctype=float,double,complex_float,complex_double>
<ftypereal=real,double precision,\0,\1>
<ctypereal=float,double,\0,\1>
)rr   r,   ÚcompileÚIr   r   r   r   rZ   r   rY   r)   r.   r9   r"   r    rJ   rf   rp   rv   rz   r‚   ri   r2   r   r   ú<module>r…      s…  ðØ 	€	€	€	Ø 	€	€	€	ð+ðZ �2”:ÐSÐUWÔUYÑZÔZÐ Ø�”ÐJÈBÌDÑQÔQ€Ø�B”JÐ=¸r¼tÑDÔDÐ ðð ð ð6 ˆbŒjÐ/Ñ0Ô0€Øˆ2Œ:Ð8Ñ9Ô9€Ø
ˆ"Œ*Ð'Ñ
(Ô
(€ðð ð ðð ð ð
 ˆ"Œ*Ð,Ñ
-Ô
-€ðð ð ðð ð ð �2”:Ð6Ñ7Ô7Ð ð9ð 9ð 9ðvð ð ð& �”ÐWÐY[ÔY]Ñ^Ô^€ðð ð ð$'ð 'ð 'ð $Ð#ð %ñ ô €€€r   