o
    å/œhÎ  ã                   @   sZ   d Z ddlZdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Zdd„ Zdd„ Z	ddd„Z
dS )zFunction decorator helpers.é    Nc           	         s\   d ‰‰t ƒ ‰‡ ‡‡‡‡‡‡‡fdd„}‡ ‡‡‡fdd„}‡‡‡‡fdd„}||_||_|S )Nr   c                     s–  ˆ| i |¤Ž‰ ˆ7 ˆ  ‡ ‡fdd„¡ zˆˆ  }ˆd7 ‰|W W  d   ƒ S  ty8   ˆ ˆ ¡ ˆd7 ‰Y nw W d   ƒ n1 sCw   Y  zfˆ| i |¤Ž}ˆ6 z|ˆˆ < W n	 tyb   Y nw |W  d   ƒ W ˆ ˆ ˆ ¡ ˆ ¡  W d   ƒ S 1 s‚w   Y  S 1 s‹w   Y  W ˆ ˆ ˆ ¡ ˆ ¡  W d   ƒ d S 1 s¨w   Y  d S ˆ ˆ ˆ ¡ ˆ ¡  W d   ƒ w 1 sÅw   Y  w )Nc                      ó   ˆ ˆvS ©N© r   ©ÚkÚpendingr   úF/var/www/html/myenv/lib/python3.10/site-packages/cachetools/_cached.pyÚ<lambda>   ó    z2_condition_info.<locals>.wrapper.<locals>.<lambda>é   ©Úwait_forÚKeyErrorÚaddÚ
ValueErrorÚremoveÚ
notify_all©ÚargsÚkwargsÚresultÚv)ÚcacheÚcondÚfuncÚhitsÚkeyÚlockÚmissesr   ©r   r   Úwrapper
   sH   û
þø	ÿû

þù

(þ

þz _condition_info.<locals>.wrapperc                      ó:   ˆ ˆ   ¡  d ‰‰W d   ƒ d S 1 sw   Y  d S ©Nr   ©Úclearr   ©r   r   r   r   r   r   Úcache_clear#   ó   
"þz$_condition_info.<locals>.cache_clearc                      ó2   ˆ ˆˆ ˆƒW  d   ƒ S 1 sw   Y  d S r   r   r   ©r   Úinfor   r   r   r   Ú
cache_info)   ó   $ÿz#_condition_info.<locals>.cache_info)Úsetr&   r+   )	r   r   r   r   r   r*   r    r&   r+   r   )	r   r   r   r   r*   r   r   r   r   r   Ú_condition_info   s   r.   c                    sR   d ‰‰‡ ‡‡‡‡‡fdd„}‡ ‡‡‡fdd„}‡‡‡‡fdd„}||_ ||_|S )Nr   c               	      sÜ   ˆ| i |¤Ž}ˆ( zˆ | }ˆd7 ‰|W W  d   ƒ S  t y)   ˆd7 ‰Y nw W d   ƒ n1 s4w   Y  ˆ| i |¤Ž}ˆ" zˆ  ||¡W W  d   ƒ S  tyc   | Y W  d   ƒ S w 1 sgw   Y  d S ©Nr   ©r   Ú
setdefaultr   ©r   r   r   r   r   )r   r   r   r   r   r   r   r   r    5   s,   üÿúýûüz_locked_info.<locals>.wrapperc                      r!   r"   r#   r   r%   r   r   r&   G   r'   z!_locked_info.<locals>.cache_clearc                      r(   r   r   r   r)   r   r   r+   M   r,   z _locked_info.<locals>.cache_info©r&   r+   )r   r   r   r   r*   r    r&   r+   r   )r   r   r   r*   r   r   r   r   Ú_locked_info2   s   r4   c                    sH   d ‰‰‡ ‡‡‡‡fdd„}‡ ‡‡fdd„}||_ ‡‡‡fdd„|_|S )Nr   c                     sr   ˆ| i |¤Ž}zˆ | }ˆd7 ‰|W S  t y   ˆd7 ‰Y nw ˆ| i |¤Ž}z|ˆ |< W |S  ty8   Y |S w r/   ©r   r   r2   )r   r   r   r   r   r   r   r    Y   s    ÿ
þþz_unlocked_info.<locals>.wrapperc                      s   ˆ   ¡  d ‰‰d S r"   r#   r   )r   r   r   r   r   r&   i   s   z#_unlocked_info.<locals>.cache_clearc                      s
   ˆˆ ˆƒS r   r   r   )r   r*   r   r   r   r	   o   ó   
 z _unlocked_info.<locals>.<lambda>r3   )r   r   r   r*   r    r&   r   )r   r   r   r*   r   r   r   Ú_unlocked_infoV   s   r7   c                    s8   d‰‡ ‡fdd„}‡fdd„}||_ ‡‡fdd„|_|S )Nr   c                     s   ˆd7 ‰ˆ | i |¤ŽS r/   r   ©r   r   )r   r   r   r   r    v   s   z_uncached_info.<locals>.wrapperc                      s   d‰ d S r"   r   r   )r   r   r   r&   {   s   z#_uncached_info.<locals>.cache_clearc                      s
   ˆ dˆƒS r"   r   r   )r*   r   r   r   r	   €   r6   z _uncached_info.<locals>.<lambda>r3   )r   r*   r    r&   r   )r   r*   r   r   Ú_uncached_infos   s   r9   c                    s4   t ƒ ‰‡ ‡‡‡‡‡fdd„}‡ ‡fdd„}||_|S )Nc                     s†  ˆ| i |¤Ž‰ ˆ/ ˆ  ‡ ‡fdd„¡ zˆˆ  }|W W  d   ƒ S  ty0   ˆ ˆ ¡ Y nw W d   ƒ n1 s;w   Y  zfˆ| i |¤Ž}ˆ6 z|ˆˆ < W n	 tyZ   Y nw |W  d   ƒ W ˆ ˆ ˆ ¡ ˆ ¡  W d   ƒ S 1 szw   Y  S 1 sƒw   Y  W ˆ ˆ ˆ ¡ ˆ ¡  W d   ƒ d S 1 s w   Y  d S ˆ ˆ ˆ ¡ ˆ ¡  W d   ƒ w 1 s½w   Y  w )Nc                      r   r   r   r   r   r   r   r	   Š   r
   z-_condition.<locals>.wrapper.<locals>.<lambda>r   r   ©r   r   r   r   r   r   r   r   r    ‡   sD   üÿúÿû

þù

(þ

þz_condition.<locals>.wrapperc                      ó2   ˆ ˆ   ¡  W d   ƒ d S 1 sw   Y  d S r   r#   r   ©r   r   r   r   r&      ó   
"ÿz_condition.<locals>.cache_clear)r-   r&   )r   r   r   r   r   r    r&   r   r:   r   Ú
_condition„   s
   r>   c                    s*   ‡ ‡‡‡fdd„}‡ ‡fdd„}||_ |S )Nc               	      sÈ   ˆ| i |¤Ž}ˆ zˆ | W W  d   ƒ S  t y   Y nw W d   ƒ n1 s*w   Y  ˆ| i |¤Ž}ˆ" zˆ  ||¡W W  d   ƒ S  tyY   | Y W  d   ƒ S w 1 s]w   Y  d S r   r0   ©r   r   r   r   ©r   r   r   r   r   r   r    ¦   s(   þÿüýûüz_locked.<locals>.wrapperc                      r;   r   r#   r   r<   r   r   r&   µ   r=   z_locked.<locals>.cache_clear©r&   )r   r   r   r   r    r&   r   r@   r   Ú_locked¥   s   rB   c                    s"   ‡ ‡‡fdd„}‡ fdd„|_ |S )Nc                     s^   ˆ| i |¤Ž}zˆ | W S  t y   Y nw ˆ| i |¤Ž}z|ˆ |< W |S  ty.   Y |S w r   r5   r?   ©r   r   r   r   r   r    ¾   s   
ÿ
þþz_unlocked.<locals>.wrapperc                      s   ˆ   ¡ S r   r#   r   )r   r   r   r	   Ë   r
   z_unlocked.<locals>.<lambda>rA   )r   r   r   r    r   rC   r   Ú	_unlocked½   s   rD   c                    s   ‡ fdd„}dd„ |_ |S )Nc                     s   ˆ | i |¤ŽS r   r   r8   ©r   r   r   r    Ð   s   z_uncached.<locals>.wrapperc                   S   s   d S r   r   r   r   r   r   r	   Ó   s    z_uncached.<locals>.<lambda>rA   )r   r    r   rE   r   Ú	_uncachedÏ   s   
rF   c                 C   s.  |d urC|d u rt | |ƒ}nq|d ur |d ur t| |||||ƒ}n_|d ur.t| |||||ƒ}nQ|d ur;t| ||||ƒ}nDt| |||ƒ}n<|d u rLt| ƒ}n0|d ur]|d ur]t| ||||ƒ}n|d urjt| ||||ƒ}n|d urvt| |||ƒ}nt| ||ƒ}d |_||_	||_
|d ur‹|n||_||_t || ¡S r   )r9   r.   r4   r7   rF   r>   rB   rD   r+   r   Ú	cache_keyÚ
cache_lockÚcache_conditionÚ	functoolsÚupdate_wrapper)r   r   r   r   r   r*   r    r   r   r   Ú_wrapper×   s2   
rL   )NNN)Ú__doc__rJ   r.   r4   r7   r9   r>   rB   rD   rF   rL   r   r   r   r   Ú<module>   s    ,$!