§
    ÇÁ³gt   ã                  óÚ  — U d dl m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Zd dlmZ dej        v ZeredvrdZej                             e d	¬
¦  «        Z	 d dlmZ dZn# e$ r dZY nw xY we
rd dlmZ d dlmZ ej                             ej                             e¦  «        d¦  «        Zej                             ed¦  «        Z ej                             ed¦  «        Z!ej                             ed¦  «        Z"ej                             ed¦  «        Z#ej                             ed¦  «        Z$ej                             ed¦  «        Z% ee&¦  «        Z'de(d<   dGd„Z)dHd„Z*dId!„Z+ ej,        d"d¬#¦  «        dJd%„¦   «         Z-dKd(„Z.ej        j/        ej                             ed)¬
¦  «        ej         0                    d* e.e ¦  «        ¦  «        dJd+„¦   «         ¦   «         ¦   «         Z1ej        j/        ej                             ed)¬
¦  «        ej         0                    d* e.e!¦  «        ¦  «        dLd,„¦   «         ¦   «         ¦   «         Z2d-Z3d.Z4dMd5„Z5d6Z6ej        j/        ej                             ed)¬
¦  «        ej         0                    d* e.e"¦  «        ¦  «        dLd7„¦   «         ¦   «         ¦   «         Z7ej        j/        ej                             ed)¬
¦  «        ej         0                    d* e.e ¦  «        ¦  «        dLd8„¦   «         ¦   «         ¦   «         Z8d9d:d;d<d=d>d?d@dAdBdCdDdEœZ9ej        j/        ej                             ed)¬
¦  «        dJdF„¦   «         ¦   «         Z:dS )Né    )ÚannotationsN)Údefaultdict)ÚTYPE_CHECKING)Ú_EXTENDED_PRECISION_LISTÚNPY_RUN_MYPY_IN_TESTSUITE)Ú0Ú ÚfalseTz#`NPY_RUN_MYPY_IN_TESTSUITE` not set)Úreason)ÚapiF)ÚIterator)ÚParameterSetÚdataÚpassÚfailÚrevealÚmisczmypy.iniz.mypy_cachezdefaultdict[str, list[str]]ÚOUTPUT_MYPYÚkeyÚstrÚreturnc                óº   — t           j                             | ¦  «        \  }}t           j                             ||                     dd¦  «        d         ¦  «        S )zySplit at the first occurrence of the ``:`` character.

    Windows drive-letters (*e.g.* ``C:``) are ignored herein.
    ú:é   r   )ÚosÚpathÚ
splitdriveÚjoinÚsplit)r   ÚdriveÚtails      ú\/var/www/html/mpstechhub/venv/lib/python3.11/site-packages/numpy/typing/tests/test_typing.pyÚ	_key_funcr#   6   sF   € õ
 ”'×$Ò$ SÑ)Ô)�K€Eˆ4ÝŒ7�<Š<˜˜tŸzšz¨#¨qÑ1Ô1°!Ô4Ñ5Ô5Ð5ó    Úmsgútuple[int, str]c                óÀ   — t           j                             | ¦  «        \  }}|                     dd¦  «        \  }}} t	          |¦  «        |                      ¦   «         fS )z7Strip the filename and line number from a mypy message.r   é   )r   r   r   r   ÚintÚstrip)r%   Ú_r!   Úlinenos       r"   Ú_strip_filenamer-   ?   sM   € åŒg× Ò  Ñ%Ô%�G€A€tØ—Z’Z  QÑ'Ô'�N€A€vˆsÝˆv‰;Œ;˜Ÿ	š	™œÐ#Ð#r$   Úmatchúre.Match[str]c                ó6   — |                       ¦   «         d         S )z4`re.sub` helper function for stripping module names.r   )Úgroups)r.   s    r"   Ú
strip_funcr2   F   s   € à�<Š<‰>Œ>˜!ÔÐr$   Úmodule)ÚscopeÚautouseÚNonec                 óà  — t           j                             t          ¦  «        rFt	          t           j                             dd¦  «        ¦  «        rt          j        t          ¦  «         t          j
        d¦  «        } t          t          t          t          fD ]Ô}t          j        dt"          dt          |g¦  «        \  }}}|rt%          j        d|› �¦  «         n|dvrt%          j        d|› d	|› �¦  «         d
}d}|                     d¦  «        D ]Y}d|v rŒ|€t+          |¦  «        }||› d�z  }|                      |¦  «        �$t.          |                              |¦  «         d
}d}ŒZŒÕdS )zøClears the cache and run mypy before running any of the typing tests.

    The mypy results are cached in `OUTPUT_MYPY` for further use.

    The cache refresh can be skipped using

    NUMPY_TYPING_TEST_CLEAR_CACHE=0 pytest numpy/typing/tests
    ÚNUMPY_TYPING_TEST_CLEAR_CACHETz(\s+)?\^(\~+)?z--config-filez--cache-dirz Unexpected mypy standard error

>   r   r   zUnexpected mypy exit code: ú

r	   Nú
znote:)r   r   ÚisdirÚ	CACHE_DIRÚboolÚenvironÚgetÚshutilÚrmtreeÚreÚcompileÚPASS_DIRÚ
REVEAL_DIRÚFAIL_DIRÚMISC_DIRr   ÚrunÚMYPY_INIÚpytestr   r   r#   r.   r   Úappend)Úsplit_patternÚ	directoryÚstdoutÚstderrÚ	exit_codeÚ
str_concatÚfilenameÚis           r"   Úrun_mypyrT   K   s�  € õ 	Œ�Š•iÑ Ô ð!å•”—’Ð ?ÀÑFÔFÑGÔGð!õ 	Œ•iÑ Ô Ð å”JÐ0Ñ1Ô1€MÝ¥
­HµhÐ?ð  ð  ˆ	å$'¤GØÝØÝØð-
ñ %ô %Ñ!ˆ�˜	ð ð 	OÝŒKÐE¸VÐEÐEÑFÔFÐFÐFØ˜fÐ$Ð$ÝŒKÐM°iÐMÐMÀVÐMÐMÑNÔNÐNàˆ
Ø#ˆØ—’˜dÑ#Ô#ð 
	 ð 
	 ˆAØ˜!ˆ|ˆ|ØØÐÝ$ Q™<œ<�à˜Q˜(˜(˜(Ñ"ˆJØ×"Ò" 1Ñ%Ô%Ð1Ý˜HÔ%×,Ò,¨ZÑ8Ô8Ð8Ø�
Ø�øð
	 ð! ð  r$   rM   úIterator[ParameterSet]c              #  ó  K  — t          j        | ¦  «        D ]i\  }}}|D ]`}t           j                             |¦  «        \  }}|dv r8t           j                             ||¦  «        }t          j        ||¬¦  «        V — ŒaŒjd S )N)z.pyiz.py)Úid)r   Úwalkr   Úsplitextr   rJ   Úparam)rM   Úrootr+   ÚfilesÚfnameÚshort_fnameÚextÚfullpaths           r"   Úget_test_casesra   y   s™   è è € Ýœ' )Ñ,Ô,ð =ð =‰ˆˆa�Øð 	=ð 	=ˆEÝ!œw×/Ò/°Ñ6Ô6ÑˆK˜Ø�oÐ%Ð%Ýœ7Ÿ<š<¨¨eÑ4Ô4�Ý”l 8°Ð<Ñ<Ô<Ð<Ð<Ð<øð		=ð=ð =r$   zMypy is not installedr   c                óŽ   — t           }| |v r9d}|d                     d„ ||          D ¦   «         ¦  «        z  }t          |¦  «        ‚d S )NzUnexpected mypy output

r:   c              3  ó@   K  — | ]}t          |¦  «        d          V — ŒdS )r   N)r-   )Ú.0Úvs     r"   ú	<genexpr>ztest_success.<locals>.<genexpr>Š   s/   è è € ÐJÐJ°1�¨Ñ+Ô+¨AÔ.ÐJÐJÐJÐJÐJÐJr$   )r   r   ÚAssertionError)r   Úoutput_mypyr%   s      r"   Útest_successri   ‚   sY   € õ
 €KØˆ{ÐÐØ*ˆØˆt�yŠyÐJÐJ¸ÀDÔ8IÐJÑJÔJÑJÔJÑJˆÝ˜SÑ!Ô!Ð!ð Ðr$   c                óž  — d}t          | ¦  «        5 }|                     ¦   «         }d d d ¦  «         n# 1 swxY w Y   t          d„ ¦  «        }t          }| |v sJ ‚||          D ]'}t	          |¦  «        \  }}||xx         |› d�z  cc<   Œ(t          |¦  «        D ]²\  }}	|dz   }|	                     d¦  «        sd|	vr||vrŒ(||dz
           }
d|
v r[|
                     d¦  «        \  }}}||                              ¦   «         }|                     ¦   «         }t          | ||||¦  «         Œ’t          j        d	|› d
||         › �¦  «         Œ³d S )NTc                 ó   — dS )Nr	   © rl   r$   r"   ú<lambda>ztest_fail.<locals>.<lambda>—   s   €  € r$   r:   r   ú#z E:z# E:z  # E: zUnexpected mypy output at line r9   )ÚopenÚ	readlinesr   r   r-   Ú	enumerateÚ
startswithÚ	partitionr*   Ú
_test_failrJ   r   )r   Ú__tracebackhide__ÚfinÚlinesÚerrorsrh   Ú
error_liner,   rS   ÚlineÚtarget_lineÚ
expressionr+   ÚmarkerÚerrorÚexpected_errors                   r"   Ú	test_failr€   Ž   sÛ  € ð Ðå	ˆd‰Œð  �sØ—’‘”ˆð ð  ð  ñ  ô  ð  ð  ð  ð  ð  ð  øøøð  ð  ð  ð  õ ˜˜Ñ$Ô$€Få€KØ�;ÐÐÐÐà! $Ô'ð ,ð ,ˆ
Ý,¨ZÑ8Ô8Ñˆ�
ØˆvˆˆŒ˜ZÐ+Ð+Ð+Ñ+ˆˆ‰ˆå˜UÑ#Ô#ð ð ‰ˆˆ4Ø�Q‘ˆà�OŠO˜CÑ Ô ð	à˜TÐ!Ð! f°FÐ&:Ð&:àà˜F Q™JÔ'ˆØ�[Ð Ð Ø$/×$9Ò$9¸)Ñ$DÔ$DÑ!ˆJ˜˜6Ø˜6”N×(Ò(Ñ*Ô*ˆEØ#Ÿ\š\™^œ^ˆNÝ�t˜Z¨°ÀÑGÔGÐGÐGåŒKØN°&ÐNÐN¸fÀV¼nÐNÐNñô ð ð ðð s   ’3³7º7z9Extra error at line {}

Expression: {}
Extra error: {!r}
zRError mismatch at line {}

Expression: {}
Expected error: {}
Observed error: {!r}
r|   r~   r   ú
None | strr,   r)   c                ó¸   — |€)t          t                               |||¦  «        ¦  «        ‚||vr*t          t                               ||||¦  «        ¦  «        ‚d S )N)rg   Ú
_FAIL_MSG1ÚformatÚ
_FAIL_MSG2)r   r|   r~   r   r,   s        r"   rt   rt   Â   sj   € ð ÐÝ�Z×.Ò.¨v°zÀ5ÑIÔIÑJÔJÐJØ	˜uÐ	$Ð	$Ý�Z×.Ò.Ø�J °ñ
ô 
ñ ô ð 	ð 
%Ð	$r$   zReveal mismatch at line {}

{}
c                ó¬   — d}t           }| |vrdS ||          D ];}t          |¦  «        \  }}t          t                               ||¦  «        ¦  «        ‚dS )z[Validate that mypy correctly infers the return-types of
    the expressions in `path`.
    TN)r   r-   rg   Ú_REVEAL_MSGr„   )r   ru   rh   ry   r,   s        r"   Útest_revealrˆ   ×   sq   € ð Ðå€KØ�;ÐÐØˆà! $Ô'ð Eð Eˆ
Ý,¨ZÑ8Ô8Ñˆ�
Ý�[×/Ò/°¸
ÑCÔCÑDÔDÐDðEð Er$   c                ót  — t           j                             | ¦  «        \  }}|                      t           j        ¦  «        dd…         \  }}t
          j                             |› d|› �| ¦  «        }|€J ‚|j        €J ‚t
          j         	                    |¦  «        }|j         
                    |¦  «         dS )z9Validate that the code in `path` properly during runtime.éþÿÿÿNú.)r   r   rY   r   ÚsepÚ	importlibÚutilÚspec_from_file_locationÚloaderÚmodule_from_specÚexec_module)r   Úpath_without_extensionr+   ÚdirnamerR   ÚspecÚtest_modules          r"   Útest_code_runsr—   é   s·   € õ
 !#¤× 0Ò 0°Ñ 6Ô 6ÑÐ˜AØŸ
š
¥2¤6Ñ*Ô*¨2¨3¨3Ô/Ñ€GˆXåŒ>×1Ò1ØÐÐ�XÐÐ ñô €Dð ÐÐÐØŒ;Ð"Ð"Ð"å”.×1Ò1°$Ñ7Ô7€KØ„K×Ò˜KÑ(Ô(Ð(Ð(Ð(r$   Úuint128Úuint256Úint128Úint256Úfloat80Úfloat96Úfloat128Úfloat256Ú
complex160Ú
complex192Ú
complex256Ú
complex512)é   é   é   é   é   é   é   é   é   é   é   é   c                 óü  — t           j                             t          d¦  «        } t          }| |v sJ ‚t          | ¦  «        5 }|                     ¦   «         }d d d ¦  «         n# 1 swxY w Y   ||          D ]…}t          |¦  «        \  }}||dz
                                d¦  «        }t          |         t          v r(t          t                               ||¦  «        ¦  «        ‚d|vrt          | ||d|¦  «         Œ†d S )Nzextended_precision.pyir   r:   r~   zExpression is of type "Any")r   r   r   rG   r   ro   rp   r-   ÚrstripÚLINENO_MAPPINGr   rg   r‡   r„   rt   )r   rh   ÚfÚexpression_listÚ_msgr,   r%   r|   s           r"   Útest_extended_precisionr¶     sA  € õ Œ7�<Š<�Ð":Ñ;Ô;€DÝ€KØ�;ÐÐÐÐå	ˆd‰Œð (�qØŸ+š+™-œ-ˆð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (ð ˜DÔ!ð 	ð 	ˆÝ% dÑ+Ô+‰ˆ�Ø$ V¨a¡ZÔ0×7Ò7¸Ñ=Ô=ˆ
å˜&Ô!Õ%=Ð=Ð=Ý ¥×!3Ò!3°F¸CÑ!@Ô!@ÑAÔAÐAØ˜CÐÐÝØ�j #Ð'DÀfñô ð øð	ð 	s   ÁA#Á#A'Á*A')r   r   r   r   )r%   r   r   r&   )r.   r/   r   r   )r   r6   )rM   r   r   rU   )r   r   r   r6   )r   r   r|   r   r~   r   r   r�   r,   r)   r   r6   );Ú
__future__r   Úimportlib.utilr�   r   rB   r@   Úcollectionsr   Útypingr   rJ   Únumpy.typing.mypy_pluginr   r>   ÚRUN_MYPYÚmarkÚskipifÚ
pytestmarkÚmypyr   ÚNO_MYPYÚImportErrorÚcollections.abcr   Ú_pytest.mark.structuresr   r   r   r”   Ú__file__ÚDATA_DIRrD   rF   rE   rG   rI   r<   Úlistr   Ú__annotations__r#   r-   r2   ÚfixturerT   ra   ÚslowÚparametrizeri   r€   rƒ   r…   rt   r‡   rˆ   r—   r²   r¶   rl   r$   r"   ú<module>rÌ      sì  ðØ "Ð "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ø 	€	€	€	Ø 	€	€	€	Ø €€€Ø #Ð #Ð #Ð #Ð #Ð #Ø  Ð  Ð  Ð  Ð  Ð  à €€€Ø =Ð =Ð =Ð =Ð =Ð =ð '¨"¬*Ð4€Øð �Ð 2Ð2Ð2Ø€Hð Œ[×ÒØ€LØ0ð  ñ ô €
ðØÐÐÐÐÐð €G€Gøð ð ð ð Ø€G€G€Gðøøøð
 ð 5Ø(Ð(Ð(Ð(Ð(Ð(ð 5Ð4Ð4Ð4Ð4Ð4àŒ7�<Š<˜œŸš¨Ñ1Ô1°6Ñ:Ô:€ØŒ7�<Š<˜ &Ñ)Ô)€ØŒ7�<Š<˜ &Ñ)Ô)€ØŒW�\Š\˜( HÑ-Ô-€
ØŒ7�<Š<˜ &Ñ)Ô)€ØŒ7�<Š<˜ *Ñ-Ô-€ØŒG�LŠL˜ =Ñ1Ô1€	ð ,7¨;°tÑ+<Ô+<€Ð <Ð <Ð <Ñ <ð6ð 6ð 6ð 6ð$ð $ð $ð $ðð ð ð ð
 €„�h¨Ð-Ñ-Ô-ð* ð * ð * ñ .Ô-ð* ðZ=ð =ð =ð =ð „ÔØ„×Ò�GÐ$;ÐÑ<Ô<Ø„×Ò˜  °Ñ!9Ô!9Ñ:Ô:ð"ð "ð "ñ ;Ô:ñ =Ô<ñ Ôð"ð „ÔØ„×Ò�GÐ$;ÐÑ<Ô<Ø„×Ò˜  °Ñ!9Ô!9Ñ:Ô:ð ð  ð  ñ ;Ô:ñ =Ô<ñ Ôð ðF€
ð€
ðð ð ð ð€ð „ÔØ„×Ò�GÐ$;ÐÑ<Ô<Ø„×Ò˜  °
Ñ!;Ô!;Ñ<Ô<ðEð Eð Eñ =Ô<ñ =Ô<ñ ÔðEð „ÔØ„×Ò�GÐ$;ÐÑ<Ô<Ø„×Ò˜  °Ñ!9Ô!9Ñ:Ô:ð)ð )ð )ñ ;Ô:ñ =Ô<ñ Ôð)ð  	ØØØØØØØØØØØðð €ð  „ÔØ„×Ò�GÐ$;ÐÑ<Ô<ðð ð ñ =Ô<ñ Ôðð ð s   ÁA& Á&A0Á/A0