B
    à%Q[¬  ã            	   @   sÈ   d dl Z yd dlZe ¡ ZW n eefk
r8   dZY nX d dlmZmZm	Z	 e j
d d… dk shedkr¨d dlmZmZ e j
d  dkrŠeZddd	„Zdd
d„Zdd„ Znddd	„Zddd„Zdd„ ZdS )é    NÚCPython)Úoct2intÚnullÚensureStringé   )é   r   )Úa2b_hexÚb2a_hexFc             C   sF   | sdS t tt| ƒƒdƒ}|rBt| d ƒd@ rB|dt| ƒd >  S |S )Nr   é   é€   é   é   )Úlongr	   r   r   Úlen)ÚoctetsÚsignedÚvalue© r   úYC:\Users\HIRONO~1\AppData\Local\Temp\pip-install-6i93dh7p\pyasn1\pyasn1\compat\integer.pyÚ
from_bytes   s    r   c             C   s>  | dk r4|r*t | ƒ}d|> }| | | }qPtdƒ‚n| dkrH|dkrHtS d}| }t|ƒdd … }| d¡rv|d d… }t|ƒd@ rŠd| }| |ks–|rêt|ƒd }t||ƒ}||krÒd	|| d d
 d  | }n|rê|| dkrêtdƒ‚t|d d… dƒ}	|�r2|	d@ �r | dk�r2d	| }n| dk �r2d| }t|ƒ}
|
S )Nr   r   z&can't convert negative int to unsignedr   ÚLéÿÿÿÿÚ0é   Z00r   é   zint too big to convertr
   r   Úff)	Ú	bitLengthÚOverflowErrorr   ÚhexÚendswithr   ÚmaxÚintr   )r   r   ÚlengthÚbitsZmaxValueZvalueToEncodeÚhexValueZ	hexLengthZ	padLengthZ
firstOctetZoctets_valuer   r   r   Úto_bytes$   s>    






r%   c             C   sF   t t| ƒƒ}t|ƒd }| d¡r*|d8 }|d@ r:|d7 }|d9 }|S )Nr   r   r   r   )r   Úabsr   r   )Únumberr$   r#   r   r   r   r   T   s    
r   c             C   s   t jt| ƒd|d�S )NÚbig)r   )r!   r   Úbytes)r   r   r   r   r   r   b   s    c             C   sJ   t |  ¡ |ƒ}|r&|d dkr&|d7 }| j|d |d r<dp>d d|d�S )Nr   r   r   r(   )r   )r    Ú
bit_lengthr%   )r   r   r"   r   r   r   r%   e   s    c             C   s   t | ƒ ¡ S )N)r!   r*   )r'   r   r   r   r   m   s    )F)Fr   )F)Fr   )ÚsysÚplatformÚpython_implementationÚimplementationÚImportErrorÚAttributeErrorZpyasn1.compat.octetsr   r   r   Úversion_infoÚbinasciir   r	   r!   r   r   r%   r   r   r   r   r   Ú<module>   s    


0


