Ë
    6Š·jEt  ã                   óÌ  — d Z ddlmZ ej                  ZddlZddlZddlZddlmZ ddl	m
Z
mZmZ ddl­ ddlmZ g d	¢Zg Zi ai Zi d
d“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“Zi d
d“dd“dd“dd “dd!“dd “dd"“dd#“dd$“dd%“dd&“d'd(“dd)“d*d+“dd,“dd-“dd.“d/d/d0œ¥Zi d
d1“dd2“dd3“dd4“dd5“dd4“dd6“dd7“dd8“dd9“dd:“d'd;“dd<“d*d=“dd>“dd?“dd@“dAdBd0œ¥Zd1d2d4d4d6d8d:d;dCdCdCdDdBdEœZddd
dddFœddddddddd*dGœ	ddddddHœddddddFœddddddIœdJdidJd
idJdidKœaej3                  e«       ej3                  e
«        et0        ee«      \  aZ ej8                  t0        «      Zg adL„ Zi d
dM“ddM“ddN“ddO“ddO“ddP“ddQ“ddR“ddO“ddS“ddT“d'dU“ddT“ddV“ddV“ddW“ddX“ddYi¥Z dZ„ Z!d[„ Z"d\„ Z#dhd]„Z$d^„ Z%d_„ Z&d`„ Z'da„ Z(db„ Z)dc„ Z*dd„ Z+dide„Z,df„ Z-dg„ Z.y)ja  
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 License.

NO WARRANTY IS EXPRESSED OR IMPLIED.  USE AT YOUR OWN RISK.
é   )Ú__version__é    N)Úcb_rules)Úiso_c2py_mapÚiso_c_binding_mapÚisoc_c2pycode_map)Ú*)Úmarkoutercomma)ÚgetctypeÚgetstrlengthÚ
getarrdimsÚgetpydocsignÚgetarrdocsignÚgetinitÚsign2mapÚroutsign2mapÚmodsign2mapÚcb_sign2mapÚcb_routsign2mapÚcommon_sign2mapÚprocess_f2cmap_dictÚdoubleÚfloatÚlong_doubleÚcharÚintÚsigned_charÚunsigned_charÚshortÚunsigned_shortÚlongÚ	long_longÚunsignedÚcomplex_floatÚcomplexÚcomplex_doubleÚcomplex_long_doubleÚstringÚ	characterÚbytesÚ
NPY_DOUBLEÚ	NPY_FLOATÚNPY_LONGDOUBLEÚNPY_BYTEÚ	NPY_UBYTEÚ	NPY_SHORTÚ
NPY_USHORTÚNPY_INTÚNPY_UINTÚNPY_LONGÚunsigned_longÚ	NPY_ULONGÚNPY_LONGLONGÚunsigned_long_longÚNPY_ULONGLONGÚ
NPY_CFLOATÚNPY_CDOUBLEÚNPY_CLONGDOUBLEÚ
NPY_STRING)r(   r)   ÚdÚfÚgÚbÚBÚhÚHÚiÚIÚlÚLÚqÚQÚFÚDÚGÚSÚcÚNÚy)r   r   r   r   r   r   r!   r"   r$   r&   r'   r(   r)   )Ú Ú4Ú8Ú12Ú16)	rR   Ú1Ú2rS   rT   ú-1z-2z-4z-8)rR   rT   rV   Ú24Ú32)rR   rW   rX   rS   rT   rR   )ÚrealÚintegerr%   ÚcomplexkindÚlogicalzdouble complexzdouble precisionÚbytec                 óÂ  — t        j                  t        «      a| €"d} t        j
                  j                  | «      sy 	 t        d| ›d�«       t        | «      5 }t        |j                  «       j                  «       i i «      }d d d «       t        t        t        d«      \  aat        d«       y # 1 sw Y   Œ.xY w# t        $ r}t!        d|› d�«       Y d }~y d }~ww xY w)Nz.f2py_f2cmapzReading f2cmap from z ...
Tz1Successfully applied user defined f2cmap changes
z-Failed to apply user defined f2cmap changes: z. Skipping.
)ÚcopyÚdeepcopyÚf2cmap_defaultÚ
f2cmap_allÚosÚpathÚisfileÚoutmessÚopenÚevalÚreadÚlowerr   Úc2py_mapÚf2cmap_mappedÚ	ExceptionÚerrmess)Úf2cmap_filer?   r>   Úmsgs       úJ/root/workspace/.venv/lib/python3.12/site-packages/numpy/f2py/capi_maps.pyÚload_f2cmap_fileru   Œ   sÉ   € ô —‘œ~Ó.€JàÐà$ˆÜ�w‰w�~‰~˜kÔ*ØðTÜÐ& { o°VÐ<Ô=Ü�+Óð 	/ !Ü�Q—V‘V“X—^‘^Ó% r¨2Ó.ˆA÷	/ä$7¼
ÀAÄxÐQUÓ$VÑ!ˆ
�MÜÐDÕE÷	/ð 	/ûô ò TÜÐ?À¸uÀMÐR×SÑSûðTús/   ¿B< Á*B0Â,B< Â0B9Â5B< Â<	CÃCÃCz%gz%Lgz%dz%hhuz%hdz%huz%uz%ldz%luz(%g,%g)z	(%Lg,%Lg)z\"%s\"z'%c'c                 ór  — d}t        | «      r8d| v r| d   }n| d   }|| d   v rt        | d   |   «      S t        d|› d�«       |S t        | «      r|S t	        | «      ryt        | «      ryd	| v r�| d	   j                  «       t        v rh| d	   j                  «       }t        |   }|d
   }d| v rAd| d   v r	 || d   d      }|S d| d   v r%|dz   t        v rt        |dz      }	 || d   d      }|S |S t        | «      st        d| › d�«       |S # t        $ r# | d	   }| d   d   }t        d|› d|› d�«       Y |S w xY w# t        $ rr |t        v r	t        |   }	 |t        | d   d   «         }nG# t        $ r; | d   d   }t        d|› d|›d|› d|›d|›dt        j                  «       › d�«       Y nw xY wY |S w xY w)z
    Determines C type
    ÚvoidÚresultÚnameÚvarsúgetctype: function ú has no return value?!
r)   r(   ÚtypespecrR   Úkindselectorr	   zgetctype: "z * z" not supported.
Úkindz(kind=z)" is mapped to C "z" (to override define {z: {z: "<C typespec>"}} in z/.f2py_f2cmap file).
zgetctype: No C-type found in "z", assuming void.
)Ú
isfunctionr   rq   ÚissubroutineÚischaracter_or_characterarrayÚisstring_or_stringarrayrm   re   ÚKeyErrorÚstrrf   ÚgetcwdÚ
isexternal)ÚvarÚctypeÚar}   Úf2cmapÚraw_typespecÚstarr   s           rt   r   r   ½   sp  € ð €EÜ�#„Ø�s‰?Ø�H‘‰Aà�F‘ˆAØ��F‘ÑÜ˜C ™K¨™NÓ+Ð+äÐ)¨!¨Ð,DÐEÔFðJ €LôI 
�cÔ	ØˆÜ	& sÔ	+ØÜ	  Ô	%ØØ	�sÑ	˜s :™×4Ñ4Ó6¼*ÑDØ�z‘?×(Ñ(Ó*ˆÜ˜HÑ%ˆØ�r‘
ˆØ˜SÑ Ø�c˜.Ñ)Ñ)ðUØ" 3 ~Ñ#6°sÑ#;Ñ<�Eð. €Lð% ˜3˜~Ñ.Ñ.Ø˜fÑ$¬
Ñ2Ü'¨°6Ñ(9Ñ:�FðKØ" 3 ~Ñ#6°vÑ#>Ñ?�Eð €Lˆ5€Lô ˜Œ_ÜÐ0°°Ð5HÐIÔJØ€Løô-  ò UØ#& z¡?�LØ˜~Ñ.¨sÑ3�DÜ˜k¨,¨°s¸4¸&Ð@RÐSÕTð& €Lð-Uûô  ò 
KØ¤:Ñ-Ü!+¨HÑ!5˜ðKØ &¤s¨3¨~Ñ+>¸vÑ+FÓ'GÑ H™øÜ#ò KØ" >Ñ2°6Ñ:˜Ü +¨h¨Z°w¸¸ð @$Ø$) 7Ð*BÀ8À,ð O%Ø%) Hð -&Ü&(§i¡i£k ]Ð2Hð!Jö KðKûð €Lð
KúsI   Â5D Ã!D; Ä(D8Ä7D8Ä;F6ÅE+Å*F6Å+AF/Æ,F6Æ.F/Æ/F6Æ5F6c                 ó4   — t        j                  dd| «      } | S )a^  Rewrite Fortran expression as f2py supported C expression.

    Due to the lack of a proper expression parser in f2py, this
    function uses a heuristic approach that assumes that Fortran
    arithmetic expressions are valid C arithmetic expressions when
    mapping Fortran function calls to the corresponding C function/CPP
    macros calls.

    z\blen\bÚ	f2py_slen)ÚreÚsub)Úexprs    rt   Úf2cexprr“   ò   s   € ô �6‰6�*˜k¨4Ó0€DØ€Kó    c                 ó¬  — t        | «      r6d| v r| d   }n| d   }|| d   v rt        | d   |   «      S t        d|› d�«       t        | «      st        dt	        | «      › d�«       d}d	| v r!| d	   }d
|v r|d
   }nd|v rt        |d   «      }t        j                  d|«      st        j                  d|«      rt        | «      rt        d| ›d�«       d}|S )Nrx   ry   rz   zgetstrlength: function r|   z8getstrlength: expected a signature of a string but got: ú
rW   Úcharselectorr	   Úlenz\(\s*(\*|:)\s*\)z(\*|:)zJgetstrlength:intent(hide): expected a string with defined length but got: rY   )	Úisstringfunctionr   rq   ÚisstringÚreprr“   r�   ÚmatchÚisintent_hide)rˆ   rŠ   r˜   s      rt   r   r     sù   € Ü˜ÔØ�s‰?Ø�H‘‰Aà�F‘ˆAØ��F‘ÑÜ  F¡¨A¡Ó/Ð/äÐ-¨a¨SÐ0HÐIÔJÜ�CŒ=ÜØFÄtÈCÃyÀkÐQSÐTô	Và
€CØ˜ÑØ�ÑˆØ�!‰8Ø�C‘&‰CØ�a‰ZÜ˜!˜E™(Ó#ˆCÜ	‡x�xÐ# SÔ)¬R¯X©X°iÀÔ-EÜ˜ÔÜð  Ø #˜w bð*ô +àˆØ€Jr”   c           	      óÎ  — i }t        |«      r%t        |«      st        |«      |d<   d|d<   d|d<   |S t        |«      rd|d<   d|d<   d|d<   |S t        |«      �rút	        j                  |d   «      }dj                  |«      |d<   	 t        t        |d   «      «      |d<   d	j                  |«      |d<   t        t        |«      «      |d<   t        t        |«      d
gz  «      dd
 |d<   t        t        |«      «      D ]‰  }g }||   t        v r||   g}n:t        D ]1  }t        j                  d|› d�||   «      sŒ!|j                  |«       Œ3 |D ]4  }t        j                  |«      t        j                  | «      kD  sŒ/d||<    Œ‰ Œ‹ d\  |d<   }|D ]  }|dz   }|dvsŒ|d   › d|› d|› d	�|d<   Œ |d   r|d   d d
 |d<   d\  |d<   }|d   D ]p  }|dz   }|dvr|d   › d|› d|› d	�|d<   Œt!        |«      r!t#        d|›d�«       |d   › d|› dd› d	�|d<   ŒJ|sŒMt%        dt        | «      › dt        |«      › d�«       Œr |d   r|d   d d
 |d<   |S # t        $ r Y �ŒÁw xY w)NÚsizeÚ0ÚrankrR   ÚdimsrW   Ú	dimensionr	   ú,éÿÿÿÿr   z	rank*[-1]z.*?\bz\b.*)rR   r¥   Úsetdims)r	   ú:z(*)z(:)z#varname#_Dims[z]=Ú	cbsetdimsz<getarrdims:warning: assumed shape array, using 0 instead of r–   r   z5getarrdims: If in call-back function: array argument z# must have bounded dimensions: got )rš   Úisarrayr   Úisscalarrb   Újoinr›   rk   rp   r˜   ÚrangeÚdepargsr�   rœ   ÚappendÚindexÚisintent_inri   rq   )	rŠ   rˆ   ÚverboseÚretÚdimrE   ÚvÚvar>   s	            rt   r   r     s  € Ø
€CÜ�„}œW Sœ\Ü" 3Ó'ˆˆF‰ØˆˆF‰ØˆˆF‰ðd €Jôc 
�#ŒØˆˆF‰ØˆˆF‰ØˆˆF‰ð\ €Jô[ 
��Ü�i‰i˜˜KÑ(Ó)ˆØ—h‘h˜s“mˆˆF‰ð	Üœt C¨¡KÓ0Ó1ˆC�‰Kð —h‘h˜s“mˆˆF‰Üœ3˜s›8“nˆˆF‰Ü¤ C£¨B¨4¡Ó0°°2Ð6ˆˆKÑÜ”s˜3“x“ò 	ˆAØˆAØ�1‰vœÑ Ø˜‘V�H‘ä!ò %�BÜ—x‘x 5¨¨¨DÐ 1°3°q±6Õ:ØŸ™ �ð%ð ò �Ü—=‘= Ó$¤w§}¡}°QÓ'7Ó7Ø �C˜‘FÙñð	ð #ÑˆˆI‰˜Øò 	MˆAØ�A‘ˆAØÐ0Ò0Ø$'¨	¡NÐ#3°?À1À#ÀRÈÀsÈ!Ð!L��I’ð	Mð ˆyŠ>Ø  ™^¨C¨RÐ0ˆC�	‰NØ$ÑˆˆKÑ˜!Ø�[Ñ!ò 
	EˆAØ�A‘ˆAØÐ0Ñ0Ø&)¨+Ñ&6Ð%7°ÀqÀcÈÈAÈ3ÈaÐ#P��KÒ Ü˜SÔ!Üð &Ø&' U¨"ð.ô /à&)¨+Ñ&6Ð%7°ÀqÀcÈÈAÈ3ÈaÐ#P��KÒ ÚÜØKÌDÐQRËGÈ9ÐTwÔx|Ð}~Óxð  xAð  ACð  DõEð
	Eð ˆ{ÒØ" ;Ñ/°°Ð4ˆC�Ñð €JøôQ ò 	Úð	ús   ÂI É	I$É#I$c                 óÐ  — t        |«      r8d|v r|d   }n|d   }||d   v rt        ||d   |   «      S t        d|› d�«       y| | }}d}t        |«      rd}nt	        |«      rd	}| }t        |«      r|d
   D ]  }|d d dk(  sŒ|dd  } n d}t        |«      }	t        |«      rt        | |«      \  }}
d|
› �}t        |«      rOt	        |«      r| › d|› dt        |	   › dt        |	   › d|› �	}n| › d|› dt        |	   › |› �}|› dt        |	   › �}||fS t        |«      rMt	        |«      r| › d|› dt        |«      › d|› �}n| › d|› dt        |«      › d|› �}|› dt        |«      › d�}||fS t        |«      r~|d   }t        t!        |«      «      }dj#                  |«      }| › d|› d|› dt        |	   › d|› d|› �}| |k(  r| › d|› dt        |	   › d|› d�}||fS |› d|› dt        |	   › d|› d| › d�
}||fS t%        |«      rXd}| t&        v rAt&        |    t(        v r2d t(        t&        |       v r t(        t&        |       d    }|| k(  sd!|› �}nd}| › d"|› �}|}||fS t        d#| › d$�«       ||fS )%Nrx   ry   rz   r{   r|   ©rR   rR   rR   Úinputz	in/outputÚintenté   úout=z, optional\n    Default: z : z rank-0 array(ú,'ú')ú z rank-0 array(string(len=ú),'c')z string(len=ú)z : string(len=r£   r¤   z rank-ú array('ú') with bounds (ú : rank-z) and z storageÚargnamez => z : call-back functionz2getpydocsign: Could not resolve docsignature for "z".
)r€   r   rq   r°   Úisintent_inoutÚisintent_outr   Úhasinitvaluer   rª   rn   Úc2pycode_maprš   r   r©   r›   r˜   r«   r‡   Úlcb_mapÚlcb2_map)rŠ   rˆ   ÚafÚsigÚsigoutÚoptÚout_aÚkÚinitr‰   Úshowinitr³   r¡   Údim_strÚuas                  rt   r   r   W  sv  € ä�#„Ø�s‰?Ø�X‘‰Bà�V‘ˆBØ��V‘ÑÜ  C¨¡K°¡OÓ4Ð4äÐ)¨"¨Ð-EÐFÔGØØ�Qˆ€CØ
€CÜ�3ÔØ‰Ü	˜Ô	ØˆØ€EÜ�CÔØ�X‘ò 	ˆAØ��!ˆu˜‹Ø˜!˜"˜�Ùð	ð €DÜ�S‹M€Eä�CÔÜ   C›‰ˆˆhØ+¨H¨:Ð6ˆÜ�„}Ü˜#ÔØ�S˜˜C˜5 ¬x¸©Ð.?ð @Ü# EÑ*Ð+¨2¨d¨Vð5‰Cð �C�s˜3˜%˜q¤¨%¡Ð 1°$°Ð8ˆCØ�7˜#œh u™oÐ.Ð/ˆðB �ˆ;ÐôA 
�#ŒÜ˜#ÔØ�S˜˜C˜5Ð 9¼,ÀsÓ:KÐ9Lð MØ˜ð!‰Cð �C�s˜3˜%˜|¬L¸Ó,=Ð+>¸aÀ¸vÐFˆCØ�7˜.¬°cÓ):Ð(;¸1Ð=ˆð4 �ˆ;Ðô3 
�ŒØ�+ÑˆÜ”C˜“H‹~ˆØ—(‘(˜3“-ˆØ��C˜�u˜F 4 &¨´¸eÑ1DÐ0Eð FØ!˜ ! D 6ð+ˆà�Š:Ø˜˜8 D 6¨´,¸uÑ2EÐ1Fð G!Ø!( 	¨ð,ˆFð$ �ˆ;Ðð ˜˜x¨ v¨X´lÀ5Ñ6IÐ5Jð K!Ø!( 	¨°¨s°(ð<ˆFð �ˆ;Ðô 
�CŒØˆØ”‰<œG A™J¬(Ñ2°yÄHÌWÐUVÉZÑDXÑ7XÜœ' !™*Ñ% iÑ0ˆBØ˜’7Ø˜B˜4�[‘à�Ø�Ð(¨¨Ð-ˆØˆð �ˆ;Ðô 	Ø@ÀÀÀ4ÐHô	Jà�ˆ;Ðr”   c                 óN  — t        |«      }t        |«      rt        |«      s| › dt        |«      › d�}|S t	        |«      r| › dt
        |   › dt        |   › d�}|S t        |«      r?|d   }t        t        |«      «      }dj                  |«      }| › d|› d	t        |   › d
|› d�}S )Nz : rank-0 array(string(len=r¿   z : rank-0 array(r¼   r½   r£   r¤   rÃ   rÁ   rÂ   rÀ   )
r   rš   r©   r   rª   rn   rÈ   r›   r˜   r«   )rŠ   rˆ   r‰   rÌ   r³   r¡   rÓ   s          rt   r   r   Ÿ  sÉ   € Ü�S‹M€EÜ�„}œg cœlØ�Ð.¬|¸CÓ/@Ð.AÀÐJˆð €Jô 
�#ŒØ�Ð#¤H¨U¡OÐ#4°C¼ÀUÑ8KÐ7LÈCÐPˆð €Jô 
�ŒØ�+ÑˆÜ”C˜“H‹~ˆØ—(‘(˜3“-ˆØ��H˜T˜F (¬<¸Ñ+>Ð*?ð @Ø!˜ !ð%ˆà€Jr”   c                 ón  — t        |«      rd\  }}nd\  }}t        |«      rò|d   }|}t        |«      st        |«      r�i }	 |d   }d|v r't	        |dd «      j                  d«      \  |d<   |d	<   n>t        |i i «      }t        |j                  «      t        |j                  «      c|d<   |d	<   t        |«      rd|d   › d|d	   › d�}||fS t        |«      r;|sd\  }}|d   dk(  r|dd j                  dd«      }d|› d�}|d   dk(  r	d|dd › d�}||fS # t        $ r t        d
|› d| ›d�«      ‚w xY w)N)z""z''r·   ú=r¤   r   r¥   ú@,@úinit.rúinit.iz2getinit: expected complex number `(r,i)' but got `z' as initial value of ú.z
(capi_c.r=z
,capi_c.i=z,capi_c)r   ú'ú"z\")rš   rÇ   Ú	iscomplexÚiscomplexarrayr
   Úsplitrk   r…   r\   Úimagrp   Ú
ValueErrorr©   Úreplace)rŠ   rˆ   rÑ   rÒ   r²   r´   Úescaped_inits          rt   r   r   ®  s�  € Ü�„}Ø#‰ˆ‰hà‰ˆˆhÜ�CÔØ�3‰xˆØˆÜ�SŒ>œ^¨CÔ0ØˆCð
oØ˜‘H�Ø˜!‘8Ü3AØ˜!˜B˜ó4!ß!&¡ u£ñ 1�C˜‘M 3 x¢=ô ˜Q  B›�AÜ36°q·v±v³;ÄÀAÇFÁFÃÐ0�C˜‘M 3 x¡=ô �sŒ|Ø# C¨¡M ?°*¸SÀ¹]¸OÈ8ÐT�ð �ˆ>Ðô �cŒ]ÙØ!+‘��hØ�A‰w˜#Š~Ø# A b˜z×1Ñ1°#°uÓ=�Ø˜<˜.¨Ð*�Ø�A‰w˜#Š~Ø˜t A b˜z˜l¨!Ð,�Ø�ˆ>Ðøô ò oÜ ØIÈ$ÈÐOfÐghÐfkÐklÐmóoð oðoús   ÁA.D ÄD4c                 ó¢   — t        | «      st        | «      r"t        | «      }| d   j                  d|«      }|S t	        | «      st        | «      ryy)Nr—   Úf2py_lenrW   )rš   Úisstringarrayr   ÚgetÚischaracterÚischaracterarray)rˆ   Úelsizes     rt   Ú
get_elsizerì   Ñ  sN   € Ü�„}œ cÔ*Ü˜cÓ"ˆà�^Ñ$×(Ñ(¨°VÓ<ˆØˆÜ�3ÔÔ+¨CÔ0Øð r”   c                 óz	  — | }t        |«      r|d   D ]  }|dd dk(  sŒ|dd } n | |t        |«      dœ}g }t        j                  «       D ]"  \  }} ||«      sŒ|j	                  d|› �«       Œ$ |rdj                  |«      |d<   nd|d<   t        |«      rd	|d
<   n |d   t        v rt        |d      |d
<   nd|d
<   t        | |«      \  |d<   |d<   t        |«      r?t        |«      r4t        |«      s)t        |d   dd «      j                  d«      \  |d<   |d<   t        |«      r¦| |d<   | t        v ret        |    |d<   t        t        |       d   |d<   t        t        |       d   |d<   t        t        |       d   |d<   t        t        |       d   |d<   n4| |d<   t!        t        j#                  «       «      }t%        d| › d|› d�«       t'        |«      rt)        |«      |d<   t        |«      r.t+        |t-        | |«      «      }t/        j.                  |d    «      }	|d   t0        v rt0        |d      |d!<   t3        |«      |d"<   t5        |«      �røg t6        ‘d#‘t         ‘d$‘t8        ‘d%‘t:        ‘d&‘t<        ‘d'‘t>        ‘d(‘t        ‘d)‘tA        tB        tE        t        «      «      ‘d*‘t&        ‘d+‘t        ‘d,‘tF        ‘d-‘tH        ‘d.‘tJ        ‘d/‘tA        tL        tE        tJ        «      «      ‘d0‘t        ‘d1‘tN        ‘d1‘tP        ‘d2‘}
g }tS        d3tU        |
«      d4«      D ]%  } |
|   |«      sŒ|j	                  |
|dz      «       Œ' t'        |«      r|j	                  d5| › d6|d   › �«       t        |«      r5d7j                  tW        d8„ |d    	«      «      }|j	                  d9|› d:�«       d7j                  |«      }t        |«      rd;| › d<|d   › d=|› �|d><   nd;|d   › d?| › d@|d   › d=|› �|d><   tC        |«      r |d   tX        v rd;| › d@tX        |d      › �|dA<   t'        |«      rdB| › dC| › dD�|dA<   t        |«      r	d;| › dE�|dA<   |d   tX        v r%dF| › d@tX        |d      › �|dG<   tX        |d      › |dH<   t'        |«      rdI| › dC| › dD�|dG<   t[        | |«      \  |dJ<   |dK<   t]        |«      r|dL   |dL<   |S )Mz†
    varname,ctype,atype
    init,init.r,init.i,pytype
    vardebuginfo,vardebugshowvalue,varshowvalue
    varrformat

    intent
    r¹   Nrº   r»   )ÚvarnameÚ
outvarnamer‰   ÚF2PY_ú|ÚF2PY_INTENT_INrP   Ú
varrformatr‰   ÚOrÑ   rÒ   r   r¥   rØ   rÙ   rÚ   Ú	cbnamekeyÚcbnameÚ
maxnofargsÚ
nofoptargsÚdocstrÚcbdocstrÚlatexdocstrÚcblatexdocstrzsign2map: Confused: external z is not in lcb_mapz.
Úlengthr£   Úatyperë   r¸   ÚoutputÚinoutputÚrequiredÚoptionalÚhiddenzcomplex scalarÚscalarr(   Úarrayzcomplex arrayzstring arrayzcomplex functionÚfunctionÚcallbackÚ	auxiliaryr   é   zslen(z)=r¤   c                 ó   — | › d|› �S )Nrñ   © )ÚxrQ   s     rt   ú<lambda>zsign2map.<locals>.<lambda>.  s   €  A 3 a¨ s € r”   zdims(rÀ   údebug-capi:z=>r§   Úvardebuginfor¾   r×   Úvardebugshowvalueúdebug-capi:slen(ú)=%d ú=\"%s\"z=%pz#name#:ÚvarshowvalueÚshowvalueformatz#name#:slen(Ú	pydocsignÚpydocsignoutÚnote)/rÆ   r   Úisintent_dictÚitemsr®   r«   r©   Úc2buildvalue_mapr   rÇ   rÞ   r
   rà   r‡   rÉ   rÊ   ÚlistÚkeysrq   rš   r   Ú
dictappendr   rb   Ú
c2capi_maprì   Ú	debugcapir°   rÅ   Ú
isrequiredÚ
isoptionalr�   Úl_andrª   Úl_notrß   rç   Úiscomplexfunctionr€   Úisintent_callbackÚisintent_auxr¬   r˜   ÚmapÚcformat_mapr   Úhasnote)rŠ   rˆ   rÏ   rÐ   r²   Úintent_flagsr?   ÚsÚlcb_map_keysr³   ÚilÚrlrE   ÚddimÚrl_strs                  rt   r   r   ß  sã  € ð €EÜ�CÔØ�X‘ò 	ˆAØ��!ˆu˜‹Ø˜!˜"˜�Ùð	ð  u´xÀ³}Ñ
E€CØ€LÜ×#Ñ#Ó%ò -‰ˆˆ1ÙˆS�6Ø×Ñ %¨ s Õ,ð-ñ àŸ™ Ó.ˆˆHŠà(ˆˆH‰Üˆs„|ØˆˆLÒØ	ˆW‰Ô)Ñ	)Ü,¨S°©\Ñ:ˆˆLÒàˆˆLÑÜ#*¨1¨c£?Ñ €Cˆ�K��Z‘Ü�CÔœY sœ^´G¸C´LÜ'5Ø�‰K˜˜"Ðó(ß$™u U›|ñ 	%ˆˆH‰�s˜8‘}ä�#„ØˆˆKÑØ”‰<Ü# A™JˆC�‰MÜ (¬°©Ñ 4°\Ñ BˆC�ÑÜ (¬°©Ñ 4°\Ñ BˆC�ÑÜ&¤w¨q¡zÑ2°8Ñ<ˆC�
‰OÜ#+¬G°A©JÑ#7¸Ñ#FˆC�Ò àˆC�‰MÜ¤§¡£Ó/ˆLÜÐ3°A°3ð 7Ø*˜^¨3ð0ô 1ä�„}Ü$ SÓ)ˆˆH‰Üˆs„|Ü˜œj¨¨CÓ0Ó1ˆÜ�i‰i˜˜KÑ(Ó)ˆØ
ˆ7�|”zÑ!Ü! # g¡,Ñ/ˆˆG‰Ü" 3›ˆˆH‰ä�…~ðŒkð ˜7ð ¤Lð °(ð ÜðØ(ðÜ*4ðØ6@ðäðà$ðä&3ðà5=ðô ðð *ðô ”Hœe¤IÓ.Ó/ð	ð 2:ð	ô
 ðð
 !ðô
 #*ðð
 ,3ðô ðð .ðô 0=ðð ?Mðô  ðð "4ðô ”J¤Ô&7Ó 8Ó9ðð <Fðô ðð %ðô  ðð ",ðô ðð (ðˆð ˆÜ�qœ#˜b›' 1Ó%ò 	%ˆAØˆr�!‰u�S�zØ—	‘	˜"˜Q ™U™)Õ$ð	%ô �CŒ=Ø�I‰I˜˜a˜S  3 x¡= /Ð2Ô3Ü�3Œ<Ø—8‘8ÜÑ+¨S°Ñ-=¸sÓCóEˆDà�I‰I˜˜d˜V 1�oÔ&Ø—‘˜"“ˆÜ�cŒ?Ø$/°¨s°"°S¸±]°OÀ1ÀVÀHÐ"MˆC�Òà%0°°W±°¸aØ&' S¨¨#¨j©/Ð):¸!¸F¸8ð$EˆC�Ñä�CŒ=Ø�7‰|œ{Ñ*Ø-8¸¸¸1¼[ÈÈWÉÑ=VÐ<WÐ+X�Ð'Ñ(Ü�CŒ=Ø)9¸!¸¸EÀ!ÀÀIÐ'NˆCÐ#Ñ$Ü�cŒ?Ø)4°Q°C°sÐ';ˆCÐ#Ñ$Ø
ˆ7�|”{Ñ"Ø '¨ s¨!¬K¸¸G¹Ñ,EÐ+FÐGˆˆNÑÜ$/°°G±Ñ$=Ð#>ˆÐÑÜ�„}Ø ,¨Q¨C¨u°Q°C°yÐAˆˆNÑÜ,8¸¸CÓ,@Ñ)€CˆÑ�c˜.Ñ)Üˆs„|Ø˜&‘kˆˆF‰Ø€Jr”   c                 ó–  — | d   }t        | «      }||j                  dd«      |j                  «       |j                  «       t	        |«      t	        d|› �«      ||j                  «       t        | «      xs dt        | «      xs dt        | «      xs ddœ}d|v rd|d<   nd|d<   d|v rd	|d
<   nd
|d
<   i ad| v r•| d   j                  «       D ]~  }|t        j                  v sŒt        j                  |   D ]S  }|d   }d| d   |   v r6| d   |   d   j                  «       D ]  }| d   |   d   |   |d   k(  sŒ|} n |d   t        |<   ŒU Œ€ n+| j                  d«      r| d   }t        d|d   › d|›d�«       t        | t        «      xs d|d<   t        | «      �rd| v r| d   }	n| d   }	|	|d<   t!        |	| «      \  |d<   |d<   t#        | d   |	   «      |d<   t%        | «      r| d   |	   d   |d<   dg| d   |	   d<   |d   t&        v rt&        |d      |d<   nd|d<   t        d|d   ›d �«       t)        | «      r7|d   t*        v rd!|	› d"t*        |d      › �|d#<   t-        | «      rd$|	› d%|	› d&�|d#<   t-        | «      r3t/        | d   |	   «      |d'<   |d'   d(k(  rt        d)| d   ›d*�«       d+|d'<   t1        | «      r| d   |d<   dg| d<   |S ),zV
    name,NAME,begintitle,endtitle
    rname,ctype,rformat
    routdebugshowvalue
    ry   Ú_ú\_úend of rR   )ry   ÚtexnameÚ
name_lowerÚNAMEÚ
begintitleÚendtitleÚfortrannameÚFORTRANNAMEÚcallstatementÚusercodeÚ	usercode1Ú	F_FUNC_USÚF_FUNCÚF_WRAPPEDFUNC_USÚF_WRAPPEDFUNCÚuser   r(  r   Ú	externalsz!routsign2map: Confused: function z has externals z but no "use" statement.
Úcallprotoargumentrx   Úrnamer  r  rz   r‰   r  Ú
resultnoteúSee elsewhere.Úrformatrô   z+routsign2map: no c2buildvalue key for type r–   r  r×   Úroutdebugshowvaluer  r  r  ÚrlengthrY   zkroutsign2map: expected explicit specification of the length of the string returned by the fortran function z; taking 10.
Ú10)Úgetfortrannamerã   rm   ÚupperÚgentitleÚgetcallstatementÚgetusercodeÚgetusercode1rÉ   r  r   Úcb_maprè   rq   Úgetcallprotoargumentr€   r   r   Úhasresultnoter  r   r)  r™   r   r*  )
Úroutry   Úfnamer²   ÚuÚunÚlnrÐ   rE  rŠ   s
             rt   r   r   H  st  € ð �‰<€DÜ˜4Ó €EØØ—l‘l 3¨Ó.ØŸ™›Ø—:‘:“<Ü! $›Ü '¨$¨Ð 0Ó1ØØŸ+™+›-Ü,¨TÓ2Ò8°bÜ" 4Ó(Ò.¨BÜ$ TÓ*Ò0¨bñ€Cð ˆe�|Ø#ˆˆHŠà ˆˆH‰Ø
ˆd�{Ø1ˆˆOÒà.ˆˆOÑØ€GØ��}Ø�e‘×!Ñ!Ó#ò 		(ˆAØ”H—O‘OÒ#Ü"Ÿ/™/¨!Ñ,ò (�BØ˜A™�BØ  U¡¨A¡Ñ.Ø!% e¡¨Q¡°Ñ!6×!;Ñ!;Ó!=ò &˜AØ# E™{¨1™~¨eÑ4°QÑ7¸2¸a¹5Ó@Ø%& Ù %ð&ð #% Q¡%”G˜B’Kñ(ñ		(ð 
�‰�+Ô	Ø˜Ñ%ˆ	ÜÐ3°C¸±K°=ÀØ�-Ð9ð;ô 	<ä3°D¼'ÓBÒHÀb€CÐÑÜ�$ÕØ�tÑØ�X‘‰Aà�V‘ˆAØˆˆG‰Ü0<¸QÀÓ0EÑ-ˆˆKÑ˜#˜nÑ-Ü  V¡¨Q¡Ó0ˆˆG‰Ü˜ÔØ $ V¡¨Q¡°Ñ 7ˆC�ÑØ'7Ð&8ˆD�‰L˜‰O˜FÑ#Øˆw‰<Ô+Ñ+Ü-¨c°'©lÑ;ˆC�	ŠNà ˆC�	‰NÜÐAÀ#ÀgÁ,ÐAQÐQSÐTÔUÜ�TŒ?Ø�7‰|œ{Ñ*Ø-:Ø01¨s°!´KÀÀGÁÑ4MÐ3Nð.P�Ð(Ñ)ä Ô%Ø.>¸q¸cÀÀqÀcÈÐ,S�Ð(Ñ)Ü˜DÔ!Ü)¨$¨v©,°q©/Ó:ˆC�	‰NØ�9‰~ Ò%Üð Jà ™<Ð*¨.ð:ô ;ð "&��I‘Üˆt„}Ø˜6‘lˆˆF‰Ø(Ð)ˆˆV‰Ø€Jr”   c                 ó  — t        | «      r.| d   | d   j                  «       | d   j                  dd«      dœ}n-| d   | d   j                  «       | d   j                  dd«      dœ}t        | «      xs g |d<   t	        | «      r| d   |d<   t        | «      xs d|d	<   t        | «      xs d|d
<   | d   rt        | d   d   «      xs d|d<   nd|d<   t        | «      xs d|d<   d| v r| d   |d<   d| v r| d   |d<   d| v r| d   |d<   |S )z
    modulename
    ry   r3  r4  )Úf90modulenameÚF90MODULENAMEÚtexf90modulename)Ú
modulenameÚ
MODULENAMEÚtexmodulenameÚrestdocr  rR   r>  r?  Úbodyr   Úinterface_usercodeÚpymethoddefÚgil_usedÚcoutputÚf2py_wrapper_output)ÚismodulerO  rã   Ú
getrestdocr*  rR  rS  Úgetpymethoddef)Úmr²   s     rt   r   r   ™  sD  € ô �„{Ø ! &¡	Ø ! &¡	§¡Ó 1Ø#$ V¡9×#4Ñ#4°S¸%Ó#@ñB‰ð ˜v™YØ˜v™YŸ_™_Ó.Ø ! &¡	× 1Ñ 1°#°uÓ =ñ?ˆô   “]Ò( b€Cˆ	�NÜˆq„zØ˜‘iˆˆF‰Ü! !“nÒ*¨€Cˆ
�OÜ# A“Ò,¨"€CˆÑØˆ‚yÜ$/°°&±	¸!±Ó$=Ò$CÀˆÐ Ò!à$&ˆÐ Ñ!Ü'¨Ó*Ò0¨b€CˆÑØ�Q�Ø˜J™-ˆˆJ‰Ø�A�~Ø˜9™ˆˆI‰Ø Ñ!Ø%&Ð'<Ñ%=ˆÐ!Ñ"Ø€Jr”   c                 ó^  — d| i}|d   |d<   t        |«      |d<   |d   t        v rt        |d      |d<   t        |«      |d<   |d   t        v rt        |d      › |d<   t	        |«      rt        |t        | |«      «      }t        | |«      \  |d<   |d<   t        |«      r|d	   |d	<   d
g|d	<   |S )Nrî   Ú	varname_ir‰   rþ   rë   r  r  r  r  rI  )	r   r  rì   r)  r©   r  r   r   r*  )rŠ   rˆ   r¯   r²   s       rt   r   r   ¸  sÎ   € Ø�aˆ.€CØ˜9‘~€CˆÑÜ˜C“=€Cˆ�LØ
ˆ7�|”zÑ!Ü! # g¡,Ñ/ˆˆG‰Ü" 3›ˆˆH‰Ø
ˆ7�|”{Ñ"Ü$/°°G±Ñ$=Ð#>ˆÐÑÜˆs„|Ü˜œj¨¨CÓ0Ó1ˆÜ,8¸¸CÓ,@Ñ)€CˆÑ�c˜.Ñ)Üˆs„|Ø˜&‘kˆˆF‰Ø'Ð(ˆˆF‰Ø€Jr”   c                 ó^  — d| d   › d|› �ddœ}t        | «      rBd| d   v rd}nd}|› d	| d   j                  «       › d
| d   j                  «       › d�|d<   d|d<   n|d   |d<   d|d<   | d   |d<   t        |d   «      |d<   t        d|d   › �«      |d<   t	        | «      |d<   d|d<   |d   dk(  rd|d<   n|d   |d<   |d   dk7  rt        | «      rd|d<   nd|d<   |d   t        v rt        |d      › |d<   t        | «      rt        | «      |d<   t        | «      red| v r| d   }n| d   }t        | d   |   «      r| d   |   d   |d<   dg| d   |   d<   ||d <   t        || «      \  |d!<   |d"<   t        | «      rd#|d<   nt        | «      r| d   |d<   dg| d<   d$}d$}d%| v rGd| v rC| d%   D ];  }| d   |   } t        t        t        «      |«      sŒ&|d&z   }t        |«      sŒ7|d&z   }Œ= t!        |«      |d'<   t!        |«      |d(<   t        | «      rt        | «      rd| v r| d   |d)<   dg| d<   |S )*z\
    name,begintitle,endtitle,argname
    ctype,rctype,maxnofargs,nofoptargs,returncptr
    Úcb_ry   Ú_in_rR   )ry   Ú
returncptrr3  r@  rA  ú(r¤   rÀ   ÚcallbacknameÚexternÚstaticrÄ   r9  r5  r:  r‰   rw   Úrctyper(   z3
#ifdef F2PY_CB_RETURNCOMPLEX
return_value=
#endif
rs  zreturn_value=r  Ú	strlengthrx   rz   r  rI  rG  r  r  z8
#ifdef F2PY_CB_RETURNCOMPLEX
#ctype#
#else
void
#endif
r   Úargsr   r÷   rø   Úroutnote)r&  rm   rO  rP  r   r%  r)  r™   r   r€   r*  r   Úl_orr°   rÅ   r"  r›   )rW  Úumr²   rA  rŠ   Únofargsrø   rˆ   s           rt   r   r   Ê  sÚ  € ð
 ˜˜f™˜ d¨2¨$Ð/Øñ€Cä˜ÔØ�$�v‘,ÑØ ‰FàˆFØ!' ¨¨$¨v©,×*<Ñ*<Ó*>Ð)?¸qÀÀfÁ×ASÑASÓAUÐ@VÐVWÐXˆˆNÑØ ˆˆHŠà! &™kˆˆNÑØ ˆˆH‰Ø˜&‘\€Cˆ	�NÜ   V¡Ó-€CˆÑÜ ¨¨V©¨Ð6Ó7€Cˆ
�OÜ˜D“>€Cˆ�LØ€Cˆ�MØ
ˆ7�|�xÒØˆˆHŠà˜G™ˆˆH‰Ø
ˆ8�}˜ÒÜ˜TÔ"ð!ˆC�Òð !0ˆC�ÑØ
ˆ7�|”{Ñ"Ü$/°°G±Ñ$=Ð#>ˆÐÑÜ˜ÔÜ'¨Ó-ˆˆKÑÜ�$ÔØ�tÑØ�X‘‰Aà�V‘ˆAÜ�4˜‘< ‘?Ô#Ø˜v™, q™/¨&Ñ1ˆC�‰KØ'7Ð&8ˆD�‰L˜‰O˜FÑ#ØˆˆG‰Ü0<¸QÀÓ0EÑ-ˆˆKÑ˜#˜nÑ-Ü˜TÔ"ðˆC�ŠMô 
�ŒØ˜6‘lˆˆF‰Ø(Ð)ˆˆV‰Ø€GØ€JØ��~˜& D™.Ø�f‘ò 	0ˆAØ�v‘,˜q‘/ˆCØ0Œt”K¤Ó0°Õ5Ø! A™+�Ü˜c•?Ø!+¨a¡‘Jð	0ô ˜W›€CˆÑÜ˜ZÓ(€CˆÑÜˆt„}œ DÔ)¨h¸$Ñ.>Ø˜v™,ˆˆJ‰Ø(Ð)ˆˆV‰Ø€Jr”   c                 óÂ  — | t        |«      dœ}t        |«      rd|d<   |d   t        v rt        |d      |d<   t        |«      |d<   |d   t        v rt        |d      › |d<   t        |«      rt        |t        | |«      «      }nt        |«      rt        |«      |d<   d|d	<   t        | |«      \  |d
<   |d<   t        |«      r|d   |d<   dg|d<   t        | |«      |d<   |S )N)rî   r‰   r   r‰   rþ   rë   r  rŸ   rW   r¡   r  r  r  rI  Ú	arrdocstr)r   rç   r  rì   r)  r©   r  r   rš   r   r   r*  r   )rŠ   rˆ   r²   s      rt   r   r     sø   € Ø¤(¨3£-Ñ
0€CÜ�SÔØˆˆG‰Ø
ˆ7�|”zÑ!Ü! # g¡,Ñ/ˆˆG‰Ü" 3›ˆˆH‰Ø
ˆ7�|”{Ñ"Ü$/°°G±Ñ$=Ð#>ˆÐÑÜˆs„|Ü˜œj¨¨CÓ0Ó1‰Ü	�#ŒÜ" 3Ó'ˆˆF‰ØˆˆF‰Ü,8¸¸CÓ,@Ñ)€CˆÑ�c˜.Ñ)Üˆs„|Ø˜&‘kˆˆF‰Ø'Ð(ˆˆF‰ä$ Q¨Ó,€CˆÑØ€Jr”   )r   )N)/Ú__doc__rR   r   ÚversionÚf2py_versionrb   rf   r�   r   Ú	_isocbindr   r   r   ÚauxfuncsÚcrackfortranr
   Ú__all__r­   rÉ   rÊ   rn   r  rÈ   r  re   Úupdater   r3  rc   rd   ro   ru   r)  r   r“   r   r   r   r   r   rì   r   r   r   r   r   r   r  r”   rt   ú<module>r‰     sþ  ðñõ à×"Ñ"€ã Û 	Û 	å ß IÑ Iô
 Ý (ò€ð €Ø
€Ø€ðˆH�gð Ø�Wðà˜7ðð �Eðð ˜5ð	ð
 ˜Uðð �Uðð ˜eðð �5ðð �Eðð ˜ðð ˜ðð ˜Yðð ˜iðð " 9ðð �hðð  ˜ð!€ð&+ˆh˜ð +Ø˜ð+àÐ/ð+ð ˜
ð+ð   ð	+ð
 ˜zð+ð ˜ð+ð ! ,ð+ð �yð+ð ˜Jð+ð ˜
ð+ð   ð+ð ˜^ð+ð % oð+ð   ð+ð ! -ð+ð  &Ð'8ð!+ð" 'Ø)ò%+€
ð("�˜#ð "Ø˜ð"à˜sð"ð ˜ð"ð   ð	"ð
 ˜sð"ð ˜ð"ð ! #ð"ð �sð"ð ˜Cð"ð ˜ð"ð   ð"ð ˜Sð"ð % cð"ð   ð"ð ! #ð"ð  & sð!"ð" Ø ò%"€ð* "Ø ØØ#&Ø ØØØ!$Ø%(Ø&)Ø+.Ø!Ø!$ñ&Ð ð #¨°xØ*°-ñAà#¨-¸gØ$¨;Ø /Ð7GØ *Ð2FñHð .°OØ 0Ð8MØ 5ñ7ð #2¸Ø#3Ð;PØ$9ñ;ð $¨&°wÀUØ*ñ,à!#Ð%5Ð 6Ø#% x .Ø˜6�lñ!€
ð( × Ñ Ð%Ô &Ø ‡��Ô Ù#¤JÐ0AÀ8ÓL�€
ˆAà�—‘œzÓ*€à€òTð4ˆx˜ð Ø˜ðà˜eðð �tðð ˜dð	ð
  ðð ˜ðð   ðð �dðð ˜4ðð �uðð  ðð ˜Eðð  	ðð   ðð % kðð  ˜ð!ð" ˜Fñ#€ò.2òjòó87òtEòPò òFòfòRNòbó>ò$JóZr”   