§
    g˜ºhÞ  ã                   ó6  — d Z ddlmZ ddlZddlmZ d„ ZdeiZd"d„Z	d#d	„Z
 e	d
e
d
¦  «         	 ddlmZ  e	ded¦  «         n# e$ r Y nw xY w	 ddlmZ d$d„Z e	ded¦  «         n# e$ r ddlmZ  e	dd„ d¦  «         Y nw xY w	 ddlmZ  e	ded¦  «          e	ded¦  «         n# e$ r Y nw xY w	 ddlZ e	dej        dd¬¦  «          e	dej        dd¬¦  «         n# e$ r Y nw xY w G d„ de¦  «        Z	 ddlZ ej        d¦  «          e	deg ¦  «         n# eeef$ r Y nw xY w	 ddlZ e	dej        j        d¦  «         n# e$ r Y nw xY w	 ddlmZ  e	ded¦  «         n-# e$ r% 	 ddl Z!d$d „Z" e	de"d¦  «         n# e$ r Y nw xY wY nw xY wd!„ Z#dS )%z9Helper functions for a standard streaming compression APIé    )ÚZipFileN)ÚAbstractBufferedFilec                 ó   — | S ©N© )ÚfileÚmodeÚkwargss      úZ/var/www/html/services/rag-service/venv/lib/python3.11/site-packages/fsspec/compression.pyÚ	noop_filer   	   s   € Ø€Kó    Fc                 ó  — t          |t          ¦  «        r|g}| t          v r|st          d| › �¦  «        ‚|D ]-}|t          j        j        v r|st          d|› d| › d�¦  «        ‚Œ.|t          | <   |D ]}| t          j        j        |<   ŒdS )aA  Register an "inferable" file compression type.

    Registers transparent file compression type for use with fsspec.open.
    Compression can be specified by name in open, or "infer"-ed for any files
    ending with the given extensions.

    Args:
        name: (str) The compression type name. Eg. "gzip".
        callback: A callable of form (infile, mode, **kwargs) -> file-like.
            Accepts an input file-like object, the target mode and kwargs.
            Returns a wrapped file-like object.
        extensions: (str, Iterable[str]) A file extension, or list of file
            extensions for which to infer this compression scheme. Eg. "gz".
        force: (bool) Force re-registration of compression type or extensions.

    Raises:
        ValueError: If name or extensions already registered, and not force.

    z$Duplicate compression registration: z&Duplicate compression file extension: z (ú)N)Ú
isinstanceÚstrÚcomprÚ
ValueErrorÚfsspecÚutilsÚcompressions)ÚnameÚcallbackÚ
extensionsÚforceÚexts        r   Úregister_compressionr      sÀ   € õ( �*�cÑ"Ô"ð "Ø �\ˆ
ð �u€}€}˜U€}ÝÐFÀÐFÐFÑGÔGÐGàð Vð VˆØ•&”,Ô+Ð+Ð+°EÐ+ÝÐTÀcÐTÐTÈTÐTÐTÐTÑUÔUÐUøà…Eˆ$�Kàð .ð .ˆØ)-�ŒÔ! #Ñ&Ð&ð.ð .r   Úrbc                 óü   ‡— d|vr=|pd}t          | fddi|¤ŽŠ‰                     |d¬¦  «        }|j        fˆfd„	|_        |S t          | ¦  «        Š|€‰                     ¦   «         d         } ‰j        |fddi|¤ŽS )NÚrr   r	   Úw)r	   c                 ó@   •—  | ¦   «         p‰                      ¦   «         S r   )Úclose)ÚcloserÚzs    €r   ú<lambda>zunzip.<locals>.<lambda><   s   ø€ ¨6¨6©8¬8Ð+@°q·w²w±y´y€ r   r   )r   Úopenr"   Únamelist)Úinfiler	   Úfilenamer
   Úfor$   s        @r   Úunzipr+   7   s£   ø€ Ø
�$€€ØÐ%˜vˆÝ�FÐ/Ð/ Ð/¨Ð/Ð/ˆØ�VŠV�H 3ˆVÑ'Ô'ˆØ!#¤Ð@Ð@Ð@Ð@Ð@ˆŒØˆ	Ý�‰Œ€AØÐØ—:’:‘<”< ”?ˆØˆ1Œ6�(Ð/Ð/ Ð/¨Ð/Ð/Ð/r   Úzip)ÚBZ2FileÚbz2)Úigzipc                 ó*   — t          j        d| |dœ|¤ŽS )N)Úfileobjr	   r   )r/   Ú	IGzipFile)r(   r	   r
   s      r   Úisalr3   P   s   € ÝŒÐC v°DÐCÐC¸FÐCÐCÐCr   ÚgzipÚgz©ÚGzipFilec                 ó   — t          dd| i|¤ŽS )Nr1   r   r6   )Úfr
   s     r   r%   r%   X   s   € ¥HÐ$AÐ$A°QÐ$A¸&Ð$AÐ$A€ r   )ÚLZMAFileÚlzmaÚxzT)r   c                   ó:   ‡ — e Zd Zˆ fd„Zdd„Zd	d„Zd„ Zd„ Zˆ xZS )
Ú
SnappyFilec                 óâ   •— dd l } t          ¦   «         j        dd d|                     d¦  «        dz   ddœ|¤Ž || _        d|v r |j        ¦   «         | _        d S  |j        ¦   «         | _        d S )Nr   ÚsnappyÚbiÿÉš;)ÚfsÚpathr	   Úsizer   r   )r@   ÚsuperÚ__init__Ústripr(   ÚStreamDecompressorÚcodecÚStreamCompressor)Úselfr(   r	   r
   r@   Ú	__class__s        €r   rF   zSnappyFile.__init__m   s�   ø€ Øˆˆˆà�‰ŒÔð 	
Ø˜(¨¯ª°C©¬¸3Ñ)>ÀYð	
ð 	
ØRXð	
ð 	
ð 	
ð ˆŒØ�$ˆ;ˆ;Ø2˜Ô2Ñ4Ô4ˆDŒJˆJˆJà0˜Ô0Ñ2Ô2ˆDŒJˆJˆJr   Fc                 óÐ   — | j                              d¦  «         | j                             | j                              ¦   «         ¦  «        }| j                             |¦  «         dS )Nr   T)ÚbufferÚseekrI   Ú	add_chunkÚreadr(   Úwrite)rK   ÚfinalÚouts      r   Ú_upload_chunkzSnappyFile._upload_chunky   sV   € ØŒ×Ò˜ÑÔÐØŒj×"Ò" 4¤;×#3Ò#3Ñ#5Ô#5Ñ6Ô6ˆØŒ×Ò˜#ÑÔÐØˆtr   r   c                 ó    — t          d¦  «        ‚)NzSnappyFile is not seekable)ÚNotImplementedError)rK   ÚlocÚwhences      r   rO   zSnappyFile.seek   s   € Ý!Ð">Ñ?Ô?Ð?r   c                 ó   — dS )NFr   )rK   s    r   ÚseekablezSnappyFile.seekable‚   s   € Øˆur   c                 óp   — | j                              ||z
  ¦  «        }| j                             |¦  «        S )z*Get the specified set of bytes from remote)r(   rQ   rI   Ú
decompress)rK   ÚstartÚendÚdatas       r   Ú_fetch_rangezSnappyFile._fetch_range…   s1   € àŒ{×Ò  e¡Ñ,Ô,ˆØŒz×$Ò$ TÑ*Ô*Ð*r   ©F)r   )	Ú__name__Ú
__module__Ú__qualname__rF   rU   rO   r[   ra   Ú__classcell__)rL   s   @r   r>   r>   l   s‚   ø€ € € € € ð
3ð 
3ð 
3ð 
3ð 
3ðð ð ð ð@ð @ð @ð @ðð ð ð+ð +ð +ð +ð +ð +ð +r   r>   r   r@   Úlz4)ÚZstdFileÚzstdÚzstc                 ó®   — d|v r(t          j        ¦   «         }|                     | ¦  «        S t          j        d¬¦  «        }|                     | ¦  «        S )Nr   é
   )Úlevel)ri   ÚZstdDecompressorÚstream_readerÚZstdCompressorÚstream_writer)r(   r	   Úcctxs      r   Úzstandard_filers   §   sT   € Ø�dˆ{ˆ{ÝÔ,Ñ.Ô.�Ø×)Ò)¨&Ñ1Ô1Ð1åÔ*°Ð4Ñ4Ô4�Ø×)Ò)¨&Ñ1Ô1Ð1r   c                  ó*   — t          t          ¦  «        S )z.Return a list of the implemented compressions.)Úlistr   r   r   r   Úavailable_compressionsrv   ´   s   € å•‰;Œ;Ðr   rb   )r   N)r   )$Ú__doc__Úzipfiler   Úfsspec.utilsr   Úfsspec.specr   r   r   r   r+   r.   r-   ÚImportErrorr3   r/   r4   r7   r;   r:   Úlzmaffir>   r@   ÚcompressÚ	NameErrorÚAttributeErrorÚ	lz4.framerg   Úframer&   Úcompression.zstdrh   Ú	zstandardri   rs   rv   r   r   r   ú<module>r„      sõ  ðØ ?Ð ?à Ð Ð Ð Ð Ð à Ð Ð Ð Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,ðð ð ð 
ˆyÐ€ð".ð ".ð ".ð ".ðJ
0ð 
0ð 
0ð 
0ð Ð �U˜E 5Ñ )Ô )Ð )ð0ØÐÐÐÐÐð Ð˜ ¨Ñ/Ô/Ð/Ð/øð ð 	ð 	ð 	Ø€Dð	øøøð
ØÐÐÐÐÐðDð Dð Dð Dð Ð˜  tÑ,Ô,Ð,Ð,øØð ð ð ØÐÐÐÐÐàÐØÐAÐAÀ4ñô ð ð ð ðøøøð	ØÐÐÐÐÐàÐ˜ ¨6Ñ2Ô2Ð2ØÐ˜˜x¨Ñ.Ô.Ð.Ð.øØð 	ð 	ð 	Ø€Dð	øøøð	Ø€N€N€NàÐ˜ Ô!1°6ÀÐFÑFÔFÐFØÐ˜˜wÔ/°¸TÐBÑBÔBÐBÐBøØð 	ð 	ð 	Ø€Dð	øøøð+ð +ð +ð +ð +Ð%ñ +ô +ð +ð>		Ø€M€M€Mà€F„O�CÑÔÐð Ð˜ :¨rÑ2Ô2Ð2Ð2øà�Y Ð/ð 	ð 	ð 	Ø€Dð	øøøð	ØÐÐÐàÐ˜ ¤	¤°Ñ6Ô6Ð6Ð6øØð 	ð 	ð 	Ø€Dð	øøøðà)Ð)Ð)Ð)Ð)Ð)àÐ˜ ¨5Ñ1Ô1Ð1Ð1øàð ð ð ðØ Ð Ð Ð ð	2ð 	2ð 	2ð 	2ð 	Ð˜V ^°UÑ;Ô;Ð;Ð;øØð ð ð Øˆðøøøøøðøøøð"ð ð ð ð s¡   °A ÁAÁAÁA( Á(BÂBÂ B) Â)B1Â0B1Â5,C" Ã"C*Ã)C*Ã<!D ÄD)Ä(D)Ä-E	 Å	EÅEÅE) Å)FÅ/FÆFÆFÆ
FÆFÆFÆF