�
�S�g� � �b � d Z ddlmZ ddlZddlmZ ej ded�� d
d�Z dd �Z
y)z*
PRNG management routines, thin wrappers.
� )�annotationsN)�libz>OpenSSL.rand is deprecated - you should use os.urandom instead� )�
stacklevelc � � t | t � st d� �t |t � st d� �t j
| t
| � |� y)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`
zbuffer must be a byte stringzentropy must be an integerN)�
isinstance�bytes� TypeError�int�_lib�RAND_add�len)�buffer�entropys �|/build/snapcraft-certbot-29b1212f749eeba2f1dece1adfe9a83a/parts/certbot/install/lib/python3.12/site-packages/OpenSSL/rand.py�addr sD � �" |