§ y<ˆjéãóð—dZddgZddlZddlZddlZejdej¦«Zejdej¦«Zejdej¦«Z d„Z ejd ¦«Z ejd ¦«Z ejd ¦«Z d „Zd „Zejd¦«Zd„Zd„Zejd¦«Zd„Zd„Zejdej¦«Zd„Zd„Zed¦«Zd„Zedkr e¦«dSdS)aÆ process_file(filename) takes templated file .xxx.src and produces .xxx file where .xxx is .pyf .f90 or .f using the following template rules: '<..>' denotes a template. All function and subroutine blocks in a source file with names that contain '<..>' will be replicated according to the rules in '<..>'. The number of comma-separated words in '<..>' will determine the number of replicates. '<..>' may have two different forms, named and short. For example, named: where anywhere inside a block '

' will be replaced with 'd', 's', 'z', and 'c' for each replicate of the block. <_c> is already defined: <_c=s,d,c,z> <_t> is already defined: <_t=real,double precision,complex,double complex> short: , a short form of the named, useful when no

appears inside a block. In general, '<..>' contains a comma separated list of arbitrary expressions. If these expression must contain a comma|leftarrow|rightarrow, then prepend the comma|leftarrow|rightarrow with a backslash. If an expression matches '\' then it will be replaced by -th expression. Note that all '<..>' forms in a block must have the same number of comma-separated entries. Predefined named template rules: Ú process_strÚ process_fileé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||¦«}|dkrn|}|||dz…dkrnŒ3|dz }t || ¦«¦«}|r| ¦«dz pt|¦«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. rTNú éÿÿÿÿéz $é) Úroutine_start_reÚsearchÚstartÚfunction_start_reÚmatchÚendÚrfindÚroutine_end_reÚlenÚappend)ÚastrÚspanlistÚindÚmr Úirs úq/builddir/build/BUILD/cloudlinux-venv-1.0.12/venv/lib64/python3.11/site-packages/numpy/distutils/from_template.pyÚparse_structurer: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 ¦«pt|¦«}|d dd¦«}t |¦«}|||<Œ\|S)Nrr ú\,ú@comma@)Únamed_reÚfindallÚstripÚ unique_keyÚreplaceÚconv)rÚrepsÚnamesÚrepÚnameÚreplÚthelists rÚfind_repl_patternsr+Ysy€Ý × Ò ˜DÑ !Ô !€DØ €EØððˆØ�1Œv�|Š|‰~Œ~Ð2¥¨EÑ!2Ô!2ˆØ�1Œv�~Š~˜e YÑ/Ô/ˆÝ�t‘*”*ˆØˆˆd‰ ˆ Ø €Lrcój—t|¦«}tjtd|¦«d}||fS)NÚr)r+ÚreÚsubnr)rr&s rÚfind_and_remove_repl_patternsr0cs1€Ý ˜tÑ $Ô $€EÝ Œ7•8˜R Ñ &Ô & qÔ )€DØ �ˆ;Ðrz\A\\(?P\d+)\ZcóJ—| d¦«}d„|D¦«}tt|¦«¦«D]Q}t ||¦«}|r-t | d¦«¦«}||||<ŒRd |¦«S)Nú,có6—g|]}| ¦«‘ŒS©)r!)Ú.0Úxs rú zconv..ks €ÐÐÐ�qˆ�ЉŒÐÐÐrÚindex)ÚsplitÚrangerÚitem_rerÚintÚgroupÚjoin)rÚbÚlrrÚjs rr$r$is“€Ø � Š �3‰Œ€AØÐ˜AÐÑÔ€AÝ •3�q‘6”6‰]Œ]ððˆÝ �MŠM˜!˜Aœ$Ñ Ô ˆØ ð Ý�A—G’G˜GÑ$Ô$Ñ%Ô%ˆAØ�Q”4ˆAˆa‰DøØ �8Š8�A‰;Œ;Ðrcóz—t| ¦«¦«}d}d}|sd|z}||vr|dz }nd}|¯|S)z( Obtain a unique key given a dictionary.Fr z__l%sT)ÚlistÚkeys)ÚadictÚallkeysÚdoneÚnÚnewkeys rr"r"ss^€å�5—:’:‘<”<Ñ Ô €GØ €DØ €AØðؘA‘ˆØ �WÐ Ð Ø �‰FˆAˆAàˆDð ðð €Mrz\A\s*(\w[\w\d]*)\s*\Zc óʇ ‡ ‡ —| dd¦«}| dd¦«}t|¦«Š t d|¦«}ˆ fd„}t ||¦«}d}d}iŠ t  |¦«D]Ý}|‰ vr׉  || |d¦«¦«}|€td|z¦«‚||vr|  d¦«s|||<d „|  d ¦«D¦«}t|¦«}|€ |}|‰ |<|}Œœ||kr|‰ |<Œ¨td |›d d   ‰ |¦«›d |›d |›d� ¦«ŒÞ‰ s|Sˆ ˆ fd„} d} t|¦«D]#Š | t  | |¦«dzz } Œ$|  dd¦«} |  dd¦«} | S)Nz\>z @rightarrow@z\có2•—t| d¦« dd¦«¦«}t |¦«rd|zSd}‰ ¦«D]}‰||kr|}Œ|€t ‰¦«}|‰|<d|zS)Nr rrz<%s>)r$r=r#Útemplate_name_rerrDr")Úmobjr*r(ÚkeyÚlnamess €rÚlistreplzexpand_sub..listreplˆs¡ø€Ý�t—z’z !‘}”}×,Ò,¨U°IÑ>Ô>Ñ?Ô?ˆÝ × !Ò ! 'Ñ *Ô *ð &ؘWÑ%Ð %؈ؗ;’;‘=”=ð ð ˆCØ�cŒ{˜gÒ%Ð%Ø�øØ ˆ<ݘfÑ%Ô%ˆDØ"ˆF�4‰Lؘ‰}ÐrzNo replicates found for <%s>Ú_có:—g|]}| dd¦«‘ŒS)rr2)r#)r5rs rr7zexpand_sub..¢s&€ÐJÐJÐJ°!�A—I’I˜i¨Ñ-Ô-ÐJÐJÐJrr2z*Mismatch in number of replacements (base <ú=z>) for . Ignoring.cót•—| d¦«}‰ |‰dz|gz¦«‰S)Nr )r=Úget)rMr(ÚkÚruless €€rÚnamereplzexpand_sub..namerepl²s5ø€Ø�zŠz˜!‰}Œ}ˆØ�yŠy˜  !¡ d V™|Ñ,Ô,¨QÔ/Ð/rr-z ú>ú<)r#r+rÚsubÚlist_reÚ template_rer rUÚ ValueErrorÚ startswithr9rÚprintr>r:)Úsubstrr&rPÚnumsubsÚ base_ruleÚrr*ÚruleÚnumrXÚnewstrrVrOrWs @@@rÚ expand_subrh‚sEøøø€Ø �^Š^˜E >Ñ 2Ô 2€FØ �^Š^˜E =Ñ 1Ô 1€FÝ  Ñ 'Ô '€FÝ �\Š\˜' 6Ñ *Ô *€Fð ð ð ð ð õ�[Š[˜ 6Ñ *Ô *€Fð€GØ€IØ €EÝ × Ò  Ñ (Ô (ðKðKˆØ �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‘�å�à �y�y #§(¢(¨5°Ô+;Ñ"<Ô"<Ð"<Ð"<¸a¸a¸aÀÀÀðJñKôKðKøð ðØˆ ð0ð0ð0ð0ð0ð0ð€FÝ �7‰^Œ^ð=ð=ˆØ•+—/’/ (¨FÑ3Ô3°fÑ<Ñ<ˆˆà �^Š^˜N¨CÑ 0Ô 0€FØ �^Š^˜M¨3Ñ /Ô /€FØ €Mrcó^—|}d}t|¦«}d}i}| t¦«|D]k}t|||d…¦«\}}||z }| |¦«|t ||d|d…|¦«z }|d}Œl|||d…z }|S)Nr-rr )rÚupdateÚ_special_namesr0rh) ÚallstrrgÚwritestrÚstructÚoldendr&r[Ú cleanedstrÚdefss rrr¾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à €Orz8(\n|\A)\s*include\s*['\"](?P[\w\d./\\]+\.src)['\"]có\—tj |¦«}t|¦«5}g}|D]ß}t |¦«}|r¬| d¦«}tj |¦«s tj ||¦«}tj  |¦«r#|  t|¦«¦«Œ´|  |¦«ŒÊ|  |¦«Œà ddd¦«n #1swxYwY|S)Nr() ÚosÚpathÚdirnameÚopenÚinclude_src_rerr=Úisabsr>ÚisfileÚextendÚresolve_includesr)ÚsourceÚdÚfidÚlinesÚlinerÚfns rr{r{Ó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|¦«}td |¦«¦«S)Nr-)r{rr>)r|rs rrrås'€Ý ˜VÑ $Ô $€EÝ �r—w’w˜u‘~”~Ñ &Ô &Ð&rzÿ <_c=s,d,c,z> <_t=real,double precision,complex,double complex> cóv— tjd}t|d¦«}tj |¦«\}}|}t|d¦«}n(#t $rtj}tj}YnwxYw|  ¦«}t|¦«}|  |¦«dS)Nr rdÚw) ÚsysÚargvrvrsrtÚsplitextÚ IndexErrorÚstdinÚstdoutÚreadrÚwrite)Úfiler~ÚbaseÚextÚnewnameÚoutfilerlrms rÚmainr’ós³€ð %ÝŒx˜Œ{ˆõ �4˜‰oŒoˆÝ”g×&Ò& tÑ,Ô,‰ ˆˆs؈Ý�w Ñ$Ô$ˆˆøõ ðððÝŒiˆÝ”*ˆˆˆðøøøð�XŠX‰ZŒZ€Fݘ6Ñ"Ô"€HØ ‡M‚M�(ÑÔÐÐÐs‚AÁ"A>Á=A>Ú__main__)Ú__doc__Ú__all__rsr…r.ÚcompileÚIr rr rr]rr\r+r0r;r$r"rLrhrrwr{rrkr’Ú__name__r4rrúr™sÌðð-ð-ð\ ˜.Ð )€à € € € Ø € € € Ø € € € à�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Ðð:ð:ð:ðxððð&�”ÐWÐY[ÔY]Ñ^Ô^€ðððð$'ð'ð'ð$Ð#ð%ñô€ðððð" ˆzÒÐØ€D�F„F€F€F€FðÐr