403Webshell
Server IP : 217.160.0.135  /  Your IP : 216.73.217.85
Web Server : Apache
System : Linux www 6.18.52-i1-ampere #1203 SMP Mon Sep 14 18:29:59 CEST 2026 aarch64
User : sws1074145052 ( 1074145052)
PHP Version : 8.3.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /usr/lib/python3/dist-packages/IPython/core/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python3/dist-packages/IPython/core/__pycache__/oinspect.cpython-311.pyc
�

�@�c������dZddgZddlZddlZddlmZddlZddlZddlZddlm	Z	ddl
Z
ddlZddl
mZddlmZdd	lmZdd
lmZddlmZddlmZdd
lmZddlmZddlmZddlmZddlm Z ddlm!Z!ddl"m#Z#m$Z$m%Z%ddl&m'Z'ddl(m)Z)ddl*m+Z+ddl,m-Z-ddl.m/Z/ddl0m1Z1d�Z2e
j3j4jZ5e6j7jZ8d�e
j9e
j:e
j3e;fD��Z<e=e>��Z?e=e@jA��ZBe#ZCejDZEgd�ZFd�ZGd�ZHdee@dffd �ZId-dee@dffd"�ZJd#�ZKe+d$���ZLe+d%���ZMe+d.d'���ZNd(�ZOde@fd)�ZPd*�ZQGd+�de)��ZRde@fd,�ZSdS)/z�Tools for inspecting Python objects.

Uses syntax highlighting for presenting the various information elements.

Similar in spirit to the inspect module, but all calls take a name argument to
reference the name under which an object is being read.
�	Inspector�
InspectColors�N)�	signature)�dedent)�Union)�page)�pretty)�skip_doctest)�
PyColorize)�openpy)�	py3compat)�safe_hasattr)�
compress_user)�indent)�list_namespace)�typestr2type)�
TermColors�ColorScheme�ColorSchemeTable)�cast_unicode)�	Colorable)�undoc)�	highlight)�PythonLexer)�
HtmlFormatterc�X�t|t��td�����S)NT)�	noclasses)rrr)�codes �7/usr/lib/python3/dist-packages/IPython/core/oinspect.py�pylightr 1s#���T�;�=�=�-�$�*G�*G�*G�H�H�H�c�6�h|]}tj|����S�)�inspect�getdoc)�.0�ts  r�	<setcomp>r(7s/������G�N�1�����r!)�	type_name�
base_class�string_form�	namespace�length�file�
definition�	docstring�source�init_definition�class_docstring�init_docstring�call_def�call_docstring�ismagic�isalias�isclass�found�namec�R�d�tD��}|�|��|S)z1Make an object info dict with all fields present.c��i|]}|d��S�Nr#)r&�ks  r�
<dictcomp>zobject_info.<locals>.<dictcomp>Vs��,�,�,�1��$�,�,�,r!)�info_fields�update)�kw�infodicts  r�object_inforETs,��,�,��,�,�,�H��O�O�B�����Or!c�.�t|��}|�dS|�d��rdStj�|��sdStj|d��5}tj|j	��\}}ddd��n#1swxYwY|S)znGet encoding for python source file defining obj

    Returns None if obj is not defined in a sourcefile.
    N�z.soz.dllz.pyd�rb)
�	find_file�endswith�os�path�isfile�	stdlib_io�openr�detect_encoding�readline)�obj�ofile�buffer�encoding�liness     r�get_encodingrW[s���

�c�N�N�E�
�}��t�	���/�	0�	0�
��t�
�W�^�^�E�
"�
"���t�
�^�E�4�
(�
(�	F�F�$�4�V�_�E�E�O�H�e�	F�	F�	F�	F�	F�	F�	F�	F�	F�	F�	F����	F�	F�	F�	F��s�!B
�
B�B�returnc���	|���}t|t��rtj|��Sn#t
$rYnwxYwtj|��}|S)a=Stable wrapper around inspect.getdoc.

    This can't crash because of attribute problems.

    It also attempts to call a getdoc() method on the given object.  This
    allows objects which provide their docstrings via non-standard mechanisms
    (like Pyro proxies) to still be inspected by ipython's ? system.
    )r%�
isinstance�strr$�cleandoc�	Exception)rR�ds�docstrs   rr%r%rsv��(�
�Z�Z�\�\���b�#���	(��#�B�'�'�'�	(���
�
�
���
����
�^�C�
 �
 �F��Ms�A�
A
�A
�c	���t|t��r�g}dD]�}t||��}|��t|��}|rd|znd}|�d�d||f����t
j|��r0|�tt|��������|�|�|�dt|���d�����|rd�|��SdSt|��}	t
j	|��}nP#t$r7	t
j	|j
��}n#ttf$rYYdSwxYwYnt$rYdSwxYw|S)alWrapper around inspect.getsource.

    This can be modified by other projects to provide customized source
    extraction.

    Parameters
    ----------
    obj : object
        an object whose source code we will attempt to extract
    oname : str
        (optional) a name under which the object is known

    Returns
    -------
    src : unicode or None

    )�fget�fset�fdelNz%s.r`z# z = �
)rZ�property�getattrrW�append�joinr$�
isfunctionr�	getsourcer	�_get_wrapped�	TypeError�	__class__�OSError)rR�oname�sources�attrname�fnrU�oname_prefix�srcs        rrkrk�s���&�#�x� � �&���0�
	�
	�H���h�'�'�B��~�'��+�+��27�?���
�
�R�����r�w�w��l�H�'E�F�F�G�G�G��%�b�)�)���N�N�6�)�B�-�-�#8�#8�9�9�9�9��N�N�)5��x�x�x�������L������	��9�9�W�%�%�%��4�
�3����
	��#�C�(�(�C�C���	�	�	�
��'��
�6�6�����Y�'�
�
�
��t�t�t�
�������	�	�	��4�4�	�����
s<�	D�
E+�)E�E+�E�E+�E�E+�	E+�*E+c��tj|��p=tj|��p)t|t��pt|t
��S)zTrue if obj is a function ())r$rj�ismethodrZ�_builtin_func_type�_builtin_meth_type�rRs r�is_simple_callabler{�sQ����s�#�#�
W�w�'7��'<�'<�
W��s�.�/�/�
W�3=�c�CU�3V�3V�Xr!c��tjdtd���t|d��rt	|��s|j}t
j|��S)z�Wrapper around :func:`inspect.getfullargspec`

    In addition to functions and methods, this can also handle objects with a
    ``__call__`` attribute.

    DEPRECATED: Deprecated since 7.10. Do not use, will be removed.
    z]`getargspec` function is deprecated as of IPython 7.10and will be removed in future versions.���
stacklevel�__call__)�warnings�warn�DeprecationWarningrr{r�r$�getfullargspecrzs r�
getargspecr��sh��
�M�<�=O�\]�_�_�_�_��C��$�$��-?��-D�-D���l���!�#�&�&�&r!c��tjdtd���tj|d|d|d|d��S)a
Format argspect, convenience wrapper around inspect's.

    This takes a dict instead of ordered arguments and calls
    inspect.format_argspec with the arguments in the necessary order.

    DEPRECATED (since 7.10): Do not use; will be removed in future versions.
    za`format_argspec` function is deprecated as of IPython 7.10and will be removed in future versions.r}r~�args�varargs�varkw�defaults)r�r�r�r$�
formatargspec)�argspecs r�format_argspecr��sb��
�M�<�=O�\]�_�_�_�_�� ����'�)�2D�!(��!1�7�:�3F�H�H�Hr!Tc��tjdtd���|�d��}|�d}nX	|dddk}|r|dd	d�|d<n#tt
f$rYnwxYw|d
t
|��z}|�d��}|�|�d��}|�|�d
d��}||fS)z?DEPRECATED since 6.0. Extract call tip data from an oinfo dict.zZ`call_tip` function is deprecated as of IPython 6.0and will be removed in future versions.r}r~r�Nr�r�self�r;r6r4r0r`)r�r�r��get�KeyError�
IndexErrorr�)�oinfo�format_callr��	call_line�has_self�docs      r�call_tipr��s��
�M�	2���	�����i�i�	�"�"�G����	�	�
	6��v��q�)�V�3�H��
6�")�&�/�!�"�"�"5������	�*�%�	�	�	��D�	�����&�M�.��"9�"9�9�	��)�)�$�
%�
%�C�
�{��i�i�(�)�)��
�{��i�i��B�'�'���c�>�s�A � A4�3A4c�v�|}d}t|d��r$|j}|dz
}|dkr|St|d���$|S)aNGet the original object if wrapped in one or more @decorators

    Some objects automatically construct similar objects on any unrecognised
    attribute access (e.g. unittest.mock.call). To protect against infinite loops,
    this will arbitrarily cut off after 100 levels of obj.__wrapped__
    attribute access. --TK, Jan 2016
    r�__wrapped__r��d)rr�)rR�orig_obj�is   rrlrlsY���H�	�A�
�s�M�
*�
*���o��	�Q����s�7�7��O��s�M�
*�
*���Jr!c��t|��}d}	tj|��}nM#t$r5	tj|j��}n#t
tf$rYnwxYwYnt
$rYnwxYwt
|��S)a^Find the absolute path to the file where an object was defined.

    This is essentially a robust wrapper around `inspect.getabsfile`.

    Returns None if no file can be found.

    Parameters
    ----------
    obj : any Python object

    Returns
    -------
    fname : str
        The absolute path to the file where the object was defined.
    N)rlr$�
getabsfilermrnror)rR�fnames  rrIrI#s��� �s�
�
�C��E�
��"�3�'�'��������	��&�s�}�5�5�E�E����#�	�	�	��D�	�������
�
�
���
��������s8�(�
A2�A
�A2�
A!�A2� A!�!A2�&	A2�1A2c��t|��}	tj|��d}nV#t$r=	tj|j��d}n#t
tf$rYYdSwxYwYnt
$rYdSwxYw|S)aWFind the line number in a file where an object was defined.

    This is essentially a robust wrapper around `inspect.getsourcelines`.

    Returns None if no file can be found.

    Parameters
    ----------
    obj : any Python object

    Returns
    -------
    lineno : int
        The line number where the object definition starts.
    r�N)rlr$�getsourcelinesrmrnro)rR�linenos  r�find_source_linesr�Fs��� �s�
�
�C�	��'��,�,�Q�/��������	��+�C�M�:�:�1�=�F�F����#�	�	�	��4�4�4�	����
�F������t�t������Ms8�,�
A?�A�A?�A-�(A?�,A-�-A?�2	A?�>A?c���eZdZeejddddf�fd�	Zddeedffd�Z	defd�Z
d�Zd	�Zdd
�Z
edd���Zdd�Zdd
�Zddedefd�Zd�Z	dd�Z						dd�Zd d�Zd defd�Zed���Zgddfdd�d�Z�xZS)!rNrc���tt|���||���||_t	jd||���|_|jj|_||_|�	|��dS)N)�parent�configr[)�outr��style)
�superr�__init__�color_tabler�Parser�parser�format�str_detail_level�set_active_scheme)r�r��code_color_table�schemer�r�r�rns       �rr�zInspector.__init__gsw���
	�i����'�'�v�f�'�E�E�E�&��� �'�E�$�f�M�M�M����k�(��� 0������v�&�&�&�&�&r!r`rXc�N�	tt|��|��S#YdSxYw)z�Return the call signature for any callable object.

        If any exception is generated, None is returned instead and the
        exception is suppressed.N)�_render_signaturer)r�rRrps   r�_getdefzInspector._getdefss-��
	�$�Y�s�^�^�U�;�;�;��	��4�4���s��$c�N�|jjj�|�|jjj��S)z*Return a header string with proper colors.)r��
active_colors�header�normal)r��hs  r�__headzInspector.__head}s0���+�9�@�@����+�9�@�@�B�	Br!c��|�;|j�|��|jj�|��dSdSr>)r�r�r�)r�r�s  rr�zInspector.set_active_scheme�sF������.�.�v�6�6�6��K�#�5�5�f�=�=�=�=�=��r!c�v�td|zd���|rtd|z��dSt��dS)z-Generic message when no information is found.zNo %s found� ��endzfor %sN)�print)r��msgrps   r�noinfozInspector.noinfo�sH��
�m�c�!�s�+�+�+�+��	��(�U�"�#�#�#�#�#��G�G�G�G�Gr!c�F�t|��std��dSd}tj|��r|�d��}|�||��}|�|�d|��dSt||�|��d���dS)zwPrint the call signature for any callable object.

        If the object is a class, print the constructor information.zObject is not callable.Nr`zClass constructor information:
zdefinition headerr�r�)�callabler�r$r9�_Inspector__headr�r�r�)r�rRrpr��outputs     r�pdefzInspector.pdef�s���
��}�}�	��+�,�,�,��F����?�3���	E��[�[�!C�D�D�F����c�%�(�(���>��K�K�+�E�2�2�2�2�2��&����V�,�,�#�6�6�6�6�6�6r!c�@�|j}g}t|��}|r||���d|��}|r@|�|d����|�t	|����tj|��rgt|d��rWt|j��}|�@|�|d����|�t	|����nft|d��rVt|j	��}|r@|�|d����|�t	|����|s|�
d|��dStjd	�|����dS)
a�Print the docstring for any object.

        Optional:
        -formatter: a function to run the docstring through for specially
        formatted docstrings.

        Examples
        --------
        In [1]: class NoInit:
           ...:     pass

        In [2]: class NoDoc:
           ...:     def __init__(self):
           ...:         pass

        In [3]: %pdoc NoDoc
        No documentation found for NoDoc

        In [4]: %pdoc NoInit
        No documentation found for NoInit

        In [5]: obj = NoInit()

        In [6]: %pdoc obj
        No documentation found for obj

        In [5]: obj2 = NoDoc()

        In [6]: %pdoc obj2
        No documentation found for obj2
        z
plain/textzClass docstring:r�NzInit docstring:r�zCall docstring:�
documentationre)
r�r%r�rhrr$r9�hasattrr�r�r�rri)	r�rRrp�	formatter�headrVr^�init_ds�call_dss	         r�pdoczInspector.pdoc�s���D�{����
�C�[�[���	5���2���"�"�<��4�4�B�
�	%��L�L���0�1�1�2�2�2��L�L�����$�$�$��?�3���		.�G�C��$<�$<�		.��S�\�*�*�G��"����T�T�"3�4�4�5�5�5����V�G�_�_�-�-�-��
�S��
$�
$�	.��S�\�*�*�G��
.����T�T�"3�4�4�5�5�5����V�G�_�_�-�-�-��	(��K�K���.�.�.�.�.��I�d�i�i��&�&�'�'�'�'�'r!c��tj��	t||���}n#t$rd}YnwxYw|�|�d|��dStj|�|����dS)z$Print the source code for an object.)rpNr1)�	linecache�
checkcacherkr]r�rr�)r�rRrprus    r�psourcezInspector.psource�s���	�����	��C�u�-�-�-�C�C���	�	�	��C�C�C�	�����;��K�K��%�(�(�(�(�(��I�d�k�k�#�&�&�'�'�'�'�'s�'�6�6c��t|��}|�|�d|��dSt|��}|�d��rt	d|z��dSt
j�|��st	d|z��dStj|�	tj|d�����|dz
��dS)	z0Show the whole file where an object was defined.Nr.rGz File %r is binary, not printing.z%File %r does not exist, not printing.F)�skip_encoding_cookier�)r�r�rIrJr�rKrLrMrr�r�read_py_file)r�rRrpr�rSs     r�pfilezInspector.pfile�s���#�3�'�'���>��K�K���&�&�&��F��#�����>�>�1�2�2�	g��4�u�<�=�=�=�=�=������&�&�	g��9�E�A�B�B�B�B�B�

�I�d�k�k�&�"5�e�RW�"X�"X�"X�Y�Y�[a�de�[e�f�f�f�f�fr!�textc��|d|zdzd�}|�|S||��}t|t��s|d|zdzd�St|fi|��S)aRReturn a mime bundle representation of the input text.

        - if `formatter` is None, the returned mime bundle has
           a ``text/plain`` field, with the input text.
           a ``text/html`` field with a ``<pre>`` tag containing the input text.

        - if ``formatter`` is not None, it must be a callable transforming the
          input text into a mime bundle. Default values for ``text/plain`` and
          ``text/html`` representations are the ones described above.

        Note:

        Formatters returning strings are supported but this behavior is deprecated.

        z<pre>z</pre>��
text/plain�	text/html)rZ�dict)r�r�r�r��	formatteds     r�_mime_formatzInspector._mime_formats���"� �4��(�2�
�
��
���O�!�	�$���I��i��.�.�	
3�#,�!(�9�!4�x�!?�����H�2�2�	�2�2�2r!c�b�|d}d}tt|���\}}td�|D����}t||��D]\\}}|�d��}d|vrdnd}	||�|dz��|t|��z
dzz|	z|zdzz
}�]||d<|S)Nr�r`c3�4K�|]}t|��V��dSr>��len)r&r�s  r�	<genexpr>z(Inspector.format_mime.<locals>.<genexpr>1s(����)�)�a�3�q�6�6�)�)�)�)�)�)r!rer��:)�list�zip�max�stripr�r�)
r��bundle�
text_plainr��heads�bodies�_lenr��body�delims
          r�format_mimezInspector.format_mime+s����L�)�
����S�*�-�.�.�
��v��)�)�5�)�)�)�)�)���e�V�,�,�	W�	W�J�D�$��:�:�d�#�#�D� �D�L�L�D�D�c�E��D�K�K��S��)�)�T�C��I�I�-=�s�,B�B�E�I�D�P�RV�V�V�D�D�#��|���
r!r#c��������||�|����gdd�}d+dtdtf���fd�
}�fd�}	�d	r||d
d���n��dr2|d
kr||dd|	��n||dd|��||dd���nR�dst|��r}||dd|	��||dd|	��||dd|��|d
kr�dr||dd|	��n||dd|��||dd��||dd��||dd��n�||dd|	��||dd |	��||dd��||d!d���d"d#kr
||d$d"��||d%d&��||dd��|d
kr�dr||dd|	��n||dd|��||d'd(|��||dd|��||d)d*|����|��S),a9Retrieve an info dict and format it.

        Parameters
        ----------
        obj : any
            Object to inspect and return info from
        oname : str (default: ''):
            Name of the variable pointing to `obj`.
        formatter : callable
        info
            already computed information
        detail_level : integer
            Granularity of detail level, if set to 1, give more information.
        omit_sections : container[str]
            Titles or keys to omit from output (can be set, tuple, etc., anything supporting `in`)
        �rp�info�detail_levelr`r�N�title�keyc����|�vs|�vrdS�|}|�]��||��}|d�||df��|dxxd|zdz|dzdzz
cc<dSdS)Nr�r�z<h1>z</h1>
re)r�rh)	r�r�r�r��field�formatted_fieldr��
omit_sectionsr�s	      ���r�append_fieldz)Inspector._get_info.<locals>.append_fieldVs�����
�%�%��
�)=�)=�����I�E�� �"&�"3�"3�E�9�"E�"E���|�$�+�+�U�O�L�4Q�,R�S�S�S��{�#�#�#�v��~�	�'A�O�T_�D`�'`�cg�'g�g�#�#�#�#�#�!� r!c�N����|��t|��d�S)Nr�)r�r )r�r�s �r�code_formatterz+Inspector._get_info.<locals>.code_formatter_s*���"�k�k�$�/�/�$�T�]�]���
r!r8�Reprr+r7r�Sourcer1�	Docstringr0�Filer.r9�	Signaturer/zInit signaturer2zInit docstringr4�Typer)�
Subclasses�
subclasseszCall signaturer5zString formr,�Interactive�	Namespace�Lengthr-zClass docstringr3zCall docstringr6r>)r�r[r{r�)
r�rRrpr�r�r�r��_mimerrs
`   ` `   r�	_get_infozInspector._get_info;sE�����(�y�y��E��<�y�P�P����
�
��
	h�	h�s�	h��	h�	h�	h�	h�	h�	h�	h�	h�	�	�	�	�	��	�?�/	O��L���
�6�6�6�6�
�)�_�,	O��a�����U�H�h��G�G�G�G���U�K��i�H�H�H��L����/�/�/�/�
�)�_�%	O� 2�3� 7� 7�%	O��L���\�>�J�J�J��L�� 0�2C�^�T�T�T��L���[�)�D�D�D��a���D��N����U�H�h��G�G�G�G���U�$4�6F�	�R�R�R��L����/�/�/��L����4�4�4��L���l�;�;�;�;�
�L���\�>�J�J�J��L�� 0�*�n�M�M�M��L����4�4�4��L��
�}�=�=�=��K� �M�1�1���U�K��=�=�=��L���(�3�3�3��L����/�/�/��a���D��N����U�H�h��G�G�G�G���U�K��i�H�H�H��L�� 1�3D�i�P�P�P��L�� 0�2B�I�N�N�N��L�� 0�2B�I�N�N�N�����&�&�&r!Tc�n�|�||||||���}|s|d=tj|��dS)a Show detailed information about an object.

        Optional arguments:

        - oname: name of the variable pointing to the object.

        - formatter: callable (optional)
              A special formatter for docstrings.

              The formatter is a callable that takes a string as an input
              and returns either a formatted string or a mime type bundle
              in the form of a dictionary.

              Although the support of custom formatter returning a string
              instead of a mime type bundle is deprecated.

        - info: a structure with some information fields which may have been
          precomputed already.

        - detail_level: if set to 1, more information is given.

        - omit_sections: set of section keys and titles to omit
        )r�r�N)rr)r�rRrpr�r�r��enable_html_pagerr�s        r�pinfozInspector.pinfo�sM��B�~�~���	�4��]��
�
��!�	"��[�!��	�$�����r!c�l�tjdtd���|�||||���S)z�
        Inspector.info() was likely improperly marked as deprecated
        while only a parameter was deprecated. We "un-deprecate" it.
        z�The `Inspector.info()` method has been un-deprecated as of 8.0 and the `formatter=` keyword removed. `Inspector._info` is now an alias, and you can just call `.info()` directly.r}r~r�)r�r�r�r�)r�rRrpr�r�s     r�_infozInspector._info�sG��	�
�
B�
��	
�	
�	
�	
��y�y��E��<�y�P�P�Pr!c�\
�|�d}d}d}n|j}|j}|j}|r\t|��s&	d|dz}nS#dt	|��z}Yn=xYwdt	|��z}|jr
|d|jzz
}nt
|��}|�d	}t|d
||d���}	d}
t|
d
z
dz��}|rd|	d<n|rd|	d<nt|��j
|	d<	|j}t	|��|	d<n#YnxYw||jkr�	t	|��}
d}|s�t|
��|
krp|
d|�dz|
|d�z}
ddt|�����zz�d�|
�d��D����}
|
|	|<n#YnxYw|r||	d<	t	t|����|	d<n#t"$rYnwxYwd}t%|��}|�d
}nA|�d��rd
}n|�d��rd}t)|��|	d<|rgt+j��	t/|t0��s|s+t3||��}|�|���}||	d<n#t"$rYnwxYw|r.|�|	�d��|��s||	d<t;j|���rd
|	d <	|�||��}n#t@$rd}YnwxYw	|j!}|�(	|�||��}n#t@$rYnwxYwt
|��}|tDkrd}n#t@$rd}YnwxYw|r||	d!<|r||	d"<d#�t�#|��D��}t|��d$krd%�|��}n!d%�|dd$�d&gz��}||	d'<�n|�||��}|r||	d(<|rB	tI|d)��}t
|��}n	#d}YnxYw|tJvrd}|r||kr||	d*<	t
|j!��}|tDkrd}n#t@$rd}YnwxYw|r||	d"<tM|d+��rrtO|��sc|�|j(|��}|r||	�d(��kr||	d,<t
|j(��}|tRkrd}|r||	d-<tUd.i|	��S)/a�Compute a dict with detailed information about an object.

        Parameters
        ----------
        obj : any
            An object to find information about
        oname : str (default: '')
            Name of the variable pointing to `obj`.
        info : (default: None)
            A struct (dict like with attr access) with some information fields
            which may have been precomputed already.
        detail_level : int (default:0)
            If set to 1, more information is given.

        Returns
        -------
        An object info dict with known fields from `info_fields`. Keys are
        strings, values are string or None.
        NFr`z!Alias to the system command:
  %sr�zAlias: z	Alias to z
Docstring:
z<no docstring>T)r;r:r8r7r
���r}zMagic functionr)zSystem aliasr*r+z <...> rer�c3�>K�|]}|���V��dSr>)r�)r&�qs  rr�z!Inspector.info.<locals>.<genexpr>s*���� E� E�q������ E� E� E� E� E� Er!r,r-rGz<string>z9Dynamically generated function. No source code available.r.r1r0r9r2r4c��g|]	}|j��
Sr#)�__name__)r&�subs  r�
<listcomp>z"Inspector.info.<locals>.<listcomp>js��F�F�F�c�S�\�F�F�Fr!�
�, z...r
r/rnr3r�r5r6r#)+r7r8r,r�r[�__doc__r%r��int�typerrnr�r��
expandtabsri�splitr]rIrJrr�r�rZrfrk�rstrip�_source_contains_docstringr�r$r9r��AttributeErrorr��_object_init_docstring�__subclasses__rg�_builtin_type_docstringsrr{r��_func_call_docstringrE)r�rRrpr�r�r7r8�ospacer^r��
string_max�shalf�bclass�ostr�str_head�binary_filer�ru�init_def�obj_initr��names�	all_names�defln�cls�class_dsr5r�s                            rr�zInspector.info�s���*�<��G��G��F�F��l�G��l�G��^�F��
	&��C�=�=�
9�.�=��A��F�B�B��.�"�S��X�X�-�B�B�B���� �3�s�8�8�+���;�9��*�S�[�8�8�B������B��z�%����T�7�G�X\�]�]�]���
��Z�!�^�q�(�)�)���	2�/�C����
�	2�-�C����#�C�y�y�1�C���	��]�F� #�F���C�����	��D�����4�0�0�0�	
��3�x�x��(��#�F��D�	�	�*�(<�(<�����<�)�3�d�E�6�7�7�m�C�D� �3��X�-@�-@�-B�-B�)C�)C�#C�C� �D� E� E�D�J�J�t�4D�4D� E� E� E�E�E�� $��H�
�
��
�������	&�%�C���	���C���M�M�C��M�M���	�	�	��D�	�������#�����=��K�K��~�~�5�6�6�
T�"������
�+�+�
T�S��'��.�.�C��K��	�
� �"�"�"�
��c�8�,�,�(�K�(�#�C��/�/�C���!�j�j�l�l��$'�C��M����
�
�
���
�����	"�d�5�5�c�g�g�h�6G�6G��L�L�	"�!�C����?�3���V	4�!�C�	�N�
 ��<�<��U�3�3����!�
 �
 �
 �����
 ����
#��<���#��#'�<�<��%�#@�#@����)���������� ��*�*���4�4�4�"�G���"�
�
�
�����
�����
2�)1��%�&��
0�(/��$�%�F�F�T�-@�-@��-E�-E�F�F�F�E��5�z�z�B��� �I�I�e�,�,�	�	� �I�I�e�C�R�C�j�%��&8�9�9�	� )�C�����L�L��e�,�,�E��
*�$)��L�!��
6�+�!�#�k�2�2�C� &�c�{�{�H�H��$�#�H�H�H�����7�7�7�#�H��6��h���-5�C�)�*�
� ���.�.���4�4�4�"�G���!�
�
�
�����
�����
0�(/��$�%��C��,�,�
4�5G��5L�5L�
4��<�<���e�<�<���/��S�W�W�\�-B�-B�!B�!B�'/�C�
�O� ���.�.���2�2�2�"�G��4�,3�C�(�)��!�!�S�!�!�!s��=�A�#C=�=D�BF,�,F0�;G�
G(�'G(�AJ�
J(�'J(�6L
�
L�L� M.�*M�
M�
M�.M=�<M=�#Q�Q	�%!R�R�Rc��	tjt|����j\}tj|��|kS#t
$rYdSwxYw)z�
        Check whether the source *src* contains the docstring *doc*.

        This is is helper function to skip displaying the docstring if the
        source already contains it, avoiding repetition of information.
        F)�ast�parserr��
get_docstringr])rur��def_nodes   rr&z$Inspector._source_contains_docstring�s[��	��	�&��+�+�.�.�3�I�H��$�X�.�.�#�5�5���	�	�	��5�5�		���s�?A�
A�AF)�
list_typesc��d}d}|r;tjd�tt������dS|���}	t|	��}
|
dkr	|	d}n|
dkr|	\}}nt
d|z���|D]-}||vr't
d	|�d
|���������.t��t��}
}|D]g}||}t|��|
vr�|
�
t|����t|||||���}|�|���htjd�t|������dS)a�Search namespaces with wildcards for objects.

        Arguments:

        - pattern: string containing shell-like wildcards to use in namespace
          searches and optionally a type specification to narrow the search to
          objects of that type.

        - ns_table: dict of name->namespaces for search.

        Optional arguments:

          - ns_search: list of namespace names to include in search.

          - ignore_case(False): make the search case-insensitive.

          - show_all(False): show all names, including those starting with
            underscores.

          - list_types(False): list all available object types for object matching.
        �allr`reNr�rr}z)invalid argument string for psearch: <%s>zinvalid namespace <z>. Valid names: )�ignore_case�show_all)
rri�sortedrr$r��
ValueError�keys�set�id�addrrB)r��pattern�ns_table�	ns_searchrBrCr?�type_pattern�filter�cmds�len_cmdsr;�
search_result�namespaces_seen�ns_name�ns�tmp_ress                 r�psearchzInspector.psearch�s���4�����	��I�d�i�i��|� 4� 4�5�5�6�6�6��F��}�}������Y�Y���q�=�=��!�W�F�F�
��]�]�"&��F�<�<��H�$�%�&�&�
&��	9�	9�D��8�#�#� �j�"&�$�$�x�}�}����"8�9�9�9�$�
*-�������
� �	*�	*�G��'�"�B��"�v�v��(�(������2���'�'�'�$�R��v�0;�h�P�P�P�G�� � ��)�)�)�)��	�$�)�)�F�=�1�1�2�2�3�3�3�3�3r!�r`)r`Nr>)r`NNrr#)r`NNrTr#)r`Nr)r�
__module__�__qualname__rr�ANSICodeColorsr�rr[r�r�r�r�r�r
r�r�r�r�r�r�rrrr��staticmethodr&rV�
__classcell__)rns@rrres'�������#0�",�";��"#��T�	
'�
'�
'�
'�
'�
'���e�C��H�o�����B�#�B�B�B�B�
>�>�>�
���7�7�7�7�,�7(�7(�7(��\�7(�r
(�
(�
(�
(�g�g�g�g�.#3�#3��#3��#3�#3�#3�#3�L���"WY�\'�\'�\'�\'�B��
����&�&�&�&�P
Q�
Q�
Q�
Q�Q"�Q"��Q"�Q"�Q"�Q"�f����\�� 13�!�5�@4�@E�@4�@4�@4�@4�@4�@4�@4�@4�@4r!c�F�g}d}d}|j���D]�}|jtjkrd}n|r|�d��d}|jtjkrd}n.|jtjkr|r|�d��d}|�t|������|r|�d��t|��td�|D����zdkr4d�|d�d	�|D������}n)d
�|d�|����}|j
tjur1tj|j
��}|d�|��z
}|S)
z�
    This was mostly taken from inspect.Signature.__str__.
    Look there for the comments.
    The only change is to add linebreaks when this gets too long.
    FT�/�*c3�:K�|]}t|��dzV��dS)r}Nr��r&�rs  rr�z$_render_signature.<locals>.<genexpr>s,����6�6�!�3�q�6�6�A�:�6�6�6�6�6�6r!�Kz{}(
{})r`c3�@K�|]}d�|��V��dS)z    {},
N)r�ras  rr�z$_render_signature.<locals>.<genexpr>sA����73�73�&'�K���q�!�!�73�73�73�73�73�73r!z{}({})rz -> {})�
parameters�values�kindr$�_POSITIONAL_ONLYrh�_VAR_POSITIONAL�
_KEYWORD_ONLYr[r��sumr�ri�return_annotation�_empty�formatannotation)�
obj_signature�obj_name�result�pos_only�kw_only�param�rendered�annos        rr�r��s����F��H��G��)�0�0�2�2�
"�
"���:��1�1�1��H�H�
�	��M�M�#�����H��:��0�0�0��G�G�
�Z�7�0�
0�
0�W�
0��M�M�#�����G��
�
�c�%�j�j�!�!�!�!����
�
�c�����8�}�}�s�6�6�v�6�6�6�6�6�6��;�;��$�$�X�r�w�w�73�73�+1�73�73�73�03�03�
�
����?�?�8�T�Y�Y�v�->�->�?�?���&�g�n�<�<��'�
�(G�H�H���H�O�O�D�)�)�)���Or!rW)T)Tr �__all__r;r$rr�r�rK�textwrapr�types�iorN�typingr�IPython.corer�IPython.lib.prettyr	�IPython.testing.skipdoctestr
�
IPython.utilsrrr
�IPython.utils.dir2r�IPython.utils.pathr�IPython.utils.textr�IPython.utils.wildcardrr�IPython.utils.coloransirrr�IPython.utils.py3compatr�IPython.utils.colorabler�IPython.utils.decoratorsr�pygmentsr�pygments.lexersr�pygments.formattersrr �FunctionTyper�r+�objectr�r(�
ModuleType�
MethodTyperfr*r"rArxr[�upperry�ColorsrZrrArErWr%rkr{r�r�r�rlrIr�rr�r#r!r�<module>r�s�������
'���
�
�
�������������������	�	�	�	���������������������������%�%�%�%�%�%�4�4�4�4�4�4�$�$�$�$�$�$� � � � � � �#�#�#�#�#�#�+�+�+�+�+�+�,�,�,�,�,�,�%�%�%�%�%�%�1�1�1�1�1�1�/�/�/�/�/�/�M�M�M�M�M�M�M�M�M�M�0�0�0�0�0�0�-�-�-�-�-�-�*�*�*�*�*�*�������'�'�'�'�'�'�-�-�-�-�-�-�I�I�I��)�2�:����0���� %� 0�%�2B� %� 2�H� >�����
�T�#�Y�Y���T�#�)�_�_��
���)�
�����������.�5��T��?�����*9�9��c�$�h��9�9�9�9�xX�X�X�
�'�'���'�"�H�H���H� �"�"�"���"�J���$ �c� � � � �F���>O
4�O
4�O
4�O
4�O
4�	�O
4�O
4�O
4�d(�#�(�(�(�(�(�(r!

Youez - 2016 - github.com/yon3zu
LinuXploit