U
if& @ s: d Z ddlmZ ddlmZmZmZ G dd dejZdS )zA Fixer for imports of itertools.(imap|ifilter|izip|ifilterfalse) )
fixer_base) BlankLinesymstokenc @ s" e Zd ZdZde Zdd ZdS )FixItertoolsImportsTzT
import_from< 'from' 'itertools' 'import' imports=any >
c C sp |d }|j tjks|js"|g}n|j}|d d d D ]}|j tjkrR|j}|}n,|j tjkrd d S |j tjkstt|jd }|j}|dkrd |_| q6|dkr6|
|d dkrdnd |_q6|jd d p|g}d
} |D ]*}| r|j tjkr| q| d
N } q|r4|d j tjkr4| q|jsJt
|dd rV|jd krl|j}
t }|
|_|S d S )
Nimports r )ZimapZizipZifilter)ZifilterfalseZizip_longest ffilterfalsezip_longestTvalue)typer Zimport_as_namechildrenr NAMEr STARAssertionErrorremoveZchangedCOMMApopgetattrparentprefixr )selfZnodeZresultsr r ZchildmemberZ name_nodemember_nameZremove_commap r H/opt/alt/python38/lib64/python3.8/lib2to3/fixes/fix_itertools_imports.py transform sH
zFixItertoolsImports.transformN)__name__
__module____qualname__Z
BM_compatiblelocalsZPATTERNr r r r r r s
r N) __doc__Zlib2to3r Zlib2to3.fixer_utilr r r ZBaseFixr r r r r