HEX
Server: Apache
System: Linux server2.voipitup.com.au 4.18.0-553.104.1.lve.el8.x86_64 #1 SMP Tue Feb 10 20:07:30 UTC 2026 x86_64
User: posscale (1027)
PHP: 8.2.29
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //opt/alt/python38/lib/python3.8/site-packages/funcsigs/__pycache__/__init__.cpython-38.pyc
U

�.W�v�@s\dZddlmZmZmZddlZddlZddlZddlZzddl	m
Z
Wn ek
rhddlm
Z
YnXddl
mZdddd	gZeej�Zeej�ZeeejfZd"d
d�Zdd
�Zdd	�ZGdd�de�ZGdd�de�ZGdd�de�Zeddd�Zeddd�Z eddd�Z!eddd�Z"eddd�Z#Gdd�de�Z$Gd d�de�Z%Gd!d�de�Z&dS)#z�Function signature objects for callables

Back port of Python 3.3's function signature tools from the inspect module,
modified to be compatible with Python 2.6, 2.7 and 3.3+.
�)�absolute_import�division�print_functionN)�OrderedDict)�__version__�BoundArguments�	Parameter�	Signature�	signaturecCs8t|t�r0|jdd|fkr |jS|jd|jSt|�S)N�builtinsZ__builtin__�.)�
isinstance�type�
__module__�__name__�repr)�
annotation�base_module�r�B/opt/alt/python38/lib/python3.8/site-packages/funcsigs/__init__.py�formatannotations

rcGs\z2|tkrWdSt||�}|D]}t|||�}qWntk
rHYdSXt|t�sX|SdS�N)r�getattr�AttributeErrorr
�_NonUserDefinedCallables)�cls�method_name�nested�meth�namerrr�_get_user_defined_method's

r c
Cs�t|�std�|���t|tj�r�t|j�}|jdkr:|St	|j
���}|r^|djt
tfkrftd��|dj}|ttfkr�|dd�}n|tk	r�td��|j|d�Sz
|j}Wntk
r�YnX|dk	r�|Sz
|j}Wntk
r�Yn
Xt|�St|tj��rt�|�St|tj��rt|j�}t|j
���}|j�pBd}|j �pNi}z|j!||�}Wn6tk
�r�}	zd	�|�}
t|
��W5d}	~	XYnX|j"��D]R\}}||}
||k�r�|
j|d
d�||<n"|
jt
tfk�r�|
j#�s�|�$|��q�|j|��d�Sd}t|t%��rtt&t%|�d�}|dk	�r8t|�}n:t&|d
�}|dk	�rVt|�}nt&|d�}|dk	�r�t|�}n.t|t'��s�t&t%|�dd�}|dk	�r�t|�}|dk	�r�|jt	|j
���dd�d�St|tj(��r�d�|�}
t|
��td�|���dS)z/Get a signature object for the passed callable.z{0!r} is not a callable objectNrzinvalid method signature�zinvalid argument type)�
parametersrz,partial object {0!r} has incorrect argumentsT)�default�_partial_kwarg�__call__�__new__�__init__Zim_funcz-no signature found for builtin function {0!r}z,callable {0!r} is not supported by signature))�callable�	TypeError�formatr
�types�
MethodTyper
�__func__�__self__�tupler"�values�kind�_VAR_KEYWORD�
_KEYWORD_ONLY�
ValueError�_POSITIONAL_OR_KEYWORD�_POSITIONAL_ONLY�_VAR_POSITIONAL�replace�
__signature__r�__wrapped__�FunctionTyper	�
from_function�	functools�partial�funcr�items�args�keywords�bind_partial�	argumentsr$�poprr r�BuiltinFunctionType)�obj�sig�paramsr1�wrapped�
new_params�partial_args�partial_keywords�ba�ex�msgZarg_name�	arg_value�param�call�new�initrrrr
7s�








��










c@seZdZdZdS)�_voidz0A private marker - used in Parameter & SignatureN)rr�__qualname__�__doc__rrrrrV�srVc@seZdZdS)�_emptyN)rrrWrrrrrY�srYc@s$eZdZdd�Zdd�Zdd�ZdS)�_ParameterKindcOstj|f|��}|d|_|S)Nr)�intr&�_name)�selfrA�kwargsrGrrrr&�s
z_ParameterKind.__new__cCs|jSr�r\�r]rrr�__str__�sz_ParameterKind.__str__cCsd�|j�S)Nz<_ParameterKind: {0!r}>)r*r\r`rrr�__repr__�sz_ParameterKind.__repr__N)rrrWr&rarbrrrrrZ�srZ�POSITIONAL_ONLY�rr!�POSITIONAL_OR_KEYWORD��VAR_POSITIONAL��KEYWORD_ONLY��VAR_KEYWORDc@s�eZdZdZdZeZeZe	Z
eZe
ZeZeedfdd�Zedd��Zedd	��Zed
d��Zedd
��Zeeeeefdd�Zdd�Zdd�Zdd�Zdd�Zdd�ZdS)ra�Represents a parameter in a function signature.

    Has the following public attributes:

    * name : str
        The name of the parameter as a string.
    * default : object
        The default value for the parameter if specified.  If the
        parameter has no default value, this attribute is not set.
    * annotation
        The annotation for the parameter if specified.  If the
        parameter has no annotation, this attribute is not set.
    * kind : str
        Describes how argument values are bound to the parameter.
        Possible values: `Parameter.POSITIONAL_ONLY`,
        `Parameter.POSITIONAL_OR_KEYWORD`, `Parameter.VAR_POSITIONAL`,
        `Parameter.KEYWORD_ONLY`, `Parameter.VAR_KEYWORD`.
    )r\�_kind�_default�_annotationr$FcCs�|tttttfkrtd��||_|tk	rF|ttfkrFd�|�}t|��||_	||_
|dkrr|tkrjtd��||_n8t|�}|tkr�t
�d|t
j�s�d�|�}t|��||_||_dS)Nz,invalid value for 'Parameter.kind' attributez){0} parameters cannot have default valuesz<None is not a valid name for a non-positional-only parameterz
[a-z_]\w*$z#{0!r} is not a valid parameter name)r6r5r7r3r2r4rlrYr*rmrnr\�str�re�match�Ir$)r]rr1r#rr$rPrrrr'�s.�

zParameter.__init__cCs|jSrr_r`rrrrszParameter.namecCs|jSr)rmr`rrrr#szParameter.defaultcCs|jSr)rnr`rrrrszParameter.annotationcCs|jSr)rlr`rrrr1!szParameter.kindcCs\|tkr|j}|tkr|j}|tkr*|j}|tkr8|j}|tkrF|j}t|�|||||d�S)z+Creates a customized copy of the Parameter.)r#rr$)rVr\rlrnrmr$r)r]rr1rr#r$rrrr8%s�zParameter.replacecCs�|j}|j}|tkr*|dkr d}d�|�}|jtk	rFd�|t|j��}|jtk	rbd�|t|j��}|t	krtd|}n|t
kr�d|}|S)N�z<{0}>z{0}:{1}z{0}={1}�*z**)r1r\r6r*rnrYrrmrr7r2)r]r1�	formattedrrrra;s"

�

zParameter.__str__cCsd�|jjt|�|j�S)Nz<{0} at {1:#x} {2!r}>)r*�	__class__r�idrr`rrrrbSs
�zParameter.__repr__cCsd�|jj�}t|��dS�Nzunhashable type: '{0}'�r*rvrr)�r]rPrrr�__hash__WszParameter.__hash__cCs<t|jt�o:|j|jko:|j|jko:|j|jko:|j|jkSr)�
issubclassrvrr\rlrmrn�r]�otherrrr�__eq__[s
�
�
�
�zParameter.__eq__cCs|�|�Sr�rr}rrr�__ne__bszParameter.__ne__N)rrrWrX�	__slots__r6rcr5rer7rgr3rir2rkrY�emptyr'�propertyrr#rr1rVr8rarbr{rr�rrrrr�s8�




�
c@sTeZdZdZdd�Zedd��Zedd��Zedd	��Zd
d�Z	dd
�Z
dd�ZdS)raResult of `Signature.bind` call.  Holds the mapping of arguments
    to the function's parameters.

    Has the following public attributes:

    * arguments : OrderedDict
        An ordered mutable mapping of parameters' names to arguments' values.
        Does not contain arguments' default values.
    * signature : Signature
        The Signature object that created this instance.
    * args : tuple
        Tuple of positional arguments values.
    * kwargs : dict
        Dict of keyword arguments values.
    cCs||_||_dSr)rD�
_signature)r]r
rDrrrr'wszBoundArguments.__init__cCs|jSr)r�r`rrrr
{szBoundArguments.signaturec	Cs�g}|jj��D]j\}}|jttfks,|jr0q|z|j|}Wntk
rXYq|YqX|jt	krp|�
|�q|�|�qt|�Sr)
r�r"r@r1r2r3r$rD�KeyErrorr7�extend�appendr/)r]rA�
param_namerR�argrrrrAs�
zBoundArguments.argsc	Cs�i}d}|jj��D]~\}}|sJ|jttfks4|jr:d}n||jkrJd}q|sPqz|j|}Wntk
rrYqX|jtkr�|�	|�q|||<q|S)NFT)
r�r"r@r1r2r3r$rDr��update)r]r^�kwargs_startedr�rRr�rrrr^�s*�


zBoundArguments.kwargscCsd�|jj�}t|��dSrxryrzrrrr{�szBoundArguments.__hash__cCs$t|jt�o"|j|jko"|j|jkSr)r|rvrr
rDr}rrrr�s

�
�zBoundArguments.__eq__cCs|�|�Srr�r}rrrr��szBoundArguments.__ne__N)rrrWrXr'r�r
rAr^r{rr�rrrrrfs


c@s�eZdZdZdZeZeZe	Z
de	dfdd�Zedd��Z
ed	d
��Zedd��Zeefd
d�Zdd�Zdd�Zdd�Zddd�Zdd�Zdd�Zdd�ZdS)r	aA Signature object represents the overall signature of a function.
    It stores a Parameter object for each parameter accepted by the
    function, as well as information specific to the function itself.

    A Signature object has the following public attributes and methods:

    * parameters : OrderedDict
        An ordered mapping of parameters' names to the corresponding
        Parameter objects (keyword-only arguments are in the same order
        as listed in `code.co_varnames`).
    * return_annotation : object
        The annotation for the return type of the function if specified.
        If the function has no annotation for its return type, this
        attribute is not set.
    * bind(*args, **kwargs) -> BoundArguments
        Creates a mapping from positional and keyword arguments to
        parameters.
    * bind_partial(*args, **kwargs) -> BoundArguments
        Creates a partial mapping from positional and keyword arguments
        to parameters (simulating 'functools.partial' behavior.)
    )�_return_annotation�_parametersNTcCs�|dkrt�}n�|r�t�}t}t|�D]z\}}|j}||krXd}	|	�||j�}	t|	��n|}|j}
|
dkr~t|�}
|j|
d�}|
|kr�d�|
�}	t|	��|||
<q&ntdd�|D��}||_	||_
dS)z�Constructs Signature from the given list of Parameter
        objects and 'return_annotation'.  All arguments are optional.
        Nz%wrong parameter order: {0} before {1}rdzduplicate parameter name: {0!r}css|]}|j|fVqdSrrd)�.0rRrrr�	<genexpr>s�z%Signature.__init__.<locals>.<genexpr>)rr6�	enumerater1r*r4rror8r�r�)r]r"�return_annotation�__validate_parameters__rI�top_kind�idxrRr1rPrrrrr'�s2

�zSignature.__init__c	Cs�t|tj�std�|���|j}|j}|j}|j}t	|d|��}t
|dd�}||||�}t
|di�}	|j}
t
|dd�}|
r�t|
�}nd}g}
||}|d|�D]$}|	�
|t�}|
�|||td��q�t||d��D].\}}|	�
|t�}|
�|||t|
|d��q�|jd	@�rD|||}|	�
|t�}|
�|||td��|D]B}t}|dk	�rf|�
|t�}|	�
|t�}|
�|||t|d���qH|jd
@�r�||}|jd	@�r�|d7}||}|	�
|t�}|
�|||td��||
|	�
dt�d
d�S)z2Constructs Signature for the given python functionz{0!r} is not a Python functionN�co_kwonlyargcountr�__annotations__�__kwdefaults__)rr1)rr1r#rj�r!�returnF)r�r�)r
r+r;r)r*�_parameter_cls�__code__�co_argcount�co_varnamesr/r�__defaults__�len�getrYr�r5r��co_flagsr7r3r2)rr?r�	func_code�	pos_count�	arg_names�
positional�keyword_only_count�keyword_only�annotations�defaults�
kwdefaults�pos_default_countr"�non_default_countrr�offsetr#�indexrrrr<sp

�

�

�

�
�
�zSignature.from_functioncCs6zt�|j�WStk
r0t|j���YSXdSr)r+�MappingProxyTyper�rrr@r`rrrr"TszSignature.parameterscCs|jSr)r�r`rrrr�[szSignature.return_annotationcCs0|tkr|j��}|tkr |j}t|�||d�S)z�Creates a customized copy of the Signature.
        Pass 'parameters' and/or 'return_annotation' arguments
        to override them in the new copy.
        )r�)rVr"r0r�r)r]r"r�rrrr8_s
�zSignature.replacecCsd�|jj�}t|��dSrxryrzrrrr{nszSignature.__hash__c	Cs�tt|�t�r.|j|jks.t|j�t|j�kr2dStdd�t|j���D��}t|j�	��D]�\}\}}|j
tkr�z|j|}Wntk
r�YdSX||kr�dSq\z||}Wntk
r�YdSX||ks�||j|kr\dSq\dS)NFcss|]\}}||fVqdSrr)r�r�rRrrrr�xs�z#Signature.__eq__.<locals>.<genexpr>T)
r|rr	r�r�r"�dictr��keysr@r1r3r�)r]r~Zother_positionsr�r�rRZother_paramZ	other_idxrrrrrs4
���


�zSignature.__eq__cCs|�|�Srr�r}rrrr��szSignature.__ne__FcCs�t�}t|j���}d}t|�}|rP|j��D] \}}	|	jr.||kr.|	j||<q.zt|�}
Wn�tk
�r<zt|�}	Wntk
r�YY�q�Yn�X|	j	t
kr�Y�q�n�|	j|kr�|	j	tkr�d}|j
|	jd�}t|��|	f}Y�q�nR|	j	tks�|	jtk	�r
|	f}Y�q�n.|�r|	f}Y�q�nd}|j
|	jd�}t|��YqPXzt|�}	Wntk
�rhtd��YqPX|	j	ttfk�r�td��|	j	t
k�r�|
g}|�|�t|�||	j<�q�|	j|k�r�tdj
|	jd���|
||	j<qPd}
t�||�D]�}	|	j	tk�rtdj
|	jd���|	j	tk�r |	}
�q�|	j}z|�|�}
WnDtk
�rx|�st|	j	t
k�rt|	jtk�rttdj
|d���Yn
X|
||<�q�|�r�|
dk	�r�|||
j<ntd|��|�||�S)	z$Private method.  Don't use directly.rzA{arg!r} parameter is positional only, but was passed as a keyword)r�z'{arg!r} parameter lacking default valueztoo many positional argumentsz$multiple values for argument {arg!r}Nztoo many keyword arguments %r)r�iterr"r0r@r$r#�next�
StopIterationr1r7rr6r*r)r2rYr3r�r/�	itertools�chainrEr��_bound_arguments_cls)r]rAr^r>rDr"�
parameters_ex�arg_valsr�rR�arg_valrPr0�kwargs_paramrrr�_bind�s�



�
����
zSignature._bindcOs|d�|dd�|�S)z�Get a BoundArguments object, that maps the passed `args`
        and `kwargs` to the function's signature.  Raises `TypeError`
        if the passed arguments can not be bound.
        rr!N�r�)rAr^rrr�bindszSignature.bindcOs|j||dd�S)z�Get a BoundArguments object, that partially maps the
        passed `args` and `kwargs` to the function's signature.
        Raises `TypeError` if the passed arguments can not be bound.
        T)r>r�)r]rAr^rrrrCszSignature.bind_partialc	Cs�g}d}t|j���D]H\}}t|�}|j}|tkr:d}n|tkrT|rT|�d�d}|�|�qd�d�	|��}|j
tk	r�t|j
�}|d�|�7}|S)NTFrtz({0})z, z -> {0})
r�r"r0ror1r7r3r�r*�joinr�rYr)	r]�result�render_kw_only_separatorr�rRrur1�rendered�annorrrra!s 


zSignature.__str__)F)rrrWrXr�rr�rr�rYr�r'�classmethodr<r�r"r�rVr8r{rr�r�r�rCrarrrrr	�s.�
&
H


)N)'rX�
__future__rrrr�r=rpr+�collectionsr�ImportErrorZordereddictZfuncsigs.versionr�__all__rr%�_WrapperDescriptor�all�_MethodWrapperrFrrr r
�objectrVrYr[rZr6r5r7r3r2rrr	rrrr�<module>sB

�


a