§
    ;]¥e:  ã            	       óà  — U d Z dZd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 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 n# e$ r	 dd
lmZ Y nw xY wddlmZmZmZ eeeeef         eeeef         eeeef         f         Z ee!d<   eeeeeeef         Z"ee!d<   eZ#ee$e#f         Z%dZ&dZ'dZ(dZ)de*de*de*fd„Z+dSde#dee,         de*fd„Z-de#de*fd„Z.de#de/fd„Z0de#ddfd„Z1de#dee*         de*fd„Z2de#de,de*fd „Z3de#de*fd!„Z4d"e d#e de fd$„Z5de#ddfd%„Z6i Z7eee$e*f         e*f         e!d&<   d'ee$e*f         de*fd(„Z8ed#e$de$fd)„¦   «         Z9ed#e*de$fd*„¦   «         Z9d#ee$e*f         de$fd+„Z9ed#e$de,fd,„¦   «         Z:ed#e*de*fd-„¦   «         Z:ed#e,de,fd.„¦   «         Z:d#ee,e$e*f         dee,e*f         fd/„Z:d#e*de*fd0„Z;d1e,de$fd2„Z<d3Z=d4e,d5e,d6e,de,fd7„Z>dTd9e$d:e,ddfd;„Z?d9e$ddfd<„Z@	 dUd>e$d?e$d@e$ddfdA„ZA	 dUd>e$d?e$d@e$ddfdB„ZBdUdCe$d@e$ddfdD„ZCdUdCe$d@e$ddfdE„ZDd9e$dFe$ddfdG„ZEdHe$defdI„ZF	 dVdKe$dLee$ef         dHee$e$f         dMe/fdN„ZGdOe,de$fdP„ZHe	 G dQ„ dR¦  «        ¦   «         ZIdS )Wz"Utility functions for PDF library.zMathieu Fenniakzbiziqe@mathieu.fenniak.neté    N©Ú
getencoder)Ú	dataclass)ÚDEFAULT_BUFFER_SIZE)ÚSEEK_CUR)	ÚIOÚAnyÚCallableÚDictÚOptionalÚPatternÚTupleÚUnionÚoverload)Ú	TypeAliasé   )ÚSTREAM_TRUNCATED_PREMATURELYÚDeprecationErrorÚPdfStreamErrorÚTransformationMatrixTypeÚCompressedTransformationMatrixz1{} is deprecated and will be removed in pypdf {}.z-{} is deprecated and was removed in pypdf {}.zD{} is deprecated and will be removed in pypdf 3.0.0. Use {} instead.z={} is deprecated and was removed in pypdf {}. Use {} instead.Úheader1Úheader2Úreturnc                 ó6  — d}g }| |v r(|                      |                     | ¦  «        ¦  «         ||v r(|                      |                     |¦  «        ¦  «         t          |¦  «        dk    rt          d| ›d|›d�¦  «        ‚|t	          |¦  «                 S )N)s   %PDF-1.3s   %PDF-1.4s   %PDF-1.5s   %PDF-1.6s   %PDF-1.7s   %PDF-2.0r   zneither z nor z are proper headers)ÚappendÚindexÚlenÚ
ValueErrorÚmax)r   r   ÚversionsÚpdf_header_indicess       ú./usr/lib/python3/dist-packages/pypdf/_utils.pyÚ_get_max_pdf_version_headerr$   O   s±   € ð€Hð ÐØ�(ÐÐØ×!Ò! (§.¢.°Ñ"9Ô"9Ñ:Ô:Ð:Ø�(ÐÐØ×!Ò! (§.¢.°Ñ"9Ô"9Ñ:Ô:Ð:Ý
ÐÑÔ !Ò#Ð#ÝÐR GÐRÐR°GÐRÐRÐRÑSÔSÐSØ•CÐ*Ñ+Ô+Ô,Ð,ó    ÚstreamÚmaxcharsc                 ó˜   — d}	 |                       d¦  «        }|                     ¦   «         s|sn||z  }t          |¦  «        |k    rnŒF|S )a;  
    Read non-whitespace characters and return them.

    Stops upon encountering whitespace or when maxchars is reached.

    Args:
        stream: The data stream from which was read.
        maxchars: The maximum number of bytes returned; by default unlimited.

    Returns:
        The data which was read.
    r%   Tr   )ÚreadÚisspacer   )r&   r'   ÚtxtÚtoks       r#   Úread_until_whitespacer-   b   s`   € ð €CðØ�kŠk˜!‰nŒnˆØ�;Š;‰=Œ=ð 	 ð 	ØØˆs‰
ˆÝˆs‰8Œ8�xÒÐØðð €Jr%   c                 ó~   — |                       d¦  «        }|t          v r|                       d¦  «        }|t          v °|S )z¾
    Find and read the next non-whitespace character (ignores whitespace).

    Args:
        stream: The data stream from which was read.

    Returns:
        The data which was read.
    r   )r)   ÚWHITESPACES©r&   r,   s     r#   Úread_non_whitespacer1   z   s?   € ð �+Š+�a‰.Œ.€CØ
•Ð
Ð
Ø�kŠk˜!‰nŒnˆð •Ð
Ð
à€Jr%   c                 ó„   — t           d         }d}|t           v r#|                      d¦  «        }|dz  }|t           v °#|dk    S )a  
    Similar to read_non_whitespace, but return a boolean if more than one
    whitespace character was read.

    Args:
        stream: The data stream from which was read.

    Returns:
        True if more than one whitespace was skipped, otherwise return False.
    r   r   )r/   r)   )r&   r,   Úcnts      r#   Úskip_over_whitespacer4   Š   sM   € õ �aŒ.€CØ
€CØ
•Ð
Ð
Ø�kŠk˜!‰nŒnˆØˆq‰ˆð •Ð
Ð
ð �Š7€Nr%   c                 óª   — |                       d¦  «        }|                      dd¦  «         |dk    r|dvr|                       d¦  «        }|dv°d S d S d S )Nr   éÿÿÿÿó   %)ó   
ó   )r)   Úseekr0   s     r#   Úskip_over_commentr;   �   sh   € Ø
�+Š+�a‰.Œ.€CØ
‡K‚K��AÑÔÐØ
ˆd‚{€{Ø˜Ð'Ð'Ø—+’+˜a‘.”.ˆCð ˜Ð'Ð'Ð'Ð'ð €{Ø'Ð'r%   Úregexc                 ó(  — d}	 |                       d¦  «        }|s|S |                     |¦  «        }|�X||d|                     ¦   «         …         z  }|                      |                     ¦   «         t	          |¦  «        z
  d¦  «         n||z  }ŒŽ|S )zé
    Read until the regular expression pattern matched (ignore the match).
    Treats EOF on the underlying stream as the end of the token to be matched.

    Args:
        regex: re.Pattern

    Returns:
        The read bytes.
    r%   Té   Nr   )r)   ÚsearchÚstartr:   r   )r&   r<   Únamer,   Úms        r#   Úread_until_regexrC   ¥   sš   € ð €Dð	Ø�kŠk˜"‰oŒoˆØð 	ØˆKØ�LŠL˜ÑÔˆØˆ=Ø�C˜˜!Ÿ'š'™)œ)˜Ô$Ñ$ˆDØ�KŠK˜Ÿš™	œ	¥C¨¡H¤HÑ,¨aÑ0Ô0Ð0ØØ�‰ˆð	ð €Kr%   Úto_readc                 óî   — |                       ¦   «         |k     rt          d¦  «        ‚|                      | t          ¦  «         |                      |¦  «        }|                      | t          ¦  «         |S )a  
    Given a stream at position X, read a block of size to_read ending at position X.

    This changes the stream's position to the beginning of where the block was
    read.

    Args:
        stream:
        to_read:

    Returns:
        The data which was read.
    z!Could not read malformed PDF file)Útellr   r:   r   r)   )r&   rD   r)   s      r#   Úread_block_backwardsrG   ¾   sh   € ð ‡{‚{�}„}�wÒÐÝÐ@ÑAÔAÐAà
‡K‚K���(Ñ#Ô#Ð#Ø�;Š;�wÑÔ€Dà
‡K‚K���(Ñ#Ô#Ð#Ø€Kr%   c                 ó¦  — g }d}|                       ¦   «         dk    rt          t          ¦  «        ‚	 t          t          |                       ¦   «         ¦  «        }|dk    rnÕt          | |¦  «        }t          |¦  «        dz
  }|s-|dk    r||         dvr|dz  }|dk    r
||         dv°|dk    rd}|rF|                     ||dz   d…         ¦  «         |dk    r||         dv r|dz  }|dk    r
||         dv °n|                     |¦  «         |dk    r|                      |dz   t          ¦  «         n�Œd 
                    |ddd…         ¦  «        S )	a   
    Given a byte stream with current position X, return the previous line.

    All characters between the first CR/LF byte found before X
    (or, the start of the file, if no such byte is found) and position X
    After this call, the stream will be positioned one byte after the
    first non-CRLF character found beyond the first CR/LF byte before X,
    or, if no such byte is found, at the beginning of the stream.

    Args:
        stream: StreamType:

    Returns:
        The data which was read.
    Fr   Tr   s   
Nr%   r6   )rF   r   r   Úminr   rG   r   r   r:   r   Újoin)r&   Úline_contentÚ
found_crlfrD   ÚblockÚidxs         r#   Úread_previous_linerO   Ö   s‘  € ð  €LØ€JØ‡{‚{�}„}˜ÒÐÝÕ9Ñ:Ô:Ð:ð ÝÕ)¨6¯;ª;©=¬=Ñ9Ô9ˆØ�aŠ<ˆ<Øõ % V¨WÑ5Ô5ˆÝ�%‰jŒj˜1‰nˆØð 	"ð ˜’(�(˜u Sœz°Ð8Ð8Ø�q‘�ð ˜’(�(˜u Sœz°Ð8Ð8à�aŠxˆxØ!�
Øð 	'ð
 ×Ò  c¨A¡g i iÔ 0Ñ1Ô1Ð1à˜’(�(˜u Sœz¨WÐ4Ð4Ø�q‘�ð ˜’(�(˜u Sœz¨WÐ4Ð4øð
 ×Ò Ñ&Ô&Ð&Ø�!Š8ˆ8ð �KŠK˜˜a™¥Ñ*Ô*Ð*ØñA ðD �8Š8�L   2 Ô&Ñ'Ô'Ð'r%   ÚaÚbc                 ó:   ‡— t          ˆfd„| D ¦   «         ¦  «        S )Nc              3   ó^   •‡K  — | ]&Št          ˆfd „t          ‰Ž D ¦   «         ¦  «        V — Œ'dS )c              3   óf   •K  — | ]+}t          d „ t          ‰|¦  «        D ¦   «         ¦  «        V — Œ,dS )c              3   óZ   K  — | ]&\  }}t          |¦  «        t          |¦  «        z  V — Œ'd S ©N)Úfloat)Ú.0ÚiÚjs      r#   ú	<genexpr>z6matrix_multiply.<locals>.<genexpr>.<genexpr>.<genexpr>  s7   è è € Ð@Ð@©$¨!¨Q•%˜‘(”(�U 1™XœXÑ%Ð@Ð@Ð@Ð@Ð@Ð@r%   N)ÚsumÚzip)rX   ÚcolÚrows     €r#   r[   z,matrix_multiply.<locals>.<genexpr>.<genexpr>  sB   øè è € ÐTÐTÀS�cÐ@Ð@µ#°c¸3±-´-Ð@Ñ@Ô@Ñ@Ô@ÐTÐTÐTÐTÐTÐTr%   N)Útupler]   )rX   r_   rQ   s    @€r#   r[   z"matrix_multiply.<locals>.<genexpr>  sZ   øøè è € ð ð àõ 	ÐTÐTÐTÐTÍCÐQRÈGÐTÑTÔTÑTÔTðð ð ð ð ð r%   )r`   )rP   rQ   s    `r#   Úmatrix_multiplyra     s=   ø€ õ ð ð ð ð àðñ ô ñ ô ð r%   c                 ó€  — d}|                       | d¦  «         t          dd¦  «        5 }|                     |                      |¦  «        ¦  «         |                     d¦  «         |                     |                      |¦  «        ¦  «         ddd¦  «         n# 1 swxY w Y   |                       | d¦  «         dS )z5Create text file showing current location in context.iˆ  r   zpypdf_pdfLocation.txtÚwbs   HEREN)r:   ÚopenÚwriter)   )r&   ÚradiusÚ	output_fhs      r#   Úmark_locationrh     sî   € ð €FØ
‡K‚K��˜ÑÔÐÝ	Ð% tÑ	,Ô	,ð -°	Ø�Š˜Ÿš FÑ+Ô+Ñ,Ô,Ð,Ø�Š˜Ñ Ô Ð Ø�Š˜Ÿš FÑ+Ô+Ñ,Ô,Ð,ð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -ð ‡K‚K��˜ÑÔÐÐÐs   ªA&BÂB Â#B ÚB_CACHEÚsc                 ó4  — t           }| |v r||          S t          | t          ¦  «        r| S 	 |                      d¦  «        }t	          | ¦  «        dk     r||| <   |S # t
          $ r2 |                      d¦  «        }t	          | ¦  «        dk     r||| <   |cY S w xY w)Núlatin-1é   zutf-8)ri   Ú
isinstanceÚbytesÚencoder   Ú	Exception)rj   ÚbcÚrs      r#   Úb_rt   '  s°   € Ý	€BØˆB€w€wØ�!ŒuˆÝ�!•UÑÔð Øˆð	Ø�HŠH�YÑÔˆÝˆq‰6Œ6�AŠ:ˆ:ØˆBˆq‰EØˆøÝð ð ð Ø�HŠH�WÑÔˆÝˆq‰6Œ6�AŠ:ˆ:ØˆBˆq‰EØˆˆˆð	øøøs   ¬.A Á9BÂBc                 ó   — d S rV   © ©rQ   s    r#   Ústr_rx   9  ó   € à€Cr%   c                 ó   — d S rV   rv   rw   s    r#   rx   rx   >  ry   r%   c                 óZ   — t          | t          ¦  «        r|                      d¦  «        S | S )Nrl   )rn   ro   Údecoderw   s    r#   rx   rx   C  s+   € Ý�!•UÑÔð Ø�xŠx˜	Ñ"Ô"Ð"àˆr%   c                 ó   — d S rV   rv   rw   s    r#   Úord_r~   J  ry   r%   c                 ó   — d S rV   rv   rw   s    r#   r~   r~   O  ry   r%   c                 ó   — d S rV   rv   rw   s    r#   r~   r~   T  ry   r%   c                 óN   — t          | t          ¦  «        rt          | ¦  «        S | S rV   )rn   ÚstrÚordrw   s    r#   r~   r~   Y  s$   € Ý�!•SÑÔð Ý�1‰vŒvˆØ€Hr%   c                 óF   — t          d¦  «        } || ¦  «        }|d         S )NÚ	hex_codecr   r   )rQ   ÚcoderÚcodeds      r#   Ú	hexencoderˆ   _  s%   € Ý�{Ñ#Ô#€EØˆE�!‰HŒH€EØ�Œ8€Or%   Únumc                 óH   — t          | ¦  «                             dd¦  «        S )NÚLÚ )ÚhexÚreplace)r‰   s    r#   Úhex_strr�   e  s   € Ýˆs‰8Œ8×Ò˜C Ñ$Ô$Ð$r%   )ó    r8   r9   ó   	ó    ÚleftÚupÚup_leftc                 ó®   — | |z   |z
  }t          || z
  ¦  «        }t          ||z
  ¦  «        }t          ||z
  ¦  «        }||k    r||k    r| S ||k    r|S |S rV   )Úabs)r“   r”   r•   ÚpÚ	dist_leftÚdist_upÚdist_up_lefts          r#   Úpaeth_predictorrœ   l  sn   € Øˆr‰	�GÑ€AÝ�A˜‘H‘”€IÝ�!�b‘&‰kŒk€GÝ�q˜7‘{Ñ#Ô#€Là�GÒÐ 	¨\Ò 9Ð 9ØˆØ	�LÒ	 Ð	 Øˆ	àˆr%   é   ÚmsgÚ
stacklevelc                 ó>   — t          j        | t          |¬¦  «         d S )N)rŸ   )ÚwarningsÚwarnÚDeprecationWarning)rž   rŸ   s     r#   Ú	deprecater¤   z  s    € Ý„M�#Õ)°jÐAÑAÔAÐAÐAÐAr%   c                 ó    — t          | ¦  «        ‚rV   )r   )rž   s    r#   Údeprecationr¦   ~  s   € Ý
˜3Ñ
Ô
Ðr%   ú3.0.0Úold_nameÚnew_nameÚ
removed_inc                 óZ   — t          t                               | ||¦  «        d¦  «         dS )zIRaise an exception that a feature will be removed, but has a replacement.é   N)r¤   ÚDEPR_MSGÚformat©r¨   r©   rª   s      r#   Údeprecate_with_replacementr°   ‚  s*   € õ �h�oŠo˜h¨°*Ñ=Ô=¸qÑAÔAÐAÐAÐAr%   c                 óX   — t          t                               | ||¦  «        ¦  «         dS )zMRaise an exception that a feature was already removed, but has a replacement.N)r¦   ÚDEPR_MSG_HAPPENEDr®   r¯   s      r#   Údeprecation_with_replacementr³   ‰  s+   € õ Õ!×(Ò(¨°:¸xÑHÔHÑIÔIÐIÐIÐIr%   rA   c                 óX   — t          t                               | |¦  «        d¦  «         dS )zFRaise an exception that a feature will be removed without replacement.r¬   N)r¤   ÚDEPR_MSG_NO_REPLACEMENTr®   ©rA   rª   s     r#   Údeprecate_no_replacementr·   �  s)   € åÕ%×,Ò,¨T°:Ñ>Ô>ÀÑBÔBÐBÐBÐBr%   c                 óV   — t          t                               | |¦  «        ¦  «         dS )zJRaise an exception that a feature was already removed without replacement.N)r¦   Ú DEPR_MSG_NO_REPLACEMENT_HAPPENEDr®   r¶   s     r#   Údeprecation_no_replacementrº   •  s'   € åÕ0×7Ò7¸¸jÑIÔIÑJÔJÐJÐJÐJr%   Úsrcc                 óT   — t          j        |¦  «                             | ¦  «         dS )a‘  
    Use this instead of logger.warning directly.

    That allows people to overwrite it more easily.

    ## Exception, warnings.warn, logger_warning
    - Exceptions should be used if the user should write code that deals with
      an error case, e.g. the PDF being completely broken.
    - warnings.warn should be used if the user needs to fix their code, e.g.
      DeprecationWarnings
    - logger_warning should be used if the user needs to know that an issue was
      handled by pypdf, e.g. a non-compliant PDF being read in a way that
      pypdf could apply a robustness fix to still read it. This applies mainly
      to strict=False mode.
    N)ÚloggingÚ	getLoggerÚwarning)rž   r»   s     r#   Úlogger_warningrÀ   š  s)   € õ  Ô�cÑÔ×"Ò" 3Ñ'Ô'Ð'Ð'Ð'r%   Úaliasesc                  ó"   ‡ — dt           fˆ fd„}|S )z¶
    Decorator for deprecated term "bookmark"
    To be used for methods and function arguments
        outline_item = a bookmark
        outline = a collection of outline items
    Úfuncc                 óJ   •‡ — t          j        ‰ ¦  «        ˆˆ fd„¦   «         }|S )Nc                  óD   •— t          ‰j        |‰d¬¦  «          ‰| i |¤ŽS )NT)Úfail)Úrename_kwargsÚ__name__)ÚargsÚkwargsrÁ   rÃ   s     €€r#   Úwrapperz9deprecation_bookmark.<locals>.decoration.<locals>.wrapper¶  s1   ø€ å˜$œ-¨°¸tÐDÑDÔDÐDØ�4˜Ð( Ð(Ð(Ð(r%   )Ú	functoolsÚwraps)rÃ   rË   rÁ   s   ` €r#   Ú
decorationz(deprecation_bookmark.<locals>.decorationµ  s>   øø€ Ý	Œ˜Ñ	Ô	ð	)ð 	)ð 	)ð 	)ð 	)ñ 
Ô	ð	)ð ˆr%   )r
   )rÁ   rÎ   s   ` r#   Údeprecation_bookmarkrÏ   ­  s0   ø€ ð�ð ð ð ð ð ð ð Ðr%   FÚ	func_namerÊ   rÆ   c                 ó&  — |                      ¦   «         D ]{\  }}||v rr|rt          |› d|› d�¦  «        ‚||v rt          | › d|› d|› d|› d|› d�
¦  «        ‚|                     |¦  «        ||<   t	          j        |› d|› d�t          ¬¦  «         Œ|d	S )
z¤
    Helper function to deprecate arguments.

    Args:
        func_name: Name of the function to be deprecated
        kwargs:
        aliases:
        fail:
    z# is deprecated as an argument. Use z insteadz received both z and z as an argument. z is deprecated. Use z	 instead.)ÚmessageÚcategoryN)Úitemsr   Ú	TypeErrorÚpopr¡   r¢   r£   )rÐ   rÊ   rÁ   rÆ   Úold_termÚnew_terms         r#   rÇ   rÇ   À  s  € ð &Ÿmšm™oœoð ð Ñˆ�(Ø�vÐÐØð Ý&ØÐVÐVÀHÐVÐVÐVñô ð ð ˜6Ð!Ð!ÝØ ð /ð /°ð /ð /Àð /ð /Ø$,ð/ð /à#ð/ð /ð /ñô ð ð
  &Ÿzšz¨(Ñ3Ô3ˆF�8ÑÝŒMàÐVÐVÀHÐVÐVÐVå+ð	ñ ô ð øðð r%   ro   c                 óf   — | dk     r| › d�S | dk     r	| dz  d›d�S | dk     r	| dz  d›d�S | dz  d›d�S )	Niè  z Bytei@B z.1fz kBi Êš;z MBz GBrv   )ro   s    r#   Ú_human_readable_bytesrÚ   â  sk   € Øˆu‚}€}ØˆˆˆÐØ	�ŠˆØ˜%‘-Ð(Ð(Ð(Ð(Ð(Ø	�ŠˆØ˜%‘-Ð(Ð(Ð(Ð(Ð(à˜%‘-Ð(Ð(Ð(Ð(Ð(r%   c                   ó<   — e Zd ZU eed<   eed<   defd„Zdefd„ZdS )ÚFilerA   Údatar   c                 ó\   — d| j         › dt          t          | j        ¦  «        ¦  «        › d�S )Nú
File(name=ú, data: ú))rA   rÚ   r   rÝ   ©Úselfs    r#   Ú__str__zFile.__str__ò  s.   € ØW˜DœIÐWÐWÕ/DÅSÈÌÁ^Ä^Ñ/TÔ/TÐWÐWÐWÐWr%   c                 ó†   — d| j         › dt          t          | j        ¦  «        ¦  «        › dt	          | j        ¦  «        › d�S )Nrß   rà   z, hash: rá   )rA   rÚ   r   rÝ   Úhashrâ   s    r#   Ú__repr__zFile.__repr__õ  sC   € Øp˜DœIÐpÐpÕ/DÅSÈÌÁ^Ä^Ñ/TÔ/TÐpÐpÕ^bÐcgÔclÑ^mÔ^mÐpÐpÐpÐpr%   N)rÈ   Ú
__module__Ú__qualname__r‚   Ú__annotations__ro   rä   rç   rv   r%   r#   rÜ   rÜ   í  sj   € € € € € € à
€I€I�IØ
€K€K�KðX˜ð Xð Xð Xð Xðq˜#ð qð qð qð qð qð qr%   rÜ   rV   )r�   )r§   )F)JÚ__doc__Ú
__author__Ú__author_email__rÌ   r½   r¡   Úcodecsr   Údataclassesr   Úior   Úosr   Útypingr   r	   r
   r   r   r   r   r   r   r   ÚImportErrorÚtyping_extensionsÚerrorsr   r   r   rW   r   rê   r   Ú
StreamTyper‚   ÚStrByteTyperµ   r¹   r­   r²   ro   r$   Úintr-   r1   Úboolr4   r;   rC   rG   rO   ra   rh   ri   rt   rx   r~   rˆ   r�   r/   rœ   r¤   r¦   r°   r³   r·   rº   rÀ   rÏ   rÇ   rÚ   rÜ   rv   r%   r#   ú<module>rú      s  ðð8 )Ð (Ð (Ø€
Ø/Ð à Ð Ð Ð Ø €€€Ø €€€Ø Ð Ð Ð Ð Ð Ø !Ð !Ð !Ð !Ð !Ð !Ø "Ð "Ð "Ð "Ð "Ð "Ø Ð Ð Ð Ð Ð ð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð,à Ð Ð Ð Ð Ð Ð øØð ,ð ,ð ,Ø+Ð+Ð+Ð+Ð+Ð+Ð+Ð+ð,øøøðð ð ð ð ð ð ð ð ð ð ',Ø	ˆ%�˜Ð
Ô  e¨U°EÐ&9Ô :¸EÀ%ÈÐPUÐBUÔ<VÐVô'Ð ˜)ð ð ñ ð -2Ø	ˆ5�%˜  uÐ,ô-Ð  	ð ð ñ ð €
Ø�C˜�OÔ$€àMÐ Ø#RÐ  ØQ€ØSÐ ð-¨ð -¸ð -À5ð -ð -ð -ð -ð&ð  *ð ¸À¼ð ÐQVð ð ð ð ð0 
ð ¨uð ð ð ð ð  ð °ð ð ð ð ð&!˜jð !¨Tð !ð !ð !ð !ð˜Zð °¸´ð À5ð ð ð ð ð2 ð °cð ¸eð ð ð ð ð06(˜zð 6(¨eð 6(ð 6(ð 6(ð 6(ðrØðØ$<ðàðð ð ð ð	˜*ð 	¨ð 	ð 	ð 	ð 	ð +-€ˆˆe�C˜�JÔ Ð&Ô	'Ð ,Ð ,Ñ ,ðˆ%��U�
Ô
ð  ð ð ð ð ð$ 
ðˆCð �Cð ð ð ñ 
„ðð 
ðˆEð �cð ð ð ñ 
„ððˆE�#�u�*Ôð  #ð ð ð ð ð 
ðˆCð �Cð ð ð ñ 
„ðð 
ðˆEð �eð ð ð ñ 
„ðð 
ðˆCð �Cð ð ð ñ 
„ððˆE�#�s˜E�/Ô"ð  u¨S°%¨ZÔ'8ð ð ð ð ð�ð ˜5ð ð ð ð ð%�ð %˜ð %ð %ð %ð %ð 3€ð˜#ð  3ð °ð ¸ð ð ð ð ðBð B�3ð B Cð B°ð Bð Bð Bð Bð �Sð  ˜Tð  ð  ð  ð  ð
 5<ðBð BØðBØ ðBØ.1ðBà	ðBð Bð Bð Bð 5<ðJð JØðJØ ðJØ.1ðJà	ðJð Jð Jð JðCð C 3ð C°Cð CÀdð Cð Cð Cð Cð
Kð K Sð K°cð KÈð Kð Kð Kð Kð
(˜ð ( #ð (¨$ð (ð (ð (ð (ð& Cð ¨Hð ð ð ð ð( SXðð ØðØ   c œNðØ59¸#¸s¸(´^ðØKOðð ð ð ðD) ð )¨ð )ð )ð )ð )ð ðqð qð qð qð qñ qô qñ „ðqð qð qs   ÁA
 Á
AÁA