
    -hhn                    z   S SK JrJr  S SKrS SKJr  S SKrS SKrS SKrS SKrS SK	r	S SK
r
S SK
JrJrJrJr  S SKJrJrJrJrJrJrJrJrJr  / SQrSSS.S	 jjrSSS.S jjrS rS rS rS
S.S\4S jjr S r!S r"SS.S jr#S r$S r%S r&S r'/ r(0 r)SSS.S jjr*S\+SS4S jr, " S S 5      r-\-" 5       r.\.4\/" 5       S!.S" jjr0 " S# S$5      r1 " S% S&5      r2 " S' S(\1\2S
S)9r3 " S* S+\3S
S)9r4 " S, S-\55      r6 " S. S/\6S09r7\3S1 5       r8\3S2 5       r9\3S3 5       r:\3S4 5       r;\3S5 5       r<\3S6 5       r=\3S7 5       r>S8 r?\3S9 5       r@\4\*" S
S9S: 5       5       rA\3S; 5       rB\3S< 5       rC\3S= 5       rD\3S> 5       rE " S? S@\1S
S)9rFSA\7S\4SB jrGSA\7S\4SC jrHSD rISE rJSF rKSG rL\*SH 5       rMSI rNSJ rO " SK SL\1S
S)9rP " SM SN\PS
S)9rQ " SO SP\2\PS
S)9rR " SQ SR\RS
S)9rS " SS ST\2\QS
S)9rT " SU SV\RS
S)9rU " SW SX\RS
S)9rV " SY SZ\2\QS
S)9rWS[ rX " S\ S]\QS
S)9rY " S^ S_\QS
S)9rZ\3S` 5       r[ " Sa Sb\QS
S)9r\ " Sc Sd5      r]\/" 1 Sek5      r^\/" 1 Sfk5      r_\^\_-  Sg1-  r`Sh raSi rbSSk jrcSSm jrd/ SnQSoSp/Sq.re\R                  Sr 5       rg\(R                  \gR                  5        Ss rj\R                  " \\j5        St rl\R                  " \\l5        CjCl\R                  rn\R                  rpSu rq " Sv Sw\5      rr\sSx 5       rt " Sy Sz\\rS09ru " S{ S|\2\QS
S)9rv\4\*" S
S9S} 5       5       rwS~ rxS ryS rz\
R                  \
R                  \
R                  \
R                  \\\4rSS jrS rS rS rS rSrS\9S\94S jrS rS rS r\" \GR                  " \\5      5      rS rS rS rS r\" S5      r\" S5      r\" S5      r\" SS
S9r\" SS
S9r\" SS
S9r\" SS
S9r\" SS
\5S9r\" S\\+5      r\Rr\" \R                   GR8                  S 5      r\" \R                   GR:                  Sj5      r\" \R                   GR<                  S5      r\" \R                   GR>                  Sj5      r\" \R                   GR@                  Sj5      r\" \R                   GRB                  Sj5      r\" \R                   GRD                  Sj5      r\" \R                   GRF                  Sj5      r\" \R                   GRH                  S 5      r\" \R                   GRJ                  Sj5      r\" \R                   GRL                  Sj5      r\U" \R                   GRN                  Sl5      rS\l        \" \R                   GRR                  SjSS9r\" \R                   GRV                  Sj5      r\" \R                   GRX                  Sl5      r\" \R                   GRZ                  Sl5      r\" \R                   GR\                  Sj5      r\" \R                   GR^                  Sj5      r\S" \R                   GR`                  S SS9r\V" \SSSS9rS\l        \" \SjSSS9r\" \GRj                  SjSS9r\" \SjSSS9r\" \/SjSSS9r\" \R                   GRr                  Sj5      r\" \R                   GRt                  Sj5      r\" \R                   GRv                  Sl5      r\" \R                   GRx                  Sj5      r\" \SlSSS9r\" \R                  SlSS9r\" \GR~                  Sl5      r\" \GR                  Sj5      r\" \GR                  Sl5      r\" \R                   GR                  S\
GR                  \
GR                  4S9r\" \R                   GR                  Sl\
GR                  4S9r\" \5SjSSS9rS\l        \x " S S\u5      5       r\x " S S\u5      5       r\x " S S\u5      5       r\x " S S\u5      5       r\x " S S\u5      5       r\xS " 5       5       r\xS " 5       5       rSS jr\/" 1 Sk5      r\/" 1 Sk5      r " S S\55      r\.4S jr\5GR                  \SS0 5      rS r\\l        S r " S S\55      r\.4S
S.S jjr\5GR                  \SS0 5      rS \l        \3S 5       r\3S 5       r\3S 5       r " S S5      r\+rSr " S S\\   5      r " S S\\   5      r " S S\\+   5      rS " 5       r " S S\u5      rS
SSSSS.S\S\S\S\S\\5\7   \S\74   -  S4   S\7S\4S jjrSSS 47rS " 5       rS\5S\4S jrS\5S\/\+   4S jrS rg)    )abstractmethodABCMetaN)defaultdict)WrapperDescriptorTypeMethodWrapperTypeMethodDescriptorTypeGenericAlias)	_idfuncTypeVar	ParamSpecTypeVarTupleParamSpecArgsParamSpecKwargsTypeAliasTypeGeneric	NoDefault)h	AnnotatedAnyCallableClassVarConcatenateFinal
ForwardRefr   LiteralOptionalr   ProtocolTupleTyper   r   UnionAbstractSet
ByteString	ContainerContextManagerHashable	ItemsViewIterableIteratorKeysViewMappingMappingViewMutableMappingMutableSequence
MutableSetSequenceSized
ValuesView	AwaitableAsyncIteratorAsyncIterable	Coroutine
CollectionAsyncGeneratorAsyncContextManager
ReversibleSupportsAbsSupportsBytesSupportsComplexSupportsFloatSupportsIndexSupportsIntSupportsRoundChainMapCounterDequeDictDefaultDictListOrderedDictSet	FrozenSet
NamedTuple	TypedDict	GeneratorBinaryIOIOMatchPatternTextIOAnyStrassert_typeassert_nevercastclear_overloadsdataclass_transformfinalget_args
get_originget_overloadsget_protocol_membersget_type_hintsis_protocolis_typeddictLiteralStringNeverNewTypeno_type_checkno_type_check_decoratorr   NoReturnNotRequiredoverloadoverrider   r   ReadOnlyRequiredreveal_typeruntime_checkableSelfTextTYPE_CHECKING	TypeAlias	TypeGuardTypeIsr   UnpackFallow_special_formsc                `    U c  [        S 5      $ [        U [        5      (       a
  [        XUS9$ U $ )N)moduleis_class)type
isinstancestrr   )argrv   rt   s      //opt/python-3.13.8/usr/lib/python3.13/typing.py_type_convertr}      s1    
{Dz#s#7JKKJ    Tc                   [         [        4nU(       d  U[        4-  nU(       a
  U[        4-  n[	        XUS9n [        U [        5      (       a  U R                  U;   a  [        U  S35      eU [        [        [        [        [        [        4;   a  U $ U(       a  U [        [        4;   a  U $ [        U [        5      (       d  U [         [        4;   a  [        SU  S35      e[!        U 5      ["        L a  [        U SU <S S35      eU $ )N)rv   rt    is not valid as type argumentzPlain z Got z.100.)r   r   r   r   r}   ry   _GenericAlias
__origin__	TypeErrorr   r_   rd   r`   rl   ro   _SpecialFormrx   tuple)r{   msgis_argumentrv   rt   invalid_generic_formss         r|   _type_checkr      s     %h/(,!eX-!
@S
TC3&&NN333%=>??
sM8UD)DD
sx&77
#|$$/B(B&%CDEECyE3%uSL4L233Jr~   c                 X    U SL =(       d     [        U [        [        [        [        45      $ N.)ry   r   listr   _ConcatenateGenericAliasr{   s    r|   _is_param_exprr      s,    #: @CD)%=>@ @r~   c                     U R                   [        R                  R                  L =(       a(    [	        U5      S:H  =(       a    [        US   5      (       + $ )N   r   )r   collectionsabcr   lenr   )typargss     r|   _should_unflatten_callable_argsr      s@    & 	+//222 	=Ta;N47$;<r~   c                 x   [        U [        5      (       a7  U R                  S:X  a  U R                  $ U R                   SU R                   3$ U SL a  g[        U [        R
                  5      (       a  U R                  $ [        U [        5      (       a  SSR                  S U  5       5      -   S-   $ [        U 5      $ )	Nbuiltinsr   ....[, c              3   8   #    U  H  n[        U5      v   M     g 7fN)
_type_repr).0ts     r|   	<genexpr>_type_repr.<locals>.<genexpr>   s     :cz!}}c   ])
ry   rx   
__module____qualname__typesFunctionType__name__r   joinreprobjs    r|   r   r      s     #t>>Z'###..!3#3#3"455
cz#u))**||#uTYY:c:::S@@9r~   enforce_default_orderingr   c                   SnSn/ nU  GH,  n[        U[        5      (       a  M  [        U[        5      (       a6  U H.  n[        U/5       H  nXt;  d  M
  UR	                  U5        M     M0     Mf  [        US5      (       aw  XT;  ap  U(       aV  U(       a   UR                  5       (       a  [        S5      eUR                  5       (       a  SnOU(       a  [        SU< S35      eUR	                  U5        M  M  [        U5      (       a  Sn[        USS5       H  nXd;  d  M
  UR	                  U5        M     GM/     [        U5      $ )	NF__typing_subst__z2Type parameter with a default follows TypeVarTupleTzType parameter z8 without a default follows type parameter with a default__parameters__ )
ry   rx   r   _collect_type_parametersappendhasattrhas_defaultr   _is_unpacked_typevartuplegetattr)r   r   default_encounteredtype_var_tuple_encountered
parametersr   x	collecteds           r|   r   r     s<     !&Ja5!! !91#!>I 2")))4 "?  Q*++"+1ammoo' )@ A A }}.2+,'/! ?Q )Q R R !!!$ # )++-1*Q 0"5&%%a( 69 > r~   c           
      R   [        U R                  5      nU(       d  [        U  S35      e[        U5      nX2:w  am  X2:  aH  U R                  U   R                  5       (       a  g U[	        S U R                   5       5      -  nSU 3nOUn[        SX2:  a  SOS SU  SU S	U 35      eg )
N is not a generic classc              3   @   #    U  H  oR                  5       v   M     g 7fr   )r   r   ps     r|   r   0_check_generic_specialization.<locals>.<genexpr>L  s     L9KA9Ks   	at least Too manyfew arguments for 	; actual , expected )r   r   r   r   sum)cls	argumentsexpected_len
actual_len
expect_vals        r|   _check_generic_specializationr   6  s    
 s))*L3%6788YJ!$ !!*-99;;CL9K9KLLLL$\N3J%J$)BvN O  #uIj\ZLR S 	S% "r~   c                      / nU  HF  n[        USS 5      nUb"  U(       a  US   SL d  UR                  U5        M5  UR                  U5        MH     U$ )N__typing_unpacked_tuple_args__.)r   extendr   )r   newargsr{   subargss       r|   _unpack_argsr   U  sR    G#?FGBK34FNN7#NN3  Nr~   unhashable_fallbackc                t     [         R                  U 5      $ ! [         a    U(       d  e [        U 5      s $ f = fr   )dictfromkeysr   _deduplicate_unhashable)paramsr   s     r|   _deduplicater   _  s6    /}}V$$ /"&v..	/s    77c                 L    / nU  H  nX!;  d  M
  UR                  U5        M     U$ r   )r   )unhashable_paramsnew_unhashabler   s      r|   r   r   i  s-    N"!!!$  r~   c                     [        U 5      n[        U5      n[        U5      n U H  nUR                  U5        M     U(       + $ ! [         a     gf = f)NF)r   r   remove
ValueError)
first_argssecond_argsfirst_unhashablesecond_unhashabler   elems         r|   _compare_args_orderlessr   p  sZ    .z:/<A$DHHTN % 5L  s   A 
AAc                     / nU  HV  n[        U[        [        R                  45      (       a  UR	                  UR
                  5        ME  UR                  U5        MX     [        [        USS95      $ )NTr   )	ry   _UnionGenericAliasr   	UnionTyper   __args__r   r   r   r   r   r   s      r|   _remove_dups_flattenr   {  sZ     Fa,eoo>??MM!**%MM!	  f$?@@r~   c                     / nU  HF  n[        U[        5      (       a  UR                  UR                  5        M5  UR	                  U5        MH     [        U5      $ r   )ry   _LiteralGenericAliasr   r   r   r   r   s      r|   _flatten_literal_paramsr     sG    Fa-..MM!**%MM!	 
 =r~   typedc               *   ^ U4S jnU b  U" U 5      $ U$ )Nc                    >^  [         R                  " TS9" T 5      nU[        T '   [        R	                  UR
                  5        A[         R                  " T 5      U 4S j5       nU$ )Nr   c                  T   >  [         T   " U 0 UD6$ ! [         a     Of = fT" U 0 UD6$ r   )_cachesr   )r   kwdsfuncs     r|   inner+_tp_cache.<locals>.decorator.<locals>.inner  s>    t}d3d33 &&&s    
)	functools	lru_cacher   	_cleanupsr   cache_clearwraps)r   cacher  r   s   `  r|   	decorator_tp_cache.<locals>.decorator  s\     ##%06**+			' 
	' r~   r   )r   r   r	  s    ` r|   	_tp_cacher    s     
( r~   funcnamereturnc                 J    SS K nSU < SU  S3nUR                  U[        SS9  g )Nr   z:Failing to pass a value to the 'type_params' parameter of z@ is deprecated, as it leads to incorrect behaviour when calling zl on a stringified annotation that references a PEP 695 type parameter. It will be disallowed in Python 3.15.   category
stacklevel)warningswarnDeprecationWarning)r  r  depr_messages      r|   ._deprecation_warning_for_no_type_params_passedr    s=    \  z "0	1  MM,);MJr~   c                       \ rS rSrSrS rSrg)	_Sentineli  r   c                     g)Nz
<sentinel>r   selfs    r|   __repr___Sentinel.__repr__  s    r~   N)r   r   r   __firstlineno__	__slots__r  __static_attributes__r   r~   r|   r  r    s    Ir~   r  recursive_guardc                L  ^^^^ T[         L a  [        S5        Sm[        U [        5      (       a  U R	                  TTTTS9$ [        U [
        [        [        R                  45      (       Ga7  [        U [        5      (       ao  [        S U R                   5       5      nU R                  n[        X5      (       a  U R                  US S US   4   n OU R                  U   n U(       a	  [        U    n [        UUUU4S jU R                   5       5      nXpR                  :X  a  U $ [        U [        5      (       a  [        U R                  U5      $ [        U [        R                  5      (       a%  [        R                   " ["        R$                  U5      $ U R'                  U5      $ U $ )Nztyping._eval_typer   r"  c              3   f   #    U  H'  n[        U[        5      (       a  [        U5      OUv   M)     g 7fr   )ry   rz   r   r   r{   s     r|   r   _eval_type.<locals>.<genexpr>  s,      %C $.c3#7#7
3S@%s   /1r   c           	   3   >   >#    U  H  n[        UTTTTS 9v   M     g7f)r"  N)
_eval_type)r   aglobalnslocalnsr#  type_paramss     r|   r   r'    s,      
   8Wk?  s   )	_sentinelr  ry   r   	_evaluater   r	   r   r   r   r   __unpacked__r   r   rr   r  reduceoperatoror_	copy_with)r   r+  r,  r-  r#  r   is_unpackedev_argss    ````   r|   r)  r)    sT    i67JK!Z  {{8Wk?{[[!m\5??CDDa&& :: D ..K.q77LL$s)T"X!67LL&1I 
 ZZ	
 
 jj Ha&&g66a))##HLL'::;;w''Hr~   c                       \ rS rSrSrS rSrg)_Finali  )__weakref__c                &    SU;  a  [        S5      eg )N_rootz&Cannot subclass special typing classesr   )r   r   r   s      r|   __init_subclass___Final.__init_subclass__  s    $DEE r~   r   N)r   r   r   r  r   r=  r!  r   r~   r|   r8  r8    s     !IFr~   r8  c                       \ rS rSrSrSrSrg)_NotIterablei  r   N)r   r   r   r  r   __iter__r!  r   r~   r|   r@  r@    s     IHr~   r@  c                   d    \ rS rSrSrS rS rS rS rS r	S r
S	 rS
 rS rS r\S 5       rSrg)r   i  )_name__doc___getitemc                 T    Xl         UR                  U l        UR                  U l        g r   )rE  r   rC  rD  )r  getitems     r|   __init___SpecialForm.__init__  s    %%
r~   c                 <    US;   a  U R                   $ [        U5      e)N>   r   r   )rC  AttributeError)r  items     r|   __getattr___SpecialForm.__getattr__   s     //::T""r~   c                      [        SU < 35      e)NCannot subclass r<  r  basess     r|   __mro_entries___SpecialForm.__mro_entries__&  s    *4(344r~   c                      SU R                   -   $ Ntyping.rC  r  s    r|   r  _SpecialForm.__repr__)      4::%%r~   c                     U R                   $ r   rX  r  s    r|   
__reduce___SpecialForm.__reduce__,      zzr~   c                      [        SU < 35      e)NzCannot instantiate r<  )r  r   r   s      r|   __call___SpecialForm.__call__/  s    -dX677r~   c                     [         X4   $ r   r   r  others     r|   __or___SpecialForm.__or__2      T[!!r~   c                     [         X4   $ r   rc  rd  s     r|   __ror___SpecialForm.__ror__5      U[!!r~   c                     [        U  S35      e)Nz! cannot be used with isinstance()r<  r  r   s     r|   __instancecheck___SpecialForm.__instancecheck__8      4& ABCCr~   c                     [        U  S35      e)Nz! cannot be used with issubclass()r<  r  r   s     r|   __subclasscheck___SpecialForm.__subclasscheck__;  rq  r~   c                 $    U R                  X5      $ r   )rE  r  r   s     r|   __getitem___SpecialForm.__getitem__>  s    }}T..r~   )rD  rE  rC  N)r   r   r   r  r   rH  rM  rS  r  r\  r`  rf  rj  ro  rt  r  rx  r!  r   r~   r|   r   r     sO    0I'
#5&8""DD / /r~   r   )r;  c                       \ rS rSrS rSrg)_TypedCacheSpecialFormiC  c                 X    [        U[        5      (       d  U4nU R                  " U /UQ76 $ r   )ry   r   rE  rw  s     r|   rx  "_TypedCacheSpecialForm.__getitem__D  s*    *e,,$J}}T/J//r~   r   N)r   r   r   r  rx  r!  r   r~   r|   r{  r{  C  s    0r~   r{  c                   4   ^  \ rS rSrU 4S jrU 4S jrSrU =r$ )_AnyMetaiJ  c                 J   > U [         L a  [        S5      e[        TU ]  U5      $ )Nz+typing.Any cannot be used with isinstance())r   r   superro  )r  r   	__class__s     r|   ro  _AnyMeta.__instancecheck__K  s&    3;IJJw(--r~   c                 4   > U [         L a  g[        TU ]	  5       $ )Nz
typing.Any)r   r  r  )r  r  s    r|   r  _AnyMeta.__repr__P  s    3;w!!r~   r   )r   r   r   r  ro  r  r!  __classcell__r  s   @r|   r  r  J  s    .
" "r~   r  c                   (   ^  \ rS rSrU 4S jrSrU =r$ )r   iV  c                 J   > U [         L a  [        S5      e[        TU ]  U 5      $ )NzAny cannot be instantiated)r   r   r  __new__r   r   kwargsr  s      r|   r  Any.__new__b  s%    #:899ws##r~   r   )r   r   r   r  r  r!  r  r  s   @r|   r   r   V  s    $ $r~   r   )	metaclassc                     [        U  S35      eNz is not subscriptabler<  rw  s     r|   rd   rd   h  s      tf12
33r~   c                     [        U  S35      er  r<  rw  s     r|   r`   r`   }  s    , tf12
33r~   c                     [        U  S35      er  r<  rw  s     r|   rl   rl     s    " tf12
33r~   c                     [        U  S35      er  r<  rw  s     r|   r_   r_     s    0 tf12
33r~   c                 4    [        X S3SS9n[        X45      $ N accepts only single type.Trs   r   r   r  r   rL  s      r|   r   r     &    & zV+E#F\`aDw''r~   c                 4    [        X S3SS9n[        X45      $ r  r  r  s      r|   r   r     r  r~   c                 (  ^ US:X  a  [        S5      e[        U[        5      (       d  U4nSm[        U4S jU 5       5      n[        U5      n[	        U5      S:X  a  US   $ [	        U5      S:X  a  [        S 5      U;   a
  [        XSS	9$ [        X5      $ )
Nr   z Cannot take a Union of no types.z)Union[arg, ...]: each arg must be a type.c              3   <   >#    U  H  n[        UT5      v   M     g 7fr   r   r   r   r   s     r|   r   Union.<locals>.<genexpr>  s     ?Jq{1c**J      r   r   r   name)r   ry   r   r   r   rx   r   r  r   r   s     @r|   r   r     s    > R:;;j%(( ]

5C?J??J%j1J
:!!}
:!T
j 8!$DDd//r~   c                     [         X4   $ r   rc  )leftrights     r|   _make_unionr    s     r~   c                 F    [        X S35      n[        U[        S 5      4   $ )Nz requires a single type.)r   r   rx   )r  r   r{   s      r|   r   r   &  s)     jF*B"C
DCd4j!!r~   c           
          [        U5      n [        S [        [        [	        U5      5      5       5       5      n[        X5      $ ! [
         a     Nf = f)Nc              3   *   #    U  H	  u  pUv   M     g 7fr   r   )r   r   _s      r|   r   Literal.<locals>.<genexpr>H  s     ^)]1)]s   )r   r   r   r   _value_and_type_iterr   r   rw  s     r|   r   r   ,  sU    2 )4J^d;OPZ;[6\)]^^
  11  s   -A 
AAc                     [        U  S35      er  r<  rw  s     r|   ro   ro   O  s     tf12
33r~   c                    ^ US:X  a  [        S5      e[        U[        5      (       d  U4nUS   SL d#  [        US   [        5      (       d  [        S5      eSm/ U4S jUS S  5       QUS   P7n[	        X5      $ )Nr   z&Cannot take a Concatenate of no types.r   .zMThe last parameter to Concatenate should be a ParamSpec variable or ellipsis.z/Concatenate[arg, ...]: each arg must be a type.c              3   <   >#    U  H  n[        UT5      v   M     g 7fr   r  r  s     r|   r   Concatenate.<locals>.<genexpr>v  s     AAK3''r  )r   ry   r   r   r   r  s     @r|   r   r   `  s     R@AAj%(( ]
rNc!Z
2	%J%J : ; 	;
;CRACRAR:b>RJ#D55r~   c                 6    [        X S35      n[        X45      $ Nr  r  r  s      r|   rp   rp   z  s$    h zV+E#FGDw''r~   c                 6    [        X S35      n[        X45      $ r  r  r  s      r|   rq   rq     s$    B zV+E#FGDw''r~   c                   T    \ rS rSrSrSSS.S jjr\4S jrS rS	 r	S
 r
S rS rSrg)r   i  )__forward_arg____forward_code____forward_evaluated____forward_value____forward_is_argument____forward_is_class____forward_module__NF)rw   c                8   [        U[        5      (       d  [        SU< 35      eUR                  S5      (       a  SU S3nOUn [	        USS5      nXl        X`l        SU l        S U l	        X l
        X@l        X0l        g ! [
         a    [        SU< 35      ef = f)	Nz*Forward reference must be a string -- got *(z,)[0]z<string>evalz/Forward reference must be an expression -- got F)ry   rz   r   
startswithcompileSyntaxErrorr  r  r  r  r  r  r  )r  r{   r   rv   rw   arg_to_compilecodes          r|   rH  ForwardRef.__init__  s    #s##HPQQ
 >># U^N N	Y>:v>D  # $%*"!%'2$$,!"(  	Y OPSwWXX	Ys   A? ?Bc                   U[         L a  [        S5        SnU R                  U;   a  U $ U R                  (       a  X!LGa  Uc  Uc  0 =pOUc  UnOUc  UnU R                  b5  [        [        R                  R                  U R                  S 5      SU5      nU(       aX  [        U5      [        U5      p!U H=  nUR                  nU R                  (       a  Xa;  d  M'  XQU'   UR                  US 5        M?     [        [        U R                  X5      SU R                   U R                  S9n[#        UUUUX@R                  1-  S9U l        SU l        U R$                  $ )Nztyping.ForwardRef._evaluater   __dict__z*Forward references must evaluate to types.)r   rt   r"  T)r.  r  r  r  r  r   sysmodulesgetr   r   r  popr   r  r  r  r)  r  )r  r+  r,  r-  r#  param
param_nametype_s           r|   r/  ForwardRef._evaluate  sQ   )#:;XYK?2K))W-DGO%''7!""&&2"KKOOD$;$;TBJPX $(NDM'(E!&J44
8R/4,J5	 )  T**H>< 88$($=$=	E &0!04H4H3I!I&D" *.D&%%%r~   c                 `   [        U[        5      (       d  [        $ U R                  (       aJ  UR                  (       a9  U R                  UR                  :H  =(       a    U R
                  UR
                  :H  $ U R                  UR                  :H  =(       a    U R                  UR                  :H  $ r   )ry   r   NotImplementedr  r  r  r  rd  s     r|   __eq__ForwardRef.__eq__H  s    %,,!!%%%*E*E((E,A,AA F**e.E.EEG$$(=(== D''5+C+CC	Er~   c                 D    [        U R                  U R                  45      $ r   )hashr  r  r  s    r|   __hash__ForwardRef.__hash__Q  s    T))4+B+BCDDr~   c                     [         X4   $ r   rc  rd  s     r|   rf  ForwardRef.__or__T  rh  r~   c                     [         X4   $ r   rc  rd  s     r|   rj  ForwardRef.__ror__W  rl  r~   c                 h    U R                   c  SnOSU R                   < 3nSU R                  < U S3$ )N z	, module=zForwardRef())r  r  )r  module_reprs     r|   r  ForwardRef.__repr__Z  s@    ""*K%d&=&=%@AKT114[MCCr~   )r  r  r  r  r  r  r  TN)r   r   r   r  r   rH  r.  r/  r  r  rf  rj  r  r!  r   r~   r|   r   r     s=    'I
)u )0 8A /&bEE""Dr~   r   r   c                 T    [        U [        5      (       + =(       a    [        U SS5      $ )N#__typing_is_unpacked_typevartuple__F)ry   rx   r   r   s    r|   r   r   b  s(    At$$ EA<eDFr~   c                 R    [        U [        [        45      =(       d    [        U 5      $ r   )ry   r   r   r   r  s    r|   _is_typevar_liker  g  s    a'9-.N2KA2NNr~   c                     Sn[        XSS9n[        U[        5      (       a  UR                  [        L d'  [        U[
        5      (       a   [        USS5      (       a  [        U S35      eU$ )N*Parameters to generic types must be types.T)r   r0  Fr   )r   ry   r   r   rr   r	   r   r   )r  r{   r   s      r|   _typevar_substr  k  s^    
6C
cD
1C	C	'	'CNNf,D	C	&	&73+N+N3%=>??Jr~   c           	      
   UR                   nUR                  U 5      nX4S-   S   H&  n[        U[        5      (       d  M  [	        SU 35      e   [        U5      n[        U5      nUnXt-
  S-
  n	S n
S n[        U5       Hb  u  p[        U[        5      (       a  M  [        USS 5      nU(       d  M2  [        U5      S:X  d  MC  US   SL d  MM  U
b  [	        S5      eUn
US   nMd     U
b  [        X5      n[        XU
-
  S-
  5      n	OX-   U:  a  [	        S	U S
U SUS-
   35      eXU	-
  :X  a+  U R                  5       (       a  [        U R                  5      nOX(Xi-
   n/ US U QU/XH-
  -  QUPU/Xy-
  U-
  U-
  S-
  -  QX&U	-
  S  Q7$ )Nr  z(More than one TypeVarTuple parameter in r   r   r   .z6More than one unpacked arbitrary-length tuple argumentr   Too few arguments for r   z, expected at least )r   indexry   r   r   r   	enumeraterx   r   minr   r   __default__)r  aliasr   r   typevartuple_indexr  alenplenr  r  var_tuple_indexfillargkr{   r   replacements                   r|   _typevartuple_prepare_substr  t  s   !!Fd+Q./0e\**FugNOO 1 t9Dv;DD%)EOGD/#t$$c#CTJGw3w<1,1C".#$\]]"#!!* " "4)E/1A56		0 8##'&(<T!VHF G 	Ge| 0 0 2 2"4#3#34.	et)'.
/ 	 )T\D(+==A
B	
 
Ulm	 r~   c                     [        U[        [        45      (       a  [        S U 5       5      nU$ [        U5      (       d  [	        SU 35      eU$ )Nc              3   :   #    U  H  n[        US 5      v   M     g7f)zExpected a type.Nr  r   r*  s     r|   r   #_paramspec_subst.<locals>.<genexpr>  s     D1K#566   zFExpected a list of types, an ellipsis, ParamSpec, or Concatenate. Got )ry   r   r   r   r   r  r{   s     r|   _paramspec_substr    s[    #e}%%DDD J C   ::=@ A 	AJr~   c                    UR                   nUR                  U 5      nU[        U5      :X  a%  U R                  5       (       a  / UQU R                  PnU[        U5      :  a  [        SU 35      e[        U5      S:X  a  [        US   5      (       d  U4nU$ [        X$   [        5      (       a  / US U Q[        X$   5      PX$S-   S  Q7nU$ )Nr  r  r   )
r   r  r   r   r  r   r   ry   r   r   )r  r  r   r   is        r|   _paramspec_prepare_substr    s    !!FTACI~$**,,((t''(CI~0899
6{atAw 7 7w K 
DGT	"	"7bq75>7D1J7Kr~   c                    [        U[        5      (       d  U4n[        S U 5       5      nU [        [        4;   nU(       a  U(       d  [	        SU R
                   S35      e[        S U 5       5      (       d  [	        SU R                   S35      e[        [        U5      5      [        U5      :w  a  [	        SU R                   S35      eOU R                   H  n[        USS 5      nUc  M  U" X5      nM     [        X5        / n[        U R                  U5       H>  u  p6[        U[        5      (       a  UR                  U5        M-  UR!                  U5        M@     [        U5      n[#        X5      $ )	Nc              3   8   #    U  H  n[        U5      v   M     g 7fr   r}   r   s     r|   r   )_generic_class_getitem.<locals>.<genexpr>  s     04aq!!4r   zParameter list to z[...] cannot be emptyc              3   8   #    U  H  n[        U5      v   M     g 7fr   )r  r   s     r|   r   r    s     51#A&&r   zParameters to zF[...] must all be type variables or parameter specification variables.z[...] must all be unique__typing_prepare_subst__)ry   r   r   r   r   r   allr   r   setr   r   r   zipr   r   r   r   )r   r   is_generic_or_protocolr  preparenew_argsnew_args          r|   _generic_class_getitemr    sc    dE""w0400D Wh$77$S%5%5$66KL  5555  /8 9: : s4y>SY& .FGI I '
 ''Ee%?FG"s) ( 	&c0!#"4"4d;NE%..((	 <
 X##r~   c                   ^
 [         [        U ]
  " U0 UD6  / nSU R                  ;   a  [        U R                  ;   nOB[        U R
                  ;   =(       a(    U R                  S:g  =(       a    [        U 5      [        :g  nU(       a  [        S5      eSU R                  ;   a  [        U R                  5      nS nU R                   HI  n[        U[        5      (       d  M  UR                  [        L d  M/  Ub  [        S5      eUR                  nMK     Ubc  [        U5      n[        U5      m
UT
::  dE  SR!                  U
4S jU 5       5      nSR!                  S U 5       5      n	[        SU S	U	 S
35      eUn[#        U5      U l        g )N__orig_bases__r   z!Cannot inherit from plain Genericz0Cannot inherit from Generic[...] multiple times.r   c              3   H   >#    U  H  oT;  d  M
  [        U5      v   M     g 7fr   rz   )r   r   gvarsets     r|   r   )_generic_init_subclass.<locals>.<genexpr>  s     "M5aW<L63q665s   	""c              3   8   #    U  H  n[        U5      v   M     g 7fr   r  )r   gs     r|   r   r    s     "95a3q665r   zSome type variables (z) are not listed in Generic[r   )r  r   r=  r  r  	__bases__r   rx   _TypedDictMetar   r   ry   r   r   r   r  r   r   )r   r   r  tvarserrorgvarsbasetvarsets_varss_argsr  s             @r|   _generic_init_subclassr$    so   	'3)4:6:E3<<'3---CMM) 0LLJ.0I/ 	 ;<<3<<'(););< &&D4//OOw.$#JL L++ ' %jG%jGg%"M5"MM"95"99"7x @::@!D E EEuCr~   c                 T    U R                  S5      =(       a    U R                  S5      $ )N__)r  endswith)attrs    r|   
_is_dunderr)    s    ??4 8T]]4%88r~   c                   b   ^  \ rS rSrSSS.S jrS rS rS rU 4S	 jrS
 r	S r
U 4S jrSrU =r$ )_BaseGenericAliasi  TNinstr  c                6    X l         X0l        Xl        S U l        g r   )_instrC  r   r   )r  originr-  r  s       r|   rH  _BaseGenericAlias.__init__  s    

 r~   c                     U R                   (       d0  [        SU R                   SU R                  R                   S35      eU R                  " U0 UD6n Xl        U$ ! [         a     U$ f = f)NzType z cannot be instantiated; use z
() instead)r/  r   rC  r   r   __orig_class__	Exception)r  r   r  results       r|   r`  _BaseGenericAlias.__call__!  s}    zzeDJJ< 0##'??#;#;"<JH I I$1&1	$(!
   		s   A 
A+*A+c                     / nU R                   U;  a  UR                  U R                   5        UR                  U 5      nXS-   S   H  n[        U[        5      (       a    O[        U[
        5      (       dP  [        USS 5      nU(       a  U" U5      OS n[        U[        5      (       a  [        S U 5       5      (       a    O4M}  M  [        U[        5      (       d  M    O   UR                  [        5        [        U5      $ )Nr  rS  c              3   p   #    U  H,  n[        U[        5      =(       a    [        U[        5      v   M.     g 7fr   )ry   rx   
issubclassr   )r   b2s     r|   r   4_BaseGenericAlias.__mro_entries__.<locals>.<genexpr>B  s-      "+B #2t,HB1HH"+s   46)r   r   r  ry   r+  rx   r   r   anyr9  r   )r  rR  resr  bmeth	new_basess          r|   rS  !_BaseGenericAlias.__mro_entries__.  s    ??%'JJt' KKstA!.//a&&q"3T:+/DKT	y%00 "+  
  1 Aw'' " JJwSzr~   c                     US;   a)  U R                   =(       d    U R                  R                  $ SU R                  ;   a&  [	        U5      (       d  [        U R                  U5      $ [        U5      e)N>   r   r   r   )rC  r   r   r  r)  r   rK  )r  r(  s     r|   rM  _BaseGenericAlias.__getattr__N  sX    //::9!9!99 4==(D1A1A4??D11T""r~   c                 ~   > [        U5      (       d  US;   a  [        TU ]	  X5        g [        U R                  X5        g )N>   r/  rC  _nparams	_defaults)r)  r  __setattr__setattrr   )r  r(  valr  s      r|   rG  _BaseGenericAlias.__setattr__X  s1    dt'RRG*DOOT/r~   c                 6    U R                  [        U5      5      $ r   )rt  rx   rn  s     r|   ro  #_BaseGenericAlias.__instancecheck__^  s    %%d3i00r~   c                     [        S5      e)NzBSubscripted generics cannot be used with class and instance checksr<  rs  s     r|   rt  #_BaseGenericAlias.__subclasscheck__a  s     5 6 	6r~   c                    > [        [        [        TU ]  5       [	        U R
                  5       Vs/ s H  n[        U5      (       a  M  UPM     sn-   5      5      $ s  snf r   )r   r  r  __dir__dirr   r)  r  r(  r  s     r|   rP  _BaseGenericAlias.__dir__e  sP    C)$'$8Q$8D
4@P4$8QR S T 	TQs   AA)r   r   r/  rC  )r   r   r   r  rH  r`  rS  rM  rG  ro  rt  rP  r!  r  r  s   @r|   r+  r+    s:     (,$ @#016T Tr~   r+  c                      ^  \ rS rSrSSS.U 4S jjrS rS rS rS	 r\	S
 5       r
S rS rS rS rS rU 4S jrS rSrU =r$ )r   iu  TNr,  c                   > [         TU ]  XUS9  [        U[        5      (       d  U4n[        S U 5       5      U l        U[
        [        4;   n[        UUS9U l        U(       d  UR                  U l	        g g )Nr,  c              3   <   #    U  H  nU[         L a  S OUv   M     g7f).N)_TypingEllipsisr  s     r|   r   )_GenericAlias.__init__.<locals>.<genexpr>  s&      /)-A &'/%9c )-s   r   )
r  rH  ry   r   r   r   r   r   r   r   )r  r0  r   r-  r  r   r  s         r|   rH  _GenericAlias.__init__  s|    6$&&7D /)-/ /#)gx-@#@ 6%=
 $//DO r~   c                     [        U[        5      (       d  [        $ U R                  UR                  :H  =(       a    U R                  UR                  :H  $ r   )ry   r   r  r   r   rd  s     r|   r  _GenericAlias.__eq__  sA    %//!!5#3#33 4MMU^^3	5r~   c                 D    [        U R                  U R                  45      $ r   )r  r   r   r  s    r|   r  _GenericAlias.__hash__  s    T__dmm455r~   c                     [         X4   $ r   rc  r  r  s     r|   rf  _GenericAlias.__or__  rh  r~   c                     [         X4   $ r   rc  r  r  s     r|   rj  _GenericAlias.__ror__      TZ  r~   c                 &   U R                   [        [        4;   a  [        SU  35      eU R                  (       d  [        U  S35      e[        U[        5      (       d  U4n[        S U 5       6 nU R                  U5      nU R                  U5      nU$ )Nz%Cannot subscript already-subscripted r   c              3   8   #    U  H  n[        U5      v   M     g 7fr   r  r   s     r|   r   ,_GenericAlias.__getitem__.<locals>.<genexpr>  s     =1mA..r   )
r   r   r   r   r   ry   r   r   _determine_new_argsr4  )r  r   r  rs       r|   rx  _GenericAlias.__getitem__  s    " ??w11CD6JKK""tf$;<== $&&7D==>++D1NN8$r~   c           
      D   U R                   nU H  n[        USS 5      nUc  M  U" X5      nM     [        U5      n[        U5      nXV:w  a  [        SXV:  a  SOS SU  SU SU 35      e[	        [        X!5      5      n[        U R                  U R                  U5      5      $ )Nr
  r   r   r   r   r   r   )	r   r   r   r   r   r  r   _make_substitutionr   )r  r   r   r  r  r  r  new_arg_by_params           r|   rh  !_GenericAlias._determine_new_args  s     $$Ee%?FG"t*  4y6{<dT[6e"DOTXSY Z''+fKv? @ @F 12T,,T]]<LMNNr~   c           	         / nU GH  n[        U[        5      (       a  UR                  U5        M,  [        USS 5      nU(       a  U" X$   5      nOm[        USS5      nU(       d  UnOV/ nU H@  n	[        U	[        5      (       a  UR                  X)   5        M-  UR                  X)   5        MB     U[        U5         nU R                  [        R                  R                  :X  a)  [        U[        5      (       a  UR                  U5        GM	  [        U5      (       a  UR                  U5        GM-  [        U[        5      (       a,  UR                  [        U R                  XB5      5      5        GMn  UR                  U5        GM     U$ )Nr   r   r   )ry   rx   r   r   r   r   r   r   r   r   r   r   rl  )
r  r   rm  r  old_arg	substfuncr  	subparamsr   r   s
             r|   rl   _GenericAlias._make_substitution  s?   G'4((();TBI#$4$=>#G-=rB	 %G G&%a66#NN+;+>?#NN+;+>?	 '
 &eGn5G+//":"::z'SX?Y?Y (*733 (GU++ $11'LM (q r r~   c                 `    U R                  U R                  XR                  U R                  S9$ N)r  r-  )r  r   rC  r/  r  r   s     r|   r4  _GenericAlias.copy_with&  s#    ~~doot**4::~VVr~   c                    U R                   (       a  SU R                   -   nO[        U R                  5      nU R                  (       a6  SR	                  U R                   Vs/ s H  n[        U5      PM     sn5      nOSnU SU S3$ s  snf )NrW  r   z()r   r   )rC  r   r   r   r   )r  r  r*  r   s       r|   r  _GenericAlias.__repr__)  sq    ::tzz)Ddoo.D==99T]]C]jm]CDD Dqa  	 Ds   !Bc                    U R                   (       a  [        5       U R                      nOU R                  n[        U R                  5      n[        U5      S:X  a  [        US   [        5      (       d  Uu  n[        R                  X44$ )Nr  r   )	rC  globalsr   r   r   r   ry   r2  rG  )r  r0  r   s      r|   r\  _GenericAlias.__reduce__5  se    ::Ytzz*F__FT]]#t9>*T!We"<"<ED&//r~   c                 n  > [        U R                  [        5      (       a  [        SU < 35      eU R                  (       a  [
        TU ]  U5      $ U R                  [        L aG  [        U;   a  gUR                  U 5      nXS-   S   H   n[        U[        5      (       d  M  X0Ld  M     g   U R                  4$ )NrP  r   r  )ry   r   r   r   rC  r  rS  r   r   r  r+  )r  rR  r  r>  r  s       r|   rS  _GenericAlias.__mro_entries__?  s    doo|44.th788::7*511??g%5 D!AQ34[a!233 ! !!r~   c              #   "   #    [         U    v   g 7fr   )rr   r  s    r|   rA  _GenericAlias.__iter__N  s     Tls   )r   r   r   )r   r   r   r  rH  r  r  rf  rj  r  rx  rh  rl  r4  r  r\  rS  rA  r!  r  r  s   @r|   r   r   u  sg    4 .2 0 056"!  <O:<|W
!0" r~   r   c                   n   ^  \ rS rSrSSSS.U 4S jjr\S 5       rS rS	 rU 4S
 jr	S r
S rS rSrU =r$ )_SpecialGenericAliasiV  TNr   )r-  r  defaultsc                   > Uc  UR                   n[        TU ]	  XUS9  X l        XPl        UR
                  S:X  a  SUR                   S3U l        g SUR
                   SUR                   S3U l        g )Nr,  r   zA generic version of r   )r   r  rH  rE  rF  r   r   rD  )r  r0  nparamsr-  r  r  r  s         r|   rH  _SpecialGenericAlias.__init__W  sw    <??D6!
*263F3F2GqIDL263D3D2EQvGZGZF[[\]DLr~   c           
        ^ [        U[        5      (       d  U4nSm[        U4S jU 5       5      nU R                  (       ar  [        U5      U R                  :  aY  [        U5      [        U R                  5      -   U R                  :  a*  / UQU R                  [        U5      U R                  -
  S  Q7n[        U5      nX R                  :w  a  U R                  (       a&  SU R                  [        U R                  5      -
   3nO[        U R                  5      nU R                  (       d  [        U  S35      e[        SX R                  :  a  SOS SU  S	U S
U 35      eU R                  U5      $ )Nr  c              3   <   >#    U  H  n[        UT5      v   M     g 7fr   r  r  s     r|   r   3_SpecialGenericAlias.__getitem__.<locals>.<genexpr>g       ;Fq{1c**Fr  r   r   r   r   r   r   r   r   )ry   r   rF  r   rE  rz   r   r4  )r  r   r   expectedr   s       @r|   rx   _SpecialGenericAlias.__getitem__b  s:   &%((YF:;F;;NNFdmm+Fc$..11T]]BMvMs6{T]]/J/K LMF[
&~~&t}}s4>>7J'J&KLt}}-==4&(? @AAdZ---G6U"SSbcgbh i''1l+hZI J J~~f%%r~   c                 V    [        U R                  UU R                  U R                  S9$ ru  )r   r   rC  r/  r  r   s     r|   r4  _SpecialGenericAlias.copy_withz  s$    T__f"&**4::? 	?r~   c                      SU R                   -   $ rV  rX  r  s    r|   r  _SpecialGenericAlias.__repr__~  rZ  r~   c                    > [        U[        5      (       a   [        UR                  U R                  5      $ [        U[        5      (       d  [        XR                  5      $ [
        TU ]  U5      $ r   )ry   r  r9  r   r   r  rt  )r  r   r  s     r|   rt  &_SpecialGenericAlias.__subclasscheck__  sR    c/00cnndoo>>#}--c??33w(--r~   c                     U R                   $ r   rX  r  s    r|   r\  _SpecialGenericAlias.__reduce__  r^  r~   c                     [         X4   $ r   rc  r_  s     r|   rf  _SpecialGenericAlias.__or__  rh  r~   c                     [         X4   $ r   rc  rb  s     r|   rj  _SpecialGenericAlias.__ror__  rd  r~   )rD  rF  rE  )r   r   r   r  rH  r  rx  r4  r  rt  r\  rf  rj  r!  r  r  s   @r|   r  r  V  sM    044" 	^ 	^ & &.?&."! !r~   r  c                   >   ^  \ rS rSrSSS.U 4S jjrU 4S jrSrU =r$ )_DeprecatedGenericAliasi  TNr,  c                .   > [         TU ]  XXES9  X0l        g )Nr,  )r  rH  _removal_version)r  r0  r  removal_versionr-  r  r  s         r|   rH   _DeprecatedGenericAlias.__init__  s     	t? /r~   c                    > SS K nUR                  U R                   SU R                   3U R                  S9  [
        TU ]  U5      $ )Nr   r   r   )r  _deprecatedr   rC  r  r  ro  )r  r-  r  r  s      r|   ro  )_DeprecatedGenericAlias.__instancecheck__  sJ    q-d6K6K 	 	
 w(..r~   )r  )r   r   r   r  rH  ro  r!  r  r  s   @r|   r  r    s    8<40 0/ /r~   r  c                   .   ^  \ rS rSrU 4S jrS rSrU =r$ )_CallableGenericAliasi  c           	        > U R                   n[        U5      S:X  a!  [        US   5      (       a  [        TU ]  5       $ SSR                  US S  Vs/ s H  n[        U5      PM     sn5       S[        US   5       S3$ s  snf )Nr   r   ztyping.Callable[[r   r   z], r   )r   r   r   r  r  r   r   )r  r   r*  r  s      r|   r  _CallableGenericAlias.__repr__  s    }}t9>nT!W557#%%YYtCRyAy!
1yABC3d2h'(+ 	,As   A?
c                     U R                   n[        U5      S:X  a  [        US   5      (       d  [        US S 5      US   4n[        R
                  [        U44$ )Nr   r   r   )r   r   r   r   r2  rG  r   rv  s     r|   r\   _CallableGenericAlias.__reduce__  sR    }}D	Q>$q'#:#:Sb	?DH,D(D!111r~   r   )r   r   r   r  r  r\  r!  r  r  s   @r|   r  r    s    ,2 2r~   r  c                   0    \ rS rSrS rS r\S 5       rSrg)_CallableTypei  c                 V    [        U R                  UU R                  U R                  S9$ ru  )r  r   rC  r/  r  s     r|   r4  _CallableType.copy_with  s&    $T__f*.**4::G 	Gr~   c                     [        U[        5      (       a  [        U5      S:w  a  [        S5      eUu  p#[        U[        5      (       a  [        U5      U4nOX#4nU R                  U5      $ )Nr   z6Callable must be used as Callable[[arg, ...], result].)ry   r   r   r   r   __getitem_inner__)r  r   r   r5  s       r|   rx  _CallableType.__getitem__  sh    &%((CK1,< < = = dD!!Dk6*F^F%%f--r~   c                     Uu  p#Sn[        X45      nU[        L a  U R                  [        U45      $ [	        U[
        5      (       d  U4n[        S U 5       5      nX#4-   nU R                  U5      $ )Nz.Callable[args, result]: result must be a type.c              3   8   #    U  H  n[        U5      v   M     g 7fr   r  r&  s     r|   r   2_CallableType.__getitem_inner__.<locals>.<genexpr>  s     84C]3''4r   )r   Ellipsisr4  rW  ry   r   )r  r   r   r5  r   s        r|   r  _CallableType.__getitem_inner__  sq    >V)8>>?F";<<$&&7D8488	!~~f%%r~   r   N)	r   r   r   r  r4  rx  r  r  r!  r   r~   r|   r  r    s!    G. 
& 
&r~   r  c                   $    \ rS rSr\S 5       rSrg)
_TupleTypei  c                   ^ [        U[        5      (       d  U4n[        U5      S:  a<  US   SL a4  Sm[        U4S jUS S  5       5      nU R                  / UQ[        P75      $ Sm[        U4S jU 5       5      nU R                  U5      $ )Nr   r   .z Tuple[t, ...]: t must be a type.c              3   <   >#    U  H  n[        UT5      v   M     g 7fr   r  r  s     r|   r   )_TupleType.__getitem__.<locals>.<genexpr>  s     D1;q#..r  z*Tuple[t0, t1, ...]: each t must be a type.c              3   <   >#    U  H  n[        UT5      v   M     g 7fr   r  r  s     r|   r   r    r  r  )ry   r   r   r4  rW  )r  r   r   s     @r|   rx  _TupleType.__getitem__  s    &%((YFv;!r
c 14CDsDDF>>"<F"<O"<==:;F;;~~f%%r~   r   N)r   r   r   r  r  rx  r!  r   r~   r|   r  r    s    	& 	&r~   r  c                   R   ^  \ rS rSrS rS rS rU 4S jrS rS r	U 4S jr
S	rU =r$ )
r   i  c                     [         U   $ r   rc  r  s     r|   r4  _UnionGenericAlias.copy_with  s    V}r~   c                    [        U[        [        R                  45      (       d  [        $  [        U R                  5      [        UR                  5      :H  $ ! [         a#    [        U R                  UR                  5      s $ f = fr   )	ry   r   r   r   r  r  r   r   r   rd  s     r|   r  _UnionGenericAlias.__eq__  sh    %"4eoo!FGG!!	Jt}}%U^^)<<< 	J*4==%..II	Js   *A *BBc                 >    [        [        U R                  5      5      $ r   )r  	frozensetr   r  s    r|   r  _UnionGenericAlias.__hash__  s    Idmm,--r~   c                    > U R                   n[        U5      S:X  aF  US   [        S 5      L a  S[        US   5       S3$ US   [        S 5      L a  S[        US   5       S3$ [        TU ]  5       $ )Nr   r   ztyping.Optional[r  r   )r   r   rx   r   r  r  r  r   r  s     r|   r  _UnionGenericAlias.__repr__  sw    }}t9>Aw$t*$)*T!W*=)>a@@aDJ&)*T!W*=)>a@@w!!r~   c                 N    U R                    H  n[        X5      (       d  M    g   gNTF)r   ry   )r  r   r{   s      r|   ro  $_UnionGenericAlias.__instancecheck__  #    ==C### ! r~   c                 N    U R                    H  n[        X5      (       d  M    g   gr  )r   r9  )r  r   r{   s      r|   rt  $_UnionGenericAlias.__subclasscheck__  r  r~   c                 >   > [         TU ]  5       u  nu  p#U[        U44$ r   )r  r\  r   )r  r   r0  r   r  s       r|   r\  _UnionGenericAlias.__reduce__  s&    $w13nveT]""r~   r   )r   r   r   r  r4  r  r  r  ro  rt  r\  r!  r  r  s   @r|   r   r     s,    J."# #r~   r   c                     S U  5       $ )Nc              3   :   #    U  H  o[        U5      4v   M     g 7fr   )rx   r   s     r|   r   '_value_and_type_iter.<locals>.<genexpr>  s     -*QQL*r  r   )r   s    r|   r  r  
  s    -*--r~   c                        \ rS rSrS rS rSrg)r   i  c                     [        U[        5      (       d  [        $ [        [	        U R
                  5      5      [        [	        UR
                  5      5      :H  $ r   )ry   r   r  r  r  r   rd  s     r|   r  _LiteralGenericAlias.__eq__  sB    %!566!!'673?STYTbTb?c;dddr~   c                 P    [        [        [        U R                  5      5      5      $ r   )r  r  r  r   r  s    r|   r  _LiteralGenericAlias.__hash__  s    I24==ABCCr~   r   N)r   r   r   r  r  r  r!  r   r~   r|   r   r     s    eDr~   r   c                   (   ^  \ rS rSrU 4S jrSrU =r$ )r   i  c                    > [        US   [        [        45      (       a  / US S QUS   Q7$ [        US   [        5      (       a  / US S QUS   R                  Q7n[
        TU ]  U5      $ )Nr   )ry   r   r   r   r   r  r4  )r  r   r  s     r|   r4  "_ConcatenateGenericAlias.copy_with  ss    fRj4-00.VCR[.6":..fRj":;;9vcr{9VBZ%8%89Fw ((r~   r   )r   r   r   r  r4  r!  r  r  s   @r|   r   r     s    ) )r~   r   c                 2    [        X S35      n[        X4S9$ )Nr  )r0  r   )r   _UnpackGenericAliasr  s      r|   rr   rr   "  s$    ^ zV+E#FGDd99r~   c                   N   ^  \ rS rSrS rU 4S jr\S 5       r\S 5       rSr	U =r
$ )r  iU  c                 :    S[        U R                  S   5       S3$ )Nztyping.Unpack[r   r   )r   r   r  s    r|   r  _UnpackGenericAlias.__repr__V  s"      
4==+; <=Q??r~   c                 H   > U R                   (       a  U$ [        TU ]	  U5      $ r   )r  r  rx  r  s     r|   rx  _UnpackGenericAlias.__getitem__[  s!    33Kw"4((r~   c                     U R                   u  n[        U[        [        R                  45      (       a*  UR
                  [        La  [        S5      eUR                   $ g )Nz*Unpack[...] must be used with a tuple type)r   ry   r   r   r	   r   r   r   r   s     r|   r   2_UnpackGenericAlias.__typing_unpacked_tuple_args__`  sL     }}cM5+=+=>??~~U* LMM<<r~   c                 <    [        U R                  S   [        5      $ Nr   )ry   r   r   r  s    r|   r  7_UnpackGenericAlias.__typing_is_unpacked_typevartuple__k  s     $--*L99r~   r   )r   r   r   r  r  rx  propertyr   r  r!  r  r  s   @r|   r  r  U  s6    @
)
   : :r~   r  c                       \ rS rSrSrg)rW  ir  r   N)r   r   r   r  r!  r   r~   r|   rW  rW  r  s     r~   rW  >   _is_protocolr  r3  r   __type_params____protocol_attrs___is_runtime_protocol__non_callable_proto_members__>   rD  r  r  rH  r   r   r9  __match_args____annotations__r  __subclasshook____class_getitem____abstractmethods__r!  _MutableMapping__markerc                    [        5       nU R                  S S  Ho  nUR                  S;   a  M  [        US0 5      n/ UR                  QUQ7 H8  nUR                  S5      (       a  M  U[        ;  d  M'  UR                  U5        M:     Mq     U$ )Nr   >   r   r   r  _abc_)r  __mro__r   r   r  r  EXCLUDED_ATTRIBUTESadd)r   attrsr   annotationsr(  s        r|   _get_protocol_attrsr    s     EECR ==33d$5r:2dmm2k2D??7++<O0O		$ 3	 ! Lr~   c                 X   [        U 5      nUR                  (       a  [        S5      eUR                  [        La  g UR
                   H4  nUR                  R                  S[        5      nU[        Ld  M.  XSl          O   [        R                  Ul        UR                  " U /UQ70 UD6  g )Nz Protocols cannot be instantiatedrH  )	rx   r  r   rH  _no_init_or_replace_initr  r  r  object)r  r   r  r   r   inits         r|   r  r    s    
t*C
:;; ||33 }}  -EF//L	  LL'''r~   r  c                      [         R                  " U S-   5      =(       d    U$ ! [         a     Of = f [         R                  " U S-   5      R                  R                  SU5      $ ! [        [        4 a     g f = f)Nr  r   )r  _getframemodulenamerK  	_getframe	f_globalsr  r   )depthdefaults     r|   _callerr    sx    &&uqy1<W< }}UQY'1155j'JJJ' s   !$ 
112A( (A;:A;r   c                     [        U 5      S;   $ )N>   Nr   r  )r  )r  s    r|   _allow_reckless_class_checksr    s     5>777r~   )r   r1   r&   r'   r3   r2   r$   r/   r"   r5   r8   BufferAbstractContextManagerAbstractAsyncContextManager)zcollections.abc
contextlibc                      SSK Jn   U $ )Nr   getattr_static)inspectr  r  s    r|   _lazy_load_getattr_staticr    s     'r~   c                 (    [         U R                  44$ r   )r   r   )psargss    r|   _pickle_psargsr    s    6,,...r~   c                 (    [         U R                  44$ r   )r   r   )pskwargss    r|   _pickle_pskwargsr    s    X00222r~   c                 D    [        U [        5      (       d  [        S5      eg )Nz"issubclass() arg 1 must be a class)ry   rx   r   r   s    r|   _type_check_issubclass_arg_1r    s"     c4  <== !r~   c                   @   ^  \ rS rSrU 4S jrU 4S jrS rS rSrU =r	$ )_ProtocolMetai  c                b  > US:X  a  U[         4:X  a  O[        U;   a  U H{  nU[        [         1;   a  M  UR                  [        R                  UR                  / 5      ;   a  ME  [        U[         5      (       a  [        USS5      (       a  Mn  [        SU< 35      e   [        TU ],  " XX#40 UD6$ )Nr   r  Fz5Protocols can only inherit from other protocols, got )r   r   r  r   _PROTO_ALLOWLISTr  r   r9  r   r   r  r  )mclsr  rR  	namespacer  r   r  s         r|   r  _ProtocolMeta.__new__  s    :%G:"5VW--}}(8(<(<T__b(QQ"411#D.%@@ $#h(   wt5FvFFr~   c                 l   > [         TU ]  " U0 UD6  [        U SS5      (       a  [        U 5      U l        g g Nr  F)r  rH  r   r  r  r  s      r|   rH  _ProtocolMeta.__init__  s6    $)&)3..%8%=C" /r~   c                    U [         L a  [        R                  X5      $ [        U SS5      (       a  [	        5       (       d  [        U SS5      (       d  [        U5        [        S5      eU R                  (       a]  U R                  R                  S5      [        L a;  [        U5        [        U R                  5      n[        S[        U5      SS  S	35      e[        X5      $ )
Nr  Fr  LInstance and class checks can only be used with @runtime_checkable protocolsr  zRProtocols with non-method members don't support issubclass(). Non-method members: r  r   r   )r   rx   rt  r   r  r  r   r  r  r  _proto_hooksortedrz   _abc_subclasscheck)r   re  non_method_attrss      r|   rt  _ProtocolMeta.__subclasscheck__  s    (?))#55C//0223 6>>,U33  22LL$$%78KG,U3#)#*L*L#M ,,/0@,A!B,G+HK  "#--r~   c                    U [         L a  [        R                  X5      $ [        U SS5      (       d  [	        X5      $ [        U SS5      (       d  [        5       (       d  [        S5      e[	        X5      (       a  g[        5       nU R                   H"  n U" X5      nUb  M  X0R                  ;  d  M"    g   g! [         a       gf = f)Nr  Fr  r%  T)r   rx   ro  r   _abc_instancecheckr  r   r  r  rK  r  )r   instancer  r(  rI  s        r|   ro  _ProtocolMeta.__instancecheck__8  s     (?))#88sNE22%c44 3U;;,.. < = = c,,24**D$X4 {t+M+MM  +  "  s   B66
CCr   )
r   r   r   r  r  rH  rt  ro  r!  r  r  s   @r|   r  r    s    G&>
.4 r~   r  c                    U R                   R                  SS5      (       d  [        $ U R                   H  nUR                   H  nX#R                   ;   a  UR                   U   c
  [        s  s  $   M>  [        US0 5      n[        U[        R                  R                  5      (       d  Mg  X$;   d  Mn  [        U[        5      (       d  M  [        USS5      (       d  M    M     [        s  $    g)Nr  Fr  T)r  r  r  r  r  r   ry   r   r   r)   r9  r   )r   re  r(  r   r  s        r|   r&  r&  Z  s    <<NE22&&MMD}}$==&.)) "$(92>K;(?(?@@'ug..75.RW3X3X " "! '  r~   c                   4   ^  \ rS rSrSrSrSrU 4S jrSrU =r	$ )r   ir  r   TFc                 V  > [         TU ]  " U0 UD6  U R                  R                  SS5      (       d!  [	        S U R
                   5       5      U l        SU R                  ;  a  [        U l        U R                  (       a*  U R                  [        R                  L a  [        U l	        g g g )Nr  Fc              3   0   #    U  H  o[         L v   M     g 7fr   r   r   r>  s     r|   r   -Protocol.__init_subclass__.<locals>.<genexpr>  s     "H-Q=-s   r  )r  r=  r  r  r<  r  r  r&  r  rH  r   r  r  s      r|   r=  Protocol.__init_subclass__  s    !4262 ||66""H#--"HHC S\\1#.C  0A0A A3CL !Br~   )
r   r   r   r  r   r  r  r=  r!  r  r  s   @r|   r   r   r  s     B IL 4 4r~   r   c                   X   ^  \ rS rSrU 4S jrS rS rS rS rS r	U 4S jr
S	 rS
rU =r$ )_AnnotatedAliasi  c                    > [        U[        5      (       a  UR                  U-   nUR                  n[        TU ]  XSS9  X l        g )Nr   r  )ry   r8  __metadata__r   r  rH  )r  r0  metadatar  s      r|   rH  _AnnotatedAlias.__init__  sC    fo..**X5H&&Fk:$r~   c                 6    US   n[        X R                  5      $ r  )r8  r:  )r  r   new_types      r|   r4  _AnnotatedAlias.copy_with  s    !9x):):;;r~   c                     SR                  [        U R                  5      SR                  S U R                   5       5      5      $ )Nztyping.Annotated[{}, {}]r   c              3   8   #    U  H  n[        U5      v   M     g 7fr   )r   r  s     r|   r   +_AnnotatedAlias.__repr__.<locals>.<genexpr>  s     9'8!d1gg'8r   )formatr   r   r   r:  r  s    r|   r  _AnnotatedAlias.__repr__  s9    )00t'II9t'8'899
 	
r~   c                 b    [         R                  [        U R                  4U R                  -   44$ r   )r2  rG  r   r   r:  r  s    r|   r\  _AnnotatedAlias.__reduce__  s1    )D,=,=="
 
 	
r~   c                     [        U[        5      (       d  [        $ U R                  UR                  :H  =(       a    U R                  UR                  :H  $ r   )ry   r8  r  r   r:  rd  s     r|   r  _AnnotatedAlias.__eq__  sE    %11!!5#3#33 <%%););;	=r~   c                 D    [        U R                  U R                  45      $ r   )r  r   r:  r  s    r|   r  _AnnotatedAlias.__hash__  s    T__d&7&7899r~   c                 0   > US;   a  g[         TU ]  U5      $ )N>   r   r   r   )r  rM  rR  s     r|   rM  _AnnotatedAlias.__getattr__  s    //w"4((r~   c                     U R                   4$ r   )r   rQ  s     r|   rS  _AnnotatedAlias.__mro_entries__  s    !!r~   )r:  )r   r   r   r  rH  r4  r  r\  r  r  rM  rS  r!  r  r  s   @r|   r8  r8    s0    %<



=:)
" "r~   r8  c                     [        U5      S:  a  [        S5      e[        US   5      (       a  [        S5      eSn[        US   USS9n[	        USS  5      n[        X45      $ )	Nr   zUAnnotated[...] should be used with at least two arguments (a type and an annotation).r   z?Annotated[...] should not be used with an unpacked TypeVarTuplez$Annotated[t, ...]: t must be a type.Trs   r  )r   r   r   r   r   r8  )r  r   r   r0  r;  s        r|   r   r     sw    b 6{Q ' ( 	( !++ 0 1 	1
0CCTBFVABZ H6,,r~   c                 |   [        U [        5      (       a  [        U SS5      (       d  [        SU -  5      eSU l        [        5       U l        U R                   H=  n [        [        XS 5      5      nU(       d  U R                  R                  U5        M=  M?     U $ ! [         a  n[        SU< S35      UeS nAff = f)Nr  FzB@runtime_checkable can be only applied to protocol classes, got %rTz,Failed to determine whether protocol member z is a method member)r9  r   r   r   r  r  r  r  callabler  r4  )r   r(  is_callablees       r|   rk   rk   	  s    & c7##73+N+N "$'( ) 	)#C
 *-C&&&		="73d#;<K 2266t<  ' J  	>th G% % 	s   B
B;%B66B;c                     U$ r   r   )r   rI  s     r|   rT   rT   C	  s	     Jr~   c                    U $ r   r   )rI  r   s     r|   rR   rR   N	  s	     Jr~   c                    [        U SS 5      (       a  0 $ [        U [        5      (       GaP  0 n[        U R                  5       H  nUc6  [        [
        R                  R                  UR                  S 5      S0 5      nOUnUR                  R                  S0 5      n[        U[        R                  5      (       a  0 nUc  [        [        U5      5      OUnUc  Uc  XpUR                  5        HM  u  pU
c  [        S 5      n
[        U
[        5      (       a  [!        U
SSS9n
[#        XXR$                  5      n
XU	'   MO     M     U(       a  U$ UR                  5        VVs0 s H  u  pU['        U5      _M     snn$ Ucq  [        U [        R(                  5      (       a  U R                  nO?U n[+        US5      (       a  UR,                  n[+        US5      (       a  M  [        US0 5      nUc  UnOUc  Un[        U SS 5      nUc1  [        U [.        5      (       a  0 $ [1        S	R3                  U 5      5      e[        U5      n[        U S
S5      nUR                  5        H^  u  pU
c  [        S 5      n
[        U
[        5      (       a(  [!        U
[        U [        R(                  5      (       + SS9n
[#        XX.5      XI'   M`     U(       a  U$ UR                  5        VVs0 s H  u  pU['        U5      _M     snn$ s  snnf s  snnf )N__no_type_check__r  r  FT)r   rw   __wrapped____globals__z1{!r} is not a module, class, method, or function.r  r   )r   ry   rx   reversedr  r  r  r  r   r  r   GetSetDescriptorTyper   varsitemsrz   r   r)  r  _strip_annotations
ModuleTyper   rX  _allowed_typesr   rC  )r   r+  r,  include_extrashintsr   base_globalsannbase_localsr  valuer  r   nsobjr-  s                  r|   r\   r\   c	  s   > s'..	#tS[[)D&s{{t'Mz[]^'--##$5r:C#u99::.5o$tDz*7K8#3 -8k"yy{= JEeS))&u%$OE"5EYEYZ#d  +# *0 'u`RWR]R]R_,`R_$!Q0B10E-ER_,``c5++,,||HE%//)) %//umR8H?G	C*D1E}c>**I ++16#;8 8KE#0"5K{{}=JEeS!!  *30@0@ AAE
 !'G % #5\ekkm(\mda,>q,A)Am(\\K -aJ )]s   K7K=c                 "   [        U [        5      (       a  [        U R                  5      $ [	        U S5      (       a7  U R                  [
        [        [        4;   a  [        U R                  S   5      $ [        U [        5      (       a>  [        S U R                   5       5      nXR                  :X  a  U $ U R                  U5      $ [        U [        5      (       aC  [        S U R                   5       5      nXR                  :X  a  U $ [        U R                  U5      $ [        U [        R                  5      (       aR  [        S U R                   5       5      nXR                  :X  a  U $ [        R                   " ["        R$                  U5      $ U $ )Nr   r   c              3   8   #    U  H  n[        U5      v   M     g 7fr   r^  r  s     r|   r   %_strip_annotations.<locals>.<genexpr>	       HZ033Zr   c              3   8   #    U  H  n[        U5      v   M     g 7fr   rj  r  s     r|   r   rk  	  rl  r   c              3   8   #    U  H  n[        U5      v   M     g 7fr   rj  r  s     r|   r   rk  	  rl  r   )ry   r8  r^  r   r   ri   re   rh   r   r   r   r4  r	   r   r   r  r1  r2  r3  )r   stripped_argss     r|   r^  r^  	  s    !_%%!!,,//q,ALLX{H4U$U!!**Q-00!]##HQZZHHJJ&H{{=))!\""HQZZHHJJ&HALL-88!U__%%HQZZHHJJ&Hm<<Hr~   c                    [        U [        5      (       a  [        $ [        U [        [        [
        [        45      (       a  U R                  $ U [        L a  [        $ [        U [        R                  5      (       a  [        R                  $ g r   )ry   r8  r   r+  r	   r   r   r   r   r   r   tps    r|   rY   rY   	  si    $ "o&&"(,$o7 8 8}}	W}"eoo&&r~   c                 P   [        U [        5      (       a  U R                  4U R                  -   $ [        U [        [
        45      (       a1  U R                  n[        X5      (       a  [        US S 5      US   4nU$ [        U [        R                  5      (       a  U R                  $ g)Nr   r   )ry   r8  r   r:  r   r	   r   r   r   r   r   )rr  r=  s     r|   rX   rX   	  s     "o&&"//11"}l344kk*233CR>3r7+C
"eoo&&{{r~   c                 "    [        U [        5      $ r   )ry   r  rq  s    r|   r^   r^   
  s     b.))r~   d   r{   c                r    [        U 5      n[        U5      [        :  a  US [         S-   n[        SU 35      e)Nr   z*Expected code to be unreachable, but got: )r   r   _ASSERT_NEVER_REPR_MAX_LENGTHAssertionError)r{   rf  s     r|   rS   rS   -
  s@    & IE
5z11445=
EeWM
NNr~   c                 :   [        U [        5      (       a  [        U 5       H  n[        X5      n[	        US5      (       aD  UR
                  U R
                   SUR                   3:w  d  [        USS 5      U R                  :w  a  Me  [        U[        R                  5      (       a  SUl
        [        U[        R                  5      (       a  SUR                  l
        [        U[        5      (       d  M  [        U5        M      SU l
        U $ ! [         a     U $ f = f)Nr   r   r   T)ry   rx   rQ  r   r   r   r   r   r   r   rW  
MethodType__func__rb   r   )r{   keyr   s      r|   rb   rb   F
  s     #ts8C##CC00###*:*:);1S\\N'KK3d3s~~E
 #u1122(,%#u//0015.#t$$c"% & $ J  Js   D 
DDc                 n   ^  SS K nUR                  SSS9  [        R                  " T 5      U 4S j5       nU$ )Nr   ztyping.no_type_check_decoratorr     r  c                  .   > T" U 0 UD6n[        U5      nU$ r   )rb   )r   r   r   r	  s      r|   wrapped_decorator2no_type_check_decorator.<locals>.wrapped_decoratorr
  s!    $'$'T"r~   )r  r  r  r  )r	  r  r  s   `  r|   rc   rc   j
  s?     9'J__Y  
 r~   c                      [        S5      e)NzYou should not call an overloaded function. A series of @overload-decorated functions outside a stub module should always be followed by an implementation that is not @overload-ed.)NotImplementedError)r   r   s     r|   _overload_dummyr  {
  s    
	9: :r~   c                     [        U SU 5      n U [        UR                     UR                     UR                  R
                  '   [        $ ! [         a     [        $ f = fNr{  )r   _overload_registryr   r   __code__co_firstlinenorK  r  )r   fs     r|   rf   rf   
  sa    @ 	j$'AVZ1<<(89R9RS   s   7A 
AAc                     [        U SU 5      nUR                  [        ;  a  / $ [        UR                     nUR                  U;  a  / $ [	        X!R                     R                  5       5      $ r  )r   r   r  r   r   values)r   r  mod_dicts      r|   rZ   rZ   
  s^     	j$'A||--	!!,,/H~~X%	(//122r~   c                  ,    [         R                  5         g r   )r  clearr   r~   r|   rU   rU   
  s    r~   c                 D     SU l         U $ ! [        [        4 a     U $ f = fNT)	__final__rK  r   )r  s    r|   rW   rW   
  s5    4 H I&  	H    TKTVTT_co)	covariantV_coVT_coT_contra)contravariantCT_co)r  boundrQ   r  a  Deprecated alias to collections.abc.Callable.

    Callable[[int], str] signifies a function that takes a single
    parameter of type int and returns a str.

    The subscription syntax must always be used with exactly two
    values: the argument list and the return type.
    The argument list must be a list of types, a ParamSpec,
    Concatenate or ellipsis. The return type must be a single type.

    There is no syntax to indicate optional or keyword arguments;
    such function types are rarely used as callback types.
    r    r  )r     )r  r   r   r,  a]  Deprecated alias to builtins.tuple.

    Tuple[X, Y] is the cross-product type of X and Y.

    Example: Tuple[T1, T2] is a tuple of two elements corresponding
    to type variables T1 and T2.  Tuple[int, float, str] is a tuple
    of an int, a float and a string.

    To specify a variable-length tuple of homogeneous type, use Tuple[T, ...].
    rE   rB   rG   rH   rC   rD   )r  r   a  Deprecated alias to builtins.type.

    builtins.type or typing.Type can be used to annotate class objects.
    For example, suppose we have the following classes::

        class User: ...  # Abstract base for User classes
        class BasicUser(User): ...
        class ProUser(User): ...
        class TeamUser(User): ...

    And a function that takes a class argument that's a subclass of
    User and returns an instance of the corresponding class::

        def new_user[U](user_class: Type[U]) -> U:
            user = user_class()
            # (Here we could write the user object to a database)
            return user

        joe = new_user(BasicUser)

    At this point the type checker knows that joe has type BasicUser.
    c                   0    \ rS rSrSr\S\4S j5       rSrg)r>   iV  r   r  c                     g r   r   r  s    r|   __int__SupportsInt.__int__\      r~   N)	r   r   r   r  r   r   intr  r!  r   r~   r|   r>   r>   V  s"     I  r~   r>   c                   0    \ rS rSrSr\S\4S j5       rSrg)r<   ia  r   r  c                     g r   r   r  s    r|   	__float__SupportsFloat.__float__g  r  r~   N)	r   r   r   r  r   r   floatr  r!  r   r~   r|   r<   r<   a  "     I5  r~   r<   c                   0    \ rS rSrSr\S\4S j5       rSrg)r;   il  r   r  c                     g r   r   r  s    r|   __complex__SupportsComplex.__complex__r  r  r~   N)	r   r   r   r  r   r   complexr  r!  r   r~   r|   r;   r;   l  s"     IW  r~   r;   c                   0    \ rS rSrSr\S\4S j5       rSrg)r:   iw  r   r  c                     g r   r   r  s    r|   	__bytes__SupportsBytes.__bytes__}  r  r~   N)	r   r   r   r  r   r   bytesr  r!  r   r~   r|   r:   r:   w  r  r~   r:   c                   0    \ rS rSrSr\S\4S j5       rSrg)r=   i  r   r  c                     g r   r   r  s    r|   	__index__SupportsIndex.__index__  r  r~   N)	r   r   r   r  r   r   r  r  r!  r   r~   r|   r=   r=     s"     I3  r~   r=   c                  @   ^^ S 7=m4m " UU4S jST7
n [         U 5      $ )r  c                   :   > \ rS rSr Y rSr\S Y4S j5       rSrg)r9   i  r   r  c                     g r   r   r  s    r|   __abs__SupportsAbs.__abs__  r  r~   N)	r   r   r   r  r  r   r   r  r!  .type_paramsr  s   r|   r9   r9     s%      I  r~   r9   r3  .generic_baser  r  s    @@r|   #<generic parameters of SupportsAbs>r    s      X r~   c                  @   ^^ S 7=m4m " UU4S jST7
n [         U 5      $ )r  c                   B   > \ rS rSr Y rSr\SS\S Y4S jj5       rSr	g)r?   i  r   ndigitsr  c                     g r   r   )r  r  s     r|   	__round__SupportsRound.__round__  r  r~   Nr   )
r   r   r   r  r  r   r   r  r  r!  r  s   r|   r?   r?     s,      I Q  r~   r?   r3  r  s    @@r|   %<generic parameters of SupportsRound>r    s      x r~   r   c                     U VVs/ s H  u  pEUPM	     nnnU VVs0 s H  u  pEU[        USU S35      _M     nnn[        R                  " XX2S9nU=Ul        UR                  l        U$ s  snnf s  snnf )Nzfield z annotation must be a typer  rv   )r   r   
namedtupler  r  )r  r   rv   r  nr   fieldsnm_tpls           r|   _make_nmtupler    s    !"EDAaEF"  As*DEFF 
  ##D-5FF>CCFV^^;M # s
   A+A1>
   _maker  _asdict_fields_sourcerH  _replacer   __getnewargs___field_defaults>   r   r   r  c                       \ rS rSrS rSrg)NamedTupleMetai  c                    U H"  nU[         Ld  M  U[        Ld  M  [        S5      e   [        S U 5       5      nUR	                  S0 5      n/ nU HV  nXs;   a  UR                  U5        M  U(       d  M$  [        SU S[        U5      S:  a  SOS S	S
R                  U5       35      e   [        XR                  " 5       U Vs/ s H  oU   PM	     snUS   S9n	X)l
        [        U;   a  [        n
[        U
5      U	l        UR                  5        Hd  u  pU[        ;   a  [        SU-   5      eU[         ;  d  M)  XR"                  ;  a  [%        XU5         ['        U5      R(                  n U" XU5        Mf     [        U;   a  U	R1                  5         U	$ s  snf ! [*         a6  nUR-                  S['        U5      R.                  < SU< SU< 35        e S nAff = f! [         a     M  f = f)Nz3can only inherit from a NamedTuple type and Genericc              3   B   #    U  H  o[         L a  [        OUv   M     g 7fr   )_NamedTupler   )r   r   s     r|   r   )NamedTupleMeta.__new__.<locals>.<genexpr>  s     O{2e<   r  zNon-default namedtuple field z cannot follow default fieldr  sr   r   r   r  z&Cannot overwrite NamedTuple attribute zError calling __set_name__ on z
 instance z in )r  r   r   r   r  r   r   r   r  r]  r  r  classmethodr  _prohibitedrK  _specialr  rH  rx   __set_name__BaseExceptionadd_noter   r=  )r   typenamerR  nsr   r   default_names
field_namer  r  class_getitemr|  rI  set_namerS  s                  r|   r  NamedTupleMeta.__new__  s   D;&4w+>IK K  OOO("-J$$Z0"?
| L>*-m*<q*@3b"I#'99]#;"<!> ? ?	   x8E(F1A(F&(&68 !e2M'2='AF$
HCk!$%MPS%STTH$nn,F-#Cy55H c2 #( e$$&; )G( ) 

<T#Y=O=O<R S((+wd8,@  & s0   FG,	F
G$1GG
G+*G+r   N)r   r   r   r  r  r!  r   r~   r|   r  r    s    /r~   r  c                p   U[         L a!  U(       a  SnSnOQSnSU  SU < S3nSU-   S-   nO<Uc'  U(       a  [        S	5      eS
nSU  SU < S3nSU-   S-   nOU(       a  [        S5      eU[         L d  Uc%  SS KnUR                  WWSS9  UR	                  5       n[        X[        5       S9n[        4Ul        U$ )Nz3Creating NamedTuple classes using keyword argumentszq{name} is deprecated and will be disallowed in Python {remove}. Use the class-based or functional syntax instead.2Failing to pass a value for the 'fields' parameter`z = NamedTuple(z, [])`z{name} is deprecated and will be disallowed in Python {remove}. To create a NamedTuple class with 0 fields using the functional syntax, pass an empty list, e.g. r   z\Cannot pass `None` as the 'fields' parameter and also specify fields using keyword arguments(Passing `None` as the 'fields' parameterzIEither list of fields or keywords can be provided to NamedTuple, not bothr   r~  messager   rv   )	r.  r   r  r  r]  r  r  rI   r  )r  r  r  deprecated_thingdeprecation_msgexampler  nts           r|   rI   rI     s   ( TD 
  T(>(VDG, 
 O 
B 
  J(>(VDG, 
 O 
 C D 	Dfn-wW	x		:B#BIr~   rI   c                     [         4$ r   )r  rR  s    r|   _namedtuple_mro_entriesr  (  s
    >r~   c              #   &  #     [        U 5      nU[        L a  [        U 5      nU(       a  US   n O_g U[        L a  [        v   [        U 5      u  n O?U[        L a  [        v   [        U 5      u  n O U[
        L a  [
        v   [        U 5      u  n Og M  7fr  )rY   r   rX   ri   re   rh   )annotation_typeannotation_originannotation_argss      r|   _get_typeddict_qualifiersr  /  s     
&7	)&7O"1!"4(*N!)/!:_+-!)/!:_(*N!)/!:_% s   BBc                   ,    \ rS rSrSS jr\rS r\rSr	g)r  iE  c                 t   U H+  n[        U5      [        Ld  M  U[        Ld  M"  [        S5      e   [	        S U 5       5      (       a  [        4nOSn[         R                  [        U/ UQ[        P7U5      n[        US5      (       d  X'l        0 nUR                  S0 5      n	Sn
U	R                  5        VVs0 s H  u  pU[        XUR                  S9_M     n	nn[        5       n[        5       n[        5       n[        5       nU H  nUR                  UR                  R                  S0 5      5        UR                  R                  S[        5       5      nUU-  nUU-  nUR                  R                  S	[        5       5      nUU-  nUU-  nUR                  UR                  R                  S
S5      5        UR                  UR                  R                  SS5      5        M     UR                  U	5        U	R                  5        H  u  nn[        [!        U5      5      n["        U;   a  SnO[$        U;   a  SnOUnU(       a#  UR'                  U5        UR)                  U5        O"UR'                  U5        UR)                  U5        [*        U;   a)  UU;   a  [        SU< S35      eUR'                  U5        M  UR'                  U5        UR)                  U5        M     Xl        [/        U5      Ul        [/        U5      Ul        [/        U5      Ul        [/        U5      Ul        XGl        U$ s  snnf )NzHcannot inherit from both a TypedDict type and a non-TypedDict base classc              3   B   #    U  H  n[        U[        5      v   M     g 7fr   )r9  r   r4  s     r|   r   )_TypedDictMeta.__new__.<locals>.<genexpr>S  s     5u!z!W%%ur  r   r  r  z?TypedDict('Name', {f0: t0, f1: t1, ...}); each t must be a typer  __required_keys____optional_keys____readonly_keys____mutable_keys__TFzCannot override mutable key z with read-only key)rx   r  r   r   r<  r  r   r   r  r  r]  r   r   r  updater  r  ri   re   r  discardrh   r  r  r  r	  r
  r  	__total__)r   r  rR  r  totalr   generic_basetp_dictr  own_annotationsr   r  rr  required_keysoptional_keysreadonly_keysmutable_keysbase_requiredbase_optionalannotation_keyr   
qualifiersis_requireds                          r|   r  _TypedDictMeta.__new__F  s    DDz/D4G !A B B 
 5u555#:LL,,~t5J|5JT5JBOw 011%*"&&!2B7O )..0
0 {27+=+=>>0 	 
 uDt}}001BBGH MM--.A35IM]*M]*M MM--.A35IM]*M]*M  !2!23F!KL 1 12Db IJ  	?+/>/D/D/F+NO6GHJ:%"
*##!!.1%%n5!!.1%%n5:%!\1#6~6H-.  !!.1  0%%n53 0G> #.$-m$<!$-m$<!$-m$<!#,\#: !{
s   8!L4c                     [        S5      e)Nz4TypedDict does not support instance and class checksr<  )r   re  s     r|   rt   _TypedDictMeta.__subclasscheck__  s    NOOr~   r   N)T)
r   r   r   r  r  r   r`  rt  ro  r!  r   r~   r|   r  r  E  s    Wr HP *r~   r  r  c                   U[         L d  Uc6  SS KnU[         L a  SnOSnSU  SU < S3nSU-   S-   nUR                  XFS	S
9  0 nS[        U5      0n[	        5       nUb  XS'   [        U SXrS9n	[        4U	l        U	$ )Nr   r  r  r  z = TypedDict(z, {{}})`z{name} is deprecated and will be disallowed in Python {remove}. To create a TypedDict class with 0 fields using the functional syntax, pass an empty dictionary, e.g. r   r~  r  r  r   r   r  )r.  r  r  r   r  r  rJ   r  )
r  r  r  r  r  r  r  r  rv   tds
             r|   rJ   rJ     s    n fnYSIhZ}XLE. 
  	-wW
T&\	*BYF!<	"b	6B"BIr~   rJ   c                     [         4$ r   )
_TypedDictr  s    r|   <lambda>r$    s    :-r~   c                 J    [        XR                   S35      n[        X45      $ Nz accepts only a single type.r   rC  r   r  s      r|   ri   ri     s'    ( zjj\1M#NODw''r~   c                 J    [        XR                   S35      n[        X45      $ r&  r'  r  s      r|   re   re     s'     zjj\1M#NODw''r~   c                 J    [        XR                   S35      n[        X45      $ r&  r'  r  s      r|   rh   rh   *  s'      zjj\1M#NODw''r~   c                   <    \ rS rSr\rS rS rS rS r	S r
S rSrg	)
ra   i>  c                     Xl         SU;   a  UR                  S5      S   nXl        X l        [	        5       nUS:w  a  X0l        g g )Nr   r   typing)r   
rpartitionr   __supertype__r  r   )r  r  rr  def_mods       r|   rH  NewType.__init__V  sF     $;??3'+D)h%O r~   c                 <   ^ U R                   m " U4S jS5      nU4$ )Nc                   "   > \ rS rSrU 4S jrSrg)z&NewType.__mro_entries__.<locals>.Dummyie  c           	      H   > U R                   n[        SU SU< ST S35      e)NzGCannot subclass an instance of NewType. Perhaps you were looking for: `z = NewType(r   z)`)r   r   )r   subclass_namesuperclass_names     r|   r=  8NewType.__mro_entries__.<locals>.Dummy.__init_subclass__f  s:     #%k-1B"_DUUWY r~   r   N)r   r   r   r  r=  r!  )r5  s   r|   Dummy&NewType.__mro_entries__.<locals>.Dummye  s     r~   r7  )r   )r  rR  r7  r5  s      @r|   rS  NewType.__mro_entries__`  s!     --	 	 xr~   c                 8    U R                    SU R                   3$ )Nr   )r   r   r  s    r|   r  NewType.__repr__o  s    //"!D$5$5#677r~   c                     U R                   $ r   )r   r  s    r|   r\  NewType.__reduce__r  s       r~   c                     [         X4   $ r   rc  rd  s     r|   rf  NewType.__or__u  rh  r~   c                     [         X4   $ r   rc  rd  s     r|   rj  NewType.__ror__x  rl  r~   )r   r   r   r.  N)r   r   r   r  r
   r`  rH  rS  r  r\  rf  rj  r!  r   r~   r|   ra   ra   >  s'    , H&8!""r~   ra   c                   F   \ rS rSrSr\\S\4S j5       5       r\\S\4S j5       5       r	\S!S j5       r
\\S\4S j5       5       r\S\4S	 j5       r\S!S
 j5       r\S\4S j5       r\S"S\S\4S jj5       r\S\4S j5       r\S"S\S\4S jj5       r\S"S\S\\   4S jj5       r\S#S\S\S\4S jj5       r\S\4S j5       r\S\4S j5       r\S$S\S\4S jj5       r\S\4S j5       r\S\S\4S j5       r\S\\   SS4S j5       r\S%S j5       r\S!S  j5       rSr g)&rM   i  r   r  c                     g r   r   r  s    r|   modeIO.mode       	r~   c                     g r   r   r  s    r|   r  IO.name  rF  r~   Nc                     g r   r   r  s    r|   closeIO.close  r  r~   c                     g r   r   r  s    r|   closed	IO.closed  rF  r~   c                     g r   r   r  s    r|   fileno	IO.fileno  r  r~   c                     g r   r   r  s    r|   flushIO.flush  r  r~   c                     g r   r   r  s    r|   isatty	IO.isatty  r  r~   r  c                     g r   r   )r  r  s     r|   readIO.read  r  r~   c                     g r   r   r  s    r|   readableIO.readable  r  r~   limitc                     g r   r   )r  r^  s     r|   readlineIO.readline  r  r~   hintc                     g r   r   )r  rb  s     r|   	readlinesIO.readlines  r  r~   offsetwhencec                     g r   r   )r  rf  rg  s      r|   seekIO.seek  r  r~   c                     g r   r   r  s    r|   seekableIO.seekable  r  r~   c                     g r   r   r  s    r|   tellIO.tell  r  r~   sizec                     g r   r   )r  rq  s     r|   truncateIO.truncate  r  r~   c                     g r   r   r  s    r|   writableIO.writable  r  r~   r  c                     g r   r   r  r  s     r|   writeIO.write  r  r~   linesc                     g r   r   )r  r|  s     r|   
writelinesIO.writelines  r  r~   c                     g r   r   r  s    r|   	__enter__IO.__enter__  r  r~   c                     g r   r   )r  rx   rf  	tracebacks       r|   __exit__IO.__exit__  r  r~   )r  N)r   r  r   )r  z
IO[AnyStr])!r   r   r   r  r   r  r   rz   rD  r  rJ  boolrM  r  rP  rS  rV  rQ   rY  r\  r`  rE   rd  ri  rl  ro  rs  rv  rz  r~  r  r  r!  r   r~   r|   rM   rM     s_    Ic    c                  c 6   $   c 6   c 4<   3  C   $   c   S C   $   v #   V       r~   rM   c                   R    \ rS rSrSr\S\\\4   S\	4S j5       r
\SS j5       rSrg)	rL   i  r   r  r  c                     g r   r   ry  s     r|   rz  BinaryIO.write  r  r~   c                     g r   r   r  s    r|   r  BinaryIO.__enter__  r  r~   N)r  rL   )r   r   r   r  r   r   r   r  	bytearrayr  rz  r  r!  r   r~   r|   rL   rL     sG     IuUI-. 3    r~   rL   c                       \ rS rSrSr\\S\4S j5       5       r\\S\	4S j5       5       r
\\S\\	   4S j5       5       r\\S\4S j5       5       r\\S\4S j5       5       r\SS	 j5       rSrg
)rP   i  r   r  c                     g r   r   r  s    r|   bufferTextIO.buffer  rF  r~   c                     g r   r   r  s    r|   encodingTextIO.encoding  rF  r~   c                     g r   r   r  s    r|   errorsTextIO.errors  rF  r~   c                     g r   r   r  s    r|   line_bufferingTextIO.line_buffering	  rF  r~   c                     g r   r   r  s    r|   newlinesTextIO.newlines  rF  r~   c                     g r   r   r  s    r|   r  TextIO.__enter__  r  r~   N)r  rP   )r   r   r   r  r   r  r   rL   r  rz   r  r   r  r  r  r   r  r  r!  r   r~   r|   rP   rP     s     I    #            #     r~   rP   c                  "    S 7=n4SUSU4S js8$ )r  r   r  c                d    [        S[        U 5      R                  < 3[        R                  S9  U $ )NzRuntime type is )file)printrx   r   r  stderrr   s    r|   rj   rj     s*     
T#Y//2
3#**EJr~   r   )	.defaultsr  s     r|   #<generic parameters of reveal_type>r    s       r~   c                   4   ^  \ rS rSr m U 4S j" 5       rSrU rg)_IdentityCallablei+  c                  $   > S 7=n4SUSU4S js8$ )r  r{   r  c                    g r   r   r   s     r|   r`  _IdentityCallable.__call__,  s    r~   r   )r  r  __classdict__s     r|    <generic parameters of __call__>2_IdentityCallable.<generic parameters of __call__>,  s     q  r~   r   N)r   r   r   r  r`  r!  __classdictcell__)r  s   @r|   r  r  +  s      r~   r  )
eq_defaultorder_defaultkw_only_defaultfrozen_defaultfield_specifiersr  r  r  r  r  .r  c                 (   ^ ^^^^^ U UUUUU4S jnU$ )Nc                 $   > TTTTTTS.U l         U $ )N)r  r  r  r  r  r  )__dataclass_transform__)	cls_or_fnr  r  r  r  r  r  s    r|   r	  &dataclass_transform.<locals>.decoratorw  s'    $*., 0-
	) r~   r   )r  r  r  r  r  r  r	  s   `````` r|   rV   rV   0  s    N	 	 r~   _Funcc                       [         S[        4   $ r   )r   r   r   r~   r|   r  r    s    Xc3h r~   c                  &    S S 8=n4SUSU4S js8$ )Fc                      [         $ r   )r  r   r~   r|   r  r    s    r~   methodr  c                D     SU l         U $ ! [        [        4 a     U $ f = fr  )__override__rK  r   )r  s    r|   rg   rg     s6    2" M I&  	Mr  r   )r  r  s     r|    <generic parameters of override>r    s    XX  q    r~   rr  c                j    [        U [        5      =(       a    [        U SS5      =(       a	    U [        :g  $ r"  )ry   rx   r   r   rq  s    r|   r]   r]     s0     	2t 	B.	(Nr~   c                j    [        U 5      (       d  [        U < S35      e[        U R                  5      $ )Nz is not a Protocol)r]   r   r  r  rq  s    r|   r[   r[     s1     r??2& 2344R**++r~   c                 6   U S;   a  SS K n[        [        X5      S5      nOkU S;   a&  SS Kn[        [        USU  35      SU [        S -  4S9nO?U S:X  a"  SS KnS	nUR                  U[        SS
9  [        nO[        S[        < SU < 35      eU[        5       U '   U$ )N>   rN   rO   r   r  >   r#   r7   Abstractr   )r  r  _collect_parameterszThe private _collect_parameters function is deprecated and will be removed in a future version of Python. Any use of private functions is discouraged and may break in the future.r  zmodule z has no attribute )re_aliasr   r  r  r  r  r  r   rK  r   r{  )r(  r  r   r  r  r  s         r|   rM  rM    s     ##WR&*	:	:WZ8D6):;QTUY\`U`Tbc	&	&; 	
 	l-?AN&wxl2DTHMNNGIdOJr~   r   r  )r  __main__)r   )NNF)r   )r   r   r   r   r   collections.abccopyregr  r2  r  r   r   r   r   r	   _typingr
   r   r   r   r   r   r   r   r   __all__r}   r   r   r   r   r  r   r   r   r   r   r   r   r   r  r   r  rz   r  r  r.  r  r)  r8  r@  r   r{  rx   r  r   rd   r`   rl   r_   r   r   r   r  r   r   ro   r   rp   rq   r   r   r  r  r  r  r  r  r$  r)  r+  r   r  r  r  r  r  r   r  r   r   rr   r  rW  _TYPING_INTERNALS_SPECIAL_NAMESr  r  r  r  r  r  r  r  r   r  r  pickler  ro  r,  rt  r(  r  r  r  r&  r   r8  r   rk   rT   rR   r   BuiltinFunctionTyperz  r_  r`  r\   r^  rY   rX   r^   rw  rS   rb   rc   r  partialr   r  rf   rZ   rU   rW   r  r  r  r  r  r  r  r  r  rQ   r  r$   r1   r4   r3   r2   r&   r'   r8   r/   r"   r5   r   rD  rG   r    r-   r)   r+   r.   r,   r!   r   r   r   rE   dequerB   r  rH   r*   r(   r%   r0   rC   rD   rF   rA   r@   rK   NoneTyper6   r   r>   r<   r;   r:   r=   r9   r?   r  r  r  r  rI   r  r  r  rS  r  r  rJ   r#  ri   re   rh   ra   rm   rn   rM   rL   rP   rj   r  rV   r  rg   r]   r[   rM  r   r~   r|   <module>r     s  * (  #     
  ^ ^
 
 
tn5 PU B@
02 HL / /dS> 16 /	A  	
U >
KS 
KT 
K  K	 2; (y{ (VF F ((/6<t (/V0\ 0	"t 	"$H $$ 4 4( 4 40 4 4& 4 44 ( (* ( (* )0 )0V " "
 
2  2B 4 4  6 62 4( 4(n A( A(HhDt hDVF F F
O O O&R" -$ -$`#&L9VTd VTHZ%T ZB9!<):$ 9!x/2$ /2L-t 2"&( &B&%T &&#}D &#R.D= D)}D ) /: /:d:-t ::3 3        (.8<U;VV "(:	8
 ,-JK    
  *66 7/ }n -3  0 1$ .. .. >"TG Tn  .24w- 24j1"lM 1"h 
9-  9-x'T  $$e&?&?""E$4$4'):<PR
a]H2<4*$ !$ Oe O5 O2!H": !!2!2;!EF &R	3
!N CLT]T]v&v&4(:T24t4
 
5#	& 
+//**A.;??,,a0	;??,,a0	{44a8{44a8+//**A.+//**A.KOO..2
{$$a(;??,,a0	KOO..2
1115 	  [__((!-@KOO..2

((!
,66:+//**A.88!<$OO7
 	5"5w7	  dAE/{  !'2S!%e,9ae+>	[__00!4+//**A.;??,,a0	KOO..2
dAE/[,,amD[,,a0
$$a
(+&&*;??,,a5>>5>>:Z[	66U^^DUVdAE/ 2 (   H   h   H   H        D E BC0T 0f !* <| ll><R@ 5
 ,`*T `*F  ) Qd Qf \\.+r2>
7	  ( (. ( ($ ( (&;" ;"~  ` `Fr%y  RW  F&  ! CEQQ Q 	Q
 Q DIc(::C?@Q Q Qh   FD  *,T ,3 ,&r~   