
    z%i                         	 d dl m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	m
Z
  ej                  d      Z G d dej                        Zy	)
   )patcomp)pytree)token)
fixer_base)NameCallCommaStringz"atom< '(' [atom|STRING|NAME] ')' >c                        e Zd ZdZdZd Zd Zy)FixPrintTzP
              simple_stmt< any* bare='print' any* > | print_stmt
              c           	      :   |j                  d      }|r1|j                  t        t        d      g |j                               y |j
                  dd  }t        |      dk(  rt        j                  |d         ry d x}x}}|r|d   t               k(  r|d d }d}|rB|d   t        j                  t        j                  d      k(  r|d   j                         }|d	d  }|D cg c]  }|j                          }	}|	r
d
|	d   _        |||c|%| j                  |	dt!        t#        |                   |%| j                  |	dt!        t#        |                   || j                  |	d|       t        t        d      |	      }
|j                  |
_        |
S c c}w )Nbareprint)prefix        z>>    sependfile)getreplacer   r   r   childrenlenparend_exprmatchr	   r   Leafr   
RIGHTSHIFTclone	add_kwargr
   repr)selfnoderesults
bare_printargsr   r   r   argl_argsn_stmts              K/home/uftp/.pyenv/versions/3.12.0/lib/python3.12/lib2to3/fixes/fix_print.py	transformzFixPrint.transform%   s    [[(
tDM2&0&7&7 9 :}}QR t9>k//Q8 cDDH'9DCDGv{{5+;+;TBB7==?D8D)-.##))+..!F1I?co1AvufT#Y.?@vufT#Y.?@vvt4d7mV, /s   "Fc                 (   d|_         t        j                  | j                  j                  t        |      t        j                  t        j                  d      |f      }|r |j                  t                      d|_         |j                  |       y )Nr   =r   )r   r   Nodesymsargumentr   r    r   EQUALappendr	   )r%   l_nodess_kwdn_expr
n_arguments        r-   r#   zFixPrint.add_kwargM   sk    [[!3!3"&u+"(++ekk3"?"("*+
 NN57# #Jz"    N)__name__
__module____qualname__BM_compatiblePATTERNr.   r#    r:   r-   r   r      s    MG&P
#r:   r   N)r   r   r   pgen2r   r   
fixer_utilr   r   r	   r
   compile_patternr   BaseFixr   r@   r:   r-   <module>rE      sG   
     2 2 &g%%6
:#z!! :#r:   