jf(dZddlZddlZddlZddlZddlZddlmZddlm Z ddl Z ddl Z ddl m Z m Z mZmZmZddlmZddlmZddlmZdd lmZmZmZmZmZGd d ejZGd d ejZGddej Z!dS)z,common definitions for Docutils HTML writersN)unquote) url2pathname)frontend languagesnodesutilswriters) length_or_percentage_or_unitless)PIL) writer_aux) unichar2texpick_math_environment math2html latex2mathmltex2mathml_externceZdZdZ ddddgddifdd gd d ejd fd dgddejd fddgdejdfddgddejdfddgdddfdd gd!d"d#d$fd%d&gd'd(gd(d)d*d+fd,d-ggd.d/d)d$fd0d1gd2dejdfd3d4gd5ddfd6d7gd2dejdfd8d9gd:ddfd;difd?d@gd=dAifdBdCgdDdejdfdEdFgdGddfdHdIgdejdJfffZdKdLiZ dMZ dNZ dOZ fdPZ dQZdRZdSZdTZxZS)UWriter)htmlxhtmlzHTML Writer OptionsNzFSpecify the template file (UTF-8 encoded). (default: writer dependent)z --templatemetavarzzhComma separated list of stylesheet URLs. Overrides previous --stylesheet and --stylesheet-path settings.z --stylesheetzstylesheet_path)r overrides validatorzComma separated list of stylesheet paths. Relative paths are expanded if a matching file is found in the --stylesheet-dirs. With --link-stylesheet, the path is rewritten relative to the output HTML file. (default: writer dependent)z--stylesheet-pathz stylesheetzComma-separated list of directories where stylesheets are found. Used by --stylesheet-path when expanding relative path arguments. (default: writer dependent)z--stylesheet-dirsz)rrzvEmbed the stylesheet(s) in the output HTML file. The stylesheet files must be accessible during processing. (default)z--embed-stylesheet store_true)defaultactionrz3Link to the stylesheet(s) in the output HTML file. z--link-stylesheetembed_stylesheet store_false)destrz}Specify the initial header level. Does not affect document title & subtitle (see --no-doc-title).(default: writer dependent).z--initial-header-levelz 1 2 3 4 5 62z)choicesrrzYFormat for footnote references: one of "superscript" or "brackets". (default: "brackets")z--footnote-references superscriptbracketsztrim_footnote_reference_space)r#rrrzyFormat for block quote attributions: one of "dash" (em-dash prefix), "parentheses"/"parens", or "none". (default: "dash")z --attributiondash parenthesesparensnoner(zgRemove extra vertical whitespace between items of "simple" bullet lists and enumerated lists. (default)z--compact-listsTz3Disable compact simple bullet and enumerated lists.z--no-compact-lists compact_listszORemove extra vertical whitespace between items of simple field lists. (default)z--compact-field-listsz#Disable compact simple field lists.z--no-compact-field-listscompact_field_listszAdded to standard table classes. Defined styles: borderless, booktabs, align-left, align-center, align-right, colwidths-auto, colwidths-grid.z --table-stylerzmMath output format (one of "MathML", "HTML", "MathJax", or "LaTeX") and option(s). (default: "HTML math.css")z --math-outputz HTML math.csszPrepend an XML declaration. z--xml-declarationFzOmit the XML declaration.z--no-xml-declarationxml_declarationzyObfuscate email addresses to confuse harvesters while still keeping email links usable with standards-compliant browsers.z--cloak-email-addresses)rroutput_encoding_error_handlerxmlcharrefreplacezhtml base writer)r z html writers) head_prefixheadr body_prefixbody_pre_docinfodocinfobody body_suffixtitlesubtitleheaderfootermetafragment html_prolog html_head html_title html_subtitle html_bodyc`ttjgzSN)superget_transformsr Admonitions)self __class__s {/builddir/build/BUILD/imunify360-venv-2.3.5/opt/imunify360/venv/lib/python3.11/site-packages/docutils/writers/_html_base.pyrGzWriter.get_transformss$ww%%'':+A*BBBc ||jx|_}|j||jD]!}t ||t ||"||_dSrE) translator_classdocumentvisitor walkaboutvisitor_attributessetattrgetattrapply_templateoutput)rIrPattrs rK translatezWriter.translates|!%!6!6t}!E!EE w (((+ 8 8D D$ 6 6 7 7 7 7))++ rLct|jjjd5}|}dddn #1swxYwY|}||zS)Nutf-8encoding)openrOsettingstemplatereadinterpolation_dict)rIfpr_subss rKrUzWriter.apply_templates $-(1G D D D !wwyyH ! ! ! ! ! ! ! ! ! ! ! ! ! ! !&&(($sAA Aci}|jj}|jD];}dt ||d||<<|j|d<tj|d<|S)Nr. r\version) rOr^rRjoinrTrstripoutput_encodingdocutils __version__)rIrcr^rWs rKrazWriter.interpolation_dictsr=)+ C CDt!4!455< @ @ A  (  )  > @ @  A (  ' > @ @  A  B  < 1 3 3 4 @  % ? ? A ) $ $#))++ ! !  "  . " #$j1j 7 9 9 :    ??? 5 5  6  2  l 1 3 3 4 @  "m < < >  " #l 1 3 3 4 0 % &(M B B D ,   b/    '   o &  ( )  | 1 3 3 4 & ! "$ > > @ J $ %!0I J J LgW [ Mz9:MN'N"=CCCCC,,, <<<<<<Z2d?Z3d@Z4dAZ5dBZ6dCZ7dDZ8dEZ9dFZ:dGZ;dHZdKZ?dLZ@dMZAejdNjBfdOZCdPZDdQZEdRZFdSZGdTZHdUZIdVZJdWZKdXZLdYZMdZZNd[ZOd\ZPd]ZQd^ZRd_ZSd`ZTdaZUdbZVdcZWddZXdeZYddgZZdhZ[diZ\djZ]dkZ^dlZ_dmZ`dnZadoZbdpZcdqZddrZedsZfdtZgduZhdvZidwZjdxZkdyZldzZmd{Znd|Zod}Zpd~ZqdZrdZsdZtdZudZvdZwdZxdZydZzdZ{dZ|dZ}dZ~dZdZdZdZdZdZdZdZdZdZdZdZdZdddddZddZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZd„ZdÄZdĄZdńZdƄZdDŽZdȄZdɄZdʄZd˄Zd̄Zd̈́Zd΄ZdτZdЄZdфZd҄ZdӄZdԄZdՄZdքZdׄZd؄ZdلZdڄZdۄZd܄Zd݄ZdބZd߄ZdZdZdZdZdZdZdZdZdZdZd"S)HTMLTranslatorai Generic Docutils to HTML translator. See the `html4css1` and `html5_polyglot` writers for full featured HTML writers. .. IMPORTANT:: The `visit_*` and `depart_*` methods use a heterogeneous stack, `self.context`. When subclassing, make sure to be consistent in its use! Examples for robust coding: a) Override both `visit_*` and `depart_*` methods, don't call the parent functions. b) Extend both and unconditionally call the parent functions:: def visit_example(self, node): if foo: self.body.append('
') html4css1.HTMLTranslator.visit_example(self, node) def depart_example(self, node): html4css1.HTMLTranslator.depart_example(self, node) if foo: self.body.append('
') c) Extend both, calling the parent functions under the same conditions:: def visit_example(self, node): if foo: self.body.append('
') else: # call the parent method _html_base.HTMLTranslator.visit_example(self, node) def depart_example(self, node): if foo: self.body.append('
') else: # call the parent method _html_base.HTMLTranslator.depart_example(self, node) d) Extend one method (call the parent), but don't otherwise use the `self.context` stack:: def depart_example(self, node): _html_base.HTMLTranslator.depart_example(self, node) if foo: # implementation-specific code # that does not use `self.context` self.body.append(' ') This way, changes in stack use will not bite you. z zW z z) divrO)tagnameCLASSz2 z-file:/usr/share/javascript/mathjax/MathJax.jsz4 z% z [^ \n]+| +|\nz.+\W\W.+|[-?].+lang&z&z>@@ctj||jx_}t j|j|j_t|j _ t|dd_ t|dddur*tjdtdj d_ t|dddurtjd tdj d _ |j_jd d_jd _g_d g_g_dg_g_g_g_g_g_g_g_jg_ g_!g_"g_#j$g_%fdtMj'|D_(g_)g_*|j+r]j,tMj+|j-j!,tMj+d|j-rE|j-dkr(j%.d j|j-zg_/ d _0g_1d_2d_3d_4d_5d_6d _7d_8d_9g_:dS)N image_loading embed_imagesTzeThe configuration setting "embed_images" will be removed in Docutils 2.0. Use "image_loading: embed".) stacklevelembedFzdThe configuration setting "embed_images" will be removed in Docutils 2.0. Use "image_loading: link".linkrrz z c:g|]}|S)stylesheet_call).0pathrIs rK z+HTMLTranslator.__init__..Gs=LLL# //55LLLrLz%sunicode);r NodeVisitor__init__r^r get_language language_codereporterlanguageintinitial_header_levelrTrwarningswarn FutureWarning math_outputrwmath_output_optionslowerr7r4r5r8r6r<r>r3r2r;rC content_typer@r?rBrA generatorr=rget_stylesheet_listrr9r:r/appendriinsertcontext section_levelcolspecs compact_pcompact_simplecompact_field_list in_docinfo in_sidebarin_document_title in_mailtoauthor_in_authors math_header)rIrOr^s` rKrzHTMLTranslator.__init__s@ ""4222#+#44 !.$2H4EGG $'(E$F$F!$XEE 8^T 2 2d : : M8(A 7 7 7 7!)%," 8^T 2 2e ; ; M7(A 7 7 7 7   %!'D #/5577#'#3ABB#7 +A.4466 /0 "01     +,^$ LLLL','@'J'JLLL   # -   # #%h&>?? A A A   # #%d++ - - -  $ N(..00I== I  Q 1H4L L M M M   #"'!"!&rLcd|j|jz|jz|jz|jz|jz|jz|jzSrm) rgr2r3rr4r5r6r7r8rIs rKastextzHTMLTranslator.astexthsgwwt'$)3)+/+;<./15>#&*%5677 7rLcTt|}||jS)z-Encode special characters in `text` & return.)strrXspecial_characters)rItexts rKencodezHTMLTranslator.encodens$ 4yy~~d5666rLc.|ddS)z*Try to hide a mailto: URL from harvesters.r%40replace)rIuris rK cloak_mailtozHTMLTranslator.cloak_mailtovs {{3&&&rLcZ|dd}|ddS)z;Try to hide the link text of a email link from harversters.rz@.z.r)rIaddrs rK cloak_emailzHTMLTranslator.cloak_email}s-||G%9::||C!5666rLz[ ]c||d|}|jr8|jjr,|dd}|dd}|S)z6Cleanse, HTML encode, and return attribute value text. rz%40rz.)rsubrr^cloak_email_addressesr)rIr whitespaceencodeds rKattvalzHTMLTranslator.attvalse++jnnS$7788 > 4dmA 4ooe->??Gooc733GrLNc|t|jj}|jjr t |d5}|}dddn #1swxYwY|jj|n@#t$r3}d|}|j j |d|zcYd}~Sd}~wwxYw|j |zS|rtj|jj|}|j||zS)z8Return code to reference or embed stylesheet file `path`NrZr[zCannot embed stylesheet: z <--- %s ---> )boolr^rrr]r`record_dependenciesaddOSErrorrOrerrorembedded_stylesheetr relative_path _destinationstylesheet_linkr)rIr adjust_pathfcontenterrmsgs rKrzHTMLTranslator.stylesheet_callsg  t}<==K = ) 6 <$111'QffhhG''''''''''''''' 155d;;;;  . . .7#77 &,,S111'#------- . +g5 5  I&t}'A4HHD#dkk$&7&777s@BA BAB"A#B C(B>8C>CreFc l|}g}i}|D]\}} | ||<|dg} g} |dg|ddzD]]} | dr| j| dd0| r| | vr| | ^| r| d||j<dt|tj rfd | D} | rd | |d<d |vsJ|d g} | |d g| rl| d|d <| d dD]V}|s1t|tjtjtj fr|d|zN|d|zz }Wt!|}|g}|D]\}} | Jt| t"r`d| D}||d|d |d~||d|t'| d|rd}nd}d |dd ||dz|zS)z Construct and return a start tag given a node (id & class attributes are extracted), tag name, and optional attributes. classesclassr.z language- Nr)colwidths-autocolwidths-givencolwidths-gridcg|]}|v| Srr)rclsinternals rKrz+HTMLTranslator.starttag..s#EEEsH1D1Ds1D1D1DrLrididsrzc,g|]}t|Sr)r)rvs rKrz+HTMLTranslator.starttag..s000Q#a&&000rLz="rz /rr)ritemspopgetrw startswithrstriplang_attribute isinstancertablergextend Sequentialr6sortedlistrr)rInodersuffixempty attributesprefixattsnamevaluerrrrrattlistrovaluesinfixrs @rKstarttagzHTMLTranslator.starttags --//'--// ' 'MT5!&D  ((9b)) 88Ir**TXXgr-B-B-H-H-J-JJ $ $C~~k** $  QRR)))) $G!3!3s###  5(1! D$ %J dEK ( ( FEEEEgEEEG  .HHW--DM4hhub!! 488E2&&'''  ;QDJ!""g ; ; ;Jte.>.3m.3k.;<<;MM"9B">????5::FF&& " D DKD%$$$%&& D00%000 $**,,,,*.++chhv6F6F*G*G*G*GIJJJJ $**,,,,*.++c%jj*A*A*A*ACDDDD  EEEwwvSXXe___eee!DDvMMrLc &|j|||fddi|S)z1Construct and return an XML-compatible empty tag.rT)r)rIrrrrs rKemptytagzHTMLTranslator.emptytags%t}T7FMM$M*MMMrLrcd|D} ||}n#t$rYdSwxYw|d|dS)z Set class `class_` on the visible child no. index of `node`. Do nothing if node has fewer children than `index`. cFg|]}t|tj|Srrr Invisible)rns rKrz5HTMLTranslator.set_class_on_child..s)JJJ!:a+I+IJAJJJrLNr) IndexErrorr)rIrclass_indexchildrenchilds rKset_class_on_childz!HTMLTranslator.set_class_on_childsi KJtJJJ UOEE    FF  i'''''s  %%c|}||}|jr!|jjr||}|j|dSrE)rrrr^rrr7r)rIrrrs rK visit_TextzHTMLTranslator.visit_Textse{{}}++d## > 0dmA 0&&w//G !!!!!rLcdSrErrIrs rK depart_TextzHTMLTranslator.depart_Text rLcd|j||dddS)Nabbrr.r7rrrs rKvisit_abbreviationz!HTMLTranslator.visit_abbreviations. tVR8899999rLc:|jddS)Nzr7rrs rKdepart_abbreviationz"HTMLTranslator.depart_abbreviation #####rLcd|j||dddS)Nacronymr.rrs rK visit_acronymzHTMLTranslator.visit_acronyms. tY;;<<<<rrs rKdepart_acronymzHTMLTranslator.depart_acronym  &&&&&rLc||dd|j||ddddS)NaddressFr=prer.rr)visit_docinfo_itemr7rrrs rK visit_addresszHTMLTranslator.visit_address sf ie<<< tU.0 'CC D D D D DrLcb|jd|dSN )r7rdepart_docinfo_itemrs rKdepart_addresszHTMLTranslator.depart_addresss0 &&&   """""rLch|j||ddgdS)Naside admonitionrrrs rKvisit_admonitionzHTMLTranslator.visit_admonitions2 tW|nMMNNNNNrLc:|jddSN rrs rKdepart_admonitionz HTMLTranslator.depart_admonitionr$rL)u—r.)())r.r.r'c|j|jj\}}|j||j||d|ddS)Np attributionr)attribution_formatsr^r>rrr7r)rIrrrs rKvisit_attributionz HTMLTranslator.visit_attribution!sn1$-2KL F###  MM$V=M A A C C C C CrLcn|j|jdzdSN

r7rrrrs rKdepart_attributionz!HTMLTranslator.depart_attribution's1 ))++h677777rLct|jtjs||d|jddS)Nauthorz

)rparentrauthorsr*r7rrs rK visit_authorzHTMLTranslator.visit_author*sJ$+u}55 4  # #D( 3 3 3 rLc|jdt|jtjr|jddS|dS)N

re)r7rrrIrrJr/rs rK depart_authorzHTMLTranslator.depart_author/sb    dk5= 1 1 ' I  T " " " " "  $ $ & & & & &rLc2||ddS)NrJr*rs rK visit_authorszHTMLTranslator.visit_authors6s i00000rLc.|dSrEr/rs rKdepart_authorszHTMLTranslator.depart_authors9   """""rLcb|j||ddS)N blockquoterrs rKvisit_block_quotez HTMLTranslator.visit_block_quote<s, t\::;;;;;rLc:|jddS)Nz rrs rKdepart_block_quotez!HTMLTranslator.depart_block_quote?s *+++++rLct|j} ||dS#tj$rYdSwxYw)z7Check for a simple list that can be rendered compactly.TF)SimpleListCheckerrOwalkr NodeFound)rIrrPs rKcheck_simple_listz HTMLTranslator.check_simple_listBsU#DM22  IIg   4   55 s-AAcNd|dvrdSd|dvrdSt|tjtjfr|jjsdSt|tjtjfr|jjsdSd|j dvrdS| |S)NcompactrTr]Fcontents) rr field_listdefinition_listr^r-enumerated_list bullet_listr,rIr_rs rKis_compactablezHTMLTranslator.is_compactableSs Y ' '4 T)_ $ $5 te.0EF G G M5 5 te3U5FG H H M/ 5 Y/ / /4%%d+++rLci}|j}|j|j|jfd|_|||_|jr|sd|d<|j|j|dfi|dS)Nsimplerul)rrrrrgr7r)rIrrold_compact_simples rKvisit_bullet_listz HTMLTranslator.visit_bullet_listfs!0 T0$.ABBB"11$77   %'9 %$DM tT::T::;;;;;rLc|j\|_|_|jddS)Nz )rrrrr7rrs rKdepart_bullet_listz!HTMLTranslator.depart_bullet_listps;.2l.>.>.@.@+T^ #####rLch|j||ddddS)Nr=r.captionr?rrs rK visit_captionzHTMLTranslator.visit_captionts2 tS"IFFGGGGGrLc:|jddSrCrrs rKdepart_captionzHTMLTranslator.depart_captionw """""rLct|t|s|jd|j||d|jgddS)Nz(
rzdoc-biblioentryrrole)rprevious_siblingtyper7rrrrs rKvisit_citationzHTMLTranslator.visit_citation{s$//114::>> J I  H I I I tUT\N,='?? @ @ @ @ @rLc|jdt|ddt |s|jddSdS)N
FTdescendsiblingsr7rr next_noderyrs rKdepart_citationzHTMLTranslator.depart_citationsk $$$$...FFt**&& ) I  Z ( ( ( ( ( ) )rLc d}d|vr ||dz }nd|vr||jj|dz }|j||dd|dgddS) N#refidrefnamea[zcitation-referencez doc-biblioref)rhrefrrw)rOnameidsr7rr)rIrrs rKvisit_citation_referencez'HTMLTranslator.visit_citation_references d?? DM !DD $   DM)$y/: :D tS40D/E,;'== > > > > >rLc:|jddS)Nz]rrs rKdepart_citation_referencez(HTMLTranslator.depart_citation_reference !!!!!rLch|j||ddddS)Nspanr. classifierr?rrs rKvisit_classifierzHTMLTranslator.visit_classifiers2 tVR|LLMMMMMrLc:|jddSNrrs rKdepart_classifierz HTMLTranslator.depart_classifierrrLc|j||jj|jddS)Nstub)rrrIstubsrrrs rK visit_colspeczHTMLTranslator.visit_colspecsG T"""   !4!4V!z0HTMLTranslator.depart_colspec..s'EEt$z*EEEEEErLrcolzwidth: z.1%)stylez ) rrrcolspecrIr^ table_styler7rrsumrr)rIr total_widthrs rKdepart_colspeczHTMLTranslator.depart_colspecs; dnnUTnBBm % %  F t{1)< < < DM$= = =!);I)FFF F tZ88999EEt}EEEEE M L LDJ'+5H I  T]]41I81I1I1I+KK L L L L )))))rLz-(?=-)c|jd|d|ztj)z%Escape double-dashes in comment text.z z- )r7rrrSkipNode)rIrrs rK visit_commentzHTMLTranslator.visit_comments; 33tT[[]]+C+CCDDDnrLcf|j||dddS)Nrcompoundr?rrs rKvisit_compoundzHTMLTranslator.visit_compounds0 tU*EEFFFFFrLc:|jddSNr|rrs rKdepart_compoundzHTMLTranslator.depart_compound $$$$$rLcf|j||dddS)Nrzdocutils containerr?rrs rKvisit_containerzHTMLTranslator.visit_containersI tU-A'CC D D D D DrLc:|jddSrrrs rKdepart_containerzHTMLTranslator.depart_containerrrLc6||dddS)NcontactFr'rPrs rK visit_contactzHTMLTranslator.visit_contact# ie<<<< z ddr.rIr7rrrs rKvisit_definitionzHTMLTranslator.visit_definitionsu  *95 5 5 I  ^ , , , , , I  Y ' ' ' I  T]]4r:: ; ; ; ; ;rLcfd|jjdvr|jddSdS)Nrr rIr7rrs rKdepart_definitionz HTMLTranslator.depart_definitions; DK.y9 9 9 I  Y ' ' ' ' ' : 9rLcd|dvr0|j||ddS||rdgng}|j||d|dS)Nrrrridlr4)r7rrrgrIrrs rKvisit_definition_listz$HTMLTranslator.visit_definition_lists Y ' ' I  T]]477 8 8 8 8 8$($7$7$=$=Exjj2G I  T]]4w]GG H H H H HrLcd|dvr|jddS|jddS)Nrrr| rrs rKdepart_definition_listz%HTMLTranslator.depart_definition_listsI Y ' ' I  Z ( ( ( ( ( I  Y ' ' ' ' 'rLcd|jdvr?i}d|jdvrd|d<|j|j|dfi|dSdS)Nrrr]rrIrrs rKvisit_definition_list_itemz)HTMLTranslator.visit_definition_list_itemsn  I. . .DY///%V I  ]T]4CCdCC D D D D D / .rLc\d|jdvr|jddSdS)Nrrz rrs rKdepart_definition_list_itemz*HTMLTranslator.depart_definition_list_items8  I. . . I  ^ , , , , , / .rLcd|j||dddS)Nrr.rrs rKvisit_descriptionz HTMLTranslator.visit_description . tT26677777rLc:|jddSNrrrs rKdepart_descriptionz!HTMLTranslator.depart_description rrLc|jt|jdg}||r|d|j||d|dS)Nr6rirr4)rrlenr7rgrrs rK visit_docinfozHTMLTranslator.visit_docinfos} C NN++++   t $ $ % NN8 $ $ $ tT7CCDDDDDrLc|jd|j}|j|d|_g|_dSNr)r7rrrr6)rIrstarts rKdepart_docinfozHTMLTranslator.depart_docinfosH ###   ""y(  rLTc Z|rF|jd|d||d|jd|d|jj|d|j||dd| dS) Nz z
":
rr.r?)r=rrrr7rlabelsr)rIrrr=s rKr*z!HTMLTranslator.visit_docinfo_items  M I  LDLL)-T[[]])C)CLLL M M M ?t??t}/CD/I??? @ @ @ tT2TBBCCCCCrLc:|jddSrrrs rKr/z"HTMLTranslator.depart_docinfo_item%rrLc l|j||ddgddS)Nr(r.)codepythondoctest)rrrrs rKvisit_doctest_blockz"HTMLTranslator.visit_doctest_block(sQ tU2/L/L/L'NN O O O O OrLc:|jddSr-rrs rKdepart_doctest_blockz#HTMLTranslator.depart_doctest_block,r$rLc|dp&tj|dpd}|jd||ddS)Nr9sourcezuntitled Docutils documentzz )rosrbasenamer3rr)rIrr9s rKvisit_documentzHTMLTranslator.visit_document/sm'""1bg&6&6tH~&F&F10  A4;;u#5#5AAABBBBBrLc|j|j|jd|jjizg|j|j|jdd|j z|_ dd |jvr|j d|j rJ|j dkr |j |j n|j |j |j|j dd|j|j|fi|j|jdd|jd d |j|j|j|jdd|jz|jz|jz|jdd z|jrJd t5|jdS) Nrzname="dcterms.r.z=mathjaxrrz zlen(context) = )r2rdoctypehead_prefix_templater^rr?rr=r3rgrrrr@r4rdocumenttag_argsr8rr>r7rCr5r6rrrs rKdepart_documentzHTMLTranslator.depart_document4s !%!:"($-*E!F"G!H I I I  ---IaaaL49, rwwty11 1 1 I  C D D D   99,,   !12222&&t'7888 dim,,,   d L Ld6K L LMMM #M(=i(H#M#M#MNNN TY''' d.qrr2T5JJ $ -/3y9 $ 0" 56 7 7 7<FF!F3t|3D3D!F!FFFFFrLcd|j||dddS)Nemr.rrs rKvisit_emphasiszHTMLTranslator.visit_emphasisLrrLc:|jddS)Nzrrs rKdepart_emphasiszHTMLTranslator.depart_emphasisOrrLc~dgi}t|jjtjr|dd|jjjj|jjr|dd|drd}nd}|jxjdz c_d|vr|ddz|d<d |vr)|d dz|d <|jxj|d z c_|j|j||d fi||j d | zdS) Nrr3rthtdrmorerowsrowspanmorecolscolspanr. ) rrIrtheadrrcolumnr7rrr)rIrrrs rK visit_entryzHTMLTranslator.visit_entryRsM2 dk(%+ 6 6 + O " "6 * * * ;  $ *4;+= > + O " "6 * * *  ? GGG a   ":.2DO   ":.2DO K  $z"2 2   tWbAADAABBB I 788888rLch|j|jdSrErErs rK depart_entryzHTMLTranslator.depart_entryf, ))++,,,,,rLc$dgi}d|vr |d|d<d|vr!|d|d||r|dd|j|j|dfi|dS)Nrrenumtyperiol)rrgr7rrs rKvisit_enumerated_listz$HTMLTranslator.visit_enumerated_listis2 d?? MDM    O " "4 #3 4 4 4   t $ $ - O " "8 , , , tT::T::;;;;;rLc:|jddS)Nz rrs rKdepart_enumerated_listz%HTMLTranslator.depart_enumerated_listsrrLci}|dg}t|D]d\}}|drJ t|ddd}n#t$rYn$wxYwd|z|d<||ne|d||r|d|j|j |d fi|dS) Nrz field-indent- pxz--field-indent: %s;rz field-listrir) setdefault enumeraterr ValueErrorrrrgr7r)rIrrrir indent_lengths rKvisit_field_listzHTMLTranslator.visit_field_listvs%//)R00((  FAs~~o.. $D8;BCC$%H%HMM!EE 5 EW  A  |$$$   t $ $ % NN8 $ $ $ tT::T::;;;;;sA A*)A*c:|jddSrrrs rKdepart_field_listz HTMLTranslator.depart_field_listrrLcdSrErrs rK visit_fieldzHTMLTranslator.visit_fieldrrLcdSrErrs rK depart_fieldzHTMLTranslator.depart_fieldrrLc ~|j||dd|jddS)Ndtr.rr4)r7rrrIrs rKvisit_field_namezHTMLTranslator.visit_field_namesR tT2/3{9/E'GG H H H H HrLc:|jddS)Nrrrs rKdepart_field_namez HTMLTranslator.depart_field_names >?????rLc |j||dd|jd|js|jddSdS)Nrr.rr4z

)r7rrrIrrs rKvisit_field_bodyzHTMLTranslator.visit_field_bodysx tT2/3{9/E'GG H H H} ( I  Y ' ' ' ' ' ( (rLc:|jddSrrrs rKdepart_field_bodyz HTMLTranslator.depart_field_bodyrrLcddi}|drd|dz|d<|dr|dxxd|dzz cc<|j|j|dfi|dS) Nrfigurewidthz width: %sralignz align-r)rr7rrrs rK visit_figurezHTMLTranslator.visit_figures" 88G   8'$w-7DM 88G   7 MMMYg6 6MMM tU;;d;;<<<< z r)rrrrr7rr<r8)rIrrr<s rK depart_footerzHTMLTranslator.depart_footers   ""--e8-<<+- di'((( l### 6"""%! Ieff   rLc(|jj}t|t |s|jd|d|j||d|j|gddS)Nz