eaiovnaovbqoebvqoeavibavo B YI~d*2@sddlTd ddZddZd!d d Zd d ZddZd"ddZddZddZd#ddZ ddZ Gddde Z Gddde Z dS)$)* execcCst|||tS)N)compileZ PyCF_ONLY_AST)sourcefilenamemoder (/opt/alt/python37/lib64/python3.7/ast.pyparsesr csRt|trt|dd}t|tr&|j}ddfddfdd|S) Neval)rcSsHt|tr$t|jtttfr4|jSnt|tr4|jStdt |dS)Nzmalformed node or string: ) isinstanceConstantvalueintfloatcomplexNumn ValueErrorrepr)noder r r _convert_num1s   z"literal_eval.._convert_numcsDt|tr._convert_signed_numcs.t|tr|jSt|ttfr$|jSt|tr4|jSt|trNt t |j St|t rht t |j St|trtt |j St|trttt |jt |jSt|tr|jSt|tr&t|jttfr&|j}|j}t|ttfr&t|tr&t|jtr||S||S|S)N)r rrStrZBytessrrZTupletuplemapZeltsZListlistSetsetZDictdictzipkeysvaluesZ NameConstantZBinOprZAddZSubleftrightrrr)rr'r()_convertrrr r r)@s2         zliteral_eval.._convert)r strr Z Expressionbody)Znode_or_stringr )r)rrr literal_eval&s    r,TFcs2fddt|ts*td|jj|S)Nc s t|trg}}x`|jD]V}yt||}Wntk rDd}YqX|rb|d||fq||qWr|jrxD|jD]:}y |d|t||fWqtk rYqXqWd|jjd |fSt|t rdd fdd|DSt |S)NTz%s=%sz%s(%s)z, z[%s]c3s|]}|VqdS)Nr ).0x)_formatr r ~sz(dump.._format..) r AST_fieldsgetattrAttributeErrorappend _attributes __class____name__joinr r)rargskeywordsfieldra)r/annotate_fieldsinclude_attributesr r r/hs*        zdump.._formatzexpected AST, got %r)r r1 TypeErrorr7r8)rr>r?r )r/r>r?r dump^s  rAcCsBx||_n|j}xt|D]}|||qNWdS)NrBrC)r6rDrBrCiter_child_nodes)rrBrCchild)_fixr r rKs    z#fix_missing_locations.._fixrr )rr )rKr fix_missing_locationss rMrLcCs2x,t|D] }d|jkr t|dd||_q W|S)NrBr)walkr6r3rB)rrrJr r r increment_linenos rOc cs>x8|jD].}y|t||fVWqtk r4YqXqWdS)N)r2r3r4)rr<r r r iter_fieldss  rPccsTxNt|D]B\}}t|tr$|Vq t|tr x|D]}t|tr4|Vq4Wq WdS)N)rPr r1r )rnamer<itemr r r rIs    rIcCst|ttttfs"td|jj|jr8t|jdt ss 8 '    %