???<!-- GIF89;a -->
123123123123
.....................................................................................................................................???<!-- GIF89;a -->
123123123123
.....................................................................................................................................
].                 @   s   d  d l  Td d d d  Z d d   Z d d	 d
 d  Z d d   Z d d   Z d d d  Z d d   Z d d   Z d d d  Z	 d d   Z
 Gd d   d e  Z Gd d   d e  Z d S)     )*z	<unknown>execc             C   s   t  |  | | t  S)N)compileZPyCF_ONLY_AST)sourcefilenamemode r   (/opt/alt/python35/lib64/python3.5/ast.pyparse   s    r
   c                sU   t  |  t  r! t |  d d }  t  |  t  r9 |  j }    f d d       |   S)Nr   evalc                s  t  |  t t f  r |  j St  |  t  r2 |  j St  |  t  rW t t   |  j	   St  |  t
  r| t t   |  j	   St  |  t  r t t   |  j	   St  |  t  r t   f d d   t |  j |  j  D  St  |  t  r |  j St  |  t  rbt  |  j t t f  rbt  |  j t t t f  rb  |  j  } t  |  j t  rZ| 
S| Sn t  |  t  rt  |  j t t f  rt  |  j t t t f  rt  |  j t t t f  r  |  j  }   |  j  } t  |  j t  r| | S| | St d t  |     d  S)Nc             3   s-   |  ]# \ } }   |    |  f Vq d  S)Nr   ).0kv)_convertr   r	   	<genexpr>=   s    z1literal_eval.<locals>._convert.<locals>.<genexpr>zmalformed node or string: )!
isinstanceStrZBytessZNumnZTupletuplemapZeltsZListlistSetsetZDictdictzipkeysvaluesZNameConstantvalueZUnaryOpopZUAddZUSuboperandZBinOpZAddZSubrightleft
ValueErrorrepr)noder    r"   r!   )r   r   r	   r   1   s@    zliteral_eval.<locals>._convert)r   strr
   Z
Expressionbody)Znode_or_stringr   )r   r	   literal_eval&   s    	#r(   TFc                sG       f d d     t  |  t  s= t d |  j j     |   S)Nc                s	  t    t  r  f d d   t    D } d   j j d j  rY d d   | D n d d   | D  f }  r   j r | | r d p d 7} | d j    f d	 d     j D  7} | d
 St    t  r d d j  f d d     D  St    S)Nc                s(   g  |  ] \ } } |   |  f  q Sr   r   )r   ab)_formatr   r	   
<listcomp>b   s   	 z)dump.<locals>._format.<locals>.<listcomp>z%s(%sz, c             s   s   |  ] } d  | Vq d S)z%s=%sNr   )r   fieldr   r   r	   r   d   s    z(dump.<locals>._format.<locals>.<genexpr>c             s   s   |  ] \ } } | Vq d  S)Nr   )r   r)   r*   r   r   r	   r   f   s     c             3   s.   |  ]$ } d  |   t   |   f Vq d S)z%s=%sN)getattr)r   r)   )r+   r%   r   r	   r   j   s   )z[%s]c             3   s   |  ] }   |  Vq d  S)Nr   )r   x)r+   r   r	   r   n   s    )	r   ASTiter_fields	__class____name__join_attributesr   r$   )r%   Zfieldsrv)r+   annotate_fieldsinclude_attributes)r%   r	   r+   `   s    $zdump.<locals>._formatzexpected AST, got %r)r   r2   	TypeErrorr4   r5   )r%   r9   r:   r   )r+   r9   r:   r	   dumpW   s    	r<   c             C   s[   xT d D]L } | | j  k r | |  j  k r t | |  r t |  | t | |   q W|  S)Nlineno
col_offset)r=   r>   )r7   hasattrsetattrr/   )new_nodeZold_nodeattrr   r   r	   copy_locationu   s
    rC   c                s&     f d d       |  d d  |  S)Nc                s   d |  j  k r3 t |  d  s* | |  _ n	 |  j } d |  j  k rf t |  d  s] | |  _ n	 |  j } x$ t |   D] }   | | |  qs Wd  S)Nr=   r>   )r7   r?   r=   r>   iter_child_nodes)r%   r=   r>   child)_fixr   r	   rF      s    		z#fix_missing_locations.<locals>._fix   r   r   )r%   r   )rF   r	   fix_missing_locations   s    rH   rG   c             C   sC   x< t  |   D]. } d | j k r t | d d  | | _ q W|  S)Nr=   r   )walkr7   r/   r=   )r%   r   rE   r   r   r	   increment_lineno   s    rJ   c             c   sE   x> |  j  D]3 } y | t |  |  f VWq
 t k
 r< Yq
 Xq
 Wd  S)N)_fieldsr/   AttributeError)r%   r-   r   r   r	   r3      s
    r3   c             c   sl   xe t  |   D]W \ } } t | t  r0 | Vq t | t  r x" | D] } t | t  rF | VqF Wq Wd  S)N)r3   r   r2   r   )r%   namer-   itemr   r   r	   rD      s    rD   c             C   s   t  |  t t t t f  s1 t d |  j j   |  j r t  |  j d t	  r t  |  j d j
 t  r | r d d  l } | j |  j d j
 j  S|  j d j
 j Sd  S)Nz%r can't have docstringsr   )r   ZAsyncFunctionDefZFunctionDefZClassDefZModuler;   r4   r5   r'   ZExprr   r   inspectZcleandocr   )r%   ZcleanrO   r   r   r	   get_docstring   s    rP   c             c   sT   d d l  m } | |  g  } x. | rO | j   }  | j t |    |  Vq" Wd  S)Nr   )deque)collectionsrQ   popleftextendrD   )r%   rQ   Ztodor   r   r	   rI      s    	rI   c               @   s(   e  Z d  Z d d   Z d d   Z d S)NodeVisitorc             C   s/   d | j  j } t |  | |  j  } | |  S)NZvisit_)r4   r5   r/   generic_visit)selfr%   methodZvisitorr   r   r	   visit   s    zNodeVisitor.visitc             C   s|   xu t  |  D]g \ } } t | t  rX xI | D]" } t | t  r/ |  j |  q/ Wq t | t  r |  j |  q Wd  S)N)r3   r   r   r2   rY   )rW   r%   r-   r   rN   r   r   r	   rV      s    zNodeVisitor.generic_visitN)r5   
__module____qualname__rY   rV   r   r   r   r	   rU      s   rU   c               @   s   e  Z d  Z d d   Z d S)NodeTransformerc             C   s   x t  |  D] \ } } t | t  r g  } xj | D]b } t | t  r |  j |  } | d  k rk q5 n t | t  s | j |  q5 | j |  q5 W| | d  d   <q t | t  r |  j |  } | d  k r t | |  q t | | |  q W| S)N)	r3   r   r   r2   rY   rT   appenddelattrr@   )rW   r%   r-   Z	old_valueZ
new_valuesr   rA   r   r   r	   rV   &  s&    zNodeTransformer.generic_visitN)r5   rZ   r[   rV   r   r   r   r	   r\     s   $r\   N)Z_astr
   r(   r<   rC   rH   rJ   r3   rD   rP   rI   objectrU   r\   r   r   r   r	   <module>   s   
1%