
    ziW                       d Z ddlmZ ddlZddlZddlmZ ddlmZ ddl	m
Z
mZmZ ej        dk    rddlmZ nddlmZ dd	lmZ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$ ddl%m&Z& ddl'm(Z( ddl)m*Z* e
rVddl+m,Z,m-Z- ddl.m/Z/ ddl0m1Z1 ddl2m3Z3m4Z4m5Z5 ddl6m#Z# ddl7m8Z8 ddl9m:Z: ddl;m<Z< ddl=m>Z> ddl?m@Z@ ddlAmBZB ddlCmDZD ddlEmFZFmGZG  e(jH        eI          ZJdd iZK G d! d"          ZLd,d)ZMd-d+ZNdS ).zSphinx component registry.    )annotationsN)import_module)
MethodType)TYPE_CHECKINGAnyCallable)   
   )entry_points)DomainIndexObjType)GenericObjectTarget)ExtensionErrorSphinxErrorVersionRequirementError)	Extension)create_publisher)__)Parser)XRefRole)logging)prefixed_warnings)IteratorSequence)nodes)	Publisher)ElementNodeTextElement)	Directive)	Transform)Sphinx)Builder)Config)BuildEnvironment)
Documenter)RoleFunctionTitleGetterzsphinxjp.themecorez1.2c                  n   e Zd ZdsdZdtdud	ZdvdZdwdZdtdxdZdydZdzdZ		 dtd{dZ
	 dtd|dZ	 dtd}d!Z	 	 	 	 	 	 d~dd/Z	 	 	 	 ddd0Zdtdd3Zdtdd6Zdd7Zdd9Zdd<Z	 dtdd?ZddDZddEZddIZddLZddNZddOZddPZddTZddYZdd[Zdd]Zdd^Z 	 dtddaZ!	 dddfZ"ddjZ#ddlZ$ddnZ%ddpZ&ddrZ'd#S )SphinxComponentRegistryreturnNonec                V   i | _         i | _        i | _        g | _        i | _        i | _        i | _        i | _        i | _        i | _	        i | _
        i | _        d| _        i | _        g | _        g | _        g | _        g | _        i | _        i | _        i | _        i | _        g | _        i | _        d S )Nper_page)autodoc_attrgettrsbuildersdocumenters	css_filesdomainsdomain_directivesdomain_indicesdomain_object_typesdomain_rolesenumerable_nodeshtml_inline_math_renderershtml_block_math_renderershtml_assets_policyhtml_themesjs_fileslatex_packageslatex_packages_after_hyperrefpost_transformssource_parserssource_suffixtranslatorstranslation_handlers
transforms
publishersselfs    Z/var/www/tmov.alphamb/tmov_inventario/venv/lib/python3.11/site-packages/sphinx/registry.py__init__z SphinxComponentRegistry.__init__6   s   NP 35 9; <> 13 IK =? CE  LN SU
 SU 	' RT 	& (2 ,. BD =?KM* 79 8: .0 @B ]_! 24 13    Fbuildertype[Builder]overrideboolc                N   t                               d|           t          |d          st          t	          d          |z            |j        | j        v r=|s;t          t	          d          |j        | j        |j                 j        fz            || j        |j        <   d S )Nz[app] adding builder: %rnamez(Builder class %s has no "name" attributez(Builder %r already exists (in module %s))loggerdebughasattrr   r   rS   r2   
__module__)rJ   rN   rP   s      rK   add_builderz#SphinxComponentRegistry.add_builder   s    /999w'' 	[ $N!O!ORY!YZZZ<4=((( $N!O!O"),gl0K0V!W"X Y Y Y&-gl###rM   appr$   rS   strc                    |d S || j         vrit          d          }	 ||         }n2# t          $ r%}t          t	          d          |z            |d }~ww xY w|                     ||j                   d S d S )Nzsphinx.builders)groupz?Builder name %s not registered or available through entry point)r2   r   KeyErrorr   r   load_extensionmodule)rJ   rY   rS   builder_entry_pointsentry_pointexcs         rK   preload_builderz'SphinxComponentRegistry.preload_builder   s    <Ft}$$#/6G#H#H#H N248 N N N!" &< #= #=?C#D E EJMNN [%788888 %$s   ( 
A AAenvr'   r%   c                    || j         vrt          t          d          |z             | j         |         ||          S )NzBuilder name %s not registered)r2   r   r   )rJ   rY   rS   rd   s       rK   create_builderz&SphinxComponentRegistry.create_builder   sD    t}$$b!ABBTIJJJ"t}T"3,,,rM   domaintype[Domain]c                    t                               d|           |j        | j        v r&|s$t	          t          d          |j        z            || j        |j        <   d S )Nz[app] adding domain: %rzdomain %s already registered)rT   rU   rS   r5   r   r   )rJ   rg   rP   s      rK   
add_domainz"SphinxComponentRegistry.add_domain   s]    .777;$,&&x& $B!C!Cfk!QRRR$*V[!!!rM   c                    || j         v S N)r5   )rJ   rg   s     rK   
has_domainz"SphinxComponentRegistry.has_domain   s    %%rM   Iterator[Domain]c              #  P  K   | j                                         D ]} ||          }|j                            | j                            |j        i                      |j                            | j                            |j        i                      |j	        
                    | j                            |j        g                      | j                            |j        i                                           D ]\  }}|                    ||           |V  
d S rl   )r5   values
directivesupdater6   getrS   rolesr9   indicesextendr7   r8   itemsadd_object_type)rJ   rd   DomainClassrg   rS   objtypes         rK   create_domainsz&SphinxComponentRegistry.create_domains   s     <..00 
	 
	K [%%F $$T%;%?%?R%P%PQQQL 1 5 5fk2 F FGGGN!!$"5"9"9&+r"J"JKKK!%!9!=!=fk2!N!N!T!T!V!V 6 6g&&tW5555LLLL
	 
	rM   clstype[Directive]c                    t                               d|||f           || j        vrt          t	          d          |z            | j                            |i           }||v r#|s!t          t	          d          ||fz            |||<   d S )Nz$[app] adding directive to domain: %rdomain %s not yet registeredz3The %r directive is already registered to domain %s)rT   rU   r5   r   r   r6   
setdefault)rJ   rg   rS   r|   rP   rq   s         rK   add_directive_to_domainz/SphinxComponentRegistry.add_directive_to_domain   s    ;fdC=PQQQ%% $B!C!Cf!LMMM151G1R1RSY[]1^1^
:h $Y!Z!Z"&"0 1 1 1
4rM   roleRoleFunction | XRefRolec                    t                               d|||f           || j        vrt          t	          d          |z            | j                            |i           }||v r#|s!t          t	          d          ||fz            |||<   d S )Nz[app] adding role to domain: %rr   z.The %r role is already registered to domain %s)rT   rU   r5   r   r   r9   r   )rJ   rg   rS   r   rP   rt   s         rK   add_role_to_domainz*SphinxComponentRegistry.add_role_to_domain   s     	6t8LMMM%% $B!C!Cf!LMMM!,,VR885=== $T!U!U"&"0 1 1 1drM   indextype[Index]c                H   t                               d||f           || j        vrt          t	          d          |z            | j                            |g           }||v r(|s&t          t	          d          |j        |fz            |                    |           d S )Nz [app] adding index to domain: %rr   z/The %r index is already registered to domain %s)	rT   rU   r5   r   r   r7   r   rS   append)rJ   rg   r   rP   ru   s        rK   add_index_to_domainz+SphinxComponentRegistry.add_index_to_domain   s    7&%III%% $B!C!Cf!LMMM%00<<GH $U!V!V"'*f!5"6 7 7 7urM    N directivenamerolenameindextemplate
parse_nodeCallable | Noneref_nodeclasstype[TextElement] | Noneobjnamedoc_field_typesr   c	           
        t                               d|||||||f           t          |t          t          f||ot          |          |d          }	|                     d||	           |                     d|t          |                     | j	        
                    di           }
||
v r!|st          t          d          |z            t          |p||          |
|<   d S )Nz[app] adding object type: %r)r   r   r   stdinnernodeclassz(The %r object_type is already registered)rT   rU   typer   objectstaticmethodr   r   r   r8   r   r   r   r   )rJ   r   r   r   r   r   r   r   rP   	directiveobject_typess              rK   rx   z'SphinxComponentRegistry.add_object_type   s    	3#X}j#Wo?	@ 	@ 	@
 '0+8(2(O|J7O7O-<> >? ?	 	$$UM9EEEx1W1W1WXXX/::5"EEL((( $N!O!O!."/ 0 0 0&-g.F&Q&Q]###rM   c                   t                               d|||||f           t          |t          t          fd|i          }|                     d||           |                     d|t          |                     | j        	                    di           }||v r!|st          t          d          |z            t          |p||          ||<   d S )Nz[app] adding crossref type: %rr   r   r   z*The %r crossref_type is already registered)rT   rU   r   r   r   r   r   r   r8   r   r   r   r   )	rJ   r   r   r   r   r   rP   r   r   s	            rK   add_crossref_typez)SphinxComponentRegistry.add_crossref_type   s     	5#X}mWU	W 	W 	W  &))=9; ;	 	$$UM9EEEx1W1W1WXXX/::5"EEL((( $P!Q!Q!."/ 0 0 0&-g.F&Q&Q]###rM   suffixfiletypec                    t                               d||           || j        v r!|st          t	          d          |z            || j        |<   d S )Nz"[app] adding source_suffix: %r, %rz&source_suffix %r is already registered)rT   rU   rD   r   r   )rJ   r   r   rP   s       rK   add_source_suffixz)SphinxComponentRegistry.add_source_suffix  s\    968LLLT'''' $L!M!MPV!VWWW%-6"""rM   parsertype[Parser]c                    t                               d|           |j        D ]6}|| j        v r!|st	          t          d          |z            || j        |<   7d S )Nz%[app] adding search source_parser: %rz*source_parser for %r is already registered)rT   rU   	supportedrC   r   r   )rJ   r   rP   r   s       rK   add_source_parserz)SphinxComponentRegistry.add_source_parser  s}    <fEEE ( 	3 	3H4...x.$R(T%U%U%-&. / / /,2D))		3 	3rM   c                    	 | j         |         S # t          $ r%}t          t          d          |z            |d }~ww xY w)Nz#Source parser for %s not registered)rC   r]   r   r   )rJ   r   rb   s      rK   get_source_parserz)SphinxComponentRegistry.get_source_parser$  sX    	]&x00 	] 	] 	]b!FGG(RSSY\\	]s    
> 9>dict[str, type[Parser]]c                    | j         S rl   )rC   rI   s    rK   get_source_parsersz*SphinxComponentRegistry.get_source_parsers*  s    ""rM   filenamer   c                    |                      |          } |            }t          |t                    r|                    |           |S rl   )r   
isinstanceSphinxParserset_application)rJ   rY   r   parser_classr   s        rK   create_source_parserz,SphinxComponentRegistry.create_source_parser-  sK    --h77fl++ 	(""3'''rM   
translatortype[nodes.NodeVisitor]c                    t                               d|           || j        v r!|st          t	          d          |z            || j        |<   d S )Nz.[app] Change of translator for the %s builder.z Translator for %r already exists)rT   rU   rE   r   r   )rJ   rS   r   rP   s       rK   add_translatorz&SphinxComponentRegistry.add_translator4  sY    EtLLL4###H# $F!G!G$!NOOO!+rM   nodetype[Element]kwargs tuple[Callable, Callable | None]c                4   t                               d||           |                                D ]f\  }}| j                            |i           }	 |\  }}||f||j        <   3# t          $ r'}t          t          d          ||fz            |d }~ww xY wd S )Nz)[app] adding translation_handlers: %r, %rzEkwargs for add_node() must be a (visit, depart) function tuple: %r=%r)	rT   rU   rw   rF   r   __name__
ValueErrorr   r   )	rJ   r   r   builder_namehandlersrF   visitdepartrb   s	            rK   add_translation_handlersz0SphinxComponentRegistry.add_translation_handlers;  s    
 	@$OOO&,llnn 		 		"L(#'#<#G#GVX#Y#Y  (v7<fo$T]33   $ / 0 03?2JK  		 		s   A$$
B."BBc                    	 | j         |j                 S # t          $ r7 	 |j        cY S # t          $ r}d|j         }t	          |          |d }~ww xY ww xY w)Nztranslator not found for )rE   rS   r]   default_translator_classAttributeError)rJ   rN   errmsgs       rK   get_translator_classz,SphinxComponentRegistry.get_translator_classL  s    	3#GL11 	3 	3 	337777! 3 3 3@',@@$S))s23	3s(    
A(A
AAAAargsr   nodes.NodeVisitorc           	        |                      |          } || }| j                            |j        d           }| | j                            |j        i           }|                                D ]N\  }\  }}t          |d|z   t          ||                     |r"t          |d|z   t          ||                     O|S )Nvisit_depart_)r   rF   rs   rS   formatrw   setattrr   )	rJ   rN   r   translator_classr   r   rS   r   r   s	            rK   create_translatorz)SphinxComponentRegistry.create_translatorV  s    44W==%%t,
 ,00tDD044W^RHHH%-^^%5%5 	V 	V!D/5&J4E:1N1NOOO V
I$4j6T6TUUUrM   	transformtype[Transform]c                p    t                               d|           | j                            |           d S )Nz[app] adding transform: %r)rT   rU   rG   r   rJ   r   s     rK   add_transformz%SphinxComponentRegistry.add_transformg  s3    19===y)))))rM   list[type[Transform]]c                    | j         S rl   )rG   rI   s    rK   get_transformsz&SphinxComponentRegistry.get_transformsk  s
    rM   c                p    t                               d|           | j                            |           d S )Nz[app] adding post transform: %r)rT   rU   rB   r   r   s     rK   add_post_transformz*SphinxComponentRegistry.add_post_transformn  s4    6	BBB##I.....rM   c                    | j         S rl   )rB   rI   s    rK   get_post_transformsz+SphinxComponentRegistry.get_post_transformsr  s    ##rM   rz   
documentertype[Documenter]c                    || j         |<   d S rl   )r3   )rJ   rz   r   s      rK   add_documenterz&SphinxComponentRegistry.add_documenteru  s    $.!!!rM   typr   
attrgetterCallable[[Any, str, Any], Any]c                    || j         |<   d S rl   )r1   )rJ   r   r   s      rK   add_autodoc_attrgetterz.SphinxComponentRegistry.add_autodoc_attrgetterx  s    '1$$$rM   
attributesc                >    | j                             ||f           d S rl   )r4   r   rJ   r   r   s      rK   add_css_filesz%SphinxComponentRegistry.add_css_files|  s#    x455555rM   
str | Nonec                v    t                               d||           | j                            ||f           d S )Nz[app] adding js_file: %r, %r)rT   rU   r?   r   r   s      rK   add_js_filez#SphinxComponentRegistry.add_js_file  s:    3XzJJJh
344444rM   c                X    | j         | j        z   }t          fd|D                       S )Nc                ,    g | ]}|d          k    |S )r   r   ).0xrS   s     rK   
<listcomp>z=SphinxComponentRegistry.has_latex_package.<locals>.<listcomp>  s"    9991AaDDLLQLLLrM   )r@   rA   rQ   )rJ   rS   packagess    ` rK   has_latex_packagez)SphinxComponentRegistry.has_latex_package  s6    &)KK9999999:::rM   optionsafter_hyperrefc                   |                      |          rt                              d|           t                              d|           |r| j                            ||f           d S | j                            ||f           d S )Nz#latex package '%s' already includedz[app] adding latex package: %r)r   rT   warningrU   rA   r   r@   )rJ   rS   r   r   s       rK   add_latex_packagez)SphinxComponentRegistry.add_latex_package  s     !!$'' 	HNN@$GGG5t<<< 	8.55tWoFFFFF&&g77777rM   
type[Node]figtypetitle_getterTitleGetter | Nonec                    t                               d|||           || j        v r!|st          t	          d          |z            ||f| j        |<   d S )Nz*[app] adding enumerable node: (%r, %r, %r)z%enumerable_node %r already registered)rT   rU   r:   r   r   )rJ   r   r   r   rP   s        rK   add_enumerable_nodez+SphinxComponentRegistry.add_enumerable_node  se     	A4R^___4(((( $K!L!Lt!STTT'.&=d###rM   inline_renderers'tuple[Callable, Callable | None] | Noneblock_renderersc                    t                               d|||           || j        v rt          t	          d          |z            |
|| j        |<   ||| j        |<   d S d S )Nz+[app] adding html_math_renderer: %s, %r, %rz&math renderer %s is already registered)rT   rU   r;   r   r   r<   )rJ   rS   r  r  s       rK   add_html_math_rendererz.SphinxComponentRegistry.add_html_math_renderer  s     	B+_	> 	> 	>4222 $L!M!MPT!TUUU'4DD+D1&3BD*4000 '&rM   
theme_pathc                    || j         |<   d S rl   )r>   )rJ   rS   r  s      rK   add_html_themez&SphinxComponentRegistry.add_html_theme  s    !+rM   extnamec                   ||j         v rdS |t          v r6t                              t	          d          |t          |                    dS t	          d          |z  }t          |          5  	 t          |          }nn# t          $ ra}t                              t	          d          t          j
                    z              t          t	          d          |z  |          |d}~ww xY wt          |dd          }|+t                              t	          d          |           i }nA	  ||          }n4# t          $ r'}t          t	          d          ||fz            |d}~ww xY w|i }n?t          |t                    s*t                              t	          d	          |           i }t!          ||fi ||j         |<   ddd           dS # 1 swxY w Y   dS )
zLoad a Sphinx extension.Nz\the extension %r was already merged with Sphinx since version %s; this extension is ignored.zwhile setting up extension %s:zOriginal exception:
zCould not import extension %ssetupzMextension %r has no setup() function; is it really a Sphinx extension module?zpThe %s extension used by this project needs at least Sphinx v%s; it therefore cannot be built with this version.zuextension %r returned an unsupported object from its setup() function; it should return None or a metadata dictionary)
extensionsEXTENSION_BLACKLISTrT   r   r   r   r   ImportErrorverbose	traceback
format_excr   getattrr   r   dictr   )rJ   rY   r  prefixmodr   r  metadatas           rK   r^   z&SphinxComponentRegistry.load_extension  s   cn$$F)))NN2 G H H"$7$@B B B F 455?v&&  	J  	J3#G,, 3 3 3r"9::Y=Q=S=SSTTT$R(G%H%H7%R%(* */233
 C$//E}r #?  @  @AHJ J J+-$uSzzHH.   1 & ' '*138  	 $// r #8  9  9:AC C C &/&I&I&I&ICN7#A 	J  	J  	J  	J  	J  	J  	J  	J  	J  	J  	J  	J  	J  	J  	J  	J  	J  	Js]   ,G.A>=G>
C)AC$$C))AG+D76G7
E("E##E((AGGGdict[str, str]c                b    ddl m} d |j                                        D             }||d<   |S )Nr   )ENV_VERSIONc                h    i | ]/}|j                             d           |j        |j         d          0S )env_version)r  rs   rS   )r   exts     rK   
<dictcomp>z:SphinxComponentRegistry.get_envversion.<locals>.<dictcomp>  sG     : : :))-88:ch] ; : : :rM   sphinx)sphinx.environmentr  r  rp   )rJ   rY   r  
envversions       rK   get_envversionz&SphinxComponentRegistry.get_envversion  sO    222222: :s~G\G\G^G^ : : :
*
8rM   r   c                v    	 | j         |         S # t          $ r Y nw xY wt          ||          }|| j         |<   |S rl   )rH   r]   r   )rJ   rY   r   	publishers       rK   get_publisherz%SphinxComponentRegistry.get_publisher  sU    	?8,, 	 	 	D	$S(33	$-!s    
)r-   r.   )F)rN   rO   rP   rQ   r-   r.   )rY   r$   rS   rZ   r-   r.   )rY   r$   rS   rZ   rd   r'   r-   r%   )rg   rh   rP   rQ   r-   r.   )rg   rZ   r-   rQ   )rd   r'   r-   rn   )
rg   rZ   rS   rZ   r|   r}   rP   rQ   r-   r.   )
rg   rZ   rS   rZ   r   r   rP   rQ   r-   r.   )rg   rZ   r   r   rP   rQ   r-   r.   )r   NNr   r   F)r   rZ   r   rZ   r   rZ   r   r   r   r   r   rZ   r   r   rP   rQ   r-   r.   )r   Nr   F)r   rZ   r   rZ   r   rZ   r   r   r   rZ   rP   rQ   r-   r.   )r   rZ   r   rZ   rP   rQ   r-   r.   )r   r   rP   rQ   r-   r.   )r   rZ   r-   r   )r-   r   )rY   r$   r   rZ   r-   r   )rS   rZ   r   r   rP   rQ   r-   r.   )r   r   r   r   r-   r.   )rN   r%   r-   r   )rN   r%   r   r   r-   r   )r   r   r-   r.   )r-   r   )rz   rZ   r   r   r-   r.   )r   r   r   r   r-   r.   )r   rZ   r   r   r-   r.   )r   r   r   r   r-   r.   )rS   rZ   r-   rQ   )rS   rZ   r   r   r   rQ   r-   r.   )NF)
r   r   r   rZ   r   r   rP   rQ   r-   r.   )rS   rZ   r  r  r  r  r-   r.   )rS   rZ   r  rZ   r-   r.   )rY   r$   r  rZ   r-   r.   )rY   r$   r-   r  )rY   r$   r   rZ   r-   r   )(r   rW   __qualname__rL   rX   rc   rf   rj   rm   r{   r   r   r   rx   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   rM   rK   r,   r,   5   s       M3 M3 M3 M3^. . . . .9 9 9 9- - - -+ + + + +& & & &    HM
 
 
 
 
 LQ
 
 
 
 
 .3	 	 	 	 	  &*26$&R R R R RF  26R R R R R4. . . . .3 3 3 3 3] ] ] ]# # # #    )., , , , ,   "3 3 3 3   "* * * *   / / / /$ $ $ $/ / / /2 2 2 26 6 6 65 5 5 5; ; ; ;
 FK
8 
8 
8 
8 
8  CH		> 	> 	> 	> 	>C C C C , , , ,,J ,J ,J ,J\        rM   r,   rY   r$   configr&   r-   r.   c                    | j         j                                        D ]D\  }}|| j        j        vr|| j        j        |<   #| j        j        |         || j        j        |<   E| j        j        | j         _        dS )zDMerge any user-specified source_suffix with any added by extensions.N)registryrD   rw   r(  )rY   r(  r   r   s       rK   merge_source_suffixr+    s    L6<<>> 8 8111/7CJ$V,,Z%f-5 08CJ$V, "%!9CLrM   dict[str, Any]c                H    |                      dt          d           ddddS )Nzconfig-initedi   )prioritybuiltinT)versionparallel_read_safeparallel_write_safe)connectr+  )rY   s    rK   r  r    s5    KK!4sKCCC "#  rM   )rY   r$   r(  r&   r-   r.   )rY   r$   r-   r,  )O__doc__
__future__r   sysr  	importlibr   typesr   typingr   r   r   version_infoimportlib.metadatar   importlib_metadatasphinx.domainsr   r   r   sphinx.domains.stdr   r   sphinx.errorsr   r   r   sphinx.extensionr   	sphinx.ior   sphinx.localer   sphinx.parsersr   r   sphinx.rolesr   sphinx.utilr   sphinx.util.loggingr   collections.abcr   r   docutilsr   docutils.corer   docutils.nodesr   r    r!   docutils.parsersdocutils.parsers.rstr"   docutils.transformsr#   sphinx.applicationr$   sphinx.buildersr%   sphinx.configr&   r!  r'   sphinx.ext.autodocr(   sphinx.util.typingr)   r*   	getLoggerr   rT   r  r,   r+  r  r   rM   rK   <module>rT     s	       " " " " " " 



     # # # # # #       / / / / / / / / / /w///////////// 1 1 1 1 1 1 1 1 1 1 4 4 4 4 4 4 4 4 N N N N N N N N N N & & & & & & & & & & & &       1 1 1 1 1 1 ! ! ! ! ! !       1 1 1 1 1 1 =22222222''''''9999999999''''''......------))))))''''''$$$$$$333333------<<<<<<<<		8	$	$
 % 
x x x x x x x xv: : : :     rM   