+
    LV-j—   ã                   ó”   € ^ RI t ^ RIt^ RIt^ RIt^ RIHt ^ RIHt ^ RIH	t	 ]P                  ! R4      t ! R R]4      tR tR
R	 ltR# )é    N)ÚMutableMapping)Úcached_property)Ú	url_to_fszfsspec.mappingc                   óž   a € ] tR t^t o RtRR lt]R 4       tR tRR lt	R t
R tR	 tR
 tRR ltRR ltR tR tR tR tR tR tRtV tR# )ÚFSMapa   Wrap a FileSystem instance as a mutable wrapping.

The keys of the mapping become files under the given root, and the
values (which must be bytes) the contents of those files.

Parameters
----------
root: string
    prefix for all the files
fs: FileSystem instance
check: bool (=True)
    performs a touch at the location, to check for write access.

Examples
--------
>>> fs = FileSystem(**parameters)  # doctest: +SKIP
>>> d = FSMap('my-data/path/', fs)  # doctest: +SKIP
or, more likely
>>> d = fs.get_mapper('my-data/path/')

>>> d['loc1'] = b'Hello World'  # doctest: +SKIP
>>> list(d.keys())  # doctest: +SKIP
['loc1']
>>> d['loc1']  # doctest: +SKIP
b'Hello World'
Nc                ól  € W n         VP                  V4      V n        VP                  \        P                  ! VR 4      4      RR V n        Vf   \        \        \        3pWPn	        W0n
        W@n        V'       d=   V P                   P                  V4      '       g   V P                   P                  V4       V'       dw   V P                   P                  V4      '       g   \        RV R24      hV P                   P                  VR,           4       V P                   P!                  VR,           4       R# R# )ÚxNzPath z9 does not exist. Create  with the ``create=True`` keywordz/aéÿÿÿÿ)ÚfsÚ_strip_protocolÚrootÚ	posixpathÚjoinÚ_root_key_to_strÚFileNotFoundErrorÚIsADirectoryErrorÚNotADirectoryErrorÚmissing_exceptionsÚcheckÚcreateÚexistsÚmkdirÚ
ValueErrorÚtouchÚrm)Úselfr   r   r   r   r   s   &&&&&&Ú_/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/fsspec/mapping.pyÚ__init__ÚFSMap.__init__)   sð   € ØŒØ×&Ñ& tÓ,ˆŒ	Ø "× 2Ñ 2´9·>²>À$ÈÓ3LÓ MÈcÈrÐ RˆÔØÒ%ä!Ü!Ü"ð"Ðð
 #5ÔØŒ
ØŒßØ—7‘7—>‘> $×'Ò'Ø—‘—‘˜dÔ#ßØ—7‘7—>‘> $×'Ò'Ü Ø˜D˜6ð "8ð 9óð ð �G‰G�M‰M˜$ �+Ô&Ø�G‰G�J‰J�t˜d•{Ö#ñ ó    c                óJ   € ^RI Hp V! V P                  V P                  R7      # )z@dirfs instance that can be used with the same keys as the mapper)ÚDirFileSystem)Úpathr   )Úimplementations.dirfsr"   r   r   )r   r"   s   & r   ÚdirfsÚFSMap.dirfsB   s   € õ 	9á $×"7Ñ"7¸D¿G¹GÔDÐDr    c                óî   € \         P                  RV P                  4        V P                  P	                  V P                  R4       V P                  P                  V P                  4       R#     R# ; i)z0Remove all keys below root - empties out mappingzClear mapping at %sTN)ÚloggerÚinfor   r   r   r   ©r   s   &r   ÚclearÚFSMap.clearI   sN   € ä�‰Ð)¨4¯9©9Ô5ð	Ø�G‰G�J‰J�t—y‘y $Ô'Ø�G‰G�M‰M˜$Ÿ)™)Ö$øð	Úús   ¢AA/ Á/A4c                óž  € V Uu. uF  q0P                  V4      NK  	  ppVR8X  d   TMRp V P                  P                  WER7      p\        V\        4      '       d   V^ ,          V/pTP                  4        UUu/ uF-  w  r8T\        Y€P
                  4      '       d   \        4       MTbK/  	  ppp\        Y4       U	U
u/ uFT  w  ršTR8X  g   \        Yj,          \        4      '       d   K*  Y’R8X  d	   Yj,          MTP                  T
\        T
4      4      bKV  	  up
p	# u upi   T P
                   d   p\        ThRp?ii ; iu uppi u up
p	i )a/  Fetch multiple items from the store

If the backend is async-able, this might proceed concurrently

Parameters
----------
keys: list(str)
    They keys to be fetched
on_error : "raise", "omit", "return"
    If raise, an underlying exception will be raised (converted to KeyError
    if the type is in self.missing_exceptions); if omit, keys with exception
    will simply not be included in the output; if "return", all keys are
    included in the output, but the value will be bytes or an exception
    instance.

Returns
-------
dict(key, bytes|exception)
ÚraiseÚreturn)Úon_errorN)Ú_key_to_strr   ÚcatÚ
isinstanceÚbytesr   ÚKeyErrorÚitemsÚzipÚBaseExceptionÚget)r   Úkeysr0   ÚkÚkeys2ÚoeÚoutÚeÚvÚkeyÚk2s   &&&        r   ÚgetitemsÚFSMap.getitemsR   s/  € ñ( /3Ó3©d¨×!Ñ! !Ö$©dˆÐ3Ø! WÔ,‰X°(ˆð	"Ø—'‘'—+‘+˜e�+Ó1ˆCÜ˜#œu×%Ò%Ø˜Q•x �o�ð
 Ÿ	™	œô
á#‘�ð œj¨×,CÑ,C×DÒD””
È!ÒKÙ#ð 	ñ 
ô ˜tÔ+ô
á+‘�Ø˜8Ô#¬:°cµg¼}×+Mô OˆC¨Ô/�–°S·W±W¸RÄÈ"ÃÓ5NÒNÙ+ò
ð 	
ùò 4øð ×&Ñ&ô 	"Ü Ð!ûð	"üó
ùó
s.   …D¬=D# Á<3EÃ 'E	Ã,.E	Ä#E Ä4D;Ä;E c                óÀ   € VP                  4        UUu/ uF   w  r#V P                  V4      \        V4      bK"  	  pppV P                  P	                  V4       R# u uppi )zcSet the values of multiple items in the store

Parameters
----------
values_dict: dict(str, bytes)
N)r6   r1   Úmaybe_convertr   Úpipe)r   Úvalues_dictr;   r@   Úvaluess   &&   r   ÚsetitemsÚFSMap.setitemsx   sR   € ð EP×DUÑDUÔDWÔXÑDW¹D¸A�$×"Ñ" 1Ó%¤}°QÓ'7Ò7ÑDWˆÑXØ�‰�‰�VÖùó Ys   ”&Ac                ó‚   € V P                   P                  V Uu. uF  q P                  V4      NK  	  up4       R# u upi )z#Remove multiple keys from the storeN)r   r   r1   )r   r:   r;   s   && r   ÚdelitemsÚFSMap.delitems‚   s-   € à�‰�
‰
±Ó6±¨A×$Ñ$ QÖ'±Ñ6Ö7ùÒ6s   š<c                óú   € \        V\        4      '       gH   \        P                  ! R\        4       \        V\
        4      '       d   \        V4      p\        V4      pV P                   V 2P                  R4      # )zGenerate full path for the keyzAfrom fsspec 2023.5 onward FSMap non-str keys will raise TypeErrorÚ/)	r3   ÚstrÚwarningsÚwarnÚDeprecationWarningÚlistÚtupler   Úrstrip)r   rA   s   &&r   r1   ÚFSMap._key_to_str†   sc   € ä˜#œs×#Ò#ä�MŠMØSÜ"ôô ˜#œt×$Ò$Ü˜C“j�Ü�c“(ˆCØ×'Ñ'Ð(¨¨Ð.×5Ñ5°cÓ:Ð:r    c                óP   € V\        V P                  4      R P                  R4      # )zStrip path of to leave key nameNrP   )Úlenr   Úlstrip)r   Úss   &&r   Ú_str_to_keyÚFSMap._str_to_key“   s#   € à”�T—Y‘Y“Ð!Ð"×)Ñ)¨#Ó.Ð.r    c                óÀ   € V P                  V4      p V P                  P                  V4      pV#   T P                   d   pTe   Tu Rp?# \	        T4      ThRp?ii ; i)zRetrieve dataN)r1   r   r2   r   r5   )r   rA   Údefaultr;   ÚresultÚexcs   &&&   r   Ú__getitem__ÚFSMap.__getitem__—   s^   € à×Ñ˜SÓ!ˆð	)Ø—W‘W—[‘[ “^ˆFð
 ˆøð	 ×&Ñ&ô 	)ØÒ"Ø•Ü˜3“- SÐ(ûð	)ús!   “0 °AÁAÁAÁAÁAc                óR   € V P                  W4      p W V#   \         d     T# i ; i)zPop data)rc   r5   )r   rA   r`   ra   s   &&& r   ÚpopÚ	FSMap.pop¢   s<   € à×!Ñ! #Ó/ˆð	Ø�	ð ˆøô ô 	ØØˆð	ús   “ —&¥&c                óÞ   € V P                  V4      pV P                  P                  V P                  P                  V4      RR7       V P                  P	                  V\        V4      4       R# )zStore value in keyT)Úexist_okN)r1   r   ÚmkdirsÚ_parentÚ	pipe_filerF   )r   rA   Úvalues   &&&r   Ú__setitem__ÚFSMap.__setitem__«   sL   € à×Ñ˜sÓ#ˆØ�‰�‰�t—w‘w—‘ sÓ+°dˆÔ;Ø�‰×Ñ˜#œ}¨UÓ3Ö4r    c                ób   a € V 3R  lS P                   P                  S P                  4       4       # )c              3   óF   <"  € T F  pSP                  V4      x € K  	  R # 5i©N)r]   )Ú.0r	   r   s   & €r   Ú	<genexpr>Ú!FSMap.__iter__.<locals>.<genexpr>²   s!   øé € ÐEÑ-D¨�× Ñ  ×#Ð#Ó-Dùs   ƒ!)r   Úfindr   r*   s   fr   Ú__iter__ÚFSMap.__iter__±   s   ø€ ÜE¨T¯W©W¯\©\¸$¿)¹)Ô-DÓEÐEr    c                ó^   € \        V P                  P                  V P                  4      4      # rr   )rZ   r   rv   r   r*   s   &r   Ú__len__ÚFSMap.__len__´   s   € Ü�4—7‘7—<‘< §	¡	Ó*Ó+Ð+r    c                ó�   €  V P                   P                  V P                  V4      4       R#   \         d   p\        ThRp?ii ; i)z
Remove keyN)r   r   r1   Ú	Exceptionr5   )r   rA   rb   s   && r   Ú__delitem__ÚFSMap.__delitem__·   s:   € ð	$Ø�G‰G�J‰J�t×'Ñ'¨Ó,Ö-øÜô 	$Ü Ð#ûð	$ús   ‚*. ®A¹A Á Ac                óZ   € V P                  V4      pV P                  P                  V4      # )zDoes key exist in mapping?)r1   r   Úisfile)r   rA   r#   s   && r   Ú__contains__ÚFSMap.__contains__¾   s%   € à×Ñ Ó$ˆØ�w‰w�~‰~˜dÓ#Ð#r    c                óX   € \         V P                  V P                  R R V P                  33# )F)r   r   r   r   r*   s   &r   Ú
__reduce__ÚFSMap.__reduce__Ã   s&   € Ü�t—y‘y $§'¡'¨5°%¸×9PÑ9PÐQÐQÐQr    )r   r   r   r   r   r   )FFN)r.   rr   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   r%   r+   rC   rJ   rM   r1   r]   rc   rf   rn   rw   rz   r~   r‚   r…   Ú__static_attributes__Ú__classdictcell__)Ú__classdict__s   @r   r   r      st   ø‡ € ñô6$ð2 ñEó ðEòô$
òLò8ò;ò/ô	ôò5òFò,ò$ò$÷
Rð Rr    r   c                 ó  € \        V \        P                  4      '       g   \        V R 4      '       dS   \        V R4      '       d-   V P                  P                  R9   d   V P                  R4      p \        \        V 4      4      p V # )Ú	__array__ÚdtypeÚMmÚint64)r3   ÚarrayÚhasattrr‘   ÚkindÚviewr4   Ú
memoryview)rm   s   &r   rF   rF   Ç   sa   € Ü�%œŸ™×%Ò%¬°¸×)DÒ)Dä�5˜'×"Ò" u§{¡{×'7Ñ'7¸4Ô'?ð —J‘J˜wÓ'ˆEÜ”j Ó'Ó(ˆØ€Lr    c                óJ   € \        V 3/ VB w  rgVe   TMTp\        W†WVR7      # )a#  Create key-value interface for given URL and options

The URL will be of the form "protocol://location" and point to the root
of the mapper required. All keys will be file-names below this location,
and their values the contents of each key.

Also accepts compound URLs like zip::s3://bucket/file.zip , see ``fsspec.open``.

Parameters
----------
url: str
    Root URL of mapping
check: bool
    Whether to attempt to read from the location before instantiation, to
    check that the mapping does exist
create: bool
    Whether to make the directory corresponding to the root before
    instantiating
missing_exceptions: None or tuple
    If given, these exception types will be regarded as missing keys and
    return KeyError when trying to read data. By default, you get
    (FileNotFoundError, IsADirectoryError, NotADirectoryError)
alternate_root: None or str
    In cases of complex URLs, the parser may fail to pick the correct part
    for the mapper root, so this arg can override

Returns
-------
``FSMap`` instance, the dict-like key-value store.
)r   )r   r   )	Úurlr   r   r   Úalternate_rootÚkwargsr   Úurlpathr   s	   &&&&&,   r   Ú
get_mapperrž   Ò   s2   € ôN ˜CÑ* 6Ñ*�K€BØ+Ò7‰>¸W€DÜ�˜5Ð=OÔPÐPr    )Ú FFNN)r”   Úloggingr   rR   Úcollections.abcr   Ú	functoolsr   Úfsspec.corer   Ú	getLoggerr(   r   rF   rž   © r    r   Ú<module>r¦      sG   ðÛ Û Û Û Ý *Ý %å !à	×	Ò	Ð+Ó	,€ôwRˆNô wRòtö)Qr    