403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.216.202
Web Server : Microsoft-IIS/10.0
System : Windows NT WEB-SERVER 10.0 build 20348 (Windows Server 2022) AMD64
User : IUSR ( 0)
PHP Version : 8.3.28
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /Python313/Lib/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /Python313/Lib/test/__pycache__/test_functools.cpython-313.opt-1.pyc
�

��i/���T�SSKrSSKrSSKrSSKrSSKrSSKJr SSKrSSKJ	r	 SSK
r
SSKJr SSK
r
SSKrSSKrSSKrSSKrSSKrSSKrSSKJr SSKrSSKJr SSKJr SSKJr SSKr\R8"S	S
/S9r\R8"S	S
/S9r\R8"S
S/S9r\R@S5r!Sr"Sr#"SS\$5r%"SS\$5r&"SS\'5r("SS5r)\RT"\S5"SS\)\RV55r,"SS\)\RV5r-\(a"SS \R\5r/"S!S"\R\5r0\RT"\S5"S#S$\,55r1"S%S&\-5r2"S'S(\RV5r3"S)S*\RV5r4"S+S,\45r5"S-S.5r6\RT"\S5"S/S0\6\RV55r7"S1S2\6\RV5r8"S3S45r9\RT"\S5"S5S6\9\RV55r:"S7S8\9\RV5r;"S9S:\RV5r<\Rz"S;S<55r>"S=S>5r?"S?S@\?\RV5r@\RT"\S5"SASB\?\RV55rA"SCSD5rB\R�5SE5rD\(a\R�5SF5rE"SGSH\B\RV5rF\RT"\S5"SISJ\B\RV55rG"SKSL\RV5rH"SMSN5rI"SOSP5rJ"SQSR5rK"SSST\RV5rL\MSU:Xa\R�"5 gg)V�N)�permutations)�choice)�support)�proxy)�	Signature)�
import_helper)�threading_helper�	functools�
_functools)�blocked)�fresh�decimal�_decimalc#�# �[RUnU[RU'Sv� U[RU'g!U[RU'f=f7f�N)�sys�modules)�name�replacement�original_modules   �(C:\Python313\\Lib\test\test_functools.py�replaced_moduler#sE����k�k�$�'�O�#�C�K�K���,�
�+����D���O����D��s�'A�A�A�A�Ac��X4$)z,capture all positional and keyword arguments�)�args�kws  r�capturer,s	���8�O�c�^�URURURUR4$)z)return the signature of a partial object )�funcr�keywords�__dict__)�parts r�	signaturer$1s!���I�I�t�y�y�$�-�-����?�?rc��\rSrSrSrg)�MyTuple�5rN��__name__�
__module__�__qualname__�__firstlineno__�__static_attributes__rrrr&r&5���rr&c��\rSrSrSrSrg)�BadTuple�8c�0�[U5[U5-$r)�list��self�others  r�__add__�BadTuple.__add__9s���D�z�D��K�'�'rrN)r)r*r+r,r7r-rrrr0r08s��(rr0c��\rSrSrSrg)�MyDict�<rNr(rrrr:r:<r.rr:c���\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
SrS
rSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSr Sr!g )!�TestPartial�@c
�&�UR[SSSSS9nUR[U55 UR	U"SSSS	S
9S[SSS	S945 UR[S
5nUR	[U"/SQ55/SQ5 g)N���
���a�b����(�rF�c�r@rArGrH�rErFrLc��US-$)NrBr��xs r�<lambda>�1TestPartial.test_basic_examples.<locals>.<lambda>Gs���"�r)rBrCrIrJ)�partialr�
assertTrue�callable�assertEqual�dict�mapr3�r5�ps  r�test_basic_examples�TestPartial.test_basic_examplesBs����L�L��!�Q�"��L�3��������$�����1�a�2��,�&��r�R�2�(>�?�	A��L�L��n�-������a�	�l�+�-=�>rc���UR[SSSSS9nURUR[5 URURS5 URUR
[
SSS95 g)Nr@rArBrCrD�r@rA)rTrrWr rr!rXrZs  r�test_attributes�TestPartial.test_attributesJs]���L�L��!�Q�"��L�3���������)��������(�������T�B�"�%5�6rc��UR[UR5 URS5"5 URS5 g![a gf=f)NrAz%First arg not checked for callability)�assertRaises�	TypeErrorrT�fail�r5s r�test_argument_checking�"TestPartial.test_argument_checkingQsL�����)�T�\�\�2�	?��L�L��O��
�I�I�=�>���	��	�s�A
�

A�Ac���SSjnSS0nURUSS9nURU"S	0UD6S5 URUSS05 U"SS9 URUSS05 g)
Nc��U$rrrDs  rr �BTestPartial.test_protection_of_callers_dict_argument.<locals>.func\s���HrrErG��rE��rF)rBrCr)rTrW)r5r �dr[s    r�(test_protection_of_callers_dict_argument�4TestPartial.test_protection_of_callers_dict_argumentZsg��	�
��G���L�L���L�#�������Q���#�����S��G�$�	�A������S��G�$rc��SS0nUR"[40UD6nURU"5SSS045 SUS'URU"5SSS045 g)NrErGrrl�rTrrW)r5rpr[s   r�test_kwargs_copy�TestPartial.test_kwargs_copyes]���!�H���L�L��&�A�&�������r�C��8�n�-���#�������r�C��8�n�-rc�,�UR[5nURU"5S045 URU"SS5S045 UR[SS5nURU"5S045 URU"SS5S045 g)Nrr@rAr_rGrHrMrtrZs  r�test_arg_combinations�!TestPartial.test_arg_combinationsns���
�L�L��!�������r�2�h�'�����1�Q��%���-��L�L��!�Q�'�������u�b�k�*�����1�Q��)�R��1rc���UR[5nURUR05 URU"5S045 URU"SS9SSS045 UR[SS9nURURSS05 URU"5SSS045 URU"SS9SSSS.45 URU"SSS9SSSS.45 g)	Nrr@rmrErArorDrG)rTrrWr!rZs  r�test_kw_combinations� TestPartial.test_kw_combinationsxs���
�L�L��!��������R�(������r�2�h�'�����Q��"�s�1�g��/��L�L��A�L�&��������c�!�W�-������r�C��7�m�,�����Q��"�1�!�n�!5�6�����Q�!��r��q�>�&:�;rc��SHHnUR"[/UQ76nUS-nU"S5upEURX4:H=(a U0:H5 MJ g)N)r�r�rr@)rr@rA)rr@rArGrPrQ�rTrrU)r5rr[�expected�got�emptys      r�test_positional�TestPartial.test_positional�sJ��9�D����W�,�t�,�A��f�}�H��3��J�C��O�O�H�O�;����<�	:rc��SHCnUR[US9nUSS.nU"SS9upEURX5:H=(a US:H5 ME g)N)rErNg@rm)rErQrPrr�)r5rEr[r�r�r�s      r�test_keyword�TestPartial.test_keyword�sJ��$�A����W���*�A��$�'�H��T��J�E��O�O�H�O�;����<�	%rc���UR[SSS9nU"SSS9up#URUS:H=(a USSS.:H5 U"5upEURUS:H=(a US	S0:H5 g)
Nrr@rmrArorrDr~rEr�)r5r[�args1�kw1�args2�kw2s      r�test_no_side_effects� TestPartial.test_no_side_effects�sg���L�L��!�q�L�)���q�A�Y�
��������?�3�q�Q�-�+?�@��S�
�������
�8�#�#�a��.�9rc�>�SnUR[URUSS55 UR[URUS5S5 UR[URU5SS5 UR[URUSS9S5 g)Nc��X- grr�rQ�ys  r�f�-TestPartial.test_error_propagation.<locals>.f�s��
�Err@r)r�)rc�ZeroDivisionErrorrT�r5r�s  r�test_error_propagation�"TestPartial.test_error_propagation�s���	����+�T�\�\�!�Q��-B�C����+�T�\�\�!�Q�-?��C����+�T�\�\�!�_�a��C����+�T�\�\�!�q�\�-A�1�Erc���UR[SS9n[U5nURURUR5 Sn[
R"5 UR[[US5 g)N�)�baser )
rT�intrrWr r�
gc_collectrc�ReferenceError�getattr�r5r�r[s   r�test_weakref�TestPartial.test_weakref�sZ���L�L��2�L�&���!�H�����������(����������.�'�1�f�=rc��[[[[S555nUR	[R
S5nUR
U"U5S5 UR	SR
5nUR
U"U5S5 g)NrB��
0123456789)r3rY�str�rangerT�joinrW)r5�datar�s   r�#test_with_bound_and_unbound_methods�/TestPartial.test_with_bound_and_unbound_methods�se���C��U�2�Y�'�(���|�|�C�H�H�b�)������d��\�2��|�|�B�G�G�$������d��\�2rc��URnU"[S5nU"USS9nU"[SSS9nUR[U5[U55 g�N�asdfT��bar)rTr$rW)r5rT�inner�nested�flats     r�test_nested_optimization�$TestPartial.test_nested_optimization�sJ���,�,���	�6�*����D�)���y�&�d�3������6�*�I�d�O�<rc�^^�URm"U4SjS5nU"5nURng)Nc�(>�\rSrSrSrU4SjrSrg)�9TestPartial.test_nested_optimization_bug.<locals>.Builder�c�
�XU4$rr)r5�tag�children�attribs    r�__call__�BTestPartial.test_nested_optimization_bug.<locals>.Builder.__call__�s
���v�.�.rc�>�T"X5$rr)r5r�rTs  �r�__getattr__�ETestPartial.test_nested_optimization_bug.<locals>.Builder.__getattr__�s����t�)�)rrN)r)r*r+r,r�r�r-)rTs�r�Builderr��s���
/�
*�
*rr�)rT�m)r5r��Br�rTs    @r�test_nested_optimization_bug�(TestPartial.test_nested_optimization_bug�s(����,�,��	*�	*�
�I��
�C�C�rc��URnSnU"US5nU"US5nSUlURURS5 g)Nc��U$rrr�s r�foo�;TestPartial.test_nested_partial_with_attribute.<locals>.foo�s���Jr�first�second�spam)rT�new_attrrW)r5rTr�r[�p2s     r�"test_nested_partial_with_attribute�.TestPartial.test_nested_partial_with_attribute�sE���,�,��	�
�C��!��
�Q��
!�����������f�-rc��[5[54nSRSU55n[5[5S.nSRU5SRU5/nURRSURR
3nUR[5nURUS[<S3[U55 UR"[/UQ76nURUS[<SUS3[U55 UR"[40UD6nUR[U5UVs/sHnUS[<SUS3PM sn5 UR"[/UQ70UD6nUR[U5UVs/sHnUS[<SUSUS3PM sn5 gs snfs snf)	Nz, c3�8# �UHn[U5v� M g7fr)�repr)�.0rEs  r�	<genexpr>�(TestPartial.test_repr.<locals>.<genexpr>�s���4�t�!�d�1�g�g�t�s�rDza={a!r}, b={b!r}zb={b!r}, a={a!r}�.�(�))
�objectr��
format_maprTr*r+rrWr��assertIn)r5r�	args_repr�kwargs�kwargs_reprsrr��kwargs_reprs        r�	test_repr�TestPartial.test_repr�s�����&�(�#���I�I�4�t�4�4�	��x�f�h�/��*�5�5�f�=�*�5�5�f�=�?���,�,�)�)�*�!�D�L�L�,E�,E�+F�G���L�L��!�����D�6��7�+�Q�/��a��9��L�L��(�4�(�����D�6��7�+�R�	�{�!�<�d�1�g�F��L�L��+�F�+���
�
�d�1�g�*6�8�*6�;���q���2�k�]�!�<�*6�8�	9�
�L�L��2�4�2�6�2���
�
�d�1�g�*6�8�*6�;���q���2�i�[��;�-�q�I�*6�8�	9��	8��
8s�>F7
�F<
c��URRSURR3nUR[5nUR	US0045 UR[
U5U<S35 UR	[S0045 UR[5nUR	[U40045 UR[
U5U<S[<S35 UR	[S0045 UR[5nUR	[SSU0045 UR[
U5U<S[<S35 UR	[S0045 g!UR	[S0045 f=f!UR	[S0045 f=f!UR	[S0045 f=f)Nr�rz(...)r�z, ...)rEz, a=...))rTr*r+r�__setstate__rWr�)r5rr�s   r�test_recursive_repr�TestPartial.test_recursive_repr�sv���,�,�)�)�*�!�D�L�L�,E�,E�+F�G���L�L��!��	����2�r�2��'�	2����T�!�W�4�&9�:�
�N�N�G�R��R�0�1��L�L��!��	����!��r�2�.�/�	2����T�!�W�t�W�&F�G�
�N�N�G�R��R�0�1��L�L��!��	�����c�1�X�r�2�3�	2����T�!�W��w�&H�I�
�N�N�G�R��R�0�1��
�N�N�G�R��R�0�1��
�N�N�G�R��R�0�1��
�N�N�G�R��R�0�1�s$�E5�'F�4'F1�5F�F.�1Gc��[SUR5 UR[S/S/S9n/Ul[[RS-5HQn[R"[R"X55nUR[U5[U55 MS SSS5 g!,(df   g=f)Nr
r�Tr�r@)r�modulerTr$�attrr��pickle�HIGHEST_PROTOCOL�loads�dumpsrW�r5r��proto�f_copys    r�test_pickle�TestPartial.test_pickles���
�[�$�+�+�
6����Y���t�f��=�A��A�F��v�6�6��:�;�����f�l�l�1�&<�=��� � ��6�!2�I�a�L�A�<�7�
6�
6�s�BB0�0
B>c��UR[S/S/S9n/Ul[R"U5nUR	[U5[U55 URURUR5 URURUR5 URURUR5 gr�)rTr$r��copyrW�assertIsrr!�r5r�r�s   r�	test_copy�TestPartial.test_copy
s����L�L��V�H�4�&�L�9��������1�������6�*�I�a�L�9��
�
�f�k�k�1�6�6�*��
�
�f�k�k�1�6�6�*��
�
�f�o�o�q�z�z�2rc�H�UR[S/S/S9n/Ul[R"U5nUR[U5[U55 UR
URUR5 UR
URUR5 UR
URSURS5 UR
URUR5 UR
URSURS5 g)Nr�Tr�rr�)	rTr$r�r��deepcopyrW�assertIsNotrr!r�s   r�
test_deepcopy�TestPartial.test_deepcopys����L�L��V�H�4�&�L�9��������q�!������6�*�I�a�L�9�������a�f�f�-�������a�f�f�-�������Q�������3�������!�*�*�5��������/����E�1B�Crc
���UR[5nUR[S[	SS9[	/S945 UR[U5[S[	SS9[	/S945 URU"SSS9SSSS	.45 UR[S[	SS9S45 UR[U5[S[	SS9045 URU"SSS9SSSS	.45 UR[SSS45 URU"SSS9SS
S045 URU"S5S045 URU"5S045 UR[S0S45 UR[U5[S0045 URU"SSS9SS
S045 URU"S5S045 URU"5S045 g)
N�r@rBrm�r�rArCror_rDrFr)rA)rTr$r�rrXrWr�s  r�
test_setstate�TestPartial.test_setstate!s����L�L��#��	�����t�b�z�4�R�=�A�B�����1��!�4����T�r�]�C�	E�����1���f�B�R�.@�%A�B�	�����t�b�z�4�8�9�����1����t�b�z�2�'F�G�����1���f�B�R�.@�%A�B�	�����t�T�2�3�����1���f�s�B�i�%8�9�����1����|�,������t�R�j�)�	�����R��.�/�����1����R��'<�=�����1���d�S�"�I�%6�7�����1���b�z�*������r�2�h�'rc	��UR[5nUR[UR[
S045 UR[UR[
S00S45 UR[UR[
S0S/5 UR[URSS0S45 UR[UR[
S0S45 UR[UR[
/0S45 UR[UR[
S/S45 UR[UR[
S0S45 UR[UR[
S0S45 g)Nr�test)rTr$rcrdr�rr�s  r�test_setstate_errors� TestPartial.test_setstate_errors:s'���L�L��#�����)�Q�^�^�g�r�2�5F�G����)�Q�^�^�g�r�2�r�4�5P�Q����)�Q�^�^�g�r�2�t�5L�M����)�Q�^�^�d�B��D�5I�J����)�Q�^�^�g�t�R��5N�O����)�Q�^�^�g�r�2�t�5L�M����)�Q�^�^�g�r�2�t�5L�M����)�Q�^�^�g�r�2�r�5J�K����)�Q�^�^�g�r�2�v�5N�Orc	�p�UR[5nUR[[	S5[SS9S45 [U5nUR
U[S[SS9045 UR[US5[5 UR[US5[5 U"5nUR
USSS045 UR[US5[5 UR[US5[5 UR[[S50S45 [U5nUR
U[S0045 UR[US5[5 U"S5nUR
US045 UR[US5[5 g)	NrrBrmr@rArErr_)rTr$r�rr&r:rWrXr��type�tupler0)r5r��s�rs    r�test_setstate_subclasses�$TestPartial.test_setstate_subclassesGsO���L�L��#��	����������d�C�D��a�L������W�d�D�2�J��;�<��
�
�d�1�Q�4�j�%�(��
�
�d�1�Q�4�j�$�'�
�C������T�C��9�-�.��
�
�d�1�Q�4�j�%�(��
�
�d�1�Q�4�j�$�'�	�����$���T�:�;��a�L������W�d�B��3�4��
�
�d�1�Q�4�j�%�(�
�a�D������V�R�L�)��
�
�d�1�Q�4�j�%�(rc
��[SUR5 UR[5nUR	US0045 [[RS-5HVn[R"S5 UR[5 [R"X5 SSS5 SSS5 MX UR	[S0045 UR[5nUR	[U40045 [[RS-5Hfn[R"[R"X55nURURSU5 UR	[S0045 Mh UR	[S0045 UR[5nUR	[SSU0045 [[RS-5Hfn[R"[R"X55nURUR SU5 UR	[S0045 Mh UR	[S0045 SSS5 g!,(df   GN�=f!,(df   GM>=f!UR	[S0045 f=f!UR	[S0045 f=f!UR	[S0045 f=f!UR	[S0045 f=f!UR	[S0045 f=f!,(df   g=f)Nr
rr@�drrE)rr�rTrr�r�r�r�r�infinite_recursionrc�RecursionErrorr�r�r�rr!r�s    r�test_recursive_pickle�!TestPartial.test_recursive_pickle[s���
�[�$�+�+�
6����W�%�A�
�N�N�A�r�2�r�?�+�
6�"�6�#:�#:�Q�#>�?�E� �3�3�C�8�!�.�.�~�>�"�L�L��2�?�9�8�@������R��4�5����W�%�A�
�N�N�G�a�T�2�r�2�3�
6�"�6�#:�#:�Q�#>�?�E�#�\�\�&�,�,�q�*@�A�F�C��
�
�f�k�k�!�n�f�=��+�+�W�b�"�b�,A�B�@������R��4�5����W�%�A�
�N�N�G�R�#�q��2�6�7�
6�"�6�#:�#:�Q�#>�?�E�#�\�\�&�,�,�q�*@�A�F�C��
�
�f�o�o�c�&:�F�C��+�+�W�b�"�b�,A�B�@������R��4�5�E7�
6�?�>��9�8�������R��4�5���+�+�W�b�"�b�,A�B�������R��4�5���+�+�W�b�"�b�,A�B�������R��4�5��E7�
6�s��+L6�5J �8J
�I;	�%J
�-J �9AL6�A	K�J>�+K�A	L6�A	L�K:�;L�L6�;
J

�J
�
J�	J � J;�;L6�>K�K�K7�7L6�:L�L�L3�3L6�6
Mc��"SS5nUR[5nUR[URU"55 g)Nc� �\rSrSrSrSrSrg)�7TestPartial.test_setstate_refcount.<locals>.BadSequencei�c��g)NrHrrfs r�__len__�?TestPartial.test_setstate_refcount.<locals>.BadSequence.__len__����rc�j�US:Xa[$US:Xa[[S55$US;a0$[e)Nrr@i@B)rArG)�maxrr��
IndexError)r5�keys  r�__getitem__�CTestPartial.test_setstate_refcount.<locals>.BadSequence.__getitem__�s6���!�8��J��A�X� ��w��0�0��F�]��I� � rrN)r)r*r+r,rr"r-rrr�BadSequencer�s��
�
!rr$)rTr�rcrdr�)r5r$r�s   r�test_setstate_refcount�"TestPartial.test_setstate_refcount�s4��
	!�
	!�
�L�L�� �����)�Q�^�^�[�]�Crc�^�"U4SjS5nU"5nTRURSSS9SSSS.45 TRURSSS9S	US4SSS.45 TRURSSS9SSSS.45 TR	[
5nTRURSSS9SSSS.45 SSS5 TRWR[5 TRURSSS9S	US4SSS.45 TRURSSS9SSSS.45 g!,(df   N|=f)
Nc�>�\rSrSrYR	\SSS9r\"YR	\SSS95r\	"YR	\SSS95r
Srg)�-TestPartial.test_partial_as_method.<locals>.Ai�r@rArmrN)r)r*r+r,rTr�meth�classmethod�cmeth�staticmethod�smethr-rfs�r�Ar)�sI����<�<���a�<�0�D�����W�a�1�� =�>�E� ����g�q�A��!>�?�Err/rGrHro)r@rGrArDr@)rWr*r,r.�assertWarns�
FutureWarning�filename�__file__)r5r/rE�ws`   r�test_partial_as_method�"TestPartial.test_partial_as_method�s:���	@�	@�

�C���������Q���&���2B�)C�D��������a���A�q�!�9�A�A�6F�*G�H��������a���6���3C�*D�E�
�
�
�m�
,�����Q�V�V�A��V�^�f�A�A�6F�-G�H�-�������X�.��������a���A�q�!�9�A�A�6F�*G�H��������a���6���3C�*D�E�	-�
,�s�&D9�9
Ec���UR[nURURUR5 UR	UR
[45 UR	URS5 g)Nr)rTr�r��
__origin__rW�__args__�__parameters__)r5�aliass  r�test_partial_genericalias�%TestPartial.test_partial_genericalias�sT�����S�!���
�
�e�&�&����5�������#��0�����-�-�r�2rc
�^^�Sm"SS5m"UU4SjS5nU"5nT"S5n[R"USUS9mUR[T5S5 SUl[R"X2SS	9mUR[T5S
5 SUl[R"X2S5mUR[T5S5 SUl[R"X2SS9mUR[T5S
5 SUl[R"X2SSSSSS	9mUR[T5S5 g)Nc�&�\rSrSrSrSrSrSrg)�ITestPartial.test_repr_safety_against_reentrant_mutation.<locals>.Functioni�c��Xlgr�r)r5rs  r�__init__�RTestPartial.test_repr_safety_against_reentrant_mutation.<locals>.Function.__init__�s�� �	rc��grrrfs rr��RTestPartial.test_repr_safety_against_reentrant_mutation.<locals>.Function.__call__����rc�"�SURS3$)Nz	Function(r�rBrfs r�__repr__�RTestPartial.test_repr_safety_against_reentrant_mutation.<locals>.Function.__repr__�s��"�4�9�9�+�Q�/�/rrBN)r)r*r+r,rCr�rIr-rrr�Functionr@�s��
!�
�
0rrKc�*>�\rSrSrSrUU4SjrSrg)�KTestPartial.test_repr_safety_against_reentrant_mutation.<locals>.EvilObjecti�c��SUlg�NF��	triggeredrfs rrC�TTestPartial.test_repr_safety_against_reentrant_mutation.<locals>.EvilObject.__init__�s	��!&��rc�>�UR(dATb>SUlSnSS0nT"S5XS4nTRU5 [R"5 g)NTr�keyword�new_function�
EvilObject)rQr��gc�collect)r5�new_args_tuple�new_keywords_dict�new_tuple_staterK�	g_partials    ��rrI�TTestPartial.test_repr_safety_against_reentrant_mutation.<locals>.EvilObject.__repr__�sR����~�~�)�*?�%)�D�N�%,�N�)2�D�(9�%�'/��'?��dh�&i�O��*�*�?�;��J�J�L�$rrPN)r)r*r+r,rCrIr-)rKr\s��rrVrM�s���
'�
%�
%rrV�old_function)�triggerzCfunctools.partial(Function(old_function), None, trigger=EvilObject)F��argz?functools.partial(Function(old_function), EvilObject, arg=None)z;functools.partial(Function(old_function), EvilObject, None))r_razGfunctools.partial(Function(old_function), trigger=EvilObject, arg=None)zWfunctools.partial(Function(old_function), EvilObject, None, None, None, None, arg=None))r
rTrWr�rQ)r5rVr_r rKr\s    @@r�+test_repr_safety_against_reentrant_mutation�7TestPartial.test_repr_safety_against_reentrant_mutation�s%����	�	0�	0�	%�	%��,����'���%�%�d�D�'�B�	�����i��)n�o�!����%�%�d��>�	�����i��)j�k�"����%�%�d�T�:�	�����i��)f�g�!����%�%�d��F�	�����i��)r�s�!����%�%�d�T�4��t�QU�V�	�����i��*C�	DrrN)"r)r*r+r,r\r`rgrqrurxr{r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrr%r5r<rbr-rrrr=r=@s���?�7�?�	%�.�2�<�=�=�:�F�>�3�=�8�
.�9�02�0B�3�	D�(�2P�)�(#6�LD� F� 3�0Drr=z requires the C _functools modulec�P�\rSrSr\(a\r\RrSrSrSr	Sr
g)�TestPartialCi�c�j�UR[SSSSS9nUR[[US[
5 UR[[USS5 UR[[US	[
SSS95 UR[5nU?URS
5 g![a gf=f)Nr@rArBrCrDr rr_r!z-partial object allowed __dict__ to be deleted)rTrrc�AttributeError�setattrrYrX�hexr"rerdrZs  r�test_attributes_unwritable�'TestPartialC.test_attributes_unwritable�s����L�L��!�Q�"��L�3�����.�'�1�f�c�B����.�'�1�f�f�E����.�'�1�j�$��a�.�Q��L�L����	G��
�
�I�I�E�F���	��	�s�B%�%
B2�1B2c��UR[5nSURS'[U5nUR	SU5 UR	SU5 UR[5 U"5 SSS5 g!,(df   g=f)N�valuei��1234z'value')rTrr!r�r�rcrd)r5r[rs   r�'test_manually_adding_non_string_keyword�4TestPartialC.test_manually_adding_non_string_keyword�sb���L�L��!��"��
�
�4����G���
�
�f�a� ��
�
�i��#�
�
�
�y�
)�
�C�*�
)�
)�s�)A:�:
Bc��^�UR[5m"U4SjS[5nS/TRU"5'[	T5nURSU5 URSU5 g)Nc�">�\rSrSrU4SjrSrg)�@TestPartialC.test_keystr_replaces_value.<locals>.MutatesYourDicti�c�&>�S/TRU'g)N�sth2�astr)r!rZs �r�__str__�HTestPartialC.test_keystr_replaces_value.<locals>.MutatesYourDict.__str__�s���$*�8��
�
�4� �rrN)r)r*r+r,rwr-)r[s�r�MutatesYourDictrs�s
���
�
rry�sthrvz['sth'])rTrr�r!r�r�)r5ryrr[s   @r�test_keystr_replaces_value�'TestPartialC.test_keystr_replaces_value�sW����L�L��!��	�f�	�*/���
�
�?�$�%���G���
�
�f�a� ��
�
�i��#rrN)r)r*r+r,�c_functoolsr�rTrjror{r-rrrrere�s%������%�%��
G��
$rrec�0�\rSrSr\r\RrSrg)�
TestPartialPyirN)r)r*r+r,�py_functoolsr�rTr-rrrrrs��
�F��"�"�Grrc��\rSrSrSrg)�CPartialSubclassirNr(rrrr�r�s��rr�c��\rSrSrSrg)�PyPartialSubclassirNr(rrrr�r�r.rr�c�*�\rSrSr\(a\rSrSrg)�TestPartialCSubclassiNr)	r)r*r+r,r}r�rTr�r-rrrr�r�s���"�� $�rr�c��\rSrSr\rSrg)�TestPartialPySubclassirN)r)r*r+r,r�rTr-rrrr�r�s���Grr�c�z�\rSrSr"SS\5r\"5rSrSrSr	Sr
SrS	rS
r
SrSrS
rSrSrg)�TestPartialMethodi"c��\rSrSr\R
"\5r\R
"\S5r\R
"\SS9r	\R
"\SSS9r
\R
"\SSS9r\R
"\S	5r\R
"\R"\S
S9S5r\R
"\"\5S
5r\R
"\"\5SS9rSrg)�TestPartialMethod.Ai$r@rArmrGrHro�r5r rl��rLrn��	�rprN)r)r*r+r,r
�
partialmethodr�nothing�
positionalr!�both�
spec_keywordsr�rT�over_partialr-�staticr+�clsr-rrrr/r�$s����)�)�'�2���,�,�W�a�8�
��*�*�7�a�8���&�&�w��Q�7��!�/�/��a�a�H�
��(�(��Q�7�� �.�.�y�/@�/@��A�/N�PQ�R���(�(��g�)>��B���%�%�k�'�&:�a�@�rr/c�>�URURR5UR4045 URURRS5URS4045 URURRSS9UR4SS045 URURRSSS9URS4SS045 URURR5URS4045 URURRS5URSS4045 URURRSS9URS4SS045 URURRSSS9URSS4SS045 URURR	5UR4SS045 URURR	S5URS4SS045 URURR	SS9UR4SSS.45 URURR	SSS9URS4SSS.45 URURR5URS	4S
S045 URURRS5URS	S4S
S045 URURRSS9URS	4SSS.45 URURRSSS9URS	S4SSS.45 URURRURSSS9URS	S4SSS.45 URURR5UR4SSS
.45 g)Nrlr�r�rLr@rErA)rErLrGrFrHrKr�)rWrEr�r�r!r�r/r�rfs rrx�'TestPartialMethod.test_arg_combinations4sW����������)�T�V�V�I�r�?�;����������*�d�f�f�a�[�"�,=�>���������!��,����y�3��(�.C�D����������Q��/�4�6�6�1�+��Q�x�1H�I�������*�*�,�����{�B�.?�@�������*�*�1�-�����A���/C�D�������*�*�Q�*�/�4�6�6�1�+��Q�x�1H�I�������*�*�1��*�2�d�f�f�a��^�c�1�X�4N�O���������*�d�f�f�Y��a��,A�B����������+�t�v�v�q�k�C��8�-D�E���������1��-����	���;K�/L�M����������a��0�D�F�F�A�;�a�a�@P�2Q�R����������$�&�&�!��s�A�h�(?�@���������Q��4�6�6�1�a�.�3��(�)C�D���������q��)�T�V�V�Q�K�q�q�9I�+J�K���������Q�!��,�����1�~�Q�Q�?O�.P�Q���������T�V�V�Q�!��4�����1�~�Q�UV�GW�6X�Y�������-�-�/�4�6�6�)�a�QR�=S�1T�Urc�f�URURR5URSS4045 URURRS5URSSS4045 URURRSS9URSS4SS045 URURRSSS9URSSS4SS045 URURRURSSS9URSSS4SS045 g)Nr@rlr�rnr�rp)rWrEr�r/rfs r�test_nested�TestPartialMethod.test_nestedMs�����������D�F�F�A�q�>�2�*>�?���������q�)�T�V�V�Q��1�,=�r�+B�C�����������+�t�v�v�q�!�n�s�A�h�-G�H���������q�A��.�$�&�&�!�Q��1B�S�!�H�0M�N���������t�v�v�q�A��6�$�&�&�!�Q��9J�S�RS�H�8U�Vrc�j�URURR5URS4SS045 URURRS5URSS4SS045 URURRSS9URS4SSS.45 URURRSSS9URSS4SSS.45 URURRURSSS9URSS4SSS.45 g)NrnrLr�rlr�r��rLrp)rWrEr�r/rfs r�test_over_partial�#TestPartialMethod.test_over_partialUs��������,�,�.�$�&�&�!��s�A�h�0G�H�������,�,�Q�/�4�6�6�1�a�.�3��(�1K�L�������,�,�q�,�1�T�V�V�Q�K�q�q�AQ�3R�S�������,�,�Q�!�,�4�����1�~�Q�UV�GW�6X�Y�������,�,�T�V�V�Q�!�,�<�����1�~�UV�]^�O_�>`�arc���URnURURRU5 URURRU5 URUR
RU5 URURRUR5 URURRRUR5 gr)rEr�r��__self__r�r�r�r/�r5�objs  r�test_bound_method_introspection�1TestPartialMethod.test_bound_method_introspection]s����f�f���
�
�c�h�h�'�'��-��
�
�c�j�j�)�)�3�/��
�
�c�&�&�/�/��5��
�
�c�g�g�&�&����/��
�
�d�f�f�j�j�)�)�4�6�6�2rc��URnUR[URS55 UR[URS55 UR[UR
S55 UR[URS55 UR[URRS55 g)Nr�)r/�assertFalse�hasattrr�r�r�r�rEr�s  r�test_unbound_method_retrieval�/TestPartialMethod.test_unbound_method_retrievales����f�f���������:�6�7��������Z�8�9������!1�!1�:�>�?��������Z�8�9����������
�;�<rc	�4�URUR4GHhnURUS9 URUR	5S045 URUR	S5S045 URUR	SS9SSS045 URUR	SSS9SSS045 URUR5UR4SS045 URURS5URS4SS045 URURSS	9UR4SSS
.45 URURSSS	9URS4SSS
.45 SSS5 GMk g!,(df   GM~=f)N�r�)r�rl)r�rlr�r�rpr�r�r�)r/rE�subTestrWr�r�r�s  r�test_descriptors�"TestPartialMethod.test_descriptorsms[���F�F�D�F�F�#�C����#��&�� � ������b�z�:�� � ����A�����=�� � ����a���4�#�q��2B�C�� � ����A���!3�f�s�A�h�5G�H�� � �����d�f�f�Y��a��,A�B�� � ������t�v�v�q�k�C��8�-D�E�� � ����1������	���;K�/L�M�� � �����a���D�F�F�A�;�a�a�@P�2Q�R�'�&�$�&�&�s�E
F�
F	c��URURRSS9UR4SS045 URURRURSS9UR4SS045 g)NrGrmrE)rWrEr!r/rfs r�test_overriding_keywords�*TestPartialMethod.test_overriding_keywordszsd����������1��-����	�C��8�/D�E������������1��5����	�C��8�7L�Mrc�d�UR[5 "SS[5nSSS5 UR[5 "SS5nSSS5 UR[5 "SS5nSSS5 g!,(df   N_=f!,(df   NH=f!,(df   g=f)Nc�:�\rSrSr\R
"SS5rSrg)�.TestPartialMethod.test_invalid_args.<locals>.Bi�Nr@r�r)r*r+r,r
r��methodr-rrrr�r��s��"�0�0��q�9�rr�c�6�\rSrSr\R
"5rSrg)r�i�rNr�rrrr�r��s��"�0�0�2�rc�6�\rSrSr\R
"\SS9rSrg)r�i�r@)r rErN)	r)r*r+r,r
r�rr�r-rrrr�r��s��"�0�0�g��C�r)rcrdr�)r5r�s  r�test_invalid_args�#TestPartialMethod.test_invalid_args~s��
�
�
�y�
)�
:�F�
:�*��
�
�y�
)�
3�
3�*��
�
�y�
)�
D�
D�*�
)�
*�
)��*�
)��*�
)�s#�A?�B�+B!�?
B
�
B�!
B/c��UR[[UR5S5SR	[
55 UR[[UR5S5SR	[
55 UR[[UR5S5SR	[
55 UR[[UR5S5SR	[
55 UR[[UR5S	5S
R	[
55 g)Nr�zfunctools.partialmethod({})r�zfunctools.partialmethod({}, 1)r!z functools.partialmethod({}, a=2)r�z+functools.partialmethod({}, self=1, func=2)r�z#functools.partialmethod({}, 3, b=4))rWr��varsr/�formatrrfs rr��TestPartialMethod.test_repr�s�������d�4�6�6�l�9�5�6�6�=�=�g�F�	H�����d�4�6�6�l�<�8�9�9�@�@��I�	K�����d�4�6�6�l�:�6�7�;�B�B�7�K�	M�����d�4�6�6�l�?�;�<�F�M�M�g�V�	X�����d�4�6�6�l�6�2�3�>�E�E�g�N�	Prc���"SS[R5nURURR5 URUR
R5 URRURRURRURRURR4HnUR[USS55 M! g)Nc�^�\rSrSr\R
S5r\R"\S5r	Sr
g)�1TestPartialMethod.test_abstract.<locals>.Abstracti�c��grr�r5rQr�s   r�add�5TestPartialMethod.test_abstract.<locals>.Abstract.add����rrlrN)r)r*r+r,�abc�abstractmethodr�r
r��add5r-rrr�Abstractr��s.��
�
�
�
� �
��*�*�3��2�Drr��__isabstractmethod__F)r��ABCMetarUr�r�r�r/r�r�r�r�r�r�r�)r5r�r s   r�
test_abstract�TestPartialMethod.test_abstract�s���	3�s�{�{�	3�	
������9�9�:�����
�
�:�:�;��V�V�]�]�D�F�F�J�J����0C�0C�T�V�V�]�]�TX�TZ�TZ�T_�T_�`�D����W�T�+A�5�I�J�arc�v�Sn[R"US5nURU"S5U"SS55 g)Nc�
�X-$rrrDs  rr��1TestPartialMethod.test_positional_only.<locals>.f��	���5�Lrr@rA)r
rTrWr�s   r�test_positional_only�&TestPartialMethod.test_positional_only�s5��	�
���a��#������1��q��A�w�'rrN)r)r*r+r,r�r/rErxr�r�r�r�r�r�r�r�r�r�r-rrrr�r�"sX��A�F�A�	
��A�V�2W�b�3�=�S�N�	D�
P�
K�(rr�c�L�\rSrSr\R
\R4SjrSrSr	\
R"\RRS:�S5S5rSrS	rS
r\R(\
R"\RRS:�S5S55rSrS
rg)�TestUpdateWrapperi�c�.�UH'nUR[X5[X%55 M) UHFn[X5n[X%5nUH'nUS:XaUS:XaMURXxXh5 M) MH URURU5 g)Nr"�__wrapped__)r�r�r�)	r5�wrapper�wrapped�assigned�updatedr�wrapper_attr�wrapped_attrr!s	         r�
check_wrapper�TestUpdateWrapper.check_wrapper�s����D��M�M�'�'�0�'�'�2H�I���D�"�7�1�L�"�7�1�L�#���:�%�#��*>���
�
�l�/��1B�C�	$��	
�
�
�g�)�)�7�3rc�j�S"5nSUlSUlSSjn[R"X!5 X!4$)Nc��S7=n4SSjs8$)�Tc��g��This is a testNrrms rr��,TestUpdateWrapper._default_update.<locals>.f����r)rE�This is a new annotationr)�	.defaultsr�s  r�<generic parameters of f>�DTestUpdateWrapper._default_update.<locals>.<generic parameters of f>�s	��a�	r�This is also a testzThis is a bald faced liec��grrros rr��2TestUpdateWrapper._default_update.<locals>.wrapper����r)rFzThis is the prior annotation)r�r�r
�update_wrapper�r5r�r�s   r�_default_update�!TestUpdateWrapper._default_update�s2��	�'���2��
�	�� � ��,��z�rc�
�UR5upURX5 URunURURU5 URURS5 URURUR5 URURS5 URURSS5 URSUR5 URURU45 g)Nr�r�rEr�rF)r�r��__type_params__r�r�rWr)r+r��__annotations__�assertNotIn)r5r�r�r�s    r�test_default_update�%TestUpdateWrapper.test_default_update�s����)�)�+�
�����7�&�
�
�
����
�
�g�)�)�1�-�����)�)�3�/�����-�-�q�~�~�>�������'<�=�����0�0��5�7Q�R�����g�5�5�6�����0�0�1�$�7rrA�)Docstrings are omitted with -O2 and abovec�`�UR5upURURS5 g�Nr��r�rW�__doc__�r5r�r�s   r�test_default_update_doc�)TestUpdateWrapper.test_default_update_doc��)���)�)�+�
��������*:�;rc��SnSUlSn[R"X!SS5 URX!SS5 UR	UR
S5 UR
URUR5 UR	URS5 UR	UR05 UR[US55 g)Nc��gr�rrrrr��+TestUpdateWrapper.test_no_update.<locals>.f�r�rr�c��grrrrrr��1TestUpdateWrapper.test_no_update.<locals>.wrapper�r�rrr�r�)r�r
r�r�rWr)�assertNotEqualr+rr�r�r�r�s   r�test_no_update� TestUpdateWrapper.test_no_update�s���	�'���	�� � ��R��4����7�r�2�.�����)�)�9�5����G�0�0�!�.�.�A�������$�/�����0�0�"�5������&�1�2rc���SnSUl[SSSS9UlSn0UlSnS	n[R"X!X45 URX!X45 UR
URS
5 URURUR5 UR
URS5 UR
URS5 UR
URUR5 g)Nc��grrrrrr��2TestUpdateWrapper.test_selective_update.<locals>.f�r�r�This is a different testr@rArGrNc��grrrrrr��8TestUpdateWrapper.test_selective_update.<locals>.wrapper�r�rr��	dict_attrr�)r�rXrr
r�r�rWr)rr+r�r5r�r��assign�updates     r�test_selective_update�'TestUpdateWrapper.test_selective_update�s���	�+����Q�!�q�)���	��������� � ��V�<����7�v�6�����)�)�9�5����G�0�0�!�.�.�A�������$�/�������'A�B�����*�*�A�K�K�8rc���SnSn0UlSnSn[R"X!X45 URSUR5 URUR05 U?UR
[5 [R"X!X45 SSS5 SUlUR
[5 [R"X!X45 SSS5 g!,(df   NK=f!,(df   g=f)Nc��grrrrrr��4TestUpdateWrapper.test_missing_attributes.<locals>.fr�rc��grrrrrr��:TestUpdateWrapper.test_missing_attributes.<locals>.wrapperr�rrrr�r@)rr
r�r�r"rWrcrgrs     r�test_missing_attributes�)TestUpdateWrapper.test_missing_attributes�s���	�	��������� � ��V�<������!1�!1�2�����*�*�B�/���
�
�
�~�
.��$�$�W��@�/����
�
�
�~�
.��$�$�W��@�/�
.�/�
.��/�
.�s�8C�4C&�
C#�&
C4c��Sn[R"U[5 URURS5 URURRS55 URUR05 g)Nc��grrrrrr��6TestUpdateWrapper.test_builtin_update.<locals>.wrapperr�rrzmax()	r
r�rrWr)rUr�
startswithr��r5r�s  r�test_builtin_update�%TestUpdateWrapper.test_builtin_updates^��
	�� � ��#�.�����)�)�5�1�������2�2�6�:�;�����0�0�"�5rc���Sn[R"U[5 URURS5 URUR
05 URURS5 g)Nc��grr�rs rr��;TestUpdateWrapper.test_update_type_wrapper.<locals>.wrapper s��Drrr)r
r�rrWr)r�r�r)s  r�test_update_type_wrapper�*TestUpdateWrapper.test_update_type_wrappersW�� �� � ��$�/�����)�)�6�2�����0�0�"�5�����0�0�"�5rrN)r)r*r+r,r
�WRAPPER_ASSIGNMENTS�WRAPPER_UPDATESr�r�r��unittest�skipIfr�flags�optimizerrrr#r�requires_docstringsr*r0r-rrrr�r��s��� )�<�<�'�7�7�4�&	�
8��_�_�S�Y�Y�'�'�1�,�@�B�<�B�<�
3�9�$A�(
� � �
�_�_�S�Y�Y�'�'�1�,�@�B�6�B�!�6�6rr�c��\rSrSrSrSr\R"\RRS:�S5S5rSrSr
S	rg
)�	TestWrapsi(c�b�SnSUlSUl[R"U5S5nX!4$)Nc��gr�rrrrr��$TestWraps._default_update.<locals>.f+r�rr�zThis is still a bald faced liec��grrrrrr��*TestWraps._default_update.<locals>.wrapper0r�r)r�r�r
�wrapsr�s   rr��TestWraps._default_update*s:��	�'���8��
�	����	�	�
�	��z�rc��UR5upURX5 URURS5 URURUR5 URUR
S5 g)Nr�r�)r�r�rWr)r+r�rs   rr��TestWraps.test_default_update5se���)�)�+�
�����7�&�����)�)�3�/�����-�-�q�~�~�>�������'<�=rrArc�`�UR5upURURS5 grr)r5r��_s   rr�!TestWraps.test_default_update_doc<rrc�l�SnSUl[R"USS5S5nURX!SS5 UR	UR
S5 UR
URUR5 UR	URS5 UR[US55 g)Nc��gr�rrrrr��#TestWraps.test_no_update.<locals>.fCr�rr�rc��grrrrrr��)TestWraps.test_no_update.<locals>.wrapperGr�rr�r�)r�r
r@r�rWr)rr+rr�r�r�s   rr�TestWraps.test_no_updateBs���	�'���	����B��	#�	�
$�	����7�r�2�.�����)�)�9�5����G�0�0�!�.�.�A�������$�/������&�1�2rc���SnSUl[SSSS9UlSnSnS	n[R"XU5US
55nURXQX45 UR
URS5 URURUR5 UR
URS5 UR
URS5 UR
URUR5 g)Nc��grrrrrr��*TestWraps.test_selective_update.<locals>.fQr�rrr@rArGrNc��0UlU$rr)r�s r�
add_dict_attr�6TestWraps.test_selective_update.<locals>.add_dict_attrUs���A�K��Hrrrc��grrrrrr��0TestWraps.test_selective_update.<locals>.wrapperZs��
rr�)r�rXrr
r@r�rWr)rr+r)r5r�rQrrr�s      rr�TestWraps.test_selective_updatePs���	�+����Q�!�q�)���	�����	����F�	+�	�	�
�
,�	����7�v�6�����)�)�9�5����G�0�0�!�.�.�A�������$�/�������'A�B�����*�*�A�K�K�8rrN)r)r*r+r,r�r�r4r5rr6r7rrrr-rrrr:r:(sI��	�>��_�_�S�Y�Y�'�'�1�,�@�B�<�B�<�3�9rr:c� �\rSrSrSrSrSrg)�
TestReduceifc	�l�"SS5nSnURURU/SQS5S5 URURUSS//S	S
///5/SQ5 URURS[S
S5S5S5 URURS[S
S5S5S5 URURX!"S55S5 URURX!"S5S5S5 URURX!"S5S5S5 UR[UR5 UR[URSS5 UR[URSSS5 URURSS5S5 URURSSS5S5 UR[URSS5 UR[URU/5 UR[URUS5 UR[URUS5 UR[URU[55 "SS5nUR[URX#"55 URURU/S5S5 URURU/S5S5 "SS5nUR[URSU"55 g)Nc�&�\rSrSrSrSrSrSrg)�'TestReduce.test_reduce.<locals>.Squaresihc��Xl/Ulgr�r�sofar)r5rs  rrC�0TestReduce.test_reduce.<locals>.Squares.__init__is������
rc�,�[UR5$r)�lenr]rfs rr�/TestReduce.test_reduce.<locals>.Squares.__len__ms���4�:�:��&rc���SUs=::aUR:d
[e [e[UR5nX!::a)URR	X"-5 US-
nX!::aM)URU$)Nrr@)rr r`r]�append)r5�i�ns   rr"�3TestReduce.test_reduce.<locals>.Squares.__getitem__psf���A�(����(�
�*:�(�
�*:���
�
�O���f��J�J�%�%�a�c�*���F�A��f��z�z�!�}�$rr\N)r)r*r+r,rCrr"r-rrr�SquaresrZhs��
 �
'�
%rrgc�
�X-$rrr�s  rr��#TestReduce.test_reduce.<locals>.addwr�rrNr�r�rErLrpr4)rErLrpr4c�
�X-$rrr�s  rrR�(TestReduce.test_reduce.<locals>.<lambda>~s��!�#rrAr�r@i�c�
�X-$rrr�s  rrRrk�s��Q�Sr�lh�rBir�*�1)rnrnrc��\rSrSrSrSrg)�/TestReduce.test_reduce.<locals>.TestFailingIteri�c��[er��RuntimeErrorrfs r�__iter__�8TestReduce.test_reduce.<locals>.TestFailingIter.__iter__�s��"�"rrN)r)r*r+r,rur-rrr�TestFailingIterrq�s��
#rrwc��\rSrSrSrSrg)�&TestReduce.test_reduce.<locals>.BadSeqi�c��[er)�
ValueError)r5�indexs  rr"�2TestReduce.test_reduce.<locals>.BadSeq.__getitem__�s�� � rrN)r)r*r+r,r"r-rrr�BadSeqry�s��
!rr~)rW�reducer�rcrdr�rtr{)r5rgr�rwr~s     r�test_reduce�TestReduce.test_reducegs���	%�	%�	�������S�/�2�>��F�����K�K��s�C�j�"�s�C�j�9�2�>��	
�	
������%5�u�Q�q�z�1�E�t�L�����K�K�(�%��"�+�q�9��	
�	
������S�'�"�+�6��<�������S�'�"�+�q�9�3�?�������S�'�!�*�a�8�!�<����)�T�[�[�1����)�T�[�[�"�b�9����)�T�[�[�"�b�"�=�������R��-�s�3�������R��S�1�3�7����)�T�[�[�"�h�?����)�T�[�[�#�r�:����)�T�[�[�#�r�:����)�T�[�[�#�r�:����)�T�[�[�#�v�x�@�	#�	#�	
���,����S�/�:K�L�������S�"�d�3�T�:�������S�"�b�1�2�6�	!�	!�	
���*�d�k�k�2�v�x�@rc��"SS5nSSKJn URURX!"S55S5 URURX!"S5S5S5 UR	[
URX!"S55 URURX!"S5S5S5 URURX!"S	55S5 URURX!"S	5S5S5 S	S
SS.nURURX#5S
R
UR555 g)Nc� �\rSrSrSrSrSrg)�5TestReduce.test_iterator_usage.<locals>.SequenceClassi�c��Xlgr�re)r5res  rrC�>TestReduce.test_iterator_usage.<locals>.SequenceClass.__init__�����rc�P�SUs=::aUR:a
U$ [e[e�Nr)rer )r5rds  rr"�ATestReduce.test_iterator_usage.<locals>.SequenceClass.__getitem__�s(����?�D�F�F�?��H�#�%�$�*�$rr�N)r)r*r+r,rCr"r-rrr�
SequenceClassr��s��
�
%rr�r)r�rlrBrn�4r@rArG)�one�two�threer�)�operatorr�rWrrcrdr��keys)r5r�r�rps    r�test_iterator_usage�TestReduce.test_iterator_usage�s��	%�	%�	!�������S�-��*:�;�R�@�������S�-��*:�B�?��D����)�T�[�[�#�}�Q�7G�H�������S�-��*:�B�?��D�������S�-��*:�;�Q�?�������S�-��*:�B�?��D��a�!�,��������S�,�b�g�g�a�f�f�h�.?�@rrN)r)r*r+r,r�r�r-rrrrWrWfs��5A�pArrWc�@�\rSrSr\(a\R
rSrgSrg)�TestReduceCi�rN)r)r*r+r,r}rr-rrrr�r��s����#�#��rr�c�8�\rSrSr\"\R5rSrg)�TestReducePyi�rN)r)r*r+r,r-r�rr-rrrr�r��s��
�,�-�-�
.�Frr�c��\rSrSrSrSrSrSrSrSr	Sr
\R"\
RS	5S
5rSrg)
�TestCmpToKeyi�c��SnURU5nURU"S5U"S55 URU"S5U"S55 URU"S5U"S55 SnURU5nURU"S5U"S55 UR	U"S5U"S55 URU"S5U"S55 UR
U"S5U"S55 g)	Nc��X:�X:-
$rrr�s  r�cmp1�*TestCmpToKey.test_cmp_to_key.<locals>.cmp1�����E�a�e�$�$rrGr@c�0�[U5[U5-
$r�r�r�s  r�cmp2�*TestCmpToKey.test_cmp_to_key.<locals>.cmp2�s���q�6�C��F�?�"rg@�4rA�35)�
cmp_to_keyrW�
assertGreater�assertGreaterEqual�
assertLess�assertLessEqualr)r5r�r!r�s    r�test_cmp_to_key�TestCmpToKey.test_cmp_to_key�s���	%��o�o�d�#������Q���Q��(����3�q�6�3�q�6�*�����A���A��/�	#��o�o�d�#������S��3�s�8�,�����A���D�	�*����S��V�S��Y�/����C��F�C��I�.rc��SnURUS9nURU"SS9U"SS95 URU"SS9U"SS95 UR[[
45 U"S5S:� SSS5 UR[[
45 SU"S5: SSS5 UR[5 UR5nSSS5 UR[5 URUS5nSSS5 URU5nUR[5 U"5 SSS5 UR[5 U"SS5 SSS5 g!,(df   N�=f!,(df   N�=f!,(df   N�=f!,(df   N�=f!,(df   Nz=f!,(df   g=f)Nc��X:�X:-
$rrr�s  rr��4TestCmpToKey.test_cmp_to_key_arguments.<locals>.cmp1�r�r��mycmprGr�r@)r�rWr�rcrdrg�r5r�r!s   r�test_cmp_to_key_arguments�&TestCmpToKey.test_cmp_to_key_arguments�sB��	%��o�o�D�o�)��������S�Q�Z�0����3�1�:�s�q�z�2�
�
�
�	�>�:�
;���F�Q�J�<�
�
�
�	�>�:�
;�
��A��J�<�
�
�
�y�
)��/�/�#�C�*�
�
�
�y�
)��/�/�$��-�C�*��o�o�d�#��
�
�
�y�
)��E�*�
�
�
�y�
)���d�O�*�
)�<�
;��
;�
;��
)�
)��
)�
)��*�
)��
)�
)�sH�"E!�E2�:F�(F�)F%�
F6�!
E/�2
F�
F�
F"�%
F3�6
Gc�N^�SnURU5nUR[5 U"S5U"S5:� SSS5 "SS5mU4SjnUR[5 U"S5U"S5:� SSS5 g!,(df   NN=f!,(df   g=f)Nc��[er�r�r�s  rr��'TestCmpToKey.test_bad_cmp.<locals>.cmp1�s��#�#rrGr@c��\rSrSrSrSrg)�)TestCmpToKey.test_bad_cmp.<locals>.BadCmpi�c��[err�r4s  r�__lt__�0TestCmpToKey.test_bad_cmp.<locals>.BadCmp.__lt__�s��'�'rrN)r)r*r+r,r�r-rrr�BadCmpr��s��
(rr�c�>�T"5$rr)rQr�r�s  �rr�r��s
����8�Or)r�rcr�)r5r�r!r�s   @r�test_bad_cmp�TestCmpToKey.test_bad_cmp�s����	$��o�o�d�#��
�
�
�0�
1���F�S��V�O�2�	(�	(�	�
�
�
�0�
1���F�S��V�O�2�
1�2�
1��2�
1�s�B�*B�
B�
B$c�l�SnURUS9nURU"S5RS5 g)Nc��X:�X:-
$rrr�s  rr��)TestCmpToKey.test_obj_field.<locals>.cmp1�r�rr��2)r�rWr�r�s   r�test_obj_field�TestCmpToKey.test_obj_field�s/��	%��o�o�D�o�)������R����b�)rc�r�SnUR[[S5URU5S9/SQ5 g)Nc�
�X-
$rrr�s  rr��)TestCmpToKey.test_sort_int.<locals>.mycmp�r�rrl�r!)rHrGrAr@r)rW�sortedr�r�)r5r�s  r�
test_sort_int�TestCmpToKey.test_sort_int�s.��	������a��d�o�o�e�.D�E�(�	*rc��Sn/SQn[X RU5S9nURUVs/sHn[U5PM sn/SQ5 gs snf)Nc�>�[U5[U5pX:�X:-
$rr�r�s  rr��-TestCmpToKey.test_sort_int_str.<locals>.mycmps ���q�6�3�q�6�q��E�a�e�$�$r)	rl�3rnrA�0rorH�10r@r�)	rr@r@rArGrHrlrnrB)r�r�rWr�)r5r��valuesrms    r�test_sort_int_str�TestCmpToKey.test_sort_int_strsJ��	%�6����O�O�E�$:�;�����&�9�&��#�e�*�&�9�5�	7��9s�Ac���SnURU5nU"S5nUR[[U5 UR	U[
RR5 g)Nc�
�X-
$rrr�s  rr��%TestCmpToKey.test_hash.<locals>.mycmp
r�rrB)r�rcrd�hash�assertNotIsInstance�collectionsr��Hashable)r5r�r!�ks    r�	test_hash�TestCmpToKey.test_hash	sJ��	��o�o�e�$����G�����)�T�1�-�� � ��K�O�O�$<�$<�=rz6Signature information for builtins requires docstringsc��[R"UR5nUR[	U5S5 Sn[R"URU55nUR[	U5S5 g)Nz(mycmp)c�
�X-
$rrr�s  rr��1TestCmpToKey.test_cmp_to_signature.<locals>.mycmpr�rz(obj))r�
from_callabler�rWr�)r5�sigr�s   r�test_cmp_to_signature�"TestCmpToKey.test_cmp_to_signatures^���%�%�d�o�o�6������S��9�-�	��%�%�d�o�o�e�&<�=������S��7�+rrN)r)r*r+r,r�r�r�r�r�r�r�r4r5r�MISSING_C_DOCSTRINGSr�r-rrrr�r��sO��/� �(
�*�*�7�>��_�_�W�1�1�M�O�,�O�,rr�c�^�\rSrSr\(a\R
r\RS5rSr	g)�
TestCmpToKeyCic�j�[R"U[[R	S555 gr)r�check_disallow_instantiationrr}r�rfs r�test_disallow_instantiation�)TestCmpToKeyC.test_disallow_instantiation"s'��	�,�,��$�{�-�-�d�3�4�	
rrN)
r)r*r+r,r}r�r�cpython_onlyr�r-rrrr�r�s(��� �+�+�
����
��
rr�c�8�\rSrSr\"\R5rSrg)�TestCmpToKeyPyi*rN)r)r*r+r,r-r�r�r-rrrr�r�*s���l�5�5�6�Jrr�c�P�\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
Srg
)�TestTotalOrderingi.c��[R"SS55nURU"S5U"S5:5 URU"S5U"S5:�5 URU"S5U"S5:*5 URU"S5U"S5:�5 URU"S5U"S5:*5 URU"S5U"S5:�5 URU"S5U"S5:�5 g)Nc�&�\rSrSrSrSrSrSrg)�3TestTotalOrdering.test_total_ordering_lt.<locals>.Ai1c��Xlgr�rm�r5rms  rrC�<TestTotalOrdering.test_total_ordering_lt.<locals>.A.__init__3���"�
rc�4�URUR:$rr�r4s  rr��:TestTotalOrdering.test_total_ordering_lt.<locals>.A.__lt__5����z�z�E�K�K�/�/rc�4�URUR:H$rr�r4s  r�__eq__�:TestTotalOrdering.test_total_ordering_lt.<locals>.A.__eq__7����z�z�U�[�[�0�0rr�N�r)r*r+r,rCr�rr-rrrr/r�1���
#�
0�
1rr/r@rA�r
�total_orderingrUr��r5r/s  r�test_total_ordering_lt�(TestTotalOrdering.test_total_ordering_lt0����	�	!�	!�	1�	1�
"�	1�	
����!��q��t��$�����!��q��t��$�����!���!���%�����!���!���%�����!���!���%�����!���!���%�����1���!���%rc��[R"SS55nURU"S5U"S5:5 URU"S5U"S5:�5 URU"S5U"S5:*5 URU"S5U"S5:�5 URU"S5U"S5:*5 URU"S5U"S5:�5 URU"S5U"S5:�5 g)Nc�&�\rSrSrSrSrSrSrg)�3TestTotalOrdering.test_total_ordering_le.<locals>.AiBc��Xlgrr�r�s  rrC�<TestTotalOrdering.test_total_ordering_le.<locals>.A.__init__Dr�rc�4�URUR:*$rr�r4s  r�__le__�:TestTotalOrdering.test_total_ordering_le.<locals>.A.__le__Frrc�4�URUR:H$rr�r4s  rr�:TestTotalOrdering.test_total_ordering_le.<locals>.A.__eq__Hrrr�N)r)r*r+r,rCrrr-rrrr/rB���
#�
1�
1rr/r@rArrs  r�test_total_ordering_le�(TestTotalOrdering.test_total_ordering_leA����	�	!�	!�	1�	1�
"�	1�	
����!��q��t��$�����!��q��t��$�����!���!���%�����!���!���%�����!���!���%�����!���!���%�����1���1���&rc��[R"SS55nURU"S5U"S5:5 URU"S5U"S5:�5 URU"S5U"S5:*5 URU"S5U"S5:�5 URU"S5U"S5:*5 URU"S5U"S5:�5 URU"S5U"S5:5 g)Nc�&�\rSrSrSrSrSrSrg)�3TestTotalOrdering.test_total_ordering_gt.<locals>.AiSc��Xlgrr�r�s  rrC�<TestTotalOrdering.test_total_ordering_gt.<locals>.A.__init__Ur�rc�4�URUR:�$rr�r4s  r�__gt__�:TestTotalOrdering.test_total_ordering_gt.<locals>.A.__gt__Wr�rc�4�URUR:H$rr�r4s  rr�:TestTotalOrdering.test_total_ordering_gt.<locals>.A.__eq__Yrrr�N)r)r*r+r,rCr rr-rrrr/rSrrr/r@rArrs  r�test_total_ordering_gt�(TestTotalOrdering.test_total_ordering_gtRrrc��[R"SS55nURU"S5U"S5:5 URU"S5U"S5:�5 URU"S5U"S5:*5 URU"S5U"S5:�5 URU"S5U"S5:*5 URU"S5U"S5:�5 URU"S5U"S5:*5 g)Nc�&�\rSrSrSrSrSrSrg)�3TestTotalOrdering.test_total_ordering_ge.<locals>.Aidc��Xlgrr�r�s  rrC�<TestTotalOrdering.test_total_ordering_ge.<locals>.A.__init__fr�rc�4�URUR:�$rr�r4s  r�__ge__�:TestTotalOrdering.test_total_ordering_ge.<locals>.A.__ge__hrrc�4�URUR:H$rr�r4s  rr�:TestTotalOrdering.test_total_ordering_ge.<locals>.A.__eq__jrrr�N)r)r*r+r,rCr,rr-rrrr/r(drrr/r@rArrs  r�test_total_ordering_ge�(TestTotalOrdering.test_total_ordering_gecrrc���[R"SS[55nURU"S5U"S5:5 URU"S5U"S5:�5 URU"S5U"S5:*5 URU"S5U"S5:�5 URU"S5U"S5:*5 URU"S5U"S5:�5 g)Nc��\rSrSrSrg)�=TestTotalOrdering.test_total_ordering_no_overwrite.<locals>.AivrNr(rrrr/r4v���rr/r@rA)r
rr�rUrs  r� test_total_ordering_no_overwrite�2TestTotalOrdering.test_total_ordering_no_overwritets���	�	!�	!�	��	�
"�	�����!��q��t��$�����!��q��t��$�����!���!���%�����!���!���%�����!���!���%�����!���!���%rc��UR[5 [R"SS55nSSS5 g!,(df   g=f)Nc��\rSrSrSrg)�7TestTotalOrdering.test_no_operations_defined.<locals>.Ai�rNr(rrrr/r:�s��rr/)rcr{r
rrs  r�test_no_operations_defined�,TestTotalOrdering.test_no_operations_defined�s9��
�
�
�z�
*�
�
%�
%�
�
�&�
�+�
*�
*�s	�=�
Ac�^^^^�[R"U4SjS55m[R"U4SjS55m[R"U4SjS55m[R"U4SjS55mURT"S	5RS	5[5 URT"S	5RS	5[5 URT"S	5R
S	5[5 URT"S	5RS	5[5 URT"S	5RS	5[5 URT"S	5R
S	5[5 URT"S	5RS	5[5 URT"S	5RS	5[5 URT"S	5R
S	5[5 URT"S	5RS	5[5 URT"S	5RS	5[5 URT"S	5RS	5[5 g)
Nc�4>�\rSrSrSrU4SjrU4SjrSrg)�ATestTotalOrdering.test_notimplemented.<locals>.ImplementsLessThani�c��Xlgrr�r�s  rrC�JTestTotalOrdering.test_notimplemented.<locals>.ImplementsLessThan.__init__�r�rc�Z>�[UT5(aURUR:H$grO��
isinstancerm�r5r6�ImplementsLessThans  �rr�HTestTotalOrdering.test_notimplemented.<locals>.ImplementsLessThan.__eq__��'����e�%7�8�8��:�:����4�4�rc�d>�[UT5(aURUR:$[$r�rDrm�NotImplementedrEs  �rr��HTestTotalOrdering.test_notimplemented.<locals>.ImplementsLessThan.__lt__��*����e�%7�8�8��:�:����3�3�%�%rr�N�r)r*r+r,rCrr�r-�rFs�rrFr?�����
#�
�
&�
&rrFc�4>�\rSrSrSrU4SjrU4SjrSrg)�HTestTotalOrdering.test_notimplemented.<locals>.ImplementsLessThanEqualToi�c��Xlgrr�r�s  rrC�QTestTotalOrdering.test_notimplemented.<locals>.ImplementsLessThanEqualTo.__init__�r�rc�Z>�[UT5(aURUR:H$grOrC�r5r6�ImplementsLessThanEqualTos  �rr�OTestTotalOrdering.test_notimplemented.<locals>.ImplementsLessThanEqualTo.__eq__��'����e�%>�?�?��:�:����4�4�rc�d>�[UT5(aURUR:*$[$rrJrVs  �rr�OTestTotalOrdering.test_notimplemented.<locals>.ImplementsLessThanEqualTo.__le__��*����e�%>�?�?��:�:����4�4�%�%rr�N�r)r*r+r,rCrrr-�rWs�rrWrR�rPrrWc�4>�\rSrSrSrU4SjrU4SjrSrg)�DTestTotalOrdering.test_notimplemented.<locals>.ImplementsGreaterThani�c��Xlgrr�r�s  rrC�MTestTotalOrdering.test_notimplemented.<locals>.ImplementsGreaterThan.__init__�r�rc�Z>�[UT5(aURUR:H$grOrC�r5r6�ImplementsGreaterThans  �rr�KTestTotalOrdering.test_notimplemented.<locals>.ImplementsGreaterThan.__eq__��'����e�%:�;�;��:�:����4�4�rc�d>�[UT5(aURUR:�$[$rrJrds  �rr �KTestTotalOrdering.test_notimplemented.<locals>.ImplementsGreaterThan.__gt__��*����e�%:�;�;��:�:����3�3�%�%rr�N�r)r*r+r,rCrr r-�res�rrer`�rPrrec�4>�\rSrSrSrU4SjrU4SjrSrg)�KTestTotalOrdering.test_notimplemented.<locals>.ImplementsGreaterThanEqualToi�c��Xlgrr�r�s  rrC�TTestTotalOrdering.test_notimplemented.<locals>.ImplementsGreaterThanEqualTo.__init__�r�rc�Z>�[UT5(aURUR:H$grOrC�r5r6�ImplementsGreaterThanEqualTos  �rr�RTestTotalOrdering.test_notimplemented.<locals>.ImplementsGreaterThanEqualTo.__eq__��'����e�%A�B�B��:�:����4�4�rc�d>�[UT5(aURUR:�$[$rrJrrs  �rr,�RTestTotalOrdering.test_notimplemented.<locals>.ImplementsGreaterThanEqualTo.__ge__��*����e�%A�B�B��:�:����4�4�%�%rr�N�r)r*r+r,rCrr,r-�rss�rrsrn�rPrrsr@)r
rr�rrKr r,r�)r5rersrFrWs @@@@r�test_notimplemented�%TestTotalOrdering.test_notimplemented�s����	�	!�	!�
	&�
	&�
"�
	&�
�	!�	!�
	&�
	&�
"�
	&�
�	!�	!�
	&�
	&�
"�
	&�
�	!�	!�
	&�
	&�
"�
	&�	
�
�
�(��+�2�2�1�5�~�F��
�
�(��+�2�2�1�5�~�F��
�
�(��+�2�2�1�5�~�F��
�
�/��2�9�9�!�<�n�M��
�
�/��2�9�9�!�<�n�M��
�
�/��2�9�9�!�<�n�M��
�
�+�A�.�5�5�a�8�.�I��
�
�+�A�.�5�5�a�8�.�I��
�
�+�A�.�5�5�a�8�.�I��
�
�2�1�5�<�<�Q�?��P��
�
�2�1�5�<�<�Q�?��P��
�
�2�1�5�<�<�Q�?��Prc��
^^^^^�[R"U4SjS55m[R"U4SjS55m[R"U4SjS55m[R"U4SjS55m[R"U4S	jS
55mURS5 UR[5 T"S5S
: SSS5 SSS5 URS5 UR[5 T"S5T"S5: SSS5 SSS5 URS5 UR[5 T"S
5T"S
5: SSS5 SSS5 URS5 UR[5 T"S5T"S5:* SSS5 SSS5 URS5 UR[5 T"S5T"S5:* SSS5 SSS5 URS5 UR[5 T"S5T"S5:� SSS5 SSS5 URS5 UR[5 T"S5T"S5:� SSS5 SSS5 URS5 UR[5 T"S5T"S5:� SSS5 SSS5 URS5 UR[5 T"S5T"S5:� SSS5 SSS5 URS5 T"S5nT"S5nURX5 UR[5 X:� SSS5 SSS5 URS5 T"S 5nT"S 5nURX5 UR[5 X:* SSS5 SSS5 g!,(df   GN=f!,(df   GN$=f!,(df   GN�=f!,(df   GN�=f!,(df   GN�=f!,(df   GN�=f!,(df   GN�=f!,(df   GN�=f!,(df   GN�=f!,(df   GN�=f!,(df   GNa=f!,(df   GNk=f!,(df   GN<=f!,(df   GNF=f!,(df   GN=f!,(df   GN!=f!,(df   GN�=f!,(df   GN�=f!,(df   GN�=f!,(df   GN�=f!,(df   GN�=f!,(df   g=f)!Nc�4>�\rSrSrSrU4SjrU4SjrSrg)�RTestTotalOrdering.test_type_error_when_not_implemented.<locals>.ImplementsLessThani�c��Xlgrr�r�s  rrC�[TestTotalOrdering.test_type_error_when_not_implemented.<locals>.ImplementsLessThan.__init__�r�rc�Z>�[UT5(aURUR:H$grOrCrEs  �rr�YTestTotalOrdering.test_type_error_when_not_implemented.<locals>.ImplementsLessThan.__eq__�rHrc�d>�[UT5(aURUR:$[$rrJrEs  �rr��YTestTotalOrdering.test_type_error_when_not_implemented.<locals>.ImplementsLessThan.__lt__�rMrr�NrNrOs�rrFr�rPrrFc�4>�\rSrSrSrU4SjrU4SjrSrg)�UTestTotalOrdering.test_type_error_when_not_implemented.<locals>.ImplementsGreaterThani�c��Xlgrr�r�s  rrC�^TestTotalOrdering.test_type_error_when_not_implemented.<locals>.ImplementsGreaterThan.__init__�r�rc�Z>�[UT5(aURUR:H$grOrCrds  �rr�\TestTotalOrdering.test_type_error_when_not_implemented.<locals>.ImplementsGreaterThan.__eq__�rgrc�d>�[UT5(aURUR:�$[$rrJrds  �rr �\TestTotalOrdering.test_type_error_when_not_implemented.<locals>.ImplementsGreaterThan.__gt__�rjrr�Nrkrls�rrer��rPrrec�4>�\rSrSrSrU4SjrU4SjrSrg)�YTestTotalOrdering.test_type_error_when_not_implemented.<locals>.ImplementsLessThanEqualToi�c��Xlgrr�r�s  rrC�bTestTotalOrdering.test_type_error_when_not_implemented.<locals>.ImplementsLessThanEqualTo.__init__�r�rc�Z>�[UT5(aURUR:H$grOrCrVs  �rr�`TestTotalOrdering.test_type_error_when_not_implemented.<locals>.ImplementsLessThanEqualTo.__eq__�rYrc�d>�[UT5(aURUR:*$[$rrJrVs  �rr�`TestTotalOrdering.test_type_error_when_not_implemented.<locals>.ImplementsLessThanEqualTo.__le__�r\rr�Nr]r^s�rrWr��rPrrWc�4>�\rSrSrSrU4SjrU4SjrSrg)�\TestTotalOrdering.test_type_error_when_not_implemented.<locals>.ImplementsGreaterThanEqualToi�c��Xlgrr�r�s  rrC�eTestTotalOrdering.test_type_error_when_not_implemented.<locals>.ImplementsGreaterThanEqualTo.__init__�r�rc�Z>�[UT5(aURUR:H$grOrCrrs  �rr�cTestTotalOrdering.test_type_error_when_not_implemented.<locals>.ImplementsGreaterThanEqualTo.__eq__�rurc�d>�[UT5(aURUR:�$[$rrJrrs  �rr,�cTestTotalOrdering.test_type_error_when_not_implemented.<locals>.ImplementsGreaterThanEqualTo.__ge__�rxrr�Nryrzs�rrsr��rPrrsc�.>�\rSrSrSrU4SjrSrSrg)�XTestTotalOrdering.test_type_error_when_not_implemented.<locals>.ComparatorNotImplementedic��Xlgrr�r�s  rrC�aTestTotalOrdering.test_type_error_when_not_implemented.<locals>.ComparatorNotImplemented.__init__r�rc�Z>�[UT5(aURUR:H$grOrC)r5r6�ComparatorNotImplementeds  �rr�_TestTotalOrdering.test_type_error_when_not_implemented.<locals>.ComparatorNotImplemented.__eq__s'����e�%=�>�>��:�:����4�4�rc��[$r)rKr4s  rr��_TestTotalOrdering.test_type_error_when_not_implemented.<locals>.ComparatorNotImplemented.__lt__s��%�%rr�NrN)r�s�rr�r�s���
#�
�
&rr�zLT < 1���r@zLT < LErzLT < GTzLE <= LTrAzLE <= GErGzGT > GErHzGT > LTrlzGE >= GTr�zGE >= LErnz
GE when equalr�z
LE when equalr�)r
rr�rcrdrW)r5rErFr�rersrFrWs   @@@@@r�$test_type_error_when_not_implemented�6TestTotalOrdering.test_type_error_when_not_implemented�s����
�	!�	!�
	&�
	&�
"�
	&�
�	!�	!�
	&�
	&�
"�
	&�
�	!�	!�
	&�
	&�
"�
	&�
�	!�	!�
	&�
	&�
"�
	&�
�	!�	!�	&�	&�
"�	&��\�\�(�
#�T�%6�%6�y�%A��r�"�Q�&�&B�
#��\�\�)�
$�d�&7�&7�	�&B��q�!�$=�a�$@�@�'C�
$��\�\�)�
$�d�&7�&7�	�&B��q�!�$9�!�$<�<�'C�
$��\�\�*�
%�t�'8�'8��'C�%�a�(�,>�q�,A�A�(D�
%��\�\�*�
%�t�'8�'8��'C�%�a�(�,H��,K�K�(D�
%��\�\�)�
$�d�&7�&7�	�&B�!�!�$�'C�A�'F�F�'C�
$��\�\�)�
$�d�&7�&7�	�&B�!�!�$�'9�!�'<�<�'C�
$��\�\�*�
%�t�'8�'8��'C�(��+�/D�Q�/G�G�(D�
%��\�\�*�
%�t�'8�'8��'C�(��+�/H��/K�K�(D�
%��\�\�/�
*�(��+�A�(��+�A����Q�"��"�"�9�-���.�	+��\�\�/�
*�(��+�A�(��+�A����Q�"��"�"�9�-���.�	+�
*�E&B�%A��
#�
#��'C�&B��
$�
$��'C�&B��
$�
$��(D�'C��
%�
%��(D�'C��
%�
%��'C�&B��
$�
$��'C�&B��
$�
$��(D�'C��
%�
%��(D�'C��
%�
%��.�-��	+�
*��.�-��	+�
*�s��7O>�
O,�O>�:P"�P�"P"�Q�P4�+Q�Q*�"Q�4Q*�R�+Q<�=R�R2�4R �R2�'S�=S�S�0S:�S(�S:�9T�T�!T�7U�9T0�>U�7U&�U�U&�,
O;	�6O>�>
P
�
P	�P"�"
P1�4
Q	�>Q�
Q�
Q'	�"Q*�*
Q9�<
R	�R�
R� 
R/	�*R2�2
S�
S	�S�
S%�(
S7	�2S:�:
T	�
T	�T�
T-�0
T?	�:U�
U�
U#	�U&�&
U4c	�F�[[RS-5HonSHfnURX!S9 [	[
U5n[R"[R"X155nURXC5 SSS5 Mh Mq g!,(df   M~=f)Nr@)r�r rr,)r�r�)	r�r�r�r�r��Orderable_LTr�r�r�)r5r�rr��method_copys     rr��TestTotalOrdering.test_pickle4sr���6�2�2�Q�6�7�E�>���\�\��\�;�$�\�4�8�F�"(�,�,�v�|�|�F�/J�"K�K��M�M�+�6�<�;�?�8�;�;�s�AB�
B c�^�[R"U4SjS[55m"SSTS9n"SSTS9nURX!:5 UR	X!:�5 g)Nc�B>^�\rSrSrU4SjrU4SjrU4SjrSrU=r$)�WTestTotalOrdering.test_total_ordering_for_metaclasses_issue_44605.<locals>.SortableMetai?c�$>�[TU]XX#5$r)�super�__new__)r�r�bases�ns�	__class__s    �rr��_TestTotalOrdering.test_total_ordering_for_metaclasses_issue_44605.<locals>.SortableMeta.__new__As����w��s�%�<�<rc�Z>�[UT5(dURUR:$r�rDr)�r5r6�SortableMetas  �rr��^TestTotalOrdering.test_total_ordering_for_metaclasses_issue_44605.<locals>.SortableMeta.__lt__Ds&���!�%��6�6���}�}�u�~�~�5�5rc�Z>�[UT5(dURUR:H$rr�r�s  �rr�^TestTotalOrdering.test_total_ordering_for_metaclasses_issue_44605.<locals>.SortableMeta.__eq__Is&���!�%��6�6���}�}����6�6rr)	r)r*r+r,r�r�rr-�
__classcell__)r�r�s@�rr�r�?s���
=�
6�

7�
7rr�c��\rSrSrSrg)�LTestTotalOrdering.test_total_ordering_for_metaclasses_issue_44605.<locals>.BiNrNr(rrrr�r�N���rr���	metaclassc��\rSrSrSrg)�LTestTotalOrdering.test_total_ordering_for_metaclasses_issue_44605.<locals>.AiQrNr(rrrr/r�Qr�rr/)r
rrrUr�)r5r�r/r�s   @r�/test_total_ordering_for_metaclasses_issue_44605�ATestTotalOrdering.test_total_ordering_for_metaclasses_issue_44605=sZ���	�	!�	!�	7�4�	7�
"�	7�	�,�	�	�,�	�	
�����������rrN)r)r*r+r,r	rr$r0r6r;r{r�r�r�r-rrrr�r�.s9��&�"'�"&�"'�"
&��AQ�Fi�V7� rr�c�&�\rSrSrSrSrSrSrg)r�iXc��Xlgrr�r�s  rrC�Orderable_LT.__init__Zs���
rc�4�URUR:$rr�r4s  rr��Orderable_LT.__lt__\s���z�z�E�K�K�'�'rc�4�URUR:H$rr�r4s  rr�Orderable_LT.__eq__^s���z�z�U�[�[�(�(rr�Nrrrrr�r�Xs���(�)rr�c��\rSrSrSrSrg)�	TestCacheibc
�^�URRU4Sj5mUR[S5Vs/sHnT"U5PM
 sn/SQ5 URTR	5URRSSSSS95 TR
5 URTR	5URRSSSSS95 gs snf)Nc�B>�US:aU$T"US-
5T"US-
5-$�NrAr@r�re�fibs �rr��!TestCache.test_cache.<locals>.fibg�*����1�u����q��s�8�c�!�A�#�h�&�&rr��rr@r@rArGrlr��
rm�"�7�Y���iyib���hits�misses�maxsize�currsizer)r��cacherWr��
cache_info�
_CacheInfo�cache_clear�r5rer�s  @r�
test_cache�TestCache.test_cachefs����	
���	�	�	'�
�	'�	
���%��)�4�)�Q�#�a�&�)�4�I�	K�������)��K�K�"�"��2�t�b�"�Q�	S�����������)��K�K�"�"��!�T�A�"�N�	P��5s�CrN)r)r*r+r,r�r-rrrr�r�bs��Prr�c��\rSrSr\rSrg)�TestCachePyiurN)r)r*r+r,r�r�r-rrrr�r�us��
�Frr�c�,�\rSrSr\(a\rSrgSrg)�
TestCacheCiyrN)r)r*r+r,r}r�r-rrrr�r�ys�����rr�c��\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
SrS
rSrSrSrSrSr\R,"5S5r\R,"5S5r\R,"5S5rSrSrSrSrSrSr\ RB"5S5r"Sr#\ RH\%RL"\ RNS5S55r(S r)g!)"�TestLRUic�n	^
�SnURRSS9"U5nUR5up4pVURUS5 URUS5 URUS5 URUS5 [	S5n[	S5H9n[U5[U5p�U"X�5nU"X�5nURX�5 M; UR5up4pVUR
X4:�5 URX4-S5 URUS5 UR5 UR5up4pVURUS5 URUS5 URUS5 U"W	W
5 UR5up4pVURUS5 URUS5 URUS5 URURU5 URX�5 UR5up4pVURUS5 URUS5 URUS5 URRS5U
4Sj5nURUR5RS5 Sm
[	S5HnURU"5S5 M URT
S5 UR5up4pVURUS5 URUS5 URUS5 URRS5U
4S	j5nURUR5RS5 Sm
[	S5HnURU"5S5 M URT
S5 UR5up4pVURUS
5 URUS5 URUS5 URRS5U
4Sj5nURUR5RS5 Sm
S
Hn	URU"U	5U	S-5 M  URT
S
5 UR5up4pVURUS5 URUS
5 URUS5 g)Nc��SU-U-$�NrGrr�s  r�orig�TestLRU.test_lru.<locals>.orig�����q�5�1�9�rrC�r�rrl��r@c�>�TS-
mg�Nr@rCr��f_cnts�rr��TestLRU.test_lru.<locals>.f�����
�Q�J�E�rc�>�TS-
mgr�rr�s�rr�r��rrrHrAc�>�TS-
mUS-$�Nr@rBr)rQr�s �rr�r��s���
�Q�J�E��R�4�Kr)rnr�rnr�rnr�r�r�r�r�r�r�r�r�r�rnrB�)r��	lru_cacher�rWr�rrUr�r�r�r�)r5r�r�r�r�r�r��domainrdrQr��actualr�r�s             @r�test_lru�TestLRU.test_lru�s���	��K�K�!�!�"�!�-�d�3��*+�,�,�.�'��g�����"�%�����1�%�����q�!������#��q����t��A��&�>�6�&�>�q��q�W�F��A�z�H����V�.�	�
+,�,�,�.�'��g�����
�&�������-�����2�&�	�
�
��*+�,�,�.�'��g�����q�!������#�����1�%�	�!�Q��*+�,�,�.�'��g�����q�!������#�����1�%�	
�
�
�a�m�m�T�*�	�
�
�a��*+�,�,�.�'��g�����q�!������#�����1�%�
���	�	�q�	!�	�
"�	�	
�������/�/��3����q��A����Q�S�"�%�������"�*+�,�,�.�'��g�����q�!������#�����1�%�
���	�	�q�	!�	�
"�	�	
�������/�/��3����q��A����Q�S�"�%�������"�*+�,�,�.�'��g�����q�!������#�����1�%�
���	�	�q�	!�	�
"�	�	
�������/�/��3���?�A����Q�q�T�1�R�4�(�@�	
�����"�*+�,�,�.�'��g�����r�"������#�����1�%rc	���URRS5nUR[[	U/SQ55/SQ5 URUR5RS5 URUR5RS5 URUR5RS5 URUR5RS5 g)Nc��US-$�NrArrPs r�square�(TestLRU.test_lru_no_args.<locals>.square�s����6�Mr)rBrCrB)ri�rr@rA�)
r�rrWr3rYr�r�r�r�r�)r5r
s  r�test_lru_no_args�TestLRU.test_lru_no_args�s���	
���	�	�	�
�	�	
����c�&�,�7�8�(�	*�����*�*�,�1�1�1�5�����*�*�,�3�3�Q�7�����*�*�,�4�4�c�:�����*�*�,�5�5�q�9rc�^^�SmURRSS9UU4Sj5m[S5HnURT"U5SUS35 M! URTR	5R
S5 URT"S5S5 URTR	5R
S5 g)	NTrBr�c�B>�SUS3nUS:XaT(a
SmT"U5nU$)Nr�rCFr)rQ�rvr��onces  ��rr��%TestLRU.test_lru_bug_35780.<locals>.f�s.����Q�C�q��B��B�w�4����q�T���Ir�r�rCz.20.)r�rr�rWr�r�)r5rQr�rs  @@r�test_lru_bug_35780�TestLRU.test_lru_bug_35780�s������	
���	�	�r�	�	*�	�
+�	��r��A����Q�q�T�Q�q�c��8�,���������0�0�"�5�	
����2���'��������0�0�"�5rc��URR5S5nU"S5 U"S00D6 URUR5RS5 g)Nc��grrrPs rr��%TestLRU.test_lru_bug_36650.<locals>.fr�rrr@r~)r�rrWr�r�r�s  r�test_lru_bug_36650�TestLRU.test_lru_bug_36650sQ��
���	�	�	 �	�
!�	�	
�!��	�
�r�
��������,�,�a�0rc��URRSS9S5n[RR	5n[RR	SS9Ul[RR	SS9UlURU"US5S5 URURRS5 URUR5S5 URU"US5S5 URURRS	5 URUR5S
5 URU"SS	5S5 URURRS	5 URUR5S
5 URU"US5S5 URURRS5 URUR5S5 g)Nr@r�c��US-U-$r�rr�s  rr��*TestLRU.test_lru_hash_only_once.<locals>.f����q�5�1�9�rr)�return_value��r�)rr@r@r@rA)r@r@r@r@r�rC)r@rAr@r@rG)r@rGr@r@)
r�rr4�mock�Mock�__mul__�__hash__rW�
call_countr�)r5r��mock_ints   r�test_lru_hash_only_once�TestLRU.test_lru_hash_only_onces���
���	�	�q�	�	)�	�
*�	��=�=�%�%�'��#�=�=�-�-�2�-�>���$�M�M�.�.�C�.�@���	
����8�Q���,�����*�*�5�5�q�9���������6�	
����8�Q���,�����*�*�5�5�q�9���������6�	
����1�a��"�%�����*�*�5�5�q�9���������6�	
����8�Q���,�����*�*�5�5�q�9���������6rc��[RnURRS5"[5[lSH!nUR	[SSU5U5 M# U[lg!U[lf=f)NrH)
rrr@rArGrGrHrlr�r@rnrAr@�abcdefghijklmn)�builtinsr`r�rrW)r5�old_lenrds   r�test_lru_reentrancy_with_len�$TestLRU.test_lru_reentrancy_with_len2se���,�,��	#��;�;�0�0��3�C�8�H�L�<��� � ��%5�b�q�%9�!:�A�>�=�#�H�L��7�H�L�s�AA3�3
Bc��URR5S5nURU"SS5S5 URU"S5S5 g)Nc��U$rrr.s rr��-TestLRU.test_lru_star_arg_handling.<locals>.f@s���Krr@rAr_)r_�r�rrWr�s  r�test_lru_star_arg_handling�"TestLRU.test_lru_star_arg_handling>sM��	
���	�	�	 �	�
!�	�	
����1�a��&�)�����6��I�.rc�\�URRSS9S5nURRSS9S5nUR[5 U"/5 SSS5 UR[5 U"/5 SSS5 g!,(df   N5=f!,(df   g=f)Nr�c��grr��os r�infinite_cache�3TestLRU.test_lru_type_error.<locals>.infinite_cacheLr�rrBc��grrr;s r�
limited_cache�2TestLRU.test_lru_type_error.<locals>.limited_cachePr�r)r�rrcrd)r5r=r@s   r�test_lru_type_error�TestLRU.test_lru_type_errorGs���

���	�	�t�	�	,�	�
-�	�
���	�	�r�	�	*�	�
+�	��
�
�y�
)��2��*��
�
�y�
)��"��*�
)�*�
)��*�
)�s�	B�:	B�
B�
B+c
��^�URRSS9U4Sj5mUR[S5Vs/sHnT"U5PM
 sn/SQ5 URTR	5URRSSSSS95 TR
5 URTR	5URRSSSSS95 gs snf)Nr�c�B>�US:aU$T"US-
5T"US-
5-$r�rr�s �rr��/TestLRU.test_lru_with_maxsize_none.<locals>.fib[r�rr�r�r�r�r�r�rrWr�r�r�r�r�s  @r�test_lru_with_maxsize_none�"TestLRU.test_lru_with_maxsize_noneZs����	
���	�	�t�	�	,�	'�
-�	'�	
���%��)�4�)�Q�#�a�&�)�4�I�	K�������)��K�K�"�"��2�t�b�"�Q�	S�����������)��K�K�"�"��!�T�A�"�N�	P��5s�Cc
�X�URRSS9S5nSHFnUR[S5Vs/sH
o1"U5PM sn[	[S555 MH URUR5URR
SSSSS95 gs snf)	Ni����r�c��U$rrr�s r�eq�2TestLRU.test_lru_with_maxsize_negative.<locals>.eqi����Hrr�ri,r�)r�rrWr�r3r�r�)r5rLrdres    r�test_lru_with_maxsize_negative�&TestLRU.test_lru_with_maxsize_negativehs���	
���	�	�s�	�	+�	�
,�	��A����U�3�Z�8�Z��b��e�Z�8�$�u�S�z�:J�K����������K�K�"�"��#�q�1�"�M�	O��9s�B'
c��SH�nURRU5S5nURU"S5S5 UR[5nU"S5 SSS5 URWRR5 UR[5 U"S5 SSS5 M� g!,(df   N^=f!,(df   M�=f)N�Nrc��SU$)Nr�r�rds rr �.TestLRU.test_lru_with_exceptions.<locals>.funcvs���Q�x�rrrEr)r�rrWrcr �assertIsNone�	exception�__context__)r5r�r �cms    r�test_lru_with_exceptions� TestLRU.test_lru_with_exceptionsqs���#�G�
�[�[�
"�
"�7�
+�
 �,�
 ����T�!�W�c�*��"�"�:�.�"��R��/����b�l�l�6�6�7��"�"�:�.��R��/�.�#�
/�.��/�.�s�	B5�	C�5
C	�
C	c	��SGHxnURRUSS9S5nURU"S5S5 UR[U"S55[S55 URU"S5S5 UR[U"S55[S55 URU"SS	9S5 UR[U"SS	95[S55 URU"SS	9S5 UR[U"SS	95[S55 URUR	5R
S
5 URUR	5RS
5 GM{ g)NrST�r��typedc�
�X-$rrrPs rr
�+TestLRU.test_lru_with_types.<locals>.square�s	���u�rrGr�g@g"@rPrH)r�rrWrr�r�r�)r5r�r
s   r�test_lru_with_types�TestLRU.test_lru_with_types�s4��"�G�
�[�[�
"�
"�7�$�
"�
?�
�@�
����V�A�Y��*����T�&��)�_�d�1�g�6����V�C�[�#�.����T�&��+�.��S�	�:����V�a�[�!�,����T�&�1�+�.��Q��8����V�c�]�C�0����T�&�3�-�0�$�s�)�<����V�.�.�0�5�5�q�9����V�.�.�0�7�7��;�#rc��URRSS9"[5nURU"S5S5 URU"S5S5 URU"S5S5 URU"S5S	5 URU"S
5S5 URU"S5S
5 URU"S5S5 URU"S5S5 URU"S5S5 URU"S5S5 URU"S5S5 URU"S5S5 "SS[5nURU"U"S55S5 URU"U"S55S5 URU"U"S55S5 URU"U"S55S5 URU"U"S55S5 URU"U"S55S5 g)NT)r_r@ro�True��?z1.0rr�F�False�z0.0rz(1,)�T)rfr~z(0,))F)rhc��\rSrSrSrg)�8TestLRU.test_lru_cache_typed_is_not_recursive.<locals>.Ti�rNr(rrrr�rk�r�rr�)r�rr�rWr)r5�cachedr�s   r�%test_lru_cache_typed_is_not_recursive�-TestLRU.test_lru_cache_typed_is_not_recursive�s������&�&�T�&�2�4�8��������C�(�������v�.�������e�,�������C�(��������0�������e�,�������v�.�������&�1��������0�������v�.������)�6�2��������0�	��	�	
�����$���&�1������'�
�+�V�4������&�	�*�F�3������$���&�1������(��,�f�5������&�	�*�F�3rc
��^�URR5U4Sj5mUR[S5Vs/sH	nT"US9PM sn/SQ5 URTR	5URRSSSSS95 TR
5 URTR	5URRSSSSS95 gs snf)	Nc�:>�US:aU$T"US-
S9T"US-
S9-$�NrAr@r�rr�s �rr��/TestLRU.test_lru_with_keyword_args.<locals>.fib��*����1�u�����1��:��a��c�
�*�*rr�r�r�r�rr�rrG�r5�numberr�s  @r�test_lru_with_keyword_args�"TestLRU.test_lru_with_keyword_args�s����	
���	�	�	 �	+�
!�	+�	
���).�r��3��v�S�6�]��3�I�	
�	
������)��K�K�"�"��2�s�R�"�P�	R�����������)��K�K�"�"��!�S�1�"�M�	O��

4s�Cc
�^�URRSS9U4Sj5mUR[S5Vs/sH	nT"US9PM sn/SQ5 URTR	5URRSSSSS95 TR
5 URTR	5URRSSSSS95 gs snf)	Nr�c�:>�US:aU$T"US-
S9T"US-
S9-$rqrr�s �rr��<TestLRU.test_lru_with_keyword_args_maxsize_none.<locals>.fib�rsrr�r�r�r�r�rrGrts  @r�'test_lru_with_keyword_args_maxsize_none�/TestLRU.test_lru_with_keyword_args_maxsize_none�s����	
���	�	�t�	�	,�	+�
-�	+�	
���e�B�i�@�i�F�#��-�i�@�I�	K�������)��K�K�"�"��2�t�b�"�Q�	S�����������)��K�K�"�"��!�T�A�"�N�	P��As�Cc
��URRSS9S5nURU"SSS9SS/5 URU"SSS	9SS/5 URUR5URR	S
SSSS95 g)NrBr�c�4�[UR55$r)r3�items)r�s rr��$TestLRU.test_kwargs_order.<locals>.f�s�������'�'rr@rArD)rEr@)rFrA)rFrErr�)r�rrWr�r�r�s  r�test_kwargs_order�TestLRU.test_kwargs_order�s���	
���	�	�r�	�	*�	(�
+�	(�����Q�!��x��&:�;�����Q�!��x��&:�;���������K�K�"�"��!�R�!�"�L�	Nrc���SSjnURR5"U5nURRH'nUR[	X#5[	X55 M) g)Nc��g)zf doc stringrnr)�zomgs rr��,TestLRU.test_lru_cache_decoration.<locals>.f�s��r)r��zomg_annotation)r�rr2rWr�)r5r��gr�s    r�test_lru_cache_decoration�!TestLRU.test_lru_cache_decoration�sN��	�
�K�K�!�!�#�A�&���K�K�3�3�D����W�Q�-�w�q�/?�@�4rc	��^^^^
^�SunmSm
TRRUT-S9"T
5mTR5up#pETRUS5 [R
"5mUUU
UU4SjnUUU4Sjn[R"5n[R"S5 [U5V	s/sHn	[R"Xi/S9PM n
n	[R"U
5 TR5 SSS5 TR5up#pETR[La*TR!X15 TR!UTU-U-
5 O)TRX15 TRUTU-U-
5 TRXQ5 [R"US	9/n
U
[U5V	s/sHn	[R"Xi/S9PM sn	-
n
TR#5 [R"U
5 TR5 SSS5 [R"U5 gs sn	f!,(df   GN;=fs sn	f!,(df   NA=f![R"U5 f=f)
N)rl�c��SU-U-$r�rr�s  rr��-TestLRU.test_lru_cache_threaded.<locals>.orig�r�rr�rc�>�TRS5 [T5H#nTRT"US5T"US55 M% g)NrBr)�waitr�rW)r�rEr�r�r�r5�starts  �����r�full�-TestLRU.test_lru_cache_threaded.<locals>.full�s8����J�J�r�N��1�X��� � ��1�a��$�q�!�*�5�rc�r>�TRS5 [ST-5HnTR5 M g)NrBrA)r�r�r�)rEr�r�r�s ���r�clear�.TestLRU.test_lru_cache_threaded.<locals>.clear�s)����J�J�r�N��1�Q�3�Z���
�
�� rg���ư>��targetr�r�)r�rr�rW�	threading�Eventr�getswitchintervalr�setswitchintervalr��Threadr	�
start_threads�setr�r�r�)r5rer�r�r�r�r�r��orig_sir��threadsr�r�r�r�s`          @@@@r�test_lru_cache_threaded�TestLRU.test_lru_cache_threaded�s������1�	��K�K�!�!�!�A�#�!�.�t�4��*+�,�,�.�'��g�����1�%����!��	6�	6�
	 �
�'�'�)���!�!�$�'�	+�!&�a��*� (�1�!�'�'�t�#�>� (�
�*�!�/�/��8��	�	��9�/0�l�l�n�+�D�'��{�{�l�*��$�$�V�/��$�$�T�1�Q�3��<�8�� � ��+�� � ��q��s�V�|�4����X�)�!�'�'�u�5�6�G��!&�q��+�!)�A�"�(�(��3�?�!)�+�
+�G��K�K�M�!�/�/��8��	�	��9�
�!�!�'�*��/*�8�8��+�9�8��
�!�!�'�*�s[�(
I�5H,�I�,H1�=B5I�2I�+I�<I�
I�,I�1
I�;
I�
I�I�I1c
�j^^^^^	^
�Sunm[R"US-5m	[R"US-5m[R"US-5m
TRRTU-S9U4Sj5mTR	TR5SSTU-S45 UUUU	U
4Sjn[
U5Vs/sHn[R"US9PM nn[R"U5 [
T5H�nT	RS5 T
R5 TRS5 T	R5 T
RS5 TR5 TR	TR5SUS-U-TU-US-45 M� SSS5 gs snf!,(df   g=f)	N)rlrnr@r�c�0>�TRS5 SU-$�NrBrG)r�)rQ�pauses �rr��+TestLRU.test_lru_cache_threaded2.<locals>.fs����J�J�r�N��q�5�Lrrc�>�[T5H@nTRS5 TRT"U5SU-5 TRS5 MB gr�)r�r�rW)rdr�r�r5r��stops �����rr�.TestLRU.test_lru_cache_threaded2.<locals>.tests?����1�X���
�
�2��� � ��1��q�1�u�-��	�	�"�
�rr�rB)r��Barrierr�rrWr�r�r�r	r�r��reset)r5rerr�r�rdr�r�r�r�r�s`     @@@@@r�test_lru_cache_threaded2� TestLRU.test_lru_cache_threaded2
sb������1��!�!�!�A�#�&���!�!�!�A�#�&��� � ��1��%��	
���	�	�q��s�	�	+�	�
,�	�	
�������!�Q��!��Q��8�	�	�
;@��(�C�(�Q�9�#�#�4�0�(��C�
�
+�
+�G�
4��1�X���
�
�2���
�
���
�
�2�����
��	�	�"�
����
�� � �����!�a��c�1�W�a��c�1�Q�3�1G�H��5�
4��D�
4�
4�s�:F�0B&F$�$
F2c	�,^^�TRRSS9S5mUU4Sjn[/SQ5VVs/sHup#[R"XU4S9PM nnn[
R"U5 SSS5 gs snnf!,(df   g=f)NrAr�c�8�[R"S5 SU-$)Ng{�G�z�?rG)�time�sleeprPs rr��+TestLRU.test_lru_cache_threaded3.<locals>.f+s���J�J�s�O��q�5�Lrc�>>�TRT"U5SU-U5 gr�)rW)rdrQr�r5s  ��rr�.TestLRU.test_lru_cache_threaded3.<locals>.test/s������Q�q�T�1�q�5�!�,r)r@rArArGrAr�)r�r�	enumerater�r�r	r�)r5rrd�vr�r�s`    @r�test_lru_cache_threaded3� TestLRU.test_lru_cache_threaded3)s����	
���	�	�q�	�	)�	�
*�	�	-� )��9�;�9�t�q��#�#�4�!�f�=�9�	�;�
�
+�
+�G�
4��5�
4��;�
4�
4�s�"A?�4B�
Bc��^^�URRSS9S5m"UU4SjS5mT"T"S55 T"T"S55 URT"T"S55T"S55 g)NrBr�c��U$)zEUsed to demonstrate a reentrant lru_cache call within a single threadrrPs r�	test_func�.TestLRU.test_need_for_rlock.<locals>.test_func9s	���Hrc�4>�\rSrSrSrSrSrUU4SjrSrg)�-TestLRU.test_need_for_rlock.<locals>.DoubleEqi>z=Demonstrate a reentrant lru_cache call within a single threadc��XlgrrP�r5rQs  rrC�6TestLRU.test_need_for_rlock.<locals>.DoubleEq.__init__@r�rc��UR$rrPrfs rr(�6TestLRU.test_need_for_rlock.<locals>.DoubleEq.__hash__Bs���v�v�
rc�r>�URS:XaT"T"S55 URUR:H$r�rP)r5r6�DoubleEqr�s  ��rr�4TestLRU.test_need_for_rlock.<locals>.DoubleEq.__eq__Ds-����6�6�Q�;��h�q�k�*��v�v����(�(rrPN)	r)r*r+r,rrCr(rr-)r�r�s��rr�r�>s���K�
�
�
)�
)rr�r@rAr6)r5r�r�s @@r�test_need_for_rlock�TestLRU.test_need_for_rlock6sm���
���	�	�r�	�	*�	�
+�	�		)�		)�	�(�1�+���(�1�+������8�A�;�/�!�!��	&rc�^�"U4SjS[5nU"S5nU"S5nU"S5nTRURR5S5 SH*nTRURU5US-S-5 M, TRURURUR4S5 TRURR5S	5 S
H*nTRURU5US-S-5 M, TRURURUR4S5 TRURR5S5 S
H*nTRURU5US-S-5 M, TRURURUR4S5 TRURR5S5 TRURR5URR55 TRURR5URR55 TRURR5URR55 g)Nc�^>�\rSrSrSrYR
R
S5S5rSrg)�"TestLRU.test_lru_method.<locals>.XiOrrAc�<�U=RS-
slUS-U-$rr�r�s  rr��$TestLRU.test_lru_method.<locals>.X.fQs���
�
�a��
���t�D�y� rrN)	r)r*r+r,r�r�rr�r-rfs�r�Xr�Os)����E�
�[�[�
"�
"�1�
%�
!�&�
!rr�rlrn)rrrAr)
r@rArArGr@r@r@rArGrGrB)r�rr)rHr�rArA)
r@rAr@r@r@r@rGrArArA)r�rHr)rBrBrArA)
rAr@r@r@r@rAr@rGrAr@)r�rHrl)rrrArA)r�rWr�r�r�)r5r�rErFrLrQs`     r�test_lru_method�TestLRU.test_lru_methodNs����	!��	!�
�a�D��
�a�D��
�a�D����������)�<�8�-�A����Q�S�S��V�Q�r�T�A�X�.�.����!�'�'�1�7�7�A�G�G�4�i�@���������)�<�8�-�A����Q�S�S��V�Q�r�T�A�X�.�.����!�'�'�1�7�7�A�G�G�4�i�@���������)�>�:�-�A����Q�S�S��V�Q�r�T�A�X�.�.����!�'�'�1�7�7�A�G�G�4�i�@���������)�>�:���������)�1�3�3�>�>�+;�<���������)�1�3�3�>�>�+;�<���������)�1�3�3�>�>�+;�<rc	��URnURSURUR4Hyn[	[
RS-5HVnURX2S9 [
R"[
R"X#55nURXB5 SSS5 MX M{ g!,(df   Mn=f)Nrr@)r�r )r��cached_func�cached_meth�cached_staticmethr�r�r�r�r�r�r�)r5r�r�r�r�s     rr��TestLRU.test_picklems����n�n������#�S�_�_�c�6K�6K�K�A��v�6�6��:�;���\�\��\�6�#�\�\�&�,�,�q�*@�A�F��M�M�&�,�7�6�<�L�6�6�s�$<B1�1
Cc��URnSnURRUS5nURSURUR
URR
S5"U54nUHBnURUS9 [R"U5nURXe5 SSS5 MD g!,(df   MV=f)Nc��SU-U-$r�rr�s  rr��TestLRU.test_copy.<locals>.origwr�rrAr�r )
r�r�rTr�r�r�rr�r�r��r5r�r�r#�funcsr�r�s       rr��TestLRU.test_copyus����n�n��	��{�{�"�"�4��+������#�S�_�_�c�6K�6K����&�&�q�)�$�/�1���A����1��%����1����
�
�f�(�&�%��%�%���(B;�;
C
	c��URnSnURRUS5nURSURUR
URR
S5"U54nUHBnURUS9 [R"U5nURXe5 SSS5 MD g!,(df   MV=f)Nc��SU-U-$r�rr�s  rr��#TestLRU.test_deepcopy.<locals>.orig�r�rrArr�)r�r�rTr�r�r�rr�r�r�r�r�s       rr��TestLRU.test_deepcopy�s����n�n��	��{�{�"�"�4��+������#�S�_�_�c�6K�6K����&�&�q�)�$�/�1���A����1��%����q�)���
�
�f�(�&�%��%�%�r�c��URRSS9S5nURUR5SSS.5 URRSSS9S5nURUR5SSS.5 g)	NrAr�c��g�Nr@rrrrr��,TestLRU.test_lru_cache_parameters.<locals>.f����rFr^r�Tc��gr�rrrrr�r��r�r)r�rrW�cache_parametersr�s  r�test_lru_cache_parameters�!TestLRU.test_lru_cache_parameters�s���	
���	�	�q�	�	)�	�
*�	�����+�+�-�1�u�/M�N�	
���	�	�t�4�	�	8�	�
9�	�����+�+�-�4�$�/O�Prc�^�TRRS5n"U4SjS5n[R"U5[R"UR5[R"UR
5/nUHnTR
U"55 M AA[R"5 UHnTRU"55 M g)Nc��U$rrrPs r�
test_function�9TestLRU.test_lru_cache_weakrefable.<locals>.test_function�rNrc�>�\rSrSrYRR
S5r\YRR
U4Sj55rSr	g)�-TestLRU.test_lru_cache_weakrefable.<locals>.Ai�c��X4$rrr�s  r�test_method�9TestLRU.test_lru_cache_weakrefable.<locals>.A.test_method�s
���y� rc�>�TU4$rr)rQr5s �r�test_staticmethod�?TestLRU.test_lru_cache_weakrefable.<locals>.A.test_staticmethod�s����a�y� rrN)
r)r*r+r,r�rr�r-r�r-rfs�rr/r��sE���
�[�[�
"�
"�
!�#�
!��
�[�[�
"�
"�
!�#��
!rr/)
r�r�weakref�refr�r��assertIsNotNonerWrXrW)r5r�r/�refsr�s`    r�test_lru_cache_weakrefable�"TestLRU.test_lru_cache_weakrefable�s����	
���	�	�	�
�	�	!�	!����M�*����A�M�M�*����A�/�/�0�2���C�� � ���'��
��
�
�
���C����c�e�$�rc��SSjnURRS5"U5nUR[[R
"U55S5 UR[[R
"UR55S5 UR[[R
"UR55S5 g)Nc��grrrNs   rr��,TestLRU.test_common_signatures.<locals>.orig�s��3rr@z(a, /, b, c=True)z()ri)r�rrWr�rr�r�r�)r5r��lrus   r�test_common_signatures�TestLRU.test_common_signatures�s���&��k�k�#�#�A�&�t�,������Y�4�4�S�9�:�<O�P�����Y�4�4�S�^�^�D�E�t�L�����Y�4�4�S�_�_�E�F��MrzWASI has limited C stackc�(^�URRU4Sj5m[R(dA[R"5S-S-n[R
"5 T"U5 SSS5 UR[:XaUTR5 [R
"5 UR[5 T"S5 SSS5 SSS5 gg!,(df   Nx=f!,(df   N)=f!,(df   g=f)Nc�B>�US::aU$T"US-
5T"US-
5-$)Nr@rArr�s �rr��'TestLRU.test_lru_recursion.<locals>.fib�s*����A�v����q��s�8�c�!�A�#�h�&�&rrArni')
r�rr�Py_DEBUG�get_c_recursion_limitrr}r�rcr)r5�depthr�s  @r�test_lru_recursion�TestLRU.test_lru_recursion�s����
���	�	�	'�
�	'�
����1�1�3�A�5�q�8�E��+�+�-��E�
�.��;�;�+�%��O�O���+�+�-��&�&�~�6���J�7�.�-�&�.�-��
7�6��.�-�s0�&	C!�0D�	C2�D�!
C/�2
D	�<D�
DrN)*r)r*r+r,rrrrr+r1r7rBrHrPr[rbrmrvr{r�r�r	�requires_working_threadingr�r�r�r�r�r�r�r�r�r�suppress_immortalizationr�r�
skip_on_s390xr4r5�is_wasirr-rrrr�r�s/��W&�r
:�6�61�!7�F
#�/��&P�O�� <� 4�6O� P�N�A��0�0�2�.+�3�.+�`�0�0�2�I�3�I�6�0�0�2�
�3�
�&�0=�>-�
)�
)�	Q�
�%�%�'�%�(�%�:N�
���
�_�_�W�_�_�&@�A��B��rr�c��SU-U-$r�rr�s  r�py_cached_funcr�s���q�5�1�9�rc��SU-U-$r�rr�s  r�
c_cached_funcr�����1�u�q�y�rc��\rSrSr\r\4r\R5S5r	\
\R5S55rSrg)�	TestLRUPyi�c��SU-U-$r�rr�s   rr��TestLRUPy.cached_meth�rrc��SU-U-$r�rr�s  rr��TestLRUPy.cached_staticmeth�s���1�u�q�y�rrN)
r)r*r+r,r�r�rr�rr�r-r�r-rrrrr�sN��
�F� �/�K����������������rrc��\rSrSr\(a9\r\4r\R5S5r	\
\R5S55rSrgSrg)�TestLRUCi�c��SU-U-$r�rr�s   rr��TestLRUC.cached_meth�r"rc��SU-U-$r�rr�s  rr��TestLRUC.cached_staticmeth�s���q�5�1�9�rrN)
r)r*r+r,r}r�rr�rr�r-r�r-rrrrr�sV�����#�n��	�	�	�	�	�
�	�
�	�	�	�	�	�
�
�	�rrc�N�\rSrSrSrSrSrSr\R"\
S5\RS55r
SrS	rS
rSrSrS
rSrSrSrSrSrSrSrSrSrSrSrSrSr Sr!Sr"Sr#Sr$Sr%S r&S!r'S"r(S#r)S$r*S%r+S&r,S'r-S(r.S)r/S*r0S+r1g,)-�TestSingleDispatchi�c��[RS5nSnUR[U5 UR	U"S5S5 UR	U"S5S5 UR	U"/SQ5S5 g)Nc��g�Nr�rr�s rr��3TestSingleDispatch.test_simple_overloads.<locals>.g����rc��g)N�integerrrUs r�g_int�7TestSingleDispatch.test_simple_overloads.<locals>.g_ints��rr�r�r@r+�r@rArG)r
�singledispatch�registerr�rW�r5r�r,s   r�test_simple_overloads�(TestSingleDispatch.test_simple_overloads�si��	�	!�	!�	�
"�	�	�	�
�
�3�������5��6�*�����1��y�)�����7��V�,rc��[RS5n"SS5n"SSU5n"SSU5n"SS	X45nS
nSnURX&5 URXG5 URU"U"55S5 URU"U"55S5 URU"U"55S5 URU"U"55S5 g)Nc��gr'rr�s rr��&TestSingleDispatch.test_mro.<locals>.gr)rc��\rSrSrSrg)�&TestSingleDispatch.test_mro.<locals>.AirNr(rrrr/r8r�rr/c��\rSrSrSrg)�&TestSingleDispatch.test_mro.<locals>.Ci
rNr(rrr�Cr:
r�rr;c��\rSrSrSrg)�&TestSingleDispatch.test_mro.<locals>.BirNr(rrrr�r=r�rr�c��\rSrSrSrg)�&TestSingleDispatch.test_mro.<locals>.DirNr(rrr�Dr?r�rr@c��g)Nr/rrms r�g_A�(TestSingleDispatch.test_mro.<locals>.g_A���rc��g)Nr�rros r�g_B�(TestSingleDispatch.test_mro.<locals>.g_BrDr)r
r/r0rW)r5r�r/r;r�r@rBrFs        r�test_mro�TestSingleDispatch.test_mros���	�	!�	!�	�
"�	�	�	�	��	�	��	�	��	�	�	�	�
�
�1��	�
�
�1������1�3���%�����1�3���%�����1�3���%�����1�3���%rc��[RS5nUR[5S5nUR	U"S5S5 UR	U"S5S5 URUR
[5U5 URUR
[5UR
[55 g)Nc��gr'rr�s rr��5TestSingleDispatch.test_register_decorator.<locals>.gr)rc��SU<3$)Nzint rrUs rr,�9TestSingleDispatch.test_register_decorator.<locals>.g_int"s
�� �?�"rr�r�rzint 12)	r
r/r0r�rWr��dispatchr�r�r1s   r�test_register_decorator�*TestSingleDispatch.test_register_decorators���	�	!�	!�	�
"�	�	
���C��	#�
�	#�����2���'�����2���)��
�
�a�j�j��o�u�-��
�
�a�j�j��(�!�*�*�S�/�:rc���[RS5nURURS5 [R
RS:aURURS5 gg)Nc��g)�Simple test�Testrr�s rr��6TestSingleDispatch.test_wrapping_attributes.<locals>.g-s��rr�rArT)r
r/rWr)rr6r7r)r5r�s  r�test_wrapping_attributes�+TestSingleDispatch.test_wrapping_attributes,s[��	�	!�	!�	�
"�	�	
������S�)��9�9����!����Q�Y�Y�
�6�"rzrequires _decimalc���[RS5nUR[R5S5n[RS5n[R
S5nURU"U5S5 URU"U5S5 UR[R
5S5nURU"U5S5 URU"U5S5 g)	Nc��gr'rr�s rr��,TestSingleDispatch.test_c_classes.<locals>.g8r)rc��UR$rr.r�s rrE�,TestSingleDispatch.test_c_classes.<locals>._;s���8�8�Or�Exponent < Emin�Number got rounded)r^)r_c��g)N�Too small to care.rr�s rrEr]Bs��'rra)r
r/r0r�DecimalException�	Subnormal�RoundedrW)r5r�rE�subn�rnds     r�test_c_classes�!TestSingleDispatch.test_c_classes5s���
�	!�	!�	�
"�	�	
���G�,�,�	-�	�
.�	�� � �!2�3���o�o�2�3������4��"6�7�����3��!8�9�	
���G�%�%�	&�	(�
'�	(�����4��"6�7�����3��!8�9rc���[Rn[RnURUR
URUR/n[U5HnnU"[U5nURU[UR
URURURURUR[/5 Mp URURUR
[R /n[U5H�nU"[R"U5nURU[R"UR
URURURURUR[/5 M� URUR[$/n[U5HvnU"[R&URUR[$/5nURU[R&[URUR[/5 Mx "SS[R&5nUR(R+U5 UR(UR
/n[U5H�nU"Xd5nURXVUR(URUR,[R&[UR
URURURURUR[/
5 M� "SS[R&5nURUR.URUR/n[U5HxnU"Xt5nURXWUR.[R&[URURURURUR[/
5 Mz g)Nc��\rSrSrSrg)�.TestSingleDispatch.test_compose_mro.<locals>.DifrNr(rrrr@rkfr�rr@c��\rSrSrSrSrg)�.TestSingleDispatch.test_compose_mro.<locals>.Citc��grrrfs rr��7TestSingleDispatch.test_compose_mro.<locals>.C.__call__u���rrN�r)r*r+r,r�r-rrrr;rmt���
rr;)r�r�r
�_compose_mro�Sequence�MutableMapping�Mapping�SetrrXrW�
Collection�Sized�Iterable�	Containerr��OrderedDict�ChainMapr��defaultdict�MutableSequencer0�
Reversible�Callable)r5rL�mror��haystackr�r@r;s        r�test_compose_mro�#TestSingleDispatch.test_compose_mroHs����O�O���$�$�����Q�-�-�q�y�y�!�%�%�@��$�U�+�H��D�(�#�A����Q��q�'7�'7����!"���q�w�w��
�
�!"���f�!6�
7�,�
���a�i�i��)9�)9�;�;R�;R�S��$�U�+�H��K�(�(�(�3�A����Q��!5�!5�q�7G�7G����!"���q�w�w��
�
�!"���f�!6�
7�,����a�g�g�s�+��$�U�+�H��K�+�+�a�g�g�q�{�{�C�-H�I�A����Q��!8�!8�$����!"���f�!6�
7�,�	��'�'�	�	���"�"�1�%��"�"�A�$4�$4�5��$�U�+�H��A� �A����Q�A�$5�$5�q�z�z�1�<�<�!,�!8�!8�$��@P�@P�RS�R[�R[�!"���q�w�w��
�
�A�K�K�!'�!)�
*�,�	��'�'�	����!�*�*�a�k�k�1�9�9�=��$�U�+�H��A� �A����Q�A�J�J��0G�0G��q�y�y�!"���q�w�w��
�
�!"���f�!6�
7�,rc�p�[RnSS0n/SQn[5S1n[U5nSn[R
S5nUR
U"U5S5 UR
U"U5S5 UR
U"U5S5 UR
U"U5S5 UR
U"U5S5 URURS5 UR
U"U5S5 UR
U"U5S5 UR
U"U5S5 UR
U"U5S5 UR
U"U5S5 URURS5 UR
U"U5S	5 UR
U"U5S5 UR
U"U5S5 UR
U"U5S5 UR
U"U5S5 UR[RS
5 UR
U"U5S	5 UR
U"U5S5 UR
U"U5S5 UR
U"U5S5 UR
U"U5S5 URURS5 UR
U"U5S	5 UR
U"U5S5 UR
U"U5S5 UR
U"U5S5 UR
U"U5S5 URURS
5 UR
U"U5S	5 UR
U"U5S5 UR
U"U5S5 UR
U"U5S5 UR
U"U5S5 URURS5 UR
U"U5S	5 UR
U"U5S5 UR
U"U5S5 UR
U"U5S5 UR
U"U5S5 URURS5 UR
U"U5S	5 UR
U"U5S5 UR
U"U5S5 UR
U"U5S5 UR
U"U5S5 URURS5 UR
U"U5S	5 UR
U"U5S5 UR
U"U5S5 UR
U"U5S5 UR
U"U5S5 UR[ S5 UR
U"U5S5 UR
U"U5S5 UR
U"U5S5 UR
U"U5S5 UR
U"U5S5 UR["S5 UR
U"U5S5 UR
U"U5S5 UR
U"U5S5 UR
U"U5S5 UR
U"U5S5 UR[$S5 UR
U"U5S5 UR
U"U5S5 UR
U"U5S5 UR
U"U5S5 UR
U"U5S5 UR[S5 UR
U"U5S5 UR
U"U5S5 UR
U"U5S5 UR
U"U5S5 UR
U"U5S5 UR[&S5 UR
U"U5S5 UR
U"U5S5 UR
U"U5S5 UR
U"U5S5 UR
U"U5S5 g)NrErFr.c��gr'rr�s rr��/TestSingleDispatch.test_register_abc.<locals>.g�r)rr�c��g�N�sizedrr�s rrR�6TestSingleDispatch.test_register_abc.<locals>.<lambda>����rr�c��g�N�mutablemappingrr�s rrRr��s��1Arr�c��g)N�chainmaprr�s rrRr��s��Zrc��g)N�mutablesequencerr�s rrRr��s��2Crr�c��g)N�
mutablesetrr�s rrRr��s��\rr�c��g�N�mappingrr�s rrRr��s��)rc��g�N�sequencerr�s rrRr�����:rr�c��g�Nr�rr�s rrRr�����err�c��g�NrXrr�s rrRr�����VrrXc��g�Nr3rr�s rrRr��r�rr3c��g)N�concrete-setrr�s rrRr��s��Nrr�c��g)N�
frozen-setrr�s rrRr��s��,rr�c��g)Nrrr�s rrRr��s��grr)r�r�r��	frozensetr
r/rWr0ryrur}r�
MutableSetrvrtrwrXr3r�r)r5rLrp�lr
r��tr�s        r�test_register_abc�$TestSingleDispatch.test_register_abc~s����O�O��
�#�J����
�X�t����a�L����	�	!�	!�	�
"�	�����1��v�&�����1��v�&�����1��v�&�����1��v�&�����1��v�&�	�
�
�1�7�7�/�0�����1��w�'�����1��w�'�����1��w�'�����1��w�'�����1��w�'�	�
�
�1�#�#�%A�B�����1��/�0�����1��w�'�����1��w�'�����1��w�'�����1��w�'�	�
�
�;�'�'�)?�@�����1��/�0�����1��w�'�����1��w�'�����1��w�'�����1��w�'�	�
�
�1�$�$�&C�D�����1��/�0�����1��0�1�����1��w�'�����1��w�'�����1��w�'�	�
�
�1�<�<�!9�:�����1��/�0�����1��0�1�����1��|�,�����1��w�'�����1��w�'�	�
�
�1�9�9�3�4�����1��/�0�����1��0�1�����1��|�,�����1��w�'�����1��w�'�	�
�
�1�:�:�5�6�����1��/�0�����1��0�1�����1��|�,�����1��w�'�����1��z�*�	�
�
�1�5�5�+�,�����1��/�0�����1��0�1�����1��|�,�����1��u�%�����1��z�*�	�
�
�4�+�,�����1��v�&�����1��0�1�����1��|�,�����1��u�%�����1��z�*�	�
�
�4�+�,�����1��v�&�����1��v�&�����1��|�,�����1��u�%�����1��z�*�	�
�
�3�2�3�����1��v�&�����1��v�&�����1��~�.�����1��u�%�����1��z�*�	�
�
�9�6�7�����1��v�&�����1��v�&�����1��~�.�����1��|�,�����1��z�*�	�
�
�5�-�.�����1��v�&�����1��v�&�����1��~�.�����1��|�,�����1��w�'rc	��[Rn[Rn"SS[5n"SSU5nUR
R"SS[55n"SS[5n"S	S
XeU5nXqRXeUR
XARU[/	n[URURUR
/5Hn	URU"XyS9U5 M URURURUR
UR/n
URU"XzS9U5 g)Nc��\rSrSrSrg)�)TestSingleDispatch.test_c3_abc.<locals>.Ai�rNr(rrrr/r��r�rr/c��\rSrSrSrSrg)�)TestSingleDispatch.test_c3_abc.<locals>.Bi�c��gr�rrfs rr�1TestSingleDispatch.test_c3_abc.<locals>.B.__len__�rrrN�r)r*r+r,rr-rrrr�r�����
rr�c��\rSrSrSrg)�)TestSingleDispatch.test_c3_abc.<locals>.Ci�rNr(rrrr;r��r5rr;c��\rSrSrSrg)�)TestSingleDispatch.test_c3_abc.<locals>.Di�rNr(rrrr@r��r�rr@c��\rSrSrSrSrg)�)TestSingleDispatch.test_c3_abc.<locals>.Xi�c��grrrfs rr��2TestSingleDispatch.test_c3_abc.<locals>.X.__call__�rprrNrqrrrr�r��rrrr�)�abcs)
r�r�r
�_c3_mror�r{r0r�ryrrWrvrz)r5rLr�r/r�r;r@r�r�r��	many_abcss           r�test_c3_abc�TestSingleDispatch.test_c3_abc�s���O�O������	��	�	��	�
���	�	�	��	�
�	�	��	�	��a�	��z�z�1����a���!�V�L�� �!�'�'�1�:�:�q�{�{�!C�D�D����S��.��9�E��Y�Y�������Q�[�[�!�*�*�M�	�����Q�/��:rc���"SS[5n"SSUS9n"SSU5n[RS5nURU5S	5nU"5nUR	U"U5S
5 g)Nc��\rSrSrSrSrg)�1TestSingleDispatch.test_false_meta.<locals>.MetaAi�c��gr�rrfs rr�9TestSingleDispatch.test_false_meta.<locals>.MetaA.__len__�rrrNr�rrr�MetaAr��r�rr�c��\rSrSrSrg)�-TestSingleDispatch.test_false_meta.<locals>.Ai�rNr(rrrr/r��r�rr/r�c��\rSrSrSrg)�.TestSingleDispatch.test_false_meta.<locals>.AAi�rNr(rrr�AAr��r�rr�c��g)Nzbase Arrms r�fun�/TestSingleDispatch.test_false_meta.<locals>.fun�s��rc��g)N�fun Arrms rrE�-TestSingleDispatch.test_false_meta.<locals>._����rr�)rr
r/r0rW)r5r�r/r�r�rE�aas       r�test_false_meta�"TestSingleDispatch.test_false_meta�ss��	�D�	�	�%�	�	��	�	�	!�	!�	�
"�	�	���a��	�
�	�
�T������R��'�*rc�Z�[Rn[RS5n"SSUR5nU"5nURU"U5S5 UR
URS5 UR
URS5 UR
URS5 UR
URS5 URU"U5S	5 URR
U5 URU"U5S	5 URR
U5 URU"U5S	5 URR
U5 URU"U5S
5 "SS5nU"5nURU"U5S5 URR
U5 URU"U5S
5 URR
U5 UR[5nU"U5 SSS5 UR[WR5S5 "SSUR5nU"5n	URU"U	5S	5 URR
U5 URU"U	5S	5 URR
U5 URU"U	5S
5 [RS5n
U
R
UR5S5nU
R
UR5S5nUR[5nU
"[R"S55 SSS5 UR[WR5S5 "SS[R5n
UR R
U
5 [RS5nUR
UR"5S5nUR
UR 5S5nU
"5nURU"U5S5 "SS5n"SSUUR5nU"5nURU
"U5S	5 URR
U5 URU
"U5S	5 "S S!5nU"5nURU
"U5S	5 URR
U5 UR[5nU
"U5 SSS5 UR[WR5S5 "S"S#URU5n[RS$5nUR
U5S%5nUR
UR5S&5nU"5nURU"U5S'5 URR
U5 URU"U5S(5 g!,(df   GN�=f!,(df   GN�=f!,(df   GN=f))Nc��gr'rr`s rr��0TestSingleDispatch.test_mro_conflicts.<locals>.g	r)rc��\rSrSrSrSrg)�0TestSingleDispatch.test_mro_conflicts.<locals>.Oi
	c��gr�rrfs rr�8TestSingleDispatch.test_mro_conflicts.<locals>.O.__len__	rrrNr�rrr�Or�
	r�rr�r�c��g)N�iterablerr`s rrR�7TestSingleDispatch.test_mro_conflicts.<locals>.<lambda>	r�rc��g�N�	containerrr`s rrRr�	s��Krc��gr�rr`s rrRr�	r�rc��gr�rr`s rrRr�	r�rr�r�c��\rSrSrSrg)�0TestSingleDispatch.test_mro_conflicts.<locals>.Pi	rNr(rrr�Pr�	r�rr�r�)z]Ambiguous dispatch: <class 'collections.abc.Container'> or <class 'collections.abc.Iterable'>z]Ambiguous dispatch: <class 'collections.abc.Iterable'> or <class 'collections.abc.Container'>c��\rSrSrSrSrg)�0TestSingleDispatch.test_mro_conflicts.<locals>.Qi+	c��gr�rrfs rr�8TestSingleDispatch.test_mro_conflicts.<locals>.Q.__len__,	rrrNr�rrr�Qr�+	r�rr�c��gr'rr`s r�h�0TestSingleDispatch.test_mro_conflicts.<locals>.h5	r)rc��gr�rr`s rrE�0TestSingleDispatch.test_mro_conflicts.<locals>._8	r�rc��gr�rr`s rrEr�;	���rc��gr�rrrrrRr�C	s��ar)zZAmbiguous dispatch: <class 'collections.abc.Container'> or <class 'collections.abc.Sized'>zZAmbiguous dispatch: <class 'collections.abc.Sized'> or <class 'collections.abc.Container'>c��\rSrSrSrg)�0TestSingleDispatch.test_mro_conflicts.<locals>.RiK	rNr(rrr�Rr�K	r�rr�c��gr'rr`s rrd�0TestSingleDispatch.test_mro_conflicts.<locals>.iN	r)rc��gr�rr`s rrEr�Q	���rc��gr�rr`s rrEr�T	���rr�c��\rSrSrSrg)�0TestSingleDispatch.test_mro_conflicts.<locals>.SiY	rNr(rrr�SrY	r�rrc��\rSrSrSrSrg)�0TestSingleDispatch.test_mro_conflicts.<locals>.Ti[	c��gr�rrfs rr�8TestSingleDispatch.test_mro_conflicts.<locals>.T.__len__\	rrrNr�rrrr�r	[	r�rr�c��\rSrSrSrSrg)�0TestSingleDispatch.test_mro_conflicts.<locals>.Uib	c��gr�rrfs rr�8TestSingleDispatch.test_mro_conflicts.<locals>.U.__len__c	rrrNr�rrr�Ur
b	r�rrc��\rSrSrSrSrg)�0TestSingleDispatch.test_mro_conflicts.<locals>.Vis	c��gr�rrfs rr�8TestSingleDispatch.test_mro_conflicts.<locals>.V.__len__t	rrrNr�rrr�Vrs	r�rrc��gr'rr`s r�j�0TestSingleDispatch.test_mro_conflicts.<locals>.jv	r)rc��g)Nr
rr`s rrEr�y	s��rc��gr�rr`s rrEr�|	r�rr
r�)r�r�r
r/ryrWr0rzr{rwrcrtr�r�rXr~rru)r5rLr�r�r<r�r[�re_oner��qr�rE�re_twor�rdrrr�r�r�u�re_threerrr�s                         r�test_mro_conflicts�%TestSingleDispatch.test_mro_conflicts	s���O�O��	�	!�	!�	�
"�	�	����	�
�C������1��v�&�	�
�
�1�:�:�5�6�	�
�
�1�;�;� 7�8�	�
�
�1�7�7�/�0�	�
�
�1�5�5�+�,�����1��w�'�	�
�
���A������1��w�'�	�����Q������1��w�'�	�����q������1��u�%�	�	�
�C������1��v�&�	�
�
���A������1��z�*�	�����Q��
�
�
�|�
,��
�a�D�-��
�
��� � �!�
9�	
�	����	�
�C������1��w�'�	�
�
���A������1��w�'�	�����q������1��u�%�	�	!�	!�	�
"�	�	
���A�G�G�	�	�
�	�	
���A�K�K�	 �	�
!�	��
�
�|�
,��
�k�%�%�i�0�1�-��
�
��� � �!�
9�	
�	��'�'�	�	���"�"�1�%�	�	!�	!�	�
"�	�	
���A�$�$�	%�	�
&�	�	
���A�%�%�	&�	�
'�	�
�C������1��z�*�	�	�	��1�7�7�	�
�C������1��w�'�	�����Q������1��w�'�	�	�
�C������1��w�'�	�����Q��
�
�
�|�
,��
�a�D�-��
�
���"�"�#�
9�	
�	�����	�
�	!�	!�	�
"�	�	
���A��	�
�	�	
���A�K�K�	 �	�
!�	�
�C������1��s�#�	�����Q������1��{�+�A-�
,��@-�
,��P-�
,�s$�	W7�	X	�
	X�7
X�	
X�
X*c�N^^	�SSKJn SSKn"U4SjSU5mT"5m	[R"USU	4Sj5 [R
n[RS5n0n/nUR[T	5S5 URU"U5S5 UR[T	5S	5 URT	R/5 URT	R[/5 URT	R[UR[5 URU"U5S5 UR[T	5S
5 URT	R/5 URT	R[[ /5 URT	R[UR[5 URT	R[ UR[5 URT	R[T	R[ 5 URU"U5S5 URU"U5S5 URT	R[ [/5 URT	R[[ /5 UR#[ S5 URT	R[ [/5 UR[T	5S5 URU"U5S5 UR[T	5S	5 URT	R[ [/5 URT	R[[ [/5 URT	R[[R$"[UR55 URU"U5S5 UR[T	5S
5 URT	R[ [/5 URT	R[[ [[ /5 URT	R[ [R$"[ UR55 "S
S5nUR&R#U5 URU"U5S5 URU"U5S5 URT	R[ [[[ /5 URT	R[[ [[ /5 UR#UR(S5 UR[T	5S5 URU"U5S5 UR[T	5S	5 URT	R[ [[[ /5 URT	R[[ [[ [/5 URU"U5S5 UR[T	5S
5 URT	R[ [[[ /5 URT	R[[ [[ [[ /5 URU"U5S5 URU"U5S5 URT	R[ [[[ [ [/5 URT	R[[ [[ [[ /5 UR+[ 5 UR+[5 URT	R[ [[[ [ [[ [/5 URT	R[[ [[ [[ /5 UR,R#U5 UR[T	5S
5 URU"U5S5 UR[T	5S	5 UR#UR&S5 UR[T	5S5 URU"U5S5 UR[T	5S	5 URU"U5S5 UR[T	5S
5 UR#[S5 URU"U5S5 URU"U5S5 UR/5 UR[T	5S5 SSS5 g!,(df   g=f)Nr)�UserDictc�>>^�\rSrSrUU4SjrSrSrSrSrU=r	$)�?TestSingleDispatch.test_cache_invalidation.<locals>.TracingDicti�	c�B>�[TU]"U0UD6 /Ul/Ulgr)r�rC�set_ops�get_ops)r5rr��TracingDictr�s   ��rrC�HTestSingleDispatch.test_cache_invalidation.<locals>.TracingDict.__init__�	s%����k�4�1�4�B�6�B�!���!��rc�Z�URUnURRU5 U$r)r�r(rc)r5r!�results   rr"�KTestSingleDispatch.test_cache_invalidation.<locals>.TracingDict.__getitem__�	s&�����3������#�#�C�(��
rc�V�URRU5 X RU'gr)r'rcr�)r5r!rms   r�__setitem__�KTestSingleDispatch.test_cache_invalidation.<locals>.TracingDict.__setitem__�	s�����#�#�C�(�!&�	�	�#�rc�8�URR5 gr)r�r�rfs rr��ETestSingleDispatch.test_cache_invalidation.<locals>.TracingDict.clear�	s���	�	���!r)r(r')
r)r*r+r,rCr"r/r�r-r�)r�r)s@�rr)r%�	s���
"�
�
'�
"�
"rr)�WeakKeyDictionaryc�>�T$rr)�tds�rrR�<TestSingleDispatch.test_cache_invalidation.<locals>.<lambda>�	s���Rrc��gr'rr`s rr��5TestSingleDispatch.test_cache_invalidation.<locals>.g�	���rr�r@rAc��gr�rr`s rrRr6�	���rr3c��\rSrSrSrg)�5TestSingleDispatch.test_cache_invalidation.<locals>.Xi�	rNr(rrrr�r=�	s��rr�c��gr�rr`s rrRr6�	s��Grr�c��gr�rr`s rrRr6�	s��5Err�c��gr�rr`s rrRr6�	r;rrX)r�r#r�r�	swap_attrr�r
r/rWr`r(r'rXr��registryr�r3r0�
_find_implruryrOr��_clear_cache)
r5r#r�rLr�rpr�r�r)r5s
        @@r�test_cache_invalidation�*TestSingleDispatch.test_cache_invalidation�	s����(��
	"�(�
	"��]��
�
�
�w�(;�Z�
H����A�
�
%�
%�
�&�
��A��A����S��W�a�(����Q�q�T�6�*����S��W�a�(����R�Z�Z��,����R�Z�Z�$��0����R�W�W�T�]�A�J�J�v�,>�?����Q�q�T�6�*����S��W�a�(����R�Z�Z��,����R�Z�Z�$���6����R�W�W�T�]�A�J�J�v�,>�?����R�W�W�T�]�A�J�J�v�,>�?����R�W�W�T�]�B�G�G�D�M�:����Q�q�T�6�*����Q�q�T�6�*����R�Z�Z�$���6����R�Z�Z�$���6�
�J�J�t�/�0����R�Z�Z�$���6����S��W�a�(����Q�q�T�6�*����S��W�a�(����R�Z�Z�$���6����R�Z�Z�$��d�);�<����R�W�W�T�]�&�1�1�$��
�
�C�
E����Q�q�T�6�*����S��W�a�(����R�Z�Z�$���6����R�Z�Z�$��d�D�)A�B����R�W�W�T�]�&�1�1�$��
�
�C�
E�
�
�
���%�%�a�(����Q�q�T�6�*����Q�q�T�6�*����R�Z�Z�$��d�D�)A�B����R�Z�Z�$��d�D�)A�B�
�J�J�q�w�w� 3�4����S��W�a�(����Q�q�T�7�+����S��W�a�(����R�Z�Z�$��d�D�)A�B����R�Z�Z�$��d�D�$�)G�H����Q�q�T�6�*����S��W�a�(����R�Z�Z�$��d�D�)A�B����R�Z�Z�$��d�D�$��)M�N����Q�q�T�6�*����Q�q�T�7�+����R�Z�Z�$��d�D�$��)M�N����R�Z�Z�$��d�D�$��)M�N�
�J�J�t��
�J�J�t�����R�Z�Z�$��d�D�$��*.��*6�
7����R�Z�Z�$��d�D�$��)M�N�
�L�L�!�!�!�$����S��W�a�(����Q�q�T�6�*����S��W�a�(�
�J�J�q�'�'�)E�F����S��W�a�(����Q�q�T�#3�4����S��W�a�(����Q�q�T�6�*����S��W�a�(�
�J�J�t�/�0����Q�q�T�6�*����Q�q�T�6�*�
�N�N�����S��W�a�(�aI�
H�
H�s�ef�
f$c� �[RS5nURS[RR
4Sj5nURSSj5nUR
U"S5S5 UR
U"SS05S5 UR
U"/S	Q5S
5 UR
U"S	5S
5 UR
U"S5S
5 UR[5"SS
55nUR
U"S5S5 g)Nc��gr'rr`s rrd�.TestSingleDispatch.test_annotations.<locals>.i�	r)rrac��gr�rr`s rrE�.TestSingleDispatch.test_annotations.<locals>._�	rrc��gr�rr`s rrErK�	rrr�rEr@r�r.r�r�c� �\rSrSrSrSrSrg)z.TestSingleDispatch.test_annotations.<locals>._i�	c��Xlgrr`�r5ras  rrC�7TestSingleDispatch.test_annotations.<locals>._.__init__�	����rc� �URU:H$rr`r4s  rr�5TestSingleDispatch.test_annotations.<locals>._.__eq__
s���x�x�5�(�(rr`N)r)r*r+r,rCrr-rrrrErK�	s��
�
)rrE)razcollections.abc.Sequence)r
r/r0r�r�rvrWr�)r5rdrEs   r�test_annotations�#TestSingleDispatch.test_annotations�	s���	�	!�	!�	�
"�	�	
���	�;�?�?�*�*�	�
�	�	
���	�
�	�����4��&�)�����C��8��i�0�����9��z�2�����9��z�2�����5��:�.�
���C��	)�	)�
�	)�	
����5��5�)rc��"SS5nU"5nURS5 URURS5 U"5nUR[	US55 URS5 URURS5 U"5nUR[	US55 URS5 URURS	5 U"5nUR[	US55 g)
Nc��\rSrSr\R
S5r\R\5S5r	\R\
5S5r	Srg)�2TestSingleDispatch.test_method_register.<locals>.Ai
c��SUlgr'r`rOs  rr��4TestSingleDispatch.test_method_register.<locals>.A.t
s	��!��rc��SUlg�Nr�r`rOs  rrE�4TestSingleDispatch.test_method_register.<locals>.A._
�	�� ��rc��SUlg�Nr�r`rOs  rrEr]
r^rr`N�r)r*r+r,r
�singledispatchmethodr�r0r�rEr�r-rrrr/rX
sN��
�
+�
+�
"�,�
"�
�Z�Z��_�
!��
!�
�Z�Z��_�
!��
!rr/rr�rar�r�rhr�)r�rWrar�r�)r5r/rEr�s    r�test_method_register�'TestSingleDispatch.test_method_register
s���		!�		!�
�C��	���A���������&�
�S�������U�+�,�	���B���������&�
�S�������U�+�,�	���C���������'�
�S�������U�+�,rc���"SS5nU"5nURURS55 URURS55 URURS5S5 g)Nc��\rSrSr\R
\S55r\R\	5\S55r
\R\5\S55r
Srg)�8TestSingleDispatch.test_staticmethod_register.<locals>.Ai!
c��U$rrr`s rr��:TestSingleDispatch.test_staticmethod_register.<locals>.A.t"
�	���
rc�"�[U[5$r�rDr�r`s rrE�:TestSingleDispatch.test_staticmethod_register.<locals>.A._&
���"�#�s�+�+rc�"�[U[5$r�rDr�r`s rrErm*
rnrrN�
r)r*r+r,r
rbr-r�r0r�rEr�r-rrrr/rg!
sf��
�
+�
+�
�
��,�
�
�Z�Z��_�
�
,���
,�
�Z�Z��_�
�
,���
,rr/rr�rh�rUr�rW�r5r/rEs   r�test_staticmethod_register�-TestSingleDispatch.test_staticmethod_register 
�U��	,�	,�
�C��������A���������B�� �������S��3�'rc�j�"SS5nU"5nURURSS5S5 g)Nc�h�\rSrSrSr\RS5r\RS\	4Sj5r
Srg)�3TestSingleDispatch.test_slotted_class.<locals>.Sloti5
rDc��grr�r5�itemras   r�go�6TestSingleDispatch.test_slotted_class.<locals>.Slot.go7
r�rr|c�
�X-$rrr{s   rrE�5TestSingleDispatch.test_slotted_class.<locals>.Slot._;
s
���z�!rrN)r)r*r+r,�	__slots__r
rbr}r0r�rEr-rrr�Slotry5
s>��"�I�
�
+�
+�
�,�
��[�[�
"�c�
"��
"rr�r@rA�rWr}�r5r�r
s   r�test_slotted_class�%TestSingleDispatch.test_slotted_class4
s/��	"�	"�
�F��������a���Q�'rc��"SS5nU"5nURURSS5S5 URURSS5S5 g)Nc�|�\rSrSrSr\R\S55r\R\S\
4Sj55rSrg)�?TestSingleDispatch.test_classmethod_slotted_class.<locals>.SlotiC
rDc��grr�r�r|ras   rr}�BTestSingleDispatch.test_classmethod_slotted_class.<locals>.Slot.goE
���rr|c�
�X-$rrr�s   rrE�ATestSingleDispatch.test_classmethod_slotted_class.<locals>.Slot._J
s���z�!rrN)
r)r*r+r,r�r
rbr+r}r0r�rEr-rrrr�r�C
sN��"�I�
�
+�
+�
�
��,�
��[�[�
�
"�S�
"���
"rr�r@rAr�r�s   r�test_classmethod_slotted_class�1TestSingleDispatch.test_classmethod_slotted_classB
sI��
	"�
	"�
�F��������a���Q�'��������A���*rc��"SS5nU"5nURURS55 URURS55 URURS5S5 URURS55 URURS55 URURS5S5 g)Nc��\rSrSrS/r\R\S55r\R\
5\S55r\R\5\S55rSr
g)�=TestSingleDispatch.test_staticmethod_slotted_class.<locals>.AiT
rEc��U$rrr`s rr��?TestSingleDispatch.test_staticmethod_slotted_class.<locals>.A.tV
rjrc�"�[U[5$rrlr`s rrE�?TestSingleDispatch.test_staticmethod_slotted_class.<locals>.A._Z
rnrc�"�[U[5$rrpr`s rrEr�^
rnrrN)r)r*r+r,r�r
rbr-r�r0r�rEr�r-rrrr/r�T
sm����I�
�
+�
+�
�
��,�
�
�Z�Z��_�
�
,���
,�
�Z�Z��_�
�
,���
,rr/rr�rhrrrss   r�test_staticmethod_slotted_class�2TestSingleDispatch.test_staticmethod_slotted_classS
s���
	,�
	,�
�C��������A���������B�� �������S��3�'�������A���������B�� �������S��3�'rc���"SS5nU"5nSURlU"5nUR[5 URR SSS5 g!,(df   g=f)Nc�8�\rSrSr\R
S5rSrg)�6TestSingleDispatch.test_assignment_behavior.<locals>.Aim
c��U$rrr`s rr��8TestSingleDispatch.test_assignment_behavior.<locals>.A.tn
s���
rrN�r)r*r+r,r
rbr�r-rrrr/r�m
s��
�
+�
+�
�,�
rr/r�)r�r�rcrg)r5r/rE�a2s    r�test_assignment_behavior�+TestSingleDispatch.test_assignment_behaviork
sL��	�	�

�C�������
�S��
�
�
�~�
.��D�D�H�H�/�
.�
.�s�A�
A-c��"SS5nURURS5RS5 URURS5RS5 URURS5RS5 g)	Nc��\rSrSrSr\R\S55r\R\
5\S55r\R\5\S55rSr
g)�7TestSingleDispatch.test_classmethod_register.<locals>.Aiy
c��Xlgrr`rOs  rrC�@TestSingleDispatch.test_classmethod_register.<locals>.A.__init__z
rQrc��U"S5$r'r�r�ras  rr��9TestSingleDispatch.test_classmethod_register.<locals>.A.t}
����6�{�"rc��U"S5$r\rr�s  rrE�9TestSingleDispatch.test_classmethod_register.<locals>.A._�
����5�z�!rc��U"S5$r`rr�s  rrEr��
r�rr`N�r)r*r+r,rCr
rbr+r�r0r�rEr�r-rrrr/r�y
sm��
��
+�
+�
�
#��,�
#�
�Z�Z��_�
�
"���
"�
�Z�Z��_�
�
"���
"rr/rr�r�r�rhr��rWr�rars  r�test_classmethod_register�,TestSingleDispatch.test_classmethod_registerx
�b��	"�	"�"	
������Q����U�+�������R����e�,�������S����v�.rc���"SS5nURR[5[S55nURR[5[S55nURURS5RS5 URURS5RS5 URURS	5RS
5 g)Nc�H�\rSrSrSr\R\S55rSr	g)�4TestSingleDispatch.test_callable_register.<locals>.Ai�
c��Xlgrr`rOs  rrC�=TestSingleDispatch.test_callable_register.<locals>.A.__init__�
rQrc��U"S5$r'rr�s  rr��6TestSingleDispatch.test_callable_register.<locals>.A.t�
r�rr`N)
r)r*r+r,rCr
rbr+r�r-rrrr/r��
s)��
��
+�
+�
�
#��,�
#rr/c��U"S5$r\rr�s  rrE�4TestSingleDispatch.test_callable_register.<locals>._�
����u�:�rc��U"S5$r`rr�s  rrEr��
r�rrr�r�r�rhr�)r�r0r�r+r�rWra)r5r/rEs   r�test_callable_register�)TestSingleDispatch.test_callable_register�
s���	#�	#�
�����c�	�	�	�
�
�	�	
�����c�	�	�	�
�
�	�	
������Q����U�+�������R����e�,�������S����v�.rc�8�"SS[RS9nURURR5 URUR
SR5 UR
[5 U"5 SSS5 g!,(df   g=f)Nc�V�\rSrSr\R
\RS55rSr	g)�ATestSingleDispatch.test_abstractmethod_register.<locals>.Abstracti�
c��grrr�s   rr��ETestSingleDispatch.test_abstractmethod_register.<locals>.Abstract.add�
r�rrN)
r)r*r+r,r
rbr�r�r�r-rrrr�r��
s(��
�
+�
+�
�
�
�
� �,�
rr�r�r�)r�r�rUr�r�r"rcrd)r5r�s  r�test_abstractmethod_register�/TestSingleDispatch.test_abstractmethod_register�
sf��	����	�	
������9�9�:�����)�)�%�0�E�E�F�
�
�
�y�
)��J�*�
)�
)�s�:B�
Bc���"SS5nU"5nURURS5S5 URURS5S5 URURS5S5 g)	Nc��\rSrSr\R
S5r\RS\4Sj5r	\RS\
4Sj5r	Srg)�4TestSingleDispatch.test_type_ann_register.<locals>.Ai�
c��gr'rrOs  rr��6TestSingleDispatch.test_type_ann_register.<locals>.A.t�
r9rrac��gr\rrOs  rrE�6TestSingleDispatch.test_type_ann_register.<locals>.A._�
���rc��gr`rrOs  rrEr��
r�rrNrarrrr/r��
sT��
�
+�
+�
�,�
�
�Z�Z�
�S�
��
�
�Z�Z�
�S�
��
rr/rr�r�r�rhr�)rWr�rss   r�test_type_ann_register�)TestSingleDispatch.test_type_ann_register�
s]��		�		�
�C��������Q���'�������R��%�(�������S��6�*rc���"SS5nU"5nURURS55 URURS55 URURS5S5 g)Nc��\rSrSr\R
\S55r\R\S\	4Sj55r
\R\S\4Sj55r
Srg)�ATestSingleDispatch.test_staticmethod_type_ann_register.<locals>.Ai�
c��U$rrr`s rr��CTestSingleDispatch.test_staticmethod_type_ann_register.<locals>.A.t�
rjrrac�"�[U[5$rrlr`s rrE�CTestSingleDispatch.test_staticmethod_type_ann_register.<locals>.A._�
rnrc�"�[U[5$rrpr`s rrEr��
rnrrNrqrrrr/r��
sl��
�
+�
+�
�
��,�
�
�Z�Z�
�
,�s�
,���
,�
�Z�Z�
�
,�s�
,���
,rr/rr�rhrrrss   r�#test_staticmethod_type_ann_register�6TestSingleDispatch.test_staticmethod_type_ann_register�
rvrc��"SS5nURURS5RS5 URURS5RS5 URURS5RS5 g)	Nc��\rSrSrSr\R\S55r\R\S\
4Sj55r\R\S\4Sj55rSr
g)	�@TestSingleDispatch.test_classmethod_type_ann_register.<locals>.Ai�
c��Xlgrr`rOs  rrC�ITestSingleDispatch.test_classmethod_type_ann_register.<locals>.A.__init__�
rQrc��U"S5$r'rr�s  rr��BTestSingleDispatch.test_classmethod_type_ann_register.<locals>.A.t�
r�rrac��U"S5$r\rr�s  rrE�BTestSingleDispatch.test_classmethod_type_ann_register.<locals>.A._�
r�rc��U"S5$r`rr�s  rrEr��
r�rr`Nr�rrrr/r��
ss��
��
+�
+�
�
#��,�
#�
�Z�Z�
�
"�C�
"���
"�
�Z�Z�
�
"�C�
"���
"rr/rr�r�r�rhr�r�rs  r�"test_classmethod_type_ann_register�5TestSingleDispatch.test_classmethod_type_ann_register�
r�rc�"�"SS5nURS-nURU"5RURU"5RURU"5R4H�nUR	US9 URURX#R-5 URUR[R(aSOS5 URURS[5 SSS5 M� URURRS5 URU"5RRS5 URURRS5 URU"5RRS5 URURRS	5 URU"5RRS	5 g!,(df   GM�=f)
Nc��\rSrSr\R
S\S\4Sj5r\R
\	S\S\4Sj55r
\R
\S\S\4Sj55rSr
g)	�=TestSingleDispatch.test_method_wrapping_attributes.<locals>.Ai�
ra�returnc��[U5$��My function docstring�r�rOs  rr �BTestSingleDispatch.test_method_wrapping_attributes.<locals>.A.func�
�
���3�x�rc��[U5$r�r�r�s  r�cls_func�FTestSingleDispatch.test_method_wrapping_attributes.<locals>.A.cls_func�
�
���3�x�rc��[U5$r�r�r`s r�static_func�ITestSingleDispatch.test_method_wrapping_attributes.<locals>.A.static_func�
r�rrN)r)r*r+r,r
rbr�r�r r+r�r-r�r-rrrr/r��
s���
�
+�
+�
 ��
 ��
 �,�
 ��
+�
+�
�
 �3�
 �3�
 ��,�
 ��
+�
+�
�
 ��
 ��
 ��,�
 rr/r��r*r�rar r�r�)r+r r�r�r�rWr)rr�HAVE_PY_DOCSTRINGSr�r�)r5r/�prefixr*s    r�test_method_wrapping_attributes�2TestSingleDispatch.test_method_wrapping_attributes�
sz��	 �	 � ���#�%��
�F�F�
�C�H�H�
�J�J�
�C�L�L�
�M�M�
�C�O�O�

�D����4��(�� � ��!2�!2�F�]�]�4J�K�� � ����%,�%?�%?�#:�'+�.�� � ��!5�!5�e�!<�c�B�
)�(�
� 	
��������&�1��������*�*�F�3�������,�,�j�9��������.�.�
�;�������/�/��?��������1�1�=�A�)�(�s
�?A?G>�>
H	c	�^�Sm"U4SjS5n"U4SjS5nURS5nUnSSS5 URS5nUnSSS5 URWW5 URUS5 URURS5URS55 URURS5S5 SH�nURUS	9 UR[	X&5R
[	X5R
5 UR[	U"5U5R
[	U"5U5R
5 SSS5 M� URU"5RURU"5R4HqnURUS
9 URUR[R(aSOS5 URURS[5 SSS5 Ms URURR
S
5 URU"5RR
S
5 URURR
S5 URU"5RR
S5 g!,(df   GN�=f!,(df   GN�=f!,(df   GM=f!,(df   GM_=f)Nc�p^�URm[[R"T5U4Sj55nU$)Nc�>�T"U0UD6$rr)rr�r�s  �rr��gTestSingleDispatch.test_double_wrapped_methods.<locals>.classmethod_friendly_decorator.<locals>.wrappers�����/��/�/r)�__func__r+r
r@)r r�r�s  @r�classmethod_friendly_decorator�VTestSingleDispatch.test_double_wrapped_methods.<locals>.classmethod_friendly_decorators4����m�m�G�
�
�_�_�W�
%�
0�&��
0��Nrc�x>�\rSrSr\\RS\S\4Sj55r	Y\S\S\4Sj55r
Srg)�MTestSingleDispatch.test_double_wrapped_methods.<locals>.WithoutSingleDispatchi rar�c3�6# �[U5v� g! g=f7f)N�Doner�r�s  r�cls_context_manager�aTestSingleDispatch.test_double_wrapped_methods.<locals>.WithoutSingleDispatch.cls_context_manager!s���"��c�(�N�!��6����
���c��[U5$rr�r�s  r�decorated_classmethod�cTestSingleDispatch.test_double_wrapped_methods.<locals>.WithoutSingleDispatch.decorated_classmethod)r�rrN)r)r*r+r,r+�
contextlib�contextmanagerr�r�r
rr-�rs�r�WithoutSingleDispatchr
 s[���
�
�
&�
&�
"�c�
"�c�
"�'��
"�,�
�
 ��
 ��
 ��,�
 rrc�>�\rSrSr\R
\\RS\	S\
4Sj555r\R
Y\S\	S\
4Sj555rSr
g)�JTestSingleDispatch.test_double_wrapped_methods.<locals>.WithSingleDispatchi.rar�c3�6# �[U5v� g! g=f7f)r�rr�r�s  rr
�^TestSingleDispatch.test_double_wrapped_methods.<locals>.WithSingleDispatch.cls_context_manager/s���
"��c�(�N�!��6�rc��[U5$r�r�r�s  rr�`TestSingleDispatch.test_double_wrapped_methods.<locals>.WithSingleDispatch.decorated_classmethod9s
��
�3�x�rrN)r)r*r+r,r
rbr+rrr�r�r
rr-rs�r�WithSingleDispatchr.sw���
�
+�
+�
�
�
&�
&�
"�c�
"�c�
"�'��,�
"��
+�
+�
+�
�
 ��
 ��
 ��,�,�
 rrrl�5)r
r)r�r�r�rar
r)r
rWrr�r�r)rrr�r�r�)	r5rrr��without_single_dispatch_foo�single_dispatch_foo�method_namer*rs	        @r�test_double_wrapped_methods�.TestSingleDispatch.test_double_wrapped_methodss����	�	 �	 �	 �	 �(#�
6�
6�q�
9�S�*-�'�:� �
3�
3�A�
6�#�"%��7�	
���4�6I�J����,�c�2����!�7�7��:��4�4�Q�7�	
�
	
���+�A�A�!�D�c�J�L�K����[��1�� � ��.�<�E�E��1�?�H�H��
� � ��.�0�+�>�G�G��1�3�[�A�J�J��
2�1�L�
�2�2�� �4�4��4�4�� �6�6�	
�D����4��(�� � ����%,�%?�%?�#:�'+�.�� � ��!5�!5�e�!<�c�B�)�(�

�	
����2�2�;�;�!�	
�	
���� �4�4�=�=�!�	
�	
����4�4�=�=�#�	
�	
���� �6�6�?�?�#�	
�m:�
9��7�
6��2�1��")�(�s1�J9�K� A=K�3AK0�9
K�
K�
K-	�0
L	c��SnSn[RS5nUR[5nUR	S5S5nSSS5 UR[
WR5RUS-55 UR[
UR5RU55 UR[5nURS5nSSS5 UR[
UR5RUS-55 UR[
UR5RU55 UR[5nURS	[R[4S
j5nSSS5 UR[
UR5RS55 UR[
UR5RS55 UR[5nURS	[R[[R[44S
j5nSSS5 UR[
UR5RS55 UR[
UR5RS55 g!,(df   GN�=f!,(df   GN=f!,(df   GN`=f!,(df   N�=f)Nz(Invalid first argument to `register()`: zS. Use either `@register(some_class)` or plain `@register` on an annotated function.c��gr'rr`s rrd�8TestSingleDispatch.test_invalid_registrations.<locals>.i�r)rrnc��g)NzI annotated with a non-typerr`s rrE�8TestSingleDispatch.test_invalid_registrations.<locals>._�s��4r�42c��g)NzI forgot to annotaterr`s rrEr(�s��-rzB<function TestSingleDispatch.test_invalid_registrations.<locals>._rac��g)Nz%I annotated with a generic collectionrr`s rrEr(�s��?rzInvalid annotation for 'arg'.z$typing.Iterable[str] is not a class.c��g)Nz
Invalid Unionrr`s rrEr(�s��&rzFtyping.Union[int, typing.Iterable[str]] not all arguments are classes.)r
r/rcrdr0rUr�rXr(�endswith�typingrz�Unionr�)r5�
msg_prefix�
msg_suffixrd�excrEs      r�test_invalid_registrations�-TestSingleDispatch.test_invalid_registrations}sd��?�
�
"�	�
�	!�	!�	�
"�	�
�
�
�y�
)�S�
�Z�Z��^�
5��
5�*�	
����C�M�M�*�5�5�j�4�6G�H�I�����C�M�M�*�3�3�J�?�@�
�
�
�y�
)�S�
�Z�Z�
.��
.�*�	
����C�M�M�*�5�5�j�P�7Q�
�	�	
����C�M�M�*�3�3�J�?�@�
�
�
�y�
)�S�
�Z�Z�
?�v���s�+�
?��
?�*�	
����C�M�M�*�5�5�+�
�	�	
����C�M�M�*�3�3�2�
�	��
�
�y�
)�S�
�Z�Z�
'�v�|�|�C�����)=�$=�>�
'��
'�*�	
����C�M�M�*�5�5�+�
�	�	
����C�M�M�*�3�3�T�
�	�K*�
)��*�
)��*�
)��*�
)�s0�K�K�',K,�AK>�
K�
K)�,
K;�>
Lc��[RS5nSnUR[U5 U"5 SSS5 SnUR[U5 U"SS9 SSS5 g!,(df   N6=f!,(df   g=f)Nc��grr)rr�s  rr��>TestSingleDispatch.test_invalid_positional_argument.<locals>.f�r�rz)f requires at least 1 positional argumentr@rm)r
r/�assertRaisesRegexrd)r5r��msgs   r� test_invalid_positional_argument�3TestSingleDispatch.test_invalid_positional_argument�so��	�	!�	!�	�
"�	�9��
�
#�
#�I�s�
3�
�C�4�9��
�
#�
#�I�s�
3�
��F�4�
3�4�
3��4�
3�s�A'�A8�'
A5�8
Bc�2�"SS5nSnUR[U5 U"5R5 SSS5 SnUR[U5 U"5RSS9 SSS5 g!,(df   ND=f!,(df   g=f)Nc�8�\rSrSr\R
S5rSrg)�STestSingleDispatch.test_invalid_positional_argument_singledispatchmethod.<locals>.Ai�c��grr)r5rr�s   rr��UTestSingleDispatch.test_invalid_positional_argument_singledispatchmethod.<locals>.A.t�r�rrNr�rrrr/r>�s��
�
+�
+�
�,�
rr/z)t requires at least 1 positional argumentr@rm)r8rdr�)r5r/r9s   r�5test_invalid_positional_argument_singledispatchmethod�HTestSingleDispatch.test_invalid_positional_argument_singledispatchmethod�sq��	�	�:��
�
#�
#�I�s�
3�
�C�E�E�G�4�9��
�
#�
#�I�s�
3�
�C�E�E�A�E�J�4�
3�4�
3��4�
3�s�A7�B�7
B�
Bc���[RS5nURS[R[
[44Sj5nURS[[-4Sj5nURU"/5S5 URU"S5S5 URU"S5S5 URU"S	5S
5 URU"S5S
5 g)Nc��g�N�defaultrr`s rr��(TestSingleDispatch.test_union.<locals>.f�rrrac��g�N�typing.Unionrr`s rrE�(TestSingleDispatch.test_union.<locals>._����!rc��g�N�types.UnionTyperr`s rrErK����$rrFr�rJrr@rOrf)
r
r/r0r.r/r��bytesr��floatrW�r5r�rEs   r�
test_union�TestSingleDispatch.test_union�s���	�	!�	!�	�
"�	�
���	"�6�<�<��U�
�+�	"�
�	"�
���	%�3��;�	%�
�	%�	
����2��	�*�����2���/�����3���0�����1��0�1�����3��!2�3rc��[RS5nURS[R[
[44Sj5nURS[[
-4Sj5nURU"/5S5 URU"S5S5 URU"S5S	5 URU"S
5S5 g)Nc��grErr`s rr��1TestSingleDispatch.test_union_conflict.<locals>.f�rrrac��grIrr`s rrE�1TestSingleDispatch.test_union_conflict.<locals>._�rLrc��grNrr`s rrErZ�rPrrFr�rOrrJr@)	r
r/r0r.r/r�rQr�rWrSs   r�test_union_conflict�&TestSingleDispatch.test_union_conflict�s���	�	!�	!�	�
"�	�
���	"�6�<�<��U�
�+�	"�
�	"�
���	%�3��9�	%�
�	%�	
����2��	�*�����2�� 1�2�����3���0�����1��0�1rc��[RS5nURS[R[
S44Sj5nUR
U"S5S5 UR
U"S5S5 UR
U"S5S5 [RS5nURS[S-4S	j5nUR
U"S5S5 UR
U"S5S
5 UR
U"S5S
5 g)Nc��grErr`s r�typing_union�8TestSingleDispatch.test_union_None.<locals>.typing_union�rrrac��grIrr`s rrE�-TestSingleDispatch.test_union_None.<locals>._�rLrr@rFr�rJc��grErr`s r�types_union�7TestSingleDispatch.test_union_None.<locals>.types_union�rrc��grNrr`s rrErc�rPrrO)r
r/r0r.r/r�rWr�)r5r`rEres    r�test_union_None�"TestSingleDispatch.test_union_None�s��	�	!�	!�	�
"�	�
�	�	�	"�6�<�<��T�	�*�	"�
�	"�	
����a��)�4�����b�)�>�:�����d�+�^�<�	�	!�	!�	�
"�	�
�	�	�	%�3��:�	%�
�	%�	
����R��)�4�����Q��):�;�����T�*�,=�>rc��[RS5nUR[S5 UR	[
[S5 SSS5 UR[S5 UR	[R[S5 SSS5 UR[S5 UR	[
[[-S5 SSS5 UR[S5 UR	[R[[-S5 SSS5 URU"S/5S5 URU"S	/5S5 URU"S
5S5 URU"S5S5 g!,(df   GNK=f!,(df   GN=f!,(df   N�=f!,(df   N�=f)Nc��grErr`s rr��8TestSingleDispatch.test_register_genericalias.<locals>.frr�Invalid first argument to c��g�Nztypes.GenericAliasrr`s rrR�?TestSingleDispatch.test_register_genericalias.<locals>.<lambda>
s��.Brc��g�Nztyping.GenericAliasrr`s rrRrps��5Jrc��g)Nz$types.UnionTypes(types.GenericAlias)rr`s rrRrps��4Zrc��g�Nz!typing.Union[typing.GenericAlias]rr`s rrRrps��?brr@rFrfr�r)
r
r/r8rdr0r3r�r.�Listr�rRrQrWr�s  r�test_register_genericalias�-TestSingleDispatch.test_register_genericaliassL��	�	!�	!�	�
"�	��
#�
#�I�/K�
L�
�J�J�t�C�y�"B�C�M�
�
#�
#�I�/K�
L�
�J�J�v�{�{�3�'�)J�K�M�
�
#�
#�I�/K�
L�
�J�J�t�C�y�3��(Z�[�M�
�
#�
#�I�/K�
L�
�J�J�v�{�{�5�)�E�1�3b�c�M�	
����A�3���+�����C�5��9�-�����2��	�*�����3���+�M�
L��
L�
L��
L�
L��
L�
L�s/�F�*)F"�1&F4�50G�
F�"
F1�4
G�
Gc���[RS5nUR[S5 UR	[
[5 SSS5 UR[S5 UR	[R[5 SSS5 UR[S5 UR	[
[[-5 SSS5 UR[S5 UR	[R[[-5 SSS5 g!,(df   N�=f!,(df   N�=f!,(df   N}=f!,(df   g=f)Nc��grErr`s rr��BTestSingleDispatch.test_register_genericalias_decorator.<locals>.frrrm)
r
r/r8rdr0r3r�r.rvr�r�s  r�$test_register_genericalias_decorator�7TestSingleDispatch.test_register_genericalias_decorators���	�	!�	!�	�
"�	��
#�
#�I�/K�
L�
�J�J�t�C�y�!�M�
�
#�
#�I�/K�
L�
�J�J�v�{�{�3�'�(�M�
�
#�
#�I�/K�
L�
�J�J�t�C�y�3��'�M�
�
#�
#�I�/K�
L�
�J�J�v�{�{�3�'�#�-�.�M�
L�
M�
L��
L�
L��
L�
L��
L�
L�s/�D&�('D7�-$E�/.E�&
D4�7
E�
E�
E'c���[RS5nUR[S5 URS[
[4Sj5nSSS5 UR[S5 URS[R[4Sj5nSSS5 UR[S5 URS[
[[-4Sj5nSSS5 UR[S5 URS[R[[-4Sj5nSSS5 URU"S/5S	5 URU"S
/5S	5 URU"S5S	5 URU"S5S	5 g!,(df   GNT=f!,(df   GN=f!,(df   N�=f!,(df   N�=f)
Nc��grErr`s rr��CTestSingleDispatch.test_register_genericalias_annotation.<locals>.f&rrzInvalid annotation for 'arg'rac��grorr`s rrE�CTestSingleDispatch.test_register_genericalias_annotation.<locals>._+s��+rc��grrrr`s rrEr�/s��,rc��g)Nz#types.UnionType(types.GenericAlias)rr`s rrEr�3s��<rc��grurr`s rrEr�7s��:rr@rFrfr�r)
r
r/r8rdr0r3r�r.rvrRr�rQrWrSs   r�%test_register_genericalias_annotation�8TestSingleDispatch.test_register_genericalias_annotation%s���	�	!�	!�	�
"�	��
#�
#�I�/M�
N�
�Z�Z�
,�t�C�y�
,��
,�O��
#�
#�I�/M�
N�
�Z�Z�
-�v�{�{�5�)�
-��
-�O��
#�
#�I�/M�
N�
�Z�Z�
=�t�C�y�3��
=��
=�O��
#�
#�I�/M�
N�
�Z�Z�
;�v�{�{�5�)�E�1�
;��
;�O�
	
����A�3���+�����C�5��9�-�����2��	�*�����3���+�)O�
N��O�
N��O�
N��O�
N�s/�"F�-,F.�7)G�>3G�
F+�.
F=�
G�
Gc��"SS5nU"5nU"5nURURS5U5 URURS5U5 g)Nc�D�\rSrSrSrSr\RS5rSr	g)�9TestSingleDispatch.test_method_equal_instances.<locals>.AiBc��g�NTrr4s  rr�@TestSingleDispatch.test_method_equal_instances.<locals>.A.__eq__CrGrc��gr�rrfs rr(�BTestSingleDispatch.test_method_equal_instances.<locals>.A.__hash__Errc��U$rrrOs  rr��;TestSingleDispatch.test_method_equal_instances.<locals>.A.tGs���rrN�
r)r*r+r,rr(r
rbr�r-rrrr/r�Bs$��
�
�
�
+�
+�
�,�
rr/r@rA)r�r�)r5r/rErFs    r�test_method_equal_instances�.TestSingleDispatch.test_method_equal_instances@sH��	�	�
�C��
�C���
�
�a�c�c�!�f�a� ��
�
�a�c�c�!�f�a� rc��"SS5nU"5RS5 [U"5R5 U"5RU"5R:H g)Nc�D�\rSrSrSrSr\RS5rSr	g)�2TestSingleDispatch.test_method_bad_hash.<locals>.AiQc��[er��AssertionErrorr4s  rr�9TestSingleDispatch.test_method_bad_hash.<locals>.A.__eq__R���$�$rc��[err�rfs rr(�;TestSingleDispatch.test_method_bad_hash.<locals>.A.__hash__Tr�rc��grrrOs  rr��4TestSingleDispatch.test_method_bad_hash.<locals>.A.tVr�rrNr�rrrr/r�Qs$��
%�
%�
�
+�
+�
�,�
rr/r@)r�r�rs  r�test_method_bad_hash�'TestSingleDispatch.test_method_bad_hashPs;��	�	�	
����a���Q�S�U�U��	��������rc��"SS5nU"5nURS5nURU"55 A[R"SS9(d[R"5 URU"55 U"5nURnA[R"5 U"S5nURU"55 A[R"SS9(d[R"5 URU"55 g)Nc�8�\rSrSr\R
S5rSrg)�<TestSingleDispatch.test_method_no_reference_loops.<locals>.Aiac�.�[R"U5$r)r�r�rOs  rr��>TestSingleDispatch.test_method_no_reference_loops.<locals>.A.tbs���{�{�4�(�(rrNr�rrrr/r�as��
�
+�
+�
)�,�
)rr/r@T)�cpython)r�r�r�check_impl_detailr�rW)r5r/rErr�s     r�test_method_no_reference_loops�1TestSingleDispatch.test_method_no_reference_loops_s���	)�	)�

�C��
�C�C��F�����Q�S�!�
��(�(��6���� ����!�#��
�C��
�C�C��
�����
�a�D�����Q�S�!�
��(�(��6���� ����!�#�rc��[RS[S[4Sj5nURS[S[
S[4Sj5nUR
[[R"U55S5 g)Nrar�c��[U5$rr��r|ras  rr �0TestSingleDispatch.test_signatures.<locals>.funcz����t�9�rr|c��[U5$rr�r�s  rrE�-TestSingleDispatch.test_signatures.<locals>._}r�r�(item, arg: int) -> str)	r
r/r�r�r0rQrWrr�)r5r rEs   r�test_signatures�"TestSingleDispatch.test_signaturesysx��	�	!�	!�	�C�	�C�	�
"�	�	
���	�C�	�e�	��	�
�	�	
����Y�4�4�T�:�;�2�	4rc���"SS5nUR[[R"UR55S5 UR[[R"U"5R55S5 UR[[R"UR
55S5 UR[[R"UR55S5 g)Nc�h�\rSrSr\R
S\S\4Sj5r\RS\S\
S\4Sj5r\R
\S\S\4Sj55r
\R\S\S\
S\4Sj55r\R
\S\S\4S	j55r\R\S\S\
S\4S
j55rSrg)
�4TestSingleDispatch.test_method_signatures.<locals>.Ai�rar�c��[U5$rr�r{s   rr �9TestSingleDispatch.test_method_signatures.<locals>.A.func�����4�y� rr|c��[U5$rr�r{s   rrE�6TestSingleDispatch.test_method_signatures.<locals>.A._�r�rc��[U5$rr�r�s   rr��=TestSingleDispatch.test_method_signatures.<locals>.A.cls_func�r�rc��[U5$rr�r�s   rrEr������4�y� rc��[U5$rr�r�s  rr��@TestSingleDispatch.test_method_signatures.<locals>.A.static_func�r�rc��[U5$rr�r�s  rrEr��r�rrN)r)r*r+r,r
rbr�r�r r0rQrEr+r�r-r�r-rrrr/r��s��
�
+�
+�
!�c�
!�c�
!�,�
!�
�]�]�
!�c�
!��
!�#�
!��
!��
+�
+�
�
 ��
 ��
 ��,�
 �
�]�]�
�
!�S�
!�u�
!��
!���
!��
+�
+�
�
 �s�
 �s�
 ��,�
 �
�]�]�
�
!��
!�%�
!�C�
!���
!rr/z(self, item, arg: int) -> strz(cls, item, arg: int) -> strr�)rWr�rr�r r�r�rs  r�test_method_signatures�)TestSingleDispatch.test_method_signatures�s���	!�	!�4	
����Y�4�4�Q�V�V�<�=�8�	:�����Y�4�4�Q�S�X�X�>�?�8�	:�����Y�4�4�Q�Z�Z�@�A�7�	9�����Y�4�4�Q�]�]�C�D�2�	4rrN)2r)r*r+r,r2rHrPrWr4�
skipUnlessrrr�rgr�r�r�r�r rErTrcrtr�r�r�r�r�r�r�r�r�r�rr"r3r:rArTr\rhrwr|r�r�r�r�r�r�r-rrrr$r$�s��	-�&�.
;�7�����"5�6����:��7�:�"47�l\(�|;�.+�$},�@d)�L*�6-�4(�((�+�"(�0�/�,/�.�+�"(�(/�,'B�Rd
�L0�d	�
�4�&2�$?�2,�&/�,�6!� 
��4	4�"4rr$c�B�\rSrSrSrSr\RS5rSr	g)�CachedCostItemi�r@c�6�[R5Ulgr)r��RLock�lockrfs rrC�CachedCostItem.__init__�s�� �&�&�(��	rc��UR U=RS-
slSSS5 UR$!,(df   UR$=f)�The cost of the item.r@N)r��_costrfs r�cost�CachedCostItem.cost�s9���Y�Y��J�J�!�O�J���z�z���Y��z�z��s	�7�
A)r�N)
r)r*r+r,r�rCr��cached_propertyr�r-rrrr�r��s&��
�E�)��!�!��"�rr�c�@�\rSrSrSrSr\R\5rSr	g)�OptionallyCachedCostItemi�r@c�D�U=RS-
slUR$)r�r@�r�rfs r�get_cost�!OptionallyCachedCostItem.get_cost�s���
�
�a��
��z�z�rrN)
r)r*r+r,r�r�r�r��cached_costr-rrrr�r��s��
�E��
�.�.�x�8�Krr�c�B�\rSrSrSrSr\RS5rSr	g)�CachedCostItemWithSlotsi�r�c��SUlgr�r�rfs rrC� CachedCostItemWithSlots.__init__�s	����
rc��[S5e)Nz!never called, slots not supportedrsrfs rr��CachedCostItemWithSlots.cost�s���>�?�?rr�N)
r)r*r+r,r�rCr�r�r�r-rrrr�r��s(���I���!�!�@�"�@rr�c�V�\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
SrS
rg)�TestCachedPropertyi�c��[5nURURS5 URURS5 gr)r�rWr��r5r|s  r�test_cached�TestCachedProperty.test_cached�s2�����������A�&�������A�&rc��[5nURUR5S5 URURS5 URUR5S5 URURS5 g)NrArGrH)r�rWr�r�r�s  r�1test_cached_attribute_name_differs_from_func_name�DTestCachedProperty.test_cached_attribute_name_differs_from_func_name�sb��'�)���������!�,�����)�)�1�-��������!�,�����)�)�1�-rc��[5nUR[S5 UR SSS5 g!,(df   g=f)NzWNo '__dict__' attribute on 'CachedCostItemWithSlots' instance to cache 'cost' property.)r�r8rdr�r�s  r�test_object_with_slots�)TestCachedProperty.test_object_with_slots�s7��&�(��
�
#�
#��i�
�
�I�I�	
�
�
�s	�
7�
Ac��"SS[5n"SSUS9nUR[S5 UR SSS5 g!,(df   g=f)Nc�8�\rSrSr\R
S5rSrg)�6TestCachedProperty.test_immutable_dict.<locals>.MyMetai�c��gr�rrfs r�prop�;TestCachedProperty.test_immutable_dict.<locals>.MyMeta.prop�s��rrN)r)r*r+r,r�r�r�r-rrr�MyMetar��s��
�
)�
)�
�*�
rr�c��\rSrSrSrg)�7TestCachedProperty.test_immutable_dict.<locals>.MyClassi�rNr(rrr�MyClassr��r�rr�r�zkThe '__dict__' attribute on 'MyMeta' instance does not support item assignment for caching 'prop' property.)rr8rdr�)r5r�r�s   r�test_immutable_dict�&TestCachedProperty.test_immutable_dict�sI��	�T�	�
	��	��
#�
#��y�
�
�L�L�	
�
�
�s�
A�
Ac���UR[5n"SS5nSSS5 UR[WR5[[S555 g!,(df   NF=f)zDDisallow this case because decorated function a would not be cached.c�<�\rSrSr\R
S5r\rSrg)�KTestCachedProperty.test_reuse_different_names.<locals>.ReusedCachedPropertyi�c��grrrfs rrE�MTestCachedProperty.test_reuse_different_names.<locals>.ReusedCachedProperty.a�s��rrN)	r)r*r+r,r�r�rErFr-rrr�ReusedCachedPropertyr��s!���-�-��.���rr�NzLCannot assign the same cached_property to two different names ('a' and 'b').)rcrdrWr�rX)r5�ctxr�s   r�test_reuse_different_names�-TestCachedProperty.test_reuse_different_names�sT��
�
�
�y�
)�S�
�
�*�	
�����
�
���	�h�i�j�	
�*�
)�s�A!�!
A/c�6^^�Sm[RU4Sj5m"U4SjS5n"U4SjS5nU"5nU"5nURURS5 URURS5 URURS5 g	)
zIReusing a cached_property on different classes under the same name is OK.rc�>�TS-
mT$r�r)�_self�counters �r�_cp�4TestCachedProperty.test_reuse_same_name.<locals>._cp
s���
�q�L�G��Nrc�>�\rSrSrYrSrg)�2TestCachedProperty.test_reuse_same_name.<locals>.Ai

rN�r)r*r+r,�cpr-�rs�rr/r	

�����Brr/c�>�\rSrSrYrSrg)�2TestCachedProperty.test_reuse_same_name.<locals>.Bi

rNr
rs�rr�r

r
rr�r@rAN)r�r�rWr)r5r/r�rErFrrs     @@r�test_reuse_same_name�'TestCachedProperty.test_reuse_same_name
s������	�	%�	%�	�
&�	�
	�	�	�	�
�C��
�C��������q�!�������q�!�������q�!rc���[RS5n"SS5nXlUR[S5 U"5R SSS5 g!,(df   g=f)Nc��grr)r
s rrR�=TestCachedProperty.test_set_name_not_called.<locals>.<lambda>
s��Drc��\rSrSrSrg)�8TestCachedProperty.test_set_name_not_called.<locals>.Fooi
rNr(rrr�Foor
r�rrzGCannot use cached_property instance without calling __set_name__ on it.)r�r�rr8rd)r5rrs   r�test_set_name_not_called�+TestCachedProperty.test_set_name_not_called
sR��
�
)�
)�.�
9��	�	���
�
#�
#��Y�
�
�E�H�H�	
�
�
�s�A�
A&c�`�UR[R[R5 gr)�assertIsInstancer�r�r�r�rfs r�test_access_from_class�)TestCachedProperty.test_access_from_class$
s�����n�1�1�<�3O�3O�Prc��UR[RR[R
(aS5 gS5 g)Nr�)rWr�r�rrr�rfs r�test_doc�TestCachedProperty.test_doc'
s6������,�,�4�4�$�7�7�2�	&� $�	&rc�t�UR[RR[R5 gr)rWr�r�r*rfs r�test_module�TestCachedProperty.test_module-
s$������,�,�7�7��9R�9R�Src��^�"SS[R5m"U4SjS5nU"S5nURURS5 SUlURURS5 g)z4Caching still works for a subclass defining __set__.c��\rSrSrSrSrg)�OTestCachedProperty.test_subclass_with___set__.<locals>.readonly_cached_propertyi2
c��[S5e)Nzread only property)rg)r5r�rms   r�__set__�WTestCachedProperty.test_subclass_with___set__.<locals>.readonly_cached_property.__set__3
s��$�%9�:�:rrN)r)r*r+r,r(r-rrr�readonly_cached_propertyr&2
s��
;rr*c�.>�\rSrSrSrYS5rSrg)�;TestCachedProperty.test_subclass_with___set__.<locals>.Testi6
c��Xlgr��_prop)r5r�s  rrC�DTestCachedProperty.test_subclass_with___set__.<locals>.Test.__init__7
s��!�
rc��UR$rr.rfs rr��@TestCachedProperty.test_subclass_with___set__.<locals>.Test.prop:
s���z�z�!rr.N)r)r*r+r,rCr�r-)r*s�rrUr,6
s���
"�&�
"�&�
"rrUr@r$N)r�r�rWr�r/)r5rUr�r*s   @r�test_subclass_with___set__�-TestCachedProperty.test_subclass_with___set__0
sY���	;�|�'C�'C�	;�	"�	"�
��G���������#�����������#rrN)r)r*r+r,r�r�r�r�rrrrrr"r3r-rrrr�r��s;��'�
.��
�

�"�.�Q�&�T�$rr��__main__)Or�r/r��collections.abcr��	itertoolsrr��randomrrrrr�r�r.r4�
unittest.mockr�rWrr�inspectr�test.supportrr	r
�import_fresh_moduler�r}rrrrr$rr&r0rXr:r=r��TestCasererrTr�r�r�r�r�r�r:rWr�r�r�r�r�r�rr�r�r�r�r�rrrrrr$r�r�r�r�r)�mainrrr�<module>r?s���
�����"�
��
����
����	����&�)���0�0��:F��I���/�/��7C�n�F���
+�
+�I�j�\�
J�����,��,��
@�	�e�	�(�u�(�	�T�	�XD�XD�x
���[�"D�E�+$�;�� 1� 1�+$�F�+$�\#�K��!2�!2�#�
�
�;�.�.�
�	��,�,�	�
���[�"D�E�$�<�$�F�$� �M� �G(��)�)�G(�Ty6��)�)�y6�x;9�!�;9�|LA�LA�^
���[�"D�E�$�*�h�/�/�$�F�$�
/�:�x�0�0�/�Z,�Z,�|
���[�"D�E�	
�L�(�"3�"3�	
�F�	
�7�\�8�#4�#4�7�g ��)�)�g �T	���)�)��)�P�P�&�)�X�.�.��
���[�"D�E���H�-�-��F��
Q	�Q	�h������������������*�*��
���[�"D�E��w��)�)��F��k4��*�*�k4�\%��9�9�@�@�t$��*�*�t$�n�z���M�M�O�r

Youez - 2016 - github.com/yon3zu
LinuXploit