MINI MINI MANI MO
3
  \g;              
   @   s  d dl mZ d dlmZmZ d dlmZ d dlm	Z	 dd Z
dd Zd	d
 Zdd Z
dVddZdd Zdd Zdd Ze e fddZdWddZdd Zdd ZdXddZd d! ZdYd"d#ZdZd$d%Zd&d' Zd(d) Zd*d+ Zd,d- Zd.d/ Zd0d1d2d3d4d5d6d7d8d9h
Zd:d; Z d<a!d=a"d>a#d?a$d@dA Z%dBdC Z&dDdE Z'dFdG Z(dHdI Z)dJdK Z*dLdM Z+dNdO Z,ej-ej.hZ/d[dPdQZ0ej.ej-ej1hZ2dRdS Z3d\dTdUZ4d
S )]   )token)LeafNode)python_symbols)patcompc             C   s   t tj| ttjd|gS )N=)r   symsZargumentr   r   EQUAL)keywordvalue r   */usr/lib64/python3.6/lib2to3/fixer_util.py
KeywordArg   s    r   c               C   s   t tjdS )N()r   r   LPARr   r   r   r
   LParen   s    r   c               C   s   t tjdS )N))r   r   RPARr   r   r   r
   RParen   s    r   c             C   sH   t | ts| g} t |ts&d|_|g}ttj| ttjdddg | S )N r   )prefix)	
isinstancelistr   r   r   atomr   r   r	   )targetsourcer   r   r
   Assign   s    
r   Nc             C   s   t tj| |dS )N)r   )r   r   NAME)namer   r   r   r
   Name$   s    r   c             C   s   | t tjt |ggS )N)r   r   trailerDot)objattrr   r   r
   Attr(   s    r$   c               C   s   t tjdS )N,)r   r   COMMAr   r   r   r
   Comma,   s    r'   c               C   s   t tjdS )N.)r   r   DOTr   r   r   r
   r!   0   s    r!   c             C   s4   t tj|j |j g}| r0|jdt tj|  |S )Nr   )r   r   r    cloneinsert_childarglist)argsZlparenZrparennoder   r   r
   ArgList4   s    r/   c             C   s&