
    &VfC                        d dl Zd dlZd dlmZmZmZmZmZm	Z	 d dlm
Z
mZmZmZmZ d dlmZmZ 	 d dlmZ n# e$ r  G d de          ZY nw xY w	 d dlmZ n# e$ r  G d	 d
e          ZY nw xY wd Zg dddefffdddefffdddefffdddefffdddefffdddefffdddefffdddefffdddefffdddefffdd defffd!d"defffd#d$defffd%d&defffd'd(defffd)d(defffd*d+defffd,d+defffd-d.defffd/d.defffd0d1defffd2d3defffd4d5defffd6d5defffd7d8defffd9d:defffd;d<defffd=d>defffd?d:defffd@d:defffdAddefffdBddefffdCddefffdDddefffdEdFdefffdGdHdefffdIdJdefffdKdLdefffdMdNdefffdOd+defffdPdQdefffdRdSdefffdTdUdefffdVdUdefffdWdXdefffdYdUdefffdZddefffd[ddefffd\ddefffd]d^defffd_d`defffdaddefffdbdcdefffdddedefffdfdgdefffdhdidefffdjdkdefffdldmdefffdndodefffdpdqdefffdrdqdefffdsddefffdtddefffduddefffdvddefffdwddefffdxddefffdydzde
fffd{ddefffd|ddefffd}dde	fffd~dde	fffddde	fffddde	fffddde	fffddde	fffddde	fffddde	fffddde	fffddde	fffddde	fffddde	fffddde	fffdddeefffdddeefffdddeefffdddeefffdddefffdddefffdddefffdddefffdddefffdddefffdddefffdddefffdddefffdddefffdddefffdddefffdddefffdddefffdddefffdddefffdddefffdddefffdddefffdddefffdddefffdddefffdddefffdddefffdddefffdddefffR ZeD ]\  ZZ eegeR   ej        j        dk    rddlmZmZ ej        j        dk    rddlmZmZ d Zd Zd Z ddZ!d Z"d Z#ddZ$dS )    N)boolopcmpopexcepthandlerexprexpr_contextoperator)slicestmtunaryopmodAST)iter_child_nodeswalk)
TypeIgnorec                       e Zd ZdS )r   N__name__
__module____qualname__     F/var/www/html/software/conda/lib/python3.11/site-packages/gast/gast.pyr   r   
           r   r   )patternc                       e Zd ZdS )r   Nr   r   r   r   r   r      r   r   r   c                      t                     fd}t          t          j        t                    t           |||d                     d S )Nc                 \   |ryt          |          t          fd|D                       z   k    r#t          d                                        t          |          D ]\  }}t	          | ||           |r+|                                D ]\  }}t	          | ||           d S d S )Nc                     g | ]}|v |	S r   r   ).0kFieldss     r   
<listcomp>z3_make_node.<locals>.create_node.<locals>.<listcomp>   s    AAAaQ&[[[[[r   z7{} constructor takes either 0 or {} mandatory arguments)len	TypeErrorformatzipsetattritems)selfargskwargsargnameargvalr!   NBFieldsNames        r   create_nodez_make_node.<locals>.create_node   s     	/4yy3AAAA6AAABBBhNNMF4**, , , $'vt#4#4 / /gv.... 	/#)<<>> / /gv....	/ 	// /r   )__init___fields_attributes)r#   r'   _sysmodulesr   type)r/   r!   
AttributesBasesr0   r.   s   ``   @r   
_make_noder9      s    6{{H
/ 
/ 
/ 
/ 
/ 
/ 
/ DL")#!+- -. ./ / / / /r   Module)bodytype_ignoresr   Interactive)r;   
ExpressionFunctionType)argtypesreturnsSuiteFunctionDef)namer*   r;   decorator_listrA   type_commentlineno
col_offset
end_linenoend_col_offsetAsyncFunctionDefClassDef)rD   baseskeywordsr;   rE   Return)valueDelete)targetsAssign)rS   rQ   rF   	AugAssign)targetoprQ   	AnnAssign)rV   
annotationrQ   simplePrint)destvaluesnlFor)rV   iterr;   orelserF   AsyncForWhile)testr;   ra   IfWith)r(   r;   rF   	AsyncWithMatch)subjectcasesRaise)exccauseTry)r;   handlersra   	finalbodyTryStarAssert)rd   msgImport)names
ImportFrom)moduleru   levelExec)r;   globalslocalsGlobalNonlocalExprPassBreakContinueBoolOp)rW   r]   	NamedExpr)rV   rQ   BinOp)leftrW   rightUnaryOp)rW   operandLambda)r*   r;   IfExpDict)keysr]   Set)eltsListComp)elt
generatorsSetCompDictComp)keyrQ   r   GeneratorExpAwaitYield	YieldFromCompare)r   opscomparatorsCall)funcr*   rO   ReprFormattedValue)rQ   
conversionformat_spec	JoinedStr)r]   Constant)rQ   kind	Attribute)rQ   attrctx	Subscript)rQ   r	   r   Starred)rQ   r   r/   )idr   rY   rF   List)r   r   TupleLoadStoreDelAugLoadAugStoreParamSlice)lowerupperstepAndOrAddSubMultMatMultDivModPowLShiftRShiftBitOrBitXorBitAndFloorDivInvertNotUAddUSubEqNotEqLtLtEGtGtEIsIsNotInNotIncomprehension)rV   r`   ifsis_asyncExceptHandler)r6   rD   r;   	arguments)r*   posonlyargsvararg
kwonlyargskw_defaultskwargdefaultskeyword)argrQ   alias)rD   asnamewithitem)context_exproptional_vars
match_case)r   guardr;   
MatchValueMatchSingletonMatchSequence)patternsMatchMapping)r   r   rest
MatchClass)clsr   	kwd_attrskwd_patterns	MatchStar)rD   MatchAs)r   rD   MatchOrtype_ignore)rH   tag      )ast_to_gastgast_to_ast   c                  >    t          t          j        | i |          S N)r   _astparse)r*   r+   s     r   r   r   b  s    tz42622333r   c                 $    ddl m}  ||           S )Nr   )unparse)unparserr  )gast_objr  s     r   r  r  f  s$    !!!!!!78r   c                 r    t          | t                    rt          |           } t          j        |           S r   )
isinstancer   r   r   literal_eval)node_or_strings    r   r  r  k  s2    .#&& 5$^44^,,,r   Tc                    t          | t          t          t          f          st	          d| j        j        z            | j        rt          | j        d         t                    rt          | j        d         j	        t                    ra|rDdd l}| j        d         j	        }|                    t          ||j        d                             S | j        d         j	        j        S d S d S d S )Nz%r can't have docstringsr   )r  rC   rM   r:   r$   	__class__r   r;   r~   rQ   r   inspectcleandocgetattrr2   s)nodecleanr
  holders       r   get_docstringr  q  s    d[(F;<< N2T^5LLMMMy $Z	!d33 $$)A,$h//$ 	HNNNYq\'F##GFFN14E$F$FGGGy|!##$ $ $ $ $ $r   c           	          dD ]C}||j         v r8|| j         v r/t          ||          rt          | |t          ||                     D| S )z
    Copy source location (`lineno`, `col_offset`, `end_lineno`, and
    `end_col_offset` attributes) from *old_node* to *new_node* if possible,
    and return *new_node*.
    rG   )r3   hasattrr'   r  )new_nodeold_noder   s      r   copy_locationr    sd     G = =8'''DH4H,H,Hx&& -IHdGHd$;$;<<<Or   c                 0    fd | dddd           | S )a{  
    When you compile a node tree with compile(), the compiler expects lineno
    and col_offset attributes for every node that supports them.  This is
    rather tedious to fill in for generated nodes, so this helper adds these
    attributes recursively where not already set, by setting them to the values
    of the parent node.  It works recursively starting at *node*.
    c                    d| j         v rt          | d          s|| _        n| j        }d| j         v rt          | d          s|| _        n| j        }d| j         v rt          | d          s|| _        n| j        }d| j         v rt          | d          s|| _        n| j        }t          |           D ]} |||||           d S )NrH   rJ   rI   rK   )r3   r  rH   rJ   rI   rK   r   )r  rH   rI   rJ   rK   child_fixs         r   r  z#fix_missing_locations.<locals>._fix  s   t'''4** %$4+++4.. -",!_
4+++4.. -",!_
t///4!122 5&4##!%!4%d++ 	H 	HED
JGGGG	H 	Hr   r   r   r   )r  r  s    @r   fix_missing_locationsr    s@    H H H H H. 	Dq!QKr   c                     t          |           D ]J}d|j        v rt          |dd          pd|z   |_        d|j        v rt          |dd          pd|z   |_        K| S )z
    Increment the line number and end line number of each node in the tree
    starting at *node* by *n*. This is useful to "move code" to a different
    location in a file.
    rH   r   rJ   )r   r3   r  rH   rJ   )r  nr  s      r   increment_linenor    sx     d J Ju(((#E8Q77<1AEL5,,, '|Q ? ? D1IEKr   )T)r   )%sysr4   astr   r   r   r   r   r   r   r	   r
   r   r   r   r   r   r   ImportErrorr   r9   _nodesrD   descrversion_infomajorast2r   r   ast3r   r  r  r  r  r  r  r   r   r   <module>r(     sK           J J J J J J J J J J J J J J J J . . . . . . . . . . . . . . & & & & & & & &       S            #     
/ / /0k
("sf56k
 YSF+,k
 IrC6*+	k

 -rC6:;k
 y"sf%&k
  &NW k
  +<'# $k
& JK' 'k
, 
I -k
2 I 3k
8 4I 9k
> -L7 ?k
D ?L7 Ek
J (Hw Kk
P AFW Qk
V FK' Wk
\ *Hw ]k
b 
'EG ck
h /Gg ik
n 4L7 ok
t #L7 uk
z  Hw {k
@ 9FW Ak
F =FW Gk
L  I Mk
R 
I Sk
X 1MG Yk
^ ,Gg _k
d 
I ek
j *K' kk
p jGg qk
v bKg wk
z rLw {k
~ "K' k
J !I Kk
P 'I Qk
V 'Hw Wk
\ #J ]k
b !I ck
h *Hw ik
n !Gg ok
t YFW uk
z (K' {k
@ 'J Ak
F 1K' Gk
L ,8g  Mk
T zHw Uk
Z zHw [k
` :L7 ak
f 0J gk
l +Gg mk
r jGg sk
x ?:! "yk
@ ;L7 Ak
F #K' Gk
L ,L7 Mk
R -L7 Sk
X "J Yk
^ 9Gg _k
d Gg ek
j Hw kk
t b"|o&'uk
v r2'(wk
x Rl_%&yk
z R,)*{k
| "b</*+}k
~ r2'(k
D )Hx Ek
N RfY Ok
P 
BVIQk
V Rh[!"Wk
X Rh[!"Yk
Z b"xk"#[k
\ R(%&]k
^ Rh[!"_k
` Rh[!"ak
b Rh[!"ck
d B$%ek
f B$%gk
h r2{#$ik
j B$%kk
l B$%mk
n "b8+&'ok
t B#()uk
v Rgs_%&wk
x b"wo&'yk
z b"wo&'{k
@ 
BUHAk
B r2x !Ck
D 
BUHEk
F ReXGk
H 
BUHIk
J ReXKk
L 
BUHMk
N r2x !Ok
P 
BUHQk
R r2x !Sk
X <b3&IJYk
^ /8%') *_k
j  89;cVE Fkk
r !I sk
| !Gv }k
F 3R#@AGk
L 0"sf=>Mk
R JLJ  !Sk
X 
9 
$ %Yk
` }8z# $ak
h 27j" #ik
p D5J  !qk
x 94:  yk
@	 $4:  A	k
H	 2 I	k
T	 R*ZM:;U	k
 k
Z	   KD%Jtea........a........4 4 4  
- - -	$ 	$ 	$ 	$
 
 
     F     s!   7 AAA A.-A.