%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /snap/core/17212/usr/lib/python3/dist-packages/pyasn1/codec/ber/__pycache__/
Upload File :
Create Path :
Current File : //snap/core/17212/usr/lib/python3/dist-packages/pyasn1/codec/ber/__pycache__/encoder.cpython-35.pyc



�<U�?�4@s�ddlmZmZmZmZmZddlmZddlm	Z	m
Z
mZmZm
Z
ddlmZmZGdd�de�ZGdd�d�ZGd	d
�d
e�ZGdd�de�Ze�ZGd
d�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd �d e�Z Gd!d"�d"e�Z!ej"j#e�ej$j#e�ej%j#e�ej&j#e�ej'j#e�ej(j#e�ej)j#e�ej*j#e�ej+j#e�ej,j#e�ej-j#e�ej.j#e �ej/j#e�ej0j#e�ej1j#e�ej2j#e�ej3j#e�ej4j#e�ej5j#e�ej6j#e�ej7j#e�ej8j#e�ej9j#e�ej:j#e�ej;j#e�ej<j#e�iZ=ej>j?e�ej-j?e�ej@j?e�ej,j?e�ej.j?e �ejAj?e!�iZBGd#d$�d$�ZCeCe=eB�ZDd%S)&�)�base�tag�univ�char�useful)�eoo)�int2oct�oct2int�	ints2octs�null�str2octs)�debug�errorc@seZdZdS)�ErrorN)�__name__�
__module__�__qualname__�rr�:/usr/lib/python3/dist-packages/pyasn1/codec/ber/encoder.pyrsrc@sReZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�ZdS)
�AbstractItemEncoder�cCs�|j�\}}}||B}|r2|tjB}|dkrLt||B�St|d@�}|d?}x,|r�td|d@B�|}|d?}qiWt|dB�|SdS)N����)�asTuplerZtagFormatConstructedr)�self�t�
isConstructedZtagClassZ	tagFormatZtagId�v�srrr�	encodeTags


	zAbstractItemEncoder.encodeTagcCs�|r|jrtd�S|dkr0t|�St}x(|r`t|d@�|}|d?}q9Wt|�}|dkr�td|��td|B�|SdS)Nr���~zLength octets overflow (%d))�supportIndefLenModerr�lenr)rZlength�defMode�	substrateZsubstrateLenrrr�encodeLengths

	z AbstractItemEncoder.encodeLengthcCstd��dS)NzNot implemented)r)r�	encodeFun�valuer'�maxChunkSizerrr�encodeValue)szAbstractItemEncoder.encodeValuecCs(|s|jrtS|tj|�SdS)N)r%rr�endOfOctets)rr*r'rrr�_encodeEndOfOctets,sz&AbstractItemEncoder._encodeEndOfOctetscCs�|j||||�\}}|j�}|rz|s<d}|j|d|�|jt|�|�||j||�S|SdS)Nr���)r-�	getTagSetr!r)r&r/)rr*r+r'r,r(r�tagSetrrr�encode2s>zAbstractItemEncoder.encodeN)	rrrr%r!r)r-r/r3rrrrr	src@seZdZdd�ZdS)�EndOfOctetsEncodercCs
tdfS)Nr)r)rr*r+r'r,rrrr-CszEndOfOctetsEncoder.encodeValueN)rrrr-rrrrr4Bsr4c@seZdZdd�ZdS)�ExplicitlyTaggedItemEncodercCsut|tj�r=|jd|j�dd�dd�}n"|jd|j�dd��}||||�dfS)Nr2rZcloneValueFlagr0r0)�
isinstancerZAbstractConstructedAsn1Item�cloner1)rr*r+r'r,rrrr-Gs
"z'ExplicitlyTaggedItemEncoder.encodeValueN)rrrr-rrrrr5Fsr5c@s:eZdZdZed�Zed�Zdd�ZdS)�BooleanEncoderrrcCs|r|jp|jdfS)Nr)�_true�_false)rr*r+r'r,rrrr-UszBooleanEncoder.encodeValueN)r)r)rrrr%r
r9r:r-rrrrr8Qsr8c@s(eZdZdZdZdd�ZdS)�IntegerEncoderrFcCs!|dkr/|jrtdfStd�dfSg}t|�}x;|jd|d@�|dksp|dkrqP|d?}qDW|dkr�|dd@r�|jdd�xet|�dkr|ddkr�|dd@dks|ddkr|dd@dkr|d=q�Wt|�dfS)Nrr"rr#r)rr0)�supportCompactZerorr
�int�insertr&)rr*r+r'r,�octetsrrrr-[s$	
$$zIntegerEncoder.encodeValueN)rrrr%r<r-rrrrr;Xsr;c@seZdZdd�ZdS)�BitStringEncoderc
Cs*|st|�|dkr�t|�dd}|dg}d}d}xN|D]F}	|d7}|dkr}|d7}d}|||	d|>B||<qQWtd|�t|�dfSd}
t}xT|j||
d|
d|d��}|s�P|||||�}|
|}
q�W|dfSdS)Nr#rrrr0)r&rr
rr7)
rr*r+r'r,Zout_lenZout_list�j�i�val�posr(rrrrr-ss*



)zBitStringEncoder.encodeValueN)rrrr-rrrrr@rsr@c@seZdZdd�ZdS)�OctetStringEncodercCs�|st|�|kr)|j�dfSd}t}xH|j||||��}|s\P|||||�}||}q8W|dfSdS)Nrr)r&�asOctetsrr7)rr*r+r'r,rDr(rrrrr-�szOctetStringEncoder.encodeValueN)rrrr-rrrrrE�srEc@s"eZdZdZdd�ZdS)�NullEncoderrcCs
tdfS)Nr)r)rr*r+r'r,rrrr-�szNullEncoder.encodeValueN)rrrr%r-rrrrrG�srGc@s4eZdZdZddd
diZdd	�Zd
S)�ObjectIdentifierEncoderrr����+�c	Cs:|j�}|dd�|jkrO|j|dd�}|dd�}n#t|�dkrwtjd|f��f}|ddkr�d|dko�dknr�|df|dd�}n�|ddkrd|dko�dknr|ddf|dd�}nU|ddkrO|ddf|dd�}n#tjd	|dd�|f��x�|D]�}|dkr�|d
kr�||d@f}qy|dkr�tjd||f��qy|d@f}|d
?}x/|dkrd
|d@Bf|}|d
?}q�W||7}qyWt|�dfS)N�rKzShort OID %srr�'�(�Pz Impossible initial arcs %s at %srrzNegative OID arc %s at %srr0)r�precomputedValuesr&r�PyAsn1Errorr
)	rr*r+r'r,Zoidr?ZsubId�resrrrr-�s800""


z#ObjectIdentifierEncoder.encodeValueN)rrIrJrrK)rLrJrrK)rrIrJrrM)rLrJrrM)rrrr%rRr-rrrrrH�srHc@s@eZdZdZdZdd�Zdd�Zdd�Zd	S)
�RealEncoderrrKcCs�d\}}|dkrd	}|dkr0d
}||9}|dkry|dt|�d|}t|�d|}n<|dkr�|dt|�d|}t|�d|}x.t|�|kr�||9}|d8}q�Pq�W|t|�||fS)Nrrr#rKrI�rM)rrr0r0)�absr=)r�m�encbase�e�msZesrrr�_dropFloatingPoint�s&


zRealEncoder._dropFloatingPointcCsd|\}}}dddg}|j|krC|j||j|�S|j|krh|j||j|�S|||g}|||g}d}td�}x�td�D]�}	|j||	||	||	�\}
||	<||	<||	<t||	�t|�ks,t||	�t|�kr�||	|kr�||	}t||	�}||	}q�W|
|||fS)NrKr#rV�infrI)�
binEncBaser\�float�rangerWr=)rr+rX�brZrZmantissaZ	exponentarYrBZsignrrr�_chooseEncBase�s$9,
zRealEncoder._chooseEncBasecCs�|j�rtd�dfS|j�r8td�dfS|\}}}|sWtdfS|dkr�td||dkr~dp�d|f�dfS|dkr�d	}|j|�\}	}}
}|	dkr�|dB}|
dkrx�|d
@dkr|d
L}|d
7}q�Wny|
dkrSx(|d@dkrE|d
L}|d
7}qW|dO}n5x(|d@dkr}|dL}|d
7}qVW|dO}d}x(|d
@dkr�|d
L}|d
7}q�W|d
kr�tjd��||d>O}t}|dks|dkrt|d@�}n�x.|dkrCt|d@�|}|dL}qW|dkrz|rzt|d�d	@rztd�|}|dkr�|r�t|d�d	@r�td�|}t	|�}
|
dkr�tjd��|
d
kr�nP|
dkr|d
O}n7|
d
kr|dO}n|d
O}t|
d@�|}t}x(|rgt|d@�|}|dL}q@Wt|�||}|dfStjd|��dS)N�@r�A�
z%dE%s%d�+�rKrrr#rrIrV�rM� zScale factor overflowr"zReal exponent overflowzProhibited Real base %sr0r0)rr0r0)
ZisPlusInfinityrZisMinusInfinityrrrbrrSr	r&)rr*r+r'r,rXrarZZfor[rYZsfZeo�nZpor(rrrr-�s|
/






&'


	
zRealEncoder.encodeValueN)rrrr%r^r\rbr-rrrrrU�s
rUc@seZdZdd�ZdS)�SequenceEncodercCs�|j�|j�t}t|�}xu|dkr�|d}||dkrRq)|j|�}|dk	r�|||kr�q)|||||�|}q)W|dfS)Nrr)ZsetDefaultComponents�verifySizeSpecrr&ZgetDefaultComponentByPosition)rr*r+r'r,r(�idxZ	componentrrrr-Es


zSequenceEncoder.encodeValueN)rrrr-rrrrrkDsrkc@seZdZdd�ZdS)�SequenceOfEncodercCs]|j�t}t|�}x4|dkrR|d}|||||�|}qW|dfS)Nrr)rlrr&)rr*r+r'r,r(rmrrrr-Vs

zSequenceOfEncoder.encodeValueN)rrrr-rrrrrnUsrnc@seZdZdd�ZdS)�
ChoiceEncodercCs||j�||�dfS)Nr)ZgetComponent)rr*r+r'r,rrrr-aszChoiceEncoder.encodeValueN)rrrr-rrrrro`sroc@seZdZdd�ZdS)�
AnyEncodercCs|j�|dkfS)Nr)rF)rr*r+r'r,rrrr-eszAnyEncoder.encodeValueN)rrrr-rrrrrpdsrpc@s7eZdZdZidd�Zdddd�ZdS)�EncoderTcCs||_||_dS)N)�_Encoder__tagMap�_Encoder__typeMap)r�tagMap�typeMaprrr�__init__�s	zEncoder.__init__rcCs�|r |jr tjd��tjtj@oetjd|rFdpId||j�|j�f�|j�}t	|�dkr�t
}n�|jdk	r�|j|jkr�|j|j}nZ||j
kr�|j
|}n;|j}||j
kr|j
|}ntd|f��tjtj@oGtjd|jj|f�|j||||�}tjtj@o�tjdt	|�tj|�f�|S)	Nz6Indefinite length encoding not supported by this codeczBencoder called in %sdef mode, chunk size %s for type %s, value:
%s�inrgrzNo encoder for %sz!using value codec %s chosen by %sz2built %s octets of substrate: %s
encoder completed)�supportIndefLengthrrSr
ZloggerZflagEncoderZprettyPrintTypeZprettyPrintr1r&�explicitlyTaggedItemEncoder�typeIdrsrrZ
baseTagSetr�	__class__rr3Zhexdump)rr+r'r,r2ZconcreteEncoderr(rrr�__call__�s&F	!	-6zEncoder.__call__N)rrrrxrvr|rrrrrq�srqN)EZpyasn1.typerrrrrZpyasn1.codec.berrZpyasn1.compat.octetsrr	r
rrZpyasn1r
r�	Exceptionrrr4r5ryr8r;r@rErGrHrUrkrnrorpr.r2ZBooleanZIntegerZ	BitStringZOctetStringZNullZObjectIdentifierZ
EnumeratedZRealZ
SequenceOfZSetOfZChoiceZ
UTF8StringZ
NumericStringZPrintableStringZ
TeletexStringZVideotexStringZ	IA5StringZ
GraphicStringZ
VisibleStringZ
GeneralStringZUniversalStringZ	BMPStringZObjectDescriptorZGeneralizedTimeZUTCTimert�Setrz�SequenceZAnyrurqr3rrrr�<module>sj((9		2t

Zerion Mini Shell 1.0