python (3.12.0)

(root)/
lib/
python3.12/
test/
__pycache__/
test_dis.cpython-312.pyc

͑eL +ddlZddlZddlZddlZddlZddlZddlZddlmZm	Z	m
Z
mZddlm
Z
ddlZdZej j"ZGddZdej(j*j,ej(j*j,dzfzZd	Zd
ej2j*j,ej2j*j,dzfzZdej6j*j,ej6j*j,dzfzZd
ej(j:dedej2j:dedej6j:ded
ZdZdej*j,ej*j,dzej*j,dzfzZ dZ!dZ"de"j*j,e"j*j,dze"j*j,dze"j*j,dze"j*j,dze"j*j,dzfzZ#gfdZ$de$j*j,e$j*j,dze%e$j*j,dze$j*j,dze$j*j,dzfzZ&dZ'e'j*jQde'_dZ)e*gdZ+dZ,e*ejZdejZdejZdej\d d!gZ/d"Z0d#Z1d$Z2d%e2j*j,e2j*j,dzfzZ3d&Z4d'Z5d(Z6d)Z7d*Z8d+Z9d,Z:d-Z;d.Z<d/Z=d0Z>d1Z?d2Z@d3ZAd4ej,ej,dzej,dzej,d5zej,dzej,d6zej,d5zej,dzfzZBd7ZCd8eCj*j,eCj*j,dzfzZDd9ZEd:eEj*j,eEj*j,dzeEj*j,dzeEj*j,dzeEj*j,dzeEj*j,dzeEj*j,dzfzZFd;ZGd<eGj*j,eGj*j,dzeGj*j,dzeGj*j,dzeGj*j,dzeGj*j,dzeGj*j,dzfzZHd=ZId>ZJd?eIj*j,eIj*j,dzeIj*j,dzeIj*j,d6zfzZKd@eJj*j,eJj*j,dzeJj*j,dzeJj*j,d6zfzZLdAZMdBZNdCZOdDZPdEePj*j,ePj*j,dze%ePj*j,dzePj*j,d6zfzZQdFeQe%ePj*j,dzePj*j,dzePj*j,dze%ePj*j,dzfzZRdGeRe%ePj*j,dzePj*j,dzfzZSdvdHZTdIeTj*j,eTj*j,dzeTj*j,dzfzZUdJZVdKeVj*j,eVj*j,dzeVj*j,dzeVj*j,dzfzZWdLZXdMeXj*j,eXj*j,dzfzZYdZZGdNdOejZ\GdPdQe\Z]GdRdSe]Z^ejjdTZandUZadVeadWZbecdwgdYdZZdd[Zeedjj*jdZhd\Zid]Zjd^Zkd_Zld`ZmdaZnGdbdcejZodxddZpdeZqdZrepj*j,dz
Zsepj*jdZtetj,esz
ZuetjdZvevj,esz
ZwdZxdfZydgZzejZ{e{dhdiddjdjdddkdl	e{dhdiddmdmdddkdl	e{dndodddpd6ddkdl	e{dqdrd5dsdtduddkdl	e{dvdwddjdjdxddkdl	e{dvdwddmdmdyddkdl	e{dzd{dddpd|ddkdl	e{dqdrdete|etd}ddkdl	e{d~dddddddkdl	e{ddddddddkdl	e{ddddddddkdl	e{ddddjdjdddkdl	e{ddddmdmdddkdl	e{dqdrddpddddkdl	e{dqdrddddddkdl	e{dddddpdddkdl	e{dddddpdddkdl	e{dqdrd6dddddkdl	e{dddddpdddkdl	e{dddddpdddkdl	e{dddddddxdkdl	e{dddddpdddkdl	gZ}e{dddddpdddkdl	e{dhdiddddddkdl	e{dhdidddd6ddkdl	e{dndodddpduddkdl	e{dqdrddddxddkdl	e{dvdwddjdjdyddkdl	e{dvdwd6dmdmd|ddkdl	e{dvdwdddd}ddkdl	e{dvdwddddddkdl	e{dzd{d6d6dpdddkdl	e{dqdrdeve|evdddkdl	e{d~dddddddkdl	e{ddddddddkdl	e{ddddddd5dkdl	e{ddddjdjdddkdl	e{ddd6dmdmdddkdl	e{ddddddddkdl	e{ddddddddkdl	e{ddd6d6dpdddkdl	e{dddddpdddkdl	e{dddddddudkdl	e{dddddpdddkdl	gZ~e{ddd6d6dpdddkdl	e{dndodddpdddkdl	e{dddddd6d6dkdl	e{ddddjdjd}ddkdl	e{ddddmdmdddkdl	e{ddd6dddddkdl	e{ddd5dddddkdl	e{ddddddddkdl	e{ddddddddkdl	e{dddududpdddkdl	e{dddddpdddkdl	e{ddddddddkdl	gZge{dndodddpdddkdl	e{ddddddddkdl	e{dqdrddydd|ddkdl	e{dddddpd}ddkdl	e{dddddpdddkdl	e{ddddddddXdl	e{ddddddddkdl	e{ddddddd6dkdl	e{ddddddddkdl	e{dddddpdddkdl	e{dddddpdddkdl	e{ddddddd5dkdl	e{dqdrdd6ddddkdl	e{ddddddddkdl	e{ddddddddkdl	e{dddddddudkdl	e{ddddddddXdl	e{dqdrdduddddkdl	e{ddddddddkdl	e{ddddddddkdl	e{ddddddddkdl	e{dddddpddxdXdl	e{d dd|dddddkdl	e{dd6dddpdddXdl	e{dddddddydkdl	e{dqdrd6dddddkdl	e{dddddpdddkdl	e{dddddpd{ddkdl	e{ddddddddXdl	e{ddddddddkdl	e{ddddddd|dXdl	e{ddddddddkdl	e{dddddpdddkdl	e{dddddpdddkdl	e{ddddddddkdl	e{dqdrd5dddddkdl	e{ddddddddkdl	e{ddddddddkdl	e{ddddddd}dkdl	e{dqdrdduddddkdl	e{ddddddddkdl	e{ddddddddkdl	e{ddddddddkdl	e{ddddddddXdl	e{dqdrdd6ddddkdl	e{ddddddddkdl	e{ddddddddkdl	e{d dd}dddddkdl	e{ddddddddXdl	e{ddddddddkdl	e{ddddddddkdl	e{ddddddd	dXdl	e{dqdrdud
ddddkdl	e{dddddpd
ddkdl	e{dddddpdddkdl	e{dddddpdddXdl	e{dqdrd5dddddkdl	e{dqdrddddddkdl	e{ddddddddkdl	e{dddddpdddkdl	e{ddddddddkdl	e{dddddpdddkdl	e{ddddddddkdl	e{ddddddddkdl	e{dqdrdxdd d!ddkdl	e{dddddpd"ddkdl	e{dddddpd#ddkdl	e{dqdrdddd$ddkdl	e{dqdrdddd%ddkdl	e{dqdrdddd&ddkdl	e{dddddpd'ddkdl	e{dddddpd(ddkdl	e{dddddd)ddXdl	e{dqdrdyd*d+d,ddkdl	e{dddddpd-ddkdl	e{dddddpd.ddkdl	e{dddddd/ddkdl	e{d0d1dddpd2ddkdl	e{d3d4dddpd5ddkdl	e{dddd6d7d8ddkdl	e{d9d:dddpd;ddkdl	e{dddddpd6ddXdl	e{d<d=dddpd>ddkdl	e{dddddpd?ddkdl	e{dddddpd@ddkdl	e{dd͐dd)dAdBddkdl	e{dCddddpdDddkdl	e{d<d=dddpdEddkdl	e{d9d:dddpdFddkdl	e{d0d1dddpdGddkdl	e{ddd6dHdHdIddkdl	e{dJddddpdKddkdl	e{ddd}dLdMdNddkdl	e{dddddpdOddkdl	e{ddddddPddkdl	e{dqdrddQdRdSddkdl	e{dddddpdTddkdl	e{dddddpdUddkdl	e{d<d=dddpdVddkdl	e{dd͐dWd)dAdXddkdl	e{d9d:dddpdLddXdl	e{dCddddpdYddkdl	e{d<d=dddpdZddkdl	e{d9d:dddpd[ddkdl	e{d0d1dddpd\ddkdl	e{dddddd]ddkdl	e{dqdrdyd*d+d^ddkdl	e{dddddpd_ddkdl	e{dddddpd`ddkdl	e{d9d:dddpdaddkdl	e{dCddddpdbddkdl	e{d<d=dddpdcddkdl	e{d9d:dddpddddkdl	ZdeZe{dndodddpdej*j,dkdl	e{ddddddddkfgZGdgdhe
ZGdidjeZGdkdlee\ZGdmdne
ZGdodpejZGdqdre\ZGdsdteZeduk(rejyy(yN)captured_stdoutrequires_debug_rangesrequires_specializationcpython_only)BytecodeTestCasecdd}|}|jr|j}|jr|S)NcX	ddzS#t$r}|j}Yd}~|Sd}~wwxYw)Nr)	Exception
__traceback__)etbs  A/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/test/test_dis.py_errorzget_tb.<locals>._errors5	!
E		!B		!s		)$))tb_next)rrs  rget_tbrs.
B
**
ZZ
**
Ic2eZdZdZedZedZy)_Cc|dk(|_yNr
x)selfrs  r__init__z_C.__init__!s
arc|dk(}yrrs rsmz_C.sm$s
Frc|dk(|_yrr)clsrs  rcmz_C.cm(s
QrN)__name__
__module____qualname__rstaticmethodrclassmethodr!rrrrr s/rra*%3d        RESUME                   0

%3d        LOAD_FAST                1 (x)
           LOAD_CONST               1 (1)
           COMPARE_OP              40 (==)
           LOAD_FAST                0 (self)
           STORE_ATTR               0 (x)
           RETURN_CONST             0 (None)
r
z       RESUME                   0
       LOAD_FAST                1
       LOAD_CONST               1
       COMPARE_OP              40 (==)
       LOAD_FAST                0
       STORE_ATTR               0
       RETURN_CONST             0
a)%3d        RESUME                   0

%3d        LOAD_FAST                1 (x)
           LOAD_CONST               1 (1)
           COMPARE_OP              40 (==)
           LOAD_FAST                0 (cls)
           STORE_ATTR               0 (x)
           RETURN_CONST             0 (None)
z%3d        RESUME                   0

%3d        LOAD_FAST                0 (x)
           LOAD_CONST               1 (1)
           COMPARE_OP              40 (==)
           STORE_FAST               0 (x)
           RETURN_CONST             0 (None)
zDisassembly of z:
z
Disassembly of 
ct|yrprint)as r_fr-bs	!Hrz%3d        RESUME                   0

%3d        LOAD_GLOBAL              1 (NULL + print)
           LOAD_FAST                0 (a)
           CALL                     1
           POP_TOP

%3d        RETURN_CONST             1 (1)
z       RESUME                   0
       LOAD_GLOBAL              1
       LOAD_FAST                0
       CALL                     1
       POP_TOP
       RETURN_CONST             1
c&tddD]}y)Nr

range)ress r	bug708901r3~sQ

ra%3d        RESUME                   0

%3d        LOAD_GLOBAL              1 (NULL + range)
           LOAD_CONST               1 (1)

%3d        LOAD_CONST               2 (10)

%3d        CALL                     2
           GET_ITER
        >> FOR_ITER                 2 (to 34)
           STORE_FAST               0 (res)

%3d        JUMP_BACKWARD            4 (to 26)

%3d     >> END_FOR
           RETURN_CONST             0 (None)
c$Jd|Ddz)Nc3 K|]}|ywNr).0ss  r	<genexpr>zbug1333982.<locals>.<genexpr>s~a~sr
rrs r
bug1333982r;s~1~ra%3d        RESUME                   0

%3d        LOAD_ASSERTION_ERROR
           LOAD_CONST               1 (<code object <genexpr> at 0x..., file "%s", line %d>)
           MAKE_FUNCTION            0
           LOAD_FAST                0 (x)
           GET_ITER
           CALL                     0

%3d        LOAD_CONST               2 (1)

%3d        BINARY_OP                0 (+)
           CALL                     0
           RAISE_VARARGS            1
cyr7rrrrbug42562r=rco_linetablezK       RESUME                   0
       RETURN_CONST             0 (None)
)
r
	rBr
d)Srz       EXTENDED_ARG             1
       NOP
       EXTENDED_ARG             1
       LOAD_CONST             297
       RETURN_VALUE
rDJUMP_FORWARDz    >> EXTENDED_ARG           255
       EXTENDED_ARG         65535
       EXTENDED_ARG         16777215
       JUMP_FORWARD            -4 (to 0)
cyr7r)r,bcs   r
func_w_kwargsrMr>rc tdddy)Nr
r'rL)rMrrrwrap_func_w_kwargsrQs!Q!raw%3d        RESUME                   0

%3d        LOAD_GLOBAL              1 (NULL + func_w_kwargs)
           LOAD_CONST               1 (1)
           LOAD_CONST               2 (2)
           LOAD_CONST               3 (5)
           KW_NAMES                 4 (('c',))
           CALL                     3
           POP_TOP
           RETURN_CONST             0 (None)
a+  0        RESUME                   0

  1        LOAD_CONST               0 (0)
           LOAD_CONST               1 (('*',))
           IMPORT_NAME              0 (math)
           CALL_INTRINSIC_1         2 (INTRINSIC_IMPORT_STAR)
           POP_TOP
           RETURN_CONST             2 (None)
z  0        RESUME                   0

  1        LOAD_NAME                0 (a)
           CALL_INTRINSIC_1         5 (INTRINSIC_UNARY_POSITIVE)
           RETURN_VALUE
z  0        RESUME                   0

  1        BUILD_LIST               0
           LOAD_NAME                0 (a)
           LIST_EXTEND              1
           CALL_INTRINSIC_1         6 (INTRINSIC_LIST_TO_TUPLE)
           RETURN_VALUE
z  1        RESUME                   0

%3d        LOAD_GLOBAL              0 (spam)
           POP_TOP
           RETURN_CONST             0 (None)
z   1        RESUME                   0

%4d        LOAD_GLOBAL              0 (spam)
            POP_TOP
            RETURN_CONST             0 (None)
zDisassembly of f:
  4        RESUME                   0
           RETURN_CONST             0 (None)

Disassembly of g:
  5        RESUME                   0
           RETURN_CONST             0 (None)

zx + 1z  0        RESUME                   0

  1        LOAD_NAME                0 (x)
           LOAD_CONST               0 (1)
           BINARY_OP                0 (+)
           RETURN_VALUE
	x = x + 1z  0        RESUME                   0

  1        LOAD_NAME                0 (x)
           LOAD_CONST               0 (1)
           BINARY_OP                0 (+)
           STORE_NAME               0 (x)
           RETURN_CONST             1 (None)
z+
x: int = 1
y: fun(1)
lst[fun(0)]: int = 1
a  0        RESUME                   0

  2        SETUP_ANNOTATIONS
           LOAD_CONST               0 (1)
           STORE_NAME               0 (x)
           LOAD_NAME                1 (int)
           LOAD_NAME                2 (__annotations__)
           LOAD_CONST               1 ('x')
           STORE_SUBSCR

  3        PUSH_NULL
           LOAD_NAME                3 (fun)
           LOAD_CONST               0 (1)
           CALL                     1
           LOAD_NAME                2 (__annotations__)
           LOAD_CONST               2 ('y')
           STORE_SUBSCR

  4        LOAD_CONST               0 (1)
           LOAD_NAME                4 (lst)
           PUSH_NULL
           LOAD_NAME                3 (fun)
           LOAD_CONST               3 (0)
           CALL                     1
           STORE_SUBSCR
           LOAD_NAME                1 (int)
           POP_TOP
           RETURN_CONST             4 (None)
zx = 0
while 1:
    x += 1ac  0        RESUME                   0

  1        LOAD_CONST               0 (0)
           STORE_NAME               0 (x)

  2        NOP

  3     >> LOAD_NAME                0 (x)
           LOAD_CONST               1 (1)
           BINARY_OP               13 (+=)
           STORE_NAME               0 (x)

  2        JUMP_BACKWARD            6 (to 8)
ay%3d        RESUME                   0

%3d        NOP

%3d        LOAD_CONST               1 (1)
           LOAD_CONST               2 (0)
    -->    BINARY_OP               11 (/)
           POP_TOP

%3d        LOAD_FAST_CHECK          1 (tb)
           RETURN_VALUE
        >> PUSH_EXC_INFO

%3d        LOAD_GLOBAL              0 (Exception)
           CHECK_EXC_MATCH
           POP_JUMP_IF_FALSE       23 (to 80)
           STORE_FAST               0 (e)

%3d        LOAD_FAST                0 (e)
           LOAD_ATTR                2 (__traceback__)
           STORE_FAST               1 (tb)
           POP_EXCEPT
           LOAD_CONST               0 (None)
           STORE_FAST               0 (e)
           DELETE_FAST              0 (e)

%3d        LOAD_FAST                1 (tb)
           RETURN_VALUE
        >> LOAD_CONST               0 (None)
           STORE_FAST               0 (e)
           DELETE_FAST              0 (e)
           RERAISE                  1

%3d     >> RERAISE                  0
        >> COPY                     3
           POP_EXCEPT
           RERAISE                  1
ExceptionTable:
4 rows
rOc |d|dd|d|dS)N 4rr,rKrLds    r_fstringrYs#S!AauAa!W%%ra%3d        RESUME                   0

%3d        LOAD_FAST                0 (a)
           FORMAT_VALUE             0
           LOAD_CONST               1 (' ')
           LOAD_FAST                1 (b)
           LOAD_CONST               2 ('4')
           FORMAT_VALUE             4 (with format)
           LOAD_CONST               1 (' ')
           LOAD_FAST                2 (c)
           FORMAT_VALUE             2 (repr)
           LOAD_CONST               1 (' ')
           LOAD_FAST                3 (d)
           LOAD_CONST               2 ('4')
           FORMAT_VALUE             6 (repr, with format)
           BUILD_STRING             7
           RETURN_VALUE
c>|5d}dddd}y#1swYd}yxYwNr
r'rrLrys   r_withr^s$	

	A	Asa%3d        RESUME                   0

%3d        LOAD_FAST                0 (c)
           BEFORE_WITH
           POP_TOP

%3d        LOAD_CONST               1 (1)
           STORE_FAST               1 (x)

%3d        LOAD_CONST               0 (None)
           LOAD_CONST               0 (None)
           LOAD_CONST               0 (None)
           CALL                     2
           POP_TOP

%3d        LOAD_CONST               2 (2)
           STORE_FAST               2 (y)
           RETURN_CONST             0 (None)

%3d     >> PUSH_EXC_INFO
           WITH_EXCEPT_START
           POP_JUMP_IF_TRUE         1 (to 42)
           RERAISE                  2
        >> POP_TOP
           POP_EXCEPT
           POP_TOP
           POP_TOP

%3d        LOAD_CONST               2 (2)
           STORE_FAST               2 (y)
           RETURN_CONST             0 (None)
        >> COPY                     3
           POP_EXCEPT
           RERAISE                  1
ExceptionTable:
2 rows
cK|4d{d}dddd{d}y77	#1d{7swYd}yxYwwr[rr\s   r
_asyncwithr`sG
	A	As0>#>'>%>>;0;	>aq%3d        RETURN_GENERATOR
           POP_TOP
           RESUME                   0

%3d        LOAD_FAST                0 (c)
           BEFORE_ASYNC_WITH
           GET_AWAITABLE            1
           LOAD_CONST               0 (None)
        >> SEND                     3 (to 24)
           YIELD_VALUE              2
           RESUME                   3
           JUMP_BACKWARD_NO_INTERRUPT     5 (to 14)
        >> END_SEND
           POP_TOP

%3d        LOAD_CONST               1 (1)
           STORE_FAST               1 (x)

%3d        LOAD_CONST               0 (None)
           LOAD_CONST               0 (None)
           LOAD_CONST               0 (None)
           CALL                     2
           GET_AWAITABLE            2
           LOAD_CONST               0 (None)
        >> SEND                     3 (to 60)
           YIELD_VALUE              2
           RESUME                   3
           JUMP_BACKWARD_NO_INTERRUPT     5 (to 50)
        >> END_SEND
           POP_TOP

%3d        LOAD_CONST               2 (2)
           STORE_FAST               2 (y)
           RETURN_CONST             0 (None)

%3d     >> CLEANUP_THROW
           JUMP_BACKWARD           25 (to 24)
        >> CLEANUP_THROW
           JUMP_BACKWARD            9 (to 60)
        >> PUSH_EXC_INFO
           WITH_EXCEPT_START
           GET_AWAITABLE            2
           LOAD_CONST               0 (None)
        >> SEND                     4 (to 98)
           YIELD_VALUE              3
           RESUME                   3
           JUMP_BACKWARD_NO_INTERRUPT     5 (to 86)
        >> CLEANUP_THROW
        >> END_SEND
           POP_JUMP_IF_TRUE         1 (to 104)
           RERAISE                  2
        >> POP_TOP
           POP_EXCEPT
           POP_TOP
           POP_TOP

%3d        LOAD_CONST               2 (2)
           STORE_FAST               2 (y)
           RETURN_CONST             0 (None)
        >> COPY                     3
           POP_EXCEPT
           RERAISE                  1
        >> CALL_INTRINSIC_1         3 (INTRINSIC_STOPITERATION_ERROR)
           RERAISE                  1
ExceptionTable:
12 rows
c.	||S#|wxYwr7rr,rKs  r_tryfinallyrcS	s	c.		|y#|wxYwrr)rKs r_tryfinallyconstrfYrds	a"%3d        RESUME                   0

%3d        NOP

%3d        LOAD_FAST                0 (a)

%3d        PUSH_NULL
           LOAD_FAST                1 (b)
           CALL                     0
           POP_TOP
           RETURN_VALUE
        >> PUSH_EXC_INFO
           PUSH_NULL
           LOAD_FAST                1 (b)
           CALL                     0
           POP_TOP
           RERAISE                  0
        >> COPY                     3
           POP_EXCEPT
           RERAISE                  1
ExceptionTable:
2 rows
a%3d        RESUME                   0

%3d        NOP

%3d        NOP

%3d        PUSH_NULL
           LOAD_FAST                0 (b)
           CALL                     0
           POP_TOP
           RETURN_CONST             1 (1)
           PUSH_EXC_INFO
           PUSH_NULL
           LOAD_FAST                0 (b)
           CALL                     0
           POP_TOP
           RERAISE                  0
        >> COPY                     3
           POP_EXCEPT
           RERAISE                  1
ExceptionTable:
1 row
c#K|ywr7rrs r_grhs
GscK|ywr7rrs r_agrjs
Gs	c<Kt|23d{}
76ywr7)rj)ritems  r_corms$!f

d
fscfd}|S)Nc.tfdDS)funcdocc3(K|]	}|zywr7r)r8zrs  rr:z"_h.<locals>.foo.<locals>.<genexpr>s%aAE%)listrr]s`rfooz_h.<locals>.foos%1%%%rr)r]rvs` r_hrws&Jra           MAKE_CELL                0 (y)

%3d        RESUME                   0

%3d        LOAD_CLOSURE             0 (y)
           BUILD_TUPLE              1
           LOAD_CONST               1 (<code object foo at 0x..., file "%s", line %d>)
           MAKE_FUNCTION            8 (closure)
           STORE_FAST               1 (foo)

%3d        LOAD_FAST                1 (foo)
           RETURN_VALUE
am%s
Disassembly of <code object foo at 0x..., file "%s", line %d>:
           COPY_FREE_VARS           1
           MAKE_CELL                0 (x)

%3d        RESUME                   0

%3d        LOAD_GLOBAL              1 (NULL + list)
           LOAD_CLOSURE             0 (x)
           BUILD_TUPLE              1
           LOAD_CONST               1 (<code object <genexpr> at 0x..., file "%s", line %d>)
           MAKE_FUNCTION            8 (closure)
           LOAD_DEREF               1 (y)
           GET_ITER
           CALL                     0
           CALL                     1
           RETURN_VALUE
a%s
Disassembly of <code object <genexpr> at 0x..., file "%s", line %d>:
           COPY_FREE_VARS           1

%3d        RETURN_GENERATOR
           POP_TOP
           RESUME                   0
           LOAD_FAST                0 (.0)
        >> FOR_ITER                 9 (to 32)
           STORE_FAST               1 (z)
           LOAD_DEREF               2 (x)
           LOAD_FAST                1 (z)
           BINARY_OP                0 (+)
           YIELD_VALUE              1
           RESUME                   1
           POP_TOP
           JUMP_BACKWARD           11 (to 10)
        >> END_FOR
           RETURN_CONST             0 (None)
        >> CALL_INTRINSIC_1         3 (INTRINSIC_STOPITERATION_ERROR)
           RERAISE                  1
ExceptionTable:
1 row
c||}}||fSr7r)rr]r,rKs    r	load_testrysaqAa4Kra%3d           0 RESUME                   0

%3d           2 LOAD_FAST__LOAD_FAST     0 (x)
              4 LOAD_FAST                1 (y)
              6 STORE_FAST__STORE_FAST     3 (b)
              8 STORE_FAST__LOAD_FAST     2 (a)

%3d          10 LOAD_FAST__LOAD_FAST     2 (a)
             12 LOAD_FAST                3 (b)
             14 BUILD_TUPLE              2
             16 RETURN_VALUE
c2gddzD]
}t|y)N)r
r'r4r4ry)is r	loop_testr}s
]!rar%3d        RESUME                   0

%3d        BUILD_LIST               0
           LOAD_CONST               1 ((1, 2, 3))
           LIST_EXTEND              1
           LOAD_CONST               2 (3)
           BINARY_OP                5 (*)
           GET_ITER
        >> FOR_ITER_LIST           13 (to 46)
           STORE_FAST               0 (i)

%3d        LOAD_GLOBAL_MODULE       1 (NULL + load_test)
           LOAD_FAST                0 (i)
           CALL_PY_WITH_DEFAULTS     1
           POP_TOP
           JUMP_BACKWARD           15 (to 16)

%3d     >> END_FOR
           RETURN_CONST             0 (None)
cd^}}y)N.r)_s rextended_arg_quickr%sEQraH%3d           0 RESUME                   0

%3d           2 LOAD_CONST               1 (Ellipsis)
              4 EXTENDED_ARG             1
              6 UNPACK_EX              256
              8 STORE_FAST               0 (_)
             10 STORE_FAST               0 (_)
             12 RETURN_CONST             0 (None)
c6eZdZdZdZdZdZdZdZd	dZ	y)
DisTestBasez2Common utilities for DisTests and TestDisTracebackc0tjdd|S)Nz\b0x[0-9A-Fa-f]+\bz0x...)resub)rtexts  rstrip_addresseszDisTestBase.strip_addresses9svv+Wd;;rc|D]}|s|jdrnyd}||dk(r|dz
}||dk(r||dk(r|dz
}||dk(r|dz
}||dk(r|}||dvr
|dz
}||dvr
|dz
|fS)	NDisassembly)rrrOrUr
>r'
0123456789)
startswith)rlineslineoffsetends     rfind_offset_columnzDisTestBase.find_offset_column<s	DDOOM:	F|s"aKFF|s"LCaKFF|s"aKFF|s"3i<'1HC3i<'1uczrcd}|j}|j|\}}|D]R}|s|jdrd}|jdryt|||}|j	|||||z}Ty)Nrrr)
splitlinesrrintassertGreaterEqual)	rrdeltaexpected_offsetrstartrrrs	         rassert_offsets_increasingz%DisTestBase.assert_offsets_increasingNs!,,U3
s
	-D}-"#{+eC)F##FOTB$unO
	-rcd\}}d}|D]o}tjd|}|jDcgc]
}t|c}\}}	|j	|	||j||||	}}|dz
}q|Scc}w)N)rrz  (\d+) to (\d+) -> \d+ \[\d+\]r
)rmatchgroupsrr
assertGreater)
rr
prev_startprev_endcountrmgrrs
          r!assert_exception_table_increasingz-DisTestBase.assert_exception_table_increasing^s%
H	D;TBA*+((*5Q#a&5JE3##C/uh/#(#JQJE
	6sA>c|jd}|j|\}}g}t|}|D]e}|jdr|j	|nA|r|jdr|j	|L|j	|d|||dzg|j|}|r|j	|d|dkDrdndddj
|S)	NTrrz rowr
r9r()rriterrappendrjoin)rrrrrr2rnum_rowss        r
strip_offsetszDisTestBase.strip_offsetsjs%,,U3
sU	6D{+

4 4??=9

4 

4<$st*45	699%@JJ(4x!|'DBGHwws|rc|s#|j|d|j|}||k7r|j|}|j||y)Nr')rrrassertEqual)rgotexpectedwith_offsetss    rdo_disassembly_comparez"DisTestBase.do_disassembly_compare|sL**32$$S)C(?&&s+Ch'rNF)
r"r#r$__doc__rrrrrrrrrrr6s#8<$- 
$(rrceZdZdZd1dZd2dZd3dZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$d#Z%d$Z&d%Z'd&Z(e)e*fd'Z+e,e-d(Z.e,e-d)Z/e,e-d*Z0e,e-d+Z1e,e-d,Z2e,d-Z3d.Z4e,d/Z5e,d0Z6y)4DisTestsNctj}tj|5|rt	j|fi|nt	j
||fi|ddd|j
S#1swY|j
SxYwr7)ioStringIO
contextlibredirect_stdoutdisdisassemblegetvaluerfunclastiwrapperkwargsoutputs      rget_disassemblyzDisTests.get_disassemblysp

'
'
/	7''e6v6		7
  	7
  s1A33Bc(|j||dS)NF)r)rrrs   rget_disassemble_as_stringz"DisTests.get_disassemble_as_strings##D%77rctd|_|j|d}|j|||t|drst	j
}t
j|5tj|jddd|j|j||yy#1swY,xYw)Nrdepth__code__)maxDiffrrhasattrrrrrrdiscorr)rrrrr	got_discos      rdo_disassembly_testzDisTests.do_disassembly_tests""4q"1##C<@4$
I++I6
)		$--(
)''	(:(:(<h(4
6	%
)
)s# B..B7c|jtjdd|jtjdtj|jtjdtj
y)NNOPrC
LOAD_CONST
STORE_NAME)rropmapassertInhasconsthasnamers r
test_opmapzDisTests.test_opmapsQ5)1-

cii-s||<

cii-s{{;rcl|jtjtjddy)N	LOAD_FAST)rropnamerrs rtest_opnamezDisTests.test_opnames$CIIk$:;[Irc|jtjdtj|jtjdtjy)NEXTENDED_ARGr)rrrr
HAVE_ARGUMENTrs rtest_boundarieszDisTests.test_boundariess@>2C4D4DE<0#2C2CDrctddg}ttjD]\}}||vs|j	dr|j|5tj}|tjvr|dtjzz
}|jt||dddy#1swYxYw)NJUMP_BACKWARD_NO_INTERRUPTINSTRUMENTED_CALL_FUNCTION_EXINSTRUMENTED)rr
)set	enumeraterrrsubTest
_OPNAME_WIDTHhasarg_OPARG_WIDTHassertLessEquallen)rlong_opcodesopcoderwidths     rtest_widthszDisTests.test_widthss8;=>'

3	9NFF%):):>)JV,
9))SZZ'Q!1!111E$$S[%8	
9
9	9
9
9s
AB44B=	c8|jttyr7)rr-dis_frs rtest_diszDisTests.test_dis  U+rc8|jttyr7)rr3
dis_bug708901rs rtest_bug_708901zDisTests.test_bug_708901s  M:rc:	|jttyr7)skipTestrr;dis_bug1333982rs rtest_bug_1333982zDisTests.test_bug_1333982s	
  ^<rc8|jttyr7)rr=dis_bug42562rs rtest_bug_42562zDisTests.test_bug_42562s  <8rc8|jttyr7)rcode_bug_45757
dis_bug_45757rs rtest_bug_45757zDisTests.test_bug_45757s  ?rc8|jttyr7)rbug46724dis_bug46724rs rtest_bug_46724zDisTests.test_bug_46724s  <8rc8|jttyr7)rrQdis_kw_namesrs r
test_kw_nameszDisTests.test_kw_namess  !3\Brc|jdt|jdt|jdty)Nzfrom math import *z+az(*a,))rdis_intrinsic_1_2dis_intrinsic_1_5dis_intrinsic_1_6rs rtest_intrinsic_1zDisTests.test_intrinsic_1s6  !57HI  '89  *;<rcF|jd|jdy)Nz8CALL_INTRINSIC_2         1 (INTRINSIC_PREP_RERAISE_STAR)ztry: pass
except* Exception: x)rrrs rtest_intrinsic_2zDisTests.test_intrinsic_2s!

P**+LM	Orcd}tddD]&}t|dzz}|j|||(tdddD]&}t|dzz}|j|||(tdddD]&}t|dzz}|j|||(dd	lm}|j|ty)
Nc`i}ddjdg|zdgzz}t|||dS)Nzdef foo():
 rz
 zspam
rvrexecr	namespacers   rrz'DisTests.test_big_linenos.<locals>.funcs<I"RWWeWu_z-I%JJDy!U##rr
i,r'r/ir)
dis_module)r1_BIG_LINENO_FORMATr_BIG_LINENO_FORMAT2testrdis_module_expected_results)rrr|rrs     rtest_big_linenoszDisTests.test_big_linenoss	$q#	8A)QU3H$$T!Wh7	8
sD"%	8A)QU3H$$T!Wh7	8tT2&	8A*a!e4H$$T!Wh7	8	$  -HIrcd|_d}d}tddD]"}|j||||dd$|j|d|ddd|j|d|dddy)	Nc^i}ddjdg|zzdz}t|||dS)Nz
def foo(x):
 ;rRz

 return xrvrrs   rrz'DisTests.test_big_offsets.<locals>.funcs;I#chh}u/D&EE
UDy!U##rc
d|dfzg}|t|Dcgc]'}d|d|zdz|d|zdz|d|zdz|d|zdzfz)c}z
}|d|d|zdz|d|zdzfzgz
}d	|d
ddz|d
<dj|Scc}w)
Nz+  1        %*d RESUME                   0

rz           %*d LOAD_FAST                0 (x)
           %*d LOAD_CONST               1 (1)
           %*d BINARY_OP                0 (+)
           %*d STORE_FAST               0 (x)
r/r'rSzK
  3        %*d LOAD_FAST                0 (x)
           %*d RETURN_VALUE
z  2r
r4r)r1r)rwr9r|s    rrz+DisTests.test_big_offsets.<locals>.expecteds	!f
A
 ,
(

	"Q$(Ar!taxBqD1HaA;<(
(A
	"U(Q,2e8a<(	)*
*A
1Q48#AaD771:(s,Br
rOrSTir)rr1r)rrrr|s    rtest_big_offsetszDisTests.test_big_offsetss	$	(q!	DA$$T!Whq!ndC	D  cHS!,<dC  dXdA->Erc|jtt|jtt|jt
t|jttyr7)	rexpr_strdis_expr_strsimple_stmt_strdis_simple_stmt_strannot_stmt_strdis_annot_stmt_strcompound_stmt_strdis_compound_stmt_strrs rtest_disassemble_strzDisTests.test_disassemble_strsF  <8  2EF  1CD  !24IJrc`|jtjjtyr7)rr-rco_code
dis_f_co_coders rtest_disassemble_byteszDisTests.test_disassemble_bytes s  !4!4mDrc8|jttyr7)rrdis_crs rtest_disassemble_classzDisTests.test_disassemble_class#rrcV|jtdjtyr)rrrdis_c_instance_methodrs r test_disassemble_instance_methodz)DisTests.test_disassemble_instance_method&s  A1FGrctdjjj}|j	|t
yr)rrrr1rdis_c_instance_method_bytes)rmethod_bytecodes  r&test_disassemble_instance_method_bytesz/DisTests.test_disassemble_instance_method_bytes)s,Q%..1199  2MNrcL|jtjtyr7)rrrdis_c_static_methodrs rtest_disassemble_static_methodz'DisTests.test_disassemble_static_method-s  (;<rcL|jtjtyr7)rrr!dis_c_class_methodrs rtest_disassemble_class_methodz&DisTests.test_disassemble_class_method0s  (:;rc|jt}|jtd}|j||yr)rrhr)rgen_func_disas	gen_disass   rtest_disassemble_generatorz#DisTests.test_disassemble_generator3s6--b1((A/	N3rc|jt}|jtd}|j||yr)rrjr)ragen_func_disas
agen_disass   r test_disassemble_async_generatorz)DisTests.test_disassemble_async_generator8s6..s3))#a&1
_5rc|jt}td}|j|j|}|j||yr)rrmcloser)rcoro_func_disascoro
coro_disass    rtest_disassemble_coroutinez#DisTests.test_disassemble_coroutine=sD..s31v

))$/
_5rc8|jttyr7)rrYdis_fstringrs rtest_disassemble_fstringz!DisTests.test_disassemble_fstringDs  ;7rc8|jttyr7)rr^dis_withrs rtest_disassemble_withzDisTests.test_disassemble_withGs  1rc8|jttyr7)rr`
dis_asyncwithrs rtest_disassemble_asyncwithz#DisTests.test_disassemble_asyncwithJs  ];rcl|jtt|jttyr7)rrcdis_tryfinallyrfdis_tryfinallyconstrs rtest_disassemble_try_finallyz%DisTests.test_disassemble_try_finallyMs$  n=  !13FGrc	t`	t`|j	t
tjdy#t$rY8wxYw#t$rY@wxYwr7)syslast_excAttributeErrorlast_tracebackassertRaisesRuntimeErrorrrs r
test_dis_nonezDisTests.test_dis_noneQsV		"	
,6
				s 5A	AA	AAc*d|_	t`	ddz|jjj|j}|jd|dy#t$rYUwxYw#t$r!}|j
}|t_Yd}~xd}~wwxYw)Nr
rT)rr`rcrbrrrartb_framef_codetb_lastir)rr
rtb_diss    rtest_dis_tracebackzDisTests.test_dis_traceback\s	"	
aC
//0B0BBKKP  vt4		
	BCLL	s(AA(	A%$A%(	B1B

Bc^|jttjtyr7)rd	TypeErrorrobjectrs rtest_dis_objectzDisTests.test_dis_objectls)SWWfh7rcfd}|td|td|td|td|td|ty)Ncjtfi|}j|}j|}j	||yr7)rrwrrr)rrrrs   rcheckz2DisTests.test_disassemble_recursive.<locals>.checkpsJ&$&&r4V4C&&s+C$$S)CS(+rrrr
r'r4)dis_nested_0dis_nested_1dis_nested_2)rrss` rtest_disassemble_recursivez#DisTests.test_disassemble_recursiveosD	,	l!$
l!$
l!$
l!$
l$'
lrc	tjddy#t$r%}|j|jYd}~yd}~wwxYw)N)r)r_try_compilerassertIsNone__context__)rr
s  r)test__try_compile_no_context_exc_on_errorz2DisTests.test__try_compile_no_context_exc_on_error}s<	-S"%	-amm,,	-s	AAAc2t|D]	}|yr7r0)ftimesrs   rcode_quickenzDisTests.code_quickensu	A
C	rc|jd|jtd}|j|tdy)NctddS)Nrr{rrr<lambda>z2DisTests.test_super_instructions.<locals>.<lambda>s)Aq/rTadaptive)rrryrdis_load_test_quickened_coderrs  rtest_super_instructionsz DisTests.test_super_instructionss;	
12""9t"<##C)EtLrcdd}tddd|jfd|jd}|j||dzdtdd	d|jfd
|jd}|j||dzdd}td
dd|jfd|jd}|j||dzdtd
dd|jfd|jd}|j||dzdy)Nz  0           0 RESUME                   0

  1           2 LOAD_NAME                0 (a)
              4 LOAD_NAME                1 (b)
              6 %s
             10 RETURN_VALUE
za + bz<int>evalc$tidddS)Nr
r'rbr)co_intsrrz1DisTests.test_binary_specialize.<locals>.<lambda>s$vr3C"DrTrzBINARY_OP_ADD_INT        0 (+)z	<unicode>c$tidddS)Nr,rKrbr)
co_unicodesrrz1DisTests.test_binary_specialize.<locals>.<lambda>s$z2Ss7K"LrzBINARY_OP_ADD_UNICODE     0 (+)z  0           0 RESUME                   0

  1           2 LOAD_NAME                0 (a)
              4 LOAD_CONST               0 (0)
              6 %s
             10 RETURN_VALUE
za[0]z<list>c$tiddgiS)Nr,rr)co_listsrrz1DisTests.test_binary_specialize.<locals>.<lambda>s$wS1#J"?rBINARY_SUBSCR_LIST_INTz<dict>c&tidddiiS)Nr,r1r)co_dictsrrz1DisTests.test_binary_specialize.<locals>.<lambda>s$wS1c(O"DrBINARY_SUBSCR_DICTcompilerrr)rbinary_op_quickenrbinary_subscr_quickenrrrrs    @@@@rtest_binary_specializezDisTests.test_binary_specializesG'62DE""6D"9##C):=])]_cdWk6:
LM"":"=##C):=^)^`de!&(F3?@""7T":##C)>AY)Y[_`&(F3DE""7T":##C)>AU)UW[\rcd}tddd|jfd|jd}|j||dy)Nz  0           0 RESUME                   0

  1           2 LOAD_CONST               0 ('a')
              4 LOAD_ATTR_SLOT           0 (__class__)
             24 RETURN_VALUE
z
'a'.__class__rrctiiSr7rcosrrz4DisTests.test_load_attr_specialize.<locals>.<lambda>$r2r"2rTrr)rload_attr_quickenrrs   @rtest_load_attr_specializez"DisTests.test_load_attr_specializesR_b&
123""2"5##C):DArcd}tddd|jfd|jd}|j||y)Nz  0        RESUME                   0

  1        PUSH_NULL
           LOAD_NAME                0 (str)
           LOAD_CONST               0 (1)
           CALL_NO_KW_STR_1         1
           RETURN_VALUE
zstr(1)rrctiiSr7rrsrrz/DisTests.test_call_specialize.<locals>.<lambda>rrTrr)rcall_quickenrrs   @rtest_call_specializezDisTests.test_call_specializesNXr6
*23""2"5##C6rc|jtd|jtd}|j|ty)Nr
Tr)rr}rrdis_loop_test_quickened_coders  rtest_loop_quickenzDisTests.test_loop_quickens:	
)Q'""9t"<##C)EFrc\|jt}|j|tdy)NT)rrrdis_extended_arg_quick_coders  rtest_extended_arg_quickz DisTests.test_extended_arg_quicks&""#56##C)DdKrc#Kd}|r|j|n|jj|_tj|d|D] }|j
dk(s|j"yw)NcJg}tdD]}|j|y)N*)r1r)lr|s  rrz%DisTests.get_cached_values.<locals>.fs%A2Y

rT)show_cachesrCACHE)rrreplacerget_instructionsrargrepr)r	quickenedrrinstructions     rget_cached_valueszDisTests.get_cached_valuessq	a ++-AJ//
4(
	*K!!W,!)))		*sA!A5$A5c	ndD]}dD]}|jd|d|5|rd}nd}t|j||}|D]}|j||d}d}|j	|jd||j	t
||dddy#1swYxYw)	NFTz
quickened=z, adaptive=z
^(\w+: \d+)?$z^(\w+: 0)?$r)rrtrassertRegexrrr)rrrpatterncachescachetotal_cachesempty_cachess        rtest_show_cacheszDisTests.test_show_cachess&
	@I)
@\\ZYL8+">?@"2"0!$"8"8H"MNF!'9((89#%L#$L$$V\\"%5|D$$S[,?@@
@
	@@@sA<B++B4cd}tj|dD].}|jdk(s|jdz
}|j}n|j	d|j|jd}|j|jd}|j|d	||j||y
)zp
        Make sure that with lasti pointing to CACHE, it still shows the current
        line correctly
        c"ttyr7)r+r,rrrrz2DisTests.test_show_currinstr_with_cache.<locals>.fs	!HrT)rrr'z@Can't find a CACHE entry in the function provided to do the testF)rrz-->\s+N)	rrrrfailrrrr)rrinst	op_offsetcache_offsetassem_opassem_caches       rtest_show_currinstr_with_cachez'DisTests.test_show_currinstr_with_caches	((=	ZD{{g% KK!O	#{{		Z
IIXY''

)U'S**1::\SX*Y	
fYK#89;/rrT)rr)7r"r#r$rrrrrrrrrrrrrrr
rrrr%r/r3r6r9r=r@rCrGrKrQrTrWrZr^rfrlrprwr}r%ADAPTIVE_WARMUP_DELAYrrrrrrrrrrrrrrrrrsG!8
6<
JE
9,;=9@9C=OJ0FBKE,HO=<4
6
682<H	75 8-3MM
#]#]JBB
7
7GGLL* @@ 00rrceZdZddZy)DisWithFileTestsctj}|r(tj|fd|i||j	Stj||fd|i||j	S)Nfile)rrrrrrs      rrz DisWithFileTests.get_disassembly%s\GGD0v00  
OOD%?f??  rNrr"r#r$rrrrrr"s!rrz0: Nonez60: 'Formatted details of methods, functions, or code.'zName:              code_info
Filename:          (.*)
Argument count:    1
Positional-only arguments: 0
Kw-only arguments: 0
Number of locals:  1
Stack size:        \d+
Flags:             OPTIMIZED, NEWLOCALS
Constants:
   zN
Names:
   0: _format_code_info
   1: _get_code_object
Variable names:
   0: xT)r
c	/R
K|f
fd	
|
f	yw)Nc,t|	yr7r*)	rLr,rKrXr
rrr]rrs	 rrztricky.<locals>.fGs
aAq!Q1a(rr)r,rKrr]rrrLrXr
argskwdsrs````` ``  @rtrickyrEs-
))
Q1aAq!
##s'aName:              tricky
Filename:          (.*)
Argument count:    5
Positional-only arguments: 2
Kw-only arguments: 3
Number of locals:  10
Stack size:        \d+
Flags:             OPTIMIZED, NEWLOCALS, VARARGS, VARKEYWORDS, GENERATOR
Constants:
   0: None
   1: <code object f at (.*), file "(.*)", line (.*)>
Variable names:
   0: a
   1: b
   2: x
   3: y
   4: z
   5: c
   6: d
   7: e
   8: args
   9: kwds
Cell variables:
   0: [abedfxyz]
   1: [abedfxyz]
   2: [abedfxyz]
   3: [abedfxyz]
   4: [abedfxyz]
   5: [abedfxyz]aqFilename:          (.*)
Argument count:    1
Positional-only arguments: 0
Kw-only arguments: 0
Number of locals:  1
Stack size:        \d+
Flags:             OPTIMIZED, NEWLOCALS, NESTED
Constants:
   0: None
Names:
   0: print
Variable names:
   0: c
Free variables:
   0: [abedfxyz]
   1: [abedfxyz]
   2: [abedfxyz]
   3: [abedfxyz]
   4: [abedfxyz]
   5: [abedfxyz]zName:              <module>
Filename:          <disassembly>
Argument count:    0
Positional-only arguments: 0
Kw-only arguments: 0
Number of locals:  0
Stack size:        \d+
Flags:             0x0
Constants:
   0: 1
Names:
   0: xzName:              <module>
Filename:          <disassembly>
Argument count:    0
Positional-only arguments: 0
Kw-only arguments: 0
Number of locals:  0
Stack size:        \d+
Flags:             0x0
Constants:
   0: 1
   1: None
Names:
   0: xzName:              <module>
Filename:          <disassembly>
Argument count:    0
Positional-only arguments: 0
Kw-only arguments: 0
Number of locals:  0
Stack size:        \d+
Flags:             0x0
Constants:
   0: 0
   1: 1
Names:
   0: xcKdd{t23d{}
776t4d{7}dddd{7y#1d{7swYyxYwwr)rKrL)r,rXs  r	async_defrs>
GGa1As]A
A!!A!A/AAAAAA
A
AAa/Name:              async_def
Filename:          (.*)
Argument count:    0
Positional-only arguments: 0
Kw-only arguments: 0
Number of locals:  2
Stack size:        \d+
Flags:             OPTIMIZED, NEWLOCALS, COROUTINE
Constants:
   0: None
   1: 1
Names:
   0: b
   1: c
Variable names:
   0: a
   1: dcfeZdZejefeefee	fe
efee
feefeefgZdZdZdZdZy)
CodeInfoTestscd|_|jD]*\}}|jtj||,yNr)r
test_pairsrr	code_info)rrrs   rtest_code_infozCodeInfoTests.test_code_infos9??	9KAxS]]1-x8	9rc~d|_|jD]\}}t5}tj|ddd|jj
|dztj}tj|||j|j
|y#1swYzxYw)Nrr(r)	rrrr	show_coderrrr)rrrrs    rtest_show_codezCodeInfoTests.test_show_codes??	:KAx "
!f

a 
!V__.
>[[]FMM!&)V__.9
	:
!
!sB33B<	c^|jttjt	yr7)rdrnrrrors rtest_code_info_objectz#CodeInfoTests.test_code_info_objects)S]]FH=rcN|jtjddy)Nr0x0)rrpretty_flagsrs rtest_pretty_flags_no_flagsz(CodeInfoTests.test_pretty_flags_no_flagss))!,e4rN)r"r#r$rrcode_info_code_inforcode_info_trickyco_tricky_nested_fcode_info_tricky_nested_fr'code_info_expr_strr)code_info_simple_stmt_strr-code_info_compound_stmt_strrcode_info_async_defrrrrrrrrrrs`
}})*
 45#$1256%&J9
:>5rrc	:dfd	}tddgid|S)Nc:dfd	}t|S)Nc&t||yr7r*)r
rr,rKrLrXs  rinnerzouter.<locals>.f.<locals>.inners!Q1a#rrOr#r*)rLrXrr,rKs`` rrzouter.<locals>.fs 	$	$
aAqrrr
Hello world!r4rSr*)r,rKrs`` routerrs#

!QAr2~.Hrc|tdD]}t||dkr|dkDsntdrt||dz}|dkDr|dkrn|rtd	ddz|5}tddddtd
y#1swYxYw#t$rtd	Y.wxYw#td
wxYw)Nr/rSr#I can haz else clause?r
%Who let lolcatz into this test suite?rNever reach this%Here we go, here we go, here we go...OK, now we're done)r1r+ZeroDivisionError)r|dodgys  rjumpyrs
2Y(
aq5q5(	&'

a	Qq5q5
	56$	A	&%$%	&	"#	&	&7
567	"#sB!B&B.(B4B.B
B.B+(B.*B++B..
B;c8t|jdSN)	positions)str_replace)instrs r_stringify_instructionrsu~~~-..rc	tjtt}t	ddjt
t|ddtjtt}t	ddjt
t|ddtjtt}t	ddjt
t|ddtjtt}t	d	djt
t|ddtjty)
N
first_linezexpected_opinfo_outer = [
  z,
  z,
]r)sepzexpected_opinfo_f = [
  zexpected_opinfo_inner = [
  zexpected_opinfo_jumpy = [
  )rrrexpected_outer_liner+rmaprexpected_f_lineexpected_inner_linerexpected_jumpy_line)
_instructionss r_prepare_test_casesr$s((;NOM	
)
,,s1=A
BFPRT((_MM	
%
,,s1=A
BFPRT((?RSM	
)
,,s1=A
BFPRT((;NOM	
)
,,s1=A
BFPRTGGENr	MAKE_CELLr,F)	rrargargvalrrstarts_lineis_jump_targetrrKRESUMErrrErz(3, 4)r#LOAD_CLOSUREr/BUILD_TUPLEf
MAKE_FUNCTIONrCzdefaults, closure
STORE_FAST}rLOAD_GLOBALtr+zNULL + printrr
LOAD_DEREF z''"r$
BUILD_LISTg&	BUILD_MAPi(rz'Hello world!'rCALL,POP_TOP4r|6RETURN_VALUErG8COPY_FREE_VARSrLrXrz(5, 6)rr
RETURN_CONSTyNoner1zNULL + range10GET_ITERDFOR_ITER]Pzto 80r|2rV
COMPARE_OPk<POP_JUMP_IF_FALSEr@zto 64<
JUMP_BACKWARDzto 24>6BrPOP_JUMP_IF_TRUEsLzto 76HJnhzto 104NEND_FORRrz'I can haz else clause?'\^LOAD_FAST_CHECKzto 170jlvx
	BINARY_OPzz-=rBzto 152zto 164zto 192zto 108rz''Who let lolcatz into this test suite?'r0/BEFORE_WITH5rrz'Never reach this'rz"OK, now we're done"iiii
PUSH_EXC_INFO#iWITH_EXCEPT_START1iizto 280iRERAISEwi
POP_EXCEPTYiiizto 248i COPYi"i$i&i(ri*CHECK_EXC_MATCHi4iTzto 340i6i8i:rz''Here we go, here we go, here we go...'iDiFiNiP.iRiViXiZi\^ihijiritivixizcyr7rrrrsimplersr)rrrrrrrrceZdZdZy)InstructionTestCasec|Dcgc]}|jd}}|Dcgc]}|jd}}|j||ycc}wcc}wr)r
r)rinstrs_1instrs_2instr_1instr_2s     rassertInstructionsEqualz+InstructionTestCase.assertInstructionsEquals]DLMG$$t$4MMDLMG$$t$4MM8,NMs
AAN)r"r#r$rrrrrrs-rrceZdZfdZdZdZdZdZdZdZ	e
dZe
d	Ze
d
Z
xZS)InstructionTestsc,t||d|_yr7)superrr)rr	__class__s  rrzInstructionTests.__init__s
$rcttjt}|jt	|t
yr7rrrrrtexpected_opinfo_simpleractuals  rtest_default_first_linez(InstructionTests.test_default_first_lines'%%f-$$T&\3IJrcxtjtd}|jt	|t
yNrrrs  rtest_first_line_set_to_Nonez,InstructionTests.test_first_line_set_to_Nones)%%f>$$T&\3IJrctjtt}|j	t|tyr)rrrrrrtexpected_opinfo_outerrs  r
test_outerzInstructionTests.test_outer	*%%e8KL$$T&\3HIrct5t}dddtjt}|jt
|ty#1swYDxYwr)rrrrrrrtexpected_opinfo_f)rrrs   rtest_nestedzInstructionTests.test_nested
sK

	A	%%aOD$$T&\3DE		sAA"ct5t}dddtjt}|jt
|ty#1swYDxYwr)rrrrrrrtexpected_opinfo_inner)rrrs   rtest_doubly_nestedz#InstructionTests.test_doubly_nestedsP

	EGIE	%%e8KL$$T&\3HI		sAA'ctjtt}|j	t|tyr)rrrrrrtexpected_opinfo_jumpyrs  r
test_jumpyzInstructionTests.test_jumpyrrcPtddd}tj|Dcgc]}|j}}gd}|j	|||Dcgc]0}|j
|j|j|jf2}}|j	||ycc}wcc}w)Nzf(
  x, y, z
)<test>r)	)rr
rrr
r
rr
r)r'r'r'r4)r'r'rOr#)r'r'r"rCr
r4rr
rr)	rrrrrlineno
end_lineno
col_offsetend_col_offset)rcoderrrposnamed_positionss       rtest_co_positionsz"InstructionTests.test_co_positionss)8V<--d3

OO
	


	
H-!
ZZ9K9KL

	
(3+
"
sB5B#c tddd}|jd}tj|}|D]}|j	|5|j
}|j
t|d|jdk(r
	dddV|j|j|j|j|j|j|j|jdddy#1swYxYw)	Nzx, y, zrrrr@)rrSr)rrrrrrrrrr{rrrr)rrcode_without_location_tablerrrs      rtest_co_positions_missing_infoz/InstructionTests.test_co_positions_missing_info7sy(F3&*lll&D#%%&AB!		<K+6
<'11	  Y3%%1	
<
<
!!)"2"23!!)"6"67!!)"6"67!!)":":;
<
<		<
<
<s8D
A,DD
	c	F
d}|j}|jddd}tjd
t	
fd|D}t||z
}d||zksJddD]}dD]}|j
d|d	|5t||jd
D	cgc]\}}	|s|
k7r|	}
}}	tj|||Dcgc]}|j}}|j|
|dddycc}	}wcc}w#1swYxYw)
Nc3K|dzd|z|zz
}|tj|z
d|zz|r"|tj|zd|zzyyw)Nr'rS)cmathsqrtrWs    rrootszEInstructionTests.test_co_positions_with_lots_of_caches.<locals>.rootsIs`1q1uqy A2

1
%!a%00rEJJqM)a!e44sAAr'rc3(K|]	}|k(ywr7r)r8opcache_opcodes  rr:zIInstructionTests.test_co_positions_with_lots_of_caches.<locals>.<genexpr>Qs6BR<'6rsgUUUUUU?zthis test needs more caches!rz	adaptive=z, show_caches=T)strict)rr)
rr1rrsumrrzipco_positionsrrrr)rrropsr
non_cachesrrrrrr
dis_positionsrs             @r%test_co_positions_with_lots_of_cachesz6InstructionTests.test_co_positions_with_lots_of_cachesGsT	5
~~ll3Q3||G,6#66X&
++K-KK(	BK)

B\\YXK+"@AB.1d6G6G6IRV-W$)B	&"*<"$L$,/+?+? 8,%'$--%M%$$\=ABB

B	B$
%
BBs* D(D;DD
+DDD )r"r#r$rrrrrrrrrrr
__classcell__rs@rrrssKKJFJJ442
<
<BBrrcVeZdZdZdZdZdZdZdZdZ	dZ
ed	Zy
)
BytecodeTestscttdjdtjfD]\}|j	|5tj|}|j|jtjddd^|jtt
jty#1swYxYwNr
a=1)obj)r-rrrrrBytecodeassertIsInstancecodeobjtypesCodeTyperdrnro)rrrKs   rtest_instantiationz BytecodeTests.test_instantiationis1r{{;	AC#&
ALL%%%aii@
A
A	A
	
)S\\68<	
A
As
AB99C	cNttdjdtjfD]k}|j	|5tt
j|}tt
j|}|j||dddmy#1swYxxYwr)
r-rrrrrtrrrr)rr
via_object
via_generators    rtest_iterationzBytecodeTests.test_iterationrs1r{{;	HC#&
H!#,,s"34
 $S%9%9#%> ?
,,ZG
H
H	H
H
Hs
ABB$	ctjtt}|j	t|tyr)rrrrrrtrrs  rtest_explicit_first_linez&BytecodeTests.test_explicit_first_lineys(e0CD$$T&\3HIrctjtj}|jj	dd}ttjj}|j||tjtdj}|jj	dd}|j|dy)NrUrrr350)	rrrstrip	partitionr	rco_firstlinenor)rrrs   rtest_source_line_in_disassemblyz-BytecodeTests.test_source_line_in_disassembly}sf%))+))#.q1v556*f599;))#.q1'rcd|_tjD]:\}}tj|}|j|j
|<yr)rrrrrrinfo)rrrrKs    r	test_infozBytecodeTests.test_infosE(33	1KAxQAQVVXx0	1rc~tjtj}|j|tyr7)rrr-rrrs  rtest_disassembledzBytecodeTests.test_disassembleds)b!%%'##FE2rct}tjj|}|jr|j}|jr|j|j|jyr7)rrrfrom_tracebackrrcurrent_offsetrjrrrKs   rtest_from_tracebackz!BytecodeTests.test_from_tracebacksL
XLL''+jjrzz"bjj))2;;7rcd|_t}tjj	|}|j|j
|jtyr7)rrrrrrr
dis_tracebackrs   rtest_from_traceback_disz%BytecodeTests.test_from_traceback_dissE
XLL''+++AEEG4mDrctjd}t||jj	D]\}}|j
|k(rJy)Nr)rrrrrr)rbytecoderrs    rtest_bytecode_co_positionsz(BytecodeTests.test_bytecode_co_positionssI<<& #Hh.>.>.K.K.M N	0E9??i//	0rN)
r"r#r$rrr	rrrrrrrrrrrrgsD=HJ	(138E00rrceZdZdZdZdZy)TestBytecodeTestCasectddd}|j|dd|j|d|j|ddy)Na = 1<string>rrr
	LOAD_NAMEr,rassertInBytecodeassertNotInBytecoderrs  r*test_assert_not_in_with_op_not_in_bytecodez?TestBytecodeTestCase.test_assert_not_in_with_op_not_in_bytecodesDw
F3dL!4  {3  {C8rctddd}|j|d|j|dd|j|ddy)Nr#r$rrr
r'r&r)s  r+test_assert_not_in_with_arg_not_in_bytecodez@TestBytecodeTestCase.test_assert_not_in_with_arg_not_in_bytecodesDw
F3dL1dL!4  |Q7rctddd}|jt5|j|dddddy#1swYyxYw)Nr#r$rrr
)rrdAssertionErrorr(r)s  r'test_assert_not_in_with_arg_in_bytecodez<TestBytecodeTestCase.test_assert_not_in_with_arg_in_bytecodesEw
F3


~
.	<$$T<;	<	<	<sAA	N)r"r#r$r*r,r/rrrr!r!s98<rr!c$eZdZdZdZdZdZy)TestFinderMethodsc$gd}|D]{\}}|j|5t|dd}ttj|}|jt
|d|j|d|ddd}y#1swYxYw)N))zimport a.b.c)za.b.crN)zfrom a.b import ca.brrP)zfrom a.b import c as dr3)zfrom a.b import *)r4r*)zfrom ...a.b import c as d)r4r4rP)z from ..a.b import c as d, e as f)r4r')rLr
)zfrom ..a.b import *)r4r'r5srcr$rr
r)rrtupler
_find_importsrrrcasesr8rrr2s      rtest__find_importsz$TestFinderMethods.test__find_importss
#	3MC#&
3sJ7C--d34  S1-  Q2	
3
3	3
3
3sABB	cgd}|D]]\}}|j|5t|dd}ttj|}|j||ddd_y#1swYjxYw)N))zx+yr)zx=y=1ru)zx+=yr)zglobal x
x=y=1ru)zglobal x
z=x)rrr7r$r)rrr9r_find_store_namesrr;s      rtest__find_store_namesz(TestFinderMethods.test__find_store_namessy
#	0MC#&
0sJ7C11$78  h/
0
0	0
0
0s>A((A1	ctjtjj}t
Dcgc]}|jr|j}}|jt|t|ycc}wr7)
r
findlabelsrrr1rrrrsorted)rlabelsrjumpss    rtest_findlabelsz!TestFinderMethods.test_findlabelsse 6 67/
##
LL

	
7

sA<cd}|j}tj|Dcgc]}|d	}}|j|ddgycc}w)Ncyr7rrrrrz3TestFinderMethods.test_findlinestarts.<locals>.funcsrrr')rrfindlinestartsr)rrr	linestartoffsetss     rtest_findlinestartsz%TestFinderMethods.test_findlinestartssN	}}141C1CD1IJI9Q<JJ1a&)KsA
N)r"r#r$r=r@rFrLrrrr1r1s3"08*rr1c8eZdZdfdZdZdZdZdZxZS)TestDisTracebackcx	t`	t`t|S#t$rY wxYw#t$rY(wxYwr7)r`rarbrcrsetUp)rrs rrPzTestDisTraceback.setUpsM		"w}
				s-	**	99ctj}tj|5t	j
|ddd|j
S#1swY|j
SxYwr7rrrrrdistbrrrrs   rrz TestDisTraceback.get_disassemblysP

'
'
/	IIbM	  	  sAA0c|jt5tjdddy#1swYyxYwr7)rdrerrSrs rtest_distb_emptyz!TestDisTraceback.test_distb_emptys.


|
,	IIK			s4=cd|_t}|t_|j	|jdtyr7)rrr`rcrrrrrs  rtest_distb_last_tracebackz*TestDisTraceback.test_distb_last_tracebacks3
X##D$8$8$>
Nrcpd|_t}|j|j|tyr7)rrrrrrXs  rtest_distb_explicit_argz(TestDisTraceback.test_distb_explicit_args+
X##D$8$8$<mLr)returnN)	r"r#r$rPrrVrYr[rrs@rrNrNs	!OMrrNceZdZdZy)TestDisTracebackWithFilectj}tj|5t	j
||ddd|j
S#1swY|j
SxYw)NrrRrTs   rrz(TestDisTracebackWithFile.get_disassemblysS

'
'
/	'IIbv&	'  	'  sAA2Nrrrrr^r^s!rr^__main__)r)T)r
r')rrrrr`runittesttest.supportrrrrtest.support.bytecode_helperrrrrhriTRACEBACK_CODErrrrr8r;r!rBrr?r"r5r-rr2r3rr;__file__rr=rrbytesrrrrrrrMrQr	rr
rrrrr'r(r)r*r+r,r-r.rrYrSr^rVr`rYrcrfr\r]rhrjrmrwrtrurvryrr}rrrrTestCaserrrrrcode_info_constsrr%rr__func__	co_constsrrrrrrrrrrr_line_offset
code_object_frcode_object_innerrrrrInstructionreprrrrrrrrrrr!r1rNr^mainrrr<module>rqs-(
		
AA9
""))

	
{{**BKK,@,@,O,ORS,SU	V	
uu~~$$beenn&C&Ca&GI	J
uu~~$$beenn&C&Ca&GIJ$
{{2	uu~~)	uu~~*		,
		
{{!!	{{!!A%	{{!!A%'	'

"((((1,((1,((1,((1,((1,.#.
2	
))))A-))A-))A-))A-//.	
%%--7-C




LL #		""11""11A577		> (P$$$$q($$q($$q($$q($$q($$q($$q(*Q/*
b&$''):):)I)IA)MN%O(

%J
~~$$~~$$q(~~$$q(~~$$q(~~$$q(~~$$q(~~$$q(
	K,	\

CF))))A-))A-))A-))A-))A-))A-
	GJ	
Z.****Q.**Q.**Q.	/	:.  //  //!3  //!3  //!3	/	:


{{!!	{{!!A%	{{!!A%	{{!!A%	("	{{!!A%	{{!!A%	{{!!A%	{{!!A%
#4.	{{!!A%	{{!!A%/: ((((1,((1,. .  (((((1,((1,((1,/) /2	!!00!!00147
7L((##L(^Z0{Z0z	!x	!==  O
$$$$
@__--77:,

 
&5H%%5F
$<~~,,q0((+
..=!++A.'66E/

"oo[!CUVdhy~KOP
[!CUVdhy~KOP
XcqBq^_puBFG
\#1VX^_mn@EQUV
^CQsCXYgk}BNRS
^CQsCXZhl~COST
]3AaTVdhy~KOP
\#1]TXYfTgprAEV[gkl
_SaK^giw{MR^bc
\#1S#VXfj|AMQR
]3Ag~fhvwINZ^_
\#1S#VXfj|AMQR
\#1S#VXfj|AMQR
\#1RVXfj|AMQR
\#1QTVdhy~KOP
\#1QSUcgx}JNO
[!ArRTbfw|IMN
\#1^UenpCTYeij
VCQq"R]arwDHI
Yqd4TVdhy~KOP
[!CUWefw|IMN
^BDrZ\jn@EQUV-4%cqBWXfj|AMQR
[!CUVdhy~KOP
[!CUVdhy~KOP
XcqBq^_puBFG
\#1VX^_mn@EQUV
^CQsCXZhl~COST
^CQsCXZhl~COST
^CQsCXZhl~COST
^CQsCXZhl~COST
]3AaTVdhy~KOP
\#1=NX\]nXoxzIM^cost
_SaK^giw{MR^bc
\#1Wg^`nrDIUYZ
]3Ag~fhvwINZ^_
\#1S#VXfj|AMQR
\#1S#VXfj|AMQR
\#1S#VXfj|AMQR
\#1S#VXfj|AMQR
VCQq"R]arwDHI
Yqd4TVdhy~KOP
[!GW]_mn@EQUV
^BDrZ\jn@EQUV-4%cqBWXfj|AMQR
XcqBq^_puBFG
]3Ag~fguvHMY]^
\#1S#VXfj|AMQR
\#1S#VXfj|AMQR
\#1S#VXfj|AMQR
\#1S#VXfj|AMQR
[!CUWeizLPQ
[!CUWeizLPQ
VCQq"R]arwDHI
Yqd4TVdhy~KOP
^CQtV\^lpBGSWX
r
XcqBq^_puBFGr
]3Ag~fguvHMY]^r\#1RVXfj|AMQRrVCQq"R]arwDHI	r
ZT2VXfj|AMQRrZ2wWYgk}AMQR
r\#1S#VXfj|AMQRr]3Ag~fhvwINZ^_r[!CUWeizLPQrVCQq"R]arwDHIrYqd4TVdhy~KOPr[!CUWefw|IMNr\#1QTVdhy~KOPr\#1S#VXfj|AMQRr(!BPW`bptFKW[\r _SbW]_mn@EQUV!r"[!CUWefw{HLM#r$\#1QTVdhy~KOP%r&\#2c3WYgk}BNRS'r('2w_aosEJVZ[)r*_SbW]_mqCHTXY+r,Yqd4TVdevzGKL-r.^CRX^`nrDIUYZ/r0Yqd4TVdevzGKL1r2]3Ag~fhvxJO[_`3r4\#1=U_yCESWhmy}~5r6VCQq"R]arwDHI7r8Yqd4TWeizLPQ9r:&s#s[^ln@DPTU;r<("SRZcftxJO[_`=r>]3Ag~fiwyKO[_`?r@[!CUXfj|AMQRArBVCQq"S^bsxEIJCrDYqd4TWeizLPQErF[!CUXfhy~KOPGrH\#1QTWeizLPQIrJ["RVYgk}BNRSKrL\#1S#VYgk}BNRSMrN[!CUXfhy~KOPOrP\#1QTWeizLPQQrR\#2c3WZhl~COSTSrT(!CQYbeswINZ^_UrV_Sbh_bprDIUYZWrX[!CUXfhy}JNOYrZ\#1QTWeizLPQ[r\\#1S#VYgk}BNRS]r^(!CQYbeswINZ^__r`^CRX^aoqCHTXYarb[!CUXfhy}JNOcrd(!CQYbeswINZ^_erf_Sbh_bptFKW[\grh]3Ag~fiwyKO[_`irj\#1=doXadrvGLX\]krlVCQq"S^bsxEIJmrnYqd4TWeizLPQorpU1$tRPSactxEIJqrr\#1QTWegx}JNOsrt\#1QTWeizLPQurv["RUXfj|AMQRwrxYqd4TWeizLPQyrz[!CUXfhy~KOP{r|]24bY\jn@EQUV}r~\#1Wg^aosEJVZ[r@]3Ag~fiwyKP\`aArB\#1=OYmvyHL]bnrsCrDVCQq"S^bsxEIJErFYqd4TWeizLPQGrH\#1T6Z]kmDPTUIrJ\#1T6Z]koAFRVWKrL\#1T6Z]koAFRVWMrNVCQq"S^bsxEIJOrPYqd4TWeizLPQQrR]3Ag~fiwyKO[_`SrT\#2>R\s|NRchtxyUrVVCQq"S^bsxEIJWrXYqd4TWeizLPQYrZ^CQtV\_mqCHTXY[r\_RT$PR[^ln@EQUV]r^(dTV_bptFKW[\_r`'3PXadrvHMY]^arbYs!RPSaev{HLMcrdYqd4TWeiz~KOPerf\"$tRX[imDPTUgrhYqd4TWeizLPQirjYqd4TWeizLPQkrl_Sbh_bptFKW[\mrnVCQq"S^bsxEIJorp\"$tRX[imDPTUqrrYs!RPSaev{HLMsrt_RT$PR[^lpBGSWXurv]3A>Q[nwzIK\amqrwrx&rtDRT]`nrDIUYZyrz("SRZcftxJO[_`{r|Yqd4TWeizLPQ}r~]3Ag~fiwyKP\`ar@\#1=doXadrvGLX\]ArBVCQq"S^bsxEIJCrDYqd4TWeizLPQErF\"$tRX[imDPTUGrH_Sbh_bptFKW[\IrJYs!RPSactxEIJKrLVCQq"S^bsxEIJMrN\"$tRX[imDPTUOrPYs!RPSaev{HLMQrR_RT$PR[^lpBGSWXSrT]3Ag~fiwyKP\`aUrV\#2>R\s|NRchtxyWrXVCQq"S^bsxEIJYrZYqd4TWeizLPQ[r\Ys!RPSaev{HLM]r^VCQq"S^bsxEIJ_r`\"$tRX[imDPTUarbYs!RPSaev{HLMcrj
XcqBq^d^m^m^|^|NS_cd
^CQtV\]koAFG-*-hB*hBX<0'<0|<+<$0*))0*f"M{"MJ!/!zHMMOr