HEX
Server: Microsoft-IIS/10.0
System: Windows NT ITPWINWEBSVR22 10.0 build 20348 (Windows Server 2022) AMD64
User: www.conferencesearch.co.uk (0)
PHP: 8.3.30
Disabled: NONE
Upload Files
File: D:/Python311/Lib/test/__pycache__/test_except_star.cpython-311.opt-1.pyc
�

��VcS���f�ddlZddlZddlZGd�dej��ZGd�dej��ZGd�dej��ZGd�d	e��ZGd
�de��ZGd�d
e��Z	Gd�de��Z
Gd�de��ZGd�de��Ze
dkrej��dSdS)�Nc�&�eZdZd�Zd�Zd�Zd�ZdS)�TestInvalidExceptStarc��gd�}|D]E}|�t��5t|dd��ddd��n#1swxYwY�FdS)N)z:try: pass
except ValueError: pass
except* TypeError: pass
z:try: pass
except* ValueError: pass
except TypeError: pass
z?try: pass
except ValueError as e: pass
except* TypeError: pass
z?try: pass
except* ValueError as e: pass
except TypeError: pass
z?try: pass
except ValueError: pass
except* TypeError as e: pass
z?try: pass
except* ValueError: pass
except TypeError as e: pass
z0try: pass
except ValueError: pass
except*: pass
z0try: pass
except* ValueError: pass
except: pass
�<string>�exec)�assertRaises�SyntaxError�compile)�self�errors�errs   �)D:\Python311\Lib\test\test_except_star.py�1test_mixed_except_and_except_star_is_syntax_errorzGTestInvalidExceptStar.test_mixed_except_and_except_star_is_syntax_errors���	
�	
�	
���	1�	1�C��"�"�;�/�/�
1�
1���Z��0�0�0�
1�
1�
1�
1�
1�
1�
1�
1�
1�
1�
1����
1�
1�
1�
1��	1�	1s�A�A	�A	c���|�t��5	td���#xgct%x�n
}d}~nd}~��Xx�YncYwxYwddd��dS#1swxYwYdS)N�blah)r�	TypeError�OSError�ExceptionGroup�r�es  r�7test_except_star_ExceptionGroup_is_runtime_error_singlezMTestInvalidExceptStar.test_except_star_ExceptionGroup_is_runtime_error_singles���
�
�
�y�
)�
)�	�	�
��f�o�o�%��
�
�
�N�
�
�
�
�
�
�����������������������		�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s �A�,�A�
A�A#�&A#c��|�t��5	tdtd��g���#xgcttf%x�nn��Xx�YncYwxYwddd��dS#1swxYwYdS)N�eg�*)rrr�
ValueError�rs r�6test_except_star_ExceptionGroup_is_runtime_error_tuplezLTestInvalidExceptStar.test_except_star_ExceptionGroup_is_runtime_error_tuples���
�
�
�y�
)�
)�	�	�
�$�T�J�r�N�N�+;�<�<�<��
�
�
�Y��/�
�
�
�
�
�
�����������������		�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s �A/�;�A�A/�/A3�6A3c�j�|�t��5	t�#xgcd%x�nn��Xx�YncYwxYwddd��n#1swxYwY|�t��5	t�#xgctdf%x�nn��Xx�YncYwxYwddd��dS#1swxYwYdS)Nr)rrrrs r�'test_except_star_invalid_exception_typez=TestInvalidExceptStar.test_except_star_invalid_exception_type$s���
�
�
�y�
)�
)�	�	�
� � ��
�
�
�B�
�
�
�
�
�
�����������������		�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
�
�y�
)�
)�	�	�
� � ��
�
�
�Z��$�
�
�
�
�
�
�����������������		�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	sB�A�$�<�A�A�A�0B(�2A9�9B�B(�(B,�/B,N)�__name__�
__module__�__qualname__rrrr��rrrsP������1�1�1� ����������r$rc�6�eZdZdZd�Zd�Zd�Zd�Zd�Zd�Z	dS)	�(TestBreakContinueReturnInExceptStarBlockzC'break', 'continue' and 'return' cannot appear in an except\* blockc��|�t|j��5tt	j|��dd��ddd��dS#1swxYwYdS)Nrr)�assertRaisesRegexr	�MSGr
�textwrap�dedent)r�srcs  r�
check_invalidz6TestBreakContinueReturnInExceptStarBlock.check_invalid6s���
�
#�
#�K���
:�
:�	>�	>��H�O�C�(�(�*�f�=�=�=�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>����	>�	>�	>�	>�	>�	>s�$A�A�Ac��|�d��|�d��|�d��dS)Nzy
            try:
                raise ValueError
            except* Exception as e:
                break
            z�
            for i in range(5):
                try:
                    pass
                except* Exception as e:
                    if i == 2:
                        break
            z�
            for i in range(5):
                try:
                    pass
                except* Exception as e:
                    if i == 2:
                        break
                finally:
                    return 0
            �r-rs r�test_break_in_except_starzBTestBreakContinueReturnInExceptStarBlock.test_break_in_except_star:sg�����
�	�	�	�	
���
�	�	�	�	
���	
�
	�
	�
	�
	�
	r$c��|�d��|�d��|�d��dS)Nz�
            for i in range(5):
                try:
                    raise ValueError
                except* Exception as e:
                    continue
            z�
            for i in range(5):
                try:
                    pass
                except* Exception as e:
                    if i == 2:
                        continue
            z�
            for i in range(5):
                try:
                    pass
                except* Exception as e:
                    if i == 2:
                        continue
                finally:
                    return 0
            r/rs r�*test_continue_in_except_star_block_invalidzSTestBreakContinueReturnInExceptStarBlock.test_continue_in_except_star_block_invalidZsg�����
�	�	�	�	
���
�	�	�	�	
���	
�
	�
	�
	�
	�
	r$c�Z�|�d��|�d��dS)Nz�
            def f():
                try:
                    raise ValueError
                except* Exception as e:
                    return 42
            z�
            def f():
                try:
                    pass
                except* Exception as e:
                    return 42
                finally:
                    finished = True
            r/rs r�(test_return_in_except_star_block_invalidzQTestBreakContinueReturnInExceptStarBlock.test_return_in_except_star_block_invalidzsH�����
�	�	�	�	
���
�		�		�		�		�		r$c�T�	td���#xgct%x�n`}d}td��D]}|dkr�	|dkrn|dz
}�|�|d��|�|d��|}d}~nd}~��Xx�YncYwxYw|�|t
��dS)Nrr����)r�	Exception�range�assertEqual�assertIsInstancer)rr�count�i�excs     r�.test_break_continue_in_except_star_block_validzWTestBreakContinueReturnInExceptStarBlock.test_break_continue_in_except_star_block_valid�s���
	��R�.�.� ��	�	�	�	�	�	�	�	�	�	��E��1�X�X�
�
����6�����6���E���
������U�A�&�&�&����Q��"�"�"��C�C�C�C�C����������������������c�>�2�2�2�2�2s��B
�AA;	�7B
c���	td���#xgct%x�n}d�}|d��}|}d}~nd}~��Xx�YncYwxYw|�|d��|�|t��dS)Nrc��d|zS)N�r#)�xs r�fzZTestBreakContinueReturnInExceptStarBlock.test_return_in_except_star_block_valid.<locals>.f�s����s�
r$r9�)rr:r<r=r)rrrF�rr@s     r�&test_return_in_except_star_block_validzOTestBreakContinueReturnInExceptStarBlock.test_return_in_except_star_block_valid�s���	��R�.�.� ��	�	�	�	�	�	�	�	�	�	�
�
�
���!���A��C�C�C�C�C�����������������������A�������c�>�2�2�2�2�2s��A�5	�AN)
r r!r"r)r-r0r2r4rArIr#r$rr&r&2sw������2�C�>�>�>����@���@���*3�3�3�"	3�	3�	3�	3�	3r$r&c� �eZdZd�Zd�Zd�ZdS)�ExceptStarTestc�b�|�|�dS|�|�d|����|�|�d|�d���t|t��sN|�|j|j��|�|jd|jd��dS|�|j|j��|�t|j��t|j����t|j|j��D]\}}|�
||���dS)Nzunexpected exception: zexpected an exception like z
, got Noner)�fail�
isinstancerr<�	__class__�args�message�len�
exceptions�zip�assertExceptionIsLike)rr@�templater�ts     rrUz$ExceptStarTest.assertExceptionIsLike�sA���	�8�	��F��	6��I�I�4�s�4�4�5�5�5��	L��I�I�J�H�J�J�J�K�K�K��#�~�.�.�	1����S�]�H�,>�?�?�?����S�X�a�[�(�-��*:�;�;�;�;�;����S�[�(�*:�;�;�;����S���0�0�#�h�6I�2J�2J�K�K�K��C�N�H�,?�@�@�
1�
1���1��*�*�1�a�0�0�0�0�
1�
1r$c��|�|�|�|duo|du��dS|�|j|j��|�|j|j��|�|j|j��dS�N)�
assertTruer<�__context__�	__cause__�
__traceback__�r�e1�e2s   r�assertMetadataEqualz"ExceptStarTest.assertMetadataEqual�s���
�	A��	A��O�O�B�$�J�5�2��:�6�6�6�6�6����R�^�R�^�<�<�<����R�\�2�<�8�8�8����R�-�r�/?�@�@�@�@�@r$c��|�|�|�||��dS|j|jko|j|jko|j|jkSrY)�assertNotEqualr[r\r]r^s   r�assertMetadataNotEqualz%ExceptStarTest.assertMetadataNotEqual�sm��
�	B��	B�����B�'�'�'�'�'���"�.�8�A��L�B�L�8�A��,��0@�@�B�
Br$N)r r!r"rUrardr#r$rrKrK�sI������1�1�1�&A�A�A�B�B�B�B�Br$rKc��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)�TestExceptStarSplitSemanticsc���tj��}dx}x}}		|�#xgc|%x�n}	tj��}|	}d}	~	nd}	~	��Xx�YncYwxYwn#t$r}	|	}Yd}	~	nd}	~	wwxYw|r|�|d|��n|�|��|�||��|�||��|�tj��|��dS)Nr8)�sys�exc_info�
BaseExceptionr<�assertIsNonerU�
rr@�T�match_template�
rest_template�initial_exc_infori�match�restrs
          r�doSplitTestNamedz-TestExceptStarSplitSemantics.doSplitTestNamed�s?���<�>�>��"&�&��&�5�4�	�
��	��
�
�
�A�
�
�
�
�
�
��<�>�>�����������������������������	�	�	��D�D�D�D�D�D�����	�����	(����X�a�[�%�0�0�0�0����h�'�'�'��"�"�5�.�9�9�9��"�"�4��7�7�7��������)9�:�:�:�:�:s+��A�A	�A�A�
A+�A&�&A+c��tj��}dx}x}}		|�#xgc|%x�n0tj��}tj��d}n��Xx�YncYwxYwn#t$r}	|	}Yd}	~	nd}	~	wwxYw|�||��|r)|�|dt
|����|�||��|�tj��|��dS)Nr8�Exception not raisedr)rhrirMrjrUr<�typerls
          r�doSplitTestUnnamedz/TestExceptStarSplitSemantics.doSplitTestUnnamed�s3���<�>�>��"&�&��&�5�4�
	�
6��	��
*�
*�
*�A�
*�
*�
*�
*�
*�
*��<�>�>������q�)���������������������	�	�	��D�D�D�D�D�D�����	�����"�"�5�.�9�9�9��	@����X�a�[�$�~�*>�*>�?�?�?��"�"�4��7�7�7��������)9�:�:�:�:�:s,��A"�,A	�A"�A&�&
A<�0A7�7A<c���	tdtd��td��g���#t$r4|�||||��|�||||��YdSwxYw�Nrr8rD�rrrr:rsrw�rr@rmrnros     r�doSplitTestInExceptHandlerz7TestExceptStarSplitSemantics.doSplitTestInExceptHandler�s���	K� ��	�!���j��m�m�'D�E�E�E���	K�	K�	K��!�!�#�q�.�-�H�H�H��#�#�C��N�M�J�J�J�J�J�J�	K���s�,.�:A,�+A,c
��	tdtd��td��g���#xgct%x�n4|�||||��|�||||��n��Xx�YdScYwxYwryrzr{s     r�doSplitTestInExceptStarHandlerz;TestExceptStarSplitSemantics.doSplitTestInExceptStarHandlers���	K� ��	�!���j��m�m�'D�E�E�E��	K�	K�	K�	�	K�	K�	K�	K�	K�	K��!�!�#�q�.�-�H�H�H��#�#�C��N�M�J�J�J�J����������������s�,.�A<�0A/	�.A<c���|�||||��|�||||��|�||||��|�||||��dSrY)rsrwr|r~r{s     r�doSplitTestz(TestExceptStarSplitSemantics.doSplitTestsp�����c�1�n�m�D�D�D�����Q��
�F�F�F��'�'��Q��
�N�N�N��+�+�C��N�M�R�R�R�R�Rr$c���|�tdtd��td��g��tdtdtd��td��g����dS)N�test1�Vrm)r�rrrr	rs r�test_no_match_single_typez6TestExceptStarSplitSemantics.test_no_match_single_typesk������7�Z��_�_�i��n�n�$E�F�F����7�Z��_�_�i��n�n�$E�F�F�		H�	H�	H�	H�	Hr$c���|�tdtd��td��g��ttdtd��td��g��d��dS)N�test2�V1�V2)r�rrrs r�test_match_single_typez3TestExceptStarSplitSemantics.test_match_single_typesn������7�Z��%5�%5�z�$�7G�7G�$H�I�I���7�Z��%5�%5�z�$�7G�7G�$H�I�I��		�	�	�	�	r$c�<�|�tdtd��td��td��g��ttdtd��td��g��tdtd��g����dS)N�test3r��OSr�)r�rrrrs r�$test_match_single_type_partial_matchzATestExceptStarSplitSemantics.test_match_single_type_partial_matchs���������D�!�!�7�4�=�=�*�T�2B�2B�C�
E�
E�
��7�Z��%5�%5�z�$�7G�7G�$H�I�I��7�W�T�]�]�O�4�4�
	6�	6�	6�	6�	6r$c��|�tdtd��td��tdtd��td��t	d��g��g��ttdtd��tdtd��g��g��tdtd��tdtd��t	d��g��g����dS)N�g1r��OS1�g2�OS2r�rm�r�rrrrrs r�test_match_single_type_nestedz:TestExceptStarSplitSemantics.test_match_single_type_nested%s��������4� � ��������E�N�N��t�$�$��c�N�N�$�%�%�&�
'�
'�
����4� � ��t�j��&6�&6�%7�8�8�:�
;�
;�
�4������t��E�N�N�I�c�N�N�&4�5�5�"6�
7�
7�	8�	8�	8�	8�	8r$c��|�tdtd��td��tdtd��td��t	d��g��g��ttftdtd��tdtd��t	d��g��g��tdtd��tdtd��g��g����dS)N�h1r�r��h2r�r�rmr�rs r�test_match_type_tuple_nestedz9TestExceptStarSplitSemantics.test_match_type_tuple_nested:s��������4� � �������7�5�>�>�:�d�+;�+;�Y�s�^�^�L�N�N�O�
P�
P���#����4� � ��t�j��&6�&6�	�#���%G�H�H�J�
K�
K�
�������t�g�e�n�n�%5�6�6�8�
9�
9�	:�	:�	:�	:�	:r$c�F�|�tdtdtd��g��tdtd��td��g��tdtd��g��g��ttdtdtd��g��tdtd��g��g��tdtdtd��g��tdtd��g��g����dS)	Nr�i1r��i2r��T1�i3�T2�r�rrrrs r�test_empty_groups_removedz6TestExceptStarSplitSemantics.test_empty_groups_removedLs��������t�j��&6�&6�%7�8�8��t�j��&6�&6�	�$���%H�I�I��t�i��o�o�%6�7�7�9�
:�
:�

��4��t�i��o�o�%6�7�7��t�i��o�o�%6�7�7�"9�
:�
:�
�4�"�4�*�T�*:�*:�);�<�<�"�4�*�T�*:�*:�);�<�<�">�
?�
?�	@�	@�	@�	@�	@r$c���|�tdtdtdtd��g��tdtd��g��g��g��ttdtdtdtd��g��g��g��tdtdtdtd��g��g��g����dS)N�j1�j2�j3r��j4rmr�rs r�test_singleton_groups_are_keptz;TestExceptStarSplitSemantics.test_singleton_groups_are_kept[s�������4��t�"�4�*�T�*:�*:�);�<�<�"�4�)�C�.�.�)9�:�:�&<�=�=�">�
?�
?�
�����~�d�Y�s�^�^�<L�'M�'M�&N�O�O�P�
R�
R�
����~�d�Z��=M�=M�<N�'O�'O�&P�Q�Q�R�
T�
T�	U�	U�	U�	U�	Ur$c
��|�td��ttdtd��g��d��dS�Nr��)r�rrrs r�%test_naked_exception_matched_wrapped1zBTestExceptStarSplitSemantics.test_naked_exception_matched_wrapped1isI������s�O�O���2�
�3���0�1�1��		�	�	�	�	r$c
��|�td��ttdtd��g��d��dSr�)r�rr:rrs r�%test_naked_exception_matched_wrapped2zBTestExceptStarSplitSemantics.test_naked_exception_matched_wrapped2psI������s�O�O���2�
�3���0�1�1��		�	�	�	�	r$c
��|�tdtd��g��ttdtd��g��d��dS)Nrr�)r�rrr:rs r�6test_exception_group_except_star_Exception_not_wrappedzSTestExceptStarSplitSemantics.test_exception_group_except_star_Exception_not_wrappedwsV������4�*�S�/�/�!2�3�3���4�*�S�/�/�!2�3�3��		�	�	�	�	r$c�t�|�td��tdtd����dS)Nr�)r�rrrs r� test_plain_exception_not_matchedz=TestExceptStarSplitSemantics.test_plain_exception_not_matched~s<������s�O�O����s�O�O�		�	�	�	�	r$c��|�tdtd��td��g��ttdtd��g��tdtd��g����dS)N�st�iorm)r�r�BlockingIOErrorrrrs r�test_match__supertypez2TestExceptStarSplitSemantics.test_match__supertype�su������4�/�$�"7�"7��3���!H�I�I���4�/�$�"7�"7�!8�9�9��4�)�C�.�.�!1�2�2�		4�	4�	4�	4�	4r$c
��	tdtd��td��g���#xgct%x�n<}|�|tdtd��g����d}~nd}~�t%x�n<}|�|tdtd��g����d}~nd}~��Xx�YdScYwxYw)N�mmn�osr�)rrr�rUrMrs  r�test_multiple_matches_namedz8TestExceptStarSplitSemantics.test_multiple_matches_named�s0��		.� ��������8M�8M�(N�O�O�O��	@�	@�	@��	@�	@�	@�	@�	@�	@��&�&�q��u��t�'<�'<�&=�>�>�
@�
@�
@�
@�
@�
@�
@�������	8�	8�	8�	8�	8�	8��&�&�q��u�w�t�}�}�o�6�6�
8�
8�
8�
8�
8�
8�
8�������������������s �,.�C�2A4	�0C�2B;	�7Cc
���	tdtd��td��g���#xgct%x�nOtj��d}|�|tdtd��g����n�t%x�nOtj��d}|�|tdtd��g����n��Xx�YdScYwxYw)N�mmur�r�r8)rrr�rhrirUrMrs  r�test_multiple_matches_unnamedz:TestExceptStarSplitSemantics.test_multiple_matches_unnamed�s)��	.� ��������8M�8M�(N�O�O�O��	@�	@�	@��	@�	@�	@�	@�	@�	@�����q�!�A��&�&�q��u��t�'<�'<�&=�>�>�
@�
@�
@�
@����	8�	8�	8�	8�	8�	8�����q�!�A��&�&�q��u�w�t�}�}�o�6�6�
8�
8�
8�
8����������������s"�,.�C1�AB
	�	C1�AC$	�#C1c
�:�	tdtd��g���#xgct%x�n<}|�|tdtd��g����d}~nd}~�t%x�n|�d��n��Xx�YdScYwxYw)N�fstr�z#Should have been matched as OSError)rr�rrUrMrs  r�test_first_match_wins_namedz8TestExceptStarSplitSemantics.test_first_match_wins_named�s���	.� ����)>�)>�(?�@�@�@��	@�	@�	@��	@�	@�	@�	@�	@�	@��&�&�q��u��t�'<�'<�&=�>�>�
@�
@�
@�
@�
@�
@�
@�������	=�	=�	=�	=�	=�	=��I�I�;�<�<�<�<����������������s � �B�2A&	�"B�7B
	�Bc
�6�	tdtd��g���#xgct%x�nOtj��d}|�|tdtd��g����n�t%x�nn��Xx�YdScYwxYw)N�fstur�r8)rr�rrhrirUrMrs  r�test_first_match_wins_unnamedz:TestExceptStarSplitSemantics.test_first_match_wins_unnamed�s���		.� ��/�$�*?�*?�)@�A�A�A��	A�	A�	A��	A�	A�	A�	A�	A�	A�����q�!�A��&�&�q��v���(=�(=�'>�?�?�
A�
A�
A�
A����	�	�	�	�	�	�����������������s� �B�AA<	�;Bc
��	tdtd��g���#xgct%x�n�	tdtd��g���#xgct%x�nn��Xx�YncYwxYwt	j��d}|�|tdtd��g����n��Xx�YdScYwxYw)N�nr�rur8)rr�rrMrhrirUrs  r�test_nested_except_starsz5TestExceptStarSplitSemantics.test_nested_except_stars�s��
	.� ���t�'<�'<�&=�>�>�>��		?�		?�		?��		?�		?�		?�		?�		?�		?�
2�$�S�:�d�+;�+;�*<�=�=�=��
�
�
�J�
�
�
�
�
�
���������������������q�!�A��&�&�q���o�d�&;�&;�%<�=�=�
?�
?�
?�
?����������������s!� �C�A�A,�'AB;	�:Cc��td��D]@}	tdtd��g���#xgct%x�nn��Xx�Y�;cYwxYwdS)NrD�nlr�)r;rr�rM)r�_s  r�test_nested_in_loopz0TestExceptStarSplitSemantics.test_nested_in_loop�s����q���	2�	2�A�
2�$�T�O�D�,A�,A�+B�C�C�C��
�
�
�O�
�
�
�
�
�
�����������������		2�	2s	�1�AN)r r!r"rsrwr|r~r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r#r$rrfrf�s������;�;�;�(;�;�;�(K�K�K�K�K�K�S�S�S�H�H�H����6�6�6�8�8�8�*:�:�:�$
@�
@�
@�U�U�U�������������4�4�4�
.�
.�
.�.�.�.�	.�	.�	.�
.�
.�
.�.�.�.� 2�2�2�2�2r$rfc�>�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	S)
�TestExceptStarReraisec��		tdtd��td��td��g���#xgct%x�n}�d}~�t%x�n}�d}~��Xx�YncYwxYwn#t$r}|}Yd}~nd}~wwxYw|�|tdtd��td��td��g����dS�Nrr8rDr9�rrrrrU�rrr@s   r�test_reraise_all_namedz,TestExceptStarReraise.test_reraise_all_named�s.��
	�
�$��9�Q�<�<��A�����
�
�C�E�E�E��
�
�
�I�
�
�
�
�
�
��������
�
�
�
�
�
�����������������������	�	�	��C�C�C�C�C�C�����	����	
�"�"���4�)�A�,�,�
�1�
�
�w�q�z�z�!J�K�K�	M�	M�	M�	M�	Ms9�:=�A/�
A	�A/�A 	� 
A/�*A3�3
B	�=B�B	c��		tdtd��td��td��g���#xgct%x�n��t%x�n���Xx�YncYwxYwn#t$r}|}Yd}~nd}~wwxYw|�|tdtd��td��td��g����dSr�r�r�s   r�test_reraise_all_unnamedz.TestExceptStarReraise.test_reraise_all_unnamed�s(��
	�
�$��9�Q�<�<��A�����
�
�C�E�E�E��
�
�
�I�
�
�
�
�
�
�����
�
�
�
�
�
��������������������	�	�	��C�C�C�C�C�C�����	����	
�"�"���4�)�A�,�,�
�1�
�
�w�q�z�z�!J�K�K�	M�	M�	M�	M�	Ms9�:=�A)�
A	�A)�A	�A)�$A-�-
B�7A>�>Bc
��		tdtd��td��td��g���#xgct%x�n}�d}~�t%x�n
}d}~nd}~��Xx�YncYwxYwn#t$r}|}Yd}~nd}~wwxYw|�|tdtd��td��g����dSr�r�r�s   r�"test_reraise_some_handle_all_namedz8TestExceptStarReraise.test_reraise_some_handle_all_named��+��
	�
�$��9�Q�<�<��A�����
�
�C�E�E�E��
�
�
�I�
�
�
�
�
�
��������
�
�
�
�
�
��������������������������	�	�	��C�C�C�C�C�C�����	����	
�"�"����y��|�|�W�Q�Z�Z�&@�A�A�	C�	C�	C�	C�	C�-�:=�A2�
A	�A2�-A6�6
B�B�Bc	�X�		tdtd��td��g���#xgct%x�n��t%x�nn��Xx�YncYwxYwn#t$r}|}Yd}~nd}~wwxYw|�|tdtd��g����dSry)rrrrUr�s   r�'test_reraise_partial_handle_all_unnamedz=TestExceptStarReraise.test_reraise_partial_handle_all_unnamed
s��		�
�$��9�Q�<�<��A���7�9�9�9��
�
�
�I�
�
�
�
�
�
�����
�
�
�
�
�
��������������������	�	�	��C�C�C�C�C�C�����	����	
�"�"����y��|�|�n�5�5�	7�	7�	7�	7�	7s,�,/�A�A	�A�A�
A5�)A0�0A5c
��		tdtd��td��td��g���#xgct%x�n}�d}~�t%x�n
}d}~nd}~��Xx�YncYwxYwn#t$r}|}Yd}~nd}~wwxYw|�|tdtd��td��g����dSr�r�r�s   r�&test_reraise_partial_handle_some_namedz<TestExceptStarReraise.test_reraise_partial_handle_some_namedr�r�c
��		tdtd��td��td��g���#xgct%x�n��t%x�nn��Xx�YncYwxYwn#t$r}|}Yd}~nd}~wwxYw|�|tdtd��td��g����dSr�r�r�s   r�(test_reraise_partial_handle_some_unnamedz>TestExceptStarReraise.test_reraise_partial_handle_some_unnamed)s��		�
�$��9�Q�<�<��A�����
�
�C�E�E�E��
�
�
�I�
�
�
�
�
�
�����
�
�
�
�
�
��������������������	�	�	��C�C�C�C�C�C�����	����	
�"�"����y��|�|�W�Q�Z�Z�&@�A�A�	C�	C�	C�	C�	Cs-�:=�A)�
A	�A)�$A-�-
B�7A>�>Bc	��		td���#xgct%x�n}�d}~��Xx�YncYwxYwn#t$r}|}Yd}~nd}~wwxYw|�|tdtd��g����dS�Nrr��rrrUr�s   r�"test_reraise_plain_exception_namedz8TestExceptStarReraise.test_reraise_plain_exception_named8s���	�
� ��n�n�$��
�
�
�J�
�
�
�
�
�
�����������������������	�	�	��C�C�C�C�C�C�����	����	
�"�"����Z��^�^�$4�5�5�	7�	7�	7�	7�	7s%��2�#	�
2�6�
A�A�Ac	��		td���#xgct%x�n���Xx�YncYwxYwn#t$r}|}Yd}~nd}~wwxYw|�|tdtd��g����dSr�r�r�s   r�$test_reraise_plain_exception_unnamedz:TestExceptStarReraise.test_reraise_plain_exception_unnamedDs���	�
� ��n�n�$��
�
�
�J�
�
�
�
�
�
��������������������	�	�	��C�C�C�C�C�C�����	����	
�"�"����Z��^�^�$4�5�5�	7�	7�	7�	7�	7s$��/�#	�/�3�
A	�A�A	N)r r!r"r�r�r�r�r�r�r�r�r#r$rr�r��s�������M�M�M�"M�M�M�"C�C�C� 
7�
7�
7�C�C�C� 
C�
C�
C�
7�
7�
7�
7�
7�
7�
7�
7r$r�c�2�eZdZd�Zd�Zd�Zd�Zd�Zd�ZdS)�TestExceptStarRaisec
��tdtd��td��g��}		|�#xgct%x�n}td���d}~��Xx�YncYwxYwn#t$r}|}Yd}~nd}~wwxYw|�|tdtd��tdtd��g��g����|�|jdjtdtd��g����|�||��|�||jdj��dS�Nrr8rDr9r�r�	rrrrrUrSr[rdra�r�origrr@s    r�test_raise_namedz$TestExceptStarRaise.test_raise_namedRsy���d�Z��]�]�G�A�J�J�$?�@�@��	�
#��
��
#�
#�
#�G�
#�
#�
#�
#�
#�
#���l�l�"����������������������	�	�	��C�C�C�C�C�C�����	����	
�"�"����Y�q�\�\�>�$��A����#H�#H�I�
K�
K�	L�	L�	L�
	
�"�"��N�1��)��4�'�!�*�*��.�.�	0�	0�	0�	
�#�#�D�#�.�.�.�� � ��s�~�a�'8�'D�E�E�E�E�Es-�1�A�A	�
A�A#�#
A9�-A4�4A9c
��tdtd��td��g��}		|�#xgct%x�ntd�����Xx�YncYwxYwn#t$r}|}Yd}~nd}~wwxYw|�|tdtd��tdtd��g��g����|�|jdjtdtd��g����|�||��|�||jdj��dSr�r�r�s    r�test_raise_unnamedz&TestExceptStarRaise.test_raise_unnamedhsv���d�Z��]�]�G�A�J�J�$?�@�@��	�
#��
��
#�
#�
#�G�
#�
#�
#�
#�
#�
#���l�l�"�������������������	�	�	��C�C�C�C�C�C�����	����	
�"�"����Y�q�\�\�>�$��A����#H�#H�I�
K�
K�	L�	L�	L�
	
�"�"��N�1��)��4�'�!�*�*��.�.�	0�	0�	0�	
�#�#�D�#�.�.�.�� � ��s�~�a�'8�'D�E�E�E�E�Es-�1�A�A	�A�A � 
A6�*A1�1A6c
��tdtd��td��g��}		|�#xgcttf%x�n}td���d}~��Xx�YncYwxYwn#t$r}|}Yd}~nd}~wwxYw|�|tdtd��g����|�|jdjtdtd��td��g����|�||��|�	||jdj��dSr�)
rrrr	rjrUrSr[rdrar�s    r�%test_raise_handle_all_raise_one_namedz9TestExceptStarRaise.test_raise_handle_all_raise_one_named~sk���d�Y�q�\�\�:�a�=�=�$A�B�B��	�
%��
��
%�
%�
%�Y�
�+�
%�
%�
%�
%�
%�
%�!�!�n�n�$����������������������	�	�	��C�C�C�C�C�C�����	����	
�"�"����[��^�^�$4�5�5�	7�	7�	7�	
�"�"��N�1��)��4�)�A�,�,�
�1�
�
�!>�?�?�	A�	A�	A�	
�#�#�D�#�.�.�.�� � ��s�~�a�'8�'D�E�E�E�E�E�-�1�A&�A	�
A&�!A*�*
B�4A;�;Bc
��tdtd��td��g��}		|�#xgcttf%x�n}td���d}~��Xx�YncYwxYwn#t$r}|}Yd}~nd}~wwxYw|�|tdtd��g����|�|jdjtdtd��td��g����|�||��|�||jdj��dSr��	rrrr	rUrSr[rdrar�s    r�'test_raise_handle_all_raise_one_unnamedz;TestExceptStarRaise.test_raise_handle_all_raise_one_unnamed�sk���d�Y�q�\�\�:�a�=�=�$A�B�B��	�
%��
��
%�
%�
%�Y�
�+�
%�
%�
%�
%�
%�
%�!�!�n�n�$����������������������	�	�	��C�C�C�C�C�C�����	����	
�"�"����[��^�^�$4�5�5�	7�	7�	7�	
�"�"��N�1��)��4�)�A�,�,�
�1�
�
�!>�?�?�	A�	A�	A�	
�#�#�D�#�.�.�.�� � ��s�~�a�'8�'D�E�E�E�E�Er�c
��tdtd��td��g��}		|�#xgct%x�n}td���d}~�t%x�n}td���d}~��Xx�YncYwxYwn#t$r}|}Yd}~nd}~wwxYw|�|tdtd��td��g����|�|jdjtdtd��g����|�|jdjtdtd��g����|�||��|�||jdj��|�||jdj��dS�Nrr8rDr9r7r�rr�r�s    r�%test_raise_handle_all_raise_two_namedz9TestExceptStarRaise.test_raise_handle_all_raise_two_named�s����d�Y�q�\�\�:�a�=�=�$A�B�B��	�
%��
��
%�
%�
%�I�
%�
%�
%�
%�
%�
%�!�!�n�n�$�������
%�
%�
%�
%�
%�
%�!�!�n�n�$����������������������	�	�	��C�C�C�C�C�C�����	����	
�"�"����[��^�^�[��^�^�$D�E�E�	G�	G�	G�	
�"�"��N�1��)��4�)�A�,�,��0�0�	2�	2�	2�	
�"�"��N�1��)��4�*�Q�-�-��1�1�	3�	3�	3�	
�#�#�D�#�.�.�.�� � ��s�~�a�'8�'D�E�E�E�� � ��s�~�a�'8�'D�E�E�E�E�Es9�1�A?�A	�A?�!A0	�0
A?�:B�
B�
B�Bc
�|�tdtd��td��g��}		|�#xgct%x�ntd����t%x�ntd�����Xx�YncYwxYwn#t$r}|}Yd}~nd}~wwxYw|�|tdtd��td��g����|�|jdjtdtd��g����|�|jdjtdtd��g����|�||��|�||jdj��|�||jdj��dSr�r�r�s    r�'test_raise_handle_all_raise_two_unnamedz;TestExceptStarRaise.test_raise_handle_all_raise_two_unnamed�s����d�Y�q�\�\�:�a�=�=�$A�B�B��	�
%��
��
%�
%�
%�I�
%�
%�
%�
%�
%�
%�!�!�n�n�$����
%�
%�
%�
%�
%�
%�!�!�n�n�$�������������������	�	�	��C�C�C�C�C�C�����	����	
�"�"����[��^�^�[��^�^�$D�E�E�	G�	G�	G�	
�"�"��N�1��)��4�)�A�,�,��0�0�	2�	2�	2�	
�"�"��N�1��)��4�*�Q�-�-��1�1�	3�	3�	3�	
�#�#�D�#�.�.�.�� � ��s�~�a�'8�'D�E�E�E�� � ��s�~�a�'8�'D�E�E�E�E�Es9�1�A9�A	�A9�A-	�-A9�4A=�=
B�B�BN�	r r!r"r�r�r�r�r�r�r#r$rr�r�Qs�������F�F�F�,F�F�F�,F�F�F�(F�F�F�(F�F�F�6F�F�F�F�Fr$r�c�2�eZdZd�Zd�Zd�Zd�Zd�Zd�ZdS)�TestExceptStarRaiseFromc
��tdtd��td��g��}		|�#xgct%x�n}td��|�d}~��Xx�YncYwxYwn#t$r}|}Yd}~nd}~wwxYw|�|tdtd��tdtd��g��g����|�|jdjtdtd��g����|�|jdjtdtd��g����|�||��|�	||jdj��|�	||jdj��|�||jdj��|�||jdj��dSr�)
rrrrrUrSr[r\rdrar�s    rr�z(TestExceptStarRaiseFrom.test_raise_named�s���d�Z��]�]�G�A�J�J�$?�@�@��	�
*��
��
*�
*�
*�G�
*�
*�
*�
*�
*�
*���l�l��)����������������������	�	�	��C�C�C�C�C�C�����	����	
�"�"����Y�q�\�\�>�$��A����#H�#H�I�
K�
K�	L�	L�	L�
	
�"�"��N�1��)��4�'�!�*�*��.�.�	0�	0�	0�	
�"�"��N�1��'��4�'�!�*�*��.�.�	0�	0�	0�	
�#�#�D�#�.�.�.�� � ��s�~�a�'8�'D�E�E�E�� � ��s�~�a�'8�'B�C�C�C��#�#�D�#�.��*;�*G�H�H�H��#�#�D�#�.��*;�*E�F�F�F�F�Fs-�1�A �A	�
A �A$�$
A:�.A5�5A:c
�,�tdtd��td��g��}		|�#xgct%x�n,tj��d}td��|���Xx�YncYwxYwn#t$r}|}Yd}~nd}~wwxYw|�|tdtd��tdtd��g��g����|�|jdjtdtd��g����|�|jdj	tdtd��g����|�
||��|�||jdj��|�||jdj	��|�
||jdj��|�
||jdj	��dSr�)rrrrhrirrUrSr[r\rdrar�s    rr�z*TestExceptStarRaiseFrom.test_raise_unnamed�s$���d�Z��]�]�G�A�J�J�$?�@�@��	�
*��
��
*�
*�
*�G�
*�
*�
*�
*�
*�
*��L�N�N�1�%����l�l��)�������������������	�	�	��C�C�C�C�C�C�����	����	
�"�"����Y�q�\�\�>�$��A����#H�#H�I�
K�
K�	L�	L�	L�
	
�"�"��N�1��)��4�'�!�*�*��.�.�	0�	0�	0�	
�"�"��N�1��'��4�'�!�*�*��.�.�	0�	0�	0�	
�#�#�D�#�.�.�.�� � ��s�~�a�'8�'D�E�E�E�� � ��s�~�a�'8�'B�C�C�C��#�#�D�#�.��*;�*G�H�H�H��#�#�D�#�.��*;�*E�F�F�F�F�Fs-�1�A6�)A*	�*A6�1A:�:
B�B�Bc
�t�tdtd��td��g��}		|�#xgcttf%x�n}td��|�d}~��Xx�YncYwxYwn#t$r}|}Yd}~nd}~wwxYw|�|tdtd��g����|�|jdjtdtd��td��g����|�|jdjtdtd��td��g����|�	||��|�
||jdj��|�
||jdj��dSr�)rrrr	rjrUrSr[r\rdrar�s    rr�z=TestExceptStarRaiseFrom.test_raise_handle_all_raise_one_nameds����d�Y�q�\�\�:�a�=�=�$A�B�B��	�
,��
��
,�
,�
,�Y�
�+�
,�
,�
,�
,�
,�
,�!�!�n�n�!�+����������������������	�	�	��C�C�C�C�C�C�����	����	
�"�"����[��^�^�$4�5�5�	7�	7�	7�	
�"�"��N�1��)��4�)�A�,�,�
�1�
�
�!>�?�?�	A�	A�	A�	
�"�"��N�1��'��4�)�A�,�,�
�1�
�
�!>�?�?�	A�	A�	A�	
�#�#�D�#�.�.�.�� � ��s�~�a�'8�'D�E�E�E�� � ��s�~�a�'8�'B�C�C�C�C�Cs-�1�A'�A	�
A'�"A+�+
B�5A<�<Bc
��tdtd��td��g��}		|�#xgcttf%x�n/}tj��d}td��|�d}~��Xx�YncYwxYwn#t$r}|}Yd}~nd}~wwxYw|�|tdtd��g����|�|jdjtdtd��td��g����|�|jdj	tdtd��td��g����|�
||��|�||jdj��|�||jdj	��dSr��rrrrhrir	rUrSr[r\rdrar�s    rr�z?TestExceptStarRaiseFrom.test_raise_handle_all_raise_one_unnamed2s����d�Y�q�\�\�:�a�=�=�$A�B�B��	�
,��
��
,�
,�
,�Y�
�+�
,�
,�
,�
,�
,�
,��L�N�N�1�%��!�!�n�n�!�+����������������������	�	�	��C�C�C�C�C�C�����	����	
�"�"����[��^�^�$4�5�5�	7�	7�	7�	
�"�"��N�1��)��4�)�A�,�,�
�1�
�
�!>�?�?�	A�	A�	A�	
�"�"��N�1��'��4�)�A�,�,�
�1�
�
�!>�?�?�	A�	A�	A�	
�#�#�D�#�.�.�.�� � ��s�~�a�'8�'D�E�E�E�� � ��s�~�a�'8�'B�C�C�C�C�Cs-�1�B�)A1	�1
B�;B�
B�B�Bc
��tdtd��td��g��}		|�#xgct%x�n}td��|�d}~�t%x�n}td��|�d}~��Xx�YncYwxYwn#t$r}|}Yd}~nd}~wwxYw|�|tdtd��td��g����|�|jdjtdtd��g����|�|jdjtdtd��g����|�|jdjtdtd��g����|�|jdjtdtd��g����|�||��|�	||jdj��|�	||jdj��dSr�)
rrrr	rUrSr[r\rdrar�s    rr�z=TestExceptStarRaiseFrom.test_raise_handle_all_raise_two_namedLso���d�Y�q�\�\�:�a�=�=�$A�B�B��	�
,��
��
,�
,�
,�I�
,�
,�
,�
,�
,�
,�!�!�n�n�!�+�������
,�
,�
,�
,�
,�
,�!�!�n�n�!�+����������������������	�	�	��C�C�C�C�C�C�����	����	
�"�"����[��^�^�[��^�^�$D�E�E�	G�	G�	G�	
�"�"��N�1��)��4�)�A�,�,��0�0�	2�	2�	2�	
�"�"��N�1��'��4�)�A�,�,��0�0�	2�	2�	2�	
�"�"��N�1��)��4�*�Q�-�-��1�1�	3�	3�	3�	
�"�"��N�1��'��4�*�Q�-�-��1�1�	3�	3�	3�	
�#�#�D�#�.�.�.�� � ��s�~�a�'8�'D�E�E�E�� � ��s�~�a�'8�'B�C�C�C�C�Cs9�1�B�A	�B�"A2	�2
B�<B�
B�B�Bc
��tdtd��td��g��}		|�#xgct%x�n,tj��d}td��|��t%x�n,tj��d}td��|���Xx�YncYwxYwn#t$r}|}Yd}~nd}~wwxYw|�|tdtd��td��g����|�|jdjtdtd��g����|�|jdj	tdtd��g����|�|jdjtdtd��g����|�|jdj	tdtd��g����|�
||��|�||jdj��|�||jdj	��|�||jdj��|�||jdj	��dSr�r�r�s    rr�z?TestExceptStarRaiseFrom.test_raise_handle_all_raise_two_unnamedos����d�Y�q�\�\�:�a�=�=�$A�B�B��
	�
,��
��
,�
,�
,�I�
,�
,�
,�
,�
,�
,��L�N�N�1�%��!�!�n�n�!�+����
,�
,�
,�
,�
,�
,��L�N�N�1�%��!�!�n�n�!�+�������������������	�	�	��C�C�C�C�C�C�����	����	
�"�"����[��^�^�[��^�^�$D�E�E�	G�	G�	G�	
�"�"��N�1��)��4�)�A�,�,��0�0�	2�	2�	2�	
�"�"��N�1��'��4�)�A�,�,��0�0�	2�	2�	2�	
�"�"��N�1��)��4�*�Q�-�-��1�1�	3�	3�	3�	
�"�"��N�1��'��4�*�Q�-�-��1�1�	3�	3�	3�	
�#�#�D�#�.�.�.�� � ��s�~�a�'8�'D�E�E�E�� � ��s�~�a�'8�'B�C�C�C�� � ��s�~�a�'8�'D�E�E�E�� � ��s�~�a�'8�'B�C�C�C�C�Cs9�1�B-�)A*	�*B-�8)B!	�!B-�(B1�1
C�;C�CNr�r#r$rr�r��s�������G�G�G�:G�G�G�<D�D�D�2D�D�D�4!D�!D�!D�F%D�%D�%D�%D�%Dr$r�c��eZdZd�Zd�ZdS)�$TestExceptStarExceptionGroupSubclassc���G�fd�dt���				td���#t$r}�d|gd��d�d}~wwxYw#�$r6}	td���#t$r}�d||gd���d}~wwxYwd}~wwxYw#xgct%x�n}|}d}~nd}~��Xx�YncYwxYwn#�$r}|}Yd}~nd}~wwxYw|�|���|�|���|�|jd	���|�||��|�|jd��|�|jd��|�|jd	jd��dS)
Nc�*���eZdZ�fd�Z�fd�Z�xZS)�MTestExceptStarExceptionGroupSubclass.test_except_star_EG_subclass.<locals>.EGc�\��t���|||��}||_|SrY)�super�__new__�code)�clsrQ�excsr
�objrOs     �rr	zUTestExceptStarExceptionGroupSubclass.test_except_star_EG_subclass.<locals>.EG.__new__�s(����g�g�o�o�c�7�D�9�9������
r$c�2���|j||j��SrY)rQr
)rr�EGs  �r�derivezTTestExceptStarExceptionGroupSubclass.test_except_star_EG_subclass.<locals>.EG.derive�s����r�$�,��d�i�8�8�8r$)r r!r"r	r�
__classcell__)rOrs@�rrr�sR��������
�
�
�
�
�

9�
9�
9�
9�
9�
9�
9�
9�
9r$rrD�nested�er8rrr)rrrr=rSrar<r
)r�ter�ver�veg�tegrs       @r�test_except_star_EG_subclasszATestExceptStarExceptionGroupSubclass.test_except_star_EG_subclass�s/���	9�	9�	9�	9�	9�	9�	9��	9�	9�	9�	�
�	9�@�'��l�l�*��$�@�@�@� �b��B�4��5�5�4�?�����@������9�9�9�9�(��m�m�+��%�9�9�9� �b���F�|�R�8�8�8�����9��������9�����

�
�
�J�
�
�
�
�
�
����������������������������	�	�	��C�C�C�C�C�C�����	����	
���c�2�&�&�&����c�2�&�&�&����c�n�Q�/��4�4�4�� � ��c�*�*�*������2�&�&�&������2�&�&�&�������*�/��5�5�5�5�5st�*�
A�A�A�A�B�A � 
A>�*A9�9A>�>B�B�B	�	B.�B	�B.�)B2�2C�7B>�>Cc	���G�fd�dt���		�dtd��td��g���#xgct%x�n	}|}�d}~�t%x�n}|}d}~nd}~��Xx�YncYwxYwn#t$r}|}Yd}~nd}~wwxYw|||fD]-}|�|��|�|����.|�|�dtd��g����|�|�dtd��g����|�|�dtd��g����dS)Nc� ��eZdZd�Z�fd�ZdS)�YTestExceptStarExceptionGroupSubclass.test_falsy_exception_group_subclass.<locals>.FalsyEGc��dS)NFr#rs r�__bool__zbTestExceptStarExceptionGroupSubclass.test_falsy_exception_group_subclass.<locals>.FalsyEG.__bool__�s���ur$c�&���|j|��SrY)rQ)rr�FalsyEGs  �rrz`TestExceptStarExceptionGroupSubclass.test_falsy_exception_group_subclass.<locals>.FalsyEG.derive�s����w�t�|�T�2�2�2r$N)r r!r"rr)rs�rrr�s=�������
�
�
�
3�
3�
3�
3�
3�
3�
3r$rrr8rD)rrrr:�assertFalser=rU)rr�tes�vesr@rs     @r�#test_falsy_exception_group_subclasszHTestExceptStarExceptionGroupSubclass.test_falsy_exception_group_subclass�s����	3�	3�	3�	3�	3�	3�	3�n�	3�	3�	3�
	�
��g�d�Y�q�\�\�:�a�=�=�$A�B�B�B��
�
�
�I�
�
�
�
�
�
����������
�
�
�
�
�
����������������������������	�	�	��C�C�C�C�C�C�����	�����s�C��	.�	.�A����Q�����!�!�!�W�-�-�-�-��"�"�3����y��|�|�n�(E�(E�F�F�F��"�"�3����y��|�|�n�(E�(E�F�F�F��"�"�3����z�!�}�}�o�(F�(F�G�G�G�G�Gs;�(A�A:�A	�A:�%A+	�'A:�5A>�>
B�B�BN)r r!r"rr#r#r$rrr�s8������!6�!6�!6�FH�H�H�H�Hr$rc��eZdZd�ZdS)�TestExceptStarCleanupc���		td���#	tt���#xgct%x�nn��Xx�YncYwxYwddzYnxYwn#t$r}|}Yd}~nd}~wwxYw|�|td����|�|jtd����|�tj	��d��dS)Nrr8rzdivision by zero)NNN)
rr�intr:rU�ZeroDivisionErrorr[r<rhrir�s   r�test_exc_info_restoredz,TestExceptStarCleanup.test_exc_info_restored�s��
	�
� ��n�n�$��
��#�C�.�.�(�����	������������������������!�����������	�	�	��C�C�C�C�C�C�����	����	
�"�"�3�(9�:L�(M�(M�N�N�N��"�"�3�?�J�r�N�N�C�C�C��������);�<�<�<�<�<s0��A�)�A�
A�A�
A*�A%�%A*N)r r!r"r)r#r$rr%r%�s#������=�=�=�=�=r$r%�__main__)rh�unittestr*�TestCaserr&rKrfr�r�r�rr%r �mainr#r$r�<module>r.s��
�
�
�
���������*�*�*�*�*�H�-�*�*�*�Zw3�w3�w3�w3�w3�x�/@�w3�w3�w3�t"B�"B�"B�"B�"B�X�&�"B�"B�"B�JC2�C2�C2�C2�C2�>�C2�C2�C2�Lw7�w7�w7�w7�w7�N�w7�w7�w7�tIF�IF�IF�IF�IF�.�IF�IF�IF�XwD�wD�wD�wD�wD�n�wD�wD�wD�t>H�>H�>H�>H�>H�>�>H�>H�>H�B=�=�=�=�=�N�=�=�=�&�z����H�M�O�O�O�O�O��r$