HEX
Server: LiteSpeed
System: Linux php-prod-1.spaceapp.ru 5.15.0-157-generic #167-Ubuntu SMP Wed Sep 17 21:35:53 UTC 2025 x86_64
User: xnsbb3110 (1041)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //usr/local/CyberPanel/lib64/python3.10/site-packages/paramiko/__pycache__/ber.cpython-310.pyc
o

�h�@s^ddlmZmZmZmZddlmZddlmZddlm	Z	Gdd�de
�ZGdd�d�ZdS)	�)�max_byte�	zero_byte�byte_ord�byte_chrN)�b)�int64c@seZdZdS)�BERExceptionN)�__name__�
__module__�__qualname__�rr�B/usr/local/CyberPanel/lib/python3.10/site-packages/paramiko/ber.pyrsrc@sneZdZdZe�fdd�Zdd�Zdd�Zdd	�Zd
d�Z	dd
�Z
edd��Zdd�Z
dd�Zedd��ZdS)�BERz7
    Robey's tiny little attempt at a BER decoder.
    cCst|�|_d|_dS)Nr)r�content�idx)�selfrrrr
�__init__"s

zBER.__init__cCs|jS�N)r�rrrr
�asbytes&szBER.asbytescC�|��Sr)rrrrr
�__str__)�zBER.__str__cCsdt|j�dS)NzBER('z'))�reprrrrrr
�__repr__,szBER.__repr__cCrr)�decode_nextrrrr
�decode/rz
BER.decodecCs�|jt|j�kr
dSt|j|j�}|jd7_|d@dkrMd}|jt|j�krMt|j|j�}|jd7_|d>|d@B}|d@sEn|jt|j�ks)|jt|j�krWdSt|j|j�}|jd7_|d@r�|d@}|j|t|j�krzdSt�|j|j|j|�d�}|j|7_|j|t|j�kr�dS|j|j|j|�}|j|7_|dkr�|�|�S|d	kr�t�|�Sd
}t|�|���)N��r���T�0�z.Unknown ber encoding type {:d} (robey is lazy))	r�lenrr�util�inflate_long�decode_sequencer�format)r�ident�t�size�data�msgrrr
r2sF��

zBER.decode_nextcCs0g}t|�}	|��}|dur	|S|�|�qr)rr�append)r,�out�ber�xrrr
r'`s
��zBER.decode_sequencecCst|jt|�7_t|�dkr&t�t|��}|jtdt|��|7_n|jtt|��7_|j|7_dS)Nr r!)rrr$r%�deflate_long)rr)�val�lenstrrrr
�
encode_tlvks zBER.encode_tlvcCs�t|�tur|r|�dt�dS|�dt�dSt|�tus$t|�tur/|�dt�|��dSt|�t	ur=|�d|�dSt|�t
usIt|�turT|�d|�|��dSt
d�t|����)Nrr#�r"zUnknown type for encoding: {!r})�type�boolr5rr�intrr%r2�str�list�tuple�encode_sequencerr()rr1rrr
�encodeus�z
BER.encodecCs"t�}|D]}|�|�q|��Sr)rr>r)r,r0�itemrrr
r=�szBER.encode_sequenceN)r	r
r�__doc__�bytesrrrrrr�staticmethodr'r5r>r=rrrr
rs.


r)
�paramiko.commonrrrr�
paramiko.utilr%r�
paramiko.sftpr�	Exceptionrrrrrr
�<module>s