403Webshell
Server IP : 46.101.140.223  /  Your IP : 216.73.217.61
Web Server : nginx/1.22.1
System : Linux debian-s-1vcpu-1gb-fra1-01 6.1.0-49-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.174-1 (2026-05-26) x86_64
User : deploy-others ( 1001)
PHP Version : 8.2.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /usr/lib/python3/dist-packages/py/_code/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python3/dist-packages/py/_code/__pycache__/source.cpython-311.pyc
�

��a�6����ddlmZddlmZddlZddlZddlZddlZddlm	Z	e
Z	ddlZddlm
Zn#e$rdZdZYnwxYwGd�de��Zddejdfd	�Zd
�Zd�Zd�Zdd
�Zd�Zdd�Zdd�ZdS)�)�
generators)�bisect_rightN)�
ModuleType)�
PyCF_ONLY_ASTc��eZdZdZdZd�Zd�Zd�Zd�Zd�Z	d�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zd�Zddejddfd�ZdS)�SourcezY a immutable object holding a source code fragment,
        possibly deindenting it.
    rc�Z�gx|_}|�dd��}|�dd��}|D]�}|sg}t|t��r|j}n�t|tt
f��r
d�|D��}n�t|tjj��rK|�	d��}|r3|r1|d�
��rn|���|�1nt||���j}|rt|��}|�|����dS)N�deindentT�rstripc�8�g|]}|�d����S��
�r��.0�xs  �1/usr/lib/python3/dist-packages/py/_code/source.py�
<listcomp>z#Source.__init__.<locals>.<listcomp>!s"��:�:�:��Q�X�X�d�^�^�:�:�:�r���)r
)�lines�get�
isinstancer�tuple�list�py�builtin�_basestring�split�strip�pop�	getsourcer
�extend)�self�parts�kwargsr�der�part�	partliness        r�__init__zSource.__init__sL�����
�U�
�Z�Z�
�D�
)�
)�����H�d�+�+���	$�	$�D��
��	��$��'�'�
?� �J�	�	��D�5�$�-�0�0�

?�:�:�T�:�:�:�	�	��D�"�*�"8�9�9�
?� �J�J�t�,�,�	��(�#�(�$�R�=�.�.�0�0�"�!�!�
�
����$�(��
&�d�R�8�8�8�>�	��
0�$�Y�/�/�	��L�L��#�#�#�#�%	$�	$rc��	|j|jkS#t$r.t|t��rt|��|kcYSYdSwxYw)NF)r�AttributeErrorr�str)r$�others  r�__eq__z
Source.__eq__/sa��	��:���,�,���	�	�	��%��%�%�
*��4�y�y�E�)�)�)�)��5�5�	���s��2A
�	A
c��t|t��r
|j|S|jdvrt	d���|�|j|j��S)N)N�z!cannot slice a Source with a step)r�intr�step�
IndexError�__getslice__�start�stop)r$�keys  r�__getitem__zSource.__getitem__7sV���c�3���	:��:�c�?�"��x�y�(�(� �!D�E�E�E��$�$�S�Y���9�9�9rc�*�t|j��S�N)�lenr�r$s r�__len__zSource.__len__?s���4�:���rc�J�t��}|j||�|_|Sr;�rr)r$r6�end�	newsources    rr5zSource.__getslice__Bs#���H�H�	��*�U�3�Y�/�	���rc��dt|��}}||krI|j|���s*|dz
}||kr|j|����*||krO|j|dz
���s-|dz}||kr"|j|dz
����-t��}|j||�|jdd�<|S)z] return new source object with trailing
            and leading blank lines removed.
        rr1N)r<rr r)r$r6rA�sources    rr zSource.stripGs�����D�	�	�s���c�k�k�$�*�U�"3�"9�"9�";�";�k��Q�J�E��c�k�k�$�*�U�"3�"9�"9�";�";�k��E�k�k�$�*�S��U�"3�"9�"9�";�";�k��1�H�C��E�k�k�$�*�S��U�"3�"9�"9�";�";�k������*�U�3�Y�/���Q�Q�Q���
r��    c���t|��}t|��}t��}�fd�|jD��}|j|z|jz|_|S)ze return a copy of the source object with
            'before' and 'after' wrapped around it.
        c���g|]}�|z��S�rI�r�line�indents  �rrz$Source.putaround.<locals>.<listcomp>[s���9�9�9�d�6�D�=�9�9�9rr@)r$�before�afterrLrBrs   `  r�	putaroundzSource.putaroundTsZ���������u�
�
���H�H�	�9�9�9�9�d�j�9�9�9�� �,��.�%�+�=�	���rc�T��t��}�fd�|jD��|_|S)zl return a copy of the source object with
            all lines indented by the given indent-string.
        c���g|]}�|z��SrIrIrJs  �rrz!Source.indent.<locals>.<listcomp>ds���@�@�@�T�F�4�K�@�@�@rr@)r$rLrBs ` rrLz
Source.indent_s1����H�H�	�@�@�@�@�T�Z�@�@�@�	���rFc�H�|�||��\}}|||�S)zc return Source statement which contains the
            given linenumber (counted from 0).
        )�getstatementrange)r$�lineno�	assertionr6rAs     r�getstatementzSource.getstatementgs+���+�+�F�I�>�>�
��s��E�#�I��rc��d|cxkrt|��ksntd���t||��\}}}||fS)z{ return (start, end) tuple which spans the minimal
            statement region which containing the given lineno.
        rzlineno out of range)r<r4�getstatementrange_ast)r$rTrU�astr6rAs      rrSzSource.getstatementrangensW���V�'�'�'�'�c�$�i�i�'�'�'�'��2�3�3�3�/���=�=���U�C��c�z�rNc�`�t��}t|j|��|jdd�<|S)a: return a new source object deindented by offset.
            If offset is None then guess an indentation offset from
            the first non-blank line.  Subsequent lines which have a
            lower indentation offset will be copied verbatim as
            they are assumed to be part of multilines.
        N)rr
r)r$�offsetrBs   rr
zSource.deindentws/���H�H�	�%�d�j�&�9�9�	�������rTc��	ddl}|j}n#t$rd�}YnwxYw|r"t|�����}nt|��}	||dz��dS#t
$r�t$rYdSwxYw)zb return True if source is parseable, heuristically
            deindenting it by default.
        rNc�$�t|dd��S)N�asd�exec)�compile)rs r�<lambda>z$Source.isparseable.<locals>.<lambda>�s��w�q�%��'@�'@�rrTF)�parser�suite�ImportErrorr-r
�KeyboardInterrupt�	Exception)r$r
rb�syntax_checkerrDs     r�isparseablezSource.isparseable�s���	*��M�M�M�$�\�N�N���	A�	A�	A�@�@�N�N�N�	A����
�	�������)�)�F�F���Y�Y�F�	��N�6�$�;�'�'�'��4��!�	�	�	���	�	�	��5�5�	���s��
��A%�%A=�<A=c�6�d�|j��S)Nr)�joinrr=s r�__str__zSource.__str__�s���y�y���$�$�$rr_c�r�|r3tj�|���d���r`|�t	jd��}|jj|j}}d|j	z}|j
xj	dz
c_	|s|d||fzz}n|d|||fzz}d�|j��dz}		t|	|||��}
|tzr|
Sd	�|jD��}ddl}dd||f|j|<|
S#t"$r�t	j��d}
|jd|
j�}|
jr |�d
|
jzdz��|�d|z��t#d�|����}|
j|_|
j|_|
j|_|�wxYw)
z� return compiled code object. if filename is None
            invent an artificial filename which displays
            the source/line position of the caller frame.
        r)�fileNr1z<%d-codegen z%s:%d>z	%r %s:%d>rc��g|]}|dz��Sr
rIrs  rrz"Source.compile.<locals>.<listcomp>�s��4�4�4�A�a�$�h�4�4�4r� �^z*(code was compiled probably from here: %s))r�path�local�check�sys�	_getframe�f_code�co_filename�f_lineno�_compilecounter�	__class__rjr�cpy_compile�	_AST_FLAG�	linecache�cache�SyntaxError�exc_inforTr[�append�text)r$�filename�mode�flag�dont_inherit�	_genframe�fnrT�baserD�corr}�ex�msglines�newexs                rr`zSource.compile�s����		G�2�7�=�=��2�2�8�8�a�8�@�@�		G�� ��M�!�,�,�	�!�(�4�i�6H�v�B�!�D�$8�8�D��N�*�*�a�/�*�*��
G��(�b�&�\�"9�9����+��2�v�0F�"F�F�����4�:�&�&��-��	��V�X�t�T�:�:�B��i��
��	�4�4���4�4�4�E�����)*�D�%��(B�I�O�H�%��I��%�	�	�	������"�B��z�*�2�9�*�-�H��y�
5�����B�I�
�� 3�4�4�4��O�O�H�8�S�T�T�T���	�	�(� 3� 3�4�4�E��9�E�L��9�E�L���E�J��K�	���s
�4C7�7B?F6)rErErF)rF�Fr;)T)�__name__�
__module__�__qualname__�__doc__ryr*r/r9r>r5r rOrLrVrSr
rhrkr�
compiler_flagr`rIrrrrs,���������O�$�$�$�0���:�:�:�������
���	�	�	�	���������������������2%�%�%� $�&��-��$�&�&�&�&�&�&rrr_c���t�-t|tj��rt|||||��St	jd��}t
|��}|�||||���}|S)z� compile the given source to a raw code object,
        and maintain an internal cache which allows later
        retrieval of the source code for the code object
        and any recursively created code objects.
    Nr1)r�)�_astr�ASTr{rtrurr`)rDr�r��flagsr�r��sr�s        r�compile_r��si����J�v�t�x�8�8���6�8�T�5�,�G�G�G��
�a� � �I��v���A�	
���8�T�5�I��	>�	>�B�
�Irc���	tj�|��}|j}|j}n�#t
$r�	t
j|��pt
j|��}n#t
$rYYdSwxYw|rtj�	|��pd}d}|r$	t|��\}}n#t$rYnwxYwYnwxYwt|t��sJ�||fS)zx Return source location (path, lineno) for the given object.
    If the source cannot be determined return ("", -1)
    )rErNr)r�code�Coderq�firstlineno�	TypeError�inspect�
getsourcefile�getfilerr�
findsource�IOErrorrr2)�objr��fspathrTr��_s      r�getfslinenor��s ��"��w�|�|�C� � �� ����!����!�
�
�
�	��'��,�,�'��/�#�&�&�
�B���	�	�	��6�6�6�	�����)���
�
�b�)�)�1�T�����	�
�&�s�O�O�	��6�6���
�
�
���
������
����"�f�c�"�"�"�"�"��6�>�sV�0�
C�(A$�#C�$
A3�.C�2A3�3*C�B1�0C�1
B>�;C�=B>�>C�Cc��	tj|��\}}n#tjj$r�YdSxYwt��}d�|D��|_||fS)N)Nrc�6�g|]}|�����SrIr)rrKs  rrzfindsource.<locals>.<listcomp>s ��:�:�:�d�D�K�K�M�M�:�:�:r)r�r�rr�_sysexrr)r��sourcelinesrTrDs    rr�r��sp���%�0��5�5���V�V��
�:�����
���x�x����
�X�X�F�:�:�k�:�:�:�F�L��6�>�s��3c���tj�|��}	tj|��}n#t
$rd}YnwxYwt
|t��sJ�t|fi|��S)Nz<"Buggy python version consider upgrading, cannot get source")	rr��
getrawcoder�r"�IndentationErrorrr-r)r�r&�strsrcs   rr"r"s���
�'�
�
�S�
!�
!�C�R��"�3�'�'�����R�R�R�Q����R�����f�c�"�"�"�"�"��&�#�#�F�#�#�#s�6�A�Ac�Z�
�|�R|D]M}|���}|���}|r!t|��t|��z
}n�Nd}|dkrt|��Sg}d�}||���
	t	j�
fd���D]�\}}\}}\}}}|t|��krn�|t|��krl||dz
���}|���r&|d|����r
||d�}|�|��t||��D]}	|�||	�����n#ttj
f$rYnwxYw|�|t|��d���|S)Nrc3�*K�|D]	}|dzV��
	dV��)NrTrErI)rrKs  r�readline_generatorz$deindent.<locals>.readline_generators;�����	�	�D���+�����	��H�H�H�	rc�"��t���Sr;��next��its�rrazdeindent.<locals>.<lambda>$s���PT�UW�PX�PX�rr1)�
expandtabs�lstripr<r�tokenize�generate_tokens�isspacer��ranger��
TokenErrorr#)rr[rKr��newlinesr�r��sline�eline�ir�s          @rr
r
s����
�~��	�	�D��?�?�$�$�D����
�
�A��
��T���3�q�6�6�)����
��F�
��{�{��E�{�{���H����
�	�E�	"�	"�B�
�/7�/G�HX�HX�HX�HX�/Y�/Y�	*�	*�+�A�q�*�5�!�j�u�a�!��s�5�z�z�!�!����s�8�}�}�$�$��U�Q�Y�'�2�2�4�4���;�;�=�=�)�T�'�6�'�]�%:�%:�%<�%<�)�����=�D�����%�%�%��5�%�(�(�
*�
*������a��)�)�)�)�
*���
�h�1�2�
�
�
���
����
�O�O�E�#�h�-�-�.�.�)�*�*�*��Os�<C(E%�%E>�=E>c��ddl}g}|�|��D]�}t|tj��st|tj��r[|�|jdz
��dD];}t||d��}|r&|�|djdz
dz
���<��|�	��t||��}||dz
}|t|��krd}	n||}	||	fS)Nrr1)�	finalbody�orelse)rY�walkrr��stmt�
ExceptHandlerr�rT�getattr�sortrr<)
rT�noderY�lr�name�val�insert_indexr6rAs
          r�get_statement_startend2r�8s
���J�J�J�	�A�
�X�X�d�^�^�4�4���a���#�#�	4�z�!�T�5G�'H�'H�	4�
�H�H�Q�X��\�"�"�"�-�
4�
4���a��t�,�,���4��H�H�S��V�]�Q�.��2�3�3�3����F�F�H�H�H���6�*�*�L�
�l�Q���E��s�1�v�v��������o���#�:�rFc���
�|�Lt|��}	t|ddd��}n)#t$rt|||��\}}d||fcYSwxYwt	||��\}}|�t|j��}||dzkr�tj��}|j|d�	��|_
d�|j||�D���
	tj�
fd���D]}|j
|��
n1#tjtf$r
|j|z}Ynt"$rYnwxYw|rB|j|dz
���}	|	�d��s|	s|dz}nn|�B|||fS)	NrDr_ir1rc3� K�|]	}|dzV��
dS)rNrIrs  r�	<genexpr>z(getstatementrange_ast.<locals>.<genexpr>es&����
:�
:�Q�q�4�x�
:�
:�
:�
:�
:�
:rc�"��t���Sr;r�r�s�rraz'getstatementrange_ast.<locals>.<lambda>gs
����R���r�#)r-r`�
ValueError�getstatementrange_oldr�r<rr��BlockFinderr��startedr�r��
tokeneater�
EndOfBlockr��lastrfr��
startswith)rTrDrU�astnode�contentr6rA�block_finder�tokrKr�s          @rrXrXOs�������f�+�+��	$��g�x���>�>�G�G���	$�	$�	$�.�v�v�y�I�I�J�E�3����#�#�#�#�	$����)���9�9�J�E�3�
�{��&�,����
�U�Q�Y����*�,�,��%�|�E�2�1�5�=�=�?�?���
:�
:�&�,�u�S�y�"9�
:�
:�
:��	��/�0@�0@�0@�0@�A�A�
.�
.��'��'��-�-�-�
.���"�$4�5�	,�	,�	,��#�e�+�C�C�C��	�	�	��D�	�������|�C�!�G�$�+�+�-�-���?�?�3���	�t�	��1�H�C�C�����E�3��s'�'�#A
�A
�$C>�> D,� 	D,�+D,c�(�ddlm}t|dd��D]�}|r1|j|}d|vrd|vrd|vrt	d���d|vrd	|vr�5|j||d
z�}|�dd��d�|��}	||��n#tttf$rY��wxYwt|d
zt|��d
z��D](}|||�}|���r||fccS�)��td
|fz���)z� return (start, end) tuple which spans the minimal
        statement region which containing the given lineno.
        raise an IndexError if no such statementrange can be found.
    r)�compile_commandr�superr$r*zlikely a subclass�assert�raiser1z
def xxx():z
 z%no valid source range around line %d )�codeopr�r�rr4�insertrjr�
OverflowErrorr�r<rh)	rTrDrUr�r6rK�trylines�	trysourcerAs	         rr�r�xs���'�&�&�&�&�&��v�r�2�&�&�"�"���	��<��&�D��$���6�T�>�>�j�D�6H�6H� �!4�5�5�5��t�#�#��t�(;�(;���<��f�Q�h��/��	����<�(�(�(��J�J�x�(�(�	�	��O�I�&�&�&�&���]�J�7�	�	�	��H�	��������3�v�;�;�q�=�1�1�	"�	"�C��u�S�y�)�I��$�$�&�&�
"��c�z�!�!�!�!�!�
"�	"��=��	�I�
J�
J�Js�B�B1�0B1r;)FNr�)�
__future__r�bisectrrtr�r�r�typesrr`r{r�rr|rd�objectrr�r�r�r�r"r
r�rXr�rIrr�<module>r�s���!�!�!�!�!�!�������
�
�
�
���������	�	�	�	�����������K�K�K�/�/�/�/�/�/�/�������I��D�D�D�����
t�t�t�t�t�V�t�t�t�t#���$�1�
�
�
�
� ���<	�	�	�$�$�$�'�'�'�'�T���.&�&�&�&�R K� K� K� K� K� Ks�
1�	=�=

Youez - 2016 - github.com/yon3zu
LinuXploit