ffpXddlmZmZmZddlmZddlmZmZGddeZ dZ dS) )bordis_bytestobytes) cSHAKE128) _encode_str _right_encodec0eZdZdZdZdZdZdZdZdS) TupleHashz\A Tuple hash object. Do not instantiate directly. Use the :func:`new` function. cZ||_|d|d|_d|_dS)Ns TupleHash) digest_size_new_cshake_digest)selfcustomcshakers z/builddir/build/BUILD/imunify360-venv-2.3.5/opt/imunify360/venv/lib64/python3.11/site-packages/Crypto/Hash/TupleHash128.py__init__zTupleHash.__init__+s,&{{3 ==  r c|jtdt|std|jt t ||S)zAuthenticate the next byte string in the tuple. Args: data (bytes/bytearray/memoryview): The next byte string. Nz6You cannot call 'update' after 'digest' or 'hexdigest'z#You can only call 'update' on bytes)r TypeErrorrrupdaterr)rdatas rrzTupleHash.update2sb < #TUU U~~ CABB B K 66777 r c|jS|jt|jdz|j|j|_|jS)zReturn the **binary** (non-printable) digest of the tuple of byte strings. :return: The hash digest. Binary form. :rtype: byte string N)rrrr rreadrs rdigestzTupleHash.digestCsT <  L   d.>.B C C D D D<,,T-=>>DL|r c~ddt|DS)zReturn the **printable** digest of the tuple of byte strings. :return: The hash digest. Hexadecimal encoded. :rtype: string c2g|]}dt|zS)z%02x)r).0xs r z'TupleHash.hexdigest..Ws#GGGQa(GGGr )jointuplerrs r hexdigestzTupleHash.hexdigestPs5wwGG% 2F2FGGGHHHr c >d|vrd|vr |j|d<tdi|S)zNReturn a new instance of a TupleHash object. See :func:`new`. digest_bytes digest_bits)rnew)rkwargss rr-z TupleHash.newYs6  ' 'M,G,G%)%5F> "}}V}}r N) __name__ __module__ __qualname____doc__rrrr(r-r,r rr r %sl "   IIIr r c |dd}|dd}d||fvrtdd||fkrd}||dkrtdn|dks|dzrtd |dz}|d d }|rtd t|zt |t |S) aCreate a new TupleHash128 object. Args: digest_bytes (integer): Optional. The size of the digest, in bytes. Default is 64. Minimum is 8. digest_bits (integer): Optional and alternative to ``digest_bytes``. The size of the digest, in bits (and in steps of 8). Default is 512. Minimum is 64. custom (bytes): Optional. A customization bytestring (``S`` in SP 800-185). :Return: A :class:`TupleHash` object r*Nr+z*Only one digest parameter must be provided)NN@rz!'digest_bytes' must be at least 8z0'digest_bytes' must be at least 64 in steps of 8rr zUnknown parameters: )popr ValueErrorstrr r)r.r*r+rs rr-r-ds$::nd33L**]D11K L+...DEEE k222  !  @AA A    {Q -.. ."a' ZZ# & &F >.V<=== VY 5 55r N) Crypto.Util.py3compatrrrr!rrr objectr r-r,r rr:s>:99999999911111111<<<<<<<<~&6&6&6&6&6r