
    Ti                     B    S SK Jr  SqSqS rS rS rS rS rS	 r	S
 r
g)    )get_storageFc            
         / n [        5       nUR                  S5      nU HD  nX#   S::  a  U R                  U5        M  UR                  SU[	        [
        X#   5      S-
  5        MF     U  H  nUR                  SU5        M     g )Nbannedr      )r   get_all_hash_intappendset_hash_intmin	thresholddel_hash)
clear_listsr   ips       f/var/www/html/backend/Backoffice_Marketplace/venv/lib/python3.13/site-packages/libretranslate/flood.pyforgive_bannedr      sy     JA)F:?b!NN8RY
)Ca)GH	  	

8R      c                 B    U R                   S:  a  SqU R                   qg g )Nr   T)req_flood_thresholdactiver   )argss    r   setupr      s'     !#,,	 $r   c                 P    [         (       a  [        5       R                  SU 5        g g Nr   )r   r   inc_hash_int)
request_ips    r   reportr      s    v""8Z8 r   c                 j    [        5       nUR                  SU 5      S:  a  UR                  SU 5        g g Nr   r   )r   get_hash_intdec_hash_intr   r   s     r   decreaser#   "   s/    A~~h
+a/	x, 0r   c                 @    [        5       nUR                  SU 5      S:  $ r   )r   r    r"   s     r   has_violationr%   '   s    A>>(J/!33r   c                 b    [        5       n[        =(       a    UR                  SU 5      [        :  $ r   )r   r   r    r   r"   s     r   	is_bannedr'   +   s&    A GannXz:iGGr   c                     [        U[        5      (       a  US:X  a  g[        5       nSU  3nUR                  U5      nUS:X  a  UR	                  X1SS9  gX:g  $ )N Tzfingerprint:i,  )exF)
isinstancestrr   get_strset_str)r   fingerprintr   kexpecteds        r   fingerprint_mismatchr2   1   s\    k3'';"+<A
zl#Ayy|H2~			!S	)&&r   N)libretranslate.storager   r   r   r   r   r   r#   r%   r'   r2    r   r   <module>r5      s6    .		! -9-
4H'r   