
    daf*	                     j    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ej                        Zy)	zIFixer for apply().

This converts apply(func, v, k) into (func)(*v, **k).   )pytree)token)
fixer_base)CallCommaparenthesizec                       e Zd ZdZdZd Zy)FixApplyTa.  
    power< 'apply'
        trailer<
            '('
            arglist<
                (not argument<NAME '=' any>) func=any ','
                (not argument<NAME '=' any>) args=any [','
                (not argument<NAME '=' any>) kwds=any] [',']
            >
            ')'
        >
    >
    c                    | j                   }|sJ |d   }|d   }|j                  d      }|r?|j                  | j                   j                  k(  r|j                  d   j
                  dv ry |r@|j                  | j                   j                  k(  r|j                  d   j
                  dk(  ry |j                  }|j                         }|j                  t        j                  |j                  fvrN|j                  |j                  k7  s*|j                  d   j                  t        j                  k(  rt        |      }d|_        |j                         }d|_        ||j                         }d|_        t        j                  t        j                   d	      |g}|H|j#                  t%               t        j                  t        j                  d      |g       d
|d   _        t'        |||      S )Nfuncargskwds    >   ***r    r    )prefix)symsgettypeargumentchildrenvaluer   cloner   NAMEatompower
DOUBLESTARr   r   LeafSTARextendr   r   )	selfnoderesultsr   r   r   r   r   	l_newargss	            2/root/Python-3.12.4/Lib/lib2to3/fixes/fix_apply.py	transformzFixApply.transform   s   yywvv{{6" 		TYY///a &&+5TYY$))"4"44]]1%++t3zz|IIejj$))44YY$**$]]2##u'7'77%Dzz|::<DDK[[S148	eg$kk%*:*:DA"$ % $'IbM  D)F33    N)__name__
__module____qualname__BM_compatiblePATTERNr)    r*   r(   r
   r
      s    MG%4r*   r
   N)__doc__r   r   pgen2r   r   
fixer_utilr   r   r   BaseFixr
   r0   r*   r(   <module>r5      s-   9
    2 264z!! 64r*   