
    i                     @    d dl mZ d dlmZ dZddgZefdededefd	Zy
)    )crc_hqx)EncodedTi @  key_slotVALKEY_CLUSTER_HASH_SLOTSkeybucketreturnc                     | j                  d      }|dkD  r*| j                  d|dz         }|dkD  r||dz   k7  r| |dz   | } t        | d      |z  S )zCalculate key slot for a given key.
    See Keys distribution model in https://redis.io/topics/cluster-spec
    :param key - bytes
    :param bucket - int
       {   }   r   )findr   )r   r   startends       =/root/searxng-venv/lib/python3.12/site-packages/valkey/crc.pyr   r      s_     HHTNErzhhtUQY'8uqy(eai#&C3?V##    N)binasciir   valkey.typingr   r   __all__intr    r   r   <module>r      s>     " " 2
3 +D $( $C $ $r   