B ˆ f&ã@s:dZddlmZddlmZmZmZGdd„dejƒZdS)zA Fixer for imports of itertools.(imap|ifilter|izip|ifilterfalse) é)Ú fixer_base)Ú BlankLineÚsymsÚtokenc@s"eZdZdZdeƒZdd„ZdS)ÚFixItertoolsImportsTzT import_from< 'from' 'itertools' 'import' imports=any > c Csf|d}|jtjks|js"|g}n|j}xŒ|ddd…D]z}|jtjkrT|j}|}n|jtjkrddS|jd}|j}|dkrŒd|_| ¡q8|dkr8|  ¡|ddkr¬dnd |_q8W|jdd…pÈ|g}d } x.|D]&}| rò|jtj krò| ¡qÔ| d N} qÔWx*|�r(|d jtj k�r(|  ¡ ¡�qW|j�s@t |d dƒ�rL|j dk�rb|j} tƒ}| |_|SdS) NÚimportsér)ZimapZizipZifilter)Z ifilterfalseZ izip_longestéÚfÚ filterfalseÚ zip_longestTéÿÿÿÿÚvalue)ÚtyperZimport_as_nameÚchildrenrÚNAMErÚSTARÚremoveZchangedÚCOMMAÚpopÚgetattrÚparentÚprefixr) ÚselfZnodeZresultsrrZchildÚmemberZ name_nodeÚ member_nameZ remove_commaÚp©rúH/opt/alt/python37/lib64/python3.7/lib2to3/fixes/fix_itertools_imports.pyÚ transformsB         zFixItertoolsImports.transformN)Ú__name__Ú __module__Ú __qualname__Z BM_compatibleÚlocalsZPATTERNrrrrrrs rN) Ú__doc__Zlib2to3rZlib2to3.fixer_utilrrrZBaseFixrrrrrÚs