o
    N=&b¯Ž  ã                   @   s¤   d Z dZddlZddlmZmZmZ zddlZW n ey*   ddl	m
  mZ Y nw dZdZdZdZdZdZG dd	„ d	ejƒZG d
d„ dƒZG dd„ dejƒZdS )a×  
Simple man page writer for reStructuredText.

Man pages (short for "manual pages") contain system documentation on unix-like
systems. The pages are grouped in numbered sections:

 1 executable programs and shell commands
 2 system calls
 3 library functions
 4 special files
 5 file formats
 6 games
 7 miscellaneous
 8 system administration

Man pages are written *troff*, a text file formatting system.

See http://www.tldp.org/HOWTO/Man-Page for a start.

Man pages have no subsection only parts.
Standard parts

  NAME ,
  SYNOPSIS ,
  DESCRIPTION ,
  OPTIONS ,
  FILES ,
  SEE ALSO ,
  BUGS ,

and

  AUTHOR .

A unix-like system keeps an index of the DESCRIPTIONs, which is accessible
by the command whatis or apropos.

ZreStructuredTexté    N)ÚnodesÚwritersÚ	languagesé   g      @aw  .
.nr rst2man-indent-level 0
.
.de1 rstReportMargin
\\$1 \\n[an-margin]
level \\n[rst2man-indent-level]
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
-
\\n[rst2man-indent0]
\\n[rst2man-indent1]
\\n[rst2man-indent2]
..
.de1 INDENT
.\" .rstReportMargin pre:
. RS \\$1
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
. nr rst2man-indent-level +1
.\" .rstReportMargin post:
..
.de UNINDENT
. RE
.\" indent \\n[an-margin]
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
.nr rst2man-indent-level -1
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
c                   @   s(   e Zd ZdZ	 dZ	 dd„ Zdd„ ZdS )ÚWriter)ÚmanpageNc                 C   s   t j | ¡ t| _d S ©N)r   r   Ú__init__Ú
TranslatorÚtranslator_class©Úself© r   ú<usr/lib/python3.10/site-packages/docutils/writers/manpage.pyr	   d   s   
zWriter.__init__c                 C   s&   |   | j¡}| j |¡ | ¡ | _d S r   )r   ÚdocumentZ	walkaboutÚastextÚoutput)r   Úvisitorr   r   r   Ú	translateh   s   zWriter.translate)Ú__name__Ú
__module__Ú__qualname__Z	supportedr   r	   r   r   r   r   r   r   \   s    r   c                   @   s<   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ ZdS )ÚTablec                 C   s   g | _ dg| _d| _g | _d S )NÚcenterú	)Ú_rowsÚ_optionsÚ	_tab_charÚ_coldefsr   r   r   r   r	   o   s   
zTable.__init__c                 C   s   | j  g ¡ d S r   ©r   Úappendr   r   r   r   Únew_rowu   ó   zTable.new_rowc                 C   s   | j  |g¡ dS )z$Append the separator for table head.Nr   )r   Ú	separatorr   r   r   Úappend_separatorx   s   zTable.append_separatorc                 C   sd   d}t |ƒdkr|d dkrd}| jd  ||d… ¡ t | jƒt | jd ƒk r0| j d¡ dS dS )zcell_lines is an array of linesr   ú.sp
é   éÿÿÿÿNÚl)Úlenr   r    r   )r   Ú
cell_linesÚstartr   r   r   Úappend_cell|   s   ÿzTable.append_cellc                 C   s\   |r|d dv r|d= |r|d dv s|r(|d dv r,|d= |r*|d dv sdS dS dS dS )z3Remove leading and trailing blank and ``.sp`` linesr   )Ú
r%   r'   Nr   )r   r*   r   r   r   Ú_minimize_cell…   s   ÿ ÿzTable._minimize_cellc                 C   sæ   dg}|  d | j¡d ¡ |  dd | j¡ ¡ | jD ]J}|  d¡ |  d¡ tt|ƒƒD ]7}|| }|  |¡ | |¡ |d  	d	¡sM|d  d	7  < |t|ƒd
 k r`|  d| j
 d ¡ q.|  d¡ q.q|  d¡ |  d¡ |S )Nz.TS
ú z;
z|%s|.
ú|z_
zT{
r'   r-   r&   zT}zT}
z.TE
)r    Újoinr   r   r   Úranger)   r.   ÚextendÚendswithr   )r   ÚtextÚrowÚiÚcellr   r   r   Úas_listŒ   s&   




÷


zTable.as_listN)	r   r   r   r	   r!   r$   r,   r.   r9   r   r   r   r   r   n   s    	r   c                   @   s,  e Zd ZdZe d¡Ze d¡ZdZdd„ Z	dd„ Z
d	d
„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd „ Zdzd"d#„Zd$d%„ Zd&d'„ ZeZd(d)„ Zd*d+„ Zd,d-„ ZeZd.d/„ Zd0d1„ Z d2d3„ Z!d4d5„ Z"d6d7„ Z#d8d9„ Z$d:d;„ Z%d<d=„ Z&d>d?„ Z'eZ(d@dA„ Z)dBdC„ Z*dDdE„ Z+dFdG„ Z,dHdI„ Z-dJdK„ Z.dLdM„ Z/dNdO„ Z0e dP¡j1fdQdR„Z2dSdT„ Z3eZ4dUdV„ Z5dWdX„ Z6dYdZ„ Z7d[d\„ Z8d]d^„ Z9d_d`„ Z:eZ;dadb„ Z<dcdd„ Z=dedf„ Z>dgdh„ Z?didj„ Z@dkdl„ ZAdmdn„ ZBdodp„ ZCdqdr„ ZDdsdt„ ZEdudv„ ZFdwdx„ ZGdydz„ ZHd{d|„ ZId}d~„ ZJdd€„ ZKdd‚„ ZLdƒd„„ ZMd…d†„ ZNd‡dˆ„ ZOd‰dŠ„ ZPd‹dŒ„ ZQddŽ„ ZRdd„ ZSeZTd‘d’„ ZUd“d”„ ZVd•d–„ ZWd—d˜„ ZXd™dš„ ZYd›dœ„ ZZddž„ Z[dŸd „ Z\d¡d¢„ Z]d£d¤„ Z^d¥d¦„ Z_d§d¨„ Z`d©dª„ Zad«d¬„ Zbd­d®„ Zcd¯d°„ Zdd±d²„ Zed³d´„ Zfdµd¶„ Zgd·d¸„ Zhd¹dº„ Zid»d¼„ ZjeZkd½d¾„ Zld¿dÀ„ ZmdÁdÂ„ ZndÃdÄ„ ZodÅdÆ„ ZpdÇdÈ„ ZqdÉdÊ„ ZrdËdÌ„ ZseZtdÍdÎ„ ZudÏdÐ„ ZvdÑdÒ„ ZwdÓdÔ„ ZxdÕdÖ„ Zyd×dØ„ ZzdÙdÚ„ Z{dÛdÜ„ Z|dÝdÞ„ Z}dßdà„ Z~dádâ„ Zdãdä„ Z€dådæ„ Zdçdè„ Z‚dédê„ Zƒdëdì„ Z„dídî„ Z…dïdð„ Z†dñdò„ Z‡dódô„ Zˆdõdö„ Z‰eZŠd{dødù„Z‹dúdû„ ZŒdüdý„ Zdþdÿ„ ZŽd d„ Zdd„ Zdd„ Z‘dd„ Z’dd	„ Z“d
d„ Z”dd„ Z•dd„ Z–dd„ Z—dd„ Z˜dd„ Z™dd„ Zšdd„ Z›dd„ Zœdd„ Zdd„ Zžd d!„ ZŸd"d#„ Z d$d%„ Z¡d&d'„ Z¢d(d)„ Z£eZ¤d*d+„ Z¥d,d-„ Z¦d.d/„ Z§d0d1„ Z¨d2d3„ Z©eZªd4d5„ Z«d6d7„ Z¬d8d9„ Z­d:d;„ Z®d<d=„ Z¯d>d?„ Z°d@dA„ Z±dBdC„ Z²dDdE„ Z³dFdG„ Z´dHdI„ ZµdJdK„ Z¶dLdM„ Z·dNdO„ Z¸dPdQ„ Z¹dRdS„ ZºdTdU„ Z»dVdW„ Z¼dXdY„ Z½dZd[„ Z¾eZ¿d\d]„ ZÀd^d_„ ZÁd`da„ ZÂdbdc„ ZÃddde„ ZÄdfdg„ ZÅdhdi„ ZÆdjdk„ ZÇdldm„ ZÈdndo„ ZÉdpdq„ ZÊdrds„ ZËdtdu„ ZÌdvdw„ ZÍeZÎdxdy„ ZÏd!S (|  r
   Ú z	\S+| +|\nz\.\wz)Man page generated from reStructuredText.c                 C   sò   t j | |¡ |j | _}|j}t ||j¡| _g | _	g | _
g | _d| _g | _d| _g | _d| _d | _g | _dddddg ddddœ	| _g | _i | _d | _d | _d | _d| _d| _d| _g | _d| _dg| _dddd	d
dddd	ddddddœ| _d S )Nr   r:   r&   )	ÚtitleÚtitle_upperÚsubtitleÚmanual_sectionÚmanual_groupÚauthorÚdateÚ	copyrightÚversionF)z.INDENT %.1f
z
.UNINDENT
)z.TPr:   )ú.TP
.B r-   )z\fBú\fP)z.sp
.nf
.ft C
z
.ft P
.fi
)ú.TP
r:   )z\fI\%rE   )z\fIrE   )ú
.B r-   )ú.SS )z
.nf
z
.fi
)ÚindentÚdefinition_list_itemÚ
field_nameÚliteralÚliteral_blockÚoption_list_itemÚ	referenceÚemphasisÚstrongÚtermÚtitle_referenceútopic-titleúsidebar-titleÚproblematic)r   ÚNodeVisitorr	   ÚsettingsZlanguage_coder   Zget_languageÚreporterÚlanguageÚheadÚbodyÚfootÚsection_levelÚcontextZtopic_classÚcolspecsZ	compact_pZcompact_simpleÚ
_list_charÚ_docinfoÚ_docinfo_keysÚ_docinfo_namesÚ_in_docinfoÚ_field_nameÚ_active_tableÚ_in_literalÚheader_writtenÚ_line_blockÚauthorsÚ_indentÚdefs)r   r   rX   Zlcoder   r   r   r	   ª   s`   ù	îzTranslator.__init__c                    s&   d‰ d  ‡ fdd„| d¡D ƒ¡}|S )zPReturn commented version of the passed text WITHOUT end of
        line/comment.z.\" r:   c                    s   g | ]}ˆ | d  ‘qS )r-   r   )Ú.0Zin_line©Úprefixr   r   Ú
<listcomp>õ   s    ÿz,Translator.comment_begin.<locals>.<listcomp>r-   )r1   Úsplit)r   r5   Zout_textr   ro   r   Úcomment_beginñ   s
   ÿzTranslator.comment_beginc                 C   s   |   |¡d S )z,Return commented version of the passed text.ú.
)rs   ©r   r5   r   r   r   Úcommentù   s   zTranslator.commentc                 C   s8   t | jƒdkr| jd d dkr| j d¡ dS dS dS )z7Ensure the last line in body is terminated by new line.r   r'   r-   N)r)   r\   r    r   r   r   r   Ú
ensure_eolý   s    ÿzTranslator.ensure_eolc                 C   s  | j s|  ¡  tt| jƒd ddƒD ]o}| j| dkr| j|d  dd… dv r.d| j|< q| j|d  dd	… d
krN| j|d  dd… dkrNd| j|< q| j|d  dkr| j | j|d  ¡s| j|d	  dd… dks|| j|d	  dd… dkrd| j|< qd | j| j | j	 ¡S )z0Return the final formatted document as a string.r&   r   r'   r%   Né   )z.BI z.IP rt   é   ú.B é   rF   r-   r   rD   rG   r:   )
ri   Úappend_headerr2   r)   r\   Úpossibly_a_roff_commandÚmatchr1   r[   r]   )r   r7   r   r   r   r     s&   ÿÿ
€zTranslator.astextc                 C   s   |  dd¡}|  dd¡}|S )Nõ   Â z\ u   â€ z\(dg)Úreplaceru   r   r   r   Ú	deunicode  s   zTranslator.deunicodec                 C   st   |  ¡ }| dd¡}g d¢}|D ]
\}}| ||¡}q|  |¡}| d¡r)d| }| jr2| dd¡}| j |¡ d S )Nú\z\e))ú-z\-)ú'z\(aq)õ   Â´z\')ú`z\(ga)ú"z\(dqÚ.z\&z
.z
\&.)r   r€   r   Ú
startswithrh   r\   r    )r   Únoder5   Zreplace_pairsZin_charZ
out_markupr   r   r   Ú
visit_Text  s   

zTranslator.visit_Textc                 C   ó   d S r   r   ©r   rŠ   r   r   r   Údepart_Text3  ó   zTranslator.depart_Textc                    s~   G ‡ fdd„dƒ}dˆ v r| j  |ˆ d ƒ¡ n| j  |dƒ¡ t| j ƒdkr3|  | j d  ¡ ¡ d S |  | j d  ¡ ¡ d S )Nc                       s:   e Zd ZdddœZ‡ fdd„Zdd„ Zdd	„ Zd
d„ ZdS )z'Translator.list_start.<locals>.EnumCharz\(buz\(em)ÚbulletÚemdashc                    sÎ   || _ dˆ v rˆ d d | _nd| _d| _|dkr3tttˆ jƒƒƒ| _|  jtt| jƒƒd 7  _d S |dkrG|  jtdƒd 7  _d| _d S |d	kr[|  jtd
ƒd 7  _d| _d S | d¡red| _d S d S )Nr+   r&   r   r{   ÚarabicÚ
loweralphaÚary   Ú
upperalphaÚAÚromané   )Ú_styleÚ_cntrl   r)   ÚstrÚchildrenÚordr4   )r   Ústyle©rŠ   r   r   r	   =  s"    



ÿz0Translator.list_start.<locals>.EnumChar.__init__c                 S   s¤   | j dkr| j| j  S | j dkr| j| j  S |  jd7  _| j dkr'd| j S | j dv r1d| j S | j  d¡rMt | j¡d	 }| j  d
¡rI| ¡ S | ¡ S d| j S )Nr   r‘   r&   r’   z%d.)r“   r•   z%c.r—   rˆ   Úupper)	r™   Ú
enum_stylerš   r4   r—   ZtoRomanr‰   r    Úlower)r   Úresr   r   r   Ú__next__R  s   






z0Translator.list_start.<locals>.EnumChar.__next__c                 S   s   | j S r   )rl   r   r   r   r   Ú	get_widthe  s   z1Translator.list_start.<locals>.EnumChar.get_widthc                 S   s   dt | jƒ S )Nzenum_style-%s)Úlistr™   r   r   r   r   Ú__repr__h  ó   z0Translator.list_start.<locals>.EnumChar.__repr__N)r   r   r   r¡   r	   r¤   r¥   r§   r   rŸ   r   r   ÚEnumChar7  s    þr©   Zenumtyper   r&   éþÿÿÿr'   )ra   r    r)   rI   r¥   )r   rŠ   r©   r   rŸ   r   Ú
list_start6  s   4zTranslator.list_startc                 C   s   |   ¡  | j ¡  d S r   )Údedentra   Úpopr   r   r   r   Úlist_endu  s   zTranslator.list_endc                 C   s   d}|| j  S )Nzx.TH "%(title_upper)s" %(manual_section)s "%(date)s" "%(version)s" "%(manual_group)s"
.SH NAME
%(title)s \- %(subtitle)s
)rb   )r   Útmplr   r   r   Úheadery  s   
zTranslator.headerc                 C   s0   | j rdS | j t¡ | j |  ¡ ¡ d| _ dS )z#append header with .TH and .SH NAMENr&   )ri   r[   r    Ú	MACRO_DEFr°   r   r   r   r   r|   €  s
   
zTranslator.append_headerc                 C   ó   |   |d¡ d S )NÚaddress©Úvisit_docinfo_itemr   r   r   r   Úvisit_address‹  r"   zTranslator.visit_addressc                 C   rŒ   r   r   r   r   r   r   Údepart_addressŽ  r   zTranslator.depart_addressNc                 C   s\   |r'| j  d¡ d| jd d | jj ||¡ ¡ | jd d f }| j  |¡ |  |¡ d S )Nr%   z%s%s:%s
rQ   r   r&   )r\   r    rm   rZ   ÚlabelsÚgetr    Úvisit_block_quote©r   rŠ   Únamer   r   r   Úvisit_admonition‘  s   	ýzTranslator.visit_admonitionc                 C   ó   |   |¡ d S r   )Údepart_block_quoter   r   r   r   Údepart_admonition¥  r¨   zTranslator.depart_admonitionc                 C   r²   )NZ	attention©r½   r   r   r   r   Úvisit_attention¨  r"   zTranslator.visit_attentionc                 C   s>   |dkr| j |  | ¡ ¡ n| ¡ | j |< | j |¡ tj‚©Nr@   )rb   r    r   rc   r   ÚSkipNoder»   r   r   r   rµ   ­  s
   zTranslator.visit_docinfo_itemc                 C   rŒ   r   r   r   r   r   r   Údepart_docinfo_itemµ  r   zTranslator.depart_docinfo_itemc                 C   r²   rÃ   r´   r   r   r   r   Úvisit_author¸  r"   zTranslator.visit_authorc                 C   rŒ   r   r   r   r   r   r   Úvisit_authors½  ó   zTranslator.visit_authorsc                 C   rŒ   r   r   r   r   r   r   Údepart_authorsÁ  r   zTranslator.depart_authorsc                 C   s   |   t¡ |   d¡ d S )Nr   )rI   ÚBLOCKQOUTE_INDENTr   r   r   r   rº   Ä  s   
zTranslator.visit_block_quotec                 C   ó   |   ¡  |   ¡  d S r   ©r¬   r   r   r   r   r¿   Ê  ó   zTranslator.depart_block_quotec                 C   r¾   r   ©r«   r   r   r   r   Úvisit_bullet_listÎ  r¨   zTranslator.visit_bullet_listc                 C   ó   |   ¡  d S r   ©r®   r   r   r   r   Údepart_bullet_listÑ  ó   zTranslator.depart_bullet_listc                 C   rŒ   r   r   r   r   r   r   Úvisit_captionÔ  r   zTranslator.visit_captionc                 C   rŒ   r   r   r   r   r   r   Údepart_caption×  r   zTranslator.depart_captionc                 C   r²   )NZcautionrÁ   r   r   r   r   Úvisit_cautionÚ  r"   zTranslator.visit_cautionc                 C   s0   |  ¡  d d¡d }| ¡ }| j d| ¡ d S )Nr&   r   ú.IP [%s] 5
)r   rr   Ústripr\   r    )r   rŠ   Únumr   r   r   Úvisit_citationß  s   zTranslator.visit_citationc                 C   rŒ   r   r   r   r   r   r   Údepart_citationä  r   zTranslator.depart_citationc                 C   s   | j  d| ¡  d ¡ tj‚©Nú[ú])r\   r    r   r   rÄ   r   r   r   r   Úvisit_citation_referenceç  s   z#Translator.visit_citation_referencec                 C   rŒ   r   r   r   r   r   r   Úvisit_classifierë  r   zTranslator.visit_classifierc                 C   rŒ   r   r   r   r   r   r   Údepart_classifierî  r   zTranslator.depart_classifierc                 C   s   | j  |¡ d S r   )r`   r    r   r   r   r   Úvisit_colspecñ  r"   zTranslator.visit_colspecc                 C   rŒ   r   r   r   r   r   r   Údepart_colspecô  r   zTranslator.depart_colspecc                 C   s   | j  ddt| jƒ  ¡ d S )Nz%s.
zL )r\   r    r)   r`   r   r   r   r   Úwrite_colspecs÷  s   zTranslator.write_colspecsz-(?=-)c                 C   s   | j  |  | ¡ ¡¡ tj‚r   )r\   r    rv   r   r   rÄ   )r   rŠ   Úsubr   r   r   Úvisit_commentú  s   zTranslator.visit_commentc                 C   r²   )NÚcontactr´   r   r   r   r   Úvisit_contactÿ  r"   zTranslator.visit_contactc                 C   rŒ   r   r   r   r   r   r   Úvisit_container  r   zTranslator.visit_containerc                 C   rŒ   r   r   r   r   r   r   Údepart_container  r   zTranslator.depart_containerc                 C   rŒ   r   r   r   r   r   r   Úvisit_compound
  r   zTranslator.visit_compoundc                 C   rŒ   r   r   r   r   r   r   Údepart_compound  r   zTranslator.depart_compoundc                 C   r²   )NrB   r´   r   r   r   r   Úvisit_copyright  r"   zTranslator.visit_copyrightc                 C   r²   )NZdangerrÁ   r   r   r   r   Úvisit_danger  r"   zTranslator.visit_dangerc                 C   r²   )NrA   r´   r   r   r   r   Ú
visit_date  r"   zTranslator.visit_datec                 C   rŒ   r   r   r   r   r   r   Úvisit_decoration  r   zTranslator.visit_decorationc                 C   rŒ   r   r   r   r   r   r   Údepart_decoration  r   zTranslator.depart_decorationc                 C   rŒ   r   r   r   r   r   r   Úvisit_definition!  r   zTranslator.visit_definitionc                 C   rŒ   r   r   r   r   r   r   Údepart_definition$  r   zTranslator.depart_definitionc                 C   ó   |   t¡ d S r   )rI   ÚDEFINITION_LIST_INDENTr   r   r   r   Úvisit_definition_list'  r¨   z Translator.visit_definition_listc                 C   rÐ   r   rÌ   r   r   r   r   Údepart_definition_list*  rÓ   z!Translator.depart_definition_listc                 C   ó   | j  | jd d ¡ d S )NrJ   r   ©r\   r    rm   r   r   r   r   Úvisit_definition_list_item-  ó   z%Translator.visit_definition_list_itemc                 C   rø   )NrJ   r&   rù   r   r   r   r   Údepart_definition_list_item0  rû   z&Translator.depart_definition_list_itemc                 C   rŒ   r   r   r   r   r   r   Úvisit_description3  r   zTranslator.visit_descriptionc                 C   rŒ   r   r   r   r   r   r   Údepart_description6  r   zTranslator.depart_descriptionc                 C   s
   d| _ d S ©Nr&   )re   r   r   r   r   Úvisit_docinfo9  s   
zTranslator.visit_docinfoc                 C   s   d | _ |  ¡  d S r   )re   r|   r   r   r   r   Údepart_docinfo<  s   zTranslator.depart_docinfoc                 C   s    | j  | jd d ¡ d| _d S )NrM   r   T)r\   r    rm   rh   r   r   r   r   Úvisit_doctest_blockA  s   
zTranslator.visit_doctest_blockc                 C   s    d| _ | j | jd d ¡ d S ©NFrM   r&   )rh   r\   r    rm   r   r   r   r   Údepart_doctest_blockE  s   zTranslator.depart_doctest_blockc                 C   s&   | j  |  | j¡ ¡ d ¡ d| _d S )Nr-   r   )r[   r    rv   Údocument_startÚrstripri   r   r   r   r   Úvisit_documentI  s   
zTranslator.visit_documentc                 C   s  | j d r| j dd | j d ¡ ¡ d}| jD ]Z}|dkrN| j d| jj ||¡| jd d d | jd d t	 | j | | jd d	 | jd d	 f ¡ q||vrr|| j
v r]| j
| }n| jj ||¡}| j d
|| j | f ¡ q| j d rƒ| j d| j d  ¡ | j |  d¡¡ d S )Nr@   z.SH AUTHOR
%s
z, )	r@   rB   rA   r?   r>   r=   r;   r<   rC   r³   z
%s:
%s%s.nf
%s
.fi
%s%srI   r   r&   z
%s: %s
rB   z.SH COPYRIGHT
%s
z%Generated by docutils manpage writer.)rb   r\   r    r1   rc   rZ   r¸   r¹   rm   rÊ   rd   rv   )r   rŠ   Úskipr¼   Úlabelr   r   r   Údepart_documentO  s4   
ÿ

ú
€
ÿzTranslator.depart_documentc                 C   rø   )NrP   r   rù   r   r   r   r   Úvisit_emphasisk  rû   zTranslator.visit_emphasisc                 C   rø   )NrP   r&   rù   r   r   r   r   Údepart_emphasisn  rû   zTranslator.depart_emphasisc                 C   sJ   d|v r| j jjd|d d|v r| j jjd|d | j t| jƒ¡ d S )NZmorerowsz""table row spanning" not supported©Z	base_nodeZmorecolsz#"table cell spanning" not supported)r   rY   Úwarningr_   r    r)   r\   r   r   r   r   Úvisit_entryq  s   ÿÿzTranslator.visit_entryc                 C   s0   | j  ¡ }| j | j|d … ¡ | j|d …= d S r   )r_   r­   rg   r,   r\   )r   rŠ   r+   r   r   r   Údepart_entry{  s   
zTranslator.depart_entryc                 C   r¾   r   rÎ   r   r   r   r   Úvisit_enumerated_list€  r¨   z Translator.visit_enumerated_listc                 C   rÐ   r   rÑ   r   r   r   r   Údepart_enumerated_listƒ  rÓ   z!Translator.depart_enumerated_listc                 C   r²   )NÚerrorrÁ   r   r   r   r   Úvisit_error†  r"   zTranslator.visit_errorc                 C   rŒ   r   r   r   r   r   r   Úvisit_field‹  r   zTranslator.visit_fieldc                 C   rŒ   r   r   r   r   r   r   Údepart_fieldŽ  r   zTranslator.depart_fieldc                 C   s:   | j r| j ¡  dd¡}| j| j|< |  ||¡ tj‚d S )Nr/   Ú_)re   rf   r¢   r€   rd   rµ   r   rÄ   )r   rŠ   Zname_normalizedr   r   r   Úvisit_field_body‘  s   üzTranslator.visit_field_bodyc                 C   rŒ   r   r   r   r   r   r   Údepart_field_body˜  r   zTranslator.depart_field_bodyc                 C   rô   r   )rI   ÚFIELD_LIST_INDENTr   r   r   r   Úvisit_field_list›  r¨   zTranslator.visit_field_listc                 C   rÐ   r   rÌ   r   r   r   r   Údepart_field_listž  rÓ   zTranslator.depart_field_listc                 C   s0   | j r| ¡ | _tj‚| j | jd d ¡ d S )NrK   r   )re   r   rf   r   rÄ   r\   r    rm   r   r   r   r   Úvisit_field_name¡  s   
zTranslator.visit_field_namec                 C   rø   )NrK   r&   rù   r   r   r   r   Údepart_field_name¨  rû   zTranslator.depart_field_namec                 C   s   |   d¡ |   d¡ d S )Ng      @r   )rI   r   r   r   r   Úvisit_figure«  s   
zTranslator.visit_figurec                 C   rË   r   rÌ   r   r   r   r   Údepart_figure¯  rÍ   zTranslator.depart_figurec                 C   ó   | j jjd|d d S )Nz"footer" not supportedr  ©r   rY   r  r   r   r   r   Úvisit_footer³  ó   

ÿzTranslator.visit_footerc                 C   rŒ   r   r   r   r   r   r   Údepart_footer·  r   zTranslator.depart_footerc                 C   s6   |  ¡  d d¡\}}| ¡ }| j d|  |¡ ¡ d S )Nr&   r×   )r   rr   rØ   r\   r    r   )r   rŠ   rÙ   r5   r   r   r   Úvisit_footnoteº  s   zTranslator.visit_footnotec                 C   rŒ   r   r   r   r   r   r   Údepart_footnote¿  r   zTranslator.depart_footnotec                 C   r!  )Nz!"footnote_backrefs" not supportedr  r"  r   r   r   r   Úfootnote_backrefsÂ  r$  zTranslator.footnote_backrefsc                 C   s$   | j  d|  | ¡ ¡ d ¡ tj‚rÜ   )r\   r    r   r   r   rÄ   r   r   r   r   Úvisit_footnote_referenceÆ  s   z#Translator.visit_footnote_referencec                 C   rŒ   r   r   r   r   r   r   Údepart_footnote_referenceÊ  r   z$Translator.depart_footnote_referencec                 C   rŒ   r   r   r   r   r   r   Úvisit_generatedÍ  r   zTranslator.visit_generatedc                 C   rŒ   r   r   r   r   r   r   Údepart_generatedÐ  r   zTranslator.depart_generatedc                 C   s   t | ¡ ƒ‚r   )ÚNotImplementedErrorr   r   r   r   r   Úvisit_headerÓ  rÓ   zTranslator.visit_headerc                 C   rŒ   r   r   r   r   r   r   Údepart_headerÖ  r   zTranslator.depart_headerc                 C   r²   )NÚhintrÁ   r   r   r   r   Ú
visit_hintÙ  r"   zTranslator.visit_hintc                 C   ó   | j  d¡ d S )Nz\s-2\d©r\   r    r   r   r   r   Úvisit_subscriptÞ  r"   zTranslator.visit_subscriptc                 C   r2  )Nz\u\s0r3  r   r   r   r   Údepart_subscriptá  r"   zTranslator.depart_subscriptc                 C   r2  )Nz\s-2\ur3  r   r   r   r   Úvisit_superscriptä  r"   zTranslator.visit_superscriptc                 C   r2  )Nz\d\s0r3  r   r   r   r   Údepart_superscriptç  r"   zTranslator.depart_superscriptc                 C   r2  )Nz\(em r3  r   r   r   r   Úvisit_attributionê  r"   zTranslator.visit_attributionc                 C   r2  ©Nr-   r3  r   r   r   r   Údepart_attributioní  r"   zTranslator.depart_attributionc                 C   sf   | j jjd|d g }d|jv r| |jd ¡ d|jv r%| |jd ¡ | j dd |¡ ¡ tj‚)Nz"image" not supportedr  ZaltZuriz[image: %s]
ú/)	r   rY   r  Z
attributesr    r\   r1   r   rÄ   )r   rŠ   r5   r   r   r   Úvisit_imageð  s   
ÿ

zTranslator.visit_imagec                 C   r²   )NZ	importantrÁ   r   r   r   r   Úvisit_importantû  r"   zTranslator.visit_importantc                 C   rŒ   r   r   r   r   r   r   Úvisit_inline   r   zTranslator.visit_inlinec                 C   rŒ   r   r   r   r   r   r   Údepart_inline  r   zTranslator.depart_inlinec                 C   sD   t |jtjƒst |jtjƒrtj‚| jjjd|d | j	 
d¡ d S )Nz"unsupported "label"r  rÝ   )Ú
isinstanceÚparentr   ZfootnoteZcitationrÄ   r   rY   r  r\   r    r   r   r   r   Úvisit_label  s   ÿ
ÿzTranslator.visit_labelc                 C   r2  )Nz]
r3  r   r   r   r   Údepart_label  r"   zTranslator.depart_labelc                 C   rŒ   r   r   r   r   r   r   Úvisit_legend  r   zTranslator.visit_legendc                 C   rŒ   r   r   r   r   r   r   Údepart_legend  r   zTranslator.depart_legendc                 C   s8   |  j d7  _ | j dkr| j d¡ d S | j d¡ d S )Nr&   z.nf
z.in +2
©rj   r\   r    r   r   r   r   Úvisit_line_block  s   
zTranslator.visit_line_blockc                 C   sD   |  j d8  _ | j dkr| j d¡ | j d¡ d S | j d¡ d S )Nr&   r   z.fi
r%   z.in -2
rF  r   r   r   r   Údepart_line_block$  s
   
zTranslator.depart_line_blockc                 C   rŒ   r   r   r   r   r   r   Ú
visit_line,  r   zTranslator.visit_linec                 C   r2  r9  r3  r   r   r   r   Údepart_line/  r"   zTranslator.depart_linec                 C   s,   | j  dt| jd ƒ| jd  ¡ f ¡ d S )Nz
.IP %s %d
r'   )r\   r    Únextra   r¥   r   r   r   r   Úvisit_list_item2  s   þzTranslator.visit_list_itemc                 C   rŒ   r   r   r   r   r   r   Údepart_list_item8  r   zTranslator.depart_list_itemc                 C   rø   )NrL   r   rù   r   r   r   r   Úvisit_literal;  rû   zTranslator.visit_literalc                 C   rø   )NrL   r&   rù   r   r   r   r   Údepart_literal>  rû   zTranslator.depart_literalc                 C   s4   |   t¡ |   d¡ | j | jd d ¡ d| _d S )Nr   rM   T)rI   ÚLITERAL_BLOCK_INDENTr\   r    rm   rh   r   r   r   r   Úvisit_literal_blockA  s   


zTranslator.visit_literal_blockc                 C   s0   d| _ | j | jd d ¡ |  ¡  |  ¡  d S r  )rh   r\   r    rm   r¬   r   r   r   r   Údepart_literal_blockI  s   zTranslator.depart_literal_blockc                 C   ó    | j jjd|d |  |¡ d S )Nz"math" role not supportedr  )r   rY   r  rN  r   r   r   r   Ú
visit_mathO  ó   
ÿzTranslator.visit_mathc                 C   r¾   r   )rO  r   r   r   r   Údepart_mathT  r¨   zTranslator.depart_mathc                 C   rS  )Nz"math" directive not supportedr  )r   rY   r  rQ  r   r   r   r   Úvisit_math_blockW  rU  zTranslator.visit_math_blockc                 C   r¾   r   )rR  r   r   r   r   Údepart_math_block\  r¨   zTranslator.depart_math_blockc                 C   r²   )NZnoterÁ   r   r   r   r   Ú
visit_notef  r"   zTranslator.visit_noteç      à?c                 C   s4   | j d }| j  |¡ | j | jd d | ¡ d S )Nr'   rI   r   )rl   r    r\   rm   )r   ZbyÚstepr   r   r   rI   k  s   
zTranslator.indentc                 C   s$   | j  ¡  | j | jd d ¡ d S )NrI   r&   )rl   r­   r\   r    rm   r   r   r   r   r¬   q  s   
zTranslator.dedentc                 C   rô   r   )rI   ÚOPTION_LIST_INDENTr   r   r   r   Úvisit_option_listu  r¨   zTranslator.visit_option_listc                 C   rÐ   r   rÌ   r   r   r   r   Údepart_option_listx  rÓ   zTranslator.depart_option_listc                 C   rø   )NrN   r   rù   r   r   r   r   Úvisit_option_list_item{  ó   z!Translator.visit_option_list_itemc                 C   rø   )NrN   r&   rù   r   r   r   r   Údepart_option_list_item  rû   z"Translator.depart_option_list_itemc                 C   s.   | j  d¡ | j  t| jƒ¡ | j  d¡ d S )Nrz   r   )r_   r    r)   r\   r   r   r   r   Úvisit_option_group‚  s   zTranslator.visit_option_groupc                 C   sR   | j  ¡  | j  ¡ }| j|d … }| j|d …= | j d| j  ¡ d |¡f ¡ d S )Nz%s%s
r:   )r_   r­   r\   r    r1   )r   rŠ   Zstart_positionr5   r   r   r   Údepart_option_groupŒ  s
   

$zTranslator.depart_option_groupc                 C   s`   | j d dkr| j d dkr| j d¡ n| j d¡ | j d dkr(| j d¡ | j d¡ d S )	Nr'   r   éýÿÿÿú.BIz\fR,\fB z\fP,\fB r‚   r/   )r_   r\   r    r   r   r   r   Úvisit_option“  s   zTranslator.visit_optionc                 C   s   | j d  d7  < d S )Nr'   r&   )r_   r   r   r   r   Údepart_optionž  s   zTranslator.depart_optionc                 C   rŒ   r   r   r   r   r   r   Úvisit_option_string¡  rÈ   zTranslator.visit_option_stringc                 C   rŒ   r   r   r   r   r   r   Údepart_option_string¥  r   zTranslator.depart_option_stringc                 C   sh   d| j d< |d dkr| j d|d  ¡ d S | jt| jƒd   d¡r,| j d¡ d S | j d¡ d S )	Nre  rd  Ú	delimiterr/   z\fB%s r&   ú=z \ )r_   r\   r    r)   r4   r   r   r   r   Úvisit_option_argument¨  s   
z Translator.visit_option_argumentc                 C   rŒ   r   r   r   r   r   r   Údepart_option_argument³  r   z!Translator.depart_option_argumentc                 C   r²   )NZorganizationr´   r   r   r   r   Úvisit_organization¶  r"   zTranslator.visit_organizationc                 C   rŒ   r   r   r   r   r   r   Údepart_organization¹  r   zTranslator.depart_organizationc                 C   sL   t |jd tjƒ}|jj|d … D ]}t |tjƒrq||u r! dS  dS dS )Nr   r&   )r@  rA  r   r	  rœ   Z	Invisible)r   rŠ   ÚfirstÚchildr   r   r   Úfirst_child¼  s   zTranslator.first_childc                 C   s(   |   ¡  |  |¡s| j d¡ d| _d S )Nr%   T)rw   rr  r\   r    rh   r   r   r   r   Úvisit_paragraphÆ  s   

zTranslator.visit_paragraphc                 C   s   d| _ | j d¡ d S )NFr-   )rh   r\   r    r   r   r   r   Údepart_paragraphÒ  s   zTranslator.depart_paragraphc                 C   rø   )NrV   r   rù   r   r   r   r   Úvisit_problematicÖ  rû   zTranslator.visit_problematicc                 C   rø   )NrV   r&   rù   r   r   r   r   Údepart_problematicÙ  rû   zTranslator.depart_problematicc                 C   s(   |  d¡dkr| j | ¡ d ¡ tj‚)NÚformatr   r-   )r¹   r\   r    r   r   rÄ   r   r   r   r   Ú	visit_rawÜ  s   zTranslator.visit_rawc                 C   ó   | j  | jd d ¡ dS )zE.g. link or email address.rO   r   Nrù   r   r   r   r   Úvisit_referenceâ  r`  zTranslator.visit_referencec                 C   rø   )NrO   r&   rù   r   r   r   r   Údepart_referenceæ  s   zTranslator.depart_referencec                 C   r²   )NÚrevisionr´   r   r   r   r   Úvisit_revisionë  r"   zTranslator.visit_revisionc                 C   s   | j  ¡  d S r   )rg   r!   r   r   r   r   Ú	visit_rowð  r¨   zTranslator.visit_rowc                 C   rŒ   r   r   r   r   r   r   Ú
depart_rowó  r   zTranslator.depart_rowc                 C   s   |  j d7  _ d S rÿ   ©r^   r   r   r   r   Úvisit_sectionö  ó   zTranslator.visit_sectionc                 C   s   |  j d8  _ d S rÿ   r€  r   r   r   r   Údepart_sectionù  r‚  zTranslator.depart_sectionc                 C   r²   )NÚstatusr´   r   r   r   r   Úvisit_statusü  r"   zTranslator.visit_statusc                 C   rø   )NrQ   r   rù   r   r   r   r   Úvisit_strong  rû   zTranslator.visit_strongc                 C   rø   )NrQ   r&   rù   r   r   r   r   Údepart_strong  rû   zTranslator.depart_strongc                 C   ó   t j‚)zInternal only.©r   rÄ   r   r   r   r   Úvisit_substitution_definition  ó   z(Translator.visit_substitution_definitionc                 C   r!  )Nz&"substitution_reference" not supportedr  r"  r   r   r   r   Úvisit_substitution_reference  s   
ÿz'Translator.visit_substitution_referencec                 C   sr   t |jtjƒr| j | jd d ¡ d S t |jtjƒr#|  |d¡ d S t |jtj	ƒr7| j | jd d ¡ d S d S )NrQ   r   r=   )
r@  rA  r   Úsidebarr\   r    rm   r   rµ   Úsectionr   r   r   r   Úvisit_subtitle  s   ÿzTranslator.visit_subtitlec                 C   s   | j  | jd d d ¡ d S )NrQ   r&   z
.PP
rù   r   r   r   r   Údepart_subtitle  s   zTranslator.depart_subtitlec                 C   s^   i }|  d¡r|d |d< |  d¡rd|d  }nd}| j d|d |d |d	 |f ¡ d S )
NÚidr¼   Úlinez	, line %sr:   z$.IP "System Message: %s/%s (%s:%s)"
ÚtypeÚlevelÚsource)Úhasattrr\   r    )r   rŠ   Úattrr’  r   r   r   Úvisit_system_message  s   


ÿzTranslator.visit_system_messagec                 C   rŒ   r   r   r   r   r   r   Údepart_system_message*  r   z Translator.depart_system_messagec                 C   s   t ƒ | _d S r   )r   rg   r   r   r   r   Úvisit_table-  rÓ   zTranslator.visit_tablec                 C   s$   |   ¡  | j | j ¡ ¡ d | _d S r   )rw   r\   r3   rg   r9   r   r   r   r   Údepart_table0  s   
zTranslator.depart_tablec                 C   rˆ  r   r‰  r   r   r   r   Úvisit_target5  r‹  zTranslator.visit_targetc                 C   rŒ   r   r   r   r   r   r   Úvisit_tbody9  r   zTranslator.visit_tbodyc                 C   rŒ   r   r   r   r   r   r   Údepart_tbody<  r   zTranslator.depart_tbodyc                 C   rø   )NrR   r   rù   r   r   r   r   Ú
visit_term?  rû   zTranslator.visit_termc                 C   rø   )NrR   r&   rù   r   r   r   r   Údepart_termB  rû   zTranslator.depart_termc                 C   rŒ   r   r   r   r   r   r   Úvisit_tgroupE  r   zTranslator.visit_tgroupc                 C   rŒ   r   r   r   r   r   r   Údepart_tgroupH  r   zTranslator.depart_tgroupc                 C   rŒ   r   r   r   r   r   r   Úvisit_theadK  rÈ   zTranslator.visit_theadc                 C   rŒ   r   r   r   r   r   r   Údepart_theadO  rÈ   zTranslator.depart_theadc                 C   r²   )NZtiprÁ   r   r   r   r   Ú	visit_tipS  r"   zTranslator.visit_tipc                 C   sÜ   t |jtjƒr| j | jd d ¡ d S t |jtjƒr(| j | jd d ¡ d S t |jtjƒr7| j d¡ d S | j	dkrO| 
¡ | jd< | 
¡  ¡ | jd< tj‚| j	dkrf| j d|  | 
¡  ¡ ¡ ¡ tj‚| j d	¡ d S )
NrT   r   rU   z.IP "r;   r<   r&   z.SH %s
rH   )r@  rA  r   Ztopicr\   r    rm   r  Ú
admonitionr^   r   rb   r    rÄ   r   r   r   r   r   Úvisit_titleX  s   

zTranslator.visit_titlec                 C   s*   t |jtjƒr| j d¡ | j d¡ d S )Nr‡   r-   )r@  rA  r   r¦  r\   r    r   r   r   r   Údepart_titlej  s   zTranslator.depart_titlec                 C   ry  )zinline citation referencerS   r   Nrù   r   r   r   r   Úvisit_title_referenceo  r`  z Translator.visit_title_referencec                 C   rø   )NrS   r&   rù   r   r   r   r   Údepart_title_references  rû   z!Translator.depart_title_referencec                 C   rŒ   r   r   r   r   r   r   Úvisit_topicv  r   zTranslator.visit_topicc                 C   rŒ   r   r   r   r   r   r   Údepart_topicy  r   zTranslator.depart_topicc                 C   rŒ   r   r   r   r   r   r   Úvisit_sidebar|  r   zTranslator.visit_sidebarc                 C   rŒ   r   r   r   r   r   r   Údepart_sidebar  r   zTranslator.depart_sidebarc                 C   rŒ   r   r   r   r   r   r   Úvisit_rubric‚  r   zTranslator.visit_rubricc                 C   r2  r9  r3  r   r   r   r   Údepart_rubric…  r"   zTranslator.depart_rubricc                 C   r2  )Nz
.sp
.ce
----
r3  r   r   r   r   Úvisit_transitionˆ  s   zTranslator.visit_transitionc                 C   r2  )Nz
.ce 0
.sp
r3  r   r   r   r   Údepart_transitionŽ  r"   zTranslator.depart_transitionc                 C   r²   )NrC   r´   r   r   r   r   Úvisit_version‘  r"   zTranslator.visit_versionc                 C   r²   )Nr  rÁ   r   r   r   r   Úvisit_warning”  r"   zTranslator.visit_warningc                 C   s   t d|jj ƒ‚)Nz$visiting unimplemented node type: %s)r-  Ú	__class__r   r   r   r   r   Úunimplemented_visit™  s   ÿzTranslator.unimplemented_visitr   )rZ  )Ðr   r   r   Ú__doc__ÚreÚcompileZwords_and_spacesr}   r  r	   rs   rv   rw   r   r   r‹   rŽ   r«   r®   r°   r|   r¶   r·   r½   rÀ   rÂ   Zdepart_attentionrµ   rÅ   rÆ   Zdepart_authorrÇ   rÉ   rº   r¿   rÏ   rÒ   rÔ   rÕ   rÖ   Zdepart_cautionrÚ   rÛ   rß   rà   rá   râ   rã   rä   rå   ræ   rè   Zdepart_contactré   rê   rë   rì   rí   rî   Zdepart_dangerrï   rð   rñ   rò   ró   rö   r÷   rú   rü   rý   rþ   r   r  r  r  r  r
  r  r  r  r  r  r  r  Zdepart_errorr  r  r  r  r  r  r  r  r  r   r#  r%  r&  r'  r(  r)  r*  r+  r,  r.  r/  r1  Zdepart_hintr4  r5  r6  r7  r8  r:  r<  r=  Zdepart_importantr>  r?  rB  rC  rD  rE  rG  rH  rI  rJ  rL  rM  rN  rO  rQ  rR  rT  rV  rW  rX  rY  Zdepart_noterI   r¬   r]  r^  r_  ra  rb  rc  rf  rg  rh  ri  rl  rm  rn  ro  rr  rs  rt  ru  rv  rx  rz  r{  r}  Zdepart_revisionr~  r  r  rƒ  r…  Zdepart_statusr†  r‡  rŠ  rŒ  r  r  r˜  r™  rš  r›  rœ  r  rž  rŸ  r   r¡  r¢  r£  r¤  r¥  Z
depart_tipr§  r¨  r©  rª  r«  r¬  r­  r®  r¯  r°  r±  r²  r³  r´  Zdepart_warningr¶  r   r   r   r   r
   £   s˜   

G?

ÿ
	


r
   )r·  Z__docformat__r¸  Údocutilsr   r   r   r—   ÚImportErrorZdocutils.utils.romanÚutilsr  rõ   r\  rÊ   rP  r±   r   r   rW   r
   r   r   r   r   Ú<module>   s$   'ÿ5