a
    yÀhí  ã                   @  s„   d dl mZ d dlmZ d dlmZmZ dddœdd„Zdddd	œd
d„Zdddd	œdd„Zdddd	œdd„Z	dddd	œdd„Z
dS )é    )Úannotations)Úarray)ÚHashableÚSequencezSequence[Hashable])ÚsÚreturnc                 C  s¼   t | tƒrdd„ | D ƒS t | tƒr&| S t | tƒrL| jdv rHdd„ | D ƒS | S | d u rX| S g }| D ]V}t |tƒrŠt|ƒdkrŠ| t|ƒ¡ q`t |tƒr¨|dkr¨| d¡ q`| t	|ƒ¡ q`|S )Nc                 S  s   g | ]}t |ƒ‘qS © ©Úord©Ú.0Úxr   r   úP/var/www/html/assistant/venv/lib/python3.9/site-packages/rapidfuzz/_common_py.pyÚ
<listcomp>   ó    z!conv_sequence.<locals>.<listcomp>)ÚuÚwc                 S  s   g | ]}t |ƒ‘qS r   r	   r   r   r   r   r      r   é   éÿÿÿÿ)
Ú
isinstanceÚstrÚbytesr   ÚtypecodeÚlenÚappendr
   ÚintÚhash)r   ÚresÚelemr   r   r   Úconv_sequence
   s$    



r   z-tuple[Sequence[Hashable], Sequence[Hashable]])Ús1Ús2r   c                 C  sH   t | tƒrt |tƒr| |fS t | tƒr8t |tƒr8| |fS t| ƒt|ƒfS ©N)r   r   r   r   )r    r!   r   r   r   Úconv_sequences&   s
    r#   r   c                 C  s0   d}t | |ƒD ]\}}||kr" q,|d7 }q|S ©Nr   r   )Úzip)r    r!   Ú
prefix_lenÚch1Úch2r   r   r   Úcommon_prefix0   s    
r)   c                 C  s8   d}t t| ƒt|ƒƒD ]\}}||kr* q4|d7 }q|S r$   )r%   Úreversed)r    r!   Ú
suffix_lenr'   r(   r   r   r   Úcommon_suffix;   s    
r,   ztuple[int, int]c                 C  s,   t | |ƒ}t| |d … ||d … ƒ}||fS r"   )r)   r,   )r    r!   r&   r+   r   r   r   Úcommon_affixF   s    
r-   N)Ú
__future__r   r   Úcollections.abcr   r   r   r#   r)   r,   r-   r   r   r   r   Ú<module>   s   
