Current File : //usr/local/apps/python3/lib/python3.11/test/__pycache__/test_set.cpython-311.opt-1.pyc
�

�Ke7���
�ddlZddlmZddlmZddlZddlZddlZddlZddl	Z	ddl
mZmZddl
Z
ddlZddlZddlZGd�de��Zd�ZGd�d	��ZGd
�d��ZGd�d
e��ZGd�d��ZGd�deej��ZGd�de��ZGd�de��ZGd�deej��ZGd�de��Z Gd�de��Z!Gd�de��Z"Gd�dej��Z#Gd �d!e��Z$Gd"�d#e#��Z%e��Z&Gd$�d%��Z'Gd&�d'e'ej��Z(Gd(�d)e'ej��Z)Gd*�d+e'ej��Z*Gd,�d-e'ej��Z+Gd.�d/e'ej��Z,Gd0�d1e'ej��Z-Gd2�d3e'ej��Z.d4�Z/d5�Z0Gd6�d7ej��Z1Gd8�d9ej��Z2Gd:�d;ej��Z3Gd<�d=ej��Z4Gd>�d?ej��Z5Gd@�dA��Z6GdB�dCe6ej��Z7GdD�dEe6ej��Z8GdF�dGe6ej��Z9GdH�dIe6ej��Z:GdJ�dKe6ej��Z;GdL�dM��Z<GdN�dOe<ej��Z=GdP�dQe<ej��Z>GdR�dSe<ej��Z?GdT�dUe<ej��Z@GdV�dWe<ej��ZAGdX�dYe<ej��ZBGdZ�d[��ZCGd\�d]eCej��ZDGd^�d_eCej��ZEGd`�daeCej��ZFGdb�dceCej��ZGGdd�deeCej��ZHGdf�dgej��ZIdh�ZJGdi�dj��ZKGdk�dl��ZLGdm�dn��ZMGdo�dp��ZNGdq�dr��ZOGds�dt��ZPGdu�dv��ZQddwlmRZRdx�ZSGdy�dzej��ZTGd{�d|��ZUGd}�d~��ZVGd�d�ej��ZWGd��d���ZXGd��d�eX��ZYGd��d�eYej��ZZGd��d�eYej��Z[Gd��d�eYej��Z\Gd��d�eYej��Z]Gd��d�eX��Z^Gd��d�e^ej��Z_Gd��d�e^ej��Z`Gd��d�e^ej��ZaGd��d�e^ej��ZbGd��d�e^ej��ZcGd��d�e^ej��Zdd��Zed��Zfd��Zgd��ZhGd��d�ej��Ziejd�krejk��dSdS)��N)�support)�warnings_helper)�	randrange�shufflec��eZdZdS)�PassThruN��__name__�
__module__�__qualname__���7/usr/local/apps/python3/lib/python3.11/test/test_set.pyrr��������Drrc#�K�t��N)rr
rr�check_pass_thrurs����
�Nrc��eZdZd�Zd�ZdS)�BadCmpc��dS�N�r
��selfs r�__hash__zBadCmp.__hash__����qrc��t�r)�RuntimeError�r�others  r�__eq__z
BadCmp.__eq__s���rN�r
rrrr!r
rrrrs2�������������rrc��eZdZdZd�ZdS)�ReprWrapperz*Used to test self-referential repr() callsc�*�t|j��Sr)�repr�valuers r�__repr__zReprWrapper.__repr__s���D�J���rN)r
rr�__doc__r(r
rrr$r$s)������0�0� � � � � rr$c��eZdZdZd�Zd�ZdS)�HashCountingIntzBint-like object that counts the number of times __hash__ is calledc��d|_dS�Nr��
hash_count)r�argss  r�__init__zHashCountingInt.__init__#s
������rc�V�|xjdz
c_t�|��Sr)r/�intrrs rrzHashCountingInt.__hash__%s$�����1�����|�|�D�!�!�!rN)r
rrr)r1rr
rrr+r+!s8������H�H����"�"�"�"�"rr+c��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZdS)�TestJointOpsc��dx|_}d|_d|_|�|��|_t
�|��|_dS)N�
simsalabim�
madagascar�4abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ)�word�	otherword�letters�thetype�s�dict�fromkeys�d)rr:s  r�setUpzTestJointOps.setUp,sF��'�'��	�D�%���M������d�#�#������t�$�$����rc��|�t|jgd��|�tt��jd���dS)N�r��a)�assertRaises�	TypeErrorr=�setr1rs r�test_new_or_initzTestJointOps.test_new_or_init3sE�����)�T�\�2�q�9�9�9����)�S�U�U�^�q��9�9�9�9�9rc� �t|j��}t|j��}|�||��|�t
|jt����|�t|jgg��dSr)	�sortedr>rA�assertEqualrGrr=rrH)r�actual�expecteds   r�test_uniquificationz TestJointOps.test_uniquification7st���������$�&�>�>�������*�*�*����(�D�L�/�2C�2C�D�D�D����)�T�\�B�4�8�8�8�8�8rc�z�|�t|j��t|j����dSr)rM�lenr>rArs r�test_lenzTestJointOps.test_len>s.������T�V���c�$�&�k�k�2�2�2�2�2rc�\�|jD]&}|�||jv||jv���'|�t
|jjgg��|�t|j��g��}|�	|�|j��|��dSr)
r<rMr>rArGrH�__contains__r=�	frozenset�assertIn)r�cr>s   r�
test_containszTestJointOps.test_containsAs�����	7�	7�A����Q�$�&�[�!�t�v�+�6�6�6�6����)�T�V�%8�2�$�?�?�?��L�L�)�D�L�1�1�2�3�3���
�
�d�l�l�4�<�0�0�!�4�4�4�4�4rc	��|j�|j��}|jD]*}|�||v||jvp||jv���+|�|j|�|j����|�t|��|j	��|�
t|jjt����|�
t|jjgg��ttt jt$t&t(fD�]�}|�|�d���|d����td����|�|�d���|d����td����|�|�d���|d����td����|�|�d���|d����td	����|�|�d���|d��|d
����td�������|���}|�|�tdg��|tdg����|�ddg����dS)
N�abcba�cdc�abcd�efgfe�abcefg�ccb�abc�ef�abcef�fgrrD)r>�unionr;r<rMrAr=r:�type�basetyperGrrrHrIrVr?r@�str�list�tuple)r�urX�C�xs     r�
test_unionzTestJointOps.test_unionHs����F�L�L���(�(����	I�	I�A����Q�!�V�Q�$�&�[�%G�A���4G�H�H�H�H���������d�i�!8�!8�9�9�9�����a���$�-�0�0�0����(�D�F�L�/�2C�2C�D�D�D����)�T�V�\�B�4�8�8�8��i����T�5�@�	[�	[�A����T�\�\�'�2�2�8�8���5���B�B�C��K�K�P�P�P����T�\�\�'�2�2�8�8���7���D�D�c�(�m�m�T�T�T����T�\�\�'�2�2�8�8���5���B�B�C��J�J�O�O�O����T�\�\�'�2�2�8�8���4���A�A�3�w�<�<�P�P�P����T�\�\�'�2�2�8�8���4���!�!�D�'�'�J�J�C�PX�M�M�Z�Z�Z�Z�
�L�L�N�N���������a�S���1�c�1�#�h�h�7�7����q�!�f�9M�9M�N�N�N�N�Nrc�p�|j�|j��}|�|jt	|j��z|��|�|jt|j��z|��	|j|jz|�d��dS#t$rYdSwxYw)Nz(s|t did not screen-out general iterables)r>rer;rMrIrV�failrH�r�is  r�test_orzTestJointOps.test_or[s����F�L�L���(�(�������#�d�n�"5�"5�5�q�9�9�9������)�D�N�";�";�;�Q�?�?�?�	B��F�T�^�#�#�
�I�I�@�A�A�A�A�A���	�	�	��D�D�	�����B'�'
B5�4B5c	��|j�|j��}|jD]*}|�||v||jvo||jv���+|�|j|�|j����|�t|��|j	��|�
t|jjt����tttjt"t$t&fD�]�}|�|�d���|d����td����|�|�d���|d����td����|�|�d���|d����td����|�|�d���|d����td����|�|�d���|d	��|d
����td�������|�d��}|���}|jt��kr2|�t)|��t)|����dS|�t)|��t)|����dS)Nr[r\�ccr^�r`�bcrb�cbcf�bag�b)r>�intersectionr;r<rMrAr=r:rfrgrGrrrIrVr?r@rhrirj�id�assertNotEqual)rrrrXrlr>�zs      r�test_intersectionzTestJointOps.test_intersectionfs����F�����/�/����	J�	J�A����Q�!�V�Q�$�&�[�%H�Q�$�.�5H�I�I�I�I���������d�i�!8�!8�9�9�9�����a���$�-�0�0�0����(�D�F�$7��9J�9J�K�K�K��i����T�5�@�	`�	`�A����T�\�\�'�2�2�?�?���%���I�I�3�t�9�9�U�U�U����T�\�\�'�2�2�?�?���'�
�
�K�K�S�QS�W�W�U�U�U����T�\�\�'�2�2�?�?���%���I�I�3�t�9�9�U�U�U����T�\�\�'�2�2�?�?���$���H�H�#�b�'�'�R�R�R����T�\�\�'�2�2�?�?���&�	�	�1�1�U�8�8�T�T�VY�Z]�V^�V^�_�_�_�_��L�L��!�!��
�N�N�����<�9�;�;�&�&����R��U�U�B�q�E�E�*�*�*�*�*�����1���r�!�u�u�-�-�-�-�-rc�`�d�}dD]�}|�|��}dD]�}tttjt
ttfD]_}||��}|�|��}|||��}|�	||��|�
|dup|du���`����dS)Nc�H�t|���|��S)z&Pure python equivalent of isdisjoint())rIr|)�s1�s2s  r�fz'TestJointOps.test_isdisjoint.<locals>.f{s���2�w�w�+�+�B�/�/�/�/r)
rwrF�abra�ababacr\rvr^r`rbTF)r=rIrVr?r@rhrirj�
isdisjointrM�
assertTrue)	rr��largr��rargrlr�rNrOs	         r�test_isdisjointzTestJointOps.test_isdisjointzs���	0�	0�	0�V�	G�	G�D����d�#�#�B�Y�
G�
G���i����T�5�H�G�G�A���4���B��]�]�2�.�.�F� �q��R�y�y�H��$�$�V�X�6�6�6��O�O�F�d�N�$E�f��o�F�F�F�F�G�
G�	G�	Grc�p�|j�|j��}|�|jt	|j��z|��|�|jt|j��z|��	|j|jz|�d��dS#t$rYdSwxYw)Nz(s&t did not screen-out general iterables)r>r|r;rMrIrVrprHrqs  r�test_andzTestJointOps.test_and�s����F�����/�/�������#�d�n�"5�"5�5�q�9�9�9������)�D�N�";�";�;�Q�?�?�?�	B��F�T�^�#�#�
�I�I�@�A�A�A�A�A���	�	�	��D�D�	���rtc	�H�|j�|j��}|jD]*}|�||v||jvo||jv���+|�|j|�|j����|�t|��|j	��|�
t|jjt����|�
t|jjgg��ttt jt$t&t(fD�]�}|�|�d���|d����td����|�|�d���|d����td����|�|�d���|d����td����|�|�d���|d����td����|�|�d�����td����|�|�d���|d��|d	����td
�������dS)Nr[r\r�r^rar`rFrbr{rX)r>�
differencer;r<rMrAr=r:rfrgrGrrrHrIrVr?r@rhrirj�rrrrXrls    r�test_differencezTestJointOps.test_difference�s����F���d�n�-�-����	N�	N�A����Q�!�V�Q�$�&�[�%L�Q�d�n�5L�M�M�M�M���������d�i�!8�!8�9�9�9�����a���$�-�0�0�0����(�D�F�$5��7H�7H�I�I�I����)�T�V�%6���=�=�=��i����T�5�@�	Y�	Y�A����T�\�\�'�2�2�=�=�a�a��h�h�G�G��T���S�S�S����T�\�\�'�2�2�=�=�a�a��j�j�I�I�3�u�:�:�V�V�V����T�\�\�'�2�2�=�=�a�a��h�h�G�G��S���R�R�R����T�\�\�'�2�2�=�=�a�a��g�g�F�F��E�
�
�S�S�S����T�\�\�'�2�2�=�=�?�?��U���L�L�L����T�\�\�'�2�2�=�=�a�a��f�f�a�a��f�f�M�M�s�SV�x�x�X�X�X�X�
	Y�	Yrc�p�|j�|j��}|�|jt	|j��z
|��|�|jt|j��z
|��	|j|jz
|�d��dS#t$rYdSwxYw)Nz(s-t did not screen-out general iterables)r>r�r;rMrIrVrprHrqs  r�test_subzTestJointOps.test_sub�s����F���d�n�-�-�������#�d�n�"5�"5�5�q�9�9�9������)�D�N�";�";�;�Q�?�?�?�	B��F�T�^�#�#�
�I�I�@�A�A�A�A�A���	�	�	��D�D�	���rtc��|j�|j��}|jD]+}|�||v||jv||jvz���,|�|j|�|j����|�t|��|j	��|�
t|jjt����|�
t|jjgg��ttt jt$t&t(fD�]K}|�|�d���|d����td����|�|�d���|d����td����|�|�d���|d����td����|�|�d���|d����td	������MdS)
Nr[r\�abdr^r_r`rFrbrc)r>�symmetric_differencer;r<rMrAr=r:rfrgrGrrrHrIrVr?r@rhrirjr�s    r�test_symmetric_differencez&TestJointOps.test_symmetric_difference�s���F�'�'���7�7����	L�	L�A����Q�!�V�a�4�6�k�a�4�>�6I�%J�K�K�K�K���������d�i�!8�!8�9�9�9�����a���$�-�0�0�0����(�D�F�$?��AR�AR�S�S�S����)�T�V�%@�2�$�G�G�G��i����T�5�@�	`�	`�A����T�\�\�'�2�2�G�G���%���Q�Q�SV�W\�S]�S]�^�^�^����T�\�\�'�2�2�G�G���'�
�
�S�S�UX�Ya�Ub�Ub�c�c�c����T�\�\�'�2�2�G�G���%���Q�Q�SV�WZ�S[�S[�\�\�\����T�\�\�'�2�2�G�G���$���P�P�RU�V]�R^�R^�_�_�_�_�		`�	`rc�p�|j�|j��}|�|jt	|j��z|��|�|jt|j��z|��	|j|jz|�d��dS#t$rYdSwxYw)Nz(s^t did not screen-out general iterables)r>r�r;rMrIrVrprHrqs  r�test_xorzTestJointOps.test_xor�s����F�'�'���7�7�������#�d�n�"5�"5�5�q�9�9�9������)�D�N�";�";�;�Q�?�?�?�	B��F�T�^�#�#�
�I�I�@�A�A�A�A�A���	�	�	��D�D�	���rtc��|�|jt|j����|�|jt	|j����|�|j|jkd��|�|jt|j����|�|jt	|j����|�|j|jkd��dS�NFT)rMr>rIr:rVr~r;rs r�
test_equalityzTestJointOps.test_equality�s���������T�Y���0�0�0�������4�9�!5�!5�6�6�6������4�9�,�e�4�4�4����D�F�C���$7�$7�8�8�8����D�F�I�d�n�$=�$=�>�>�>������4�9�,�d�3�3�3�3�3rc��ttgd���}|�|��}|�t	|��d��dS)N)�abcdef�bcd�bdcb�fed�fedccba�)�maprVr=rMrR)r�tr>s   r�test_setOfFrozensetsz!TestJointOps.test_setOfFrozensets�sI���	�F�F�F�G�G���L�L��O�O������Q����#�#�#�#�#rc��t|jgd���\}}}|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�t	d���d����|�t	d���d����|�t	d���d����|�t	d���d����dS)N)r��abcde�defrFra�cbs)r�r=r��assertFalserI�issubset�
issuperset)r�p�q�rs    r�test_sub_and_superzTestJointOps.test_sub_and_super�s����d�l�$:�$:�$:�;�;���1�a�����A���������Q���������Q���������A���������Q���������Q���������a�� � � �����Q���������a�� � � �����C���)�)�%�0�0�1�1�1�����E�
�
�-�-�c�2�2�3�3�3�����S���*�*�5�1�1�2�2�2�����U���.�.�s�3�3�4�4�4�4�4rc��ttjdz��D�]5}t|j��t
tfvrdg|j_dg|j_tj	|j|��}tj
|��}|�|j||j�d|����t|j��t
tfvr�|�|jj|j��|�|jj|j��|�t|jd����|j`|j`��7dS)Nrrmr� != �y)�range�pickle�HIGHEST_PROTOCOLrfr>rIrVrmr�dumps�loadsrMr��hasattr)rrrr��dups    r�
test_picklingzTestJointOps.test_pickling�s���v�.��2�3�3�	'�	'�A��D�F�|�|�C��#3�3�3��5�����5������T�V�Q�'�'�A��,�q�/�/�C����T�V�S�������*D�E�E�E��D�F�|�|�C��#3�3�3�� � ����3�5�1�1�1�� � ����3�5�1�1�1�� � �����!5�!5�6�6�6��F�H�d�f�h��	'�	'rc���ttjdz��D�]F}t|j��}|�|j��}tj||��}tj|��}|�|tj
j��|�|�|��|��tj|��}	t|��}n#t$rY��wxYwtj||��}tj|��}|�|�|��||�|f��z
����HdSr)r�r�r��iterr>r=r�r��assertIsInstance�collectionsra�IteratorrM�next�
StopIteration)r�proto�itorg�datarA�it�drops       r�test_iterator_picklingz#TestJointOps.test_iterator_pickling�sA���6�2�Q�6�7�7�	M�	M�E����L�L�E��<�<���'�'�D���U�E�*�*�A���a���B�
�!�!�"�k�o�&>�?�?�?����T�\�\�"�-�-�t�4�4�4���a���B�
��B�x�x���� �
�
�
���
������R��'�'�A���a���B����T�\�\�"�-�-�t�d�l�l�D�7�6K�6K�/K�L�L�L�L�%	M�	Ms�C*�*
C7�6C7c���G�fd�d����d��}|�|g��}tj|��}|�t	|��t	|����|D]}|}�|�t	|��t	|����|�|jdz|j��dS)Nc�(��eZdZd�Zd�Zd�fd�	ZdS)�*TestJointOps.test_deepcopy.<locals>.Tracerc��||_dSr�r')rr's  rr1z3TestJointOps.test_deepcopy.<locals>.Tracer.__init__	s
��"��
�
�
rc��|jSrr�rs rrz3TestJointOps.test_deepcopy.<locals>.Tracer.__hash__s
���z�!rNc�*���|jdz��Srr�)r�memo�Tracers  �r�__deepcopy__z7TestJointOps.test_deepcopy.<locals>.Tracer.__deepcopy__
s����v�d�j�1�n�-�-�-rr)r
rrr1rr�)r�s�rr�r�sQ�������
#�
#�
#�
"�
"�
"�
.�
.�
.�
.�
.�
.�
.�
.rr��
r)r=�copy�deepcopyr~r}rMr')rr�r>r��elem�newtr�s      @r�
test_deepcopyzTestJointOps.test_deepcopys����	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�
�F�2�J�J���L�L�!������m�A�������B�q�E�E�2�c�7�7�+�+�+��	�	�D��D�D����B�q�E�E�2�d�8�8�,�,�,������1��d�j�1�1�1�1�1rc����Gd�d���t�fd�td��D����}|D]%}||_||_t|g��|_�&dS)Nc��eZdZdS)�TestJointOps.test_gc.<locals>.ANr	r
rr�Ar���������Drr�c3�,�K�|]}���V��dSrr
)�.0rrr�s  �r�	<genexpr>z'TestJointOps.test_gc.<locals>.<genexpr>s)�����)�)������)�)�)�)�)�)r��)rIr��cycle�sub)rr>r�r�s   @r�test_gczTestJointOps.test_gcs����	�	�	�	�	�	�	�	��)�)�)�)�U�4�[�[�)�)�)�)�)���	#�	#�D��D�J��D�H��D�6�{�{�D�H�H�	#�	#rc�0�Gd�d|j��}|��}t��}|�|��|�||��|�|��|�|��|�|��dS)Nc��eZdZd�ZdS)�6TestJointOps.test_subclass_with_custom_hash.<locals>.Hc�@�tt|��dz��S)Ni���)r3r}rs rrz?TestJointOps.test_subclass_with_custom_hash.<locals>.H.__hash__%s���2�d�8�8�j�0�1�1�1rN)r
rrrr
rr�Hr�$s#������
2�
2�
2�
2�
2rr�)r=rI�addrW�remove�discard)rr�r>r�s    r�test_subclass_with_custom_hashz+TestJointOps.test_subclass_with_custom_hash"s���	2�	2�	2�	2�	2���	2�	2�	2��!�#�#��

�%�%��	���a�����
�
�a�����	�������	���a����	�	�	�!�����rc�L�|�t��g��}|�t|jt��t��g��|�t|jt����t|d��r�|�t|jt����|�t|jt����|�t|jt����dSdS)Nr�)	r=rrGrrUr�r�r�r��rr>s  r�test_badcmpzTestJointOps.test_badcmp/s����L�L�&�(�(��$�$�����,���v�x�x����6J�K�K�K����,������A�A�A��1�e���	@����l�A�E�6�8�8�<�<�<����l�A�I�v�x�x�@�@�@����l�A�H�f�h�h�?�?�?�?�?�	@�	@rc�h�t��}|�|g��}||_|jtkr%|�t|��d��dSt|���d��d}|�t|��|�d|�d���dS)Nz
{set(...)}�(rz({z(...)}))r$r=r'rIrMr&�	partition)r�wr>�names    r�test_cyclical_reprzTestJointOps.test_cyclical_repr:s����M�M���L�L�!���������<�3������T�!�W�W�l�3�3�3�3�3���7�7�$�$�S�)�)�!�,�D����T�!�W�W����t�t�t�&D�E�E�E�E�Erc���d}t�ttt	|������}|�t
d�|D����|��|�|��}|�t
d�|D����|��|�|��|�t
d�|D����|��t|d��r|�
|��|�t
d�|D����|��t�t|����}|�t
d�|D����|��t�t|����}|�t
d�|D����|��t�t|��d	��}|�t
d
�|D����|��|�|t�|d	����dS)Nr�c3�$K�|]}|jV��dSrr.�r�r�s  rr�z<TestJointOps.test_do_not_rehash_dict_keys.<locals>.<genexpr>G�$����;�;��T�_�;�;�;�;�;�;rc3�$K�|]}|jV��dSrr.r�s  rr�z<TestJointOps.test_do_not_rehash_dict_keys.<locals>.<genexpr>Ir�rc3�$K�|]}|jV��dSrr.r�s  rr�z<TestJointOps.test_do_not_rehash_dict_keys.<locals>.<genexpr>Kr�r�symmetric_difference_updatec3�$K�|]}|jV��dSrr.r�s  rr�z<TestJointOps.test_do_not_rehash_dict_keys.<locals>.<genexpr>Nr�rc3�$K�|]}|jV��dSrr.r�s  rr�z<TestJointOps.test_do_not_rehash_dict_keys.<locals>.<genexpr>Pr�rc3�$K�|]}|jV��dSrr.r�s  rr�z<TestJointOps.test_do_not_rehash_dict_keys.<locals>.<genexpr>Rr�r�{c3�$K�|]}|jV��dSrr.r�s  rr�z<TestJointOps.test_do_not_rehash_dict_keys.<locals>.<genexpr>Tr�r)
r?r@r�r+r�rM�sumr=r�r�r�rIrV)r�nrAr>�d2�d3s      r�test_do_not_rehash_dict_keysz)TestJointOps.test_do_not_rehash_dict_keysDs�����M�M�#�o�u�Q�x�x�8�8�9�9������;�;��;�;�;�;�;�Q�?�?�?��L�L��O�O������;�;��;�;�;�;�;�Q�?�?�?�	���Q��������;�;��;�;�;�;�;�Q�?�?�?��1�3�4�4�	-�
�)�)�!�,�,�,�����;�;��;�;�;�;�;�Q�?�?�?�
�]�]�3�q�6�6�
"�
"������;�;��;�;�;�;�;�Q�?�?�?�
�]�]�9�Q�<�<�
(�
(������;�;��;�;�;�;�;�Q�?�?�?�
�]�]�9�Q�<�<��
-�
-������;�;��;�;�;�;�;�Q�?�?�?�����T�]�]�1�c�2�2�3�3�3�3�3rc��Gd�dt��}|��}tj|��}t|dg��}t	|��|_~~t
j��|�|��dud��dS)Nc��eZdZdS)�/TestJointOps.test_container_iterator.<locals>.CNr	r
rrrlrYr�rrlrzCycle was not collected)	�object�weakref�refrIr�rm�gc�collectr�)rrl�objr�	containers     r�test_container_iteratorz$TestJointOps.test_container_iteratorWs���	�	�	�	�	��	�	�	��a�c�c���k�#������a��M�M�	��Y�������
�
������������
�'@�A�A�A�A�Arc�F�tj|t|j��dSr)r�check_free_after_iteratingr�r=rs r�test_free_after_iteratingz&TestJointOps.test_free_after_iteratingcs���*�4��t�|�D�D�D�D�DrN)r
rrrBrJrPrSrYrnrsr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r	rrr
rrr5r5)s�������%�%�%�:�:�:�9�9�9�3�3�3�5�5�5�O�O�O�&	B�	B�	B�.�.�.�(G�G�G�	B�	B�	B�Y�Y�Y� 	B�	B�	B�`�`�`�	B�	B�	B�4�4�4�$�$�$�
5�5�5� '�'�'�M�M�M�*2�2�2�"#�#�#����	@�	@�	@�F�F�F�4�4�4�&
B�
B�
B�E�E�E�E�Err5c���eZdZeZeZd�Zd�Zd�Zd�Z	d�Z
d�Zd�Zd�Z
d	�Zd
�Zd�Zd�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zej e!ed��d��d���Z"dS)�TestSetc��|���}|�|j��|�|t	|j����|�|j��|�|t	|j����|�t|j|d��|�t|jd��dS)NrDr)r=r1r:rMrIr;rGrHr�s  r�	test_initzTestSet.test_initjs����L�L�N�N��	�
�
�4�9��������C��	�N�N�+�+�+�	�
�
�4�>�"�"�"�����C���/�/�0�0�0����)�Q�Z��A�6�6�6����)�Q�Z��3�3�3�3�3rc���|�td����}|�|��}|�t|��t|����dS�Nr��r=r�r~r}�rr>r�s   r�test_constructor_identityz!TestSet.test_constructor_identitys�P���L�L��q���"�"���L�L��O�O�����B�q�E�E�2�a�5�5�)�)�)�)�)rc�\�tgd���}hd�}|�||��dS)N�rrDr��rrDr��rIrMrs   r�test_set_literalzTestSet.test_set_literalxs6������L�L���G�G������A�����rc���hd�}|�t|��d��|���}|�t|��t��dS)N>rr)rMrR�poprfr3)rr>�stored_values   r� test_set_literal_insertion_orderz(TestSet.test_set_literal_insertion_order}sX���N�N������Q����#�#�#��u�u�w�w������l�+�+�S�1�1�1�1�1rc���g��fd�}|d��|d��|d��h}|��gd���dS)Nc�2����|��dSr)�append)r�eventss �r�recordz9TestSet.test_set_literal_evaluation_order.<locals>.record�s����M�M�#�����rrrDr�r#)rM)rr/r>r.s   @r�!test_set_literal_evaluation_orderz)TestSet.test_set_literal_evaluation_order�se�����	�	�	�	�	�
�V�A�Y�Y���q�	�	�6�6�!�9�9�-���������+�+�+�+�+rc�R�|�tt|j��dSr)rGrH�hashr>rs r�	test_hashzTestSet.test_hash�s"�����)�T�4�6�2�2�2�2�2rc���|j���|�|jt����|�t	|j��d��dSr-)r>�clearrMrIrRrs r�
test_clearzTestSet.test_clear�sQ�����������������'�'�'�����T�V���a�(�(�(�(�(rc�(�|j���}|�|j|��|�t	|j��t	|����|�t|��|j��dSr)r>r�rMr~r}rfrg�rr�s  r�	test_copyzTestSet.test_copy�sq���f�k�k�m�m��������%�%�%����B�t�v�J�J��3���0�0�0�����c���D�M�2�2�2�2�2rc�X�|j�d��|�d|j��|j���}|j�d��|�|j|��|�t|jjg��dS)N�Q)r>r�rWr�rMrGrHr8s  r�test_addzTestSet.test_add�s�����
�
�3�����
�
�c�4�6�"�"�"��f�k�k�m�m����
�
�3����������%�%�%����)�T�V�Z��4�4�4�4�4rc���|j�d��|�d|j��|�t|jjd��|�t
|jjg��|�t|j��g��}|�	|�|j��|��|�|�|j����|�|�|j��|��|�t|jj|�|j����dS�NrFr;)
r>r��assertNotInrG�KeyErrorrHr=rVr:rWr�s  r�test_removezTestSet.test_remove�s����
�
�c��������d�f�%�%�%����(�D�F�M�3�7�7�7����)�T�V�]�B�7�7�7��L�L�)�D�I�.�.�/�0�0���
�
�d�l�l�4�9�-�-�q�1�1�1�	������d�i�(�(�)�)�)�������d�i�0�0�!�4�4�4����(�D�F�M�4�<�<��	�3J�3J�K�K�K�K�Krc���dD]k}	|j�|��|����2#t$r-}|jd}|�||��Yd}~�dd}~wwxYwdS)N)r;�rr)r>r�rpr@r0rM)r�v1�e�v2s    r�test_remove_keyerror_unpackingz&TestSet.test_remove_keyerror_unpacking�s����	�	�B�
���
�
�b�!�!�!�
�	�	������	�
)�
)�
)��V�A�Y��� � ��R�(�(�(�(�(�(�(�(�����
)����	�	s�5�
A,�#A'�'A,c	�F�|�ddg��}	|j�|��|���dS#t$rM}|�|jd|ud�||jd����Yd}~dSd}~wwxYw)Nr��rzKeyError should be {0}, not {1})r=r>r�rpr@r�r0�format)r�keyrEs   r�test_remove_keyerror_setz TestSet.test_remove_keyerror_set�s����l�l�A�q�6�"�"��	��F�M�M�#����
�I�I�K�K�K�K�K���	N�	N�	N��O�O�A�F�1�I��,�:�A�A�#�BC�&��)�M�M�
N�
N�
N�
N�
N�
N�
N�
N�
N�����	N���s�A	�	
B �AB�B c��|j�d��|�d|j��|j�d��|�t|jjg��|�t
|j��g��}|�|�|j��|��|�|�|j����|�|�|j��|��|�|�|j����dSr>)	r>r�r?rGrHr=rVr:rWr�s  r�test_discardzTestSet.test_discard�s������s��������d�f�%�%�%�����s�������)�T�V�^�R�8�8�8��L�L�)�D�I�.�.�/�0�0���
�
�d�l�l�4�9�-�-�q�1�1�1�	�	�	�$�,�,�t�y�)�)�*�*�*�������d�i�0�0�!�4�4�4�	�	�	�$�,�,�t�y�)�)�*�*�*�*�*rc��tt|j����D]6}|j���}|�||j���7|�t|jj��dSr)r�rRr>r(r?rGr@)rrrr�s   r�test_popzTestSet.test_pop�sk���s�4�6�{�{�#�#�	+�	+�A��6�:�:�<�<�D����T�4�6�*�*�*�*����(�D�F�J�/�/�/�/�/rc
�N�|j�|j��}|�|d��|j|jzD]}|�||j���|�t|jjt����|�t|jjgg��dD]�\}}tttj
ttt fD]l}|�d��}|�|�||����d��|�|t|�����m��dD]�}d}tttj
ttt fD]�}|�d��}|�|�||��||����d��|�|t|��t|��zt|��z������dS)N))r\r]�r^r_)r`ra�rbrcr[)r\r^r`rb�abcda�ahi)r>�updater;rMr:rWrGrrrHrIrVr?r@rhrirjr=�r�retvalrXr�r�rlr>s       r�test_updatezTestSet.test_update�s�������t�~�.�.�������&�&�&��)�d�n�,�	%�	%�A��M�M�!�T�V�$�$�$�$����(�D�F�M�?�3D�3D�E�E�E����)�T�V�]�R�D�9�9�9�[�	,�	,�D�A�q��)�T�]�C��u�D�
,�
,���L�L��)�)��� � ����!�!�A�$�$����6�6�6�� � ��C��F�F�+�+�+�+�
,�8�	>�	>�A��A��)�T�]�C��u�D�
>�
>���L�L��)�)��� � ����!�!�A�$�$���!���!5�!5�t�<�<�<�� � ��C��F�F�S��V�V�O�c�!�f�f�$<�=�=�=�=�
>�	>�	>rc��|xjt|j��zc_|j|jzD]}|�||j���dSr)r>rIr;r:rW�rrXs  r�test_iorzTestSet.test_ior�sW�����#�d�n�%�%�%����)�d�n�,�	%�	%�A��M�M�!�T�V�$�$�$�$�	%�	%rc
�P�|j�|j��}|�|d��|j|jzD]K}||jvr%||jvr|�||j���0|�||j���L|�t|jjt����|�t|jjgg��dD�]8\}}tttjtt t"fD�]}|�d��}|�|�||����d��|�|t|����d}|�|��}d}|�|�||��||����d��|�|td��t|��zt|��z������:dS)N))r\rX)r^rw)r`rx)rbrwr[�cbc)r>�intersection_updater;rMr:rWr?rGrrrHrIrVr?r@rhrirjr=)	rrXrXr�r�rlr>�ssr�s	         r�test_intersection_updatez TestSet.test_intersection_update�s�����+�+�D�N�;�;�������&�&�&��)�d�n�,�	,�	,�A��D�N�"�"�q�D�I�~�~��
�
�a���(�(�(�(�� � ��D�F�+�+�+�+����(�D�F�$>��@Q�@Q�R�R�R����)�T�V�%?�"��F�F�F�L�		@�		@�D�A�q��)�T�]�C��u�D�
@�
@���L�L��)�)��� � ��!6�!6�q�q��t�t�!<�!<�d�C�C�C�� � ��C��F�F�+�+�+����L�L��$�$����� � ��!6�!6�q�q��t�t�Q�Q�q�T�T�!B�!B�D�I�I�I�� � ��C��L�L��Q���$7��A���$>�?�?�?�?�
@�		@�		@rc��|xjt|j��zc_|j|jzD]K}||jvr%||jvr|�||j���0|�||j���LdSr�r>rIr;r:rWr?r[s  r�	test_iandzTestSet.test_iands������#�d�n�%�%�%����)�d�n�,�	,�	,�A��D�N�"�"�q�D�I�~�~��
�
�a���(�(�(�(�� � ��D�F�+�+�+�+�		,�	,rc	��|j�|j��}|�|d��|j|jzD]K}||jvr%||jvr|�||j���0|�||j���L|�t|jjt����|�t|jjgg��|�t|jjgg��dD�]�\}}tttjt t"t$fD�]�}|�d��}|�|�||����d��|�|t|����|�d��}|���|�||�d����|�d��}|�|d����|�||�d����|�d��}|�|d��|d����|�||�d����������dS)N))r\r�)r^ra�r`rF)rbrar[�
abcdefghih�aba�cdefghihr\�efghih)r>�difference_updater;rMr:rWr?rGrrrHr�rIrVr?r@rhrirjr=rWs       r�test_difference_updatezTestSet.test_difference_update	s|����)�)�$�.�9�9�������&�&�&��)�d�n�,�	,�	,�A��D�I�~�~�!�4�>�"9�"9��
�
�a���(�(�(�(�� � ��D�F�+�+�+�+����(�D�F�$<�o�>O�>O�P�P�P����)�T�V�%=��t�D�D�D����)�T�V�%G�"��N�N�N�R�	<�	<�D�A�q��)�T�]�C��u�D�
<�
<���L�L��)�)��� � ��!4�!4�Q�Q�q�T�T�!:�!:�D�A�A�A�� � ��C��F�F�+�+�+��L�L��.�.���#�#�%�%�%�� � ��D�L�L��$>�$>�?�?�?��L�L��.�.���#�#�A�A�e�H�H�-�-�-�� � ��D�L�L��$<�$<�=�=�=��L�L��.�.���#�#�A�A�e�H�H�a�a��h�h�7�7�7�� � ��D�L�L��$:�$:�;�;�;�;�
<�	<�	<rc��|xjt|j��zc_|j|jzD]K}||jvr%||jvr|�||j���0|�||j���LdSrrcr[s  r�	test_isubzTestSet.test_isub&s������#�d�n�%�%�%����)�d�n�,�	,�	,�A��D�I�~�~�!�4�>�"9�"9��
�
�a���(�(�(�(�� � ��D�F�+�+�+�+�		,�	,rc	��|j�|j��}|�|d��|j|jzD]L}||jv||jvzr|�||j���1|�||j���M|�t|jjt����|�t|jjgg��dD]�\}}tttjtt t"fD]l}|�d��}|�|�||����d��|�|t|�����m��dS)N))r\r�rRrfrSr[)r>r�r;rMr:rWr?rGrrrHrIrVr?r@rhrirjr=rWs       r� test_symmetric_difference_updatez(TestSet.test_symmetric_difference_update.ss����3�3�D�N�C�C�������&�&�&��)�d�n�,�	,�	,�A��T�Y��1���#6�7�
,��
�
�a���(�(�(�(�� � ��D�F�+�+�+�+����(�D�F�$F��HY�HY�Z�Z�Z����)�T�V�%G�"��N�N�N�X�	,�	,�D�A�q��)�T�]�C��u�D�
,�
,���L�L��)�)��� � ��!>�!>�q�q��t�t�!D�!D�d�K�K�K�� � ��C��F�F�+�+�+�+�
,�	,�	,rc��|xjt|j��zc_|j|jzD]L}||jv||jvzr|�||j���1|�||j���MdSrrcr[s  r�	test_ixorzTestSet.test_ixor>s������#�d�n�%�%�%����)�d�n�,�	,�	,�A��T�Y��1���#6�7�
,��
�
�a���(�(�(�(�� � ��D�F�+�+�+�+�		,�	,rc��|j���}||z}|�||j��||z}|�||j��||z}|�||�����|j���}||z}|�||�����dSr)r>r�rMr=)rr�s  r�test_inplace_on_selfzTestSet.test_inplace_on_selfFs����F�K�K�M�M��	�Q�������D�F�#�#�#�	�Q�������D�F�#�#�#�	�Q�������D�L�L�N�N�+�+�+��F�K�K�M�M��	�Q�������D�L�L�N�N�+�+�+�+�+rc�$�|�d��}tj|��}|�t	|��t	|����d}tj��|�tt|��dS)N�gallahad)	r=r�proxyrMrhr�
gc_collectrG�ReferenceError)rr>r�s   r�test_weakrefzTestSet.test_weakrefRsv���L�L��$�$���M�!��������Q����Q���(�(�(�����������.�#�q�1�1�1�1�1rc�x�Gd�d��}hd�}|��}||k|�|j��|��}||k|�|j��|��}||k|�|j��|��}||k|�|j��dS)Nc�&�eZdZd�Zd�Zd�Zd�ZdS)�5TestSet.test_rich_compare.<locals>.TestRichSetComparec��d|_dS�NTF)�	gt_called�r�some_sets  r�__gt__z<TestSet.test_rich_compare.<locals>.TestRichSetCompare.__gt__\���!%����urc��d|_dSr)�	lt_calledr�s  r�__lt__z<TestSet.test_rich_compare.<locals>.TestRichSetCompare.__lt___r�rc��d|_dSr)�	ge_calledr�s  r�__ge__z<TestSet.test_rich_compare.<locals>.TestRichSetCompare.__ge__br�rc��d|_dSr)�	le_calledr�s  r�__le__z<TestSet.test_rich_compare.<locals>.TestRichSetCompare.__le__er�rN)r
rrr�r�r�r�r
rr�TestRichSetComparer}[sP������
�
�
�
�
�
�
�
�
�
�
�
�
�
rr�r$)r�r�r�r�r�)rr��myset�myobjs    r�test_rich_comparezTestSet.test_rich_compareZs���	�	�	�	�	�	�	�	�"�	�	��"�"�$�$��
��
�
������(�(�(�"�"�$�$��
��
�
������(�(�(�"�"�$�$��
���������(�(�(�"�"�$�$��
���������(�(�(�(�(r�
test_c_apiz*C API test only available in a debug buildc�n�|�t�����d��dS�NT)rMrIr�rs rr�zTestSet.test_c_api~s0��	
������)�)�+�+�T�2�2�2�2�2rN)#r
rrrIr=rgrr r&r*r0r3r6r9r<rArGrLrNrPrYr\rardrlrnrprrrtrzr��unittest�
skipUnlessr�r�r
rrrrfs��������G��H�4�4�4�*�*�*�
���
2�2�2�,�,�,�3�3�3�)�)�)�
3�3�3�5�5�5�	L�	L�	L�	�	�	�	�	�	�	+�	+�	+�0�0�0�>�>�>�&%�%�%�
@�@�@�*,�,�,�<�<�<�:,�,�,�,�,�,� ,�,�,�
,�
,�
,�2�2�2�")�")�")�H�X�����l�3�3�E�G�G�3�3�G�G�3�3�3rrc��eZdZdS)�SetSubclassNr	r
rrr�r��rrr�c��eZdZeZeZd�ZdS)�TestSetSubclassc���Gd�dt��}|ddg��}|�t|��|��|�t|��ddh��|�t
��5|d���ddd��n#1swxYwYGd�dt��}|ddgd	�
��}|�t|��|��|�t|��ddh��|�|jd	��Gd�dt��}|ddg��}|�t|��|��|�t|��ddh��|�|j��|�t
��5|ddgd	�
��ddd��dS#1swxYwYdS)
Nc��eZdZdS)�;TestSetSubclass.test_keywords_in_subclass.<locals>.subclassNr	r
rr�subclassr��r�rr�rrDr
��sequencec� ��eZdZd�fd�	Z�xZS)�ETestSetSubclass.test_keywords_in_subclass.<locals>.subclass_with_initNc�X��t���|��||_dSr)�superr1�newarg)r�argr��	__class__s   �rr1zNTestSetSubclass.test_keywords_in_subclass.<locals>.subclass_with_init.__init__�s&������ � ��%�%�%�$����rr)r
rrr1�
__classcell__�r�s@r�subclass_with_initr��s=�������
%�
%�
%�
%�
%�
%�
%�
%�
%�
%rr�r��r�c� ��eZdZd�fd�	Z�xZS)�DTestSetSubclass.test_keywords_in_subclass.<locals>.subclass_with_newNc�Z��t���||��}||_|Sr�r��__new__r���clsr�r�rr�s    �rr�zLTestSetSubclass.test_keywords_in_subclass.<locals>.subclass_with_new.__new__��&����w�w���s�C�0�0��$����rr�r
rrr�r�r�s@r�subclass_with_newr���=�������
�
�
�
�
�
�
�
�
�
rr�)rI�assertIsrfrMrGrHr��assertIsNone�rr�rkr�r�s     r�test_keywords_in_subclassz)TestSetSubclass.test_keywords_in_subclass�s���	�	�	�	�	�s�	�	�	��H�a��V�����
�
�d�1�g�g�x�(�(�(�����Q���!�Q��(�(�(�
�
�
�y�
)�
)�	"�	"��H�b�!�!�!�!�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"�	%�	%�	%�	%�	%��	%�	%�	%�
���1�v�a�0�0�0���
�
�d�1�g�g�1�2�2�2�����Q���!�Q��(�(�(������1�%�%�%�	�	�	�	�	��	�	�	�

��q�!�f�%�%���
�
�d�1�g�g�0�1�1�1�����Q���!�Q��(�(�(����!�(�#�#�#�
�
�
�y�
)�
)�	0�	0���q�!�f�Q�/�/�/�/�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0����	0�	0�	0�	0�	0�	0s$�
B�B �#B �G%�%G)�,G)N)r
rrr�r=rIrgr�r
rrr�r��s-�������G��H�0�0�0�0�0rr�c�@�eZdZeZeZd�Zd�Zd�Zd�Z	d�Z
d�Zd�ZdS)	�
TestFrozenSetc��|�|j��}|�|j��|�|t|j����dSr)r=r:r1r;rMrIr�s  rrzTestFrozenSet.test_init�sM���L�L���#�#��	�
�
�4�>�"�"�"�����C��	�N�N�+�+�+�+�+rc���|�td����}|�|��}|�t|��t|����dSr)r=r�rMr}rs   rr z'TestFrozenSet.test_constructor_identity�sP���L�L��q���"�"���L�L��O�O������A����1���&�&�&�&�&rc���|�t|�d����t|�d������d��fd�t���D��}t	��}td��D]F}t|��|�t|�|�������G|�t|��d��dS)N�abcdeb�ebecda�dc�.��g|]}t�����Sr
�r)r�rrrs  �r�
<listcomp>z+TestFrozenSet.test_hash.<locals>.<listcomp>�s���.�.�.��y��|�|�.�.�.r��r)rMr2r=r�rIrr�rR)r�seq�resultsrrrs    @rr3zTestFrozenSet.test_hash�s��������d�l�l�8�4�4�5�5��d�l�l�8�4�4�5�5�	7�	7�	7�
��.�.�.�.�U�1�X�X�.�.�.���%�%���s���	1�	1�A��C�L�L�L��K�K��T�\�\�#�.�.�/�/�0�0�0�0�����W���q�)�)�)�)�)rc��|j���}|�t|j��t|����dSr)r>r�rMr}r8s  rr9zTestFrozenSet.test_copy�s;���f�k�k�m�m������D�F���R��W�W�-�-�-�-�-rc��ttd����td��zdgz}|�|��}|�t|����}|�||��|�t
|��t
|����i}d||<|�||d��dS)Nr��abcdefg�apple�*)rir�r=�reversedrMr~r})rr��key1�key2rAs     r�test_frozen_as_dictkeyz$TestFrozenSet.test_frozen_as_dictkey�s����5��9�9�o�o��Y���/�7�)�;���|�|�C� � ���|�|�H�S�M�M�*�*������t�$�$�$����B�t�H�H�b��h�h�/�/�/�����$������4��"�%�%�%�%�%rc��|�d��}|�t|��t|����dS)N�abcdcda)r=rMr2�rr�s  r�test_hash_cachingzTestFrozenSet.test_hash_caching�s;���L�L��#�#������a���$�q�'�'�*�*�*�*�*rc
�P�
��d}t��}|j}d�t|��D��}td|z��D]3�
|tt	�
fd�|D���������4|�t
|��d|z��d�}d�}td��D]q}d|z}|dz
�t|fD][}t
�fd	�tt|||������D����}	|�d
|	z|���\�rdS)N�
c�"�g|]}|dzd|zf��
SrCr
�r�rrs  rr�z9TestFrozenSet.test_hash_effectiveness.<locals>.<listcomp>�s$��3�3�3�Q�a��c�1�a�4�[�3�3�3rrDc�$��g|]\}}|�z�
|��
Sr
r
)r�rE�mrrs   �rr�z9TestFrozenSet.test_hash_effectiveness.<locals>.<listcomp>�s&���(H�(H�(H�t�q�!�A�a�C�(H��(H�(H�(Hrc��t��g}t|dz
��D]&}t|��}|�|���'|d|�Sr)rVr�r-)r�numsrr�nums    r�zf_rangez7TestFrozenSet.test_hash_effectiveness.<locals>.zf_range�sS���K�K�=�D��1�Q�3�Z�Z�
!�
!����o�o�����C� � � � �����8�Orc3�K�tt|��dz��D]0}ttt	j||����Ed{V���1dSr)r�rRr�rV�	itertools�combinations)r>rrs  r�powersetz7TestFrozenSet.test_hash_effectiveness.<locals>.powerset�se�����3�q�6�6�!�8�_�_�
H�
H���y�)�*@��A�*F�*F�G�G�G�G�G�G�G�G�G�G�
H�
Hr�rc���h|]}|�z��Sr
r
)r��h�masks  �r�	<setcomp>z8TestFrozenSet.test_hash_effectiveness.<locals>.<setcomp>�s���H�H�H�a��T��H�H�HrrI)	rIr�r�r2rVrMrRr��
assertGreater)rr�
hashvalues�addhashvalue�	elemmasksr�r�r�r�rkrrr�s          @@r�test_hash_effectivenessz%TestFrozenSet.test_hash_effectiveness�sm�������U�U�
�!�~��3�3�%��(�(�3�3�3�	��q�!�t���	L�	L�A��L��i�(H�(H�(H�(H�y�(H�(H�(H�I�I�J�J�K�K�K�K�����Z���!�Q�$�/�/�/�	�	�	�	H�	H�	H��r���	+�	+�A��Q��A��q�5�D���)�
+�
+���H�H�H�H�3�t�X�X�d�d�1�g�g�5F�5F�+G�+G�H�H�H�I�I���"�"�1�Q�3��*�*�*�*�
+�	+�	+rN)
r
rrrVr=rgrr r3r9r�r�r�r
rrr�r��s��������G��H�,�,�,�
'�'�'�
*�*�*�.�.�.�&�&�&�+�+�+�+�+�+�+�+rr�c��eZdZdS)�FrozenSetSubclassNr	r
rrr�r��rrr�c�4�eZdZeZeZd�Zd�Zd�Z	d�Z
d�ZdS)�TestFrozenSetSubclassc�f�Gd�dt��}|ddg��}|�t|��|��|�t	|��ddh��|�t��5|d���ddd��n#1swxYwYGd�dt��}|ddgd	�
��}|�t|��|��|�t	|��ddh��|�|jd	��Gd�dt��}|ddgd	�
��}|�t|��|��|�t	|��ddh��|�|jd	��dS)
Nc��eZdZdS)�ATestFrozenSetSubclass.test_keywords_in_subclass.<locals>.subclassNr	r
rrr�r��r�rr�rrDr
r�c��eZdZdd�ZdS)�KTestFrozenSetSubclass.test_keywords_in_subclass.<locals>.subclass_with_initNc��||_dSrr�)rr�r�s   rr1zTTestFrozenSetSubclass.test_keywords_in_subclass.<locals>.subclass_with_init.__init__s
��$����rr)r
rrr1r
rrr�r�s(������
%�
%�
%�
%�
%�
%rr�r�r�c� ��eZdZd�fd�	Z�xZS)�JTestFrozenSetSubclass.test_keywords_in_subclass.<locals>.subclass_with_newNc�Z��t���||��}||_|Srr�r�s    �rr�zRTestFrozenSetSubclass.test_keywords_in_subclass.<locals>.subclass_with_new.__new__r�rrr�r�s@rr�r�r�rr�)rVr�rfrMrIrGrHr�r�s     rr�z/TestFrozenSetSubclass.test_keywords_in_subclass�s+��	�	�	�	�	�y�	�	�	��H�a��V�����
�
�d�1�g�g�x�(�(�(�����Q���!�Q��(�(�(�
�
�
�y�
)�
)�	"�	"��H�b�!�!�!�!�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"�	%�	%�	%�	%�	%��	%�	%�	%�
���1�v�a�0�0�0���
�
�d�1�g�g�1�2�2�2�����Q���!�Q��(�(�(������1�%�%�%�	�	�	�	�	�	�	�	�	�

��q�!�f�Q�/�/�/���
�
�d�1�g�g�0�1�1�1�����Q���!�Q��(�(�(������1�%�%�%�%�%s�
B�B �#B c���|�td����}|�|��}|�t|��t|����dSrrrs   rr z/TestFrozenSetSubclass.test_constructor_identityr!rc��|j���}|�t|j��t|����dSr)r>r�r~r}r8s  rr9zTestFrozenSetSubclass.test_copys;���f�k�k�m�m�����B�t�v�J�J��3���0�0�0�0�0rc��|���}|�|��}|�||��dSr)r=rMrs   r�test_nested_empty_constructorz3TestFrozenSetSubclass.test_nested_empty_constructors:���L�L�N�N���L�L��O�O������A�����rc�.�|j}t��}|��}|��|g��|d��|d��|��|g��|d��|d��|td����||����|t����||||��||��g}|�t	tt
t|������t	|����dS)Nr
rwr)r=rVr�rMrRrIr�r})r�	Frozensetr��F�efss     r�test_singleton_empty_frozensetz4TestFrozenSetSubclass.test_singleton_empty_frozenset#s����L�	��K�K���I�K�K���y�{�{�I�I�b�M�M�9�9�R�=�=�)�)�B�-�-��y�{�{�I�I�b�M�M�9�9�R�=�=�)�)�B�-�-��y��q���"�"�I�I�i�i�k�k�$:�$:��y����%�%�q�!�Y�Y�q�\�\�9�9�Q�<�<�I��
	
����S��R����.�.�/�/��S���:�:�:�:�:rN)r
rrr�r=rVrgr�r r9r�rr
rrr�r��si�������G��H�&�&�&�6*�*�*�
1�1�1����
	;�	;�	;�	;�	;rr�c��eZdZdZdS)�SetSubclassWithSlots�rmr��__dict__N�r
rr�	__slots__r
rrrr/�������&�I�I�Irrc�.�eZdZeZejZejZdS)�TestSetSubclassWithSlotsN)r
rrrr=r5rBr�r
rrrr2s#������"�G���E� �.�M�M�Mrrc��eZdZdZdS)�FrozenSetSubclassWithSlotsrNrr
rrrr7r
rrc��eZdZeZdS)�TestFrozenSetSubclassWithSlotsN)r
rrrr=r
rrrr:s������(�G�G�Grrc��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZdS)�TestBasicOpsc�r�|j�/|�t|j��|j��dSdSr)r&rMrIrs r�	test_reprzTestBasicOps.test_reprEs8���9� ����T�$�(�^�^�T�Y�7�7�7�7�7�!� rc��t|j��}|�|�d����|�|�d����|dd��d��}|���d�|jD��}|���|�||��dS)N�{�}r���z, c�,�g|]}t|����Sr
)r&)r�r's  rr�z:TestBasicOps.check_repr_against_values.<locals>.<listcomp>Ps��C�C�C�e�d�5�k�k�C�C�Cr)	r&rIr��
startswith�endswith�split�sort�valuesrM)r�text�result�sorted_repr_valuess    r�check_repr_against_valuesz&TestBasicOps.check_repr_against_valuesIs����D�H�~�~���������,�,�-�-�-�����
�
�c�*�*�+�+�+��a��d��!�!�$�'�'�����
�
�
�C�C�t�{�C�C�C�����!�!�!�����!3�4�4�4�4�4rc�`�|�t|j��|j��dSr)rMrRrI�lengthrs r�test_lengthzTestBasicOps.test_lengthTs(������T�X�����4�4�4�4�4rc�F�|�|j|j��dSr�rMrIrs r�test_self_equalityzTestBasicOps.test_self_equalityW�"�������4�8�,�,�,�,�,rc�F�|�|j|j��dSr)rMrIr�rs r�test_equivalent_equalityz%TestBasicOps.test_equivalent_equalityZr)rc�j�|�|j���|j��dSr)rMrIr�r�rs rr9zTestBasicOps.test_copy]s*�����������$�(�3�3�3�3�3rc�Z�|j|jz}|�||j��dSr�rIrMr��rr s  r�test_self_unionzTestBasicOps.test_self_union`�.����D�H�$��������*�*�*�*�*rc�Z�|jtz}|�||j��dSr�rI�	empty_setrMr�r/s  r�test_empty_unionzTestBasicOps.test_empty_uniond�,����I�%��������*�*�*�*�*rc�Z�t|jz}|�||j��dSr)r4rIrMr�r/s  r�test_union_emptyzTestBasicOps.test_union_emptyhs,���T�X�%��������*�*�*�*�*rc�Z�|j|jz}|�||j��dSrr.r/s  r�test_self_intersectionz#TestBasicOps.test_self_intersectionlr1rc�Z�|jtz}|�|t��dSr�rIr4rMr/s  r�test_empty_intersectionz$TestBasicOps.test_empty_intersectionps*����I�%�������+�+�+�+�+rc�Z�t|jz}|�|t��dSr�r4rIrMr/s  r�test_intersection_emptyz$TestBasicOps.test_intersection_emptyt�*���T�X�%�������+�+�+�+�+rc�|�|j�|j��}|�||j��dSr�rIr�rMr/s  r�test_self_isdisjointz!TestBasicOps.test_self_isdisjointxs9����$�$�T�X�.�.������T�X��.�.�.�.�.rc�p�|j�t��}|�|d��dSr�)rIr�r4rMr/s  r�test_empty_isdisjointz"TestBasicOps.test_empty_isdisjoint|s3����$�$�Y�/�/�������&�&�&�&�&rc�p�t�|j��}|�|d��dSr�)r4r�rIrMr/s  r�test_isdisjoint_emptyz"TestBasicOps.test_isdisjoint_empty�s3���%�%�d�h�/�/�������&�&�&�&�&rc�Z�|j|jz}|�|t��dSr�rIrMr4r/s  r�test_self_symmetric_differencez+TestBasicOps.test_self_symmetric_difference��,����D�H�$�������+�+�+�+�+rc�Z�|jtz}|�||j��dSrr<r/s  r�test_empty_symmetric_differencez,TestBasicOps.test_empty_symmetric_difference�r6rc�Z�|j|jz
}|�|t��dSrrJr/s  r�test_self_differencez!TestBasicOps.test_self_difference�rLrc�Z�|jtz
}|�||j��dSrr3r/s  r�test_empty_differencez"TestBasicOps.test_empty_difference�r6rc�Z�t|jz
}|�|t��dSrr?r/s  r�test_empty_difference_revz&TestBasicOps.test_empty_difference_rev�rArc���|jD]}|�||j���t|j��}|�|���t
|j����dSr)rIrWrr�rM�__length_hint__rR)r�v�setiters   r�test_iterationzTestBasicOps.test_iteration�si����	*�	*�A��M�M�!�T�[�)�)�)�)��t�x�.�.������0�0�2�2�C���M�M�B�B�B�B�Brc���ttjdz��D]V}tj|j|��}tj|��}|�|j||j�d|�����WdS)Nrr�)r�r�r�r�rIr�rM)rr�r�r�s    rr�zTestBasicOps.test_pickling�s~���6�2�Q�6�7�7�	<�	<�E���T�X�u�-�-�A��<��?�?�D����T�X�t�+/�8�8�8�T�T�:�
<�
<�
<�
<�	<�	<rc�T�|�t��5t���d��ddd��n#1swxYwY|�t��5t���d��ddd��dS#1swxYwYdS)Nr)rGrHrIr�rkrs r�test_issue_37219zTestBasicOps.test_issue_37219�s��
�
�
�y�
)�
)�	"�	"��E�E���S�!�!�!�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"�
�
�
�y�
)�
)�	)�	)��E�E�#�#�C�(�(�(�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)����	)�	)�	)�	)�	)�	)s#�"A	�	A
�A
�."B�B!�$B!N)r
rrrr"r%r(r+r9r0r5r8r:r=r@rDrFrHrKrNrPrRrTrYr�r\r
rrrrCsp������8�8�8�	5�	5�	5�5�5�5�-�-�-�-�-�-�4�4�4�+�+�+�+�+�+�+�+�+�+�+�+�,�,�,�,�,�,�/�/�/�'�'�'�'�'�'�,�,�,�+�+�+�,�,�,�+�+�+�,�,�,�C�C�C�<�<�<�)�)�)�)�)rrc��eZdZd�ZdS)�TestBasicOpsEmptyc��d|_g|_t|j��|_t|j��|_d|_d|_dS)Nz	empty setrzset()��caserrIr�r$r&rs rrBzTestBasicOpsEmpty.setUp�sD��!��	�����$�+�&�&����$�+�&�&��������	�	�	rN�r
rrrBr
rrr^r^�s#����������rr^c� �eZdZd�Zd�Zd�ZdS)�TestBasicOpsSingletonc��d|_dg|_t|j��|_t|j��|_d|_d|_dS)Nzunit set (number)r�rz{3}r`rs rrBzTestBasicOpsSingleton.setUp�sF��)��	��c����$�+�&�&����$�+�&�&��������	�	�	rc�<�|�d|j��dSr�rWrIrs r�test_inzTestBasicOpsSingleton.test_in�s���
�
�a���"�"�"�"�"rc�<�|�d|j��dS�NrD�r?rIrs r�test_not_inz!TestBasicOpsSingleton.test_not_in�� ������D�H�%�%�%�%�%rN�r
rrrBrhrlr
rrrdrd�sA���������#�#�#�&�&�&�&�&rrdc� �eZdZd�Zd�Zd�ZdS)�TestBasicOpsTuplec��d|_dg|_t|j��|_t|j��|_d|_d|_dS)Nzunit set (tuple)�r�zerorz
{(0, 'zero')}r`rs rrBzTestBasicOpsTuple.setUp�sF��(��	�"�m����$�+�&�&����$�+�&�&������%��	�	�	rc�<�|�d|j��dS)Nrrrgrs rrhzTestBasicOpsTuple.test_in�s���
�
�k�4�8�,�,�,�,�,rc�<�|�d|j��dS)N�	rkrs rrlzTestBasicOpsTuple.test_not_in�rmrNrnr
rrrprp�sA������&�&�&�-�-�-�&�&�&�&�&rrpc��eZdZd�ZdS)�TestBasicOpsTriplec��d|_ddtjg|_t	|j��|_t	|j��|_d|_d|_dS)Nz
triple setrrsr�)ra�operatorr�rrIr�r$r&rs rrBzTestBasicOpsTriple.setUp�sM��"��	��&�(�,�/����$�+�&�&����$�+�&�&��������	�	�	rNrbr
rrrxrx�s#����������rrxc��eZdZd�Zd�ZdS)�TestBasicOpsStringc��d|_gd�|_t|j��|_t|j��|_d|_dS)Nz
string set�rFr{rXr��rarrIr�r$rs rrBzTestBasicOpsString.setUp�sA��"��	�%�o�o����$�+�&�&����$�+�&�&�������rc�.�|���dSr�r"rs rrzTestBasicOpsString.test_repr�����&�&�(�(�(�(�(rN�r
rrrBrr
rrr|r|��2���������)�)�)�)�)rr|c��eZdZd�Zd�ZdS)�TestBasicOpsBytesc��d|_gd�|_t|j��|_t|j��|_d|_dS)Nz	bytes set)�a�b�cr�rrs rrBzTestBasicOpsBytes.setUp�sC��!��	�(�(�(����$�+�&�&����$�+�&�&�������rc�.�|���dSrr�rs rrzTestBasicOpsBytes.test_repr�r�rNr�r
rrr�r��r�rr�c��eZdZd�Zd�ZdS)�TestBasicOpsMixedStringBytesc��|�tj����tjdt
��d|_gd�|_t|j��|_t|j��|_	d|_
dS)N�ignorezstring and bytes set)rFr{r�r�rI)�enterContextr�check_warnings�warnings�simplefilter�BytesWarningrarrIr�r$rs rrBz"TestBasicOpsMixedStringBytes.setUpss�����/�8�:�:�;�;�;���h��5�5�5�,��	�,�,�,����$�+�&�&����$�+�&�&�������rc�.�|���dSrr�rs rrz&TestBasicOpsMixedStringBytes.test_repr	r�rNr�r
rrr�r��s2���������)�)�)�)�)rr�c#�K�t�r)rHr
rr�baditerr�s����
�Orc#�K�dV�dSr�r
r
rr�gooditerr�s����
�J�J�J�J�Jrc�$�eZdZdZd�Zd�Zd�ZdS)�TestExceptionPropagationz?SF 628246:  Set constructor should not trap iterator TypeErrorsc�`�|�ttt����dSr)rGrHrIr�rs r�test_instanceWithExceptionz3TestExceptionPropagation.test_instanceWithExceptions$�����)�S�'�)�)�4�4�4�4�4rc��tgd���td��tdddd���ttd����td��tt����dS)Nr#rrDr�)�one�two�threera)rIr�r�rs r�test_instancesWithoutExceptionz7TestExceptionPropagation.test_instancesWithoutExceptionsc���G�G�G�����G�����1�A�q�)�)�*�*�*��E�!�H�H�
�
�
��E�
�
�
��H�J�J�����rc��tgd���}	|D]}|�dg���	|�d��dS#t$rYdSwxYw)Nr#rIz0no exception when changing size during iteration)rIrVrpr)rr>rrs   r�test_changingSizeWhileIteratingz8TestExceptionPropagation.test_changingSizeWhileIterating$s}������L�L��	J��
�
�����!��
�
�
�
�
�

�I�I�H�I�I�I�I�I���	�	�	��D�D�	���s�A�
A�AN)r
rrr)r�r�r�r
rrr�r�sL������I�I�5�5�5����J�J�J�J�Jrr�c��eZdZd�ZdS)�
TestSetOfSetsc��tdg��}t|g��}|���}|�t	|��t��|�|��|�|��|�|t����|�|��dSr)rVrIr(rMrfr�r�r�)r�inner�outer�elements    r�test_constructorzTestSetOfSets.test_constructor1s����1�#�����U�G�����)�)�+�+������g���	�2�2�2�
�	�	�%����
���U�����������&�&�&�
�
�
�e�����rN)r
rrr�r
rrr�r�0s#����������rr�c�z�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�ZdS)�
TestBinaryOpsc�.�td��|_dS�N�rDrI��rIrs rrBzTestBinaryOps.setUp>����y�>�>����rc	�^�|�|jtdddd�����dS)Nrr��r�r'rs r�test_eqzTestBinaryOps.test_eqAs0�������3�!�a�!�}�}�#5�#5�6�6�6�6�6rc�|�|jtdg��z}|�|td����dS�NrDr�r%r/s  r�test_union_subsetzTestBinaryOps.test_union_subsetDs8����C���H�H�$�������Y���0�0�0�0�0rc��|jtgd���z}|�|tgd�����dS�N�rDrIr��r%r/s  r�test_union_supersetz!TestBinaryOps.test_union_supersetHsB����C����-�-�-�������\�\�\�!2�!2�3�3�3�3�3rc��|jtgd���z}|�|tgd�����dS�N�r�rIr�)rDr�rIr�r�r%r/s  r�test_union_overlapz TestBinaryOps.test_union_overlapLs@����C�	�	�	�N�N�*�������_�_�_�!5�!5�6�6�6�6�6rc��|jtdg��z}|�|tgd�����dS�Nr�r�r%r/s  r�test_union_non_overlapz$TestBinaryOps.test_union_non_overlapP�>����C���H�H�$�������\�\�\�!2�!2�3�3�3�3�3rc�z�|jtd��z}|�|td����dS�N�rDrIr%r/s  r�test_intersection_subsetz&TestBinaryOps.test_intersection_subsetTs6����C��K�K�'�������V���-�-�-�-�-rc��|jtgd���z}|�|tgd�����dS�Nr�r�r%r/s  r�test_intersection_supersetz(TestBinaryOps.test_intersection_supersetXs@����C����-�-�-�������Y�Y�Y���0�0�0�0�0rc��|jtgd���z}|�|tdg����dS�Nr�rIr%r/s  r�test_intersection_overlapz'TestBinaryOps.test_intersection_overlap\s<����C�	�	�	�N�N�*�������a�S���*�*�*�*�*rc�l�|jtdg��z}|�|t��dS�Nr�rJr/s  r�test_intersection_non_overlapz+TestBinaryOps.test_intersection_non_overlap`s2����C���H�H�$�������+�+�+�+�+rc��|j�td����}|�|d��dS)Nr�FrCr/s  r�test_isdisjoint_subsetz$TestBinaryOps.test_isdisjoint_subsetds9����$�$�S��[�[�1�1�������'�'�'�'�'rc��|j�tgd�����}|�|d��dS)Nr�FrCr/s  r�test_isdisjoint_supersetz&TestBinaryOps.test_isdisjoint_superseths?����$�$�S����%6�%6�7�7�������'�'�'�'�'rc��|j�tgd�����}|�|d��dS)Nr�FrCr/s  r�test_isdisjoint_overlapz%TestBinaryOps.test_isdisjoint_overlapls=����$�$�S����^�^�4�4�������'�'�'�'�'rc��|j�tdg����}|�|d��dS)Nr�TrCr/s  r�test_isdisjoint_non_overlapz)TestBinaryOps.test_isdisjoint_non_overlapps;����$�$�S�!��X�X�.�.�������&�&�&�&�&rc�|�|jtd��z}|�|tdg����dS�Nr�r�r%r/s  r�test_sym_difference_subsetz(TestBinaryOps.test_sym_difference_subsetts8����C��K�K�'�������a�S���*�*�*�*�*rc�|�|jtd��z}|�|tdg����dS�Nr�r�r%r/s  r�test_sym_difference_supersetz*TestBinaryOps.test_sym_difference_supersetxs:����C��-�-�-�������a�S���*�*�*�*�*rc�~�|jtd��z}|�|tgd�����dS�Nr�)rDr�r�r�r%r/s  r�test_sym_difference_overlapz)TestBinaryOps.test_sym_difference_overlap|s<����C�	�N�N�*�������\�\�\�!2�!2�3�3�3�3�3rc��|jtdg��z}|�|tgd�����dSr�r%r/s  r�test_sym_difference_non_overlapz-TestBinaryOps.test_sym_difference_non_overlap�r�rN)r
rrrBr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r
rrr�r�=s"������"�"�"�7�7�7�1�1�1�4�4�4�7�7�7�4�4�4�.�.�.�1�1�1�+�+�+�,�,�,�(�(�(�(�(�(�(�(�(�'�'�'�+�+�+�+�+�+�4�4�4�4�4�4�4�4rr�c��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZdS)�
TestUpdateOpsc�.�td��|_dSr�r�rs rrBzTestUpdateOps.setUp�r�rc��|xjtdg��zc_|�|jtd����dSr�r%rs rr�zTestUpdateOps.test_union_subset�s>�����C���H�H���������3�y�>�>�2�2�2�2�2rc��|xjtgd���zc_|�|jtgd�����dSr�r%rs rr�z!TestUpdateOps.test_union_superset�sH�����C����%�%�%��������3�|�|�|�#4�#4�5�5�5�5�5rc��|xjtgd���zc_|�|jtgd�����dSr�r%rs rr�z TestUpdateOps.test_union_overlap�sF�����C�	�	�	�N�N�"��������3����#7�#7�8�8�8�8�8rc��|xjtdg��zc_|�|jtgd�����dSr�r%rs rr�z$TestUpdateOps.test_union_non_overlap��D�����C���H�H���������3�|�|�|�#4�#4�5�5�5�5�5rc��|j�tgd�����|�|jtgd�����dSr�)rIrVrMrs r�test_union_method_callz$TestUpdateOps.test_union_method_call�sJ�������I�I�I���'�'�'������3����#7�#7�8�8�8�8�8rc��|xjtd��zc_|�|jtd����dSr�r%rs rr�z&TestUpdateOps.test_intersection_subset�s<�����C��K�K���������3�v�;�;�/�/�/�/�/rc��|xjtgd���zc_|�|jtgd�����dSr�r%rs rr�z(TestUpdateOps.test_intersection_superset�sF�����C����%�%�%��������3�y�y�y�>�>�2�2�2�2�2rc��|xjtgd���zc_|�|jtdg����dSr�r%rs rr�z'TestUpdateOps.test_intersection_overlap�sB�����C�	�	�	�N�N�"��������3��s�8�8�,�,�,�,�,rc��|xjtdg��zc_|�|jt��dSr�rJrs rr�z+TestUpdateOps.test_intersection_non_overlap�s8�����C���H�H���������9�-�-�-�-�-rc��|j�tgd�����|�|jtdg����dSr�)rIr_rMrs r�test_intersection_method_callz+TestUpdateOps.test_intersection_method_call�sH����$�$�S����^�^�4�4�4������3��s�8�8�,�,�,�,�,rc��|xjtd��zc_|�|jtdg����dSr�r%rs rr�z(TestUpdateOps.test_sym_difference_subset��>�����C��K�K���������3��s�8�8�,�,�,�,�,rc��|xjtd��zc_|�|jtdg����dSr�r%rs rr�z*TestUpdateOps.test_sym_difference_superset�s@�����C��%�%�%��������3��s�8�8�,�,�,�,�,rc��|xjtd��zc_|�|jtgd�����dSr�r%rs rr�z)TestUpdateOps.test_sym_difference_overlap�sB�����C�	�N�N�"��������3�|�|�|�#4�#4�5�5�5�5�5rc��|xjtdg��zc_|�|jtgd�����dSr�r%rs rr�z-TestUpdateOps.test_sym_difference_non_overlap�r�rc��|j�tgd�����|�|jtgd�����dSr�)rIr�rMrs r�test_sym_difference_method_callz-TestUpdateOps.test_sym_difference_method_call�sL����,�,�S����^�^�<�<�<������3�|�|�|�#4�#4�5�5�5�5�5rc��|xjtd��zc_|�|jtdg����dSr�r%rs r�test_difference_subsetz$TestUpdateOps.test_difference_subset�r�rc��|xjtd��zc_|�|jtg����dSr�r%rs r�test_difference_supersetz&TestUpdateOps.test_difference_superset�s>�����C��%�%�%��������3�r�7�7�+�+�+�+�+rc��|xjtd��zc_|�|jtddg����dS�Nr�rDr�r%rs r�test_difference_overlapz%TestUpdateOps.test_difference_overlap�s@�����C�	�N�N�"��������3��1�v�;�;�/�/�/�/�/rc��|xjtdg��zc_|�|jtgd�����dS)Nr�r�r%rs r�test_difference_non_overlapz)TestUpdateOps.test_difference_non_overlap�sB�����C���H�H���������3�y�y�y�>�>�2�2�2�2�2rc��|j�tgd�����|�|jtddg����dSr)rIrkrMrs r�test_difference_method_callz)TestUpdateOps.test_difference_method_call�sJ����"�"�3�y�y�y�>�>�2�2�2������3��1�v�;�;�/�/�/�/�/rN)r
rrrBr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrr
rrr�r��sO������"�"�"�3�3�3�6�6�6�9�9�9�6�6�6�9�9�9�0�0�0�3�3�3�-�-�-�.�.�.�-�-�-�-�-�-�-�-�-�6�6�6�6�6�6�6�6�6�-�-�-�,�,�,�0�0�0�3�3�3�0�0�0�0�0rr�c�b�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�ZdS)�
TestMutatec�J�gd�|_t|j��|_dS)Nr~)rrIrs rrBzTestMutate.setUp�s"��%�o�o����t�{�#�#����rc��|j�d��|�|jtd����dS)NrXra�rIr�rMrs r�test_add_presentzTestMutate.test_add_present�s:������S���������3�u�:�:�.�.�.�.�.rc��|j�d��|�|jtd����dS)NrAr]r
rs r�test_add_absentzTestMutate.test_add_absent�s:������S���������3�v�;�;�/�/�/�/�/rc���t��}d}|jD]?}|�|��|dz
}|�t	|��|���@|�||j��dS)Nrr)rIrr�rMrR)r�tmp�expected_lenrWs    r�test_add_until_fullzTestMutate.test_add_until_full�sw���e�e������	5�	5�A��G�G�A�J�J�J��A��L����S��X�X�|�4�4�4�4�����d�h�'�'�'�'�'rc��|j�d��|�|jtd����dS)Nr{�ac)rIr�rMrs r�test_remove_presentzTestMutate.test_remove_present�s:���������������3�t�9�9�-�-�-�-�-rc��	|j�d��|�d��dS#t$rYdSwxYw)NrAz7Removing missing element should have raised LookupError)rIr�rp�LookupErrorrs r�test_remove_absentzTestMutate.test_remove_absent�sV��	��H�O�O�C� � � ��I�I�O�P�P�P�P�P���	�	�	��D�D�	���s�/3�
A�Ac���t|j��}|jD]I}|j�|��|dz}|�t|j��|���JdSr)rRrIrr�rM)rrrWs   r�test_remove_until_emptyz"TestMutate.test_remove_until_empty�si���4�8�}�}����	:�	:�A��H�O�O�A�����A��L����S���]�]�L�9�9�9�9�	:�	:rc��|j�d��|�|jtd����dS)NrXr��rIr�rMrs r�test_discard_presentzTestMutate.test_discard_presents<���������������3�t�9�9�-�-�-�-�-rc��|j�d��|�|jtd����dS)NrArarrs r�test_discard_absentzTestMutate.test_discard_absents<���������������3�u�:�:�.�.�.�.�.rc��|j���|�t|j��d��dSr-)rIr5rMrRrs rr6zTestMutate.test_clears8�������������T�X����*�*�*�*�*rc��i}|jr#d||j���<|j�#|�t|��t|j����|jD]}|�||���dSr)rIr(rMrRrrW)r�poppedrWs   rrPzTestMutate.test_pops������h�	*�%)�F�4�8�<�<�>�>�"��h�	*�����V���c�$�+�&6�&6�7�7�7���	%�	%�A��M�M�!�V�$�$�$�$�	%�	%rc��|j�d��|�|jt|j����dS)Nr
�rIrVrMrrs r�test_update_empty_tuplez"TestMutate.test_update_empty_tuples>���������������3�t�{�#3�#3�4�4�4�4�4rc��|j�d��|�|jt|j����dS)NrEr&rs r�test_update_unit_tuple_overlapz)TestMutate.test_update_unit_tuple_overlaps>���������������3�t�{�#3�#3�4�4�4�4�4rc��|j�d��|�|jt|jdgz����dS)N)rFrrr&rs r�"test_update_unit_tuple_non_overlapz-TestMutate.test_update_unit_tuple_non_overlap sE������
�#�#�#������3�t�{�c�U�':�#;�#;�<�<�<�<�<rN)r
rrrBrrrrrrrr!r6rPr'r)r+r
rrr
r
�s�������$�$�$�/�/�/�0�0�0�(�(�(�.�.�.����:�:�:�.�.�.�/�/�/�+�+�+�%�%�%�5�5�5�5�5�5�=�=�=�=�=rr
c�0�eZdZddd�Zdddddd	d
�Zd�ZdS)
�TestSubsetsr�r�)�<=�>=�==�!=�>�<r/r.)r0r1r3r2r.r/c��|j}|j}dD�],}||jv}td|zdzt	����}|�||��|tjvrAt|tj|��}||��}|�||��tj	|}td|zdzt	����}|�||��|tjvrAt|tj|��}||��}|�||����.dS)N)r1r0r3r.r2r/rmr�)
�left�right�cases�eval�localsrMr-�case2method�getattr�reverse)rrmr�rarOr �method�rcases        r�
test_issubsetzTestSubsets.test_issubset4s9���I���J��4�	3�	3�D��t�z�)�H��#��*�s�*�F�H�H�5�5�F����V�X�.�.�.��{�.�.�.� ��K�$;�D�$A�B�B��������� � ���2�2�2� �'��-�E��#��+��+�V�X�X�6�6�F����V�X�.�.�.���/�/�/� ��K�$;�E�$B�C�C��������� � ���2�2�2��%	3�	3rN)r
rrr:r<r?r
rrr-r-&sU������#�%���K���������G�3�3�3�3�3rr-c�>�eZdZe��Ze��ZdZdZdS)�TestSubsetEqualEmptyz
both empty�r0r.r/N�r
rrrIr5r6r�r7r
rrrArALs.�������C�E�E�D��C�E�E�E��D��E�E�ErrAc�J�eZdZeddg��Zeddg��ZdZdZdS)�TestSubsetEqualNonEmptyrrDz
equal pairrBNrCr
rrrErETs:�������C��A��K�K�D��C��A��K�K�E��D��E�E�ErrEc�D�eZdZe��Zeddg��ZdZdZdS)�TestSubsetEmptyNonEmptyrrDzone empty, one non-empty�r1r3r.NrCr
rrrGrG\s4�������C�E�E�D��C��A��K�K�E�&�D��E�E�ErrGc�H�eZdZedg��Zeddg��ZdZdZdS)�TestSubsetPartialrrDz&one a non-empty proper subset of otherrHNrCr
rrrJrJds8�������C���H�H�D��C��A��K�K�E�4�D��E�E�ErrJc�F�eZdZedg��Zedg��ZdZdZdS)�TestSubsetNonOverlaprrDzneither empty, neither containsr1NrCr
rrrLrLls6�������C���H�H�D��C���H�H�E�-�D��E�E�ErrLc�b�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�ZdS)�TestOnlySetsInBinaryOpsc�&�|�|j|jkd��|�|j|jkd��|�|j|jkd��|�|j|jkd��dSr�)rMr rIrs r�
test_eq_nez"TestOnlySetsInBinaryOps.test_eq_nevs��������t�x�/��7�7�7������T�Z�/��7�7�7������t�x�/��6�6�6������T�Z�/��6�6�6�6�6rc������t�fd�����t�fd�����t�fd�����t�fd�����t�fd�����t�fd�����t�fd�����t�fd���dS)	Nc�$���j�jkSr�rIr rs�r�<lambda>z:TestOnlySetsInBinaryOps.test_ge_gt_le_lt.<locals>.<lambda>~����T�X��
�-B�rc�$���j�jkSrrSrs�rrTz:TestOnlySetsInBinaryOps.test_ge_gt_le_lt.<locals>.<lambda>����T�X���-C�rc�$���j�jkSrrSrs�rrTz:TestOnlySetsInBinaryOps.test_ge_gt_le_lt.<locals>.<lambda>�rUrc�$���j�jkSrrSrs�rrTz:TestOnlySetsInBinaryOps.test_ge_gt_le_lt.<locals>.<lambda>�rWrc�$���j�jkSr�r rIrs�rrTz:TestOnlySetsInBinaryOps.test_ge_gt_le_lt.<locals>.<lambda>�����T�Z�$�(�-B�rc�$���j�jkSrr[rs�rrTz:TestOnlySetsInBinaryOps.test_ge_gt_le_lt.<locals>.<lambda>�����T�Z�4�8�-C�rc�$���j�jkSrr[rs�rrTz:TestOnlySetsInBinaryOps.test_ge_gt_le_lt.<locals>.<lambda>�r\rc�$���j�jkSrr[rs�rrTz:TestOnlySetsInBinaryOps.test_ge_gt_le_lt.<locals>.<lambda>�r^r)rGrHrs`r�test_ge_gt_le_ltz(TestOnlySetsInBinaryOps.test_ge_gt_le_lt}s	������)�%B�%B�%B�%B�C�C�C����)�%C�%C�%C�%C�D�D�D����)�%B�%B�%B�%B�C�C�C����)�%C�%C�%C�%C�D�D�D����)�%B�%B�%B�%B�C�C�C����)�%C�%C�%C�%C�D�D�D����)�%B�%B�%B�%B�C�C�C����)�%C�%C�%C�%C�D�D�D�D�Drc�~�	|xj|jzc_|�d��dS#t$rYdSwxYw�Nzexpected TypeError�rIr rprHrs r�test_update_operatorz,TestOnlySetsInBinaryOps.test_update_operator��X��	,��H�H��
�"�H�H�
�I�I�*�+�+�+�+�+���	�	�	��D�D�	�����.�
<�<c��|jr!|j�|j��dS|�t
|jj|j��dSr)�otherIsIterablerIrVr rGrHrs rrYz#TestOnlySetsInBinaryOps.test_update�sN����	F��H�O�O�D�J�'�'�'�'�'����i����$�*�E�E�E�E�Erc�&����t�fd�����t�fd����jr!�j��j��dS��t�jj�j��dS)Nc�"���j�jzSrrSrs�rrTz4TestOnlySetsInBinaryOps.test_union.<locals>.<lambda>�����T�X��
�-B�rc�"���j�jzSrr[rs�rrTz4TestOnlySetsInBinaryOps.test_union.<locals>.<lambda>�����T�Z�$�(�-B�r)rGrHrirIrer rs`rrnz"TestOnlySetsInBinaryOps.test_union�s�������)�%B�%B�%B�%B�C�C�C����)�%B�%B�%B�%B�C�C�C���	E��H�N�N�4�:�&�&�&�&�&����i������D�D�D�D�Drc�~�	|xj|jzc_|�d��dS#t$rYdSwxYwrcrdrs r�!test_intersection_update_operatorz9TestOnlySetsInBinaryOps.test_intersection_update_operator�rfrgc��|jr!|j�|j��dS|�t
|jj|j��dSr)rirIr_r rGrHrs rraz0TestOnlySetsInBinaryOps.test_intersection_update�s\����	*��H�(�(���4�4�4�4�4����i�"�h�:�"�j�
*�
*�
*�
*�
*rc�&����t�fd�����t�fd����jr!�j��j��dS��t�jj�j��dS)Nc�"���j�jzSrrSrs�rrTz;TestOnlySetsInBinaryOps.test_intersection.<locals>.<lambda>�rlrc�"���j�jzSrr[rs�rrTz;TestOnlySetsInBinaryOps.test_intersection.<locals>.<lambda>�rnr)rGrHrirIr|r rs`rr�z)TestOnlySetsInBinaryOps.test_intersection�s�������)�%B�%B�%B�%B�C�C�C����)�%B�%B�%B�%B�C�C�C���	L��H�!�!�$�*�-�-�-�-�-����i���)>��
�K�K�K�K�Krc�~�	|xj|jzc_|�d��dS#t$rYdSwxYwrcrdrs r�#test_sym_difference_update_operatorz;TestOnlySetsInBinaryOps.test_sym_difference_update_operator�rfrgc��|jr!|j�|j��dS|�t
|jj|j��dSr)rirIr�r rGrHrs r�test_sym_difference_updatez2TestOnlySetsInBinaryOps.test_sym_difference_update�s\����	*��H�0�0���<�<�<�<�<����i�"�h�B�"�j�
*�
*�
*�
*�
*rc�&����t�fd�����t�fd����jr!�j��j��dS��t�jj�j��dS)Nc�"���j�jzSrrSrs�rrTz=TestOnlySetsInBinaryOps.test_sym_difference.<locals>.<lambda>�rlrc�"���j�jzSrr[rs�rrTz=TestOnlySetsInBinaryOps.test_sym_difference.<locals>.<lambda>�rnr)rGrHrirIr�r rs`r�test_sym_differencez+TestOnlySetsInBinaryOps.test_sym_difference�s�������)�%B�%B�%B�%B�C�C�C����)�%B�%B�%B�%B�C�C�C���	T��H�)�)�$�*�5�5�5�5�5����i���)F��
�S�S�S�S�Src�~�	|xj|jzc_|�d��dS#t$rYdSwxYwrcrdrs r�test_difference_update_operatorz7TestOnlySetsInBinaryOps.test_difference_update_operator�rfrgc��|jr!|j�|j��dS|�t
|jj|j��dSr)rirIrkr rGrHrs rrlz.TestOnlySetsInBinaryOps.test_difference_update�s\����	*��H�&�&�t�z�2�2�2�2�2����i�"�h�8�"�j�
*�
*�
*�
*�
*rc�&����t�fd�����t�fd����jr!�j��j��dS��t�jj�j��dS)Nc�"���j�jz
SrrSrs�rrTz9TestOnlySetsInBinaryOps.test_difference.<locals>.<lambda>�rlrc�"���j�jz
Srr[rs�rrTz9TestOnlySetsInBinaryOps.test_difference.<locals>.<lambda>�rnr)rGrHrirIr�r rs`rr�z'TestOnlySetsInBinaryOps.test_difference�s�������)�%B�%B�%B�%B�C�C�C����)�%B�%B�%B�%B�C�C�C���	J��H����
�+�+�+�+�+����i���)<�d�j�I�I�I�I�IrN)r
rrrPrarerYrnrprar�rvrxr|r~rlr�r
rrrNrNts�������7�7�7�	E�	E�	E�,�,�,�F�F�F�E�E�E�,�,�,�*�*�*�L�L�L�,�,�,�*�*�*�T�T�T�,�,�,�*�*�*�J�J�J�J�JrrNc��eZdZd�ZdS)�TestOnlySetsNumericc�J�td��|_d|_d|_dS)Nr#�F�rIr rirs rrBzTestOnlySetsNumeric.setUp�s$����^�^�����
�$����rNrbr
rrr�r���#������%�%�%�%�%rr�c��eZdZd�ZdS)�TestOnlySetsDictc�P�td��|_ddd�|_d|_dS)Nr#rDrI)rr�Tr�rs rrBzTestOnlySetsDict.setUp�s*����^�^����Q�Z�Z��
�#����rNrbr
rrr�r���#������$�$�$�$�$rr�c��eZdZd�ZdS)�TestOnlySetsOperatorc�^�td��|_tj|_d|_dS)Nr#F)rIrzr�r rirs rrBzTestOnlySetsOperator.setUp�s&����^�^����\��
�$����rNrbr
rrr�r��r�rr�c��eZdZd�ZdS)�TestOnlySetsTuplec�J�td��|_d|_d|_dS)Nr#r�Tr�rs rrBzTestOnlySetsTuple.setUps$����^�^�����
�#����rNrbr
rrr�r�r�rr�c��eZdZd�ZdS)�TestOnlySetsStringc�J�td��|_d|_d|_dS)Nr#raTr�rs rrBzTestOnlySetsString.setUp	s$����^�^�����
�#����rNrbr
rrr�r�r�rr�c��eZdZd�ZdS)�TestOnlySetsGeneratorc�`�d�}td��|_|��|_d|_dS)Nc3�:K�tddd��D]}|V��dS)Nrr�rD)r�)rrs r�genz(TestOnlySetsGenerator.setUp.<locals>.gens4�����1�b�!�_�_�
�
�������
�
rr#Tr�)rr�s  rrBzTestOnlySetsGenerator.setUps;��	�	�	���^�^����S�U�U��
�#����rNrbr
rrr�r�s#������$�$�$�$�$rr�c��eZdZd�Zd�ZdS)�TestCopyingc�~�|j���}t|t���}t|jt���}|�t|��t|����t
t|����D]%}|�||||u���&dS�N�rK)rIr�rLr&rMrRr�r��rr��dup_list�set_listrrs     rr9zTestCopying.test_copys����h�m�m�o�o���#�4�(�(�(���$�(��-�-�-������X����H�
�
�6�6�6��s�8�}�}�%�%�	8�	8�A��O�O�H�Q�K�8�A�;�6�7�7�7�7�	8�	8rc�|�tj|j��}t|t���}t|jt���}|�t
|��t
|����tt
|����D]$}|�||||���%dSr�)r�r�rIrLr&rMrRr�r�s     r�test_deep_copyzTestCopying.test_deep_copy%s����m�D�H�%�%���#�4�(�(�(���$�(��-�-�-������X����H�
�
�6�6�6��s�8�}�}�%�%�	7�	7�A����X�a�[�(�1�+�6�6�6�6�	7�	7rN)r
rrr9r�r
rrr�r�s2������8�8�8�7�7�7�7�7rr�c��eZdZd�ZdS)�TestCopyingEmptyc�,�t��|_dSrr�rs rrBzTestCopyingEmpty.setUp1s���5�5����rNrbr
rrr�r�0s#����������rr�c��eZdZd�ZdS)�TestCopyingSingletonc�0�tdg��|_dS)N�hellor�rs rrBzTestCopyingSingleton.setUp7s����y�>�>����rNrbr
rrr�r�6s#������"�"�"�"�"rr�c��eZdZd�ZdS)�TestCopyingTriplec�2�tgd���|_dS)N)rsrNr�rs rrBzTestCopyingTriple.setUp=s���(�(�(�)�)����rNrbr
rrr�r�<s#������*�*�*�*�*rr�c��eZdZd�ZdS)�TestCopyingTuplec�0�tdg��|_dS)N�rrDr�rs rrBzTestCopyingTuple.setUpCs����x�=�=����rNrbr
rrr�r�Bs#������!�!�!�!�!rr�c��eZdZd�ZdS)�TestCopyingNestedc�0�tdg��|_dS)N)r�)r�rIr�rs rrBzTestCopyingNested.setUpIs���(�)�*�*����rNrbr
rrr�r�Hs#������+�+�+�+�+rr�c�,�eZdZd�Zd�Zd�Zd�Zd�ZdS)�TestIdentitiesc�V�td��|_td��|_dS)N�abracadabra�alacazam)rIrFr{rs rrBzTestIdentities.setUpOs"���]�#�#����Z������rc��|j|j}}|�||z
|k��|�||z
|k��|�||z|k��|�||z|k��|�||z|k��|�||z|k��|�||z||zk��dSr)rFr{r��rrFr{s   r�test_binopsVsSubsetsz#TestIdentities.test_binopsVsSubsetsSs����v�t�v�1������A���	�"�"�"�����A���	�"�"�"�����A���	�"�"�"�����A���	�"�"�"�����A���	�"�"�"�����A���	�"�"�"�����A���A��
�&�&�&�&�&rc��|j|j}}|�||z||z��|�||z||z��|�||z||z��||kr|�||z
||z
��dSdSr)rFr{rMr~r�s   r�test_commutativityz!TestIdentities.test_commutativity]s����v�t�v�1������1��a��c�"�"�"�����1��a��c�"�"�"�����1��a��c�"�"�"���6�6�����!��Q�q�S�)�)�)�)�)��6rc���|j|j}}|�||z
||zz||z
z||z��|�||z||zz||z��|�|||z
z||z��|�||z
|z||z��|�||z
||zz|��|�||z
||zz|��|�||z
||z
z||z��dSr)rFr{rMr�s   r�test_summationszTestIdentities.test_summationses���v�t�v�1�����!�A�#��!���a��c�*�A�a�C�0�0�0����!�A�#��!���a��c�*�*�*�����A�a�C��!�A�#�&�&�&����!�A�#�q��!�A�#�&�&�&����!�A�#��!���a�(�(�(����!�A�#��!���a�(�(�(����!�A�#��!���a��c�*�*�*�*�*rc���|j|jt��}}}|�||z
|z|��|�||z
|z|��|�||z||zz|��dSr)rFr{rIrM)rrFr{rss    r�test_exclusionzTestIdentities.test_exclusionps{���V�T�V�S�U�U�d�1�����!�A�#�q��$�'�'�'����!�A�#�q��$�'�'�'����!�A�#��!���d�+�+�+�+�+rN)r
rrrBr�r�r�r�r
rrr�r�Ns_������!�!�!�'�'�'�*�*�*�	+�	+�	+�,�,�,�,�,rr�c#�K�|D]}|V��dS)zRegular generatorNr
��seqnrrs  r�Rr�ys*����
����������rc��eZdZdZd�Zd�ZdS)�GzSequence using __getitem__c��||_dSr�r��rr�s  rr1z
G.__init__�s
����	�	�	rc��|j|Srr�rqs  r�__getitem__z
G.__getitem__�s���y��|�rN)r
rrr)r1r�r
rrr�r�~s8������ � ��������rr�c�$�eZdZdZd�Zd�Zd�ZdS)�Iz Sequence using iterator protocolc�"�||_d|_dSr-r�r�s  rr1z
I.__init__������	�����rc��|Srr
rs r�__iter__z
I.__iter__�����rc��|jt|j��krt�|j|j}|xjdz
c_|Sr�rrrRr�r��rrWs  r�__next__z
I.__next__��>���6�S���^�^�#�#�=�%8��I�d�f������!�����rN�r
rrr)r1r�r�r
rrr�r��sG������&�&�����������rr�c��eZdZdZd�Zd�ZdS)�Igz9Sequence using iterator protocol defined with a generatorc�"�||_d|_dSr-r�r�s  rr1zIg.__init__�r�rc#�&K�|jD]}|V��dSrr�)r�vals  rr�zIg.__iter__�s,�����9�	�	�C��I�I�I�I�	�	rN�r
rrr)r1r�r
rrr�r��s8������?�?��������rr�c��eZdZdZd�Zd�ZdS)�Xz Missing __getitem__ and __iter__c�"�||_d|_dSr-r�r�s  rr1z
X.__init__�r�rc��|jt|j��krt�|j|j}|xjdz
c_|Srr�r�s  rr�z
X.__next__�r�rN)r
rrr)r1r�r
rrr�r��s8������&�&��������rr�c��eZdZdZd�Zd�ZdS)�NzIterator missing __next__()c�"�||_d|_dSr-r�r�s  rr1z
N.__init__�r�rc��|Srr
rs rr�z
N.__iter__�r�rNr�r
rrr�r��s8������!�!��������rr�c�$�eZdZdZd�Zd�Zd�ZdS)�EzTest propagation of exceptionsc�"�||_d|_dSr-r�r�s  rr1z
E.__init__�r�rc��|Srr
rs rr�z
E.__iter__�r�rc��ddzdS)Nr�rr
rs rr�z
E.__next__�s��	�Q����rNr�r
rrr�r��sG������$�$�����������rr�c�$�eZdZdZd�Zd�Zd�ZdS)�SzTest immediate stopc��dSrr
r�s  rr1z
S.__init__�s���rc��|Srr
rs rr�z
S.__iter__�r�rc��t�r)r�rs rr�z
S.__next__�s���rNr�r
rrr�r��sG��������
�
�
��������rr�)�chainc��ttd�ttt	|����������S)z Test multiple tiers of iteratorsc��|Srr
)rms rrTzL.<locals>.<lambda>�s��a�r)r�r�r�r�r�r�s r�Lr��s.����Z�Z��2�a��g�g�;�;���0�0�1�1�1rc� �eZdZd�Zd�Zd�ZdS)�TestVariousIteratorArgsc�v�ttfD�](}ddtd��dtddd��fD�]}ttt
tttfD][}|�	t|||����t���t||��t������\|�t|t|����|�t|t|����|�t |t#|��������*dS)	N�123rwr���dog333333�?���r�r�)rIrVr�r�r�r�r�r�r�rMrLr&rGrHr�r��ZeroDivisionErrorr�)r�consr>�gs    rr�z(TestVariousIteratorArgs.test_constructor�s ���)�$�	B�	B�D��R��t���k�5��d�1�;M�;M�N�
B�
B���Q��A�q�!�,�[�[�A��$�$�V�D�D���1���J�J�D�%A�%A�%A�6�!�!�A�$�$�TX�CY�CY�CY�Z�Z�Z�Z��!�!�)�T�A�a�D�D�9�9�9��!�!�)�T�A�a�D�D�9�9�9��!�!�"3�T�A�a�D�D�A�A�A�A�
B�	B�	Brc
��td��}ddtd��dtddd��d	fD�]O}|j|j|j|j|jfD�]*}tttttfD]�}||��}|||����}t|t��r|�||���M|�t|t �
��t|t �
������|�t$|t'|����|�t$|t)|����|�t*|t-|������,��QdS)N�novemberr�rwr�r�r�r�r��decemberr�)rIr�rer|r�r�r�r�r�r�r�r��
isinstance�boolrMrLr&rGrHr�r�rr�)rr>r��methrrOrNs       r�test_inline_methodsz+TestVariousIteratorArgs.test_inline_methods�st���
�O�O���B��d���[�%��T�!�:L�:L�j�Y�	A�	A�D���!�.�!�,��@V�XY�Xd�e�

A�

A���Q��A�q�)�_�_�A�#�t�D�z�z�H�!�T�!�!�D�'�'�]�]�F�!�(�D�1�1�_��(�(���:�:�:�:��(�(���D�)A�)A�)A�6�(�X\�C]�C]�C]�^�^�^�^��!�!�)�T�1�Q�4�4�8�8�8��!�!�)�T�1�Q�4�4�8�8�8��!�!�"3�T�1�Q�4�4�@�@�@�@�

A�	A�	Arc
��ddtd��dtddd��dfD�]�}d	D�]�}ttttt
tfD]�}td
��}|���}t||��t||������t||��||����|�t|t���t|t�������|�tttd
��|��t!|����|�tttd
��|��t#|����|�t$ttd
��|��t'|����������dS)Nr�rwr�r�r�r�r�r)rVr_rkr��januaryr�)r�r�r�r�r�r�r�rIr�r;rirMrLr&rGrHr�r�rr�)rr��methnamerr>r�s      r�test_inplace_methodsz,TestVariousIteratorArgs.test_inplace_methods�s����B��d���[�%��T�!�:L�:L�j�Y�	a�	a�D�Q�
a�
a���Q��A�q�!�,�O�O�A��I���A������A�(�G�A�x�(�(��a�a��g�g���7�7�7�(�G�A�x�(�(���4���1�1�1��$�$�V�A�4�%8�%8�%8�&���:M�:M�:M�N�N�N�N��!�!�)�W�S��^�^�X�-N�-N�PQ�RV�PW�PW�X�X�X��!�!�)�W�S��^�^�X�-N�-N�PQ�RV�PW�PW�X�X�X��!�!�"3�W�S��^�^�X�5V�5V�XY�Z^�X_�X_�`�`�`�`�
a�	a�	arN)r
rrr�r	r
r
rrr�r��sL������B�B�B�
A�
A�
A�
a�
a�
a�
a�
arr�c��eZdZd�Zd�ZdS)�bad_eqc�X�tr t���t�||uSr)�be_bad�set2r5rrs  rr!z
bad_eq.__eq__�s'���	$��J�J�L�L�L�#�#��u�}�rc��dSr-r
rs rrzbad_eq.__hash__�rrN�r
rrr!rr
rrrr�s2���������
����rrc��eZdZd�Zd�ZdS)�bad_dict_clearc�J�trt���||uSr)r�dict2r5rs  rr!zbad_dict_clear.__eq__�s!���	��K�K�M�M�M��u�}�rc��dSr-r
rs rrzbad_dict_clear.__hash__�rrNrr
rrrr�s2�������������rrc� �eZdZd�Zd�Zd�ZdS)�
TestWeirdBugsc�$�dat��h}d�td��D��ada|�t
|jt��dat��h}t��diada|�	t��dS)NFc�*�h|]}t����Sr
)rr�s  rr�z4TestWeirdBugs.test_8420_set_merge.<locals>.<setcomp>s��,�,�,�Q����,�,�,r�KT)
rrr�rrGrrVrrr�)r�set1s  r�test_8420_set_mergez!TestWeirdBugs.test_8420_set_merges��������z��,�,�%��)�)�,�,�,�������+�T�[�$�?�?�?���� � �!���!�!�4�(�����(�(��/�/�/�/�/rc��ttd����}|���|�td����t	|��}|���ttd����}|�td����t|��dS)Nr�)rIr�r5rVr�ri)rr>�sirFs    r�test_iter_and_mutatez"TestWeirdBugs.test_iter_and_mutates�����c�
�
�O�O��	���	�	�	�	����s������
�!�W�W��	���	�	�	���s������	����s�������R�����rc����G�fd�d���t����fd�td��D���dh}|����dS)Nc� ��eZdZd�Z�fd�ZdS)�.TestWeirdBugs.test_merge_and_mutate.<locals>.Xc� �td��Sr-)r2rs rrz7TestWeirdBugs.test_merge_and_mutate.<locals>.X.__hash__s
���A�w�w�rc�0������dS)NF)r5)r�or s  �rr!z5TestWeirdBugs.test_merge_and_mutate.<locals>.X.__eq__s������
�
�
��urNr")r s�rr�r&s=�������
�
�
�
�
�
�
�
�
�
rr�c�$��h|]}�����
Sr
r
)r�rrr�s  �rr�z6TestWeirdBugs.test_merge_and_mutate.<locals>.<setcomp>$s���(�(�(������(�(�(rr�r)rIr�rV)rr>r�r s  @@r�test_merge_and_mutatez#TestWeirdBugs.test_merge_and_mutatesz����	�	�	�	�	�	�	�	�	�	�����(�(�(�(�e�B�i�i�(�(�(��
�C��	��������rN)r
rrr r#r+r
rrrrsA������
0�
0�
0�	�	�	�����rrc�&�eZdZdZdZdZd�Zd�ZdS)�TestOperationsMutatingzRegression test for bpo-46615Nc�(�����G���fd�d���d�|��fd�ttd����D�����|��fd�ttd����D�����d���fS)Nc�$��eZdZ���fd�Zd�ZdS)�<TestOperationsMutating.make_sets_of_bad_objects.<locals>.Badc�����sdStd��dkr����td��dkr����ttd����S)NF�rrD)rr5r)rr �enabledrrs  ���rr!zCTestOperationsMutating.make_sets_of_bad_objects.<locals>.Bad.__eq__1s`����!� �5��R�=�=�A�%�%��J�J�L�L�L��R�=�=�A�%�%��J�J�L�L�L��I�a�L�L�)�)�)rc� �td��Srjr�rs rrzETestOperationsMutating.make_sets_of_bad_objects.<locals>.Bad.__hash__9s�� ��|�|�#rNr)r3rrs���r�Badr00sG�������
*�
*�
*�
*�
*�
*�
*�
$�
$�
$�
$�
$rr5Fc3�,�K�|]}���V��dSrr
�r��_r5s  �rr�zBTestOperationsMutating.make_sets_of_bad_objects.<locals>.<genexpr>=�)����� E� E�1����� E� E� E� E� E� Er�2c3�,�K�|]}���V��dSrr
r7s  �rr�zBTestOperationsMutating.make_sets_of_bad_objects.<locals>.<genexpr>>r9rT)�constructor1r�r�constructor2)rr5r3rrs @@@@r�make_sets_of_bad_objectsz/TestOperationsMutating.make_sets_of_bad_objects/s�������
	$�
	$�
	$�
	$�
	$�
	$�
	$�
	$�
	$�
	$�
	$�
	$���� � � E� E� E� E��i��m�m�0D�0D� E� E� E�E�E��� � � E� E� E� E��i��m�m�0D�0D� E� E� E�E�E�����T�z�rc���td��D]`}|���\}}	|||���'#t$r-}|�dt	|����Yd}~�Yd}~wwxYwdS)Nr�zchanged size during iteration)r�r>rrWrh)r�functionr8rrrEs      r�check_set_op_does_not_crashz2TestOperationsMutating.check_set_op_does_not_crashCs����s���	G�	G�A��6�6�8�8�J�D�$�
G����t�$�$�$�$���
G�
G�
G��
�
�=�s�1�v�v�F�F�F�F�F�F�F�F�����
G����		G�	Gs�7�
A.�#A)�)A.)r
rrr)r<r=r>rAr
rrr-r-)sG������'�'��L��L����(G�G�G�G�Grr-c�h�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�ZdS)�TestBinaryOpsMutatingc�2�|�d���dS)Nc��||kSrr
�rFr{s  rrTz=TestBinaryOpsMutating.test_eq_with_mutation.<locals>.<lambda>P�
��a�1�f�r�rArs r�test_eq_with_mutationz+TestBinaryOpsMutating.test_eq_with_mutationO� ���(�(�)<�)<�=�=�=�=�=rc�2�|�d���dS)Nc��||kSrr
rFs  rrTz=TestBinaryOpsMutating.test_ne_with_mutation.<locals>.<lambda>SrGrrHrs r�test_ne_with_mutationz+TestBinaryOpsMutating.test_ne_with_mutationRrJrc�2�|�d���dS)Nc��||kSrr
rFs  rrTz=TestBinaryOpsMutating.test_lt_with_mutation.<locals>.<lambda>V�
��a�!�e�rrHrs r�test_lt_with_mutationz+TestBinaryOpsMutating.test_lt_with_mutationU� ���(�(�);�);�<�<�<�<�<rc�2�|�d���dS)Nc��||kSrr
rFs  rrTz=TestBinaryOpsMutating.test_le_with_mutation.<locals>.<lambda>YrGrrHrs r�test_le_with_mutationz+TestBinaryOpsMutating.test_le_with_mutationXrJrc�2�|�d���dS)Nc��||kSrr
rFs  rrTz=TestBinaryOpsMutating.test_gt_with_mutation.<locals>.<lambda>\rPrrHrs r�test_gt_with_mutationz+TestBinaryOpsMutating.test_gt_with_mutation[rRrc�2�|�d���dS)Nc��||kSrr
rFs  rrTz=TestBinaryOpsMutating.test_ge_with_mutation.<locals>.<lambda>_rGrrHrs r�test_ge_with_mutationz+TestBinaryOpsMutating.test_ge_with_mutation^rJrc�2�|�d���dS)Nc��||zSrr
rFs  rrTz>TestBinaryOpsMutating.test_and_with_mutation.<locals>.<lambda>b�
��a�!�e�rrHrs r�test_and_with_mutationz,TestBinaryOpsMutating.test_and_with_mutationarRrc�2�|�d���dS)Nc��||zSrr
rFs  rrTz=TestBinaryOpsMutating.test_or_with_mutation.<locals>.<lambda>er^rrHrs r�test_or_with_mutationz+TestBinaryOpsMutating.test_or_with_mutationdrRrc�2�|�d���dS)Nc��||z
Srr
rFs  rrTz>TestBinaryOpsMutating.test_sub_with_mutation.<locals>.<lambda>hr^rrHrs r�test_sub_with_mutationz,TestBinaryOpsMutating.test_sub_with_mutationgrRrc�2�|�d���dS)Nc��||zSrr
rFs  rrTz>TestBinaryOpsMutating.test_xor_with_mutation.<locals>.<lambda>kr^rrHrs r�test_xor_with_mutationz,TestBinaryOpsMutating.test_xor_with_mutationjrRrc�6�d�}|�|��dS)Nc��||z}dSrr
rFs  rr�z8TestBinaryOpsMutating.test_iadd_with_mutation.<locals>.fn���
��F�A�A�ArrHr�s  r�test_iadd_with_mutationz-TestBinaryOpsMutating.test_iadd_with_mutationm�+��	�	�	��(�(��+�+�+�+�+rc�6�d�}|�|��dS)Nc��||z}dSrr
rFs  rr�z7TestBinaryOpsMutating.test_ior_with_mutation.<locals>.fsrkrrHr�s  r�test_ior_with_mutationz,TestBinaryOpsMutating.test_ior_with_mutationrrmrc�6�d�}|�|��dS)Nc��||z}dSrr
rFs  rr�z8TestBinaryOpsMutating.test_isub_with_mutation.<locals>.fxrkrrHr�s  r�test_isub_with_mutationz-TestBinaryOpsMutating.test_isub_with_mutationwrmrc�6�d�}|�|��dS)Nc��||z}dSrr
rFs  rr�z8TestBinaryOpsMutating.test_ixor_with_mutation.<locals>.f}rkrrHr�s  r�test_ixor_with_mutationz-TestBinaryOpsMutating.test_ixor_with_mutation|rmrc��d�}d�}d�}|�|��|�|��|�|��dS)Nc��|D]}�|D]}�dSrr
�rFr{rmr�s    r�f1z>TestBinaryOpsMutating.test_iteration_with_mutation.<locals>.f1��0���
�
����
�
���
�
rc��|D]}�|D]}�dSrr
)rFr{r�rms    r�f2z>TestBinaryOpsMutating.test_iteration_with_mutation.<locals>.f2�r{rc�2�t||��D]\}}�dSr)�ziprys    r�f3z>TestBinaryOpsMutating.test_iteration_with_mutation.<locals>.f3�s*���A�q�	�	�
�
���1��
�
rrH)rrzr}r�s    r�test_iteration_with_mutationz2TestBinaryOpsMutating.test_iteration_with_mutation�ss��	�	�	�
	�	�	�
	�	�	�	
�(�(��,�,�,��(�(��,�,�,��(�(��,�,�,�,�,rN)r
rrrIrMrQrUrXr[r_rbrerhrlrprsrvr�r
rrrCrCMs�������>�>�>�>�>�>�=�=�=�>�>�>�=�=�=�>�>�>�=�=�=�=�=�=�=�=�=�=�=�=�,�,�,�
,�,�,�
,�,�,�
,�,�,�
-�-�-�-�-rrCc��eZdZeZeZdS)�TestBinaryOpsMutating_Set_SetN�r
rrrIr<r=r
rrr�r����������L��L�L�Lrr�c��eZdZeZeZdS)�'TestBinaryOpsMutating_Subclass_SubclassN�r
rrr�r<r=r
rrr�r����������L��L�L�Lrr�c��eZdZeZeZdS)�"TestBinaryOpsMutating_Set_SubclassN�r
rrrIr<r�r=r
rrr�r����������L��L�L�Lrr�c��eZdZeZeZdS)�"TestBinaryOpsMutating_Subclass_SetN�r
rrr�r<rIr=r
rrr�r����������L��L�L�Lrr�c�P�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
dS)
�TestMethodsMutatingc�D�|�tj��dSr)rArIr�rs r�test_issubset_with_mutationz/TestMethodsMutating.test_issubset_with_mutation�s���(�(���6�6�6�6�6rc�D�|�tj��dSr)rArIr�rs r�test_issuperset_with_mutationz1TestMethodsMutating.test_issuperset_with_mutation�����(�(���8�8�8�8�8rc�D�|�tj��dSr)rArIr|rs r�test_intersection_with_mutationz3TestMethodsMutating.test_intersection_with_mutation�s���(�(��)9�:�:�:�:�:rc�D�|�tj��dSr)rArIrers r�test_union_with_mutationz,TestMethodsMutating.test_union_with_mutation�s���(�(���3�3�3�3�3rc�D�|�tj��dSr)rArIr�rs r�test_difference_with_mutationz1TestMethodsMutating.test_difference_with_mutation�r�rc�D�|�tj��dSr)rArIr�rs r�'test_symmetric_difference_with_mutationz;TestMethodsMutating.test_symmetric_difference_with_mutation�s���(�(��)A�B�B�B�B�Brc�D�|�tj��dSr)rArIr�rs r�test_isdisjoint_with_mutationz1TestMethodsMutating.test_isdisjoint_with_mutation�r�rc�D�|�tj��dSr)rArIrkrs r�$test_difference_update_with_mutationz8TestMethodsMutating.test_difference_update_with_mutation�s���(�(��)>�?�?�?�?�?rc�D�|�tj��dSr)rArIr_rs r�&test_intersection_update_with_mutationz:TestMethodsMutating.test_intersection_update_with_mutation�s���(�(��)@�A�A�A�A�Arc�D�|�tj��dSr)rArIr�rs r�.test_symmetric_difference_update_with_mutationzBTestMethodsMutating.test_symmetric_difference_update_with_mutation�s���(�(��)H�I�I�I�I�Irc�D�|�tj��dSr)rArIrVrs r�test_update_with_mutationz-TestMethodsMutating.test_update_with_mutation�s���(�(���4�4�4�4�4rN)r
rrr�r�r�r�r�r�r�r�r�r�r�r
rrr�r��s�������7�7�7�9�9�9�;�;�;�4�4�4�9�9�9�C�C�C�9�9�9�@�@�@�B�B�B�J�J�J�5�5�5�5�5rr�c��eZdZeZeZdS)�TestMethodsMutating_Set_SetNr�r
rrr�r��r�rr�c��eZdZeZeZdS)�%TestMethodsMutating_Subclass_SubclassNr�r
rrr�r��r�rr�c��eZdZeZeZdS)� TestMethodsMutating_Set_SubclassNr�r
rrr�r��r�rr�c��eZdZeZeZdS)� TestMethodsMutating_Subclass_SetNr�r
rrr�r��r�rr�c� �eZdZeZejZdS)�TestMethodsMutating_Set_DictN)r
rrrIr<r?r@r=r
rrr�r��s�������L��=�L�L�Lrr�c��eZdZeZeZdS)�TestMethodsMutating_Set_ListN)r
rrrIr<rir=r
rrr�r��s�������L��L�L�Lrr�c#��K�t|��}	tt|��g��}t|��D]
}|V�||zV��dS#t$rt��V�YdSwxYw)z-Generates all subsets of a set or sequence U.N)r�rVr�r�r�)�Urmr�s   rr�r��s������Q���A���t�A�w�w�i� � ���!���	�	�A��G�G�G��a�%�K�K�K�K�	�	�������k�k����������s�:A�A-�,A-c���d�t|��D���t�fd�tt|����D����S)z!Graph of n-dimensional hypercube.c�.�g|]}t|g����Sr
�rV)r�rms  rr�zcube.<locals>.<listcomp>�s ��3�3�3�Q�)�Q�C�.�.�3�3�3rc�L���g|]��t�fd��D����f�� S)c���g|]}�|z��Sr
r
)r�r>rms  �rr�z#cube.<locals>.<listcomp>.<listcomp>�s���8�8�8���!��8�8�8rr�)r�rm�
singletonss @�rr�zcube.<locals>.<listcomp>�sL����.�.�.���Y�8�8�8�8�Z�8�8�8�9�9�:�.�.�.r)r�r?r�)rr�s @r�cuber��sb���3�3�%��(�(�3�3�3�J��.�.�.�.�"�5��8�8�,�,�.�.�.�/�/�/rc�����i}|D][�|�D]P���fd�|�D��}��fd�|�D��}t||z��|t��g��<�Q�\|S)z�Graph, the vertices of which are edges of G,
    with two vertices being adjacent iff the corresponding
    edges share a vertex.c�>��g|]}|�k�t�|g����Sr
r��r�rrmr�s  ��rr�zlinegraph.<locals>.<listcomp>��*���;�;�;�q�A��F�F�)�Q�q�E�"�"�F�F�Frc�>��g|]}|�k�t�|g����Sr
r�r�s  ��rr�zlinegraph.<locals>.<listcomp>�r�rr�)r�r��nx�nyrmr�s    @@r�	linegraphr��s�����	�A�
�3�3���1��	3�	3�A�;�;�;�;�;�A�a�D�;�;�;�B�;�;�;�;�;�A�a�D�;�;�;�B�"+�B�r�E�"2�"2�A�i��1������	3�
�Hrc��t��}|���D]�\}}|D]�}||D]�}||kr�	|||vr&|�t|||g�����9||D]�}||kr�	|||vr'|�t||||g�����:||D]@}||ks||kr�|||vr'|�t|||||g�����A���ƌь�|S)zKReturn a set of faces in G.  Where a face is a set of vertices on that face)rI�itemsr�rV)r�r�rD�edgesrF�v3�v4�v5s        r�facesr�s[��	���A��W�W�Y�Y�K�K�	��E��	K�	K�B���e�
K�
K����8�8����2��;�;��E�E�)�R��R�L�1�1�2�2�2�2���e�
K�
K����8�8�$���2��;�;��E�E�)�R��R��,<�"=�"=�>�>�>�>�&'��e�K�K��#%��8�8�r�R�x�x�$,�#%��2��;�;�$%�E�E�)�R��R��R�4H�*I�*I�$J�$J�$J��	K�
K�

K�	K�$
�Hrc��eZdZd�Zd�ZdS)�
TestGraphsc�2�td��}t|��}|�t|��d��|���D]%}|�t|��d���&td�|���D����}|�||��t|��}|�t|��d��|D]%}|�t|��d���&dS)Nr�r�c3�$K�|]}|D]}|V���dSrr
)r�r�rWs   rr�z'TestGraphs.test_cube.<locals>.<genexpr>$s/����A�A�e�5�A�A�a��A�A�A�A�A�A�Arr�rI)r�rIrMrRrr�)rr�	vertices1�edge�	vertices2�	cubefaces�faces       r�	test_cubezTestGraphs.test_cubes����G�G����F�F�	�����Y����+�+�+��H�H�J�J�	+�	+�D����S��Y�Y��*�*�*�*��A�A�q�x�x�z�z�A�A�A�A�A�	�����I�.�.�.��!�H�H�	�����Y����+�+�+��	+�	+�D����S��Y�Y��*�*�*�*�	+�	+rc�*�td��}t|��}|�t|��d��t	|��}|���D]%}|�t|��d���&t	d�|���D����}|�||��t
|��}tjt��}|D]}|t|��xxdz
cc<� |�|dd��|�|dd��|D]B}	|	}
|�t|
��d��|
D]}|�
||����CdS)	Nr��rIc3�$K�|]}|D]}|V���dSrr
)r�r�r�s   rr�z0TestGraphs.test_cuboctahedron.<locals>.<genexpr>9s0����W�W�U�QV�W�W��D�W�W�W�W�W�W�Wrrr�r�rD)r�r�rMrRrIrr�r��defaultdictr3rW)rr�
cuboctahedron�verticesr��
othervertices�	cubofaces�	facesizesr��vertexr��cubeverts            r�test_cuboctahedronzTestGraphs.test_cuboctahedron,s���
��G�G��!�!���
�����]�+�+�R�0�0�0��}�%�%��"�)�)�+�+�	,�	,�E����S��Z�Z��+�+�+�+��W�W�m�.B�.B�.D�.D�W�W�W�W�W�
�����=�1�1�1��-�(�(�	��+�C�0�0�	��	&�	&�D��c�$�i�i� � � �A�%� � � � �����1��q�)�)�)�����1��q�)�)�)�#�	+�	+�F��D����S��Y�Y��*�*�*� �
+�
+���
�
�h��*�*�*�*�
+�	+�	+rN)r
rrr�r�r
rrr�r�s2������
+�
+�
+�+�+�+�+�+rr��__main__)lr��testr�test.supportrrrrzr�r��randomrrr�r��collections.abcr��	Exceptionrrrr$r3r+r5�TestCaserrIr�r�r�rVr�r�rrrrr4rr^rdrprxr|r�r�r�r�r�r�r�r�r
r-rArErGrJrLrNr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrr-rCr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r
�mainr
rr�<module>r�s�������������(�(�(�(�(�(�	�	�	�	�������������
�
�
�
�%�%�%�%�%�%�%�%�����������������	�	�	�	�	�y�	�	�	������������ � � � � � � � �
"�"�"�"�"�c�"�"�"�{E�{E�{E�{E�{E�{E�{E�{E�z	[3�[3�[3�[3�[3�l�H�-�[3�[3�[3�z	�	�	�	�	�#�	�	�	�!0�!0�!0�!0�!0�g�!0�!0�!0�HG+�G+�G+�G+�G+�L�(�"3�G+�G+�G+�R	�	�	�	�	�	�	�	�	�6;�6;�6;�6;�6;�M�6;�6;�6;�r'�'�'�'�'�3�'�'�'�/�/�/�/�/�x�0�/�/�/�
'�'�'�'�'��'�'�'�)�)�)�)�)�%=�)�)�)�

�C�E�E�	�f)�f)�f)�f)�f)�f)�f)�f)�T������h�&7����
&�
&�
&�
&�
&�L�(�*;�
&�
&�
&�"
&�
&�
&�
&�
&��h�&7�
&�
&�
&�"������x�'8����	)�	)�	)�	)�	)��x�'8�	)�	)�	)�	)�	)�	)�	)�	)��h�&7�	)�	)�	)�)�)�)�)�)�<��1B�)�)�)�������J�J�J�J�J�x�0�J�J�J�6	�	�	�	�	�H�%�	�	�	�E4�E4�E4�E4�E4�H�%�E4�E4�E4�RR0�R0�R0�R0�R0�H�%�R0�R0�R0�lF=�F=�F=�F=�F=��"�F=�F=�F=�T#3�#3�#3�#3�#3�#3�#3�#3�L�����;��(9���������k�8�+<���������k�8�+<����������X�%6���������;��(9����pJ�pJ�pJ�pJ�pJ�pJ�pJ�pJ�h%�%�%�%�%�1�8�3D�%�%�%�$�$�$�$�$�.��0A�$�$�$�%�%�%�%�%�2�H�4E�%�%�%�$�$�$�$�$�/��1B�$�$�$�$�$�$�$�$�0�(�2C�$�$�$�$�$�$�$�$�3�X�5F�$�$�$�7�7�7�7�7�7�7�7�*�����{�H�$5����"�"�"�"�"�;��(9�"�"�"�*�*�*�*�*��X�%6�*�*�*�!�!�!�!�!�{�H�$5�!�!�!�+�+�+�+�+��X�%6�+�+�+�',�',�',�',�',�X�&�',�',�',�V���
������������������������	�	�	�	�	�	�	�	�������������������������������2�2�2�'a�'a�'a�'a�'a�h�/�'a�'a�'a�R����������������&�&�&�&�&�H�%�&�&�&�R!G�!G�!G�!G�!G�!G�!G�!G�HD-�D-�D-�D-�D-�2�D-�D-�D-�N�����$9�8�;L���������.C�X�EV���������)>��@Q���������)>��@Q����
!5�!5�!5�!5�!5�0�!5�!5�!5�H�����"5�x�7H���������,?��AR���������':�H�<M���������':�H�<M����!�!�!�!�!�#6��8I�!�!�!������#6��8I����	�	�	�/�/�/�

�

�

�
�
�
�4,+�,+�,+�,+�,+��"�,+�,+�,+�b�z����H�M�O�O�O�O�O��r