@,bi/SQrSSKrSSKJr SSKJr \"5r\Rr\Rr Sr Sr S Sjr S Sjr S S jrg) )choice randbelowrandbits SystemRandom token_bytes token_hex token_urlsafecompare_digestN)r )rcNUS::a [S5e[RU5$)Nr zUpper bound must be positive.) ValueError_sysrand _randbelow)exclusive_upper_bounds ./opt/alt/python313/lib64/python3.13/secrets.pyrrs(!899   4 55 c>Uc[n[RU5$N)DEFAULT_ENTROPYr randbytesnbytess rrr!s~    f %%rc4[U5R5$r)rhexrs rrr/s v  " " $$rc[U5n[R"U5RS5R S5$)N=ascii)rbase64urlsafe_b64encoderstripdecode)rtoks rrr<s5 f C  # #C ( / / 5 < r(sN   >    6  & % Fr