Ë
    ¡ehË  ã                  ó  — U d Z ddlmZ ddlmZmZmZmZmZm	Z	 ddl
Z
ddlZddlmZ ddlmZ  G d„ de«      Z eej&                  ej&                  j(                  ej*                  «      Z eej.                  ej.                  j(                  e«       eej0                  ej0                  j(                  e«       eej2                  dd«      edœZe
j6                  j9                  d	ej;                  «       ej=                  «       ¬
«      dd„«       Ze
j6                  j9                  d	ej;                  «       ej=                  «       ¬
«      dd„«       Z e
j6                  j9                  d	ej;                  «       ej=                  «       ¬
«      dd„«       Z!e
j6                  j9                  d	ej;                  «       ej=                  «       ¬
«      dd„«       Z"dd„Z#ejH                   ejJ                  d«      fejL                   ejN                  d«      fejP                   ejN                  d«      fejR                  dgfdœZ*de+d<   e
j6                  j9                  de*jY                  «       e*j=                  «       ¬
«       G d„ d«      «       Z-y)z)Test the runtime usage of `numpy.typing`.é    )Úannotations)Úget_type_hintsÚUnionÚ
NamedTupleÚget_argsÚ
get_originÚAnyNc                  ó,   — e Zd ZU ded<   ded<   ded<   y)ÚTypeTupÚtypeÚtypztuple[type, ...]ÚargszNone | typeÚoriginN)Ú__name__Ú
__module__Ú__qualname__Ú__annotations__© ó    ú]/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/numpy/typing/tests/test_runtime.pyr   r      s   … Ø	ƒIØ
ÓØÔr   r   r   )Ú	ArrayLikeÚ	DTypeLikeÚNBitBaseÚNDArrayzname,tup)Úidsc                óX   — |j                   |j                  }}t        |«      }||k(  sJ ‚y)zTest `typing.get_args`.N)r   r   r   ©ÚnameÚtupr   ÚrefÚouts        r   Útest_get_argsr"   $   s*   € ð �w‰w˜Ÿ™ˆ€CÜ
�3‹-€CØ�#Š:Ð‰:r   c                óX   — |j                   |j                  }}t        |«      }||k(  sJ ‚y)zTest `typing.get_origin`.N)r   r   r   r   s        r   Útest_get_originr$   ,   s*   € ð �w‰w˜Ÿ
™
ˆ€CÜ
�S‹/€CØ�#Š:Ð‰:r   c                óv   — |j                   }d„ }|ddœ|_        t        |«      }|t        d«      dœ}||k(  sJ ‚y)zTest `typing.get_type_hints`.c                 ó   — y ©Nr   ©Úas    r   Úfuncz!test_get_type_hints.<locals>.func;   ó   � r   N©r)   Úreturn©r   r   r   r   )r   r   r   r*   r!   r    s         r   Útest_get_type_hintsr/   4   sC   € ð �'‰'€Cò Ø!$°Ñ5€DÔä
˜Ó
€CØœt D›zÑ
*€CØ�#Š:Ð‰:r   c                ó€   — d| › �|j                   }}d„ }|ddœ|_        t        |«      }|t        d«      dœ}||k(  sJ ‚y)zATest `typing.get_type_hints` with string-representation of types.znpt.c                 ó   — y r'   r   r(   s    r   r*   z%test_get_type_hints_str.<locals>.funcJ   r+   r   Nr,   r.   )r   r   Útyp_strr   r*   r!   r    s          r   Útest_get_type_hints_strr3   C   sM   € ð ˜$˜�= #§'¡'ˆS€Gò Ø!(°DÑ9€DÔä
˜Ó
€CØœt D›zÑ
*€CØ�#Š:Ð‰:r   c                 ól   — t         j                  «       } t        t        j                  «      }| |k(  sJ ‚y)zCTest that ``TYPES.keys()`` and ``numpy.typing.__all__`` are synced.N)ÚTYPESÚkeysÚsetÚnptÚ__all__)r6   r    s     r   Ú	test_keysr:   R   s'   € ä�:‰:‹<€DÜ
Œc�k‰kÓ
€CØ�3Š;Ð‰;r   é   é
   )Ú_SupportsDTypeÚ_SupportsArrayÚ_SupportsArrayFuncÚ_NestedSequencez#dict[str, tuple[type[Any], object]]Ú	PROTOCOLSzcls,objc                  ó   — e Zd Zdd„Zdd„Zy)ÚTestRuntimeProtocolc                ó<   — t        ||«      sJ ‚t        d |«      rJ ‚y r'   )Ú
isinstance©ÚselfÚclsÚobjs      r   Útest_isinstancez#TestRuntimeProtocol.test_isinstancec   s%   € Ü˜#˜sÔ#Ð#Ð#Ü˜d CÔ(Ð(Ð(Ð(r   c                ó®   — |t         j                  u rt        j                  d«       t	        t        |«      |«      sJ ‚t	        t        d «      |«      rJ ‚y )Nz<Protocols with non-method members don't support issubclass())Ú_nptr=   ÚpytestÚxfailÚ
issubclassr   rF   s      r   Útest_issubclassz#TestRuntimeProtocol.test_issubclassg   sL   € Ø”$×%Ñ%Ñ%Ü�L‰LØNôô œ$˜s›) SÔ)Ð)Ð)Üœd 4›j¨#Ô.Ð.Ð.Ð.r   N)rH   z	type[Any]rI   Úobjectr-   ÚNone)r   r   r   rJ   rP   r   r   r   rC   rC   a   s   „ ó)ô/r   rC   )r   r   r   r   r-   rR   )r-   rR   ).Ú__doc__Ú
__future__r   Útypingr   r   r   r   r   r	   rM   ÚnumpyÚnpÚnumpy.typingr8   Únumpy._typingÚ_typingrL   r   r   Ú__args__ÚndarrayÚ
NDArrayTupr   r   r   r5   ÚmarkÚparametrizeÚitemsr6   r"   r$   r/   r3   r:   r=   Úint64r>   Úaranger?   r@   rA   r   ÚvaluesrC   r   r   r   ú<module>rd      s+  ðÚ /å "÷÷ ó Û Ý Ý ôˆjô ñ �S—[‘[ #§+¡+×"6Ñ"6¸¿
¹
ÓC€
ñ ˜Ÿ™¨¯©×(>Ñ(>ÀÓFÙ˜Ÿ™¨¯©×(>Ñ(>ÀÓFÙ˜Ÿ™ b¨$Ó/Øñ		€ð ‡�×Ñ˜ U§[¡[£]¸¿
¹
»ÐÓEòó Fðð ‡�×Ñ˜ U§[¡[£]¸¿
¹
»ÐÓEòó Fðð ‡�×Ñ˜ U§[¡[£]¸¿
¹
»ÐÓEòó Fðð ‡�×Ñ˜ U§[¡[£]¸¿
¹
»ÐÓEòó Fðóð ×*Ñ*¨H¨B¯H©H°Q«KÐ8Ø×*Ñ*¨I¨B¯I©I°b«MÐ:Ø×2Ñ2°I°B·I±I¸b³MÐBØ×,Ñ,¨q¨cÐ2ñ	2€	Ð.ó ð ‡�×Ñ˜ I×$4Ñ$4Ó$6¸I¿N¹NÓ<LÐÓM÷/ð /ó Nñ/r   