ó
    Þ j   ã                  óŽ   • S r SSKJr  SSKJr  SSKJrJrJr  \(       a  SSK	J	r	   " S S5      r
 " S S	\
5      r " S
 S\
5      rg)zb
The cache object API for implementing caches. The default is a thread
safe in-memory dictionary.
é    )Úannotations)ÚLock)ÚIOÚTYPE_CHECKINGÚMutableMapping)Údatetimec                  óP   • \ rS rSrSS jr S	       S
S jjrSS jrSS jrSrg)Ú	BaseCacheé   c                ó   • [        5       e©N©ÚNotImplementedError©ÚselfÚkeys     ÚX/var/www/html/gaurav/venv/lib/python3.13/site-packages/pip/_vendor/cachecontrol/cache.pyÚgetÚBaseCache.get   ó   € Ü!Ó#Ð#ó    Nc                ó   • [        5       er   r   ©r   r   ÚvalueÚexpiress       r   ÚsetÚBaseCache.set   s   € ô "Ó#Ð#r   c                ó   • [        5       er   r   r   s     r   ÚdeleteÚBaseCache.delete   r   r   c                ó   • g r   © )r   s    r   ÚcloseÚBaseCache.close   s   € Ør   r"   ©r   ÚstrÚreturnzbytes | Noner   ©r   r&   r   Úbytesr   zint | datetime | Noner'   ÚNone©r   r&   r'   r*   )r'   r*   )	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   r   r#   Ú__static_attributes__r"   r   r   r
   r
      s=   † ô$ð HLð$Øð$Ø$ð$Ø/Dð$à	õ$ô
$÷r   r
   c                  óT   • \ rS rSrSS	S jjrS
S jr S       SS jjrSS jrSrg)Ú	DictCacheé"   Nc                óB   • [        5       U l        U=(       d    0 U l        g r   )r   ÚlockÚdata)r   Ú	init_dicts     r   Ú__init__ÚDictCache.__init__#   s   € Ü“FˆŒ	Ø—O ˆ�	r   c                ó:   • U R                   R                  US 5      $ r   )r6   r   r   s     r   r   ÚDictCache.get'   s   € Ø�y‰y�}‰}˜S $Ó'Ð'r   c                óˆ   • U R                      U R                  R                  X05        S S S 5        g ! , (       d  f       g = fr   )r5   r6   Úupdater   s       r   r   ÚDictCache.set*   s)   € ð �Y‹YØ�I‰I×Ñ˜c˜\Ô*÷ �YŽYús	   �3³
Ac                ó¤   • U R                      XR                  ;   a  U R                  R                  U5        S S S 5        g ! , (       d  f       g = fr   )r5   r6   Úpopr   s     r   r   ÚDictCache.delete0   s-   € Ø�Y‹YØ—i‘iÓØ—	‘	—‘˜cÔ"÷ �YŽYús   �+AÁ
A)r6   r5   r   )r7   z!MutableMapping[str, bytes] | Noner'   r*   r%   r(   r+   )	r,   r-   r.   r/   r8   r   r   r   r0   r"   r   r   r2   r2   "   s=   † ö$ô(ð HLð+Øð+Ø$ð+Ø/Dð+à	õ+÷#r   r2   c                  ó,   • \ rS rSrSrSS jrSS jrSrg)	ÚSeparateBodyBaseCacheé6   aK  
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                ó   • [        5       er   r   )r   r   Úbodys      r   Úset_bodyÚSeparateBodyBaseCache.set_bodyC   r   r   c                ó   • [        5       e)z&
Return the body as file-like object.
r   r   s     r   Úget_bodyÚSeparateBodyBaseCache.get_bodyF   s   € ô "Ó#Ð#r   r"   N)r   r&   rF   r)   r'   r*   )r   r&   r'   zIO[bytes] | None)r,   r-   r.   r/   Ú__doc__rG   rJ   r0   r"   r   r   rC   rC   6   s   † ñ
ô$÷$r   rC   N)rL   Ú
__future__r   Ú	threadingr   Útypingr   r   r   r   r
   r2   rC   r"   r   r   Ú<module>rP      s@   ðñ
õ #å ß 4Ñ 4æÝ!÷ñ ô #�	ô #ô($˜Iõ $r   