§
    dŠtju	  ã                  ó”   — d dl mZ d dlZd dlZd dlmZ  G d„ dej        ¦  «        Z G d„ de¦  «        Z G d„ d	e¦  «        Z	dd„Z
dS )é    )ÚannotationsN)Úmake_path_posixc                  óD   — e Zd ZdZej        dd„¦   «         Zdd	„Zdd„ZdS )ÚAbstractCacheMapperzUAbstract super-class for mappers from remote URLs to local cached
    basenames.
    ÚpathÚstrÚreturnc                ó   — d S ©N© ©Úselfr   s     úa/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/fsspec/implementations/cache_mapper.pyÚ__call__zAbstractCacheMapper.__call__   s   € Ø*-¨#ó    ÚotherÚobjectÚboolc                ó<   — t          |t          | ¦  «        ¦  «        S r   )Ú
isinstanceÚtype)r   r   s     r   Ú__eq__zAbstractCacheMapper.__eq__   s   € õ ˜%¥ d¡¤Ñ,Ô,Ð,r   Úintc                ó:   — t          t          | ¦  «        ¦  «        S r   )Úhashr   )r   s    r   Ú__hash__zAbstractCacheMapper.__hash__   s   € õ •D˜‘J”JÑÔÐr   N©r   r   r	   r   ©r   r   r	   r   ©r	   r   )	Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚabcÚabstractmethodr   r   r   r   r   r   r   r   	   sb   € € € € € ðð ð 	ÔØ-Ð-Ð-ñ ÔØ-ð-ð -ð -ð -ð
 ð  ð  ð  ð  ð  r   r   c                  óB   ‡ — e Zd ZdZddd„Zdd	„Zdˆ fd„Zdˆ fd„Zˆ xZS )ÚBasenameCacheMapperzóCache mapper that uses the basename of the remote URL and a fixed number
    of directory levels above this.

    The default is zero directory levels, meaning different paths with the same
    basename will have the same cached basename.
    r   Údirectory_levelsr   c                óL   — |dk     rt          d¦  «        ‚|| _        d| _        d S )Nr   z>BasenameCacheMapper requires zero or positive directory_levelsz_@_)Ú
ValueErrorr(   Ú
_separator)r   r(   s     r   Ú__init__zBasenameCacheMapper.__init__$   s9   € Ø˜aÒÐÝØPñô ð ð !1ˆÔð  ˆŒˆˆr   r   r   r	   c                óœ   — t          |¦  «        }|                     d| j        dz   ¦  «        ^}}|r| j                             |¦  «        S |S )Nú/é   )r   Úrsplitr(   r+   Újoin)r   r   ÚprefixÚbitss       r   r   zBasenameCacheMapper.__call__.   sQ   € Ý˜tÑ$Ô$ˆØŸš C¨Ô)>ÀÑ)BÑCÔCˆˆ�Øð 	Ø”?×'Ò'¨Ñ-Ô-Ð-àˆMr   r   r   r   c                óf   •— t          ¦   «                              |¦  «        o| j        |j        k    S r   )Úsuperr   r(   )r   r   Ú	__class__s     €r   r   zBasenameCacheMapper.__eq__6   s)   ø€ Ý‰wŒw�~Š~˜eÑ$Ô$ÐX¨Ô)>À%ÔBXÒ)XÐXr   c                ón   •— t          ¦   «                              ¦   «         t          | j        ¦  «        z  S r   )r5   r   r   r(   )r   r6   s    €r   r   zBasenameCacheMapper.__hash__9   s)   ø€ Ý‰wŒw×ÒÑ!Ô!¥D¨Ô)>Ñ$?Ô$?Ñ?Ð?r   )r   )r(   r   r   r   r   )	r    r!   r"   r#   r,   r   r   r   Ú__classcell__)r6   s   @r   r'   r'      s¢   ø€ € € € € ðð ð ð  ð  ð  ð  ðð ð ð ðYð Yð Yð Yð Yð Yð@ð @ð @ð @ð @ð @ð @ð @ð @ð @r   r'   c                  ó   — e Zd ZdZdd„ZdS )ÚHashCacheMapperz0Cache mapper that uses a hash of the remote URL.r   r   r	   c                ór   — t          j        |                     ¦   «         ¦  «                             ¦   «         S r   )ÚhashlibÚsha256ÚencodeÚ	hexdigestr   s     r   r   zHashCacheMapper.__call__@   s&   € ÝŒ~˜dŸkšk™mœmÑ,Ô,×6Ò6Ñ8Ô8Ð8r   Nr   )r    r!   r"   r#   r   r   r   r   r:   r:   =   s.   € € € € € Ø:Ð:ð9ð 9ð 9ð 9ð 9ð 9r   r:   Ú
same_namesr   r	   c                ó>   — | rt          ¦   «         S t          ¦   «         S )zŒFactory method to create cache mapper for backward compatibility with
    ``CachingFileSystem`` constructor using ``same_names`` kwarg.
    )r'   r:   )r@   s    r   Úcreate_cache_mapperrB   D   s$   € ð ð !Ý"Ñ$Ô$Ð$åÑ Ô Ð r   )r@   r   r	   r   )Ú
__future__r   r$   r<   Úfsspec.implementations.localr   ÚABCr   r'   r:   rB   r   r   r   ú<module>rF      sä   ðØ "Ð "Ð "Ð "Ð "Ð "à 
€
€
€
Ø €€€à 8Ð 8Ð 8Ð 8Ð 8Ð 8ð ð  ð  ð  ð  ˜#œ'ñ  ô  ð  ð&@ð @ð @ð @ð @Ð-ñ @ô @ð @ðB9ð 9ð 9ð 9ð 9Ð)ñ 9ô 9ð 9ð!ð !ð !ð !ð !ð !r   