� c��j������ dZgd�ZddlZddlZddlZddlZddlZddlZ ddl Z ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZddlZddlmZddlmZddlmZmZddlmZe�Zej>jA�D] \Z!Z"e!ede"z<�[!["[d Z#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/e0�Z1d�Z2d�Z3d�Z4d�Z5d�Z6d �Z7d!�Z8d"�Z9d#�Z:d$�Z;d%�Zd(�Z?d)�Z@d*�ZAd�d+�ZBd�d,�ZCed-d.�ZDd/�ZEd0�ZFdd1�d2�ZGd3�ZHd4�ZId5�ZJd6�ZKd7�ZLd8�ZMd9�ZNd:�ZOd�d;�ZPiZQiZRd�d<�ZSGd=�d>eT�ZUGd?�d@ej��ZWdA�ZXdB�ZYGdC�dDeT�ZZGdE�dF�Z[dG�Z\dH�Z]dI�Z^dJ�Z_d�dK�Z`edLdM�ZadN�ZbedOdP�ZcdQ�ZdedRdS�ZedT�Zfd�dU�ZgdV�ZheidW�dX�dY�fdZ�Zjd[�Zkd\�Zld]�Zmed^d_�Znd`�Zoedadb�ZpGdc�ddep�Zqde�Zrdf�Zsd�dg�Ztdh�Zuedidjeqj�z�ZwGdk�dlew�Zxd�dm�Zyd�dn�Zzdo�Z{d�dp�Z|d�dq�Z}e0�Z~e�jdr�jZ�e�jds�jZ�dt�Z�du�Z�e�j �dv��Z�dw�Z�e~fdx�Z�dyZ�dzZ�d{Z�d|Z�d}�Z�d~�Z�dZ�d�Z�d�Z�d�Z�d��Z�d��Z�d�Z�d�Z�d�Z�d�Z�d��Z�d��Z�e�j8e�j:e�j<e�j>fZ�d��Z�d�d��Z�d��Z�d��Z�d��Z�d��Z�d�d��Z�d�d��Z� d�d��Z�d��Z�d�d�ddd d��d��Z�Gd��d��Z�Gd��d��Z�Gd��d�e�j\�Z�e��j`Z�e��jdZ�e��jhZ�e��jlZ�e��jpZ�Gd��d��Z�Gd��d��Z�Gd��d��Z�d�ddd d��d��Z�Gd��d�e�j|�Z�d��Z�e�d�k(re��yy)�)zKa-Ping Yee z'Yury Selivanov )h� AGEN_CLOSED� AGEN_CREATED� AGEN_RUNNING�AGEN_SUSPENDED�ArgInfo� Arguments� Attribute� BlockFinder�BoundArguments� BufferFlags� 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�getasyncgenlocals�getasyncgenstate�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�markcoroutinefunction� signature�stack�trace�unwrap�walktree�N)� iskeyword)� attrgetter)� namedtuple� OrderedDict)�ref�CO_iF��globals�locals�eval_strc �t� t|t�r�t|dd�}|r;t|d�r/|j dd�}t|t j �rd}nd}d}t|dd�}|r/tjj |d�}|r t|dd�}tt|��} |} npt|t j�rt|dd�}t|d�}d} d} n8t|�rt|dd�}t|dd�}d} |} nt|�d���|�iSt|t�st|�d���|siS|s t|�S| �Z t| d�r | j} �t| t j"�r | j$} �A t| d�r | j&}|�|}|�| xsi}t|d d �x} r| D� cic]} | j(| ��c} |z}|j+�D� �cic]%\} }| t|t,�s|n t/|||���'}} }|Scc} wcc}} w) N�__dict__�get�__annotations__� __module__� __globals__z% is not a module, class, or callable.z+.__annotations__ is neither a dict nor None� __wrapped__�__type_params__�)� isinstance�type�getattr�hasattrrw�types�GetSetDescriptorType�sys�modules�dict�vars� ModuleType�callable� TypeError� ValueErrorr{� functools�partial�funcrz�__name__�items�str�eval)�objrrrsrt�obj_dict�ann� obj_globals� module_name�module� obj_localsrh� type_params�param�key�value� return_values � /usr/lib64/python3.12/inspect.pyr.r.�s]��+�X�#�t���3� �D�1�� ���%�0��,�,�0�$�7�C��#�u�9�9�:����C�� ��c�<��6� � ��[�[�_�_�[�$�7�F��%�f�j�$�?� ��$�s�)�_� ��� �C��)�)� *��c�,�d�3���c�:�.� �� ��� �#���c�,�d�3���c�=�$�7� �� ����3�'�!F�G�H�H� �{�� � �c�4� ��C�7�"M�N�O�O� �� � ��C�y�� ����v�}�-��+�+����&�)�"3�"3�4������ � �6�=� )� �,�,�K����� �~��!�r�� �c�#4�b�9�9�{�9�5@�A�[�E�%�.�.�%�'�[�A�F�J���)�)�+�(�%�J�C�����s�+���e�W�f�1M�N�%��(� ��� B��(s �H/�*H4c�8� t|tj�S�N)r~r�r���objects r�rara*s��0� �f�e�.�.� /�/�c�$� t|t�Sr�)r~rr�s r�rSrS.s��/� �f�d� #�#r�c�8� t|tj�Sr�)r~r�� MethodTyper�s r�r^r^2s��:� �f�e�.�.� /�/r�c�� t|�st|�s t|�ryt|�}t |d�xr t |d� S)NF�__get__�__set__�rSr^rYrr��r��tps r�r_r_6sG�� B��v��(�6�*�j��.@�� �f��B� �2�y� !� @�'�"�i�*@�&@�@r�c�� t|�st|�s t|�ryt|�}t |d�xs t |d�S)NFr�� __delete__r�r�s r�rWrWJsC����v��(�6�*�j��.@�� �f��B� �2�y� !� >�W�R��%>�>r��MemberDescriptorTypec�8� t|tj�Sr�)r~r�r�r�s r�r]r]Z��� ��&�%�"<�"<�=�=r�c�� y�NFr}r�s r�r]r]b� �� �r�r�c�8� t|tj�Sr�)r~r�r�r�s r�r\r\kr�r�c�� yr�r}r�s r�r\r\sr�r�c�8� t|tj�Sr�)r~r�� FunctionTyper�s r�rYrYzs�� I� �f�e�0�0� 1�1r�c��� t|�r|j}t|�r�tj|�}t |�s t |�syt |jj|z�Sr�) r^�__func__r��_unwrap_partialrY�_signature_is_functionlike�bool�__code__�co_flags)�f�flags r��_has_code_flagr��s^��� �1�+� �J�J�� �1�+��!�!�!�$�A� �q�M�7��:�� �� � �#�#�d�*� +�+r�c�$� t|t�Sr�)r�r�r�s r�r[r[�s��6� �#�|� ,�,r�c��t|�r|j}t|�r�tj|�}t |dd�t uS)N�_is_coroutine_marker)r^r�r�r�r��_is_coroutine_mark�r�s r��_has_coroutine_markr��sA�� �1�+� �J�J�� �1�+��!�!�!�$�A� �1�,�d� 3�7I� I�Ir�c�N� t|d�r |j}t|_|S)Nr�)r�r�r�r�)r�s r�rdrd�s)����t�Z� ��}�}�� 2�D�� �Kr�c�>� t|t�xs t|�Sr�)r�rr�r�s r�rVrV�s!��� �#�|� ,� H�0C�C�0H�Hr�c�$� t|t�Sr�)r�rr�s r�rPrP�s��� �#�1� 2�2r�c�8� t|tj�Sr�)r~r��AsyncGeneratorTyper�s r�rOrO�s��A� �f�e�6�6� 7�7r�c�8� t|tj�Sr�)r~r�� GeneratorTyper�s r�rZrZ�s�� K� �f�e�1�1� 2�2r�c�8� t|tj�Sr�)r~r�� CoroutineTyper�s r�rUrU�s��3� �f�e�1�1� 2�2r�c� � t|tj�xsht|tj�xr&t |j j tz�xs$t|tjj�Sr�) r~r�r�r�r��gi_coder�r� collections�abc� Awaitabler�s r�rQrQ�sh��I� �v�u�2�2� 3� :� �v�u�2�2� 3� F��V�^�^�,�,�/D�D�E� :� �v�{���8�8� 9�;r�c�8� t|tj�Sr�)r~r�� TracebackTyper�s r�rcrc�s��N� �f�e�1�1� 2�2r�c�8� t|tj�Sr�)r~r�� FrameTyper�s r�rXrX�s�� D� �f�e�o�o� .�.r�c�8� t|tj�Sr�)r~r��CodeTyper�s r�rTrT�s��O�, �f�e�n�n� -�-r�c�8� t|tj�Sr�)r~r��BuiltinFunctionTyper�s r�rRrR s��H� �f�e�7�7� 8�8r�c�8� t|tj�Sr�)r~r��MethodWrapperTyper�s r�r`r`s��8� �f�e�5�5� 6�6r�c�� t|�xs2t|�xs%t|�xst|�xs t |�Sr�)rRrYr^r_r`r�s r�rbrbsJ��F� �f� � '��&�!� '���� '�"�&�)� '��v�&� (r�c�� t|t�sy|jtzryt t|�t j �syt|d�ry|jj�D]\}}t|dd�s�y|jD]1}t|dd�D]}t||d�}t|dd�s�y�3y)NFT�__abstractmethods__�__isabstractmethod__r}) r~r� __flags__r%� issubclassr��ABCMetar�rvr�r�� __bases__)r��namer��bases r�rNrN!s���D� �f�d� #�� ���-�-�� �d�6�l�C�K�K� 0���v�,�-�����,�,�.� ��e� �5�0�%� 8��/�� � ���D�"7��<�D��F�D�$�/�E��u�4�e�<��=�!� r�c�l�g}t�}t|�}t|�rlt|�} |jD]P}|j j �D]1\}} t| tj�s�!|j|��3�Rnd}|D]E} ||| �} | |vrt� |r|| �r|j| | f�|j| ��G|jd���|S#t$rY�jwxYw#t$r+|D]!}| |j vs�|j | } nY��Y��wxYw)Nr}c� �|dS)Nrjr})�pairs r��z_getmembers..`s��$�q�'r��r�)�set�dirrSrHr�rvr�r~r��DynamicClassAttribute�append�AttributeError�add�sort) r�� predicate�getter�results� processed�names�mror��k�vr�r�s r�� _getmembersr9s:���G���I� ��K�E��v���V�n�� ��(�(�� �M�M�/�/�1�D�A�q�!�!�U�%@�%@�A�� � �Q��2�)����� ��6�3�'�E��i��$�$� ��I�e�,� �N�N�C��<� (�� � �c��)�* �L�L�)�L�*� �N��5� � � ��� ����$�-�-�'� �M�M�#�.�E���� �  �s0�A C0�9C0�C?�0 C<�;C<�?D3�D3�2D3c�&� t||t�Sr�)rr��r�r�s r�rDrDcs��G� �v�y�'� 2�2r�c�&� t||t�Sr�)rr4rs r�rErEhs�� � �v�y�.� 9�9r�rzname kind defining_class objectc �`� t|�}tt|��}td�|D��}|f|z}||z}t|�}|D]]}|jj �D]>\}}t |tj�s�!|j��.|j|��@�_g} t�} |D�]R} d} d} d}| | vrs | dk(r td��t|| �} t| d| �} | |vrEd} d}|D]}t|| d�}|| us�|}�|D]} |j|| �}|| us�|}�|�|} |D]'}| |jvs�|j| }| |vr|} n| ���| �| n|}t |t tj"f�rd}|}nJt |t$tj&f�rd}|}n%t |t(�rd}|}nt+|�rd}nd }| jt-| || |��| j/| ���U| S#t$rY��wxYw#t$rY��wxYw) Nc3�>K�|]}|ttfvs�|���y�wr�)rr�)�.0�clss r�� z'classify_class_attrs..�s����H�7�C�c�$���.G�C�7�s��rvz)__dict__ is special, don't want the proxy� __objclass__z static methodz class method�property�method�data)rHr�tupler�rvr�r~r�r��fgetr�r�� Exceptionr�� __getattr__r�� staticmethod�BuiltinMethodType� classmethod�ClassMethodDescriptorTyper rbrr�)rr��metamro� class_bases� all_basesr�r�r�r�resultr�r��homecls�get_obj�dict_obj�last_cls�srch_cls�srch_objr��kinds r�r'r'xsz���4 ��+�C��T�#�Y��G��H�7�H�H�G��&�3�,�K��g�%�I� ��H�E����M�M�'�'�)�D�A�q��!�U�8�8�9�a�f�f�>P�� � �Q��*���F���I��������� �y� � +��:�%�#�$O�P�P�!�#�t�,��"�'�>�7�C���+�-�#�G�#�H�$/��#*�8�T�4�#@��#�w�.�'/�H�%0� %,��%�'/�';�';�C��'F�H�$�w�.�'/�H� %,� �+�"*���D��t�}�}�$��=�=��.���'�)�"�G�� � �?� � �,�g�(�� �h��u�/F�/F� G� H�"�D��C� ��;��0O�0O�"P� Q�!�D��C� ��(� +��D��C� �s�^��D��D�� � �i��d�G�S�9�:�� � �d��I�J �M��C .�%�$�%��%� �� �s$�H!�H� H�H�! H-�,H-c�� |jSr�)�__mro__)rs r�rHrH�s��N� �;�;�r���stopc�j� |}t|�|i}tj�}t|t�s~t |d�rr|� ||�r |S|j }t|�}||vst|�|k\rtdj|���|||<t|t�s t |d�r�r|S)Nr{z!wrapper loop when unwrapping {!r}) �idr��getrecursionlimitr~rr�r{�lenr��format)r�r$r��memo�recursion_limit�id_funcs r�rhrh�s���� �A� �q�E�1�:�D��+�+�-�O���t�$���}�)E� � ��T� � � �K� �����T�(�� �t�O��T��o�!=��@�G�G��J�K� K���W� ���t�$���}�)E� �Kr�c�n� |j�}t|�t|j��z Sr�)� expandtabsr(�lstrip)�line�explines r�rMrMs,��L��o�o��G� �w�<�#�g�n�n�.�/� /�/r�c���tjj|j�}|�y|jj d�ddD]}t ||�}�t|�sy|S)N�.�����)r�r�rwry� __qualname__�splitr�rS)r�rr�s r�� _findclassr7s]�� �+�+�/�/�$�/�/� *�C� �{���!�!�'�'��,�S�b�1���c�4� ��2� �3�<�� �Jr�c�r�t|�r.|jD]}|tus� |j}|��|cSyt |�rb|j j}|j}t|�r'tt||d�d�|j ur|}�nR|j}�nDt|�r)|j}t|�}|�t||�|u�ryt|�rR|j}|j}t|�r"|jdz|z|jk(r|}n�|j}n�t|t �r4|j"}|j}t|�}|�t||�|urpyt%|�s t'|�rX|j}|j(}t||�|uryt+|�r't|dd�}t|t,�r ||vr||Sy|jD]} t||�j}|��|cSy#t$rY��wxYw#t$rY�>wxYw)Nr�r3� __slots__)rSr"r��__doc__r�r^r�r��__self__r�� __class__rYr7rRr5r~r rr_rWr r]r�)r�r��docr��selfrr��slotss r��_finddocr@!s ���s�|��K�K�D��6�!���,�,�C��?��J� ����}��|�|�$�$���|�|�� �D�M� �G�D�$��-�z� :�c�l�l� J��C��.�.�C� �C���|�|����o�� �;�'�#�t�,�C�7�� �3���|�|���|�|�� �D�M� � � �� #�d� *�c�.>�.>� >��C��.�.�C� �C�� "��x�x���}�}������ �;�'�#�t�,�C�7�� �C� �$4�S�$9��|�|������ �3�� �S� (�� �c� "��C��d�3�E��%��&�4�5�=��T�{�"��� � �� ��$��%�-�-�C� �?��J� � ��m&�����d� � � �s#� H�;H*� H'�&H'�* H6�5H6c�� |j}|� t|�}t |t �syt |�S#t$rYywxYw#ttf$rYywxYwr�)r:r�r@r�r~r�r()r�r=s r�r<r<_sq��B� ��n�n�� �{� ��6�"�C� �c�3� �� �C�=��� ����� � �*� �� �s � 9� A� A�A�A�Ac�B� |j�jd�}tj}|ddD]8}t |j ��}|s�t |�|z }t ||�}�:|r|dj �|d<|tjkr%tdt |��D] }|||d||<�|r|ds|j�|r|ds�|r|ds|jd�|r|ds�dj|�S#t$rYywxYw)N� �rjr4) r.r6r��maxsizer(r/�min�range�pop�join� UnicodeError)r=�lines�marginr0�content�indent�is r�r(r(rs��� ���� �&�&�t�,�� �����!�"�I�D��$�+�+�-�(�G���T��W�,���V�V�,�� � ��Q�x���(�E�!�H� �C�K�K� ��1�c�%�j�)��e�A�h�v�w�6G�5��8�)��E�"�I� �I�I�K��E�"�I��E�!�H� �I�I�a�L��E�!�H��y�y�����) ����s�D� D�Dc��� t|�r3t|dd�r |jStdj |���t |�r�t |d�r\tjj|j�}t|dd�r |jS|jdk(r td��tdj |���t|�r |j}t|�r |j}t!|�r |j"}t%|�r |j&}t)|�r |j*Stdj t-|�j.���)N�__file__z{!r} is a built-in modulery�__main__�source code not availablez{!r} is a built-in classzVmodule, class, method, function, traceback, frame, or code object was expected, got {})rar�rQr�r)rSr�r�r�rwry�OSErrorr^r�rYr�rc�tb_framerX�f_coderT� co_filenamerr�)r�r�s r�r=r=�s)��J���� �6�:�t� ,��?�?� "��3�:�:�6�B�C�C��v�� �6�<� (��[�[�_�_�V�%6�%6�7�F��v�z�4�0����&�� � �J�.��9�:�:��2�9�9�&�A�B�B���������&�������6�������v������ �f�~��!�!�!� �7�7=�v���L�)�)�8+� ,�,r�c� � tjj|�}tjj �D�cgc]}t |� |f��}}|j�|D]\}}|j|�s�|d|cSycc}wr�) �os�path�basename� importlib� machinery� all_suffixesr(r��endswith)rZ�fname�suffix�suffixes�neglens r�rGrG�s���;� �G�G� � �T� "�E�#,�"5�"5�"B�"B�"D�F�"D���f�+��v�&�"D� �F� �M�M�O�"���� �>�>�&� !���&�>� !�#� �� Fs�B c�p�� t|��tjjdd}|tjjddz }t �fd�|D��rAt jj��dtjjdz�n-t �fd�tjjD��ry�tjvr�St jj��r�St|��}t|dd���Stt|dd�dd���Sy)Nc3�@�K�|]}�j|����y�wr��r_�r�s�filenames �r�r z getsourcefile..�s����� ?�)>�A�8� � �Q� �)>���rjc3�@�K�|]}�j|����y�wr�rfrgs �r�r z getsourcefile..�s$����� 9�7�'(�X� � �q� !�7�rj� __loader__�__spec__�loader)r=r\r]�DEBUG_BYTECODE_SUFFIXES�OPTIMIZED_BYTECODE_SUFFIXES�anyrYrZ�splitext�SOURCE_SUFFIXES�EXTENSION_SUFFIXES� linecache�cache�existsrFr�)r��all_bytecode_suffixesr�ris @r�rKrK�s�����v��H�%�/�/�G�G��J���Y�0�0�L�L�Q�O�O�� � ?�)>� ?�?��G�G�$�$�X�.�q�1��'�'�7�7��:�;�� � 9��$�$�7�7� 9� 9���9�?�?�"��� �w�w�~�~�h���� �v�x� (�F��v�|�T�*�6��� ����T�2�H�d� C� O��� Pr�c�� |�t|�xs t|�}tjj tjj |��Sr�)rKr=rYrZ�normcase�abspath)r�� _filenames r�r/r/�sD��2���!�&�)�<�W�V�_� � �7�7� � �B�G�G�O�O�I�6� 7�7r�c�� t|�r|St|d�r)tjj |j �S|�.|t vr&tjj t |�S t||�}|t vr&tjj t |�Stjj�j�D]�\}}t|�s�t|d�s�|j}|tj |d�k(r�E|t|<t|�}|jxt |<t tj j#|�<��|t vr&tjj t |�Stjd}t|d�syt||j�rt%||j�}||ur|Stjd}t||j�rt%||j�} | |ur|Syy#ttf$rYywxYw)NryrQrRr��builtins)rar�r�r�rwry� modulesbyfiler/r��FileNotFoundError�copyr�rQ�_filesbymodnamer�rYrZ�realpathr�) r�r|�file�modnamer�r��main� mainobject�builtin� builtinobjects r�rFrF�s���K����� ��v�|�$��{�{���v�0�0�1�1����m�!;��{�{���}�Y�7�8�8���&�)�,�� �}���{�{���}�T�2�3�3��;�;�+�+�-�3�3�5���� �F� ��� � ;����A��O�'�'���6�6��'(�O�G� $��6�"�A�(.��� 7�M�!� �}���� � ��#� %�6� �}���{�{���}�T�2�3�3� �;�;�z� "�D� �6�:� &���t�V�_�_�%��T�6�?�?�3� � �� ��K��k�k�*�%�G��w����(������9� � �F� "��N� #�)��; �(� )����s�5 H6�6I�Ic� �eZdZy)rN�r�ryr5r}r�r�rr s��r�rc�"�eZdZd�Zd�ZeZd�Zy)� _ClassFinderc� �g|_||_yr�)rf�qualname)r>r�s r��__init__z_ClassFinder.__init__s���� � �� r�c��|jj|j�|jjd�|j|�|jj �|jj �y)Nz)rfr�r�� generic_visitrH)r>�nodes r��visit_FunctionDefz_ClassFinder.visit_FunctionDefsT�� � � ���$�)�)�$� � � ���*�%� ���4� � � � ���� � � ���r�c�x�|jj|j�|jdj |j�k(rB|j r|j dj }n |j }|dz}t|��|j|�|jj�y)Nr3rjrD) rfr�r�r�rI�decorator_list�linenorr�rH)r>r�� line_numbers r��visit_ClassDefz_ClassFinder.visit_ClassDefs��� � � ���$�)�)�$� �=�=�C�H�H�T�Z�Z�0� 0��"�"�"�1�1�!�4�;�;� �"�k�k� � �1� �K�%�k�2� 2� ���4� � � � ���r�N)r�ryr5r�r��visit_AsyncFunctionDefr�r}r�r�r�r�s��!��/�� r�r�c�� t|�}|rtj|�n8t|�}|j d�r|j d�s t d��t||�}|r!tj||j�}ntj|�}|s t d��t|�r|dfSt|�rZ|j}dj|�}tj|�}t!|�} |j#|�t d��t)|�r |j*}t-|�r |j.}t1|�r |j2}t5|�r |j6}t9|�rkt;|d�s t d ��|j<d z } t?j@d �} | dkDr' || } | jE| �r || fS| d z } | dkDr�'|| fSt d ��#t$$r}|j&d} || fcYd}~Sd}~wwxYw#tB$r t d ��wxYw)N�<�>rSzcould not get source coderj�zcould not find class definition�co_firstlinenoz"could not find function definitionrDz>^(\s*def\s)|(\s*async\s+def\s)|(.*(?�?� ?��$�$�q�(���j�j�Z�[���Q�h� 9��T�{���y�y�����d�{���!�8�D��Q�h��d�{�� �.� /�/��9#� &��&�&��)�K��+�%� %�� &��,� 9��7�8�8� 9�s*�G?� H(�? H%�H �H%� H%�(H=c�,� t|�\}}t|�r�d}|r |ddddk(rd}|t |�kr>||j �dvr)|dz}|t |�kr||j �dvr�)|t |�kr{||dddk(rog}|}|t |�krL||dddk(rA|j ||j��|dz}|t |�kr ||dddk(r�Adj|�Syy|dkD�rwt||�}|dz }|dk\�r]||j�dddk(�rBt||�|k(�r/||j�j�g}|dkDr�|dz }||j�j�}|dddk(r]t||�|k(rL|g|dd|dz }|dkrn;||j�j�}|dddk(rt||�|k(r�L|r4|dj �dk(rg|dd|r|dj �dk(r�|r4|dj �dk(rg|dd|r|dj �dk(r�dj|�Syyyy#ttf$rYywxYw) Nrj�z#!rD)r��#r�r�r4) r*rTr�rar(�stripr�r.rIrMr/)r�rKr��start�comments�endrN�comments r�r9r9rs����� ��(� ��t������ �U�1�X�b�q�\�T�)�1�5��c�%�j� �U�5�\�%7�%7�%9�Y�%F��A�I�E��c�%�j� �U�5�\�%7�%7�%9�Y�%F� �3�u�:� �%��,�r��"2�c�"9��H��C���E� �"�u�S�z�"�1�~��'<�����c� � 5� 5� 7�8��A�g����E� �"�u�S�z�"�1�~��'<��7�7�8�$� $� #:� � ����E�$�K�(���Q�h�� �!�8��c� �)�)�+�B�Q�/�3�6� �u�S�z� "�f� ,��c� �-�-�/�6�6�8�9�H��Q�w��A�g����*�/�/�1�8�8�:���b�q�k�S�(�Z��c� �-C�v�-M�$+�9�H�R�a�L���'�C��Q�w��#�C�j�3�3�5�<�<�>�G� �b�q�k�S�(�Z��c� �-C�v�-M� �x��{�0�0�2�c�9�!���!� ��x��{�0�0�2�c�9��x��|�1�1�3�s�:� "���� ��x��|�1�1�3�s�:��7�7�8�$� $� -�7�8� ��% �Y� ����s�J�J�Jc� �eZdZy)rNr�r}r�r�rr�s�r�rc��eZdZ d�Zd�Zy)r c�f�d|_d|_d|_d|_d|_d|_d|_y)NrjFrD)rN�islambda�started�passline� indecorator�last� body_col0�r>s r�r�zBlockFinder.__init__�s4���� ��� ��� ��� � ����� ���r�c�R�|js?|js3|dk(rd|_d|_y|dvr|dk(rd|_d|_d|_y|tj k(r8d|_|d|_|jrt�|jrd|_yy|jry|tjk(r>|j�|jr |d|_ |jdz|_ d|_y|tjk(r*|jdz |_ |jdkrt�y|tjk(r+|j�|d|jk\r |d|_yyy|jdk(r)|tjtjfvrt�yy)N�@T)�def�class�lambdar�FrjrD)r�r�r�r��tokenize�NEWLINEr�r�INDENTr�rN�DEDENT�COMMENT�NL)r>r�token�srowcol�erowcolr0s r�� tokeneaterzBlockFinder.tokeneater�s����|�|�D�$4�$4���|�#'�� � !�D�M� �4�4��H�$�$(�D�M�#�� � �D�M� �X�%�%� %�!�D�M��� �D�I��}�}� � ����#(�� � � �]�]� � �X�_�_� $��~�~�%�$�,�,�!(������+�+��/�D�K� �D�M� �X�_�_� $��+�+��/�D�K��{�{�a�� � � � �X�%�%� %��~�~�)�g�a�j�D�N�N�.J�#�A�J�� �/K�)��[�[�A� �$�x�/?�/?����.M�"M�� �#N� r�N)r�ryr5r�r�r}r�r�r r �s��J��)r�r c�� t�} tjt|�j�}|D]}|j |�� |d|jS#t tf$rY� t$rW}d|jvr|d�^}} |j tjg|���n#t tf$rYnwxYwYd}~�zd}~wwxYw)N� unmatched) r r��generate_tokens�iter�__next__r�r�IndentationError� SyntaxError�msgr�r�)rK� blockfinder�tokens�_tokenr��_� _token_infos r�r5r5�s���J��-�K� ��)�)�$�u�+�*>�*>�?���F� "�K� "� "�F� +�� �"�+�"�"� #�#�� �(� )� � � �� �a�e�e� #��� � ���K� � "�K� "� "�8�#3�#3� B�k� B���,�-� � � ��� �sA�>A�C �,C �4C� !B,�+C�,B>�;C�=B>�>C�C c��� t|�}t|�\}}t|�r |j}t |�s$t |�r|j jdk(r|dfSt||d�|dzfS)NzrjrD) rhr*rcrUrarXrV�co_namer5�r�rKr�s r�rLrL�sv��6��F�^�F��V�$�K�E�4��6������ ��� ���V�]�]�2�2�j�@��a�x����d�e� �%�t�a�x�/�/r�c�B� t|�\}}dj|�S)Nr�)rLrIr�s r�rJrJ�s&��A� !��(�K�E�4� �7�7�5�>�r�c��� g}|jtdd���|D]C}|j||jf�||vs�%|jt ||||���E|S)Nryr�r�)r�rlr�r�ri)�classes�children�parentr��cs r�riri se��7��G� �L�L�Z� �j�9�L�:� ������1�;�;�'�(� ��=� �N�N�8�H�Q�K��1�=� >�� �Nr�c�0� i}g}|D]c}|jr?|jD]/}||vrg||<|||vr||j|�|s�*||vs�/�L�N||vs�S|j|��e|D]}||vs�|j|��t||d�Sr�)r�r�ri)r��uniquer��rootsr�r�s r�r7r7s���E��H� �E� �� �;�;��+�+����)�')�H�V�$��H�V�,�,��V�$�+�+�A�.��f��/�� &� �e�^� �L�L��O���� �� � �L�L�� �� �E�8�T� *�*r�rzargs, varargs, varkwc�� t|�stdj|���|j}|j}|j }t |d|�}t ||||z�}||z }d}|jtzr|j|}|dz}d}|jtzr|j|}t||z||�S)Nz{!r} is not a code objectrD) rTr�r)� co_varnames� co_argcount�co_kwonlyargcount�listr�rrr)�cor��nargs�nkwargsr�� kwonlyargs�varargs�varkws r�r0r00s���� �"�:��3�:�:�2�>�?�?� �N�N�E� �N�N�E��"�"�G� ��f�u� � �D��e�E�%��-�0�1�J� �W��E��G� �{�{�Z���.�.��'���� �� �E� �{�{�^�#����u�%�� �T�J�&��� 7�7r�rzGargs, varargs, varkw, defaults, kwonlyargs, kwonlydefaults, annotationsc �� t|ddtd��}g}d}d}g}g}i}d} i} |j|j ur|j|d<|j j�D�]} | j} | j} | tur:|j| �| j| j ur�| | jfz } n�| tur:|j| �| j| j urg| | jfz } nV| tur| }nK| tur9|j| �| j| j ur| j| | <n | t ur| }| j"| j us��| j"|| <��!| sd} | sd} t%||z||| || |�S#t$r}td�|�d}~wwxYw)NF)�follow_wrapper_chains�skip_bound_arg�sigclsrtzunsupported callabler}�return)�_signature_from_callabler$rr��return_annotation�empty� parameters�valuesr r��_POSITIONAL_ONLYr��default�_POSITIONAL_OR_KEYWORD�_VAR_POSITIONAL� _KEYWORD_ONLY� _VAR_KEYWORD� annotationr)r��sig�exr�r�r�� posonlyargsr�� annotations�defaults� kwdefaultsr�r r�s r�r?r?Ns����8�"'�t�=B�6;�.7�05� 7�� �D��G� �E��K��J��K��H��J� ���C�I�I�-� #� 5� 5� �H�����&�&�(���z�z���z�z�� �#� #� � � �t� $��}�}�E�K�K�/��U�]�]�,�,�� �+� +� �K�K�� ��}�}�E�K�K�/��U�]�]�,�,�� �_� $��G� �]� "� � � �d� #��}�}�E�K�K�/�#(�=�=� �4� � �\� !��E� � � �5�;�;� .� %� 0� 0�K�� �-)�0 �� � ��� �{�T�)�7�E�8�!�:�{� <�<��g �8� �.�/�R�7�� 8�s�F&�& G�/ F;�;Grzargs varargs keywords localsc�f� t|j�\}}}t||||j�Sr�)r0rVr�f_locals)�framer�r�r�s r�r1r1�s3��=� #�5�<�<�0��D�'�5� �4��%���� 8�8r�c�X�t|dd�dk(r#d�}tjd|t|��St |t j �r t|�St |t�r8|jd|fvr |jS|jdz|jzSt|�S)Nry�typingc�D�|j�}|jd�S)Nztyping.)�group� removeprefix)r��texts r��replzformatannotation..repl�s���;�;�=�D��$�$�Y�/� /r�z[\w\.]+r~r3) r�r��sub�reprr~r�� GenericAliasr�rryr5)r� base_modulers r�r+r+�s����z�<��.�(�:� 0��v�v�j�$��Z�(8�9�9��*�e�0�0�1��:����*�d�#� � � �Z��$=� =��*�*� *��$�$�S�(��)@�)@�@�@� � � �r�c�,��t|dd���fd�}|S)Nryc���t|��Sr�)r+)rr�s �r��_formatannotationz5formatannotationrelativeto.._formatannotation�s���� �F�3�3r�)r�)r�rr�s @r�r,r,�s��� �V�\�4� 0�F�4� �r�c� �d|zS)N�*r}�r�s r�r�r��s��s�T�zr�c� �d|zS)N�**r}r s r�r�r��s��T�D�[r�c��dt|�zS)N�=)r)r�s r�r�r��s ��c�D��K�.?r�c�>� |||fd�}g} tt|��D]} | j||| ���|r#| j||�|||�z�|r#| j||�|||�z�ddj| �zdzS)Nc�*�||�|||�zSr�r})r�rs� formatarg� formatvalues r��convertz formatargvalues..convert�s������V�D�\�!:�:�:r��(�, �))rGr(r�rI) r�r�r�rsr'� formatvarargs� formatvarkwr(r)�specsrOs r�r-r-�s��� M� $�#��;� �E� �3�t�9� �� � � �W�T�!�W�%�&��� � � �]�7�+�k�&��/�.J�J�K� � � � �[��'�+�f�U�m�*D�D�E� ����5�!� !�C� '�'r�c�.�|D�cgc]}||vs�t|���}}t|�}|dk(r|d}n@|dk(rdj|�}n+dj|dd�}|dd�=dj|�|z}t d|||rd nd |dk(rd nd |fz��cc}w) NrDrjr�z {} and {}z , {} and {}�����r+z*%s() missing %i required %s argument%s: %s� positional� keyword-onlyr�rh)rr(r)rIr�) �f_name�argnames�posr�r�r��missingrh�tails r��_missing_argumentsr9�s���$,� C�H�D��F�0B�T�$�Z�H�E� C��%�j�G��!�|� �!�H�� �A�� �K� � �� &��#�}�#�#�U�2�3�Z�0�� �"�#�J� �I�I�e� �t� #�� �@��W�&)�l�~�#�q�L�b�c�1�6�6� 7�7�� Ds � B� Bc �v�t|�|z }t|D�cgc] }||vs�|�� c}�} |r |dk7} d|fz} n7|rd} d|t|�fz} n"t|�dk7} tt|��} d} | rd} | |dk7rdnd| | dk7rdndfz} td|| | rdnd|| |dk(r | s d fz��d fz��cc}w) NrDz at least %dTz from %d to %dr�z7 positional argument%s (and %d keyword-only argument%s)rhz5%s() takes %s positional argument%s but %d%s %s given�was�were)r(r�r�)r4r��kwonlyr��defcount�givenr��atleast�arg� kwonly_given�pluralr� kwonly_sigr�s r�� _too_manyrE�s ���$�i�(�"�G��v�?�v������v�?�@�L���A����w�j�(�� �����#�d�)� 4�4���T��a����#�d�)�n���J��G���E�Q�J�S�B� �$0�A�$5�S�2�?�?� � �K� �S��#�R�� ��q�j��U� C�C� D�D�;A� C�C� D�D��@s � B6�B6c �R� t|�}|\}}}}}} } |j} i} t|�r|j�|jf|z}t |�} t |�}|r t |�nd}t | |�}t |�D] }||| ||<�|rt||d�| |<t||z�}|ri| |<|j�D]=\}}||vr|st| �d|����|| ||<�%|| vrt| �d|����|| |<�?| |kDr|st| ||||| | �| |krH|d||z }|D]}|| vs�t| |d| ��t|||z d�D]\}}|| vs� ||| |<�d}|D]}|| vs�| r || vr | || |<�|dz }�|rt| |d| �| S)Nrjz&() got an unexpected keyword argument z$() got multiple values for argument TrDF)r?r�r^r;r(rFrGrr�r�r�rEr9� enumerate)r�r2�named�specr�r�r�r r��kwonlydefaultsr�r4� arg2value�num_pos�num_args� num_defaults�nrO�possible_kwargs�kwr��reqrAr7�kwargs r�r6r6s/��-� �$� �D�FJ�C�D�'�5�(�J��� �]�]�F��I���~�$�-�-�3��m�m�%� �2� ��*�o�G��4�y�H�$,�3�x�=�!�L� �G�X��A� �1�X��'��]� �$�q�'����"�:�a�b�>�2� �'���$��+�,�O� �� �%���[�[�]� ��E� �_� $���!'��!-�.�.�#(�I�e� �R� � � ��?��#�R�)�*� *�� �"� �#����'��&�$� �G�\��I� '�����+�H�|�+�,���C��)�#�"�6�3��i�@�� ��X� �%<�%=� >�?�F�A�s��)�#�!)�!�� �#��@��G��� � � !��%�>�"9�#1�%�#8� �%� ��1� �� � ��6�:�u�i�@� �r�rz"nonlocals globals builtins unboundc�\� t|�r |j}t|�stdj |���|j }|j �i}n=t|j|j �D��cic]\}}||j��}}}|j}|jdtj�}t|�r |j}i}i}t�} t�} t!j"|�D]H} | j$} | j&} | dk(r| j)| ��2| dk(s�8| j)| ��J| D] } || || <� t-|||| �Scc}}w#t*$r- || || <n #t*$r| j)| �YnwxYwY�WwxYw)N�{!r} is not a Python function� __builtins__� LOAD_ATTR� LOAD_GLOBAL)r^r�rYr�r)r�� __closure__�zip� co_freevars� cell_contentsrzrwr~rvrar��dis�get_instructions�opname�argvalr��KeyErrorr)r��code� nonlocal_vars�var�cell� global_ns� builtin_ns� global_vars� builtin_vars� unbound_names� global_names� instructionr_r�s r�r8r8Fs������~��}�}�� �d� ��7�>�>�t�D�E�E� �=�=�D� ����� �!��!1�!1�4�3C�3C�D� �D� ��T� �$�$�$� $�D� � �� � �I����~�x�/@�/@�A�J�� ���(�(� ��K��L��E�M��5�L��+�+�D�1� ��#�#���!�!�� �[� � � � �d� #� �}� $� � � �T� "� 2��� (� )�$��K�� �� �}�k�#�]� 4�4��? ��2� (� (�%/��%5� �T�"��� (��!�!�$�'� (�� (�s<�<E/�E5�5 F+�?F�F+�F%�"F+�$F%�%F+�*F+� _Tracebackz+filename lineno function code_context indexc�*��eZdZdd��fd� Zd�Z�xZS)r&N�� positionsc�>��t�|�||||||�}||_|Sr���super�__new__rp) rrir��function� code_context�indexrp�instancer<s �r�rtzTraceback.__new__�s)����7�?�3��&�(�L�RW�X��&����r�c��dj|j|j|j|j|j |j �S)NzcTraceback(filename={!r}, lineno={!r}, function={!r}, code_context={!r}, index={!r}, positions={!r}))r)rir�rurvrwrpr�s r��__repr__zTraceback.__repr__�s@��@�@F��� � �t�{�{�D�M�M�4�;L�;L�� � �D�N�N�A,� -r��r�ryr5rtrz� __classcell__�r<s@r�r&r&�s���SW�� -r�r&c�^�|jj|j}}t||�Sr�)rUrV�tb_lasti�_get_code_position)�tbrb�instruction_indexs r��_get_code_position_from_tbr��s(�� �k�k�0�0�"�+�+� �D� �d�$5� 6�6r�c�t�|dkry|j�}ttj||dzd��S)Nrj)NNNNr�)� co_positions�next� itertools�islice)rbr�� positions_gens r�r�r��s;���1��'��%�%�'�M� � � � ��0A�Q�0F��M� N�Nr�c �� t|�r$t|�}|j}|j}n,|j}t |j |j�}|d� ||g|dd��^}}n|g|��^}}|d}t|�stdj|���t|�xs t|�}|dkDrM|dz |dzz } t|�\}}tdt|t!|�|z ��}||||z}|dz |z }ndx}}t%|||j j&||t)j*|���S#t"$rdx}}Y�DwxYw)NrjrDz'{!r} is not a frame or traceback objectr�ro)rcr�� tb_linenorU�f_linenor�rV�f_lastirXr�r)rKr=r*�maxrFr(rTr&r�r]� Positions) r�contextrpr�rir�rKr�rws r�r>r>�sv��>��5��.�u�5� �������������&�u�|�|�U�]�]�C� ���|��"�F�;�Y�q�r�]�;��� �"�/�Y�/��� � �q�\�F� �5�>��A�H�H��O�P�P��U�#�5�w�u�~�H���{��� �W�a�Z�'�� '�$�U�+�K�E�4���3�u�c�%�j�7�&:�;�<�E��%��g� �.�E��Q�J��&�E����� �X�v�u�|�|�';�';�U��c�m�m�Y�&?� A�A��� !� � �E�E� !�s� E� E�Ec�� |jSr�)r��rs r�rCrC�s��M� �>�>�r�� _FrameInfor�c�*��eZdZdd��fd� Zd�Z�xZS)rNroc �@��t� |�|||||||�}||_|Sr�rr) rrrir�rurvrwrprxr<s �r�rtzFrameInfo.__new__�s+����7�?�3��x���<�Y^�_��&����r�c ��dj|j|j|j|j|j |j |j�S)NzoFrameInfo(frame={!r}, filename={!r}, lineno={!r}, function={!r}, code_context={!r}, index={!r}, positions={!r}))r)rrir�rurvrwrpr�s r�rzzFrameInfo.__repr__�sG��@�@F��� � �D�M�M�4�;�;�� � ��!�!�4�:�:�t�~�~�A?� @r�r{r}s@r�rr�s���Z^�� @r�rc�� g}|rEt||�}|f|z}|jt|d|ji��|j}|r�E|S�Nrp)r>r�rrp�f_back)rr�� framelist�traceback_info� frameinfos r�rIrI�s^��G��I� �%�e�W�5���H�~�-� �����I�R��9Q�9Q�R�S�� � �� � �r�c�� g}|rOt||�}|jf|z}|jt|d|ji��|j }|r�O|Sr�)r>rUr�rrp�tb_next)r�r�r�r�r�s r�rBrB�sb��G��I� �%�b�'�2���[�[�N�^�3� �����I�R��9Q�9Q�R�S� �Z�Z�� � �r�c�R� ttd�rtjd�SdS)N� _getframerD)r�r�r�r}r�r�r)r)�s"��I�&�s�K�8�3�=�=�� �B�d�Br�c�B� ttjd�|�S)NrD)rIr�r�)r�s r�rfrf�s��J� �#�-�-��*�G� 4�4r�c�d� tj�}|�dn |j}t||�Sr�)r�� exception� __traceback__rB)r��excr�s r�rgrg�s.��M� �-�-�/�C����#�"3�"3�B� �"�g� &�&r�r"rvc��i} tj|d�}tj ||t �S#t$rY�&wxYw�Nrv)r��__getattribute__r�r�rw� _sentinel)r��attr� instance_dicts r��_check_instancer�sG���M� ��/�/��Z�@� � �8�8�M�4�� 3�3�� � � � �s�5� A�Ac��t|�D]<}tt|��tus�||jvs�-|j|cStSr�)�_static_getmro�_shadowed_dictrr�rv)�klassr��entrys r�� _check_classr�sD����&�� �$�u�+� &�)� 3�����8N��>�>�$�'� '�'� �r�c���|D]Z}|�}t|�}d|vs�|d}t|�tjur|jdk(r|j |ur�X|cSt Sr�)�_get_dunder_dict_of_classrr�r�r�r r�)� weakref_mro� weakref_entryr�� dunder_dict� class_dicts r��%_shadowed_dict_from_weakref_mro_tupler�sn��$� � ���/��6� � �� $�$�Z�0�J���$��(B�(B�B��'�'�:�5��+�+�u�4�!�!�%� �r�c�\�tt|�D�cgc] }t|���c}�Scc}wr�)r�r�� make_weakref)r�r�s r�r�r�(s2�� 1�+9�%�+@� A�+@�%�,�u� �+@� A� ��� As�)c�� t}t|�}tt|�vr=|}t|�}|tust|�tj urt ||�}n|}t||�}|tur[|turStt|�d�tur8tt|�d�tustt|�d�tur|S|tur|S|tur|S||urStt|��D]<}tt|��tus�||jvs�-|j|cS|tur|St|��)Nr�r�r�) r�rr�r�r�r�r�r�rvr�) r�r�r�instance_result�objtyper�� dict_attr� klass_resultr�s r�r4r45s7�� � �O��3�i�G� �>�'�*�*���"�5�)� � �� "� ��O�u�9�9� 9�-�c�4�8�O�����t�,�L��i�'�L� �,I� ��\�*�I� 6�i� G� ��l�+�Y� 7�y� H��D��.� �=�Y�N�� ��i�'����9�$��� �e�|�#�D��K�0�E��t�E�{�+�y�8��E�N�N�*��~�~�d�+�+� 1� �i���� �� �r�r r!r"rc�|� |jrtS|jrtS|j�t St Sr�)� gi_runningr!� gi_suspendedr"�gi_framerr )� generators r�rArAns?����������������!��� �r�c�� t|�stdj|���t|dd�}|�|jj SiS)Nz{!r} is not a Python generatorr�)rZr�r)r�r�r)r�rs r�r@r@�sS��� �y� !��8�?�?� �J�K�K� �I�z�4� 0�E� ���!�!�*�*�*�� r�r rrr c�|� |jrtS|jrtS|j�t St Sr�)� cr_runningr� cr_suspendedr�cr_framer r )� coroutines r�r;r;�s?����������������!��� �r�c�>� t|dd�}|� |jSiS)Nr�)r�r)r�rs r�r:r:�s,��� �I�z�4� 0�E� ���~�~��� r�rrrrc�|� |jrtS|jrtS|j�t St Sr�)� ag_runningr� ag_suspendedr�ag_framerr)�agens r�r3r3�s;��� ����� ����� �}�}���� �r�c�� t|�st|�d���t|dd�}|�|jjSiS)Nz is not a Python async generatorr�)rOr�r�r�r)r�rs r�r2r2�sM��� �d� ��4�(�"B�C�D�D� �D�*�d� +�E� ���}�}�%�%�%�� r�c�� |dk(rt||d�}n t||d�}|�t|t�ry|dk7r t ||�}|S)Nrt)r�r4r~�_NonUserDefinedCallables�_descriptor_get)r� method_name�meths r��"_signature_get_user_defined_methodr��sZ����i���s�K��.���c�;��5�� �|�z�$�(@�A���i���t�S�)�� �Kr�c�>� |j}t|j��}|jxsd}|jxsi}|r||z} |j |i|��}d} |j�D�]K\} } |j| } | jtur|j| ��;| jtur8| |vrd} | j| ��|| <n|j| j���| jt ur| j| ��|| < | s��| jtur0|| jt ��}||| <|j%| ���| jt t&fvr|j%| ���| jt(us��1|j| j���N|j|j+���S#t $r"}dj|�} t| �|�d}~wwxYw#t"$rY��wxYw)Nr}z+partial object {!r} has incorrect argumentsFT)r�r �r�)r�rnr�r��keywords� bind_partialr�r)r�� argumentsr rrHr�replacer�rra� move_to_endrrr�)� wrapped_sigr�� extra_args� old_params� new_params� partial_args�partial_keywords�barr��transform_to_kwonly� param_namer�� arg_value� new_params r��_signature_get_partialr�s ��� �'�'�J��Z�-�-�/�0�J��<�<�%�2�L��'�'�-�2���!�L�0� �&� %�[� %� %�|� H�7G� H��  ��'�-�-�/�� �E�# J�� � �Z�0�I��z�z�-�-����z�*���z�z�3�3��!1�1�+/�'�-2�]�]�9�]�-M�J�z�*��N�N�5�:�:�.���z�z�]�*�).���y��)I� �:�&� ��z�z�3�3�&�z�2�:�:� �:�N� �)2� �:�&��&�&�z�2���� �|�<�<��&�&�z�2�����.����u�z�z�*�a0�d � � �*�*;�*;�*=� � >�>��q �&�;�B�B�7�K����o�2�%��&��� � � �s*�G"�;H�" H �+H�H � H�Hc�*� t|jj��}|r|djtt fvr t d��|dj}|ttfvr|dd}n|tur t d��|j|��S)Nrjzinvalid method signaturerDzinvalid argument typer�) rr�r�r rrr�rrrr�)r�paramsr s r��_signature_bound_methodr�Ls�����3�>�>�(�(�*� +�F� �V�A�Y�^�^� �m�'D�D��3�4�4� �!�9�>�>�D� �&�(8�9�9������ �� &��4�5� 5� �;�;�&�;� )�)r�c�� t|�xs1t|�xs$t|t�xs|tuxs|t uSr�)rRr_r~r�rr�r�s r��_signature_is_builtinr�fsN��� �c�N� )� �s� #� )� �s�4� 5� )� �4�K� )��&�=�*r�c�� t|�r t|�ryt|dd�}t|dd�}t|dt�}t|dt�}t|dd�}t |t j �xrXt |t�xrF|duxst |t�xr.|duxst |t�xrt |t�xs|duS)NFr�r�� __defaults__�__kwdefaults__rx) r�rSr��_voidr~r�r�r�rr�)r�r�rbr r r s r�r�r�ts���� �C�=�G�C�L�� �3� �D� )�D� �3� �D� )�D��s�N�E�2�H���.��6�J��#�0�$�7�K� �t�U�^�^� ,� E� �t�S� !� E� �� � <��H�e�!<� E��4� � ?�:�j�$�#?� E�� �d� ,� C� �t�0C� Gr�c�P� |s|dfSd}|jd�D�cgc]}|s�|jd���}}t|�j}t j|�}g}|j }d}t j} t j} t|�} |D]L} | j| j} } | | k(r | dk(r|dz }| | k(r| dk(r|}�7|| �| dk(s�E|d��Ndj|�j�jdd�}||fScc}w) NrC�asciirj�,rD�$� r�)r6�encoder�r�r�r�r��OP� ERRORTOKENr�r�stringrIr�r�)re�self_parameter�lrKr�� token_streamrr��current_parameterr�r��trr��clean_signatures r��"_signature_strip_non_python_syntaxr�s.��� ��$����N�(1����(=� C�(=�1��Q�X�X�g� �(=�E� C��U� �$�$�I��$�$�Y�/�L� �D� �+�+�C��� ���B��!�!�J� �\��A����v�v�q�x�x�f�� �2�:���}�!�Q�&�!� �B�J�V�s�]�.�N� � �F� � �c�M� ��H���g�g�d�m�)�)�+�3�3�D�"�=�O� �N� *�*��? Ds �D#�D#Tc������������ |j�t|�\}}d|zdz} tj|�}t |tj �stdj����|jd}g��j�d}i�t�dd�} | r.tjj| d�}|r |j�tjj!��d����fd��G�fd�d tj"���f�������fd � } t%|j&j(�t%|j&j&�z} | t%|j&j*�z } t-j.t-j0d| �|j&j*�} �j2�t5|j&j(| �D]\}}| ||���j6�t5|j&j&| �D]\}}| ||��|j&j8r)�j:�| |j&j8���j<�t5|j&j>|j&j@�D]\}}| ||��|j&jBr)�jD�| |j&jB��|�Xt�d d�}|du}tG|�}|r|s|r�jId�n$�djK�j2� �} | �d<|�|j� �S#t$rd}Y��EwxYw)Nzdef fooz: pass�"{!r} builtin has invalid signaturerjryc�H�|j� td��|jS)Nz'Annotations are not currently supported)rr�rA)r�s r�� parse_namez&_signature_fromstr..parse_name�s!�� �?�?� &��F�G� G��x�x�r�c ��� t|��}t|tt t tttd�f�rtj|�St�#t$r$ t|��}n#t$rt�wxYwY�vwxYwr�) r�� NameErrorr�r~r��int�float�bytesr�rr��Constant)rhr�� module_dict�sys_module_dicts ��r�� wrap_valuez&_signature_fromstr..wrap_value�s���� !���K�(�E� �e�c�3��u�d�D��J�G� H��<�<��&� &����� !� !��Q��0���� !� � � !��� !�s)� A� B�# A0�/B�0B�B�Bc�(��eZdZ�fd�Z�fd�Zd�Zy)�,_signature_fromstr..RewriteSymbolicsc�~��g}|}t|tj�rB|j|j�|j }t|tj�r�Bt|tj �st�|j|j�djt|��}�|�S)Nr3) r~r�rr�r�r��Namer�r&rI�reversed)r>r��arOr�rs �r��visit_Attributez<_signature_fromstr..RewriteSymbolics.visit_Attribute�s�����A��A��Q�� � �.������� ��G�G���Q�� � �.��a����*� � � �H�H�Q�T�T�N��H�H�X�a�[�)�E��e�$� $r�c���t|jtj�s t ���|j �Sr�)r~�ctxr��Loadr�r&)r>r�rs �r�� visit_Namez7_signature_fromstr..RewriteSymbolics.visit_Name�s,����d�h�h����1� �l�"��d�g�g�&� &r�c���|j|j�}|j|j�}t|tj �rt|tj �st �t|jtj�r,t j |j|jz�St|jtj�r,t j |j|jz �St|jtj�r,t j |j|jz�St �r�) r��left�rightr~r�rr��op�Addr��Sub�BitOr)r>r�rr s r�� visit_BinOpz8_signature_fromstr..RewriteSymbolics.visit_BinOp s����:�:�d�i�i�(�D��J�J�t�z�z�*�E��d�C�L�L�1��E�3�<�<�9X� � ��$�'�'�3�7�7�+��|�|�D�J�J����$<�=�=��D�G�G�S�W�W�-��|�|�D�J�J����$<�=�=��D�G�G�S�Y�Y�/��|�|�D�J�J����$<�=�=�� r�N)r�ryr5rrr%)rs�r��RewriteSymbolicsr�s��� %� '� r�r&c���� |�}|r4|tur, ��j|�}tj|�}� j �|�|����y#t$rt dj ���d�wxYw)Nr�rr)�_emptyr�r�� literal_evalr�r)r�) � name_node� default_noderr�r#r&r�r r�r�r s �������r��pz_signature_fromstr..p s�����)�$�� �L��6� ]�/�1�7�7� �E� ��*�*�<�8�� ���)�D�$��E�R�S��� ]� �!E�!L�!L�S�!Q�R�X\�\� ]�s �+A�%Br;r��r�)&�_parameter_clsrr�r�r�r~�Moduler�r)�bodyr�r�r�r�rwrvr��NodeTransformerr(r�r r r��chain�repeat�POSITIONAL_ONLYrZ�POSITIONAL_OR_KEYWORD�vararg�VAR_POSITIONAL� KEYWORD_ONLYr�� kw_defaultsrS� VAR_KEYWORDrarHr�)rr�rhr�rr��programr�r�r�r-�total_non_kw_args�required_non_kw_argsr r�r�_self� self_isbound� self_ismoduler#r&r�r rr�r rrs ` @@@@@@@@@r��_signature_fromstrrB�s�������"�"�I�&H��&K�#�O�^��/�)�H�4�G�����7�#�� �f�c�j�j� )��=�D�D�S�I�J�J�� � �A��A��J� �O�O�E� �F��K��#�|�T�2�K��������d�3�� � �/�/�K��k�k�&�&�(�O�� ��3�.�.��B,1�T�T��A�F�F�.�.�/�#�a�f�f�k�k�2B�B��,�s�1�6�6�?�?�/C�C�����y�/�/��6J�K�Q�V�V�_�_�]�H� � $� $�D��q�v�v�1�1�8�<���w� �$���=� � *� *�D��q�v�v�{�{�H�5���w� �$���6� �v�v�}�}��'�'�� �!�&�&�-�-��� � !� !�D��Q�V�V�.�.����0B�0B�C� ��g� �$���D� �v�v�|�|��$�$�� �!�&�&�,�,����!���Z��.���D�(� � ��� � �]�n� �N�N�1� ��1� �%�%�9�+D�+D�%�E�A��J�q�M� �z�S�Y�Y� 7�7�� �����s�M;�; N � N c�� t|�stdj|���t|dd�}|st dj|���t ||||�S)Nz%{!r} is not a Python builtin function�__text_signature__z#no signature found for builtin {!r})r�r�r)r�r�rB)rr�r�rhs r��_signature_from_builtinrEM sh��� !�� &��#�#)�6�$�<�1� 1� ��*�D�1�A� ��>�E�E�d�K�L�L� �c�4��N� ;�;r�c �� d}t|�s(t|�rd}ntdj|���t |dd�}|rt ||||�S|j }|j} | j} | j} | j} | d| } | j}| | | |z}t||||��}|j}|j}|r t|�}nd}g}| |z }| }| d|D]H}|rt nt"}|j%|t&�}|j)||||���|s�D|dz}�Jt+| |d�D]O\}}|rt nt"}|j%|t&�}|j)||||||� ��|s�K|dz}�Q| j,t.zr<| | |z}|j%|t&�}|j)|||t0���|D]U}t&}|�|j%|t&�}|j%|t&�}|j)|||t2|� ���W| j,t4zrV| |z}| j,t.zr|dz }| |}|j%|t&�}|j)|||t6���|||j%d t&�|� �S) NFTrUrDrqrj)rr rD)rr rr��r��__validate_parameters__)rYr�r�r)r�rBr/r�r�r��co_posonlyargcountr�r.r�r�r(rrrwr)r�rGr�rrrrr)rr�r�rrrsrt�is_duck_functionrhr#� func_code� pos_count� arg_names� posonly_countr2�keyword_only_count� keyword_onlyr r r �pos_default_countr��non_default_count� posonly_leftr�r r�offsetrrws r��_signature_from_functionrU] s��M��� �d� � %�d� +�#� ��;�B�B�4�H�I� I���*�D�1�A��!�#�t�Q��?�?��"�"�I�� � �I��%�%�I��%�%�I��0�0�M��:�I�&�J�"�4�4���Y�y�3E�'E�F�L�!�$���QY�Z�K�� � �H��$�$�J����M�����J�!�$5�5�� �L��-�-�.��#/��5K�� �_�_�T�6�2� ����)�D�Z�)-�/� 0� � �A� �L� /�"�*�->�-?�"@�A� ���#/��5K�� �_�_�T�6�2� ����)�D�Z�)-�,4�V�,<�>� ?� � �A� �L�B����J�&���%7�7�8�� �_�_�T�6�2� ����)�D�Z�)8�:� ;����� � !� �n�n�T�6�2�G� �_�_�T�6�2� ����)�D�Z�)6�,3�5� 6� ����N�*��.�.�� � � � � *� �Q�J�E����� �_�_�T�6�2� ����)�D�Z�)5�7� 8� �z�!,����6�!B�'7� 9�9r�c��t|�r|Stt|�dt�}|tur|S|||t|��S)Nr�)rSr�rr�)� descriptorr�rws r�r�r�� sD���z���� �$�z�"�I�y� 9�C� �i���� �z�3��S� � *�*r�)r�r�rrrsrtc �b� tjt||||||��}t|�st dj |���t |tj�r!||j�}|r t|�S|S|r0t|d���}t |tj�r||�S |j}|�s|} t |ttf�st|�r|�}t |t�r t|||�}t |t�st dj | ���|S |j"} t | tj$�r�|| j&�} t)| | d�}t+| j,j/��d} | j0t2j4ur|St+|j,j/��} | f| z}|j7|��St9|�s t;|�rt=||||||� �St?|�rtA|||� �St |tj�r||j&�} t)| |�St |tB��r7tEtC|�d �}|�||�StE|d �}tE|d �}|jFD]F}|�'d |jHvr||�}|r t|�}|cS|��/d |jHvs�>||�cS|jFddD] } |jJ}|s�t|||�cStB|jFvr�|jLtNjLur1|jPtNjPur|jStN�StUdj |���tWtC|�d d�}|�tY||�}||�StUdj |���#t $rY���wxYw#t $rY��"wxYw#t $rY��wxYw)N)r�r�rrrsr�rtz{!r} is not a callable objectc�R�t|d�xst|tj�S)N� __signature__)r�r~r�r�r�s r�r�z*_signature_from_callable..� s'��'�!�_�*E�+C�#-�a��1A�1A�#B�+Cr�r#z1unexpected object {!r} in __signature__ attributer�rjr�)r�rrrsrt)r��__call__rtr�r4z(no signature found for builtin type {!r}z+callable {!r} is not supported by signature)-r�r�r�r�r�r)r~r�r�r�r�rhrZr$r�rBr��_partialmethod� partialmethodr�r�rr�r�r r#r8r�rYr�rUr�rErr�r"rvrDr�r�rt� from_callabler�r4r�)r�r�r�rrrsrtr��_get_signature_ofr�o_sigr]r��first_wrapped_param� sig_paramsr��call�new�initr��text_sigs r�r�r�� s#���"�)�)�*B�6K�/=�(/�'-�'-�)1� 3�� �C�=��7�>�>�s�C�D�D��#�u�'�'�(� �� � �-�� �*�3�/� /��J���S�!C�E�� �c�5�+�+� ,�%�S�)� )������ �?��E��c�I�s�#3�4��#���e���#�s�#�(���c�:���c�9�-�� � &��u� �/�/��J�:��*�*� � �m�Y�%<�%<� =�,�M�,>�,>�?�K�(��m�W�M�C�"'� �(>�(>�(E�(E�(G�"H��"K� �"�'�'�9�+C�+C�C�� �"�3�>�>�#8�#8�#:�;� �2�3�j�@� ��{�{�j�{�9�9��#��4�S�9�(���7E�07��QY�[� [��S�!�&�v�s�6D�F� F��#�y�(�(�)�'����1� �%�k�3�7�7��#�t�� 2�$�s�)�Z�H�� � �$�T�*� *�0��i�@��1�#�z�B���K�K�D���9�� � �#=�'��,��!�1�#�6�C�� ��!�j�D�M�M�&A�(��.�.� ��K�K���$�D� F��2�2���.�f�d�H�E�E�!%�* �s�{�{� "�� � ����/�� � �v�~�~�-��+�+�F�3�3� �>�E�E�c�J�L�L� �d�3�i��T�:�� � �"�4��-�D�$�T�*� *� �B�I�I�#�N� O�O��A � � � ��( � � � ��^"� �� �s6�5 P�7 P�# P!� P� P� P�P�! P.�-P.c� �eZdZy)r�Nr�r}r�r�r�r�w s��;r�r�c� �eZdZy)r)Nr�r}r�r�r)r){ s��@r�r)c�,�eZdZdZdZdZdZdZd�Zd�Z y) �_ParameterKindzpositional-onlyzpositional or keywordzvariadic positionalr3zvariadic keywordc�x�t|j�}tj||�}||_||_|Sr�)r(� __members__r rt�_value_� description)rrnr��members r�rtz_ParameterKind.__new__� s4���C�O�O�$�����S�%�(�����(���� r�c��|jSr�r r�s r��__str__z_ParameterKind.__str__� s ���y�y�r�N) r�ryr5r5r6r8r9r;rtrqr}r�r�rjrj s&��'�O�3��*�N�!�L�$�K��r�rjc��eZdZ dZeZeZeZ e Z e Z eZeed�d�Zd�Zd�Zed��Zed��Zed��Zed ��Zeeeed �d �Zd �Zd �Zd�Zd�Zy)r#)�_name�_kind�_default� _annotationr(c�d� t|�|_|turJ|jtt fvr2d}|j |jj�}t|��||_||_ |tur td��t|t�s/dj t|�j�}t|��|ddk(rw|ddj�rd|jt k7r2d }|j |jj�}t|��t"|_d j |dd�}t%|�xr|jt"u}|s|j'�std j |���||_y#t$rtd|�d���wxYw) 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 {}rjr3rDzLimplicit arguments must be passed as positional or keyword arguments, not {}z implicit{}z"{!r} is not a valid parameter name)rjrtr�r)rrr)rnrurvr~r�rr�r��isdigitrrrk� isidentifierrs)r>r�r rrr�� is_keywords r�r�zParameter.__init__� s��� N�'��-�D�J� �&� ��z�z�o�|�<�<�@���j�j����!7�!7�8�� ��o�%��� �%��� �6�>��I�J� J��$��$�0�7�7��T� �8K�8K�L�C��C�.� � ��7�c�>�d�1�2�h�.�.�0� �z�z�3�3�>���j�j����!7�!7�8�� ��o�%�)�D�J��&�&�t�A�B�x�0�D��t�_�K����;K�)K� � �T�.�.�0��A�H�H��N�O� O��� ��M� N��v�d�X�-K�L�M� M� N�s �F�F/c�x�t|�|j|jf|j|jd�fS)N�rurv)rrsrtrurvr�s r�� __reduce__zParameter.__reduce__� s8���T� ����T�Z�Z�(�!�]�]� $� 0� 0�2�3� 3r�c�,�|d|_|d|_y)Nrurvr|�r>�states r�� __setstate__zParameter.__setstate__� s���j�)�� � ��/��r�c��|jSr�)rsr�s r�r�zParameter.name� � ���z�z�r�c��|jSr�)rur�s r�rzParameter.default� s ���}�}�r�c��|jSr�)rvr�s r�rzParameter.annotation� ������r�c��|jSr�)rtr�s r�r zParameter.kind� r�r�)r�r rrc��� |tur |j}|tur |j}|tur |j}|tur |j}t |�||||��S)Nr()r�rsrtrvrur)r>r�r rrs r�r�zParameter.replace� s`��9� �5�=��:�:�D� �5�=��:�:�D� �� ��)�)�J� �e� ��m�m�G��t�D�z�$��g�*�M�Mr�c��|j}|j}|jtur%dj |t |j��}|j tur]|jtur&dj |t|j ��}n%dj |t|j ��}|tk(rd|z}|S|tk(rd|z}|S)Nz{}: {}z{} = {}z{}={}rr") r rsrvr)r)r+rurrr)r>r � formatteds r�rqzParameter.__str__ s����y�y���J�J� � � � �6� )� ��� �'7��8H�8H�'I�K�I� �=�=�� &����v�-�%�,�,�Y��T�]�]�8K�L� �#�N�N�9�d�4�=�=�6I�J� � �?� "��i��I����\� !��y�(�I��r�c�N�dj|jj|�S)Nz <{} "{}">�r)r<r�r�s r�rzzParameter.__repr__$ s���!�!�$�.�.�"9�"9�4�@�@r�c�p�t|j|j|j|jf�Sr�)�hashrsrtrvrur�s r��__hash__zParameter.__hash__' s(���T�Z�Z����T�-=�-=�t�}�}�M�N�Nr�c� �||uryt|t�stS|j|jk(xrO|j|jk(xr4|j |j k(xr|j |j k(S�NT)r~r#�NotImplementedrsrtrurv�r>�others r��__eq__zParameter.__eq__* sv�� �5�=���%��+�!� !�� � �e�k�k�)�6�� � �e�k�k�)�6�� � ����/�6�� � �E�$5�$5�5� 7r�N)r�ryr5r9rr5rr6rr8rr9rr;r)r�r�r}r�r r�rrr r�r�rqrzr�r�r}r�r�r#r#� s����*>�I�.�O�4��-�N�+�L�*�K� �E�.4��)�V3� 0���������� �� �����$�%� �%�N�$�,A�O�7r�r#c�f�eZdZ dZd�Zed��Zed��Zed��Zd�Z d�Z d�Z d �Z d �Z y ) r )r�� _signature� __weakref__c� �||_||_yr�)r�r�)r>rer�s r�r�zBoundArguments.__init__H s��"���#��r�c��|jSr�)r�r�s r�rezBoundArguments.signatureL s �����r�c�|�g}|jjj�D]o\}}|jtt fvr t|�S |j |}|jtk(r|j|��_|j|��qt|�S#t$rYt|�SwxYwr�) r�r�r�r rrr�r�extendr�rar)r>r�r�r�rAs r�r�zBoundArguments.argsP s�����!%���!;�!;�!A�!A�!C� �J���z�z�l�M�:�:�� �T�{�� %��n�n�Z�0�� �:�:��0��K�K��$��K�K��$�!"D�$�T�{���� ���T�{�� �s�B$�$ B;�:B;c�Z�i}d}|jjj�D]p\}}|s,|jtt fvrd}n||j vrd}�4|s�7 |j |}|jtk(r|j|��l|||<�r|S#t$rY��wxYw)NFT) r�r�r�r rrr��updatera)r>�kwargs�kwargs_startedr�r�rAs r�r�zBoundArguments.kwargsg s�������!%���!;�!;�!A�!A�!C� �J��!��:�:�,� �!>�>�%)�N�!����7�)-�� �!�� -��n�n�Z�0���:�:��-��M�M�#�&�*-�F�:�&�-"D�0� ��� �� �s�!B� B*�)B*c�� |j}g}|jjj�D]\}} |j |||f��t|�|_y#t $ra|j tur |j }n,|jturd}n|jturi}nY��|j ||f�Y��wxYw)Nr}) r�r�r�r�r�rarr)r rrr�)r>r�� new_argumentsr�r��vals r��apply_defaultszBoundArguments.apply_defaults� s��� ��N�N� �� ��?�?�5�5�;�;�=�K�D�%� 2��$�$�d�I�d�O�%<�=�>��m�,����� 2��=�=��.��-�-�C��Z�Z�?�2��C��Z�Z�<�/��C���$�$�d�C�[�1� 2�s�A$�$AC�8C� Cc��||uryt|t�stS|j|jk(xr|j|jk(Sr�)r~r r�rer�r�s r�r�zBoundArguments.__eq__� sF�� �5�=���%��0�!� !����%�/�/�1�2����%�/�/�1� 3r�c�,�|d|_|d|_y)Nr�r��r�r�rs r�r�zBoundArguments.__setstate__� s��� �-����{�+��r�c�4�|j|jd�S)Nr�r�r�s r�� __getstate__zBoundArguments.__getstate__� s��"�o�o�D�N�N�K�Kr�c���g}|jj�D]&\}}|jdj||���(dj|jj dj |��S)Nz{}={!r}z <{} ({})>r+)r�r�r�r)r<r�rI)r>r�rAr�s r�rzzBoundArguments.__repr__� s`�����.�.�.�.�0�J�C�� �K�K� �(�(��e�4� 5�1��!�!�$�.�.�"9�"9�4�9�9�T�?�K�Kr�N)r�ryr5r9r�r rer�r�r�r�r�r�rzr}r�r�r r 5 sj��� ;�I�$���������,����:-�83�,�L�Lr�r c��eZdZ dZeZeZeZ dedd�d�Z e ddddd�d��Z e d ��Ze d ��Zeed �d �Zd �Zd�Zd�Zdd�d�Zd�Zd�Zd�Zd�Zd�Zd�Zy)r$)�_return_annotation� _parametersNTrGc�� |� t�}n�|r�t�}t}d}|D]�}|j}|j} ||kr3d} | j |j |j �} t | ��||kDr|}|ttfvr#|jtur|rd} t | ��d}| |vrdj | �} t | ��||| <��ntd�|D��}tj|�|_ ||_ y)NFz7wrong parameter order: {} parameter before {} parameterz-non-default argument follows default argumentTzduplicate parameter name: {!r}c3�8K�|]}|j|f���y�wr�r �rr�s r�r z%Signature.__init__.. s����$Q�j�U�e�j�j�%�%8�j�s�)rnrr r�r)rnr�rrr)r��MappingProxyTyper�r�) r>r�r�rHr��top_kind� seen_defaultr�r r�r�s r�r�zSignature.__init__� s�� � � � �]�F�&�$���+��$� �'�E� �:�:�D� �:�:�D��h��(��"�j�j��)=�)=�)-�)9�)9�;��(��o�-����#'��� 0�2H�I�I� �=�=�F�2�+�'1��&0��o� 5�,0�L��v�~�>�E�E�d�K��(��o�-�#(�F�4�L�?(�B%�$Q�j�$Q�Q�� �1�1�&�9���"3��r�F��follow_wrappedrrrsrtc�&� t||||||��S)N)r�r�rrrsrt)r�)rr�r�rrrsrts r�r^zSignature.from_callable s&�� B�'��C�>L�07��QY�[� [r�c��|jSr�)r�r�s r�r�zSignature.parameters r�r�c��|jSr��r�r�s r�r�zSignature.return_annotation s���&�&�&r�)r�r�c�� |tur|jj�}|tur |j}t |�||��S)Nr.)r�r�r�r�r)r>r�r�s r�r�zSignature.replace sO�� � �� ����/�/�1�J� �� %� $� 7� 7� ��t�D�z�*�,=�?� ?r�c��td�|jj�D��}|jj�D�cic]"}|jtk(r |j |��$}}|||j fScc}w)Nc3�FK�|]}|jtk7r|���y�wr�)r rr�s r�r z(Signature._hash_basis..) s$����=�*B�� %� � �m� ;��*B�s�!)rr�r�r rr�r�)r>r�r�� kwo_paramss r�� _hash_basiszSignature._hash_basis( s����=�$�/�/�*@�*@�*B�=�=��6:�_�_�5K�5K�5M�H�5M�E�+0�:�:��+F��j�j�%�'�5M� �H��z�4�#9�#9�9�9��Hs�'A?c�x�|j�\}}}t|j��}t|||f�Sr�)r�� frozensetr�r�)r>r�r�r�s r�r�zSignature.__hash__1 s>��04�0@�0@�0B�-�� �-��z�0�0�2�3� ��V�Z�):�;�<�.� s����&�)A��"�J�J�)A�s�z*got an unexpected keyword argument {arg!r})r�r�r�r�r rrr�rr�rr�rr)� StopIterationrr)r�r�r3rHrarI�_bound_arguments_cls)r>r�r�r�r�r�� parameters_ex�arg_vals�pos_only_param_in_kwargs�arg_valr�r�r�r�� kwargs_paramr�s r��_bindzSignature._bind= s���1�� ��$�/�/�0�0�2�3� �� ���:��#%� ��J 4��x�.��`4� ��,�E��z�z�l�M�%B�B�(�;�=�BF�G��z�z�_�4�#*���� � �h�/�05�f� � �%�*�*�-���z�z�V�+�� � �>N�0N�'�B�I�I�$)�J�J�J�0�1�6:�;�-4�I�e�j�j�)�[�b� ��_�_�]�J�?�E��z�z�\�)�$� ���z�z�_�,�����J� 0� �*�*�Z�0��)0� �*�%�5@�8 ��'�/5� �,�+�+�,�)��1�17�� �I�I�&�)A�&��28�2��� �@�G�G� ��f��.�H�0�1�1��(�(��y�9�9��W%�O�#�$C�D�$�N�O��c!�, ;�*;� ��,�E� �z�z�_�4�����v�-� �:�:�)9�9�$�}�}��6�(U�V[�V`�V`�Uc�&d��&/��n� 4�5�;�;�E�B�$�).�� ���*�*� �4�05� � �V�0K�*/�� ��#�-2�H�M�!�$�z�z�]�:�*9��*,��"Q�C�"%�*�*����W�*�"M�C�"+�C�.�d�:��Q%����� , ;��x� F�  �E�J�J�/�$A�49�M�M�V�4K�#�$J�$*�F�z�F�$:�<�AE�F�� F�sn� H� G:�L1�:H� L.� L�)L.�?AL.� L.�&(L.�L.�AL.� L*�%L.�)L*�*L.�1A N�Nc�(� |j||�Sr��r��r>r�r�s r��bindzSignature.bind� s�� ��z�z�$��'�'r�c�,� |j||d��S)NTr�r�r�s r�r�zSignature.bind_partial� s�� ��z�z�$���z�5�5r�c�z�t|�t|jj��fd|jifS�Nr�)rrr�r�r�r�s r�r}zSignature.__reduce__� s=���T� ��t�'�'�.�.�0�1�3�%�t�'>�'>�?�A� Ar�c��|d|_yr�r�rs r�r�zSignature.__setstate__� s��"'�(<�"=��r�c�N�dj|jj|�S)Nz<{} {}>r�r�s r�rzzSignature.__repr__� s�������� 7� 7��>�>r�c��g}d}d}|jj�D]u}t|�}|j}|tk(rd}n|r|j d�d}|t k(rd}n|tk(r|r|j d�d}|j |��w|r|j d�djdj|��}|jtur)t|j�}|dj|�z }|S)NFT�/rz({})r+z -> {}) r�r�r�r rr�rrr)rIr�r)r+) r>r�render_pos_only_separator�render_kw_only_separatorr�r�r �rendered�annos r�rqzSignature.__str__� s�����$)�!�#'� ��_�_�+�+�-�E��E� �I��:�:�D��'�'�,0�)�*�� � �c�"�,1�)���&�,1�(���&�+C�� � �c�"�,1�(� �M�M�)� $�5.�8 %� �M�M�#� ��=�=����6�!2�3�� � !� !�� /�#�D�$:�$:�;�D� �����-� -�H��r�r�)r�ryr5r9r#r/r r�r)r�r�rr^r r�r�r�r�r�r�r�r�r�r�r}r�rzrqr}r�r�r$r$� s����,6�I��N�)�� �E�24�V�)-�24�h�%)�4��u�[��[�� �� ��'��'�%*�U� ?�:�=� 9�.3�L:�\(�6�A� >�?�+r�r$r�c�8� tj|||||��S)Nr�)r$r^)r�r�rrrsrts r�rere s*��9� � "� "�3�~�+2�6�H� #� V�Vr�c��eZdZdZdZdZdZdezZdezZdezZ dezZ d ezZ eezZ eZ eezZeZeezezZeezZe ezezZe ezZd Zd Zy ) r rjrD���� �@��iN)r�ryr5�SIMPLE�WRITABLE�FORMAT�ND�STRIDES� C_CONTIGUOUS� F_CONTIGUOUS�ANY_CONTIGUOUS�INDIRECT�CONTIG� CONTIG_RO�STRIDED� STRIDED_RO�RECORDS� RECORDS_RO�FULL�FULL_RO�READ�WRITEr}r�r�r r  s��� �F��H� �F� �B��R�i�G��'�>�L��'�>�L��G�^�N��w��H� �(�]�F��I��� �G��J��� �6�)�G��6�!�J� �h� �� '�D����G� �D� �Er�r c�"� ddl}ddl}|j�}|jdd��|jdddd� �|j �}|j }|j d �\}}} |j|�x}} |r&|j!d�}  }| D]} t#|| �}� jtj$vr0tdtj� �tjd�|j&r�tdj|��tdjt)| ���tdj| j*��| ur^tdjt-| j.���t1| d�rNtdj| j2��n) t5|�\}}tdj|��td�ytt7��y#t$ra} d j|t| �j| �} t| tj� �tjd �Yd} ~ ���d} ~ wwxYw#t$rY��wxYw)Nrjr�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�r3z#Can't get info for builtin modules.rDz Target: {}z Origin: {}z Cached: {}z Loader: {}�__path__zSubmodule search path: {}zLine: {}rC)�argparser\�ArgumentParser� add_argument� parse_argsr�� partition� import_modulerr)rr��printr��stderr�exitr6r��builtin_module_names�detailsrK� __cached__rrlr�r�r*rJ)r�r\�parserr��target�mod_name� has_attrs�attrsr�r�r�r��parts�part�__r�s r��_mainr. s-��@��� � $� $� &�F� ����9��:� ��� �k�,� H��J� � � � �D� �[�[�F�!'�!1�!1�#�!6��H�i���.�y�.�.�x�8�8��f��� � �C� �����D��#�t�$�C�����#�2�2�2� �3�#�*�*�E� ���� � �|�|� �l�!�!�&�)�*� �l�!�!�-��"7�8�9� �l�!�!�&�"3�"3�4�5� �&�=� �,�%�%�d�6�+<�+<�&=�>� ?��v�z�*��1�8�8����I�J� 1�'��_� ��F��j�'�'��/�0� �d� � �i��n���G ��,�3�3�H�48��I�4F�4F�47�9�� �c�� � �#� ���� � �� ��8� �� �s+�4H� J� I?�AI:�:I?� J� JrRr�)F)rD)r})T)TNNF)�� __author__�__all__r�r�r]�collections.abcr��enum�importlib.machineryr\r�rurYr�r�r�r�r�r�r~�keywordrk�operatorrlrmrn�weakrefror�rr�mod_dict�COMPILER_FLAG_NAMESr�r�rr%r.rarSr^r_rWr�r]r\rYr�r[r�r�r�rdrVrPrOrZrUrQrcrXrTrRr`rbrNrrDrErr'rHrhrMr7r@r<r(r=rGrKr/rr�rFrr� NodeVisitorr�r*r9rr r5rLrJrir7rr0rr?rr1r+r,r�r-r9rEr6rr8rmr&r�r�r>rC�_fieldsr�rrIrBr)rfrgr�rrvr�r�r�r�r�� lru_cacher�r�r4r r!r"rrAr@r rrr r;r:rrrrr3r2�WrapperDescriptorTyper�rr�r�r�r�r�r�r�rrBrErUr�r�r�r)�IntEnumrjr5rr6rr8rr9rr;rr#r r$re�IntFlagr rr�r}r�r��r$s7���@9� �i ��X � � �� ���� � � �� � �����/�'� �9�� � #� #� )� )� +�D�A�q��H�U�Q�Y�� ,��q�(���%)���v�t0�$�0�A�( ?� �5�(�)�>�� �5�(�)�>�� 2� ,�-��X��J� �I�3�8�3�"3�;�3� /�.�29�7�(��0(�T3� :� �{�$E� F� �p�h� ��@0� �<�|�& �:,�8 ��28�� ���,�^ �)� ��3�?�?��>B0�H+%�Z"��!�4�4�l$�&0�*��+�6 �{�$:� ;� �8�6��M�O� �Z<�z �Y� >� ?��9� ��"�"9� 8� ?� (�.7� D�*:�x��(L�M� �54�r� �&S� T� � -� � -�7�O�)A�V� � �j�9�3D�3D�&D� E� � @� � @� � �C�5�'� �H� ����y�)�1�1�� �M�M�*�5�=�=��4����������$ �'0�/�h� �� �� � � ��$�&� �� �!��� ��$ �� �� �!��� ��$�."�7�7�!�3�3�!�;�;�!�5�5�7�� �$I?�X*�4 *�G�2/+�dK8�\ <� 8<�AF�\9�~+�48�,0�%)�$(�&+� oP�d<�<�A�A��T�\�\��"*�9�9��)�?�?��)�8�8��)�6�6� �)�5�5� �[7�[7�|L�L�DX�X�v &*�4��u�V� �$�,�,��,7�t �z�� �G�r�