403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.217.51
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 :  C:/Python315/Lib/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python315/Lib/test/__pycache__/test_functools.cpython-315.pyc
R
>lqj�2c���]PHs]QHGsGs]PHs]PHs]PHs]PHs]QH G	s	]PH(s
]QH,Gs]PH4s
]PH8s]QH<Gs]PHDs]PHHs]PHLs]PHPs]PHTs]PHXs]PH\s]QHXGs]PHds]QHhGs]QHpGs]QHpGs]Q	HpGs]Q
HpG s ]QHpG!s!]PH�s"\OFQQ
,Q5s$\OFQQ
,Q5s%\OFQQ,Q5s&\ONQ2s(Qs)Qs*QQ\+2s,QQ\+2s-QQ\.2s/QQ\O`2s1QQ2s2\Of\%Q2Q Q!\2\O`22s4Q"Q#\2\O`2s5\%%cQ$Q%\%Ol2s7Q&Q'\$Ol2s8\Of\%Q2Q(Q)\422s9Q*Q+\52s:Q,Q-\O`2s;Q.Q/\O`2s<Q0Q1\<2s=Q2Q32s>\Of\%Q2Q4Q5\>\O`22s?Q6Q7\>\O`2s@Q8Q92sA\Of\%Q2Q:Q;\A\O`22sBQ<Q=\A\O`2sCQ>Q?\O`2sD\"O�Q@QA22sFQBQC2sGQDQE\G\O`2sH\Of\%Q2QFQG\G\O`22sIQHQI2sJ\$O�2QJ2sL\%%c\%O�2QK2sMQLQM\J\O`2sN\Of\%Q2QNQO\J\O`22sOQPQQ\O`2sPQRQS2sQQTQU2sRQVQW2sSQXQY\O`2sT\UQZ6Xc\O�2P!P!)[�)�Format�get_annotations)�permutations)�choice)�support)�proxy)�	Signature)�	ALWAYS_EQ)�
import_helper)�threading_helper)�cpython_only)�EqualToForwardRef�	functools�
_functools)�blocked)�fresh�decimal�_decimalc#�� �[OU*oU[OU$Pw�U[OU$P!S[OS$h9h3h�N)�sys�modules)�name�replacement�original_modules&& �(C:\Python315\\Lib\test\test_functools.py�replaced_moduler(sE����k�k�$�'�O�#�C�K�K���,�
�+����D���O����D��s�,A!�A	�A!�	A�A!c�
�V1!)z,capture all positional and keyword arguments�)�args�kws*,r�capturer!1s	���8�O�c�`�UOUOUOUO1!)z)return the signature of a partial object )�funcr�keywords�__dict__)�parts&r�	signaturer(6s!���I�I�t�y�y�$�-�-����?�?r"c��\sQs]:sQsP!)�MyTupler��__name__�
__module__�__qualname__�__firstlineno__�__static_attributes__rr"rr*r*:���r"r*c�(`�\sQs]=snQsQsUsP!)�BadTuplec�:�[U2[U2*!r��list��self�others&&r�__add__�BadTuple.__add__>s���D�z�D��K�'�'r"r)r,r-r.r/r:r0�__classdictcell__��
__classdict__s@rr3r3=s����(�(r"r3c��\sQs]AsQsP!)�MyDictrr+rr"rr@r@Ar1r"r@c�2`�\sQs]Dsn\Q2sQsUsP!)�TestImportTimec�:�[OQ.Ql2P!)r>�os�typing�weakref�warnings�
annotationlib)r
�ensure_lazy_imports�r8s&r�test_lazy_import�TestImportTime.test_lazy_importFs���)�)��Q�	
r"r)r,r-r.r/rrKr0r<r=s@rrBrBDs�����
��
r"rBc�x`�\sQs]MsnQsQsQsQsQsQs	Qs
QsQ	sQ
s
QsQsQ
sQsQsQsQsQsQsQsQsQsQsQsQsQsQsQsQs \!ODQP	Q5\!OF2\!OH2Q 222s%Q!s&Q"s'Q#s(Q$s)Q%s*Q&s+Q's,Us-P!)(�TestPartialc
�<�UO[]]]
]Q5oUO[U22UO	U]]]](Q5Q[]
]](Q512UO[Q2oUO	[U,QN22,QN2P!)���a�b)rS�c�rRrSrTc��U]
*!��
r��xs&r�<lambda>�1TestPartial.test_basic_examples.<locals>.<lambda>Ts���"�r"�rP���)rX���()�partialr!�
assertTrue�callable�assertEqual�dict�mapr6�r8�ps& r�test_basic_examples�TestPartial.test_basic_examplesOs����L�L��!�Q�"��L�3��������$�����1�a�2��,�&��r�R�2�(>�?�	A��L�L��n�-������a�	�l�+�-=�>r"c��UO[]]]
]Q5oUOUO[2UOUOQ2UOUO
[
]
]Q52P!)rPrQ�rPr^)rdr!rgr$rr%rhrjs& r�test_attributes�TestPartial.test_attributesWs]���L�L��!�Q�"��L�3���������)��������(�������T�B�"�%5�6r"c��UO[UO2UO]22UOQ2P![cP!h9h)r^z%First arg not checked for callability)�assertRaises�	TypeErrorrd�failrJs&r�test_argument_checking�"TestPartial.test_argument_checking^sL�����)�T�\�\�2�	?��L�L��O��
�I�I�=�>���	��	�s�A�	A�A�Ac���QQkoQ]-oUOU]Q5oUOUQ-U@]2UOUQ]-2U]Q5UOUQ]-2P!)rXc��U!rrrQs&&rr$�BTestPartial.test_protection_of_callers_dict_argument.<locals>.funcis���Hr"rR�rR�rS)rXrar)rdrg)r8r$�drks&   r�(test_protection_of_callers_dict_argument�4TestPartial.test_protection_of_callers_dict_argumentgsg��	�
��G���L�L���L�#�������Q���#�����S��G�$�	�A������S��G�$r"c��Q]-oUO[1-U@oUOU2QQ]-12]UQ$UOU2QQ]-12P!)rRr�rdr!rg)r8r}rks&  r�test_kwargs_copy�TestPartial.test_kwargs_copyrs]���!�H���L�L��&�A�&�������r�C��8�n�-���#�������r�C��8�n�-r"c�0�UO[2oUOU2Q-12UOU]]2Q-12UO[]]2oUOU2Q-12UOU]]2Q-12P!)rPrror]r�rjs& r�test_arg_combinations�!TestPartial.test_arg_combinations{s���
�L�L��!�������r�2�h�'�����1�Q��%���-��L�L��!�Q�'�������u�b�k�*�����1�Q��)�R��1r"c���UO[2oUOUO-2UOU2Q-12UOU]Q5QQ]-12UO[]Q5oUOUOQ]-2UOU2QQ]-12UOU]Q5QQ]Q]-12UOU]]Q5QQ]Q]-12P!)rPr{rRr|rSrQr)rdr!rgr%rjs& r�test_kw_combinations� TestPartial.test_kw_combinations�s���
�L�L��!��������R�(������r�2�h�'�����Q��"�s�1�g��/��L�L��A�L�&��������c�!�W�-������r�C��7�m�,�����Q��"�s�1�c�!�n�!5�6�����Q�!��r�C��3�q�>�&:�;r"c��QFDOoUO[,UN3oUQ*oUQ2vqESOV46H9%cU-6H2JQ	P!)rrZ)r�r�rrP)rrPr^)rrPr^r_rY�rdr!re)r8rrk�expected�got�emptys&     r�test_positional�TestPartial.test_positional�sM��9�D����W�,�t�,�A��f�}�H��3��J�C��O�O�H�O�;�;����<�	:r"c��QFDKoUO[UQ5oQUQP-oUPQ5vqESOV56H9%cUQ6H2JM	P!)rRr{rZrY)rRrNg@rr�)r8rRrkr�r�r�s&     r�test_keyword�TestPartial.test_keyword�sQ��$�A����W���*�A��A�c�$�'�H��T��J�E��O�O�H�O�;�;����<�	%r"c���UO[]]Q5oU]]Q5vq#SOUQ6H9%c
UQ]Q]-6H2U2vqESOUQ6H9%cUQ]-6H2P!)rr{r|rRrSr�r�r�)r8rk�args1�kw1�args2�kw2s&     r�test_no_side_effects� TestPartial.test_no_side_effects�sq���L�L��!�q�L�)���q�A�Y�
��������?�?�3�3�q��Q�-�+?�@��S�
�������
�8�8�#�#�a��.�9r"c�H�QoUO[UOU]]22UO[UOU]2]2UO[UOU2]]2UO[UOU]Q5]2P!)c��V*P!rr�rZ�ys&&r�f�-TestPartial.test_error_propagation.<locals>.f�s	��
�E�Er")r�)rs�ZeroDivisionErrorrd�r8r�s& r�test_error_propagation�"TestPartial.test_error_propagation�s���	����+�T�\�\�!�Q��-B�C����+�T�\�\�!�Q�-?��C����+�T�\�\�!�_�a��C����+�T�\�\�!�q�\�-A�1�Er"c��UO[]Q5o[U2oUOUOUO2Po[
O2UO[[UQ2P!)���baser$)
rd�intrrgr$r�
gc_collectrs�ReferenceError�getattr�r8r�rks&  r�test_weakref�TestPartial.test_weakref�sZ���L�L��2�L�&���!�H�����������(����������.�'�1�f�=r"c�"�[[[[]
222oUO	[O
P2oUO
UU2Q2UO	PO
2oUO
UU2Q2P!)rX�
0123456789)r6ri�str�rangerd�joinrg)r8�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��\�2r"c��UOoU[Q2oUUP	Q5oU[QP	Q5oUO[U2[U22P!��asdf��bar)rdr(rg)r8rd�inner�nested�flats&    r�test_nested_optimization�$TestPartial.test_nested_optimization�sJ���,�,���	�6�*����D�)���y�&�d�3������6�*�I�d�O�<r"c�`�UOnU1QkQ2oU2oUOoU]]]Q5QQ[]Q516XfPgP!)c�6:`�\sQs]�snQsU1QksQsUsP!)�9TestPartial.test_nested_optimization_bug.<locals>.Builderc��VU1!rr)r8�tag�children�attribs&&*,r�__call__�BTestPartial.test_nested_optimization_bug.<locals>.Builder.__call__�s
���v�.�.r"c�:�RV2!rr)r8r�rds&&�r�__getattr__�ETestPartial.test_nested_optimization_bug.<locals>.Builder.__getattr__�s����t�)�)r"r)r,r-r.r/r�r�r0r<)r>rds@�r�Builderr��s����
/�
*�
*r"r�r{�mro)rdr�rh)r8r��Br�rds&   @r�test_nested_optimization_bug�(TestPartial.test_nested_optimization_bug�sI����,�,��	*�	*�
�I��
�C�C����A��|��V�T�A�Y�7�7�7�7r"c��UOoQoUUQ2oUUQ2oQUmUOUOQ2P!)c��U!rrr�s&r�foo�;TestPartial.test_nested_partial_with_attribute.<locals>.foo�s���Jr"�first�second�spam)rd�new_attrrg)r8rdr�rk�p2s&    r�"test_nested_partial_with_attribute�.TestPartial.test_nested_partial_with_attribute�sE���,�,��	�
�C��!��
�Q��
!�����������f�-r"c	��UOOoU1]U1]U]VU11FDBoUO[29^tt^2UO[
,UN3PPP2JD	P!)%fhJY9hr�)�module�Placeholderrsrtrdr!)r8�PHrs&  r� test_placeholders_trailing_raise�,TestPartial.test_placeholders_trailing_raise�sg��
�[�[�
$�
$���U�Q��G�a��Q���%;�<�D��"�"�9�-�-����W�,�t�,�.�-�=�-�-�-�s�A.	�.A?
�7A?
c���UOOoU]1oUO[,UN3oUQ2vqEUO	UQ2UO	U-2U]U]1oUO[,UN3oUO[29^tt^2UQ2PPP2UQQ2vqEUO	UQ2UO	U-2UO[[2oU2vqEUO	[U2]2UOU]*[2UO	U-2P!)%fhK�9h)rrZr�)rZr)rZrr�rP)
r�r�rdr!rgrsrtr	�len�assertIs)r8r�rrk�actual_args�actual_kwdss&     r�test_placeholders�TestPartial.test_placeholders�s!��
�[�[�
$�
$���A�w���L�L��(�4�(��#$�S�6� ������h�/�����b�)��A�r�1�~���L�L��(�4�(��
�
�
�y�
)�
)�
�c�F�*�#$�S�#�;� ������&6�7�����b�)�
�L�L��)�,��#$�3� ������[�)�1�-��
�
�k�!�n�i�0�����b�)�*�
)�s�	E�E	�E	c��UOOoUO[U]2oUOV!]]]2oUO	UO
U]]]]12UOUP]2oU]2vqVUO	UQ2UO	U-2UO[U]2oUOU2oUO	UO
U]12UO	U]2Q-12P!)r)���rrPr^r_r`�)rPr)r�r�rdr!rgr)r8r�rkr��p3r�r�s&      r�test_placeholders_optimization�*TestPartial.test_placeholders_optimizations���
�[�[�
$�
$���L�L��"�a�(��
�\�\�!��A�q�
)��������2�q�!�Q��"2�3�
�\�\�"�b�!�
$��#%�a�5� ������&<�=�����b�)��L�L��"�a�(��
�\�\�!�_��������2�q�'�*�����A�����-r"c��UOOoUO[Q29^tt^2UO	[
UQ5PPP2UO	[
[Q5oU2vq4UOUQ2UO[U2]2UOUQ*[2P!)%fhK�9h)r�r{rRr)
r�r��assertRaisesRegexrtrdr!r	rgr�r�)r8r�rkr�r�s&    r� test_placeholders_kw_restriction�,TestPartial.test_placeholders_kw_restrictions���
�[�[�
$�
$��
�
#�
#�I�}�
=�
=��L�L��B�L�'�>�
�L�L��I�L�.��#$�3� ������b�)�����[�)�1�-��
�
�k�#�&�	�2�>�
=�s�C�C	�C	c���UOOo[U2oUOU2U2UO	[
U]]2UO	[
U]]Q5P!)rPrQ)r�r��typer�rsrt)r8r��tps&  r�$test_construct_placeholder_singleton�0TestPartial.test_construct_placeholder_singletonsU��
�[�[�
$�
$��
�"�X���
�
�b�d�B�����)�R��A�.����)�R�1���2r"c��[2[21oQOQU22oQ[2Q[2-oQOU2QOU2,oUOOQUOO
0oUO[2oUOUQ[8Q0[U22UO[,UN3oUOUQ[8QUQ0[U22UO[1-U@oSO[U2STt,tFDoUQ[8QUQ0MJ	to2UO[,UN3-U@oSO[U2STt,tFDoUQ[8QUQUQ0MJ	to2P!ttohttoh)	z, c3�D�SF �Do[U2w�	J	P!3hr)�repr)�.0rRs& r�	<genexpr>�(TestPartial.test_repr.<locals>.<genexpr>#s��t���t�!�d�1�g�g�t�s� rRrSza={a!r}, b={b!r}zb={b!r}, a={a!r}�.�(�))
�objectr��
format_maprdr-r.r!rgr��assertIn)r8r�	args_repr�kwargs�kwargs_reprsrr��kwargs_reprs&       r�	test_repr�TestPartial.test_repr!s�����&�(�#���I�I�4�t�4�4�	��v�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�F=
�G
c��UOOQUOO0oUO[2oUO	UQ--12UO[
U2U8Q02UO	[Q--12UO[2oUO	[U1--12UO[
U2U8Q[8Q02UO	[Q--12UO[2oUO	[QQU--12UO[
U2U8Q[8Q02UO	[Q--12P!SO	[Q--12h9hSO	[Q--12h9hSO	[Q--12h9h)rz(...)rz, ...)rRz, a=...)r)rdr-r.r!�__setstate__rgr�)r8rr�s&  r�test_recursive_repr�TestPartial.test_recursive_repr9sv���,�,�)�)�*�!�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$�E7�'F�5'F3�7F�F0�3Gc
��[QUO29^tt^2UO[Q,P	,Q5o,Um[[O]*2FDQo[O[OV22oUO[U2[U22JS	PPP2P!)%fhP!9h)rr�r�)rr�rdr(�attrr��pickle�HIGHEST_PROTOCOL�loads�dumpsrg�r8r��proto�f_copys&   r�test_pickle�TestPartial.test_pickleQs���
�[�$�+�+�
6�
6����Y���t�f��=�A��A�F��v�6�6��:�;�����f�l�l�1�&<�=��� � ��6�!2�I�a�L�A�<�7�
6�
6�
6�s�BC�C	�C	c��UO[Q,P	,Q5o,Um[OU2oUO	[U2[U22UOUOUO2UOUOUO2UOUOUO2P!r�)rdr(r�copyrgr�rr%�r8r�rs&  r�	test_copy�TestPartial.test_copyYs����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�2r"c�r�UO[Q,P	,Q5o,Um[OU2oUO[U2[U22UO
UOUO2UO
UOUO2UO
UO]*UO]*2UO
UOUO2UO
UOQ*UOQ*2P!)r�r�r�)	rdr(rr�deepcopyrg�assertIsNotrr%rs&  r�
test_deepcopy�TestPartial.test_deepcopybs����L�L��V�H�4�&�L�9��������q�!������6�*�I�a�L�9�������a�f�f�-�������a�f�f�-�������Q�������3�������!�*�*�5��������/����E�1B�Cr"c�^�UO[2oUO[Q
[	]
Q5[	,Q512UO[U2[Q
[	]
Q5[	,Q512UOU]]Q5QQ]
Q]-12UO[Q
[	]
Q5P12UO[U2[Q
[	]
Q5-12UOU]]Q5QQ]
Q]-12UO[Q
PP12UOU]]Q5QQ]-12UOU]2Q-12UOU2Q
-12UO[Q-P12UO[U2[Q--12UOU]]Q5Q
Q]-12UOU]2Q
-12UOU2Q-12UOOoUO[2oUO[U]1[	]
Q5[	,Q512UO[U2[U]1[	]
Q5[	,Q512[OQ2oUO[QUQ029^tt^2oU2PPP2UOU]2Q[	]
Q512UO[2o[OQ	2oUO[QUQ029^tt^2oUO[]U1[	]
Q5[	,Q512PPP2P!)%fhK�9h)%fhP!9h)rPr{�rr|rRrSzJmissing positional arguments in 'partial' call; expected at least 1, got 0�^�$z%trailing Placeholders are not allowed�rPror�r^)r^rP)rdr(rr!rhrgr�r��re�escaper�rt)r8r�r��	msg_regex�cms&    r�
test_setstate�TestPartial.test_setstatems����L�L��#��	�����t�b�z�4�R�=�A�B�����1��!�4����T�r�]�C�	E�����1���f�s�B��R�.@�%A�B�	�����t�b�z�4�8�9�����1����t�b�z�2�'F�G�����1���f�s�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�'��[�[�
$�
$���L�L��#��	����"�a��$��*�d��m�D�E�����1���"�a��$��*�d�PR�m�'T�U��I�I�;�<�	�
�
#�
#�I��9�+�Q�/?�
@�
@�B�
�C�A�����1����r�
�3�4�
�L�L��#���I�I�E�F�	�
�
#�
#�I��9�+�Q�/?�
@�
@�B�
�N�N�G�a��W�d�R�j�$�B�-�H�I�A�
@�A�
@��A�
@�
@�s$�
N�0N�N	�N	�N,	�$N,	c	��UO[2oUO[UO[
Q-12UO[UO[
Q--P12UO[UO[
Q-P,2UO[UOPQ-P12UO[UO[
P-P12UO[UO[
,-P12UO[UO[
Q,P12UO[UO[
Q-Q12UO[UO[
Q-Q12P!)N�testr)rdr(rsrtrr!r�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�Or"c	��UO[2oUO[[	Q2[]
Q5P12[U2oUO
U[Q[]
Q5-12UO[U]*2[2UO[U]*2[2U2oUO
UQQ]
-12UO[U]*2[2UO[U]*2[2UO[[Q2-P12[U2oUO
U[Q--12UO[U]*2[2U]2oUO
UQ-12UO[U]*2[2P!)rPr{rRr+ro)rdr(rr!r*r@rgrhr�r��tupler3)r8r��s�rs&   r�test_setstate_subclasses�$TestPartial.test_setstate_subclasses�sO���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�%�(r"z-thread sanitizer crashes in __tsan::FuncEntry)�threadc
��[QUO29^tt^2UO[2oUO	UQ--12[[O]*2FDfo[O]d29^tt^2UO[29^tt^2[OV2PPP2PPP2Jh	UO	[Q--12UO[2oUO	[U1--12[[O]*2FDjo[O[OV22oUOUO]*U2UO	[Q--12Jl	UO	[Q--12UO[2oUO	[QQU--12[[O]*2FDjo[O[OV22oUOUO Q*U2UO	[Q--12Jl	UO	[Q--12PPP2P!)%fhCK�9h)%fhCJe9hSO	[Q--12h9hSO	[Q--12h9hSO	[Q--12h9hSO	[Q--12h9hSO	[Q--12h9h)%fhP!9h)rrRr)rr�rdr!rr�rrr�infinite_recursionrs�RecursionErrorrrr�rr%rs&   r�test_recursive_pickle�!TestPartial.test_recursive_pickle�s����[�$�+�+�
6�
6����W�%�A�
�N�N�A�r�2�r�?�+�
6�"�6�#:�#:�Q�#>�?�E� �3�3�C�8�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�8�������R��4�5���+�+�W�b�"�b�,A�B�������R��4�5���+�+�W�b�"�b�,A�B�������R��4�5��E7�
6�
6�s��+M+�AK�K
�,J,�K
�K�AM+� AL�/#K3�L�/A	M+�9AM
�#L/�+M
�M+�,J=�5J=�7	K
�K�	K�
K�K0�0M+�3L�L�L,�,M+�/M
�
M
�
M(�(M+�+M<	�4M<	c��QQ2oUO[2oUO[UOU22P!)c�.`�\sQsQsnQsQsQsUsP!)�7TestPartial.test_setstate_refcount.<locals>.BadSequence��c��]!)r`rrJs&r�__len__�?TestPartial.test_setstate_refcount.<locals>.BadSequence.__len__����r"c�r�U]6Xc[!U]6Xc[[Q22!UQ7c-![g)ri@B)r^r_)�maxr8r��
IndexError)r8�keys&&r�__getitem__�CTestPartial.test_setstate_refcount.<locals>.BadSequence.__getitem__�s6���!�8��J��A�X� ��w��0�0��F�]��I� � r"r)r,r-r.r/rHrOr0r<r=s@r�BadSequencerE�s����
�
!�
!r"rQ)rdrrsrtr)r8rQr�s&  r�test_setstate_refcount�"TestPartial.test_setstate_refcount�s4��
	!�
	!�
�L�L�� �����)�Q�^�^�[�]�Cr"c�0`�U1QkQ2oU2oROUO]]Q5QQ]Q]-12ROUO]]Q5]U]1Q]Q]-12ROUO]]Q5QQ]Q]-12ROUO]]Q5]U]1Q]Q]-12ROUO]]Q5]U]1Q]Q]-12ROUO]]Q5QQ]Q]-12P!)c�:�\sQsQsYO	\]]Q5s\YO	\]]Q52s\	YO	\]]Q52s
QsP!)�-TestPartial.test_partial_as_method.<locals>.A��r{r)r,r-r.r/rdr!�meth�classmethod�cmeth�staticmethod�smethr0rJs�r�ArV�sI����<�<���a�<�0�D�����W�a�1�� =�>�E� ����g�q�A��!>�?�Er"r]r|rRrS)rPr_)rgrXrZr\�r8r]rRsf  r�test_partial_as_method�"TestPartial.test_partial_as_method�s&���	@�	@�

�C���������Q���&�3��3��2B�)C�D��������a���A�q�!�9�s�A�s�A�6F�*G�H��������a���6�C��C��3C�*D�E��������Q���1�a��)�c�1�c�1�5E�)F�G��������a���A�q�!�9�s�A�s�A�6F�*G�H��������a���6�C��C��3C�*D�Er"c��UO[*oUOUOUO2UO	UO
[12UO	UOQ2P!)Nr)rdr�r��
__origin__rg�__args__�__parameters__)r8�aliass& r�test_partial_genericalias�%TestPartial.test_partial_genericalias�sT�����S�!���
�
�e�&�&����5�������#��0�����-�-�r�2r"c
�``�PnQQ2nUU1QkQ2oU2oRQ2o[OUPUQ5nUO[R2Q2P
Um[OV2PQ5nUO[R2Q	2P
Um[OV2P2nUO[R2Q
2P
Um[OV2PQ5nUO[R2Q2P
Um[OV2PPPPPQ5nUO[R2Q
2P!)Nc�4`�\sQsQsnQsQsQsQsUsP!)�ITestPartial.test_repr_safety_against_reentrant_mutation.<locals>.Function�	c��VmP!r�r)r8rs&&r�__init__�RTestPartial.test_repr_safety_against_reentrant_mutation.<locals>.Function.__init__
s�� �	r"c��P!rrrJs&rr��RTestPartial.test_repr_safety_against_reentrant_mutation.<locals>.Function.__call__
���r"c�$�QUOQ0!)z	Function(rrmrJs&r�__repr__�RTestPartial.test_repr_safety_against_reentrant_mutation.<locals>.Function.__repr__s��"�4�9�9�+�Q�/�/r"rm)	r,r-r.r/rnr�rtr0r<r=s@r�Functionrj	s����
!�
�
0�
0r"rvc�8:`�\sQsQsnQsUU1QksQsUsP!)�KTestPartial.test_repr_safety_against_reentrant_mutation.<locals>.EvilObject�c��P
UmP!�F��	triggeredrJs&rrn�TTestPartial.test_repr_safety_against_reentrant_mutation.<locals>.EvilObject.__init__s	��!&��r"c�:�UO%fCRd?P	UmQoQP-oRQ2VP1oROU2[O2Q!)N�keyword�new_function�
EvilObjectr)r}r�gc�collect)r8�new_args_tuple�new_keywords_dict�new_tuple_staterv�	g_partials&   ��rrt�TTestPartial.test_repr_safety_against_reentrant_mutation.<locals>.EvilObject.__repr__sW����~�~�~�)�*?�%)�D�N�%,�N�)2�D�(9�%�'/��'?��dh�&i�O��*�*�?�;��J�J�L�#�$r"r|)r,r-r.r/rnrtr0r<)r>rvr�s@��rr�rxs����
'�
%�
%r"r��old_function)�triggerzCfunctools.partial(Function(old_function), None, trigger=EvilObject)��argz?functools.partial(Function(old_function), EvilObject, arg=None)z;functools.partial(Function(old_function), EvilObject, None))r�r�zGfunctools.partial(Function(old_function), trigger=EvilObject, arg=None)zWfunctools.partial(Function(old_function), EvilObject, None, None, None, None, arg=None))rrdrgr�r})r8r�r�r$rvr�s&   @@r�+test_repr_safety_against_reentrant_mutation�7TestPartial.test_repr_safety_against_reentrant_mutations%����	�	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�	Dr"c	���QQ[2oQo[OUPQ5oUO[29^tt^2UQ-UQ2Q-@oPPP2P!)%fhP!9h)c�.`�\sQsQsnQsQsQsUsP!)�3TestPartial.test_str_subclass_error.<locals>.BadStr�9c��[gr��RuntimeErrorr7s&&r�__eq__�:TestPartial.test_str_subclass_error.<locals>.BadStr.__eq__:���"�"r"c�.�[OU2!r)r��__hash__rJs&rr��<TestPartial.test_str_subclass_error.<locals>.BadStr.__hash__<s���|�|�D�)�)r"r)r,r-r.r/r�r�r0r<r=s@r�BadStrr�9s����
#�
*�
*r"r�c��U!rr�r	s,rr��.TestPartial.test_str_subclass_error.<locals>.f?s���Mr")�poisonr��	new_valuer)r�rrdrsr�)r8r�r�rk�results&    r�test_str_subclass_error�#TestPartial.test_str_subclass_error8s^��	*�S�	*�	�
���a��+��
�
�
�|�
,�
,��9�&��*�K�8�9�F�-�
,�
,�
,�s�	A%�%A6	�.A6	c�```�QoQnPnUUU1QkQ[2n[OUQPQ5nRQ2P-oP	RmRQ-U@oQQQPQP-1oUO	V42R2oQ	Q
Q
P-1oUO	V42P!)c��QV1!)r�r�rr	s*,rr��MTestPartial.test_call_safety_against_reentrant_mutation.<locals>.old_functionG�
��!�4�/�/r"c��QV1!)r�rr�s*,rr��MTestPartial.test_call_safety_against_reentrant_mutation.<locals>.new_functionJr�r"c�8:`�\sQsQsnP
sUUU1QksQsUsP!)�HTestPartial.test_call_safety_against_reentrant_mutation.<locals>.EvilKey�Oc��:�RO%c=Rd9P
RmQoQP-oRVP1oROU2[O2[OU2!)N�new_keyword��new_arg)�armedrr�r�r�r�)r8r�r�r��EvilKeyr�r�s&   ���rr��QTestPartial.test_call_safety_against_reentrant_mutation.<locals>.EvilKey.__hash__Qs[����=�=�=�Y�%:�$)�G�M�%1�N�)6��(=�%�'3�^�X\�&]�O��*�*�?�;��J�J�L��|�|�D�)�)r"r)r,r-r.r/r�r�r0r<)r>r�r�r�s@���rr�r�Os�����E�
*�
*r"r��old_arg)�old_keyword�evil_keyr�r�r�r�r)r�r�)r�rrdr�rg)r8r�r	r�r�r�r�r�s&    @@@r�+test_call_safety_against_reentrant_mutation�7TestPartial.test_call_safety_against_reentrant_mutationFs����	0�	0��	�
	*�
	*�c�
	*��%�%�l�I�4�P�	��*�%�t�,����
��$�V�$��"�L�=�$�
�TX�2Y�Z������*����"�L�=�$�2G�H������*r"r).r,r-r.r/rlrprvr~r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrr r%r1r5r;r�skip_if_sanitizer�skip_if_huge_c_stack�skip_emscripten_stack_overflowrArRr_rfr�r�r�r0r<r=s@rrNrNMs
����?�7�?�	%�.�2�<�=�=�:�F�>�3�=�8�
.�-�*�0
.�	3�3�9�02�0B�3�	D�(J�TP�)�(
���N�W[�\��!�!�#��+�+�-�#6�.�$�]�#6�LD� F�3�0D�d:� +� +r"rNz requires the C _functools modulec�f`�\sQsQsn\%c\s\OsQsQsQs	Qs
QsUsP!)�TestPartialC�hc�~�UO[]]]
]Q5oUO[[UQ[
2UO[[UQQ2UO[[UQ[
]]Q52UO[2oU;UOQ2P![cP!h9h)rPrQr$rr%z-partial object allowed __dict__ to be deletedro)rdr!rs�AttributeError�setattrrirh�hexr&rurtrjs& r�test_attributes_unwritable�'TestPartialC.test_attributes_unwritablens����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-�-	B<�7B<�;B<c�0�UO[2oQUOQ$[U2oUO	QU2UO	QU2UO[29^tt^2U2PPP2P!)%fhP!9h)�valuei��1234z'value')rdr!r%r�rrsrt)r8rkr:s&  r�'test_manually_adding_non_string_keyword�4TestPartialC.test_manually_adding_non_string_keyword}sh���L�L��!��"��
�
�4����G���
�
�f�a� ��
�
�i��#�
�
�
�y�
)�
)�
�C�*�
)�
)�
)�s�2B�B	�
B	c��`�UO[2nU1QkQ[2oQ,ROU2$[	R2oUOQU2UOQU2P!)c�0:`�\sQsQsnU1QksQsUsP!)�@TestPartialC.test_keystr_replaces_value.<locals>.MutatesYourDict�c�*:�Q,ROU$Q!)�sth2�astr)r%rjs&�r�__str__�HTestPartialC.test_keystr_replaces_value.<locals>.MutatesYourDict.__str__�s���$*�8��
�
�4� �r"r)r,r-r.r/r�r0r<)r>rks@�r�MutatesYourDictr��s����
�
r"r��sthr�z['sth'])rdr!rr%r�r)r8r�r:rks&  @r�test_keystr_replaces_value�'TestPartialC.test_keystr_replaces_value�sW����L�L��!��	�f�	�*/���
�
�?�$�%���G���
�
�f�a� ��
�
�i��#r"c��UOOo,,q2UO[V2o[	]
2FDoUV",2J	--qvUO[
OV2o[	]
2FDoUVw2J
	P!rW)r�r�rd�sumr��collections�ChainMap)	r8r��lst1�start�	sum_lists�i�map1�map2�
partial_cms	&        r� test_placeholders_refcount_smoke�-TestPartialC.test_placeholders_refcount_smoke�su��
�[�[�
$�
$���"�e��L�L��b�0�	��r��A��t�l�#����d��\�\�+�"6�"6��A�
��r��A��t�"�r"r)
r,r-r.r/�c_functoolsr�rdr�r�r�r�r0r<r=s@rr�r�hs2��������%�%��
G��
$�#�#r"r�c�4�\sQsQs\s\OsQsP!)�
TestPartialPy�r)r,r-r.r/�py_functoolsr�rdr0rr"rr�r��s��
�F��"�"�Gr"r�c��\sQsQsQsP!)�CPartialSubclass�rr+rr"rr�r��s��r"r�c��\sQsQsQsP!)�PyPartialSubclass�rr+rr"rr�r��r1r"r�c�0�\sQsQs\%c\sPsQsP!)�TestPartialCSubclass�r)	r,r-r.r/r�r�rdr�r0rr"rr�r��s���"�� $�r"r�c�,`�\sQsQsn\sQsQsUsP!)�TestPartialPySubclass�c��[O[]2oUOU]2oUOUO[2UOU]2]2UO[]2oUOU]2oUOUO[2UOU]2]2P!r,)r�rd�minr�r$rg)r8rkr�s&  r�test_subclass_optimization�0TestPartialPySubclass.test_subclass_optimization�s���� � ��a�(��
�\�\�!�Q�
���
�
�b�g�g�s�#�����A���"��L�L��a� ��
�\�\�!�Q�
���
�
�b�g�g�s�#�����A���"r"r)	r,r-r.r/r�rdr�r0r<r=s@rr�r��s�����G�
#�
#r"r�c�`�\sQsQsnQQ\2s\2sQsQsQs	Qs
QsQ	sQ
s
QsQsQ
sQsQsQsUsP!)�TestPartialMethod��c��\sQsQs\O
\2s\O
\]2s\O
\]Q5s	\O
\]]Q5s
\O
\]]Q5s\O
\]2s\O
\O\]Q5]2s\O
\\2]2s\O
\\2]	Q5sQsP!)�TestPartialMethod.A��r{r|)r8r$�rT�r}r)r,r-r.r/r�
partialmethodr!�nothing�
positionalr%�both�
spec_keywordsr�rd�over_partialr[�staticrY�clsr0rr"rr]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�@�r"r]c��UOUOO2UO1-12UOUOO]2UO]1-12UOUOO]Q5UO1Q]-12UOUOO]]Q5UO]1Q]-12UOUOO2UO]1-12UOUOO]2UO]]1-12UOUOO]Q5UO]1Q]-12UOUOO]]Q5UO]]1Q]-12UOUOO	2UO1Q]-12UOUOO	]2UO]1Q]-12UOUOO	]Q5UO1Q]Q]-12UOUOO	]]Q5UO]1Q]Q]-12UOUOO2UO]1Q]-12UOUOO]2UO]]1Q]-12UOUOO]Q5UO]1Q]Q]-12UOUOO]]Q5UO]]1Q]Q]-12UOUOOUO]]Q5UO]]1Q]Q]-12UOUOO2UO1Q]Q]-12P!)r�rrTrRrSr8r$)rgrRrrr%rr]rrJs&rr��'TestPartialMethod.test_arg_combinations�sp����������)�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��-����	�C��C��;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�PS�UV�GW�6X�Y�������-�-�/�4�6�6�)�f�a��QR�=S�1T�Ur"c�|�UOUOO2UO]]1-12UOUOO]2UO]]]1-12UOUOO]Q5UO]]1Q]-12UOUOO]]Q5UO]]]1Q]-12UOUOOUO]]Q5UO]]]1Q]-12P!)rPrr})rgrRr�r]rJs&r�test_nested�TestPartialMethod.test_nested�s�����������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�Vr"c��UOUOO2UO]1Q]-12UOUOO]2UO]]1Q]-12UOUOO]Q5UO]1Q]Q]-12UOUOO]]Q5UO]]1Q]Q]-12UOUOOUO]]Q5UO]]1Q]Q]-12P!)�rTrr})rgrRr	r]rJs&r�test_over_partial�#TestPartialMethod.test_over_partial�s��������,�,�.�$�&�&�!��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�PS�UV�GW�6X�Y�������,�,�T�V�V�Q�!�,�<�����1�~�PS�UV�X[�]^�O_�>`�ar"c���UOoUOUOOU2UOUOOU2UOUO
OU2UOUOOUO2UOUOOOUO2P!r)rRr�r�__self__r�r	rr]�r8�objs& r�test_bound_method_introspection�1TestPartialMethod.test_bound_method_introspections����f�f���
�
�c�h�h�'�'��-��
�
�c�j�j�)�)�3�/��
�
�c�&�&�/�/��5��
�
�c�g�g�&�&����/��
�
�d�f�f�j�j�)�)�4�6�6�2r"c�L�UOoUOUOQ2UOUOQ2UOUOQ2UOUO
Q2UOUOO
Q2P!)r)r]�assertNotHasAttrrr�r	r
rRrs& r�test_unbound_method_retrieval�/TestPartialMethod.test_unbound_method_retrievalsu���f�f�����c�h�h�
�3����c�j�j�*�5����c�.�.�
�;����c�j�j�*�5����d�f�f�m�m�Z�8r"c�p�UOUO1FCD�oUOUQ59^tt^2UOUO	2Q-12UOUO	]2Q-12UOUO	]Q5QQ]-12UOUO	]]Q5QQ]-12UOUO2UO1Q]	-12UOUO]2UO]1Q]	-12UOUO]Q5UO1Q]Q]	-12UOUO]]Q5UO]1Q]Q]	-12PPP2CJ�	P!)%fhCJ�9h)�rrr}rrT)�)r!r�)r]rR�subTestrgr
rrs& r�test_descriptors�"TestPartialMethod.test_descriptorssi���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������	�C��C��;K�/L�M�� � �����a���D�F�F�A�;��a��a�@P�2Q�R�'�&�$�&�&�&�s�EF#	�#F5
�,F5
c�
�UOUOO]Q5UO1Q]-12UOUOOUO]Q5UO1Q]-12P!)r_r{rR)rgrRr%r]rJs&r�test_overriding_keywords�*TestPartialMethod.test_overriding_keywords sd����������1��-����	�C��8�/D�E������������1��5����	�C��8�7L�Mr"c��UO[29^tt^2QQ[2oPPP2UO[29^tt^2QQ2oPPP2UO[29^tt^2QQ2oPPP2P!)%fhKr9h)%fhKU9h)%fhP!9h)c�>�\sQsQs\O
P]2sQsP!)�.TestPartialMethod.test_invalid_args.<locals>.B�&r�r,r-r.r/rr�methodr0rr"rr�r*&s��"�0�0��q�9�r"r�c�:�\sQsQs\O
2sQsP!)r*�)rr,rr"rr�r*)s��"�0�0�2�r"c�@�\sQsQs\O
\]Q5sQsP!)r*�,)r$rRr)	r,r-r.r/rrr!r-r0rr"rr�r*,s��"�0�0�g��C�r")rsrtr)r8r�s& r�test_invalid_args�#TestPartialMethod.test_invalid_args$s���
�
�
�y�
)�
)�
:�F�
:�*��
�
�y�
)�
)�
3�
3�*��
�
�y�
)�
)�
D�
D�*�
)�
*�
)��*�
)��*�
)�
)�s5�B�B,�B?�B)	�"B)	�,B<	�5B<	�?C	�C	c���UO[[UO2Q*2QO	[
22UO[[UO2Q*2QO	[
22UO[[UO2Q*2QO	[
22UO[[UO2Q*2QO	[
22UO[[UO2Q*2Q	O	[
22P!)
rzfunctools.partialmethod({})rzfunctools.partialmethod({}, 1)r%z functools.partialmethod({}, a=2)rz+functools.partialmethod({}, self=1, func=2)rz#functools.partialmethod({}, 3, b=4))rgr��varsr]�formatr!rJs&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�	Pr"c	���QQ[O2oUOUOO2UOUO
O2UOOUOOUOOUOOUOO1FDoUO[UQP
22J!	P!)c�l`�\sQsQsn\O
Q2s\O\]2s	Qs
UsP!)�1TestPartialMethod.test_abstract.<locals>.Abstract�<c��P!rr�r8rZr�s&&&r�add�5TestPartialMethod.test_abstract.<locals>.Abstract.add>���r"r)r,r-r.r/�abc�abstractmethodr>rr�add5r0r<r=s@r�Abstractr:<s1����
�
�
�
� �
��*�*�3��2�Dr"rD�__isabstractmethod__)rA�ABCMetarer>rErCr]r
rr	r�r�assertFalser�)r8rDr$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�ar"c�z�Qo[OU]2oUOU]2U]]22P!)c��V*!rrrQs""rr��1TestPartialMethod.test_positional_only.<locals>.fK�	���5�Lr")rrdrgr�s&  r�test_positional_only�&TestPartialMethod.test_positional_onlyJs5��	�
���a��#������1��q��A�w�'r"c���QQ[O2o[O[]2oUU]2oUOUO[2UOUO
]22]2U[]2oUU]2oUOUO[2UOUO
]22]2P!)c��\sQsQsQsP!)�KTestPartialMethod.test_subclass_optimization.<locals>.PartialMethodSubclass�Rrr+rr"r�PartialMethodSubclassrRR���r"rT)rrr�r�r$rg�__get__)r8rTrkr�s&   rr��,TestPartialMethod.test_subclass_optimizationQs���	�I�$;�$;�	�
�#�#�C��+��
"�1�a�
(���
�
�b�g�g�s�#�������A���!�,�!�#�q�)��
"�1�a�
(���
�
�b�g�g�s�#�������A���!�,r"r)r,r-r.r/rr]rRr�rrrrr#r&r2rrHrNr�r0r<r=s@rr�r��se����A�F�A�	
��A�V�2W�b�3�9�S�N�	D�
P�
K�(�-�-r"r�c�``�\sQsQsn\O
\O1QksQsQs	\
O\OO]6�Q2Q2sQsQsQ	s\O(\
O\OO]6�Q2Q
22sQsQsQ
sUsP!)�TestUpdateWrapper�`c	�L�SFD'oUO[V2[V%22J)	SFDQo[V2o[V%2oSFD1oUQ6Xc
UQ6XcJUOVx*Vh*2J3	JS	UOUOU2P!)r&�__wrapped__)r�r�r\)	r8�wrapper�wrapped�assigned�updatedr�wrapper_attr�wrapped_attrrNs	&&&&&    r�
check_wrapper�TestUpdateWrapper.check_wrapperbs����D��M�M�'�'�0�'�'�2H�I���D�"�7�1�L�"�7�1�L�#���:�%�#��*>���
�
�l�/��1B�C�	$��	
�
�
�g�)�)�7�3r"c�n�Q2oQUmQUmQQko[OV!2V!1!)c��Q39o1QQkt4!)�Tc��U]6�cPgQQ-!)r^rR�This is a new annotationr)r6s"r�__annotate__�9TestUpdateWrapper._default_update.<locals>.f.__annotate__vs��	�	�-�	r"c��P!�zThis is a testrr{s&rr��,TestUpdateWrapper._default_update.<locals>.fv���r"r)�	.defaultsrgs  r�<generic parameters of f>�DTestUpdateWrapper._default_update.<locals>.<generic parameters of f>vs	��a�	r"�This is also a testzThis is a bald faced liec��U]6�cPgQQ-!)r^rSzThis is the prior annotationr)r6s"rrj�?TestUpdateWrapper._default_update.<locals>.wrapper.__annotate__{s��	�	�4�	r"c��P!rrr|s&rr]�2TestUpdateWrapper._default_update.<locals>.wrapper{���r")rr\r�update_wrapper�r8r�r]s&  r�_default_update�!TestUpdateWrapper._default_updateus2��	�'���2��
�	�� � ��,��z�r"c��UO2vqUOV2UOvoUOUOU2UOUOQ2UOUOUO2UOUOQ2UOUOQ*Q2UOQUO2UOUOU12P!)r�rsrRrirS)r{rc�__type_params__r�r\rgr,r.r�__annotations__�assertNotIn)r8r]r�rgs&   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�$�7r"�)Docstrings are omitted with -O2 and abovec�d�UO2vqUOUOQ2P!rm�r{rg�__doc__�r8r]r�s&  r�test_default_update_doc�)TestUpdateWrapper.test_default_update_doc��)���)�)�+�
��������*:�;r"c��QoQUmQo[OV!QQ2UOV!QQ2UO	UO
Q2UO
UOUO2UO	UOP2UO	UO-2UOUQ2P!)c��P!rmrrr"rr��+TestUpdateWrapper.test_no_update.<locals>.f�ror"rsc��P!rrrr"rr]�1TestUpdateWrapper.test_no_update.<locals>.wrapper�rxr"r]rr)rrryrcrgr,�assertNotEqualr.r�rrrzs&  r�test_no_update� TestUpdateWrapper.test_no_update�s���	�'���	�� � ��R��4����7�r�2�.�����)�)�9�5����G�0�0�!�.�.�A�������$�/�����0�0�"�5����g�v�.r"c���QoQUm[]]]Q5UmQo-UmQoQo[OV!V42UOV!V42UO
UOQ2UOUOUO2UO
UOP2UO
UOQ2UO
UOUO2P!)c��P!rrrr"rr��2TestUpdateWrapper.test_selective_update.<locals>.f�rxr"�This is a different testrUc��P!rrrr"rr]�8TestUpdateWrapper.test_selective_update.<locals>.wrapper�rxr"r]r(��	dict_attr)rrhr�rryrcrgr,r�r.r��r8r�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�8r"c��QoQo-UmQoQo[OV!V42UOQUO2UOUO-2U;UO
[29^tt^2[OV!V42PPP2]UmUO
[29^tt^2[OV!V42PPP2P!)%fhKV9h)%fhP!9h)c��P!rrrr"rr��4TestUpdateWrapper.test_missing_attributes.<locals>.f�rxr"c��P!rrrr"rr]�:TestUpdateWrapper.test_missing_attributes.<locals>.wrapper�rxr"rr(r�)r�rryr�r&rgrsr�r�s&    r�test_missing_attributes�)TestUpdateWrapper.test_missing_attributes�s���	�	��������� � ��V�<������!1�!1�2�����*�*�B�/���
�
�
�~�
.�
.��$�$�W��@�/����
�
�
�~�
.�
.��$�$�W��@�/�
.�/�
.��/�
.�
.�s$�C'�C:�'C7	�0C7	�:D	�D	c���Qo[OU[2UOUOQ2UOUOQ2UOUO-2P!)c��P!rrrr"rr]�6TestUpdateWrapper.test_builtin_update.<locals>.wrapper�rxr"rLzmax()rryrLrgr,�assertStartsWithr�r�r8r]s& r�test_builtin_update�%TestUpdateWrapper.test_builtin_update�sW��
	�� � ��#�.�����)�)�5�1����g�o�o�v�6�����0�0�"�5r"c���Qo[OU[2UOUOQ2UOUO
-2UOUOQ2P!)c��P!rr�rs*rr]�;TestUpdateWrapper.test_update_type_wrapper.<locals>.wrapper����Dr"r�r)rryr�rgr,rr~r�s& r�test_update_type_wrapper�*TestUpdateWrapper.test_update_type_wrapper�sW�� �� � ��$�/�����)�)�6�2�����0�0�"�5�����0�0�"�5r"c�:`�QQkoQo[OV!2UOUOQ[-2UOUOUO2U1QkQkoQo[OV#2UOUOUO2UO[29^tt^2UOPPP2[nUOUOQR-2P!)%fhK69h)c�&�U]6�cPgQ[-!�r^rZ�r�)r6s"rrj�MTestUpdateWrapper.test_update_wrapper_annotations.<locals>.inner.__annotate__�s
����S�r"c��P!rrrYs&rr��@TestUpdateWrapper.test_update_wrapper_annotations.<locals>.inner�s��4r"c��P!rrr�s*rr]�BTestUpdateWrapper.test_update_wrapper_annotations.<locals>.wrapper�r�r"rZc� :�U]6�cPgQR-!r�r)r6�	undefineds"�rrj�XTestUpdateWrapper.test_update_wrapper_annotations.<locals>.with_forward_ref.__annotate__�s���0�0�	�0r"c��P!rrrYs&r�with_forward_ref�KTestUpdateWrapper.test_update_wrapper_annotations.<locals>.with_forward_ref�s��Dr"c��P!rrr�s*rr]r��r�r")
rryrgrr�r�rjrs�	NameErrorr�)r8r�r]r�r�s&   @r�test_update_wrapper_annotations�1TestUpdateWrapper.test_update_wrapper_annotations�s����� �� � ��0�����0�0�3��*�=��
�
�g�*�*�E�,>�,>�?�0�0� �� � ��;��
�
�g�*�*�,<�,I�,I�J�
�
�
�y�
)�
)��#�#�*��	�����0�0�3�	�2B�C�	*�
)�s�
D
�
D	�D	r)r,r-r.r/r�WRAPPER_ASSIGNMENTS�WRAPPER_UPDATESrcr{r��unittest�skipIfr�flags�optimizer�r�r�r�r�requires_docstringsr�r�r�r0r<r=s@rrYrY`s����� )�<�<�'�7�7�4�&	�
8��_�_�S�Y�Y�'�'�1�,�@�B�<�B�<�
/�9�$A�(
� � �
�_�_�S�Y�Y�'�'�1�,�@�B�6�B�!�6�6�D�Dr"rYc�`�\sQsQsnQsQs\O\OO]6�Q2Q2sQsQs
QsUsP!)	�	TestWraps��c�d�QoQUmQUm[OU2Q2oV!1!)c��P!rmrrr"rr��$TestWraps._default_update.<locals>.f�ror"rszThis is still a bald faced liec��P!rrrr"rr]�*TestWraps._default_update.<locals>.wrapper�ror")rr\r�wrapsrzs&  rr{�TestWraps._default_update�s:��	�'���8��
�	����	�	�
�	��z�r"c�
�UO2vqUOV2UOUOQ2UOUOUO2UOUO
Q2P!)r�rs)r{rcrgr,r.rr�s&  rr��TestWraps.test_default_update�se���)�)�+�
�����7�&�����)�)�3�/�����-�-�q�~�~�>�������'<�=r"r�c�d�UO2vqUOUOQ2P!rmr�)r8r]�_s&  rr��!TestWraps.test_default_update_docr�r"c�^�QoQUm[OUQQ2Q2oUOV!QQ2UO	UO
Q2UO
UOUO2UO	UOP2UOUQ2P!)c��P!rmrrr"rr��#TestWraps.test_no_update.<locals>.fror"rsc��P!rrrr"rr]�)TestWraps.test_no_update.<locals>.wrapperror"r]rr)
rrr�rcrgr,r�r.r�rrzs&  rr��TestWraps.test_no_update
s���	�'���	����B��	#�	�
$�	����7�r�2�.�����)�)�9�5����G�0�0�!�.�.�A�������$�/����g�v�.r"c��QoQUm[]]]Q5UmQoQoQo[OVU2UQ22oUOVQV42UO
UOQ2UOUOUO2UO
UOP2UO
UOQ2UO
UOUO2P!)c��P!rrrr"rr��*TestWraps.test_selective_update.<locals>.frxr"r�rUc��-UmU!rr�)r�s&r�
add_dict_attr�6TestWraps.test_selective_update.<locals>.add_dict_attrs���A�K��Hr"c��P!rrrr"rr]�0TestWraps.test_selective_update.<locals>.wrapper"s��
r"r]r(r�)rrhr�rr�rcrgr,r�r.r�)r8r�r�r�r�r]s&     rr��TestWraps.test_selective_updates���	�+����Q�!�q�)���	�����	����F�	+�	�	�
�
,�	����7�v�6�����)�)�9�5����G�0�0�!�.�.�A�������$�/�������'A�B�����*�*�A�K�K�8r"r)r,r-r.r/r{r�r�r�rr�r�r�r�r�r0r<r=s@rr�r��sQ����	�>��_�_�S�Y�Y�'�'�1�,�@�B�<�B�<�/�9�9r"r�c�4`�\sQsQsnQsQsQsQsUsP!)�
TestReducei.c	�p�QQ2oQoUOUOU,QNP2Q2UOUOUQQ,,QQ,,,2,QN2UOUOQ[]]2]2Q	2UOUOQ
[]]2]2Q2UOUOV!]
22Q2UOUOV!]
2]2Q2UOUOV!]2]2]2UO[UO2UO[UO]*]*2UO[UO]*]*]*2UOUO]*Q
2Q
2UOUO]*PQ
2Q
2UO[UO]*Q2UO[UOU,2UO[UOUP2UO[UOUQ2UO[UOU[22QQ2oUO[UOV#22UOUOU,P2P2UOUOU,]*2]*2QQ2oUO[UO]*U22P!)c�4`�\sQsQsnQsQsQsQsUsP!)�'TestReduce.test_reduce.<locals>.Squaresi0c�"�Vm,UmP!r�rL�sofar)r8rLs&&rrn�0TestReduce.test_reduce.<locals>.Squares.__init__1s������
r"c�.�[UO2!r)r�r�rJs&rrH�/TestReduce.test_reduce.<locals>.Squares.__len__5s���4�:�:��&r"c��]St96:cUO6f[g[g[UO2oV!6:c-UOO	V"*2U]*
oJ2UOU*!r�)rLrMr�r��append)r8r��ns&& rrO�3TestReduce.test_reduce.<locals>.Squares.__getitem__8s]���A�(����(�
�*:�(�
�*:���
�
�O���f��J�J�%�%�a�c�*���F�A��z�z�!�}�$r"r�)	r,r-r.r/rnrHrOr0r<r=s@r�Squaresr�0s����
 �
'�
%�
%r"r�c��V*!rrr�s&&rr>�#TestReduce.test_reduce.<locals>.add?rMr"rRrTrAr}�wc��V*!rrr�s&&rr[�(TestReduce.test_reduce.<locals>.<lambda>Fs��!�#r"i�c��V*!rrr�s&&rr[rH���Q�Sr"lh���1c�(`�\sQsQsnQsQsUsP!)�/TestReduce.test_reduce.<locals>.TestFailingIteriYc��[grr�rJs&r�__iter__�8TestReduce.test_reduce.<locals>.TestFailingIter.__iter__Zr�r"r)r,r-r.r/r	r0r<r=s@r�TestFailingIterrYs����
#�
#r"rc�(`�\sQsQsnQsQsUsP!)�&TestReduce.test_reduce.<locals>.BadSeqiac��[gr)�
ValueError)r8�indexs&&rrO�2TestReduce.test_reduce.<locals>.BadSeq.__getitem__bs�� � r"r)r,r-r.r/rOr0r<r=s@r�BadSeqr
as����
!�
!r"rrU)rRrTr}r�)�*rr)rg�reducer�rsrtrr�r)r8r�r>rrs&    r�test_reduce�TestReduce.test_reduce/s���	%�	%�	�������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�@r"c��QQ2o]QHGoUOUOV!]22]
2UOUOV!]2]*2]42UO	[
UOV!]22UOUOV!]2]*2]*2UOUOV!]22]2UOUOV!]2]*2]*2Q]Q]Q]-oUOUOV#2PO
UO222P!)c�.`�\sQsQsnQsQsQsUsP!)�5TestReduce.test_iterator_usage.<locals>.SequenceClassihc��VmP!r�r�)r8r�s&&rrn�>TestReduce.test_iterator_usage.<locals>.SequenceClass.__init__i����r"c�V�]St96:cUO6cU![g[gr�)r�rM)r8r�s&&rrO�ATestReduce.test_iterator_usage.<locals>.SequenceClass.__getitem__ks(����?�D�F�F�?��H�#�%�$�*�$r"r)r,r-r.r/rnrOr0r<r=s@r�
SequenceClassrhs����
�
%�
%r"r )r>�one�two�three)�operatorr>rgrrsrtr��keys)r8r r>r}s&   r�test_iterator_usage�TestReduce.test_iterator_usagegs��	%�	%�	!�������S�-��*:�;�R�@�������S�-��*:�B�?��D����)�T�[�[�#�}�Q�7G�H�������S�-��*:�B�?��D�������S�-��*:�;�Q�?�������S�-��*:�B�?��D�
�A�u�a��!�,��������S�,�b�g�g�a�f�f�h�.?�@r"c
���QoUOUOU,QNP2UOU,QNPQ52UOUOUQQ,,QQ,,,2UOUQQ,,QQ,,,Q52UOUOQ[]]2]2UOQ[]]2]Q52UOUOQ[]]2]2UOQ	[]]2]Q52UO[UOU]],PQ5UOUO]*PQ
Q5Q
2P!)c��V*!rrr�s&&rr>�,TestReduce.test_initial_keyword.<locals>.add~rMr"rRrT)�initialr}r�c��V*!rrr�s&&rr[�1TestReduce.test_initial_keyword.<locals>.<lambda>�rr"c��V*!rrr�s&&rr[r-�rr"c��V*!rrr�s&&rr[r-�rr"c��V*!rrr�s&&rr[r-�rr"rrU)rgrr�rsrt)r8r>s& r�test_initial_keyword�TestReduce.test_initial_keyword}sI��	�����K�K��_�b�1��K�K��_�b�K�9�	
�	
����K�K��s�C�j�"�s�C�j�9�2�>��K�K��s�C�j�"�s�C�j�9�2�K�F�	
�	
����K�K�(�%��!�*�a�8��K�K�(�%��!�*�a�K�@�	
�	
����K�K�(�%��"�+�q�9��K�K�(�%��"�+�q�K�A�	
�	
���)�T�[�[�#��1�v�r��J�������R��S��9�3�?r"r)	r,r-r.r/rr&r1r0r<r=s@rr�r�.s����5A�pA�,@�@r"r�c�H�\sQsQs\%c\O
sQsP!QsP!)�TestReduceCi�r)r,r-r.r/r�rr0rr"rr4r4�s����#�#��r"r4c�L`�\sQsQsn\\O2sQsQsUs	P!)�TestReducePyi�c�J�UO[29^tt^2UOQ,QN]Q5PPP2UO[29^tt^2UOQ,QN]Q5PPP2P!)%fhKO9h)%fhP!9h)c��V*!rrr�s&&rr[�6TestReducePy.test_reduce_with_kwargs.<locals>.<lambda>�s��a�er")�function�sequencer+c��V*!rrr�s&&rr[r9�s��Q�Ur")r;r+)rPr^r_r`r�)�assertWarns�DeprecationWarningrrJs&r�test_reduce_with_kwargs�$TestReducePy.test_reduce_with_kwargs�sm��
�
�
�0�
1�
1��K�K�!3�o�WX�K�Y�2�
�
�
�0�
1�
1��K�K�*�_�a�K�P�2�
1�2�
1��
1�
1�
1�s#�A>�B�>B	�B	�B"	�B"	r)
r,r-r.r/r[r�rr?r0r<r=s@rr6r6�s!����
�,�-�-�
.�F�Q�Qr"r6c�`�\sQsQsnQsQsQsQsQsQs	Qs
\O\
OQ	2Q
2sQsUsP!)�TestCmpToKeyi�c��QoUOU2oUOU]2U]22UOU]2U]22UOU]2U]22QoUOU2oUOUQ2UQ22UO	U]2UQ22UOU]2UQ22UO
U]2UQ22P!)c��V6�V6*
!rrr�s&&r�cmp1�*TestCmpToKey.test_cmp_to_key.<locals>.cmp1�����E�a�e�$�$r"c�:�[U2[U2*
!rr�r�s&&r�cmp2�*TestCmpToKey.test_cmp_to_key.<locals>.cmp2�s���q�6�C��F�?�"r"g@�4�35)�
cmp_to_keyrg�
assertGreater�assertGreaterEqual�
assertLess�assertLessEqualr�)r8rErNrIs&   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�.r"c�.�QoUOUQ5oUOU]Q5U]Q52UOU]Q5U]Q52UO[[
129^tt^2U]2]6�PPP2UO[[
129^tt^2]U]26PPP2UO[29^tt^2UO2oPPP2UO[29^tt^2UOUP2oPPP2UOU2oUO[29^tt^2U2PPP2UO[29^tt^2UPP2PPP2P!)%fhCK%9h)%fhCK9h)%fhK�9h)%fhK�9h)%fhK�9h)%fhP!9h)c��V6�V6*
!rrr�s&&rrE�4TestCmpToKey.test_cmp_to_key_arguments.<locals>.cmp1�rGr"��mycmpr )rMrgrNrsrtr��r8rErNs&  r�test_cmp_to_key_arguments�&TestCmpToKey.test_cmp_to_key_arguments�s]��	%��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�*�
)�<�
;�
;��
;�
;�
;��
)�
)��
)�
)��*�
)��
)�
)�
)�sl�:F"�1F6�"G
�G�!G0�
H�"F3	�+F3	�6G	�?G	�
G	�G	�G-	�&G-	�0H	�9H	�H	�H	c�|`�QoUOU2oUO[29^tt^2U]2U]26�PPP2QQ2nU1QkoUO[29^tt^2U]2U]26�PPP2P!)%fhKY9h)%fhP!9h)c��[gr�r�r�s&&rrE�'TestCmpToKey.test_bad_cmp.<locals>.cmp1�s��#�#r"c�(`�\sQsQsnQsQsUsP!)�)TestCmpToKey.test_bad_cmp.<locals>.BadCmpi�c��[grr^r7s&&r�__lt__�0TestCmpToKey.test_bad_cmp.<locals>.BadCmp.__lt__�s��'�'r"r)r,r-r.r/rcr0r<r=s@r�BadCmpra�s����
(�
(r"rec�:�R2!rr)rZr�res&&�rrEr_�s
����8�Or")rMrsr�)r8rErNres&  @r�test_bad_cmp�TestCmpToKey.test_bad_cmp�s����	$��o�o�d�#��
�
�
�0�
1�
1���F�S��V�O�2�	(�	(�	�
�
�
�0�
1�
1���F�S��V�O�2�
1�2�
1��2�
1�
1�s#�B�;B*�B'	� B'	�*B;	�3B;	c�v�QoUOUQ5oUOU]22O]22P!)c��V6�V6*
!rrr�s&&rrE�)TestCmpToKey.test_obj_field.<locals>.cmp1�rGr"rW)rMrgrrYs&  r�test_obj_field�TestCmpToKey.test_obj_field�s/��	%��o�o�D�o�)������R����b�)r"c�|�QoUO[[]2UOU2Q5,QN2P!)c��V*
!rrr�s&&rrX�)TestCmpToKey.test_sort_int.<locals>.mycmp�rMr"�rN)r`r_r^rPr)rg�sortedr�rM)r8rXs& r�
test_sort_int�TestCmpToKey.test_sort_int�s.��	������a��d�o�o�e�.D�E�(�	*r"c	��Qo,QNo[V OU2Q5oSOSTt,tFDo[U2MJ	to,QN2P!ttoh)c�H�[U2[U2qV6�V6*
!rr�r�s&&rrX�-TestCmpToKey.test_sort_int_str.<locals>.mycmp�s ���q�6�3�q�6�q��E�a�e�$�$r"rq)	r��3rr^�0rr`�10rP)	rrPrPr^r_r`r�rrX)rrrMrgr�)r8rX�valuesr�s&   r�test_sort_int_str�TestCmpToKey.test_sort_int_str�sJ��	%�6����O�O�E�$:�;�����&�9�&��#�e�*�&�9�5�	7��9s�Ac���QoUOU2oU]
2oUO[[U2UO	U[
OO2P!)c��V*
!rrr�s&&rrX�%TestCmpToKey.test_hash.<locals>.mycmp�rMr")rMrsrt�hash�assertNotIsInstancer�rA�Hashable)r8rXrN�ks&   r�	test_hash�TestCmpToKey.test_hash�sJ��	��o�o�e�$����G�����)�T�1�-�� � ��K�O�O�$<�$<�=r"z6Signature information for builtins requires docstringsc��[OUO2oUO[	U2Q2Qo[OUOU22oUO[	U2Q2P!)z(mycmp)c��V*
!rrr�s&&rrX�1TestCmpToKey.test_cmp_to_signature.<locals>.mycmp�rMr"z(obj))r�
from_callablerMrgr�)r8�sigrXs&  r�test_cmp_to_signature�"TestCmpToKey.test_cmp_to_signature�s^���%�%�d�o�o�6������S��9�-�	��%�%�d�o�o�e�&<�=������S��7�+r"r)r,r-r.r/rRrZrgrlrsr|r�r�r�r�MISSING_C_DOCSTRINGSr�r0r<r=s@rrBrB�sR����/� �(
�*�*�7�>��_�_�W�1�1�M�O�,�O�,r"rBc�n`�\sQsQsn\%c
\O
s\OQ2sQs	Us
P!)�
TestCmpToKeyCic�n�[OU[[O	P222P!r)r�check_disallow_instantiationr�r�rMrJs&r�test_disallow_instantiation�)TestCmpToKeyC.test_disallow_instantiations'��	�,�,��$�{�-�-�d�3�4�	
r"r)r,r-r.r/r�rMrrr�r0r<r=s@rr�r�s+����� �+�+�
����
��
r"r�c�<�\sQsQs\\O2sQsP!)�TestCmpToKeyPyir)r,r-r.r/r[r�rMr0rr"rr�r�s���l�5�5�6�Jr"r�c�^`�\sQsQsnQsQsQsQsQsQs	Qs
Q	sQ
sQs
QsUsP!)
�TestTotalOrderingic��[OQQ22oUOU]2U]262UOU]2U]26�2UOU]2U]26*2UOU]2U]26�2UOU]2U]26*2UOU]2U]26�2UOU]2U]26�2P!)c�4`�\sQsQsnQsQsQsQsUsP!)�3TestTotalOrdering.test_total_ordering_lt.<locals>.Aic��VmP!r�r��r8r�s&&rrn�<TestTotalOrdering.test_total_ordering_lt.<locals>.A.__init__���"�
r"c�6�UOUO6!rr�r7s&&rrc�:TestTotalOrdering.test_total_ordering_lt.<locals>.A.__lt__����z�z�E�K�K�/�/r"c�6�UOUO6H!rr�r7s&&rr��:TestTotalOrdering.test_total_ordering_lt.<locals>.A.__eq__����z�z�U�[�[�0�0r"r��	r,r-r.r/rnrcr�r0r<r=s@rr]r������
#�
0�
1�
1r"r]�r�total_orderingrerG�r8r]s& r�test_total_ordering_lt�(TestTotalOrdering.test_total_ordering_lt����	�	!�	!�	1�	1�
"�	1�	
����!��q��t��$�����!��q��t��$�����!���!���%�����!���!���%�����!���!���%�����!���!���%�����1���!���%r"c��[OQQ22oUOU]2U]262UOU]2U]26�2UOU]2U]26*2UOU]2U]26�2UOU]2U]26*2UOU]2U]26�2UOU]2U]26�2P!)c�4`�\sQsQsnQsQsQsQsUsP!)�3TestTotalOrdering.test_total_ordering_le.<locals>.Ai'c��VmP!rr�r�s&&rrn�<TestTotalOrdering.test_total_ordering_le.<locals>.A.__init__)r�r"c�6�UOUO6*!rr�r7s&&r�__le__�:TestTotalOrdering.test_total_ordering_le.<locals>.A.__le__+r�r"c�6�UOUO6H!rr�r7s&&rr��:TestTotalOrdering.test_total_ordering_le.<locals>.A.__eq__-r�r"r�)	r,r-r.r/rnr�r�r0r<r=s@rr]r�'�����
#�
1�
1�
1r"r]r�r�s& r�test_total_ordering_le�(TestTotalOrdering.test_total_ordering_le&����	�	!�	!�	1�	1�
"�	1�	
����!��q��t��$�����!��q��t��$�����!���!���%�����!���!���%�����!���!���%�����!���!���%�����1���1���&r"c��[OQQ22oUOU]2U]262UOU]2U]26�2UOU]2U]26*2UOU]2U]26�2UOU]2U]26*2UOU]2U]26�2UOU]2U]262P!)c�4`�\sQsQsnQsQsQsQsUsP!)�3TestTotalOrdering.test_total_ordering_gt.<locals>.Ai8c��VmP!rr�r�s&&rrn�<TestTotalOrdering.test_total_ordering_gt.<locals>.A.__init__:r�r"c�6�UOUO6�!rr�r7s&&r�__gt__�:TestTotalOrdering.test_total_ordering_gt.<locals>.A.__gt__<r�r"c�6�UOUO6H!rr�r7s&&rr��:TestTotalOrdering.test_total_ordering_gt.<locals>.A.__eq__>r�r"r�)	r,r-r.r/rnr�r�r0r<r=s@rr]r�8r�r"r]r�r�s& r�test_total_ordering_gt�(TestTotalOrdering.test_total_ordering_gt7r�r"c��[OQQ22oUOU]2U]262UOU]2U]26�2UOU]2U]26*2UOU]2U]26�2UOU]2U]26*2UOU]2U]26�2UOU]2U]26*2P!)c�4`�\sQsQsnQsQsQsQsUsP!)�3TestTotalOrdering.test_total_ordering_ge.<locals>.AiIc��VmP!rr�r�s&&rrn�<TestTotalOrdering.test_total_ordering_ge.<locals>.A.__init__Kr�r"c�6�UOUO6�!rr�r7s&&r�__ge__�:TestTotalOrdering.test_total_ordering_ge.<locals>.A.__ge__Mr�r"c�6�UOUO6H!rr�r7s&&rr��:TestTotalOrdering.test_total_ordering_ge.<locals>.A.__eq__Or�r"r�)	r,r-r.r/rnr�r�r0r<r=s@rr]r�Ir�r"r]r�r�s& r�test_total_ordering_ge�(TestTotalOrdering.test_total_ordering_geHr�r"c���[OQQ[22oUOU]2U]262UOU]2U]26�2UOU]2U]26*2UOU]2U]26�2UOU]2U]26*2UOU]2U]26�2P!)c��\sQsQsQsP!)�=TestTotalOrdering.test_total_ordering_no_overwrite.<locals>.Ai[rr+rr"rr]r�[���r"r])rr�r�rer�s& r� test_total_ordering_no_overwrite�2TestTotalOrdering.test_total_ordering_no_overwriteYs���	�	!�	!�	��	�
"�	�����!��q��t��$�����!��q��t��$�����!���!���%�����!���!���%�����!���!���%�����!���!���%r"c��UO[29^tt^2[OQQ22oPPP2P!)%fhP!9h)c��\sQsQsQsP!)�7TestTotalOrdering.test_no_operations_defined.<locals>.Aigrr+rr"rr]r�gs��r"r])rsrrr�r�s& r�test_no_operations_defined�,TestTotalOrdering.test_no_operations_definedes?��
�
�
�z�
*�
*�
�
%�
%�
�
�&�
�+�
*�
*�
*�s�A�A	�A	c�````�[OU1QkQ22n[OU1QkQ22n[OU1QkQ22n[OU1QkQ22nUOR]2O]2[2UOR]2O]2[2UOR]2O
]2[2UOR]2O]2[2UOR]2O]2[2UOR]2O
]2[2UOR]2O]2[2UOR]2O]2[2UOR]2O
]2[2UOR]2O]2[2UOR]2O]2[2UOR]2O]2[2P!)c�B:`�\sQsQsnQsU1QksU1QksQsUsP!)�ATestTotalOrdering.test_notimplemented.<locals>.ImplementsLessThanimc��VmP!rr�r�s&&rrn�JTestTotalOrdering.test_notimplemented.<locals>.ImplementsLessThan.__init__or�r"c�`:�[UR2%cUOUO6H!P
!r{��
isinstancer��r8r9�ImplementsLessThans&&�rr��HTestTotalOrdering.test_notimplemented.<locals>.ImplementsLessThan.__eq__q�'����e�%7�8�8��:�:����4�4�r"c�h:�[UR2%cUOUO6![!r�r�r��NotImplementedr�s&&�rrc�HTestTotalOrdering.test_notimplemented.<locals>.ImplementsLessThan.__lt__u�*����e�%7�8�8��:�:����3�3�%�%r"r��	r,r-r.r/rnr�rcr0r<�r>r�s@�rr�r�m�����
#�
�
&�
&r"r�c�B:`�\sQsQsnQsU1QksU1QksQsUsP!)�HTestTotalOrdering.test_notimplemented.<locals>.ImplementsLessThanEqualToizc��VmP!rr�r�s&&rrn�QTestTotalOrdering.test_notimplemented.<locals>.ImplementsLessThanEqualTo.__init__|r�r"c�`:�[UR2%cUOUO6H!P
!r{r��r8r9�ImplementsLessThanEqualTos&&�rr��OTestTotalOrdering.test_notimplemented.<locals>.ImplementsLessThanEqualTo.__eq__~�'����e�%>�?�?��:�:����4�4�r"c�h:�[UR2%cUOUO6*![!rr�r�s&&�rr��OTestTotalOrdering.test_notimplemented.<locals>.ImplementsLessThanEqualTo.__le__��*����e�%>�?�?��:�:����4�4�%�%r"r��	r,r-r.r/rnr�r�r0r<�r>r�s@�rr�r�zr�r"r�c�B:`�\sQsQsnQsU1QksU1QksQsUsP!)�DTestTotalOrdering.test_notimplemented.<locals>.ImplementsGreaterThani�c��VmP!rr�r�s&&rrn�MTestTotalOrdering.test_notimplemented.<locals>.ImplementsGreaterThan.__init__�r�r"c�`:�[UR2%cUOUO6H!P
!r{r��r8r9�ImplementsGreaterThans&&�rr��KTestTotalOrdering.test_notimplemented.<locals>.ImplementsGreaterThan.__eq__��'����e�%:�;�;��:�:����4�4�r"c�h:�[UR2%cUOUO6�![!rr�rs&&�rr��KTestTotalOrdering.test_notimplemented.<locals>.ImplementsGreaterThan.__gt__��*����e�%:�;�;��:�:����3�3�%�%r"r��	r,r-r.r/rnr�r�r0r<�r>rs@�rrr�r�r"rc�B:`�\sQsQsnQsU1QksU1QksQsUsP!)�KTestTotalOrdering.test_notimplemented.<locals>.ImplementsGreaterThanEqualToi�c��VmP!rr�r�s&&rrn�TTestTotalOrdering.test_notimplemented.<locals>.ImplementsGreaterThanEqualTo.__init__�r�r"c�`:�[UR2%cUOUO6H!P
!r{r��r8r9�ImplementsGreaterThanEqualTos&&�rr��RTestTotalOrdering.test_notimplemented.<locals>.ImplementsGreaterThanEqualTo.__eq__��'����e�%A�B�B��:�:����4�4�r"c�h:�[UR2%cUOUO6�![!rr�rs&&�rr��RTestTotalOrdering.test_notimplemented.<locals>.ImplementsGreaterThanEqualTo.__ge__��*����e�%A�B�B��:�:����4�4�%�%r"r��	r,r-r.r/rnr�r�r0r<�r>rs@�rrr�r�r"r)rr�r�r�r�r�r�rc)r8rrr�r�s&@@@@r�test_notimplemented�%TestTotalOrdering.test_notimplementedks����	�	!�	!�
	&�
	&�
"�
	&�
�	!�	!�
	&�
	&�
"�
	&�
�	!�	!�
	&�
	&�
"�
	&�
�	!�	!�
	&�
	&�
"�
	&�	
�
�
�(��+�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�?��Pr"c	�`````�[OU1QkQ22n[OU1QkQ22n[OU1QkQ22n[OU1QkQ22n[OU1QkQ	22nUOQ
29^tt^2UO[29^tt^2RP2]6PPP2PPP2UOQ29^tt^2UO[29^tt^2R]2R]26PPP2PPP2UOQ29^tt^2UO[29^tt^2R]2R]26PPP2PPP2UOQ
29^tt^2UO[29^tt^2R]2R]26*PPP2PPP2UOQ29^tt^2UO[29^tt^2R]2R]26*PPP2PPP2UOQ29^tt^2UO[29^tt^2R]2R]26�PPP2PPP2UOQ29^tt^2UO[29^tt^2R]2R]26�PPP2PPP2UOQ29^tt^2UO[29^tt^2R]2R]26�PPP2PPP2UOQ29^tt^2UO[29^tt^2R]2R]26�PPP2PPP2UOQ29^tt^2R]2oR]2oUOV2UO[29^tt^2V6�PPP2PPP2UOQ29^tt^2R]	2oR]	2oUOV2UO[29^tt^2V6*PPP2PPP2P!)%fhCK�9h)%fhCK�9h)%fhCK�9h)%fhCK�9h)%fhCK[9h)%fhCKg9h)%fhCK*9h)%fhCK69h)%fhCK�9h)%fhCK9h)%fhCK�9h)%fhCK�9h)%fhCK�9h)%fhCK�9h)%fhCKf9h)%fhCKr9h)%fhCK59h)%fhCKA9h)%fhCK�9h)%fhCK�9h)%fhCK�9h)%fhP!9h)c�B:`�\sQsQsnQsU1QksU1QksQsUsP!)�RTestTotalOrdering.test_type_error_when_not_implemented.<locals>.ImplementsLessThani�c��VmP!rr�r�s&&rrn�[TestTotalOrdering.test_type_error_when_not_implemented.<locals>.ImplementsLessThan.__init__�r�r"c�`:�[UR2%cUOUO6H!P
!r{r�r�s&&�rr��YTestTotalOrdering.test_type_error_when_not_implemented.<locals>.ImplementsLessThan.__eq__�r�r"c�h:�[UR2%cUOUO6![!rr�r�s&&�rrc�YTestTotalOrdering.test_type_error_when_not_implemented.<locals>.ImplementsLessThan.__lt__�r�r"r�r�r�s@�rr�r"�r�r"r�c�B:`�\sQsQsnQsU1QksU1QksQsUsP!)�UTestTotalOrdering.test_type_error_when_not_implemented.<locals>.ImplementsGreaterThani�c��VmP!rr�r�s&&rrn�^TestTotalOrdering.test_type_error_when_not_implemented.<locals>.ImplementsGreaterThan.__init__�r�r"c�`:�[UR2%cUOUO6H!P
!r{r�rs&&�rr��\TestTotalOrdering.test_type_error_when_not_implemented.<locals>.ImplementsGreaterThan.__eq__�r
r"c�h:�[UR2%cUOUO6�![!rr�rs&&�rr��\TestTotalOrdering.test_type_error_when_not_implemented.<locals>.ImplementsGreaterThan.__gt__�r
r"r�rrs@�rrr*�r�r"rc�B:`�\sQsQsnQsU1QksU1QksQsUsP!)�YTestTotalOrdering.test_type_error_when_not_implemented.<locals>.ImplementsLessThanEqualToi�c��VmP!rr�r�s&&rrn�bTestTotalOrdering.test_type_error_when_not_implemented.<locals>.ImplementsLessThanEqualTo.__init__�r�r"c�`:�[UR2%cUOUO6H!P
!r{r�r�s&&�rr��`TestTotalOrdering.test_type_error_when_not_implemented.<locals>.ImplementsLessThanEqualTo.__eq__�r�r"c�h:�[UR2%cUOUO6*![!rr�r�s&&�rr��`TestTotalOrdering.test_type_error_when_not_implemented.<locals>.ImplementsLessThanEqualTo.__le__�r�r"r�rrs@�rr�r2�r�r"r�c�B:`�\sQsQsnQsU1QksU1QksQsUsP!)�\TestTotalOrdering.test_type_error_when_not_implemented.<locals>.ImplementsGreaterThanEqualToi�c��VmP!rr�r�s&&rrn�eTestTotalOrdering.test_type_error_when_not_implemented.<locals>.ImplementsGreaterThanEqualTo.__init__�r�r"c�`:�[UR2%cUOUO6H!P
!r{r�rs&&�rr��cTestTotalOrdering.test_type_error_when_not_implemented.<locals>.ImplementsGreaterThanEqualTo.__eq__�rr"c�h:�[UR2%cUOUO6�![!rr�rs&&�rr��cTestTotalOrdering.test_type_error_when_not_implemented.<locals>.ImplementsGreaterThanEqualTo.__ge__�rr"r�rrs@�rrr:�r�r"rc�<:`�\sQsQsnQsU1QksQsQsUsP!)�XTestTotalOrdering.test_type_error_when_not_implemented.<locals>.ComparatorNotImplementedi�c��VmP!rr�r�s&&rrn�aTestTotalOrdering.test_type_error_when_not_implemented.<locals>.ComparatorNotImplemented.__init__�r�r"c�`:�[UR2%cUOUO6H!P
!r{r�)r8r9�ComparatorNotImplementeds&&�rr��_TestTotalOrdering.test_type_error_when_not_implemented.<locals>.ComparatorNotImplemented.__eq__�s'����e�%=�>�>��:�:����4�4�r"c��[!r)r�r7s&&rrc�_TestTotalOrdering.test_type_error_when_not_implemented.<locals>.ComparatorNotImplemented.__lt__�s��%�%r"r�r�)r>rFs@�rrFrB�s����
#�
�
&�
&r"rFzLT < 1zLT < LEzLT < GTzLE <= LTzLE <= GEzGT > GEzGT > LTzGE >= GTzGE >= LEz
GE when equalz
LE when equal)rr�r"rsrtrg)r8rRrSrFrrr�r�s&  @@@@@r�$test_type_error_when_not_implemented�6TestTotalOrdering.test_type_error_when_not_implemented�sf���
�	!�	!�
	&�
	&�
"�
	&�
�	!�	!�
	&�
	&�
"�
	&�
�	!�	!�
	&�
	&�
"�
	&�
�	!�	!�
	&�
	&�
"�
	&�
�	!�	!�	&�	&�
"�	&��\�\�(�
#�
#�T�%6�%6�y�%A�%A��r�"�Q�&�&B�
#��\�\�)�
$�
$�d�&7�&7�	�&B�&B��q�!�$=�a�$@�@�'C�
$��\�\�)�
$�
$�d�&7�&7�	�&B�&B��q�!�$9�!�$<�<�'C�
$��\�\�*�
%�
%�t�'8�'8��'C�'C�%�a�(�,>�q�,A�A�(D�
%��\�\�*�
%�
%�t�'8�'8��'C�'C�%�a�(�,H��,K�K�(D�
%��\�\�)�
$�
$�d�&7�&7�	�&B�&B�!�!�$�'C�A�'F�F�'C�
$��\�\�)�
$�
$�d�&7�&7�	�&B�&B�!�!�$�'9�!�'<�<�'C�
$��\�\�*�
%�
%�t�'8�'8��'C�'C�(��+�/D�Q�/G�G�(D�
%��\�\�*�
%�
%�t�'8�'8��'C�'C�(��+�/H��/K�K�(D�
%��\�\�/�
*�
*�(��+�A�(��+�A����Q�"��"�"�9�-�-���.�	+��\�\�/�
*�
*�(��+�A�(��+�A����Q�"��"�"�9�-�-���.�	+�
*�E&B�%A�%A��
#�
#�
#��'C�&B�&B��
$�
$�
$��'C�&B�&B��
$�
$�
$��(D�'C�'C��
%�
%�
%��(D�'C�'C��
%�
%�
%��'C�&B�&B��
$�
$�
$��'C�&B�&B��
$�
$�
$��(D�'C�'C��
%�
%�
%��(D�'C�'C��
%�
%�
%��.�-�-��	+�
*�
*��.�-�-��	+�
*�
*�s�R2�R	�*R2�S�1S	�S�,T�
S.	�T�T*�#T	�5T*�U�<T>	�U�7U:�U&	�'U:�V"�.V	�V"�)W
�V6	�W
�W2� W	�2W2�?X�X	�X�?Y�X.	�Y�R/
�'R/
�)	R2�2S	�;S	�S
�S
�	S�S+	�#S+	�.S?
�7S?
�9	T�T	�T	�T'
�T'
�!	T*�*T;	�3T;	�>U
�U
�		U�U#	�U#	�&U7
�/U7
�1	U:�:V	�V	�V
�V
�	V"�"V3	�+V3	�6W
�?W
�	W
�
W	�W	�W/
�'W/
�)	W2�2X	�;X	�X
�X
�	X�X+	�#X+	�.X?
�7X?
�9	Y�Y	�Y	c�p�[[O]*2FD{oQFDqoUOV!Q59^tt^2[	[
U2o[O[OV122oUOVC2PPP2Js	J}	P!)%fhJ�9h)rP)r-r)rcr�r�r�)	r�rrr"r��Orderable_LTrrr�)r8rrr-�method_copys&    rr�TestTotalOrdering.test_picklesx���6�2�2�Q�6�7�E�>���\�\��\�;�;�$�\�4�8�F�"(�,�,�v�|�|�F�/J�"K�K��M�M�+�6�<�;�?�8�;�;�;�s�AB$
�$B5�-B5c��`�[OU1QkQ[22nQQRQ5oQQRQ5oUOV!62UO	V!6�2P!)c�N:``�\sQsQsnU1QksU1QksU1QksQsUsU9s	!)�WTestTotalOrdering.test_total_ordering_for_metaclasses_issue_44605.<locals>.SortableMetai$c�&:�[RU_VV#2!r)�super�__new__)rr�bases�ns�	__class__s&&&&�rrU�_TestTotalOrdering.test_total_ordering_for_metaclasses_issue_44605.<locals>.SortableMeta.__new__&s����w��s�%�<�<r"c�^:�[UR2%fUOUO6!r�r�r,�r8r9�SortableMetas&&�rrc�^TestTotalOrdering.test_total_ordering_for_metaclasses_issue_44605.<locals>.SortableMeta.__lt__)s&���!�%��6�6���}�}�u�~�~�5�5r"c�^:�[UR2%fUOUO6H!rr[r\s&&�rr��^TestTotalOrdering.test_total_ordering_for_metaclasses_issue_44605.<locals>.SortableMeta.__eq__.s&���!�%��6�6���}�}����6�6r"r)
r,r-r.r/rUrcr�r0r<�
__classcell__)rXr>r]s@@�rr]rR$s����
=�
6�

7�
7r"r]c��\sQsQsQsP!)�LTestTotalOrdering.test_total_ordering_for_metaclasses_issue_44605.<locals>.Bi3rr+rr"rr�rc3rUr"r���	metaclassc��\sQsQsQsP!)�LTestTotalOrdering.test_total_ordering_for_metaclasses_issue_44605.<locals>.Ai6rr+rr"rr]rg6rUr"r])rr�r�rerG)r8r�r]r]s&  @r�/test_total_ordering_for_metaclasses_issue_44605�ATestTotalOrdering.test_total_ordering_for_metaclasses_issue_44605"sZ���	�	!�	!�	7�4�	7�
"�	7�	�,�	�	�,�	�	
�����������r"r)r,r-r.r/r�r�r�r�r�r�rrJrrhr0r<r=s@rr�r�sA����&�"'�"&�"'�"
&��AQ�Fi�V7� � r"r�c�4`�\sQsQsnQsQsQsQsUsP!)rMi=c��VmP!rr�r�s&&rrn�Orderable_LT.__init__?s���
r"c�6�UOUO6!rr�r7s&&rrc�Orderable_LT.__lt__As���z�z�E�K�K�'�'r"c�6�UOUO6H!rr�r7s&&rr��Orderable_LT.__eq__Cs���z�z�U�[�[�(�(r"r�r�r=s@rrMrM=s�����(�)�)r"rMc�(`�\sQsQsnQsQsUsP!)�	TestCacheiGc
��`�UOOU1Qk2nSO[]2Tt,tFDoRU2MJ
	to,QN2UORO	2UOO]]P]Q52RO
2UORO	2UOO]]P]Q52P!ttoh)c�^:�U]6cU!RU]*
2RU]*
2*!r,r�r��fibs&�rrv�!TestCache.test_cache.<locals>.fibL�*����1�u����q��s�8�c�!�A�#�h�&�&r"��hits�misses�maxsize�currsize�rrPrPr^r_r�r!�
��"�7�Y����y�b)r��cachergr��
cache_info�
_CacheInfo�cache_clear�r8r�rvs& @r�
test_cache�TestCache.test_cacheKs����	
���	�	�	'�
�	'�	
���%��)�4�)�Q�#�a�&�)�4�I�	K�������)��K�K�"�"��2�t�b�"�Q�	S�����������)��K�K�"�"��!�T�A�"�N�	P��5s�C"r)r,r-r.r/r�r0r<r=s@rrrrrGs����P�Pr"rrc��\sQsQs\sQsP!)�TestCachePyiZr)r,r-r.r/r�r�r0rr"rr�r�Zs��
�Fr"r�c�4�\sQsQs\%c\sQsP!QsP!)�
TestCacheCi^r)r,r-r.r/r�r�r0rr"rr�r�^s�����r"r�c�.`�\sQsQsnQsQsQsQsQsQs	Qs
Q	sQ
sQs
QsQ
sQsQsQsQsQs\O,2Q2s\O,2Q2s\O,2Q2sQsQsQsQsQsQsQs Qs!Qs"Qs#\$OJ\&ON\$OPQ 2\$ORQ!P	P	Q"5\$OT\$OV2Q#22222s,Q$s-Q%s.Us/P!)&�TestLRUidc�	`
�QoUOO]Q5U2oUO2vq4qVUOU]2UOU]2UOU]2UOU]2[	]2o[	Q2FD9o[U2[U2q�UV�2oUV�2oUOV�2J;	UO2vq4qVUO
V46�2UOV4*Q2UOU]2UO2UO2vq4qVUOU]2UOU]2UOU]2UW	W
2UO2vq4qVUOU]2UOU]2UOU]2UOUOU2UOV�2UO2vq4qVUOU]2UOU]2UOU]2UOO]2U
1Qk2oUOUO2O]2]n
[	]2FDoUOU2]2J	UOR
]2UO2vq4qVUOU]2UOU]2UOU]2UOO]2U
1Qk2oUOUO2O]2]n
[	]2FDoUOU2]2J	UOR
]2UO2vq4qVUOU]2UOU]2UOU]2UOO]2U
1Qk2oUOUO2O]2]n
QFD"o	UOUU	2U	]
*2J$	UOR
]2UO2vq4qVUOU]2UOU]2UOU]2P!)c�$�]U*U*!�r_rr�s&&r�orig�TestLRU.test_lru.<locals>.origg����q�5�1�9�r"�r|��c�:�R]*
n]!r+r��f_cnts�rr��TestLRU.test_lru.<locals>.f�����
�Q�J�E�r"c�:�R]*
n]!r+rr�s�rr�r��r�r"c�*:�R]*
nU]
*!r+r)rZr�s&�rr�r��s���
�Q�J�E��R�4�Kr")r�	rr�rr�r!r!r!r�r�r�r!r!r!r)r��	lru_cacher�rgr�rrer�r�r\r|)r8r�r�rzr{r|r}�domainr�rZr��actualr�r�s&            @r�test_lru�TestLRU.test_lrufs���	��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�%r"c	���UOOQ2oUO[[	U,QN22,QN2UOUO2O]2UOUO2O]2UOUO2O]�2UOUO2O]2P!)c��U]*!r,rrYs&r�square�(TestLRU.test_lru_no_args.<locals>.square�s����6�Mr")rXrarX)�d�r�)
r�r�rgr6rir�rzr{r|r})r8r�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�9r"c�``�P	nUOO]
Q5UU1Qk2n[]2FDoUORU2QUQ02J!	UORO	2O
]
2UOR]2Q2UORO	2O
]
2P!)Tr�c�H:�QUQ0oU]6XcR%cP
nRU2oU!)rr)rZ�rvr��onces& ��rr��%TestLRU.test_lru_bug_35780.<locals>.f�s.����Q�C�q��B��B�w�4����q�T���Ir"rz.20.)r�r�r�rgr�r})r8rZr�r�s& @@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�"�5r"c��UOO2Q2oU]2UQ--@UOUO2O]2P!)c��P!rrrYs&rr��%TestLRU.test_lru_bug_36650.<locals>.f�ror"r�)r�r�rgr�rzr�s& r�test_lru_bug_36650�TestLRU.test_lru_bug_36650�sQ��
���	�	�	 �	�
!�	�	
�!��	�
�r�
��������,�,�a�0r"c��UOO]Q5Q2o[OO	2o[OO	]Q5Um[OO	QQ5UmUOUU]2]2UOUOO]2UOUO2Q2UOUU]2]2UOUOO]2UOUO2Q2UOU]]2]2UOUOO]2UOUO2Q2UOUU]2]2UOUOO]2UOUO2Q2P!)	rPr�c�$�U]*U*!r�rr�s&&rr��*TestLRU.test_lru_hash_only_once.<locals>.f�����q�5�1�9�r")�return_value��)rrPrPrP)rPrPrPrP)rPr^rPrP)rPr_rPrP)
r�r�r��mock�Mock�__mul__r�rg�
call_countr�)r8r��mock_ints&  r�test_lru_hash_only_once�TestLRU.test_lru_hash_only_once�s���
���	�	�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���������6r"c	��[OoUOO]2[2[mQFD!oUO	[QPU2U2J#	U[mP!S[mh9h)r`�abcdefghijklmn)
rrrPr^r_r_r`r��rPrr^rP)�builtinsr�r�r�rg)r8�old_lenr�s&  r�test_lru_reentrancy_with_len�$TestLRU.test_lru_reentrancy_with_lense���,�,��	#��;�;�0�0��3�C�8�H�L�<��� � ��%5�b�q�%9�!:�A�>�=�#�H�L��7�H�L�s�AA6�6
Bc��UOO2Q2oUOU]]2Q2UOUQ2Q2P!)c��U!rrr�s*rr��-TestLRU.test_lru_star_arg_handling.<locals>.f%s���Kr"ro)ro�r�r�rgr�s& r�test_lru_star_arg_handling�"TestLRU.test_lru_star_arg_handling#sM��	
���	�	�	 �	�
!�	�	
����1�a��&�)�����6��I�.r"c��UOOPQ5Q2oUOO]
Q5Q2oUO[29^tt^2U,2PPP2UO[29^tt^2U,2PPP2P!)%fhK@9h)%fhP!9h)Nr�c��P!rr��os&r�infinite_cache�3TestLRU.test_lru_type_error.<locals>.infinite_cache1ror"c��P!rrr�s&r�
limited_cache�2TestLRU.test_lru_type_error.<locals>.limited_cache5ror")r�r�rsrt)r8r�r�s&  r�test_lru_type_error�TestLRU.test_lru_type_error,s���

���	�	�t�	�	,�	�
-�	�
���	�	�r�	�	*�	�
+�	��
�
�y�
)�
)��2��*��
�
�y�
)�
)��"��*�
)�*�
)��*�
)�
)�s$�#	B$�	B7�$B4	�-B4	�7C	�C	c
��`�UOOPQ5U1Qk2nSO[]2Tt,tFDoRU2MJ
	to,QN2UORO	2UOO]]P]Q52RO
2UORO	2UOO]]P]Q52P!ttoh)Nr�c�^:�U]6cU!RU]*
2RU]*
2*!r,rrus&�rrv�/TestLRU.test_lru_with_maxsize_none.<locals>.fib@rxr"ryr~�r�r�rgr�r�r�r�r�s& @r�test_lru_with_maxsize_none�"TestLRU.test_lru_with_maxsize_none?s����	
���	�	�t�	�	,�	'�
-�	'�	
���%��)�4�)�Q�#�a�&�)�4�I�	K�������)��K�K�"�"��2�t�b�"�Q�	S�����������)��K�K�"�"��!�T�A�"�N�	P��5s�C(c�j�UOOQQ5Q2oQFDFoSO[]�2Tt,tFD
p1U2MJ	to[	[]�222JH	UOUO2UOO
]Q]]Q52P!ttoh)rXr�c��U!rrrs&r�eq�2TestLRU.test_lru_with_maxsize_negative.<locals>.eqN����Hr"�,ryi����r�)r�r�rgr�r6r�r�)r8r�r�r�s&   r�test_lru_with_maxsize_negative�&TestLRU.test_lru_with_maxsize_negativeMs���	
���	�	�s�	�	+�	�
,�	��A����U�3�Z�8�Z��b��e�Z�8�$�u�S�z�:J�K����������K�K�"�"��#�q�1�"�M�	O��9s�B0c	���QFD�oUOOU2Q2oUOU]2Q2UO[29^tt^2oU]2PPP2UOWOO2UO[29^tt^2U]2PPP2J�	P!)%fhKi9h)%fhJ�9h)Nc��QU*!)rAr�r�s&rr$�.TestLRU.test_lru_with_exceptions.<locals>.func[s���Q�x�r"rR�N�)r�r�rgrsrM�assertIsNone�	exception�__context__)r8r|r$r0s&   r�test_lru_with_exceptions� TestLRU.test_lru_with_exceptionsVs���#�G�
�[�[�
"�
"�7�
+�
 �,�
 ����T�!�W�c�*��"�"�:�.�.�"��R��/����b�l�l�6�6�7��"�"�:�.�.��R��/�.�#�
/�.��/�.�.�s$�	C	�1	C	�C
�C
�C,
�$C,
c
�&�QFCD�oUOOUP	Q5Q2oUOU]2]	2UO[U]22[]	22UOUQ2Q2UO[UQ22[Q22UOU]Q5]	2UO[U]Q52[]	22UOUQQ5Q2UO[UQQ52[Q22UOUO	2O
]2UOUO	2O]2CJ�	P!)N�r|�typedc��V*!rrrYs&rr��+TestLRU.test_lru_with_types.<locals>.squarehs	���u�r"g@g"@rYr�)r�r�rgr�r�rzr{)r8r|r�s&  r�test_lru_with_types�TestLRU.test_lru_with_typesfs4��"�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��;�#r"c��UOOP	Q5[2oUOU]2Q2UOUP	2Q2UOUQ2Q2UOU]2Q2UOUP
2Q2UOUQ2Q	2UOUQ2Q
2UOUQ2Q
2UOUQ2Q
2UOUQ2Q2UOUQ2Q2UOUQ2Q2QQ
[2oUOUUQ22Q
2UOUUQ22Q
2UOUUQ22Q
2UOUUQ22Q2UOUUQ22Q2UOUUQ22Q2P!)T)r�r�True��?z1.0ry�False�z0.0z(1,)z(0,)c��\sQsQsQsP!)�8TestLRU.test_lru_cache_typed_is_not_recursive.<locals>.Ti�rr+rr"rrgr	�rUr"rgr+�T)rr�r{)r)r�r�r�rgr8)r8�cachedrgs&  r�%test_lru_cache_typed_is_not_recursive�-TestLRU.test_lru_cache_typed_is_not_recursivevs������&�&�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�3r"c
��`�UOO2U1Qk2nSO[]2Tt,tFDoRUQ5MJ	to,QN2UORO	2UOO]]]�]Q52RO
2UORO	2UOO]]]�]Q52P!ttoh)c�b:�U]6cU!RU]*
Q5RU]*
Q5*!�r^rrrus&�rrv�/TestLRU.test_lru_with_keyword_args.<locals>.fib��*����1�u�����1��:��a��c�
�*�*r"rryr~r��r8�numberrvs& @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�C'c
��`�UOOPQ5U1Qk2nSO[]2Tt,tFDoRUQ5MJ	to,QN2UORO	2UOO]]P]Q52RO
2UORO	2UOO]]P]Q52P!ttoh)Nr�c�b:�U]6cU!RU]*
Q5RU]*
Q5*!rrrus&�rrv�<TestLRU.test_lru_with_keyword_args_maxsize_none.<locals>.fib�rr"rryr~r�rs& @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�C)c
�6�UOO]
Q5Q2oUOU]]Q5QQ,2UOU]]Q5QQ,2UOUO2UOO	]]]
]Q52P!)rXr�c�6�[UO22!r)r6�itemsr�s,rr��$TestLRU.test_kwargs_order.<locals>.f�s�������'�'r"rQ)rSrRry)rRrP)rSr^)r�r�rgr�r�r�s& r�test_kwargs_order�TestLRU.test_kwargs_order�s���	
���	�	�r�	�	*�	(�
+�	(�����Q�!��x��&:�;�����Q�!��x��&:�;���������K�K�"�"��!�R�!�"�L�	Nr"c	���QQkoUOO2U2oUOOFD'oUO[	V#2[	V22J)	P!)c��U]6�cPgQQ-!)r^�zomg�zomg_annotationr)r6s"rrj�9TestLRU.test_lru_cache_decoration.<locals>.f.__annotate__�s��	�	�%�	r"c��]*!)zf doc stringr)r$s&rr��,TestLRU.test_lru_cache_decoration.<locals>.f�s��r")r�r�r�rgr�)r8r��grs&   r�test_lru_cache_decoration�!TestLRU.test_lru_cache_decoration�sN��	�
�K�K�!�!�#�A�&���K�K�3�3�D����W�Q�-�w�q�/?�@�4r"c
�^````
`�]]tonQn
ROOUR*Q5R
2nRO2vq#qEROU]2[O
2nUUU
UU1QkoUUU1Qko[O2o[OQ2[U2T	t,tFDo	[OVi,Q5MJ	o
o	[OU
29^tt^2RO2PPP2RO2vq#qERO[Ic3RO!V12RO!URU*U*
2L1ROV12ROURU*U*
2ROVQ2[OUQ5,o
S
[U2T	t,tFDo	[OVi,Q5MJ	to	*
o
RO#2[OU
29^tt^2RO2PPP2[OU2P!tto	h)%fhCKa9htto	h)%fhKF9h[OS2h9h)r�c�$�]U*U*!r�rr�s&&rr��-TestLRU.test_lru_cache_threaded.<locals>.orig�r�r"r�c	�:�RO]
2[R2FD#oRORU]2RU]22J%	P!rW)�waitr�rg)r�r�r�r�r�r8r�s& �����r�full�-TestLRU.test_lru_cache_threaded.<locals>.full�s8����J�J�r�N��1�X��� � ��1�a��$�q�!�*�5�r"c�:�RO]
2[]R*2FDoRO2J	P!rW)r0r�r�)r�r�r�r�s ���r�clear�.TestLRU.test_lru_cache_threaded.<locals>.clear�s)����J�J�r�N��1�Q�3�Z���
�
�� r"g���ư>��targetr�r7)r�r�r�rg�	threading�Eventr�getswitchintervalr�setswitchintervalr��Threadr�
start_threads�setr�rQr4)r8r�rzr{r|r}r1r4�orig_sir��threadsr�r�r�r�sf          @@@@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�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�8��	�	��9�
�!�!�'�*��/*�8�8�8��+�9�8��
�!�!�'�*�sm�0J�<#I#� J�?I(�.J�?BJ�#I<�;7J�2J�J�#J�(I9	�1I9	�3J�J	�
J	�J�J,c��`````	`
�]]ton[OU]*2n	[OU]*2n[OU]*2n
ROORU*Q5U1Qk2nRO	RO2]]RU*]12UUUU	U
1Qko[
U2Tt,tFDo[OUQ5MJ	oo[OU29^tt^2[
R2FD�oR	O]
2R
O2RO]
2R	O2R
O]
2RO2RO	RO2]U]*U*RU*U]*12J�	PPP2P!ttoh)%fhP!9h)r�r�c�::�RO]
2]U*!rW)r0)rZ�pauses&�rr��+TestLRU.test_lru_cache_threaded2.<locals>.f�s����J�J�r�N��q�5�Lr"c�:�[R2FDDoRO]
2RORU2]U*2RO]
2JF	P!rW)r�r0rg)r�r�r�r8r��stops �����rr4�.TestLRU.test_lru_cache_threaded2.<locals>.test�s?����1�X���
�
�2��� � ��1��q�1�u�-��	�	�"�
�r"r8)r9�Barrierr�r�rgr�r�r=rr>r0�reset)r8r�r4r�rAr�r�r�rFr�rIsf     @@@@@r�test_lru_cache_threaded2� TestLRU.test_lru_cache_threaded2�sj����!���1��!�!�!�A�#�&���!�!�!�A�#�&��� � ��1��%��	
���	�	�q��s�	�	+�	�
,�	�	
�������!�Q��!��Q��8�	�	�
;@��(�C�(�Q�9�#�#�4�0�(��C�
�
+�
+�G�
4�
4��1�X���
�
�2���
�
���
�
�2�����
��	�	�"�
����
�� � �����!�a��c�1�W�a��c�1�Q�3�1G�H��5�
4��D�
4�
4�
4�s�"G�B7G�G*	�"G*	c
�R``�ROO]Q5Q2nUU1Qko[,QN2TTt,tFDvq#[OVU1Q5MJ 	ooo[
OU29^tt^2PPP2P!ttooh)%fhP!9h)r^r�c�B�[OQ2]U*!)g{�G�z�?)�time�sleeprYs&rr��+TestLRU.test_lru_cache_threaded3.<locals>.fs���J�J�s�O��q�5�Lr"c�J:�RORU2]U*U2P!r�)rg)r�rZr�r8s&&��rr4�.TestLRU.test_lru_cache_threaded3.<locals>.tests������Q�q�T�1�q�5�!�,r"r6)rPr^r^r_r^)r�r��	enumerater9r=rr>)r8r4r��vrAr�sf    @r�test_lru_cache_threaded3� TestLRU.test_lru_cache_threaded3s����	
���	�	�q�	�	)�	�
*�	�	-� )��9�;�9�t�q��#�#�4�!�f�=�9�	�;�
�
+�
+�G�
4�
4��5�
4��;�
4�
4�
4�s�&B�B�B&	�B&	c��``�UOO]
Q5Q2nUU1QkQ2nRR]22RR]22UORR]22R]22P!)rXr�c��U!)zEUsed to demonstrate a reentrant lru_cache call within a single threadrrYs&r�	test_func�.TestLRU.test_need_for_rlock.<locals>.test_funcs	���Hr"c�B:`�\sQsQsnQsQsQsUU1QksQsUs	P!)�-TestLRU.test_need_for_rlock.<locals>.DoubleEqi#z=Demonstrate a reentrant lru_cache call within a single threadc��VmP!rrY�r8rZs&&rrn�6TestLRU.test_need_for_rlock.<locals>.DoubleEq.__init__%rr"c��UO!rrYrJs&rr��6TestLRU.test_need_for_rlock.<locals>.DoubleEq.__hash__'s���v�v�
r"c�v:�UO]6XcRR]22UOUO6H!r,rY)r8r9�DoubleEqr\s&&��rr��4TestLRU.test_need_for_rlock.<locals>.DoubleEq.__eq__)s-����6�6�Q�;��h�q�k�*��v�v����(�(r"rY)
r,r-r.r/r�rnr�r�r0r<)r>rfr\s@��rrfr_#s����K�
�
�
)�
)r"rfr�)r8rfr\s&@@r�test_need_for_rlock�TestLRU.test_need_for_rlocksm���
���	�	�r�	�	*�	�
+�	�		)�		)�	�(�1�+���(�1�+������8�A�;�/�!�!��	&r"c��`�U1QkQ[2oU]2oU]2oU]2oROUOO2Q2QFD2oROUOU2U]
*]*2J4	ROUOUOUO1Q2ROUOO2Q2QFD2oROUOU2U]
*]*2J4	ROUOUOUO1Q2ROUOO2Q2Q	FD2oROUOU2U]
*]*2J4	ROUOUOUO1Q
2ROUOO2Q2ROUOO2UOO22ROUOO2UOO22ROUOO2UOO22P!)c�l:`�\sQsQsn]sYO
O
]2Q2sQsUs	P!)�"TestLRU.test_lru_method.<locals>.Xi4c�V�U9O]*
tmU]
*U*!r+r�ras&&rr��$TestLRU.test_lru_method.<locals>.X.f6s���
�
�a��
���t�D�y� r"r)
r,r-r.r/r�r�r�r�r0r<�r>r8s@�r�Xrl4s+�����E�
�[�[�
"�
"�1�
%�
!�&�
!r"rp)rrr^r)
rPr^r^r_rPrPrPr^r_r_)r�rr)r`r�r^r^)
rPr^rPrPrPrPr_r^r^r^)r�r`r)rXrXr^r^)
r^rPrPrPrPr^rPr_r^rP)r�r`r�)�rqr^r^)r�rgr�r�r�)r8rprRrSrTrZsf     r�test_lru_method�TestLRU.test_lru_method3s����	!��	!�
�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�>�>�+;�<r"c��UOoUO]*UOUO1FD�o[	[
O]*2FDaoUOV2Q59^tt^2[
O[
OV#22oUOVB2PPP2Jc	J�	P!)%fhJ|9h)r)rr$)rX�cached_func�cached_meth�cached_staticmethr�rrr"rrr�)r8rr�rrs&    rr�TestLRU.test_pickleRs����n�n������#�S�_�_�c�6K�6K�K�A��v�6�6��:�;���\�\��\�6�6�#�\�\�&�,�,�q�*@�A�F��M�M�&�,�7�6�<�L�6�6�6�s�:<C
�C�Cc	���UOoQoUOOU]2oUO]*UOUO
UOO
]2U21oSFDMoUOUQ59^tt^2[OU2oUOVe2PPP2JO	P!)%fhJd9h)c�$�]U*U*!r�rr�s&&rr��TestLRU.test_copy.<locals>.orig\r�r"�r$)
rXr�rdrurvrwr�r"rr��r8rr�r'�funcsr�rs&      rr �TestLRU.test_copyZs����n�n��	��{�{�"�"�4��+������#�S�_�_�c�6K�6K����&�&�q�)�$�/�1���A����1��%�%����1����
�
�f�(�&�%��%�%�%���(C
	�
C
�C
c	���UOoQoUOOU]2oUO]*UOUO
UOO
]2U21oSFDMoUOUQ59^tt^2[OU2oUOVe2PPP2JO	P!)%fhJd9h)c�$�]U*U*!r�rr�s&&rr��#TestLRU.test_deepcopy.<locals>.orighr�r"r|)rXr�rdrurvrwr�r"rr#r�r}s&      rr%�TestLRU.test_deepcopyfs����n�n��	��{�{�"�"�4��+������#�S�_�_�c�6K�6K����&�&�q�)�$�/�1���A����1��%�%����q�)���
�
�f�(�&�%��%�%�%�r�c�"�UOO]Q5Q2oUOUO2Q]QP
-2UOOQP	Q5Q2oUOUO2QQQP	-2P!)r^r�c��]!r+rrr"rr��,TestLRU.test_lru_cache_parameters.<locals>.fs���r"r|r�r�r�c��]!r+rrr"rr�r�xr�r")r�r�rg�cache_parametersr�s& r�test_lru_cache_parameters�!TestLRU.test_lru_cache_parametersrs���	
���	�	�q�	�	)�	�
*�	�����+�+�-�	�1�g�u�/M�N�	
���	�	�t�4�	�	8�	�
9�	�����+�+�-�	�4��$�/O�Pr"c�`�ROOQ2oU1QkQ2o[OU2[OUO2[OUO
2,oSFDoRO
U22J	==[O2SFDoROU22J	P!)c��U!rrrYs&r�
test_function�9TestLRU.test_lru_cache_weakrefable.<locals>.test_function~r�r"c�:`�\sQsQsnYOO
Q2s\YOO
U1Qk22sQs	Us
P!)�-TestLRU.test_lru_cache_weakrefable.<locals>.Ai�c�
�V1!rrras&&r�test_method�9TestLRU.test_lru_cache_weakrefable.<locals>.A.test_method�s
���y� r"c�:�RU1!rr)rZr8s&�r�test_staticmethod�?TestLRU.test_lru_cache_weakrefable.<locals>.A.test_staticmethod�s����a�y� r"r)r,r-r.r/r�r�r�r[r�r0r<ros@�rr]r��sG����
�[�[�
"�
"�
!�#�
!��
�[�[�
"�
"�
!�#��
!r"r])
r�r�rF�refr�r��assertIsNotNoner�r�r�)r8r�r]�refsr�sf    r�test_lru_cache_weakrefable�"TestLRU.test_lru_cache_weakrefable}s����	
���	�	�	�
�	�	!�	!����M�*����A�M�M�*����A�/�/�0�2���C�� � ���'��
��
�
�
���C����c�e�$�r"c��QQkoUOO]2U2oUO[[O
U22Q2UO[[O
UO22Q2UO[[O
UO22Q2P!)Tc��P!rrrUs"&&rr��,TestLRU.test_common_signatures.<locals>.orig�s��3r"z(a, /, b, c=True)z()r
)r�r�rgr�rr�r�r��r8r��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��Mr"c���QQkoUOO]2U2oUO[U2Q[Q[
-2UO[U2Q[Q[
-2P!)c�2�U]6�cPgQ[Q[-!�r^rR�return�r�r�)r6s"rrj�7TestLRU.test_get_annotations.<locals>.orig.__annotate__�s��$�$�C�$�C�$r"c��P!rrr{s&rr��*TestLRU.test_get_annotations.<locals>.orig�s��r"rRr�)r�r�rgrr�r�r�s&  r�test_get_annotations�TestLRU.test_get_annotations�sb��$��k�k�#�#�A�&�t�,������D�!�C��h��#<�	
�	
����C� �3��X�s�";�	
r"c��QQkoUOO]2U2oUO[U[O
Q5Q[Q[QUQ5-2UO[U[O
Q5Q[Q[QUQ5-2UO[29^tt^2[U[OQ5PPP2UO[29^tt^2[U[OQ5PPP2P!)%fhKS9h)%fhP!9h)c�2�U]6�cPgQ[Q[-!r�)r��nonexistent)r6s"rrj�GTestLRU.test_get_annotations_with_forwardref.<locals>.orig.__annotate__�s��,�,�C�,�K�,r"c��P!rrr{s&rr��:TestLRU.test_get_annotations_with_forwardref.<locals>.orig�s��r")r6rRr�r�)�owner)r�r�rgrr�
FORWARDREFr�r
rsr��VALUEr�s&  r�$test_get_annotations_with_forwardref�,TestLRU.test_get_annotations_with_forwardref�s���,��k�k�#�#�A�&�t�,������D��):�):�;�
�#�x�!2�=��!M�N�	
�	
����C��(9�(9�:�
�#�x�!2�=��!L�M�	
��
�
�y�
)�
)��D����6�*�
�
�
�y�
)�
)��C����5�*�
)�*�
)��
)�
)�
)�s$�D)�D<�)D9	�2D9	�<E
	�E
	zWASI has limited C stackzrequires deep stack)�ubr=c	��`�UOOU1Qk2nR]d2UO[6XczRO2[O
29^tt^2UO
[29^tt^2R[O22PPP2PPP2P!P!)%fhK9h)%fhP!9h)c�^:�U]6:cU!RU]*
2RU]*
2*!r+rrus&�rrv�'TestLRU.test_lru_recursion.<locals>.fib�s*����A�v����q��s�8�c�!�A�#�h�&�&r")	r�r�r�r�rr?rsr@�exceeds_recursion_limit)r8rvs&@r�test_lru_recursion�TestLRU.test_lru_recursion�s����
���	�	�	'�
�	'�
	�C���;�;�+�%��O�O���+�+�-�-��&�&�~�6�6���7�7�9�:�7�.�-�&�7�6��.�-�-�s0�,C
�
B:	�&C
�:C

�C

�C
�
C	�C	c��UO[Q29^tt^2UOO]2Q2PPP2P!)%fhP!9h)z#the first argument must be callable�hello)r�rtr�r�rJs&r�test_lru_checks_arg_is_callable�'TestLRU.test_lru_checks_arg_is_callable�sI��
�
#�
#��1�
�
�
�K�K�!�!�!�$�W�-�	
�
�
�
�s�"A�A	�A	r)0r,r-r.r/r�r�r�r�r�r�r�r�r�r�r�rrrrr r*r�requires_working_threadingrBrMrXrhrrrr r%r�r�r�r�r�r�
skip_on_s390xr�r��is_wasir��skip_if_unlimited_stack_sizer�r�r�r0r<r=s@rr�r�dsf����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�	
�6�"
���
�_�_�W�_�_�&@�A����4��d�K��)�)��+�+�-�
;�.�*�L�B��

;�.�.r"r�c�$�]U*U*!r�rr�s&&r�py_cached_funcr��s���q�5�1�9�r"c�$�]U*U*!r�rr�s&&r�
c_cached_funcr������1�u�q�y�r"c�`�\sQsQsn\s\1s\O2Q2s	\
\O2Q22sQsUs
P!)�	TestLRUPyi�c�$�]U*U*!r�rr=s&&&rrv�TestLRUPy.cached_meth�r�r"c�$�]U*U*!r�rr�s&&rrw�TestLRUPy.cached_staticmeth�s���1�u�q�y�r"r)r,r-r.r/r�r�r�rur�rvr[rwr0r<r=s@rr�r��sQ����
�F� �/�K����������������r"r�c�`�\sQsQsn\%c=\s\1s\O2Q2s	\
\O2Q22sQsUs
P!QsUs
P!)�TestLRUCi�c�$�]U*U*!r�rr=s&&&rrv�TestLRUC.cached_meth�r�r"c�$�]U*U*!r�rr�s&&rrw�TestLRUC.cached_staticmeth�s���q�5�1�9�r"r)r,r-r.r/r�r�r�rur�rvr[rwr0r<r=s@rr�r��sY�������#�n��	�	�	�	�	�
�	�
�	�	�	�	�	�
�
�	�r"r�c�`�\sQsQsnQsQsQsQs\O\
Q2\OQ22s
QsQ	sQ
sQsQsQ
sQsQsQsQsQsQsQsQsQsQsQsQsQs Qs!Qs"Qs#Qs$Qs%Q s&Q!s'Q"s(Q#s)Q$s*Q%s+Q&s,Q's-Q(s.Q)s/Q*s0Q+s1Q,s2Q-s3Q.s4Q/s5Q0s6Q1s7Us8P!)2�TestSingleDispatchi	c��[OQ2oQoUO[U2UO	UQ2Q2UO	U]2Q2UO	U,QN2Q2P!)c��Q!r�rr s&rr)�3TestSingleDispatch.test_simple_overloads.<locals>.g	���r"c��Q!)�integerrr�s&r�g_int�7TestSingleDispatch.test_simple_overloads.<locals>.g_int	s��r"r�r�r��rPr^r_)r�singledispatch�registerr�rg�r8r)r�s&  r�test_simple_overloads�(TestSingleDispatch.test_simple_overloads	si��	�	!�	!�	�
"�	�	�	�
�
�3�������5��6�*�����1��y�)�����7��V�,r"c���[OQ2oQQ2oQQU2oQQU2oQQV42oQ	oQ
oUOV&2UOVG2UOUU22Q2UOUU22Q2UOUU22Q2UOUU22Q2P!)c��Q!r�rr s&rr)�&TestSingleDispatch.test_mro.<locals>.g	r�r"c��\sQsQsQsP!)�&TestSingleDispatch.test_mro.<locals>.Ai	rr+rr"rr]r�	rUr"r]c��\sQsQsQsP!)�&TestSingleDispatch.test_mro.<locals>.Ci	rr+rr"r�Cr�	rUr"r�c��\sQsQsQsP!)�&TestSingleDispatch.test_mro.<locals>.Bi	rr+rr"rr�r�	rUr"r�c��\sQsQsQsP!)�&TestSingleDispatch.test_mro.<locals>.Di	rr+rr"r�Dr�	rUr"r�c��Q!)r]rr{s&r�g_A�(TestSingleDispatch.test_mro.<locals>.g_A	���r"c��Q!)r�rr|s&r�g_B�(TestSingleDispatch.test_mro.<locals>.g_B	r�r"�rr�r�rg)r8r)r]r�r�r�r�r�s&       r�test_mro�TestSingleDispatch.test_mro	s���	�	!�	!�	�
"�	�	�	�	��	�	��	�	��	�	�	�	�
�
�1��	�
�
�1������1�3���%�����1�3���%�����1�3���%�����1�3���%r"c��[OQ2oUO[2Q2oUO	UP2Q2UO	U]2Q2UOUO
[2U2UOUO
[2UO
[22P!)c��Q!r�rr s&rr)�5TestSingleDispatch.test_register_decorator.<locals>.g&	r�r"c��QU80!)zint rr�s&rr��9TestSingleDispatch.test_register_decorator.<locals>.g_int)	s
�� �?�"r"r�zint 12)	rr�r�r�rgr��dispatchrr�r�s&  r�test_register_decorator�*TestSingleDispatch.test_register_decorator%	s���	�	!�	!�	�
"�	�	
���C��	#�
�	#�����2���'�����2���)��
�
�a�j�j��o�u�-��
�
�a�j�j��(�!�*�*�S�/�:r"c���[OQ2oUOUOQ2[O
O]6cUOUOQ2P!P!)c��Q!)�Simple test�Testrr s&rr)�6TestSingleDispatch.test_wrapping_attributes.<locals>.g4	s��r"r)r)rr�rgr,rr�r�r�)r8r)s& r�test_wrapping_attributes�+TestSingleDispatch.test_wrapping_attributes3	s[��	�	!�	!�	�
"�	�	
������S�)��9�9����!����Q�Y�Y�
�6�"r"zrequires _decimalc���[OQ2oUO[O2Q2o[OQ2o[O
Q2oUOUU2Q2UOUU2Q2UO[O
2Q2oUOUU2Q2UOUU2Q2P!)c��Q!r�rr s&rr)�,TestSingleDispatch.test_c_classes.<locals>.g?	r�r"c��UO!rr�r s&rr��,TestSingleDispatch.test_c_classes.<locals>._B	s���8�8�Or"�Exponent < Emin�Number got roundedc��Q!)�Too small to care.rr s&rr�rI	s��'r"r)r)r)rr�r�r�DecimalException�	Subnormal�Roundedrg)r8r)r��subn�rnds&    r�test_c_classes�!TestSingleDispatch.test_c_classes<	s���
�	!�	!�	�
"�	�	
���G�,�,�	-�	�
.�	�� � �!2�3���o�o�2�3������4��"6�7�����3��!8�9�	
���G�%�%�	&�	(�
'�	(�����4��"6�7�����3��!8�9r"c��[Oo[OoUOUO
UOUO,o[U2FDnoU[U2oUOU[UO
UOUOUOUOUO[,2Jp	UOUOUO
[O ,o[U2FD�oU[O"U2oUOU[O"UO
UOUOUOUOUO[,2J�	UOUO[$,o[U2FDvoU[O&UOUO[$,2oUOU[O&[UOUO[,2Jx	QQ[O&2oUO(O+U2UO(UO
,o[U2FD�oUVd2oUOVVUO(UOUO,[O&[UO
UOUOUOUOUO[,
2J�	QQ[O&2oUOUO.UOUO,o[U2FDxoUVt2oUOVWUO.[O&[UOUOUOUOUO[,
2Jz	P!)c��\sQsQsQsP!)�.TestSingleDispatch.test_compose_mro.<locals>.Dim	rr+rr"rr�r"m	rUr"r�c�(`�\sQsQsnQsQsUsP!)�.TestSingleDispatch.test_compose_mro.<locals>.Ci{	c��P!rrrJs&rr��7TestSingleDispatch.test_compose_mro.<locals>.C.__call__|	���r"r�r,r-r.r/r�r0r<r=s@rr�r${	�����
�
r"r�)r�rAr�_compose_mro�Sequence�MutableMapping�Mapping�Setrrhrg�
Collection�Sized�Iterable�	Containerr�OrderedDictr�r��defaultdict�MutableSequencer��
Reversible�Callable)r8rT�mrorV�haystackr�r�r�s&       r�test_compose_mro�#TestSingleDispatch.test_compose_mroO	s����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�,r"c�t�[OoQQ-o,QNo[2P.o[U2oQo[O
Q2oUO
UU2Q2UO
UU2Q2UO
UU2Q2UO
UU2Q2UO
UU2Q2UOUOQ2UO
UU2Q2UO
UU2Q2UO
UU2Q2UO
UU2Q2UO
UU2Q2UOUOQ2UO
UU2Q2UO
UU2Q2UO
UU2Q2UO
UU2Q2UO
UU2Q2UO[OQ2UO
UU2Q2UO
UU2Q2UO
UU2Q2UO
UU2Q2UO
UU2Q2UOUOQ	2UO
UU2Q2UO
UU2Q
2UO
UU2Q2UO
UU2Q2UO
UU2Q2UOUOQ2UO
UU2Q2UO
UU2Q
2UO
UU2Q2UO
UU2Q2UO
UU2Q2UOUOQ
2UO
UU2Q2UO
UU2Q
2UO
UU2Q2UO
UU2Q2UO
UU2Q2UOUOQ2UO
UU2Q2UO
UU2Q
2UO
UU2Q2UO
UU2Q2UO
UU2Q2UOUOQ2UO
UU2Q2UO
UU2Q
2UO
UU2Q2UO
UU2Q2UO
UU2Q2UO[ Q2UO
UU2Q2UO
UU2Q
2UO
UU2Q2UO
UU2Q2UO
UU2Q2UO["Q2UO
UU2Q2UO
UU2Q2UO
UU2Q2UO
UU2Q2UO
UU2Q2UO[$Q2UO
UU2Q2UO
UU2Q2UO
UU2Q2UO
UU2Q2UO
UU2Q2UO[Q2UO
UU2Q2UO
UU2Q2UO
UU2Q2UO
UU2Q2UO
UU2Q2UO[&Q2UO
UU2Q2UO
UU2Q2UO
UU2Q2UO
UU2Q2UO
UU2Q2P!)rRrSc��Q!r�rr s&rr)�/TestSingleDispatch.test_register_abc.<locals>.g�	r�r"r�c��Q!��sizedrr s&rr[�6TestSingleDispatch.test_register_abc.<locals>.<lambda>�	���r"rAc��Q!��mutablemappingrr s&rr[rB�	s��1Ar"rFc��Q!)�chainmaprr s&rr[rB�	s��Zr"c��Q!)�mutablesequencerr s&rr[rB�	s��2Cr"rJc��Q!)�
mutablesetrr s&rr[rB�	s��\r"rLc��Q!��mappingrr s&rr[rB�	s��)r"c��Q!�r;rr s&rr[rB�	���:r"r;c��Q!�r?rr s&rr[rB�	���er"r?c��Q!�rhrr s&rr[rB�	���Vr"rhc��Q!r5rr s&rr[rB�	rXr"r6c��Q!)�concrete-setrr s&rr[rB�	s��Nr"r[c��Q!)�
frozen-setrr s&rr[rB�	s��,r"r]c��Q!)r8rr s&rr[rB�	s��gr"r8r�)r�rAr�	frozensetrr�rgr�r0r,r�r5�
MutableSetr-r+r.rhr6r?r8)r8rTr}�lr9r��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�'r"c	��[Oo[OoQQ[2oQQU2oUO
OQQ[22oQQ[2oQQ	VeU2oVqOVeUO
VAOU[,	o[UOUOUO
,2FDo	UOUVyQ
5U2J	UOUOUOUO
UO,o
UOUVzQ
5U2P!)c��\sQsQsQsP!)�)TestSingleDispatch.test_c3_abc.<locals>.Ai�	rr+rr"rr]rg�	rUr"r]c�(`�\sQsQsnQsQsUsP!)�)TestSingleDispatch.test_c3_abc.<locals>.Bi�	c��]!r�rrJs&rrH�1TestSingleDispatch.test_c3_abc.<locals>.B.__len__�	rJr"r�r,r-r.r/rHr0r<r=s@rr�ri�	�����
�
r"r�c��\sQsQsQsP!)�)TestSingleDispatch.test_c3_abc.<locals>.Ci�	rr+rr"rr�ro�	r�r"r�c��\sQsQsQsP!)�)TestSingleDispatch.test_c3_abc.<locals>.Di�	rr+rr"rr�rq�	rUr"r�c�(`�\sQsQsnQsQsUsP!)�)TestSingleDispatch.test_c3_abc.<locals>.Xi�	c��P!rrrJs&rr��2TestSingleDispatch.test_c3_abc.<locals>.X.__call__�	r'r"rr(r=s@rrprs�	r)r"rp)�abcs)
r�rAr�_c3_mrorr2r�r7r0rrgr-r1)r8rTr8r]r�r�r�rpr�rv�	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�/��:r"c���QQ[2oQQUQ5oQQU2o[OQ2oUOU2Q2oU2oUO	UU2Q	2P!)
c�(`�\sQsQsnQsQsUsP!)�1TestSingleDispatch.test_false_meta.<locals>.MetaAi�	c��]!r�rrJs&rrH�9TestSingleDispatch.test_false_meta.<locals>.MetaA.__len__�	rJr"rrlr=s@r�MetaAr}�	rmr"r�c��\sQsQsQsP!)�-TestSingleDispatch.test_false_meta.<locals>.Ai�	rr+rr"rr]r��	rUr"r]rdc��\sQsQsQsP!)�.TestSingleDispatch.test_false_meta.<locals>.AAi
rr+rr"r�AAr�
rUr"r�c��Q!)zbase Arr{s&r�fun�/TestSingleDispatch.test_false_meta.<locals>.fun
s��r"c��Q!)�fun Arr{s&rr��-TestSingleDispatch.test_false_meta.<locals>._
���r"r�)r�rr�r�rg)r8r�r]r�r�r��aas&      r�test_false_meta�"TestSingleDispatch.test_false_meta�	ss��	�D�	�	�%�	�	��	�	�	!�	!�	�
"�	�	���a��	�
�	�
�T������R��'�*r"c��[Oo[OQ2oQQUO2oU2oUOUU2Q2UO
UOQ2UO
UOQ2UO
UOQ2UO
UOQ2UOUU2Q2UOO
U2UOUU2Q2UOO
U2UOUU2Q2UOO
U2UOUU2Q	2Q
Q2oU2oUOUU2Q2UOO
U2UOUU2Q2UOO
U2UO[29^tt^2oUU2PPP2UO[WO2Q&2Q
QUO2oU2o	UOUU	2Q2UOO
U2UOUU	2Q2UOO
U2UOUU	2Q	2[OQ2o
U
O
UO2Q2oU
O
UO2Q2oUO[29^tt^2oU
[OQ22PPP2UO[WO2Q'2QQ[O2o
UO O
U
2[OQ2oUO
UO"2Q2oUO
UO 2Q2oU
2oUOUU2Q2QQ2oQQUUO2oU2oUOU
U2Q2UOO
U2UOU
U2Q2QQ2oU2oUOU
U2Q2UOO
U2UO[29^tt^2oU
U2PPP2UO[WO2Q'2QQ UOU2o[OQ!2oUO
U2Q"2oUO
UO2Q#2oU2oUOUU2Q$2UOO
U2UOUU2Q%2P!)%fhCK�9h)%fhCK�9h)%fhCK9h)(c��Q!r�rr�s&rr)�0TestSingleDispatch.test_mro_conflicts.<locals>.g
r�r"c�(`�\sQsQsnQsQsUsP!)�0TestSingleDispatch.test_mro_conflicts.<locals>.Oi
c��]!r�rrJs&rrH�8TestSingleDispatch.test_mro_conflicts.<locals>.O.__len__
rJr"rrlr=s@r�Or�
rmr"r�r�c��Q!)�iterablerr�s&rr[�7TestSingleDispatch.test_mro_conflicts.<locals>.<lambda>
rRr"c��Q!��	containerrr�s&rr[r�
s��Kr"c��Q!r@rr�s&rr[r�
rCr"c��Q!rTrr�s&rr[r�
rUr"rAr?c��\sQsQsQsP!)�0TestSingleDispatch.test_mro_conflicts.<locals>.Pi"
rr+rr"r�Pr�"
rUr"r�r�c�(`�\sQsQsnQsQsUsP!)�0TestSingleDispatch.test_mro_conflicts.<locals>.Qi2
c��]!r�rrJs&rrH�8TestSingleDispatch.test_mro_conflicts.<locals>.Q.__len__3
rJr"rrlr=s@r�Qr�2
rmr"r�c��Q!r�rr�s&r�h�0TestSingleDispatch.test_mro_conflicts.<locals>.h<
r�r"c��Q!r@rr�s&rr��0TestSingleDispatch.test_mro_conflicts.<locals>._?
r�r"c��Q!r�rr�s&rr�r�B
���r"c��]!r�rrr"rr[r�J
s��ar"c��\sQsQsQsP!)�0TestSingleDispatch.test_mro_conflicts.<locals>.RiR
rr+rr"r�Rr�R
rUr"r�c��Q!r�rr�s&rr��0TestSingleDispatch.test_mro_conflicts.<locals>.iU
r�r"c��Q!rNrr�s&rr�r�X
���r"c��Q!rQrr�s&rr�r�[
���r"r;c��\sQsQsQsP!)�0TestSingleDispatch.test_mro_conflicts.<locals>.Si`
rr+rr"r�Sr�`
rUr"r�c�(`�\sQsQsnQsQsUsP!)�0TestSingleDispatch.test_mro_conflicts.<locals>.Tib
c��]!r�rrJs&rrH�8TestSingleDispatch.test_mro_conflicts.<locals>.T.__len__c
rJr"rrlr=s@rrgr�b
rmr"rgc�(`�\sQsQsnQsQsUsP!)�0TestSingleDispatch.test_mro_conflicts.<locals>.Uii
c��]!r�rrJs&rrH�8TestSingleDispatch.test_mro_conflicts.<locals>.U.__len__j
rJr"rrlr=s@r�Ur�i
rmr"r�c�(`�\sQsQsnQsQsUsP!)�0TestSingleDispatch.test_mro_conflicts.<locals>.Viz
c��]!r�rrJs&rrH�8TestSingleDispatch.test_mro_conflicts.<locals>.V.__len__{
rJr"rrlr=s@r�Vr�z
rmr"r�c��Q!r�rr�s&r�j�0TestSingleDispatch.test_mro_conflicts.<locals>.j}
r�r"c��Q!�r9rr�s&rr�r��
s��r"c��Q!r�rr�s&rr�r��
r�r"r9r�)z]Ambiguous dispatch: <class 'collections.abc.Container'> or <class 'collections.abc.Iterable'>z]Ambiguous dispatch: <class 'collections.abc.Iterable'> or <class 'collections.abc.Container'>)zZAmbiguous dispatch: <class 'collections.abc.Container'> or <class 'collections.abc.Sized'>zZAmbiguous dispatch: <class 'collections.abc.Sized'> or <class 'collections.abc.Container'>)r�rArr�r0rgr�r1r2r.rsr�rr�r�r4r5r,)r8rTr)r�r�r�rk�re_oner��qr�r��re_twor�r�r:r�rgrbr��u�re_threer�r�rWs&                        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-�
,�
,�s6�	X�X%�#	X9�X"	�X"	�%X6	�.X6	�9Y
	�Y
	c
�``	�]QHGo]PH
oU1QkQU2nR2n	[OUQU	1Qk29^tt^2[O
o[OQ2o-o,oUO[R	2]2UOUU2Q2UO[R	2]2UOR	O,2UOR	O[,2UOR	O[*UO[*2UOUU2Q2UO[R	2]2UOR	O,2UOR	O[[ ,2UOR	O[*UO[*2UOR	O[ *UO[*2UOR	O[*R	O[ *2UOUU2Q2UOUU2Q2UOR	O[ [,2UOR	O[[ ,2UO#[ Q2UOR	O[ [,2UO[R	2]2UOUU2Q2UO[R	2]2UOR	O[ [,2UOR	O[[ [,2UOR	O[*[O$[UO22UOUU2Q	2UO[R	2]2UOR	O[ [,2UOR	O[[ [[ ,2UOR	O[ *[O$[ UO22Q
Q2oUO&O#U2UOUU2Q2UOUU2Q	2UOR	O[ [[[ ,2UOR	O[[ [[ ,2UO#UO(Q2UO[R	2]2UOUU2Q
2UO[R	2]2UOR	O[ [[[ ,2UOR	O[[ [[ [,2UOUU2Q	2UO[R	2]2UOR	O[ [[[ ,2UOR	O[[ [[ [[ ,2UOUU2Q	2UOUU2Q
2UOR	O[ [[[ [ [,2UOR	O[[ [[ [[ ,2UO+[ 2UO+[2UOR	O[ [[[ [ [[ [,2UOR	O[[ [[ [[ ,2UO,O#U2UO[R	2]2UOUU2Q	2UO[R	2]2UO#UO&Q2UO[R	2]2UOUU2Q2UO[R	2]2UOUU2Q	2UO[R	2]2UO#[Q2UOUU2Q2UOUU2Q	2UO/2UO[R	2]2PPP2P!)%fhP!9h)r)�UserDictc�J:``�\sQsQsnUU1QksQsQsQsQsUs	U9s
!)�?TestSingleDispatch.test_cache_invalidation.<locals>.TracingDicti�
c�H:�[RU_U-U@,Um,UmP!r)rTrn�set_ops�get_ops)r8rr	�TracingDictrXs&*,��rrn�HTestSingleDispatch.test_cache_invalidation.<locals>.TracingDict.__init__�
s%����k�4�1�4�B�6�B�!���!��r"c�d�UOU*oUOOU2U!r)r�r�r�)r8rNr�s&& rrO�KTestSingleDispatch.test_cache_invalidation.<locals>.TracingDict.__getitem__�
s&�����3������#�#�C�(��
r"c�Z�UOOU2V OU$P!r)r�r�r�)r8rNr�s&&&r�__setitem__�KTestSingleDispatch.test_cache_invalidation.<locals>.TracingDict.__setitem__�
s�����#�#�C�(�!&�	�	�#�r"c�<�UOO2P!r)r�r4rJs&rr4�ETestSingleDispatch.test_cache_invalidation.<locals>.TracingDict.clear�
s���	�	���!r")r�r�)r,r-r.r/rnrOr�r4r0r<ra)rXr>r�s@@�rr�r��
s����
"�
�
'�
"�
"r"r��WeakKeyDictionaryc�
:�R!rr)�tds�rr[�<TestSingleDispatch.test_cache_invalidation.<locals>.<lambda>�
s���Rr"c��Q!r�rr�s&rr)�5TestSingleDispatch.test_cache_invalidation.<locals>.g�
���r"r�c��Q!r5rr�s&rr[r��
���r"r6c��\sQsQsQsP!)�5TestSingleDispatch.test_cache_invalidation.<locals>.Xi�
rr+rr"rrpr��
s��r"rpc��Q!r@rr�s&rr[r��
s��Gr"rAc��Q!rErr�s&rr[r��
s��5Er"rFc��Q!rWrr�s&rr[r��
r�r"rh)r�r�rFr�	swap_attrrArr�rgr�r�r�rhr��registryrr6r��
_find_implr,r0rr`�_clear_cache)
r8r�rFrTr)r}rarpr�r�s
&       @@r�test_cache_invalidation�*TestSingleDispatch.test_cache_invalidation�
s����(��
	"�(�
	"��]��
�
�
�w�(;�Z�
H�
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�
H�s�e7g�g	�g	c���[OQ2oUOQQk2oUOQQk2oUOUP2Q2UOUQ]-2Q2UOU,QN2Q2UOUQ2Q2UOUQ	2Q2UO[2Q
Q22oUOUQ	2Q	2P!)
c��Q!r�rr�s&rr��.TestSingleDispatch.test_annotations.<locals>.i�
r�r"c�N�U]6�cPgQ[OO-!�r^r�)r�rAr-)r6s"rrj�;TestSingleDispatch.test_annotations.<locals>._.__annotate__�
s��	�	�;�?�?�*�*�	r"c��Q!rNrr�s&rr��.TestSingleDispatch.test_annotations.<locals>._�
r�r"c��U]6�cPgQQ-!)r^r�zcollections.abc.Sequencer)r6s"rrjr�
s��	�	�-�	r"c��Q!rQrr�s&rr�r�
r�r"r�rRrOr;r�c�.`�\sQsQsnQsQsQsUsP!)z.TestSingleDispatch.test_annotations.<locals>._ic��VmP!rr��r8r�s&&rrn�7TestSingleDispatch.test_annotations.<locals>._.__init__����r"c�"�UOU6H!rr�r7s&&rr��5TestSingleDispatch.test_annotations.<locals>._.__eq__	s���x�x�5�(�(r"r�)r,r-r.r/rnr�r0r<r=s@rr�rs����
�
)�
)r"r�r�)rr�r�rgr�)r8r�r�s&  r�test_annotations�#TestSingleDispatch.test_annotations�
s���	�	!�	!�	�
"�	�	
���	�
�	�	
���	�
�	�����4��&�)�����C��8��i�0�����9��z�2�����9��z�2�����5��:�.�
���C��	)�	)�
�	)�	
����5��5�)r"c���QQ2oU2oUO]2UOUOQ2U2oUOUQ2UOP2UOUOQ2U2oUOUQ2UOQ2UOUOQ2U2oUOUQ2P!)c�`�\sQsQsn\O
Q2s\O\2Q2s	\O\
2Q2s	QsUsP!)�2TestSingleDispatch.test_method_register.<locals>.Aic��QUmP!r�r�rs&&rrb�4TestSingleDispatch.test_method_register.<locals>.A.ts	��!��r"c��QUmP!r�r�rs&&rr��4TestSingleDispatch.test_method_register.<locals>.A._�	�� ��r"c��QUmP!�r�r�rs&&rr�rrr"r�)
r,r-r.r/r�singledispatchmethodrbr�r�r�r�r0r<r=s@rr]rsQ����
�
+�
+�
"�,�
"�
�Z�Z��_�
!��
!�
�Z�Z��_�
!��
!r"r]r�r�r�rr�)rbrgr�r)r8r]rRr�s&   r�test_method_register�'TestSingleDispatch.test_method_register
s���		!�		!�
�C��	���A���������&�
�S�����b�%�(�	���B���������&�
�S�����b�%�(�	���C���������'�
�S�����b�%�(r"c���QQ2oU2oUOUO]22UOUOP22UOUOQ2Q2P!)c�`�\sQsQsn\O
\Q22s\O\	2\Q22s
\O\2\Q22s
QsUs
P!)�8TestSingleDispatch.test_staticmethod_register.<locals>.Ai(c��U!rrr�s&rrb�:TestSingleDispatch.test_staticmethod_register.<locals>.A.t)�	���
r"c�$�[U[2!r�r�r�r�s&rr��:TestSingleDispatch.test_staticmethod_register.<locals>.A._-���"�#�s�+�+r"c�$�[U[2!r�r�r�r�s&rr�r#1r$r"r)r,r-r.r/rrr[rbr�r�r�r�r0r<r=s@rr]r(si����
�
+�
+�
�
��,�
�
�Z�Z��_�
�
,���
,�
�Z�Z��_�
�
,���
,r"r]r�rerbrgr^s&  r�test_staticmethod_register�-TestSingleDispatch.test_staticmethod_register'�U��	,�	,�
�C��������A���������B�� �������S��3�'r"c�n�QQ2oU2oUOUO]]2]2P!)c�z`�\sQsQsnQs\OQ2s\OU1QkQk2s	Qs
UsP!)�3TestSingleDispatch.test_slotted_class.<locals>.Sloti<c��P!rr�r8�itemr�s&&&r�go�6TestSingleDispatch.test_slotted_class.<locals>.Slot.go>r@r"c�":�U]6�cPgQRZ-!�r^r0r�)r6r>s"�rrj�BTestSingleDispatch.test_slotted_class.<locals>.Slot._.__annotate__Cs���
"�
"�c�
"r"c��V*!rrr/s&&&rr��5TestSingleDispatch.test_slotted_class.<locals>.Slot._Bs
���z�!r"rrQ)r,r-r.r/�	__slots__rrr1r�r�r0r<r=s@r�Slotr-<s:����"�I�
�
+�
+�
�,�
��[�[�
"��
"r"r9�rgr1�r8r9r9s&  r�test_slotted_class�%TestSingleDispatch.test_slotted_class;s/��	"�	"�
�F��������a���Q�'r"c�:�QQ2oU2oUOUO]]2]2UOUOQ]2Q2UOUO]]2]2UOUOQ]2Q2P!)c�`�\sQsQsnQs\O\Q22s\O\U1QkQk22s
QsUsP!)�?TestSingleDispatch.test_classmethod_slotted_class.<locals>.SlotiJc��V*
!rr�rr0r�s&&&rr1�BTestSingleDispatch.test_classmethod_slotted_class.<locals>.Slot.goL����z�!r"c�":�U]6�cPgQRZ-!r4r�)r6r>s"�rrj�NTestSingleDispatch.test_classmethod_slotted_class.<locals>.Slot._.__annotate__Ss���
"�
"�S�
"r"c��V*!rrrBs&&&rr��ATestSingleDispatch.test_classmethod_slotted_class.<locals>.Slot._QrDr"rrQ)
r,r-r.r/r8rrrYr1r�r�r0r<r=s@rr9r@JsJ����"�I�
�
+�
+�
�
"��,�
"��[�[�
�
"���
"r"r9g�?g�?r:r;s&  r�test_classmethod_slotted_class�1TestSingleDispatch.test_classmethod_slotted_classIs}��
	"�
	"�
�F��������a���Q�'�������c�1��s�+��������A���*��������a��#�.r"c��QQ2oU2oUOUO]22UOUOP22UOUOQ2Q2UOUO]22UOUOP22UOUOQ2Q2P!)c��`�\sQsQsnQ,s\O\Q22s\O\
2\Q22s\O\2\Q22sQs
UsP!)�=TestSingleDispatch.test_staticmethod_slotted_class.<locals>.Ai]rRc��U!rrr�s&rrb�?TestSingleDispatch.test_staticmethod_slotted_class.<locals>.A.t_r r"c�$�[U[2!rr"r�s&rr��?TestSingleDispatch.test_staticmethod_slotted_class.<locals>.A._cr$r"c�$�[U[2!rr&r�s&rr�rQgr$r"r)r,r-r.r/r8rrr[rbr�r�r�r�r0r<r=s@rr]rM]sp������I�
�
+�
+�
�
��,�
�
�Z�Z��_�
�
,���
,�
�Z�Z��_�
�
,���
,r"r]rr'r^s&  r�test_staticmethod_slotted_class�2TestSingleDispatch.test_staticmethod_slotted_class\s���
	,�
	,�
�C��������A���������B�� �������S��3�'�������A���������B�� �������S��3�'r"c��QQ2oU2oQUOmU2oUO[29^tt^2UOOPPP2P!)%fhP!9h)c�F`�\sQsQsn\O
Q2sQsUsP!)�6TestSingleDispatch.test_assignment_behavior.<locals>.Aivc��U!rrr�s&rrb�8TestSingleDispatch.test_assignment_behavior.<locals>.A.tws���
r"r�	r,r-r.r/rrrbr0r<r=s@rr]rWvs����
�
+�
+�
�,�
r"r]r�)rbr�rsr�)r8r]rR�a2s&   r�test_assignment_behavior�+TestSingleDispatch.test_assignment_behaviortsR��	�	�

�C�������
�S��
�
�
�~�
.�
.��D�D�H�H�/�
.�
.�
.�s�A)�)A:	�2A:	c��QQ2oUOUO]2OQ2UOUOP2OQ2UOUOQ2OQ2P!)c��`�\sQsQsnQs\O\Q22s\O\
2\Q22s\O\2\Q22sQs
UsP!)�7TestSingleDispatch.test_classmethod_register.<locals>.Ai�c��VmP!rr�rs&&rrn�@TestSingleDispatch.test_classmethod_register.<locals>.A.__init__�r	r"c��UQ2!r�r�rr�s&&rrb�9TestSingleDispatch.test_classmethod_register.<locals>.A.t�����6�{�"r"c��UQ2!r�rrds&&rr��9TestSingleDispatch.test_classmethod_register.<locals>.A._�����5�z�!r"c��UQ2!rrrds&&rr�rh�rir"r�)r,r-r.r/rnrrrYrbr�r�r�r�r0r<r=s@rr]r`�sp����
��
+�
+�
�
#��,�
#�
�Z�Z��_�
�
"���
"�
�Z�Z��_�
�
"���
"r"r]r�r�rr��rgrbr�r�s& r�test_classmethod_register�,TestSingleDispatch.test_classmethod_register��b��	"�	"�"	
������Q����U�+�������R����e�,�������S����v�.r"c���QQ2oUOO[2[Q22oUOO[2[Q22oUOUO]2OQ2UOUOP2OQ2UOUOQ2OQ2P!)c�V`�\sQsQsnQs\O\Q22sQs	Us
P!)�4TestSingleDispatch.test_callable_register.<locals>.Ai�c��VmP!rr�rs&&rrn�=TestSingleDispatch.test_callable_register.<locals>.A.__init__�r	r"c��UQ2!r�rrds&&rrb�6TestSingleDispatch.test_callable_register.<locals>.A.t�rfr"r�)r,r-r.r/rnrrrYrbr0r<r=s@rr]rq�s,����
��
+�
+�
�
#��,�
#r"r]c��UQ2!r�rrds&&rr��4TestSingleDispatch.test_callable_register.<locals>._�����u�:�r"c��UQ2!rrrds&&rr�rw�rxr"r�r�rr�)rbr�r�rYr�rgr�)r8r]r�s&  r�test_callable_register�)TestSingleDispatch.test_callable_register�s���	#�	#�
�����c�	�	�	�
�
�	�	
�����c�	�	�	�
�
�	�	
������Q����U�+�������R����e�,�������S����v�.r"c�`�QQ[OQ5oUOUOO2UOUO
Q*O2UO
[29^tt^2U2PPP2P!)%fhP!9h)c�d`�\sQsQsn\O
\OQ22sQs	Us
P!)�ATestSingleDispatch.test_abstractmethod_register.<locals>.Abstracti�c��P!rrr=s&&&rr>�ETestSingleDispatch.test_abstractmethod_register.<locals>.Abstract.add����r"r)r,r-r.r/rrrArBr>r0r<r=s@rrDr~�s+����
�
+�
+�
�
�
�
� �,�
r"rDrdr>)rArFrer>rEr&rsrt)r8rDs& r�test_abstractmethod_register�/TestSingleDispatch.test_abstractmethod_register�sl��	����	�	
������9�9�:�����)�)�%�0�E�E�F�
�
�
�y�
)�
)��J�*�
)�
)�
)�s�
B�B-	�%B-	c���QQ2oU2oUOUO]2Q2UOUOP2Q2UOUOQ2Q2P!)c�`�\sQsQsn\O
Q2s\OU1QkQk2s\OU1QkQk2sQs	Us
P!)�4TestSingleDispatch.test_type_ann_register.<locals>.Ai�c��Q!r�rrs&&rrb�6TestSingleDispatch.test_type_ann_register.<locals>.A.t�r�r"c�":�U]6�cPgQRZ-!r�r�)r6r>s"�rrj�CTestSingleDispatch.test_type_ann_register.<locals>.A._.__annotate__�����
�
�S�
r"c��Q!r�rrs&&rr��6TestSingleDispatch.test_type_ann_register.<locals>.A._����r"c�":�U]6�cPgQRZ-!r�r)r6r>s"�rrjr��r�r"c��Q!rrrs&&rr�r��r�r"r)r,r-r.r/rrrbr�r�r0r<r=s@rr]r��sI����
�
+�
+�
�,�
�
�Z�Z�
��
�
�Z�Z�
��
r"r]r�r�rr�)rgrbr^s&  r�test_type_ann_register�)TestSingleDispatch.test_type_ann_register�s]��		�		�
�C��������Q���'�������R��%�(�������S��6�*r"c���QQ2oU2oUOUO]22UOUOP22UOUOQ2Q2P!)c��`�\sQsQsn\O
\Q22s\O\U1QkQk22s	\O\U1QkQk22s	Qs
UsP!)�ATestSingleDispatch.test_staticmethod_type_ann_register.<locals>.Ai�c��U!rrr�s&rrb�CTestSingleDispatch.test_staticmethod_type_ann_register.<locals>.A.t�r r"c�":�U]6�cPgQRZ-!r�r�)r6r>s"�rrj�PTestSingleDispatch.test_staticmethod_type_ann_register.<locals>.A._.__annotate__�����
,�
,�s�
,r"c�$�[U[2!rr"r�s&rr��CTestSingleDispatch.test_staticmethod_type_ann_register.<locals>.A._�r$r"c�":�U]6�cPgQRZ-!r�r)r6r>s"�rrjr��r�r"c�$�[U[2!rr&r�s&rr�r��r$r"r)r,r-r.r/rrr[rbr�r�r0r<r=s@rr]r��sa����
�
+�
+�
�
��,�
�
�Z�Z�
�
,���
,�
�Z�Z�
�
,���
,r"r]rr'r^s&  r�#test_staticmethod_type_ann_register�6TestSingleDispatch.test_staticmethod_type_ann_register�r*r"c��QQ2oUOUO]2OQ2UOUOP2OQ2UOUOQ2OQ2P!)c��`�\sQsQsnQs\O\Q22s\O\U1QkQk22s
\O\U1QkQk22s
QsUsP!)	�@TestSingleDispatch.test_classmethod_type_ann_register.<locals>.Ai�c��VmP!rr�rs&&rrn�ITestSingleDispatch.test_classmethod_type_ann_register.<locals>.A.__init__�r	r"c��UQ2!r�rrds&&rrb�BTestSingleDispatch.test_classmethod_type_ann_register.<locals>.A.t�rfr"c�":�U]6�cPgQRZ-!r�r�)r6r>s"�rrj�OTestSingleDispatch.test_classmethod_type_ann_register.<locals>.A._.__annotate__�����
"�
"�C�
"r"c��UQ2!r�rrds&&rr��BTestSingleDispatch.test_classmethod_type_ann_register.<locals>.A._�rir"c�":�U]6�cPgQRZ-!r�r)r6r>s"�rrjr��r�r"c��UQ2!rrrds&&rr�r��rir"r�)
r,r-r.r/rnrrrYrbr�r�r0r<r=s@rr]r��sh����
��
+�
+�
�
#��,�
#�
�Z�Z�
�
"���
"�
�Z�Z�
�
"���
"r"r]r�r�rr�rkr�s& r�"test_classmethod_type_ann_register�5TestSingleDispatch.test_classmethod_type_ann_register�rnr"c	���QQ2oUOQ*oUOU2OUOU2OUOU2O1FD�oUO	UQ59^tt^2UOUO[2UO[U2OQ2UOUOV#O*2SOUO[O%cQLP2UOUOQ*[2PPP2J�	UOUOOQ2UOU2OOQ2UOUOOQ2UOU2OOQ2UOUOOQ	2UOU2OOQ	2P!)%fhCJ�9h)
c��`�\sQsQsn\O
U1QkQk2s\O
\U1QkQk22s\O
\	U1QkQk22s
QsUsP!)	�=TestSingleDispatch.test_method_wrapping_attributes.<locals>.Ai�c�(:�U]6�cPgQRZQRZ-!�r^r�r�r�)r6r>s"�rrj�OTestSingleDispatch.test_method_wrapping_attributes.<locals>.A.func.__annotate__�s���
 �
 ��
 ��
 r"c��[U2!��My function docstringrrs&&rr$�BTestSingleDispatch.test_method_wrapping_attributes.<locals>.A.func��
���3�x�r"c�(:�U]6�cPgQRZQRZ-!r�r�)r6r>s"�rrj�STestSingleDispatch.test_method_wrapping_attributes.<locals>.A.cls_func.__annotate__�s���
 �
 �3�
 �3�
 r"c��[U2!r�rrds&&r�cls_func�FTestSingleDispatch.test_method_wrapping_attributes.<locals>.A.cls_func��
���3�x�r"c�(:�U]6�cPgQRZQRZ-!r�r�)r6r>s"�rrj�VTestSingleDispatch.test_method_wrapping_attributes.<locals>.A.static_func.__annotate__s���
 �
 ��
 ��
 r"c��[U2!r�rr�s&r�static_func�ITestSingleDispatch.test_method_wrapping_attributes.<locals>.A.static_funcr�r"r)
r,r-r.r/rrr$rYr�r[r�r0r<r=s@rr]r��sa����
�
+�
+�
 �,�
 ��
+�
+�
�
 ��,�
 ��
+�
+�
�
 ��,�
 r"r]r�rXrr�r�r$r�r�)r.r$r�r�r"rgr-r,r�r�r�HAVE_PY_DOCSTRINGSrr�)r8r]�prefixrXs&   r�test_method_wrapping_attributes�2TestSingleDispatch.test_method_wrapping_attributes�s���	 �	 � ���#�%��
�F�F�
�C�H�H�
�J�J�
�C�L�L�
�M�M�
�C�O�O�

�D����4��(�(�� � ����(�;�� � ��d��!6�!6��D�� � ��!2�!2�F�]�]�4J�K�� � ����%,�%?�%?�%?�#:�'+�.�� � ��!5�!5�e�!<�c�B�)�(�
�$	
��������&�1��������*�*�F�3�������,�,�j�9��������.�.�
�;�������/�/��?��������1�1�=�A�)�(�(�s�BI	�./I	�I0
�'I0
c�0`�U1QkQ2nUOROR2Q2Q2UOROR2]2Q2UOROR2Q2Q2UOROR2Q2Q	2UOROR2RO22Q
2UOROR2RO22Q2P!)zRegression test for GH-143535.c�:`�\sQsQsn\O
U1QkQk2s\OU1QkQk2s\O\	U1QkQk22s
\O\U1QkQ	k22sQ
s
QQ2s\O\\22Q
sU1QkQ2s\O\\22QsUsP!)�:TestSingleDispatch.test_method_classlevel_calls.<locals>.Ci$c�":�U]6�cPgQRZ-!r�)r)r6r>s"�rrj�OTestSingleDispatch.test_method_classlevel_calls.<locals>.C.generic.__annotate__&s���
!�
!��
!r"c��Q!)�genericrras&&rr��BTestSingleDispatch.test_method_classlevel_calls.<locals>.C.generic%s�� r"c�":�U]6�cPgQRZ-!r�r�)r6r>s"�rrj�PTestSingleDispatch.test_method_classlevel_calls.<locals>.C.special1.__annotate__*s���
"�
"�#�
"r"c��Q!)�special1rras&&rr��CTestSingleDispatch.test_method_classlevel_calls.<locals>.C.special1)s��!r"c�":�U]6�cPgQRZ-!r�)�float)r6r>s"�rrj�PTestSingleDispatch.test_method_classlevel_calls.<locals>.C.special2.__annotate__/s���
"�
"�%�
"r"c��Q!)�special2rras&&rr��CTestSingleDispatch.test_method_classlevel_calls.<locals>.C.special2-���"r"c�":�U]6�cPgQRZ-!r�)�complex)r6r>s"�rrj�PTestSingleDispatch.test_method_classlevel_calls.<locals>.C.special3.__annotate__4s���
"�
"�G�
"r"c��Q!)�special3rrYs&rr��CTestSingleDispatch.test_method_classlevel_calls.<locals>.C.special32r�r"c��Q!��special4rras&&rr��CTestSingleDispatch.test_method_classlevel_calls.<locals>.C.special47���!r"c�(`�\sQsQsnQsQsUsP!)�=TestSingleDispatch.test_method_classlevel_calls.<locals>.C.D1i:c�`�U1Qk!)c�(:�ROV2!rr�)�instrZr�s&&�rr[�WTestSingleDispatch.test_method_classlevel_calls.<locals>.C.D1.__get__.<locals>.<lambda><s���5�>�>�$�+Br"r)r8r�r�s&&frrV�ETestSingleDispatch.test_method_classlevel_calls.<locals>.C.D1.__get__;s	���B�Br"r�r,r-r.r/rVr0r<r=s@r�D1r�:s����C�Cr"r�c��Q!��special5rras&&rr��CTestSingleDispatch.test_method_classlevel_calls.<locals>.C.special5@r�r"c�0:`�\sQsQsnU1QksQsUsP!)�=TestSingleDispatch.test_method_classlevel_calls.<locals>.C.D2iCc�(:�R2O!rr�)r8r�r�r�s&&&�rrV�ETestSingleDispatch.test_method_classlevel_calls.<locals>.C.D2.__get__Ds����3�<�<�'r"rr��r>r�s@�r�D2r�Cs����(�(r"r�r)r,r-r.r/rrr�r�r�rYr�r[r�r�r�r�r�r0r<r�s@�rr�r�$s�����
�
+�
+�
!�,�
!��
�
�
"��
"��
�
�
�
"���
"��
�
�
�
"���
"�
"�
C�
C�
���R���&�
"�
(�
(�
���R���&�&r"r�r�r�r�g@r�y@r�r�r�)rgr�r�r�)r8r�s&@r�test_method_classlevel_calls�/TestSingleDispatch.test_method_classlevel_calls"s����(	'�(	'�T	
������1�3��.�	�:�������1�3��*�J�7�������1�3��,�j�9�������1�3��+�Z�8�������1�3�����/��<�������1�3�����/��<r"c�"``�QQ2nQQ2nUU1QkQ2oUO[UOQ*2QUOQ02UO[UOQ	*2QUOQ
02UO[UOQ*2QUOQ02UO[UOQ
*2Q2UO[UOQ*2Q2UO[UO2QUOQ02UO[UO
2QUOQ
02UO[UO2QUOQ02UO[UO2Q2UO[UO2Q2U2oUO[UO2QUOQU8Q02UO[UO
2QUOQU8Q02UO[UO2QUOQU8Q02UO[UO2QU8Q02UO[UO2QU8Q02P!)c�(`�\sQsQsnQsQsUsP!)�5TestSingleDispatch.test_method_repr.<locals>.CallableiVc��P!rr�r8rs&*rr��>TestSingleDispatch.test_method_repr.<locals>.Callable.__call__Wr'r"rr(r=s@rr7rVr)r"r7c�,`�\sQsQsnQsQsQsUsP!)�=TestSingleDispatch.test_method_repr.<locals>.CallableWithNameiZ�
NOQUALNAMEc��P!rrrs&*rr��FTestSingleDispatch.test_method_repr.<locals>.CallableWithName.__call__\r'r"rr(r=s@r�CallableWithNamerZs����#�H�
�
r"rc�:`�\sQsQsn\O
Q2s\O
\Q22s\O
\	Q22s
\O
Y22s\O
Y22sQs
UsP!)�.TestSingleDispatch.test_method_repr.<locals>.Ai_c��P!rrrs&&rr$�3TestSingleDispatch.test_method_repr.<locals>.A.func`r@r"c��P!rrrds&&rr��7TestSingleDispatch.test_method_repr.<locals>.A.cls_funccr�r"c��P!rrr�s&rr��:TestSingleDispatch.test_method_repr.<locals>.A.static_funcgr�r"r)r,r-r.r/rrr$rYr�r[r��no_qualname�no_namer0r<)r>r7rs@��rr]r
_s�����
�
+�
+�
�,�
�
�
+�
+�
�
��,�
�
�
+�
+�
�
��,�
�$�8�8�9I�9K�L�K��4�4�X�Z�@�Gr"r]r$z#<single dispatch method descriptor z.func>r�z
.cls_func>r�z
.static_func>rz.<single dispatch method descriptor NOQUALNAME>rz%<single dispatch method descriptor ?>z<single dispatch method z#<single dispatch method NOQUALNAME>z<single dispatch method ?>z<bound single dispatch method z	.func of �>z
.cls_func of z.static_func of z,<bound single dispatch method NOQUALNAME of z#<bound single dispatch method ? of )	rgr�r&r.r$r�r�rr)r8r]rRr7rs&  @@r�test_method_repr�#TestSingleDispatch.test_method_reprUs����	�	�	�	�
	A�	A�"	
����a�j�j��0�1�1�!�.�.�1A��H�	J�����a�j�j��4�5�1�!�.�.�1A��L�	N�����a�j�j��7�8�1�!�.�.�1A��O�	Q�����a�j�j��7�8�<�	?�����a�j�j��3�4�3�	6�	
����a�f�f��&�q�~�~�&6�f�=�	?�����a�j�j�)�&�q�~�~�&6�j�A�	C�����a�m�m�,�&�q�~�~�&6�m�D�	F�����a�m�m�,�1�	4�����a�i�i��(�	+�
�C������a�f�f��,�Q�^�^�,<�I�a�U�!�L�	N�����a�j�j�)�,�Q�^�^�,<�M�!��a�P�	R�����a�m�m�,�,�Q�^�^�,<�<L�Q�E�QR�S�	U�����a�m�m�,�:�1�%�q�A�	C�����a�i�i��1�!��a�8�	:r"c�t`�QnU1QkQ2oU1QkQ2oUO]29^tt^2oSoPPP2UO]29^tt^2oSoPPP2UOWW2UOUQ2UOUO]2UO]22UOUO]2Q2QFD�oUOUQ59^tt^2UO[	V&2O
[	V2O
2UO[	U2U2O
[	U2U2O
2PPP2J�	UOU2OUOU2O1FD�oUOUQ	59^tt^2SOUO[O%cQ
LP2UOUOQ*[2PPP2J�	UOUOO
Q2UOU2OO
Q2UOUOO
Q2UOU2OO
Q2P!)%fhCK�9h)%fhCK�9h)%fhCJB9h)%fhCJx9h)
c�r`�UOn[[OR2U1Qk22oU!)c�:�RU-U@!rr)rr	r^s*,�rr]�gTestSingleDispatch.test_double_wrapped_methods.<locals>.classmethod_friendly_decorator.<locals>.wrapper�s�����/��/�/r")�__func__rYrr�)r$r]r^s& @r�classmethod_friendly_decorator�VTestSingleDispatch.test_double_wrapped_methods.<locals>.classmethod_friendly_decorator�s4����m�m�G�
�
�_�_�W�
%�
0�&��
0��Nr"c�:`�\sQsQsn\\OU1QkQk22sY\U1QkQk22sQs	Us
P!)�MTestSingleDispatch.test_double_wrapped_methods.<locals>.WithoutSingleDispatchi�c�(:�U]6�cPgQRZQRZ-!r�r�)r6r>s"�rrj�nTestSingleDispatch.test_double_wrapped_methods.<locals>.WithoutSingleDispatch.cls_context_manager.__annotate__�s���
�
�c�
�c�
r"c3�: �[U2w�Q!h9h3h)�Donerrds&&r�cls_context_manager�aTestSingleDispatch.test_double_wrapped_methods.<locals>.WithoutSingleDispatch.cls_context_manager�s�����c�(�N�����������c�(:�U]6�cPgQRZQRZ-!r�r�)r6r>s"�rrj�pTestSingleDispatch.test_double_wrapped_methods.<locals>.WithoutSingleDispatch.decorated_classmethod.__annotate__�s���
 �
 ��
 ��
 r"c��[U2!rrrds&&r�decorated_classmethod�cTestSingleDispatch.test_double_wrapped_methods.<locals>.WithoutSingleDispatch.decorated_classmethod�r�r"r)r,r-r.r/rY�
contextlib�contextmanagerr&r,r0r<�r>rs@�r�WithoutSingleDispatchr!�sA����
�
�
&�
&�
�'��
�,�
�
 ��,�
 r"r1c��:`�\sQsQsn\O
\\OU1QkQk222s	\O
Y\U1QkQk222s
QsUsP!)�JTestSingleDispatch.test_double_wrapped_methods.<locals>.WithSingleDispatchi�c�(:�U]6�cPgQRZQRZ-!r�r�)r6r>s"�rrj�kTestSingleDispatch.test_double_wrapped_methods.<locals>.WithSingleDispatch.cls_context_manager.__annotate__�s���
�
�c�
�c�
r"c3�: �[U2w�Q!h9h3h)r�r%rrds&&rr&�^TestSingleDispatch.test_double_wrapped_methods.<locals>.WithSingleDispatch.cls_context_manager�s���
��c�(�N�����r(c�(:�U]6�cPgQRZQRZ-!r�r�)r6r>s"�rrj�mTestSingleDispatch.test_double_wrapped_methods.<locals>.WithSingleDispatch.decorated_classmethod.__annotate__�s���
 �
 ��
 ��
 r"c��[U2!r�rrds&&rr,�`TestSingleDispatch.test_double_wrapped_methods.<locals>.WithSingleDispatch.decorated_classmethod�s
��
�3�x�r"r)
r,r-r.r/rrrYr.r/r&r,r0r<r0s@�r�WithSingleDispatchr3�s]����
�
+�
+�
�
�
&�
&�
�'��,�
��
+�
+�
+�
�
 ��,�,�
 r"r<�5r&r,)r-r�r�r�)r&r,)r&rgr,r"r�r,r�rr�rr�)	r8r1r<r��without_single_dispatch_foo�single_dispatch_foo�method_namerXrs	&       @r�test_double_wrapped_methods�.TestSingleDispatch.test_double_wrapped_methods�s����	�
	 �
	 �	 �	 �*#�
6�
6�q�
9�
9�S�*-�'�:� �
3�
3�A�
6�
6�#�"%��7�	
���4�6I�J����,�c�2����!�7�7��:��4�4�Q�7�	
�
	
���+�A�A�!�D�c�J�L�K����[��1�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�
9��7�
6�
6��2�1�1��")�(�(�sN�K(�K<�=A=L	�,L%	�	/L%	�(K9	�1K9	�<L
	�L
	�L"
�L"
�%L7
�.L7
c��QoQo[OQ2oUO[29^tt^2oUO	]*2Q2oPPP2UO[
WO2UQ*2UO[
UO2U2UO[29^tt^2oUOQ2oPPP2UO[
UO2UQ*2UO[
UO2U2UO[29^tt^2oUOQQk2oPPP2UO[
UO2Q	2UO[
UO2Q
2UO[29^tt^2oUOQQk2oPPP2UO[
UO2Q	2UO[
UO2Q
2P!)%fhCK�9h)%fhCK�9h)%fhCK
9h)%fhK�9h)z(Invalid first argument to `register()`: zS. Use either `@register(some_class)` or plain `@register` on an annotated function.c��Q!r�rr�s&rr��8TestSingleDispatch.test_invalid_registrations.<locals>.i
r�r"c��Q!)zI annotated with a non-typerr�s&rr��8TestSingleDispatch.test_invalid_registrations.<locals>._
s��4r"�42c��Q!)zI forgot to annotaterr�s&rr�rG

s��-r"zB<function TestSingleDispatch.test_invalid_registrations.<locals>._c�P�U]6�cPgQ[O[*-!r�)rEr1r�)r6s"rrj�ETestSingleDispatch.test_invalid_registrations.<locals>._.__annotate__
s��
?�
?�v���s�+�
?r"c��Q!)z%I annotated with a generic collectionrr�s&rr�rG
s��?r"zInvalid annotation for 'arg'.z$typing.Iterable[str] is not a class.c��U]6�cPgQ[O[[O[*1*-!r�)rE�Unionr�r1r�)r6s"rrjrK#
s*��
'�
'�v�|�|�C�����)=�$=�>�
'r"c��Q!)z
Invalid Unionrr�s&rr�rG"
s��&r"z9int | typing.Iterable[str] not all arguments are classes.)	rr�rsrtr�r�r�r��assertEndsWith)r8�
msg_prefix�
msg_suffixr��excr�s&     r�test_invalid_registrations�-TestSingleDispatch.test_invalid_registrations�s	��?�
�
"�	�
�	!�	!�	�
"�	�
�
�
�y�
)�
)�S�
�Z�Z��^�
5��
5�*�	
���c�#�-�-�0�*�t�2C�D����C��
�
�.�
�;�
�
�
�y�
)�
)�S�
�Z�Z�
.��
.�*�	
���c�#�-�-�0�*�P�3Q�	
�	
���C��
�
�.�
�;�
�
�
�y�
)�
)�S�
�Z�Z�
?��
?�*�	
���c�#�-�-�0�+�	
�	
���C��
�
�.�2�	
��
�
�y�
)�
)�S�
�Z�Z�
'��
'�*�	
���c�#�-�-�0�+�	
�	
���C��
�
�.�G�	
�K*�
)�
)��*�
)�
)��*�
)�
)��*�
)�sG�H?�I�I'�I;�?I	�I	�I$	�I$	�'I8	�0I8	�;J	�J	c�F�[OQ2oQoUO[U29^tt^2U2PPP2QoUO[U29^tt^2U]Q5PPP2P!)%fhKD9h)%fhP!9h)c��P!rrr�s*,rr��>TestSingleDispatch.test_invalid_positional_argument.<locals>.f-
ror"z)f requires at least 1 positional argumentr{)rr�r�rt)r8r��msgs&  r� test_invalid_positional_argument�3TestSingleDispatch.test_invalid_positional_argument,
sx��	�	!�	!�	�
"�	�9��
�
#�
#�I�s�
3�
3�
�C�4�9��
�
#�
#�I�s�
3�
3�
��F�4�
3�4�
3��4�
3�
3�s#�A<�(
B�<B	�B	�B 	�B 	c�f�QQ2oQoUO[U29^tt^2U2O2PPP2QoUO[U29^tt^2U2O]Q5PPP2P!)%fhKR9h)%fhP!9h)c�F`�\sQsQsn\O
Q2sQsUsP!)�STestSingleDispatch.test_invalid_positional_argument_singledispatchmethod.<locals>.Ai8
c��P!rr)r8rr	s&*,rrb�UTestSingleDispatch.test_invalid_positional_argument_singledispatchmethod.<locals>.A.t9
r@r"rrZr=s@rr]r^8
s����
�
+�
+�
�,�
r"r]z)t requires at least 1 positional argumentr{)r�rtrb)r8r]rYs&  r�5test_invalid_positional_argument_singledispatchmethod�HTestSingleDispatch.test_invalid_positional_argument_singledispatchmethod7
sz��	�	�:��
�
#�
#�I�s�
3�
3�
�C�E�E�G�4�9��
�
#�
#�I�s�
3�
3�
�C�E�E�A�E�J�4�
3�4�
3��4�
3�
3�s#�B�*B�B	�B	�B0	�(B0	c��[OQ2oUOQQk2oUOQQk2oUOUPQ2Q2UOU]Q2Q2UOUQQ2Q	2P!)
c��Q!r�r�r��extras"&rr��;TestSingleDispatch.test_positional_only_argument.<locals>.fD
r�r"c�2�U]6�cPgQ[Q[-!�r^r�rfr�)r6s"rrj�LTestSingleDispatch.test_positional_only_argument.<locals>.f_int.__annotate__H
���	�	�s�	�c�	r"c��Q!r�rres"&r�f_int�?TestSingleDispatch.test_positional_only_argument.<locals>.f_intG
���r"c�2�U]6�cPgQ[Q[-!ri)r�r�)r6s"rrj�LTestSingleDispatch.test_positional_only_argument.<locals>.f_str.__annotate__K
rkr"c��Q!rrres"&r�f_str�?TestSingleDispatch.test_positional_only_argument.<locals>.f_strJ
ror"rfr�r�r9r�r�)r8r�rmrss&   r�test_positional_only_argument�0TestSingleDispatch.test_positional_only_argumentC
s���	�	!�	!�	�
"�	�	
���	�
�	�	
���	�
�	�	
����4��)�6�2�����1�g���.�����3���%�0r"c�x�[OQ2oUOQQk2oUOQQk2oUOU,2Q2UOUP2Q2UOUQ2Q2UOU]2Q2UOUQ	2Q2P!)
c��Q!��defaultrr�s&rr��(TestSingleDispatch.test_union.<locals>.fS
r�r"c�\�U]6�cPgQ[O[[1*-!r��rErNr��bytes)r6s"rrj�5TestSingleDispatch.test_union.<locals>._.__annotate__X
� ��	"�	"�6�<�<��U�
�+�	"r"c��Q!��typing.Unionrr�s&rr��(TestSingleDispatch.test_union.<locals>._W
���!r"c�<�U]6�cPgQ[[*-!r�)r�r�)r6s"rrjr\
s��	%�	%�3��;�	%r"c��Q!��types.UnionTyperr�s&rr�r�[
���$r"rzr�r"r�rr��r8r�r�s&  r�
test_union�TestSingleDispatch.test_unionR
s���	�	!�	!�	�
"�	�
���	"�
�	"�
���	%�
�	%�	
����2��	�*�����2���/�����3���0�����1��0�1�����3��!2�3r"c�H�[OQ2oUOQQk2oUOQQk2oUOU,2Q2UOUP2Q2UOUQ2Q2UOU]2Q2P!)	c��Q!ryrr�s&rr��1TestSingleDispatch.test_union_conflict.<locals>.ff
r�r"c�\�U]6�cPgQ[O[[1*-!r�r})r6s"rrj�>TestSingleDispatch.test_union_conflict.<locals>._.__annotate__k
r�r"c��Q!r�rr�s&rr��1TestSingleDispatch.test_union_conflict.<locals>._j
r�r"c�<�U]6�cPgQ[[*-!r�r�)r6s"rrjr�o
s��	%�	%�3��9�	%r"c��Q!r�rr�s&rr�r�n
r�r"rzr�r"r�r�r�s&  r�test_union_conflict�&TestSingleDispatch.test_union_conflicte
s���	�	!�	!�	�
"�	�
���	"�
�	"�
���	%�
�	%�	
����2��	�*�����2�� 1�2�����3���0�����1��0�1r"c���[OQ2oUOQQk2oUOU]2Q2UOUP2Q2UOUP2Q2[OQ2oUOQQk2oUOUP2Q2UOU]2Q2UOUP2Q2P!)	c��Q!ryrr�s&r�typing_union�8TestSingleDispatch.test_union_None.<locals>.typing_unionx
r�r"c�T�U]6�cPgQ[O[P1*-!r�)rErNr�)r6s"rrj�:TestSingleDispatch.test_union_None.<locals>._.__annotate__}
s ��	"�	"�6�<�<��T�	�*�	"r"c��Q!r�rr�s&rr��-TestSingleDispatch.test_union_None.<locals>._|
r�r"rzr�c��Q!ryrr�s&r�types_union�7TestSingleDispatch.test_union_None.<locals>.types_union�
r�r"c�4�U]6�cPgQ[P*-!r�r�)r6s"rrjr��
s��	%�	%�3��:�	%r"c��Q!r�rr�s&rr�r��
r�r"r�r�)r8r�r�r�s&   r�test_union_None�"TestSingleDispatch.test_union_Nonew
s���	�	!�	!�	�
"�	�
�	�	�	"�
�	"�	
����a��)�4�����b�)�>�:�����d�+�^�<�	�	!�	!�	�
"�	�
�	�	�	%�
�	%�	
����R��)�4�����Q��):�;�����T�*�,=�>r"c�0�[OQ2oUO[Q29^tt^2UO	[
[*Q2PPP2UO[Q29^tt^2UO	[O[*Q2PPP2UO[Q29^tt^2UO	[
[*[*Q2PPP2UO[Q29^tt^2UO	[O[*[*Q2PPP2UOU],2Q2UOUQ,2Q2UOUP2Q2UOUQ2Q2P!)%fhCKz9h)%fhCK;9h)%fhK�9h)%fhK�9h)	c��Q!ryrr�s&rr��8TestSingleDispatch.test_register_genericalias.<locals>.f�
r�r"�Invalid first argument to c��Q!�ztypes.GenericAliasrr�s&rr[�?TestSingleDispatch.test_register_genericalias.<locals>.<lambda>�
s��.Br"c��Q!�ztyping.GenericAliasrr�s&rr[r��
s��5Jr"c��Q!)z$types.UnionTypes(types.GenericAlias)rr�s&rr[r��
s��4Zr"c��Q!�z!typing.Union[typing.GenericAlias]rr�s&rr[r��
s��?br"rzrr")
rr�r�rtr�r6r�rE�Listr�r�r~rgr�s& r�test_register_genericalias�-TestSingleDispatch.test_register_genericalias�
s^��	�	!�	!�	�
"�	��
#�
#�I�/K�
L�
L�
�J�J�t�C�y�"B�C�M�
�
#�
#�I�/K�
L�
L�
�J�J�v�{�{�3�'�)J�K�M�
�
#�
#�I�/K�
L�
L�
�J�J�t�C�y�3��(Z�[�M�
�
#�
#�I�/K�
L�
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��
L�
L�sG�#G
�?-G�.G2�&8H�
G	�G	�G/	�'G/	�2H	�;H	�H	�H	c�\�[OQ2oUO[Q29^tt^2UO	[
[*2PPP2UO[Q29^tt^2UO	[O[*2PPP2UO[Q29^tt^2UO	[
[*[*2PPP2UO[Q29^tt^2UO	[O[*[*2PPP2P!)%fhCK9h)%fhK�9h)%fhK�9h)%fhP!9h)c��Q!ryrr�s&rr��BTestSingleDispatch.test_register_genericalias_decorator.<locals>.f�
r�r"r�)
rr�r�rtr�r6r�rEr�r�r�s& r�$test_register_genericalias_decorator�7TestSingleDispatch.test_register_genericalias_decorator�
s���	�	!�	!�	�
"�	��
#�
#�I�/K�
L�
L�
�J�J�t�C�y�!�M�
�
#�
#�I�/K�
L�
L�
�J�J�v�{�{�3�'�(�M�
�
#�
#�I�/K�
L�
L�
�J�J�t�C�y�3��'�M�
�
#�
#�I�/K�
L�
L�
�J�J�v�{�{�3�'�#�-�.�M�
L�
M�
L�
L��
L�
L��
L�
L��
L�
L�
L�sG�!E �=+E4�,F� 6F� E1	�)E1	�4F	�=F	�F	�F	�F+	�#F+	c�t�[OQ2oUO[Q29^tt^2UOQQk2oPPP2UO[Q29^tt^2UOQQk2oPPP2UO[Q29^tt^2UOQQk2oPPP2UO[Q29^tt^2UOQQ	k2oPPP2UOU],2Q
2UOUQ,2Q
2UOUP2Q
2UOUQ2Q
2P!)%fhCK)9h)%fhCK9h)%fhK�9h)%fhK�9h)
c��Q!ryrr�s&rr��CTestSingleDispatch.test_register_genericalias_annotation.<locals>.f�
r�r"zInvalid annotation for 'arg'c�<�U]6�cPgQ[[*-!r�)r6r�)r6s"rrj�PTestSingleDispatch.test_register_genericalias_annotation.<locals>._.__annotate__�
s��
,�
,�t�C�y�
,r"c��Q!r�rr�s&rr��CTestSingleDispatch.test_register_genericalias_annotation.<locals>._�
s��+r"c�P�U]6�cPgQ[O[*-!r�)rEr�r�)r6s"rrjr��
s��
-�
-�v�{�{�5�)�
-r"c��Q!r�rr�s&rr�r��
s��,r"c�R�U]6�cPgQ[[*[*-!r�)r6r�r�)r6s"rrjr��
s��
=�
=�t�C�y�3��
=r"c��Q!)z#types.UnionType(types.GenericAlias)rr�s&rr�r��
s��<r"c�f�U]6�cPgQ[O[*[*-!r�)rEr�r�r~)r6s"rrjr��
s!��
;�
;�v�{�{�5�)�E�1�
;r"c��Q!r�rr�s&rr�r��
s��:r"rzrr")rr�r�rtr�rgr�s&  r�%test_register_genericalias_annotation�8TestSingleDispatch.test_register_genericalias_annotation�
sf��	�	!�	!�	�
"�	��
#�
#�I�/M�
N�
N�
�Z�Z�
,��
,�O��
#�
#�I�/M�
N�
N�
�Z�Z�
-��
-�O��
#�
#�I�/M�
N�
N�
�Z�Z�
=��
=�O��
#�
#�I�/M�
N�
N�
�Z�Z�
;��
;�O�
	
����A�3���+�����C�5��9�-�����2��	�*�����3���+�)O�
N�
N��O�
N�
N��O�
N��O�
N�sG�E,�2F�.F�*F'�,E=	�5E=	�F	�	F	�F$	�F$	�'F7	�0F7	c���[OQQk2oUOQQQkk2oUOU]2Q2UOUP2Q2P!)Nc��Q!ryr�r��arg2s&&rr��4TestSingleDispatch.test_forward_reference.<locals>.f�
r�r"c�2�U]6�cPgQ[Q[-!)r^r�r�)r�r�)r6s"rrj�ATestSingleDispatch.test_forward_reference.<locals>._.__annotate__�
s��	'�	'�3�	'�i�	'r"c��Q!��forward referencerr�s&&rr��4TestSingleDispatch.test_forward_reference.<locals>._�
s��&r"rzr�rr�r�s&  r�test_forward_reference�)TestSingleDispatch.test_forward_reference�
s]��	�	!�	!�	�
"�	�
���	'�
�	'�	
����1��y�)�����2�� 3�4r"c���[OQ2oUO[Q29^tt^2UOQQk2oPPP2P!)%fhP!9h)c��Q!ryrr�s&rr��?TestSingleDispatch.test_unresolved_forward_reference.<locals>.f�
r�r"z"is an unresolved forward referencec�&�U]6�cPgQ[-!r�)r�)r6s"rrj�LTestSingleDispatch.test_unresolved_forward_reference.<locals>._.__annotate__�
s��
+�
+�y�
+r"c��Q!r�rr�s&rr��?TestSingleDispatch.test_unresolved_forward_reference.<locals>._�
s��*r")rr�r�rtr�r�s&  r�!test_unresolved_forward_reference�4TestSingleDispatch.test_unresolved_forward_reference�
sV��	�	!�	!�	�
"�	��
#�
#�I�/S�
T�
T�
�Z�Z�
+��
+�U�
T�
T�
T�s�A�A'	�A'	c��QQ2oU2oU2oUOUO]2U2UOUO]2U2P!)c�R`�\sQsQsnQsQs\OQ2sQs	Us
P!)�9TestSingleDispatch.test_method_equal_instances.<locals>.Ai�
c��P	!r
rr7s&&rr��@TestSingleDispatch.test_method_equal_instances.<locals>.A.__eq__�
rrr"c��]!r+rrJs&rr��BTestSingleDispatch.test_method_equal_instances.<locals>.A.__hash__�
rJr"c��U!rrrs&&rrb�;TestSingleDispatch.test_method_equal_instances.<locals>.A.t�
s���r"r�r,r-r.r/r�r�rrrbr0r<r=s@rr]r��
s'����
�
�
�
+�
+�
�,�
r"r])r�rb)r8r]rRrSs&   r�test_method_equal_instances�.TestSingleDispatch.test_method_equal_instances�
sH��	�	�
�C��
�C���
�
�a�c�c�!�f�a� ��
�
�a�c�c�!�f�a� r"c���QQ2oU2O]2[U2O2U2OU2O6HP!)c�R`�\sQsQsnQsQs\OQ2sQs	Us
P!)�2TestSingleDispatch.test_method_bad_hash.<locals>.Ai�
c��[gr��AssertionErrorr7s&&rr��9TestSingleDispatch.test_method_bad_hash.<locals>.A.__eq__�
���$�$r"c��[grr�rJs&rr��;TestSingleDispatch.test_method_bad_hash.<locals>.A.__hash__�
r�r"c��P!rrrs&&rrb�4TestSingleDispatch.test_method_bad_hash.<locals>.A.t�
r@r"rr�r=s@rr]r��
s'����
%�
%�
�
+�
+�
�,�
r"r])rbr�r�s& r�test_method_bad_hash�'TestSingleDispatch.test_method_bad_hash�
s;��	�	�	
����a���Q�S�U�U��	��������r"c�*�QQ2oU2oUO]2oUOU22=[OP	Q5%f[O2UOU22U2oUOo=[O2U]2oUOU22=[OP	Q5%f[O2UOU22P!)c�F`�\sQsQsn\O
Q2sQsUsP!)�<TestSingleDispatch.test_method_no_reference_loops.<locals>.Aic�0�[OU2!r)rFr�rs&&rrb�>TestSingleDispatch.test_method_no_reference_loops.<locals>.A.ts���{�{�4�(�(r"rrZr=s@rr]r�s����
�
+�
+�
)�,�
)r"r])�cpython)rbr�r�check_impl_detailr�r�)r8r]rRr:rbs&    r�test_method_no_reference_loops�1TestSingleDispatch.test_method_no_reference_loopss���	)�	)�

�C��
�C�C��F�����Q�S�!�
��(�(��6�6���� ����!�#��
�C��
�C�C��
�����
�a�D�����Q�S�!�
��(�(��6�6���� ����!�#�r"c���[OQQk2oUOQQk2oUO[	[
OU22Q2P!)c�2�U]6�cPgQ[Q[-!r�r�)r6s"rrj�=TestSingleDispatch.test_signatures.<locals>.func.__annotate__s��	�	�C�	�C�	r"c��[U2!rr�r0r�s&&rr$�0TestSingleDispatch.test_signatures.<locals>.func����t�9�r"c�>�U]6�cPgQ[Q[Q[-!�r^r0r�r��r�r~r�)r6s"rrj�:TestSingleDispatch.test_signatures.<locals>._.__annotate__ s!��	�	�C�	�e�	��	r"c��[U2!rrr	s&&rr��-TestSingleDispatch.test_signatures.<locals>._r
	r"�(item, arg: int) -> str)rr�r�rgr�rr�)r8r$r�s&  r�test_signatures�"TestSingleDispatch.test_signaturessU��	�	!�	!�	�
"�	�	
���	�
�	�	
����Y�4�4�T�:�;�2�	4r"c���QQ2oUO[[OUO22Q2UO[[OU2O22Q2UO[[OUO
22Q2UO[[OUO22Q2P!)c�j`�\sQsQsn\O
U1QkQk2s\OU1QkQk2s\O
\	U1QkQk22s
\O\	U1QkQ	k22s\O
\U1Q
kQk22s\O\U1QkQ
k22sQs
UsP!)�4TestSingleDispatch.test_method_signatures.<locals>.Ai'c�(:�U]6�cPgQRZQRZ-!r�r�)r6r>s"�rrj�FTestSingleDispatch.test_method_signatures.<locals>.A.func.__annotate__)s���
!�
!�c�
!�c�
!r"c��[U2!rrr/s&&&rr$�9TestSingleDispatch.test_method_signatures.<locals>.A.func(����4�y� r"c�.:�U]6�cPgQRZQRZQRZ-!r	r
	)r6r>s"�rrj�CTestSingleDispatch.test_method_signatures.<locals>.A._.__annotate__,s"���
!�
!�c�
!��
!�#�
!r"c��[U2!rrr/s&&&rr��6TestSingleDispatch.test_method_signatures.<locals>.A._+r	r"c�(:�U]6�cPgQRZQRZ-!r�r�)r6r>s"�rrj�JTestSingleDispatch.test_method_signatures.<locals>.A.cls_func.__annotate__1s���
 �
 ��
 ��
 r"c��[U2!rrrBs&&&rr��=TestSingleDispatch.test_method_signatures.<locals>.A.cls_func/r�r"c�.:�U]6�cPgQRZQRZQRZ-!r	r
	)r6r>s"�rrjr	5s"���
!�
!�S�
!�u�
!��
!r"c��[U2!rrrBs&&&rr�r	3����4�y� r"c�(:�U]6�cPgQRZQRZ-!r�r�)r6r>s"�rrj�MTestSingleDispatch.test_method_signatures.<locals>.A.static_func.__annotate__:s���
 �
 �s�
 �s�
 r"c��[U2!rrr	s&&rr��@TestSingleDispatch.test_method_signatures.<locals>.A.static_func8r�r"c�.:�U]6�cPgQRZQRZQRZ-!r	r
	)r6r>s"�rrjr	>s"���
!�
!��
!�%�
!�C�
!r"c��[U2!rrr	s&&rr�r	<r&	r"r)r,r-r.r/rrr$r�r�rYr�r[r�r0r<r=s@rr]r	's�����
�
+�
+�
!�,�
!�
�]�]�
!��
!��
+�
+�
�
 ��,�
 �
�]�]�
�
!���
!��
+�
+�
�
 ��,�
 �
�]�]�
�
!���
!r"r]z(self, item, arg: int) -> strz(cls, item, arg: int) -> strr	)rgr�rr�r$r�r�r�s& 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�	4r"c�V`�QQ2nU1QkQ2oU2oUOUO]2Q2UOUOQ2Q2UOUO]2Q2UOUOQ2Q2UOUO]2Q2UOUOQ2Q2UOUO]2Q2UOUOQ2Q2P!)c�.`�\sQsQsnQsQsQsUsP!)�?TestSingleDispatch.test_method_non_descriptor.<locals>.CallableiKc��VmP!rr�r�s&&rrn�HTestSingleDispatch.test_method_non_descriptor.<locals>.Callable.__init__Lr�r"c� �UOU1!rr�rs&&rr��HTestSingleDispatch.test_method_non_descriptor.<locals>.Callable.__call__Ns���z�z�3��&r"r�)r,r-r.r/rnr�r0r<r=s@rr7r1	Ks����
#�
'�
'r"r7c�>:`�\sQsQsn\O
YQ22s\O\YQ22\O
Q2s	\	O\YQ22\O
YQ22s
\
O\2Q2sQsUs
P!)�8TestSingleDispatch.test_method_non_descriptor.<locals>.AiQ�general�specialc��QU1!)r8	rrs&&rr��:TestSingleDispatch.test_method_non_descriptor.<locals>.A.uU��� �#�~�%r"c��QU1!)r9	rrs&&rr��:TestSingleDispatch.test_method_non_descriptor.<locals>.A._[r<	r"r)r,r-r.r/rrrbr�r�r�rWr�r0r<)r>r7s@�rr]r7	Qs������.�.�x�	�/B�C�A�
�J�J�s�H�Y�/�0�
�
+�
+�
&�,�
&�
�J�J�s�H�Y�/�0��.�.�x�	�/B�C�A�
�Z�Z��_�
&��
&r"r]�@)r9	r)r8	r?	)rgrbr�rW)r8r]rRr7s&  @r�test_method_non_descriptor�-TestSingleDispatch.test_method_non_descriptorJs����	'�	'�	&�	&�
�C��������Q���0�������S��#3�4�������Q���0�������S��#3�4�������Q���0�������S��#3�4�������Q���0�������S��#3�4r"r)9r,r-r.r/r�r�rrr��
skipUnlessrrrrr:rcryr�r�r�rrr(r<rIrSr\rlrzr�r�r�r�r�r�rrArTrZrarur�r�r�r�r�r�r�r�r�r�r	r	r-	r@	r0r<r=s@rr�r�	s*����	-�&�.
;�7�����"5�6����:��7�:�"47�l\(�|;�.+�$},�@d)�L*�6)�4(�((�/�&(�0�/�,/�.�+�"(�(/�,)B�V1=�f;:�zf
�P0
�d	�
�
1�4�&2�$?�2,�&/�,�6
5�+�!� 
��4	4�"4�H5�5r"r�c�P`�\sQsQsn]sQs\OQ2sQs	Us
P!)�CachedCostItemijc�:�[O2UmP!r)r��RLock�lockrJs&rrn�CachedCostItem.__init__ms�� �&�&�(��	r"c���UO9^tt^2U9O]*
tmPPP2UO!)%fhSO!9h�zThe cost of the item.)rG	�_costrJs&r�cost�CachedCostItem.costps;���Y�Y�Y��J�J�!�O�J���z�z���Y��z�z��s�A�A	�
A	)rG	)r,r-r.r/rK	rnr��cached_propertyrL	r0r<r=s@rrD	rD	js)����
�E�)��!�!��"�r"rD	c�N`�\sQsQsn]sQs\O\2sQs	Us
P!)�OptionallyCachedCostItemixc�N�U9O]*
tmUO!rJ	�rK	rJs&r�get_cost�!OptionallyCachedCostItem.get_cost{s���
�
�a��
��z�z�r"r)r,r-r.r/rK	rS	r�rN	�cached_costr0r<r=s@rrP	rP	xs!����
�E��
�.�.�x�8�Kr"rP	c�P`�\sQsQsnQsQs\OQ2sQs	Us
P!)�CachedCostItemWithSlotsi�rK	c��]UmP!r+rR	rJs&rrn� CachedCostItemWithSlots.__init__�s	����
r"c��[Q2g)z!never called, slots not supportedr�rJs&rrL	�CachedCostItemWithSlots.cost�s���>�?�?r"rR	)r,r-r.r/r8rnr�rN	rL	r0r<r=s@rrW	rW	�s+�����I���!�!�@�"�@r"rW	c�d`�\sQsQsnQsQsQsQsQsQs	Qs
Q	sQ
sQs
QsQ
sUsP!)�TestCachedPropertyi�c��[2oUOUO]2UOUO]2P!r,)rD	rgrL	�r8r0s& r�test_cached�TestCachedProperty.test_cached�s2�����������A�&�������A�&r"c��[2oUOUO2]2UOUO]2UOUO2]2UOUO]2P!r,)rP	rgrS	rU	r_	s& r�1test_cached_attribute_name_differs_from_func_name�DTestCachedProperty.test_cached_attribute_name_differs_from_func_name�sb��'�)���������!�,�����)�)�1�-��������!�,�����)�)�1�-r"c��[2oUO[Q29^tt^2UOPPP2P!)%fhP!9h)zWNo '__dict__' attribute on 'CachedCostItemWithSlots' instance to cache 'cost' property.)rW	r�rtrL	r_	s& r�test_object_with_slots�)TestCachedProperty.test_object_with_slots�sA��&�(��
�
#�
#��i�
�
�
�I�I�	
�
�
�
�s�
A�A	�
A	c���QQ[2oQQUQ5oUO[Q29^tt^2UOPPP2P!)%fhP!9h)c�F`�\sQsQsn\O
Q2sQsUsP!)�6TestCachedProperty.test_immutable_dict.<locals>.MyMetai�c��P	!r
rrJs&r�prop�;TestCachedProperty.test_immutable_dict.<locals>.MyMeta.prop�s��r"r)	r,r-r.r/r�rN	rl	r0r<r=s@r�MyMetarj	�s����
�
)�
)�
�*�
r"rn	c��\sQsQsQsP!)�7TestCachedProperty.test_immutable_dict.<locals>.MyClassi�rr+rr"r�MyClassrp	�rUr"rq	rdzkThe '__dict__' attribute on 'MyMeta' instance does not support item assignment for caching 'prop' property.)r�r�rtrl	)r8rn	rq	s&  r�test_immutable_dict�&TestCachedProperty.test_immutable_dict�sS��	�T�	�
	��	��
#�
#��y�
�
�
�L�L�	
�
�
�
�s�
A�A#	�A#	c��UO[29^tt^2oQQ2oPPP2UO[WO2[[Q222P!)%fhKI9h)zDDisallow this case because decorated function a would not be cached.c�J`�\sQsQsn\O
Q2s\sQsUs	P!)�KTestCachedProperty.test_reuse_different_names.<locals>.ReusedCachedPropertyi�c��P!rrrJs&rrR�MTestCachedProperty.test_reuse_different_names.<locals>.ReusedCachedProperty.a�s��r"r)
r,r-r.r/r�rN	rRrSr0r<r=s@r�ReusedCachedPropertyrv	�s$�����-�-��.���r"ry	zLCannot assign the same cached_property to two different names ('a' and 'b').)rsrtrgr�r�)r8�ctxry	s&  r�test_reuse_different_names�-TestCachedProperty.test_reuse_different_names�sW��
�
�
�y�
)�
)�S�
�
�*�	
�����
�
���	�h�i�j�	
�*�
)�s�A+�+A;	�4A;	c�:``�]n[OU1Qk2nU1QkQ2oU1QkQ2oU2oU2oUOUO]2UOUO]2UOUO]2P!)zIReusing a cached_property on different classes under the same name is OK.c�:�R]*
nR!r+r)�_self�counters&�r�_cp�4TestCachedProperty.test_reuse_same_name.<locals>._cp�s���
�q�L�G��Nr"c� :�\sQsQsYsQsP!)�2TestCachedProperty.test_reuse_same_name.<locals>.Ai�r�r,r-r.r/�cpr0�r�	s�rr]r�	������Br"r]c� :�\sQsQsYsQsP!)�2TestCachedProperty.test_reuse_same_name.<locals>.Bi�rr�	r�	s�rr�r�	�r�	r"r�)r�rN	rgr�	)r8r]r�rRrSr�	r�	s&    @@r�test_reuse_same_name�'TestCachedProperty.test_reuse_same_name�s������	�	%�	%�	�
&�	�
	�	�	�	�
�C��
�C��������q�!�������q�!�������q�!r"c���[OQ2oQQ2oVmUO[Q29^tt^2U2OPPP2P!)%fhP!9h)c��P!rrr�s&rr[�=TestCachedProperty.test_set_name_not_called.<locals>.<lambda>�s��Dr"c��\sQsQsQsP!)�8TestCachedProperty.test_set_name_not_called.<locals>.Fooi�rr+rr"r�Foor�	�rUr"r�	zGCannot use cached_property instance without calling __set_name__ on it.)r�rN	r�	r�rt)r8r�	r�	s&  r�test_set_name_not_called�+TestCachedProperty.test_set_name_not_called�s\��
�
)�
)�.�
9��	�	���
�
#�
#��Y�
�
�
�E�H�H�	
�
�
�
�s�A"�"A3	�+A3	c�d�UO[O[O2P!r)�assertIsInstancerD	rL	r�rN	rJs&r�test_access_from_class�)TestCachedProperty.test_access_from_class�s�����n�1�1�<�3O�3O�Pr"c��SO[OO[O
%c	Q2P!P2P!rJ	)rgrD	rL	r�rr�rJs&r�test_doc�TestCachedProperty.test_doc�s9������,�,�4�4�$�7�7�7�2�	&� $�	&r"c�x�UO[OO[O2P!r)rgrD	rL	r-rJs&r�test_module�TestCachedProperty.test_module�s$������,�,�7�7��9R�9R�Sr"c��`�QQ[O2nU1QkQ2oU]2oUOUO]2QUmUOUO]2P!)z4Caching still works for a subclass defining __set__.c�(`�\sQsQsnQsQsUsP!)�OTestCachedProperty.test_subclass_with___set__.<locals>.readonly_cached_propertyi�c��[Q2g)zread only property)r�)r8rr�s&&&r�__set__�WTestCachedProperty.test_subclass_with___set__.<locals>.readonly_cached_property.__set__�s��$�%9�:�:r"r)r,r-r.r/r�	r0r<r=s@r�readonly_cached_propertyr�	�s����
;�
;r"r�	c�<:`�\sQsQsnQsYQ2sQsUsP!)�;TestCachedProperty.test_subclass_with___set__.<locals>.Testi�c��VmP!r��_prop)r8rl	s&&rrn�DTestCachedProperty.test_subclass_with___set__.<locals>.Test.__init__�s��!�
r"c��UO!rr�	rJs&rrl	�@TestCachedProperty.test_subclass_with___set__.<locals>.Test.prop�s���z�z�!r"r�	)r,r-r.r/rnrl	r0r<)r>r�	s@�rrr�	�s����
"�&�
"�&�
"r"rr�)r�rN	rgrl	r�	)r8rrbr�	s&  @r�test_subclass_with___set__�-TestCachedProperty.test_subclass_with___set__�sY���	;�|�'C�'C�	;�	"�	"�
��G���������#�����������#r"r)r,r-r.r/r`	rc	rf	rr	r{	r�	r�	r�	r�	r�	r�	r0r<r=s@rr]	r]	�sC����'�
.��
�

�"�.�Q�&�T�$�$r"r]	�__main__)WrArHrrr�r��collections.abcr�	itertoolsrr�randomrr-rr4rr9rQrEr��
unittest.mockrFr�rr.�inspectr�test.supportr	r
rrr
r�import_fresh_moduler�r�rr/rr!r(r8r*r3rhr@�TestCaserBrNrB	r�r�rdr�r�r�r�r�rYr�r�r4r6rBr�r�r�r�rMrrr�r�r�r�r�r�r�r�r�rD	rP	rW	r]	r,�mainrr"r�<module>r�	s	��
�1�����"�
��	�
����
����	����"�&�)�%�*���0�0��:F��I���/�/��7C�n�F���
+�
+�I�j�\�
J�����,��,��
@�	�e�	�(�u�(�	�T�	�
�X�&�&�
�Y+�Y+�v
���[�"D�E�8#�;�� 1� 1�8#�F�8#�v#�K��!2�!2�#�
�
�;�.�.�
�	��,�,�	�
���[�"D�E�$�<�$�F�$�
#�M�
#� U-��)�)�U-�pMD��)�)�MD�`;9�!�;9�|c@�c@�L
���[�"D�E�$�*�h�/�/�$�F�$�
Q�:�x�0�0�Q�Z,�Z,�|
���[�"D�E�	
�L�(�"3�"3�	
�F�	
�7�\�8�#4�#4�7�g ��)�)�g �T	���)�)��)�P�P�&�)�X�.�.��
���[�"D�E���H�-�-��F��
s	.�s	.�l������������������*�*��
���[�"D�E��w��)�)��F��e5��*�*�e5�P+��9�9�@�@�t$��*�*�t$�n�z���M�M�O�r"

Youez - 2016 - github.com/yon3zu
LinuXploit