§
    ïžîdâ
  ã                  ó\  — U d Z ddlmZ ddlmZmZ ddlmZ ddlm	Z
 	 ddd„Z	 ddd„Z	 ddd„Z	 ddd„ZdeiZded<   deiZded<   deiZded<   deiZded<   dZ e
ede¬¦  «        Z e
ede¬¦  «        Z e
ede¬¦  «        Z e
ede¬¦  «        Z e
ed¦  «        Z e
ed¦  «        ZdS ) zæ
The Levenshtein (edit) distance is a string metric to measure the
difference between two strings/sequences s1 and s2.
It's defined as the minimum number of insertions, deletions or
substitutions required to transform s1 into s2.
é    )Úannotations)ÚAnyÚCallable)Ú
ScorerFlag)Úfallback_import©é   r	   r	   Úweightsútuple[int, int, int] | NoneÚreturnúdict[str, Any]c                ól   — t           j        }| | d         | d         k    r|t           j        z  }dd|dœS ©Nr   r	   l   ÿÿÿÿ ©Úoptimal_scoreÚworst_scoreÚflags©Ú_ScorerFlagÚ
RESULT_I64Ú	SYMMETRIC©r
   r   s     úb/home/feoh/.local/pipx/venvs/poetry/lib/python3.11/site-packages/rapidfuzz/distance/Levenshtein.pyÚ_get_scorer_flags_distancer      sJ   € õ Ô"€EØ€˜' !œ*¨°¬
Ò2Ð2Ø•Ô&Ñ&ˆð Ø Øðð ð ó    c                ól   — t           j        }| | d         | d         k    r|t           j        z  }dd|dœS r   r   r   s     r   Ú_get_scorer_flags_similarityr       sJ   € õ Ô"€EØ€˜' !œ*¨°¬
Ò2Ð2Ø•Ô&Ñ&ˆð #ØØðð ð r   c                ól   — t           j        }| | d         | d         k    r|t           j        z  }dd|dœS ©Nr   r	   r   ©r   Ú
RESULT_F64r   r   s     r   Ú%_get_scorer_flags_normalized_distancer"   .   ó@   € õ Ô"€EØ€˜' !œ*¨°¬
Ò2Ð2Ø•Ô&Ñ&ˆà¨q¸5ÐAÐAÐAr   c                ól   — t           j        }| | d         | d         k    r|t           j        z  }dd|dœS r   r    r   s     r   Ú'_get_scorer_flags_normalized_similarityr%   8   r#   r   Úget_scorer_flagsz(dict[str, Callable[..., dict[str, Any]]]Ú
_dist_attrÚ	_sim_attrÚ_norm_dist_attrÚ_norm_sim_attrzrapidfuzz.distance.LevenshteinÚdistance)Úcached_scorer_callÚ
similarityÚnormalized_distanceÚnormalized_similarityÚeditopsÚopcodesN)r   )r
   r   r   r   )Ú__doc__Ú
__future__r   Útypingr   r   Úrapidfuzz._utilsr   r   r   Ú_fallback_importr   r   r"   r%   r'   Ú__annotations__r(   r)   r*   Ú_modr+   r-   r.   r/   r0   r1   © r   r   ú<module>r:      s  ððð ð ð #Ð "Ð "Ð "Ð "Ð "à  Ð  Ð  Ð  Ð  Ð  Ð  Ð  à 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø @Ð @Ð @Ð @Ð @Ð @ð ,5ðð ð ð ð ð ,5ðð ð ð ð ð ,5ðBð Bð Bð Bð Bð ,5ðBð Bð Bð Bð Bð Ð2ð8€
ð ð ð ñ ð Ð4ð7€	ð ð ð ñ ð Ð=ð=€ð ð ð ñ ð Ð?ð<€ð ð ð ñ ð (€ØÐ˜D *ÀÐLÑLÔL€ØÐ˜d LÀYÐOÑOÔO€
Ø&Ð&ØÐ
°Oðñ ô Ð ð )Ð(ØÐ
!°nðñ ô Ð ð Ð
˜4 Ñ
+Ô
+€Ø
Ð
˜4 Ñ
+Ô
+€€€r   