Viewing File: /usr/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyo

ó
Ñ<Uc@søddlmZmZmZmZmZddlmZddlm	Z	m
Z
mZmZm
Z
ddlmZmZdefd„ƒYZdd&d„ƒYZd	efd
„ƒYZdefd„ƒYZeƒZd
efd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZdefd „ƒYZ d!efd"„ƒYZ!ieƒej"j#6eƒej$j#6eƒej%j#6eƒej&j#6eƒej'j#6eƒej(j#6eƒej)j#6eƒej*j#6eƒej+j#6eƒej,j#6eƒej-j#6e ƒej.j#6eƒej/j#6eƒej0j#6eƒej1j#6eƒej2j#6eƒej3j#6eƒej4j#6eƒej5j#6eƒej6j#6eƒej7j#6eƒej8j#6eƒej9j#6eƒej:j#6eƒej;j#6eƒej<j#6Z=ieƒej>j?6eƒej-j?6eƒej@j?6eƒej,j?6e ƒej.j?6e!ƒejAj?6ZBd#d'd$„ƒYZCeCe=eBƒZDd%S((iÿÿÿÿ(tbasettagtunivtchartuseful(teoo(tint2octtoct2intt	ints2octstnulltstr2octs(tdebugterrortErrorcBseZRS((t__name__t
__module__(((s</usr/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyR
stAbstractItemEncodercBs;eZdZd„Zd„Zd„Zd„Zd„ZRS(icCs®|jƒ\}}}||B}|r5|tjB}n|dkrOt||BƒSt|d@ƒ}|d?}x,|r—td|d@Bƒ|}|d?}qlWt|dBƒ|SdS(Niiii€(tasTupleRttagFormatConstructedR(tselfttt
isConstructedttagClasst	tagFormatttagIdtvts((s</usr/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyt	encodeTags

	cCs¢|r|jrtdƒS|dkr0t|ƒSt}x(|r`t|d@ƒ|}|d?}q9Wt|ƒ}|dkrŒtd|ƒ‚ntd|Bƒ|SdS(Ni€iÿii~sLength octets overflow (%d)(tsupportIndefLenModeRR	tlenR
(RtlengthtdefModet	substratetsubstrateLen((s</usr/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pytencodeLengths

	cCstdƒ‚dS(NsNot implemented(R
(Rt	encodeFuntvalueRtmaxChunkSize((s</usr/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pytencodeValue)scCs(|s|jrtS|tj|ƒSdS(N(RR	RtendOfOctets(RR#R((s</usr/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyt_encodeEndOfOctets,scCs…|j||||ƒ\}}|jƒ}|r}|s?d}n|j|d|ƒ|jt|ƒ|ƒ||j||ƒS|SdS(Niiÿÿÿÿ(R&t	getTagSetRR"RR((RR#R$RR%R RttagSet((s</usr/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pytencode2s	>(RRRRR"R&R(R+(((s</usr/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyR	s				tEndOfOctetsEncodercBseZd„ZRS(cCs
tdfS(Ni(R	(RR#R$RR%((s</usr/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyR&Cs(RRR&(((s</usr/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyR,BstExplicitlyTaggedItemEncodercBseZd„ZRS(cCsit|tjƒr7|jd|jƒd ddƒ}n|jd|jƒd ƒ}||||ƒdfS(NR*iÿÿÿÿtcloneValueFlagi(t
isinstanceRtAbstractConstructedAsn1ItemtcloneR)(RR#R$RR%((s</usr/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyR&Gs
(RRR&(((s</usr/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyR-FstBooleanEncodercBs/eZdZedƒZedƒZd„ZRS(iicCs|r|jp|jdfS(Ni(t_truet_false(RR#R$RR%((s</usr/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyR&Us(i(i(RRRRR3R4R&(((s</usr/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyR2QstIntegerEncodercBseZdZeZd„ZRS(icCs)|dkr2|jrtdfStdƒdfSng}t|ƒ}x=|jd|d@ƒ|dkss|dkrwPn|d?}qG|dkr±|dd@r±|jddƒnxet|ƒdkr|ddkrê|dd@dks|ddkr|dd@dkr|d=q´Wt|ƒdfS(Niiÿiÿÿÿÿii€i(i(tsupportCompactZeroR	RtinttinsertR(RR#R$RR%toctets((s</usr/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyR&[s$	

$$(RRRtFalseR6R&(((s</usr/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyR5XstBitStringEncodercBseZd„ZRS(c
Cs,|st|ƒ|dkr¼t|ƒdd}|dg}d}d}xQ|D]I}	|d7}|dkr€|d7}d}n|||	d|>B||<qQWtd|ƒt|ƒdfSd}
t}xS|j||
d|
d|d!ƒ}|sûPn|||||ƒ}|
|}
qË|dfSdS(Niiiiÿÿÿÿi(RRRR	R1(
RR#R$RR%tout_lentout_listtjtitvaltposR R((s</usr/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyR&ss*



	&
(RRR&(((s</usr/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyR;rstOctetStringEncodercBseZd„ZRS(cCs|st|ƒ|kr)|jƒdfSd}t}xG|j||||!ƒ}|s\Pn|||||ƒ}||}q8|dfSdS(Nii(RtasOctetsR	R1(RR#R$RR%RAR R((s</usr/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyR&Œs
(RRR&(((s</usr/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyRB‹stNullEncodercBseZdZd„ZRS(icCs
tdfS(Ni(R	(RR#R$RR%((s</usr/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyR&›s(RRRR&(((s</usr/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyRD™stObjectIdentifierEncodercBs+eZdZidd	6d
d6Zd„ZRS(ii+iiiiic	
Cs|jƒ}|d |jkr=|j|d }|d}nt|ƒdkrhtjd|fƒ‚nd}|ddkr¶d|dko™dknr¶|df|d}n•|ddkrd|dkoádknr|ddf|d}nI|ddkr.|ddf|d}ntjd	|d |fƒ‚xµ|D]­}|d
kr„|dkr„||d@f}qR|dkr¬tjd
||fƒ‚qR|d@f}|d?}x/|dkrôd|d@Bf|}|d?}qÆW||7}qRWt|ƒdfS(NiisShort OID %siii'i(iPs Impossible initial arcs %s at %siÿÿÿÿi€isNegative OID arc %s at %si((RtprecomputedValuesRRtPyAsn1ErrorR(	RR#R$RR%toidR9tsubIdtres((s</usr/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyR&¤s8
00


(i+iii(iiiii(i+iii(iiiii(RRRRFR&(((s</usr/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyREžs

tRealEncodercBs/eZdZdZd„Zd„Zd„ZRS(iicCsd	\}}|dkr!d}n|dkr6d}n||9}|dkr|dt|ƒd|}t|ƒd|}n?|dkr¾|dt|ƒd|}t|ƒd|}nx0t|ƒ|krí||9}|d8}qÁnPqÁ|t|ƒ||fS(
Niiiÿÿÿÿiiiii(ii(tabsR7(Rtmtencbasetetmstes((s</usr/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyt_dropFloatingPointÓs&		


cCsg|\}}}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¥q¥W|
|||fS(Niiitinfi(t
binEncBaseRRtfloattrangeRLR7(RR$RMtbRORtmantissat	exponentaRNR?tsign((s</usr/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyt_chooseEncBaseés$9,
cCs¬|jƒrtdƒdfS|jƒr8tdƒdfS|\}}}|sWtdfS|dkr’td||dkr~dpd|fƒdfS|dkr•d	}|j|ƒ\}	}}
}|	dkrØ|dB}n|
dkrx¤|d
@dkr|d
L}|d
7}qçWny|
dkrVx(|d@dkrH|d
L}|d
7}q!W|dO}n5x(|d@dkr€|dL}|d
7}qYW|dO}d}x(|d
@dkr»|d
L}|d
7}q”W|d
krÚtjdƒ‚n||d>O}t}|dks|dkrt|d@ƒ}n¤x.|dkrIt|d@ƒ|}|dL}qW|dkrƒ|rƒt|dƒd	@rƒtdƒ|}n|dkr½|r½t|dƒd	@r½tdƒ|}nt	|ƒ}
|
dkrçtjdƒ‚n|
d
krönP|
dkr|d
O}n7|
d
kr(|dO}n|d
O}t|
d@ƒ|}t}x(|rvt|d@ƒ|}|dL}qOWt|ƒ||}|dfStjd|ƒ‚dS(Ni@iiAi
s%dE%s%dt+tii€iiiiiiii sScale factor overflowiÿÿÿÿiÿsReal exponent overflowsProhibited Real base %s(iiÿÿÿÿ(
tisPlusInfinityRtisMinusInfinityR	R
R[RRGRR(RR#R$RR%RMRWROtfoRPRNtsfteotntpoR ((s</usr/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyR&ÿs|
/






&'


	
(RRRRTRRR[R&(((s</usr/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyRKÐs
		tSequenceEncodercBseZd„ZRS(cCs®|jƒ|jƒt}t|ƒ}x{|dkr£|d}||dkrUq)n|j|ƒ}|dk	r†|||kr†q)n|||||ƒ|}q)W|dfS(Nii(tsetDefaultComponentstverifySizeSpecR	RtNonetgetDefaultComponentByPosition(RR#R$RR%R tidxt	component((s</usr/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyR&Es


(RRR&(((s</usr/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyReDstSequenceOfEncodercBseZd„ZRS(cCs]|jƒt}t|ƒ}x4|dkrR|d}|||||ƒ|}qW|dfS(Nii(RgR	R(RR#R$RR%R Rj((s</usr/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyR&Vs

(RRR&(((s</usr/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyRlUst
ChoiceEncodercBseZd„ZRS(cCs||jƒ||ƒdfS(Ni(tgetComponent(RR#R$RR%((s</usr/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyR&as(RRR&(((s</usr/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyRm`st
AnyEncodercBseZd„ZRS(cCs|jƒ|dkfS(Ni(RC(RR#R$RR%((s</usr/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyR&es(RRR&(((s</usr/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyRodstEncodercBs)eZeZid„Zedd„ZRS(cCs||_||_dS(N(t_Encoder__tagMapt_Encoder__typeMap(RttagMapttypeMap((s</usr/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyt__init__”s	icCs|r#|jr#tjdƒ‚ntjtj@ohtjd|rIdpLd||jƒ|jƒfƒ|jƒ}t	|ƒdkrt
}nŽ|jdk	rÄ|j|j
krÄ|j
|j}nZ||jkrã|j|}n;|j}||jkr|j|}ntd|fƒ‚tjtj@oJtjd|jj|fƒ|j||||ƒ}tjtj@o˜tjdt	|ƒtj|ƒfƒ|S(	Ns6Indefinite length encoding not supported by this codecsBencoder called in %sdef mode, chunk size %s for type %s, value:
%stinR]isNo encoder for %ss!using value codec %s chosen by %ss2built %s octets of substrate: %s
encoder completed(tsupportIndefLengthRRGRtloggertflagEncodertprettyPrintTypetprettyPrintR)RtexplicitlyTaggedItemEncoderttypeIdRhRrRqt
baseTagSetR
t	__class__RR+thexdump(RR$RR%R*tconcreteEncoderR ((s</usr/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyt__call__˜s&F	!	-6(RRtTrueRwRuR‚(((s</usr/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyRp’sN(((Etpyasn1.typeRRRRRtpyasn1.codec.berRtpyasn1.compat.octetsRRRR	R
tpyasn1RRt	ExceptionR
RR,R-R|R2R5R;RBRDRERKReRlRmRoR'R*tBooleantIntegert	BitStringtOctetStringtNulltObjectIdentifiert
EnumeratedtRealt
SequenceOftSetOftChoicet
UTF8Stringt
NumericStringtPrintableStringt
TeletexStringtVideotexStringt	IA5Stringt
GraphicStringt
VisibleStringt
GeneralStringtUniversalStringt	BMPStringtObjectDescriptortGeneralizedTimetUTCTimeRstSetR}tSequencetAnyRtRpR+(((s</usr/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyt<module>sn((9		2t
Back to Directory File Manager