o
    àý°jä  ã                   @  sL   d Z ddlmZ ddlZddlmZ ejdedd� ddd„Z	ddd„Z
dS )z*
PRNG management routines, thin wrappers.
é    )ÚannotationsN)Úlibz>OpenSSL.rand is deprecated - you should use os.urandom insteadé   )Ú
stacklevelÚbufferÚbytesÚentropyÚintÚreturnÚNonec                 C  s:   t | tƒs	tdƒ‚t |tƒstdƒ‚t | t| ƒ|¡ dS )aò  
    Mix bytes from *string* into the PRNG state.

    The *entropy* argument is (the lower bound of) an estimate of how much
    randomness is contained in *string*, measured in bytes.

    For more information, see e.g. :rfc:`1750`.

    This function is only relevant if you are forking Python processes and
    need to reseed the CSPRNG after fork.

    :param buffer: Buffer with random data.
    :param entropy: The entropy (in bytes) measurement of the buffer.

    :return: :obj:`None`
    zbuffer must be a byte stringzentropy must be an integerN)Ú
isinstancer   Ú	TypeErrorr	   Ú_libÚRAND_addÚlen)r   r   © r   ú/root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/OpenSSL/rand.pyÚadd   s
   

r   c                   C  s   t  ¡ S )z}
    Check whether the PRNG has been seeded with enough data.

    :return: 1 if the PRNG is seeded enough, 0 otherwise.
    )r   ÚRAND_statusr   r   r   r   Ústatus,   s   r   )r   r   r   r	   r
   r   )r
   r	   )Ú__doc__Ú
__future__r   ÚwarningsÚOpenSSL._utilr   r   ÚwarnÚDeprecationWarningr   r   r   r   r   r   Ú<module>   s    ý
