ó
    F\h7  ã                   óî  • S r SSKrSSKJrJrJrJrJrJrJrJ	r	J
r
JrJrJrJrJrJr  SSKrSSKJr  / SQrS r " S S5      r\" 5       r " S	 S
\5      r " S S5      r " S S\5      r " S S\5      r " S S5      rS\4/r\R=                  S \" 5       RA                  5        5       5        Sr!\! V s0 s H  n \" 5       U    U _M     sn r"S r#\$S:X  a  SSK%r%\#" \%RL                  SS 5        ggs  sn f )z2Interface to the compiler's internal symbol tablesé    N)ÚUSEÚ
DEF_GLOBALÚDEF_NONLOCALÚ	DEF_LOCALÚ	DEF_PARAMÚ
DEF_IMPORTÚ	DEF_BOUNDÚ	DEF_ANNOTÚ	SCOPE_OFFÚ
SCOPE_MASKÚFREEÚLOCALÚGLOBAL_IMPLICITÚGLOBAL_EXPLICITÚCELL)ÚStrEnum)ÚsymtableÚSymbolTableTypeÚSymbolTableÚClassÚFunctionÚSymbolc                 óF   • [         R                  " XU5      n[        X15      $ )zžReturn the toplevel *SymbolTable* for the source code.

*filename* is the name of the file with the code
and *compile_type* is the *compile()* mode argument.
)Ú	_symtabler   Ú_newSymbolTable)ÚcodeÚfilenameÚcompile_typeÚtops       Ú/usr/lib/python3.13/symtable.pyr   r      s!   € ô ×
Ò
˜T¨\Ó
:€CÜ˜3Ó)Ð)ó    c                   ó&   • \ rS rSrS rS rS rSrg)ÚSymbolTableFactoryé   c                 ó8   • [         R                  " 5       U l        g ©N)ÚweakrefÚWeakValueDictionaryÚ_SymbolTableFactory__memo©Úselfs    r    Ú__init__ÚSymbolTableFactory.__init__   s   € Ü×1Ò1Ó3ˆ�r!   c                 ó¼   • UR                   [        R                  :X  a  [        X5      $ UR                   [        R                  :X  a  [        X5      $ [        X5      $ r&   )Útyper   ÚTYPE_FUNCTIONr   Ú
TYPE_CLASSr   r   )r+   Útabler   s      r    ÚnewÚSymbolTableFactory.new   sG   € Ø�:‰:œ×0Ñ0Ó0Ü˜EÓ,Ð,Ø�:‰:œ×-Ñ-Ó-Ü˜Ó)Ð)Ü˜5Ó+Ð+r!   c                 óˆ   • X4nU R                   R                  US 5      nUc  U R                  X5      =o@R                   U'   U$ r&   )r)   Úgetr3   )r+   r2   r   ÚkeyÚobjs        r    Ú__call__ÚSymbolTableFactory.__call__!   sA   € ØˆoˆØ�k‰k�o‰o˜c 4Ó(ˆØ‰;Ø%)§X¡X¨eÓ%>Ð>ˆC—+‘+˜cÑ"Øˆ
r!   )Ú__memoN)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r,   r3   r9   Ú__static_attributes__© r!   r    r#   r#      s   † ò4ò,õr!   r#   c                   ó0   • \ rS rSrSrSrSrSrSrSr	Sr
S	rg
)r   é+   ÚmoduleÚfunctionÚclassÚ
annotationz
type aliasztype parametersztype variablerA   N)r<   r=   r>   r?   ÚMODULEÚFUNCTIONÚCLASSÚ
ANNOTATIONÚ
TYPE_ALIASÚTYPE_PARAMETERSÚTYPE_VARIABLEr@   rA   r!   r    r   r   +   s%   † Ø€FØ€HØ€EØ€JØ€JØ'€OØ#ƒMr!   r   c                   óh   • \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rSrg)r   é5   c                 ó*   • Xl         X l        0 U l        g r&   )Ú_tableÚ	_filenameÚ_symbols)r+   Ú	raw_tabler   s      r    r,   ÚSymbolTable.__init__7   s   € ØŒØ!ŒØˆ�r!   c                 ó.  • U R                   [        :X  a  SnOSU R                   R                  -  nU R                  R                  S:X  a  SR                  XR                  5      $ SR                  UU R                  R                  U R                  5      $ )NÚ z%s r   z<{0}SymbolTable for module {1}>z<{0}SymbolTable for {1} in {2}>)Ú	__class__r   r<   rR   ÚnameÚformatrS   )r+   Úkinds     r    Ú__repr__ÚSymbolTable.__repr__<   sy   € Ø�>‰>œ[Ó(Ø‰Dà˜4Ÿ>™>×2Ñ2Ñ2ˆDà�;‰;×Ñ˜uÓ$Ø4×;Ñ;¸DÇ.Á.ÓQÐQà4×;Ñ;¸DØ<@¿K¹K×<LÑ<LØ<@¿N¹NóLð Lr!   c                 óN  • U R                   R                  [        R                  :X  a  [        R
                  $ U R                   R                  [        R                  :X  a  [        R                  $ U R                   R                  [        R                  :X  a  [        R                  $ U R                   R                  [        R                  :X  a  [        R                  $ U R                   R                  [        R                  :X  a  [        R                  $ U R                   R                  [        R                  :X  a  [        R                  $ U R                   R                  [        R                   :X  a  [        R"                  $  SU R                   R                   35       e)zvReturn the type of the symbol table.

The value returned is one of the values in
the ``SymbolTableType`` enumeration.
zunexpected type: )rR   r/   r   ÚTYPE_MODULEr   rH   r0   rI   r1   rJ   ÚTYPE_ANNOTATIONrK   ÚTYPE_TYPE_ALIASrL   ÚTYPE_TYPE_PARAMETERSrM   ÚTYPE_TYPE_VARIABLErN   r*   s    r    Úget_typeÚSymbolTable.get_typeI   s  € ð �;‰;×Ñœy×4Ñ4Ó4Ü"×)Ñ)Ð)Ø�;‰;×Ñœy×6Ñ6Ó6Ü"×+Ñ+Ð+Ø�;‰;×Ñœy×3Ñ3Ó3Ü"×(Ñ(Ð(Ø�;‰;×Ñœy×8Ñ8Ó8Ü"×-Ñ-Ð-Ø�;‰;×Ñœy×8Ñ8Ó8Ü"×-Ñ-Ð-Ø�;‰;×Ñœy×=Ñ=Ó=Ü"×2Ñ2Ð2Ø�;‰;×Ñœy×;Ñ;Ó;Ü"×0Ñ0Ð0Ø<Ð)¨$¯+©+×*:Ñ*:Ð);Ð<Ó<ˆur!   c                 ó.   • U R                   R                  $ )z,Return an identifier for the table.
        )rR   Úidr*   s    r    Úget_idÚSymbolTable.get_id_   s   € ð �{‰{�~‰~Ðr!   c                 ó.   • U R                   R                  $ )z•Return the table's name.

This corresponds to the name of the class, function
or 'top' if the table is for a class, function or
global respectively.
)rR   rZ   r*   s    r    Úget_nameÚSymbolTable.get_named   s   € ð �{‰{×ÑÐr!   c                 ó.   • U R                   R                  $ )z@Return the number of the first line in the
block for the table.
)rR   Úlinenor*   s    r    Ú
get_linenoÚSymbolTable.get_linenom   s   € ð �{‰{×!Ñ!Ð!r!   c                 ób   • [        U R                  R                  [        R                  :H  5      $ )z:Return *True* if the locals in the table
are optimizable.
)ÚboolrR   r/   r   r0   r*   s    r    Úis_optimizedÚSymbolTable.is_optimizeds   s$   € ô �D—K‘K×$Ñ$¬	×(?Ñ(?Ñ?Ó@Ð@r!   c                 ó@   • [        U R                  R                  5      $ )z9Return *True* if the block is a nested class
or function.)rs   rR   Únestedr*   s    r    Ú	is_nestedÚSymbolTable.is_nestedy   s   € ô �D—K‘K×&Ñ&Ó'Ð'r!   c                 ó@   • [        U R                  R                  5      $ )z:Return *True* if the block has nested namespaces.
        )rs   rR   Úchildrenr*   s    r    Úhas_childrenÚSymbolTable.has_children~   s   € ô �D—K‘K×(Ñ(Ó)Ð)r!   c                 óJ   • U R                   R                  R                  5       $ )zKReturn a view object containing the names of symbols in the table.
        )rR   ÚsymbolsÚkeysr*   s    r    Úget_identifiersÚSymbolTable.get_identifiersƒ   s   € ð �{‰{×"Ñ"×'Ñ'Ó)Ð)r!   c                 óú   • U R                   R                  U5      nUc\  U R                  R                  U   nU R	                  U5      nU R                  R
                  S:H  n[        XUUS9=o R                   U'   U$ )z<Lookup a *name* in the table.

Returns a *Symbol* instance.
r   ©Úmodule_scope)rT   r6   rR   r   Ú_SymbolTable__check_childrenrZ   r   )r+   rZ   ÚsymÚflagsÚ
namespacesr…   s         r    ÚlookupÚSymbolTable.lookupˆ   s{   € ð
 �m‰m×Ñ Ó%ˆØ‰;Ø—K‘K×'Ñ'¨Ñ-ˆEØ×.Ñ.¨tÓ4ˆJØ ŸK™K×,Ñ,°Ñ5ˆLÜ(.¨t¸JØ<Hñ)Jð JˆC—-‘- Ñ%àˆ
r!   c                 ój   • U R                  5        Vs/ s H  oR                  U5      PM     sn$ s  snf )z<Return a list of *Symbol* instances for
names in the table.
)r�   rŠ   )r+   Úidents     r    Úget_symbolsÚSymbolTable.get_symbols–   s.   € ð 15×0DÑ0DÔ0FÓGÒ0F u—‘˜EÖ"Ñ0FÑGÐGùÒGs   “0c                 ó¤   • U R                   R                   Vs/ s H*  nUR                  U:X  d  M  [        X R                  5      PM,     sn$ s  snf r&   )rR   r{   rZ   r   rS   )r+   rZ   Ústs      r    Ú__check_childrenÚSymbolTable.__check_childrenœ   sG   € àŸ+™+×.Ò.ó$Ú.�BØ—7‘7˜d‘?ó 4” §N¡NÖ3Ù.ñ$ð 	$ùò $s
   ™A±Ac                 ó€   • U R                   R                   Vs/ s H  n[        XR                  5      PM     sn$ s  snf )z3Return a list of the nested symbol tables.
        )rR   r{   r   rS   )r+   r‘   s     r    Úget_childrenÚSymbolTable.get_children¡   s<   € ð Ÿ+™+×.Ò.ó0Ú.�Bô   §N¡NÖ3Ù.ñ0ð 	0ùò 0s   ™;)rS   rT   rR   N)r<   r=   r>   r?   r,   r]   re   ri   rl   rp   rt   rx   r|   r�   rŠ   rŽ   r†   r•   r@   rA   r!   r    r   r   5   sK   † òò
Lò=ò,ò
 ò"òAò(ò
*ò
*ò
òHò$õ
0r!   r   c                   óL   • \ rS rSrSrSrSrSrSrS r	S r
S rS rS rS rS	rg)
r   é¨   Nc                 óN   ^ ^• [        U U4S jT R                  5        5       5      $ )Nc              3   ót   >#   • U  H-  nT" TR                   R                  U   5      (       d  M)  Uv •  M/     g 7fr&   )rR   r   )Ú.0r�   r+   Ú	test_funcs     €€r    Ú	<genexpr>Ú-Function.__idents_matching.<locals>.<genexpr>²   s1   øé € ð ?Ò(>˜uÙ! $§+¡+×"5Ñ"5°eÑ"<×=÷ ‘UÒ(>ùs   ƒ(8¯	8)Útupler�   )r+   rœ   s   ``r    Ú__idents_matchingÚFunction.__idents_matching±   s%   ù€ Üõ ?¨×(<Ñ(<Ô(>ó ?ó ?ð 	?r!   c                 ób   • U R                   c  U R                  S 5      U l         U R                   $ )z6Return a tuple of parameters to the function.
        c                 ó   • U [         -  $ r&   )r   ©Úxs    r    Ú<lambda>Ú)Function.get_parameters.<locals>.<lambda>¹   s   € ¸AÄ	ºMr!   )Ú_Function__paramsÚ_Function__idents_matchingr*   s    r    Úget_parametersÚFunction.get_parametersµ   s+   € ð �=‰=Ñ Ø ×2Ñ2Ñ3IÓJˆDŒMØ�}‰}Ðr!   c                 ó†   ^• U R                   c(  [        [        4mU4S jnU R                  U5      U l         U R                   $ )z2Return a tuple of locals in the function.
        c                 ó*   >• U [         -	  [        -  T;   $ r&   ©r   r   )r¥   Úlocss    €r    r¦   Ú%Function.get_locals.<locals>.<lambda>Á   s   ø€ ˜q¤I™~´Ñ;ÀÒDr!   )Ú_Function__localsr   r   r©   )r+   Útestr¯   s     @r    Ú
get_localsÚFunction.get_locals¼   s9   ø€ ð �=‰=Ñ Üœ4�=ˆDÜDˆDØ ×2Ñ2°4Ó8ˆDŒMØ�}‰}Ðr!   c                 ó†   ^• U R                   c(  [        [        4mU4S jnU R                  U5      U l         U R                   $ )z3Return a tuple of globals in the function.
        c                 ó*   >• U [         -	  [        -  T;   $ r&   r®   )r¥   Úglobs    €r    r¦   Ú&Function.get_globals.<locals>.<lambda>Ê   s   ø€ ˜a¤9™n´
Ñ:¸tÒCr!   )Ú_Function__globalsr   r   r©   )r+   r²   r·   s     @r    Úget_globalsÚFunction.get_globalsÅ   s:   ø€ ð �>‰>Ñ!Ü#¤_Ð5ˆDÜCˆDØ!×3Ñ3°DÓ9ˆDŒNØ�~‰~Ðr!   c                 ób   • U R                   c  U R                  S 5      U l         U R                   $ )z5Return a tuple of nonlocals in the function.
        c                 ó   • U [         -  $ r&   )r   r¤   s    r    r¦   Ú(Function.get_nonlocals.<locals>.<lambda>Ò   s	   € ¸qÄ<Ò?Or!   )Ú_Function__nonlocalsr©   r*   s    r    Úget_nonlocalsÚFunction.get_nonlocalsÎ   s0   € ð ×ÑÑ#Ø#×5Ñ5Ñ6OÓPˆDÔØ×ÑÐr!   c                 óf   • U R                   c  S nU R                  U5      U l         U R                   $ )z:Return a tuple of free variables in the function.
        c                 ó0   • U [         -	  [        -  [        :H  $ r&   )r   r   r   r¤   s    r    r¦   Ú$Function.get_frees.<locals>.<lambda>Ù   s   €  ¤i¡´:Ñ =Ä$ÒFr!   )Ú_Function__freesr©   )r+   Úis_frees     r    Ú	get_freesÚFunction.get_freesÕ   s/   € ð �<‰<ÑÙFˆGØ×1Ñ1°'Ó:ˆDŒLØ�|‰|Ðr!   )Ú__freesÚ	__globalsÚ__localsÚ__nonlocalsÚ__params)r<   r=   r>   r?   r¨   r±   rÅ   r¹   r¿   r©   rª   r³   rº   rÀ   rÇ   r@   rA   r!   r    r   r   ¨   s;   † ð €HØ€HØ€GØ€IØ€Kò?òòòò õr!   r   c                   ó   • \ rS rSrSrS rSrg)r   éÞ   Nc                 ó~  ^ • T R                   Gc#  0 nU 4S jnT R                  R                   Hñ  nU" UR                  5      (       d  M  UR                  =[
        R                  :X  a3    UR                  S:X  a  SUR                  ;   a  M^  SXR                  '   Mn  [
        R                  :X  d  Mƒ  UR                  nUR                   HR  nUR                  U:X  d  M  UR                  [
        R                  :X  d  M5  US:w  d  SUR                  ;  d   eSX'     Mï     Mó     [        U5      T l         T R                   $ )z9Return a tuple of methods declared in the class.
        c                 ó~   >• TR                   R                  R                  U S5      nU[        -	  [        -  [
        :H  $ )Nr   )rR   r   r6   r   r   r   )r�   rˆ   r+   s     €r    Úis_local_symbolÚ*Class.get_methods.<locals>.is_local_symbolè   s4   ø€ ØŸ™×+Ñ+×/Ñ/°°qÓ9�Ø¤)Ñ+¬zÑ9¼eÑCÐCr!   Úgenexprz.0é   )
Ú_Class__methodsrR   r{   rZ   r/   r   r0   Úvarnamesrc   rŸ   )r+   ÚdrÒ   r‘   Ú
scope_nameÚcs   `     r    Úget_methodsÚClass.get_methodsâ   sö   ø€ ð �>‰>Ò!ØˆAõDð —k‘k×*Ô*�á" 2§7¡7×+Ó+ØŸ'™'Ø4œY×4Ö4ð  "Ÿw™w¨)Ó3¸ÀÇÁÓ8KÙ (Ø)*˜AŸg™g›JÜ&×;×;ð *,¯©˜JØ%'§[¤[ Ø#$§6¡6¨ZÕ#7¸A¿F¹FÄi×F]ÑF]Õ<]ð ,6¸Ó+BÀdÐRS×R\ÑR\ÓF\Ð$\Ð+\Ø45 A¡MÚ$)ó &1ñ +ô4 # 1›XˆDŒNØ�~‰~Ðr!   )Ú	__methods)r<   r=   r>   r?   rÖ   rÛ   r@   rA   r!   r    r   r   Þ   s   † à€Iõ%r!   r   c                   óŒ   • \ rS rSrSSS.S jjrS rS rS rS	 rS
 r	S r
S rS rS rS rS rS rS rS rS rS rS rSrg)r   i
  NFr„   c                ór   • Xl         X l        U[        -	  [        -  U l        U=(       d    SU l        X@l        g )NrA   )Ú_Symbol__nameÚ_Symbol__flagsr   r   Ú_Symbol__scopeÚ_Symbol__namespacesÚ_Symbol__module_scope)r+   rZ   rˆ   r‰   r…   s        r    r,   ÚSymbol.__init__  s0   € ØŒØŒØ¤Ñ*¬jÑ8ˆŒØ&×,¨"ˆÔØ*Õr!   c                 óŠ   • SR                  U R                  5       5      nSU R                  < SU R                  5        SU S3$ )NÚ|z<symbol ú: ú, Ú>)ÚjoinÚ
_flags_strrà   Ú
_scope_str)r+   Ú	flags_strs     r    r]   ÚSymbol.__repr__  s>   € Ø—H‘H˜TŸ_™_Ó.Ó/ˆ	Ø˜$Ÿ+™+™¨¨4¯?©?Ó+<Ð*=¸RÀ	¸{È!ÐLÐLr!   c                 óx   • [         R                  U R                  5      =(       d    [        U R                  5      $ r&   )Ú_scopes_value_to_namer6   râ   Ústrr*   s    r    rí   ÚSymbol._scope_str  s%   € Ü$×(Ñ(¨¯©Ó6×K¼#¸d¿l¹lÓ:KÐKr!   c              #   ó\   #   • [          H  u  pU R                  U-  U:X  d  M  Uv •  M      g 7fr&   )Ú_flagsrá   )r+   ÚflagnameÚ	flagvalues      r    rì   ÚSymbol._flags_str  s(   é € ß#)ÑˆHØ�|‰|˜iÑ'¨9Õ4Ø”ò $*ùs   ‚,£	,c                 ó   • U R                   $ )z#Return a name of a symbol.
        )rà   r*   s    r    rl   ÚSymbol.get_name  s   € ð �{‰{Ðr!   c                 óN   • [        U R                  [        R                  -  5      $ )z2Return *True* if the symbol is used in
its block.
)rs   rá   r   r   r*   s    r    Úis_referencedÚSymbol.is_referenced$  s   € ô �D—L‘L¤9§=¡=Ñ0Ó1Ð1r!   c                 ó:   • [        U R                  [        -  5      $ )z4Return *True* if the symbol is a parameter.
        )rs   rá   r   r*   s    r    Úis_parameterÚSymbol.is_parameter*  ó   € ô �D—L‘L¤9Ñ,Ó-Ð-r!   c                 ó    • [        U R                  [        [        4;   =(       d&    U R                  =(       a    U R
                  [        -  5      $ )z/Return *True* if the symbol is global.
        )rs   râ   r   r   rä   rá   r	   r*   s    r    Ú	is_globalÚSymbol.is_global/  s@   € ô �D—L‘L¤_´oÐ$FÑF÷ JØ×+Ñ+×H°·±¼yÑ0HóKð 	Kr!   c                 ó:   • [        U R                  [        -  5      $ )z(Return *True* if the symbol is nonlocal.)rs   rá   r   r*   s    r    Úis_nonlocalÚSymbol.is_nonlocal5  s   € ä�D—L‘L¤<Ñ/Ó0Ð0r!   c                 ó:   • [        U R                  [        :H  5      $ )zGReturn *True* if the symbol is declared global
with a global statement.)rs   râ   r   r*   s    r    Úis_declared_globalÚSymbol.is_declared_global9  s   € ô �D—L‘L¤OÑ3Ó4Ð4r!   c                 ó    • [        U R                  [        [        4;   =(       d&    U R                  =(       a    U R
                  [        -  5      $ )z.Return *True* if the symbol is local.
        )rs   râ   r   r   rä   rá   r	   r*   s    r    Úis_localÚSymbol.is_local>  s?   € ô �D—L‘L¤U¬D MÑ1÷ JØ×+Ñ+×H°·±¼yÑ0HóKð 	Kr!   c                 ó:   • [        U R                  [        -  5      $ )z2Return *True* if the symbol is annotated.
        )rs   rá   r
   r*   s    r    Úis_annotatedÚSymbol.is_annotatedD  r  r!   c                 ó:   • [        U R                  [        :H  5      $ )z9Return *True* if a referenced symbol is
not assigned to.
)rs   râ   r   r*   s    r    rÆ   ÚSymbol.is_freeI  s   € ô �D—L‘L¤DÑ(Ó)Ð)r!   c                 ó:   • [        U R                  [        -  5      $ )zAReturn *True* if the symbol is created from
an import statement.
)rs   rá   r   r*   s    r    Úis_importedÚSymbol.is_importedO  s   € ô �D—L‘L¤:Ñ-Ó.Ð.r!   c                 ó:   • [        U R                  [        -  5      $ )z)Return *True* if a symbol is assigned to.)rs   rá   r   r*   s    r    Úis_assignedÚSymbol.is_assignedU  s   € ä�D—L‘L¤9Ñ,Ó-Ð-r!   c                 ó,   • [        U R                  5      $ )aS  Returns *True* if name binding introduces new namespace.

If the name is used as the target of a function or class
statement, this will be true.

Note that a single name can be bound to multiple objects.  If
is_namespace() is true, the name may also be bound to other
objects, like an int or list, that does not introduce a new
namespace.
)rs   rã   r*   s    r    Úis_namespaceÚSymbol.is_namespaceY  s   € ô �D×%Ñ%Ó&Ð&r!   c                 ó   • U R                   $ )z.Return a list of namespaces bound to this name)rã   r*   s    r    Úget_namespacesÚSymbol.get_namespacesf  s   € à× Ñ Ð r!   c                 ó°   • [        U R                  5      S:X  a  [        S5      e[        U R                  5      S:”  a  [        S5      eU R                  S   $ )z€Return the single namespace bound to this name.

Raises ValueError if the name is bound to multiple namespaces
or no namespace.
r   z#name is not bound to any namespacesrÕ   z$name is bound to multiple namespaces)Úlenrã   Ú
ValueErrorr*   s    r    Úget_namespaceÚSymbol.get_namespacej  sS   € ô ˆt× Ñ Ó! QÓ&ÜÐBÓCÐCÜ�×"Ñ"Ó# aÓ'ÜÐCÓDÐDà×$Ñ$ QÑ'Ð'r!   )Ú__flagsÚ__module_scopeÚ__nameÚ__namespacesÚ__scoper&   )r<   r=   r>   r?   r,   r]   rí   rì   rl   rü   rÿ   r  r  r	  r  r  rÆ   r  r  r  r  r"  r@   rA   r!   r    r   r   
  sg   † ð+ÀUö +òMòLòò
ò
2ò.ò
Kò1ò5ò
Kò.ò
*ò/ò.ò'ò!õ(r!   r   r   c              #   óZ   #   • U  H!  oS    R                  S5      (       d  M  Uv •  M#     g7f)r   ÚDEF_N)Ú
startswith)r›   Úkvs     r    r�   r�   y  s#   é € ÐIÒ,�R°1±×0@Ñ0@À×0H�b‰bÒ,ùs   ‚+¢	+)r   r   r   r   r   c                 ó   ^• SS K nSU4S jjmU =(       d    S/ H`  nUS:X  a  UR                  R                  5       nSnO%[        US5       nUR                  5       nS S S 5        [	        WUS5      nT" U5        Mb     g ! , (       d  f       N(= f)Nr   c           
      ó|  >• SU-  nU R                  5       (       a  SOSnU R                  5       S:X  a  SU R                  < 3nOU R                  5       < n[	        U SU U R                  5        SU S35        U R                  5        H‚  nU R                  U5      nS	R                  UR                  5       5      R                  5       n[	        SU UR                  5       R                  5        S
UR                  5       < SU 35        M„     [	        5         U R                  5        H  nT	" X�S-   5        M     g )Nz    znested rX   rD   z
from file zsymbol table for Ú Ú:ré   z symbol rè   rÕ   )rx   re   rS   rl   Úprintr�   rŠ   rë   rì   Úlowerrí   r•   )
r2   ÚlevelÚindentrw   Úwhatr�   Úsymbolrˆ   Útable2Úprint_symbolss
            €r    r8  Úmain.<locals>.print_symbols€  s  ø€ Ø˜%‘ˆØ#Ÿo™o×/Ñ/‘°RˆØ�>‰>Ó˜xÓ'Ø §¡Ñ2Ð3‰Dà—n‘nÓ&Ñ)ˆDÜ��Ð)¨&¨°%·.±.Ó2BÐ1CÀ1ÀTÀFÈ!ÐLÔMØ×*Ñ*Ö,ˆEØ—\‘\ %Ó(ˆFØ—I‘I˜f×/Ñ/Ó1Ó2×8Ñ8Ó:ˆEÜ�D˜˜ ×!2Ñ!2Ó!4×!:Ñ!:Ó!<Ð =¸XÀfÇoÁoÓFWÑEZÐZ\Ð]bÐ\cÐdÖeñ -ô 	Œà×(Ñ(Ö*ˆFÙ˜&¨!¡)Ö,ò +r!   Ú-z<stdin>ÚrbÚexec)r   )ÚsysÚstdinÚreadÚopenr   )Úargsr=  r   ÚsrcÚfÚmodr8  s         @r    ÚmainrE  ~  sv   ø€ Û÷-ð" —M˜S˜E’MˆØ�s‹?Ø—)‘)—.‘.Ó"ˆCØ ‰Hä�h Ô%¨Ø—f‘f“h�÷ &ä�s˜H fÓ-ˆÙ�cÖò "÷
 &Õ%ús   ÁA?Á?
B	Ú__main__rÕ   )'Ú__doc__r   r   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r'   Úenumr   Ú__all__r   r#   r   r   r   r   r   r   rõ   ÚextendÚglobalsÚitemsÚ_scopes_namesrñ   rE  r<   r=  Úargv)Úns   0r    Ú<module>rP     s  ðÙ 8ã ÷4÷ 4÷ 4÷ 4ñ 4ó Ý â
W€ò*÷ñ ñ$ %Ó&€ô$�gô $÷p0ñ p0ôf3ˆ{ô 3ôl)ˆKô )÷Xk(ñ k(ð\ �#ˆ,ˆ€Ø ‡�ÑI™7›9Ÿ?™?Ô,ÓIÔ IØO€Ù2?Ó@²-¨Q™› 1™ qš±-Ñ@Ð òð< ˆzÓÛÙˆ�‰�!�"ˆÕð ùòC As   Â6C2