£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>
3

  \                 @   sV   d dl mZ ddlmZmZmZmZ d dlmZm	Z	m
Z
 dd ZG dd dejZd	S )
   )
fixer_base    )dirnamejoinexistssep)
FromImportsymstokenc             c   s   | g}x|r|j  }|jtjkr*|jV  q|jtjkrPdjdd |jD V  q|jtj	krn|j
|jd  q|jtjkr|j|jd d d  qtdqW d S )N c             S   s   g | ]
}|j qS  )value).0Zchr   r   0/usr/lib64/python3.6/lib2to3/fixes/fix_import.py
<listcomp>   s    z$traverse_imports.<locals>.<listcomp>r   r   zunknown node type)poptyper
   NAMEr   r	   Zdotted_namer   childrenZdotted_as_nameappendZdotted_as_namesextendAssertionError)namespendingnoder   r   r   traverse_imports   s    
r   c                   s4   e Zd ZdZdZ fddZdd Zdd Z  ZS )		FixImportTzj
    import_from< 'from' imp=any 'import' ['('] any [')'] >
    |
    import_name< 'import' imp=any >
    c                s"   t t| j|| d|jk| _d S )NZabsolute_import)superr   
start_treeZfuture_featuresskip)selfZtreename)	__class__r   r   r   /   s    zFixImport.start_treec             C   s   | j r
d S |d }|jtjkrZxt|ds6|jd }q W | j|jrd|j |_|j  n^d}d}x$t	|D ]}| j|rd}qld}qlW |r|r| j
|d d S td|g}|j|_|S d S )Nimpr   r   .FTz#absolute and local imports together)r    r   r	   Zimport_fromhasattrr   probably_a_local_importr   Zchangedr   Zwarningr   prefix)r!   r   Zresultsr$   Z
have_localZhave_absoluteZmod_namenewr   r   r   	transform3   s,    

zFixImport.transformc             C   sv   |j drdS |jddd }t| j}t||}ttt|dsHdS x(dtddd	d
gD ]}t|| rZdS qZW dS )Nr%   F   r   z__init__.pyz.pyz.pycz.soz.slz.pydT)
startswithsplitr   filenamer   r   r   )r!   Zimp_name	base_pathZextr   r   r   r'   U   s    


z!FixImport.probably_a_local_import)	__name__
__module____qualname__ZBM_compatibleZPATTERNr   r*   r'   __classcell__r   r   )r#   r   r   &   s
   "r   N)r   r   Zos.pathr   r   r   r   Z
fixer_utilr   r	   r
   r   ZBaseFixr   r   r   r   r   <module>   s   