§
    }ŠtjÌ@  ã                   ó$  — d Z ddlZddlZddlmZ ddlmZ ddlmZ ddl	m
Z
mZmZ ddlmZ ddlmZ d	d
lmZmZmZmZmZmZ d	dlmZ d	dlmZmZ e
rd	dlmZ  ej        e ¦  «        Z! ej"        d¦  «        Z#dZ$dddœZ% G d„ d¦  «        Z&e	 	 	 	 d8dee&         de'dz  de'de'de'dz  de'dz  de(e'e'f         dz  de)e'         dz  de*e)e(         e)e(         e'dz  f         fd„¦   «         Z+ G d„ de¦  «        Z, G d „ d!e¦  «        Z-	 	 	 d9d"d#d$e(de'dz  de(e'e'f         dz  de'dz  ddfd%„Z.d&e(fd'„Z/d(e(fd)„Z0d*e(fd+„Z1d"d#d,e'ddfd-„Z2d"d#d.e(d/e3d,e'ddf
d0„Z4d.e(d1e&d/e3de)e'         fd2„Z5d3e)e(         d4e'de-fd5„Z6d"d#d6e)e'         d/e3de)e(         fd7„Z7dS ):z.Git LFS related type definitions and utilitiesé    N)ÚIterable)Úceil)Úgetsize)ÚTYPE_CHECKINGÚBinaryIOÚ	TypedDict)Úunquote)Ú	constantsé   )Úbuild_hf_headersÚfix_hf_endpoint_in_urlÚhf_raise_for_statusÚhttp_backoffÚloggingÚvalidate_hf_hub_args)ÚSliceFileObj)Úsha256Úsha_fileobj)ÚCommitOperationAddz^[0-9a-f]{40}$zlfs-multipart-uploadzapplication/vnd.git-lfs+json)ÚAcceptzContent-Typec            
       óþ   — e Zd ZdZ	 	 ddedededz  dedz  fd„Zedefd	„¦   «         Z	e	j
        d
eddfd„¦   «         Z	edefd„¦   «         Zdefd„Zedefd„¦   «         Zedefd„¦   «         Zedefd„¦   «         ZdS )Ú
UploadInfoa¶  
    Data structure holding required information to determine whether a blob
    should be uploaded to the hub using the LFS protocol or the regular protocol.

    The SHA256 of the blob is computed lazily: creating an `UploadInfo` from a local path only reads
    the first 512 bytes of the file. The full file is read (and hashed) only if `sha256` is accessed
    before it has been set. When a file is uploaded through the Xet protocol, the SHA256 is computed
    during upload (single read pass) and set afterwards.

    Args:
        size (`int`):
            Size in bytes of the blob
        sample (`bytes`):
            First 512 bytes of the blob
        sha256 (`bytes`, *optional*):
            SHA256 hash of the blob, if already known. Otherwise computed lazily from `source_path`.
        source_path (`str`, *optional*):
            Path to the local file the blob comes from. Required to lazily compute `sha256` if not provided.
    NÚsizeÚsampler   Úsource_pathc                 ód   — |€|€t          d¦  «        ‚|| _        || _        || _        || _        d S )Nz2Either `sha256` or `source_path` must be provided.)Ú
ValueErrorr   r   Ú_sha256Ú_source_path)Úselfr   r   r   r   s        úQ/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/huggingface_hub/lfs.pyÚ__init__zUploadInfo.__init__J   s@   € ð ˆ>˜kÐ1ÝÐQÑRÔRÐRØˆŒ	ØˆŒØˆŒØ'ˆÔÐÐó    Úreturnc                 ó²   — | j         €J| j        €J ‚t          | j        d¦  «        5 }t          |¦  «        | _         ddd¦  «         n# 1 swxY w Y   | j         S )zZSHA256 of the blob. If not set yet, reads the whole file from `source_path` to compute it.NÚrb)r   r   Úopenr   )r    Úfiles     r!   r   zUploadInfo.sha256X   s—   € ð Œ<ÐØÔ$Ð0Ð0Ð0Ý�dÔ'¨Ñ.Ô.ð 1°$Ý*¨4Ñ0Ô0�”ð1ð 1ð 1ñ 1ô 1ð 1ð 1ð 1ð 1ð 1ð 1øøøð 1ð 1ð 1ð 1àŒ|Ðs   ¦AÁAÁAÚvaluec                 ó   — || _         d S )N©r   )r    r)   s     r!   r   zUploadInfo.sha256a   s   € àˆŒˆˆr#   c                 ó   — | j         duS )zVWhether the SHA256 is already known (accessing `sha256` will not trigger a file read).Nr+   )r    s    r!   Ú	is_hashedzUploadInfo.is_hashede   s   € ð Œ| 4Ð'Ð'r#   c                 ób   — | j         �| j                              ¦   «         nd}d| j        › d|› d�S )Nz<not computed>zUploadInfo(size=z	, sha256=ú))r   Úhexr   )r    Úshas     r!   Ú__repr__zUploadInfo.__repr__j   s=   € Ø$(¤LÐ$<ˆdŒl×ÒÑ Ô Ð ÐBRˆØ< $¤)Ð<Ð<°cÐ<Ð<Ð<Ð<r#   Úpathc                 óÆ   — t          |¦  «        }t          |d¦  «        5 }|                     d¦  «        d d…         }d d d ¦  «         n# 1 swxY w Y    | |||¬¦  «        S )Nr&   é   )r   r   r   )r   r'   Úpeek)Úclsr3   r   r(   r   s        r!   Ú	from_pathzUploadInfo.from_pathn   sž   € å�t‰}Œ}ˆÝ�$˜ÑÔð 	* Ø—Y’Y˜s‘^”^ D S DÔ)ˆFð	*ð 	*ð 	*ñ 	*ô 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*øøøð 	*ð 	*ð 	*ð 	*àˆs˜ V¸Ð>Ñ>Ô>Ð>s    A
Á
AÁAÚdatac                 óŠ   — t          |¦  «                             ¦   «         } | t          |¦  «        |d d…         |¬¦  «        S )Nr5   )r   r   r   )r   ÚdigestÚlen)r7   r9   r1   s      r!   Ú
from_byteszUploadInfo.from_bytesu   s>   € å�T‰lŒl×!Ò!Ñ#Ô#ˆØˆs�˜D™	œ	¨$¨t°¨t¬*¸SÐAÑAÔAÐAr#   Úfileobjc                 ó  — |                      d¦  «        }|                     dt          j        ¦  «         t	          |¦  «        }|                     ¦   «         }|                     dt          j        ¦  «          | |||¬¦  «        S )Nr5   r   )r   r   r   )ÚreadÚseekÚioÚSEEK_SETr   Útell)r7   r>   r   r1   r   s        r!   Úfrom_fileobjzUploadInfo.from_fileobjz   sp   € à—’˜cÑ"Ô"ˆØ�Š�Q�œÑ$Ô$Ð$Ý˜'Ñ"Ô"ˆØ�|Š|‰~Œ~ˆØ�Š�Q�œÑ$Ô$Ð$Øˆs˜ S°Ð8Ñ8Ô8Ð8r#   )NN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚintÚbytesÚstrr"   Úpropertyr   ÚsetterÚboolr-   r2   Úclassmethodr8   r=   r   rE   © r#   r!   r   r   5   s€  € € € € € ðð ð0  $Ø"&ð(ð (àð(ð ð(ð ˜‘ð	(ð
 ˜4‘Zð(ð (ð (ð (ð ð˜ð ð ð ñ „Xðð „]ð˜Eð  dð ð ð ñ „]ðð ð(˜4ð (ð (ð (ñ „Xð(ð=˜#ð =ð =ð =ð =ð ð?˜Sð ?ð ?ð ?ñ „[ð?ð ðB˜eð Bð Bð Bñ „[ðBð ð9 8ð 9ð 9ð 9ñ „[ð9ð 9ð 9r#   r   Úupload_infosÚtokenÚ	repo_typeÚrepo_idÚrevisionÚendpointÚheadersÚ	transfersr$   c                 ó|  — |�|nt           j        }d}|t           j        v rt           j        |         }|› d|› |› d�}	d|�|nddgd„ | D ¦   «         d	d
œ}
|�dt          |¦  «        i|
d<   i t          ¥t          |¬¦  «        ¥|pi ¥}t          d|	||
¬¦  «        }t          |¦  «         |                     ¦   «         }| 	                    dd¦  «        }t          |t          ¦  «        st          d¦  «        ‚| 	                    d¦  «        }t          |t          ¦  «        r|nd}d„ |D ¦   «         d„ |D ¦   «         |fS )aå  
    Requests the LFS batch endpoint to retrieve upload instructions

    Learn more: https://github.com/git-lfs/git-lfs/blob/main/docs/api/batch.md

    Args:
        upload_infos (`Iterable` of `UploadInfo`):
            `UploadInfo` for the files that are being uploaded, typically obtained
            from `CommitOperationAdd.upload_info`
        token (`str` or `None`):
            An authentication token (see https://huggingface.co/settings/token).
            Pass `None` to fall back to the local cached token (or no token if unauthenticated).
        repo_type (`str`):
            Type of the repo to upload to: `"model"`, `"dataset"` or `"space"`.
        repo_id (`str`):
            A namespace (user or an organization) and a repo name separated
            by a `/`.
        revision (`str`, *optional*):
            The git revision to upload to.
        endpoint (`str`, *optional*):
            The Hub endpoint to send the request to. Defaults to the value of `HF_ENDPOINT`.
        headers (`dict`, *optional*):
            Additional headers to include in the request
        transfers (`list`, *optional*):
            List of transfer methods to use. Defaults to ["basic", "multipart"].

    Returns:
        `LfsBatchInfo`: 3-tuple:
            - First element is the list of upload instructions from the server
            - Second element is a list of errors, if any
            - Third element is the chosen transfer adapter if provided by the server (e.g. "basic", "multipart", "xet")

    Raises:
        [`ValueError`](https://docs.python.org/3/library/exceptions.html#ValueError)
            If an argument is invalid or the server response is malformed.
        [`HfHubHTTPError`]
            If the server returned an error.
    NÚ ú/z.git/info/lfs/objects/batchÚuploadÚbasicÚ	multipartc                 óP   — g | ]#}|j                              ¦   «         |j        d œ‘Œ$S )©Úoidr   )r   r0   r   )Ú.0r]   s     r!   ú
<listcomp>z'post_lfs_batch_info.<locals>.<listcomp>½   sG   € ð 
ð 
ð 
ð
 ð ”}×(Ò(Ñ*Ô*Øœðð ð
ð 
ð 
r#   r   )Ú	operationrY   ÚobjectsÚ	hash_algoÚnameÚref)rS   ÚPOST©rX   Újsonrf   zMalformed response from serverÚtransferc                 ó4   — g | ]}d |v¯t          |¦  «        ‘ŒS ©Úerror)Ú_validate_batch_actions©rc   Úobjs     r!   rd   z'post_lfs_batch_info.<locals>.<listcomp>Ú   s+   € ÐOÐOÐO¨#¸GÈ3Ð<NÐ<NÕ	  Ñ	%Ô	%Ð<NÐ<NÐ<Nr#   c                 ó4   — g | ]}d |v ¯t          |¦  «        ‘ŒS ro   )Ú_validate_batch_errorrr   s     r!   rd   z'post_lfs_batch_info.<locals>.<listcomp>Û   s&   € ÐIÐIÐI¨¸'ÀS¸.¸.Õ	˜sÑ	#Ô	#¸.¸.¸.r#   )r
   ÚENDPOINTÚREPO_TYPES_URL_PREFIXESr	   ÚLFS_HEADERSr   r   r   rl   ÚgetÚ
isinstanceÚlistr   rL   )rR   rS   rT   rU   rV   rW   rX   rY   Ú
url_prefixÚ	batch_urlÚpayloadÚrespÚ
batch_inforf   Úchosen_transfers                  r!   Úpost_lfs_batch_infor‚   „   s¤  € ðb $Ð/ˆxˆxµYÔ5G€HØ€JØ•IÔ5Ð5Ð5ÝÔ6°yÔAˆ
ØÐNÐN˜jÐN¨'ÐNÐNÐN€IàØ"+Ð"7�Y�Y¸gÀ{Ð=Sð
ð 
ð
 'ð
ñ 
ô 
ð ðð €Gð ÐØ ¥'¨(Ñ"3Ô"3Ð4ˆ�‰ðÝ
ðå
 Ð
'Ñ
'Ô
'ðð ˆ=�bð€Gõ
 ˜ 	°7ÀÐIÑIÔI€DÝ˜ÑÔÐØ—’‘”€Jà�nŠn˜Y¨Ñ-Ô-€GÝ�g�tÑ$Ô$ð ;ÝÐ9Ñ:Ô:Ð:à —n’n ZÑ0Ô0€OÝ)3°OÅSÑ)IÔ)IÐS�o�oÈt€Oð 	PÐO°ÐOÑOÔOØIÐI¨wÐIÑIÔIØðð r#   c                   ó$   — e Zd ZU eed<   eed<   dS )ÚPayloadPartTÚ
partNumberÚetagN)rF   rG   rH   rJ   Ú__annotations__rL   rQ   r#   r!   r„   r„   à   s"   € € € € € € Ø€O€O�OØ
€I€I�I€I€Ir#   r„   c                   ó4   — e Zd ZU dZeed<   ee         ed<   dS )ÚCompletionPayloadTz?Payload that will be sent to the Hub when uploading multi-part.rb   ÚpartsN)rF   rG   rH   rI   rL   r‡   r{   r„   rQ   r#   r!   r‰   r‰   å   s2   € € € € € € ØIÐIà	€H€H�HØ�ÔÐÐÑÐÐr#   r‰   re   r   Úlfs_batch_actionc                 ó¸  — t          |¦  «         |                     d¦  «        }|€%t                               d| j        › d�¦  «         dS |d         d         }t          |¦  «         |d                              d¦  «        }|�t          |¦  «         |                     di ¦  «        }|                     d¦  «        }	t          |d	         |¬
¦  «        }
|	�M	 t          |	¦  «        }	n(# t          t          f$ r t          d|	› d�¦  «        ‚w xY wt          | ||	|
¬¦  «         nt          | |
¬¦  «         |�t          |¦  «         t          |d	         |¦  «        }t          d|t          ||¬¦  «        | j        j                             ¦   «         | j        j        dœ¬¦  «        }t%          |¦  «         t                               | j        › d�¦  «         dS )a½  
    Handles uploading a given object to the Hub with the LFS protocol.

    Can be a No-op if the content of the file is already present on the hub large file storage.

    Args:
        operation (`CommitOperationAdd`):
            The add operation triggering this upload.
        lfs_batch_action (`dict`):
            Upload instructions from the LFS batch endpoint for this object. See [`~utils.lfs.post_lfs_batch_info`] for
            more details.
        token (`str`, *optional*):
            An authentication token (see https://huggingface.co/settings/token). Used to call the
            optional LFS verify step at the end of the upload. If `None`, falls back to the local
            cached token.
        headers (`dict`, *optional*):
            Headers to include in the request, including authentication and user agent headers.
        endpoint (`str`, *optional*):
            The Hub endpoint to send the request to. Defaults to the value of `HF_ENDPOINT`.

    Raises:
        [`ValueError`](https://docs.python.org/3/library/exceptions.html#ValueError)
            If `lfs_batch_action` is improperly formatted
        [`HfHubHTTPError`]
            If the upload resulted in an error
    ÚactionsNzContent of file z. is already present upstream - skipping uploadr]   ÚverifyÚheaderÚ
chunk_sizeÚhref)rW   zTMalformed response from LFS batch endpoint: `chunk_size` should be an integer. Got 'z'.)re   r�   r�   Ú
upload_url)re   r’   rj   )rS   rX   ra   rk   z: Upload successful)rq   ry   ÚloggerÚdebugÚpath_in_repoÚ_validate_lfs_actionr   rJ   r   Ú	TypeErrorÚ_upload_multi_partÚ_upload_single_partr   r   Úupload_infor   r0   r   r   )re   r‹   rS   rX   rW   r�   Úupload_actionÚverify_actionr�   r�   r’   Ú
verify_urlÚverify_resps                r!   Ú
lfs_uploadrŸ   ì   s  € õD Ð,Ñ-Ô-Ð-Ø×"Ò" 9Ñ-Ô-€GØ€å�ŠÐn¨	Ô(>ÐnÐnÐnÑoÔoÐoØˆð % YÔ/°Ô9€MÝ˜Ñ'Ô'Ð'Ø$ YÔ/×3Ò3°HÑ=Ô=€MØÐ Ý˜]Ñ+Ô+Ð+ð ×Ò˜x¨Ñ,Ô,€FØ—’˜LÑ)Ô)€JÝ'¨°fÔ(=ÈÐQÑQÔQ€JØÐð	Ý˜Z™œˆJˆJøÝ�IÐ&ð 	ð 	ð 	ÝØuÐgqÐuÐuÐuñô ð ð	øøøõ 	 Y°vÈ*ÐakÐlÑlÔlÐlÐlå i¸JÐGÑGÔGÐGð Ð Ý˜]Ñ+Ô+Ð+Ý+¨M¸&Ô,AÀ8ÑLÔLˆ
Ý"ØØÝ$¨5¸'ÐBÑBÔBØ"Ô.Ô5×9Ò9Ñ;Ô;ÀYÔEZÔE_Ð`Ð`ð	
ñ 
ô 
ˆõ 	˜KÑ(Ô(Ð(Ý
‡L‚L�IÔ*Ð?Ð?Ð?Ñ@Ô@Ð@Ð@Ð@s   ÃC* Ã*%DÚ
lfs_actionc                 óî   — t          |                      d¦  «        t          ¦  «        r=|                      d¦  «        �7t          |                      d¦  «        t          ¦  «        st	          d¦  «        ‚| S )ú.validates response from the LFS batch endpointr‘   r�   Nz"lfs_action is improperly formatted)rz   ry   rL   Údictr   )r    s    r!   r–   r–   9  se   € õ 	�:—>’> &Ñ)Ô)­3Ñ/Ô/ð?à�^Š^˜HÑ%Ô%Ð-µ¸J¿NºNÈ8Ñ<TÔ<TÕVZÑ1[Ô1[Ð-åÐ=Ñ>Ô>Ð>ØÐr#   Úlfs_batch_actionsc                 ó¬  — t          |                      d¦  «        t          ¦  «        r(t          |                      d¦  «        t          ¦  «        st	          d¦  «        ‚|                      di ¦  «                             d¦  «        }|                      di ¦  «                             d¦  «        }|�t          |¦  «         |�t          |¦  «         | S )r¢   rb   r   z)lfs_batch_actions is improperly formattedr�   r]   rŽ   )rz   ry   rL   rJ   r   r–   )r¤   r›   rœ   s      r!   rq   rq   C  sÊ   € åÐ(×,Ò,¨UÑ3Ô3µSÑ9Ô9ð F½jÐIZ×I^ÒI^Ð_eÑIfÔIfÕhkÑ>lÔ>lð FÝÐDÑEÔEÐEà%×)Ò)¨)°RÑ8Ô8×<Ò<¸XÑFÔF€MØ%×)Ò)¨)°RÑ8Ô8×<Ò<¸XÑFÔF€MØÐ Ý˜]Ñ+Ô+Ð+ØÐ Ý˜]Ñ+Ô+Ð+ØÐr#   Úlfs_batch_errorc                 óÖ  — t          |                      d¦  «        t          ¦  «        r(t          |                      d¦  «        t          ¦  «        st	          d¦  «        ‚|                      d¦  «        }t          |t
          ¦  «        rPt          |                     d¦  «        t          ¦  «        r(t          |                     d¦  «        t          ¦  «        st	          d¦  «        ‚| S )r¢   rb   r   z'lfs_batch_error is improperly formattedrp   ÚmessageÚcode)rz   ry   rL   rJ   r   r£   )r¦   Ú
error_infos     r!   ru   ru   Q  sÑ   € å�×*Ò*¨5Ñ1Ô1µ3Ñ7Ô7ð D½JÀ×GZÒGZÐ[aÑGbÔGbÕdgÑ<hÔ<hð DÝÐBÑCÔCÐCØ ×$Ò$ WÑ-Ô-€Jå�:�tÑ$Ô$ðDå�z—~’~ iÑ0Ô0µ#Ñ6Ô6ðDõ �z—~’~ fÑ-Ô-­sÑ3Ô3ðDõ
 ÐBÑCÔCÐCØÐr#   r’   c                 ó¦   — |                       d¬¦  «        5 }t          d||¬¦  «        }t          |¦  «         ddd¦  «         dS # 1 swxY w Y   dS )aK  
    Uploads `fileobj` as a single PUT HTTP request (basic LFS transfer protocol)

    Args:
        upload_url (`str`):
            The URL to PUT the file to.
        fileobj:
            The file-like object holding the data to upload.

    Raises:
        [`HfHubHTTPError`]
            If the upload resulted in an error.
    T©Ú	with_tqdmÚPUT©r9   N)Úas_filer   r   )re   r’   r>   Úresponses       r!   r™   r™   _  sž   € ð 
×	Ò	 TÐ	Ñ	*Ô	*ð &¨gå  z¸Ð@Ñ@Ô@ˆÝ˜HÑ%Ô%Ð%ð&ð &ð &ñ &ô &ð &ð &ð &ð &ð &ð &ð &øøøð &ð &ð &ð &ð &ð &s   —"AÁA
ÁA
r�   r�   c           	      óú   — t          || j        |¬¦  «        }t          | ||¬¦  «        }t          d|t	          || j        j                             ¦   «         ¦  «        t          ¬¦  «        }t          |¦  «         dS )z@
    Uploads file using HF multipart LFS transfer protocol.
    )r�   rš   r�   )re   Úsorted_parts_urlsr�   rj   )rl   rX   N)	Ú_get_sorted_parts_urlsrš   Ú_upload_parts_iterativelyr   Ú_get_completion_payloadr   r0   rx   r   )re   r�   r�   r’   r³   Úresponse_headersÚcompletion_ress          r!   r˜   r˜   s  s‘   € õ
 /°fÈ)ÔJ_ÐlvÐwÑwÔwÐõ 1ØÐ/@ÈZðñ ô Ðõ "ØØÝ$Ð%5°yÔ7LÔ7S×7WÒ7WÑ7YÔ7YÑZÔZÝð	ñ ô €Nõ ˜Ñ'Ô'Ð'Ð'Ð'r#   rš   c                 óè   — d„ t          d„ |                      ¦   «         D ¦   «         d„ ¬¦  «        D ¦   «         }t          |¦  «        }|t          |j        |z  ¦  «        k    rt          d¦  «        ‚|S )Nc                 ó   — g | ]\  }}|‘ŒS rQ   rQ   )rc   Ú_r’   s      r!   rd   z*_get_sorted_parts_urls.<locals>.<listcomp>‹  s,   € ð 
ð 
ð 
áˆAˆzð 	ð
ð 
ð 
r#   c                 ó†   — g | ]>\  }}|                      ¦   «         r%t          |¦  «        d k    ¯,t          |d¦  «        |f‘Œ?S )r   é
   )Úisdigitr<   rJ   )rc   Úpart_numr’   s      r!   rd   z*_get_sorted_parts_urls.<locals>.<listcomp>Ž  s\   € ð ð ð á(�H˜jØ×#Ò#Ñ%Ô%ðõ +.¨h©-¬-¸!Ò*;Ð*;õ �X˜rÑ"Ô" JÐ/à*;Ð*;Ð*;r#   c                 ó   — | d         S )Nr   rQ   )Úts    r!   ú<lambda>z(_get_sorted_parts_urls.<locals>.<lambda>“  s
   € ˜!˜Aœ$€ r#   )Úkeyz0Invalid server response to upload large LFS file)ÚsortedÚitemsr<   r   r   r   )r�   rš   r�   Úsorted_part_upload_urlsÚ	num_partss        r!   r´   r´   Š  s›   € ð
ð 
å#ðð à,2¯LªL©N¬Nðñ ô ð
 �ð
ñ 
ô 
ð
ñ 
ô 
Ðõ Ð+Ñ,Ô,€IØ•D˜Ô)¨JÑ6Ñ7Ô7Ò7Ð7ÝÐKÑLÔLÐLØ"Ð"r#   r·   rb   c                 óÚ   — g }t          | ¦  «        D ]U\  }}|                     d¦  «        }|�|dk    rt          d|› d|dz   › �¦  «        ‚|                     |dz   |dœ¦  «         ŒV||dœS )Nr†   r[   zInvalid etag (`z`) returned for part r   )r…   r†   )rb   rŠ   )Ú	enumeratery   r   Úappend)r·   rb   rŠ   Úpart_numberr�   r†   s         r!   r¶   r¶   œ  s¥   € Ø "€EÝ(Ð)9Ñ:Ô:ð 	
ð 	
Ñˆ�VØ�zŠz˜&Ñ!Ô!ˆØˆ<˜4 2š:˜:ÝÐ[¨tÐ[Ð[È+ÐXYÉ/Ð[Ð[Ñ\Ô\Ð\Ø�Šà)¨A™oØðð ñ	
ô 	
ð 	
ð 	
ð  Ð'Ð'Ð'r#   r³   c                 ób  — g }|                       d¬¦  «        5 }t          |¦  «        D ]m\  }}t          |||z  |¬¦  «        5 }t          d||¬¦  «        }t	          |¦  «         |                     |j        ¦  «         d d d ¦  «         n# 1 swxY w Y   Œn	 d d d ¦  «         n# 1 swxY w Y   |S )NTr¬   )Ú	seek_fromÚ
read_limitr®   r¯   )r°   rÉ   r   r   r   rÊ   rX   )	re   r³   r�   rX   r>   Úpart_idxÚpart_upload_urlÚfileobj_sliceÚpart_upload_ress	            r!   rµ   rµ   «  sK  € ð €GØ	×	Ò	 TÐ	Ñ	*Ô	*ð 
8¨gÝ)2Ð3DÑ)EÔ)Eð 		8ð 		8Ñ%ˆH�oÝØØ$ xÑ/Ø%ðñ ô ð 8ð å".¨u°oÈMÐ"ZÑ"ZÔ"Z�Ý# OÑ4Ô4Ð4Ø—’˜Ô6Ñ7Ô7Ð7ð8ð 8ð 8ñ 8ô 8ð 8ð 8ð 8ð 8ð 8ð 8øøøð 8ð 8ð 8ð 8øð		8ð
8ð 
8ð 
8ñ 
8ô 
8ð 
8ð 
8ð 
8ð 
8ð 
8ð 
8øøøð 
8ð 
8ð 
8ð 
8ð €Ns5   ™*B$Á<BÁ?B$ÂBÂB$ÂBÂB$Â$B(Â+B()NNNN)NNN)8rI   rB   ÚreÚcollections.abcr   Úmathr   Úos.pathr   Útypingr   r   r   Úurllib.parser	   Úhuggingface_hubr
   Úutilsr   r   r   r   r   r   Ú
utils._lfsr   Ú	utils.shar   r   Ú_commit_apir   Ú
get_loggerrF   r“   ÚcompileÚ	OID_REGEXÚLFS_MULTIPART_UPLOAD_COMMANDrx   r   rL   r£   r{   Útupler‚   r„   r‰   rŸ   r–   rq   ru   r™   rJ   r˜   r´   r¶   rµ   rQ   r#   r!   ú<module>rã      s³  ðð 5Ð 4à 	€	€	€	Ø 	€	€	€	Ø $Ð $Ð $Ð $Ð $Ð $Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø  Ð  Ð  Ð  Ð  Ð  à %Ð %Ð %Ð %Ð %Ð %ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð %Ð $Ð $Ð $Ð $Ð $Ø *Ð *Ð *Ð *Ð *Ð *Ð *Ð *ð ð 0Ø/Ð/Ð/Ð/Ð/Ð/à	ˆÔ	˜HÑ	%Ô	%€àˆBŒJÐ(Ñ)Ô)€	à5Ð ð -Ø2ðð €ðL9ð L9ð L9ð L9ð L9ñ L9ô L9ð L9ð^ ð  ØØ%)Ø"&ðXð XØ˜:Ô&ðXà�‰:ðXð ðXð ð	Xð
 �D‰jðXð �D‰jðXð �#�s�(Œ^˜dÑ"ðXð �CŒy˜4ÑðXð ˆ4�Œ:�t˜D”z 3¨¡:Ð-Ô.ðXð Xð Xñ ÔðXðvð ð ð ð �9ñ ô ð ð
ð ð ð ð ˜ñ ô ð ð Ø%)ØðJAð JAØ#ðJAàðJAð �‰:ðJAð �#�s�(Œ^˜dÑ"ð	JAð
 �D‰jðJAð 
ðJAð JAð JAð JAðZ Tð ð ð ð ð¨tð ð ð ð ð¨4ð ð ð ð ð&Ð#7ð &ÀSð &ÈTð &ð &ð &ð &ð((Ð"6ð (Àð (ÐRUð (Ðcfð (Ðkoð (ð (ð (ð (ð.# 4ð #°jð #Ècð #ÐVZÐ[^ÔV_ð #ð #ð #ð #ð$(¨d°4¬jð (¸sð (ÐGYð (ð (ð (ð (ðØ#ðØ8<¸S¼	ðØORðà	ˆ$„Zðð ð ð ð ð r#   