Ë
    #täi[  ã                   óB   — d dl Z d dlZd dlmZ d dlmZ  G d„ de«      Zy)é    N)Úunquote)ÚAbstractFileSystemc                   óf   ‡ — e Zd ZdZdZˆ fd„Zd
d„Zd„ Z	 	 	 	 dd„Ze	dde
dedz  fd	„«       Zˆ xZS )ÚDataFileSystemzüA handy decoder for data-URLs

    Example
    -------
    >>> with fsspec.open("data:,Hello%2C%20World%21") as f:
    ...     print(f.read())
    b"Hello, World!"

    See https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs
    Údatac                 ó$   •— t        ‰| �  di |¤Ž y)z!No parameters for this filesystemN© )ÚsuperÚ__init__)ÚselfÚkwargsÚ	__class__s     €új/Volumes/fast/ai/experiments/MLX_z-image/.venv/lib/python3.12/site-packages/fsspec/implementations/data.pyr   zDataFileSystem.__init__   s   ø€ ä‰ÑÑ"˜6Ó"ó    Nc                 ó¶   — |j                  dd«      \  }}|j                  d«      rt        j                  |«      || S t	        |«      j                  «       || S )NÚ,é   Úbase64)ÚsplitÚendswithr   Ú	b64decoder   Úencode)r   ÚpathÚstartÚendr   Úprefr   s          r   Úcat_filezDataFileSystem.cat_file   sT   € Ø—Z‘Z  QÓ'‰
ˆˆdØ�=‰=˜Ô"Ü×#Ñ# DÓ)¨%°Ð4Ð4Ü�t‹}×#Ñ#Ó% e¨CÐ0Ð0r   c                 ó¾   — |j                  dd«      \  }}| j                  |«      }|j                  dd«      d   j                  dd«      d   }|t        |«      d|dœS )Nr   r   Ú:Ú;r   Úfile)ÚnameÚsizeÚtypeÚmimetype)r   r   Úlen)r   r   r   r   r"   r   Úmimes          r   ÚinfozDataFileSystem.info    s^   € Ø—Z‘Z  QÓ'‰
ˆˆdØ�}‰}˜TÓ"ˆØ�z‰z˜#˜qÓ! !Ñ$×*Ñ*¨3°Ó2°1Ñ5ˆØ¤c¨$£i¸ÈTÑRÐRr   c                 óh   — d|vrt        d«      ‚t        j                  | j                  |«      «      S )NÚrzRead only filesystem)Ú
ValueErrorÚioÚBytesIOr   )r   r   ÚmodeÚ
block_sizeÚ
autocommitÚcache_optionsr   s          r   Ú_openzDataFileSystem._open&   s/   € ð �d‰?ÜÐ3Ó4Ð4Ü�z‰z˜$Ÿ-™-¨Ó-Ó.Ð.r   r'   c                 ó\   — d|xs d› dt        j                  | «      j                  «       › �S )z†Format the given data into data-URL syntax

        This version always base64 encodes, even when the data is ascii/url-safe.
        zdata:Ú z;base64,)r   Ú	b64encodeÚdecode)r   r'   s     r   r   zDataFileSystem.encode3   s0   € ð �t’z˜r�l (¬6×+;Ñ+;¸DÓ+A×+HÑ+HÓ+JÐ*KÐLÐLr   )NN)ÚrbNTN)N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úprotocolr   r   r(   r2   ÚstaticmethodÚbytesÚstrr   Ú__classcell__)r   s   @r   r   r      s\   ø„ ñ	ð €Hô#ó1òSð ØØØó/ð ñM�Uð M #¨¡*ò Mó ôMr   r   )r   r,   Úurllib.parser   Úfsspecr   r   r	   r   r   Ú<module>rC      s    ðÛ Û 	Ý  å %ô1MÐ'õ 1Mr   