
    -i                         d dl Z d dlmZ d dlmZ d dlmZ 	 d dlmZ n# e$ r  G d de	          ZY nw xY wdd	Z
d
 ZddZdS )    N)	nsmallest)
itemgetter)defaultdict)Counterc                       e Zd ZdZd ZdS )r   z%Mapping where default values are zeroc                     dS )Nr    )selfkeys     T/var/www/html/speakWrite/venv/lib/python3.11/site-packages/codernitydb3/lfu_cache.py__missing__zCounter.__missing__    s    1    N)__name__
__module____qualname____doc__r   r	   r   r   r   r      s)        //	 	 	 	 	r   r   d   c                       fd}|S )I
    modified version of http://code.activestate.com/recipes/498245/
    c                      i t                      t          j                    fd            }fd}fd}||_        |_        ||_        |S )Nc                 `   	 |          }n|# t           $ ro t                    k    rBt          dz  pd                                t	          d                    D ]\  }}|= |=  	| g|R i || <   |          }Y nw xY w| xx         dz  cc<   n# | xx         dz  cc<   w xY w|S )N
      r   )KeyErrorlenr   itemsr   )
r   argskwargsresultk_cachemaxsize	use_countuser_functions
         r   wrapperz7cache1lvl.<locals>.decorating_function.<locals>.wrapper,   s    $s $ $ $u::(( )'R-*<1*3//*;*;.8mm!= != != 3 31 "!Hill*]3@@@@@@c
s$ #!#	#!#Ms'    B A6BB BB B+c                  X                                                                         d S Nclearr#   r%   s   r   r+   z5cache1lvl.<locals>.decorating_function.<locals>.clear=   &    KKMMMOOr   c                 8    	 | = | = dS # t           $ r Y dS w xY w)NTF)r   )r   r#   r%   s    r   deletez6cache1lvl.<locals>.decorating_function.<locals>.deleteA   sA    #JcN t    uus    
)r   	functoolswrapsr+   r#   r/   )r&   r'   r+   r/   r#   r%   r$   s   `   @@r   decorating_functionz&cache1lvl.<locals>.decorating_function(   s    II			'	'	 	 	 	 	 	 	 
(	'	 	 	 	 	 	 		 	 	 	 	 	 r   r	   r$   r2   s   ` r   	cache1lvlr4   $   s%    % % % % %N r   c              #      K   |                                  D ]&\  }}|                                 D ]\  }}|||fV  'd S r)   )r   )dr!   vkkvvs        r   twolvl_iteratorr:   R   s\      		  1ggii 	 	FBR)OOOO	 r   c                       fd}|S )r   c                      i t          t                    t          j                    fd            fd}dfd	}|_        _        |_        d_        S )Nc                     	 | d                  | d                  }n# t           $ r j        k    rjdz  pd}t          |t          	          t	          d                    D ]&\  }}}|         |= 	|         |= |         s|= 	|= 'xj        |z  c_         
| i |}	 || d                  | d         <   n## t           $ r | d         |i| d         <   Y nw xY wxj        dz  c_        Y nw xY w	| d                  | d         xx         dz  cc<   n'# 	| d                  | d         xx         dz  cc<   w xY w|S )Nr   r   r      r   )r   
cache_sizer   r:   r   )r   r   r    	to_deletek1k2r7   r#   r$   r%   r&   r'   s          r   r'   z7cache2lvl.<locals>.decorating_function.<locals>.wrapper`   s   1tAwQ0 ( ( (%00 '2 2I%.y/>y/I/I3=a==&B &B &B . .	B ""IbM9R=+<$Ry . %b	 )"&&)3&&&7777.4E$q'N47++ 7 7 7&*1gv%6E$q'NNN7""a'""""!($ $q'"47+++q0++++	$q'"47+++q0+++++++MsK    D BC4&B>=C4>CC4CC41D 3C44D $D>c                  X                                                                         d S r)   r*   r,   s   r   r+   z5cache2lvl.<locals>.decorating_function.<locals>.clearz   r-   r   c                 
   |D	 |          |= |          |= |          s| = | = xj         dz  c_         dS # t          $ r Y dS w xY w	 xj         t          |                    z  c_         | = | = dS # t          $ r Y dS w xY w)Nr   TF)r?   r   r   )r   	inner_keyr#   r%   r'   s     r   r/   z6cache2lvl.<locals>.decorating_function.<locals>.delete~   s    $
 c
9-!#y1 : +!#J%cN&&!+&&  4   ! ! ! 55!
 &&#eCj//9&&c
!#  4   ! ! ! 55!s!   07 
AA	)A4 4
BBr   r)   )r   r   r0   r1   r+   r#   r/   r?   )r&   r+   r/   r#   r%   r'   r$   s   `  @@@r   r2   z&cache2lvl.<locals>.decorating_function\   s    ((			'	'	 	 	 	 	 	 	 	 
(	'	2	 	 	 	 	 		  	  	  	  	  	  	  	 . r   r	   r3   s   ` r   	cache2lvlrF   X   s%    = = = = =~ r   )r   )r0   heapqr   operatorr   collectionsr   r   ImportErrordictr4   r:   rF   r	   r   r   <module>rL      s   &                 # # # # # #	#######       $     + + + +\  C C C C C Cs    55