+
    WBiMJ                        R t ^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIHt  ! R R4      t ! R R	]4      t ! R
 R]4      t	 ! R R]4      t
 ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]]R7      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R ]4      t ! R! R"]4      t ! R# R$]4      t ! R% R&]4      t ! R' R(]4      t ! R) R*]4      tR# )+z5defines the parse tree components for Mako templates.N)ast)
exceptions)filters)utilc                   F   a  ] tR t^t o RtR t]R 4       tR tR t	Rt
V tR# )Nodez(base class for a Node in the parse tree.c                6    Wn         W n        W0n        W@n        R # Nsourcelinenoposfilename)selfr   r   r   r   s   &&&&&3/usr/lib/python3.14/site-packages/mako/parsetree.py__init__Node.__init__   s         c                f    R V P                   RV P                  RV P                  RV P                  /# r
   r
   r   s   &r   exception_kwargsNode.exception_kwargs   s2     dkkdkk488	
 	
r   c                    . # r	    r   s   &r   get_childrenNode.get_children$       	r   c                t   a V3R  lp\        SRV P                  P                  ,           V4      pV! V 4       R# )c                 X   < V P                  4        F  pVP                  S4       K  	  R # r	   )r   accept_visitor)nodenvisitors   & r   traverse%Node.accept_visitor.<locals>.traverse(   s$    &&(  ) )r   visitN)getattr	__class____name__)r   r"   r#   methods   &f  r   r   Node.accept_visitor'   s.    	* 'DNN,C,C"CXNtr   )r   r   r   r   N)r(   
__module____qualname____firstlineno____doc__r   propertyr   r   r   __static_attributes____classdictcell__)__classdict__s   @r   r   r      s0     2! 
 
 r   r   c                   B   a a ] tR t^0t oRtV 3R ltR tR tRtVt	V ;t
# )TemplateNodez?a 'container' node that stores the overall collection of nodes.c                H   < \         SV `  R ^ ^ V4       . V n        / V n        R# ) N)superr   nodespage_attributes)r   r   r'   s   &&r   r   TemplateNode.__init__4   s%    Q8,
!r   c                    V P                   # r	   r8   r   s   &r   r   TemplateNode.get_children9       zzr   c                h    R \         P                  ! V P                  4      : RV P                  : R2# )zTemplateNode(, ))r   sorted_dict_reprr9   r8   r   s   &r   __repr__TemplateNode.__repr__<   s'    !!$"6"67JJ
 	
r   )r8   r9   )r(   r+   r,   r-   r.   r   r   rC   r0   r1   __classcell__r'   r2   s   @@r   r4   r4   0   s     I"

 
r   r4   c                   X   a a ] tR t^Ct oRtRtV 3R ltR tR tR t	R t
R tR	tVtV ;t# )
ControlLinezudefines a control line, a line-oriented python line or end tag.

e.g.::

    % if foo:
        (markup)
    % endif

Fc                8  < \         SV `  ! R/ VB  W0n        Wn        W n        VR9   V n        . V n        V P                  '       d   . V n        . V n        R# \        P                  ! V3/ V P                  B pVP                  V n        VP                  V n        R# )forNr   )rJ   ifwhiletrywith)r7   r   textkeywordisend
is_primaryr8   _declared_identifiers_undeclared_identifiersr   PythonFragmentr   declared_identifiersundeclared_identifiers)r   rP   rQ   rO   kwargscoder'   s   &&&&, r   r   ControlLine.__init__Q   s    "6"	
!%JJ
:::)+D&+-D(%%dDd.C.CDD)-)B)BD&+/+F+FD(r   c                    V P                   # r	   r<   r   s   &r   r   ControlLine.get_children`   r>   r   c                    V P                   # r	   )rS   r   s   &r   rV    ControlLine.declared_identifiersc   s    )))r   c                    V P                   # r	   )rT   r   s   &r   rW   "ControlLine.undeclared_identifiersf   s    +++r   c                h    RRR0RRR0RR0/pWP                  V P                  \        4       4      9   # )zJreturn true if the given keyword is a ternary keyword
for this ControlLinerK   elseelifrM   exceptfinallyrJ   )getrP   set)r   rP   casess   && r   
is_ternaryControlLine.is_ternaryi   sB    
 66"Hi(F8
 ))DLL#%888r   c           	         R V P                   : RV P                  : RV P                  : RV P                  V P                  3: R2	# )zControlLine(r@   rA   )rP   rO   rQ   r   r   r   s   &r   rC   ControlLine.__repr__u   s1    LLIIJJ[[$((#	
 	
r   )rS   rT   rR   rQ   rP   r8   rO   )r(   r+   r,   r-   r.   has_loop_contextr   r   rV   rW   ri   rC   r0   r1   rE   rF   s   @@r   rH   rH   C   s6      G*,
9
 
r   rH   c                   <   a a ] tR t^~t oRtV 3R ltR tRtVtV ;t	# )Textz#defines plain text in the template.c                4   < \         SV `  ! R/ VB  Wn        R # Nr   )r7   r   content)r   rr   rX   r'   s   &&,r   r   Text.__init__   s    "6"r   c                X    R V P                   : RV P                  V P                  3: R2# )zText(r@   rA   )rr   r   r   r   s   &r   rC   Text.__repr__   s    !%TXX/FGGr   )rr   
r(   r+   r,   r-   r.   r   rC   r0   r1   rE   rF   s   @@r   ro   ro   ~   s     -H Hr   ro   c                   H   a a ] tR t^t oRtV 3R ltR tR tR tRt	Vt
V ;t# )Codezdefines a Python code block, either inline or module level.

e.g.::

    inline:
    <%
        x = 12
    %>

    module level:
    <%!
        import logger
    %>

c                   < \         SV `  ! R/ VB  Wn        W n        \        P
                  ! V3/ V P                  B V n        R # rq   )r7   r   rO   ismoduler   
PythonCoder   rY   )r   rO   rz   rX   r'   s   &&&,r   r   Code.__init__   s8    "6"	 NN4A4+@+@A	r   c                .    V P                   P                  # r	   )rY   rV   r   s   &r   rV   Code.declared_identifiers   s    yy---r   c                .    V P                   P                  # r	   )rY   rW   r   s   &r   rW   Code.undeclared_identifiers   s    yy///r   c                t    R V P                   : RV P                  : RV P                  V P                  3: R2# )zCode(r@   rA   )rO   rz   r   r   r   s   &r   rC   Code.__repr__   s*    IIMM[[$((#
 	
r   )rY   rz   rO   r(   r+   r,   r-   r.   r   rV   rW   rC   r0   r1   rE   rF   s   @@r   rx   rx      s$      B.0
 
r   rx   c                   <   a a ] tR t^t oRtV 3R ltR tRtVtV ;t	# )Commentz.defines a comment line.

# this is a comment

c                4   < \         SV `  ! R/ VB  Wn        R # rq   )r7   r   rO   )r   rO   rX   r'   s   &&,r   r   Comment.__init__   s    "6"	r   c                X    R V P                   : RV P                  V P                  3: R2# )zComment(r@   rA   )rO   r   r   r   s   &r   rC   Comment.__repr__   s    $(IITXX/FGGr   )rO   rv   rF   s   @@r   r   r      s     H Hr   r   c                   H   a a ] tR t^t oRtV 3R ltR tR tR tRt	Vt
V ;t# )
Expressionz'defines an inline expression.

${x+y}

c                   < \         SV `  ! R/ VB  Wn        W n        \        P
                  ! V3/ V P                  B V n        \        P                  ! V3/ V P                  B V n	        R # rq   )
r7   r   rO   escapesr   ArgumentListr   escapes_coder{   rY   )r   rO   r   rX   r'   s   &&&,r   r   Expression.__init__   sV    "6"	,,WN8M8MNNN4A4+@+@A	r   c                    . # r	   r   r   s   &r   rV   Expression.declared_identifiers   r   r   c                    V P                   P                  P                  V P                  P                  P	                  \
        P                  4      4      P	                  V P                   P                  4      # r	   )rY   rW   unionr   
differencer   DEFAULT_ESCAPESrV   r   s   &r   rW   !Expression.undeclared_identifiers   sX    yy//5544??''
 *TYY33
4		5r   c                    R V P                   : RV P                  P                  : RV P                  V P                  3: R2# )zExpression(r@   rA   )rO   r   argsr   r   r   s   &r   rC   Expression.__repr__   s2    II""[[$((#
 	
r   )rY   r   r   rO   r   rF   s   @@r   r   r      s$     B5
 
r   r   c                   @   a a ] tR t^t oRt/ tV 3R ltR tRtVt	V ;t
# )_TagMetazEmetaclass to allow Tag to produce a subclass according to
its keywordc                v   < \        V R R4      e   W P                  V P                  &   \        SV `  WV4       R# )__keyword__N)r&   	_classmapr   r7   r   )clsclsnamebasesdict_r'   s   &&&&r   r   _TagMeta.__init__   s1    3t,8-0MM#//*/r   c           	     j   R V9   d1   VP                  R 4      w  rE\        P                  ! \        WEV3/ VB #  \        P
                  V,          p \        P                  ! YT3/ TB #   \         d@    \        P                  ! RT,          TR,          TR,          TR,          TR,          R7      hi ; i):zNo such tag: '%s'r   r   r   r   r
   )	splittype__call__CallNamespaceTagr   r   KeyErrorr   CompileException)r   rP   
attributesrX   nsdefnames   &&&,  r   r   _TagMeta.__call__   s    '>!--,KB== "z=C 		$$W-C }}S:@@@  	--#g-h'h'5M
+ 	s   A( (A
B2r   )r(   r+   r,   r-   r.   r   r   r   r0   r1   rE   rF   s   @@r   r   r      s"      I0
A Ar   r   c                   ^   a a ] tR t^t oRtRtV 3R ltR tR tR t	R t
R tR	 tR
tVtV ;t# )Tagzpabstract base class for tags.

e.g.::

    <%sometag/>

    <%someothertag>
        stuff
    </%someothertag>

Nc                l  < \         S	V `  ! R/ VB  Wn        W n        V P	                  W44       V Uu. uF  qwV P
                  9  g   K  VNK  	  pp\        V4      '       d?   \        P                  ! RRP                  R V 4       4      ,          3/ V P                  B hRV n        . V n        R# u upi )a  construct a new Tag instance.

this constructor not called directly, and is only called
by subclasses.

:param keyword: the tag keyword

:param attributes: raw dictionary of attribute key/value pairs

:param expressions: a set of identifiers that are legal attributes,
 which can also contain embedded expressions

:param nonexpressions: a set of identifiers that are legal
 attributes, which cannot contain embedded expressions

:param \**kwargs:
 other arguments passed to the Node superclass (lineno, pos)

zMissing attribute(s): %s,c              3   8   "   T F  p\        V4      x  K  	  R # 5ir	   )repr).0ms   & r   	<genexpr>Tag.__init__.<locals>.<genexpr>1  s     81tAwws   Nr   )r7   r   rP   r   _parse_attributesparsed_attributeslenr   r   joinr   parentr8   )
r   rP   r   expressionsnonexpressionsrequiredrX   rmissingr'   s
   &&&&&&,  r   r   Tag.__init__  s    8 	"6"${;&Jh43I3I*I11hJw<<--.hh8889
 ''  
 Ks   B1
B1c                    V P                   R J # r	   )r   r   s   &r   is_rootTag.is_root9  s    {{d""r   c                    V P                   # r	   r<   r   s   &r   r   Tag.get_children<  r>   r   c                   \        4       p/ V n        V P                   EF4  pWA9   Ede   . p\        P                  ! R \        P
                  4      P                  V P                  V,          4       F  p\        P                  ! R\        P
                  4      P                  V4      pV'       d   \        P                  ! VP                  ^4      P                  4       3/ V P                  B pVP                  VP                  4      pVP                  RVP                  ^4      ,          4       K  V'       g   K  VP                  \!        V4      4       K  	  RP#                  V4      ;'       g    \!        R4      V P                  V&   EKo  WB9   d   \        P$                  ! RV P                  V,          4      '       d5   \&        P(                  ! RV: RV P*                  : R23/ V P                  B h\!        V P                  V,          4      V P                  V&   EK  \&        P(                  ! R	V P*                  : R
V: R23/ V P                  B h	  W0n        R# )z(\${(?:[^$]*?{.+|.+?)})z^\${(.+?)}$z(%s)z + r6   z\${.+?}zAttribute 'z
' in tag 'z%' does not allow embedded expressionszInvalid attribute for tag 'z': ''N)rg   r   r   recompileSr   matchr   r{   grouprstripr   r   rW   appendr   r   searchr   r   rP   !expression_undeclared_identifiers)	r   r   r   rW   keyexprxr   rY   s	   &&&      r   r   Tag._parse_attributes?  s   !$!#??C!$>EKKOOC(A 

>2448>>qAA"~~GGAJ--/ 373H3H  2H1M1M 772. FQWWQZ$78DG,#$ /4jj.>.J.J$r(&&s+&99Z)=>>$55),dll< // 
 /34??33G.H&&s+ 11||S* ++ ? #H 2H.r   c                    . # r	   r   r   s   &r   rV   Tag.declared_identifiersh  r   r   c                    V P                   # r	   )r   r   s   &r   rW   Tag.undeclared_identifiersk  s    555r   c           
         V P                   P                  : R V P                  : R\        P                  ! V P
                  4      : RV P                  V P                  3: RV P                  : R2
# )(r@   rA   )	r'   r(   rP   r   rB   r   r   r   r8   r   s   &r   rC   Tag.__repr__n  sI    NN##LL!!$//2[[$((#JJ
 	
r   )r   r   rP   r8   r   r   )r(   r+   r,   r-   r.   r   r   r   r   r   rV   rW   rC   r0   r1   rE   rF   s   @@r   r   r      s<     
 K+Z#'HR6
 
r   r   )	metaclassc                   H   a a ] tR tRt oRtV 3R ltR tV 3R ltRtVt	V ;t
# )
IncludeTagix  includec                   < \         SV `  ! VVRRR3/ VB  \        P                  ! RVP	                  RR4      ,          3/ V P
                  B V n        R# )filer   z__DUMMY(%s)r6   N)r   importr   r   r   )r7   r   r   r{   rf   r   	page_argsr   rP   r   rX   r'   s   &&&,r   r   IncludeTag.__init__{  s\    &	
 	
 JNN6266
:>:O:O
r   c                    . # r	   r   r   s   &r   rV   IncludeTag.declared_identifiers  r   r   c                   < V P                   P                  P                  R 04      P                  V P                   P                  4      pVP	                  \
        SV `  4       4      # )__DUMMY)r   rW   r   rV   r   r7   )r   identifiersr'   s   & r   rW   !IncludeTag.undeclared_identifiers  sT    nn;;FFK

*T^^88
9 	   !?!ABBr   )r   r(   r+   r,   r-   r   r   rV   rW   r0   r1   rE   rF   s   @@r   r   r   x  s      K
C Cr   r   c                   <   a a ] tR tRt oRtV 3R ltR tRtVtV ;t	# )NamespaceTagi  	namespacec                `  < \         SV `  ! VVRRR3/ VB  VP                  RR\        \	        \        V 4      4      4      ,          4      V n        RV9  d(   RV9  d!   \        P                  ! R	/ V P                  B hR V9   d*   RV9   d!   \        P                  ! R
/ V P                  B hR# R# )r   namer   modulez	__anon_%sNr   )r   inheritabler   r   r   )z?'name' and/or 'import' attributes are required for <%namespace>)z4<%namespace> may only have one of 'file' or 'module')
r7   r   rf   hexabsidr   r   r   r   r   s   &&&,r   r   NamespaceTag.__init__  s    7	
 	
 NN6;SD]9K+KL	#
(B--  '' 
 ZH
$:-- ''  %;r   c                    . # r	   r   r   s   &r   rV   !NamespaceTag.declared_identifiers  r   r   r   
r(   r+   r,   r-   r   r   rV   r0   r1   rE   rF   s   @@r   r   r     s     K. r   r   c                   <   a a ] tR tRt oRtV 3R ltR tRtVtV ;t	# )TextTagi  rO   c                   < \         SV `  ! WRR R3/ VB  \        P                  ! VP	                  R R4      3/ V P
                  B V n        R# )filterr6   Nr   )r7   r   r   r   rf   r   filter_argsr   s   &&&,r   r   TextTag.__init__  sJ    b8bKFK++NN8R(
,0,A,A
r   c                    V P                   P                  P                  \        P                  P                  4       4      P                  V P                  4      # r	   r  rW   r   r   r   keysr   r   r   s   &r   rW   TextTag.undeclared_identifiers  sC    66AA##((*

%66
7	8r   )r  )
r(   r+   r,   r-   r   r   rW   r0   r1   rE   rF   s   @@r   r  r    s     K
8 8r   r  c                   `   a a ] tR tRt oRtV 3R ltRtRt]R 4       t	R t
R tR tR	tVtV ;t# )
DefTagi  defc                f  < R R.V Uu. uF  qDP                  R4      '       g   K  VNK  	  up,           p\        SV `  ! VVVRR3/ VB  VR,          p\        P                  ! RV4      '       d!   \
        P                  ! R/ V P                  B h\        P                  ! RV,           R,           3/ V P                  B V n
        V P                  P                  V n        VP                  RR	4      V n        \        P                  ! VP                  RR	4      3/ V P                  B V n        R
# u upi )bufferedcachedcache_r   r  	decorator^[\w_]+$zdef z:passr6   Nr   r  r  r   )zMissing parenthesis in %def)
startswithr7   r   r   r   r   r   r   r   FunctionDeclfunction_declfuncnamer   rf   r  r   r  r   rP   r   rX   cr   r   r'   s   &&&,   r   r   DefTag.__init__  s$   !8,!0
!!\\(%;AAz0
 
 	+	
 	
 &!88K&&-- 151F1F  !--TMG#
'+'<'<
 &&//	#R8++NN8R(
,0,A,A
-0
s
   D.D.Fc                .    V P                   P                  # r	   )r  r  r   s   &r   r  DefTag.funcname  s    !!***r   c                :    V P                   P                  ! R/ VB # rq   )r  get_argument_expressionsr   kws   &,r   r   DefTag.get_argument_expressions  s    !!::@R@@r   c                .    V P                   P                  # r	   )r  allargnamesr   s   &r   rV   DefTag.declared_identifiers  s    !!---r   c           	        . pV P                   P                   F>  pV\        \        P                  ! V3/ V P
                  B P                  4      ,          pK@  	  \        V4      P                  V P                  P                  P                  \        P                  P                  4       4      4      P                  V P                  4      P                  V P                   P                  4      # r	   )r  defaultslistr   r{   r   rW   rg   r   r  r   r   r   r
  r   r%  )r   resr  s   &  r   rW   DefTag.undeclared_identifiers  s    ##,,A4..(( C - HU  77BB++002
 U499:Z**667		
r   )r  r  r  r   )r(   r+   r,   r-   r   r   is_anonymousis_blockr/   r  r   rV   rW   r0   r1   rE   rF   s   @@r   r  r    sB     K
6 LH+ +A.
 
r   r  c                   l   a a ] tR tRt oRtV 3R ltRt]R 4       t]R 4       t	R t
R tR	 tR
tVtV ;t# )BlockTagi  blockc                  < . R	OV Uu. uF  qDP                  R4      '       g   K  VNK  	  up,           p\        SV `  ! VVVR
R3/ VB  VP                  R4      pV'       d>   \        P
                  ! RV4      '       g!   \        P                  ! R/ V P                  B hV'       g9   VP                  RR4      '       d!   \        P                  ! R/ V P                  B h\        P                  ! VP                  RR4      3/ V P                  B V n        W`n        VP                  RR4      V n        \        P                  ! VP                  RR4      3/ V P                  B V n        R# u upi )r  r   r  r   r  r  r  Nr6   )r  r  r   r  r   )z,%block may not specify an argument signature)z#Only named %blocks may specify args)r  r7   r   rf   r   r   r   r   r   r   FunctionArgs	body_declr   r  r   r  r  s   &&&,   r   r   BlockTag.__init__  sN   4!8
!!\\(%;AAz8
 
 	+	
 	
 ~~f%d33-- ''  
vt44-- 9=9N9N  ))NN62&
*.*?*?
 	#R8++NN8R(
,0,A,A
98
s
   E+E+Tc                    V P                   R J # r	   r   r   s   &r   r,  BlockTag.is_anonymous$  s    yyD  r   c                R    V P                   ;'       g    R V P                  3,          # )z__M_anon_%d)r   r   r   s   &r   r  BlockTag.funcname(  s    yy::MT[[N::r   c                :    V P                   P                  ! R/ VB # rq   )r3  r   r!  s   &,r   r   !BlockTag.get_argument_expressions,  s    ~~66<<<r   c                .    V P                   P                  # r	   r3  r%  r   s   &r   rV   BlockTag.declared_identifiers/      ~~)))r   c                    V P                   P                  P                  \        P                  P                  4       4      P                  V P                  4      # r	   r	  r   s   &r   rW   BlockTag.undeclared_identifiers2  sE    33>>'',,. %66
7		8r   )r3  r  r  r   )r(   r+   r,   r-   r   r   r-  r/   r,  r  r   rV   rW   r0   r1   rE   rF   s   @@r   r/  r/    sQ     K
B H! ! ; ;=*8 8r   r/  c                   B   a a ] tR tRt oRtV 3R ltR tR tRtVt	V ;t
# )CallTagi:  callc                  < \         SV `  ! WR RR3/ VB  VR,          V n        \        P                  ! V P                  3/ V P
                  B V n        \        P                  ! VP                  R R4      3/ V P
                  B V n	        R# )r   r   r6   N)r   )
r7   r   
expressionr   r{   r   rY   r2  rf   r3  r   s   &&&,r   r   CallTag.__init__=  s|    &9i	
CI	
 %V,NN4??Ld6K6KL	))NN62&
*.*?*?
r   c                t    V P                   P                  P                  V P                  P                  4      # r	   rY   rV   r   r3  r%  r   s   &r   rV   CallTag.declared_identifiersG  '    yy--33DNN4N4NOOr   c                t    V P                   P                  P                  V P                   P                  4      # r	   rY   rW   r   rV   r   s   &r   rW   CallTag.undeclared_identifiersJ  ,    yy//::II**
 	
r   r3  rY   rE  r   rF   s   @@r   rB  rB  :  s     K
P
 
r   rB  c                   >   a a ] tR tRt oV 3R ltR tR tRtVtV ;t	# )r   iP  c           	       < \         SV `  ! VR ,           V,           V\        VP                  4       4      R	,           R
R
3/ VB  V: RV: RRP	                  R V P
                  P                  4        4       4      : R2V n        \        P                  ! V P                  3/ V P                  B V n        \        P                  ! VP                  RR4      3/ V P                  B V n        R# )r   r   .r   r   c              3   J   "   T F  w  rVR 8w  g   K  V: RV: 2x  K  	  R# 5i)r   =Nr   )r   kvs   &  r   r   ,CallNamespaceTag.__init__.<locals>.<genexpr>^  s'      :DA; !1a :s   ##rA   r6   N)r   r   )r7   r   tupler
  r   r   itemsrE  r   r{   r   rY   r2  rf   r3  )r   r   r   r   rX   r'   s   &&&&,r   r   CallNamespaceTag.__init__Q  s    Og%*//#$y0	
 	
 HH  2288: 
 NN4??Ld6K6KL	))NN62&
*.*?*?
r   c                t    V P                   P                  P                  V P                  P                  4      # r	   rH  r   s   &r   rV   %CallNamespaceTag.declared_identifiersj  rJ  r   c                t    V P                   P                  P                  V P                   P                  4      # r	   rL  r   s   &r   rW   'CallNamespaceTag.undeclared_identifiersm  rN  r   rO  )
r(   r+   r,   r-   r   rV   rW   r0   r1   rE   rF   s   @@r   r   r   P  s     
2P
 
r   r   c                   6   a a ] tR tRt oRtV 3R ltRtVtV ;t# )
InheritTagis  inheritc                0   < \         SV `  ! WRRR3/ VB  R# )r   Nr   r   )r7   r   r   s   &&&,r   r   InheritTag.__init__v  s!    B		
=C	
r   r   )	r(   r+   r,   r-   r   r   r0   r1   rE   rF   s   @@r   r`  r`  s  s     K
 
r   r`  c                   <   a a ] tR tRt oRtV 3R ltR tRtVtV ;t	# )PageTagi|  pagec                x  < . ROV Uu. uF  qDP                  R4      '       g   K  VNK  	  up,           p\        SV `  ! WVRR3/ VB  \        P                  ! VP                  RR4      3/ V P                  B V n        \        P                  ! VP                  RR4      3/ V P                  B V n	        R# u upi )r  r   expression_filterr  r6   N)r  r   rh  enable_loopr   )
r  r7   r   r   r2  rf   r   r3  r   r  )r   rP   r   rX   r  r   r'   s   &&&,  r   r   PageTag.__init__  s    

 #=
1ll8&<QQ
=> 	k2rLVL))NN62&
*.*?*?
 ++NN.3
7;7L7L
 >s
   B7B7c                .    V P                   P                  # r	   r<  r   s   &r   rV   PageTag.declared_identifiers  r>  r   )r3  r  r  rF   s   @@r   re  re  |  s     K
 * *r   re  )r.   r   makor   r   r   r   r   r4   rH   ro   rx   r   r   r   r   r   r   r   r  r  r/  rB  r   r`  re  r   r   r   <module>rn     s   < 	     >
4 
&8
$ 8
vH4 H"
4 "
JHd H
 
BAt A>x
$( x
vC C43 <8c 8<
S <
~98s 98x
c 
, 
s  
F
 
*c *r   