
    -Ph7                    v   d Z ddlmZ ddlZddlZddlZddlmZm	Z	 ddl
mZmZ ddlmZmZ ddlmZmZmZ ddlmZ dd	lmZ dd
lmZ ddlmZ er&ddlmZmZ ddlmZm Z  ddl!m"Z"m#Z#m$Z$ ddl%m&Z& ddl'm(Z(  ej)        e*          Z+dZ,de dZ-d"dZ.d#d$dZ/ G d dej0                  Z1 G d  d!e          Z2dS )%z#Custom docutils writer for Texinfo.    )annotationsN)TYPE_CHECKINGcast)nodeswriters)__display_version__addnodes)___admonitionlabels)logging)SphinxTranslator)format_date)collected_footnote)IterableIterator)AnyClassVar)ElementNodeText)TexinfoBuilder)
IndexEntryzn@quotation
%(project)s %(release)s, %(date)s

%(author)s

Copyright @copyright{} %(copyright)s
@end quotation
z\input texinfo   @c -*-texinfo-*-
@c %%**start of header
@setfilename %(filename)s
@documentencoding UTF-8
@ifinfo
@*Generated by Sphinx a  .@*
@end ifinfo
@settitle %(title)s
@defindex ge
@paragraphindent %(paragraphindent)s
@exampleindent %(exampleindent)s
@finalout
%(direntry)s
@c %%**end of header

@copying
%(copying)s
@end copying

@titlepage
@title %(title)s
@insertcopying
@end titlepage
@contents

@c %%** start of user preamble
%(preamble)s
@c %%** end of user preamble

@ifnottex
@node Top
@top %(title)s
@insertcopying
@end ifnottex

@c %%**start of body
%(body)s
@c %%**end of body
@bye
sectionr   returnlist[nodes.section]c                    g }| D ]n}t          |t          j                  r|                    |           2t          |t          j                  r"|                    t          |                     o|S )z7Return a list of subsections for the given ``section``.)
isinstancer   r   appendr   extendfind_subsections)r   resultchilds      V/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/sphinx/writers/texinfo.pyr!   r!   U   st    F 3 3eU]++ 	MM%   eU]++ 	3MM*511222M    sstrsep
str | Nonec                    |                      |          }t          |          D ]5\  }}t          d |D                       r|                                ||<   6|pd                    |          S )zdLike string.capwords() but does not capitalize words that already
    contain a capital letter.
    c              3  >   K   | ]}|                                 V  d S N)islower).0xs     r$   	<genexpr>z!smart_capwords.<locals>.<genexpr>g   s*      ))qqyy{{))))))r%    )split	enumerateall
capitalizejoin)r&   r(   wordsiwords        r$   smart_capwordsr:   a   sy     GGCLLEU## ) )4))D))))) 	)((E!HJ3U###r%   c            	           e Zd ZU dZdZddddgddifd	d
gddifddgddifddgddifffZi Zded<   ded<   dZd fdZ	ddZ
 xZS )TexinfoWriterz0Texinfo writer for generating Texinfo documents.)texinfotexizTexinfo Specific OptionsNzName of the Info filez--texinfo-filenamedefault z	Dir entryz--texinfo-dir-entryDescriptionz--texinfo-dir-descriptionCategoryz--texinfo-dir-categoryMiscellaneouszClassVar[dict[str, Any]]settings_defaultsr'   output)rE   fragmentbuilderr   r   Nonec                V    t                                                       || _        d S r,   )super__init__rG   )selfrG   	__class__s     r$   rK   zTexinfoWriter.__init__   s$    r%   c           	     ~   t          | j        t          j                  sJ | j                            | j        | j                  }t          d|          | _        | j                            |           | j                                         | j	        D ]&}t          | |t          | j        |                     'd S )NTexinfoTranslator)r   documentr   rG   create_translatorr   visitor	walkaboutfinishvisitor_attributessetattrgetattr)rL   rR   attrs      r$   	translatezTexinfoWriter.translate   s    $-88888,00MM/99(((+ 	= 	=DD$d ; ;<<<<	= 	=r%   )rG   r   r   rH   r   rH   )__name__
__module____qualname____doc__	supportedsettings_specrD   __annotations__rU   rK   rY   __classcell__rM   s   @r$   r<   r<   l   s         ::#I 	#$';&<y"oN01Ir?C89Ir?K23i5QR		
	M 354444KKK/     = = = = = = = =r%   r<   c                  	    e Zd ZU dZded<   dddddddddddddZd f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j        d          f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d0Zdd1Zdd3Zdd4Zdd5Z dd6Z!d7Z"d8Z#dd9Z$dd:Z%dd;Z&dd<Z'dd=Z(dd>Z)dd?Z*dd@Z+ddAZ,ddBZ-ddCZ.ddDZ/ddEZ0ddFZ1ddGZ2ddHZ3ddJZ4ddKZ5e4Z6e5Z7ddLZ8ddMZ9ddNZ:ddOZ;ddPZ<ddQZ=ddRZ>ddSZ?ddUZ@ddVZAddWZBddXZCddYZDddZZEdd[ZFdd\ZGdd]ZHdd^ZIdd_ZJdd`ZKddaZLddbZMddcZNdddZOddeZPddfZQddgZRddhZSddiZTddjZUddkZVddlZWddmZXddnZYddoZZddpZ[ddqZ\ddrZ]ddsZ^ddtZ_dduZ`ddvZaddwZbddxZcddyZdddzZedd{Zfdd|Zgdd}Zhdd~ZiddZjddZkddZlddZmddZnddZoddZpddZqddZrddZsddZtddZuddZvddZwddZxddZyddZz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dZddZddZeZeZeZeZeZeZeZeZeZeZeZeZeZeZeZeZeZeZ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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Ð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ؐ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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 xZ S (  rO   Fr   rG   r@      r   )authorbodycopyingdatedirentryexampleindentfilenameparagraphindentpreambleprojectreleasetitlerP   nodes.documentr   rH   c                   t                                          ||           |                                  t                      | _        t                      | _        g | _        i | _        i | _        i | _	        i | _
        |                                  |                                  |                                  |                                  g | _        g | _        g | _        d | _        d| _        d| _        t                      | _        d| _        d| _        g | _        g | _        d| _        d| _        d| _        t                      | _        g | _        d S )Nr   F)rJ   rK   init_settingssetwritten_idsreferenced_idsindices	short_ids
node_names
node_menusrellinkscollect_indicescollect_node_namescollect_node_menuscollect_rellinksrg   contextdescsprevious_sectionsection_level
seen_titlenext_section_idsescape_newlinesescape_hyphenscurfilestackfootnotestackin_production_listin_footnotein_samphandled_abbrs	colwidths)rL   rP   rG   rM   s      r$   rK   zTexinfoTranslator.__init__   s8   7+++%(UU(+.0)+*,02.0!!!!!!!	"$*,
6:*-%% ')OQ"''*uu$&r%   c                |   | j         |                     d           | j        D ]c}|\  }}t          |g| j        |         z             }| j                            d|z             | j                            d| d| d           d| j        rW| j                                        }|| j	        vr.| j                            d
                    |d                     | j        W|                                  d                    | j                  | _        | j        | j        d	<   t          | j        z  | _        d S )
NTop
@node %s,%s,%s,%s
z@unnumbered 


z@anchor{{{}}}@w{{{}}}
z                              r@   rg   )r   add_menurx   tupler|   rg   r   rw   poprv   format
ensure_eolr6   rF   elementsTEMPLATErE   )rL   indexnamecontentpointersrs         r$   rT   zTexinfoTranslator.finish   sG    (MM%   \ 	C 	CE!MD'dVdmD&99::HI4x?@@@IADAAgAAABBBB! 	P#''))A(((	  !:!A!A!X!N!NOOO	 ! 	P
 		** $f.r%   c                
   | j         j        pt          d          }| j         j        pt	          || j         j                  }| j                                        x}| _        |	                    | j
        j        | j
        j        | j
        j        |                     | j         j                  |                     | j         j                  |                     | j         j                  |                     |          d           | j
        j        }|s<| j                            t(          j                  }|r|                                nd}|                     |          pd|d<   |d         sT| j                            d          pd|d<   |d         d	d          d
v r|d         d d	         |d<   |dxx         dz  cc<   | j
        j        r|                     |                     | j
        j                  d|d         z  |                     | j
        j                            }d|                     | j
        j                  d|d|d<   t<          |z  |d<   |	                    | j
        j                   d S )Nz	%b %d, %Y)language)rq   rf   rl   rp   ro   	copyrightri   
<untitled>rq   rl   sourceuntitled>   .rst.txtz.infoz(%s)z@dircategory z
@direntry
z@end direntry
rj   rh   ) config	today_fmtr
   todayr   r   default_elementscopyr   updatesettingsrq   rf   texinfo_filenameescaperp   ro   r   rP   	next_noder   astext	escape_idgettexinfo_dir_entryformat_menu_entryescape_menu
escape_argtexinfo_dir_descriptiontexinfo_dir_categoryCOPYINGtexinfo_elements)rL   r   r   r   rq   
title_nodeentrys          r$   rt   zTexinfoTranslator.init_settings   su   K);Q{^^	! 
[ 4&
 &
 &
 $(#8#=#=#?#??4=](m*6{{4;#677{{4;#677T[%:;;KK&&

 

 
	 
	 
	 ]( 	H00==J+5GJ%%'''<E NN511A\
# 	,#'=#4#4X#>#>#L*HZ 
#BCC(,<<<'/
';CRC'@$Z   G+   =* 		**  !@AA*-- EFF EE t}ABBBB$HZ  &0677777r%   c                z    d fdd j         d<    d            d           fd j        D              _         j                             t          j                  D ]U}t          d	|                    t          j                            }|r|                                nd
} |          |d<   VdS )znGenerates a unique id for each section.

        Assigns the attribute ``node_name`` to each section.
        r   r'   r   c                                        |           }d\  }}||z   j        v s||z   j        v r"|dz  }d|z  }||z   j        v ||z   j        v "||z  }j                            |           | j        |<   |S )N)   r@   r   z<%s>)r   rv   rz   add)r   node_idnthsuffixrL   s       r$   add_node_namez;TexinfoTranslator.collect_node_names.<locals>.add_node_name  s    nnT**GKC& D$444V#t66q#	 & D$444V#t66 vG  )))'+DOG$Nr%   r   	node_nametopc                0    g | ]\  }} |          |fS  r   )r.   r   r   r   s      r$   
<listcomp>z8TexinfoTranslator.collect_node_names.<locals>.<listcomp>   s9     
 
 
/<tW]]4  '*
 
 
r%   znodes.TextElementr   N)r   r'   r   r'   )	rP   rx   findallr   r   r   r   Titularr   )rL   r   rq   r   r   s   `   @r$   r~   z$TexinfoTranslator.collect_node_names  s    	 	 	 	 	 	 &+k"ee
 
 
 
@D
 
 
 },,U];; 	7 	7G,g.?.?.N.NOOE%*<5<<>>>D#0=#6#6GK  	7 	7r%   c                   | j         }| j        g}|                    | j                            t          j                             |D ]>}|                    dd          sJ d t          |          D             }|||d         <   ?| j                            t          j	                  }|r|j
        n| j        }t          |t          j        t          j        z            s| j        }|| j        ur4||d                  }||d         dd         z  }||d<   ||d         = d|d<   | j        D ]%\  }}g ||<   |d                             |           &dS )z1Collect the menu entries for each "node" section.r   Fc                    g | ]
}|d          S )r   r   )r.   r&   s     r$   r   z8TexinfoTranslator.collect_node_menus.<locals>.<listcomp>0  s    FFF!q~FFFr%   r   r   N)r{   rP   r    r   r   r   r   r!   r   rq   parentr   rx   r   )	rL   r{   targetsnodeentriesrq   r   r   _contents	            r$   r   z$TexinfoTranslator.collect_node_menus)  sr   _
"&-t},,U];;<<< 	4 	4D88K/////FF/?/E/EFFFG,3JtK())''44#6ell#u~=>> 	 -Cdm## [!12Gz%(,,G 'Ju3{+,$C"l 	+ 	+ND(!Jtu$$T****	+ 	+r%   c                   | j         }| j        }|D ]	}g d||<   
|                                D ]\  }}|D ]}|||         d<   |                                D ]^\  }}t          |          D ]I\  }}|dk    r||dz
           ||         d<   |t	          |          dz
  k    r||dz            ||         d<   J_	 |d         d         }||d         d<   d||         d<   dS # t
          $ r Y dS w xY w)z@Collect the relative links (next, previous, up) for each "node".)r@   r@   r@      r   r   r   N)r|   r{   itemsr3   len
IndexError)rL   r|   r{   idr   er8   firsts           r$   r   z"TexinfoTranslator.collect_rellinksB  sW   =_
 	( 	(B'<<HRLL%++-- 	$ 	$KB $ $!#A$ &++-- 	5 	5KB"7++ 5 5266&-a!enHRLOGq(((&-a!enHRLO5	'u%a(E "'HUOA!&HUOA	  	 	 	DD	s   9C 
C-,C-r&   r'   c                    |                     dd          }|                     dd          }|                     dd          }|                     dd          }|                     d	d
          }|S )z8Return a string with Texinfo command characters escaped.@z@@{z@{}z@}z``z`@w{`}z''z'@w{'})replacerL   r&   s     r$   r   zTexinfoTranslator.escapec  sf    IIc4  IIc4  IIc4  IIdH%%IIdH%%r%   c                    |                      |          }|                    dd          }d                    |                                                                          }|S )z_Return an escaped string suitable for use as an argument
        to a Texinfo command.
        ,z@comma{}r1   )r   r   r6   r2   stripr   s     r$   r   zTexinfoTranslator.escape_argm  sP     KKNNIIc:&&HHQWWYY%%''r%   c                .   d}|D ]}|                     |d          }t          j        d|          r|                     dd          }d                    |                                                                          }|                     |          S )z=Return an escaped string suitable for node names and anchors.z,:()r1   z[^ .].)r   researchr6   r2   r   r   )rL   r&   	bad_charsbcs       r$   r   zTexinfoTranslator.escape_idx  s    	 	# 	#B		"c""AA9Wa   	$		#s##AHHQWWYY%%''{{1~~r%   c                    |                      |          }|                    dd          }d                    |                                                                          }|S )z3Return an escaped string suitable for menu entries.:;r1   )r   r   r6   r2   r   r   s     r$   r   zTexinfoTranslator.escape_menu  sP    OOAIIc3HHQWWYY%%''r%   c                    | j         r5| j         d         dd         dk    r| j                             d           dS dS dS )z7Ensure the last line in body is terminated by new line.Nr   rg   r   )rL   s    r$   r   zTexinfoTranslator.ensure_eol  sQ    9 	#2rss+t33IT"""""	# 	#33r%   r   r   descc                   ||k    rd| d}n	d| d| d}t          dt          |          dz   dz  f          d                    fd	t          j        |dz
  
          D                       }||                                z   dz   S )Nz* z:: : z.    re   N   r   c              3  (   K   | ]}d z  |z   V  dS )r1   Nr   )r.   loffsets     r$   r0   z6TexinfoTranslator.format_menu_entry.<locals>.<genexpr>  s=       
 
!"C&L1
 
 
 
 
 
r%   )width)maxr   r6   textwrapwrapr   )rL   r   r   r   r&   wdescr   s         @r$   r   z#TexinfoTranslator.format_menu_entry  s    9TAA*T**Y***Ab3t99q=B./00		 
 
 
 
&.mDV&L&L&L
 
 
 
 
 5;;== 4''r%   z
\s+---?\s+r   	list[str]regre.Pattern[str]c                h   |D ]}| j         |         }	 |                    |d          }n# t          $ r |g}Y nw xY wt          |          dk    r|\  }}nd}|                     |          }|                     |          }| j                            |                     |||                     d S )Nr   r   r@   )	rz   r2   	TypeErrorr   r   r   rg   r   r   )rL   r   r  r   r   partsr   s          r$   add_menu_entriesz"TexinfoTranslator.add_menu_entries  s    
  	H 	HE?5)D		$**    5zzQ"
dd##D))D;;t$$DIT33D%FFGGGG	H 	Hs   *::c                     j         |         }|sd S  j                            d                                |           |dk    s j         |d                  r j        j        r j                            d           d S d fd	 j                            d
           |D ]} |            j                            d           d S )N
@menu
r   r   z
@end menu
r   r'   r   rH   c                    j         |          }|sd S j                            d                    j        |                     d                               |           |D ]} |           d S )Nr   r   )r{   rg   r   r   rz   r  )r   r   subentry_add_detailed_menurL   s      r$   r  z6TexinfoTranslator.add_menu.<locals>._add_detailed_menu  s    od+G IJ$++dod.C"D"DJJJKKK!!'***# - -""8,,,,- -r%   z0
@detailmenu
 --- The Detailed Node Listing ---
z
@end detailmenu
@end menu
)r   r'   r   rH   )r{   rg   r   r  r   texinfo_no_detailmenu)rL   r   r   r   r  s   `   @r$   r   zTexinfoTranslator.add_menu  s   /), 	F	%%%g&&&?71:. {0  I_---F	- 	- 	- 	- 	- 	- 	- 		NOOO 	& 	&Eu%%%%	9:::::r%   	width_strc                    t          j        d|          }|s|S |}|                                d d         \  }}|r|dk    rdS |dk    rdt          |          dz  z  }|S )Nz(\d*\.?\d*)\s*(\S*)r   pxr@   %z%d.0ptgDI@)r   matchgroupsfloat)rL   r  r  resamountunits         r$   tex_image_lengthz"TexinfoTranslator.tex_image_length  sy    /;; 	||~~bqb) 	9tt||2S[[eFmmi78C
r%   c           	     V    d fd} j         j        x}rt          |t                    sd}t	          |          }nd	} j                                        D ]|}|j        D ]r}|j         d
|j         }|r||vr ||          	                     j
        j                  \  }}|r+ j                            |j         |||          f           s} j        j        } j
        j        D ];}	|j        |	         r, j                            t!          d          df            d S <d S )Nr   "list[tuple[str, list[IndexEntry]]]	collapsedboolr   r'   c                   dg}| D ]\  }}|D ]}|d         s
                     |d                   }
                    |d          d|d                    }
                    |d                   }
                    |||          }	|                    |	           |                    d           d                    |          S )	Nr	     r   r   r      z
@end menu
r@   )r   get_short_idr   r   r   r6   )r   r  ret_letterr   r   r   sidr   merL   s             r$   generatez3TexinfoTranslator.collect_indices.<locals>.generate  s     -C$+ # # $ # #E 8 ! ++E!H55D++uQx,D,D%(,D,DEEC??5844D//c4@@BJJrNNNN# JJ}%%%773<<r%   TF-Indexz
@printindex ge
)r   r  r  r  r   r'   )r   texinfo_domain_indicesr   r  	frozenset_domainssortedrx   r   r%  rG   docnamesr   	localnameindex_domainr   r
   )
rL   r%  indices_configcheck_namesdomain	index_cls
index_namer   r  docnames
   `         r$   r}   z!TexinfoTranslator.collect_indices  s   	  	  	  	  	  	   "[??> 	nd33 $"!*>!:!:#-..00  !'  I$*K!B!B).!B!BJ" !z'G'G )26):):)C)C-* *&GY  ++%/$HWi88-    +|, 	 	G~g& ##QwZZ1E$FGGG	 	r%   r   r   *dict[str, list[collected_footnote | bool]]c                    d
fdi } |          D ]U}t          d|d                   }|                                                                }t          dg|j        R  d	g||<   V|S )Nnr   r   Iterator[nodes.footnote]c              3     K   t          | t          j                  r| V  d S | j        D ]H}t          |t          j                  rt          |t          j                  r |          E d {V  Id S r,   )r   r   footnotechildrenr	   start_of_filer   )r7  cfootnotes_unders     r$   r>  z<TexinfoTranslator.collect_footnotes.<locals>.footnotes_under  s      !U^,, 6 6 6A!!X%;<< 6 #Au}55 6#2?1#5#55555555	6 6r%   znodes.labelr   r@   F)r7  r   r   r8  )r   r   r   r   r;  )rL   r   fnotesfnlabelnumr>  s         @r$   collect_footnotesz#TexinfoTranslator.collect_footnotes  s    	6 	6 	6 	6 	6 	6 >@!/$'' 	H 	HB1..E,,..&&((C-b?2;???GF3KKr%   r   c                    	 | j         |         }n0# t          $ r# t          | j                   d}|| j         |<   Y nw xY w|S )z-Return a shorter 'id' associated with ``id``.r/   )ry   KeyErrorr   )rL   r   r#  s      r$   r   zTexinfoTranslator.get_short_id  s^    	%.$CC 	% 	% 	%((,,C!$DN2	% 
s    *==r   c                <   |                     d          rd S | j        d         dz   |z   }|                     |          }|                     |          }||fD ]B}|| j        vr7| j                            d|z             | j                            |           Cd S )Nzindex-r   r   z@anchor{%s})
startswithr   r   r   rv   rg   r   r   )rL   r   r   eidr#  s        r$   
add_anchorzTexinfoTranslator.add_anchor)  s    =="" 	Fr"S(2-nnR  ##* 	) 	)B)))	  !3444 $$R(((	) 	)r%   c                z   |                      |          }|                     |          }| j        j        rj| j                            d| d| d           | j                            |           | j                            |                     |                     d S | j                            |           d S )N@ref{,,r   )	r   r   r   texinfo_cross_referencesrg   r   rw   r   r   )rL   r   r   r   r#  s        r$   add_xrefzTexinfoTranslator.add_xref4  s    %%##;/ 	#I5c55T555666##C(((##DNN2$6$677777IT"""""r%   c                    | j                             |                     |                     | j                            |                    dd                     d|v r|                     d|           d S d S )Nr4  r@   :doc)r   r   rC  r   r   rI  rL   r   s     r$   visit_documentz TexinfoTranslator.visit_document@  sy    !!$"8"8">">???  )R!8!8999OOFD))))) r%   c                j    | j                                          | j                                         d S r,   )r   r   r   rQ  s     r$   depart_documentz!TexinfoTranslator.depart_documentF  s2       r%   r   c                    |                      |                                          }| j        r|                    dd          }| j        r|                    dd          }| j                            |           d S )Nr   r1   r&  z@w{-})r   r   r   r   r   rg   r   )rL   r   r&   s      r$   
visit_TextzTexinfoTranslator.visit_TextJ  ss    KK&& 	%		$$$A 	(		#w''A	r%   c                    d S r,   r   rQ  s     r$   depart_TextzTexinfoTranslator.depart_TextS      r%   c                J   | j                             |                    dg                      | j        sd S | j        r!|                     | j        d                    n|                     d           |d         }t          |g| j        |         z             }| j        	                    d|z             t          | j                   D ]}|                     ||           | j                                          t          d|          | _        | xj        dz  c_        d S )Nidsr   r   r   znodes.sectionr   )r   r   r   r   r   r   r   r|   rg   r   r+  rI  clearr   r   )rL   r   r   r   r   s        r$   visit_sectionzTexinfoTranslator.visit_sectionV  s#   $$TXXeR%8%8999 	F  	!MM$/<====MM%   %	)t}Y'??@@	08;<<<.// 	& 	&BOOB%%%%##%%% $_d ; ;ar%   c                &    | xj         dz  c_         d S Nr   )r   rQ  s     r$   depart_sectionz TexinfoTranslator.depart_sectioni  s    ar%   )z@unnumberedz@chapterz@sectionz@subsectionz@subsubsection)z@headingz@subheadingz@subsubheadingc                P   | j         sd| _         t          j        |j        }t	          |t          j                  rd S t	          |t          j        t          j        z  t          j        z            rt          j        t	          |t          j	                  s@t                              t          d          |           |                     |           d S 	 | j        | j                 }n# t           $ r | j        d         }Y nw xY w| j                            d|z             d S )NTzJencountered title node not in section, topic, table, admonition or sidebarlocationr   
%s )r   r   SkipNoder   r   table
Admonitionsidebartopicr   loggerwarningr   visit_rubricheadingsr   r   rg   r   )rL   r   r   headings       r$   visit_titlezTexinfoTranslator.visit_titlez  s*    	!"DO. fek** 	Ffe.>LMM 	!. &%-00 	0NN,       d#####,-(:; , , ,-+,IWw./////s   C, ,DDc                :    | j                             d           d S Nr   r   rQ  s     r$   depart_titlezTexinfoTranslator.depart_title      	     r%   c                J   t          |          dk    r1|                                dt          d          hv rt          j        	 | j        | j                 }n# t          $ r | j        d         }Y nw xY w| j        	                    d|z             | xj
        dz  c_
        d S )Nr   	Footnotesr   rd  )r   r   r
   r   re  rubricsr   r   rg   r   r   )rL   r   rubrics      r$   rl  zTexinfoTranslator.visit_rubric  s    t99>>dkkmmQ{^^/LLL. 	&\$"45FF 	& 	& 	&\"%FFF	&	6)***!s   A A32A3c                Z    | xj         dz  c_         | j                            d           d S )Nr   r   )r   rg   r   rQ  s     r$   depart_rubriczTexinfoTranslator.depart_rubric  s2    !	     r%   c                :    | j                             d           d S )Nz

@noindent
r   rQ  s     r$   visit_subtitlez TexinfoTranslator.visit_subtitle  s    	*+++++r%   c                :    | j                             d           d S rq  r   rQ  s     r$   depart_subtitlez!TexinfoTranslator.depart_subtitle  rs  r%   c                   |j                             |          }	 	 |j         |dz            }nD# t          $ r7 |j         j         |j         j                             |j                            }Y nw xY wt          |t          j                  rW|                    d          r | j                            |d                    | j        	                    |d                    d S n# t          t          f$ r Y nw xY wd|v rd S |                    d          r|                     |d         |           |d         D ]}|                     ||           d S )Nr   refidr[  refuri)r   r   r   r   r   r   r   r   r   r   AttributeErrorrI  )rL   r   parindexnextr   s        r$   visit_targetzTexinfoTranslator.visit_target  s~   ;$$T**	Q{8a<0 Q Q Q {)$+*<*B*B4;*O*OPQ $.. 88G$$ =)--d7m<<<%,,T%[999	
 N+ 	 	 	D	tF88G 	1OODM4000u+ 	& 	&BOOB%%%%	& 	&s-   . C$ >A/,C$ .A//A2C$ $C87C8c                    d S r,   r   rQ  s     r$   depart_targetzTexinfoTranslator.depart_target  rY  r%   c           	        t          |j        t          j        t          j        z            rd S t          |          dk    r"t          |d         t          j                  rd S |                    d|	                                          
                                }|                    dd          }|s1|                    d          rd| j        d         z   dz   |d         z   }|sd S |                    d	          r||                     |d
d                    }|                     |          }|r||k    r| j                            d|z             n| j                            d| d| d           nq|                    d          r4| j        d         dz   |dd          z   }|                     |||           n(|                    d          r`|                    d          }|dk    r|dd          dz   }n|dd                              dd          }|                     |||           n|                    d          r|dd                              dd          }|                     |          }d}d|v r|                    dd          \  }}|                     |          }|                     |          }||k    r"| j                            d| d| d           n| j                            d| d| d| d           n|                     |          }|                     |          }| j        j        }| j        rd}|r||k    r| j                            d|z             np|dk    r"| j                            d| d| d           nH|dk    r"| j                            d| d| d           n | j                            | d| d           t          j        )Nr   r   r  r@   r  r  r   #zmailto:   z
@email{%s}z@email{r   r   r   r   z::doczinfo:   r
   r1   r   rK  z,,,rL  inlinez@indicateurl{%s}z@uref{no
@footnote{)r   r   r   rq   r	   	desc_typer   imager   r   r   r   rG  r   rg   r   rN  findr   r2   r   r   r   texinfo_show_urlsr   re  )rL   r   r   urir   	hashindex	show_urlss          r$   visit_referencez!TexinfoTranslator.visit_reference  s,    dk5;1C#CDD 	Ft99>>ja%+>>>Fxx..4466hhx$$ 	Dtxx(( 	D)"--3d7mCC 	F>>)$$ /	>//#abb'**C??4((D <43;;	  !34444	  !:C!:!:$!:!:!:;;;;^^C   (	>"2&,s122w6BMM"dD))))^^C   $	>IBWw& W__S#..MM"dD))))^^G$$ 	>abb'//#s++C//#&&CBczz))C++R##B##D))Drzz	  !8"!8!8!8!8!89999	  !>"!>!>!>!>s!>!>!>????//#&&C??4((D5I %$	 >3$;;	  !3c!9::::h&&	  !93!9!9!9!9!9::::d""	  !:3!:!:$!:!:!:;;;;	  D!<!<S!<!<!<===nr%   c                    d S r,   r   rQ  s     r$   depart_referencez"TexinfoTranslator.depart_reference  rY  r%   c                    t          j        |                    dd                    }|                     |           t           j        )Nrq   r  )r   r   r   rV  re  rL   r   texts      r$   visit_number_referencez(TexinfoTranslator.visit_number_reference	  s9    z$((7C0011nr%   c                    |                                 }| j                            d|                     |          z             t          j        )Nz	@cite{%s})r   rg   r   r   r   re  r  s      r$   visit_title_referencez'TexinfoTranslator.visit_title_reference  s>    {{}}	tt'<'<<===nr%   c                :    | j                             d           d S Nr   r   rQ  s     r$   visit_paragraphz!TexinfoTranslator.visit_paragraph      	r%   c                :    | j                             d           d S r  r   rQ  s     r$   depart_paragraphz"TexinfoTranslator.depart_paragraph  r  r%   c                :    | j                             d           d S )Nz
@quotation
r   rQ  s     r$   visit_block_quotez#TexinfoTranslator.visit_block_quote  s    	)*****r%   c                b    |                                   | j                            d           d S )Nz@end quotation
r   rg   r   rQ  s     r$   depart_block_quotez$TexinfoTranslator.depart_block_quote  /    	+,,,,,r%   Element | Nonec                :    | j                             d           d S )Nz

@example
r   rQ  s     r$   visit_literal_blockz%TexinfoTranslator.visit_literal_block"  s    	(((((r%   c                b    |                                   | j                            d           d S )Nz@end example
r  rQ  s     r$   depart_literal_blockz&TexinfoTranslator.depart_literal_block%  /    	)*****r%   c                    t          |j        t          j                  s| j                            d           | j                            d           d S )Nr   z	@display
)r   r   r   
line_blockrg   r   rQ  s     r$   visit_line_blockz"TexinfoTranslator.visit_line_block,  sK    $+u'788 	%IV$$$	&&&&&r%   c                    | j                             d           t          |j        t          j                  s| j                             d           d S d S )Nz@end display
r   )rg   r   r   r   r   r  rQ  s     r$   depart_line_blockz#TexinfoTranslator.depart_line_block1  sV    	)***$+u'788 	%IV$$$$$	% 	%r%   c                &    | xj         dz  c_         d S r_  r   rQ  s     r$   
visit_linezTexinfoTranslator.visit_line6      !r%   c                Z    | j                             d           | xj        dz  c_        d S )Nz@w{ }
r   )rg   r   r   rQ  s     r$   depart_linezTexinfoTranslator.depart_line9  s2    	###!r%   c                :    | j                             d           d S )N`r   rQ  s     r$   visit_strongzTexinfoTranslator.visit_strong?      	r%   c                :    | j                             d           d S )N'r   rQ  s     r$   depart_strongzTexinfoTranslator.depart_strongB  r  r%   c                    | j         r6| j                            d           | j                            d           d S | j                            d           | j                            d           d S )Nz@var{r   r  r  )r   rg   r   r   rQ  s     r$   visit_emphasisz TexinfoTranslator.visit_emphasisE  sp    < 	%IW%%%L$$$$$IS!!!L$$$$$r%   c                h    | j                             | j                                                   d S r,   rg   r   r   r   rQ  s     r$   depart_emphasisz!TexinfoTranslator.depart_emphasisM  ,    	))++,,,,,r%   r  c                    d|d         v S )Nsampclassesr   rQ  s     r$   is_sampzTexinfoTranslator.is_sampP  s    i((r%   c                    |                      |          r| xj        dz  c_        | j                            d           d S )Nr   @code{r  r   rg   r   rQ  s     r$   visit_literalzTexinfoTranslator.visit_literalS  sB    << 	LLALL	"""""r%   c                    |                      |          r| xj        dz  c_        | j                            d           d S )Nr   r   r  rQ  s     r$   depart_literalz TexinfoTranslator.depart_literalX  sB    << 	LLALL	r%   c                :    | j                             d           d S )Nz@w{^r   rQ  s     r$   visit_superscriptz#TexinfoTranslator.visit_superscript]  rs  r%   c                :    | j                             d           d S Nr   r   rQ  s     r$   depart_superscriptz$TexinfoTranslator.depart_superscript`  r  r%   c                :    | j                             d           d S Nz@w{[r   rQ  s     r$   visit_subscriptz!TexinfoTranslator.visit_subscriptc  rs  r%   c                :    | j                             d           d S Nz]}r   rQ  s     r$   depart_subscriptz"TexinfoTranslator.depart_subscriptf  r  r%   c                    t           j        r,   r   re  rQ  s     r$   visit_footnotez TexinfoTranslator.visit_footnotek  
    nr%   c                Z    | xj         dz  c_         | j                            d           d S )Nr   r  )r   rg   r   rQ  s     r$   visit_collected_footnotez*TexinfoTranslator.visit_collected_footnoten  s2    A	&&&&&r%   c                Z    | j                             d           | xj        dz  c_        d S )Nr   r   )rg   r   r   rQ  s     r$   depart_collected_footnotez+TexinfoTranslator.depart_collected_footnoter  s2    	Ar%   c                   |                                                                 }	 | j        d         |         \  }}n&# t          t          f$ r}t
          j        |d }~ww xY w|                    |            t
          j        )Nr   )	r   r   r   rE  r   r   re  rS   SkipChildren)rL   r   rB  footnodeusedexcs         r$   visit_footnote_referencez*TexinfoTranslator.visit_footnote_referencev  s    kkmm!!##	*!/3C8NHdd*% 	* 	* 	*.c)	* 	4     s   ? A"AA"c                    | j                             d           |                    d          D ]}|                     ||           | xj        dz  c_        d S )Nr   r[  r   )rg   r   r   rI  r   )rL   r   r   s      r$   visit_citationz TexinfoTranslator.visit_citation  sb    	((5// 	& 	&BOOB%%%%!r%   c                &    | xj         dz  c_         d S r_  r  rQ  s     r$   depart_citationz!TexinfoTranslator.depart_citation  r  r%   c                :    | j                             d           d S r  r   rQ  s     r$   visit_citation_referencez*TexinfoTranslator.visit_citation_reference  rs  r%   c                :    | j                             d           d S r  r   rQ  s     r$   depart_citation_referencez+TexinfoTranslator.depart_citation_reference  r  r%   c                l    |                     dd          }| j                            d|z             d S )Nbullet*z

@itemize %s
r   rg   r   )rL   r   r  s      r$   visit_bullet_listz#TexinfoTranslator.visit_bullet_list  s7    (C((	,v566666r%   c                b    |                                   | j                            d           d S )Nz@end itemize
r  rQ  s     r$   depart_bullet_listz$TexinfoTranslator.depart_bullet_list  r  r%   c                    |                     dd          }dddd}|                     d|                     |d                    }| j                            d|z             d S )	Nenumtypearabicr@   aA)r  
loweralpha
upperalphastartz

@enumerate %s
r  )rL   r   enumstartersr  s        r$   visit_enumerated_listz'TexinfoTranslator.visit_enumerated_list  sg    xx
H-- 3GG(,,tR"8"899	.677777r%   c                b    |                                   | j                            d           d S )Nz@end enumerate
r  rQ  s     r$   depart_enumerated_listz(TexinfoTranslator.depart_enumerated_list  r  r%   c                :    | j                             d           d S )Nz
@item r   rQ  s     r$   visit_list_itemz!TexinfoTranslator.visit_list_item  s    	$$$$$r%   c                    d S r,   r   rQ  s     r$   depart_list_itemz"TexinfoTranslator.depart_list_item  rY  r%   c                :    | j                             d           d S )Nz

@table @option
r   rQ  s     r$   visit_option_listz#TexinfoTranslator.visit_option_list  s    	/00000r%   c                b    |                                   | j                            d           d S Nz@end table
r  rQ  s     r$   depart_option_listz$TexinfoTranslator.depart_option_list  .    	(((((r%   c                    d S r,   r   rQ  s     r$   visit_option_list_itemz(TexinfoTranslator.visit_option_list_item  rY  r%   c                    d S r,   r   rQ  s     r$   depart_option_list_itemz)TexinfoTranslator.depart_option_list_item  rY  r%   c                    d| _         d S Nz@item	at_item_xrQ  s     r$   visit_option_groupz$TexinfoTranslator.visit_option_group       r%   c                    d S r,   r   rQ  s     r$   depart_option_groupz%TexinfoTranslator.depart_option_group  rY  r%   c                x    | xj         dz  c_         | j                            d| j        z             d| _        d S )Nr   rd  @itemx)r   rg   r   r  rQ  s     r$   visit_optionzTexinfoTranslator.visit_option  s>    q 	4>1222!r%   c                &    | xj         dz  c_         d S r_  )r   rQ  s     r$   depart_optionzTexinfoTranslator.depart_option  s    q r%   c                    d S r,   r   rQ  s     r$   visit_option_stringz%TexinfoTranslator.visit_option_string  rY  r%   c                    d S r,   r   rQ  s     r$   depart_option_stringz&TexinfoTranslator.depart_option_string  rY  r%   c                b    | j                             |                    dd                     d S )N	delimiterr1   )rg   r   r   rQ  s     r$   visit_option_argumentz'TexinfoTranslator.visit_option_argument  s,    	+s3344444r%   c                    d S r,   r   rQ  s     r$   depart_option_argumentz(TexinfoTranslator.depart_option_argument  rY  r%   c                :    | j                             d           d S r  r   rQ  s     r$   visit_descriptionz#TexinfoTranslator.visit_description  r  r%   c                    d S r,   r   rQ  s     r$   depart_descriptionz$TexinfoTranslator.depart_description  rY  r%   c                :    | j                             d           d S )Nz

@table @asis
r   rQ  s     r$   visit_definition_listz'TexinfoTranslator.visit_definition_list  s    	-.....r%   c                b    |                                   | j                            d           d S r  r  rQ  s     r$   depart_definition_listz(TexinfoTranslator.depart_definition_list  r  r%   c                    d| _         d S r  r  rQ  s     r$   visit_definition_list_itemz,TexinfoTranslator.visit_definition_list_item  r  r%   c                    d S r,   r   rQ  s     r$   depart_definition_list_itemz-TexinfoTranslator.depart_definition_list_item  rY  r%   c                p   |                     d          D ]}|                     ||           |d d          D ]S}t          |t          j        t
          j        z            r*|                    |            |                    |           T| j	        
                    d| j        z             d| _        d S )Nr[  rd  r  )r   rI  r   r	   r   r   targetrS   removerg   r   r  )rL   r   r   r7  s       r$   
visit_termzTexinfoTranslator.visit_term  s    ((5// 	& 	&BOOB%%%%bbb 	 	A!X^el:;; D!!!A	4>1222!r%   c                    d S r,   r   rQ  s     r$   depart_termzTexinfoTranslator.depart_term  rY  r%   c                :    | j                             d           d S )Nz : r   rQ  s     r$   visit_classifierz"TexinfoTranslator.visit_classifier      	r%   c                    d S r,   r   rQ  s     r$   depart_classifierz#TexinfoTranslator.depart_classifier  rY  r%   c                :    | j                             d           d S r  r   rQ  s     r$   visit_definitionz"TexinfoTranslator.visit_definition  r  r%   c                    d S r,   r   rQ  s     r$   depart_definitionz#TexinfoTranslator.depart_definition  rY  r%   c                    d| _         d S r  	entry_seprQ  s     r$   visit_tablezTexinfoTranslator.visit_table  r  r%   c                :    | j                             d           d S )Nz
@end multitable

r   rQ  s     r$   depart_tablezTexinfoTranslator.depart_table  s    	011111r%   c                    d S r,   r   rQ  s     r$   visit_tabular_col_specz(TexinfoTranslator.visit_tabular_col_spec
  rY  r%   c                    d S r,   r   rQ  s     r$   depart_tabular_col_specz)TexinfoTranslator.depart_tabular_col_spec  rY  r%   c                   | j                             |d                    t          | j                   | j        k    rd S | j                            d           | j         D ]%}| j                            dd|dz   z  z             &d S )Ncolwidthz

@multitable z{%s} r/   r   )r   r   r   n_colsrg   )rL   r   r7  s      r$   visit_colspeczTexinfoTranslator.visit_colspec  s    d:.///t~$+--F	+,,, 	8 	8AIWq1u67777	8 	8r%   c                    d S r,   r   rQ  s     r$   depart_colspecz TexinfoTranslator.depart_colspec  rY  r%   c                .    g | _         |d         | _        d S )Ncols)r   rR  rQ  s     r$   visit_tgroupzTexinfoTranslator.visit_tgroup  s    6lr%   c                    d S r,   r   rQ  s     r$   depart_tgroupzTexinfoTranslator.depart_tgroup  rY  r%   c                    d| _         d S )Nz	@headitemrG  rQ  s     r$   visit_theadzTexinfoTranslator.visit_thead"  s    $r%   c                    d S r,   r   rQ  s     r$   depart_theadzTexinfoTranslator.depart_thead%  rY  r%   c                    d S r,   r   rQ  s     r$   visit_tbodyzTexinfoTranslator.visit_tbody(  rY  r%   c                    d S r,   r   rQ  s     r$   depart_tbodyzTexinfoTranslator.depart_tbody+  rY  r%   c                    d S r,   r   rQ  s     r$   	visit_rowzTexinfoTranslator.visit_row.  rY  r%   c                    d| _         d S r  rG  rQ  s     r$   
depart_rowzTexinfoTranslator.depart_row1  r  r%   c                X    | j                             d| j        z             d| _        d S )Nz
%s
z@tab)rg   r   rH  rQ  s     r$   visit_entryzTexinfoTranslator.visit_entry4  s*    	DN2333r%   c                    t          |                    dd                    D ]}| j                            d           d S )Nmorecolsr   z
@tab
)ranger   rg   r   )rL   r   _is      r$   depart_entryzTexinfoTranslator.depart_entry8  sJ    Q//00 	) 	)BIZ((((	) 	)r%   c                    d S r,   r   rQ  s     r$   visit_field_listz"TexinfoTranslator.visit_field_list>  rY  r%   c                    d S r,   r   rQ  s     r$   depart_field_listz#TexinfoTranslator.depart_field_listA  rY  r%   c                :    | j                             d           d S r  r   rQ  s     r$   visit_fieldzTexinfoTranslator.visit_fieldD  r  r%   c                :    | j                             d           d S r  r   rQ  s     r$   depart_fieldzTexinfoTranslator.depart_fieldG  r  r%   c                b    |                                   | j                            d           d S )Nz@*r  rQ  s     r$   visit_field_namez"TexinfoTranslator.visit_field_nameJ  s.    	r%   c                :    | j                             d           d S )Nr   r   rQ  s     r$   depart_field_namez#TexinfoTranslator.depart_field_nameN  r  r%   c                    d S r,   r   rQ  s     r$   visit_field_bodyz"TexinfoTranslator.visit_field_bodyQ  rY  r%   c                    d S r,   r   rQ  s     r$   depart_field_bodyz#TexinfoTranslator.depart_field_bodyT  rY  r%   c                    |s=t          d|d                   }|                     |                                          }| j                            d|z             d S )Nnodes.titler   
@cartouche
@quotation %s )r   r   r   rg   r   )rL   r   r   rq   s       r$   visit_admonitionz"TexinfoTranslator.visit_admonitionY  sX     	/Q00E;;u||~~..D	7$>?????r%   c                d    t           |j                 }| j                            d|z             d S )Nr  )r   tagnamerg   r   )rL   r   rA  s      r$   _visit_named_admonitionz)TexinfoTranslator._visit_named_admonition_  s0     .	7%?@@@@@r%   c                b    |                                   | j                            d           d S )Nz@end quotation
@end cartouche
r  rQ  s     r$   depart_admonitionz#TexinfoTranslator.depart_admonitionc  s/    	;<<<<<r%   c                    t           j        r,   r  rQ  s     r$   visit_docinfozTexinfoTranslator.visit_docinfo|  r  r%   c                    t           j        r,   r  rQ  s     r$   visit_generatedz!TexinfoTranslator.visit_generated  r  r%   c                    t           j        r,   r  rQ  s     r$   visit_headerzTexinfoTranslator.visit_header  r  r%   c                    t           j        r,   r  rQ  s     r$   visit_footerzTexinfoTranslator.visit_footer  r  r%   c                h    |                     d          r| j                            d           d S d S )Nliteral_blockz

@float LiteralBlock
r  rQ  s     r$   visit_containerz!TexinfoTranslator.visit_container  s=    88O$$ 	:I899999	: 	:r%   c                h    |                     d          r| j                            d           d S d S )Nr  
@end float

r  rQ  s     r$   depart_containerz"TexinfoTranslator.depart_container  s=    88O$$ 	1I/00000	1 	1r%   c                    d S r,   r   rQ  s     r$   visit_decorationz"TexinfoTranslator.visit_decoration  rY  r%   c                    d S r,   r   rQ  s     r$   depart_decorationz#TexinfoTranslator.depart_decoration  rY  r%   c                R   d|                     dd          v rt          j        t          d|d                   }|                     |           | j                            d|                     |                                          z             | 	                    |           d S )Ncontentsr  r   r  r   z%s
)
r   r   re  r   rl  rg   r   r   r   ry  )rL   r   rq   s      r$   visit_topiczTexinfoTranslator.visit_topic  s    )R0000. ]DG,,%   	$++ellnn"="==>>>5!!!!!r%   c                    d S r,   r   rQ  s     r$   depart_topiczTexinfoTranslator.depart_topic  rY  r%   c                @    | j                             ddz             d S )Nz

%s

B__________________________________________________________________r   rQ  s     r$   visit_transitionz"TexinfoTranslator.visit_transition  s#    	233333r%   c                    d S r,   r   rQ  s     r$   depart_transitionz#TexinfoTranslator.depart_transition  rY  r%   c                :    | j                             d           d S )Nz

@center --- r   rQ  s     r$   visit_attributionz#TexinfoTranslator.visit_attribution      	+,,,,,r%   c                :    | j                             d           d S rq  r   rQ  s     r$   depart_attributionz$TexinfoTranslator.depart_attribution  rs  r%   c                    |                     dd                                          }d|v sd|v r,| j                            |                                           t
          j        )Nr   r@   r=   r>   )r   r2   rg   r   r   r   re  )rL   r   r   s      r$   	visit_rawzTexinfoTranslator.visit_raw  s\    (B''--//&F"2"2IT[[]]+++nr%   c                :    | j                             d           d S )Nz

@float Figure
r   rQ  s     r$   visit_figurezTexinfoTranslator.visit_figure  s    	./////r%   c                :    | j                             d           d S )Nr  r   rQ  s     r$   depart_figurezTexinfoTranslator.depart_figure  r  r%   c                @   t          |j        t          j                  s9t          |j        t          j                  r6|j                            d          r| j                            d           d S t          	                    t          d          |           d S )Nr  z

@caption{zcaption not inside a figure.rb  )r   r   r   figure	containerr   rg   r   rj  rk  r   rQ  s     r$   visit_captionzTexinfoTranslator.visit_caption  s    dk5<00 	Nt{EO44	N00	N I]+++++NN2<==NMMMMMr%   c                    t          |j        t          j                  s9t          |j        t          j                  r6|j                            d          r| j                            d           d S d S d S )Nr  }
)r   r   r   r  r  r   rg   r   rQ  s     r$   depart_captionz TexinfoTranslator.depart_caption  sv    dk5<00 	$t{EO44	$00	$ IU#####		$ 	$ 	$ 	$r%   c                   |d         | j         j        v r| j         j        |d                  }n| j        rd S |d         }|                    d          dk    rd S t          j                            |          \  }}|                     |                    dd                    }|                     |                    dd                    }| 	                    |                    dd                    }| j
        d         d d	          d
| }| j                            d| d| d| d| d|dd           d           d S )Nr  z://r   r   r@   heightaltrl   z	-figures/z
@image{r   r   r  )rG   imagesignore_missing_imagesr  ospathsplitextr  r   r   r   rg   r   )	rL   r   r  r   extr   r  r  rl   s	            r$   visit_imagezTexinfoTranslator.visit_image  sM   ;$,---,%d5k2CC ) u+C88E??b  FG$$S))	c%%dhhw&;&;<<&&txx"'='=>>oodhhub1122mJ/4EEtEE	UhUUUUUU#UUABBUUUVVVVVr%   c                    d S r,   r   rQ  s     r$   depart_imagezTexinfoTranslator.depart_image  rY  r%   c                    d S r,   r   rQ  s     r$   visit_compoundz TexinfoTranslator.visit_compound  rY  r%   c                    d S r,   r   rQ  s     r$   depart_compoundz!TexinfoTranslator.depart_compound  rY  r%   c                0    |                      |           d S r,   )r  rQ  s     r$   visit_sidebarzTexinfoTranslator.visit_sidebar  s    r%   c                0    |                      |           d S r,   )r  rQ  s     r$   depart_sidebarz TexinfoTranslator.depart_sidebar  s    $r%   c                `    | j         rt          j        | j                            d           d S )Nz@w{()r   r   re  rg   r   rQ  s     r$   visit_labelzTexinfoTranslator.visit_label  s1     	!. 	     r%   c                :    | j                             d           d S )Nz)} r   rQ  s     r$   depart_labelzTexinfoTranslator.depart_label  r?  r%   c                    d S r,   r   rQ  s     r$   visit_legendzTexinfoTranslator.visit_legend  rY  r%   c                    d S r,   r   rQ  s     r$   depart_legendzTexinfoTranslator.depart_legend  rY  r%   c                    d S r,   r   rQ  s     r$   visit_substitution_referencez.TexinfoTranslator.visit_substitution_reference  rY  r%   c                    d S r,   r   rQ  s     r$   depart_substitution_referencez/TexinfoTranslator.depart_substitution_reference  rY  r%   c                    t           j        r,   r  rQ  s     r$   visit_substitution_definitionz/TexinfoTranslator.visit_substitution_definition  r  r%   c                x    | j                             d|                                z             t          j        )Nz.
@verbatim
<SYSTEM MESSAGE: %s>
@end verbatim
)rg   r   r   r   re  rQ  s     r$   visit_system_messagez&TexinfoTranslator.visit_system_message  s6    	@4;;==P	
 	
 	
 nr%   c                    | j                             d           |                                                                D ]}| j                             d|z              t          j        )Nr   z@c %s
)rg   r   r   
splitlinesr   re  )rL   r   lines      r$   visit_commentzTexinfoTranslator.visit_comment
  sa    	KKMM,,.. 	/ 	/DIY-....nr%   c                :    | j                             d           d S )Nz>>r   rQ  s     r$   visit_problematicz#TexinfoTranslator.visit_problematic  r  r%   c                :    | j                             d           d S )Nz<<r   rQ  s     r$   depart_problematicz$TexinfoTranslator.depart_problematic  r  r%   c                Z    t                               t          d          ||           d S )Nzunimplemented node type: %rrb  )rj  rk  r   rQ  s     r$   unimplemented_visitz%TexinfoTranslator.unimplemented_visit  s)    r788$NNNNNr%   c                    d S r,   r   rQ  s     r$   unknown_departurez#TexinfoTranslator.unknown_departure  rY  r%   c                >    |                      d            d| _        d S )NT)r  r   rQ  s     r$   visit_productionlistz&TexinfoTranslator.visit_productionlist  s$      &&&"&r%   c                >    d| _         |                     d            d S )NF)r   r  rQ  s     r$   depart_productionlistz'TexinfoTranslator.depart_productionlist"  s$    "'!!$'''''r%   c                    d S r,   r   rQ  s     r$   visit_productionz"TexinfoTranslator.visit_production&  rY  r%   c                    d S r,   r   rQ  s     r$   depart_productionz#TexinfoTranslator.depart_production)  rY  r%   c                :    | j                             d           d S )Nr  r   rQ  s     r$   visit_literal_emphasisz(TexinfoTranslator.visit_literal_emphasis,  s    	"""""r%   c                :    | j                             d           d S r  r   rQ  s     r$   depart_literal_emphasisz)TexinfoTranslator.depart_literal_emphasis/  r  r%   c                    | j         r#|d         D ]}|                     ||           d S | j                            d           d S )Nr[  r  )r   rI  rg   r   )rL   r   id_s      r$   visit_literal_strongz&TexinfoTranslator.visit_literal_strong2  sX    " 	E{ + +T****F	"""""r%   c                L    | j         rd S | j                            d           d S r  )r   rg   r   rQ  s     r$   depart_literal_strongz'TexinfoTranslator.depart_literal_strong9  s.    " 	F	r%   c                (   t          |j        t          j                  r|                                  n| j                            d           |d         D ]:\  }}}}}|                     |          }| j                            d|z             ;d S )Nr   r   z@geindex %s
)r   r   r   	paragraphr   rg   r   r   )rL   r   _entry_typevalue
_target_id_main_category_keyr  s           r$   visit_indexzTexinfoTranslator.visit_index>  s    dk5?33 	#OOIT"""DHO 	5 	5@K
E=##E**DI_t34444	5 	5r%   c                :    | j                             d           d S r  r   rQ  s     r$   visit_versionmodifiedz'TexinfoTranslator.visit_versionmodifiedH  r  r%   c                :    | j                             d           d S r  r   rQ  s     r$   depart_versionmodifiedz(TexinfoTranslator.depart_versionmodifiedK  r  r%   c                    | j                             d           | j                            |d                    | j                            |                     |                     d S )NrP  r4  )r   r   r   r   r   rC  rQ  s     r$   visit_start_of_filez%TexinfoTranslator.visit_start_of_fileN  s_    !!&)))  i111!!$"8"8">">?????r%   c                j    | j                                          | j                                         d S r,   )r   r   r   rQ  s     r$   depart_start_of_filez&TexinfoTranslator.depart_start_of_fileT  s2         r%   c                    |                      |                                          }| j                            d|z             t          j        )Nz

@center %s

)r   r   rg   r   r   re  rL   r   txts      r$   visit_centeredz TexinfoTranslator.visit_centeredX  s?    oodkkmm,,	-3444nr%   c                V    | j                             dt          d         z             d S )Nz

@subsubheading %s

seealso)rg   r   r   rQ  s     r$   visit_seealsozTexinfoTranslator.visit_seealso]  s*    	47G	7RRSSSSSr%   c                :    | j                             d           d S r  r   rQ  s     r$   depart_seealsoz TexinfoTranslator.depart_seealso`  r  r%   c                    t           j        r,   r  rQ  s     r$   
visit_metazTexinfoTranslator.visit_metac  r  r%   c                    d S r,   r   rQ  s     r$   visit_glossaryz TexinfoTranslator.visit_glossaryf  rY  r%   c                    d S r,   r   rQ  s     r$   depart_glossaryz!TexinfoTranslator.depart_glossaryi  rY  r%   c                B   t          d|d                   }t          d|          }| j                            d           | j                            d                    d |D                       dz              | j                            d           t          j        )Nznodes.bullet_listr   zIterable[nodes.list_item]r   , c              3  >   K   | ]}|                                 V  d S r,   )r   )r.   r7  s     r$   r0   z/TexinfoTranslator.visit_acks.<locals>.<genexpr>p  s*      "B"B!188::"B"B"B"B"B"Br%   r   )r   rg   r   r6   r   re  )rL   r   bullet_list
list_itemss       r$   
visit_ackszTexinfoTranslator.visit_acksl  s    .Q885{CC
	   	"B"Bz"B"B"BBBSHIII	   nr%   addnodes.descc                H    | j                             |           d| _        d S )Nz@deffn)r   r   	at_deffnxrQ  s     r$   
visit_desczTexinfoTranslator.visit_desc{  s#    
$!r%   c                    | j                                          |                                  | j                            d           d S )Nz@end deffn
)r   r   r   rg   r   rQ  s     r$   depart_desczTexinfoTranslator.depart_desc  s@    
	(((((r%   c                   | xj         dz  c_         |j        d         }|dk    r.|                    d          D ]}|                     ||           	 | j        |j        d                  }|                    |j        |         | j        j        |j	        k              }n# t          $ r |}Y nw xY w|                     t          |                    }| j                            d| j         d| d           d	| _        || _        d S )
Nr   objtypedescriber[  r1  r   z {z} z@deffnx)r   r   r   rI  r*  get_type_nameobject_typesr   primary_domainr   rE  r   r:   rg   r   r  desc_type_name)rL   r   r#  r   r1  r   categorys          r$   visit_desc_signaturez&TexinfoTranslator.visit_desc_signature  s'   q +i(j  hhuoo * *D))))	]4;x#89F''#G,dk.HFK.W DD  	 	 	DDD	 ??>$#7#788	>dn>>>>>???"*.s   AB   B/.B/c                h    | j                             d           | xj        dz  c_        d | _        d S )Nr   r   )rg   r   r   r(  rQ  s     r$   depart_desc_signaturez'TexinfoTranslator.depart_desc_signature  s:    	q "r%   c                    d S r,   r   rQ  s     r$   visit_desc_signature_linez+TexinfoTranslator.visit_desc_signature_line  rY  r%   c                    d S r,   r   rQ  s     r$   depart_desc_signature_linez,TexinfoTranslator.depart_desc_signature_line  rY  r%   c                    d S r,   r   rQ  s     r$   visit_desc_contentz$TexinfoTranslator.visit_desc_content  rY  r%   c                    d S r,   r   rQ  s     r$   depart_desc_contentz%TexinfoTranslator.depart_desc_content  rY  r%   c                    d S r,   r   rQ  s     r$   visit_desc_inlinez#TexinfoTranslator.visit_desc_inline  rY  r%   c                    d S r,   r   rQ  s     r$   depart_desc_inlinez$TexinfoTranslator.depart_desc_inline  rY  r%   c                    d S r,   r   rQ  s     r$   visit_desc_namez!TexinfoTranslator.visit_desc_name  rY  r%   c                    d S r,   r   rQ  s     r$   depart_desc_namez"TexinfoTranslator.depart_desc_name  rY  r%   c                    d S r,   r   rQ  s     r$   visit_desc_addnamez$TexinfoTranslator.visit_desc_addname  rY  r%   c                    d S r,   r   rQ  s     r$   depart_desc_addnamez%TexinfoTranslator.depart_desc_addname  rY  r%   c                    d S r,   r   rQ  s     r$   visit_desc_typez!TexinfoTranslator.visit_desc_type  rY  r%   c                    d S r,   r   rQ  s     r$   depart_desc_typez"TexinfoTranslator.depart_desc_type  rY  r%   c                :    | j                             d           d S )Nz -> r   rQ  s     r$   visit_desc_returnsz$TexinfoTranslator.visit_desc_returns  rs  r%   c                    d S r,   r   rQ  s     r$   depart_desc_returnsz%TexinfoTranslator.depart_desc_returns  rY  r%   c                H    | j                             d           d| _        d S )Nz (r   rg   r   first_paramrQ  s     r$   visit_desc_parameterlistz*TexinfoTranslator.visit_desc_parameterlist  &    	r%   c                :    | j                             d           d S )N)r   rQ  s     r$   depart_desc_parameterlistz+TexinfoTranslator.depart_desc_parameterlist  r  r%   c                H    | j                             d           d| _        d S )Nz [r   rJ  rQ  s     r$   visit_desc_type_parameter_listz0TexinfoTranslator.visit_desc_type_parameter_list  rM  r%   c                :    | j                             d           d S N]r   rQ  s     r$   depart_desc_type_parameter_listz1TexinfoTranslator.depart_desc_type_parameter_list  r  r%   c                   | j         s| j                            d           nd| _         |                     |                                          }|                    dd          }| j                            |           t          j        )Nr  r       z@w{ })rK  rg   r   r   r   r   r   re  r  s      r$   visit_desc_parameterz&TexinfoTranslator.visit_desc_parameter  sy     	!IT"""" D{{4;;==))||0'::	nr%   c                0    |                      |           d S r,   )rY  rQ  s     r$   visit_desc_type_parameterz+TexinfoTranslator.visit_desc_type_parameter  s    !!$'''''r%   c                :    | j                             d           d S )N[r   rQ  s     r$   visit_desc_optionalz%TexinfoTranslator.visit_desc_optional  r  r%   c                :    | j                             d           d S rT  r   rQ  s     r$   depart_desc_optionalz&TexinfoTranslator.depart_desc_optional  r  r%   c                    |                                                                 }| j        r|| j        d         d         k    s"| j        r'|| j                                        v rt
          j        d S d S )Nr   r#  )r   r   r   r(  r2   r   re  r  s      r$   visit_desc_annotationz'TexinfoTranslator.visit_desc_annotation  sw     kkmm!!##J 	!3$*R.";;; <$'4+>+D+D+F+F$F$F.  <;$F$Fr%   c                    d S r,   r   rQ  s     r$   depart_desc_annotationz(TexinfoTranslator.depart_desc_annotation  rY  r%   c                    d S r,   r   rQ  s     r$   visit_inlinezTexinfoTranslator.visit_inline  rY  r%   c                    d S r,   r   rQ  s     r$   depart_inlinezTexinfoTranslator.depart_inline   rY  r%   c                p   |                     dd          }|                                }| j                            d           |rU|| j        vrL| j                            d|                     |          z             | j                            |           d S | j                            d           d S )Nexplanationr@   z@abbr{z,%s}r   )r   r   rg   r   r   r   r   r   )rL   r   rj  abbrs       r$   visit_abbreviationz$TexinfoTranslator.visit_abbreviation  s    hh}b11{{}}	""" 	%4t'999L)E)E EFFF""4(((((L$$$$$r%   c                h    | j                             | j                                                   d S r,   r  rQ  s     r$   depart_abbreviationz%TexinfoTranslator.depart_abbreviation  r  r%   c                ,    |                      |          S r,   )r  rQ  s     r$   visit_manpagezTexinfoTranslator.visit_manpage  s    **4000r%   c                ,    |                      |          S r,   )r  rQ  s     r$   depart_manpagez TexinfoTranslator.depart_manpage  s    ++D111r%   c                    d S r,   r   rQ  s     r$   visit_download_referencez*TexinfoTranslator.visit_download_reference  rY  r%   c                    d S r,   r   rQ  s     r$   depart_download_referencez+TexinfoTranslator.depart_download_reference  rY  r%   c                0    |                      |           d S r,   )r  rQ  s     r$   visit_hlistzTexinfoTranslator.visit_hlist  s    t$$$$$r%   c                0    |                      |           d S r,   )r  rQ  s     r$   depart_hlistzTexinfoTranslator.depart_hlist  s    %%%%%r%   c                    d S r,   r   rQ  s     r$   visit_hlistcolz TexinfoTranslator.visit_hlistcol"  rY  r%   c                    d S r,   r   rQ  s     r$   depart_hlistcolz!TexinfoTranslator.depart_hlistcol%  rY  r%   c                    d S r,   r   rQ  s     r$   visit_pending_xrefz$TexinfoTranslator.visit_pending_xref(  rY  r%   c                    d S r,   r   rQ  s     r$   depart_pending_xrefz%TexinfoTranslator.depart_pending_xref+  rY  r%   
nodes.mathc                    | j                             d|                     |                                          z   dz              t          j        )Nz@math{r   )rg   r   r   r   r   re  rQ  s     r$   
visit_mathzTexinfoTranslator.visit_math.  s>    	DOODKKMM$B$BBSHIIInr%   nodes.math_blockc                   |                     d          r|                     |d         |           | j                            d|                     |                                           d           t          j        )NrA  z

@example
z
@end example

)r   rI  rg   r   r   r   r   re  rQ  s     r$   visit_math_blockz"TexinfoTranslator.visit_math_block2  st    88G 	1OODM4000	OT__T[[]];;OOO	
 	
 	
 nr%   )rP   rr   rG   r   r   rH   rZ   )r&   r'   r   r'   )r   r'   r   r'   r   r'   r   r'   )r   r  r  r  r   rH   )r   r'   r   rH   )r  r'   r   r'   )r   r   r   r5  )r   r'   r   r'   )r   r'   r   r   r   rH   )r   r'   r   r'   r   r   r   rH   )r   r   r   rH   )r   r   r   rH   )r   r  r   rH   )r   r   r   r  )r@   )r   r   r   r'   r   rH   )r   r   r   rH   )r   r  r   rH   )r   r  r   rH   )r   r  r   rH   (  r[   r\   r]   r  ra   r   rK   rT   rt   r~   r   r   r   r   r   r   r   r   r   compiler  r   r  r}   rC  r   rI  rN  rR  rT  rV  rX  r]  r`  rm  rv  ro  rr  rl  ry  r{  r}  r  r  r  r  r  r  r  r  r  r  r  r  visit_doctest_blockdepart_doctest_blockr  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  r  r
  r  r  r  r  r  r  r  r!  r#  r%  r(  r*  r,  r.  r0  r2  r4  r6  r:  r<  r>  rA  rC  rE  rI  rK  rM  rO  rS  rU  rX  rZ  r\  r^  r`  rb  rd  rf  rh  rm  ro  rq  rs  ru  rw  ry  r{  r}  r  r  r  visit_attentiondepart_attentionvisit_cautiondepart_cautionvisit_dangerdepart_dangervisit_errordepart_error
visit_hintdepart_hintvisit_importantdepart_important
visit_notedepart_note	visit_tip
depart_tipvisit_warningdepart_warningr  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  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  r  r  r  r  r  r  r!  r*  r,  r.  r0  r2  r4  r6  r8  r:  r<  r>  r@  rB  rD  rF  rH  rL  rP  rR  rV  rY  r[  r^  r`  rb  rd  rf  rh  rl  rn  rp  rr  rt  rv  rx  rz  r|  r~  r  r  r  r  rb   rc   s   @r$   rO   rO      s        !  !' !' !' !' !' !'F/ / / /**8 *8 *8 *8X 7  7  7  7D+ + + +2' ' ' 'B   	 	 	 		 	 	 	   # # # #
	( 	( 	( 	(  *rz-88H H H H H*; ; ; ;8   ) ) ) )\   ,	 	 	 		) 	) 	) 	)# # # #* * * *                    &       HG0 0 0 02! ! ! !" " " "! ! ! !, , , ,! ! ! !
& & & &0   = = = =~      
         + + + +- - - -) ) ) )+ + + + ./' ' ' '
% % % %
" " " "" " " "      % % % %- - - -) ) ) )# # # #
   
! ! ! !   ! ! ! !   
   ' ' ' '   ! ! ! !" " " "" " " "! ! ! !   
7 7 7 7+ + + +8 8 8 8- - - -% % % %   
1 1 1 1) ) ) )      ! ! ! !   " " " "
! ! ! !      5 5 5 5         
/ / / /) ) ) )! ! ! !   	" 	" 	" 	"                   
! ! ! !2 2 2 2      8 8 8 8   # # # #   % % % %            ! ! ! !       ) ) ) )                        
@ @ @ @ @A A A A= = = = .O(+M&N*L%M)K$L(J#K-O((J#K'I"J+M&N            : : : :1 1 1 1      " " " "   4 4 4 4   - - - -! ! ! !   0 0 0 0- - - -N N N N$ $ $ $W W W W&                   ! ! ! !                                  O O O O   
' ' ' '( ( ( (      # # # #   # # # #   
5 5 5 5      @ @ @ @! ! ! !   
T T T T               " " " ") ) ) )
/ / / /(# # # #
                                    ! ! ! !               	 	 	 	( ( ( (      
! 
! 
! 
!   
      % % % %- - - -1 1 1 12 2 2 2      % % % %& & & &                      r%   rO   )r   r   r   r   r,   )r&   r'   r(   r)   r   r'   )3r^   
__future__r   os.pathr  r   r   typingr   r   docutilsr   r   sphinxr   r	   sphinx.localer
   r   r   sphinx.utilr   sphinx.util.docutilsr   sphinx.util.i18nr   sphinx.writers.latexr   collections.abcr   r   r   r   docutils.nodesr   r   r   sphinx.builders.texinfor   sphinx.domainsr   	getLoggerr[   rj  r   r   r!   r:   Writerr<   rO   r   r%   r$   <module>r     s0   ) ) " " " " " "  				  & & & & & & & & # # # # # # # # 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1       1 1 1 1 1 1 ( ( ( ( ( ( 3 3 3 3 3 3 *22222222$$$$$$$$2222222222666666)))))) 
	8	$	$( +( ( (V	 	 	 	$ $ $ $ $!= != != != !=GN != != !=Hh h h h h( h h h h hr%   