File: //usr/lib/python3/dist-packages/sphinx/ext/autodoc/__pycache__/__init__.cpython-310.pyc
o
o�a�� � @ s� d Z ddlZddlZddlmZmZ ddlmZ ddlm Z m
Z
mZmZm
Z
mZmZmZmZmZmZmZmZ ddlmZ ddlZddlmZ ddlmZmZ dd lmZm Z dd
l!m"Z" ddl#m$Z$m%Z%m&Z&m'Z' ddl(m)Z)m*Z*m+Z+ dd
l,m-Z-m.Z. ddl/m0Z0m1Z1 ddl2mZm3Z3 ddl4m5Z5m6Z6 ddl7m8Z8m9Z9m:Z:m;Z;m<Z< ddl=m>Z>m?Z?m@Z@ ddl=mAZB e r�ddlCmDZD e3�EeF�ZGeHeHjI�ZJe�KdejL�ZMe�Kd�ZNde
de
fdd�ZOG dd� d�ZPG dd� d�ZQeP� ZReQ� ZSeT� ZUeT� ZVeT� ZWde
deeTeeX f fd d!�ZYde
deeTeeX f fd"d#�ZZde
deeTeeX f fd$d%�Z[de
deeTeeX f fd&d'�Z\de
deeX fd(d)�Z]de
deeX fd*d+�Z^eT� Z_de
de
fd,d-�Z`de
deafd.d/�Zbd0eddfd1d2�Zcd0eddfd3d4�Zdd�d5eed6eed7eXdefd8d9�Zf : :d�d;eXd7eeX d<ead=eadef
d>d?�ZgG d@dA� dAeh�ZiG dBdC� dCej�Zkeeek eeeXe
f f ZlG dDdE� dE�ZmG dFdG� dGem�ZnG dHdI� dIem�ZoG dJdK� dKem�ZpG dLdM� dM�ZqG dNdO� dOeq�ZrG dPdQ� dQeqeo�ZsG dRdS� dSes�ZtdTgZudUgZvG dVdW� dWeqeo�ZwG dXdY� dYew�ZxG dZd[� d[�ZyG d\d]� d]ey�ZzG d^d_� d_ey�Z{G d`da� daey�Z|G dbdc� dcey�Z}G ddde� deeze{e|e}eo�Z~G dfdg� dge~�ZG dhdi� dieqep�Z�G djdk� dkey�Z�G dldm� dmey�Z�G dndo� doey�Z�G dpdq� dqey�Z�G drds� dseze{e�e|e�e�e�erep�Z�G dtdu� duerep�Z�G dvdw� dwe��Z�dxedeeXeem f fdydz�Z�dxed{e
d|eXd}e
de
f
d~d�Z�dxed�eddfd�d��Z�dd�l�m�Z� dd�l�m�Z� dd�l�m�Z� dd�l�m�Z� dd�l�m�Z� dd�l�m�Z� dd�l�m�Z� dxedeeXe
f fd�d��Z�dS )�ap
sphinx.ext.autodoc
~~~~~~~~~~~~~~~~~~
Automatically insert docstrings for functions, classes or whole modules into
the doctree, thus avoiding duplication between docstrings and documentation
for those who like elaborate docstrings.
:copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS.
:license: BSD, see LICENSE for details.
� N)� Parameter� Signature)�
ModuleType)
�
TYPE_CHECKING�Any�Callable�Dict�Iterator�List�Optional�Sequence�Set�Tuple�Type�TypeVar�Union)�
StringList)�Sphinx)�ENUM�Config)�RemovedInSphinx50Warning�RemovedInSphinx60Warning)�BuildEnvironment)�get_class_members�get_object_members�
import_module�
import_object)�ismock�mock�
undecorate)�_�__)�ModuleAnalyzer�PycodeError)�inspect�logging)�prepare_docstring�separate_metadata)�evaluate_signature�getdoc�object_description�safe_getattr�stringify_signature)�
OptionSpec�get_type_hints�restify)� stringify)�DocumenterBridgeaQ ^ ([\w.]+::)? # explicit module name
([\w.]+\.)? # module and/or class name(s)
(\w+) \s* # thing name
(?: \((.*)\) # optional: arguments
(?:\s* -> \s* (.*))? # return annotation
)? $ # and nothing more
z ^__\S+__$�x�returnc C s | S �N� )r2 r5 r5 �=/usr/lib/python3/dist-packages/sphinx/ext/autodoc/__init__.py�identity? � r7 c @ s4 e Zd ZdZdedefdd�Zdeddfdd�ZdS ) �_Allz;A special value for :*-members: that matches to any member.�itemr3 c C � dS �NTr5 ��selfr: r5 r5 r6 �__contains__F r8 z_All.__contains__Nc C � d S r4 r5 r= r5 r5 r6 �appendI r8 z_All.append)�__name__�
__module__�__qualname__�__doc__r �boolr? rA r5 r5 r5 r6 r9 C s r9 c @ s"