� !A?h����dZgd�ZddlZddlZddlmZddlmZe��Zej Z ej Z d�Z dZ d d�Zd d �Zd d �ZdS) z�Generate cryptographically strong pseudo-random numbers suitable for managing secrets such as account authentication, tokens, and similar. See PEP 506 for more information. https://peps.python.org/pep-0506/ )�choice� randbelow�randbits� SystemRandom� token_bytes� token_hex� token_urlsafe�compare_digest�N)r )rc�`�|dkrtd���t�|��S)z(Return a random int in the range [0, n).r zUpper bound must be positive.)� ValueError�_sysrand� _randbelow)�exclusive_upper_bounds �4/opt/alt/python-internal/lib64/python3.11/secrets.pyrrs1����!�!��8�9�9�9� � � �4� 5� 5�5�� c�H�|�t}t�|��S)z�Return a random byte string containing *nbytes* bytes. If *nbytes* is ``None`` or not supplied, a reasonable default is used. >>> token_bytes(16) #doctest:+SKIP b'\xebr\x17D*t\xae\xd4\xe3S\xb6\xe2\xebP1\x8b' )�DEFAULT_ENTROPYr � randbytes��nbytess rrr"s"���~� �� � � �f� %� %�%rc�j�tjt|�����d��S)a"Return a random text string, in hexadecimal. The string has *nbytes* random bytes, each byte converted to two hex digits. If *nbytes* is ``None`` or not supplied, a reasonable default is used. >>> token_hex(16) #doctest:+SKIP 'f9bf78b9a18ce6d46a0cd2b0b86df9da' �ascii)�binascii�hexlifyr�decoders rrr0s+�� � �K��/�/� 0� 0� 7� 7�� @� @�@rc��t|��}tj|���d���d��S)z�Return a random URL-safe text string, in Base64 encoding. The string has *nbytes* random bytes. If *nbytes* is ``None`` or not supplied, a reasonable default is used. >>> token_urlsafe(16) #doctest:+SKIP 'Drmhze6EPcv0fN_81Bj-nA' �=r)r�base64�urlsafe_b64encode�rstripr)r�toks rrr=s>�� �f� � �C� � #�C� (� (� /� /�� 5� 5� <� <�W� E� E�Er)N)�__doc__�__all__rr�hmacr �randomrr � getrandbitsrrrrrrr�rr�r)s����� � � �� � � � ����������������� �<�>�>�� � �� ���6�6�6� �� &� &� &� &� A� A� A� A� F� F� F� F� F� Fr