§
    �’jS†  ã                   ó†  — d dl Z 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 d dl	m
Z
 d dlmZmZmZmZmZmZ ej        dd…         dk    rd dlmZ nd dlmZ ej        d	k    rd d
lmZ nd d
l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" 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,dZ- G d„ de.e)¦  «        Z/ G d„ de0e)¦  «        Z1 G d„ de2e)¦  «        Z3 G d „ d!e4e)¦  «        Z5 G d"„ d#e4e)¦  «        Z6d$e4d%e2fd&„Z7d'ed%eee*e,df                  fd(„Z8dS ))é    N)ÚSequence)Úlog10)Úiter_unpack)ÚAnyÚCallableÚClassVarÚOptionalÚUnionÚcasté   )é   é
   )Ú	TypeGuard)r   é   )ÚSelf©Ú_pdfdoc_encoding_rev)ÚPdfObjectProtocolÚPdfWriterProtocol)Ú
StreamTypeÚclasspropertyÚdeprecation_no_replacementÚdeprecation_with_replacementÚlogger_warningÚread_non_whitespaceÚread_until_regex)Ú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efd„Zd	edd fd
„Z	 	 dd	ededeeeee	f                           dd fd„Z	 ddd d	ededd fd„Zded          fd„Z	 ddedeeedf         ddfd„ZdS )Ú	PdfObject).zhashlib._HashÚ	hash_funcÚIndirectObjectÚindirect_referenceÚreturnc                 ó:   — t          | j        j        › d�¦  «        ‚)úq
        Used to detect modified object.

        Returns:
            Hash considering type and value.

        z& does not implement .hash_bin() so far©ÚNotImplementedErrorÚ	__class__Ú__name__©Úselfs    úAC:\Projects\DSCons\.venv\Lib\site-packages\pypdf\generic\_base.pyÚhash_binzPdfObject.hash_binE   s'   € õ "ØŒ~Ô&ÐNÐNÐNñ
ô 
ð 	
ó    c                 ó,   — | ›                       ¦   «         S ©N©Úencoder,   s    r.   Úhash_value_datazPdfObject.hash_value_dataQ   s   € Øˆy×ÒÑ!Ô!Ð!r0   c                 ó¶   — | j         j        › d|                      |                      ¦   «         ¦  «                             ¦   «         › �                     ¦   «         S )Nú:)r*   r+   r"   r5   Ú	hexdigestr4   r,   s    r.   Ú
hash_valuezPdfObject.hash_valueT   sW   € àŒ~Ô&ð Dð DØ�~Š~˜d×2Ò2Ñ4Ô4Ñ5Ô5×?Ò?ÑAÔAðDð Dç
Š&‰(Œ(ð	r0   Úpdf_destc                 ó,   — |                       |¦  «        S )a/  
        Clone object into pdf_dest (PdfWriterProtocol which is an interface for PdfWriter)
        without ensuring links. This is used in clone_document_from_root with incremental = True.

        Args:
          pdf_dest: Target to clone to.

        Returns:
          The cloned PdfObject

        )Úclone©r-   r:   s     r.   Ú	replicatezPdfObject.replicateZ   s   € ð �zŠz˜(Ñ#Ô#Ð#r0   F© Úforce_duplicateÚignore_fieldsc                 ó:   — t          | j        j        › d�¦  «        ‚)a›  
        Clone object into pdf_dest (PdfWriterProtocol which is an interface for PdfWriter).

        By default, this method will call ``_reference_clone`` (see ``_reference``).


        Args:
          pdf_dest: Target to clone to.
          force_duplicate: By default, if the object has already been cloned and referenced,
            the copy will be returned; when ``True``, a new copy will be created.
            (Default value = ``False``)
          ignore_fields: List/tuple of field names (for dictionaries) that will be ignored
            during cloning (applies to children duplication as well). If fields are to be
            considered for a limited number of levels, you have to add it as integer, for
            example ``[1,"/B","/TOTO"]`` means that ``"/B"`` will be ignored at the first
            level only but ``"/TOTO"`` on all levels.

        Returns:
          The cloned PdfObject

        z! does not implement .clone so farr(   ©r-   r:   r@   rA   s       r.   r<   zPdfObject.clonek   s'   € õ6 "ØŒ~Ô&ÐIÐIÐIñ
ô 
ð 	
r0   r<   c                 ó"  — 	 |s|j         �|j         j        |k    r|S n# t          $ r Y nw xY w	 | j         }n# t          $ r |cY S w xY w|j        r7|�5|j        |j        k    r%|j        t          |j        ¦  «        k    r|j        }nt          |j        ¦  «        dz   }|��t          |j        ¦  «        |j
        vrCi |j
        t          |j        ¦  «        <   |j        |j
        t          |j        ¦  «                 d<   |s„|j        |j
        t          |j        ¦  «                 v r^|                     |j
        t          |j        ¦  «                 |j                 ¦  «        }t          |t          ¦  «        s
J d¦   «         ‚|S ||j
        t          |j        ¦  «                 |j        <   	 ||j        |dz
  <   n># t          $ r1 |j                             |¦  «         t          |j        ¦  «        }Y nw xY wt!          |d|¦  «        |_         |S )aX  
        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.

        Args:
          clone:
          pdf_dest:

        Returns:
          The clone

        Né   Ú	PreventGCÚmypyr   )r$   ÚpdfÚ	ExceptionÚAttributeErrorÚincrementalÚ_readerÚidnumÚlenÚ_objectsÚidÚ_id_translatedÚ
get_objectÚ
isinstancer!   Ú
IndexErrorÚappendr#   )r-   r<   r:   r@   ÚindÚiÚobjs          r.   Ú_reference_clonezPdfObject._reference_cloneŠ   s5  € ð"	à#ðàÔ,Ð8ØÔ,Ô0°HÒ<Ð<à�øøÝð 	ð 	ð 	ØˆDð	øøøð	ØÔ)ˆCˆCøÝð 	ð 	ð 	ØˆLˆLˆLð	øøøð Ô ð	+à�Ø”˜8Ô+Ò+Ð+Ø”	�S Ô!2Ñ3Ô3Ò3Ð3à”	ˆAˆAå�HÔ%Ñ&Ô&¨Ñ*ˆAØ‰?Ý�#”'‰{Œ{ (Ô"9Ð9Ð9Ø79�Ô'­¨3¬7©¬Ñ4ØDGÄG�Ô'­¨3¬7©¬Ô4°[ÑAà#ðà”I Ô!8½¸C¼G¹¼Ô!EÐEÐEà×)Ò)ØÔ+­B¨s¬w©K¬KÔ8¸¼ÔCñô �õ " #¥yÑ1Ô1Ð9Ð9°6Ñ9Ô9Ð1Ø�
Ø>?ˆHÔ#¥B s¤w¡K¤KÔ0°´Ñ;ð	'Ø',ˆHÔ˜a !™eÑ$Ð$øÝð 	'ð 	'ð 	'ØÔ×$Ò$ UÑ+Ô+Ð+Ý�HÔ%Ñ&Ô&ˆAˆAˆAð	'øøøõ $2°!°Q¸Ñ#AÔ#AˆÔ Øˆs-   ‚ ž
+ª+¯7 ·AÁAÆ-F; Æ;8G6Ç5G6c                 ó   — | S )zResolve indirect references.r?   r,   s    r.   rR   zPdfObject.get_objectÈ   ó   € àˆr0   NÚstreamÚencryption_keyc                 ó   — t           ‚r2   )r)   ©r-   r\   r]   s      r.   Úwrite_to_streamzPdfObject.write_to_streamÌ   s
   € õ "Ð!r0   ©Fr?   )Fr2   )r+   Ú
__module__Ú__qualname__ÚhashlibÚsha1r"   r   Ú__annotations__r	   Úintr/   Úbytesr5   r9   r   r>   Úboolr   r
   Ústrr<   rY   rR   r   r`   r?   r0   r.   r!   r!   @   s¶  € € € € € € à07´€IˆxÐ,Ô-Ð<Ð<Ñ<Ø Ð!1Ô2Ð2Ð2Ñ2ð

˜#ð 

ð 

ð 

ð 

ð" ð "ð "ð "ð "ð˜Eð ð ð ð ð$à#ð$ð 
ð$ð $ð $ð $ð( !&Ø=?ð	
ð 
à#ð
ð ð
ð   ¨¨s°C¨x¬Ô 9Ô:ð	
ð
 
ð
ð 
ð 
ð 
ð@ X]ð<ð <Ø ð<Ø,=ð<ØPTð<à	ð<ð <ð <ð <ð|˜H [Ô1ð ð ð ð ð
 MQð"ð "Ø ð"Ø27¸¸UÀDÐ8HÔ2Ið"à	ð"ð "ð "ð "ð "ð "r0   r!   c                   óÒ   — e Zd Z	 	 ddededeeeee	f                           dd fd„Z
de	fd„Z	 dd
edeeed	f         dd	fd„Zed
edd fd„¦   «         Zdefd„Zdedefd„Zde	fd„Zd	S )Ú
NullObjectFr?   r:   r@   rA   r%   c                 ód   — t          d|                      t          ¦   «         ||¦  «        ¦  «        S )úClone object into pdf_dest.rl   )r   rY   rl   rC   s       r.   r<   zNullObject.cloneÓ   s1   € õ Ø˜$×/Ò/µ
±´¸hÈÑXÔXñ
ô 
ð 	
r0   c                 ó,   — t          | j        f¦  «        S ©r'   ©Úhashr*   r,   s    r.   r/   zNullObject.hash_binÞ   s   € õ �T”^Ð%Ñ&Ô&Ð&r0   Nr\   r]   c                 óT   — |�t          dd¦  «         |                     d¦  «         d S )Nú/the encryption_key parameter of write_to_streamú5.0.0ó   null)r   Úwriter_   s      r.   r`   zNullObject.write_to_streamè   s;   € ð Ð%Ý&ØAÀ7ñô ð ð 	�Š�WÑÔÐÐÐr0   c                 ór   — |                       d¦  «        }|dk    rt          d¦  «        ‚t          ¦   «         S )Né   rv   zCould not read Null object)Úreadr   rl   )r\   Únulltxts     r.   Úread_from_streamzNullObject.read_from_streamñ   s5   € à—+’+˜a‘.”.ˆØ�gÒÐÝÐ;Ñ<Ô<Ð<Ý‰|Œ|Ðr0   c                 ó   — dS )Nrl   r?   r,   s    r.   Ú__repr__zNullObject.__repr__ø   s   € Øˆ|r0   Úotherc                 ó,   — t          |t          ¦  «        S r2   )rS   rl   ©r-   r   s     r.   Ú__eq__zNullObject.__eq__û   s   € Ý˜%¥Ñ,Ô,Ð,r0   c                 ó*   — |                       ¦   «         S r2   ©r/   r,   s    r.   Ú__hash__zNullObject.__hash__þ   ó   € Ø�}Š}‰ŒÐr0   ra   r2   )r+   rb   rc   r   ri   r	   r   r
   rj   rg   r<   r/   r   rh   r`   Ústaticmethodr|   r~   Úobjectr‚   r…   r?   r0   r.   rl   rl   Ò   sR  € € € € € ð !&Ø=?ð		
ð 	
à#ð	
ð ð	
ð   ¨¨s°C¨x¬Ô 9Ô:ð		
ð
 
ð	
ð 	
ð 	
ð 	
ð'˜#ð 'ð 'ð 'ð 'ð MQðð Ø ðØ27¸¸UÀDÐ8HÔ2Iðà	ðð ð ð ð ð ð °ð ð ð ñ „\ðð˜#ð ð ð ð ð-˜Fð - tð -ð -ð -ð -ð˜#ð ð ð ð ð ð r0   rl   c                   óî   — e Zd ZU eed<   deddfd„Z	 	 ddeded	ee	e
eef                           dd fd
„Zdefd„Zdedefd„Zdefd„Zdefd„Z	 ddede
eedf         ddfd„Zededd fd„¦   «         ZdS )ÚBooleanObjectÚvaluer%   Nc                 ó   — || _         d S r2   ©r‹   )r-   r‹   s     r.   Ú__init__zBooleanObject.__init__  s   € ØˆŒ
ˆ
ˆ
r0   Fr?   r:   r@   rA   c                 óp   — t          d|                      t          | j        ¦  «        ||¦  «        ¦  «        S )rn   rŠ   )r   rY   rŠ   r‹   rC   s       r.   r<   zBooleanObject.clone  s8   € õ ØØ×!Ò!¥-°´
Ñ";Ô";¸XÀÑWÔWñ
ô 
ð 	
r0   c                 ó8   — t          | j        | j        f¦  «        S rp   )rr   r*   r‹   r,   s    r.   r/   zBooleanObject.hash_bin  s   € õ �T”^ T¤ZÐ0Ñ1Ô1Ð1r0   Úoc                ó�   — t          |t          ¦  «        r| j        |j        k    S t          |t          ¦  «        r| j        |k    S dS )NF)rS   rŠ   r‹   ri   ©r-   r‘   s     r.   r‚   zBooleanObject.__eq__  sF   € Ý�a�Ñ'Ô'ð 	)Ø”: ¤Ò(Ð(Ý�a�ÑÔð 	#Ø”: ’?Ð"Øˆur0   c                 ó*   — |                       ¦   «         S r2   r„   r,   s    r.   r…   zBooleanObject.__hash__%  r†   r0   c                 ó   — | j         rdndS )NÚTrueÚFalser�   r,   s    r.   r~   zBooleanObject.__repr__(  s   € ØœÐ0ˆvˆv¨Ð0r0   r\   r]   c                 ó�   — |�t          dd¦  «         | j        r|                     d¦  «         d S |                     d¦  «         d S )Nrt   ru   ó   trues   false)r   r‹   rw   r_   s      r.   r`   zBooleanObject.write_to_stream+  s]   € ð Ð%Ý&ØAÀ7ñô ð ð Œ:ð 	#Ø�LŠL˜Ñ!Ô!Ð!Ð!Ð!à�LŠL˜Ñ"Ô"Ð"Ð"Ð"r0   c                 óÈ   — |                       d¦  «        }|dk    rt          d¦  «        S |dk    r$|                       d¦  «         t          d¦  «        S t          d¦  «        ‚)Nry   r™   Ts   falsrE   FzCould not read Boolean object)rz   rŠ   r   )r\   Úwords     r.   r|   zBooleanObject.read_from_stream7  s]   € à�{Š{˜1‰~Œ~ˆØ�7Š?ˆ?Ý  Ñ&Ô&Ð&Ø�7Š?ˆ?Ø�KŠK˜‰NŒNˆNÝ  Ñ'Ô'Ð'ÝÐ:Ñ;Ô;Ð;r0   ra   r2   )r+   rb   rc   ri   rf   r   rŽ   r   r	   r   r
   rj   rg   r<   r/   rˆ   r‚   r…   r~   r   rh   r`   r‡   r|   r?   r0   r.   rŠ   rŠ     s  € € € € € € Ø€K€K�Kð˜cð  dð ð ð ð ð !&Ø=?ð	

ð 

à#ð

ð ð

ð   ¨¨s°C¨x¬Ô 9Ô:ð	

ð
 
ð

ð 

ð 

ð 

ð2˜#ð 2ð 2ð 2ð 2ð˜ð  dð ð ð ð ð˜#ð ð ð ð ð1˜#ð 1ð 1ð 1ð 1ð MQð
#ð 
#Ø ð
#Ø27¸¸UÀDÐ8HÔ2Ið
#à	ð
#ð 
#ð 
#ð 
#ð ð< ð <°ð <ð <ð <ñ „\ð<ð <ð <r0   rŠ   c                   óÆ  — e Zd Zdedededdfd„Zdefd„Zdefd„Zd	edd
fd„Z		 	 d'd	ede
deeeeef                           dd fd„Zed(d„¦   «         Zded
         fd„Zdedd fd„Zded
         fd„Zdedefd„Zdedefd„Zdede
fd„Zdefd„Zdefd„Zdefd„Zdefd„Zdefd„Zd ede
fd!„Zd ede
fd"„Z	 d)d#e d$eee!df         ddfd%„Z"e#d#e dedd fd&„¦   «         Z$dS )*r#   rM   Ú
generationrH   r%   Nc                 ó0   — || _         || _        || _        d S r2   )rM   r�   rH   )r-   rM   r�   rH   s       r.   rŽ   zIndirectObject.__init__C  s   € ØˆŒ
Ø$ˆŒØˆŒˆˆr0   c                 ó^   — t          | j        | j        t          | j        ¦  «        f¦  «        S r2   )rr   rM   r�   rP   rH   r,   s    r.   r…   zIndirectObject.__hash__H  s#   € Ý�T”Z ¤µ"°T´X±,´,Ð?Ñ@Ô@Ð@r0   c                 ój   — t          | j        | j        | j        t	          | j        ¦  «        f¦  «        S rp   )rr   r*   rM   r�   rP   rH   r,   s    r.   r/   zIndirectObject.hash_binK  s)   € õ �T”^ T¤Z°´Å"ÀTÄXÁ,Ä,ÐOÑPÔPÐPr0   r:   r!   c                 ó8   — t          | j        | j        |¦  «        S r2   )r#   rM   r�   r=   s     r.   r>   zIndirectObject.replicateU  s   € õ ˜dœj¨$¬/¸8ÑDÔDÐDr0   Fr?   r@   rA   c                 óX  — | j         |k    r|s| S t          | j         ¦  «        |j        vrCi |j        t          | j         ¦  «        <   | j         |j        t          | j         ¦  «                 d<   | j        |j        t          | j         ¦  «                 v rt|                     |j        t          | j         ¦  «                 | j                 ¦  «        }|r4|€J ‚|j        €J ‚|j        }t          |j        |j        |j         ¦  «        S nm|                      ¦   «         }|€-t          ¦   «         }t          | t          f¦  «        sJ ‚| |_        | 
                    |                     |||¦  «        ¦  «        }t          |t          ¦  «        s
J d¦   «         ‚|j        €
J d¦   «         ‚|j        S )rn   rF   NrG   )rH   rP   rQ   rM   rR   r$   r#   r�   rl   rS   Ú_add_objectr<   r!   )r-   r:   r@   rA   ÚdupÚidrefrX   s          r.   r<   zIndirectObject.clone[  s™  € ð Œ8�xÒÐ¨ÐàˆKÝˆdŒh‰<Œ<˜xÔ6Ð6Ð6Ø46ˆHÔ#¥B t¤x¡L¤LÑ1ØAEÄˆHÔ#¥B t¤x¡L¤LÔ1°+Ñ>àŒ:˜Ô0µ°D´H±´Ô>Ð>Ð>Ø×%Ò% hÔ&=½bÀÄ¹l¼lÔ&KÈDÌJÔ&WÑXÔXˆCØð PØ���ØÔ-Ð9Ð9Ð9ØÔ.�Ý% e¤k°5Ô3CÀUÄYÑOÔOÐOð	Pð —/’/Ñ#Ô#ˆCàˆ{å ‘l”l�Ý! $­Ð(9Ñ:Ô:Ð:Ð:Ð:Ø)-�Ô&Ø×&Ò&Ø—	’	˜( O°]ÑCÔCñô ˆCõ ˜#�yÑ)Ô)Ð1Ð1¨6Ñ1Ô1Ð)ØÔ%Ð1Ð1°6Ñ1Ô1Ð1ØÔ%Ð%r0   c                 ó   — | S r2   r?   r,   s    r.   r$   z!IndirectObject.indirect_reference  r[   r0   c                 ó:   — | j                              | ¦  «        }|S r2   )rH   rR   )r-   rX   s     r.   rR   zIndirectObject.get_objectƒ  s   € Ø#'¤8×#6Ò#6°tÑ#<Ô#<ˆØˆ
r0   Úmemoc                 óB   — t          | j        | j        | j        ¦  «        S r2   )r#   rM   r�   rH   )r-   r¨   s     r.   Ú__deepcopy__zIndirectObject.__deepcopy__‡  s   € Ý˜dœj¨$¬/¸4¼8ÑDÔDÐDr0   c                 óÈ   — |                       ¦   «         }t          |t          ¦  «        r8t          |                      ¦   «         › d|                     ¦   «         › �¦  «        ‚|S )Nz references an IndirectObject )rR   rS   r#   r   r~   r“   s     r.   Ú_get_object_with_checkz%IndirectObject._get_object_with_checkŠ  s]   € Ø�OŠOÑÔˆå�a�Ñ(Ô(ð 	Ý Ø—=’=‘?”?ÐPÐPÀ!Ç*Â*Á,Ä,ÐPÐPñô ð ð ˆr0   Únamec                 óŠ   — 	 t          |                      ¦   «         |¦  «        S # t          $ r t          d|› d�¦  «        ‚w xY w)NzNo attribute z* found in IndirectObject or pointed object)Úgetattrr¬   rJ   ©r-   r­   s     r.   Ú__getattr__zIndirectObject.__getattr__“  s^   € ð	Ý˜4×6Ò6Ñ8Ô8¸$Ñ?Ô?Ð?øÝð 	ð 	ð 	Ý ØP ÐPÐPÐPñô ð ð	øøøs	   ‚!$ ¤AÚkeyc                 ó6   — |                       ¦   «         |         S r2   ©r¬   ©r-   r²   s     r.   Ú__getitem__zIndirectObject.__getitem__œ  s   € à×*Ò*Ñ,Ô,¨SÔ1Ð1r0   c                 ó.   — ||                       ¦   «         v S r2   r´   rµ   s     r.   Ú__contains__zIndirectObject.__contains__   s   € Ø�d×1Ò1Ñ3Ô3Ð3Ð3r0   c                 óN   — |                       ¦   «                              ¦   «         S r2   )r¬   Ú__iter__r,   s    r.   rº   zIndirectObject.__iter__£  s    € Ø×*Ò*Ñ,Ô,×5Ò5Ñ7Ô7Ð7r0   c                 óN   — |                       ¦   «                              ¦   «         S r2   )rR   Ú	__float__r,   s    r.   r¼   zIndirectObject.__float__¦  s   € à�ŠÑ Ô ×*Ò*Ñ,Ô,Ð,r0   c                 óN   — |                       ¦   «                              ¦   «         S r2   )rR   Ú__int__r,   s    r.   r¾   zIndirectObject.__int__ª  ó   € à�ŠÑ Ô ×(Ò(Ñ*Ô*Ð*r0   c                 óN   — |                       ¦   «                              ¦   «         S r2   )rR   Ú__str__r,   s    r.   rÁ   zIndirectObject.__str__®  r¿   r0   c                 óR   — d| j         ›d| j        ›dt          | j        ¦  «        › d�S )NzIndirectObject(z, ú))rM   r�   rP   rH   r,   s    r.   r~   zIndirectObject.__repr__²  s/   € ØU ¤ÐUÐU°´ÐUÐUÅbÈÌÁlÄlÐUÐUÐUÐUr0   r   c                 ó�   — |d uoBt          |t          ¦  «        o-| j        |j        k    o| j        |j        k    o| j        |j        u S r2   )rS   r#   rM   r�   rH   r�   s     r.   r‚   zIndirectObject.__eq__µ  sY   € à˜Ðð &Ý˜5¥.Ñ1Ô1ð&à”
˜eœkÒ)ð&ð ” 5Ô#3Ò3ð&ð ”˜EœIÐ%ð	
r0   c                 ó.   — |                       |¦  «         S r2   )r‚   r�   s     r.   Ú__ne__zIndirectObject.__ne__¾  s   € Ø—;’;˜uÑ%Ô%Ð%Ð%r0   r\   r]   c                 ó˜   — |�t          dd¦  «         |                     | j        › d| j        › d�                     ¦   «         ¦  «         d S )Nrt   ru   ú z R)r   rw   rM   r�   r4   r_   s      r.   r`   zIndirectObject.write_to_streamÁ  s\   € ð Ð%Ý&ØAÀ7ñô ð ð 	�Š˜œ
Ð8Ð8 T¤_Ð8Ð8Ð8×?Ò?ÑAÔAÑBÔBÐBÐBÐBr0   c                 ó  — d}	 |                       d¦  «        }|st          t          ¦  «        ‚|                     ¦   «         rn||z  }ŒFd}	 |                       d¦  «        }|st          t          ¦  «        ‚|                     ¦   «         r|sŒCn||z  }ŒIt	          | ¦  «        }|dk    r1t          dt          |                      ¦   «         ¦  «        › �¦  «        ‚t          t          |¦  «        t          |¦  «        |¦  «        S )Nr0   TrE   ó   Rz0Error reading indirect object reference at byte )
rz   r   r   Úisspacer   r   ÚhexÚtellr#   rg   )r\   rH   rM   Útokr�   Úrs         r.   r|   zIndirectObject.read_from_streamÊ  s  € àˆð	Ø—+’+˜a‘.”.ˆCØð CÝ$Õ%AÑBÔBÐBØ�{Š{‰}Œ}ð ØØ�S‰LˆEð	ð ˆ
ð	Ø—+’+˜a‘.”.ˆCØð CÝ$Õ%AÑBÔBÐBØ�{Š{‰}Œ}ð Ø!ð ØØØ˜#ÑˆJð	õ   Ñ'Ô'ˆØ�Š9ˆ9ÝØWÅ3ÀvÇ{Â{Á}Ä}ÑCUÔCUÐWÐWñô ð õ �c %™jœj­#¨j©/¬/¸3Ñ?Ô?Ð?r0   ra   )r%   r#   r2   )%r+   rb   rc   rg   r   rŽ   r…   r/   r   r>   ri   r	   r   r
   rj   r<   Úpropertyr$   rR   rª   r¬   r±   r¶   r¸   rº   r¼   r¾   rÁ   r~   rˆ   r‚   rÆ   r   rh   r`   r‡   r|   r?   r0   r.   r#   r#   B  sT  € € € € € ð˜cð ¨sð ¸ð Àð ð ð ð ð
A˜#ð Að Að Að AðQ˜#ð Qð Qð Qð QðEà#ðEð 
ðEð Eð Eð Eð !&Ø=?ð	"&ð "&à#ð"&ð ð"&ð   ¨¨s°C¨x¬Ô 9Ô:ð	"&ð
 
ð"&ð "&ð "&ð "&ðH ðð ð ñ „Xðð˜H [Ô1ð ð ð ð ðE ð EÐ)9ð Eð Eð Eð Eð¨°Ô(=ð ð ð ð ð ð ¨ð ð ð ð ð2˜sð 2 sð 2ð 2ð 2ð 2ð4 ð 4¨ð 4ð 4ð 4ð 4ð8˜#ð 8ð 8ð 8ð 8ð-˜3ð -ð -ð -ð -ð+˜ð +ð +ð +ð +ð+˜ð +ð +ð +ð +ðV˜#ð Vð Vð Vð Vð
˜Fð 
 tð 
ð 
ð 
ð 
ð&˜Fð & tð &ð &ð &ð &ð MQðCð CØ ðCØ27¸¸UÀDÐ8HÔ2IðCà	ðCð Cð Cð Cð ð@ ð @°#ð @Ð:Jð @ð @ð @ñ „\ð@ð @ð @r0   r#   é   c                   óÒ   — e Zd Z	 ddedee         defd„Z	 	 dd	ed
edeee	e
ef                           dd fd„Zdefd„Zde
fd„Zde
fd„Zdefd„Z	 ddede	e
edf         ddfd„ZdS )ÚFloatObjectú0.0Nr‹   Úcontextr%   c                 óì   — 	 t          |¦  «        }t                                | |¦  «        S # t          $ r=}t          dt          ||¬¦  «         t                                | d¦  «        cY d }~S d }~ww xY w)Nz<%(error)s : FloatObject (%(value)s) invalid; use 0.0 instead)ÚsourceÚerrorr‹   g        )ÚfloatÚ__new__rI   r   r+   )Úclsr‹   rÕ   Úes       r.   rÚ   zFloatObject.__new__ê  s�   € ð	+Ý˜%‘L”LˆEÝ—=’=  eÑ,Ô,Ð,øÝð 		+ð 		+ð 		+õ ØNÝØØð	ñ ô ð õ —=’=  cÑ*Ô*Ð*Ð*Ð*Ð*Ð*Ð*øøøøð		+øøøs   ‚), ¬
A3¶2A.Á(A3Á.A3Fr?   r:   r@   rA   c                 óf   — t          d|                      t          | ¦  «        ||¦  «        ¦  «        S )rn   rÓ   )r   rY   rÓ   rC   s       r.   r<   zFloatObject.cloneû  s6   € õ ØØ×!Ò!¥+¨dÑ"3Ô"3°X¸ÑOÔOñ
ô 
ð 	
r0   c                 ó8   — t          | j        | j        f¦  «        S rp   ©rr   r*   Ú
as_numericr,   s    r.   r/   zFloatObject.hash_bin  s   € õ �T”^ T¤_Ð5Ñ6Ô6Ð6r0   c                 óì   — | dk    rdS t           t          t          t          | ¦  «        ¦  «        ¦  «        z
  }| dt	          d|¦  «        › d�›                     d¦  «                             d¦  «        S )Nr   rÔ   ú.rE   ÚfÚ0)ÚFLOAT_WRITE_PRECISIONrg   r   ÚabsÚmaxÚrstrip)r-   Únbs     r.   ÚmyreprzFloatObject.myrepr  sk   € Ø�1Š9ˆ9Ø�5Ý"¥S­­s°4©y¬yÑ)9Ô)9Ñ%:Ô%:Ñ:ˆØÐ'�˜Q ™œÐ'Ð'Ð'Ð'×.Ò.¨sÑ3Ô3×:Ò:¸3Ñ?Ô?Ð?r0   c                 ó*   — |                       ¦   «         S r2   )rê   r,   s    r.   r~   zFloatObject.__repr__  s   € Ø�{Š{‰}Œ}Ðr0   c                 ó    — t          | ¦  «        S r2   )rÙ   r,   s    r.   rà   zFloatObject.as_numeric  s   € Ý�T‰{Œ{Ðr0   r\   r]   c                 óž   — |�t          dd¦  «         |                     |                      ¦   «                              d¦  «        ¦  «         d S ©Nrt   ru   Úutf8)r   rw   rê   r4   r_   s      r.   r`   zFloatObject.write_to_stream  sQ   € ð Ð%Ý&ØAÀ7ñô ð ð 	�Š�T—[’[‘]”]×)Ò)¨&Ñ1Ô1Ñ2Ô2Ð2Ð2Ð2r0   )rÔ   Nra   r2   )r+   rb   rc   r   r	   r   rÚ   ri   r   r
   rj   rg   r<   r/   rê   r~   rÙ   rà   r   rh   r`   r?   r0   r.   rÓ   rÓ   é  sZ  € € € € € à:>ð+ð +Øð+Ø*2°3¬-ð+à	ð+ð +ð +ð +ð( !&Ø=?ð	

ð 

àð

ð ð

ð   ¨¨s°C¨x¬Ô 9Ô:ð	

ð
 
ð

ð 

ð 

ð 

ð7˜#ð 7ð 7ð 7ð 7ð@˜ð @ð @ð @ð @ð˜#ð ð ð ð ð˜Eð ð ð ð ð MQð3ð 3Ø ð3Ø27¸¸UÀDÐ8HÔ2Ið3à	ð3ð 3ð 3ð 3ð 3ð 3r0   rÓ   c                   óö   — e Zd Z ej        d¦  «        ZdZdedefd„Z		 	 dded	e
d
eeeeef                           dd fd„Zdefd„Zdefd„Z	 ddedeeedf         ddfd„Zededed         fd„¦   «         ZdS )ÚNumberObjects	   [^+-.0-9]é@   r‹   r%   c                 óØ   — 	 t                                | t          |¦  «        ¦  «        S # t          $ r5 t          dt          |¬¦  «         t                                | d¦  «        cY S w xY w)Nz.NumberObject(%(value)s) invalid; use 0 instead)r×   r‹   r   )rg   rÚ   Ú
ValueErrorr   r+   )rÛ   r‹   s     r.   rÚ   zNumberObject.__new__+  sn   € ð	'Ý—;’;˜s¥C¨¡J¤JÑ/Ô/Ð/øÝð 	'ð 	'ð 	'ÝÐKÕT\ÐdiÐjÑjÔjÐjÝ—;’;˜s AÑ&Ô&Ð&Ð&Ð&ð	'øøøs   ‚'* ª<A)Á(A)Fr?   r:   r@   rA   c                 óf   — t          d|                      t          | ¦  «        ||¦  «        ¦  «        S )rn   rñ   )r   rY   rñ   rC   s       r.   r<   zNumberObject.clone2  s6   € õ ØØ×!Ò!¥,¨tÑ"4Ô"4°hÀÑPÔPñ
ô 
ð 	
r0   c                 óR   — t          | j        |                      ¦   «         f¦  «        S rp   rß   r,   s    r.   r/   zNumberObject.hash_bin>  s#   € õ �T”^ T§_¢_Ñ%6Ô%6Ð7Ñ8Ô8Ð8r0   c                 ó`   — t          t          | ¦  «                             d¦  «        ¦  «        S )Nrï   )rg   Úreprr4   r,   s    r.   rà   zNumberObject.as_numericH  s$   € Ý•4˜‘:”:×$Ò$ VÑ,Ô,Ñ-Ô-Ð-r0   Nr\   r]   c                 ó”   — |�t          dd¦  «         |                     t          | ¦  «                             d¦  «        ¦  «         d S rî   )r   rw   rø   r4   r_   s      r.   r`   zNumberObject.write_to_streamK  sO   € ð Ð%Ý&ØAÀ7ñô ð ð 	�Š•T˜$‘Z”Z×&Ò& vÑ.Ô.Ñ/Ô/Ð/Ð/Ð/r0   )rñ   rÓ   c                 ó’   — t          | t          j        t          j        ¬¦  «        }d|v rt	          |¦  «        S t          |¦  «        S )N©r\   ÚregexÚlengthó   .)r   rñ   ÚNumberPatternÚ_LENGTH_LIMITrÓ   )r\   Únums     r.   r|   zNumberObject.read_from_streamT  sB   € å fµLÔ4NÕWcÔWqÐrÑrÔrˆØ�3ˆ;ˆ;Ý˜sÑ#Ô#Ð#Ý˜CÑ Ô Ð r0   ra   r2   )r+   rb   rc   ÚreÚcompilerÿ   r   r   r   rÚ   ri   r	   r   r
   rj   rg   r<   r/   rà   r   rh   r`   r‡   r|   r?   r0   r.   rñ   rñ   '  sS  € € € € € Ø�B”J˜|Ñ,Ô,€MØ€Mð'˜Cð ' Dð 'ð 'ð 'ð 'ð !&Ø=?ð	

ð 

àð

ð ð

ð   ¨¨s°C¨x¬Ô 9Ô:ð	

ð
 
ð

ð 

ð 

ð 

ð9˜#ð 9ð 9ð 9ð 9ð.˜Cð .ð .ð .ð .ð MQð0ð 0Ø ð0Ø27¸¸UÀDÐ8HÔ2Ið0à	ð0ð 0ð 0ð 0ð ð! ð !°Ð6SÔ0Tð !ð !ð !ñ „\ð!ð !ð !r0   rñ   c                   ó¶   — e Zd ZdZ	 	 ddededeeee	e
f                           dd fd„Zde
fd	„Zedefd
„¦   «         Z	 ddedee	edf         ddfd„Zde	fd„ZdS )Ú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.
    Fr?   r:   r@   rA   r%   c           
      ó€   — t          d|                      t          t          | ¦  «        ¦  «        ||¦  «        ¦  «        S )rn   r  )r   rY   r  rh   rC   s       r.   r<   zByteStringObject.clonee  sA   € õ ØØ×!Ò!Ý ¥ t¡¤Ñ-Ô-¨x¸ñô ñ
ô 
ð 	
r0   c                 óH   — t          | j        t          | ¦  «        f¦  «        S rp   )rr   r*   rh   r,   s    r.   r/   zByteStringObject.hash_bins  s   € õ �T”^¥U¨4¡[¤[Ð1Ñ2Ô2Ð2r0   c                 ó   — | S )z7For compatibility with TextStringObject.original_bytes.r?   r,   s    r.   Úoriginal_byteszByteStringObject.original_bytes}  s	   € ð ˆr0   Nr\   r]   c                 óÌ   — |�t          dd¦  «         |                     d¦  «         |                     t          j        | ¦  «        ¦  «         |                     d¦  «         d S )Nrt   ru   ó   <ó   >)r   rw   ÚbinasciiÚhexlifyr_   s      r.   r`   z ByteStringObject.write_to_stream‚  sj   € ð Ð%Ý&ØAÀ7ñô ð ð 	�Š�TÑÔÐØ�Š•XÔ% dÑ+Ô+Ñ,Ô,Ð,Ø�Š�TÑÔÐÐÐr0   c                 ó°   — dgt          t          j        ¦  «        ¢}|D ])}	 |                      |¦  «        c S # t          $ r Y Œ&w xY wt          d¦  «        ‚)Núutf-16zCannot decode ByteStringObject.)ÚlistÚ
NameObjectÚCHARSETSÚdecodeÚUnicodeDecodeErrorr   )r-   Úcharset_to_tryÚencs      r.   rÁ   zByteStringObject.__str__�  su   € Ø"Ð?¥T­*Ô*=Ñ%>Ô%>Ð?ˆØ!ð 	ð 	ˆCðØ—{’{ 3Ñ'Ô'Ð'Ð'Ð'øÝ%ð ð ð Ø�ðøøøåÐ<Ñ=Ô=Ð=s   ¢9¹
AÁAra   r2   )r+   rb   rc   Ú__doc__r   ri   r	   r   r
   rj   rg   r<   r/   rÐ   rh   r	  r   r`   rÁ   r?   r0   r.   r  r  \  s  € € € € € ðð ð !&Ø=?ð	
ð 
àð
ð ð
ð   ¨¨s°C¨x¬Ô 9Ô:ð	
ð
 
ð
ð 
ð 
ð 
ð3˜#ð 3ð 3ð 3ð 3ð ð ð ð ð ñ „Xðð
 MQð	ð 	Ø ð	Ø27¸¸UÀDÐ8HÔ2Ið	à	ð	ð 	ð 	ð 	ð>˜ð >ð >ð >ð >ð >ð >r0   r  c                   ó  — e Zd ZU dZeed<   eed<   eed<   dZee         ed<   de	de
fd	„Z	 	 dde	dedeeeeef                           dd fd„Zdefd„Zedefd„¦   «         Zdefd„Zdefd„Z	 ddedeeedf         ddfd„ZdS )ÚTextStringObjectzë
    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.
    Úautodetect_pdfdocencodingÚautodetect_utf16Ú	utf16_bomNÚ_original_bytesr‹   r%   c                 ó  — d }t          |t          ¦  «        r|}|                     d¦  «        }t                               | |¦  «        }||_        d|_        d|_        d|_        |�ä|d d…         t          j
        t          j        hv rÂ	 t                               | |                     d¦  «        ¦  «        }nt# t          $ rg}t          dt          ||j        ¬¦  «         t                               | |j        d |j        …                              d¦  «        ¦  «        }Y d }~nd }~ww xY w||_        d|_        |d d…         |_        n@	 t#          |¦  «         d|_        n(# t$          $ r d|_        t          j        |_        Y nw xY w|S )	NÚcharmapFr0   r   r  z1%(exception)s; initial string: %(initial_string)r)r×   Ú	exceptionÚinitial_stringT)rS   rh   r  rj   rÚ   r  r  r  r  ÚcodecsÚBOM_UTF16_LEÚBOM_UTF16_BEr  r   r+   rˆ   ÚstartÚencode_pdfdocencodingÚUnicodeEncodeError)rÛ   r‹   r	  Útext_string_objectr!  s        r.   rÚ   zTextStringObject.__new__¥  sÑ  € ØˆÝ�e�UÑ#Ô#ð 	,Ø"ˆNØ—L’L Ñ+Ô+ˆEÝ Ÿ[š[¨¨eÑ4Ô4ÐØ-;ÐÔ*Ø.3ÐÔ+Ø7<ÐÔ4Ø'*ÐÔ$ØÐ%¨.¸¸!¸Ô*<ÅÔATÕV\ÔViÐ@jÐ*jÐ*jð
	lÝ%(§[¢[°°n×6KÒ6KÈHÑ6UÔ6UÑ%VÔ%VÐ"Ð"øÝ%ð lð lð lÝØGÝ#Ø'Ø#,Ô#3ð	ñ ô ð õ &)§[¢[°°iÔ6FÐGXÈÌÐGXÔ6Y×6`Ò6`ÐaiÑ6jÔ6jÑ%kÔ%kÐ"Ð"Ð"Ð"Ð"Ð"øøøøðløøøð 2@ÐÔ.Ø26ÐÔ/Ø+9¸"¸1¸"Ô+=ÐÔ(Ð(ðCÝ%Ð&8Ñ9Ô9Ð9Ø?CÐ"Ô<Ð<øÝ%ð Cð Cð CØ6:Ð"Ô3Ý/5Ô/BÐ"Ô,Ð,Ð,ðCøøøð "Ð!s+   Â.B: Â:
D+ÃAD&Ä&D+ÅE$ Å$"F	ÆF	Fr?   r:   r@   rA   c                 óÊ   — t          | ¦  «        }| j        |_        | j        |_        | j        |_        | j        |_        t          d|                      |||¦  «        ¦  «        S )rn   r  )r  r  r  r  r  r   rY   )r-   r:   r@   rA   rX   s        r.   r<   zTextStringObject.cloneÊ  sd   € õ ˜tÑ$Ô$ˆØ"Ô2ˆÔØ(,Ô(FˆÔ%Ø#Ô4ˆÔØœˆŒÝØ × 5Ò 5°c¸8À_Ñ UÔ Uñ
ô 
ð 	
r0   c                 ó8   — t          | j        | j        f¦  «        S rp   )rr   r*   r	  r,   s    r.   r/   zTextStringObject.hash_binÚ  s   € õ �T”^ TÔ%8Ð9Ñ:Ô:Ð:r0   c                 óF   — | j         �| j         S |                      ¦   «         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.
        )r  Úget_original_bytesr,   s    r.   r	  zTextStringObject.original_bytesä  s(   € ð ÔÐ+ØÔ'Ð'Ø×&Ò&Ñ(Ô(Ð(r0   c                 ó`  — | j         rƒ| j        t          j        k    r"t          j        |                      d¦  «        z   S | j        t          j        k    r"t          j        |                      d¦  «        z   S |                      d¦  «        S | j        rt          | ¦  «        S t          d¦  «        ‚)Núutf-16leúutf-16bez#no information about original bytes)	r  r  r#  r$  r4   r%  r  r'  rI   r,   s    r.   r-  z#TextStringObject.get_original_bytesð  s�   € ð Ô ð 	+ØŒ~¥Ô!4Ò4Ð4ÝÔ*¨T¯[ª[¸Ñ-DÔ-DÑDÐDØŒ~¥Ô!4Ò4Ð4ÝÔ*¨T¯[ª[¸Ñ-DÔ-DÑDÐDØ—;’;˜zÑ*Ô*Ð*ØÔ)ð 	/Ý(¨Ñ.Ô.Ð.ÝÐ=Ñ>Ô>Ð>r0   c                 ó¢  — 	 | j         �| j         S | j        rt          ddddd¦  «        ‚t          | ¦  «        }n•# t          $ rˆ | j        t
          j        k    r#t
          j        |                      d¦  «        z   }nM| j        t
          j        k    r#t
          j        |                      d¦  «        z   }n|                      d¦  «        }Y nw xY w|S )NÚ Úforcedéÿÿÿÿr/  r0  )	r  r  r(  r'  r  r#  r$  r4   r%  )r-   Úbytearrs     r.   Úget_encoded_bytesz"TextStringObject.get_encoded_bytes   sÕ   € ð	2ØÔ#Ð/ØÔ+Ð+ØÔ$ð CÝ(¨¨X°r¸2¸rÑBÔBÐBÝ+¨DÑ1Ô1ˆGˆGøÝ!ð 	2ð 	2ð 	2ØŒ~¥Ô!4Ò4Ð4Ý Ô-°·²¸JÑ0GÔ0GÑG��Ø”¥6Ô#6Ò6Ð6Ý Ô-°·²¸JÑ0GÔ0GÑG��àŸ+š+ jÑ1Ô1�øøð	2øøøð ˆs   ‚: �): ºBCÃCr\   r]   c                 ó¬  — |�t          dd¦  «         |                      ¦   «         }|                     d¦  «         t          d|¦  «        D ]r}t	          t
          |d         ¦  «        }|                     ¦   «         s,|dk    r&|                     dt          |¦  «        z  ¦  «         Œ]|                     |¦  «         Œs|                     d¦  «         d S )	Nrt   ru   ó   (Úcr   ó    s   \%03oó   ))r   r6  rw   r   r   rh   ÚisalnumÚord)r-   r\   r]   r5  Úc_r9  s         r.   r`   z TextStringObject.write_to_stream  sÕ   € ð Ð%Ý&ØAÀ7ñô ð ð ×(Ò(Ñ*Ô*ˆØ�Š�TÑÔÐÝ˜c 7Ñ+Ô+ð 		 ð 		 ˆBÝ•U˜B˜qœEÑ"Ô"ˆAØ—9’9‘;”;ð   1¨¢9 9ð
 —’˜Y­¨Q©¬Ñ/Ñ0Ô0Ð0Ð0à—’˜Q‘”��Ø�Š�TÑÔÐÐÐr0   ra   r2   )r+   rb   rc   r  ri   rf   rh   r  r	   r   r   rÚ   r   r
   rj   rg   r<   r/   rÐ   r	  r-  r6  r   r`   r?   r0   r.   r  r  —  s’  € € € € € € ðð ð  $Ð#Ð#Ñ#ØÐÐÑØÐÐÑØ'+€O�X˜e”_Ð+Ð+Ñ+ð#"˜Cð #" Dð #"ð #"ð #"ð #"ðP !&Ø=?ð	
ð 
àð
ð ð
ð   ¨¨s°C¨x¬Ô 9Ô:ð	
ð
 
ð
ð 
ð 
ð 
ð ;˜#ð ;ð ;ð ;ð ;ð ð	) ð 	)ð 	)ð 	)ñ „Xð	)ð? Eð ?ð ?ð ?ð ?ð  5ð ð ð ð ð( MQðð Ø ðØ27¸¸UÀDÐ8HÔ2Iðà	ðð ð ð ð ð r0   r  c                   ó˜  — e Zd ZU  ej        d¦  «        ZdZi d„ dD ¦   «         ¥d„  ed¦  «        D ¦   «         ¥Ze	e
eef                  ed<   dZ	 	 ddededeeeeef                           dd fd„Zdefd„Z	 ddedeeedf         ddfd„Zdefd„Zdd„Zedefd„¦   «         Zededefd„¦   «         ZdZedededd fd„¦   «         Z dS ) r  s   \s+|[\(\)<>\[\]{}/%]ó   /c                 óZ   — i | ](}t          |¦  «        d |d›�                     ¦   «         “Œ)S ©ú#Ú02X©Úchrr4   ©Ú.0rW   s     r.   ú
<dictcomp>zNameObject.<dictcomp>-  s4   € Ð
@Ð
@Ð
@¨A�3ˆq‰6Œ6�;�q�;�;�;×%Ò%Ñ'Ô'Ð
@Ð
@Ð
@r0   s   #()<>[]{}/%c                 óZ   — i | ](}t          |¦  «        d |d›�                     ¦   «         “Œ)S rB  rE  rG  s     r.   rI  zNameObject.<dictcomp>.  s4   € Ð
;Ð
;Ð
;¨A�3ˆq‰6Œ6�;�q�;�;�;×%Ò%Ñ'Ô'Ð
;Ð
;Ð
;r0   é!   Úrenumber_tablei   Fr?   r:   r@   rA   r%   c                 óf   — t          d|                      t          | ¦  «        ||¦  «        ¦  «        S )rn   r  )r   rY   r  rC   s       r.   r<   zNameObject.clone2  s6   € õ ØØ×!Ò!¥*¨TÑ"2Ô"2°H¸oÑNÔNñ
ô 
ð 	
r0   c                 ó.   — t          | j        | f¦  «        S rp   rq   r,   s    r.   r/   zNameObject.hash_bin>  s   € õ �T”^ TÐ*Ñ+Ô+Ð+r0   Nr\   r]   c                 óx   — |�t          dd¦  «         |                     |                      ¦   «         ¦  «         d S )Nrt   ru   )r   rw   Úrenumberr_   s      r.   r`   zNameObject.write_to_streamH  sC   € ð Ð%Ý&ØAÀ7ñô ð ð 	�Š�T—]’]‘_”_Ñ%Ô%Ð%Ð%Ð%r0   c                 óÚ  — | d                               d¦  «        }|dk    rt          d| › d�d¦  «         |g}| dd …         D ]”}|dk    r3|                     d	„ |                      d¦  «        D ¦   «         ¦  «         Œ;	 |                     | j        |         ¦  «         Œ]# t
          $ r+ |                     |                      d¦  «        ¦  «         Y Œ‘w xY wd
                     |¦  «        S )Nr   úutf-8r@  z<Incorrect first char in NameObject, should start with '/': (rÃ   ru   rE   Ú~c              3   óF   K  — | ]}d |d›�                      ¦   «         V — ŒdS )rC  rD  Nr3   )rH  Úxs     r.   ú	<genexpr>z&NameObject.renumber.<locals>.<genexpr>[  s6   è è € ÐMÐM°a˜[ ˜[˜[˜[×/Ò/Ñ1Ô1ÐMÐMÐMÐMÐMÐMr0   r0   )r4   r   ÚextendrU   rL  ÚKeyErrorÚjoin)r-   ÚoutÚpartsr9  s       r.   rP  zNameObject.renumberQ  s  € Ø�1Œg�nŠn˜WÑ%Ô%ˆØ�$Š;ˆ;Ý&ØVÈtÐVÐVÐVØñô ð ð �ˆØ�a�b�b”ð 	4ð 	4ˆAØ�3ŠwˆwØ—’ÐMÐM¸1¿8º8ÀGÑ;LÔ;LÐMÑMÔMÑMÔMÐMÐMð4Ø—L’L Ô!4°QÔ!7Ñ8Ô8Ð8Ð8øÝð 4ð 4ð 4Ø—L’L §¢¨'Ñ!2Ô!2Ñ3Ô3Ð3Ð3Ð3ð4øøøà�xŠx˜‰ŒÐs   Á? B Â 2CÃCc                 óÂ   — t          | ¦  «                             d¦  «        }t          j        dd|¦  «        }t          j        dd|¦  «        }t	          d|z   ¦  «        S )a0  
        Sanitize the NameObject's name to be a valid PDF name part
        (alphanumeric, underscore, hyphen). The _sanitize method replaces
        spaces and any non-alphanumeric/non-underscore/non-hyphen with
        underscores.

        Returns:
            NameObject with sanitized name.
        ú/rÈ   Ú_z[^a-zA-Z0-9_-])rj   Úremoveprefixr  Úsubr  r°   s     r.   Ú	_sanitizezNameObject._sanitizec  sV   € õ �4‰yŒy×%Ò% cÑ*Ô*ˆÝŒv�d˜C Ñ&Ô&ˆÝŒvÐ'¨¨dÑ3Ô3ˆÝ˜# ™*Ñ%Ô%Ð%r0   c                 ó(   — t          ddd¦  «         dS )NÚsurfixÚprefixru   r@  )r   )rÛ   s    r.   rc  zNameObject.surfixr  s   € å$ X¨x¸ÑAÔAÐAØˆtr0   Úsinc                 óŒ  — t          ¦   «         }d}|t          | ¦  «        k     r“| ||dz   …         dk    rO	 |                     t          | |dz   |dz   …         d¦  «        ¦  «         |dz  }Œ\# t          t
          f$ r Y nw xY w|                     | |         ¦  «         |dz  }|t          | ¦  «        k     °“t          |¦  «        S )Nr   rE   ó   #r   é   )Ú	bytearrayrN   rU   rg   rô   rT   rh   )re  ÚresultrW   s      r.   ÚunnumberzNameObject.unnumberw  sÛ   € å‘”ˆØˆØ•#�c‘(”(ŠlˆlØ�1�Q˜‘U�7Œ|˜tÒ#Ð#ðØ—M’M¥# c¨!¨a©%°!°a±%¨-Ô&8¸"Ñ"=Ô"=Ñ>Ô>Ð>Ø˜‘F�AØøÝ"¥JÐ/ð ð ð ð �Dðøøøð �MŠM˜#˜aœ&Ñ!Ô!Ð!Ø�‰FˆAð •#�c‘(”(Šlˆlõ �V‰}Œ}Ðs   ¶6A- Á-BÂ B)rR  ÚgbkÚlatin1rH   c                 ó†  — |                       d¦  «        }|t          j        k    rt          d¦  «        ‚|t	          | t          j        t          j        ¬¦  «        z  }	 t                               |¦  «        }t          j        D ]8}	 | 	                    |¦  «        }t          |¦  «        c S # t          $ r Y Œ5w xY wt          d|ddd¦  «        ‚# t          t          f$ r^}|j        s>t          dt          |¬¦  «         t          | 	                    d	¦  «        ¦  «        cY d }~S t          d
|›d�¦  «        |‚d }~ww xY w)NrE   zName read errorrû   r2  r   zCode Not FoundzVIllegal character in NameObject (%(name)r), you may need to adjust NameObject.CHARSETS)r×   r­   r   z!Illegal character in NameObject (z.). You may need to adjust NameObject.CHARSETS.)rz   r  rd  r   r   Údelimiter_patternr   rk  r  r  rI   r  r(  Ústrictr   r+   )r\   rH   r­   r  ÚretrÜ   s         r.   r|   zNameObject.read_from_stream‹  s�  € à�{Š{˜1‰~Œ~ˆØ•:Ô$Ò$Ð$ÝÐ0Ñ1Ô1Ð1ØÕ ¨µjÔ6RÕ[eÔ[sÐtÑtÔtÑtˆð	õ ×&Ò& tÑ,Ô,ˆDÝ!Ô*ð ð �ðØŸ+š+ cÑ*Ô*�CÝ% c™?œ?Ð*Ð*Ð*øÝ ð ð ð Ø�Dðøøøå$ R¨¨q°!Ð5EÑFÔFÐFøÝ"Õ$6Ð7ð 	ð 	ð 	Ø”:ð :ÝØlÝ#Øðñ ô ð õ
 " $§+¢+¨iÑ"8Ô"8Ñ9Ô9Ð9Ð9Ð9Ð9Ð9Ð9Ýð>°Dð >ð >ð >ñô ð ðøøøøð	øøøsH   Á(C Â#B.Â+C Â.
B;Â8C Â:B;Â;C ÃE Ã"?D;Ä!E Ä'D;Ä;E ra   r2   )r%   r  )!r+   rb   rc   r  r  ro  rd  ÚrangerL  r   Údictrj   rh   rf   r   r   ri   r	   r   r
   rg   r<   r/   r   r`   rP  ra  r   rc  r‡   rk  r  r|   r?   r0   r.   r  r  )  s  € € € € € € Ø"˜œ
Ð#;Ñ<Ô<ÐØ€Fð2Ø
@Ð
@°Ð
@Ñ
@Ô
@ð2à
;Ð
;°°°r±´Ð
;Ñ
;Ô
;ð2€N�H˜T # u *Ô-Ô.ð ð ñ ð €Mð
 !&Ø=?ð	

ð 

àð

ð ð

ð   ¨¨s°C¨x¬Ô 9Ô:ð	

ð
 
ð

ð 

ð 

ð 

ð,˜#ð ,ð ,ð ,ð ,ð MQð&ð &Ø ð&Ø27¸¸UÀDÐ8HÔ2Ið&à	ð&ð &ð &ð &ð˜%ð ð ð ð ð$&ð &ð &ð &ð ð�uð ð ð ñ „]ðð ð�eð  ð ð ð ñ „\ðð" *€Hàð ð °#ð ¸,ð ð ð ñ „\ðð ð r0   r  Úunicode_stringr%   c                 óx   — 	 t          d„ | D ¦   «         ¦  «        S # t          $ r t          d| ddd¦  «        ‚w xY w)Nc                 ó(   — g | ]}t           |         ‘ŒS r?   r   )rH  Úks     r.   ú
<listcomp>z)encode_pdfdocencoding.<locals>.<listcomp>¬  s   € ÐFÐFÐF°!Õ*¨1Ô-ÐFÐFÐFr0   Úpdfdocencodingr4  z#does not exist in translation table)rh   rX  r(  )rt  s    r.   r'  r'  ª  s`   € ð	
ÝÐFÐF°~ÐFÑFÔFÑGÔGÐGøÝð 
ð 
ð 
Ý ØØØØØ1ñ
ô 
ð 	
ð
øøøs   ‚ ›9rU  c                 ó®   — | du pQt          | t          ¦  «        o<|                      ¦   «         du p&t          |                      ¦   «         t          ¦  «        S )z<
    Returns:
        True if x is None or NullObject.

    N)rS   r!   rR   rl   )rU  s    r.   Úis_null_or_noner{  ·  sO   € ð �ˆ9ð Ý�1•iÑ Ô ð 	OØ�\Š\‰^Œ^˜tÐ#ÐM¥z°!·,²,±.´.Å*Ñ'MÔ'Mðr0   )9r  r#  rd   r  ÚsysÚcollections.abcr   Úmathr   Ústructr   Útypingr   r   r   r	   r
   r   Úversion_infor   Útyping_extensionsr   Ú_codecsr   Ú
_protocolsr   r   Ú_utilsr   r   r   r   r   r   r   Úerrorsr   r   r   Ú
__author__Ú__author_email__r!   rl   rŠ   r#   rå   rÙ   rÓ   rg   rñ   rh   r  rj   r  r  r'  r{  r?   r0   r.   ú<module>r‰     sÚ  ðð6 €€€Ø €€€Ø €€€Ø 	€	€	€	Ø 
€
€
€
Ø $Ð $Ð $Ð $Ð $Ð $Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AàÔ�B�Q�BÔ˜7Ò"Ð"Ø Ð Ð Ð Ð Ð Ð à+Ð+Ð+Ð+Ð+Ð+àÔ�wÒÐØÐÐÐÐÐÐà&Ð&Ð&Ð&Ð&Ð&à *Ð *Ð *Ð *Ð *Ð *Ø =Ð =Ð =Ð =Ð =Ð =Ð =Ð =ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð PÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ Oà€
Ø/Ð ðO"ð O"ð O"ð O"ð O"Ð!ñ O"ô O"ð O"ðd-ð -ð -ð -ð -�ñ -ô -ð -ð`=<ð =<ð =<ð =<ð =<�Iñ =<ô =<ð =<ð@a@ð a@ð a@ð a@ð a@�Yñ a@ô a@ð a@ðH Ð ð;3ð ;3ð ;3ð ;3ð ;3�%˜ñ ;3ô ;3ð ;3ð|2!ð 2!ð 2!ð 2!ð 2!�3˜	ñ 2!ô 2!ð 2!ðj8>ð 8>ð 8>ð 8>ð 8>�u˜iñ 8>ô 8>ð 8>ðvOð Oð Oð Oð O�s˜Iñ Oô Oð Oðd~ð ~ð ~ð ~ð ~��iñ ~ô ~ð ~ðB

¨#ð 

°%ð 

ð 

ð 

ð 

ð	�sð 	˜y¨¨z¸>È4Ð/OÔ)PÔQð 	ð 	ð 	ð 	ð 	ð 	r0   