ó
    �®žj/  ã                  ó²   • S SK Jr  S SKJrJr  S SKJr  S SKJr  S SK	J
r
JrJr  S SKJrJr  S SKJr  \
(       a  S SKJr   " S	 S
\\5      r " S S\\5      rg)é    )Úannotations)ÚABCÚabstractmethod)ÚBytesIO)ÚPath)ÚTYPE_CHECKINGÚOptionalÚUnion)ÚPdfDocumentBackendÚPdfPageBackend)ÚPdfBackendOptions)ÚInputDocumentc                  óh   ^ • \ rS rSrSr S       SU 4S jjjr\S	S j5       rS	U 4S jjrSr	U =r
$ )
ÚManagedPdfiumDocumentBackendé   z@Shared lifecycle management for PDFium-backed document backends.c                óN   >• Uc
  [        5       n[        TU ]	  XU5        SU l        g ©NF)r   ÚsuperÚ__init__Ú_closed)ÚselfÚin_docÚpath_or_streamÚoptionsÚ	__class__s       €Úc/home/mande/repo/quber/.venv/lib/python3.13/site-packages/docling/backend/managed_pdfium_backend.pyr   Ú%ManagedPdfiumDocumentBackend.__init__   s(   ø€ ð ‰?Ü'Ó)ˆGÜ‰Ñ˜°Ô9Øˆ�ó    c                ó   • g ©N© ©r   s    r   Ú_close_native_documentÚ3ManagedPdfiumDocumentBackend._close_native_document    ó   € àr   c                ót   >• U R                   (       a  g SU l         U R                  5         [        TU ]  5         g ©NT)r   r#   r   Úunload)r   r   s    €r   r(   Ú#ManagedPdfiumDocumentBackend.unload$   s*   ø€ Ø�<�<ØØˆŒØ×#Ñ#Ô%Ü‰‰Õr   ©r   r    )r   r   r   zUnion[BytesIO, Path]r   zOptional[PdfBackendOptions]ÚreturnÚNone©r+   r,   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   r#   r(   Ú__static_attributes__Ú__classcell__)r   s   @r   r   r      sY   ø† ÙJð 04ð		àð	ð -ð	ð -ð		ð
 
÷	ð 	ð óó ð÷õ r   r   c                  ó@   • \ rS rSrSrSS jr\SS j5       rSS jrSr	g)	ÚManagedPdfiumPageBackendé,   z6Shared page lifecycle for PDFium-backed page backends.c                ó   • SU l         g r   r*   r"   s    r   r   Ú!ManagedPdfiumPageBackend.__init__/   s	   € Øˆ�r   c                ó   • g r    r!   r"   s    r   Ú_close_native_pageÚ+ManagedPdfiumPageBackend._close_native_page2   r%   r   c                óV   • U R                   (       a  g SU l         U R                  5         g r'   )r   r;   r"   s    r   r(   ÚManagedPdfiumPageBackend.unload6   s   € Ø�<�<ØØˆŒØ×ÑÕ!r   r*   Nr-   )
r.   r/   r0   r1   r2   r   r   r;   r(   r3   r!   r   r   r6   r6   ,   s#   † Ù@ôð óó ð÷"r   r6   N)Ú
__future__r   Úabcr   r   Úior   Úpathlibr   Útypingr   r	   r
   Údocling.backend.pdf_backendr   r   Ú!docling.datamodel.backend_optionsr   Údocling.datamodel.documentr   r   r6   r!   r   r   Ú<module>rG      sB   ðõ #ç #Ý Ý ß 1Ñ 1ç JÝ ?æÝ8ôÐ#5°sô ô4"˜~¨sõ "r   