|- g d Z ddlZddlZddlmZ ddlmZ e Zej Z ej
Z
d ZdZd
dZ
d
dZd
d ZdS ))choice randbelowrandbitsSystemRandomtoken_bytes token_hex
token_urlsafecompare_digest N)r )r c b | dk rt d t | S )Nr
zUpper bound must be positive.)
ValueError_sysrand
_randbelow)exclusive_upper_bounds ./opt/alt/python311/lib64/python3.11/secrets.pyr r s4 2!!89994555 c J | t } t | S N)DEFAULT_ENTROPYr
randbytesnbytess r r r " s' ~ f%%%r c l t j t | d S )Nascii)binasciihexlifyr decoder s r r r 0 s0 K//0077@@@r c t | }t j | d d S )N =r )r base64urlsafe_b64encoderstripr )r toks r r r = sC f
C#C((//55<