o c] @sddlZz ddlZeZWn eefydZYnwddlmZmZm Z ej dddks3edkrTddl m Z m Z ej ddkrDeZddd Zdd d Zd d ZdSddd Zddd Zdd ZdS)NCPython)oct2intnull ensureString)r)a2b_hexb2a_hexFcCsF|sdSttt|d}|r!t|dd@r!|dt|d>S|S)Nr)longr rrlen)octetssignedvaluer7/usr/lib/python3/dist-packages/pyasn1/compat/integer.py from_bytess rc Cs4|dkr|rt|}d|>}|||}ntd|dkr#|dkr#tSd}|}t|dd}|dr:|dd}t|d@rDd|}||ksJ|rtt|d}t||}||krhd ||dd d|}n |rt||d krttd t|ddd } |r| d@r|dkrd |}n|dkrd|}t|} | S)Nrr z&can't convert negative int to unsignedrL000r zint too big to convertr r ff) bitLength OverflowErrorrhexendswithrmaxintr) rrlengthbitsmaxValue valueToEncodehexValue hexLength padLength firstOctet octets_valuerrrto_bytes$s@      r,cCsFtt|}t|d}|dr|d8}|d@r|d7}|d9}|S)Nrrr r)rabsrr )numberr'r$rrrrTs   rcCstjt|d|dS)Nbigr)r"rbytes)rrrrrrbscCsJt||}|r|ddkr|d7}|j|d|drdpdd|dS)Nr rr r/r0)r! bit_lengthr,)rrr#rrrr,es$cCs t|S)N)r"r2)r.rrrrms )F)Fr)sysplatformpython_implementationimplementation ImportErrorAttributeErrorpyasn1.compat.octetsrrr version_infobinasciirr r"rrr,rrrrrs$   0