
    ,hZ                     .    d dl mZ ddlmZ ddlmZ d Zy)    )is_bytes   )	KMAC_Hash)	cSHAKE256c            	      l   | j                  dd      }t        |      st        d      t        |      dk  rt	        d      | j                  dd      }| j                  dd      }|d	k  rt	        d
      | j                  dd      }| rt        dt        |       z         t        ||||dt        d      S )a  Create a new KMAC256 object.

    Args:
        key (bytes/bytearray/memoryview):
            The key to use to compute the MAC.
            It must be at least 256 bits long (32 bytes).
        data (bytes/bytearray/memoryview):
            Optional. The very first chunk of the message to authenticate.
            It is equivalent to an early call to :meth:`KMAC_Hash.update`.
        mac_len (integer):
            Optional. The size of the authentication tag, in bytes.
            Default is 64. Minimum is 8.
        custom (bytes/bytearray/memoryview):
            Optional. A customization byte string (``S`` in SP 800-185).

    Returns:
        A :class:`KMAC_Hash` hash object
    keyNzYou must pass a key to KMAC256    z1The key must be at least 256 bits long (32 bytes)datamac_len@      z!'mac_len' must be 8 bytes or morecustom    zUnknown parameters: 20   )popr   	TypeErrorlen
ValueErrorstrr   r   )kwargsr   r
   r   r   s        U/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/Crypto/Hash/KMAC256.pynewr   %   s    ( **UD
!CC=899
3x"}LMM::fd#DjjB'G{<==ZZ#&F.V<==T3y#FFr   N)Crypto.Util.py3compatr   KMAC128r    r   r    r   r   <module>r      s   > +  %Gr   