
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
U
    ¡ê,ab ã                G   @   sÜ  d dl mZmZ d dlZd dlZd dlZd dlZd dlZd dlZ	d dl
Z
d dlZd dlmZmZmZ dddddd	d
dddddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJgGZdßdLdM„ZdNdO„ ZdPdQ„ ZdRdS„ ZdTdU„ ZdVdW„ Zg ZdXdY„ ZdZd[„ ZG d\d]„ d]ƒZG d^d_„ d_ƒZG d`da„ daeedKdb�Zeddcdd�ZedFdedd�Zeddfdd�Zeddgdd�Zeddhdd�Z eddidd�Z!ed
djdd�Z"G dkd„ dedKdb�Z#G dld„ deedKdb�Z$d6dd4d8d9d3d5dddmœ	Z%dndo„ Z&G dpdq„ dqedKdb�Z'G drds„ dse'dKdb�Z(G dtd	„ d	ƒZ)G dudv„ dvƒZ*G dwdx„ dxƒZ+dydzd{d|d}gZ,d~dd€d�d‚dƒd„d…d†d‡g
Z-e,e- dˆg Z.d‰dŠ„ Z/d‹dŒ„ Z0d�dŽ„ Z1d�d�„ Z2dd"ddd$dd dd&d)g
d‘d’gd“œZ3G d”d•„ d•eƒZ4G d–d„ de)e4d—�Z5d˜dH„ Z6d™d>„ Z7dšd›„ Z8ej9ej:ej;ej<eeefZ=dàdœdB„Z>d�dA„ Z?džd@„ Z@dŸdD„ ZAd dE„ ZBd¡d¢„ ZCd£dG„ ZDd¤d?„ ZEe$d¥ƒZFe$d¦ƒZGe$d§ƒZHe$d¨dKd©�ZIe$dªdKd©�ZJe$d«dKd©�ZKe$d¬dKd­�ZLe$d®dKeMd¯�ZNe$d=eOePƒZQdád°d±„ZReRej jSd²ƒZSeRej jTeIƒZTeRej jUeIeLeJfƒZUeRej jVeIƒZVeRej jWeIƒZWeRej jXeIƒZXeRej jYeIƒZYeRej jZeIƒZZeRej j[d²ƒZ[eRej j\eIƒZ\eRej j]eIƒZ]e(ej j^d²dKd³�Z^d´e^__eRej j`eIƒZaeRej jbeFƒZbeRej jceGeKfƒZceRej jdeGeHfƒZdeRej jeeIƒZeeRej jfeFƒZfeRej jgd²ƒZge(ehd²dµdKd¶�Zid·ei__eRejeFdµd¸�ZkeRejleFƒZmeReneFdµd¸�Z`eReoeIdµd¸�ZpeRej jqeIƒZqeRej jreGƒZreRej jseGeKfƒZseRej jteKƒZteRejueIƒZveRejweIƒZxeReyeGeHfdµd¸�ZzeRej{eGeHfƒZ|eRej}eGeHfƒZ}eRej~eFƒZ~eRejeGeHfƒZeRej j€eIeLeJfƒZ€eRej j�eIeLfƒZ�eReMeNdµd¸�Z‚d¹e‚__e6G dºd/„ d/e5ƒƒZƒe6G d»d-„ d-e5ƒƒZ„e6G d¼d,„ d,e5ƒƒZ…e6G d½d+„ d+e5ƒƒZ†e6G d¾d.„ d.e5ƒƒZ‡e6G d¿d*„ d*e5eI ƒƒZˆe6G dÀd0„ d0e5eI ƒƒZ‰dÁdÂ„ ZŠdÃZ‹dÄZŒG dÅdÆ„ dÆeMƒZ�G dÇd:„ d:e�d—�ZŽdÈdÉ„ Z�dâdKdÊœdËdÌ„Z�dÍdÎ„ Z‘G dÏdÐ„ dÐeMƒZ’G dÑd;„ d;eye’d—�Z“dÒdC„ Z”ePZ•dµZ–G dÓdÔ„ dÔe)eQ ƒZ—G dÕdÖ„ dÖe—eO ƒZ˜G d×dØ„ dØe—eP ƒZ™G dÙdÚ„ dÚƒZše›dÛ eš_›eše
jœešj›< eRe	j�eQƒZ�eRe	jžeQƒZžG dÜdÝ„ dÝƒZe›dÞ e_›ee
jœej›< dS )ãé    )ÚabstractmethodÚABCMetaN)ÚWrapperDescriptorTypeÚMethodWrapperTypeÚMethodDescriptorTypeÚAnyÚCallableÚClassVarÚFinalÚ
ForwardRefÚGenericÚLiteralÚOptionalÚ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ÚAnyStrÚcastÚfinalÚget_argsÚ
get_originÚget_type_hintsÚNewTypeÚno_type_checkÚno_type_check_decoratorÚNoReturnÚoverloadÚruntime_checkableÚTextÚTYPE_CHECKINGTc                 C   sÄ   t tf}|r|ttf }| d kr(td ƒS t| tƒr:t| ƒS t| tƒr\| j	|kr\t
| › d�ƒ‚t| tƒrr| ttfks~| t tfkrŽt
d| › d�ƒ‚t| tttfƒr¢| S t| ƒsÀt
|› d| d›d�ƒ‚| S )Nz is not valid as type argumentzPlain z Got z.100Ú.)r   r   r	   r
   ÚtypeÚ
isinstanceÚstrr   Ú_GenericAliasÚ
__origin__Ú	TypeErrorÚ_SpecialFormr   rI   r   Úcallable)ÚargÚmsgÚis_argumentZinvalid_generic_forms© rZ   ú+/opt/alt/python38/lib64/python3.8/typing.pyÚ_type_checkx   s(    

ÿ
ÿr\   c                 C   sR   t | tƒr,| jdkr| jS | j› d| j› �S | dkr8dS t | tjƒrJ| jS t| ƒS )NÚbuiltinsrN   .z...)rP   rO   Ú
__module__Ú__qualname__ÚtypesÚFunctionTypeÚ__name__Úrepr)ÚobjrZ   rZ   r[   Ú
_type_repr™   s    

re   c                    s\   g ‰ | D ]J}t |tƒr(|ˆ kr(ˆ  |¡ t |tƒr|jsˆ  ‡ fdd„|jD ƒ¡ qtˆ ƒS )Nc                    s   g | ]}|ˆ kr|‘qS rZ   rZ   ©Ú.0Út©ÚtvarsrZ   r[   Ú
<listcomp>·   s      z&_collect_type_vars.<locals>.<listcomp>)rP   r   ÚappendrR   Ú_specialÚextendÚ__parameters__Útuple)r`   rh   rZ   ri   r[   Ú_collect_type_vars¬   s    
rq   c                 C   s’   t | tƒs| S t| jƒ}t| jƒD ]J\}}t |tƒr\t|ƒD ]\}}||kr<|| ||< q<q"t|||ƒ||< q"| jtkr„tt	|ƒ S |  
t	|ƒ¡S ©N)rP   rR   ÚlistÚ__args__Ú	enumerater   Ú_subs_tvarsrS   r   rp   Ú	copy_with)Útprj   ZsubsZnew_argsÚarW   ÚiZtvarrZ   rZ   r[   rv   »   s    



rv   c              	   C   s^   | j st| › d�ƒ‚t|ƒ}t| j ƒ}||krZtd||kr>dnd› d| › d|› d|› �ƒ‚d S )Nz is not a generic classzToo ZmanyZfewz parameters for z	; actual z, expected )ro   rT   Úlen)ÚclsÚ
parametersZalenZelenrZ   rZ   r[   Ú_check_genericÎ   s    
r~   c                 C   s¾   g }| D ]f}t |tƒr.|jtkr.| |j¡ qt |tƒrdt|ƒdkrd|d tkrd| |dd … ¡ q| |¡ qt	|ƒ}t|ƒt|ƒk r¶g }|D ] }||kr�| |¡ | 
|¡ q�|}t|ƒS )Nr   é   )rP   rR   rS   r   rn   rt   rp   r{   rl   ÚsetÚremove)r}   ÚparamsÚpZ
all_paramsZ
new_paramsrh   rZ   rZ   r[   Ú_remove_dups_flattenÛ   s     "
r„   c                    s4   t  ¡ ˆƒ‰ t ˆ j¡ t  ˆ¡‡ ‡fdd„ƒ}|S )Nc                     s,   zˆ | |ŽW S  t k
r    Y nX ˆ| |ŽS rr   ©rT   ©ÚargsÚkwds©ÚcachedÚfuncrZ   r[   Úinnerÿ   s
    z_tp_cache.<locals>.inner)Ú	functoolsÚ	lru_cacheÚ	_cleanupsrl   Úcache_clearÚwraps)r‹   rŒ   rZ   r‰   r[   Ú	_tp_cacheø   s
    r’   c                    sb   t | tƒr|  ˆ ˆ¡S t | tƒr^t‡ ‡fdd„| jD ƒƒ}|| jkrH| S |  |¡}| j|_|S | S )Nc                 3   s   | ]}t |ˆ ˆƒV  qd S rr   )Ú
_eval_type©rg   ry   ©ÚglobalnsÚlocalnsrZ   r[   Ú	<genexpr>  s     z_eval_type.<locals>.<genexpr>)rP   r   Ú	_evaluaterR   rp   rt   rw   rm   )rh   r–   r—   Zev_argsÚresrZ   r•   r[   r“   	  s    



r“   c                   @   s   e Zd ZdZdd„ ZdS )Ú_Final)Ú__weakref__c                O   s   d|krt dƒ‚d S )NÚ_rootz&Cannot subclass special typing classesr…   ©Úselfr‡   rˆ   rZ   rZ   r[   Ú__init_subclass__  s    z_Final.__init_subclass__N)rb   r^   r_   Ú	__slots__r    rZ   rZ   rZ   r[   r›     s   r›   c                   @   s   e Zd Zdd„ Zdd„ ZdS )Ú
_Immutablec                 C   s   | S rr   rZ   ©rŸ   rZ   rZ   r[   Ú__copy__%  s    z_Immutable.__copy__c                 C   s   | S rr   rZ   )rŸ   ZmemorZ   rZ   r[   Ú__deepcopy__(  s    z_Immutable.__deepcopy__N)rb   r^   r_   r¤   r¥   rZ   rZ   rZ   r[   r¢   "  s   r¢   c                       sl   e Zd ZdZ‡ fdd„Zdd„ Zdd„ Zdd	„ Zd
d„ Zdd„ Z	dd„ Z
dd„ Zdd„ Zedd„ ƒZ‡  ZS )rU   ©Ú_nameZ_docc                    sB   t |ƒdkr6t|d tƒr6t|d tƒr6td| ›�ƒ‚tƒ  | ¡S )Né   r   r   zCannot subclass )r{   rP   rQ   rp   rT   ÚsuperÚ__new__)r|   r‡   rˆ   ©Ú	__class__rZ   r[   rª   3  s    ÿþz_SpecialForm.__new__c                 C   s   || _ || _d S rr   r¦   )rŸ   ÚnameÚdocrZ   rZ   r[   Ú__init__@  s    z_SpecialForm.__init__c                 C   s   t |tƒstS | j|jkS rr   )rP   rU   ÚNotImplementedr§   ©rŸ   ÚotherrZ   rZ   r[   Ú__eq__D  s    
z_SpecialForm.__eq__c                 C   s   t | jfƒS rr   )Úhashr§   r£   rZ   rZ   r[   Ú__hash__I  s    z_SpecialForm.__hash__c                 C   s
   d| j  S )Nútyping.©r§   r£   rZ   rZ   r[   Ú__repr__L  s    z_SpecialForm.__repr__c                 C   s   | j S rr   r·   r£   rZ   rZ   r[   Ú
__reduce__O  s    z_SpecialForm.__reduce__c                 O   s   t d| ›�ƒ‚d S )NzCannot instantiate r…   rž   rZ   rZ   r[   Ú__call__R  s    z_SpecialForm.__call__c                 C   s   t | › d�ƒ‚d S )Nz! cannot be used with isinstance()r…   ©rŸ   rd   rZ   rZ   r[   Ú__instancecheck__U  s    z_SpecialForm.__instancecheck__c                 C   s   t | › d�ƒ‚d S )Nz! cannot be used with issubclass()r…   ©rŸ   r|   rZ   rZ   r[   Ú__subclasscheck__X  s    z_SpecialForm.__subclasscheck__c                    sÜ   | j dkr(t|| j › d�ƒ}t| |fƒS | j dkr’|dkrBtdƒ‚t|tƒsR|f}d‰ t‡ fdd„|D ƒƒ}t|ƒ}t|ƒd	krˆ|d
 S t| |ƒS | j dkr¶t|dƒ}t|t	d ƒf S | j dkrÊt| |ƒS t| › d�ƒ‚d S )N)r	   r
   z accepts only single type.r   rZ   z Cannot take a Union of no types.z)Union[arg, ...]: each arg must be a type.c                 3   s   | ]}t |ˆ ƒV  qd S rr   ©r\   ©rg   rƒ   ©rX   rZ   r[   r˜   f  s     z+_SpecialForm.__getitem__.<locals>.<genexpr>r   r   r   z#Optional[t] requires a single type.r   z is not subscriptable)
r§   r\   rR   rT   rP   rp   r„   r{   r   rO   )rŸ   r}   ÚitemrW   rZ   rÁ   r[   Ú__getitem__[  s(    







z_SpecialForm.__getitem__)rb   r^   r_   r¡   rª   r¯   r³   rµ   r¸   r¹   rº   r¼   r¾   r’   rÃ   Ú__classcell__rZ   rZ   r«   r[   rU   ,  s   rU   )r�   a`  Special type indicating an unconstrained type.

    - Any is compatible with every type.
    - Any assumed to have all methods.
    - All values assumed to be instances of Any.

    Note that all the above statements are true from the point of view of
    static type checkers. At runtime, Any should not be used with instance
    or class checks.
    )r®   a  Special type indicating functions that never return.
    Example::

      from typing import NoReturn

      def stop() -> NoReturn:
          raise Exception('no way')

    This type is invalid in other positions, e.g., ``List[NoReturn]``
    will fail in static type checkers.
    a3  Special type construct to mark class variables.

    An annotation wrapped in ClassVar indicates that a given
    attribute is intended to be used as a class variable and
    should not be set on instances of that class. Usage::

      class Starship:
          stats: ClassVar[Dict[str, int]] = {} # class variable
          damage: int = 10                     # instance variable

    ClassVar accepts only types and cannot be further subscribed.

    Note that ClassVar is not a class itself, and should not
    be used with isinstance() or issubclass().
    aÄ  Special typing construct to indicate final names to type checkers.

    A final name cannot be re-assigned or overridden in a subclass.
    For example:

      MAX_SIZE: Final = 9000
      MAX_SIZE += 1  # Error reported by type checker

      class Connection:
          TIMEOUT: Final[int] = 10

      class FastConnector(Connection):
          TIMEOUT = 1  # Error reported by type checker

    There is no runtime checking of these properties.
    a'  Union type; Union[X, Y] means either X or Y.

    To define a union, use e.g. Union[int, str].  Details:
    - The arguments must be types and there must be at least one.
    - None as an argument is a special case and is replaced by
      type(None).
    - Unions of unions are flattened, e.g.::

        Union[Union[int, str], float] == Union[int, str, float]

    - Unions of a single argument vanish, e.g.::

        Union[int] == int  # The constructor actually returns int

    - Redundant arguments are skipped, e.g.::

        Union[int, str, int] == Union[int, str]

    - When comparing unions, the argument order is ignored, e.g.::

        Union[int, str] == Union[str, int]

    - You cannot subclass or instantiate a union.
    - You can use Optional[X] as a shorthand for Union[X, None].
    zEOptional type.

    Optional[X] is equivalent to Union[X, None].
    aö  Special typing form to define literal types (a.k.a. value types).

    This form can be used to indicate to type checkers that the corresponding
    variable or function parameter has a value equivalent to the provided
    literal (or one of several literals):

      def validate_simple(data: Any) -> Literal[True]:  # always returns True
          ...

      MODE = Literal['r', 'rb', 'w', 'wb']
      def open_helper(file: str, mode: MODE) -> str:
          ...

      open_helper('/some/path', 'r')  # Passes type check
      open_helper('/other/path', 'typo')  # Error in type checker

   Literal[...] cannot be subclassed. At runtime, an arbitrary value
   is allowed as type argument to Literal[...], but type checkers may
   impose restrictions.
    c                   @   s:   e Zd ZdZddd„Zdd„ Zdd„ Zd	d
„ Zdd„ ZdS )r   )Ú__forward_arg__Ú__forward_code__Ú__forward_evaluated__Ú__forward_value__Ú__forward_is_argument__Tc                 C   sn   t |tƒstd|›�ƒ‚zt|ddƒ}W n" tk
rJ   td|›�ƒ‚Y nX || _|| _d| _d | _|| _	d S )Nz*Forward reference must be a string -- got z<string>Úevalz/Forward reference must be an expression -- got F)
rP   rQ   rT   ÚcompileÚSyntaxErrorrÅ   rÆ   rÇ   rÈ   rÉ   )rŸ   rW   rY   ÚcoderZ   rZ   r[   r¯   ð  s    
zForwardRef.__init__c                 C   sj   | j r||k	rd|d kr(|d kr(i  }}n|d kr6|}n|d krB|}tt| j||ƒd| jd�| _d| _ | jS )Nz*Forward references must evaluate to types.©rY   T)rÇ   r\   rÊ   rÆ   rÉ   rÈ   )rŸ   r–   r—   rZ   rZ   r[   r™   ý  s    
ýzForwardRef._evaluatec                 C   s>   t |tƒstS | jr2|jr2| j|jko0| j|jkS | j|jkS rr   )rP   r   r°   rÇ   rÅ   rÈ   r±   rZ   rZ   r[   r³     s    

ÿzForwardRef.__eq__c                 C   s
   t | jƒS rr   )r´   rÅ   r£   rZ   rZ   r[   rµ     s    zForwardRef.__hash__c                 C   s   d| j ›d�S )NzForwardRef(ú))rÅ   r£   rZ   rZ   r[   r¸     s    zForwardRef.__repr__N)T)	rb   r^   r_   r¡   r¯   r™   r³   rµ   r¸   rZ   rZ   rZ   r[   r   é  s   
c                   @   s2   e Zd ZdZddddœdd„Zdd„ Zd	d
„ ZdS )r   )rb   Ú	__bound__Ú__constraints__Ú__covariant__Ú__contravariant__NF)ÚboundÚ	covariantÚcontravariantc             	      sÒ   || _ |r|rtdƒ‚t|ƒ| _t|ƒ| _|r>|d k	r>tdƒ‚|rVt|ƒdkrVtdƒ‚d‰ t‡ fdd„|D ƒƒ| _|r„t	|dƒ| _
nd | _
zt d¡j d	d
¡}W n ttfk
r¾   d }Y nX |dkrÎ|| _d S )Nz"Bivariant types are not supported.z-Constraints cannot be combined with bound=...r   z"A single constraint is not allowedz:TypeVar(name, constraint, ...): constraints must be types.c                 3   s   | ]}t |ˆ ƒV  qd S rr   r¿   rf   rÁ   rZ   r[   r˜   V  s     z#TypeVar.__init__.<locals>.<genexpr>zBound must be a type.rb   Ú__main__Útyping)rb   Ú
ValueErrorÚboolrÒ   rÓ   rT   r{   rp   rÑ   r\   rÐ   ÚsysÚ	_getframeÚ	f_globalsÚgetÚAttributeErrorr^   )rŸ   r­   rÔ   rÕ   rÖ   ZconstraintsZdef_modrZ   rÁ   r[   r¯   J  s(    


zTypeVar.__init__c                 C   s&   | j rd}n| jrd}nd}|| j S )Nú+ú-ú~)rÒ   rÓ   rb   )rŸ   ÚprefixrZ   rZ   r[   r¸   b  s    zTypeVar.__repr__c                 C   s   | j S rr   )rb   r£   rZ   rZ   r[   r¹   k  s    zTypeVar.__reduce__)rb   r^   r_   r¡   r¯   r¸   r¹   rZ   rZ   rZ   r[   r     s   , ÿ	)	rs   rp   Údictr€   Ú	frozensetÚdequeÚdefaultdictrO   r;   c                 C   s   |   d¡o|  d¡S )NÚ__)Ú
startswithÚendswith)ÚattrrZ   rZ   r[   Ú
_is_dunder†  s    rì   c                       sŠ   e Zd Zddddœdd„Zedd„ ƒZd	d
„ Zdd„ Zdd„ Zdd„ Z	dd„ Z
dd„ Zdd„ Z‡ fdd„Zdd„ Zdd„ Zdd„ Z‡  ZS )rR   TFN)ÚinstÚspecialr­   c                C   sz   || _ || _|r*|d kr*|j}t ||¡}|| _t|tƒs@|f}|| _tdd„ |D ƒƒ| _	t
|ƒ| _d | _|sv|j| _d S )Nc                 s   s*   | ]"}|t krd n|tkrdn|V  qdS ).rZ   N)Ú_TypingEllipsisÚ_TypingEmptyr”   rZ   rZ   r[   r˜   �  s   þz)_GenericAlias.__init__.<locals>.<genexpr>)Ú_instrm   rb   Ú_normalize_aliasrÞ   r§   rP   rp   rS   rt   rq   ro   r¡   r^   )rŸ   Úoriginr‚   rí   rî   r­   Z	orig_namerZ   rZ   r[   r¯   “  s     
þ

z_GenericAlias.__init__c                    s^   | j ttfkrtd| › �ƒ‚t|tƒs,|f}d‰ t‡ fdd„|D ƒƒ}t| |ƒ t| | j|ƒS )Nz%Cannot subscript already-subscripted ú*Parameters to generic types must be types.c                 3   s   | ]}t |ˆ ƒV  qd S rr   r¿   rÀ   rÁ   rZ   r[   r˜   ­  s     z,_GenericAlias.__getitem__.<locals>.<genexpr>)	rS   r   r   rT   rP   rp   r~   rv   ro   ©rŸ   r‚   rZ   rÁ   r[   rÃ   ¥  s    

z_GenericAlias.__getitem__c                 C   s   t | j|| j| jd�S )N)r­   rí   )rR   rS   r§   rñ   rõ   rZ   rZ   r[   rw   ±  s    z_GenericAlias.copy_withc                 C   s¸   | j dks&t| jƒdkrx| jd tkrx| j r8d| j  }n
t| jƒ}| jshdd dd„ | jD ƒ¡› d	�}nd
}|› |› �S | jr‚dS dd dd„ | jd d… D ƒ¡› dt| jd ƒ› d	�S )Nr   é   r   r¶   ú[ú, c                 S   s   g | ]}t |ƒ‘qS rZ   ©re   r”   rZ   rZ   r[   rk   ½  s     z*_GenericAlias.__repr__.<locals>.<listcomp>ú]Ú ztyping.Callableztyping.Callable[[c                 S   s   g | ]}t |ƒ‘qS rZ   rù   r”   rZ   rZ   r[   rk   Ã  s     éÿÿÿÿz], )r§   r{   rt   ÚEllipsisre   rS   rm   Újoin)rŸ   r­   r‡   rZ   rZ   r[   r¸   µ  s    
ÿÿ
 z_GenericAlias.__repr__c                 C   sR   t |tƒstS | j|jkrdS | jtkrF|jtkrFt| jƒt|jƒkS | j|jkS )NF)rP   rR   r°   rS   r   rå   rt   r±   rZ   rZ   r[   r³   Ç  s    
z_GenericAlias.__eq__c                 C   s,   | j tkrttt| jƒfƒS t| j | jfƒS rr   )rS   r   r´   rå   rt   r£   rZ   rZ   r[   rµ   Ð  s    
z_GenericAlias.__hash__c                 O   sT   | j s$td| j› d| j ¡ › d�ƒ‚| j||Ž}z
| |_W n tk
rN   Y nX |S )NúType z cannot be instantiated; use z
() instead)rñ   rT   r§   ÚlowerrS   Ú__orig_class__rß   )rŸ   r‡   ÚkwargsÚresultrZ   rZ   r[   rº   Õ  s    
z_GenericAlias.__call__c                 C   s°   | j rZg }| j|kr | | j¡ | | ¡}tdd„ ||d d … D ƒƒsR| t¡ t|ƒS | jtkr¨t|krpdS | | ¡}||d d … D ]}t|t	ƒrŠ|| k	rŠ dS qŠ| jfS )Nc                 s   s"   | ]}t |tƒpt|tƒV  qd S rr   )rP   rR   Ú
issubclassr   ©rg   ÚbrZ   rZ   r[   r˜   æ  s   ÿz0_GenericAlias.__mro_entries__.<locals>.<genexpr>r   rZ   )
r§   rS   rl   ÚindexÚanyr   rp   r   rP   rR   )rŸ   Úbasesrš   rz   r  rZ   rZ   r[   Ú__mro_entries__à  s$    

ÿ


z_GenericAlias.__mro_entries__c                 C   s*   d| j krt|ƒst| j|ƒS t|ƒ‚d S )NrS   )Ú__dict__rì   ÚgetattrrS   rß   )rŸ   rë   rZ   rZ   r[   Ú__getattr__ó  s    z_GenericAlias.__getattr__c                    s2   t |ƒs|dkr tƒ  ||¡ nt| j||ƒ d S )N)r§   rñ   rm   )rì   r©   Ú__setattr__ÚsetattrrS   )rŸ   rë   Úvalr«   rZ   r[   r  ú  s    z_GenericAlias.__setattr__c                 C   s   |   t|ƒ¡S rr   )r¾   rO   r»   rZ   rZ   r[   r¼      s    z_GenericAlias.__instancecheck__c                 C   s<   | j r0t|tƒst|| jƒS |j r0t|j| jƒS tdƒ‚d S )NzBSubscripted generics cannot be used with class and instance checks)rm   rP   rR   r  rS   rT   r½   rZ   rZ   r[   r¾     s    
z_GenericAlias.__subclasscheck__c                 C   s    | j r| jS | jr tƒ | j }n| j}|tkrht| jƒdkrJ| jd tksht| jd d… ƒ| jd f}n*t	| jƒ}t|ƒdkr’t
|d t	ƒs’|\}tj||ffS )Nrö   r   rü   r   )rm   r§   ÚglobalsrS   r   r{   rt   rý   rs   rp   rP   ÚoperatorÚgetitem)rŸ   ró   r‡   rZ   rZ   r[   r¹     s    ÿÿ
z_GenericAlias.__reduce__)rb   r^   r_   r¯   r’   rÃ   rw   r¸   r³   rµ   rº   r
  r  r  r¼   r¾   r¹   rÄ   rZ   rZ   r«   r[   rR   Š  s   	
		rR   c                       s(   e Zd Zdd„ Ze‡ fdd„ƒZ‡  ZS )Ú_VariadicGenericAliasc                 C   s€   | j dks| js|  |¡S t|tƒr0t|ƒdkr8tdƒ‚|\}}|tkrRt|f}n$t|tƒsjtd|› �ƒ‚t|ƒ|f}|  |¡S )Nr   rö   z6Callable must be used as Callable[[arg, ...], result].z1Callable[args, result]: args must be a list. Got )	r§   rm   Ú__getitem_inner__rP   rp   r{   rT   rý   rs   )rŸ   r‚   r‡   r  rZ   rZ   r[   rÃ   "  s    


z!_VariadicGenericAlias.__getitem__c                    s
  | j tkr�| jr�|dkr$|  tf¡S t|tƒs4|f}t|ƒdkrl|d dkrld‰ t|d ˆ ƒ}|  |tf¡S d‰ t‡ fdd	„|D ƒƒ}|  |¡S | j t	j
jkrþ| jrþ|\}}d
‰ t|ˆ ƒ}|tkrÐ|  t|f¡S d‰ t‡ fdd	„|D ƒƒ}||f }|  |¡S tƒ  |¡S )NrZ   rö   r   .z Tuple[t, ...]: t must be a type.r   z*Tuple[t0, t1, ...]: each t must be a type.c                 3   s   | ]}t |ˆ ƒV  qd S rr   r¿   rÀ   rÁ   rZ   r[   r˜   >  s     z:_VariadicGenericAlias.__getitem_inner__.<locals>.<genexpr>z.Callable[args, result]: result must be a type.z6Callable[[arg, ...], result]: each arg must be a type.c                 3   s   | ]}t |ˆ ƒV  qd S rr   r¿   )rg   rW   rÁ   rZ   r[   r˜   G  s     )rS   rp   rm   rw   rð   rP   r{   r\   rï   ÚcollectionsÚabcr   rý   r©   rÃ   )rŸ   r‚   rƒ   r‡   r  r«   rÁ   r[   r  2  s.    




z'_VariadicGenericAlias.__getitem_inner__)rb   r^   r_   rÃ   r’   r  rÄ   rZ   rZ   r«   r[   r    s   r  c                       s<   e Zd ZdZdZ‡ fdd„Zedd„ ƒZ‡ fdd„Z‡  Z	S )	r   rZ   Fc                    s^   | t tfkrtd| j› d�ƒ‚tƒ jtjkrF| jtjk	rFtƒ  | ¡}ntƒ j| f|ž|Ž}|S )Nrÿ   z< cannot be instantiated; it can be used only as a base class)r   r   rT   rb   r©   rª   Úobjectr¯   )r|   r‡   rˆ   rd   r«   rZ   r[   rª   d  s    zGeneric.__new__c                    s´   t |tƒs|f}|s.| tk	r.td| j› d�ƒ‚d‰ t‡ fdd„|D ƒƒ}| ttfkr tdd„ |D ƒƒsxtd| j› d�ƒ‚t	t
|ƒƒt	|ƒkrªtd| j› d	�ƒ‚n
t| |ƒ t| |ƒS )
NzParameter list to z[...] cannot be emptyrô   c                 3   s   | ]}t |ˆ ƒV  qd S rr   r¿   rÀ   rÁ   rZ   r[   r˜   v  s     z,Generic.__class_getitem__.<locals>.<genexpr>c                 s   s   | ]}t |tƒV  qd S rr   )rP   r   rÀ   rZ   rZ   r[   r˜   y  s     zParameters to z [...] must all be type variablesz[...] must all be unique)rP   rp   r   rT   r_   r   r   Úallrb   r{   r€   r~   rR   )r|   r‚   rZ   rÁ   r[   Ú__class_getitem__n  s&    
ÿÿÿ
zGeneric.__class_getitem__c           
         s
  t ƒ j||Ž g }d| jkr(t| jk}nt| jko:| jdk}|rHtdƒ‚d| jkrüt| jƒ}d }| jD ].}t	|t
ƒrf|jtkrf|d k	rŽtdƒ‚|j}qf|d k	rüt|ƒ}t|ƒ‰ |ˆ ksød ‡ fdd„|D ƒ¡}d dd„ |D ƒ¡}	td	|› d
|	› d�ƒ‚|}t|ƒ| _d S )NÚ__orig_bases__r   z!Cannot inherit from plain Genericz0Cannot inherit from Generic[...] multiple types.rø   c                 3   s   | ]}|ˆ krt |ƒV  qd S rr   ©rQ   rf   ©ZgvarsetrZ   r[   r˜      s      z,Generic.__init_subclass__.<locals>.<genexpr>c                 s   s   | ]}t |ƒV  qd S rr   r  )rg   ÚgrZ   rZ   r[   r˜   ¡  s     zSome type variables (z) are not listed in Generic[rú   )r©   r    r  r   r  Ú	__bases__rb   rT   rq   rP   rR   rS   ro   r€   rþ   rp   )
r|   r‡   r  rj   ÚerrorZgvarsÚbaseZtvarsetZs_varsZs_argsr«   r  r[   r    „  s8    




ÿÿzGeneric.__init_subclass__)
rb   r^   r_   r¡   Ú_is_protocolrª   r’   r  r    rÄ   rZ   rZ   r«   r[   r   M  s   

c                   @   s   e Zd ZdS )rð   N©rb   r^   r_   rZ   rZ   rZ   r[   rð   ¨  s   rð   c                   @   s   e Zd ZdS )rï   Nr#  rZ   rZ   rZ   r[   rï   ¯  s   rï   ro   r  r  r"  Ú_is_runtime_protocolÚ__abstractmethods__Ú__annotations__r  Ú__doc__r¯   r^   rª   r¡   Ú__subclasshook__rœ   Ú_MutableMapping__markerc                 C   sr   t ƒ }| jd d… D ]X}|jdkr$qt|di ƒ}t|j ¡ ƒt| ¡ ƒ D ] }| d¡sJ|tkrJ| 	|¡ qJq|S )Nrü   )r   r   r&  Z_abc_)
r€   Ú__mro__rb   r  rs   r  Úkeysré   ÚEXCLUDED_ATTRIBUTESÚadd)r|   Zattrsr!  Úannotationsrë   rZ   rZ   r[   Ú_get_protocol_attrs¾  s    
r/  c                    s   t ‡ fdd„tˆ ƒD ƒƒS )Nc                 3   s   | ]}t tˆ |d ƒƒV  qd S rr   )rV   r  ©rg   rë   ©r|   rZ   r[   r˜   Ñ  s     z,_is_callable_members_only.<locals>.<genexpr>)r  r/  r1  rZ   r1  r[   Ú_is_callable_members_onlyÏ  s    r2  c                 O   s   t | ƒjrtdƒ‚d S )Nz Protocols cannot be instantiated)rO   r"  rT   )rŸ   r‡   r  rZ   rZ   r[   Ú_no_initÔ  s    
r3  c                	   C   s6   zt  d¡jd dkW S  ttfk
r0   Y dS X d S )Nr¨   rb   )r  r�   T)rÛ   rÜ   rÝ   rß   rÙ   rZ   rZ   rZ   r[   Ú_allow_reckless_class_cheksÙ  s    r4  ÚAbstractContextManagerÚAbstractAsyncContextManager)zcollections.abcÚ
contextlibc                       s   e Zd Z‡ fdd„Z‡  ZS )Ú_ProtocolMetac                    sV   t ˆ ddƒrtˆ ƒr$tˆjˆ ƒr$dS ˆ jrJt‡ ‡fdd„tˆ ƒD ƒƒrJdS tƒ  ˆ¡S )Nr"  FTc                 3   s8   | ]0}t ˆ|ƒo.ttˆ |d ƒƒ p.tˆ|ƒd k	V  qd S rr   )ÚhasattrrV   r  r0  ©r|   ÚinstancerZ   r[   r˜   ù  s   ü
z2_ProtocolMeta.__instancecheck__.<locals>.<genexpr>)	r  r2  r  r¬   r"  r  r/  r©   r¼   r:  r«   r:  r[   r¼   ñ  s    ÿ
þüz_ProtocolMeta.__instancecheck__)rb   r^   r_   r¼   rÄ   rZ   rZ   r«   r[   r8  î  s   r8  c                       s(   e Zd ZdZdZdZ‡ fdd„Z‡  ZS )r   rZ   TFc                    s°   t ƒ j||Ž ˆ j dd¡s2tdd„ ˆ jD ƒƒˆ _‡ fdd„}dˆ jkrN|ˆ _ˆ jsXd S ˆ jD ]F}|tt	fks^|j
tkrˆ|jt|j
 ks^t|t	ƒr˜|js^td| ƒ‚q^tˆ _d S )	Nr"  Fc                 s   s   | ]}|t kV  qd S rr   )r   r  rZ   rZ   r[   r˜   )  s     z-Protocol.__init_subclass__.<locals>.<genexpr>c                    sà   ˆ j  dd¡stS tˆ ddƒs0tƒ r(tS tdƒ‚tˆ ƒsJtƒ rBtS tdƒ‚t| tƒs\tdƒ‚t	ˆ ƒD ]v}| j
D ]b}||j krš|j | d kr–t    S  qdt|di ƒ}t|tjjƒrn||krnt| tƒrn| jrn qdqnt  S qddS )	Nr"  Fr$  zLInstance and class checks can only be used with @runtime_checkable protocolsz<Protocols with non-method members don't support issubclass()z"issubclass() arg 1 must be a classr&  T)r  rÞ   r°   r  r4  rT   r2  rP   rO   r/  r*  r  r  r   r  r   r"  )r²   rë   r!  r.  r1  rZ   r[   Ú_proto_hook,  s:    


ÿþþ
z/Protocol.__init_subclass__.<locals>._proto_hookr(  z7Protocols can only inherit from other protocols, got %r)r©   r    r  rÞ   r  r  r"  r(  r  r   r^   Ú_PROTO_WHITELISTrb   r  rT   r3  r¯   )r|   r‡   r  r<  r!  r«   r1  r[   r    $  s,    &

ÿþýýÿzProtocol.__init_subclass__)rb   r^   r_   r¡   r"  r$  r    rÄ   rZ   rZ   r«   r[   r     s   )Ú	metaclassc                 C   s&   t | tƒr| jstd|  ƒ‚d| _| S )NzB@runtime_checkable can be only applied to protocol classes, got %rT)r  r   r"  rT   r$  r1  rZ   rZ   r[   rK   d  s    ÿc                 C   s   |S rr   rZ   )Útypr  rZ   rZ   r[   rA   }  s    c           
      C   s�   z
| j }W n tk
r"   i  Y S X |j}|j}|d |… }| jpDd}| j}|rXt|ƒni }|t|ƒ }t||d … |ƒD ]\}}	|	||< qz|S )NrZ   )	Ú__code__rß   Úco_argcountÚco_varnamesÚ__defaults__Ú__kwdefaults__rä   r{   Úzip)
r‹   rÍ   Z	pos_countZ	arg_namesÚdefaultsZ
kwdefaultsrš   Z
pos_offsetr­   ÚvaluerZ   rZ   r[   Ú_get_defaultsˆ  s    



rH  c                 C   s¸  t | dd ƒri S t| tƒr¨i }t| jƒD ]z}|d krDtj|j j}n|}|j 	di ¡}| 
¡ D ]B\}}|d krvtd ƒ}t|tƒrŒt|dd�}t|||ƒ}|||< q^q(|S |d krôt| tjƒrÄ| j}n"| }	t|	dƒrÚ|	j}	qÈt |	di ƒ}|d krò|}n|d k�r|}t | dd ƒ}|d k�r6t| tƒ�r(i S td | ¡ƒ‚t| ƒ}
t|ƒ}| 
¡ D ]d\}}|d k�rhtd ƒ}t|tƒ�r|t|ƒ}t|||ƒ}||
k�r¨|
| d k�r¨t| }|||< �qN|S )NÚ__no_type_check__r&  FrÎ   Ú__wrapped__Ú__globals__z1{!r} is not a module, class, method, or function.)r  rP   rO   Úreversedr*  rÛ   Úmodulesr^   r  rÞ   ÚitemsrQ   r   r“   r`   Ú
ModuleTyper9  rJ  Ú_allowed_typesrT   ÚformatrH  rä   r   )rd   r–   r—   Zhintsr!  Zbase_globalsÚannr­   rG  ZnsobjrF  rZ   rZ   r[   rE   ¡  s^    




ÿ
c                 C   s    t | tƒr| jS | tkrtS d S rr   )rP   rR   rS   r   )rx   rZ   rZ   r[   rD   ÷  s
    
c                 C   sR   t | tƒrN| jsN| j}t| ƒtjjkrJ|d tk	rJt	|d d… ƒ|d f}|S dS )Nr   rü   rZ   )
rP   rR   rm   rt   rD   r  r  r   rý   rs   )rx   rš   rZ   rZ   r[   rC     s    c                 C   s˜   t | tƒrt| j ¡ }| j ¡ D ]"\}}|| j| f kr| |¡ q| ¡ D ](}t |tj	ƒr`d|_
t |tƒrJt|ƒ qJz
d| _
W n tk
r’   Y nX | S )NT)rP   rO   r  ÚcopyrN  r  ÚpopÚvaluesr`   ra   rI  rG   rT   )rW   Z	arg_attrsrë   r  rd   rZ   rZ   r[   rG     s    	




c                    s   t  ˆ ¡‡ fdd„ƒ}|S )Nc                     s   ˆ | |Ž}t |ƒ}|S rr   )rG   )r‡   rˆ   r‹   ©Ú	decoratorrZ   r[   Úwrapped_decorator@  s    
z2no_type_check_decorator.<locals>.wrapped_decorator)r�   r‘   )rW  rX  rZ   rV  r[   rH   9  s    c                  O   s   t dƒ‚d S )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†   rZ   rZ   r[   Ú_overload_dummyI  s    ÿrZ  c                 C   s   t S rr   )rZ  )r‹   rZ   rZ   r[   rJ   R  s    c                 C   s   | S rr   rZ   )ÚfrZ   rZ   r[   rB   o  s    ÚTÚKTÚVTÚT_co)rÕ   ÚV_coÚVT_coÚT_contra)rÖ   ÚCT_co)rÕ   rÔ   c                 C   s   t | |d|d�S )NT)rî   rí   )rR   )ró   r‚   rí   rZ   rZ   r[   Ú_alias›  s    rd  rZ   )rî   a�  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.
    F)rí   rî   a@  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í   a¾  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                   @   s"   e Zd ZdZeedœdd„ƒZdS )r2   rZ   ©Úreturnc                 C   s   d S rr   rZ   r£   rZ   rZ   r[   Ú__int__ö  s    zSupportsInt.__int__N)rb   r^   r_   r¡   r   Úintrg  rZ   rZ   rZ   r[   r2   ñ  s   c                   @   s"   e Zd ZdZeedœdd„ƒZdS )r0   rZ   re  c                 C   s   d S rr   rZ   r£   rZ   rZ   r[   Ú	__float__   s    zSupportsFloat.__float__N)rb   r^   r_   r¡   r   Úfloatri  rZ   rZ   rZ   r[   r0   û  s   c                   @   s"   e Zd ZdZeedœdd„ƒZdS )r/   rZ   re  c                 C   s   d S rr   rZ   r£   rZ   rZ   r[   Ú__complex__
  s    zSupportsComplex.__complex__N)rb   r^   r_   r¡   r   Úcomplexrk  rZ   rZ   rZ   r[   r/     s   c                   @   s"   e Zd ZdZeedœdd„ƒZdS )r.   rZ   re  c                 C   s   d S rr   rZ   r£   rZ   rZ   r[   Ú	__bytes__  s    zSupportsBytes.__bytes__N)rb   r^   r_   r¡   r   Úbytesrm  rZ   rZ   rZ   r[   r.     s   c                   @   s"   e Zd ZdZeedœdd„ƒZdS )r1   rZ   re  c                 C   s   d S rr   rZ   r£   rZ   rZ   r[   Ú	__index__  s    zSupportsIndex.__index__N)rb   r^   r_   r¡   r   rh  ro  rZ   rZ   rZ   r[   r1     s   c                   @   s"   e Zd ZdZeedœdd„ƒZdS )r-   rZ   re  c                 C   s   d S rr   rZ   r£   rZ   rZ   r[   Ú__abs__(  s    zSupportsAbs.__abs__N)rb   r^   r_   r¡   r   r_  rp  rZ   rZ   rZ   r[   r-   #  s   c                   @   s&   e Zd ZdZedeedœdd„ƒZdS )r3   rZ   r   )Úndigitsrf  c                 C   s   d S rr   rZ   )rŸ   rq  rZ   rZ   r[   Ú	__round__2  s    zSupportsRound.__round__N)r   )rb   r^   r_   r¡   r   rh  r_  rr  rZ   rZ   rZ   r[   r3   -  s   c              	      st   d‰ ‡ fdd„|D ƒ}t  | dd„ |D ƒ¡}t|ƒ |_|_zt d¡j dd¡|_	W n t
tfk
rn   Y nX |S )NzDNamedTuple('Name', [(f0, t0), (f1, t1), ...]); each t must be a typec                    s   g | ]\}}|t |ˆ ƒf‘qS rZ   r¿   ©rg   Únrh   rÁ   rZ   r[   rk   9  s     z!_make_nmtuple.<locals>.<listcomp>c                 S   s   g | ]\}}|‘qS rZ   rZ   rs  rZ   rZ   r[   rk   :  s     rö   rb   r×   )r  Ú
namedtuplerä   r&  Ú_field_typesrÛ   rÜ   rÝ   rÞ   r^   rß   rÙ   )r­   r`   Únm_tplrZ   rÁ   r[   Ú_make_nmtuple7  s    rx  )rª   r¯   r¡   Ú__getnewargs__Ú_fieldsÚ_field_defaultsrv  Ú_makeÚ_replaceÚ_asdictZ_source)r^   rb   r&  c                       s   e Zd Z‡ fdd„Z‡  ZS )ÚNamedTupleMetac                    sò   |  dd¡rtƒ  | |||¡S |  di ¡}t|| ¡ ƒ}g }i }|D ]H}||krl|| }	| |	¡ |	||< qD|rDtdj|d | 	¡ ¡d�ƒ‚qDt
|ƒ|j_t|ƒ|j_||_|D ]<}
|
tkrÊtd|
 ƒ‚q°|
tkr°|
|jkr°t||
||
 ƒ q°|S )Nr�   Fr&  zXNon-default namedtuple field {field_name} cannot follow default field(s) {default_names}rø   )Ú
field_nameZdefault_namesz&Cannot overwrite NamedTuple attribute )rÞ   r©   rª   rx  rN  rl   rT   rQ  rþ   r+  rä   r&  rp   rC  r{  Ú_prohibitedrß   rm   rz  r  )r|   Útypenamer	  Únsr`   rw  rF  Zdefaults_dictr€  Zdefault_valueÚkeyr«   rZ   r[   rª   O  s2    

ý
zNamedTupleMeta.__new__)rb   r^   r_   rª   rÄ   rZ   rZ   r«   r[   r  M  s   r  c                   @   s   e Zd ZdZdd„ Zde_dS )r=   Tc                  O   sú   | st dƒ‚| ^}} | r"| ^}} n4d|krN| d¡}dd l}|jdtdd� nt dƒ‚| r–z
| \}W qÒ tk
r’   t dt| ƒd › d	�ƒd ‚Y qÒX n<d
|krÎt|ƒdkrÎ| d
¡}dd l}|jdtdd� nd }|d krä| ¡ }n|rðt dƒ‚t||ƒS )Nz*NamedTuple.__new__(): not enough argumentsr‚  r   z4Passing 'typename' as keyword argument is deprecatedrö   )Ú
stacklevelzGNamedTuple.__new__() missing 1 required positional argument: 'typename'z@NamedTuple.__new__() takes from 2 to 3 positional arguments but z were givenÚfieldsr   z2Passing 'fields' as keyword argument is deprecatedzIEither list of fields or keywords can be provided to NamedTuple, not both)	rT   rT  ÚwarningsÚwarnÚDeprecationWarningrÙ   r{   rN  rx  )r‡   r  r|   r‚  r‡  r†  rZ   rZ   r[   rª   †  sB    

 ÿ
þ

 ÿ
zNamedTuple.__new__z*($cls, typename, fields=None, /, **kwargs)N)rb   r^   r_   r�   rª   Ú__text_signature__rZ   rZ   rZ   r[   r=   l  s   #c                O   s
   t ||ŽS rr   )rä   )r|   r‡   r  rZ   rZ   r[   Ú	_dict_new¬  s    r‹  )Útotalc            	   K   sj   |d kr|}n|rt dƒ‚t|ƒ|dœ}zt d¡j dd¡|d< W n ttfk
r\   Y nX t|d|ƒS )Nz@TypedDict takes either a dict or keyword arguments, but not both)r&  Ú	__total__r   rb   r×   r^   rZ   )	rT   rä   rÛ   rÜ   rÝ   rÞ   rß   rÙ   Ú_TypedDictMeta)r|   r‚  r†  rŒ  r  rƒ  rZ   rZ   r[   Ú_typeddict_new°  s    r�  c                 C   s   t dƒ‚d S )Nz4TypedDict does not support instance and class checksr…   )r|   r²   rZ   rZ   r[   Ú_check_failsÁ  s    r�  c                       s&   e Zd Zd‡ fdd„	Ze ZZ‡  ZS )rŽ  Tc                    sŠ   |dkrt nt|d< tt| ƒ | |tf|¡}| di ¡}d‰ ‡ fdd„| ¡ D ƒ}|D ]}| |j	 di ¡¡ qV||_
t|dƒs†||_|S )Nr>   rª   r&  z?TypedDict('Name', {f0: t0, f1: t1, ...}); each t must be a typec                    s   i | ]\}}|t |ˆ ƒ“qS rZ   r¿   )rg   rt  rx   rÁ   rZ   r[   Ú
<dictcomp>Õ  s      z*_TypedDictMeta.__new__.<locals>.<dictcomp>r�  )r�  r‹  r©   rŽ  rª   rä   rÞ   rN  Úupdater  r&  r9  r�  )r|   r­   r	  rƒ  rŒ  Ztp_dictZannsr!  r«   rÁ   r[   rª   Ç  s    	
z_TypedDictMeta.__new__)T)rb   r^   r_   rª   r�  r¼   r¾   rÄ   rZ   rZ   r«   r[   rŽ  Æ  s   rŽ  c                   @   s   e Zd ZdS )r>   Nr#  rZ   rZ   rZ   r[   r>   à  s   c                 C   s   dd„ }| |_ ||_|S )Nc                 S   s   | S rr   rZ   )ÚxrZ   rZ   r[   Únew_type  s    zNewType.<locals>.new_type)rb   Z__supertype__)r­   rx   r”  rZ   rZ   r[   rF     s    c                   @   s¦  e Zd ZdZeeedœdd„ƒƒZeeedœdd„ƒƒZeddœdd	„ƒZ	eee
dœd
d„ƒƒZeedœdd„ƒZeddœdd„ƒZee
dœdd„ƒZed6eedœdd„ƒZee
dœdd„ƒZed7eedœdd„ƒZed8eee dœdd„ƒZed9eeedœd d!„ƒZee
dœd"d#„ƒZeedœd$d%„ƒZed:eed&œd'd(„ƒZee
dœd)d*„ƒZeeed+œd,d-„ƒZeee dd.œd/d0„ƒZed1dœd2d3„ƒZeddœd4d5„ƒZdS );ÚIOrZ   re  c                 C   s   d S rr   rZ   r£   rZ   rZ   r[   Úmode=  s    zIO.modec                 C   s   d S rr   rZ   r£   rZ   rZ   r[   r­   B  s    zIO.nameNc                 C   s   d S rr   rZ   r£   rZ   rZ   r[   ÚcloseG  s    zIO.closec                 C   s   d S rr   rZ   r£   rZ   rZ   r[   ÚclosedK  s    z	IO.closedc                 C   s   d S rr   rZ   r£   rZ   rZ   r[   ÚfilenoP  s    z	IO.filenoc                 C   s   d S rr   rZ   r£   rZ   rZ   r[   ÚflushT  s    zIO.flushc                 C   s   d S rr   rZ   r£   rZ   rZ   r[   ÚisattyX  s    z	IO.isattyrü   )rt  rf  c                 C   s   d S rr   rZ   )rŸ   rt  rZ   rZ   r[   Úread\  s    zIO.readc                 C   s   d S rr   rZ   r£   rZ   rZ   r[   Úreadable`  s    zIO.readable)Úlimitrf  c                 C   s   d S rr   rZ   )rŸ   rž  rZ   rZ   r[   Úreadlined  s    zIO.readline)Úhintrf  c                 C   s   d S rr   rZ   )rŸ   r   rZ   rZ   r[   Ú	readlinesh  s    zIO.readlinesr   )ÚoffsetÚwhencerf  c                 C   s   d S rr   rZ   )rŸ   r¢  r£  rZ   rZ   r[   Úseekl  s    zIO.seekc                 C   s   d S rr   rZ   r£   rZ   rZ   r[   Úseekablep  s    zIO.seekablec                 C   s   d S rr   rZ   r£   rZ   rZ   r[   Útellt  s    zIO.tell)Úsizerf  c                 C   s   d S rr   rZ   )rŸ   r§  rZ   rZ   r[   Útruncatex  s    zIO.truncatec                 C   s   d S rr   rZ   r£   rZ   rZ   r[   Úwritable|  s    zIO.writable©Úsrf  c                 C   s   d S rr   rZ   ©rŸ   r«  rZ   rZ   r[   Úwrite€  s    zIO.write)Úlinesrf  c                 C   s   d S rr   rZ   )rŸ   r®  rZ   rZ   r[   Ú
writelines„  s    zIO.writelinesz
IO[AnyStr]c                 C   s   d S rr   rZ   r£   rZ   rZ   r[   Ú	__enter__ˆ  s    zIO.__enter__c                 C   s   d S rr   rZ   )rŸ   rO   rG  Ú	tracebackrZ   rZ   r[   Ú__exit__Œ  s    zIO.__exit__)rü   )rü   )rü   )r   )N)rb   r^   r_   r¡   Úpropertyr   rQ   r–  r­   r—  rÚ   r˜  rh  r™  rš  r›  r@   rœ  r�  rŸ  r9   r¡  r¤  r¥  r¦  r¨  r©  r­  r¯  r°  r²  rZ   rZ   rZ   r[   r•  .  sX   r•  c                   @   s>   e Zd ZdZeeeef edœdd„ƒZ	ed dœdd„ƒZ
dS )	ÚBinaryIOrZ   rª  c                 C   s   d S rr   rZ   r¬  rZ   rZ   r[   r­  –  s    zBinaryIO.writere  c                 C   s   d S rr   rZ   r£   rZ   rZ   r[   r°  š  s    zBinaryIO.__enter__N)rb   r^   r_   r¡   r   r   rn  Ú	bytearrayrh  r­  r°  rZ   rZ   rZ   r[   r´  ‘  s
   r´  c                   @   s”   e Zd ZdZeeedœdd„ƒƒZeeedœdd„ƒƒZ	eee
e dœdd„ƒƒZeeedœd	d
„ƒƒZeeedœdd„ƒƒZed dœdd„ƒZdS )ÚTextIOrZ   re  c                 C   s   d S rr   rZ   r£   rZ   rZ   r[   Úbuffer¤  s    zTextIO.bufferc                 C   s   d S rr   rZ   r£   rZ   rZ   r[   Úencoding©  s    zTextIO.encodingc                 C   s   d S rr   rZ   r£   rZ   rZ   r[   Úerrors®  s    zTextIO.errorsc                 C   s   d S rr   rZ   r£   rZ   rZ   r[   Úline_buffering³  s    zTextIO.line_bufferingc                 C   s   d S rr   rZ   r£   rZ   rZ   r[   Únewlines¸  s    zTextIO.newlinesc                 C   s   d S rr   rZ   r£   rZ   rZ   r[   r°  ½  s    zTextIO.__enter__N)rb   r^   r_   r¡   r³  r   r´  r·  rQ   r¸  r   r¹  rÚ   rº  r   r»  r°  rZ   rZ   rZ   r[   r¶  Ÿ  s$   r¶  c                   @   s"   e Zd ZdddgZeZeZeZdS )Úior•  r¶  r´  N)rb   r^   r_   Ú__all__r•  r¶  r´  rZ   rZ   rZ   r[   r¼  Â  s   
r¼  z.ioc                   @   s   e Zd ZddgZeZeZdS )ÚreÚPatternÚMatchN)rb   r^   r_   r½  r¿  rÀ  rZ   rZ   rZ   r[   r¾  Ñ  s   r¾  z.re)T)NN)T)N)Ÿr  r   r   r  Zcollections.abcr7  r�   r  r¾  Z	stdlib_rerÛ   r`   r   r   r   r½  r\   re   rq   rv   r~   r„   r�   r’   r“   r›   r¢   rU   r   rI   r	   r
   r   r   r   r   r   rò   rì   rR   r  r   rð   rï   Z_TYPING_INTERNALSZ_SPECIAL_NAMESr,  r/  r2  r3  r4  r=  r8  r   rK   rA   rH  ra   ÚBuiltinFunctionTypeÚ
MethodTyperO  rP  rE   rD   rC   rG   rH   rZ  rJ   rB   r\  r]  r^  r_  r`  ra  rb  rO   rc  rn  rQ   r@   rd  r   r%   r(   r'   r&   r   r   r,   r#   r   r)   r   r'  r;   r   r!   r   r   r"   r    r   rp   r   rs   r9   ræ   r6   r€   rå   r<   r   r   r   r$   r5  r   r6  r+   rä   r7   rç   r8   r:   r5   r4   r?   r*   r   r2   r0   r/   r.   r1   r-   r3   rx  r�  rm   r  r=   r‹  r�  r�  rŽ  r>   rF   rL   rM   r•  r´  r¶  r¼  rb   rM  r¿  rÀ  rZ   rZ   rZ   r[   Ú<module>   s&  °X
!	
Iÿÿÿÿÿÿÿ2aø
 /[ ÿ    þ        þû	b   þ
V	
ÿ
ÿ	ÿ							@+c#	

