ó
    �®žj¡  ã                   ó®  • % S SK r S SKJr  S SKJr  S SKJrJrJrJ	r	  S SK
JrJr  S SKJrJr  S\	\\4   S\	\\4   4S	 jr\\	\\4   \" \5      4   rS
\ R&                  4r\\S'    " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r\" 5       rS\4S jr\SSSS.S\S-  S\S-  S\S-  S\\   4S jj5       rS\4S jrg)é    N)Úcontextmanager)ÚPath)Ú	AnnotatedÚIteratorÚOptionalÚTuple)ÚAfterValidatorÚ	BaseModel)ÚBaseSettingsÚSettingsConfigDictÚvÚreturnc                 óF   • U S   S:  d  U S   U S   :  a  [        S5      eU $ )Nr   é   uB   Invalid page range: start must be â‰¥ 1 and end must be â‰¥ start.)Ú
ValueError)r   s    ÚW/home/mande/repo/quber/.venv/lib/python3.13/site-packages/docling/datamodel/settings.pyÚ_validate_page_ranger      s2   € Øˆ�tˆaƒx�1�Q‘4˜!˜A™$“;ÜØPó
ð 	
ð €Hó    r   ÚDEFAULT_PAGE_RANGEc                   óh   • \ rS rSr% \R
                  r\\S'   \R
                  r	\\S'   \
r\\S'   Srg)ÚDocumentLimitsé   Úmax_num_pagesÚmax_file_sizeÚ
page_range© N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__ÚsysÚmaxsizer   ÚintÚ__annotations__r   r   r   Ú	PageRangeÚ__static_attributes__r   r   r   r   r      s(   ‡ ØŸ™€M�3Ó$ØŸ™€M�3Ó$Ø.€J�	Ö.r   r   c                   ó\   • \ rS rSr% Sr\\S'   Sr\\S'   Sr\\S'   Sr	\\S'   Sr
\\S	'   S
rg)ÚBatchConcurrencySettingsé    r   Údoc_batch_sizeÚdoc_batch_concurrencyé   Úpage_batch_sizeÚpage_batch_concurrencyé   Úelements_batch_sizer   N)r   r   r   r    r*   r#   r$   r+   r-   r.   r0   r&   r   r   r   r(   r(       s;   ‡ Ø€N�CÓØ!"Ð˜3Ó"Ø€O�SÓØ"#Ð˜CÓ#à
ð ˜ö r   r(   c                   ó¨   • \ rS rSr% Sr\\S'   Sr\\S'   Sr\\S'   Sr	\\S'   Sr
\\S'   Sr\\S'   \" \R                  " 5       S	-  5      r\\S
'   Srg)ÚDebugSettingsé,   FÚvisualize_cellsÚvisualize_ocrÚvisualize_layoutÚvisualize_raw_layoutÚvisualize_tablesÚprofile_pipeline_timingsÚdebugÚdebug_output_pathr   N)r   r   r   r    r4   Úboolr$   r5   r6   r7   r8   r9   Ústrr   Úcwdr;   r&   r   r   r   r2   r2   ,   s_   ‡ Ø!€O�TÓ!Ø€M�4ÓØ"Ð�dÓ"Ø!&Ð˜$Ó&Ø"Ð�dÓ"à%*Ð˜dÓ*ñ ! §¢£¨gÑ!5Ó6Ð�sÖ6r   r2   c                   ó$   • \ rS rSr% Sr\\S'   Srg)ÚInferenceSettingsé9   FÚcompile_torch_modelsr   N)r   r   r   r    rB   r<   r$   r&   r   r   r   r@   r@   9   s   ‡ Ø!&Ð˜$Ö&r   r@   c                   óº   • \ rS rSr% \" SSSS9r\" 5       r\\S'   \	" 5       r
\	\S'   \" 5       r\\S'   \R                  " 5       S	-  S
-  r\\S'   Sr\\   \S'   Srg)ÚAppSettingsé=   ÚDOCLING_Ú_r   )Ú
env_prefixÚenv_nested_delimiterÚenv_nested_max_splitÚperfr:   Ú	inferencez.cacheÚdoclingÚ	cache_dirNÚartifacts_pathr   )r   r   r   r    r   Úmodel_configr(   rK   r$   r2   r:   r@   rL   r   ÚhomerN   rO   r   r&   r   r   r   rD   rD   =   se   ‡ Ù%Ø°CÈañ€Lñ &>Ó%?€DÐ
"Ó?Ù(›?€Eˆ=Ó*Ù#4Ó#6€IÐ Ó6à—i’i“k HÑ,¨yÑ8€IˆtÓ8Ø%)€N�H˜T‘NÖ)r   rD   c                  ó   • [        5       $ )zHReturn a fresh settings instance populated from the current environment.)rD   r   r   r   ÚdefaultsrS   M   s
   € ä‹=Ðr   ©rK   r:   rL   rK   r:   rL   c              #   ón  #   • [         R                  R                  SS9[         R                  R                  SS9[         R                  R                  SS9S.n U b  U [         l        Ub  U[         l        Ub  U[         l        [         v •  US   R                  SS9[         l        US   R                  SS9[         l        US   R                  SS9[         l        g! US   R                  SS9[         l        US   R                  SS9[         l        US   R                  SS9[         l        f = f7f)z@Temporarily override selected settings and restore them on exit.T)ÚdeeprT   NrK   r:   rL   )ÚsettingsrK   Ú
model_copyr:   rL   )rK   r:   rL   Úsaveds       r   ÚscopedrZ   R   s  é € ô —‘×(Ñ(¨dÐ(Ð3Ü—‘×*Ñ*°Ð*Ð5Ü×'Ñ'×2Ñ2¸Ð2Ð=ñ€EðFØÑØ ŒHŒMØÑØ"ŒHŒNØÑ Ø!*ŒHÔÜŠà˜f™×0Ñ0°dÐ0Ð;ŒŒØ˜w™×2Ñ2¸Ð2Ð=ŒŒØ" ;Ñ/×:Ñ:ÀÐ:ÐEŒÕøð ˜f™×0Ñ0°dÐ0Ð;ŒŒØ˜w™×2Ñ2¸Ð2Ð=ŒŒØ" ;Ñ/×:Ñ:ÀÐ:ÐEŒÕüs    ‚AD5Á2C ÂAD5ÃAD2Ä2D5c                  ó6   • [         R                  R                  $ )N)rW   rL   rB   r   r   r   Údefault_compile_modelr\   n   s   € Ü×Ñ×2Ñ2Ð2r   ) r!   Ú
contextlibr   Úpathlibr   Útypingr   r   r   r   Úpydanticr	   r
   Úpydantic_settingsr   r   r#   r   r%   r"   r   r$   r   r(   r2   r@   rD   rW   rS   rZ   r<   r\   r   r   r   Ú<module>rb      s.  ðô Ý %Ý ß 7Ó 7ç .ß >ð˜E # s (™Oð °°c¸3°h±ô ð �e˜C ˜H‘o¡~Ð6JÓ'KÐKÑL€	à!" C§K¡KÐ 0Ð �IÓ 0ô/�Yô /ô˜yô ô
7�Iô 
7ô'˜	ô 'ô
*�,ô 
*ñ ‹=€ð�+ô ð
 ð -1Ø"&Ø*.ò	Fà
" TÑ
)ðFð ˜4ÑðFð ! 4Ñ'ð	Fð
 ˆkÑôFó ðFð63˜tõ 3r   