Sindbad~EG File Manager

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

�

'Μgr����ddlZddlZddlmZddlmZmZddl�ddlZddl	m
Z
ddlmZddl
Z
ddlZddlZddlZddlmZddlZddlZddlZddlZddlZd�Zej2Zed	z
Zd
�Zd�Zd�Zd
�Zd�Z d�Z!d�Z"d�Z#Gd�d�Z$d�Z%d�Z&d�Z'd�Z(d�Z)d�Z*e+ejXd	z�D�cgc]}|fd���	c}Z-Gd�dej\�Z/Gd�dej\�Z0Gd�d ej\�Z1Gd!�d"ej\�Z2d#�Z3Gd$�d%�Z4Gd&�d'�Z5Gd(�d)�Z6Gd*�d+�Z7Gd,�d-�Z8Gd.�d/�Z9Gd0�d1�Z:Gd2�d3�Z;d4�Z<Gd5�d6ej\�Z=Gd7�d8ej\�Z>Gd9�d:ej\�Z?Gd;�d<ej\�Z@ej�Gd=�d>ej\��ZBd?�ZCeDd@k(rej��yycc}w)A�N)�support)�threading_helper�
script_helper)�*)�Decimal)�Fraction)�reducec���	�fd�}|S)Nc���|jt�5�|�ddd�tj�5tjdt���|�ddd�tj�5tjdt��|jtttf�5�|�ddd�ddd�y#1swY��xYw#1swY�xYw#1swY�*xYw#1swYyxYw)N�ignore)�category�error)�assertWarns�DeprecationWarning�warnings�catch_warnings�simplefilter�assertRaises�AssertionError�SystemError)�self�testfuncs ��0/usr/local/lib/python3.12/test/test_itertools.py�innerz pickle_deprecated.<locals>.inners����
�
�
�0�
1��T�N�2�
�
$�
$�
&��!�!�(�5G�H��T�N�'��
$�
$�
&��!�!�'�4F�G��"�"�$6���#T�U����V�'�
&�2�
1��
&�
&��
V�U��'�
&�s:�	C�$C�<<C6�8	C*�C6�C�C'�*C3	�/C6�6C?�)rrs` r�pickle_deprecatedrs����
	��L��c�$�tt|��S�N)�list�zip��argss r�lzipr%*s����T�
��rc��	d|zS�N�r��xs r�oneargr+-s��#��Q�3�Jrc��	t�r )�
ValueErrorr#s r�errfuncr.1s��(�
�rc#�$K�	dD]}|���y�w)N�rrr(r)�is r�gen3r25s����%�
�������c��	|dzdk(S)Nr(rrr)s r�isEvenr5:�����Q�3��6�Mrc��	|dzdk(S�Nr(rrr)s r�isOddr9>r6rc��|Sr rr#s r�tupleizer;Bs���Krc#�4K�t|�D]}|���y�wr ��range)�nr1s  r�iranger@Es����
�1�X�������c��eZdZ	d�Zd�Zy)�StopNowc��|Sr r�rs r�__iter__zStopNow.__iter__K����rc��t�r ��
StopIterationrEs r�__next__zStopNow.__next__M����rN��__name__�
__module__�__qualname__rFrKrrrrCrCIs��(��rrCc�.�	tt||��Sr )r!�islice)r?�seqs  r�takerTPs��N���s�A���rc�8�ttj|d�S�Nr)r	�operator�mul��iterables r�prodr[Ts���(�,�,��!�,�,rc�4�	ttd|dz��SrV)r[r>)r?s r�factr]Ws�����a��1��
��rc��|dS�Nrr��rs r�testRrb\����Q�4�Krc��|dSr'rr`s r�testR2re_rcrc��|dkS)N�
rr)s r�undertenrhbs���R�4�Krc�T�tjtj||��Sr )�pickle�loads�dumps)�s�protos  r�<lambda>roes�����V�\�\�!�U�5K�(Lrc���eZdZd@d�Zed��Zd�Zd�Zd�Zed��Z	ed��Z
ed	��Zejd
��Zejd�d��Zed
��Zejd��Zejd�d��Zed��Zejd��Zejd�d��Zd�Zed��Zed��Zed��Zd�Zed��Zed��Zed��Zed��Zd�Z ed��Z!d�Z"ejd�ed���Z#d �Z$ejd�d!��Z%ed"��Z&d#�Z'd$�Z(d%�Z)d&�Z*d'�Z+d(�Z,ejd)��Z-ejd�d*��Z.ed+��Z/ed,��Z0ed-��Z1d.�Z2ed/��Z3ed0��Z4ed1��Z5ed2��Z6ed3��Z7ed4��Z8d5�Z9d6�Z:d7�Z;e<jz�d8��Z>d9�Z?ej�d:��ZAej�d;��ZBej�d<��ZCej�d=��ZDej�d>��ZEej�d?��ZFy)A�TestBasicOpsNc����	d��fd�	�tj||�}tj|�}|jt	|�t	|���|��|�}	}|j||	�|r�|�}
|j||
�tj|�}d}	t|�D]}
t
|�|dz
}�	tj||�}tj|�}�|��|�}	}|j||	�|r�||d�}
|j||
�yy#t$rY�ywxYw)Nrc����|dkDrtd��t|t�r|S	tt	|���}|D�cgc]}�||dz���c}S#t
$r|cYSwxYwcc}w)Nrgzinfinite recursion encounteredr)�RuntimeError�
isinstance�strr!rR�	TypeError)�itr1�l�e�expand�stops    ��rr{z'TestBasicOps.pickletest.<locals>.expandlst����2�v�"�#C�D�D��"�c�"��	�
����D�)�*��-.�.�A�q�F�1�a��c�N�A�.�.���
��	�
��.s�A�A%�A"�!A"r�r)rjrlrk�assertEqual�typer>�nextrJ)r�protocolrxr|rT�compare�dump�i2�a�b�c�i3�tookr1�i4r{s   `           @r�
pickletestzTestBasicOps.pickletestjs5���W�
	/��|�|�B��)��
�\�\�$�
������b��4��8�,��b�z�6�"�:�1������A����w��A����Q��"��\�\�$�
����	��4�[���R����	��!�
�|�|�B��)��
�\�\�$�
���b�z�6�"�:�1������A����w�t�u�~�&�A����Q��"���
�	��	�s�0 D?�?	E�
Ec
�z�|jtttd���gd��|jtttd����gd��tt
ttfD]N}|jttt|td����tt|gd�����P|jttd��gd��|jttg��g�|jttdg��dg�|jtttd�dd�|jtt�|jtttd��	�|jtttd
gg��gd�}|jtt|t��gd��|jtt|t��gd
��|jtt|tj��gd��|jt�5tt|t��ddd�tt j"d
z�D]L}|j%|ttd���|j%|ttd�d����N|jttgd�d���gd��|jttgd�d���gd��|jttgd���dg�|jt�5ttddgd��ddd�y#1swY��&xYw#1swYyxYw)Nrg)
rr��rg����$�-rY�abc)r��abr���r�r)r)
r(��	r�r�rr��rr�)
r(r(r(r(r(rrrrr)
r(r�r�r�r�r�r�r�r�r�)
r(��i�i�rrrrr)�initial)rgr�r)rgr�r��d)r��n�s�t�)r~r!�
accumulater>�int�complexrr�maprrw�min�maxrWrX�chrrj�HIGHEST_PROTOCOLr�)r�typrmrns    r�test_accumulatezTestBasicOps.test_accumulate�s�������j��r��3�4�>�	@�����j�%��)�<�=�>�	@����(�2�C�����Z��C��r�� 3�4�5��S��B�C�D�
F�3�	
����j��/�0�2D�E�����j��n�-�r�2�����j�!��o�.���4����)�Z��r��A�q�A����)�Z�0����)�Z�5��9��=����)�T�:�q�"�g�+>�?�*������j��C�0�1�7�	9�����j��C�0�1�7�	9�����j��H�L�L�9�:�?�	A�
�
�
�y�
)���A�s�#�$�*��6�2�2�Q�6�7�E��O�O�E�:�e�B�i�#8�9��O�O�E�:�e�B�i��#C�D�8�	
����j��T�B�C�\�R�����j��S�A�B�DX�Y�����j��S�9�:�S�E�B�
�
�
�y�
)���R��H�c�*�+�*�
)�*�
)��*�
)�s�&N$�N1�$N.�1N:c
�&��|jttdd��gd��|jttdd��gd��|jttdd��gd��|jt�5ttd��ddd�|jt�5ttddd��ddd�|jt�5ttdd��ddd�|jt�5ttdd��ddd�|jt
�5ttdd	��ddd�|jt
�5ttdd
��ddd�d}t
dd�D]��t
t|��D]�}|d|}tt|���}|j|�|�
�5|jdjt|��|�|jtd�|D���|ra|j�}|jt�fd�|D���|jt|��k�|j|�ddd�����y#1swY��xYw#1swY���xYw#1swY���xYw#1swY���xYw#1swY���xYw#1swY��ZxYw#1swY��BxYw)N�ABCDEFGr�))�A�B�C)�D�E�F��Gr()�r�r��r�r�)r�r�r�r))r�)r�)r�)r�)r�)r�r��hellor����ABCDEFGHIJKLMNOPQRSTUVWXYZr�)rmr?�batches�c3�>K�|]}t|�tu���y�wr )r�tuple)�.0�batchs  r�	<genexpr>z,TestBasicOps.test_batched.<locals>.<genexpr>�s����'R�'���U��u�(<�'�s�c3�:�K�|]}t|��k(���y�wr ��len)r�r�r?s  �rr�z,TestBasicOps.test_batched.<locals>.<genexpr>�s�����+Q���C��J�!�O��s�)r~r!�batchedrrwr-r>r��subTest�join�chain�
assertTrue�all�pop�append)r�datar1rmr��
last_batchr?s      @r�test_batchedzTestBasicOps.test_batched�s?�������g�i��3�4�G�	I�����g�i��3�4�I�	K�����g�i��3�4�T�	V��
�
�y�
)����#�$�*�
�
�
�y�
)����A�t�,�-�*�
�
�
�y�
)����q�!�"�*�
�
�
�y�
)����G�,�-�*�
�
�
�z�
*����A�&�'�+�
�
�
�z�
*����B�'�(�+�,���q�!��A��3�t�9�%����!�H���w�q�!�}�-���\�\�A��G�\�<��$�$�R�W�W�U�G�_�%=�q�A��O�O�C�'R�'�'R�$R�S��%,�[�[�]�
�����+Q��+Q�(Q�R�����J��1�(<�=����z�2�=�<�&��*�
)��
)�
)��
)�
)��
)�
)��
*�
*��
*�
*��=�<�sU�J8�>K�2K�%K�K,�K9�?B,L�8K�K�K�K)�,K6�9L�Lc
��d�}t|fD]�}|jt|dd��td��|jt|d��td��|jt|d��g�|jtd|dd��td��|j	t
t|dd	����y)
Nc7�2K�	|D]
}|D]}|����y�wr r)�	iterablesrx�elements   r�chain2z'TestBasicOps.test_chain.<locals>.chain2�s"����-���!�G�!�M� "� �s�r��def�abcdefr�r��abcdr(r�)r�r~r!rTrrw)rr�r�s   r�
test_chainzTestBasicOps.test_chain�s���	"����A����T�!�E�5�/�2�D��N�C����T�!�E�(�^�T�%�[�9����T�!�B�%�[�"�-����T�!�Q�u�e�_�5�t�F�|�D����i��a��1�g�6�!rc
��|jttjddg��td��|jttjdg��td��|jttjdg��g�|jt	dtjddg��td��|jtttjddg��|jtttjttd	���d��d
dg�y)Nr�r�r�r�r�r�r(r�r�rr)
r~r!r��
from_iterablerTrrwrR�repeatr>rEs r�test_chain_from_iterablez%TestBasicOps.test_chain_from_iterable�s�������e�1�1�5�%�.�A�B�D��N�S�����e�1�1�5�'�:�;�T�%�[�I�����e�1�1�2�$�7�8�"�=�����a��!4�!4�e�U�^�!D�E�t�F�|�T����)�T�5�+>�+>��1�v�+F�G�����f�U�%8�%8���a��9I�%J�A�N�O�RS�UV�QW�Xrc���tjgtzD�]}tdd�}|j	t||��td��|j	t
|�d�|j	t||��td��|j	t|td���g�|j	td|tdd���td��|jtt
|td	d
�����ttjdz�D])}|j|tdd�td����+y)
Nr�r�r�r��bcdefr�r�r�r(r�r�r�)�copy�deepcopy�
picklecopiersr�r~r!r�rTrrwr>rjr�r�)r�operrxrns    r�test_chain_reduciblez!TestBasicOps.test_chain_reducible�s	���]�]�O�m�3�D��u�e�$�B����T�$�r�(�^�T�(�^�<����T�"�X�s�+����T�$�r�(�^�T�'�]�;����T�$�u�R�y�/�2�B�7����T�!�T�%��u�*=�%>�?��f��N����i��t�E�!�Q�K�/@�A�4��6�2�2�Q�6�7�E��O�O�E�5���#6��X��O�O�8rc���|jtt�jd�|jtt�jg�|jtt�jd�|jtt�jgf�|jtt�jt	g�gf�t�}|jt	ddg�f�|jt
|�gd��t�}|jt	ddg�t	dg�f�|jt
|�gd��y)Nrrr�r�)r�r�r��drz�f�ghi)r�r�r�r�r�rzr�)rrwr��__setstate__�iterr~r!�rrxs  r�test_chain_setstatez TestBasicOps.test_chain_setstates������)�U�W�%9�%9�2�>����)�U�W�%9�%9�2�>����)�U�W�%9�%9�1�=����)�U�W�%9�%9�B�5�A����)�U�W�%9�%9�D��H�b�>�J�
�W��
����u�e�n�-�/�0�����b��#A�B�
�W��
����u�e�n�-�t�U�G�}�=�>�����b��#H�Irc���
�|jttd�|jttddd�|jttd�|jttdd�d�gtzD�]}|jt
|tdd���g�|jt
|tdd���gd��tdd�}t|�|jt
||��gd	��|jt
|ttd
�d���gd��ttd
�d�}t|�|jt
||��gd
����d�}d�}d�}td�D�]8}t|�D�cgc]
}d|zdz
��c}�
t|dz�D�]}t
t�
|��}	|jt|	�||kDrdn%t|�t|�zt||z
�z�|jt|	�tt|	���|j|	t|	��|	D]�}
|jt|
�|�|jtt|
��|�|jt
|
�t|
��|jt�
fd�|
D���|jt
|
��
D�cgc]	}||
vs�|��c}���|j|	t
|�
|���|j|	t
|�
|���|j|	t
|�
|���ttj dz�D]}|j#|t�
|��� ����;ycc}wcc}w)Nr�r(r���c��|Sr r�r�s rroz0TestBasicOps.test_combinations.<locals>.<lambda>���Ar� �ABCD�r��r�r��r�r��r�r��r�r�r�)r�r�r�r�r�r�r��r0�rrr��rr(r��rr(r�)r�r�r�c3�|�K�	t|��t��}||kDrytt|��}t�fd�|D����	t	t|��D]}||||z|z
k7s�ny||xxdz
cc<t|dz|�D]}||dz
dz||<�t�fd�|D�����p�w)Nc3�(�K�|]	}�|���y�wr r�r�r1�pools  �rr�zHTestBasicOps.test_combinations.<locals>.combinations1.<locals>.<genexpr>/������1��A��Q�����rc3�(�K�|]	}�|���y�wr rrs  �rr�zHTestBasicOps.test_combinations.<locals>.combinations1.<locals>.<genexpr>9������5�W��D��G�W�r�r�r�r!r>�reversed)rZrar?�indicesr1�jrs      @r�
combinations1z5TestBasicOps.test_combinations.<locals>.combinations1(s������3���?�D��D�	�A��1�u���5��8�n�G��1��1�1�1��!�%��(�+�A��q�z�Q��U�Q�Y�.��,����
�a��
��q��s�A��A�!(��1����!1�G�A�J�'��5�W�5�5�5��s
�A.B<�2A
B<c3���K�	t|��t��}tt|�|�D]0}t	|�t|�k(s�t�fd�|D�����2y�w)Nc3�(�K�|]	}�|���y�wr rrs  �rr�zHTestBasicOps.test_combinations.<locals>.combinations2.<locals>.<genexpr>A������9��A��Q���r)r�r��permutationsr>�sortedr!�rZrar?rrs    @r�
combinations2z5TestBasicOps.test_combinations.<locals>.combinations2;sR�����3���?�D��D�	�A�'��a��!�4���'�?�d�7�m�3��9��9�9�9�5���AA$�A$c3���K�	t|��t��}tt|�|�D]0}tt	|��|k(s�t�fd�|D�����2y�w)Nc3�(�K�|]	}�|���y�wr rrs  �rr�zHTestBasicOps.test_combinations.<locals>.combinations3.<locals>.<genexpr>Ir
r)r�r��combinations_with_replacementr>�setrs    @r�
combinations3z5TestBasicOps.test_combinations.<locals>.combinations3CsT�����,���?�D��D�	�A�8��q��1�E���s�7�|�$��)��9��9�9�9�F�rr�r��rc3�&�K�|]}|�v���
y�wr r�r�rz�valuess  �rr�z1TestBasicOps.test_combinations.<locals>.<genexpr>V������'?�Q���V��Q���)rrw�combinationsr-r�r~r!r�r>r�r]rrr�r�rjr�r�)r�op�testIntermediater
rrr?r*ra�resultr�rzrnrs             @r�test_combinationszTestBasicOps.test_combinationss/������)�\�5�9����)�\�5�!�Q�?����)�\�4�8����*�l�E�2�>��,��.�B����T�"�\�%��%<�"=�>��C����T�"�\�&�!�%<�"=�>�_�
a�+�F�A�6���!�"����T�"�%5�"6�7�T�
V�
���T�"�\�%��(�A�%>�"?�@�A�
C�+�E�!�H�a�8���!�"����T�"�%5�"6�7�8�
:�/�"	6�&	:�	:��q��A�&+�A�h�/�h��a��c�"�f�h�/�F��1�Q�3�Z���l�6�1�5�6��� � ��V��1�Q�3�a�D��G�d�1�g�<M�PT�UV�WX�UX�PY�<Y�Z�� � ��V��c�#�f�+�.>�?�� � �����8��A��$�$�S��V�Q�/��$�$�S��Q��[�!�4��$�$�T�!�W�f�Q�i�8��O�O�C�'?�Q�'?�$?�@��$�$�T�!�W�17�%B��A�1��6�a��%B�D� �� � ���m�F�A�.F�)G�H�� � ���m�F�A�.F�)G�H�� � ���m�F�A�.F�)G�H�"�6�#:�#:�Q�#>�?�E��O�O�E�<���+B�C�@�! ���/��&Cs�3O�	O$�(O$c�|�|jttf�5tdd�ddd�y#1swYyxYw)N�AAi )r�
OverflowError�MemoryErrorrrEs r�test_combinations_overflowz'TestBasicOps.test_combinations_overflow`s+��
�
�
�
�{�;�
<���u�%�=�
<�
<���
2�;z"tuple reuse is specific to CPythonc��|jtttttdd����d�|j
ttttttdd�����d�y�N�abcder�r)r~r�rr��idr�assertNotEqualr!rEs r�test_combinations_tuple_reusez*TestBasicOps.test_combinations_tuple_reusef�W������S��R��g�q�)A�!B�C�D�a�H����C��C��D��g�q�1I�,J�$K� L�M�q�Qrc����t}|jt|d�|jt|ddd�|jt|d�|jt|dd�d�gtzD]c}|jt
||dd���gd��|dd�}t|�|jt
||��gd���ed	�}d
�}d�}td�D�]a}t|�D�cgc]
}d
|zdz
��c}�t|dz�D�]-}	t
|�|	��}
|jt|
�|||	��|jt|
�tt|
���|j|
t|
��t
t�|	��}|dk(s|	dkr|j|
|�n&|jt|
�t|�k\�|
D]�}|jt|�|	�t|�D�
�cgc]\}
}|
��	}}
}|jt|�tt|���|jt
|�t|��|jt�fd�|D���|j|�D�cgc]	}||vs�|��c}���|j|
t
|�|	���|j|
t
|�|	���tt j"dz�D]}|j%||�|	�����0��dycc}wcc}}
wcc}w)Nr�r(rr�c��|Sr rr�s rrozATestBasicOps.test_combinations_with_replacement.<locals>.<lambda>sr�r�ABC�)r�r�r�r��r�r�r��r�r�)r�r�r4r�r5c3��K�	t|��t��}|s|rydg|z}t�fd�|D����	tt|��D]}|||dz
k7s�ny||dzg||z
z||dt�fd�|D�����P�w)Nrc3�(�K�|]	}�|���y�wr rrs  �rr�zPTestBasicOps.test_combinations_with_replacement.<locals>.cwr1.<locals>.<genexpr>�rrrc3�(�K�|]	}�|���y�wr rrs  �rr�zPTestBasicOps.test_combinations_with_replacement.<locals>.cwr1.<locals>.<genexpr>�rr)r�r�rr>)rZrar?rr1rs     @r�cwr1z=TestBasicOps.test_combinations_with_replacement.<locals>.cwr1|s������3���?�D��D�	�A�����c�A�g�G��1��1�1�1��!�%��(�+�A��q�z�Q��U�*��,��&�q�z�A�~�.�!�a�%�8������5�W�5�5�5��s�AB
� -B
c3���K�	t|��t��}tt|�|��D]0}t	|�t|�k(s�t�fd�|D�����2y�w)N�r�c3�(�K�|]	}�|���y�wr rrs  �rr�zPTestBasicOps.test_combinations_with_replacement.<locals>.cwr2.<locals>.<genexpr>�r
r)r�r��productr>rr!rs    @r�cwr2z=TestBasicOps.test_combinations_with_replacement.<locals>.cwr2�sR�����3���?�D��D�	�A�"�5��8�A�6���'�?�d�7�m�3��9��9�9�9�7�s�AA%�A%c�j�|s|rdSdSt||zdz
�t|�zt|dz
�zS�Nrr)r])r?ras  r�numcombszATestBasicOps.test_combinations_with_replacement.<locals>.numcombs�s:����q�$�1�$���!��A��;��a��(�$�q��s�)�3�3rr�r�rrc3�&�K�|]}|�v���
y�wr rrs  �rr�zBTestBasicOps.test_combinations_with_replacement.<locals>.<genexpr>�rr)rrrwr-r�r~r!r�r>r�rrrr��groupbyr�rjr�r�)r�cwrrr r9r>rAr?r*rar!�
regular_combsr��k�v�norunsrzrnrs                  @r�"test_combinations_with_replacementz/TestBasicOps.test_combinations_with_replacementks����+�����)�S�%�0����)�S�%��A�6����)�S�$�/����*�c�5�"�5��,��.�B����T�"�S���]�"3�4�_�
a�"�5�!�}���!�"����T�"�%5�"6�7�T�
V�/�	6�$	:�	4�
�q��A�&+�A�h�/�h��a��c�"�f�h�/�F��1�Q�3�Z���c�&�!�n�-��� � ��V��h�q�!�n�=�� � ��V��c�#�f�+�.>�?�� � �����8� $�\�&�!�%<� =�
���6�Q�!�V��$�$�V�]�;��O�O�C��K�3�}�3E�$E�F��A��$�$�S��V�Q�/�+2�1�:�6�:�C�A�a�a�:�F�6��$�$�S��[�#�c�&�k�2B�C��$�$�T�!�W�f�Q�i�8��O�O�C�'?�Q�'?�$?�@��$�$�V�17�%B��A�1��6�a��%B�D�
 �� � ���d�6�1�o�)>�?�� � ���d�6�1�o�)>�?�"�6�#:�#:�Q�#>�?�E��O�O�E�3�v�a�=�9�@�1 ���/�� 7��
&Cs�=M�#M�6	M�Mc�|�|jttf�5tdd�ddd�y#1swYyxYw)Nr$�@)rr%r&rrEs r�+test_combinations_with_replacement_overflowz8TestBasicOps.test_combinations_with_replacement_overflow�s+��
�
�
�
�{�;�
<�)�$��6�=�
<�
<�r(c��t}|jttt	t
|dd����d�|j
ttt	t
t|dd�����d�yr*)rr~r�rr�r,r-r!)rrDs  r�.test_combinations_with_replacement_tuple_reusez;TestBasicOps.test_combinations_with_replacement_tuple_reuse�sZ��+������S��R��W�a��!9�:�;�Q�?����C��C��D��W�a��,A�$B� C�D�a�Hrc��	�|jtt�|jttddd�|jttd�|jttdd�|j	ttdd��g�|jttdd�|j	ttt
d�d��gd��dd	�}dd
�}t
d�D�]}t
|�D�cgc]
}d|zd
z
��c}�	t
|dz�D�]�}tt�	|��}|j	t|�||kDrdnt|�t||z
�z�|j	t|�tt|���|j	|t|��|D]d}|j	t|�|�|j	tt|��|�|jt�	fd�|D����f|j	|t|�	|���|j	|t|�	|���||k(rI|j	|tt�	d���|j	|tt�	���t
tjdz�D]}|j|t�	|��� �����	ycc}w)Nr�r(rr�r�rmr�)�rr�rr(�rr�rr()r(r)r(rc3��K�	t|��t��}|�|n|}||kDrytt|��}tt||z
dz|dz��ddd�}t�fd�|d|D����|r�t	t|��D]f}||xxdzcc<||dk(r||dzd|||dzz||d||z
||<�5||}||||c||<||<t�fd�|d|D����ny|r��yy�w)Nrr�c3�(�K�|]	}�|���y�wr rrs  �rr�zHTestBasicOps.test_permutations.<locals>.permutations1.<locals>.<genexpr>�s�����5��A��Q���rrc3�(�K�|]	}�|���y�wr rrs  �rr�zHTestBasicOps.test_permutations.<locals>.permutations1.<locals>.<genexpr>�s�����#A�[��D��G�[�rr)rZrar?r�cyclesr1r	rs       @r�
permutations1z5TestBasicOps.test_permutations.<locals>.permutations1�s'�����3���?�D��D�	�A��Y��A�A��1�u���5��8�n�G��%��!��A��q��s�+�,�T�r�T�2�F��5���!��5�5�5��!�%��(�+�A��1�I��N�I��a�y�A�~�&-�a��c�d�m�g�a��!��n�&D�����$%��E��q�	�"�1�I��29�1�"�+�w�q�z�/���
�G�Q�B�K�#�#A�W�R�a�[�#A�A�A��,���s�C7C=�;C=c3���K�	t|��t��}|�|n|}tt|�|��D]0}tt	|��|k(s�t�fd�|D�����2y�w)Nr;c3�(�K�|]	}�|���y�wr rrs  �rr�zHTestBasicOps.test_permutations.<locals>.permutations2.<locals>.<genexpr>�r
r)r�r�r=r>rrs    @r�
permutations2z5TestBasicOps.test_permutations.<locals>.permutations2�s^�����3���?�D��D�	�A��Y��A�A�"�5��8�A�6���s�7�|�$��)��9��9�9�9�7�s�AA+�A+r�r�rrc3�&�K�|]}|�v���
y�wr rrs  �rr�z1TestBasicOps.test_permutations.<locals>.<genexpr>�rrr )rrwrr-r~r!r>r�r]rrr�r�rjr�r�)
rrXr[r?r*rar!�prnrs
         @r�test_permutationszTestBasicOps.test_permutations�sU������)�\�2����)�\�5�!�Q�?����)�\�4�8����*�l�E�2�>�����l�5�"�5�6��;����)�\�5�#�>�����l�5��8�Q�7�8�+U�	W�	�0	:��q��A�&+�A�h�/�h��a��c�"�f�h�/�F��1�Q�3�Z���l�6�1�5�6��� � ��V��1�Q�3�a�D��G�d�1�Q�3�i�<O�P�� � ��V��c�#�f�+�.>�?�� � �����8��A��$�$�S��V�Q�/��$�$�S��Q��[�!�4��O�O�C�'?�Q�'?�$?�@� �� � ���m�F�A�.F�)G�H�� � ���m�F�A�.F�)G�H���6��$�$�V�T�,�v�t�2L�-M�N��$�$�V�T�,�v�2F�-G�H�"�6�#:�#:�Q�#>�?�E��O�O�E�<���+B�C�@� ���/s�K?c�|�|jttf�5tdd�ddd�y#1swYyxYw)Nr�rK)rr%r&rrEs r�test_permutations_overflowz'TestBasicOps.test_permutations_overflows+��
�
�
�
�{�;�
<���e�$�=�
<�
<�r(c��|jtttttdd����d�|j
ttttttdd�����d�yr*)r~r�rr�r,rr-r!rEs r�test_permutations_tuple_reusez*TestBasicOps.test_permutations_tuple_reuse	r/rc
��td�D�]g}dd|}td�D�]P}tt||���}tt||��}tt	||��}tt||��}|j
t|�||z�|j
t|�|r,t||zdz
�t|�zt|dz
�zn|�|j
t|�||kDrdnt|�t||z
�z�|j
t|�||kDrdn%t|�t|�zt||z
�z�|j
|tt|���|j
|tt|���|j
|tt|���|j
|tt|���|j
||D�cgc]}t|�t|�k(s�|��c}�|j
||D�cgc]}tt|��|k(s�|��c}�|j
||D�cgc]}t|�t|�k(s�|��c}�|j
||D�cgc]}tt|��|k(s�|��c}�|j
|ttt|�j|���|j
|ttt|�j|���|j
|tt|�t|�z����S��jycc}wcc}wcc}wcc}w)Nr�r�r�r;rr)
r>r!r=rrrr~r�r]rr�filter�__contains__)	rr?rmrar[rD�perm�comb�ts	         r�test_combinatoricszTestBasicOps.test_combinatoricss����q��A��"�1�
�A��1�X���G�A�a�0�1���8��A�>�?���L��A�.�/���L��A�.�/��� � ��T��A�q�D�1�� � ��S��QR�D��1��Q��K�$�q�'�,A�4��!��9�,L�]^�Y^�`�� � ��T���1��A�$�q�'�D��1��I�:M�N�� � ��T���1��A�$�q�'�D��G�:K�d�ST�UV�SV�i�:W�X�� � ��v�c�$�i�'8�9�� � ��f�S��X�&6�7�� � ��v�c�$�i�'8�9�� � ��v�c�$�i�'8�9�� � ��$�&M�$�Q�&��)�T�!�W�:L�q�$�&M�N�� � ��4�'J�4�a�3�s�1�v�;��>��4�'J�K�� � ��4�'N�4�a�6�!�9�d�1�g�;M��4�'N�O�� � ��3�'I�3�a�#�c�!�f�+�q�.��3�'I�J�� � ��t�F�3�s�8�3H�3H�$�,O�'P�Q�� � ��t�F�3�t�9�3I�3I�3�,O�'P�Q�� � ��v�c�#�h��T��.B�'C�D�3���*'N��'J��'N��'Is0�M8�M8�9M=�M=�1N�N�)N�Nc�,�|jttdgd����td��|jttdgd���td��|jttdgd���td��|jttdgd���td��|jttdgd���td	��|jttd
gd���td��d
}tj	tt
d�|��}tj	td��}|jtt||��gd�|z�|jttdt
d��|jttt
d�d�|jttt
d��|jttt
d�d�d�d�gtzD]�}dgd�ddfdgd�ddfdgd�ddfdgd�d	dfd
gd�ddffD]�\}}}}|jt|t||����t|��|jt|t||���t|��t||�}|s��t|�|jt||��t|������y)N�ABCDEF�rrrrrr)r��	selectors�ACEF)rrrrrrr�)rrrrrr�rrr�ACr2)rrrrrr�BC�'r�rP�rr�r�c�,�tj|�Sr )r�r�s rroz,TestBasicOps.test_compress.<locals>.<lambda>As��D�I�I�a�Lrc�,�tj|�Sr )r�r�r�s rroz,TestBasicOps.test_compress.<locals>.<lambda>As
��4�=�=��3Cr�CEF�BCDEFr�)r~r!�compressr�r�r�r>rrwr�r�)rr?r�rmr�result1�result2r s        r�
test_compresszTestBasicOps.test_compress/sg������h�H�
�N�O�QU�V\�Q]�^�����h�x��?�@�$�v�,�O�����h�x��?�@�$�r�(�K�����h�x��?�@�$�x�.�Q�����h�x��9�:�D��J�G�����h�u�m�<�=�t�D�z�J����"�"�6�%��(�A�#6�7���'�'��v��7�	�����h�t�Y�7�8�'�A�+�F����)�X�t�U�1�X�>����)�X�u�Q�x��>����)�X�u�Q�x�8����)�X�u�Q�x��>�)�*C�D�}�T�B��=�&�%�8��=�"�b�1��=�(�G�<��7�D�#�.��
�t�S�1�6�1��i��'�� � ��b��t�y�)Q�&R�!S�UY�Za�Ub�c�� � ��b��$�	�)B�&C�!D�d�7�m�T�#+�D�)�#<� ���)�*��$�$�T�"�-=�*>�%?��g��O�6�Urc�
�|jtdt��gd��|jtdtd��gd��|jtdtdtd���ddg�|jtdt	dtd���d	d
g�|jtdt	dtd���dd
g�|jttddd�|jttd�|jtdttdz
��tttdz
tdz���|jtdttdz
��tttdz
tdz���|jtdtd��gd��|jtdtd��gd��|jtdttd���td�td�td�g�|jtdttdd���tdd�tdd�tdd�g�ddz}|jtdt|��||dz|dzg�td�}|jt|�d�t|�|jt|�d�td�}|jt|�d�t|�|jt|�d �|jttd!��d"�|jttd#��d$�|jtttd#���t�t jdz
t jdzd%dd&dt jdz
t jdzfD]9}tt|��}d'j#|�}|j||��;ddtdz
tdzfD]�}t|�}|jtt%j$|��|�|jtt%j&|��|�tt(j*dz�D]}|j-|t|�����tdtdz�t!j.�y)(Nr���r�r�r�r�r�r(r�)�r�r��r�r�)r�r�r(r�r�r�)r�r�)r�r���)r�r�)r�r�r�r�rgr��
@)r�g@g@�
@�)r�y@��@��1.1z2.1z3.1r�r��zcount(3)zcount(4)���z	count(-9)i����g�$@zcount(10.25)g$@zcount(10.0)���r�	count(%r))r~r%�countrTr"rrw�maxsizer!r>rr�reprr�r�float�sys�__mod__r�r�rjr�r��exc_info)r�BIGINTr�r1�r1�r2�valuerns        r�
test_countzTestBasicOps.test_countQs������e�E�G�,�.L�M�����e�E�!�H�-�/M�N�����a��e�E�!�H�!5�6��8�8L�M�����a��U�5��9�!5�6��H�8M�N�����a��U�5��9�!5�6��I�8N�O����)�U�A�q�!�4����)�U�C�0�����b�%���	�"2�3��e�G�A�I�w�q�y�9�:�	<�����b�%����
�"3�4��e�W�H�Q�J����
�;�<�	>�����a��t��-�/A�B�����a��w��0�2M�N�����a��w�u�~�!6�7�!�%�.�'�%�.�'�%�.�I�	K�����a��x��1�~�!6�7�"�1�a�.�(�1�a�.�(�1�a�.�I�	K��D�������a��v��/�&�&��(�F�1�H�1M�N��!�H������a��*�-��Q������a��*�-��"�I������a��+�.��Q������a��"�%�����e�E�l�+�^�<�����e�D�k�*�M�:�����d�5��;�/�0�%�8��;�;�,�q�.�3�;�;�,�q�.�#�r�1�b�#�+�+�a�-�QT�Q\�Q\�]^�Q^�_�A��e�A�h��B��$�$�Q�'�B����R��$�	`���G�A�I�w�q�y�0�E��e��A����T�$�)�)�A�,�/��7����T�$�-�-��"2�3�U�;��v�6�6��:�;������u�U�|�4�<�	1�	�a�����S�\�\�^rc�
�|jtdtdd��gd��|jtdtdd���gd��|jtdtd���gd��|jttd	d
�|jtdtdd��gd��|jtdtdd
��gd��|jtdtdd��gd��|jtdttdz
d��tdttdz
tdzd���|jtdttdz
d��tdttdz
tdzd���|jtdtdtdz��ttdddtdzzztdz���|jtdtdd��gd��|jtdtdd��gd��|jtdttd�td���td�td�td�g�|jtdttdd�td
d���tdd�tdd�tdd�g�d
dz}|jtdt|���d|d|zg�|jttdtdd ���tgd!���tdd�}|jt|�d"�t|�|jt|�d#�td$d�}|jt|�d%�t|�|jt|�d%�td$d&�}|jt|�d'�t|�|jt|�d(�|jt|�d(�|jttd)d��d*�|jttd)d
��d+�|jttd)d,��d-�|jttdd,��d.�tdd,�}|jtt|��t�|jtt|��t�t jdz
t jdzd/dddt jdz
t jdzfD]�}t jdz
t jdzd/ddd
dt jdz
t jdzf	D]z}tt||��}|d
k(rd0|z}n	d1|�d2|�d3�}|j||�tt"j$d
z�D]}|j'|t||��� �|��y)4Nr�r(r�)�r�r()r�r�)r�r�)�start�stepr�)r�)r~)r�r�)r�r�r�r�r)r�)r�r(r�r)r�)r�r�)r�r�r�r�r�rgr�g�?)r(r�g@r�)r(r�y!@ �r�z.1z1.2z1.3r��r�r�g@)rgg)@g.@zcount(3, 5)zcount(8, 5)r�zcount(-9, 0)r�z
count(-9, -3)zcount(-12, -3)g%@zcount(10.5, 1.25)zcount(10.5)g�?zcount(10.5, 1.0)zcount(10, 1.0)r�r�zcount(z, �))r~r%r�rrwrTr�r>r!rrr�r�rr�r�r�rjr�r�)rr�r�r1r	r�r�rns        r�test_count_with_stridez#TestBasicOps.test_count_with_stride�s������e�E�!�A�J�/�1O�P�����e�E��q�$9�:�7�	9�����e�E�r�N�3�9�	;����)�U�C��5�����e�E�!�A�J�/�1O�P�����e�E�!�A�J�/�1O�P�����e�E�!�A�J�/�1O�P�����b�%���
�A�"6�7��b�%��PR�
�T[�\_�T_�ab�Bc�9d�e�����b�%�����Q�"7�8�$�r�5�'��RT��V]�U]�^a�Ua�cd�Ce�:f�g�����a��r�7�1�9�!5�6��e�B��1�g�a�i�=�(8�'�!�)�D�E�	G�����a��q�$��0�.�A�����a��q�'�!2�3�5I�J�����a��w�u�~�w�t�}�!E�F�!�%�.�'�%�.�'�%�.�I�	K�����a��x��!�}�h�q��m�!D�E�"�1�Q�-��"�R��(�2�b�/�J�	L��D�������a��F�!3�4�q�&�!�F�(�6K�L�����d�1�e�B��n�5�6��=M�8N�O��!�Q�K������a��-�0��Q������a��-�0��"�a�L������a��.�1��Q������a��.�1��"�b�M������a��/�2��Q������a��"2�3�����a��"2�3�����e�D�$�/�0�2E�F�����e�D�!�n�-�}�=�����e�D�$�/�0�2D�E�����e�B��o�.�0@�A��"�c�N������d�1�g���,�����d�1�g���.��;�;�,�q�.�3�;�;�,�q�.�#�r�1�b�#�+�+�a�-�QT�Q\�Q\�]^�Q^�_�A����|�A�~����|�A�~�s�B��1�b�#�+�+�VW�-�Y\�Yd�Yd�ef�Yf�g���%��1�+�&����6�%��/�B��./��2�B�� � ��R�(�"�6�#:�#:�Q�#>�?�E��O�O�E�5��A�;�7�@�h�`rc
��|jtdtd��td��|jttd��g�|j	t
t�|j	t
td�|jtt
tt��d��gd��y)Nrgr��
abcabcabcar�r�)
rrr(rrr(rrr(r)r~rT�cycler!rrwrRr2rEs r�
test_cyclezTestBasicOps.test_cycle�s������b�%��,�/��l�1C�D�����e�B�i��"�-����)�U�+����)�U�A�.�����f�U�4�6�]�2�6�7�9N�Orc�b�td�}|jt|�d�|jtdt	j
|��t
d��ttjdz�D]�}|jtdtjtj||���t
d��t|�|jtdtjtj||���t
d��t|�t|���ttjdz�D]}|j|td���ttjdz�D�]}td�}t|�}td�D�cgc]
}t|���}}tj||�}tj|�}|jtd	|�t
d
��td�}t|�}td�D�cgc]
}t|���}}tj||�}tj|�}|jtd	|�t
d
����ycc}wcc}w)Nr�r�rg�
bcabcabcabr�
cabcabcabcr+r(r��cdeabcdeabcdeabcdeabr�)r�r~r�rTr�r�r!r>rjr�rkrlr�r�)rr�rnrxr1�_r]r�s        r�test_cycle_copy_picklez#TestBasicOps.test_cycle_copy_pickle�s��
�%�L������a��#�&�	
����b�$�-�-��"2�3�T�,�5G�H��6�2�2�Q�6�7�E����T�"�f�l�l�6�<�<��5�3I�&J�K�!�,�/�
1���G����T�"�f�l�l�6�<�<��5�3I�&J�K�!�,�/�
1���G���G�8��6�2�2�Q�6�7�E��O�O�E�5��<�0�8��6�2�2�Q�6�7�E��g��B��b�	�A�"'��(�+�(�Q��a��(�A�+����Q��&�A����Q��A����T�"�a�[�$�/E�*F�G��g��B��b�	�A�"'��(�+�(�Q��a��(�A�+����Q��&�A����Q��A����T�"�a�[�$�/E�*F�G�8��,��,s�8J'�?J,c��gd�}|D]5}tj|�}|jtd|�gd���7y)N)sHcitertools
cycle
(c__builtin__
iter
((lI1
aI2
aI3
atRI1
btR((lI1
aI0
tb.s?citertools
cycle
(c__builtin__
iter
(](KKKetRKbtR(]KaKtb.s>�citertools
cycle
c__builtin__
iter
](KKKe�RKb�R]KaK�b.s;�citertools
cycle
cbuiltins
iter
](KKKe�RKb�R]KaK�b.sH��=�	itertools�cycle��builtins�iter�](KKKe�RKb�R]KaK�b.sHcitertools
cycle
(c__builtin__
iter
((lp0
I1
aI2
aI3
atRI1
btR(g0
I1
tb.s?citertools
cycle
(c__builtin__
iter
(]q(KKKetRKbtR(hKtb.s>�citertools
cycle
c__builtin__
iter
]q(KKKe�RKb�RhK�b.s;�citertools
cycle
cbuiltins
iter
]q(KKKe�RKb�RhK�b.sG��<�	itertools�cycle��builtins�iter�]�(KKKe�RKb�RhK�b.sIcitertools
cycle
(c__builtin__
iter
((lI1
aI2
aI3
atRI1
btR((lI1
aI00
tb.sAcitertools
cycle
(c__builtin__
iter
(](KKKetRKbtR(]KaI00
tb.s=�citertools
cycle
c__builtin__
iter
](KKKe�RKb�R]Ka��b.s:�citertools
cycle
cbuiltins
iter
](KKKe�RKb�R]Ka��b.sG��<�	itertools�cycle��builtins�iter�](KKKe�RKb�R]Ka��b.sIcitertools
cycle
(c__builtin__
iter
((lp0
I1
aI2
aI3
atRI1
btR(g0
I01
tb.sAcitertools
cycle
(c__builtin__
iter
(]q(KKKetRKbtR(hI01
tb.s=�citertools
cycle
c__builtin__
iter
]q(KKKe�RKb�Rh��b.s:�citertools
cycle
cbuiltins
iter
]q(KKKe�RKb�Rh��b.sF��;�	itertools�cycle��builtins�iter�]�(KKKe�RKb�Rh��b.rg)
r(r�rr(r�rr(r�rr()rjrkr~rT)r�	testcasesrhrxs    r�test_cycle_unpickle_compatz'TestBasicOps.test_cycle_unpickle_compat�s9��
�	�4�A����a��B����T�"�b�\�+I�J�rc���td�}|jtd�df�|jt	d|�td��td�}|jtd�df�|jt	d|�td��|jt�5td�jtd�dg�ddd�|jt�5td�}|jtd�df�ddd�t	d|�|jt�5td�jtd�df�ddd�|jttd	�jd
�|jttd	�jgf�y#1swY��xYw#1swY��xYw#1swY�wxYw)N�defgr�rr��defgabcdefgabcdefgab�abcdefgrr*r�r)r�r�r!r~rTrrwr�)rr�s  r�test_cycle_setstatez TestBasicOps.test_cycle_setstateso��
�&�M��	����U��Q�'�(�����b�!��d�+A�&B�C�
�&�M��	����Y���+�,�����b�!��d�+A�&B�C��
�
�y�
)��&�M�&�&��Y���';�<�*��
�
�y�
)��f�
�A�
�N�N�E�&�M�1�-�.�*�	
�R����
�
�y�
)��&�M�&�&��Y���'=�>�*�	
���)�U�2�Y�%;�%;�R�@����)�U�2�Y�%;�%;�b�U�C�*�
)��*�
)��*�
)�s$�.&G�1(G�&G�G�G�G'c�v���|jgttg���|jgttgt����|j	t
ttdg��|j	t
td�|j	t
tdd�d�gd�}g}t|d��D]2\}}|D](}|j||d�|j
|��*�4|j||�ttjdz�D]�}g}tjtjt|t�|��D]2\}}|D](}|j||d�|j
|��*�4|j||���g}t|t�D]_\}}t|t�D]G\}}|D]=}|j||d�|j||d	�|j
|��?�I�a|j||�ttjdz�D]�}g}tjtjt|t�|��D]�\}}tjtjt|t�|��D]G\}}|D]=}|j||d�|j||d	�|j
|��?�I��|j||���t|t�D��cgc]\}}|��	}	}}t|D�
cgc]}
|
d��	c}
�}|jt|	�|�|jt|	�t|��tt!d
td���}t|t�}t#|�\}
}t#|�\}
}t#|�\}
}|jt|�g�|jt|�g�|jt#|�d�t|�|jt|�g�ttjdz�D]x}t|t�}t#|�\}
}t#|�t#|�|jttjtj||���g��zd
}tt%|��D��cgc]\}}|��	}
}}|j|
gd��tt%|��D��cgc]\}}tt'|dd	��s�|�� }
}}|j|
gd��tt%|��D��cgc]\}}tt|��|f��}
}}|j|
gd��t%tt%|��D��cgc]\}}tt|��|f��c}}d��dd}
|j|
gd��Gd�dt(��d�fd�	}dtfd�}|j	�||d��|j	�||d��G�fd�d�}|�|�dg}|j	�||t��|j	�||���fd��d�_|j	�|dg��d�_|j	�|ddg��ycc}}wcc}
wcc}}wcc}}wcc}}wcc}}w)N��keyr�c��|Sr rr)s rroz+TestBasicOps.test_groupby.<locals>.<lambda>2���arrg))rrgr�)r�r�)rrr�)r�
r�)r��)r(r�r�)r�r��)r�r�r�c��|dSr_rr`s rroz+TestBasicOps.test_groupby.<locals>.<lambda>8s���!�rrrr(�	AABBBAAAAr�)r�r��abracadabra)r�r�r�r�ra)r�r�ra)�r�r��r(r�)rr�)rr��r(raT)�reverser�)r�r�r�c��eZdZy)�0TestBasicOps.test_groupby.<locals>.ExpectedErrorN�rNrOrPrrr�
ExpectedErrorr��s��rr�c3�8�K�t|�D]}d������w)N�yor=)r?r1r�s  �r�
delayed_raisez0TestBasicOps.test_groupby.<locals>.delayed_raise�s ������1�X���
����s�c�X�t||�D��cgc]
\}}||���c}}Scc}}wr )rC)rZ�keyp�funcrF�gs     r�gulpz'TestBasicOps.test_groupby.<locals>.gulp�s+��(/��$�(?�@�(?���1�D��G�(?�@�@��@s�&c���eZdZ�fd�Zy)�+TestBasicOps.test_groupby.<locals>.DummyCmpc�����r r)r�dstr�s  �r�__eq__z2TestBasicOps.test_groupby.<locals>.DummyCmp.__eq__�s	���#�#rN)rNrOrPr�)r�s�r�DummyCmpr��s���
$rr�)r�c�T���jdkDr�xjdzc_|S��r@)�skip)�objr��keyfuncs ��rr�z*TestBasicOps.test_groupby.<locals>.keyfunc�s(����|�|�a������!���
�#�#rr})r~r!rCr,rrwr�r>rjr�rkrlrbrerr�r"r�rrR�	Exceptionr�)rrm�duprFr��elemrn�ik�ig�keysra�expectedkeysrxr��g1�g2�g3r�r�r�r�r�s                    @@r�test_groupbyzTestBasicOps.test_groupby+s$���	
����T�'�"�+�.�/�����T�'�"�"�"5�6�7����)�T�7�5�"�+=�>����)�W�d�3����)�W�e�Z��D�
.�����A�}�-�D�A�q���� � ��D��G�,��
�
�4� ��.�	
����C� ��6�2�2�Q�6�7�E��C����V�\�\�'�!�U�2C�U�%K�L���1��D��$�$�Q��Q��0��J�J�t�$��M�
���Q��$�
8����A�u�%�D�A�q�!�!�V�,���B��D��$�$�Q��Q��0��$�$�R��a��1��J�J�t�$��-�&�	
����C� ��6�2�2�Q�6�7�E��C����V�\�\�'�!�U�2C�U�%K�L���1�$�l�l�6�<�<���6�8J�E�+R�S�F�B�� "���(�(��D��G�4��(�(��T�!�W�5��
�
�4�(�!#�T�M�
���Q��$�8�&�a��/�0�/�d�a���/��0��!�,�!�Q�A�a�D�!�,�-������T��L�1�����T��C��$5�6�
��[�%��(�+�,��
�Q��
���R����2��R����2��R����2�����b��2�&�����b��2�&�����b��8�,��R������b��2�&��6�2�2�Q�6�7�E���E�"�B���8�D�A�q���H���H����T�&�,�,�v�|�|�A�u�/E�"F�G��L�8�
��"�6�!�9�-�.�-�4�1�a�Q�-��.�����5�6�"�6�!�9�-�E�-�4�1�a��f�Q�q��m�1D�Q�-��E�����O�,�+2�6�!�9�+=�>�+=�4�1�a�c�$�q�'�l�A�
�+=��>�����N�O��7�6�!�9�3E�F�3E�4�1�a�S��a��\�A�&�3E�F�PT�U�VX�WX�Y������:�;�	�I�	�	 �!%�4�	A�	
���-��}�Q�/?�@����-��}�Q�/?�@�	$�	$��Z���T�*��	
���-��q�r��:����-��q�1�	$�������-���v�w�?�������-���d�|�W�E��]1��,��6
/��
F��
?��Gs*�8\�\�!\#�\)�:\)�, \/�? \5
c�<�|jtttt	d���gd��|jttdgd���ddg�|jttt
gd���ddg�|jt
dttt���gd��|jtt�|jttd��|jttd	�t	d�d
�|jtttd�|jtttt	d�t	d���gd�}ttt	d��}|jttj|��|�ttt	d��}|jttj|��|�t	tjdz�D]�}ttt	d��}|jttjtj ||���|�t|�|jttjtj ||���|dd���t	tjdz�D]-}ttt	d��}|j#||��/y)Nr�)rr(r��rrrr(rrr(r�)rr(r�r�c��|Sr rr)s rroz*TestBasicOps.test_filter.<locals>.<lambda>����arc��|Sr rr)s rroz*TestBasicOps.test_filter.<locals>.<lambda>�r�rr�r�)r~r!rdr5r>�boolrTr�rrwr�r�r�rjr�rkrlr��r�ansr�rns    r�test_filterzTestBasicOps.test_filter�s������f�V�U�1�X�6�7��A�����f�T�;�7�8�1�Q�%�@�����f�T�;�7�8�1�Q�%�@�����a�����!8�9�9�E����)�V�,����)�V�Z�8����)�V�Z��q��1�E����)�V�V�Q�7����)�T�6�%��(�E�!�H�+E�F����6�5��8�$������d�i�i��l�+�S�1��6�5��8�$������d�m�m�A�.�/��5��6�2�2�Q�6�7�E��v�u�Q�x�(�A����T�&�,�,�v�|�|�A�u�/E�"F�G��M���G����T�&�,�,�v�|�|�A�u�/E�"F�G��Q�R��Q�	8�
�6�2�2�Q�6�7�E��v�u�Q�x�(�A��O�O�E�1�%�8rc
�|�|jtttt	d���gd��|jttdgd���gd��|jttt
gd���gd��|jt
dttt���gd��|jtt�|jttd��|jttd�t	d�d	�|jtttd
�|jtttt	d�t	d���t	tjdz�D]+}|j|ttt	d����-y)Nr�rsr��rrrr�)rr�r�r�c��|Sr rr)s rroz/TestBasicOps.test_filterfalse.<locals>.<lambda>����1rc��|Sr rr)s rroz/TestBasicOps.test_filterfalse.<locals>.<lambda>�r�rr�r�r)r~r!�filterfalser5r>r�rTr�rrwr�rjr�r��rrns  r�test_filterfalsezTestBasicOps.test_filterfalse�s������k�&�%��(�;�<�g�F�����k�$��<�=�w�G�����k�$��<�=�w�G�����a��V�U�W�!=�>�	�J����)�[�1����)�[�*�=����)�[�*�e�A�h��J����)�[�&�!�<����)�T�;�u�Q�x��q��+J�K��6�2�2�Q�6�7�E��O�O�E�;�v�u�Q�x�#@�A�8rc
�F�tdt��D��cgc]	\}}||f��}}}|j|gd��|jttdt	d���tdt	d���|jttdt	d���tdt	d���|jt
dtdt���tdt	d���|jttd��td��|jtt��t��|jttd�|jttt	d�d�|jtdd�D�cgc]}tt|����c}tdd��|jtdd�D�cgc]}|��c}tdd��ycc}}wcc}wcc}w)Nr�r}r�r�r�r�)
r"r�r~r!r>r%rTrrwr�)rr*�yr��pairs     r�test_zipzTestBasicOps.test_zip�s���!$�U�5�7�!3�4�!3���A��!�u�!3��4�����<�=�����c�%��q��2�3�T�%��q��5J�K�����c�(�E�!�H�5�6��X�u�Q�x�8P�Q�����a��H�e�g� 6�7��h��a��9Q�R�����c�(�m�,�d�8�n�=�����c�e��d�f�-����)�S�!�,����)�S�%��(�A�6�����E�5�8I�J�8I��%��T�
�+�8I�J��e�U�+�	-����3�u�e�+<�=�+<�4�$�+<�=��e�U�+�	-��5��K��=s�H�1H�7	Hc�x�ttttdd���}|j	t|�t
|��tttttdd����}|j	ttj|��t|��tjtdt���D��cgc]	\}}||f��}}}|j	|gd��tjtdt���D��cgc]	\}}||f��}}}|j	|gd��ttjdz�D]e}tj tj"tdt��|��D��cgc]	\}}||f��}}}|j	|gd���gttjdz�D]r}tdt��}t%|�tj tj"||��D��cgc]	\}}||f��}}}|j	|ddg��tttjdz�D]&}|j'|tdt����(ycc}}wcc}}wcc}}wcc}}w)Nr�r�r}rrr�)r!r�r,r"r~r�r�r��dict�fromkeysr�r�r�r>rjr�rkrlr�r�)r�idsr*r�r�rnr s       r�test_zip_tuple_reusez!TestBasicOps.test_zip_tuple_reuse�s&���3�r�3�u�e�,�-�.������S��3�s�8�,��3�r�4��E�5� 1�2�3�4������T�]�]�3�/�0�#�c�(�;�"&���3�u�U�W�+=�!>�?�!>���A��!�u�!>��?�����<�=�!%���s�5���/A�!B�C�!B���A��!�u�!B��C�����<�=��6�2�2�Q�6�7�E�%+�\�\�&�,�,�s�5���?Q�SX�2Y�%Z�[�%Z�T�Q��A�a�5�%Z�C�[����S�"@�A�8��6�2�2�Q�6�7�E�"�5���1���!�"�%+�\�\�&�,�,�?O�QV�2W�%X�Y�%X�T�Q��A�a�5�%X�C�Y����S�8�X�"6�7�	8��6�2�2�Q�6�7�E��O�O�E�3�u�e�g�#6�7�8��!@��D��\��Zs�J$�$J*�&J0�7J6c��dtd�gtd�dgtd�tdd�tdd�gtd�td�tdd�td	�td
�gtd�td�tdd�td	�td
�td�gfD]�}tttt|���D��cgc].}t	|D�cgc]}|t|�kr||nd��c}���0}}}|jt
t|��|�|jt
t|ii���|�|D�cgc]}t	d�|D����}}|jt
t|itd�
����|���|jtdtdt���t
tdtd����|jt
t��t
t���|jt
tg��t
tg���|jt
td��t
td���|jt
tdii���t
tt
d�dgzd���|jttd�|jtttd�d�dD]4}	t|t�t!��|j#d|z��6|jtdd�D�cgc]}t	t
|����c}t
tdd���|jtdd�D�cgc]}|��c}t
tdd���ycc}wcc}}wcc}w#t$rY��wxYwcc}wcc}w)Nr�r�r���i4i�i�ri�i�c3�4K�|]}|duxrdxs|���y�w)N�Xr)r�rzs  rr�z/TestBasicOps.test_ziplongest.<locals>.<genexpr>s"����@�a��Q�$�Y�.�3�3�!�3�a�rAr��	fillvaluer�r�r�)zzip_longest('abc', fv=1)z3zip_longest('abc', fillvalue=1, bogus_keyword=None)zDid not raise Type in:  r�)r�r�)r>r�r�r�r�r~r!�zip_longestr�rTr�r"rrw�eval�globals�locals�fail)rr$r1�arg�targetrh�stmtr�s        r�test_ziplongestzTestBasicOps.test_ziplongests=����a��!��q��5�!��t��e�D��.��d�4�0@�A��t��e�A�h��d�4�(8�%��+�u�T�{�S��t��e�A�h��d�4�(8�%��+�u�T�{�TY�Z[�T\�]��D� %�S��S�$��%8�9�;�9�!���N��#�q�3�s�8�|�S��V��=��N�O�9�
�;����T�+�t�"4�5�v�>����T�+�t�":�r�":�;�V�D�JP�Q�&�Q�e�@�a�@�@�&�F�Q����T�+�t�"K�t�c�7J�"K�L�f�U��	
����a��H�e�g� >�?��c�(�TY�Z[�T\�F]�A^�_�����k�m�,�d�3�5�k�:�����k�"�o�.��S��W�
�>�����k�(�3�4�d�3�x�=�6I�J�����k�>�2�>�?��c�$�u�+�t�f�"4�f�=�>�	@����)�[�!�4����)�[�%��(�A�>�
�D�
=��T�7�9�f�h�/��	�	�4�t�;�<�
�	
����E�5�8Q�R�8Q��%��T�
�+�8Q�R��c�%��/�0�	2����;�u�e�+D�E�+D�4�$�+D�E��c�%��/�0�	2��?O��;��R��(�
��
��
S��Es<�O�$O�	O�O�O$� O3�/	O8�O�$	O0�/O0c�X�ttttdd���}|j	t|�t
|��tttttdd����}|j	ttj|��t|��y)Nr�r�)
r!r�r,rr~r�r�r�r�r�)rr�s  r�test_zip_longest_tuple_reusez)TestBasicOps.test_zip_longest_tuple_reuse-sq���3�r�;�u�e�4�5�6������S��3�s�8�,��3�r�4��E�5� 9�:�;�<������T�]�]�3�/�0�#�c�(�;rc	�*�ttjdz�D]t}|j|t	dd��|j|t	dd��|j|t	ddd���|j|t	dd���vy)Nrr�r��defghrr�)r>rjr�r�rr�s  r�test_zip_longest_picklingz&TestBasicOps.test_zip_longest_pickling4sr���6�2�2�Q�6�7�E��O�O�E�;�u�e�#<�=��O�O�E�;�u�g�#>�?��O�O�E�;�u�g��#K�L��O�O�E�;�r�7�#;�<�	8rc����t��G�fd�d�}|jt�5}t|��ddd�|jj��y#1swY�&xYw)Nc���eZdZ�fd�Zy)�?TestBasicOps.test_zip_longest_bad_iterable.<locals>.BadIterablec�����r r)r�	exceptions �rrFzHTestBasicOps.test_zip_longest_bad_iterable.<locals>.BadIterable.__iter__@s����rN)rNrOrPrF)rs�r�BadIterabler?s���
 rr)rwrr�assertIsr)rr�cmrs   @r�test_zip_longest_bad_iterablez*TestBasicOps.test_zip_longest_bad_iterable<sR����K�	�	 �	 ��
�
�y�
)�R���
�&�*�	
�
�
�b�l�l�I�.�*�
)�s�A#�#A,c��Gd�d�}|ddt�}|ddt�}d�}|j|||�gd��|ddt�}|ddt�}t||d	�
�}|jt	|�d�|jt	|�d�|jt	|�d�|jtt|�y)Nc��eZdZd�Zd�Zd�Zy)�,TestBasicOps.test_bug_7244.<locals>.Repeaterc�@�||_t|�|_||_yr )�or�rhrz)rrrhrzs    r�__init__z5TestBasicOps.test_bug_7244.<locals>.Repeater.__init__Ls������Q������rc��|Sr rrEs rrFz5TestBasicOps.test_bug_7244.<locals>.Repeater.__iter__P����rc�z�|jdkDr!|xjdzc_|jS|j�r@)rhrrzrEs rrKz5TestBasicOps.test_bug_7244.<locals>.Repeater.__next__Rs,���6�6�A�:��F�F�a�K�F��6�6�M��&�&�LrN�rNrOrPrrFrKrrr�RepeaterrJs��
�
�
!rr$rr�r(r�c���g}t||d��D]C\}}tjd�5t||f�ddd�|j	||f��E|S#1swY� xYw)Nrr�stdout)rr�captured_output�printr�)r�r�r!r1r	s     r�runz'TestBasicOps.test_bug_7244.<locals>.run]s\���F�#�B��a�8���1��,�,�X�6��1�a�&�M�7��
�
�q�!�f�%�9��M�7�6�s�A�A"	)rSrSrSrQrrrS)rJr~rtrr�r)rr$r�r�r)rxs      r�
test_bug_7244zTestBasicOps.test_bug_7244Hs���
	!�
	!�"�a��M�
*��
�a��M�
*��	�	
����R���&B�C��a��L�
)��
�a��M�
*��
��R�1�
-������b��6�*�����b��6�*�����b��6�*����,��b�1rc�|�|jttd��g�|jttd��g�|jttd��dg�f|jttd��gd��|jtttd���tt	td�tdd����|jt�5t�ddd�|jt�5td	d
�ddd�|jt�5td	��ddd�|jt�5td�ddd�y#1swY��xYw#1swY�ixYw#1swY�KxYw#1swYyxYw)Nr�r�r��r�r�r+)r,)r�r��r�r�)r�rzrrrr�rgrY)r~r!�pairwiser>r"rrwrEs r�
test_pairwisezTestBasicOps.test_pairwiseps;������h�r�l�+�R�0�����h�s�m�,�b�1�����h�t�n�-�)�l�	,�	-�����h�w�/�0�N�	P�����h�u�V�}�5�6��c�%��-��q�&�1A�B�C�	E��
�
�y�
)��J�*�
�
�
�y�
)��U�B��*�
�
�
�y�
)��e�$�*�
�
�
�y�
)��T�N�*�
)�
*�
)��
)�
)��
)�
)��
)�
)�s0�=F�%
F�
F&�9F2�F�F#�&F/�2F;c�����fd�}|dhdgdgfdgfdgdgfg�|dhdgdgdgffdgdgfdgfdgdgfg�|dhdgdgfdgdgdgffdgdgfdgfdgdgfg�|ddhdgdgfdgfdgfdgdgfg�|ddhdgdgdgffdgfdgdgfg�|ddhdgdgfdgdgfdgffdgdgfdgfdgfdgdgfg�|ddhdgdgdgdgfffdgdgdgffdgfdgdgfg�y)	Nc�����G��fd�d�}t|���|D]}�jt��|��y)Nc�$��eZdZdZd�Z��fd�Zy)�<TestBasicOps.test_pairwise_reenter.<locals>.check.<locals>.Irc��|Sr rrEs rrFzETestBasicOps.test_pairwise_reenter.<locals>.check.<locals>.I.__iter__�����Krc�z��|xjdz
c_|j�vrt��S|jgSrV)r�r�)rrx�
reenter_ats ��rrKzETestBasicOps.test_pairwise_reenter.<locals>.check.<locals>.I.__next__�s1����J�J��N�J��z�z�Z�/�#�B�x�� �J�J�<�'rN�rNrOrPr�rFrK)rxr7s��r�Ir3�s����� �(rr9)r.r~r�)r7�expectedr9�itemrxrs`   @�r�checkz1TestBasicOps.test_pairwise_reenter.<locals>.check�s8���
(�
(��!�#��B� ��� � ��b��4�0�!rrr(r�r�r�r�r�r�rr<s` r�test_pairwise_reenterz"TestBasicOps.test_pairwise_reenter�s����
	1�	�q�c��c�A�3�Z�!����S�1�#�J�
�	�	�q�c��S�A�3���*���c�A�3�Z�!����S�1�#�J�
�	�
	�q�c��S�1�#�J��S�A�3���*���c�A�3�Z�!����S�1�#�J�	
�	�	�q�!�f��s�Q�C�j�1�#�
���$��S�1�#�J�
�	�	�q�!�f��c�Q�C�!��:�
���$��S�1�#�J�
�	�	�q�!�f��c�A�3�Z�A�3���*�q�c�*�+��s�Q�C�j�1�#�
���$��S�1�#�J�
�	�
	�q�!�f��S�A�3�!��q�c�
�#�$��c�Q�C�!��:�
���$��S�1�#�J�
�	rc�h���fd�}|dg�|dg�|dg�|ddgdgfdgfg�y)Nc�z����G��fd�d�}t|����jt��|�y)Nc�$��eZdZdZd�Z��fd�Zy)�=TestBasicOps.test_pairwise_reenter2.<locals>.check.<locals>.Irc��|Sr rrEs rrFzFTestBasicOps.test_pairwise_reenter2.<locals>.check.<locals>.I.__iter__�r5rc���|j�k\rt�|xjdz
c_|jdk(rt�d�S|jgSrV)r�rJr�)rrx�maxcounts ��rrKzFTestBasicOps.test_pairwise_reenter2.<locals>.check.<locals>.I.__next__�sE����z�z�X�-�+�+��J�J��N�J��z�z�Q��#�B��~�-� �J�J�<�'rNr8)rxrEs��rr9rB�s����� �(rr9)r.r~r!)rEr:r9rxrs`  @�rr<z2TestBasicOps.test_pairwise_reenter2.<locals>.check�s.���

(�

(��!�#��B����T�"�X�x�0rrr(r�r�rr=s` r�test_pairwise_reenter2z#TestBasicOps.test_pairwise_reenter2�sA���	1� 	�a���
�a���
�a���
�a�Q�C�!��:��s�#�$�%rc��gdgfdgddgftd�td�ggd�ftd�td�td�ggftd�td�td�ggftd�td�td�ggffD]v\}}|jtt|��|�td	�D]B}|jtt||z��tt|it	|�
������D�x|jttttd�gdz���d
�|j
tttd�d�d�}d�}dddtd�td	�t	ddd��td�td�ttd��g	}td�D�]}ttjd��D�cgc]}tj|���}}ttt
|��}	|jttt|���|	�|jtt|��t||���|jtt|��t||���tt|�}|jttt|���|	���ycc}w)Nrr�r��r�r(r��)rrrPrQrR)rrrSrr�r;r�r�i��c?��K�ttt|��|jdd�z}t	|�}|dk(rd��ytd�|D��rydg|z}td�t
||�D����	tt|��D]_}||t	||�dz
k(r�||xxdz
cc<t|dz|�D]}d||<�	td�t
||�D����ny�x�w)Nr�rrrc3�8K�|]}t|�dk(���y�w)rNr�)r�rs  rr�z>TestBasicOps.test_product.<locals>.product1.<locals>.<genexpr>�s����4�e�d�3�t�9��>�e�s�c3�,K�|]\}}||���y�wr r�r�rr1s   rr�z>TestBasicOps.test_product.<locals>.product1.<locals>.<genexpr>�s����C�/B�G�D�!��Q��/B���c3�,K�|]\}}||���y�wr rrMs   rr�z>TestBasicOps.test_product.<locals>.product1.<locals>.<genexpr>�s����K�7J�G�D�!��Q��7J�rN)	r!r�r��getr��anyr"rr>)r$�kwds�poolsr?rr1r	s       r�product1z+TestBasicOps.test_product.<locals>.product1�s�������U�D�)�*�T�X�X�h��-B�B�E��E�
�A��A�v�����4�e�4�4���c�A�g�G��C�s�5�'�/B�C�C�C��!�%��(�+�A��q�z�S��q��]�Q�%6�6� ��A�J�!�O�J�"�1�Q�3��]��%&���
�+��K�s�5�'�7J�K�K�K��,���s�C2C4c?��K�	ttt|��|jdd�z}gg}|D]}|D��cgc]}|D]}||gz��
�}}}� |D]}t|����ycc}}w�w)Nr�r)r!r�r�rP)r$rRrSr!rr*r�r[s        r�product2z+TestBasicOps.test_product.<locals>.product2�sv����.���U�D�)�*�T�X�X�h��-B�B�E��T�F���)/�>��A��A�!�Q�C�%��%���>�����D�k�!���?�s�;A1�A+� A1r�r�r)r�r�r�r�r�r�r�r�)r>r~r!r=r�r�rrwrr��random�	randrange�choicer[r�r�)
rr$r!rarTrV�argtypesr1r	�expected_lens
          r�test_productzTestBasicOps.test_product�sW��
�"��J��V�f�f�%�&��A�h��a��
!�#M�N��A�h��a��%��(�
+�R�0��A�h��a��%��(�
+�R�0��A�h��a��%��(�
+�R�0�
�L�D�&�
���T�'�4�.�1�6�:��1�X��� � ��g��Q��&8�!9�!%�g�t�&F�t�1�~�&F�!G�I���	
����T�'�E�!�H�:�a�<�"8�9�:�D�A����)�W�e�A�h��=�	�,	"���r�5��8�U�1�X�t�a�1��7J��	�N�E�"�I�u�U�2�Y�/?�A���s��A�5:�6�;K�;K�A�;N�5O�P�5O��F�M�M�(�+�5O�D�P���C���/�L����S��g�t�n�!5�6��E����T�'�4�.�1�4��$��3H�I����T�'�4�.�1�4��$��3H�I��t�T�?�D����S��g�t�n�!5�6��E���Ps� Kc��|jttf�5tdgdzddi�ddd�y#1swYyxYw)Nr�r�r�i)rr%r&r=rEs r�test_product_overflowz"TestBasicOps.test_product_overflows4��
�
�
�
�{�;�
<��t�f�T�k�1�5�1�=�
<�
<�s�5�>c��|jtttttdd����d�|j
ttttttdd�����d�y)Nr�r�r)r~r�rr�r,r=r-r!rEs r�test_product_tuple_reusez%TestBasicOps.test_product_tuple_reuse
sW������S��R����)>�!?�@�A�1�E����C��C��D����1F�,G�$H� I�J�A�Nrc
�f�gdgfdgddgftd�td�ggd�ftd�td�td�ggftd�td�td�ggftd�td�td�ggffD]�\}}|jttjt	|���|�|jttj
t	|���|�ttjd	z�D]}|j|t	|�����y)
Nrr�r�rHr(r�rIrr)	r>r~r!r�r=r�rjr�r�)rr$r!rns    r�test_product_picklingz"TestBasicOps.test_product_picklings���"��J��V�f�f�%�&��A�h��a��
!�#M�N��A�h��a��%��(�
+�R�0��A�h��a��%��(�
+�R�0��A�h��a��%��(�
+�R�0�
�L�D�&�
���T�$�)�)�G�T�N�";�<�f�E����T�$�-�-����"?�@�&�I��v�6�6��:�;������w��~�6�<�rc���tdd�}|jd�|jt|�d�tddd�}|jd�|j	t
t|�y)NrS)r�)r��r(r�r)rrrd)r=r�r~r�rrJ)rr]s  r�test_product_issue_25021z%TestBasicOps.test_product_issue_25021s\��
�F�4� ��	���{�#�����a��&�)��F�B��%��	���~�&����-��q�1rc��|jttdd���gd��|jtt	d�td��gd��|jttdd��gd��|jtdtd��gd��|jttdd��g�|jttdd��g�|j
tt�|j
ttddd�|j
ttdd�td	�}|jt|�d
�td	d�}|jt|�d�t|�|jt|�d
�tdd��}|jt|�d�|jtdtj|��td��|jtdtj|��td��t	tjdz�D]}|j|tdd����!y)Nr�r�)�object�times)r�r�r�))rr��rr�)r(r�rr�r�y�?zrepeat((1+0j))r�zrepeat((1+0j), 5)zrepeat((1+0j), 0)rgr(�aar)r~r!r�r%r>rTrrwr�r�r�r�rjr�r�)rrar�rns    r�test_repeatzTestBasicOps.test_repeat*s�������f�C�q�9�:�O�L�����e�A�h�v�c�{�3�7�	9�����f�S�!�n�-��?�����a����-��?�����f�S�!�n�-�r�2�����f�S�"�o�.��3����)�V�,����)�V�T�1�a�8����)�V�T�3�7��4�L������a��"2�3��4��O������a��"5�6��Q������a��"5�6�
�#�R�(������a��#�&�����a����1��.��W�
�>�����a����q�!1�2�D��M�B��6�2�2�Q�6�7�E��O�O�E�6��B�#?�@�8rc�0�|jttdd��d�|jttdd��d�|jttdd���d�|jttdd���d�y)Nr�r�zrepeat('a', 0)r��ri)r~r�r�rEs r�test_repeat_with_negative_timesz,TestBasicOps.test_repeat_with_negative_timesEst������f�S�"�o�.�0@�A�����f�S�"�o�.�0@�A�����f�S��3�4�6F�G�����f�S��3�4�6F�Grc��|jtttjtd�tdd���gd��|jtttdtd���gd��|jtttdt���gd��|jtdttdt���d	d
g�|jtttjg��g�|jtt�|jtttdtd�td���|jtttj�|jtttdtd���|jttttdgdg��|jttttdgdg��gd�}ttdt��}|jtt!j |��|�ttdt��}|jtt!j"|��|�tt$j&dz�D]-}ttdt��}|j)||��/y)
Nr�rr��rrr�r�r�r}r(r~rrgr�)r~r!r�rW�powr>r;r�rTrrw�negr�r-r.r+r�r�rjr�r�r�s    r�test_mapzTestBasicOps.test_mapKs������c�(�,�,��a��%��!�*�E�F�+�	-�����c�(�E�5��8�<�=�2�	4�����c�(�E�5�7�;�<�2�	4�����a��H�e�U�W� =�>�!�'�*�	,�����c�(�,�,��3�4�b�9����)�S�)����)�T�3�t�U�1�X�u�Q�x�+H�I����)�S�(�,�,�7����)�T�3�r�5��8�+<�=����*�d�C��!��q�c�,B�C����)�T�3�v��s�Q�C�+@�A�(����%���)������d�i�i��l�+�S�1���%���)������d�m�m�A�.�/��5��6�2�2�Q�6�7�E��H�e�U�W�-�A��O�O�E�1�%�8rc��|jtttjtt
d�t
dd����gd��|jtdttjtt�td����gd��|jtttjg��g�|jtttjtddg�g��dg�|jttttjdg��|jtt�|jtttjdgd	�|jtttd
dg��|jttttdg��|jttttdg��gd�}ttjtt
d�t
dd���}|jtt!j |��|�ttjtt
d�t
dd���}|jtt!j"|��|�t
t$j&dz�D]K}ttjtt
d�t
dd���}|j)||��My)Nr�rr�rqr�r�i�r�r��extrarg)r~r!�starmaprWrrr"r>rTr�r�rrwr�r-r.r+r�r�rjr�r�r�s    r�test_starmapzTestBasicOps.test_starmapjs������g�h�l�l�C��a��%��!�*�4M�N�O�+�	-�����a�����s�5�7�E�!�H�7M�!N�O�+�	-�����g�h�l�l�B�7�8�"�=�����g�h�l�l�T�1�Q�%�[�M�B�C�d�V�L����)�T�7�8�<�<�$��+H�I����)�W�-����)�W�h�l�l�U�G�W�M����)�T�7�2��w�+?�@����*�d�G�G�e�W�,E�F����)�T�7�6�E�7�+C�D�!���H�L�L�#�e�A�h��a��
�";�<������d�i�i��l�+�S�1��H�L�L�#�e�A�h��a��
�";�<������d�m�m�A�.�/��5��6�2�2�Q�6�7�E�����c�%��(�E�!�A�J�&?�@�A��O�O�E�1�%�8rc��
�dD]?}|jtttd�g|����tt|����AdD]B\}}|jtttd�g|����tt|����D|jtttd�d��ttd���|jtttd�dd��ttd���|jtttd�ddd��ttd���|jtttd�dd��ttdd���|jtttd�ddd��ttddd���t	td��}|jtt|d��ttd���|jt|�ttdd���t	td��}|jtt|dd��g�|jt|�ttdd���td�}|jtt|�|jtt|dddd�|jtt|d	dd�|jtt|dd	d
�|jtt|ddd
�|jtt|ddd�|jtt|d�|jtt|dd�|jtt|dd�|jtt|ddd�|jtt|ddd�|jtttt�ddt���d�t�}|jtt|ddd
��dg�|jt|�d�dD]�}|jttjttd�g|�����tt|���|jttjttd�g|�����tt|���ttjdz�D]'}|j!|ttd�g|�����)��d�dD�}t#j$|�}t|d�}|j'|��t|�t)j*�|j-|��Gd�dt.�}|jtttd�|d���ttd���|jtttd�|d�|d
���ttdd
���|jtttd�|d�|d
�|d���ttdd
d���y)N)�rgr�r��rgr�r��rgr�)rgrg�rgr��r�r�)))rgr�r�)rgr�r�))rgr�)rgr�))r�)r�rgr(rr�r����r�rr��2)r{r|r}r~rc3� K�|]}|���y�wr r)r�r*s  rr�z+TestBasicOps.test_islice.<locals>.<genexpr>�s����
 ��A�a����rSc��eZdZd�Zd�Zy)�)TestBasicOps.test_islice.<locals>.IntLikec��||_yr ��val�rr�s  rrz2TestBasicOps.test_islice.<locals>.IntLike.__init__�s	����rc��|jSr r�rEs r�	__index__z3TestBasicOps.test_islice.<locals>.IntLike.__index__�s���x�x�rN)rNrOrPrr�rrr�IntLiker��s��
�
 rr�r�)r~r!rRr>r�rrwr-r�r�r�r�r�r�rjr�r��weakref�ref�assertIsNotNoner�
gc_collect�assertIsNonerh)	rr$�tgtargsrx�rar�rn�wrr�s	         r�test_islicezTestBasicOps.test_islice�s%���D�
���T�&��s��";�d�";�<�!�%��,�/�
1���M�D�'�

���T�&��s��";�d�";�<�!�%��/�2�
4��	
����f�U�2�Y��5�6��U�2�Y��H�����f�U�2�Y��d�;�<�d�5��9�o�N�����f�U�2�Y��d�D�A�B�D��r��O�T�����f�U�2�Y��4�8�9�4��a���;M�N�����f�U�2�Y��4��;�<�d�5��B�PQ�?�>S�T��%��)�_������f�R��m�,�d�5��8�n�=�����b��4��a���#5�6�
�%��)�_������f�R��A�.�/��4�����b��4��a���#5�6��2�Y�����)�V�R�0����)�V�R��A�q�!�<����*�f�b�"�b�!�<����*�f�b�!�R��<����*�f�b�!�R��<����*�f�b�!�R��;����*�f�b�#�6����*�f�b�#�q�9����*�f�b�!�S�9����*�f�b�#�q�!�<����*�f�b�!�S�!�<�����T�&���!�R��"A�B�C�Q�G�
�G������f�Q��1�b�1�2�Q�C�8�����a��!�$��D�
���T�$�)�)�F�5��:�,E��,E�"F�G�!�%��,�/�
1����T�$�-�-��u�S�z�0I�D�0I�"J�K�!�%��,�/�
1��v�6�6��:�;������v�e�C�j�'@�4�'@�A�<�� !��
 ��
�[�[��_��
�B��]�����R�T�"��R���������"�$��	 �f�	 �
	
����f�U�3�Z����=�>��U�2�Y��P�����f�U�3�Z����g�b�k�J�K��e�B��m�,�	.�����f�U�3�Z����g�b�k�7�ST�:�V�W��e�B�r�!�n�-�	/rc
�@�gd�}|jttt|��gd��|jtttg��g�|j	t
t�|j	t
ttj�|j	t
ttjdgd�|j	t
ttddg��|j	ttttdg��ttgd��}|jt|�gd��|j	tt|�|jttjtt|���gd��|jttjtt|���gd��tt j"dz�D]"}|j%|tt|���$y)	N�rr�r�r�r(r�r�r�rsrvrwrg)rrrrrr�rrrr)r~r!�	takewhilerhrrwrWrrr�r-r.r�rJr�r�r>rjr�r�)rr�rhrns    r�test_takewhilezTestBasicOps.test_takewhile�sh��(������i��$�7�8�)�D�����i��"�5�6��;����)�Y�/����)�Y����=����)�Y����u�g�w�O����)�T�9�R�%��+A�B����*�d�I�g��w�,G�H��d�.�/������a��)�,����-��q�1�	
����d�i�i�	�(�D�(A�B�C�Y�O�����d�m�m�I�h��,E�F�G�!�	#��6�2�2�Q�6�7�E��O�O�E�9�X�t�#<�=�8rc
��gd�}|jttt|��gd��|jtttg��g�|j	t
t�|j	t
ttj�|j	t
ttjdgd�|j	t
ttddg��|j	ttttdg��|jttjtt|���gd��|jttjtt|���gd��ttjdz�D]"}|j!|tt|���$y)Nr�)r�r(r�r�r�rvrwrgr)r~r!�	dropwhilerhrrwrWrrr�r-r.r�r�r>rjr�r�)rr�rns   r�test_dropwhilezTestBasicOps.test_dropwhile�s7��(������i��$�7�8�:J�K�����i��"�5�6��;����)�Y�/����)�Y����=����)�Y����u�g�w�O����)�T�9�R�%��+A�B����*�d�I�g��w�,G�H�	
����d�i�i�	�(�D�(A�B�C�EU�V�����d�m�m�I�h��,E�F�G�(�	*��6�2�2�Q�6�7�E��O�O�E�9�X�t�#<�=�8rc	���d}tg�\}}|jt|�g�|jt|�g�tt|��\}}|jt	||�t	t|�t|���tt|��\}}|jt|�tt|���|jt|�tt|���tt|��\}}td�D]}|jt
|�|��~|jt|�tt|���tt|��\}}td�D]}|jt
|�|��~|jt|�ttd|���td�D]�}dg|zdg|zz}tj|�ggf}tt|��}|D]$}t
||�}	||j|	��&|j|dtt|���|j|dtt|�����|jtt�|jttd�|jttddgd�|jttddgdd�td	�\}}t|�d
�}
|jt|
�td
��ttd�d�\}}}
td�D]}|jt
|�|��|jt|�ttd���|jt
|
�t
|
�gttd���|jt|�ttdd���|jt|
�ttdd���|jttd	d�|jttgd
�td�D]~}td	|�}|jt|�t�|jt|�|�|j|D�cgc]
}t|���c}td	�g|z���td	�\}}t|�\}
}
|j!||
u�td	�\}}t|�}|jt|�|jt|d�||�}|j!t|�t|�cxk(xrt|�cxk(xrtd	�k(nc�ttd��\}}t#j$|�}|jt'|d�t|��~t)j*�|jt,t&|d�td	�}ttd��}td	�\}}|jtt/j.|��|�|jtt/j.|��|�tttd���\}}|jtt/j.|��|�|jtt/j.|��|�td	�\}}t1d|�t1d|�|jtt/j.|��|dd�|jtt/j.|��|dd�|jt|�|dd�|jt|�|dd�ttd��\}}t1d|�t1d|�|jtt/j.|��|dd�|jtt/j.|��|dd�|jt|�|dd�|jt|�|dd�td	�\}}|jtt/j2|��|�|jtt/j2|��|�|jt|�|�|jt|�|�ttd��\}}|jtt/j2|��|�|jtt/j2|��|�|jt|�|�|jt|�|�td	�\}}t1d|�t1d|�|jtt/j2|��|dd�|jtt/j2|��|dd�|jt|�|dd�|jt|�|dd�ttd��\}}t1d|�t1d|�|jtt/j2|��|dd�|jtt/j2|��|dd�|jt|�|dd�|jt|�|dd�tt4j6dz�D]\}|j9|t;td	���td	�\}}|j9|||��|j9|||���^ycc}w)N��r�r�rrr�r(r*r�r�r��invalidr�rg�	__class__rr�<r�)�teer~r!r@r%r>r�rW�shuffler�rrwrr-r�r�r�r��proxy�getattrrr��ReferenceErrorr�rTr�rjr�r�r�)rr?r�r�r1r	�order�lists�itsr�r�r!r*r��t1�t2�tnew�t3r]r��long_ansrns                      r�test_teezTestBasicOps.test_teesY	�����2�w���1�����a��"�%�����a��"�%��6�!�9�~���1�����a���D��q��5��8�$<�=��6�!�9�~���1�����a��$�u�Q�x�.�1�����a��$�u�Q�x�.�1��6�!�9�~���1��s��A����T�!�W�a�(��
�����a��$�u�Q�x�.�1��6�!�9�~���1��s��A����T�!�W�a�(��
�����a��$�u�S�!�}�"5�6��q��A��C��E�Q�C��E�M�E��N�N�5�!���H�E��f�Q�i�.�C����S��V����a�����&��
���U�1�X�t�E�!�H�~�6����U�1�X�t�E�!�H�~�6��	
���)�S�)����)�S�!�,����)�S�1�Q�%��5����)�S�1�Q�%��C�8��5�z���1��D��G�E�N������a��$�u�+�.��e�D�k�1�%���1�a��s��A����T�!�W�a�(������a��$�u�T�{�"3�4����$�q�'�4��7�+�T�%��(�^�<�����a��$�u�S���"7�8�����a��$�u�Q�t�}�"5�6�	
���)�S�%��;����*�c�2�r�2��q��A����]�F����T�&�\�5�1����S��[�!�,����v�6�v�!�d�1�g�v�6��e��
�a��H�	��5�z���1��1�v���1�����Q����U����B��B�x�����)�T�*����)�T�2�.�
�"�X������R��D��H�G��R��G�D��K�G�H��5��9�~���1��M�M�!��������K�0�$�q�'�:�
��������.�'�1�k�B��5�k����e��%���5�z���1�����d�i�i��l�+�S�1�����d�i�i��l�+�S�1��4��e��%�&���1�����d�i�i��l�+�X�6�����d�i�i��l�+�X�6��5�z���1��Q��
��Q��
�����d�i�i��l�+�S���W�5�����d�i�i��l�+�S���W�5�����a��#�a�b�'�*�����a��#�a�b�'�*��5��<� ���1��S�!���R�������d�i�i��l�+�X�c�d�^�<�����d�i�i��l�+�X�b�c�]�;�����a��(�3�4�.�1�����a��(�2�3�-�0��5�z���1�����d�m�m�A�.�/��5�����d�m�m�A�.�/��5�����a��#�&�����a��#�&��5��<� ���1�����d�m�m�A�.�/��:�����d�m�m�A�.�/��:�����a��(�+�����a��(�+��5�z���1��Q��
��Q��
�����d�m�m�A�.�/��Q�R��9�����d�m�m�A�.�/��Q�R��9�����a��#�a�b�'�*�����a��#�a�b�'�*��5��<� ���1��S�!���R�������d�m�m�A�.�/��#�$��@�����d�m�m�A�.�/��"�#��?�����a��(�3�4�.�1�����a��(�2�3�-�0��6�2�2�Q�6�7�E��O�O�E�4��E�
�#3�4��u�:�D�A�q��O�O�E�1�c�O�2��O�O�E�1�c�O�2�	8��_7s�>q
c�4�d}tjd|�y)NzHimport typing, copyreg, itertools; copyreg.buggy_tee = itertools.tee(())z-c)r�assert_python_ok)r�scripts  r�test_tee_dealloc_segfaultz&TestBasicOps.test_tee_dealloc_segfault�s��
4�	�	�&�&�t�V�4rc�^�ttdd��\}}	t|�~y#~~�xYw)Ni-1)r�r�rQ)r�forward�backwards   r�test_tee_del_backwardz"TestBasicOps.test_tee_del_backward�s6����t�X� 6�7����	���L���	����s�'�,c���G�fd�d�}t|��\}�|jtd�5t|�ddd�y#1swYyxYw)Nc�"��eZdZdZd�Z�fd�Zy)�(TestBasicOps.test_tee_reenter.<locals>.ITc��|Sr rrEs rrFz1TestBasicOps.test_tee_reenter.<locals>.I.__iter__�r!rc�F��|j}d|_|rt��Sy�NF)�firstr�)rr�r�s  �rrKz1TestBasicOps.test_tee_reenter.<locals>.I.__next__�s$����
�
��"��
����7�N�rN)rNrOrPr�rFrKrHs�rr9r��s����E�
�
#rr9r�)r��assertRaisesRegexrtr�)rr9r�r�s   @r�test_tee_reenterzTestBasicOps.test_tee_reenter�sA���	#�	#��1�3�x���1�
�
#�
#�L�%�
8���G�9�
8�
8�s�A�Ac����tj��tj��G��fd�d�}t|��\}}tjt|g��}|j�	�j
�|jtd�5t	|�ddd��j�|j�y#1swY�*xYw#�j�|j�wxYw)Nc� ��eZdZd�Z��fd�Zy)�+TestBasicOps.test_tee_concurrent.<locals>.Ic��|Sr rrEs rrFz4TestBasicOps.test_tee_concurrent.<locals>.I.__iter__�r!rc�F���j��j�yr )r�wait)r�finishr�s ��rrKz4TestBasicOps.test_tee_concurrent.<locals>.I.__next__�s����	�	�����
rNrM)r�r�s��rr9r��s
���
�
rr9)r	r$r�)�	threading�Eventr��Threadr�r�r�r�rtrr�)rr9r�r��threadr�r�s     @@r�test_tee_concurrentz TestBasicOps.test_tee_concurrent�s�������!�����"��	�	��1�3�x���1��!�!��Q�C�8������	��J�J�L��'�'��e�<��Q��=�
�J�J�L��K�K�M�	=�<��
�J�J�L��K�K�M�s$�8&C�C�*C�C�C�"Dc
��|jttt��tt
ttfD]L}|jtt|g��|jtt|t����N|jtttgd��|jtttt�d��tg�\}}|jtt|�|jtt|�tt��\}}|jtt|�|jtt|�|jtttdd��tttttt fD]P}|jtt|d�g��|jtt|d�t����Ry)Nrc��|Sr rr)s rroz1TestBasicOps.test_StopIteration.<locals>.<lambda>�r�rc��|Sr rr)s rroz1TestBasicOps.test_StopIteration.<locals>.<lambda>�r�r)rrJr�r"r�r�rCrCrRr�r�rdr�r�r�r�rx)rr�r]�qs    r�test_StopIterationzTestBasicOps.test_StopIteration�sU�����-��s�u�5����W�-�A����m�T�1�R�5�9����m�T�1�W�Y�<�@�.�	
���-��v�b�$�/?�@����-��v�g�i��/F�G��2�w���1����-��q�1����-��q�1��7�9�~���1����-��q�1����-��q�1����-��v�d�A��?��+�s�I�y�'�J�A����m�T�1�Z��3D�E����m�T�1�Z���3K�L�Krc��tdggd�}t|�tj�|j	tj
t|���yrV)rr��gc�collectr��
is_trackedr�s  r�test_combinations_result_gcz(TestBasicOps.test_combinations_result_gc�s?��
�4��*�a�
(���R��
�
�
��	
����
�
�d�2�h�/�0rc��tdggd�}t|�tj�|j	tj
t|���yrV)rr�r�r�r�r�r�s  r�,test_combinations_with_replacement_result_gcz9TestBasicOps.test_combinations_with_replacement_result_gc�s=��+�D�"�:�q�
9���R��
�
�
������
�
�d�2�h�/�0rc��tdggd�}t|�tj�|j	tj
t|���yrV)rr�r�r�r�r�r�s  r�test_permutations_result_gcz(TestBasicOps.test_permutations_result_gcs=���4��*�a�
(���R��
�
�
������
�
�d�2�h�/�0rc��tdgg�}t|�tj�|j	tj
t|���yr )r=r�r�r�r�r�r�s  r�test_product_result_gcz#TestBasicOps.test_product_result_gc
s;���d�B�Z�
 ���R��
�
�
������
�
�d�2�h�/�0rc��tgg�}tj�|jtjt|���yr )rr�r�r�r�r�r�s  r�test_zip_longest_result_gcz'TestBasicOps.test_zip_longest_result_gcs2���"��
��
�
�
������
�
�d�2�h�/�0rc��ddlm}m}m}tt
ttttttttt|tt t"t$t&t(t*||t,f}|D]C}|j/|��5|j1t2d�5d|_ddd�ddd��Ey#1swY�xYw#1swY�\xYw)Nr)�_grouper�_tee�_tee_dataobject)�tp�	immutabler)�	itertoolsr�r�r�r�r�r�rrrxr�r�r�r�rCrRr.rr=r�rxr�rr�r�rw�foobar)rr�r�r��datasetr�s      r�test_immutable_typesz!TestBasicOps.test_immutable_typess���=�=�����)������������������-
��0�B������$��+�+�I�{�C� !�B�I�D�%�$��C�C��%�$�s$�C�B8�%C�8C�=C�C
	)r�rN)GrNrOrPr�rr�r�r�r�r�r�r"r�bigaddrspacetestr'�impl_detailr.rIrLrNr^r`rbrir{r�r�r�r�r�r�r�r�r�r�r�rr
rrr*r/r>rFr\r^r`rbrfrlrortryr�r�r�r�r�r�r�r�requires_working_threadingr�r��cpython_onlyr�r�r�r�r�r�rrrrqrqhs��'$�R�!,��!,�F$3�L
7�Y��P��P��J��J��MD��MD�^
���&��&�
�W���=�>�R�?�R��J:��J:�X
���7��7�
�W���=�>�I�?�I�
�=D��=D�~
���%��%��W���=�>�R�?�R�E�B�P��P�B�.,��.,�`�58��58�nP��"H��"H�H�K��K�>�"D��"D�H�@F��@F�D&�6�B��B�-� �W���=�>��8��?�8�4(2�T�W���=�>�<�?�<��=��=�
/�&2�P�&0�d&�,8F�t
���2��2��W���=�>�O�?�O��
7��
7��2��2��A��A�4H��&��&�<�&��&�6�\/��\/�|�>��>�(�>��>�"�S3��S3�j5��
�1��0�0�2��3��*M�.
���
1��
1�
���1��1�
���1��1�
���1��1�
���1��1�
���"��"rrqc��eZdZd�Zed��Zed��Zd�Zd�Zd�Z	d�Z
d�Zd	�Zd
�Z
d�Zd�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zy)�TestExamplesc�T�|jttgd���gd��y�N�rr(r�r�r��rr�r�rgr�)r~r!r�rEs rr�zTestExamples.test_accumulate?s������j��5�6�8I�Jrc���gd�}gd�}ttjdz�D]�}t|�}|j	ttjtj||���|dd�|j	t|�d�|j	ttjtj||���|dd���t|�}|j	t|�d�|j	ttj|��|dd�|j	ttj|��|dd�y)Nr�r�r)r>rjr�r�r~r!rkrlr�r�r�)rr��accumulatedrnrxs     r�test_accumulate_reduciblez&TestExamples.test_accumulate_reducibleBs����'���6�2�2�Q�6�7�E��D�!�B����T�&�,�,�v�|�|�B��/F�"G�H�+�VW�.�Y����T�"�X�q�)����T�&�,�,�v�|�|�B��/F�"G�H�+�VW�VX�/�Z�	8�
��
������b��1�%�����d�m�m�B�/�0�+�a�b�/�B�����d�i�i��m�,�k�!�"�o�>rc��tgd�tj�}|jt	|�d�ttjdz�D]H}t
jt
j||��}|jt|�ddg��J|jttj|��ddg�|jttj|��ddg�y)N)NNNrTF)
r�rW�is_r~r�r>rjr�rkrlr!r�r�)rrxrn�it_copys    r�test_accumulate_reducible_nonez+TestExamples.test_accumulate_reducible_noneRs����*�H�L�L�
9������b��4�(��6�2�2�Q�6�7�E��l�l�6�<�<��E�#:�;�G����T�'�]�T�5�M�:�8�	
����d�m�m�B�/�0�4��-�@�����d�i�i��m�,�t�U�m�<rc�Z�|jdjtdd��d�y�Nr�r2�DEFrk)r~r�r�rEs rr�zTestExamples.test_chain]s"���������u�e�!4�5�x�@rc�p�|jdjtjddg��d�yr�)r~r�r�r�rEs rr�z%TestExamples.test_chain_from_iterable`s*���������!4�!4�e�U�^�!D�E�x�Prc	��|jttdd��gd��|jtttd�d��gd��y)Nr�r(r�r�r�r�)r~r!rr>rEs rr"zTestExamples.test_combinationscsE������l�6�1�5�6�[�	]�����l�5��8�Q�7�8�=�	?rc�R�|jttdd��gd��y)Nr2r(r3)r~r!rrEs rrIz/TestExamples.test_combinations_with_replacementis#������;�E�1�E�F�[�	]rc	�d�|jttdgd���td��y)Nrkrlrn)r~r!rxrEs rr{zTestExamples.test_compressms"������h�x��?�@�$�v�,�Orc	�d�|jtttd�d��gd��y)Nrgr�)rgr�rr�r�)r~r!rRr�rEs rr�zTestExamples.test_countps#������f�U�2�Y��2�3�5I�Jrc	�r�|jtttd�d��td��y)Nr�r�ABCDABCDABCD)r~r!rRr�rEs rr�zTestExamples.test_cycless'������f�U�6�]�B�7�8�$�~�:N�Orc	�X�|jttd�gd���gd��y)Nc��|dkS�Nr�rr)s rroz-TestExamples.test_dropwhile.<locals>.<lambda>w���!�A�#r�rr�r�r�r)r�r�r)r~r!r�rEs rr�zTestExamples.test_dropwhilevs������i�
�{�C�D�g�Nrc	�H�|jtd�D��cgc]\}}|��	c}}td��|jtd�D��cgc]\}}t|���c}}td�td�td�td�g�ycc}}wcc}}w)N�AAAABBBCCDAABBB�ABCDAB�
AAAABBBCCD�AAAA�BBB�CCr�)r~rCr!)rrFr�s   rr�zTestExamples.test_groupbyys�������0A�(B�C�(B���1�!�(B�C��h��	)������0E�F�0E���1�4��7�0E�F��v�,��U��T�$�Z��c��K�	M��D��Fs�B
�B
c
�f�|jttd�td���gd��y)Nc��|dzSr'rr)s rroz*TestExamples.test_filter.<locals>.<lambda>�s��q��srrg)rr�r�r�r�)r~r!rdr>rEs rr�zTestExamples.test_filters"������f�]�E�"�I�>�?��Mrc
�f�|jttd�td���gd��y)Nc��|dzSr'rr)s rroz/TestExamples.test_filterfalse.<locals>.<lambda>�s��A�a�Crrg)rr(r�r�r�)r~r!r�r>rEs rr�zTestExamples.test_filterfalse�s"������k�-��r��C�D�k�Rrc	�\�|jtttdd��gd��y)N)r(r�rg)r�r(r��r�r�r�)r~r!r�rrrEs rrtzTestExamples.test_map�s ������c�#�x��9�:�M�Jrc
�|�|jttdd��td��|jttddd��td��|jttddd��td��|jttdddd��td��y)	Nr�r(�ABr��CD�CDEFGr�ACEG)r~r!rRrEs rr�zTestExamples.test_islice�s�������f�Y��2�3�T�$�Z�@�����f�Y��1�5�6��T�
�C�����f�Y��4�8�9�4��=�I�����f�Y��4��;�<�d�6�l�Krc�R�|jttdd��ddg�y)Nr��xy�r�r*�r�r�)r~r!r"rEs rr�zTestExamples.test_zip�s#������c�&�$�/�0�:�z�2J�Krc	�V�|jttddd���gd��y)Nr�r�-r)rr)r�r!)r�r!)r~r!rrEs r�test_zip_longestzTestExamples.test_zip_longest�s$������k�&�$�#�F�G�I�	Krc
��|jttdd��tttdj����|jttt
d���gd��y)Nr�r(z#AB AC AD BA BC BD CA CB CD DA DB DCr�)r0)rr(r)rrr()rr(r)r(rr)r(rr)r~r!rr�r��splitr>rEs rr^zTestExamples.test_permutations�sZ������l�6�1�5�6��c�%�)N�)T�)T�)V�W�X�	Z�����l�5��8�4�5�O�	Qrc
��|jttdd��tttdj����|jttt
d�d���gd��y)Nr�rzAx Ay Bx By Cx Cy Dx Dyr(r�r;)r�)rrr)rrr)rrr)rrrro)rrrr�)r~r!r=r�r�r$r>rEs rr\zTestExamples.test_product�s]������g�f�d�3�4��c�%�)B�)H�)H�)J�K�L�	N�����g�e�A�h�q�9�:�=�	>rc�R�|jttdd��gd��y)Nrgr�)rgrgrg)r~r!r�rEs rrlzTestExamples.test_repeat�s������f�R��m�,�l�;rc	�^�|jtttgd���gd��y)N))r(r��r�r(r~r)r~r!rxrrrEs r�test_stapmapzTestExamples.test_stapmap�s"������g�c�+A�B�C�&�	(rc	�X�|jttd�gd���ddg�y)Nc��|dkSrrr)s rroz-TestExamples.test_takewhile.<locals>.<lambda>�rrr	rr�)r~r!r�rEs rr�zTestExamples.test_takewhile�s"������i�
�{�C�D�q��e�LrN)rNrOrPr�rr�r�r�r�r"rIr{r�r�r�r�r�r�rtr�r�r"r^r\rlr)r�rrrr�r�=s���K��
?��
?��=��=�A�Q�?�]�P�K�P�O�M�N�S�K�L�L�K�Q�>�<�(�Mrr�c�(�eZdZd�Zed��Zd�Zy)�TestPurePythonRoughEquivalentsc	��d�}tgd�gd��D]r\}}|j||��5	dtt||��}}	dt|||��}}|j
||�|j
||�ddd��ty#t$r}t|�d}}Yd}~�_d}~wwxYw#t$r}t|�d}}Yd}~�md}~wwxYw#1swY��xYw)Nc3�K�	|dkrtd��t|�}tt||��x}r|��tt||��x}r�yy�w)Nrzn must be at least one)r-r�r�rR)rZr?rxr�s    r�batched_recipezJTestPurePythonRoughEquivalents.test_batched_recipe.<locals>.batched_recipe�sX����P��1�u� �!9�:�:��h��B� ���A��/�/�%�/���!���A��/�/�%�/�s�AA�A)	r�r�r�r�r�r+r�r�N)r�rrr(r�r�r�r�r�r�r�N)rZr?)r=r�r!r�r�rr~)	rr0rZr?�e1r�rz�e2r�s	         r�test_batched_recipez2TestPurePythonRoughEquivalents.test_batched_recipe�s���	�#�R�8�:�K�H�a����x�1��5�+�!�4���!�(<�#=��B�+�!�4��x��(C�#D��B�� � ��R�(�� � ��R�(�6�5�:��!�+�!�!�W�d��B��+��!�+�!�!�W�d��B��+��6�5�sX�C�B
�B-�$C�
	B*�
B%� C�%B*�*C�-	C
�6
C�C�C
�
C�C	c'��K�t|�}|jxsd|jxstj|j
xsd}}}t
t|||��}	t|�}	t|�D]\}}	||k(s�|	��t|�}�y#t$r tt|�|�D]\}}	�YywxYw#t$r$ttdz|�|�D]\}}	�YywxYw�wr@)�slicer�r|r�r�r�r�r>r�rJr"�	enumerate)
rZr$rmr�r|r�rx�nextir1r�s
          rrRz%TestPurePythonRoughEquivalents.islice�s������4�L���G�G�L�q�!�&�&�*?�C�K�K�����1�T�t��
�%��t�T�*�
+��	���H�E�	�'��1�
��7���:�!�M� ��H�E�2��
�	�!�%��,��9�
��7��:��		���	�!�%��A��t�"4�h�?�
��7��@�	�sN�AC1� B�,C�C�C1�&B>�;C1�=B>�>C1�*C.�+C1�-C.�.C1c
�,�|jt|jdd��td��|jt|jddd��td��|jt|jddd��td��|jt|jdddd��td��tt	d	��}|jt|j|d
��tt	d
���|jt|�tt	d
d	���tt	d	��}|jt|j|d
d
��g�|jt|�tt	d
d	���t�}|jt|j|dd
d��dg�|jt
|�d
�y)
Nr�r(rr�rrrrrgr�rr�)r~r!rRr�r>r�r�)rrxr�s   r�test_islice_recipez1TestPurePythonRoughEquivalents.test_islice_recipe�s}������d�k�k�)�Q�7�8�$�t�*�E�����d�k�k�)�Q��:�;�T�$�Z�H�����d�k�k�)�Q��=�>��W�
�N�����d�k�k�)�Q��a�@�A�4��<�P�
�%��)�_������d�k�k�"�a�0�1�4��a��>�B�����b��4��a���#5�6�
�%��)�_������d�k�k�"�a��3�4�b�9�����b��4��a���#5�6��G������d�k�k�!�Q��2�6�7�!��=�����a��!�$rN)rNrOrPr3�staticmethodrRr9rrrr-r-�s ��)�2����*%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�Zy)�TestGCc�@�|j|�t|�~~yr )r�r�)r�iterator�	containers   r�	makecyclezTestGC.makecycle�s������"��X���xrc�F�g}|jtdd|dg�|�y�Nrr(r�)r@r��rr�s  rr�zTestGC.test_accumulate�s"�������z�1�Q�q��)�,�a�0rc�H�g}|jtdd|dgd�|�yrB)r@r�rCs  rr�zTestGC.test_batched�s$�������w��!�A�a�y�!�,�a�0rc�>�g}|jt|�|�yr )r@r�rCs  rr�zTestGC.test_chain�s�������u�Q�x��#rc�T�g}|jtj|g�|�yr )r@r�r�rCs  rr�zTestGC.test_chain_from_iterables"�������u�*�*�A�3�/��3rc�H�g}|jtdd|dgd�|�yrB)r@rrCs  rr"zTestGC.test_combinations�$�������|�Q�q��1�I�q�1�1�5rc�H�g}|jtdd|dgd�|�yrB)r@rrCs  rrIz)TestGC.test_combinations_with_replacements%�������4�a��!�A�Y��B�A�Frc�D�g}|jtdgd��|�y)Nrk)rrrrrr)r@rxrCs  rr{zTestGC.test_compresss�������x��-�8�!�<rc��g}tdtft|���}|jt	|d�|d��|�y)N�Intr)rr)rr�r�r@r�)rr�rLs   rr�zTestGC.test_counts8�����5�3�&�$��)�,�����u�S��V�S��V�,�a�0rc�F�g}|jt|gdz�|�yr')r@r�rCs  rr�zTestGC.test_cycles�������u�a�S��U�|�Q�'rc�N�g}|jttd||g�|�yr_)r@r�r�rCs  rr�zTestGC.test_dropwhiles"�������y���1�a�y�1�1�5rc�J�g}|jt|gdzd��|�y)Nr(c��|Sr rr)s rroz%TestGC.test_groupby.<locals>.<lambda>"s��qr)r@rCrCs  rr�zTestGC.test_groupby s"�������w��s�1�u�j�1�1�5rc��d}d�}tt|�|��D]0\}}|jjdg�j	|��2y)Nrgc��|Sr rr)s rroz'TestGC.test_issue2246.<locals>.<lambda>'r�rr�r*)rCr>�__dict__�
setdefaultr�)rr?r�r1r	s     r�test_issue2246zTestGC.test_issue2246$sF�������E�!�H�'�2�D�A�q����'�'��B�/�6�6�q�9�3rc�J�g}|jtd�|gdz�|�y)Nc��y)NTrr)s rroz$TestGC.test_filter.<locals>.<lambda>-s��trr()r@rdrCs  rr�zTestGC.test_filter+s"�������v�m�a�S��U�3�Q�7rc�B�g}|jtd�|�|�y)Nc��yr�rr)s rroz)TestGC.test_filterfalse.<locals>.<lambda>1s��Er)r@r�rCs  rr�zTestGC.test_filterfalse/s�������{�>�1�5�q�9rc�P�g}|jt|gdz|gdz�|�y)Nr(r�)r@r"rCs  rr�zTestGC.test_zip3s(�������s�A�3�q�5�1�#�a�%�(�!�,rc��g}|jt|gdz|gdz�|�|dg}|jt|gdz|gdz|��|�y)Nr(r�r)r@r)rr�r�s   rr"zTestGC.test_zip_longest7sT�������{�A�3�q�5�1�#�a�%�0�!�4�
��I�����{�A�3�q�5�1�#�a�%�1�=�q�Arc�J�g}|jtd�|gdz�|�y)Nc��|Sr rr)s rroz!TestGC.test_map.<locals>.<lambda>?s��Arr()r@r�rCs  rrtzTestGC.test_map=s"�������s�:��s�1�u�-�q�1rc�H�g}|jt|gdzd�|�yr')r@rRrCs  rr�zTestGC.test_isliceAs"�������v�q�c�!�e�T�*�A�.rc�F�g}|jt|gdz�|�yr)r@r.rCs  rr/zTestGC.test_pairwiseEs�������x���A����*rc�H�g}|jtdd|dgd�|�yrB)r@rrCs  rr^zTestGC.test_permutationsIrHrc�J�g}|jtdd|dgd��|�y)Nrr(r�r;)r@r=rCs  rr\zTestGC.test_productMs$�������w��!�A�a�y��3�Q�7rc�>�g}|jt|�|�yr )r@r�rCs  rrlzTestGC.test_repeatQs�������v�a�y�!�$rc�N�g}|jtd�||fgdz�|�y)Nc��|Sr r)rhs rroz%TestGC.test_starmap.<locals>.<lambda>Ws��!rr()r@rxrCs  rryzTestGC.test_starmapUs&�������w�|�q��e�W�Q�Y�7��;rc	�P�g}|jttdd||g�|�y)Nrr)r@r�r�rCs  rr�zTestGC.test_takewhileYs$�������y���1�a��|�4�a�8rN)rNrOrPr@r�r�r�r�r"rIr{r�r�r�r�rUr�r�r�r"rtr�r/r^r\rlryr�rrrr<r<�s��� �
1�1�$�4�6�G�=�1�
(�6�6�:�8�:�-�B�2�/�+�6�8�%�<�9rr<c#�$K�	|D]}|���y�wr r��seqnr1s  r�Rri]s�����
�����r3c��eZdZ	d�Zd�Zy)r�c��||_yr �rh�rrhs  rrz
G.__init__ds	����	rc� �|j|Sr rl)rr1s  r�__getitem__z
G.__getitem__fs���y�y��|�rN)rNrOrPrrorrrr�r�bs�� ��rr�c� �eZdZ	d�Zd�Zd�Zy)r9c� �||_d|_yr_rgrms  rrz
I.__init__k�����	���rc��|Sr rrEs rrFz
I.__iter__nrGrc��|jt|j�k\rt�|j|j}|xjdz
c_|SrV�r1r�rhrJ�rrGs  rrKz
I.__next__p�?���6�6�S����^�#�=�%8��I�I�d�f�f������!����rNr#rrrr9r9is��&���rr9c��eZdZ	d�Zd�Zy)�Igc� �||_d|_yr_rgrms  rrzIg.__init__xrrrc#�6K�|jD]}|���y�wr rlr�s  rrFzIg.__iter__{s�����9�9�C��I��s�N�rNrOrPrrFrrrryryvs��?��rryc��eZdZ	d�Zd�Zy)rc� �||_d|_yr_rgrms  rrz
X.__init__�rrrc��|jt|j�k\rt�|j|j}|xjdz
c_|SrVrurvs  rrKz
X.__next__�rwrN)rNrOrPrrKrrrrrs��&��rrc��eZdZ	d�Zd�Zy)�Nc� �||_d|_yr_rgrms  rrz
N.__init__�rrrc��|Sr rrEs rrFz
N.__iter__�rGrNr|rrrr�r��s��!��rr�c� �eZdZ	d�Zd�Zd�Zy)r�c� �||_d|_yr_rgrms  rrz
E.__init__�rrrc��|Sr rrEs rrFz
E.__iter__�rGrc��ddzy)Nr�rrrEs rrKz
E.__next__�s	��	�Q�rNr#rrrr�r��s��$���rr�c� �eZdZ	d�Zd�Zd�Zy)�E2c� �||_d|_yr_rgrms  rrzE2.__init__�rrrc��|Sr rrEs rrFzE2.__iter__�rGrc��|jdk(rt�|j|j}|xjdz
c_|Sr8)r1�ZeroDivisionErrorrhrvs  rrKzE2.__next__�s7���6�6�Q�;�#�#��I�I�d�f�f������!����rNr#rrrr�r��s��9���rr�c� �eZdZ	d�Zd�Zd�Zy)�Sc��yr rrms  rrz
S.__init__�s��rc��|Sr rrEs rrFz
S.__iter__�rGrc��t�r rIrEs rrKz
S.__next__�rLrNr#rrrr�r��s���
��rr�c�f�	ttd�ttt	|�����S)Nc��|Sr rr)s rrozL.<locals>.<lambda>�s��ar)r�r�riryr�rls r�Lr��s#��&���Z��2�a��g�;��0�1�1rc�x�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zy)�TestVariousIteratorArgsc
��gd�}gd�}t|�}ttttt
fD],}|j
tt||���|��.|j
ttt|���g�|jttt|��|jttt|��|jtttt|���yr�)r�r�r9ryr�rir~r!r�r�rrwrr�r�r��rrmrar?r�s     rr�z'TestVariousIteratorArgs.test_accumulate�s���������F���Q��A�q�!�A����T�*�Q�q�T�"2�3�Q�7�"�����j��1��.�/��4����)�Z��1��6����)�Z��1��6����+�T�:�a��d�3C�Drc��d}gd�}d}tttttfD]H}|j|��5|j
tt||�|��|�ddd��J|j
ttt|�d��g�|jttt|�d�|jttt|�d�|jtttt|�d��|jtttt!|�d��y#1swY��*xYw)Nr+)r,r-)rzr()r�r�)r�r9ryr�rir�r~r!r�r�rrwrr�r�r�r�r�s     rr�z$TestVariousIteratorArgs.test_batched�s�����,��
���Q��A�q�!�A������"�� � ��g�a��d�A�&6�!7��;�#�"�"�	
����g�a��d�A�.�/��4����)�W�a��d�A�6����)�W�a��d�A�6����+�T�7�1�Q�4��3C�D����+�T�7�2�a�5�!�3D�E�
#�"�s�,E�E	c��ddtd�dtddd�fD�]:}ttttt
tfD]�}|jtt||���t||���|jtt||�||���t||��t||��z���|jtttt|���|jtttt|���|jtttt|�����=y�N�123r�r���dog333333�?r��r�)r>r�r9ryr�r�rir~r!r�rrwrr�r�r��rrmr�s   rr�z"TestVariousIteratorArgs.test_chain�s�����U�4�[�+�u�T�$�q�7I�J�A���B��1�a�(��� � ��e�A�a�D�k�!2�D��1��J�?�� � ��e�A�a�D�!�A�$�&7�!8�$�q��t�*�T�!�A�$�Z�:O�P�)�
���i��u�Q�q�T�{�;����i��u�Q�q�T�{�;����/��u�Q�q�T�{�C�
Krc�T�ddtd�dtddd�fD�]	}t|�}tttt
ttfD]E}|jtt||�td���t||����G|jttt|�td��|jttt|�td��|jt ttt#|�td�����y�	Nr�r�r�r�r�r�r�r)r>r�r�r9ryr�r�rir~r!rxr�rrwrr�r�r�)rrmr?r�s    rr{z%TestVariousIteratorArgs.test_compress�s�����U�4�[�+�u�T�$�q�7I�J�A��A��A���B��1�a�(��� � ��h�q��t�V�A�Y�&?�!@�$�q��t�*�M�)����i��1�Q�4����C����i��1�Q�4����C����/��x��!��f�Q�i�7P�Q�
Krc	��ddtd�dtddd�fD]n}|jttt	|��|jttt|��|jttt|���pyr�)r>rrwr=rr�r�r�)rrms  rr\z$TestVariousIteratorArgs.test_product�sh����U�4�[�+�u�T�$�q�7I�J�A����i��!�A�$�7����i��!�A�$�7����/��!�A�$�?�Krc�(�ddtd�dtddd�fD]�}ttttt
tfD]Z}t|�dz}t||��dz}ttt||��|��}|j||��\|jttt|��|jttt|��|jt ttt#|�����y)	Nr�r�r�r�r�r�r�r�)r>r�r9ryr�r�rir�r!rRr�r~rrwrr�r�r�)rrmr��tgtlenr:�actuals      rr�z"TestVariousIteratorArgs.test_cycle�s�����U�4�[�+�u�T�$�q�7I�J�A���B��1�a�(���Q��!�����!��:�a�<���f�U�1�Q�4�[�&�9�:��� � ���2�	)�

���i���!��5����i���!��5����/��u�Q�q�T�{�C�Krc
�.�td�td�td�dtddd�fD]�}ttttt
tfD]E}|jt||��D��cgc]\}}|��	c}}t||����G|jttt|��|jttt|��|jtttt|�����ycc}}w�Nrgrr��r�r�r�r�r�)r>r�r9ryr�r�rir~rCr!rrwrr�r�r�)rrmr�rF�sbs     rr�z$TestVariousIteratorArgs.test_groupby�s�����)�U�1�X�u�T�{�F�E�$�t�A�<N�O�A���B��1�a�(��� � ���1���!?����2�!��!?��a��d��L�)����i��!�A�$�7����i��!�A�$�7����/��w�q��t�}�E�P��!?s�3Dc�b�td�td�td�dtddd�fD]�}ttttt
tfD]Q}|jttt||���||�D�cgc]}t|�s�|��c}��S|jtttt|��|jtttt|��|jttttt!|�����ycc}wr�)r>r�r9ryr�r�rir~r!rdr5rrwrr�r�r��rrmr�r*s    rr�z#TestVariousIteratorArgs.test_filter�s�����)�U�1�X�u�T�{�F�E�$�t�A�<N�O�A���B��1�a�(��� � ��f�V�Q�q�T�&:�!;�-.�q�T�!?�T��V�A�Y�!�T�!?�A�)�
���i����1��>����i����1��>����/��v�f�a��d�7K�L�
P��"@��D,�D,c�b�td�td�td�dtddd�fD]�}ttttt
tfD]Q}|jttt||���||�D�cgc]}t|�s�|��c}��S|jtttt|��|jtttt|��|jt tttt#|�����ycc}wr�)r>r�r9ryr�r�rir~r!r�r5r9rrwrr�r�r�r�s    rr�z(TestVariousIteratorArgs.test_filterfalse	s�����)�U�1�X�u�T�{�F�E�$�t�A�<N�O�A���B��1�a�(��� � ��k�&�!�A�$�&?�!@�-.�q�T�!>�T��U�1�X�!�T�!>�@�)�
���i��f�a��d�C����i��f�a��d�C����/��{�6�1�Q�4�7P�Q�
P��"?r�c�|�ddtd�dtddd�fD�]}ttttt
tfD]�}|jtt||���t||���|jtt||�||���t||�||�����|jttt|��|jttt|��|jtttt!|����� yr�)r>r�r9ryr�r�rir~r!r"r%rrwrr�r�r�r�s   rr�z TestVariousIteratorArgs.test_zip	s�����U�4�[�+�u�T�$�q�7I�J�A���B��1�a�(��� � ��c�!�A�$�i��$�q��t�*�=�� � ��c�!�A�$��!��o�!6��Q�q�T�1�Q�4�8H�I�)�
���i��a��d�3����i��a��d�3����/��s�1�Q�4�y�A�
Krc
��ddtd�dtddd�fD�]/}ttttt
tfD]�}|jtt||���tt||����|jtt||�||���tt||�||������|jttt|��|jttt|��|jtttt!|�����2yr�)r>r�r9ryr�r�rir~r!rr"rrwrr�r�r�r�s   rrz'TestVariousIteratorArgs.test_ziplongest	s�����U�4�[�+�u�T�$�q�7I�J�A���B��1�a�(��� � ��k�!�A�$�&7�!8�$�s�1�Q�4�y�/�J�� � ��k�!�A�$��!��&=�!>��S��1��q�QR�t�_�@U�V�)�
���i��a��d�;����i��a��d�;����/��{�1�Q�4�7H�I�
Krc
��td�td�td�dtddd�fD�]O}ttttt
tfD]�}|jttt||���||�D�cgc]
}t|���c}�|jtttj||�||���||�D�cgc]}||z��	c}���|jtttt|��|jtttt!|��|jt"tttt%|�����Rycc}wcc}w�Nrgrr�r�r�r�r�)r>r�r9ryr�r�rir~r!r�r+rWrrrrwrr�r�r�r�s    rrtz TestVariousIteratorArgs.test_map!	s����)�U�1�X�u�S�z�6�5��B�q�>�J�A���B��1�a�(��� � ��c�&�!�A�$�&7�!8�56�q�T�!:�T��&��)�T�!:�<�� � ��c�(�,�,��!��a��d�&C�!D�01�!��!5��1�!�Q�$��!5�7�)�

���i��f�a��d�;����i��f�a��d�;����/��s�6�1�Q�4�7H�I�K��";��!5s�F�%Fc��ddtd�dtddd�fD]�}ttttt
tfD]D}|jtt||�ddd	��t||��ddd	���F|jttt|�d
�|jttt|�d
�|jtttt|�d
����y)N�12345r�r�r�r�r�r�rr(rg)r>r�r9ryr�r�rir~r!rRrrwrr�r�r�r�s   rr�z#TestVariousIteratorArgs.test_islice,	s����2�u�T�{�K��t�D��9K�L�A���B��1�a�(��� � ��f�Q�q�T�!�D��&;�!<�d�1�Q�4�j���A��>N�O�)����i���1��r�:����i���1��r�:����/��v�a��d�B�7G�H�Mrc
�"�ddtd�dtddd�fD]�}ttttt
tfD]W}t||��}tt||dd��}tt||���}|j||��Y|jttt|��|jttt|��|jtttt!|�����yr�)r>r�r9ryr�r�rir!r"r.r~rrwrr�r�r�)rrmr�rSr:r�s      rr/z%TestVariousIteratorArgs.test_pairwise4	s�����U�4�[�+�u�T�$�q�7I�J�A���B��1�a�(���1�Q�4�j����C��Q�R�� 1�2���h�q��t�n�-��� � ���2�	)�

���i��1�Q�4�8����i��1�Q�4�8����/��x��!��~�F�Krc��td�td�td�dtddd�fD�]&}ttttt
tfD]^}t||�}|jtttj||���||�D�cgc]}||z��	c}��`|jtttjt��|jtttjt!|��|jt"tttjt%|�����)ycc}wr�)r>r�r9ryr�r�rir%r~r!rxrWrrrrwrr�r�r�)rrmr��ssr*s     rryz$TestVariousIteratorArgs.test_starmap?	s�����)�U�1�X�u�S�z�6�5��B�q�>�J�A���B��1�a�(���!�Q�Z��� � ��g�h�l�l�A�b�E�&B�!C�01�!��!5��1�!�Q�$��!5�7�)�
���i��(�,�,��"��F����i��(�,�,��"��F����/��w�x�|�|�Q�r�U�7S�T�K��"6s�Ec�v�td�td�td�dtddd�fD�]}ttttt
tfD]^}g}||�D] }t|�sn|j|��"|jttt||���|��`|jtttt|��|jtttt|��|jt tttt#|�����yr�)r>r�r9ryr�r�rir5r�r~r!r�rrwrr�r�r��rrmr��tgtr�s     rr�z&TestVariousIteratorArgs.test_takewhileI	s�����)�U�1�X�u�T�{�F�E�$�t�A�<N�O�A���B��1�a�(�����a�D�D�!�$�<���J�J�t�$�!�� � ��i���!��&=�!>��D�)�
���i��F�A�a�D�A����i��F�A�a�D�A����/��y���1��7N�O�Prc�x�td�td�td�dtddd�fD�]	}ttttt
tfD]_}g}||�D]!}|st|�r�|j|��#|jttt||���|��a|jtttt|��|jtttt|��|jt tttt#|�����yr�)r>r�r9ryr�r�rir9r�r~r!r�rrwrr�r�r�r�s     rr�z&TestVariousIteratorArgs.test_dropwhileU	s�����)�U�1�X�u�T�{�F�E�$�t�A�<N�O�A���B��1�a�(�����a�D�D��5��;���J�J�t�$�!�� � ��i��q��t�&<�!=�s�C�)�
���i��E�1�Q�4�@����i��E�1�Q�4�@����/��y���!��7M�N�Prc
�R�ddtd�dtddd�fD�]}ttttt
tfD]j}t||��\}}|jt|�t||���|jt|�t||����l|jttt|��|jttt|��|jtttt|��d���y)	Nr�r�r�r�r�r�r�r)r>r�r9ryr�r�rir�r~r!rrwrr�r�r�)rrmr��it1�it2s     rr�z TestVariousIteratorArgs.test_teea	s�����U�4�[�+�u�T�$�q�7I�J�A���B��1�a�(���q��t�9���S�� � ��c��D��1��J�7�� � ��c��D��1��J�7�)�
���i��a��d�3����i��a��d�3����/��s�1�Q�4�y��|�D�KrN)rNrOrPr�r�r�r{r\r�r�r�r�r�rrtr�r/ryr�r�r�rrrr�r��sn��	E�F�D�R�@�	D�F�M�R�B�J�	J�I�	G�U�
P�
O�Err�c��eZdZd�Zd�Zy)�LengthTransparencyc��|jtjtdd��d�|jtjtdd��d�|jtjtd�d�d�y)Nr�rr�r~rW�length_hintr�rEs rrlzLengthTransparency.test_repeatm	sf������-�-�f�T�2�.>�?��D�����-�-�f�T�1�o�>��B�����-�-�f�T�l�B�?��Drc��|jtjtdd��d�|jtjtdd��d�|jtjtdd���d�|jtjtdd���d�y)Nr�rr�rnr�rEs rroz2LengthTransparency.test_repeat_with_negative_timesr	s�������-�-�f�T�2�.>�?��C�����-�-�f�T�2�.>�?��C�����-�-�f�T��.D�E�q�I�����-�-�f�T��.D�E�q�IrN)rNrOrPrlrorrrr�r�k	s��E�
Jrr�c�r�eZdZd�Zd�Zejejd�d���Zd�Z	d�Z
y)�RegressionTestsc�p��d�}�fd�}g�|d|d�tt�}|j�|�y)Nc����dgf��fd�	}t|�}t|�|ddt||�}t|gt|�z��t	��y)Nrc�8��|r|dd�=�t���|Sr �r�)r�r�r��zs  ��rr�z@RegressionTests.test_sf_793826.<locals>.mutatingtuple.<locals>.g�	s�����a���d�1�g�J��r)r!r�r"r�r�)�tuple1r��tuple2r��items�genr�s `    @r�
mutatingtuplez5RegressionTests.test_sf_793826.<locals>.mutatingtuple}	sP���!"�s�
�
��L�E��f��E�!�A�J��a��-�C��c�U�3�v�;�&�'�A���Grc�.��|att��ddyr )�Tr!)rhr�s �rr�z)RegressionTests.test_sf_793826.<locals>.f�	s����A��A�w�E�!�Hrr�)r�r�r�)r!r�r~)rr�r��secondr�s    @r�test_sf_793826zRegressionTests.test_sf_793826z	s9���
	�	�
���g�q�'�*��a��������'rc
����fd�}�fd�}g�|jttt|�|d���|j	�ddg�g�|jttt|�|d���|j	�ddg�g�|jttt|���|j	�ddg�y)Nc3�d�K��jd�d���jd�t��wr@)r�r)�hists�r�gen1z,RegressionTests.test_sf_950057.<locals>.gen1�	s(������K�K��N��G��K�K��N� � �s�-0c3�Z�K��jd�d���jd�y�w)Nr�r(r�)r�)r*r�s �r�gen2z,RegressionTests.test_sf_950057.<locals>.gen2�	s"������K�K��N��G��K�K��N�s�(+FrrT)rrr!r�r~r�)rr�r�r�s   @r�test_sf_950057zRegressionTests.test_sf_950057�	s����	�	�
�����.�$��d�f�d�5�k�0J�K������!�u�%������.�$��d�f�d�4�j�0I�J������!�u�%������.�$��d�f�
�>������!�u�%r�cpuc��tjd�td�D��}|jt�5t|�ddd�y#1swYyxYw)Nc3� K�|]}d���y�w)rNr)r��unuseds  rr�zERegressionTests.test_long_chain_of_empty_iterables.<locals>.<genexpr>�	s���� B�/���/�r�i���)r�r�r>rrJr�r�s  r�"test_long_chain_of_empty_iterablesz2RegressionTests.test_long_chain_of_empty_iterables�	s?���
 �
 � B�%��/� B�
B��
�
�
�}�
-���H�.�
-�
-�s�A�Ac�`���fd�}ttd�|�D]\}�t���y)Nc�.��|dk(rt��|dk7S)Nr�r�)r!)r?r�s �rr�z,RegressionTests.test_issue30347_1.<locals>.f�	s����A�v��Q����6�Mrrg)rCr>r!)rr�rFr�s   @r�test_issue30347_1z!RegressionTests.test_issue30347_1�	s*���	��e�B�i��+�F�Q����G�,rc����G��fd�d�}d�tttd�|��d�td�D]}t�d��y)Nc� ��eZdZd�Z��fd�Zy)�,RegressionTests.test_issue30347_2.<locals>.Kc��yr rrvs  rrz5RegressionTests.test_issue30347_2.<locals>.K.__init__�	s��rc�2���dz
��dk(rt�d�y)NrTr�)r�otherr�r1s  ��rr�z3RegressionTests.test_issue30347_2.<locals>.K.__eq__�	s����Q�����6���D�M�rN)rNrOrPrr�)r�r1s��r�Kr��	s
���
�
rr�rrgrr()r�rCr>)rr�r	r�r1s   @@r�test_issue30347_2z!RegressionTests.test_issue30347_2�	sE���	�	�
�����r��A�&�'��*���q��A���D�M�rN)rNrOrPr�r�r�skip_if_pgo_task�requires_resourcer�r�r�rrrr�r�x	sE��(�:&�8
����W���u�%��&����
rr�c��eZdZd�Zy)�SubclassWithKwargsTestc��tdddgftddgdfddgftdddgfdgftdddgfdgftddgdd	gfgd
�ft
tddgfddgfttjd
fddgftgd�ddfddgfttgd�fdgfttgd�fdd	gftddgfgd�ftdgd�fddgfg}|D]�\}}}|j!|�5Gd�d|�}||�}|j#t%|�|�|j't)t|dd��|�|j+t,�5||ddi�ddd�ddd���|D]�\}}}|tttfvr�|j!|�5Gd�d|�}||ddi�}|j#t%|�|�|j't)t|dd��|�|j'|j.d�ddd���|D]�\}}}|j!|�5Gd�d|�}||ddi�}|j#t%|�|�|j't)t|dd��|�|j'|j.d�ddd���y#1swY��SxYw#1swY���xYw#1swY��axYw#1swY��xYw)NrSrr(r�rjr�rr�r�r��1�2)rer(r�r�)rr(r�r�)r(r�r�)rr(rr2ror�r�c��eZdZy)�BSubclassWithKwargsTest.test_keywords_in_subclass.<locals>.subclassNr�rrr�subclassr��	s��rr��newargc��eZdZdd�d�Zy)�LSubclassWithKwargsTest.test_keywords_in_subclass.<locals>.subclass_with_initN�r�c��||_yr r�)rr�r$s   rrzUSubclassWithKwargsTest.test_keywords_in_subclass.<locals>.subclass_with_init.__init__�	s	��&,��r)rNrOrPrrrr�subclass_with_initr��	s
��59�-rr�c�$��eZdZdd��fd�
Z�xZS)�KSubclassWithKwargsTest.test_keywords_in_subclass.<locals>.subclass_with_newNr�c�6��t�|�|g|���}||_|Sr )�super�__new__r�)�clsr�r$rr�s    �rrzSSubclassWithKwargsTest.test_keywords_in_subclass.<locals>.subclass_with_new.__new__
s"���$�w��s�:�T�:��&,���#�r)rNrOrPr�
__classcell__)r�s@r�subclass_with_newr�
s���37�$�$rr)r�r"rdr�r�r�rvrxrWrrrRr�r5r�r�rxr�rrr~r!rrwr�)	rr�rr$r!r��ur�rs	         r�test_keywords_in_subclassz0SubclassWithKwargsTest.test_keywords_in_subclass�	s����V�a��V�$�
�A�q�6�4�.�8�X�"6�7�
�d�Q��F�^�a�S�)�
�4�!�Q��.�1�#�.�
�a��V�a��V�$�i�0�
�3��A��-�#�s��,�
�x�|�|�%5�6��A��?�
�l�A�q�)�A�q�6�2�
���+�a�S�1�
���+�a��V�4�
�a��V�I�y�)�
��y�)�C��:�6�

�	�"+��C��v����c�"��s���d�O���
�
�d�1�g�x�0�� � ��f�Q��1�o�!6��?��&�&�y�1��d�-�1�-�2�
#�"�"+�"+��C��v��v�s�H�-�-�����c�"�-��-�'��7�Q�7���
�
�d�1�g�'9�:�� � ��f�Q��1�o�!6��?�� � ����1�-�#�"�
"+�"+��C��v����c�"�$��$�
&�t�6�A�6���
�
�d�1�g�'8�9�� � ��f�Q��1�o�!6��?�� � ����1�-�#�"�"+�%2�1��
#�"��#�"��#�"�s?�A'J&�?	J�J&�A1J3�A1K�J#�J&�&J0	�3J=	�K		N)rNrOrPrrrrr�r��	s��3.rr�c�B�eZdZd�Zej
Zd�Zd�Zd�Zd�Z	y)�
SizeofTestc�8�tjd�|_y)Nr?)�struct�calcsize�ssize_trEs r�setUpzSizeofTest.setUp
s�����s�+��rc���tjd�}|j}|tdd�|d|jzz�|td�|d|jzz�y)N�3Pir��12r()
r�r�r�r�r�r�r�r�r�r�rg)r�calcobjsize�check_sizeofr=r�r�basesizer<s   r�test_product_sizeofzSizeofTest.test_product_sizeof
sY���&�&�u�-���!�!��
�g�d�D�!�8�a�$�,�,�.>�#>�?�
�g�
�'��B����4E�)E�Frc���tjd�}|j}|tdd�|d|jzz�|ttd�d�|d|jzz�y�N�3Pnir�r�rgr�)rrrrrr>rs   r�test_combinations_sizeofz#SizeofTest.test_combinations_sizeof
s_���&�&�v�.���!�!��
�l�6�1�%�x�!�d�l�l�2B�'B�C�
�l�5��9�a�(�(�Q����5E�*E�Frc���t}tjd�}|j}||dd�|d|jzz�||td�d�|d|jzz�yr)rrrrrr>)rrDrr<s    r�)test_combinations_with_replacement_sizeofz4SizeofTest.test_combinations_with_replacement_sizeof
sc��+���&�&�v�.���!�!��
�c�&�!�n�h��T�\�\�)9�9�:�
�c�%��)�Q���A����,<�!<�=rc���tjd�}|j}|td�|d|jzzd|jzz�|tdd�|d|jzzd|jzz�|tdd�|d|jzzd|jzz�|ttd�d�|d|jzzd|jzz�y)N�4Pnir�r�r�r+r�rg)rrrrrr>rs   r�test_permutations_sizeofz#SizeofTest.test_permutations_sizeof&
s����&�&�v�.���!�!��
�l�6�"���T�\�\�)�)�A����,<�<�	>�
�l�6�1�%���T�\�\�)�)�A����,<�<�	>�
�l�7�A�&���T�\�\�)�)�A����,<�<�	>�
�l�5��9�a�(���d�l�l�*�*�Q����-=�=�	?rN)
rNrOrPr
rrrrrrrrrrr
s*��,��'�'�L�G�G�>�
?rrc�L�|jtj��|Sr )�addTest�doctest�DocTestSuite)�loader�tests�patterns   r�
load_testsr&3
s��	�M�M�'�&�&�(�)��Lr�__main__)Fr!�unittest�testr�test.supportrrr�r��decimalr�	fractionsrrWrWr�rj�	functoolsr	r�r
r�r�rr�MAX_Py_ssize_tr��minsizer%r+r.r2r5r9r;r@rCrTr[r]rbrerhr>r�r��TestCaserqr�r-r<rir�r9ryrr�r�r�r�r�r�r�r�r�r�rr&rN�main)rns0r�<module>r2s.�����8������
��
��
�
��	���&�
 �
 ���(�1�*������
������ �-��
���$�F�$;�$;�a�$?�@�B�@�U�"'�L�@�B�
�R"�8�$�$�R"�j6mM�8�$�$�mM�`@%�X�%6�%6�@%�Fk9�X�
�
�k9�Z�
������	�	���������2�
qE�h�/�/�qE�fJ��*�*�J�Z�h�'�'�Z�z4.�X�.�.�4.�n	���#?��"�"�#?��#?�L�
�z���H�M�M�O���gNBs�6H

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