Ë
    hKêja"  ã                   óœ  — d Z ddlmZmZ ddlZddlmZ d„ Zd„ Zd5d„Zd„ Z	 G d	„ d
e
«      Z edefi «      Zee_        de_         edfd„Zedfd„Zedfd„Zedfd„Zefd„Zefd„Z G d„ d«      Zd„ Zd„ Z G d„ d«      Z G d„ d«      Z e«       Z G d„ de
«      Z e«       Z G d„ de¬«      Z G d „ d!e¬«      Z  G d"„ d#e¬«      Z! G d$„ d%e¬«      Z" G d&„ d'e¬«      Z# G d(„ d)e¬«      Z$ G d*„ d+e¬«      Z% G d,„ d-e¬«      Z&ee e!e"e#e$e%e&fD ]#  Z'd.jQ                  e'j                  ¬/«      e'_         Œ% ['d0e)d1ee)ef   d2efd3„Z*d0e)d2efd4„Z+y)6z¦Defines experimental extensions to the standard "typing" module that are
supported by the mypy typechecker.

Example usage:
    from mypy_extensions import TypedDict
é    )ÚAnyÚDictN)Ú_type_checkc                 ó�   — 	 t        j                  d«      j                  d   dvrt        d«      ‚	 y# t        t
        f$ r Y yw xY w)Né   Ú__name__)ÚabcÚ	functoolsÚtypingz4TypedDict does not support instance and class checksF)ÚsysÚ	_getframeÚ	f_globalsÚ	TypeErrorÚAttributeErrorÚ
ValueError)ÚclsÚothers     úT/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/mypy_extensions.pyÚ_check_failsr      sW   € ðÜ�=‰=˜Ó×%Ñ% jÑ1Ð9WÑWäÐRÓSÐSð Xð
 øô œJÐ'ò ØØðús   ‚/3 ³AÁAc                 ó   — t        |i |¤ŽS ©N)Údict)r   ÚargsÚkwargss      r   Ú	_dict_newr      s   € Ü�Ð ˜Ñ Ð ó    c                 ó  — |j                  dd«      }|€|}n|rt        d«      ‚t        |«      |dœ}	 t        j                  d«      j
                  j                  dd«      |d<   t        |d	|d¬
«      S # t        t        f$ r Y Œ w xY w)NÚtotalTz@TypedDict takes either a dict or keyword arguments, but not both)Ú__annotations__Ú	__total__r   r   Ú__main__Ú
__module__© )Ú_from_functional_call)
Úpopr   r   r   r   r   Úgetr   r   Ú_TypedDictMeta)r   Ú	_typenameÚ_fieldsr   r   Únss         r   Ú_typeddict_newr+      s˜   € Ø�J‰J�w Ó%€EØ€Ø‰Ù	Üð (ó )ð 	)ô " '›]¸Ñ	?€BðäŸ=™=¨Ó+×5Ñ5×9Ñ9¸*ÀjÓQˆˆ<Ñô ˜) R¨À4ÔHÐHøô œJÐ'ò Ùðús   ´2A5 Á5BÂBc                 óŠ   — t         j                  dk\  rdd l}|j                  | «      S | j                  j                  di «      S )N)é   é   r   r   )r   Úversion_infoÚannotationlibÚget_annotationsÚ__dict__r&   )Útpr0   s     r   Ú_get_own_annotationsr4   0   s:   € Ü
×Ñ˜7Ò"ÛØ×,Ñ,¨RÓ0Ð0Ø�;‰;�?‰?Ð,¨bÓ1Ð1r   c                   ó(   ‡ — e Zd Zdˆ fd„	ZexZZˆ xZS )r'   c           	      óÈ  •— dt        «       v r dd l}|j                  dt        |rdnd¬«       |dk(  rt        nt
        |d<   t        t        | �#  | |t        f|«      }d|v r|d   }nt        |«      }d	}	|j                  «       D �
�ci c]  \  }
}|
t        ||	«      “Œ }}
}|D ]  }|j                  t        |«      «       Œ ||_        t        |d
«      s||_        |S c c}}
w )NÚ	TypedDictr   zŽmypy_extensions.TypedDict is deprecated, and will be removed in a future version. Use typing.TypedDict or typing_extensions.TypedDict instead.r-   é   ©Ú
stacklevelÚ__new__r   z?TypedDict('Name', {f0: t0, f1: t1, ...}); each t must be a typer    )ÚglobalsÚwarningsÚwarnÚDeprecationWarningr+   r   Úsuperr'   r;   r   r4   Úitemsr   Úupdater   Úhasattrr    )r   ÚnameÚbasesr*   r   r$   r=   Útp_dictÚannsÚmsgÚnr3   ÚbaseÚ	__class__s                €r   r;   z_TypedDictMeta.__new__8   sõ   ø€ ð œ'›)Ñ#ÛØ�M‰MðSô #Ù!6™A¸Að ô ð +/°+Ò*=�Ä9ˆˆ9‰Üœ¨Ñ4°S¸$ÄÀÈÓLˆà Ñ"ØÐ'Ñ(‰Dô (¨Ó0ˆDØOˆØ59·Z±Z³\×B©E¨A¨r�”;˜r 3Ó'Ñ'ÐBˆÑBØò 	4ˆDØ�K‰KÔ,¨TÓ2Õ3ð	4à"&ˆÔÜ�w Ô,Ø %ˆGÔØˆùó Cs   ÂC)TF)r   r"   Ú__qualname__r;   r   Ú__instancecheck__Ú__subclasscheck__Ú__classcell__)rK   s   @r   r'   r'   7   s   ø„ õ%ðN -9Ð8ÐÔ)r   r'   r7   a  A simple typed name space. At runtime it is equivalent to a plain dict.

    TypedDict creates a dictionary type that expects all of its
    instances to have a certain set of keys, with each key
    associated with a value of a consistent type. This expectation
    is not checked at runtime but is only enforced by typecheckers.
    Usage::

        Point2D = TypedDict('Point2D', {'x': int, 'y': int, 'label': str})
        a: Point2D = {'x': 1, 'y': 2, 'label': 'good'}  # OK
        b: Point2D = {'z': 3, 'label': 'bad'}           # Fails type check
        assert Point2D(x=1, y=2, label='first') == dict(x=1, y=2, label='first')

    The type info could be accessed via Point2D.__annotations__. TypedDict
    supports two additional equivalent forms::

        Point2D = TypedDict('Point2D', x=int, y=int, label=str)

        class Point2D(TypedDict):
            x: int
            y: int
            label: str

    The latter syntax is only supported in Python 3.6+, while two other
    syntax forms work for 3.2+
    c                 ó   — | S )zA normal positional argumentr#   ©ÚtyperD   s     r   ÚArgrS   …   ó   € à€Kr   c                 ó   — | S )z*A positional argument with a default valuer#   rQ   s     r   Ú
DefaultArgrV   Š   rT   r   c                 ó   — | S )zA keyword-only argumentr#   rQ   s     r   ÚNamedArgrX   �   rT   r   c                 ó   — | S )z,A keyword-only argument with a default valuer#   rQ   s     r   ÚDefaultNamedArgrZ   ”   rT   r   c                 ó   — | S )z*A *args-style variadic positional argumentr#   ©rR   s    r   ÚVarArgr]   ™   rT   r   c                 ó   — | S )z*A **kwargs-style variadic keyword argumentr#   r\   s    r   ÚKwArgr_   ž   rT   r   c                   ó   — e Zd Zy)Ú_DEPRECATED_NoReturnN)r   r"   rL   r#   r   r   ra   ra   ¥   s   … r   ra   c                 ó   — | S r   r#   )r   s    r   Útraitrc   ¨   s   € Ø€Jr   c                  ó   — d„ S )Nc                 ó   — | S r   r#   )Úxs    r   ú<lambda>zmypyc_attr.<locals>.<lambda>­   s   € �Q€ r   r#   )ÚattrsÚkwattrss     r   Ú
mypyc_attrrj   ¬   s   € ÙÐr   c                   ó   — e Zd Zd„ Zd„ Zy)Ú_FlexibleAliasClsAppliedc                 ó   — || _         y r   ©Úval)Úselfro   s     r   Ú__init__z!_FlexibleAliasClsApplied.__init__³   s	   € Øˆ�r   c                 ó   — | j                   S r   rn   ©rp   r   s     r   Ú__getitem__z$_FlexibleAliasClsApplied.__getitem__¶   s   € Ø�x‰xˆr   N)r   r"   rL   rq   rt   r#   r   r   rl   rl   ²   s   „ òór   rl   c                   ó   — e Zd Zd„ Zy)Ú_FlexibleAliasClsc                 ó   — t        |d   «      S )Néÿÿÿÿ)rl   rs   s     r   rt   z_FlexibleAliasCls.__getitem__»   s   € Ü'¨¨R©Ó1Ð1r   N)r   r"   rL   rt   r#   r   r   rv   rv   º   s   „ ó2r   rv   c                   ó   — e Zd Zd„ Zy)Ú_NativeIntMetac                 ó"   — t        |t        «      S r   )Ú
isinstanceÚint)r   Úinsts     r   rM   z _NativeIntMeta.__instancecheck__Ã   s   € Ü˜$¤Ó$Ð$r   N)r   r"   rL   rM   r#   r   r   rz   rz   Â   s   „ ó%r   rz   c                   ó   — e Zd Zdefd„Zy)Úi64r   c                 ó@   — |t         urt        ||«      S t        |«      S r   ©Ú	_sentinelr}   ©r   rf   rJ   s      r   r;   zi64.__new__Ë   ó   € Ø”yÑ Ü�q˜$“<ÐÜ�1‹vˆr   N©r   r"   rL   rƒ   r;   r#   r   r   r€   r€   Ê   ó   „ Ø˜yô r   r€   )Ú	metaclassc                   ó   — e Zd Zdefd„Zy)Úi32r   c                 ó@   — |t         urt        ||«      S t        |«      S r   r‚   r„   s      r   r;   zi32.__new__Ò   r…   r   Nr†   r#   r   r   rŠ   rŠ   Ñ   r‡   r   rŠ   c                   ó   — e Zd Zdefd„Zy)Úi16r   c                 ó@   — |t         urt        ||«      S t        |«      S r   r‚   r„   s      r   r;   zi16.__new__Ù   r…   r   Nr†   r#   r   r   r�   r�   Ø   r‡   r   r�   c                   ó   — e Zd Zdefd„Zy)Úi8r   c                 ó@   — |t         urt        ||«      S t        |«      S r   r‚   r„   s      r   r;   z
i8.__new__à   r…   r   Nr†   r#   r   r   r�   r�   ß   r‡   r   r�   c                   ó   — e Zd Zdefd„Zy)Úu64r   c                 ó@   — |t         urt        ||«      S t        |«      S r   r‚   r„   s      r   r;   zu64.__new__ç   r…   r   Nr†   r#   r   r   r“   r“   æ   r‡   r   r“   c                   ó   — e Zd Zdefd„Zy)Úu32r   c                 ó@   — |t         urt        ||«      S t        |«      S r   r‚   r„   s      r   r;   zu32.__new__î   r…   r   Nr†   r#   r   r   r–   r–   í   r‡   r   r–   c                   ó   — e Zd Zdefd„Zy)Úu16r   c                 ó@   — |t         urt        ||«      S t        |«      S r   r‚   r„   s      r   r;   zu16.__new__õ   r…   r   Nr†   r#   r   r   r™   r™   ô   r‡   r   r™   c                   ó   — e Zd Zdefd„Zy)Úu8r   c                 ó@   — |t         urt        ||«      S t        |«      S r   r‚   r„   s      r   r;   z
u8.__new__ü   r…   r   Nr†   r#   r   r   rœ   rœ   û   r‡   r   rœ   a/  A native fixed-width integer type when used with mypyc.

        In code not compiled with mypyc, behaves like the 'int' type in these
        runtime contexts:

        * {name}(x[, base=n]) converts a number or string to 'int'
        * isinstance(x, {name}) is the same as isinstance(x, int)
        ©rD   rD   Úmodule_globalsÚreturnc                 óÜ   — |j                  d| › �«      x}€dt        › d| › d�}t        |«      ‚||| <   | dv rd| › d| › d| › d	�}nJ d
| › d�«       ‚dd l}|j	                  |t
        d¬«       |S )NÚ_DEPRECATED_zmodule 'z' has no attribute 'ú'>   ÚNoReturnz'mypy_extensions.zF' is deprecated, and will be removed in a future version. Use 'typing.z' or 'typing_extensions.z	' insteadz-Add deprecation message for 'mypy_extensions.r   r-   r9   )r&   r   r   r=   r>   r?   )rD   rŸ   ro   rH   r=   s        r   Ú_warn_deprecationr¥     s¨   € Ø×!Ñ! L°°Ð"7Ó8Ð8ˆÐAØœ˜
Ð"6°t°f¸AÐ>ˆÜ˜SÓ!Ð!Ø€N�4ÑØˆ|Ñà ˜vð &à˜&Ð 8¸¸¸iðIñ 	ð 	NÐEÀdÀVÈ1ÐMÓMˆuÛØ‡M�M�#Ô)°a€MÔ8Ø€Jr   c                 ó,   — t        | t        «       ¬«      S )N)rŸ   )r¥   r<   rž   s    r   Ú__getattr__r§   !  s   € Ü˜T´'³)Ô<Ð<r   r   ),Ú__doc__r   r   r   r   r   r   r   r+   r4   rR   r'   r   r7   r   r"   rS   rV   rX   rZ   r]   r_   ra   rc   rj   rl   rv   ÚFlexibleAliasrz   Úobjectrƒ   r€   rŠ   r�   r�   r“   r–   r™   rœ   Ú	_int_typeÚformatÚstrr¥   r§   r#   r   r   ú<module>r®      sÇ  ðñ÷ ã 
õ òò!óIò$2ô(9�Tô (9ñV ˜;¨¨°Ó4€	Ø€	Ô ðð 
Ô ðB �tó ð
 ˜dó ð
 ˜Dó ð
  4ó ð
 ó ð
 ó ÷ !Ñ  òò÷ñ ÷2ñ 2ñ
 "Ó#€ô%�Tô %ñ
 ‹H€	ô�Nõ ô�Nõ ô�Nõ ô�>õ ô�Nõ ô�Nõ ô�Nõ ô�>õ ð �c˜3  C¨¨c°2Ð5ò 	,€Ið	÷ ‰F˜	×*Ñ*ˆFÓ+ð Õð	,ð ð˜Cð °°c¸3°h±ð ÀCó ð$=�cð =˜cô =r   