grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026 й¼]9ãD@sKddlZddlmZmZddlZddlZddlZddlZddlZddl Z yddl jZ Wne k r�ddlZ YnXej dd…ddfkrÉddlZy ddl mZmZmZWnBe k r-eejƒZeeƒjƒZeejƒZYnXddd d d d d ddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:g4Zd;d<„Zd=d>„ZGd?d@„d@eƒZGdAdB„dBdCedDdEƒZGdFdG„dGedDdEƒZGdHdI„dIedDdEƒZGdJdK„dKedDdEƒZdLdM„Z dNdO„Z!dPdQ„Z"dRdS„Z#dTdU„Z$GdVdW„dWedDdEƒZ%e%dDdEƒZ&GdXdY„dYedDdEƒZ'e'dDdEƒZ(GdZd„dedDdEƒZ)e)d[ƒZ*e)d\ƒZ+e)d]ƒZ,e)d^d_dEƒZ-e)d`d_dEƒZ.e)dad_dEƒZ/e)dbdcdEƒZ0e)d2e1eƒZ2ddde„Z3dddfdg„Z4dhdi„Z5djdk„Z6gZ7dldm„Z8Gdndo„doedDdEƒZ9e9dDdEƒZ:Gdpdq„dqedDdEƒZ;e;dDdEƒZ<drds„Z=dtdu„Z>dvdw„Z?dxdy„Z@dzd{„ZAGd|d„deejBƒZCdZDd}d~„ZEGdd „d dCeCƒZDGd€d�„d�ƒZFGd‚dƒ„dƒƒZGGd„d…„d…eCƒZHGd†d „d eId‡eIdCeHƒZJGdˆd‰„d‰eCƒZKGdŠd„dd‡e jLdCeKƒZLGd‹dŒ„dŒedDdEƒZMeMdDdEƒZNd�d3„ZOdŽd�„ZPe jQe jRe jSe jTeeefZUddd�d4„ZVd‘d6„ZWd’d7„ZXd“d”„ZYd•d8„ZZGd–d—„d—eCƒZ[Gd˜d™„d™dCe[ƒZ\e j]Z]e^e dšƒrwGd›dš„dšeDe-d‡e j_ƒZ_ej`dšƒe^e dœƒrÆGd�dœ„dœe_e.eDe-e0e.fd‡e jaƒZaej`dœƒe^e džƒr5GdŸdž„džeDe-d‡e jbƒZbGd d¡„d¡ebe-d‡e jcƒZcej`džƒej`d¡ƒGd¢d„deDe-d‡e jdƒZdGd£d„dede-d‡e jeƒZeGd¤d'„d'e\ƒZfGd¥d&„d&e\ƒZgGd¦d%„d%e\ƒZhGd§d$„d$e\ƒZiGd¨d#„d#e\e-ƒZjGd©d(„d(e\e-ƒZke^e d"ƒr<Gdªd"„d"ede-d‡e jlƒZlnGd«d"„d"e\e-ƒZle jmZmGd¬d„deDe-d‡e jnƒZne^e d­ƒrËGd®d­„d­emede-ene-d‡e joƒZoej`d­ƒe^e d­ƒr Gd¯d„deoe-d‡e jpƒZqn-Gd°d„demede-ene-d‡e jpƒZqGd±d„deqe*d‡e jrƒZre^e d­ƒr’ Gd²d„deoe+eDe+e/fd‡e jsƒZsn:Gd³d„demede+ene+eDe+e/fd‡e jsƒZsGd´d„dese+e,fd‡e jtƒZte^e d"ƒrp e^e d­ƒr@ Gdµd„dele-eoe-d‡e juƒZun-Gd¶d„demele-ene-d‡e juƒZun-Gd·d„demede-ene-d‡e juƒZuGd¸d„deue*d‡e jvƒZvGd¹d„deuewd‡e jxƒZxGdºd-„d-eyeve*d‡eyƒZzGd»d*„d*ej{eve*d‡ej{ƒZ|Gd¼d.„d.e}ere*d‡e}ƒZpGd½d/„d/e~eqe-d‡e~ƒZGd¾d„demede-d‡e j€ƒZ€Gd¿d„de€e+eqe+d‡e j�ƒZ�GdÀd„de€eJe+e/feqeJe+e/feDe+e/fd‡e j‚ƒZ‚GdÁd!„d!e€e/d‡e jƒƒZƒe^edƒrh GdÃd„deDe-d‡ej„ƒZ…nGdÄd„deDe-ƒZ…e^edŃrÄ GdÆdÇ„dÇeDe-d‡ej†ƒZ‡ej`dǃn)ej dd…ddÈfkrí eˆdɃGdÊd+„d+e‰ete+e,fd‡e‰ƒZŠGdËd,„d,ej‹ete+e,fd‡ej‹ƒZŒGdÌd)„d)ej�eŠe*ewfd‡ej�ƒZ�e^ed̓r¿ ej`d̓GdÎdÍ„dÍejŽete+e,fd‡ejŽƒZŽe^e d1ƒrÚ e j�Z�n e j‘Z�GdÏd1„d1eee-eDe-e0e.fd‡e�ƒZ�e^e dЃr_GdÑdЄdÐece-eDe-e0fd‡e j’ƒZ’ej`dЃe)dÒd_dEdÓeƒZ“GdÔd „d eDe“d‡eƒZ”dÕdÖ„Z•ej dd…ddfkZ–d×dØdÙdÚdÛdÜdÝdÞdßdàdáf Z—dâdãdädåfZ˜Gdædç„dçeƒZ™Gdèd0„d0dCe™ƒZšdéd5„Z›eZœdêZ�Gdëdì„dìeDe2ƒZžGdídî„dîeže1ƒZŸGdïdð„dðežeƒZ Gdñdò„dòƒZ¡e¢dóe¡_¢e¡ej£e¡j¢Úevalz1Forward reference must be an expression -- got %rF) rTr^rjrkrPÚcompileÚ SyntaxErrorrrrsrtru)r[ÚargÚcode)rZrCrDr^Þs    z_ForwardRef.__init__cCs“|j s||k rŒ|dkr;|dkr;i}}n'|dkrP|}n|dkrb|}tt|j||ƒdƒ|_d|_|jS)Nz*Forward references must evaluate to types.T)rtÚ _type_checkrvrsru)r[r_r`rCrCrDraìs      z_ForwardRef._eval_typecCs5t|tƒstS|j|jko4|j|jkS)N)rjrGÚNotImplementedrrru)r[ÚotherrCrCrDÚ__eq__úsz_ForwardRef.__eq__cCst|j|jfƒS)N)Úhashrrru)r[rCrCrDÚ__hash__sz_ForwardRef.__hash__cCstdƒ‚dS)Nz4Forward references cannot be used with isinstance().)rP)r[ÚobjrCrCrDÚ__instancecheck__sz_ForwardRef.__instancecheck__cCstdƒ‚dS)Nz4Forward references cannot be used with issubclass().)rP)r[rVrCrCrDÚ__subclasscheck__sz_ForwardRef.__subclasscheck__cCsd|jfS)Nz_ForwardRef(%r))rr)r[rCrCrDrf sz_ForwardRef.__repr__)rrrsrtru) rArdr@ror^rar~r€r‚rƒrfrCrC)rZrDrGØs      rGc@sjeZdZdZdd„Zdd„Zd d „Zd d „Zd d„Zdd„Z dd„Z dS)rFrWÚtype_varÚ impl_typeÚ type_checkercCs(||_||_||_||_dS)N)rWr„r…r†)r[rWr„r…r†rCrCrDr^s   z_TypeAlias.__init__cCsd|jt|jƒfS)Nz%s[%s])rWrSr„)r[rCrCrDrf,sz_TypeAlias.__repr__cCs¸t|jtƒs"td|ƒ‚|jjrkt|tƒrkt||jjƒsktd||jfƒ‚t|tƒr™||jk r™td|ƒ‚|j|j||j |j ƒS)Nz#%s cannot be further parameterized.z&%s is not a valid substitution for %s.z%s cannot be re-parameterized.) rjr„rrPÚ__constraints__rmÚ issubclassrZrWr…r†)r[Z parameterrCrCrDÚ __getitem__/sz_TypeAlias.__getitem__cCs5t|tƒstS|j|jko4|j|jkS)N)rjrFr|rWr„)r[r}rCrCrDr~;sz_TypeAlias.__eq__cCst|j|jfƒS)N)rrWr„)r[rCrCrDr€@sz_TypeAlias.__hash__cCs.t|jtƒstdƒ‚t||jƒS)Nzsz#TypeVar.__init__..zBound must be a type.) rTr^rAÚ ValueErrorÚboolrœr�rPrirlr‡r{r›)r[rWržrŸr Z constraints)rZ)r•rDr^òs       "zTypeVar.__init__cCs||kr|j|ƒdS)N)Úappend)r[rbrCrCrDrcs zTypeVar._get_type_varscCs5|jrd}n|jr$d}nd}||jS)Nú+ú-ú~)rœr�rA)r[ÚprefixrCrCrDrf s     zTypeVar.__repr__cCstdƒ‚dS)Nz0Type variables cannot be used with isinstance().)rP)r[ÚinstancerCrCrDr‚szTypeVar.__instancecheck__cCstdƒ‚dS)Nz0Type variables cannot be used with issubclass().)rP)r[rVrCrCrDrƒszTypeVar.__subclasscheck__)rAr›r‡rœr�) rArdr@ror^rcrfr‚rƒrCrC)rZrDrÅs *   ÚTÚKTÚVTÚT_corŸÚV_coÚVT_coÚT_contrar cCsŠ|dkrg}t|dƒrFt|ttfƒrF|j||ƒSt|tƒr†x.t|ƒD] \}}||krb||SqbW|S)NÚ _subs_tree)ÚhasattrrjrrHr²rÚ enumerate)ryrbr\ÚiZtvarrCrCrDÚ _replace_arg)s $  r¶c CsÒ|jdkr|S|j}g}x)|jdk rM|j|ƒ|j}q%Wg}x*|jD]}|jt|||ƒƒq^WxJ|D]B}g}x-|jD]"}|jt||j|ƒƒqžW|}qˆW|S)N)r�r¥Ú__args__r¶Ú__parameters__) rVrbr\ÚcurrentZ orig_chainÚ tree_argsryZoclsZ new_tree_argsrCrCrDr²Ds       r²cs†g}x—|D]�}t|tƒrD|jtkrD|j|jƒq t|tƒr�t|ƒdkr�|dtkr�|j|dd…ƒq |j|ƒq Wt |ƒ‰tˆƒt|ƒkrg}x4|D],}|ˆkrÑ|j|ƒˆj |ƒqÑW|}t |ƒ‰xS|D]K‰tˆt ƒs2qt ‡fdd†ˆˆhDƒƒrˆj ˆƒqWt‡fdd†|DƒƒS)NrrKc3sK|]A}t|tƒo$|jdk st|tƒoBtˆ|ƒVqdS)N)rjrr�rmrˆ)r¡Zt2)Út1rCrDr¢†sz'_remove_dups_flatten..c3s!|]}|ˆkr|VqdS)NrC)r¡r‹)Ú all_paramsrCrDr¢‹s) rjrŽr�rÚextendr·rlrir¥ÚsetÚremovermÚany)Ú parametersÚparamsÚpZ new_paramsr‹rC)r¼r»rDÚ_remove_dups_flattenes. 1      rÄcCs~|jstdt|ƒƒ‚t|ƒ}t|jƒ}||krztd||kr^dndt|ƒ||fƒ‚dS)Nz%s is not a generic classz0Too %s parameters for %s; actual %s, expected %sZmanyZfew)r¸rPr˜ri)rVrÁZalenZelenrCrCrDÚ_check_genericŽs   rÅcsJtjƒˆƒ‰tjˆjƒtjˆƒ‡‡fdd†ƒ}|S)Nc s3yˆ||ŽSWntk r%YnXˆ||ŽS)N)rP)r\r])ÚcachedÚfuncrCrDÚinner¤s  z_tp_cache..inner)Ú functoolsÚ lru_cacheÚ _cleanupsr¥Ú cache_clearÚwraps)rÇrÈrC)rÆrÇrDÚ _tp_cacheœs$rÎcsÄeZdZdZdddd‡fdd †Zd d „Zd d „Z‡fdd†Z‡fdd†Ze dd„ƒZ dddd„Z dd„Z dd„Z dd„Zdd„Z‡S)rŽr¸r·r�Ú __tree_hash__NrOFcstƒj||||d|Œ}|dkrad|_d|_d|_ttdƒƒ|_|St|t ƒs|t dƒ‚|t kr®t |ƒ}t |ƒdkr®|dSt|ƒ|_||_||_|jƒ}t|t ƒrtt|ƒƒ|_nt|ƒ|_|S)NrOrzExpected parameters=rKr)r)rTrUr¸r·r�rÚ frozensetrÏrjrlrPrrÄrirŒr²)rVrÁÚoriginrOr\r[Z subs_tree)rZrCrDrUÜs*!          z_Union.__new__cs…|jdkr|St‡‡fdd†|jDƒƒ}t|jˆˆƒ}||jkro||jkro|S|j||ddƒS)Nc3s!|]}t|ˆˆƒVqdS)N)ra)r¡r‹)r_r`rCrDr¢úsz$_Union._eval_type..rOT)r·rlrar�rZ)r[r_r`Úev_argsÚ ev_originrC)r_r`rDra÷s%z_Union._eval_typecCs&|jr"|jr"t|j|ƒdS)N)r�r¸rc)r[rbrCrCrDrcsz_Union._get_type_varscsR|jdkrtƒjƒS|jƒ}t|tƒsAt|ƒS|dj|ƒS)Nr)r�rTrfr²rjrlr˜Ú _tree_repr)r[Útree)rZrCrDrfs    z_Union.__repr__cs~g}xW|dd…D]E}t|tƒsB|jt|ƒƒq|j|dj|ƒƒqWtƒjƒddj|ƒS)NrKrz[%s]z, )rjrlr¥rSrÔrTrfrQ)r[rÕÚarg_listry)rZrCrDrÔ s z_Union._tree_reprcsŸ|fkrtdƒ‚t|tƒs0|f}|jdkrHd‰nd‰t‡fdd†|Dƒƒ}|tk r†t||ƒ|j|d|ddƒS) Nz Cannot take a Union of no types.z)Union[arg, ...]: each arg must be a type.z*Parameters to generic types must be types.c3s|]}t|ˆƒVqdS)N)r{)r¡rÃ)r•rCrDr¢ sz%_Union.__getitem__..rÑrOT)rPrjrlr�rrÅrZ)r[rÁrC)r•rDr‰s      z_Union.__getitem__cCsS|tkrtSt|||ƒ}t|ƒ}t|ƒdkrH|dStf|S)NrKr)rr²rÄri)r[rbr\rºrCrCrDr²%s  z_Union._subs_treecCsIt|tƒr|j|jkS|tk r;|jƒ|kS||kSdS)N)rjrŽrÏrr²)r[r}rCrCrDr~.s  z _Union.__eq__cCs|jS)N)rÏ)r[rCrCrDr€6sz_Union.__hash__cCstdƒ‚dS)Nz(Unions cannot be used with isinstance().)rP)r[r�rCrCrDr‚9sz_Union.__instancecheck__cCstdƒ‚dS)Nz(Unions cannot be used with issubclass().)rP)r[rVrCrCrDrƒ<sz_Union.__subclasscheck__)r¸r·r�rÏ)rArdr@rorUrarcrfrÔrÎr‰r²r~r€r‚rƒrCrC)rZrDrŽ®s ,     rŽc@s(eZdZfZedd„ƒZdS)r�cCs#t|dƒ}t|tdƒfS)Nz#Optional[t] requires a single type.)r{rrm)r[ryrCrCrDr‰Ksz_Optional.__getitem__N)rArdr@rorÎr‰rCrCrCrDr�Cs r�cCs#x|jdk r|j}qW|S)N)r�)ÚarCrCrDr“Ts r“cCst|ƒt|ƒkS)N)r“)r×ÚbrCrCrDÚ_geqv\s rÙcCsft}xYt|jdd…ƒD]>\}}t|tƒr t|ƒtkr |j|d}q W|S)NrKéÿÿÿÿ)Úobjectr´Ú__mro__rjrr“r )rVZ next_in_mrorµÚcrCrCrDÚ _next_in_mroks &!rÞcs@tˆjtjƒr*‡fdd†}n‡fdd†}|S)Ncs{ˆjj|ƒ}|tk r"|Sˆj|jkr8dSx<ˆjjƒD]+}t|tƒr`qHt||ƒrHdSqHWtS)NT)Ú __extra__Ú__subclasshook__r|rÜÚ__subclasses__rjrrˆ)ÚsubclassÚresÚscls)rVrCrDÚ __extrahook__‚s z)_make_subclasshook..__extrahook__cs#ˆjrt|ˆjƒrdStS)NT)rßrˆr|)râ)rVrCrDrå�s)rjrßÚabcÚABCMeta)rVrårC)rVrDÚ_make_subclasshookysrècCsAt|ƒ}d|kr=x"|dD]}|j|dƒq#W|S)Nro)ÚdictÚpop)ÚdctZ dict_copyZslotrCrCrDÚ_no_slots_copy—s   rìcs3eZdZddddd‡fdd†Zedd„ƒZejdd„ƒZedd„ƒZejd d„ƒZd d „Zd d „Z ‡fdd†Z ‡fdd†Z dddd„Z dd„Z dd„Zedd„ƒZ‡fdd†Zdd„Zdd„Z‡fd d!†Z‡S)"rNc s |dk rnt|ƒ}d} xe|D]]} | tkrFtdƒ‚t| tƒr(| jtkr(| dk r|tdƒ‚| j} q(W| dkrž|} nrt|ƒ} t| ƒ‰| ˆks tddj‡fdd†|Dƒƒdjdd„| Dƒƒfƒ‚| }|} |dk rPt |ƒt j krP||krP|f|}t dd„|Dƒƒ}t d d„|Dƒƒr›t d d„|Dƒƒ}|jd |d |iƒtƒj||||d dƒ} || _|rýt dd„|Dƒƒnd| _t| ƒ| _|dkr*| | _d|kr<|sWt| jddƒdkrft| ƒ| _t|t j ƒr“|j| _|j| _n$|dk r·|j| _|j| _|rØt|dƒrØ|j| _|rðt| jƒƒntt| ƒjƒ| _| S)Nz!Cannot inherit from plain Genericz0Cannot inherit from Generic[...] multiple types.z6Some type variables (%s) are not listed in Generic[%s]z, c3s'|]}|ˆkrt|ƒVqdS)N)rk)r¡r‹)ÚgvarsetrCrDr¢Ûsz&GenericMeta.__new__..css|]}t|ƒVqdS)N)rk)r¡ÚgrCrCrDr¢Üscss0|]&}t|tƒr$t|ƒn|VqdS)N)rjrr“)r¡rØrCrCrDr¢âscss*|] }t|tƒo!|tk VqdS)N)rjrr )r¡rØrCrCrDr¢åscss!|]}|tk r|VqdS)N)r )r¡rØrCrCrDr¢æsr�rßrOTcss9|]/}|tkrdn|tkr-fn|VqdS).N)Ú_TypingEllipsisÚ _TypingEmpty)r¡r×rCrCrDr¢ísràrAÚrår@) rŒr rPrjrr�r¸r¾rQrmrærçrlrÀÚupdaterTrUr·rÞÚ__next_in_mro__Ú__orig_bases__r’ràrèÚ _abc_registryÚ _abc_cacher³r@rr²r€rÏ)rVrWrXrYrbr\rÑÚextraÚ orig_basesZgvarsÚbaseZtvarsetZ initial_basesr[)rZ)rírDrU±sd             #- ! (       zGenericMeta.__new__cCs,t|jtjƒr|jjSt|ƒjS)N)rjrßrærçÚ_abc_negative_cacher“Ú_abc_generic_negative_cache)r[rCrCrDrús zGenericMeta._abc_negative_cachecCs@|jdkr<t|jtjƒr3||j_n ||_dS)N)r�rjrßrærçrúrû)r[ÚvaluerCrCrDrúscCs,t|jtjƒr|jjSt|ƒjS)N)rjrßrærçÚ_abc_negative_cache_versionr“Ú#_abc_generic_negative_cache_version)r[rCrCrDrýs z'GenericMeta._abc_negative_cache_versioncCs@|jdkr<t|jtjƒr3||j_n ||_dS)N)r�rjrßrærçrýrþ)r[rürCrCrDrý$scCs&|jr"|jr"t|j|ƒdS)N)r�r¸rc)r[rbrCrCrDrc,szGenericMeta._get_type_varscsÒ|jr|jjˆˆƒnd}|jrRt‡‡fdd†|jDƒƒnd}||jkrz||jkrz|S|j|j|jt|jƒd|r­t |ƒndd|d|d|j d|j ƒS)Nc3s!|]}t|ˆˆƒVqdS)N)ra)r¡r×)r_r`rCrDr¢3sz)GenericMeta._eval_type..rbr\rÑr÷rø) r�rar·rlrZrAÚ __bases__rìÚ__dict__rŒrßrô)r[r_r`rÓrÒrC)r_r`rDra0s$4  zGenericMeta._eval_typecs/|jdkrtƒjƒS|j|jƒƒS)N)r�rTrfrÔr²)r[)rZrCrDrf@s zGenericMeta.__repr__csšg}xs|dd…D]a}|fkr9|jdƒqt|tƒs^|jt|ƒƒq|j|dj|ƒƒqWtƒjƒddj|ƒS)NrKz()rz[%s]z, )r¥rjrlrSrÔrTrfrQ)r[rÕrÖry)rZrCrDrÔEs zGenericMeta._tree_reprcCs<|jdkr|St|||ƒ}t|ƒft|ƒS)N)r�r²r“rl)r[rbr\rºrCrCrDr²PszGenericMeta._subs_treecCsKt|tƒstS|jdks1|jdkr;||kS|j|jkS)N)rjrr|r�rÏ)r[r}rCrCrDr~Vs  zGenericMeta.__eq__cCs|jS)N)rÏ)r[rCrCrDr€]szGenericMeta.__hash__csÍt|tƒs|f}| rGt|ƒtk rGtdt|ƒƒ‚d‰t‡fdd†|Dƒƒ}|tkrÖtdd„|Dƒƒs�tdƒ‚tt |ƒƒt|ƒkrÇtdƒ‚|}|}n�|tt fkrýt |ƒ}|}nh|t kr|}|}nM|j tt fkrFtdt|ƒƒ‚nt||ƒt |ƒ}|}|j dkr}|fnf}|j|j||jt|jƒd |d |d |d |jd |jƒS)Nz)Parameter list to %s[...] cannot be emptyz*Parameters to generic types must be types.c3s|]}t|ˆƒVqdS)N)r{)r¡rÃ)r•rCrDr¢hsz*GenericMeta.__getitem__..css|]}t|tƒVqdS)N)rjr)r¡rÃrCrCrDr¢ksz5Parameters to Generic[...] must all be type variablesz-Parameters to Generic[...] must all be uniquez'Cannot subscript already-subscripted %srbr\rÑr÷rø)rjrlr“rrPrEr Úallrir¾r rŒr”r�r˜rÅrZrArÿrìrrßrô)r[rÂrbr\ZprependrC)r•rDr‰`sJ              zGenericMeta.__getitem__csg|jdk r;tjdƒjddkr7tdƒ‚dS|tkrWtd|ƒ‚tƒj|ƒS) NrKrArærÉzCParameterized generics cannot be used with class or instance checksFz5Class %r cannot be used with class or instance checks)rærÉ)r�r>Ú _getframeÚ f_globalsrPr rTrƒ)r[rV)rZrCrDrƒŽs   zGenericMeta.__subclasscheck__cCst|j|ƒS)N)rˆrZ)r[rªrCrCrDr‚™szGenericMeta.__instancecheck__c Cs@|j|j|jt|jƒ|j|j|j|j|j ƒS)N) rZrArÿrìrr¸r·r�rßrô)r[rCrCrDÚ__copy__¡s zGenericMeta.__copy__csl|jdƒr|jdƒs-|jdƒrItt|ƒj||ƒnttt|ƒƒj||ƒdS)NÚ__Ú_abc_)rLÚendswithrTrÚ __setattr__r“)r[Úattrrü)rZrCrDr§szGenericMeta.__setattr__)rArdr@rUÚpropertyrúÚsetterrýrcrarfrÔr²r~r€rÎr‰rƒr‚rrrCrC)rZrDr¢s" !^     .  c Osq|jdkr|j|ƒSt|ƒ}|j|ƒ}y ||_Wntk rXYnX|j||Ž|SdS)N)r�rUr“Z__orig_class__ÚAttributeErrorr^)Zbase_clsrVr\r]rÑr�rCrCrDÚ _generic_new¶s    r c@s"eZdZfZdd„ZdS)r cOs1t|tƒrtdƒ‚t|j|||ŽS)NzHType Generic cannot be instantiated; it can be used only as a base class)rÙr rPr ró)rVr\r]rCrCrDrUÝs zGeneric.__new__N)rArdr@rorUrCrCrCrDr Æs c@seZdZdS)rðN)rArdr@rCrCrCrDrðäs rðc@seZdZdS)rïN)rArdr@rCrCrCrDrïës rïcs@eZdZe‡fdd†ƒZdd„Zdd„Z‡S)Ú TupleMetacsì|jdk st|tƒ r/tƒj|ƒS|fkrNtƒjtfƒSt|tƒsf|f}t|ƒdkr·|ddkr·d‰t |dˆƒ}tƒj|t fƒSd‰t‡fdd†|Dƒƒ}tƒj|ƒS) NrrK.z Tuple[t, ...]: t must be a type.rz*Tuple[t0, t1, ...]: each t must be a type.c3s|]}t|ˆƒVqdS)N)r{)r¡rÃ)r•rCrDr¢sz(TupleMeta.__getitem__..) r�rÙrrTr‰rðrjrlrir{rï)r[rÁrÃ)rZ)r•rDr‰òs  "zTupleMeta.__getitem__cCs,|jdkrt|tƒStdƒ‚dS)Nz5Parameterized Tuple cannot be used with isinstance().)r·rjrlrP)r[r�rCrCrDr‚s zTupleMeta.__instancecheck__cCs,|jdkrt|tƒStdƒ‚dS)Nz5Parameterized Tuple cannot be used with issubclass().)r·rˆrlrP)r[rVrCrCrDrƒ s zTupleMeta.__subclasscheck__)rArdr@rÎr‰r‚rƒrCrC)rZrDrïs  rc@s"eZdZfZdd„ZdS)rcOs.t|tƒrtdƒ‚tt|||ŽS)Nz6Type Tuple cannot be instantiated; use tuple() instead)rÙrrPr rl)rVr\r]rCrCrDrUs z Tuple.__new__N)rArdr@rorUrCrCrCrDrs r÷cs^eZdZ‡fdd†Z‡fdd†Z‡fdd†Ze‡fdd†ƒZ‡S) Ú CallableMetacs/|jdkrtƒjƒS|j|jƒƒS)N)r�rTrfrÔr²)r[)rZrCrDrf's zCallableMeta.__repr__csßt|ƒtk r"tƒj|ƒSg}xW|dd…D]E}t|tƒsd|jt|ƒƒq9|j|dj|ƒƒq9W|ddkr¬t|dƒd|dSt|dƒddj |dd…ƒ|dfS) NrKrz...z [..., %s]z [[%s], %s]z, rÚrÚ) r“r rTrÔrjrlr¥rSr˜rQ)r[rÕrÖry)rZrCrDrÔ,s zCallableMeta._tree_reprcsÅ|jdk st|tƒ r/tƒj|ƒSt|tƒ sQt|ƒdkr]tdƒ‚|\}}|t kr„t |f}n4t|t ƒs¦td|fƒ‚t|ƒ|f}|j |ƒS)Nrz6Callable must be used as Callable[[arg, ...], result].z8Callable[args, result]: args must be a list. Got %.100r.) r�rÙr rTr‰rjrlrirPÚEllipsisÚlistÚ__getitem_inner__)r[rÁr\Úresult)rZrCrDr‰<s"    zCallableMeta.__getitem__cs…|\}}d‰t|ˆƒ}|tkrCtƒjt|fƒSd‰t‡fdd†|Dƒƒ}||f}tƒj|ƒS)Nz.Callable[args, result]: result must be a type.z6Callable[[arg, ...], result]: each arg must be a type.c3s|]}t|ˆƒVqdS)N)r{)r¡ry)r•rCrDr¢Xsz1CallableMeta.__getitem_inner__..)r{rrTr‰rïrl)r[rÁr\r)rZ)r•rDrPs   zCallableMeta.__getitem_inner__)rArdr@rfrÔr‰rÎrrCrC)rZrDr$s rc@s"eZdZfZdd„ZdS)r cOs1t|tƒrtdƒ‚t|j|||ŽS)NzIType Callable cannot be instantiated; use a non-abstract subclass instead)rÙr rPr ró)rVr\r]rCrCrDrUjs zCallable.__new__N)rArdr@rorUrCrCrCrDr ]s csgeZdZdZddd„Zdd„Zdd„Z‡fd d †Zd d „Zd d„Z ‡S)r�Ú__type__NcKs ||_dS)N)r)r[Útpr]rCrCrDr^„sz_ClassVar.__init__cCspt|ƒ}|jdkrJ|t|dj|jdd…ƒƒddƒStdj|jdd…ƒƒ‚dS)Nz{} accepts only single type.rKrOTz {} cannot be further subscripted)rmrr{ÚformatrArP)r[ÚitemrVrCrCrDr‰‡s   z_ClassVar.__getitem__cCs>t|j||ƒ}||jkr(|St|ƒ|ddƒS)NrOT)rarrm)r[r_r`Znew_tprCrCrDra�sz_ClassVar._eval_typecs>tƒjƒ}|jdk r:|djt|jƒƒ7}|S)Nz[{}])rTrfrrrS)r[Úr)rZrCrDrf–sz_ClassVar.__repr__cCstt|ƒj|jfƒS)N)rrmrAr)r[rCrCrDr€œsz_ClassVar.__hash__cCs<t|tƒstS|jdk r2|j|jkS||kS)N)rjr�r|r)r[r}rCrCrDr~Ÿs z_ClassVar.__eq__)r) rArdr@ror^r‰rarfr€r~rCrC)rZrDr�qs   r�cCs|S)NrC)ÚtypÚvalrCrCrDr6ªsc CsÀy |j}Wntk r%iSYnX|j}|j}|d|…}|jpTf}|j}|rrt|ƒni}|t|ƒ}x1t||d…|ƒD]\}} | ||.wrapped_decorator)rÉrÍ)r,r-rC)r,rDr:1s!cOstdƒ‚dS)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.)ÚNotImplementedError)r\r]rCrCrDÚ_overload_dummyAsr/cCstS)N)r/)rÇrCrCrDr;Jscs:eZdZ‡fdd†Zdd„Zdd„Z‡S)Ú _ProtocolMetacs/t|jkrtƒj|ƒStdƒ‚dS)Nz+Protocols cannot be used with isinstance().)r”rÿrTr‚rP)r[r�)rZrCrDr‚nsz_ProtocolMeta.__instancecheck__csd|js tS|tkrdS|jƒ}x4|D],‰t‡fdd†|jDƒƒs0dSq0WdS)NTc3s|]}ˆ|jkVqdS)N)r)r¡Úd)r rCrDr¢€sz2_ProtocolMeta.__subclasscheck__..F)rgr|r”Ú_get_protocol_attrsrÀrÜ)r[rVÚattrsrC)r rDrƒss    "z_ProtocolMeta.__subclasscheck__cCs”g}x?|jD]4}t|ddƒr|jdkr|j|ƒqWtƒ}x<|D]4}x+|jjƒD]}x|jD]5}||k r~||jkr~t|ddƒ r~Pq~W|jdƒ rn|dkrn|dkrn|dkrn|dkrn|dkrn|d krn|d krn|d krn|d krn|d krn|dkrn|dkrn|dkrn|dkrn|dkrn|j|ƒqnWqXW|S)NrgFr”rÚ__abstractmethods__r%rhrr·ror2rór¸r�rôrßrÏrd) rÜr’rAr¥r¾rÚkeysrLÚadd)r[Zprotocol_basesrÝr3rùr rCrCrDr2„s:!                 z!_ProtocolMeta._get_protocol_attrs)rArdr@r‚rƒr2rCrC)rZrDr0gs  r0c@seZdZfZdZdS)r”TN)rArdr@rorgrCrCrCrDr”ªs r”Ú Awaitablec@seZdZfZdS)r7N)rArdr@rorCrCrCrDr7¾s Ú Coroutinec@seZdZfZdS)r8N)rArdr@rorCrCrCrDr8Ås Ú AsyncIterablec@seZdZfZdS)r9N)rArdr@rorCrCrCrDr9Îs c@seZdZfZdS)Ú AsyncIteratorN)rArdr@rorCrCrCrDr:Ñs r:c@seZdZfZdS)rN)rArdr@rorCrCrCrDrÙs c@seZdZfZdS)rN)rArdr@rorCrCrCrDrÝs c@s1eZdZfZeeddd�„ƒZdS)r*)ÚreturncCsdS)NrC)r[rCrCrDÚ__int__äszSupportsInt.__int__N)rArdr@rorÚintr<rCrCrCrDr*ás c@s1eZdZfZeeddd�„ƒZdS)r))r;cCsdS)NrC)r[rCrCrDÚ __float__ìszSupportsFloat.__float__N)rArdr@rorÚfloatr>rCrCrCrDr)és c@s1eZdZfZeeddd�„ƒZdS)r()r;cCsdS)NrC)r[rCrCrDÚ __complex__ôszSupportsComplex.__complex__N)rArdr@rorÚcomplexr@rCrCrCrDr(ñs c@s1eZdZfZeeddd�„ƒZdS)r')r;cCsdS)NrC)r[rCrCrDÚ __bytes__üszSupportsBytes.__bytes__N)rArdr@rorÚbytesrBrCrCrCrDr'ùs c@s1eZdZfZeeddd�„ƒZdS)r&)r;cCsdS)NrC)r[rCrCrDÚ__abs__szSupportsAbs.__abs__N)rArdr@rorr®rDrCrCrCrDr&s c@s7eZdZfZedeeddd�„ƒZdS)r+r)Úndigitsr;cCsdS)NrC)r[rErCrCrDÚ __round__ szSupportsRound.__round__N)rArdr@rorr=r®rFrCrCrCrDr+ s c@seZdZfZdS)r%N)rArdr@rorCrCrCrDr%s c@s1eZdZfZedddd�„ƒZdS)r%zIterator[T_co])r;cCsdS)NrC)r[rCrCrDÚ __reversed__szReversible.__reversed__N)rArdr@rorrGrCrCrCrDr%s c@seZdZfZdS)rN)rArdr@rorCrCrCrDr s Ú Collectionc@seZdZfZdS)rHN)rArdr@rorCrCrCrDrH%s c@seZdZfZdS)rN)rArdr@rorCrCrCrDr/s c@seZdZfZdS)rN)rArdr@rorCrCrCrDr3s c@seZdZfZdS)r!N)rArdr@rorCrCrCrDr!8s c@seZdZfZdS)rN)rArdr@rorCrCrCrDr>s c@seZdZfZdS)rN)rArdr@rorCrCrCrDrBs c@seZdZfZdS)rN)rArdr@rorCrCrCrDrGs c@seZdZfZdS)r"N)rArdr@rorCrCrCrDr"Ms c@seZdZfZdS)r"N)rArdr@rorCrCrCrDr"Qs c@seZdZfZdS)r"N)rArdr@rorCrCrCrDr"Us c@seZdZfZdS)r N)rArdr@rorCrCrCrDr Zs c@seZdZfZdS)rN)rArdr@rorCrCrCrDr^s c@s"eZdZfZdd„ZdS)r0cOs.t|tƒrtdƒ‚tt|||ŽS)Nz4Type List cannot be instantiated; use list() instead)rÙr0rPr r)rVr\r]rCrCrDrUfs z List.__new__N)rArdr@rorUrCrCrCrDr0bs c@s"eZdZfZdd„ZdS)r-cOs5t|tƒrtj||ŽSttj|||ŽS)N)rÙr-Ú collectionsÚdequer )rVr\r]rCrCrDrUqsz Deque.__new__N)rArdr@rorUrCrCrCrDr-ms c@s"eZdZfZdd„ZdS)r1cOs.t|tƒrtdƒ‚tt|||ŽS)Nz2Type Set cannot be instantiated; use set() instead)rÙr1rPr r¾)rVr\r]rCrCrDrU{s z Set.__new__N)rArdr@rorUrCrCrCrDr1ws c@s"eZdZfZdd„ZdS)r2cOs.t|tƒrtdƒ‚tt|||ŽS)Nz>Type FrozenSet cannot be instantiated; use frozenset() instead)rÙr2rPr rÐ)rVr\r]rCrCrDrU…s zFrozenSet.__new__N)rArdr@rorUrCrCrCrDr2‚s c@seZdZfZdS)rN)rArdr@rorCrCrCrDrŒs c@seZdZfZdS)rN)rArdr@rorCrCrCrDr�s c@seZdZfZdS)rN)rArdr@rorCrCrCrDr•s c@seZdZfZdS)r$N)rArdr@rorCrCrCrDr$œs ÚAbstractContextManagerc@seZdZfZdS)rN)rArdr@rorCrCrCrDr¡s c@sIeZdZfZdd„Zejdd„ƒZedd„ƒZ dS)rcCs|S)NrC)r[rCrCrDÚ __enter__§szContextManager.__enter__cCsdS)NrC)r[Úexc_typeÚ exc_valueÚ tracebackrCrCrDÚ__exit__ªszContextManager.__exit__cCsL|tkrHtdd„|jDƒƒrHtdd„|jDƒƒrHdStS)Ncss|]}d|jkVqdS)rLN)r)r¡ÚBrCrCrDr¢¶sz2ContextManager.__subclasshook__..css|]}d|jkVqdS)rPN)r)r¡rQrCrCrDr¢·sT)rrÀrÜr|)rVÚCrCrCrDrà®s  zContextManager.__subclasshook__N) rArdr@rorLrærrPÚ classmethodràrCrCrCrDr¤s  ÚAbstractAsyncContextManagerc@seZdZfZdS)ÚAsyncContextManagerN)rArdr@rorCrCrCrDrU½s rUéa® class AsyncContextManager(Generic[T_co]): __slots__ = () async def __aenter__(self): return self @abc.abstractmethod async def __aexit__(self, exc_type, exc_value, traceback): return None @classmethod def __subclasshook__(cls, C): if cls is AsyncContextManager: if sys.version_info[:2] >= (3, 6): return _collections_abc._check_methods(C, "__aenter__", "__aexit__") if (any("__aenter__" in B.__dict__ for B in C.__mro__) and any("__aexit__" in B.__dict__ for B in C.__mro__)): return True return NotImplemented __all__.append('AsyncContextManager') c@s"eZdZfZdd„ZdS)r.cOs.t|tƒrtdƒ‚tt|||ŽS)Nz4Type Dict cannot be instantiated; use dict() instead)rÙr.rPr ré)rVr\r]rCrCrDrUàs z Dict.__new__N)rArdr@rorUrCrCrCrDr.Üs c@s"eZdZfZdd„ZdS)r/cOs5t|tƒrtj||ŽSttj|||ŽS)N)rÙr/rIÚ defaultdictr )rVr\r]rCrCrDrUìszDefaultDict.__new__N)rArdr@rorUrCrCrCrDr/çs c@s"eZdZfZdd„ZdS)r,cOs5t|tƒrtj||ŽSttj|||ŽS)N)rÙr,rIr )rVr\r]rCrCrDrUöszCounter.__new__N)rArdr@rorUrCrCrCrDr,òs ÚChainMapc@s"eZdZfZdd„ZdS)rXcOs5t|tƒrtj||ŽSttj|||ŽS)N)rÙrXrIr )rVr\r]rCrCrDrUszChainMap.__new__N)rArdr@rorUrCrCrCrDrXs c@s"eZdZfZdd„ZdS)r4cOs.t|tƒrtdƒ‚tt|||ŽS)Nz@Type Generator cannot be instantiated; create a subclass instead)rÙr4rPr Ú_G_base)rVr\r]rCrCrDrUs zGenerator.__new__N)rArdr@rorUrCrCrCrDr4s ÚAsyncGeneratorc@seZdZfZdS)rZN)rArdr@rorCrCrCrDrZ s ÚCT_coržc@seZdZfZdS)rN)rArdr@rorCrCrCrDr,s c s›d‰‡fdd†|Dƒ}tj|dd„|Dƒƒ}tj|ƒ|_|_y%tjdƒjjddƒ|_ Wnt t fk r–YnX|S)NzDNamedTuple('Name', [(f0, t0), (f1, t1), ...]); each t must be a typecs+g|]!\}}|t|ˆƒf‘qSrC)r{)r¡Únr‹)r•rCrDú Is z!_make_nmtuple..cSsg|]\}}|‘qSrCrC)r¡r\r‹rCrCrDr]Js rrAÚ__main__) rIÚ namedtupleÚ OrderedDictr%Ú _field_typesr>rrr'rdr r£)rWrŠÚnm_tplrC)r•rDÚ _make_nmtupleGs%rcrUr^roÚ__getnewargs__Ú_fieldsÚ_field_defaultsraÚ_makeÚ_replaceÚ_asdictÚ_sourcerdrAr@r%cs"eZdZ‡fdd†Z‡S)ÚNamedTupleMetac sb|jddƒr+tƒj||||ƒSts=tdƒ‚|jdiƒ}t||jƒƒ}g}i}xq|D]i}||kr­||} |j| ƒ| ||Keyword syntax for NamedTuple is only supported in Python 3.6+zIEither list of fields or keywords can be provided to NamedTuple, not both)rmrPr(rc)r[rqZfieldsÚkwargsrCrCrDrUœs    zNamedTuple.__new__)rArdr@rOrUrCrCrCrDr3€s cCs"dd„}||_||_|S)NcSs|S)NrC)rBrCrCrDÚnew_type»szNewType..new_type)rAZ __supertype__)rWrrurCrCrDr8¨s   Fc@saeZdZfZeeddd�„ƒZeeddd�„ƒZedddd�„ƒZ ee dd d �„ƒZ ee dd d �„ƒZ eddd d�„ƒZee ddd�„ƒZed5e eddd�„ƒZee ddd�„ƒZed6e eddd�„ƒZed7e eeddd�„ƒZede e e ddd �„ƒZee dd!d"�„ƒZee dd#d$�„ƒZede e d%d&d'�„ƒZee dd(d)�„ƒZeee d*d+d,�„ƒZeeedd-d.d/�„ƒZed0dd1d2�„ƒZeddd3d4�„ƒZdS)8ÚIO)r;cCsdS)NrC)r[rCrCrDÚmodeÚszIO.modecCsdS)NrC)r[rCrCrDrWÞszIO.nameNcCsdS)NrC)r[rCrCrDÚcloseâszIO.closecCsdS)NrC)r[rCrCrDÚclosedæsz IO.closedcCsdS)NrC)r[rCrCrDÚfilenoêsz IO.filenocCsdS)NrC)r[rCrCrDÚflushîszIO.flushcCsdS)NrC)r[rCrCrDÚisattyòsz IO.isattyrK)r\r;cCsdS)NrC)r[r\rCrCrDÚreadöszIO.readcCsdS)NrC)r[rCrCrDÚreadableúsz IO.readable)Úlimitr;cCsdS)NrC)r[rrCrCrDÚreadlineþsz IO.readline)Úhintr;cCsdS)NrC)r[r�rCrCrDÚ readlines sz IO.readlinesr)ÚoffsetÚwhencer;cCsdS)NrC)r[rƒr„rCrCrDÚseek szIO.seekcCsdS)NrC)r[rCrCrDÚseekable sz IO.seekablecCsdS)NrC)r[rCrCrDÚtell szIO.tell)Úsizer;cCsdS)NrC)r[rˆrCrCrDÚtruncate sz IO.truncatecCsdS)NrC)r[rCrCrDÚwritable sz IO.writable)Úsr;cCsdS)NrC)r[r‹rCrCrDÚwrite szIO.write)Úlinesr;cCsdS)NrC)r[r�rCrCrDÚ writelines sz IO.writelinesz IO[AnyStr]cCsdS)NrC)r[rCrCrDrL" sz IO.__enter__cCsdS)NrC)r[rmrürOrCrCrDrP& sz IO.__exit__rÚrÚrÚ)rArdr@rorrkrwrWrrxr¤ryr=rzr{r|r5r}r~r€r0r‚r…r†r‡r‰rŠrŒrŽrLrPrCrCrCrDrvËsR "!rvc@sYeZdZfZeeeefeddd�„ƒZ edddd�„ƒZ dS)ÚBinaryIO)r‹r;cCsdS)NrC)r[r‹rCrCrDrŒ0 szBinaryIO.write)r;cCsdS)NrC)r[rCrCrDrL4 szBinaryIO.__enter__N) rArdr@rorrrCÚ bytearrayr=rŒrLrCrCrCrDr�+ s %r�c@s¼eZdZfZeeddd�„ƒZeeddd�„ƒZee eddd�„ƒZ ee ddd �„ƒZ ee dd d �„ƒZeddd d �„ƒZdS)ÚTextIO)r;cCsdS)NrC)r[rCrCrDÚbuffer> sz TextIO.buffercCsdS)NrC)r[rCrCrDÚencodingB szTextIO.encodingcCsdS)NrC)r[rCrCrDÚerrorsF sz TextIO.errorscCsdS)NrC)r[rCrCrDÚline_bufferingJ szTextIO.line_bufferingcCsdS)NrC)r[rCrCrDÚnewlinesN szTextIO.newlinescCsdS)NrC)r[rCrCrDrLR szTextIO.__enter__N)rArdr@rorr�r’rkr“rr”r¤r•r r–rrLrCrCrCrDr‘9 s r‘c@s1eZdZdddgZeZeZeZdS)Úiorvr‘r�N)rArdr@Ú__all__rvr‘r�rCrCrCrDr—W s r—z.ioÚPatternrñcCs|jS)N)Úpattern)rÃrCrCrDÚe sr›ÚMatchcCs |jjS)N)Úrerš)ÚmrCrCrDr›g sc@s(eZdZddgZeZeZdS)r�r™rœN)rArdr@r˜r™rœrCrCrCrDr�j s  r�z.re)¨rærrrIÚ contextlibrÉr�Z stdlib_rer>rŠÚcollections.abcZcollections_abcÚ ImportErrorr?Ú_collections_abcrrr rmrÛr^Ú__str__rkrQr˜rErMrNrHrIrGrFrcrŒrar{rSr™r ršZNoReturnrr«r¬r­r®r¯r°r±rCr5r¶r²rÄrÅrËrÎrŽrr�rr“rÙrÞrèrìrçrr r rðrïrrlrrr r�r r6r"r—ÚBuiltinFunctionTypeÚ MethodTypeÚ ModuleTyper)r7r9r:r/r;r0r”rr³r7r¥r8r9r:rrr*r)r(r'r&r+r%r#rrHr1rr!rrr"r r=rrr0rJr-r¾rÐr2rrrr$rKrrTrUÚexecrér.rWr/r,rXr4rYÚ GeneratorTyperZr[rrcrmrnrorkr3r8r<r=rvr�r‘r—rAÚmodulesrwr™ÚmatchrœrCrCrCrDÚsü               *%5C     W    ! )  ’     ÿ ""9"6   I   C # '  #   ##& #!  ! #$. )!! ### ) # # &  #& ) # /  #   ' $      !( `