o
    6h                     @   s,  zd dl ZW n ey   d dlZY nw d dlZz
d dlmZ dZW n eyA   z
d dlmZ dZW n ey>   dZY nw Y nw ddlm	Z	 ddl
mZmZ g dZejd	ed
d ZG dd dejZejjedkdddd Zg dZejdedd Zg dZejdedd ZdS )    N)mpzTF   )	shake_256)bytes_to_intint_to_bytes))    bigr   )r   little   )    r   r   )    r	   r   zbytes_in,endian,int_outc                 C   s   t | |}||ksJ d S N)r   )bytes_inendianint_outout r   c/var/www/html/construction_image-detection-poc/venv/lib/python3.10/site-packages/ecdsa/test_sha3.pytest_bytes_to_int   s   
r   c                   @   s   e Zd Zdd Zdd ZdS )TestBytesToIntc                 C   s:   |  t tdd W d    d S 1 sw   Y  d S )Nr   middle)assertRaises
ValueErrorr   selfr   r   r   test_bytes_to_int_wrong_endian%   s   "z-TestBytesToInt.test_bytes_to_int_wrong_endianc                 C   s<   |  t tddd W d    d S 1 sw   Y  d S )Nr   r   )	byteorder)r   r   r   r   r   r   r   test_int_to_bytes_wrong_endian)   s   "z-TestBytesToInt.test_int_to_bytes_wrong_endianN)__name__
__module____qualname__r   r   r   r   r   r   r   $   s    r   zrequires gmpy or gmpy2)reasonc                   C   s   t tddks
J d S )Nr      )r   r   r   r   r   r   test_int_to_bytes_with_gmpy.   s   r#   ))r   Nr   r   )r   r   r   r   )r   Nr   r"   )r
   Nr	   r   )r
      r	   s      )r   r$   r   s      zint_in,length,endian,bytes_outc                 C   s   t | ||}||ksJ d S r   )r   )int_inlengthr   	bytes_outr   r   r   r   test_int_to_bytes=   s   r(   ))s   Message.    s    x73rO9CNrv.4L%O,:)r   r)   s    F+#;?t>$?Rb'dnv/)   messager)   s    ص-CnQZd&f
FQu)r*      s   ص-CnQ)r*   @   s@   ص-CnQZd&f
FQu0ֺ*Feb%&>e:Fl})s   AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAr)   s    ~03d Z03PAzmsg,olen,ohashc                 C   s   t | |}|t|ksJ d S r   )r   	bytearray)msgolenohashr   r   r   r   test_shake_256l   s   
r1   )	unittest2unittestImportErrorpytestgmpy2r   GMPYgmpy_sha3r   _compatr   r   B2I_VECTORSmarkparametrizer   TestCaser   skipifr#   I2B_VECTORSr(   SHAKE_256_VECTORSr1   r   r   r   r   <module>   s@    




)