Ë
    ��h¡  ã                  ó„   — d Z ddlmZ ddlmZ ddlmZmZmZ erddl	m	Z	  G d„ d«      Z
 G d„ d	e
«      Z G d
„ de
«      Zy)zb
The cache object API for implementing caches. The default is a thread
safe in-memory dictionary.
é    )Úannotations)ÚLock)ÚIOÚTYPE_CHECKINGÚMutableMapping)Údatetimec                  ó>   — e Zd Zdd„Z	 d	 	 	 	 	 	 	 dd„Zd	d„Zd
d„Zy)Ú	BaseCachec                ó   — t        «       ‚©N©ÚNotImplementedError©ÚselfÚkeys     ú\/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/cache.pyÚgetzBaseCache.get   ó   € Ü!Ó#Ð#ó    Nc                ó   — t        «       ‚r   r   ©r   r   ÚvalueÚexpiress       r   ÚsetzBaseCache.set   s   € ô "Ó#Ð#r   c                ó   — t        «       ‚r   r   r   s     r   ÚdeletezBaseCache.delete   r   r   c                 ó   — y r   © )r   s    r   ÚclosezBaseCache.close   s   € Ør   ©r   ÚstrÚreturnzbytes | Noner   ©r   r!   r   Úbytesr   zint | datetime | Noner"   ÚNone©r   r!   r"   r%   )r"   r%   )Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r   r
   r
      s=   „ ó$ð HLð$Øð$Ø$ð$Ø/Dð$à	ó$ó
$ôr   r
   c                  ó@   — e Zd Zddd„Zdd„Z	 d	 	 	 	 	 	 	 d	d„Zd
d„Zy)Ú	DictCacheNc                ó8   — t        «       | _        |xs i | _        y r   )r   ÚlockÚdata)r   Ú	init_dicts     r   Ú__init__zDictCache.__init__$   s   € Ü“FˆŒ	Ø’O ˆ�	r   c                ó:   — | j                   j                  |d «      S r   )r.   r   r   s     r   r   zDictCache.get(   s   € Ø�y‰y�}‰}˜S $Ó'Ð'r   c                ó€   — | j                   5  | j                  j                  ||i«       d d d «       y # 1 sw Y   y xY wr   )r-   r.   Úupdater   s       r   r   zDictCache.set+   s6   € ð �Y‰Yñ 	+Ø�I‰I×Ñ˜c 5˜\Ô*÷	+÷ 	+ñ 	+ús   �4´=c                ó˜   — | j                   5  || j                  v r| j                  j                  |«       d d d «       y # 1 sw Y   y xY wr   )r-   r.   Úpopr   s     r   r   zDictCache.delete1   s:   € Ø�Y‰Yñ 	#Ø�d—i‘iÑØ—	‘	—‘˜cÔ"÷	#÷ 	#ñ 	#ús   �*A Á A	r   )r/   z!MutableMapping[str, bytes] | Noner"   r%   r    r#   r&   )r'   r(   r)   r0   r   r   r   r   r   r   r+   r+   #   s=   „ ô$ó(ð HLð+Øð+Ø$ð+Ø/Dð+à	ó+ô#r   r+   c                  ó    — e Zd ZdZdd„Zdd„Zy)ÚSeparateBodyBaseCacheag  
    In this variant, the body is not stored mixed in with the metadata, but is
    passed in (as a bytes-like object) in a separate call to ``set_body()``.

    That is, the expected interaction pattern is::

        cache.set(key, serialized_metadata)
        cache.set_body(key)

    Similarly, the body should be loaded separately via ``get_body()``.
    c                ó   — t        «       ‚r   r   )r   r   Úbodys      r   Úset_bodyzSeparateBodyBaseCache.set_bodyD   r   r   c                ó   — t        «       ‚)z6
        Return the body as file-like object.
        r   r   s     r   Úget_bodyzSeparateBodyBaseCache.get_bodyG   s   € ô "Ó#Ð#r   N)r   r!   r9   r$   r"   r%   )r   r!   r"   zIO[bytes] | None)r'   r(   r)   Ú__doc__r:   r<   r   r   r   r7   r7   7   s   „ ñ
ó$ô$r   r7   N)r=   Ú
__future__r   Ú	threadingr   Útypingr   r   r   r   r
   r+   r7   r   r   r   ú<module>rA      s@   ðñ
õ
 #å ß 4Ñ 4áÝ!÷ñ ô #�	ô #ô($˜Iõ $r   