GIF89a; EcchiShell v1.0
//lib64/lib64/lib64/lib64/python2.7/lib2to3/ suite => simple_stmt => expr_stmt => Leaf('__meta') 2) clsdef => simple_stmt => expr_stmt => Leaf('__meta') it __metaclass__( tchildrenttypeRtsuitet has_metaclasst simple_stmtt expr_stmtt isinstanceRtvaluetTruetFalse(tparenttnodet expr_nodet left_side((s3/usr/lib64/python2.7/lib2to3/fixes/fix_metaclass.pyR s   cCsÛx'|jD]}|jtjkr dSq Wx?t|jƒD]"\}}|jtjkr:Pq:q:Wtdƒ‚ttjgƒ}xC|j|drÃ|j|d}|j |j ƒƒ|j ƒqW|j |ƒ|}dS(sf one-line classes don't get a suite in the parse tree so we add one to normalize the tree NsNo class suite and no ':'!i( RRRR t enumerateRtCOLONt ValueErrorRt append_childtclonetremove(tcls_nodeRtiR t move_node((s3/usr/lib64/python2.7/lib2to3/fixes/fix_metaclass.pytfixup_parse_tree-s  c Csñx7t|jƒD]"\}}|jtjkrPqqWdS|jƒttjgƒ}ttj |gƒ}x;|j|r¨|j|}|j |j ƒƒ|jƒqnW|j ||ƒ|jdjd}|jdjd} | j |_ dS(sÑ if there is a semi-colon all the parts count as part of the same simple_stmt. We just want the __metaclass__ part so we move everything efter the semi-colon into its own simple_stmt node Ni(RRRRtSEMIRRRR R RRt insert_childtprefix( RRt stmt_nodetsemi_indRtnew_exprtnew_stmtRt new_leaf1t old_leaf1((s3/usr/lib64/python2.7/lib2to3/fixes/fix_metaclass.pytfixup_simple_stmtGs  cCs:|jr6|jdjtjkr6|jdjƒndS(Niÿÿÿÿ(RRRtNEWLINER(R((s3/usr/lib64/python2.7/lib2to3/fixes/fix_metaclass.pytremove_trailing_newline_s"ccsÿx3|jD]}|jtjkr Pq q Wtdƒ‚xÂtt|jƒƒD]«\}}|jtjkrL|jrL|jd}|jtjkr÷|jr÷|jd}t |t ƒrô|j dkrôt |||ƒt |ƒ|||fVqôq÷qLqLWdS(NsNo class suite!iu __metaclass__(RRRR RtlistRR R R RRR(R*(RRRt simple_nodeRt left_node((s3/usr/lib64/python2.7/lib2to3/fixes/fix_metaclass.pyt find_metasds "   cCs¹|jddd…}x,|rD|jƒ}|jtjkrPqqWxm|r´|jƒ}t|tƒr”|jtjkr”|jrd|_ndS|j |jddd…ƒqHWdS(s› If an INDENT is followed by a thing with a prefix then nuke the prefix Otherwise we get in trouble when removing __metaclass__ at suite start Niÿÿÿÿu( RtpopRRtINDENTR RtDEDENTR!textend(R tkidsR((s3/usr/lib64/python2.7/lib2to3/fixes/fix_metaclass.pyt fixup_indent{s    !  t FixMetaclasscBseZeZdZd„ZRS(s classdef cCst|ƒsdSt|ƒd}x-t|ƒD]\}}}|}|jƒq-W|jdj}t|jƒdkrÙ|jdjtj krž|jd}q‘|jdj ƒ} t tj | gƒ}|j d|ƒn¸t|jƒdkrt tj gƒ}|j d|ƒn~t|jƒdkr…t tj gƒ}|j dttjdƒƒ|j d|ƒ|j dttjdƒƒn td ƒ‚|jdjd} d | _| j} |jrå|jttjd ƒƒd | _n d | _|jd} d | jd_d | jd_|j|ƒt|ƒ|js†|jƒt|dƒ} | | _|j| ƒ|jttjdƒƒn…t|jƒdkr |jdjtjkr |jdjtjkr t|dƒ} |j d| ƒ|j dttjdƒƒndS(Niiiiiiu)u(sUnexpected class definitiont metaclassu,u uiupassu iþÿÿÿiÿÿÿÿ(R RtNoneR.RRRtlenRtarglistRRt set_childR RRtRPARtLPARRRR!RtCOMMAR4R)R0R1(tselfRtresultstlast_metaclassR Rtstmtt text_typeR9Rtmeta_txttorig_meta_prefixR t pass_leaf((s3/usr/lib64/python2.7/lib2to3/fixes/fix_metaclass.pyt transform˜s^               (t__name__t __module__Rt BM_compatibletPATTERNRF(((s3/usr/lib64/python2.7/lib2to3/fixes/fix_metaclass.pyR5‘sN(t__doc__tRtpygramRt fixer_utilRRRRR RR(R*R.R4tBaseFixR5(((s3/usr/lib64/python2.7/lib2to3/fixes/fix_metaclass.pyts"