+
    LV-jÁ'  ã                   ó  € ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHtHt ^ RI	H
t
HtHtHt ^ RIHt ^ RIHt ]P$                  ! R4      t ! R R]4      tR	R
R
]3R ltR t]R8X  d    ^ RIt]! ]P2                  R,          4       R# R# )é    N)ÚEIOÚENOENT)ÚFUSEÚFuseOSErrorÚLoggingMixInÚ
Operations)Ú__version__)Ú	url_to_fsúfsspec.fusec                   ó~   a € ] tR t^t o RR ltRR ltR tR tR tR t	R t
RR	 ltR
 tRR ltR tR tR tRtV tR# )ÚFUSErc                ó    € Wn         / V n        VP                  R 4      R ,           V n        ^ V n        \
        P                  RV4       W0n        R# )Ú/zStarting FUSE at %sN)ÚfsÚcacheÚrstripÚrootÚcounterÚloggerÚinfoÚ_ready_file)Úselfr   ÚpathÚ
ready_files   &&&&Ú\/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/fsspec/fuse.pyÚ__init__ÚFUSEr.__init__   s?   € ØŒØˆŒ
Ø—K‘K Ó$ sÕ*ˆŒ	ØˆŒÜ�‰Ð)¨4Ô0Ø%Öó    Nc                óŠ  € \         P                  R V4       V P                  '       d   VR9   d   RRR^/# RP                  V P                  VP                  R4      .4      P                  R4      p V P                  P                  V4      pRTP                  RR	4      R
TP                  RR	4      /pTP                  RR4      pTR,          R8w  d&   \        P                  T,          TR&   ^ TR&   ^ TR&   M0\        P                  T,          TR&   TR,          TR&   RTR&   ^TR&   RT9   d
   TR,          M\         P                   ! 4       TR&   RT9   d
   TR,          M\         P                   ! 4       TR&   RT9   d
   TR,          M\         P                   ! 4       TR&   T#   \         d   p\        \        4      ThRp?ii ; i)z
getattr %sÚtypeÚfileÚst_sizeÚ r   NÚst_uidÚuidiè  Úst_gidÚgidÚmodeiÿ  Úst_modeÚ
st_blksizeÚsizeÚst_nlinkÚatimeÚst_atimeÚctimeÚst_ctimeÚmtimeÚst_mtime©z/.fuse_readyz.fuse_readyi  P )r   Údebugr   Újoinr   Úlstripr   r   r   ÚFileNotFoundErrorr   r   ÚgetÚstatÚS_IFDIRÚS_IFREGÚtime)r   r   Úfhr   ÚexcÚdataÚperms   &&&    r   ÚgetattrÚFUSEr.getattr   s‡  € Ü�‰�\ 4Ô(Ø××Ð Ð(GÔ GØ˜F I¨qÐ1Ð1à�w‰w˜Ÿ	™	 4§;¡;¨sÓ#3Ð4Ó5×<Ñ<¸SÓAˆð	/Ø—7‘7—<‘< Ó%ˆDð ˜$Ÿ(™( 5¨$Ó/°¸4¿8¹8ÀEÈ4Ó;PÐQˆØ�x‰x˜ Ó&ˆà��<˜6Ô!Ü"Ÿl™l¨TÕ1ˆD�‰OØˆD�‰OØ!"ˆD�Òä"Ÿl™l¨TÕ1ˆD�‰OØ" 6�lˆD�‰OØ!*ˆD�ÑØ ˆD�ÑØ,3°t¬O˜4 ž=ÄÇÂÃˆˆZÑØ,3°t¬O˜4 ž=ÄÇÂÃˆˆZÑØ,3°t¬O˜4 ž=ÄÇÂÃˆˆZÑØˆøô% !ô 	/ÜœfÓ%¨3Ð.ûð	/ús   Á2F" Æ"GÆ-F=Æ=Gc                óX  € \         P                  R V4       RP                  V P                  VP	                  R4      .4      pV P
                  P                  VR4      pV Uu. uF1  p\        P                  P                  VP                  R4      4      NK3  	  ppRR.V,           # u upi )z
readdir %sr#   r   FÚ.z..)r   r4   r5   r   r6   r   ÚlsÚosr   Úbasenamer   )r   r   r=   ÚfilesÚfs   &&&  r   ÚreaddirÚFUSEr.readdir6   s„   € Ü�‰�\ 4Ô(Ø�w‰w˜Ÿ	™	 4§;¡;¨sÓ#3Ð4Ó5ˆØ—‘—
‘
˜4 Ó'ˆÙ:?Ó@¹%°Q”—‘×!Ñ! !§(¡(¨3£-Ö0¹%ˆÐ@Ø�Tˆ{˜UÕ"Ð"ùò As   Á#7B'c                ó”   € R P                  V P                  VP                  R4      .4      pV P                  P	                  V4       ^ # ©r#   r   )r5   r   r6   r   Úmkdir©r   r   r(   s   &&&r   rN   ÚFUSEr.mkdir=   ó5   € Ø�w‰w˜Ÿ	™	 4§;¡;¨sÓ#3Ð4Ó5ˆØ�‰�‰�dÔÙr   c                ó”   € R P                  V P                  VP                  R4      .4      pV P                  P	                  V4       ^ # rM   )r5   r   r6   r   Úrmdir)r   r   s   &&r   rS   ÚFUSEr.rmdirB   rQ   r   c                óÖ   € \         P                  R WV34       V P                  '       d
   VR9   d   R# V P                  V,          pVP	                  V4       VP                  V4      pV# )zread %ss   readyr3   )r   r4   r   r   ÚseekÚread)r   r   r+   Úoffsetr=   rI   Úouts   &&&&&  r   rW   Ú
FUSEr.readG   sV   € Ü�‰�Y ¨VÐ 4Ô5Ø××Ð Ð(GÔ Gáà�J‰J�r�NˆØ	�‰ˆvŒØ�f‰f�T‹lˆØˆ
r   c                ó°   € \         P                  R W34       V P                  V,          pVP                  V4       VP	                  V4       \        V4      # )zwrite %s)r   r4   r   rV   ÚwriteÚlen)r   r   r?   rX   r=   rI   s   &&&&& r   r\   ÚFUSEr.writeR   s?   € Ü�‰�Z $ Ô0Ø�J‰J�r�NˆØ	�‰ˆvŒØ	�‰�ŒÜ�4‹yÐr   c                ó~  € \         P                  R W34       RP                  V P                  VP	                  R4      .4      pV P
                  P                  V4       V P
                  P                  VR4      pWPP                  V P                  &   V ;P                  ^,          un	        V P                  ^,
          # )z	create %sr#   r   Úwb)
r   r4   r5   r   r6   r   ÚtouchÚopenr   r   )r   r   ÚflagsÚfiÚfnrI   s   &&&&  r   ÚcreateÚFUSEr.createY   sƒ   € Ü�‰�[ 4 -Ô0Ø�W‰W�d—i‘i §¡¨SÓ!1Ð2Ó3ˆØ�‰�‰�bÔØ�G‰G�L‰L˜˜TÓ"ˆØ#$�
‰
�4—<‘<Ñ Ø�Š˜Õ�Ø�|‰|˜aÕÐr   c                ój  € \         P                  R W34       RP                  V P                  VP	                  R4      .4      pV^,          ^ 8X  d   RpMRpV P
                  P                  W44      V P                  V P                  &   V ;P                  ^,          un        V P                  ^,
          # )zopen %sr#   r   Úrbr`   )	r   r4   r5   r   r6   r   rb   r   r   )r   r   rc   re   r(   s   &&&  r   rb   Ú
FUSEr.openb   s…   € Ü�‰�Y  Ô.Ø�W‰W�d—i‘i §¡¨SÓ!1Ð2Ó3ˆØ�1�9˜Œ>à‰Dð ˆDØ#'§7¡7§<¡<°Ó#9ˆ�
‰
�4—<‘<Ñ Ø�Š˜Õ�Ø�|‰|˜aÕÐr   c                ó®   € R P                  V P                  VP                  R4      .4      pV^ 8w  d   \        hV P                  P                  V4       R# )r#   r   N)r5   r   r6   ÚNotImplementedErrorr   ra   )r   r   Úlengthr=   re   s   &&&& r   ÚtruncateÚFUSEr.truncateo   s?   € Ø�W‰W�d—i‘i §¡¨SÓ!1Ð2Ó3ˆØ�QŒ;Ü%Ð%à�‰�‰�bÖr   c                óê   € R P                  V P                  VP                  R4      .4      p V P                  P	                  VR4       R#   \
        \        3 d   p\        \        4      ThRp?ii ; i)r#   r   FN)	r5   r   r6   r   ÚrmÚOSErrorr7   r   r   )r   r   re   r>   s   &&  r   ÚunlinkÚFUSEr.unlinkv   s\   € Ø�W‰W�d—i‘i §¡¨SÓ!1Ð2Ó3ˆð	,Ø�G‰G�J‰J�r˜5Ö!øÜÔ*Ð+ô 	,ÜœcÓ"¨Ð+ûð	,ús   ®A ÁA2ÁA-Á-A2c                óì   €  W P                   9   d?   V P                   V,          pVP                  4        V P                   P                  V4       ^ #   \         d   p\	        T4        R p?^ # R p?ii ; i©N)r   ÚcloseÚpopÚ	ExceptionÚprint)r   r   r=   rI   Úes   &&&  r   ÚreleaseÚFUSEr.release}   sZ   € ð	Ø—Z‘ZÔØ—J‘J˜r•N�Ø—‘”	Ø—
‘
—‘˜rÔ"ñ øô ô 	Ü�!�HˆHÙûð	ús   ‚AA ÁA3ÁA.Á.A3c                óÔ   € \        V P                  R 4      '       dH   RP                  V P                  VP	                  R4      .4      pV P                  P                  W4      # \        h)Úchmodr#   r   )Úhasattrr   r5   r   r6   r   rl   rO   s   &&&r   r   ÚFUSEr.chmod‡   sL   € Ü�4—7‘7˜G×$Ò$Ø—7‘7˜DŸI™I t§{¡{°3Ó'7Ð8Ó9ˆDØ—7‘7—=‘= Ó,Ð,Ü!Ð!r   )r   r   r   r   r   )Frv   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   rA   rJ   rN   rS   rW   r\   rf   rb   rn   rs   r|   r   Ú__static_attributes__Ú__classdictcell__)Ú__classdict__s   @r   r   r      sK   ø‡ € ô&ôò8#òò
ò
	òô ò ôò,ò÷"ð "r   r   TFc                óÐ   a aaaaaa€ VV VVVVV3R lpS'       g1   \         P                  ! VR7      pRVn        VP                  4        V#  V! 4        R#   \         d     R# i ; i)aõ  Mount stuff in a local directory

This uses fusepy to make it appear as if a given path on an fsspec
instance is in fact resident within the local file-system.

This requires that fusepy by installed, and that FUSE be available on
the system (typically requiring a package to be installed with
apt, yum, brew, etc.).

Parameters
----------
fs: file-system instance
    From one of the compatible implementations
path: str
    Location on that file-system to regard as the root directory to
    mount. Note that you typically should include the terminating "/"
    character.
mount_point: str
    An empty directory on the local file-system where the contents of
    the remote path will appear.
foreground: bool
    Whether or not calling this function will block. Operation will
    typically be more stable if True.
threads: bool
    Whether or not to create threads when responding to file operations
    within the mounter directory. Operation will typically be more
    stable if False.
ready_file: bool
    Whether the FUSE process is ready. The ``.fuse_ready`` file will
    exist in the ``mount_point`` directory if True. Debugging purpose.
ops_class: FUSEr or Subclass of FUSEr
    To override the default behavior of FUSEr. For Example, logging
    to file.

c                  ó>   <€ \        S! SSSR 7      SS'       * S R7      # ))r   )Ú	nothreadsÚ
foreground)r   )rŒ   r   Úmount_pointÚ	ops_classr   r   Úthreadss   €€€€€€€r   Ú<lambda>Úrun.<locals>.<lambda>º   s!   ø€ ”4Ù�"�d zÔ2ØØ”+Øõ	r   )ÚtargetTN)Ú	threadingÚThreadÚdaemonÚstartÚKeyboardInterrupt)	r   r   r�   rŒ   r�   r   rŽ   ÚfuncÚths	   fffffff  r   Úrunrš   Ž   sV   þ€ ÷Xò €D÷ Ü×Ò TÔ*ˆØˆŒ	Ø
�‰Œ
Øˆ	ð	ÙŽFøÜ ô 	Úð	ús   ÁA ÁA%Á$A%c           
     óÖ  €  ! R R\         P                  4      pV! R\        P                  R7      pVP	                  RR\
        R7       VP	                  R\        R	R
7       VP	                  R\        RR
7       VP	                  R\        RR
7       VP	                  RRRRR7       VP	                  RR\        RR
7       VP	                  RRRRR7       VP	                  RRRRR7       VP	                  RRRR R7       VP                  V 4      p / pV P                  ;'       g    .  F×  pVP                  R!4      w  rVpV'       g   VP                  R"V: 2R#7       VP                  4       pVP                  R$4      '       d   \        VR%\        R$4      )  4      pM)VP                  R&4      '       d   VR%\        R&4      )  R.9   pR'V9   d/   VP                  R'^4      w  ršW“9   d   WsV	,          V
&   KÌ  W§/W9&   KÓ  WsV&   KÙ  	  V P                   '       dI   \"        P$                  ! \"        P&                  V P                   R(R)7        ! R* R+\(        \*        4      pTpM\(        p\-        V P.                  3/ VB w  rÞ\0        P3                  R,V\        V P4                  4      4       \7        VV P8                  V P4                  V P:                  V P<                  V P>                  VR-7       R%# )/a]  Mount filesystem from chained URL to MOUNT_POINT.

Examples:

python3 -m fsspec.fuse memory /usr/share /tmp/mem

python3 -m fsspec.fuse local /tmp/source /tmp/local \
        -l /tmp/fsspecfuse.log

You can also mount chained-URLs and use special settings:

python3 -m fsspec.fuse 'filecache::zip::file://data.zip' \
        / /tmp/zip \
        -o 'filecache-cache_storage=/tmp/simplecache'

You can specify the type of the setting by using `[int]` or `[bool]`,
(`true`, `yes`, `1` represents the Boolean value `True`):

python3 -m fsspec.fuse 'simplecache::ftp://ftp1.at.proftpd.org' \
        /historic/packages/RPMS /tmp/ftp \
        -o 'simplecache-cache_storage=/tmp/simplecache' \
        -o 'simplecache-check_files=false[bool]' \
        -o 'ftp-listings_expiry_time=60[int]' \
        -o 'ftp-username=anonymous' \
        -o 'ftp-password=xieyanbo'
c                   ó2   a a€ ] tR t^èt oV 3R ltRtVtV ;t# )Ú*main.<locals>.RawDescriptionArgumentParserc                óž   <€ \         SV `  4       pVP                  R 4      pV P                  P	                  4       V^&   R P                  V4      # )z

)ÚsuperÚformat_helpÚsplitÚdescriptionr   r5   )r   ÚusageÚpartsÚ	__class__s   &  €r   r    Ú6main.<locals>.RawDescriptionArgumentParser.format_helpé   sE   ø€ Ü‘GÑ'Ó)ˆEØ—K‘K Ó'ˆEØ×'Ñ'×.Ñ.Ó0ˆE�!‰HØ—;‘;˜uÓ%Ð%r   © )r‚   rƒ   r„   r…   r    r†   r‡   Ú__classcell__)r¥   rˆ   s   @@r   ÚRawDescriptionArgumentParserr�   è   s   ù‡ € ÷	&õ 	&r   r©   r   )Úprogr¢   z	--versionÚversion)Úactionr«   Úurlzfs url)r    ÚhelpÚsource_pathzsource directory in fsr�   zlocal directoryz-oz--optionÚappendz3Any options of protocol included in the chained URL)r¬   r®   z-lz
--log-filez%Logging FUSE debug info (Default: '')z-fz--foregroundÚstore_falsez-Running in foreground or not (Default: False)z-tz	--threadsz-Running with threads support (Default: False)z-rz--ready-filezZThe `.fuse_ready` file will exist after FUSE is ready. (Debugging purpose, Default: False)Ú=zWrong option: )Úmessagez[int]Nz[bool]Ú-z%(asctime)s %(message)s)ÚlevelÚfilenameÚformatc                   ó   € ] tR tRtRtR# )Úmain.<locals>.LoggingFUSEri-  r§   N)r‚   rƒ   r„   r…   r†   r§   r   r   ÚLoggingFUSErr¹   -  s   † Ûr   rº   zMounting %s to %s)rŒ   r�   r   rŽ   )Ú1ÚyesÚtrue) ÚargparseÚArgumentParserÚmainÚ__doc__Úadd_argumentr	   ÚstrÚ
parse_argsÚoptionÚ	partitionÚerrorÚlowerÚendswithÚintr]   r¡   Úlog_fileÚloggingÚbasicConfigÚDEBUGr   r   r
   r­   r   r4   r�   rš   r¯   rŒ   r�   r   )Úargsr©   ÚparserÚkwargsÚitemÚkeyÚsepÚvalueÚvalÚfs_nameÚsetting_namerº   Úfuserr   Úurl_paths   &              r   rÀ   rÀ   Ì   s¹  € ô8&¤x×'>Ñ'>ô &ñ *¨}Ì$Ï,É,ÔW€FØ
×Ñ˜¨I¼{ÐÔKØ
×Ñ˜¤C¨hÐÔ7Ø
×Ñ˜¬CÐ6NÐÔOØ
×Ñ˜¬CÐ6GÐÔHØ
×ÑØØØØBð	 ô ð ×ÑØˆl¤Ð+Rð ô ð ×ÑØØØØ<ð	 ô ð ×ÑØØØØ<ð	 ô ð ×ÑØØØð.ð	 ô ð ×Ñ˜TÓ"€Dà€FØ—‘×!Ð!˜rÒ!ˆØŸ.™.¨Ó-‰ˆ�%ßØ�L‰L >°$±Ð!:ˆLÔ;Ø�k‰k‹mˆØ�<‰<˜× Ò Ü˜˜o¤ W£ Ð.Ó/‰EØ�\‰\˜(×#Ò#ØÐ(œ3˜x›=˜.Ð)Ð-AÑAˆEà�#Œ:Ø$'§I¡I¨c°1Ó$5Ñ!ˆGØÔ Ø05�w• Ó-à#/Ð"7�“à�3‹Kñ# "ð& ‡}‡}€}Ü×ÒÜ—-‘-Ø—]‘]Ø,õ	
ô	œ5¤,ô 	ð ‰äˆä˜TŸX™XÑ0¨Ñ0�L€BÜ
‡L�LÐ$ h´°D×4DÑ4DÓ0EÔFÜØ
Ø×ÑØ×ÑØ—?‘?Ø—‘Ø—?‘?Ø÷r   Ú__main__:é   NN)r¾   rÌ   rF   r9   r“   r<   Úerrnor   r   Úfuser   r   r   r   Úfsspecr	   Úfsspec.corer
   Ú	getLoggerr   r   rš   rÀ   r‚   ÚsysÚargvr§   r   r   Ú<module>rä      s‚   ðÛ Û Û 	Û Û Û ß ç <Ó <å Ý !à	×	Ò	˜=Ó	)€ôz"ˆJô z"ðB ØØØô;ò|rðj ˆzÔÛáˆ�‰�"�Öñ r   