HEX
Server: Microsoft-IIS/10.0
System: Windows NT ITPWINWEBSVR22 10.0 build 20348 (Windows Server 2022) AMD64
User: www.conferencesearch.co.uk (0)
PHP: 8.3.30
Disabled: NONE
Upload Files
File: D:/Python311/Lib/__pycache__/inspect.cpython-311.opt-2.pyc
�

��Vc������	dZgd�ZddlZddlZddlZddlZddlZddlZ	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlZddlZddlZddlZddlmZddlmZddlmZmZe��Zej���D]
\ZZeedez<�[[[dZ ddd	d
�d�Z!d�Z"d
�Z#d�Z$d�Z%d�Z&e'ed��rd�Z(nd�Z(e'ed��rd�Z)nd�Z)d�Z*d�Z+d�Z,d�Z-d�Z.d�Z/d�Z0d�Z1d�Z2d �Z3d!�Z4d"�Z5d#�Z6d$�Z7d%�Z8d&�Z9d'�Z:d�d(�Z;d�d)�Z<ed*d+��Z=d,�Z>d-�Z?dd.�d/�Z@d0�ZAd1�ZBd2�ZCd3�ZDd4�ZEd5�ZFd6�ZGd7�ZHd�d8�ZIiZJiZKd�d9�ZLGd:�d;eM��ZNGd<�d=ejO��ZPd>�ZQd?�ZRGd@�dAeM��ZSGdB�dC��ZTdD�ZUdE�ZVdF�ZWdG�ZXd�dH�ZYedIdJ��ZZdK�Z[edLdM��Z\dN�Z]edOdP��Z^dQ�Z_d�dR�Z`dS�ZaebdT�dU�dV�fdW�ZcdX�ZddY�ZedZ�Zfed[d\��Zgd]�Zhed^d_��ZiGd`�daei��Zjdb�Zkdc�Zld�de�Zmdf�Znedgdhejjoz��ZpGdi�djep��Zqd�dk�Zrd�dl�Zsdm�Ztd�dn�Zud�do�Zvew��Zxdp�Zydq�Zzdr�Z{ds�Z|dt�Z}exfdu�Z~dvZdwZ�dxZ�dyZ�dz�Z�d{�Z�d|Z�d}Z�d~Z�dZ�d��Z�d��Z�ej�ej�ej�ej�fZ�d��Z�d�d��Z�d��Z�d��Z�d��Z�d��Z�d�d��Z�d�d��Z�		d�d��Z�d�d�ddd	d��d��Z�Gd��d���Z�Gd��d���Z�Gd��d�ej���Z�e�j�Z�e�j�Z�e�j�Z�e�j�Z�e�j�Z�Gd��d���Z�Gd��d���Z�Gd��d���Z�d�ddd	d��d��Z�d��Z�e�d�kre���dSdS)�)zKa-Ping Yee <ping@lfw.org>z'Yury Selivanov <yselivanov@sprymix.com>)`�ArgInfo�	Arguments�	Attribute�BlockFinder�BoundArguments�CORO_CLOSED�CORO_CREATED�CORO_RUNNING�CORO_SUSPENDED�CO_ASYNC_GENERATOR�CO_COROUTINE�CO_GENERATOR�CO_ITERABLE_COROUTINE�	CO_NESTED�CO_NEWLOCALS�	CO_NOFREE�CO_OPTIMIZED�
CO_VARARGS�CO_VARKEYWORDS�ClassFoundException�ClosureVars�
EndOfBlock�	FrameInfo�FullArgSpec�
GEN_CLOSED�GEN_CREATED�GEN_RUNNING�
GEN_SUSPENDED�	Parameter�	Signature�TPFLAGS_IS_ABSTRACT�	Traceback�classify_class_attrs�cleandoc�currentframe�
findsource�formatannotation�formatannotationrelativeto�formatargvalues�get_annotations�
getabsfile�getargs�getargvalues�getattr_static�getblock�getcallargs�getclasstree�getclosurevars�getcomments�getcoroutinelocals�getcoroutinestate�getdoc�getfile�getframeinfo�getfullargspec�getgeneratorlocals�getgeneratorstate�getinnerframes�	getlineno�
getmembers�getmembers_static�	getmodule�
getmodulename�getmro�getouterframes�	getsource�
getsourcefile�getsourcelines�
indentsize�
isabstract�
isasyncgen�isasyncgenfunction�isawaitable�	isbuiltin�isclass�iscode�iscoroutine�iscoroutinefunction�isdatadescriptor�isframe�
isfunction�isgenerator�isgeneratorfunction�isgetsetdescriptor�ismemberdescriptor�ismethod�ismethoddescriptor�ismethodwrapper�ismodule�	isroutine�istraceback�	signature�stack�trace�unwrap�walktree�N)�	iskeyword)�
attrgetter)�
namedtuple�OrderedDict�CO_iF��globals�locals�eval_strc�@���	t|t��r�t|dd��}|rCt|d��r3|�dd��}t|t
j��rd}nd}d}t|dd��}|r3tj�|d��}|rt|dd��}tt|����}	|}
n�t|t
j��r&t|dd��}t|d��}d}	d}
nHt|��r't|dd��}t|dd��}d}	|}
nt|�d����|�iSt|t��st|�d����|siS|st|��S|
�S	t|
d	��r|
j}
�t|
t j��r|
j}
�;	t|
d��r|
j}��|���|	���fd
�|���D��}|S)N�__dict__�get�__annotations__�
__module__�__globals__z% is not a module, class, or callable.z+.__annotations__ is neither a dict nor NoneT�__wrapped__c�h��i|].\}}|t|t��s|nt|������/S�)�
isinstance�str�eval)�.0�key�valuerirjs   ���D:\Python311\Lib\inspect.py�
<dictcomp>z#get_annotations.<locals>.<dictcomp>sO���(�(�(��C�����s�+�+�M����e�W�f�1M�1M�(�(�(�)ru�type�getattr�hasattrrn�types�GetSetDescriptorType�sys�modules�dict�vars�
ModuleType�callable�	TypeError�
ValueErrorrr�	functools�partial�funcrq�items)�objrirjrk�obj_dict�ann�obj_globals�module_name�module�
obj_localsr`�return_values ``         r{r)r)�s�����+�X�#�t���!I��3�
�D�1�1���	���%�0�0�	��,�,�0�$�7�7�C��#�u�9�:�:�
�����C����c�<��6�6���	@��[�_�_�[�$�7�7�F��
@�%�f�j�$�?�?���$�s�)�)�_�_�
����	�C��)�	*�	*�I��c�,�d�3�3���c�:�.�.���
����	�#���	I��c�,�d�3�3���c�=�$�7�7���
�����3�G�G�G�H�H�H�
���	��c�4� � �P��C�N�N�N�O�O�O����	����C�y�y��
�
-�	��v�}�-�-�
��+����&�)�"3�4�4�
�������6�=�)�)�	-� �,�K�����
����(�(�(�(�(��)�)�+�+�(�(�(�L��r}c�8�	t|tj��S�N)rur�r���objects r{rZrZs��C��f�e�.�/�/�/r}c�.�	t|t��Sr�)rur~r�s r{rLrL$s��J�
�f�d�#�#�#r}c�8�	t|tj��Sr�)rur��
MethodTyper�s r{rWrW,s��B��f�e�.�/�/�/r}c���	t|��st|��st|��rdSt|��}t	|d��ot	|d��S)NF�__get__�__set__�rLrWrRr~r��r��tps  r{rXrX6sh��B��v����(�6�*�*��j��.@�.@���u�	
�f���B��2�y�!�!�@�'�"�i�*@�*@�&@�@r}c��	t|��st|��st|��rdSt|��}t	|d��pt	|d��S)NFr��
__delete__r�r�s  r{rPrPJsd����v����(�6�*�*��j��.@�.@���u�	
�f���B��2�y�!�!�>�W�R��%>�%>�>r}�MemberDescriptorTypec�8�	t|tj��Sr�)rur�r�r�s r{rVrVZ���	��&�%�"<�=�=�=r}c��	dS�NFrtr�s r{rVrVb���	��ur}r�c�8�	t|tj��Sr�)rur�r�r�s r{rUrUkr�r}c��	dSr�rtr�s r{rUrUsr�r}c�8�	t|tj��Sr�)rur��FunctionTyper�s r{rRrRzs��	I��f�e�0�1�1�1r}c���	t|��r|j}t|���tj|��}t	|��st|��sdSt
|jj|z��Sr�)	rW�__func__r��_unwrap_partialrR�_signature_is_functionlike�bool�__code__�co_flags)�f�flags  r{�_has_code_flagr��sy����1�+�+��
�J���1�+�+���!�!�$�$�A��q�M�M��7��:�:���u���
�#�d�*�+�+�+r}c�.�	t|t��Sr�)r�r
�r�s r{rTrT�s��6��#�|�,�,�,r}c�.�	t|t��Sr�)r�rr�s r{rOrO�s����#�|�,�,�,r}c�.�	t|t��Sr�)r�rr�s r{rIrI�s���
�#�1�2�2�2r}c�8�	t|tj��Sr�)rur��AsyncGeneratorTyper�s r{rHrH�s��A��f�e�6�7�7�7r}c�8�	t|tj��Sr�)rur��
GeneratorTyper�s r{rSrS�s��
K��f�e�1�2�2�2r}c�8�	t|tj��Sr�)rur��
CoroutineTyper�s r{rNrN�s��3��f�e�1�2�2�2r}c���	t|tj��pYt|tj��o t	|jjtz��pt|tj	j
��Sr�)rur�r�r�r��gi_coder�r�collections�abc�	Awaitabler�s r{rJrJ�sd��I��v�u�2�3�3�
:��v�u�2�3�3�
F��V�^�,�/D�D�E�E�
:�
�v�{��8�9�9�;r}c�8�	t|tj��Sr�)rur��
TracebackTyper�s r{r\r\�s��N��f�e�1�2�2�2r}c�8�	t|tj��Sr�)rur��	FrameTyper�s r{rQrQ�s��
D��f�e�o�.�.�.r}c�8�	t|tj��Sr�)rur��CodeTyper�s r{rMrM�s��O�,�f�e�n�-�-�-r}c�8�	t|tj��Sr�)rur��BuiltinFunctionTyper�s r{rKrK�s��H��f�e�7�8�8�8r}c�8�	t|tj��Sr�)rur��MethodWrapperTyper�s r{rYrYs��8��f�e�5�6�6�6r}c��	t|��p;t|��p,t|��pt|��pt	|��Sr�)rKrRrWrXrYr�s r{r[r[sY��F��f���
'��&�!�!�
'�����
'�"�&�)�)�
'��v�&�&�	(r}c��	t|t��sdS|jtzrdSt	t|��t
j��sdSt|d��rdS|j�	��D]\}}t|dd��rdS�|jD]<}t|dd��D](}t||d��}t|dd��rdS�)�=dS)NFT�__abstractmethods__�__isabstractmethod__rt)rur~�	__flags__r �
issubclassr��ABCMetar�rmr�r�	__bases__)r��namerz�bases    r{rGrGs��D��f�d�#�#���u�
��-�-���t��d�6�l�l�C�K�0�0���u��v�,�-�-���u���,�,�.�.�����e��5�0�%�8�8�	��4�4�	�� �����D�"7��<�<�	�	�D��F�D�$�/�/�E��u�4�e�<�<�
��t�t�t�
�	��5r}c��g}t��}t|��}t|��r}|ft|��z}	|jD]P}|j���D]4\}}	t|	tj	��r|�
|���5�Qn#t$rYnwxYwd}|D]�}
	|||
��}|
|vrt�n/#t$r"|D]}|
|jvr|j|
}n�Y�DYnwxYw|r||��r|�
|
|f��|�|
����|�
d����|S)Nrtc��|dS)Nrbrt)�pairs r{�<lambda>z_getmembers.<locals>.<lambda>Ms
��$�q�'�r}�ry)�set�dirrLrAr�rmr�rur��DynamicClassAttribute�append�AttributeError�add�sort)r��	predicate�getter�results�	processed�names�mror��k�vryrzs            r{�_getmembersr�&s����G����I���K�K�E��v���
��i�&��.�.�(��	��(�
(�
(�� �M�/�/�1�1�(�(�D�A�q�!�!�U�%@�A�A�(����Q�����(�
(���	�	�	��D�	����������
	��F�6�3�'�'�E��i��
%�$�$�
%���	�	�	��
�
���$�-�'�� �M�#�.�E��E����	�E�		�����	)�I�I�e�,�,�	)��N�N�C��<�(�(�(��
�
�c������L�L�)�)�L�*�*�*��Ns%�AB�
B)�(B)�3C�'C7�6C7c�0�	t||t��Sr�)r�r�r�r�s  r{r=r=Ps��G��v�y�'�2�2�2r}c�0�	t||t��Sr�)r�r-r�s  r{r>r>Us��
��v�y�.�9�9�9r}rzname kind defining_class objectc	���	t|��}tt|����}td�|D����}|f|z}||z}t|��}|D]W}|j���D];\}}t
|tj��r|j	�|�
|���<�Xg}	t��}
|D�]�}d}d}
d}||
vr�	|dkrtd���t||��}
t|
d|��}||vrWd}d}|D]}t||d��}||
ur|}�|D]0}	|�||��}n#t$rY�&wxYw||
ur|}�1|�|}n#t$r
}Yd}~nd}~wwxYw|D] }||jvr|j|}||vr|}n�!|���|
�|
n|}t
|t tjf��rd}|}nTt
|t$tjf��rd}|}n.t
|t(��rd}|}nt+|��rd}nd	}|	�
t-||||����|
�|�����|	S)
Nc3�:K�|]}|ttfv�|V��dSr�)r~r�)rx�clss  r{�	<genexpr>z'classify_class_attrs.<locals>.<genexpr>�s0����H�H�C�c�$���.G�H�C�H�H�H�H�H�Hr}rmz)__dict__ is special, don't want the proxy�__objclass__z
static methodzclass method�property�method�data)rAr~�tupler�rmr�rur�r��fgetr�r��	Exceptionr�__getattr__r��staticmethod�BuiltinMethodType�classmethod�ClassMethodDescriptorTyper�r[rr�)r�r��metamro�class_bases�	all_basesr�r�r�r��resultr�r��homecls�get_obj�dict_obj�last_cls�srch_cls�srch_obj�excr��kinds                     r{r"r"esR���4��+�+�C��T�#�Y�Y���G��H�H�7�H�H�H�H�H�G��&�3�,�K��g�%�I���H�H�E�� � ���M�'�'�)�)�	 �	 �D�A�q��!�U�8�9�9�
 �a�f�
 ����Q�����	 ��F����I��D�D���������y� �	+�
+��:�%�Q�#�$O�P�P�P�!�#�t�,�,��"�'�>�7�C�C���+�-�+�#�G�#�H�$/�0�0��#*�8�T�4�#@�#@��#�w�.�0�'/�H��$+�0�0��%�'/�';�';�C��'F�'F�H�H��-�%�%�%�$�H�%����#�w�.�0�'/�H���+�"*����/�
�
�
����������
����0�	�	�D��t�}�$�
��=��.���'�)�#�"�G���	
�
�	�
� �:�g�g�(���h��u�/F� G�H�H�	�"�D��C�C�
��;��0O�"P�
Q�
Q�		�!�D��C�C�
��(�
+�
+�	��D��C�C�
�s�^�^�	��D�D��D��
�
�i��d�G�S�9�9�:�:�:��
�
�d������Ms$�%E,�9E�
E�E�,
F�;Fc��	|jSr�)�__mro__)r�s r{rArA�s
��N��;�r}��stopc�@��	��d�}n�fd�}|}t|��|i}tj��}||��r_|j}t|��}||vst	|��|kr"td�|�����|||<||���_|S)Nc�"�t|d��S�Nrr�r��r�s r{�_is_wrapperzunwrap.<locals>._is_wrapper�s���1�m�,�,�,r}c�<��t|d��o�|��Srr)r�rs �r{rzunwrap.<locals>._is_wrapper�s"����1�m�,�,�<�T�T�!�W�W��<r}z!wrapper loop when unwrapping {!r})�idr��getrecursionlimitrr�lenr��format)r�rrr��memo�recursion_limit�id_funcs `     r{r`r`�s������=�	-�	-�	-�	-�	=�	=�	=�	=�	=��A�
�q�E�E�1�:�D��+�-�-�O�
�+�d�
�
������T�(�(���t�O�	L��T���o�!=�	L��@�G�G��J�J�K�K�K���W�
��+�d�
�
���Kr}c��	|���}t|��t|�����z
Sr�)�
expandtabsr�lstrip)�line�explines  r{rFrFs7��L��o�o���G��w�<�<�#�g�n�n�.�.�/�/�/�/r}c���tj�|j��}|�dS|j�d��dd�D]}t
||��}�t|��sdS|S)N�.���)r�r�rnrp�__qualname__�splitrrL)r�r�r�s   r{�
_findclassr-sv��

�+�/�/�$�/�
*�
*�C�
���t��!�'�'��,�,�S�b�S�1�!�!���c�4� � ����3�<�<���t��Jr}c�p�t|��r4|jD]*}|tur	|j}n#t$rY� wxYw|�|cS�+dSt|��rU|jj}|j}t|��r*tt||d��d��|jur|}�n`|j
}�nWt|��r.|j}t|��}|�t||��|urdS�nt|��r>|j}|j}t|��r|jdz|z|jkr|}n�|j
}n�t|t ��r4|j}|j}t|��}|�t||��|urdSn�t%|��st'|��rd|j}|j}t||��|urdSt+|��r2t|dd��}t|t,��r||vr||SndS|jD]/}	t||��j}n#t$rY�%wxYw|�|cS�0dS)Nr�r)�	__slots__)rLrr��__doc__r�rWr��__name__�__self__r�	__class__rRr-rKr+rur�r�rXrPr�rVr�)r�r��docr��selfr�r��slotss        r{�_finddocr7s����s�|�|�	��K�	�	�D��6�!�
���,�C�C��%�����H��������J�J�J���t���}�}�(��|�$���|���D�M�M�	!��G�D�$��-�-�z�:�:�c�l�J�	!��C�C��.�C�C�	�C�����|����o�o���	�'�#�t�,�,�C�7�	��4�	�	�3�����|���|���D�M�M�	!����#�d�*�c�.>�>�	!��C�C��.�C�C�	�C��	"�	"���x���}��������	�'�#�t�,�,�C�7�	��4�	�	�C�	 �	 �
�$4�S�$9�$9�
��|������3����S�(�	��4��c�"�"�	#��C��d�3�3�E��%��&�&�
#�4�5�=�
#��T�{�"���t������	��$��%�%�-�C�C���	�	�	��H�	�����	��J�J�J�	��4s�+�
8�8�	H�
H,�+H,c���		|j}n#t$rYdSwxYw|�)	t|��}n#ttf$rYdSwxYwt	|t
��sdSt
|��Sr�)r0r�r7r�rurvr#)r�r4s  r{r5r5Ps���B�
��n���������t�t�����
��	��6�"�"�C�C���	�*�	�	�	��4�4�	�����c�3�����t��C�=�=�s��
��/�A�Ac���		|����d��}tj}|dd�D]G}t	|�����}|r"t	|��|z
}t
||��}�H|r|d���|d<|tjkr3tdt	|����D]}|||d�||<�|r&|ds|���|r|d�|r'|ds|�d��|r|d�d�	|��S#t$rYdSwxYw)N�
�rbr*)r$r,r��maxsizerr%�min�range�pop�join�UnicodeError)r4�lines�marginr&�content�indent�is       r{r#r#cs���� ���� � �&�&�t�,�,��
����!�"�"�I�	-�	-�D��$�+�+�-�-�(�(�G��
-��T���W�,���V�V�,�,����	)��Q�x���(�(�E�!�H��C�K��	H��1�c�%�j�j�)�)�G�G��e�A�h�v�w�w�6G�5��8�8��	�E�"�I�	��I�I�K�K�K��	�E�"�I�	��	�E�!�H�	��I�I�a�L�L�L��	�E�!�H�	��y�y������)�����t�t����s�'E�
E�Ec��	t|��r:t|dd��r|jStd�|�����t|��r�t
|d��rVtj�	|j
��}t|dd��r|jS|j
dkrtd���td�|�����t|��r|j
}t|��r|j}t!|��r|j}t%|��r|j}t)|��r|jStd�t-|��j�����)N�__file__z{!r} is a built-in modulerp�__main__�source code not availablez{!r} is a built-in classzVmodule, class, method, function, traceback, frame, or code object was expected, got {})rZrrHr�rrLr�r�r�rnrp�OSErrorrWr�rRr�r\�tb_framerQ�f_coderM�co_filenamer~r1)r�r�s  r{r6r6�s���J�����D��6�:�t�,�,�	#��?�"��3�:�:�6�B�B�C�C�C��v���C��6�<�(�(�	;��[�_�_�V�%6�7�7�F��v�z�4�0�0�
'���&�� �J�.�
;��9�:�:�:��2�9�9�&�A�A�B�B�B�����!�����&���!�����6���!�����v�������
�f�~�~�"��!�!�
�7�7=�v���L�L�)�8+�8+�,�,�,r}c��	tj�|��}d�tj���D��}|���|D]&\}}|�|��r|d|�cS�'dS)Nc�2�g|]}t|��|f��Srt)r)rx�suffixs  r{�
<listcomp>z!getmodulename.<locals>.<listcomp>�s;��F�F�F���f�+�+��v�&�F�F�Fr})�os�path�basename�	importlib�	machinery�all_suffixesr��endswith)rT�fname�suffixes�neglenrQs     r{r@r@�s���;��G���T�"�"�E�F�F�"+�"5�"B�"B�"D�"D�F�F�F�H��M�M�O�O�O�"�"�"�����>�>�&�!�!�	"���&��>�!�!�!�	"��4r}c���	t|���tjjdd�}|tjjdd�z
}t�fd�|D����r>tj����dtjj	dz�n,t�fd�tjj
D����rdStj����r�St|���}t|dd����Stt|dd��dd����S�tjvr�SdS)Nc3�B�K�|]}��|��V��dSr��rY�rx�s�filenames  �r{r�z getsourcefile.<locals>.<genexpr>�s1�����
?�
?�A�8���Q���
?�
?�
?�
?�
?�
?r}rbc3�B�K�|]}��|��V��dSr�r_r`s  �r{r�z getsourcefile.<locals>.<genexpr>�sA�����
9�
9�a�X�
�
�q�
!�
!�
9�
9�
9�
9�
9�
9r}�
__loader__�__spec__�loader)r6rVrW�DEBUG_BYTECODE_SUFFIXES�OPTIMIZED_BYTECODE_SUFFIXES�anyrSrT�splitext�SOURCE_SUFFIXES�EXTENSION_SUFFIXES�existsr?r�	linecache�cache)r��all_bytecode_suffixesr�rbs   @r{rDrD�sb�����v���H�%�/�G����J���Y�0�L�Q�Q�Q�O�O��
�
?�
?�
?�
?�)>�
?�
?�
?�?�?���G�$�$�X�.�.�q�1��'�7��:�;���	�
9�
9�
9�
9��$�7�
9�
9�
9�
9�
9���t�	�w�~�~�h������
�v�x�
(�
(�F��v�|�T�*�*����	����T�2�2�H�d�	C�	C����	�Y�_�	$�����r}c��	|�t|��pt|��}tj�tj�|����Sr�)rDr6rSrT�normcase�abspath)r��	_filenames  r{r*r*�sM��2��=�!�&�)�)�<�W�V�_�_�	�
�7���B�G�O�O�I�6�6�7�7�7r}c���	t|��r|St|d��r$tj�|j��S|�3|tvr*tj�t|��S	t||��}n#ttf$rYdSwxYw|tvr*tj�t|��Stj�
�����D]�\}}t|��r�t|d��rv|j}|t�|d��kr�K|t|<t|��}|jxt|<ttj�|��<��|tvr*tj�t|��Stjd}t|d��sdSt||j��rt%||j��}||ur|Stjd}t||j��rt%||j��}	|	|ur|SdSdS)NrprHrIr1�builtins)rZr�r�r�rnrp�
modulesbyfiler*r��FileNotFoundError�copyr�rH�_filesbymodnamer1rSrT�realpathr)
r�rt�file�modnamer�r��main�
mainobject�builtin�
builtinobjects
          r{r?r?�sg��K�������
��v�|�$�$�2��{���v�0�1�1�1��9��m�!;�9��{���}�Y�7�8�8�8���&�)�,�,�����(�)�����t�t������}��4��{���}�T�2�3�3�3��;�+�+�-�-�3�3�5�5�
7�
7�����F���		7���
� ;� ;�		7���A��O�'�'���6�6�6�
��'(�O�G�$��6�"�"�A�(.��
7�M�!��}��� � ��#�#� %���}��4��{���}�T�2�3�3�3��;�z�"�D��6�:�&�&���t��t�V�_�%�%���T�6�?�3�3�
����	��K��k�*�%�G��w���(�(������9�9�
��F�"�	��N���	�	s�=B�B#�"B#c��eZdZdS)rN�r1rpr+rtr}r{rr�s�������Dr}rc�$�eZdZd�Zd�ZeZd�ZdS)�_ClassFinderc�"�g|_||_dSr�)r^�qualname)r5r�s  r{�__init__z_ClassFinder.__init__s����
� ��
�
�
r}c��|j�|j��|j�d��|�|��|j���|j���dS)Nz<locals>)r^r�r��
generic_visitr?)r5�nodes  r{�visit_FunctionDefz_ClassFinder.visit_FunctionDefsn���
���$�)�$�$�$��
���*�%�%�%����4� � � ��
�������
�������r}c�P�|j�|j��|jd�|j��kr5|jr|jdj}n|j}|dz}t|���|�|��|j�	��dS)Nr)rbr;)
r^r�r�r�r@�decorator_list�linenorr�r?)r5r��line_numbers   r{�visit_ClassDefz_ClassFinder.visit_ClassDefs����
���$�)�$�$�$��=�C�H�H�T�Z�0�0�0�		3��"�
*�"�1�!�4�;���"�k��
�1��K�%�k�2�2�2����4� � � ��
�������r}N)r1rpr+r�r��visit_AsyncFunctionDefr�rtr}r{r�r�sI������!�!�!����/��
�
�
�
�
r}r�c���	t|��}|rtj|��nHt|��}|�d��r|�d��st
d���t||��}|rtj||j	��}ntj|��}|st
d���t|��r|dfSt|��r�|j}d�
|��}tj|��}t!|��}	|�|��t
d���#t$$r}|jd}	||	fcYd}~Sd}~wwxYwt)|��r|j}t-|��r|j}t1|��r|j}t5|��r|j}t9|��r�t;|d��st
d	���|jd
z
}
t?j d��}|
dkrH	||
}n#tB$rt
d���wxYw|�"|��rn|
d
z
}
|
dk�H||
fSt
d
���)N�<�>rJzcould not get source coderb�zcould not find class definition�co_firstlinenoz"could not find function definitionr;z>^(\s*def\s)|(\s*async\s+def\s)|(.*(?<!\w)lambda(:|\s))|^(\s*@)zlineno is out of boundszcould not find code object)#rDrn�
checkcacher6�
startswithrYrKr?�getlinesrmrZrLr+r@�ast�parser��visitr�argsrWr�rRr�r\rLrQrMrMr�r��re�compile�
IndexError�match)
r�r|r�rBr��source�tree�class_finder�er��lnum�patr&s
             r{r%r%s���9��� � �D��	7���T�"�"�"�"��v��������$�$�	7����s�);�);�	7��5�6�6�6�
�v�t�
$�
$�F�
�)��"�4���9�9����"�4�(�(���3��1�2�2�2�������a�x���v���=��&����������y�� � ��#�H�-�-��	=����t�$�$�$�
�;�<�<�<��	#�	&�	&�	&��&��)�K��+�%�%�%�%�%�%�%�����	&��������!�����&���!�����6���!�����v�������
�f�~�~�
��v�/�0�0�	@��>�?�?�?��$�q�(���j�Z�[�[���Q�h�	�
9��T�{�����
9�
9�
9��7�8�8�8�
9�����y�y����
���!�8�D��Q�h�	��d�{��
�.�
/�
/�/s*�$E�
E-�E(�"E-�(E-�H$�$H>c�
�		t|��\}}n#ttf$rYdSwxYwt|���rAd}|r|ddd�dkrd}|t	|��krP||���dvr4|dz}|t	|��kr||���dv�4|t	|��kr�||dd�dkr�g}|}|t	|��krm||dd�dkrY|�||�����|dz}|t	|��kr||dd�dk�Yd�|��SdSdS|dk�r�t||��}|dz
}|dk�r�||�
��dd�dk�r�t||��|k�r�||����
��g}|dkr�|dz
}||����
��}|dd�dkr�t||��|krg|g|dd�<|dz
}|dkrnS||����
��}|dd�dkrt||��|k�g|rE|d���dkr'g|dd�<|r|d���dk�'|rE|d���dkr'g|dd�<|r|d���dk�'d�|��SdSdSdSdS)	Nrb�z#!r;)r��#r�r�r*)r%rKr�rZr�stripr�r$r@rFr%)r�rBr��start�comments�endrE�comments        r{r2r2cs���� ��(�(���t�t���Y������t�t���������!%����4�U�1�X�b�q�b�\�T�)�4�1�5��c�%�j�j� �	�U�5�\�%7�%7�%9�%9�Y�%F�	��A�I�E��c�%�j�j� �	�U�5�\�%7�%7�%9�%9�Y�%F�	��3�u�:�:��	%�%��,�r��r�"2�c�"9�	%��H��C���E�
�
�"�
�u�S�z�"�1�"�~��'<�
�����c�
� 5� 5� 7� 7�8�8�8��A�g����E�
�
�"�
�u�S�z�"�1�"�~��'<�
��7�7�8�$�$�$�
	%�	%�	%�	%�
���%��E�$�K�(�(���Q�h���!�8�	%��c�
�)�)�+�+�B�Q�B�/�3�6�	%��u�S�z�"�"�f�,�	%��c�
�-�-�/�/�6�6�8�8�9�H��Q�w�
?��A�g����*�/�/�1�1�8�8�:�:���b�q�b�k�S�(�?�Z��c�
�-C�-C�v�-M�?�$+�9�H�R�a�R�L���'�C��Q�w�%��#�C�j�3�3�5�5�<�<�>�>�G�	�b�q�b�k�S�(�?�Z��c�
�-C�-C�v�-M�?�
�
"�x��{�0�0�2�2�c�9�
"�!���!����
"�x��{�0�0�2�2�c�9�
"��
#�x��|�1�1�3�3�s�:�
#� "�����
��
#�x��|�1�1�3�3�s�:�
#��7�7�8�$�$�$�%%�%�	%�	%�	%�	%�	%�	%s��+�+c��eZdZdS)rNr�rtr}r{rr�s�������r}rc��eZdZ	d�Zd�ZdS)rc�v�d|_d|_d|_d|_d|_d|_d|_d|_dS)NrbFr;)rE�islambda�started�passline�indecorator�decoratorhasargs�last�	body_col0�r5s r{r�zBlockFinder.__init__�s@�������
������
� ��� %�����	�����r}c�X�|js6|js/|dkrd|_n|dvr|dkrd|_d|_d|_dS|dkr|jr	d|_dSdS|dkr|jrd|_d|_dSdS|t
jkr=d|_|d|_|jrt�|jr|jsd|_dSdSdS|jrdS|t
j	kr3|j
�|jr
|d	|_
|jd	z|_d|_dS|t
jkr#|jd	z
|_|jdkrt�dS|t
j
kr+|j
� |d	|j
kr|d|_dSdSdS|jdkr!|t
j
t
jfvr	t�dSdS)
N�@T)�def�class�lambdar��(�)Frbr;)r�r�r�r�r��tokenize�NEWLINEr�r�INDENTr�rE�DEDENT�COMMENT�NL)r5r~�token�srowcol�erowcolr&s      r{�
tokeneaterzBlockFinder.tokeneater�sW���|�/	�D�$4�/	���|�
$�#'�� � ��4�4�
$��H�$�)�$(�D�M�#��� �D�M�M�M�
�c�\�%	���
-�(,��%�%�%�
-�
-�
�c�\�"	���
.�#(�� �(-��%�%�%�
.�
.��X�%�
%�	�!�D�M���
�D�I��}�
!� � ���
)��(=�
)�#(�� � � �
)�
)�
)�
)�
�]�	��D�
�X�_�
$�	��~�
,�$�,�
,�!(������+��/�D�K� �D�M�M�M�
�X�_�
$�	��+��/�D�K��{�a��
!� � �
!�
!�
�X�%�
%�	��~�
'�g�a�j�D�N�.J�
'�#�A�J��	�	�	�
'�
'�
'�
'��[�A�
�	�$�x�/?���.M�"M�	���	�	�	�	r}N)r1rpr+r�r�rtr}r{rr�s5������J����0�0�0�0�0r}rc���	t��}	tjt|��j��}|D]}|j|��
n#ttf$rYnwxYw|d|j�Sr�)	rr��generate_tokens�iter�__next__r�r�IndentationErrorr�)rB�blockfinder�tokens�_tokens    r{r.r.�s���J��-�-�K�
��)�$�u�+�+�*>�?�?���	,�	,�F�"�K�"�F�+�+�+�	,���(�)�
�
�
���
�����"�+�"�"�#�#s�5A�A�Ac��	t|��}t|��\}}t|��r|j}t	|��st|��r|jjdkr|dfSt||d���|dzfS)Nz<module>rbr;)	r`r%r\rLrZrQrM�co_namer.�r�rBr�s   r{rErE�s���6��F�^�^�F��V�$�$�K�E�4��6���!����	����0�	����0�#�]�2�j�@�0��a�x����d�e�e��%�%�t�a�x�/�/r}c�R�	t|��\}}d�|��S)Nr�)rEr@r�s   r{rCrC�s+��A�
!��(�(�K�E�4�
�7�7�5�>�>�r}c���	g}|�tdd�����|D]L}|�||jf��||vr*|�t	||||�����M|S)Nrpr1r�)r�rdr�r�ra)�classes�children�parentr��cs     r{rara�s���7��G��L�L�Z��j�9�9�L�:�:�:�
�?�?������1�;�'�(�(�(���=�	?��N�N�8�H�Q�K��1�=�=�>�>�>���Nr}c�6�	i}g}|D]c}|jrA|jD]8}||vrg||<|||vr||�|��|r||vrn�9�J||vr|�|���d|D]}||vr|�|���t||d��Sr�)r�r�ra)r��uniquer��rootsr�r�s      r{r0r0s���E��H��E�
�	�	���;�	��+�
7�
7����)�*�')�H�V�$��H�V�,�,�/��V�$�+�+�A�.�.�.��6�f��/�6�����
�e�^�	��L�L��O�O�O���!�!���� �	!��L�L�� � � ���E�8�T�*�*�*r}rzargs, varargs, varkwc��	t|��s"td�|�����|j}|j}|j}t
|d|���}t
||||z���}d}||z
}d}|jtzr|j|}|dz}d}|jtzr
|j|}t||z||��S)Nz{!r} is not a code objectrbr;)rMr�r�co_varnames�co_argcount�co_kwonlyargcount�listr�rrr)	�cor��nargs�nkwargsr��
kwonlyargs�step�varargs�varkws	         r{r+r+!s�����"�:�:�@��3�:�:�2�>�>�?�?�?��N�E��N�E��"�G���f�u�f�
���D��e�E�%��-�/�0�1�1�J��D�	�W��E��G�	�{�Z����.��'����	���E�	�{�^�#�&���u�%���T�J�&���7�7�7r}rzGargs, varargs, varkw, defaults, kwonlyargs, kwonlydefaults, annotationsc	��		t|ddtd���}n"#t$r}td��|�d}~wwxYwg}d}d}g}g}i}d}	i}
|j|jur
|j|d<|j���D]�}|j}|j	}
|tur/|�|
��|j|jur|	|jfz
}	n�|tur/|�|
��|j|jur|	|jfz
}	nN|tur|
}nB|tur.|�|
��|j|jur
|j|
|
<n|t ur|
}|j|jur
|j||
<��|
sd}
|	sd}	t%||z|||	||
|��S)NF)�follow_wrapper_chains�skip_bound_arg�sigclsrkzunsupported callablert�return)�_signature_from_callablerr�r��return_annotation�empty�
parameters�valuesrr��_POSITIONAL_ONLYr��default�_POSITIONAL_OR_KEYWORD�_VAR_POSITIONAL�
_KEYWORD_ONLY�_VAR_KEYWORD�
annotationr)r��sig�exr�r�r��posonlyargsr��annotations�defaults�
kwdefaults�paramrr�s              r{r8r8@s#���8�"'�t�=B�6;�.7�05�	7�7�7����
�8�8�8�
�.�/�/�R�7�����8�����D��G��E��K��J��K��H��J�
��C�I�-�6� #� 5��H����&�&�(�(�1�1���z���z���#�#�	����t�$�$�$��}�E�K�/�
-��U�]�,�,���
�+�
+�	��K�K������}�E�K�/�
-��U�]�,�,���
�_�
$�	��G�G�
�]�
"�	����d�#�#�#��}�E�K�/�
1�#(�=�
�4� ��
�\�
!�	��E���5�;�.�	1� %� 0�K�������
������{�T�)�7�E�8�!�:�{�<�<�<s��
<�7�<rzargs varargs keywords localsc�b�	t|j��\}}}t||||j��Sr�)r+rMr�f_locals)�framer�r�r�s    r{r,r,�s5��=�#�5�<�0�0��D�'�5��4��%���8�8�8r}c�T�t|dd��dkr#t|���dd��St|tj��rt
|��St|t��r$|jd|fvr|j	S|jdz|j	zSt|��S)Nrp�typingztyping.r�rvr))
r�repr�replacerur��GenericAliasrvr~rpr+)r��base_modules  r{r&r&�s����z�<��.�.�(�:�7��J���'�'�	�2�6�6�6��*�e�0�1�1���:�����*�d�#�#�A�� �Z��$=�=�	+��*�*��$�S�(��)@�@�@��
���r}c�4��t|dd����fd�}|S)Nrpc�$��t|���Sr�)r&)r�r�s �r{�_formatannotationz5formatannotationrelativeto.<locals>._formatannotation�s����
�F�3�3�3r})r)r�rr�s  @r{r'r'�s3���
�V�\�4�
0�
0�F�4�4�4�4�4��r}c��d|zS)N�*rt�r�s r{r�r��s
��s�T�z�r}c��d|zS)N�**rtrs r{r�r��s
��T�D�[�r}c�&�dt|��zS)N�=�r
)rzs r{r�r��s��c�D��K�K�.?�r}c��	|||fd�}g}	tt|����D]&}
|	�|||
�����'|r0|	�||��|||��z��|r0|	�||��|||��z��dd�|	��zdzS)Nc�<�||��|||��zSr�rt)r�rj�	formatarg�formatvalues    r{�convertz formatargvalues.<locals>.convert�s#���y������V�D�\�!:�!:�:�:r}r��, r�)r>rr�r@)r�r�r�rjr�
formatvarargs�formatvarkwrr�specsrFs           r{r(r(�s���
M�$�#��;�;�;�;�
�E�
�3�t�9�9�
�
�'�'��
���W�W�T�!�W�%�%�&�&�&�&��L�
���]�]�7�+�+�k�k�&��/�.J�.J�J�K�K�K��F�
���[�[��'�'�+�+�f�U�m�*D�*D�D�E�E�E�����5�!�!�!�C�'�'r}c�"���fd�|D��}t|��}|dkr	|d}n@|dkrdj|�}n/dj|dd��}|dd�=d�|��|z}td	|||rd
nd|dkrdnd
|fz���)Nc�6��g|]}|�v�t|����Srtr)rxr�r�s  �r{rRz&_missing_arguments.<locals>.<listcomp>�s)���C�C�C�D��F�0B�C�T�$�Z�Z�C�C�Cr}r;rbr�z	{} and {}z, {} and {}���rz*%s() missing %i required %s argument%s: %s�
positional�keyword-onlyr�ra)rrr@r�)�f_name�argnames�posr�r��missingra�tails   `    r{�_missing_argumentsr,�s����C�C�C�C�H�C�C�C�E��%�j�j�G��!�|�$��!�H���	�A��$��K���&���#�}�#�U�2�3�3�Z�0���"�#�#�J��I�I�e���t�#��
�@��W�&)�=�l�l�~�#�q�L�1�b�b�c�1�6�6�7�7�7r}c
���t|��|z
}t�fd�|D����}|r
|dk}	d|fz}
nH|rd}	d|t|��fz}
n/t|��dk}	tt|����}
d}|rd}||dkrdnd||dkrdndfz}td	||
|	rdnd|||dkr|sd
ndfz���)Nc���g|]}|�v�|��	Srtrt)rx�argr�s  �r{rRz_too_many.<locals>.<listcomp>�s"���?�?�?�����?��?�?�?r}r;zat least %dTz
from %d to %dr�z7 positional argument%s (and %d keyword-only argument%s)raz5%s() takes %s positional argument%s but %d%s %s given�was�were)rrvr�)
r'r��kwonlyr��defcount�givenr��atleast�kwonly_given�pluralr��
kwonly_sig�msgs
      `      r{�	_too_manyr:�s)����$�i�i�(�"�G��?�?�?�?�v�?�?�?�@�@�L����A����w�j�(���	������#�d�)�)� 4�4����T���a����#�d�)�)�n�n���J��@�G���E�Q�J�6�S�S�B��$0�A�$5�=�S�S�2�?�?�
�
�K�
�S��/�#�#�R��
��q�j�
A��
A�U�U�6�
C�C�D�D�Dr}c	���	t|��}|\}}}}}}	}
|j}i}t|��r|j�|jf|z}t	|��}
t	|��}|rt	|��nd}t|
|��}t
|��D]}|||||<�|rt||d���||<t||z��}|ri||<|�	��D]H\}}||vr"|st|�d|�����||||<�+||vrt|�d|�����|||<�I|
|kr|st||||||
|��|
|krW|d||z
�}|D]}||vrt||d|���t|||z
d���D]\}}||vr||||<�d}|D]}||vr|	r||	vr|	|||<�|dz
}�|rt||d|��|S)Nrbz&() got an unexpected keyword argument z$() got multiple values for argument Tr;F)r8r1rWr2rr=r>r�r�r�r�r:r,�	enumerate)r�r%�named�specr�r�r�rr��kwonlydefaultsr�r'�	arg2value�num_pos�num_args�num_defaults�nrF�possible_kwargs�kwrz�reqr/r*�kwargs                         r{r/r/�s���-�
�$���D�FJ�C�D�'�5�(�J���
�]�F��I���~�~�3�$�-�3��m�%�
�2�
��*�o�o�G��4�y�y�H�$,�3�3�x�=�=�=�!�L��G�X���A�
�1�X�X�+�+��'��]�	�$�q�'����3�"�:�a�b�b�>�2�2�	�'���$��+�,�,�O����	�%���[�[�]�]�
�
�	��E�
�_�$�	��
.��!'�����!-�.�.�.�#(�I�e��R� ��
��?�	*��#�V�V�R�R�)�*�*�
*��	�"�
�
����'�'�'��&�$�
�G�\��I�	'�	'�	'����-��+�H�|�+�+�,���	A�	A�C��)�#�
A�"�6�3��i�@�@�@����X��%<�%=�%=� >�?�?�	-�	-�F�A�s��)�#�
-�!)�!��	�#����G������	�!�	��
�%�>�"9�
�#1�%�#8�	�%� � ��1�����A��6�:�u�i�@�@�@��r}rz"nonlocals globals builtins unboundc�x�	t|��r|j}t|��s"td�|�����|j}|j�i}n$d�t|j|j��D��}|j	}|�
dtj��}t|��r|j}i}i}t��}|jD]U}|dvr�	||||<�#t $r5	||||<n%#t $r|�|��YnwxYwY�RwxYwt%||||��S)N�{!r} is not a Python functionc�$�i|]
\}}||j��Srt)�
cell_contents)rx�var�cells   r{r|z"getclosurevars.<locals>.<dictcomp>Js1��	�	�	���T�
�$�$�	�	�	r}�__builtins__)�None�True�False)rWr�rRr�rr��__closure__�zip�co_freevarsrqrnrvrmrZr��co_names�KeyErrorr�r)	r��code�
nonlocal_vars�	global_ns�
builtin_ns�global_vars�builtin_vars�
unbound_namesr�s	         r{r1r15s������~�~���}���d���F��7�>�>�t�D�D�E�E�E��=�D���	��
�
�	�	� ��!1�4�3C�D�D�	�	�	�
�� �I����~�x�/@�A�A�J��
���)��(�
��K��L��E�E�M��
�(�(���,�,�	�
�	(� )�$��K������	(�	(�	(�
(�%/��%5��T�"�"���
(�
(�
(��!�!�$�'�'�'�'�'�
(������	(�����}�k�#�]�4�4�4s6�C(�(
D'�3C?�>D'�?D!�D'� D!�!D'�&D'�
_Tracebackz+filename lineno function code_context indexc�*��eZdZdd��fd�
Zd�Z�xZS)r!N��	positionsc�b��t���||||||��}||_|Sr���super�__new__rb)	r�rbr��function�code_context�indexrb�instancer3s	        �r{rfzTraceback.__new__ms0����7�7�?�?�3��&�(�L�RW�X�X��&����r}c�r�d�|j|j|j|j|j|j��S)NzcTraceback(filename={!r}, lineno={!r}, function={!r}, code_context={!r}, index={!r}, positions={!r}))rrbr�rgrhrirbr�s r{�__repr__zTraceback.__repr__rs9��@�@F���
�t�{�D�M�4�;L��
�D�N�A,�A,�	-r}�r1rpr+rfrl�
__classcell__�r3s@r{r!r!lsT�������SW��������
-�-�-�-�-�-�-r}r!c�H�|jj|j}}t||��Sr�)rLrM�tb_lasti�_get_code_position)�tbrX�instruction_indexs   r{�_get_code_position_from_tbruxs$�� �k�0�"�+�
�D��d�$5�6�6�6r}c��|dkrdS|���}ttj||dzd����S)Nrb)NNNNr�)�co_positions�next�	itertools�islice)rXrt�
positions_gens   r{rrrr|sI���1��(�'�'��%�%�'�'�M��	� ��0A�Q�0F��M�M�N�N�Nr}r;c
���	t|��rt|��}|j}|j}n!|j}t|j|j��}|d�||g|dd��R^}}n|g|�R^}}|d}t|��s"td�
|�����t|��pt|��}|dkrv|dz
|dzz
}	t|��\}}tdt|t!|��|z
����}||||z�}|dz
|z
}n#t"$rdx}}YnwxYwdx}}t%|||jj||t)j|����S)Nrbr;z'{!r} is not a frame or traceback objectr�ra)r\ru�	tb_linenorL�f_linenorrrM�f_lastirQr�rrDr6r%�maxr=rrKr!r��dis�	Positions)	r�contextrbr�rbr�rBr�ris	         r{r7r7�s���>��5���D�.�u�5�5�	�����������&�u�|�U�]�C�C�	���|�0�"�F�;�Y�q�r�r�]�;�;���	�	�"�/�Y�/�/���	�
�q�\�F��5�>�>�Q��A�H�H��O�O�P�P�P��U�#�#�5�w�u�~�~�H���{����
�W�a�Z�'��	'�$�U�+�+�K�E�4���3�u�c�%�j�j�7�&:�;�;�<�<�E��%��g�
�-�.�E��Q�J��&�E�E���	!�	!�	!� � �E�E�E�E�	!���������X�v�u�|�';�U��c�m�Y�&?�A�A�A�As�D1�1E�Ec��	|jSr�)r~�rs r{r<r<�s
��M��>�r}�
_FrameInfor�c�*��eZdZdd��fd�
Zd�Z�xZS)rNrac	�d��t���|||||||��}||_|Sr�rd)
r�rrbr�rgrhrirbrjr3s
         �r{rfzFrameInfo.__new__�s2����7�7�?�?�3��x���<�Y^�_�_��&����r}c	�~�d�|j|j|j|j|j|j|j��S)NzoFrameInfo(frame={!r}, filename={!r}, lineno={!r}, function={!r}, code_context={!r}, index={!r}, positions={!r}))rrrbr�rgrhrirbr�s r{rlzFrameInfo.__repr__�s>��@�@F���
�D�M�4�;��
��!�4�:�t�~�A?�A?�	@r}rmros@r{rr�s[�������Z^��������
@�@�@�@�@�@�@r}rc��	g}|rCt||��}|f|z}|�t|d|ji���|j}|�C|S�Nrb)r7r�rrb�f_back)rr��	framelist�traceback_info�	frameinfos     r{rBrB�so��G��I�
��%�e�W�5�5���H�~�-�	�����I�R��9Q�R�R�S�S�S����	��
�r}c��	g}|rHt||��}|jf|z}|�t|d|ji���|j}|�H|Sr�)r7rLr�rrb�tb_next)rsr�r�r�r�s     r{r;r;�sq��G��I�
��%�b�'�2�2���[�N�^�3�	�����I�R��9Q�R�R�S�S�S�
�Z��	
��
�r}c�Z�	ttd��rtjd��ndS)N�	_getframer;)r�r�r�rtr}r{r$r$�s)��I�&�s�K�8�8�B�3�=�����d�Br}c�H�	ttjd��|��S)Nr;)rBr�r��r�s r{r^r^�s��J��#�-��*�*�G�4�4�4r}c�R�	ttj��d|��S)Nr�)r;r��exc_infor�s r{r_r_�s ��M��#�,�.�.��+�W�5�5�5r}c�L�tjd�|��S)Nr)r~rmr�)�klasss r{�_static_getmror��s���=��#�+�+�E�2�2�2r}c��i}	t�|d��}n#t$rYnwxYwt�||t
��S�Nrm)r��__getattribute__r�r�rn�	_sentinel)r��attr�
instance_dicts   r{�_check_instancer��sY���M�
��/�/��Z�@�@�
�
���
�
�
���
�����8�8�M�4��3�3�3s� �
-�-c��t|��D]E}tt|����tur 	|j|cS#t
$rY�AwxYw�FtSr�)r��_shadowed_dictr~r�rmrW)r�r��entrys   r{�_check_classr��sy����&�&�����$�u�+�+�&�&�)�3�	�
��~�d�+�+�+�+���
�
�
���
����	�
�s�A�
A�Ac�J�	t|��n#t$rYdSwxYwdS�NFT)r�r�r�s r{�_is_typer�s?����s�����������u�u������4s��
 � c��tjd}t|��D]a}	|�|��d}t|��tjur|jdkr	|j|us|cS�R#t$rY�^wxYwtSr�)
r~rmr�r�r�r�r1r�rWr�)r��	dict_attrr��
class_dicts    r{r�r�s����
�j�)�I���&�&�	"�	"��	"�"�*�*�5�1�1�*�=�J���$�$��(B�B�
"��'�:�5�
"��+�u�4�
"�"�!�!�!�
"���	�	�	��D�	�����s�A4�4
B�Bc���	t}t|��sSt|��}t|��}|tust|��tjurt
||��}n|}t||��}|turS|turJtt|��d��tur&tt|��d��tur|S|tur|S|tur|S||urbtt|����D]E}tt|����tur 	|j	|cS#t$rY�AwxYw�F|tur|St|���)Nr�r�)r�r�r~r�r�r�r�r�r�rmrWr�)r�r�r��instance_resultr�r��klass_resultr�s        r{r-r-s���	� �O��C�=�=���S�	�	��"�5�)�)�	���"�	9���O�O�u�9�9�	9�-�c�4�8�8�O������t�,�,�L��i�'� �L�	�,I� ���l�+�+�Y�7�7�y�H�	 ���l�+�+�Y�7�7�y�H�	 ����i�'�����9�$����
�e�|��#�D��K�K�0�0�	�	�E��d�5�k�k�*�*�i�7�
�� �>�$�/�/�/�/�������D�����
�
�i�����
��
�
�s�5E�
E�Errrrc�f�	|jrtS|jrtS|j�t
StSr�)�
gi_runningr�gi_suspendedr�gi_framerr)�	generators r{r:r:JsB�������������������r}c��	t|��s"td�|�����t|dd��}|�|jjSiS)Nz{!r} is not a Python generatorr�)rSr�rrr�r)r�rs  r{r9r9\sa����y�!�!�L��8�?�?�	�J�J�K�K�K��I�z�4�0�0�E����!�*�*��	r}rr	r
rc�f�	|jrtS|jrtS|j�t
StSr�)�
cr_runningr	�cr_suspendedr
�cr_framerr)�	coroutines r{r4r4tsB�������������������r}c�<�	t|dd��}|�|jSiS)Nr�)rr)r�rs  r{r3r3�s/���

�I�z�4�0�0�E����~���	r}c�z�		t||��}t|t��s|SdS#t$rYdSwxYwr�)rru�_NonUserDefinedCallablesr�)r��method_name�meths   r{�"_signature_get_user_defined_methodr��se�����s�K�(�(���$� 8�9�9�	��K�	�	������������s�,�
:�:rtc�F�	|j}t|�����}|jpd}|jpi}|r||z}	|j|i|��}n7#t$r*}d�|��}	t|	��|�d}~wwxYwd}
|���D�]Z\}}	|j	|}
|j
tur|�|���8|j
tur;||vrd}
|�|
���||<n|�|j����|j
t ur|�|
���||<n#t"$rYnwxYw|
r�|j
tur=||�t ���}|||<|�|����|j
t t&fvr|�|����2|j
t(ur|�|j����\|�|������S)Nrtz+partial object {!r} has incorrect argumentsFT)r��r�r�)r�rfr�r��keywords�bind_partialr�rr��	argumentsrr�r?r�rr�r�rW�move_to_endr�r�r�)�wrapped_sigr��
extra_args�
old_params�
new_params�partial_args�partial_keywords�bar�r9�transform_to_kwonly�
param_namer�	arg_value�	new_params               r{�_signature_get_partialr��s����
�'�J��Z�-�-�/�/�0�0�J��<�%�2�L��'�-�2���1�!�L�0��&�
%�[�
%�|�
H�7G�
H�
H�����&�&�&�;�B�B�7�K�K����o�o�2�%�����&����
 ��'�-�-�/�/�0+�0+��
�E�#	J���Z�0�I��z�-�-�
����z�*�*�*���z�3�3�
��!1�1��+/�'�-2�]�]�9�]�-M�-M�J�z�*�*��N�N�5�:�.�.�.���z�]�*�
J�).���y��)I�)I�
�:�&���C�	�	�	��D�	����F�
	+��z�3�3�
+�&�z�2�:�:�
�:�N�N�	�)2�
�:�&��&�&�z�2�2�2�2���
�|�<�<�
+��&�&�z�2�2�2�2����.�
+����u�z�*�*�*�����*�*;�*;�*=�*=��>�>�>s*�
A�
B�%B�B�&
E�
E�Ec�T�	t|j�����}|r|djtt
fvrt
d���|dj}|ttfvr|dd�}n|turt
d���|�
|���S)Nrbzinvalid method signaturer;zinvalid argument typer�)r�r�r�rr�r�r�r�r�r�r)r��paramsrs   r{�_signature_bound_methodr��s�����3�>�(�(�*�*�
+�
+�F��5�V�A�Y�^��m�'D�D�5��3�4�4�4��!�9�>�D��&�(8�9�9�6����������&�	6��4�5�5�5��;�;�&�;�)�)�)r}c��	t|��p3t|��p$t|t��p|tt
fvSr�)rKrXrur�r~r�r�s r{�_signature_is_builtinr�sM���
�c�N�N�
"��s�#�#�
"��s�4�5�5�
"�

�D�&�>�!�#r}c��	t|��rt|��rdSt|dd��}t|dd��}t|dt��}t|dt��}t|dd��}t	|t
j��o_t	|t��oJ|dupt	|t��o1|dupt	|t��ot	|t��p|duS)NFr1r��__defaults__�__kwdefaults__ro)
r�rLr�_voidrur�r�rvr�r�)r�r�rXrrrs      r{r�r� s����C�=�=��G�C�L�L���u��3�
�D�)�)�D��3�
�D�)�)�D��s�N�E�2�2�H���.��6�6�J��#�0�$�7�7�K��t�U�^�,�,�
E��t�S�!�!�
E�
��
�
<��H�e�!<�!<�
E��4�
�
?�:�j�$�#?�#?�
E���d�
,�
,�
C��t�0C�	Gr}c�H�	|s|ddfSd}d}d�|�d��D��}t|��j}tj|��}d}d}g}|j}	d}
t
j}t
j}t|��}
|D]}}
|
j	|
j
}}||kr!|dkr
|rd}nd}|
dz
}
�)|dkrd}|
dz
}�7||kr	|d	kr|
}�F|rd}||kr|d
ks|	d��|	|��|dkr|	d���~d
�|��}|||fS)Nc�8�g|]}|�d����S)�ascii)�encode)rx�ls  r{rRz6_signature_strip_non_python_syntax.<locals>.<listcomp>Ls$��>�>�>�1�Q�X�X�g�
�
�>�>�>r}r:Frb�,Tr;�/�$r�r� r�)r,r�r�r�r�r��OP�
ERRORTOKENrxr~�stringr@)r]�self_parameter�last_positional_onlyrBr��token_stream�
delayed_comma�skip_next_comma�textr��current_parameterr�r��tr~r��clean_signatures                 r{�"_signature_strip_non_python_syntaxr�9s���
��%��$��$�$��N���>�>�	����(=�(=�>�>�>�E��U���$�I��$�Y�/�/�L��M��O�
�D�
�+�C���	��B��!�J�	
�\���A������v�q�x�f���2�:�	���}�
�"�+�&+�O�O�%)�M�%��*�%����}�
�#'��'8�1�'<�$���J��	�V�s�]�	�.�N���	�!�M��R�Z�
�f��m�
���D�	�	�	���F�����c�M�	��C��H�H�H���g�g�d�m�m�O��N�,@�@�@r}Tc�������������	|j�t|��\}}}d|zdz}	tj|��}n#t$rd}YnwxYwt|tj��s"td�|�����|j	d}	g��j
�t���d}i�t|dd��}
|
r)tj�|
d��}|r|j�tj����d����fd��G�fd�d	tj����f�������fd
�	}t'|	jj��}t'|	jj��}
t-j||
d���}|��j�n�j�t5t't7|������D]!\}\}}|||��||kr�j��"|	jjr�j�||	jj����j�t?|	jj |	jj!��D]\}}|||���|	jj"r�j#�||	jj"���|�ft|dd��}|du}tI|��}|r|s|r��%d��n&�d�&�j�
��}|�d<|�|j
���S)Nzdef fooz: passz"{!r} builtin has invalid signaturerbrpc�<�|j�td���|jS)Nz'Annotations are not currently supported)r�r�r/)r�s r{�
parse_namez&_signature_fromstr.<locals>.parse_name�s#���?�	H��F�G�G�G��x�r}c�`��	t|���}n>#t$r1	t|���}n#t$rt���wxYwYnwxYwt|tt
ttttd��f��rtj|��St���r�)rw�	NameError�RuntimeErrorrurv�int�float�bytesr�r~r��Constant)rarz�module_dict�sys_module_dicts  ��r{�
wrap_valuez&_signature_fromstr.<locals>.wrap_value�s����	%���K�(�(�E�E���	%�	%�	%�
%��Q��0�0�����
%�
%�
%�"�n�n�$�
%������	%�����e�c�3��u�d�D��J�J�G�H�H�	'��<��&�&�&��n�n�s#��
A�0�A�A	�	A�Ac�$��eZdZ�fd�Z�fd�ZdS)�,_signature_fromstr.<locals>.RewriteSymbolicsc���g}|}t|tj��r;|�|j��|j}t|tj���;t|tj��st���|�|j��d�	t|����}�|��S)Nr))rur�rr�r�rz�Namer�rr@�reversed)r5r��arDrzr�s     �r{�visit_Attributez<_signature_fromstr.<locals>.RewriteSymbolics.visit_Attribute�s�����A��A��Q��
�.�.�
������ � � ��G���Q��
�.�.�
��a���*�*�
%�"�n�n�$�
�H�H�Q�T�N�N�N��H�H�X�a�[�[�)�)�E��:�e�$�$�$r}c�~��t|jtj��st	����|j��Sr�)ru�ctxr��Loadr�r)r5r�r�s  �r{�
visit_Namez7_signature_fromstr.<locals>.RewriteSymbolics.visit_Name�s5����d�h���1�1�
#� �l�l�"��:�d�g�&�&�&r}N)r1rpr+rr	)r�s�r{�RewriteSymbolicsr�sG�������
	%�
	%�
	%�
	%�
	%�	'�	'�	'�	'�	'�	'�	'r}r
c�*���|��}|�urdS|r\|turS	����|��}tj|��}n#t$r�}YnwxYw|�urdS|�ur|n|}�
��|�	|������dS�N�r�r�)�_emptyr�r��literal_evalr�r�)�	name_node�default_noder�r��orr
r��invalidrr�r�s     �������r{�pz_signature_fromstr.<locals>.p�s�����z�)�$�$���7�?�	��4��	9�L��6�	9�
�/�/�1�1�7�7��E�E���$�\�2�2�����
�
�
�����
�����G�|�
��t��G�+�8�a�a��G����)�)�D�$��E�R�R�R�S�S�S�S�Ss�1A�A �A )�	fillvaluer2r��r�)'�_parameter_clsr�r�r��SyntaxErrorru�Moduler�r�bodyr�r�rr�r�rnrmry�NodeTransformerrr�rry�zip_longest�POSITIONAL_ONLY�POSITIONAL_OR_KEYWORDr<r��vararg�VAR_POSITIONAL�KEYWORD_ONLYrTr��kw_defaultsrH�VAR_KEYWORDrZr?r)r�r�rar�r�r�r��programr�r�r�rr�rr�rFr�r��_self�self_isbound�
self_ismodulerr
r�rrr�r�r�r�r�s                     @@@@@@@@@@r{�_signature_fromstrr(�s���������������"�I�	+�1�-�-�:�O�^�%9��/�)�H�4�G����7�#�#�����������������f�c�j�)�)�K��=�D�D�S�I�I�J�J�J���A��A��J��O�E��h�h�G�
�F��K��#�|�T�2�2�K��*������d�3�3���	*� �/�K��k�&�&�(�(�O����������'�'�'�'�'�'�'�3�.�'�'�'�$,1�
T�
T�
T�
T�
T�
T�
T�
T�
T�
T�
T�
T� �A�F�K� � �D�����(�(�H�� ��x�4�@�@�@�D��/��(����.��'���d���(<�(<�=�=�3�3���?�D�'�	��$������$�$�	3��2�D��	�v�}� ��'��	��!�&�-������!�D��Q�V�.���0B�C�C���
��g�	��$������	�v�|���$��	��!�&�,���������Z��.�.���D�(�� ����
��	�]�	�n�	��N�N�1������1�
�%�%�9�+D�%�E�E�A��J�q�M��3�z�S�Y�7�7�7�7s�A�A�Ac���	t|��s"td�|�����t|dd��}|s"t	d�|�����t||||��S)Nz%{!r} is not a Python builtin function�__text_signature__z#no signature found for builtin {!r})r�r�rrr�r()r�r�r�ras    r{�_signature_from_builtinr+	s����!��&�&�1��#�#)�6�$�<�<�1�1�	1�	��*�D�1�1�A��M��>�E�E�d�K�K�L�L�L��c�4��N�;�;�;r}c
�@�	d}t|��s4t|��rd}n"td�|�����t	|dd��}|rt||||��S|j}|j}	|	j}
|	j	}|	j
}|d|
�}
|	j}||
|
|z�}t||||���}|j
}|j}|rt|��}nd}g}|
|z
}|}|
d|�D]U}|rt nt"}|�|t&��}|�||||�����|r|dz}�Vt+|
|d���D]_\}}|rt nt"}|�|t&��}|�||||||�	����|r|dz}�`|	jt.zrL||
|z}|�|t&��}|�|||t0�����|D]h}t&}|�|�|t&��}|�|t&��}|�|||t2|�	�����i|	jt4zrb|
|z}|	jt.zr|dz
}||}|�|t&��}|�|||t6�����|||�d
t&��|���S)NFTrJr*rhrb)r�rr;)r�rr�r��r��__validate_parameters__)rRr�r�rrr(rr�r�r��co_posonlyargcountr�r)r�r�rr�r�rnrr�r<r�rr�r�rr�)r�r�r�rirjrk�is_duck_functionrar�	func_code�	pos_count�	arg_names�
posonly_countr%�keyword_only_count�keyword_onlyrrr�pos_default_countr��non_default_count�posonly_leftr�rr��offsetr�ris                             r{�_signature_from_functionr;	s���M����d���J�%�d�+�+�	J�#����;�B�B�4�H�H�I�I�I���*�D�1�1�A��@�!�#�t�Q��?�?�?��"�I��
�I��%�I��%�I��0�M��:�I�:�&�J�"�4���Y�y�3E�'E�E�F�L�!�$���QY�Z�Z�Z�K�� �H��$�J�����M�M������J�!�$5�5�� �L��-�-�-�.����#/�K���5K�� �_�_�T�6�2�2�
����)�)�D�Z�)-�/�/�/�	0�	0�	0��	��A��L��"�*�->�-?�-?�"@�A�A������#/�K���5K�� �_�_�T�6�2�2�
����)�)�D�Z�)-�,4�V�,<�>�>�>�	?�	?�	?��	��A��L����J�&�;���%7�7�8�� �_�_�T�6�2�2�
����)�)�D�Z�)8�:�:�:�	;�	;�	;��6�6�����	3� �n�n�T�6�2�2�G� �_�_�T�6�2�2�
����)�)�D�Z�)6�,3�5�5�5�	6�	6�	6�	6���N�*�8��.�.����
�*�	��Q�J�E����� �_�_�T�6�2�2�
����)�)�D�Z�)5�7�7�7�	8�	8�	8�
�3�z�!,����6�!B�!B�'7�9�9�9�9r})r�r�rirjrkc	�h	�	tjt||||||���}t|��s"t	d�|�����t
|tj��r#||j	��}|rt|��S|S|r7t|d����}t
|tj��r||��S	|j}|�9t
|t��s"t	d�|�����|Sn#t$rYnwxYw	|j}	t
|	tj��r�||	j��}
t%|
|	d��}t'|
j�����d}|jt.jur|St'|j�����}|f|z}
|�|
���Sn#t$rYnwxYwt5|��st7|��rt9||||||�	��St;|��rt=|||�
��St
|tj��r ||j��}
t%|
|��Sd}t
|t>���r-tAt?|��d��}|�||��}nPd}tA|d��}tA|d
��}d|j!vr|}nd
|j!vr|}n	|�|}n|�|}|�||��}|��|j"dd�D]/}	|j#}|rtI|||��cS� #t$rY�,wxYwt>|j"vrb|j%tLj%ur-|j'tLj'ur|�(tL��StSd�|�����nxt
|tT��sctAt?|��d��}|�D	||��}n7#tR$r*}d�|��}tS|��|�d}~wwxYw|�|rt|��S|St
|tj+��r$d�|��}tS|���tSd�|�����)N)r�r�rirjr�rkz{!r} is not a callable objectc�"�t|d��S)N�
__signature__rrs r{r�z*_signature_from_callable.<locals>.<lambda>�	s��'�!�_�*E�*E�r}rz1unexpected object {!r} in __signature__ attributer�rbr�)r�rirjrk)r��__call__rfr�r*z(no signature found for builtin type {!r}zno signature found for {!r}z,no signature found for builtin function {!r}z+callable {!r} is not supported by signature),r�r�r�r�r�rrur�r�r�r�r`r>rr��_partialmethod�
partialmethodr�r�r�r�r�rrr rrRr�r;r�r+r~r�rmrr*r(r�r�rf�
from_callabler�r�r�)r�r�r�rirjrkr��_get_signature_ofr�rAr��first_wrapped_param�
sig_paramsr��call�factory_method�new�initr��text_sigr�r9s                      r{r�r�v	s����"�)�*B�6K�/=�(/�'-�'-�)1�
3�3�3���C�=�=�E��7�>�>�s�C�C�D�D�D��#�u�'�(�(�� ����-�-���	�*�3�/�/�/��J��*��S� E� E�G�G�G���c�5�+�,�,�	*�%�$�S�)�)�)�
�����	��c�9�-�-�
-�� � &��s���-�-�-��J�	���
�
�
���
����:��*�
��m�Y�%<�=�=�	:�,�+�M�,>�?�?�K�(��m�W�M�M�C�"'��(>�(E�(E�(G�(G�"H�"H��"K��"�'�9�+C�C�	
:��
�"�3�>�#8�#8�#:�#:�;�;�
�2�3�j�@�
��{�{�j�{�9�9�9�+	:���
�
�
���
����4�#���[�4�S�9�9�[�(���7E�07��QY�[�[�[�	[��S�!�!�F�&�v�s�6D�F�F�F�	F��#�y�(�)�)�8�'�'���1�1��%�k�3�7�7�7�
�C��#�t���J.�
2�$�s�)�)�Z�H�H���	8�#�#�D�)�)�C�C�!�N�4�S�)�D�D�C�5�c�:�F�F�D��C�L�(�	
&�!$����s�|�+�
&�!%����
&�!$����
&�!%���
8�'�'��7�7���"	P���C�R�C�(�
J�
J��J�#�6�H� �J� 2�&�$��I�I�I�I�I�J��&�����D������3�;�&�	
P��L�F�O�3�P��K�6�>�1�P�"�/�/��7�7�7�$�B�I�I�#�N�N�P�P�P����5�
6�
6�.�
2�$�s�)�)�Z�H�H���	.�
.�'�'��-�-�����
.�
.�
.�3�:�:�3�?�?�� ��o�o�2�-�����
.�������	�*�3�/�/�/��J��#�u�0�1�1��<�C�C�C�H�H����o�o��
�B�I�I�#�N�N�
O�
O�OsN�
D
�
D�D�G$�$
G1�0G1�)M�
M�M�<P�
P<�%P7�7P<c��eZdZdS)r�Nr�rtr}r{r�r�4
s������;�;r}r�c��eZdZdS)rNr�rtr}r{rr8
s������@�@r}rc�.�eZdZdZdZdZdZdZd�Zd�Z	dS)	�_ParameterKindzpositional-onlyzpositional or keywordzvariadic positionalr&zvariadic keywordc��t|j��}t�||��}||_||_|Sr�)r�__members__r�rf�_value_�description)r�rRrz�members    r{rfz_ParameterKind.__new__C
s8���C�O�$�$�����S�%�(�(�����(����
r}c��|jSr�rr�s r{�__str__z_ParameterKind.__str__J
s
���y�r}N)
r1rpr+rrr r!r#rfrUrtr}r{rNrN<
sL������'�O�3��*�N�!�L�$�K��������r}rNc���eZdZ	dZeZeZeZ	e
ZeZ
eZeed�d�Zd�Zd�Zed���Zed���Zed���Zed	���Zeeeed
�d�Zd�Zd
�Zd�Zd�ZdS)r)�_name�_kind�_default�_annotationr
c���	t|��|_n!#t$rtd|�d����wxYw|turE|jtt
fvr0d}|�|jj��}t|���||_||_	|turtd���t|t��s6d�t|��j
��}t|���|ddkr�|dd����ri|jt kr0d	}|�|jj��}t|���t"|_d
�|dd���}t%|��o
|jt"u}|s|���s"td�|�����||_dS)Nzvalue z is not a valid Parameter.kindz({} parameters cannot have default valuesz*name is a required attribute for Parameterzname must be a str, not a {}rbr)r;zLimplicit arguments must be passed as positional or keyword arguments, not {}z
implicit{}z"{!r} is not a valid parameter name)rNrXr�rr�r�rrRrYrZrurvr~r1r��isdigitr�r�rc�isidentifierrW)r5r�rr�r�r9�
is_keywords       r{r�zParameter.__init__t
s���	N�'��-�-�D�J�J���	N�	N�	N��L�d�L�L�L�M�M�M�	N�����&� �	&��z�o�|�<�<�
&�@���j�j���!7�8�8�� ��o�o�%���
�%����6�>�	K��I�J�J�J��$��$�$�	!�0�7�7��T�
�
�8K�L�L�C��C�.�.� ���7�c�>�
	1�d�1�2�2�h�.�.�0�0�
	1�
�z�3�3�
&�>���j�j���!7�8�8�� ��o�o�%�)�D�J��&�&�t�A�B�B�x�0�0�D��t�_�_�K���;K�)K�
��	P�T�.�.�0�0�	P��A�H�H��N�N�O�O�O���
�
�
s��5c�X�t|��|j|jf|j|jd�fS)N�rYrZ)r~rWrXrYrZr�s r{�
__reduce__zParameter.__reduce__�
s6���T�
�
���T�Z�(�!�]� $� 0�2�2�3�	3r}c�:�|d|_|d|_dS)NrYrZr`�r5�states  r{�__setstate__zParameter.__setstate__�
s!���j�)��
� ��/����r}c��|jSr�)rWr�s r{r�zParameter.name�
�
���z�r}c��|jSr�)rYr�s r{r�zParameter.default�
s
���}�r}c��|jSr�)rZr�s r{r�zParameter.annotation�
�����r}c��|jSr�)rXr�s r{rzParameter.kind�
rgr})r�rr�r�c��	|tur|j}|tur|j}|tur|j}|tur|j}t|��||||���Sr)r�rWrXrZrYr~)r5r�rr�r�s     r{rzParameter.replace�
ss��9��5�=�	��:�D��5�=�	��:�D����	*��)�J��e��	$��m�G��t�D�z�z�$��g�*�M�M�M�Mr}c��|j}|j}|jtur(d�|t|j����}|jtur_|jtur)d�|t|j����}n(d�|t|j����}|tkrd|z}n|tkrd|z}|S)Nz{}: {}z{} = {}z{}={}rr)
rrWrZrrr&rYr
r�r�)r5r�	formatteds   r{rUzParameter.__str__�
s����y���J�	���6�)�	K� ���	�'7��8H�'I�'I�K�K�I��=��&�	K���v�-�
K�%�,�,�Y��T�]�8K�8K�L�L�	�	�#�N�N�9�d�4�=�6I�6I�J�J�	��?�"�	)��i��I�I�
�\�
!�	)��y�(�I��r}c�B�d�|jj|��S)Nz	<{} "{}">�rr3r1r�s r{rlzParameter.__repr__�
s���!�!�$�.�"9�4�@�@�@r}c�P�t|j|j|j|jf��Sr�)�hashr�rr�r�r�s r{�__hash__zParameter.__hash__�
s!���T�Y��	�4�?�D�L�I�J�J�Jr}c���||urdSt|t��stS|j|jko/|j|jko|j|jko|j|jkS�NT)rur�NotImplementedrWrXrYrZ�r5�others  r{�__eq__zParameter.__eq__�
ss���5�=�	��4��%��+�+�	"�!�!��
�e�k�)�6��
�e�k�)�6��
���/�6�� �E�$5�5�	7r}N)r1rpr+r/r�rr�rr�r r�r!r�r#rr�r�rarer�r�r�r�rr�rrUrlrsryrtr}r{rrT
sT�������*>�I�.�O�4��-�N�+�L�*�K��E�.4��)�)�)�)�)�V3�3�3�0�0�0�����X������X��� � ��X� �����X��$�%� �%�N�N�N�N�N�$���,A�A�A�K�K�K�7�7�7�7�7r}rc�z�eZdZ	dZd�Zed���Zed���Zed���Zd�Z	d�Z
d�Zd	�Zd
�Z
dS)r)r��
_signature�__weakref__c�"�||_||_dSr�)r�r{)r5r]r�s   r{r�zBoundArguments.__init__s��"���#����r}c��|jSr�)r{r�s r{r]zBoundArguments.signature	s
����r}c�N�g}|jj���D]v\}}|jtt
fvrn[	|j|}|jtkr|�|���P|�	|���f#t$rYnwxYwt|��Sr�)r{r�r�rr�r�r�r��extendr�rWr�)r5r�r�rr/s     r{r�zBoundArguments.args
s�����!%��!;�!A�!A�!C�!C�	%�	%��J���z�l�M�:�:�
���
%��n�Z�0���:��0�%��K�K��$�$�$�$��K�K��$�$�$�$���
�
�
����
�����T�{�{�s�
B�
B�Bc�:�i}d}|jj���D]w\}}|s$|jtt
fvrd}n||jvrd}�+|s�.	|j|}|jtkr|�|���b|||<�h#t$rY�twxYw|Sr�)	r{r�r�rr�r�r��updaterW)r5�kwargs�kwargs_startedr�rr/s      r{r�zBoundArguments.kwargs$s�������!%��!;�!A�!A�!C�!C�	-�	-��J��!�
!��:�,�
�!>�>�!�%)�N�N�!���7�!�)-�� �!�
��

-��n�Z�0���:��-�-��M�M�#�&�&�&�&�*-�F�:�&�&���
�
�
���
�����
s�
B�
B�Bc��	|j}g}|jj���D]�\}}	|�|||f���$#t
$rT|jtur|j}n$|jturd}n|jturi}nY�h|�||f��Y��wxYwt|��|_dS)Nrt)r�r{r�r�r�rWr�rrr�r�r�)r5r��
new_argumentsr�r�vals      r{�apply_defaultszBoundArguments.apply_defaultsBs���	��N�	��
��?�5�;�;�=�=�	2�	2�K�D�%�

2��$�$�d�I�d�O�%<�=�=�=�=���
2�
2�
2��=��.�	��-�C�C��Z�?�2���C�C��Z�<�/���C�C��H��$�$�d�C�[�1�1�1�1�1�
2�����m�,�,����s�A
�
AB+�B+�*B+c��||urdSt|t��stS|j|jko|j|jkSru)rurrvr]r�rws  r{ryzBoundArguments.__eq__^sM���5�=�	��4��%��0�0�	"�!�!���%�/�1�2���%�/�1�	3r}c�:�|d|_|d|_dS)Nr{r��r{r�rcs  r{rezBoundArguments.__setstate__fs����-����{�+����r}c� �|j|jd�S)Nr�r�r�s r{�__getstate__zBoundArguments.__getstate__js��"�o�D�N�K�K�Kr}c��g}|j���D].\}}|�d�||�����/d�|jjd�|����S)Nz{}={!r}z	<{} ({})>r)r�r�r�rr3r1r@)r5r�r/rzs    r{rlzBoundArguments.__repr__msr�����.�.�.�0�0�	6�	6�J�C���K�K�	�(�(��e�4�4�5�5�5�5��!�!�$�.�"9�4�9�9�T�?�?�K�K�Kr}N)r1rpr+r/r�r�r]r�r�r�ryrer�rlrtr}r{rr�
s�������� ;�I�$�$�$�����X������X��,����X��:-�-�-�83�3�3�,�,�,�L�L�L�L�L�L�L�Lr}rc���eZdZ	dZeZeZeZ	dedd�d�Z
eddddd�d���Ze
d	���Ze
d
���Zeed�d�Zd
�Zd�Zd�Zdd�d�Zd�Zd�Zd�Zd�Zd�Zd�ZdS)r)�_return_annotation�_parametersNTr-c�:�	|�t��}n�|r�t��}t}d}|D]�}|j}|j}	||kr1d}
|
�|j|j��}
t
|
���||krd}|}|ttfvr$|jtur|rd}
t
|
���nd}|	|vr$d�|	��}
t
|
���|||	<��ntd�|D����}tj|��|_||_
dS)NFz7wrong parameter order: {} parameter before {} parameterz-non-default argument follows default argumentTzduplicate parameter name: {!r}c3�(K�|]
}|j|fV��dSr�r�rxrs  r{r�z%Signature.__init__.<locals>.<genexpr>�s)����$Q�$Q�U�e�j�%�%8�$Q�$Q�$Q�$Q�$Q�$Qr})rfr�rr�rrRr�r�r�rr��MappingProxyTyper�r�)r5r�r�r.r��top_kind�
kind_defaultsrrr�r9s           r{r�zSignature.__init__�st��	��+	R� �]�]�F�F�&�(
R�$����+�� %�
�'�!)�!)�E� �:�D� �:�D��h��
(�(��"�j�j��)=�)-�)9�;�;��(��o�o�-����(�(-�
�#'��� 0�2H�I�I�1� �=�F�2�
1�,�6�'1��&0��o�o� 5�
6�-1�M��v�~�.�>�E�E�d�K�K��(��o�o�-�#(�F�4�L�L�C!)�F%�$Q�$Q�j�$Q�$Q�$Q�Q�Q�� �1�&�9�9���"3����r}F��follow_wrappedrirjrkc�.�	t||||||���S)N)r�r�rirjrk)r�)r�r�r�rirjrks      r{rBzSignature.from_callable�s2��	B�'��C�>L�07��QY�[�[�[�	[r}c��|jSr�)r�r�s r{r�zSignature.parameters�rjr}c��|jSr��r�r�s r{r�zSignature.return_annotation�s���&�&r})r�r�c��	|tur|j���}|tur|j}t	|��||���S)Nr)r�r�r�r�r~)r5r�r�s   r{rzSignature.replace�sc��	�
���	2���/�/�1�1�J���%�	8� $� 7���t�D�z�z�*�,=�?�?�?�	?r}c��td�|j���D����}d�|j���D��}|||jfS)Nc3�:K�|]}|jtk�|V��dSr�)rr�r�s  r{r�z(Signature._hash_basis.<locals>.<genexpr>�sA����=�=�� %�
�m� ;�=�u�=�=�=�=�=�=r}c�>�i|]}|jtk�|j|��Srt)rr�r�r�s  r{r|z)Signature._hash_basis.<locals>.<dictcomp>�s>��H�H�H�E�+0�:��+F�H�e�j�%�H�H�Hr})r�r�r�r�)r5r��
kwo_paramss   r{�_hash_basiszSignature._hash_basis�s|���=�=�$�/�*@�*@�*B�*B�=�=�=�=�=��H�H�T�_�5K�5K�5M�5M�H�H�H�
��z�4�#9�9�9r}c��|���\}}}t|�����}t|||f��Sr�)r��	frozensetr�rr)r5r�r�r�s    r{rszSignature.__hash__�sJ��04�0@�0@�0B�0B�-��
�-��z�0�0�2�2�3�3�
��V�Z�):�;�<�<�<r}c��||urdSt|t��stS|���|���kSru)rurrvr�rws  r{ryzSignature.__eq__�sN���5�=�	��4��%��+�+�	"�!�!����!�!�U�%6�%6�%8�%8�8�8r}�r�c	���	i}t|j�����}d}t|��}		t|��}	t|��}	|	jt
tfvrtd��d�|	jtkr1|g}
|
�	|��t|
��||	j<�nQ|	j|vr9|	jtkr)td�
|	j�����d�|||	j<�n#t$rtd��d�wxYw#t$r�	t|��}	|	jtkrYn�|	j|vrB|	jtkr-d}|�
|	j���}t|��d�|	f}Ynn|	jt
ks|	jt ur|	f}YnK|r|	f}YnDd}|�
|	j���}t|��d�#t$rYYn
wxYwwxYw���d}t#j||��D]�}	|	jt
kr|	}�|	jtkr�&|	j}
	|�|
��}|	jtkr(td�
|	j������|||
<��#t($rG|sB|	jtkr2|	jt ur$td�
|
�����d�Y��wxYw|rJ|�|||j<n=td�
tt|����������|�||��S)	NrtTztoo many positional argumentsz$multiple values for argument {arg!r})r/zA{arg!r} parameter is positional only, but was passed as a keywordz$missing a required argument: {arg!r}z*got an unexpected keyword argument {arg!r})r�r�r�rxrr�r�r�r�r�r�r�r�r�
StopIterationr�rry�chainr?rW�_bound_arguments_cls)r5r�r�r�r�r��
parameters_ex�arg_vals�arg_valrr�r9�kwargs_paramr�s              r{�_bindzSignature._bind�s=��1��	��$�/�0�0�2�2�3�3�
��
���:�:��F	4�C
4��x�.�.��R4� ��,�,�E��z�l�M�%B�B�G�(�;�=�=�BF�G��z�_�4��#*����
�
�h�/�/�/�05�f�
�
�	�%�*�-���z�V�+�;��
�>N�0N�;�'�B�I�I�$)�J�J�0�0�1�1�6:�;�-4�I�e�j�)�)��/%�O�O�O�#�$C�D�D�$�N�O�����U!�%
;�%
;�%
;�#;� ��,�,�E��z�_�4�;�����v�-�;� �:�)9�9�;�#@�C�"%�*�*���*�"<�"<�C�"+�C�.�.�d�:�).��
����*��4�;�05�
�V�0K�;�
*/��
���#�;�-2�H�M�!�E�"H�C�"%�*�*���*�"<�"<�C�"+�C�.�.�d�:��C%�����E�E�����	%
;����F	4�T���_�]�J�?�?�"	0�"	0�E��z�\�)�
�$����z�_�,�
����J�
0� �*�*�Z�0�0���:�!1�1�<�$�%B�$*�F�u�z�F�$:�$:�<�<�<�)0�	�*�%�%��'�
F�
F�
F�
 �F�E�J�/�$A�F�49�M�V�4K�F�#�$J�$*�F�z�F�$:�$:�<�<�AE�F���
F����*�	1��
1�/5�	�,�+�,�,��@�G�G� ��f���.�.�H�0�0�1�1�1��(�(��y�9�9�9sg�D.�
D�D+�.
H�9G<�H�A	H�%!H�H�-H�<
H
�H�	H
�
H�J+�+AK<�;K<c�0�	|�||��Sr��r��r5r�r�s   r{�bindzSignature.binds��	��z�z�$��'�'�'r}c�4�	|�||d���S)NTr�r�r�s   r{r�zSignature.bind_partial�s!��	��z�z�$���z�5�5�5r}c�~�t|��t|j�����fd|jifS�Nr�)r~r�r�r�r�r�s r{razSignature.__reduce__�s?���T�
�
��t�'�.�.�0�0�1�1�3�%�t�'>�?�A�	Ar}c� �|d|_dSr�r�rcs  r{rezSignature.__setstate__�s��"'�(<�"=����r}c�B�d�|jj|��S)Nz<{} {}>rpr�s r{rlzSignature.__repr__�s������� 7��>�>�>r}c�D�g}d}d}|j���D]�}t|��}|j}|tkrd}n|r|�d��d}|tkrd}n$|tkr|r|�d��d}|�|����|r|�d��d�d�	|����}|j
tur,t|j
��}|d�|��z
}|S)NFTr�rz({})rz -> {})
r�r�rvrr�r�r�r�rr@r�rr&)	r5r�render_pos_only_separator�render_kw_only_separatorrrnr�rendered�annos	         r{rUzSignature.__str__�sM����$)�!�#'� ��_�+�+�-�-�	%�	%�E��E�
�
�I��:�D��'�'�
2�,0�)�)�*�
2��
�
�c�"�"�"�,1�)���&�
1�,1�(�(���&�
1�+C�
1��
�
�c�"�"�"�,1�(��M�M�)�$�$�$�$�$�	�
�M�M�#�����=�=����6�!2�!2�3�3���!��/�	.�#�D�$:�;�;�D������-�-�-�H��r}r�)r1rpr+r/rrrr�rr�r�rrBr�r�r�r�rr�rsryr�r�r�rarerlrUrtr}r{rrts��������,6�I��N�)���E�44�V�)-�44�44�44�44�44�l�%)�4��u�[�[�[�[��[�[�� � ��X� ��'�'��X�'�%*�U�
?�
?�
?�
?�
?�:�:�:�=�=�=�
9�9�9�.3�A:�A:�A:�A:�A:�F(�(�(�6�6�6�A�A�A�
>�>�>�?�?�?�+�+�+�+�+r}rr�c�B�	t�|||||���S)Nr�)rrB)r�r�rirjrks     r{r]r]�s0��9��"�"�3�~�+2�6�H�#�V�V�Vr}c��	ddl}ddl}|���}|�dd���|�dddd�	��|���}|j}|�d
��\}}}	|j|��x}}	no#t$rb}
d�	|t|
��j|
��}t|tj���tjd
��Yd}
~
nd}
~
wwxYw|r,|�d��}|	}|D]}
t#||
��}�|	jtjvr/tdtj���tjd��|j�r?td�	|����td�	t)|	������td�	|	j����||	urltd�	t-|	j������t1|	d��r'td�	|	j����nF	t5|��\}}td�	|����n#t$rYnwxYwtd��dStt7|����dS)Nrbr�zCThe object to be analysed. It supports the 'module:qualname' syntax)�helpz-dz	--details�
store_truez9Display info about the module rather than its source code)�actionr��:zFailed to import {} ({}: {}))r|r�r)z#Can't get info for builtin modules.r;z
Target: {}z
Origin: {}z
Cached: {}z
Loader: {}�__path__zSubmodule search path: {}zLine: {}r:)�argparserV�ArgumentParser�add_argument�
parse_argsr��	partition�
import_moduler�rr~r1�printr��stderr�exitr,r�builtin_module_names�detailsrD�
__cached__r
rdr�r�r%rC)r�rV�parserr��target�mod_name�	has_attrs�attrsr�r�rr9�parts�part�__r�s                r{�_mainr��s��@��O�O�O�����
�
$�
$�
&�
&�F�
����9��:�:�:�����k�,�
H��J�J�J������D�
�[�F�!'�!1�!1�#�!6�!6��H�i���.�y�.�x�8�8�8��f�f������,�3�3�H�48��I�I�4F�47�9�9��	�c��
�#�#�#�#���������������������%����C� � �����	%�	%�D��#�t�$�$�C�C�
��#�2�2��
�3�#�*�E�E�E�E��������|��
�l�!�!�&�)�)�*�*�*�
�l�!�!�-��"7�"7�8�8�9�9�9�
�l�!�!�&�"3�4�4�5�5�5��&�=�
	1��,�%�%�d�6�+<�&=�&=�>�>�?�?�?��v�z�*�*�
K��1�8�8���I�I�J�J�J��
1�'��_�_�
��F��j�'�'��/�/�0�0�0�0���
�
�
���
����
	�d������
�i��n�n�����s+�B�
D� AC=�=D�&J�
J(�'J(rIr�)F)r;)rt)T)TNNF)��
__author__�__all__r�r�r��collections.abcr��enum�importlib.machineryrVryrnrSr�r�r�r�r�r�rv�keywordrc�operatorrdrerfri�mod_dict�COMPILER_FLAG_NAMESr�r�r�r r)rZrLrWrXrPr�rVrUrRr�rTrOrIrHrSrNrJr\rQrMrKrYr[rGr�r=r>rr"rAr`rFr-r7r5r#r6r@rDr*rwrzr?r�r�NodeVisitorr�r%r2rrr.rErCrar0rr+rr8rr,r&r'rvr(r,r:r/rr1r_r!rurrr7r<�_fieldsr�rrBr;r$r^r_r�r�r�r�r�r�r�r-rrrrr:r9rr	r
rr4r3�WrapperDescriptorTyper�rr�r�r�r�r�r�r�r�r(r+r;r�r�r�IntEnumrNrr�rr�r r�r!r�r#r�rrrr]r�r1rtr}r{�<module>r�s[���@9�
�a�a�a��H�
�
�
�
�
�
�
�
�
�
�
���������������������	�	�	�	�	�	�	�	�
�
�
�
���������������������������������/�/�/�/�/�/�/�/��7�9�9���#�)�)�+�+���D�A�q��H�U�Q�Y����q�(���%)���p�p�p�p�p�h0�0�0�$�$�$�0�0�0�A�A�A�(?�?�?��7�5�(�)�)��>�>�>�>�����7�5�(�)�)��>�>�>�>����2�2�2�	,�	,�	,�-�-�-�-�-�-�3�3�3�8�8�8�3�3�3�"3�3�3�;�;�;�3�3�3�/�/�/�.�.�.�29�9�9�7�7�7�(�(�(����0(�(�(�T3�3�3�3�
:�:�:�:�
�J�{�$E�F�F�	�p�p�p�h����!�!�!�!�!�H0�0�0�
���<�<�<�|���& � � �:,�,�,�8
�
�
����28�8�8�8��
���,�,�,�,�^	�	�	�	�	�)�	�	�	������3�?����>B0�B0�B0�H+%�+%�+%�Z"�!�!�!�!��!�!�!�<�<�<�<�<�<�<�<�|	$�	$�	$�0�0�0�*������+�+�+�+�6
�J�{�$:�;�;�	�8�8�8�8�j��M�O�O��Z<�Z<�Z<�z�*�Y� >�
?�
?��9�9�9�	�	�	�	����"�"9�"9� 8� 8� ?� ?�	(�(�(�(�.7�7�7� D�D�D�*:�:�:�x�j��(L�M�M��14�14�14�j�Z��&S�
T�
T�
�
-�
-�
-�
-�
-�
�
-�
-�
-�7�7�7�O�O�O�)A�)A�)A�)A�V���
�Z��j�9�3D�&D�
E�
E�
�
@�
@�
@�
@�
@�
�
@�
@�
@���������C�C�C�5�5�5�5�6�6�6�6�
�F�H�H�	�3�3�3�4�4�4����������'0�+�+�+�+�`�����
�
�
����$���&����!�������$
�
�
�$"�7�!�3�!�;�!�5�7��
�
�
� I?�I?�I?�I?�X*�*�*�4	#�	#�	#�G�G�G�2EA�EA�EA�PC8�C8�C8�C8�L
<�
<�
<�
<� 8<�AF�\9�\9�\9�\9�@48�,0�%)�$(�&+�{P�{P�{P�{P�{P�|<�<�<�<�<�<�<�<�A�A�A�A�A�A�A�A������T�\����"*�9��)�?��)�8��)�6�
�)�5��[7�[7�[7�[7�[7�[7�[7�[7�|L�L�L�L�L�L�L�L�DO�O�O�O�O�O�O�O�d
&*�4��u�V�V�V�V�V�7�7�7�t�z���	�E�G�G�G�G�G��r}