ó
    /j-jr  ã                   ó²  • S r SSKrSSKJr  SSKJ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JrJrJrJr  SS
KJr  SSKJrJr  SSKJrJrJr  SSKJrJr  SSK J!r!J"r"J#r#  SSK$J%r%  SSK&J'r'J(r(J)r)J*r*J+r+  SSK&J,r-  SSK&J.r.  SSK/J0r0J1r1  / SQr2SSSSS.S\	\\34   S\3S\!S\	\4S4   S\	\S4   S\4S jjr5SSSSS.S \6S\3S\!S\	\4S4   S\	\S4   S\4S! jjr7g)"aˆ  
PLAYA ain't a LAYout Analyzer... but it can help you get stuff
out of PDFs.

Basic usage:

    with playa.open(path) as pdf:
        for page in pdf.pages:
            print(f"page {page.label}:")
            for obj in page:
                print(f"    {obj.object_type} at {obj.bbox}")
                if obj.object_type == "text":
                    print(f"        chars: {obj.chars}")
é    N)ÚProcessPoolExecutor)ÚBaseContext)ÚPathLike)ÚUnion)Ú__version__)ÚColorÚ
ColorSpace)ÚContentObjectÚGraphicStateÚMarkedContentÚPathSegment)Úasobj)ÚDocumentÚPageList)ÚPDFEncryptionErrorÚPDFExceptionÚPDFPasswordIncorrect)ÚDestinationÚAction)ÚDeviceSpaceÚPageÚ
Annotation)ÚToken)ÚContentStreamÚMatrixÚObjRefÚPointÚRect)Úresolve1)Úresolve_all)Ú_init_workerÚ_init_worker_buffer)r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   Úresolver    r   Ú Úscreené   )ÚpasswordÚspaceÚmax_workersÚ
mp_contextÚpathr'   r(   r)   r*   Úreturnc                ón  • [         R                  " U S5      n[        XQUS9nXVl        Ub  US::  a  [	        S5      eUc  SOUUl        US:X  a  U$ UR                  nUR                  nUR                  n	UR                  R                  5         [        UU[        [        U5      U UUUUU	S.4S9Ul        U$ )a­  Open a PDF document from a path on the filesystem.

Args:
    path: Path to the document to open.
    space: Device space to use ("screen" for screen-like
           coordinates, "page" for pdfminer.six-like coordinates, "default" for
           default user space with no rotation or translation)
    max_workers: Number of worker processes to use for parallel
                 processing of pages (if 1, no workers are spawned)
    mp_context: Multiprocessing context to use for worker
                processes, see [Contexts and Start
                Methods](https://docs.python.org/3/library/multiprocessing.html#contexts-and-start-methods)
                for more information.
Úrb©r'   r(   r   ú*max_workers must be None or greater than 0r&   ©r(   Ú_catalogÚ_xrefsÚ_pages©r)   r*   ÚinitializerÚinitargs)ÚbuiltinsÚopenr   Ú_fpÚ
ValueErrorÚ_ncpusÚcatalogÚxrefsÚpagesÚ_eager_loadr   r!   ÚidÚ_pool)
r+   r'   r(   r)   r*   ÚfpÚpdfr=   r>   r?   s
             ÚK/home/mande/repo/quber/.venv/lib/python3.13/site-packages/playa/__init__.pyr9   r9   G   sÃ   € ô, 
�Š�t˜TÓ	"€BÜ
�2°Ñ
6€CØ„GØÑ ;°!Ó#3ÜÐEÓFÐFØ!Ñ)‘¨{€C„JØ�aÓØˆ
à�k‰k€GØ�I‰I€EØ�I‰I€EØ‡I�I×ÑÔÜ#ØØÜ äˆs‹GØØàØ#ØØñ	ð	

ñ	€C„Ið  €Jó    Úbufferc                ó4  • [        XUS9nUb  US::  a  [        S5      eUc  SOUUl        US:X  a  U$ UR                  nUR                  nUR
                  nUR
                  R                  5         [        UU[        [        U5      U UUUUUS.4S9Ul
        U$ )aÉ  Read a PDF document from binary data.

Note: Potential slowness
    When using multiple processes, this results in the entire
    buffer being copied to the worker processes for the moment,
    which may cause some overhead.  It is preferable to use `open`
    on a filesystem path if possible, since that uses
    memory-mapped I/O.

Args:
    buffer: Buffer containing PDF data.
    space: Device space to use ("screen" for screen-like
           coordinates, "page" for pdfminer.six-like coordinates, "default" for
           default user space with no rotation or translation)
    max_workers: Number of worker processes to use for parallel
                 processing of pages (if 1, no workers are spawned)
    mp_context: Multiprocessing context to use for worker
                processes, see [Contexts and Start
                Methods](https://docs.python.org/3/library/multiprocessing.html#contexts-and-start-methods)
                for more information.

r/   r   r0   r&   r1   r5   )r   r;   r<   r=   r>   r?   r@   r   r"   rA   rB   )	rG   r'   r(   r)   r*   rD   r=   r>   r?   s	            rE   ÚparserI   }   s®   € ô< �6°EÑ
:€CØÑ ;°!Ó#3ÜÐEÓFÐFØ!Ñ)‘¨{€C„JØ�aÓØˆ
à�k‰k€GØ�I‰I€EØ�I‰I€EØ‡I�I×ÑÔÜ#ØØÜ'äˆs‹GØØàØ#ØØñ	ð	

ñ	€C„Ið  €JrF   )8Ú__doc__r8   Úconcurrent.futuresr   Úmultiprocessing.contextr   Úosr   Útypingr   Úplaya._versionr   Úplaya.colorr   r	   Úplaya.contentr
   r   r   r   Ú
playa.datar   Úplaya.documentr   r   Úplaya.exceptionsr   r   r   Úplaya.outliner   r   Ú
playa.pager   r   r   Úplaya.parserr   Úplaya.pdftypesr   r   r   r   r   r   r#   r    Úplaya.workerr!   r"   Ú__all__ÚstrÚintr9   ÚbytesrI   © rF   rE   Ú<module>r_      s&  ðñó Ý 2Ý /Ý Ý å &ß )÷ó õ ß -ß SÑ Sß -ß 4Ñ 4Ý ß EÕ EÝ .Ý &ß :ò€ðB Ø!Ø$%Ø+/ò3Ø
�˜#�Ñ
ð3ð ð3ð ð	3ð
 �s˜D�yÑ!ð3ð �k 4Ð'Ñ(ð3ð õ3ðr Ø!Ø$%Ø+/ò9Øð9ð ð9ð ð	9ð
 �s˜D�yÑ!ð9ð �k 4Ð'Ñ(ð9ð ö9rF   