tzh
2024-08-22 c7d0944258c7d0943aa7b2211498fd612971ce27
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
V\¬Qc@sdZddlZddlZddlZddlmZddlmZmZm    Z    m
Z
dfd„ƒYZ d„Z dfd    „ƒYZ d
Zd Zd Zd Zde fd„ƒYZd„Zdfd„ƒYZd„Zd„Zdfd„ƒYZdfd„ƒYZeƒjZdS(s/A flow graph representation for Python bytecodeiÿÿÿÿN(tmisc(t CO_OPTIMIZEDt CO_NEWLOCALSt
CO_VARARGStCO_VARKEYWORDSt    FlowGraphcBs}eZd„Zd„Zd d„Zd„Zd„ZdZd„Z    d„Z
d„Z d    „Z d
„Z d „Zd „ZRS(cCs[tƒ|_|_tdƒ|_tjƒ|_|jj|jƒ|jj|jƒdS(Ntexit(tBlocktcurrenttentryRRtSettblockstadd(tself((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyt__init__ s
cCsr|jre|jrWdGt|jƒGHdG|jjGHdG|jjGHdG|jjƒGHnt|ƒGHn||_dS(Ntends    nexts    prevs   (t_debugRtreprtnexttprevt get_children(R tblock((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyt
startBlocks        cCs<|dkr|jƒ}n|jj|ƒ|j|ƒdS(N(tNonetnewBlockRtaddNextR(R R((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyt    nextBlocks cCstƒ}|jj|ƒ|S(N(RR R (R tb((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyR5s    cCs|j|jƒdS(N(RR(R ((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pytstartExitBlock:sicCs d|_dS(Ni(R(R ((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyt _enable_debug?scCs d|_dS(Ni(R(R ((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyt_disable_debugBscGse|jrdG|GHnt|ƒdkrQt|dtƒrQ|jj|dƒn|jj|ƒdS(Ns    ii(Rtlent
isinstanceRRt
addOutEdgetemit(R tinst((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyR"Es
     %cCst|j|jƒ}|S(slReturn the blocks in reverse postorder
 
        i.e. each node appears before all of its successors
        (t order_blocksR    R(R torder((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pytgetBlocksInOrderLscCs |jjƒS(N(R telements(R ((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyt    getBlocksTscCs|jS(s/Return nodes appropriate for use with dominator(R    (R ((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pytgetRootWscCs4g}x'|jƒD]}|j|jƒƒqW|S(N(R(textendtgetContainedGraphs(R tlR((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyR+[sN(t__name__t
__module__RRRRRRRRRR"R&R(R)R+(((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyR s        
                                csèg}tƒ‰|g}xh|r‚|jƒ}|ˆkr?qnˆj|ƒx0|jƒD]"}|ˆkrY|j|ƒqYqYWqWi‰xȈD]À}tr×|jr×||jdjdks×t||jfƒ‚nˆj    |tƒƒxc|j
ƒD]U}xLˆj    |tƒƒj|ƒ|jrH|jd|k    rH|jd}qPqq÷WqW‡‡fd†}|}xu|j|ƒˆj |ƒ|jr¥|jd}qon)||k    rÎ|j ƒ rÎ|j|ƒnˆsØPn|ƒ}qo|S(s8Order blocks so that they are emitted in the right ordericsPx7ˆD]/}x&ˆ|D]}|ˆkrPqqW|SqWdsLtdƒ‚dS(Nis+circular dependency, cannot find next block(tAssertionError(Rtc(t
dominatorst    remaining(sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyt    find_nextŒs   ( tsettpopR Rtappendt    __debug__RRR/t
setdefaultt get_followerstdiscardthas_unconditional_transfer(t start_blockt
exit_blockR%ttodoRR0R3((R1R2sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyR$bsH                 2 
        RcBszeZdZdd„Zd„Zd„Zd„Zd„Zd„Zd„Z    dZ
d„Z d„Z d„Z d„ZRS(itcCsPg|_tƒ|_||_tj|_g|_g|_tjdt_dS(Ni(    tinstsR4toutEdgestlabelRt_counttbidRR(R RB((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyR¨s                  cCs,|jrd|j|jfSd|jSdS(Ns<block %s id=%d>s <block id=%d>(RBRD(R ((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyt__repr__±s    cCs2tt|jƒ}d|j|jdj|ƒfS(Ns<block %s %d:
%s>s
(tmaptstrR@RBRDtjoin(R R@((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyt__str__·scCs|d}|jj|ƒdS(Ni(R@R6(R R#top((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyR"¼s
cCs|jS(N(R@(R ((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pytgetInstructionsÀscCs|jj|ƒdS(N(RAR (R R((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyR!ÃscCs~|jj|ƒt|jƒdks=ttt|jƒƒ‚|jj|ƒt|jƒdkszttt|jƒƒ‚dS(Ni(RR6RR/RFRGR(R R((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyRÆs-t RETURN_VALUEt RAISE_VARARGSt JUMP_ABSOLUTEt JUMP_FORWARDt CONTINUE_LOOPcCs?y|jd\}}Wnttfk
r1dSX||jkS(sÆReturns True if there is an unconditional transfer to an other block
        at the end of this block. This means there is no risk for the bytecode
        executer to go past this block's bytecode.iÿÿÿÿN(R@t
IndexErrort
ValueErrort_uncond_transfer(R RJtarg((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyR;Ðs
cCst|jƒ|jS(N(tlistRAR(R ((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyRÚscCsNt|jƒ}x8|jD]-}|dtjkr|j|dƒqqW|S(s:Get the whole list of followers, including the next block.ii(R4RR@t PyFlowGraphthasjrelR (R t    followersR#((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyR9Ýs
cCsbg}xU|jD]J}t|ƒdkr.qn|d}t|dƒr|j|jƒqqW|S(s¨Return all graphs contained within this block.
 
        For example, a MAKE_FUNCTION block will contain a reference to
        the graph for the function body.
        itgraph(R@RthasattrR6RY(R t    containedR#RJ((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyR+çs
(RLRMRNRORP(R-R.RCRRERIR"RKR!RRSR;RR9R+(((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyR¥s                                
       
tRAWtFLATtCONVtDONERVcBsAeZejZdddd„Zd„Zd„Zd„Zd„Z    d„Z
d„Z dd„Z d    „Z d
„ZeƒZx%ejD]ZejejeƒqˆWeƒZx%ejD]Zejejeƒq¹Wd „Zd „Zd „ZiZd„Zd„ZeZeZd„Zd„ZeZ eZ!eZ"eZ#eZ$eZ%eZ&eZ'eZ(eZ)d„Z*e*Z+e*Z,d„Z-e.ej/ƒZ0d„Z1xDe2ƒj3ƒD]3\Z4Z5e4d dkrªe4dZe5ee<qªqªW[4[5[d„Z6iZ7x.e8e9ejƒƒD]Z:e:e7eje:<qW[:d„Z;d„Z<RS(icCs|jƒ||_||_d|_||_t|ƒ|_||_|r\t    t
B|_ n    d|_ g|_ g|_ g|_g|_g|_t|ƒp¡g|_xOtt|jƒƒD]8}|j|}t|tƒr½|jƒ|j|<q½q½Wt|_dS(Ni(t
super_inittnametfilenameRt    docstringtargst getArgCounttargcounttklassRRtflagstconststnamestfreevarstcellvarstclosureRUtvarnamestrangeRR tTupleArgtgetNameR\tstage(R RaRbRdt    optimizedRgtitvar((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyRs*
                                             cCs ||_dS(N(Rc(R tdoc((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyt setDocstringscCs3|j|B|_|tkr/|jd|_ndS(Ni(RhRRf(R tflag((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pytsetFlag"s cCs|j|@rdSdS(Ni(Rh(R Rx((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyt    checkFlag's cCst|ƒ|_dS(N(RURk(R Rj((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyt setFreeVars+scCs ||_dS(N(Rl(R Rj((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyt setCellVars.scCs†|jtkst‚|jƒ|jƒ|jtks>t‚|jƒ|jtks]t‚|jƒ|jt    ks|t‚|j
ƒS(sGet a Python code object( RrR\R/tcomputeStackDeptht flattenGraphR]t convertArgsR^t makeByteCodeR_t newCodeObject(R ((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pytgetCode1s
 
 
 
cCs¸|rtj}|t_nd}x~|jD]s}|d}|dkrKHnt|ƒdkr{dGd|G|GH|d}q+dGd|G|G|dGH|d}q+W|r´|t_ndS(Nit
SET_LINENOis    s%3di(tsyststdoutR@R(R tiotsavetpctttopname((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pytdump=s     
  cspi‰d}x*ˆjƒD]}t|jƒƒˆ|<qWi‰‡‡‡‡fd†‰ˆˆjdƒˆ_dS(s¾Compute the max stack depth.
 
        Approach is to compute the stack effect of each basic block.
        Then find the path through the code with the largest total
        effect.
        cs‡|ˆkr|Sdˆ|<|ˆ|}|jƒ}|r`tg|D]}ˆ||ƒ^qDƒS|jdksˆˆj|ƒS|SdS(NiR(RtmaxRBR(RtdtchildrenR0(tdeptht    max_depthtseenR (sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyR]s 
 &iN(RR(t    findDepthRKR    t    stacksize(R RR((RRR‘R sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyR}Osc Cs£|jtkst‚g|_}d}i}i}xˆ|jƒD]z}|||<x]|jƒD]O}|j|ƒt|ƒdkr|d}q^|ddkr^|d}q^q^W|||<qAWd}xÎtt|ƒƒD]º}||}t|ƒdkr|d}n|ddkr$|d}n|d}||j    krh|d}    ||    |}
||
f||<qØ||j
krØ|||df||<qØqØWt |_dS(s-Arrange the blocks in order and resolve jumpsiiRƒiN( RrR\R/R@R&RKR6RRoRWthasjabsR]( R R@RˆtbeginRRR#RtRŠtopargtoffset((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyR~ms: 
 
 
 
cCsÊ|jtkst‚|jjd|jƒ|jƒx…tt|j    ƒƒD]n}|j    |}t|ƒdkrK|\}}|j
j |dƒ}|r¹||||ƒf|j    |<q¹qKqKWt |_dS(s0Convert arguments from symbolic to concrete formiiN(RrR]R/RitinsertRct sort_cellvarsRoRR@t _converterstgetRR^(R RtR‰RŠR–tconv((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyR•s
  &cCs—i}x|jD]}d||<qWg|jD]}||kr.|^q.|_x|jD] }||=qYW|j|jƒ|_|j|j|_dS(sHSort cellvars in the order of varnames and prune from freevars.
        iN(RlRntkeysRkRm(R tcellsRa((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyR™£s cCspt|ƒ}xDtt|ƒƒD]0}|t||ƒkr|||kr|SqWt|ƒ}|j|ƒ|S(sƒReturn index of name in list, appending if necessary
 
        This routine uses a list instead of a dictionary, because a
        dictionary can't store two different keys if the keys have the
        same value but different types, e.g. 2 and 2L.  The compiler
        must treat these two separately, so it does an explicit type
        comparison before comparing the values.
        (ttypeRoRR6(R RaRUR‰RtR((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyt _lookupName°s     &  cCs1t|dƒr|jƒ}n|j||jƒS(NR‚(RZR‚R Ri(R RT((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyt_convert_LOAD_CONSTÂscCs&|j||jƒ|j||jƒS(N(R RjRn(R RT((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyt_convert_LOAD_FASTÇscCs8|jdkr%|j||jƒn|j||jƒS(N(RgRR RnRj(R RT((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyt_convert_LOAD_NAMEÍscCs8|jdkr%|j||jƒn|j||jƒS(N(RgRR RnRj(R RT((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyt _convert_NAMEÒscCs9|j||jƒ|j||jƒ|j||jƒS(N(R RjRnRm(R RT((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyt_convert_DEREFáscCs&|j||jƒ|j||jƒS(N(R RnRm(R RT((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyt_convert_LOAD_CLOSUREèscCs|jj|ƒS(N(t_cmptindex(R RT((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyt_convert_COMPARE_OPísi    t    _convert_cCs|jtkst‚tƒ|_}xÑ|jD]Æ}|d}t|ƒdkrh|j|j|ƒq/|d}|dkr‘|j    |ƒq/nt
|ƒ\}}y|j|j|||ƒWq/t k
rô|G|GH|j|G|G|GH‚q/Xq/Wt |_dS(NiiRƒ( RrR^R/t LineAddrTabletlnotabR@RtaddCodetopnumtnextLinettwobyteRRR_(R R¬R‰RŠR–thitlo((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyR€øs$
 
        cCså|jtkst‚|jt@dkr1d}nt|jƒ}|j}|jt@rc|d}nt    j
|||j |j|j j ƒ|jƒt|jƒt|jƒ|j|j|j j|j jƒt|jƒt|jƒƒS(Nii(RrR_R/RhRRRnRfRttypestCodeTypeR“R¬R‚t    getConststtupleRjRbRat    firstlinetgetTableRkRl(R tnlocalsRf((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyRs          cCsOg}x<|jD]1}t|tƒr4|jƒ}n|j|ƒqWt|ƒS(s›Return a tuple for the const slot of the code object
 
        Must convert references to code (MAKE_FUNCTION) to code
        objects recursively.
        (RiR RVR‚R6R¶(R R,telt((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyRµ"s (N(=R-R.RRR`RRwRyRzR{R|R‚R‹R}R~R4RWtdisRtR RŠR”RR™R RšR¡R¢t_convert_STORE_FASTt_convert_DELETE_FASTR£R¤t_convert_STORE_NAMEt_convert_DELETE_NAMEt_convert_IMPORT_NAMEt_convert_IMPORT_FROMt_convert_STORE_ATTRt_convert_LOAD_ATTRt_convert_DELETE_ATTRt_convert_LOAD_GLOBALt_convert_STORE_GLOBALt_convert_DELETE_GLOBALR¥t_convert_LOAD_DEREFt_convert_STORE_DEREFR¦RUtcmp_opR§R©tlocalstitemsRatobjR€R®RoRtnumRRµ(((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyRVþsn                                     !                                                
            cCs|d dkrdSdS(NitJUMPi((RŠ((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pytisJump/sRpcBs)eZdZd„Zd„Zd„ZRS(s:Helper for marking func defs with nested tuples in arglistcCs||_||_dS(N(tcountRj(R RÑRj((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyR5s    cCsd|j|jfS(NsTupleArg(%s, %s)(RÑRj(R ((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyRE8scCs d|jS(Ns.%d(RÑ(R ((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyRq:s(R-R.t__doc__RRERq(((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyRp3s        cCs^t|ƒ}|rZxE|D]:}t|tƒrttj|jƒƒ}||}qqWn|S(N(RR RpRtflattenRj(RdRfRTtnumNames((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyRe=s  cCs"t|tƒst‚t|dƒS(s/Convert an int argument into high and low bytesi(R tintR/tdivmod(tval((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyR°FsR«cBs;eZdZd„Zd„Zd„Zd„Zd„ZRS(s(lnotab
 
    This class builds the lnotab, which is documented in compile.c.
    Here's a brief recap:
 
    For each SET_LINENO instruction after the first one, two bytes are
    added to lnotab.  (In some cases, multiple two-byte entries are
    added.)  The first byte is the distance in bytes between the
    instruction for the last SET_LINENO and the current SET_LINENO.
    The second byte is offset in line numbers.  If either offset is
    greater than 255, multiple two-byte entries are added -- see
    compile.c for the delicate details.
    cCs:g|_d|_d|_d|_d|_g|_dS(Ni(tcodet
codeOffsetR·tlastlinetlastoffR¬(R ((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyRZs                     cGsAx$|D]}|jjt|ƒƒqW|jt|ƒ|_dS(N(RØR6tchrRÙR(R RdRT((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyR­bs cCs |jdkr$||_||_nä|j|j}||j}|dkr|jj}x.|dkr‰|dƒ|dƒ|d8}q\Wx4|dkrÀ||ƒ|dƒ|d8}d}qW|dksÙ|dkrð||ƒ||ƒn||_|j|_ndS(Niiÿ(R·RÚRÙRÛR¬R6(R tlinenotaddrtlinetpush((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyR¯gs*       
 
 
 
 
 
 
    cCsdj|jƒS(NR?(RHRØ(R ((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyR‚‡scCsdjtt|jƒƒS(NR?(RHRFRÜR¬(R ((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyR¸Šs(R-R.RÒRR­R¯R‚R¸(((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyR«Ks                   tStackDepthTrackercBsœeZdd„Zi&dd6dd6dd6dd6dd    6dd
6dd 6dd 6dd 6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd 6dd!6dd"6dd#6dd$6dd%6dd&6dd'6d(d)6d(d*6dd+6dd,6Zd;d<gZd/„Zd0„Zd1„Zd2„Zd3„Z    d4„Z
d5„Z d6„Z d7„Z d8„Zd9„Zd:„ZRS(=ic Csd}d}x|D]ú}|d}|r0|Gn|jj|dƒ}|dk    r^||}nˆxA|jD]6\}}    |t|ƒ |krh|    }||}PqhqhW|dkræt||dƒ}
|
dk    ræ||
|dƒ}qæn||krû|}n|r|G|GHqqW|S(Nii(teffectR›RtpatternsRtgetattr( R R@tdebugRtmaxDepthRtRŠtdeltatpatt    pat_deltatmeth((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyR’‘s. 
 
       iÿÿÿÿtPOP_TOPitDUP_TOPt LIST_APPENDtSET_ADDiþÿÿÿtMAP_ADDsSLICE+1sSLICE+2sSLICE+3s STORE_SLICE+0s STORE_SLICE+1s STORE_SLICE+2iýÿÿÿs STORE_SLICE+3sDELETE_SLICE+0sDELETE_SLICE+1sDELETE_SLICE+2sDELETE_SLICE+3t STORE_SUBSCRt DELETE_SUBSCRt
PRINT_ITEMRLt YIELD_VALUEt    EXEC_STMTt BUILD_CLASSt
STORE_NAMEt
STORE_ATTRt DELETE_ATTRt STORE_GLOBALt    BUILD_MAPt
COMPARE_OPt
STORE_FASTt IMPORT_STARt IMPORT_NAMEt IMPORT_FROMt    LOAD_ATTRit SETUP_EXCEPTt SETUP_FINALLYtFOR_ITERt WITH_CLEANUPtBINARY_tLOAD_cCs|dS(Ni((R RÑ((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pytUNPACK_SEQUENCEÝscCs    | dS(Ni((R RÑ((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyt BUILD_TUPLEßscCs    | dS(Ni((R RÑ((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyt
BUILD_LISTáscCs    | dS(Ni((R RÑ((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyt    BUILD_SETãscCs"t|dƒ\}}||d S(Nii(RÖ(R targcR±R²((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyt CALL_FUNCTIONåscCs|j|ƒdS(Ni(R (R R ((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pytCALL_FUNCTION_VARèscCs|j|ƒdS(Ni(R (R R ((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pytCALL_FUNCTION_KWêscCs|j|ƒdS(Ni(R (R R ((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pytCALL_FUNCTION_VAR_KWìscCs| S(N((R R ((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyt MAKE_FUNCTIONîscCs| S(N((R R ((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyt MAKE_CLOSUREðscCs$|dkrdS|dkr dSdS(Niiÿÿÿÿiiþÿÿÿ((R R ((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyt BUILD_SLICEós  cCs|S(N((R R ((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pytDUP_TOPXøs(Riÿÿÿÿ(Ri(R-R.R’RâRãRRR    R
R R RRRRRR(((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyRásl 
                                                (RÒR»R³R„tcompilerRtcompiler.constsRRRRRR$RR\R]R^R_RVRÐRpReR°R«RáR’(((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/compiler/pyassem.pyt<module>s*   "W    CTÿ2    
           Bn