Sindbad~EG File Manager

Current Path : /proc/2568807/root/usr/local/lib/python3.12/test/__pycache__/
Upload File :
Current File : //proc/2568807/root/usr/local/lib/python3.12/test/__pycache__/test_typing.cpython-312.opt-1.pyc

�

'Μg�O��R�ddlZddlZddlZddlmZddlmZmZmZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlmZmZmZddlmZddlmZmZddlmZmZmZmZddlmZmZmZdd	lm Z m!Z!m"Z"m#Z#dd
lm$Z$m%Z%m&Z&ddlm'Z'm(Z(m)Z)ddlm*Z*m+Z+m,Z,m-Z-dd
lm.Z.ddlm/Z/m0Z0m1Z1m2Z2m3Z3ddlm4Z4m5Z5m6Z6ddlm7Z7ddlm8Z8m9Z9ddlm:Z:ddlm;Z;ddlm<Z<ddlm=Z=ddlm>Z>m?Z?ddlm@Z@ddlmAZAmBZBmCZCmDZDddlmEZEmFZFmGZGddlmHZHmIZIddlmJZJmKZKddlmLZLmMZMddlmNZNddlmOZOmPZPmQZQmRZRddlmSZSddlTZTddlUZUddlZddlVZVddlWZWdd lXmYZYmZZZdd!l[m\Z\m]Z]m^Z^d"Z_d#Z`d$ZaGd%�d&e�Zbd'�ZcGd(�d)�ZdGd*�d+ed�ZeGd,�d-ed�ZfGd.�d/eeef�ZgGd0�d1eb�ZhGd2�d3�ZiGd4�d5eieb�ZjGd6�d7eieb�ZkGd8�d9eb�ZlGd:�d;eb�ZmGd<�d=eb�ZnGd>�d?eb�Zod@epeqdAereqepeqfdBepeseqfdC�ZtGdD�dEeb�ZuGdF�dGeb�ZvGdH�dIeb�ZwGdJ�dKeb�ZxGdL�dMeb�ZyGdN�dOeb�ZzGdP�dQeb�Z{GdR�dS�Z|GdT�dUe|eb�Z}GdV�dWe|eb�Z~GdX�dYeb�Ze dZeqe��Z�e d[�Z�Gd\�d]e/e�e�f�Z�Gd^�d_e�e�e�f�Z�Gd`�dae3�Z�e6Gdb�dce�e3��Z�Gdd�de�Z�Gdf�dge3�Z�Gdh�die3�Z�e6Gdj�dke�e�e3��Z�e6Gdl�dme3��Z�Gdn�doe��Z�Gdp�dq�Z�Gdr�dseA�Z�e6Gdt�due3��Z�Gdv�dweb�Z�Gdx�dyeb�Z�Gdz�d{eb�Z�Gd|�d}eb�Z�Gd~�deb�Z�Gd��d�eb�Z�Gd��d�eb�Z�Gd��d�eb�Z�dd�l[m�Z�e>Gd��d���Z�e>Gd��d���Z�Gd��d�eb�Z�e�d���Z�Gd��d��Z�Gd��d�eb�Z�dd�l[m�Z�m�Z�m�Z�m�Z�m�Z�e d��Z�Gd��d�e�jJe��Z�Gd��d�e�jNe��Z�Gd��d��Z�Gd��d��Z�Gd��d�e��Z�Gd��d�e��Z�Gd��d�e/e$�Z�Gd��d��Z�Gd��d��Z�Gd��d�eA�Z�Gd��d�eA�Z�Gd��d�eA�Z�Gd��d�eA�Z�eDd�d�eqfg�Z�Gd��d�eD�Z�Gd��d�e/e$eD�Z�Gd��d�e^�jnd����Z�Gd��d�e^�jre$d����Z�Gd��d�e�e��Z�Gd��d�eDd����Z�Gd��d�eD�Z�Gd��d�eDd����Z�Gd„d�eDd����Z�GdĄd�e��Z�GdƄd�eD�Z�GdȄd�e��Z�Gdʄd�eD�Z�Gd̄d�eD�Z�Gd΄d�eD�Z�GdЄd�e]�jT�Z�d�e�j�e�fdӄZ�	e�e����j�d�e7Z�GdԄdիZ�Gdքd�eb�Z�Gd؄d�e�Z�Gdڄd�eb�Z�Gd܄d�eb�Z�Gdބd�eb�Z�Gd�d�e�Z�Gd�d�eb�Z�Gd�d�eb�Z�Gd�d�eb�Z�Gd�d�eb�Z�Gd�d�eb�Z�Gd�d�eb�Z�Gd�d�eb�Z�Gd�d�eb�Z�Gd�d�eb�Z�Gd�d�eb�Z�Gd��d�eb�Z�Gd��d�eb�Z�ej�d��Z�ej@d�e�e�e�Z�Gd��d�eb�Z�Gd��d�eb�Z�G�d��deb�Z�G�d��deb�Z�G�d��deb�Z�d�Z�e�dk(re�yy#e�$rZ�YdZ�[̐�TdZ�[�wwxYw(�N)�defaultdict)�	lru_cache�wraps�reduce)�TestCase�main�skip)�patch)�copy�deepcopy)�Any�NoReturn�Never�assert_never)�overload�
get_overloads�clear_overloads)�TypeVar�TypeVarTuple�Unpack�AnyStr)�T�KT�VT)�Union�Optional�Literal)�Tuple�List�Dict�MutableMapping)�Callable)�Generic�ClassVar�Final�final�Protocol)�assert_type�cast�runtime_checkable)�get_type_hints)�
get_origin�get_args)�override)�is_typeddict)�reveal_type)�dataclass_transform)�
no_type_check�no_type_check_decorator��Type)�
NamedTuple�NotRequired�Required�	TypedDict��IO�TextIO�BinaryIO)�Pattern�Match)�	Annotated�
ForwardRef)�Self�
LiteralString)�	TypeAlias)�	ParamSpec�Concatenate�
ParamSpecArgs�ParamSpecKwargs)�	TypeGuard)�captured_stderr�cpython_only)�
ann_module695�mod_generics_cache�_typed_dict_helperz&Cannot subclass special typing classesz/type 'typing.%s' is not an acceptable base typez!Cannot subclass an instance of %sc�"�eZdZdd�Zdd�Zd�Zy)�BaseTestCaseNc�`�t||�s"|�d|��}|�|d|zz
}|j|��y)Nz is not a subclass of � : %s��
issubclass�failureException��self�cls�class_or_tuple�msg�messages     �-/usr/local/lib/python3.12/test/test_typing.py�assertIsSubclasszBaseTestCase.assertIsSubclass<s?���#�~�.�69�>�J�G����7�S�=�(���'�'��0�0�	/�c�`�t||�r"|�d|��}|�|d|zz
}|j|��y)Nz is a subclass of rRrSrVs     r\�assertNotIsSubclassz BaseTestCase.assertNotIsSubclassCs?���c�>�*�25�~�F�G����7�S�=�(���'�'��0�0�	+r^c�<�tjD]	}|��y�N)�typing�	_cleanups�rW�fs  r\�clear_cacheszBaseTestCase.clear_cachesJs���!�!�A�
�C�"r^rb)�__name__�
__module__�__qualname__r]r`rg�r^r\rPrP:s��1�1�r^rPc�.��t���fd��}|S)z:Runs `test_func` with various values for `proto` argument.c���ttjdz�D]'}|j|��5�||��ddd��)y#1swY�4xYw)N�)�pickle_proto��proto)�range�pickle�HIGHEST_PROTOCOL�subTest)rWrq�	test_funcs  �r\�wrapperz%all_pickle_protocols.<locals>.wrapperRsD����6�2�2�Q�6�7�E����5��1��$�e�,�2�1�8�1�1�s�A	�	A	�r)rvrws` r\�all_pickle_protocolsryOs#����9��-��-�
�Nr^c��eZdZy)�EmployeeN�rhrirjrkr^r\r{r{[���r^r{c��eZdZy)�ManagerNr|rkr^r\rr_r}r^rc��eZdZy)�FounderNr|rkr^r\r�r�cr}r^r�c��eZdZy)�ManagingFounderNr|rkr^r\r�r�gr}r^r�c�<�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
y	)
�AnyTestsc�x�|jt�5tdt�ddd�y#1swYyxYw�N�*)�assertRaises�	TypeError�
isinstancer
�rWs r\�test_any_instance_type_errorz%AnyTests.test_any_instance_type_errorms&��
�
�
�y�
)��r�3��*�
)�
)���0�9c��|jtt�d�Gd�dt�}|jt|�dt�d��y)Nz
typing.Anyc��eZdZy)�AnyTests.test_repr.<locals>.SubNr|rkr^r\�Subr�t��r^r��<class 'z".AnyTests.test_repr.<locals>.Sub'>)�assertEqual�reprr
rh�rWr�s  r\�	test_reprzAnyTests.test_reprqs@������c��L�1��#�������I��x�j� B�C�	
r^c���|jt�5tdt�ddd�|jt�5ttddd�y#1swY�5xYw#1swYyxYwr�)r�r�rTr
�intr�s r\�test_errorszAnyTests.test_errorszsL��
�
�
�y�
)��r�3��*�
�
�
�y�
)���H�*�
)�*�
)��
)�
)�s�A�A'�A$�'A0c���Gd�dt�}|jt|t��|j|�|�Gd�d�}|j	t|t��|j|�|�Gd�d||�}|jt|t��|�}|j||�|j||�|j||�y)Nc��eZdZy)�(AnyTests.test_can_subclass.<locals>.MockNr|rkr^r\�Mockr��r�r^r�c��eZdZy)�-AnyTests.test_can_subclass.<locals>.SomethingNr|rkr^r\�	Somethingr��r�r^r�c��eZdZy)�1AnyTests.test_can_subclass.<locals>.MockSomethingNr|rkr^r\�
MockSomethingr��r�r^r�)r
�
assertTruerT�assertIsInstance�assertFalse�assertNotIsInstance)rWr�r�r��mss     r\�test_can_subclasszAnyTests.test_can_subclass�s����3�����
�4��-�.����d�f�d�+�������I�s�3�4�� � ���d�3�2�I�t�2����
�=�#�6�7�
�_�����b�-�0����b�)�,����b�$�'r^c�6�Gd�dt�}|dd��y)Nc��eZdZd�Zy)�>AnyTests.test_subclassing_with_custom_constructor.<locals>.Subc��yrbrk�rW�args�kwargss   r\�__init__zGAnyTests.test_subclassing_with_custom_constructor.<locals>.Sub.__init__�s��r^N�rhrirjr�rkr^r\r�r��s��5r^r�r�)�s)r
r�s  r\�(test_subclassing_with_custom_constructorz1AnyTests.test_subclassing_with_custom_constructor�s��	6�#�	6�	�A��r^c��Gd�d�}Gd�dt|�}|dd�}|j|jd�|j|jd�y)Nc��eZdZd�Zy)�HAnyTests.test_multiple_inheritance_with_custom_constructors.<locals>.Fooc��||_yrb��x�rWr�s  r\r�zQAnyTests.test_multiple_inheritance_with_custom_constructors.<locals>.Foo.__init__��	����r^Nr�rkr^r\�Foor�����
r^r�c���eZdZ�fd�Z�xZS)�HAnyTests.test_multiple_inheritance_with_custom_constructors.<locals>.Barc�2��||_t�|�	|�yrb)�y�superr�)rWr�r��	__class__s   �r\r�zQAnyTests.test_multiple_inheritance_with_custom_constructors.<locals>.Bar.__init__�s�������� ��#r^�rhrirjr��
__classcell__�r�s@r\�Barr��s
���
$�
$r^r�rn�)r
r�r�r�)rWr�r��bs    r\�2test_multiple_inheritance_with_custom_constructorsz;AnyTests.test_multiple_inheritance_with_custom_constructors�sO��	�	�	$�#�s�	$�

��1�I��������a� �������a� r^c���|jt�5t�ddd�|jt�5tt��ddd�y#1swY�<xYw#1swYyxYwrb)r�r�r
�typer�s r\�test_cannot_instantiatez AnyTests.test_cannot_instantiate�sK��
�
�
�y�
)��E�*�
�
�
�y�
)��D��I�K�*�
)�*�
)��
)�
)���A�A(�A%�(A1c��tjttjttjtyrb)rcr?r
r>r;r�s r\�test_any_works_with_aliasz"AnyTests.test_any_works_with_alias�s%�����S�����s���	�	�#�r^N)rhrirjr�r�r�r�r�r�r�r�rkr^r\r�r�ks*�� �
��(� �!��r^r�c�H�eZdZUeeed<d�Zd�Zd�Zd�Z	d�Z
d�Zd�Zy	)
�BottomTypeTestsMixin�bottom_typec���|j|j|j�|j|j|j�|j|jd�yrb)r�r��assertIs�assertNotEqualr�s r\�
test_equalityz"BottomTypeTestsMixin.test_equality�sN������)�)�4�+;�+;�<��
�
�d�&�&��(8�(8�9����D�,�,�d�3r^c�N�|jt|j�d�yrb)r�r,r�r�s r\�test_get_originz$BottomTypeTestsMixin.test_get_origin�s���
�
�j��!1�!1�2�D�9r^c��|jt�5td|j�ddd�y#1swYyxYwr�)r�r�r�r�r�s r\�test_instance_type_errorz-BottomTypeTestsMixin.test_instance_type_error�s,��
�
�
�y�
)��r�4�+�+�,�*�
)�
)�s�6�?c��|jt�5tt|j�ddd�|jt�5tt
|j�ddd�y#1swY�BxYw#1swYyxYwrb)r�r�rTr{r�rr�s r\�test_subclass_type_errorz-BottomTypeTestsMixin.test_subclass_type_error�s[��
�
�
�y�
)��x��!1�!1�2�*�
�
�
�y�
)��x��!1�!1�2�*�
)�*�
)��
)�
)�s�A2�A>�2A;�>Bc�~�|jt�5|jtddd�y#1swYyxYwrb)r�r�r�r�r�s r\�test_not_genericz%BottomTypeTestsMixin.test_not_generic�s*��
�
�
�y�
)����S�!�*�
)�
)���3�<c	�p�|jtdtjt	|j
��z�5Gd�d|j
�}ddd�|jtt�5Gd�dt|j
��}ddd�y#1swY�KxYw#1swYyxYw)N�Cannot subclass c��eZdZy)�4BottomTypeTestsMixin.test_cannot_subclass.<locals>.ANr|rkr^r\�Ar�����r^r�c��eZdZy)�4BottomTypeTestsMixin.test_cannot_subclass.<locals>.BNr|rkr^r\�Br��r�r^r�)�assertRaisesRegexr��re�escape�strr��CANNOT_SUBCLASS_TYPEr��rWr�r�s   r\�test_cannot_subclassz)BottomTypeTestsMixin.test_cannot_subclass�s���
�
#�
#�I�"�R�Y�Y�s�4�3C�3C�/D�%E�E�G�
�D�$�$�
�G��
#�
#�I�/C�
D�
�D��)�)�*�
�E�
D�	G�G��E�
D�s�B �8B,� B)�,B5c��|jt�5|j�ddd�|jt�5t|j��ddd�y#1swY�BxYw#1swYyxYwrb)r�r�r�r�r�s r\r�z,BottomTypeTestsMixin.test_cannot_instantiate�sZ��
�
�
�y�
)�����*�
�
�
�y�
)�"�D��!�!�"�$�*�
)�*�
)��
)�
)�s�A(�A4�(A1�4A=N)
rhrirjr$r
�__annotations__r�r�r�r�r�r�r�rkr^r\r�r��s/���#���4�
:�-�3�"��%r^r�c�"�eZdZeZd�Zd�Zd�Zy)�
NoReturnTestsc�B�|jtt�d�y)N�typing.NoReturn)r�r�rr�s r\r�zNoReturnTests.test_repr�s������h��):�;r^c���dtdtfd�}dd�}ttd�}||fD]8}|j|��5|jt|�|�ddd��:y#1swY�ExYw)N�arg�returnc��yrbrk�r�s r\�somez/NoReturnTests.test_get_type_hints.<locals>.some�s��Sr^c��yrbrkr�s r\�some_strz3NoReturnTests.test_get_type_hints.<locals>.some_str����Cr^�r�r���target)r�rr�r�)rrur��gth�rWrr�expectedrs     r\�test_get_type_hintsz!NoReturnTests.test_get_type_hints�s\��0�h�0�8�0�?�#�x�8���X�&�F����V��,�� � ��V��h�7�-�,�'�,�,���A"�"A+	c�l�|jtt�|jtt�yrb)r�rrr�s r\�test_not_equalityzNoReturnTests.test_not_equality�s"�����H�e�,����E�8�,r^N)rhrirjrr�r�r
r
rkr^r\r�r��s���K�<�8�-r^r�c��eZdZeZd�Zd�Zy)�
NeverTestsc�B�|jtt�d�y)N�typing.Never)r�r�rr�s r\r�zNeverTests.test_repr�s������e��n�5r^c���dtdtfd�}dd�}ttd�}||fD]8}|j|��5|jt|�|�ddd��:y#1swY�ExYw)Nr�r�c��yrbrkr�s r\rz,NeverTests.test_get_type_hints.<locals>.some�s��sr^c��yrbrkr�s r\rz0NeverTests.test_get_type_hints.<locals>.some_str����cr^rr)r�rr�r)rrur�rrs     r\r
zNeverTests.test_get_type_hints�s\��*�e�*��*�9� �E�2���X�&�F����V��,�� � ��V��h�7�-�,�'�,�,�rN)rhrirjrr�r�r
rkr^r\rr�s���K�6�8r^rc��eZdZd�Zy)�AssertNeverTestsc���|jt�5td�ddd�d}|jt|�5t|�ddd�ddz}|jt�5}t|�ddd�|j	tjjd�tjdz�y#1swY��xYw#1swY��xYw#1swY�exYw)Nz
some value�ai'rr�)
r��AssertionErrorrr��
assertLess�len�	exceptionr�rc�_ASSERT_NEVER_REPR_MAX_LENGTH)rW�value�
huge_value�cms    r\�test_exceptionzAssertNeverTests.test_exception�s���
�
�
�~�
.����/���
�
#�
#�N�E�
:����;��5�[�
�
�
�
�~�
.�"���$�/��������!�!�!�$�%��0�0�1�4�	
�/�
.��;�
:��
/�
.�s#�C�C�0C �C�C� C)N)rhrirjr"rkr^r\rr�s��
r^rc�<�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
y	)
�	SelfTestsc��|jtt�|jtt�|jtd�yrb)r�rBr�r�r�s r\r�zSelfTests.test_equalitys0������t�$��
�
�d�D�!����D�$�'r^c�6�Gd�d�}Gd�d�}Gd�d�}|||fD]H}|j|��5|jt|j�dti�ddd��J|jt
t�d�y#1swY�txYw)	Nc��eZdZdefd�Zy)�"SelfTests.test_basics.<locals>.Foor�c��yrbrkr�s r\�barz&SelfTests.test_basics.<locals>.Foo.bar���3r^N)rhrirjrBr*rkr^r\r�r(s
��&�T�&r^r�c��eZdZdd�Zy)�%SelfTests.test_basics.<locals>.FooStrc��yrbrkr�s r\r*z)SelfTests.test_basics.<locals>.FooStr.bar���Sr^N)r�rB�rhrirjr*rkr^r\�FooStrr-s��(r^r1c��eZdZdd�Zy)�+SelfTests.test_basics.<locals>.FooStrTypingc��yrbrkr�s r\r*z/SelfTests.test_basics.<locals>.FooStrTyping.bar���Cr^N)r��typing.Selfr0rkr^r\�FooStrTypingr3s��/r^r7rr�)rur�rr*rBr�r,�rWr�r1r7rs     r\�test_basicszSelfTests.test_basicss���	'�	'�	)�	)�	0�	0��F�L�1�F����V��,�� � ��V�Z�Z��8�T�2B�C�-�,�2�	
�
�
�j��&��-�-�,���,B�B	c�B�|jtt�d�y)Nr6)r�r�rBr�s r\r�zSelfTests.test_repr$s������d��]�3r^c�r�|jt�5ttddd�y#1swYyxYwrb)r�r�rBr�r�s r\�test_cannot_subscriptzSelfTests.test_cannot_subscript's#��
�
�
�y�
)���I�*�
)�
)���-�6c��|jtt�5Gd�dtt��}ddd�|jtd�5Gd�dt�}ddd�y#1swY�8xYw#1swYyxYw)Nc��eZdZy)�)SelfTests.test_cannot_subclass.<locals>.CNr|rkr^r\�CrA-r�r^rBzCannot subclass typing\.Selfc��eZdZy)�)SelfTests.test_cannot_subclass.<locals>.DNr|rkr^r\�DrD1r�r^rE)r�r�r�r�rB�rWrBrEs   r\r�zSelfTests.test_cannot_subclass+si��
�
#�
#�I�/C�
D�
�D��J�
�E��
#�
#�I�/�1�
�D�
�1�1�E�
D��1�1���A+�A7�+A4�7Bc���|jt�5t�ddd�|jt�5tt��ddd�y#1swY�<xYw#1swYyxYwrb)r�r�rBr�r�s r\�test_cannot_initzSelfTests.test_cannot_init4sK��
�
�
�y�
)��F�*�
�
�
�y�
)��D��J�L�*�
)�*�
)��
)�
)�r�c���|jt�5tdt�ddd�|jt�5t	t
t�ddd�y#1swY�<xYw#1swYyxYw�Nrn)r�r�r�rBrTr�r�s r\�test_no_isinstancezSelfTests.test_no_isinstance:sO��
�
�
�y�
)��q�$��*�
�
�
�y�
)��s�D�!�*�
)�*�
)��
)�
)���A"�A.�"A+�.A7c�(�tttf}tt}tt}|j	t|�ttf�|j	t|�tf�|j	t|�tf�yrb)rrBrr$r�r-�rW�alias_1�alias_2�alias_3s    r\�
test_aliaszSelfTests.test_alias@si����d�
�#���t�*���4�.������'�*�T�4�L�9�����'�*�T�G�4�����'�*�T�G�4r^N�rhrirjr�r9r�r=r�rIrLrSrkr^r\r$r$s*��(�
.�4����"�5r^r$c�<�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
y	)
�LiteralStringTestsc��|jtt�|jtt�|jtd�yrb)r�rCr�r�r�s r\r�z LiteralStringTests.test_equalityKs0������
�6��
�
�m�]�3����M�4�0r^c�6�Gd�d�}Gd�d�}Gd�d�}|||fD]H}|j|��5|jt|j�dti�ddd��J|jt
t�d�y#1swY�txYw)	Nc��eZdZdefd�Zy)�+LiteralStringTests.test_basics.<locals>.Foor�c��yrbrkr�s r\r*z/LiteralStringTests.test_basics.<locals>.Foo.barRr5r^N)rhrirjrCr*rkr^r\r�rZQs
��/�]�/r^r�c��eZdZdd�Zy)�.LiteralStringTests.test_basics.<locals>.FooStrc��yrbrkr�s r\r*z2LiteralStringTests.test_basics.<locals>.FooStr.barT���cr^N)r�rCr0rkr^r\r1r]Ss��1r^r1c��eZdZdd�Zy)�4LiteralStringTests.test_basics.<locals>.FooStrTypingc��yrbrkr�s r\r*z8LiteralStringTests.test_basics.<locals>.FooStrTyping.barV���Sr^N)r��typing.LiteralStringr0rkr^r\r7raUs��8r^r7rr�)rur�rr*rCr�r,r8s     r\r9zLiteralStringTests.test_basicsPs���	0�	0�	2�	2�	9�	9��F�L�1�F����V��,�� � ��V�Z�Z��8�]�2K�L�-�,�2�	
�
�
�j��/��6�-�,�r:c�B�|jtt�d�y)Nrd)r�r�rCr�s r\r�zLiteralStringTests.test_repr]s������m�,�.D�Er^c�r�|jt�5ttddd�y#1swYyxYwrb)r�r�rCr�r�s r\r=z(LiteralStringTests.test_cannot_subscript`s$��
�
�
�y�
)��#��*�
)�
)�r>c��|jtt�5Gd�dtt��}ddd�|jtd�5Gd�dt�}ddd�y#1swY�8xYw#1swYyxYw)Nc��eZdZy)�2LiteralStringTests.test_cannot_subclass.<locals>.CNr|rkr^r\rBrifr�r^rBz%Cannot subclass typing\.LiteralStringc��eZdZy)�2LiteralStringTests.test_cannot_subclass.<locals>.DNr|rkr^r\rErkjr�r^rE)r�r�r�r�rCrFs   r\r�z'LiteralStringTests.test_cannot_subclassdsj��
�
#�
#�I�/C�
D�
�D��'�
�E��
#�
#�I�8�:�
�M�
�:�:�E�
D��:�:�rGc���|jt�5t�ddd�|jt�5tt��ddd�y#1swY�<xYw#1swYyxYwrb)r�r�rCr�r�s r\rIz#LiteralStringTests.test_cannot_initmsM��
�
�
�y�
)��O�*�
�
�
�y�
)��D���!�*�
)�*�
)��
)�
)�r�c���|jt�5tdt�ddd�|jt�5t	t
t�ddd�y#1swY�<xYw#1swYyxYwrK)r�r�r�rCrTr�r�s r\rLz%LiteralStringTests.test_no_isinstancessO��
�
�
�y�
)��q�-�(�*�
�
�
�y�
)��s�M�*�*�
)�*�
)��
)�
)�rMc�(�tttf}tt}tt}|j	t|�ttf�|j	t|�tf�|j	t|�tf�yrb)rrCrr$r�r-rOs    r\rSzLiteralStringTests.test_aliasyso���
�}�4�5���}�%���=�)������'�*�]�M�,J�K�����'�*�]�,<�=�����'�*�]�,<�=r^NrTrkr^r\rVrVJs+��1�
7�F���"�+�>r^rVc��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zy)�TypeVarTestsc��td�}|j||�|j|t�|j|jd�|j|jd�|j|jd�|j|jd�|j|jd�|j|jd�|j|jt�y)NrrkF)rr�r�rh�__constraints__r��	__bound__�
__covariant__�__contravariant__�__infer_variance__ri�rWrs  r\�test_basic_plainzTypeVarTests.test_basic_plain�s����C�L������A�����a��)�������S�)�����*�*�B�/��
�
�a�k�k�4�(��
�
�a�o�o�u�-��
�
�a�)�)�5�1��
�
�a�*�*�E�2�������x�0r^c���i}td||�|d}|j|t�|j|jd�|j|j
d�|j
|jt�|j
|jd�|j
|jd�|j
|jd�|j
|jd�y)Nz9from typing import TypeVar; T = TypeVar("T", bound=float)rrkF)
�execr�rr�rhrrr�rs�floatrtrurvri)rW�nsrs   r\�test_basic_with_execz!TypeVarTests.test_basic_with_exec�s���
���
H�"�b�Q��s�G�����a��)�������S�)�����*�*�B�/��
�
�a�k�k�5�)��
�
�a�o�o�u�-��
�
�a�)�)�5�1��
�
�a�*�*�E�2��
�
�a�l�l�D�)r^c��tdt��}|j|jd�|j|jd�|j|jt�tdtt�}|j|jd�|j|jttf�|j|jd�tdd��}|j|jd�|j|jd�|j|jd�|j|jd�td	d�
�}|j|jd	�|j|jd�|j|jd�|j|jd�tdd��}|j|jd�|j|jd�|j|jd�|j|jd�y)
N�T_bound��boundrk�
T_constraints�T_coT��	covariantF�T_contra��
contravariant�T_infer)�infer_variance)rr�r�rhrrr�rsr�rtrurv)rWrr�r�r�r�s      r\�test_attributeszTypeVarTests.test_attributes�s����)�3�/������)�)�9�5�����0�0�"�5��
�
�g�'�'��-����c�:�
�����/�/��A�����6�6��c�
�C��
�
�m�-�-�t�4��v��.���������/��
�
�d�(�(�$�/��
�
�d�,�,�e�4��
�
�d�-�-�u�5��:�T�:������*�*�J�7��
�
�h�,�,�e�4��
�
�h�0�0�$�7��
�
�h�1�1�5�9��)�D�9������)�)�9�5��
�
�g�+�+�U�3��
�
�g�/�/��7��
�
�g�0�0�$�7r^c��td�}|jt�5td|�ddd�y#1swYyxYw)Nrr�)rr�r�r�rws  r\� test_typevar_instance_type_errorz-TypeVarTests.test_typevar_instance_type_error�s/���C�L��
�
�
�y�
)��r�1��*�
)�
)�s	�
7�Ac��td�}|jt�5tt|�ddd�|jt�5t|t�ddd�y#1swY�8xYw#1swYyxYw�Nr)rr�r�rTr�rws  r\� test_typevar_subclass_type_errorz-TypeVarTests.test_typevar_subclass_type_error�sX���C�L��
�
�
�y�
)��s�A��*�
�
�
�y�
)��q�#��*�
)�*�
)��
)�
)�s�A)�A5�)A2�5A>c�|�|jt�5tdt�}|ddd�y#1swYyxYw)N�X)r�r�rr��rWr�s  r\�test_constrained_errorz#TypeVarTests.test_constrained_error�s+��
�
�
�y�
)���S�!�A�
�*�
)�
)�s�2�;c��td�}td�}|j||�|jt||�|jt|t||f�|jt||f|�|jt|tft|�|jt|tftt�|jt|tfj
|tf�|jt|tfj|f�|jt|tfjt�y)Nr��Y)	rr�r�rr��__args__�__parameters__r��
__origin__)rWr�r�s   r\�test_union_uniquezTypeVarTests.test_union_unique�s���C�L���C�L�����A�q�!�����q��1�%����E�!�H�e�A�q�D�k�2�����q�!�t��a�(����E�!�S�&�M�5��8�4����E�!�S�&�M�5��:�6�����q�#�v��/�/�!�S��:�����q�#�v��5�5��t�<��
�
�e�A�s�F�m�.�.��6r^c�6�td�}|j|dzt|df�|jd|ztd|f�|jt|dz�|t	d�f�|jtd|z�t	d�|f�y�Nr�r�)rr�rr-rAr�s  r\�test_orzTypeVarTests.test_or�s����C�L��	
����S��%��3��-�0�����q��%��Q��-�0�����!�c�'�*�Q�
�3��,@�A�����#��'�*�Z��_�a�,@�Ar^c�z�tdtt�}|jt|tft|�y�Nr�)rr��bytesr�r�rWr�s  r\�test_union_constrainedz#TypeVarTests.test_union_constrained�s,���C��e�$�����E�!�S�&�M�5��8�4r^c��|jtt�d�|jtt�d�|jtt�d�|jtt
�d�t
dd��}|jt|�d�t
d	d�
�}|jt|�d�y)Nz~Tz~KTz~VTz~AnyStrr�Tr�z+T_cor�r�z	-T_contra)r�r�rrrrr)rWr�r�s   r\r�zTypeVarTests.test_repr�s�������a��$�'�����b��5�)�����b��5�)�����f��y�1��v��.������d��W�-��:�T�:������h���5r^c��|jtd�td��|jtdtt�tdtt��yr�)r�rr�r�r�s r\�test_no_redefinitionz!TypeVarTests.test_no_redefinition�s<�����G�C�L�'�#�,�7����G�C��c�2�G�C��c�4J�Kr^c��|jttdz�5Gd�dt�}ddd�td�}|jttdz�5Gd�d|�}ddd�y#1swY�FxYw#1swYyxYw)Nrc��eZdZy)�,TypeVarTests.test_cannot_subclass.<locals>.VNr|rkr^r\�Vr��r�r^r�rc��eZdZy)�,TypeVarTests.test_cannot_subclass.<locals>.WNr|rkr^r\�Wr��r�r^r�)r�r��NOT_A_BASE_TYPEr�CANNOT_SUBCLASS_INSTANCE)rWr�rr�s    r\r�z!TypeVarTests.test_cannot_subclass�sm��
�
#�
#�I���/J�
K�"�G�"�L��C�L��
�
#�
#�I�(�9�4�6��A��6�6�L�
K��6�6�s�A3�A?�3A<�?Bc�x�|jt�5td��ddd�y#1swYyxYwr�)r�r�rr�s r\�test_cannot_instantiate_varsz)TypeVarTests.test_cannot_instantiate_vars�s'��
�
�
�y�
)��G�C�L�N�*�
)�
)�r�c�t�|jt�5tdt��ddd�|jt�5tdtt
t��ddd�|jtd�5tdd��ddd�y#1swY�oxYw#1swY�BxYw#1swYyxYw)Nr�r�z%Bound must be a type\. Got \(1, 2\)\.�rnr�)r�r�rrr�r{r{r�r�s r\�test_bound_errorszTypeVarTests.test_bound_errorss���
�
�
�y�
)��C�u�%�*�
�
�
�y�
)��C��e�8�4�*�
�
#�
#�I�$L�N��C�v�&�N�N�	*�
)��
)�
)��N�N�s#�B�B"�?B.�B�"B+�.B7c� �d}t|i�y)Nz&import typing
T = typing.TypeVar('T')
�rz�rW�codes  r\�test_missing__name__z!TypeVarTests.test_missing__name__	s��,��	
�T�2�r^c�t�|jt�5tddd��ddd�y#1swYyxYw)NrT)r�r��r��
ValueErrorrr�s r\�test_no_bivariantzTypeVarTests.test_no_bivariants(��
�
�
�z�
*��C�4�t�<�+�
*�
*�s�.�7c���|jt�5tddd��ddd�|jt�5tddd��ddd�y#1swY�6xYw#1swYyxYw)NrT)r�r�)r�r�r�r�s r\�&test_cannot_combine_explicit_and_inferz3TypeVarTests.test_cannot_combine_explicit_and_infersS��
�
�
�z�
*��C�4��=�+�
�
�
�z�
*��C�t�D�A�+�
*�+�
*��
*�
*�s�A�A&�A#�&A/c���td�}|j}|j|t�t�|j	|t
t�t
t�|j	|tt�tt�|j	|t�t�|j|t�t�|j|d�td��|j||�|�|j	|ttz�ttz�|j	|tttf�tttf�yr�)r�__typing_subst__r�r�r��listrr
r�r�r)rWr�substs   r\�test_var_substitutionz"TypeVarTests.test_var_substitutions����C�L���"�"���
�
�e�C�j�#�&�����t�C�y�)�4��9�5�����t�C�y�)�4��9�5�����t��d�+��
�
�e�C�j�#�&��
�
�e�D�k�4��:�.��
�
�e�A�h��"�����s�3�w���S��1�����u�S�#�X��/��s�C�x��Ar^c�d�td�}dttfttt|t
t
|ttttttf}|D]�}|j|��5|jt�5|j|�ddd�|jt�5t||ddd�|jt�5t||ddd�ddd���y#1swY�hxYw#1swY�JxYw#1swY�,xYw#1swY��xYw)Nrrkr�)rr�r�rr#r'r%r$rur�r�r�rr�)rWr�bad_argsr�s    r\�test_bad_var_substitutionz&TypeVarTests.test_bad_var_substitution's����C�L����c�
�E��W�Q�Z��8�A�;��5��:�x��#��
��
�C����#��&��&�&�y�1�&�A�&�&�s�+�2��&�&�y�1���G�C�L�2��&�&�y�1���G�C�L�2�'�&��1�1��1�1��1�1��'�&�sT�2D&�D�D&�8
D�D&�"
D�/D&�D�D&�D�D&�D#�D&�&D/	c���tttfD]V}|j|��5t	j
�}t
d�D]}|t|��||<�~ddd��Xy#1swY�cxYw)N�rX�
)rErrru�weakref�WeakValueDictionaryrrr�)rWrX�valsr�s    r\�test_many_weakrefszTypeVarTests.test_many_weakrefs7s`���|�W�5�C����#��&��2�2�4���r��A�!�#�a�&�k�D��G�#��'�&�6�&�&�s�:A,�,A5	c�$�td��}|j|jd�|j|jd�|j	|j
d�|j	|jd�|j	|jd�|j	|jd�tdt��}|j|jd�|j|jd�|j	|j
t�|j	|jd�|j	|jd�|j	|jd�tdd��}|j|jd�|j|jd�|j	|j
d�|j	|jd�|j	|jd�|j	|jd�tdd��}|j|jd�|j|jd�|j	|j
d�|j	|jd�|j	|jd�|j	|jd�tdd�	�}|j|jd�|j|jd�|j	|j
d�|j	|jd�|j	|jd�|j	|jd�y)
Nr)�namerkF)r�r�T)r�r�)r�r�)r�r�)
rr�rhrrr�rsrtrurvr�rws  r\�test_constructorzTypeVarTests.test_constructorAs�������������S�)�����*�*�B�/��
�
�a�k�k�4�(��
�
�a�o�o�u�-��
�
�a�)�)�5�1��
�
�a�*�*�E�2���D�)��������S�)�����*�*�B�/��
�
�a�k�k�4�(��
�
�a�o�o�u�-��
�
�a�)�)�5�1��
�
�a�*�*�E�2����-��������S�)�����*�*�B�/��
�
�a�k�k�4�(��
�
�a�o�o�t�,��
�
�a�)�)�5�1��
�
�a�*�*�E�2���D�1��������S�)�����*�*�B�/��
�
�a�k�k�4�(��
�
�a�o�o�u�-��
�
�a�)�)�4�0��
�
�a�*�*�E�2���T�2��������S�)�����*�*�B�/��
�
�a�k�k�4�(��
�
�a�o�o�u�-��
�
�a�)�)�5�1��
�
�a�*�*�D�1r^N)rhrirjrxr}r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rkr^r\rprp�so��1�*�8�:�
��
7�B�5�6�L���'��=�B�B�!� �'2r^rp�	templates�replacementsr�c��g}|j�D]2\}}g}|D]}|j||f��|j|��4g}tj|�D]R}g}	|D]/}
|D]\}}|
j	||�}
�|	j|
��1|jt|	���Tg}|D]}||vs�|j|��|S)a�Renders templates with possible combinations of replacements.

    Example 1: Suppose that:
      templates = ["dog_breed are awesome", "dog_breed are cool"]
      replacements = ["dog_breed": ["Huskies", "Beagles"]]
    Then we would return:
      [
          ("Huskies are awesome", "Huskies are cool"),
          ("Beagles are awesome", "Beagles are cool")
      ]

    Example 2: Suppose that:
      templates = ["Huskies are word1 but also word2"]
      replacements = {"word1": ["playful", "cute"],
                      "word2": ["feisty", "tiring"]}
    Then we would return:
      [
          ("Huskies are playful but also feisty"),
          ("Huskies are playful but also tiring"),
          ("Huskies are cute but also feisty"),
          ("Huskies are cute but also tiring")
      ]

    Note that if any of the replacements do not occur in any template:
      templates = ["Huskies are word1", "Beagles!"]
      replacements = {"word1": ["playful", "cute"],
                      "word2": ["feisty", "tiring"]}
    Then we do not generate duplicates, returning:
      [
          ("Huskies are playful", "Beagles!"),
          ("Huskies are cute", "Beagles!")
      ]
    )�items�append�	itertools�product�replace�tuple)
r�r��replacement_combos�original�possible_replacements�original_replacement_tuples�replacement�rendered_templates�replacement_combo�templates_with_replacements�template� rendered_templates_no_duplicatesr�s
             r\�template_replacer�ks���N��+7�+=�+=�+?�'��'�&(�#�0�K�'�.�.��+�/F�G�1��!�!�"=�>�	,@���&�.�.�0B�C��')�#�!�H�):�%��+�#�+�+�H�k�B��*;�'�.�.�x�8�"�	�!�!�%�(C�"D�E�D�(*�$�
���4�4�,�3�3�A�6� �
,�+r^c��eZdZd�Zd�Zy)�TemplateReplacementTestsc�\�tddgddgddgd���}gd	�}|j||�y)
N�Cats are word1zDogs are word2�small�cute�big�fluffy��word1�word2�r�r�))�Cats are small�Dogs are big)r��Dogs are fluffy)�
Cats are cuter�)r�r��r�r��rW�actualr	s   r\�:test_two_templates_two_replacements_yields_correct_renderszSTemplateReplacementTests.test_two_templates_two_replacements_yields_correct_renders�sC��!�+�-=�>�%�v�.�#�X�.��
��
��	
�����*r^c�\�tddgddgddgd���}d	d
g}|j||�y)Nr��Dogs!r�r�r�r�r�r�)r�r�)r�r�r�r�s   r\�2test_no_duplicates_if_replacement_not_in_templateszKTemplateReplacementTests.test_no_duplicates_if_replacement_not_in_templates�sJ��!�+�W�5�%�v�.�#�X�.��
��
(�&�
��	
�����*r^N)rhrirjr�r�rkr^r\r�r��s��+� +r^r�c�(�eZdZdZd�Zd�Zd�Zd�Zy)�GenericAliasSubstitutionTestsaKTests for type variable substitution in generic aliases.

    For variadic cases, these tests should be regarded as the source of truth,
    since we hadn't realised the full complexity of variadic substitution
    at the time of finalizing PEP 646. For full discussion, see
    https://github.com/python/cpython/issues/91162.
    c	���td�}td�}td�}Gd�dt|�}gd�}ddg}gd	�}|D]�\}}	}
t||	|
g||d
���}|D]|\}}
}|j	||
|��5|d
k(r-|jt�5t||
z�ddd�n'|jt||
z�t|��ddd��~��y#1swY�xYw#1swY��xYw)Nr�Ts�Ts2c��eZdZy)�;GenericAliasSubstitutionTests.test_one_parameter.<locals>.CNr|rkr^r\rBr�r�r^rB)rBr�rr�r))�
generic[T]�[()]r�)r�[int]�generic[int])r�
[int, str]r�)r�[tuple_type[int, ...]]�generic[tuple_type[int, ...]])r�[*tuple_type[int]]r)rz[*tuple_type[()]]r�)r�[*tuple_type[int, str]]r�)r�[*tuple_type[int, ...]]r�)r�[*Ts]r�)r�[T, *Ts]r�)r�[*Ts, T]r�)zC[T, *tuple_type[int, ...]]rr�)zlist[T, *tuple_type[int, ...]]rz list[int, *tuple_type[int, ...]])zList[T, *tuple_type[int, ...]]rr�)zgeneric[*Ts, *Ts2]rr���generic�
tuple_typer���aliasr�r	r��	rrr#r�rur�r��evalr�)rWrr�rrB�generics�tuple_types�tests�alias_template�
args_template�expected_templater��	alias_str�args_str�expected_strs               r\�test_one_parameterz0GenericAliasSubstitutionTests.test_one_parameter�s
���C�L��
�$�
���5�!��!���
�!�(����(��
��.AF�<�N�M�+<�!1�-�}�>O�P�-5�[�!Q�"��6H�1�	�8�\��\�\�	��<�\�X�#�{�2�!�.�.�y�9� ��X�!5�6�:�9��(�(� ��X�!5�6� ��.��Y�X�6H�AF�:�9��Y�X�s$�9C,�C 	�#0C,� C)
�%C,�,C5c	���td�}td�}td�}Gd�dt||f�}gd�}ddg}gd	�}|D]�\}}	}
t||	|
g||d
���}|D]|\}}
}|j	||
|��5|d
k(r-|jt�5t||
z�ddd�n'|jt||
z�t|��ddd��~��y#1swY�xYw#1swY��xYw)N�T1�T2r�c��eZdZy)�<GenericAliasSubstitutionTests.test_two_parameters.<locals>.CNr|rkr^r\rBr%r�r^rB)rB�dictr r�r))�generic[T1, T2]rr�)r'rr�)r'r�generic[int, str])r'�[int, str, bool]r�)r'r
r�)r'rr()r'z[*tuple_type[int, str, bool]]r�)r'z[int, *tuple_type[str]]r()r'z[*tuple_type[int], str]r()r'z$[*tuple_type[int], *tuple_type[str]]r()r'z([*tuple_type[int, str], *tuple_type[()]]r()r'z([*tuple_type[()], *tuple_type[int, str]]r()r'z#[*tuple_type[int], *tuple_type[()]]r�)r'z#[*tuple_type[()], *tuple_type[int]]r�)r'z+[*tuple_type[int, str], *tuple_type[float]]r�)r'z+[*tuple_type[int], *tuple_type[str, float]]r�)r'z1[*tuple_type[int, str], *tuple_type[float, bool]]r�)r'rr�)r'�,[tuple_type[int, ...], tuple_type[str, ...]]�3generic[tuple_type[int, ...], tuple_type[str, ...]])r'rr�)r'z[int, *tuple_type[str, ...]]r�)r'�[*tuple_type[int, ...], str]r�)r'�.[*tuple_type[int, ...], *tuple_type[str, ...]]r�)r'r
r�)r'rr�)r'rr�)z"generic[T1, *tuple_type[int, ...]]�[str]�#generic[str, *tuple_type[int, ...]]rr�rr�r�rWr"r#r�rBrrrrrrr�rrrs               r\�test_two_parametersz1GenericAliasSubstitutionTests.test_two_parameterss��
�T�]��
�T�]��
�$�
��&���B���&�(����(��%
��NAF�<�N�M�+<�!1�-�}�>O�P�-5�[�!Q�"��6H�1�	�8�\��\�\�	��<�\�X�#�{�2�!�.�.�y�9� ��X�!5�6�:�9��(�(� ��X�!5�6� ��.��Y�X�6H�AF�:�9��Y�X��$�;C.�C"	�%0C.�"C+
�'C.�.C7c	���td�}td�}td�}Gd�dt|||f�}dg}ddg}dd	g}|D]�\}}	}
t||	|
g||d
���}|D]|\}}
}|j||
|��5|d
k(r-|j	t
�5t
||
z�ddd�n'|jt
||
z�t
|��ddd��~��y#1swY�xYw#1swY��xYw)Nr"r#�T3c��eZdZy)�>GenericAliasSubstitutionTests.test_three_parameters.<locals>.CNr|rkr^r\rBr6Qr�r^rBr�r)�generic[T1, bool, T2]r�generic[int, bool, str])r7rr8rr�rr�)rr#r�rur�r�rr�)rWr"r#r4rBrrrrrrr�rrrs               r\�test_three_parametersz3GenericAliasSubstitutionTests.test_three_parametersLs��
�T�]��
�T�]��
�T�]��*���B��
�#�*��5����(��
G�
G�
��AF�<�N�M�+<�!1�)�=�:K�L�)1��M�"��6H�1�	�8�\��\�\�	��<�\�X�#�{�2�!�.�.�y�9� ��X�!5�6�:�9��(�(� ��X�!5�6� ��.��Y�X�6H�AF�:�9��Y�X�r2c	��td�}td�}td�}Gd�dtg|���}gd�}ddg}gd	�}|D]�\}}	}
t||	|
g||d
���}|D]|\}}
}|j	||
|��5|d
k(r-|jt�5t||
z�ddd�n'|jt||
z�t|��ddd��~��y#1swY�xYw#1swY��xYw)Nr"r#r�c��eZdZy)�AGenericAliasSubstitutionTests.test_variadic_parameters.<locals>.CNr|rkr^r\rBr<qr�r^rB)rBr�rr�r)@)�generic[*Ts]rzgeneric[()])r=rr)r=rr()r=r
r)r=z[*tuple_type[*Ts]]r=)r=rr()r=z"[str, *tuple_type[int, ...], bool]�)generic[str, *tuple_type[int, ...], bool])r=rr	)r=r*r+)r=rzgeneric[*tuple_type[int, ...]])r=r-r�)r=r
r=)r=r�generic[T, *Ts])r=r�generic[*Ts, T])r?rr�)r?rr)r?rr()r?r)�generic[int, str, bool])�generic[list[T], *Ts]rr�)rBr�generic[list[int]])rBrzgeneric[list[int], str])rBr)zgeneric[list[int], str, bool])r@rr�)r@rr)r@rr()r@r)rA)�generic[*Ts, list[T]]rr�)rDrrC)rDrzgeneric[int, list[str]])rDr)zgeneric[int, str, list[bool]])�generic[T1, T2, *Ts]rr�)rErr�)rErr()rEr)rA)rE�[int, str, bool, bytes]�generic[int, str, bool, bytes])�generic[*Ts, T1, T2]rr�)rHrr�)rHrr()rHr)rA)rHrFrG)�generic[T1, *Ts, T2]rr�)rIrr�)rIrr()rIr)rA)rIrFrG)r?rz#generic[int, *tuple_type[int, ...]])r?�[str, *tuple_type[int, ...]]r/)r?r,z(generic[int, *tuple_type[int, ...], str])r@rz#generic[*tuple_type[int, ...], int])r@rJz(generic[str, *tuple_type[int, ...], int])r@r,�#generic[*tuple_type[int, ...], str])rIrz(generic[int, *tuple_type[int, ...], int])zgeneric[T, str, *Ts]rz(generic[int, str, *tuple_type[int, ...]])zgeneric[*Ts, str, T]rz(generic[*tuple_type[int, ...], str, int])rBrz)generic[list[int], *tuple_type[int, ...]])rDrz)generic[*tuple_type[int, ...], list[int]])z!generic[T, *tuple_type[int, ...]]r.r/)z&generic[T1, T2, *tuple_type[int, ...]]�[str, bool]z)generic[str, bool, *tuple_type[int, ...]])�&generic[T1, *tuple_type[int, ...], T2]rLr>)rMz[str, bool, float]r�)z!generic[T1, *tuple_type[T2, ...]]rz#generic[int, *tuple_type[str, ...]])z!generic[*tuple_type[T1, ...], T2]rrK)z+generic[T1, *tuple_type[generic[*Ts], ...]]r)z2generic[int, *tuple_type[generic[str, bool], ...]])z+generic[*tuple_type[generic[*Ts], ...], T1]r)z2generic[*tuple_type[generic[int, str], ...], bool]rr�rr�rr0s               r\�test_variadic_parametersz6GenericAliasSubstitutionTests.test_variadic_parametersls��
�T�]��
�T�]��
�$�
��#������#�*����(��J
��XAF�<�N�M�+<�!1�-�}�>O�P�-5�[�!Q�"��6H�1�	�8�\��\�\�	��<�\�X�#�{�2�!�.�.�y�9� ��X�!5�6�:�9��(�(� ��X�!5�6� ��.��Y�X�6H�AF�:�9��Y�X�s$�<C/�C#	�&0C/�#C,
�(C/�/C8N)rhrirj�__doc__r r1r9rNrkr^r\r�r��s���/�d?�B�@dr^r�c�<�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
y	)
�UnpackTestsc�L�gtt��tttyrb)r�r�rrr�s r\�test_accepts_single_typez$UnpackTests.test_accepts_single_type�s���%��*���u�S�z�r^c���ttttt��}dD]/}|j|��5|j
||�ddd��1y#1swY�<xYw�N�r�r�r���
required_item)�set�dirrrr�ru�assertIn�rW�	dir_itemsrXs   r\�test_dirzUnpackTests.test_dir�sU����F�5��:�.�/�0�	�
�M����M��:��
�
�m�Y�7�;�:�
�;�:�s�A�A%	c��|jt�5ttttt
fddd�y#1swYyxYwrb)r�r�rrr�r�r�s r\�test_rejects_multiple_typesz'UnpackTests.test_rejects_multiple_types�s1��
�
�
�y�
)��5��:�u�S�z�)�*�*�
)�
)�s�"A�A
c�2�|jt�5gtt��dttddd�|jt�5tt
tt
tddd�y#1swY�JxYw#1swYyxYw�Nr)r�r�r�r�rrr�s r\�&test_rejects_multiple_parameterizationz2UnpackTests.test_rejects_multiple_parameterization�si��
�
�
�y�
)��e�C�j�N�1��e�C�j�)�*�
�
�
�y�
)��5��:��u�S�z�*�*�
)�*�
)��
)�
)�s�"B�#B
�B
�
Bc�l�|jt�5t�ddd�y#1swYyxYwrb)r�r�rr�s r\�test_cannot_be_calledz!UnpackTests.test_cannot_be_called�s!��
�
�
�y�
)��H�*�
)�
)���*�3c��tdttd��}dt|fd�}|j	t|jd�dt�d��y)N�Movie)r��yearr�c��yrbrk)r�s r\�fooz/UnpackTests.test_usage_with_kwargs.<locals>.foo����#r^ztyping.Unpack[z.Movie])r9r�r�rr�r�r�rh)rWrhrks   r\�test_usage_with_kwargsz"UnpackTests.test_usage_with_kwargs�sK���'�C��#=�>��-�&��-�-�����c�1�1�(�;�<�)�(��7�;�	=r^c���td�}Gd�dtg|���}d��}|tg|��}|j|tj
ttf�|j|gtt��j
ttf�|j|gtt��j
ttf�|j|tttj
ttf�|j|tttj
ttf�|tg|��}|j|tj
ttf�|j|gtt��j
ttf�|j|gtt��j
ttf�|j|tttj
ttf�|j|tttj
ttf�y)Nr�c��eZdZy)�+UnpackTests.test_builtin_tuple.<locals>.OldNr|rkr^r\�Oldrp�r�r^rqc�0��d�	x}f�G�fd�d��
}|�S)r�c���eZdZW�Zy)�+UnpackTests.test_builtin_tuple.<locals>.NewN�rhrirj�__type_params__��.type_paramss�r\�Newrt�����r^ryrk�r��
.generic_baserxs  @r\z<generic parameters of New>zCUnpackTests.test_builtin_tuple.<locals>.<generic parameters of New>�����#���r^)	rr#r�r�r�r�r�rr)rWr�rqry�PartOld�PartNews      r\�test_builtin_tuplezUnpackTests.test_builtin_tuple�s���
�$�
��$�'�#�2�#�,�$���c�h�B�h�-��������.�.��c�
�;������%��*��-�6�6��c�
�C������%��*��-�6�6��c�
�C�������c�
�!3�4�=�=��S�z�J�������c�
�!3�4�=�=��S�z�J��c�h�B�h�-��������.�.��c�
�;������%��*��-�6�6��c�
�C������%��*��-�6�6��c�
�C�������c�
�!3�4�=�=��S�z�J�������c�
�!3�4�=�=��S�z�Jr^c�v�td�}d��}|tg|��}tjd�}|j	t
|�5|tttddd�|j	t
|�5|tttddd�y#1swY�@xYw#1swYyxYw)Nr�c�0��d�	x}f�G�fd�d��
}|�S)r�c���eZdZW�Zy)�/UnpackTests.test_unpack_wrong_type.<locals>.GenNrurws�r\�Genr�rzr^r�rkr{s  @r\z<generic parameters of Gen>zGUnpackTests.test_unpack_wrong_type.<locals>.<generic parameters of Gen>r}r^z*Unpack[...] must be used with a tuple type)	rr�r�r�r�r�rr�r)rWr�r��PartGen�bad_unpack_params     r\�test_unpack_wrong_typez"UnpackTests.test_unpack_wrong_type
s���
�$�
����c�h�B�h�-���9�9�%Q�R��
�
#�
#�I�/?�
@��F�4��9�%�&�A�
�
#�
#�I�/?�
@��F�4��9�%�&�A�
@�A�
@��
@�
@�s�B#�B/�#B,�/B8N)rhrirjrSr^r`rcrermr�r�rkr^r\rQrQ�s+���8�+�+��=�K�(	'r^rQc���eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d �Z"d!�Z#d"�Z$d#�Z%d$�Z&y%)&�TypeVarTupleTestsc�V�|j|�s|jd|�d|���yy)NzString z does not end with )�endswith�fail)rW�string�tails   r\�assertEndsWithz TypeVarTupleTests.assertEndsWiths-�����t�$��I�I���z�)<�T�H�E�F�%r^c��td�}|j|jd�td�}|j|jd�y)Nr�r)rr�rh)rWr�rs   r\�	test_namezTypeVarTupleTests.test_names>��
�$�
��������d�+��5�!��������u�-r^c�Z�td�}|j|jt�y�Nr�)rr�rirh�rWr�s  r\�test_modulezTypeVarTupleTests.test_module%s ��
�$�
���������1r^c��i}td|�|d}|j|jd�|j|jd�y)Nz8from typing import TypeVarTuple; Ts = TypeVarTuple("Ts")r�)rzr�rhr�ri)rWr|r�s   r\�	test_execzTypeVarTupleTests.test_exec)sA��
���
G��L�
��X��������d�+��
�
�b�m�m�T�*r^c�>�td�}|j||�yr�)rr�r�s  r\� test_instance_is_equal_to_itselfz2TypeVarTupleTests.test_instance_is_equal_to_itself0s��
�$�
������R� r^c�L�|jtd�td��yr�)r�rr�s r\�&test_different_instances_are_differentz8TypeVarTupleTests.test_different_instances_are_different4s�����L��.��T�0B�Cr^c�F�td�}|j|t�yr�)rr�r�s  r\�(test_instance_isinstance_of_typevartuplez:TypeVarTupleTests.test_instance_isinstance_of_typevartuple7s��
�$�
�����b�,�/r^c�|�td�}|jt�5|�ddd�y#1swYyxYwr�)rr�r�r�s  r\�test_cannot_call_instancez+TypeVarTupleTests.test_cannot_call_instance;s+��
�$�
��
�
�
�y�
)��D�*�
)�
)�s�2�;c��td�}|jg|��dg|��d�|jt|t|�y)Nr�r)rr�rr�s  r\�-test_unpacked_typevartuple_is_equal_to_itselfz?TypeVarTupleTests.test_unpacked_typevartuple_is_equal_to_itself@sD��
�$�
������2����F�b�F�1�I�.�������V�B�Z�0r^c���td�}|jtg|��tg|���|jtt|tt|�yr�)rr�r�rrr�s  r\�+test_parameterised_tuple_is_equal_to_itselfz=TypeVarTupleTests.test_parameterised_tuple_is_equal_to_itselfEsN��
�$�
������s��s��U�3�B�3�Z�0�����v�b�z�*�E�&��*�,=�>r^c��td�}td�}|jtg|�|��tg|�|���|jtt|t|ftt|t|f�y)N�Ts1r)rr�r�rr)rWr�rs   r\� tests_tuple_arg_ordering_mattersz2TypeVarTupleTests.tests_tuple_arg_ordering_mattersJs~���5�!���5�!������*�3�*��*���*�3�*��*��	
�	
����&��+�v�c�{�*�+��&��+�v�c�{�*�+�	
r^c�L�td�}tg|��}|j|jg|���|j|j|f�t
t|}|j|jt|f�|j|j|f�yr�)rr�r�r�r�rr)rWr��t1�t2s    r\�*test_tuple_args_and_parameters_are_correctz<TypeVarTupleTests.test_tuple_args_and_parameters_are_correctVs���
�$�
��
�3�B�3�Z��������f��f�-�����*�*�R�E�2�
�6�"�:�
��������v�b�z�m�4�����*�*�R�E�2r^c	��td�}td�}td�}Gd�dtg|���}Gd�dtt|�}||tt
fD�]�}|g|��}|j
|d|d�|j
|t|t�|j
|ttf|ttf�|t|}|j
|d|d�|j
|t|t�|j
|ttf|ttf�t|g|��}	|j
|	dt|d�|j
|	tt|t�|j
|	ttft|ttf�t|t|}
|j
|
dt|d�|j
|
tt|t�|j
|
ttft|ttf�||g|�|��}|jt�5|dddd�|jt�5|tddd�|j
|ttf|ttf�|j
|tttf|tttf�|j
|ttttf|ttttf�||t||f}|jt�5|dddd�|jt�5|tddd�|j
|ttf|ttf�|j
|tttf|tttf�|j
|ttttf|ttttf�t
t||g|��t|f}
|jt�5|
dddd�|jt�5|
tddd�|tk7rB|j
|
ttft
tt|dttf�|j
|
tttft
tt|tttf�|j
|
ttttft
tt|ttfttf�tt||t|t|f}|jt�5|dddd�|jt�5|tddd�|tk7rB|j
|ttfttt|dttf�|j
|tttfttt|tttf�|j
|ttttfttt|ttfttf����y#1swY���xYw#1swY��hxYw#1swY���xYw#1swY���xYw#1swY���xYw#1swY���xYw#1swY��oxYw#1swY��UxYw)	Nr�rr#c��eZdZy)�3TypeVarTupleTests.test_var_substitution.<locals>.G1Nr|rkr^r\�G1r�cr�r^r�c��eZdZy)�3TypeVarTupleTests.test_var_substitution.<locals>.G2Nr|rkr^r\�G2r�dr�r^r�rk)rrr#rrr�r�r{r�r�rr�r�r�r�)rWr�rr#r�r�r�r�rBrE�E�F�G�H�Is               r\r�z'TypeVarTupleTests.test_var_substitution_s���
�$�
���C�L��
�T�]��$���"���$�+�����$�+��R���%�A��#�2�#��A����Q�r�U�A�b�E�*����Q�u�X�q��x�0����Q�u�c�z�]�A�e�S�j�M�:��&��*�
�A����Q�r�U�A�b�E�*����Q�u�X�q��x�0����Q�u�c�z�]�A�e�S�j�M�:��Q�s��s�V��A����Q�r�U�D��2��K�0����Q�u�X�t�A�e�H�~�6����Q�u�c�z�]�D��5�#�:��,?�@��Q�v�b�z�]�#�A����Q�r�U�D��2��K�0����Q�u�X�t�A�e�H�~�6����Q�u�c�z�]�D��5�#�:��,?�@��!�*�b�*�"�*�
�A��"�"�9�-��"��.��"�"�9�-��%��.����Q�u�c�z�]�A�e�S�j�M�:����Q�u�c�3��/��5�#�s�?�1C�D����Q�u�c�3��5�6��%��c�5�:P�8Q�R��!�V�B�Z��#�$�A��"�"�9�-��"��.��"�"�9�-��%��.����Q�u�c�z�]�A�e�S�j�M�:����Q�u�c�3��/��5�#�s�?�1C�D����Q�u�c�3��5�6��%��c�5�:P�8Q�R��d�1�g�q��"��v�t�B�x�/�0�A��"�"�9�-��"��.��"�"�9�-��%��.��E�z�� � ��5�#�:��!&�t�E�{�A�b�E�4��9�'D�!E�G����Q�u�c�3��/�"�4��;��#���S�	�#A�B�
D����Q�u�c�3��5�6�"�4��;��#�s�(��T�%�[�#H�I�
K��d�1�g�q����}�d�2�h�6�7�A��"�"�9�-��"��.��"�"�9�-��%��.��E�z�� � ��5�#�:��!&�t�E�{�A�b�E�4��9�'D�!E�G����Q�u�c�3��/�"�4��;��#���S�	�#A�B�
D����Q�u�c�3��5�6�"�4��;��#�s�(��T�%�[�#H�I�
K�}&�,.�-��-�-��.�-��-�-��.�-��-�-��.�-��-�-�s`�2[8�
\�-\�
\�9\,�
\9�]�6
]�8\	�\	�\	�\)	�,\6	�9]	�]	�]	c�X�td�}td�}td�}Gd�dtg|���}Gd�dtt|�}||tt
fD�]q}||}|j
t�5|ttfddd�|||f}|j
t�5|g|��ddd�|j
t�5|t|ddd�||g|�t�|��}|j
t�5|tg|��ddd�|j
t�5|tg|�|��ddd�||t|t|f}|j
t�5|tt|fddd�|j
t�5|tt|t|fddd���ty#1swY��JxYw#1swY��*xYw#1swY��
xYw#1swY��xYw#1swY��xYw#1swY��xYw#1swY���xYw)Nr�rr#c��eZdZy)�7TypeVarTupleTests.test_bad_var_substitution.<locals>.G1Nr|rkr^r\r�r��r�r^r�c��eZdZy)�7TypeVarTupleTests.test_bad_var_substitution.<locals>.G2Nr|rkr^r\r�r��r�r^r�)
rrr#rrr�r�r�r�r�)	rWr�rr#r�r�r�r�rBs	         r\r�z+TypeVarTupleTests.test_bad_var_substitution�s���
�$�
���C�L��
�T�]��$���"���$�+�����$�+��R���%�A��"��A��"�"�9�-��#�s�(��.��!�R�%��A��"�"�9�-��#�2�#��.��"�"�9�-��&��*�
�.��!�/�b�/�#�/�r�/�"�A��"�"�9�-��#�(��(��.��"�"�9�-��#�-��-�R�-� �.��!�V�B�Z��b�(�)�A��"�"�9�-��#�v�b�z�/�"�.��"�"�9�-��#�v�b�z�6�"�:�-�.�.�-�)&�-�-��.�-��-�-��.�-��-�-��.�-��-�-�sT�<G�0	G!�
G.�G;�<H�=H�-H�G	�!G+	�.G8	�;H	�H	�H	�H)	c�r�td�}Gd�dtg|���}Gd�dtt|�}|jt	|�d�|jt	g|��d�d�|jt	t|�d�|jt	t
g|���d�|jt	tt|�d	�|jt	t
g|���d
�|jt	ttt|�d�y)Nr�c��eZdZy)�2TypeVarTupleTests.test_repr_is_correct.<locals>.G1Nr|rkr^r\r�r��r�r^r�c��eZdZy)�2TypeVarTupleTests.test_repr_is_correct.<locals>.G2Nr|rkr^r\r�r��r�r^r�rztyping.Unpack[Ts]ztuple[typing.Unpack[Ts]]ztyping.Tuple[typing.Unpack[Ts]]z*tuple[typing.Unpack[Ts]]z.typing.Unpack[typing.Tuple[typing.Unpack[Ts]]])rr#rr�r�r�r)rWr�r�r�s    r\�test_repr_is_correctz&TypeVarTupleTests.test_repr_is_correct�s���
�$�
��$���"���$�+�����$�+�����b��4�(�����f��f�Q�i��*=�>�����f�R�j�)�+>�?�����e�C�R�C�j�)�+E�F�����e�F�2�J�/�0�2S�T�����u�S�b�S�z�*�,G�H�����f�U�6�"�:�%6�7�8�:j�kr^c
�p�td�}Gd�dtg|���}Gd�dtt|�}|jt	|d�d�|jt	|d�d�|jt	|t
�d	�|jt	|t
�d
�|jt	|t
tf�d�|jt	|t
tf�d�|jt	|gttd
f���d�|jt	|tttd
f�d�|jt	|t
gttd
f���d�|jt	|t
tttd
ff�d�|jt	|gttd
f�t���d�|jt	|tttd
ftf�d�|jt	|t
gttd
f�t���d�|jt	|t
tttd
ftf�d�y)Nr�c��eZdZy)�@TypeVarTupleTests.test_variadic_class_repr_is_correct.<locals>.ANr|rkr^r\r�r��r�r^r�c��eZdZy)�@TypeVarTupleTests.test_variadic_class_repr_is_correct.<locals>.BNr|rkr^r\r�r��r�r^r�rk�A[()]zB[()]�A[float]zB[float]�
A[float, str]z
B[float, str].zA[*tuple[int, ...]]z(B[typing.Unpack[typing.Tuple[int, ...]]]zA[float, *tuple[int, ...]]z/A[float, typing.Unpack[typing.Tuple[int, ...]]]zA[*tuple[int, ...], str]z-B[typing.Unpack[typing.Tuple[int, ...]], str]zA[float, *tuple[int, ...], str]z4B[float, typing.Unpack[typing.Tuple[int, ...]], str])
rr#rr�r�r{r�r�r�r)rWr�r�r�s    r\�#test_variadic_class_repr_is_correctz5TypeVarTupleTests.test_variadic_class_repr_is_correct�sD��
�$�
��#������#�*���r�
�#�*����D��2��K��1����D��2��K��1����D��5��N�J�7����D��5��N�J�7����D��5�#�:��/��A����D��5�#�:��/��A����D��#3�E�#�s�(�O�#3�!4�5�1�	3����D��6�%��S��/�#:�!;�<�F�	H�	
���D��5�#:�5��c��?�#:�!;�<�8�	:����D��5�&��s�C�x��*A�#A�!B�C�M�	O�	
���D��#8�E�#�s�(�O�#8�S�#8�!9�:�6�	8����D��6�%��S��/�#:�C�#?�!@�A�K�	M�	
���D��5�#?�5��c��?�#?�C�#?�!@�A�=�	?����D��5�&��s�C�x��*A�3�#F�!G�H�R�	Tr^c���td�}Gd�dtt|�}|g|��}|jt	|�d�|jt	|d�d�|jt	|t
�d�|jt	|t
tf�d�|t|}|jt	|�d�|jt	|d�d�|jt	|t
�d�|jt	|t
tf�d�|g|�t��}|jt	|�d	�|jt	|d�d
�|jt	|t
�d�|jt	|t
tf�d�|t|tf}|jt	|�d	�|jt	|d�d
�|jt	|t
�d�|jt	|t
tf�d�|tg|��}|jt	|�d
�|jt	|d�d
�|jt	|t
�d�|jt	|t
tf�d�|tt|f}|jt	|�d
�|jt	|d�d
�|jt	|t
�d�|jt	|t
tf�d�|tg|�t��}	|jt	|	�d�|jt	|	d�d�|jt	|	t
�d�|jt	|	t
tf�d�|tt|tf}
|jt	|
�d�|jt	|
d�d�|jt	|
t
�d�|jt	|
t
tf�d�|g|�ttdf��}|jt	|�d�|jt	|d�d�|jt	|t
�d�|jt	|t
tf�d�|t|tttdff}|jt	|�d�|jt	|d�d�|jt	|t
�d�|jt	|t
tf�d�y)Nr�c��eZdZy)�FTypeVarTupleTests.test_variadic_class_alias_repr_is_correct.<locals>.ANr|rkr^r\r�r��r�r^r�zA[typing.Unpack[Ts]]rkr�r�r�zA[typing.Unpack[Ts], int]zA[int]z
A[float, int]zA[float, str, int]zA[int, typing.Unpack[Ts]]z
A[int, float]zA[int, float, str]zA[int, typing.Unpack[Ts], str]zA[int, str]zA[int, float, str, str].z&A[typing.Unpack[Ts], *tuple[str, ...]]zA[*tuple[str, ...]]zA[float, *tuple[str, ...]]zA[float, str, *tuple[str, ...]]z;A[typing.Unpack[Ts], typing.Unpack[typing.Tuple[str, ...]]]z(A[typing.Unpack[typing.Tuple[str, ...]]]z/A[float, typing.Unpack[typing.Tuple[str, ...]]]z4A[float, str, typing.Unpack[typing.Tuple[str, ...]]])
rr#rr�r�r{r�r�r�r)
rWr�r�r�rBrEr�r�r�r�r��J�Ks
             r\�)test_variadic_class_alias_repr_is_correctz;TypeVarTupleTests.test_variadic_class_alias_repr_is_correct�s���
�$�
��*���r�
�#�*�
�c�r�c�F�����D��G�%;�<����D��2��K��1����D��5��N�J�7����D��5�#�:��/��A�
�f�R�j�M�����D��G�%;�<����D��2��K��1����D��5��N�J�7����D��5�#�:��/��A�
�h�r�h�3�h�K�����D��G�%@�A����D��2��K��2����D��5��N�O�<����D��5�#�:��/�1E�F�
�f�R�j�#�o������D��G�%@�A����D��2��K��2����D��5��N�O�<����D��5�#�:��/�1E�F�
�c�h�B�h�K�����D��G�%@�A����D��2��K��2����D��5��N�O�<����D��5�#�:��/�1E�F�
�c�6�"�:�o������D��G�%@�A����D��2��K��2����D��5��N�O�<����D��5�#�:��/�1E�F�
�c�m�B�m��m������D��G�%E�F����D��2��K��7����D��5��N�,@�A����D��5�#�:��/�1J�K�
�c�6�"�:�s�"�#�����D��G�%E�F����D��2��K��7����D��5��N�,@�A����D��5�#�:��/�1J�K�
�#�r�#�E�#�s�(�O�#�$�����D��G�%M�N����D��2��K�)>�?����D��5��N�,H�I����D��5�#�:��/�1R�S�
�f�R�j�&��s�C�x��1�1�2�����D��G�%b�c����D��2��K�)S�T����D��5��N�,]�^����D��5�#�:��/�1g�hr^c	��|jttdz�5Gd�dt�}ddd�td�}|jttdz�5Gd�d|�}ddd�|jtt
�5Gd�dt
t��}ddd�|jtt
�5Gd	�d
t
|��}ddd�|jtt
�5Gd�dt
t|��}ddd�|jtd
�5Gd�dt�}ddd�|jtd�5Gd�dg|���}ddd�|jtd�5Gd�dt|�}	ddd�y#1swY��}xYw#1swY��NxYw#1swY�� xYw#1swY��xYw#1swY��xYw#1swY��xYw#1swY��xYw#1swYyxYw)Nrc��eZdZy)�1TypeVarTupleTests.test_cannot_subclass.<locals>.CNr|rkr^r\rBr�8r�r^rBr�c��eZdZy)�1TypeVarTupleTests.test_cannot_subclass.<locals>.DNr|rkr^r\rEr�<r�r^rEc��eZdZy)�1TypeVarTupleTests.test_cannot_subclass.<locals>.ENr|rkr^r\r�r�>r�r^r�c��eZdZy)�1TypeVarTupleTests.test_cannot_subclass.<locals>.FNr|rkr^r\r�r�@r�r^r�c��eZdZy)�1TypeVarTupleTests.test_cannot_subclass.<locals>.GNr|rkr^r\r�r�Br�r^r�zCannot subclass typing\.Unpackc��eZdZy)�1TypeVarTupleTests.test_cannot_subclass.<locals>.HNr|rkr^r\r�r�Er�r^r�z#Cannot subclass typing.Unpack\[Ts\]c��eZdZy)�1TypeVarTupleTests.test_cannot_subclass.<locals>.INr|rkr^r\r�r�Gr�r^r�c��eZdZy)�1TypeVarTupleTests.test_cannot_subclass.<locals>.JNr|rkr^r\r�r�Ir�r^r�)r�r�r�rr�r�r�r)
rWrBr�rEr�r�r�r�r�r�s
          r\r�z&TypeVarTupleTests.test_cannot_subclass6sx��
�
#�
#�I���/O�
P�'�L�'�Q�
�$�
��
�
#�
#�I�(�>�9�;��B��;��
#�
#�I�/C�
D�'�D��L�'�E�
�
#�
#�I�/C�
D�$�D�"�I�$�E�
�
#�
#�I�/C�
D�+�D����$�+�E�
�
#�
#�I�$E�G�!�F�!�G��
#�
#�I�/U�
V��R��W�
�
#�
#�I�/U�
V�%�F�2�J�%�W�
V�#Q�
P��;�;��E�
D��
D�
D��
D�
D��G�G��W�
V��
V�
V�s_�F)�F6�G�G�;G�5G(�#G4�
H�)F3�6G�G
�G�G%�(G1�4G=�H	c�6�td�}td�}Gd�dtg|���}Gd�dtt|�}|d}|d}|j	|j
d�|j	|j
d�|t}|t}|j	|j
tf�|j	|j
tf�|ttf}	|ttf}
|j	|	j
ttf�|j	|
j
ttf�||}||}|j	|j
|f�|j	|j
|f�|g|��}
|t|}|j	|
j
g|���|j	|j
t|f�||g|��}||t|f}|j	|j
|g|���|j	|j
|t|f�|g|�|��}|t||f}|j	|j
g|�|���|j	|j
t||f�y)Nrr�c��eZdZy)�ATypeVarTupleTests.test_variadic_class_args_are_correct.<locals>.ANr|rkr^r\r�r�Nr�r^r�c��eZdZy)�ATypeVarTupleTests.test_variadic_class_args_are_correct.<locals>.BNr|rkr^r\r�r�Or�r^r�rk)rrr#rr�r�r�r�)rWrr�r�r�rBrEr�r�r�r�r�r�r��L�M�N�O�Ps                   r\�$test_variadic_class_args_are_correctz6TypeVarTupleTests.test_variadic_class_args_are_correctKs4���C�L��
�$�
��#������#�*���r�
�#�*�
�b�E��
�b�E��������R�(�������R�(�
�c�F��
�c�F��������c�V�,�������c�V�,�
�c�3�h�K��
�c�3�h�K��������c�3�Z�0�������c�3�Z�0�
�a�D��
�a�D��������a�T�*�������a�T�*�
�c�r�c�F��
�f�R�j�M��������V�r�V�,�������f�R�j�]�3�
�a�f�"�f�I��
�a����m���������a�X�"�X�.�������a����_�5�
�f�r�f�1�f�I��
�f�R�j�!�m���������X�r�X�1�X�.�������f�R�j�!�_�5r^c�&�td�}Gd�dtg|���}|j|tj|�|j|t
j|�|j|t|j|�Gd�dtt|�}|j|tj|�|j|t
j|�|j|t|j|�y)Nr�c��eZdZy)�BTypeVarTupleTests.test_variadic_class_origin_is_correct.<locals>.CNr|rkr^r\rBr�wr�r^rBc��eZdZy)�BTypeVarTupleTests.test_variadic_class_origin_is_correct.<locals>.DNr|rkr^r\rEr�|r�r^rE)rr#r�r�r�rr)rWr�rBrEs    r\�%test_variadic_class_origin_is_correctz7TypeVarTupleTests.test_variadic_class_origin_is_correctts���
�$�
��#������#��
�
�a��f�'�'��+��
�
�a��d�o�o�q�)��
�
�a��r�
�m�.�.��2�*���r�
�#�*��
�
�a��f�'�'��+��
�
�a��d�o�o�q�)��
�
�a��r�
�m�.�.��2r^c���td�}d|\fd�}|jt|�dt|i�dtt
tf\fd�}|jt|�dttt
tfi�Gd�dtg|���}d|t
tf\fd�}|jt|�dt|t
tfi�y)Nr�r�c��yrbrk�r�s r\�func1zCTypeVarTupleTests.test_get_type_hints_on_unpack_args.<locals>.func1����tr^c��yrbrkr�s r\�func2zCTypeVarTupleTests.test_get_type_hints_on_unpack_args.<locals>.func2�s��Dr^c��eZdZy)�LTypeVarTupleTests.test_get_type_hints_on_unpack_args.<locals>.CustomVariadicNr|rkr^r\�CustomVariadicr��r�r^r�c��yrbrkr�s r\�func3zCTypeVarTupleTests.test_get_type_hints_on_unpack_args.<locals>.func3�s��Tr^�rr�rrr�r�r�r#�rWr�r�r�r�r�s      r\�"test_get_type_hints_on_unpack_argsz4TypeVarTupleTests.test_get_type_hints_on_unpack_args�s���
�$�
��#�"�#�����U��f�f�R�j�%9�:�0�%��S��/�0�����U��f�f�U�3��8�_�.E�%F�G�0�W�S�b�S�\�0�9�.��c��2�9�����U��f�f�^�C��H�5M�.N�%O�Pr^c��td�}d	d�}|jt|d|i��dt|i�d
d�}|jt|�dttt
tfi�Gd�dtg|���}dd�}|jt|d|i��dt|t
tfi�y)Nr�r�c��yrbrkr�s r\r�zJTypeVarTupleTests.test_get_type_hints_on_unpack_args_string.<locals>.func1�s��r^)�localnsc��yrbrkr�s r\r�zJTypeVarTupleTests.test_get_type_hints_on_unpack_args_string.<locals>.func2�s��dr^c��eZdZy)�STypeVarTupleTests.test_get_type_hints_on_unpack_args_string.<locals>.CustomVariadicNr|rkr^r\r�r�r�r^r�c��yrbrkr�s r\r�zJTypeVarTupleTests.test_get_type_hints_on_unpack_args_string.<locals>.func3�s��tr^)r�z*Ts)r�z*tuple[int, str])r�z*CustomVariadic[int, str]rrs      r\�)test_get_type_hints_on_unpack_args_stringz;TypeVarTupleTests.test_get_type_hints_on_unpack_args_string�s���
�$�
��%�����U�T�2�J�7�����,�	.�	3�����U��f�f�U�3��8�_�.E�%F�G�0�W�S�b�S�\�0�;�����U�-=�~�,N�O� �&���S��)A�"B�C�	Er^c�n�td�}|jtg|��jg|���|jtt
|jt
|f�|jtg|�t��jg|�t���|jtt
|tfjt
|tf�|jttg|��jtg|���|jttt
|fjtt
|f�|jttg|�t��jtg|�t���|jttt
|tfjtt
|tf�|jtg|�t��jg|�t���|jtt
|jt
|f�yr�)rr�r�r�rrr�r�r�s  r\�test_tuple_args_are_correctz-TypeVarTupleTests.test_tuple_args_are_correct�s���
�$�
������s��s��,�,�f��f�5�����v�b�z�*�3�3�f�R�j�]�C�����x��x�C�x��1�1�:�R�:��:�>�����v�b�z�3��/�8�8�6�"�:�s�:K�L�����s�x�R�x��1�1�C�:�"�:�>�����s�F�2�J��/�8�8�3��r�
�:K�L�����s�}�R�}��}�-�6�6�����C��	*�����s�F�2�J��3�4�=�=��v�b�z�3�/�	1�	
����x��x�C�x��1�1�:�R�:��:�>�����v�b�z�*�3�3�f�R�j�]�Cr^c	��td�}td�}td�}tg|�df}tt|gdf}|j|jg|�td����|j|jt|td�f�ttg|�df}ttt|gdf}|j|jtg|�td����|j|jtt|td�f�tg|�t�df}tt|tgdf}	|j|jg|�t�td����|j|	jt|ttd�f�ttg|�t�df}
ttt|tgdf}|j|
jtg|�t�td����|j|jtt|ttd�f�tdgg|��}tdgt|f}
|j|jtd�g|���|j|
jtd�t|f�tdgttg|��f}tdgttt|ff}|j|jtd�ttg|��f�|j|jtd�ttt|ff�tdgtg|�t��f}tdgtt|tff}|j|jtd�tg|�t��f�|j|jtd�tt|tff�tdgttg|�t��f}tdgttt|tff}|j|jtd�ttg|�t��f�|j|jtd�ttt|tff�tg|�g|��}tt|gt|f}|j|jg|�|���|j|jt|t|f�tg|�g|��}tt|gt|f}|j|jg|�|���|j|jt|t|f�y)Nr�r�r)
rr"rr�r�r�r�r�r�r)rWr�r�rrr��c�d�erf�g�h�i�j�k�l�m�n�o�p�q�rr��us                        r\�test_callable_args_are_correctz0TypeVarTupleTests.test_callable_args_are_correct�s���
�$�
���5�!���5�!��
�U�r�U�D�[�!���f�R�j�\�4�'�(��������%6�r�%6�4��:�%6�7�������f�R�j�$�t�*�%=�>��c�Z�B�Z��%�&���c�6�"�:�&��,�-��������c�%;�B�%;��T�
�%;�<�������c�6�"�:�t�D�z�%B�C��Z�r�Z�3�Z��%�&���f�R�j�#�&��,�-��������%;�r�%;�3�%;��T�
�%;�<�������f�R�j�#�t�D�z�%B�C��c�_�B�_��_�d�*�+���c�6�"�:�s�+�T�1�2��������c�%@�B�%@��%@�T�$�Z�%@�A�������c�6�"�:�s�D��J�%G�H�
�d�V�[�b�[�!���d�V�V�B�Z�'�(��������d�4�j�%6�2�%6�7�������d�4�j�&��*�%=�>��d�V�U�3�8��8�_�,�-���d�V�U�3��r�
�?�3�3�4��������d�4�j�%���b��/�%B�C�������d�4�j�%��V�B�Z��2H�%I�J��d�V�U�8�B�8��8�_�,�-���d�V�U�6�"�:�s�?�3�3�4��������d�4�j�%����S��/�%B�C�������d�4�j�%��r�
�C��2H�%I�J��d�V�U�3�=��=�S�=�1�1�2���d�V�U�3��r�
�C�#7�8�8�9��������d�4�j�%��
�b�
�#�
�2F�%G�H�������d�4�j�%��V�B�Z��8L�2M�%N�O�
�U�r�U�Z�R�Z� ���f�R�j�\�6�"�:�-�.��������Z�r�Z�B�Z�0�������f�R�j�&��*�%=�>��V�s�V�\�c�\�"���f�S�k�]�F�3�K�/�0��������\�s�\�S�\�2�������f�S�k�6�#�;�%?�@r^c
�x�td�}td�}|jt�5Gd�dtg|�|���}ddd�|jt�5Gd�dtt|t|f�}ddd�|jt�5Gd�dtg|�|�|���}ddd�|jt�5Gd	�d
tt|t|t|f�}ddd�y#1swY��xYw#1swY��xYw#1swY�jxYw#1swYyxYw)Nr�rc��eZdZy)�STypeVarTupleTests.test_variadic_class_with_duplicate_typevartuples_fails.<locals>.CNr|rkr^r\rBr!�r�r^rBc��eZdZy)�STypeVarTupleTests.test_variadic_class_with_duplicate_typevartuples_fails.<locals>.DNr|rkr^r\rEr#�r�r^rEc��eZdZy)�STypeVarTupleTests.test_variadic_class_with_duplicate_typevartuples_fails.<locals>.ENr|rkr^r\r�r%�r�r^r�c��eZdZy)�STypeVarTupleTests.test_variadic_class_with_duplicate_typevartuples_fails.<locals>.FNr|rkr^r\r�r'�r�r^r�)rr�r�r#r)rWr�rrBrEr�r�s       r\�6test_variadic_class_with_duplicate_typevartuples_failszHTypeVarTupleTests.test_variadic_class_with_duplicate_typevartuples_fails�s����5�!���5�!��
�
�
�y�
)�.�G�J�S�J�3�J�'�.�*�
�
�
�y�
)�<�G�F�3�K����4�5�<�*��
�
�y�
)�4�G�,�S�,�3�,��,�-�4�*�
�
�
�y�
)�I�G�F�3�K����f�S�k�A�B�I�*�
)�*�
)��
)�
)��*�
)��
)�
)�s/�D�!#D�!D$�+D0�D�D!�$D-�0D9c��td�}Gd�dtt|�}|tg|��|tt|f|g|�t��|t|tf|tg|�t��|tt|tf|tt
g|�t�t��|tt
t|ttfy)Nr�c��eZdZy)�]TypeVarTupleTests.test_type_concatenation_in_variadic_class_argument_list_succeeds.<locals>.CNr|rkr^r\rBr+r�r^rB)rr#rr�r��boolr{�rWr�rBs   r\�@test_type_concatenation_in_variadic_class_argument_list_succeedszRTypeVarTupleTests.test_type_concatenation_in_variadic_class_argument_list_succeeds�s���
�$�
��*���r�
�#�*�	�#�(��(��	�#�v�b�z�/��	�(�2�(�s�(��	�&��*�c�/��	�#�-��-�C�-��	�#�v�b�z�3�
��	�#�t�
$�b�
$�%�
$��
$�%�	�#�t�V�B�Z���
+�,r^c��td�}ttg|��tg|�t��ttg|�t��tttg|�t
�t��ttt|ftt|tfttt|tftttt|t
tfyr�)rr�r�r�r,r{rrr�s  r\�7test_type_concatenation_in_tuple_argument_list_succeedszITypeVarTupleTests.test_type_concatenation_in_tuple_argument_list_succeedss���
�$�
��
�c�h�B�h��
�h�r�h�3�h��
�c�m�B�m��m��
�c�4�(�"�(�e�(�S�(�)�
�c�6�"�:�o��
�f�R�j�#�o��
�c�6�"�:�s�"�#�
�c�4����U�C�/�0r^c��td�}|jt�5Gd�dt|�}ddd�y#1swYyxYw)Nr�c��eZdZy)�[TypeVarTupleTests.test_variadic_class_definition_using_packed_typevartuple_fails.<locals>.CNr|rkr^r\rBr3r�r^rB)rr�r�r#r-s   r\�>test_variadic_class_definition_using_packed_typevartuple_failszPTypeVarTupleTests.test_variadic_class_definition_using_packed_typevartuple_failss2��
�$�
��
�
�
�y�
)�&�G�B�K�&�*�
)�
)�s	�=�Ac�6�td�}|jt�5Gd�dtg|�t���}ddd�|jt�5Gd�dtt
|tf�}ddd�y#1swY�GxYw#1swYyxYw)Nr�c��eZdZy)�VTypeVarTupleTests.test_variadic_class_definition_using_concrete_types_fails.<locals>.FNr|rkr^r\r�r7#r�r^r�c��eZdZy)�VTypeVarTupleTests.test_variadic_class_definition_using_concrete_types_fails.<locals>.ENr|rkr^r\r�r9%r�r^r�)rr�r�r#r�r)rWr�r�r�s    r\�9test_variadic_class_definition_using_concrete_types_failszKTypeVarTupleTests.test_variadic_class_definition_using_concrete_types_fails so��
�$�
��
�
�
�y�
)�,�G�H�R�H��H�%�,�*�
�
�
�y�
)�3�G�F�2�J��O�,�3�*�
)�*�
)��
)�
)�s�B� B�B�Bc	�N�td�}td�}td�}Gd�dt||g|���}|ttf|ttt
f|ttt
tfGd�dt||t|f�}|ttf|ttt
f|ttt
tfGd�d	t|g|�|���}|ttf|ttt
f|ttt
tfGd
�dt|t||f�}|ttf|ttt
f|ttt
tfGd�d
tg|�|�|���}|ttf|ttt
f|ttt
tfGd�dtt|||f�}	|	ttf|	ttt
f|	ttt
tfy)Nr�r"r#c��eZdZy)�WTypeVarTupleTests.test_variadic_class_with_2_typevars_accepts_2_or_more_args.<locals>.ANr|rkr^r\r�r=,r�r^r�c��eZdZy)�WTypeVarTupleTests.test_variadic_class_with_2_typevars_accepts_2_or_more_args.<locals>.BNr|rkr^r\r�r?1r�r^r�c��eZdZy)�WTypeVarTupleTests.test_variadic_class_with_2_typevars_accepts_2_or_more_args.<locals>.CNr|rkr^r\rBrA6r�r^rBc��eZdZy)�WTypeVarTupleTests.test_variadic_class_with_2_typevars_accepts_2_or_more_args.<locals>.DNr|rkr^r\rErC;r�r^rEc��eZdZy)�WTypeVarTupleTests.test_variadic_class_with_2_typevars_accepts_2_or_more_args.<locals>.ENr|rkr^r\r�rE@r�r^r�c��eZdZy)�WTypeVarTupleTests.test_variadic_class_with_2_typevars_accepts_2_or_more_args.<locals>.FNr|rkr^r\r�rGEr�r^r�)rrr#r�r�r{r,r)
rWr�r"r#r�r�rBrEr�r�s
          r\�:test_variadic_class_with_2_typevars_accepts_2_or_more_argszLTypeVarTupleTests.test_variadic_class_with_2_typevars_accepts_2_or_more_args's���
�$�
��
�T�]��
�T�]��+���B����$�+�	�#�s�(��	�#�s�E�/��	�#�s�E�4�
� �2���B��r�
�*�+�2�	�#�s�(��	�#�s�E�/��	�#�s�E�4�
� �+����R����$�+�	�#�s�(��	�#�s�E�/��	�#�s�E�4�
� �2���F�2�J��*�+�2�	�#�s�(��	�#�s�E�/��	�#�s�E�4�
� �+�����R����$�+�	�#�s�(��	�#�s�E�/��	�#�s�E�4�
� �2���r�
�B��*�+�2�	�#�s�(��	�#�s�E�/��	�#�s�E�4�
� r^c���td�}dt|fd�}d|\fd�}|j|jdt|i�|j|jdg|��di�y)Nr�r�c��yrbrkr�s r\rfzGTypeVarTupleTests.test_variadic_args_annotations_are_correct.<locals>.fMs��$r^c��yrbrkr�s r\rzGTypeVarTupleTests.test_variadic_args_annotations_are_correct.<locals>.gN���4r^r)rrr�r�)rWr�rfrs    r\�*test_variadic_args_annotations_are_correctz<TypeVarTupleTests.test_variadic_args_annotations_are_correctJsb��
�$�
��&�V�B�Z�&��b������*�*�V�V�B�Z�,@�A�����*�*�V�V�r�V�A�Y�,?�@r^c�(�dttdf\fd�}|j|jdgttdf��di�dtt
tdffd�}|j|jdtt
tdfi�y)Nr�.c��yrbrkr�s r\rzUTypeVarTupleTests.test_variadic_args_with_ellipsis_annotations_are_correct.<locals>.aS���r^rc��yrbrkr�s r\r�zUTypeVarTupleTests.test_variadic_args_with_ellipsis_annotations_are_correct.<locals>.bWs��tr^)r�r�r�r�rr)rWrr�s   r\�8test_variadic_args_with_ellipsis_annotations_are_correctzJTypeVarTupleTests.test_variadic_args_with_ellipsis_annotations_are_correctRs���,�e�C��H�o�,�����*�*� �"5�E�#�s�(�O�"5�a�"8�9�	;�	4�V�E�#�s�(�O�,�3�����*�*� �&��s�C�x��"9�:�	<r^c���td�}dttg|��\fd�}|j|jdgttg|����di�dtg|�t��\fd�}|j|jdgtg|�t����di�dtt
g|�t��\fd�}|j|jdgtt
g|�t����di�dtttg|�t�t
��\fd�}|j|jdgtttg|�t�t
����di�dtttt|ffd�}|j|jdtttt|fi�dttt|tffd	�}|j|jdttt|tfi�dttt
t|tffd
�}|j|jdttt
t|tfi�dttttt|tt
ffd�}	|j|	jdttttt|tt
fi�y)Nr�r�c��yrbrkr�s r\rzXTypeVarTupleTests.test_concatenation_in_variadic_args_annotations_are_correct.<locals>.a`rPr^rc��yrbrkr�s r\r�zXTypeVarTupleTests.test_concatenation_in_variadic_args_annotations_are_correct.<locals>.bfrPr^c��yrbrkr�s r\rzXTypeVarTupleTests.test_concatenation_in_variadic_args_annotations_are_correct.<locals>.cls��Tr^c��yrbrkr�s r\rzXTypeVarTupleTests.test_concatenation_in_variadic_args_annotations_are_correct.<locals>.drs��$r^c��yrbrkr�s r\rzXTypeVarTupleTests.test_concatenation_in_variadic_args_annotations_are_correct.<locals>.ez���dr^c��yrbrkr�s r\rfzXTypeVarTupleTests.test_concatenation_in_variadic_args_annotations_are_correct.<locals>.f�rYr^c��yrbrkr�s r\rzXTypeVarTupleTests.test_concatenation_in_variadic_args_annotations_are_correct.<locals>.g�s��4r^c��yrbrkr�s r\rzXTypeVarTupleTests.test_concatenation_in_variadic_args_annotations_are_correct.<locals>.h�s��r^)
rr�r�r�r�r�r,r{rr)
rWr�rr�rrrrfrrs
          r\�;test_concatenation_in_variadic_args_annotations_are_correctzMTypeVarTupleTests.test_concatenation_in_variadic_args_annotations_are_correct[s���
�$�
��	-�e�C�H�"�H�o�,����
���
�(�u�S�X�2�X��(��+�,�	
�
	-�e�H�R�H��H�o�,����
���
�(�u�X�b�X�#�X��(��+�,�	
�
	2�e�C�M�"�M�c�M�*�1����
���
�-�u�S�]�2�]�s�]�+�-�a�0�1�	
�
	?�e�C��6��6�E�6�3�6�7�>����
���
�:�u�S�$�7��7�U�7�C�7�8�:�1�=�>�	
�	;�V�E�#�v�b�z�/�2�3�:����
���
�V�E�#�v�b�z�/�2�3�4�	
�
	;�V�E�&��*�c�/�2�3�:����
���
�V�E�&��*�c�/�2�3�4�	
�
	@�V�E�#�v�b�z�3�"6�7�8�?����
���
�V�E�#�v�b�z�3�"6�7�8�9�	
�
	M�V�E�#�t�V�B�Z���"C�D�E�L����
���
�V�E�#�t�V�B�Z���"C�D�E�F�	
r^c�:�td�}Gd�dtg|���}Gd�dtt|�}|j|t|t�|j|t|t�td�}td�}|j|g|��|g|���|j|t||t|�|j|g|�|��|g|�|���|j|t|t|f|t|t|f�|j|tg|�|��|tg|�|���|j|tt|t|f|tt|t|f�y)Nr�c��eZdZy)�MTypeVarTupleTests.test_variadic_class_same_args_results_in_equalty.<locals>.CNr|rkr^r\rBr`�r�r^rBc��eZdZy)�MTypeVarTupleTests.test_variadic_class_same_args_results_in_equalty.<locals>.DNr|rkr^r\rErb�r�r^rEr�r)rr#rr�r��rWr�rBrEr�rs      r\�0test_variadic_class_same_args_results_in_equaltyzBTypeVarTupleTests.test_variadic_class_same_args_results_in_equalty�s���
�$�
��#������#�*���r�
�#�*�����3���3��(�����3���3��(��5�!���5�!�����
�d�s�d�G�
�d�s�d�G�	
�	
���
�f�S�k�N�
�f�S�k�N�	
�
	
���
�j�s�j�S�j�M�
�j�s�j�S�j�M�	
�	
���
�f�S�k�6�#�;�&�'�
�f�S�k�6�#�;�&�'�	
�
	
���
�c�o�C�o�#�o��
�c�o�C�o�#�o��	
�	
���
�c�6�#�;��s��+�,�
�c�6�#�;��s��+�,�	
r^c��td�}Gd�dtg|���}Gd�dtt|�}|j|tt
f|t
tf�|j|tt
f|t
tf�td�}td�}|j|g|�|��|g|�|���|j|t|t|f|t|t|f�y)Nr�c��eZdZy)�ETypeVarTupleTests.test_variadic_class_arg_ordering_matters.<locals>.CNr|rkr^r\rBrg�r�r^rBc��eZdZy)�ETypeVarTupleTests.test_variadic_class_arg_ordering_matters.<locals>.DNr|rkr^r\rEri�r�r^rEr�r)rr#rr�r�r�rcs      r\�(test_variadic_class_arg_ordering_mattersz:TypeVarTupleTests.test_variadic_class_arg_ordering_matters�s���
�$�
��#������#�*���r�
�#�*����
�c�3�h�K�
�c�3�h�K�	
�	
���
�c�3�h�K�
�c�3�h�K�	
�
�5�!���5�!�����
�j�s�j�S�j�M�
�j�s�j�S�j�M�	
�	
���
�f�S�k�6�#�;�&�'�
�f�S�k�6�#�;�&�'�	
r^c�*�td�}td�}td�}Gd�dtg|���}Gd�dtt|�}|j|g|��|g|���|j|t||t|�y)Nr�r�rc��eZdZy)�RTypeVarTupleTests.test_variadic_class_arg_typevartuple_identity_matters.<locals>.CNr|rkr^r\rBrm�r�r^rBc��eZdZy)�RTypeVarTupleTests.test_variadic_class_arg_typevartuple_identity_matters.<locals>.DNr|rkr^r\rEro�r�r^rE)rr#rr�)rWr�r�rrBrEs      r\�5test_variadic_class_arg_typevartuple_identity_matterszGTypeVarTupleTests.test_variadic_class_arg_typevartuple_identity_matters�s���
�$�
���5�!���5�!��#������#�*���r�
�#�*����A�d�s�d�G�Q�t��t�W�-����A�f�S�k�N�A�f�S�k�N�;r^N)'rhrirjr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr
rrr(r.r0r4r:rHrMrRr]rdrjrprkr^r\r�r�s���G�.�2�+�!�D�0��
1�
?�


�3�FK�P/�<l�"T�@>i�@&�*'6�R3�Q�E� D�(;A�zJ�-� 1�'�
4�!!�FA�<�5
�n$
�L
�4	<r^r�c�<�eZdZed��Zed��Zed��Zy)�TypeVarTuplePicklingTestsc��td�atjtjt|��}|jt|�y)N�
global_Ts1)rrtrs�loads�dumpsr�)rWrq�
global_Ts2s   r\�6test_pickling_then_unpickling_results_in_same_identityzPTypeVarTuplePicklingTests.test_pickling_then_unpickling_results_in_same_identity�s5��"�,�/�
��\�\�&�,�,�z�5�"A�B�
��
�
�j�*�-r^c�8�td�agt��d}tjtj||��}|j||�tt}tjtj||��}|j||�y)N�	global_Tsr)rrzrsrurvr�r)rWrq�	unpacked1�	unpacked2�	unpacked3�	unpacked4s      r\�?test_pickling_then_unpickling_unpacked_results_in_same_identityzYTypeVarTuplePicklingTests.test_pickling_then_unpickling_unpacked_results_in_same_identity�st��!��-�	�!�i�M�!�$�	��L�L����i��!?�@�	��
�
�i��+��9�%�	��L�L����i��!?�@�	��
�
�i��+r^c	��td�atd�atgt��t
ttttgt��t
tttfttgt��t
tttfg}|D]=}tjtj||��}|j||��?y)N�global_Trz)
rr�rrzr�rrrr�rsrurvr�)rWrq�tuples�tr�s     r\�>test_pickling_then_unpickling_tuple_with_typevartuple_equalityzXTypeVarTuplePicklingTests.test_pickling_then_unpickling_tuple_with_typevartuple_equality�s���
�:�&�� ��-�	�
�*�9�*���&��#�$��!�-�i�-� ��!�V�I�&�&�'��#�/�	�/�"��#�v�i�(�(�)�	
���A����f�l�l�1�e�4�5�B����Q��#�r^N)rhrirjryrxrr�rkr^r\rrrr�s>���.��.��
,��
,��$��$r^rrc��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zy)�
UnionTestsc�V�tttf}|j|t�yrb)rr�r{r��rWrs  r\r9zUnionTests.test_basicss ���#�u�*������A�u�%r^c��|jt�5ttt�ddd�|jt�5ttt�ddd�|jt�5tttt
ft�ddd�y#1swY�{xYw#1swY�UxYw#1swYyxYwrb)r�r�rTr�rr�r�s r\�test_subclass_errorzUnionTests.test_subclass_errors{��
�
�
�y�
)��s�E�"�*�
�
�
�y�
)��u�c�"�*�
�
�
�y�
)��u�S�#�X���,�*�
)�	*�
)��
)�
)��
)�
)�s#�B%�B1�:"B=�%B.�1B:�=Cc�d�tt}|j|t�tttf}tttf}tttf}|j||�|j|t�|j|t�|j|t�yrb)rr
r�r��objectr�)rWr�u1�u2�u3s     r\�test_union_anyzUnionTests.test_union_anys����#�J������C� �
�3��8�_��
�3��8�_��
�3��;�
������R� ����B��$����B��$����B��$r^c��tt}|j|t�tttf}tttf}|j||�|j	|t�|j	|t�yrb)rr�r�r�r�)rWrr�r�s    r\�test_union_objectzUnionTests.test_union_object(sg���&�M������F�#�
�3��;�
��
�6�3�;�
������R� ����B��'����B��'r^c�t�tttf}tttf}|j||�yrb)rr�r{r�)rWr�r�s   r\�test_unorderedzUnionTests.test_unordered1s.��
�3��:�
��
�5�#�:�
������R� r^c�J�tt}|j|t�yrb)rr{r�)rWr�s  r\�test_single_class_disappearsz'UnionTests.test_single_class_disappears6s���(�O���
�
�a��"r^c���tttf}|j|t�|j	t|j
�|j	t|j
�yrb)rr{rr�r[r�r�s  r\�test_base_class_keptzUnionTests.test_base_class_kept:sE���(�G�#�$�����A�x�(��
�
�h��
�
�+��
�
�g�q�z�z�*r^c��tttf}t|tf}|j	|ttttf�yrb)rr�r{r{r�)rWr�vs   r\�test_union_unionzUnionTests.test_union_union@s:���#�u�*����!�X�+�������E�#�u�h�"6�7�8r^c�0�Gd�dt�}Gd�d|��}Gd�d|��}|jt||fj||f�t||f}|j	t
�5t
|�ddd�tt|f}|j	t
�5t
|�ddd�t|tf}|j	t
�5t
|�ddd�y#1swY�zxYw#1swY�NxYw#1swYyxYw)Nc��eZdZdZy)�;UnionTests.test_union_of_unhashable.<locals>.UnhashableMetaN�rhrirj�__hash__rkr^r\�UnhashableMetar�F����Hr^r�c��eZdZy)�.UnionTests.test_union_of_unhashable.<locals>.ANr|rkr^r\r�r�Ir�r^r���	metaclassc��eZdZy)�.UnionTests.test_union_of_unhashable.<locals>.BNr|rkr^r\r�r�Jr�r^r�)r�r�rr�r�r��hashr�)rWr�r�r��union1�union2�union3s       r\�test_union_of_unhashablez#UnionTests.test_union_of_unhashableEs���	�T�	�	/�.�.�.�.�.�����q�!�t��-�-��1�v�6��q�!�t���
�
�
�y�
)���L�*��s�A�v���
�
�
�y�
)���L�*��q�#�v���
�
�
�y�
)���L�*�
)�*�
)��*�
)��*�
)�s$�/C4�'D�D�4C=�D	�Dc�J�|jtt�d�tttf}|jt|�dt
z�tttf}|jt|�dt
z�t
d�}t|tft}|jt|�tt��ttttf}|jt|�d�ttttttff}|jt|�d�tttz}|jt|�d�tdtf}|jt|�d�ttdf}|jt|�d�tdttf}|jt|�d	�tt}|jt|�d�y)
Nztyping.Unionztyping.Union[%s.Employee, int]ztyping.Union[int, %s.Employee]rz#typing.Union[typing.List[int], int]z)typing.Union[list[int], dict[str, float]]ztyping.Union[int, float]ztyping.Optional[str]z typing.Union[NoneType, str, int])
r�r�rr{r�rhrrr�r&r�r{r)rWrrs   r\r�zUnionTests.test_reprYs�������e��n�5��(�C�-� ������a��"B�X�"M�N��#�x�-� ������a��"B�X�"M�N��C�L���!�S�&�M�#�������a��$�s�)�,��$�s�)�S�.�!������a��"G�H��$�s�)�T�#�u�*�-�-�.������a��"M�N��#��+�������a��"<�=��$��)�������a��"8�9��#�t�)�������a��"8�9��$��S�.�!������a��"D�E��S�M������a��"8�9r^c���tttttf��}dD]/}|j|��5|j
||�ddd��1y#1swY�<xYwrU)rYrZrr�r�rur[r\s   r\r^zUnionTests.test_dirrsT����E�#�s�(�O�,�-�	�
�M����M��:��
�
�m�Y�7�;�:�
�;�:�s�A�A$	c��|jtd�5Gd�dt�}ddd�|jtt�5Gd�dt	t��}ddd�|jtd�5Gd�dtt
tf�}ddd�y#1swY��xYw#1swY�QxYw#1swYyxYw)	NzCannot subclass typing\.Unionc��eZdZy)�*UnionTests.test_cannot_subclass.<locals>.CNr|rkr^r\rBr�}r�r^rBc��eZdZy)�*UnionTests.test_cannot_subclass.<locals>.DNr|rkr^r\rEr��r�r^rEz)Cannot subclass typing\.Union\[int, str\]c��eZdZy)�*UnionTests.test_cannot_subclass.<locals>.ENr|rkr^r\r�r��r�r^r�)r�r�rr�r�r�r�)rWrBrEr�s    r\r�zUnionTests.test_cannot_subclasszs���
�
#�
#�I�0�2�
�E�
�2��
#�
#�I�/C�
D�
�D��K�
�E��
#�
#�I�<�>�
�E�#�s�(�O�
�>�>�2�2��E�
D��>�>�s#�B&�	B2�B>�&B/�2B;�>Cc���|jt�5t�ddd�|jt�5tt��ddd�ttt
f}|jt�5|�ddd�|jt�5t|��ddd�y#1swY��xYw#1swY�|xYw#1swY�PxYw#1swYyxYwrb)r�r�rr�r�r{r�s  r\r�z"UnionTests.test_cannot_instantiate�s���
�
�
�y�
)��G�*�
�
�
�y�
)��D��K�M�*��#�u�*���
�
�
�y�
)�
�C�*�
�
�
�y�
)��D��G�I�*�
)�*�
)��
)�
)��*�
)��
)�
)�s.�C�C�C�(C&�C�C�C#�&C/c�8�|jtttjt
ftk(�|jtttjt
ftjt
k(�|j
ttttjt
fj�|j
tjt
tttjt
fj�yrb)r�rr�rc�Iterabler�r[r�r�s r\�test_union_generalizationz$UnionTests.test_union_generalization�s�������s�F�O�O�C�$8�8�9�S�@�A�����s�F�O�O�C�$8�8�9�V�_�_�S�=Q�Q�R��
�
�c�5��f�o�o�c�&:�!:�;�D�D�E��
�
�f�o�o�c�*�E�#�v���s�7K�2K�,L�,U�,U�Vr^c��|jtt�|jtt�|jtt�|jt
t�|jdgt
�|jt
tj�|jt
tjt�yrb)	r�rr�r
r$rrc�Mappingr!r�s r\�test_union_compare_otherz#UnionTests.test_union_compare_other�s������E�6�*����E�3�'����H�e�,����H�e�,����T�F�H�-����H�f�n�n�5����H�V�%:�%:�;�U�Cr^c�`�tt}ttdf}|j||�yrb)rr�rr�)rWrrs   r\�
test_optionalzUnionTests.test_optional�s)���S�M���#�t�)�������A�r^c�j�|jt�5tdddd�y#1swYyxYw�Nrk)r�r�rr�s r\�
test_emptyzUnionTests.test_empty�s#��
�
�
�y�
)��"�I�*�
)�
)���
)�2c�r�tttf}d|fd�}|jt	|�d|�y)Nr�c��yrbrkr�s r\rfz(UnionTests.test_no_eval_union.<locals>.f����Sr^)rr�r�r�r+)rWrrfs   r\�test_no_eval_unionzUnionTests.test_no_eval_union�s/���#�s�(�O������
�
�n�Q�'��,�a�0r^c�h�dtfd�}|jtt|tf�d�y)Nr�c��yrbrkrkr^r\�funz0UnionTests.test_function_repr_union.<locals>.fun�s��#r^ztyping.Union[fun, int])r�r�r�r)rWr�s  r\�test_function_repr_unionz#UnionTests.test_function_repr_union�s(���S������e�C��H�o�.�0H�Ir^c�.�tttf}|yrb)rr�r>r�s  r\�test_union_str_patternz!UnionTests.test_union_str_pattern�s���#�w�,���	r^c�X��ddlm�t�tf�fd�}t|tfy)Nr)�Elementc����|�Srbrk)r�r�s �r\�Elemz#UnionTests.test_etree.<locals>.Elem�s
����D�>�!r^)�xml.etree.ElementTreer�rr�)rWr�r�s  @r\�
test_etreezUnionTests.test_etree�s'���	2�
�g�s�l��	"�	�d�C�i�r^c���|jttdtdfjtdtdf�|jttdtdftd�|jttdtdfjtdtdf�|jttdtdfjtdtdf�ddl}Gd�d|j
�}|jtt|jt|jft|j�|jtt|jt|jft|j�|jtt|jt|jfjt|jt|jf�|jttdt|jtdfjtdt|jtdf�|jttdt|jtdfjtdt|jtdf�y)Nrnr�FrTc��eZdZdZdZy)�/UnionTests.test_union_of_literals.<locals>.IntsrrnN�rhrirjr�r�rkr^r\�Intsr������A��Ar^r�)r�rrr��enum�IntEnumr�r�)rWr�r�s   r\�test_union_of_literalsz!UnionTests.test_union_of_literals�s<������w�q�z�7�1�:�5�6�?�?�!�!�*�g�a�j�1�	3�����w�q�z�7�1�:�5�6� ���	%�	
����w�u�~�w�q�z�9�:�C�C�!�%�.�'�!�*�5�	7�����w�t�}�g�a�j�8�9�B�B�!�$�-����4�	6�	�	�4�<�<�	�	
����w�t�v�v�������?�@� �����	*�����w�t�v�v�������?�@� �����	*�	
����w�t�v�v�������?�@�I�I�!�$�&�&�/�7�4�6�6�?�;�	=�	
����w�q�z�7�4�6�6�?�G�E�N�J�K�T�T�!�!�*�g�d�f�f�o�w�u�~�F�	H�����w�q�z�7�4�6�6�?�G�D�M�I�J�S�S�!�!�*�g�d�f�f�o�w�t�}�E�	Gr^N)rhrirjr9r�r�r�r�r�r�r�r�r�r^r�r�r�r�r�r�r�r�r�r�r�rkr^r\r�r�st��&�-�	%�(�!�
#�+�9�
�(:�28��	�W�D��
�1�
J�
�

�Gr^r�c�0�eZdZd�Zd�Zd�Zd�Zd�Zd�Zy)�
TupleTestsc��|jt�5ttttt
f�ddd�|jt�5ttttt
f�ddd�Gd�dt�}|jtt�|j|t�y#1swY��xYw#1swY�UxYw)Nc��eZdZy)�"TupleTests.test_basics.<locals>.TPNr|rkr^r\�TPr��r�r^r�)r�r�rTrr�r�r�r])rWr�s  r\r9zTupleTests.test_basics�s���
�
�
�y�
)��u�e�C��H�o�.�*�
�
�
�y�
)��u�e�C��H�o�.�*�	������e�U�+����b�%�(�*�
)��
)�
)�s�"B?�"C�?C�Cc�\�|jtttt�|jttdfttdf�|jtttttf�|jttttdf�y�N.)r�rr�r�r�s r\r�zTupleTests.test_equality�sr������s��U�3�Z�0�����s�C�x��%��S��/�:����E�#�J��c�3�h��8����E�#�J��c�3�h��8r^c��Gd�dt�}|j|t�|jtt�|jtt�y)Nc��eZdZy)�/TupleTests.test_tuple_subclass.<locals>.MyTupleNr|rkr^r\�MyTupler�����r^r�)r�r]r)rWr�s  r\�test_tuple_subclasszTupleTests.test_tuple_subclass�s>��	�e�	����g�u�-����e�U�+����e�U�+r^c��|jt�5tdtttf�ddd�|jdt�y#1swY� xYw)N)rr)r�r�r�rr�r�r�s r\�test_tuple_instance_type_errorz)TupleTests.test_tuple_instance_type_error�s@��
�
�
�y�
)��v�u�S�#�X��/�*����f�e�,�*�
)�s�A�Ac��|jtt�d�|jttd�d�|jttttf�d�|jtttdf�d�|jttt
t�d�y)Nztyping.Tuplerkztyping.Tuple[()]ztyping.Tuple[int, float].ztyping.Tuple[int, ...]ztyping.Tuple[list[int]])r�r�rr�r{r�r�s r\r�zTupleTests.test_reprs�������e��n�5�����e�B�i��*<�=�����e�C��J�/�0�2L�M�����e�C��H�o�.�0H�I�����e�D��I�.�/�1J�Kr^c��|jt�5tdt�ddd�|jt�5tdtt�ddd�y#1swY�?xYw#1swYyxYwr�)r�r�rTrr�r�s r\r�zTupleTests.test_errorssS��
�
�
�y�
)��r�5�!�*�
�
�
�y�
)��r�5��:�&�*�
)�*�
)��
)�
)�s�A%�A1�%A.�1A:N)	rhrirjr9r�r�r�r�r�rkr^r\r�r��s!��)�9�,�-�
L�'r^r�c��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zy)�BaseCallableTestsc�$�|j}|jt�5ttj
|tgtf�ddd�|jtj
|�|j||�y#1swY�<xYwrb)r"r�r�rT�types�FunctionTyper�r]�rWr"s  r\�test_self_subclassz$BaseCallableTests.test_self_subclasssh���=�=��
�
�
�y�
)��u�)�)�8�S�E�3�J�+?�@�*����e�0�0�(�;����h��1�*�
)�s�)B�Bc�,�|j}|tgtf}|j||tgtf�|jt||tgtfh�d�|j	||tgt
f�|j	||t
gtf�|j	||ttgtf�|j	||gtf�|j	||dtf�|j	||�y)Nrn.)r"r�r�rr�r�)rWr"rBs   r\�test_eq_hashzBaseCallableTests.test_eq_hashs����=�=���c�U�C�Z� ������H�c�U�C�Z�0�1�����a��3�%��*�!5�6�7��;����A�x���s�
�3�4����A�x���s�
�3�4����A�x��c�
�C��8�9����A�x��C��0�1����A�x��S��1�2����A�x�(r^c���|j}tt|dtf��}dD]/}|j	|��5|j||�ddd��1y#1swY�<xYw)N.rVrW)r"rYrZr�rur[)rWr"r]rXs    r\r^zBaseCallableTests.test_dir#s^���=�=����H�S�#�X�.�/�0�	�
�M����M��:��
�
�m�Y�7�;�:�
�;�:�s�A�A(	c���|j}|jt�5|�ddd�|jt�5t|��ddd�|tgt
f}|jt�5|�ddd�|jt�5t|��ddd�y#1swY��xYw#1swY�yxYw#1swY�PxYw#1swYyxYwrb)r"r�r�r�r�r�)rWr"rs   r\r�z)BaseCallableTests.test_cannot_instantiate,s����=�=��
�
�
�y�
)��J�*�
�
�
�y�
)��D��N��*��c�U�C�Z� ��
�
�
�y�
)�
�C�*�
�
�
�y�
)��D��G�I�*�
)�*�
)��
)�
)��*�
)��
)�
)�s/�C�C�C�*C(�C
�C�C%�(C1c��|j}|jt�5|tddd�y#1swYyxYwrb)r"r�r�r�r�s  r\�test_callable_wrong_formsz+BaseCallableTests.test_callable_wrong_forms8s,���=�=��
�
�
�y�
)��S�M�*�
)�
)�s�
5�>c�j�|j}d�}|j||�|jd|�y)Nc��yrbrkrkr^r\rfz9BaseCallableTests.test_callable_instance_works.<locals>.f?���r^)r"r�r��rWr"rfs   r\�test_callable_instance_worksz.BaseCallableTests.test_callable_instance_works=s0���=�=��	����a��*�� � ��x�0r^c�
�|j}d�}|jt�5t||gdf�ddd�|jt�5t||gtf�ddd�|jt�5td|gdf�ddd�|jt�5td|gtf�ddd�y#1swY��xYw#1swY�xxYw#1swY�UxYw#1swYyxYw)Nc��yrbrkrkr^r\rfz>BaseCallableTests.test_callable_instance_type_error.<locals>.fFr�r^)r"r�r�r�r
r�s   r\�!test_callable_instance_type_errorz3BaseCallableTests.test_callable_instance_type_errorDs����=�=��	�
�
�
�y�
)��q�(�2�t�8�,�-�*�
�
�
�y�
)��q�(�2�s�7�+�,�*�
�
�
�y�
)��t�X�b�$�h�/�0�*�
�
�
�y�
)��t�X�b�#�g�.�/�*�
)�
*�
)��
)�
)��
)�
)��
)�
)�s/�C�C!�C-�6C9�C�!C*�-C6�9Dc��|j}|j�d�}|gtf}|jt	|�|�d��|t
tgtf}|jt	|�|�d��|dt
f}|jt	|�|�d��|t
tgttf}|jt	|�|�d��y)N�	.Callablez
[[], bool]z[[str, float], int].z
[..., str]z[[str, float], list[int]])	r"rir,r�r�r�r{r�r�)rWr"�fullname�ct0�ct2�ctv�ct3s       r\r�zBaseCallableTests.test_reprQs����=�=���)�)�*�)�4���r�4�x� ������c��x�j�
�$;�<���U�|�S�(�)������c��x�j�0C�$D�E��s�C�x� ������c��x�j�
�$;�<���U�|�T�#�Y�.�/������c��x�j�0I�$J�Kr^c��|j}d|dtffd�}|jt|t	�t��d|dtfi�y)Nr.c��yrbrk�rs r\rkz:BaseCallableTests.test_callable_with_ellipsis.<locals>.foo_r�r^)r"rr�r+�globals�locals)rWr"rks   r\�test_callable_with_ellipsisz-BaseCallableTests.test_callable_with_ellipsis]sP���=�=��	�8�C��F�#�	�	
�����W�Y���A��x��Q��/�0�	2r^c�T�|j}tj|dtfyr�)r"rcrr�r�s  r\�test_ellipsis_in_genericz*BaseCallableTests.test_ellipsis_in_generices ���=�=�����H�S�#�X�&�'r^c��|j}|j|tzt|tf�|jt|ztt|f�yrb)r"r�rrr�s  r\�test_or_and_rorz!BaseCallableTests.test_or_and_rorjsG���=�=������E�)�5��5��+A�B������)�5����+A�Br^c��|j}|ttgtf}|tj
jur |j
|tj�|j|jtj
j�|j|jtttf�|j|jd�yr�)r"r�r�r{�collections�abcr�r��GenericAliasr�r�r�r�r��rWr"rs   r\�
test_basiczBaseCallableTests.test_basicos����=�=���#�s��U�*�+���{���/�/�/��!�!�%��);�);�<��
�
�e�&�&����(@�(@�A�������#�s�E�):�;�����-�-�r�2r^c��|j}|ttgtf}|j	tj|��|�yrb)r"r�r�r{r�r��refrs   r\�test_weakrefzBaseCallableTests.test_weakrefxs=���=�=���#�s��U�*�+�����+����U�+�-�u�5r^c��|j}td�atd�atd�a|ttgtf|ttf|ttf|tttftf|tgt�t��tfg}|D]�}ttjdz�D]�}|j||��5tj||�}tj |�}|j#|j$|j$�|j#|j&|j&�|j#|j(|j(�ddd�����bbby#1swY��xYw)N�T_pickle�P_pickle�	TS_picklern)rrq)r"rrrEr rr!r�r�r{rFrrrsrtrurvrur�r�r�r�)rWr"�samplesrrqr��loadeds       r\�test_picklezBaseCallableTests.test_pickle}sL���=�=���:�&���Z�(�� ��-�	�
�c�3�Z��&�'��X�s�]�#��X�x�'�(��[��h��/��4�5��[�!5�)�!5�X�!5�6��;�<�
���E��v�6�6��:�;���\�\��U�\�;����U�E�2�A�#�\�\�!�_�F��$�$�U�%5�%5�v�7H�7H�I��$�$�U�^�^�V�_�_�E��$�$�U�%9�%9�6�;P�;P�Q�<�;�<��
�h�	�<�;�s
�BE>�>Fc��|j}|j�d�}|ttgtf}|ttgt
f}|dtf}|j
|t|ttgtf�|j
|d|ttd�gtd�f�|j
|tttf|ttgtf�|j
|t|dtf�|j
|t|dtf�|tt
tf}|j
t|�|�d��|j
t|t�|�d��|j
|t|ttgtf�|tjttttft
gtf}|j
|tttf|tjttttftgtf�y)Nr.z[[int, ~VT], str]z[[int, dict], str])r"rir�rrrr�r�r�r{rr�r&rcrr�)rWr"r�C1�C2�C3�C4�C5s        r\r�z'BaseCallableTests.test_var_substitution�s����=�=���)�)�*�)�4��
�s�A�h��k�
"��
�r�1�g�r�k�
"��
�c�1�f�
������C��(�C��:�s�?�";�<�����D��8�S�$�t�*�,=�t�D�z�,I�#J�K�����C���O�,�h��U�|�S�7H�.I�J�����C��(�3��8�"4�5�����H��x��X�
�'>�?���R���
������b��h�Z�/@�#A�B�����b��h��H�:�5G�)H�I�����D��8�S�$�K��,<�#=�>��v�{�{�1�~�u�R��U�|�R�8�#�=�
>������C��e�O�,�!�6�;�;�s�#3�U�3��8�_�e�"L�c�"Q�R�	Tr^c���|j}td�}td�}d}|jt|�5|||fdt
fddd�y#1swYyxYw)Nr�rzAExpected a list of types, an ellipsis, ParamSpec, or Concatenate.r)r"rErr�r�r�)rWr"r�r�pats     r\�test_type_subst_errorz'BaseCallableTests.test_type_subst_error�sR���=�=���c�N���C�L��Q��
�
#�
#�I�s�
3��Q��T�N�1�c�6�"�4�
3�
3�s�A�Ac���|j}Gd�d|�}|tgtf}|j|�j|�|j|�j|tgtf�y)Nc��eZdZd�Zy)�/BaseCallableTests.test_type_erasure.<locals>.C1c��yrbrkr�s r\�__call__z8BaseCallableTests.test_type_erasure.<locals>.C1.__call__����r^N�rhrirjr2rkr^r\r&r0�s��
r^r&)r"r�rr�r�r��__orig_class__)rWr"r&rs    r\�test_type_erasurez#BaseCallableTests.test_type_erasure�s^���=�=��	��	�
��u�a�x�L���
�
�a�c�m�m�R�(������+�+�R���q��\�:r^c���|j}|j�d�}td�}td�}||tf}|j	|t
gtf|t
gtf�|j	|t
tgtf|t
tgtf�|j	|gtf|gtf�|j	|dtf|dtf�|j	||tf||tf�|j	|tt
|ftf|tt
|ftf�|j	t|�|�d��|j	t|t
tgtf�|�d��|jt�5|t
tfddd�||t
f}|j	|t
g|t
gt
f�|j	|t
tg|t
tgt
f�|j	|g|gt
f�|j	|d|dt
f�|j	||||t
f�|j	|tt
|f|tt
|ft
f�|j	|t
|t
gt
f�|j	|t
tf|t
tgt
f�|j	t|�|�d��|j	t|t
tf�|�d��y#1swY���xYw)	Nrr��P2.z[~P, ~T]z[[int, str], str]z	[~P, int]z[[int, str], int])r"rirErr�r�r�rFr�r�r�)rWr"rr�r8r&r's       r\�test_paramspecz BaseCallableTests.test_paramspec�s����=�=���)�)�*�)�4���c�N��
�t�_��
�a��d�^������S�E�3�J���3�%��*�)=�>�����S�#�J��O�,�h��S�z�3��.G�H�����B��G��h�r�3�w�&7�8�����C��H��x��S��'9�:�����B��G��h�r�3�w�&7�8�����K��R��0�#�5�6�!�+�c�2�g�"6��";�<�	>�����b��h�Z�x�#8�9�����b�#�s��S��1�2�x�j�@Q�4R�S�
�
�
�y�
)��s�C�x�L�*��a��f�
������S�E��H�c�U�C�Z�$8�9�����S�#�J���3��*�c�/�)B�C�����B���"�c�'�!2�3�����C��(�3��8�"4�5�����B���"�c�'�!2�3�����K��R��0�1�!�+�c�2�g�"6��";�<�	>�	
����C��(�C�5�#�:�"6�7�����C��H��x��c�
�C��'@�A�����b��h�Z�y�#9�:�����b��c��l�+��z�9J�-K�L�!*�
)�s�1M#�#M-c��|j}|j�d�}td�}td�}td�}|tt
|f|f}|j
t|�|�d��|j
||t
f|tt
|ft
f�|j
|ttgt
f|t
ttgt
f�|j
|gt
f|t
gt
f�|j
|tt|ft
f|tt
t|ft
f�|j
|dt
f|tt
dft
f�|tt
|ft
f}|j
t|�|�d��|j
|||tt
|ft
f�|j
|ttg|t
ttgt
f�|j
|ttf|t
ttgt
f�|j
|g|t
gt
f�|j
|tt|f|tt
t|ft
f�|j
|d|tt
dft
f�y)Nrrr�r8z![typing.Concatenate[int, ~P], ~T].z"[typing.Concatenate[int, ~P], int])
r"rirrErFr�r�r�r�r{)rWr"rrr�r8rBs       r\�test_concatenatez"BaseCallableTests.test_concatenate�s����=�=���)�)�*�)�4���C�L���c�N��
�t�_���[��a��(�!�+�,������a��$�:�%F�G�	I�����2�s�7��X�k�#�r�'�.B�C�.G�%H�I�����C��<��,�-�x��c�5�8I�3�8N�/O�P�����2�s�7��X�s�e�S�j�%9�:�����;�s�B�w�/��4�5�!�+�c�3��l�";�S�"@�A�	C�����3��8��h�{�3��8�/D�c�/I�&J�K��[��a��(�#�-�.������a��$�:�%G�H�	J�����2����S�"�W�)=�s�)B� C�D�����C��<��(�C��e�3D�c�3I�*J�K�����3��:���#�s�E�1B�C�1G�(H�I�����2���#���� 4�5�����;�s�B�w�/�0�!�+�c�3��l�";�S�"@�A�	C�����3���+�c�3�h�*?��*D�!E�Fr^c	�n�|j}td�}td�}td�}td�}td�}Gd�dt||f�}|j|j||f�|t|g|||ff}|j|jt|f|||ff�|j|j||f�|j|ttttgf|ttg|tttgtff�|||gtft|gtf}	|j|	j||gtft|ftf�|j|	j|f�|j|	tt||ttgtftttgtf�||||f|g|f}
|j|
j|||f|f|f�|j|
j||f�|j|
gtf||gtftgtf�|j|
ttgtf||ttgtftgtf�|j|
ttg|ft||ttgtftgtf�||tg|�t�|f|g|f}|j|j|tg|�t�|f|f|f�|j|j||f�|j|tttf||ttttgtftgtf�y)Nr�r8rr#r�c��eZdZy)�3BaseCallableTests.test_nested_paramspec.<locals>.MyNr|rkr^r\�Myr>	r�r^r?)r"rErrr#r�r�r�r�r�r�r�r,r{)rWr"r�r8rr#r�r?r&r'r(r)s            r\�test_nested_paramspecz'BaseCallableTests.test_nested_paramspec�s����=�=���c�N��
�t�_���C�L��
�T�]��
�$�
��	���A���	�	
����*�*�Q��F�3�
��b�	�8�B��F�+�+�
,���������R�y�(�2�r�6�2B�&C�D�����*�*�R��H�5�����C�$�s�)�U�!3�3�4��S�#�J��$�s�)�U�1C�S�1H�(I�I�J�	L���2�$��)�$�d�2�h�/��4�
5���������"��s��(;�T�"�X�'F��&L�M�����*�*�R�E�2�����D��I���X�t�C�y�k�3�&6�7��d�3�i��I�3�N�O�	Q���"�b�&�!�2�&��*�
+����������R��(8�"�'=�r�&B�C�����*�*�R��H�5�����B��G���X�b�#�g�.��4�c�9�:�	<�����S�$�K��,�-��X�s�D�k�3�&6�7��=�s�B�C�	E�����S�$�K��N�+�C�0��X�s�D�k�3�&6�7��=�s�B�C�	E���3�/��/�S�/�2�-�.��3�R�7�
8���������#����C��"�1D�(E�r�'J�B�&O�P�����*�*�R��H�5�����D�%��.�/��X�s�D�%��&=�u�&D�E�u�M�u�T�U�	Wr^c��|j}|ttgtf}|j	t
d�5|tddd�t
d�}||tf}|j	t
d�5|tttfddd�|j	t
d�5|tddd�y#1swY�{xYw#1swY�>xYw#1swYyxYw)Nzis not a generic classr��many arguments for�few arguments for)r"r�r�r{r�r�rEr)rWr"rr�r&s     r\r�zBaseCallableTests.test_errors(	s����=�=���#�s��U�*�+��
�
#�
#�I�/G�
H��#�J�I��c�N��
�a��d�^��
�
#�
#�I�/C�
D��s�C��}��E�
�
#�
#�I�/B�
C��s�G�D�
C�
I�
H��E�
D��
C�
C�s#�
B<�6C�)
C�<C�C�CN)rhrirjr�r�r^r�r�rrr�rrrrrr$r�r-r6r9r;r@r�rkr^r\r�r�ss��2�
)�8�
��
1�0�
L�2�(�
C�
3�6�
*�2T�0#�;� M�DG�6(W�T
r^r�c�*�eZdZejZd�Zy)�TypingCallableTestsc�`�tjttgtf}t
jjttgtf}|j|j|j�|jt|j�t|j��yrb)
rcr"r�r�r&rrr�r�r�)rW�c1�c2s   r\�test_consistencyz$TypingCallableTests.test_consistency7	sr���_�_�c�3�Z��-�
.��
�_�_�
%�
%�s�C�j�$�&6�
7��������b�k�k�2�����b�k�k�*�D����,=�>r^N)rhrirjrcr"rIrkr^r\rErE4	s�����H�?r^rEc�8�eZdZejj
Zy)�CollectionsCallableTestsN)rhrirjrrr"rkr^r\rKrK@	s�����'�'�Hr^rKc�f�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zy)�LiteralTestsc��tdtdtdtdtdtdttdtdftdy)	Nrn�rnr���r�r��zT)rn�2Fr����)sfoor*)rr�s r\r9zLiteralTests.test_basicsE	sL����
�����
����
���
��
�����
�w�t�}�,�-���r^c��ddl}Gd�d|j�}|jt|jj
|jf�y)Nrc��eZdZdZy)�"LiteralTests.test_enum.<locals>.Myr�N)rhrirjr�rkr^r\r?rYR	s���Ar^r?)r��Enumr�rr�r�)rWr�r?s   r\�	test_enumzLiteralTests.test_enumP	s;���	����	�	
��������/�/�"�$�$��9r^c�b�tttdtddd�tty)N)y@@.rkrPrU�rkr*)rr�rr�s r\�3test_illegal_parameters_do_not_raise_runtime_errorsz@LiteralTests.test_illegal_parameters_do_not_raise_runtime_errorsW	s'��	����� ���!�$�%���
r^c�D�ttdttdy)NrO)rkr*�baz)rrr�s r\� test_literals_inside_other_typesz-LiteralTests.test_literals_inside_other_types_	s���W�W�
���W�*�
+�,r^c��|jttd�d�|jttd�d�|jttt�d�|jtt�d�|jttd�d�|jttd�d	�y)
Nrnztyping.Literal[1])rnTrkztyping.Literal[1, True, 'foo']ztyping.Literal[int]ztyping.Literalztyping.Literal[None]�rnr�rPrPztyping.Literal[1, 2, 3])r�r�rr�r�s r\r�zLiteralTests.test_reprc	s�������g�a�j�)�+>�?�����g�n�5�6�8X�Y�����g�c�l�+�-B�C�����g��(8�9�����g�d�m�,�.D�E�����g�j�1�2�4M�Nr^c��tttd��}dD]/}|j|��5|j	||�ddd��1y#1swY�<xYw)NrOrVrW)rYrZrrur[r\s   r\r^zLiteralTests.test_dirk	sQ����G�G�,�-�.�	�
�M����M��:��
�
�m�Y�7�;�:�
�;�:�s�A�A	c���|jt�5t�ddd�|jt�5td�ddd�|jt�5tt��ddd�|jt�5ttd��ddd�y#1swY��xYw#1swY�}xYw#1swY�WxYw#1swYyxYwrK)r�r�rr�r�s r\rIzLiteralTests.test_cannot_inits	s���
�
�
�y�
)��I�*�
�
�
�y�
)��A�J�L�*�
�
�
�y�
)��D��M�O�*�
�
�
�y�
)��D������*�
)�
*�
)��
)�
)��
)�
)��
)�
)�s.�B<�C�)C�C �<C�C�C� C)c��|jt�5tdtd�ddd�|jt�5tttd�ddd�|jt�5tdtd�ddd�|jt�5tttd�ddd�y#1swY��xYw#1swY�|xYw#1swY�WxYw#1swYyxYwrK)r�r�r�rr�rTr�s r\� test_no_isinstance_or_issubclassz-LiteralTests.test_no_isinstance_or_issubclass}	s���
�
�
�y�
)��q�'�!�*�%�*�
�
�
�y�
)��s�G�A�J�'�*�
�
�
�y�
)��q�'�!�*�%�*�
�
�
�y�
)��s�G�A�J�'�*�
)�
*�
)��
)�
)��
)�
)��
)�
)�s/�C�C�<C&�-C2�C�C#�&C/�2C;c���|jt�5Gd�dtd�}ddd�|jt�5Gd�dt�}ddd�y#1swY�7xYw#1swYyxYw)Nc��eZdZy)�-LiteralTests.test_no_subclassing.<locals>.FooNr|rkr^r\r�rj�	r�r^r�rnc��eZdZy)�-LiteralTests.test_no_subclassing.<locals>.BarNr|rkr^r\r�rl�	r�r^r��r�r�r�rWr�r�s   r\�test_no_subclassingz LiteralTests.test_no_subclassing�	sO��
�
�
�y�
)�'�g�a�j�'�*�
�
�
�y�
)�$�g�$�*�
)�*�
)��
)�
)�s�A�A+�A(�+A4c�p�|jt�5tddddd�y#1swYyxYwrKrmr�s r\�test_no_multiple_subscriptsz(LiteralTests.test_no_multiple_subscripts�	s'��
�
�
�y�
)��A�J�q�M�*�
)�
)�s�
,�5c�D�|jtdtd�|jtdtd�|jtdtd�|jtdtd�|jtdtd�|jtdtd	�|jtdtd�|jtdtd
�|jtdtd�y)
NrFTrnr�)rnT)rnrnr��Tr��r�rnrOrc)r�rr�r�s r\�
test_equalzLiteralTests.test_equal�	s������G�A�J����7����G�D�M�7�1�:�6����G�A�J���
�3����G�G�,�g�a�j�9����G�G�,�g�d�m�<����G�D�M�7�7�+;�<�������W�Q�Z�0���������
�6������)�7�:�+>�?r^c�0�|jttd�ttd��|jttd�ttd��|jttd�ttd��y)Nrnr�rtrOrc)r�r�rr�s r\�	test_hashzLiteralTests.test_hash�	sj������g�a�j�)�4���
�+;�<�����g�d�m�,�d�7�4�=�.A�B�����g�g�.�/��g�j�6I�1J�Kr^c�F�|jtdjd�|jtdjd�|jtdtdtdfjd�|jtggfjggf�y)NrOrcrnr�)rPrU)rnr�rPrU)r�rr�r�s r\�	test_argszLiteralTests.test_args�	s��������)�2�2�I�>������,�5�5�y�A������G�A�J���
�!=�>�G�G��V������R���1�1�B��8�<r^c��ttdtdtdf}ttddf}ttd}|||fD]7}|j|td�|j|jd��9y)Nrnr�rPr�rO)rr�r�)rW�l1�l2�l3rs     r\�test_flattenzLiteralTests.test_flatten�	sz��
�W�Q�Z����W�Q�Z�7�
8��
�W�T�]�A�%�
&��
�W�W�%�
&���R���A����Q��� 0�1����Q�Z�Z��3�r^c��ddl}Gd�d|j�}tt|jt|jtdtdf}|j|j|j|jddf�y)Nrc��eZdZdZdZy)�5LiteralTests.test_does_not_flatten_enum.<locals>.Intsrnr�Nr�rkr^r\r�r��	r�r^r�rnr�)r�r�rr�r�r�r�)rWr�r�rs    r\�test_does_not_flatten_enumz'LiteralTests.test_does_not_flatten_enum�	sq���	�4�<�<�	�
��D�F�F�O��D�F�F�O��A�J��A�J�
�
��	
������d�f�f�d�f�f�a��%;�<r^N)rhrirjr9r[r^rar�r^rIrgrorqrurwryr~r�rkr^r\rMrMD	sP��	 �:��-�O�8��(�%��	@�L�
=�4�=r^rM�XK�XVc�B�eZdZdedefd�Zdedefd�Zd	dededefd�Zy)
�
SimpleMapping�keyr�c��yrbrk�rWr�s  r\�__getitem__zSimpleMapping.__getitem__�	���r^rc��yrbrk�rWr�rs   r\�__setitem__zSimpleMapping.__setitem__�	r�r^N�defaultc��yrbrk�rWr�r�s   r\�getzSimpleMapping.get�	r�r^rb)rhrirjr�r�r�r�r�rkr^r\r�r��	sB���r��b���r��"���r��B��"�r^r�c�8�eZdZd�Zdefd�Zdefd�Zddefd�Zy)�MySimpleMappingc��i|_yrb��storer�s r\r�zMySimpleMapping.__init__�	s	����
r^r�c� �|j|Srbr�r�s  r\r�zMySimpleMapping.__getitem__�	s���z�z�#��r^c�"�||j|<yrbr�r�s   r\r�zMySimpleMapping.__setitem__�	s����
�
�3�r^Nc�D�	|j|S#t$r|cYSwxYwrb)r��KeyErrorr�s   r\r�zMySimpleMapping.get�	s)��	��:�:�c�?�"���	��N�	�s���rb)rhrirjr�r�r�r�r�rkr^r\r�r��	s+����s�� �s� ��s�r^r�c�"�eZdZUeed<eed<y)�
Coordinater�r�N�rhrirjr�r�rkr^r\r�r��	���
�F�
�Fr^r�c��eZdZUeed<y)�Point�labelN�rhrirjr�r�rkr^r\r�r��	s���Jr^r�c�,�eZdZUeed<eed<eed<y)�MyPointr�r�r�N�rhrirjr�r�r�rkr^r\r�r��	s��
�F�
�F��Jr^r�c��eZdZUeed<y)�XAxisr�Nr�rkr^r\r�r��	���
�Fr^r�c��eZdZUeed<y)�YAxisr�Nr�rkr^r\r�r��	r�r^r�c��eZdZy)�PositionNr|rkr^r\r�r��	s��r^r�c�(�eZdZUeed<dedefd�Zy)�Proto�attrr�r�c��yrbrk�rWr�s  r\�methz
Proto.meth�	r�r^N)rhrirjr�r�r�r�rkr^r\r�r��	s��

�I�����r^r�c��eZdZy)�ConcreteNr|rkr^r\r�r��	r}r^r�c�,�eZdZUdZeed<dedefd�Zy)�Otherrnr�r�r�c��|dk(ryy)N�thisrnrrkr�s  r\r�z
Other.meth
s���&�=��r^N)rhrirjr�r�r�r�r�rkr^r\r�r�
s���D�#�M�����r^r�c�"�eZdZUeed<eed<y)�NTr�r�Nr�rkr^r\r�r�
r�r^r�c�,�eZdZUejed<y)�HasCallProtocolr2N)rhrirjrcr"r�rkr^r\r�r�
s���o�o�r^r�c���eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d �Z"d!�Z#d"�Z$d#�Z%d$�Z&d%�Z'd&�Z(d'�Z)d(�Z*d)�Z+d*�Z,d+�Z-d,�Z.d-�Z/d.�Z0d/�Z1d0�Z2d1�Z3d2�Z4d3�Z5d4�Z6d5�Z7d6�Z8d7�Z9d8�Z:d9�Z;d:�Z<d;�Z=d<�Z>d=�Z?d>�Z@d?�ZAd@�ZBdA�ZCdB�ZDdC�ZEdD�ZFdE�ZGdF�ZHdG�ZIdH�ZJdI�ZKyJ)K�
ProtocolTestsc�j�tGd�dt��}Gd�d�}Gd�d�}d�}|j||�|j|�|�|j	||�|j|�|�|j	tj|�|j||�y)Nc��eZdZd�Zy)�,ProtocolTests.test_basic_protocol.<locals>.Pc��yrbrkr�s r\r�z1ProtocolTests.test_basic_protocol.<locals>.P.meth
���r^N�rhrirjr�rkr^r\r�r�
���
r^r�c��eZdZy)�,ProtocolTests.test_basic_protocol.<locals>.CNr|rkr^r\rBr�
r�r^rBc��eZdZd�Zy)�,ProtocolTests.test_basic_protocol.<locals>.Dc��yrbrkr�s r\r�z1ProtocolTests.test_basic_protocol.<locals>.D.meth
r�r^Nr�rkr^r\rEr�
���
r^rEc��yrbrkrkr^r\rfz,ProtocolTests.test_basic_protocol.<locals>.f
r�r^)r*r'r]r�r`r�r�r�)rWr�rBrErfs     r\�test_basic_protocolz!ProtocolTests.test_basic_protocol
s���	�	��	�
�	�	�
�	�	�	�	
���a��#����a�c�1�%�� � ��A�&�� � ���a�(�� � ��!3�!3�Q�7�� � ��A�&r^c�|�|jtd�5td���}ddd�y#1swYyxYw)Nz:@runtime_checkable can be only applied to protocol classesc�0��d�x}f�G�fd�d��
}|�S)rc���eZdZW�Zy)�FProtocolTests.test_runtime_checkable_generic_non_protocol.<locals>.FooNrurws�r\r�r�.
s���r^r�rk�rr|rxs  @r\z<generic parameters of Foo>z^ProtocolTests.test_runtime_checkable_generic_non_protocol.<locals>.<generic parameters of Foo>.
s������r^)r�r�r*�rWr�s  r\�+test_runtime_checkable_generic_non_protocolz9ProtocolTests.test_runtime_checkable_generic_non_protocol(
s6��
�
#�
#��H�
�����
�
�
�s�2�;c��td���}Gd�d�}|j||�Gd�d�}|j||�y)Nc�>���d�x�f�G��fd�d��
}t|�S)rc�"��eZdZW�ZdW�fd�Zy)�9ProtocolTests.test_runtime_checkable_generic.<locals>.Foor�c��yrbrkr�s r\r�z>ProtocolTests.test_runtime_checkable_generic.<locals>.Foo.meth4
���r^N�rhrirjrvr��rxrs��r\r�r�2
s���$�a�$r^r��r'�r|rxrs @@r\z<generic parameters of Foo>zQProtocolTests.test_runtime_checkable_generic.<locals>.<generic parameters of Foo>2
s����	%�	%�X�	%r^c��eZdZdefd�Zy)�:ProtocolTests.test_runtime_checkable_generic.<locals>.Implr�c��yrbrkr�s r\r�z?ProtocolTests.test_runtime_checkable_generic.<locals>.Impl.meth7
r+r^N�rhrirjr�r�rkr^r\�Implr�6
s
��&�c�&r^r�c��eZdZdefd�Zy)�=ProtocolTests.test_runtime_checkable_generic.<locals>.NotImplr�c��yrbrkr�s r\�methodzDProtocolTests.test_runtime_checkable_generic.<locals>.NotImpl.method<
r/r^N)rhrirjr�r�rkr^r\�NotImplr�;
s
��(��(r^r�)r*r]r`)rWr�r�r�s    r\�test_runtime_checkable_genericz,ProtocolTests.test_runtime_checkable_generic1
sL��	�	%�
�	%�	'�	'�	
���d�C�(�	)�	)�	
� � ��#�.r^c��tGd�dt��}d��}d��}|j|d�|�|j|d�|�y)Nc��eZdZUeed<y)�IProtocolTests.test_pep695_generics_can_be_runtime_checkable.<locals>.HasXr�Nr�rkr^r\�HasXr�A
����Fr^r�c�4���d�x�f�G��fd�d��
}|�S)rc�(��eZdZW�ZUW�ed<d�Zy)�HProtocolTests.test_pep695_generics_can_be_runtime_checkable.<locals>.Barr�c��||_yrbr�r�s  r\r�zQProtocolTests.test_pep695_generics_can_be_runtime_checkable.<locals>.Bar.__init__G
r�r^N)rhrirjrvr�r�r�s��r\r�r�E
s�����D�
r^r�rkr�s @@r\z<generic parameters of Bar>z`ProtocolTests.test_pep695_generics_can_be_runtime_checkable.<locals>.<generic parameters of Bar>E
s���!�	�	�	r^c�0��d�x}f�G�fd�d��
}|�S)rc�&��eZdZW�ZUeed<d�Zy)�MProtocolTests.test_pep695_generics_can_be_runtime_checkable.<locals>.Capybarar�c��||_yrb�r�)rWr�s  r\r�zVProtocolTests.test_pep695_generics_can_be_runtime_checkable.<locals>.Capybara.__init__L
r�r^N)rhrirjrvr�r�r�rws�r\�Capybarar�J
s�����F�
r^r�rkr�s  @r\z <generic parameters of Capybara>zeProtocolTests.test_pep695_generics_can_be_runtime_checkable.<locals>.<generic parameters of Capybara>J
s���q�	�	�	r^rnr�r*r'r�r�)rWr�r�r�s    r\�-test_pep695_generics_can_be_runtime_checkablez;ProtocolTests.test_pep695_generics_can_be_runtime_checkable@
sO��	�	�8�	�
�	�	�
	�
	
���c�!�f�d�+�� � ��#���5r^c��tGd�dt��}Gd�d�}d�}ttt|t
jfD]}|j||��t�ddt|fD]}|j||��y)Nc��eZdZy)�FProtocolTests.test_everything_implements_empty_protocol.<locals>.EmptyNr|rkr^r\�Emptyr�S
���r^r�c��eZdZy)�BProtocolTests.test_everything_implements_empty_protocol.<locals>.CNr|rkr^r\rBrW
r�r^rBc��yrbrkrkr^r\rfzBProtocolTests.test_everything_implements_empty_protocol.<locals>.fZ
r�r^rnrk)
r*r'r�r�r�r�r�r]rcr�)rWr�rBrf�things     r\�)test_everything_implements_empty_protocolz7ProtocolTests.test_everything_implements_empty_protocolR
s��	�	�H�	�
�	�	�	�	��d�E�1�e�.@�.@�A�E��!�!�%��/�B��h��2�v�q�1�E��!�!�%��/�2r^c�6�d�}|j|t�y)Nc��yrbrkrkr^r\rfz:ProtocolTests.test_function_implements_protocol.<locals>.fc
r�r^)r�r�res  r\�!test_function_implements_protocolz/ProtocolTests.test_function_implements_protocolb
s��	�	
���a��1r^c� �Gd�d�}Gd�dt�}|jt�5Gd�d|t�}ddd�|jt�5Gd�dt|�}ddd�|jt�5Gd	�d
||t�}ddd�Gd�d||�}Gd
�d||�}|j|�|�|j|�|�y#1swY��xYw#1swY��xYw#1swY�hxYw)Nc��eZdZy)�9ProtocolTests.test_no_inheritance_from_nominal.<locals>.CNr|rkr^r\rBri
r�r^rBc��eZdZy)�:ProtocolTests.test_no_inheritance_from_nominal.<locals>.BPNr|rkr^r\�BPr
k
r�r^rc��eZdZy)�9ProtocolTests.test_no_inheritance_from_nominal.<locals>.PNr|rkr^r\r�rn
r�r^r�c��eZdZy)�9ProtocolTests.test_no_inheritance_from_nominal.<locals>.QNr|rkr^r\�Qrq
r�r^rc��eZdZy)�9ProtocolTests.test_no_inheritance_from_nominal.<locals>.RNr|rkr^r\�Rrt
r�r^rc��eZdZy)�9ProtocolTests.test_no_inheritance_from_nominal.<locals>.DNr|rkr^r\rErw
r�r^rEc��eZdZy)�9ProtocolTests.test_no_inheritance_from_nominal.<locals>.ENr|rkr^r\r�ry
r�r^r�)r'r�r�r�)rWrBrr�rrrEr�s        r\� test_no_inheritance_from_nominalz.ProtocolTests.test_no_inheritance_from_nominalh
s����
� �� �
�
�
�y�
)�
�A�x�
�*��
�
�y�
)�
�H�a�
�*��
�
�y�
)�
�B��8�
�*�	��A����2��� � ���a�(�� � ���a�(�*�
)��*�
)��*�
)�s#�C,�C8�D�,C5�8D�D
c�n�Gd�dt�}|jt�5|�ddd�Gd�d|�}|j|�|�|jt�5|d�ddd�t	d�}Gd�dt|�}|jt�5|�ddd�|jt�5|t
�ddd�|jt�5||�ddd�Gd	�d
||�}|j|t
�|�|jt�5|t
d�ddd�y#1swY��BxYw#1swY��xYw#1swY��xYw#1swY��xYw#1swY��xYw#1swYyxYw)Nc��eZdZy)�.ProtocolTests.test_no_instantiation.<locals>.PNr|rkr^r\r�r
r�r^r�c��eZdZy)�.ProtocolTests.test_no_instantiation.<locals>.CNr|rkr^r\rBr �
r�r^rBr�rc��eZdZy)�/ProtocolTests.test_no_instantiation.<locals>.PGNr|rkr^r\�PGr"�
r�r^r#c��eZdZy)�/ProtocolTests.test_no_instantiation.<locals>.CGNr|rkr^r\�CGr%�
r�r^r&)r'r�r�r�rr�)rWr�rBrr#r&s      r\�test_no_instantiationz#ProtocolTests.test_no_instantiation~
s>�����
�
�
�y�
)�
�C�*�	������a�c�1�%�
�
�
�y�
)�
�b�E�*�
�C�L��#��!��#�
�
�
�y�
)��D�*�
�
�
�y�
)��B�s�G�I�*�
�
�
�y�
)��B�q�E�G�*�	��A������g�b��g�i��,�
�
�
�y�
)��B�s�G�B�K�*�
)�/*�
)��*�
)��*�
)��
)�
)��
)�
)��*�
)�sG�E-�,	E:�/F�F�F�F+�-E7�:F�F�F�F(�+F4c��Gd�dt�}Gd�d�}|�}|j|d�|j|jd�y)Nc�(�eZdZUeed<deddfd�Zy)�LProtocolTests.test_protocol_defining_init_does_not_get_overridden.<locals>.Pr�r�Nc��||_yrbr�r�s  r\r�zUProtocolTests.test_protocol_defining_init_does_not_get_overridden.<locals>.P.__init__�
r�r^�rhrirjr�r�r�rkr^r\r�r*�
����F�
�#�
�$�
r^r�c��eZdZy)�LProtocolTests.test_protocol_defining_init_does_not_get_overridden.<locals>.CNr|rkr^r\rBr/�
r�r^rBrn)r'r�r�r��rWr�rBrs    r\�3test_protocol_defining_init_does_not_get_overriddenzAProtocolTests.test_protocol_defining_init_does_not_get_overridden�
s>��	��	�	�
�
�C��	�
�
�1�a��������a� r^c��Gd�dt�}Gd�d|�}|d�}|j||�|j|jd�y)Nc�(�eZdZUeed<deddfd�Zy)�JProtocolTests.test_concrete_class_inheriting_init_from_protocol.<locals>.Pr�r�Nc��||_yrbr�r�s  r\r�zSProtocolTests.test_concrete_class_inheriting_init_from_protocol.<locals>.P.__init__�
r�r^r,rkr^r\r�r4�
r-r^r�c��eZdZy)�JProtocolTests.test_concrete_class_inheriting_init_from_protocol.<locals>.CNr|rkr^r\rBr7�
r�r^rBrn)r'r�r�r�r0s    r\�1test_concrete_class_inheriting_init_from_protocolz?ProtocolTests.test_concrete_class_inheriting_init_from_protocol�
sE��	��	�
	���
�a�D�����a��#�������a� r^c���tGd�dt��}Gd�d|�}Gd�d|�}|jt�5|�ddd�|j	|�|�y#1swY�!xYw)Nc�6�eZdZejdefd��Zy)�9ProtocolTests.test_cannot_instantiate_abstract.<locals>.Pr�c��t�rb)�NotImplementedErrorr�s r\�amethz?ProtocolTests.test_cannot_instantiate_abstract.<locals>.P.ameth�
s��)�)r^N)rhrirjr�abstractmethodr�r>rkr^r\r�r;�
s!��
�
�
�
*�s�
*� �
*r^r�c��eZdZy)�9ProtocolTests.test_cannot_instantiate_abstract.<locals>.BNr|rkr^r\r�rA�
r�r^r�c��eZdZdefd�Zy)�9ProtocolTests.test_cannot_instantiate_abstract.<locals>.Cr�c��y)N�rkr�s r\r>z?ProtocolTests.test_cannot_instantiate_abstract.<locals>.C.ameth�
���r^N)rhrirjr�r>rkr^r\rBrC�
s��
�s�
r^rB)r*r'r�r�r�)rWr�r�rBs    r\� test_cannot_instantiate_abstractz.ProtocolTests.test_cannot_instantiate_abstract�
sh��	�	*��	*�
�	*�
	��	�	��	��
�
�y�
)�
�C�*����a�c�1�%�*�
)�s�A,�,A5c��Gd�dt�}tGd�d|t��}Gd�d�}Gd�d�}Gd	�d
�}|j|�|�|j|�|�|j||�|j||�|j	|�|�|j||�y)Nc��eZdZd�Zy)�5ProtocolTests.test_subprotocols_extending.<locals>.P1c��yrbrkr�s r\�meth1z;ProtocolTests.test_subprotocols_extending.<locals>.P1.meth1�
r�r^N�rhrirjrLrkr^r\�P1rJ�
r�r^rNc��eZdZd�Zy)�5ProtocolTests.test_subprotocols_extending.<locals>.P2c��yrbrkr�s r\�meth2z;ProtocolTests.test_subprotocols_extending.<locals>.P2.meth2�
r�r^N�rhrirjrRrkr^r\r8rP�
r�r^r8c��eZdZd�Zd�Zy)�4ProtocolTests.test_subprotocols_extending.<locals>.Cc��yrbrkr�s r\rLz:ProtocolTests.test_subprotocols_extending.<locals>.C.meth1�
r�r^c��yrbrkr�s r\rRz:ProtocolTests.test_subprotocols_extending.<locals>.C.meth2�
r�r^N�rhrirjrLrRrkr^r\rBrU�
���
�
r^rBc��eZdZd�Zy)�5ProtocolTests.test_subprotocols_extending.<locals>.C1c��yrbrkr�s r\rLz;ProtocolTests.test_subprotocols_extending.<locals>.C1.meth1�
r�r^NrMrkr^r\r&r[�
r�r^r&c��eZdZd�Zy)�5ProtocolTests.test_subprotocols_extending.<locals>.C2c��yrbrkr�s r\rRz;ProtocolTests.test_subprotocols_extending.<locals>.C2.meth2�
r�r^NrSrkr^r\r'r^�
r�r^r'�r'r*r�r`r�r])rWrNr8rBr&r's      r\�test_subprotocols_extendingz)ProtocolTests.test_subprotocols_extending�
s���	��	�
�	��X�	�
�	�	�	�	�	�	�	�	
� � ���r�*�� � ���r�*�� � ��R�(�� � ��R�(����a�c�2�&����a��$r^c��Gd�dt�}Gd�dt�}tGd�d||t��}Gd�d�}Gd	�d
�}Gd�d�}|j|�|�|j|�|�|j||�|j||�|j	|�|�|j||�y)
Nc��eZdZd�Zy)�3ProtocolTests.test_subprotocols_merging.<locals>.P1c��yrbrkr�s r\rLz9ProtocolTests.test_subprotocols_merging.<locals>.P1.meth1�
r�r^NrMrkr^r\rNrd�
r�r^rNc��eZdZd�Zy)�3ProtocolTests.test_subprotocols_merging.<locals>.P2c��yrbrkr�s r\rRz9ProtocolTests.test_subprotocols_merging.<locals>.P2.meth2�
r�r^NrSrkr^r\r8rg�
r�r^r8c��eZdZy)�2ProtocolTests.test_subprotocols_merging.<locals>.PNr|rkr^r\r�rj�
rr^r�c��eZdZd�Zd�Zy)�2ProtocolTests.test_subprotocols_merging.<locals>.Cc��yrbrkr�s r\rLz8ProtocolTests.test_subprotocols_merging.<locals>.C.meth1�
r�r^c��yrbrkr�s r\rRz8ProtocolTests.test_subprotocols_merging.<locals>.C.meth2�
r�r^NrXrkr^r\rBrl�
rYr^rBc��eZdZd�Zy)�3ProtocolTests.test_subprotocols_merging.<locals>.C1c��yrbrkr�s r\rLz9ProtocolTests.test_subprotocols_merging.<locals>.C1.meth1�
r�r^NrMrkr^r\r&rp�
r�r^r&c��eZdZd�Zy)�3ProtocolTests.test_subprotocols_merging.<locals>.C2c��yrbrkr�s r\rRz9ProtocolTests.test_subprotocols_merging.<locals>.C2.meth2r�r^NrSrkr^r\r'rs�
r�r^r'r`)rWrNr8r�rBr&r's       r\�test_subprotocols_mergingz'ProtocolTests.test_subprotocols_merging�
s���	��	�	��	�
�	��B��	�
�	�	�	�	�	�	�	�	
� � ���q�)�� � ���q�)�� � ��Q�'�� � ��Q�'����a�c�1�%����a��#r^c���td�}tGd�dt��}tGd�dt|��}Gd�dt�}Gd�d	t|�}Gd
�d�}|j||�|j||�|j||�d}|j	t
|�5t
|||�ddd�|j	t
|�5t
|||�ddd�d
}|j	t
|�5t
||�ddd�|j	t
|�5t
||�ddd�|j	t
|�5t
|||�ddd�|j	t
|�5t
||t�ddd�d}	|j	t
|	�5t
d|�ddd�|j	t
|	�5t
d|�ddd�|j	t
|	�5t
d|�ddd�|j	t
|	�5t
d|�ddd�y#1swY���xYw#1swY��~xYw#1swY��^xYw#1swY��@xYw#1swY��xYw#1swY��xYw#1swY��xYw#1swY��xYw#1swY��xYw#1swYyxYw)Nrc��eZdZd�Zy)�2ProtocolTests.test_protocols_issubclass.<locals>.Pc��yrbrkr�s r\r�z4ProtocolTests.test_protocols_issubclass.<locals>.P.x���r^N�rhrirjr�rkr^r\r�rx
���r^r�c��eZdZd�Zy)�3ProtocolTests.test_protocols_issubclass.<locals>.PGc��yrbrkr�s r\r�z5ProtocolTests.test_protocols_issubclass.<locals>.PG.xrzr^Nr{rkr^r\r#r~r|r^r#c��eZdZd�Zy)�5ProtocolTests.test_protocols_issubclass.<locals>.BadPc��yrbrkr�s r\r�z7ProtocolTests.test_protocols_issubclass.<locals>.BadP.xrzr^Nr{rkr^r\�BadPr����r^r�c��eZdZd�Zy)�6ProtocolTests.test_protocols_issubclass.<locals>.BadPGc��yrbrkr�s r\r�z8ProtocolTests.test_protocols_issubclass.<locals>.BadPG.xrzr^Nr{rkr^r\�BadPGr�r�r^r�c��eZdZd�Zy)�2ProtocolTests.test_protocols_issubclass.<locals>.Cc��yrbrkr�s r\r�z4ProtocolTests.test_protocols_issubclass.<locals>.C.xrzr^Nr{rkr^r\rBr�r�r^rB�BSubscripted generics cannot be used with class and instance checks�LInstance and class checks can only be used with @runtime_checkable protocols�$issubclass\(\) arg 1 must be a classrn)rr*r'r]r�r�rTr�)
rWrr�r#r�r�rB�no_subscripted_generics� only_runtime_checkable_protocols�only_classes_alloweds
          r\�test_protocols_issubclassz'ProtocolTests.test_protocols_issubclass
sn���C�L��	�	��	�
�	�
�	��!��	�
�	�	�8�	�	�H�Q�K�	�	�	�	
���a��#����a��$����d�B�'�
Q�	 ��
#�
#�I�/F�
G��q�"�Q�%� �H�
�
#�
#�I�/F�
G��q�"�Q�%� �H�
+�	)�
�
#�
#�I�/O�
P��q�$��Q�
�
#�
#�I�/O�
P��q�%� �Q��
#�
#�I�/F�
G��q�"�Q�%� �H�
�
#�
#�I�/F�
G��r�2�c�7�#�H� G��
�
#�
#�I�/C�
D��q�!��E�
�
#�
#�I�/C�
D��q�"��E�
�
#�
#�I�/C�
D��q�$��E�
�
#�
#�I�/C�
D��q�%� �E�
D�9H�
G��
G�
G��Q�
P��
P�
P��H�
G��
G�
G��
E�
D��
D�
D��
D�
D��
D�
D�sx�8I%�&I2�
I?�
J�,J�J&�
J2�9
J>�$
K
�
K�%I/�2I<�?J	�J�J#�&J/�2J;�>K�
K�Kc���tGd�dt��}Gd�dt�}Gd�dt�}Gd�dt�}Gd	�d
t�}Gd�dt�}Gd
�dt�}||||||fD]9}|j|j��5|j	||�ddd��;Gd�dt�}	Gd�dt�}
|j|	|�|j|
|�Gd�d�}Gd�d�}Gd�d�}
Gd�d�}|j||�|j	||�|j	|
|�|j	||�y#1swY��xYw)Nc��eZdZd�Zy)�ZProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.CallableMembersProtoc��yrbrkr�s r\r�z_ProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.CallableMembersProto.methH���Cr^Nr�rkr^r\�CallableMembersProtor�F���r^r�c��eZdZd�Zy)�TProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.IdenticalProtoc��yrbrkr�s r\r�zYProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.IdenticalProto.methOr�r^Nr�rkr^r\�IdenticalProtor�Ns��r^r�c��eZdZd�Zd�Zy)�SProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.SupersetProtoc��yrbrkr�s r\r�zXProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.SupersetProto.methRr�r^c��yrbrkr�s r\rRzYProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.SupersetProto.meth2S���Sr^N)rhrirjr�rRrkr^r\�
SupersetProtor�Qs��� r^r�c�"�eZdZUegdfed<y)�]ProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.NonCallableMembersProtoNr��rhrirjr"r�rkr^r\�NonCallableMembersProtor�U����2�t�8�$�$r^r�c�:�eZdZUegdfed<eeegefed<y)�eProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.NonCallableMembersSupersetProtoNr�rR)rhrirjr"r�r�r�r,rkr^r\�NonCallableMembersSupersetProtor�Xs%���2�t�8�$�$��S�#�J��,�-�-r^r�c�(�eZdZUegdfed<d�Zy)�XProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.MixedMembersProto1Nr�c��yrbrkr�s r\rRz^ProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.MixedMembersProto1.meth2^r�r^)rhrirjr"r�rRrkr^r\�MixedMembersProto1r�\����2�t�8�$�$� r^r�c�,�eZdZUd�Zeeegefed<y)�XProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.MixedMembersProto2c��yrbrkr�s r\r�z]ProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.MixedMembersProto2.methar�r^rRN)	rhrirjr�r"r�r�r,r�rkr^r\�MixedMembersProto2r�`s����S�#�J��,�-�-r^r�rpc��eZdZy)�SProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.EmptyProtocolNr|rkr^r\�
EmptyProtocolr�nr�r^r�c��eZdZd�Zy)�WProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.UnrelatedProtocolc��yrbrkr�s r\�wutz[ProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.UnrelatedProtocol.wutp���3r^N)rhrirjr�rkr^r\�UnrelatedProtocolr�os��r^r�c�"�eZdZUegdfed<y)�^ProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.AnnotatedButNotAProtocolNr�r�rkr^r\�AnnotatedButNotAProtocolr�zr�r^r�c��eZdZd�Zy)�gProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.NotAProtocolButAnImplicitSubclassc��yrbrkr�s r\r�zlProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.NotAProtocolButAnImplicitSubclass.meth~���Dr^Nr�rkr^r\�!NotAProtocolButAnImplicitSubclassr�}��� r^r�c�(�eZdZUegdfed<d�Zy)�hProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.NotAProtocolButAnImplicitSubclass2Nr�c��yrbrkr�s r\r�zmProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.NotAProtocolButAnImplicitSubclass2.meth�r�r^)rhrirjr"r�r�rkr^r\�"NotAProtocolButAnImplicitSubclass2r��r�r^r�c�F�eZdZUegdfed<eeegefed<d�Zd�Z	y)�hProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.NotAProtocolButAnImplicitSubclass3Nr�rRc��yrbrkr�s r\r�zmProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.NotAProtocolButAnImplicitSubclass3.meth�r�r^c��y)NTrk�rWr�r�s   r\rRznProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.NotAProtocolButAnImplicitSubclass3.meth2�s��$r^)
rhrirjr"r�r�r�r,r�rRrkr^r\�"NotAProtocolButAnImplicitSubclass3r��s+���2�t�8�$�$��S�#�J��,�-�-� �.r^r�)r*r'rurhr]r`)rWr�r�r�r�r�r�r�rqr�r�r�r�r�r�s               r\�.test_implicit_issubclass_between_two_protocolsz<ProtocolTests.test_implicit_issubclass_between_two_protocolsEsf��	�	 �8�	 �
�	 �	 �X�	 �	!�H�	!�	%�h�	%�	.�h�	.�	!��	!�	.��	.�

�M�+B�+�-?�AS�
�E����E�N�N��3��%�%�e�-A�B�4�3�	
�	+�H�*�	��	�	
� � ��0D�E�� � �!2�4H�I�	%�	%�	!�	!�	!�	!�	/�	/�	
� � �!9�;O�P����?�AU�V����@�BV�W����@�BV�W�K4�3�s�E*�*E3	c�d�|jtj�tj�|j	t
d�5Gd�dtjjt�}ddd�|jgtjj�y#1swY�4xYw)Nz/Protocols can only inherit from other protocolsc��eZdZy)�CProtocolTests.test_isinstance_checks_not_at_whim_of_gc.<locals>.FooNr|rkr^r\r�r��r�r^r�)�
addCleanup�gc�enable�disabler�r�rrr�r'r�r�s  r\�(test_isinstance_checks_not_at_whim_of_gcz6ProtocolTests.test_isinstance_checks_not_at_whim_of_gc�ss������	�	�"�
�
�
��
�
#�
#��=�
�
�k�o�o�-�-�x�
�	
�	
� � ��[�_�_�%<�%<�=�
�
�s�
)B&�&B/c�D�Gd�d�}|jtt�|jt�t�|jtt�|jdt�|j|t�|j|�t�d}|jt|�5tdt�ddd�|jt|�5tdt�ddd�|jt|�5t|�t�ddd�td�}tGd�dt��}tGd	�d
t��}tGd�dt|��}|||fD]=}|j|j�
�5|j|t�ddd��?|jt|�|jt�|�|jtt�|jt�t�|jt|�|jd|�|jtt�|jdt�|j||�|j|�|�|j|t�|j|�t�y#1swY��#xYw#1swY��xYw#1swY���xYw#1swY���xYw)Nc��eZdZd�Zy)�JProtocolTests.test_issubclass_and_isinstance_on_Protocol_itself.<locals>.Cc��yrbrkr�s r\r�zLProtocolTests.test_issubclass_and_isinstance_on_Protocol_itself.<locals>.C.x�s��r^Nr{rkr^r\rBr��s��r^rBrkr�rnrc��eZdZy)�VProtocolTests.test_issubclass_and_isinstance_on_Protocol_itself.<locals>.EmptyProtocolNr|rkr^r\r�r��s��'+r^r�c��eZdZdedefd�Zy)�[ProtocolTests.test_issubclass_and_isinstance_on_Protocol_itself.<locals>.SupportsStartsWithr�r�c��yrbrkr�s  r\�
startswithzfProtocolTests.test_issubclass_and_isinstance_on_Protocol_itself.<locals>.SupportsStartsWith.startswith�s��#r^N�rhrirjr�r,r�rkr^r\�SupportsStartsWithr��s��5�C�5�D�5r^r�c��eZdZd�Zy)�RProtocolTests.test_issubclass_and_isinstance_on_Protocol_itself.<locals>.SupportsXc��yrbrkr�s r\r�zTProtocolTests.test_issubclass_and_isinstance_on_Protocol_itself.<locals>.SupportsX.x�rzr^Nr{rkr^r\�	SupportsXr��r|r^r�rp)r`r�r'r�r�r�r�rTrr*rurhr]r�)rWrBr�rr�r�r�rqs        r\�1test_issubclass_and_isinstance_on_Protocol_itselfz?ProtocolTests.test_issubclass_and_isinstance_on_Protocol_itself�s`��	�	�	
� � ���2�� � ���8�4�� � ��h�/�� � ���1�� � ��H�-�� � ���h�/�F��
�
#�
#�I�/C�
D��q�(�#�E�
�
#�
#�I�/C�
D��u�h�'�E�
�
#�
#�I�/C�
D��q�s�H�%�E�
�C�L��	�+�H�+�
�+�	�	6��	6�
�	6�
�	����	�
�	�#�$6�	�A�E����E�N�N��3��%�%�e�X�6�4�3�B�	
���f�m�4����f�h�
�6�� � ���2�� � ���8�4����c�#5�6����e�%7�8�� � ��h�/�� � ���1����a��+����a�c�9�-�� � ��H�-�� � ���h�/�UE�
D��
D�
D��
D�
D��"4�3�s0�<K.�+K;�L�2L�.K8�;L�L�L	c���Gd�d�}tGd�dt��}d}|jt|�5t	||�ddd�|j|�|�|j
|�|jt|�5t	||�ddd�|j|�|�Gd�d|�}|j||�|j|�|�|j
|�|j||�|j|�|�|jt|�5t	||�ddd�y#1swY��xYw#1swY��xYw#1swYyxYw)Nc��eZdZdZy)�?ProtocolTests.test_protocols_issubclass_non_callable.<locals>.CrnNr{rkr^r\rBr������Ar^rBc��eZdZdZy)�FProtocolTests.test_protocols_issubclass_non_callable.<locals>.PNonCallrnNr{rkr^r\�PNonCallr������Ar^r��<Protocols with non-method members don't support issubclass()c��eZdZy)�?ProtocolTests.test_protocols_issubclass_non_callable.<locals>.DNr|rkr^r\rEr��r�r^rE)
r*r'r�r�rTr��registerr`r�r])rWrBr��non_callable_members_illegalrEs     r\�&test_protocols_issubclass_non_callablez4ProtocolTests.test_protocols_issubclass_non_callable�sG��	�	�
�	�x�	�
�	�
K�	%��
#�
#�I�/K�
L��q�(�#�M�	
���a�c�8�,����!��
�
#�
#�I�/K�
L��q�(�#�M�	
���a�c�8�,�	���� � ��A�&�� � ���a�(�	�
�
�1�
����a��#����a�c�1�%�
�
#�
#�I�/K�
L��q�(�#�M�
L�)M�
L��M�
L��M�
L�s#�
E�
E!�>
E-�E�!E*�-E6c���tGd�dt��}Gd�d�}|j|�|�|jtd�5t||�ddd�y#1swYyxYw)Nc��eZdZUeed<y)�RProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance.<locals>.Spamr�Nr�rkr^r\�Spamr��r�r^r�c��eZdZdd�Zy)�RProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance.<locals>.EggsNc��d|_yr�r�r�s r\r�z[ProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance.<locals>.Eggs.__init__s	����r^�r�Nr�rkr^r\�Eggsr��s��
r^rr�)r*r'r�r�r�rT�rWr�rs   r\�6test_no_weird_caching_with_issubclass_after_isinstancezDProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance�sk��	�	�8�	�
�	�	�	�	
���d�f�d�+��
#�
#��J�
�
�t�T�"�	
�
�
���
A&�&A/c���tGd�dt��}Gd�d�}|j|�|�|jtd�5t||�ddd�y#1swYyxYw)Nc��eZdZUeed<y)�TProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance_2.<locals>.Spamr�Nr�rkr^r\r�rr�r^r�c��eZdZy)�TProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance_2.<locals>.EggsNr|rkr^r\rr	r�r^rr��r*r'r�r�r�rTrs   r\�8test_no_weird_caching_with_issubclass_after_isinstance_2zFProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance_2sf��	�	�8�	�
�	�	��� � ����.��
#�
#��J�
�
�t�T�"�	
�
�
�rc���tGd�dt��}Gd�d�}|j|�|�|jtd�5t||�ddd�y#1swYyxYw)Nc��eZdZUeed<y)�TProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance_3.<locals>.Spamr�Nr�rkr^r\r�r%r�r^r�c��eZdZd�Zy)�TProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance_3.<locals>.Eggsc�$�|dk(ryt|��)Nr�r���AttributeError�rWr�s  r\�__getattr__z`ProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance_3.<locals>.Eggs.__getattr__*s���3�;��$�T�*�*r^N�rhrirjrrkr^r\rr)s��
+r^rr�r
rs   r\�8test_no_weird_caching_with_issubclass_after_isinstance_3zFProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance_3$sk��	�	�8�	�
�	�	+�	+�	
� � ����.��
#�
#��J�
�
�t�T�"�	
�
�
�rc���td���}d��}|j|d�|�|jtd�5t	||�ddd�y#1swYyxYw)Nc�>���d�x�f�G��fd�d��
}t|�S)rc�"��eZdZW�ZUW�ed<y)�YProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance_pep695.<locals>.Spamr�N�rhrirjrvr�r�s��r\r�r=s
�����Dr^r�r�r�s @@r\z<generic parameters of Spam>zqProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance_pep695.<locals>.<generic parameters of Spam>=s����	�	�h�	r^c�4���d�x�f�G��fd�d��
}|�S)rc�&��eZdZW�ZdW�ddfd�Zy)�YProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance_pep695.<locals>.Eggsr�r�Nc��||_yrbr�r�s  r\r�zbProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance_pep695.<locals>.Eggs.__init__Br�r^)rhrirjrvr�r�s��r\rrAs���
�!�
��
r^rrkr�s @@r\z<generic parameters of Eggs>zqProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance_pep695.<locals>.<generic parameters of Eggs>As���1�	�	�	r^r�r�)r*r�r�r�rTrs   r\�=test_no_weird_caching_with_issubclass_after_isinstance_pep695zKProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance_pep695<sa��	�	�
�	�	�	
���d�2�h��-��
#�
#��J�
�
�t�T�"�	
�
�
�s�
A�A'c�Z��td�}tGd�dt��}tGd�dt|��}tGd�dt��}tGd�d	t��}Gd
�d��tG�fd�d
t��}Gd�dt�}Gd�dt|�}Gd�d�}	Gd�d�}
|	|
fD]U}|||||fD]I}|j|j|j��5|j|�|�ddd��K�Wd}
|j
t|
�5t|	�||�ddd�|j
t|
�5t|	�||	�ddd�d}|j
t|�5t|	�|�ddd�|j
t|�5t|	�|�ddd�y#1swY��#xYw#1swY��xYw#1swY��xYw#1swY�_xYw#1swYyxYw)Nrc��eZdZd�Zy)�2ProtocolTests.test_protocols_isinstance.<locals>.Pc��yrbrkr�s r\r�z7ProtocolTests.test_protocols_isinstance.<locals>.P.methWrzr^Nr�rkr^r\r�r$Ur|r^r�c��eZdZd�Zy)�3ProtocolTests.test_protocols_isinstance.<locals>.PGc��yrbrkr�s r\r�z8ProtocolTests.test_protocols_isinstance.<locals>.PG.meth[rzr^Nr�rkr^r\r#r'Yr|r^r#c�$�eZdZejZy)�;ProtocolTests.test_protocols_isinstance.<locals>.WeirdProtoN)rhrirjr��	maketransr�rkr^r\�
WeirdProtor*]s���=�=�Dr^r,c��eZdZd�Zy)�<ProtocolTests.test_protocols_isinstance.<locals>.WeirdProto2c��yrbrk�r�r�s  r\�<lambda>zEProtocolTests.test_protocols_isinstance.<locals>.WeirdProto2.<lambda>cs��4r^Nr�rkr^r\�WeirdProto2r.as��/�Dr^r2c��eZdZd�Zy)�?ProtocolTests.test_protocols_isinstance.<locals>.CustomCallablec��yrbrkr�s   r\r2zHProtocolTests.test_protocols_isinstance.<locals>.CustomCallable.__call__fr�r^Nr4rkr^r\�CustomCallabler4er�r^r6c���eZdZW��Zy)�=ProtocolTests.test_protocols_isinstance.<locals>.WeirderProtoNr�)r6s�r\�WeirderProtor8is���!�#�Dr^r9c��eZdZd�Zy)�5ProtocolTests.test_protocols_isinstance.<locals>.BadPc��yrbrkr�s r\r�z:ProtocolTests.test_protocols_isinstance.<locals>.BadP.methnrzr^Nr�rkr^r\r�r;mr�r^r�c��eZdZd�Zy)�6ProtocolTests.test_protocols_isinstance.<locals>.BadPGc��yrbrkr�s r\r�z;ProtocolTests.test_protocols_isinstance.<locals>.BadPG.methqrzr^Nr�rkr^r\r�r>pr�r^r�c��eZdZd�Zy)�2ProtocolTests.test_protocols_isinstance.<locals>.Cc��yrbrkr�s r\r�z7ProtocolTests.test_protocols_isinstance.<locals>.C.methtrzr^Nr�rkr^r\rBrAsr�r^rBc��eZdZd�Zy)�3ProtocolTests.test_protocols_isinstance.<locals>.C2c��d�|_y)Nc��yrbrkrkr^r\r1zNProtocolTests.test_protocols_isinstance.<locals>.C2.__init__.<locals>.<lambda>xs��Dr^)r�r�s r\r�z<ProtocolTests.test_protocols_isinstance.<locals>.C2.__init__ws	��(��	r^Nr�rkr^r\r'rDv���
)r^r')�klassrqr�r�)	rr*r'rurhr�r�r�r�)rWrr�r#r,r2r9r�r�rBr'rHrqr��only_runtime_checkable_msgr6s               @r\�test_protocols_isinstancez'ProtocolTests.test_protocols_isinstanceRs����C�L��	�	��	�
�	�
�	��!��	�
�	�
�	!��	!�
�	!�
�	0�(�	0�
�	0�	�	�
�	$�8�	$�
�	$�	�8�	�	�H�Q�K�	�	�	�	)�	)���U�E��B�
�K��E���\�\����e�n�n�\�M��)�)�%�'�5�9�N�M�F��
#g��
�
#�
#�I�/F�
G��q�s�B�q�E�"�H�
�
#�
#�I�/F�
G��q�s�B�q�E�"�H�
0�	#�
�
#�
#�I�/I�
J��q�s�D�!�K�
�
#�
#�I�/I�
J��q�s�E�"�K�
J�#N�M��
H�
G��
G�
G��K�
J��
J�
J�s<�G0�=G=�0H	�%H�H!�0G:�=H�	H�H�!H*c
����Gd�d�}Gd�d��G�fd�d�}Gd�d|�}Gd	�d
|�}Gd�d�}td
��tGd�dt��}tGd�dt��}tGd�dt���}tG�fd�dt���}	tGd�dt��}
tG�fd�dt���}||||	|
|fD]�}||||fD]I}
|j|
j|j��5|j|
�|�ddd��K|jd|j��5|j
|�|�ddd���Gd�dt�}Gd�dt�}Gd�d t��}G�fd!�d"t��}|�|||	�|	||�||||||f
}|D]c}|||||fD]W}
|j|
j|�#�5|jt�5t|
�|�ddd�ddd��Y�ey#1swY��`xYw#1swY��vxYw#1swY�0xYw#1swY��xYw)$Nc��eZdZed��Zy)�MProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.Cc��yr�rkr�s r\r�zRProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.C.attr����r^N�rhrirj�propertyr�rkr^r\rBrM�s��
�
��
r^rBc��eZdZdd�Zy)�\ProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.CustomDescriptorNc��yr�rk�rW�obj�objtypes   r\�__get__zdProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.CustomDescriptor.__get__�rFr^rb�rhrirjrXrkr^r\�CustomDescriptorrS�s��
r^rZc���eZdZW��Zy)�MProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.DN�rhrirjr��rZs�r\rEr\�����#�%�Dr^rEc��eZdZy)�MProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.ENr|rkr^r\r�ra�r�r^r�c��eZdZy)�MProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.FNr|rkr^r\r�rc�r�r^r�c��eZdZy)�QProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.EmptyNr|rkr^r\r�re�r�r^r�rc��eZdZed��Zy)�MProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.Pc��yrbrkr�s r\r�zRProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.P.attr����r^NrPrkr^r\r�rg����
���r^r�c��eZdZUeed<y)�NProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.P1r�Nr�rkr^r\rNrl�����Ir^rNc��eZdZed��Zy)�NProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.PGc��yrbrkr�s r\r�zSProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.PG.attr�rir^NrPrkr^r\r#ro�rjr^r#c���eZdZUW�ed<y)�OProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.PG1r�N�rhrirjr��rs�r\�PG1rr������Gr^ruc��eZdZd�Zy)�SProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.MethodPc��yrbrkr�s r\r�zXProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.MethodP.attr�r�r^Nr]rkr^r\�MethodPrx�r�r^rzc���eZdZdW�fd�Zy)�TProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.MethodPGr�c��yrbrkr�s r\r�zYProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.MethodPG.attr�r�r^Nr]rts�r\�MethodPGr|�����$�a�$r^r~�rH�protocol_classc��eZdZed��Zy)�PProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.BadPc��yrbrkr�s r\r�zUProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.BadP.attr�rir^NrPrkr^r\r�r�����
���r^r�c��eZdZUeed<y)�QProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.BadP1r�Nr�rkr^r\�BadP1r������Ir^r�c��eZdZed��Zy)�QProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.BadPGc��yrbrkr�s r\r�zVProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.BadPG.attr�rir^NrPrkr^r\r�r��r�r^r�c���eZdZUW�ed<y)�RProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.BadPG1r�Nrsrts�r\�BadPG1r��s����Gr^r�)rHrV)
rr*r'rurhr�r�r�r�r�)rWrBrEr�r�r�r�rNr#rurzr~r�rHr�r�r�r��casesrVrZrs                    @@r\�4test_protocols_isinstance_properties_and_descriptorszBProtocolTests.test_protocols_isinstance_properties_and_descriptors�s~���	�	�
	�	�	&�	&�
	���������C�L��	�	 ��	 �
�	 �
�	��	�
�	�
�	 ��!��	 �
�	 �
�	�(�1�+�	�
�	�
�	 �h�	 �
�	 �
�	%�x��{�	%�
�	%� ��R��g�x�?�N��A�q�!����\�\��.�.�#1�#:�#:�"���)�)�%�'�>�B�	��$����G�N�<S�<S��T��(�(���.�A�U�T�@�	 �8�	 �	�H�	�	 �H�Q�K�	 �	�X�a�[�	�
�q�E�2�a�5�#�a�&�#�a�&�(�1�+��Q�K��u�e�V�
��
�C��A�q�!�U�*���\�\����C�\�@��*�*�9�5�"�5�7�C�0�6�A�@�+��9���U�T��26�5��A�@�s<�&I�%I�I8�+I,	�=I8�I�I)	�,I5
�1I8�8Jc��tGd�dt��}Gd�d�}Gd�d�}|j|�|�|j|�|�y)Nc��eZdZUeed<y)�NProtocolTests.test_protocols_isinstance_not_fooled_by_custom_dir.<locals>.HasXr�Nr�rkr^r\r�r��r�r^r�c��eZdZdZd�Zy)�XProtocolTests.test_protocols_isinstance_not_fooled_by_custom_dir.<locals>.CustomDirWithXr�c��gSrbrkr�s r\�__dir__z`ProtocolTests.test_protocols_isinstance_not_fooled_by_custom_dir.<locals>.CustomDirWithX.__dir__�����	r^N)rhrirjr�r�rkr^r\�CustomDirWithXr��s���A�
r^r�c��eZdZd�Zy)�[ProtocolTests.test_protocols_isinstance_not_fooled_by_custom_dir.<locals>.CustomDirWithoutXc��dgS�Nr�rkr�s r\r�zcProtocolTests.test_protocols_isinstance_not_fooled_by_custom_dir.<locals>.CustomDirWithoutX.__dir__�s	���u�r^N)rhrirjr�rkr^r\�CustomDirWithoutXr�����
r^r�r�)rWr�r�r�s    r\�2test_protocols_isinstance_not_fooled_by_custom_dirz@ProtocolTests.test_protocols_isinstance_not_fooled_by_custom_dir�sX��	�	�8�	�
�	�	�	�
	�	�	
���n�.��5�� � �!2�!4�d�;r^c�@���Gd�d�}Gd�d��G�fd�d�}Gd�d|�}Gd	�d
|�}Gd�d�}td
��tGd�dt��}tGd�dt��}tGd�dt���}tG�fd�dt���}	tGd�dt��}
tG�fd�dt���}||||	|
|fD]�}||||fD]I}
|j|
j|j��5|j|
�|�ddd��K|jd|j��5|j
|�|�ddd���y#1swY��xYw#1swY��xYw)Nc��eZdZed��Zy)�UProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.Cc��td��)N�norr�s r\r�zZProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.C.attr�s
��$�T�*�*r^NrPrkr^r\rBr��s��
�
+��
+r^rBc��eZdZdd�Zy)�dProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.CustomDescriptorNc��td���N�NO��RuntimeErrorrUs   r\rXzlProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.CustomDescriptor.__get__��
��"�4�(�(r^rbrYrkr^r\rZr��s��
)r^rZc���eZdZW��Zy)�UProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.DNr]r^s�r\rEr��r_r^rEc��eZdZy)�UProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.ENr|rkr^r\r�r�
r�r^r�c��eZdZy)�UProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.FNr|rkr^r\r�r�
r�r^r�c��eZdZd�Zy)�eProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.WhyWouldYouDoThisc��td��)Nr�r�)rWr�s  r\rzqProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.WhyWouldYouDoThis.__getattr__
s
��"�5�)�)r^Nrrkr^r\�WhyWouldYouDoThisr�
s��
*r^r�rc��eZdZed��Zy)�UProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.Pc��yrbrkr�s r\r�zZProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.P.attr
rir^NrPrkr^r\r�r�

rjr^r�c��eZdZUeed<y)�VProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.P1r�Nr�rkr^r\rNr�
rmr^rNc��eZdZed��Zy)�VProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.PGc��yrbrkr�s r\r�z[ProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.PG.attr
rir^NrPrkr^r\r#r�
rjr^r#c���eZdZUW�ed<y)�WProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.PG1r�Nrsrts�r\rur�
rvr^ruc��eZdZd�Zy)�[ProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.MethodPc��yrbrkr�s r\r�z`ProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.MethodP.attr!
r�r^Nr]rkr^r\rzr�
r�r^rzc���eZdZdW�fd�Zy)�\ProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.MethodPGr�c��yrbrkr�s r\r�zaProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.MethodPG.attr%
r�r^Nr]rts�r\r~r�#
rr^r~r�)rr*r'rurhr�r�)rWrBrEr�r�r�r�rNr#rurzr~r�rHrZrs              @@r\�<test_protocols_isinstance_attribute_access_with_side_effectszJProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects�s����	+�	+�
	)�	)�	&�	&�
	������	*�	*�
�C�L��	�	 ��	 �
�	 �
�	��	�
�	�
�	 ��!��	 �
�	 �
�	�(�1�+�	�
�	�
�	 �h�	 �
�	 �
�	%�x��{�	%�
�	%� ��R��g�x�?�N��A�q�!����\�\��.�.�#1�#:�#:�"���)�)�%�'�>�B�	��$����)�-�6�6����(�(�):�)<�n�M�	��@������s�&F�%F�F�F	c�v�tGd�dt��}Gd�d�}|j|�|�y)Nc��eZdZUeed<y)�?ProtocolTests.test_protocols_isinstance___slots__.<locals>.HasXr�Nr�rkr^r\r�r�8
r�r^r�c��eZdZdZy)�MProtocolTests.test_protocols_isinstance___slots__.<locals>.HasNothingButSlotsr�N�rhrirj�	__slots__rkr^r\�HasNothingButSlotsr�<
s���Ir^r��r*r'r�)rWr�r�s   r\�#test_protocols_isinstance___slots__z1ProtocolTests.test_protocols_isinstance___slots__5
s=��
�	�8�	�
�	�	�	�	
���0�2�D�9r^c�D�Gd�d�}Gd�d�}Gd�d�}Gd�d�}|j|d	d
d�t�|j|d	d
�t�|jt�t�|j|d	d
�t�|jt�t�|jt�t�|j|d�t�|j|�t�|j|�t�|j|�t�|j|�t�|jt�t�|jtd	d
�t�y)
Nc��eZdZd�Zy)�<ProtocolTests.test_protocols_isinstance_py36.<locals>.APointc�.�||_||_||_yrb�r�r�r�)rWr�r�r�s    r\r�zEProtocolTests.test_protocols_isinstance_py36.<locals>.APoint.__init__C
s��������"��
r^Nr�rkr^r\�APointr�B
s��
#r^r�c��eZdZdZd�Zy)�<ProtocolTests.test_protocols_isinstance_py36.<locals>.BPointr�c� �||_||_yrb�r�r�r�s   r\r�zEProtocolTests.test_protocols_isinstance_py36.<locals>.BPoint.__init__K
s�������r^N)rhrirjr�r�rkr^r\�BPointr�H
s���E�
r^r�c��eZdZd�Zd�Zy)�7ProtocolTests.test_protocols_isinstance_py36.<locals>.Cc��||_yrb�r�rs  r\r�z@ProtocolTests.test_protocols_isinstance_py36.<locals>.C.__init__P
�	�� ��	r^c��yrbrkr�s  r\r�z<ProtocolTests.test_protocols_isinstance_py36.<locals>.C.methS
���r^N)rhrirjr�r�rkr^r\rBr�O
s��
!�
r^rBc��eZdZy)�9ProtocolTests.test_protocols_isinstance_py36.<locals>.BadNr|rkr^r\�Badr�V
r�r^r�rnr�r�r�)	r�r�r�r�r�r�r�r�r�)rWr�r�rBr�s     r\�test_protocols_isinstance_py36z,ProtocolTests.test_protocols_isinstance_py36A
s&��	#�	#�	�	�	�	�	�����f�Q��3�/��7����f�Q��l�E�2�� � ���E�2����f�Q��l�H�5����e�g�u�-����h�j�%�0����a��e�U�+�� � ����.�� � ����.�� � ����1�� � ����1�� � ���(�3����b��A�h��1r^c���td�}tGd�dt��}tGd�dt|��}Gd�d�}|j|d�|�|j|d�|�y)	Nrc��eZdZdZy)�7ProtocolTests.test_protocols_isinstance_init.<locals>.PrnNr{rkr^r\r�r�i
r�r^r�c��eZdZdZy)�8ProtocolTests.test_protocols_isinstance_init.<locals>.PGrnNr{rkr^r\r#r�m
r�r^r#c��eZdZd�Zy)�7ProtocolTests.test_protocols_isinstance_init.<locals>.Cc��||_yrbr�r�s  r\r�z@ProtocolTests.test_protocols_isinstance_init.<locals>.C.__init__r
r�r^Nr�rkr^r\rBr�q
r�r^rBrn)rr*r'r�)rWrr�r#rBs     r\�test_protocols_isinstance_initz,ProtocolTests.test_protocols_isinstance_initf
sw���C�L��	�	��	�
�	�
�	��!��	�
�	�	�	�	
���a��d�A�&����a��d�B�'r^c���tGd�dt��}Gd�d�}|�}|j||�d|_|j	||�|`|j||�y)Nc��eZdZUeed<y)�DProtocolTests.test_protocols_isinstance_monkeypatching.<locals>.HasXr�Nr�rkr^r\r�r�y
r�r^r�c��eZdZy)�CProtocolTests.test_protocols_isinstance_monkeypatching.<locals>.FooNr|rkr^r\r�r�}
r�r^r�r�)r*r'r�r�r�)rWr�r�rfs    r\�(test_protocols_isinstance_monkeypatchingz6ProtocolTests.test_protocols_isinstance_monkeypatchingx
se��	�	�8�	�
�	�	���E��� � ��D�)�������a��&�
�C�� � ��D�)r^c��Gd�dtt�}Gd�d|t�}Gd�d�}Gd�d�}|t}|j|�|�|j	||�Gd	�d
|t�}Gd�d|t�}|t
}|j
|�|�|j||�y)
Nc��eZdZy)�=ProtocolTests.test_protocol_checks_after_subscript.<locals>.PNr|rkr^r\r�r��
r�r^r�c��eZdZy)�=ProtocolTests.test_protocol_checks_after_subscript.<locals>.CNr|rkr^r\rBr��
r�r^rBc��eZdZy)�BProtocolTests.test_protocol_checks_after_subscript.<locals>.Other1Nr|rkr^r\�Other1r��
r�r^rc��eZdZy)�BProtocolTests.test_protocol_checks_after_subscript.<locals>.Other2Nr|rkr^r\�Other2r�
r�r^rc��eZdZy)�>ProtocolTests.test_protocol_checks_after_subscript.<locals>.D1Nr|rkr^r\�D1r�
r�r^rc��eZdZy)�>ProtocolTests.test_protocol_checks_after_subscript.<locals>.D2Nr|rkr^r\�D2r�
r�r^r	)r'rr
r�r`r�r�r])	rWr�rBrr�CArr	�CIs	         r\�$test_protocol_checks_after_subscriptz2ProtocolTests.test_protocol_checks_after_subscript�
s���"����"���!�������
�s�V��� � ���1�-�� � ���+���3�����3���
�s�V�����b�d�A�&����b�!�$r^c��tGd�dt��}Gd�dt�}Gd�d|�}Gd�d�}|j|�|j|�|j|�|�|j|�|�y)	Nc��eZdZdZy)�8ProtocolTests.test_protocols_support_register.<locals>.PrnNr{rkr^r\r�r�
r�r^r�c��eZdZd�Zy)�9ProtocolTests.test_protocols_support_register.<locals>.PMc��yrbrkr�s r\r�z>ProtocolTests.test_protocols_support_register.<locals>.PM.meth�
r�r^Nr�rkr^r\�PMr�
r�r^rc��eZdZy)�8ProtocolTests.test_protocols_support_register.<locals>.DNr|rkr^r\rEr�
r�r^rEc��eZdZy)�8ProtocolTests.test_protocols_support_register.<locals>.CNr|rkr^r\rBr�
r�r^rB)r*r'r�r�)rWr�rrErBs     r\�test_protocols_support_registerz-ProtocolTests.test_protocols_support_register�
sp��	�	��	�
�	�	!��	!�	����
�	�
�
�1�
�	�
�
�1�
����a�c�1�%����a�c�1�%r^c���tGd�dt��}Gd�d�}Gd�d|�}Gd�d�}|j|�|�|j|�|�y)	Nc��eZdZdZy)�NProtocolTests.test_none_on_non_callable_doesnt_block_implementation.<locals>.PrnNr{rkr^r\r�r�
r�r^r�c��eZdZdZy)�NProtocolTests.test_none_on_non_callable_doesnt_block_implementation.<locals>.ArnNr{rkr^r\r�r�
r�r^r�c��eZdZdZy)�NProtocolTests.test_none_on_non_callable_doesnt_block_implementation.<locals>.BNr{rkr^r\r�r�
����Ar^r�c��eZdZd�Zy)�NProtocolTests.test_none_on_non_callable_doesnt_block_implementation.<locals>.Cc��d|_yrbr�r�s r\r�zWProtocolTests.test_none_on_non_callable_doesnt_block_implementation.<locals>.C.__init__�
�	����r^Nr�rkr^r\rBr"�
���
r^rBr��rWr�r�r�rBs     r\�5test_none_on_non_callable_doesnt_block_implementationzCProtocolTests.test_none_on_non_callable_doesnt_block_implementation�
sa��	�	��	�
�	�	�	�	��	�	�	�	
���a�c�1�%����a�c�1�%r^c���tGd�dt��}Gd�d�}Gd�d|�}Gd�d�}|j|�|�|j|�|�y)	Nc��eZdZd�Zy)�DProtocolTests.test_none_on_callable_blocks_implementation.<locals>.Pc��yrbrkr�s r\r�zFProtocolTests.test_none_on_callable_blocks_implementation.<locals>.P.x�
rzr^Nr{rkr^r\r�r*�
r|r^r�c��eZdZd�Zy)�DProtocolTests.test_none_on_callable_blocks_implementation.<locals>.Ac��yrbrkr�s r\r�zFProtocolTests.test_none_on_callable_blocks_implementation.<locals>.A.x�
rzr^Nr{rkr^r\r�r-�
r�r^r�c��eZdZdZy)�DProtocolTests.test_none_on_callable_blocks_implementation.<locals>.BNr{rkr^r\r�r0�
r r^r�c��eZdZd�Zy)�DProtocolTests.test_none_on_callable_blocks_implementation.<locals>.Cc��d|_yrbr�r�s r\r�zMProtocolTests.test_none_on_callable_blocks_implementation.<locals>.C.__init__�
r$r^Nr�rkr^r\rBr2�
r%r^rB)r*r'r�r&s     r\�+test_none_on_callable_blocks_implementationz9ProtocolTests.test_none_on_callable_blocks_implementation�
sa��	�	��	�
�	�	�	�	��	�	�	�	
� � ���a�(�� � ���a�(r^c���Gd�dt�}tGd�dt��}Gd�d|�}Gd�d|�}Gd	�d
tj��}Gd�d
tj��}|j	|�|�|j	|�|�|j||�|j||�|j
|�|�|j||�|jdt|��|jdt|��|jdt|��|jdt|��hd�}|jt|�j�t|�j�|z�|jt|�j�t|�j�|z�y)Nc��eZdZdZy)�5ProtocolTests.test_non_protocol_subclasses.<locals>.PrnNr{rkr^r\r�r7�
r�r^r�c��eZdZd�Zy)�6ProtocolTests.test_non_protocol_subclasses.<locals>.PRc��yrbrkr�s r\r�z;ProtocolTests.test_non_protocol_subclasses.<locals>.PR.meth�
r�r^Nr�rkr^r\�PRr9�
��� r^r;c��eZdZdZy)�8ProtocolTests.test_non_protocol_subclasses.<locals>.NonPrnNr{rkr^r\�NonPr>�
r�r^r?c��eZdZy)�9ProtocolTests.test_non_protocol_subclasses.<locals>.NonPRNr|rkr^r\�NonPRrA�
r�r^rBc��eZdZdZy)�5ProtocolTests.test_non_protocol_subclasses.<locals>.CrnNr{rkr^r\rBrD�
r�r^rBr�c��eZdZd�Zy)�5ProtocolTests.test_non_protocol_subclasses.<locals>.Dc��yrbrkr�s r\r�z:ProtocolTests.test_non_protocol_subclasses.<locals>.D.meth�
r�r^Nr�rkr^r\rErF�
r�r^rE�__protocol_attrs__�__non_callable_proto_members__>r��_is_protocolr�r��__subclasshook__�_is_runtime_protocol)r'r*r�ABCMetar�r`r�r]�assertNotIn�vars�assertLessEqual�keys)rWr�r;r?rBrBrE�acceptable_extra_attrss        r\�test_non_protocol_subclassesz*ProtocolTests.test_non_protocol_subclasses�
s���	��	�
�	!��	!�
�	!�	�1�	�	�B��	�#�+�+�	�	!�#�+�+�	!�	
� � ���d�+�� � ���e�,�� � ��D�)�� � ��E�*����e�g�r�*����e�R�(����-�t�D�z�:����-�t�E�{�;����9�4��:�F����9�4��;�G�"
��	
���T�$�Z�_�_�.��Q�����AW�0W�X������K�����Q�����1G� G�	
r^c��Gd�dt�}Gd�d�}Gd�d�}Gd�d|�}|j|�|�|j|�|�|j||�|j	||�y)	Nc��eZdZdZy)�1ProtocolTests.test_custom_subclasshook.<locals>.PrnNr{rkr^r\r�rV�
r�r^r�c��eZdZy)�7ProtocolTests.test_custom_subclasshook.<locals>.OKClassNr|rkr^r\�OKClassrX�
r�r^rYc��eZdZdZy)�8ProtocolTests.test_custom_subclasshook.<locals>.BadClassrnNr{rkr^r\�BadClassr[�
r�r^r\c��eZdZed��Zy)�1ProtocolTests.test_custom_subclasshook.<locals>.Cc�8�|jjd�S�N�OK)rhr��rX�others  r\rKzBProtocolTests.test_custom_subclasshook.<locals>.C.__subclasshook__�
s���~�~�0�0��6�6r^N�rhrirj�classmethodrKrkr^r\rBr^�
s��
�
7��
7r^rB)r'r�r�r]r`)rWr�rYr\rBs     r\�test_custom_subclasshookz&ProtocolTests.test_custom_subclasshook�
sr��	��	�	��	�	�	7��	7�
	
���g�i��+�� � ���Q�/����g�q�)�� � ��1�-r^c��tGd�dt��}Gd�d�}Gd�d�}|j|�|�|j|�|�|j	||�|j||�Gd�dt�}d	}|j
t|�5tt|�ddd�|j
t|�5tt�|�ddd�y#1swY�=xYw#1swYyxYw)
Nc� �eZdZdZed��Zy)�6ProtocolTests.test_custom_subclasshook_2.<locals>.HasXrnc��t|d�Sr���hasattrrbs  r\rKzGProtocolTests.test_custom_subclasshook_2.<locals>.HasX.__subclasshook__����u�c�*�*r^N)rhrirjr�rerKrkr^r\r�ris��
�A�
�
+��
+r^r�c��eZdZy)�7ProtocolTests.test_custom_subclasshook_2.<locals>.EmptyNr|rkr^r\r�ror�r^r�c��eZdZdZy)�@ProtocolTests.test_custom_subclasshook_2.<locals>.ImplementsHasXrnNr{rkr^r\�ImplementsHasXrqr�r^rrc��eZdZed��Zy)�EProtocolTests.test_custom_subclasshook_2.<locals>.NotRuntimeCheckablec��t|d�Sr�rkrbs  r\rKzVProtocolTests.test_custom_subclasshook_2.<locals>.NotRuntimeCheckable.__subclasshook__!rmr^Nrdrkr^r\�NotRuntimeCheckablert s��
�
+��
+r^rvr�)r*r'r�r�r]r`r�r�rTr�r�)rWr�r�rrrv�must_be_runtime_checkables      r\�test_custom_subclasshook_2z(ProtocolTests.test_custom_subclasshook_2s���	�	+�8�	+�
�	+�	��	�	�	
���n�.��5�� � ���$�/����n�d�3�� � ���-�
	+�(�	+�
0�	"�
�
#�
#�I�/H�
I��v�2�3�J�
�
#�
#�I�/H�
I��v�x�!4�5�J�
I�J�
I��
I�
I�s�&C3�C?�3C<�?Dc��tGd�dt��}Gd�d�}|jtd�5t	|�|�ddd�y#1swYyxYw)Nc��eZdZdZy)�8ProtocolTests.test_issubclass_fails_correctly.<locals>.PrnNr{rkr^r\r�r{0r�r^r�c��eZdZy)�8ProtocolTests.test_issubclass_fails_correctly.<locals>.CNr|rkr^r\rBr}4r�r^rBr�)r*r'r�r�rT�rWr�rBs   r\�test_issubclass_fails_correctlyz-ProtocolTests.test_issubclass_fails_correctly/sL��	�	��	�
�	�	�
�
�
#�
#�I�/V�
W��q�s�A��X�
W�
W�s�A�Ac���td�}td�}tGd�dt||f��}Gd�d|t|ft|�}|j	t
�5|tddd�|j	t
�5|ttfddd�Gd�d|t|f�}|j|t�|�y#1swY�ixYw#1swY�HxYw)	Nr�Sc��eZdZd�Zy)�9ProtocolTests.test_defining_generic_protocols.<locals>.PRc��yrbrkr�s r\r�z>ProtocolTests.test_defining_generic_protocols.<locals>.PR.meth?r�r^Nr�rkr^r\r;r�=r<r^r;c��eZdZdZy)�8ProtocolTests.test_defining_generic_protocols.<locals>.PrnN�rhrirjr�rkr^r\r�r�Ar�r^r�c��eZdZy)�8ProtocolTests.test_defining_generic_protocols.<locals>.CNr|rkr^r\rBr�Ir�r^rB)rr*r'r�r�r�r�r�)rWrr�r;r�rBs      r\�test_defining_generic_protocolsz-ProtocolTests.test_defining_generic_protocols9s����C�L���C�L��	�	!��!�Q�$��	!�
�	!�	��3��6�
�H�Q�K�	��
�
�y�
)��s�G�*�
�
�
�y�
)�
�c�3�h�K�*�	"��3��6�
�!����f�a��f�h��*�*�
)��
)�
)�s�%
C�C#�C �#C,c	���td��td�}tGd�dtt�|f��}Gd�d|tt
ft�}|j
t�5t|tt
f|�ddd�|j||�|j
t�5|tddd�G�fd�dtt��}G�fd	�d
t�t�}tGd�d|t
t��}Gd
�d�}|j|�|�y#1swY��xYw#1swY��xYw)Nrr�c��eZdZd�Zy)�CProtocolTests.test_defining_generic_protocols_old_style.<locals>.PRc��yrbrkr�s r\r�zHProtocolTests.test_defining_generic_protocols_old_style.<locals>.PR.methSr�r^Nr�rkr^r\r;r�Qr<r^r;c��eZdZdZy)�BProtocolTests.test_defining_generic_protocols_old_style.<locals>.PrnNr�rkr^r\r�r�Ur�r^r�c� ��eZdZdW�defd�Zy)�CProtocolTests.test_defining_generic_protocols_old_style.<locals>.P1r�r�c��yrbrkr�s  r\r*zGProtocolTests.test_defining_generic_protocols_old_style.<locals>.P1.bar_���r^N�rhrirjr�r*rts�r\rNr�^����+�Q�+�3�+r^rNc� ��eZdZdW�defd�Zy)�CProtocolTests.test_defining_generic_protocols_old_style.<locals>.P2r�r�c��yrbrkr�s  r\r*zGProtocolTests.test_defining_generic_protocols_old_style.<locals>.P2.barbr�r^Nr�rts�r\r8r�ar�r^r8c��eZdZdZy)�EProtocolTests.test_defining_generic_protocols_old_style.<locals>.PSubrnNr{rkr^r\�PSubr�dr�r^r�c� �eZdZdZdedefd�Zy)�EProtocolTests.test_defining_generic_protocols_old_style.<locals>.Testrnr�r�c��|Srbrkr�s  r\r*zIProtocolTests.test_defining_generic_protocols_old_style.<locals>.Test.barks���r^N)rhrirjr�r�r*rkr^r\�Testr�hs���A�
�S�
�S�
r^r�)rr*r'r#r�r�r�r�rTr]r�)	rWr�r;r�rNr8r�r�rs	        @r\�)test_defining_generic_protocols_old_stylez7ProtocolTests.test_defining_generic_protocols_old_styleMs����C�L���C�L��	�	!��7�1�a�4�=�	!�
�	!�	��3��8��h�	��
�
�y�
)��r�#�s�(�|�R�(�*����a��$�
�
�
�y�
)��s�G�*�	,��7�1�:�	,�	,����X�	,�
�	�2�c�7�H�	�
�	�	�	�	
���d�f�d�+�-*�
)��*�
)�s�,D;�5
E�;E�Ec��td���}d��}|j|�|�|j||�td���}|jd|�|jt|�y)Nc�>���d�x�f�G��fd�d��
}t|�S)rc�&��eZdZW�ZdW�ddfd�Zy)�HProtocolTests.test_pep695_generic_protocol_callable_members.<locals>.Foor�r�Nc��yrbrkr�s  r\r�zMProtocolTests.test_pep695_generic_protocol_callable_members.<locals>.Foo.methsrlr^r�r�s��r\r�r�qs���-�a�-�D�-r^r�r�r�s @@r\z<generic parameters of Foo>z`ProtocolTests.test_pep695_generic_protocol_callable_members.<locals>.<generic parameters of Foo>qs����	.�	.�X�	.r^c�4���d�x�f�G��fd�d��
}|�S)rc�&��eZdZW�ZdW�ddfd�Zy)�HProtocolTests.test_pep695_generic_protocol_callable_members.<locals>.Barr�r�Nc��yrbrkr�s  r\r�zMProtocolTests.test_pep695_generic_protocol_callable_members.<locals>.Bar.methvrlr^r�r�s��r\r�r�us���-�a�-�D�-r^r�rkr�s @@r\z<generic parameters of Bar>z`ProtocolTests.test_pep695_generic_protocol_callable_members.<locals>.<generic parameters of Bar>us���!�	.�	.�	.r^c�>���d�x�f�G��fd�d��
}t|�S)rc�"��eZdZW�ZdW�fd�Zy)�RProtocolTests.test_pep695_generic_protocol_callable_members.<locals>.SupportsTruncr�c��yrbrkr�s r\�	__trunc__z\ProtocolTests.test_pep695_generic_protocol_callable_members.<locals>.SupportsTrunc.__trunc__}���cr^N)rhrirjrvr�r�s��r\�
SupportsTruncr�{s���)�1�)r^r�r�r�s @@r\z%<generic parameters of SupportsTrunc>zjProtocolTests.test_pep695_generic_protocol_callable_members.<locals>.<generic parameters of SupportsTrunc>{s����	*�	*�x�	*r^g)r*r�r]r{)rWr�r�r�s    r\�-test_pep695_generic_protocol_callable_membersz;ProtocolTests.test_pep695_generic_protocol_callable_memberspsq��	�	.�
�	.�	.�	
���c�e�S�)����c�3�'�	�	*�
�	*�	
���c�=�1����e�]�3r^c��td�}Gd�dt|�}Gd�d||�}|j|t�jd�Gd�d�}Gd	�d
|||�}|j|t�jd�Gd�d|||�}|j|t�jd�y)
Nrc��eZdZy)�)ProtocolTests.test_init_called.<locals>.PNr|rkr^r\r�r��r�r^r�c��eZdZd�Zy)�)ProtocolTests.test_init_called.<locals>.Cc��d|_yr`��testr�s r\r�z2ProtocolTests.test_init_called.<locals>.C.__init__�r�r^Nr�rkr^r\rBr�����
!r^rBrac��eZdZd�Zy)�)ProtocolTests.test_init_called.<locals>.Bc��d|_yr`r�r�s r\r�z2ProtocolTests.test_init_called.<locals>.B.__init__�r�r^Nr�rkr^r\r�r��r�r^r�c��eZdZy)�*ProtocolTests.test_init_called.<locals>.D1Nr|rkr^r\rr��r�r^rc��eZdZy)�*ProtocolTests.test_init_called.<locals>.D2Nr|rkr^r\r	r��r�r^r	)rr'r�r�r�)rWrr�rBr�rr	s       r\�test_init_calledzProtocolTests.test_init_called�s����C�L��"����"�	!��!��	!�	
�����3������-�	!�	!�	��A�a�D�	�	
�����C������.�	��1��q�	�	
�����C������.r^c��td�}Gd�dt|�}Gd�d||�}|j|t�jd�|jt�5|td�ddd�|jt�5|td��ddd�y#1swY�8xYw#1swYyxYw)	Nrc��eZdZy)�(ProtocolTests.test_new_called.<locals>.PNr|rkr^r\r�r��r�r^r�c���eZdZ�fd�Z�xZS)�(ProtocolTests.test_new_called.<locals>.Cc�6��t�|�|g|���}d|_|Sr`)r��__new__r�)rXr�rWr�s   �r\r�z0ProtocolTests.test_new_called.<locals>.C.__new__�s"����w��s�2�T�2�� ��	��r^�rhrirjr�r�r�s@r\rBr��s
���
�
r^rBrar�r
)rr'r�r�r�r�r�)rWrr�rBs    r\�test_new_calledzProtocolTests.test_new_called�s����C�L��"����"�	��!��	�	
�����3������-�
�
�
�y�
)��A�c�F�2�J�*�
�
�
�y�
)��A�c�F�R�L�*�
)�*�
)��
)�
)�s�)B0�B<�0B9�<Cc�T�td�}td�}|jt�5Gd�dt||f�}ddd�|jt�5Gd�dtt�}ddd�|jt�5Gd�dt|t|�}ddd�|jt�5Gd	�dt
j||ft|�}ddd�y#1swY��xYw#1swY��xYw#1swY�fxYw#1swYyxYw)
Nrr�c��eZdZy)�6ProtocolTests.test_protocols_bad_subscripts.<locals>.PNr|rkr^r\r�r��r�r^r�c��eZdZy)�6ProtocolTests.test_protocols_bad_subscripts.<locals>.QNr|rkr^r\rr��r�r^rc��eZdZy)�6ProtocolTests.test_protocols_bad_subscripts.<locals>.RNr|rkr^r\rr��r�r^rc��eZdZy)�6ProtocolTests.test_protocols_bad_subscripts.<locals>.SNr|rkr^r\r�r��r�r^)rr�r�r'r�rcr�)rWrr�r�rrs      r\�test_protocols_bad_subscriptsz+ProtocolTests.test_protocols_bad_subscripts�s����C�L���C�L��
�
�
�y�
)�)�H�Q��T�N�)�*�
�
�
�y�
)�(�H�S�M�(�*�
�
�
�y�
)�3�H�Q�K��!��3�*�
�
�
�y�
)�<�F�N�N�1�a�4�(�(�1�+�<�*�
)�
*�
)��
)�
)��
)�
)��
)�
)�s/�C:�D�D�
'D�:D�D�D�D'c� �td�}td�}Gd�dt||f�}|jt|||f�j	d��|jt|t
tf�j	d��y)Nrr�c��eZdZy)�4ProtocolTests.test_generic_protocols_repr.<locals>.PNr|rkr^r\r�r��r�r^r�z	P[~T, ~S]zP[int, str])rr'r�r�r�r�r��rWrr�r�s    r\�test_generic_protocols_reprz)ProtocolTests.test_generic_protocols_repr�sk���C�L���C�L��%���A���%�����Q�q�!�t�W�
�.�.�{�;�<�����Q�s�C�x�[�)�2�2�=�A�Br^c�r�td�}td�}Gd�dt||f�}|j||�|j|t|f|t|f�|j|||ft||ftt
f|ttt
fttt
ff�y)Nrr�c��eZdZy)�2ProtocolTests.test_generic_protocols_eq.<locals>.PNr|rkr^r\r�r��r�r^r�)rr'r�r�rr�r�s    r\�test_generic_protocols_eqz'ProtocolTests.test_generic_protocols_eq�s����C�L���C�L��%���A���%�����A������3��6��A�c�1�f�I�.�����1�a�4���q�!�t��-�c�3�h�7��5��c��?�E�#�s�(�O�;�<�	>r^c�T�td�}Gd�dt|�}|j|j|f�|j|tjd�|j|tj
tf�|j
|tj|�y)Nrc��eZdZy)�DProtocolTests.test_generic_protocols_special_from_generic.<locals>.PNr|rkr^r\r�r��r�r^r�rk)rr'r�r�r�r�r�r�)rWrr�s   r\�+test_generic_protocols_special_from_genericz9ProtocolTests.test_generic_protocols_special_from_generic�s{���C�L��"����"�����)�)�A�4�0�����3��.�.��3�����3����3�&�1��
�
�a��f�'�'��+r^c���tGd�dt��}Gd�dt�}td�}Gd�dt|�}|j|j�|j|j�|j|j�|j|j�|j|j�|j|tj�|jtj|�dh�|jtj|�d	h�|jttj|��td	dh��y)
Nc��eZdZdZy)�FProtocolTests.test_generic_protocols_special_from_protocol.<locals>.PRrnNr{rkr^r\r;r��r�r^r;c��eZdZd�Zy)�EProtocolTests.test_generic_protocols_special_from_protocol.<locals>.Pc��yrbrkr�s r\r�zJProtocolTests.test_generic_protocols_special_from_protocol.<locals>.P.meth�r�r^Nr�rkr^r\r�r��r�r^r�rc��eZdZdZd�Zy)�FProtocolTests.test_generic_protocols_special_from_protocol.<locals>.PGrnc��yrbrkr�s r\r�zKProtocolTests.test_generic_protocols_special_from_protocol.<locals>.PG.meth�r�r^N)rhrirjr�r�rkr^r\r#r��s���A�
r^r#r�r�)r*r'rr�rJr�rLr�r�rc�_get_protocol_attrs�	frozenset)rWr;r�rr#s     r\�,test_generic_protocols_special_from_protocolz:ProtocolTests.test_generic_protocols_special_from_protocol�s��	�	��	�
�	�	��	�
�C�L��	��!��	�	
������'�������(�������(�����/�/�0�����/�/�0�����3��,�,�-�����3�3�A�6���A�����3�3�B�7�#��?�����6�#=�#=�b�#A�B�"�C��=�1�	3r^c��|jt�5tGd�d��}ddd�Gd�dt�}|jt�5tGd�d|��}ddd�y#1swY�KxYw#1swYyxYw)Nc��eZdZy)�8ProtocolTests.test_no_runtime_deco_on_nominal.<locals>.CNr|rkr^r\rBr��s��r^rBc��eZdZdZy)�<ProtocolTests.test_no_runtime_deco_on_nominal.<locals>.ProtornNr{rkr^r\r�r��r�r^r�c��eZdZy)�?ProtocolTests.test_no_runtime_deco_on_nominal.<locals>.ConcreteNr|rkr^r\r�r��s��r^r�)r�r�r*r')rWrBr�r�s    r\�test_no_runtime_deco_on_nominalz-ProtocolTests.test_no_runtime_deco_on_nominal�st��
�
�
�y�
)�
��M���*�	�H�	��
�
�y�
)�
�
�5�
��
�*�
)�*�
)��*�
)�s�A4�B�4A=�B	c��tGd�dt��}Gd�dt�}|j|�|�Gd�d�}Gd�d�}|j	|�|�|j	|�|�Gd	�d
�}Gd�d�}|j	|�|�|j	|�|�y)
Nc��eZdZdZy)�4ProtocolTests.test_none_treated_correctly.<locals>.PNr{rkr^r\r�r�s���Ar^r�c��eZdZy)�4ProtocolTests.test_none_treated_correctly.<locals>.BNr|rkr^r\r�r�r�r^r�c��eZdZdZy)�4ProtocolTests.test_none_treated_correctly.<locals>.CrnNr{rkr^r\rBr�r�r^rBc��eZdZdZy)�4ProtocolTests.test_none_treated_correctly.<locals>.DNr{rkr^r\rErr r^rEc��eZdZd�Zy)�5ProtocolTests.test_none_treated_correctly.<locals>.CIc��d|_yrKr�r�s r\r�z>ProtocolTests.test_none_treated_correctly.<locals>.CI.__init__r�r^Nr�rkr^r\rrr�r^rc��eZdZd�Zy)�5ProtocolTests.test_none_treated_correctly.<locals>.DIc��d|_yrbr�r�s r\r�z>ProtocolTests.test_none_treated_correctly.<locals>.DI.__init__r$r^Nr�rkr^r\�DIrr%r^r)r*r'r�r�r�)rWr�r�rBrErrs       r\�test_none_treated_correctlyz)ProtocolTests.test_none_treated_correctly�s���	�	��	�
�	�	���� � ���a�(�	�	�	�	�	
���a�c�1�%����a�c�1�%�	�	�	�	�	
���b�d�A�&����b�d�A�&r^c���Gd�dt�}tjtj|f}tj|tjf}|j	||�y)Nc��eZdZdZy)�1ProtocolTests.test_protocols_in_unions.<locals>.PNr{rkr^r\r�rr r^r�)r'rcrr�r�)rWr��Alias�Alias2s    r\�test_protocols_in_unionsz&ProtocolTests.test_protocols_in_unionssN��	��	����V�_�_�a�/�0�����a����0�1�������'r^c���td�}tGd�dt|��aGd�dtt�at�}d|_d|_ttjdz�D]�}tj||�}tj|�}|j|jd�|j|jd�|j|jd�|j|jddd	��tjt|�}tj|�}Gd
�d�}|j!|�|���y)Nrc��eZdZdZy)r�rnNr{rkr^r\r�r�(r�r^r�c��eZdZy)�CPNr|rkr^r\rr,r�r^rr�rrnr]c��eZdZdZy)�2ProtocolTests.test_protocols_pickleable.<locals>.ErnNr{rkr^r\r�r<s���r^r�)rr*r'r�r�rrkr*rrrsrtrvrur�r��__dict__r�)	rWrrrqrRr�r�rEr�s	         r\�test_protocols_pickleablez'ProtocolTests.test_protocols_pickleable$s���C�L��	�	����	�
�	�	��3��	�
�D���������6�2�2�Q�6�7�E����Q��&�A����Q��A����Q�U�U�B�'����Q�U�U�E�*����Q�S�S�!�$����Q�Z�Z��E�)B�C����Q��&�A����Q��A�
�
�
�!�!�!�#�q�)�8r^c��|jttj�|j	t
tj�yrb)r]r�rc�SupportsIntr`r�r�s r\�test_supports_intzProtocolTests.test_supports_intAs.�����c�6�#5�#5�6�� � ��f�&8�&8�9r^c��|jttj�|j	t
tj�yrb)r]r{rc�
SupportsFloatr`r�r�s r\�test_supports_floatz!ProtocolTests.test_supports_floatEs.�����e�V�%9�%9�:�� � ��f�&:�&:�;r^c���Gd�d�}|jttj�|j|tj�|j	t
tj�y)Nc��eZdZd�Zy)�.ProtocolTests.test_supports_complex.<locals>.Cc��y)Nyrkr�s r\�__complex__z:ProtocolTests.test_supports_complex.<locals>.C.__complex__LrFr^N)rhrirjr!rkr^r\rBrKs��
r^rB)r]�complexrc�SupportsComplexr`r��rWrBs  r\�test_supports_complexz#ProtocolTests.test_supports_complexIsP��	�	�	
���g�v�'=�'=�>����a��!7�!7�8�� � ��f�&<�&<�=r^c���Gd�d�}|jttj�|j|tj�|j	t
tj�y)Nc��eZdZd�Zy)�,ProtocolTests.test_supports_bytes.<locals>.Bc��y�Nr^rkr�s r\�	__bytes__z6ProtocolTests.test_supports_bytes.<locals>.B.__bytes__Vs��r^N)rhrirjr+rkr^r\r�r(Ur�r^r�)r]r�rc�
SupportsBytesr`r�)rWr�s  r\�test_supports_bytesz!ProtocolTests.test_supports_bytesSsP��	�	�	
���e�V�%9�%9�:����a��!5�!5�6�� � ��f�&:�&:�;r^c���|jttj�|jttj�|jttj�yrb)r]r{rc�SupportsAbsr�r`r�r�s r\�test_supports_abszProtocolTests.test_supports_abs]sD�����e�V�%7�%7�8����c�6�#5�#5�6�� � ��f�&8�&8�9r^c��tttj�|j	ttj�|j	t
tj�|j
ttj�yrb)rTr{rc�
SupportsRoundr]r�r`r�r�s r\�test_supports_roundz!ProtocolTests.test_supports_roundbsT���5�&�.�.�/����e�V�%9�%9�:����c�6�#7�#7�8�� � ��f�&:�&:�;r^c��|jttj�|j	t
tj�yrb)r]r�rc�
Reversibler`r�r�s r\�test_reversiblezProtocolTests.test_reversiblehs.�����d�F�$5�$5�6�� � ��f�&7�&7�8r^c��|jttj�|j	t
tj�yrb)r]r�rc�
SupportsIndexr`r�r�s r\�test_supports_indexz!ProtocolTests.test_supports_indexls.�����c�6�#7�#7�8�� � ��f�&:�&:�;r^c��|jdtj�Gd�dtj�}Gd�d|�}|�}|j||�y)Nrc��eZdZdefd�Zy)�>ProtocolTests.test_bundled_protocol_instance_works.<locals>.C1r�c��yr�rkr�s r\�__int__zFProtocolTests.test_bundled_protocol_instance_works.<locals>.C1.__int__srFr^N)rhrirjr�r>rkr^r\r&r<rs��
��
r^r&c��eZdZy)�>ProtocolTests.test_bundled_protocol_instance_works.<locals>.C2Nr|rkr^r\r'r@ur�r^r')r�rcr/r)rWr&r'rs    r\�$test_bundled_protocol_instance_worksz2ProtocolTests.test_bundled_protocol_instance_workspsM�����a��!3�!3�4�	��#�#�	�	��	��D�����a��$r^c��tGd�dtjjt��}Gd�d�}Gd�d�}|j||�|j
||�tGd�dtjjt��}Gd	�d
�}Gd�d�}|j||�|j|�|�|j
||�|j|�|�y)
Nc��eZdZd�Zy)�@ProtocolTests.test_collections_protocols_allowed.<locals>.Customc��yrbrkr�s r\�closezFProtocolTests.test_collections_protocols_allowed.<locals>.Custom.close}r�r^N)rhrirjrFrkr^r\�CustomrD{r<r^rGc��eZdZy)�;ProtocolTests.test_collections_protocols_allowed.<locals>.ANr|rkr^r\r�rIr�r^r�c��eZdZd�Zd�Zy)�;ProtocolTests.test_collections_protocols_allowed.<locals>.Bc��gSrbrkr�s r\�__iter__zDProtocolTests.test_collections_protocols_allowed.<locals>.B.__iter__�r�r^c��yrbrkr�s r\rFzAProtocolTests.test_collections_protocols_allowed.<locals>.B.close�r�r^N)rhrirjrMrFrkr^r\r�rK�s��
�
r^r�c��eZdZdeddfd�Zy)�JProtocolTests.test_collections_protocols_allowed.<locals>.ReleasableBuffer�mvr�Nc��yrbrk�rWrQs  r\�__release_buffer__z]ProtocolTests.test_collections_protocols_allowed.<locals>.ReleasableBuffer.__release_buffer__�s��#r^)rhrirj�
memoryviewrTrkr^r\�ReleasableBufferrP�s��E�Z�E�D�Er^rVc��eZdZy)�;ProtocolTests.test_collections_protocols_allowed.<locals>.CNr|rkr^r\rBrX�r�r^rBc�,�eZdZdedefd�Zdeddfd�Zy)�;ProtocolTests.test_collections_protocols_allowed.<locals>.D�flagsr�c��td�Sr*)rU)rWr[s  r\�
__buffer__zFProtocolTests.test_collections_protocols_allowed.<locals>.D.__buffer__�s��!�#��&r^rQNc��yrbrkrSs  r\rTzNProtocolTests.test_collections_protocols_allowed.<locals>.D.__release_buffer__�r�r^)rhrirjr�rUr]rTrkr^r\rErZ�s(��
'��
'�
�
'�
�Z�
�D�
r^rE)
r*rrr�r'r]r`�Bufferr�r�)rWrGr�r�rVrBrEs       r\�"test_collections_protocols_allowedz0ProtocolTests.test_collections_protocols_allowedzs���	�	!�[�_�_�-�-�x�	!�
�	!�	�
�	�	�	
���a��(�� � ��F�+�	�	F�{���5�5�x�	F�
�	F�	�
�	�	�	
���a�!1�2����a�c�#3�4�� � ��$4�5�� � ���&6�7r^c��|jt�5Gd�dtt�}ddd�Gd�dtj
t�}y#1swY�(xYw)Nc��eZdZy)�EProtocolTests.test_builtin_protocol_allowlist.<locals>.CustomProtocolNr|rkr^r\�CustomProtocolrc�r�r^rdc��eZdZy)�KProtocolTests.test_builtin_protocol_allowlist.<locals>.CustomContextManagerNr|rkr^r\�CustomContextManagerrf�r�r^rg)r�r�rr'rc�ContextManager)rWrdrgs   r\�test_builtin_protocol_allowlistz-ProtocolTests.test_builtin_protocol_allowlist�s@��
�
�
�y�
)�
��8�
�*�	�6�#8�#8�(�	�	*�
)�s�A�Ac��Gd�dt�}|jtd�5td|�ddd�y#1swYyxYw)Nc��eZdZUeed<y)�CProtocolTests.test_non_runtime_protocol_isinstance_check.<locals>.Pr�Nr�rkr^r\r�rl�����Fr^r�z@runtime_checkablern)r'r�r�r��rWr�s  r\�*test_non_runtime_protocol_isinstance_checkz8ProtocolTests.test_non_runtime_protocol_isinstance_check�s8��	��	��
#�
#�I�/C�
D��q�!��E�
D�
D�s	�
<�Ac�F�Gd�dt�}Gd�d|�}|�y)Nc��eZdZUeed<y)�-ProtocolTests.test_super_call_init.<locals>.Pr�Nr�rkr^r\r�rr�rmr^r�c���eZdZ�fd�Z�xZS)�/ProtocolTests.test_super_call_init.<locals>.Fooc�"��t�|��yrb)r�r�)rWr�s �r\r�z8ProtocolTests.test_super_call_init.<locals>.Foo.__init__�s����� �"r^r�r�s@r\r�rt�s
���
#�
#r^r�r�)rWr�r�s   r\�test_super_call_initz"ProtocolTests.test_super_call_init�s!��	��	�	#�!�	#�	�r^c��tjjj�Gd�dtjjt�}|jdtjj�y)Nc��eZdZy)�_ProtocolTests.test_interaction_with_isinstance_checks_on_superclasses_with_ABCMeta.<locals>.FooNr|rkr^r\r�ry�r�r^r�rn)rr�Sized�_abc_registry_clearr'r�r�s  r\�Dtest_interaction_with_isinstance_checks_on_superclasses_with_ABCMetazRProtocolTests.test_interaction_with_isinstance_checks_on_superclasses_with_ABCMeta�sH�������1�1�3�8�+�/�/�'�'��8�
	
� � ��K�O�O�$9�$9�:r^c���tjjj�Gd�dtjt
�}|j
dtj�y)Nc��eZdZy)�aProtocolTests.test_interaction_with_isinstance_checks_on_superclasses_with_ABCMeta_2.<locals>.FooNr|rkr^r\r�r�r�r^r�rn)rrrzr{rcr'r�r�s  r\�Ftest_interaction_with_isinstance_checks_on_superclasses_with_ABCMeta_2zTProtocolTests.test_interaction_with_isinstance_checks_on_superclasses_with_ABCMeta_2�s<�������1�1�3�/�&�,�,��/�
	
� � ��F�L�L�1r^c��ttGd�dt���}|jt|�|jt	�|�y)Nc��eZdZy)�MProtocolTests.test_empty_protocol_decorated_with_final.<locals>.EmptyProtocolNr|rkr^r\r�r��s��'*r^r�)r&r*r'r]r�r�)rWr�s  r\�(test_empty_protocol_decorated_with_finalz6ProtocolTests.test_empty_protocol_decorated_with_final�s?��	�	�*�H�*�
�
�*����f�m�4����f�h�
�6r^c���ttGd�dt���}|jt|�|jt|�|jd|�|jd|�y)Nc��eZdZdedefd�Zy)�]ProtocolTests.test_protocol_decorated_with_final_callable_members.<locals>.ProtocolWithMethodr�r�c��yrbrk)rWr�s  r\r�zhProtocolTests.test_protocol_decorated_with_final_callable_members.<locals>.ProtocolWithMethod.startswith�s��sr^Nr�rkr^r\�ProtocolWithMethodr��s��
;��:��:r^r�rkr�)	r&r*r'r]r�r`r�r�r�)rWr�s  r\�3test_protocol_decorated_with_final_callable_memberszAProtocolTests.test_protocol_decorated_with_final_callable_members�si��	�	�	;��	;�
�
�	;�	
���c�#5�6�� � ��&8�9����e�%7�8�� � ��%7�8r^c��ttGd�dt���}Gd�d�}d}|jt|�5t||�ddd�|jt|�5tt|�ddd�|j|�|�|jd|�y#1swY�bxYw#1swY�?xYw)Nc��eZdZUeed<y)�kProtocolTests.test_protocol_decorated_with_final_noncallable_members.<locals>.ProtocolWithNonCallableMemberr�Nr�rkr^r\�ProtocolWithNonCallableMemberr��s	���Fr^r�c��eZdZdZy)�QProtocolTests.test_protocol_decorated_with_final_noncallable_members.<locals>.Foor�Nr{rkr^r\r�r��s���Ar^r�r�r��	r&r*r'r�r�rTr�r�r�)rWr�r��only_callable_members_pleases    r\�6test_protocol_decorated_with_final_noncallable_memberszDProtocolTests.test_protocol_decorated_with_final_noncallable_members�s���	�	�	�H�	�
�
�	�	�	�
L�	%��
#�
#�I�/K�
L��s�9�:�M��
#�
#�I�/K�
L��s�9�:�M�	
���c�e�%B�C�� � ��%B�C�M�
L��M�
L���
B2�/B>�2B;�>Cc��ttGd�dt���}Gd�d�}d}|jt|�5t||�ddd�|jt|�5tt|�ddd�|j|�|�|jd|�y#1swY�bxYw#1swY�?xYw)Nc� �eZdZUeed<dd�Zy)�`ProtocolTests.test_protocol_decorated_with_final_mixed_members.<locals>.ProtocolWithMixedMembersr�Nc��yrbrkr�s r\r�zgProtocolTests.test_protocol_decorated_with_final_mixed_members.<locals>.ProtocolWithMixedMembers.method�r�r^r)rhrirjr�r�r�rkr^r\�ProtocolWithMixedMembersr��s���F�)r^r�c��eZdZdZdd�Zy)�KProtocolTests.test_protocol_decorated_with_final_mixed_members.<locals>.Foor�Nc��yrbrkr�s r\r�zRProtocolTests.test_protocol_decorated_with_final_mixed_members.<locals>.Foo.method�r�r^r)rhrirjr�r�rkr^r\r�r��s
���A�)r^r�r�r�r�)rWr�r�r�s    r\�0test_protocol_decorated_with_final_mixed_membersz>ProtocolTests.test_protocol_decorated_with_final_mixed_members�s���	�	�	*�x�	*�
�
�	*�	*�	*�

L�	%��
#�
#�I�/K�
L��s�4�5�M��
#�
#�I�/K�
L��s�4�5�M�	
���c�e�%=�>�� � ��%=�>�M�
L��M�
L�r�c�v��Gd�d��G�fd�dt�}|j|jdh�y)Nc��eZdZd�Zy)�aProtocolTests.test_nonruntime_protocol_interaction_with_evil_classproperty.<locals>.classpropertyc��td��r�r�)rW�instancer�s   r\rXziProtocolTests.test_nonruntime_protocol_interaction_with_evil_classproperty.<locals>.classproperty.__get__r�r^NrYrkr^r\�
classpropertyr�rGr^r�c���eZdZW��Zy)�_ProtocolTests.test_nonruntime_protocol_interaction_with_evil_classproperty.<locals>.CommentableN�rhrirj�evil�r�s�r\�Commentabler�s
��� �?�Dr^r�r�)r'r�rH)rWr�r�s  @r\�<test_nonruntime_protocol_interaction_with_evil_classpropertyzJProtocolTests.test_nonruntime_protocol_interaction_with_evil_classproperty
s3���	)�	)�	#�(�	#�	
����7�7�&��Br^c�f���Gd�dt��G�fd�d��|jt�5}tG�fd�dt��}ddd�j
}|j
|jdd�|jt|j���y#1swY�ZxYw)	Nc��eZdZy)�\ProtocolTests.test_runtime_protocol_interaction_with_evil_classproperty.<locals>.CustomErrorNr|rkr^r\�CustomErrorr�r�r^r�c���eZdZ�fd�Zy)�^ProtocolTests.test_runtime_protocol_interaction_with_evil_classproperty.<locals>.classpropertyc�����rbrk)rWr�r�r�s   �r\rXzfProtocolTests.test_runtime_protocol_interaction_with_evil_classproperty.<locals>.classproperty.__get__s	���!�!r^NrY)r�s�r\r�r�s���
"r^r�c���eZdZW��Zy)�\ProtocolTests.test_runtime_protocol_interaction_with_evil_classproperty.<locals>.CommentableNr�r�s�r\r�r� s
���$��r^r�rzEFailed to determine whether protocol member 'evil' is a method member)�	Exceptionr�r�r*r'rr�r�r�r��	__cause__)rWr!r��excr�r�s    @@r\�9test_runtime_protocol_interaction_with_evil_classpropertyzGProtocolTests.test_runtime_protocol_interaction_with_evil_classpropertys����*�)�*�	"�	"��
�
�y�
)�R�
�
'�h�
'��
'�*�
�l�l������H�H�Q�K�S�	
�	
�
�
�d�3�=�=�)�;�7�*�
)�s�B'�'B0N)Lrhrirjr�r�r�r�rrrr'r1r8rGrarur�r�r�r�r�rrrr!rJr�r�r�r�r�r�r�rrr'r4rSrfrxrr�r�r�r�r�r�r�r�r�r�r�rrrrrr%r-r0r3r6r9rAr`rirorvr|r�r�r�r�r�r�r�rkr^r\r�r�
s���'�,�
/�6�$0� 2�)�,�:!�
!�&�$%�@!$�F9!�vHX�T>�90�v!$�F#�,#�(#�0#�,<#�|R1�h<�">N�@
:�#2�J(�$*�%�"&�"&�$)�$&
�P.�&&6�P�+�(!,�F4�$/�2�"
=�C�	>�,�3�8�'�:(�*�::�<�>�<�:�
<�9�<�%�8�>���	;�	2�7�	9�D�,?�2C�8r^r�c��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d �Z"d!�Z#d"�Z$d#�Z%d$�Z&d%�Z'd&�Z(d'�Z)d(�Z*d)�Z+d*�Z,d+�Z-d,�Z.d-�Z/d.�Z0d/�Z1d0�Z2d1�Z3d2�Z4d3�Z5d4�Z6d5�Z7d6�Z8d7�Z9d8�Z:d9�Z;d:�Z<d;�Z=d<�Z>d=�Z?d>�Z@d?�ZAy@)A�GenericTestsc�t�tttf}|j|jd�|jt�5|tddd�|jt�5|ttfddd�tttf}|j|jtf�|t|jt�5|ttfddd�tttf}|jt�5t|t�ddd�|j|�t�td�}|jtt|tzj|f�y#1swY��;xYw#1swY��xYw#1swY��xYw#1swY��xYw)Nrkr)r�r�r
r�r�r�r�r�r�rTr�rrr�r{)rWr�r��SM1rs     r\r9zGenericTests.test_basics.s6���#�s�(�#������)�)�2�.�
�
�
�y�
)�
�c�F�*�
�
�
�y�
)�
�c�3�h�K�*��"�c�'�"������)�)�B�5�1�	�#��
�
�
�y�
)�
�c�3�h�K�*��C��H�%��
�
�
�y�
)��s�M�*�*����c�e�]�3��C�L������d�1�g��o�.�=�=��t�D�*�
)��
)�
)��
*�
)��*�
)�s0�
F�,F�F"�F.�F�F�"F+�.F7c��td�}td�}|jt�5t||ddd�|jt�5t||ddd�|jt�5Gd�dt|t|�}ddd�|jt�5t	gt
t�ddd�|jt�5ttt
t�ddd�|jt�5Gd�dt�}ddd�|jt�5Gd�dt|t|�}ddd�|jt�5Gd	�d
t
|t|�}ddd�|jt�5tdddd�Gd�d
t|�}|jt�5|dddd�y#1swY���xYw#1swY���xYw#1swY���xYw#1swY��dxYw#1swY��8xYw#1swY��xYw#1swY��xYw#1swY��xYw#1swY��xYw#1swYyxYw)Nrr�c��eZdZy)�+GenericTests.test_generic_errors.<locals>.CNr|rkr^r\rBr�Ir�r^rBc��eZdZy)�4GenericTests.test_generic_errors.<locals>.NewGenericNr|rkr^r\�
NewGenericr�Or�r^r�c��eZdZy)�3GenericTests.test_generic_errors.<locals>.MyGenericNr|rkr^r\�	MyGenericr�Qr�r^r�c��eZdZy)�4GenericTests.test_generic_errors.<locals>.MyGeneric2Nr|rkr^r\�
MyGeneric2r�Sr�r^r�rkc��eZdZy)�+GenericTests.test_generic_errors.<locals>.DNr|rkr^r\rEr�Vr�r^rE)	rr�r�r#r�rr�rTr�)rWrr�rBr�r�r�rEs        r\�test_generic_errorsz GenericTests.test_generic_errorsAs����C�L���C�L��
�
�
�y�
)��A�J�q�M�*�
�
�
�y�
)��A�J�q�M�*�
�
�
�y�
)�0�G�A�J���
�0�*�
�
�
�y�
)��r�4��9�%�*�
�
�
�y�
)��t�T�#�Y�'�*�
�
�
�y�
)�*�W�*�*�
�
�
�y�
)�8�G�A�J���
�8�*�
�
�
�y�
)�6�T�!�W�g�a�j�6�*�
�
�
�y�
)��B�K�*�!���
�!�
�
�
�y�
)�
�b�E�*�
)�'*�
)��
)�
)��
)�
)��
)�
)��
)�
)��
)�
)��
)�
)��
)�
)��
)�
)��*�
)�sw�
H�
H�H%�8H2�-H?�&I�I�I%�
I1�<I=�H�H"�%H/�2H<�?I	�I�I"�%I.�1I:�=Jc��td�}td�}|jt�5t||fddd�|jt�5t|||fddd�y#1swY�4xYw#1swYyxYw)Nrr�)rr�r�r#)rWrr�s   r\�	test_initzGenericTests.test_initZsf���C�L���C�L��
�
�
�y�
)��A�q�D�M�*�
�
�
�y�
)��A�q�!�G��*�
)�*�
)��
)�
)�s�A+�
A7�+A4�7Bc��Gd�dtjt�}Gd�d|�}|j|jd�|jt�5|jddd�d|_d|_Gd�d	|�}Gd
�d|t�}|j|jd�|j|jd�|j|jd�y#1swY��xYw)Nc���eZdZ�fd�Z�xZS)�*GenericTests.test_init_subclass.<locals>.Xc�2��t�|�di|��d|_y)Nr�rk)r��__init_subclass__r�)rXr�r�s  �r\r�z<GenericTests.test_init_subclass.<locals>.X.__init_subclass__ds�����)�3�F�3���r^�rhrirjr�r�r�s@r\r�r�cs
���
�
r^r�c��eZdZy)�*GenericTests.test_init_subclass.<locals>.YNr|rkr^r\r�r�gr�r^r�r�rnr�c��eZdZy)�*GenericTests.test_init_subclass.<locals>.ZNr|rkr^r\�Zr�nr�r^r�c��eZdZy)�*GenericTests.test_init_subclass.<locals>.WNr|rkr^r\r�r�pr�r^r�)rcr#rr�r�r�rr�)rWr�r�r�r�s     r\�test_init_subclasszGenericTests.test_init_subclassbs���	����q�!�	�	��	��������$�
�
�
�~�
.�
�F�F�/�������	��	�	��#��	��������#��������$��������$�/�
.�s�
C2�2C;c��|jtt�dt�d��|jtt�dt�d��y)Nr�z.SimpleMapping'>z.MySimpleMapping'>)r�r�r�rhr�r�s r\r�zGenericTests.test_reprvsH������m�,�#�H�:�-=�>�	@�����o�.�#�H�:�-?�@�	Br^c��td�}td�}Gd�dt|�}|t||f}|j||t||f�|j	||t||f�||t
f}|j|||t
f�|j	|||t
f�|j	|||tf�|t}|j||t�|j	||t
�|j	|||�|jt
|�jd��y)Nrr�c��eZdZy)�'GenericTests.test_chain_repr.<locals>.CNr|rkr^r\rBr��r�r^rBz.C[typing.Tuple[str, int]])	rr#rr�r�r�r�r�r�)rWrr�rBr�r�r�s       r\�test_chain_reprzGenericTests.test_chain_repr|s'���C�L���C�L��	���
�	�
�e�A�q�D�k�N������A�e�A�q�D�k�N�+����A�q��q�!�t��~�.�
�a��f�I������A�a��f�I�&����A�q��C��y�)����A�q��C��y�)�
�c�F������A�c�F�#����A�q��v�&����A�q��t�$�����A����(�*�	+r^c��td�}tdd��}td�}|jtt�d�|jtt|�d�|jtt|�d�|jtt||t�d	�|jttt�d	�y)
Nr�UTr�r�ztyping.Listztyping.List[~T]ztyping.List[+U]ztyping.List[int])rr�r�rr�)rWrr�r�s    r\�
test_new_reprzGenericTests.test_new_repr�s����C�L���C�4�(���C�L������d��]�3�����d�1�g��(9�:�����d�1�g��(9�:�����d�1�g�a�j��o�.�0B�C�����d�3�i��*<�=r^c�p�td�}td�}|jttj||f||f�d�|jtt
t||ft|f�d�|jtt
t||ft
t�d�y)Nr�TSztyping.Mapping[~TS, ~T]z"typing.List[typing.Tuple[int, ~T]]z=typing.List[typing.Tuple[typing.List[int], typing.List[int]]])rr�r�rcr�rrr�)rWrr�s   r\�test_new_repr_complexz"GenericTests.test_new_repr_complex�s����C�L��
�T�]������f�n�n�Q��U�3�B��E�:�;�=V�W�����d�5��B��<�0��a��8�9�=�	?������e�A�q�D�k�"�4��9�-�.�K�	
r^c�,�td�}|jtt|�d�|jttj
|�d�Gd�dtjttf�}t|j�y)Nrztyping.Generic[~T]ztyping.Protocol[~T]c��eZdZy)�*GenericTests.test_new_repr_bare.<locals>.CNr|rkr^r\rBr��r�r^rB)	rr�r�r#rcr'r r
�__mro__�rWrrBs   r\�test_new_repr_barezGenericTests.test_new_repr_bare�sd���C�L������g�a�j�)�+?�@�����f�o�o�a�0�1�3H�I�+����C��H�%�+��Q�Y�Y�r^c��td�}Gd�dt|�}|�}d|_|j|jddi�Gd�d|t
�}|�}d|_|j|jd	di�y)
Nrc��eZdZy)�!GenericTests.test_dict.<locals>.BNr|rkr^r\r�r��r�r^r�r�rkc��eZdZy)�!GenericTests.test_dict.<locals>.CNr|rkr^r\rBr��r�r^rBrr*)rr#rkr�rr�r*)rWrr�r�rBrs      r\�	test_dictzGenericTests.test_dict�s{���C�L��	���
�	�
�C�����������e�R�[�1�	��#��	�
�C�����������e�U�^�4r^c�P�d��}|j|t�|�y)Nc�0��d�x}f�G�fd�d��
}|�S)rc���eZdZW�Zd�Zy)�7GenericTests.test_setattr_exceptions.<locals>.Immutablec��td��)N�	immutabler�r�s   r\�__setattr__zCGenericTests.test_setattr_exceptions.<locals>.Immutable.__setattr__�s
��"�;�/�/r^N)rhrirjrvr�rws�r\�	Immutabler��s���
0r^r�rkr�s  @r\z!<generic parameters of Immutable>zOGenericTests.test_setattr_exceptions.<locals>.<generic parameters of Immutable>�s����	0�	0�	0r^)r�r�)rWr�s  r\�test_setattr_exceptionsz$GenericTests.test_setattr_exceptions�s"��	0�	
���n�i��n�.�	�:r^c��td�}Gd�dt|�}|j|tjd�|j||tjd�d||t_|j|jd�|j|t
jd�d|tt
_|j|jd�|j|ttjd�|j|�jd�|j|tt
�jd�Gd�d||�}|j|tjd�|j|jd�d	|_d
|t_|j|jd�|j|tjd�|j|jd
�|j|t
jd	�y)Nrc��eZdZdZy)�<GenericTests.test_subscripted_generics_as_proxies.<locals>.C�defNr{rkr^r\rBr��s���Ar^rBr��changed�newc��eZdZy)�<GenericTests.test_subscripted_generics_as_proxies.<locals>.DNr|rkr^r\rEr	�r�r^rEzfrom derived zzfrom derived x)	rr#r�r�r�r�rrRr�rWrrBrEs    r\�$test_subscripted_generics_as_proxiesz1GenericTests.test_subscripted_generics_as_proxies�s����C�L��	���
�	�����3����5�)�����1�S�6����e�,���!�C�&�	��������i�(�����3����9�-���$�s�)���������e�$�����5��:����%�0��������	�*������5��:���*�*�E�2�	��!��	�����3����9�-�������e�$����#��#���������i�(�����3����5�)�������.�/�����3����#3�4r^c�4�td�}Gd�dtjjt|�}|jt�|jd|�|t|jd|�|j�|j�y)Nrc��eZdZy)�.GenericTests.test_abc_registry_kept.<locals>.CNr|rkr^r\rBr	�r�r^rBrn)
rrrr�r#r�r�r�r{�_abc_caches_clearr�s   r\�test_abc_registry_keptz#GenericTests.test_abc_registry_kept�sm���C�L��9����'�'����9�	�
�
�3�����a��#�	�#�����a��#�	����	���r^c��Gd�dtttf�}|ji|�|jt|�y)Nc��eZdZy)�5GenericTests.test_false_subclasses.<locals>.MyMappingNr|rkr^r\�	MyMappingr	�r�r^r
	)r!r�r�r`r&)rWr
	s  r\�test_false_subclassesz"GenericTests.test_false_subclasses�s3��7��s�C�x�0�7�� � ��Y�/�� � ��y�1r^c�T�Gd�dtttf�}|�j�|j|�tj
j�|j|�t�|j
|�t�|j
i|�y)Nc�*�eZdZd�Zd�Zd�Zd�Zd�Zy)�'GenericTests.test_abc_bases.<locals>.MMc��yrbrk�rWrs  r\r�z3GenericTests.test_abc_bases.<locals>.MM.__getitem__�r3r^c��yrbrk�rWrr�s   r\r�z3GenericTests.test_abc_bases.<locals>.MM.__setitem__�r�r^c��yrbrkr	s  r\�__delitem__z3GenericTests.test_abc_bases.<locals>.MM.__delitem__�r�r^c��td�Sr���iterr�s r\rMz0GenericTests.test_abc_bases.<locals>.MM.__iter__����B�x�r^c��yrbrkr�s r\�__len__z/GenericTests.test_abc_bases.<locals>.MM.__len__r�r^N�rhrirjr�r�r	rMr	rkr^r\�MMr	����
�
�
�
 �
r^r	)r!r��updater�rrr�r)rWr	s  r\�test_abc_baseszGenericTests.test_abc_bases�st��
	���S��)�
	�	����
����b�d�K�O�O�$B�$B�C����b�d�N�3�� � ���t�,�� � ��R�(r^c�L�Gd�dtttftjj�}Gd�dtjjtttf�}|j	|j
tjjtf�y)Nc��eZdZy)�-GenericTests.test_multiple_bases.<locals>.MM1Nr|rkr^r\�MM1r%	r�r^r&	c��eZdZy)�-GenericTests.test_multiple_bases.<locals>.MM2Nr|rkr^r\�MM2r(	r�r^r)	)r!r�rrr��	__bases__r#)rWr&	r)	s   r\�test_multiple_basesz GenericTests.test_multiple_basessg��	�.��c��*�K�O�O�,J�,J�	�	�+�/�/�0�0�.��c��2J�	����������)G�)G��(Q�Rr^c���td�}Gd�dtjt|f�}|j	|j
tjt|ff�y)Nrc��eZdZy)�'GenericTests.test_orig_bases.<locals>.CNr|rkr^r\rBr.	r�r^rB)rrcr r�r��__orig_bases__r�s   r\�test_orig_baseszGenericTests.test_orig_basessF���C�L��)����C��F�#�)�����)�)�F�K�K��Q��,?�+A�Br^c��d�}|j|dditjttf��|j|dditjttf��|j
t�5|dditjttf�ddd�d�}Gd�dtt�}|j||t�|t��|j||t�|t��|j||t�t��|j
t�5|gd�|t�ddd�d�}Gd	�d
tt�}|j|gd�|��|j|ddg|��y#1swY��xYw#1swY�dxYw)
Nc����t|j�dkDrt�|jr2|j\��t	��fd�|j�D��Sy)Nrc3�X�K�|]!\}}t|��xrt|�����#y�wrb)r�)�.0rr�rrs   ��r\�	<genexpr>zSGenericTests.test_naive_runtime_checks.<locals>.naive_dict_check.<locals>.<genexpr>s3������ +���1��q�"�%�;�*�Q��*;�;� +�s�'*)rr�r=r��allr�)rV�tprrs  @@r\�naive_dict_checkz@GenericTests.test_naive_runtime_checks.<locals>.naive_dict_checksU����2�$�$�%��)�)�)��{�{������B��� #�	�	�����r^r�rnc�D�t|d�st�|j|k(S)Nr5)rlr=r5�rVr7	s  r\�naive_generic_checkzCGenericTests.test_naive_runtime_checks.<locals>.naive_generic_check's$���3� 0�1�)�)��%�%��+�+r^c��eZdZy)�4GenericTests.test_naive_runtime_checks.<locals>.NodeNr|rkr^r\�Noder=	,r�r^r>	rOc�,��t�fd�|D��S)Nc3�j�K�|]*}t|�jdjd����,y�w)rN)r�r/	r�)r4	r�r7	s  �r\r5	zXGenericTests.test_naive_runtime_checks.<locals>.naive_list_base_check.<locals>.<genexpr>5s6�����%� #�1�"�!�R�%6�%6�q�%9�%B�%B�1�%E�F� #�s�03)r6	r:	s `r\�naive_list_base_checkzEGenericTests.test_naive_runtime_checks.<locals>.naive_list_base_check3s����%� #�%�%�
%r^c��eZdZy)�1GenericTests.test_naive_runtime_checks.<locals>.CNr|rkr^r\rBrC	7r�r^rBrr�)r�rcr r�r�r�r�r=rr#r)rWr8	r;	r>	rA	rBs      r\�test_naive_runtime_checksz&GenericTests.test_naive_runtime_checkssl��		�	
���(�#�q��6�;�;�s�C�x�3H�I�J����)�1�c�(�F�K�K��S��4I�J�K�
�
�
�2�
3��a��X�v�{�{�3��6�':�;�4�	,�
	$�7�1�:�#����+�I�D��I�K��c��C�D����,�Y�T�#�Y�[�$�s�)�D�E����,�Y�T�#�Y�[�$�?�@�
�
�
�2�
3��	�4��9�5�4�	%�	 ��S�	�����-�i��;�<����.��S�z�1�=�>�+4�
3��4�
3�s�'G�G�G�Gc��td�}td�}td�}Gd�dt|||�}Gd�d|t|||�}|j|j|f�|j|j|f�|j|tjd�|j|tjd�|j|tj
tf�|j|tj
tf�|j|jttf�|j|j|ttf�|j|jt|||f�|j|j|t|||f�y)	Nrr�r�c��eZdZy)�.GenericTests.test_multi_subscr_base.<locals>.CNr|rkr^r\rBrG	?r�r^rBc��eZdZy)�.GenericTests.test_multi_subscr_base.<locals>.DNr|rkr^r\rErI	@r�r^rErk)
rrr�r�r�r�r*	r�r#r/	)rWrr�r�rBrEs      r\�test_multi_subscr_basez#GenericTests.test_multi_subscr_base;s^���C�L���C�L���C�L��#��Q���
�1�
�#�&��4��7�1�:�a�=�&�����)�)�A�4�0�����)�)�A�4�0�����3��.�.��3�����3��.�.��3�����3����3�&�1�����3����3�&�1�������t�W�o�6�������q�$��&8�9�����)�)�D��G�A�J�q�M�+;�<�����)�)�A�t�A�w�q�z�!�}�+=�>r^c�,�td�}Gd�dt�}|jt|t|�|jt|t
f|t|t
f�|jtd|fjt|f�y)Nrc��eZdZy)�.GenericTests.test_subscript_meta.<locals>.MetaNr|rkr^r\�MetarM	Nr�r^rN	.)	rr�r�r5rr�r"r��Ellipsis)rWrrN	s   r\�test_subscript_metaz GenericTests.test_subscript_metaLsu���C�L���4������d��T�$�Z�0�����q�#�v��t�,�e�D�#�I�.>�?�����#�t�)�,�5�5��$�7G�Hr^c�4�Gd�dtt�}Gd�dtt�}|j||�|jtjt
tjt
�|j|j|j�|jtjj|jt
tjj|jt
�|j||j�|j|tj�|j|tjj�|j|jtj�|j|jtjj�|j|t
|jt
�|j|tt|jtt�|j|t
tjt
�|j|t
tjjt
�|j|jttjt�|j|jtttjjtt�|jt|t
t|jt
�|jt|ttt|jtt�|jtt
|t
ftt
tjt
f�|jt|t
|t
ft|t
tjt
f�|jtj|t
tjtjjt
�|jt!t|t
�j#d��|jt!t|jt
�j#d��|jt!ttjt
�j#d��|jt!ttjjt
�j#d��y)	Nc��eZdZy)�+GenericTests.test_generic_hashes.<locals>.ANr|rkr^r\r�rS	T���r^r�c�(�eZdZGd�dee�Zy)�+GenericTests.test_generic_hashes.<locals>.Bc��eZdZy)�-GenericTests.test_generic_hashes.<locals>.B.ANr|rkr^r\r�rX	X���r^r�N)rhrirjr#rr�rkr^r\r�rV	Ws��
�G�A�J�
r^r�z<locals>.A[str]]z<locals>.B.A[str]]zmod_generics_cache.A[str]]zmod_generics_cache.B.A[str]])r#rr�rMr�r�r�r�rr
r�rrrc�	FrozenSetr�r�r�r�s   r\�test_generic_hashesz GenericTests.test_generic_hashesSs���	���
�	�	���
�	�	
����A�����+�-�-�c�2�4F�4H�4H��4M�N�������a�c�c�"����+�-�-�/�/����C��9�+�-�-�/�/����C��9�	;�	
���A�q�s�s�#����A�1�3�3�4����A�1�3�3�5�5�6����A�C�C�!3�!5�!5�6����A�C�C�!3�!5�!5�!7�!7�8����A�c�F�A�C�C��H�-����A�d�3�i�L�!�#�#�d�3�i�.�9����A�c�F�$6�$8�$8��$=�>����A�c�F�$6�$8�$8�$:�$:�3�$?�@����A�C�C��H�&8�&:�&:�3�&?�@����A�C�C��S�	�N�,>�,@�,@�,B�,B�4��9�,M�N����E�!�C�&�M�5����S��?�;����E�!�D��I�,�/��q�s�s�4��9�~�1F�G����E�#�q��v�+�.��c�;M�;O�;O�PS�;T�6T�0U�V����E�!�C�&�!�C�&�.�1�!�!�C�&�*<�*>�*>�s�*C�"C�D�	F����F�,�,�Q�s�V�4�"�,�,�-?�-A�-A�-C�-C�C�-H�I�	K�	
����U�1�S�6�]�+�4�4�5G�H�I�����U�1�3�3�s�8�_�-�6�6�7K�L�M�����U�#5�#7�#7��#<�=�>�!��">�?�	A�����U�#5�#7�#7�#9�#9�#�#>�?�@�!��"@�A�	Cr^c���td�}td�}|jt||fttttf�|jtj
t||f|tj
t||f�|j
t�5t|tfdddd�|jt|tftt�|jt||fttttfftttf�Gd�d�}Gd�d|�}|jt||ft||ft||f�|jt|g|ftttgtf�|jtdt|fttdttf�y#1swY��2xYw)	Nrr�rkc��eZdZy)�9GenericTests.test_extended_generic_rules_eq.<locals>.BaseNr|rkr^r\�Baser^	�r�r^r_	c��eZdZy)�<GenericTests.test_extended_generic_rules_eq.<locals>.DerivedNr|rkr^r\�Derivedra	�r�r^rb	.)
rr�rr�rcr�r�r�rr�r"rr)rWrr�r_	rb	s     r\�test_extended_generic_rules_eqz+GenericTests.test_extended_generic_rules_eq}s����C�L���C�L������q�!�t��S�)�5��c��?�;��������q�!�t��5�a�8�&�/�/�%�PQ�ST�PT�+�:V�W�
�
�
�y�
)��!�S�&�M�"��*�	
����q�#�v��s�+�S�1�����q�!�t��S�%��S��/�%9�:�E�#�s�(�O�L��� �d� �����q�$�w���d�G�m�(<�=�u�T�7�]�?S�T�����1�#�q�&�)�"�-�x���b��/A�B�����#�t�A�w�,�/��4�h�s�D��I�~�6N�O�*�
)�s�(G+�+G5c� �td�}|jtttt
f�j
dd�d�|jtttttf�j
dd�d�|jtt
dt|ft�j
dd�d�|jtt
gt|ft�j
dd�d�y)	Nrztyping.r�zUnion[Tuple, Callable]zUnion[Tuple, Tuple[int]].zCallable[..., Optional[int]]zCallable[[], List[int]])
rr�r�rrr"r�r�rrrws  r\� test_extended_generic_rules_reprz-GenericTests.test_extended_generic_rules_repr�s����C�L������e�E�8�O�4�5�=�=�i��L�1�	3�����e�E�5��:�$5�6�7�?�?�	�2�N�3�	5�����h�s�H�Q�K�'7�8��=�>�F�F�y�RT�U�7�	9�����h�r�4��7�{�3�C�8�9�A�A�)�R�P�2�	4r^c�X�dttdfd�}dtttd�fd�}dttd�tzfd�}Gd�d�}|j	t|t
�t��dtt|i�|j	t|t
�t��dtt|i�|j	t|t
�t��dt|tztzi�td�}t|d	f}d|fd
�}|jt|t
�t��d|�td	t|f}d|fd�}	|jt|	t
�t��d|�y)Nr��CCc��yrbrkr�s r\�foobarz5GenericTests.test_generic_forward_ref.<locals>.foobar�s��r^c��yrbrkr�s r\�foobar2z6GenericTests.test_generic_forward_ref.<locals>.foobar2�rr^zCC | intc��yrbrkr�s r\�foobar3z6GenericTests.test_generic_forward_ref.<locals>.foobar3�rr^c��eZdZy)�1GenericTests.test_generic_forward_ref.<locals>.CCNr|rkr^r\rg	ro	�r�r^r.c��yrbrkr�s r\�barfooz5GenericTests.test_generic_forward_ref.<locals>.barfoo�r�r^c��yrbrkr�s r\�barfoo2z6GenericTests.test_generic_forward_ref.<locals>.barfoo2�r�r^)rr�rAr�r�r+rrrrr�r")
rWri	rk	rm	rg	r�ATrq	�CTrs	s
          r\�test_generic_forward_refz%GenericTests.test_generic_forward_ref�sS��,�d�4��:�&�,�9�t�D��D�!1�2�3�9�?�t�J�z�2�3�c�9�?��
�����6�7�9�f�h�7�
�$�t�B�x�.�!�	
�	
����7�G�I�v�x�8�
�$�t�B�x�.�!�	
�	
����7�G�I�v�x�8�
�$�r�C�x�.�3�&�'�	
�

�C�L��
�1�c�6�]���b���
�
�n�V�W�Y���A�#�F��K�
�c�4��7�l�
#���r���
�
�n�W�g�i���B�3�G��Lr^c
���Gd�d�}|jt|t�t��dt|i�Gd�d�}|jt|t�t��dt
|ttt|fi�i}ttjd�|�|d}|j|jdd�|jt|t�t��dtt|i�td	}d
|fd�}|jt|t�t��d
tttd	�i�y)Nc��eZdZUeded<y)�8GenericTests.test_generic_pep585_forward_ref.<locals>.C1r&rN�rhrirjr�r�rkr^r\r&ry	�s���D�z�Mr^r&rc�4�eZdZUedeeedfed<y)�8GenericTests.test_generic_pep585_forward_ref.<locals>.C2r&r'rN)rhrirjr&r�rr�rkr^r\r'r|	�s ���D�$�t�D��J�/�0�0�1�1r^r'zf
        from __future__ import annotations
        class C3:
            a: List[list["C2"]]
        r(zList[list['C2']]r�r�c��yrbrkr�s r\rfz7GenericTests.test_generic_pep585_forward_ref.<locals>.f�r�r^)r�r+rrr�r&rrz�textwrap�dedentr�rA)rWr&r'�scoper(r�rfs       r\�test_generic_pep585_forward_refz,GenericTests.test_generic_pep585_forward_ref�s<��	�	�����2�w�y�&�(�3�
�$�r�(�O�	
�
	2�	2�����2�w�y�&�(�3�
�$�r�4��T�"�X��/�/�0�1�	
����X�_�_��
��		�
�4�[������+�+�C�0�2D�E�����2�w�y�&�(�3�
�$�t�B�x�.�!�	
�
��I���������1�g�i���2�
�$�t�J�s�O�,�-�.�	
r^c��ttj�}ttj�}tjj
}|j
|d|d�|j|djdt|d�|j
|djd|d�|jtj|�y)Nr�rr�rnrRr�)
r&rLrr+r�rvr�r�r�r)rW�original_globals�hints_for_A�
A_type_paramss    r\�1test_pep695_generic_class_with_future_annotationsz>GenericTests.test_pep695_generic_class_with_future_annotations�s����
� 6� 6�7��$�]�_�_�5��%���7�7�
��
�
�k�#�&�
�a�(8�9�����S�)�2�2�1�5�v�m�A�>N�7O�P��
�
�k�#�&�/�/��2�M�!�4D�E�	
����/�/�1A�Br^c�z�ttj�}|j|tt
td��y)NrQ)r+rLr�r�r�r�r�)rW�hints_for_Bs  r\�Etest_pep695_generic_class_with_future_annotations_and_local_shadowingzRGenericTests.test_pep695_generic_class_with_future_annotations_and_local_shadowing�s'��$�]�_�_�5������C�c��&F�Gr^c���ttj�}|jt	|j��t	tjj��yrb)r+rLrBr�rY�valuesrv)rW�hints_for_Cs  r\�Mtest_pep695_generic_class_with_future_annotations_name_clash_with_global_varszZGenericTests.test_pep695_generic_class_with_future_annotations_name_clash_with_global_vars�sA��$�]�_�_�5�������"�"�$�%��
���/�/�0�	
r^c��ttj�}tjj}|j	|j�hd��|j
|d|d�|j	|dt|d�|j
|dj|d�|j
|dj|d�y)	N>r�r�rR�zzr�r�rr�rnrRr�r�	)	r+rL�generic_functionrvr�rQr�rr�)rW�hints_for_generic_function�
func_t_paramss   r\�5test_pep_695_generic_function_with_future_annotationszBGenericTests.test_pep_695_generic_function_with_future_annotations�s���%3�M�4R�4R�%S�"�%�6�6�F�F�
����&�+�+�-�/N�	
�	
�
�
�0��5�}�Q�7G�H����3�C�8�&��q�AQ�:R�S��
�
�0��5�@�@�-�PQ�BR�S��
�
�0��6�A�A�=�QR�CS�Tr^c���|jtttj�j��ttjj��yrb)r�rYr+rL�generic_function_2r�	rvr�s r\�Qtest_pep_695_generic_function_with_future_annotations_name_clash_with_global_varsz^GenericTests.test_pep_695_generic_function_with_future_annotations_name_clash_with_global_vars�s@�������}�?�?�@�G�G�I�J��
�0�0�@�@�A�	
r^c� �ttjj�}tjjjD�cic]}|j
|��}}|j
||d|dtjd��ycc}w)Nr�r�)r�r�r�)	r+rLrE�generic_methodrvrhr�r��NoneType)rW�hints_for_generic_method�param�paramss    r\�3test_pep_695_generic_method_with_future_annotationsz@GenericTests.test_pep_695_generic_method_with_future_annotationss���#1�-�/�/�2P�2P�#Q� �'���7�7�G�G�
�G��
�N�N�E�!�G�	�
�	
���$���-�f�U�m�u�~�~�N�	
��	
s�
Bc���|jtttjj
�j
��ttjj
j��yrb)r�rYr+rLrE�generic_method_2r�	rvr�s r\�Otest_pep_695_generic_method_with_future_annotations_name_clash_with_global_varsz\GenericTests.test_pep_695_generic_method_with_future_annotations_name_clash_with_global_varssH�������}���?�?�@�G�G�I�J��
���0�0�@�@�A�	
r^c�|�tj�}|jt|jj��t|jj��|jt|jj��t|jjj��|jt|jj��t|jj��|jt|jj��j|jj�t��|jt|jj��t|jj��yrb)rL�nestedr�rY�hints_for_Er�	r�rv�hints_for_E_methr�	r��intersection�hints_for_generic_func�generic_func)rW�resultss  r\�@test_pep_695_generics_with_future_annotations_nested_in_functionzMGenericTests.test_pep_695_generics_with_future_annotations_nested_in_functions;���&�&�(�������#�#�*�*�,�-���	�	�)�)�*�	
�	
�����(�(�/�/�1�2���	�	�(�(�8�8�9�	
�	
�����(�(�/�/�1�2���	�	�)�)�*�	
�	
�����(�(�/�/�1�2�?�?��	�	�@Y�@Y�Z��E�	
�
	
�����.�.�5�5�7�8���$�$�4�4�5�	
r^c���Gd�dtttf�}Gd�dttdf�}Gd�dtjt�}|j|jttf�|j|ttfjttf�|j|ttfj|�|j|jtf�|jt|t�jd�d	d
�|j|jtf�|j|�tjj�|j!|tjj�|j|�t"�|j!|t"�|j%t&�5t)ttdftj*�ddd�|j%t&�5t)ttdftj,�ddd�y#1swY�OxYw#1swYyxYw)Nc��eZdZy)�@GenericTests.test_extended_generic_rules_subclassing.<locals>.T1Nr|rkr^r\r"r�	,r�r^r"c��eZdZy)�@GenericTests.test_extended_generic_rules_subclassing.<locals>.T2Nr|rkr^r\r#r�	-r�r^r#.c��eZdZd�Zy)�@GenericTests.test_extended_generic_rules_subclassing.<locals>.C1c��y)NFrk)rW�items  r\�__contains__zMGenericTests.test_extended_generic_rules_subclassing.<locals>.C1.__contains__/s��r^N)rhrirjr�	rkr^r\r&r�	.r�r^r&�.���zC1[int])rrrrc�	Containerr�r�r�r�r�r�r��splitr�rrr]r�r�r�rT�Sequencer�)rWr"r#r&s    r\�'test_extended_generic_rules_subclassingz4GenericTests.test_extended_generic_rules_subclassing+s���#��q�"�u��#�$��q�#�v��$�	��!�!�!�$�	�	
����*�*�Q��G�4�����C��H��.�.��c�
�;�����C��F��.�.��3�����*�*�Q�D�1�	
����b��g��,�,�S�1�"�5�y�A�����*�*�Q�D�1����b�d�K�O�O�$=�$=�>����b�+�/�/�";�";�<����b�d�E�*����b�%�(�
�
�
�y�
)��u�S�#�X�����8�*�
�
�
�y�
)��u�S�#�X�����8�*�
)�*�
)��
)�
)�s�,(I"�1(I.�"I+�.I7c���|jt�5ttddd�|jt�5tt
ddd�|jt�5tttddd�|jt�5tttddd�y#1swY��xYw#1swY�zxYw#1swY�TxYw#1swYyxYwrb)r�r�rrrrr$r�r�s r\�test_fail_with_bare_unionz&GenericTests.test_fail_with_bare_unionHs���
�
�
�y�
)���K�*�
�
�
�y�
)��(�O�*�
�
�
�y�
)��X�c�]�#�*�
�
�
�y�
)���#���*�
)�
*�
)��
)�
)��
)�
)��
)�
)�s/�B<�C�,C�C �<C�C�C� C)c�~�td�}|jt�5ttddd�|jt�5t
t|ddd�|jt�5ttjddd�y#1swY�mxYw#1swY�KxYw#1swYyxYwr�)rr�r�rr#rrcr'rws  r\�test_fail_with_bare_genericz(GenericTests.test_fail_with_bare_genericRs}���C�L��
�
�
�y�
)���M�*�
�
�
�y�
)��'�!�*��*�
�
�
�y�
)�����!�*�
)�	*�
)��
)�
)��
)�
)�s#�B�B'�:B3�B$�'B0�3B<c���td�}|j�Gd�dt||f�}|j|t�j
|�|j
|t�j|t�Gd�dtj||f�}|j|t�j
|�|j
|t�j|t�Gd�dtjt|f�}|j|t�j
|�|j
|t�j|t�Gd�d	tjt|f�}|j|t�j
|�|j
|t�j|t�y)
Nrc��eZdZy)�5GenericTests.test_type_erasure_special.<locals>.MyTupNr|rkr^r\�MyTupr�	_r�r^r�	c��eZdZy)�6GenericTests.test_type_erasure_special.<locals>.MyDictNr|rkr^r\�MyDictr�	br�r^r�	c��eZdZy)�5GenericTests.test_type_erasure_special.<locals>.MyDefNr|rkr^r\�MyDefr�	er�r^r�	c��eZdZy)�7GenericTests.test_type_erasure_special.<locals>.MyChainNr|rkr^r\�MyChainr�	hr�r^r�	)
rrgrr�r�r�r�r5rcr �DefaultDictr��ChainMap)rWrr�	r�	r�	r�	s      r\�test_type_erasure_specialz&GenericTests.test_type_erasure_special[s`���C�L������%�E�!�Q�$�K�%��
�
�j�e�C�j�l�,�,�e�4������s���4�4�e�C�j�A�,�V�[�[��A��&�,��
�
�k�f�S�k�m�-�-�v�6���������5�5�v�c�{�C�4�F�&�&�s�A�v�.�4��
�
�j�e�C�j�l�,�,�e�4������s���4�4�e�C�j�A�3�f�o�o�c�1�f�-�3��
�
�l�g�c�l�n�.�.��8���������6�6����Er^c�>�d�tjD�}|D�]}|jt|�d�|j	||�t|dd�rtt
|tj�sZt
|jt�r@t|j�dk(r(|j	|tjtf�t
|t�s��|jD]/}|jt|�d�|j	||��1��y)Nc3�<K�|]}tt|����y�wrb)�getattrrc)r4	�els  r\r5	z4GenericTests.test_all_repr_eq_any.<locals>.<genexpr>ms����=�n�����#�n�s�r�r�rn)rc�__all__r�r�r�r�	r�rr�r�rr
r�r�r�)rW�objsrV�bases    r\�test_all_repr_eq_anyz!GenericTests.test_all_repr_eq_anyls���=�f�n�n�=���C�����S�	�2�.����S�#�&���-�t�4�&�s�F�N�N�;�"�3�#5�#5�u�=��C�.�.�/�1�4�� � ��S��!2�!2�S�F�;��#�t�$��K�K�D��'�'��T�
�B�7��$�$�T�4�0�(�r^c
�b�td�}Gd�dt|�}Gd�d|t�at�}d|_d|_t
tjdz�D]�}tj||�}tj|�}|j|jd�|j|j
d�|j|jddd	����tttt t"ttt$ft"t&ttd
ftdt t$gt(ft*j,t*j.tg}|D]`}t
tjdz�D]?}tj||�}tj|�}|j||��A�bt&t*j0t*j2t&tt*j2t*j4t*j6ttt$fg}	|	D]`}t
tjdz�D]?}tj||�}tj|�}|j||��A�by)Nrc��eZdZy)�#GenericTests.test_pickle.<locals>.BNr|rkr^r\r�r�	r�r^r�c��eZdZy)rBNr|rkr^r\rBrB�r�r^rBr�rrnr].rk)rr#r�rBrkr*rrrsrtrvrur�rr
rrr"r$r�rr�rcr�	rZ	r�r5r��AbstractSet)
rWrr�rrqrRr�r"r��more_sampless
          r\r$zGenericTests.test_pickle{s����C�L��	���
�	�	��#��	�
�C���������6�2�2�Q�6�7�E����Q��&�A����Q��A����Q�U�U�B�'����Q�U�U�E�*����Q�Z�Z��E�)B�C�8���u�h����c��?�H�T�N�E�#�s�(�O�U�2�Y��S�E�5�L�)��%�%�v�'7�'7��'<�>���A��v�6�6��:�;���L�L��E�*���L�L��O��� � ��A�&�<��
�f�o�o�v�{�{�D��I����F�N�N�3�V�5G�5G��c�SV�h��5X�Z���A��v�6�6��:�;���L�L��E�*���L�L��O��� � ��A�&�<�r^c� �td�}Gd�dt|�}t|tft|tftdt
d|ft
tgtftttf|||t|ttj|tjttjttjttftj|tftttt|tdtdtftdtjdtfg}|tgzD]8}|j|t|��|j|t!|���:y)Nrc��eZdZy)�1GenericTests.test_copy_and_deepcopy.<locals>.NodeNr|rkr^r\r>	r�	�r�r^r>	rk.)rr)rr#rr�rr"r
rcr�r r�r$rr�r�rr)rWrr>	�thingsr�s     r\�test_copy_and_deepcopyz#GenericTests.test_copy_and_deepcopy�s#���C�L��#�7�1�:�#���3��-��q�#�v���b�	��3��6�"�H�c�U�C�Z�$8���S��/�4��7�D��I�t�C�y�&�/�/�RS�BT��/�/�#�&�����(<�f�k�k�#�s�(�>S��+�+�a��f�%�x��}�h�t�A�w�6G��x����S��/�4��9�f�n�n�S�#�X�.F�H���3�%��A����Q��Q��(����Q����,� r^c���td�atdt��atdtt
�atd�attttttjttjttt t"fD]�}|j%|��5|j't)|�|�|j't+|�|�t-t.j0dz�D];}|j't/j2t/j4||��|��=	ddd���bbbbtd�}td	t��}td
tt
�}td�}||||fD]S}|j%|��5|j't)|�|�|j't+|�|�ddd��Uy#1swY��XxYw#1swY�mxYw)Nr��TPBr��TPV�PP)rrn�TL�TLB�TLV�PL)rr�r�r�	r�r�r�	rEr�	rrcr�r$r�rr
rr"rur�rrrrrsrtrurv)rWr�rqr�	r�	r�	r�	s       r\�$test_immutability_by_copy_and_picklez1GenericTests.test_immutability_by_copy_and_pickle�sp���T�]���e�3�'���e�U�C�(��
�t�_���c�3�������&�/�/���e�X�/�A����A��&��
�
�d�1�g�q�)��
�
�h�q�k�1�-�"�6�#:�#:�Q�#>�?�E��M�M�&�,�,�v�|�|�A�u�/E�"F��J�@�'�&�/�
��S�"��T�]���e�3�'���e�U�C�(��
�t�_���c�3��#�A����A��&��
�
�d�1�g�q�)��
�
�h�q�k�1�-�'�&�$�'�&��'�&�s�$BG�7G*�G'	�*G3	c���td��G�fd�dt��}|d�}|jt|�jd�|jt|�jd�|j
t|�|�|j
t|�|�d|_|jt|�jd�|jt|�jd�|td�}|jt|�jd�|jt|�jd�|j
t|�|�|j
t|�|�d|_|jt|�jd�|jt|�jd�|j|j|t�y)Nrc� ��eZdZdW�ddfd�Zy)�3GenericTests.test_copy_generic_instances.<locals>.Cr�r�Nc��||_yrbr�rs  r\r�z<GenericTests.test_copy_generic_instances.<locals>.C.__init__�r�r^r�rts�r\rBr�	�s���
!�Q�
!�4�
!r^rBr�rn)	rr#r�rr�r�assertIsNotr�r5)rWrBr�cirs    @r\�test_copy_generic_instancesz(GenericTests.test_copy_generic_instances�sv����C�L��	!���
�	!�
�b�E������a����r�*�����!��)�)�2�.�����a��!�$�����!��a�(��������a����q�)�����!��)�)�1�-�
�Q�s�V�B�Z������b�����+�����"��*�*�B�/�����b��2�&�����"��r�*��������b�����*�����"��*�*�A�.�����*�*�A�c�F�3r^c	��td�}tt|tftd|ft
ttfttttjttftjttjdg}|D],}|jtj |��|��.y)Nr.�whatever)rr
rr�r"rrrrcr�r�r?r�r�r�r�r)rWrr�	r�s    r\�test_weakref_allzGenericTests.test_weakref_all�s����C�L���u�Q��V�}�h�s�A�v�&6��c�3�h���4��9�%�v�~�~�c�3�h�'?��,�,�u�%�v���z�'B�D���A����^�W�[�[��^�-�q�1�r^c�$�td�}Gd�dt|�}|�}|t�}d|_d|_|j	t
�5d|_ddd�|j	t
�5d|_ddd�d|dfd�}|jt|t�t��d||�|jt|t�t|t��y#1swY��xYw#1swY��xYw)Nrc��eZdZdZy)�0GenericTests.test_parameterized_slots.<locals>.C)�potatoNr�rkr^r\rBr�	�s��#�Ir^rBrr�c��yrbrkr�s r\rkz2GenericTests.test_parameterized_slots.<locals>.foo�r�r^)
rr#r�r�	r�r�tomator�r+rrrr)rWrrBr�c_intrks      r\�test_parameterized_slotsz%GenericTests.test_parameterized_slots�s����C�L��	$���
�	$�
�C����#����������
�
�
�~�
.��A�H�/�
�
�
�~�
.��E�L�/�	 �1�S�6�������W�Y���A�#�F��!��M�����a��f��x��#��'7�8�/�
.��
.�
.�s�C:�;D�:D�Dc�H�td�}Gd�dt|�}|�}|t�}d|_d|_|j	t
�5d|_ddd�|j	t
�5d|_ddd�y#1swY�/xYw#1swYyxYw)Nrc��eZdZddiZy)�5GenericTests.test_parameterized_slots_dict.<locals>.D�bananar�Nr�rkr^r\rEr�	�s��!�2��Ir^rE�yesr�)rr#r�r�	r�rri	)rWrrEr�d_ints     r\�test_parameterized_slots_dictz*GenericTests.test_parameterized_slots_dict�s����C�L��	'���
�	'�
�C����#����������
�
�
�~�
.��A�H�/�
�
�
�~�
.��E�L�/�
.�/�
.��
.�
.�s�B�;B�B�B!c��|jt�5tttf}Gd�dt
|�}ddd�y#1swYyxYw)Nc��eZdZy)�#GenericTests.test_errors.<locals>.CNr|rkr^r\rBr
r�r^rB)r�r�r�r�r
r#)rWr�rBs   r\r�zGenericTests.test_errors
s:��
�
�
�y�
)��b�#�g�&�A�
�G�A�J�
�*�
)�
)�s�&A�Ac���Gd�dtt�}|j|jt�|j|j
d�|t}|j|jt�|jt|�jd�dd�Gd�d|t�}|j|jt�|j|j
d	�y)
Nc��eZdZy)�#GenericTests.test_repr_2.<locals>.CNr|rkr^r\rBr
r�r^rBr
r�	r�	zC[int]c��eZdZy)�#GenericTests.test_repr_2.<locals>.YNr|rkr^r\r�r

r�r^r�r

)	r#rr�rirhrjr�r�r�	)rWrBr�r�s    r\�test_repr_2zGenericTests.test_repr_2s���	���
�	�	
������x�0�������>�	@�
�c�F��������x�0�����a����s�+�B�/��:�	��#��	�	
������x�0�������>�	@r^c�d�td�}td�}td�}td�}td�}Gd�dt||f�}Gd�d	t|||f�}Gd
�dtg|�|���}|||fd|t||f|fd
|gt
fd|tgt
fd|ttgt
fd|tttgt
fd|tg|�|��|fd||||fd|tgtgt
fd|ttgttgt
fd|g|�|��d|ttttgfd|ttttgfd|tg|�|��tfttt
tgfdi}	|	j�D]s\}
}|j|
|��5|jt|
�dtj|j ��dtj|��d��ddd��uy#1swY��xYw)Nrr"r�r8r�c��eZdZy)�,GenericTests.test_repr_3.<locals>.MyCallableNr|rkr^r\�
MyCallabler
*r�r^r
c��eZdZy)�,GenericTests.test_repr_3.<locals>.DoubleSpecNr|rkr^r\�
DoubleSpecr
-r�r^r
c��eZdZy)�%GenericTests.test_repr_3.<locals>.TsPNr|rkr^r\�TsPr
0r�r^r
zMyCallable[~P, ~T]z+MyCallable[typing.Concatenate[~T1, ~P], ~T]zMyCallable[[], bool]zMyCallable[[int], bool]zMyCallable[[int, str], bool]z"MyCallable[[int, list[int]], bool]z9MyCallable[typing.Concatenate[typing.Unpack[Ts], ~P], ~T]zDoubleSpec[~P2, ~P, ~T]zDoubleSpec[[int], [str], bool]z(DoubleSpec[[int, int], [str, str], bool]zTsP[typing.Unpack[Ts], ~P]zTsP[int, str, list[int], []]zTsP[int, [str, list[int]]]z(MyCallable[[int, str, bool, float], int])rV�
expected_repr�^z.*\.�$)rrErr#rFr,r�r�r�r{r�ru�assertRegexr�r�r�ri)rWrr"r�r8r�r
r
r
�object_to_expected_reprrVr
s            r\�test_repr_3zGenericTests.test_repr_3#s?���C�L��
�T�]���c�N��
�t�_��
�$�
��	���A���	�	���B���*�	�	�'�&�2�&�q�&�/�	�
�q�!�t��6J��{�2�q�5�)�1�,�-�6c��r�4�x� �6L���u�d�{�#�6O���S�z�4�'�(�6T���T�#�Y�'��-�.�6Z��{�6�B�6��6�*�A�-�.�6q��r�1�a�x� �6O���u�s�e�T�)�*�6V���S�z�C��:�t�3�4�6`�����Q��K�6R���S�$�s�)�R�'�(�6T���c�4��9�%�%�&�6R�
�{�6�B�6��6�*�C�/�0��c�D�%�=�1H�I�6`�'#
��,#:�"?�"?�"A��C�����#�]��C�� � ���I�����:�#8�#8�9�:�$�r�y�y��?W�>X�XY�Z��D�C�#B�C�C�s
�AH&�&H/	c���|jtt�|jtttt�|jtttt
�yrb)r�r#rr�rrr�s r\�	test_eq_1zGenericTests.test_eq_1PsB������'�*�������W�Q�Z�0����G�B�K����5r^c�$�Gd�dtt�}Gd�dtt�}|j||�|j||�|j|t|t�|j|t|t�y)Nc��eZdZy)�!GenericTests.test_eq_2.<locals>.ANr|rkr^r\r�r 
Wr�r^r�c��eZdZy)�!GenericTests.test_eq_2.<locals>.BNr|rkr^r\r�r"
Zr�r^r�)r#rr�r�r�s   r\�	test_eq_2zGenericTests.test_eq_2Ust��	���
�	�	���
�	�	
����A�����A�q�!�����1��q��t�$����A�a�D�!�A�$�'r^c	�D�Gd�dtttf�}Gd�dtttf�}Gd�d|ttfttttf|ttf�}|j	|j
tttf�y)Nc��eZdZy)�1GenericTests.test_multiple_inheritance.<locals>.ANr|rkr^r\r�r&
dr�r^r�c��eZdZy)�1GenericTests.test_multiple_inheritance.<locals>.BNr|rkr^r\r�r(
gr�r^r�c��eZdZy)�1GenericTests.test_multiple_inheritance.<locals>.CNr|rkr^r\rBr*
jr�r^rB)r#rrrr�r�)rWr�r�rBs    r\�test_multiple_inheritancez&GenericTests.test_multiple_inheritancebss��	���2���	�	���A���	�	��!�R�%��'�"�a��)�,�a��A��h�	�	
����)�)�B��2�;�7r^c���td�}Gd�dt|�}Gd�dtt|�}|j	|j
|t|ttf�y)Nr�c��eZdZy)�9GenericTests.test_multiple_inheritance_special.<locals>.BNr|rkr^r\r�r.
qr�r^r�c��eZdZy)�9GenericTests.test_multiple_inheritance_special.<locals>.CNr|rkr^r\rBr0
rr�r^rB)rr#rr�r�r�r�r�)rWr�r�rBs    r\�!test_multiple_inheritance_specialz.GenericTests.test_multiple_inheritance_specialosD���C�L�� ���
� �"��S�	�1�"�������Q��a��&�$A�Br^c�@���Gd�dt��G��fd�d��Gd�dtt��}|j��5Gd�d|�}ddd�|j��5Gd	�d
|t�}ddd�y#1swY�6xYw#1swYyxYw)Nc��eZdZy)�DGenericTests.test_init_subclass_super_called.<locals>.FinalExceptionNr|rkr^r\�FinalExceptionr4
vr�r^r5
c�&���eZdZd���fd�Z�xZS)�;GenericTests.test_init_subclass_super_called.<locals>.Finalc�x��|jD]}|�us�t|��s��|��t�|�di|��yr�)r*	rTr�r�)rXr�r�	r%r5
r�s   ���r\r�zMGenericTests.test_init_subclass_super_called.<locals>.Final.__init_subclass__zs?����M�M�D��5�(�Z��e�-D�,�T�2�2�*���)�3�F�3r^rr�)r�r%r5
s@��r\r%r7
ys
���
4�
4r^r%c��eZdZy)�:GenericTests.test_init_subclass_super_called.<locals>.TestNr|rkr^r\r�r:
r�r^r�c��eZdZy)�>GenericTests.test_init_subclass_super_called.<locals>.SubclassNr|rkr^r\�Subclassr<
�r�r^r=
c��eZdZy)�?GenericTests.test_init_subclass_super_called.<locals>.Subclass2Nr|rkr^r\�	Subclass2r?
�r�r^r@
)r�r#rr�r�)rWr�r=
r@
r%r5
s    @@r\�test_init_subclass_super_calledz,GenericTests.test_init_subclass_super_calledus����	�Y�	�	4�	4�	�7�1�:�u�	�
�
�
�~�
.�
�4�
�/��
�
�~�
.�
�D��I�
�/�
.�/�
.��/�
.�s�B�,B�B�Bc�6�t}Gd�d|t�}|tjt}Gd�d|�}|�}|jg�|j
d�|j
d�|j|j�ddg�y)Nc�.�eZdZdZdefd�Zd�Zdefd�Zy)�)GenericTests.test_nested.<locals>.VisitorNrc��||_yrbr
�rWrs  r\rYz-GenericTests.test_nested.<locals>.Visitor.set�r�r^c��|jSrbr
r�s r\r�z-GenericTests.test_nested.<locals>.Visitor.get�����v�v�
r^r�c��|jSrbr
r�s r\�visitz/GenericTests.test_nested.<locals>.Visitor.visit�rH
r^)rhrirjrrrYr�rJ
rkr^r\�VisitorrD
�s$���A�
�Q�
�
�
�q�
r^rK
c��eZdZdefd�Zy)�0GenericTests.test_nested.<locals>.IntListVisitorr�c�:�|jj|�yrb)rr�r�s  r\r�z7GenericTests.test_nested.<locals>.IntListVisitor.append�s�����
�
�a� r^N)rhrirjr�r�rkr^r\�IntListVisitorrM
�s��
!��
!r^rO
rnr�)	r#rrcrr�rYr�r�r�)rWr�rK
r�rO
rs      r\�test_nestedzGenericTests.test_nested�s}����	�a��d�	�
�F�K�K��$�%��	!�Q�	!�

���	���b�	�	�����	������������1�b�'�*r^c�l����td��G�fd�dt���d�f���fd�}|d�y)Nrc�*��eZdZ		ddW�ddddfd�Zy)�,GenericTests.test_type_erasure.<locals>.NodeNr��left�Node[T]�rightc�.�||_||_||_yrb�r�rT
rV
)rWr�rT
rV
s    r\r�z5GenericTests.test_type_erasure.<locals>.Node.__init__�s��#��
� ��	�"��
r^�NNr�rts�r\r>	rS
�s%���+/�,0�
#�a�
#�(�
#� )�
#r^r>	r�c����|�}��|�}�t|�}�jt|����jt|����jt|����j|j|��j|j|��j|j|�yrb)r
r�r�r�r�)r�rr�rr>	rrWs    ���r\rkz+GenericTests.test_type_erasure.<locals>.foo�s�����Q��A���Q���
�A���S�	�!��A��M�M�$�q�'�4�(��M�M�$�q�'�4�(��M�M�$�q�'�4�(����Q�W�W�a�(����Q�W�W�a�(����Q�W�W�a�(r^r��rr#)rWrkr>	rs` @@r\r6zGenericTests.test_type_erasure�s1����C�L��	#�7�1�:�	#�		)�1�		)�	�B�r^c��td�}Gd�dt|�}Gd�d|�}|j|jd�|j	t
�5|tddd�|j	t
�5|tddd�|j	t
�5||ddd�y#1swY�TxYw#1swY�9xYw#1swYyxYw)Nrc��eZdZy)�)GenericTests.test_implicit_any.<locals>.CNr|rkr^r\rBr^
�r�r^rBc��eZdZy)�)GenericTests.test_implicit_any.<locals>.DNr|rkr^r\rEr`
�r�r^rErk)rr#r�r�r�r�r�r
r	s    r\�test_implicit_anyzGenericTests.test_implicit_any�s����C�L��	���
�	�	��	�	
����)�)�2�.�
�
�
�y�
)�
�c�F�*�
�
�
�y�
)�
�c�F�*�
�
�
�y�
)�
�a�D�*�
)�	*�
)��
)�
)��
)�
)�s$�
B7�
C�(C�7C�C�Cc��Gd�dtt�}Gd�d�}Gd�d||�}|d�}|j|jd�y)Nc��eZdZy)�*GenericTests.test_new_with_args.<locals>.ANr|rkr^r\r�rd
�r�r^r�c���eZdZ�fd�Z�xZS)�*GenericTests.test_new_with_args.<locals>.Bc�4��t�|�|�}||_|Srb)r�r�r��rXr�rVr�s   �r\r�z2GenericTests.test_new_with_args.<locals>.B.__new__�s����g�o�c�*������
r^r�r�s@r\r�rf
��
���
�
r^r�c��eZdZy)�*GenericTests.test_new_with_args.<locals>.CNr|rkr^r\rBrk
�r�r^rBrk)r#rr�r��rWr�r�rBrs     r\�test_new_with_argszGenericTests.test_new_with_args�sI��	���
�	�	�	�	��1�	�
�e�H���������&r^c���Gd�d�}Gd�dtt|�}|d�}|j|jd�|j|jd�y)Nc���eZdZ�fd�Z�xZS)�+GenericTests.test_new_with_args2.<locals>.Ac�0��||_t�|�	�yrb)�from_ar�r��rWr�r�s  �r\r�z4GenericTests.test_new_with_args2.<locals>.A.__init__�s���!����� �"r^r�r�s@r\r�rp
�s
���
#�
#r^r�c���eZdZ�fd�Z�xZS)�+GenericTests.test_new_with_args2.<locals>.Cc�2��||_t�|�	|�yrb)�from_cr�r�rs
s  �r\r�z4GenericTests.test_new_with_args2.<locals>.C.__init__�s���!����� ��%r^r�r�s@r\rBru
�s
���
&�
&r^rBrk)r#rr�rr
rw
)rWr�rBrs    r\�test_new_with_args2z GenericTests.test_new_with_args2�sQ��	#�	#�	&���
�A�	&�
�e�H��������5�)�������5�)r^c�x�Gd�dtt�}|jt�5|d�ddd�Gd�d�}Gd�d||�}|d�}|j	|j
d�|j	|jd�|j	|jd	�y#1swY�|xYw)
Nc��eZdZy)�(GenericTests.test_new_no_args.<locals>.ANr|rkr^r\r�r{
�r�r^r�rkc���eZdZ�fd�Z�xZS)�(GenericTests.test_new_no_args.<locals>.Bc�4��t�|�|�}d|_|S)Nr�)r�r��from_b)rXrVr�s  �r\r�z0GenericTests.test_new_no_args.<locals>.B.__new__������g�o�c�*�� ��
��
r^r�r�s@r\r�r}
�ri
r^r�c�$��eZdZd�Z�fd�Z�xZS)�(GenericTests.test_new_no_args.<locals>.Cc��||_yrbr�r�s  r\r�z1GenericTests.test_new_no_args.<locals>.C.__init__s	����r^c�4��t�|�|�}d|_|S)Nr)r�r�rw
rh
s   �r\r�z0GenericTests.test_new_no_args.<locals>.C.__new__
r�
r^)rhrirjr�r�r�r�s@r\rBr�
s���
�
�
r^rBr�r)r#rr�r�r�r�r
rw
rl
s     r\�test_new_no_argszGenericTests.test_new_no_args�s���	���
�	��
�
�y�
)�
�e�H�*�	�	�	��1�	�
�e�H���������&�������3�'�������3�'�1*�
)�s�	B0�0B9c
���tttttttft
ttdtttd�fttfD]a}|j|��5|jtdtjd|����d��5Gd�d|�}ddd�ddd��cy#1swY�xYw#1swY�zxYw)	Nr�r�)rZr
r�r
c��eZdZy)�4GenericTests.test_subclass_special_form.<locals>.FooNr|rkr^r\r�r�
#���r^r�)r$r�r%rr{rrrFrErIrur�r�r�r�)rWrVr�s   r\�test_subclass_special_formz'GenericTests.test_subclass_special_forms����S�M��#�J��#�u�*���S�M��D�M���Y�s�^�+�,��c�N�
�C����#��&��+�+�!�Q�r�y�y�3C�C�7�1K�'L�&M�Q�#O���c���'�&�
����'�&�s$�91C�*C	�6C�	C�C�C	c�~�tdd��}Gd�dt|�}td�}Gd�d|t|�}y)	Nr�Tr�c��eZdZy)�2GenericTests.test_complex_subclasses.<locals>.BaseNr|rkr^r\r_	r�
)rT	r^r_	rc��eZdZy)�1GenericTests.test_complex_subclasses.<locals>.SubNr|rkr^r\r�r�
/rT	r^r�r[
)rWr�r_	rr�s     r\�test_complex_subclassesz$GenericTests.test_complex_subclasses&s;���v��.��	�7�4�=�	�
�C�L��	�$���
�	r^c	���|jttjtf�|jtttjtf�Gd�d�}ttfD]�}|t
ttttjtjfD]I}|j||��5|jtd�5||tddd�ddd��K��|jt|�jtf�|jt|�jtf�y#1swY�pxYw#1swY��xYw)Nc��eZdZefZy)�0GenericTests.test_parameter_detection.<locals>.AN)rhrirjrr�rkr^r\r�r�
5s	���T�Nr^r�)r�subz.* is not a generic class)r�rrr�r�r�rrrEr�r�	UnionTyperur�r�r�)rWr�rr�s    r\�test_parameter_detectionz%GenericTests.test_parameter_detection2s
������a��/�/�!��6�����d�1�g��5�5��t�<�	"�	"����A���g�|�Y��@R�@R�TY�Tc�Tc�d���\�\�!��\�3��/�/�	�;V�W��!��S�	�X�4�3�e��	
����a�c��1�1�A�4�8�����a�c��1�1�A�4�8�
X�W��4�3�s$�E#�
E	�(E#�E 
�E#�#E,c
���td��Gd�dt��}G�fd�d�}t||tttt
ttjtjf
D�]l}ttfD]�}|j||��5|j||�ft||tf�|j|�|ft|t|f�||}|jt�5|tddd�ddd���t t"j$j fD]�}|j||��5|j||g�ft||gtf�|j|�g|ft|tg|f�||g|f}|jt�5|tddd�ddd�����oy#1swY��xYw#1swY��wxYw#1swY�0xYw#1swY��xYw)Nrc��eZdZy)�2GenericTests.test_non_generic_subscript.<locals>.GNr|rkr^r\r�r�
Er�r^r�c���eZdZW�fZy)�2GenericTests.test_non_generic_subscript.<locals>.AN)rhrirjr�rts�r\r�r�
Gs
����T�Nr^r�)r�r�
)�callabler�
)rr#r�rr�rrEr�rr�
rr�rur�r�r�r"rr)rWr�r�r�r�rrrs       @r\�test_non_generic_subscriptz'GenericTests.test_non_generic_subscriptCs�����C�L��	���
�	�	"�	"��q�!�T�4��<���$�$�e�o�o�7�A��E�\���\�\��q�\�1��$�$�Q�q�!�t�W�S�\�1�Q��V�9�=��$�$�Q�q�!�t�W�S�\�1�S�!�V�9�=��!��A��*�*�9�5��#��6�	2�1�"��{���7�7�7���\�\�1�!�\�4��$�$�Q��s�A�v�Y�s�^�Q��s�C�x�[�A��$�$�Q��s�A�v�Y�s�^�Q��u�a�x�[�A��1�#�q�&�	�A��*�*�9�5��#��6�	5�4�8�7�6�5��	2�1��6�5��	5�4�sJ�A)G(�:
G	�G(�A0H�<
G5	�H�G%
�!G(�(G2�5G>
�:H�H
N)Brhrirjr9r�r�r�r�r�r�r�r�r�r�r	r		r	r"	r+	r0	rD	rJ	rP	r[	rc	re	rv	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r$r�	r�	r�	r�	r�	r
r�r
r
r
r#
r+
r1
rA
rP
r6ra
rm
rx
r�
r�
r�
r�
r�
rkr^r\r�r�,sP��E�&�2�%�(B�+�0	>�

��5�";�5�6�2�
)�&S�C�
"?�H?�"I�(C�TP� 	4�M�4%
�N
C�H�
�	U�
�	
�
�
�29�: �"�F�"
1�"'�H-�.�84�02�9�&
 ��@�$+�Z6�
(�8�C��&+�<�0�$'�&*�&(�>�"
�9�"r^r�c�*�eZdZd�Zd�Zd�Zd�Zd�Zy)�
ClassVarTestsc��|jt�5tttfddd�|jt�5tttddd�y#1swY�<xYw#1swYyxYwrb)r�r�r$r�r�r�s r\r9zClassVarTests.test_basicsasS��
�
�
�y�
)��S�#�X��*�
�
�
�y�
)��S�M�#��*�
)�*�
)��
)�
)�s�A%�A1�%A.�1A:c���|jtt�d�tt}|jt|�d�tt}|jt|�dt
z�y)Nztyping.ClassVar�typing.ClassVar[int]ztyping.ClassVar[%s.Employee])r�r�r$r�r{rh�rW�cvs  r\r�zClassVarTests.test_reprgsY������h��):�;�
�c�]������b��#9�:�
�h�
������b��#A�H�#L�Mr^c	�$�|jtt�5Gd�dtt��}ddd�|jtt�5Gd�dttt
��}ddd�|jtd�5Gd�dt�}ddd�|jtd�5Gd	�d
tt
�}ddd�y#1swY��xYw#1swY�yxYw#1swY�WxYw#1swYyxYw)Nc��eZdZy)�-ClassVarTests.test_cannot_subclass.<locals>.CNr|rkr^r\rBr�
pr�r^rBc��eZdZy)�-ClassVarTests.test_cannot_subclass.<locals>.DNr|rkr^r\rEr�
sr�r^rEz Cannot subclass typing\.ClassVarc��eZdZy)�-ClassVarTests.test_cannot_subclass.<locals>.ENr|rkr^r\r�r�
wr�r^r�z'Cannot subclass typing\.ClassVar\[int\]c��eZdZy)�-ClassVarTests.test_cannot_subclass.<locals>.FNr|rkr^r\r�r�
{r�r^r�)r�r�r�r�r$r��rWrBrEr�r�s     r\r�z"ClassVarTests.test_cannot_subclassns���
�
#�
#�I�/C�
D�
�D��N�
�E��
#�
#�I�/C�
D�
�D��#��'�
�E��
#�
#�I�$G�I�
�H�
�I��
#�
#�I�$N�P�
�H�S�M�
�P�P�E�
D��E�
D��I�I��P�P��/�C"� C.�C:�D�"C+�.C7�:D�Dc��|jt�5t�ddd�|jt�5tt��ddd�|jt�5tttt
��ddd�y#1swY�|xYw#1swY�VxYw#1swYyxYwrb)r�r�r$r�rr�r�s r\rIzClassVarTests.test_cannot_init~�|��
�
�
�y�
)��J�*�
�
�
�y�
)��D��N��*�
�
�
�y�
)�)�D��(�3�-�(�)�+�*�
)�	*�
)��
)�
)��
)�
)��"�B�B(�0#B4�B%�(B1�4B=c��|jt�5tdtt�ddd�|jt�5ttt�ddd�y#1swY�<xYw#1swYyxYwrK)r�r�r�r$r�rTr�s r\rLz ClassVarTests.test_no_isinstance��S��
�
�
�y�
)��q�(�3�-�(�*�
�
�
�y�
)��s�H�%�*�
)�*�
)��
)�
)���A)�A5�)A2�5A>N�rhrirjr9r�r�rIrLrkr^r\r�
r�
_s���N�� ,�&r^r�
c�*�eZdZd�Zd�Zd�Zd�Zd�Zy)�
FinalTestsc��tt|jt�5tttfddd�|jt�5tttddd�|jt�5t
ttddd�y#1swY�nxYw#1swY�HxYw#1swYyxYwrb)r%r�r�r�r�rr�s r\r9zFinalTests.test_basics�s~��
�c�
�
�
�
�y�
)��#�s�(�O�*�
�
�
�y�
)��#�J�s�O�*�
�
�
�y�
)��U�3�Z� �*�
)�	*�
)��
)�
)��
)�
)�s#�B$�B0�B<�$B-�0B9�<Cc�N�|jtt�d�tt}|jt|�d�tt}|jt|�dt
z�ttt}|jt|�d�y)Nztyping.Finalztyping.Final[int]ztyping.Final[%s.Employee]ztyping.Final[tuple[int]])r�r�r%r�r{rhr�r�
s  r\r�zFinalTests.test_repr�sz������e��n�5�
�3�Z������b��#6�7�
�8�_������b��#>��#I�J�
�5��:�
������b��#=�>r^c	�$�|jtt�5Gd�dtt��}ddd�|jtt�5Gd�dttt
��}ddd�|jtd�5Gd�dt�}ddd�|jtd�5Gd	�d
tt
�}ddd�y#1swY��xYw#1swY�yxYw#1swY�WxYw#1swYyxYw)Nc��eZdZy)�*FinalTests.test_cannot_subclass.<locals>.CNr|rkr^r\rBr�
�r�r^rBc��eZdZy)�*FinalTests.test_cannot_subclass.<locals>.DNr|rkr^r\rEr�
�r�r^rEzCannot subclass typing\.Finalc��eZdZy)�*FinalTests.test_cannot_subclass.<locals>.ENr|rkr^r\r�r�
�r�r^r�z$Cannot subclass typing\.Final\[int\]c��eZdZy)�*FinalTests.test_cannot_subclass.<locals>.FNr|rkr^r\r�r�
�r�r^r�)r�r�r�r�r%r�r�
s     r\r�zFinalTests.test_cannot_subclass�s���
�
#�
#�I�/C�
D�
�D��K�
�E��
#�
#�I�/C�
D�
�D��s��$�
�E��
#�
#�I�0�2�
�E�
�2��
#�
#�I�7�9�
�E�#�J�
�9�9�E�
D��E�
D��2�2��9�9�r�
c��|jt�5t�ddd�|jt�5tt��ddd�|jt�5tttt
��ddd�y#1swY�|xYw#1swY�VxYw#1swYyxYwrb)r�r�r%r�rr�r�s r\rIzFinalTests.test_cannot_init�s{��
�
�
�y�
)��G�*�
�
�
�y�
)��D��K�M�*�
�
�
�y�
)�&�D��x��}�%�&�(�*�
)�	*�
)��
)�
)��
)�
)�r�
c��|jt�5tdtt�ddd�|jt�5ttt�ddd�y#1swY�<xYw#1swYyxYwrK)r�r�r�r%r�rTr�s r\rLzFinalTests.test_no_isinstance�sS��
�
�
�y�
)��q�%��*�%�*�
�
�
�y�
)��s�E�"�*�
)�*�
)��
)�
)�r�
Nr�
rkr^r\r�
r�
�s��!�?�� )�#r^r�
c��eZdZd�Zd�Zy)�FinalDecoratorTestsc�@�d�}|j|t|��y)Nc��yrbrkr�s r\�funcz7FinalDecoratorTests.test_final_unmodified.<locals>.func�r�r^)r�r&�rWr�
s  r\�test_final_unmodifiedz)FinalDecoratorTests.test_final_unmodified�s����
�
�d�E�$�K�(r^c��td��}tGd�d��}|jd|j�|jd|j�Gd�d�}t|d���}|j||�|jdt	|d	��Gd
�dt
�}tGd�d
|���}|j
|jd�tt�|jdt	td	��Gd�d�}|jdtj|d�j�|jdtj|d�j�|jd|jjj�|jd|jj�y)Nc��yrbrkrkr^r\r�
z3FinalDecoratorTests.test_dunder_final.<locals>.func����r^c��eZdZy)�2FinalDecoratorTests.test_dunder_final.<locals>.ClsNr|rkr^r\�Clsr�
�s��r^r�
Tc��eZdZdZd�Zd�Zy)�6FinalDecoratorTests.test_dunder_final.<locals>.Wrapper�r�
c��||_yrbr�
r�
s  r\r�z?FinalDecoratorTests.test_dunder_final.<locals>.Wrapper.__init__�r�r^c�&�|j|i|��Srbr�
r�s   r\r2z?FinalDecoratorTests.test_dunder_final.<locals>.Wrapper.__call__�s�� �t�y�y�$�1�&�1�1r^N)rhrirjr�r�r2rkr^r\�Wrapperr�
�s��!�I�
!�
2r^r�
c��yrbrkrkr^r\�wrappedz6FinalDecoratorTests.test_dunder_final.<locals>.wrapped�s��r^F�	__final__c��eZdZed��Zy)�3FinalDecoratorTests.test_dunder_final.<locals>.Metac��y)N�can't set merkr�s r\r�
z=FinalDecoratorTests.test_dunder_final.<locals>.Meta.__final__�s��(6r^N)rhrirjrQr�
rkr^r\rN	r�
�s��
�6��6r^rN	c��eZdZy)�7FinalDecoratorTests.test_dunder_final.<locals>.WithMetaNr|rkr^r\�WithMetar�
�s��(+r^r�
r�r�
c�~�eZdZeed���Zeed���Zeed���Z	ee
�d���Zy)�6FinalDecoratorTests.test_dunder_final.<locals>.Methodsc��yrbrkr�s r\�	clsmethodz@FinalDecoratorTests.test_dunder_final.<locals>.Methods.clsmethod�s�� #r^c��yrbrkrkr^r\�stmethodz?FinalDecoratorTests.test_dunder_final.<locals>.Methods.stmethod����r^c��yrbrkr�s r\�propz;FinalDecoratorTests.test_dunder_final.<locals>.Methods.prop�r�
r^c��yrbrkr�s r\�cachedz=FinalDecoratorTests.test_dunder_final.<locals>.Methods.cached�s��!r^N)rhrirjr&rer�
�staticmethodr�
rQr�
rr�
rkr^r\�Methodsr�
�s^��
�
�#���#�
�
������
�����
�
�[�!���!r^r�
r�
r�
)
r&r�r�
r�rlr�r�r��inspect�getattr_staticr�
�fgetr�
)rWr�
r�
r�
r�
rN	r�
r�
s        r\�test_dunder_finalz%FinalDecoratorTests.test_dunder_final�sp��	��
��	���
���
�
�d�D�N�N�+��
�
�d�C�M�M�*�	2�	2�
�	��
�
�����g�w�/��
�
�e�W�W�k�:�;�	7�4�	7�
�+��+�
�+�����+�+�^�<�	�c�
��
�
�e�W�S�+�6�7�	"�	"�*	
�
�
���"�"�7�K�8�B�B�	
�	
�
�
���"�"�7�J�7�A�A�	
�	
�
�
�d�G�L�L�-�-�7�7�8��
�
�d�G�N�N�4�4�5r^N)rhrirjr�
r�
rkr^r\r�
r�
�s
��)�B6r^r�
c�$�eZdZd�Zd�Zd�Zd�Zy)�OverrideDecoratorTestsc���Gd�d�}Gd�d|�}|j||�|�}|j|j�d�|jd|jj�|jd|jj�|j|j�d�|jd|j
j�|j|j
�d�|jdt|jd��|j|j�d�|jd|jj�|j|j�d�|jdt|jd��|jdt|jd��|jdt|j
d��|jdt|jd��|jdt|jd��|jdt|jd��y)	Nc�R�eZdZd�Zed��Zed��Zed��Zed��Z	y)�2OverrideDecoratorTests.test_override.<locals>.Basec��yrbrkr�s r\�
normal_methodz@OverrideDecoratorTests.test_override.<locals>.Base.normal_methodr/r^c��yrbrkr�s r\�class_method_good_orderzJOverrideDecoratorTests.test_override.<locals>.Base.class_method_good_order
s��.1r^c��yrbrkr�s r\�class_method_bad_orderzIOverrideDecoratorTests.test_override.<locals>.Base.class_method_bad_orders��-0r^c��yrbrkrkr^r\�static_method_good_orderzKOverrideDecoratorTests.test_override.<locals>.Base.static_method_good_orders��,/r^c��yrbrkrkr^r\�static_method_bad_orderzJOverrideDecoratorTests.test_override.<locals>.Base.static_method_bad_orders��+.r^N)
rhrirjr�
rer�
r�
r�
rrrkr^r\r_	r�
s=��(�
�1��1�
�0��0�
�/��/�
�.��.r^r_	c��eZdZed��Zeed���Zeed���Zeed���Z	eed���Z
y)�5OverrideDecoratorTests.test_override.<locals>.Derivedc��yr�rkr�s r\r�
zCOverrideDecoratorTests.test_override.<locals>.Derived.normal_methodrOr^c��yr�rkr�s r\r�
zMOverrideDecoratorTests.test_override.<locals>.Derived.class_method_good_order���r^c��yr�rkr�s r\r�
zLOverrideDecoratorTests.test_override.<locals>.Derived.class_method_bad_orderrr^c��yr�rkrkr^r\rzNOverrideDecoratorTests.test_override.<locals>.Derived.static_method_good_order$rr^c��yr�rkrkr^r\rzMOverrideDecoratorTests.test_override.<locals>.Derived.static_method_bad_order(rr^N)rhrirjr.r�
rer�
r�
r�
rrrkr^r\rb	rs���
�
��
��
�
���
�
�
�
���
��
�
���
�
�
�
���
r^rb	r�TF�__override__)
r]r�r�
r�rr�
r�
rlrr)rWr_	rb	r�s    r\�
test_overridez$OverrideDecoratorTests.test_override
s���		/�		/�	�d�	�.	
���g�t�,��9������/�/�1�2�6��
�
�d�G�1�1�>�>�?��
�
�d�H�2�2�?�?�@�����8�8�:�B�?��
�
�d�G�;�;�H�H�I�����7�7�9�2�>��
�
�e�W�W�%C�%C�^�T�U�����9�9�;�R�@��
�
�d�G�<�<�I�I�J�����8�8�:�B�?��
�
�e�W�W�%D�%D�n�U�V�	
�
�
�e�W�T�%7�%7��H�I��
�
�e�W�T�%A�%A�>�R�S��
�
�e�W�T�%@�%@�.�Q�R��
�
�e�W�T�%B�%B�N�S�T��
�
�e�W�T�%A�%A�>�R�Sr^c��Gd�d�}Gd�d|�}|�}|j|jd�|j|jjj�|j|j
d�|j
t|j
d��|j
t|j
jd��y)Nc�8�eZdZedefd��Zedefd��Zy)�2OverrideDecoratorTests.test_property.<locals>.Baser�c��yrKrkr�s r\�correctz:OverrideDecoratorTests.test_property.<locals>.Base.correctF���r^c��yrKrkr�s r\�wrongz8OverrideDecoratorTests.test_property.<locals>.Base.wrongIrr^N)rhrirjrQr�rrrkr^r\r_	rEs4��
�
��
��
�
�
�s�
��
r^r_	c�L�eZdZeedefd���Zeedefd���Zy)�3OverrideDecoratorTests.test_property.<locals>.Childr�c��y�Nr�rkr�s r\rz;OverrideDecoratorTests.test_property.<locals>.Child.correctN���r^c��yrrkr�s r\rz9OverrideDecoratorTests.test_property.<locals>.Child.wrongRrr^N)rhrirjrQr.r�rrrkr^r\�ChildrMsD��
�
�
��
���
�
�
�
�s�
���
r^rr�r)	r�rr�r�
rrr�rl�fset)rWr_	rr�s    r\�
test_propertyz$OverrideDecoratorTests.test_propertyDs���	�	�	�D�	��7������)�)�1�-�����
�
�*�*�7�7�8��������+��������n�=�>��������!1�!1�>�B�Cr^c���Gd�d��G�fd�d�}|j|jd�|jt|jd��y)Nc��eZdZdZd�Zdd�Zy)�>OverrideDecoratorTests.test_silent_failure.<locals>.CustomProp�r�
c��||_yrbr!)rWr�
s  r\r�zGOverrideDecoratorTests.test_silent_failure.<locals>.CustomProp.__init__ar�r^Nc�$�|j|�Srbr!rUs   r\rXzFOverrideDecoratorTests.test_silent_failure.<locals>.CustomProp.__get__cs���y�y��~�%r^rb)rhrirjr�r�rXrkr^r\�
CustomPropr _s��!�I�
!�
&r^r$c�*��eZdZeW�d���Zy)�@OverrideDecoratorTests.test_silent_failure.<locals>.WithOverridec��yrKrkr�s r\rzEOverrideDecoratorTests.test_silent_failure.<locals>.WithOverride.somegrr^N)rhrirjr.r)r$s�r\�WithOverrider&fs���
�
�
���
r^r(rnr)r�rr�rl)rWr(r$s  @r\�test_silent_failurez*OverrideDecoratorTests.test_silent_failure^sJ���	&�	&�	�	�	
����*�*�A�.������!2�!2�N�C�Dr^c�J��d��G�fd�d�}|�}|j|jd�d�|j|jj�|j|j	d�d�|j|jj�y)Nc�.��t���fd��}|S)Nc����|i|��Srbrk)r�r�rfs  �r\rwzTOverrideDecoratorTests.test_multiple_decorators.<locals>.with_wraps.<locals>.wrapperqs����$�)�&�)�)r^rx)rfrws` r\�
with_wrapszCOverrideDecoratorTests.test_multiple_decorators.<locals>.with_wrapsps���
�1�X�
*��
*��Nr^c�Z��eZdZeW�dedefd���ZW�ededefd���Zy)�EOverrideDecoratorTests.test_multiple_decorators.<locals>.WithOverriderr�c��|dzSrKrkrF
s  r\�on_topzLOverrideDecoratorTests.test_multiple_decorators.<locals>.WithOverride.on_topw�
���1�u�r^c��|dzSrrkrF
s  r\�	on_bottomzOOverrideDecoratorTests.test_multiple_decorators.<locals>.WithOverride.on_bottom{r2r^N)rhrirjr.r�r1r4)r-s�r\r(r/vsS���
�
�
��
��
���
�
�
�
�3�
�3�
���
r^r(rnr�rP)r�r1r�rr4)rWr(r�r-s   @r\�test_multiple_decoratorsz/OverrideDecoratorTests.test_multiple_decoratorsos}���	�	�	� �>���������+�Q�/�������4�4�5�����+�+�A�.��2�����*�*�7�7�8r^N)rhrirjrrr)r5rkr^r\r�
r�
	s��8T�tD�4E�"9r^r�
c��eZdZd�Zd�Zy)�	CastTestsc�0�|jttd�d�|jttd�d�|j	tttd��t�|jttd�d�|jttd�d�|jttttfd�d�|jttd�d�|jtdd�d�yr�)r�r)r�r{r�r�r
r�rr�rr�s r\r9zCastTests.test_basics�s�������c�2���+�����e�R��"�-��
�
�d�4��r�?�+�S�1�����c�2���+�����d�B���,�����e�C��J�/��4�b�9�����f�b�)�2�.�����d�B���,r^c�4�tdd�tdd�y�Nr��hello)r)r�s r\r�zCastTests.test_errors�s���R����W�b�r^N�rhrirjr9r�rkr^r\r7r7�s��-�r^r7c��eZdZd�Zd�Zy)�AssertTypeTestsc��d}|jt|t�|�|jt|ttz�|�|jt|t
�|�|jt|d�|�yr�)r�r(r�r�r{rr�s  r\r9zAssertTypeTests.test_basics�s_�����
�
�k�#�s�+�S�1��
�
�k�#�s�U�{�3�S�9��
�
�k�#�v�.��4��
�
�k�#�t�,�c�2r^c�x�d}|jt|d�|�|jt|d�|�yr:)r�r(r�s  r\r�zAssertTypeTests.test_errors�s1�����
�
�k�#�r�*�C�0��
�
�k�#�w�/��5r^Nr<rkr^r\r>r>�s��3�6r^r>)�ann_module8c�8�eZdZejj
Zy)�NoTypeCheck_OuterN)rhrirjrArC�Innerrkr^r\rCrC�s���)�)�/�/�Er^rCc�$�eZdZejZy)�NoTypeCheck_WithFunctionN)rhrirjrA�NoTypeCheck_functionrkr^r\rFrF�s��&�;�;�r^rFc���eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d �Z"d!�Z#d"�Z$d#�Z%d$�Z&y%)&�ForwardRefTestsc�~�Gd�dtt�}|t}t|jt�t
��}|j|dt|t�|j|d|t�|j|dt�|jd|�t|jt�t
��}|j|dt|t�t|jt�t
��}|j|d|t�y)Nc�P�eZdZdefd�Z			d
dddddefd	�Zd
edfd�Zddd�Z	y)�)ForwardRefTests.test_basics.<locals>.Noder�c�.�||_dx|_|_yrbrX
)rWr�s  r\r�z2ForwardRefTests.test_basics.<locals>.Node.__init__�s��"��
�)-�-��	�D�Jr^NrT
zOptional[Node[T]]rV
rU
�stuffc� �||_||_yrb)rT
rV
)rWrT
rV
rN�blahs     r\�add_bothz2ForwardRefTests.test_basics.<locals>.Node.add_both�s��
!��	�"��
r^�nodec�(�|j|d�yrb�rQ�rWrRs  r\�add_leftz2ForwardRefTests.test_basics.<locals>.Node.add_left�����
�
�d�D�)r^c�(�|jd|�yrbrTrUs  r\�	add_rightz3ForwardRefTests.test_basics.<locals>.Node.add_right�rWr^)NNNrb)rRrU
)
rhrirjrr�r�rQrrVrYrkr^r\r>	rL�sN��
.�a�
.�-1�&*�"�	
#�2�
#� )�
#�!$�
#�
*�X�i�%8�
*�
*r^r>	rT
rV
rNrPrR)r#rr�r+rQrrr�rrNrVrY)rWr>	r��
both_hints�
left_hints�right_hintss      r\r9zForwardRefTests.test_basics�s���	*�7�1�:�	*�(
��I��#�A�J�J��	�6�8�D�
�����F�+�X�d�1�g�->�?�����G�,�d�1�g�6�����G�,�c�2������,�#�A�J�J��	�6�8�D�
�����F�+�X�d�1�g�->�?�$�Q�[�[�'�)�V�X�F������V�,�d�1�g�6r^c��tjd�}|jt�5t	d|�ddd�y#1swYyxYw)Nr�r�)rcrAr�r�r��rW�frs  r\�#test_forwardref_instance_type_errorz3ForwardRefTests.test_forwardref_instance_type_error�s6��
�
�
�u�
%��
�
�
�y�
)��r�2��*�
)�
)�s�
A�A
c��tjd�}|jt�5t	t
|�ddd�y#1swYyxYw)Nr�)rcrAr�r�rTr�r^s  r\�#test_forwardref_subclass_type_errorz3ForwardRefTests.test_forwardref_subclass_type_error�s6��
�
�
�u�
%��
�
�
�y�
)��s�B��*�
)�
)�s�A�Ac��|jt�5tjd�ddd�y#1swYyxYwrK)r�r�rcrAr�s r\�test_forwardref_only_str_argz,ForwardRefTests.test_forwardref_only_str_arg�s*��
�
�
�y�
)����a� �*�
)�
)�s�5�>c���tjd�}|j|tjd��|jtdtt
�|j|tjdt���tjdt��}|j|tjdt���|j|tjdd���y)Nr���module�__other_name__)rcrAr�r�rr�rh)rWr_�frms   r\�test_forward_equalityz%ForwardRefTests.test_forward_equality�s���
�
�
�u�
%������V�.�.�u�5�6����D��K��c��3����B�� 1� 1�%�� I�J�����h�7������f�/�/��h�G�H����C��!2�!2�5�AQ�!R�Sr^c��tjd�}tjd�}tjd�}tjd�}Gd�d�}d|d|fd�}|jt|t	�t��||d��|j||�|j||�|j||�|jt|t|�|jt|t|�|jt|t|�|jt||ft|�|jt||tft|tf�y)NrBc��eZdZy)�4ForwardRefTests.test_forward_equality_gth.<locals>.CNr|rkr^r\rBrm�r�r^rr�c��yrbrk�rr�s  r\rkz6ForwardRefTests.test_forward_equality_gth.<locals>.foo�r�r^ro)
rcrAr�r+rrrr�rr�)rWrG�c1_gthrH�c2_gthrBrks       r\�test_forward_equality_gthz)ForwardRefTests.test_forward_equality_gth�s<��
�
�
�s�
#���"�"�3�'��
�
�
�s�
#���"�"�3�'��	�	�	�6�	�f�	�	
�����W�Y���A��QR�CS�T�����R� �����V�$������(�����b��4��<�0����D��H�d�1�g�.����D��L�$�q�'�2�����r�6�z�*�E�"�I�6�����r�6�3��/��r�3�w��@r^c	��tjd�}tjd�}tjd�}tjd�}d|d|fd�}t|t�t	��|jt
|�t
|��|jt
|�t
|��|jt
|�t
|��tjdt��}tjdd��}|jt
|�t
|��|jt
|�t
|��|jt
|�t
|��|jt
|�t
tjdt����y)Nr�rr�c��yrbrkros  r\rkz7ForwardRefTests.test_forward_equality_hash.<locals>.foor�r^rfrh)	rcrAr+rrr�r�rhr�)rWrGrprHrqrk�c3�c4s        r\�test_forward_equality_hashz*ForwardRefTests.test_forward_equality_hashs@��
�
�
�u�
%���"�"�5�)��
�
�
�u�
%���"�"�5�)��	�6�	�f�	��s�G�I�v�x�0�����b��4��8�,�����f��t�F�|�4�����b��4��<�0�
�
�
�u�X�
6��
�
�
�u�-=�
>�����D��H�d�2�h�/����D��H�d�6�l�3����D��H�d�2�h�/�����b��4��(9�(9�%��(Q�#R�Sr^c��Gd�d�}d�}d�}|j|�|��|j|�|��y)Nc��eZdZy)�:ForwardRefTests.test_forward_equality_namespace.<locals>.ANr|rkr^r\r�rzr�r^r�c�v�tjd�}d|fd�}t|t�t	��|S)Nr�r�c��yrbrkr�s r\r�zPForwardRefTests.test_forward_equality_namespace.<locals>.namespace1.<locals>.fun!r�r^�rcrAr+rr)rr�s  r\�
namespace1zCForwardRefTests.test_forward_equality_namespace.<locals>.namespace1s3���!�!�#�&�A�
�q�
��3��	�6�8�4��Hr^c��tjd�}Gd�d�}d|fd�}t|t�t	��|S)Nr�c��eZdZy)�NForwardRefTests.test_forward_equality_namespace.<locals>.namespace2.<locals>.ANr|rkr^r\r�r�)r�r^r�c��yrbrkr�s r\r�zPForwardRefTests.test_forward_equality_namespace.<locals>.namespace2.<locals>.fun+r�r^r})rr�r�s   r\�
namespace2zCForwardRefTests.test_forward_equality_namespace.<locals>.namespace2&s?���!�!�#�&�A�
�
�
�q�
�
�3��	�6�8�4��Hr^)r�r�)rWr�r~r�s    r\�test_forward_equality_namespacez/ForwardRefTests.test_forward_equality_namespaces@��	�	�	�		�	
�����z�|�4����J�L�*�,�7r^c	��|jttd�d�|jtttdd���d�y)Nr�ztyping.List[ForwardRef('int')]�modrfz,typing.List[ForwardRef('int', module='mod')])r�r�rrAr�s r\�test_forward_reprz!ForwardRefTests.test_forward_repr4sA������d�5�k�*�,L�M�����d�:�e�E�#B�C�D�G�	Ir^c�N�dtdfd�}|jt|t�t	��dtt
i�dttd�tzfd�}|jt|t�t	��dtt
tzi�y)Nrrc��yrbrkr
s r\rkz/ForwardRefTests.test_union_forward.<locals>.foo;r�r^c��yrbrkr
s r\rkz/ForwardRefTests.test_union_forward.<locals>.fooAr�r^)	rr�r+rrrr�rAr��rWrks  r\�test_union_forwardz"ForwardRefTests.test_union_forward9s���	�5��:�	�	
�����W�Y���A��u�Q�x��	*�	�5��C��)�C�/�	�	
�����W�Y���A��u�Q�x�#�~�.�	0r^c�2�dtdfd�}|jt|t�t	��dtt
i�dttd�fd�}|jt|t�t	��dtt
i�y)Nrrc��yrbrkr
s r\rkz/ForwardRefTests.test_tuple_forward.<locals>.fooIr�r^c��yrbrkr
s r\rkz/ForwardRefTests.test_tuple_forward.<locals>.fooOr�r^)rr�r+rrrr�rAr�s  r\�test_tuple_forwardz"ForwardRefTests.test_tuple_forwardGs{��	�5��:�	�	
�����W�Y���A��u�Q�x��	*�	�5��C��)�	�	
�����W�Y���A��u�Q�x��	*r^c��dd�}|jt|t�t��dtt
i�y)Nrc��yrbrkr
s r\rkz0ForwardRefTests.test_double_forward.<locals>.fooVr�r^)rzList['int'])r�r+rrrr�r�s  r\�test_double_forwardz#ForwardRefTests.test_double_forwardUs0��	������W�Y���A��t�C�y�)�	+r^c��d�}d�}d�}|�}|�}|j||�|jt|||�y)Nc�z�tjd�}|}d|fd�}t|t�t	��}|S)Nr�r�c��yrbrkr�s r\r�zPForwardRefTests.test_forward_recursion_actually.<locals>.namespace1.<locals>.fun_rLr^r}�rr�r��rets    r\r~zCForwardRefTests.test_forward_recursion_actually.<locals>.namespace1\�6���!�!�#�&�A��A��q�� ��g�i���:�C��Hr^c�z�tjd�}|}d|fd�}t|t�t	��}|S)Nr�r�c��yrbrkr�s r\r�zPForwardRefTests.test_forward_recursion_actually.<locals>.namespace2.<locals>.fungrLr^r}r�s    r\r�zCForwardRefTests.test_forward_recursion_actually.<locals>.namespace2dr�r^c��||k(Srbrk)�o1�o2s  r\�cmpz<ForwardRefTests.test_forward_recursion_actually.<locals>.cmpls����8�Or^)r�	r��RecursionError)rWr~r�r��r1�r2s      r\�test_forward_recursion_actuallyz/ForwardRefTests.test_forward_recursion_actually[sE��	�	�	��\��
�\������R� ����.�#�r�2�6r^c����td�tt�f�G�fd�d�}G��fd�d�}G��fd�d�}G��fd�d	�}|jt	|t�t
��t	|t�t
���|jt	|t�t
��d
tttttttdffi�|jt	|t�t
��d
ttttttdffi�|jt	|t�t
��d
ttttttttdffttttdffi�|jt	|t�t
��d
ttttttdftttttttdfffi�y)N�Valuec�"��eZdZUeW�ed<y)�7ForwardRefTests.test_union_forward_recursion.<locals>.CrkN)rhrirjrr�)r�s�r\rBr�xs
����e��r^rBc�(��eZdZUeW�W�fed<y)�7ForwardRefTests.test_union_forward_recursion.<locals>.DrkN)rhrirjrr��r��	ValueLists��r\rEr�zs����u�i�'�(�(r^rEc�.��eZdZUeeW�W�fed<y)�7ForwardRefTests.test_union_forward_recursion.<locals>.ErkN�rhrirjrrr�r�s��r\r�r�|s����t�E�{�I�-�.�.r^r�c�2��eZdZUeW�eW�W�fed<y)�7ForwardRefTests.test_union_forward_recursion.<locals>.FrkNr�r�s��r\r�r�~s����u�d�5�k�9�4�5�5r^r�rk)rrr�r�r+rr)rWrBrEr�r�r�r�s     @@r\�test_union_forward_recursionz,ForwardRefTests.test_union_forward_recursionts������M�	��c�9�n�%��	�	�	)�	)�	/�	/�	6�	6�	
�����7�9�f�h�?��PQ�SZ�S\�^d�^f�Ag�h������7�9�f�h�?���e�C��e�C��g��<N�6O�1P�,P�&Q�!R�S�	U������7�9�f�h�?���s�D��s�D��M�7I�1J�,K�'K�!L�M�	O������7�9�f�h�?���!�%��T�%��T�'�]�8J�2K�-L�(L�"M�N�!�%��T�'�]�(:�";�<�=�"��	�	
�����7�9�f�h�?��� �!�%��T�'�]�(:�";�<�!�%��T�%��T�'�]�8J�2K�-L�(L�"M�N�O�"��	r^c��dtdgdffd�}|jt|t�t	��dtt
gt
fi�y)Nrrc��yrbrkr
s r\rkz2ForwardRefTests.test_callable_forward.<locals>.foo�r�r^)r"r�r+rrrr�s  r\�test_callable_forwardz%ForwardRefTests.test_callable_forward�sK��	�8�S�E�3�J�'�	�	
�����W�Y���A��x���Q��/�0�	2r^c��dd�}|jt|t�t��dtdt
fi�y)Nrc��yrbrkr
s r\rkz@ForwardRefTests.test_callable_with_ellipsis_forward.<locals>.foo�r�r^.)rzCallable[..., T])r�r+rrr"rr�s  r\�#test_callable_with_ellipsis_forwardz3ForwardRefTests.test_callable_with_ellipsis_forward�s7��	�	
�����W�Y���A��x��Q��/�0�	2r^c��Gd�d�}Gd�d�}|jt|t��dtt�|jt|t��dt
t�|jt|t��dt�|jt|t��dt
�|j
t�5t|t��fddd�y#1swYyxYw)	Nc�R�eZdZUdZeded<dZeded<dZded<dZded	<y
)�5ForwardRefTests.test_special_forms_forward.<locals>.CrU)�
ClassVar[int])rPrVr)�
Final[int]�constr�r$r�r%r�N)	rhrirjrr@r�r�r�r�rkr^r\rBr��s5��45�A�y�0�1�5�23�A�y�.�/�3��A�z���A�w�Nr^rBc�"�eZdZUdZeded<y)�6ForwardRefTests.test_special_forms_forward.<locals>.CFrUr�r�N)rhrirjr�rr�rkr^r\�CFr��s��$%�A�t�L�!�%r^r�rr�r�r�)r�r+rr$r�r%r�r�)rWrBr�s   r\�test_special_forms_forwardz*ForwardRefTests.test_special_forms_forward�s���	�	�	&�	&�	
�����7�9�5�c�:�H�S�M�J������7�9�5�c�:�E�#�J�G������7�9�5�c�:�H�E������7�9�5�c�:�E�B�
�
�
�y�
)��2�w�y�)�*�*�
)�
)�s�$D�Dc�j�|jt�5tdddd�y#1swYyxYw)Nz/T)r��SyntaxErrorr#r�s r\�test_syntax_errorz!ForwardRefTests.test_syntax_error�s#��
�
�
�{�
+��D�M�,�
+�
+�r�c�v�dd�}|jt�5t|�ddd�y#1swYyxYw)Nc��yrbrkr
s r\rkz6ForwardRefTests.test_delayed_syntax_error.<locals>.foo�r�r^)rzNode[T)r�r�r+r�s  r\�test_delayed_syntax_errorz)ForwardRefTests.test_delayed_syntax_error�s+��	��
�
�{�
+��3��,�
+�
+�s�/�8c�6�tjtjtjtjfD]@}|j|��5|j
t�5|dddd�ddd��By#1swY�xYw#1swY�YxYw)N)�formr�)rcr�Setr5�Dequerur�r�)rWr�s  r\�test_syntax_error_empty_stringz.ForwardRefTests.test_syntax_error_empty_string�sf���[�[�&�*�*�f�k�k�6�<�<�H�D����4��(��&�&�{�3���H�4�)�(�I�3�3��)�(�s$�B�*B�0B�B�B�B	c��dd�}|jt�5t|t��ddd�y#1swYyxYw)Nc��yrbrkr
s r\rkz,ForwardRefTests.test_name_error.<locals>.foo�r�r^)rzNoode[T])r��	NameErrorr+rr�s  r\�test_name_errorzForwardRefTests.test_name_error�s/��	��
�
�y�
)��3���)�*�
)�
)�s	�8�Ac�`�tdddifd��}t|�}|j|i�y)Nr�	whateversr�c��yrbrkr
s r\rkz/ForwardRefTests.test_no_type_check.<locals>.foo����r^)r2r+r�)rWrk�ths   r\�test_no_type_checkz"ForwardRefTests.test_no_type_check�s>��	�	�;�	�2�	�
�	��C�
 ������R� r^c���tGd�d��}t|j�}|j|i�t|�j�}|j|i�y)Nc��eZdZdddifd�Zy)�3ForwardRefTests.test_no_type_check_class.<locals>.Crr�r�c��yrbrkr
s r\rkz7ForwardRefTests.test_no_type_check_class.<locals>.C.foo�r�r^N�rhrirjrkrkr^r\rBr�����
�{�
�r�
r^rB)r2r+rkr�)rWrB�cth�iths    r\�test_no_type_check_classz(ForwardRefTests.test_no_type_check_class�sY��	�	�	�
�	��Q�U�U�#������b�!��Q�S�W�W�%������b�!r^c���Gd�d��tG�fd�d���}|jt�j�dti�Gd�d|�}|jt|j
�dti�y)Nc��eZdZdefd�Zy)�6ForwardRefTests.test_no_type_check_no_bases.<locals>.Cr�c��yrbrkr�s  r\r�z;ForwardRefTests.test_no_type_check_no_bases.<locals>.C.meth�s��Cr^Nr�rkr^r\rBr��s
��'�c�'r^rBc���eZdZW�Zy)�6ForwardRefTests.test_no_type_check_no_bases.<locals>.DN)rhrirjr�rBs�r\rEr��s����Ar^rEr�c��eZdZdefd�Zy)�:ForwardRefTests.test_no_type_check_no_bases.<locals>.Childr�c��yrbrkr�s  r\rkz>ForwardRefTests.test_no_type_check_no_bases.<locals>.Child.foo�r+r^N)rhrirjr�rkrkr^r\rr��s
��&�S�&r^r)r2r�r+r�r�rk)rWrErrBs   @r\�test_no_type_check_no_basesz+ForwardRefTests.test_no_type_check_no_bases�sp���	(�	(�	�	��	�
�	�	
�������/�#�s��<�	'�A�	'�	
�����	�	�2�S�#�J�?r^c�t�Gd�d�}Gd�d�}tGd�d��}||j|jj|jfD]S}|j	|��5|j|j�|jt|�i�ddd��U||fD]b}|j	|��5|jt�5|jddd�|jt|�i�ddd��dy#1swY��xYw#1swY�;xYw#1swY��xYw)	Nc��eZdZUeed<y)�>ForwardRefTests.test_no_type_check_nested_types.<locals>.OtherrNr�rkr^r\r�r��rmr^r�c��eZdZUeed<y)�:ForwardRefTests.test_no_type_check_nested_types.<locals>.BrNr�rkr^r\r�r��rmr^r�c�D�eZdZUeed<Gd�d�ZGd�d�ZeZy)�:ForwardRefTests.test_no_type_check_nested_types.<locals>.Arc�,�eZdZUeed<Gd�d�Zy)�<ForwardRefTests.test_no_type_check_nested_types.<locals>.A.Br�c��eZdZUeed<y)�>ForwardRefTests.test_no_type_check_nested_types.<locals>.A.B.CrNr�rkr^r\rBr�s���Fr^rBN)rhrirjr�r�rBrkr^r\r�r��s�����r^r�c��eZdZUeed<y)�<ForwardRefTests.test_no_type_check_nested_types.<locals>.A.DrNr�rkr^r\rEr�����r^rEN)rhrirjr�r�r�rEr�rkr^r\r�r��s"���F�
�
�
�
��Er^r�)rH)�not_modified)r2r�rBrErur��__no_type_check__r�r+r�rr�)rWr�r�r�rHr�s      r\�test_no_type_check_nested_typesz/ForwardRefTests.test_no_type_check_nested_types�s��	�	�	�	�	�		�		�
�		�����a�c�c�e�e�Q�S�S�)�E����E��*����� 7� 7�8�� � ���!6��;�+�*�*�
#�A�J�L����<��8��&�&�~�6� �2�2�7��#�#�N�<�$@�"�E�9�8�'�	+�*��7�6��9�8�s0�+7D�D.�
D"�(#D.�D	�"D+�'D.�.D7	c�R�tGd�d��}|j|jj�|j	t|j�i�|j|jj�|j	t|j�i�y)Nc�@�eZdZededefd��Zededefd��Zy)�IForwardRefTests.test_no_type_check_class_and_static_methods.<locals>.Somer�r�c��yrbrkr�s r\�stzLForwardRefTests.test_no_type_check_class_and_static_methods.<locals>.Some.sts��#&r^r�c��yrbrk)rXr�s  r\�clzLForwardRefTests.test_no_type_check_class_and_static_methods.<locals>.Some.cls��(+r^N)rhrirjr�
r�rrerrkr^r\�Somer�s2��
�&�c�&�c�&��&�
�+�3�+�3�+��+r^r)r2r�rr�r�r+r)rWrs  r\�+test_no_type_check_class_and_static_methodsz;ForwardRefTests.test_no_type_check_class_and_static_methodssy��	�	,�	,�
�	,�	
������1�1�2��������0�"�5�������1�1�2��������0�"�5r^c�,�|jtj�|jt�5t
jjddd�|jt�5t
jjjddd�|jtj�|jt�5t
jjddd�y#1swY��xYw#1swY�mxYw#1swYyxYwrb)	r�rCr�r�rrArDrFrGr�s r\�test_no_type_check_other_modulez/ForwardRefTests.test_no_type_check_other_module s������)�;�;�<�
�
�
�~�
.��)�)�;�;�/�
�
�
�~�
.��)�)�/�/�A�A�/�	
���0�B�B�C�
�
�
�~�
.��,�,�>�>�/�
.�
/�
.��
.�
.��/�
.�s#�C2�-%C>�D
�2C;�>D�
Dc���dtdtfd��tG�fd�d��}|jt�5�jddd�|jt
��ttd��y#1swY�0xYw)Nr�r�c��yrbrkr�s r\rzBForwardRefTests.test_no_type_check_foreign_functions.<locals>.some-s��r^c�8��eZdZW�ZeW��ZeW��Zy)�?ForwardRefTests.test_no_type_check_foreign_functions.<locals>.AN)rhrirj�
some_aliasre�
some_classr�
�some_static)rs�r\r�r
0s����J�$�T�*�J�&�t�,�Kr^r�)r�r�)r�r2r�rr�r�r+)rWr�rs  @r\�$test_no_type_check_foreign_functionsz4ForwardRefTests.test_no_type_check_foreign_functions+sp���	��	��	�
�	-�	-�
�	-�
�
�
�~�
.��"�"�/������-��s�/K�L�/�
.�s�
A8�8Bc��tGd�d��}|j|jj�|j	t|j�i�y)Nc�*�eZdZUd�Zeegefed<y)�4ForwardRefTests.test_no_type_check_lambda.<locals>.Ac��|Srbrkr�s r\r1z=ForwardRefTests.test_no_type_check_lambda.<locals>.A.<lambda>>s��Cr^r*N)rhrirjr*r"r�r�rkr^r\r�r;s��)8�C��3�%��*�%�7r^r�)r2r�r*r�r�r+r�s  r\�test_no_type_check_lambdaz)ForwardRefTests.test_no_type_check_lambda:sJ��	�	8�	8�
�	8�	
������/�/�0��������.��3r^c�"�tt�yrb)r2r&r�s r\�test_no_type_check_TypeErrorz,ForwardRefTests.test_no_type_check_TypeErrorCs��	�d�r^c���Gd�d�}Gd�d�}Gd�d�}Gd�d�}d	tjti}||||fD]}|jt	|�|��y)
Nc�6�eZdZUdZej
eed<y)�CForwardRefTests.test_no_type_check_forward_ref_as_string.<locals>.C�rkN)rhrirjrkrcr$r�r�rkr^r\rBrIs��()�C�����%�)r^rBc�"�eZdZUdZeeed<y)�CForwardRefTests.test_no_type_check_forward_ref_as_string.<locals>.DrrkN)rhrirjrkr$r�r�rkr^r\rErKs��!"�C��#��"r^rEc��eZdZUdZded<y)�CForwardRefTests.test_no_type_check_forward_ref_as_string.<locals>.Err�
rkN�rhrirjrkr�rkr^r\r�rMs
��*+�C�'�+r^r�c��eZdZUdZded<y)�CForwardRefTests.test_no_type_check_forward_ref_as_string.<locals>.Frr�rkNrrkr^r\r�r Os��#$�C��$r^r�rk)rcr$r�r�r+)rWrBrEr�r��expected_result�clazzs       r\�(test_no_type_check_forward_ref_as_stringz8ForwardRefTests.test_no_type_check_forward_ref_as_stringHsf��	*�	*�	#�	#�	,�	,�	%�	%�!�&�/�/�#�"6�7����A�q�\�E����^�E�2�O�D�"r^c��Gd�d�}Gd�d�}||fD]+}|jt�5t|�ddd��-y#1swY�8xYw)Nc��eZdZUdZded<y)�GForwardRefTests.test_nested_classvar_fails_forward_ref_check.<locals>.Erz%typing.ClassVar[typing.ClassVar[int]]rkNrrkr^r\r�r&Ws
��;<�C�8�<r^r�c�"�eZdZUdZeded<y)�GForwardRefTests.test_nested_classvar_fails_forward_ref_check.<locals>.Frr�rkN)rhrirjrkr$r�rkr^r\r�r(Ys��-.�C��/�*�.r^r�)r�r�r+)rWr�r�r"s    r\�,test_nested_classvar_fails_forward_ref_checkz<ForwardRefTests.test_nested_classvar_fails_forward_ref_checkVsK��	=�	=�	/�	/���V�E��"�"�9�-��u�%�.�-��-�-�s�A�A	c��td��}|j|jd�|dddifd��}|Gd�d��}|j|jd	�t|�}|j|i�t|j�}|j|i�t|�j�}|j|i�y)
Nc��|Srbrkr�
s r\�magic_decoratorz@ForwardRefTests.test_meta_no_type_check.<locals>.magic_decoratorbs���Kr^r,rr�r�c��yrbrkr
s r\rkz4ForwardRefTests.test_meta_no_type_check.<locals>.foohr�r^c��eZdZdddifd�Zy)�2ForwardRefTests.test_meta_no_type_check.<locals>.Crr�r�c��yrbrkr
s r\rkz6ForwardRefTests.test_meta_no_type_check.<locals>.C.foonr�r^Nr�rkr^r\rBr/lr�r^rBrk)r3r�rhr+rk)rWr,rkrBr�r�r�s       r\�test_meta_no_type_checkz'ForwardRefTests.test_meta_no_type_check`s���	 �	�
!�	�	
����1�1�3D�E�	�	�;�	�2�	�
�	�
�	�	�
�	�	
������u�-�
�C�
 ������R� ��Q�U�U�#������b�!��Q�S�W�W�%������b�!r^c��d}i}t||�t|dj�}|j||d|dd��y)Nz^class C:
    def foo(self, a: 'C') -> 'D': pass
class D:
    def bar(self, b: 'D') -> C: pass
rBrE)rr�)rzr+rkr�)rWr�r|�hintss    r\�test_default_globalsz$ForwardRefTests.test_default_globalsysH��9��
���T�2���r�#�w�{�{�+������b��g��C�� A�Br^c�:�|jttt��dtt�|jttt��dtt�|jttt��dt�y)Nr�)r�r�Looprr%r�r�r�s r\�test_final_forward_refz&ForwardRefTests.test_final_forward_ref�sd������T�7�9�-�f�5�u�T�{�C����C��g�i�0��8�%��*�E����C��g�i�0��8�%�@r^c��td�}|j|dzt|df�|jd|ztd|f�yr�)rAr�rr�s  r\r�zForwardRefTests.test_or�sC���s�O������S��%��3��-�0�����q��%��Q��-�0r^N)'rhrirjr9r`rbrdrjrrrwr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrr#r)r1r4r7r�rkr^r\rIrI�s���!7�F�
 �
!�T�A�*T�,8�0I�
0�*�+�7�2�@2�2�+�$�
 ��*�!�
"�@� F�:6�	?�
M�4��
E�&�"�2	C�A�
1r^rIc��d|z|zS)NrPrkr�s  r\�cached_funcr:�s���q�5�1�9�r^c�2�eZdZed��Zed��Zd�Zy)�MethodHolderc��yrbrkr�s r\r�
zMethodHolder.clsmethod�s��r^c��yrbrkrkr^r\r�
zMethodHolder.stmethod�r�
r^c��yrbrkr�s r\r�zMethodHolder.method�s��cr^N)rhrirjrer�
r�
r�
r�rkr^r\r<r<�s!����������r^r<c�`�eZdZd�Zd�Zed��Zd�Zede	d���d��Z
d�Zy	)
�
OverloadTestsc�~�|jt�5td��}|�ddd�y#1swYyxYw)Nc��yrbrkrkr^r\rPz/OverloadTests.test_overload_fails.<locals>.blah�s��r^)r�r=r�rWrPs  r\�test_overload_failsz!OverloadTests.test_overload_fails�s6��
�
�
�2�
3�
�
��
�
�F�
4�
3�
3�r�c�0�td��}d�}|�y)Nc��yrbrkrkr^r\rPz2OverloadTests.test_overload_succeeds.<locals>.blah�r�r^c��yrbrkrkr^r\rPz2OverloadTests.test_overload_succeeds.<locals>.blah�r�r^�rrDs  r\�test_overload_succeedsz$OverloadTests.test_overload_succeeds�s ��	�	�
�	�	�	
�r^c�z�tdtd���5|jtji�tt�tt�|jtjt�g�|jtjt�g�ddd�y#1swYyxYw)N�typing._overload_registryc� �tt�Srb�rr&rkr^r\r1zCOverloadTests.test_overload_on_compiled_functions.<locals>.<lambda>�s	��{�4�'8r^)	r
rr�rc�_overload_registryr�sum�printrr�s r\�#test_overload_on_compiled_functionsz1OverloadTests.test_overload_on_compiled_functions�s���
�.��8�9�;�
���V�6�6��;�
�S�M��U�O�
���V�1�1�#�6��;����V�1�1�%�8�"�=�;�;�;�s�BB1�1B:c�T�d�}|}t|�d�}|}t|�d�}|||gfS)Nc��yrbrkrkr^r\rPz,OverloadTests.set_up_overloads.<locals>.blah�r�r^c��yrbrkrkr^r\rPz,OverloadTests.set_up_overloads.<locals>.blah�r�r^c��yrbrkrkr^r\rPz,OverloadTests.set_up_overloads.<locals>.blah�r�r^rI)rWrP�	overload1�	overload2s    r\�set_up_overloadszOverloadTests.set_up_overloads�s?��	��	����	��	����	��i��+�+�+r^rLc� �tt�SrbrNrkr^r\r1zOverloadTests.<lambda>�s	��K��-r^c��|jtji�|j�\}}|j	tji�|jtt
|��|�d�}t|�|}d�}|jtt
|��|g�d�}|jtt
|��g�t�|jtji�|jt
|�g�d�}|jt
|�g�|jtji�y)Nc��yrbrkrkr^r\�some_other_funcz=OverloadTests.test_overload_registry.<locals>.some_other_func�r�r^c��yrbrkrkr^r\r]z=OverloadTests.test_overload_registry.<locals>.some_other_func�r�r^c��yrbrkrkr^r\�not_overloadedz<OverloadTests.test_overload_registry.<locals>.not_overloaded�s��dr^c��yrbrkrkr^r\�the_only_onez:OverloadTests.test_overload_registry.<locals>.the_only_one�r�r^)	r�rcrOrYr�r�rrr)rW�impl�	overloadsr]�other_overloadr`rbs       r\�test_overload_registryz$OverloadTests.test_overload_registry�s��	
����2�2�B�7��/�/�1���i����F�5�5�r�:�����m�D�1�2�I�>�#���!�(��#�����m�O�<�=��?O�P�"�����m�N�;�<�b�A�	������2�2�B�7�����t�,�b�1�	!�����|�4�b�9�����2�2�B�7r^c��td�D]9}|j�\}}|jtt	|��|��;yr)rrrYr�r�r)rW�_rcrds    r\�test_overload_registry_repeatedz-OverloadTests.test_overload_registry_repeated�s<���q��A�"�3�3�5�O�D�)����T�-��"5�6�	�B�r^N)rhrirjrErJrKrRrYr
rrfrirkr^r\rArA�sP�����>��>�,�&�&��-�.�0�8�0�8�8Cr^rA)�
ann_module�ann_module2�ann_module3�ann_module5�ann_module6�T_ac�8�eZdZd�Zdej
efd�Zy)�AwaitableWrapperc��||_yrb�r�rWrs  r\r�zAwaitableWrapper.__init__�	����
r^r�c#�*K�d��|jS�wrbrsr�s r\�	__await__zAwaitableWrapper.__await__s����
��z�z��s�N)rhrirjr�rc�Iteratorrorwrkr^r\rqrqs����6�?�?�3�/�r^rqc�d�eZdZdejefd�Zdejefd�Zdefd�Z	y)�AsyncIteratorWrapperrc��||_yrbrsrts  r\r�zAsyncIteratorWrapper.__init__rur^r�c��|Srbrkr�s r\�	__aiter__zAsyncIteratorWrapper.__aiter__s���r^c��JK�|j�d{���}|r|St�7��wrb)r�StopAsyncIteration)rW�datas  r\�	__anext__zAsyncIteratorWrapper.__anext__s%�����Z�Z�����K�$�$�	 �s�#�!�#N)
rhrirjrcr�ror��
AsyncIteratorr}r�rkr^r\rzrz
s:���f�o�o�c�2���6�/�/��4��%��%r^rzc��eZdZdefd�Zd�Zy)�ACMr�c��K�y�wr�rkr�s r\�
__aenter__zACM.__aenter__s	�������c��K�y�wrbrk)rW�etyper�tbs    r\�	__aexit__z
ACM.__aexit__s	�����r�N)rhrirjr�r�r�rkr^r\r�r�s���#��r^r�c��eZdZUeed<y)r�r�N)rhrirjr{r�rkr^r\r�r�s���Hr^r�c�<�eZdZUdZeeded<eed<eed<y)r�Nr�r�r�)rhrirjr�r$rr�r�rkr^r\r�r�!s��!%�A�x���
��%�
�F�
�Fr^r�c�,�eZdZUe�Zeded<y)�CSubrRN)rhrirjr�rRr$r�rkr^r\r�r�%s���#�A�x���r^r�c�(�eZdZUgZeeeed<y)r��lstN)rhrirjr�r$rrr�rkr^r\r�r�'s���C��$�q�'�	�r^r�c��eZdZUeded<y)r6r�N)rhrirjr%r�rkr^r\r6r6*s��
��-�r^r6c�"�eZdZUded<ded<y)�NoneAndForward�parentN�meaningrsrkr^r\r�r�-s
����
�Mr^r�c�"�eZdZUeed<eed<y)�CoolEmployeer��coolN�rhrirjr�r�r�rkr^r\r�r�1s��

�I�

�Ir^r�c�&�eZdZUeed<dZeed<y)�CoolEmployeeWithDefaultr�rr�N)rhrirjr�r�r�r�rkr^r\r�r�5s��

�I��D�#�Mr^r�c��eZdZUeed<d�Zy)�XMethr�c� �d|jzSrr�r�s r\�doublezXMeth.double;s���4�6�6�z�r^N)rhrirjr�r�r�rkr^r\r�r�9s��
�F�r^r�c�2�eZdZUeed<dZeed<d�Zd�Zy)�XReprr�rnr�c�8�|j�d|j��S)Nz -> r�r�s r\�__str__z
XRepr.__str__As���&�&���d�f�f�X�&�&r^c��yrbrk�rWrcs  r\�__add__z
XRepr.__add__Cs��r^N)rhrirjr�r�r�r�r�rkr^r\r�r�>s��
�F�
�A�s�J�'�r^r��Labelr�c�"�eZdZUeed<eed<y)�Point2Dr�r�Nr�rkr^r\r�r�Hr�r^r�c�"�eZdZUeed<eed<y)�Point2DGenericrr�N�rhrirjrr�rkr^r\r�r�Ls���D��Dr^r�c��eZdZUeed<y)r�r�Nr�rkr^r\r�r�Pr�r^r�F��totalc��eZdZUeed<y)�
BarGenericr�Nr�rkr^r\r�r�Sr�r^r�c��eZdZy)�LabelPoint2DNr|rkr^r\r�r�Vr�r^r�c�"�eZdZUeed<eed<y)�Options�	log_level�log_pathNr�rkr^r\r�r�Xs���N��Mr^r�c�(�eZdZUeed<eeed<y)�
TotalMovie�titleriN)rhrirjr�r�r7r�rkr^r\r�r�\s���J�
�c�
�r^r�c�(�eZdZUeeed<eed<y)�
NontotalMovier�riN)rhrirjr8r�r�r�rkr^r\r�r�`s���C�=��

�Ir^r�c��eZdZUeeed<y)�ParentNontotalMovier�N�rhrirjr8r�r�rkr^r\r�r�ds���C�=�r^r�c��eZdZUeeed<y)�ChildTotalMovieriN�rhrirjr7r�r�rkr^r\r�r�gs
��
�c�
�r^r�c�2�eZdZUeeeedfdfed<y)�ParentDeeplyAnnotatedMovieri	�
another levelr�N)rhrirjr@r8r�r�rkr^r\r�r�js ���Y�x��}�h�6�7��H�I�Ir^r�c�(�eZdZUeeedfed<y)�ChildDeeplyAnnotatedMovie��riN)rhrirjr7r@r�r�rkr^r\r�r�ms��
�i��T�	�*�
+�+r^r�c�B�eZdZUeeedfed<eeedfed<y)�AnnotatedMovieri	r�r�riN�	rhrirjr@r8r�r�r7r�rkr^r\r�r�ps*���X�c�]�H�,�-�-�
�i��T�	�*�
+�+r^r�c�L�eZdZUeeeedfdfed<eeedfed<y)�DeeplyAnnotatedMovieri	r�r�r�riNr�rkr^r\r�r�ts4���Y�x��}�h�6�7��H�I�I�
�i��T�	�*�
+�+r^r�c�.�eZdZUeded<eded<y)�WeirdlyQuotedMovie)z"Annotated[Required[str], "foobar"]r�r�zAnnotated[int, 2000]riN)rhrirjr@r�r7rkr^r\r�r�xs���J�K�K�
�,�
-�-r^r�c�"�eZdZUded<ded<y)�HasForeignBaseClassr��
some_xreprzmod_generics_cache.A�other_aNrsrkr^r\r�r�|s����
#�#r^r��amc��xK�|4�d{���}|cddd��d{���S7�7�#1�d{���7swYyxYw�wrbrk)r�r�s  r\�g_withr��s#�����r�Q���r�r��r��r�r�r�s0�:�!�:�%�:�#�:�:�7�.�7�:c�v�eZdZejdd��Zejejdd���Zy)�
ForRefExamplec��yrbrkr�s r\r�
zForRefExample.func�s��r^c��yrbrkr�s r\r�	zForRefExample.nested�s��	
r^N)rWr�)rhrirjrj�decr�
r�	rkr^r\r�r��s<���^�^�
��
��^�^��^�^�
���
r^r�c��eZdZd�Zd�Zed�d��Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zy)�GetTypeHintTestsc�B�|jt�5td�ddd�|jt�5td�ddd�|jt�5td�ddd�y#1swY�\xYw#1swY�?xYw#1swYyxYw)N�{r)r�r�rr�s r\�(test_get_type_hints_from_various_objectsz9GetTypeHintTests.test_get_type_hints_from_various_objects�sj��
�
�
�y�
)���H�*�
�
�
�y�
)���J�*�
�
�
�y�
)���I�*�
)�	*�
)��
)�
)��
)�
)�s"�A=�B	�(B�=B�	B�Bc��dtttfttttzd�}|j	tt�|�|j	tt�i�|j	tt�i�y)Nr�)rnrfr�r�r)	rr�r�r{r�rrjrkrl)rW�ann_module_type_hintss  r\�test_get_type_hints_modulesz,GetTypeHintTests.test_get_type_hints_modules�sa��$%�E�#�s�(�O�#�C�VY�\a�Va� b������Z��*?�@�����[�)�2�.�����[�)�2�.r^z	known bugc��ttjttjd�}|j	tt�|�y)N)�	default_a�	default_b)rrMr�r�r�r)rW�	mgc_hintss  r\�&test_get_type_hints_modules_forwardrefz7GetTypeHintTests.test_get_type_hints_modules_forwardref�s@��
#+�+=�+?�+?�"@�"*�+=�+?�+?�"@�B�	�����/�0�)�<r^c��|jttj�dttji�|jttj�t�|jttj�dtd��|jttj�ttttjd��|jttj�dti�|jttj�dttji�|jttj�ttd��|jttj �dti�|jtt"�t"td�d��|jtt$�t&t(j*t(j,d	��|jtt&j.�ttd��|jtt(j,�t(j,j*t(j,j*t(j*d
��y)Nr�r�)�123r)rrr�rRr�r�)r�r�)r�r��some_b)�my_inner_a1�my_inner_a2�
my_outer_a)r�rrjrBrr��j_classr&r�r�rEr�r�r��h_classr�rkr�r�r�rMr�r�r�r�s r\�test_get_type_hints_classesz,GetTypeHintTests.test_get_type_hints_classes�s�������Z�\�\�*��x�
���5�6�	8����c�*�"4�"4�5�t�<�����Z�\�\�*�C�d�,C�D�����Z�\�\�*�"��8�J�L�L�3I�J�	L�����Z�\�\�*�S�#�J�7�����Z�/�/�0��x�
���5�6�	8�����Z�\�\�*�#�C�,@�A�����Z�^�^�,�s�C�j�9�����^�,�$2�t�D�z�J�	L�����0�1�(-�:L�:N�:N�$6�$8�$8�:�	;�	
����U�]�]�+�"��-�	/�����/�1�1�2�);�)=�)=�)?�)?�);�)=�)=�)?�)?�(:�(<�(<�>�	?r^c�Z�Gd�d�}|jt|�dti�y)Nc��eZdZUdZeed<y)�ZGetTypeHintTests.test_get_type_hints_classes_no_implicit_optional.<locals>.WithNoneDefaultN�field)rhrirjr�r�r�rkr^r\�WithNoneDefaultr��s���E�3�r^r�r�)r�rr�)rWr�s  r\�0test_get_type_hints_classes_no_implicit_optionalzAGetTypeHintTests.test_get_type_hints_classes_no_implicit_optional�s'��	�	�	
����_�-���~�>r^c���tGd�d��}|j|j�|j|jjj�|jt
tjj�i�Gd�dtt�}tGd�d|��}|jt
|j�dti�y)Nc� �eZdZGd�d�Zy)�>GetTypeHintTests.test_respect_no_type_check.<locals>.NoTpCheckc��eZdZdd�Zy)�BGetTypeHintTests.test_respect_no_type_check.<locals>.NoTpCheck.Innc��yrbrkr�s  r\r�zKGetTypeHintTests.test_respect_no_type_check.<locals>.NoTpCheck.Inn.__init__�rcr^N)r�z
not a typer�rkr^r\�Innr��s��8r^r�N)rhrirjr�rkr^r\�	NoTpCheckr��s��
9�
9r^r
c��eZdZdefd�Zy)�:GetTypeHintTests.test_respect_no_type_check.<locals>.ABaser�c��yrbrkr�s r\r�z?GetTypeHintTests.test_respect_no_type_check.<locals>.ABase.meth�s��cr^Nr�rkr^r\�ABaser
�s
��!��!r^r
c��eZdZy)�8GetTypeHintTests.test_respect_no_type_check.<locals>.DerNr|rkr^r\�Derr
�s��r^r
r�)
r2r�r�r�r�r�rrk�NTCr�r#rr�)rWr
r
r
s    r\�test_respect_no_type_checkz+GetTypeHintTests.test_respect_no_type_check�s���	�	9�	9�
�	9�	
���	�3�3�4����	�
�
�.�.�@�@�A�����[�_�_�1�1�2�B�7�	"�G�A�J�	"�	��%��
������U�Z�Z��3��*�5r^c��|jtt�i�|jtt�i�|jtt�i�|jtt
�i�|jttj�i�|jtt
�j�i�|jttj�i�yrb)
r�rr�r�rZrr�r�r��joinr�s r\� test_get_type_hints_for_builtinsz1GetTypeHintTests.test_get_type_hints_for_builtins�s�������S��2�&�����T��B�'�����S��2�&�����S��2�&�����V�^�^�,�b�1�����V�X�-�-�.��3�����S�X�X���+r^c��d�}d|jd<|jt|�dti�dd�}|jt|�dt	d�i�y)Nc��yrbrkr�s  r\�testfz6GetTypeHintTests.test_previous_behavior.<locals>.testf�rzr^r�r�c��yrbrkr�s r\�testgz6GetTypeHintTests.test_previous_behavior.<locals>.testg�r�r^)r�N)r�r�rr�r�)rWr
r
s   r\�test_previous_behaviorz'GetTypeHintTests.test_previous_behavior�sM���%*����c�"�����U��c�3�Z�0������U��c�4��:�%6�7r^c��Gd�d�}Gd�d�}|�}ddi|_|jt|t��d|i�y)Nc��eZdZy)�KGetTypeHintTests.test_get_type_hints_for_object_with_annotations.<locals>.ANr|rkr^r\r�r
�r�r^r�c��eZdZy)�KGetTypeHintTests.test_get_type_hints_for_object_with_annotations.<locals>.BNr|rkr^r\r�r
�r�r^r�r�)r�r�rr)rWr�r�r�s    r\�/test_get_type_hints_for_object_with_annotationsz@GetTypeHintTests.test_get_type_hints_for_object_with_annotations�s<������
�C�� �#�J�������Q���)�C��8�4r^c	�L�|jttjtj�dt
jtji�|jttt��tttttd��|jttt��tttttttd��|jtt�dttti�y)N�var)r�r�r�)rRr�r�r�r�)r�rrk�CVrrcr$r�rr�rr�r�rrr�s r\�test_get_type_hints_ClassVarz-GetTypeHintTests.test_get_type_hints_ClassVar�s�������[�^�^�[�-A�-A�B��������!@�A�	C�����Q��	�*�"��(�1�+�)>�S�I�	K�����T�7�9�-�'��~�C�c�'����4�6�	7�	
����Q��%��$�q�'�):�!;�<r^c��dti}|jttj�|�|jttj�|�y)NrW)r�r�rr�
r�	)rW�expectss  r\�,test_get_type_hints_wrapped_decoratored_funcz=GetTypeHintTests.test_get_type_hints_wrapped_decoratored_func�sB���=�)������]�/�/�0�'�:�����]�1�1�2�G�<r^c�<�dtdfd�}ttdf}|jt	|t�t
��dtti�|jt	|t�t
�d��dtttdfi�dttd�fd�}ttdf}|jt	|t�t
��dtti�|jt	|t�t
�d��dtttdfi�tttdfd	f}d|fd
�}|jt	|t�t
��dttd	f�|jt	|t�t
�d��d|�tttdfd	f}d|fd�}|jt	|t�t
��dttd	f�|jt	|t�t
�d��d|�dtjd	tttdffd
tjtttdfffd�}|jt	|t�t
��tjd	ttftjttfd��tjd	ttf}d|fd�}|jt	|t�t
�d��d|�tjtt zdf}d|fd�}	|jt	|	t�t
��dtt zi�|jt	|	t�t
�d��dtjtt zdfi�y)Nr�r�c��yrbrkr�s r\ri	z>GetTypeHintTests.test_get_type_hints_annotated.<locals>.foobars��#r^�rnr�T��include_extrasc��yrbrkr�s r\ri	z>GetTypeHintTests.test_get_type_hints_annotated.<locals>.foobarr_r^)rnr.c��yrbrkr�s r\rq	z>GetTypeHintTests.test_get_type_hints_annotated.<locals>.barfoor�r^c��yrbrkr�s r\rq	z>GetTypeHintTests.test_get_type_hints_annotated.<locals>.barfoo#r�r^r�r��mutablec��yrbrkr�s  r\rs	z?GetTypeHintTests.test_get_type_hints_annotated.<locals>.barfoo2*s��DGr^r�c��yrbrkr�s r\�barfoo3z?GetTypeHintTests.test_get_type_hints_annotated.<locals>.barfoo32r�r^c��yrbrkr�s r\�barfoo4z?GetTypeHintTests.test_get_type_hints_annotated.<locals>.barfoo48r�r^)rr@r�r�r+rrr�rArrr�rcr"rr�r{)
rWri	r��BArq	rs	�BA2r+
�BA3r-
s
          r\�test_get_type_hints_annotatedz.GetTypeHintTests.test_get_type_hints_annotatedsN��%�d�3�i�%��c�7�l�#������6�7�9�f�h�7�
�$�s�)��	
�	
����6�7�9�f�h�t�L�
�$�y��g��.�/�0�	
�
	2�d�:�c�?�+�1��c�7�l�#������6�7�9�f�h�7�
�$�s�)��	
�	
����6�7�9�f�h�t�L�
�$�y��g��.�/�0�	
�
�9�Q��Y�'��,�
-���b��������	�6�8�D�S�I�5�QR�TW�QW�=�Y�����6�7�9�f�h�t�L�S�Q��	
�
�9�Q��Y�'��,�
-���b��������	�6�8�D�S�I�5�QR�TW�QW�=�Y�����6�7�9�f�h�t�L�S�Q��	
�
	H�v���s�I�d�1�g�w�6F�,G�'G�H�	H��|�|�C��1�i�<�)@�$@�A�	H�����7�G�I�v�x�8��/�/�#�t�A�w�,�/�f�l�l�3��6�6J�K�	
�
�o�o�c�4��7�l�+�� �s� ��
�
��7�G�I�v�x��M�c�R��	
����s�U�{�G�3�4�� �s� �����7�G�I�v�x�8�
�#��+��	
�	
����7�G�I�v�x��M�
�&�"�"�3��;��#7�8�9�	
r^c	��dttttdfzfd�}|j	t|�dtttzi�|j	t|d��dttttdfzi�y)Nr��metac��yrbrkr�s r\�
with_unionzKGetTypeHintTests.test_get_type_hints_annotated_in_union.<locals>.with_unionCs��sr^Tr#
)r�r�r@r�r�r+)rWr5
s  r\�&test_get_type_hints_annotated_in_unionz7GetTypeHintTests.test_get_type_hints_annotated_in_unionBsr��B�#��Y�s�F�{�%;� <�<�B�����
�3�c�3��c��?�5K�L�����:�d�;�
�#��Y�s�F�{�3�4�4�5�	
r^c���ttdf�G�fd�dtt�}|jt	|j
t
�t��|t|td��|jt	|j
t
�t�d���|t|td��|jt	|jt
�t��|t|td��y)N�Constc�.��eZdZdd�ZdW�dddfd�Zy)�BGetTypeHintTests.test_get_type_hints_annotated_refs.<locals>.MySetrcr��MySet[T]c��yrbrkr�s  r\�__ior__zJGetTypeHintTests.test_get_type_hints_annotated_refs.<locals>.MySet.__ior__Q���r^c��yrbrkr�s  r\�__iand__zKGetTypeHintTests.test_get_type_hints_annotated_refs.<locals>.MySet.__iand__Tr>
r^N)rczConst[MySet[T]]r�r;
)rhrirjr=
r@
)r8
s�r\�MySetr:
Os ���
�
�e�J�&7�
�J�
r^rA
)rcr�Tr#
)	r@rr#r�r+r@
rrr=
)rWrA
r8
s  @r\�"test_get_type_hints_annotated_refsz3GetTypeHintTests.test_get_type_hints_annotated_refsKs�����!�W�*�%��	�G�A�J�	�	
����5�>�>�7�9�f�h�?��A�h�%��(�3�	
�
	
����5�>�>�7�9�f�h�t�T��E�!�H�o��q��:�	
�
	
����5�=�=�'�)�V�X�>��A�h�%��(�3�	
r^c���ddttdffd�}|jt|�dti�|jt|d��dttdfi�y)Nr�r�c��yrbrkr�s r\�annotated_with_none_defaultzeGetTypeHintTests.test_get_type_hints_annotated_with_none_default.<locals>.annotated_with_none_defaulths��3r^Tr#
rb)r@r�r�r+)rWrE
s  r\�/test_get_type_hints_annotated_with_none_defaultz@GetTypeHintTests.test_get_type_hints_annotated_with_none_defaultfs]��N�9�S�&�[�+A�N�����6�7�
�#�J�	
�	
����6�t�L�
�)�C��K�(�)�	
r^c�Z�Gd�d�}|jt|�dti�y)Nc��eZdZUeZded<y)�IGetTypeHintTests.test_get_type_hints_classes_str_annotations.<locals>.Foor�r�N)rhrirjr�r�r�rkr^r\r�rI
ss���A��Fr^r�r�)r�r+r�r�s  r\�+test_get_type_hints_classes_str_annotationsz<GetTypeHintTests.test_get_type_hints_classes_str_annotationsrs'��	�	�	
�����,�s�C�j�9r^c��Gd�d�}d|_|jdtj�|j	t|�i�y)Nc��eZdZy)�BGetTypeHintTests.test_get_type_hints_bad_module.<locals>.BadModuleNr|rkr^r\�	BadModulerM
{r�r^rN
�bad)rirN�sys�modulesr�r+)rWrN
s  r\�test_get_type_hints_bad_modulez/GetTypeHintTests.test_get_type_hints_bad_moduleys=��	�	�$�	���������,�����	�2�B�7r^c���Gd�d�}Gd�d|�}dx|_|_|jdtj�|j	t|�ttd��y)Nc��eZdZUeed<y)�JGetTypeHintTests.test_get_type_hints_annotated_bad_module.<locals>.BadBaserkN)rhrirjr�r�rkr^r\�BadBaserU
�s���Jr^rV
c��eZdZUeed<y)�JGetTypeHintTests.test_get_type_hints_annotated_bad_module.<locals>.BadTyper*Nrz	rkr^r\�BadTyperX
�s���Ir^rY
rO
r])rirNrP
rQ
r�r+r�r�)rWrV
rY
s   r\�(test_get_type_hints_annotated_bad_modulez9GetTypeHintTests.test_get_type_hints_annotated_bad_module�sV��	�	�	�g�	�27�7���W�/��������,������0�%��2M�Nr^c���tt�}|j|dtti�ttj
�}|j|dti�y)Nr�r)r+rmr�r%r��MyClass)rWr3s  r\�test_forward_ref_and_finalz+GetTypeHintTests.test_forward_ref_and_final�sJ���{�+��������s�� 4�5��{�2�2�3�������%� 0�1r^c�x�|jtd�5tt�ddd�y#1swYyxYw)Nz4typing.ClassVar\[int\] is not valid as type argument)r�r�r+rnr�s r\�test_top_level_class_varz)GetTypeHintTests.test_top_level_class_var�s0��
�
#�
#��C�
�
�;�'�	
�
�
���0�9c	� �|jtt�ttd��|jttd��tt
td��|jtt�ttd��|jttd��tttdft
ttdfd��|jtt�ttd��|jttd��tttddft
ttdfd��|jtt�ttd��|jttd��tttddft
ttdfd��|jttj�dti�|jttjd��dtttddd	fi�|jtt�ttd��|jttd��ttt
td��|jtt�ttd��|jttd��tttddft
ttdfd��y)
N)r�riTr#
ri	r�r�rr�r)r�r+r�r�r�r7r�r@r8r�r�rN�
VeryAnnotatedr�r�r�s r\�test_get_type_hints_typeddictz.GetTypeHintTests.test_get_type_hints_typeddict�sh������
�3�s�C�5P�Q�����
�4�H����$�K
�	�
	
�����7�3�PS�9T�U������t�L��x��}�h�6�7��	�#�t�)� 4�5�O
�	�
	
����(<�=��VY�?Z�[�����(<�T�R��x��}�h��G�H��	�#�t�)� 4�5�U
�	�
	
����(:�;�s�TW�=X�Y�����(:�4�P��x��}�h��G�H��	�#�t�)� 4�5�S
�	�
	
����(:�(H�(H�I�C�QT�:�V�����(:�(H�(H�Y]�^���8�C�=�#�s�C�7�8�a
�	�	
�����8�C�QT�:U�V�������M��c�]�K��,<�P
�	�	
����(A�B�c�[^�D_�`�����(A�RV�W��x��}�h��G�H��	�#�t�)� 4�5�Z
�	r^c��td�}dtjjtgtffd�}dtjjdtffd�}dtjj|tffd�}|jt
|�dtjjtgtfi�|jt
|�dtjjdtfi�|jt
|�dtjj|tfi�y)Nr�r�c��yrbrkr�s r\rfzHGetTypeHintTests.test_get_type_hints_collections_abc_callable.<locals>.f�s��r^.c��yrbrkr�s r\rzHGetTypeHintTests.test_get_type_hints_collections_abc_callable.<locals>.g�rr^c��yrbrkr�s r\rzHGetTypeHintTests.test_get_type_hints_collections_abc_callable.<locals>.h�s��Cr^)rErrr"r�r�r+)rWr�rfrrs     r\�,test_get_type_hints_collections_abc_callablez=GetTypeHintTests.test_get_type_hints_collections_abc_callable�s����c�N��;����)�)�3�%��*�5�;�9����)�)�#�s�(�3�9�7����)�)�!�S�&�1�7������*�S�+�/�/�2J�2J�C�5�RU�:�2V�,W�X������*�S�+�/�/�2J�2J�3�PS�8�2T�,U�V������*�S�+�/�/�2J�2J�1�c�6�2R�,S�Tr^N)rhrirjr�r�r	r�r�r�r	
r
r
r
r
r
r1
r6
rB
rF
rJ
rR
rZ
r]
r_
rc
rh
rkr^r\r�r��s����/�
�+��=��=�?�0?�6�,�8�5�=�=�
=
�~
�
�6

�:�8�O�2�(�'�R	Ur^r�c��eZdZd�Zd�Zy)�GetUtilitiesTestCasec�d�td�}td�}td�}Gd�dt|�}|j	t|t�|�|j	t||�|�|j	tt�d�|j	ttt�t�|j	ttttf�t�|j	ttd�t�|j	tttt�t�|j	tt�t�|j	tt|�t�|j	ttt||ft�t�|j	tt|df�t�|j	tt�t�|j	tt�t �|j	tt"�t$j&j"�|j	ttt�t�|j	tt�d�|j	tttz�t(j*�|j	t|j,�|�|j	t|j.�|�|j	tt0t�t0�|j	tt2t�t2�|j	tg|��d�t4�|j	tt4|�t4�|j	tgt g|����d�t �|j	tt4tt4|�t4�y)	Nrr�r�c��eZdZy)�/GetUtilitiesTestCase.test_get_origin.<locals>.CNr|rkr^r\rBrm
�r�r^rB�r��+rr)rrrEr#r�r,r�r$rr�rr%rrr�r@r�r"rrr�r�
r�r�r8r7r)rWrr�r�rBs     r\r�z$GetUtilitiesTestCase.test_get_origin�s����C�L��
�$�
���c�N��!���
�!��
�
�j��3��(�!�,��
�
�j��1��&��*��
�
�j��o�t�,��
�
�j��#��/��:��
�
�j��s�C�x��1�5�9��
�
�j����1�7�;��
�
�j��t�C�y�!1�2�E�:��
�
�j��)�7�3��
�
�j����,�g�6��
�
�j��e�A�q�D�k�!2�3�!7�8�$�?��
�
�j��1�g�:�!6�7��C��
�
�j��&��-��
�
�j��'��/��
�
�j��*�K�O�O�,D�,D�E��
�
�j��c��+�T�2��
�
�j��&��-��
�
�j����,�e�o�o�>��
�
�j����(�!�,��
�
�j����*�A�.��
�
�j��#��/��:��
�
�j��S�!1�2�K�@��
�
�j��2����+�V�4��
�
�j����,�f�5��
�
�j��5��"��:���!2�3�U�;��
�
�j���f�R�j�(9�!:�;�V�Dr^c
�(�td�}Gd�dt|�}|jt|t�tf�|jt||�|f�|jtt
jt�tf�|jtt
j|�|f�|jttt�tf�|jtt|�|f�|jt|�d�|jtt�d�|jtt�d�|jtt�d�|jtt�d�|jttt�tf�|jttttf�ttf�|jttd�d�|jttt t�t tf�|jtt"t�tt%d�f�|jtttdf�tt%d�f�|jtttt&|tfft�tt&ttff�|jtt
j(tt&||fft"t�tt&t"tt"tff�|jtt*g|ft�gtf�|jtt*dtf�dtf�|jtt*tgtf�tgtf�|jtttt*t&|dfgtff�tt*t&|dfgtff�|jtt&tdf�tdf�|jtt&d�d�|jtt,|ddd	gf�|ddd	gf�|jtt �d�|jtt&�d�|jtt*�d�|jtt.t�tf�|jtt.�d�|jtt0j2j*tgtf�tgtf�|jtt0j2j*dtf�dtf�|jtt0j2j*gtf�gtf�|jtt0j2j*tgtf�tt*tgtf��t5d
�}|jt|�d�|jt|j6�d�|jt|j8�d�|jtt*|tf�|tf�|jtt0j2j*|tf�|tf�|jtt*t:t|ftf�t:t|ftf�|jtt0j2j*t:t|ftf�t:t|ftf�|jtt:tt|f�tt|f�|jtt.tz�t.tf�|jtt<t�tf�|jtt>t�tf�|jtt@�d�|jttBt�tf�tEd�}|jt|�d�|jtg|��d�|f�|jttF|�|f�|jttHg|���g|���|jttHtF|�tF|f�|jtgtHg|����d�g|���|jttFtHtF|�tHtF|f�y)
Nrc��eZdZy)�-GetUtilitiesTestCase.test_get_args.<locals>.CNr|rkr^r\rBrr
�r�r^rBrkrn
.�oner��threer�r�r)%rr#r�r-r�rcr/r�r
rBrCr$rr�rr%rrr�rr r"r@r�rrrEr�r�rFr8r7rDrIrrr�)rWrrBr�r�s     r\�
test_get_argsz"GetUtilitiesTestCase.test_get_args�s����C�L��!���
�!�����!�C�&�)�C�6�2�����!�A�$��!��.�����&�"4�"4�S�"9�:�S�F�C�����&�"4�"4�Q�"7�8�1�$�?�����.��"5�6���?�����.��"3�4�q�d�;�����!��b�)�����#���+�����#���+�����$���,�����-�0�"�5�����(�3�-�0�3�&�9�����%��S��/�2�S�#�J�?�����'�&�/�2�H�=�����%��S�	�"2�3�d�3�i�\�B�����(�3�-�0�3��T�
�2C�D�����%��T�	�"2�3�c�4��:�5F�G�����%��U�1�c�6�]�(:�";�C�"@�A��u�S�#�X��/�	1�����&�+�+�c�5��A��;�.>�"?���
�"N�O��u�X�c�]�H�S�M�%A�B�C�	E�����(�2�q�5�/�#�"6�7�"�c��C�����(�3��8�"4�5��S�z�B�����(�C�5�#�:�"6�7�3�%���F�����%��X�u�Q��V�}�o�s�6J�-K�(K�"L�M��x��q�#�v����(<�=�>�	@�����%��S��/�2�S�#�J�?�����%��)�,�b�1�����)�A�u�a�'��,B�"C�D�q�%�QR�U\�T]�F^�_�����$���,�����%��"�-�����(�+�R�0�����$�s�)�,�s�f�5�����$���,�����+�/�/�":�":�C�5�#�:�"F�G�3�%�QT��V�����+�/�/�":�":�3��8�"D�E��S�z�R�����+�/�/�":�":�2�s�7�"C�D�r�3�i�P�����+�/�/�":�":�C�5�#�:�"F�G�!�(�C�5�#�:�"6�7�	9��c�N������!��b�)�����!�&�&�)�2�.�����!�(�(�+�R�0�����(�1�c�6�"2�3�a��X�>�����+�/�/�":�":�1�c�6�"B�C�a��X�N�����(�;�s�A�v�+>��+C�"D�E�%�c�1�f�-�s�3�	5�����+�/�/�":�":�;�s�A�v�;N�PS�;S�"T�U�%�c�1�f�-�s�3�	5�����+�c�3��k�":�;�c�3��]�K�����$��*�-��c�{�;�����(�3�-�0�3�&�9�����+�c�"2�3�c�V�<�����)�,�b�1�����)�C�.�1�C�6�:�
�$�
������"��r�*�����&�B�&��)�,�r�e�4�����&��*�-��u�5�����%����*�-�v��v�6�����%��r�
�"3�4�v�b�z�m�D�����.�E�#�2�#�J�.��"3�4�f��f�=�����&��v�b�z�):�";�<�u�V�B�Z�?P�>R�Sr^N)rhrirjr�ru
rkr^r\rj
rj
�s��E�>ATr^rj
c�D�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d �Z"d!�Z#d"�Z$d#�Z%d$�Z&d%�Z'd&�Z(d'�Z)d(�Z*d)�Z+d*�Z,d+�Z-d,�Z.d-�Z/d.�Z0d/�Z1d0�Z2d1�Z3d2�Z4d3�Z5d4�Z6y5)6�CollectionsAbcTestsc��|jdtj�|jgtj�yr�)r�rc�Hashabler�r�s r\�
test_hashablez!CollectionsAbcTests.test_hashable6�*�����b�&�/�/�2�� � ��V�_�_�5r^c��|jgtj�|jgtj�|jgtj�|jdtj�|j	t
tj�|j	t
tj�yr�)r�rcr�r�r]r�r�s r\�
test_iterablez!CollectionsAbcTests.test_iterable:s|�����b�&�/�/�2�	
���b�&�/�/�2����b�&�/�/�2�� � ��V�_�_�5����d�F�O�O�4����d�F�O�O�4r^c��tg�}|j|tj�|j	dtj�yr�)r	r�rcrxr�)rW�its  r\�
test_iteratorz!CollectionsAbcTests.test_iteratorEs3��
�"�X�����b�&�/�/�2�� � ��V�_�_�5r^c���dtjtfd�}|�}|j|tj�|j	|tj�|jd�y)Nr�c��4K�td��d{���S7��wr�)rqrkr^r\rkz/CollectionsAbcTests.test_awaitable.<locals>.fooKs����)�"�-�-�-�-�s���)rc�	Awaitabler�r�r��send�rWrkrs   r\�test_awaitablez"CollectionsAbcTests.test_awaitableJsW��	.�6�+�+�C�0�	.��E�����a��!1�!1�2�� � ��f�&6�&6�7�	���t�r^c�p�d�}|�}|j|tj�|jt�5t|tjt�ddd�|j|tj�	|jd�y#1swY�<xYw#t$rYywxYw)Nc��K�y�wrbrkrkr^r\rkz/CollectionsAbcTests.test_coroutine.<locals>.fooSs	�����r�)
r�rc�	Coroutiner�r�r�r�r�r�
�
StopIterationr�
s   r\�test_coroutinez"CollectionsAbcTests.test_coroutineRs���	��E�����a��!1�!1�2�
�
�
�y�
)��q�&�*�*�3�/�0�*�� � ��f�&6�&6�7�	�
�F�F�4�L�	*�
)��
�	��	�s�"B�B)�B&�)	B5�4B5c���td�}t|�}|j|tj�|j|tj�|jdtj�y�Nr�r�)rrrzr�rc�
AsyncIterabler��rW�base_itr
s   r\�test_async_iterablez'CollectionsAbcTests.test_async_iterable_sW����)��
!�'�
*�����b�&�"6�"6�7����b�&�"6�"6�7�� � ��V�%9�%9�:r^c��td�}t|�}|j|tj�|jdtj�yr�
)rrrzr�rcr�r�r�
s   r\�test_async_iteratorz'CollectionsAbcTests.test_async_iteratorfsA����)��
!�'�
*�����b�&�"6�"6�7�� � ��V�%9�%9�:r^c��|jgtj�|jdtj�yr�)r�rcrzr�r�s r\�
test_sizedzCollectionsAbcTests.test_sizedls*�����b�&�,�,�/�� � ��V�\�\�2r^c��|jgtj�|jdtj�yr�)r�rcr�	r�r�s r\�test_containerz"CollectionsAbcTests.test_containerps.�����b�&�"2�"2�3�� � ��V�%5�%5�6r^c�,�|jt�tj�|jt	�tj�|jttj�|jdtj�yr�)r�r�rc�
Collectionr�r]r&r�r�s r\�test_collectionz#CollectionsAbcTests.test_collectionts^�����e�g�v�'8�'8�9����i�k�6�+<�+<�=����d�F�$5�$5�6�� � ��V�%6�%6�7r^c��|jt�tj�|j	dtj�yr�)r�rYrcr�	r�r�s r\�test_abstractsetz$CollectionsAbcTests.test_abstractsetzs0�����c�e�V�%7�%7�8�� � ��V�%7�%7�8r^c��|jt�tj�|j	t�tj�yrb)r�rYrc�
MutableSetr�r�r�s r\�test_mutablesetz#CollectionsAbcTests.test_mutableset~s2�����c�e�V�%6�%6�7�� � ���f�.?�.?�@r^c��|jitj�|jdtj�yr�)r�rcr�r�r�s r\�test_mappingz CollectionsAbcTests.test_mapping�s*�����b�&�.�.�1�� � ��V�^�^�4r^c��|jitj�|jdtj�yr�)r�rcr!r�r�s r\�test_mutablemappingz'CollectionsAbcTests.test_mutablemapping�s.�����b�&�"7�"7�8�� � ��V�%:�%:�;r^c��|jgtj�|jdtj�yr�)r�rcr�	r�r�s r\�
test_sequencez!CollectionsAbcTests.test_sequence�r{
r^c��|jgtj�|jdtj�yr�)r�rc�MutableSequencer�r�s r\�test_mutablesequencez(CollectionsAbcTests.test_mutablesequence�s.�����b�&�"8�"8�9�� � ��V�%;�%;�<r^c�h�|jt�5|jdtj�ddd�|jt�5|jtd�tj�ddd�|jt�5Gd�dtj�}ddd�|jt�5Gd�dtjtj�}ddd�y#1swY��xYw#1swY��xYw#1swY�hxYw#1swYyxYw)Nr^c��eZdZy)�0CollectionsAbcTests.test_bytestring.<locals>.FooNr|rkr^r\r�r�
�r�r^r�c��eZdZy)�0CollectionsAbcTests.test_bytestring.<locals>.BarNr|rkr^r\r�r�
�r�r^r�)�assertWarns�DeprecationWarningr�rc�
ByteString�	bytearrayr�
rns   r\�test_bytestringz#CollectionsAbcTests.test_bytestring�s���
�
�
�0�
1��!�!�#�v�'8�'8�9�2�
�
�
�0�
1��!�!�)�C�.�&�2C�2C�D�2�
�
�
�0�
1�-�f�'�'�-�2�
�
�
�0�
1�?�f�'�'��)9�)9�?�2�
1�
2�
1��
1�
1��
1�
1��
1�
1�s/�!D�*D�D�)D(�D
�D�D%�(D1c�L�|jttj�yrb)r]r�rcrr�s r\�	test_listzCollectionsAbcTests.test_list�������d�F�K�K�0r^c���|jtjtj�Gd�dtjt
�}|j
|�tj�y)Nc��eZdZy)�/CollectionsAbcTests.test_deque.<locals>.MyDequeNr|rkr^r\�MyDequer�
�r�r^r�
)r]r�dequercr�r�r�)rWr�
s  r\�
test_dequezCollectionsAbcTests.test_deque�sE�����k�/�/����>�-�f�l�l�3�'�-����g�i��):�):�;r^c�`�|jtjtj�yrb)r]r�Counterrcr�s r\�test_counterz CollectionsAbcTests.test_counter�s�����k�1�1�6�>�>�Br^c��|jttj�|j	t
tj�yrb)r]rYrcr�r`r�r�s r\�test_setzCollectionsAbcTests.test_set�s*�����c�6�:�:�.�� � ��F�J�J�7r^c��|jttj�|j	t
tj�yrb)r]r�rcrZ	r`rYr�s r\�test_frozensetz"CollectionsAbcTests.test_frozenset�s.�����i��)9�)9�:�� � ��f�&6�&6�7r^c�L�|jttj�yrb)r]r&rcr r�s r\r�zCollectionsAbcTests.test_dict�r�
r^c��td�}td�}|jt||fttftttf�|jt|tfttttf�|jtt|fttttf�|jt|t
|fttfttt
tf�|jt|t
tftttt
tf�|jt|t|fttfttttf�|jt|ttftttttf�y)Nr�r�)rr�r r�r�rr�)rWr�r�s   r\�test_dict_subscribez'CollectionsAbcTests.test_dict_subscribe�sK���C�L���C�L������a��d��C��H�-�t�C��H�~�>�����a��f��c�*�D��c��N�;�����c�1�f��c�*�D��c��N�;�����a��a��j�)�#�s�(�3�T�#�t�C�y�.�5I�J�����a��c��l�+�C�0�$�s�D��I�~�2F�G�����a��a��j�)�#�s�(�3�T�#�t�C�y�.�5I�J�����a��c��l�+�C�0�$�s�D��I�~�2F�Gr^c��|jt�5tj�ddd�|jt�5tjt�ddd�|jt�5tjt
�ddd�y#1swY�|xYw#1swY�OxYw#1swYyxYwrb)r�r�rcrrr�r�s r\�test_no_list_instantiationz.CollectionsAbcTests.test_no_list_instantiation�s{��
�
�
�y�
)��K�K�M�*�
�
�
�y�
)��K�K��N��*�
�
�
�y�
)��K�K����*�
)�	*�
)��
)�
)��
)�
)��#�B&�B2�B>�&B/�2B;�>Cc��Gd�dtjt�}|�}|j||�|j|tj�|j|t�|jt|�y)Nc��eZdZy)�6CollectionsAbcTests.test_list_subclass.<locals>.MyListNr|rkr^r\�MyListr�
�r�r^r�
)rcrr�r�r�	r]r�r`)rWr�
rs   r\�test_list_subclassz&CollectionsAbcTests.test_list_subclass�sd��	�V�[�[��%�	�
�H�����a��(����a����1����f�d�+�� � ��v�.r^c��|jt�5tj�ddd�|jt�5tjtt
f�ddd�|jt�5tjttf�ddd�y#1swY��xYw#1swY�UxYw#1swYyxYwrb)r�r�rcr rrr�r�r�s r\�test_no_dict_instantiationz.CollectionsAbcTests.test_no_dict_instantiation�s���
�
�
�y�
)��K�K�M�*�
�
�
�y�
)��K�K��B���!�*�
�
�
�y�
)��K�K��S��!�#�*�
)�	*�
)��
)�
)��
)�
)��#�B2�"B>�"C
�2B;�>C�
Cc��Gd�dtjttf�}|�}|j	||�|j	|tj
�|j
|t�|jt|�y)Nc��eZdZy)�6CollectionsAbcTests.test_dict_subclass.<locals>.MyDictNr|rkr^r\r�	r�
�r�r^r�	)	rcr r�r�r�r!r]r&r`)rWr�	rs   r\�test_dict_subclassz&CollectionsAbcTests.test_dict_subclass�sj��	�V�[�[��c��*�	�
�H�����a��(����a��!6�!6�7����f�d�+�� � ��v�.r^c��|jttj��tj
�|jttjttf��tj
�|jttjttf��tj
�yrb)
r�r�rcr�	rrrrr�r�r�s r\�test_defaultdict_instantiationz2CollectionsAbcTests.test_defaultdict_instantiation��z���
�
�d�6�-�-�/�0�+�2I�2I�J��
�
�d�6�-�-�b�"�f�5�7�8�+�:Q�:Q�R��
�
�d�6�-�-�c�3�h�7�9�:�K�<S�<S�Tr^c��Gd�dtjttf�}|�}|j	||�|j|tj�|jtj|�y)Nc��eZdZy)�@CollectionsAbcTests.test_defaultdict_subclass.<locals>.MyDefDictNr|rkr^r\�	MyDefDictr�
�r�r^r�
)	rcr�	r�r�r�r]rrr`)rWr�
�dds   r\�test_defaultdict_subclassz-CollectionsAbcTests.test_defaultdict_subclass��b��	��*�*�3��8�4�	��[�����b�)�,����i��)@�)@�A�� � ��!8�!8�)�Dr^c��|jttj��tj�|jttjt
tf��tj�|jttjttf��tj�yrb)	r�r�rc�OrderedDictrrrr�r�r�s r\�test_ordereddict_instantiationz2CollectionsAbcTests.test_ordereddict_instantiation�r�
r^c��Gd�dtjttf�}|�}|j	||�|j|tj�|jtj|�y)Nc��eZdZy)�@CollectionsAbcTests.test_ordereddict_subclass.<locals>.MyOrdDictNr|rkr^r\�	MyOrdDictr�
�r�r^r�
)rcr�
r�r�r�r]rr`)rWr�
�ods   r\�test_ordereddict_subclassz-CollectionsAbcTests.test_ordereddict_subclass�r�
r^c�@�|jttj��tj�|jttjt
tf��tj�|jttjttf��tj�Gd�dtjt
tf�}|jt|ttf��|�y)Nc��eZdZy)�;CollectionsAbcTests.test_chainmap_instantiation.<locals>.CMNr|rkr^r\�CMr�
	r�r^r�
)	r�r�rcr�	rrrr�r�)rWr�
s  r\�test_chainmap_instantiationz/CollectionsAbcTests.test_chainmap_instantiations����
�
�d�6�?�?�,�-�{�/C�/C�D��
�
�d�6�?�?�2�r�6�2�4�5�{�7K�7K�L��
�
�d�6�?�?�3��8�4�6�7��9M�9M�N�.�����R��(�.��
�
�d�<�2�c�3�h�<�>�*�B�/r^c��Gd�dtjttf�}|�}|j	||�|j|tj�|jtj|�y)Nc��eZdZy)�>CollectionsAbcTests.test_chainmap_subclass.<locals>.MyChainMapNr|rkr^r\�
MyChainMapr�
r�r^r�
)rcr�	r�r�r�r]rr`)rWr�
r!s   r\�test_chainmap_subclassz*CollectionsAbcTests.test_chainmap_subclasss`��	�����c��2�	��\�����b�*�-����j�+�*>�*>�?�� � ��!5�!5�z�Br^c��|jttj��tj
�|jttjt��tj
�|jttjt��tj
�Gd�dtjt�}|jt|t��|�y)Nc��eZdZy)�7CollectionsAbcTests.test_deque_instantiation.<locals>.DNr|rkr^r\rEr�
r�r^rE)r�r�rcr�rr�
rr��rWrEs  r\�test_deque_instantiationz,CollectionsAbcTests.test_deque_instantiations����
�
�d�6�<�<�>�*�K�,=�,=�>��
�
�d�6�<�<��?�,�-�{�/@�/@�A��
�
�d�6�<�<��,�.�/��1B�1B�C�%����Q��%��
�
�d�6�1�S�6�8�n�a�(r^c��|jttj��tj�|jttjt
��tj�|jttjt��tj�Gd�dtjt
�}|jt|t��|�y)Nc��eZdZy)�9CollectionsAbcTests.test_counter_instantiation.<locals>.CNr|rkr^r\rBr�
"r�r^rB)r�r�rcr�
rrr�r$s  r\�test_counter_instantiationz.CollectionsAbcTests.test_counter_instantiations����
�
�d�6�>�>�+�,�k�.A�.A�B��
�
�d�6�>�>�!�,�.�/��1D�1D�E��
�
�d�6�>�>�#�.�0�1�;�3F�3F�G�'����q�!�'��
�
�d�6�1�S�6�8�n�a�(r^c��Gd�dtjt�}|�}|j||�|j|tj�|j|tj�y)Nc��eZdZy)�JCollectionsAbcTests.test_counter_subclass_instantiation.<locals>.MyCounterNr|rkr^r\�	MyCounterr�
'r�r^r�
)rcr�
r�r�r)rWr�
rs   r\�#test_counter_subclass_instantiationz7CollectionsAbcTests.test_counter_subclass_instantiation%sZ��	����s�+�	�
�K�����a��+����a����0����a��!4�!4�5r^c��|jt�5tj�ddd�|jt�5tjt�ddd�|jt�5tjt
�ddd�y#1swY�|xYw#1swY�OxYw#1swYyxYwrb)r�r�rcr�rr�r�s r\�test_no_set_instantiationz-CollectionsAbcTests.test_no_set_instantiation/sy��
�
�
�y�
)��J�J�L�*�
�
�
�y�
)��J�J�q�M�O�*�
�
�
�y�
)��J�J�s�O��*�
)�	*�
)��
)�
)��
)�
)�r�
c�v�Gd�dtjt�}|�}|j||�y)Nc��eZdZy)�BCollectionsAbcTests.test_set_subclass_instantiation.<locals>.MySetNr|rkr^r\rA
r9r�r^rA
)rcr�r�r�)rWrA
rs   r\�test_set_subclass_instantiationz3CollectionsAbcTests.test_set_subclass_instantiation7s/��	�F�J�J�s�O�	�
�G�����a��'r^c��|jt�5tj�ddd�|jt�5tjt�ddd�|jt�5tjt
�ddd�y#1swY�|xYw#1swY�OxYw#1swYyxYwrb)r�r�rcrZ	rr�r�s r\�test_no_frozenset_instantiationz3CollectionsAbcTests.test_no_frozenset_instantiation?s���
�
�
�y�
)�����*�
�
�
�y�
)����Q��!�*�
�
�
�y�
)����S�!�#�*�
)�	*�
)��
)�
)��
)�
)�r�
c�v�Gd�dtjt�}|�}|j||�y)Nc��eZdZy)�NCollectionsAbcTests.test_frozenset_subclass_instantiation.<locals>.MyFrozenSetNr|rkr^r\�MyFrozenSetr
Ir�r^r)rcrZ	r�r�)rWrrs   r\�%test_frozenset_subclass_instantiationz9CollectionsAbcTests.test_frozenset_subclass_instantiationGs2��	�&�*�*�3�/�	�
�M�����a��-r^c�X�|jt�5t�ddd�|jt�5tt�ddd�|jt�5tt�ddd�y#1swY�hxYw#1swY�ExYw#1swYyxYwrb)r�r�rrr�r�s r\�test_no_tuple_instantiationz/CollectionsAbcTests.test_no_tuple_instantiationOsl��
�
�
�y�
)��G�*�
�
�
�y�
)��!�H�J�*�
�
�
�y�
)��#�J�L�*�
)�	*�
)��
)�
)��
)�
)�s"�B�B�-B �B�B� B)c�j�d�}|�}|jt|�tj�y)Nc3�K�d��y�wr�rkrkr^r\rkz/CollectionsAbcTests.test_generator.<locals>.fooXs�����H���)r]r�rc�	Generatorr�
s   r\�test_generatorz"CollectionsAbcTests.test_generatorWs(��	��E�����d�1�g�v�'7�'7�8r^c��|jt�5tj�ddd�|jt�5tjtttf�ddd�|jt�5tjt
t
t
f�ddd�y#1swY��xYw#1swY�ZxYw#1swYyxYwrb)r�r�rcrrr�r�s r\�test_no_generator_instantiationz3CollectionsAbcTests.test_no_generator_instantiation]s���
�
�
�y�
)�����*�
�
�
�y�
)����Q��1�W�%�'�*�
�
�
�y�
)����S�#�s�]�+�-�*�
)�	*�
)��
)�
)��
)�
)�s#�B<�'C�'C�<C�C�Cc�j�d�}|�}|jt|�tj�y)Nc�K�d���y�wr�rkrkr^r\rfz3CollectionsAbcTests.test_async_generator.<locals>.ffs�����X���	)r]r�rc�AsyncGenerator)rWrfrs   r\�test_async_generatorz(CollectionsAbcTests.test_async_generatores(��	�
�C�����d�1�g�v�'<�'<�=r^c��|jt�5tj�ddd�|jt�5tjttf�ddd�|jt�5tjt
t
f�ddd�y#1swY��xYw#1swY�UxYw#1swYyxYwrb)r�r�rcrrr�r�s r\�%test_no_async_generator_instantiationz9CollectionsAbcTests.test_no_async_generator_instantiationks���
�
�
�y�
)��!�!�#�*�
�
�
�y�
)��!�!�!�Q�$�'�)�*�
�
�
�y�
)��!�!�#�s�(�+�-�*�
)�	*�
)��
)�
)��
)�
)�r�
c��Gd�dtj�}|jt�5|�ddd�Gd�d|�}|j	t|��d�|j
t|j��|j|�tj�Gd�dtjttf�}|j	t|��d�|j	t|ttf��d�|j	t|ttf��d�|jt|�|jt|�|j!|tj�|j!|tj�|j!|tj�|j|ttf�tj�|j|ttf�t"j$j�|j!|t"j$j�|j!|t"j$j�|j!|t"j$j�|jt�5t'|ttftj�ddd�|j!||�Gd�d	tj(�}|jt*|�Gd
�dtj,t.t.t.f�}d�}|j!|tj,�|j!|tj(�|j!|t"j$j,�|j!|t"j$j(�|jt1|�|�y#1swY���xYw#1swY��6xYw)
Nc��eZdZy)�1CollectionsAbcTests.test_subclassing.<locals>.MMANr|rkr^r\�MMArur�r^r c�*�eZdZd�Zd�Zd�Zd�Zd�Zy)�1CollectionsAbcTests.test_subclassing.<locals>.MMCc��yrbrkr	s  r\r�z=CollectionsAbcTests.test_subclassing.<locals>.MMC.__getitem__|r3r^c��yrbrkr	s   r\r�z=CollectionsAbcTests.test_subclassing.<locals>.MMC.__setitem__~r�r^c��yrbrkr	s  r\r	z=CollectionsAbcTests.test_subclassing.<locals>.MMC.__delitem__�r�r^c��td�Sr�r	r�s r\rMz:CollectionsAbcTests.test_subclassing.<locals>.MMC.__iter__�r	r^c��yrbrkr�s r\r	z9CollectionsAbcTests.test_subclassing.<locals>.MMC.__len__�r�r^Nr	rkr^r\�MMCr"{r 	r^r(rc�*�eZdZd�Zd�Zd�Zd�Zd�Zy)�1CollectionsAbcTests.test_subclassing.<locals>.MMBc��yrbrkr	s  r\r�z=CollectionsAbcTests.test_subclassing.<locals>.MMB.__getitem__�r3r^c��yrbrkr	s   r\r�z=CollectionsAbcTests.test_subclassing.<locals>.MMB.__setitem__�r�r^c��yrbrkr	s  r\r	z=CollectionsAbcTests.test_subclassing.<locals>.MMB.__delitem__�r�r^c��td�Sr�r	r�s r\rMz:CollectionsAbcTests.test_subclassing.<locals>.MMB.__iter__�r	r^c��yrbrkr�s r\r	z9CollectionsAbcTests.test_subclassing.<locals>.MMB.__len__�r�r^Nr	rkr^r\�MMBr*�r 	r^r0c��eZdZy)�/CollectionsAbcTests.test_subclassing.<locals>.INr|rkr^r\r�r2�r�r^r�c��eZdZy)�/CollectionsAbcTests.test_subclassing.<locals>.GNr|rkr^r\r�r4�r�r^r�c3�K�d��y�wrbrkrkr^r\rz/CollectionsAbcTests.test_subclassing.<locals>.g�s
����q��r)rcr!r�r�r�rr�r�
r!	r�r�rrr�r`r&r]rrrTr�r�rr�r�)rWr r(r0r�r�rs       r\�test_subclassingz$CollectionsAbcTests.test_subclassingss���	�&�'�'�	��
�
�y�
)��E�*�
	�#�
	�	
����S�U��Q�'��������,�-����c�e�V�^�^�4�
	�&�'�'��B��/�
	�	
����S�U��Q�'�����]�S��c��]�_�-�q�1�����[�S��R��[�]�+�Q�/�� � ��s�+�� � ��s�+����c�6�>�>�2����c�6�>�>�2����c�6�>�>�2����k�c�"�b�&�k�m�V�^�^�<����k�c�"�b�&�k�m�[�_�_�-D�-D�E����c�;�?�?�#:�#:�;����c�;�?�?�#:�#:�;����c�;�?�?�#:�#:�;�
�
�
�y�
)��s�3��8�}�f�n�n�5�*����c�3�'�%����%�� � ��q�)�5�� � ��c�3��/�5�����a��!1�!1�2����a����1����a����!:�!:�;����a����!9�!9�:�� � ��a��!�,�}*�
)��b*�
)�s�P/� (P<�/P9�<Qc�D�Gd�dtjttf�}d�}|j|tj�|j|tj�|j|t
jj�|j|t
jj�|jt|�|�|�}|j|tj�|j|tj�|j|t
jj�|j|t
jj�|jt|�|�|j||�y)Nc��eZdZd�Zdd�Zy)�?CollectionsAbcTests.test_subclassing_async_generator.<locals>.Gc��yrbrkrts  r\�asendzECollectionsAbcTests.test_subclassing_async_generator.<locals>.G.asend�r�r^Nc��yrbrk)rW�typ�valr�s    r\�athrowzFCollectionsAbcTests.test_subclassing_async_generator.<locals>.G.athrow�r�r^rY
)rhrirjr;r?rkr^r\r�r9�s��
�
r^r�c�K�d���y�wrbrkrkr^r\rz?CollectionsAbcTests.test_subclassing_async_generator.<locals>.g�s
����Q�w�r)rcrr�r]r�
rrr`r�r�r�)rWr�rr�s    r\� test_subclassing_async_generatorz4CollectionsAbcTests.test_subclassing_async_generator�s!��	��%�%�c�3�h�/�	�	����a��!6�!6�7����a��!5�!5�6����a����!?�!?�@����a����!>�!>�?�� � ��a��!�,��3�����h��(=�(=�>����h��(<�(<�=����h����(F�(F�G����h����(E�(E�F�� � ��a��!�,�� � ��A�&r^c���Gd�dtj�}Gd�d|�}Gd�d�}Gd�d�}|j||�|j||�|j||�y)	Nc��eZdZed��Zy)�?CollectionsAbcTests.test_subclassing_subclasshook.<locals>.Basec�$�|jdk(ryy)Nr�TF)rhrbs  r\rKzPCollectionsAbcTests.test_subclassing_subclasshook.<locals>.Base.__subclasshook__�s���>�>�U�*�� r^Nrdrkr^r\r_	rD�s��
�
!��
!r^r_	c��eZdZy)�<CollectionsAbcTests.test_subclassing_subclasshook.<locals>.CNr|rkr^r\rBrG�r�r^rBc��eZdZy)�>CollectionsAbcTests.test_subclassing_subclasshook.<locals>.FooNr|rkr^r\r�rI�r�r^r�c��eZdZy)�>CollectionsAbcTests.test_subclassing_subclasshook.<locals>.BarNr|rkr^r\r�rK�r�r^r�)rcr�r]r`)rWr_	rBr�r�s     r\�test_subclassing_subclasshookz1CollectionsAbcTests.test_subclassing_subclasshook�sV��	!�6�?�?�	!�	����������c�4�(����c�1�%�� � ��a�(r^c���Gd�dtj�}Gd�d|�}Gd�d�}|j|�|j||�|j	||�Gd�d�}|j|�|j||�|j||�Gd	�d
�}t
jjj|�|j|tj�y)Nc��eZdZy)�8CollectionsAbcTests.test_subclassing_register.<locals>.ANr|rkr^r\r�rO�r�r^r�c��eZdZy)�8CollectionsAbcTests.test_subclassing_register.<locals>.BNr|rkr^r\r�rQ�r�r^r�c��eZdZy)�8CollectionsAbcTests.test_subclassing_register.<locals>.CNr|rkr^r\rBrS�r�r^rBc��eZdZy)�8CollectionsAbcTests.test_subclassing_register.<locals>.DNr|rkr^r\rErU�r�r^rEc��eZdZy)�8CollectionsAbcTests.test_subclassing_register.<locals>.MNr|rkr^r\r�rW�r�r^r�)	rcr�	r�r]r`rrr!r�)rWr�r�rBrEr�s      r\�test_subclassing_registerz-CollectionsAbcTests.test_subclassing_register�s���&�� � �&������	�
�
�1�
����a��#�� � ��A�&���	�
�
�1�
����a��#����a��#������&�&�/�/��2����a����0r^c���Gd�dtjj�}|j|tj�|j|tj
�Gd�dtjj�}|j|tj�|j|tj
�Gd�dtjj
�}|j|tj
�Gd�dtjjtj�	�}Gd
�d�}|j|�|j|tj�y)Nc��eZdZy)�7CollectionsAbcTests.test_collections_as_base.<locals>.MNr|rkr^r\r�r[�r�r^r�c��eZdZy)�7CollectionsAbcTests.test_collections_as_base.<locals>.SNr|rkr^r\r�r]�r�r^r�c��eZdZy)�7CollectionsAbcTests.test_collections_as_base.<locals>.INr|rkr^r\r�r_�r�r^r�c��eZdZy)�7CollectionsAbcTests.test_collections_as_base.<locals>.ANr|rkr^r\r�rar�r^r�r�c��eZdZy)�7CollectionsAbcTests.test_collections_as_base.<locals>.BNr|rkr^r\r�rcr�r^r�)	rrr�r]rcr�r�
rMr�)rWr�r�r�r�r�s      r\�test_collections_as_basez,CollectionsAbcTests.test_collections_as_base�s���-����'�'�-����a����0����a����1�5����/�/�5����a��!7�!7�8����a����1�.����(�(�.����a����1�D����'�'�3�;�;�D���	�
�
�1�
����a����0r^c�\�|jtjtjzttjtjf�|jtj
tjzttj
tjf�yrb)r�rcrzr�
rr�
ry
r�s r\rz#CollectionsAbcTests.test_or_and_rorsk���������(8�(8�8�%����f�N^�N^�@^�:_�`�����)�)�F�O�O�;�U�6�CS�CS�U[�Ud�Ud�Cd�=e�fr^N)7rhrirjrz
r}
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
rrrrrrrrrr6rArLrXrdrrkr^r\rw
rw
4s��6�	5�6�
��;�;�3�7�8�9�A�5�<�6�=�@�1�<�
C�8�8�1�	H��
/�$�
/�U�
	E�U�
	E�0�	C�)�)�6��(�$�.��9�.�>�.�C-�J'�.)�"1�&1�$gr^rw
c��eZdZd�Zd�Zy)�
OtherABCTestsc��tjd��}|�}|j|tj�|jdtj�y)Nc3�K�d��y�wr�rkrkr^r\�managerz2OtherABCTests.test_contextmanager.<locals>.manager
������H�rr�)�
contextlib�contextmanagerr�rcrhr�)rWrjr!s   r\�test_contextmanagerz!OtherABCTests.test_contextmanagersO��	�	"�	"�	�
#�	��Y�����b�&�"7�"7�8�� � ��V�%:�%:�;r^c��Gd�d�}|jt�tj�|j	|�tj�t
jd��}|�}|j	|tj�|jtjtjtf�|jt�5tdtjt�ddd�|jt�5tjttfddd�y#1swY�ExYw#1swYyxYw)Nc��eZdZy)�7OtherABCTests.test_async_contextmanager.<locals>.NotACMNr|rkr^r\�NotACMrqr�r^rrc3�K�d��y�wr�rkrkr^r\rjz8OtherABCTests.test_async_contextmanager.<locals>.managerrkrr�)r�r�rc�AsyncContextManagerr�rlrmr�r�r�r�r�r�r�)rWrrrjr!s    r\�test_async_contextmanagerz'OtherABCTests.test_async_contextmanagers���	�	����c�e�V�%?�%?�@�� � ���6�+E�+E�F�	�	"�	"�	�
#�	��Y��� � ��V�%?�%?�@�����3�3�C�8�A�A�C�6�J�
�
�
�y�
)��r�6�5�5�c�:�;�*�
�
�
�y�
)��&�&�s�C�x�0�*�
)�*�
)��
)�
)�s� "E�E�E�EN)rhrirjrnrurkr^r\rgrg
s��<�1r^rgc��eZdZd�Zd�Zd�Zy)�	TypeTestsc�r�Gd�d�}Gd�d|�}Gd�d|�}dt|d|fd	�}||�y)
Nc��eZdZy)�'TypeTests.test_type_basic.<locals>.UserNr|rkr^r\�Userrz+r�r^r{c��eZdZy)�,TypeTests.test_type_basic.<locals>.BasicUserNr|rkr^r\�	BasicUserr},r�r^r~c��eZdZy)�*TypeTests.test_type_basic.<locals>.ProUserNr|rkr^r\�ProUserr�-r�r^r��
user_classr�c��|�Srbrk�r�s r\�new_userz+TypeTests.test_type_basic.<locals>.new_user/�
���<�r^r4)rWr{r~r�r�s     r\�test_type_basiczTypeTests.test_type_basic)s9����#��#�!�d�!�	 ��d��	 ��	 �	��r^c��Gd�d�}Gd�d|�}Gd�d|�}td|��}d	t|d
|fd�}||�y)Nc��eZdZy)�)TypeTests.test_type_typevar.<locals>.UserNr|rkr^r\r{r�6r�r^r{c��eZdZy)�.TypeTests.test_type_typevar.<locals>.BasicUserNr|rkr^r\r~r�7r�r^r~c��eZdZy)�,TypeTests.test_type_typevar.<locals>.ProUserNr|rkr^r\r�r�8r�r^r�r�r�r�r�c��|�Srbrkr�s r\r�z-TypeTests.test_type_typevar.<locals>.new_user<r�r^)rr5)rWr{r~r�r�r�s      r\�test_type_typevarzTypeTests.test_type_typevar4sE����#��#�!�d�!��C�t�$��	 ��a��	 �Q�	 �	��r^c��ttt}d|dttfd�}|j|t�t�|j|d��y)Nrr�c��|�y|�Srbrkr
s r\rkz)TypeTests.test_type_optional.<locals>.fooDs���y���s�
r^)rr5�
BaseExceptionr��KeyboardInterrupt�assertIsNone)rWr�rks   r\�test_type_optionalzTypeTests.test_type_optionalAsT���T�-�(�)��	�1�	��-�0�	�	
���c�"3�4�6G�H����#�d�)�$r^N)rhrirjr�r�r�rkr^r\rwrw's��	��
%r^rwc��eZdZdgZd�Zy)�TestModules�_idfuncc�z�|jD],}|jtt|�jd��.y)N�_typing)�
func_namesr�r�	rcri)rW�fnames  r\�test_c_functionszTestModules.test_c_functionsQs-���_�_�E����W�V�U�3�>�>�	�J�%r^N)rhrirjr�r�rkr^r\r�r�Ns����J�Kr^r�c�\�eZdZed��Zed��Zd�Zd�Zd�Zd�Z	d�Z
d�Zd	�Zd
�Z
y)�NewTypeTestsc��tjdt�atj|jdzt
�|_y)N�UserId�	.UserName)rc�NewTyper�r�rjr��UserNamer�s r\�
setUpClasszNewTypeTests.setUpClassWs1������#�.���~�~�c�&6�&6��&D�c�J��r^c�
�b|`yrb)r�r�r�s r\�
tearDownClasszNewTypeTests.tearDownClass]s��
��Lr^c���|jtd�t�|j|jd�t�|jtd�dzd�y)NrV�Joern�)r�r�r�r�r�r�r�s r\rzNewTypeTests.test_basiccsG�����f�Q�i��-����d�m�m�E�2�C�8�������Q���*r^c���|jt�5ttt�ddd�|jt�5Gd�dt�}ddd�y#1swY�7xYw#1swYyxYw)Nc��eZdZy)�#NewTypeTests.test_errors.<locals>.DNr|rkr^r\rEr�lr�r^rE)r�r�rTr�r�r�
s  r\r�zNewTypeTests.test_errorshsQ��
�
�
�y�
)��v�s�#�*�
�
�
�y�
)�
�F�
�*�
)�*�
)��
)�
)�s�A!�A-�!A*�-A6c��t|jfD]�}|j|��5|jt|zt
jt|f�|j|tzt
j|tf�|jtjt|z�t|f�|jtj|tz�|tf�ddd���y#1swY��xYw)Nr�)r�r�rur�r�rcrr-)rWrXs  r\r�zNewTypeTests.test_oros�������'�C����#��&�� � ��#��v�|�|�F�C�K�/H�I�� � ��v��v�|�|�C��K�/H�I�� � �����#��!>���
�N�� � �����v��!>��f�
�N�'�&�(�&�&�s�CC8�8D	c�J�|jtjd�|jtjd�|jtjt�|jtj
t�|j}|j|jd�|j|j|jjdz�|j|jt�|j|j
t�y)Nr�r�r�)
r�r�rhrjri�
__supertype__r�r�r�r�)rWr�s  r\�test_special_attrszNewTypeTests.test_special_attrsxs���������(�3�����,�,�h�7�����*�*�H�5�����-�-�s�3��=�=������*�*�J�7�����.�.����4�4�{�B�	D�����,�,�h�7�����/�/��5r^c���|jtt�t�d��|jt|j�t�d|j
j�d��y)Nz.UserIdr�	r�)r�r�r�rhr�r�rjr�s r\r�zNewTypeTests.test_repr�sR������f��(��7�';�<�����d�m�m�,�$�:�Q�t�~�~�'B�'B�&C�9�M�	Or^c��tjdt�}ttj
dz�D]�}|j
|��5t	jt|�}t	j|�}|j|t�t	j|j|�}t	j|�}|j||j�|jtj�5t	j||�ddd�ddd���y#1swY�xYw#1swY��xYw)N�UserAgernrp)rcr�r{rrrsrtrurvr�rur�r�r��
PicklingError)rWr�rq�pickledr#s     r\r$zNewTypeTests.test_pickle�s����.�.��E�2���6�2�2�Q�6�7�E����E��*� �,�,�v�u�5�����g�.���
�
�f�f�-� �,�,�t�}�}�e�<�����g�.���
�
�f�d�m�m�4��&�&�v�';�';�<��L�L��%�0�=�+�*�8�=�<��+�*�s%�B6D8�D,�D8�,D5�1D8�8E	c� �d}t|i�y)Nz-import typing
NT = typing.NewType('NT', int)
r�r�s  r\r�z!NewTypeTests.test_missing__name__�s��3��	
�T�2�r^c��|jttjd��5Gd�dt�}ddd�y#1swYyxYw)NzpCannot subclass an instance of NewType. Perhaps you were looking for: `ProUserId = NewType('ProUserId', UserId)`c��eZdZy)�CNewTypeTests.test_error_message_when_subclassing.<locals>.ProUserIdNr|rkr^r\�	ProUserIdr��rY	r^r�)r�r�r�r�r�)rWr�s  r\�#test_error_message_when_subclassingz0NewTypeTests.test_error_message_when_subclassing�s@��
�
#�
#���I�I�=�
�
�
�F�
�
�
�
�s�A�AN)rhrirjrer�r�rr�r�r�r�r$r�r�rkr^r\r�r�VsT���K��K�
����
+�
�O�6�O�

1��	r^r�c�v�eZdZGd�de�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zy)�NamedTupleTestsc�"�eZdZUeed<eed<y)�NamedTupleTests.NestedEmployeer�r�Nr�rkr^r\�NestedEmployeer��s���	��	r^r�c��tddtfdtfg�}|j|t�|dd�}|dd��}|j||�|j|t�|j
|jd�|j
|jd�|j
|jd�|j
|jd�|j
|jd�|j
|jd�|j
|jtjdtfdtfg��y)	N�Empr��idr�r��Jimrn�r�r�)r6r�r�r]r�r�r�r�r�rh�_fieldsr�rr�
)rWr��joe�jims    r\r9zNamedTupleTests.test_basics�s����&�#���s�� <�=�����c�5�)��%��n���u��#�����c�3�'����c�5�)�������5�)��������$�������5�)��������#�������u�-�������n�5�����,�,�$�0�0�6�3�-�$���1M�N�	Pr^c���tdd�}|j|t�|j|t�|j|jd�|j|j
d�|jtjd�|jtjd�|jtjtjtt���y)N�Timi(#r��r�r�)
r�r�r�r�r�r�rhr�r�rr�
r�r�)rW�tims  r\�test_annotation_usagez%NamedTupleTests.test_annotation_usage�s����5�$�'�����c�<�0����c�5�)�������5�)�������4�(�����.�.��?�����-�-�/?�@�����5�5�$�0�0�c��D�	Fr^c���td�}|j|t�|j|t�|j|jd�|j|j
d�tdd�}|j|j
d�|jtjd�|jtjd�|jtjttt���|jtjtd���|jt�5Gd�d	t�}ddd�y#1swYyxYw)
N�Jeller�Sjoerdrnr�r�)r�c�&�eZdZUdZeed<eed<y)�RNamedTupleTests.test_annotation_usage_with_default.<locals>.NonDefaultAfterDefaultrPr�r�N)rhrirjr�r�r�rkr^r\�NonDefaultAfterDefaultr��s����3�
��r^r�)r�r�r�r�r�r�rhr�r�r&r�r��_field_defaultsr�r�r6)rW�jelle�cooler_employeer�s    r\�"test_annotation_usage_with_defaultz2NamedTupleTests.test_annotation_usage_with_default�s	��'��0�����e�%<�=����e�U�+�������W�-�������Q�'�1�(�A�>������-�-�q�1����0�9�9�;T�U����0�8�8�:J�K����0�@�@��3�S�1�	3����0�@�@�$�A�,�O�
�
�
�y�
)�
��
�*�
)�
)�s�
E#�#E,c�4�|jtd�j�d�|jtd�jtd�d�|jt	td��d�|jtdd�td�zd�|j
t�5Gd�dt�}ddd�|j
t�5Gd	�d
t�}ddd�y#1swY�7xYw#1swYyxYw)Nrnr�r�rz42 -> 1rPc��eZdZUeed<d�Zy)�DNamedTupleTests.test_annotation_usage_with_methods.<locals>.XMethBadr�c��y)Nzno chance for thisrkr�s r\r�zLNamedTupleTests.test_annotation_usage_with_methods.<locals>.XMethBad._fields�s��/r^N)rhrirjr�r�r�rkr^r\�XMethBadr��s����0r^r�c��eZdZUeed<d�Zy)�ENamedTupleTests.test_annotation_usage_with_methods.<locals>.XMethBad2r�c��y)Nzno chance for this as wellrkr�s r\�_sourcezMNamedTupleTests.test_annotation_usage_with_methods.<locals>.XMethBad2._source�s��7r^N)rhrirjr�r�r�rkr^r\�	XMethBad2r��s����8r^r�)	r�r�r�r�r�r�r�rr6)rWr�r�s   r\�"test_annotation_usage_with_methodsz2NamedTupleTests.test_annotation_usage_with_methods�s�������q����*�A�.�����r����e�B�i��l�3�����U�2�Y���3�����q�!��u�Q�x�/��3�
�
�
�~�
.�
0�:�
0�/��
�
�~�
.�
8�J�
8�/�
.�
/�
.��/�
.�s�<D�)D�D�Dc��Gd�d�}|jt�5Gd�dt|�}ddd�|jt�5Gd�dtt�}ddd�|jt�5Gd�dtt�}ddd�Gd	�d
t�}|jt�5Gd�dt|�}ddd�y#1swY��xYw#1swY��xYw#1swY�_xYw#1swYyxYw)
Nc��eZdZy)�4NamedTupleTests.test_multiple_inheritance.<locals>.ANr|rkr^r\r�r��r�r^r�c��eZdZUeed<y)�4NamedTupleTests.test_multiple_inheritance.<locals>.Xr�Nr�rkr^r\r�r��r�r^r�c��eZdZUeed<y)�4NamedTupleTests.test_multiple_inheritance.<locals>.Yr�Nr�rkr^r\r�r��r�r^r�c��eZdZUeed<y)�4NamedTupleTests.test_multiple_inheritance.<locals>.Zr�Nr�rkr^r\r�r��r�r^r�c��eZdZUeed<y)�4NamedTupleTests.test_multiple_inheritance.<locals>.Br�Nr�rkr^r\r�r��rmr^r�c��eZdZUeed<y)�4NamedTupleTests.test_multiple_inheritance.<locals>.Cr�Nr�rkr^r\rBr�r�r^rB)r�r�r6r�)rWr�r�r�r�r�rBs       r\r+
z)NamedTupleTests.test_multiple_inheritance�s���	�	�
�
�
�y�
)�
�J��
�*��
�
�y�
)�
�J��
�*��
�
�y�
)�
�J�
�
�*�	�
�	�
�
�
�y�
)�
�J��
�*�
)�*�
)��*�
)��*�
)��
*�
)�s/�C�C'�C3�C?�C$�'C0�3C<�?Dc��Gd�dttt�}|j|jt
tf�|j|jtttf�|j|j|t
ttf�Gd�dttt�}|j|jtt
f�|j|jtttf�|j|j|tt
tf�||fD�]|}|j|��5|j|jtf�|j|tjtf�|jt|t�tf�|t}|j|j|�|j|jtf�|jt|�tf�|j|jd�|d�}|jt!|�|�|j|j"d�|j%t&�5|tt(fddd�ddd���y#1swY�xYw#1swY���xYw)Nc��eZdZUeed<y)�'NamedTupleTests.test_generic.<locals>.Xr�Nr�rkr^r\r�r�����Dr^r�c��eZdZUeed<y)�'NamedTupleTests.test_generic.<locals>.Yr�Nr�rkr^r\r�r�
r�r^r��r�rkrP)r6r#rr�r*	r�r/	r�r�rur�r�r-r�r�r�r�r�r�r�r�)rWr�r�r�r�rs      r\�test_genericzNamedTupleTests.test_generics���	�
�G�A�J�	�������u�g�&6�7�����)�)�J���
�+C�D�������Q��w��$?�@�	���
�J�	�������w��&6�7�����)�)�G�A�J�
�+C�D�������Q����$?�@��A��A����1��%�� � ��!1�!1�A�4�8�� � ��1������5�� � ��!�A�$��!��6��c�F���
�
�a�l�l�A�.�� � ����c�V�4�� � ��!��s�f�5�� � ��!1�!1�2�6��a�D���
�
�d�1�g�q�)�� � ����a�(��&�&�y�1��c�3�h�K�2�&�%��2�1��&�%�s%�EK�J:�&K�:K�?K�K	c�Z�d��}|j\}|j|t�|j|jd�|j|j
ttf�|j|jtt|f�|j|j|tttf�|j|j|f�|j|tjtf�|j|tjd�y)Nc�>���d�x�f�G��fd�d��
}t|�S)rc�"��eZdZW�ZUW�ed<y)�.NamedTupleTests.test_generic_pep695.<locals>.Xr�Nrr�s��r\r�r�#�
�����Dr^r�)r6r�s @@r\z<generic parameters of X>zFNamedTupleTests.test_generic_pep695.<locals>.<generic parameters of X>#s����	�	�:�	r^rrk)rvr�rr�rhr*	r�r#r/	r6r�r�r�r�r�)rWr�rs   r\�test_generic_pep695z#NamedTupleTests.test_generic_pep695"s���	�
�
�
������a��)�������S�)�������u�g�&6�7�����)�)�J���
�+C�D�������Q��w��$?�@�����)�)�A�4�0�����3����3�&�1�����3��.�.��3r^c�Z�Gd�dt�}|t}|j|j|�|j|jd�|j|j
tf�|ddg�}|j
t|�|�|j|ddgf�y)Nc�(�eZdZUeed<eeed<y)�9NamedTupleTests.test_non_generic_subscript.<locals>.Groupr��groupN)rhrirjrr�r�rkr^r\�Groupr2s���F���7�Nr^rrkrnr�)r6r�r�r�r�r�r�r�)rWrr�rs    r\r�
z*NamedTupleTests.test_non_generic_subscript/s���	�J�	�
�#�J��������u�-�����)�)�2�.�������c�V�,�
�a�!��I���
�
�d�1�g�u�%�����Q���H�%r^c��tdtt��}|dd�}|j|t�|j|jd�|j|jd�|j|jd�|j|jttt���|jt�5tddtfgt��ddd�y#1swYyxYw)N�
LocalEmployee)r��age�Nick��Namer�r�)
r6r�r�r�r�r�r�rhr�r�r&r�r�)rWr�nicks   r\�test_namedtuple_keyword_usagez-NamedTupleTests.test_namedtuple_keyword_usage=s���"�?��#�F�
��V�R�(�����d�E�*�������F�+�����/�/��A�����.�.��@�����6�6��#�3�8O�P�
�
�
�y�
)��v��c�
�|�s�3�*�
)�
)�s�C1�1C:c���tdtttt��}|j|jd�|j|jd�|tdddtfg��}|j|jt�|j|jd�|j|jd�|j|jdtfg�y)Nr�)rXrW�typename�fieldsr�rkr*)
r6r�r�r�r�r�rhr�r�rXrWrr)rWr�rs   r\�%test_namedtuple_special_keyword_namesz5NamedTupleTests.test_namedtuple_special_keyword_namesHs���
��$�V�c�$�
O��������d�+�������%J�K��3�R�%�%���8H�I���������$��������$�������U�+�������U�E�N�#3�4r^c�n�td�}Gd�dt�}||fD]�}|j|��5|j|jd�|j|ji�|j|j
i�|j
|�|�ddd���y#1swY��xYw)Nr�c��eZdZy)�2NamedTupleTests.test_empty_namedtuple.<locals>.CNTNr|rkr^r\�CNTrUr�r^r)�structrk)r6rur�r�r�r�r�)rWr�rrs    r\�test_empty_namedtuplez%NamedTupleTests.test_empty_namedtupleRs���
��
��	�*�	��3�i�F����V��,�� � �����4�� � ��!7�!7��<�� � ��!7�!7��<��%�%�f�h��7�	-�,� �,�,�s�A,B+�+B4	c�^�|jt�5tj�ddd�|jt�5t�ddd�|jt�5tddtfgd�ddd�|jt
�5tddtfg�ddd�|jt�5tdtt��ddd�y#1swY��xYw#1swY��xYw#1swY��xYw#1swY�bxYw#1swYyxYw)Nr�r��_name)rr�r�)r�r�r6r�r�r�r�r�s r\�test_namedtuple_errorsz&NamedTupleTests.test_namedtuple_errors_s���
�
�
�y�
)���� �*�
�
�
�y�
)��L�*�
�
�
�y�
)��u���}�o�t�4�*�
�
�
�z�
*��u���~�.�/�+�
�
�
�y�
)���C�C�8�*�
)�*�
)��
)�
)��
)�
)��
*�
*��
)�
)�s;�C3�C?�0D�"D�D#�3C<�?D�D�D �#D,c�n�tddtfdtfg�att|j
fD]�}|j
|��5|dd�}ttjdz�D]Q}tj||�}tj|�}|j||�|j||��St|�}|j||�|j||�t|�}|j||�|j||�ddd���y#1swY��xYw)Nr�r�r�r��jane�%rn)r6r�r�r�r�r�rurrrsrtrvrur�r�rr)rWrXrrqrR�jane2s      r\�test_copy_and_picklez$NamedTupleTests.test_copy_and_pickleks����&�#����
� >�?����d�&9�&9�9�C����#��&��6�2���"�6�#:�#:�Q�#>�?�E����T�5�1�A�"�L�L��O�E��$�$�U�D�1��)�)�%��5�	@��T�
��� � ���-��%�%�e�S�1� ����� � ���-��%�%�e�S�1�'�&�:�&�&�s
�CD*�*D4	c�T�td�}Gd�dt�}Gd�dtt|�}|j|jtf�|j|jtt|f�tdg�}|j|jtf�y)Nrc��eZdZy)�9NamedTupleTests.test_orig_bases.<locals>.SimpleNamedTupleNr|rkr^r\�SimpleNamedTupler!�r�r^r"c��eZdZy)�:NamedTupleTests.test_orig_bases.<locals>.GenericNamedTupleNr|rkr^r\�GenericNamedTupler$�r�r^r%�CallNamedTuple)rr6r#r�r/	)rWrr"r%r&s     r\r0	zNamedTupleTests.test_orig_basess����C�L��	�z�	�	�
�G�A�J�	�	
���)�8�8�:�-�H����*�9�9�J��PQ�
�;S�T�#�$4�b�9������6�6��
�Fr^N)rhrirjr6r�r9r�r�r�r+
r�r�r�
rrrrrr0	rkr^r\r�r��sW�����P� 	F��(8�$�$ �>4�&�	4�5�8�
9�2�(Gr^r�c��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zy)�TypedDictTestsc���tdttd��}|j|t�|j|t
j�|j|tjj�|dd��}|jt|�t�|j|dd�|j|dd�|j|jd�|j|jt�|j|j tf�|j|j"ttd��|j|j$d�|j|j&ddh�|j)|j&t*�|j|j,t/��|j)|j,t*�y�Nr�r�r�rnr�r�T)r9r�r�r]r&rcr!r`rrr�	r�r�r�rhrir*	r��	__total__�__required_keys__r�r��__optional_keys__rY�rWr�r�s   r\�test_basics_functional_syntaxz,TypedDictTests.test_basics_functional_syntax�sd�����3�7�8�����c�4�(����c�6�#8�#8�9�� � ��k�o�o�&>�&>�?��u��#���
�
�d�3�i��&�����V��e�,�����T��A�&�������u�-��������2���������0�����,�,�s�#�.F�G��������-�����.�.����?����c�3�3�Y�?�����.�.���6����c�3�3�Y�?r^c�,�|jt�5tdtt��}ddd�|jt�|j|tj�|j|tjj�|dd��}|jt|�t�|j|dd�|j|dd�|j|j d�|j|j"t �|j|j$tf�|j|j&ttd��|j|j(d�y#1swY��^xYwr*)r�
r�
r9r�r�r]r&rcr!r`rrr�	r�r�r�rhrir*	r�r+r.s   r\�test_basics_keywords_syntaxz*TypedDictTests.test_basics_keywords_syntax�s ��
�
�
�0�
1��E���4�C�2����c�4�(����c�6�#8�#8�9�� � ��k�o�o�&>�&>�?��u��#���
�
�d�3�i��&�����V��e�,�����T��A�&�������u�-��������2���������0�����,�,�s�#�.F�G��������-�2�
1�s�F	�	Fc
��|jt�5tdttt
ttt��}ddd�|jjd�|j|jttt
tttd��|t
ddddtfgdth��}|j|dt
�|j|d	d�|j|d
d�|j|dd�|j|ddtfg�|j|d
dth�y#1swY��xYw)N�TD)rXrWr�	_typenamerr�r�rk�5r*r`rXrWrr4rr�)r�
r�
r9r�r�r�r�r�r&r�rhr�r�rY)rWr3rs   r\�$test_typeddict_special_keyword_namesz3TypedDictTests.test_typeddict_special_keyword_names�s"��
�
�
�0�
1��4�T���PS�\`�jn�o�B�2�������d�+�����+�+�T�6�WZ�il�x|�JN�.O�	P��3�R�%�2��u�~�FV�af�hk�`l�m������5��3�'�����6��B�'�����:���.�����;���,�����8���u�~�&6�7�����9���s�|�4�2�
1�s�+E�Ec���|jt�5tj�ddd�|jt�5t�ddd�|jt�5tddtfgd�ddd�|jt�5tdtt
��ddd�y#1swY��xYw#1swY�|xYw#1swY�VxYw#1swYyxYw)Nr�r�)r4r�r�)r�r�r9r�r�r�r�s r\�test_typeddict_create_errorsz+TypedDictTests.test_typeddict_create_errors�s���
�
�
�y�
)�����*�
�
�
�y�
)��K�*�
�
�
�y�
)��e�v�s�m�_�d�3�*�
�
�
�y�
)���C�C�8�*�
)�
*�
)��
)�
)��
)�
)��
)�
)�s/�C�C�0C�"C&�C�C�C#�&C/c�X�tdttd��}|jtjd�|dd��}|jt�5ti|�ddd�|jt�5t||�ddd�|jt�5tt|�ddd�|jt�5tddtfgt��ddd�y#1swY��xYw#1swY�{xYw#1swY�YxYw#1swYyxYw)	Nr�r�rcr�rn�Hir�r�)
r9r�r�r�rir�r�r�rTr&r.s   r\�test_typeddict_errorsz$TypedDictTests.test_typeddict_errors�s������3�7�8������-�-�x�8��u��#��
�
�
�y�
)��r�3��*�
�
�
�y�
)��s�C� �*�
�
�
�y�
)��t�S�!�*�
�
�
�y�
)��d�c�3�Z�L�C�0�*�
)�
*�
)��
)�
)��
)�
)��
)�
)�s0�
C<�
D�+D�D �<D�D�D� D)c�r�|jtjd�|jtjt�|jtjt
t
td��|jtjtf�|jtjd�|jttj�tdd��}|j|dd�|j|dd�tddd	��}|j|d
d	�y)Nr�r�Trrnr�r�r��hir�)r�r�rhrir�r�r�r*	r&r+r`rcr�	r�)rW�
not_originrcs   r\�test_py36_class_syntax_usagez+TypedDictTests.test_py36_class_syntax_usage�s�������.�.��?�����0�0�(�;�����5�5�S�s�UX�7Y�Z�����/�/�$��9�����/�/��6�� � ��v���?��q�A�&�
�����C��!�,�����C��!�,��q�A�T�2������w���.r^c���tdttd��atddd��}t	t
jdz�D]�}tj||�}tj|�}|j||�|j|ddd��tjt|�}tj|�}|j|ddd��|���y)N�EmpDr�rrrn)
r9r�r�rArrrsrtrvrur�)rWrrqrRr�ZZ�EmpDnews       r\r$zTypedDictTests.test_pickle�s�����#�S�!9�:���V�2�.�/���6�2�2�Q�6�7�E����T�5�)�A��L�L��O�E����U�D�)����U�V�2�$>�?����d�E�*�B��l�l�2�&�G����W�f�B�%?�@�$�G�8r^c��tdd��}ttjdz�D]�}tj||�}tj
|�}|j
||�|j
|ddd��tjt|�}tj
|�}|j
|ddd��|���y)Ng@g@rorn)r�rrrsrtrvrur�)rW�pointrqrR�point2rB�Point2DGenericNews       r\�test_pickle_genericz"TypedDictTests.test_pickle_generic�s������,���6�2�2�Q�6�7�E����U�E�*�A��\�\�!�_�F����V�U�+����V�3�S�%9�:����n�e�4�B� &���R� 0�����.�S�s�/C�D�e�L�8r^c��tdttd��}|jtj
|tjd|f�|jtj|tj|�y)NrAr�)
r9r�r�r�rcrrr�rr)rWrAs  r\r�zTypedDictTests.test_optional�s[����#�S�!9�:���������.����T�4�Z�0H�I����F�K�K��-�v�|�|�D�/A�Br^c��tddtid��}|j|�i�|j|d��ddi�|j|jd�|j|jt��|j
|jt
�|j|jdh�|j
|jt
�|jt�i�|jtd��d	di�|jtjd�|jtjt��|jtjd	d
h�y)NrEr�Fr�rnr�r�)r�r�r�)	r9r�r�r+r,r�r�r-r�r�
s  r\�
test_totalzTypedDictTests.test_totals#���c�C��:�U�3�������b�!�����Q��#�q��*�������e�,�����,�,�i�k�:����a�1�1�9�=�����,�,�s�e�4����a�1�1�9�=������B�'�����1�-��Q�/?�@�����*�*�E�2�����2�2�I�K�@�����2�2�[�*�4M�Nr^c�@�Gd�dtd��}|j|jtddg��|j	|jt�|j|j
tdg��|j	|j
t�y)Nc��eZdZUeed<y)�6TypedDictTests.test_optional_keys.<locals>.Point2Dor3DrRNr�rkr^r\�Point2Dor3DrNrmr^rOFr�r�r�rR)r�r�r,r�r�r-)rWrOs  r\�test_optional_keysz!TypedDictTests.test_optional_keyssz��	�'��	�	
����6�6�	�3��*�8M�N����k�;�;�Y�G�����6�6�	�3�%�8H�I����k�;�;�Y�Gr^c��Gd�dt�}Gd�d|d��}Gd�d|�}|j|jtd	g��|j|jtg��|j|j
d	ti�|j|jtd	g��|j|jtd
dg��|j|j
tttd��|j|jtd	d
g��|j|jtd
dg��|j|j
ttttd��y)Nc��eZdZUeed<y)�8TypedDictTests.test_keys_inheritance.<locals>.BaseAnimalr�Nr�rkr^r\�
BaseAnimalrSr�r^rTc�"�eZdZUeed<eed<y)�4TypedDictTests.test_keys_inheritance.<locals>.Animal�voicer�N)rhrirjr�r�r,rkr^r\�AnimalrV s���J��Jr^rXFr�c��eZdZUeed<y)�1TypedDictTests.test_keys_inheritance.<locals>.Cat�	fur_colorNr�rkr^r\�CatrZ$s���Nr^r\r�r�rW)r�r�rWr[)r[r�r�rW)r9r�r,r�r-r�r�r,)rWrTrXr\s    r\�test_keys_inheritancez$TypedDictTests.test_keys_inheritancesE��	��	�	�Z�u�	�	�&�	�	
����5�5�y�&��7J�K�����5�5�y��}�E�����3�3�f�c�]�C�����1�1�9�f�X�3F�G�����1�1�9�f�g�=N�3O�P�����/�/����2
�	�	
����.�.�	�6�;�:O�0P�Q�����.�.�	�6�7�:K�0L�M�����,�,�����	/
�	r^c���Gd�dtd��}Gd�d|�}|j|jt��|j|jtdg��|j|jtdg��|j|jt��Gd�d	t�}Gd
�d|�}|j|jtdg��|j|jtdg��|j|jtdg��|j|jtdg��y)
Nc��eZdZUeed<y)�ETypedDictTests.test_keys_inheritance_with_same_name.<locals>.NotTotalrNr�rkr^r\�NotTotalr`=rmr^raFr�c��eZdZUeed<y)�BTypedDictTests.test_keys_inheritance_with_same_name.<locals>.TotalrNr�rkr^r\�Totalrc@rmr^rdrc�.�eZdZUeeed<eeed<y)�ATypedDictTests.test_keys_inheritance_with_same_name.<locals>.Baserr�N)rhrirjr7r�r�r8rkr^r\r_	rfHs���3�����}�r^r_	c�.�eZdZUeeed<eeed<y)�BTypedDictTests.test_keys_inheritance_with_same_name.<locals>.Childrr�N)rhrirjr8r�r�r7rkr^r\rrhLs����}���3��r^rr�)r9r�r,r�r-)rWrardr_	rs     r\�$test_keys_inheritance_with_same_namez3TypedDictTests.test_keys_inheritance_with_same_name<s��	�y��	�	�H�	�	
����3�3�Y�[�A�����3�3�Y��u�5E�F�����0�0�)�S�E�2B�C�����0�0�)�+�>�	�9�	�	 �D�	 �	
����/�/��C�5�1A�B�����/�/��C�5�1A�B�����0�0�)�S�E�2B�C�����0�0�)�S�E�2B�Cr^c�>�Gd�dt�}Gd�dt�}Gd�d||�}|j|jdtti�|j|j
t
dg��|j|jt
��y)Nc��eZdZUeeed<y)�ETypedDictTests.test_multiple_inheritance_with_same_key.<locals>.Base1rNr�rkr^r\�Base1rlVs
���3��r^rmc��eZdZUeeed<y)�ETypedDictTests.test_multiple_inheritance_with_same_key.<locals>.Base2rNr�rkr^r\�Base2roYs����}�r^rpc��eZdZy)�ETypedDictTests.test_multiple_inheritance_with_same_key.<locals>.ChildNr|rkr^r\rrr\r�r^rr)r9r�r�r8r�r,r�r-)rWrmrprs    r\�'test_multiple_inheritance_with_same_keyz6TypedDictTests.test_multiple_inheritance_with_same_keyUs~��	 �I�	 �	�I�	�	�E�5�	�	
����.�.��h�s�m�0D�E�����0�0�)�S�E�2B�C�����0�0�)�+�>r^c��|jtjtdh��|jtjtdh��|jt
jtdh��|jt
jtdh��|jtjjt��|jtjjtdh��|jtjtdh��|jtjtdh��|jtjtdh��|jtjtdh��|jtjtdh��|jtjtdh��|jtjtdh��|jtjtdh��y)Nr�rir)r�r�r,r�r-r�rNrb
r�r�r�r�r�s r\�test_required_notrequired_keysz-TypedDictTests.test_required_notrequired_keysds�������8�8�"�G�9�-�	/�����8�8�"�F�8�,�	.�	
����5�5�"�G�9�-�	/�����5�5�"�F�8�,�	.�	
���+�9�9�K�K�"��	&����+�9�9�K�K�"�C�5�)�	+�	
����9�9�"�G�9�-�	/�����9�9�"�F�8�,�	.�	
���+�=�=�"�G�9�-�	/����+�=�=�"�F�8�,�	.�	
����:�:�"�G�9�-�	/�����:�:�"�F�8�,�	.�	
���2�D�D�"�G�9�-�	/����2�D�D�"�F�8�,�	.r^c��Gd�dt�}Gd�dt�}Gd�dtd��}td	d
ti�}Gd�d�}Gd
�d||�}|j|jt	gd���|j|j
t	g��|j|jtttd��Gd�d||�}|j|jt	ddg��|j|j
t	dg��|j|jtttd��Gd�d||d��}|j|jt	dg��|j|j
t	ddg��|j|jtttd��Gd�d||�}	|j|	jt	d
dg��|j|	j
t	dg��|j|	jtttd��||f||f|||f||f||fg}
|
D]G}|j|��5|jtd�5Gd�dg|���}ddd�ddd��Iy#1swY�xYw#1swY�`xYw)Nc��eZdZUeed<y)�5TypedDictTests.test_multiple_inheritance.<locals>.Oners
Nr�rkr^r\�Onerx�����Hr^ryc��eZdZUeed<y)�5TypedDictTests.test_multiple_inheritance.<locals>.Two�twoNr�rkr^r\�Twor|�rzr^r~c��eZdZUeed<y)�9TypedDictTests.test_multiple_inheritance.<locals>.Untotal�untotalNr�rkr^r\�Untotalr��s���Lr^r�Fr��Inline�inlinec��eZdZy)�9TypedDictTests.test_multiple_inheritance.<locals>.RegularNr|rkr^r\�Regularr��r�r^r�c��eZdZUeed<y)�7TypedDictTests.test_multiple_inheritance.<locals>.Child�childN�rhrirjr,r�rkr^r\rr������Kr^r)rs
r}r�c��eZdZUeed<y)�CTypedDictTests.test_multiple_inheritance.<locals>.ChildWithOptionalr�Nr�rkr^r\�ChildWithOptionalr��r�r^r�rs
r�r�)rs
r�r�c��eZdZUeed<y)�ETypedDictTests.test_multiple_inheritance.<locals>.ChildWithTotalFalser�Nr�rkr^r\�ChildWithTotalFalser��r�r^r�c��eZdZUeed<y)�LTypedDictTests.test_multiple_inheritance.<locals>.ChildWithInlineAndOptionalr�Nr�rkr^r\�ChildWithInlineAndOptionalr��r�r^r�)r�r�r�)�basesz=cannot inherit from both a TypedDict type and a non-TypedDictc��eZdZy)�7TypedDictTests.test_multiple_inheritance.<locals>.WrongNr|rkr^r\�Wrongr��r�
r^r�)r9r,r�r,r�r-r�r�r�rur�r�)
rWryr~r�r�r�rr�r�r��wrong_basesr�r�s
             r\r+
z(TypedDictTests.test_multiple_inheritance�s���	�)�	�	�)�	�	�i�u�	��8�h��%5�6��	�	�	�C��	�����#�#��-�.�	
�	
����#�#��b�M�	
�	
����!�!���d�3�	
�
	��W�	�����/�/��u�g�&�'�	
�	
����/�/��y�k�"�	
�	
����-�-��C�$�7�	
�
	�#�w�e�	�����1�1��u�g��	
�	
����1�1��y�'�*�+�	
�	
����/�/��C�$�7�	
�
	��&�	����&�8�8��x��)�*�	
�	
���&�8�8��y�k�"�	
�	
���&�6�6���d�;�	
��'�N�
�c�N�
�#�w��
�W��
�g��
��!�E����E��*��+�+��S�����	�+�*�!����+�*�s$�
K�!K�-K�K	�K�K	c���|jtt�d�|jtttt
f�d�|jtt��d�t
ddt
i�}|jt|�d�|jt|��d�td��G�fd�dtt��}|jt|�d�|jt|t
�d�|jt|��d�d��}|jt|�d�|jt|t
�d�|jt|��d�|jtt�d�y)	NTF�
call_basedrrc���eZdZUW�ed<y)�4TypedDictTests.test_is_typeddict.<locals>.BarGenericrNrsrts�r\r�r��s����Dr^r�c�>���d�x�f�G��fd�d��
}t|�S)rc�"��eZdZW�ZUW�ed<y)�4TypedDictTests.test_is_typeddict.<locals>.NewGenericrNrr�s��r\r�r��r�r^r��r9r�s @@r\z"<generic parameters of NewGeneric>zLTypedDictTests.test_is_typeddict.<locals>.<generic parameters of NewGeneric>�s����	�	�I�	r^)	r�r/r�rr�r�r9rr#)rWr�r�r�rs    @r\�test_is_typeddictz TypedDictTests.test_is_typeddict�s1����
�
�l�7�+�T�2��
�
�l�5��c��?�3�U�;��
�
�l�7�9�-�u�5��|�c�3�Z�8�
��
�
�l�:�.��5��
�
�l�:�<�0�%�8��C�L��	��G�A�J�	��
�
�l�:�.��5��
�
�l�:�c�?�3�U�;��
�
�l�:�<�0�%�8�	��
�
�l�:�.��5��
�
�l�:�c�?�3�U�;��
�
�l�:�<�0�%�8�	
�
�
�l�9�-�u�5r^c�z�|jtt�tjt
t
d��y)Nro)r�r+r�rcrr�r�s r\r
z"TypedDictTests.test_get_type_hints�s)������3���/�/�#�&�S�1�	
r^c��|jtt�tjt
td��Gd�dtt�}|jt|�tjt
ttd��y)Nroc��eZdZUeed<y)�ATypedDictTests.test_get_type_hints_generic.<locals>.FooBarGenericrNr�rkr^r\�
FooBarGenericr�rmr^r��rr�r)r�r+r�rcrrr�r�)rWr�s  r\�test_get_type_hints_genericz*TypedDictTests.test_get_type_hints_generic�sd������:�&��/�/�!�$�3�/�	
�
	�J�s�O�	�	
����=�)��/�/�!�$�3�S�9�	
r^c�Z�d��}|j\}|j|t�|j|jd�|j|j
ttf�|j|jtt|f�|j|j|tttf�|j|j|f�|j|tjd�|j|tjtf�y)Nc�>���d�x�f�G��fd�d��
}t|�S)rc�"��eZdZW�ZUW�ed<y)�7TypedDictTests.test_pep695_generic_typeddict.<locals>.ArNrr�s��r\r�r�
r�r^r�r�r�s @@r\z<generic parameters of A>zOTypedDictTests.test_pep695_generic_typeddict.<locals>.<generic parameters of A>
s����	�	�9�	r^rrk)rvr�rr�rhr*	r#r&r/	r9r�r�r�r�r�)rWr�rs   r\�test_pep695_generic_typeddictz,TypedDictTests.test_pep695_generic_typeddicts���	��
�
������a��)�������S�)�������w��o�6�����)�)�I�w�q�z�+B�C�������Q���v�$>�?�����)�)�A�4�0�����3��.�.��3�����3����3�&�1r^c�"�Gd�dttt�}|j|jtt
f�|j|jtttf�|j|j|tt
tf�|j|jtf�|j|tjd�|j|tjtf�Gd�dttt�}|j|jtt
f�|j|jtttf�|j|j|tt
tf�|j|jtf�|j|tjd�|j|tjtf�Gd�d|td�	�}|j|jtt
f�|j|j|tf�|j|j|tt
tf�|j|jtf�|j|jd�|j|jtd
g��|j|j tdg��|j|tjd�|j|tjtf�|j|tj"|�Gd�d
|t$�}|j|jtt
f�|j|j|t$f�|j|j|tt
tf�|j|jd�|j|jd�|j|jtd
g��|j|j tddg��|j|j&ttt$d��|j)t*�5|tddd�Gd�dt,ttttf�}|j|jtt
f�|j|jt,ttttff�|j|j|tt
tf�|j|jttf�|j|jd�|j|jt��|j|j tgd���|j|j&tttd��|j|t$tfj"|�|j)t*�5|t$ddd�|j)t*�5Gd�dt,ttt�}ddd�y#1swY��xYw#1swY�WxYw#1swYyxYw)Nc��eZdZUeed<y)�2TypedDictTests.test_generic_inheritance.<locals>.ArNr�rkr^r\r�r�r�r^r�rkc��eZdZUeed<y)�3TypedDictTests.test_generic_inheritance.<locals>.A2rNr�rkr^r\�A2r�%r�r^r�c��eZdZUeed<y)�2TypedDictTests.test_generic_inheritance.<locals>.Br�N�rhrirjrr�rkr^r\r�r�/����Er^r�Fr�r�rc��eZdZUeed<y)�2TypedDictTests.test_generic_inheritance.<locals>.CrNr�rkr^r\rBr�>rmr^rBTrr�c��eZdZUeed<y��8TypedDictTests.test_generic_inheritance.<locals>.Point3DrNr�rkr^r\�Point3Dr�Qr�r^r�c��eZdZUeed<yr�r�rkr^r\r�z8TypedDictTests.test_generic_inheritance.<locals>.Point3Dfs���r^)r9r#rr�r*	r&r/	r�r�r�r�r�rr+r-r�r,r�r�r�r�r�r�)rWr�r�r�rBr�s      r\�test_generic_inheritancez'TypedDictTests.test_generic_inheritances��	�	�7�1�:�	�	
������w��o�6�����)�)�I�w�q�z�+B�C�������Q���v�$>�?�����)�)�A�4�0�����3��.�.��3�����3����3�&�1�	����Y�	�	
���������7�����*�*�W�Q�Z��,C�D�������b�'�4��%@�A�����*�*�Q�D�1�����C��/�/��4�����C��)�)�C�6�2�	��"��U�	�	
������w��o�6�����)�)�A�b�E�8�4�������Q���v�$>�?�����)�)�B�5�1�������e�,�����,�,�i���.>�?�����,�,�i���.>�?�����3��.�.��3�����3����3�&�1�����3��*�*�A�.�	��#��	�	
������w��o�6�����)�)�A�c�F�9�5�������Q���v�$>�?�����)�)�2�.�������d�+�����,�,�i���.>�?�����,�,�i��c�
�.C�D�����*�*����-
�	�
�
�
�y�
)�
�c�F�*�	�n�Q�'���B���	�	
����*�*�W�d�O�<�����/�/�.��2C�W�Q�PR�U�^�1T�U�������7�G�T�6�*J�K�����/�/�!�R��9�����*�*�D�1�����2�2�I�K�@�����2�2�I�o�4N�O�����0�0����3
�	�
	
�����c��*�5�5�w�?�
�
�
�y�
)��C�L�*��
�
�y�
)�
�.��+�W�R�[�
�*�
)�1*�
)��**�
)��*�
)�s$�
[,�
[9�#\�,[6�9\�\c���Gd�dttt�}Gd�d|td��}Gd�d|�}|j	|j
ttf�|j	|j|tttf�|j	|jd	�|j	|jd
�|j	|jtdg��|j	|jtdd
g��|j	|jtttd��|j!t"�5|t$ddd�y#1swYyxYw)Nc��eZdZUeed<y)�7TypedDictTests.test_implicit_any_inheritance.<locals>.ArNr�rkr^r\r�r�jr�r^r�c��eZdZUeed<y)�7TypedDictTests.test_implicit_any_inheritance.<locals>.Br�Nr�rkr^r\r�r�mr�r^r�Fr�c��eZdZUeed<y)�ETypedDictTests.test_implicit_any_inheritance.<locals>.WithImplicitAnyrNr�rkr^r\�WithImplicitAnyr�prmr^r�rkTr�rrr�)r9r#rrr�r*	r&r�r�r�r+r-r�r,r�r�r�r�r�)rWr�r�r�s    r\�test_implicit_any_inheritancez,TypedDictTests.test_implicit_any_inheritanceis��	�	�7�1�:�	�	��"��U�	�	�a�	�	
����2�2�W�d�4D�E�����0�0�?�G�T�SY�2Z�[�����7�7��<�����2�2�D�9�����:�:�I�s�e�<L�M�����:�:�I�s�C�j�<Q�R�����8�8����;
�	�
�
�
�y�
)��C� �*�
)�
)�s�
E&�&E/c�^�Gd�dt�}|t}|j|j|�|j|jd�|j|j
tf�|d��}|j
t|�t�|j|ddi�y)Nc��eZdZUeed<y)�5TypedDictTests.test_non_generic_subscript.<locals>.TDrNr�rkr^r\r3r��r�r^r3rkrnr
r)	r9r�r�r�r�r�r�r�r&)rWr3r�rs    r\r�
z)TypedDictTests.test_non_generic_subscript�s���	��	��s�G��������r�*�����)�)�2�.�������c�V�,�
�!�H���
�
�d�1�g�t�$�����S�!�H�%r^c�$�td�}Gd�dt�}Gd�d|�}Gd�d|�}Gd�d	|||�}Gd
�dtt|�}Gd�d
|t�}Gd�d|t�}Gd�d|||t
�}	Gd�d|t|t
�}
tdi�}|j
|jtf�|j
|j|f�|j
|j|f�|j
|j|||f�|j
|jtt|f�|j
|j|tf�|j
|j|tf�|j
|	j|||t
f�|j
|
j|t|t
f�|j
|jtf�y)Nrc��eZdZy)�.TypedDictTests.test_orig_bases.<locals>.ParentNr|rkr^r\�Parentr��r�r^r�c��eZdZy)�-TypedDictTests.test_orig_bases.<locals>.ChildNr|rkr^r\rr��r�r^rc��eZdZy)�2TypedDictTests.test_orig_bases.<locals>.OtherChildNr|rkr^r\�
OtherChildr��r�r^r�c��eZdZy)�2TypedDictTests.test_orig_bases.<locals>.MixedChildNr|rkr^r\�
MixedChildr��r�r^r�c��eZdZy)�5TypedDictTests.test_orig_bases.<locals>.GenericParentNr|rkr^r\�
GenericParentr��r�r^r�c��eZdZy)�4TypedDictTests.test_orig_bases.<locals>.GenericChildNr|rkr^r\�GenericChildr��r�r^r�c��eZdZy)�9TypedDictTests.test_orig_bases.<locals>.OtherGenericChildNr|rkr^r\�OtherGenericChildr��r�r^r�c��eZdZy)�9TypedDictTests.test_orig_bases.<locals>.MixedGenericChildNr|rkr^r\�MixedGenericChildr��r�r^r�c��eZdZy)�<TypedDictTests.test_orig_bases.<locals>.MultipleGenericBasesNr|rkr^r\�MultipleGenericBasesr��r�r^r��
CallTypedDict)rr9r#r�r�r{r�r/	)rWrr�rr�r�r�r�r�r�r�r�s            r\r0	zTypedDictTests.test_orig_bases�s����C�L��	�Y�	�	�F�	�	��	�	��
�F�	�	�I�w�q�z�	�	�=��-�	�	�
�c� 2�	�	��.?��u�AU�	�	�=��#5�}�U�7K�	�"�/�2�6�
�����.�.���=�����-�-��y�9�����2�2�V�I�>�����2�2�U�J��4P�Q�����5�5�	�7�1�:�7N�O�����4�4�}�S�7I�6K�L����*�9�9�M�#�<N�;P�Q����*�9�9�L�J[�]j�kp�]q�;r�s����-�<�<�}�S�?Q�S`�af�Sg�>h�i�����5�5�	�|�Dr^N)rhrirjr/r1r6r8r;r?r$rHr�rKrPr]rirsrur+
r�r
r�r�r�r�r�
r0	rkr^r\r(r(�s���@�&.� 5�9�1�/�H�	M�C�O� H��@D�2
?�".�HU�n6�2
�
�2�M�^!�2&�)Er^r(c�*�eZdZd�Zd�Zd�Zd�Zd�Zy)�
RequiredTestsc�h�|jt�5ttddd�|jt�5ttt
fddd�|jt�5ttt
ddd�y#1swY�mxYw#1swY�HxYw#1swYyxYwrb)r�r�r8r7r�r�r�s r\r9zRequiredTests.test_basics�su��
�
�
�y�
)��[�!�*�
�
�
�y�
)��S�#�X��*�
�
�
�y�
)��S�M�#��*�
)�	*�
)��
)�
)��
)�
)��#�B�B�2B(�B�B%�(B1c���|jtt�d�tt}|jt|�d�tt}|jt|�dt
�d��y)Nztyping.Requiredztyping.Required[int]ztyping.Required[�
.Employee])r�r�r8r�r{rhr�
s  r\r�zRequiredTests.test_repr�s]������h��):�;�
�c�]������b��#9�:�
�h�
������b��%5�h�Z�z�#J�Kr^c	�$�|jtt�5Gd�dtt��}ddd�|jtt�5Gd�dttt
��}ddd�|jtd�5Gd�dt�}ddd�|jtd�5Gd	�d
tt
�}ddd�y#1swY��xYw#1swY�yxYw#1swY�WxYw#1swYyxYw)Nc��eZdZy)�-RequiredTests.test_cannot_subclass.<locals>.CNr|rkr^r\rBr��r�r^rBc��eZdZy)�-RequiredTests.test_cannot_subclass.<locals>.DNr|rkr^r\rEr��r�r^rEz Cannot subclass typing\.Requiredc��eZdZy)�-RequiredTests.test_cannot_subclass.<locals>.ENr|rkr^r\r�r��r�r^r�z'Cannot subclass typing\.Required\[int\]c��eZdZy)�-RequiredTests.test_cannot_subclass.<locals>.FNr|rkr^r\r�r��r�r^r�)r�r�r�r�r8r�r�
s     r\r�z"RequiredTests.test_cannot_subclass�s���
�
#�
#�I�/C�
D�
�D��N�
�E��
#�
#�I�/C�
D�
�D��#��'�
�E��
#�
#�I�3�5�
�H�
�5��
#�
#�I�:�<�
�H�S�M�
�<�<�E�
D��E�
D��5�5��<�<�r�
c��|jt�5t�ddd�|jt�5tt��ddd�|jt�5tttt
��ddd�y#1swY�|xYw#1swY�VxYw#1swYyxYwrb)r�r�r8r�rr�r�s r\rIzRequiredTests.test_cannot_init�r�
r�
c��|jt�5tdtt�ddd�|jt�5ttt�ddd�y#1swY�<xYw#1swYyxYwrK)r�r�r�r8r�rTr�s r\rLz RequiredTests.test_no_isinstance�r�
r�
Nr�
rkr^r\r�r��s���L�� ,�&r^r�c�*�eZdZd�Zd�Zd�Zd�Zd�Zy)�NotRequiredTestsc�h�|jt�5ttddd�|jt�5ttt
fddd�|jt�5ttt
ddd�y#1swY�mxYw#1swY�HxYw#1swYyxYwrb)r�r�r7r8r�r�r�s r\r9zNotRequiredTests.test_basics�sv��
�
�
�y�
)���!�*�
�
�
�y�
)���S��!�*�
�
�
�y�
)����S�!�*�
)�	*�
)��
)�
)��
)�
)�r�c���|jtt�d�tt}|jt|�d�tt}|jt|�dt
�d��y)Nztyping.NotRequiredztyping.NotRequired[int]ztyping.NotRequired[r�)r�r�r7r�r{rhr�
s  r\r�zNotRequiredTests.test_repr�s_������k�*�,@�A�
��
������b��#<�=�
��
"������b��%8��
�*�#M�Nr^c	�$�|jtt�5Gd�dtt��}ddd�|jtt�5Gd�dttt
��}ddd�|jtd�5Gd�dt�}ddd�|jtd�5Gd	�d
tt
�}ddd�y#1swY��xYw#1swY�yxYw#1swY�WxYw#1swYyxYw)Nc��eZdZy)�0NotRequiredTests.test_cannot_subclass.<locals>.CNr|rkr^r\rBr�r�r^rBc��eZdZy)�0NotRequiredTests.test_cannot_subclass.<locals>.DNr|rkr^r\rEr r�r^rEz#Cannot subclass typing\.NotRequiredc��eZdZy)�0NotRequiredTests.test_cannot_subclass.<locals>.ENr|rkr^r\r�r r�r^r�z*Cannot subclass typing\.NotRequired\[int\]c��eZdZy)�0NotRequiredTests.test_cannot_subclass.<locals>.FNr|rkr^r\r�r	 r�r^r�)r�r�r�r�r7r�r�
s     r\r�z%NotRequiredTests.test_cannot_subclass�s���
�
#�
#�I�/C�
D�
�D��%�
�E��
#�
#�I�/C�
D�
�D��S�)�*�
�E��
#�
#�I�6�8�
�K�
�8��
#�
#�I�=�?�
�K��$�
�?�?�E�
D��E�
D��8�8��?�?�r�
c��|jt�5t�ddd�|jt�5tt��ddd�|jt�5tttt
��ddd�y#1swY�|xYw#1swY�VxYw#1swYyxYwrb)r�r�r7r�rr�r�s r\rIz!NotRequiredTests.test_cannot_init s}��
�
�
�y�
)��M�*�
�
�
�y�
)��D����*�
�
�
�y�
)�,�D��X�c�]�+�,�.�*�
)�	*�
)��
)�
)��
)�
)�r�
c��|jt�5tdtt�ddd�|jt�5ttt�ddd�y#1swY�<xYw#1swYyxYwrK)r�r�r�r7r�rTr�s r\rLz#NotRequiredTests.test_no_isinstance sT��
�
�
�y�
)��q�+�c�*�+�*�
�
�
�y�
)��s�K�(�*�
)�*�
)��
)�
)�r�
Nr�
rkr^r\r�r��s��"�O�� /�)r^r�c�$�eZdZd�Zd�Zd�Zd�Zy)�IOTestsc��dtdtfd�}|jd}|j|jtf�y)Nrr�c�"�|j�Srb��readliner
s r\rNzIOTests.test_io.<locals>.stuff ����:�:�<�r^)r;rr�r�r��rWrNrs   r\�test_iozIOTests.test_io s?��	 �R�	 �F�	 �
�!�!�#�&������)�)�F�9�5r^c�z�dtdtfd�}|jd}|j|jd�y)Nrr�c�"�|j�Srbrr
s r\rNz"IOTests.test_textio.<locals>.stuff' rr^rk)r<r�r�r�r�rs   r\�test_textiozIOTests.test_textio% s=��	 �V�	 ��	 �
�!�!�#�&������)�)�2�.r^c�z�dtdtfd�}|jd}|j|jd�y)Nrr�c�"�|j�Srbrr
s r\rNz$IOTests.test_binaryio.<locals>.stuff/ rr^rk)r=r�r�r�r�rs   r\�
test_binaryiozIOTests.test_binaryio- s=��	 �X�	 �%�	 �
�!�!�#�&������)�)�2�.r^c��tjd��5}tjdt��ddlm}m}m}m}m	}|j|tj
�|j|tj�|j|tj�|jt|�tgd���|j|d�|jt|�d	�ddd�y#1swYyxYw)
NT��recordr���categoryr)r;r<r=r�	rhr:z	typing.iorn)�warnings�catch_warnings�filterwarningsr�
�	typing.ior;r<r=r�	rhr�rcr�rYr)rW�wr;r<r=r�	rhs       r\�test_io_submodulezIOTests.test_io_submodule5 s���
�
$�
$�D�
1�Q��#�#�I�8J�K�I�I��M�M�"�f�i�i�(��M�M�&�&�-�-�0��M�M�(�F�O�O�4����S��\�3�/K�+L�M����X�{�3����S��V�Q�'�2�
1�
1�s�CC=�=DN)rhrirjrrrr#rkr^r\rr s��6�/�/�	(r^rc�6�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	y)	�RETestsc�*�tjdtj�}|j|jt
�|jt
|�t
�|j|t
�|jd�}|j|jt�|jt
|�t�|j|t�t
tttfttttfy)Nz[a-z]+z12345abcde.....)
r��compiler�r]r�r>r�r��searchr?rr�r�)rWr,�mats   r\r9zRETests.test_basicsD s����j�j��2�4�4�(�����c�m�m�W�5����d�3�i��1����c�7�+��j�j�*�+�����c�m�m�U�3����d�3�i��/����c�5�)�	��c�5�j�!�"�
�e�E�3�J�� r^c�6�|jtttt�|jtttt�|jttt
t�|jttt�yrb)r�r>r�r�r�r?r�s r\�test_alias_equalityzRETests.test_alias_equalityS s^��������w�s�|�4����G�C�L�'�%�.�9����G�C�L�%��*�5����G�C�L�#�.r^c��ttttf}|j	t
�5|tddd�|j	t
�5t
dtt�ddd�|j	t
�5ttttt�ddd�y#1swY�xYw#1swY�VxYw#1swYyxYwr�)	r?rr�r�r�r�r�r>rT)rWrs  r\r�zRETests.test_errorsY s����%��U�
�#�$��
�
�
�y�
)�
�c�F�*�
�
�
�y�
)��r�7�3�<�(�*��
�
�y�
)��w�u�~�w�s�|�4�*�
)�*�
)��
)�
)��*�
)�s#�
B8�C�#C�8C�C
�Cc��|jtt�d�|jttt�d�|jttt�d�|jtt
�d�|jtt
t�d�|jtt
t�d�y)Nztyping.Patternztyping.Pattern[str]ztyping.Pattern[bytes]ztyping.Matchztyping.Match[str]ztyping.Match[bytes])r�r�r>r�r�r?r�s r\r�zRETests.test_reprd s�������g��(8�9�����g�c�l�+�-B�C�����g�e�n�-�/F�G�����e��n�5�����e�C�j�)�+>�?�����e�E�l�+�-B�Cr^c���tjd��5}tjdt��ddlm}m}m}m}|j|tj
�|j|tj�|jt|�tddg��|j|d	�|jt|�d
�ddd�y#1swYyxYw)NTrr�rr)r?r>r�	rhr?r>�	typing.rern)rrr r�
�	typing.rer?r>r�	rhr�rcr�rYr)rWr"r?r>r�	rhs      r\�test_re_submodulezRETests.test_re_submodulel s���
�
$�
$�D�
1�Q��#�#�I�8J�K�C�C��M�M�%����.��M�M�'�6�>�>�2����S��\�3���/C�+D�E����X�{�3����S��V�Q�'�2�
1�
1�s�B;C�C$c���tj�5tjdt��ddlm}|j
|jt�|j|jd�|j
|jtj�ddd�|jt�5jddd�y#1swY�4xYw#1swYyxYw)N�errorrr)r�r/)rrr r�
rcr�r�rOr�r�rhrr��MappingProxyTyper�
r?)rWr�s  r\�test_re_submodule_access_basicsz'RETests.test_re_submodule_access_basicsv s���
�
$�
$�
&��#�#�G�6H�I�!��!�!�"�*�*�c�2����R�[�[�+�6��!�!�"�+�+�u�/E�/E�F�'��
�
�0�
1��H�H�2�
1�'�
&��2�
1�s�BC�:
C�C�C%c��|jtd�5Gd�dtj�}ddd�|jtd�5Gd�dtj�}ddd�y#1swY�BxYw#1swYyxYw)Nz/type 're\.Match' is not an acceptable base typec��eZdZy)�'RETests.test_cannot_subclass.<locals>.ANr|rkr^r\r�r8� r�r^r�z1type 're\.Pattern' is not an acceptable base typec��eZdZy)�'RETests.test_cannot_subclass.<locals>.BNr|rkr^r\r�r:� r�r^r�)r�r�rcr?r>r�s   r\r�zRETests.test_cannot_subclass� sq��
�
#�
#��>�
�
�F�L�L�
�	
��
#�
#��@�
�
�F�N�N�
�	
�
�

�
��
�
�s�A2�A>�2A;�>BN)
rhrirjr9r+r�r�r1r5r�rkr^r\r%r%A s&��
!�/�	5�D�(�	�r^r%c��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zy)�AnnotatedTestsc�n�|jtd�5t�ddd�y#1swYyxYw)Nz%Type Annotated cannot be instantiated�r�r�r@r�s r\�test_newzAnnotatedTests.test_new� s-��
�
#�
#��3�
�
�K�	
�
�
�s�+�4c��|jtttddf�d�|jttttddf�d�y)NrUrVztyping.Annotated[int, 4, 5]z(typing.Annotated[typing.List[int], 4, 5])r�r�r@r�rr�s r\r�zAnnotatedTests.test_repr� sP�������3��1�9�%�&�)�	
�	
�����4��9�a��?�+�,�6�	
r^c���ttttdf��}dD]/}|j	|��5|j||�ddd��1y#1swY�<xYw)NrU)r�r�r��__metadata__rW)rYrZr@r�rur[r\s   r\r^zAnnotatedTests.test_dir� sU����I�c�1�f�-�.�/�	�
�M����M��:��
�
�m�Y�7�;�:�	
�;�:�s�A�A 	c���tttdfdf}|j|ttddf�|j|jd�|j|jt�y)NrUrVrT)r@r�r�rBr�r�s  r\r~zAnnotatedTests.test_flatten� s]���i��Q��'��*�+������I�c�1�a�i�0�1��������0�������s�+r^c�H�|jtttdftz�ttdftf�|jttttdftf�ttdftf�|jtttdfttdfztz�ttdfttdftf�|jttttdfttdftf�ttdfttdftf�|jtttdftt
dfztz�ttdftt
dftf�|jttttdftt
dftf�ttdftt
dftf�|jttdfttdfztzttdftz�|jtttdfttdftftttdftf�|jtt
ttifzttt
�fztz�t
ttifttt
�ftf�|jttt
ttifttt
�ftf�t
ttifttt
�ftf�|jtt
ttifztt
ifztz�t
ttiftt
iftf�|jttt
ttiftt
iftf�t
ttiftt
iftf�|jtttdft
ztt
ifztz�ttdft
tt
iftf�|jttttdft
tt
iftf�ttdft
tt
iftf�ddl}|jGd�d��}|dd�}|jttt|fdz�tt|ftjf�|jtttt|fdf�tt|ftjf�|jtttt|f�tt|ftjf�|jttifttifztzttiftz�|jttifttifztztttifz�|jtttifttiftftttiftf�|jtttifttiftfttttiff�y)Nrnr�rc�"�eZdZUeed<eed<y)�>AnnotatedTests.test_deduplicate_from_union.<locals>.ValueRange�lor=Nr�rkr^r\�
ValueRangerF� s���G��Gr^rH)r�r-r@r�rr�rY�dataclasses�	dataclassr�r�	r)rWrIrHr�s    r\�test_deduplicate_from_unionz*AnnotatedTests.test_deduplicate_from_union� s������)�C��F�"3�c�"9�:�#�C��F�+�S�1�	3�����%�	�#�q�&�(9�3�(>�"?�@�#�C��F�+�S�1�	3�����)�C��F�"3�i��Q��6G�"G�#�"M�N�#�C��F�+�Y�s�A�v�->��D�	F�����%�	�#�q�&�(9�9�S�!�V�;L�c�(Q�"R�S�#�C��F�+�Y�s�A�v�->��D�	F�����)�C��F�"3�i��Q��6G�"G�#�"M�N�#�C��F�+�Y�s�A�v�->��D�	F�����%�	�#�q�&�(9�9�S�!�V�;L�c�(Q�"R�S�#�C��F�+�Y�s�A�v�->��D�	F�	
����3��6�*�Y�s�A�v�->�>��D�"�3��6�*�S�0�	2�����y��a��0�)�C��F�2C�S�H�I��y��a��0�#�5�6�	8�	
����#�	�#�r�'�(:�":�Y�s�C�E�z�=R�"R�UX�"X�Y��y��b��1�9�S�#�%�Z�3H�#�N�	P�����%��Y�s�B�w�-?��3�PS�PU�:�AV�X[�([�"\�]��y��b��1�9�S�#�%�Z�3H�#�N�	P�����#�	�#�r�'�(:�":�Y�s�B�w�=O�"O�RU�"U�V��y��b��1�9�S�"�W�3E�s�K�	M�����%��Y�s�B�w�-?��3�PR�7�AS�UX�(X�"Y�Z��y��b��1�9�S�"�W�3E�s�K�	M�	
����)�C��F�"3�c�"9�I�c�2�g�<N�"N�QT�"T�U�#�C��F�+�S�)�C��G�2D�c�J�	L�����%�	�#�q�&�(9�3�	�#�r�'�@R�TW�(W�"X�Y�#�C��F�+�S�)�C��G�2D�c�J�	L�	�	�	�	�	�	�
�	�
�q�!�������)�C��F�"3�d�":�;�#�C��F�+�U�^�^�<�	>�����%�	�#�q�&�(9�4�(?�"@�A�#�C��F�+�U�^�^�<�	>�����(�9�S�!�V�+<�"=�>�#�C��F�+�U�^�^�<�	>�	
����3��7�+�i��R��.@�@�3�F�"�3��7�+�c�1�	3�����3��7�+�i��R��.@�@�3�F��y��b��1�1�	3�����y��b��1�9�S�"�W�3E�s�J�K��y��b��1�3�6�7�	9�����y��b��1�9�S�"�W�3E�s�J�K��s�I�c�2�g�$6�6�7�	9r^c	�j�ttdftzttifztz}tjt|��D]G}|j
|��5|j|ttj|��ddd��Itttdftttiftf}tjt|��D]6}|j
|��5|j|t|�ddd��8y#1swY��xYw#1swY�OxYw)Nrnr�)r@r�r�r��permutationsr-rur�r�operator�or_r)rW�expr1r��expr2s    r\�test_order_in_unionz"AnnotatedTests.test_order_in_union� s����#�q�&�!�C�'�)�C��G�*<�<�s�B���*�*�8�E�?�;�D����4��(�� � ���x�|�|�T�(B�C�)�(�<��i��Q��'��i��R��.@�#�E�F���*�*�8�E�?�;�D����4��(�� � ���d��4�)�(�<�	)�(��
)�(�s�!+D�8D)�D&	�)D2	c�0�tttdf}tttdf}|j	|ttttdf�|j	|tj
d�|j	|tjtt�|jt�5|tddd�|jt�5|ttfddd�y#1swY�7xYw#1swYyxYw)N�
my decoration)rT)
r@rrr�r�rBr�r�r�r{)rWr��LIs   r\�test_specializezAnnotatedTests.test_specialize� s����d�1�g��.�/��
�t�C�y�/�1�
2������3���4��9�o�+E�!F�G�����3��,�,�.@�A�����3��*�*�D��I�6�
�
�
�y�
)��s�G�*�
�
�
�y�
)�
�c�5�j�M�*�
)�*�
)��
)�
)�s�
D�'D�D	�Dc	�p�|jtttddfttddfh�d�|j	ttddfttddf�|j	ttddftt
ddf�|j	ttdfttddf�|jttddfttddfttddfhttddfttddfh�ttgf}|jt�5t|�ddd�Gd�d�}tt|�f}|jt�5t|�ddd�y#1swY�QxYw#1swYyxYw)NrUrVrnc��eZdZdZy)�&AnnotatedTests.test_hash_eq.<locals>.ANr�rkr^r\r�rY!r�r^r�)
r�rr@r�r�r�rr�r�r�)rW�a1r��a2s    r\�test_hash_eqzAnnotatedTests.test_hash_eq!sl������i��Q��	�2�I�c�1�a�i�4H�I�J�A�N����I�c�1�a�i�0�)�C��A�I�2F�G����I�c�1�a�i�0�)�C��A�I�2F�G����I�c�1�f�-�y��a���/C�D����
�s�A�q�y�
!�9�S�!�Q�Y�#7��1�a��7�9K�L�
�s�A�q�y�
!�9�Q��1�W�#5�6�	
�
�s�B�w�
��
�
�
�y�
)���H�*�	�	�
�s�A�C�x�
 ��
�
�
�y�
)���H�*�
)�
*�
)��*�
)�s�F �F,� F)�,F5c���G�fd�d��t�df}|d�}�d�}|j||�|j|j|j�|j|j|j�y)Nc�"��eZdZdZd�Z�fd�Zy)�*AnnotatedTests.test_instantiate.<locals>.CrUc��||_yrbr�r�s  r\r�z3AnnotatedTests.test_instantiate.<locals>.C.__init__!r�r^c�Z��t|��stS|j|jk(Srb)r��NotImplementedr�)rWrcrBs  �r\�__eq__z1AnnotatedTests.test_instantiate.<locals>.C.__eq__!s&���!�%��+�)�)��w�w�$�&�&�(�(r^N)rhrirj�classvarr�rcr�s�r\rBr_!s����H�
�
)r^rB�a decorationrV)r@r�r�rd)rWr�rrrBs    @r\�test_instantiatezAnnotatedTests.test_instantiate!sp���		)�		)�
�a��'�(��
�a�D��
�a�D������A��������a�c�c�"�������Q�Z�Z�0r^c���ttjtdf}|j	|gd��ddd��|j	|t
gd��ddd��y)NrT)rUrUrVr�rnrT)r@rcr�
rr�r�)rW�MyCounts  r\�test_instantiate_genericz'AnnotatedTests.test_instantiate_generic*!sR���F�N�N�1�-��>�?�������+��q�\�:��������i�0�a�A�,�?r^c�\�Gd�d�}t|df}|j|�|�y)Nc��eZdZd�Zy)�4AnnotatedTests.test_instantiate_immutable.<locals>.Cc��td��)Nzshould be ignored)r�r�s   r\r�z@AnnotatedTests.test_instantiate_immutable.<locals>.C.__setattr__1!s��� 3�4�4r^N)rhrirjr�rkr^r\rBrl0!s��
5r^rBre)r@r��rWrBr�s   r\�test_instantiate_immutablez)AnnotatedTests.test_instantiate_immutable/!s1��	5�	5�
�a��'�(��	
���a�c�1�%r^c�z�td}|jt�5|d�ddd�y#1swYyxYw)N)r��rVr�rV)r@r�r�r�s  r\�test_cannot_instantiate_forwardz.AnnotatedTests.test_cannot_instantiate_forward:!s-���m�$��
�
�
�y�
)�
�a�D�*�
)�
)�s�	1�:c��ttdf}|jt�5|d�ddd�y#1swYyxYw)NrqrV)r@rr�r�r�s  r\� test_cannot_instantiate_type_varz/AnnotatedTests.test_cannot_instantiate_type_var?!s1���a��i� ��
�
�
�y�
)�
�a�D�*�
)�
)�s	�	7�Ac��|jt�5ttdfjddd�y#1swYyxYw)N)rVr)r�rr@rr�r�s r\�test_cannot_getattr_typevarz*AnnotatedTests.test_cannot_getattr_typevarD!s.��
�
�
�~�
.��a��i� �"�"�/�
.�
.��	�9�Ac��Gd�d�}t|df}|j|jd�d|_|j|jd�y)Nc��eZdZdZy)�/AnnotatedTests.test_attr_passthrough.<locals>.CrUN)rhrirjrdrkr^r\rBrzI!s���Hr^rBrerUrV)r@r�rdr�rns   r\�test_attr_passthroughz$AnnotatedTests.test_attr_passthroughH!sL��	�	�
�a��'�(��������Q�'����������a� r^c���Gd�d�}|jt|t��dtt�|jt|t��dt
t�y)Nc�J�eZdZUdZeeedfed<dZee	edfed<y)�7AnnotatedTests.test_special_form_containment.<locals>.CrUrerdr8
r�N)
rhrirjrdr@r$r�r�r�r%rkr^r\rBr~R!s2��AB�H�i���
�~� =�>�B�45�E�9�U�3�Z��0�1�5r^rBrdr�)r�r+rr$r�r%r$s  r\�test_special_form_containmentz,AnnotatedTests.test_special_form_containmentQ!sR��	6�	6�	
�����7�9�5�j�A�8�C�=�Q������7�9�5�g�>��c�
�Kr^c�x�|jtd�5Gd�dt�}ddd�y#1swYyxYw)NzCannot subclass .*Annotatedc��eZdZy)�.AnnotatedTests.test_cannot_subclass.<locals>.CNr|rkr^r\rBr�[!r�r^rBr>r$s  r\r�z#AnnotatedTests.test_cannot_subclassY!s,��
�
#�
#�I�/L�
M�
�I�
�N�
M�
M�r`
c��|jt�5tdttdf�ddd�y#1swYyxYw)NrV�positive)r�r�r�r@r�r�s r\�test_cannot_check_instancez)AnnotatedTests.test_cannot_check_instance^!s/��
�
�
�y�
)��q�)�C��O�4�5�*�
)�
)�rwc��|jt�5ttttdf�ddd�y#1swYyxYw)Nr�)r�r�rTr�r@r�s r\�test_cannot_check_subclassz)AnnotatedTests.test_cannot_check_subclassb!s/��
�
�
�y�
)��s�I�c�:�o�6�7�*�
)�
)�s	�=�Ac�t�|jtd�5ttddd�y#1swYyxYw)Nzat least two arguments)r�r�r@r�r�s r\�test_too_few_type_argsz%AnnotatedTests.test_too_few_type_argsf!s'��
�
#�
#�I�/G�
H��c�N�I�
H�
H�s�.�7c���tjtjttftj
tttdftjtgtfg}|D]�}t|df}ttjdz�D][}|j||��5tj||�}tj|�}|j!||�ddd��]��Gd�dt"t$�att&tdf}d|_d	|_ttjdz�D]�}tj||�}	tj|	�}|j!|j(d�|j!|j*d	�|j!|j,d���y#1swY��ExYw)
N.rrn)�protocolr�c��eZdZdZy)�_Annotated_test_GrnNr{rkr^r\r�r�z!r�r^r�zA decorationr�r)rcr
rr�r�rrr"r�r@rrrsrtrurvrur�r#rr�rkr*r�)
rWr"r�r��protr��restoredr�rqrRs
          r\r$zAnnotatedTests.test_picklej!sr���:�:�v�|�|�C��H�5��?�?�3�'��s�C�x���?�?�C�5�%�<�0�2���A��!�S�&�!�A��f�5�5��9�:���\�\�4�a�\�8�$�l�l�1�d�3�G�%�|�|�G�4�H��$�$�Q��1�9�8�;��	���
�	�
�'��,�n�<�=���������6�2�2�Q�6�7�E����Q��&�A����Q��A����Q�U�U�B�'����Q�U�U�E�*����Q�S�S�!�$�8�9�8�s�1>G�G c�V�d}d}tt|f}|j|ttt|f�|j|tt|ftt||f�ttt|f}|j|tttt|f�|jt�5|ttfddd�|j||tttt||f�ttjttf|f}|j|ttfttjttf|f�|jt�5|tddd�tt|f}|jt�5|dddd�|t}|jt�5|dddd�y#1swY��*xYw#1swY�uxYw#1swY�OxYw#1swYyxYw)Nrezanother decoration)r@rr�r�rr�r�rcr rrr�)rWr��dec2r�r�rE�ItrUs        r\�
test_substzAnnotatedTests.test_subst�!s�����#���a��g�������3���3��9�!5�6�����9�S�#�X�.�/��3��T�>�1J�K��d�1�g�s�l�#������3���4��9�c�>�!:�;�
�
�
�y�
)�
�c�3�h�K�*�	
����1�S�6��I�d�3�i��d�.B�$C�D��f�k�k�"�b�&�)�3�.�/������3��8��i����C��H�0E�s�0J�&K�L�
�
�
�y�
)�
�c�F�*��s�C�x�
 ��
�
�
�y�
)��t�H�*��s�V��
�
�
�y�
)��t�H�*�
)�*�
)��*�
)��*�
)��*�
)�s0�G:�	
H�?H�+H�:H�H�H�H(c��d}td�}td�}td�}td�}ttg|��|f}|j	|t
ttt
|f�|j	|tt
ftttt
f|f�|jt�5tg|�|��ddd�ttt||f}|j	|t
ttt
|f�|j	|tt
ftttt
f|f�|jt�5tt||fddd�tt|g|��|f}|j	|t
ttt
|f�|j	|t
tfttt
tf|f�|j	|t
ttfttt
ttf|f�|jt�5|dddd�tt|t|f|f}	|j	|	t
ttt
|f�|j	|	t
tfttt
tf|f�|j	|	t
ttfttt
ttf|f�|jt�5|	dddd�ttg|�|��|f}
|j	|
t
ttt
|f�|j	|
t
tfttt
tf|f�|j	|
t
ttfttt
ttf|f�|jt�5|
dddd�ttt||f|f}|j	|t
ttt
|f�|j	|t
tfttt
tf|f�|j	|t
ttfttt
ttf|f�|jt�5|dddd�tt|g|�|��|f}|j	|t
tfttt
tf|f�|j	|t
ttfttt
ttf|f�|j	|t
tttfttt
tttf|f�|jt�5|t
ddd�tt|t||f|f}
|j	|
t
tfttt
tf|f�|j	|
t
ttfttt
ttf|f�|j	|
t
tttfttt
tttf|f�|jt�5|
t
ddd�td�}td�}td	�}||g|�|��}||t||f}|tt|g|�|��|ff|tt|t||f|ff|t
tfttt
tf|ff|t
tfttt
tf|ff|t
ttfttt
ttf|ff|t
ttfttt
ttf|ff|t
tttfttt
tttf|ff|t
tttfttt
tttf|fffD]\}}|j	||��|jt�5|t
ddd�|jt�5|t
ddd�y#1swY��txYw#1swY���xYw#1swY���xYw#1swY��#xYw#1swY��MxYw#1swY��sxYw#1swY��xxYw#1swY��yxYw#1swY��xYw#1swYyxYw)
Nrer�rr"r#rkrr4�T4)
rrr@r�r�r�r�r�r�rrr{r,)rWr�r�rr"r#r�r�rBrEr�r�r�r�rr4r�r�r�r�r�s                     r\�test_typevar_substz!AnnotatedTests.test_typevar_subst�!s�����
�$�
���C�L��
�T�]��
�T�]���e�C�R�C�j�#�o�&������3���5��:�s�?�!;�<�����3��8��i��c�3�h���0D�&E�F�
�
�
�y�
)��h�r�h�3�h��*�
�e�F�2�J�'��,�-������3���5��:�s�?�!;�<�����3��8��i��c�3�h���0D�&E�F�
�
�
�y�
)��f�R�j�#�o�&�*�
�e�A�F��F�m�S�(�)������3���5��:�s�?�!;�<�����3��8��i��c�3�h���0D�&E�F����
�c�3��o���e�C��e�O�,�c�1�2�	
��
�
�y�
)�
�b�E�*�
�e�A�v�b�z�M�*�C�/�0������3���5��:�s�?�!;�<�����3��8��i��c�3�h���0D�&E�F����
�c�3��o���e�C��e�O�,�c�1�2�	
��
�
�y�
)�
�b�E�*�
�e�F�R�F��F�m�S�(�)������3���5��:�s�?�!;�<�����3��8��i��c�3�h���0D�&E�F����
�c�3��o���e�C��e�O�,�c�1�2�	
��
�
�y�
)�
�b�E�*�
�e�F�2�J��M�*�C�/�0������3���5��:�s�?�!;�<�����3��8��i��c�3�h���0D�&E�F����
�c�3��o���e�C��e�O�,�c�1�2�	
��
�
�y�
)�
�b�E�*�
�e�B�K��K�R�K�(�#�-�.������3��8��i��c�3�h���0D�&E�F����
�c�3��o���e�C��e�O�,�c�1�2�	
�	
���
�c�3��e�#�$��e�C��d�E�1�2�C�7�8�	
��
�
�y�
)�
�c�F�*�
�e�B��r�
�B�.�/��4�5������3��8��i��c�3�h���0D�&E�F����
�c�3��o���e�C��e�O�,�c�1�2�	
�	
���
�c�3��e�#�$��e�C��d�E�1�2�C�7�8�	
��
�
�y�
)�
�c�F�*�
�5�!��
�T�]��
�T�]��
�b�l�3�l��l�O��
�b�&��+�r�!�"����5���c��2��+>��+C�!D�E�
��5��V�C�[�"�1D�+E�s�+J�!K�L�
�s�C�x�[��5��c��?�C�+?�!@�A�
�s�C�x�[��5��c��?�C�+?�!@�A�
�s�C���
��5��c�5��+A�3�+F�!G�H�
�s�C���
��5��c�5��+A�3�+F�!G�H�
�s�C��u�$�
%�!*�5��c�4��1F�+G��+L�!M�
O�
�s�C��u�$�
%�!*�5��c�4��1F�+G��+L�!M�
O�
�D�A�q�
���Q��"�
��
�
�y�
)�
�c�F�*�
�
�
�y�
)�
�c�F�*�
)�K*�
)��*�
)��*�
)��*�
)��*�
)��*�
)��*�
)��*�
)��6*�
)��
)�
)�sx�?e�*e
�e�e'�#e4�
f�
f�
f�
f(�-
f4�e
�
e�e$�'e1�4e>�f�f�f%�(f1�4f=c��tttdf}|j|ttttdf�y)NrV)rr@rr�r�r�s  r\�test_annotated_in_other_typesz,AnnotatedTests.test_annotated_in_other_types"s6����1�a�4��!������3���i��Q��&7�!8�9r^c��Gd�dttdf�}|j|j|ttfd�y)Nc��eZdZy)�,AnnotatedTests.test_annotated_mro.<locals>.XNr|rkr^r\r�r�"r�r^r�r"
z Annotated should be transparent.)r@r�r�r�r�r�s  r\�test_annotated_mroz!AnnotatedTests.test_annotated_mro"s3��-�	�#�w�,�'�-�������Q��V�$4�;�	=r^c���Gd�dt�}Gd�dt�}tt|d�f}tt|d�f}|jd}|jd}|jt	|�|�|j||d��|jt	|�|�|j||d��|j
t	|�t	|��tt|d�f}tt|d�f}|jd}	|jd}
|jt	|	�|�|j|	|d��|jt	|
�|�|j|
|d��|j
t	|	�t	|
��ttdf}ttd	f}ttd
f}
|jt	|jd�t�|jt	|jd�t�|jt	|
jd�t�y)Nc��eZdZy)�:AnnotatedTests.test_annotated_cached_with_types.<locals>.ANr|rkr^r\r�r�!"r�r^r�c��eZdZy)�:AnnotatedTests.test_annotated_cached_with_types.<locals>.BNr|rkr^r\r�r�""r�r^r�r�rr�rng�?T)
r�r@rBr�r�r�r�	r�r{r,)rWr�r��field_a1�field_a2�a1_metadata�a2_metadata�field_b1�field_b2�b1_metadata�b2_metadata�field_c1�field_c2�field_c3s              r\� test_annotated_cached_with_typesz/AnnotatedTests.test_annotated_cached_with_types "s����������S�!�C�&�[�)���S�!�C�&�[�)���+�+�A�.���+�+�A�.���
�
�d�;�'��+�����a��f�-��
�
�d�;�'��+�����a��f�-�����k�*�D��,=�>��S�!�C�&�[�)���S�!�C�&�[�)���+�+�A�.���+�+�A�.���
�
�d�;�'��+�����a��f�-��
�
�d�;�'��+�����a��f�-�����k�*�D��,=�>��S�!�V�$���S�#�X�&���S�$�Y�'���
�
�d�8�0�0��3�4�c�:��
�
�d�8�0�0��3�4�e�<��
�
�d�8�0�0��3�4�d�;r^N)rhrirjr?r�r^r~rKrRrVr\rfrirorrrtrvr{rr�r�r�r�r$r�r�r�r�r�rkr^r\r<r<� s����
�8�,�99�v	5�	��(1�&@�
	&��
�
#�!�L��
6�8��%�<�:p�d:�=�
 <r^r<c�B�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zy
)�TypeAliasTestsc��t}yrb�r{�rWrs  r\�-test_canonical_usage_with_variable_annotationz<TypeAliasTests.test_canonical_usage_with_variable_annotationD"s��#�r^c��t}yrbr�r�s  r\�&test_canonical_usage_with_type_commentz5TypeAliasTests.test_canonical_usage_with_type_commentG"s���r^c�l�|jt�5t�ddd�y#1swYyxYwrb)r�r�rDr�s r\r�z&TypeAliasTests.test_cannot_instantiateJ"s!��
�
�
�y�
)��K�*�
)�
)�rfc�x�|jt�5tdt�ddd�y#1swYyxYwr�)r�r�r�rDr�s r\rLz!TypeAliasTests.test_no_isinstanceN"s&��
�
�
�y�
)��r�9�%�*�
)�
)�r�c�Z�Gd�d�}|jt|�dti�y)Nc��eZdZUded<y)�/TypeAliasTests.test_stringized_usage.<locals>.ArDrNrsrkr^r\r�r�S"s���Nr^r�r)r�r+rDr�s  r\�test_stringized_usagez$TypeAliasTests.test_stringized_usageR"s&��	�	������*�S�)�,<�=r^c��|jt�5ttt�ddd�|jt�5ttt�ddd�y#1swY�<xYw#1swYyxYwrb)r�r�rTr{rDr�s r\�test_no_issubclassz!TypeAliasTests.test_no_issubclassW"sS��
�
�
�y�
)��x��+�*��
�
�y�
)��y�(�+�*�
)�*�
)��*�
)�s�A&�A2�&A/�2A;c��|jtd�5Gd�dt�}ddd�|jt�5Gd�dt	t��}ddd�y#1swY�@xYw#1swYyxYw)Nz!Cannot subclass typing\.TypeAliasc��eZdZy)�.TypeAliasTests.test_cannot_subclass.<locals>.CNr|rkr^r\rBr�a"r�r^rBc��eZdZy)�.TypeAliasTests.test_cannot_subclass.<locals>.DNr|rkr^r\rEr�e"r�r^rE)r�r�rDr�r�rFs   r\r�z#TypeAliasTests.test_cannot_subclass^"sb��
�
#�
#�I�4�6�
�I�
�6�
�
�
�y�
)�
�D��O�
�*�
)�6�6��
*�
)�s�A&�A2�&A/�2A;c�B�|jtt�d�y)Nztyping.TypeAlias)r�r�rDr�s r\r�zTypeAliasTests.test_reprh"s������i��*<�=r^c�r�|jt�5ttddd�y#1swYyxYwrb)r�r�rDr�r�s r\r=z$TypeAliasTests.test_cannot_subscriptk"s#��
�
�
�y�
)��c�N�*�
)�
)�r>N)rhrirjr�r�r�rLr�r�r�r�r=rkr^r\r�r�C"s/��$���&�>�
,��>�r^r�c�f�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zy)�ParamSpecTestsc���td�}|j||�|j|t�|j|jd�|j|jt�y)Nr�)rEr�r�rhrirns  r\rxzParamSpecTests.test_basic_plainr"sS���c�N������A�����a��+�������S�)�������x�0r^c���i}td||�|d}|j|t�|j|jd�|j|jd�y)Nz0from typing import ParamSpec; P = ParamSpec("P")r�)rzr�rEr�rhr�ri)rWr|r�s   r\r}z#ParamSpecTests.test_basic_with_execy"sS��
���
?��R�H��s�G�����a��+�������S�)��
�
�a�l�l�D�)r^c���td�}td�}t|tf}|j	|j
|tf�|j	|j|f�t||f}|j	|j
||f�|j	|j||f�tjj|tf}|j	|j
|tf�|j	|j|f�tjj||f}|j	|j
||f�|j	|j||f�y�Nr�r)	rErr"r�r�r�r�rr�rWr�rr&r'r(r)s       r\�test_valid_useszParamSpecTests.test_valid_uses�"s#���c�N���C�L��
�a��f�
��������q�#�h�/�����*�*�Q�D�1�
�a��d�^��������q�!�f�-�����*�*�Q��F�3�
�_�_�
%�
%�a��f�
-��������q�#�h�/�����*�*�Q�D�1�
�_�_�
%�
%�a��d�
+��������q�!�f�-�����*�*�Q��F�3r^c�\�td�}td�}|jdt|��|jdt|��|j|jt
�|j|jt�|j|jj|�|j|jj|�|j|j|j�|j|j|j�|j|j|j�|j|j|j�|j|j|j�|j|j|j�|j|j|j�|jt|j�d�|jt|j�d�y)Nr��P_2r�r��P.args�P.kwargs)
rEr[rZr�r�rGr�rHr�r�r�r�r�)rWr�r�s   r\�test_args_kwargszParamSpecTests.test_args_kwargs�"si���c�N�������
�
�f�c�!�f�%��
�
�h��A��'����a�f�f�m�4����a�h�h��8��
�
�a�f�f�'�'��+��
�
�a�h�h�)�)�1�-����������(�������1�8�8�,����A�F�F�C�H�H�-����A�H�H�c�j�j�1����A�F�F�A�H�H�-����A�H�H�a�f�f�-����A�F�F�C�J�J�/�����a�f�f��x�0�����a�h�h���4r^c�R�td�}Gd�dt|�}|jt|t	�t��dt|tfi�|jt|jt	�t��|j|jd��y)Nr�c�*�eZdZUedefed<dd�Zy)�)ParamSpecTests.test_stringized.<locals>.Cr�r�
c��yrbrkr�s   r\rkz-ParamSpecTests.test_stringized.<locals>.C.foo�"r�r^N)r�r�r�r�)rhrirjr"r�r�rkrkr^r\rBr��"s���3��8�$�$�
r^rBr�
r0)rEr#r�rrrr"r�rkr�r�r~s   r\�test_stringizedzParamSpecTests.test_stringized�"sy���c�N��	���
�	�
	
����Q��	�6�8�4�v�x��3��?O�6P�Q��������w�y�&�(�+�a�f�f����-Q�	
r^c�$���td��td��td�}G��fd�dt��f�}|t|f}|j	|j
t|f�|j	|j|f�|jtd�5|tddd�|jtd�5|t|tfddd�|ttt|ff}|j	|j
ttt|ff�|j	|j|f�|tttgf}|j	|j
tttff�|j	|jd�|td	f}|j	|j
ttf�|j	|jd�G�fd
�dt��}|tttg}|j	|j
tttff�|j	|jd�|tttf}	|j	|	j
tttff�|j	|	jd�|j	|j
|	j
�|j	|j|	j�|j	|j|	j�|j	||	�|t}
|j	|
j
tff�|j	|
jd�|jtd�5|ttgtfddd�|jtd�5||tfddd�y#1swY��=xYw#1swY��xYw#1swY�NxYw#1swYyxYw)Nrr�r�c�2��eZdZUeW�efed<W�ed<y)�,ParamSpecTests.test_user_generics.<locals>.Xrfr�N�rhrirjr"r�r�)r�rs��r\r�r��"s�����3�����Dr^r�rCrBrk.c�&��eZdZUeW�efed<y)�,ParamSpecTests.test_user_generics.<locals>.ZrfNr�)r�s�r\r�r��"s�����3���r^r�)rrEr#r�r�r�r�r�r�r�rFr,rO	r�)
rWr�r�r�r��G3�G4r��G5�G6�G7r�rs
           @@r\�test_user_genericsz!ParamSpecTests.test_user_generics�"s+����C�L���c�N������	���1��
�	��s�C�x�[��������s�C�j�1�����*�*�S�F�3�
�
#�
#�I�/B�
C�
�c�F�D�
�
#�
#�I�/C�
D�
�c�3��m��E��s�K��S��)�)�
*��������s�K��S��,A�&B�C�����*�*�S�F�3�
�s�S�$�K��
 ��������s�S�$�K�&8�9�����*�*�B�/�
�s�C�x�[��������s�H�o�6�����*�*�B�/�	 ���
�	 ���S�$��
 ���������S�$�'7�&9�:�����*�*�B�/�
�s�C��~�
���������S�$�'7�&9�:�����*�*�B�/�	
������b�k�k�2��������
�
�6�����*�*�B�,=�,=�>�����R� �
�s�V���������v�i�0�����*�*�B�/�
�
#�
#�I�/C�
D�
�s�C�j�$���E�
�
#�
#�I�/C�
D�
�c�4�i�L�E�
D�QD�
C��
D�
D��HE�
D��
D�
D�s0�
O �O-�O:�P� O*�-O7�:P�Pc����td��td��G��fd�dt��f�}|ttgtgf}|tgttgf}|j||�|j
|jttftff�|j
|jtfttff�y)Nr�r8c�<��eZdZUeW�efed<eW�efed<y)�CParamSpecTests.test_multiple_paramspecs_in_user_generics.<locals>.XrfrN)rhrirjr"r�r�r�)r�r8s��r\r�r��"s!�����3������C�� � r^r�)rEr#r�r�r�r�r�r�)rWr�r�r�r�r8s    @@r\�)test_multiple_paramspecs_in_user_genericsz8ParamSpecTests.test_multiple_paramspecs_in_user_generics�"s�����c�N��
�t�_��	!���2���	!���S�z�E�7�"�
#��
��u�s�E�l�"�
#�����B��#��������S�z�E�8�&<�=��������v��U�|�&<�=r^c�l���td��td��G��fd�dtg������}|ttgf}|j|jttff�|tttgf}|j|jtttff�|tg}|j|jtff�|g}|j|jd�|jt�5|dddd�G��fd�dt�g����}|tgtf}|j|jtftf�|tgttf}|j|jtfttf�|tg}|j|jtff�|g}|j|jd�|jt�5|dddd�y#1swY��xYw#1swYyxYw)	Nr�r�c�>��eZdZUeW�efed<egW���ed<y)�KParamSpecTests.test_typevartuple_and_paramspecs_in_user_generics.<locals>.XrfrN�rhrirjr"r�r�r�r�r�s��r\r�r��"������3�����S�b�S�z�Mr^r�)rkrkc�>��eZdZUeW�efed<egW���ed<y)�KParamSpecTests.test_typevartuple_and_paramspecs_in_user_generics.<locals>.YrfrNr�r�s��r\r�r�#r�r^r�)
rrEr#r�r�r�r�r�r�r�)	rWr�r�r�r�r�r�r�r�s	       @@r\�1test_typevartuple_and_paramspecs_in_user_genericsz@ParamSpecTests.test_typevartuple_and_paramspecs_in_user_generics�"s����
�$�
���c�N��	�����Q���	��s�U�G�|�_��������s�U�H�o�6�
�s�C�%�� �
!��������s�C�%��&:�;�
��w�Z���������x�k�2�
�r�U��������e�,�
�
�
�y�
)�
�b�E�*�	����B���	���w��|�_���������x��o�6�
��w��S� �
!���������x��c�&:�;�
��w�Z���������x�k�2�
�r�U��������e�,�
�
�
�y�
)�
�b�E�*�
)�*�
)��*�
)�s�
H�H*�H'�*H3c
��td�}td�}td�}ttj
jfD]�}|j
|��5||tg|��f}|ttgttf}|j|jtttttff�ddd���Gd�dt||f�}|tg|��|f}|ttttgf}|j|jtttfttff�Gd�dt||f�}||tg|��f}|ttgttf}|j|jttftttff�y#1swY��~xYw)	Nr�rr�)rc��eZdZy)�MParamSpecTests.test_typevartuple_and_paramspecs_in_generic_aliases.<locals>.XNr|rkr^r\r�r�"#r�r^r�c��eZdZy)�MParamSpecTests.test_typevartuple_and_paramspecs_in_generic_aliases.<locals>.YNr|rkr^r\r�r�)#r�r^r�)rErrr"rrrurr�r�r�r{r�r�r#)	rWr�rr�rBr�r�r�r�s	         r\�3test_typevartuple_and_paramspecs_in_generic_aliaseszBParamSpecTests.test_typevartuple_and_paramspecs_in_generic_aliases#ss���c�N���C�L��
�$�
���;�?�?�3�3�3�A����a��(��a��s��s��m�$���s�C�j�%��.�/��� � ����c�3��e�U�l�8K�-L�M�)�(�4�	���1��
�	�
�e�C�R�C�j�!�m���
�e�U�S�#�J�&�'��������e�E�5�L�&9�C��;�%G�H�	���1��
�	�
�a��s��s��m���
�s�C�j�%��&�'��������s�C�k�5����3F�%G�H�#)�(�s
�A$F6�6G	c���td�}|j}|j|ttf�ttf�|j|ttg�ttf�|j|dg�td�f�|j
|d�d�|j
||�|�|j|tt|f�tt|f�y)Nr�.)rEr�r�r�r�r�r�rF)rWr�r�s   r\r�z$ParamSpecTests.test_var_substitution0#s����c�N���"�"�������S�z�*�S�#�J�7������S�z�*�S�#�J�7������v���d��
�6��
�
�e�C�j�#�&��
�
�e�A�h��"�����{�3��6�2�3�[��a��5H�Ir^c��td�}td�}dtd|ttztttff}|D]�}|j|��5|j
t�5|j|�ddd�|j
t�5tj||f|tfddd�|j
t�5tjj||f|tfddd�ddd���y#1swY��xYw#1swY�fxYw#1swY�,xYw#1swY��xYw)Nrr�r�r�)
rrEr�r�rrur�r�r�rcr"rr)rWrr�r�r�s     r\r�z(ParamSpecTests.test_bad_var_substitution:#s����C�L���c�N����T�1�c�#�g�u�S�#�X��?���C����#��&��&�&�y�1��&�&�s�+�2��&�&�y�1��O�O�A�q�D�)�#�s�(�3�2��&�&�y�1��O�O�,�,�Q��T�2�3��8�<�2�'�&��1�1��1�1��1�1��'�&�sT�D7�,D�>D7�D�:D7�)D+�D7�D�D7�D(�$D7�+D4�0D7�7E	c��td�}td�}td�}td�}td�}Gd�dt|�}||}|j	|j
|f�|j	|j|ff�|j	|t|t�||g}|j	|j
|f�|j	|j|ff�|j	|t|t�|t|g}	|j	|	j
|f�|j	|	jt|ff�|j	|	t|ttg�||t|g}
|j	|
j
||f�|j	|
j|t|ff�|j	|
ttf|tttg�|g|�t�}|j	|j
|f�|j	|jg|�t��f�|j	|ttf|tttg�|tg|�}|j	|j
|f�|j	|jtg|��f�|j	|ttf|tttg�||g|�}
|j	|
j
||f�|j	|
j|g|��f�|j	|
tttf|tttg�|||g}|j	|j
|f�|j	|j||ff�|j	|t|ttg�||t|g}|j	|j
|f�|j	|j|t|ff�|j	|t|tttg�|tg|��g|�}|j	|j
|f�|j	|jtg|��g|��f�|j	|ttf|tttfttf�||}|j	|j
|f�|j	|j|f�|j	|ttg|ttg�Gd�d	t||f�}|||f}|j	|j
||f�|j	|j||f�|j	|ttgtgf|ttgtgf�|j	|ggf|ggf�|ttg|f}|j	|j
|f�|j	|jttf|f�|j	|ttg|ttgttgf�|j	|g|ttggf�||ttgf}|j	|j
|f�|j	|j|ttff�|j	|ttg|ttgttgf�|j	|g|gttgf�||tgt|gf}|j	|j
||f�|j	|j|tft|ff�|j	|ttf|ttgttgf�|g|�t�t|gf}|j	|j
||f�|j	|jg|�t��t|ff�|j	|tttf|tttgttgf�||tgtg|�f}|j	|j
||f�|j	|j|tftg|��f�|j	|tttf|ttgtttgf�Gd
�dt||f�}|||f}|j	|j
||f�|j	|j||f�|j	|ttgtf|ttgtf�|t|g|f}|j	|j
|f�|j	|jt|f|f�|j	|t|ttgtf�|tg|�|f}|j	|j
||f�|j	|jtg|��|f�|j	|tttf|tttgtf�y)Nrr#r�r8r�c��eZdZy)�DParamSpecTests.test_type_var_subst_for_other_type_vars.<locals>.BaseNr|rkr^r\r_	r�N#r�r^r_	c��eZdZy)�GParamSpecTests.test_type_var_subst_for_other_type_vars.<locals>.DoublePNr|rkr^r\�DoublePr��#r�r^r�c��eZdZy)�EParamSpecTests.test_type_var_subst_for_other_type_vars.<locals>.PandTNr|rkr^r\�PandTr��#r�r^r)rrErr#r�r�r�r�r�r,r�rr{r�)rWrr#r�r8r�r_	�A1r��A3�A4�A5�A5_2�A6�A7�A8�A9�A10r��B1�B2�B3�B4�B5�B6rr&r'r(s                             r\�'test_type_var_subst_for_other_type_varsz6ParamSpecTests.test_type_var_subst_for_other_type_varsG#sS	���C�L��
�T�]���c�N��
�t�_��
�$�
��	�7�1�:�	��!�W������*�*�Q�D�1��������t�g�.�����C��$�s�)�,�
�1�#�Y������*�*�Q�D�1��������t�g�.�����C��$�s�)�,�
�3��(�^������*�*�Q�D�1��������Q�x�k�2�����C��$��S�z�"2�3�
�1�c�2�,�
������*�*�Q��G�4��������3��|�o�6�����C��I���c�3��-=�(>�?�
�*�B�*��*�
������*�*�R�E�2�������z��z�S�z�m�4�����C��I���c�4��-=�(>�?��S�J�2�J�������,�,�r�e�4�������#����
�6�����c�4�i��$��S�$�/?�*@�A�
�1�(�r�(�^������*�*�Q��G�4��������x�B�x�k�2�����C��d�N�+�T�3��T�2B�-C�D�
�1�a�&�\������*�*�Q�D�1��������1�v�i�0�����C��$��S�z�"2�3�
�1�d�1�g�,�
������*�*�Q�D�1��������4��7�|�o�6�����C��$��T�#�Y�'7�"8�9�
�5��"��:�#��#�
$������*�*�R�E�2��������c�r�c�
�'8�R�'8�&:�;�����C��H��t�E�#�s�(�O�S�#�,E�'F�G��2�h������+�+�b�U�3��������u�-�����c�3�Z��$��S�z�*:�;�	�g�a��e�n�	��Q��U�^������*�*�Q��G�4�������q�"�g�.�����S�#�J���.�/��#���t�f�9L�1M�N�����B��F��W�R��V�_�5�
�c�3�Z��^�
$������*�*�R�E�2��������S�z�2�&6�7�����T�4�L�)�7�C�#�;��t��3L�+M�N�����B���#���b��!9�:�
�Q��t��_�
%������*�*�Q�D�1�������q�4��,�&7�8�����S�#�J���#���t�T�l�1J�)K�L�����B����d�D�\�)9�!:�;�
�a��X��b�z�)�
*������*�*�Q��G�4��������3�x�$���&<�=�����C��J���#�s��d�E�]�1J�)K�L�
�Z�r�Z�3�Z�$���+�
,������*�*�R��H�5�������z��z�S�z�D�"�:�&>�?�����C���-�.� �#�u�c�!2�T�5�M�!A�B�	D��a��X��{�r�{�*�
+������*�*�Q��G�4��������3�x�$����&=�>�����C���-�.� �#�s��d�E�5�-A�!A�B�	D�	�G�A�q�D�M�	��1�a�4�[������*�*�Q��F�3�������q�!�f�-�����S�#�J��,�-�u�c�3�Z��5E�/F�G�
�C��8�Q�;�
������*�*�Q�D�1��������Q�x��m�4�����C��%��c�
�C��"8�9�
�C�:�"�:�q�=�
!������*�*�R��G�4��������z�b�z�1�o�6�����C��u�,�-�u�c�3��5E�u�5L�/M�Nr^c��td�}td�}t||f}t|}t|}t|t
z}|j
|j||f�|j
|j||f�|j
|j||f�tt
tgtf}|j
|t
tgtft|�|j
|t
tgtft|�|j
|t
tgtft|t
z�y)Nrr�)
rrEr"rr�r�r�r�r�r{)rWrr�r&r�r�r�rBs        r\�!test_paramspec_in_nested_genericsz0ParamSpecTests.test_paramspec_in_nested_generics�#s
��
�C�L���c�N��
�a��d�^��
�"�X��
�"�X��
�"�X��^������*�*�Q��F�3�����*�*�Q��F�3�����*�*�Q��F�3��c�3�Z��&�'������S�#�J��-�.��Q��8�����S�#�J��-�.��Q��8�����S�#�J��-�.��Q��#�
�>r^c�x�td�}td�}t|tf}|j|j|f�|j||j|f�|j|t
jd�|j|t
tfjtf�|j|tt
|fj|f�|j|tt|fjt|f�|j|djd�ttt
|ftf}|j|j|f�|j||j|f�|j|t
jd�|j|t
tfjtf�|j|tt
|fj|f�|j|tt|fjt|f�y)Nr�r8rk.)rEr"r�r�r�r�rrF)rWr�r8r&r's     r\�test_paramspec_gets_copiedz)ParamSpecTests.test_paramspec_gets_copied�#s����c�N��
�t�_��
�a��f�
������*�*�Q�D�1�����B��.�.���6�����C��/�/��4�����C��F��2�2�Q�D�9�����K��R��0�1�@�@�2�%�H�����K��2��.�/�>�>��B��H�����C��/�/��4�
�k�#�q�&�)�3�.�
/������*�*�Q�D�1�����B��.�.���6�����C��/�/��4�����C��F��2�2�Q�D�9�����K��R��0�1�@�@�2�%�H�����K��2��.�/�>�>��B��Hr^c�8�|jttdz�5Gd�dt�}ddd�|jttdz�5Gd�dt�}ddd�|jttdz�5Gd�d	t
�}ddd�td
�}|jttdz�5Gd�d|�}ddd�|jttdz�5Gd
�d|j�}ddd�|jttdz�5Gd�d|j�}ddd�y#1swY��'xYw#1swY��xYw#1swY��xYw#1swY��xYw#1swY�vxYw#1swYyxYw)NrEc��eZdZy)�.ParamSpecTests.test_cannot_subclass.<locals>.CNr|rkr^r\rBr�#r�r^rBrGc��eZdZy)�.ParamSpecTests.test_cannot_subclass.<locals>.DNr|rkr^r\rEr�#r�r^rErHc��eZdZy)�.ParamSpecTests.test_cannot_subclass.<locals>.ENr|rkr^r\r�r�#r�r^r�r�c��eZdZy)�.ParamSpecTests.test_cannot_subclass.<locals>.FNr|rkr^r\r�r�#r�r^r�c��eZdZy)�.ParamSpecTests.test_cannot_subclass.<locals>.GNr|rkr^r\r�r �#r�r^r�c��eZdZy)�.ParamSpecTests.test_cannot_subclass.<locals>.HNr|rkr^r\r�r"�#r�r^r�)	r�r�r�rErGrHr�r�r�)rWrBrEr�r�r�r�r�s        r\r�z#ParamSpecTests.test_cannot_subclass�#s/��
�
#�
#�I���/L�
M�$�I�$�N�
�
#�
#�I���/P�
Q�(�M�(�R�
�
#�
#�I��AR�/R�
S�*�O�*�T��c�N��
�
#�
#�I�(�;�6�8��A��8��
#�
#�I�(�?�:�<�!�A�F�F�!�<��
#�
#�I�(�+<�<�>�#�A�H�H�#�>�>�N�
M��
Q�
Q��
S�
S��8�8��<�<��>�>�sG�E�E �E,�E8�9F�4F�E� E)�,E5�8F�F
�FN)rhrirjrxr}r�r�r�r�r�r�r�r�r�rrrr�rkr^r\r�r�p"sU��1�*�4�"5�&

�4�l>� �DI�2J�=�wO�r?�$I�*$r^r�c�$�eZdZd�Zd�Zd�Zd�Zy)�ConcatenateTestsc�p�td�}Gd�d�}t||f}|j|t�y)Nr�c��eZdZy)�-ConcatenateTests.test_basics.<locals>.MyClassNr|rkr^r\r\
r'�#r�r^r\
)rErFr�)rWr�r\
rs    r\r9zConcatenateTests.test_basics�#s/���c�N�������
�#�����A�{�+r^c���td�}tttt|f��}dD]/}|j|��5|j
||�ddd��1y#1swY�<xYw)Nr�rVrW)rErYrZrFr�rur[)rWr�r]rXs    r\r^zConcatenateTests.test_dir$s^���c�N����K��Q��/�0�1�	�
�M����M��:��
�
�m�Y�7�;�:�
�;�:�s�A"�"A+	c��td�}td�}ttt|ftf}|j|jtt|ftf�|j|j|f�ttt||f|f}|j|jtt||f|f�|j|j||f�tjjtt|ftf}|j|jtt|ftf�|j|j|f�tjjtt||f|f}|j|jtt||f|f�|j|j||f�yr�)
rErr"rFr�r�r�r�rrr�s       r\r�z ConcatenateTests.test_valid_uses
$s~���c�N���C�L��
�k�#�q�&�)�3�.�
/��������{�3��6�':�C�&@�A�����*�*�Q�D�1�
�k�#�q�!�)�,�a�/�
0��������{�3��1�9�'=�q�&A�B�����*�*�Q��F�3��_�_�
%�
%�k�#�q�&�&9�3�&>�
?��������{�3��6�':�C�&@�A�����*�*�Q�D�1�
�_�_�
%�
%�k�#�q�!�)�&<�a�&?�
@��������{�3��1�9�'=�q�&A�B�����*�*�Q��F�3r^c��td�}td�}td�}t||f}|j|t|ftt|f�|j|tt
tgftt
tf�|j|tgftf�|j|ttt
|ffttt
|f�|j|tdfttdf�tt|f}|j||tt|f�|j|t
tgtt
tf�|j|t
tftt
tf�|j|gtf�|j|tt
|fttt
|f�|j|dttdf�y)Nrr�r8.)rrErFr�r�r�r{)rWrr�r8rBs     r\r�z&ConcatenateTests.test_var_substitution$s����C�L���c�N��
�t�_����1��������3��7��[��b��%9�:�����3��e��,�-��S�%�/@�A�����3��7��c�V�,�����3��C��G� 4�4�5�$�S�#�r�\�2�	4�����3��8��k�#�s�(�&;�<���Q��������2���C��G� 4�5�����C��<��3��U�*;�<�����3��:���c�5�(9�:�����2����'�����;�s�B�w�/�0�+�c�3��l�2K�L�����3���S�#�X�!6�7r^N)rhrirjr9r^r�r�rkr^r\r$r$�#s��,�8�4�$8r^r$c�*�eZdZd�Zd�Zd�Zd�Zd�Zy)�TypeGuardTestsc�
�ttdttfd�}|jt|�dtti�|j	t
�5tttfddd�y#1swYyxYw)Nr�c��yrbrkr�s r\rkz'TypeGuardTests.test_basics.<locals>.foo4$r�r^)rIr�r�rr�r�r�r�s  r\r9zTypeGuardTests.test_basics1$sX���#��+�	�#��+�����S��H�i��n�#=�>�
�
�
�y�
)��c�3�h��*�
)�
)�s�A9�9Bc�N�|jtt�d�tt}|jt|�d�tt}|jt|�dt
z�ttt}|jt|�d�y)Nztyping.TypeGuardztyping.TypeGuard[int]ztyping.TypeGuard[%s.Employee]ztyping.TypeGuard[tuple[int]])r�r�rIr�r{rhr�r�
s  r\r�zTypeGuardTests.test_repr:$s|������i��*<�=�
�s�^������b��#:�;�
�x�
 ������b��#B�X�#M�N�
�u�S�z�
"������b��#A�Br^c	�$�|jtt�5Gd�dtt��}ddd�|jtt�5Gd�dttt
��}ddd�|jtd�5Gd�dt�}ddd�|jtd�5Gd	�d
tt
�}ddd�y#1swY��xYw#1swY�yxYw#1swY�WxYw#1swYyxYw)Nc��eZdZy)�.TypeGuardTests.test_cannot_subclass.<locals>.CNr|rkr^r\rBr2E$r�r^rBc��eZdZy)�.TypeGuardTests.test_cannot_subclass.<locals>.DNr|rkr^r\rEr4H$r�r^rEz!Cannot subclass typing\.TypeGuardc��eZdZy)�.TypeGuardTests.test_cannot_subclass.<locals>.ENr|rkr^r\r�r6L$r�r^r�z(Cannot subclass typing\.TypeGuard\[int\]c��eZdZy)�.TypeGuardTests.test_cannot_subclass.<locals>.FNr|rkr^r\r�r8P$r�r^r�)r�r�r�r�rIr�r�
s     r\r�z#TypeGuardTests.test_cannot_subclassC$s���
�
#�
#�I�/C�
D�
�D��O�
�E��
#�
#�I�/C�
D�
�D��3��(�
�E��
#�
#�I�$H�J�
�I�
�J��
#�
#�I�$O�Q�
�I�c�N�
�Q�Q�E�
D��E�
D��J�J��Q�Q�r�
c��|jt�5t�ddd�|jt�5tt��ddd�|jt�5tttt
��ddd�y#1swY�|xYw#1swY�VxYw#1swYyxYwrb)r�r�rIr�rr�r�s r\rIzTypeGuardTests.test_cannot_initS$s|��
�
�
�y�
)��K�*�
�
�
�y�
)��D��O��*�
�
�
�y�
)�*�D��8�C�=�)�*�,�*�
)�	*�
)��
)�
)��
)�
)�r�
c��|jt�5tdtt�ddd�|jt�5ttt�ddd�y#1swY�<xYw#1swYyxYwrK)r�r�r�rIr�rTr�s r\rLz!TypeGuardTests.test_no_isinstance[$sS��
�
�
�y�
)��q�)�C�.�)�*�
�
�
�y�
)��s�I�&�*�
)�*�
)��
)�
)�r�
Nr�
rkr^r\r,r,0$s�� �C�� -�'r^r,�
SpecialAttrsP�
SpecialAttrsTc�D�eZdZd�Zej
de�Zd�Zd�Z	y)�SpecialAttrsTestsc	�B�itjd�tjd�tjd�tjd�tj
d�tjd�tjd�tjd�tjd	�tjd
�tjd�tjd�tjd
�tjd�tjd�tj d�tj"d�itj$d�tj&d�tj(d�tj*d�tj,d�tj.d�tj0d�tj2d�tj4d�tj6d�tj8d�tj:d�tj<d�tj>d�tj@d �tjBd!�tjDd"��itjFd#�tjHd$�tjJd%�tjLd&�tjtNd�tjtNd�tjtNtNfd�tjtNd�tj
tNd�tjtNd�tjgtNfd�tjd'tNfd�tjtNtNfd	�tjtNd
�tjtNd�tjtNd�tjtNtNtNfd
��itjtNd�tjtNtNfd�tj tNd�tj"tNtNfd�tj$tNd�tj&tNtNtNfd�tj*tNtNfd�tj,tNd�tj.tNd�tj0tNd�tj2tNd�tj4tNtNfd�tj6tNd�tj8tNtNfd�tj:tNd�tj<tNd�tj>tNtNfd��itj@tNd �tjBtNd!�tjDtNd"�tjHtNd$�tjHtNd'fd$�tjJtNd%�tjLtNd&�tjPd(�tjNd)�tjRd*�tjTd+�tjVd,�tjXd-�tjZd.�tj\d/�tj^d0�tj`d1��itjbd2�tjdd3�tjfd4�tjhd5�tjjd6�tjld7�tjPtNd8fd(�tjPtnd8fd(�tjRtNd*�tjTtNtpfd+�tjVtNd,�tjZtNd.�tjZd9d.�tjZd:d.�tjbtNd2�tjftNd4�tjjtNd)��tjjtntrfd6i�}|ju�D]�\}}|jw|�;�5|jy|jz|t}|��|jy|j~|t}|��|jy|j�d<t}|��t�t�j�d=z�D]?}t�j�||�}t�j�|�}|j�||��A	ddd���y#1swY��xYw)>Nr�	rtrr�
r�r�
r�
r"r�	r�
r�	rhr�
r�
r�	r�r rZ	rry
�	ItemsViewr�rx�KeysViewrr��MappingViewr!r�
r�
r�
r5r�	r�rzrr5�
ValuesView.r@r
r$rFr%rArr�rrrrDrIrrrB�
Annotationr�rsr�rcrn)Grcr�	rtrr�
r�r�
r�
r"r�	r�
r�	rhr�
r�
r�	r�r rZ	rry
r@r�rxrArr�rBr!r�
r�
r�
r5r�	r�rzrr5rCr
r@r$rFr%rArr�rrrrDrIrrrBr�r;r{r�rur�rhr�rjrirrrsrtrvrur�)rW�cls_to_checkrXr�rqr�r#s       r\r�z$SpecialAttrsTests.test_special_attrsh$s�	��q
����
�q
�
�&�&�(=�q
�
�!�!�#3�	q
�

� � �/�q
�
� � �/�
q
�
���k�q
�
���|�q
�
�O�O�Z�q
�
�O�O�Z�q
�
���|�q
�
���k�q
�
�!�!�#3�q
�
���k�q
�
�N�N�I�q
� 
���
�!q
�"
�L�L�'�#q
�$
�K�K��%q
�&
���k�'q
�(
���k�)q
�*
�O�O�Z�+q
�,
���k�-q
�.
�O�O�Z�/q
�0
�O�O�Z�1q
�2
�O�O�Z�3q
�4
�K�K��5q
�6
�N�N�I�7q
�8
���
�9q
�:
�!�!�#3�;q
�<
�"�"�$5�=q
�>
���|�?q
�@
���
�Aq
�B
���|�Cq
�D
�O�O�Z�Eq
�F
�J�J��Gq
�H
�L�L�'�Iq
�J
�L�L�'�Kq
�L
�K�K��Mq
�N
���|�Oq
�R
���s�#�]�Sq
�T
�&�&�s�+�-B�Uq
�V
�!�!�#�s�(�+�-=�Wq
�X
� � ��%��Yq
�Z
� � ��%��[q
�\
���S�!�;�]q
�^
�O�O�B��G�$�j�_q
�`
�O�O�C��H�%�z�aq
�b
�O�O�C��H�%�z�cq
�d
���c�"�L�eq
�f
���S�!�;�gq
�h
�!�!�#�&�(8�iq
�j
���S�#�s�]�+�[�kq
�l
�N�N�3���mq
�n
���s�C�x�(�-�oq
�p
�L�L���w�qq
�r
�K�K��S��!�6�sq
�t
���S�!�;�uq
�v
���S�#�s�]�+�[�wq
�x
���S�#�X�&��yq
�z
�O�O�C� �*�{q
�|
�O�O�C� �*�}q
�~
�O�O�C� �*�q
�@
�K�K���f�Aq
�B
�N�N�3��8�$�i�Cq
�D
���s�#�]�Eq
�F
�!�!�#�s�(�+�-=�Gq
�H
�"�"�3�'�):�Iq
�J
���c�"�L�Kq
�L
���s�C�x�(�-�Mq
�N
���c�"�L�Oq
�P
�O�O�C� �*�Qq
�R
�J�J�s�O�U�Sq
�T
�L�L���w�Uq
�V
�L�L��c��"�G�Wq
�X
�K�K���f�Yq
�Z
���c�"�L�[q
�^
���k�_q
�`
�J�J��aq
�b
�O�O�Z�cq
�d
���
�eq
�f
�L�L�'�gq
�h
���|�iq
�j
�N�N�I�kq
�l
�N�N�I�mq
�n
�O�O�Z�oq
�p
�L�L�'�qq
�r
�O�O�Z�sq
�t
���k�uq
�v
���k�wq
�x
�N�N�I�yq
�z
�L�L�'�{q
�|
�K�K��}q
�@
���S�,�.�/��Aq
�B
���S�,�.�/��Cq
�D
�O�O�C� �*�Eq
�F
���s�M�1�2�M�Gq
�H
�L�L���w�Iq
�J
�N�N�3���Kq
�L
�N�N�4� �)�Mq
�N
�N�N�7�#�Y�Oq
�P
�O�O�C� �*�Qq
�R
���S�!�;�Sq
�T
�L�L���u�Uq
�V
�L�L��e��$�g�Wq
��f&�+�+�-�I�C�����#��&�� � ����t�S��X�>�� � ��!1�!1�4��S��B�� � �����3�s�8�D�"�6�#:�#:�Q�#>�?�E����S�%�0�A�#�\�\�!�_�F��M�M�#�v�.�@�	'�&�.�&�&�s
�8Cf�f	�SpecialAttrsTests.TypeNamec��tjd�}|jt|d��|jt|d��|j	|j
d�t
tjdz�D]6}|jt�5tj||�ddd��8|j	tjjd�|j	tjjd�|j	tjj
t�t
tjdz�D][}tjtj|�}tj |�}|j#tj|��]|j	t$jd�|jtt$d��|j	t$j
t�t
tjdz�D]G}tjt$|�}tj |�}|j#t$|��I|j	t&jd	�|jtt&d��|j	t&j
t�t
tjdz�D]G}tjt&|�}tj |�}|j#t&|��Iy#1swY���xYw)
Nzset[Any]rhrjrcrn�TypeNamerFr<r;)rcrAr�rlr�rirrrsrtr�r�rvr>rHrhrjrur�r<r;)rWr_rqr�r#s     r\�test_special_attrs2z%SpecialAttrsTests.test_special_attrs2�$s`���
�
�z�
*�������Z�0�1������^�4�5��������1��6�2�2�Q�6�7�E��"�"�9�-����R��'�.�-�8�	
���*�3�3�<�<�j�I�����&�&�3�3�(�	
�	
����&�&�1�1��	
�
�6�2�2�Q�6�7�E����.�7�7��?�A��\�\�!�_�F��M�M�+�4�4�f�=�8�	
����/�/��A�������?�@�����1�1�8�<��6�2�2�Q�6�7�E����]�E�2�A��\�\�!�_�F��M�M�-��0�8�
	
����/�/��A�������?�@�����1�1�8�<��6�2�2�Q�6�7�E����]�E�2�A��\�\�!�_�F��M�M�-��0�8�G.�-�s�M�M	c�
�Gd�dtt�}tt|t��}dD]/}|j|��5|j
||�ddd��1|jd|�y#1swY�NxYw)Nc��eZdZd�ZdZdZy)�4SpecialAttrsTests.test_genericalias_dir.<locals>.Fooc��yrbrkr�s r\r*z8SpecialAttrsTests.test_genericalias_dir.<locals>.Foo.bar%r�r^rPrUN)rhrirjr*r`�	__magic__rkr^r\r�rL%s��
��C��Ir^r�)r*r`r�r�r�rWrN)r#rrYrZr�rur[rN)rWr�r]rXs    r\�test_genericalias_dirz'SpecialAttrsTests.test_genericalias_dir%ss��	�'�!�*�	���C��H�
�&�	�
�M����M��:��
�
�m�Y�7�;�:�	
�	
����i�0�;�:�s�	A9�9B	N)
rhrirjr�rcr�r
rHrIrOrkr^r\r>r>f$s)��|/�|�v�~�~�:�C�@�H�01�d1r^r>c��eZdZd�Zy)�RevealTypeTestsc���t�}t�5}|j|t|��ddd�|j	j�d�y#1swY�*xYw)NzRuntime type is 'object'
)r�rJr�r0r��getvalue)rWrV�stderrs   r\�test_reveal_typez RevealTypeTests.test_reveal_type.%sJ���h��
�
�&��M�M�#�{�3�/�0��������*�,H�I��
�s�A�A#N)rhrirjrUrkr^r\rQrQ-%s��Jr^rQc��eZdZd�Zd�Zd�Zy)�DataclassTransformTestsc
��ddd�dtdtfd�}tdd��|�}Gd�d	�}|j||�|j|jddddd
id��|j|dd��|�|�y)NFT��frozen�kw_onlyrZr[c��d�S)Nc��|Srbrkr�s r\r1zNDataclassTransformTests.test_decorator.<locals>.create_model.<locals>.<lambda>8%s��sr^rkrYs  r\�create_modelz<DataclassTransformTests.test_decorator.<locals>.create_model7%s��"�"r^)�kw_only_default�
order_defaultc��eZdZUeed<y)�=DataclassTransformTests.test_decorator.<locals>.CustomerModelr�Nr�rkr^r\�
CustomerModelrb<%����Gr^rcrk��
eq_defaultr`r_�frozen_default�field_specifiersr�)r,r1r�r��__dataclass_transform__)rWr^�	decoratedrcs    r\�test_decoratorz&DataclassTransformTests.test_decorator6%s���+0�$�	#�D�	#�4�	#�S�'��E�R�S_�`�	�	�	�	
�
�
�i��.�����-�-�"�!&�#'�"'�$&��

�
	
�	
�
�
�1�I�T�5�1�-�@��	
r^c
���Gd�d�}tddd��|�}Gd�d|d��}|j||�|j|jddddd	d
did��|j	||�y)Nc��eZdZdd�defd�Zy)�:DataclassTransformTests.test_base_class.<locals>.ModelBaseF�rZrZc��yrbrk)rXrZs  r\r�zLDataclassTransformTests.test_base_class.<locals>.ModelBase.__init_subclass__R%s��r^N)rhrirjr,r�rkr^r\�	ModelBasernQ%s
��9>�D�$�Dr^rqT)rfr`�make_everything_awesomec��eZdZUeed<y)�>DataclassTransformTests.test_base_class.<locals>.CustomerModelr�Nr�rkr^r\rcrt[%rdr^rcroFrkrrre)r1r�r�rir])rWrq�	Decoratedrcs    r\�test_base_classz'DataclassTransformTests.test_base_classP%s���	E�	E�
�'���$(�	
�
��	�	�I�d�	�	
�
�
�i��+�����-�-�"�!%�#(�"'�$&�4�d�;�

�
	
�	
���m�Y�7r^c
�"�Gd�d�}Gd�dt�}tdd|f��|�}Gd�d|�	�}Gd
�d|d�
�}|j||�|j|jdddd|fid��|j||�y)Nc��eZdZy)�5DataclassTransformTests.test_metaclass.<locals>.FieldNr|rkr^r\�Fieldrym%r�r^rzc�*��eZdZdd�def�fd�Z�xZS)�9DataclassTransformTests.test_metaclass.<locals>.ModelMetaT��initr~c�(��t�|�||||�Srb)r�r�)rXr�r��	namespacer~r�s     �r\r�zADataclassTransformTests.test_metaclass.<locals>.ModelMeta.__new__p%s����w��s�D�%��C�Cr^)rhrirjr,r�r�r�s@r\�	ModelMetar|o%s���=A�
D�6:�
D�
Dr^r�T)r`rgrhc��eZdZy)�9DataclassTransformTests.test_metaclass.<locals>.ModelBaseNr|rkr^r\rqr�y%r�r^rqr�c��eZdZUeed<y)�=DataclassTransformTests.test_metaclass.<locals>.CustomerModelr�Nr�rkr^r\rcr�{%rdr^rcFr}re)r�r1r�r�rir�)rWrzr�rurqrcs      r\�test_metaclassz&DataclassTransformTests.test_metaclassl%s�����	D��	D�
�'��t�u�h�
�
��	�	2�)�1�	�I�E�	�	
�
�
�i��+�����-�-�"�!%�#(�"&�%*�H��

�
	
�	
���m�Y�7r^N)rhrirjrkrvr�rkr^r\rWrW5%s��
�48�88r^rWc��eZdZdZd�Zd�Zy)�AllTestszTests for __all__.c���ddlm}|jd|�|jd|�|jd|�|jd|�|jd|�|jd|�|jd	|�|jd
|�|jd|�|jd|�|jd
|�|jd|�|jd|�y)Nr)r�	r�	rCr)rrhrt�ior��osrP
�Textr,r#)rcr�	r[rNrF
s  r\�test_allzAllTests.test_all�%s���'��
�
�m�Q�'��
�
�l�A�&��
�
�f�a� ��
�
�j�!�$��
�
�&��*��
�
�+�Q�/�����q�!�����q�!�����q�!������"��
�
�f�a� ��
�
�o�q�)��
�
�'��+r^c	�z�ttj�}tt�j	�D��chc]b\}}||vsW|jd�sH|dvrD|j
d�s3|j�|k(s t|dd�tjk(r|��d}}}|j||�ycc}}w)Nrh>r�r�)rN	�_contra�_cori)rYrcr�	rOr�r�r��upperr�	rh�assertSetEqual)rW�
actual_allrr��computed_alls     r\�test_all_exported_namesz AllTests.test_all_exported_names�%s�������(�
��v�,�,�,�.�

�.�$�!�Q��J���L�L��%���%��J�J�9�:��G�G�I��N���<��.�&�/�/�A�
�.�	�

�	
���L�*�5��

s�A'B7N)rhrirjrOr�r�rkr^r\r�r��%s���,�,6r^r�c
�f�eZdZeeeeefeeefee	e
e
defe
egefeeedffZd�Z
d�Zy)�TypeIterationTests.r�c��d}|jD]�}|j|��5|jt|�5t	|�ddd�|jt|�5t|�ddd�|jt|�5|D]}�	ddd�ddd���y#1swY�exYw#1swY�GxYw#1swY�,xYw#1swY��xYw)Nzobject is not iterabler�)�_UNITERABLE_TYPESrur�r�r	r�)rW�expected_error_regex�	test_typerhs    r\�test_cannot_iteratez&TypeIterationTests.test_cannot_iterate�%s���7���/�/�I����9��-��+�+�I�7K�L���O�M��+�+�I�7K�L���O�M��+�+�I�7K�L�&���'�M�.�-�0�L�L��L�L��L�L��.�-�sR�C�B+�C�%B7�1C�C�C�+B4�0C�7C�<C�C�C�C	c�z�|jD],}|j|tjj��.yrb)r�r�rrr�)rW�type_to_tests  r\� test_is_not_instance_of_iterablez3TypeIterationTests.test_is_not_instance_of_iterable�%s,�� �2�2�L��$�$�\�;�?�?�3K�3K�L�3r^N)rhrirjr
rr�r�rrrr"r@r�r�r�rkr^r\r�r��%sc���
�
�c�3�h��
�c�1�f�
��
����a����!��c�����!�R�%����
�Mr^r�c�V�ddl}|j|jt��|Srb)�doctest�addTests�DocTestSuiterc)�loaderr�patternr�s    r\�
load_testsr��%s!���	�N�N�7�'�'��/�0��Lr^�__main__)�rlr�collections.abcr�	functoolsrrrr�r�
r�rNrsr�rP
r�unittestrrr	�
unittest.mockr
rrrcr
rrrrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r5r6r7r8r9r;r<r=r>r?r@rArBrCrDrErFrGrHrIrr~	r�r��test.supportrJrK�test.typinganndatarLrMrNr�r�r�rPryr{rr�r�r�r�r�rrr$rVrpr�r�r&r�r�r�r�rQr�rrr�r�r�rErKrMr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�
r�
r�
r�
r7r>rArCrFrIr:r<rArjrkrlrmrnror�
rqr�rzr�r�r�r�r�r6r�r�r�r�r�r�r�r�r�r��
FooGenericr�r�r�r�r�r�r�r�r�r�r�r�r�rtr�r�r�
r�
rrr�r�rj
rw
rgrwr�r�r�r(r�r�rr%r<r�r�r$r,r;r{r"r<r>rQrWr�r�r�rhrkr^r\�<module>r�s������#�.�.�	����
�	�
��)�)���5�5�;�;�8�8���+�+�4�4��<�<�7�7�!�'����&�9��?�?�'�'�!�(�&��I�I��
��
���6�T�T�@��C��>���8��*	�	�	�	�h�	�	�h�	�	�g�w�	�C�|�C�L&%�&%�R-�(�,�-�(
8�%�|�
8� 
�|�
�&65��65�r5>��5>�ng2�<�g2�TA,��S�	�A,��c�4��9�n�9M�A,�RV�W\�]`�Wa�Rb�A,�H+�|�+�B@�L�@�HB'�,�B'�JB<��B<�J.$��.$�bPG��PG�f)'��)'�Xd�d�L		?�+�\�	?�(�0�,�(�x=�<�x=�v
�T�3�����T�]��	�G�B��F�O�	��m�B��F�+��$�����J�������
�H���H���	�u�e�X�	��	���H����
	�u�	��������h����X8�L�X8�v0p�<�p�f!+&�L�+&�Z0#��0#�fG6�,�G6�T{9�\�{9�|���$
6�l�
6�"+��0�0��0��<�<��<�X1�l�X1�v���
����YC�L�YC�|���e�n���v�'�'��,��
%�6�/�/��4�
%���
�
�����1�� ���
� ������:���j���J��
�J��	�'�W�c�N�+�,���i��	�W�Q�Z��	��
�
 �
 ����#�.�.�q�1���(�7�E�'��i�u������I�U���)�5���)��J��J�,� :�,�,�Y�,�,�9�,�.��.�$�,�.�.�$��V�/�/��4��
�
�3�5�M���t����
�
�vU�|�vU�r	aT�8�aT�HSg�,�Sg�l1�L�1�:$%��$%�NK�(�K�R�<�R�jbG�l�bG�JhE�\�hE�V-&�L�-&�`-)�|�-)�`#(�l�#(�LL�l�L�^p<�\�p<�f
*�\�*�ZG$�\�G$�T48�|�48�l/'�\�/'�d!�� � ��1�
�������U�G�D�
�D1��D1�NJ�l�J�U8�l�U8�p)6�|�)6�XM��M�@��z���F���qj�����s�0\�\&�!\&

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists