ó cõ§]c@sŽddlZddlmZddlmZddlmZddlmZddlm Z m Z m Z m Z m Z mZddlmZddlmZdd lmZdd lmZd gZejed ejƒZd efd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZ defd„ƒYZ!defd„ƒYZ"defd „ƒYZ#d!efd"„ƒYZ$d#efd$„ƒ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"ƒ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(6eƒej=j(6eƒej>j(6eƒej?j(6eƒej@j(6eƒejAj(6ZBieƒej)jC6eƒej*jC6eƒej+jC6eƒej,jC6e ƒej-jC6e!ƒej.jC6eƒej/jC6e"ƒej0jC6e#ƒejDjC6e$ƒej2jC6e#ƒejEjC6e$ƒej1jC6e%ƒej3jC6e&ƒejFjC6eƒej4jC6eƒej5jC6eƒej6jC6eƒej7jC6eƒej8jC6eƒej9jC6eƒej:jC6eƒej;jC6eƒej<jC6eƒej=jC6eƒej>jC6eƒej?jC6eƒej@jC6eƒejAjC6ZGd'efd(„ƒYZHeHeBeGƒZIdS()iÿÿÿÿN(tdebug(terror(teoo(tto_bytes(tint2octtoct2intt ints2octstnulltstr2octst isOctetsType(tchar(ttag(tuniv(tusefultencodetflagstAbstractItemEncodercBsJeZeZdZeeƒZd„Zd„Zd„Z ddd„Z RS(icCsœ|\}}}||B}|r/|tjO}n|dkrF||BfS|d@f}|dL}x)|rˆd|d@Bf|}|dL}q`W|dBf|SdS(Niiii€(R ttagFormatConstructed(tselft singleTagt isConstructedttagClasst tagFormatttagIdt encodedTagt substrate((sC/opt/awscli/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyt encodeTag!s      cCs–| r|jrdS|dkr'|fSd}x%|rT|d@f|}|dL}q0Wt|ƒ}|dkrƒtjd|ƒ‚nd|Bf|SdS(Ni€iÿii~sLength octets overflow (%d)(i€((tsupportIndefLenModetlenRt PyAsn1Error(RtlengthtdefModeRt substrateLen((sC/opt/awscli/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyt encodeLength5s    cKstjdƒ‚dS(NsNot implemented(RR(Rtvaluetasn1Spect encodeFuntoptions((sC/opt/awscli/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyt encodeValueIscKsl|dkr|j}n |j}|sL|j||||\}}}|S|jdtƒ} t}xìt|jƒD]Û\} } | } | sey%|j||||\}}}Wn=tj k rðt j ƒ} tj d|| dfƒ‚nXt rt d|r dp d||fƒn| r@|r@|jdt ƒr@|S|set} t rbt dƒqbqen|j| |ƒ}t r²t d |rdp’d| tjt|ƒƒfƒn||jt|ƒ| ƒ7}t rt d t|ƒtjt|ƒƒfƒn|r/t|ƒ|}| sO||j7}qOqt||}| st||j7}qtqtW|sht|ƒ}n|S( NRsError encoding %r: %sisencoded %svalue %s into %ss constructed tt ifNotEmptys;overridden encoding mode into definitive for primitive typesencoded %stag %s into %ss)encoded %s octets (tag + payload) into %s(tNonettagSetR&tgettTrueRt enumeratet superTagsRRtsystexc_infotLOGtFalseRRthexdumpRR!RteooOctetsSubstrateteooIntegerSubstrate(RR"R#R$R%R*RRtisOctetsRtidxRtdefModeOverridetexctheader((sC/opt/awscli/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyRLs^      & (iiN( t__name__t __module__R,RR5RR4RR!R&R)R(((sC/opt/awscli/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyRs    tEndOfOctetsEncodercBseZd„ZRS(cKs tttfS(N(RR2R,(RR"R#R$R%((sC/opt/awscli/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyR&œs(R;R<R&(((sC/opt/awscli/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyR=›stBooleanEncodercBseZeZd„ZRS(cKs|r dpdttfS(Nii(i(i(R2(RR"R#R$R%((sC/opt/awscli/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyR&£s(R;R<R2RR&(((sC/opt/awscli/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyR> stIntegerEncodercBseZeZeZd„ZRS(cKsw|dkrXtr2td|jr'dp*dƒn|jrHdttfSdttfSntt|ƒdtƒttfS(Nis#encoding %spayload for zero INTEGERsno R'tsigned((i(R1tsupportCompactZeroR2RtintR,(RR"R#R$R%((sC/opt/awscli/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyR&«s   (R;R<R2RRAR&(((sC/opt/awscli/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyR?§stBitStringEncodercBseZd„ZRS(c Ksq|dk r|j|ƒ}nt|ƒ}|drI|d|d>}n|}|jddƒ}| s~t|ƒ|dkr¯|jƒ}tt|ƒd|ƒ|ttfStrÆtd|ƒn|j j } | rít j | | ƒ} n t j ƒ} |jd| ƒ}d} t }xJ| |krc| } t| |d|ƒ} |||| | !||7}qW|ttfS(Nit maxChunkSizeis#encoding into up to %s-octet chunksR*(R)tcloneRR+tasOctetsRR2R,R1R*tbaseTagR tTagSetRtmin( RR"R#R$R%t valueLengtht alignedValueRDRRGR*tstoptstart((sC/opt/awscli/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyR&¼s0    %  !(R;R<R&(((sC/opt/awscli/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyRC»stOctetStringEncodercBseZd„ZRS(c Ks|dkr|jƒ}n*t|ƒs?|j|ƒjƒ}n|}|jddƒ}| spt|ƒ|kr}|ttfStr”td|ƒn|dkrè|j j }|rÇt j ||ƒ}n t j ƒ}|jd|ƒ}nTt|ƒs<|j j }|rt j ||ƒ}n t j ƒ}|jd|ƒ}nd} t }xEtr|| | |!} | slPn||| ||7}| |7} qKW|ttfS(NRDis#encoding into up to %s-octet chunksR*(R)RFR RER+RR2R,R1R*RGR RHR( RR"R#R$R%RRDRGR*tpostchunk((sC/opt/awscli/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyR&æs>          (R;R<R&(((sC/opt/awscli/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyRNäst NullEncodercBseZeZd„ZRS(cKs tttfS(N(RR2R,(RR"R#R$R%((sC/opt/awscli/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyR&$s(R;R<R2RR&(((sC/opt/awscli/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyRQ!stObjectIdentifierEncodercBseZeZd„ZRS(c Ks|dk r|j|ƒ}n|jƒ}y|d}|d}Wn'tk rktjd|fƒ‚nXd|koƒdknr |dkr¬|df|d}qC|dkrÌ|f|d}qC|dkrð|df|d}qCtjd|fƒ‚n:|dkr-|df|d}ntjd|fƒ‚d }x¯|D]§} d| komd knr‚|| f7}qP| d krÞ| d @f} | d L} x)| rÐd | d @Bf| } | d L} q¨W|| 7}qPtjd | |fƒ‚qPW|ttfS(Niis Short OID %si'i(iiPs"Impossible first/second arcs at %siii€sNegative OID arc %s at %s((R)REtasTuplet IndexErrorRRR2( RR"R#R$R%toidtfirsttsecondtoctetstsubOidtres((sC/opt/awscli/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyR&+s@              (R;R<R2RR&(((sC/opt/awscli/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyRR(st RealEncodercBs5eZdZdZed„ƒZd„Zd„ZRS(iicCsd \}}|dkr!d}n|dkr6d}n||9}|dkr|dt|ƒd|9}t|ƒd|}n?|dkr¾|dt|ƒd|9}t|ƒd|}nx7tr÷t|ƒ|kró||9}|d8}qÁnPqÁW|t|ƒ||fS( Niiiÿÿÿÿiiiii(ii(tabsR,RB(tmtencbasetetmstes((sC/opt/awscli/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyt_dropFloatingPointgs&           c Cs|\}}}dddg}|j|krC|j||j|ƒS|j|krh|j||j|ƒS|||g}|||g}d}d} tdƒ}x¼tdƒD]®} |j|| || || ƒ\}|| <|| <|| O}t} |dks1|dkrDt |d@ƒ} n¤x.|dkrtt |d@ƒ| } |d L}qGW|dkr®| r®t | dƒd @r®t dƒ| } n|dkrè| rèt | dƒd @ rèt dƒ| } nt| ƒ} | dkrt j dƒ‚n| d kr!nP| d kr:|d O}n7| dkrS|d O}n|dO}t | d@ƒ| } t}x(|r¡t |d@ƒ|}|d L}qzWt |ƒ| |}|ttfSt j d|ƒ‚dS(Ni@iAi s!encoding REAL into character forms%dE%s%dit+R'ii€iiiiiiii sScale factor overflowiÿÿÿÿiÿsReal exponent overflowsProhibited Real base %s(i@(iA(iiÿÿÿÿ(R)REt isPlusInfR2t isMinusInfRR,R1RRmRRRRR(RR"R#R$R%R]RgR_tfoR`R^tsfteotntpoR((sC/opt/awscli/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyR&¤s„        2            &'          (R;R<RRdt staticmethodRbRmR&(((sC/opt/awscli/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyR[cs  !tSequenceEncodercBseZeZd„ZRS(c KsÒt}|jd|jƒ}tr>td|r3dp6dƒn|dkr|j}|rb|‚n|j}xWt|jƒƒD]~\} } |r$|| } | j rÍ| j rÍtr~td| fƒq~q~n| j r| | j krtr~td| fƒq~q~n|r$|j d| j ƒq$n|ræ| jræ| j } | jtjjtjjfkr…||| |t|d| jƒ7}qü|| ||} | j| ƒr³|| 7}qü||| | |7}trütd | fƒqüq~||| ||7}q~WnÂx¿t|jjƒD]«\} } y|| j} Wn-tk rbtjd | j|fƒ‚nX| j r›| j|kr›trtd| fƒqqn| j rÓ| | j krÓtrtd| fƒqqn|rï|j d| j ƒn| j }| jr«|jtjjtjjfkrJ||| |t|d|jƒ7}qÁ|| ||} |j| ƒrx|| 7}qÁ||| ||7}trÁtd |fƒqÁq||| ||7}qW|ttfS( NtomitEmptyOptionalss$%sencoding empty OPTIONAL componentssnot R's"not encoding OPTIONAL component %rs!not encoding DEFAULT component %rR(twrapTypeswrapped with wrap type %rs#Component name "%s" not found in %r(RR+RxR1R)tisInconsistentt componentTypeR-tvaluest isOptionaltisValuet isDefaultedt asn1ObjecttupdatetopenTypettypeIdR tSetOft SequenceOftdicttisSameTypeWitht namedTypestnametKeyErrorRRR,(RR"R#R$R%RRxt inconsistencyRˆR7t componentt namedTypeRyRPt componentSpec((sC/opt/awscli/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyR&sŠ            (R;R<R2RxR&(((sC/opt/awscli/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyRw stSequenceOfEncodercBseZd„Zd„ZRS(c KsÓ|dkr'|j}|r0|‚q0n |j}g}|jddƒ}x„t|ƒD]v\}} || ||} |dk r¾|j| ƒ r¾|| ||} tr¾td|fƒq¾n|j| ƒqUW|S(NRyswrapped with wrap type %r(R)RzR{tpopR-R‡R1tappend( RR"R#R$R%R‹tchunksRyR7RŒRP((sC/opt/awscli/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyt_encodeComponents…s      cKs.|j||||}tj|ƒttfS(N(R“RtjoinR,(RR"R#R$R%R’((sC/opt/awscli/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyR&¢s(R;R<R“R&(((sC/opt/awscli/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyR„s t ChoiceEncodercBseZd„ZRS(c KsÃ|dkr|jƒ}ng|jjD]}|j|kr(|j^q(}t|ƒdkrŒtjdt|ƒrydp|d|fƒ‚n|d}||}||}||||ttfS(Nis%s components for Choice at %rs Multiple sNone i( R)t getComponentR{RˆR‰RRRR,( RR"R#R$R%RŒRtnamesR‰((sC/opt/awscli/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyR&ªs .   (R;R<R&(((sC/opt/awscli/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyR•©st AnyEncodercBseZd„ZRS(cKsY|dkr|jƒ}n$t|ƒs?|j|ƒjƒ}n||jdtƒ tfS(NR(R)RFR RER+R,(RR"R#R$R%((sC/opt/awscli/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyR&¼s   (R;R<R&(((sC/opt/awscli/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyR˜»stEncodercBs,eZdZdZid„Zdd„ZRS(cCs||_||_dS(N(t_Encoder__tagMapt_Encoder__typeMap(RttagMapttypeMap((sC/opt/awscli/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyt__init__s c Ks,y%|dkr|j}n |j}Wn'tk rNtjd|fƒ‚nXtrµtd|jdtƒ rtdpwd|jddƒ|dkrž|jƒp§|jƒ|fƒn|j dk rÚ|j d|j ƒn|j dk rÿ|j d|j ƒny4|j |}tr2td|j j|fƒnWn«tk rà|dkr[|j}n |j}tj|j|jƒ}y|j|}Wn*tk r¹tjd ||fƒ‚nXtrátd |j j|fƒqánX|j||||}tr(td |t|ƒtj|ƒfƒn|S( Ns<Value %r is not ASN.1 type instance and "asn1Spec" not givensBencoder called in %sdef mode, chunk size %s for type %s, value: %sRtinR'RDis)using value codec %s chosen by type ID %ssNo encoder for %r (%s)s(using value codec %s chosen by tagSet %ss;codec %s built %s octets of substrate: %s encoder completed(R)RƒtAttributeErrorRRR1R+R,tprettyPrintTypetfixedDefLengthModeRtfixedChunkSizeR›t __class__R;RŠR*R RHRGRšRRRR3( RR"R#R%RƒtconcreteEncoderR*t baseTagSetR((sC/opt/awscli/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyt__call__sB     Z !     !)N(R;R<R)R¢R£RžR§(((sC/opt/awscli/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyR™ s (JR/tpyasn1RRtpyasn1.codec.berRtpyasn1.compat.integerRtpyasn1.compat.octetsRRRRRR t pyasn1.typeR R R R t__all__tregisterLoggeeR;t DEBUG_ENCODERR1tobjectRR=R>R?RCRNRQRRR[RwRR•R˜t endOfOctetsR*tBooleantIntegert BitStringt OctetStringtNulltObjectIdentifiert EnumeratedtRealR…R„tChoicet UTF8Stringt NumericStringtPrintableStringt TeletexStringtVideotexStringt IA5Stringt GraphicStringt VisibleStringt GeneralStringtUniversalStringt BMPStringtObjectDescriptortGeneralizedTimetUTCTimeRœRƒtSettSequencetAnyRR™R(((sC/opt/awscli/lib/python2.7/site-packages/pyasn1/codec/ber/encoder.pyts¤ . ‚)=;§z% q