hyb
2026-01-30 15bc7727b58bf9ca0c8f21702fa893daac232b8d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
Ë
Kñúhmãó\—dZddlZddlZddlZddlZddlmZddlmZm    Z    ddl    m
Z
gd¢Z ejZ ejZiZgZdZd„Zd    „Zd
„Zd „Zd „Zd „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z!d„Z"d„Z#d„Z$d„Z%d„Z&d„Z'd„Z(d„Z)d „Z*d!„Z+d"„Z,d#„Z-d$„Z.d%„Z/d&„Z0d'„Z1d(„Z2d)„Z3d*„Z4d+„Z5d,„Z6d-„Z7d.„Z8d/„Z9d0„Z:d1„Z;d2„Z<d3„Z=d4„Z>d5„Z?d6„Z@d7„ZAd8„ZBd9„ZCd:„ZDd;„ZEd<„ZFd=„ZGd>„ZHd?„ZId@„ZJdA„ZKdB„ZLdC„ZMdD„ZNdE„ZOdF„ZPdG„ZQdH„ZRdI„ZSdJ„ZTdK„ZUdL„ZVdM„ZWdN„ZXdO„ZYdP„ZZdQ„Z[dR„Z\dS„Z]dT„Z^dU„Z_eQdVeRdWeSdXeTdYeWdZeVd[eLd\e[d]e]d^e^d_e_d`i Z`da„Zadb„Zbdc„Zcdd„Zdde„Zedf„Zfdg„Zgdh„Zhdi„Zidj„Zjdk„Zkdl„Zldm„Zmdn„Zndo„ZoGdp„dqep«ZqGdr„ds«Zrdt„Zsdu„Ztdv„Zudw„Zvdx„Zwddy„Zxdz„Zyifd{„Zzd|„Z{d}„Z|d~„Z}d„Z~d€„Zd„Z€d‚„Zdƒ„Z‚d„„ZƒdŽd…„Z„d†„Z…ifd‡„Z†ejdˆej«jZŠejd‰ej«jZ‹dŠ„ZŒd‹„ZddŒ„ZŽy)a9
Auxiliary functions for f2py2e.
 
Copyright 1999 -- 2011 Pearu Peterson all rights reserved.
Copyright 2011 -- present NumPy Developers.
Permission to use, modify, and distribute this software is given under the
terms of the NumPy (BSD style) LICENSE.
 
NO WARRANTY IS EXPRESSED OR IMPLIED.  USE AT YOUR OWN RISK.
éN)Úreduceé)Ú __version__Úcfuncs)Úerrmess)`Ú
applyrulesÚ    debugcapiÚ
dictappendrÚgentitleÚgetargs2ÚgetcallprotoargumentÚgetcallstatementÚgetfortrannameÚgetpymethoddefÚ
getrestdocÚ getusercodeÚ getusercode1Ú getdimensionÚhasbodyÚhascallstatementÚ    hascommonÚ hasexternalsÚ hasinitvalueÚhasnoteÚ hasresultnoteÚ isallocatableÚisarrayÚisarrayofstringsÚ ischaracterÚischaracterarrayÚischaracter_or_characterarrayÚ    iscomplexÚiscstyledirectiveÚiscomplexarrayÚiscomplexfunctionÚiscomplexfunction_warnÚisdoubleÚisdummyroutineÚ
isexternalÚ
isfunctionÚisfunction_wrapÚisint1Ú isint1arrayÚ    isintegerÚ isintent_auxÚ
isintent_cÚisintent_callbackÚ isintent_copyÚ isintent_dictÚ isintent_hideÚ isintent_inÚisintent_inoutÚisintent_inplaceÚisintent_nothideÚ isintent_outÚisintent_overwriteÚ    islogicalÚislogicalfunctionÚislong_complexÚ islong_doubleÚislong_doublefunctionÚ islong_longÚislong_longfunctionÚismoduleÚismoduleroutineÚ
isoptionalÚ    isprivateÚ
isvariableÚ
isrequiredÚ    isroutineÚisscalarÚissigned_long_longarrayÚisstringÚ isstringarrayÚisstring_or_stringarrayÚisstringfunctionÚ issubroutineÚget_f2py_modulenameÚissubroutine_wrapÚ isthreadsafeÚ
isunsignedÚisunsigned_charÚisunsigned_chararrayÚisunsigned_long_longÚisunsigned_long_longarrayÚisunsigned_shortÚisunsigned_shortarrayÚl_andÚl_notÚl_orÚoutmessÚreplaceÚshowÚ
stripcommaÚ throw_errorÚ isattr_valueÚ getuseblocksÚprocess_f2cmap_dictÚcontainscommonÚcontainsderivedtypescóp—tjdd«r tjj    |«yy)NÚverboser)ÚoptionsÚgetÚsysÚstdoutÚwrite)Úts úFH:\Change_password\venv_build\Lib\site-packages\numpy/f2py/auxfuncs.pyr]r];s'€Ü‡{{9˜aÔ Ü 
‰
×јÕð!ócó—dtvS)NÚcapi)Ú debugoptions©Úvars ror    r    @s €Ø ”\Ð !Ð!rpcó:—d|vxr|ddk(xr t|« S©NÚtypespecÚ    character©r)rts roÚ _ischaracterr{Dó.€Ø ˜Ð ò   Z¡°KÑ!?ò ܘ#‹Ð ðrpcó:—d|vxr|ddk(xr t|« Srwrzrts roÚ    _isstringr~Ir|rpcó$—t|«xrd|vS©NÚ charselector©r{rts ror!r!Ns€Ü ˜Ó Ò : °sÐ!:Ð:rpcó4—t|«xr t|« S©N©r!rrts rorrRs€Ü (¨Ó -Ò B´g¸c³lÐ2BÐBrpcó2—t|«xr t|«Sr„r…rts ror r Vs€Ü (¨Ó -Ò >´'¸#³,Ð>rpcó$—t|«xrd|vSr€r‚rts rorMrMZs€Ü ˜Ó Ò 6 °3Ð!6Ð6rpcó4—t|«xr t|« Sr„©rMrrts rorKrK^s€Ü " 3Ó 'Ò <´¸³ Ð,<Ð<rpcó2—t|«xr t|«Sr„r‰rts rorLrLbs€Ü " 3Ó 'Ò 8¬G°C«LÐ8rpcó2—t|«xr |dddk(S)NÚ    dimensionéÿÿÿÿz(*))rLrts rorrfs#€ô ˜Ó Ò ? # kÑ"2°2Ñ"6¸%Ñ"?Ð?rpcó&—d|vxr t|« S©NrŒrzrts rorrls€Ø ˜#Ð Ò 5¤j°£oÐ"5Ð5rpcóN—t|«xst|«xs t|« Sr„)rrKr)rts rorIrIps!€Ü˜“ Ò@¤¨£ Ò@´¸C³Ð AÐArpcóB—t|«xr|jd«dvS©Nrx)Úcomplexzdouble complex©rIrjrts ror"r"ts'€Ü C‹=ò @Ø 7‰7:Ó Ð"?Ð ?ð@rpcóD—t|«xr|jd«dk(S)NrxÚlogicalr”rts ror;r;yó€Ü C‹=Ò =˜SŸW™W ZÓ0°IÑ=Ð=rpcóD—t|«xr|jd«dk(S)NrxÚintegerr”rts ror.r.}r—rpcóD—t|«xr|jd«dk(S)NrxÚrealr”rts roÚisrealrœs€Ü C‹=Ò :˜SŸW™W ZÓ0°FÑ:Ð:rpcód—    |ddS#t$r    |ddcYS#t$rYYywxYwwxYw)NÚ kindselectorÚ*Úkind©ÚKeyErrorrts roÚget_kindr£…sM€ðؐ>Ñ" 3Ñ'Ð'øÜ òð    Ø~Ñ& vÑ.Ò .øÜò    Ú ð    úðús ‚
Š    /”›/ž    +§/ª+«/cóf—|jd«dk(xrt|«dk(xr t|« S©Nrxr™Ú1)rjr£rrts ror,r,s8€Ø 7‰7:Ó  )Ñ +ò 6Ü S‹M˜SÑ  ò 6Ü)0°«Ð%5ð6rpcó^—t|«sy|jd«dvryt|«dk(S)Nrrx©r™r–Ú8©rIrjr£rts ror@r@”s0€Ü CŒ=ØØ
‡wwˆzÓÐ"8Ñ8ØÜ C‹=˜CÑ Ðrpcó`—t|«sy|jd«dk7ryt|«dk(S)Nrrxr™ú-1rªrts rorTrTœó/€Ü CŒ=ØØ
‡wwˆzÓ˜iÒ'ØÜ C‹=˜DÑ  Ð rpcó`—t|«sy|jd«dk7ryt|«dk(S)Nrrxr™ú-2rªrts rorXrX¤r­rpcó`—t|«sy|jd«dk7ryt|«dk(S)Nrrxr™ú-4rªrts rorSrS¬r­rpcó`—t|«sy|jd«dk7ryt|«dk(S)Nrrxr™ú-8rªrts rorVrV´r­rpcó`—t|«sy|jd«dk(syt|«dk(S)Nrrxr›r©rªrts ror'r'¼s/€Ü CŒ=ØØ 7‰7:Ó  &Ò (ØÜ C‹=˜CÑ Ðrpcó`—t|«sy|jd«dk(syt|«dk(S)Nrrxr›Ú16rªrts ror>r>Äs/€Ü CŒ=ØØ 7‰7:Ó  &Ò (ØÜ C‹=˜DÑ  Ð rpcó6—t|«syt|«dk(S)NrÚ32)r"r£rts ror=r=Ìs€Ü SŒ>ØÜ C‹=˜DÑ  Ð rpcóB—t|«xr|jd«dvSr’)rrjrts ror$r$Òs'€Ü 3‹<ò @Ø 7‰7:Ó Ð"?Ð ?ð@rpcód—t|«xr$|jd«dk(xrt|«dk(Sr¥©rrjr£rts ror-r-×s4€Ü 3‹<ò !˜CŸG™G JÓ/°9Ñ<ò !Ü S‹M˜SÑ  ð!rpcób—t|«xr#|jd«dvxrt|«dk(S)Nrxr¨r¬r»rts rorUrUÜó5€Ü 3‹<ò "˜CŸG™G JÓ/Ð3IÐIò "Ü S‹M˜TÑ !ð"rpcób—t|«xr#|jd«dvxrt|«dk(S)Nrxr¨r¯r»rts rorYrYár½rpcób—t|«xr#|jd«dvxrt|«dk(S)Nrxr¨r±r»rts roÚisunsignedarrayrÀær½rpcób—t|«xr#|jd«dvxrt|«dk(S)Nrxr¨r³r»rts rorWrWër½rpcób—t|«xr#|jd«dvxrt|«dk(S)Nrxr¨r¦r»rts roÚissigned_chararrayrÃðó5€Ü 3‹<ò !˜CŸG™G JÓ/Ð3IÐIò !Ü S‹M˜SÑ  ð!rpcób—t|«xr#|jd«dvxrt|«dk(S)Nrxr¨Ú2r»rts roÚissigned_shortarrayrÇõrÄrpcób—t|«xr#|jd«dvxrt|«dk(S)Nrxr¨Ú4r»rts roÚissigned_arrayrÊúrÄrpcób—t|«xr#|jd«dvxrt|«dk(S)Nrxr¨r©r»rts rorJrJÿrÄrpcó—d|vxrd|dvS)NÚattrspecÚ allocatable©rts rorrs€Ø ˜Ð Ò A °#°j±/Ð!AÐArpcó&—d|vxs t|« Sr)rKrts roÚ    ismutablerÑs€Ø 3Ð&Ò7¬(°3«-Ð 8Ð8rpcó
—d|vS)NÚ
modulenamerÏ©Úrouts rorCrC s €Ø ˜4Ð Ðrpcó—d|vxrd|dk(S)NÚblockÚmodulerÏrÔs rorBrBs€Ø dˆ?Ò 8˜x¨4°©=Ñ8Ð8rpcó—d|vxrd|dk(S)Nr×ÚfunctionrÏrÔs ror*r*s€Ø dˆ?Ò :˜z¨T°'©]Ñ:Ð:rpcó\—t|«rytxrt|«xr t|« S©Nr)r0Ú    wrapfuncsr*r)rÔs ror+r+s*€Ü$ÔØÜ Ò Dœ DÓ)Ò D´:¸dÓ3CÐ/CÐDrpcó—d|vxrd|dk(S)Nr×Ú
subroutinerÏrÔs rorOrOs€Ø dˆ?Ò <˜|¨t°G©}Ñ<Ð<rpcóJ—t|«ryt|«xr t|«SrÜ)r0rOÚhasassumedshaperÔs rorQrQ"s"€Ü$ÔØÜ ˜Ó Ò 7¤/°$Ó"7Ð7rpcó*—d|jdg«vS)NÚvaluerÍ©rjrts rorbrb's€Ø c—g‘g˜j¨"Ó-Ð -Ð-rpcóª—|jd«ry|dD]9}|dj|i«jdg«D]}|dk(sŒ    d|d<yŒ;y)NráTÚargsÚvarsrŒú:Frä)rÕÚaÚds   rorárá+sl€Ø ‡xxÐ!Ô"ØØ &‰\òˆØf‘×!Ñ! ! RÓ(×,Ñ,¨[¸"Ó=ò    ˆAؐC‹xØ*.Ð&Ñ'Úñ    ðð
rpcó2—t|«xs t|«Sr„)rCrárÔs roÚrequiresf90wrapperrì6s€Ü ˜4Ó  Ò 9¤O°DÓ$9Ð9rpcó2—t|«xs t|«Sr„)r*rOrÔs rorHrH:s€Ü dÓ Ò 1œ|¨DÓ1Ð1rpcój—t|«syd|vr|d}n|d}||dvrt|d|«Sy©NrÚresultÚnamerç)r*r;©rÕrés  ror<r<>óI€Ü dÔ ØØ4ÑØ ‰N‰à ‰LˆØˆD‰LÑܘ˜f™ a™Ó)Ð)Ø rpcój—t|«syd|vr|d}n|d}||dvrt|d|«Syrï)r*r@ròs  rorArAJsI€Ü dÔ ØØ4ÑØ ‰N‰à ‰LˆØˆD‰LÑܘ4 ™<¨™?Ó+Ð+Ø rpcój—t|«syd|vr|d}n|d}||dvrt|d|«Syrï)r*r>ròs  ror?r?VsI€Ü dÔ ØØ4ÑØ ‰N‰à ‰LˆØˆD‰LÑܘT &™\¨!™_Ó-Ð-Ø rpcój—t|«syd|vr|d}n|d}||dvrt|d|«Syrï)r*r"ròs  ror%r%brórpcó2—t|«r td«yy)Na‰    **************************************************************
        Warning: code with a function returning complex value
        may not work correctly with your Fortran compiler.
        When using GNU gcc/g77 compilers, codes should work
        correctly for callbacks with:
        f2py -c -DF2PY_CB_RETURNCOMPLEX
    **************************************************************
rr)r%r]rÔs ror&r&ns!€Ü˜ÔÜðHô    IðØ rpcój—t|«syd|vr|d}n|d}||dvrt|d|«Syrï)r*rKròs  rorNrN|sI€Ü dÔ ØØ4ÑØ ‰N‰à ‰LˆØˆD‰LÑܘ˜V™  Q™Ó(Ð(Ø rpcó—d|vxr|dS)NÚ    externalsrÏrÔs rorrˆs€Ø ˜$Ð Ò 4 4¨ Ñ#4Ð4rpcó—d|vxrd|dvS)NÚf2pyenhancementsÚ
threadsaferÏrÔs rorRrRŒs"€Ø  Ð %ò 4Ø ˜4Р2Ñ3Ð 3ð4rpcó—d|vxr|dS)NrçrÏrÔs roÚ hasvariablesrÿ‘s€Ø Tˆ>Ò *˜d 6™lÐ*rpcóH—d|vxrd|dvxrd|dvxr t|«S)NrÍÚoptionalÚrequired)r8rts rorDrD•s?€Ø ˜#Ð ò . *°°J±Ð"?ò .Ø ˜c *™oÐ -ò IÜ3CÀCÓ3HðIrpcó—d|vxrd|dvS)NrÍÚexternalrÏrts ror)r)šs€Ø ˜Ð Ò > ¨s°:©Ð!>Ð>rpc󈇗dŠd|j«vr-td„|dD««rtˆfd„|dD««Syy)Nz    \((.*?)\)rÍc3ó$K—|]}d|v–—Œ
y­w)rŒNrÏ)Ú.0Úss  roú    <genexpr>zgetdimension.<locals>.<genexpr>¡sèø€Ò9 Aˆ{˜aÔÑ9ùs‚c3óJ•K—|]}tj‰|«–—Œy­wr„)ÚreÚfindall)rÚvÚ
dimpatterns  €ror    zgetdimension.<locals>.<genexpr>¢søèø€ÒK°aœŸ
™
 :¨q×1ÑKùsƒ #)ÚkeysÚanyÚnext)rurs @rorržsGø€Ø€JؐS—X‘X“ZÑÜ Ñ9¨¨Z©Ô9Ô 9ÜÓK¸3¸z¹?ÔKÓKÐ Kð :ð rpcó4—t|« xr t|«Sr„)rDr8rts rorGrG¥s€Ü˜#‹Ð Ò 8Ô#3°CÓ#8Ð8rpcó4‡—hd£}tˆfd„|D««S)N>Ú pymethoddefÚ callstatementÚcallprotoargumentc3óB•K—|]}|‰j«v–—Œy­wr„)Úlower)rÚ    directiveÚ    f2py_lines  €ror    z$iscstyledirective.<locals>.<genexpr>«søèø€ÒJ°)ˆy˜IŸO™OÓ-Ô-ÑJùsƒ)r)rÚ
directivess` ror#r#©sø€ÚF€JÜ ÓJ¸zÔJÓ JÐJrpcón—d|vryd|dvryd|dvryd|dvryd|dvryd|dvryd    |dvryy)
NÚintentrÚhiderÚinplaceÚinÚoutÚinoutÚoutinrÏrts ror5r5®sj€ØsÑØØ X‘ÑØØC˜‘MÑ!ØØ ˆs8‰}ÑØØ H‘ ÑØØ#h‘-ÑØØ#h‘-ÑØØ rpcód—d|vxr+d|dvxsd|dvxrd|dvxrd|dvxrd|dvS)Nrr"r#r rrrÏrts ror6r6Àsg€Ø ˜ˆOò K ¨C°©MÐ!9ò"%Ø s˜8‘}Ð $ò KØ*.°c¸(±mÐ*Cò Kà ˜#˜h™-Ð 'ò Kà,5¸SÀ¹]Ð,JðLrpcó*—d|jdg«vS)Nr!rrärts ror9r9Æó€Ø C—G‘G˜H bÓ)Ð )Ð)rpcóz—d|vxr6d|dvxs-d|dvxr$d|dvxrttt«|« S)Nrrr!r )r\r6r7rts ror4r4Ês^€Ø ˜ˆOò D ¨3¨x©=Ð!8ò"CØ c˜(‘mÐ #òB¨°C¸±MÐ(AòBØ;”Tœ.Ô*:Ó;¸CÓ@Ð@ðErpcó—t|« Sr„)r4rts ror8r8Ðs€Ü˜SÓ!Ð !Ð!rpcó*—d|jdg«vS)NÚcrrärts ror0r0Ôs€Ø #—'‘'˜( BÓ'Ð 'Ð'rpcó*—d|jdg«vS)NÚcacherrärts roÚisintent_cacher-Øs€Ø c—g‘g˜h¨Ó+Ð +Ð+rpcó*—d|jdg«vS)NÚcopyrrärts ror2r2Üs€Ø S—W‘W˜X rÓ*Ð *Ð*rpcó*—d|jdg«vS)NÚ    overwriterrärts ror:r:àó€Ø ˜#Ÿ'™' (¨BÓ/Ð /Ð/rpcó*—d|jdg«vS)NÚcallbackrrärts ror1r1äó€Ø ˜Ÿ™ ¨2Ó.Ð .Ð.rpcó*—d|jdg«vS)Nrrrärts ror7r7ès€Ø ˜Ÿ™ ¨"Ó-Ð -Ð-rpcó*—d|jdg«vS)NÚauxrrärts ror/r/ìr&rpcó*—d|jdg«vS)NÚaligned4rrärts roÚisintent_aligned4r;ðr5rpcó*—d|jdg«vS)NÚaligned8rrärts roÚisintent_aligned8r>ôr5rpcó*—d|jdg«vS)NÚ    aligned16rrärts roÚisintent_aligned16rAør2rpÚ    INTENT_INÚ INTENT_INOUTÚ
INTENT_OUTÚ INTENT_HIDEÚ INTENT_CACHEÚINTENT_CÚOPTIONALÚINTENT_INPLACEÚINTENT_ALIGNED4ÚINTENT_ALIGNED8ÚINTENT_ALIGNED16có—d|vxrd|dvS)NrÍÚprivaterÏrts rorErEs€Ø ˜Ð Ò = ¨c°*©oÐ!=Ð=rpcóJ—t|«dk(rd|vr|dddvrd}|Sd}|S)NrrÍr)ÚpublicrNFT©Úlen)ruÚis_vars  rorFrF s>€ä
ˆ3ƒx1‚}˜ sÑ*Ø 
‰O˜AÑ Ð"7Ñ 7؈ð €MðˆØ €Mrpcó
—d|vS)Nú=rÏrts rorrs €Ø #ˆ:Ðrpcó.—t|«sy|dddvS)NrrU)ú"ú')rrts roÚhasinitvalueasstringrYs €Ü ˜Ô ØØ ˆs‰8A‰;˜*Ð $Ð$rpcó
—d|vS)NÚnoterÏrts rorrs €Ø Sˆ=Ðrpcój—t|«syd|vr|d}n|d}||dvrt|d|«Syrï)r*rròs  rorr"sI€Ü dÔ ØØ4ÑØ ‰N‰à ‰LˆØˆD‰LÑܐt˜F‘| A‘Ó'Ð'Ø rpcó
—d|vS)NÚcommonrÏrÔs rorr.s €Ø tÐ Ðrpcó`—t|«ryt|«r|dD]}t|«sŒyy©NrÚbodyr)rrre©rÕÚbs  rorere2s6€Ü„ØÜˆt„}ؐf‘ò    ˆAܘaÕ Ùð    ð rpcó—d|vxr|ddk(S)Nr×ÚtyperÏrÔs roÚhasderivedtypesrf<s€Ø tˆOÒ 8  g¡°&Ñ!8Ð8rpcó`—t|«ryt|«r|dD]}t|«sŒyyr`)rfrrbs  rorfrf@s7€ÜtÔØÜˆt„}ؐf‘ò    ˆAܘqÕ!Ùð    ð rpcób—t|«ryt|«sy|dD]}t|«sŒyy)Nrrra)rBrÚcontainsmodule)r×rcs  roririJs9€Ü„ØÜ 5Œ>ØØ 6‰]òˆÜ ˜!Õ Ùðð rpcó
—d|vS)NrarÏrÔs rorrUs €Ø Tˆ>Ðrpcó—t|«duSr„)rrÔs rorrYs€Ü ˜DÓ !¨Ð -Ð-rpcó—y)NrrÏrts roÚistruerm]ó€Ø rpcó—yrÜrÏrts roÚisfalserparnrpcó —eZdZy)Ú    F2PYErrorN)Ú__name__Ú
__module__Ú __qualname__rÏrprorrrres„Ørprrcó—eZdZd„Zd„Zy)racó—||_yr„)Úmess)Úselfrxs  roÚ__init__zthrow_error.__init__ks    €Øˆ    rpcó>—d|›d|j›d}t|«‚)Nz
 
 
  var = z
  Message: ú
)rxrr)ryrurxs   roÚ__call__zthrow_error.__call__ns$€Ø˜c˜U -°·    ±    ¨{¸"Ð=ˆÜ˜‹oÐrpN)rsrtrurzr}rÏrprorarais „òórpracó²—dg}}tt|««D]}d|||fz}|jd|z«Œ t|›ddj    |«›«S)Núlambda vú %s,f%d=f[%d]úf%d(v)rèz and ©ÚrangerRÚappendÚevalÚjoin©ÚfÚl1Úl2Úis    rorZrZssd€Ø ˜ˆ€BÜ ”3q“6‹]ò"ˆØ ˜r 1 a˜jÑ (ˆØ
    ‰    (˜a‘.Õ!ð"ô 2$a˜Ÿ ™  RÓ(Ð)Ð*Ó +Ð+rpcó²—dg}}tt|««D]}d|||fz}|jd|z«Œ t|›ddj    |«›«S)Nrr€rrèz or r‚r‡s    ror\r\{sc€Ø ˜ˆ€BÜ ”3q“6‹]ò"ˆØ ˜r 1 a˜jÑ (ˆØ
    ‰    (˜a‘.Õ!ð"ô 2$a˜Ÿ ™  B›Ð(Ð)Ó *Ð*rpcó—td«S)Nzlambda v,f=f:not f(v))r…)rˆs ror[r[ƒs€Ü Ð'Ó (Ð(rpcó8—    |dddk(S#t$rYywxYw)NrüÚ fortrannameÚrr¡rÔs ror(r(‡s/€ðØÐ&Ñ'¨ Ñ6¸"Ñ<Ð<øÜ òÙðús ‚
    ˜c󎗠   |dd}|dk(rt‚|std|d›d«t‚    |S#t$r    |d}Y|SwxYw)NrürrzFailed to use fortranname from r|rñ)r¢r)rÕrñs  rorrŽso€ðØÐ&Ñ'¨ Ñ6ˆØ 2Š:܈NÙÜ Ð5°dÐ;MÑ6NÐ5OÈrÐRÔ S܈Nðð
€Køô òؐF‰|‰Ø €Kðús‚-2²AÁAcóª—    |dj|«}|sy|dkDrt|t«ryt|t«r|t |«k\ry||}|dddk(ri|rd|zdzt |«zdz|ddz}n|dd}|dddk(r"|r|ddd    zt |«zd
z}|S|dd}|St|›d t |«›d «|S#t$rYywxYw) Nrüréz'''z
    /* start z  multiline (z) */
éýÿÿÿz
    /* end multiline (z)*/z( multiline block should end with `'''`: r|)rjr¢Ú
isinstanceÚstrÚlistrRÚreprr)rÕÚ    blocknameÚcommentÚcounterÚrs     roÚgetmultilineblockr›s,€ðØ Ð#Ñ $× (Ñ (¨Ó 3ˆñ ØØ‚{”z !¤SÔ)ØÜ!”TÔØ ”c˜!“fÒ Ø Ø ˆg‰JˆØˆˆ!€u‚~Ù Ø     Ñ)ØñÜ!% g£ñ/Ø19ñ:Ø<=¸a¸b¸EñB‰Að!"ˆAØ ˆRˆSˆ6UŠ?ÙØcrFÐ5Ñ5¼¸W» ÑEÈÑMð
€HðcrFð €Hô ykÐ!IÌ$ÈqË'ÈÐRTÐUÔ VØ €Høô/ òÙðús‚Cà   CÃCcó—t|d«S)Nr©rrÔs rorr¸s€Ü ˜T ?Ó 3Ð3rpc    ó~—t|dd¬«}|r|St|«r td«yddlm}gg}}t t tt««|«r|jddg«|d    D]³}|d
|}t|«rŒ||vr    ||d z}n||«}t tttt««|«rnt|«rnt!|«s|d z}t|«st#|«s t%|«r|j'd«|j'|«Œµd j)||z«}    |    sd}    |    S)Nrr)ršz<warning: callstatement is defined without callprotoargument
r)Úgetctypezchar*Úsize_trærçÚ_typedefrŸú,Úvoid)rrr]Ú    capi_mapsr¡rZrNr[r+Úextendr1r0r\rIr"rKrbrrLr„r†)
rÕÚcb_maprœr¡Ú    arg_typesÚ
arg_types2ÚnruÚctypeÚ
proto_argss
          ror r ¼s;€Ü˜$Р3¸QÔ?€AÙØˆÜ˜ÔÜØ Kô    MàÝ#Ø ˆz€IØ6„uÔ œu¤_Ó5Ó6°tÔ<Ø×ј' 8Ð,Ô-Ø &‰\ò ˆØ6‰l˜1‰oˆÜ ˜SÔ !Ø Ø ‰;ؘ1‘I 
Ñ*‰Eá˜S“MˆEØ;Œu”Z¤¤h´    Ó!:Ó;¸CÔ@ØÜ˜#”ØÜ! #Ô&Ø ™ Ü˜” Ü$ SÔ)Ü! #Ô&Ø×!Ñ! (Ô+Ø×јÕð% ð(—‘˜) jÑ0Ó1€J٠؈
Ø Ðrpcó—t|d«S)NÚusercoderŸrÔs rorrâs€Ü ˜T :Ó .Ð.rpcó—t|dd¬«S)Nr¯r)r›rŸrÔs rorræs€Ü ˜T :°qÔ 9Ð9rpcó—t|d«S)NrrŸrÔs rorrês€Ü ˜T =Ó 1Ð1rpcó¸—gg}}d|vrO|d}d|vrA|dD]}||vsŒ|j|«Œ|D]}||vsŒ|j|«Œ||fS|d}||fS)NræÚsortvars)r„)rÕÚsortargsrærés    roÚgetargsrµîs€Ø˜ˆd€HØ ~ؐF‰|ˆØ ˜Ñ ؘ*Ñ%ò 'Ø˜’9Ø—O‘O AÕ&ð 'ðò 'Ø˜HÒ$Ø—O‘O AÕ&ð 'ð
ˆ>Ðð˜F‘|ˆHØ ˆ>ÐrpcóL—g|jdg«}}|dj«Dcgc]}t|d|«sŒ||vr|‘Œ}}||z}d|vrA|dD]}||vsŒ|j|«Œ|D]}||vsŒ|j|«Œ||fS||dz}||fScc}w)Nrærçr³)rjrr/r„)rÕr´ræréÚauxvarss     ror r þsؘ݀Ÿ™ &¨"Ó-ˆd€Hؘv™,×+Ñ+Ó-ö"Q´¸dÀ6¹lÈ1¹oÕ1NؘD‘=òð"€Gð"à T‰>€DؐTÑØjÑ!ò    #ˆAؐDŠyØ—‘ Õ"ð    #ðò    #ˆAؘҠؗ‘ Õ"ð    #ð
ˆ>Ðð˜T &™\Ñ)ˆØ ˆ>Ðùò"s ªB!ÁB!có^—d|vryd}|ddk(r
|d|df}|dj|d«S)NÚf2pymultilinesr×z python modulerñrä)rÕÚks  rorrsI€Ø˜tÑ#ØØ €AØ ˆG}˜Ò'Ø ‰M˜4 ™<Ð 'ˆØ Ð Ñ !× %Ñ % a¨Ó .Ð.rpcóN—dt|«z
dz
dz}d|dz›d|›d|dz›dS)NéPééz/*rŸú z*/rQ)rñÚlns  ror r s<€Ø
Œs4‹y‰.˜1Ñ
 Ñ    "€BØ S‘ˆz˜˜4˜&  " s¡( ¨2Ð .Ð.rpcóP—t|t«rttfd„|g«S|gS)Ncó—|||«zSr„rÏ)ÚxÚyrˆs   roú<lambda>zflatlist.<locals>.<lambda>s€¨q±1°Q³4©x€rp)r•r—rÚflatlist)Úlsts rorÆrÆs%€Ü#”tÔܤXÒ7¸¸bÓAÐAØ ˆ5€Lrpcó$—|r |ddk(r|ddS|S)Nrr¤rÏ)rs ror`r`#s€ÙˆQˆr‰UcŠ\ؐ"ˆvˆ Ø €Hrpc
óü—t|t«r|Dcgc]}t|||«‘Œc}St|t«r|Dcgc]}t|||«‘Œc}Sdt|j««zD]|}|dk(rŒ    d|vr||dvr    |d|}n|}t||t«r2|jd|›d|j    t ||«««}Œd|jd|›d||«}Œ~|Scc}wcc}w)Nr¾Ú separatorsforú#)r•r—r^rr†rÆ)r–rêÚ
defaultsepÚ_mrºÚseps      ror^r^)sý€Ü!”TÔØ78Ö9°”˜˜R Õ,Ò9Ð9ܐ#”tÔØ58Ö9¨r”˜˜A˜zÕ*Ò9Ð9Ø ”a—f‘f“h“Ñ ò
.ˆØ Ò Ø Ø ˜aÑ  A¨¨?Ñ);Ñ$;ؐOÑ$ QÑ'‰CàˆCÜ a˜‘dœDÔ !Ø—+‘+  !  A˜h¨¯©´¸!¸A¹$³Ó(@ÓA‰Cà—+‘+  !  A˜h¨¨!©Ó-‰Cð
.ð €Jùò:ùâ9s •C4ÁC9cóZ—t|t«r|D]}t||«}Œ|S|j«D]ò}|ddk(rŒ ||vrÛt||t«r    ||g||<t||t«r:t||t«r||||z||<Œa||j ||«Œyt||t «sŒt||t «sŒ¡|dk(r/||j«D]}|||vsŒ ||||||<ŒŒÕt||||«||<Œë||||<Œô|S)NrÚ_rÊ)r•r—r
rr–r„Údict)ÚrdÚarrérºÚk1s     ror
r
<sC€Ü"”dÔØò    #ˆAܘB Ó"‰Bð    #àˆ    Ø W‰W‹YòˆØ ˆQ‰43Š;Ø Ø ‰7ܘ"˜Q™%¤Ô%ؘA™˜1‘ܘ"˜Q™%¤Ô&ܘb ™e¤TÔ*ؘq™E B q¡E™MBq’Eàq‘E—L‘L  A¡Õ'ܘB˜q™E¤4Õ(ܘb ™e¤TÕ*ؘOÒ+Ø"$ Q¡%§*¡*£,ò6˜BØ!¨¨A©šØ,.¨q©E°"©I  1¡ b¢    ñ6ô!+¨2¨a©5°"°Q±%Ó 8˜˜1šàq‘EˆBˆqŠEð)ð* €Irpc    ó:—i}t|t«r)|D]"}t|||«}t||«}d|vsŒ!|S|Sd|vr |d|«s|Sd|vr.td|di||«}d|vrt    j
|d«|j «D]}|dk(r    ||||<Œt||t«rt|||«||<n’t||t«r<g||<||D]-}t||i||«}    ||    vsŒ||j|    |«Œ/nC|ddk(rŒ‘t||t«r g||<||j «D]ï}
t|
tj«sŒ|
|«sŒ't|||
t«r]|||
D]Q}t|t«r!td|i||«}|jdd    «}||jt||««ŒSŒš|||
}t|t«r td|i|«}|jdd    «}||jt||««Œñntd
t||«›d «t||t«sŒàt!||«d k(r ||d||<||gk(sŒ||=Œ |S) NÚ_breakÚ_checkÚneedÚneedsrÊrrÐÚ    supertextrzapplyrules: ignoring rule z.
r)r•r—rr
rÚ append_needsrr–r^r„rÑÚtypesÚ FunctionTyperjrr˜rR) ÚrulesrêruÚretrœÚrrÚresrºr‹rÓrÔs            rorrYsÀ€Ø
€Cܐ%œÔØò    ˆAܘA˜q #Ó&ˆBܘS "Ó%ˆCؘ2Š~ØØˆ
ð     ð
ˆ
ؐ5Ñ / %¨¡/°#Ô"6؈
Ø Ü˜' 5¨¡=Ð1°1°cÓ:ˆØ c‰>Ü × Ñ   G¡ Ô -à Z‰Z‹\ó$ˆØ Ò ؘ1‘XˆC‰FØ Ü e˜A‘h¤Ô $ܘU 1™X qÓ)ˆC‹FÜ ˜˜a™¤$Ô '؈C‰Fؘ1‘Xò )Ü  A ¨¨3Ó/Ø˜’7ؘ‘F—M‘M " Q¡%Õ(ò )ðˆq‰TSŠ[Ø Ü ˜˜a™¤$Õ '؈C‰FؘA‘h—m‘m“oò 5Ü˜b¤%×"4Ñ"4Õ5¹"¸S½'Ü! %¨¡(¨2¡,´Ô5Ø!& q¡¨"¡ò9˜AÜ)¨!¬TÔ2Ü&0°+¸qÐ1AÀ1ÀcÓ&J Ø$'§G¡G¨K¸Ó$< Ø ™FŸM™M¬'°!°Q«-Õ8ñ    9ð " !™H R™L˜Ü% a¬Ô.Ü",¨k¸1Ð-=¸qÓ"A˜CØ #§¡¨ °RÓ 8˜AؘA™Ÿ ™ ¤g¨a°£mÕ4ñ 5ô Ð0´°e¸A±h³Ð0@ÀÐDÔ EÜ c˜!‘fœdÖ #ܐ3q‘6‹{˜aÒØ˜Q™ ™A‘ؐ1‰v˜Œ|ؘ’FðI$ðJ €Jrpz%\s*python\s*module\s*(?P<name>[\w_]+)z4\s*python\s*module\s*(?P<name>[\w_]*?__user__[\w_]*)có²—d}t|«5}|D].}t|«}|sŒt|«rŒ|jd«}nddd«|S#1swY|SxYw)Nrñ)ÚopenÚ_f2py_module_name_matchÚ_f2py_user_module_name_matchÚgroup)ÚsourcerñrˆÚlineÚms     rorPrP–se€Ø €DÜ     ˆf‹ð˜Øò    ˆDÜ'¨Ó-ˆAÚÜ/°Ô5ØØ—w‘w˜v“Ùð     ÷ð €K÷ð €KúsŽA ¢ A Á Ac    óâ—g}|dD]_}|dD]U}|jd«sŒ|j|jd«j«Dcgc]    }d|vsŒ|‘Œ c}«ŒWŒa|Scc}w)NraÚuseÚ__)rjr§r)ÚpymodÚall_usesÚinnerÚmodblockrÃs     rorcrc¢sz€Ø€Hؐv‘òZˆØ˜f™ ò    ZˆH؏|‰|˜EÕ"Ø—‘¨H¯L©L¸Ó,?×,DÑ,DÓ,FÖ X qÈ$ÐVWÊ-¢Ò XÕYñ    ZðZð €Oùò!Ys Á    A, ÁA, cóf—g}i}|j«D]I\}}|j«D    cic]\}}    |j«|    “Œ}
}}    |
||j«<ŒK|j«D]µ\}}||vri||<|j«D]”\}}    |    |vrV|||vrtd|›d|›d|||›d|    ›d    «|    |||<|rtd|›d|›d|    ›d    «|j|    «Œ`|sŒct    d
|›d|›d|    ›d |    ›d t |j ««›d  «Œ–Œ·||fScc}    }w)aê
    Update the Fortran-to-C type mapping dictionary with new mappings and
    return a list of successfully mapped C types.
 
    This function integrates a new mapping dictionary into an existing
    Fortran-to-C type mapping dictionary. It ensures that all keys are in
    lowercase and validates new entries against a given C-to-Python mapping
    dictionary. Redefinitions and invalid entries are reported with a warning.
 
    Parameters
    ----------
    f2cmap_all : dict
        The existing Fortran-to-C type mapping dictionary that will be updated.
        It should be a dictionary of dictionaries where the main keys represent
        Fortran types and the nested dictionaries map Fortran type specifiers
        to corresponding C types.
 
    new_map : dict
        A dictionary containing new type mappings to be added to `f2cmap_all`.
        The structure should be similar to `f2cmap_all`, with keys representing
        Fortran types and values being dictionaries of type specifiers and their
        C type equivalents.
 
    c2py_map : dict
        A dictionary used for validating the C types in `new_map`. It maps C
        types to corresponding Python types and is used to ensure that the C
        types specified in `new_map` are valid.
 
    verbose : boolean
        A flag used to provide information about the types mapped
 
    Returns
    -------
    tuple of (dict, list)
        The updated Fortran-to-C type mapping dictionary and a list of
        successfully mapped C types.
    z    Warning: redefinition of {'z':{'z':'z'->'z'}}
z
    Mapping "z(kind=z)" to "z"
z    Ignoring map {'z'}}: 'z ' must be in r|)Úitemsrr]r„rr—r) Ú
f2cmap_allÚnew_mapÚc2py_maprhÚ f2cmap_mappedÚ new_map_lowerrºÚd1rÔÚv1Úd1_lowers            rordrdªsO€ðL€Mà€MØ—‘“ò,‰ˆˆ2Ø13·±³×<¡v r¨2B—H‘H“J ‘NÐ<ˆÑ<Ø#+ˆ a—g‘g“iÒ ð,ð×$Ñ$Ó&ò‰ˆˆ2Ø JÑ ØˆJq‰Mà—h‘h“jò    ‰FˆBØX‰~ؘ A™Ñ&Ýâšb *¨Q¡-°Ó"3²Rð9ôð%'
˜1‘ ˜bÑ!Ùܘk¨!¨¨F°2°$°g¸b¸TÀÐFÔGØ×$Ñ$ RÕ(ÚÝâš"šb¢"¤d¨8¯=©=«?Õ&;ð=õñ    ð    ð* }Ð $Ð$ùó1=s®D-)rr)r)F)Ú__doc__Úpprintr rkrÜÚ    functoolsrrrrrÚ__all__ÚversionÚ f2py_versionr_rirsrÝr]r    r{r~r!rr rMrKrLrrrIr"r;r.rœr£r,r@rTrXrSrVr'r>r=r$r-rUrYrÀrWrÃrÇrÊrJrrÑrCrBr*r+rOrQrbrárìrHr<rAr?r%r&rNrrRrÿrDr)rrGr#r5r6r9r4r8r0r-r2r:r1r7r/r;r>rAr3rErFrrYrrrrerfrfrirrrmrpÚ    ExceptionrrrarZr\r[r(rrrr rrrrµr rr rÆr`r^r
rÚcompileÚIÚmatchrärårPrcrdrÏrproú<module>rsLðñ    óÛ    Û
Û Ýç!Ýò €ð:×"Ñ"€ ð‡}}€à
€Ø€ Ø €    òò
"òò
ò
;òCò?ò7ò=ò9ò@ò 6òBò@ò
>ò>ò;òò6ò
 ò!ò!ò!ò!ò ò!ò!ò @ò
!ò
"ò
"ò
"ò
"ò
!ò
!ò
!ò
!ò
Bò9ò ò9ò;òEò =ò8ò
.òò:ò2ò     ò     ò     ò     ò  ò     ò5ò4ò
+òIò
?òLò9òKò
 ò$Lò *òEò "ò(ò,ò+ò0ò/ò.ò*ò/ò/ò0ð˜k¨>¸>ؘ|¨]¸MؠؘZ¨°ZØ!Ð#3Ø"Ð$5Ø"Ð$5Ø#Ð%7ð€ ò>òòò%ò ò     òò ò9ò ò òò.ò ò ô        ô    ÷ñò,ò+ò)òò
ó ò:4ð')ó#òL/ò:ò2ò ò ò"/ò/ò
ò  ó ò&ð: ó5ðp%˜"Ÿ*š*Ð%MØ%'§T¢Tó+ß+0ª5ðà)˜rŸzšzð+=Ø>@¿dºdó DßDIÂEðò
òôB%rp