§
    €Ûgš)  ã                   óÌ  — d dl Z d dlZd dlZd dlZd dlZd dlmZ ddlm	Z	 d dl
mZ d dlZ G d„ de	j        ¦  «        Z G d„ d	¦  «        Z G d
„ d¦  «        Z G d„ de	j        ¦  «        Z G d„ de	j        ¦  «        Z G d„ d¦  «        Z G d„ de	j        ¦  «        Z G d„ d¦  «        Z G d„ de	j        ¦  «        Z G d„ de	j        ¦  «        Z G d„ de	j        ¦  «        ZdS )é    N©Úmarkinnerspacesé   )Úutil)Úcrackfortranc                   ó<   — e Zd Z ej        dddd¦  «        gZd„ ZdS )ÚTestNoSpaceÚtestsÚsrcr   z	gh15035.fc                 ó¢  — t          j        g d¢t           j        ¬¦  «        }t          j        g d¢t           j        ¬¦  «        }| j                             |¦  «         t          j        ||dz   ¦  «        sJ ‚| j                             ||g¦  «         t          j        ||dz   ¦  «        sJ ‚| j                             d¦  «        dk    sJ ‚d S )N)r   é   é   )Údtyper   Ú23ó   2)ÚnpÚarrayÚfloat64ÚmoduleÚsubbÚallcloseÚsubcÚt0)ÚselfÚkÚws      úX/granary/edev/quantum/lib/python3.11/site-packages/numpy/f2py/tests/test_crackfortran.pyÚtest_modulezTestNoSpace.test_module   sÃ   € ÝŒH�Y�Y�Y¥b¤jÐ1Ñ1Ô1ˆÝŒH�Y�Y�Y¥b¤jÐ1Ñ1Ô1ˆØŒ×Ò˜ÑÔÐÝŒ{˜1˜a !™eÑ$Ô$Ð$Ð$Ð$ØŒ×Ò˜!˜Q˜Ñ Ô Ð ÝŒ{˜1˜a !™eÑ$Ô$Ð$Ð$Ð$ØŒ{�~Š~˜dÑ#Ô# tÒ+Ð+Ð+Ð+Ð+Ð+ó    N)Ú__name__Ú
__module__Ú__qualname__r   ÚgetpathÚsourcesr   © r   r   r	   r	      s?   € € € € € ð ˆtŒ|˜G U¨N¸KÑHÔHÐI€Gð,ð ,ð ,ð ,ð ,r   r	   c                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )ÚTestPublicPrivatec                 óÒ  — t          j        dddd¦  «        }t          j        t          |¦  «        g¦  «        }t	          |¦  «        dk    sJ ‚|d         }d|d         d	         d
         v sJ ‚d|d         d	         d
         vsJ ‚d|d         d         d
         v sJ ‚d|d         d         d
         vsJ ‚d|d         d         d
         vsJ ‚d|d         d         d
         v sJ ‚d S )Nr
   r   r   zprivatemod.f90r   r   ÚprivateÚvarsÚaÚattrspecÚpublicÚbÚseta©r   r#   r   ÚstrÚlen)r   ÚfpathÚmods      r   Útest_defaultPrivatez%TestPublicPrivate.test_defaultPrivate   s  € Ý”˜W e¨^Ð=MÑNÔNˆÝÔ'­¨U©¬¨Ñ5Ô5ˆÝ�3‰xŒx˜1Š}ˆ}ˆ}ˆ}Ø�!ŒfˆØ˜C œK¨Ô,¨ZÔ8Ð8Ð8Ð8Ð8Ø˜s 6œ{¨3Ô/°
Ô;Ð;Ð;Ð;Ð;Ø˜C œK¨Ô,¨ZÔ8Ð8Ð8Ð8Ð8Ø˜s 6œ{¨3Ô/°
Ô;Ð;Ð;Ð;Ð;Ø  F¤¨FÔ 3°JÔ ?Ð?Ð?Ð?Ð?Ø˜3˜vœ; vÔ.¨zÔ:Ð:Ð:Ð:Ð:Ð:Ð:r   c                 ór  — t          j        dddd¦  «        }t          j        t          |¦  «        g¦  «        }t	          |¦  «        dk    sJ ‚|d         }d|d         d	         d
         v sJ ‚d|d         d	         d
         vsJ ‚d|d         d         d
         vsJ ‚d|d         d         d
         v sJ ‚d S )Nr
   r   r   zpublicmod.f90r   r   r)   r*   r+   r,   r-   r/   r0   ©r   Útmp_pathr3   r4   s       r   Útest_defaultPublicz$TestPublicPrivate.test_defaultPublic(   sÍ   € Ý”˜W e¨^¸_ÑMÔMˆÝÔ'­¨U©¬¨Ñ5Ô5ˆÝ�3‰xŒx˜1Š}ˆ}ˆ}ˆ}Ø�!ŒfˆØ˜C œK¨Ô,¨ZÔ8Ð8Ð8Ð8Ð8Ø˜s 6œ{¨3Ô/°
Ô;Ð;Ð;Ð;Ð;Ø  F¤¨FÔ 3°JÔ ?Ð?Ð?Ð?Ð?Ø˜3˜vœ; vÔ.¨zÔ:Ð:Ð:Ð:Ð:Ð:Ð:r   c                 óŽ  — t          j        dddd¦  «        }t          j        t          |¦  «        g¦  «        }t	          |¦  «        dk    sJ ‚|d         d         }t          |d         d	         ¦  «        d
dhk    sJ ‚t          |d         d	         ¦  «        ddhk    sJ ‚t          |d         d	         ¦  «        dhk    sJ ‚d S )Nr
   r   r   zaccesstype.f90r   r   r*   r+   r,   r)   zbind(c)Úb_r-   Úc)r   r#   r   r1   r2   Úset)r   r8   r3   r4   Útts        r   Útest_access_typez"TestPublicPrivate.test_access_type2   sÈ   € Ý”˜W e¨^Ð=MÑNÔNˆÝÔ'­¨U©¬¨Ñ5Ô5ˆÝ�3‰xŒx˜1Š}ˆ}ˆ}ˆ}Ø�ŒV�FŒ^ˆÝ�2�c”7˜:Ô&Ñ'Ô'¨I°yÐ+AÒAÐAÐAÐAÝ�2�d”8˜JÔ'Ñ(Ô(¨X°yÐ,AÒAÐAÐAÐAÝ�2�c”7˜:Ô&Ñ'Ô'¨H¨:Ò5Ð5Ð5Ð5Ð5Ð5r   N)r    r!   r"   r5   r9   r?   r%   r   r   r'   r'      sA   € € € € € ð
;ð 
;ð 
;ð;ð ;ð ;ð6ð 6ð 6ð 6ð 6r   r'   c                   ó   — e Zd Zd„ Zd„ ZdS )ÚTestModuleProcedurec                 óž  — t          j        dddd¦  «        }t          j        t          |¦  «        g¦  «        }t	          |¦  «        dk    sJ ‚|d         }d|v rt	          |d         ¦  «        dk    sJ ‚|d         d         d	         d
k    sJ ‚d|d         d         v sJ ‚|d         d         d         ddgk    sJ ‚|d         d         d	         dk    sJ ‚d|d         d         v sJ ‚|d         d         d         dgk    sJ ‚|d         d         d	         dk    sJ ‚d|d         d         v sJ ‚|d         d         d         ddgk    sJ ‚d S )Nr
   r   r   zoperators.f90r   r   Úbodyé	   Únamezoperator(.item.)ÚimplementedbyÚitem_intÚ	item_realr   zoperator(==)Úitems_are_equalr   zassignment(=)Úget_intÚget_realr0   r7   s       r   Útest_moduleOperatorsz(TestModuleProcedure.test_moduleOperators=   sš  € Ý”˜W e¨^¸_ÑMÔMˆÝÔ'­¨U©¬¨Ñ5Ô5ˆÝ�3‰xŒx˜1Š}ˆ}ˆ}ˆ}Ø�!ŒfˆØ˜ˆ}ˆ}¥ S¨¤[Ñ!1Ô!1°QÒ!6Ð!6Ð!6Ð!6Ø�6Œ{˜1Œ~˜fÔ%Ð);Ò;Ð;Ð;Ð;Ø # f¤+¨a¤.Ð0Ð0Ð0Ð0Ø�6Œ{˜1Œ~˜oÔ.Ø˜Ð%ò&ð &ð &ð &à�6Œ{˜1Œ~˜fÔ%¨Ò7Ð7Ð7Ð7Ø # f¤+¨a¤.Ð0Ð0Ð0Ð0Ø�6Œ{˜1Œ~˜oÔ.Ð3DÐ2EÒEÐEÐEÐEØ�6Œ{˜1Œ~˜fÔ%¨Ò8Ð8Ð8Ð8Ø # f¤+¨a¤.Ð0Ð0Ð0Ð0Ø�6Œ{˜1Œ~˜oÔ.Ø˜
Ð#ò$ð $ð $ð $ð $ð $r   c                 óT  — t          j        dddd¦  «        }t          j        t          |¦  «        g¦  «        }t	          |¦  «        dk    sJ ‚|d         }|d         d         d	         d
gk    sJ ‚|d         d         d	         dgk    sJ ‚|d         d         d	         dgk    sJ ‚d S )Nr
   r   r   zpubprivmod.f90r   r   r*   r+   r,   r)   r.   r-   r/   r0   r7   s       r   Útest_notPublicPrivatez)TestModuleProcedure.test_notPublicPrivateO   sµ   € Ý”˜W e¨^Ð=MÑNÔNˆÝÔ'­¨U©¬¨Ñ5Ô5ˆÝ�3‰xŒx˜1Š}ˆ}ˆ}ˆ}Ø�!ŒfˆØ�6Œ{˜3Ô 
Ô+°	¨}Ò<Ð<Ð<Ð<Ø�6Œ{˜3Ô 
Ô+°¨|Ò;Ð;Ð;Ð;Ø�6Œ{˜6Ô" :Ô.°8°,Ò>Ð>Ð>Ð>Ð>Ð>r   N)r    r!   r"   rL   rN   r%   r   r   rA   rA   <   s2   € € € € € ð$ð $ð $ð$?ð ?ð ?ð ?ð ?r   rA   c                   óB   — e Zd Z ej        dddd¦  «        gZd„ Zd„ ZdS )ÚTestExternalr
   r   r   z	gh17859.fc                 óP   — d„ }| j                              |¦  «        }|dk    sJ ‚d S )Nc                 ó   — | dz   S ©Né{   r%   ©Úxs    r   Úincrz5TestExternal.test_external_as_statement.<locals>.incr^   ó   € Ø�s‘7ˆNr   rT   )r   Úexternal_as_statement©r   rW   Úrs      r   Útest_external_as_statementz'TestExternal.test_external_as_statement]   ó9   € ð	ð 	ð 	ð ŒK×-Ò-¨dÑ3Ô3ˆØ�CŠxˆxˆxˆxˆxˆxr   c                 óP   — d„ }| j                              |¦  «        }|dk    sJ ‚d S )Nc                 ó   — | dz   S rS   r%   rU   s    r   rW   z5TestExternal.test_external_as_attribute.<locals>.incre   rX   r   rT   )r   Úexternal_as_attributerZ   s      r   Útest_external_as_attributez'TestExternal.test_external_as_attributed   r]   r   N)r    r!   r"   r   r#   r$   r\   ra   r%   r   r   rP   rP   Y   sL   € € € € € àˆtŒ|˜G U¨N¸KÑHÔHÐI€Gðð ð ðð ð ð ð r   rP   c                   ó<   — e Zd Z ej        dddd¦  «        gZd„ ZdS )ÚTestCrackFortranr
   r   r   z
gh2848.f90c                 óL   — | j                              dd¦  «        }|dk    sJ ‚d S )Nr   r   )r   r   )r   Úgh2848)r   r[   s     r   Útest_gh2848zTestCrackFortran.test_gh2848p   s*   € ØŒK×Ò˜q !Ñ$Ô$ˆØ�FŠ{ˆ{ˆ{ˆ{ˆ{ˆ{r   N)r    r!   r"   r   r#   r$   rf   r%   r   r   rc   rc   l   s=   € € € € € àˆtŒ|˜G U¨N¸LÑIÔIÐJ€Gðð ð ð ð r   rc   c                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestMarkinnerspacesc                 óB   — g d¢}|D ]}t          |¦  «        |k    sJ ‚Œd S )N)za z aza b cz'abcdefghij'r   )r   Ú	test_listÚis      r   Útest_do_not_touch_normal_spacesz3TestMarkinnerspaces.test_do_not_touch_normal_spacesx   sB   € Ø9Ð9Ð9ˆ	Øð 	+ð 	+ˆAÝ" 1Ñ%Ô%¨Ò*Ð*Ð*Ð*Ð*ð	+ð 	+r   c                 óZ   — t          d¦  «        dk    sJ ‚t          d¦  «        dk    sJ ‚d S )Nza 'b c' \' \'za 'b@_@c' \' \'za "b c" \" \"za "b@_@c" \" \"r   ©r   s    r   Útest_one_relevant_spacez+TestMarkinnerspaces.test_one_relevant_space}   s>   € ÝÐ0Ñ1Ô1Ð5HÒHÐHÐHÐHÝÐ/Ñ0Ô0Ð4FÒFÐFÐFÐFÐFÐFr   c                 óZ   — t          d¦  «        dk    sJ ‚t          d¦  «        dk    sJ ‚d S )Nza 'b c" " d' eza 'b@_@c"@_@"@_@d' eza "b c' ' d" eza "b@_@c'@_@'@_@d" er   rn   s    r   Útest_ignore_inner_quotesz,TestMarkinnerspaces.test_ignore_inner_quotes�   s>   € ÝÐ1Ñ2Ô2Ð6NÒNÐNÐNÐNÝÐ1Ñ2Ô2Ð6NÒNÐNÐNÐNÐNÐNr   c                 óZ   — t          d¦  «        dk    sJ ‚t          d¦  «        dk    sJ ‚d S )Nza 'b c' 'd e'za 'b@_@c' 'd@_@e'za "b c" "d e"za "b@_@c" "d@_@e"r   rn   s    r   Útest_multiple_relevant_spacesz1TestMarkinnerspaces.test_multiple_relevant_spaces…   s=   € Ý˜Ñ/Ô/Ð3FÒFÐFÐFÐFÝÐ/Ñ0Ô0Ð4HÒHÐHÐHÐHÐHÐHr   N)r    r!   r"   rl   ro   rq   rs   r%   r   r   rh   rh   u   s[   € € € € € ð+ð +ð +ð
Gð Gð GðOð Oð OðIð Ið Ið Ið Ir   rh   c            	       óž  — e Zd ZdZdZ ej        d¦  «        Zg d¢ZdgZ	ee	z   Z
dZ ee
¦  «        D ]R\  ZZd„ e                     d¦  «        D ¦   «         Zee                     eed	                     e¦  «        ¬
¦  «        z  ZŒSej                             de
¦  «        d„ ¦   «         Zej                             de
¦  «        d„ ¦   «         ZdS )ÚTestDimSpecaÎ  This test suite tests various expressions that are used as dimension
    specifications.

    There exists two usage cases where analyzing dimensions
    specifications are important.

    In the first case, the size of output arrays must be defined based
    on the inputs to a Fortran function. Because Fortran supports
    arbitrary bases for indexing, for instance, `arr(lower:upper)`,
    f2py has to evaluate an expression `upper - lower + 1` where
    `lower` and `upper` are arbitrary expressions of input parameters.
    The evaluation is performed in C, so f2py has to translate Fortran
    expressions to valid C expressions (an alternative approach is
    that a developer specifies the corresponding C expressions in a
    .pyf file).

    In the second case, when user provides an input array with a given
    size but some hidden parameters used in dimensions specifications
    need to be determined based on the input array size. This is a
    harder problem because f2py has to solve the inverse problem: find
    a parameter `p` such that `upper(p) - lower(p) + 1` equals to the
    size of input array. In the case when this equation cannot be
    solved (e.g. because the input array size is wrong), raise an
    error before calling the Fortran function (that otherwise would
    likely crash Python process when the size of input arrays is
    wrong). f2py currently supports this case only when the equation
    is linear with respect to unknown parameter.

    z.f90a  
      function get_arr_size_{count}(a, n) result (length)
        integer, intent(in) :: n
        integer, dimension({dimspec}), intent(out) :: a
        integer length
        length = size(a)
      end function

      subroutine get_inv_arr_size_{count}(a, n)
        integer :: n
        ! the value of n is computed in f2py wrapper
        !f2py intent(out) n
        integer, dimension({dimspec}), intent(in) :: a
        if (a({first}).gt.0) then
          print*, "a=", a
        endif
      end subroutine
    )Únz2*nz2:nzn/2z5 - n/2z3*n:20zn*(n+1):n*(n+5)z2*n, nz2*n:3*n*n+2*nÚ c                 óP   — g | ]#}d |v r|                      d ¦  «        d         nd‘Œ$S )ú:r   Ú1)Úsplit)Ú.0Úds     r   ú
<listcomp>zTestDimSpec.<listcomp>Æ   s2   € ÐRÐRÐR¸! 3¨! 8 8�—’˜‘”˜Q”�°ÐRÐRÐRr   ú,z, )ÚcountÚdimspecÚfirstr�   c                 óª   — | j                              |¦  «        }t          | j        d|› �¦  «        }dD ]} ||¦  «        \  }}|j        |k    sJ ‚Œd S )NÚget_arr_size_©r   r   r   é   é   )Úall_dimspecsÚindexÚgetattrr   Úsize)r   r�   r€   Úget_arr_sizerv   Úszr+   s          r   Útest_array_sizezTestDimSpec.test_array_sizeÍ   so   € ð Ô!×'Ò'¨Ñ0Ô0ˆÝ˜tœ{Ð,C¸EÐ,CÐ,CÑDÔDˆà ð 	 ð 	 ˆAØ �L ‘O”O‰EˆB�Ø”6˜R’<�<�<�<�<ð	 ð 	 r   c                 óF  — | j                              |¦  «        }t          | j        d|› �¦  «        }t          | j        d|› �¦  «        }dD ]S} ||¦  «        \  }}|| j        v r |||¦  «        }n ||¦  «        } ||¦  «        \  }	}
||	k    sJ ||||	f¦   «         ‚ŒTd S )Nr„   Úget_inv_arr_size_r…   )rˆ   r‰   rŠ   r   Únonlinear_dimspecs)r   r�   r€   rŒ   Úget_inv_arr_sizerv   r�   r+   Ún1Úsz1Ú_s              r   Útest_inv_array_sizezTestDimSpec.test_inv_array_size×   sâ   € ð Ô!×'Ò'¨Ñ0Ô0ˆÝ˜tœ{Ð,C¸EÐ,CÐ,CÑDÔDˆÝ" 4¤;Ð0KÀEÐ0KÐ0KÑLÔLÐà ð 	/ð 	/ˆAØ �L ‘O”O‰EˆB�Ø˜$Ô1Ð1Ð1ð &Ð% a¨Ñ+Ô+��ð &Ð% aÑ(Ô(�ð "�\ "Ñ%Ô%‰FˆC�Ø˜’9�9�9˜q " b¨#Ð.‘9”9�9�9ð	/ð 	/r   N)r    r!   r"   Ú__doc__ÚsuffixÚtextwrapÚdedentÚcode_templateÚlinear_dimspecsr‘   rˆ   ÚcodeÚ	enumerater€   r�   r{   ÚlstÚformatÚjoinÚpytestÚmarkÚparametrizerŽ   r–   r%   r   r   ru   ru   ‰   s7  € € € € € ðð ð< €Fà#�H”Oð %ñ 	ô 	€Mð&ð ð €Oð *Ð*ÐØ"Ð%7Ñ7€Là€DØ#˜) LÑ1Ô1ð 
ð 
‰ˆˆwØRÐR¸w¿}º}ÈSÑ?QÔ?QÐRÑRÔRˆØ�×$Ò$ØØØ—)’)˜C‘.”.ð %ñ 
ô 
ñ 	
ˆˆð „[×Ò˜Y¨Ñ5Ô5ð ð  ñ 6Ô5ð ð „[×Ò˜Y¨Ñ5Ô5ð/ð /ñ 6Ô5ð/ð /ð /r   ru   c                   ó   — e Zd Zd„ ZdS )ÚTestModuleDeclarationc                 óâ   — t          j        dddd¦  «        }t          j        t          |¦  «        g¦  «        }t	          |¦  «        dk    sJ ‚|d         d         d         d	         d
k    sJ ‚d S )Nr
   r   r   zfoo_deps.f90r   r   r*   Úabarú=zbar('abar')r0   r7   s       r   Útest_dependenciesz'TestModuleDeclaration.test_dependenciesð   sk   € Ý”˜W e¨^¸^ÑLÔLˆÝÔ'­¨U©¬¨Ñ5Ô5ˆÝ�3‰xŒx˜1Š}ˆ}ˆ}ˆ}Ø�1Œv�fŒ~˜fÔ% cÔ*¨mÒ;Ð;Ð;Ð;Ð;Ð;r   N)r    r!   r"   rª   r%   r   r   r¦   r¦   ï   s#   € € € € € ð<ð <ð <ð <ð <r   r¦   c                   ó   — e Zd Zd„ ZdS )ÚTestEvalc                 óÌ   — t           j        } |di ¦  «        dk    sJ ‚ |di ¦  «        dk    sJ ‚ |dt          dd¬¦  «        ¦  «        dk    sJ ‚ |d	i ¦  «        d
k    sJ ‚d S )NÚ123z12 + 3Ú15za + br   r   )r+   r.   Ú3z"123"z'123')r   Ú_eval_scalarÚdict)r   Úeval_scalars     r   Útest_eval_scalarzTestEval.test_eval_scalar÷   sŽ   € Ý"Ô/ˆàˆ{˜5 "Ñ%Ô%¨Ò.Ð.Ð.Ð.Øˆ{˜8 RÑ(Ô(¨DÒ0Ð0Ð0Ð0Øˆ{˜7¥D¨1° N¡N¤NÑ3Ô3°sÒ:Ð:Ð:Ð:Øˆ{˜7 BÑ'Ô'¨7Ò2Ð2Ð2Ð2Ð2Ð2r   N)r    r!   r"   r´   r%   r   r   r¬   r¬   ö   s#   € € € € € ð3ð 3ð 3ð 3ð 3r   r¬   c                   óZ   — e Zd Zej                             dg d¢¦  «        d„ ¦   «         ZdS )ÚTestFortranReaderÚencoding)Úasciizutf-8zutf-16zutf-32c                 ó  — |d|› d�z  }|                      d|¬¦  «        5 }|                     d¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¦  «        g¦  «        }|d         d         dk    sJ ‚d S )	NÚinput_with_z_encoding.f90r   )r·   zd
                     subroutine foo()
                     end subroutine foo
                     r   rE   Úfoo)ÚopenÚwriter   r1   )r   r8   r·   Úf_pathÚffr4   s         r   Útest_input_encodingz%TestFortranReader.test_input_encoding  sÖ   € ð ÐA¨(ÐAÐAÐAÑAˆØ�[Š[˜ xˆ[Ñ0Ô0ð 	°BØ�HŠHð ñ ô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ
 Ô'­¨V©¬¨Ñ6Ô6ˆØ�1Œv�fŒ~ Ò&Ð&Ð&Ð&Ð&Ð&s   ¡AÁAÁ
AN)r    r!   r"   r¢   r£   r¤   rÀ   r%   r   r   r¶   r¶      sQ   € € € € € Ø„[×Ò˜ZØCÐCÐCñEô Eð	'ð 	'ñEô Eð	'ð 	'ð 	'r   r¶   c                   ó´   — e Zd Z ej        dddd¦  «        gZej                             e	j         
                    d¦  «        du d¬¦  «        d	„ ¦   «         ZdS )
ÚTestUnicodeCommentr
   r   r   zunicode_comment.f90Úcharset_normalizerNz7test requires charset_normalizer which is not installed)Úreasonc                 ó:   — | j                              d¦  «         d S )Nr   )r   r»   rn   s    r   Útest_encoding_commentz(TestUnicodeComment.test_encoding_comment  s   € ð
 	Œ�Š˜ÑÔÐÐÐr   )r    r!   r"   r   r#   r$   r¢   r£   ÚskipifÚ	importlibÚ	find_specrÆ   r%   r   r   rÂ   rÂ     s~   € € € € € ØˆtŒ|˜G U¨NÐ<QÑRÔRÐS€Gà„[×ÒØ	Œ×	!Ò	!Ð"6Ñ	7Ô	7¸4Ð	?ØHð ñ ô ðð ñ	ô ðð ð r   rÂ   )rÈ   ÚcodecsÚunicodedatar¢   Únumpyr   Únumpy.f2py.crackfortranr   rw   r   Ú
numpy.f2pyr   r™   ÚF2PyTestr	   r'   rA   rP   rc   rh   ru   r¦   r¬   r¶   rÂ   r%   r   r   ú<module>rÐ      sj  ðØ Ð Ð Ð Ø €€€Ø Ð Ð Ð Ø €€€Ø Ð Ð Ð Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø Ð Ð Ð Ð Ð Ø #Ð #Ð #Ð #Ð #Ð #Ø €€€ð,ð ,ð ,ð ,ð ,�$”-ñ ,ô ,ð ,ð6ð 6ð 6ð 6ð 6ñ 6ô 6ð 6ðB?ð ?ð ?ð ?ð ?ñ ?ô ?ð ?ð:ð ð ð ð �4”=ñ ô ð ð&ð ð ð ð �t”}ñ ô ð ðIð Ið Ið Ið Iñ Iô Ið Ið(c/ð c/ð c/ð c/ð c/�$”-ñ c/ô c/ð c/ðL<ð <ð <ð <ð <ñ <ô <ð <ð3ð 3ð 3ð 3ð 3ˆtŒ}ñ 3ô 3ð 3ð'ð 'ð 'ð 'ð '˜œñ 'ô 'ð 'ðð ð ð ð ˜œñ ô ð ð ð r   