§
    f˜ºhJ  ã                   óx  — d Z ddlmZmZ ddlZddlmZ d„ Zd„ Zd,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!eee e!fD ]"Z"d% #                    e"j        ¬&¦  «        e"_         Œ#["d'e$d(ee$ef         d)efd*„Z%d'e$d)efd+„Z&dS )-z¦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¦  «        ‚n# t          t
          f$ r Y nw xY wdS )Né   Ú__name__)ÚabcÚ	functoolsÚtypingz4TypedDict does not support instance and class checksF)ÚsysÚ	_getframeÚ	f_globalsÚ	TypeErrorÚAttributeErrorÚ
ValueError)ÚclsÚothers     úW/var/www/html/services/rag-service/venv/lib/python3.11/site-packages/mypy_extensions.pyÚ_check_failsr      sf   € ðÝŒ=˜ÑÔÔ% jÔ1Ð9WÐWÐWåÐRÑSÔSÐSð Xøõ �JÐ'ð ð ð Øˆðøøøàˆ5s   ‚03 ³AÁAc                 ó   — t          |i |¤ŽS ©N)Údict)r   ÚargsÚkwargss      r   Ú	_dict_newr      s   € Ý�Ð ˜Ð Ð Ð ó    c                 ó6  — |                      dd¦  «        }|€|}n|rt          d¦  «        ‚t          |¦  «        |dœ}	 t          j        d¦  «        j                             dd¦  «        |d<   n# t          t          f$ r Y nw xY wt          |d	|d¬
¦  «        S )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×9Ò9¸*ÀjÑQÔQˆˆ<ÑÐøÝ�JÐ'ð ð ð Øˆðøøøõ ˜) R¨À4ÐHÑHÔHÐHs   Á 0A1 Á1BÂBc                   ó(   ‡ — e Zd Zdˆ fd„	ZexZZˆ xZS )r(   TFc                 ó  •‡
— dt          ¦   «         v r%dd l}|                     dt          |rdnd¬¦  «         |dk    rt          nt
          |d<   t          t          | ¦  «                             | |t          f|¦  «        }| 
                    di ¦  «        }d	Š
ˆ
fd
„|                     ¦   «         D ¦   «         }|D ]0}	|                     |	j         
                    di ¦  «        ¦  «         Œ1||_        t          |d¦  «        s||_        |S )NÚ	TypedDictr   zŽmypy_extensions.TypedDict is deprecated, and will be removed in a future version. Use typing.TypedDict or typing_extensions.TypedDict instead.é   é   ©Ú
stacklevelÚ__new__r    z?TypedDict('Name', {f0: t0, f1: t1, ...}); each t must be a typec                 ó8   •— i | ]\  }}|t          |‰¦  «        “ŒS r$   r   )Ú.0ÚnÚtpÚmsgs      €r   ú
<dictcomp>z*_TypedDictMeta.__new__.<locals>.<dictcomp>L   s)   ø€ ÐBÐBÐB©E¨A¨r�•;˜r 3Ñ'Ô'ÐBÐBÐBr   r!   )ÚglobalsÚwarningsÚwarnÚDeprecationWarningr,   r   Úsuperr(   r4   r   r'   ÚitemsÚupdateÚ__dict__r    Úhasattrr!   )r   ÚnameÚbasesr+   r   r%   r<   Útp_dictÚannsÚbaser9   Ú	__class__s             @€r   r4   z_TypedDictMeta.__new__1   s(  øø€ ð �'™)œ)Ð#Ð#ØˆOˆOˆOØ�MŠMðSõ #Ø!6Ð=˜A˜A¸Að ñ ô ð ð +/°+Ò*=Ð*=�˜Å9ˆˆ9‰Ý�¨Ñ,Ô,×4Ò4°S¸$ÅÀÈÑLÔLˆà�vŠvÐ'¨Ñ,Ô,ˆØOˆØBÐBÐBÐB°T·Z²Z±\´\ÐBÑBÔBˆØð 	Bð 	BˆDØ�KŠK˜œ×)Ò)Ð*;¸RÑ@Ô@ÑAÔAÐAÐAØ"&ˆÔÝ�w Ñ,Ô,ð 	&Ø %ˆGÔØˆr   )TF)r	   r#   Ú__qualname__r4   r   Ú__instancecheck__Ú__subclasscheck__Ú__classcell__)rI   s   @r   r(   r(   0   sD   ø€ € € € € ð!ð !ð !ð !ð !ð !ðF -9Ð8ÐÐ)Ð)Ð)Ð)Ð)r   r(   r/   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   ÚArgrQ   z   ó   € à€Kr   c                 ó   — | S )z*A positional argument with a default valuer$   rO   s     r   Ú
DefaultArgrT      rR   r   c                 ó   — | S )zA keyword-only argumentr$   rO   s     r   ÚNamedArgrV   „   rR   r   c                 ó   — | S )z,A keyword-only argument with a default valuer$   rO   s     r   ÚDefaultNamedArgrX   ‰   rR   r   c                 ó   — | S )z*A *args-style variadic positional argumentr$   ©rP   s    r   ÚVarArgr[   Ž   rR   r   c                 ó   — | S )z*A **kwargs-style variadic keyword argumentr$   rZ   s    r   ÚKwArgr]   “   rR   r   c                   ó   — e Zd ZdS )Ú_DEPRECATED_NoReturnN)r	   r#   rJ   r$   r   r   r_   r_   š   s   € € € € € € € r   r_   c                 ó   — | S r   r$   )r   s    r   Útraitra   �   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_attrrh   ¡   s
   € Øˆ;Ðr   c                   ó   — e Zd Zd„ Zd„ ZdS )Ú_FlexibleAliasClsAppliedc                 ó   — || _         d S r   ©Úval)Úselfrm   s     r   Ú__init__z!_FlexibleAliasClsApplied.__init__¨   s   € ØˆŒˆˆr   c                 ó   — | j         S r   rl   ©rn   r   s     r   Ú__getitem__z$_FlexibleAliasClsApplied.__getitem__«   s	   € ØŒxˆr   N)r	   r#   rJ   ro   rr   r$   r   r   rj   rj   §   s2   € € € € € ðð ð ðð ð ð ð r   rj   c                   ó   — e Zd Zd„ ZdS )Ú_FlexibleAliasClsc                 ó,   — t          |d         ¦  «        S )Néÿÿÿÿ)rj   rq   s     r   rr   z_FlexibleAliasCls.__getitem__°   s   € Ý'¨¨R¬Ñ1Ô1Ð1r   N)r	   r#   rJ   rr   r$   r   r   rt   rt   ¯   s#   € € € € € ð2ð 2ð 2ð 2ð 2r   rt   c                   ó   — e Zd Zd„ ZdS )Ú_NativeIntMetac                 ó,   — t          |t          ¦  «        S r   )Ú
isinstanceÚint)r   Úinsts     r   rK   z _NativeIntMeta.__instancecheck__¸   s   € Ý˜$¥Ñ$Ô$Ð$r   N)r	   r#   rJ   rK   r$   r   r   rx   rx   ·   s#   € € € € € ð%ð %ð %ð %ð %r   rx   c                   ó   — e Zd Zdefd„ZdS )Úi64r   c                 óR   — |t           urt          ||¦  «        S t          |¦  «        S r   ©Ú	_sentinelr{   ©r   rd   rH   s      r   r4   zi64.__new__À   ó&   € Ø•yÐ Ð Ý�q˜$‘<”<ÐÝ�1‰vŒvˆr   N©r	   r#   rJ   r�   r4   r$   r   r   r~   r~   ¿   ó-   € € € € € Ø˜yð ð ð ð ð ð r   r~   )Ú	metaclassc                   ó   — e Zd Zdefd„ZdS )Úi32r   c                 óR   — |t           urt          ||¦  «        S t          |¦  «        S r   r€   r‚   s      r   r4   zi32.__new__Ç   rƒ   r   Nr„   r$   r   r   rˆ   rˆ   Æ   r…   r   rˆ   c                   ó   — e Zd Zdefd„ZdS )Úi16r   c                 óR   — |t           urt          ||¦  «        S t          |¦  «        S r   r€   r‚   s      r   r4   zi16.__new__Î   rƒ   r   Nr„   r$   r   r   r‹   r‹   Í   r…   r   r‹   c                   ó   — e Zd Zdefd„ZdS )Úu8r   c                 óR   — |t           urt          ||¦  «        S t          |¦  «        S r   r€   r‚   s      r   r4   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                 óþ   — |                      d| › �¦  «        x}€dt          › d| › d�}t          |¦  «        ‚||| <   | dv rd| › d| › d| › d	�}nJ d| › d�¦   «         ‚dd l}|                     |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	' insteadFz-Add deprecation message for 'mypy_extensions.r   r0   r2   )r'   r	   r   r<   r=   r>   )rD   r‘   rm   r9   r<   s        r   Ú_warn_deprecationr—   è   sâ   € Ø×!Ò!Ð"7°Ð"7Ð"7Ñ8Ô8Ð8ˆÐAØ>�Ð>Ð>°tÐ>Ð>Ð>ˆÝ˜SÑ!Ô!Ð!Ø€N�4ÑØˆ|ÐÐðI ð Ið IàðIð Ià9=ðIð Ið Ið 	ˆð 	NÐMÀdÐMÐMÐMÑMÔMÐMØ€O€O€OØ‡M‚M�#Õ)°a€MÑ8Ô8Ð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,   rP   r(   r   r/   r	   r#   rQ   rT   rV   rX   r[   r]   r_   ra   rh   rj   rt   ÚFlexibleAliasrx   Úobjectr�   r~   rˆ   r‹   rŽ   Ú	_int_typeÚformatÚstrr—   r™   r$   r   r   ú<module>r       s�  ððð ð Ð Ð Ð Ð Ð Ð Ð à 
€
€
€
ð Ð Ð Ð Ð Ð ðð ð ð!ð !ð !ðIð Ið Ið Ið$$9ð $9ð $9ð $9ð $9�Tñ $9ô $9ð $9ðN ˆN˜;¨¨°Ñ4Ô4€	Ø€	Ô ðð 
Ô ðB �tð ð ð ð ð
 ˜dð ð ð ð ð
 ˜Dð ð ð ð ð
  4ð ð ð ð ð
 ð ð ð ð ð
 ð ð ð ð ð !Ð  Ð  Ð  Ð  Ñ  Ô  Ð  ðð ð ðð ð ðð ð ð ð ñ ô ð ð2ð 2ð 2ð 2ð 2ñ 2ô 2ð 2ð
 "Ð!Ñ#Ô#€ð%ð %ð %ð %ð %�Tñ %ô %ð %ð
 ˆF‰HŒH€	ðð ð ð ð �Nð ñ ô ð ðð ð ð ð �Nð ñ ô ð ðð ð ð ð �Nð ñ ô ð ðð ð ð ð �>ð ñ ô ð ð �c˜3 Ð"ð 	,ð 	,€Ið	÷ ŠF˜	Ô*ˆFÑ+Ô+ð ÔÐð ð˜Cð °°c¸3°h´ð ÀCð ð ð ð ð$=�cð =˜cð =ð =ð =ð =ð =ð =r   