ó
    �®žj
  ã                   ó°   • S SK r S SKJr  S SKJr  S SKJr  S SKJrJ	r	  S SK
r
S SKJr  S rS\	\\4   S	\4S
 jrS\4S jrSS\S\S	\4S jjrS\S	\4S jrg)é    N)ÚBytesIO)Úislice)ÚPath)ÚListÚUnion)Útqdmc           	   #   ó–   #   • [        U [        5      (       a  [        U 5      n U  H  nU/[        [	        XS-
  5      5      Qv •  M!     g7f)z8Yield successive chunks of chunk_size from the iterable.é   N)Ú
isinstancer   ÚiterÚlistr   )ÚiteratorÚ
chunk_sizeÚfirsts      ÚP/home/mande/repo/quber/.venv/lib/python3.13/site-packages/docling/utils/utils.pyÚchunkifyr      sA   é € ä�(œD×!Ñ!Ü˜“>ˆÛˆØÐ>”tœF 8¸!©^Ó<Ó=Ð>Ô>ò ùs   ‚AA	Úpath_or_streamÚreturnc                 óh  ^^• Sm[         R                  " SS9mUU4S jn[        U [        5      (       a2  U R	                  S5       nU" U5        SSS5        TR                  5       $ [        U [
        5      (       a  U" U 5        TR                  5       $ ! , (       d  f       TR                  5       $ = f)z9Create a stable page_hash of the path_or_stream of a filei   F©Úusedforsecurityc                 ó®   >• U R                  T5      n[        U5      S:”  a4  TR                  U5        U R                  T5      n[        U5      S:”  a  M3  g g )Nr   )ÚreadÚlenÚupdate)Úbinary_streamÚbufÚ
block_sizeÚhashers     €€r   Ú	_hash_bufÚ#create_file_hash.<locals>._hash_buf   sG   ø€ Ø× Ñ  Ó,ˆÜ�#‹h˜‹lØ�M‰M˜#ÔØ×$Ñ$ ZÓ0ˆCô �#‹h˜�ló    ÚrbN)ÚhashlibÚsha256r   r   Úopenr   Ú	hexdigest)r   r    Úafiler   r   s      @@r   Úcreate_file_hashr)      sš   ù€ ð €JÜ�^Š^¨EÑ2€Fö1ô �.¤$×'Ñ'Ø× Ñ  Ô&¨%Ù�eÔ÷ 'ð
 ×ÑÓÐô 
�N¤G×	,Ñ	,Ù�.Ô!à×ÑÓÐ÷ 'Ô&ð
 ×ÑÓÐús   Á	BÂ
B1Ústringc                 óŠ   • [         R                  " SS9nUR                  U R                  S5      5        UR	                  5       $ )NFr   zutf-8)r$   r%   r   Úencoder'   )r*   r   s     r   Úcreate_hashr-   +   s4   € Ü�^Š^¨EÑ2€FØ
‡M�M�&—-‘- Ó(Ô)à×ÑÓÐr"   ÚurlÚprogressc           	      ó²  • [        5       n[        R                  " U SSSS9 n[        UR                  R                  SS5      5      n[        USSSU(       + S9nUR                  S	5       H.  nUR                  U5        UR                  [        U5      5        M0     UR                  5         S S S 5        UR                  S5        U$ ! , (       d  f       N!= f)
NT)é   é   )ÚstreamÚallow_redirectsÚtimeoutzcontent-lengthr   ÚBi   )ÚtotalÚunitÚ
unit_scaleÚunit_divisorÚdisablei (  )r   ÚrequestsÚgetÚintÚheadersr   Úiter_contentÚwriter   r   ÚcloseÚseek)r.   r/   r   ÚresponseÚ
total_sizeÚprogress_barÚchunks          r   Údownload_url_with_progressrH   2   s¿   € Ü
‹)€CÜ	�ŠØ�D¨$¸ò
à	Ü˜×)Ñ)×-Ñ-Ð.>ÀÓBÓCˆ
ÜØØØØØ!”\ñ
ˆð ×*Ñ*¨9Ö5ˆEØ�I‰I�eÔØ×Ñ¤ E£
Ö+ñ 6ð 	×ÑÔ÷
ð" ‡H�HˆQ„KØ€J÷%
õ 
ús   ¢BCÃ
CÚnamec                 ó‚   • SSK n UR                  R                  U 5      $ ! UR                  R                   a     gf = f)a2  Return the installed version of `name`, or `"unknown"` if the
distribution is not present.

Slim installs may not have every distribution available (e.g. the
`docling` meta-package is absent when only `docling-slim` is
installed; `docling-ibm-models` and `docling-parse` are gated behind
optional extras).
r   NÚunknown)Úimportlib.metadataÚmetadataÚversionÚPackageNotFoundError)rI   Ú	importlibs     r   Úsafe_versionrQ   I   sA   € ó ðØ×!Ñ!×)Ñ)¨$Ó/Ð/øØ×Ñ×2Ñ2ó Ùðús   †! ¡>½>)F)r$   Úior   Ú	itertoolsr   Úpathlibr   Útypingr   r   r<   r   r   Ústrr)   r-   ÚboolrH   rQ   © r"   r   Ú<module>rY      sv   ðó Ý Ý Ý ß ã Ý ò?ð U¨7°D¨=Ñ%9ð ¸cô ð*˜ô ñ Cð °4ð ÀGõ ð.�sð ˜sõ r"   