+
    LV-j�
  ã                   ó<   € ^ RI t ^ RIHt ^ RIHt  ! R R]4      tR# )é    N)ÚMutableMapping)Ú	lru_cachec                   ó^   a € ] tR t^t o RtRR ltR tR tR tR t	R t
R	 tR
 tR tRtV tR# )ÚDirCacheaV  
Caching of directory listings, in a structure like::

    {"path0": [
        {"name": "path0/file0",
         "size": 123,
         "type": "file",
         ...
        },
        {"name": "path0/file1",
        },
        ...
        ],
     "path1": [...]
    }

Parameters to this class control listing expiry or indeed turn
caching off
Nc                ó    a € / S n         / S n        V'       d"   \        V^,           4      ! V 3R l4      S n        VS n        VS n        VS n        R# )a¶  

Parameters
----------
use_listings_cache: bool
    If False, this cache never returns items, but always reports KeyError,
    and setting items has no effect
listings_expiry_time: int or float (optional)
    Time in seconds that a listing is considered valid. If None,
    listings do not expire.
max_paths: int (optional)
    The number of most recent listings that are considered valid; 'recent'
    refers to when the entry was set.
c                 ó<   <€ SP                   P                  V R 4      # ©N)Ú_cacheÚpop)ÚkeyÚselfs   &€Ú`/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/fsspec/dircache.pyÚ<lambda>Ú#DirCache.__init__.<locals>.<lambda>3   s   ø€ ¸4¿;¹;¿?¹?È3ÐPTÔ;Uó    N)r
   Ú_timesr   Ú_qÚuse_listings_cacheÚlistings_expiry_timeÚ	max_paths)r   r   r   r   Úkwargss   f&&&,r   Ú__init__ÚDirCache.__init__   sC   ø€ ð* ˆŒØˆŒßÜ 	¨A¥Ô.Ô/UÓVˆDŒGØ"4ˆÔØ$8ˆÔ!Ø"ˆŽr   c                ó0  € V P                   eT   V P                  P                  V^ 4      \        P                  ! 4       ,
          V P                   ) 8  d   V P                  V V P
                  '       d   V P                  V4       V P                  V,          # r	   )r   r   ÚgetÚtimer
   r   r   ©r   Úitems   &&r   Ú__getitem__ÚDirCache.__getitem__8   sh   € Ø×$Ñ$Ò0Ø�{‰{�‰˜t QÓ'¬$¯)ª)«+Õ5¸×9RÑ9RÐ8RÔRØ—K‘K Ð%Ø�>�>ˆ>Ø�G‰G�DŒMØ�{‰{˜4Õ Ð r   c                ó:   € V P                   P                  4        R # r	   )r
   Úclear©r   s   &r   r"   ÚDirCache.clear@   s   € Ø�‰×ÑÖr   c                ó,   € \        V P                  4      # r	   )Úlenr
   r#   s   &r   Ú__len__ÚDirCache.__len__C   s   € Ü�4—;‘;ÓÐr   c                ó<   €  W,           R #   \          d     R# i ; i)TF)ÚKeyErrorr   s   &&r   Ú__contains__ÚDirCache.__contains__F   s!   € ð	ØŽJÙøÜô 	Úð	ús   ‚ Œšc                óô   € V P                   '       g   R # V P                  '       d   V P                  V4       W P                  V&   V P                  e%   \
        P
                  ! 4       V P                  V&   R # R # r	   )r   r   r   r
   r   r   r   )r   r   Úvalues   &&&r   Ú__setitem__ÚDirCache.__setitem__M   sV   € Ø×&×&Ð&ÙØ�>�>ˆ>Ø�G‰G�CŒLØ �‰�CÑØ×$Ñ$Ò0Ü#Ÿyšy›{ˆD�K‰K˜Óñ 1r   c                ó    € V P                   V R # r	   )r
   )r   r   s   &&r   Ú__delitem__ÚDirCache.__delitem__V   s   € Ø�K‰K˜Òr   c                óF   a € \        S P                  4      pV 3R  lV 4       # )c              3   ó8   <"  € T F  qS9   g   K  Vx € K  	  R # 5ir	   © )Ú.0Úkr   s   & €r   Ú	<genexpr>Ú$DirCache.__iter__.<locals>.<genexpr>\   s   øé € Ð0™7�a¨4¡i—’›7ùs   ƒ�
)Úlistr
   )r   Úentriess   f r   Ú__iter__ÚDirCache.__iter__Y   s   ø€ Ü�t—{‘{Ó#ˆä0™7Ó0Ð0r   c                óT   € \         V P                  V P                  V P                  33# r	   )r   r   r   r   r#   s   &r   Ú
__reduce__ÚDirCache.__reduce__^   s)   € äØ×$Ñ$ d×&?Ñ&?ÀÇÁÐPð
ð 	
r   )r
   r   r   r   r   r   )TNN)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   r"   r'   r+   r/   r2   r=   r@   Ú__static_attributes__Ú__classdictcell__)Ú__classdict__s   @r   r   r      s<   ø‡ € ñô(#ò:!òò òò+òò1÷

ð 
r   r   )r   Úcollections.abcr   Ú	functoolsr   r   r6   r   r   Ú<module>rL      s   ðÛ Ý *Ý ô\
ˆ~ö \
r   