Ë
    *Rði²]  ã                   ó¬  — d dl Z d dlZd dlZd dlZd dlmZ d dlmZmZm	Z	m
Z
mZmZmZ ddlmZ ddlmZmZ ddlmZmZmZmZmZmZmZmZmZ ddlmZmZm Z  d	Z!d
Z" G d„ de«      Z# G d„ de#«      Z$ G d„ de#«      Z% G d„ de#«      Z& G d„ dejN                  e#«      Z( G d„ de)e#«      Z* G d„ de+e#«      Z, G d„ de-e#«      Z. G d„ de-e#«      Z/de-de+fd„Z0y) é    N)Ú	unhexlify)ÚAnyÚCallableÚListÚOptionalÚTupleÚUnionÚcasté   )Ú_pdfdoc_encoding_rev)ÚPdfObjectProtocolÚPdfWriterProtocol)	Ú
StreamTypeÚb_Údeprecation_with_replacementÚhex_strÚ	hexencodeÚlogger_warningÚread_non_whitespaceÚread_until_regexÚstr_)ÚSTREAM_TRUNCATED_PREMATURELYÚPdfReadErrorÚPdfStreamErrorzMathieu Fenniakzbiziqe@mathieu.fenniak.netc            
       óð   — e Zd ZU ej                  Zed   ed<   ed   ed<   de	fd„Z
de	fd„Z	 	 dded	ed
eeedf   ee   df   dd fd„Zdededefd„Zded    fd„Zded    fd„Zdededee	f   ddfd„Zy)Ú	PdfObject).zhashlib._HashÚ	hash_funcÚIndirectObjectÚindirect_referenceÚreturnc                 ó(   — d| z  j                  «       S )Nz%s)Úencode©Úselfs    úO/var/www/html/Extract/venv/lib/python3.12/site-packages/PyPDF2/generic/_base.pyÚhash_value_datazPdfObject.hash_value_data;   s   € Ø�t‘×#Ñ#Ó%Ð%ó    c                 óª   — | j                   j                  ›d| j                  | j                  «       «      j	                  «       ›�j                  «       S )Nú:)Ú	__class__Ú__name__r   r&   Ú	hexdigestr"   r#   s    r%   Ú
hash_valuezPdfObject.hash_value>   sB   € ð —‘×'Ó'Ø—‘˜t×3Ñ3Ó5Ó6×@Ñ@ÔBð÷
 ‰&‹(ð	r'   Úpdf_destÚforce_duplicateÚignore_fields.Nc                 ó   — t        d«      ‚)a  
        clone object into pdf_dest (PdfWriterProtocol which is an interface for PdfWriter)
        force_duplicate: in standard if the object has been already cloned and reference,
                         the copy is returned; when force_duplicate == True, a new copy is always performed
        ignore_fields : list/tuple of Fields names (for dictionaries that will be ignored during cloning (apply also to childs duplication)
        in standard, clone function call _reference_clone (see _reference)
        zclone PdfObject)Ú	Exception©r$   r.   r/   r0   s       r%   ÚclonezPdfObject.cloneG   s   € ô Ð)Ó*Ð*r'   r4   c                 óè  — 	 |j                   j                  |k(  r|S 	 t        | d«      �r7| j                   }t	        |j
                  «      dz   }|�ät        |j                  «      |j                  vr"i |j                  t        |j                  «      <   |j                  |j                  t        |j                  «         v rD|j                  |j                  t        |j                  «         |j                     «      }|€J ‚|S ||j                  t        |j                  «         |j                  <   |j
                  j                  |«       t        |d|«      |_         |S # t        $ r Y �ŒRw xY w)zü
        reference the object within the _objects of pdf_dest only if
        indirect_reference attribute exists (which means the objects
        was already identified in xref/xobjstm)
        if object has been already referenced do nothing
        r   é   r   )r   Úpdfr2   ÚhasattrÚlenÚ_objectsÚidÚ_id_translatedÚidnumÚ
get_objectÚappendr   )r$   r4   r.   ÚindÚiÚobjs         r%   Ú_reference_clonezPdfObject._reference_cloneV   sC  € ð	Ø×'Ñ'×+Ñ+¨xÒ7Ø�ð 8ô �4Ð-Õ.Ø×)Ñ)ˆCÜ�H×%Ñ%Ó&¨Ñ*ˆAØˆÜ�c—g‘g“; h×&=Ñ&=Ñ=Ø;=�H×+Ñ+¬B¨s¯w©w«KÑ8Ø—9‘9 × 7Ñ 7¼¸3¿7¹7»Ñ DÑDØ"×-Ñ-Ø ×/Ñ/´°3·7±7³Ñ<¸S¿Y¹YÑGó�Cð ˜?Ð*˜?Ø�JØBC�×'Ñ'¬¨3¯7©7«Ñ4°S·Y±YÑ?Ø×Ñ×$Ñ$ UÔ+Ü'5°a¸¸HÓ'EˆEÔ$Øˆøô# ò 	Úð	ús   ‚E$ Å$	E1Å0E1c                 ó   — | S )zResolve indirect references.© r#   s    r%   r>   zPdfObject.get_objectu   ó   € àˆr'   c                 ó<   — t        ddd«       | j                  «       S )NÚ	getObjectr>   ú3.0.0)r   r>   r#   s    r%   rH   zPdfObject.getObjecty   s   € Ü$ [°,ÀÔHØ�‰Ó Ð r'   ÚstreamÚencryption_keyc                 ó   — t         ‚©N)ÚNotImplementedError©r$   rJ   rK   s      r%   Úwrite_to_streamzPdfObject.write_to_stream}   s
   € ô "Ð!r'   ©FrE   )r+   Ú
__module__Ú__qualname__ÚhashlibÚsha1r   r   Ú__annotations__r   Úbytesr&   r-   r   Úboolr	   r   Ústrr   r4   r   r   rC   r>   rH   r   rP   rE   r'   r%   r   r   6   sí   … à07·±€IˆxÐ,Ñ-Ó<Ø Ð!1Ñ2Ó2ð& ó &ð˜Eó ð !&ØACñ	+à#ð+ð ð+ð ˜U 3¨ 8™_¨d°3©i¸Ð=Ñ>ð	+ð
 
ó+ðØðØ$5ðà	óð>˜H [Ñ1ó ð!˜8 KÑ0ó !ð"Ø ð"Ø27¸¸cÀ5Ð8HÑ2Ið"à	ô"r'   r   c            
       óÆ   — e Zd Z	 	 ddededeeedf   ee   df   dd fd„Z	de
d	edeef   ddfd
„Zede
dd fd„«       Zde
d	edeef   ddfd„Zdefd„Zede
dd fd„«       Zy)Ú
NullObjectr.   r/   r0   .Nr    c                 óJ   — t        d| j                  t        «       |«      «      S )úclone object into pdf_destr[   )r
   rC   r[   r3   s       r%   r4   zNullObject.clone„   s    € ô �L $×"7Ñ"7¼
»ÀhÓ"OÓPÐPr'   rJ   rK   c                 ó&   — |j                  d«       y )Nó   null)ÚwriterO   s      r%   rP   zNullObject.write_to_stream�   s   € ð 	�‰�WÕr'   c                 óX   — | j                  d«      }|dk7  rt        d«      ‚t        «       S )Né   r_   zCould not read Null object)Úreadr   r[   )rJ   Únulltxts     r%   Úread_from_streamzNullObject.read_from_stream’   s+   € à—+‘+˜a“.ˆØ�gÒÜÐ;Ó<Ð<Ü‹|Ðr'   c                 óB   — t        ddd«       | j                  ||«       y ©NÚwriteToStreamrP   rI   ©r   rP   rO   s      r%   rh   zNullObject.writeToStream™   ó!   € ô 	% _Ð6GÈÔQØ×Ñ˜V ^Õ4r'   c                  ó   — y)Nr[   rE   r#   s    r%   Ú__repr__zNullObject.__repr__Ÿ   s   € Ør'   c                 óF   — t        ddd«       t        j                  | «      S ©NÚreadFromStreamre   rI   )r   r[   re   ©rJ   s    r%   ro   zNullObject.readFromStream¢   s!   € ä$Ð%5Ð7IÈ7ÔSÜ×*Ñ*¨6Ó2Ð2r'   rQ   )r+   rR   rS   r   rX   r	   r   rY   r   r4   r   rW   rP   Ústaticmethodre   rh   rl   ro   rE   r'   r%   r[   r[   ƒ   sô   „ ð !&ØACñ	Qà#ðQð ðQð ˜U 3¨ 8™_¨d°3©i¸Ð=Ñ>ð	Qð
 
óQðØ ðØ27¸¸cÀ5Ð8HÑ2Iðà	óð
 ð ð °ò ó ðð5Ø ð5Ø27¸¸cÀ5Ð8HÑ2Ið5à	ó5ð˜#ó ð ð3˜zð 3¨lò 3ó ñ3r'   r[   c            
       óæ   — e Zd Zdeddfd„Z	 	 ddededeee	df   e
e	   df   dd fd	„Zd
edefd„Zde	fd„Zdedede	ef   ddfd„Zdedede	ef   ddfd„Zededd fd„«       Zededd fd„«       Zy)ÚBooleanObjectÚvaluer    Nc                 ó   — || _         y rM   ©rt   )r$   rt   s     r%   Ú__init__zBooleanObject.__init__©   s	   € Øˆ�
r'   r.   r/   r0   .c                 ó`   — t        d| j                  t        | j                  «      |«      «      S )r]   rs   )r
   rC   rs   rt   r3   s       r%   r4   zBooleanObject.clone¬   s,   € ô Ø˜T×2Ñ2´=ÀÇÁÓ3LÈhÓWó
ð 	
r'   Ú_BooleanObject__oc                 ó”   — t        |t        «      r| j                  |j                  k(  S t        |t        «      r| j                  |k(  S y)NF)Ú
isinstancers   rt   rX   )r$   ry   s     r%   Ú__eq__zBooleanObject.__eq__·   s;   € Ü�cœ=Ô)Ø—:‘: §¡Ñ*Ð*Ü˜œTÔ"Ø—:‘: Ñ$Ð$àr'   c                 ó"   — | j                   rdS dS )NÚTrueÚFalserv   r#   s    r%   rl   zBooleanObject.__repr__¿   s   € ØŸšˆvÐ0¨Ð0r'   rJ   rK   c                 ób   — | j                   r|j                  d«       y |j                  d«       y )Nó   trues   false)rt   r`   rO   s      r%   rP   zBooleanObject.write_to_streamÂ   s#   € ð �:Š:Ø�L‰L˜Õ!à�L‰L˜Õ"r'   c                 óB   — t        ddd«       | j                  ||«       y rg   ri   rO   s      r%   rh   zBooleanObject.writeToStreamÊ   rj   r'   c                 óœ   — | j                  d«      }|dk(  rt        d«      S |dk(  r| j                  d«       t        d«      S t        d«      ‚)Nrb   r�   Ts   falsr6   FzCould not read Boolean object)rc   rs   r   )rJ   Úwords     r%   re   zBooleanObject.read_from_streamÐ   sJ   € à�{‰{˜1‹~ˆØ�7Š?Ü  Ó&Ð&Ø�WŠ_Ø�K‰K˜ŒNÜ  Ó'Ð'äÐ>Ó?Ð?r'   c                 óF   — t        ddd«       t        j                  | «      S rn   )r   rs   re   rp   s    r%   ro   zBooleanObject.readFromStreamÛ   s!   € ä$Ð%5Ð7IÈ7ÔSÜ×-Ñ-¨fÓ5Ð5r'   rQ   )r+   rR   rS   r   rw   r   rX   r	   r   rY   r   r4   Úobjectr|   rl   r   rW   rP   rh   rq   re   ro   rE   r'   r%   rs   rs   ¨   s  „ ð˜cð  dó ð !&ØACñ		
à#ð	
ð ð	
ð ˜U 3¨ 8™_¨d°3©i¸Ð=Ñ>ð		
ð
 
ó	
ð˜&ð  Tó ð1˜#ó 1ð#Ø ð#Ø27¸¸cÀ5Ð8HÑ2Ið#à	ó#ð5Ø ð5Ø27¸¸cÀ5Ð8HÑ2Ið5à	ó5ð ð@ ð @°ò @ó ð@ð ð6˜zð 6¨oò 6ó ñ6r'   rs   c            
       ó*  — e Zd Zdedededdfd„Z	 	 ddeded	ee	e
d
f   ee
   df   dd fd„Zedd„«       Zded   fd„Zde
fd„Zdedefd„Zdedefd„Zdedede
ef   ddfd„Zdedede
ef   ddfd„Zedededd fd„«       Zedededd fd„«       Zy)r   r=   Ú
generationr7   r    Nc                 ó.   — || _         || _        || _        y rM   )r=   rˆ   r7   )r$   r=   rˆ   r7   s       r%   rw   zIndirectObject.__init__â   s   € ØˆŒ
Ø$ˆŒØˆ�r'   r.   r/   r0   .c                 ó  — | j                   |k(  r|s| S t        | j                   «      |j                  vr"i |j                  t        | j                   «      <   |sm| j                  |j                  t        | j                   «         v r?|j	                  |j                  t        | j                   «         | j                     «      }n'| j	                  «       }|€J ‚|j                  |||«      }|€J ‚|j                  €J ‚|j                  S )r]   )r7   r;   r<   r=   r>   r4   r   )r$   r.   r/   r0   ÚduprB   s         r%   r4   zIndirectObject.cloneç   sâ   € ð �8‰8�xÒ©àˆKÜˆd�h‰h‹<˜x×6Ñ6Ñ6Ø46ˆH×#Ñ#¤B t§x¡x£LÑ1á 4§:¡:°×1HÑ1HÌÈDÏHÉHËÑ1VÑ#VØ×%Ñ% h×&=Ñ&=¼bÀÇÁ»lÑ&KÈDÏJÉJÑ&WÓX‰Cà—/‘/Ó#ˆCØ�?Ð"�?Ø—)‘)˜H o°}ÓEˆCØˆÐˆØ×%Ñ%Ð1Ð1Ð1Ø×%Ñ%Ð%r'   c                 ó   — | S rM   rE   r#   s    r%   r   z!IndirectObject.indirect_referenceþ   rF   r'   r   c                 ó^   — | j                   j                  | «      }|€y |j                  «       S rM   )r7   r>   )r$   rB   s     r%   r>   zIndirectObject.get_object  s+   € Ø�h‰h×!Ñ! $Ó'ˆØˆ;ØØ�~‰~ÓÐr'   c                 óh   — d| j                   ›d| j                  ›dt        | j                  «      › d�S )NzIndirectObject(z, ú))r=   rˆ   r;   r7   r#   s    r%   rl   zIndirectObject.__repr__  s/   € Ø  §¡ ¨b°·±Ð0CÀ2ÄbÈÏÉÃlÀ^ÐSTÐUÐUr'   Úotherc                 óÎ   — |d uxr` t        |t        «      xrN | j                  |j                  k(  xr3 | j                  |j                  k(  xr | j                  |j                  u S rM   )r{   r   r=   rˆ   r7   ©r$   r�   s     r%   r|   zIndirectObject.__eq__  sc   € à˜Ðò &Ü˜5¤.Ó1ò&à—
‘
˜eŸk™kÑ)ò&ð —‘ 5×#3Ñ#3Ñ3ò&ð —‘˜EŸI™IÐ%ð	
r'   c                 ó&   — | j                  |«       S rM   )r|   r’   s     r%   Ú__ne__zIndirectObject.__ne__  s   € Ø—;‘;˜uÓ%Ð%Ð%r'   rJ   rK   c                 ól   — |j                  t        | j                  › d| j                  › d�«      «       y )Nú z R)r`   r   r=   rˆ   rO   s      r%   rP   zIndirectObject.write_to_stream  s+   € ð 	�‰”R˜4Ÿ:™:˜, a¨¯©Ð'8¸Ð;Ó<Õ=r'   c                 óB   — t        ddd«       | j                  ||«       y rg   ri   rO   s      r%   rh   zIndirectObject.writeToStream  rj   r'   c                 ó   — d}	 | j                  d«      }|st        t        «      ‚|j                  «       rn||z  }Œ9d}	 | j                  d«      }|st        t        «      ‚|j                  «       r|sŒ6n||z  }Œ<t	        | «      }|dk7  r%t        dt        | j                  «       «      › �«      ‚t        t        |«      t        |«      |«      S )Nr'   r6   ó   Rz0Error reading indirect object reference at byte )
rc   r   r   Úisspacer   r   r   Útellr   Úint)rJ   r7   r=   Útokrˆ   Úrs         r%   re   zIndirectObject.read_from_stream"  sÖ   € àˆØØ—+‘+˜a“.ˆCÙÜ$Ô%AÓBÐBØ�{‰{Œ}ØØ�S‰LˆEð ð ˆ
ØØ—+‘+˜a“.ˆCÙÜ$Ô%AÓBÐBØ�{‰{Œ}Ù!ØØØ˜#ÑˆJð ô   Ó'ˆØ�Š9ÜØBÄ7È6Ï;É;Ë=ÓCYÐBZÐ[óð ô œc %›j¬#¨j«/¸3Ó?Ð?r'   c                 óH   — t        ddd«       t        j                  | |«      S rn   )r   r   re   ©rJ   r7   s     r%   ro   zIndirectObject.readFromStream=  s%   € ô 	%Ð%5Ð7IÈ7ÔSÜ×.Ñ.¨v°sÓ;Ð;r'   rQ   )r    r   )r+   rR   rS   rœ   r   rw   r   rX   r	   r   rY   r   r4   Úpropertyr   r   r>   rl   r|   r”   r   rW   rP   rh   rq   re   ro   rE   r'   r%   r   r   á   st  „ ð˜cð ¨sð ¸ð Àó ð !&ØACñ	&à#ð&ð ð&ð ˜U 3¨ 8™_¨d°3©i¸Ð=Ñ>ð	&ð
 
ó&ð. òó ðð ˜H [Ñ1ó  ðV˜#ó Vð
˜Cð 
 Dó 
ð&˜Cð & Dó &ð>Ø ð>Ø27¸¸cÀ5Ð8HÑ2Ið>à	ó>ð
5Ø ð5Ø27¸¸cÀ5Ð8HÑ2Ið5à	ó5ð ð@ ð @°#ð @Ð:Jò @ó ð@ð4 ð<Øð<Ø!$ð<à	ò<ó ñ<r'   r   c            
       óÆ   — e Zd Z	 ddeeef   dee   dd fd„Z	 	 ddededee	ed	f   e
e   df   dd fd
„Zdefd„Zdefd„Zdededeef   ddfd„Zdededeef   ddfd„Zy)ÚFloatObjectNrt   Úcontextr    c                 óÞ   — 	 t         j                  j                  | t        |«      |«      S # t        $ r7 t        d|› d�t        «       t         j                  j                  | d«      cY S w xY w)NzFloatObject (z) invalid; use 0.0 insteadz0.0)ÚdecimalÚDecimalÚ__new__r   r2   r   r+   )Úclsrt   r¤   s      r%   r¨   zFloatObject.__new__F  s`   € ð	7Ü—?‘?×*Ñ*¨3´°U³¸WÓEÐEøÜò 	7ô ˜]¨5¨'Ð1KÐLÌhÔWÜ—?‘?×*Ñ*¨3°Ó6Ò6ð		7ús   ‚), ¬=A,Á+A,r.   r/   r0   .c                 óL   — t        d| j                  t        | «      |«      «      S )r]   r£   )r
   rC   r£   r3   s       r%   r4   zFloatObject.cloneQ  s#   € ô �M 4×#8Ñ#8¼ÀTÓ9JÈHÓ#UÓVÐVr'   c                 ó¨   — | | j                  «       k(  r-t        | j                  t        j                  d«      «      «      S | d›j                  d«      S )Nr6   ÚfÚ0)Úto_integralrY   Úquantizer¦   r§   Úrstripr#   s    r%   rl   zFloatObject.__repr__Z  sG   € Ø�4×#Ñ#Ó%Ò%ä�t—}‘}¤W§_¡_°QÓ%7Ó8Ó9Ð9ð ˜1�X×%Ñ% cÓ*Ð*r'   c                 óH   — t        t        | «      j                  d«      «      S ©NÚutf8)ÚfloatÚreprr"   r#   s    r%   Ú
as_numericzFloatObject.as_numericc  s   € Ü”T˜$“Z×&Ñ& vÓ.Ó/Ð/r'   rJ   rK   c                 óV   — |j                  t        | «      j                  d«      «       y r²   ©r`   rµ   r"   rO   s      r%   rP   zFloatObject.write_to_streamf  ó   € ð 	�‰”T˜$“Z×&Ñ& vÓ.Õ/r'   c                 óB   — t        ddd«       | j                  ||«       y rg   ri   rO   s      r%   rh   zFloatObject.writeToStreamk  rj   r'   )r­   NrQ   )r+   rR   rS   r	   rY   r   r   r¨   rX   r   r   r4   rl   r´   r¶   r   rW   rP   rh   rE   r'   r%   r£   r£   E  sè   „ àDHñ	7Ø˜#˜s˜(‘Oð	7Ø4<¸S±Mð	7à	ó	7ð !&ØACñ	WàðWð ðWð ˜U 3¨ 8™_¨d°3©i¸Ð=Ñ>ð	Wð
 
óWð+˜#ó +ð0˜Eó 0ð0Ø ð0Ø27¸¸cÀ5Ð8HÑ2Ið0à	ó0ð
5Ø ð5Ø27¸¸cÀ5Ð8HÑ2Ið5à	ô5r'   r£   c            
       ó  — e Zd Z ej                  d«      Zdedd fd„Z	 	 ddedede	e
edf   ee   d	f   dd fd
„Zdefd„Zdede	d	eef   dd	fd„Zdede	d	eef   dd	fd„Zedede	d   fd„«       Zedede	d   fd„«       Zy	)ÚNumberObjects	   [^+-.0-9]rt   r    c                 ó´   — 	 t         j                  | t        |«      «      S # t        $ r- t        d|› d�t        «       t         j                  | d«      cY S w xY w)NzNumberObject(z) invalid; use 0 insteadr   )rœ   r¨   Ú
ValueErrorr   r+   )r©   rt   s     r%   r¨   zNumberObject.__new__u  sP   € ð	'Ü—;‘;˜s¤C¨£JÓ/Ð/øÜò 	'Ü˜]¨5¨'Ð1IÐJÌHÔUÜ—;‘;˜s AÓ&Ò&ð	'ús   ‚! ¡3AÁAr.   r/   r0   .Nc                 óL   — t        d| j                  t        | «      |«      «      S )r]   r¼   )r
   rC   r¼   r3   s       r%   r4   zNumberObject.clone|  s#   € ô �N D×$9Ñ$9¼,ÀtÓ:LÈhÓ$WÓXÐXr'   c                 óH   — t        t        | «      j                  d«      «      S r²   )rœ   rµ   r"   r#   s    r%   r¶   zNumberObject.as_numeric…  s   € Ü”4˜“:×$Ñ$ VÓ,Ó-Ð-r'   rJ   rK   c                 óV   — |j                  t        | «      j                  d«      «       y r²   r¸   rO   s      r%   rP   zNumberObject.write_to_streamˆ  r¹   r'   c                 óB   — t        ddd«       | j                  ||«       y rg   ri   rO   s      r%   rh   zNumberObject.writeToStream�  rj   r'   )r¼   r£   c                 óŠ   — t        | t        j                  «      }|j                  d«      dk7  rt	        |«      S t        |«      S )Nó   .éÿÿÿÿ)r   r¼   ÚNumberPatternÚfindr£   )rJ   Únums     r%   re   zNumberObject.read_from_stream“  s:   € ä˜v¤|×'AÑ'AÓBˆØ�8‰8�D‹>˜RÒÜ˜sÓ#Ð#Ü˜CÓ Ð r'   c                 óF   — t        ddd«       t        j                  | «      S rn   )r   r¼   re   rp   s    r%   ro   zNumberObject.readFromStreamš  s#   € ô 	%Ð%5Ð7IÈ7ÔSÜ×,Ñ,¨VÓ4Ð4r'   rQ   )r+   rR   rS   ÚreÚcompilerÆ   r   r¨   rX   r	   r   rY   r   r4   rœ   r¶   r   rW   rP   rh   rq   re   ro   rE   r'   r%   r¼   r¼   r  s%  „ Ø�B—J‘J˜|Ó,€Mð'˜Cð ' Nó 'ð !&ØACñ	YàðYð ðYð ˜U 3¨ 8™_¨d°3©i¸Ð=Ñ>ð	Yð
 
óYð.˜Có .ð0Ø ð0Ø27¸¸cÀ5Ð8HÑ2Ið0à	ó0ð
5Ø ð5Ø27¸¸cÀ5Ð8HÑ2Ið5à	ó5ð ð! ð !°Ð6SÑ0Tò !ó ð!ð ð5Øð5à	Ð,Ñ	-ò5ó ñ5r'   r¼   c            
       ó    — e Zd ZdZ	 	 ddededeeedf   e	e   df   dd fd„Z
edefd	„«       Zd
ededeef   ddfd„Zd
ededeef   ddfd„Zy)ÚByteStringObjecta=  
    Represents a string object where the text encoding could not be determined.
    This occurs quite often, as the PDF spec doesn't provide an alternate way to
    represent strings -- for example, the encryption data stored in files (like
    /O) is clearly not text, but is still stored in a "String" object.
    r.   r/   r0   .Nr    c           
      ó^   — t        d| j                  t        t        | «      «      |«      «      S )r]   rÍ   )r
   rC   rÍ   rW   r3   s       r%   r4   zByteStringObject.cloneª  s.   € ô ØØ×!Ñ!Ô"2´5¸³;Ó"?ÀÓJó
ð 	
r'   c                 ó   — | S )z7For compatibility with TextStringObject.original_bytes.rE   r#   s    r%   Úoriginal_byteszByteStringObject.original_bytes¶  s	   € ð ˆr'   rJ   rK   c                 ó¢   — | }|rddl m}  |||«      }|j                  d«       |j                  t        |«      «       |j                  d«       y )Nr   ©ÚRC4_encryptó   <ó   >)Ú	_securityrÓ   r`   r   )r$   rJ   rK   ÚbytearrrÓ   s        r%   rP   z ByteStringObject.write_to_stream»  sD   € ð ˆÙÝ/á! .°'Ó:ˆGØ�‰�TÔØ�‰”Y˜wÓ'Ô(Ø�‰�TÕr'   c                 óB   — t        ddd«       | j                  ||«       y rg   ri   rO   s      r%   rh   zByteStringObject.writeToStreamÇ  rj   r'   rQ   )r+   rR   rS   Ú__doc__r   rX   r	   r   rY   r   r4   r¡   rW   rÐ   r   rP   rh   rE   r'   r%   rÍ   rÍ   ¢  s¿   „ ñð !&ØACñ	

àð

ð ð

ð ˜U 3¨ 8™_¨d°3©i¸Ð=Ñ>ð	

ð
 
ó

ð ð ò ó ðð
Ø ð
Ø27¸¸cÀ5Ð8HÑ2Ið
à	ó
ð5Ø ð5Ø27¸¸cÀ5Ð8HÑ2Ið5à	ô5r'   rÍ   c            
       ó´   — e Zd ZdZ	 	 ddededeeedf   e	e   df   dd fd	„Z
dZdZedefd
„«       Zdefd„Zdededeef   ddfd„Zdededeef   ddfd„Zy)ÚTextStringObjectzõ
    Represents a string object that has been decoded into a real unicode string.
    If read from a PDF document, this string appeared to match the
    PDFDocEncoding, or contained a UTF-16BE BOM mark to cause UTF-16 decoding to
    occur.
    Fr.   r/   r0   .Nr    c                 ó”   — t        | «      }| j                  |_        | j                  |_        t        d| j	                  ||«      «      S )r]   rÛ   )rÛ   Úautodetect_pdfdocencodingÚautodetect_utf16r
   rC   )r$   r.   r/   r0   rB   s        r%   r4   zTextStringObject.cloneÖ  sE   € ô ˜tÓ$ˆØ(,×(FÑ(FˆÔ%Ø#×4Ñ4ˆÔÜÐ&¨×(=Ñ(=¸cÀ8Ó(LÓMÐMr'   c                 ó"   — | j                  «       S )a-  
        It is occasionally possible that a text string object gets created where
        a byte string object was expected due to the autodetection mechanism --
        if that occurs, this "original_bytes" property can be used to
        back-calculate what the original encoded bytes were.
        )Úget_original_bytesr#   s    r%   rÐ   zTextStringObject.original_byteså  s   € ð ×&Ñ&Ó(Ð(r'   c                 ó¢   — | j                   r"t        j                  | j                  d«      z   S | j                  rt        | «      S t        d«      ‚)Núutf-16bez#no information about original bytes)rÞ   ÚcodecsÚBOM_UTF16_BEr"   rÝ   Úencode_pdfdocencodingr2   r#   s    r%   rà   z#TextStringObject.get_original_bytesï  sG   € ð × Ò Ü×&Ñ&¨¯©°ZÓ)@Ñ@Ð@Ø×+Ò+Ü(¨Ó.Ð.äÐAÓBÐBr'   rJ   rK   c                 óì  — 	 t        | «      }|r-ddlm}  |||«      }t        |«      }|j                  |d «       y |j                  d«       |D ]a  }t        |«      j                  «       s#|dk7  r|j                  t        d|z  «      «       Œ?|j                  t        t        |«      «      «       Œc |j                  d«       y # t        $ r% t        j                  | j	                  d«      z   }Y Œåw xY w)Nrâ   r   rÒ   ó   (ó    z\%03oó   ))rå   ÚUnicodeEncodeErrorrã   rä   r"   rÖ   rÓ   rÍ   rP   r`   ÚchrÚisalnumr   )r$   rJ   rK   r×   rÓ   rB   Úcs          r%   rP   z TextStringObject.write_to_streamü  sÔ   € ð	DÜ+¨DÓ1ˆGñ Ý/á! .°'Ó:ˆGÜ" 7Ó+ˆCØ×Ñ ¨Õ-à�L‰L˜ÔØò -�Ü˜1“v—~‘~Ô'¨A°ªIð
 —L‘L¤ H¨q¡LÓ!1Õ2à—L‘L¤¤C¨£F£Õ,ð-ð �L‰L˜Õøô' "ò 	DÜ×)Ñ)¨D¯K©K¸
Ó,CÑCŠGð	Dús   ‚C Ã+C3Ã2C3c                 óB   — t        ddd«       | j                  ||«       y rg   ri   rO   s      r%   rh   zTextStringObject.writeToStream  rj   r'   rQ   )r+   rR   rS   rÙ   r   rX   r	   r   rY   r   r4   rÝ   rÞ   r¡   rW   rÐ   rà   r   rP   rh   rE   r'   r%   rÛ   rÛ   Î  sÞ   „ ñð !&ØACñ	
Nàð
Nð ð
Nð ˜U 3¨ 8™_¨d°3©i¸Ð=Ñ>ð	
Nð
 
ó
Nð !&ÐØÐàð) ò )ó ð)ðC Eó CðØ ðØ27¸¸cÀ5Ð8HÑ2Iðà	óð:5Ø ð5Ø27¸¸cÀ5Ð8HÑ2Ið5à	ô5r'   rÛ   c            
       ó˜  — e Zd Z ej                  d«      ZdZdddddœ ed«      D � ��ci c]   }t        |«      d	|d
›�j                  «       “Œ" c}}} ¥Z
	 	 ddededeeedf   ee   df   dd fd„Zdededeef   ddfd„Zdededeef   ddfd„Zdefd„Zededefd„«       Zedededd fd„«       Zedededd fd„«       Zyc c}}} w )Ú
NameObjects   \s+|[\(\)<>\[\]{}/%]ó   /s   #23s   #28s   #29s   #2F)ú#ú(r�   ú/é!   rò   Ú02Xr.   r/   r0   .Nr    c                 óL   — t        d| j                  t        | «      |«      «      S )r]   rð   )r
   rC   rð   r3   s       r%   r4   zNameObject.clone+  s#   € ô �L $×"7Ñ"7¼
À4Ó8HÈ(Ó"SÓTÐTr'   rJ   rK   c                 óB   — |j                  | j                  «       «       y rM   )r`   ÚrenumberrO   s      r%   rP   zNameObject.write_to_stream4  s   € ð 	�‰�T—]‘]“_Õ%r'   c                 óB   — t        ddd«       | j                  ||«       y rg   ri   rO   s      r%   rh   zNameObject.writeToStream9  rj   r'   c                 óF  — | d   j                  d«      }|dk7  rt        d| › d�t        «       | dd  D ]H  }|dkD  r.|j                  d«      D ]  }|d|d	›�j                  «       z  }Œ Œ6	 || j                  |   z  }ŒJ |S # t        $ r ||j                  d«      z  }Y Œlw xY w)
Nr   úutf-8rñ   z$Incorrect first char in NameObject:(r�   r6   ú~rò   rö   )r"   r   r+   Úrenumber_tableÚKeyError)r$   Úoutrí   Úxs       r%   rù   zNameObject.renumber?  sÃ   € Ø�1‰g�n‰n˜WÓ%ˆØ�$Š;ÜÐAÀ$ÀÀqÐIÌ8ÔTØ�a�b�ò 	-ˆAØ�3ŠwØŸ™ 'Ó*ò 0�AØ˜Q˜q ˜g˜;×-Ñ-Ó/Ñ/‘Cñ0ð-Ø˜4×.Ñ.¨qÑ1Ñ1‘Cð	-ð ˆ
øô  ò -Ø˜1Ÿ8™8 GÓ,Ñ,’Cð-ús   Á*B Â B ÂB Úsinc                 óÚ   — | j                  dd«      }|dk\  r?	 | d | t        | |dz   |dz    «      z   | |dz   d  z   } | j                  d|dz   «      }|dk\  rŒ?| S # t        $ r |dz   }Y Œw xY w)Nó   #r   r6   é   )rÇ   r   r¾   )r  rA   s     r%   ÚunnumberzNameObject.unnumberN  s‘   € à�H‰H�T˜1ÓˆØ�1ŠfðØ˜"˜1�g¤	¨#¨a°!©e°a¸!±eÐ*<Ó =Ñ=ÀÀAÈÁEÀGÀÑL�Ø—H‘H˜T 1 q¡5Ó)�ð �1‹fð ˆ
øô	 ò ð ˜‘E’ðús   ™8A ÁA*Á)A*r7   c                 ó@  — | j                  d«      }|t        j                  k7  rt        d«      ‚|t	        | t        j
                  d¬«      z  }	 t        j                  |«      }dD ]   }	 |j                  |«      }t        |«      c S  t        d|ddd«      ‚# t        $ r Y Œ=w xY w# t        t        f$ rf}|j                  s<t        d	t        |«      › d
�t        «       t        |j                  d«      «      cY d }~S t        d	t        |«      › d
�«      |‚d }~ww xY w)Nr6   zname read errorT)Ú
ignore_eof)rü   ÚgbkÚ r   zCode Not Foundz"Illegal character in Name Object (r�   Úcharmap)rc   rð   Úsurfixr   r   Údelimiter_patternr  Údecoder2   ÚUnicodeDecodeErrorrê   Ústrictr   rµ   r+   )rJ   r7   ÚnameÚencÚretÚes         r%   re   zNameObject.read_from_stream[  s  € à�{‰{˜1‹~ˆØ”:×$Ñ$Ò$ÜÐ0Ó1Ð1ØÔ  ¬×)EÑ)EÐRVÔWÑWˆð	ô ×&Ñ& tÓ,ˆDØ'ò �ðØŸ+™+ cÓ*�CÜ% c›?Ò*ðô % R¨¨q°!Ð5EÓFÐFøô !ò Ùðûô #Ô$6Ð7ò 		Ø—:’:ÜØ8¼¸d»¸ÀAÐFÌôô " $§+¡+¨iÓ"8Ó9Õ9ä"Ø8¼¸d»¸ÀAÐFóàðûð		úsO   ÁB( Á+BÂB( Â	B( Â	B%Â"B( Â$B%Â%B( Â(DÂ7ADÃ9DÃ?DÄDc                 óH   — t        ddd«       t        j                  | |«      S rn   )r   rð   re   r    s     r%   ro   zNameObject.readFromStreamw  s%   € ô 	%Ð%5Ð7IÈ7ÔSÜ×*Ñ*¨6°3Ó7Ð7r'   rQ   )r+   rR   rS   rÊ   rË   r  r  Úrangerë   r"   rþ   r   rX   r	   r   rY   r   r4   r   rW   rP   rh   rù   rq   r  re   ro   )Ú.0rA   rë   s   000r%   rð   rð      s�  „ Ø"˜Ÿ
™
Ð#;Ó<ÐØ€FàØØØñ	ñ
 27°r³×
;Ð
;¨AŒ3ˆq‹6�Q�q˜�g�;×%Ñ%Ó'Ñ'Ô
;ð€Nð !&ØACñ	UàðUð ðUð ˜U 3¨ 8™_¨d°3©i¸Ð=Ñ>ð	Uð
 
óUð&Ø ð&Ø27¸¸cÀ5Ð8HÑ2Ið&à	ó&ð
5Ø ð5Ø27¸¸cÀ5Ð8HÑ2Ið5à	ó5ð˜%ó ð ð
�eð 
 ò 
ó ð
ð ð ð °#ð ¸,ò ó ðð6 ð8Øð8Ø!$ð8à	ò8ó ñ8ùôa <s   «%C
rð   Úunicode_stringr    c           	      óŽ   — d}| D ]!  }	 |t        t        t        |   «      «      z  }Œ# |S # t        $ r t	        d|ddd«      ‚w xY w)Nr'   ÚpdfdocencodingrÅ   z#does not exist in translation table)r   rë   r   rÿ   rê   )r  Úretvalrí   s      r%   rå   rå     sf   € Ø€FØò ˆð	Ø”bœÔ1°!Ñ4Ó5Ó6Ñ6‰Fðð €Møô	 ò 	Ü$Ø  ! R¨Ð-Róð ð	ús	   ‰+«A)1rã   r¦   rT   rÊ   Úbinasciir   Útypingr   r   r   r   r   r	   r
   Ú_codecsr   Ú
_protocolsr   r   Ú_utilsr   r   r   r   r   r   r   r   r   Úerrorsr   r   r   Ú
__author__Ú__author_email__r   r[   rs   r   r§   r£   rœ   r¼   rW   rÍ   rY   rÛ   rð   rå   rE   r'   r%   ú<module>r$     sç   ðó8 Û Û Û 	Ý ß D× DÑ Då *ß =÷
÷ 
õ 
÷ PÑ Oà€
Ø/Ð ôJ"Ð!ô J"ôZ"3�ô "3ôJ66�Iô 66ôra<�Yô a<ôH*5�'—/‘/ 9ô *5ôZ-5�3˜	ô -5ô`)5�u˜iô )5ôXO5�s˜Iô O5ôd\8��iô \8ð~	¨#ð 	°%ô 	r'   