§
    dÒ³gS"  ã                   óB  — d dl mZmZmZmZmZmZmZmZ d dl	m
Z
 ddlmZ ddlmZ ddlm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mZ erddlmZ ddlmZ ddlmZ ddlmZ eeee e!f                  Z" G d„ d¦  «        Z# G d„ de#¦  «        Z$ G d„ de#¦  «        Z%dS )é    )ÚBinaryIOÚIterableÚListÚOptionalÚSequenceÚTYPE_CHECKINGÚUnionÚcast)Ú	PSLiteralé   )Úutils)ÚPDFColorSpace)ÚPDFFont)ÚPDFUnicodeNotDefined)ÚPDFPage)Ú	PDFStream)ÚMatrixÚPointÚRectÚPathSegment)ÚPDFGraphicState)ÚPDFResourceManager)ÚPDFTextState)Ú	PDFStackTc                   óR  — e Zd ZdZd,d„Zdefd„Zd-d„Zd	ed
ededdfd„Z	d.d„Z
deddfd„Zd/deded         ddfd„Zd.d„Zd/deded         ddfd„Zdededdfd„Zdeddfd„Zdedededdfd„Zdeddfd„Zddd ed!ed"ed#ee         ddfd$„Zded%eddfd&„Zd'd(d)ed*eddddf
d+„Z dS )0Ú	PDFDevicezGTranslate the output of PDFPageInterpreter to the output that is neededÚrsrcmgrr   ÚreturnNc                 ó"   — || _         d | _        d S ©N)r   Úctm)Úselfr   s     úP/var/www/html/mpstechhub/venv/lib/python3.11/site-packages/pdfminer/pdfdevice.pyÚ__init__zPDFDevice.__init__"   s   € ØˆŒØ%)ˆŒˆˆó    c                 ó   — dS )Nz<PDFDevice>© ©r"   s    r#   Ú__repr__zPDFDevice.__repr__&   s   € Øˆ}r%   c                 ó   — | S r    r'   r(   s    r#   Ú	__enter__zPDFDevice.__enter__)   s   € Øˆr%   Úexc_typeÚexc_valÚexc_tbc                 ó.   — |                       ¦   «          d S r    )Úclose)r"   r,   r-   r.   s       r#   Ú__exit__zPDFDevice.__exit__,   s   € Ø�
Š
‰Œˆˆˆr%   c                 ó   — d S r    r'   r(   s    r#   r0   zPDFDevice.close/   ó   € Øˆr%   r!   c                 ó   — || _         d S r    )r!   )r"   r!   s     r#   Úset_ctmzPDFDevice.set_ctm2   s   € ØˆŒˆˆr%   ÚtagÚpropsr   c                 ó   — d S r    r'   ©r"   r6   r7   s      r#   Ú	begin_tagzPDFDevice.begin_tag5   r3   r%   c                 ó   — d S r    r'   r(   s    r#   Úend_tagzPDFDevice.end_tag8   r3   r%   c                 ó   — d S r    r'   r9   s      r#   Údo_tagzPDFDevice.do_tag;   r3   r%   Úpagec                 ó   — d S r    r'   )r"   r?   r!   s      r#   Ú
begin_pagezPDFDevice.begin_page>   r3   r%   c                 ó   — d S r    r'   ©r"   r?   s     r#   Úend_pagezPDFDevice.end_pageA   r3   r%   ÚnameÚbboxÚmatrixc                 ó   — d S r    r'   )r"   rE   rF   rG   s       r#   Úbegin_figurezPDFDevice.begin_figureD   r3   r%   c                 ó   — d S r    r'   )r"   rE   s     r#   Ú
end_figurezPDFDevice.end_figureG   r3   r%   Úgraphicstater   ÚstrokeÚfillÚevenoddÚpathc                 ó   — d S r    r'   )r"   rL   rM   rN   rO   rP   s         r#   Ú
paint_pathzPDFDevice.paint_pathJ   s	   € ð 	ˆr%   Ústreamc                 ó   — d S r    r'   )r"   rE   rS   s      r#   Úrender_imagezPDFDevice.render_imageT   r3   r%   Ú	textstater   ÚseqÚncsc                 ó   — d S r    r'   )r"   rV   rW   rX   rL   s        r#   Úrender_stringzPDFDevice.render_stringW   s	   € ð 	ˆr%   )r   r   r   N)r   r   ©r   Nr    )!Ú__name__Ú
__module__Ú__qualname__Ú__doc__r$   Ústrr)   r+   Úobjectr1   r0   r   r5   r   r   r:   r<   r>   r   rA   rD   r   rI   rK   Úboolr   r   rR   r   rU   Ú
PDFTextSeqr   rZ   r'   r%   r#   r   r      s›  € € € € € ØQÐQð*ð *ð *ð *ð˜#ð ð ð ð ðð ð ð ð ð °&ð À&ð ÈTð ð ð ð ðð ð ð ð˜6ð  dð ð ð ð ðð ˜Yð ¨x¸Ô/Dð ÐPTð ð ð ð ðð ð ð ðð ˜)ð ¨H°[Ô,Að ÈTð ð ð ð ð˜wð ¨Vð ¸ð ð ð ð ð˜Wð ¨ð ð ð ð ð ð ¨Dð ¸&ð ÀTð ð ð ð ð˜sð  tð ð ð ð ðà'ðð ðð ð	ð
 ðð �{Ô#ðð 
ðð ð ð ð ð ¨ið ¸Dð ð ð ð ðà!ðð ðð ð	ð
 (ðð 
ðð ð ð ð ð r%   r   c                   óÎ   — e Zd Zdddededdddf
d	„Zded
ededede	de	de	de	de	de	dedddefd„Z
ded
ededede	de	de	de	de	de	dedddefd„Zd
edede	de	de	dededdde	fd„ZdS )ÚPDFTextDevicerV   r   rW   rX   rL   r   r   Nc                 óÔ  — | j         €J ‚t          j        |j        | j         ¦  «        }|j        }|j        }|j        dz  }|j        |z  }	|j        |z  }
|j	        }|€J ‚| 
                    ¦   «         rd}
d|z  |z  }|                     ¦   «         r,|                      |||j        ||||	|
||||¦  «        |_        d S |                      |||j        ||||	|
||||¦  «        |_        d S )Ng{®Gáz„?r   gü©ñÒMbP?)r!   r   Úmult_matrixrG   ÚfontÚfontsizeÚscalingÚ	charspaceÚ	wordspaceÚriseÚis_multibyteÚis_verticalÚrender_string_verticalÚ
linematrixÚrender_string_horizontal)r"   rV   rW   rX   rL   rG   rh   ri   rj   rk   rl   rm   Údxscales                r#   rZ   zPDFTextDevice.render_stringb   s:  € ð ŒxÐ#Ð#Ð#ÝÔ" 9Ô#3°T´XÑ>Ô>ˆØŒ~ˆØÔ%ˆØÔ# dÑ*ˆØÔ'¨'Ñ1ˆ	ØÔ'¨'Ñ1ˆ	ØŒ~ˆØÐÐÐØ×ÒÑÔð 	ØˆIØ˜(Ñ" WÑ,ˆØ×ÒÑÔð 	Ø#'×#>Ò#>ØØØÔ$ØØØØØØØØØñ$ô $ˆIÔ Ð Ð ð $(×#@Ò#@ØØØÔ$ØØØØØØØØØñ$ô $ˆIÔ Ð Ð r%   rG   Úposrh   ri   rj   rk   rl   rm   rs   c                 ó4  — |\  }}d}|D ]‹}t          |t          t          f¦  «        r|||
z  z  }d}Œ)|                     |¦  «        D ]L}|r||z  }||                      t          j        |||f¦  «        ||||	|||¦  «        z  }|dk    r|r||z  }d}ŒMŒŒ||fS ©NFTé    ©Ú
isinstanceÚintÚfloatÚdecodeÚrender_charr   Útranslate_matrix©r"   rW   rG   rt   rh   ri   rj   rk   rl   rm   rs   rX   rL   ÚxÚyÚneedcharspaceÚobjÚcids                     r#   rr   z&PDFTextDevice.render_string_horizontal”   óì   € ð ‰ˆˆAØˆØð 	)ð 	)ˆCÝ˜#¥¥U˜|Ñ,Ô,ð )Ø�S˜7‘]Ñ"�Ø $��àŸ;š; sÑ+Ô+ð )ð )�CØ$ð 'Ø˜Y™˜Ø˜×)Ò)ÝÔ.¨v¸¸1°vÑ>Ô>ØØ ØØØØØ$ñ	ô 	ñ 	�Að ˜b’y�y Y�yØ˜Y™˜Ø$(�M�Mð)ð  �1ˆvˆr%   c                 ó4  — |\  }}d}|D ]‹}t          |t          t          f¦  «        r|||
z  z  }d}Œ)|                     |¦  «        D ]L}|r||z  }||                      t          j        |||f¦  «        ||||	|||¦  «        z  }|dk    r|r||z  }d}ŒMŒŒ||fS rv   rx   r   s                     r#   rp   z$PDFTextDevice.render_string_vertical¼   r…   r%   r„   c	                 ó   — dS ©Nr   r'   )	r"   rG   rh   ri   rj   rm   r„   rX   rL   s	            r#   r}   zPDFTextDevice.render_charä   s	   € ð ˆqr%   )r\   r]   r^   rc   r   rZ   r   r   r   r{   rr   rp   rz   r}   r'   r%   r#   re   re   a   sï  € € € € € ð0à!ð0ð ð0ð ð	0ð
 (ð0ð 
ð0ð 0ð 0ð 0ðd&àð&ð ð&ð ð	&ð
 ð&ð ð&ð ð&ð ð&ð ð&ð ð&ð ð&ð ð&ð (ð&ð 
ð&ð &ð &ð &ðP&àð&ð ð&ð ð	&ð
 ð&ð ð&ð ð&ð ð&ð ð&ð ð&ð ð&ð ð&ð (ð&ð 
ð&ð &ð &ð &ðPàðð ðð ð	ð
 ðð ðð ðð ðð (ðð 
ðð ð ð ð ð r%   re   c            
       óÆ   — e Zd Z	 ddddededdfd„Zd	d
dededdddf
d„Zde	de
ddfd„Zde	ddfd„Zddeded         ddfd„Zdd„Zddeded         ddfd„Zdeddfd„ZdS )ÚTagExtractorúutf-8r   r   ÚoutfpÚcodecr   Nc                 ót   — t                                | |¦  «         || _        || _        d| _        g | _        d S rˆ   )r   r$   rŒ   r�   ÚpagenoÚ_stack)r"   r   rŒ   r�   s       r#   r$   zTagExtractor.__init__ó   s:   € õ 	×Ò˜4 Ñ)Ô)Ð)ØˆŒ
ØˆŒ
ØˆŒØ')ˆŒˆˆr%   rV   r   rW   rX   rL   r   c                 ó€  — |j         }|€J ‚d}|D ]†}t          |t          ¦  «        rt          j        |¦  «        }t          |t
          ¦  «        sŒA|                     |¦  «        }|D ]-}		 |                     |	¦  «        }
||
z  }Œ# t          $ r Y Œ*w xY wŒ‡|  	                    t          j
        |¦  «        ¦  «         d S )NÚ )rh   ry   r`   r   Úmake_compat_bytesÚbytesr|   Ú	to_unichrr   Ú_writeÚenc)r"   rV   rW   rX   rL   rh   Útextrƒ   Úcharsr„   Úchars              r#   rZ   zTagExtractor.render_stringü   sê   € ð Œ~ˆØÐÐÐØˆØð 	ð 	ˆCÝ˜#�sÑ#Ô#ð 3ÝÔ-¨cÑ2Ô2�Ý˜c¥5Ñ)Ô)ð ØØ—K’K Ñ$Ô$ˆEØð ð �ðØŸ>š>¨#Ñ.Ô.�DØ˜D‘L�D�DøÝ+ð ð ð Ø�Dðøøøð	ð 	�Š•E”I˜d‘O”OÑ$Ô$Ð$Ð$Ð$s   Á+BÂ
BÂBr?   r!   c                 ó‚   — d| j         t          j        |j        ¦  «        |j        fz  }|                      |¦  «         d S )Nz$<page id="%s" bbox="%s" rotate="%d">)r�   r   Úbbox2strÚmediaboxÚrotater–   )r"   r?   r!   Úoutputs       r#   rA   zTagExtractor.begin_page  sC   € Ø7ØŒKÝŒN˜4œ=Ñ)Ô)ØŒKð;
ñ 
ˆð
 	�Š�FÑÔÐØˆr%   c                 óP   — |                       d¦  «         | xj        dz  c_        d S )Nz</page>
r   )r–   r�   rC   s     r#   rD   zTagExtractor.end_page  s)   € Ø�Š�KÑ Ô Ð ØˆŒ�qÑˆŒØˆr%   r6   r7   r   c                 óŽ  — d}t          |t          ¦  «        r>d                     d„ t          |                     ¦   «         ¦  «        D ¦   «         ¦  «        }d                     t          j        t          t          |j
        ¦  «        ¦  «        |¦  «        }|                      |¦  «         | j                             |¦  «         d S )Nr’   c                 óˆ   — g | ]?\  }}d                       t          j        |¦  «        t          j        |¦  «        ¦  «        ‘Œ@S )z {}="{}")Úformatr   r—   Úmake_compat_str)Ú.0ÚkÚvs      r#   ú
<listcomp>z*TagExtractor.begin_tag.<locals>.<listcomp>&  sO   € ð ð ð á˜˜Að ×%Ò%¥e¤i°¡l¤lµEÔ4IÈ!Ñ4LÔ4LÑMÔMðð ð r%   z<{}{}>)ry   ÚdictÚjoinÚsortedÚitemsr£   r   r—   r
   r`   rE   r–   r�   Úappend)r"   r6   r7   ÚsÚout_ss        r#   r:   zTagExtractor.begin_tag"  s°   € ØˆÝ�e�TÑ"Ô"ð 	Ø—’ðð å"(¨¯ª©¬Ñ"7Ô"7ðñ ô ñô ˆAð —’¥¤	­$­s°C´HÑ*=Ô*=Ñ >Ô >ÀÑBÔBˆØ�Š�EÑÔÐØŒ×Ò˜3ÑÔÐØˆr%   c                 ó  — | j         sJ t          | j        ¦  «        ¦   «         ‚| j                              d¦  «        }dt	          j        t          t          |j        ¦  «        ¦  «        z  }|                      |¦  «         d S )Néÿÿÿÿz</%s>)	r�   r`   r�   Úpopr   r—   r
   rE   r–   )r"   r6   r¯   s      r#   r<   zTagExtractor.end_tag0  sl   € ØŒ{Ð,Ð,�C ¤Ñ,Ô,Ñ,Ô,Ð,ØŒk�oŠo˜bÑ!Ô!ˆØ�%œ)¥D­¨c¬hÑ$7Ô$7Ñ8Ô8Ñ8ˆØ�Š�EÑÔÐØˆr%   c                 óf   — |                       ||¦  «         | j                             d¦  «         d S )Nr±   )r:   r�   r²   r9   s      r#   r>   zTagExtractor.do_tag7  s/   € Ø�Š�s˜EÑ"Ô"Ð"ØŒ�Š˜ÑÔÐØˆr%   r®   c                 ój   — | j                              |                     | j        ¦  «        ¦  «         d S r    )rŒ   ÚwriteÚencoder�   )r"   r®   s     r#   r–   zTagExtractor._write<  s,   € ØŒ
×Ò˜Ÿš $¤*Ñ-Ô-Ñ.Ô.Ð.Ð.Ð.r%   )r‹   r    r[   )r\   r]   r^   r   r`   r$   rc   r   rZ   r   r   rA   rD   r   r   r:   r<   r>   r–   r'   r%   r#   rŠ   rŠ   ò   s|  € € € € € àKRð*ð *Ø+ð*Ø4<ð*ØEHð*à	ð*ð *ð *ð *ð%à!ð%ð ð%ð ð	%ð
 (ð%ð 
ð%ð %ð %ð %ð0˜wð ¨Vð ¸ð ð ð ð ð˜Wð ¨ð ð ð ð ð
ð ˜Yð ¨x¸Ô/Dð ÐPTð ð ð ð ðð ð ð ðð ˜)ð ¨H°[Ô,Að ÈTð ð ð ð ð
/˜ð / ð /ð /ð /ð /ð /ð /r%   rŠ   N)&Útypingr   r   r   r   r   r   r	   r
   Úpdfminer.psparserr   r’   r   Úpdfcolorr   Úpdffontr   r   Úpdfpager   Úpdftypesr   r   r   r   r   Ú	pdfinterpr   r   r   r   rz   r{   r”   rc   r   re   rŠ   r'   r%   r#   ú<module>r¾      s  ðð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð (Ð 'Ð 'Ð 'Ð 'Ð 'Ø Ð Ð Ð Ð Ð Ø #Ð #Ð #Ð #Ð #Ð #Ø Ð Ð Ð Ð Ð Ø )Ð )Ð )Ð )Ð )Ð )Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3àð %Ø*Ð*Ð*Ð*Ð*Ð*Ø-Ð-Ð-Ð-Ð-Ð-Ø'Ð'Ð'Ð'Ð'Ð'Ø$Ð$Ð$Ð$Ð$Ð$ð �e˜C ¨Ð-Ô.Ô/€
ð?ð ?ð ?ð ?ð ?ñ ?ô ?ð ?ðDNð Nð Nð Nð N�Iñ Nô Nð NðbK/ð K/ð K/ð K/ð K/�9ñ K/ô K/ð K/ð K/ð K/r%   