Current File : //lib/python2.7/site-packages/paramiko/ber.pyc
�
=OXc@swddlmZmZddlmZmZmZmZddlj	Z	de
fd��YZdefd��YZ
dS(i����(tmax_bytet	zero_byte(tbtbyte_ordtbyte_chrtlongNtBERExceptioncBseZRS((t__name__t
__module__(((s0/usr/lib/python2.7/site-packages/paramiko/ber.pyRstBERcBszeZdZe�d�Zd�Zd�Zd�Zd�Zd�Z	e
d��Zd�Zd	�Z
e
d
��ZRS(s7
    Robey's tiny little attempt at a BER decoder.
    cCst|�|_d|_dS(Ni(Rtcontenttidx(tselfR
((s0/usr/lib/python2.7/site-packages/paramiko/ber.pyt__init__!scCs|jS(N(R
(R((s0/usr/lib/python2.7/site-packages/paramiko/ber.pytasbytes%scCs
|j�S(N(R(R((s0/usr/lib/python2.7/site-packages/paramiko/ber.pyt__str__(scCsdt|j�dS(NsBER('s')(treprR
(R((s0/usr/lib/python2.7/site-packages/paramiko/ber.pyt__repr__+scCs
|j�S(N(tdecode_next(R((s0/usr/lib/python2.7/site-packages/paramiko/ber.pytdecode.scCs�|jt|j�krdSt|j|j�}|jd7_|d@dkr�d}xd|jt|j�kr�t|j|j�}|jd7_|d>|d@B}|d@sZPqZqZWn|jt|j�kr�dSt|j|j�}|jd7_|d@rk|d@}|j|t|j�kr3dStj|j|j|j|!t�}|j|7_n|j|t|j�kr�dS|j|j|j|!}|j|7_|dkr�|j|�S|dkr�tj|�St	d	|��dS(
Niiiiii�i0is,Unknown ber encoding type %d (robey is lazy)(
RtlenR
tNoneRtutiltinflate_longtTruetdecode_sequenceR(Rtidenttttsizetdata((s0/usr/lib/python2.7/site-packages/paramiko/ber.pyR1s>


&

cCsLg}t|�}x3trG|j�}|dkr7Pn|j|�qW|S(N(R	RRRtappend(Rtouttbertx((s0/usr/lib/python2.7/site-packages/paramiko/ber.pyR\s	cCs�|jt|�7_t|�dkrbtjt|��}|jtdt|��|7_n|jtt|��7_|j|7_dS(Nii�(R
RRRtdeflate_long(RRtvaltlenstr((s0/usr/lib/python2.7/site-packages/paramiko/ber.pyt
encode_tlvgs&cCst|�tkr>|r+|jdt�q�|jdt�n�t|�tksbt|�tkr~|jdtj|��n�t|�t	kr�|jd|�n\t|�t
ks�t|�tkr�|jd|j|��nt
dtt|����dS(Niiii0sUnknown type for encoding: %s(ttypetboolR%RRtintRRR"tstrtlistttupletencode_sequenceRR(RR!((s0/usr/lib/python2.7/site-packages/paramiko/ber.pytencodeqs$$cCs1t�}x|D]}|j|�qW|j�S(N(R	R-R(RR titem((s0/usr/lib/python2.7/site-packages/paramiko/ber.pyR,�s	
(RRt__doc__tbytesR
RRRRRtstaticmethodRR%R-R,(((s0/usr/lib/python2.7/site-packages/paramiko/ber.pyR	s					+	
	(tparamiko.commonRRtparamiko.py3compatRRRRt
paramiko.utilRt	ExceptionRtobjectR	(((s0/usr/lib/python2.7/site-packages/paramiko/ber.pyt<module>s"