m hEc@sdZdZdkZdkZdkZdkZdkZdklZy dk Z Wne j o e Z nXdk Z dk l Z lZlZlZlZdeifdYZdeifdYZd eifd YZdS( s/ Simple HyperText Markup Language document tree Writer. The output conforms to the XHTML version 1.0 Transitional DTD (*almost* strict). The output contains a minimum of formatting information. The cascading style sheet "html4css1.css" is required for proper viewing with a modern graphical browser. treStructuredTextN(sListType(sfrontendsnodessutilsswriterss languagestWritercBsHtZdddfZdZeieiiei deiieii e eZ de ddghd d <d d d?ghdd@<dd<dd<deit overrideststylesheet_pathsSpecify a stylesheet file, relative to the current working directory. The path is adjusted relative to the output HTML file. Overrides --stylesheet. Default: "%s"s--stylesheet-pathst stylesheettdefaultsEmbed the stylesheet in the output HTML file. The stylesheet file must be accessible during processing (--stylesheet-path is recommended). This is the default.s--embed-stylesheetitactiont store_truet validatorsbLink to the stylesheet in the output HTML file. Default: embed the stylesheet, do not link to it.s--link-stylesheettdesttembed_stylesheett store_falses|Specify the initial header level. Default is 1 for "

". Does not affect document title & subtitle (see --no-doc-title).s--initial-header-leveltchoicess 1 2 3 4 5 6t1ssSpecify the maximum width (in characters) for one-column field names. Longer field names will span an entire row of the table used to render the field list. Default is 14 characters. Use 0 for "no limit".s--field-name-limitisSpecify the maximum width (in characters) for options in option lists. Longer options will span an entire row of the table used to render the option list. Default is 14 characters. Use 0 for "no limit".s--option-limits[Format for footnote references: one of "superscript" or "brackets". Default is "brackets".s--footnote-referencest superscripttbracketssttrim_footnote_reference_spaces{Format for block quote attributions: one of "dash" (em-dash prefix), "parentheses"/"parens", or "none". Default is "dash".s --attributiontdasht parenthesestparenstnonespRemove extra vertical whitespace between items of "simple" bullet lists and enumerated lists. Default: enabled.s--compact-listss3Disable compact simple bullet and enumerated lists.s--no-compact-listst compact_listssXRemove extra vertical whitespace between items of simple field lists. Default: enabled.s--compact-field-listss#Disable compact simple field lists.s--no-compact-field-liststcompact_field_listss,Omit the XML declaration. Use with caution.s--no-xml-declarationtxml_declarationsyObfuscate email addresses to confuse harvesters while still keeping email links usable with standards-compliant browsers.s--cloak-email-addressestoutput_encoding_error_handlertxmlcharrefreplaceshtml4css1 writertwriterscCstii|t|_dS(N(RRt__init__tselftHTMLTranslatorttranslator_class(R!((tB/data/zmath/zope/lib/python/docutils/writers/html4css1/__init__.pyR sc Csf|i|i|_}|ii||i|_x'd D]}t||t ||q?WdS( Nt head_prefixR theadt body_prefixtbody_pre_docinfotdocinfotbodytfragmentt body_suffix( R%s stylesheetsheadR'R(R)R*R+R,( R!R#tdocumenttvisitort walkabouttastexttoutputtattrtsetattrtgetattr(R!R.R2((R$t translates cCsGtii|x0dD](}dit|i||i|R?( RRtassemble_partsR!tparttjoinR4R.tparts(R!RB((R$RAs(t__name__t __module__t supportedtdefault_stylesheettutilst relative_pathtostpathRCtgetcwdtdirnamet__file__tdefault_stylesheet_pathtNonetfrontendtvalidate_booleantsplittvalidate_nonnegative_intt settings_spectsettings_defaultstrelative_path_settingstconfig_sectiontconfig_section_dependenciesR R5RA(((R$R!s$P    R"cBstZdZdZdZdZdZdZdZdZ dd d d d d dgZ e i dZ dZdZdZdZdZe i ddZdddZddZdZddZdZdZdZd Zd!Zd"Zd#Zd$Zd%Z d&d'Z!e"d(Z#d)Z$d*Z%hd+d<d-d<d0d<d1dZ3d?Z4d@Z5dAZ6dBZ7dCZ8dDZ9dEZ:dFZ;dGZ<dHZ=dIZ>dJZ?e i dKi@dLZAdMZBdNZCdOZDdPZEdQZFdRZGdSZHdTZIdUZJdVZKdWZLdXZMdYZNdZZOd[ZPd\ZQd]ZRd^ZSd_ZTd`ZUdaZVdbZWdcZXddZYdedfZZdgZ[dhZ\diZ]djZ^dkZ_dlZ`dmZadnZbdoZcdpZddqZedrZfdsZgdtZhduZidvZjdwZkdxZldyZmdzZnd{Zod|Zpd}Zqd~ZrdZsdZtdZudZvdZwdZxdZydZzdZ{dZ|dZ}dZ~dZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdedZdZdZdZdZdZdZdZdZdZdZdZdZRS(s This HTML writer has been optimized to produce visually compact lists (less vertical whitespace). HTML's mixed content models allow list items to contain "
  • body elements

  • " or "
  • just text
  • " or even "
  • text

    and body elements

    combined
  • ", each with different effects. It would be best to stick with strict body elements in list items, but they affect vertical spacing in browsers (although they really shouldn't). Here is an outline of the optimization: - Check for and omit

    tags in "simple" lists: list items contain either a single paragraph, a nested simple list, or a paragraph followed by a nested simple list. This means that this list can be compact: - Item 1. - Item 2. But this list cannot be compact: - Item 1. This second paragraph forces space between list items. - Item 2. - In non-list contexts, omit

    tags on a paragraph if that paragraph is the only child of its parent (footnotes & citations are allowed a label first). - Regardless of the above, in definitions, table cells, field bodies, option descriptions, and list items, mark the first child with 'class="first"' and the last child with 'class="last"'. The stylesheet sets the margins (top & bottom respectively) to 0 for these elements. The ``no_compact_lists`` setting (``--no-compact-lists`` command-line option) disables list whitespace optimization. s% sz sK sC sR s4 s% tatapplettformtframetiframetimgtmaps \S+| +|\ncCstii|||i|_}|i}ti ||_ |i |i |i tig|_g|_g|_|io1|ii|i|i |ii|in|ii|i|i||fg|ii|i|i|_ti|}g|_|o|io`ti|tiiti d}|i!i"|t#|i$}|i&|g|_q|i'|i(|g|_ndg|_)g|_*g|_+g|_,g|_-dg|_.d|_/t0|i1|_1g|_2g|_3g|_4d|_5d|_7d|_8d|_9d|_:g|_;g|_<g|_=g|_>|i g|_?g|_@g|_Ag|_Bd|_Cd|_Dd|_EdS(NRs s ii(Ftnodest NodeVisitorR R!R-tsettingst language_codetlcodet languagest get_languagetlanguaget content_typetoutput_encodingt generatortdocutilst __version__R:R%R;Rtappendtextendtdoctypethead_prefix_templateR&RItget_stylesheet_referenceR RRKRLRCRMtrecord_dependenciestaddtopentreadtstylesheet_texttembedded_stylesheettstylesheet_linktencodeR'R(R)R*R+R,t section_leveltinttinitial_header_leveltcontextt topic_classestcolspecst compact_pRQtcompact_simpletcompact_field_listt in_docinfot in_sidebarR6R7R8R9R<R=R>R?tin_document_titlet in_mailtotauthor_in_authors(R!R-RdR RxRf((R$R sb #   &   '                         cCsAdi|i|i|i|i|i|i|i|i S(NR@( RCR!R%R&R R'R(R)R*R,(R!((R$R0scCsp|idd}|idd}|idd}|idd}|id d }|id d }|S(s-Encode special characters in `text` & return.t&s&ts>t@s@u s N(ttexttreplace(R!R((R$R{scCs|iddS(s*Try to hide a mailto: URL from harvesters.Rs%40N(turiR(R!R((R$t cloak_mailto$scCs(|idd}|idd}|S(s;Try to hide the link text of a email link from harversters.s@s@t.s.N(taddrR(R!R((R$t cloak_email+ss[ ]cCs^|i|id|}|io5|iio(|i dd}|i dd}n|S(s6Cleanse, HTML encode, and return attribute value text.t s%40s%40Rs.N( R!R{t whitespacetsubRtencodedRRdtcloak_email_addressesR(R!RRR((R$tattval3s s icKs|i}g}h} g}x*|iD]\} }|| | itnames%s="%s"s /R@s<%s%s>N(%ttagnametlowertprefixtattsRt attributestitemsRtvaluetnodetgetRthas_keyRoRCtAssertionErrorRpRtemptytsuffixR!t named_tagstattlisttsortRDRQt isinstancetListTypet_[1]tvtunicodetvaluesRtuvalt TypeErrortstrtinfix(R!RRRRRRRRRRDRRRRRRRRR((R$tstarttag=sZ         '3* cKs|i|||dd|S(s1Construct and return an XML-compatible empty tag.RiN(R!RRRRR(R!RRRR((R$temptytag{scKs.hd|idg<}|i|||S(s4ID and NAME attributes will be handled in the title.RN(RRR!RRR(R!RRR((R$tstart_tag_with_titlescCsug}|D]$}t|tip ||q q ~}y||}Wnt j o dSnX|di |dS(s Set class `class_` on the visible child no. index of `node`. Do nothing if node has fewer children than `index`. NR( RRtnRRbt Invisibletchildrentindextchildt IndexErrorRotclass_(R!RRRRRRR((R$tset_class_on_childs8 cCs*|i|dd|i|dddS(Ntfirstitlasti(R!RR(R!R((R$tset_first_lastscCsY|i}|i|}|io |iio|i |}n|i i |dS(N( RR0RR!R{RRRdRRR*Ro(R!RRR((R$t visit_Texts  cCsdS(N((R!R((R$t depart_TextscCs#|ii|i|dddS(NtabbrR@(R!R*RoRR(R!R((R$tvisit_abbreviationscCs|iiddS(Ns(R!R*Ro(R!R((R$tdepart_abbreviationscCs#|ii|i|dddS(NtacronymR@(R!R*RoRR(R!R((R$t visit_acronymscCs|iiddS(Ns (R!R*Ro(R!R((R$tdepart_acronymscCs<|i|ddd|ii|i|ddddS(NtaddressR:tpretCLASS(R!tvisit_docinfo_itemRRQR*RoR(R!R((R$t visit_addressscCs|iid|idS(Ns (R!R*Rotdepart_docinfo_item(R!R((R$tdepart_addresssR@cCsk|ii|i|dd|pd|o*|idti||i i |n|i |dS(NtdivRt admonitioni( R!R*RoRRRtinsertRbR6RitlabelsR(R!RR((R$tvisit_admonitions)*cCs|iiddS(Ns (R!R*Ro(R!R((R$tdepart_admonitionscCs|i|ddS(Nt attention(R!RR(R!R((R$tvisit_attentionscCs|idS(N(R!R(R!R((R$tdepart_attentionsRs—Rt(t)RRcCsR|i|ii\}}|ii||ii|i |d|dddS(NtpRt attribution( R!tattribution_formatsRdRRRRRoR*RR(R!RRR((R$tvisit_attributionscCs!|ii|iiddS(Ns

    (R!R*RoRtpop(R!R((R$tdepart_attributionscCsLt|itio"|io|iidqHn|i |ddS(Ns
    tauthor( RRtparentRbtauthorsR!RR*RoR(R!R((R$t visit_authors cCs7t|itio|id7_n |idS(Ni(RRRRbRR!RR(R!R((R$t depart_authorscCs|i|dd|_dS(NRi(R!RRR(R!R((R$t visit_authorsscCs|id|_dS(N(R!RRQR(R!R((R$tdepart_authorss cCs |ii|i|ddS(Nt blockquote(R!R*RoRR(R!R((R$tvisit_block_quotescCs|iiddS(Ns (R!R*Ro(R!R((R$tdepart_block_quotescCsEt|i}y|i|Wntij o dSnXdSdS(s7Check for a simple list that can be rendered compactly.iN( tSimpleListCheckerR!R-R.RtwalkRbt NodeFoundRQ(R!RR.((R$tcheck_simple_lists cCsYd|djpH|iio;d|djo*|ip |idgjp |i|S(NtcompactRRvtcontents(RR!RdRRRR(R!R((R$tis_compactablescCsh}|i}|ii|i|ifd|_|i||_|io| od|d (R!RRRRR*Ro(R!R((R$tdepart_bullet_list scCs)|ii|i|dddddS(NRR@Rtcaption(R!R*RoRR(R!R((R$t visit_captionscCs|iiddS(Ns

    (R!R*Ro(R!R((R$tdepart_captionscCs|i|ddS(Ntcaution(R!RR(R!R((R$t visit_cautionscCs|idS(N(R!R(R!R((R$tdepart_cautionsc CsO|ii|i|ddddddd|iid|i|dS( NttableRsdocutils citationR^tvoidtrulesRsK (R!R*RoRRtfootnote_backrefs(R!R((R$tvisit_citations cCs|iiddS(Ns (R!R*Ro(R!R((R$tdepart_citation#sc Cs=d|d}|ii|i|ddddd|dS(Nt#trefidR[t[Rscitation-referencethref(RRR!R*RoR(R!RR((R$tvisit_citation_reference'scCs|iiddS(Ns](R!R*Ro(R!R((R$tdepart_citation_reference,scCs9|iid|ii|i|dddddS(Ns- : tspanR@Rt classifier(R!R*RoRR(R!R((R$tvisit_classifier/scCs|iiddS(Ns(R!R*Ro(R!R((R$tdepart_classifier3scCs3|ii||iii|iiddS(Ntstub(R!RRoRRtstubsRR(R!R((R$t visit_colspec6scCsdS(N((R!R((R$tdepart_colspec;scCsd}x|iD]}||d7}qWxS|iD]H}t|dd|d}|ii|i|ddd|q2Wg|_dS(Nitcolwidthf100.0f0.5tcoltwidths%i%%( RR!RRR}RR*RoR(R!RRR((R$twrite_colspecs>s  s-(?=-)cCs0|iid|d|itidS(s%Escape double-dashes in comment text.s s- N(R!R*RoRRR0RbtSkipNode(R!RR((R$t visit_commentHs#cCs|ii|i|dddt|djoW|ddid|ddid x*|dd!D]}|did qmWndS( NRRtcompoundiiRscompound-firstis compound-lastscompound-middle(R!R*RoRRtlenR(R!RR((R$tvisit_compoundOs"cCs|iiddS(Ns (R!R*Ro(R!R((R$tdepart_compoundWscCs&|ii|i|ddddS(NRRt container(R!R*RoRR(R!R((R$tvisit_containerZscCs|iiddS(Ns (R!R*Ro(R!R((R$tdepart_container]scCs|i|ddddS(NtcontactR:(R!RRRQ(R!R((R$t visit_contact`scCs|idS(N(R!R(R!R((R$tdepart_contactcscCs|i|ddS(Nt copyright(R!RR(R!R((R$tvisit_copyrightfscCs|idS(N(R!R(R!R((R$tdepart_copyrightiscCs|i|ddS(Ntdanger(R!RR(R!R((R$t visit_dangerlscCs|idS(N(R!R(R!R((R$t depart_dangeroscCs|i|ddS(Ntdate(R!RR(R!R((R$t visit_daterscCs|idS(N(R!R(R!R((R$t depart_dateuscCsdS(N((R!R((R$tvisit_decorationxscCsdS(N((R!R((R$tdepart_decoration{scCs@|iid|ii|i|dd|i|dS(Ns tddR@(R!R*RoRRR(R!R((R$tvisit_definition~scCs|iiddS(Ns (R!R*Ro(R!R((R$tdepart_definitionscCs&|ii|i|ddddS(NtdlRRm(R!R*RoRR(R!R((R$tvisit_definition_listscCs|iiddS(Ns (R!R*Ro(R!R((R$tdepart_definition_listscCsdS(N((R!R((R$tvisit_definition_list_itemscCsdS(N((R!R((R$tdepart_definition_list_itemscCs0|ii|i|dd|i|dS(NttdR@(R!R*RoRRR(R!R((R$tvisit_descriptionscCs|iiddS(Ns(R!R*Ro(R!R((R$tdepart_descriptionsc Csd|iit|i|ii|i|ddddddd|iidd |_dS( NRRR)R^RRRsR i(R!RRoR R*RRR(R!R((R$t visit_docinfos cCsE|iidd|_|ii}|i||_g|_dS(Ns ( R!R*RoRQRRRtstartR)(R!RR@((R$tdepart_docinfos  icCs|o0d||i|if}|i|n|ii |i |dd|ii d|i i |t |odt|dtio|ddi dnt|dtio|ddi d qndS( Ns ttrR@s&%s: iRRiR(R:RR!RRR0tmeta_tagtadd_metaR*RoRRiRR RRbtElement(R!RRR:RC((R$Rs cCs|iiddS(Ns (R!R*Ro(R!((R$RscCs&|ii|i|ddddS(NRRs doctest-block(R!R*RoRR(R!R((R$tvisit_doctest_blockscCs|iiddS(Ns (R!R*Ro(R!R((R$tdepart_doctest_blockscCs-|iid|i|idddS(Ns%s R6R@(R!R&RoR{RR(R!R((R$tvisit_documentscCs|ii|i|ii|i|ddd|ii dd|i i|i d|i i|id|i |i|i|id dS(NRRR-is ii(R!R+RpR*R'RoRRR,RR<R&R?R(R)(R!R((R$tdepart_documents "cCs|iiddS(Ns(R!R*Ro(R!R((R$tvisit_emphasisscCs|iiddS(Ns(R!R*Ro(R!R((R$tdepart_emphasisscCshdg<}t|iitio|didn|iiii|iio|didn|do!d}di |d|d is (RRRRRbttheadRoRtcolumnRRCRR!R*RRRR R(R!RRR((R$t visit_entrys* "cCs|ii|iidS(N(R!R*RoRR(R!R((R$t depart_entryscCsh}|ido|d|d (R!RRRRR*Ro(R!R((R$tdepart_enumerated_listscCs|i|ddS(Nterror(R!RR(R!R((R$t visit_error scCs|idS(N(R!R(R!R((R$t depart_error scCs)|ii|i|dddddS(NRBR@Rtfield(R!R*RoRR(R!R((R$t visit_fieldscCs|iiddS(Ns (R!R*Ro(R!R((R$t depart_fieldscCs|ii|i|dddd|i|dd|i}|ip<t |it i p&|ii |t |idjo|i|dd ndS( NR<R@Rs field-bodyRiiRi(R!R*RoRRRRR]RRRbR)RR (R!RR]((R$tvisit_field_bodys % FcCs|iiddS(Ns (R!R*Ro(R!R((R$tdepart_field_body"sc Csv|ii|i|ifd|_d|djo d|_n,|iiod|djo d|_n|iox|D]}|d}t |t i pt g}|D]$}t |t ip ||qq~}t|djp't|djot |dt ipd|_PqqWn|ii|i|ddd d d d d |iiddS(NRRiRviiRR^RRRRsdocutils field-listsK (R!RRoRRRQRRdRR]t field_bodyRRbRRRRRR t paragraphR*R(R!RRRR]RbR((R$tvisit_field_list%s&     8=   cCs/|iid|ii\|_|_dS(Ns (R!R*RoRRRR(R!R((R$tdepart_field_list?scCsh}|iod|d  R@RL( RR!RRdtfield_name_limitR RR0RRoR*R(R!RR((R$tvisit_field_nameCs  , cCs-|iid|ii|iidS(Ns:(R!R*RoRR(R!R((R$tdepart_field_nameQscCszhdd<}|idod|d|d (R!R*Ro(R!R((R$t depart_figure]scCs|iit|idS(N(R!RRoR R*(R!R((R$t visit_footer`scCsy|ii}|i|ddddg}|i|i||i d|ii|||i d*|i|3dS(NRRR9s s i( R!RRR@RRR9RpR*RoR,(R!RR@R9((R$t depart_footercs  c CsO|ii|i|ddddddd|iid|i|dS( NRRsdocutils footnoteR^RRRsK (R!R*RoRRR(R!R((R$tvisit_footnotems cCsbg}|d}|iio|ot|djo:|iid|iid|d|ddfqd}x/|D]'}|id||f|d7}q~W|iidd i ||iid |ddn-|iid|iid |ddt|djo9|p|dd id n|d d idndS(NtbackrefsiR@s+iRs'%ss(%s) s, s RRiR( t backlinksRRqR!Rdtfootnote_backlinksR RRotitbackrefRC(R!RRrRtRqRu((R$Rvs& * cCs|iiddS(Ns (R!R*Ro(R!R((R$tdepart_footnotesc Csd|d}|ii}|djod}|iidn+|djpt d}|iid|i i|i |d |d d d |dS( NR R RR t]RssR[Rsfootnote-referenceR( RRR!Rdtfootnote_referencestformatRRRoRR*R(R!RRRRy((R$tvisit_footnote_references  cCs!|ii|iiddS(Ns(R!R*RoRR(R!R((R$tdepart_footnote_referencescCsdS(N((R!R((R$tvisit_generatedscCsdS(N((R!R((R$tdepart_generatedscCs|iit|idS(N(R!RRoR R*(R!R((R$t visit_headerscCsy|ii}|i|dddg}|i|i||i d|i i||ii||i|3dS(NRRR8s
    ( R!RRR@RRR8RpR*RoR'(R!RR@R8((R$t depart_headers cCs|i|ddS(Nthint(R!RR(R!R((R$t visit_hintscCs|idS(N(R!R(R!R((R$t depart_hintscCslh}|d|d<|ido|d|ds salign-%sRR`(swidthR(swidthR(RRRtImageRvRtimtIOErrort UnicodeErrortsizetatt_nametretmatchRtfloattgroupRjRoRCRRRRbt TextElementt referenceRR!R*RR(R!RRjRRRRR((R$t visit_images^(JF  cCs|ii|iidS(N(R!R*RoRR(R!R((R$t depart_imagescCs|i|ddS(Nt important(R!RR(R!R((R$tvisit_importantscCs|idS(N(R!R(R!R((R$tdepart_importantscCs#|ii|i|dddS(NRR@(R!R*RoRR(R!R((R$t visit_inlinescCs|iiddS(Ns(R!R*Ro(R!R((R$t depart_inlinescCs6|ii|i|dd|iidddS(NR<s%s[Rtlabel(R!R*RoRRRR(R!R((R$t visit_label s%cCs!|iid|iidS(Ns]%s(R!R*RoRR(R!R((R$t depart_labelscCs&|ii|i|ddddS(NRRtlegend(R!R*RoRR(R!R((R$t visit_legendscCs|iiddS(Ns (R!R*Ro(R!R((R$t depart_legendscCsM|ii|i|dddddt|p|iidndS(NRRR@Rtlines
    (R!R*RoRRR (R!R((R$t visit_lines( cCs|iiddS(Ns (R!R*Ro(R!R((R$t depart_linescCs&|ii|i|ddddS(NRRs line-block(R!R*RoRR(R!R((R$tvisit_line_blockscCs|iiddS(Ns (R!R*Ro(R!R((R$tdepart_line_block"scCsI|ii|i|ddt|o|ddidndS(NtliR@iRR(R!R*RoRRR (R!R((R$tvisit_list_item%s cCs|iiddS(Ns (R!R*Ro(R!R((R$tdepart_list_item*scCs|ii|i|dddd|i}x|ii|D]w}|i o!|iid|i |qD|d jo|ii|qD|iidt |d dqDW|iid t id S( s-Process text to prevent tokens from wrapping.tttR@Rsdocutils literals%ss Rs isN(s R(R!R*RoRRR0Rtwords_and_spacestfindallttokenRWR{R RbR(R!RRR((R$t visit_literal-s%  ! &cCs&|ii|i|ddddS(NRRs literal-block(R!R*RoRR(R!R((R$tvisit_literal_blockAscCs|iiddS(Ns (R!R*Ro(R!R((R$tdepart_literal_blockDscCs,|i|d|i}|i|dS(NR:(R!RRtnon_default_attributesR:RD(R!RR:((R$t visit_metaGscCsdS(N((R!R((R$t depart_metaKscCs$|ii||ii|dS(N(R!R:RottagR&(R!R((R$RDNscCs|i|ddS(Ntnote(R!RR(R!R((R$t visit_noteRscCs|idS(N(R!R(R!R((R$t depart_noteUscCsK|ido|iidn|ii|i|dddddS(Nis, RR@Rtoption(R!RR*RoRR(R!R((R$t visit_optionXscCs'|iid|idcd7ii(R!R*RoR(R!R((R$t depart_option]scCs?|ii|idd|ii|i|dddS(Nt delimiterRtvarR@(R!R*RoRRR(R!R((R$tvisit_option_argumentascCs|iiddS(Ns(R!R*Ro(R!R((R$tdepart_option_argumentescCsh}|iio=t|i|iijod|d<|iidn|iid|i i|i |ddd||i id|iid dS( NiRPs  R@R<Rs option-groupsi( RR!Rdt option_limitR RR0RRoR*R(R!RR((R$tvisit_option_grouphs, %cCs:|ii|iid|ii|iidS(Ns (R!RRR*Ro(R!R((R$tdepart_option_groupus c CsB|ii|i|ddddddd|iiddS( NRRsdocutils option-listR^RRRsH (R!R*RoRR(R!R((R$tvisit_option_listzscCs|iiddS(Ns (R!R*Ro(R!R((R$tdepart_option_listscCs#|ii|i|dddS(NRBR@(R!R*RoRR(R!R((R$tvisit_option_list_itemscCs|iiddS(Ns (R!R*Ro(R!R((R$tdepart_option_list_itemscCsdS(N((R!R((R$tvisit_option_stringscCsdS(N((R!R((R$tdepart_option_stringscCs|i|ddS(Nt organization(R!RR(R!R((R$tvisit_organizationscCs|idS(N(R!R(R!R((R$tdepart_organizationscCspt|itipt|itiodSnxe|iD]W\}}|i |o;|djo"|gdgdgddgfj odSqAqAWt|idti }xH|ii |D]6}t|tioqn||joPndSqW|ipZ|ipP|ioNt|idjp0t|idjo"t|idti odSndS(sU Determine if the

    tags around paragraph ``node`` can be omitted. iRRRiiN(RRRRbR-RRtkeyRtis_not_defaultRRRRRR!RRRR (R!RRRRR((R$tshould_be_compact_paragraphs$, C  dcCsW|i|o|iidn0|ii|i|dd|iiddS(NR@Rs

    (R!RRRRoR*R(R!R((R$tvisit_paragraphscCs|ii|iidS(N(R!R*RoRR(R!R((R$tdepart_paragraphscCs|ido:|iid|d|ddf|iidn|iid|ii|i|dddd dS( NR sRisR@RRt problematic(RthasattrR!R*RoRR(R!R((R$tvisit_problematics &cCs-|iid|ii|iidS(Ns(R!R*RoRR(R!R((R$tdepart_problematicscCsd|iddijot|itiodpd}|do&|i i |i ||ddn|i i |i |do|i i d|qnti dS( NRRyR@RRRRs(RRRTRRRbRttR!R*RoRR0R(R!RR((R$t visit_raws# & cCs|idoG|d}|iio,|ido|i|}d|_qn)|idp t dd|d}hd|<dd <}t |i t ipEt|djot |d t ipt |dcd 7s i( R!R*RoRRRRbRR(R!R((R$tdepart_referencescCs|i|ddddS(NtrevisionR:(R!RRRQ(R!R((R$tvisit_revisionscCs|idS(N(R!R(R!R((R$tdepart_revisionscCs,|ii|i|ddd|_dS(NRBR@i(R!R*RoRRRR(R!R((R$t visit_rowscCs|iiddS(Ns (R!R*Ro(R!R((R$t depart_rowscCs)|ii|i|dddddS(NRR@Rtrubric(R!R*RoRR(R!R((R$t visit_rubricscCs|iiddS(Ns

    (R!R*Ro(R!R((R$t depart_rubricscCs5|id7_|ii|i|ddddS(NiRRtsection(R!R|R*RoRR(R!R((R$t visit_sectionscCs#|id8_|iiddS(Nis (R!R|R*Ro(R!R((R$tdepart_sectionscCs<|ii|i|ddd|i|d|_dS(NRRtsidebari(R!R*RoRRRR(R!R((R$t visit_sidebar s" cCs|iidd|_dS(Ns (R!R*RoRQR(R!R((R$tdepart_sidebarscCs|i|ddddS(NtstatusR:(R!RRRQ(R!R((R$t visit_statusscCs|idS(N(R!R(R!R((R$t depart_statusscCs|iiddS(Ns(R!R*Ro(R!R((R$t visit_strongscCs|iiddS(Ns (R!R*Ro(R!R((R$t depart_strongscCs#|ii|i|dddS(NRR@(R!R*RoRR(R!R((R$tvisit_subscript!scCs|iiddS(Ns(R!R*Ro(R!R((R$tdepart_subscript$scCs tidS(sInternal only.N(RbR(R!R((R$tvisit_substitution_definition'scCs|i|dS(N(R!tunimplemented_visitR(R!R((R$tvisit_substitution_reference+scCs8t|itio9|ii|i|dddd|i idnt|iti oK|ii|i|dddd|i idt |i|_ nt|iti ond |i|id }|ii|i||ddd |ihd ddd |i id |ndS(NRR@Rssidebar-subtitles

    th2R7s

    sh%sissection-subtitleRs (RRRRbRR!R*RoRRR-R RRR|R~R(R!RR((R$tvisit_subtitle.s %>cCsw|ii|ii|ioP|i|id!|_d|_|ii|i|i i|i|i2ndS(Nii( R!R*RoRRRR7R(RpR>(R!R((R$tdepart_subtitle>s  cCs#|ii|i|dddS(NtsupR@(R!R*RoRR(R!R((R$tvisit_superscriptGscCs|iiddS(Ns(R!R*Ro(R!R((R$tdepart_superscriptJsc Cs|ii|i|ddd|iidh}d}|do|dd|dR@RiRRqis%; backlinks%ss; backlinks: %ss, Rs , line %sR[ssASystem Message: %s%s/%s%s (%s%s)%s

    ttypetleveltsource(R!R*RoRRR2t backref_textR RqRtRrRuRCRRta_startta_endR{( R!RR2RtRqRRRRuRRr((R$tvisit_system_messageMs2"    cCs|iiddS(Ns (R!R*Ro(R!R((R$tdepart_system_messageoscCs,|ii|i|ddddddS(NRRRmtborderR(R!R*RoRR(R!R((R$t visit_tablerscCs|iiddS(Ns (R!R*Ro(R!R((R$t depart_tablevscCs}|idp|idp |idp9|ii|i|dddd|iidn|iiddS( NRR trefnameRR@Rttargets(RRR!R*RoRR(R!R((R$t visit_targetys0%cCs|ii|iidS(N(R!R*RoRR(R!R((R$t depart_targetscCsI|i|ii|ii|ii|i|ddddS(Nttbodytvalignttop(R!RR*RoRRRR(R!R((R$t visit_tbodys cCs|iiddS(Ns (R!R*Ro(R!R((R$t depart_tbodyscCs#|ii|i|dddS(NtdtR@(R!R*RoRR(R!R((R$t visit_termscCsdS(sg Leave the end tag to `self.visit_definition()`, in case there's a classifier. N((R!R((R$t depart_termscCs9|ii|i|d|iidg|_dS(Ntcolgroups (R!R*RoRRRR(R!R((R$t visit_tgroupscCsdS(N((R!R((R$t depart_tgroupscCsY|i|ii|ii|iid|ii|i|ddddS(NR@RQR tbottom(R!RR*RoRRRR(R!R((R$t visit_theads cCs|iiddS(Ns (R!R*Ro(R!R((R$t depart_theadscCs|i|ddS(Nttip(R!RR(R!R((R$t visit_tipscCs|idS(N(R!R(R!R((R$t depart_tipscCsRd}d}t|itio/|ii |i |ddddd}nt|iti o/|ii |i |ddddd}n@t|iti o/|ii |i |dddd d}nt|iti o/|ii |i |d dd}d }nt|itioK|ii |i |d ddd |ii dt|i|_nUt|itipt|i|id}h}t|idjo(t|idtiod|d RR@Rstopic-title firstis sidebar-titlesadmonition-titleRs th1R6s is with-subtitlesh%sRR s toc-backrefRR RR[s s sN(tcheck_idt close_tagRRRRbttopicR!R*RoRRt AdmonitionRR-RR RRRR|R~th_levelRR7tmove_idsR(R!RRRRRR((R$t visit_titlesV% % %  %0& ""cCsw|ii|ii|ioP|i|id!|_d|_|ii|i|i i|i|i2ndS(Nii( R!R*RoRRRR6R(RpR=(R!R((R$t depart_titles  cCs#|ii|i|dddS(NtciteR@(R!R*RoRR(R!R((R$tvisit_title_referencescCs|iiddS(Ns(R!R*Ro(R!R((R$tdepart_title_referencescCs3|ii|i|ddd|d|_dS(NRRRR(R!R*RoRRR(R!R((R$t visit_topics"cCs|iidg|_dS(Ns (R!R*RoR(R!R((R$t depart_topicscCs&|ii|i|ddddS(NthrRRm(R!R*RoRR(R!R((R$tvisit_transitionscCsdS(N((R!R((R$tdepart_transitionscCs|i|ddddS(NtversionR:(R!RRRQ(R!R((R$t visit_versionscCs|idS(N(R!R(R!R((R$tdepart_version scCs|i|ddS(Ntwarning(R!RR(R!R((R$t visit_warning scCs|idS(N(R!R(R!R((R$tdepart_warningscCstd|iidS(Ns$visiting unimplemented node type: %s(tNotImplementedErrorRt __class__RE(R!R((R$Rs(s—R@(RR(RR(R@R@(RERFt__doc__RRqRrRjRlRzRyRRtcompileRR R0R{RRRRRRRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRRRRR R RRRRRRRRRR!R"R$R%R'R(R*R+R-R.R0R1R2R3R5R6R8R9R:R;R=R>R?RARRRFRGRHRIRJRKRSRTRXRYR[R\R^R_R`RaRdReRgRhRlRmRnRoRpRRvRzR{R|R}R~RRRRRRRRRRRRRRRRRRRRRRRRRDRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR R RRRRRRRRR R!R#R$R%R&R(R)R+R,R.R/R(((R$R"s ) >    >               *                                                                             =                                                                "                9          RcBs\tZdZdZdZdZdZdZdZeZ eZ eZ eZ RS(s Raise `nodes.NodeFound` if non-simple list item is encountered. Here "simple" means a list item containing nothing other than a single paragraph, a simple list, or a paragraph followed by a simple list. cCs tidS(N(RbR(R!R((R$t default_visit scCsdS(N((R!R((R$R#scCsdS(N((R!R((R$RX&scCsg}x5|iD]*}t|tip|i|qqW|oSt|dtio<t|dtipt|dti o|i nt |djodSn ti dS(Niii( RRRRRbRRoRct bullet_listtenumerated_listRR R(R!RRR((R$R)s LcCs tidS(N(RbR(R!R((R$R7scCs tidS(s"Invisible nodes should be ignored.N(RbR(R!R((R$tinvisible_visit:s( RERFR2R4RRXRRR7RRRt visit_pending(((R$Rs       (R2t __docformat__tsysRKtos.pathttimeRttypesRRt ImportErrorRQRmRRRbRIRRgRRcR"tGenericNodeVisitorR(RgR"RRRmRRR9RR:RRR<RRbRKRI((R$t?s*         %x