o 0¦i�iã@sÊ ddlmZmZddlZddlZddlZddlZddlZddlZ ddl Z ddl Z ddl m Z m Z mZmZgd¢Zdéddœdd„Zdêddœd d „Zd d „Zdd„Zdédd„Zdd„Zdd„Zdd„Zdd„Zdd„ZgZdéddœdd„Zeƒfdd „ZGd!d"„d"ƒZGd#d$„d$ƒZ Gd%d&„d&ed d'�Z!Gd(d)„d)e!d d'�Z"e!d*d+„ƒZ#e!d,d-„ƒZ$e!d.d/„ƒZ%e!d0d1„ƒZ&e!d2d3„ƒZ'e!d4d5„ƒZ(e"ed d�d6d7„ƒƒZ)e!d8d9„ƒZ*e!d:d;„ƒZ+e!dd?„d?ed d'�Z-Gd@dA„dAƒZ.GdBdC„dCee e.d d'�Z/GdDdE„dEee d d'�Z0GdFdG„dGee d d'�Z1GdHdI„dIee e.d d'�Z2dJdK„Z3GdLdM„dMed d'�Z4GdNdO„dOe4d d'�Z5GdPdQ„dQe4d d'�Z6GdRdS„dSe5d d'�Z7GdTdU„dUe6d d'�Z8GdVdW„dWe6d d'�Z9GdXdY„dYe5d d'�Z:dZd[„Z;Gd\d]„d]e5d d'�ZGdbdc„dcƒZ?Gddde„deƒZ@gdf¢ZAgdg¢ZBeAeBdhgZCdidj„ZDdkdl„ZEdmdn„ZFdëdqdr„ZGdìdtdu„ZHgdv¢dwdxgdyœZIGdzd{„d{eƒZJGd|d}„d}e>eJd~�ZKGdd€„d€e5d d'�ZLGd�d‚„d‚ƒZMdƒd„„ZNd…d†„ZOd‡dˆ„ZPe jQe jRe jSe jTe e efZUdíd‰dŠ„ZVd‹dŒ„ZWd�dŽ„ZXd�d�„ZYd‘d’„ZZd“d”„Z[d•d–„Z\d—d˜„Z]d™dš„Z^d›dœ„Z_e/d�ƒZ`e/džƒZae/dŸƒZbe/d d d¡�Zce/d¢d d¡�Zde/d£d d¡�Zee/d¤d d¥�Zfe/d¦d egd§�Zhe/d¨eiejƒZke6ZlelejjmdƒZmelejjndoƒZnelejjodsƒZoelejjpdoƒZpelejjqdoƒZqelejjrdoƒZrelejjsdoƒZselejjtdoƒZtelejjudƒZuelejjvdoƒZvelejjwdoƒZwe8ejjxd©ƒZxdªex_yelejjzdod«d¬�Z{elejj|doƒZ|elejj}d©ƒZ}elejj~d©ƒZ~elejjdoƒZelejj€doƒZ€elejj�dƒZ�e9e‚d­dd®d¯�Zƒd°eƒ_yele„dodd±d¯�Z…elej†dod²d¬�Z‡eleˆdodd³d¯�Zzeledodd´d¯�Z‰elejjŠdoƒZŠelejj‹doƒZ‹elejjŒd©ƒZŒelejj�doƒZ�elejŽdodµd¬�Z�elej�dod¶d¬�Z‘ele’d©dd·d¯�Z“elej”d©d¸d¬�Z•elej–d©ƒZ–elej—doƒZ—elej˜d©ƒZ˜elejj™dsƒZ™elejjšd©ƒZšelegdodd¹d¯�Z›dºe›_yeNGd»d¼„d¼eKƒƒZœeNGd½d¾„d¾eKƒƒZ�eNGd¿dÀ„dÀeKƒƒZžeNGdÁd„dÂeKƒƒZŸeNGdÃdÄ„dÄeKƒƒZ eNGdÅdÆ„dÆeKecƒƒZ¡eNGdÇdÈ„dÈeKecƒƒZ¢dîdÊdË„Z£ehdÌ£ƒZ¤ehdÍ£ƒZ¥GdÎdÏ„dÏegƒZ¦dédÐdÑ„Z§eg ¨e¦dÑdÉi¡Z©dÒdÓ„Zªeªe§_«GdÔdÕ„dÕegƒZ¬déd dÖœd×dØ„Z­eg ¨e¬dØdÉi¡Z®dÙdÚ„e­_«GdÛdÜ„d܃Z¯ejZ°dZ±GdÝdÞ„dÞe>ekƒZ²Gdßdà„dàe²eiƒZ³Gdádâ„dâe²ejƒZ´Gdãdä„däƒZµe¶dåeµ_¶eµe j·eµj¶<ele j¸doƒZ¸ele j¹doƒZ¹Gdædç„dçƒZe¶dèe_¶ee j·ej¶<dS)ïé)ÚabstractmethodÚABCMetaN)ÚWrapperDescriptorTypeÚMethodWrapperTypeÚMethodDescriptorTypeÚ GenericAlias)TÚ AnnotatedÚAnyÚCallableÚClassVarÚ ConcatenateÚFinalÚ ForwardRefÚGenericÚLiteralÚOptionalÚ ParamSpecÚProtocolÚTupleÚTypeÚTypeVarÚ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ÚcastÚfinalÚget_argsÚ get_originÚget_type_hintsÚ is_typeddictÚNewTypeÚ no_type_checkÚno_type_check_decoratorÚNoReturnÚoverloadÚ ParamSpecArgsÚParamSpecKwargsÚruntime_checkableÚTextÚ TYPE_CHECKINGÚ TypeAliasÚ TypeGuardF©Úallow_special_formscCs. |dur tdƒSt|tƒrt|||d�S|S)N)ÚmoduleÚis_class)ÚtypeÚ isinstanceÚstrr)Úargr^r]©rdú-/opt/alt/python310/lib64/python3.10/typing.pyÚ _type_convert‰s  rfTc CsÐ ttf}|s|tf7}|r|tf7}t|||d�}t|tƒr+|j|vr+t|›d�ƒ‚|t t tt fvr5|St|t ƒs@|ttfvrHtd|›d�ƒ‚t|t tttjtttfƒrW|St|ƒsft|›d|d›d�ƒ‚|S)N)r^r]z is not valid as type argumentzPlain z Got z.100Ú.)rrr r rfraÚ _GenericAliasÚ __origin__Ú TypeErrorr rSrZÚ _SpecialFormr`rrÚtypesÚ UnionTyperrUrVÚcallable)rcÚmsgÚ is_argumentr^r]Zinvalid_generic_formsrdrdreÚ _type_check’s*     ÿrqcCs|dup t|ttttfƒS)N.)raÚtupleÚlistrÚ_ConcatenateGenericAlias)rcrdrdreÚ_is_param_expr´s  ÿrucCsh t|tjƒr t|ƒSt|tƒr!|jdkr|jS|j›d|j›�S|dur'dSt|tjƒr0|jSt|ƒS)NÚbuiltinsrg.z...) rarlrÚreprr`Ú __module__Ú __qualname__Ú FunctionTypeÚ__name__)ÚobjrdrdreÚ _type_repr¹s    r}csl |durt}g‰|D]&}t||ƒr|ˆvrˆ |¡t|tttjfƒr1ˆ ‡fdd„|jDƒ¡q t ˆƒS)Ncsg|]}|ˆvr|‘qSrdrd©Ú.0Út©ÚtvarsrdreÚ Ûóz&_collect_type_vars..) rraÚappendrhrrlrmÚextendÚ__parameters__rr)Ztypes_Ú typevar_typesr€rdr�reÚ_collect_type_varsÎs €r‰c CsT |s t|›d�ƒ‚t|ƒ}||kr(td||krdnd›d|›d|›d|›�ƒ‚dS)Nz is not a generic classzToo ÚmanyÚfewz arguments for z ; actual z , expected )rjÚlen)ÚclsÚ parametersZelenZalenrdrdreÚ_check_genericßsÿÿÿr�cCs€ t|jƒdkr|rt|dƒs|fSt||t|jƒƒg}t||jƒD]\}}t|tƒr6t|tƒr6t|ƒ}|  |¡q$t|ƒS©Nér) rŒr‡rur�Úziprarrsrrr…)r�ÚparamsZ_paramsÚpZtvarrdrdreÚ_prepare_paramspec_paramsêsÿ ÿ r•cCsJt|ƒ}t|ƒt|ƒkr#g}|D]}||vr | |¡| |¡q|}|S©N)ÚsetrŒr…Úremove)r“Z all_paramsZ new_paramsr€rdrdreÚ _deduplicateýs  €r™cCsz g}|D]1}t|ttjfƒr| |j¡qt|tƒr1t|ƒdkr1|dtur1| |dd…¡q|  |¡qtt |ƒƒS)Nrr‘) raÚ_UnionGenericAliasrlrmr†Ú__args__rrrŒrr…r™©rŽr“r”rdrdreÚ_remove_dups_flatten s"  r�cCs: g}|D]}t|tƒr| |j¡q| |¡qt|ƒSr–)raÚ_LiteralGenericAliasr†r›r…rrrœrdrdreÚ_flatten_literal_paramss  rŸ©Útypedcs" ‡fdd„}|dur||ƒS|S)Ncs8tjˆd�ˆƒ‰t ˆj¡t ˆ¡‡‡fdd„ƒ}|S)Nr cs2zˆ|i|¤ŽWStyYnwˆ|i|¤ŽSr–©rj©ÚargsÚkwds©ÚcachedÚfuncrdreÚinner2s  ÿz+_tp_cache..decorator..inner)Ú functoolsÚ lru_cacheÚ _cleanupsr…Ú cache_clearÚwraps)r¨r©r r¦reÚ decorator.s  z_tp_cache..decoratorrd)r¨r¡r¯rdr reÚ _tp_cache*s   r°cs” t|tƒr | ˆˆˆ¡St|tttjfƒrHt‡‡‡fdd„|jDƒƒ}||jkr+|St|tƒr6t|j |ƒSt|tjƒrCt   t j |¡S| |¡S|S)Nc3s�|] }t|ˆˆˆƒVqdSr–)Ú _eval_type©rÚa©ÚglobalnsÚlocalnsÚrecursive_guardrdreÚ Ió€z_eval_type..)rarÚ _evaluaterhrrlrmrrr›rirªÚreduceÚoperatorÚor_Ú copy_with)r€rµr¶r·Zev_argsrdr´rer±@s      r±c@seZdZ dZdd„ZdS)Ú_Final)Ú __weakref__cOsd|vrtdƒ‚dS)NÚ_rootz&Cannot subclass special typing classesr¢©Úselfr¤r¥rdrdreÚ__init_subclass__Zsÿz_Final.__init_subclass__N)r{rxryÚ __slots__rÄrdrdrdrer¿Us r¿c@s"eZdZ dZdd„Zdd„ZdS)Ú _ImmutablerdcCó|Sr–rd©rÃrdrdreÚ__copy__bóz_Immutable.__copy__cCrÇr–rd)rÃZmemordrdreÚ __deepcopy__erÊz_Immutable.__deepcopy__N)r{rxryrÅrÉrËrdrdrdrerÆ^s  rÆc@sleZdZdZdd„Zdd„Zdd„Zdd „Zd d „Zd d „Z dd„Z dd„Z dd„Z dd„Z edd„ƒZdS)rk)Ú_nameÚ__doc__Ú_getitemcCs||_|j|_|j|_dSr–)rÎr{rÌrÍ)rÃÚgetitemrdrdreÚ__init__ns z_SpecialForm.__init__cCs|dvr|jSt|ƒ‚)N>r{ry)rÌÚAttributeError)rÃÚitemrdrdreÚ __getattr__ssz_SpecialForm.__getattr__cCótd|›�ƒ‚)NúCannot subclass r¢)rÃÚbasesrdrdreÚ__mro_entries__yóz_SpecialForm.__mro_entries__cCó d|jS©Nútyping.©rÌrÈrdrdreÚ__repr__|ó z_SpecialForm.__repr__cCó|jSr–rÜrÈrdrdreÚ __reduce__óz_SpecialForm.__reduce__cOrÔ)NzCannot instantiate r¢rÂrdrdreÚ__call__‚rØz_SpecialForm.__call__cCó t||fSr–©r©rÃÚotherrdrdreÚ__or__…ó z_SpecialForm.__or__cCó t||fSr–rärårdrdreÚ__ror__ˆrèz_SpecialForm.__ror__cCót|›d�ƒ‚)Nz! cannot be used with isinstance()r¢©rÃr|rdrdreÚ__instancecheck__‹rØz_SpecialForm.__instancecheck__cCrë)Nz! cannot be used with issubclass()r¢©rÃr�rdrdreÚ__subclasscheck__ŽrØz_SpecialForm.__subclasscheck__cCs | ||¡Sr–)rΩrÃrŽrdrdreÚ __getitem__‘s z_SpecialForm.__getitem__N)r{rxryrÅrÐrÓr×rÝràrârçrêrírïr°rñrdrdrdrerkksrk)rÁc@óeZdZdd„ZdS)Ú_LiteralSpecialFormcCs"t|tƒs|f}|j|g|¢RŽSr–)rarrrÎrðrdrdrerñ—s z_LiteralSpecialForm.__getitem__N)r{rxryrñrdrdrdreró–s rócCó t|›d�ƒ‚©Nz is not subscriptabler¢rðrdrdrer �ó r cCrôrõr¢rðrdrdrerS«s rScCó t||›d�ƒ}t||fƒS©Nz accepts only single type.©rqrh©rÃrŽrÒrdrdrer ºs r cCr÷rørùrúrdrdrer Îs r csˆ |dkr tdƒ‚t|tƒs|f}d‰t‡fdd„|Dƒƒ}t|ƒ}t|ƒdkr,|dSt|ƒdkr?tdƒ|vr?t||d d �St||ƒS) Nrdz Cannot take a Union of no types.z)Union[arg, ...]: each arg must be a type.c3ó�|]}t|ˆƒVqdSr–©rq©rr”©rordrer¸ó€zUnion..r‘rér©Úname)rjrarrr�rŒr`ršrðrdrþrerãs   rcCs" t||›d�ƒ}t|tdƒfS)Nz requires a single type.)rqrr`)rÃrŽrcrdrdrer srcGsJ t|ƒ}ztdd„ttt|ƒƒƒDƒƒ}Wn tyYnwt||ƒS)Ncss�|]\}}|VqdSr–rd)rr”Ú_rdrdrer¸0ó€zLiteral..)rŸrrr™rsÚ_value_and_type_iterrjržrðrdrdrers" ÿ rcCrôrõr¢rðrdrdrerZ7rörZcsx |dkr tdƒ‚t|tƒs|f}t|dtƒstdƒ‚d‰g‡fdd„|dd…Dƒ¢|d‘R}t||ttfdd �S) Nrdz&Cannot take a Concatenate of no types.éÿÿÿÿúAThe last parameter to Concatenate should be a ParamSpec variable.z/Concatenate[arg, ...]: each arg must be a type.c3rûr–rürýrþrdrer¸ZrÿzConcatenate..T©Ú_typevar_typesÚ_paramspec_tvars)rjrarrrrtrrðrdrþrer Fs  (þr cCr÷rørùrúrdrdrer[`s* r[c@sBeZdZ dZdddœdd„Zdd „Zd d „Zd d „Zdd„ZdS)r)Ú__forward_arg__Ú__forward_code__Ú__forward_evaluated__Ú__forward_value__Ú__forward_is_argument__Ú__forward_is_class__Ú__forward_module__TNF)r_cCstt|tƒs td|›�ƒ‚zt|ddƒ}Wnty"td|›�ƒ‚w||_||_d|_d|_||_ ||_ ||_ dS)Nz*Forward reference must be a string -- got zÚevalz/Forward reference must be an expression -- got F) rarbrjÚcompileÚ SyntaxErrorr r r rrrr)rÃrcrpr^r_ÚcoderdrdrerИs  ÿ zForwardRef.__init__cCs´|j|vr|S|jr||urW|dur|duri}}n |dur"|}n|dur(|}|jdur9ttj |jd¡d|ƒ}tt|j ||ƒd|j |j d�}t |||||jhBƒ|_ d|_|j S)NÚ__dict__z*Forward references must evaluate to types.)rpr]T)r r rÚgetattrÚsysÚmodulesÚgetrqrr rrr±r)rÃrµr¶r·Ztype_rdrdrerº§s0   ÿ üÿzForwardRef._evaluatecCsJt|tƒstS|jr|jr|j|jko|j|jkS|j|jko$|j|jkSr–)rarÚNotImplementedr r rrrårdrdreÚ__eq__Ás    ÿ  ÿzForwardRef.__eq__cCót|j|jfƒSr–)Úhashr rrÈrdrdreÚ__hash__ÊózForwardRef.__hash__cCsd|j›d�S)Nz ForwardRef(ú))r rÈrdrdrerÝÍrØzForwardRef.__repr__©TN) r{rxryrÅrÐrºrrrÝrdrdrdrer�s rc@s6eZdZ dd„Zdd„Zdd„Zdd„Zd d „Zd S) Ú _TypeVarLikecCsD |r |r tdƒ‚t|ƒ|_t|ƒ|_|rt|dƒ|_dSd|_dS)Nz"Bivariant types are not supported.zBound must be a type.)Ú ValueErrorÚboolÚ __covariant__Ú__contravariant__rqÚ __bound__)rÃÚboundÚ covariantÚ contravariantrdrdrerÐÒs   z_TypeVarLike.__init__cCrãr–rä©rÃÚrightrdrdrerçßrèz_TypeVarLike.__or__cCrér–rä©rÃÚleftrdrdrerêârèz_TypeVarLike.__ror__cCs&|jrd}n|jr d}nd}||jS)Nú+ú-ú~)r&r'r{)rÃÚprefixrdrdrerÝås  z_TypeVarLike.__repr__cCrßr–)r{rÈrdrdreràîráz_TypeVarLike.__reduce__N)r{rxryrÐrçrêrÝràrdrdrdrer#Ðs  r#cs,eZdZ dZddddœ‡fdd„ Z‡ZS)r)r{r(Ú__constraints__r&r'rNF©r)r*r+c s¨||_tƒ |||¡|r|durtdƒ‚|r!t|ƒdkr!tdƒ‚d‰t‡fdd„|Dƒƒ|_z t d¡j   dd¡}Wn t t fyHd}Ynw|d krR||_ dSdS) Nz-Constraints cannot be combined with bound=...r‘z"A single constraint is not allowedz:TypeVar(name, constraint, ...): constraints must be types.c3rûr–rür~rþrdrer¸*rÿz#TypeVar.__init__..r{Ú__main__Útyping)r{ÚsuperrÐrjrŒrrr4rÚ _getframeÚ f_globalsrrÑr$rx)rÃrr)r*r+Z constraintsÚdef_mod©Ú __class__rþrerÐ!s  ÿ ÿzTypeVar.__init__)r{rxryrÅrÐÚ __classcell__rdrdr<reròs +ÿrc@ó&eZdZ dd„Zdd„Zdd„ZdS)rUcCó ||_dSr–©ri©rÃÚoriginrdrdrerÐ?rÞzParamSpecArgs.__init__cCó|jj›d�S)Nz.args©rir{rÈrdrdrerÝBrØzParamSpecArgs.__repr__cCót|tƒstS|j|jkSr–)rarUrrirårdrdrerEó  zParamSpecArgs.__eq__N©r{rxryrÐrÝrrdrdrdrerU3ó   rUc@r?)rVcCr@r–rArBrdrdrerÐWrÞzParamSpecKwargs.__init__cCrD)Nz.kwargsrErÈrdrdrerÝZrØzParamSpecKwargs.__repr__cCrFr–)rarVrrirårdrdrer]rGzParamSpecKwargs.__eq__NrHrdrdrdrerVKrIrVcsDeZdZ dZedd„ƒZedd„ƒZddddœ‡fd d „ Z‡ZS) r)r{r(r&r'rcCót|ƒSr–)rUrÈrdrdrer¤”ózParamSpec.argscCrJr–)rVrÈrdrdreÚkwargs˜rKzParamSpec.kwargsNFr5c s`||_tƒ |||¡z t d¡j dd¡}Wn ttfy$d}Ynw|dkr.||_ dSdS)Nr‘r{r6r7) r{r8rÐrr9r:rrÑr$rx)rÃrr)r*r+r;r<rdrerМsÿ ÿzParamSpec.__init__) r{rxryrÅÚpropertyr¤rLrÐr>rdrdr<rercs-  rcCs| d¡o | d¡S)NÚ__)Ú startswithÚendswith)ÚattrrdrdreÚ _is_dunder§srRcsbeZdZ dddœdd„Zdd„Zdd „Zd d „Z‡fd d „Zdd„Zdd„Z ‡fdd„Z ‡Z S)Ú_BaseGenericAliasTN©ÚinstrcCs||_||_||_d|_dSr–)Ú_instrÌrirÅ)rÃrCrUrrdrdrerгs z_BaseGenericAlias.__init__cOsT|jstd|j›d|jj›d�ƒ‚|j|i|¤Ž}z||_W|Sty)Y|Sw)NzType z cannot be instantiated; use z () instead)rVrjrÌrir{Ú__orig_class__rÑ)rÃr¤rLÚresultrdrdrerâ¹s  ÿ þþz_BaseGenericAlias.__call__cCsjg}|j|vr | |j¡| |¡}||dd…D]}t|tƒs&t|tƒr+t|ƒSq| t¡t|ƒS)Nr‘)rir…ÚindexrarSÚ issubclassrrr)rÃrÖÚresÚiÚbrdrdrer×Äs   ü z!_BaseGenericAlias.__mro_entries__cCs<|dvr |jp |jjSd|jvrt|ƒst|j|ƒSt|ƒ‚)N>r{ryri)rÌrir{rrRrrÑ©rÃrQrdrdrerÓÐs  z_BaseGenericAlias.__getattr__cs4t|ƒs|dvrtƒ ||¡dSt|j||ƒdS)N>Ú_nparamsr rÌr rV)rRr8Ú __setattr__Úsetattrri)rÃrQÚvalr<rdrer`Úsz_BaseGenericAlias.__setattr__cCó| t|ƒ¡Sr–©rïr`rìrdrdreríárØz#_BaseGenericAlias.__instancecheck__cCótdƒ‚)NzBSubscripted generics cannot be used with class and instance checksr¢rîrdrdrerïäóz#_BaseGenericAlias.__subclasscheck__cs&tttƒ ¡dd„t|jƒDƒƒƒS)NcSsg|]}t|ƒs|‘qSrd)rR©rrQrdrdrerƒêr„z-_BaseGenericAlias.__dir__..)rsr—r8Ú__dir__ÚdirrirÈr<rdrerhès ÿz_BaseGenericAlias.__dir__) r{rxryrÐrâr×rÓr`rírïrhr>rdrdr<rerSªs  rScsxeZdZddeddœ‡fdd„ Zdd„Zd d „Zd d „Zd d„Ze dd„ƒZ dd„Z dd„Z dd„Z ‡fdd„Z‡ZS)rhTNF)rUrr r csdtƒj|||d�t|tƒs|f}tdd„|Dƒƒ|_t||d�|_||_||_|s0|j |_ dSdS)NrTcss,�|]}|tur dn|turdn|VqdS).rdN)Ú_TypingEllipsisÚ _TypingEmptyr²rdrdrer¸þs€ þ  þz)_GenericAlias.__init__..)rˆ) r8rÐrarrr›r‰r‡r r rx)rÃrCr“rUrr r r<rdrerÐøs  þ ÿz_GenericAlias.__init__cCó&t|tƒstS|j|jko|j|jkSr–)rarhrrir›rårdrdreró   ÿz_GenericAlias.__eq__cCrr–)rrir›rÈrdrdrer r z_GenericAlias.__hash__cCrãr–rär,rdrdrerçrèz_GenericAlias.__or__cCrér–rär.rdrdrerêrèz_GenericAlias.__ror__csL|jttfvrtd|›�ƒ‚t|tƒs|f}tdd„|Dƒƒ}|jr2tdd„|jDƒƒr2t ||ƒ}n t ||t |jƒƒt t |j|ƒƒ‰g}|jD]V}t||jƒrjt|tƒreˆ|}t|ƒsdtd|›�ƒ‚n"ˆ|}nt|tttjfƒr‡|j}|r‡t‡fdd„|Dƒƒ}||}|jtjjkr™t|tƒr™| |¡qH| |¡qH| t|ƒ¡S)Nz%Cannot subscript already-subscripted csó�|]}t|ƒVqdSr–©rfrýrdrdrer¸rz,_GenericAlias.__getitem__..csó�|]}t|tƒVqdSr–©rarr~rdrdrer¸rÿzFExpected a list of types, an ellipsis, ParamSpec, or Concatenate. Got c3s�|]}ˆ|VqdSr–rd)rÚx©Úsubstrdrer¸2r)rirrrjrarrr Úanyr‡r•r�rŒÚdictr’r›r rrurhrrlrmÚ collectionsÚabcr r†r…r¾)rÃr“Únew_argsrcÚ subparamsÚsubargsrdrsrerñs> ÿ    ÿÿ   z_GenericAlias.__getitem__cCs |j|j||j|j|j|jd�S)N©rrUr r )r=rirÌrVr r ©rÃr“rdrdrer¾;sþz_GenericAlias.copy_withcCsB|jr d|j}nt|jƒ}d dd„|jDƒ¡}|›d|›d�S)NrÛú, cSóg|]}t|ƒ‘qSrd©r}r²rdrdrerƒEóz*_GenericAlias.__repr__..ú[ú])rÌr}riÚjoinr›)rÃrr¤rdrdrerÝ@s   z_GenericAlias.__repr__cCsb|jr tƒ|j}n|j}t|jƒ}t|ƒdkr*t|dtƒr'|tur*|ds*|\}tj ||ffSr�) rÌÚglobalsrirrr›rŒrarr¼rÏ)rÃrCr¤rdrdreràHs z_GenericAlias.__reduce__cs‚t|jtƒr td|›�ƒ‚|jrtƒ |¡S|jtur=t|vr!dS|  |¡}||dd…D]}t|t ƒr<||ur<dSq.|jfS)NrÕrdr‘) rarirkrjrÌr8r×rrrYrS)rÃrÖr\r]r<rdrer×Ss    €z_GenericAlias.__mro_entries__)r{rxryrrÐrrrçrêr°rñr¾rÝràr×r>rdrdr<rerh÷sþ $ rhcsdeZdZdddœ‡fdd„ Zedd„ƒZdd „Zd d „Z‡fd d „Zdd„Z dd„Z dd„Z ‡Z S)Ú_SpecialGenericAliasTNrTcs`|dur|j}tƒj|||d�||_|jdkr"d|j›d�|_dSd|j›d|j›d�|_dS)NrTrvzA generic version of rg)r{r8rÐr_rxryrÍ)rÃrCZnparamsrUrr<rdrerÐhs z_SpecialGenericAlias.__init__csBt|tƒs|f}d‰t‡fdd„|Dƒƒ}t|||jƒ| |¡S)Nz*Parameters to generic types must be types.c3rûr–rürýrþrdrer¸wrÿz3_SpecialGenericAlias.__getitem__..)rarrr�r_r¾r}rdrþrerñrs  z _SpecialGenericAlias.__getitem__cCst|j||j|jd�S)N)rrU)rhrirÌrVr}rdrdrer¾{sÿz_SpecialGenericAlias.copy_withcCrÙrÚrÜrÈrdrdrerÝrÞz_SpecialGenericAlias.__repr__cs:t|tƒr t|j|jƒSt|tƒst||jƒStƒ |¡Sr–)rar†rZrirhr8rïrîr<rdrerï‚s    z&_SpecialGenericAlias.__subclasscheck__cCrßr–rÜrÈrdrdrerà‰ráz_SpecialGenericAlias.__reduce__cCrãr–rär,rdrdrerçŒrèz_SpecialGenericAlias.__or__cCrér–rär.rdrdrerê�rèz_SpecialGenericAlias.__ror__) r{rxryrÐr°rñr¾rÝrïràrçrêr>rdrdr<rer†gs  r†cs$eZdZ‡fdd„Zdd„Z‡ZS)Ú_CallableGenericAliascsZ|j}t|ƒdkrt|dƒrtƒ ¡Sdd dd„|dd…Dƒ¡›dt|dƒ›d �S) Nrrztyping.Callable[[r~cSrrdr€r²rdrdrerƒ™r�z2_CallableGenericAlias.__repr__..rz], rƒ)r›rŒrur8rÝr„r}©rÃr¤r<rdrerÝ“s ÿ þz_CallableGenericAlias.__repr__cCsD|j}t|ƒdkrt|dƒst|dd…ƒ|df}tjt|ffS)Nrrr)r›rŒrursr¼rÏr rˆrdrdreràœsz _CallableGenericAlias.__reduce__)r{rxryrÝràr>rdrdr<rer‡’s  r‡c@s(eZdZdd„Zdd„Zedd„ƒZdS)Ú _CallableTypecCst|j||j|jttfdd�S)NTr|)r‡rirÌrVrrr}rdrdrer¾¤s ýz_CallableType.copy_withcCsPt|tƒr t|ƒdkrtdƒ‚|\}}t|tƒrt|ƒ|f}n||f}| |¡S)Nrz6Callable must be used as Callable[[arg, ...], result].)rarrrŒrjrsÚ__getitem_inner__)rÃr“r¤rXrdrdrerñªs  z_CallableType.__getitem__cCsb|\}}d}t||ƒ}|tur| t|f¡St|tƒs|f}tdd„|Dƒƒ}||f}| |¡S)Nz.Callable[args, result]: result must be a type.csrnr–ro)rrcrdrdrer¸Árz2_CallableType.__getitem_inner__..)rqÚEllipsisr¾rjrarr)rÃr“r¤rXrordrdrerЏs    z_CallableType.__getitem_inner__N)r{rxryr¾rñr°rŠrdrdrdrer‰£s r‰c@seZdZedd„ƒZdS)Ú _TupleTypecs€|dkr | tf¡St|tƒs|f}t|ƒdkr.|ddur.d‰t|dˆƒ}| |tf¡Sd‰t‡fdd „|Dƒƒ}| |¡S) Nrdrr‘.z Tuple[t, ...]: t must be a type.rz*Tuple[t0, t1, ...]: each t must be a type.c3rûr–rürýrþrdrer¸Òrÿz)_TupleType.__getitem__..)r¾rkrarrrŒrqrj)rÃr“r”rdrþrerñÇs   z_TupleType.__getitem__N)r{rxryr°rñrdrdrdrerŒÆsrŒcsPeZdZdd„Zdd„Zdd„Z‡fdd„Zd d „Zd d „Z‡fd d„Z ‡Z S)ršcCst|Sr–rär}rdrdrer¾×rfz_UnionGenericAlias.copy_withcCs(t|ttjfƒs tSt|jƒt|jƒkSr–)raršrlrmrr—r›rårdrdrerÚsz_UnionGenericAlias.__eq__cCstt|jƒƒSr–)rÚ frozensetr›rÈrdrdrerßrØz_UnionGenericAlias.__hash__csd|j}t|ƒdkr-|dtdƒurdt|dƒ›d�S|dtdƒur-dt|dƒ›d�Stƒ ¡S)Nrrztyping.Optional[r‘rƒ)r›rŒr`r}r8rÝrˆr<rdrerÝâs  z_UnionGenericAlias.__repr__cCrcr–rdrìrdrdreríërØz$_UnionGenericAlias.__instancecheck__cCs |jD] }t||ƒr dSqdS©NT)r›rZ)rÃr�rcrdrdrerïîs  ÿÿz$_UnionGenericAlias.__subclasscheck__cstƒ ¡\}\}}|t|ffSr–)r8ràr)rÃr¨rCr¤r<rdreràós z_UnionGenericAlias.__reduce__) r{rxryr¾rrrÝrírïràr>rdrdr<reršÖs  ršcCsdd„|DƒS)Ncss�|] }|t|ƒfVqdSr–)r`rýrdrdrer¸ùs€z'_value_and_type_iter..rd)rŽrdrdrerørØrc@seZdZdd„Zdd„ZdS)ržcCs*t|tƒstStt|jƒƒtt|jƒƒkSr–)raržrr—rr›rårdrdrerþs z_LiteralGenericAlias.__eq__cCsttt|jƒƒƒSr–)rr�rr›rÈrdrdreróz_LiteralGenericAlias.__hash__N)r{rxryrrrdrdrdreržüs ržcóeZdZ‡fdd„Z‡ZS)rtcszt|dttfƒrg|dd…¢|d¢RSt|dtƒr,g|dd…¢|dj¢R}n t|dtƒs7tdƒ‚tƒ |¡S)Nrr) rarsrrrtr›rrjr8r¾r}r<rdrer¾ s z"_ConcatenateGenericAlias.copy_with)r{rxryr¾r>rdrdr<rertsrtcs2eZdZ dZdZedd„ƒZ‡fdd„Z‡ZS)rrdFcCsÞt|tƒs|f}|s|turtd|j›d�ƒ‚tdd„|Dƒƒ}|ttfvrLtdd„|Dƒƒs8td|j›d�ƒ‚t t |ƒƒt |ƒkrKtd|j›d�ƒ‚nt d d„|j Dƒƒr\t ||ƒ}n t||t |j ƒƒt||ttfd d �S) NzParameter list to z[...] cannot be emptycsrnr–rorýrdrdrer¸2rz,Generic.__class_getitem__..css�|] }t|ttfƒVqdSr–)rarrrýrdrdrer¸5r¹zParameters to zF[...] must all be type variables or parameter specification variables.z[...] must all be uniquecsrpr–rqr~rdrdrer¸>rÿTr)rarrrrjryrrÚallr{rŒr—rur‡r•r�rhrr)r�r“rdrdreÚ__class_getitem__+s0   ÿ  ÿ ÿÿ þzGeneric.__class_getitem__c stƒj|i|¤Žg}d|jvrt|jv}n t|jvo|jdk}|r&tdƒ‚d|jvrƒt|jt t fƒ}d}|jD]}t |t ƒrO|j turO|durLtdƒ‚|j}q8|durƒt|ƒ}t|ƒ‰|ˆks�d ‡fdd„|Dƒ¡}d dd„|Dƒ¡} td |›d | ›d �ƒ‚|}t|ƒ|_dS) NÚ__orig_bases__rz!Cannot inherit from plain Genericz0Cannot inherit from Generic[...] multiple types.r~c3s �|] }|ˆvrt|ƒVqdSr–©rbr~©Zgvarsetrdrer¸bó€z,Generic.__init_subclass__..csrnr–r”)rÚgrdrdrer¸crzSome type variables (z) are not listed in Generic[rƒ)r8rÄrrr“Ú __bases__r{rjr‰rrrarhrir‡r—r„rr) r�r¤rLr‚ÚerrorZgvarsÚbaseZtvarsetZs_varsZs_argsr<r•rerÄFs<      ÿ€  ÿzGeneric.__init_subclass__) r{rxryrÅÚ _is_protocolr°r’rÄr>rdrdr<rers rc@ó eZdZdS)rkN©r{rxryrdrdrdrerkjórkc@rœ)rjNr�rdrdrdrerjqržrj)r‡r“rWr›Ú_is_runtime_protocol) Ú__abstractmethods__Ú__annotations__rrÍrÐrxÚ__new__rÅÚ__subclasshook__rÀr’Ú_MutableMapping__markercCst tƒ}|jdd…D],}|jdvrq t|diƒ}t|j ¡ƒt| ¡ƒD]}| d¡s6|tvr6|  |¡q&q |S)Nr)rrr¡Z_abc_) r—Ú__mro__r{rrsrÚkeysrOÚEXCLUDED_ATTRIBUTESÚadd)r�ZattrsršÚ annotationsrQrdrdreÚ_get_protocol_attrs€s   €þrªcst‡fdd„tˆƒDƒƒS)Nc3s �|] }ttˆ|dƒƒVqdSr–)rnrrg©r�rdrer¸“r–z,_is_callable_members_only..)r‘rªr«rdr«reÚ_is_callable_members_only‘sr¬cOstt|ƒ}|jr tdƒ‚|jturdS|jD]}|j dt¡}|tur'||_nqtj|_|j|g|¢Ri|¤ŽdS)Nz Protocols cannot be instantiatedrÐ) r`r›rjrÐÚ_no_init_or_replace_initr¥rrÚobject)rÃr¤rLr�ršZinitrdrdrer­–s  þr­r‘r6c Cs4z t |d¡j d|¡WSttfyYdSw)Nr‘r{)rr9r:rrÑr$)ÚdepthÚdefaultrdrdreÚ_caller³s ÿr±éc Cs2 z t |¡jddvWSttfyYdSw)Nr{)rxrªT)rr9r:rÑr$©r¯rdrdreÚ_allow_reckless_class_checksºs ÿr´) r r)rrr+rr'rr-r0ÚAbstractContextManagerÚAbstractAsyncContextManager)zcollections.abcÚ contextlibcr�)Ú _ProtocolMetacs€tˆddƒrtˆddƒstdd�stdƒ‚tˆddƒrtˆƒr'tˆjˆƒr'dSˆjr:t‡‡fdd „tˆƒDƒƒr:dSt ƒ  ˆ¡S) Nr›FrŸrr³úLInstance and class checks can only be used with @runtime_checkable protocolsTc3s:�|]}tˆ|ƒottˆ|dƒƒ ptˆ|ƒduVqdSr–)Úhasattrrnrrg©r�Úinstancerdrer¸âs€ ü  ýz2_ProtocolMeta.__instancecheck__..) rr´rjr¬rZr=r›r‘rªr8rír»r<r»reríÒs& ÿ þý ÿ þü z_ProtocolMeta.__instancecheck__)r{rxryrír>rdrdr<rer¸Ïsr¸cs*eZdZ dZdZdZ‡fdd„Z‡ZS)rrdTFcs´tƒj|i|¤Žˆj dd¡stdd„ˆjDƒƒˆ_‡fdd„}dˆjvr)|ˆ_ˆjs.dSˆjD]#}|tt fvsT|j t vrF|j t |j vsTt |t ƒrN|jsTtd|ƒ‚q1tˆ_dS) Nr›Fcss�|]}|tuVqdSr–)r)rr]rdrdrer¸rz-Protocol.__init_subclass__..csàˆj dd¡s tStˆddƒstƒrtStdƒ‚tˆƒs%tƒr!tStdƒ‚t|tƒs.tdƒ‚t ˆƒD];}|j D]1}||jvrM|j|durKtSn t|diƒ}t|t j j ƒrh||vrht|tƒrh|jrhnq7tSq2dS) Nr›FrŸr¹z._proto_hookr£z7Protocols can only inherit from other protocols, got %r)r8rÄrrrur˜r›r£r®rrxÚ_PROTO_ALLOWLISTr{rZrjr­rÐ)r�r¤rLr½ršr<r«rerÄ s*  &   ÿÿÿ€ zProtocol.__init_subclass__)r{rxryrÅr›rŸrÄr>rdrdr<rerës r)Ú metaclasscsReZdZ ‡fdd„Zdd„Zdd„Zdd„Zd d „Zd d „Z‡fd d„Z ‡Z S)Ú_AnnotatedAliascs2t|tƒr |j|}|j}tƒ ||¡||_dSr–)rarÀÚ __metadata__rir8rÐ)rÃrCÚmetadatar<rdrerÐUs   z_AnnotatedAlias.__init__cCs|d}t||jƒS)Nr)rÀrÁ)rÃr“Znew_typerdrdrer¾\s z_AnnotatedAlias.copy_withcCs$d t|jƒd dd„|jDƒ¡¡S)Nztyping.Annotated[{}, {}]r~csrnr–)rwr²rdrdrer¸drz+_AnnotatedAlias.__repr__..)Úformatr}rir„rÁrÈrdrdrerÝasþz_AnnotatedAlias.__repr__cCstjt|jf|jffSr–)r¼rÏrrirÁrÈrdrdreràgsÿz_AnnotatedAlias.__reduce__cCrlr–)rarÀrrirÁrårdrdrerlrmz_AnnotatedAlias.__eq__cCrr–)rrirÁrÈrdrdrerrr z_AnnotatedAlias.__hash__cs|dvrdStƒ |¡S)N>r{ryr)r8rÓr^r<rdrerÓus z_AnnotatedAlias.__getattr__) r{rxryrÐr¾rÝràrrrÓr>rdrdr<rerÀMs rÀc@s.eZdZ dZdd„Zedd„ƒZdd„ZdS) rrdcOre)Nz&Type Annotated cannot be instantiated.r¢©r�r¤rLrdrdrer¢œrfzAnnotated.__new__cCsNt|tƒr t|ƒdkrtdƒ‚d}t|d|dd�}t|dd…ƒ}t||ƒS)NrzUAnnotated[...] should be used with at least two arguments (a type and an annotation).z$Annotated[t, ...]: t must be a type.rTr\r‘)rarrrŒrjrqrÀ)r�r“rorCrÂrdrdrer’Ÿs  zAnnotated.__class_getitem__cOstd |j¡ƒ‚)NzCannot subclass {}.Annotated)rjrÃrxrÄrdrdrerĪs ÿzAnnotated.__init_subclass__N)r{rxryrÅr¢r°r’rÄrdrdrdrer{s  rcCs( t|tƒr |jstd|ƒ‚d|_|S)NzB@runtime_checkable can be only applied to protocol classes, got %rT)rZrr›rjrŸr«rdrdrerW°sÿrWcCs |Sr–rd)ÚtyprbrdrdrerJÉsrJc Cs� z|j}Wn tyiYSw|j}|j}|d|…}|jp"d}|j}|r,t|ƒni}|t|ƒ}t||d…|ƒD]\}} | ||<q=|S)Nrd) Ú__code__rÑÚ co_argcountÚ co_varnamesÚ __defaults__Ú__kwdefaults__rvrŒr’) r¨rZ pos_countZ arg_namesÚdefaultsZ kwdefaultsr[Z pos_offsetrÚvaluerdrdreÚ _get_defaultsÔs   þ    rÍc CsB t|ddƒr iSt|tƒr‡i}t|jƒD]d}|dur(ttj |jd¡diƒ}n|}|j  di¡}t|t j ƒr9i}|durCt t |ƒƒn|}|durR|durR||}}| ¡D]"\} } | durbtdƒ} t| tƒrnt| ddd�} t| ||ƒ} | || <qVq|r~|Sdd„| ¡DƒS|dur±t|t jƒr•|j }n|} t| d ƒr¤| j} t| d ƒsœt| d iƒ}|dur°|}n|dur·|}t|ddƒ}|durÏt|tƒrÈiStd  |¡ƒ‚t|ƒ} t |ƒ}| ¡D]7\} } | durçtdƒ} t| tƒrøt| t|t jƒ dd�} t| ||ƒ} | | v�r| | du�rt| } | || <qÛ|�r|Sd d„| ¡DƒS) NÚ__no_type_check__rr¡FT)rpr_cSói|] \}}|t|ƒ“qSrd©Ú_strip_annotations©rÚkr€rdrdreÚ +óz"get_type_hints..Ú __wrapped__Ú __globals__z1{!r} is not a module, class, method, or function.cSrÏrdrÐrÒrdrdrerÔSrÕ)rrar`Úreversedr¥rrrrxrrlÚGetSetDescriptorTypervÚvarsÚitemsrbrr±Ú ModuleTyperºrÖÚ_allowed_typesrjrÃrÍr) r|rµr¶Zinclude_extrasZhintsršZ base_globalsÚannZ base_localsrrÌZnsobjrËrdrdrerNísx       ú   ÿ €  ÿ  ý  rNcCsÄ t|tƒr t|jƒSt|tƒr&tdd„|jDƒƒ}||jkr!|S| |¡St|tƒrBtdd„|jDƒƒ}||jkr<|St|j|ƒSt|t j ƒr`tdd„|jDƒƒ}||jkrY|St   t j|¡S|S)Ncsrnr–rÐr²rdrdrer¸\rz%_strip_annotations..csrnr–rÐr²rdrdrer¸arcsrnr–rÐr²rdrdrer¸fr)rarÀrÑrirhrrr›r¾rrlrmrªr»r¼r½)r€Z stripped_argsrdrdrerÑVs&          rÑcCsJ t|tƒrtSt|ttttfƒr|jS|turtSt|t j ƒr#t j SdSr–) rarÀrrSrrUrVrirrlrm©ÚtprdrdrerMns ÿ rMcCs† t|tƒr |jf|jSt|ttfƒr8|j}|jtjj ur6t |ƒdkr*t |dƒs6t |dd…ƒ|df}|St|t jƒrA|jSdS)Nrrrrd)rarÀrirÁrhrr›rwrxr rŒrursrlrm)ràr[rdrdrerL‰s  rLcCs t|tƒSr–)raÚ_TypedDictMetarßrdrdrerO¡s rOcCs˜ t|tƒr;|j ¡}|j ¡D]\}}||j|fvr!| |¡q| ¡D]}t|tj ƒr1d|_ t|tƒr:t |ƒq&zd|_ W|St yKY|SwrŽ) rar`rÚcopyrÛr˜ÚpopÚvaluesrlrzrÎrQrj)rcZ arg_attrsrQrbr|rdrdrerQ¯s(   €   € þþrQcs t ˆ¡‡fdd„ƒ}|S)Ncsˆ|i|¤Ž}t|ƒ}|Sr–)rQ)r¤r¥r¨©r¯rdreÚwrapped_decoratorÐsz2no_type_check_decorator..wrapped_decorator)rªr®)r¯rærdrårerRÉsrRcOs tdƒ‚)Nz´You 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.)ÚNotImplementedErrorr£rdrdreÚ_overload_dummyÙsÿrècCs tSr–)rè)r¨rdrdrerTâsrTcCs |Sr–rd)ÚfrdrdrerKÿsrKÚTÚKTÚVTÚT_co)r*ÚV_coÚVT_coÚT_contra)r+ÚCT_co)r*r)rIra�Callable type; Callable[[int], str] is a function of (int) -> 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 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. rrrrrTa@Tuple type; 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, ...]. r=r:r?r@rr/r;r<ra¾A special construct usable 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:: U = TypeVar('U', bound=User) def new_user(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@ó$eZdZ dZedefdd„ƒZdS)r6rdÚreturncCódSr–rdrÈrdrdreÚ__int__†ózSupportsInt.__int__N)r{rxryrÅrÚintrõrdrdrdrer6�ó r6c@rò)r4rdrócCrôr–rdrÈrdrdreÚ __float__�rözSupportsFloat.__float__N)r{rxryrÅrÚfloatrùrdrdrdrer4‹rør4c@rò)r3rdrócCrôr–rdrÈrdrdreÚ __complex__šrözSupportsComplex.__complex__N)r{rxryrÅrÚcomplexrûrdrdrdrer3•rør3c@rò)r2rdrócCrôr–rdrÈrdrdreÚ __bytes__¤rözSupportsBytes.__bytes__N)r{rxryrÅrÚbytesrýrdrdrdrer2Ÿrør2c@rò)r5rdrócCrôr–rdrÈrdrdreÚ __index__®rözSupportsIndex.__index__N)r{rxryrÅrr÷rÿrdrdrdrer5©rør5c@rò)r1rdrócCrôr–rdrÈrdrdreÚ__abs__¸rözSupportsAbs.__abs__N)r{rxryrÅrrírrdrdrdrer1³rør1c@s*eZdZ dZeddedefdd„ƒZdS) r7rdrÚndigitsrócCrôr–rd)rÃrrdrdreÚ __round__ÂrözSupportsRound.__round__N©r)r{rxryrÅrr÷rírrdrdrdrer7½s r7rdcCs@dd„|Dƒ}dd„|Dƒ}tj||||d�}||_|j_|S)NcSsg|]\}}|‘qSrdrd©rÚnr€rdrdrerƒÈr�z!_make_nmtuple..cSs$i|]\}}|t|d|›d�ƒ“qS)zfield z annotation must be a typerürrdrdrerÔÉsÿz!_make_nmtuple..©rËr^)rwÚ namedtupler¡r¢)rrlr^rËÚfieldsÚnm_tplrdrdreÚ _make_nmtupleÇsÿÿr > rÐZ_sourceÚ__getnewargs__Ú_replacerÅÚ_asdictÚ_maker¢Ú_field_defaultsÚ_fields>r{r¡rxc@rò)ÚNamedTupleMetac s̈ di¡}g}|D]&}|ˆvr| |¡q |r0td|›dt|ƒdkr%dnd›dd |¡›�ƒ‚q t|| ¡‡fd d „|Dƒˆd d �}ˆD]}|tvrRtd |ƒ‚|t vrc||j vrct ||ˆ|ƒqF|S)Nr¡zNon-default namedtuple field z cannot follow default fieldr‘ÚsÚú r~csg|]}ˆ|‘qSrdrd)rr©Únsrdrerƒèr�z*NamedTupleMeta.__new__..rxrz&Cannot overwrite NamedTuple attribute ) rr…rjrŒr„r rÛÚ _prohibitedrÑÚ_specialrra) r�ÚtypenamerÖrrlZ default_namesZ field_namer Úkeyrdrrer¢Ûs.   þýÿ þ €zNamedTupleMeta.__new__N)r{rxryr¢rdrdrdrerÙs rc Ksb |dur | ¡}n|rtdƒ‚z t d¡j dd¡}Wn ttfy)d}Ynwt|||d�S)NzIEither list of fields or keywords can be provided to NamedTuple, not bothr‘r{r6©r^) rÛrjrr9r:rrÑr$r )rrrLr^rdrdrerAós ÿrAcCst|ƒdkr tdƒ‚tfS)Nr‘z5Multiple inheritance with NamedTuple is not supported)rŒrjÚ _NamedTuple©rÖrdrdreÚ_namedtuple_mro_entries s rc@s&eZdZddd„ZeZdd„ZeZdS)ráTc s |D] }t|ƒturtdƒ‚qt t|tf|¡‰i}| di¡}t| ¡ƒ}d‰‡‡fdd„| ¡Dƒ}tƒ} tƒ} |D] }|  |j  di¡¡|   |j  dd¡¡|   |j  dd¡¡q=|  |¡|rk|   |¡n|   |¡|ˆ_ t | ƒˆ_ t | ƒˆ_tˆd ƒs…|ˆ_ˆS) NzHcannot inherit from both a TypedDict type and a non-TypedDict base classr¡z?TypedDict('Name', {f0: t0, f1: t1, ...}); each t must be a typecs"i|] \}}|t|ˆˆjd�“qS)r)rqrx)rrrà©roZtp_dictrdrerÔ4 sÿÿz*_TypedDictMeta.__new__..Ú__required_keys__rdÚ__optional_keys__Ú __total__)r`rárjr¢rvrr—r¦rÛÚupdaterr¡r�r r!rºr") r�rrÖrÚtotalršr©Zown_annotationsZown_annotation_keysZ required_keysZ optional_keysrdrrer¢" s: ÿ   þ      z_TypedDictMeta.__new__cCre)Nz4TypedDict does not support instance and class checksr¢)r�rærdrdrerïO rKz _TypedDictMeta.__subclasscheck__N)T)r{rxryr¢rvrârïrírdrdrdrerá! s  +rá©r$c Ksl |dur|}n|rtdƒ‚dt|ƒi}zt d¡j dd¡|d<Wn ttfy-Ynwt|d||d�S) Nz@TypedDict takes either a dict or keyword arguments, but not bothr¡r‘r{r6rxrdr%) rjrvrr9r:rrÑr$rá)rrr$rLrrdrdrerBV s) ÿrBcCstfSr–)Ú _TypedDictrrdrdreÚ� sr'c@s>eZdZ dd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd S)rPcCsD||_d|vr| d¡d}||_||_tƒ}|dkr ||_dSdS)Nrgrr7)ryÚ rpartitionr{Z __supertype__r±rx)rÃrràr;rdrdrerЦ s ÿzNewType.__init__cCs|j›d|j›�S)Nrg)rxryrÈrdrdrerݰ r�zNewType.__repr__cCs|Sr–rd)rÃrrrdrdrerâ³ rÊzNewType.__call__cCrßr–)ryrÈrdrdrerà¶ rázNewType.__reduce__cCrãr–rärårdrdrerç¹ rèzNewType.__or__cCrér–rärårdrdrerê¼ rèzNewType.__ror__N) r{rxryrÐrÝrâràrçrêrdrdrdrerP“ s  rPc@s¨eZdZ dZeedefdd„ƒƒZeedefdd„ƒƒZed7dd „ƒZ eede fd d „ƒƒZ ede fd d „ƒZ ed7dd„ƒZede fdd„ƒZed8de defdd„ƒZede fdd„ƒZed8de defdd„ƒZed8de deefdd„ƒZed9de d e de fd!d"„ƒZede fd#d$„ƒZede fd%d&„ƒZed:d'e de fd(d)„ƒZede fd*d+„ƒZed,ede fd-d.„ƒZed/eeddfd0d1„ƒZed;d3d4„ƒZed7d5d6„ƒZdS)eZdZ dZedeeefdefdd„ƒZ ed dd„ƒZ dS) rDrdrrócCrôr–rdr>rdrdrer?0 rözBinaryIO.writecCrôr–rdrÈrdrdrerC4 rözBinaryIO.__enter__N)rórD) r{rxryrÅrrrþÚ bytearrayr÷r?rCrdrdrdrerD+ srDc@s’eZdZ dZeedefdd„ƒƒZeedefdd„ƒƒZ eede efdd„ƒƒZ eede fd d „ƒƒZ eedefd d „ƒƒZedd d„ƒZdS)rHrdrócCrôr–rdrÈrdrdreÚbuffer> r*z TextIO.buffercCrôr–rdrÈrdrdreÚencodingC r*zTextIO.encodingcCrôr–rdrÈrdrdreÚerrorsH r*z TextIO.errorscCrôr–rdrÈrdrdreÚline_bufferingM r*zTextIO.line_bufferingcCrôr–rdrÈrdrdreÚnewlinesR r*zTextIO.newlinescCrôr–rdrÈrdrdrerCW rözTextIO.__enter__N)rórH)r{rxryrÅrMrrDrGrbrHrrIr%rJr rKrCrdrdrdrerH9 s(rHc@s"eZdZ gd¢ZeZeZeZdS)Úio)rErHrDN)r{rxryÚ__all__rErHrDrdrdrdrerL\ s rLz.ioc@seZdZ ddgZeZeZdS)ÚrerGrFN)r{rxryrMrGrFrdrdrdrerNk s rNz.rer–r")r‘r6)r²)NNF)rd)ºrxrrrwZcollections.abcr·rªr¼rNZ stdlib_rerrlrrrrrMrfrqrur}r‰r�r•r™r�rŸr¬r°r�r±r¿rÆrkrór rSr r rrrrZr r[rr#rrUrVrrRrSrhr†r‡r‰rŒršrržrtrrkrjZ_TYPING_INTERNALSZ_SPECIAL_NAMESr§rªr¬r­r±r´r¾r¸rrÀrrWrJrÍrzÚBuiltinFunctionTypeÚ MethodTyperÜrÝrNrÑrMrLrOrQrRrèrTrKrêrërìrírîrïrðr`rñrþrbrIZ_aliasrr)r,r+r*rrr0r'rr-r rÍr?rr%r!r#r&r$rrrrrsr=Údequer:r—r@r"r rr(rµrr¶r/rvr;Ú defaultdictr<r>r9r8rCr.rr6r4r3r2r5r1r7r rrrrAr¢rrr×rárBr&rPrXrYrErDrHrLr{rrGrFrdrdrdreÚsˆg "     +     '  !   /@"ADMp+#"  V   û b.5 þ i      ÿ ÿ    ÿ        #59 .c#