{^L!HddlmZddlmZddlmZmZddlmZ dZ dZ dZ dZ d Zd Zd Zeez Ze e zZGd d ZdS)) annotations)Random) randbelow token_bytes)maxsizes>0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz> l%N).]!iMc2eZdZdZd dZd dZd dZd dZd S) NUIDz{ NUID is an implementation of the approach for fast generation of unique identifiers used for inboxes in NATS. returnNonecTttt|_|jdt |_t|jtdztz|_ t|_ | dS)Nr)rrMaxInt_prandrandintMAX_SEQ_seqMIN_INCBASEINC_inc bytearray_prefixrandomize_prefixselfs i/builddir/build/BUILD/imunify360-venv-2.6.2/opt/imunify360/venv/lib/python3.11/site-packages/nats/nuid.py__init__z NUID.__init__&swYv..// K''733 dk11$(C@@@  {{  rc|xj|jz c_|jtkr(|||j}|jdd}t t}tttD]1}tt|tz||<|tz}2| ||S)z: next returns the next unique identifier. N)rrrrreset_sequentialrr SEQ_LENGTHreversedrangeDIGITSintrextend)rlprefixsuffixis r nextz NUID.next-s TY 9    ! ! # # #  ! ! # # # Iaaa:&&% ++,,  As1vv}-F1I $JAA f r"cjtt}td|D|_dS)Nc3@K|]}t|tzVdS)N)r(r).0cs r z(NUID.randomize_prefix..Bs+ H HaD!1 H H H H H Hr")r PREFIX_LENGTHrr)r random_bytess r rzNUID.randomize_prefix@s1"=11  H H< H H HHH r"c|jdt|_t|jdt z|_dS)Nr)rrrrrrrrs r r$zNUID.reset_sequentialDs=K''733 dk11!S999 r"N)rr)rr)__name__ __module__ __qualname____doc__r!r/rr$r"r r r sr     &IIII::::::r"r N) __future__rrandomrsecretsrrsysrrr(rr5r%rrMAX_INCr TOTAL_LENGTHr r<r"r rCs#"""""********!!!!!! J      z) &:&:&:&:&:&:&:&:&:&:r"