
    `iw                        d Z ddlZdZd e                                D             Zd eD             Z ed ee                    D ]=Zee         dxx         dz  cc<   ee         dxx         eedz
           d         z  cc<   > ed eD                       Z ed	 eD                       Z	d
e	e
fdZee
fdZ G d de          ZdS )z
Part of the astor library for Python AST manipulation.

License: 3-clause BSD

Copyright (c) 2015 Patrick Maupin

This module provides data and functions for mapping
AST nodes to symbols and precedences.

    Na   
    GeneratorExp                1

          Assign                1
       AnnAssign                1
       AugAssign                0
            Expr                0
           Yield                1
       YieldFrom                0
              If                1
             For                0
        AsyncFor                0
           While                0
          Return                1

           Slice                1
       Subscript                0
           Index                1
        ExtSlice                1
    comprehension_target        1
           Tuple                0
  FormattedValue                0

           Comma                1
       NamedExpr                1
          Assert                0
           Raise                0
    call_one_arg                1

          Lambda                1
           IfExp                0

   comprehension                1
              Or   or           1
             And   and          1
             Not   not          1

              Eq   ==           1
              Gt   >            0
             GtE   >=           0
              In   in           0
              Is   is           0
           NotEq   !=           0
              Lt   <            0
             LtE   <=           0
           NotIn   not in       0
           IsNot   is not       0

           BitOr   |            1
          BitXor   ^            1
          BitAnd   &            1
          LShift   <<           1
          RShift   >>           0
             Add   +            1
             Sub   -            0
            Mult   *            1
             Div   /            0
             Mod   %            0
        FloorDiv   //           0
         MatMult   @            0
          PowRHS                1
          Invert   ~            1
            UAdd   +            0
            USub   -            0
             Pow   **           1
           Await                1
             Num                1
        Constant                1
c                 6    g | ]}|                                 S  )split.0xs     a/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/astor/op_util.py
<listcomp>r
   V   s     
3
3
317799
3
3
3    c                     g | ]=}||d          d                     |dd                   t          |d                   g>S )r       )joinintr   s     r	   r
   r
   W   sF    
G
G
GQQ
GAaD#((1QrT7##S2ZZ0
G
G
Gr   r      c              #   N   K   | ] \  }}}t          t          |d           |fV  !d S Ngetattrastr   r   yzs       r	   	<genexpr>r   \   s9      IIgaAQ--q1IIIIIIr   c              #   N   K   | ] \  }}}t          t          |d           |fV  !d S r   r   r   s       r	   r   r   ]   s9      EE'!QGCD))1-EEEEEEr   z%sc                 *    || ||                    z  S )zFGiven an AST node object, returns a string containing the symbol.
    r   )objfmtsymbol_datatypes       r	   get_op_symbolr"   `   s     TT#YY'''r   c                 $    | ||                    S )z6Given an AST node object, returns the precedence.
    r   )r   precedence_datar!   s      r	   get_op_precedencer%   f   s     4499%%r   c                       e Zd Z e                                d eD                         ed eD                       dz   ZdS )
Precedencec              #   &   K   | ]\  }}}||fV  d S r   r   r   s       r	   r   zPrecedence.<genexpr>m   s,      00WQ11a&000000r   c              #   "   K   | ]
\  }}}|V  d S r   r   r   s       r	   r   zPrecedence.<genexpr>n   s(      ++1a!++++++r   r   N)__name__
__module____qualname__varsupdateop_datamaxhighestr   r   r	   r'   r'   l   sX        DFFMM00000000c++7+++++a/GGGr   r'   )__doc__r   r/   
splitlinesrangelenindexdictr$   r    r!   r"   r%   objectr'   r   r   r	   <module>r9      ss  
 
 


DL 4
3g0022
3
3
3
G
G'
G
G
GU1cc'll## / /EEN1EN1+A..$IIIIIIIdEEWEEEEE  [t ( ( ( ( ,; & & & &0 0 0 0 0 0 0 0 0 0r   