
    7 fo1                    N   d Z ddlmZ ddlZddlZddlZddlZddlZddlZddlm	Z	m
Z
mZmZ ddlmZmZ ddlmZmZ ddlmZ ddlmZmZmZmZmZmZ e	rdd	lmZ dd
lmZ  ej         e!          Z"d-dZ#d.dZ$d/d0dZ%d/d1dZ&dedfd2d!Z' G d" d#e          Z(	 d3d4d(Z)	 d5d6d,Z*dS )7zImporter utilities for autodoc    )annotationsN)TYPE_CHECKINGAnyCallable
NamedTuple)ismock
undecorate)ModuleAnalyzerPycodeError)logging)getannotationsgetmrogetslotsisclassisenumclasssafe_getattr)
ModuleType)ObjectMembersubjectr   namestrreturnc                    	 t          |           r6|                    d          r!|                    d          sd| j         | S n# t          $ r Y nw xY w|S )zMangle the given name.___)r   
startswithendswith__name__AttributeError)r   r   s     Q/var/www/equiseq/venv/lib/python3.11/site-packages/sphinx/ext/autodoc/importer.pymangler!   !   s{    7 	0 5 5 	0dmmD>Q>Q 	0/w'////    Ks   AA 
AA
str | Nonec                6   	 t          |           rw|                    d          sbd| j        z  }|                    |          r|                    |dd          S | j        D ]$}d|j        z  }|                    |          r dS %n# t          $ r Y nw xY w|S )zUnmangle the given name.r   z_%s__   N)r   r   r   r   replace__mro__r   )r   r   prefixclss       r    unmangler)   ,   s    7 		$DMM$$7$7 		$w//Fv&& $||FD!444"? $ $C$s|3Fv.. $#tt$     Ks   AB	 )B	 B	 	
BBFmodnamewarningiserrorboolc                    	 t          j        |           5  t          j        |           cddd           S # 1 swxY w Y   dS # t          $ r'}t          |t          j                              |d}~ww xY w)zR
    Call importlib.import_module(modname), convert exceptions to ImportError
    N)r   skip_warningiserror	importlibimport_moduleBaseExceptionImportError	traceback
format_exc)r*   r+   excs      r    r0   r0   ?   s    @(^);<< 	4 	4*733	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 @ @ @ #y35566C?@3   A 8A <A < A 
A6"A11A6moduler   c                    	 t          j        |           5  t          j        |           cddd           S # 1 swxY w Y   dS # t          $ r'}t          |t          j                              |d}~ww xY w)zJ
    Call importlib.reload(module), convert exceptions to ImportError
    N)r   r.   r/   reloadr1   r2   r3   r4   )r7   r+   r5   s      r    _reload_moduler:   L   s    @(^);<< 	, 	,#F++	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, @ @ @ #y35566C?@r6    objpath	list[str]objtype
attrgetterCallable[[Any, str], Any]c                    |r0t                               d| d                    |                     nt                               d|            	 d }d }t          |          }|	 t	          t
          j                  t          | |          }t          j	        
                    d          rfdt
          j        D             }	 dt          _        t          j        t          t                     5  |D ]!}t#          t
          j        |                    "	 d d d            n# 1 swxY w Y   dt          _        n# dt          _        w xY wt
          j        |          }t                               d	| |           ni# t          $ r\}	t                               d
|            |	}d| v r0|                     dd          \  } }
|                    d|
           n Y d }	~	nd }	~	ww xY w||}d }d }|D ]}|}t                               d|           t)          ||          } |||          }	 t                               d|           n,# t*          $ r t                               d|f           Y nw xY w|}||||gS # t,          t          f$ r}	t/          |	t,                    r|r|}	|rd|dd                    |          d| }nd| d| }t/          |	t                    r^|	j        \  }}t/          |t2                    r|dz  }nRt/          |t                    r|j        r|d|j        d         z  z  }n"|d|z  z  }n|dt5          j                    z  z  }t                               |           t          |          |	d }	~	ww xY w)Nz[autodoc] from %s import %s.z[autodoc] import %s)r+   SPHINX_AUTODOC_RELOAD_MODULESc                    g | ]}|v|	S  rE   ).0moriginal_module_namess     r    
<listcomp>z!import_object.<locals>.<listcomp>j   s$    "\"\"\QF[=[=[1=[=[=[    TFz[autodoc] import %s => %rz[autodoc] import %s => failedr$   r   z[autodoc] getattr(_, %r)z[autodoc] => %rzautodoc: failed to import  z from module zJ; the module executes module level statement and it might call sys.exit().z(; the following exception was raised:
%s)loggerdebugjoinlist	frozensetsysmodulesr0   osenvirongettypingr   
contextlibsuppressr2   KeyErrorr:   rsplitinsertr!   	TypeErrorr   
isinstanceargs
SystemExitr3   r4   )r*   r<   r>   r?   r+   r7   exc_on_importingnew_modulesrG   r5   r   objparentobject_nameattrnamemangled_nameerrmsgreal_exctraceback_msgrH   s                      @r    import_objectrj   Y   sY     52GSXXg=N=NOOOO*G444K+w--n(1#+(>(>%&w~NNN:>>"ABB 2"\"\"\"\ck"\"\"\K5/3,'0hGG ? ?%0 ? ? .s{1~ > > > >?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 05,,u,4444 [1F8'6JJJJ   <gFFF#& '>>$+NN3$:$:MGTNN1d++++ ,++++# n6  	# 	#HFLL3X>>>!#x00L*S,//C8.4444 8 8 8 .777778
 #KKS11K( + + +c>** 	#/? 	#"C 	H 	Hww 1 1 1 177<FF H'GGGGGFc;'' 	[ '*h#Hm(J// V ; <Hk22 Vx} VEVWHXXXEUUAIDXDZDZZZFV&!!s*5+s   I? 'A!E> 	+D> 4%D&D> &D**D> -D*.D> 1E> >E1E> =I? >
G$AGI? G$$A	I? .I
	I? 
&I30I? 2I33I? ?NC8NNc                  .    e Zd ZU ded<   ded<   ded<   dS )	Attributer   r   r,   directly_definedr   valueN)r   
__module____qualname____annotations__rE   rJ   r    rl   rl      s.         IIIJJJJJrJ   rl   r   analyzerModuleAnalyzer | Nonedict[str, Attribute]c                   ddl m}  || di           }i }t          |           rv| j                                        D ]\  }}||vrt          |d|          ||<   | j        d         }	|D ]/}||	j        vr$t          | |          }t          |d|          ||<   0	 t          |           }
|
rddl m
} |
D ]}t          |d|          ||<   n# t          t          f$ r Y nw xY wt          |           D ]M}	  || |          }||v }t          | |          }|r||vrt          |||          ||<   ># t          $ r Y Jw xY wt!          t#          |                     D ]E\  }}t%          |          D ]0}t          ||          }|r||vrt          ||dk    |          ||<   1F|rMd                    |          }|                                D ]#\  }}||k    r||vrt          |d|          ||<   $|S )z,Get members and attributes of target object.r   )INSTANCEATTR__dict__Tr$   	SLOTSATTRrB   )sphinx.ext.autodocrv   r   __members__itemsrl   r&   rw   r   r   ry   r\   
ValueErrordirr)   r   	enumerater   r   rN   find_attr_docs)r   r<   r?   rr   rv   obj_dictmembersr   rn   
superclasssubject___slots__ry   rm   ir(   	namespacenss                    r    get_object_membersr      s    0///// z':r22H$&G 7 	=".4466 	= 	=KD%7"" )$e < <_Q'
 	= 	=D:...$Wd33 )$e < <$W-- 	A444444) A A )$i @ @z"    G  	Jw--E#x/GT**D IG++ )$0@% H H 	 	 	H	 F7OO,, F F3"3'' 	F 	FDC&&D FG++ )$Q E E	F
  DHHW%%	"1133 	D 	DJRB4w#6#6 )$l C CNs$   0C C! C!6:D11
D>=D>Tinherit_docstringsdict[str, ObjectMember]c           
     D   ddl m}m}  || di           }i }t          |           rp| j                                        D ]\  }}	||vr |||	|           ||<   | j        d         }
|D ],}||
j        vr!t          | |          }	 |||	|           ||<   -	 t          |           }|r2ddl m
} |                                D ]\  }} |||| |          ||<   n# t          t          f$ r Y nw xY wt          |           D ]x}	  || |          }	t          |	          rt          |	          }	t!          | |          }|r)||vr%||v r |||	|           ||<   n |||	          ||<   i# t"          $ r Y uw xY w	 t%          |           D ]}	 t          |d          }t          |d	          }t'          j        |          }|                                 n!# t"          $ r d
}d
}Y nt,          $ r d
}Y nw xY wt/          |          D ]\}t!          ||          }|rH||vrD|r.||f|j        v r#d                    |j        ||f                   }nd
} |||||          ||<   ]|r|j                                        D ]\  \  }}}||k    r*||vr& ||||d                    |                    ||<   8||k    rN|rLt5          ||         |          r6||         j        s)|| k    r|sld                    |          ||         _        n# t"          $ r Y nw xY w|S )z+Get members and attributes of target class.r   )rv   r   rw   )class_r$   rx   )r   	docstringro   rp   N
)rz   rv   r   r   r{   r|   r&   rw   r   r   ry   r\   r}   r~   r   r	   r)   r   r   r
   
for_moduleanalyzer   r   	attr_docsrN   r]   r   )r   r<   r?   r   rv   r   r   r   r   rn   r   r   ry   r   	unmangledr(   r*   qualnamerr   r   s                       r    get_class_membersr      s    >======= z':r22H')G 7 	J".4466 	J 	JKD%7"" ,T5 I I I_Q'
 	J 	JD:...$Wd33 ,T5 I I I	$W-- 	B444444#4#:#:#<#< B Bi ,T9W7@!B !B !Bz"    G  	Jw--Ee}} *"5)) $//I HYg558##)5iw)W)W)WGI&&)5i)G)GGI& 	 	 	H	,'?? )	G )	GC	 &sL99'^<<)4W==  """"!              's++ 	F 	FT** FD// )Xt$48J$J$J$(IIh.@4.P$Q$Q		$(	$0L|C;D%F %F %FGDM  G-5-?-E-E-G-G G G)JR	X~~$g*=*=(4T<PS?Cyy?S?S)U )U )U..Y.$WT]LAA )%dm5 ) '>>2D> % 37))I2F2F/S)	GT     Nsj   AC C0/C0A%E++
E87E8<L AGL G6&L (G63L 5G66DL 
LL)r   r   r   r   r   r   )r   r   r   r   r   r"   )F)r*   r   r+   r,   r   r   )r7   r   r+   r,   r   r   )r*   r   r<   r=   r>   r   r?   r@   r+   r,   r   r   )N)
r   r   r<   r=   r?   r   rr   rs   r   rt   )T)
r   r   r<   r   r?   r   r   r,   r   r   )+__doc__
__future__r   rW   r/   rS   rQ   r3   rV   r   r   r   r   sphinx.ext.autodoc.mockr   r	   sphinx.pycoder
   r   sphinx.utilr   sphinx.util.inspectr   r   r   r   r   r   typesr   rz   r   	getLoggerr   rL   r!   r)   r0   r:   rj   rl   r   r   rE   rJ   r    <module>r      sZ   $ $ " " " " " "         				 



      ; ; ; ; ; ; ; ; ; ; ; ; 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5                       0      //////		8	$	$      &
@ 
@ 
@ 
@ 
@
@ 
@ 
@ 
@ 
@ DF:F).S+ S+ S+ S+ S+l    
    '+	> > > > >D 26` ` ` ` ` ` `rJ   