<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
U
    if	                     @   sR   d Z ddlmZ ddlmZ ddlmZ ddlm	Z	m
Z
mZ G dd dejZdS )	a7  
Fixer that changes zip(seq0, seq1, ...) into list(zip(seq0, seq1, ...)
unless there exists a 'from future_builtins import zip' statement in the
top-level namespace.

We avoid the transformation if the zip() call is directly contained in
iter(<>), list(<>), tuple(<>), sorted(<>), ...join(<>), or for V in <>:.
   )
fixer_base)Node)python_symbols)NameArgListin_special_contextc                   @   s    e Zd ZdZdZdZdd ZdS )FixZipTzN
    power< 'zip' args=trailer< '(' [any] ')' > [trailers=trailer*]
    >
    zfuture_builtins.zipc                 C   s   |  |rd S t|rd S |d  }d|_g }d|krZdd |d D }|D ]
}d|_qNttjtd|gdd}ttjtdt|gg| }|j|_|S )	Nargs trailersc                 S   s   g | ]}|  qS  )clone).0nr   r   :/opt/alt/python38/lib64/python3.8/lib2to3/fixes/fix_zip.py
<listcomp>'   s     z$FixZip.transform.<locals>.<listcomp>zip)prefixlist)	Zshould_skipr   r   r   r   symsZpowerr   r   )selfZnodeZresultsr	   r   r   newr   r   r   	transform   s    
zFixZip.transformN)__name__
__module____qualname__ZBM_compatibleZPATTERNZskip_onr   r   r   r   r   r      s   r   N)__doc__r
   r   Zpytreer   Zpygramr   r   Z
fixer_utilr   r   r   ZConditionalFixr   r   r   r   r   <module>   s
   
