� !A?hw���^� ddlmZmZddlZddlmZddlZddlZddlZddlZddl Z ddl Z ddl Z ddl Z ddl mZmZmZmZ ddlmZn#e$rd�ZYnwxYwgd�Zd�dd �d �Zd�dd �d �Zd �Zd�Zd�Zd�Zd�Zd�Zdd�d�Zd�Zd�Z d�Z!d�Z"gZ#d�dd�d�Z$e%��fd�Z&Gd�d��Z'Gd�d��Z(Gd �d!��Z)Gd"�d#e'e)d �$��Z*Gd%�d&e*d �$��Z+Gd'�d(e,��Z-Gd)�d*e-�+��Z.e*d,���Z/e*d-���Z0e*d.���Z1e*d/���Z2e*d0���Z3e*d1���Z4e*d2���Z5e*d3���Z6e+e$d ���d4�����Z7e*d5���Z8e*d6���Z9e*d7���Z:Gd8�d9e'd �$��Z;d:e.d;eGd>�d?��Z?Gd@�dA��Z@GdB�dCe'e(e@e?d �$��ZAGdD�dEe'e(e?d �$��ZBGdF�dGe'e(d �$��ZCGdH�dIe'e(d �$��ZDGdJ�dKe'e(e@e?d �$��ZEdL�ZFGdM�dNe'd �$��ZGGdO�dPeGd �$��ZHGdQ�dRe)eGd �$��ZIGdS�dTe)eHd �$��ZJGdU�dVeId �$��ZKGdW�dXeId �$��ZLGdY�dZe)eHd �$��ZMd[�ZNGd\�d]eHd �$��ZOGd^�d_eHd �$��ZPe*d`���ZQGda�dbeHd �$��ZRGdc�dd��ZSGde�df��ZTgdg�ZUgdh�ZVeUeVzdigzZWdj�ZXdk�ZYdl�ZZd�do�Z[d�dq�Z\gdr�dsdtgdu�Z]Gdv�dwe��Z^Gdx�dyeSe^�+��Z_Gdz�d{e)eHd �$��Z`Gd|�d}��Zad~�Zbd�Zcd��Zde jee jfe jge jheeefZid�d��Zjd��Zkd��Zld��Zmd��Znd�Zod�e0d;e0fd��Zpd��Zqd��Zrd��Zseejteeu����Zvd��Zwd��Zxd��Zyd��ZzeAd���Z{eAd���Z|eAd���Z}eAd�d ����Z~eAd�d ����ZeAd�d ����Z�eAd�d ����Z�eAd�d e,����Z�eAd�e�e���Z�eIZ�e�ejj�d��Z�e�ejj�dm��Z�e�ejj�dp��Z�e�ejj�dm��Z�e�ejj�dm��Z�e�ejj�dm��Z�e�ejj�dm��Z�e�ejj�dm��Z�e�ejj�d��Z�e�ejj�dm��Z�e�ejj�dm��Z�eKejj�d���Z�d�e�_�e�ejj�dmd�����Z�e�ejj�dm��Z�e�ejj�d���Z�e�ejj�d���Z�e�ejj�dm��Z�e�ejj�dm��Z�e�ejj�d��Z�eLe�d�dd�����Z�d�e�_�e�e�dmdd�����Z�e�ej�dmd�����Z�e�e�dmdd�����Z�e�e%dmdd�����Z�e�ejj�dm��Z�e�ejj�dm��Z�e�ejj�d���Z�e�ejj�dm��Z�e�ej�dmd�����Z�e�ej�dmd�����Z�e�eud�dd�����Z�e�ejd�d�����Z�e�ej�d���Z�e�ej�dm��Z�e�ej�d���Z�e�ejj�dp��Z�e�ejj�d���Z�e�e,dmdd�����Z�d�e�_�ebGd��d�e_����Z�ebGd��d�e_����Z�ebGd��d�e_����Z�ebGd��d�e_����Z�ebGd��d�e_����Z�ebGd��d�e_e~����Z�ebGd��d�e_e~����Z�d�d��Z�e%hd����Z�e%hd����Z�Gd��d�e,��Z�d�d„Z�e,��e�d�d�i��Z�dÄ„Z�e�e�_�GdÅ„d�e,��Z�d�d dÇœdÈ„Z�e,��e�d�d�i��Z�dÊ„e�_�e*d˄��Z�e*d̄��Z�GdÍ„dΦ�Z�e�Z�dZ�GdÏ„d�eSe���Z�GdÑ„d�e�e���Z�GdÓ„d�e�e���Z�GdÕ„d�e,��Z�Gdׄd�eϬ+��Z�e�d�ze�_�e�e j�e�j�<e�e j�dm��Z�e�e j�dm��Z�GdÚ„d�eϬ+��Z e�d�ze _�e e j�e j�<d�e{d;e{fdÞ„Z�d ddd�dßœd�e�>�>�?�?�?� �s�M�8�U�D�)�D�D�D�� ���s�x��&7�7�7�� ��#�|�$�$�F����/B�(B�(B��D��D�D�D�E�E�E� �C�y�y�E����3�2�2�S�2�2�2�2�3�3�3� �Jrc�Z�|dup't|ttttf��S)N.)ryr��listr�_ConcatenateGenericAlias)r{s r�_is_param_exprr��s2�� �#�:� @��C� �D�)�%=� >�@�@�@rc�� |jtjjuo(t |��dkot |d�� S)N�r)r�� collections�abcr�lenr�)�typ�argss r�_should_unflatten_callable_argsr��sC���$ ��+�/�2�2� =��T���a��;�N�4��7�$;�$;� <�rc�2� t|tj��rt|��St|t��r#|jdkr|jS|j�d|j��S|durdSt|tj��r|jSt|��S)N�builtinsr.�...) ry�typesr �reprrx� __module__� __qualname__� FunctionType�__name__��objs r� _type_reprr��s�����#�u�)�*�*���C�y�y���#�t���6� �>�Z� '� '��#� #��.�5�5�3�#3�5�5�5� �c�z�z��u��#�u�)�*�*���|�� ��9�9�rc�� g}|D]�}t|t��r�t|t��r2|D].}t|g��D]}||vr|�|����/�_t |d��r||vr|�|����t |dd��D]}||vr|�|�����t|��S�N�__typing_subst__�__parameters__r )ryrxr��_collect_parameters�append�hasattr�getattr)r�� parameters�tr� collecteds rr�r��s�� ��J� �)�)�� �a�� � � )� � ��5� !� !� )�� 5� 5��!4�a�S�!9�!9�5�5�I� � �2�2�"�)�)�)�4�4�4��5� 5��Q�*� +� +� )�� �"�"��!�!�!�$�$�$���Q� 0�"�5�5� )� )���J�&�&��%�%�a�(�(�(�� )� �� � �rc �� |st|�d����t|��}||kr#td||krdnd�d|�d|�d|�����dS)N� is not a generic class�Too �many�few� arguments for � ; actual � , expected )r�r�)�clsr��elen�alens r�_check_genericr�s���� �9��3�7�7�7�8�8�8� �z�?�?�D� �t�|�|��;�����v�v�%�;�;�PS�;�;�#'�;�;�48�;�;�<�<� <��|rc��g}|D]L}t|dd��}|�"|r |ddus|�|���7|�|���M|S)N�__typing_unpacked_tuple_args__�����.)r��extendr�)r��newargsr{�subargss r� _unpack_argsr�(sp���G�� � ���#�?��F�F�� � �� �G�B�K�3�4F�4F� �N�N�7� #� #� #� #� �N�N�3� � � � � �Nr��unhashable_fallbackc�|� t�|��S#t$r|s�t|��cYSwxYwr )�dict�fromkeysr��_deduplicate_unhashable)�paramsr�s r� _deduplicater�2sS��/��}�}�V�$�$�$�� �/�/�/�"� � �&�v�.�.�.�.�.� /���s ��;�;c�F�g}|D]}||vr|�|���|Sr )r�)�unhashable_params�new_unhashabler�s rr�r�<s<���N� �%�%�� �N� "� "� � !� !�!� $� $� $�� �rc��t|��}t|��}t|��} |D]}|�|���n#t$rYdSwxYw| S)NF)r�r��remove� ValueError)� first_args� second_args�first_unhashable�second_unhashabler��elems r�_compare_args_orderlessr�Cs��.�z�:�:��/� �<�<�� � ���A��$� � �D� �H�H�T�N�N�N�N� �� �����u�u������5�Ls�A � A�Ac��� g}|D]S}t|ttjf��r|�|j���>|�|���Ttt|d�����S)NTr�) ry�_UnionGenericAliasr�� UnionTyper��__args__r�r�r��r�r��ps r�_remove_dups_flattenr�Ns~��� �F� ���� �a�,�e�o�>� ?� ?� � �M�M�!�*� %� %� %� %� �M�M�!� � � � � ��f�$�?�?�?� @� @�@rc�� g}|D]G}t|t��r|�|j���2|�|���Ht |��Sr )ry�_LiteralGenericAliasr�r�r�r�r�s r�_flatten_literal_paramsr�^sd��R� �F� ���� �a�-� .� .� � �M�M�!�*� %� %� %� %� �M�M�!� � � � � ��=�=�r��typedc�.�� �fd�}|� ||��S|S)Nc������tj��������t��j��tj�����fd���}|S)Nr�c�F�� �|i|��S#t$rYnwxYw�|i|��Sr �r�)r��kwds�cached�funcs ��r�innerz+_tp_cache..decorator..innerusR��� ��v�t�,�t�,�,�,��� � � ��� �����4��&��&�&� &s � � �)� functools� lru_cache� _cleanupsr�� cache_clear�wraps)r�r�r�r�s` @�r� decoratorz_tp_cache..decoratorqss�����1��$�5�1�1�1�$�7�7������+�,�,�,� ��� � � '� '� '� '� '� � � '� � rr )r�r�r�s ` r� _tp_cacher�ls=���� � � � � � ���y����� �rc� ���� t|t��r|������St|ttt jf���r+t|t��rotd�|jD����}|j }t||��r|j |dd�|df}n |j |}|r t|}t���fd�|jD����}||jkr|St|t��rt |j |��St|t j��rtjtj|��S|�|��S|S)Nc3�bK�|]*}t|t��rt|��n|V��+dSr )ryrzr��.0r{s r� z_eval_type..�sO�������$.�c�3�#7�#7�@� �3����S������rr�c3�<�K�|]}t|�����V��dSr )� _eval_type)r��a�globalns�localns�recursive_guards ���rr�z_eval_type..�s1�����^�^�a� �1�h���I�I�^�^�^�^�^�^r)ryr� _evaluater�r r�r�r�r�� __unpacked__r�r�rrr��reduce�operator�or_� copy_with)r�r�r�r�r�� is_unpacked�ev_argss ``` rr�r��s������� �!�Z� � �?��{�{�8�W�o�>�>�>��!�m�\�5�?�C�D�D�(� �a�� &� &� �����:������D��.�K�.�q�$�7�7� '��L�$�s��s�)�T�"�X�!6�7����L��&��� ��1�I���^�^�^�^�^�^�ST�S]�^�^�^�^�^�� �a�j� � ��H� �a�� &� &� 7��� �g�6�6� 6� �a��� )� )� (��#�H�L�'�:�:� :��;�;�w�'�'� '� �Hrc��eZdZ dZd�ZdS)�_Final)� __weakref__c�,�d|vrtd���dS)N�_rootz&Cannot subclass special typing classesr�)r�r�r�s r�__init_subclass__z_Final.__init_subclass__�s$�� �$� � ��D�E�E� E� � rN)r�r�r�� __slots__rr rrrr�s0������(� �I�F�F�F�F�Frrc� �eZdZ dZd�Zd�ZdS)� _Immutabler c��|Sr r ��selfs r�__copy__z_Immutable.__copy__����� rc��|Sr r )r �memos r� __deepcopy__z_Immutable.__deepcopy__�rrN)r�r�r�rr rr rrr r �s:������=��I��������rr c��eZdZ dZdZdS)� _NotIterabler N)r�r�r�r�__iter__r rrrr�s������ ��I��H�H�Hrrc�d�eZdZdZd�Zd�Zd�Zd�Zd�Zd�Z d�Z d �Z d �Z d �Z ed ���Zd S)r�)�_name�__doc__�_getitemc�D�||_|j|_|j|_dSr )rr�rr)r �getitems r�__init__z_SpecialForm.__init__�s ���� ��%�� ���� � � rc�6�|dvr|jSt|���)N>r�r�)r�AttributeError)r �items r� __getattr__z_SpecialForm.__getattr__�s$�� �/� /� /��:� ��T�"�"�"rc�&�td|�����)N�Cannot subclass r�)r �basess r�__mro_entries__z_SpecialForm.__mro_entries__�s���3�4�3�3�4�4�4rc��d|jzS�N�typing.�rr s r�__repr__z_SpecialForm.__repr__�����4�:�%�%rc��|jSr r'r s r� __reduce__z_SpecialForm.__reduce__�� ���z�rc�&�td|�����)NzCannot instantiate r�)r r�r�s r�__call__z_SpecialForm.__call__�s���6�d�6�6�7�7�7rc� �t||fSr �r"�r �others r�__or__z_SpecialForm.__or__�����T�5�[�!�!rc� �t||fSr r0r1s r�__ror__z_SpecialForm.__ror__�����U�D�[�!�!rc�&�t|�d����)Nz! cannot be used with isinstance()r��r r�s r�__instancecheck__z_SpecialForm.__instancecheck__�����4�B�B�B�C�C�Crc�&�t|�d����)Nz! cannot be used with issubclass()r��r r�s r�__subclasscheck__z_SpecialForm.__subclasscheck__�r;rc�.�|�||��Sr )r�r r�s r� __getitem__z_SpecialForm.__getitem__�s���}�}�T�:�.�.�.rN)r�r�r�rrrr#r(r+r.r3r6r:r>r�rAr rrr�r��s�������0�I�'�'�'� #�#�#� 5�5�5�&�&�&����8�8�8�"�"�"�"�"�"�D�D�D�D�D�D��/�/��Y�/�/�/rr�)rc��eZdZd�ZdS)�_LiteralSpecialFormc�N�t|t��s|f}|j|g|�R�Sr )ryr�rr@s rrAz_LiteralSpecialForm.__getitem__�s5���*�e�,�,� '�$��J��t�}�T�/�J�/�/�/�/rN)r�r�r�rAr rrrCrC�s#������0�0�0�0�0rrCc�(��eZdZ�fd�Z�fd�Z�xZS)�_AnyMetac�v��|turtd���t���|��S)Nz+typing.Any cannot be used with isinstance())rr��superr:)r r�� __class__s �rr:z_AnyMeta.__instancecheck__s3��� �3�;�;��I�J�J� J��w�w�(�(��-�-�-rc�Z��|turdSt�����S)Nz typing.Any)rrHr(�r rIs �rr(z_AnyMeta.__repr__s'��� �3�;�;��<��w�w���!�!�!r)r�r�r�r:r(� __classcell__�rIs@rrFrFsQ�������.�.�.�.�.� "�"�"�"�"�"�"�"�"rrFc� ��eZdZ �fd�Z�xZS)rc�v��|turtd���t���|��S)NzAny cannot be instantiated)rr�rH�__new__)r�r��kwargsrIs �rrPz Any.__new__s1��� �#�:�:��8�9�9� 9��w�w���s�#�#�#r)r�r�r�rPrLrMs@rrr s=������� �$�$�$�$�$�$�$�$�$rr)� metaclassc�(� t|�d�����Nz is not subscriptabler�r@s rreres �� � �t�2�2�2� 3� 3�3rc�(� t|�d����rTr�r@s rrara3s ���( �t�2�2�2� 3� 3�3rc�(� t|�d����rTr�r@s rrmrmLs ��� �t�2�2�2� 3� 3�3rc�(� t|�d����rTr�r@s rr`r``s ���, �t�2�2�2� 3� 3�3rc�L� t||�d���}t||f��S�N� accepts only single type.�r�r��r r�rs rrr{�3���" �z�d�#F�#F�#F� G� G�D� ���w� '� '�'rc�L� t||�d���}t||f��SrYr[r\s rrr�r]rc�z�� |dkrtd���t|t��s|f}d�t�fd�|D����}t|��}t |��dkr|dSt |��dkr#t d��|vrt ||d� ��St ||��S) Nr z Cannot take a Union of no types.z)Union[arg, ...]: each arg must be a type.c3�8�K�|]}t|���V��dSr �r��r�r�r�s �rr�zUnion..�s-�����?�?�q�{�1�c�*�*�?�?�?�?�?�?r�rr�r��name)r�ryr�r�r�rxr��r r�r�s @rr"r"�s�����:�R����:�;�;�;� �j�%� (� (�#� �]� � 5�C��?�?�?�?�J�?�?�?�?�?�J�%�j�1�1�J� �:���!����!�}�� �:���!����T� � �j� 8� 8�!�$� ��D�D�D�D� �d�J� /� /�/rc�b� t||�d���}t|td��fS)Nz requires a single type.)r�r"rx)r r�r{s rrr�s2��6� �j�T�"C�"C�"C� D� D�C� ��d�4�j�j�� !�!rc ��� t|��} td�ttt |������D����}n#t $rYnwxYwt ||��S)Nc3� K�|] \}}|V�� dSr r )r�r�rs rr�zLiteral..�s&����^�^���A�1�^�^�^�^�^�^r)r�r�r�r��_value_and_type_iterr�r�r@s rrr�s����,)��4�4�J� ��^�^��d�;O�PZ�;[�;[�6\�6\�)]�)]�^�^�^�^�^� � �� � � � � �� ���� ��j� 1� 1�1s�AA� A �A c�(� t|�d����rTr�r@s rrprp�s �� � �t�2�2�2� 3� 3�3rc�2�� |dkrtd���t|t��s|f}|ddus*t|dt��std���d�g�fd�|dd�D���|d�R}t ||d� ��S) Nr z&Cannot take a Concatenate of no types.r�.zMThe last parameter to Concatenate should be a ParamSpec variable or ellipsis.z/Concatenate[arg, ...]: each arg must be a type.c3�8�K�|]}t|���V��dSr rarbs �rr�zConcatenate..#s-�����A�A�A�K��3�'�'�A�A�A�A�A�ArT��_paramspec_tvars)r�ryr�rr�rfs @rrr s���� ��R����@�A�A�A� �j�%� (� (�#� �]� � �r�N�c� !� !�Z� �2�� �%J�%J� !��:�;�;� ;� ;�C�R�A�A�A�A��C�R�C��A�A�A�R�:�b�>�R�R�J� #�D�*�59� ;� ;� ;�;rc�L� t||�d���}t||f��SrYr[r\s rrqrq(s4��+�X �z�d�#F�#F�#F� G� G�D� ���w� '� '�'rc�F�eZdZ dZd dd�d�Zd�Zd�Zd �Zd �Zd �Z d �Z dS)r)�__forward_arg__�__forward_code__�__forward_evaluated__�__forward_value__�__forward_is_argument__�__forward_is_class__�__forward_module__TNF)rwc�X�t|t��std|�����|�d��rd|�d�}n|} t |dd��}n #t $rt d|�����wxYw||_||_d|_d|_ ||_ ||_ ||_ dS) Nz*Forward reference must be a string -- got �*�(z,)[0]z�evalz/Forward reference must be an expression -- got F) ryrzr�� startswith�compile� SyntaxErrorrrrsrtrurvrwrx)r r{r�rvrw�arg_to_compile�codes rrzForwardRef.__init__bs����#�s�#�#� R��P��P�P�Q�Q� Q� �>�>�#� � � !�+��^�^�^�N�N� �N� Y��>�:�v�>�>�D�D��� Y� Y� Y��W�PS�W�W�X�X� X� Y���� #��� $���%*��"�!%���'2��$�$,��!�"(����s �A�A6c��|j|vr|S|jr||ur�|�|�ix}}n |�|}n|�|}|j�4ttj�|jd��d|��}tt|j ||��d|j |j ���}t|||||jhz��|_ d|_|j S)N�__dict__z*Forward references must evaluate to types.)r�rtT)rrrtrxr��sys�modules�getr�r|rsrvrwr�ru)r r�r�r��type_s rr�zForwardRef._evaluatezs��� � �?� 2� 2��K��)� .�W�H�-D�-D���G�O�%'�'��7�7��!�"�����"���&�2�"��K�O�O�D�$;�T�B�B�J�PX���� ��T�*�H�g�>�>�<� �8�$(�$=� ���E� &0��x��/�T�=Q�.s-�����$N�$N�Q�[��C�%8�%8�$N�$N�$N�$N�$N�$Nr�typing) r�rHrr�r�r��__constraints__�_callerr�) r rer�r�r�� constraints�def_modr�rIs @�rrzTypeVar.__init__s������� � ������ �=�9�9�9� � M�5�,��K�L�L� L� � B�3�{�+�+�q�0�0��@�A�A� A�J��$�$N�$N�$N�$N�+�$N�$N�$N�N�N����)�)�� �h� � �%�D�O�O�O� � rc���d}t||d���}t|t��r|jtus&t|t ��r#t |dd��rt|�d����|S)N�*Parameters to generic types must be types.T)r�r�Fr~)r�ryr�r�rrr r�r�)r r{r�s rr�zTypeVar.__typing_subst__s~��:���#�s��5�5�5�� ��]� +� +� D���&�0H�0H� ��\� *� *�1I�/6�s�N�E�/R�/R�1I��s�B�B�B�C�C� C�� r)r�r�r�rr�rLrMs@rr r �sa�������)�V26� �� &� &� &� &� &� &� &�������rr c�.�eZdZ d�Zd�Zd�Zd�Zd�ZdS)r!c�N�||_t��}|dkr ||_dSdS�Nr�)r�r�r�)r rer�s rrzTypeVarTuple.__init__@s2���� ��)�)�� �h� � �%�D�O�O�O� � rc#�(K�t|V�dSr �rrr s rrzTypeVarTuple.__iter__H������T�l�����rc��|jSr r�r s rr(zTypeVarTuple.__repr__Kr�rc� �td���)Nz2Substitution of bare TypeVarTuple is not supportedr��r r{s rr�zTypeVarTuple.__typing_subst__Ns���L�M�M�Mrc �"�|j}|�|��}||dzd�D])}t|t��rt d|������*t |��}t |��}|}||z dz } d} d} t |��D]e\} } t| t��sKt| dd��}|r8t |��dkr%|ddur| �t d���| } |d} �f| �'t|| ��}t| || z dz ��} n$|| z|krt d |�d |�d |dz �����g|d|��| g||z z�t|||| z ����| g|| z |z |z dz z�||| z d��RS) Nrcz(More than one TypeVarTuple parameter in r�r�r�.z6More than one unpacked arbitrary-length tuple argumentr�Too few arguments for r�z, expected at least ) r��indexryr!r�r�� enumeraterxr��minr�)r �aliasr�r��typevartuple_index�paramr��plenr�r��var_tuple_index�fillarg�kr{r�s r�__typing_prepare_subst__z%TypeVarTuple.__typing_prepare_subst__QsF���%��#�\�\�$�/�/���.��2�3�3�4� T� T�E��%��.�.� T�� R�5� R� R�S�S�S� T��4�y�y���6�{�{��!���)�)�A�-��������o�o� )� )�F�A�s��c�4�(�(� )�!�#�'G��N�N���)�s�7�|�|�q�0�0�W�R�[�C�5G�5G�&�2�'�(`�a�a�a�&'�O�%�a�j�G�� � &��t�_�-�-�D���t�o�5��9�:�:�E�E� �E�\�D� � ��J�U�J�J�'+�J�J�AE�a��J�J�K�K� K� � �%�4�%�[� ��i�+�d�2�3� � �$�t�T�E�\�)�*� +� +� ��i�����,�/A�A�A�E�F�  � �$��,�-�-� �  � � rN)r�r�r�rrr(r�r�r rrr!r!'sg�������0&�&�&�������N�N�N�" �" �" �" �" rr!c�"�eZdZ d�Zd�Zd�ZdS)rhc��||_dSr �r��r �origins rrzParamSpecArgs.__init__�� �� ����rc� �|jj�d�S)Nz.args�r�r�r s rr(zParamSpecArgs.__repr__�s���/�*�1�1�1�1rc�Z�t|t��stS|j|jkSr )ryrhr�r�r1s rr�zParamSpecArgs.__eq__�s*���%��/�/� "�!� !���%�"2�2�2rN�r�r�r�rr(r�r rrrhrhvsF������ �!�!�!�2�2�2�3�3�3�3�3rrhc�"�eZdZ d�Zd�Zd�ZdS)ric��||_dSr r�r�s rrzParamSpecKwargs.__init__�r�rc� �|jj�d�S)Nz.kwargsr�r s rr(zParamSpecKwargs.__repr__�s���/�*�3�3�3�3rc�Z�t|t��stS|j|jkSr )ryrir�r�r1s rr�zParamSpecKwargs.__eq__�s*���%��1�1� "�!� !���%�"2�2�2rNr�r rrriri�sF������ �!�!�!�4�4�4�3�3�3�3�3rric�b��eZdZ ed���Zed���Zdddd��fd� Zd�Zd�Z�xZ S) rc� �t|��Sr )rhr s rr�zParamSpec.args�s���T�"�"�"rc� �t|��Sr )rir s rrQzParamSpec.kwargs�s���t�$�$�$rNFr�c���||_t���|||��t��}|dkr ||_dSdSr�)r�rHrr�r�)r rer�r�r�r�rIs �rrzParamSpec.__init__�sM����� � ������ �=�9�9�9��)�)�� �h� � �%�D�O�O�O� � rc��t|ttf��rtd�|D����}n!t|��st d|�����|S)Nc3�6K�|]}t|d��V��dS)zExpected a type.Nra�r�r�s rr�z-ParamSpec.__typing_subst__..�s-����H�H�q� �A�'9�:�:�H�H�H�H�H�HrzFExpected a list of types, an ellipsis, ParamSpec, or Concatenate. Got )ryr�r�r�r�r�s rr�zParamSpec.__typing_subst__�sw�� �c�D�%�=� )� )� E��H�H�C�H�H�H�H�H�C�C���$�$� E��D�>A�D�D�E�E� E�� rc�t�|j}|�|��}|t|��krtd|�����t|��dkrt |d��s|f}nJt ||t ��r/g|d|��t||���||dzd��R}|S)Nr�rcr)r�r�r�r�r�ryr�r�)r r�r�r��is rr�z"ParamSpec.__typing_prepare_subst__�s����%�� �L�L�� � �� ��D� � �>�>��<�U�<�<�=�=� =� �v�;�;�!� � �N�4��7�$;�$;� ��7�D�D� ��Q��� &� &� <�;�T�"�1�"�X�;�u�T�!�W�~�~�;��Q�q�S�T�T� �;�;�D�� r) r�r�r��propertyr�rQrr�r�rLrMs@rrr�s��������#�J�#�#��X�#��%�%��X�%�'+�e�5�&�&�&�&�&�&�&���� � � � � � � rrc�V�|�d��o|�d��S)N�__)r}�endswith)�attrs r� _is_dunderr��s%�� �?�?�4� � � 8�T�]�]�4�%8�%8�8rc�V��eZdZ ddd�d�Zd�Zd�Zd�Z�fd�Zd �Zd �Z �fd �Z �xZ S) �_BaseGenericAliasTN��instrec�>�||_||_||_d|_dSr )�_instrr�r)r r�r�res rrz_BaseGenericAlias.__init__�s"���� ��� � �������rc��|js%td|j�d|jj�d����|j|i|��} ||_n#t $rYnwxYw|S)NzType z cannot be instantiated; use z () instead)r�r�rr�r��__orig_class__� Exception)r r�rQ�results rr.z_BaseGenericAlias.__call__s����z� I��H�D�J�H�H�#'�?�#;�H�H�H�I�I� I� ���$�1�&�1�1�� �$(�F� !� !��� � � � �D� ����� s�A� A�Ac�@�g}|j|vr|�|j��|�|��}||dzd�D].}t|t��st |t ��rn�/|�t ��t|��S)Nrc)r�r�r�ryr�� issubclassrr�)r r"�resr��bs rr#z!_BaseGenericAlias.__mro_entries__s����� �?�%� '� '� �J�J�t�� '� '� '� �K�K�� � ���q��s�t�t�� � �A��!�.�/�/� �:�a��3I�3I� ��� � �J�J�w� � � ��S�z�z�rc��|dvr|jp |jjSd|jvr$t |��st |j|��St |���)N>r�r�r�)rr�r�r�r�r�r)r r�s rrz_BaseGenericAlias.__getattr__s\�� �/� /� /��:�9���!9� 9� �4�=� (� (��D�1A�1A� (��4�?�D�1�1� 1��T�"�"�"rc���t|��s|dvr$t���||��dSt|j||��dS)N>r�r�_nparamsro)r�rH� __setattr__�setattrr�)r r��valrIs �rrz_BaseGenericAlias.__setattr__(s^��� �d� � � 0�t�(<� <� <� �G�G� � ��c� *� *� *� *� *� �D�O�T�3� /� /� /� /� /rc�F�|�t|����Sr �r>rxr9s rr:z#_BaseGenericAlias.__instancecheck__/����%�%�d�3�i�i�0�0�0rc� �td���)NzBSubscripted generics cannot be used with class and instance checksr�r=s rr>z#_BaseGenericAlias.__subclasscheck__2s���5�6�6� 6rc ���ttt�����d�t |j��D��z����S)Nc�0�g|]}t|���|��Sr )r�)r�r�s r� z-_BaseGenericAlias.__dir__..8s%��Q�Q�Q�D� �4�@P�@P�Q�4�Q�Q�Qr)r��setrH�__dir__�dirr�rKs �rrz_BaseGenericAlias.__dir__6sW����C������)�)�Q�Q�C���$8�$8�Q�Q�Q�R�S�S�T�T� Tr) r�r�r�rr.r#rrr:r>rrLrMs@rr�r��s���������(,�$������ � � � � � �#�#�#�0�0�0�0�0�1�1�1�6�6�6�T�T�T�T�T�T�T�T�Trr�c���eZdZdddd��fd� Zd�Zd�Zd�Zd �Zed ���Z d �Z d �Z d �Z d�Z d�Z�fd�Zd�Z�xZS)r�TNF)r�reroc���t���|||���t|t��s|f}td�|D����|_t |��|_||_|s|j|_dSdS)Nr�c3�0K�|]}|turdn|V��dS).N)�_TypingEllipsisr�s rr�z)_GenericAlias.__init__..esE����/�/�$%�&'�/�%9�%9�c�c��/�/�/�/�/�/r) rHrryr�r�r�r�ror�)r r�r�r�rerorIs �rrz_GenericAlias.__init__`s���� ������d���6�6�6��$��&�&� ��7�D��/�/�)-�/�/�/�/�/�� �1�$�7�7��� 0���� 0�$�/�D�O�O�O� 0� 0rc�z�t|t��stS|j|jko|j|jkSr )ryr�r�r�r�r1s rr�z_GenericAlias.__eq__ls=���%��/�/� "�!� !���5�#3�3�4��M�U�^�3� 5rc�8�t|j|jf��Sr )r�r�r�r s rr�z_GenericAlias.__hash__rs���T�_�d�m�4�5�5�5rc� �t||fSr r0r�s rr3z_GenericAlias.__or__ur4rc� �t||fSr r0r�s rr6z_GenericAlias.__ror__xr�rc�Z�|jttfvrtd|�����|jst|�d����t |t ��s|f}t d�|D����}t|��}|�|��}|� |��}|S)Nz%Cannot subscript already-subscripted r�c3�4K�|]}t|��V��dSr �r|�r�r�s rr�z,_GenericAlias.__getitem__..�s*����4�4�!�]�1�%�%�4�4�4�4�4�4r) r�rrr�r�ryr�r��_determine_new_argsr�)r r��new_args�rs rrAz_GenericAlias.__getitem__{s���" �?�w��1� 1� 1��J�D�J�J�K�K� K��"� >��t�<�<�<�=�=� =��$��&�&� ��7�D��4�4�t�4�4�4�4�4���D�!�!���+�+�D�1�1�� �N�N�8� $� $���rc �p�|j}|D]!}t|dd��}|� |||��}�"t|��}t|��}||kr#td||krdnd�d|�d|�d|�����t t ||����}t |�|j|����S)Nr�r�r�r�r�r�r�) r�r�r�r�r��zipr��_make_substitutionr�)r r�r�r��preparer�r��new_arg_by_params rrz!_GenericAlias._determine_new_args�s����$��� +� +�E��e�%?��F�F�G��"��w�t�T�*�*����4�y�y���6�{�{�� �4�<�<��?�T�D�[�[�6�6�e�?�?�TX�?�?�'+�?�?�8<�?�?�@�@� @���F�D� 1� 1�2�2���T�,�,�T�]��>���#�G�-=�r�B�B� � � 6�%�G�G� �G�&�@�@��%�a��6�6�@�#�N�N�+;�A�+>�?�?�?�?�#�N�N�+;�A�+>�?�?�?�?�%�e�G�n�n�5�G���+�/�":�:�:�z�'�SX�?Y�?Y�:�����(�(�(�(�*�7�3�3� )�����(�(�(�(��G�U�+�+� )�����$�1�1�'�;K�L�L�M�M���������(�(�(�(��rc�^�|�|j||j|j|j���S)N�rer�ro)rIr�rr�ro�r r�s rr�z_GenericAlias.copy_with�s4���~�~�d�o�t�$�*�4�:�/3�/D��F�F� Frc��|jr d|jz}nt|j��}|jr%d�d�|jD����}nd}|�d|�d�S)Nr&�, c�,�g|]}t|����Sr �r�r�s rrz*_GenericAlias.__repr__..s��C�C�C��j��m�m�C�C�Crz()�[�])rr�r�r��join)r rer�s rr(z_GenericAlias.__repr__�su�� �:� /��t�z�)�D�D��d�o�.�.�D� �=� ��9�9�C�C�T�]�C�C�C�D�D�D�D��D�� � �� � � � rc���|jrt��|j}n|j}t|j��}t |��dkrt |dt��s|\}tj||ffS)Nrcr) r�globalsr�r�r�r�ryr�r)r r�r�s rr+z_GenericAlias.__reduce__sn�� �:� %��Y�Y�t�z�*�F�F��_�F��T�]�#�#�� �t�9�9��>�>�*�T�!�W�e�"<�"<�>��E�D���&�$��/�/rc�p��t|jt��rtd|�����|jr!t ���|��S|jturLt|vrdS|� |��}||dzd�D]}t|t��r||urdS�|jfS)Nr!r rc) ryr�r�r�rrHr#rrr�r�)r r"r�rrIs �rr#z_GenericAlias.__mro_entries__s���� �d�o�|� 4� 4� 9��7�t�7�7�8�8� 8� �:� 2��7�7�*�*�5�1�1� 1� �?�g� %� %��5� � ��r�� � �D�!�!�A��1�Q�3�4�4�[� � ���a�!2�3�3���� � ��2�2����!�!rc#�(K�t|V�dSr r�r s rrz_GenericAlias.__iter__r�r)r�r�r�rr�r�r3r6r�rArr$r�r(r+r#rrLrMs@rr�r�Fs�������4.2��"'� 0� 0� 0� 0� 0� 0� 0�5�5�5� 6�6�6�"�"�"�!�!�!�����Y��>O�O�O�:<�<�<�|F�F�F� !� !� !�0�0�0� "� "� "� "� "�������rr�c�d��eZdZddd��fd� Zed���Zd�Zd�Z�fd�Zd �Z d �Z d �Z �xZ S) �_SpecialGenericAliasTNr�c����|�|j}t���|||���||_|jdkrd|j�d�|_dSd|j�d|j�d�|_dS)Nr�r�zA generic version of r)r�rHrrr�r�r)r r��nparamsr�rerIs �rrz_SpecialGenericAlias.__init__(s���� �<��?�D� ������d���6�6�6��� � � � � *� *�I�6�3F�I�I�I�D�L�L�L�]�6�3D�]�]�v�GZ�]�]�]�D�L�L�Lrc����t|t��s|f}d�t�fd�|D����}t|||j��|�|��S)Nr�c3�8�K�|]}t|���V��dSr rarbs �rr�z3_SpecialGenericAlias.__getitem__..7�-�����;�;�q�{�1�c�*�*�;�;�;�;�;�;r)ryr�r�rr��r r�r�s @rrAz _SpecialGenericAlias.__getitem__2si����&�%�(�(� ��Y�F�:���;�;�;�;�F�;�;�;�;�;���t�V�T�]�3�3�3��~�~�f�%�%�%rc�F�t|j||j|j���S)N)rer�)r�r�rr��r r�s rr�z_SpecialGenericAlias.copy_with;s(���T�_�f�"&�*�4�:�?�?�?� ?rc��d|jzSr%r'r s rr(z_SpecialGenericAlias.__repr__?r)rc����t|t��rt|j|j��St|t��st||j��St ���|��Sr )ryr;rr�r�rHr>)r r�rIs �rr>z&_SpecialGenericAlias.__subclasscheck__Bsf��� �c�/� 0� 0� ?��c�n�d�o�>�>� >��#�}�-�-� 4��c�4�?�3�3� 3��w�w�(�(��-�-�-rc��|jSr r'r s rr+z_SpecialGenericAlias.__reduce__Ir,rc� �t||fSr r0r�s rr3z_SpecialGenericAlias.__or__Lr4rc� �t||fSr r0r�s rr6z_SpecialGenericAlias.__ror__Or�r) r�r�r�rr�rAr�r(r>r+r3r6rLrMs@rr;r;'s��������04�4�^�^�^�^�^�^�^��&�&��Y�&�?�?�?�&�&�&�.�.�.�.�.����"�"�"�!�!�!�!�!�!�!rr;c�$��eZdZ�fd�Zd�Z�xZS)�_CallableGenericAliasc�$��|j}t|��dkr5t|d��r t�����Sdd�d�|dd�D�����dt |d���d�S) Nr�rztyping.Callable[[r0c�,�g|]}t|����Sr r2r�s rrz2_CallableGenericAlias.__repr__..Ys��A�A�A�!� �1� � �A�A�Arr�z], r4)r�r�r�rHr(r5r��r r�rIs �rr(z_CallableGenericAlias.__repr__Ss�����}�� �t�9�9��>�>�n�T�!�W�5�5�>��7�7�#�#�%�%� %�+��Y�Y�A�A�t�C�R�C�y�A�A�A�B�B�+�+��d�2�h�'�'�+�+�+� ,rc���|j}t|��dkrt|d��st|dd���|df}tjt |ffS)Nr�rr�)r�r�r�r�r�rrr.s rr+z _CallableGenericAlias.__reduce__\sW���}���D� � �Q���>�$�q�'�#:�#:����S�b�S� �?�?�D��H�,�D���(�D�!1�1�1r)r�r�r�r(r+rLrMs@rrJrJRsG�������,�,�,�,�,�2�2�2�2�2�2�2rrJc�0�eZdZd�Zd�Zed���ZdS)� _CallableTypec�H�t|j||j|jd���S)NTr-)rJr�rr�rCs rr�z_CallableType.copy_withds+��$�T�_�f�*.�*�4�:�6:�<�<�<� .�s*����8�8�C�]�3�'�'�8�8�8�8�8�8r)r��Ellipsisr�rryr�)r r�r�r�r�s rrSz_CallableType.__getitem_inner__ws���� ��f�>���V�S�)�)�� �8� � ��>�>�?�F�";�<�<� <��$��&�&� ��7�D��8�8�4�8�8�8�8�8���� �!���~�~�f�%�%�%rN)r�r�r�r�rAr�rSr rrrPrPcsM������<�<�<� .� .� .�� &� &��Y� &� &� &rrPc�$�eZdZed���ZdS)� _TupleTypec�Z��t|t��s|f}t|��dkrN|ddurDd�t�fd�|dd�D����}|�g|�t�R��Sd�t�fd�|D����}|�|��S)Nr�r�.z Tuple[t, ...]: t must be a type.c3�8�K�|]}t|���V��dSr rarbs �rr�z)_TupleType.__getitem__..�s-�����D�D�1�;�q�#�.�.�D�D�D�D�D�Drz*Tuple[t0, t1, ...]: each t must be a type.c3�8�K�|]}t|���V��dSr rarbs �rr�z)_TupleType.__getitem__..�r@r)ryr�r�r�rrAs @rrAz_TupleType.__getitem__�s�����&�%�(�(� ��Y�F� �v�;�;�!� � ��r� �c� 1� 1�4�C��D�D�D�D��s��s� �D�D�D�D�D�F��>�>�"<�F�"<�O�"<�"<�=�=� =�:���;�;�;�;�F�;�;�;�;�;���~�~�f�%�%�%rN)r�r�r�r�rAr rrrXrX�s-������� &� &��Y� &� &� &rrXc�F��eZdZd�Zd�Zd�Z�fd�Zd�Zd�Z�fd�Z �xZ S)r�c��t|Sr r0rCs rr�z_UnionGenericAlias.copy_with�s ���V�}�rc���t|ttjf��stS t |j��t |j��kS#t$rt|j|j��cYSwxYwr ) ryr�r�r�r�rr�r�r�r1s rr�z_UnionGenericAlias.__eq__�s����%�"4�e�o�!F�G�G� "�!� !� J��t�}�%�%��U�^�)<�)<�<� <��� J� J� J�*�4�=�%�.�I�I� I� I� I� J���s�)A�$A;�:A;c�D�tt|j����Sr )r�� frozensetr�r s rr�z_UnionGenericAlias.__hash__�s���I�d�m�,�,�-�-�-rc�8��|j}t|��dkr`|dtd��urdt|d���d�S|dtd��urdt|d���d�St �����S)Nr�rztyping.Optional[rcr4)r�r�rxr�rHr(rMs �rr(z_UnionGenericAlias.__repr__�s�����}�� �t�9�9��>�>��A�w�$�t�*�*�$�$�@�*�T�!�W�*=�*=�@�@�@�@��a��D��J�J�&�&�@�*�T�!�W�*=�*=�@�@�@�@��w�w���!�!�!rc�F�|�t|����Sr r r9s rr:z$_UnionGenericAlias.__instancecheck__�r rc�@�|jD]}t||��rdS�dS�NT)r�r)r r�r{s rr>z$_UnionGenericAlias.__subclasscheck__�s;���=� � �C��#�s�#�#� ��t�t� � � rc�f��t�����\}\}}|t|ffSr )rHr+r")r r�r�r�rIs �rr+z_UnionGenericAlias.__reduce__�s0���$�w�w�1�1�3�3���n�v�t��e�T�]�"�"r) r�r�r�r�r�r�r(r:r>r+rLrMs@rr�r��s�����������J�J�J�.�.�.�"�"�"�"�"�1�1�1���� #�#�#�#�#�#�#�#�#rr�c��d�|D��S)Nc3�8K�|]}|t|��fV��dSr )rxrs rr�z'_value_and_type_iter..�s,���� -� -�Q�Q��Q���L� -� -� -� -� -� -rr )r�s rrjrj�s�� -� -�*� -� -� -�-rc��eZdZd�Zd�ZdS)r�c���t|t��stStt |j����tt |j����kSr )ryr�r�rrjr�r1s rr�z_LiteralGenericAlias.__eq__�sN���%�!5�6�6� "�!� !��'�� �6�6�7�7�3�?S�TY�Tb�?c�?c�;d�;d�d�drc�^�ttt|j������Sr )r�r`rjr�r s rr�z_LiteralGenericAlias.__hash__�s#���I�2�4�=�A�A�B�B�C�C�CrN)r�r�r�r�r�r rrr�r��s:������e�e�e� D�D�D�D�Drr�c���eZdZ�fd�Z�xZS)r�c���t|dttf��rg|dd��|d�RSt|dt��rg|dd��|dj�R}t ���|��S)Nr�)ryr�r�r�r�rHr�)r r�rIs �rr�z"_ConcatenateGenericAlias.copy_with�s���� �f�R�j�4��-� 0� 0� /�.�V�C�R�C�[�.�6�"�:�.�.� .� �f�R�j�":� ;� ;� :�9�v�c�r�c�{�9�V�B�Z�%8�9�9�F��w�w� � ��(�(�(r)r�r�r�r�rLrMs@rr�r��s8�������)�)�)�)�)�)�)�)�)rr�c�N� t||�d���}t||f���S)NrZ)r�r�)r��_UnpackGenericAliasr\s rrrrr�s6���: �z�d�#F�#F�#F� G� G�D� �d�$�� 9� 9� 9�9rc�P��eZdZd�Z�fd�Zed���Zed���Z�xZS)rnc�<�dt|jd��zS)Nrzr)r�r�r s rr(z_UnpackGenericAlias.__repr__�s���T�$�-��*�+�+�+�+rc�X��|jr|St���|��Sr )r�rHrArMs �rrAz_UnpackGenericAlias.__getitem__�s+��� � 3� ��K��w�w�"�"�4�(�(�(rc�P�|j\}t|t��r|jSdSr )r�ryr�r�s rr�z2_UnpackGenericAlias.__typing_unpacked_tuple_args__�s,���}��� �c�=� )� )� ��<� ��trc�B�t|jdt��S�Nr)ryr�r!r s rr�z7_UnpackGenericAlias.__typing_is_unpacked_typevartuple__s���$�-��*�L�9�9�9r) r�r�r�r(rAr�r�r�rLrMs@rrnrn�s}�������,�,�,� )�)�)�)�)� ����X���:�:��X�:�:�:�:�:rrnc�>��eZdZ dZdZed���Z�fd�Z�xZS)rr Fc�<� t|t��s|f}td�|D����}|ttfvr�|st d|j�d����t d�|D����st d|j�d����tt|����t|��krt d|j�d����n�|j D]!}t|dd��}|� |||��}�"t||t|j ����g}t|j |��D]E\}}t|t��r|�|���0|�|���Ft|��}t#||d � ��S) Nc3�4K�|]}t|��V��dSr rrs rr�z,Generic.__class_getitem__..4s*����8�8�A�}�Q�'�'�8�8�8�8�8�8rzParameter list to z[...] cannot be emptyc3�4K�|]}t|��V��dSr )r�rs rr�z,Generic.__class_getitem__..;s+����;�;�q�'��*�*�;�;�;�;�;�;rzParameters to zF[...] must all be type variables or parameter specification variables.z[...] must all be uniquer�Trn)ryr�rrr�r��allr�r�rr�r�r�r#r!r�r�r�)r�r�r�r%r r*s r�__class_getitem__zGeneric.__class_getitem__&s��� ��&�%�(�(� ��Y�F��8�8��8�8�8�8�8�� �7�H�%� %� %�� ��P��)9�P�P�P�����;�;�F�;�;�;�;�;� >��=�S�\�=�=�=�>�>�>��3�v�;�;���3�v�;�;�.�.��K�S�\�K�K�K�M�M�M�/� �+� 2� 2��!�%�)C�T�J�J���&�$�W�S�&�1�1�F�� �3���C�,>�(?�(?� @� @� @��H�"%�c�&8�&�"A�"A� -� -���w��e�\�2�2�-��O�O�G�,�,�,�,��O�O�G�,�,�,�,��8�_�_�F��S�&�.2�4�4�4� 4rc���� �t��j|i|��g}d|jvrt|jv}n1t|jvo"|jdkot|��tk}|rtd���d|jvr�t|j��}d}|jD]=}t|t��r&|j tur|�td���|j}�>|�|t|��}t|��� |� ksVd�� fd�|D����}d�d�|D����} td|�d | �d ����|}t#|��|_dS) N�__orig_bases__rz!Cannot inherit from plain Genericz0Cannot inherit from Generic[...] multiple times.r0c3�>�K�|]}|�v�t|��V��dSr �rz)r�r��gvarsets �rr�z,Generic.__init_subclass__..ss3�����&Q�&Q�!���@P�@P�s�1�v�v�@P�@P�@P�@P�&Q�&Qrc3�4K�|]}t|��V��dSr r~)r��gs rr�z,Generic.__init_subclass__..ts(����&=�&=�!�s�1�v�v�&=�&=�&=�&=�&=�&=rzSome type variables (z) are not listed in Generic[r4)rHrr�rr|� __bases__r�rx�_TypedDictMetar�r�ryr�r�r�rr5r�) r�r�rQ�tvars�error�gvars�base�tvarset�s_vars�s_argsrrIs @�rrzGeneric.__init_subclass__Us�����!����!�4�2�6�2�2�2��� �s�|� +� +��s�1�1�E�E��� �-�4�� � �2�4��S� � �^�3� � � A��?�@�@� @� �s�|� +� +�'��(:�;�;�E� �E��*� 0� 0���t�]�3�3�0���7�2�2��(�'�N�P�P�P� �/�E��� ��e�*�*���e�*�*���'�)�)�!�Y�Y�&Q�&Q�&Q�&Q�u�&Q�&Q�&Q�Q�Q�F�!�Y�Y�&=�&=�u�&=�&=�&=�=�=�F�#�%H�F�%H�%H�>D�%H�%H�%H�I�I�I���"�5�\�\����r) r�r�r�r� _is_protocolr�rzrrLrMs@rrrsc��������&�I��L��,4�,4��Y�,4�\#*�#*�#*�#*�#*�#*�#*�#*�#*rrc��eZdZdS)rN)r�r�r�r rrrr{s������2�2rr)r�r|r�r��_is_runtime_protocol� __final__) �__abstractmethods__�__annotations__r�rrr�rPr�__subclasshook__rrz�_MutableMapping__markerc�z� t��}|jdd�D]�}|jdvr� t|di��}t |j�����t |�����zD]5}|�d��s|tvr|� |���6��|S)Nr�)rrr��_abc_) r�__mro__r�r�r�r��keysr}�EXCLUDED_ATTRIBUTES�add)r��attrsr�� annotationsr�s r�_get_protocol_attrsr��s���� �E�E�E�� �C�R�C� � � �� �=�3� 3� 3� ��d�$5�r�:�:� ����+�+�-�-�.�.��k�6F�6F�6H�6H�1I�1I�I� � �D��?�?�7�+�+� ��.�s7�����W�W�d�x���T�4�0�0�1�1�W�W�W�W�W�Wr)ryr��r�s`r�_is_callable_members_onlyr��s0��� �W�W�W�W�>Q�RU�>V�>V�W�W�W� W� W�Wrc�,�t|��}|jrtd���|jturdS|jD]4}|j�dt��}|tur ||_n�5tj|_|j|g|�Ri|��dS)Nz Protocols cannot be instantiatedr) rxr�r�r�_no_init_or_replace_initr�r�r��object)r r�rQr�r��inits rr�r��s��� �t�*�*�C� ��<��:�;�;�;� �|�3�3�3���� �'�'���}� � ��-E�F�F�� �/� /� /��C�L� �E� 0� ��� ��C�L��'��'�'�'��'�'�'�'�'rrc�__main__c�� tj|dz��j�d|��S#tt f$rYdSwxYw)Nrcr�)r�� _getframe� f_globalsr�rr�)�depth�defaults rr�r��sU����}�U�Q�Y�'�'�1�5�5�j�'�J�J�J�� �J� '�����t�t����s�/2�A�A�c�&� t|��dvS)N>Nr�r�)r��r�s r�_allow_reckless_class_checksr��s��� �5�>�>�7� 7�7r) rr4r)r*r6r'r2r%r8r;�AbstractContextManager�AbstractAsyncContextManager)zcollections.abc� contextlibc���eZdZ�fd�Z�xZS)� _ProtocolMetac�����t�dd��r0t�dd��std���std���t�dd��rt���rt �j���rdS�jr+t��fd�t���D����rdSt��� ���S) Nr�Fr�r�r��LInstance and class checks can only be used with @runtime_checkable protocolsTc3��K�|]E}t�|��o0tt�|d���� pt�|��duV��FdSr )r�r�r�)r�r�r��instances ��rr�z2_ProtocolMeta.__instancecheck__..�sy�����:�:�� �8�T�*�*�:�!�'�#�t�T�":�":�;�;�;�9��X�t�,�,�D�8�:�:�:�:�:�:r) r�r�r�r�rrIr�ryr�rHr:)r�r�rIs``�rr:z_ProtocolMeta.__instancecheck__�s����� �C��� /� /� =���3�U�;�;� =�-�1�5�5�5� =� �<�=�=� =���n�e�4�4� �)�#�.�.� ��8�-�s�3�3� ��4� � � ��:�:�:�:�:�!4�C� 8� 8� :�:�:�:�:� � �t��w�w�(�(��2�2�2r)r�r�r�r:rLrMs@rr�r��s8�������3�3�3�3�3�3�3�3�3rr�c�,��eZdZ dZdZdZ�fd�Z�xZS)rr TFc����t��j|i|���j�dd��s#t d��jD�����_�fd�}d�jvr|�_�jsdS�jD]g}|ttfvsU|j tvr|j t|j vs.t|t��r|jstd|z����h�jt jurt"�_dSdS)Nr�Fc3�(K�|] }|tuV��dSr )r�r�rs rr�z-Protocol.__init_subclass__..s&����"H�"H�Q�1��=�"H�"H�"H�"H�"H�"Hrc����j�dd��stSt�dd��s$t ��rtSt d���t ���s$t ��rtSt d���t|t��st d���t���D]�}|j D]w}||jvr|j|� tccSn\t|di��}t|tj j ��r"||vrt|t��r |jrn �xtcS��dS) Nr�Fr�r�z._proto_hooks�����<�#�#�N�E�:�:� &�%�%��3� 6��>�>� A�/�1�1�*�)�)��!@�A�A�A�,�S�1�1� ?�/�1�1�*�)�)��!>�?�?�?��e�T�*�*� F�� D�E�E�E�,�C�0�0� *� *��!�M�*�*�D��t�}�,�,��=��.�6�#1�1�1�1�1�1���#*�$�0A�2�"F�"F�K�"�;� ��0G�H�H�� �K�/�/�&�u�g�6�6�0�;@�;M�0����)�)�)�)���4rr�z7Protocols can only inherit from other protocols, got %r)rHrr�r��anyr�r�r�r�rr��_PROTO_ALLOWLISTr�rr�rrr�)r�r�rQr�r�rIs` �rrzProtocol.__init_subclass__sI����!����!�4�2�6�2�2�2��|�����6�6� I�"�"H�"H�#�-�"H�"H�"H�H�H�C� �$ �$ �$ �$ �$ �L �S�\� 1� 1�#.�C� ��� � �F��M� =� =�D��V�W�-�-�-��O�'7�7�7��M�%5�d�o�%F�F�F��t�W�-�-�G�26�2C�G��!5�7;�!<�=�=�=�� �<�8�,� ,� ,�3�C�L�L�L� -� ,r)r�r�r�rr�r�rrLrMs@rrr�sP��������@�I��L� ��>4�>4�>4�>4�>4�>4�>4�>4�>4rrc�H��eZdZ �fd�Zd�Zd�Zd�Zd�Zd�Z�fd�Z �xZ S)�_AnnotatedAliasc���t|t��r|j|z}|j}t ���||��||_dSr )ryr�� __metadata__r�rHr)r r��metadatarIs �rrz_AnnotatedAlias.__init__csR��� �f�o� .� .� '��*�X�5�H��&�F� �������(�(�(�$����rc�<�|d}t||j��Srt)r�r�)r r��new_types rr�z_AnnotatedAlias.copy_withjs���!�9���x��):�;�;�;rc��d�t|j��d�d�|jD������S)Nztyping.Annotated[{}, {}]r0c3�4K�|]}t|��V��dSr )r�r�s rr�z+_AnnotatedAlias.__repr__..rs(����9�9�!�d�1�g�g�9�9�9�9�9�9r)�formatr�r�r5r�r s rr(z_AnnotatedAlias.__repr__osH��)�0�0� �t�� '� '� �I�I�9�9�t�'8�9�9�9� 9� 9� � � rc�H�tjt|jf|jzffSr )r�rrr�r�r s rr+z_AnnotatedAlias.__reduce__us)���� ���)�D�,=�=�" � � rc�z�t|t��stS|j|jko|j|jkSr )ryr�r�r�r�r1s rr�z_AnnotatedAlias.__eq__zs?���%��1�1� "�!� !���5�#3�3�<��%��);�;� =rc�8�t|j|jf��Sr )r�r�r�r s rr�z_AnnotatedAlias.__hash__�s���T�_�d�&7�8�9�9�9rc�R��|dvrdSt���|��S)N>r�r�r)rHr)r r�rIs �rrz_AnnotatedAlias.__getattr__�s,��� �/� /� /��;��w�w�"�"�4�(�(�(r) r�r�r�rr�r(r+r�r�rrLrMs@rr�r�Xs���������%�%�%�%�%�<�<�<�  � � �  � � � =�=�=� :�:�:�)�)�)�)�)�)�)�)�)rr�c�P�eZdZ dZd�Zd�Zed���d���Zd�ZdS) rr c� �td���)Nz&Type Annotated cannot be instantiated.r��r�r�rQs rrPzAnnotated.__new__�s���@�A�A�Arc�N�t|t��s|f}|j|g|�R�Sr )ryr��_class_getitem_inner)r�r�s rrzzAnnotated.__class_getitem__�s6���&�%�(�(� ��Y�F�'�s�'��5�f�5�5�5�5rTr�c��t|��dkrtd���t|d��rtd���d}t|d|d���}t |dd���}t ||��S) Nr�zUAnnotated[...] should be used with at least two arguments (a type and an annotation).rz?Annotated[...] should not be used with an unpacked TypeVarTuplez$Annotated[t, ...]: t must be a type.Trsrc)r�r�r�r�r�r�)r�r�r�r�r�s rr�zAnnotated._class_getitem_inner�s��� �v�;�;��?�?��+�,�,� ,� %�V�A�Y� /� /� 5��4�5�5� 5�4���V�A�Y���F�F�F��������$�$���v�x�0�0�0rc�P�td�|j�����)NzCannot subclass {}.Annotated)r�r�r�r�s rrzAnnotated.__init_subclass__�s'��� *� 1� 1�#�.� A� A� � � rN) r�r�r�rrPrzr�r�rr rrrr�sz������+�Z�I�B�B�B�6�6�6� �Y�T���� 1� 1��� 1� � � � � rrc�r� t|t��r|jstd|z���d|_|S)NzB@runtime_checkable can be only applied to protocol classes, got %rT)rrr�r�r�r�s rrlrl�sQ���$ �c�7� #� #�)�3�+;�)��"�$'�(�)�)� )�#�C�� �Jrc�� |Sr r )r�rs rrWrW�s��� �Jrc�� |Sr r )rr�s rrUrU�s�� � �Jrc�� t|dd��riSt|t���r=i}t|j��D�]}|�5tt j�|jd��di��}n|}|j �di��}t|tj ��ri}|�tt|����n|}|�|�||}}|���D]S\} } | �td��} t| t��rt!| dd���} t#| ||��} | || <�T��|r|nd�|���D��S|�at|tj��r|j }n:|} t'| d��r| j} t'| d���t| d i��}|�|}n|�|}t|dd��}|�9t|t*��riSt-d �|�����t|��}|���D]j\} } | �td��} t| t��r+t!| t|tj�� d���} t#| ||��|| <�k|r|nd �|���D��S) N�__no_type_check__r�r�FT)r�rwc�4�i|]\}}|t|����Sr ��_strip_annotations�r�r�r�s r� z"get_type_hints..K s'��,`�,`�,`�$�!�Q�Q�0B�1�0E�0E�,`�,`�,`r� __wrapped__� __globals__z1{!r} is not a module, class, method, or function.c�4�i|]\}}|t|����Sr r�r�s rr�z"get_type_hints..o s'��(\�(\�(\�d�a���,>�q�,A�,A�(\�(\�(\r)r�ryrx�reversedr�r�r�r�r�r�r��GetSetDescriptorTyper��vars�itemsrzrr�� ModuleTyper�r��_allowed_typesr�r�) r�r�r��include_extras�hintsr�� base_globals�ann� base_localsre�value�nsobjs rr^r^ s ���<�s�'��.�.��� ��#�t���a����S�[�)�)� $� $�D���&�s�{���t���'M�'M�z�[]�^�^� � �'� ��-�#�#�$5�r�:�:�C��#�u�9�:�:� ���.5�o�$�t�D�z�z�*�*�*�7�K���8�#3�-8��k� �"�y�y�{�{� $� $� ��e��=� ��J�J�E��e�S�)�)�P�&�u�%�$�O�O�O�E�"�5�,� �D�D��#��d� � �  $�'�`�u�u�,`�,`�RW�R]�R]�R_�R_�,`�,`�,`�`��� �c�5�+� ,� ,� 9��|�H�H��E��%��/�/� *��)���%��/�/� *��u�m�R�8�8�H� �?��G�� ���� �C�*�D� 1� 1�E� �}� �c�>� *� *� 8��I��+�+1�6�#�;�;�8�8� 8� ��K�K�E��{�{�}�}� ;� ;� ��e� �=���J�J�E� �e�S� !� !� ��� *�3��0@� A� A�A�����E� !���'�:�:��d� � �"� \�5�5�(\�(\�e�k�k�m�m�(\�(\�(\�\rc��� t|t��rt|j��St |d��r/|jt t fvrt|jd��St|t��r@td�|jD����}||jkr|S|� |��St|t��r@td�|jD����}||jkr|St|j|��St|tj ��rJtd�|jD����}||jkr|Stjt j|��S|S)Nr�rc3�4K�|]}t|��V��dSr r�r�s rr�z%_strip_annotations..y �+����H�H��0��3�3�H�H�H�H�H�Hrc3�4K�|]}t|��V��dSr r�r�s rr�z%_strip_annotations..~ r�rc3�4K�|]}t|��V��dSr r�r�s rr�z%_strip_annotations..� r�r)ryr�r�r�r�rjrfr�r�r�r�r r�r�r�r�r�r�)r�� stripped_argss rr�r�r sd��2��!�_�%�%�0�!�!�,�/�/�/��q�,���1�A�L�X�{�4K�$K�$K�!�!�*�Q�-�0�0�0��!�]�#�#�*��H�H�Q�Z�H�H�H�H�H� � �A�J� &� &��H��{�{�=�)�)�)��!�\�"�"�9��H�H�Q�Z�H�H�H�H�H� � �A�J� &� &��H��A�L�-�8�8�8��!�U�_�%�%�=��H�H�Q�Z�H�H�H�H�H� � �A�J� &� &��H���� �m�<�<�<� �Hrc� � t|t��rtSt|ttt t f��r|jS|turtSt|tj ��r tj SdSr ) ryr�rr�r rhrir�rr�r���tps rr\r\� s{���"�"�o�&�&�����"�(�,�$�o�7�8�8���}�� �W�}�}����"�e�o�&�&����� �4rc�<� t|t��r|jf|jzSt|tt f��r8|j}t||��rt|dd���|df}|St|tj ��r|jSdS)Nr�r ) ryr�r�r�r�r r�r�r�r�r�)r�rs rr[r[� s��� ��"�o�&�&�2�� ��"�/�1�1��"�}�l�3�4�4���k�� *�2�s� 3� 3� ,���C�R�C��>�>�3�r�7�+�C�� ��"�e�o�&�&���{�� �2rc�.� t|t��Sr )ryr�r�s rr_r_� s�� � �b�.� )� )�)r�dr{c�� t|��}t|��tkr|dt�dz}td|�����)Nr�z*Expected code to be unreachable, but got: )r�r��_ASSERT_NEVER_REPR_MAX_LENGTH�AssertionError)r{r�s rrVrV� sS���$ ��I�I�E� �5�z�z�1�1�1��4�4�4�5��=�� �M�e�M�M� N� N�Nrc�� t|t��r�t|��D]�}t||��}t |d��r4|j|j�d|j��kst|dd��|jkr�Wt|tj ��rd|_ t|tj ��r d|j _ t|t��rt|���� d|_ n#t$rYnwxYw|S)Nr�rr�T)ryrxrr�r�r�r�r�r�r�r�� MethodType�__func__rcr�)r{�keyr�s rrcrc� s"����#�t���#��s�8�8� #� #�C��#�s�#�#�C��C��0�0� ��#�#�*:�'K�'K�S�\�'K�'K�K�K��3� �d�3�3�s�~�E�E� ��#�u�1�2�2� -�(,��%��#�u�/�0�0� 6�15�� �.��#�t�$�$� #��c�"�"�"�� � $����� � � � � �� ���� �Js�*C2�2 C?�>C?c�H�� tj����fd���}|S)Nc�6���|i|��}t|��}|Sr )rc)r�r�r�r�s �r�wrapped_decoratorz2no_type_check_decorator..wrapped_decorator s)����y�$�'�$�'�'���T�"�"��� r)r�r�)r�rs` rrdrd s@���� �_�Y������� ��� �rc�"� 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.)�NotImplementedError)r�r�s r�_overload_dummyr$ s��4� � 9� :� :�:rc�� t|d|��} |t|j|j|jj<n#t $rYnwxYwtS�Nr)r��_overload_registryr�r��__code__�co_firstlinenorr)r��fs rrgrg1 sh���> ��j�$�'�'�A� �VZ��1�<�(���8���9R�S�S�� � � � � �� ���� �s�*?� A � A c��� t|d|��}|jtvrgSt|j}|j|vrgSt ||j�����Sr )r�r�r r�r��values)r�r �mod_dicts rr]r]Z sh��@���j�$�'�'�A��|�-�-�-�� �!�!�,�/�H��~�X�%�%�� � ����(�/�/�1�1� 2� 2�2rc�:� t���dSr )r �clearr rrrXrXf s��.��������rc�H� d|_n#ttf$rYnwxYw|Srd)r�rr�)r s rrZrZk sC���2 ��� � �� �I� &� � � � ��  ���� �Hs � ���T�KT�VT�T_co)r��V_co�VT_co�T_contra)r��CT_co)r�r�rTr�aDeprecated alias to collections.abc.Callable. Callable[[int], str] signifies a function that takes a single parameter of type int and returns a str. The subscription syntax must always be used with exactly two values: the argument list and the return type. The argument list must be a list of types, a ParamSpec, Concatenate or ellipsis. The return type must be a single type. There is no syntax to indicate optional or keyword arguments; such function types are rarely used as callback types. r#rdr�rr�a]Deprecated alias to builtins.tuple. Tuple[X, Y] is the cross-product type of X and Y. Example: Tuple[T1, T2] is a tuple of two elements corresponding to type variables T1 and T2. Tuple[int, float, str] is a tuple of an int, a float and a string. To specify a variable-length tuple of homogeneous type, use Tuple[T, ...]. rHrErJrKr&r:rFrGraDeprecated alias to builtins.type. builtins.type or typing.Type can be used to annotate class objects. For example, suppose we have the following classes:: class User: ... # Abstract base for User classes class BasicUser(User): ... class ProUser(User): ... class TeamUser(User): ... And a function that takes a class argument that's a subclass of User and returns an instance of the corresponding class:: 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�0�eZdZ dZedefd���ZdS)rAr r�c��dSr r r s r�__int__zSupportsInt.__int__ ��� �rN)r�r�r�rr�intrr rrrArA� sA������2��I�� �� � � ��^� � � rrAc�0�eZdZ dZedefd���ZdS)r?r r�c��dSr r r s r� __float__zSupportsFloat.__float__ rrN)r�r�r�rr�floatr#r rrr?r? �A������4��I�� �5� � � ��^� � � rr?c�0�eZdZ dZedefd���ZdS)r>r r�c��dSr r r s r� __complex__zSupportsComplex.__complex__ rrN)r�r�r�rr�complexr(r rrr>r> sA������6��I�� �W� � � ��^� � � rr>c�0�eZdZ dZedefd���ZdS)r=r r�c��dSr r r s r� __bytes__zSupportsBytes.__bytes__% rrN)r�r�r�rr�bytesr,r rrr=r= r%rr=c�0�eZdZ dZedefd���ZdS)r@r r�c��dSr r r s r� __index__zSupportsIndex.__index__0 rrN)r�r�r�rrr r0r rrr@r@* sA������4��I�� �3� � � ��^� � � rr@c�0�eZdZ dZedefd���ZdS)r<r r�c��dSr r r s r�__abs__zSupportsAbs.__abs__; rrN)r�r�r�rrrr3r rrr<r<5 sA������W��I�� �� � � ��^� � � rr<c�6�eZdZ dZeddedefd���ZdS)rBr r�ndigitsr�c��dSr r )r r5s r� __round__zSupportsRound.__round__F rrN�r)r�r�r�rrr rr7r rrrBrB@ sM������Y��I�� � �� �T� � � ��^� � � rrBr c��d�|D��}d�|D��}tj||||���}|x|_|j_|S)Nc��g|]\}}|��Sr r �r��nr�s rrz!_make_nmtuple..L s�� "� "� "�D�A�q�a� "� "� "rc �>�i|]\}}|t|d|�d�����S)zfield z annotation must be a typerar;s rr�z!_make_nmtuple..M sD�� � � ���A�� �A�E��E�E�E�F�F� � � r��defaultsrv)r�� namedtupler�rP)rer�rvr?�fields�nm_tpls r� _make_nmtuplerCK sm�� "� "�E� "� "� "�F� � �� � � �E� � #�D�&�-5�f�F�F�F�F�>C�C�F��V�^�;� �Mr> �_makerP�_asdict�_fields�_sourcer�_replacer�__getnewargs__�_field_defaults>r�r�r�c��eZdZd�ZdS)�NamedTupleMetac ���|D]#}|tur|turtd����$td�|D����}��di��}g}|D]^}|�vr|�|���|r@td|�dt |��dkrdnd�d d �|��������_t||j ���fd �|D���d � ��}||_ t|vr%tj j } t| ��|_ �D]F} | tvrtd| z���| t vr | |jvrt%|| �| ���Gt|vr|���|S)Nz3can only inherit from a NamedTuple type and Genericc3�:K�|]}|turtn|V��dSr )� _NamedTupler�)r�r�s rr�z)NamedTupleMeta.__new__..d s0����O�O��t�{�2�2�e�e��O�O�O�O�O�Orr�zNon-default namedtuple field z cannot follow default fieldrc�sr�� r0c� ��g|] }�|�� Sr r )r�r<�nss �rrz*NamedTupleMeta.__new__..p s���(F�(F�(F�1��A��(F�(F�(Frr�r>z&Cannot overwrite NamedTuple attribute )rOrr�r�r�r�r�r5rCr�r�rzr� classmethod� _prohibitedr�_specialrFrr) r��typenamer"rSr�r�� default_names� field_namerB� class_getitemrs ` rrPzNamedTupleMeta.__new__^ s���� K� K�D��;�&�&�4�w�+>�+>��I�K�K�K���O�O��O�O�O�O�O�����(�"�-�-��� �� ?� ?�J��R����$�$�Z�0�0�0�0�� ?��!>� �!>�!>�*-�m�*<�*<�q�*@�*@�3�3�b�!>�!>�$(�9�9�]�#;�#;�!>�!>�?�?�?� ?� �x������(F�(F�(F�(F� �(F�(F�(F�&(��&6�8�8�8��!��� �e� � �#�5�>�M�'2�=�'A�'A�F� $�� .� .�C��k�!�!�$�%M�PS�%S�T�T�T��H�$�$��F�N�)B�)B����R��W�-�-�-�� �e� � � � $� $� &� &� &�� rN)r�r�r�rPr rrrLrL] s#������ � � � � rrLc �� |�|���}n|rtd���t||t�����S)NzIEither list of fields or keywords can be provided to NamedTuple, not both�rv)r�r�rCr�)rWrArQs rrLrL� sZ���&�~�������� �D��C�D�D� D� ��6�'�)�)� <� <� <��rc�$�eZdZdd�ZeZd�ZeZdS)r�Tc�6��� |D]0}t|��tur|turtd����1t d�|D����r tf}nd}t�t|g|�t �R|���i}|�di��}d���fd�|���D��}t��} t��} |D]�}|� |j �di����|j �dt����} | | z} | | z} |j �dt����} | | z} | | z} ��|� |��|���D]�\} }t|��}|tur(t|��}|r|d }t|��}|turd }n|t urd }n|}|r+| �| ��| �| ����| �| ��| �| ����|�_t)| ���_t)| ���_t/�d ��s|�_�S) NzHcannot inherit from both a TypedDict type and a non-TypedDict base classc3�@K�|]}t|t��V��dSr )rrr�s rr�z)_TypedDictMeta.__new__..� s,����5�5�!�z�!�W�%�%�5�5�5�5�5�5rr r�z?TypedDict('Name', {f0: t0, f1: t1, ...}); each t must be a typec�F��i|]\}}|t|��j�����S)r\)r�r�)r�r<r�r��tp_dicts ��rr�z*_TypedDictMeta.__new__..� sA��� � � ���2� �{�2�s�7�+=�>�>�>� � � r�__required_keys__�__optional_keys__rTF� __total__)rxr�rr�r�rPr�r�r�r�updater�r\rr[rjrfr��discardr�r`rerfr�rg)r�rer"rS�totalr�� generic_baser��own_annotations� required_keys� optional_keys� base_required� base_optional�annotation_key�annotation_type�annotation_origin�annotation_args� is_requiredr�rds @@rrPz_TypedDictMeta.__new__� s����� �� B� B�D��D�z�z��/�/�D��4G�4G��!A�B�B�B�� �5�5�u�5�5�5� 5� 5� �#�:�L�L��L��,�,�~�t�5J�|�5J�T�5J�5J�B�O�O��� ��&�&�!2�B�7�7��O�� � � � � �(�.�.�0�0� � � ����� ���� �� +� +�D� � � �t�}�0�0�1B�B�G�G� H� H� H� �M�-�-�.A�3�5�5�I�I�M� �]� *�M� �]� *�M� �M�-�-�.A�3�5�5�I�I�M� �]� *�M� �]� *�M�M����?�+�+�+�/>�/D�/D�/F�/F� 6� 6� +�N�O� *�?� ;� ;� � �I�-�-�"*�?�";�";��"�D�&5�a�&8�O�(2�?�(C�(C�%� �H�,�,�"� � �"�k�1�1�#� � �#� �� 6��!�!�.�1�1�1��%�%�n�5�5�5�5��!�!�.�1�1�1��%�%�n�5�5�5�5� #.���$-�m�$<�$<��!�$-�m�$<�$<��!��w� �,�,� &� %�G� ��rc� �td���)Nz4TypedDict does not support instance and class checksr�)r�r2s rr>z _TypedDictMeta.__subclasscheck__� s���N�O�O�OrN)T)r�r�r�rPr�r.r>r:r rrr�r�� sJ������I�I�I�I�V�H�P�P�P�*���rr��rjc ��� |�|}n|rtd���|rtjdtd���dt |��i}t ��}|�||d<t |d||���S) Nz@TypedDict takes either a dict or keyword arguments, but not bothz�The kwargs-based syntax for TypedDict definitions is deprecated in Python 3.11, will be removed in Python 3.13, and may not be understood by third-party type checkers.r��� stacklevelr�r�r rw)r��warnings�warn�DeprecationWarningr�r�r�)rWrArjrQrSrvs rrMrM� s���-�\�~���� �)��(�)�)� )� � �� � 7� ��  � � � � �T�&�\�\� *�B� �Y�Y�F� ��!��<�� �(�B��%� 8� 8� 8�8rrMc��tfSr )� _TypedDictr^s r�r�@ s��:�-�rc�V� t||j�d���}t||f��S�Nz accepts only a single type.�r�rr�r\s rrjrjC s5���$ �z�d�j�#N�#N�#N� O� O�D� ���w� '� '�'rc�V� t||j�d���}t||f��Sr�r�r\s rrfrf[ s5�� � �z�d�j�#N�#N�#N� O� O�D� ���w� '� '�'rc�8�eZdZ eZd�Zd�Zd�Zd�Zd�Z d�Z dS)rbc��||_d|vr|�d��d}||_||_t ��}|dkr ||_dSdS)Nrr�r�)r�� rpartitionr�� __supertype__r�r�)r rer�r�s rrzNewType.__init__� s_�� ��� �$�;�;��?�?�3�'�'��+�D��� �����)�)�� �h� � �%�D�O�O�O� � rc�6��|j�G�fd�d��}|fS)Nc���eZdZ�fd�ZdS)�&NewType.__mro_entries__..Dummyc �D��|j}td|�d|�d��d����)NzGCannot subclass an instance of NewType. Perhaps you were looking for: `z = NewType(r0z)`)r�r�)r�� subclass_name�superclass_names �rrz8NewType.__mro_entries__..Dummy.__init_subclass__� sU��� #� � ��Y�%�Y�Y�2?�Y�Y�ET�Y�Y�Y���rN)r�r�r�r)r�s�r�Dummyr�� s.������� � � � � � � rr�r�)r r"r�r�s @rr#zNewType.__mro_entries__� sG����-�� � � � � � � � � � ��x�rc�$�|j�d|j��S)Nr)r�r�r s rr(zNewType.__repr__� s���/�7�7�D�$5�7�7�7rc��|jSr )r�r s rr+zNewType.__reduce__� s ��� � rc� �t||fSr r0r1s rr3zNewType.__or__� r4rc� �t||fSr r0r1s rr6zNewType.__ror__� r7rN) r�r�r�r r.rr#r(r+r3r6r rrrbrbn sz�������*�H�&�&�&� � � �8�8�8�!�!�!�"�"�"�"�"�"�"�"rrbc��eZdZ dZeedefd�����Zeedefd�����Zed#d���Z eede fd�����Z ede fd���Z ed#d ���Zede fd ���Zed$d e defd ���Zede fd���Zed$de defd���Zed$de deefd���Zed%de de de fd���Zede fd���Zede fd���Zed&de de fd���Zede fd���Zedede fd���Zedeeddfd���Zed'd!���Zed#d"���ZdS)(rPr r�c��dSr r r s r�modezIO.mode� � �� �rc��dSr r r s rrezIO.name� r�rNc��dSr r r s r�closezIO.close� rrc��dSr r r s r�closedz IO.closed� r�rc��dSr r r s r�filenoz IO.fileno� rrc��dSr r r s r�flushzIO.flush� rrc��dSr r r s r�isattyz IO.isatty� rrr�r<c��dSr r )r r<s r�readzIO.read� rrc��dSr r r s r�readablez IO.readable� rr�limitc��dSr r )r r�s r�readlinez IO.readline� rr�hintc��dSr r )r r�s r� readlinesz IO.readlines� rrr�offset�whencec��dSr r )r r�r�s r�seekzIO.seek� rrc��dSr r r s r�seekablez IO.seekable� rrc��dSr r r s r�tellzIO.tell� rr�sizec��dSr r )r r�s r�truncatez IO.truncate� rrc��dSr r r s r�writablez IO.writable rrrPc��dSr r �r rPs r�writezIO.write rr�linesc��dSr r )r r�s r� writelinesz IO.writelines rr� IO[AnyStr]c��dSr r r s r� __enter__z IO.__enter__ rrc��dSr r )r rxr�� tracebacks r�__exit__z IO.__exit__ rr)r�N)r�r8r )r�r�)r�r�r�rr�rrzr�rer�r�r�r r�r�r�rTr�r�r�rHr�r�r�r�r�r�r�r�r�r�r rrrPrP� s������� ��I� �� �c� � � ��^��X� ��� �c� � � ��^��X� �� � � ��^� ��� �� � � ��^��X� �� �� � � ��^� �� � � ��^� �� �� � � ��^� �� � �c� �6� � � ��^� �� �$� � � ��^� �� � �c� �6� � � ��^� �� � �c� �4��<� � � ��^� �� � �3� �� �C� � � ��^� �� �$� � � ��^� �� �c� � � ��^� �� � �S� �C� � � ��^� �� �$� � � ��^� �� �v� �#� � � ��^� �� ��V� � �� � � ��^� �� � � ��^� �� � � ��^� � � rrPc�\�eZdZ dZedeeefdefd���Z edd���Z dS)rOr rPr�c��dSr r r�s rr�zBinaryIO.write rrc��dSr r r s rr�zBinaryIO.__enter__ rrN)r�rO) r�r�r�rrr"r-� bytearrayr r�r�r rrrOrO sr������?��I�� �u�U�I�-�.� �3� � � ��^� �� � � ��^� � � rrOc��eZdZ dZeedefd�����Zeedefd�����Z eede efd�����Z eede fd�����Z eedefd�����Zed d���Zd S) rSr r�c��dSr r r s r�bufferz TextIO.buffer* r�rc��dSr r r s r�encodingzTextIO.encoding/ r�rc��dSr r r s r�errorsz TextIO.errors4 r�rc��dSr r r s r�line_bufferingzTextIO.line_buffering9 r�rc��dSr r r s r�newlineszTextIO.newlines> r�rc��dSr r r s rr�zTextIO.__enter__C rrN)r�rS)r�r�r�rr�rrOr�rzr�rr�r�r�rr�r�r rrrSrS% s3������=��I� �� �� � � ��^��X� ��� �#� � � ��^��X� ��� ��� � � � ��^��X� ��� �� � � ��^��X� ��� �#� � � ��^��X� �� � � ��^� � � rrSc���eZdZ�fd�Z�xZS)�_DeprecatedTypec���|dvr5||jvr,tj|j�d|j�d�td���t ���|��S)N>rr�r�z5 is deprecated, import directly from typing instead. z will be removed in Python 3.12.r�ry)r�r{r|r�r}rH�__getattribute__)r�rerIs �rr�z _DeprecatedType.__getattribute__I sy��� �<� <� <����AU�AU� �M��<�"�"�(+� �"�"�"�#��  � � � ��w�w�'�'��-�-�-r)r�r�r�r�rLrMs@rr�r�H s8������� .� .� .� .� .� .� .� .� .rr�c�$�eZdZ gd�ZeZeZeZdS)�io)rPrSrON)r�r�r��__all__rPrSrOr rrr�r�U s+������3�*�*�*�G� �B� �F��H�H�Hrr�z.ioc� �eZdZ ddgZeZeZdS)�rerRrQN)r�r�r�r�rRrQr rrr�r�d s%������0��'�"�G��G� �E�E�Err�z.rer�c�h� tdt|��j��tj���|S)NzRuntime type is )�file)�printrxr�r��stderrr�s rrkrkp s5�� � � 3�T�#�Y�Y�/� 3� 3�#�*�E�E�E�E� �Jr)� eq_default� order_default�kw_only_default�field_specifiersr�r�r�r�.rQc �$������ �����fd�}|S)Nc�"�������d�|_|S)N)r�r�r�r�rQ)�__dataclass_transform__)� cls_or_fnr�r�r�rQr�s �����rr�z&dataclass_transform..decorator� s)���$�*�.� 0�� - �- � �)��rr )r�r�r�r�rQr�s````` rrYrY� sB�������=�|��������� �rr r�)rcr�)r�)NNF)r )�r�rrr�r�collections.abcr�r�r�r�� stdlib_rer�r�r{rrrr �_typingr � ImportErrorr�r|r�r�r�r�r�r�r�r�r�r�r�r�r�r�r`r�rr rr�rCrxrFrrerarmr`rrr"rrrprrqrr�r�r�r�r�r r!rhrirr�r�r�r;rJrPrXr�rjr�r�rrrnrr�_TYPING_INTERNALS�_SPECIAL_NAMESr�r�r�r�r�r�r�r�rr�rrlrWrUr��BuiltinFunctionTyper�r�r�r^r�r\r[r_r�rVrcrdr�partialr�r rgr]rXrZrrrrrrrrr-rzrT�_aliasr'r4r7r6r5r)r*r;r2r%r8rrrJr#r0r,r.r1r/r$r�rr�rH�dequerErrKr-r+r(r3r�r&r�r:rFrGrIrDrCrNr9rrAr?r>r=r@r<rBrCrUrVrLrLrPrOr_r#r�rMrrjrfrbrnrorPrOrSr�r�r�r�rRrQrkrYr rr�r�sc���*(�'�'�'�'�'�'�'�����#�#�#�#�#�#��������������������� � � � � � � � �����^�^�^�^�^�^�^�^�^�^�^�^����������������������� m �m �m ��h�5�������PU������B@�@�@� ���0���*���B <� <� <����16�/�/�/�/�/���� � � � A� A� A� ��� � ��U������.6?�Y�[�[� � � � �DF�F�F�F�F�F�F�F� � � � � � � � ���������((/�(/�(/�(/�(/�6�<�t�(/�(/�(/�(/�V0�0�0�0�0�,�d�0�0�0�0� "� "� "� "� "�t� "� "� "�$�$�$�$�$�H�$�$�$�$�$�4�4���4�(�4�4���4�0�4�4���4�&�4�4���4�4�(�(���(�*�(�(���(�*�)0�)0���)0�V�"�"���"� � ������2�2�����2�B� 4� 4��� 4� �;�;���;�4�.(�.(���.(�bQD�QD�QD�QD�QD��t�QD�QD�QD�QD�hF��F��F�F�F�F� O��O��O�O�O�O���������"&�"&�"&�"&�"&�"&�"&�"&�JA�A�A�A�A�f�j�"5�7L��A�A�A�A�HL �L �L �L �L �6�:�'<�D�L �L �L �L �^3�3�3�3�3�F�J�d�3�3�3�3�03�3�3�3�3�f�j��3�3�3�3�0J�J�J�J�J�� �$7�9N��J�J�J�J�X9�9�9�CT�CT�CT�CT�CT��d�CT�CT�CT�CT�bZ�Z�Z�Z�Z�%�T�Z�Z�Z�Z�B)!�)!�)!�)!�)!�<�):�$�)!�)!�)!�)!�V2�2�2�2�2�L�-�t�2�2�2�2�"&�&�&�&�&�(��&�&�&�&�D &� &� &� &� &�%�T� &� &� &� &�"#�"#�"#�"#�"#��}�D�"#�"#�"#�"#�J.�.�.�D�D�D�D�D�=��D�D�D�D�)�)�)�)�)�}�D�)�)�)�)��:�:���:�D:�:�:�:�:�-�t�:�:�:�:�8i*�i*�i*�i*�i*�i*�i*�i*�X3�3�3�3�3�3�3�3�J�J�J��J�J�J�� (�.�8�� >� >� ��f�[�_�0�!�4�4� � �6�+�/�*�A� .� .�� �F�;�?�,�a� 0� 0� � �V�K�O�.�� 2� 2� ��� �9�1�CS�T�T�T���f�Z�C�Q�Mb�c�c�c�� �v�d�A�E��/�/�/���f�[�,�a�m�D�D�D� ��f�[�,�a�0�0� � �&��$�a� (� (�� �6�+�&�� *� *�� �F�;�?�,�a� 0� 0� ��� ��6��:�:�� �v�d�A�E��/�/�/���� �4� � � � � �(� � ��� �� � � � � �H� � ��� �� � � � � �h� � ��� �� � � � � �H� � ��� �� � � � � �H� � ��� �� � � � � �(�4�.� � ��� �� � � � � �H�T�N� � ��� ������i�D�D�D�E�E� � �9�B�B�B� C� C��!�!�!�!�!�T�!�!�!�H=�=�=�=�6�l�l�>�<��R�@�@� ����5� ��R*�R*�R*�R*�R*�T�R*�R*�R*�jC9��C9�C9�C9�C9�C9�J�\�\�.�+�r�2� >� >� �7�7� ���(�(���(�.�(�(���(�$;"�;"�;"�;"�;"�;"�;"�;"�~ ��� �` �` �` �` �` ����` �` �` �F  �  �  �  �  �r�%�y�  �  �  �  �  �  �  �  �R��W�  �  �  �F .� .� .� .� .�d� .� .� .������?��������� ��� �B�K�� �&��"�A� &� &����y���"�"�������?��������� ��� �B�K���Q��a�����*��!�CE� O�O�O��O��O�� O� �D��I���c��(:�:�C�?�@� O� � O��q�c�1�f��O�O�O�O�O�Os�A�A�A