+
    WBiO                        R t ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIH	t	 ^ R	IH
t
 ^ R
IHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIH t  ]R ]R!/t!]R"]R#]R$]R%]
R&]R']R(]R)]R*]R+]R,/t"]	R-]R.]R/]R0]R1]R2]R3]R4]R5]R6/
t#]R7]R8]R"] R#/t$/ t%]%PM                  ]!4       ]%PM                  ]"4       ]%PM                  ]#4       ]%PM                  ]$4       RBR9 lt'R: t( ! R; R<4      t) ! R= R>])4      t* ! R? R@])4      t+RA# )Cz
ast
~~~

This is a stripped down version of Armin Ronacher's ast module.

:copyright: Copyright 2008 by Armin Ronacher.
:license: Python License.
)Add)And)AST)BitAnd)BitOr)BitXor)Div)Eq)FloorDiv)Gt)GtE)If)In)Invert)Is)IsNot)LShift)Lt)LtE)Mod)Mult)Name)Not)NotEq)NotIn)Or)PyCF_ONLY_AST)RShift)Sub)UAdd)USubandor+-*/z//%z<<z>>|&^z==>z>=iniszis not<z<=z!=znot in~notc                $    \        WV\        4      # )z%Parse an expression into an AST node.)compiler   )exprfilenamemodes   &&&3/usr/lib/python3.14/site-packages/mako/_ast_util.pyparser7   Y   s    4477    c              #  x   "   V P                    F  p V\        W4      3x  K  	  R#   \         d     K'  i ; i5i)zAIterate over all fields of a node, only yielding existing fields.N)_fieldsgetattrAttributeError)nodefields   & r6   iter_fieldsr?   ^   s=      	---   		s   :(:7:7:c                   6   a  ] tR t^ht o RtR tR tR tRtV t	R# )NodeVisitora  
Walks the abstract syntax tree and call visitor functions for every node
found.  The visitor functions may return values which will be forwarded
by the `visit` method.

Per default the visitor functions for the nodes are ``'visit_'`` +
class name of the node.  So a `TryFinally` node visit function would
be `visit_TryFinally`.  This behavior can be changed by overriding
the `get_visitor` function.  If no visitor function exists for a node
(return value `None`) the `generic_visit` visitor is used instead.

Don't use the `NodeVisitor` if you want to apply changes to nodes during
traversing.  For this a special visitor exists (`NodeTransformer`) that
allows modifications.
c                T    RVP                   P                  ,           p\        WR4      # )z
Return the visitor function for this node or `None` if no visitor
exists for this node.  In that case the generic visit function is
used instead.
visit_N)	__class____name__r;   )selfr=   methods   && r6   get_visitorNodeVisitor.get_visitorz   s%     DNN333tT**r8   c                ^    V P                  V4      pVe	   V! V4      # V P                  V4      # )zVisit a node.)rH   generic_visit)rF   r=   fs   && r6   visitNodeVisitor.visit   s1    T"=T7N!!$''r8   c                   \        V4       Fx  w  r#\        V\        4      '       d5   V F,  p\        V\        4      '       g   K  V P	                  V4       K.  	  KO  \        V\        4      '       g   Kg  V P	                  V4       Kz  	  R# )z9Called if no explicit visitor function exists for a node.N)r?   
isinstancelistr   rM   )rF   r=   r>   valueitems   &&   r6   rK   NodeVisitor.generic_visit   s^    '-LE%&&!D!$,,

4( " E3''

5! .r8    N)
rE   
__module____qualname____firstlineno____doc__rH   rM   rK   __static_attributes____classdictcell____classdict__s   @r6   rA   rA   h   s      +(" "r8   rA   c                   *   a  ] tR t^t o RtR tRtV tR# )NodeTransformera  
Walks the abstract syntax tree and allows modifications of nodes.

The `NodeTransformer` will walk the AST and use the return value of the
visitor functions to replace or remove the old node.  If the return
value of the visitor function is `None` the node will be removed
from the previous location otherwise it's replaced with the return
value.  The return value may be the original node in which case no
replacement takes place.

Here an example transformer that rewrites all `foo` to `data['foo']`::

    class RewriteName(NodeTransformer):

        def visit_Name(self, node):
            return copy_location(Subscript(
                value=Name(id='data', ctx=Load()),
                slice=Index(value=Str(s=node.id)),
                ctx=node.ctx
            ), node)

Keep in mind that if the node you're operating on has child nodes
you must either transform the child nodes yourself or call the generic
visit function for the node first.

Nodes that were part of a collection of statements (that applies to
all statement nodes) may also return a list of nodes rather than just
a single node.

Usually you use the transformer like this::

    node = YourTransformer().visit(node)
c                   \        V4       F  w  r#\        WR 4      p\        V\        4      '       dy   . pV Fj  p\        V\        4      '       dA   V P                  V4      pVf   K0  \        V\        4      '       g   VP                  V4       KY  VP                  V4       Kl  	  WCR&   K  \        V\        4      '       g   K  V P                  V4      pVf   \        W4       K  \        WV4       K  	  V# )N:NNN)
r?   r;   rP   rQ   r   rM   extendappenddelattrsetattr)rF   r=   r>   	old_value
new_valuesrR   new_nodes   &&     r6   rK   NodeTransformer.generic_visit   s     +D 1ET2I)T**
&E!%-- $

5 1 =$!+E3!7!7&--e4$%%e, '  *!Is++::i0#D(D2' !2( r8   rU   N)rE   rV   rW   rX   rY   rK   rZ   r[   r\   s   @r6   r_   r_      s      D r8   r_   c                     a  ] tR t^t o RtR tR tRER ltR tR t	R t
R tR	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR t R t!R t"R  t#R! t$R" t%R# t&R$ t'R% t(R& t)R' t*R( t+R) t,],! R*R+4      t-],! R,R-4      t.A,R. t/R/ t0R0 t1R1 t2R2 t3R3 t4R4 t5R5 t6R6 t7R7 t8R8 t9R9 t:]:! R*R+4      t;]:! R:R;4      t<]:! R,R-4      t=A:R< t>R= t?R> t@R? tAR@ tBRA tCRB tDRCtEV tFRD# )FSourceGeneratorz
This visitor is able to transform a well formed syntax tree into python
sourcecode.  For more details have a look at the docstring of the
`node_to_source` function.
c                <    . V n         Wn        ^ V n        ^ V n        R# )    N)resultindent_withindentation	new_lines)rF   rn   s   &&r6   __init__SourceGenerator.__init__   s    &r8   c                V   V P                   '       d|   V P                  '       d-   V P                  P                  R V P                   ,          4       V P                  P                  V P                  V P                  ,          4       ^ V n         V P                  P                  V4       R# )
N)rp   rm   rb   rn   ro   )rF   xs   &&r6   writeSourceGenerator.write   sk    >>>{{{""4$..#89KKt//$2B2BBCDN1r8   c                <    \        V P                  V4      V n        R # N)maxrp   )rF   ns   &&r6   newlineSourceGenerator.newline   s    T^^Q/r8   c                    R V n         V ;P                  ^,          un        V F  pV P                  V4       K  	  V ;P                  ^,          un        R# )TN)new_linero   rM   )rF   
statementsstmts   && r6   bodySourceGenerator.body   sA    ADJJt Ar8   c                    V P                  VP                   4       VP                  '       d?   V P                  4        V P                  R 4       V P                  VP                  4       R# R# )else:N)r   orelser|   rv   rF   r=   s   &&r6   body_or_elseSourceGenerator.body_or_else   sE    		$));;;LLNJJwIIdkk" r8   c                p  a a . oV V3R  lpR.\        VP                  4      \        VP                  4      ,
          ,          p\        VP                  W1P                  ,           4       FE  w  rEV! 4        S P	                  V4       Vf   K#  S P                  R4       S P	                  V4       KG  	  VP                  e4   V! 4        S P                  RVP                  P                  ,           4       VP                  e6   V! 4        S P                  RVP                  P                  ,           4       R# R# )c                  `   < S'       d   S P                  R 4       R# SP                  R4       R# , TNrv   rb   rF   
want_commas   r6   write_comma.SourceGenerator.signature.<locals>.write_comma        

4 !!$'r8   N=r%   **)	lenargsdefaultsziprM   rv   varargargkwarg)rF   r=   r   paddingr   defaultr   s   f&    @r6   	signatureSourceGenerator.signature   s    
	( &C		NS-??@		7]]+BCLCMJJsO"

3

7# D ;;"MJJsT[[__,-::!MJJtdjjnn,- "r8   c                    VP                    F5  pV P                  4        V P                  R 4       V P                  V4       K7  	  R# )@N)decorator_listr|   rv   rM   )rF   r=   	decorators   && r6   
decoratorsSourceGenerator.decorators  s2    ,,ILLNJJsOJJy! -r8   c                   V P                  4        \        VP                  4       F/  w  r#V'       d   V P                  R 4       V P	                  V4       K1  	  V P                  R4       V P	                  VP
                  4       R# )r   z = N)r|   	enumeratetargetsrv   rM   rR   rF   r=   idxtargets   &&  r6   visit_AssignSourceGenerator.visit_Assign  sY    $T\\2KC

4 JJv 3 	

5

4::r8   c                    V P                  4        V P                  VP                  4       V P                  \        \        VP                  4      ,          R ,           4       V P                  VP                  4       R# )r   N)r|   rM   r   rv   BINOP_SYMBOLStypeoprR   r   s   &&r6   visit_AugAssignSourceGenerator.visit_AugAssign   sI    

4;;

=dgg/#56

4::r8   c                   V P                  4        V P                  R RVP                  ,          : VP                  : R24       \	        VP
                  4       F/  w  r#V'       d   V P                  R4       V P                  V4       K1  	  R# )zfrom .z import r   N)r|   rv   levelmoduler   namesrF   r=   r   rS   s   &&  r6   visit_ImportFrom SourceGenerator.visit_ImportFrom&  sY    

#

*:DKKHI"4::.IC

4 JJt /r8   c                    V P                  4        VP                   F%  pV P                  R 4       V P                  V4       K'  	  R# )zimport N)r|   r   rv   rM   )rF   r=   rS   s   && r6   visit_ImportSourceGenerator.visit_Import.  s1    JJDJJy!JJt r8   c                H    V P                  4        V P                  V4       R # ry   )r|   rK   r   s   &&r6   
visit_ExprSourceGenerator.visit_Expr4  s    4 r8   c                >   V P                  ^R7       V P                  V4       V P                  4        V P                  RVP                  ,          4       V P	                  VP
                  4       V P                  R4       V P                  VP                  4       R# )   r{   zdef %s():N)r|   r   rv   namer   r   r   r   s   &&r6   visit_FunctionDef!SourceGenerator.visit_FunctionDef8  sf    q

9tyy()tyy!

4		$))r8   c                  a a . oVV 3R  lpS P                  ^R7       S P                  V4       S P                  4        S P                  RVP                  ,          4       VP                   F  pV! 4        S P                  V4       K  	  \        VR4      '       d   VP                   FG  pV! 4        S P                  VP                  R,           4       S P                  VP                  4       KI  	  \        VRR4      '       d4   V! 4        S P                  R4       S P                  VP                  4       \        VRR4      '       d4   V! 4        S P                  R	4       S P                  VP                  4       S P                  S;'       d    R
;'       g    R4       S P                  VP                  4       R# )c                     < S '       d   SP                  R 4       R# S P                  R4       SP                  R4       R# )r   T(Nr   )	have_argsrF   s   r6   paren_or_comma6SourceGenerator.visit_ClassDef.<locals>.paren_or_commaD  s+    

4   &

3r8   r   zclass %skeywordsr   starargsNr%   kwargsr   r   :)r|   r   rv   r   basesrM   hasattrr   r   rR   r;   r   r   r   )rF   r=   r   basekeywordr   s   f&   @r6   visit_ClassDefSourceGenerator.visit_ClassDefA  s>   		  	q

:		)*JJDJJt 
 4$$== 

7;;,-

7==) ) tZ.. 

3

4==)tXt,, 

4 

4;;'

9%%,,-		$))r8   c                   V P                  4        V P                  R 4       V P                  VP                  4       V P                  R4       V P	                  VP                  4        VP
                  p\        V4      ^8X  d   \        V^ ,          \        4      '       dt   V^ ,          pV P                  4        V P                  R4       V P                  VP                  4       V P                  R4       V P	                  VP                  4       K  V P                  4        V P                  R4       V P	                  V4       R# )zif r   zelif r   N)	r|   rv   rM   testr   r   r   rP   r   )rF   r=   else_s   && r6   visit_IfSourceGenerator.visit_Ifd  s    

5

499

3		$))KKE5zQ:eAh#;#;Qx

7#

499%

3		$))$

7#		% r8   c                   V P                  4        V P                  R 4       V P                  VP                  4       V P                  R4       V P                  VP                  4       V P                  R4       V P                  V4       R# )zfor  in r   N)r|   rv   rM   r   iterr   r   s   &&r6   	visit_ForSourceGenerator.visit_Fory  s\    

6

4;;

6

499

3$r8   c                    V P                  4        V P                  R 4       V P                  VP                  4       V P                  R4       V P	                  V4       R# )zwhile r   N)r|   rv   rM   r   r   r   s   &&r6   visit_WhileSourceGenerator.visit_While  s@    

8

499

3$r8   c                J   V P                  4        V P                  R 4       V P                  VP                  4       VP                  e-   V P                  R4       V P                  VP                  4       V P                  R4       V P                  VP
                  4       R# )zwith N as r   )r|   rv   rM   context_exproptional_varsr   r   s   &&r6   
visit_WithSourceGenerator.visit_With  sn    

7

4$$%)JJvJJt))*

3		$))r8   c                H    V P                  4        V P                  R 4       R# )passNr|   rv   r   s   &&r6   
visit_PassSourceGenerator.visit_Pass  s    

6r8   c                   V P                  4        V P                  R 4       RpVP                  e/   V P                  R4       V P                  VP                  4       RpVP                   F/  pV'       d   V P                  R4       V P                  V4       RpK1  	  VP
                  '       g   V P                  R4       R# R# )zprint FNz >> Tr   ,)r|   rv   destrM   valuesnl)rF   r=   r   rR   s   &&  r6   visit_PrintSourceGenerator.visit_Print  s    

8
99 JJvJJtyy!J[[E

4 JJuJ	 !
 wwwJJsO r8   c                    V P                  4        V P                  R 4       \        V4       F/  w  r#V'       d   V P                  R4       V P                  V4       K1  	  R# )zdel r   N)r|   rv   r   rM   r   s   &&  r6   visit_DeleteSourceGenerator.visit_Delete  sB    

6$T?KC

4 JJv +r8   c                    V P                  4        V P                  R 4       V P                  VP                  4       VP                   F  pV P	                  V4       K  	  R# )try:N)r|   rv   r   handlersrM   )rF   r=   handlers   && r6   visit_TryExceptSourceGenerator.visit_TryExcept  sA    

6		$))}}GJJw %r8   c                    V P                  4        V P                  R 4       V P                  VP                  4       V P                  4        V P                  R4       V P                  VP                  4       R# )r   zfinally:N)r|   rv   r   	finalbodyr   s   &&r6   visit_TryFinally SourceGenerator.visit_TryFinally  sL    

6		$))

:		$..!r8   c                    V P                  4        V P                  R RP                  VP                  4      ,           4       R# )zglobal r   Nr|   rv   joinr   r   s   &&r6   visit_GlobalSourceGenerator.visit_Global  s)    

9tyy445r8   c                    V P                  4        V P                  R RP                  VP                  4      ,           4       R# )z	nonlocal r   Nr  r   s   &&r6   visit_NonlocalSourceGenerator.visit_Nonlocal  s)    

;4::!667r8   c                ~    V P                  4        V P                  R 4       V P                  VP                  4       R# )zreturn N)r|   rv   rM   rR   r   s   &&r6   visit_ReturnSourceGenerator.visit_Return  s'    

9

4::r8   c                H    V P                  4        V P                  R 4       R# )breakNr   r   s   &&r6   visit_BreakSourceGenerator.visit_Break  s    

7r8   c                H    V P                  4        V P                  R 4       R# )continueNr   r   s   &&r6   visit_ContinueSourceGenerator.visit_Continue  s    

:r8   c                   V P                  4        V P                  R 4       \        VR4      '       dy   VP                  ek   V P                  R4       V P	                  VP                  4       VP
                  e/   V P                  R4       V P	                  VP
                  4       R# R# \        VR4      '       d   VP                  e   V P	                  VP                  4       VP                  e-   V P                  R4       V P	                  VP                  4       VP                  e/   V P                  R4       V P	                  VP                  4       R# R# R# R# )raiseexcN z from r   r   )	r|   rv   r   r  rM   causer   insttbackr   s   &&r6   visit_RaiseSourceGenerator.visit_Raise  s    

74DHH$8JJsOJJtxx zz%

8$

4::& & T6""tyy'<JJtyy!yy$

4 

499%zz%

4 

4::& & (="r8   c                    V P                  VP                  4       V P                  R VP                  ,           4       R# )r   N)rM   rR   rv   attrr   s   &&r6   visit_AttributeSourceGenerator.visit_Attribute  s&    

4::

3?#r8   c                  a a . oV V3R  lpS P                  VP                  4       S P                  R4       VP                   F  pV! 4        S P                  V4       K  	  VP                   FG  pV! 4        S P                  VP
                  R,           4       S P                  VP                  4       KI  	  \        VRR4      '       d4   V! 4        S P                  R4       S P                  VP                  4       \        VRR4      '       d4   V! 4        S P                  R4       S P                  VP                  4       S P                  R4       R# )	c                  `   < S'       d   S P                  R 4       R# SP                  R4       R# r   r   r   s   r6   r   /SourceGenerator.visit_Call.<locals>.write_comma  r   r8   r   r   r   Nr%   r   r   ))
rM   funcrv   r   r   r   rR   r;   r   r   )rF   r=   r   r   r   r   s   f&   @r6   
visit_CallSourceGenerator.visit_Call  s    
	( 	

499

399CMJJsO  }}GMJJw{{S()JJw}}% % 4T**MJJsOJJt}}%44((MJJtJJt{{#

3r8   c                <    V P                  VP                  4       R # ry   )rv   idr   s   &&r6   
visit_NameSourceGenerator.visit_Name	  s    

477r8   c                N    V P                  \        VP                  4      4       R # ry   )rv   strrR   r   s   &&r6   visit_NameConstant"SourceGenerator.visit_NameConstant  s    

3tzz?#r8   c                <    V P                  VP                  4       R # ry   )rv   r   r   s   &&r6   	visit_argSourceGenerator.visit_arg  s    

488r8   c                N    V P                  \        VP                  4      4       R # ry   rv   reprsr   s   &&r6   	visit_StrSourceGenerator.visit_Str      

4< r8   c                N    V P                  \        VP                  4      4       R # ry   r9  r   s   &&r6   visit_BytesSourceGenerator.visit_Bytes  r>  r8   c                N    V P                  \        VP                  4      4       R # ry   )rv   r:  r{   r   s   &&r6   	visit_NumSourceGenerator.visit_Num  r>  r8   c                N    V P                  \        VP                  4      4       R # ry   )rv   r:  rR   r   s   &&r6   visit_ConstantSourceGenerator.visit_Constant  s    

4

#$r8   c                   V P                  R 4       Rp\        VP                  4       F/  w  r#V'       d   V P                  R4       V P                  V4       K1  	  T P                  T;'       d    R;'       g    R4       R# )r   r   r)  z,)Nrv   r   eltsrM   r   s   &&  r6   visit_TupleSourceGenerator.visit_Tuple  s^    

3"499-IC

4 JJt . 	

3;;3&&$'r8   c                   a a V V3R  lpV# )c                    < V P                  S4       \        VP                  4       F/  w  r#V'       d   V P                  R 4       V P                  V4       K1  	  V P                  S4       R# r   NrJ  )rF   r=   r   rS   leftrights   &&  r6   rM   -SourceGenerator.sequence_visit.<locals>.visit)  sM    JJt&tyy1	JJt$

4  2 JJur8   rU   rQ  rR  rM   s   ff r6   sequence_visitSourceGenerator.sequence_visit(  s    	 r8   []{}c                L   V P                  R 4       \        \        VP                  VP                  4      4       FT  w  pw  r4V'       d   V P                  R4       V P                  V4       V P                  R4       V P                  V4       KV  	  V P                  R4       R# )rY  r   : rZ  N)rv   r   r   keysr   rM   )rF   r=   r   keyrR   s   &&   r6   
visit_DictSourceGenerator.visit_Dict7  sr    

3!*3tyy$+++F!GC#

4 JJsOJJtJJu "H 	

3r8   c                "   V P                  R 4       V P                  VP                  4       V P                  R\        \	        VP
                  4      ,          ,          4       V P                  VP                  4       V P                  R4       R# r   z %s r)  N)rv   rM   rQ  r   r   r   rR  r   s   &&r6   visit_BinOpSourceGenerator.visit_BinOpA  sV    

3

499

6M$tww-889

4::

3r8   c                $   V P                  R 4       \        VP                  4       FT  w  r#V'       d7   V P                  R\        \	        VP
                  4      ,          ,          4       V P                  V4       KV  	  V P                  R4       R# rb  )rv   r   r   BOOLOP_SYMBOLSr   r   rM   )rF   r=   r   rR   s   &&  r6   visit_BoolOpSourceGenerator.visit_BoolOpH  s\    

3#DKK0JC

6N4=$AABJJu 1 	

3r8   c                L   V P                  R 4       V P                  VP                  4       \        VP                  VP
                  4       FB  w  r#V P                  R\        \        V4      ,          ,          4       V P                  V4       KD  	  V P                  R4       R# rb  )rv   rM   rQ  r   opscomparatorsCMPOP_SYMBOLSr   )rF   r=   r   rR  s   &&  r6   visit_CompareSourceGenerator.visit_CompareP  sm    

3

499TXXt'7'78IBJJvd2h 778JJu 9 	

3r8   c                   V P                  R 4       \        \        VP                  4      ,          pV P                  V4       VR8X  d   V P                  R4       V P	                  VP
                  4       V P                  R4       R# )r   r0   r  r)  N)rv   UNARYOP_SYMBOLSr   r   rM   operand)rF   r=   r   s   && r6   visit_UnaryOpSourceGenerator.visit_UnaryOpX  sW    

3T$'']+

2;JJsO

4<< 

3r8   c                    V P                  VP                  4       V P                  R 4       V P                  VP                  4       V P                  R4       R# )rW  rX  N)rM   rR   rv   slicer   s   &&r6   visit_SubscriptSourceGenerator.visit_Subscripta  s8    

4::

3

4::

3r8   c                   VP                   e   V P                  VP                   4       V P                  R4       VP                  e   V P                  VP                  4       VP                  el   V P                  R4       \        VP                  \        4      '       d   VP                  P                  R8X  g   V P                  VP                  4       R # R # R # )Nr   None)lowerrM   rv   uppersteprP   r   r.  r   s   &&r6   visit_SliceSourceGenerator.visit_Sliceg  s    ::!JJtzz"

3::!JJtzz"99 JJsOtyy$//DIILLF4J

499% 5K !r8   c                    VP                    F/  w  r#V'       d   V P                  R 4       V P                  V4       K1  	  R# rP  )dimsrv   rM   r   s   &&  r6   visit_ExtSliceSourceGenerator.visit_ExtSlicer  s-    IC

4 JJt #r8   c                ^    V P                  R 4       V P                  VP                  4       R# )zyield Nrv   rM   rR   r   s   &&r6   visit_YieldSourceGenerator.visit_Yieldx  s    

8

4::r8   c                    V P                  R 4       V P                  VP                  4       V P                  R4       V P                  VP                  4       R# )zlambda r\  N)rv   r   r   rM   r   r   s   &&r6   visit_LambdaSourceGenerator.visit_Lambda|  s:    

9tyy!

4

499r8   c                (    V P                  R 4       R# )EllipsisN)rv   r   s   &&r6   visit_EllipsisSourceGenerator.visit_Ellipsis  s    

:r8   c                   a a V V3R  lpV# )c                    < V P                  S4       V P                  VP                  4       VP                   F  pV P                  V4       K  	  V P                  S4       R # ry   )rv   rM   elt
generators)rF   r=   comprehensionrQ  rR  s   && r6   rM   .SourceGenerator.generator_visit.<locals>.visit  sE    JJtJJtxx !%

=) "1JJur8   rU   rT  s   ff r6   generator_visitSourceGenerator.generator_visit  s    	 r8   r   r)  c                    V P                  R 4       V P                  VP                  4       V P                  R4       V P                  VP                  4       VP                   F  pV P                  V4       K  	  V P                  R4       R# )rY  r\  rZ  N)rv   rM   r^  rR   r  )rF   r=   r  s   && r6   visit_DictCompSourceGenerator.visit_DictComp  s^    

3

488

4

4::!__MJJ}% -

3r8   c                    V P                  VP                  4       V P                  R 4       V P                  VP                  4       V P                  R4       V P                  VP                  4       R# ) if z else N)rM   r   rv   r   r   r   s   &&r6   visit_IfExpSourceGenerator.visit_IfExp  sJ    

499

6

499

8

4;;r8   c                ^    V P                  R 4       V P                  VP                  4       R# )r%   Nr  r   s   &&r6   visit_StarredSourceGenerator.visit_Starred  s    

3

4::r8   c                    V P                  R 4       V P                  VP                  4       V P                  R 4       R# )`Nr  r   s   &&r6   
visit_ReprSourceGenerator.visit_Repr  s(    

3

4::

3r8   c                    V P                  VP                  4       VP                  e%   V P                  RVP                  ,           4       R # R # )Nr   )rv   r   asnamer   s   &&r6   visit_aliasSourceGenerator.visit_alias  s6    

499;;"JJv+, #r8   c                H   V P                  R 4       V P                  VP                  4       V P                  R4       V P                  VP                  4       VP                  '       d8   VP                   F%  pV P                  R4       V P                  V4       K'  	  R# R# )z for r   r  N)rv   rM   r   r   ifs)rF   r=   if_s   && r6   visit_comprehension#SourceGenerator.visit_comprehension  sm    

7

4;;

6

499888xx

6"

3   r8   c                   V P                  4        V P                  R 4       VP                  eg   V P                  R4       V P                  VP                  4       VP                  e-   V P                  R4       V P                  VP                  4       V P                  R4       V P                  VP
                  4       R# )exceptNr  r   r   )r|   rv   r   rM   r   r   r   s   &&r6   visit_excepthandler#SourceGenerator.visit_excepthandler  s}    

899 JJsOJJtyy!yy$

6"

499%

3		$))r8   )rn   ro   r   rp   rm   N)   )GrE   rV   rW   rX   rY   rq   rv   r|   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r	  r  r  r  r  r   r$  r+  r/  r3  r6  r<  r@  rC  rF  rL  rU  
visit_List	visit_Setr_  rc  rg  rm  rr  rv  r}  r  r  r  r  r  visit_ListCompvisit_GeneratorExpvisit_SetCompr  r  r  r  r  r  r  rZ   r[   r\   s   @r6   rj   rj      s~    0#.."!!F*  " "68
'*$8$!!!%(	  S)JsC(I	& %S#.N(c2#C-M -
 
 
r8   rj   N)z	<unknown>exec),rY   _astr   r   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    rf  r   rl  rp  ALL_SYMBOLSupdater7   r?   rA   r_   rj   rU   r8   r6   <module>r     sy                                  ub$' #d
D
D	3
C
C 	8	4	8 3UD#tSA   > "   = !   = !   ? #8
*" *"Z9k 9xxk xr8   