
    *pj:
                    Z    S SK Jr  S SKJr  SSKJr  \(       a  S SKJrJr   " S S5      r	g)	    )annotations)TYPE_CHECKING   )crc32c)BufferSelfc                      \ rS rSrSr\SS j5       r\SS j5       r\SS j5       r\SS j5       r	SSS jjr
SS jrSS	 jrSS
 jrSS jrSrg)
CRC32CHash   zQWrapper class for crc32c. Tries to conform to the interface of `hashlib` classes.c                    g)z*
The size of the resulting hash in bytes.
    selfs    M/var/www/html/pdf-tiff/venv/lib/python3.13/site-packages/crc32c/_crc32hash.pydigest_sizeCRC32CHash.digest_size       
     c                    g)z9
The internal block size of the hash algorithm in bytes.
r   r   r   s    r   
block_sizeCRC32CHash.block_size   r   r   c                    g)z"
The canonical name of this hash,
r   r   r   s    r   nameCRC32CHash.name   s    
 r   c                    U R                   $ )zD
The checksum calculated so far. Not part of the hashlib interface.
)	_checksumr   s    r   checksumCRC32CHash.checksum#   s    
 ~~r   c                ,    [        XS9U l        X l        g)z~
Initialise the hash object with an optional bytes-like object.
Uses the given GIL release mode on each checksum calculation.
gil_release_modeNr   r   _gil_release_mode)r   datar"   s      r   __init__CRC32CHash.__init__*   s    
  H!1r   c                J    [        XR                  U R                  S9U l        g)z
Update the hash object with the bytes-like object.
Repeated calls are equivalent to a single call with the concatenation of all the arguments:
m.update(a); m.update(b) is equivalent to m.update(a+b).
r!   Nr#   )r   r%   s     r   updateCRC32CHash.update2   s      ..43I3I
r   c                :    U R                   R                  SS5      $ )z
Return the digest of the data passed to the update() method so far.
This is a bytes object of size digest_size which may contain bytes in the whole range from 0 to 255.
r   big)r   to_bytesr   s    r   digestCRC32CHash.digest<   s    
 ~~&&q%00r   c                >    U R                  5       R                  5       $ )z
Like digest() except the digest is returned as a string object of double length,
containing only hexadecimal digits.
This may be used to exchange the value safely in email or other non-binary environments.
)r.   hexr   s    r   	hexdigestCRC32CHash.hexdigestC   s     {{}  ""r   c                j    [        U 5      " 5       nU R                  Ul        U R                  Ul        U$ )u   
Return a copy (“clone”) of the hash object. This can be used to efficiently compute
the digests of data sharing a common initial substring.
)typer   r$   )r   ress     r   copyCRC32CHash.copyK   s-    
 4jl $ 6 6
r   )r   r$   N)returnint)r9   str)r   )r%   r   r"   r:   r9   None)r%   r   r9   r=   )r9   bytes)r9   r   )__name__
__module____qualname____firstlineno____doc__propertyr   r   r   r   r&   r)   r.   r2   r7   __static_attributes__r   r   r   r
   r
      sl    [       2
1#r   r
   N)

__future__r   typingr   _crc32cr   typing_extensionsr   r   r
   r   r   r   <module>rJ      s     "   .H Hr   