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

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python315/Lib/test/__pycache__/test_peepholer.cpython-315.opt-1.pyc
R
>lqj#�c�\�]PHs]PHs]PHs]QHGsGs]PHs]PHs]PH s]PH$s	]PH*s
]QH0G
s
]QH8GsGsQsQsQsQQ\2sQ	Q
\	O*2sQQ\2sQ
Q\2sQQ\2s\Q6Xc\	O62P!P!\cPs
Kh9h)�)�combinations�product)�support)�BytecodeTestCase�CfgOptimizationTestCasec�x�[OQUQ02o-o[V2UQ*O!)z=
        def f(x):
            match x:
                case z#:
                    pass
        �f)�textwrap�dedent�exec�__code__)�pattern�source�	namespaces&  �(C:\Python315\\Lib\test\test_peepholer.py� compile_pattern_with_fast_localsrsE��
�_�_�
��Y�	�	��F��I�����S�>�"�"�"�c�0�]o[OU2FDoUOU6XfJU]*
oJ!	[UQ2%c
UOoUO
FD)o[UQ2%fJU[
VA2*
oJ+	U!)rr�co_code)�dis�get_instructions�opname�hasattrr�	co_consts�count_instr_recursively)rr�count�instr�cs&&   rrr!s{��
�E��%�%�a�(���<�<�6�!��Q�J�E�)��q�*���
�J�J��
�[�[���1�i� � ��,�Q�7�7�E���Lrc�r�[[O2FDvqV]*6XfJUt!	P!�r)�	enumerate�opcode�_nb_ops)�arg�i�nb_ops&  r�get_binop_argvalr&.s%���f�n�n�-�����(�?��H�.rc�$`�\sQs]5snQsQsQsQsQsQs	Qs
QsQ	sQ
s
QsQsQ
sQsQsQsQsQsQsQsQsQsQsQsQsQsQsQs\ OBQ2Q2s"Qs#Q s$Q!s%Q"s&Q#s'Q$s(Q%s)Q&s*Us+P!)'�
TestTranformsc�d�[[OU22oSTt-tFDp3OUaJ	ooSFD�oQUO7cJVCO
*oUOQ7cEUO
UOQUOQUOQUO02UOQ7fJ�UOQ6XfJ�UO
UOQUOQUOQUO02J�	P!ttoh)�JUMP_z at z
 jumps to �RETURN_VALUE)�
JUMP_BACKWARD�JUMP_FORWARD)�listrr�offsetr�argval�fail)�self�code�instructionsr�targets�tgts&&    r�check_jump_targets� TestTranforms.check_jump_targets7s����C�0�0��6�7��4@�A�L�5�<�<��&�L��A�!�E��e�l�l�*���,�,�'�C��z�z�>�>��	�	�U�\�\�N�$�u�|�|�n�=&�&)�j�j�\��c�j�j�\�C�D���� A�A��
�
�n�,��	�	�U�\�\�N�$�u�|�|�n�=&�&)�j�j�\��c�j�j�\�C�D�"��Bs�D-c�$�[OU2o[[OU22o[	QU22o[QU22oUO
U]2UOU[UO22P!)z0Check that the lnotab byte offsets are sensible.c3�>�SF �Dp]*w�	J	P!3hr���.0�ts& r�	<genexpr>�-TestTranforms.check_lnotab.<locals>.<genexpr>N�������A�Q�4�4����c3�>�SF �Dp]*w�	J	P!3hrr;r<s& rr?r@OrArB)
r�_get_code_objectr.�findlinestarts�min�max�assertGreaterEqual�
assertLess�lenr)r2r3�lnotab�min_bytecode�max_bytecodes&&   r�check_lnotab�TestTranforms.check_lnotabHsp���#�#�D�)���c�(�(��.�/���0��0�0���0��0�0������a�0�����c�$�,�,�&7�8rc��QoUOUQ2UOUQ2UOUQ2UOU2P!)c��U]6Xf=P!P!)�r;��xs&r�unot�%TestTranforms.test_unot.<locals>.unotXs����6��r�	UNARY_NOT�POP_JUMP_IF_FALSE�POP_JUMP_IF_TRUE��assertNotInBytecode�assertInBytecoderN)r2rUs& r�	test_unot�TestTranforms.test_unotVsI��	�	
� � ��{�3�� � ��':�;����d�$6�7����$�rc	���QFDYvqoUOUQ59^tt^2[UPQ2oUOVBU2UOU2PPP2J[	P!)%fhJp9h)�
not a is b��line�single))r`�IS_OP�)znot a is not brdr)z
not a in b�CONTAINS_OPre)znot a not in brfr)�subTest�compiler\rN)r2rb�cmp_op�invertr3s&    r�test_elim_inversion_of_is_or_in�-TestTranforms.test_elim_inversion_of_is_or_in`sf��%� �D�&����4��(�(��t�R��2���%�%�d�F�;��!�!�$�'�)�(�
%�)�(�(�s�1A$	�$A5
�-A5
c	��QoQoQoUP1UP	1UP
11FD^vqEUOUQ59^tt^2UOUQ2UOUQU2UOU2PPP2J`	QoUOUQ2UOUQP2UOU2P!)%fhJ�9h)c��PoPoU!�Nr;rSs rr�0TestTranforms.test_global_as_constant.<locals>.fns���A��A��Hrc��P	oU!�Tr;rSs r�g�0TestTranforms.test_global_as_constant.<locals>.grs���A��Hrc��P
oU!)Fr;rSs r�h�0TestTranforms.test_global_as_constant.<locals>.hus���A��Hr)�func�LOAD_GLOBAL�LOAD_COMMON_CONSTANTc��P!)z1Adding a docstring made this test fail in Py2.5.0r;r;rrrrps��r)rgr[r\rN)r2rrsrvrx�elems&     r�test_global_as_constant�%TestTranforms.test_global_as_constantls���	�	�	��t�9�q�$�i�!�U��<�J�D����4��(�(��(�(��}�=��%�%�d�,B�D�I��!�!�$�'�)�(�=�	�	
� � ��M�2����a�!7��>����!��)�(�(�s�7B4	�4C
�=C
c��QoQFDoUOV2J	QFDoUOV2J	UOU2P!)c�
�J�re)r.r;rrr�'TestTranforms.test_while_one.<locals>.f�s���r)�
LOAD_CONSTrX)r,rZ)r2rr|s&  r�test_while_one�TestTranforms.test_while_one�sG��	�8�D��$�$�Q�-�8�&�D��!�!�!�*�'����!�rc	�<�QFDvqUOUQ59^tt^2[UPQ2oUdUOV22UOUQ2UOUQ2UO	U2PPP2J�	P!)%fhJ�9h)�a, = a,rarc�BUILD_TUPLE�UNPACK_SEQUENCE))r�N)za, b = a, b�SWAP)za, b, c = a, b, cr��rgrhr\r[rN�r2rbr|r3s&   r�test_pack_unpack�TestTranforms.test_pack_unpack�s����J�D�
���4��(�(��t�B�x�0���#��)�)�$�5��(�(��}�=��(�(��/@�A��!�!�$�'�
)�(��
)�(�(�s�B
	�AB
	�
B
�B
c	��QFDkvqUOUQ59^tt^2[UPQ2oUOUQU2UOUQ2UO	U2PPP2Jm	[[[
[Q222PQ2oUOUQ2[OU2Tt,tFDoUOQ6XfJUMJ	ooUO[U2]2UO	U2QoUO	U2P!)%fhCJ69httoh)�	a = 1,2,3rarcr�r��'c��,]M]M]M]M]M]M]M]M]M]	M]M]M]M]M]M]M]M]M]M]	M]M]M]M]M]M]M]M]M]M]	M]M]M]M]M]M]M]M]M]M]	M]M]M]M]M]M]M]M]M]M]	M]M]M]M]M]M]M]M]M]M]	M]M]M]M]M]M]M]M]M]M]	M]M]M]M]M]M]M]M]M]M]	M]M]M]M]M]M]M]M]M]M]	M]M]M]M]M]M]M]M]M]M]	M&1P!rr;r;rr�crater�GTestTranforms.test_constant_folding_tuples_of_constants.<locals>.crater�s�������������� ��"#��%&��()��+,������������ ��"#��%&��()��+,������������ !��#$��&'��)*��,-���	��	��	��	��	� !�	�#$�	�&'�	�)*�	�,-�	�
��
��
��
��
��
 !��
#$��
&'��
)*��
,-���
��
��
��
��
� !�
�#$�
�&'�
�)*�
�,-�
����������� !��#$��&'��)*��,-������������ !��#$��&'��)*��,-������������ !��#$��&'��)*��,-������������ !��#$��&'��)*��,-���
r))r��rerR�)z
("a","b","c")��a�br)za,b,c,d = 1,2,3,4)rerRr��)z(None, 1, None)�NreN)z((1, 2), 3, 4)��rerRr�r�)
rgrhr\r[rN�repr�tuple�rangerrr�assertEqualrJ)r2rbr|r3r�load_constsr�s&      r�)test_constant_folding_tuples_of_constants�7TestTranforms.test_constant_folding_tuples_of_constants�s���J�D����4��(�(��t�B�x�0���%�%�d�L�$�?��(�(��}�=��!�!�$�'�	)�(���t�E�%��,�/�0��H�=��� � ��}�5�*-�*>�*>�t�*D�?�*D��!&����!=��u�*D��?�����[�)�1�-����$��
	�	
���&�!�?)�(�(��?s�AD)	�D>�D>�)D;
�2D;
c	��QFDkvqUOUQ59^tt^2[UPQ2oUOUQU2UOUQ2UO	U2PPP2Jm	P!)%fhJ�9h)�a in [1,2,3]rarcr��
BUILD_LIST))r�r�)za not in ["a","b","c"]r�)za in [None, 1, None]r�)za not in [(1, 2), 3, 4]r�r�r�s&   r�(test_constant_folding_lists_of_constants�6TestTranforms.test_constant_folding_lists_of_constants�su���J�D����4��(�(��t�R��2���%�%�d�L�$�?��(�(��|�<��!�!�$�'�	)�(��)�(�(�s�AA6	�6B
�?B
c	��Q[.Ql21Q[.Ql21Q[]P.21Q[.Q
l21Q[.Ql211FDkvqUOUQ59^tt^2[UPQ2oUOUQ2UO	UQU2UOU2PPP2Jm	Q	oQ
oUO
U]22UO
U]2%(2UOU2UO
U]2%(2UO
U]22UOU2P!)%fhCJ9h)za in {1,2,3}za not in {"a","b","c"}za in {None, 1, None}za not in {(1, 2), 3, 4}za in {1, 2, 3, 3, 2, 1}rarc�	BUILD_SETr�c��UQ7!�re�rerRr�r;�r�s&rr�@TestTranforms.test_constant_folding_sets_of_constants.<locals>.f�s���	�>�!rc��UQ7!r�r;r�s&rrs�@TestTranforms.test_constant_folding_sets_of_constants.<locals>.g�s
���I�%�%rr�>r�r�r>r�r�r�)�	frozensetrgrhr[r\rN�
assertTrue)r2rbr|r3rrss&     r�'test_constant_folding_sets_of_constants�5TestTranforms.test_constant_folding_sets_of_constants�s(���Y�y�1�2�
%�y��'A�B�
#�Y��4�y�%9�:�
&�	�.�(A�B�
&�	�)�(<�=�
�J�D����4��(�(��t�R��2���(�(��{�;��%�%�d�L�$�?��!�!�$�'�	)�(��	"�	&�	
����!������A�a�D��!����!�����A�a�D��!�����!������!��')�(�(�s�*AE
	�
E
�E
c	�&�,QNoSFDpvq#UOV#Q59^tt^2[UPQ2oUdUOUQU2LUOUQ2UO	U2PPP2Jr	P!)%fhJ�9h)�(0, )[0])�expr�opargrc�LOAD_SMALL_INT))r�r)�(1 + 2, )[0]r�)z(2 + 2 * 2, )[0]�)z(1, (1 + 2 + 3, ))[1][0]r�)�1 + 2r�)z2 + 2 * 2 // 2 - 2rR)z
(255, )[0]�)z
(256, )[0]N)z(1000, )[0]N)z(1 - 2, )[0]N)z255 + 0r�)z255 + 1N)z-1N)z--1re)z--255r�)z--256N)z~1N)z~~1re)z~~255r�)z~~256N)z++255r�)z++256Nr�)r2�testsr�r�r3s&    r�test_constant_folding_small_int�-TestTranforms.test_constant_folding_small_int�s���
��0!�K�D����4��5�5��t�R��2���$��)�)�$�0@�%�H��,�,�T�3C�D��!�!�$�'�
6�5�!�5�5�5�s�A?	�7A?	�?B
�B
c�2�]oQ
QQQ
QQQQQQQQUP	Q]1QQQQUP
PP1Q,oSFD�vooooooUOV6Q59^tt^2[UPQ2o	U%c(UOV�UQ5UOV�UQ5LUOV�UQ5UO	U	2PPP2J�	Qo
[
OU
2FDoUOUOQ	2J!	UO	U
2P!)%fhJ�9h)�r�z+++1�CALL_INTRINSIC_1z+++x�r��is_optimizedrc�r0c��Q!)��?��r;r;rr�negzero�<TestTranforms.test_constant_folding_unaryop.<locals>.negzero>s���r�UNARY_)z-0�UNARY_NEGATIVENTr�r)z-0.0r�NTr�r�)z
-(1.0-1.0)r�NTr�r�)z-0.5r�NTr�g�)z---1r�NTrz���)z---""r�NFNN)z~~~1�UNARY_INVERTNTr����)z~~~""r�NFNN)znot not TruerWNTrzT)z	not not xrWNT�	LOAD_NAMErT)z---xr�NFNN)z~~~xr�NFNN)z~Truer�NFNN)	rgrhr[r\rNrr�assertNotStartsWithr)r2�intrinsic_positiver�r��original_opcode�original_argvalr��optimized_opcode�optimized_argvalr3r�rs&           r�test_constant_folding_unaryop�+TestTranforms.test_constant_folding_unaryops;����E�F�L�F�N�@�B�>�S�D�
�'�);�T�CS�UV�W�?�=�
�'�);�U�D�$�O�>�
��2�
����������4��C�C��t�R��2����,�,�T�?�,�[��)�)�$�IY�)�Z��)�)�$��)�X��!�!�$�'�D�C��	��)�)�'�2�E��$�$�U�\�\�8�<�3����'�"�D�C�C�s�D	�AD	�D
�D
c
�<�,QMQMQMQMQMQMQMQMQMQMQMQMQMQ MQ!MQ"MQ#MQ$MQ%MQ&MQ'MQ(MQ)MQ*MQ+MQ,MQ-MQ.MQ/MQ0MQ1MQ2MQ3MQ4MQ5MQ6MQ7MQ8MQ9MQ:MQ;MQ<MQ=MQ>MQ?MQ@MQAMQBMQCMQDMQEMQFMQGMQHMQIMoSFD�voooooUOV$Q59^tt^2[UPQ2o[U2oU%c)UOUQUQ5UO	VuUQ5LUO	UQUQ5UOU2PPP2J�	[QPQ2oUO	UQQ2UO
QQ*UO2UOU2[Q	PQ2oUO	UQQ
2UO
]Q
*UO2UOU2[QPQ2oUO	UQQ
2UO
]Q
*UO2UOU2[QPQ2oUO	UQQ
2UOUQ2UOU2[QPQ2oUO	UQQ2UOUQ2UOU2[QPQ2oUO	UQQ2UOUQ2UOU2[QPQ2oUO	UQ2UOU2P!)%fhCJ�9h)Jr�r�r�rc�	BINARY_OPr�z	"x"*10000r�rTz1<<1000��z2**1000z"foo"[0]ru	"a￿"[1]u￿u	"𒍅"[0]u𒍅z	"fuu"[10])r��NB_ADDTr�r�)z	1 + 2 + 3r�Tr�r�)z1 + ""r�FNN)z1 - 2�NB_SUBTRACTTrzr�)z	1 - 2 - 3r�Tr����)z1 - ""r�FNN)z2 * 2�NB_MULTIPLYTr�r�)z	2 * 2 * 2r�Tr��)z2 / 2�NB_TRUE_DIVIDETr�r�)z	2 / 2 / 2r�Tr���?)z2 / ""r�FNN)z2 // 2�NB_FLOOR_DIVIDETr�re)z2 // 2 // 2r�Tr�r)z2 // ""r�FNN)z2 % 2�NB_REMAINDERTr�r)z	2 % 2 % 2r�Tr�r)z2 % ()r�FNN)z2 ** 2�NB_POWERTr�r�)z2 ** 2 ** 2r�Tr��)z2 ** ""r�FNN)z2 << 2�	NB_LSHIFTTr�r�)z2 << 2 << 2r�Tr�� )z2 << ""r�FNN)z2 >> 2�	NB_RSHIFTTr�r)z2 >> 2 >> 2r�Tr�r)z2 >> ""r�FNN)z2 | 2�NB_ORTr�rR)z	2 | 2 | 2r�Tr�rR)z2 | ""r�FNN)z2 & 2�NB_ANDTr�rR)z	2 & 2 & 2r�Tr�rR)z2 & ""r�FNN)z2 ^ 2�NB_XORTr�r)z	2 ^ 2 ^ 2r�Tr�rR)z2 ^ ""r�FNN)z(1, )[0]�	NB_SUBSCRTr�re)z	(1, )[-1]r�Tr�re)r�r�Tr�r�)z(1, (1, 2))[1][1]r�Tr�rR)z(1, 2)[2-1]r�Tr�rR)z(1, (1, 2))[1][2-1]r�Tr�rR)z(1, (1, 2))[1:6][0][2-1]r�Tr�rR)z"a"[0]r�Tr�r�)z("a" + "b")[1]r�Tr�r�)z("a" + "b", )[0][1]r�Tr�r�)z
("a" * 10)[9]r�Tr�r�)z(1, )[1]r�FNN)z	(1, )[-2]r�FNN)z"a"[1]r�FNN)z"a"[-2]r�FNN)z("a" + "b")[2]r�FNN)z("a" + "b", )[0][2]r�FNN)z("a" + "b", )[1][0]r�FNN)z("a" * 10)[10]r�FNN)z(1, (1, 2))[2:6][0][2-1]r�FNN)rgrhr&r[r\rN�assertNotInr)	r2r�r�r%r�r�r�r3�	nb_op_vals	&        r�test_constant_folding_binop�)TestTranforms.test_constant_folding_binopEs���8
�:�8
�>�8
�
4�8
�
G�	8
�

A�8
�
9�
8
�
@�8
�
D�8
�
A�8
�
E�8
�
<�8
�
E�8
�
J�8
�
>�8
�
A�8
� 
E�!8
�"
:�#8
�$
>�%8
�&
D�'8
�(
7�)8
�*
?�+8
�,
E�-8
�.
8�/8
�0
?�18
�2
D�38
�4
8�58
�6
:�78
�8
>�98
�:
3�;8
�<
;�=8
�>
?�?8
�@
4�A8
�B
;�C8
�D
?�E8
�F
4�G8
�H
A�I8
�J
B�K8
�L
E�M8
�N
J�O8
�P
D�Q8
�R
L�S8
�T
Q�U8
�V
=�W8
�X
E�Y8
�Z
J�[8
�\
D�]8
�^
9�_8
�`
:�a8
�b
7�c8
�d
8�e8
�f
?�g8
�h
D�i8
�j
D�k8
�l
?�m8
�n
I�o8
��@�

���������4��C�C��t�R��2��,�U�3�	���,�,�T�;�y�,�Q��)�)�$�IY�)�Z��)�)�$��I�)�N��!�!�$�'�D�C���{�B��1�����d�L�%�8�����U��D�N�N�3����$���y�"�h�/�����d�L�$�7�����D��$�.�.�1����$���y�"�h�/�����d�L�$�7�����D��$�.�.�1����$���z�2�x�0�����d�L�#�6�� � ��{�3����$���*�B��9�����d�L�(�;�� � ��k�2����$���(�"�h�7�����d�L�,�?�� � ��{�3����$���{�B��1�����d�K�0����$��[D�C�C�s� L		�9A
L		�	L
�L
c��,QNoSFD6o[[OU2PQ2oUOUQ2J8	P!)�J
            (-
             -
             -
             1)
            rc�NOP)
r�zY
            (1
             +
             2
             +
             3)
            z@
            (1,
             2,
             3)[0]
            z=
            [1,
             2,
             3]
            z=
            {1,
             2,
             3}
            zc
            1 in [
               1,
               2,
               3
            ]
            zc
            1 in {
               1,
               2,
               3
            }
            zn
            for _ in [1,
                      2,
                      3]:
                pass
            zn
            for _ in [1,
                      2,
                      x]:
                pass
            zn
            for _ in {1,
                      2,
                      3}:
                pass
            )rhr	r
r[)r2�sourcesrr3s&   r�)test_constant_folding_remove_nop_location�7TestTranforms.test_constant_folding_remove_nop_location�s>��F
��P�F��8�?�?�6�2�B��A�D��$�$�T�5�1�rc��QoUOUQP2[OU2Tt,tFDoUOQ6XfJUMJ	ooUO	[U2]2UO
U2P!ttoh)c��U!ror;rSs&rr�/TestTranforms.test_elim_extra_return.<locals>.fs���Hrr�r+)r[rrrr�rJrN�r2rr�returnss&   r�test_elim_extra_return�$TestTranforms.test_elim_extra_returnsv��	�� � ��L�$�7�&)�&:�&:�1�&=�=�&=�U�"�\�\�^�;��5�&=��=�����W��q�)����!���=s�A?�	A?c�L�QoUOU2UOUQ2UOUQ2[OU2Tt,tFDoUOQ6XfJUMJ	ooUO[
U2]2UOU2P!ttoh)c��U%cU!S!ror;)�cond�
true_value�false_values&&&rr�1TestTranforms.test_elim_jump_to_return.<locals>.fs��"&�J�
&�$�
&rr-r,r+)r7r[rrrr�rJrNr�s&   r�test_elim_jump_to_return�&TestTranforms.test_elim_jump_to_returns���	&�	
����"�� � ��N�3�� � ��O�4�&)�&:�&:�1�&=�=�&=�U�"�\�\�^�;��5�&=��=�����W��q�)����!���=s�B!�+B!c�R�QoUOU2UOU2P!)c��[%c'[%f
[%c
[2P!P![	2P!ro)r�r�d�foo�bazr;rrr�6TestTranforms.test_elim_jump_to_uncond_jump.<locals>.fs"���q��A��q��E���r�r7rN�r2rs& r�test_elim_jump_to_uncond_jump�+TestTranforms.test_elim_jump_to_uncond_jumps%��	�	
����"����!�rc�R�QoUOU2UOU2P!)c�d�W%c'[%f[%fJ"[2oJ.P!ro)rrr
r�s rr�7TestTranforms.test_elim_jump_to_uncond_jump2.<locals>.f+s����A��q���A�	rrrs& r�test_elim_jump_to_uncond_jump2�,TestTranforms.test_elim_jump_to_uncond_jump2)s%��	�	
����"����!�rc��QoUOU2UOU2UO[UQ2]2QoUOU2UOU2UO[UQ2]2QoUOU2UOU2UO[UQ2]2UO[UQ2]2QoUOU2UOU2UO[UQ2]2UO[UQ2]2P!)c�0�S9%c
S9%cS!ror;r�s&&&rr�7TestTranforms.test_elim_jump_to_uncond_jump3.<locals>.f7s ����W�1����
rrXc�0�S9%f
S9%fS!ror;r�s&&&rrr>s ����V�!����
rrYc�0�S9%cS9%fS!ror;r�s&&&rrrEs���W�W�1����
rc�0�S9%fS9%cS!ror;r�s&&&rrrMs���V�V�!����
r)r7rNr�rrs& r�test_elim_jump_to_uncond_jump3�,TestTranforms.test_elim_jump_to_uncond_jump34s$��	�	
����"����!�����0��4G�H�!�L�	�	
����"����!�����0��4F�G��K�	�	
����"����!�����0��4G�H�!�L����0��4F�G��K�	�	
����"����!�����0��4G�H�!�L����0��4F�G��Krc�0�QoUOU2P!)c�V�[]2FDoU]6�fJ[U2J	P!)r�)r��print)r$s rr�7TestTranforms.test_elim_jump_to_uncond_jump4.<locals>.fVs���1�X���q�5��!�H�r)r7rs& r�test_elim_jump_to_uncond_jump4�,TestTranforms.test_elim_jump_to_uncond_jump4Us��	�	
����"rc�*�QoUOUQ2UOUQ2[OU2Tt,tFDoUOQ6XfJUMJ	ooUO	[U2]2UO
U2P!ttoh)c�2�U%c]!U%c]!]!r�r;)�cond1�cond2s&&rr�5TestTranforms.test_elim_jump_after_return1.<locals>.f^s���Q��Q��rr-r,r+)r[rrr�assertLessEqualrJrNr�s&   r�test_elim_jump_after_return1�*TestTranforms.test_elim_jump_after_return1\s���	�	
� � ��N�3�� � ��O�4�&)�&:�&:�1�&=�=�&=�U�"�\�\�^�;��5�&=��=����S��\�1�-����!���=s�B�Bc�T�QoUOUQ2UOU2P!)c��QQkoU!)c��U]6�cPgQ]-!)rR�returnr;)�formats"r�__annotate__�OTestTranforms.test_make_function_doesnt_bail.<locals>.f.<locals>.g.__annotate__ps��
�
�S�
rc��P!ror;r;rrrs�BTestTranforms.test_make_function_doesnt_bail.<locals>.f.<locals>.gps��rr;)rss rr�7TestTranforms.test_make_function_doesnt_bail.<locals>.fos��
��Hrr�)r[rNrs& r�test_make_function_doesnt_bail�,TestTranforms.test_make_function_doesnt_bailns'��	�	
� � ��K�0����!�rc�h�QoUO[UQ2]2UOU2P!)c�*�[[[17!ro)rTr�r�r;rr�containtest�7TestTranforms.test_in_literal_list.<locals>.containtestws����A��;�rr��r�rrN)r2r=s& r�test_in_literal_list�"TestTranforms.test_in_literal_listvs-��	����0��l�K�Q�O����+�&rc�h�QoUO[UQ2]2UOU2P!)c�0�[[1FDoJ	P!ro�r�r�rSs r�forloop�8TestTranforms.test_iterate_literal_list.<locals>.forloop}s����V���rr�r?)r2rEs& r�test_iterate_literal_list�'TestTranforms.test_iterate_literal_list|s/��	�	
���0��,�G��K����'�"rc�^�QoUOU2]2UOU2P!)c�
�]!rrr;r;rrr�=TestTranforms.test_condition_with_binop_with_bools.<locals>.f�s���r)r�rNrs& r�$test_condition_with_binop_with_bools�2TestTranforms.test_condition_with_binop_with_bools�s)��	�	
�����a� ����!�rc�^�QoUOUP	22UOU2P!)c� �U%cP	!P
!rrr;rSs&rr�3TestTranforms.test_if_with_if_expression.<locals>.f�s����� %�r)r�rNrs& r�test_if_with_if_expression�(TestTranforms.test_if_with_if_expression�s'��	�	
����$�� ����!�rc�0�QoUOU2P!)c�
�]!r�r;rSs&rr�+TestTranforms.test_trailing_nops.<locals>.f�s���r)rNrs& r�test_trailing_nops� TestTranforms.test_trailing_nops�s��	�	
���!�rc��QoUO[UQ2]2QoUO[UQ2]2QoUO[UQ2]2QoUO[UQ2]2P!)c�V�[TTt,tFDo[U2pMJ	too!ttoohro�r�r�rT�ys  r�listcomp�GTestTranforms.test_assignment_idiom_in_comprehensions.<locals>.listcomp��"�� �1�q�!�1�Q�4�Q�A�q�1�1��1��%�FOR_ITERc�V�[TTt.tFDo[U2pjJ	too!ttoohrorZr[s  r�setcomp�FTestTranforms.test_assignment_idiom_in_comprehensions.<locals>.setcomp�r_r`c�X�[TTt-tFDo[U2pUaJ	too!ttoohrorZr[s  r�dictcomp�GTestTranforms.test_assignment_idiom_in_comprehensions.<locals>.dictcomp�s&��"#�4�!�Q�a��d��q�D�A�!�4�4��4s�&c��Q[2!)c3�F�SF �Do[U2p"w�	J	P!3hro)r)r=rTr\s&  rr?�YTestTranforms.test_assignment_idiom_in_comprehensions.<locals>.genexpr.<locals>.<genexpr>�s��q���q�!�1�Q�4�Q�A�q�s�!r�r;rr�genexpr�FTestTranforms.test_assignment_idiom_in_comprehensions.<locals>.genexpr�s
��1�q�1�1r)r�r)r2r]rcrfrks&    r�'test_assignment_idiom_in_comprehensions�5TestTranforms.test_assignment_idiom_in_comprehensions�sv��	2����0��:�F��J�	2����0��*�E�q�I�	5����0��:�F��J�	2����0��*�E�q�Ir�cpuc��Qo,[QQ2N[QQ2N[Q
Q2N[[Q2[Q2'1Q2No,[QQ2NQMQMoSFD�vqESFD�vqg[[U2]*2FD�o[	V2FD�o	QPOU	2*U*U*U*o
UO
V�Q59^tt^2V�*o[U
8Q0Q	U-2oUOV�Q
U
802PPP2J�	J�	J�	J�	P!)%fhJ�9h)z-+ #0�sra�duioxX�	duifegFEG�inf�fegFEG�%)�fmt�valuez % (x,)rTzfmt = )��1234uабвг)��i.���)g�|��EJ�@g�|��EJ��)ry�1�30)ry�.z.0z.2)ry�.40)r}r)	r�floatr�rJr�joinrg�evalr�)
r2�flags�	testcases�width_precsrx�suffix�width�prec�r�specrw�s1�s2s
&            r�test_format_combinations�&TestTranforms.test_format_combinations�sD����
�
�-�u�
5�
�
�]�H�
-�
��2�K�
@�
��e�E�l�U�5�\�M�2�H�
=�	
�	�
�
�_�&;�
<�
��
�
�
��
'�M�E�*����s�5�z�A�~�.�A� ,�U� 6��!�B�G�G�D�M�1�E�9�D�@�6�I��!�\�\�c�\�?�?�!$��B�!%���w�&7�#�u��!F�B� �,�,�R���x�[�A�@�?�!7�/� +�'�
@�?�?�s�"1D-�-D>�6D>c�4�QoUOUQ2Q2UOUQQ2Q2UOUQQ2Q2UOUQQ2Q2UOUQQ2Q	2UOUQQ
2Q2UOUQQ
2Q2UOUQQ
2Q2UOUQ
Q2Q2UOUQQ2Q2UOUQ]]"2Q2P!)c	�@�[[U22Tt,tFDoQU]*0MJ	oo[U2]6XcQU]**Q*oLQQOU2*Q*o[U8QU0[	[V1222!ttoh)rT�(z,)z, �)z % )r�rJr�r��dict�zip)rw�valuesr$�vars�argss&*   rr3�.TestTranforms.test_format_misc.<locals>.format�s���',�S��[�'9�:�'9�!�a��!��u�I�'9�D�:��4�y�A�~��T�!�W�}�t�+���T�Y�Y�t�_�,�s�2���3�'��T�F�+�T�#�d�2C�-D�E�E��;s�B�stringzx = %s!r{z	x = 1234!zx = %d!zx = %x!zx = 4d2!zx = %f!zx = 1234.000000!g�MbH�@zx = 1234.0000625!zx = 1234.000063!z
x = %s%% %%%%zx = 1234% %%z%% %sz
x = %% %s!zx = %s, y = %dzx = 12, y = 34�r�)r2r3s& r�test_format_misc�TestTranforms.test_format_misc�s��	F�	
�����)�8�4�����	�4�0�+�>�����	�4�0�+�>�����	�4�0�*�=�����	�4�0�2D�E�����	�<�8�:M�N�����	�<�8�:L�M�����	�<�8�+�F�������6��G�����	�7�3�\�B����� 0�"�b�9�;K�Lrc
���UO[Q29^tt^2[Q2PPP2UO[Q29^tt^2[QQ]Q]-2PPP2UO[Q29^tt^2[QQQ-2PPP2UO[Q	29^tt^2[Q
QQ-2PPP2UO[Q29^tt^2[QQQ-2PPP2UO[Q29^tt^2[Q
QQ-2PPP2UO[Q29^tt^2[QQQ-2PPP2UO[Q29^tt^2[QQQ-2PPP2UO[Q29^tt^2[QQQ-2PPP2UO[Q29^tt^2[QQQ-2PPP2UO[Q29^tt^2[QQ]Q,-2PPP2UO[Q29^tt^2[QQ]Q]],-2PPP2P!)%fhCKb9h)%fhCK?9h)%fhCK9h)%fhCK�9h)%fhCK�9h)%fhCK�9h)%fhCK�9h)%fhCKy9h)%fhCKX9h)%fhCK79h)%fhCK9h)%fhP!9h)z&not enough arguments for format stringz	'%s' % ()z4not all arguments converted during string formattingz
'%s' % (x, y)rTr\zstray % at position 2z'%s%' % (x,)r{zstray % at position 4z'%s%%%' % (x,)z
'%s%z' % (x,)z#unsupported format %z at position 2z'%s%z' % (x, 5)z5format argument 1: %d requires a real number, not strz'%d' % (x,)rzz4format argument 1: %x requires an integer, not floatz'%x' % (x,)g
ףp=J�@z2format argument 1: %x requires an integer, not strz5format argument 1: %f requires a real number, not strz'%f' % (x,)z'%s, %s' % (x, *y))�assertRaisesRegex�	TypeErrorr��
ValueError�r2s&r�test_format_errors� TestTranforms.test_format_errors�s��
�
#�
#�I�<�>�>����>��
#�
#�I�J�L�L���3��3��"2�3�L��
#�
#�J�0G�
H�
H���#�t��-�I�
�
#�
#�J�0G�
H�
H��!�C��;�/�I�
�
#�
#�I�<�>�>���3��+�.�>��
#�
#�J�9�;�;��"�S�$�K�0�;��
#�
#�I�G�I�I����f�
�.�I��
#�
#�I�F�H�H����g��/�H��
#�
#�I�D�F�F����f�
�.�F��
#�
#�I�G�I�I����f�
�.�I��
#�
#�I�<�>�>��%��Q��R�'8�9�>��
#�
#�I�J�L�L��%��Q��a��V�'<�=�L�L�?>�>�>��L�L�L��I�
H�
H��
H�
H�
H��>�>�>��;�;�;��I�I�I��H�H�H��F�F�F��I�I�I��>�>�>��L�L�L�s��J�J�	J-�>K�3K�(K)�K=�L�L%�<L9�1M
�(M!�J	�J	�J*	�"J*	�-J>	�6J>	�K	�
K	�K&	�K&	�)K:	�2K:	�=L	�L	�L"	�L"	�%L6	�.L6	�9M
	�M
	�
M	�M	�!M2	�*M2	c�2�QoUOUQ2P!)c��XqXqP!ror;rDs&&rr�5TestTranforms.test_static_swaps_unpack_two.<locals>.fs���q��qrr��r[rs& r�test_static_swaps_unpack_two�*TestTranforms.test_static_swaps_unpack_two�s��	�	
� � ��F�+rc�2�QoUOUQ2P!)c�8�XSq!oXSqoXSq oXSqoXSqoXSqoP!ror;r�s&&&rr�7TestTranforms.test_static_swaps_unpack_three.<locals>.fs:���A�!�A��A�!�A��A�!�A��A�!�A��A�!�A��A�!�A�!rr�r�rs& r�test_static_swaps_unpack_three�,TestTranforms.test_static_swaps_unpack_threes��	�	
� � ��F�+rc	��[QQQ2FDQvqoQUQUQUQ0oUOU29^tt^2[U2oUOUQ2PPP2JS	P!)%fhJh9h)�_a�_b�_cz{'a': z, 'b': z, 'c': �}r�)rrgrr[)r2r�r�rr
r3s&     r�test_static_swaps_match_mapping�-TestTranforms.test_static_swaps_match_mappingsn���t�T�4�0�G�A�!���s�'�!��G�A�3�b�9�G����g�&�&�7��@���(�(��v�6�'�&�1�&�&�&�s�A'	�'A8
�0A8
c��,QNo[QQQ2FDavq#oSFDToUOV#U2oUOU29^tt^2[U2oUO	UQ2PPP2JV	Jc	P!)%fhJo9h)�
C({}, {}, {})r�r�r�r�)r�zC({}, {}, c={})zC({}, b={}, c={})zC(a={}, b={}, c={}))rr3rgrr[)r2�formsr�r�r�formr
r3s&       r�test_static_swaps_match_class�+TestTranforms.test_static_swaps_match_classsy��
���t�T�4�0�G�A�!����+�+�a�A�.���\�\�'�*�*�;�G�D�D��,�,�T�6�:�+�*��1�+�*�*�s�A;
�;B�Bc�X�.Qlo,QNo[QQQ2FDzvq4oSFDmoUOV4U2oUOU29^tt^2[U2oVq7cUO	UQ2LUOUQ2PPP2Jo	J|	P!)%fhJ�9h)�*_, b, cr�r�r�r�>r��a, *_, c�a, b, *_)z
{}, {}, {}z{}, {}, *{}z{}, *{}, {}z*{}, {}, {})rr3rgrr\r[)	r2�swapsr�r�r�rr�r
r3s	&        r� test_static_swaps_match_sequence�.TestTranforms.test_static_swaps_match_sequence$s���4��K���t�T�4�0�G�A�!����+�+�a�A�.���\�\�'�*�*�;�G�D�D��'��-�-�d�F�;��0�0��v�>�+�*��1�+�*�*�s�B
�!%B
�B)�!B)r;),�__name__�
__module__�__qualname__�__firstlineno__r7rNr]rkr}r�r�r�r�r�r�r�r�r�rrrrrr%r-r9r@rGrLrQrVrmr�requires_resourcer�r�r�r�r�r�r�r��__static_attributes__�__classdictcell__��
__classdict__s@rr(r(5s�����D�"	9� �
(��6
�(�'"�R(��< (�D+#�Zo �dK2�Z���	�L�B#��$�'�#���
�J�
���u�%�B�&�B�.M�*">�H,�,�7�;�
?�
?rr(c�:`�\sQsQsnQsQsQsQsQsUs	P!)�TestBuglets�4c��QoUO[29^tt^2U2PPP2P!)%fhP!9h)c��]].vqV1!r�r;r[s  rr�%TestBuglets.test_bug_11510.<locals>.f:s���q�6�D�A��4�Kr)�assertRaisesr�rs& r�test_bug_11510�TestBuglets.test_bug_115106s.��	��
�
�z�
*�
*�
�C�+�
*�
*�
*�s�4�A	�A	c�x�[]
2FDo[g	P![9%f[cJ*h9h)�
)r��	Exception)r2r$s& r�test_bpo_42057�TestBuglets.test_bpo_42057@s6���r��A�
������)�)�	�
��
�s��
9�	9�9�9c�"�[QQQ2P!)zwhile True or spam: pass�<test>r�rhr�s&r�test_bpo_45773_pop_jump_if_true�+TestBuglets.test_bpo_45773_pop_jump_if_trueGs���*�H�f�=rc�"�[QQQ2P!)zwhile True or not spam: passr�rr�r�s&r� test_bpo_45773_pop_jump_if_false�,TestBuglets.test_bpo_45773_pop_jump_if_falseJs���.��&�Arr;)
r�r�r�r�r�r�r�r�r�r�r�s@rr�r�4s ������>�B�Brr�c�`�\sQsQsnQsQsQsQsQsQs	Qs
Q	sQ
sQs
QsQ
sQsQsQsQsQsQsUsP!)�TestMarkingVariablesAsUnKnown�Nc��UO[O[O22[OP2P!ro)�
addCleanup�sys�settrace�gettracer�s&r�setUp�#TestMarkingVariablesAsUnKnown.setUpPs&��������c�l�l�n�5����T�rc�2�QoUOUQ2P!)c��]oV*oP!r�r;r[s  rr�DTestMarkingVariablesAsUnKnown.test_load_fast_known_simple.<locals>.fUs���A���Ar�!LOAD_FAST_BORROW_LOAD_FAST_BORROW�r\rs& r�test_load_fast_known_simple�9TestMarkingVariablesAsUnKnown.test_load_fast_known_simpleTs��	�	
���a�!D�Erc�V�QoUOUQ2UOUQ2P!)c�B�[2%c]o[W2P!r���	conditionr#rSs rr�FTestMarkingVariablesAsUnKnown.test_load_fast_unknown_simple.<locals>.f[s���{�{����!�Hr�LOAD_FAST_CHECK�	LOAD_FAST�r\r[rs& r�test_load_fast_unknown_simple�;TestMarkingVariablesAsUnKnown.test_load_fast_unknown_simpleZ�*��	�	
���a�!2�3�� � ��K�0rc�V�QoUOUQ2UOUQ2P!)c�$�]o=[W2P!r��r#rSs rr�KTestMarkingVariablesAsUnKnown.test_load_fast_unknown_because_del.<locals>.fcs���A���!�Hrr�r�r�rs& r�"test_load_fast_unknown_because_del�@TestMarkingVariablesAsUnKnown.test_load_fast_unknown_because_delbr�rc��QoUOUQ2UOUQ2QoUOUQ2UOUQ2QoUOUQ2UOUQ2QoUOUQ2UOUQ2QQkoUOUQ2UOUQ2P!)c��[U2P!rorrSs&r�f1�PTestMarkingVariablesAsUnKnown.test_load_fast_known_because_parameter.<locals>.f1k�	���!�Hr�LOAD_FAST_BORROWr�c��[U2P!rorrSs$r�f2�PTestMarkingVariablesAsUnKnown.test_load_fast_known_because_parameter.<locals>.f2prrc��[U2P!ror)r�s*r�f3�PTestMarkingVariablesAsUnKnown.test_load_fast_known_because_parameter.<locals>.f3us	���$�Krc��[U2P!ror)�kwargss,r�f4�PTestMarkingVariablesAsUnKnown.test_load_fast_known_because_parameter.<locals>.f4zs	���&�Mrc��[U2P!rorrSs&r�f5�PTestMarkingVariablesAsUnKnown.test_load_fast_known_because_parameter.<locals>.f5rrrr�)r2rrrrrs&     r�&test_load_fast_known_because_parameter�DTestMarkingVariablesAsUnKnown.test_load_fast_known_because_parameterjs���	����b�"4�5�� � ��%6�7�	����b�"4�5�� � ��%6�7�	����b�"4�5�� � ��%6�7�	����b�"4�5�� � ��%6�7�	����b�"4�5�� � ��%6�7rc�V�QoUOUQ2UOUQ2P!)c�X�[2%c]o[W2[U2P!r�r�rSs rr�TTestMarkingVariablesAsUnKnown.test_load_fast_known_because_already_loaded.<locals>.f�s���{�{����!�H��!�Hrr�r	r�rs& r�+test_load_fast_known_because_already_loaded�ITestMarkingVariablesAsUnKnown.test_load_fast_known_because_already_loaded�s+��	�
	
���a�!2�3����a�!3�4rc�V�QoUOUQ2UOUQ2P!)c�H�[2%c]oL]o[U2P!r�r�rSs rr�OTestMarkingVariablesAsUnKnown.test_load_fast_known_multiple_branches.<locals>.f�s���{�{������!�Hrr	r�r�rs& r�&test_load_fast_known_multiple_branches�DTestMarkingVariablesAsUnKnown.test_load_fast_known_multiple_branches�s+��	�	
���a�!3�4�� � ��$5�6rc�2�QoUOUQ2P!)c�@�]]*oU![cW!h9hr�)�ZeroDivisionError)�ress rr�KTestMarkingVariablesAsUnKnown.test_load_fast_unknown_after_error.<locals>.f�s0��
��!�e���J��%�
���J�
�s�	�	��r�r�rs& r�"test_load_fast_unknown_after_error�@TestMarkingVariablesAsUnKnown.test_load_fast_unknown_after_error�s��	�	
���a�!2�3rc�V�QoUOUQ2UOUQ2P!)c
�z�]]*]9o9o9o9o9o9qVP![c[WWWWWWW2K-h9hr�)r%r#)r�r�rr�errss       rr�MTestMarkingVariablesAsUnKnown.test_load_fast_unknown_after_error_2.<locals>.f�sX��
+��A��)*�)�A�)��)�A�)��)�A�)��A��%�
+��a��A�q�!�Q��*�
+�s�	�	:�:�:r�r�r�rs& r�$test_load_fast_unknown_after_error_2�BTestMarkingVariablesAsUnKnown.test_load_fast_unknown_after_error_2�s*��	*�	
���a�!2�3�� � ��K�0rc	�h�QoUOUQQ2UOUQQ2UOUQQ2QFD1oUOUQQUQ
02UOUQQUQ
02J3	Q
FD1oUOUQQUQ
02UOUQQUQ
02J3	QFD1oUOUQQUQ
02UOUQQUQ
02J3	UOUQQ	2UOUQQ	2UOUQQ
2UOUQQ
2P!)c��]9o9o9o9o9o9o9o9o9q�]9o
9o9o9o
9o9o9o9o9oo]9o9o9o9o9o9o9o9o9oo]9o9o9o 9o!9o"9o#9o$9o%9o&o']9o(9o)9o*9o+9o,9o-9o.9o/9o0o1]9o29o39o49o59o69o79o89o99o:o;]9o<9o=9o>9o?9o@9oA9oB9oC9oDoE]9oF9oG9oH9oI9oJ9oK9oL9oM9oNoO=H=I[WI2[UFUGWHUI2[VU>U?2[W@WAWNWO2Jr�r)P�a00�a01�a02�a03�a04�a05�a06�a07�a08�a09�a10�a11�a12�a13�a14�a15�a16�a17�a18�a19�a20�a21�a22�a23�a24�a25�a26�a27�a28�a29�a30�a31�a32�a33�a34�a35�a36�a37�a38�a39�a40�a41�a42�a43�a44�a45�a46�a47�a48�a49�a50�a51�a52�a53�a54�a55�a56�a57�a58�a59�a60�a61�a62�a63�a64�a65�a66�a67�a68�a69�a70�a71�a72�a73�a74�a75�a76�a77�a78�a79sP                                                                                rr�GTestMarkingVariablesAsUnKnown.test_load_fast_too_many_locals.<locals>.f�s���HI�I�C�I�#�I��I�c�I�C�I�#�I��I�c�I�C�HI�I�C�I�#�I��I�c�I�C�I�#�I��I�c�I�C�#�HI�I�C�I�#�I��I�c�I�C�I�#�I��I�c�I�C�#�HI�I�C�I�#�I��I�c�I�C�I�#�I��I�c�I�C�#�HI�I�C�I�#�I��I�c�I�C�I�#�I��I�c�I�C�#�HI�I�C�I�#�I��I�c�I�C�I�#�I��I�c�I�C�#�HI�I�C�I�#�I��I�c�I�C�I�#�I��I�c�I�C�#�HI�I�C�I�#�I��I�c�I�C�I�#�I��I�c�I�C�#��S��#�J��#�s�C��%���c��S�)��c�3��S�)rr�r2r3r�r	r��02r�rzr{)r2r3)�>�?)�@�A�N�O)�F�Gr�)r2rr$s&  r�test_load_fast_too_many_locals�<TestMarkingVariablesAsUnKnown.test_load_fast_too_many_locals�sR��	*� 	
���a�!D�n�U�� � ��$5�u�=�� � ��$5�u�=��A��!�!�!�%7�1�Q�r�F��D��$�$�Q�(9�Q�q��f�:�F�� �A��!�!�!�%6�!�A�b�6�
�C��$�$�Q��q��2��Z�@� ��A��!�!�!�%7�1�Q�r�F��D��$�$�Q�(9�Q�q��f�:�F��
	
���a�!2�E�:�� � ��K��7����a�!2�E�:����a�!3�U�;rc��`�[OQ2o-o[V2UQ*oUOUQ2UO	UQ2UO
OoU1Qkn[OR2U2oUOU2UOUQ2UO	UQ2UOUO
OU2P!)a            def f():
                x = y = 2
                if not x:
                    return 4
                for i in range(55):
                    x + 6
                L = 7
                L = 8
                L = 9
                L = 10
        rr	r�c�x:�UQ6Xc1UO]	6Xc ]Um[OP2P!R!ra��f_linenor�r���frame�eventr#�traces&&&�rr��MTestMarkingVariablesAsUnKnown.test_setting_lineno_no_undefined.<locals>.trace��0������5�>�>�Q�#6�!"������T�"���Lr)r	r
rr\r[rrr�r��assertIsNoner�)r2r3�nsrr�resultr�s&     @r� test_setting_lineno_no_undefined�>TestMarkingVariablesAsUnKnown.test_setting_lineno_no_undefined�s������� �
�����T���s�G�����a�!3�4�� � ��$5�6��*�*�$�$��	�	���U��������&�!����a�!3�4�� � ��$5�6�������+�+�W�5rc�L`�[OQ2o-o[V2UQ*oUOUQ2UO	UQ2UO
OoU1QknQoUO[U29^tt^2[OR2U2oPPP2UOW]2UOUQ2UO	UQ2UOUO
OU2P!)%fhKn9h)a            def f():
                x = y = 2
                if not x:
                    return 4
                for i in range(55):
                    x + 6
                del x
                L = 8
                L = 9
                L = 10
        rr	r�c�x:�UQ6Xc1UO]	6Xc ]Um[OP2P!R!rar�r�s&&&�rr��NTestMarkingVariablesAsUnKnown.test_setting_lineno_one_undefined.<locals>.trace	r�rz!assigning None to 1 unbound local�r	r
rr\r[rr�assertWarnsRegex�RuntimeWarningr�r�r��r2r3r�rrr,r�r�s&      @r�!test_setting_lineno_one_undefined�?TestMarkingVariablesAsUnKnown.test_setting_lineno_one_undefined�s������� �
�����T���s�G�����a�!3�4�� � ��$5�6��*�*�$�$��	�
1��
�
"�
"�>�1�
5�
5��L�L����S�F�6�	
�����#����a�!3�4�� � ��$5�6�������+�+�W�5�
6�
5���D�D#	�D#	c�L`�[OQ2o-o[V2UQ*oUOUQ2UO	UQ2UO
OoU1QknQoUO[U29^tt^2[OR2U2oPPP2UOW]2UOUQ2UO	UQ2UOUO
OU2P!)%fhKn9h)a            def f():
                x = y = 2
                if not x:
                    return 4
                for i in range(55):
                    x + 6
                del x, y
                L = 8
                L = 9
                L = 10
        rr	r�c�x:�UQ6Xc1UO]	6Xc ]Um[OP2P!R!rar�r�s&&&�rr��NTestMarkingVariablesAsUnKnown.test_setting_lineno_two_undefined.<locals>.trace+r�rz"assigning None to 2 unbound localsr�r�s&      @r�!test_setting_lineno_two_undefined�?TestMarkingVariablesAsUnKnown.test_setting_lineno_two_undefineds������� �
�����T���s�G�����a�!3�4�� � ��$5�6��*�*�$�$��	�
2��
�
"�
"�>�1�
5�
5��L�L����S�F�6�	
�����#����a�!3�4�� � ��$5�6�������+�+�W�5�
6�
5�r�c��[OQ2o-o[V2UQ*oUOUQ2UO	UQ2U!)z�            def f():
                x = 2
                L = 3
                L = 4
                L = 5
                if not L:
                    x + 7
                    y = 2
        rr	r�)r	r
rr\r[)r2r3r�rs&   r�make_function_with_no_checks�:TestMarkingVariablesAsUnKnown.make_function_with_no_checks:sS�����	 �	
�����T���s�G�����a�!3�4�� � ��$5�6��rc�`�UO2oU1Qkn[OR2U2UOUQ2UO	UQ2P!)c�:�UQ6Xc9UO]6Xc(]*UOQ$[OP2P!R!)rbrT�r��f_localsr�r�r�s&&&�rr��TTestMarkingVariablesAsUnKnown.test_modifying_local_does_not_add_check.<locals>.traceN�7������5�>�>�Q�#6�&(����s�#����T�"���Lrr	r��r�r�r�r\r[�r2rr�s& @r�'test_modifying_local_does_not_add_check�ETestMarkingVariablesAsUnKnown.test_modifying_local_does_not_add_checkL�K����-�-�/��	�	���U��	�����a�!3�4�� � ��$5�6rc�`�UO2oU1Qkn[OR2U2UOUQ2UO	UQ2P!)c�:�UQ6Xc9UO]6Xc(]*UOQ$[OP2P!R!)rbr\r�r�s&&&�rr��WTestMarkingVariablesAsUnKnown.test_initializing_local_does_not_add_check.<locals>.trace[r�rr	r�r�r�s& @r�*test_initializing_local_does_not_add_check�HTestMarkingVariablesAsUnKnown.test_initializing_local_does_not_add_checkYr�rc�4�QoUOUQQ2P!)c�\�[%cUO]QHGo[U2P!)r)�	ExecError)rT�shutilr�r#)r2r�s& rr�YTestMarkingVariablesAsUnKnown.test_import_from_doesnt_clobber_load_fast_borrow.<locals>.fgs���q�$��F�F�(��)�rr	r2r�rs& r�0test_import_from_doesnt_clobber_load_fast_borrow�NTestMarkingVariablesAsUnKnown.test_import_from_doesnt_clobber_load_fast_borrowfs��	�
	
���a�!3�V�<rr;)r�r�r�r�r�r�r�rrrr!r(r.r�r�r�r�r�r�r�r�r�r�r�s@rr�r�Nsd�����F�1�1�8�45�7�	4�1�(<�T6�@ 6�D 6�D�$7�7�=�=rr�c��`�\sQsQsnQsQsQsQsQ"QksQs	Qs
Q	sQ
sQs
QsQ
sQsQsQsQsQsQsQsQsQsQsQsQsQsQsQsQsQs Qs!Q s"Q!s#Us$P!)#�DirectCfgOptimizerTestsinc���QQ,oUOU2oUO[Q29^tt^2[OU]],]2PPP2P!)%fhP!9h)r��out of range)r�rRr�r+Nr)�seq_from_instsr�r��_testinternalcapi�optimize_cfg�r2�insts�seqs&  r�*test_optimize_cfg_const_index_out_of_range�BDirectCfgOptimizerTests.test_optimize_cfg_const_index_out_of_rangepsZ�� �%�
���!�!�%�(��
�
#�
#�J��
?�
?��*�*�3��A���:�@�
?�
?�
?�s�A�A+	�#A+	c���QQ,oUOU2oUO[Q29^tt^2[OUQ]2PPP2P!)%fhP!9h)r�zconsts must be a list�r�rrr�r)r�r�r�r�r�r�s&  r�%test_optimize_cfg_consts_must_be_list�=DirectCfgOptimizerTests.test_optimize_cfg_consts_must_be_listysW�� �%�
���!�!�%�(��
�
#�
#�I�/F�
G�
G��*�*�3��a�8�H�
G�
G�
G�s�A�A)	�!A)	c���[OQQ]Q5o[OUQ]2vq#UQ*oUO	U[
2[OV$]2P!)z
x = (1, 2)r��mode�optimize�<s>�consts)�ast�parser��compiler_codegen�assertIsInstancer.r�)r2�treer��metar�s&    r�=test_compiler_codegen_metadata_consts_roundtrips_optimize_cfg�UDirectCfgOptimizerTests.test_compiler_codegen_metadata_consts_roundtrips_optimize_cfg�sS���y�y��F�Q�?��'�8�8��u�a�H����h������f�d�+��&�&�u�a�8rc�T�[OQQ]Q5o[OUQ]2vq#UQ*oUO	UP,2[
OQ*oSO	UO2Tt,tFDpf]*U6XfJU]*MJ	to],2UO[Q29^tt^2[OU,]2PPP2[OU[U2]2P!ttoh)%fhK89h)�passrr�r�r�r�r�)r�r�r�r�r�r!�opmaprr�r�r�r.)r2r�r�r�r��
load_constr>s&      r�Ftest_compiler_codegen_consts_include_none_required_for_implicit_return�^DirectCfgOptimizerTests.test_compiler_codegen_consts_include_none_required_for_implicit_return�s���
�y�y��f�q�9��'�8�8��u�a�H����h�������$��(��\�\�,�/�
���� �1�1�3�J�3�a��t�z�7I�T�Q�q�T�T�3�J�
�C�	
��
#�
#�J��
?�
?��*�*�5�"�a�8�@�	�&�&�u�d�6�l�A�>��
K�
@�
?�s�D�
D�D�D'	� D'	c�$�UOU2UOU2UeSoUOU2oUOVcU2vqxUOU2O2oUO	Vr2UOV�2P!ro)�check_instructionsr��
get_optimizedr�assertInstructionsMatchr�)	r2r��expected_instsr��expected_consts�nlocalsr��	opt_insts�
opt_constss	&&&&&&   r�cfg_optimization_test�-DirectCfgOptimizerTests.cfg_optimization_test�s���	
����&�����/��"�$�O��!�!�%�(�� $� 2� 2�3�� H��	��,�,�^�<�M�M�O���$�$�Y�?�����5rc��QQUO29o]1QQUQQ,oQQUO29o]1QQUQ	Q,oUOUU,Q
N],Q5P!)r�rY�r�r��r�re��r�rR�
�r+Nr��r�r���r+Nr�)r�rRr��r�r�r��rrerRr�r���Labelr��r2�lblr�r�s&   r�1test_conditional_jump_forward_non_const_condition�IDirectCfgOptimizerTests.test_conditional_jump_forward_non_const_condition�s��� �
��
�
��!4��b�9�!�&��!�&�
��
!�
��
�
��!4��b�9�%�&��%�&�
��	
�"�"�5�#1�*9�45�3�	#�	8rc�`�QoUOU2[[](222P!)c��,]M]M]M]M]M]M]M]M]M]	M]
M]M]M]
M]M]M]M]M]M]M]M]M]M]M]M]M]M]M]M]M]M]M] M]!M]"M]#M]$M]%M]&M]'M!rr;r;rrr�JDirectCfgOptimizerTests.test_list_exceeding_stack_use_guideline.<locals>.f����	��	��	��	��	��	��	��	��	��	��	��	��	��	��	�!#�	��		��		��		��		�!#�		�
�	�
�	�
�	�
�	�
!#�	��
	��
	��
	��
	�!#�
	��	��	��	��	�!#�	��	��	��	��	�!#�	�	
r)r�r.r�rs& r�'test_list_exceeding_stack_use_guideline�?DirectCfgOptimizerTests.test_list_exceeding_stack_use_guideline�s#��
	�	
�����d�5��9�o�.rc�`�QoUOU2[[](222P!)c��.]j]j]j]j]j]j]j]j]j]	j]
j]j]j]
j]j]j]j]j]j]j]j]j]j]j]j]j]j]j]j]j]j]j] j]!j]"j]#j]$j]%j]&j]'j!rr;r;rrr�IDirectCfgOptimizerTests.test_set_exceeding_stack_use_guideline.<locals>.f�rr)r�r�r�rs& r�&test_set_exceeding_stack_use_guideline�>DirectCfgOptimizerTests.test_set_exceeding_stack_use_guideline�s$��
	�	
�����i��b�	�2�3rc�l�]o,Q	MQ
MQMQMQ
MQMQ
MQ
MQMQU]1MQ
MQU]1MQ[Q21MQMQ
MQ[Q21MQ
MQMQ[Q21MQ
MQMQ
MQ[Q21MQ
MQ
MQMQ[Q2]1MQ
MQMQ
MQMQ
MQMQ
MQMQ
MQMQ
MQMQ
MQMQ
MQMoQQ,oUOV#,QQ,Q5P!)r�r�r�r�r�r�r�r�r��r�rer�r�Nr�r�rRr�r�Nr)r�rer�r�rr�r�r�r�r�Nr�rWNr)r�r�rr��r�rerr�)rerRr�T�r&r�)r2r��before�afters&   r�test_nested_const_foldings�2DirectCfgOptimizerTests.test_nested_const_foldings�sH����,
�$�,
��,
�
%�,
�
(�	,
�

�,
�
(�
,
�
�,
�
�,
�
%�,
� �!3�Q�7�,
�
�,
� �!3�Q�7�,
��*�=�9�:�,
�
%�,
�
�,
� �*�+<�=�>�!,
�"
�#,
�$
%�%,
�&�*�8�4�5�',
�(
�),
�*
%�+,
�,
�-,
�.�*�=�9�:�/,
�0
�1,
�2
"�3,
�4
%�5,
�6�*�;�7��;�7,
�8
�9,
�:
%�;,
�<
�=,
�>
&�?,
�@
�A,
�B
&�C,
�D
�E,
�F
%�G,
�H
�I,
�J
#�K,
�L
�M,
�N
#�O,
�P
�Q,
�R
"�S,
�T
�U,
�V
&�W,
��\
!�%�
��	
�"�"�6��b�Ra�Mb�"�crc�B�QQ,oQQ,oUOV,Q,Q5P!)r�r�)r�rrr�r�r;�r��r2rrs&  r�test_build_empty_tuple�.DirectCfgOptimizerTests.test_build_empty_tuples7��!�%�
��

!�%�
��	
�"�"�6��b�T�"�Rrc�p�,QNoQQ,oUOV,Q,Q5,QNoUOV3,Q5P!)r�r��r�r�)
rrrrrrrr�r�r�rr�r�r�)r�r�rrrr)r�r#�r2rr�sames&   r�test_fold_tuple_of_constants�4DirectCfgOptimizerTests.test_fold_tuple_of_constants#sM��
��
!�%�
��	
�"�"�6��i�[�"�Y�
��	
�"�"�4�b�"�9rc��]oQoQ,Q	Q
,U**QU]1Q,*oQQ,o[Q,U*2oUOV4Q,QU,Q5QQU]1Q,oQ	Q,oUOV4,Q
,Q5QQQ
QQ
QQ
QQ
QU]1Q,oUOVf,Q5QQQ
QQQ[Q2]1Q
QQ
QU]1Q,oQ	Q,oUOV4,Q,Q5QQQQQQ
QQQQQ
QQQQ
QQU]1Q,oQ	Q,oUOV4,Q,Q5P!)r�r�r��testr�r(r�r��r�rrr�)�LIST_APPENDrerr�rr;rrrr�r)r�r�r&)r2�INTRINSIC_LIST_TO_TUPLEr�rr�result_constr,s&      r�*test_fold_constant_intrinsic_list_to_tuple�BDirectCfgOptimizerTests.test_fold_constant_intrinsic_list_to_tuple@s���"#����
!�"�
!�#8�9�F�B�
C� �"9�1�
=�?X�Y�
Z�	�
!�%�
���f�X��.�/���"�"�6�&��TZ�\h�Si�"�j�
!�
�!8�!�<�%�
��
!�%�
��	
�"�"�6��b�T�"�R�
!� �!�$�!� �!�$�!�
�!8�!�<�%�
��	
�"�"�4�b�"�9�
!�$�!�$�$�
�*�8�4�a�8�!�$�!�
�!8�!�<�%�
��
!�%�
��	
�"�"�6��i�[�"�Y�
!��$���!��$���!��$��!��
�!8�!�<�%�%
��*
!�%�
��	
�"�"�6��i�[�"�Yrc��,QNo,QNoUOV,Q,Q5,QNoUOV3,Q5,QNoUOV3,Q5P!)r�r�r()
rrrrrrrr�r�r�rr�)r1r�)�LIST_EXTENDrerr�r�)rr�r�rRrr�)rr*rr8r�r#r+s&   r�test_optimize_if_const_list�3DirectCfgOptimizerTests.test_optimize_if_const_list�sa��
��
��	
�"�"�6��i�[�"�Y�
��	
�"�"�4�b�"�9�
��	
�"�"�4�b�"�9rc	��,QNo,QNoUOV,[.Ql2,Q5,QNoUOV3,Q5,QNoUOV3,Q5P!)r�r�r()
rrrrrrrr�r�r�rr�))r�rrr�)�
SET_UPDATErerr�r�)rr�r�rRrr�)rr*rr>r��r�r�r+s&   r�test_optimize_if_const_set�2DirectCfgOptimizerTests.test_optimize_if_const_set�sh��
��
��	
�"�"�6��i�Xa�Nb�Mc�"�d�
��	
�"�"�4�b�"�9�
��	
�"�"�4�b�"�9rc
��QQQQUO29oQUO29o]1QQU]1UQ	Q
QQ,
oQ
QUO29oQUO29o]1QQU]1UQ	Q
QQ,oUOV4P,PQ,Q5QQQQUO29oQUO29o]1QQU]1UQ	Q
QQ,
oQQQQUO29oQUO29o]1QQU]1UQ	Q
QQ,
oUOV4P,P,Q5P!)r�ra�JUMPr�rrr:��GET_ITERrr��
STORE_FASTrr��END_FORNr��POP_ITERNrr�r�r�rz�rr�r*�r�rRrr)r2�start�endrrs&    r�#test_optimize_literal_list_for_iter�;DirectCfgOptimizerTests.test_optimize_literal_list_for_iter�s���
%�$� ���Z�Z�\�!�E�
��
�
��,��a�0� �
�U�A��� �!� �%�
�� 
!���Z�Z�\�!�E�
��
�
��,��a�0� �
�U�A��� �!�*�%�
��	
�"�"�6�$��RV�X^�Q_�"�`�
%�� ���Z�Z�\�!�E�
��
�
��,��a�0� �
�U�A��� �!� �%�
�� 
%��!���Z�Z�\�!�E�
��
�
��,��a�0� �
�U�A��� �!�*�%�
��	
�"�"�6�$��RV�QW�"�Xrc
��QQQQUO29oQUO29o]1QQU]1UQ	Q
QQ,
oQ
QUO29oQUO29o]1QQU]1UQ	Q
QQ,oUOV4P,P[]].2,Q5QQQQUO29oQUO29o]1QQU]1UQ	Q
QQ,
oQQQQUO29oQUO29o]1QQU]1UQ	Q
QQ,
oUOVVP,P,Q5P!)r�rarEr�rrr@rFrHrJrLr�r�rrNr*)rr�r�)r2rQrRrrr,�expecteds&      r�"test_optimize_literal_set_for_iter�:DirectCfgOptimizerTests.test_optimize_literal_set_for_iter-s���
%�$����Z�Z�\�!�E�
��
�
��,��a�0� �
�U�A��� �!� �%�
�� 
!���Z�Z�\�!�E�
��
�
��,��a�0� �
�U�A��� �!�*�%�
��	
�"�"�6�$��RV�Xa�cd�fg�bh�Xi�Qj�"�k�

%�����Z�Z�\�!�E�
��
�
��,��a�0� �
�U�A��� �!� �%�
�� 
%�����Z�Z�\�!�E�
��
�
��,��a�0� �
�U�A��� �!�*�%�
��	
�"�"�4�4�&�SW�RX�"�Yrc��,QNo,QNoUOVP,PQ,Q5,QNo,QNoUOVP,P,Q5P!)r�r�)r*rrr:�rfrr��POP_TOPNrr�r��r*rrZr[rNr�r�)r*r�r�rerr:rZr[r�r�)r*rr^rPrZr[rNr�r#r$s&  r�#test_optimize_literal_list_contains�;DirectCfgOptimizerTests.test_optimize_literal_list_containsos[��	
��
��	
�"�"�6�$��RV�X^�Q_�"�`�	
��	
��	
�"�"�6�$��RV�QW�"�Xrc
��,QNo,QNoUOVP,P[]].2,Q5,QNo,QNoUOV4P,P,Q5P!)r�r�)r*rrr@rZr[r�r�r])r*rr^r@rZr[r�r�)r*rr^r@rZr[rNr�rA)r2rrr,rVs&    r�"test_optimize_literal_set_contains�:DirectCfgOptimizerTests.test_optimize_literal_set_contains�sg��	
��
��	
�"�"�6�$��RV�Xa�cd�fg�bh�Xi�Qj�"�k�	
��	
��	
�"�"�4�4�&�SW�RX�"�Yrc	��,QNoQQ,oUOV,P	,Q5,Q
No,QNoUOV,,Q5,QNo,Q
NoUOV,,Q5,QNoQQ,oUOV,P	,Q5,QNoQQ,oUOV,P	,Q5,QNo,QNoUOV,,Q5]9q4]9qVQ	QQU]1QQ,oQ	QQU]1Q,oUOV,,Q5Q	QQU]1QQQ,oQ	QQU]1Q,oUOV,,Q5Q	QQU]1QQQQQ,oQ	QQU]1Q,oUOV,,Q5Q	QQU]1QQQQQQ,	oQ	QQU]1Q,oUOV,,Q5Q	QQU]1QQ,oQ	QQU]1Q,oUOV,,Q5Q	QQU]1QQQ,oQ	QQU]1Q,oUOV,,Q5Q	QQU]1QQQQQ,oQ	QQU]1Q,oUOV,,Q5Q	QQU]1QQQQ,oQ	QQU]1Q,oUOV,,Q5P!)r�r�rdrf��TO_BOOLNrrr�)rrerr�)rzr�rr*)r*rerrrrr�)r*rer�)r*rerrererer�)r*rerr�)rrerrrrr�)rz�	r)rrerrererer�)r*rerrrrrer�)r*rerer�r^r#)r2rr�is_�in_�isnot�notins&      r�test_optimize_unary_not�/DirectCfgOptimizerTests.test_optimize_unary_not�s���
��
,�%�
��	
�"�"�6��d�V�"�T�
��
��
	
�"�"�6��R�"�P�
��
��	
�"�"�6��R�"�P�
��
+�%�
��	
�"�"�6��d�V�"�T�
��
,�%�
��	
�"�"�6��d�V�"�T�	
��
��	
�"�"�6��R�"�P��
�����
 ��
�c�1��"�%�
��
 ��
�e�Q��%�	
��	
�"�"�6��R�"�P�
 ��
�c�1��"�"�%�

��
 ��
�c�1��%�	
��	
�"�"�6��R�"�P�
 ��
�c�1��"� � � �%�	
��
 ��
�e�Q��%�	
��	
�"�"�6��R�"�P�
 ��
�c�1��"�"� � � �%�

��
 ��
�c�1��%�	
��	
�"�"�6��R�"�P�
 ��
�C��#�"�%�
��
 ��
�E�1�%�%�	
��	
�"�"�6��R�"�P�
 ��
�C��#�"�"�%�

��
 ��
�C��#�%�	
��	
�"�"�6��R�"�P�
 ��
�C��#�"� � � �%�	
��
 ��
�E�1�%�%�	
��	
�"�"�6��R�"�P�
 ��
�C��#�"�"� �%�
��
 ��
�C��#�%�	
��	
�"�"�6��R�"�Prc��,QNoQQ,oUOV,Q,Q5,QNoQQ,oUOV,Q,Q5,QNoQQ,oUOV,,Q5P!)	r�r�rr�)rrrr�r�)rrrr����)r�r�r�rrpr�r#r$s&  r�test_optimize_if_const_unaryop�6DirectCfgOptimizerTests.test_optimize_if_const_unaryop�s���
��
%�%�
��	
�"�"�6��b�T�"�R�
��
%�%�
��	
�"�"�6��b�T�"�R�
��
%�%�
��	
�"�"�6��R�"�Prc��[Q2o[Q2o[Q2o[Q2o[Q2o[Q2o[Q2o[Q2o[Q2o	[Q	2o
[Q
2o[Q2o[Q2o
QQQ
U]1QQ
U]1Q,oQQ,oUOV�,,Q5QQQ
U]1QQ
U]1Q,oQQ,oUOV�,Q,Q5QQQ
U]1QQ
U]1Q,oQQ,oUOV�,,Q5QQQ
U]1QQ
U]1Q,oQQ,oUOV�,QQ,Q5QQQ
U]1QQ
U]1Q,oQQ,oUOV�,,Q5QQQ
U]1QQ
U]1Q,oQQ,oUOV�,,Q5QQQ
U]1QQ
U]1Q,oQQ,oUOV�,,Q5QQQ
U]1QQ
U]1Q,oQQ,oUOV�,,Q5QQQ
U	]1QQ
U	]1Q,oQQ,oUOV�,,Q5QQQ
U
]1QQ
U
]1Q,oQQ,oUOV�,,Q5QQQ
U]1QQ
U]1Q,oQQ,oUOV�,,Q5QQQ
U]1QQ
U]1Q,oQQ,oUOV�,,Q5QQQ
U
]1QQ
U
]1Q,oQQ,oUOV�Q,Q,Q5P!)r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�)r�r�rr�r�)r�r�rrr)r�r�rr)r�r�r)r�rOrr)rer�r)r2�add�sub�mul�div�floor�rem�pow�lshift�rshift�or_�and_�xor�subscrrrs&               r�test_optimize_if_const_binop�4DirectCfgOptimizerTests.test_optimize_if_const_binop�s����x�(���}�-���}�-���/�0�� �!2�3���~�.���z�*��!�+�.��!�+�.���w�'����)���x�(��!�+�.��
%�$�
�#�q�!�$�
�#�q�!�%�

��
%�%�
��	
�"�"�6��R�"�P�
%�$�
�#�q�!�$�
�#�q�!�%�

��
!�%�
��	
�"�"�6��b�T�"�R�
%�$�
�#�q�!�$�
�#�q�!�%�

��
%�%�
��	
�"�"�6��R�"�P�
%�$�
�#�q�!�$�
�#�q�!�%�

��
!�%�
��	
�"�"�6��c�SV�Z�"�X�
%�$�
�%��#�$�
�%��#�%�

��
%�%�
��	
�"�"�6��R�"�P�
%�$�
�#�q�!�$�
�#�q�!�%�

��
%�%�
��	
�"�"�6��R�"�P�
%�$�
�#�q�!�$�
�#�q�!�%�

��
&�%�
��	
�"�"�6��R�"�P�
%�$�
�&�!�$�$�
�&�!�$�%�

��
%�%�
��	
�"�"�6��R�"�P�
%�$�
�&�!�$�$�
�&�!�$�%�

��
%�%�
��	
�"�"�6��R�"�P�
%�$�
�#�q�!�$�
�#�q�!�%�

��
%�%�
��	
�"�"�6��R�"�P�
%�$�
�$��"�$�
�$��"�%�

��
%�%�
��	
�"�"�6��R�"�P�
%�$�
�#�q�!�$�
�#�q�!�%�

��
%�%�
��	
�"�"�6��R�"�P�
!�$�
�&�!�$�$�
�&�!�$�%�

��
%�%�
��	
�"�"�6�.�9I�\j�[k�"�lrc�v�QQUO29o]1QUQQ,o,QNoUOUU,QN],Q5P!)	r�rYr��r�r�r�r�r�r�)�r�Nr�)r�N�rr�rrrs&   r�-test_conditional_jump_forward_const_condition�EDirectCfgOptimizerTests.test_conditional_jump_forward_const_condition�sX��

"�
��
�
��!4��b�9�!��!�&�

��
��	
�"�"�5�#1�*9�45�3�	#�	8rc	��UO29oQQU]1QQ,oUO29oQQU]1QQ,oUOV$[[]22Q5P!)r�rYr(r�)r�rRr�r��rr�r.r�)r2�lbl1r�rrVs&    r�2test_conditional_jump_backward_non_const_condition�JDirectCfgOptimizerTests.test_conditional_jump_backward_non_const_condition�sq���J�J�L� �D� �
��r�*� �&�
���:�:�<��C� �
��b�)� �&�
��	
�"�"�5�4��a��>�"�Jrc	��UO29oQQU]1QQ,oUO29oQQU]1,oUOV$[[]22Q5P!)r�rYrEr(r�r�r�r�r�)r2r�r�rr�s&    r�.test_conditional_jump_backward_const_condition�FDirectCfgOptimizerTests.test_conditional_jump_backward_const_condition�sm���J�J�L� �D�!�
��r�*�!�&�
���:�:�<��C��
�S�"��
��
	
�"�"�5��e�A�h��"�Prc	��QUO29o]
1QQQUQQ,oQUO29o]
1QQUQQ,oUOV#[[]22Q5P!)	�
SETUP_FINALLYr()�	POP_BLOCKNr�)r�rer�)r+Nr�)r�rRr��r+Nr�)r�rer�)r�rRr�r�)r2�handlerr�r�s&   r�test_except_handler_label�1DirectCfgOptimizerTests.test_except_handler_label�sz��
�����5�g�r�:�#�!�&��!�&�
�������5�g�r�:�%�&��%�&�

��	
�"�"�5��e�A�h��"�Prc	�d�,QNo,QNoUOV[[]22]Q5P!)r��r�r�)	�r�rre�r�rerR�r�rRr�)r�r�r��rIrer�r��r\Nr��r�rr��r+Nr�)�r�rre�r�rerR�r�Nr�r�r��r�rr�r��r�r.r��r2r�r�s&  r�test_no_unsafe_static_swap�2DirectCfgOptimizerTests.test_no_unsafe_static_swap	s0��

��
��	
�"�"�5��e�A�h��YZ�"�[rc	�d�,QNo,QNoUOV[[]22]Q5P!)r�r�)r�r�r�r�r�r�r�r�)r�r�r�r�r�r�r�r�r�s&  r�*test_dead_store_elimination_in_same_lineno�BDirectCfgOptimizerTests.test_dead_store_elimination_in_same_lineno	s0��	
��
��	
�"�"�5��e�A�h��YZ�"�[rc	�d�,QNo,QNoUOV[[]22]Q5P!)r�r�)r�r�r�r��rIrer��rIrer�r�r�)r�r�)r�rRr�r�r�r�r�r�r�r�s&  r�2test_no_dead_store_elimination_in_different_lineno�JDirectCfgOptimizerTests.test_no_dead_store_elimination_in_different_lineno4	s0��	
��	
��	
�"�"�5��e�A�h��YZ�"�[rc�x`�U1QkoQFCDoQFD�o]]qTROVE1V#1Q59^tt^2UVEV#2oQV#17cQLQoQQQU]]1,oROVh[[]22Q5PPP2Q	FD�vqEROVE1V#1Q59^tt^2UVEV#2oUP6wcSLSo	U	P6Xc]
o	QV#17cQLQoQQU]U	1,oROVh[[]22Q5PPP2J�	J�	CJ	P!)%fhK�9h)%fhJ�9h)
c	�`:�RO29oQQURO29pP1QUV4U1,!)r��r�rr��r\Nr�)r�re�)r)�lno1�lno2�op1�op2�lbl2r�r2s&&&&  �r�	get_insts�LDirectCfgOptimizerTests.test_unconditional_jump_threading.<locals>.get_instsM	sB���#�z�z�|�+�t�+�,��T�Z�Z�\�1�T�8�+���4�(��
rrE�JUMP_NO_INTERRUPT)�lno�opsr()rEr�r�r�)r�Nr�))r�r�)r�r�)r�r�)rOrO)rgr�r.r�)
r2r�r�r�r�r�r��opr�r�s
f         r�!test_unconditional_jump_threading�9DirectCfgOptimizerTests.test_unconditional_jump_threadingK	sM���		�1�C�4����d��\�\���S�J�\�G�G�%�d�#�;�E�#)�c�Z�#7��=P�B�,�-�(��Q��
�	&�N��.�.�u�T�RW�XY�RZ�^�.�\�H�#G�J�D����T�L��
��K�K� )�$�c� ?��&*�b�j�d�d���"�9�"$�C�'-�#��';�V�AT��0�1���C�L�*��
�2�2�5�QU�V[�\]�V^�Q_�2�`�L�K�#G�5�1�H�G��L�K�K�s;�D
�2D
�'D(�8
D(�	D(�
1D(�D%�D%�(D9�1D9c��]oQQQQQ	QU]1Q
UO29oQUO29o]1QQU]
1UQQ
QQ,oQQQQQ	QQ
UO29oQUO29o]1QQU]
1UQQ
QQ,oUOVEP,Q5P!)r�r�rarEr()r�rre�r�rrR)r9rer�)r�rer�)r9rer�)rGrrO)rIrRrg)rKNr�)r\Nr�)r�rr�r��r	rrR)r	rer�)r�Nr�)rzrOr�r)r2r3�toprRr�r�s&     r�test_list_to_tuple_get_iter�3DirectCfgOptimizerTests.test_list_to_tuple_get_iterw	s���"#�� ��!��!�
�!8�!�<���:�:�<��C�
��
�
��,��a�0� �
�S�"���!�!�!�&�!
��&
!�&�!�&�!����:�:�<��C�
��
�
��,��a�0� �
�S�"���!�!�+�&�!
��$	
�"�"�5�$��"�Hrc��,,q!,,QN9oNFD3oUOU2UOUO22J5	UOU,QN2UOU,QN2UOU,2P!)r)rrerRr�)r�rRrer)�append�popr�)r2r�r��items�items&    r�#test_list_to_tuple_get_iter_is_safe�;DirectCfgOptimizerTests.test_list_to_tuple_get_iter_is_safe�	sl���2�1�/��,�u�/�D�
�H�H�T�N�
�H�H�U�Y�Y�[�!�0�	
����L�)�����L�)������#rr;)NNr)%r�r�r�r�r�r�r�r�r�rrrr r%r-r5r;rBrSrWr_rbrlrqr�r�r�r�r�r�r�r�r�r�r�r�r�r�s@rr�r�ns�����;�9�9�?�,
6�8�0/�4�4d�l	S�:�:ZZ�x&:�P&:�P?Y�B@Z�D+Y�Z,Z�\sQ�j&Q�PPm�f8�.K�"Q� Q�(\�0\�,\�.*a�X'I�R$�$rr�c�`�\sQsQsnQsQQksQsQsQsQs	Qs
Q	sQ
sQs
QsQ
sQsQsQsQsQsQsQsQsQsUsP!)�OptimizeLoadFastTestCasei�	c��UP*]*o]oSFDvqEoUQ6XfJ[V52oJ	[U]*2Tt,tFDoPMJ	ooUQ]U]*1QPU]*1,*U1!ttoh)rer�rzr+)rGr�)r2r��last_loc�maxconstr�r#�_r�s&&      r�make_bb� OptimizeLoadFastTestCase.make_bb�	s�����9�Q�<�����J�B�Q��\�!��x�-�� �!&�h��l� 3�4� 3�1�$� 3��4��
#�Q��1��5�
�T�8�a�<�0�
�
���	��5s�
A8c�z�UOU2vqEUOU2vqgUOVFVWQ5P!)r�)r�r�)r2r�r�r��insts_bb�insts_consts�expected_insts_bb�
exp_constss&&&&    r�check�OptimizeLoadFastTestCase.check�	s>��!%���e�!4���(,���^�(D�%���"�"�8�*6�	#�	Trc�l�,QNo,QNoUOV2,QNo,QNoUOV2P!)r�)�r�rre�r�rerR�r�rRr�)�r	rre�r	rerRr�)r�r��r�rRr�r�)r��rzrOrRr�r��r��r2r�rVs&  r�test_optimized�'OptimizeLoadFastTestCase.test_optimized�	s:��
��

��
	
�
�
�5�#�
��
��	
�
�
�5�#rc�l�,QNo,QNoUOV2,QNo,QNoUOV2P!)r�)r�r��r\Nr�)r�r�r�)r�)�COPYrerRr�)r�)r�NrRr�r�r�s&  r�test_unoptimized_if_unconsumed�7OptimizeLoadFastTestCase.test_unoptimized_if_unconsumed�	s:��
��

��
	
�
�
�5�#�
��

��
	
�
�
�5�#rc��,QNo,QNoUOV2,QNo,QNoUOV2,QNoUOV2P!)r�)r��r�rrR�rIrr�r�)r�r�r�r�)r�r��r�rr���STORE_FAST_STORE_FASTrer��r\Nr�)r�r��rzrOr�r�r�)r�)�DELETE_FASTrrRr�r�r�s&  r�"test_unoptimized_if_support_killed�;OptimizeLoadFastTestCase.test_unoptimized_if_support_killed�	sO��
��
��	
�
�
�5�#�
��
��	
�
�
�5�#�
��
	
�
�
�5� rc�d�QQ,oUOV2,QNo,QNoUOV2P!)r�r�)rIrerR)r�r�r�)r�r�r�r�r�s&  r�test_unoptimized_if_aliased�4OptimizeLoadFastTestCase.test_unoptimized_if_aliased
s9��� �
��	
�
�
�5� �
��

��
	
�
�
�5�#rc�2�,QNoUOV2P!)r�)r���GET_LENNrR�rIrer�)rIrRr�r��r2r�s& r�test_consume_no_inputs�/OptimizeLoadFastTestCase.test_consume_no_inputs*
s��
��	
�
�
�5� rc�2�,QNoUOV2P!)r�)r�r�)r2rr�r�rs& r�#test_consume_some_inputs_no_outputs�<OptimizeLoadFastTestCase.test_consume_some_inputs_no_outputs3
s��
��
	
�
�
�5� rc�:�,QNo,QNoUOV2P!)r�)r�r���CHECK_EXC_MATCHNr�)r�r�r	r�r�s&  r�test_check_exc_match�-OptimizeLoadFastTestCase.test_check_exc_match;
s��
��

��
	
�
�
�5�#rc
��QUO29oQUO29o]1QQU]1UQQQQ	,
oQUO29oQUO29o]1QQU]1UQQQ
Q	,
oUOV4P,Q5P!)r�rarEr(r�)rIrRr�)rKNr�)r\Nr�)r�rrO)r+Nr�)rzrOrOr)r2r�rRr�rVs&    r�
test_for_iter�&OptimizeLoadFastTestCase.test_for_iterH
s�����:�:�<��C�
��
�
��,��a�0� �
�S�!��� � � �%�
��
 ��:�:�<��C�
��
�
��,��a�0� �
�S�!��� � �*�%�
��	
�"�"�5�D�6�"�Brc�l�QQ,oQQ,oUOV2QQ,oQQ,oUOV2P!)r�r�)�	LOAD_ATTRrrRr�)rrerRr�r�s&  r�test_load_attr�'OptimizeLoadFastTestCase.test_load_attrc
sX����
��

'��
��	
�
�
�5�#�
 ��
��

 ��
��	
�
�
�5�#rc�l�,QNo,QNoUOV2,QNo,QNoUOV2P!)r�)r�r��r�rRr���LOAD_SUPER_ATTRrr�)r�r�)r	rRr�r)r�r�r�rrer�)r�r�rrr�r�s&  r�test_super_attr�(OptimizeLoadFastTestCase.test_super_attry
s:��
��
��	
�
�
�5�#�
��
��	
�
�
�5�#rc��QQQUO29o]1QQUQQ,oQQ	QUO29o]1Q
QUQQ,oUOV#P,Q5P!)r��SENDr(r�r��r�rr�r�)r�rr�)r+NrOr��rzrOr�)rzrOr�r)r2rRr�rVs&   r�	test_send�"OptimizeLoadFastTestCase.test_send�
s}����
�D�J�J�L�(�S�!�,� �%�� �%�	
��
 �&�
�D�J�J�L�(�S�!�,�*�%��*�%�	
��	
�"�"�5�D�6�"�Brc�d�,QNoUOV2,QNo,QNoUOV2P!)r�)r���
FORMAT_SIMPLENrRr)r�r"r�)r�r"r�r�r�s&  r�test_format_simple�+OptimizeLoadFastTestCase.test_format_simple�
s3��
��
	
�
�
�5� �
��

��
	
�
�
�5�#rc�x�,QNo,QNoUOVP,Q5,QNo,QNoUOVP,Q5P!)r�r()r�r���SET_FUNCTION_ATTRIBUTErRr�r�r��r+Nr�)�rzrOrer�r'r�)rzrOr�r))r�r�r'�r+Nr�)r*r�r'r+r#r�s&  r�test_set_function_attribute�4OptimizeLoadFastTestCase.test_set_function_attribute�
sL��
��
��	
�"�"�5�D�6�"�B�
��
��	
�"�"�5�D�6�"�Brc
��QQQQUO29oQUO29o]1QQ	QU]	1UQ
QQ,
oQQQQ
UO29oQUO29o]1QQ	QU]	1UQ
QQ,
oUOV4P,Q5P!)r�rrEr(r�)rGrerR)�	PUSH_NULLNr�r)�YIELD_VALUErerO)�RESUMErRr�)�END_SENDNr�)r�rr�r�r)rzrOr�r)r2�sendrRr�rVs&    r�test_get_yield_from_iter�1OptimizeLoadFastTestCase.test_get_yield_from_iter�
s�����"� ��J�J�L� �D�
�D�J�J�L�(�S�!�,�!��
�T�1���"�!�&�
�� 
 ��"�*��J�J�L� �D�
�D�J�J�L�(�S�!�,�!��
�T�1���"�+�&�
��	
�"�"�5�D�6�"�Brc�2�QQ,oUOV2P!)r�r�)�
PUSH_EXC_INFONrRr�rs& r�test_push_exc_info�+OptimizeLoadFastTestCase.test_push_exc_infos���&�
��	
�
�
�5� rc�2�,QNoUOV2P!)r�)r�)�LOAD_SPECIALrrRrr�rs& r�test_load_special�*OptimizeLoadFastTestCase.test_load_specials��
��
	
�
�
�5� rc�l�QoU2o[O2UOU]*,2P!)c��]*,oS=!=h9h)�*r;)�objs r�
create_obj�@OptimizeLoadFastTestCase.test_del_in_finally.<locals>.create_objs���$�C�
����C�s�	�)�gc�collectr�)r2rBrAs&  r�test_del_in_finally�,OptimizeLoadFastTestCase.test_del_in_finallys-��	��l��	�
�
������r�d�#rc�<�QoUOU2Q2P!)c��]oSoU!r�r;)�vars rr�>OptimizeLoadFastTestCase.test_format_simple_unicode.<locals>.f+s���C�C��E�C��Jrr|r�rs& r�test_format_simple_unicode�3OptimizeLoadFastTestCase.test_format_simple_unicode)s��	�	
�����c�"rr;ro)r�r�r�r�r�r�r�r�r�r�rrrrrrrr$r,r4r8r<rFrLr�r�r�s@rr�r��	sv����
�T�$�6$�2$!�L$�&!�!�$�C�6$�,$�<C�.$�. C�DC�B!�!�$� #�#rr��__main__)r�rrD�	itertoolsrrr!r�r	�unittestr��ImportErrorr0r�test.support.bytecode_helperrrrrr&r(�TestCaser�r�r�r�r��mainr;rr�<module>rUs���
�
�	�+�
�
������/�#�
�>�|?�$�|?�~B�(�#�#�B�4^=�$4�^=�@	y$�5�y$�x)E#�6�E#�R�z���M�M�O���QY�����s�B�B+�%B+�*B+

Youez - 2016 - github.com/yon3zu
LinuXploit