ó
    ‰*£h;)  ã                   óL  • S SK rSSKJr  SSKJr  \R                  (       a  S SKrSr	Sr
SrSr SS	\R                  \R                     S
\R                  S   SS4S jjr SS\R                  S
\R                  S   SS4S jjr " S S5      r " S S\5      r " S S\5      rg)é    Né   )Únodes)ÚNodeVisitorÚparamÚresolveÚaliasÚ	undefinedr   Úparent_symbolsÚSymbolsÚreturnc                 ób   • [        US9n[        U5      nU  H  nUR                  U5        M     U$ ©N)Úparent)r   ÚFrameSymbolVisitorÚvisit)r   r
   ÚsymÚvisitorÚnodes        ÚN/home/mande/repo/quber/.venv/lib/python3.13/site-packages/jinja2/idtracking.pyÚfind_symbolsr      s3   € ô ˜Ñ
(€CÜ  Ó%€GÛˆØ�‰�dÖñ à€Jó    r   c                 ó:   • [        US9nUR                  U 5        U$ r   )r   Úanalyze_node)r   r
   r   s      r   Úsymbols_for_noder      s!   € ô ˜Ñ
(€CØ×Ñ�TÔØ€Jr   c            	       óN  • \ rS rSr SS\R
                  S    S\R
                  \   SS4S jjrS\R                  S\R                  SS4S	 jr SS
\S\R
                  \R                  \\R
                  \   4      S\4S jjrS\S\R
                  \R                     4S jrS
\S\R
                  \   4S jrS
\S\4S jrSS jrS
\SS4S jrS
\S\4S jrS
\SS4S jrS\R,                  S    SS4S jrS\R0                  \\4   4S jrS\R4                  \   4S jrSrg)r   é!   Nr   Úlevelr   c                 ó†   • Uc  Uc  SnOUR                   S-   nX l         Xl        0 U l        0 U l        [	        5       U l        g )Nr   r   )r   r   ÚrefsÚloadsÚsetÚstores)Úselfr   r   s      r   Ú__init__ÚSymbols.__init__"   sB   € ð ‰=Ø‰~Ø‘àŸ™ qÑ(�àŒ
ØŒØ&(ˆŒ	Ø)+ˆŒ
Ü"%£%ˆ�r   r   Úkwargsc                 ó@   • [        U 5      nUR                  " U40 UD6  g ©N)ÚRootVisitorr   )r#   r   r&   r   s       r   r   ÚSymbols.analyze_node1   s   € Ü˜dÓ#ˆØ�Š�dÑ%˜fÓ%r   ÚnameÚloadc                 óh   • SU R                    SU 3nX0R                  U'   Ub  X R                  U'   U$ )NÚl_Ú_)r   r   r    )r#   r+   r,   Úidents       r   Ú_define_refÚSymbols._define_ref5   s<   € ð �T—Z‘Z�L  $ Ð(ˆØ�	‰	�$‰ØÑØ $�J‰J�uÑØˆr   Útargetc                 ó�   • XR                   ;   a  U R                   U   $ U R                  b  U R                  R                  U5      $ g r(   )r    r   Ú	find_load)r#   r3   s     r   r5   ÚSymbols.find_load>   s=   € Ø—Z‘ZÓØ—:‘:˜fÑ%Ð%à�;‰;Ñ"Ø—;‘;×(Ñ(¨Ó0Ð0àr   c                 ó�   • XR                   ;   a  U R                   U   $ U R                  b  U R                  R                  U5      $ g r(   )r   r   Úfind_ref©r#   r+   s     r   r8   ÚSymbols.find_refG   s<   € Ø—9‘9ÓØ—9‘9˜T‘?Ð"à�;‰;Ñ"Ø—;‘;×'Ñ'¨Ó-Ð-àr   c                 óN   • U R                  U5      nUc  [        SU< S35      eU$ )NzFTried to resolve a name to a reference that was unknown to the frame (Ú))r8   ÚAssertionError)r#   r+   Úrvs      r   ÚrefÚSymbols.refP   s:   € Ø�]‰]˜4Ó ˆØ‰:Ü ð*Ø*.©°ð4óð ð ˆ	r   c                 óH  • [         R                  U R                  5      nUR                  R	                  U R                  5        U R
                  R                  5       Ul        U R                  R                  5       Ul        U R                  R                  5       Ul        U$ r(   )	ÚobjectÚ__new__Ú	__class__Ú__dict__Úupdater   Úcopyr    r"   )r#   r>   s     r   rG   ÚSymbols.copyY   sg   € Ü�^‰^˜DŸN™NÓ+ˆØ
�‰×Ñ˜4Ÿ=™=Ô)Ø—)‘)—.‘.Ó"ˆŒØ—:‘:—?‘?Ó$ˆŒØ—K‘K×$Ñ$Ó&ˆŒ	Øˆ	r   c                 ó
  • U R                   R                  U5        XR                  ;  aY  U R                  b5  U R                  R	                  U5      nUb  U R                  U[        U4S9  g U R                  U[        S 4S9  g g ©N)r,   )r"   Úaddr   r   r8   r1   ÚVAR_LOAD_ALIASÚVAR_LOAD_UNDEFINED)r#   r+   Ú	outer_refs      r   ÚstoreÚSymbols.storea   s   € Ø�‰�‰˜Ôð —y‘yÓ ð �{‰{Ñ&Ø ŸK™K×0Ñ0°Ó6�	ØÑ(Ø×$Ñ$ T´ÀÐ0KÐ$ÑLØð ×Ñ˜TÔ);¸TÐ(BÐÒCð !r   c                 ód   • U R                   R                  U5        U R                  U[        S 4S9$ rJ   )r"   rK   r1   ÚVAR_LOAD_PARAMETERr9   s     r   Údeclare_parameterÚSymbols.declare_parameters   s.   € Ø�‰�‰˜ÔØ×Ñ Ô,>ÀÐ+EÐÐFÐFr   c                 óV   • U R                  U5      c  U R                  U[        U4S9  g g rJ   )r8   r1   ÚVAR_LOAD_RESOLVEr9   s     r   r,   ÚSymbols.loadw   s/   € Ø�=‰=˜ÓÑ&Ø×Ñ˜TÔ)9¸4Ð(@ÐÒAð 'r   Úbranch_symbolsc                 ó|  • [        5       nU H  nUR                  UR                  5        M      UR                  U R                  5        U Hr  nU R                  R                  UR                  5        U R
                  R                  UR
                  5        U R                  R                  UR                  5        Mt     U Hu  nU R                  U5      nUc   S5       eU R                  b5  U R                  R                  U5      nUb  [        U4U R
                  U'   M`  [        U4U R
                  U'   Mw     g )Nzshould not happen)
r!   rF   r"   Údifference_updater   r    r8   r   rL   rV   )r#   rX   r"   Úbranchr   r+   r3   Úouter_targets           r   Úbranch_updateÚSymbols.branch_update{   sü   € Ü ›Uˆã$ˆFØ�M‰M˜&Ÿ-™-Ö(ñ %ð 	× Ñ  §¡Ô-ã!ˆCØ�I‰I×Ñ˜SŸX™XÔ&Ø�J‰J×Ñ˜cŸi™iÔ(Ø�K‰K×Ñ˜sŸz™zÖ*ñ "ó
 ˆDØ—]‘] 4Ó(ˆFØÑ%Ð:Ð':Ó:Ð%à�{‰{Ñ&Ø#Ÿ{™{×3Ñ3°DÓ9�ØÑ+Ü*8¸,Ð)G�D—J‘J˜vÑ&ÙÜ"2°DÐ!9ˆD�J‰J�vÓò r   c                 ó¢   • 0 nU nUbG  [        UR                  5       H  nX1;  d  M
  U R                  U5      X'   M     UR                  nUb  MG  U$ r(   )Úsortedr"   r8   r   )r#   r>   r   r+   s       r   Údump_storesÚSymbols.dump_stores“   sT   € Ø!ˆØ$(ˆàÑÜ˜tŸ{™{Ö+�Ø•>Ø#Ÿ}™}¨TÓ2�B“Hñ ,ð —;‘;ˆDð Óð ˆ	r   c                 óÌ   • [        5       nU nUbT  U R                  R                  5        H%  u  nu  pEU[        :X  d  M  UR	                  U5        M'     UR
                  nUb  MT  U$ r(   )r!   r    ÚitemsrR   rK   r   )r#   r>   r   r3   Úinstrr/   s         r   Údump_param_targetsÚSymbols.dump_param_targets    s`   € Ü‹UˆØ$(ˆàÑØ&*§j¡j×&6Ñ&6Ö&8Ñ"�™
˜ØÔ.Õ.Ø—F‘F˜6–Nñ '9ð —;‘;ˆDð Óð ˆ	r   )r   r    r   r   r"   )NNr(   )r   zte.Self)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__ÚtÚOptionalÚintr$   r   ÚNodeÚAnyr   ÚstrÚTupler1   r5   r8   r?   rG   rO   rS   r,   ÚSequencer]   ÚDictra   ÚSetrf   Ú__static_attributes__© r   r   r   r   !   sv  † àMQñ(Ø—j‘j Ñ+ð(Ø;<¿:¹:Àc¹?ð(à	õ(ð& §¡ð &°q·u±uð &Àô &ð
 LPñØðØ Ÿz™z¨!¯'©'°#°q·z±zÀ#±Ð2FÑ*GÑHðà	õð ð ¨¯
©
°1·5±5Ñ(9ô ð˜Sð  Q§Z¡Z°¡_ô ð˜ð  ô ôðD˜#ð D $ô Dð$G cð G¨cô GðB˜ð B ô Bð:¨A¯J©J°yÑ,Að :Àdô :ð0˜QŸV™V C¨ HÑ-ô ð A§E¡E¨#¡J÷ r   c            	       ó  • \ rS rSrSS jrS\R                  S\R                  SS4S jr	\	r
\	r\	r\	r\	r\	r\	rS\R"                  S\R                  SS4S jrS\R&                  S\R                  SS4S	 jrS\R*                  S\R                  SS4S
 jr SS\R.                  S\S\R                  SS4S jjrS\R4                  S\R                  SS4S jrS\R                  S\R                  S\R                  SS4S jrSrg)r)   é®   r   Nc                 ó$   • [        U5      U l        g r(   )r   Úsym_visitor©r#   Úsymbolss     r   r$   ÚRootVisitor.__init__¯   s   € Ü-¨gÓ6ˆÕr   r   r&   c                 óh   • UR                  5        H  nU R                  R                  U5        M      g r(   ©Úiter_child_nodesr{   r   ©r#   r   r&   Úchilds       r   Ú_simple_visitÚRootVisitor._simple_visit²   s)   € Ø×*Ñ*Ö,ˆEØ×Ñ×"Ñ" 5Ö)ò -r   c                 ó`   • UR                    H  nU R                  R                  U5        M      g r(   ©Úbodyr{   r   r‚   s       r   Úvisit_AssignBlockÚRootVisitor.visit_AssignBlock¾   ó$   € Ø—Y”YˆEØ×Ñ×"Ñ" 5Ö)ò r   c                 óf   • UR                  SS9 H  nU R                  R                  U5        M      g )N)Úcall)Úexcluder€   r‚   s       r   Úvisit_CallBlockÚRootVisitor.visit_CallBlockÂ   s.   € Ø×*Ñ*°9Ð*Ó=ˆEØ×Ñ×"Ñ" 5Ö)ò >r   c                 ó`   • UR                    H  nU R                  R                  U5        M      g r(   r‡   r‚   s       r   Úvisit_OverlayScopeÚRootVisitor.visit_OverlayScopeÆ   r‹   r   Ú
for_branchc                 óÀ  • US:X  a1  U R                   R                  UR                  SS9  UR                  nO{US:X  a  UR                  nOhUS:X  aW  U R                   R                  UR                  SS9  UR
                  b%  U R                   R                  UR
                  5        g [        S5      eU(       a%  U H  nU R                   R                  U5        M      g g )Nrˆ   T)Ústore_as_paramÚelseÚtestzUnknown for branch)r{   r   r3   rˆ   Úelse_r˜   ÚRuntimeError)r#   r   r”   r&   r[   Úitems         r   Ú	visit_ForÚRootVisitor.visit_ForÊ   s¿   € ð ˜ÓØ×Ñ×"Ñ" 4§;¡;¸tÐ"ÑDØ—Y‘Y‰FØ˜6Ó!Ø—Z‘Z‰FØ˜6Ó!Ø×Ñ×"Ñ" 4§;¡;¸tÐ"ÑDØ�y‰yÑ$Ø× Ñ ×&Ñ& t§y¡yÔ1ØäÐ3Ó4Ð4æÛ�Ø× Ñ ×&Ñ& tÖ,ò ð r   c                 ó¼   • UR                    H  nU R                  R                  U5        M      UR                   H  nU R                  R                  U5        M      g r(   )Útargetsr{   r   rˆ   )r#   r   r&   r3   rƒ   s        r   Ú
visit_WithÚRootVisitor.visit_WithÞ   sF   € Ø—l”lˆFØ×Ñ×"Ñ" 6Ö*ñ #à—Y”YˆEØ×Ñ×"Ñ" 5Ö)ò r   Úargsc                 óF   • [        S[        U5      R                  < 35      e)NzCannot find symbols for )ÚNotImplementedErrorÚtyperh   )r#   r   r¢   r&   s       r   Úgeneric_visitÚRootVisitor.generic_visitä   s    € Ü!Ð$<¼TÀ$»Z×=PÑ=PÑ<SÐ"TÓUÐUr   )r{   ©r}   r   r   N)rˆ   )rh   ri   rj   rk   r$   r   ro   rl   rp   r„   Úvisit_TemplateÚvisit_BlockÚvisit_MacroÚvisit_FilterBlockÚvisit_ScopeÚvisit_IfÚvisit_ScopedEvalContextModifierÚAssignBlockr‰   Ú	CallBlockr�   ÚOverlayScoper’   ÚForrq   rœ   ÚWithr    r¦   rv   rw   r   r   r)   r)   ®   sA  † ô7ð* %§*¡*ð *¸¿¹ð *À$ô *ð #€NØ€KØ€KØ%ÐØ€KØ€HØ&3Ð#ð* e×&7Ñ&7ð *À1Ç5Á5ð *ÈTô *ð* E§O¡Oð *¸q¿u¹uð *Èô *ð* u×'9Ñ'9ð *ÀQÇUÁUð *Ètô *ð
 28ñ-Ø—I‘Ið-Ø+.ð-ØCDÇ5Á5ð-à	õ-ð(*˜uŸz™zð *°Q·U±Uð *¸tô *ðV %§*¡*ð V°Q·U±Uð VÀaÇeÁeð VÐPT÷ Vr   r)   c            	       óÎ  • \ rS rSrSrSS jr SS\R                  S\S\	R                  SS4S	 jjrS\R                  S\	R                  SS4S
 jrS\R                  S\	R                  SS4S jrS\R                   S\	R                  SS4S jrS\R$                  S\	R                  SS4S jrS\R(                  S\	R                  SS4S jrS\R,                  S\	R                  SS4S jrS\R0                  S\	R                  SS4S jrS\R4                  S\	R                  SS4S jrS\R8                  S\	R                  SS4S jrS\R<                  S\	R                  SS4S jrS\R@                  S\	R                  SS4S jr!S\RD                  S\	R                  SS4S jr#S\RH                  S\	R                  SS4S jr%S\RL                  S\	R                  SS4S jr'Sr(g)r   éè   zA visitor for `Frame.inspect`.r   Nc                 ó   • Xl         g r(   ©r}   r|   s     r   r$   ÚFrameSymbolVisitor.__init__ë   s   € Ø�r   r   r–   r&   c                 óV  • U(       d  UR                   S:X  a&  U R                  R                  UR                  5        gUR                   S:X  a&  U R                  R	                  UR                  5        gUR                   S:X  a&  U R                  R                  UR                  5        gg)z2All assignments to names go through this function.r   rO   r,   N)Úctxr}   rS   r+   rO   r,   )r#   r   r–   r&   s       r   Ú
visit_NameÚFrameSymbolVisitor.visit_Nameî   sq   € ö ˜TŸX™X¨Ó0Ø�L‰L×*Ñ*¨4¯9©9Õ5Ø�X‰X˜Ó Ø�L‰L×Ñ˜tŸy™yÕ)Ø�X‰X˜ÓØ�L‰L×Ñ˜dŸi™iÕ(ð  r   c                 óN   • U R                   R                  UR                  5        g r(   )r}   r,   r+   ©r#   r   r&   s      r   Úvisit_NSRefÚFrameSymbolVisitor.visit_NSRefù   s   € Ø�‰×Ñ˜$Ÿ)™)Õ$r   c                 ón  ^ ^^• T R                   " UR                  40 TD6  T R                  mS[        R                  [
        R                     SS4UUU 4S jjnU" UR                  5      nU" UR                  5      nU" UR                  =(       d    S5      nT R                  R                  XEU/5        g )Nr   r   r   c                 ó|   >• TR                  5       =Tl        nU  H  nTR                  " U40 TD6  M     TTl        U$ r(   )rG   r}   r   )r   r>   Úsubnoder&   Úoriginal_symbolsr#   s      €€€r   Úinner_visitÚ0FrameSymbolVisitor.visit_If.<locals>.inner_visit   sA   ø€ Ø 0× 5Ñ 5Ó 7Ð7ˆDŒL˜2ã �Ø—
’
˜7Ñ- fÔ-ñ !ð ,ˆDŒLØˆIr   rw   )r   r˜   r}   rl   ÚIterabler   ro   rˆ   Úelif_r™   r]   )r#   r   r&   rÆ   Úbody_symbolsÚelif_symbolsÚelse_symbolsrÅ   s   ` `    @r   r®   ÚFrameSymbolVisitor.visit_Ifü   s�   ú€ Ø�
Š
�4—9‘9Ñ' Ò'ØŸ<™<Ðð	œqŸz™z¬%¯*©*Ñ5ð 	¸)÷ 	ñ 	ñ # 4§9¡9Ó-ˆÙ" 4§:¡:Ó.ˆÙ" 4§:¡:×#3°Ó4ˆØ�‰×"Ñ" LÀÐ#MÕNr   c                 óN   • U R                   R                  UR                  5        g r(   )r}   rO   r+   r¿   s      r   r«   ÚFrameSymbolVisitor.visit_Macro  s   € Ø�‰×Ñ˜4Ÿ9™9Õ%r   c                 ót   • U R                   " U40 UD6  U R                  R                  UR                  5        g r(   )r¦   r}   rO   r3   r¿   s      r   Úvisit_ImportÚFrameSymbolVisitor.visit_Import  s+   € Ø×Ò˜4Ñ* 6Ò*Ø�‰×Ñ˜4Ÿ;™;Õ'r   c                 óð   • U R                   " U40 UD6  UR                   HS  n[        U[        5      (       a   U R                  R                  US   5        M8  U R                  R                  U5        MU     g )Nr   )r¦   ÚnamesÚ
isinstanceÚtupler}   rO   )r#   r   r&   r+   s       r   Úvisit_FromImportÚ#FrameSymbolVisitor.visit_FromImport  sX   € Ø×Ò˜4Ñ* 6Ò*à—J”JˆDÜ˜$¤×&Ñ&Ø—‘×"Ñ" 4¨¡7Ö+à—‘×"Ñ" 4Ö(ò	 r   c                 óx   • U R                   " UR                  40 UD6  U R                   " UR                  40 UD6  g)z'Visit assignments in the correct order.N)r   r   r3   r¿   s      r   Úvisit_AssignÚFrameSymbolVisitor.visit_Assign  s,   € à�
Š
�4—9‘9Ñ' Ò'Ø�
Š
�4—;‘;Ñ) &Ó)r   c                 ó>   • U R                   " UR                  40 UD6  g)zaVisiting stops at for blocks.  However the block sequence
is visited as part of the outer scope.
N)r   Úiterr¿   s      r   rœ   ÚFrameSymbolVisitor.visit_For#  s   € ð 	�
Š
�4—9‘9Ñ' Ó'r   c                 ó>   • U R                   " UR                  40 UD6  g r(   )r   r�   r¿   s      r   r�   Ú"FrameSymbolVisitor.visit_CallBlock)  s   € Ø�
Š
�4—9‘9Ñ' Ó'r   c                 ó>   • U R                   " UR                  40 UD6  g r(   )r   Úfilterr¿   s      r   r¬   Ú$FrameSymbolVisitor.visit_FilterBlock,  s   € Ø�
Š
�4—;‘;Ñ) &Ó)r   c                 óL   • UR                    H  nU R                  U5        M     g r(   )Úvaluesr   )r#   r   r&   r3   s       r   r    ÚFrameSymbolVisitor.visit_With/  s   € Ø—k”kˆFØ�J‰J�vÖò "r   c                 ó>   • U R                   " UR                  40 UD6  g)zStop visiting at block assigns.N)r   r3   r¿   s      r   r‰   Ú$FrameSymbolVisitor.visit_AssignBlock3  s   € à�
Š
�4—;‘;Ñ) &Ó)r   c                 ó   • g)zStop visiting at scopes.Nrw   r¿   s      r   r­   ÚFrameSymbolVisitor.visit_Scope7  ó   � r   c                 ó   • g)zStop visiting at blocks.Nrw   r¿   s      r   rª   ÚFrameSymbolVisitor.visit_Block:  rë   r   c                 ó   • g)z!Do not visit into overlay scopes.Nrw   r¿   s      r   r’   Ú%FrameSymbolVisitor.visit_OverlayScope=  rë   r   r¸   r¨   )F))rh   ri   rj   rk   Ú__doc__r$   r   ÚNameÚboolrl   rp   r¼   ÚNSRefrÀ   ÚIfr®   ÚMacror«   ÚImportrÑ   Ú
FromImportr×   ÚAssignrÚ   r³   rœ   r±   r�   ÚFilterBlockr¬   r´   r    r°   r‰   ÚScoper­   ÚBlockrª   r²   r’   rv   rw   r   r   r   r   è   s$  † Ù(ôð 8=ñ	)Ø—J‘Jð	)Ø04ð	)ØHIÏÉð	)à	õ	)ð% §¡ð %°q·u±uð %Àô %ðO˜UŸX™Xð O°·±ð O¸4ô Oð$& §¡ð &°q·u±uð &Àô &ð( §¡ð (¸¿¹ð (À4ô (ð) U×%5Ñ%5ð )ÀÇÁð )È4ô )ð* §¡ð *¸¿¹ð *À4ô *ð
(˜eŸi™ið (°1·5±5ð (¸Tô (ð( E§O¡Oð (¸q¿u¹uð (Èô (ð* e×&7Ñ&7ð *À1Ç5Á5ð *ÈTô *ð˜uŸz™zð °Q·U±Uð ¸tô ð* e×&7Ñ&7ð *À1Ç5Á5ð *ÈTô *ð' §¡ð '°q·u±uð 'Àô 'ð' §¡ð '°q·u±uð 'Àô 'ð0 u×'9Ñ'9ð 0ÀQÇUÁUð 0Èt÷ 0r   r   r(   )Útypingrl   Ú r   r   r   ÚTYPE_CHECKINGÚtyping_extensionsÚterR   rV   rL   rM   rÈ   ro   rm   r   r   r   r)   r   rw   r   r   Ú<module>r     sÃ   ðÛ å Ý  à‡?‡?Û"àÐ ØÐ Ø€Ø Ð ð LPñØ�:‰:�e—j‘jÑ!ðØ34·:±:¸iÑ3Hðàõð ?CñØ
�*‰*ðØ&'§j¡j°Ñ&;ðàõ÷Jñ JôZ7V�+ô 7VôtV0˜õ V0r   