+
    j                       ^ RI t ^ RIt R t ! R R4      t ! R R4      t ! R R4      t ! R	 R
]4      t ! R R]4      tR tR t	R t
R tR 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$ R%4      t ! R& R'4      t ! R( R)4      t ! R* R+]]4      t ! R, R-]]4      t ! R. R/]4      t ! R0 R1]4      t ! R2 R3]4      t ! R4 R5]4      t ! R6 R74      t ! R8 R9]4      t  ! R: R;] 4      t! ! R< R=] ]4      t" ! R> R?] ]4      t# ! R@ RA] 4      t$ ! RB RC]4      t% ! RD RE]4      t& ! RF RG]&4      t' ! RH RI]$4      t( ! RJ RK]$4      t) ! RL RM]$4      t* ! RN RO]$4      t+ ! RP RQ]$4      t, ! RR RS]$4      t- ! RT RU4      t. ! RV RW]4      t/ ! RX RY] 4      t0 ! RZ R[]04      t1 ! R\ R]]14      t2 ! R^ R_]14      t3 ! R` Ra]14      t4 ! Rb Rc]14      t5 ! Rd Re]14      t6 ! Rf Rg]04      t7 ! Rh Ri]4      t8 ! Rj Rk]4      t9 ! Rl Rm]94      t: ! Rn Ro]94      t; ! Rp Rq]94      t< ! Rr Rs]4      t= ! Rt Ru]=4      t> ! Rv Rw]=4      t? ! Rx Ry]=4      t@ ! Rz R{]=4      tA ! R| R}] 4      tB ! R~ R]B4      tC ! R R]B4      tD ! R R]B4      tE ! R R]B4      tF ! R R]4      tG ! R R]G4      tH ! R R]H4      tI ! R R]I4      tJ ! R R]G4      tK ! R R]B4      tL ! R R]4      tM ! R R]M4      tN ! R R]M4      tO ! R R]N4      tP ! R R]N4      tQ ! R R]4      tR ! R R]4      tS ! R R]S4      tT ! R R]O4      tU ! R R]O4      tV ! R R]O4      tW ! R R]R4      tX ! R R]R4      tY ! R R]4      tZ ! 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      ta ! R R]]4      tb ! R R]b4      tc ! R R]]]4      td ! R R]d4      te ! R R]d4      tf ! R R]d4      tg ! R R]d4      th ! R R]d4      ti ! R R]i4      tjR# )    Nc                t    \        V \        4      '       g   R# \        P                  ! RV 4      '       d   R# R# )zhreturns False if the object is either not a string or empty
and True if the object is a non empty stringFz\S+T)
isinstancestrregexsearch)strings   &,D:\RCD\Sources\py\valeptex\parser_classes.py	non_emptyr
      s)     fc""5	ff	%	%d    c                   l   a  ] tR t^(t o 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V tR# )DocNodezMAIN CLASS: a list of text-snippets, blocks, and commands
each LaTeX string/DocNode is parsed into sections of mere text 
and commands/environments that again 
can have arguments being treated as LaTeX strings/DocNodesc                $    \        4       V n        R # N)listelementsselfs   &r	   __init__DocNode.__init__.   s    r   c                   RpV P                    F  p\        V\        4      '       dF   VP                  R8X  d   WP	                  4        R2,          pKE  WP	                  4        ,          pK^  \        V\
        4      '       d   WP	                  4        ,          pK  \        V\        4      '       d   V\        V4      ,          pK  \        RV R24       K  	  V# )zWreturns a string that prints the object in a (pseudo) LaTeX notation
is not up to date  par
zERROR: type of  could not be identified!
)r   r   Commandnameexpandr   r   print)r   r   elements   &  r	   r   DocNode.expand1   s     }}G'7++<<5(!1 2"55F!1 23FGW--^^-./GS))#g,&y0KLM % r   c                F   . pV P                   '       Ed   V P                    EFz  p\        V\        4      '       dB   \        VP                   \        4      '       d"   VP	                  VP                  4       4       K[  \        V\        4      '       d%   \        V4      '       d   VP                  V4       K  \        V\        4      '       g   K  ^ pV\        VP                  4      8  d   \        VP                  V,          P                  \        4      '       d   \        VP                  V,          P                  P                   \        4      '       dL   VP                  V,          P                  P                  4       VP                  V,          P                  n         V^,          pK  ^ pV\        VP                  4      8  d   \        VP                  V,          P                  \        4      '       d   \        VP                  V,          P                  P                   \        4      '       dL   VP                  V,          P                  P                  4       VP                  V,          P                  n         V^,          pK  VP                  V4       EK}  	  V# )zappends each element of a docnode list that is a docnode in itself
by means of its individual elements and thus flattens the docnode
does not include tables but only opt and reqargs of Commands)r   r   r   r   extendflatten_docnodesr   r
   appendr   lenoptargscontentreqargs)r   flattened_elementsitemis   &   r	   r#   DocNode.flatten_docnodesD   s     ===dG,,DMM41P1P&--d.C.C.EFc**y&--d3W--Ac$,,//%dll1o&=&=wGGJW[WcWcdeWfWnWnWwWwy}L~L~?C||A?V?V?g?g?iDLLO33<QAc$,,//%dll1o&=&=wGGJW[WcWcdeWfWnWnWwWwy}L~L~?C||A?V?V?g?g?iDLLO33<Q&--d3! &" "!r   c                   ^ pV\        V P                  4      8  Ed"   \        V P                  V,          \        4      '       gP   \        V P                  V,          \        4      '       g)   \        V P                  V,          \
        4      '       Edq   Rp^pW,
          ^ 8  d   V P                  W,
          ,          p\        V\        4      '       d%   RpRV P                  W,
          ,          n        TpK`  \        V4      '       gC   \        V\        4      '       g-   \        V\
        4      '       g   \        V\        4      '       d   V^,          pK  TpK  VR8X  d>   \        R4      pRVn        RVn        V P                  P                  W4       V^,          pRpV^,          pV'       d   V\        V P                  4      8  d   \        V P                  V,          4      '       gv   \        V P                  V,          \        4      '       gO   \        V P                  V,          \
        4      '       g(   \        V P                  V,          \        4      '       d   V^,          pK  RpK  V\        V P                  4      8  dC   \        V P                  V,          \        4      '       d   RV P                  V,          n        EK  \        R4      pRVn        RVn        V P                  P                  W4       EK  \        V P                  V,          \        4      '       Edn   RV P                  V,          n        Rp^pW,
          ^ 8  d   V P                  W,
          ,          p\        V4      '       g-   \        V\        4      '       g   \        V\
        4      '       d   RV P                  V,          n        TpK  \        V\        4      '       d   V^,          pK  \        V\        4      '       d   TpK  \        V\        4      '       d   RpTpK  V^,          p\        R4       K  RV P                  V,          n        ^pW,           \        V P                  4      8  d   V P                  W,           ,          p\        V4      '       g-   \        V\        4      '       g   \        V\
        4      '       d0   RV P                  V,          n        \        V P                  4      pK  \        V\        4      '       d   V^,          pK  \        V P                  4      pK  V'       gE   V P                  V,          P                  R8X  d9   V P                  V,          P                  R8X  d   V P                  V V^,          pV^,          pEK  \        V P                  V,          \        4      '       dt   \        V P                  V,          P                   4      ^ 8  dI   V P                  V,          P                   R,          P"                  P%                  4        V^,          pEK0  V^,          pEK<  R# )zidentifies all paragraphs and marks them with a Par object at 
the beginning and the end. The Par object uses the parameters parstart
and parend for thisFTr   z@ERROR: something wrong in adjust_paragraphs - unidentified type.N)r%   r   r   r   FormatmathParparstartr
   Inliner   parendinsertr   r   Divisionr(   r'   adjust_paragraphs)r   r+   par_startedj	test_itemcommis_string_or_formatpar_redundants   &       r	   r7   DocNode.adjust_paragraphs^   s    #dmm$$ $--*C00Jt}}Q?OQW4X4X\fgkgtgtuvgwy}\~\~#eai $ae 4I!)S11&*8<ae,5"9--Iv1N1NR\]fhlRmRmq{  }F  HN  rO  rOQ%'u:D"'DK$(DMMM((1FA&*#Q *3t}}--9T]]1=M3N3NR\]a]j]jkl]mouRvRv  {E  FJ  FS  FS  TU  FV  X\  {]  {]  ak  lp  ly  ly  z{  l|  ~D  aE  aEQ.3+ s4==))jq9I3.O.OkoQUQ^Q^_`QaQhu:D"&DK$)DMMM((0 DMM!,c22*/a ' %eai $ae 4I ++z)V/L/LPZ[dfjPkPk26a(/#Iv66Q#Iw77#Is33(,Q`a,1a )ec$--00 $ae 4I ++z)V/L/LPZ[dfjPkPk48a(1.#Iv66Q. T]]1%5%<%<%E$--XYJZJcJcglJla(FAQ DMM!,h77Ca@P@X@X<Y\]<]a ((,44FFHQQi %r   c                N   RpV P                    F  p\        V\        4      '       d   W#P                  V4       ,          pK3  \        V\        4      '       d   W#P                  V4       ,          pKc  \        V\
        4      '       g   K{  W P                  V4      ,          pK  	  V# )zhreturn a string that removes all commands and markup 
and represents just plain text (is not up to date)r   )r   r   r   	normalizer   r   normalize_stringr   jinjar   r   s   &&  r	   r@   DocNode.normalize   s     }}G'7++V:K:KE:R9S-TVGW--v<M<Me<T;U/VvGS))65J5J75S+S6	 %
 r   c                z    R.pR.pV F  qAP                  VR4      pK  	  V F  qAP                  VR4      pK  	  V# )zgremoves all strings from delete and 
replaces all strings from make_whitespace with a single whitespacez&shy;z
&ThinSpacer    )replace)r   r   deletemake_whitespacer   s   &&   r	   rA   DocNode.normalize_string   s@     '*Gw(Cvv&G1Mr   c                   RpV P                    F  p\        VP                  \        4      '       d   VP	                  V4      pV'       d   Vu # \        VP                  \        4      '       g   Kb  VP                  V8X  d   Vu # VP                   F,  pVP                  P	                  V4      pV'       g   K(  Vu u # 	  VP                   F,  pVP                  P	                  V4      pV'       g   K(  Vu u # 	  K  	  V# )zreturns the first object in the docnode with classname "name"
does not include tables but only Commands 
and opt and req args of Commands
returns False if no such node existsF)r   r   	__class__r   find
issubclassr   r   r&   r'   r(   )r   r   nodeelemoptargreqargs   &&    r	   rM   DocNode.find   s    
 MMD$..'22yy$..'2299$Tk"llF!>>..t4DtD[ + #llF!>>..t4DtD[ + " r   c                   RpV P                    EFR  p\        VP                  \        4      '       d    VP	                  V4      pV'       d   Vu # KC  \        V\        4      '       dK   VP                   F8  pV F/  pVP                  R,          P                  P	                  V4       K1  	  K:  	  K  \        VP                  \        4      '       g   K  VP                  V8X  d   Vu # VP                   F,  pVP                  P	                  V4      pV'       g   K(  Vu u # 	  VP                   F,  pVP                  P	                  V4      pV'       g   K(  Vu u # 	  EKU  	  V# )z/similar to find but also searches Table objectsFr.   )r   rN   rL   r   find_objectr   Tablerowsr(   r'   r   r&   )r   objectrO   rP   rowcellrQ   rR   s   &&      r	   rU   DocNode.find_object   s   MMD$..'22''/4D%((99C #R(00<<VD !$ % DNNG44>>V+D["llF!>>55f=DtD[ + #llF!>>55f=DtD[ + "  r   c                   V P                    EF>  p\        V\        4      '       Ed   VP                  R8X  d   VP                  \        VP                  4      8  d   VP                  p\        VP                  4      V8  dz   VP                  V,          p\        V\        4      '       d#   VP                  R
,          VP                  R
&   K  \        RV R24       V;P                  RV R2,          un	        K  \        R4       K  \        RVP                   RVP                   R24       EK%  \        V\        4      '       d   VP                  V4       EKO  \        V\        4      '       dL   VP                   F8  pV F/  pVP                  R
,          P                  P                  V4       K1  	  K:  	  EK  \        V\         4      '       d`   VP"                   F  pVP                  P                  V4       K   	  VP                   F  pVP                  P                  V4       K   	  EK%  \        V\$        4      '       g   EK>  EKA  	  R	# )zOadds to each NOTElabel object the content of the 
corresponding NOTEtext objectlabelzERROR: "z" is not a Note object.z" is not a Note object.
zLERROR: probably a NOTElabel command without a corresponding NOTEtext commandzERROR: marked note z no z' is not available in stack.markednotes!Nr.   )r   r   Notenotetype
markednoter%   markednotesr(   r   errorr   r   supplement_note_marksrV   rW   r'   r   r&   r   )	r   stackrP   numberr;   rY   rZ   rQ   rR   s	   &&       r	   rc   DocNode.supplement_note_marks   s    MMD$%%$--7*B??S):):%;;!__F5,,-6$008%dD11/3||B/?DLL,!HTF2I"JK!KKXdV;T+UUKlm/		{$t>OOvwxD'****51D%((99C #R(00FFuM !$ % D'**"llFNN88? +"llFNN88? +D#&&7 "r   c                ^   RpV P                    F  p\        V\        4      '       d   W#P                  V4      ,          pK2  \        V\        4      '       d   W#P                  V4      ,          pKa  \        V\
        4      '       d   V\        V4      ,          pK  \        RV R24       K  	  V# )zrenders the object on the basis of a jinja dictionary: 
strings are left unchanged, DocNodes are recursively included, 
and Commands are rendered by means of 
the render function of the Command class
returns the rendered stringr   zRENDERING ERROR: type of r   )r   r   r   renderr   r   r   rB   s   &&  r	   rh   DocNode.render  s     }}G'7++..//GW--..//GS))#g,&1':UVW % r   c                   Rp\        V\        4      '       d   VP                  P                   F  p\        V\        4      '       d   W4,          pK#  \        V\
        4      '       dD   VP                  R8X  d   W2,          pKT  VP                  R8X  d   Kg  VP                  R8X  d   Kz  K|  \        V\        4      '       d   K  VR,          p\        R4       K  	  V# R# )zrenders the final document on the basis of a string 
previously rendered with self.render() and a JinjaDocument template
returns the rendered stringr   objattfilterz: [ERROR: incorrect expression in jinja document template] z/ERROR: "template" is not a JinjaDocument object)	r   JinjaDocumentdocr   r   JinjaExpressiontypeJinjaStatementr   )r   template
doc_stringr   r   s   &&&  r	   render_documentDocNode.render_document-  s     h}--#<<00gs++V->V88||u,, . 1 277ZZFVW 1 MDr   c                    \        V P                  4      ^ 8X  d   R# V P                   F2  p\        V4      '       d   VR8X  g    R# \        V4      '       d   K1   R# 	  R# )z|returns True if the docnode contains either at least one nonempty string
or at least one Command, otherwise it returns FalseFr   T)r%   r   r   )r   rP   s   & r	   nonemptyDocNode.nonemptyE  sF     t}}"5MMD4yyDYYt " r   )r   N)__name__
__module____qualname____firstlineno____doc__r   r   r#   r7   r@   rA   rM   rU   rc   rh   ru   rx   __static_attributes____classdictcell____classdict__s   @r	   r   r   (   sP     B
&"4Y|	(*B&E0 r   r   c                     a  ] tR tRt o Rt/ RRbRRbRRbR	R
bRR
bRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbR R!bR"R#b/ R$R#bR%R#bR&R'bR(R)bR*R+bR,R-bR.R/bR0R/bR1R2bR3R2bR4R5bR6R7bR8R)bR9R:bR;R-bR<R=bR>R?bC/ R@RAbRBRCbRDREbRFRGbRHRIbRJRKbRLRKbRMRNbRORPbRQRRbRSRTbRURVbRWRXbRYRZbR[R\bR]R^bR_R`bC/ RaRbbRcRbbRdRebRfRbRgRhbRiRjbRkRlbRmRnbRoRpbRqRpbRrRsbRtRubRvRubRwRubRxRybRzRybR{RybC/ R|RybR}RbR~RbRRbRRhbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbCRR/CtRRRRRRRRRRRRRRRR/tRRRRRRRRRRRRRRRRRR/	t/ ]C]Ct/ ]C]Ct	R t
R tR tR tR tR tR tRtV tR# )DocStackiN  a  stack/variable with all declarations 
this object carries several things through the entire parsing process: 
   - All kinds of declarations of commands, environments, counters, and theorems
   - Information about loaded packages and documentclasses
   - Information about default file openings and fileclosings
   - A list of unknown commands
   - An error/log stream
   - variables such as "math" that facilitate the parsing process

textemdashu   —
textendashu   –textcent   ¢
textdegree   °textordmasculinetextsection   §textsterling   £textasciitilde~textasciicircum^textunderscore_textvisiblespaceu   ␣textasteriskcenteredu   ⚹ztextbraceleft*{ztextbraceright*}
textbulletu   •textperiodcentered   ·ztextellipsis*u   …ldotsdotsglqqu   „grqqu   “glqu   ‚grqu   ‘flqq   «guillemotleftguillemotright   »frqqflqu   ‹frqu   ›textquotedbllefttextquotedblrightu   ”textquotelefttextquoterightu   ’o   øO   Ølu   łLu   Łr+   u   ır9   u   ȷP   ¶ztextparagraph*ddag   ‡oeu   œOEu   Œae   æAE   Æaa   åAA   Åss   ßSSu   ẞzdh*   ðzDH*u   ĐzDJ*zdj*u   đSdag   †textbar|texttrademarku   ™textexclamdown   ¡textregistered   ®cirlcedRtextquestiondown   ¿	copyright   ©ztextcopyright*textcopyrighteurou   €EURtexteuroEURofcpounds	checkmarku   ✓malteseu   ✠
textdaggertextonehalf   ½textonequarter   ¼textthreequarters   ¾langleu   ⟨rangleu   ⟩lflooru   ⌊rflooru   ⌋lceilu   ⌈rceilu   ⌉dqu   ″zolleshu   ​ʃschwau   ə	VALEPlbrc	VALEPrbrcVALEPandz&amp;	VALEPhash#VALEPpct%ztextdollar*$
textdollartextbackslash\z\{z\}z\&z\#z\%	VALEPnbspVALEPThinSpacez\,VALEPlbz\\emphz\mathitc                d  a \        4       V n        \        4       V n        \        4       V n        RpV^8  dl   \        RRV 24      pW P                  RV 2&   VR8  d:   V P                  RV^,
           2,          P                  P                  RV 24       V^,          pKr  V3R loS! \        4      pV F1  p\        RVP                  4      pW P                  VP                  &   K3  	  \        RR4      pW P                  R&   \        RR4      pW P                  R&   \        RR4      pW P                  R&   \        RR4      pW P                  R&   \        RR4      pW P                  R&   \        RR	4      pW P                  R	&   \        RR
4      pW P                  R
&   \        RR4      pW P                  R&   \        4       V n
        \        4       V n        RV n        RV n        RV n        \        4       V n        RV n        RV n        RV n        RV n        ^V n        RV n        \        4       V n        V P.                  P                  R4       RV n        \3        RV 4      V n        RV n        RV n        RV n        RV n        RV n        RV n         RV n!        RV n"        RV n#        RV n$        R# )a#  Declares all variables of the DocStack object:
- cds = list of all command declarations
- envs = list of all environment declarations
- counters = dict of all counters (which will be immediately filled 
    with standard counters)
- theorems = list of all theorems
- packages = set of all packages that were already included
- packagestring = string of all declarations from packages
- fileopening = default fileopening
- fileclosing = defult fileclosing
- unknown = dict of all unknown macros

- and a bunch of further important global variables

newcountersection@c                    < . pV P                  4        F+  pVP                  V4       VP                  S! V4      4       K-  	  V# r   __subclasses__r$   r"   cls
subclassessubclassget_sub_classess   &  r	   r  *DocStack.__init__.<locals>.get_sub_classes  D    J..0!!(+!!/(";< 1 r   MarkedNotesenumienumiienumiiienumivequationfiguretabler   z

\begin{document}

z+

\end{document}

%% END DOCUMENT valeptex
Cvalep\(\mathsf{\TeX}\): conversion from \(\mathsf{\LaTeX}\) to HTMLFThtmlN)%r   cdsenvsdictcountersr   
incountersr$   r^   rz   theoremssetpackagespackagestringfileopeningfileclosingunknowntitleauthordate	madetitletocdepthrb   ra   r0   	JinjaSpecrC   template_stringfilenamer@   writelogwriteunknowndefaultpreamblepreamblemodefirstdoccarnapeditionoutput_format)r   r+   	new_countclassesr  r  s   &    @r	   r   DocStack.__init__  so    6F	 "f"<(1#?I,5MMHQC.)3w1&67BBIIHUVTW.YFA	 "$'C"<>I*3MM#,,'  |];	'0m$|W5	!*g|X6	"+h|Y7	#,i |X6	"+h|Z8	$-j!|X6	"+h|W5	!*g 6Nv \
	
6#	r4(
!!# "#r   c                l    V P                    F#  qP                   V,          P                  4        K%  	  R# )z'resets all counters of the counter dictN)r  reset)r   counters   & r	   reset_countersDocStack.reset_counters  s    }}GmmG&<&B&B&D}r   c                    RV n         RV n        RV n        RV n        \	        4       V n        V P
                  P                  R4       R# )zYresets all those transient elements that become refilled 
for each document in batch moder  r   N)r"  r#  r$  r%  r   ra   r$   r   s   &r	   reset_transient_elements!DocStack.reset_transient_elements  s?     \
	6#r   c                    RR.pV P                    F2  pVP                  V8X  g   K  VP                  ^ 8X  g   K)  W9   d   K1   R# 	  R# )zchecks if a command of class command_name is a defined text macro
excludes all text macros being mentioned in the list exceptions
ltgtTF)r  r   narg)r   command_name
exceptionsr;   s   &&  r	   is_defined_textmacroDocStack.is_defined_textmacro  s<     D\
HHDyyL(TYY!^LD^gk r   c                j    V P                    F"  pVP                  V8X  g   K  VP                  u # 	  R# )zreturns the definition as a DocNode object if it is 
a defined texmacro (i.e. macro without arguments)
returns False otherwise
F)r  r   begdef)r   r@  r;   s   && r	   get_definition_textmacro!DocStack.get_definition_textmacro  s*    
 HHDyyL(*< r   c                Z   RpV P                   '       d   RpV P                    FC  p\        V\        4      '       d   WP                  4        R2,          pK4  \	        RV R24       KE  	  V P
                  '       d
   VR,          pV P
                   FC  p\        V\        4      '       d   WP                  4        R2,          pK4  \	        RV R24       KE  	  V P                  '       d
   VR,          pV P                   Fe  p\        V P                  V,          \        4      '       d-   WP                  V,          P                  4        R2,          pKV  \	        RV R24       Kg  	  V P                  '       d
   VR,          pV P                   FC  p\        V\        4      '       d   WP                  4        R2,          pK4  \	        RV R24       KE  	  V P                  '       d
   VR	,          pV P                   F4  p\        V\        4      '       g   K  WP                  4        R2,          pK6  	  V P                  '       d
   VR
,          p\        V P                  P                  4       4      pVP                  4        V F"  qAV RV P                  V,           R2,          pK$  	  V# )zAexpands the most important variables and returns them as a stringr   z%
LIST OF DECLARATIONS:
(1) Commands:
r   zERROR: z# does not have the type NewCommand!z
(2) Environments:
z
(3) Counters:
z
(4) Theorems:
z
(5) Packages:
$
UNKNOWN COMMANDS AND ENVIRONMENTS

 ()
)r  r   
NewCommandr   r   r  r  r  r  r   r!  r   keyssort)r   r   r   rM  ks   &    r	   r   DocStack.expand	  s   888HVxxG':..^^=M<Nb:Q0Q''*MNO   999f 77fyyG':..^^=M<Nb:Q0Q''*MNO ! ===&$77&}}G$--0*==vMMZaLbLiLiLkKllnIo?ov''*MNO % ===&$77&}}G':..^^=M<Nb:Q0Q''*MNO % ===&$77&}}G'7++V..:J9K27N-NV %<<<#LLDLL%%'(		AA3ba(9!==vr   c                    Rp\        V P                  P                  4       4      pVP                  4        V F"  q1V RV P                  V,           R2,          pK$  	  V# )zAexpands the dict of all unknown macros and returns it as a stringrI  rJ  rK  )r   r!  rM  rN  )r   r   rM  rO  s   &   r	   expand_unknownDocStack.expand_unknown%  sP    :DLL%%'(		AA3ba(9!==vr   )r#  r/  r  r  r$  r,  r  rb   r   r)  r  r.  rC   r%  ra   r0   r@   r0  r  r  r-  r(  r  r"  r&  r!  r*  r+  N)rz   r{   r|   r}   r~   text_macros_generaltext_macros_specialtext_macros_special_mathtext_macrostext_macros_mathr   r7  r:  rB  rF  r   rR  r   r   r   s   @r	   r   r   N  s    
e
)5
2<d
DPRV
D
"/
7Et
 	#
  1#
 7G
 N`af
 		
 (8	
 ?PQT	

 	e

 24

 :I%

 RYZ_

 bhin
 	
 u
 ',U
 5:5
 	
 &t
 .>t
 FLT
 TYZ_
 bghm
 	E
 $7
 @OPU
 Xhin
 	T
 
 "4
 *-d
 58
 @CD
 KNt
 Vfgk
 ntuz
 	d
 $
 !%d
 -1$
 9=d
 EI$
 QUVZ
 ]abg
 	t
 D
 #(
 05d
 	T
 %
 "+C
 2A%
 JZ[_
 	$
 !+D
 3Ed
 MXY]
 `pqu
 xG  IM
  	!
  e!
  &0!
  9A%!
  JRSW!
" 	U#
" &u#
" /;E#
" DQRV#
" Yijn#
$ 	T%
$ $,U%
$ 5=e%
$ FNu%
$ W_`e%
$ hopu%
& 	'
& e'
& &,U'
* 	w+
*  +
8 	S+sJcS]_bsL#
 	UK
E;PUWachS*EIvvz 

 A(@,?@KJ2J6IJ`$DE	$8 r   r   c                   0   a  ] tR tRt o RtR tR tRtV tR# )rL  i-  a  comprises all macros of the types 
newcommand, newcommand*, newcounter, newinvironment, newenvironment*, newtheorem
this is clumsy but it works. It covers all declarations
By now onyl text-macros (i.e. LaTeX macros without arguments) 
are resolved during the parsing process
c                    \        V4      V n        \        V4      V n        ^ V n        \	        4       V n        \	        4       V n        \	        4       V n        \	        4       V n        R# r   N)	r   rq   r   r?  r   optsecoptrE  enddef)r   rq   r   s   &&&r	   r   NewCommand.__init__4  sC    I	I		9iiir   c           
        V P                   R 8X  g   V P                   R8X  d   RV P                   2pMV P                  pV P                  '       d   RV P                   R2pMRpV P                  '       d@   V P                  P	                  4       '       d    RV P                  P	                  4        R2pMRpV P
                  '       d@   V P
                  P	                  4       '       d    RV P
                  P	                  4        R2pMRpV P                  '       d@   V P                  P	                  4       '       d    RV P                  P	                  4        R2pMRpV P                  '       d@   V P                  P	                  4       '       d    RV P                  P	                  4        R2pMRpRV P                    RV RV V V V V 2
# )
newcommandznewcommand*r   []r   r   r   )rq   r   r?  r\  r   r]  rE  r^  )r   commandr?  r\  r]  rE  r^  s   &      r	   r   NewCommand.expandC  sj   99$		](B499+&GiiG999q1-dd888))dhhoo'(*Cc;;;4;;--//++-.a0Ff;;;4;;--//$++,,./r2Ff;;;4;;--//$++,,./r2FfDII;b	D6#vhvhvhOOr   )rE  r^  r   r?  r\  r]  rq   N	rz   r{   r|   r}   r~   r   r   r   r   r   s   @r	   rL  rL  -  s      P Pr   rL  c                       ] tR tRtRtRtR# )ra  iX  zImain subclass of NewCommand, 
which represents the LaTeX macro newcommand Nrz   r{   r|   r}   r~   r   rh  r   r	   ra  ra  X  s
    3r   ra  c                       ] tR tRtRtRtR# )newenvironmenti]  zany newenvironment declarationrh  Nri  rh  r   r	   rk  rk  ]  s    (r   rk  c                   \        V 4      p \        V \         4      '       d^   . ROp. ROpRp^ pV ^ 8  dI   \        WV,          ,          4       F!  pW2V,          ,          pWV,          ,          p K#  	  V^,          pKO  V# R# )zconverts an int into a string representing the corresponding
roman number (works for all ints > 0 but only roman numerals 
up to 100_000 are included), uses uppercase lettersr   Ni i_ iP  i@  i'  i(#  i  i  i  i  i  i  d   Z   2   (   
   	            )   ↈ   ↇↈ   ↇ   ↂↇ   ↂ   ↁↂ   ↁ   MↁMCMDCDCXCr   XLXIXVIVIintr   rangenumvalsyb	roman_numr+   r   s   &     r	   int_to_Romanr  a  s{     c(C#s@G	Ag3a&=)V#	1v * FAr   c                   \        V 4      p \        V \         4      '       d^   . ROp. ROpRp^ pV ^ 8  dI   \        WV,          ,          4       F!  pW2V,          ,          pWV,          ,          p K#  	  V^,          pKO  V# R# )z1just like int_to_Roman but uses lowercase lettersr   Nrm  )rw  rx  ry  rz  r{  r|  r}  r~  mcmdcdcxcr   xlxixvivr+   r  r  s   &     r	   int_to_romanr  v  sy    
c(C#s@G	Ag3a&=)V#	1v * FAr   c                n    \        V 4      p \        V \         4      '       d   . ROpW^,          ,          # R# )z?converts each integer into a lowercase letter 
0 == z, 27 == a N)zabr  r  efghr+   r9   rO  r   r  nr   pqrstur  wr  yr  r   r  alphs   & r	   int_to_alphr    s1     c(C#sL"H~r   c                n    \        V 4      p \        V \         4      '       d   . ROpW^,          ,          # R# )z0just like int_to_alph but uses uppercase lettersN)ZABr  r  EFGHr  JKr   r  Nr   r   QRr   TUr  Wr  Yr  r  s   & r	   int_to_Alphr    s/    
c(C#sQ"H~r   c                n    \        V 4      p \        V \         4      '       d   . ROpW^	,          ,          # R# )uN   converts each int into one element of the list fnsymbols
0 == ‡‡, 10 == * N)	u   ‡‡*r   r   r   r   u   ‖z**u   ††r  )r  fnsymbols   & r	   int_to_fnsymbolr    s/     c(C#sTa  r   c                   `   a a ] tR tRt oRtV 3R ltR tR tR tR t	R t
R	 tR
 tRtVtV ;t# )r   i  a  all counters are handled with the newcounter class
In addition to NewCommand there are three variables:
    - counterstyle (Arabic, Roman etc. 
        currently hardly used since the counterstyle is mostly determined
        at jinja level)
    - value = integer, as in LaTeX the initial value is 0
    - incounters = list of all counters that must be reset when the 
        counter is incremented
c                P   < \         SV `  W4       R V n        ^ V n        . V n        R# )r   N)superr   counterstylevaluer  )r   rq   r   rL   s   &&&r	   r   newcounter.__init__  s&    $
r   c                   \        V\        4      '       ds   W!P                  9   dc   V P                  VP                  V,          P                  9   g7   VP                  V,          P                  P                  V P                  4       V# )z+specifies an element of the list incounters)r   r   r  r   r  r$   )r   rd   r   s   &&&r	   setincounternewcounter.setincounter  sY    fc""v'?99v 6 A AAv&1188Cr   c                    V P                   # )zreturns the countervaluer  r   s   &r	   getvaluenewcounter.getvalue  s    zzr   c                B    \        V\        4      '       d	   Wn        R# R# )zsets the countervalue to numNr   r  r  r   r  s   &&r	   setvaluenewcounter.setvalue  s    c3cr   c                8    V ;P                   ^,          un         R# )zincrements the countervalueNr  r   s   &r	   	incrementnewcounter.increment      

a
r   c                8    V ;P                   ^,          un         R# )zdecrements the countervalueNr  r   s   &r	   	decrementnewcounter.decrement  r  r   c                h    \        V\        4      '       d   V ;P                  V,          un        R# R# )zadds num to countervalueNr  r  s   &&r	   addtocounternewcounter.addtocounter  s    c3s!2r   c                    ^ V n         R# )zresets the countervalue to 0Nr  r   s   &r	   r5  newcounter.reset  s	    
r   )r  r  r  )rz   r{   r|   r}   r~   r   r  r  r  r  r  r  r5  r   r   __classcell__rL   r   s   @@r	   r   r     s7     23 r   r   c                       ] tR tRtRtRtR# )
newtheoremi  z6specifies a new theorem (is currently not implemented)rh  Nri  rh  r   r	   r  r    s    @r   r  c                   0   a  ] tR tRt o RtR tR tRtV tR# )r'  i  aY  class for jinja2h specifications
    parses jinja specifications that have the form 
    

name: LIST OF COMMANDNAMES
SPECIFICATION

    the main variables are: 
    - stack = a Docstack object that is transfered to the object as an argument
    - elements = dict that contains all specifications 
        in the form command: specification
    c                   W n         \        4       V n        \        P                  ! RRV4      pVP                  R4      pV F  pV'       g   K  VP                  4       ^ ,          pV\        V4      ^,           R pVP                  4       P                  4       p\        W`P                   4      pV F  pWpP                  V&   K  	  K  	  R# )zKfills the stack and all specifciations as contained in string
in the object\{#[^#].*#\}r   z

name:N)
rd   r  r   r   subsplit
splitlinesr%   stripJinjaCommSpec)	r   r   rd   specsspecitcommsspecspeclistr;   s	   &&&      r	   r   JinjaSpec.__init__  s     
OBv6[)Fv))+A.c%jlm,++-(zz:!D*2MM$' " r   c                B    V P                    F  p\        V4       K  	  R# )zsimply prints all elementsN)r   r   )r   r   s   & r	   r   JinjaSpec.expand  s    }}G'N %r   )r   rd   Nrf  r   s   @r	   r'  r'    s     3  r   r'  c                   *   a  ] tR tRt o RtR tRtV tR# )rn   i  zzclass for jinja2h document templates, 
e.g. html header that places the rest of the document with an {{ obj }} expression
c                n    W0n         Wn        \        P                  ! R RV4      p\	        W#4      V n        R# )r  r   N)rd   r   r   r  r  ro   )r   r   r(  rd   s   &&&&r	   r   JinjaDocument.__init__  s*    
))_RH 8r   )ro   rd   r   Nrz   r{   r|   r}   r~   r   r   r   r   s   @r	   rn   rn     s     9 9r   rn   c                   *   a  ] tR tRt o RtR tRtV tR# )r  i  a  class for a single jinja command specification 
parses it into a list of text-elements, jinja statements, and jinja expressions
The variables are: 
- stack = DocStack object
- elements = list of all elements of the specification
- normaltext = string, normaltext representation
c                   W n         \        4       V n        RV n        \        P
                  ! RV4      '       Ed   \        P
                  ! RV4      pTpVP                  4       ^ 8  d-   V P                  P                  V^ VP                  4        4       VP                  ^4      R8X  Ed'   VP                  ^4      R8X  Ed   VP                  ^4      P                  4       pVR,          R8X  d   \        P
                  ! RV4      '       d_   \        P
                  ! RV4      p\        WP                  4       VP                  4        V4      pV P                  P                  V4       EMZV ;P                  RVP                   R2,          un        \        R	4       EM&V;P                  RVP                   R
2,          un        \        R4       MVP                  ^4      R8X  d[   VP                  ^4      R8X  dE   \        VP                  ^4      P                  4       4      pV P                  P                  V4       MVP                  ^4      R8X  d<   VP                  ^4      R8X  d&   VP                  ^4      P                  4       V n        M2V;P                  RVP                   R2,          un        \        R4       WP                  4       R pEK  V'       d   V P                  P                  V4       R# R# )z2stores the stack object and parses the spec stringr   z\{(\%|\{|\!)(.*?)(\%|\}|\!)\}r   r      Nif\{\%\s*endif\s*\%\}zjinja ERROR in z: incomplete if statement.
z%jinja ERROR: incomplete if statement.z: statement type not covered.
z(jinja ERROR: statement type not covered.r   r   !z: incorrect syntax.
zjinja ERROR: incorrect syntax.N)rd   r   r   
normaltextr   r   startr$   groupr  rr   endrb   r)  r   rp   )r   r  rd   	specstartspecend	statement
expressions   &&&    r	   r   JinjaCommSpec.__init__  s&   
ll;DAA%EdKIG 1$dmm&:&:4)//BS;T&Uq!S(Y__Q-?3-F%OOA.446	S>T)||$:4@@"',,/Ed"K$248I'++-3XZ_$`	,,Y7

7GGc&dd
 EGKK_U^^4DDc#ddKDF#s*yq/AS/H,Y__Q-?-E-E-GH
$$Z0#s*yq/AS/H"+//!"4":":"<0@@UVV68(D%%d+4r   )r   r	  rd   Nr  r   s   @r	   r  r    s      ,  ,r   r  c                   *   a  ] tR tRt o RtR tRtV tR# )JinjaIfClausei3  zFif clause in jinja statements of the form {% if QUESTION %} ANSWER ...c                R    W0n         \        V4      V n        \        W#4      V n        R # r   )rd   rp   questionr  answer)r   r  r  rd   s   &&&&r	   r   JinjaIfClause.__init__5  s    
'1#F2r   )r  r  rd   Nr  r   s   @r	   r  r  3  s     P3 3r   r  c                   *   a  ] tR tRt o RtR tRtV tR# )rr   i;  a  jinja statement
currently the only covered variety is: 
{% if EXP %} {% elif EXP %} {% else %} {% endif %} 
for statements might be included later but are currently not needed
Variables: 
- stack = DocStack object
- elifs = list of if/elif clauses
- else = JinjaCommSpec for else clause
- fortarget = JinjaExpression for for clause (not implemented)
- forobject = JinjaExpression for for object (not implemented)
- forblock = JinjaCommspec for main block of for statement (not implemented)
c                   W n         \        4       V n        \        R4      V n        \        R4      V n        \        RV4      V n        \        RV4      V n        VR,          R8X  Ed   VRR R8X  Ed   \        P                  ! RV4      '       Ed   \        P                  ! RV4      pVP                  ^4      P                  4       pVP                  ^4      p\        WEV4      pV P                  P                  V4       WP                  4       R p\        P                  ! RV4      '       d   \        P                  ! RV4      pVP                  ^4      P                  4       pVP                  ^4      p\        WEV4      pV P                  P                  V4       WP                  4       R pK  \        P                  ! R	V4      '       dK   \        P                  ! R	V4      pVP                  ^4      p\        WR4      V n        WP                  4       R p\        P                  ! R
V4      '       g   \!        RV 24       R# R# \!        RV 24       R# \!        RV 24       R# )z4stores stack and parses spec into statement elementsr   r  z{%Nz%}z	\{\%\s*ifz\{\%\s*if(.*?)\%\}(.*?)(?=\{\%)z!\{\%\s*elif(.*?)\%\}(.*?)(?=\{\%)z\{\%\s*else\s*\%\}(.*?)(?=\{\%)r  z$jinja ERROR: if statement ends with z%Something wrong with jinja statement z.There is something wrong with jinja statement )rd   r   elifsrp   	fortarget	forobjectr  forblock
elseclauser   matchr  r  r  r$   r  r   )r   r  rd   r  r  r  clauses   &&&    r	   r   JinjaStatement.__init__H  s   
V
(,(,%b%0'E29bcd!2{{<..!KK(J4P	$??1-335"+&x?

!!&)MMO,-kk"FtLL %,PQU VI(q1779H&__Q/F*8UCFJJ%%f- 01D;;A$GG %,Nt TI&__Q/F&3F&BDO 01D{{#9$??ImnrmsGtAu?=dVDEB4&IJr   )r  r  r  r  r  rd   Nr  r   s   @r	   rr   rr   ;  s     $K $Kr   rr   c                   *   a  ] tR tRt o RtR tRtV tR# )rp   ip  zJinja Expression, varieties: obj, obj.attributes, obj.members, obj.counter
additional functions would be helpful e.g. obj.attributes.XXX.YYY here: .YYYc                   VP                  4       pVR 8X  d   R V n        RV n        R# VR,          R8X  d   RV n        VR,          V n        R# VR,          R8X  d   RV n        VR	,          V n        R# VR,          R
8X  EdX   RV n        \        P
                  ! RVR,          4      '       dE   \        \        P
                  ! RVR,          4      P                  ^4      4      V n        RV n	        R# \        P
                  ! RVR,          4      '       d<   ^ V n        \        P
                  ! RVR,          4      P                  ^4      V n	        R# \        P
                  ! RVR,          4      '       dV   \        P
                  ! RVR,          4      p\        VP                  ^4      4      V n        VP                  ^4      V n	        R# ^ V n        RV n	        R# RV n        Wn        R# )rk   r   :r      Nzobj.attributesrl   :   NN:r      Nzobj.membersmemb:   NNzobj.counterr6  z\((\-?\d+)\):r'  NNz\((-?\d+)\)arabicz(\(\'[a-zA-Z]+\'\))z\(\'([a-zA-Z]+)\'\)z\(\-?\d+\,\'[a-zA-Z]+\'\)z\((\-?\d+)\,\'([a-zA-Z]+)\'\)rm   N)
r  rq   	attributememberr   r   r  r  levelstyle)r   exprr   s   && r	   r   JinjaExpression.__init__s  s\   zz|5=DIDN$Z++DI!#YDN$Z=(DIs)DK$Z=(!DI{{?4955 ^DI!F!L!LQ!OP
%
3DI>>
"[[)?S	JPPQRS
9$s)DD$DT#YO Q0
"[[^

%
 DI!Nr   )r+  r-  r,  r.  rq   Nr  r   s   @r	   rp   rp   p  s     T" "r   rp   c                   *   a  ] tR tRt o RtR tRtV tR# )Argumenti  z\Argument of a Command. Variables:
- name = string
- datatype = string
- content = DocNode()
c                `    \        4       V n        \        4       V n        \        4       V n        R # r   )r   r   datatyper   r'   r   s   &r	   r   Argument.__init__  s    E	yr   )r'   r4  r   Nr  r   s   @r	   r2  r2    s     
! !r   r2  c                   R   a  ] tR tRt o RtRtR tR tR tR t	R t
R	 tR
 tRtV tR# )r   i  ar  Any LaTeX command or environment must be specified as a subclass of Command.
Parameter: 
Args = string that represents all arguments of the command

Variables: 
- name = string (in most cases redundant, i.e. identical with the class name)
- optargs = list of all optional arguments
- reqargs = list of all required arguments
- argdict = dictionary of all argument names r   c                x   \        V4      V n        \        4       V n        \        4       V n        \        4       V n        R  p\        P                  ! RW P                  P                  4      pVP                  4       p^ p^ pV EF3  pV^ ,          R8X  d   VR	,          R8X  d   V^R	 P                  R4      p\        V4      ^8  d   V^,          pMRp\        4       p	V^ ,          V	n        Wn        V P                  P                  V	4       RV.V P                  V^ ,          &   V^,          pK  VP                  R4      p\        V4      ^8  d   V^,          pMRp\        4       p	V^ ,          V	n        Wn        V P                  P                  V	4       RV.V P                  V^ ,          &   V^,          pEK6  	  R# )
c                 L    R V P                  ^4      P                  4        R2pV# )rb  rc  )r  r  )r   replacements   & r	   replCommand.__init__.<locals>.repl  s(    ekk!n2245Q7Kr   z\[([^\]]*)\]rb  rc  :r   r\  reqNr.   )r   r   r   r&   r(   r  argdictr   r  rL   argsr  r%   r2  r4  r$   )
r   r   r:  r?  optargnrreqargnrarg
argcontentr4  arguments
   &&        r	   r   Command.__init__  sd   I	vvv	 yy$0C0CDzz|C1v}RC 2Y__S1
z?Q&:a=!#h#: *1$,!##H-/4X.>Z]+A YYs^
z?Q&:a=!#h#: *1$,!##H-/4X.>Z]+A) r   c                    R pVP                    E	F  p\        V\        4      '       d   W4,          pK$  \        V\        4      '       Ed   VP                  R8X  Ed'   V P
                  '       Ed   \        V P                  \        4      '       dM   V P
                  R,          P                  P                  V4      pVRR R8X  d   VRR R,           pW5,          pK  \        V P                  \        4      '       dG   V P
                  R,          P                  P                  V4      P                  R4      pW6,          pEK2  W0P
                  R,          P                  P                  V4      ,          pEKg  VR ,          pEKs  VP                  R8X  Ed   VP                  V P                  9   Ed   V P                  VP                  ,          ^ ,          R8X  dX   W0P                  V P                  VP                  ,          ^,          ,          P                  P                  V4      ,          pEK!  V P                  VP                  ,          ^ ,          R8X  dX   W0P
                  V P                  VP                  ,          ^,          ,          P                  P                  V4      ,          pEK  VR	,          pEK  \         P"                  ! R
VP                  4      '       Ed   \         P"                  ! R
VP                  4      pVP%                  ^4      pVP                  ^ VP'                  4        p	WP                  9   Ed1   V P                  V,          ^ ,          R8X  dt   V P                  V P                  V,          ^,          ,          V	,          '       d<   W0P                  V P                  V,          ^,          ,          V	,          ,          pEK  V P                  V,          ^ ,          R8X  dt   V P
                  V P                  V,          ^,          ,          V	,          '       d<   W0P
                  V P                  V,          ^,          ,          V	,          ,          pEKY  VR,          pEKe  EKh  EKk  VP                  R8X  EdN   \        V P                  \(        4      '       Ed!   V P*                  VP*                  ,           p
VP,                  pWP.                  9   d   V P.                  V
,          p\        V\0        4      '       d   VR8X  d   V\        V4      ,          pEK  VR8X  d   V\3        V4      ,          pEK8  VR8X  d   V\5        V4      ,          pEKT  VR8X  d   V\7        V4      ,          pEKp  VR8X  d   V\9        V4      ,          pEK  VR8X  d   V\;        V4      ,          pEK  EK  VRV R2,          pEK  EK  \        V P                  \<        4      '       d   V P.                  pVP,                  p\        V\0        4      '       d   VR8X  d   V\        V4      ,          pEK(  VR8X  d   V\3        V4      ,          pEKD  VR8X  d   V\5        V4      ,          pEK`  VR8X  d   V\7        V4      ,          pEK|  VR8X  d   V\9        V4      ,          pEK  VR8X  d   V\;        V4      ,          pEK  EK  VRV R2,          pEK  EK  VP                  R8X  d   VR,          pEK  VR,          pEK  \        V\>        4      '       Ed   VP@                   EF  pVPB                  '       Edm   VPD                  '       EdZ   RpVPB                  P                  R8X  dJ   V P
                  '       d6   V P
                  R,          P                  PG                  4       pV'       d   RpEMVPB                  P                  R8X  Ed   VPB                  P                  PI                  R4      p\K        V4      ^8  d   EMpV^ ,          V P                  9   EdN   V P                  V^ ,          ,          ^ ,          R8X  d   V P                  V P                  V^ ,          ,          ^,          ,          '       dV   V P                  V P                  V^ ,          ,          ^,          ,          P                  PG                  4       pV'       d   RpMV P                  V^ ,          ,          ^ ,          R8X  du   V P
                  V P                  V^ ,          ,          ^,          ,          '       d=   V P
                  V P                  V^ ,          ,          ^,          ,          pV'       d   RpM	VR,          pV'       d&   W0PM                  VPD                  V4      ,          pEK  EK  VR,          pEK  	  VPN                  '       d&   W0PM                  VPN                  V4      ,          pE	K  E	K  VR,          pE	K  	  V# )r   rk   Nz.epsz.svgz{}rl   r\  r=  z[UNKNOWN ARGUMENT]z\[(.*)\]z([something wrong with special attribute]r6  r*  Romanromanr  Alphr  zJinja Error: "z" is not an intrm   z  [FILTER (not yet implemented) ]z! [RENDERING ERROR IN JINJA FILE] FTrb  z[FILTER (not yet implemented)]z'[jinja ERROR: if clause is incomplete.]r.   )(r   r   r   rp   rq   r(   rN   rL   includegraphicsr'   rh   VerbatimCommandr  r+  r>  r&   r   r   r  r
  Sectionr-  r.  countervaluer  r  r  r  r  r  r^   rr   r  r  r  r   r  r%   render_jinja_specr  )r   r  rC   r;   r   textverbtextindexargprrB  counterlevelr  r  quandaqur'   attnames   &&&              r	   rO  Command.render_jinja_spec  sH   }}G'#&&GO44<<5(|||%dnnoFF#'<<#3#;#;#B#B5#ID#BCyF249v;MD LD'HH'+||B'7'?'?'F'Fu'M'S'STX'YH ,D LL$4$<$<$C$CE$JJD 
\\U*((DLL8<<(9(9:1=F LLg>O>O1PQR1S$T$\$\$c$cdi$jjD!\\'*;*;<Q?5H LLg>O>O1PQR1S$T$\$\$c$cdi$jjD $88D !<<G4E4EFF$)LLW=N=N$OE$)KKNE")"3"3Aekkm"DC$4#'<<#6q#9U#Bt||TXT`T`afTghiTjGkloGpGp$(LLe9LQ9O,PQT,U$UD%)\\%%8%;u%DVZVbVbchVijkVlImnqIrIr$(LLe9LQ9O,PQT,U$UD$(,V$VD  5	 G \\Y.!$..'::'+zzGMM'A'.}}'+<+<<$($5$5l$CE)%55#/8#;$(CJ$6D%1W%<$(L,?$?D%1W%<$(L,?$?D%1V%;$(K,>$>D%1V%;$(K,>$>D%1Z%?$(OE,B$BD &@ !%.(O O! =" $DNND99 $ 1 1'.}}%eS11+x7 $E
 2!-!8 $U(; ;!-!8 $U(; ;!-!7 $E(: :!-!7 $E(: :!-!; $(> > "< !nUG?$KKD \\X->>D??DGN33%mmF6==="!??//58#|||*.,,r*:*B*B*I*I*K#*B#__11U:&,oo&?&?&E&Ec&JG"7|a/ $ $+1:#='+||GAJ'?'Be'KPTP\P\]a]i]ijqrsjt]uvw]xPyPy26,,t||GTUJ?WXY?Z2[2c2c2j2j2l+2B)-gaj)A!)D)MRVR^R^_c_k_klstulv_wxy_zR{R{26,,t||GTUJ?WXY?Z2[+2B $DDD $:$:6==%$PPD   II= ,> %%%2273E3EuMMD & ;;w %x r   c                   R p\        V P                  \        4      '       Ed7   \        V \        4      '       d   VRV P                  4        R2,          pV# \        V \        4      '       d   VRV P                  4        R2,          pV# \        V \        4      '       d   VRV P                  4        R2,          pV# \        V \        4      '       d   VRV P                  4        R2,          pV# \        V \        4      '       d   VR	V P                  4        R
2,          pV# \        V \        4      '       d   VRV P                  4        R2,          pV# RpV# \        V P                  \        4      '       Ed   V P                  VP                  9   EdE   VP                  V P                  ,          P                  ^ ,          P                  R4      p\        4       pV F'  p\!        V4      ^8  g   K  VR,          WER,          &   K)  	  RV9   g   R VR&   RV9   g   R VR&   RV9   g   R VR&   RV9   g   R VR&   RV9   g   R VR&   RV9   g   R VR&   RV9   g   R VR&   VRVR,           2,          pV P"                   EFB  pVRVR,           2,          pV EF  pVR,          p\$        P&                  ! RV4      ;p	'       d   V	P)                  ^4      R,           pMVR6,          R8X  d   VRR6 R,           pVP*                  '       d
   VR,          pVP,                  VP.                  u;8X  d$   VP0                  u;8X  d   VP2                  8X  d   M MVRVP,                   R2,          pM>VR VP,                   R!VP.                   R"VP0                   R#VP2                   R2	,          pVR$,          pVP4                  R%8X  d
   VR&,          pVP4                  R'8X  d
   VR(,          pVP4                  R)8X  d
   VR*,          pVP6                  ^8  d!   VR+\9        VP6                  4       R,2,          pVP:                  ^8  d!   VR+\9        VP:                  4       R,2,          pW( RVR,           VP<                  R6,          P>                  PA                  V4       VR,           2,          pEK  	  W$R,           ,          pEKE  	  VRVR,           R2,          pV# VR-,          pV P"                   FU  pVR.,          pV F:  pVR/VP<                  R6,          P>                  PA                  V4       R02,          pK<  	  VR1,          pKW  	  VR2,          pV# \        V P                  \B        4      '       Ed   V P                  R3,           p
V P                  R4,           pWP                  9   d   WP                  9   d   V PD                  '       d*   W PG                  VP                  V,          V4      ,          pV PH                  '       d2   VRV PG                  VP                  V
,          V4      ,           ,          pV# \K        R54       V P                  VP                  9   d0   V PG                  VP                  V P                  ,          V4      pV# R# V P                  VP                  9   d0   V PG                  VP                  V P                  ,          V4      pV# V# )7r   z\(z\)z\[z\]z\begin{equation}z\end{equation}z\begin{equation*}z\end{equation*}z\begin{eqnarray}z\end{eqnarray}z\begin{eqnarray*}z\end{eqnarray*}z [ERROR: formula type unknown] @:r  NNr  tbrbcbcccereter   z((?:.*?)style="(?:.*?));?">;>Nz style="z.visibility: hidden; height: 0; line-height: 0;zborder-style:zborder-left-style:z;border-right-style:z;border-top-style:z;border-bottom-style:zborder-width:1px;padding:5px;r   ztext-align:left;"r  ztext-align:right;"r  ztext-align:center;"z
 colspan=""z	
<table>
z
<tr>z<td>z</td>z</tr>z

</table>
z@startz@endzHERROR: no start and and definition for Par object in jinja specificationr.   )&rN   rL   Formular   r0   expand_formuladisplaymathr  	equation_eqnarray	eqnarray_rV   r   r   r  r  r%   rW   r   r   r  hidden
left_styleright_style	top_stylebottom_stylealigncolspanr   rowspanr(   r'   rh   r1   r4   rO  r2   r   )r   rC   r;   	tablespec	tabledictr  rY   rZ   	cellstyler   r
  r  s   &&          r	   rh   Command.renderQ  sH   dnng..$t$$dD4G4G4I3J#.N&Nd K D--tT=P=P=R<SSV7W/Wt K D(++T7J4K^K^K`Jaar5s-sT K D),,d8LTM`M`MbLccu6v.vd
 K	 D(++T7J4K^K^K`Jaar5s-sT K D),,d8LTM`M`MbLccu6v.vd K 9K.. yyENN*!NN4995>>qAGGL	 F	%D4y1}T"XiS	&: &y(B)D/y(B)D/y(B)D/y(B)D/y(B)D/y(B)D/y(B)D/"Yt_-..99Cb4 122D # %.dO	%*[[1OQZ%[[E[jojujuvwjx{~j~^g&r]c1y"~PZ?Z9;;;	5e(e	??d.>.>e$..eTXTeTee%=8I)KKI%+=doo=NNbcgcscsbt  uG  HL  HV  HV  GW  Wl  mq  m~  m~  l  @  *A  AI!%DD	::,i;N.Ni::,i;O.Oi::,i;P.Pi<<!+YJs4<<GXFYYZ:[-[Y<<!+YJs4<<GXFYYZ:[-[Y+Qy.?R@P@X@X@_@_`e@f?ghqrvhwgx yy' !$( /0D- %. "Yt_-R00 K %99CH$D #$t||B'7'?'?'F'Fu'M&Ne TT !$GOD	 %
 &K,,II(E))f$C&3..+@;;;225>>#3FNND===D4#9#9%..:OQV#WWWD`a99.11%..2KUSDK / yyENN*--ennTYY.GO  r   c                   \        V P                  \        4      '       d   V P                  4       # R pV P                   F'  q!RVP
                  P                  4        R2,          pK)  	  R pV P                   F'  q#RVP
                  P                  4        R2,          pK)  	  V'       g	   V'       d+   V P                  R8X  d   V V 2# RV P                   V V 2# RV P                   R2# )r   rb  rc  r   r   r0   r   rF   )	rN   rL   rV   expand_tabler&   r'   r   r(   r   r   r&   rB  r(   s   &   r	   r   Command.expand  s    dnne,,$$&&<<Ca0B0B0D/EQ,G!G<<<Cb1C1C1E0Fb,I!I<gyyF"!7),,DII;wiy99		{!$$r   c                   \        V P                  \        4      '       d   R # \        V P                  \        4      '       d   R# \        V P                  \        4      '       dU   VP
                  V P                  ,          P                  '       d(   VP
                  V P                  ,          P                  # \        V P                  \        4      '       d   R# \        V P                  \        4      '       d   R# \        V P                  \        4      '       gA   V P                  '       d/   V P                  R,          pVP                  P                  V4      # R# )r   rF   z[TABLE]z	[FORMULA]r   r.   )rN   rL   Lineend	NoLineend	TextMacror   r   r	  rV   re  Ignorer(   r'   r@   )r   rC   rB  s   && r	   r@   Command.normalize  s    dnng..t	223	22u~~dii7P7[7[7[>>$)),777..y00DNNF33|||ll2&{{,,U33r   c                    R pV P                    F2  pVR,          pV F   pVP                  4       pVRV R2,          pK"  	  K4  	  V# )r   z	    ROW: zCELL: r   )rW   r   )r   r   rY   rZ   r   s   &    r	   rx  Command.expand_table  sN    99C;Cxr**  
 
r   c                   R pV P                    F'  q!RVP                  P                  4        R2,          pK)  	  R p\        V P                  4      ^8  d<   V P                  ^ R  F(  pVRVP                  P                  4        R2,          pK*  	  \        V P                  4      ^ 8  d2   W0P                  R,          P                  P                  4       ,          pV V 2# )r   rb  rc  r   r   r.   )r&   r'   r   r%   r(   ry  s   &   r	   rf  Command.expand_formula  s    <<Ca0B0B0D/EQ,G!G<t||q ||Ab)R 2 2 45R88 *t||q '\\"-=-E-E-L-L-N"N'7)$$r   )r>  r   r&   r(   N)rz   r{   r|   r}   r~   r?  r   rO  rh   r   r@   rx  rf  r   r   r   s   @r	   r   r     s>     5 D!F~DcL%% %r   r   c                       ] tR tRtRtR# )r6   i  rh  Nrz   r{   r|   r}   r   rh  r   r	   r6   r6         r   r6   c                       ] tR tRtRtR# )r3   i  rh  Nr  rh  r   r	   r3   r3     r  r   r3   c                       ] tR tRtRtR# )SystemCommandi  rh  Nr  rh  r   r	   r  r    r  r   r  c                       ] tR tRtRtR# )UnknownCommandi  rh  Nr  rh  r   r	   r  r    r  r   r  c                       ] tR tRtRtRtR# )r/   i  r   rh  Nrz   r{   r|   r}   r?  r   rh  r   r	   r/   r/         Dr   r/   c                       ] tR tRtRtRtR# )
usepackagei  [ opt ] selfrh  Nr  rh  r   r	   r  r    s    Dr   r  c                       ] tR tRtRtRtR# )inputi   r   rh  Nr  rh  r   r	   r  r     r  r   r  c                       ] tR tRtRtRtR# )includei  r   rh  Nr  rh  r   r	   r  r    r  r   r  c                       ] tR tRtRtR# )r  i
  rh  Nr  rh  r   r	   r  r  
  r  r   r  c                       ] tR tRtRtR# )Environmenti  rh  Nr  rh  r   r	   r  r    r  r   r  c                       ] tR tRtRtRtR# )	FormatEnvi  r   rh  Nr  rh  r   r	   r  r        Dr   r  c                       ] tR tRtRtR# )UnknownEnvironmenti  rh  Nr  rh  r   r	   r  r    r  r   r  c                       ] tR tRtRtRtR# )documenti  r   rh  Nr  rh  r   r	   r  r    r  r   r  c                       ] tR tRtRtR# )re  i  rh  Nr  rh  r   r	   re  re    r  r   re  c                       ] tR tRtRtR# )Mathi  rh  Nr  rh  r   r	   r  r    r  r   r  c                       ] tR tRtRtRtR# )
EnsureMathi   r   rh  Nr  rh  r   r	   r  r     r  r   r  c                       ] tR tRtRtR# )
ensuremathi#  rh  Nr  rh  r   r	   r  r  #  r  r   r  c                       ] tR tRtRtRtR# )r0   i&  r   rh  Nr  rh  r   r	   r0   r0   &  r  r   r0   c                       ] tR tRtRtRtR# )rg  i)  r   rh  Nr  rh  r   r	   rg  rg  )  r  r   rg  c                       ] tR tRtRtRtR# )r  i,  r   rh  Nr  rh  r   r	   r  r  ,  r  r   r  c                       ] tR tRtRtRtR# )rh  i/  r   rh  Nr  rh  r   r	   rh  rh  /  r  r   rh  c                       ] tR tRtRtRtR# )ri  i2  r   rh  Nr  rh  r   r	   ri  ri  2  r  r   ri  c                       ] tR tRtRtRtR# )rj  i5  r   rh  Nr  rh  r   r	   rj  rj  5  r  r   rj  c                   &   a  ] tR tRt o R tRtV tR# )Coldefi:  c                Z    R V n         RV n        RV n        RV n        RV n        RV n        R# )r   r   solidN)rp  r.  rl  rm  rn  ro  r   s   &r	   r   Coldef.__init__;  s.    

!" #r   )rp  ro  rl  rm  r.  rn  N)rz   r{   r|   r}   r   r   r   r   s   @r	   r  r  :  s     $ $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# )CelliD  r'   c                   < \         SV `  V4       R V n        RV n        RV n        RV n        RV n        ^V n        ^V n        RV n	        R# )r   noneFN)
r  r   rp  rl  rm  rn  ro  rq  rr  rk  r   r   rL   s   &&r	   r   Cell.__init__F  sJ    
 !"r   )rp  ro  rq  rk  rl  rm  rr  rn  	rz   r{   r|   r}   r?  r   r   r   r  r  s   @@r	   r  r  D  s     D	 	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# )rV   iQ  z[ opt ] defc                   < \         SV `  V4       \        4       V n        \        4       V n        \        4       V n        R # r   )r  r   r   coldefrW   r  rowspansr  s   &&r	   r   Table.__init__S  s+    fF	r   )r  rW   r  r  r  s   @@r	   rV   rV   Q  s     D r   rV   c                       ] tR tRtRtR# )tabulariY  rh  Nr  rh  r   r	   r  r  Y  r  r   r  c                       ] tR tRtRtRtR# )tabular_i\  width [opt] defrh  Nr  rh  r   r	   r  r  \      Dr   r  c                       ] tR tRtRtRtR# )	longtablei_  r  rh  Nr  rh  r   r	   r  r  _  r  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# )twocolsib  r   c                   < \         SV `  V4       ^p\        V4       FD  p\        4       pRVn        RVn        RVn        RVn        V P                  P                  V4       KF  	  R# r  r  N
r  r   r  r  rl  rm  rn  ro  r  r$   r   r   r  r+   collrL   s   &&   r	   r   twocols.__init__d  Z    qA8D$DO%D#DN &DKKt$ r   rh  r  r  s   @@r	   r  r  b       D	% 	%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# )	transcolsio  r   c                   < \         SV `  V4       ^p\        V4       FD  p\        4       pRVn        RVn        RVn        RVn        V P                  P                  V4       KF  	  R# r  r  r  s   &&   r	   r   transcols.__init__q  r  r   rh  r  r  s   @@r	   r  r  o  r  r   r  c                       ] tR tRtRtR# )	mytabulari|  rh  Nr  rh  r   r	   r  r  |  r  r   r  c                       ] tR tRtRtRtR# )tabbingi  r   rh  Nr  rh  r   r	   r  r    r  r   r  c                   @   a a ] tR tRt oRt^tV 3R ltR tRtVt	V ;t
# )rM  i  r  c                4   < \         SV `  V4       / V n        R # r   r  r   rN  r  s   &&r	   r   Section.__init__  s    r   c                F  a V P                   p^ pRV 2VP                  9   d   VP                  RV 2,          P                  4        V P                   VP                  RV 2,          P	                  4       V P                  V&   V^,           pV^
8  dD   RV 2VP                  9   d%   VP                  RV 2,          P                  4        V^,          pKJ  RpWR8  dQ   RV 2VP                  9   d2   VP                  RV 2,          P	                  4       V P                  V&   V^,          pKV  V3R loV^ 8X  g   V^8X  d^   S! \        4      pV FK  pVP                  VP                  9   g   K   VP                  VP                  ,          P                  4        KM  	  V# )r   r   c                    < . pV P                  4        F+  pVP                  V4       VP                  S! V4      4       K-  	  V# r   r  r  s   &  r	   r  +Section.setcounter.<locals>.get_sub_classes  r
  r   r  )r-  r  r  rN  r  r5  r^   rz   )	r   rd   r-  r+   r  r9   r2  r  r  s	   &&      @r	   
setcounterSection.setcounter  s\   

eW/NNXeW-.88:',~~6H'I'R'R'TDe$	Ab&aS>U^^3NNXaS>288:Qi!~/',~~n'E'N'N'P!!!$FA	 A:"%d+G<<5>>15>>#,,3O3U3U3W  r   rN  )rz   r{   r|   r}   r?  r-  r   r  r   r   r  r  s   @@r	   rM  rM    s     DE"   r   rM  c                   <   a a ] tR tRt oRtV 3R ltR tRtVtV ;t	# )r^   i  r   c                   < \         SV `  V4       ^ V n        RV n        ^ V n        VRR R8X  d
   RV n        R# VRR R8X  d
   RV n        R# R# )r   soloNmarkr]   rP  rJ  )r  r   rN  r_   r`   r  s   &&r	   r   Note.__init__  sU    9#DM"#Y& "DM !r   c                   V P                   R 8X  d^   VP                  V P                  ,          P                  4        VP                  V P                  ,          P	                  4       V n        V# V P                   R8X  Ed   V P                  RR pVP                  V P                  ,          P                  4        VP                  V,          P                  4        VP                  '       d)   VP                  R,          P                  4        RVn        VP                  R,          P                  4        VP                  R,          P	                  4       V n        VP                  V,          P	                  4       V n        V# V P                   R8X  Ed>   V P                  RR pVP                  VR,           ,          P	                  4       ^ 8  d   VP                  V,          P                  VP                  VR,           ,          P	                  4       ) 4       VP                  V,          P                  4        VP                  VR,           ,          P                  4        VP                  V,          P	                  4       V n        V# VP                  V,          P                  4        VP                  V,          P	                  4       V n        V# )r  r]   Nr  FrP  r  rJ  )r_   r  r   r  r  rN  r.  r  r`   r  r5  r   rd   r   s   && r	   r  Note.setcounter  s   ==F"NN499%//1 %tyy 9 B B DD, + ]]g%99Sb>DNN499%//1NN4 **,~~~}-779!&NN=)335#nn];DDFDO %t 4 = = ?D  ]]f$99Sb>D~~dVm,557!;t$11ENN4&=4Q4Z4Z4\2\]t$..0tf}-335$)NN4$8$A$A$C!
  t$..0$)NN4$8$A$A$C!r   )rN  r`   r_   )
rz   r{   r|   r}   r?  r   r  r   r   r  r  s   @@r	   r^   r^     s     D	# r   r^   c                       ] tR tRtRtRtR# )footnotei  z[ number ] textrh  Nr  rh  r   r	   r  r    r  r   r  c                       ] tR tRtRtRtR# )	marginpari  z[ lefttext ] righttextrh  Nr  rh  r   r	   r  r    s    #Dr   r  c                       ] tR tRtRtRtR# )
marginnotei  zself [ length ]rh  Nr  rh  r   r	   r  r    r  r   r  c                   H   a a ] tR tRt oRtV 3R ltR tR tR tRt	Vt
V ;t# )Counteri  r   c                4   < \         SV `  V4       ^ V n        R# r[  r  r  s   &&r	   r   Counter.__init__  s    r   c                   V P                   '       d   V P                   ^ ,          pMRpW!P                  9   dH   VP                  V,          P                  4        VP                  V,          P                  4       V n        V# r   r   )r(   r  r  r  rN  r  s   && r	   stepcounterCounter.stepcounter  sZ    <<<Qd>>!NN4 **, %t 4 = = ?Dr   c                :   V P                   '       d   V P                   ^ ,          pMRp^ p\        V\        4      '       g   ^ pW2P                  9   dI   VP                  V,          P	                  V4       VP                  V,          P                  4       V n        V# r  )r(   r   r  r  r  r  rN  r   r  rd   r   r+   s   &&&  r	   r  Counter.setcounter  sr    <<<Qd%%%qu>>!NN4 ))%0 %t 4 = = ?Dr   c                :   V P                   '       d   V P                   ^ ,          pMRp^ p\        V\        4      '       g   ^ pW2P                  9   dI   VP                  V,          P	                  V4       VP                  V,          P                  4       V n        V# r  )r(   r   r  r  r  r  rN  r  s   &&&  r	   r  Counter.addtocounter  sr    <<<Qd%%%qu>>!NN4 --e4 %t 4 = = ?Dr   r  )rz   r{   r|   r}   r?  r   r  r  r  r   r   r  r  s   @@r	   r  r    s#     D		 	r   r  c                       ] tR tRtRtRtR# )r  i  
name valuerh  Nr  rh  r   r	   r  r        Dr   r  c                       ] tR tRtRtRtR# )r  i  r  rh  Nr  rh  r   r	   r  r    r   r   r  c                       ] tR tRtRtRtR# )r  i  r   rh  Nr  rh  r   r	   r  r    r  r   r  c                       ] tR tRtRtRtR# )refstepcounteri"  r   rh  Nr  rh  r   r	   r  r  "  r  r   r  c                       ] tR tRtRtRtR# )	LaTeXListi%  r   rh  Nr  rh  r   r	   r  r  %  r  r   r  c                       ] tR tRtRtRtR# )Listi(  zlabel parameterrh  Nr  rh  r   r	   r  r  (  r  r   r  c                       ] tR tRtRtRtR# )	enumeratei,  r   rh  Nr  rh  r   r	   r
  r
  ,  r  r   r
  c                       ] tR tRtRtRtR# )itemizei/  r   rh  Nr  rh  r   r	   r  r  /  r  r   r  c                       ] tR tRtRtRtR# )descriptioni2  r   rh  Nr  rh  r   r	   r  r  2  r  r   r  c                       ] tR tRtRtRtR# )Itemi5  z[ label ] contentrh  Nr  rh  r   r	   r  r  5  s    Dr   r  c                       ] tR tRtRtRtR# )ItemWithoutContenti9  z	[ label ]rh  Nr  rh  r   r	   r  r  9      Dr   r  c                       ] tR tRtRtRtR# )r*   i<  z[ description ]rh  Nr  rh  r   r	   r*   r*   <  r  r   r*   c                       ] tR tRtRtR# )iitemi?  rh  Nr  rh  r   r	   r  r  ?  r  r   r  c                       ] tR tRtRtR# )ItemWithContentiC  rh  Nr  rh  r   r	   r  r  C  r  r   r  c                       ] tR tRtRtR# )BibliographyiG  rh  Nr  rh  r   r	   r  r  G  r  r   r  c                       ] tR tRtRtRtR# )
WhitespaceiL  r   rh  Nr  rh  r   r	   r  r  L  r  r   r  c                       ] tR tRtRtRtR# )r}  iP  r   rh  Nr  rh  r   r	   r}  r}  P  r  r   r}  c                       ] tR tRtRtR# )r|  iS  rh  Nr  rh  r   r	   r|  r|  S  r  r   r|  c                       ] tR tRtRtRtR# )r   iW  r   rh  Nr  rh  r   r	   r   r   W  r  r   r   c                       ] tR tRtRtRtR# )r   iZ  r   rh  Nr  rh  r   r	   r   r   Z  r  r   r   c                       ] tR tRtRtRtR# )r~  i^  r   rh  Nr  rh  r   r	   r~  r~  ^  r  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# )r1   ib  r   c                B   < \         SV `  V4       R V n        R V n        R# )TN)r  r   r4   r2   r  s   &&r	   r   Par.__init__d  s    r   )r4   r2   r  r  s   @@r	   r1   r1   b  s     D r   r1   c                       ] tR tRtRtR# )r   ii  rh  Nr  rh  r   r	   r   r   i  r  r   r   c                       ] tR tRtRtRtR# )newlineil  z[ opt ]rh  Nr  rh  r   r	   r'  r'  l  s    Dr   r'  c                       ] tR tRtRtRtR# )r   io  	[ space ]rh  Nr  rh  r   r	   r   r   o  r  r   r   c                       ] tR tRtRtRtR# )VALEPlb_ir  r)  rh  Nr  rh  r   r	   r+  r+  r  r  r   r+  c                       ] tR tRtRtRtR# )r>  iy  r   rh  Nr  rh  r   r	   r>  r>  y  r  r   r>  c                       ] tR tRtRtRtR# )r=  i}  r   rh  Nr  rh  r   r	   r=  r=  }  r  r   r=  c                       ] tR tRtRtRtR# )VALEPshyi  r   rh  Nr  rh  r   r	   r/  r/    r  r   r/  c                       ] tR tRtRtR# )Verbatimi  rh  Nr  rh  r   r	   r1  r1    r  r   r1  c                       ] tR tRtRtR# )VerbatimEnvironmenti  rh  Nr  rh  r   r	   r3  r3    r  r   r3  c                       ] tR tRtRtRtR# )rL  i  r   rh  Nr  rh  r   r	   rL  rL    r  r   rL  c                       ] tR tRtRtRtR# )verbatimi  r   rh  Nr  rh  r   r	   r6  r6    r  r   r6  c                       ] tR tRtRtRtR# )htmlcodei  r   rh  Nr  rh  r   r	   r8  r8    r  r   r8  c                       ] tR tRtRtRtR# )rawhtmli  r   rh  Nr  rh  r   r	   r:  r:    r  r   r:  c                       ] tR tRtRtRtR# )htmlonlyi  r   rh  Nr  rh  r   r	   r<  r<    r  r   r<  c                       ] tR tRtRtRtR# )	LaTeXOnlyi  r   rh  Nr  rh  r   r	   r>  r>    r  r   r>  c                       ] tR tRtRtRtR# )	latexonlyi  r   rh  Nr  rh  r   r	   r@  r@    r  r   r@  c                       ] tR tRtRtRtR# )	Referencei  r   rh  Nr  rh  r   r	   rB  rB    r  r   rB  c                       ] tR tRtRtR# )Indexi  rh  Nr  rh  r   r	   rD  rD    r  r   rD  c                       ] tR tRtRtR# )Labeli  rh  Nr  rh  r   r	   rF  rF    r  r   rF  c                       ] tR tRtRtR# )Refi  rh  Nr  rh  r   r	   rH  rH    r  r   rH  c                       ] tR tRtRtRtR# )Linki  z	link textrh  Nr  rh  r   r	   rJ  rJ    r  r   rJ  c                       ] tR tRtRtRtR# )Graphici  srcrh  Nr  rh  r   r	   rL  rL    s    Dr   rL  c                       ] tR tRtRtRtR# )rK  i  z[ argll ] [ argur ]  selfrh  Nr  rh  r   r	   rK  rK    s    &Dr   rK  )kr   inspectr
   r   r   rL  ra  rk  r  r  r  r  r  r   r  r'  rn   r  r  rr   rp   r2  r   r6   r3   r  r  r/   r  r  r  r  r  r  r  r  re  r  r  r  r0   rg  r  rh  ri  rj  r  r  rV   r  r  r  r  r  r  r  rM  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~  r1   r   r'  r   r+  r>  r=  r/  r1  r3  rL  r6  r8  r:  r<  r>  r@  rB  rD  rF  rH  rJ  rL  rK  rh  r   r	   <module>rP     s    
.d dL	] ]~)P )PV	 	
	Z 	*&	. .b	 	
 @9 9(, (,V3 31K 1Kj "  "F	! 	!C% C%P
	 		 		GV 		Wf 	W  M m 	 		' 	 	f 	{H 	k 		7 	 	 	7 ' w  w  
$ $7 K 	e 	w  %g %% %	 	e 
7g 7t(6 (Vt $ $ #m #L 7 ' W  9 	 i ) 7   	D 		d 		9 	
 
 	j 	Y 	  ' 	# 	g g w   v 	w 		+h 	h "  ! w  	  	I 		I 		) 	9 i 'g 'r   