+
    Œvj.d ã                   óJ  € R t Rt^ RIt^ RIt^ RIt^ RIHt ^ RIHt ^ RI	H
t
 ^ RIHtHtHtHtHtHtHtHtHtHt ^ RIHtHtHtHt ^ RIHt ^ R	IHt ^ R
IHt  ! R R] 4      t!Rt"Rt#Rt$Rt%Rt&Rªt'](! R«R7      t)R t*R¬R lt+R t,],t- ! R R4      t. ! R R4      t/ ! R R]/4      t0 ! R R]/4      t1Rt2Rt3R t4 ! R! R"]/4      t5R# t6^ RI7t7]7Pp                  ! R$4      t9A7R% t:R& t; ! R' R(]/4      t<]=! ^!4      ]=! ^~4      3R) lt> ! R* R+]/4      t? ! R, R-4      t@R. tA ! R/ R0]?4      tB ! R1 R2]B4      tC ! R3 R44      tD]D! 4       tE ! R5 R64      tF]F! 4       tG ! R7 R8]/4      tHR­R9 ltIR:tJ ! R; R<]/4      tK ! R= R>]K4      tL ! R? R@]/4      tM ! RA RB]/4      tN ! RC RD]/4      tO ! RE RF]/4      tP ! RG RH]/4      tQ ! RI RJ]/4      tR ! RK RL]H4      tS ! RM RN]/4      tT ! RO RP]T4      tU ! RQ RR]T4      tV ! RS RT] 4      tW ! RU RV]T4      tX ! RW RX]T4      tYRY tZRZt[ ! R[ R\]/4      t\ ! R] R^]/4      t] ! R_ R`]/4      t^R­Ra lt_Rbt` ! Rc Rd]/4      ta ! Re Rf]/4      tb ! Rg Rh]b4      tc ! Ri Rj]b4      td ! Rk Rl]b4      te ! Rm Rn]e4      tfRo tg ! Rp Rq]/4      th ! Rr Rs]/4      ti ! Rt Ru]/4      tj ! Rv Rw]/4      tk ! Rx Ry]/4      tl ! Rz R{]l4      tm ! R| R}]/4      tn ! R~ R]n4      to ! R€ R�]/4      tp ! R‚ Rƒ]p4      tq ! R„ R…]/4      tr ! R† R‡]/4      ts ! Rˆ R‰]/4      tt ! RŠ R‹]t4      tu ! RŒ R�]/4      tv ! RŽ R�]/4      twR�R‘R’R“R”R•/tx ! R– R—]/4      ty ! R˜ R™4      tz ! Rš R›]/4      t{ ! Rœ R�]{4      t| ! Rž RŸ]{4      t} ! R  R¡]/4      t~ ! R¢ R£]~4      t ! R¤ R¥]~4      t€ ! R¦ R§]~4      t�]‚R¨8X  d   ]ƒ! R©4       R# R# )®z4.2.0a_  
The module pdfdoc.py handles the 'outer structure' of PDF documents, ensuring that
all objects are properly cross-referenced and indexed to the nearest byte.  The
'inner structure' - the page descriptions - are presumed to be generated before
each page is saved.
pdfgen.py calls this and provides a 'canvas' object to handle page marking operators.
piddlePDF calls pdfgen and offers a high-level interface.

The classes within this generally mirror structures in the PDF file
and are not part of any public interface.  Instead, canvas and font
classes are made available elsewhere for users to manipulate.
N)ÚOrderedDict)Úpdfutils)Ú	rl_config)
Úopen_for_readÚmakeFileNameÚisSeqÚisBytesÚ	isUnicodeÚ	_digesterÚisStrÚbytestrÚannotateExceptionÚ	TimeStamp)Ú	escapePDFÚfp_strÚasciiBase85EncodeÚasciiBase85Decode)Ú
pdfmetrics)Úmd5)Ústderrc                   ó   € ] tR t^tRtR# )ÚPDFError© N©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__static_attributes__r   ó    Ú\/var/www/html/daimler-pipeline/venv/lib/python3.14/site-packages/reportlab/pdfbase/pdfdoc.pyr   r      ó   † Ûr   r   Ú__InternalName__Ú__RefOnly__Ú__Comment__Ú
BasicFontsÚPages)Útransparencyc                 óT   € \        V \        4      '       d   V P                  R 4      # T # )Ú	extpdfdoc)Ú
isinstanceÚstrÚencode)Úxs   &r    Ú	pdfdocEncr.   5   s"   € Ü$.¨q´×$5Ò$5ˆ1�8‰8�KÓ Ð<¸1Ð<r   c                ó|  € \        V \        4      '       d·   V'       g7   \        V \        4      '       d!   VP	                  V 4      P                  V4      # V P                  V4      p\        P                  '       gP   \        P                  '       d:   \        V \        4      '       d$   \        RV P                  ,          4      V,           pV# \        V 4      \        \        39   d   \        \        V 4      4      # \        V 4      '       d   V # \!        V 4      '       d   \        V 4      # \        \#        V 4      4      # )zrIndirection step for formatting.
Ensures that document parameters alter behaviour
of formatting for all elements.
z%% %s
)r*   Ú	PDFObjectÚhasattrr#   Ú	ReferenceÚformatr   Ú	invariantÚpdfCommentsr$   r.   ÚtypeÚfloatÚintr   r   r	   r+   )ÚelementÚdocumentÚtoplevelÚfs   &&& r    r3   r3   8   så   € ô
 �'œ)×$Ò$ßœG G¬[×9Ò9ð ×%Ñ% gÓ.×5Ñ5°hÓ?Ð?à—‘˜xÓ(ˆAÜ×&×&Ð&¬9×+@×+@Ð+@ÄWÈWÔVa×EbÒEbÜ˜i¨'×*=Ñ*=Õ=Ó>¸qÕ@�ØˆHÜ	ˆg‹œ5¤#˜,Ô	&ô œ ›Ó)Ð)Ü	�×	Ò	ØˆÜ	�7×	Ò	Ü˜Ó!Ð!äœ˜W›Ó&Ð&r   c                 ó   € R V ,          # )z
FormXob.%sr   )Úexternalnames   &r    ÚxObjectNamer?   R   s   € Ø˜,Õ&Ð&r   c                   ó8   a € ] tR t^Yt o R tR tR tR tRtV t	R# )ÚNoEncryptionc                ó   € V# )zencode a string, stream, textr   )ÚselfÚts   &&r    r,   ÚNoEncryption.encodeZ   s   € àˆr   c                ó   € R # ©Nr   ©rC   r:   s   &&r    ÚprepareÚNoEncryption.prepare]   ó   € ár   c                ó   € R # rG   r   )rC   ÚobjnumÚversions   &&&r    ÚregisterÚNoEncryption.register`   rK   r   c                ó   € R # rG   r   ©rC   s   &r    ÚinfoÚNoEncryption.infoc   s   € ár   r   N)
r   r   r   r   r,   rI   rO   rS   r   Ú__classdictcell__©Ú__classdict__s   @r    rA   rA   Y   s   ø‡ € òòò÷ð r   rA   c                   ó   € ] tR t^gtRtR# )r0   r   Nr   r   r   r    r0   r0   g   r!   r   r0   c                   ó(   € ] tR t^jtRt]! 4       tRtR# )ÚDummyDocz'used to bypass encryption when requiredr   N)r   r   r   r   Ú__doc__rA   Úencryptr   r   r   r    rZ   rZ   j   s   † Ù-Ù‹n„Gr   rZ   c                   ó8  a € ] tR t^ot o Rt]! 4       t^ ]P                  ]P                  R]
R3R ltR tR tR tR tR tR tR	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR t R t!R t"R t#R t$R t%R t&R t'R$R lt(R  t)R! t*R%R" lt+R#t,V t-R# )&ÚPDFDocumentNc                óŠ  € R V n         ^ V n        ^ V n        R V n        ^V n        Vf   \
        P                  V n        MW0n        V P                  V4       WPn        \        RR7      ;qpn
        VP                  R4       \        V P                  4      V n        V P                  P                  p\        V4      pVP                  \!        V4      4       / V n        / V n        / V n        / V n        \+        4       ;p;V n        V n        \1        4       ;q�n        W˜n        V'       d   TM\
        P4                  pV'       d   \7        V4      Vn        V'       d   \;        4       M	\=        4       ;V n        ;V n         Vn         \C        4       V n"        / V n#        \I        / 4      p
RV
n%        V PM                  V
\N        4       . V n(        R # )NF)Úusedforsecuritys   a reportlab documentzThe standard fonts dictionary))Ú_IDÚobjectcounterÚshadingCounterÚinObjectÚpageCounterr   r4   ÚsetCompressionÚ_pdfVersionr   Ú	signatureÚupdater   Ú
_timeStamprD   Úasciir   ÚidToObjectNumberAndVersionÚ
idToObjectÚ
idToOffsetÚ
numberToIdÚ
PDFCatalogÚCatalogÚ_catalogÚPDFPagesr&   ÚdocumentLangÚ	PDFStringÚLangÚPDFOutlines0ÚPDFOutlinesÚoutlineÚOutlinesÚPDFInforS   ÚfontMappingÚPDFDictionaryr$   r2   r%   ÚdelayedFonts)rC   ÚdummyoutlineÚcompressionr4   ÚfilenameÚ
pdfVersionÚlangÚsigÚcatÚpagesÚDDs   &&&&&&&    r    Ú__init__ÚPDFDocument.__init__s   se  € ð ˆŒØˆÔØˆÔØˆŒØˆÔð ÒÜ&×0Ñ0ˆD�Nà&ŒNØ×Ñ˜KÔ(Ø%Ôä"°5Ô9Ð9ˆŒnØ�
‰
Ð*Ô+Ü# D§N¡NÓ3ˆŒØ�o‰o×ÑˆÜ�C‹jˆØ�
‰
”7˜3“<Ô à*,ˆÔ'àˆŒàˆŒàˆŒÜ-7«\Ð9ˆÐ9ˆdŒl˜Tœ]Ü%›ZÐ'ˆ”
ØŒ	ß‰t¤×!7Ñ!7ˆßÜ  “ˆCŒHßHT´l´nÔZeÓZgÐgˆŒÐg�t”} s¤|Ü“IˆŒ	ð ˆÔä˜2ÓˆØ8ˆŒØ�‰�rœ:Ô&ØˆÖr   c                ó   € Wn         R # rG   ©r€   ©rC   Úonoffs   &&r    rf   ÚPDFDocument.setCompression¨   s   € à Ör   c                ód   € V F)  p\        V P                  \        V,          4      V n        K+  	  R# )zREnsure that the pdf version is greater than or equal to that specified by the keysN)Úmaxrg   ÚPDF_SUPPORT_VERSION)rC   ÚkeysÚks   &* r    ÚensureMinPdfVersionÚPDFDocument.ensureMinPdfVersion¬   s'   € ãˆAÜ" 4×#3Ñ#3Ô5HÈÕ5KÓLˆDÖó r   c                óv   € V P                   '       d   R# V P                  P                  \        V4      4       R# )z add information to the signatureN)ra   rh   ri   r   )rC   Úthings   &&r    ÚupdateSignatureÚPDFDocument.updateSignature±   s#   € à�8�8ˆ8‘VØ�‰×Ñœg e›nÖ-r   c                ó  € V P                   '       d   V P                   # V P                  P                  4       p\        4       p\	        VRR7      P                  V4      pRV,           V,           R,           V n         V P                   # )z<A unique fingerprint for the file (unless in invariant mode)Úraw)Úencs   
[s<   ]
% ReportLab generated PDF document -- digest (opensource)
)ra   rh   ÚdigestrZ   ÚPDFTextr3   )rC   r�   ÚdocÚIDss   &   r    ÚIDÚPDFDocument.ID¶   sb   € à�8�8ˆ8Ø—8‘8ˆOØ—‘×&Ñ&Ó(ˆÜ‹jˆÜ�f Ô'×.Ñ.¨sÓ3ˆØ˜3•J˜s•NÐ#dÕdˆŒØ�x‰xˆr   c                ó~  € \        V R R4      '       d'   \        RV P                  P                  ,          4      hRV n        \        \        VRR4      R4      '       dw   ^ pTp\        VRR4      p\        V\        4      '       d   RV,          pM9\        V4      '       g)   R	VP                  P                  \        V4      3,          p\        V4      pMF\        V4      '       d   ^p\        V4      p\        VR
4      pM\        R\        V4      ,          4      hV P                  V4      p\        V4      '       d   VP!                  R4      pVP#                  V4       V'       d4   VP%                  4        ^ RIpVP(                  R8X  d   ^ RIHp V! V4       \        VRR4      '       d   \/        RV: 24       R# R# )Ú_savedToFileFz)class %s instances can only be saved onceTÚwriteNÚ__call__Únamez
<os fd:%d>z<%s@0X%8.8X>Úwbz#Cannot use %s as a filename or fileÚlatin1Úmac)ÚmarkfilenameÚ
_verbosityzsaved )ÚgetattrÚRuntimeErrorÚ	__class__r   r¤   r1   r*   r8   r   Úidr   ÚopenÚ	TypeErrorÚreprÚ
GetPDFDatar	   r,   r¥   ÚcloseÚosr§   Úreportlab.lib.utilsr«   Úprint)rC   r�   ÚcanvasÚmyfiler<   Údatar¶   r«   s   &&&     r    Ú
SaveToFileÚPDFDocument.SaveToFileÀ   sS  € Ü�4˜ u×-Ò-ÜÐJÈTÏ^É^×MdÑMdÕdÓeÐeØ ˆÔÜ”7˜8 W¨TÓ2°:×>Ò>ØˆFØˆAÜ˜q ¨Ó-ˆHÜ˜(¤3×'Ò'Ø'¨Õ1‘Ü˜8—_’_Ø)¨Q¯[©[×-AÑ-AÄ"ÀQÃ%Ð,HÕH�Ü# HÓ-‰HÜ�8�_Š_ØˆFÜ# HÓ-ˆHÜ�X˜tÓ$‰AäÐAÄDÈÃNÕRÓSÐSà�‰˜vÓ&ˆÜ�T�?Š?Ø—;‘;˜xÓ(ˆDØ	�‰�ŒßØ�G‰GŒIÛØ�w‰w˜Œ~Ý<Ù˜XÔ&Ü�6˜, t×,Ò,­eÂ(Ð4LÖ.MÑ,r   c                óä  € V P                    F  pVP                  V 4       K  	  V P                  V P                  n        V P                  P	                  V P
                  4       V P                  V P                  4       V P                  V P                  4       V P                  P                  W4       V P                  P                  ^ 8  d   RV P                  n        V P                  4       # )é    N)r~   Ú
addObjectsr4   rS   r�   rh   r2   rq   rz   rI   Úreadyr3   )rC   r¹   Úfnts   && r    r´   ÚPDFDocument.GetPDFDataà   s¤   € à×$Ô$ˆCØ�N‰N˜4Ö ñ %ð #Ÿn™nˆ�	‰	ÔØ�	‰	×Ñ˜Ÿ™Ô(ð 	�‰�t—|‘|Ô$Ø�‰�t—y‘yÔ!Ø�‰×Ñ˜dÔ+Ø�=‰=×Ñ˜qÔ Ø$(ˆD�L‰LÔ!Ø�{‰{‹}Ðr   c                óŽ   € V P                   e0   V P                   R8X  d   R# \        RV P                   ,          4      hRV n         R# )zXspecify the current object as a page (enables reference binding and other page features)NÚpagez%can't go in page already in object %s)rd   Ú
ValueErrorrR   s   &r    ÚinPageÚPDFDocument.inPageð   s6   € à�=‰=Ò$Ø�}‰}˜fÔ$¡fÜÐDÀtÇ}Á}ÕTÓUÐUØˆŽr   c                ó   € RV n         R# )zBspecify that we are in a form xobject (disable page features, etc)ÚformN)rd   rR   s   &r    ÚinFormÚPDFDocument.inForm÷   s   € ð
 ˆŽr   c                óD  € V P                   pW9   d	   W!,          #  \        P                  ! V4      pVP                  '       d   \	        R \        V4      ,          4      hVP                  V 4       W!,          #   \         d    \	        R\        T4      ,          4      hi ; i)z1getInternalFontName(%s) called for a dynamic fontzFont %s not known!)r|   r   ÚgetFontÚ_dynamicFontr   r³   rÀ   ÚKeyError)rC   Ú
psfontnameÚfmÚfontObjs   &&  r    ÚgetInternalFontNameÚPDFDocument.getInternalFontNameÿ   s’   € Ø×ÑˆØÔØ•>Ð!ðHä$×,Ò,¨ZÓ8�Ø×'×'Ð'Ü"Ð#VÔY]Ð^hÓYiÕ#iÓjÐjØ×"Ñ" 4Ô(Ø•~Ð%øÜô HÜÐ3´d¸:Ó6FÕFÓGÐGðHús   œ'A8 Á3A8 Á8'Bc                ó:   € R \        V P                  4      ,           # )ÚPage)r³   re   rR   s   &r    ÚthisPageNameÚPDFDocument.thisPageName  s   € Ø”d˜4×+Ñ+Ó,Õ,Ð,r   c                ó4   € \        V P                  4       4      # rG   )ÚPDFObjectReferencerØ   rR   s   &r    ÚthisPageRefÚPDFDocument.thisPageRef  s   € Ü! $×"3Ñ"3Ó"5Ó6Ð6r   c                ó¾   € V P                  4       pV P                  W4       V P                  P                  V4       V ;P                  ^,          un        RV n        R# )é   N)rØ   r2   r&   ÚaddPagere   rd   )rC   rÅ   r§   s   && r    rà   ÚPDFDocument.addPage  sF   € Ø× Ñ Ó"ˆØ�‰�tÔ"Ø�
‰
×Ñ˜4Ô Ø×Ò˜AÕÕØˆŽr   c                óŒ   € V P                   R8w  d   V P                  4        V P                  V\        V4      4       RV n         R# )zadd a Form XObject.rÊ   N)rd   rË   r2   r?   )rC   r§   rÊ   s   &&&r    ÚaddFormÚPDFDocument.addForm  s3   € ð �=‰=˜FÔ"Ø�K‰KŒMØ�‰�tœ[¨Ó.Ô/ØˆŽr   c                ó   € R V,          # )zAnnot.%sr   )rC   r>   s   &&r    ÚannotationNameÚPDFDocument.annotationName#  s   € Ø˜,Õ&Ð&r   c                óF   € V P                  W P                  V4      4       R # rG   )r2   ræ   )rC   r§   Ú
annotations   &&&r    ÚaddAnnotationÚPDFDocument.addAnnotation&  s   € Ø�‰�z×#6Ñ#6°tÓ#<Ö=r   c                ó:   € V P                  V4      p\        V4      # rG   )ræ   rÛ   ©rC   r§   Úinternalnames   && r    ÚrefAnnotationÚPDFDocument.refAnnotation)  s   € Ø×*Ñ*¨4Ó0ˆÜ! ,Ó/Ð/r   c                ó€   € R V P                   ,          pV P                  W4       V ;P                   ^,          un         V# )zSh%d)rc   r2   )rC   Úshadingr§   s   && r    Ú
addShadingÚPDFDocument.addShading-  s4   € Ø˜×,Ñ,Õ,ˆØ	�‰˜Ô	&Ø	×	Ò	 Õ	!Õ	Øˆr   c                óÐ  € VP                   pV'       Eg   VP                  ^ 8X  d&   VP                  ^ 8X  d   VP                  ^ 8X  d   RpM¡VP                  ^ 8X  d&   VP                  ^ 8X  d   VP                  ^ 8X  d   RpMkVP                  ^ 8X  d&   VP                  ^ 8X  d   VP                  ^ 8X  d   RpM5VP                  ^ 8X  d%   VP                  ^ 8X  d   VP                  ^ 8X  d   RpV'       g   \        RV,          4      hVP                  VR7      p\        V4      R,          pW0P                  9  d+   \        V4      P                  4       pV P                  WC4       W23# )r¿   ÚBLACKÚCYANÚMAGENTAÚYELLOWz&CMYK colour %r used without a spotName)ÚspotNameºrß   NN)rú   ÚcyanÚmagentaÚyellowÚblackrÆ   ÚcloneÚPDFNamerm   ÚPDFSeparationCMYKColorÚvaluer2   )rC   ÚcmykÚsnamer§   Úseps   &&   r    ÚaddColorÚPDFDocument.addColor3  s  € Ø—‘ˆßˆuØ�y‰y˜!Œ| §¡¨a¤°D·K±KÀ´NØ‘Ø—‘˜Q” 4§<¡<°¤?°t·{±{ÀA´~Ø‘Ø—‘˜A” $§*¡*¨a¤-°D·K±KÀ´NØ!‘Ø—‘˜A” $§,¡,°¤/°d·j±jÀ!´mØ �ßÜ Ð!IÈDÕ!PÓQÐQà—z‘z¨U�zÓ3�Ü�u‹~˜bÕ!ˆØ—‘Ô&Ü(¨Ó.×4Ñ4Ó6ˆCØ�N‰N˜3Ô$ØˆzÐr   c                óT   € Vf   RV P                   n        R# WP                   n        R# )úembeds in PDF fileNú(anonymous))rS   Útitle)rC   r  s   &&r    ÚsetTitleÚPDFDocument.setTitleH  s   € àŠ=Ø+ˆD�I‰IŽOà#�I‰IŽOr   c                óT   € Vf   RV P                   n        R# WP                   n        R# )zembedded in PDF fileNr  )rS   Úauthor)rC   r  s   &&r    Ú	setAuthorÚPDFDocument.setAuthorO  s   € ð Š>Ø,ˆD�I‰IÖà%�I‰IÖr   c                óT   € Vf   RV P                   n        R# WP                   n        R# ©r
  Nz(unspecified))rS   Úsubject)rC   r  s   &&r    Ú
setSubjectÚPDFDocument.setSubjectW  s   € ð Š?Ø /ˆD�I‰IÖà '�I‰IÖr   c                óT   € Vf   RV P                   n        R# WP                   n        R# r  )rS   Úcreator)rC   r  s   &&r    Ú
setCreatorÚPDFDocument.setCreator`  s   € àŠ?Ø /ˆD�I‰IÖà '�I‰IÖr   c                ó\   € Vf   \         V P                  n        R# WP                  n        R# )r
  N)Ú_default_producerrS   Úproducer)rC   r  s   &&r    ÚsetProducerÚPDFDocument.setProducerg  s   € àÒÜ!2ˆD�I‰IÖà!)�I‰IÖr   c                óT   € Vf   RV P                   n        R# WP                   n        R# )z/embeds a string containing keywords in PDF fileNÚ )rS   Úkeywords)rC   r#  s   &&r    ÚsetKeywordsÚPDFDocument.setKeywordsn  s    € ð ÒØ!#ˆD�I‰IÖà!)�I‰IÖr   c                ó&   € WP                   n        R # rG   )rS   Ú_dateFormatter)rC   ÚdateFormatters   &&r    ÚsetDateFormatterÚPDFDocument.setDateFormatterw  s   € Ø#0�	‰	Ö r   c                óÐ   € \        V P                  P                  4       4      p^ RIHp VP
                   F  pW19  g   K  VP                  V4       K  	  VP                  4        V# )r¿   )Ú	_fontdata)Úlistr|   r’   Úreportlab.pdfbaser,  ÚstandardFontsÚappendÚsort)rC   Ú	fontnamesr,  r§   s   &   r    ÚgetAvailableFontsÚPDFDocument.getAvailableFontsz  sT   € Ü˜×)Ñ)×.Ñ.Ó0Ó1ˆ	å/Ø×+Ô+ˆDØÖ$Ø× Ñ  Ö&ñ ,ð 	�‰ÔØÐr   c           	     ó�  € V P                   P                  V 4       V P                  pV P                  pV P	                  V4       V P	                  V4       R pV P                   P                  4       pV'       d   V P	                  V4      p^ p. pV P
                  pV P                  pV P                  p	V P                  p
\        V P                  4      ;V n        p V^,          pWW9  d   MÁWu,          pWœ,          p\        WÍ4      pVP                  V 4      p\        P                  '       gX   \        P                   '       dB    VP"                  P$                  pTP)                  R\'        T4      : RTR,          : R24       VP)                  V4      pVW¬&   VP+                  V4       KÒ  V =\-        V4      pV^,
          V8w  d   \/        RV: RV: 24      h\1        4       pVP3                  ^ V4       VP                  V 4      pVP)                  V4      p\5        VV^,           V P	                  V4      V P	                  V4      VV P7                  4       R7      pVP                  V 4      pVP)                  V4       \9        V R. 4       F  pVP;                  V4       K  	  VP                  V 4      #    \'        T4      p ELj; i)	Nz% z: class :Né2   Nz 
zcounter z' doesn't match number to id dictionary )Ú	startxrefÚSizeÚRootÚInfoÚEncryptr¡   Ú	_digiSigs)r\   rI   rq   rS   r2   ro   rl   rm   rn   ÚPDFFilerg   Ú	__accum__ÚPDFIndirectObjectr3   r   r4   r5   r¯   r   rk   Úaddr0  ÚlenrÆ   ÚPDFCrossReferenceTableÚ
addsectionÚ
PDFTrailerr¡   r­   Úsign)rC   r…   rS   Ú
encryptrefÚencryptinfoÚcounterÚidsÚ
numbertoidÚidToNVÚidToObÚidToOfÚFileÚoidÚobjÚIOÚIOfÚ	classnameÚoffsetÚlnoÚxrefÚxreffÚ
xrefoffsetÚtrailerÚtrailerfÚdss   &                        r    r3   ÚPDFDocument.format„  sA  € ð 	�‰×Ñ˜TÔ"Ø�l‰lˆØ�y‰yˆØ�‰�sÔØ�‰�tÔàˆ
Ø—l‘l×'Ñ'Ó)ˆßØŸ™¨Ó4ˆJàˆØˆØ—_‘_ˆ
Ø×0Ñ0ˆØ—‘ˆØ—‘ˆô !(¨×(8Ñ(8Ó 9Ð9ˆŒ˜ØØ�q�LˆGØÔ(¨%ØÕ%ˆCà•+ˆCÜ" 3Ó,ˆBà—)‘)˜D“/ˆCä×&×&Ð&¬9×+@×+@Ð+@ð+Ø #§¡× 6Ñ 6�Ið —’´°s¶¸YÀs¿^¸^ÐLÔMØ—X‘X˜c“]ˆFØ ˆF‰KØ�J‰J�sŽOØˆNä�*‹oˆØ�1�9�cŒ>ÝÓU\Ò^aÐbÓcÐcä%Ó'ˆØ�‰˜˜3ÔØ—‘˜DÓ!ˆØ—X‘X˜e“_ˆ
äØ"Ø�q•5Ø—>‘> #Ó&Ø—>‘> $Ó'Ø Ø—‘“ôˆð —>‘> $Ó'ˆØ�‰�ÔÜ˜$˜{¨2Ö.ˆBØ�G‰G�DŽMñ /ð �{‰{˜4Ó Ð øð=+Ü % c£
“Iús   ÅJ5 Ê5Kc                ó4   € \        V4      pW P                  9   # )z test for existence of named form)r?   rm   rí   s   && r    ÚhasFormÚPDFDocument.hasFormÉ  s   € ä" 4Ó(ˆØŸ™Ñ.Ð.r   c                óº  € \        V4      pW0P                  9   dÀ   V P                  V,          p\        VR4      '       d   VP                  V,          # \	        V\
        4      '       d   VP                  4       # \	        V\        4      '       d1   \        VP                  P                  V,          P                  4      # \        R\        V4      ,          4      hR# )zœget the declared bounding box of the form as a list.
If you specify a different PDF box definition (e.g. the
ArtBox) and it has one, that's what you'll get.Ú_extra_pageCatcher_infoz'I don't understand the form instance %sN)r?   rm   r1   ra  r*   ÚPDFFormXObjectÚBBoxListÚ	PDFStreamr-  Ú
dictionaryÚdictÚsequencerÆ   r³   )rC   r§   ÚboxTyperî   Útheforms   &&&  r    ÚgetFormBBoxÚPDFDocument.getFormBBoxÎ  s«   € ô # 4Ó(ˆØŸ?™?Ô*Ø—o‘o lÕ3ˆGÜ�wÐ8×9Ò9Ø×6Ñ6°wÕ?Ð?Ü˜'¤>×2Ò2à×'Ñ'Ó)Ð)Ü˜G¤Y×/Ò/ä˜G×.Ñ.×3Ñ3°GÕ<×EÑEÓFÐFä Ð!JÌTÐRVËZÕ!WÓXÐXñ +r   c                ó   € \        V4      # )zaLets canvas find out what form is called internally.
Never mind whether it is defined yet or not.)r?   ©rC   r§   s   &&r    ÚgetXObjectNameÚPDFDocument.getXObjectNameà  s   € ô ˜4Ó Ð r   c                ób   € / pV F  p\        V4      p\        V4      pWRV&   K  	  \        V4      # )zzconstruct an xobject dict (for inclusion in a resource dict, usually)
from a list of form names (images not yet supported))r?   rÛ   r}   )rC   Ú	formnamesÚDr§   rî   Ú	references   &&    r    ÚxobjDictÚPDFDocument.xobjDictå  s;   € ð ˆÛˆDÜ& tÓ,ˆLÜ*¨<Ó8ˆIØ'ˆl‹Oñ ô
 ˜QÓÐr   c                óØ  € \        V\        4      pV P                  pVf   V'       d   VP                  \        J d   V# \        V\        4      '       ds   VP                  pVe,   W%8w  d&   \        R\        V4      : R\        V4      : 24      hWT9  d'   \        R\        V4      : R\        V4      : R24      h\	        V4      # V P                  ^,           ;q`n        Vf   R\        V4      ,           pW$9   d5   WB,          pWq8w  d   \        R\        V4      ,           4      h\	        V4      # V'       d   W!n        V^ 3V P                  V&   W P                  V&   WV&   \	        V4      # )Nzattempt to reregister object z with new name zobject of type z
 named as z, but not registeredÚRzredefining named object: )r*   r0   rm   r¯   rÛ   r1   r"   rÆ   r³   r6   rk   rb   rl   ro   )rC   rP  r§   Úiobrm   Úintnamerb   Úothers   &&&     r    r2   ÚPDFDocument.Referenceð  s<  € ô ˜œYÓ'ˆØ—_‘_ˆ
ØŠ<§¨¯©Ô9KÓ(KØˆJÜ�3Ô(×)Ò)à×*Ñ*ˆGØÒ D¤MÝ Ü˜–M¤4¨¥:ð"/ó 0ð 0àÔ(Ý ÔX\Ð]`ÖXaÔbgÐhoÖbpÐ!qÓrÐrÜ% gÓ.Ð.à-1×-?Ñ-?ÀÕ-AÐAˆÔ*ØŠ<Ø”t˜MÓ*Õ*ˆDØÔØÕ$ˆEØŒzÜ Ð!<¼TÀ$»ZÕ!GÓHÐHÜ% dÓ+Ð+ßØ#'Ô à1>ÀÐ0Bˆ×'Ñ'¨Ñ-Ø)-�‰˜Ñ&Ø�4ÑÜ! $Ó'Ð'r   )rq   rz   r&   ra   r>  rr   rg   r¤   rj   r€   r~   r|   rm   rl   rn   rd   rS   r4   ro   rb   ry   re   rc   rh   )ÚMediaBoxrG   ).r   r   r   r   ÚdefaultStreamFiltersrA   r\   r   ÚpageCompressionr4   ÚPDF_VERSION_DEFAULTrˆ   rf   r”   r˜   r¡   r¼   r´   rÇ   rË   rÔ   rØ   rÜ   rà   rã   ræ   rê   rï   ró   r  r  r  r  r  r  r$  r)  r3  r3   r^  rj  rn  rt  r2   r   rU   rV   s   @r    r^   r^   o   sâ   ø‡ € àÐÙ‹n€GàØ&×6Ñ6Ø$×.Ñ.ØØ/Øô3òj!òMò
.ò
òNò@ò òòHò-ò7òòò'ò>ò0òòò*$ò&ò(ò(ò*ò*ò1òòC!òJ/ô
Yò$!ò
	 ÷(ò (r   r^   ÚtrueÚfalseÚnullc                   ó6   a € ] tR tRt o RR ltR tR tRtV tR# )rž   i  c                ó   € Wn         W n        R # rG   )rD   rœ   )rC   rD   rœ   s   &&&r    rˆ   ÚPDFText.__init__  s   € ØŒØŽr   c                óð   € V P                   p\        V4      '       d   VP                  V P                  4      p\        P
                  ! VP                  P                  V4      4      pR V,           R,           # )ó   <ó   >)rD   r	   r,   rœ   ÚbinasciiÚhexlifyr\   )rC   r:   rD   Úresults   &&  r    r3   ÚPDFText.format  sV   € Ø�F‰FˆÜ�Q�<Š<Ø—‘˜Ÿ™Ó"ˆAÜ×!Ò! (×"2Ñ"2×"9Ñ"9¸!Ó"<Ó=ˆØ�f�}˜tÕ#Ð#r   c                ó8   € \        4       pV P                  V4      # rG   )rZ   r3   )rC   Údummydocs   & r    Ú__str__ÚPDFText.__str__   s   € Ü“:ˆØ�{‰{˜8Ó$Ð$r   )rœ   rD   N)zutf-8)	r   r   r   r   rˆ   r3   r�  r   rU   rV   s   @r    rž   rž     s   ø‡ € ôò$÷%ð %r   rž   c                 ó   € V # rG   r   )Úns   &r    Ú	PDFnumberr“  $  s   € Ø€Hr   z[^()]c                óÄ   € \         P                  RV 4      p ^ pV  F(  pVR8X  d   V^,          pK  V^,          pV^ 8  g   K'   ^ # 	  V'       * ;'       d    ^;'       g    ^ # )z+test whether a string is balanced in parensr"  Ú()Ú_re_cleanparensÚsub)Úsr’  Úcs   &  r    Ú_isbalancedrš  *  s\   € ä×Ñ˜B˜qÓ!€AØ	€AÛˆØˆcŒ6�1�a•4’1à��FˆAØ�Žsš1ñ	 ð
 Œ5�;ˆ;�Q×Ð˜!Ðr   c                ó\   €  V P                  R4       ^#   \         d   p Rp?^ # Rp?ii ; i)z(return true if no Pdfdoc encoding errorsÚpdfdocN)r,   ÚUnicodeEncodeError)ÚutextÚes   & r    Ú_checkPdfdocr   5  s)   € ðØ�‰�XÔÙøÜô Ýûðús   ‚ •+¦+c                   ó:   a € ] tR tRt o RtRR ltR tR tRtV t	R# )	ru   i=  Fc                óÀ   € \        V\        4      '       d6   VP                  V n        VP                  V n        VP                  V n        R# Wn        W n        W0n        R# )aJ  s can be unicode/utf8 or a PDFString
if escape is true then the output will be passed through escape
if enc is raw then bytes will be left alone
if enc is auto we'll try and automatically adapt to utf_16_be/utf_16_le if the
effective string is not entirely in pdfdoc
if self.unicodeEncValid unicode will use the specifed encoding
N)r*   ru   r˜  Úescaperœ   )rC   r˜  r£  rœ   s   &&&&r    rˆ   ÚPDFString.__init__?  sA   € ô �aœ	×"Ò"Ø—S‘SˆDŒFØŸ(™(ˆDŒKØ—u‘uˆDŽHàŒFØ ŒKØŽHr   c           	     ó*  € V P                   p\        V R R4      p\        V4      '       dÓ   VR8X  dË    VP                  \        P
                  4      '       d   VP                  R4      pMHVP                  \        P                  4      '       d   VP                  R4      pMVP                  R4      p\        V4      '       d   VP                  R4      pMú\        P
                  VP                  R4      ,           pMÓMÒ\        V4      '       d§   VR8X  dK   \        V4      '       d   VP                  R4      pM—\        P
                  VP                  R4      ,           pMpV P                  '       d   VP                  V P                  4      pMB\        P
                  VP                  R4      ,           pM\!        R\#        V4      ,          4      h\        V R^4      p\%        VP&                  \(        4      '       g   VP&                  P                  V4      p^pV'       d‚    R	\+        V4      ,          pT^,          '       d   TP-                  RR4      pT^,          '       d4   \/        T4      '       d#   TP-                  RR4      P-                  RR4      p\1        T4      # RV,           R,           #     TP                  R4        Lù   \        P                  ! R\        T4      : 24       h ; i; i   \!        R
T: R\        T4      : 24      h; i)rœ   ÚautoÚ	utf_16_beÚ	utf_16_leÚutf8rœ  z	Error in z-PDFString argument must be str/unicode not %sr£  ú(%s)zcannot escape Ú z\012Ú
z\(r•  z\)Ú)ó   (ó   ))r˜  r­   r   Ú
startswithÚcodecsÚBOM_UTF16_BEÚdecodeÚBOM_UTF16_LEr   r,   r   r¥   r³   r	   ÚunicodeEncValidrœ   rÆ   r6   r*   r\   rA   r   Úreplacerš  r.   )rC   r:   r˜  rœ   Úur£  Úess   &&     r    r3   ÚPDFString.formatO  sJ  € Ø�F‰FˆÜ�d˜5 Ó(ˆÜ�1�:Š:Ø�fŒ}ðØ—|‘|¤F×$7Ñ$7×8Ò8ØŸH™H [Ó1™ØŸ™¤f×&9Ñ&9×:Ò:ØŸH™H [Ó1™àŸH™H VÓ,˜Ü# A—’ØŸH™H XÓ.™ä"×/Ñ/°·±¸Ó0EÕE™ð ô$ �q�\Š\Ø�fŒ}Ü —?’?ØŸ™ Ó*‘Aä×+Ñ+¨A¯H©H°[Ó,AÕA‘AØ×%×%Ð%Ø—H‘H˜TŸX™XÓ&‘ä×'Ñ'¨¯©°Ó(=Õ=‘äÐLÌtÐTUËwÕVÓWÐWä˜˜h qÓ)ˆÜ˜(×*Ñ*¬<×8Ò8Ø× Ñ ×'Ñ'¨Ó*ˆAØˆFßðGØœi¨›lÕ*�ð �a�xŒxØ—Z‘Z ¨Ó-�Ø�a�xŒxœK¨ŸOšOØ—Z‘Z  cÓ*×2Ñ2°5¸Ó=�Ü˜R“=Ð à˜!•8˜d•?Ð"øðEðØŸ™ Ö*øðÜŸ›´d¸1µgÐ%?Ô@Øþð*GÝ »!¼TÀ!½WÐ!EÓFÐFús<   ³$J2 Á6J2 ÂAJ2 Ã&J2 È"K4 Ê2K1Ê5KË&K.Ë.K1Ë4Lc                ó:   € R \        V P                  4      ,          # )rª  )r   r˜  rR   s   &r    r�  ÚPDFString.__str__ƒ  s   € Øœ	 $§&¡&Ó)Õ)Ð)r   )rœ   r£  r˜  N)rß   r¦  )
r   r   r   r   rµ  rˆ   r3   r�  r   rU   rV   s   @r    ru   ru   =  s   ø‡ € Ø€Oôò 2#÷h*ð *r   ru   c                 óâ   € \        V 4      p\        V4       F>  w  rEWQ8  g   WR8”  g
   VR 9   g   K  R\        \        V4      4      R,          ,           W4&   K@  	  RRP	                  V4      ,           # )z
%()<>{}[]#Ú#:é   NNÚ/r"  )r-  Ú	enumerateÚhexÚordÚjoin)r»   ÚloÚhiÚLÚir™  s   &&&   r    r  r  †  sZ   € ô 	ˆT‹
€AÜ˜Ž|‰ˆØŒ4�1”4˜1 Ö,Ø”sœ3˜q›6“{ 2•Õ&ˆA‹Dñ ð �—‘˜“
ÕÐr   c                   ó\   a € ] tR tRt o RtRR ltR tR tR tR t	RR	 lt
R
 tR tRtV tR# )r}   i�  TNc                óJ   € Vf
   / V n         R# VP                  4       V n         R# )zPdict should be namestring to value eg "a": 122 NOT pdfname to value NOT "/a":122N)rf  Úcopy)rC   rf  s   &&r    rˆ   ÚPDFDictionary.__init__’  s   € àŠ<ØˆDŽIàŸ	™	›ˆDŽIr   c                ó"   € W P                   V&   R # rG   ©rf  )rC   r§   r  s   &&&r    Ú__setitem__ÚPDFDictionary.__setitem__˜  s   € Ø�	‰	�$‹r   c                ó(   € V P                   V,          # rG   rÍ  ©rC   Úas   &&r    Ú__getitem__ÚPDFDictionary.__getitem__š  s   € Ø�y‰y˜�|Ðr   c                ó   € WP                   9   # rG   rÍ  rÑ  s   &&r    Ú__contains__ÚPDFDictionary.__contains__œ  s   € Ø—I‘I‰~Ðr   c                ód   € VP                  V P                  V,          4      V P                  V&   R # rG   )r2   rf  )rC   r§   r:   s   &&&r    r2   ÚPDFDictionary.Referencež  s"   € Ø"×,Ñ,¨T¯Y©Y°t­_Ó=ˆ�	‰	�$‹r   c                óª  € V P                   p \        VP                  4       4      p\        T\        4      '       g   TP                  4        T Uu. uF6  p\        \        T4      T4      R ,           \        Y5,          T4      ,           NK8  	  ppT P                  '       d   \        P                  '       g   T P                  R8X  d   TP                  T4      pMLTP                  p\        \!        ^\#        T4      ^4      4       F  pT! TR4       K  	  R P                  T4      pRT,           R,           #    \        \	        T4      4       h ; iu upi )ó    Úforcedó   
 s   <<
s   
>>)rf  r-  r’   r¸   rk   r*   r   r1  r3   r  Ú	multiliner   ÚpdfMultiLinerÃ  ÚinsertÚreversedÚrangerA  )	rC   r:   ÚINDrf  r’   r“   rÆ  rD   rÇ  s	   &&&      r    r3   ÚPDFDictionary.format   sþ   € Ø�y‰yˆð	Ü˜Ÿ	™	›Ó$ˆDô ˜$œ{×+Ò+¨T¯Y©Y¬[ÙRVÓWÑRVÈQŒf”W˜Q“Z Ó)¨$Õ.¬v°dµg¸hÓ/G×GÐGÑRVˆÐWØ�N�NˆNœy×5×5Ð5¸$¿.¹.È(Ô:RØ—‘˜“‰Að �h‰hˆAÜœe A¤s¨1£v¨qÓ1Ö2�Ù�!�F–ñ 3à—	‘	˜!“ˆAØ�q�y˜Õ Ð øð	Ü”%˜“+ÔØüâWs   ŽD6 Á<EÄ6Ec                ó,   € \        V P                  4      # rG   )r}   rf  rR   s   &r    rÊ  ÚPDFDictionary.copy³  s   € Ü˜TŸY™YÓ'Ð'r   c                óÜ   € V P                   pVP                  4        Uu. uF  q"P                  R 4      '       g   K  VNK  	  ppV F  pVP                  V4      WR,          &   K  	  R# u upi )r¿  rû   N)rf  r’   r°  Úpop)rC   rr  r“   ÚKs   &   r    Ú	normalizeÚPDFDictionary.normalize¶  sR   € à�I‰IˆØŸ™œÓ6™�1§L¡L°×$5�QˆQ™ˆÐ6ÛˆAØ—u‘u˜Q“xˆA��e‹Hó ùò 7s
   ŸA)¼A)rÍ  rG   ©rÝ  )r   r   r   r   rÞ  rˆ   rÎ  rÓ  rÖ  r2   r3   rÊ  rê  r   rU   rV   s   @r    r}   r}   �  s7   ø‡ € Ø€Iô$ò òòò>ô!ò&(÷ ð  r   r}   c                   ó,   a € ] tR tRt o R tR tRtV tR# )ÚcheckPDFNamesi½  c                óB   € \        \        \        V4      4      V n        R # rG   )r-  Úmapr  Únames)rC   rñ  s   &*r    rˆ   ÚcheckPDFNames.__init__¾  s   € Üœ#œg eÓ,Ó-ˆŽ
r   c                ón   € VP                  R 4      '       g   \        V4      pWP                  9   d   V# R# )r¿  N)r°  r  rñ  )rC   r  s   &&r    r¦   ÚcheckPDFNames.__call__À  s0   € Ø×Ñ ×$Ò$Ü˜%“.ˆEØ—J‘JÔØˆLñ r   )rñ  N)r   r   r   r   rˆ   r¦   r   rU   rV   s   @r    rî  rî  ½  s   ø‡ € ò.÷ð r   rî  c                 ó   € V R9   d   V # R# )r€  N)r€  r�  r   )r  s   &r    ÚcheckPDFBooleanrö  Æ  s   € ØÐ Ô ¨ ,Ñ r   c                   ó4   a € ] tR tRt o / tRR ltR tRtV tR# )ÚCheckedPDFDictionaryiÉ  Nc                óP   € \         P                  W4       V'       d	   W n        R # R # rG   )r}   rˆ   Úvalidate)rC   rf  rú  s   &&&r    rˆ   ÚCheckedPDFDictionary.__init__Ë  s   € Ü×Ñ˜tÔ)ß X–]‰8r   c                óÖ   € WP                   9  d   \        R V,          4      hV P                   V,          ! V4      pVf   \        RV: RV: 24      h\        P                  WV4       R# )zinvalid key, %rNz
Bad value z	 for key )rú  rÆ   r}   rÎ  )rC   r§   r  Úcvalues   &&& r    rÎ  Ú CheckedPDFDictionary.__setitem__Ï  sU   € Ø—}‘}Ô$ÜÐ.°Õ5Ó6Ð6Ø—‘˜tÖ$ UÓ+ˆØŠ>Ý»%ÂÐEÓFÐFÜ×!Ñ! $¨FÖ3r   )rú  ©NN)	r   r   r   r   rú  rˆ   rÎ  r   rU   rV   s   @r    rø  rø  É  s   ø‡ € Ø€Hô.÷4ð 4r   rø  c                   ób  € ] tR tRt]! ]]]]]]]! RP                  4       !  ]! RP                  4       !  ]! RP                  4       !  ]! RP                  4       !  ]! RP                  4       !  ]! RP                  4       !  ]! RP                  4       !  ]! RP                  4       !  R7      tRt	R	# )
ÚViewerPreferencesPDFDictionaryi×  z#UseNone UseOutlines UseThumbs UseOCzL2R R2Lz(MediaBox CropBox BleedBox TrimBox ArtBoxzNone AppDefaultz.Simplex DuplexFlipShortEdge DuplexFlipLongEdge)ÚHideToolbarÚHideMenubarÚHideWindowUIÚ	FitWindowÚCenterWindowÚDisplayDocTitleÚNonFullScreenPageModeÚ	DirectionÚViewAreaÚViewClipÚ	PrintAreaÚ	PrintClipÚPrintScalingÚDuplexr   N)
r   r   r   r   rf  rö  rî  Úsplitrú  r   r   r   r    r  r  ×  s«   † ÙØ+Ø+Ø,Ø)Ø,Ø /Ù&3Ð5Z×5`Ñ5`Ó5bÑ&cÙ'¨¯©Ó):Ñ;Ù&Ð(R×(XÑ(XÓ(ZÑ[Ù&Ð(R×(XÑ(XÓ(ZÑ[Ù'Ð)S×)YÑ)YÓ)[Ñ\Ù'Ð)S×)YÑ)YÓ)[Ñ\Ù*Ð,=×,CÑ,CÓ,EÑFÙ$Ð&V×&\Ñ&\Ó&^Ñ_ô„Hr   r  c                   ó0   a € ] tR tRt o RtR tR tRtV tR# )ÚPDFStreamFilterZCompressië  ÚFlateDecodec                ór   € \        V4      '       d   VP                  R 4      p\        P                  ! V4      # )r©  )r	   r,   ÚzlibÚcompress©rC   Útexts   &&r    r,   ÚPDFStreamFilterZCompress.encodeí  s(   € Ü�T�?Š?Ø—;‘;˜vÓ&ˆDÜ�}Š}˜TÓ"Ð"r   c                ó.   € \         P                  ! V4      # rG   )r  Ú
decompress)rC   Úencodeds   &&r    r³  ÚPDFStreamFilterZCompress.decodeñ  s   € Ü�Š˜wÓ'Ð'r   r   N©	r   r   r   r   Úpdfnamer,   r³  r   rU   rV   s   @r    r  r  ë  s   ø‡ € Ø€Gò#÷(ð (r   r  c                   ó0   a € ] tR tRt o RtR tR tRtV tR# )ÚPDFStreamFilterBase85Encodei÷  ÚASCII85Decodec                ód   € ^ RI Hp \        V4      p\        P                  '       d	   V! V4      pV# )r¿   )Ú_wrap)Úreportlab.pdfbase.pdfutilsr$  r   r   ÚwrapA85)rC   r  r$  s   && r    r,   Ú"PDFStreamFilterBase85Encode.encodeù  s)   € Ý4Ü  Ó&ˆÜ××ÐÙ˜“;ˆDØˆr   c                ó   € \        V4      # rG   )r   r  s   &&r    r³  Ú"PDFStreamFilterBase85Encode.decodeÿ  s   € Ü  Ó&Ð&r   r   Nr  rV   s   @r    r!  r!  ÷  s   ø‡ € Ø€Gò÷'ð 'r   r!  c                   ó8   a € ] tR tRt o Rt^tRR ltR tRtV t	R# )rd  i  z@set dictionary elements explicitly stream.dictionary[name]=valueNc                óF   € Vf   \        4       pWn        W n        W0n        R # rG   )r}   re  ÚcontentÚfilters)rC   re  r,  r-  s   &&&&r    rˆ   ÚPDFStream.__init__	  s   € ØÒÜ&›ˆJØ$ŒØŒØŽr   c                óŒ  € V P                   p\        VP                  P                  4       4      pV P                  pV P
                  pV P                  f   \        R4      hVf   VP                  pVe|   RVP                  9  dk   \        V4      pVP                  4        . pV F9  pVP                  V4      pVP                  ^ \        VP                  4      4       K;  	  \        V4      VR&   VP                  P                  V4      p\!        W14      p\#        V4      VR&   \!        W!4      p	V	R,           V,           R,           # )Nzstream content not setÚFilterÚLengths   
stream
s
   endstream
)re  r}   rf  rÊ  r,  r-  rÆ   r}  r-  Úreverser,   rà  r  r  ÚPDFArrayr\   r3   rA  )
rC   r:   re  r,  r-  ÚrfÚfnamesr<   ÚfcÚfds
   &&        r    r3   ÚPDFStream.format  s  € Ø—_‘_ˆ
ä" :§?¡?×#7Ñ#7Ó#9Ó:ˆ
Ø—,‘,ˆØ—,‘,ˆØ�<‰<ÒÜÐ5Ó6Ð6ØŠ?Ø×3Ñ3ˆGàÒ 8°:·?±?Ô#Bä�g“ˆBØ�J‰JŒLØˆFÛ�ð Ÿ(™( 7Ó+�Ø—‘˜a¤¨¯©Ó!3Ö4ñ	 ô $,¨FÓ#3ˆJ�xÑ à×"Ñ"×)Ñ)¨'Ó2ˆÜ�GÓ&ˆÜ" 7›|ˆ
�8ÑÜ�JÓ)ˆØ�-Õ Õ" >Õ1Ð1r   )r,  re  r-  ©NNN)
r   r   r   r   r[   r#   rˆ   r3   r   rU   rV   s   @r    rd  rd    s   ø‡ € ÙJà€Kô÷2ð 2r   rd  c                 óÒ   € V f   \         p V P                  4       R,           p \        T \        P                  ;'       d    \
        \        .;'       g    \        .R7      pRVn        V# )Nr¬  )r,  r-  ztest stream)ÚteststreamcontentÚstriprd  r   ÚuseA85ÚPDFBase85EncodeÚPDFZCompressr$   )r,  ÚSs   & r    Ú
teststreamrA  /  sY   € à‚Ü#ˆØ�m‰m‹o Õ$€GÜ˜GÜ%×,Ñ,×OÐO´/Ä,Ð1O×aÐaÔT`ÐSaô	c€Að "€A„MØ€Hr   z\
1 0 0 1 0 0 cm BT /F9 12 Tf 14.4 TL ET
1.00 0.00 1.00 rg
n 72.00 72.00 432.00 648.00 re B*
c                   ó:   a € ] tR tRt o RtR tR tRR ltRtV t	R# )	r3  i?  Tc                ó&   € \        V4      V n        R # rG   )r-  rg  )rC   rg  s   &&r    rˆ   ÚPDFArray.__init__A  s   € Ü˜X›ˆŽr   c                ób   € \        \        VP                  V P                  4      4      V n        R# )z'make all objects in sequence referencesN)r-  rð  r2   rg  rH   s   &&r    Ú
ReferencesÚPDFArray.ReferencesC  s   € äœS ×!3Ñ!3°T·]±]ÓCÓDˆŽr   c                óØ  € V P                    Uu. uF  p\        W14      NK  	  ppV P                  '       d   \        P                  '       g   V P                  R 8X  d   VP                  V4      pMg\        V4      pV^
8”  dE   VP                  p\        \        ^
V^
4      4       F  pV! VR4       K  	  RP                  V4      pMRP                  V4      pRV,           R,           # u upi )rÜ  rÝ  rÛ  s   [ s    ])
rg  r3   rÞ  r   rß  rÃ  rA  rà  rá  râ  )rC   r:   rã  rŸ  rÆ  r’  rD   rÇ  s   &&&     r    r3   ÚPDFArray.formatF  s³   € Ø*.¯-ª-Ó8©- QŒV�AÖ ©-ˆÐ8Ø�N�NˆNœy×5×5Ð5¸$¿.¹.È(Ô:RØ—‘˜“‰Aä�!‹fˆAØ�Œtà—(‘(�Ü!¤%¨¨A¨rÓ"2Ö3�AÙ�a˜–Kñ 4à—I‘I˜a“L‘à—I‘I˜a“L�Ø�q�y˜5Õ Ð ùò 9s   �C')rg  Nrì  )
r   r   r   r   rÞ  rˆ   rF  r3   r   rU   rV   s   @r    r3  r3  ?  s   ø‡ € Ø€Iò'òE÷!ò !r   r3  c                   ó   € ] tR tRtRtRtR# )ÚPDFArrayCompactiV  Fr   N)r   r   r   r   rÞ  r   r   r   r    rK  rK  V  s   † Ø„Ir   rK  c                   ó0   a € ] tR tRt o ^tR tR tRtV tR# )r?  iY  c                ó   € Wn         W n        R # rG   )r§   r,  )rC   r§   r,  s   &&&r    rˆ   ÚPDFIndirectObject.__init__[  s   € ØŒ	ØŽr   c                óF  € V P                   pVP                  V,          w  r4VP                  P                  W44       \	        V P
                  V^R7      p\        V: RV: R24      V,           VP                  R4      '       d   R,           R,           # R,           R,           # )rß   ©r;   r«  z obj
ó   
r   s   endobj
)r§   rl   r\   rO   r3   r,  r.   Úendswith)rC   r:   r§   r’  ÚvÚfcontents   &&    r    r3   ÚPDFIndirectObject.format^  s”   € Ø�y‰yˆØ×2Ñ2°4Õ8‰ˆà×Ñ×!Ñ! !Ô'Ü˜$Ÿ,™,¨¸1Ô=ˆÜ««1Ð-Ó.ØõØ'×0Ñ0°×7Ò7˜õDàõð 	Ø=BõDàõð 	r   )r,  r§   N)	r   r   r   r   r#   rˆ   r3   r   rU   rV   s   @r    r?  r?  Y  s   ø‡ € Ø€Kò÷ð r   r?  c                   ó,   a € ] tR tRt o R tR tRtV tR# )rÛ   ih  c                ó   € Wn         R # rG   ©r§   rm  s   &&r    rˆ   ÚPDFObjectReference.__init__i  ó   € ØŽ	r   c                ó²   €  \        R VP                  V P                  ,          ,          4      #    \        R\	        T P                  4      ,          4      h; i)z%s %s Rz:forward reference to %s not resolved upon final formatting)r.   rl   r§   rÐ   r³   rH   s   &&r    r3   ÚPDFObjectReference.formatk  sM   € ð	kÜ˜Y¨×)LÑ)LÈTÏYÉYÕ)WÕWÓXÐXøð	kÜÐWÔZ^Ð_c×_hÑ_hÓZiÕiÓjÐjús	   ‚,/ ¯'ArX  N©r   r   r   r   rˆ   r3   r   rU   rV   s   @r    rÛ   rÛ   h  s   ø‡ € ò÷kð kr   rÛ   c                   ó>   a € ] tR tRt o ]3R ltR tR tR tRt	V t
R# )r=  iq  c                ó¨   € . V n         V P                   P                  V n        ^ V n        V P	                  \        RV,          4      R,           4       R# )r¿   z%%PDF-%s.%ss5   
%“Œ‹ž ReportLab Generated PDF document (opensource)
N)Ústringsr0  r¥   rT  r@  r.   )rC   r‚   s   &&r    rˆ   ÚPDFFile.__init__s  sD   € ØˆŒØ—\‘\×(Ñ(ˆŒ
ØˆŒð 	�‰”)˜M¨JÕ6Ó7ØRõSö 	r   c                ó   € R # rG   r   rR   s   &r    ÚcloseOrResetÚPDFFile.closeOrReset�  s   € Ùr   c                ó„   € \        V4      pV P                  pV\        V4      ,           V n        V P                  V4       V# )zGshould be constructed as late as possible, return position where placed)r.   rT  rA  r¥   )rC   r˜  r‹  s   && r    r@  ÚPDFFile.add„  s3   € ä�a‹LˆØ—‘ˆØœS ›V•mˆŒØ�
‰
�1ŒØˆr   c                ó8   € R P                  V P                  4      # )r   )rÃ  r`  rH   s   &&r    r3   ÚPDFFile.formatŒ  s   € Ø�x‰x˜Ÿ™Ó%Ð%r   )rT  r`  r¥   N)r   r   r   r   r  rˆ   rc  r@  r3   r   rU   rV   s   @r    r=  r=  q  s!   ø‡ € à!4ô òò÷&ð &r   r=  c                   ó,   a € ] tR tRt o R tR tRtV tR# )ÚPDFCrossReferenceSubsectioni�  c                ó   € Wn         W n        R # rG   ©ÚfirstentrynumberÚ
idsequence)rC   rm  rn  s   &&&r    rˆ   Ú$PDFCrossReferenceSubsection.__init__�  s   € Ø 0ÔØ$Žr   c                ó   € V P                   pV P                  p\        V4      p\        V4      p/ pV^ 8X  d!   RV^ &   V^,           pVP	                  ^ R4       VP
                  pVP                  pW%,           ^,
          p	V F…  p
Wz,          w  r¼W¶9   d0   \        RV: R\        V
4      : R\        Wj,          4      : 24      hW¹8”  g   W²8  d   \        RV: RV: RV	: 24      hW²,
          pW¦V&   WŠ,          pRWì3,          WK&   K‡  	  V: RV: 2pVP	                  ^ V4       VP                  R	4       \        R
P                  V4      4      # )z`id sequence should represent contiguous object nums else error. free numbers not supported (yet)zstandard free entryz0000000000 65535 f zobject number collision r«  zobject number z not in range z..z%0.10d %0.5d n r"  r¬  )rm  rn  r-  rA  rà  rl   rn   rÆ   r³   r0  r.   rÃ  )rC   r:   rm  rn  ÚentriesÚnentriesÚtakenrK  rn   Úlastentrynumberr°   ÚnumrN   ÚrnumrT  Ú	firstlines   &&              r    r3   Ú"PDFCrossReferenceSubsection.format“  s2  € à×0Ñ0ÐØ—_‘_ˆ
Ü�zÓ"ˆÜ�z“?ˆàˆØ˜QÔØ,ˆE�!‰HØ •zˆHØ�N‰N˜1Ð3Ô4Ø×4Ñ4ˆØ×(Ñ(ˆ
Ø*Õ3°AÕ5ˆÛˆBØ#�Z‰NˆSØŒ|Ý ÃsÌDÐQSÎHÔVZÐ[`Õ[dÕVeÐ!fÓgÐgØÔ" cÔ&:Ý Ë3ÓP`ÒbqÐ!rÓsÐsàÕ'ˆDØ�#‰JØ•^ˆFØ,°Ð/@Õ@ˆG‹Lñ ó  0²Ð:ˆ	Ø�‰�q˜)Ô$à�‰�rÔÜ˜Ÿ™ 7Ó+Ó,Ð,r   rl  Nr]  rV   s   @r    rj  rj  �  s   ø‡ € ò%÷-ð -r   rj  c                   ó2   a € ] tR tRt o R tR tR tRtV tR# )rB  i´  c                ó   € . V n         R # rG   ©ÚsectionsrR   s   &r    rˆ   ÚPDFCrossReferenceTable.__init__µ  s	   € ØˆŽr   c                óR   € \        W4      pV P                  P                  V4       R # rG   )rj  r|  r0  )rC   Ú
firstentryrI  Úsections   &&& r    rC  Ú!PDFCrossReferenceTable.addsection·  s   € Ü-¨jÓ>ˆØ�‰×Ñ˜WÖ%r   c                óØ   € V P                   pV'       g   \        R 4      hR.pV P                    F  p\        WA4      pVP                  V4       K!  	  \	        RP                  V4      4      # )zno crossref sectionss   xref
r   )r|  rÆ   r3   r0  r.   rÃ  )rC   r:   r|  rÆ  r˜  Úfss   &&    r    r3   ÚPDFCrossReferenceTable.formatº  sY   € Ø—=‘=ˆßÜÐ3Ó4Ð4ØˆKˆØ—”ˆAÜ˜Ó$ˆBØ�H‰H�RŽLñ ô ˜Ÿ™ !›Ó%Ð%r   r{  N)	r   r   r   r   rˆ   rC  r3   r   rU   rV   s   @r    rB  rB  ´  s   ø‡ € òò&÷&ð &r   rB  c                   ó0   a € ] tR tRt o RR ltR tRtV tR# )rD  iÄ  Nc                ó´   € Wn         Ve   Vf   \        R4      h\        4       ;q€n        RV3RV3RV3RV3RV3RV33 F  w  ršV
f   K  W¨V	&   K  	  RVn        R # )	NzSize and Root keys requiredr8  ÚPrevr9  r:  r¡   r;  rÜ  )r7  rÆ   r}   rf  rÞ  )rC   r7  r8  r‡  r9  r:  r¡   r;  rf  r’  rS  s   &&&&&&&&   r    rˆ   ÚPDFTrailer.__init__Å  st   € Ø"ŒØŠ<˜4š<ÜÐ:Ó;Ð;Ü(›?Ð*ˆŒyØ˜t�n v¨t n°v¸t°nØ˜t�n t¨R j°9¸gÐ2FóH‰EˆQàŒ}Ø�Q“ñHð  ˆŽr   c           
     ó    € V P                   P                  VR R7      pRP                  RVR\        \	        V P
                  4      4      R.4      # )rQ  ©rã  r   s   trailer
s   
startxref
s   
%%EOF
)rf  r3   rÃ  r.   r+   r7  )rC   r:   Úfdicts   && r    r3   ÚPDFTrailer.formatÏ  sN   € Ø—	‘	× Ñ  ¨eÐ Ó4ˆØ�x‰xØØØ Üœ#˜dŸn™nÓ-Ó.Øðó ð 	r   )rf  r7  )NNNNNNr]  rV   s   @r    rD  rD  Ä  s   ø‡ € ô	 ÷	ð 	r   rD  c                   óH   a a€ ] tR tRt oRV 3R lltV 3R ltR tRtVtV ;t	# )ÚXMPiß  c           
     ó  <€ V'       d   V'       d   \        R 4      hV'       g   V'       g   \        R4      h\        SV `	  \        \	        \        R4      \        R4      R7      4      R7       Wn        RV n        W n        R# )z5XMP is ambiguous with both path and creator argumentsz-XMP needs at least a path or creator argumentÚMetadataÚXML)ÚTypeÚSubtype)re  N)	rÆ   Úsuperrˆ   r}   rf  r  Ú
_XMP__pathÚ_XMP__pathContentÚ_XMP__creator)rC   Úpathr  r¯   s   &&&€r    rˆ   ÚXMP.__init__à  si   ø€ ß—GÜÐTÓUÐUßŸ'ÜÐLÓMÐMÜ‰ÑÜ$¤TÜ˜ZÓ(Ü ›ô&ó ð 	ô 	ð
 ŒØ!ˆÔØ Žr   c                óV   <€ V P                  V4      V n        \        \        V `  V4      # rG   )ÚmakeContentr,  r”  rŽ  r3   )rC   rŸ   r¯   s   &&€r    r3   Ú
XMP.formatî  s'   ø€ Ø×'Ñ'¨Ó,ˆŒÜ”S˜Ñ% cÓ*Ð*r   c                ó`  € V P                   '       do   V P                  fU   ^ RIHp \	        V P                   R4      ;_uu_ 4       pV! VP                  4       4      V n        R R R 4       V P                  # V P                  # V P                  V4      #   + '       g   i     T P                  # ; i)N)ÚsmartDecodeÚrb)r•  r–  Úreportlab.lib.rparsexmlrž  r±   Úreadr—  )rC   rŸ   rž  Ú_s   &&  r    r›  ÚXMP.makeContentò  s€   € Ø�;�;ˆ;Ø×!Ñ!Ò)Ý?Ü˜$Ÿ+™+ d×+Ô+¨qÙ)4°Q·V±V³XÓ)>�DÔ&÷ ,à×%Ñ%Ð%�4×%Ñ%Ð%à—>‘> #Ó&Ð&÷	 ,Ö+à×%Ñ%Ð%ús   ÁBÂB-	)Ú	__creatorÚ__pathÚ__pathContentr,  rÿ  )
r   r   r   r   rˆ   r3   r›  r   rU   Ú__classcell__)r¯   rW   s   @@r    rŽ  rŽ  ß  s   ù‡ € ÷!õ+÷'ò 'r   rŽ  c                   ó˜   a € ] tR tRt o Rt^tR]! R4      R]! R4      RR/tR	P                  4       t	]	t
R
 tR tR tR tR tR tRtV tR# )rp   iü  zDocument Rootr’  rq   ÚPageModeÚUseNonerv   NzÀ
        Dests Outlines Pages Threads AcroForm Names OpenAction PageMode URI
        ViewerPreferences PageLabels PageLayout JavaScript StructTreeRoot SpiderInfo
        MarkInfo Metadata Tabsc                óˆ  € V P                  V4       V P                  pV P                  p/ pVP                  4        F  w  rV\	        WV4      pVf   K  WdV&   K  	  V P
                   F  p\	        WR 4      pVf   K  WdV&   K  	  V F$  pWT9   g   K  VP                  WE,          4      WE&   K&  	  \        V4      p\        Wq4      # rG   )	Úcheck_formatÚ__Defaults__Ú__Refs__Úitemsr­   Ú__NoDefault__r2   r}   r3   )rC   r:   ÚdefaultsÚRefsrr  r“   rS  rf  s   &&      r    r3   ÚPDFCatalog.format
  sº   € Ø×Ñ˜(Ô#Ø×$Ñ$ˆØ�}‰}ˆØˆØ—>‘>Ö#‰CˆAÜ˜˜qÓ!ˆAØŒ}Ø�!“ñ $ð ×#Ô#ˆAÜ˜˜tÓ$ˆAØŒ}Ø�!“ñ $ó
 ˆAØŽvà×)Ñ)¨!­$Ó/�“ñ ô ˜QÓˆÜ�dÓ%Ð%r   c                ó(   € V P                  R 4       R# )ÚUseOutlinesN©ÚsetPageModerR   s   &r    ÚshowOutlineÚPDFCatalog.showOutline  s   € Ø×Ñ˜Ö'r   c                ó(   € V P                  R 4       R# )Ú
FullScreenNr¶  rR   s   &r    ÚshowFullScreenÚPDFCatalog.showFullScreen"  s   € Ø×Ñ˜Ö&r   c                ó:   € V'       d   \        V4      V n        R # R # rG   )r  Ú
PageLayout)rC   Úlayouts   &&r    ÚsetPageLayoutÚPDFCatalog.setPageLayout%  s   € ßÜ% f›oˆDŽOñ r   c                ó:   € V'       d   \        V4      V n        R # R # rG   )r  r©  )rC   Úmodes   &&r    r·  ÚPDFCatalog.setPageMode)  s   € ßÜ# D›MˆDŽMñ r   c                ó   € R# )zfor use in subclassesNr   rH   s   &&r    r¬  ÚPDFCatalog.check_format-  rK   r   )r¿  r©  )r   r   r   r   r$   r#   r  r­  r  r°  r®  r3   r¸  r¼  rÁ  r·  r¬  r   rU   rV   s   @r    rp   rp   ü  sl   ø‡ € Ø!€KØ€Kà™G IÓ.Ø™G IÓ.Ø˜ð€Lð"÷ #(¡%£'ð ð €Hò&ò*(ò'ò.ò*÷ð r   rp   c                   ó~   a € ] tR tRt o RtRt^tR]! R4      /tRP                  4       t
R.tR tR	 tR
 tR tRtV tR# )rs   i1  zHPAGES TREE WITH ONE INTERNAL NODE, FOR "BALANCING" CHANGE IMPLEMENTATIONz	page treer’  r&   zKids Count ParentÚParentc                ó   € . V n         R # rG   ©r†   rR   s   &r    rˆ   ÚPDFPages.__init__:  s	   € ØˆŽ
r   c                ó(   € V P                   V,          # rG   rË  )rC   Úitems   &&r    rÓ  ÚPDFPages.__getitem__<  s   € Ø�z‰z˜$ÕÐr   c                ó<   € V P                   P                  V4       R # rG   )r†   r0  ©rC   rÅ   s   &&r    rà   ÚPDFPages.addPage>  s   € Ø�
‰
×Ñ˜$Ör   c                ó‚   € V P                   p\        V4      pVP                  V4       W0n        \	        V4      V n        R # rG   )r†   r3  rF  ÚKidsrA  ÚCount)rC   r:   r†   Úkidss   &&  r    r¬  ÚPDFPages.check_format@  s0   € à—
‘
ˆÜ˜‹ˆà�‰˜Ô!ØŒ	Ü˜“ZˆŽ
r   )rÕ  rÔ  r†   N)r   r   r   r   r[   r$   r#   r  r­  r  r°  r®  rˆ   rÓ  rà   r¬  r   rU   rV   s   @r    rs   rs   1  sQ   ø‡ € ÙRØ€KØ€Kà™G GÓ,ð €Là'×-Ñ-Ó/€MØˆz€Hòò ò ÷ ð  r   rs   c                   óÂ   a € ] tR tRt o Rt^ t^tR]! R4      /tRP                  4       t
RP                  4       tRtRtR	t^ t^ tR	t/ t/ tR	tR
 tR tR tR tR tRtV tR	# )ÚPDFPageiI  zPage dictionaryr’  r×   z³Parent
        MediaBox Resources Contents CropBox Rotate Thumb Annots B Dur Hid Trans AA
        PieceInfo LastModified SeparationInfo ArtBox TrimBox BleedBox ID PZ
        TranszContents Parent IDéS  iJ  Nc                óD   € V P                    F  p\        WR 4       K  	  R # rG   )r°  Úsetattrrm  s   & r    rˆ   ÚPDFPage.__init__c  s   € à×&Ô&ˆDÜ�D Ö%ó 'r   c                ó   € Wn         R # rG   r‹   rŒ   s   &&r    rf   ÚPDFPage.setCompressiong  s   € Ø Ör   c                óž   € V P                   '       d   \        R 4      h\        V4      '       d   RP                  V4      R,           pWn        R# )z&overridden! must set stream explicitlyr¬  N)ÚOverride_default_compilationrÆ   r   rÃ  Ústream)rC   Úcodes   &&r    Ú	setStreamÚPDFPage.setStreami  s:   € Ø×,×,Ð,ÜÐEÓFÐFÜ��;Š;Ø—9‘9˜T“? 4Õ'ˆDØŽr   c                ó&   € \        V4      V n        R # rG   )r}   ÚTrans)rC   ÚtranDicts   &&r    ÚsetPageTransitionÚPDFPage.setPageTransitionp  s   € Ü" 8Ó,ˆŽ
r   c                ó(  € V P                   '       d   R # V P                  ;'       g]    \        V P                  R9   ;'       d#    ^ ^ V P                  V P
                  .;'       g    ^ ^ V P
                  V P                  .4      V n        V P                  '       g	   R V n        M:\        V P                  \        4      '       g   \        V P                  4      V n        V P                  '       gŒ   V P                  pV'       g   \        4       V n	        Mg\        4       pV P                  '       d9   \        P                  ;'       d    \         \"        .;'       g    \"        .Vn        W#n        RVn        W0n	        V P*                  '       gÐ   \-        4       pVP/                  4        V P0                  '       d   VP3                  4        MVP5                  4        V P6                  '       d   V P6                  Vn        V P:                  '       d   V P:                  Vn        VP=                  V P>                  4       VPA                  V PB                  4       W@n        V PD                  '       g%   VPF                  pVPI                  V4      V n"        R # R # )Nzpage stream)éZ   i  )%rá  r|  r3  ÚRotateÚ
pageheightÚ	pagewidthÚAnnotsr*   r0   ÚContentsrâ  rA  rd  r€   r   r=  r>  r?  r-  r,  r$   Ú	ResourcesÚPDFResourceDictionaryÚ
basicFontsÚ	hasImagesÚallProcsÚ
basicProcsÚXObjectsÚXObjectÚ	ExtGStateÚ
setShadingÚ_shadingUsedÚsetColorSpaceÚ_colorsUsedrÉ  r&   r2   )rC   r:   râ  r@  Ú	resourcesr†   s   &&    r    r¬  ÚPDFPage.check_formats  s÷  € à×,×,Ð,ÙØŸ™÷  _ð  _¬°$·+±+ÀÑ2I×2rÐ2rÈqÐQRÐSW×SbÑSbÐcg×cqÑcqÐNr÷  3^ð  3^ÐwxÐz{ð  ~B÷  ~Lñ  ~Lð  NR÷  N]ñ  N]ð  w^ó  *_ˆŒØ�{�{ˆ{ØˆD�Kô ˜dŸk™k¬)×4Ò4Ü& t§{¡{Ó3�”Ø�}�}ˆ}Ø—[‘[ˆFßÜ *£�•ä“K�Ø×#×#Ð#Ü )× 0Ñ 0× TÐ T´oÄ|Ð5T× fÐ fÔYeÐXf�A”IØ"”	Ø -�”Ø !”Ø�~�~ˆ~Ü-Ó/ˆIà× Ñ Ô"Ø�~�~ˆ~Ø×"Ñ"Õ$à×$Ñ$Ô&Ø�}�}ˆ}à$(§M¡M�	Ô!Ø�~�~ˆ~Ø&*§n¡n�	Ô#Ø× Ñ  ×!2Ñ!2Ô3Ø×#Ñ# D×$4Ñ$4Ô5à&ŒNØ�{�{ˆ{Ø—N‘NˆEØ"×,Ñ,¨UÓ3ˆDŽKñ r   )rð  rñ  r|  rÉ  rò  rç  r€   râ  )r   r   r   r   r$   rá  r#   r  r­  r  r°  r®  rï  rî  râ  rõ  r€   rø  rþ  Ú_shadingsUsedrç  rˆ   rf   rä  ré  r¬  r   rU   rV   s   @r    rÙ  rÙ  I  s•   ø‡ € Ø#€Kð $%Ð Ø€KØ™G F›Oð €Lð÷ ‘“ð ð (×-Ñ-Ó/€HØ€IØ€JØ€FØ€IØ€KØ€HØ€KØ€MØ€Eò&ò!òò-÷*4ð *4r   rÙ  c                   ó   € ] tR tRtRtR# )ÚDuplicatePageLabelPagei   r   Nr   r   r   r    r  r     r!   r   r  c                   óH   a € ] tR tRt o Rt^ t/ tR.t. tR t	R t
R tRtV tR# )ÚPDFPageLabelsi¢  NÚNumsc                ó   € . V n         R # rG   )ÚlabelsrR   s   &r    rˆ   ÚPDFPageLabels.__init__©  s	   € ØˆŽr   c                ó>   € V P                   P                  W34       R# )aW  Adds a new PDFPageLabel to this catalog.
The 'page' argument, an integer, is the page number in the PDF document
with which the 'label' should be associated. Page numbering in the PDF
starts at zero! Thus, to change the label on the first page, '0' should be
provided as an argument, and to change the 6th page, '5' should be provided
as the argument.

The 'label' argument should be a PDFPageLabel instance, which describes the
format of the labels starting on page 'page' in the PDF and continuing
until the next encounter of a PDFPageLabel.

The order in which labels are added is not important.
N)r  r0  )rC   rÅ   Úlabels   &&&r    ÚaddPageLabelÚPDFPageLabels.addPageLabel¬  s   € ð 	�‰×Ñ˜D˜=Ö)r   c                ó  €  V P                   P                  4        . pV P                    F'  w  rVVP                  V4       VP                  V4       K)  	  \        V4      V n
        \        P                  W4      #   \         d†    \        T P                    Uu. uF  q"^ ,          NK  	  Mu upi up4      p\	        R\        \        T Uu. uF  q#P                  T4      ^8”  g   K  TNK  	  Mu upi up4      4      ,          4        Líi ; i)r¿   z-

!!!!! Duplicate PageLabel seen for pages %r)r  r1  r  Úsortedr   r-  ÚsetÚcountr0  r3  r  rp   r3   )rC   r:   r-   Útmpr  rÅ   r  s   &&     r    r3   ÚPDFPageLabels.format¼  sà   € ð	AØ�K‰K×ÑÔð ˆØŸ;œ;‰KˆDØ�M‰M˜$ÔØ�M‰M˜%Ö ñ 'ô ˜VÓ$ˆŒ	Ü× Ñ  Ó0Ð0øô &ô 	AÜ¨¯ªÓ4© 1˜AŸ$˜$ªùÔ4Ó5ˆCÜÐOÔRVÔWZÑgjÓ[}ÑgjÐbc×nwÑnwÐxyÓnzÐ{|Ñn|×\]Ð\]ÒgjùÔ[}ÓW~ÓRÕö  Að	Aús/   ‚A: Á:D
ÂB*
Â)!D
Ã
C-Ã&C-Ã,D
Ä	D
)r  r  )r   r   r   r   Ú__comment__r#   r­  r°  r®  rˆ   r  r3   r   rU   rV   s   @r    r  r  ¢  s4   ø‡ € Ø€KØ€KØ€LØ�H€MØ€Hòò*÷ 1ð 1r   r  c                   ót   a € ] tR tRt o Rt^ t/ tRP                  4       tRt	Rt
RtRtRtR	tRR
 ltR tRtV tR# )ÚPDFPageLabeliÊ  NzType S P Stz:ARABIC ROMAN_UPPER ROMAN_LOWER LETTERS_UPPER LETTERS_LOWERrr  rw  ÚrÚArÒ  c                ó
  € V'       dI   VP                  4       V P                  9   d   \        WP                  4       4      p\        V4      V n        V'       d   \        V4      V n        V'       d   \        V4      V n        R# R# )aë	  
A PDFPageLabel changes the style of page numbering as displayed in a PDF
viewer. PDF page labels have nothing to do with 'physical' page numbers
printed on a canvas, but instead influence the 'logical' page numbers
displayed by PDF viewers. However, when using roman numerals (i, ii,
iii...) or page prefixes for appendecies (A.1, A.2...) on the physical
pages PDF page labels are necessary to change the logical page numbers
displayed by the PDF viewer to match up with the physical numbers. A
PDFPageLabel changes the properties of numbering at the page on which it
appears (see the class 'PDFPageLabels' for specifying where a PDFPageLabel
is associated) and all subsequent pages, until a new PDFPageLabel is
encountered.

The arguments to this initialiser determine the properties of all
subsequent page labels. 'style' determines the numberings style, arabic,
roman, letters; 'start' specifies the starting number; and 'prefix' any
prefix to be applied to the page numbers. All these arguments can be left
out or set to None.

* style:

    - None:                       No numbering, can be used to display the prefix only.
    - PDFPageLabel.ARABIC:        Use arabic numbers: 1, 2, 3, 4...
    - PDFPageLabel.ROMAN_UPPER:   Use upper case roman numerals: I, II, III...
    - PDFPageLabel.ROMAN_LOWER:   Use lower case roman numerals: i, ii, iii...
    - PDFPageLabel.LETTERS_UPPER: Use upper case letters: A, B, C, D...
    - PDFPageLabel.LETTERS_LOWER: Use lower case letters: a, b, c, d...

* start:

    -   An integer specifying the starting number for this PDFPageLabel. This
        can be used when numbering style changes to reset the page number back
        to one, ie from roman to arabic, or from arabic to appendecies. Can be
        any positive integer or None. I'm not sure what the effect of
        specifying None is, probably that page numbering continues with the
        current sequence, I'd have to check the spec to clarify though.

* prefix:

    -   A string which is prefixed to the page numbers. Can be used to display
        appendecies in the format: A.1, A.2, ..., B.1, B.2, ... where a
        PDFPageLabel is used to set the properties for the first page of each
        appendix to restart the page numbering at one and set the prefix to the
        appropriate letter for current appendix. The prefix can also be used to
        display text only, if the 'style' is set to None. This can be used to
        display strings such as 'Front', 'Back', or 'Cover' for the covers on
        books.

N)	ÚupperÚ__convertible__r­   r  r@  r“  ÚStru   ÚP)rC   ÚstyleÚstartÚprefixs   &&&&r    rˆ   ÚPDFPageLabel.__init__×  sT   € ÷d Ø�{‰{‹} × 4Ñ 4Ô4¼gÀdÏ;É;Ë=Ó>Y°eÜ˜U“^ˆDŒFßœI eÓ,�$”'ßœI fÓ-�4–6‰6r   c                óF   € \         P                  '       d   \        4       hR # )F)r   ÚerrorOnDuplicatePageLabelPager  )rC   Úoths   &&r    Ú__lt__ÚPDFPageLabel.__lt__  s   € Ü×2×2Ð2Ü(Ó*Ð*Ùr   )r  r@  r  r9  )r   r   r   r   r$   r#   r­  r  r°  r  ÚARABICÚROMAN_UPPERÚROMAN_LOWERÚLETTERS_UPPERÚLETTERS_LOWERrˆ   r%  r   rU   rV   s   @r    r  r  Ê  sP   ø‡ € Ø€KØ€KØ€LØ!×'Ñ'Ó)€MØR€Oà€FØ€KØ€KØ€MØ€Mô6.÷pð r   r  c                 ó"  € \        4       p\        4       Vn        V P                  pV P	                  V4      Vn        \        . RO4      Vn        \        4       pVP                  4        VP                  4        W1n        VP                  V4       R# )r¿   N)r¿   r¿   rÚ  iI  )rÙ  rA  rñ  r&   r2   rÉ  r3  r|  ró  rö  rô  rò  rà   )r:   r  r†   rÿ  s   &   r    Útestpager-    sk   € Ü‹	€AÜ“€A„JØ�N‰N€EØ×!Ñ! %Ó(€A„HÜÒ*Ó+€A„JÜ%Ó'€IØ×ÑÔØ×ÑÔØ„KØ	‡M�M�!Ör   z/
<<
  /Count
      0
  /Type
      /Outlines
>>c                   óR   a € ] tR tRt o Rt]P                  RR4      t^tR t	Rt
V tR# )rw   i*  zTEST OUTLINE!r¬  c                ó,   € \        V P                  4      # rG   )r.   r  rH   s   &&r    r3   ÚPDFOutlines0.format.  s   € Ü˜Ÿ™Ó#Ð#r   r   N)r   r   r   r   r$   ÚDUMMYOUTLINEr¶  r  r#   r3   r   rU   rV   s   @r    rw   rw   *  s+   ø‡ € Ø!€KØ×Ñ  dÓ+€DØ€K÷$ð $r   rw   c                   óJ   a € ] tR tRt o RtR;t;t;t;t;t	;t
;ttR tRtV tR# )ÚOutlineEntryObjecti1  zan entry in an outlineNc                óæ   € / p\        V P                  4      VR &   V P                  VR&   V P                  VR&   R F  p\	        W4      pVf   K  WBV&   K  	  \        V4      pVP                  V4      # )ÚTitlerÉ  ÚDest)r‡  ÚNextÚFirstÚLastrÕ  )ru   r5  rÉ  r6  r­   r}   r3   )rC   r:   rr  r’  rS  ÚPDs   &&    r    r3   ÚOutlineEntryObject.format4  sn   € ØˆÜ˜tŸz™zÓ*ˆˆ'‰
Ø—k‘kˆˆ(‰Ø—I‘Iˆˆ&‰	Û;ˆAÜ˜Ó ˆAØŒ}Ø�!“ñ <ô ˜1ÓˆØ�y‰y˜Ó"Ð"r   r   )r   r   r   r   r[   r5  r6  rÉ  r‡  r7  r8  r9  rÕ  r3   r   rU   rV   s   @r    r3  r3  1  s:   ø‡ € ÙØAEÐE€EÐEˆDÐE�6ÐE˜DÐE 4ÐE¨%ÐE°$¸÷
#ð 
#r   r3  c                   ór   a € ] tR tRt o RtR;tt^ tRtR t	RR lt
R tR tR tR	 tR
 tR tRR ltRtV tR# )rx   i@  aÀ  
takes a recursive list of outline destinations like::

    out = PDFOutline1()
    out.setNames(canvas, # requires canvas for name resolution
    "chapter1dest",
    ("chapter2dest",
    ["chapter2section1dest",
    "chapter2section2dest",
    "chapter2conclusiondest"]
    ), # end of chapter2 description
    "chapter3dest",
    ("chapter4dest", ["c4s1", "c4s2"])
    )

Higher layers may build this structure incrementally. KISS at base level.
Nc                óL   € / V n         / V n        . V n        . V n        / V n        R # rG   )ÚdestinationnamestotitlesÚdestinationstotitlesÚ
levelstackÚ	buildtreeÚ	closedictrR   s   &r    rˆ   ÚPDFOutlines.__init__X  s'   € Ø(*ˆÔ%Ø$&ˆÔ!ØˆŒØˆŒØˆŽr   c                ó  € Vf   V^ 8w  d   \        R4      h\        V\        4      '       g   \        R\        V4      ,          4      hV^ 8  d   \        R4      hVf   TpV P                  pV P
                  pV P                  pW%8”  dE   W%^,           8”  d   \        RV: RV: RV: RV: R	2	4      hV^,           ;r%VP                  . 4       W%8  di   VR,          pVR VR,          p	V	R,          p
\        V
\        4      '       d    V
w  r¼\        R
\        V
4      ,           4      hT
pTpW¼3V	R&   V^,
          pKn  Vf   R# VR,          P                  V4       W0P                  V&   V'       d   ^V P                  V&   W n        R# )z/destinationname of None means "close the tree" Nzclose tree must have level of 0zlevel must be integer, got %sznegative levels not allowedzcan't jump from outline level z
 to level z&, need intermediates (destinationname=z, title=r­  z cannot reset existing sections: éÿÿÿÿ)rÆ   r*   r8   r6   Úcurrentlevelr@  rA  r0  Útupler³   r>  rB  )rC   ÚdestinationnameÚlevelr  ÚclosedrF  ÚstackÚtreeÚcurrentÚpreviousÚlastinpreviousr§   Úsectionlists   &&&&&        r    ÚaddOutlineEntryÚPDFOutlines.addOutlineEntry_  s  € àÒ" u¨a¤xÜÐ>Ó?Ð?Ü˜%¤×$Ò$¬JÐ7VÔY]Ð^cÓYdÕ7dÓ,eÐ&eØ�Œ7œ*Ð%BÓCÐCØŠ= /˜%Ø×(Ñ(ˆØ—‘ˆØ�~‰~ˆàÔØ !•^Ô#Ý ó  FRó  TYó  [jó  lqð  "ró  sð  sØ#/°¥>Ð1ˆEØ�L‰L˜ÔØÔ à˜B•iˆGØ�b�	Ø˜R•yˆHØ% b�\ˆNÜ˜.¬×/Ò/Ø&4Ñ#�Ü Ð!CÄdÈ>ÓFZÕ!ZÓ[Ð[à%�Ø%�Ø $Ð2�˜‘à'¨�>ŠLØÒ"¡FØˆb�	×Ñ˜Ô)Ø9>×%Ñ% oÑ6ß°Q�4—>‘> /Ñ2Ø!Ör   c                ó   € Wn         R # rG   )Úmydestinations)rC   Údestinationtrees   &&r    ÚsetDestinationsÚPDFOutlines.setDestinations„  s   € Ø-Ör   c                ó´   € / p\        R 4      VR&   V P                  VR&   V P                  VR&   V P                  VR&   \	        V4      pVP                  V4      # )rz   r’  rÕ  r8  r9  )r  r  ÚfirstÚlastr}   r3   ©rC   r:   rr  r:  s   &&  r    r3   ÚPDFOutlines.format‡  sU   € àˆÜ˜JÓ'ˆˆ&‰	Ø—Z‘Zˆˆ'‰
Ø—Z‘Zˆˆ'‰
Ø—I‘Iˆˆ&‰	Ü˜1ÓˆØ�y‰y˜Ó"Ð"r   c                óJ   € V P                  W4      pV P                  V4       R # rG   ©ÚtranslateNamesrV  ©rC   r¹   ÚnametreeÚdesttrees   &&* r    ÚsetNamesÚPDFOutlines.setNames‘  s    € Ø×&Ñ& vÓ8ˆØ×Ñ˜XÖ&r   c                óJ   € V P                  W4      pV P                  V4       R# )z1Explicit list so I don't need to do in the callerNr^  r`  s   &&& r    ÚsetNameListÚPDFOutlines.setNameList•  s    € à×&Ñ& vÓ8ˆØ×Ñ˜XÖ&r   c                ó0  € V P                   pV P                  pV P                  p\        V4      '       di   \	        V4      '       g   VP                  R4      pVP                  V4      pTpW#9   d
   W2,          pMWsV&   WtV&   W%9   d   ^WV&   W!P                  V4      /# \        V4      '       dO   . pV F#  p	VP                  V P                  W4      4       K%  	  \        V\        4      '       d   \        V4      # V# \        R\        V4      ,          4      h)z=recursively translate tree of names into tree of destinationsr©  z5in outline, destination name must be string: got a %s)r>  r?  rB  r   r	   r³  Ú_bookmarkReferencer   r0  r_  r*   rG  r²   r6   )
rC   r¹   Úobjectr>  r?  rB  Údestinationr  rÆ  Úos
   &&&       r    r_  ÚPDFOutlines.translateNamesš  sû   € à#'×#@Ñ#@Ð Ø#×8Ñ8ÐØ—N‘Nˆ	Ü��=Š=Ü˜V×$Ò$¨v¯}©}¸VÓ/D fØ ×3Ñ3°FÓ;ˆKØˆEØÔ1Ø0Õ8‘à27¨Ñ/Ø05 Ñ-ØÔ"Ø)*�	Ñ&Ø×5Ñ5°fÓ=Ð>Ð>Ü��=Š=ØˆAÛ�Ø—‘˜×,Ñ,¨VÓ7Ö8ñ ä˜&¤×'Ò'Ü˜Q“x�ØˆHäÐOÔPTÐU[ÓP\Õ\Ó]Ð]r   c                ó¤  € V P                   fl   V P                  '       d<   V P                  R4       V P                  ^ ,          pV P                  W#4      V n         MR;V n        V n        ^ V n        RV n        R# \        V P                   V P                  4      V n        V P                  WP                   ^R7      w  V n        V n        ^V n        R# )zPprepare all data structures required for save operation (create related objects)NrP  rE  )
rT  r@  rQ  r_  rY  rZ  r  rÁ   rB  Úmaketree)rC   r:   r¹   Ú	destnamess   &&& r    rI   ÚPDFOutlines.prepareµ  s¨   € à×ÑÒ&Ø��ˆØ×$Ñ$ TÔ*Ø ŸO™O¨AÕ.�	à&*×&9Ñ&9¸&Ó&L�Õ#à)-Ð-�”
˜TœYØ�”
Ø�”
Ùô ˜4×.Ñ.°·±Ó?ˆŒ
Ø"&§-¡-°×:MÑ:MÐXY -Ó"ZÑˆŒ�T”YØˆŽ
r   c                ó€  € V'       d   R pVP                  VP                  4      pM;V ;P                  ^,          un        RV P                  ,          pVf   \        R4      h\	        V4      '       g   \        R4      h\        V4      pV^,
          pR;p;ršV P                  pV P                  p\        V4       EF>  p\        4       pW>n
        V: RV: 2pVP                  Wï4      pVe   VVn        W®n        V	f   Tp	Tp
TpTp
W-,          p\        V\        4      '       d   TpMi\        V\        4      '       d9    Vw  pp\        TT4      Tn        T P#                  TTT4      w  Tn        Tn        M\        R\)        V4      ,          4      h \+        VP-                  4       4      w  w  ppTT,          Tn        TTn        \        T\        4      '       g   EK"  TT9   g   EK,  TP                   ) Tn        EKA  	  Wš3#    \        R\        T4      ,          4      h; i   \        R\/        T4      ,           4      h; i)	ÚOutlinez
Outline.%sNz2non-top level outline elt parent must be specifiedz-destinationtree must be list or tuple, got %sÚ.z7destination tree elt tuple should have two elts, got %sz4destination tree elt should be dict or tuple, got %sz3bad outline leaf dictionary, should have one entry )r2   rz   r  rÆ   r   rA  r>  rB  râ  r3  rÉ  r7  r‡  r*   rf  rG  rÕ  ro  r8  r9  r6   r-  r¯  r   r5  r6  )rC   r:   rU  rÉ  r;   Ú	levelnameÚneltsÚ	lastindexÚlasteltÚfirstrefÚlastrefr>  rB  ÚindexÚeltobjÚeltnameÚeltrefÚeltÚleafdictÚsubsectionsr5  r6  s   &&&&&                 r    ro  ÚPDFOutlines.maketreeÉ  s  € ßØ!ˆIØ×'Ñ'¨×(9Ñ(9Ó:‰Fà�JŠJ˜!�O�JØ$ t§z¡zÕ1ˆIØŠ~Ü Ð!UÓVÐVÜ�_×%Ò%ÜÐLÓMÐMÜ�OÓ$ˆØ˜!•Gˆ	Ø'+Ð+ˆÐ+�(Ø#'×#@Ñ#@Ð Ø—N‘Nˆ	Ü˜5—\ˆEÜ'Ó)ˆFØ"ŒMÛ!*ªEÐ2ˆGØ×'Ñ'¨Ó8ˆFàÒ"Ø%�”Ø%”ØÒØ!�ØˆGØˆGØˆGØ!Õ(ˆCÜ˜#œd×#Ò#à‘Ü˜C¤×&Ò&ðkØ.1Ñ+�X˜{ô  % [°)Ó<�”Ø.2¯m©m¸HÀkÐSYÓ.ZÑ+�”˜v�{ä Ð!WÔZ^Ð_bÓZcÕ!cÓdÐdðeÜ"& x§~¡~Ó'7Ó"8‘‘�%˜ð 4°EÕ:ˆFŒLØˆFŒKÜ˜#œe×$Õ$¨°×):à &§¡˜}�—ñI "ðJ Ð"Ð"øðkÜ$Ð%^ÔadÐehÓaiÕ%iÓjÐjûðeÜ Ð!VÔW^Ð_bÓWcÕ!cÓdÐdús   Ä=H ÆH È HÈ H=)rA  rB  r  rF  r>  r?  rY  rZ  r@  rT  rÁ   rE  )r¿   NN)Nr¿   )r   r   r   r   r[   rT  rÁ   rH  rF  rˆ   rQ  rV  r3   rc  rf  r_  rI   ro  r   rU   rV   s   @r    rx   rx   @  sT   ø‡ € ñð& "Ð!€N�UØ€GØ€Lòô#"òJ.ò#ò'ò'ò
^ò6÷(5#ò 5#r   rx   c                ó  € \        V \        4      '       d2   V w  r#\        VP                  4       4      w  w  rEV'       d	   WQ9   d   ^# \	        V 4      '       d1   . pV  F  pVP                  \        Wq4      4       K  	  \        V4      # ^# )zButility for outline: recursively count leaves in a tuple/list tree)r*   rG  r-  r¯  r   r0  r  Úsum)rL  rB  r€  r�  r5  r6  ÚcountsrŸ  s   &&      r    r  r     sm   € ä�$”u×Òà"&ÑˆÜ˜xŸ~™~Ó/Ó0‰‰ˆ%ß˜Ô*ÙÜˆT‡{‚{àˆÛˆAØ�M‰Mœ% Ó-Ö.ñ ä�6‹{ÐÙr   z$ReportLab PDF Library - (opensource)c                   óX   a € ] tR tRt o Rt]tRtRtRt	Rt
RtRtR tR	 tR
 tR tRtV tR# )r{   i  zÄPDF documents can have basic information embedded, viewable from
File | Document Info in Acrobat Reader.  If this is wrong, you get
Postscript errors while printing, even though it does not print.Ú	anonymousÚuntitledÚunspecifiedr"  Nc                ó   € R V n         R# )ÚFalseN©ÚtrappedrR   s   &r    rˆ   ÚPDFInfo.__init__  s	   € ØˆŽr   c                ó¤   € V P                   V P                  V P                  V P                  3 F  pVP	                  \        V4      4       K  	  R # rG   )r  r  r  r#  ri   r   )rC   Ú	md5objectr-   s   && r    r�   ÚPDFInfo.digest   s8   € à—*‘*˜dŸk™k¨4¯<©<¸¿¹ÓGˆAØ×ÑœW Q›ZÖ(ó Hr   c                óà  € / p\        V P                  4      VR &   \        V P                  4      VR&   \        VP                  V P
                  R7      ;VR&   VR&   \        V P                  4      VR&   \        V P                  4      VR&   \        V P                  4      VR&   \        V P                  4      VR&   \        V P                  4      VR	&   \        V4      pVP                  V4      # )
r5  ÚAuthor)Útsr(  ÚModDateÚCreationDateÚProducerÚCreatorÚSubjectÚKeywordsÚTrapped)ru   r  r  ÚPDFDaterj   r'  r  r  r  r#  r  r�  r}   r3   r[  s   &&  r    r3   ÚPDFInfo.format%  sÅ   € ØˆÜ˜tŸz™zÓ*ˆˆ'‰
Ü §¡Ó,ˆˆ(‰Ü+2°h×6IÑ6IÐX\×XkÑXkÔ+lÐlˆˆ)‰�q˜Ñ(Ü! $§-¡-Ó0ˆˆ*‰Ü  §¡Ó.ˆˆ)‰Ü  §¡Ó.ˆˆ)‰Ü! $§-¡-Ó0ˆˆ*‰Ü˜tŸ|™|Ó,ˆˆ)‰ä˜1ÓˆØ�y‰y˜Ó"Ð"r   c                ó„   € V P                  4       pV P                  P                  4        F  w  r#\        WV4       K  	  V# )z'shallow copy - useful in pagecatchering)Ú	__klass__Ú__dict__r¯  rÜ  )rC   r—   r“   rS  s   &   r    rÊ  ÚPDFInfo.copy3  s6   € à—‘Ó ˆØ—M‘M×'Ñ'Ö)‰DˆAÜ�E˜aÖ ñ *àˆr   rŒ  )r   r   r   r   r[   r  r  r  r  r  r  r#  r'  rˆ   r�   r3   rÊ  r   rU   rV   s   @r    r{   r{     sI   ø‡ € ñHð !€HØ€GØ€EØ€FØ€GØ€HØ€Nòò)ò
#÷ð r   r{   c                   ól   a € ] tR tRt o RtR]! R4      3.tRt]R,           tRR lt	R t
R tR tR	tV tR
# )Ú
Annotationi;  zsuperclass for all annotations.r’  ÚAnnotc                ó‚   € VR,          p\        V4      '       g   \        V4      VR&   \        VR,          V4      VR&   V# )ú@transform dict args from python form to pdf string rep as neededÚRectrñ  )r   r3  ru   )rC   Údr£  r§  s   &&& r    ÚcvtdictÚAnnotation.cvtdictA  s:   € à��yˆÜ�T�{Š{Ü  ›ˆAˆf‰IÜ! ! J¥-°Ó7ˆˆ*‰Øˆr   c                ó®  € R V9   d   VR ,          pVR  M^p/ pV P                    F	  w  rEWSV&   K  	  VP                  V4       V P                   F  pWC9  g   K  \        RV R24      h	  V P	                  W2R7      pV P
                  pVP                  4        F/  pWF9  g   K  \        V P                  P                  : RV: 24      h	  \        V4      # )r£  zkeyword argument z missing)r£  z  bad annotation dictionary name )
r±  ri   ÚrequiredrÆ   r©  Ú	permittedr’   r¯   r   r}   )rC   Úkwr£  r¨  r§   Úvalr­  s   &,     r    ÚAnnotationDictÚAnnotation.AnnotationDictH  sÆ   € Ø�rŒ>Ø˜•\ˆFØ�8‘àˆFØˆØŸ-œ-‰JˆTØˆd‹Gñ (à	�‰�ŒØ—M”MˆDØŽ}Ü Ð#4°T°F¸(Ð!CÓDÐDñ "ð �L‰L˜ˆLÓ)ˆØ—N‘Nˆ	Ø—F‘F–HˆDØÖ$Ü È4Ï>É>×KbÔKbÒcgÐ!hÓiÐiñ ô ˜QÓÐr   c                ó   € \        R 4      h)zEDictString undefined for virtual superclass Annotation, must overload©rÆ   rR   s   &r    ÚDictÚAnnotation.Dict[  s   € ÜÐ`ÓaÐar   c                óD   € V P                  4       pVP                  V4      # rG   ©r´  r3   ©rC   r:   rr  s   && r    r3   ÚAnnotation.format_  s   € Ø�I‰I‹KˆØ�x‰x˜Ó!Ð!r   r   N)r’  r§  rñ  r“  )ÚBorderÚCÚTÚMÚFÚHÚBSÚAAÚASÚPopupr  ÚAP©rß   )r   r   r   r   r[   r  r±  r¬  r­  r©  r°  r´  r3   r   rU   rV   s   @r    r£  r£  ;  sJ   ø‡ € Ù)Ø™ Ó)Ð+Ð,€HØ6€HØð Oõ O€Iôò ò&b÷"ð "r   r£  c                   óR   a € ] tR tRt o ]P
                  R,           tR tR tRtV t	R# )ÚFreeTextAnnotationic  c                ó6   € Wn         W n        W0n        W@n        R # rG   )r§  rñ  ÚDAÚotherkw)rC   r§  rñ  rÉ  r®  s   &&&&,r    rˆ   ÚFreeTextAnnotation.__init__e  s   € ØŒ	Ø ŒØŒØŽr   c                óÄ   € / pVP                  V P                  4       V P                  VR &   V P                  VR&   V P                  VR&   RVR&   V P
                  ! R/ VB # )r§  rñ  rÉ  z	/FreeTextr“  r   )ri   rÊ  r§  rñ  rÉ  r°  ©rC   r¨  s   & r    r´  ÚFreeTextAnnotation.Dictj  s[   € ØˆØ	�‰�—‘ÔØ—I‘Iˆˆ&‰	ØŸ™ˆˆ*‰Ø—'‘'ˆˆ$‰Ø"ˆˆ)‰Ø×"Ò"Ñ' QÑ'Ð'r   )rñ  rÉ  r§  rÊ  N)rÉ  )
r   r   r   r   r£  r­  rˆ   r´  r   rU   rV   s   @r    rÇ  rÇ  c  s$   ø‡ € Ø×$Ñ$ wÕ.€Iò÷
(ð (r   rÇ  c                   ó\   a € ] tR tRt o ]P
                  R,           tRR ltR tR tRt	V t
R# )	ÚLinkAnnotationis  c                óB   € W@n         Wn        W n        W0n        WPn        R # rG   )rº  r§  rñ  ÚDestinationrÊ  )rC   r§  rñ  rÒ  rº  r®  s   &&&&&,r    rˆ   ÚLinkAnnotation.__init__w  s   € ØŒØŒ	Ø ŒØ&ÔØŽr   c                ó   € R # )z„
          << /Type /Annot /Subtype /Link /Rect [71 717 190 734] /Border [16 16 1]
             /Dest [23 0 R /Fit] >>
             r   rR   s   &r    ÚdummyDictStringÚLinkAnnotation.dummyDictString~  s   € ñr   c                óâ   € / pVP                  V P                  4       V P                  VR &   V P                  VR&   V P                  VR&   RVR&   V P
                  VR&   V P                  ! R/ VB # )rº  r§  rñ  z/Linkr“  r6  r   )ri   rÊ  rº  r§  rñ  rÒ  r°  rÍ  s   & r    r´  ÚLinkAnnotation.Dict„  sj   € ØˆØ	�‰�—‘ÔØ—k‘kˆˆ(‰Ø—I‘Iˆˆ&‰	ØŸ™ˆˆ*‰Øˆˆ)‰Ø×$Ñ$ˆˆ&‰	Ø×"Ò"Ñ' QÑ'Ð'r   )rº  rñ  rÒ  r§  rÊ  N)r6  r  ÚPA)z[0 0 1])r   r   r   r   r£  r­  rˆ   rÕ  r´  r   rU   rV   s   @r    rÐ  rÐ  s  s.   ø‡ € à×$Ñ$ð (õ €Iôò÷(ð (r   rÐ  c                   ój   a € ] tR tRt o Rt]P                  R,           t. R	O3R ltR
R ltR t	Rt
V tR# )ÚHighlightAnnotationiŽ  zþ
HighlightAnnotation is an annotation that highlights the selected area.

Rect is the mouseover area that will show the contents.

QuadPoints is a list of points to highlight, you can have many groups of
four QuadPoints to allow highlighting many lines.
c                óB   € Wn         W n        WPn        W0n        W@n        R # rG   )r§  rñ  rÊ  Ú
QuadPointsÚColor)rC   r§  rñ  rÝ  rÞ  r®  s   &&&&&,r    rˆ   ÚHighlightAnnotation.__init__™  s   € ØŒ	Ø ŒØŒØ$ŒØŽ
r   c                ó¦  € VR,          pVR,          pVR,          p\        V\        4      '       g    \        V4      P                  VRR7      VR&   \        V\        4      '       g    \        V4      P                  VRR7      VR&   \        V\        4      '       g    \        V4      P                  VRR7      VR&   \	        VR,          V4      VR&   V# )r¦  r§  rÝ  r»  rÛ  rŠ  rñ  )r*   r+   r3  r3   ru   )rC   r¨  r£  r§  ÚQuadrÞ  s   &&&   r    r©  ÚHighlightAnnotation.cvtdict   s´   € à��yˆØ��ˆØ�#•ˆÜ˜$¤×$Ò$Ü  ›×-Ñ-¨a°TÐ-Ó:ˆAˆf‰IÜ˜$¤×$Ò$Ü& t›n×3Ñ3°A¸4Ð3Ó@ˆAˆl‰OÜ˜%¤×%Ò%Ü˜e“_×+Ñ+¨A°4Ð+Ó8ˆAˆc‰FÜ! ! J¥-°Ó8ˆˆ*‰Øˆr   c                óâ   € / pVP                  V P                  4       V P                  VR &   V P                  VR&   RVR&   V P                  VR&   V P
                  VR&   V P                  ! R/ VB # )r§  rñ  z
/Highlightr“  rÝ  r»  r   )ri   rÊ  r§  rñ  rÝ  rÞ  r°  rÍ  s   & r    r´  ÚHighlightAnnotation.Dict®  sh   € ØˆØ	�‰�—‘ÔØ—I‘Iˆˆ&‰	ØŸ™ˆˆ*‰Ø#ˆˆ)‰ØŸ/™/ˆˆ,‰Ø—‘ˆˆ#‰Ø×"Ò"Ñ' QÑ'Ð'r   )rÞ  rñ  rÝ  r§  rÊ  N)rÝ  )g�Âõ(\�ê?g{®Gázì?gffffffî?rÅ  )r   r   r   r   r[   r£  r­  rˆ   r©  r´  r   rU   rV   s   @r    rÛ  rÛ  Ž  s4   ø‡ € ñð ×$Ñ$Ð'7Õ7€Iâ9Kô ô÷(ð (r   rÛ  c                   óR   a € ] tR tRt o ]P
                  R,           tR tR tRtV t	R# )ÚTextAnnotationi¸  c           
     ó¦   € \         P                  ! V VV3R VP                  R R4      ;'       g    \        V4      RVP                  RR4      /VB  R# )rÝ  NrÞ  )r¿   r¿   r¿   )rÛ  rˆ   rè  Úrect_to_quad)rC   r§  rñ  r®  s   &&&,r    rˆ   ÚTextAnnotation.__init__»  sY   € Ü×$Ò$ TØØñ	ð Ÿ6™6 ,¨tÓ4×JÐJ¼ÀTÓ8Jð	ð —f‘f˜W WÓ-ð		ð
 ô	r   c                ó:   € \         P                  V 4      pR VR&   V# )z/Textr“  )rÛ  r´  rÍ  s   & r    r´  ÚTextAnnotation.DictÂ  s    € Ü×$Ñ$ TÓ*ˆØˆˆ)‰Øˆr   r   N)ÚOpenÚName)
r   r   r   r   rÛ  r­  rˆ   r´  r   rU   rV   s   @r    ræ  ræ  ¸  s)   ø‡ € Ø#×-Ñ-ð 1õ €Iò÷ð r   ræ  c           	     ó†   € V ^ ,          V ^,          V ^,          V ^,          V ^ ,          V ^,          V ^,          V ^,          .# )z1
Utility method to convert a Rect to a QuadPoint
r   )r§  s   &r    rè  rè  Ç  s@   € ð ��G�T˜!•W˜d 1�g t¨A¥wØ��G�T˜!•W˜d 1�g t¨A¥wð0ð 0r   c                   ó,   a € ] tR tRt o R tR tRtV tR# )ÚPDFRectangleiÓ  c                ó@   € WW43w  V n         V n        V n        V n        R # rG   ©ÚllxÚllyÚulxÚury)rC   ró  rô  Úurxrö  s   &&&&&r    rˆ   ÚPDFRectangle.__init__Ô  s   € Ø14¸3Ð1CÑ.ˆŒ�$”(˜DœH d¦hr   c                ó†   € \        V P                  V P                  V P                  V P                  .4      p\        W!4      # rG   )r3  ró  rô  rõ  rö  r3   )rC   r:   r  s   && r    r3   ÚPDFRectangle.formatÖ  s0   € Ü�d—h‘h §¡¨$¯(©(°D·H±HÐ=Ó>ˆÜ�aÓ"Ð"r   rò  Nr]  rV   s   @r    rð  rð  Ó  s   ø‡ € òD÷#ð #r   rð  c                   ó6   a € ] tR tRt o RR ltR tR tRtV tR# )rœ  iÚ  Nc                óP   € Vf   \        4       pV P                  V4       W n        R # rG   )r   Ú_initr(  )rC   r”  r(  s   &&&r    rˆ   ÚPDFDate.__init__Ü  s   € ØŠ:Ü“ˆBØ�
‰
�2ŒØ*Ör   c                ól   € VP                   V n        VP                  V n        VP                  V n        R # rG   )ÚYMDhmsÚdateÚdhhÚdmm)rC   r”  s   &&r    rý  ÚPDFDate._initâ  s#   € Ø—I‘IˆŒ	Ø—6‘6ˆŒØ—6‘6ˆŽr   c                ó~   a € S P                   ;'       g    V 3R  lp\        \        V! S P                  !  4      V4      # )c           	      óH   <€ R WW#WESP                   SP                  3,          # )z%D:%04d%02d%02d%02d%02d%02d%+03d'%02d')r  r  )ÚyyyyÚmmÚddÚhhÚmr˜  rC   s   &&&&&&€r    Ú<lambda>Ú PDFDate.format.<locals>.<lambda>é  s"   ø€ Ø;Ø 2¨¨T¯X©X°d·h±hÐ?ö@r   )r(  r3   ru   r  )rC   rŸ   Údfmts   f& r    r3   ÚPDFDate.formatç  s@   ø€ Ø×!Ñ!÷ Að Aô@ð 	ô ”i¡ d§i¡iÑ 0Ó1°3Ó7Ð7r   )r  r(  r  r  rÿ  )	r   r   r   r   rˆ   rý  r3   r   rU   rV   s   @r    rœ  rœ  Ú  s   ø‡ € ô+ò÷
8ð 8r   rœ  c                   ór   a € ] tR tRt o RtR;t;ttR tR tR t	R t
R tR	 tR
 tR tR tR tR tRtV tR# )rÒ  iî  a  

not a PDFObject!  This is a placeholder that can delegates
to a pdf object only after it has been defined by the methods
below.

EG a Destination can refer to Appendix A before it has been
defined, but only if Appendix A is explicitly noted as a destination
and resolved before the document is generated...

For example the following sequence causes resolution before doc generation.
    d = Destination()
    d.fit() # or other format defining method call
    d.setPage(p)
    (at present setPageRef is called on generation of the page).
Nc                ó.   € Wn         R ;V n        V n        R # rG   )r§   ÚfmtrÅ   rm  s   &&r    rˆ   ÚDestination.__init__   s   € ØŒ	Ø#Ð#ˆŒ�4–9r   c                óà   € V P                   pVf   \        RV P                  ,          4      hV P                  pVf   \        RV P                  ,          4      hW2n        VP	                  V4      # )NzYformat not resolved, probably missing URL scheme or undefined destination target for '%s'zTPage not bound, probably missing URL scheme or undefined destination target for '%s')r  rÆ   r§   rÅ   r3   )rC   r:   r<   Úps   &&  r    r3   ÚDestination.format  s�   € Ø�H‰HˆØŠ9œJð  (Cð  FJ÷  FOñ  FOõ  (Oó  Pð  PØ�I‰IˆØŠ9œJÐ'}ð  AE÷  AJñ  AJõ  (Jó  Kð  KØŒØ�x‰x˜Ó!Ð!r   c                ó*   € \        R WV4      V n        R # rG   )ÚPDFDestinationXYZr  )rC   ÚleftÚtopÚzooms   &&&&r    ÚxyzÚDestination.xyz
  s   € Ü$ T¨4°dÓ;ˆŽr   c                ó&   € \        R 4      V n        R # rG   )ÚPDFDestinationFitr  rR   s   &r    ÚfitÚDestination.fit  s   € Ü$ TÓ*ˆŽr   c                ó&   € \        R 4      V n        R # rG   )ÚPDFDestinationFitBr  rR   s   &r    ÚfitbÚDestination.fitb  s   € Ü% dÓ+ˆŽr   c                ó(   € \        R V4      V n        R # rG   )ÚPDFDestinationFitHr  ©rC   r  s   &&r    ÚfithÚDestination.fith  s   € Ü% d¨3Ó/ˆŽr   c                ó(   € \        R V4      V n        R # rG   )ÚPDFDestinationFitVr  ©rC   r  s   &&r    ÚfitvÚDestination.fitv  s   € Ü% d¨DÓ1ˆŽr   c                ó(   € \        R V4      V n        R # rG   )ÚPDFDestinationFitBHr  r(  s   &&r    ÚfitbhÚDestination.fitbh  s   € Ü& t¨SÓ1ˆŽr   c                ó(   € \        R V4      V n        R # rG   )ÚPDFDestinationFitBVr  r-  s   &&r    ÚfitbvÚDestination.fitbv  s   € Ü& t¨TÓ2ˆŽr   c                ó*   € \        R WW44      V n        R # rG   )ÚPDFDestinationFitRr  )rC   r  ÚbottomÚrightr  s   &&&&&r    ÚfitrÚDestination.fitr  s   € Ü% d¨D¸%ÓEˆŽr   c                ó   € Wn         R # rG   ©rÅ   rÑ  s   &&r    ÚsetPageÚDestination.setPage  rZ  r   )r  r§   rÅ   )r   r   r   r   r[   Úrepresentationr3   rÅ   rˆ   r  r   r$  r)  r.  r2  r6  r<  r@  r   rU   rV   s   @r    rÒ  rÒ  î  sX   ø‡ € ñð  &*Ð)€NÐ)�V˜dò$ò"ò<ò+ò,ò0ò2ò2ò3òF÷ð r   rÒ  c                   ó0   a € ] tR tRt o RtR tR tRtV tR# )r  i  ÚXYZc                ó6   € Wn         W0n        W@n        W n        R # rG   )rÅ   r  r  r  )rC   rÅ   r  r  r  s   &&&&&r    rˆ   ÚPDFDestinationXYZ.__init__   s   € ØŒ	ØŒØŒ	ØŽ	r   c                óÐ   € VP                  V P                  4      p\        V\        V P                  4      V P
                  V P                  V P                  .4      p\        W14      # rG   )	r2   rÅ   r3  r  Útypenamer  r  r  r3   ©rC   r:   Úpagerefr  s   &&  r    r3   ÚPDFDestinationXYZ.format%  sK   € Ø×$Ñ$ T§Y¡YÓ/ˆÜ˜¤¨¯©Ó!7¸¿¹ÀDÇHÁHÈdÏiÉiÐYÓ[ˆÜ�aÓ"Ð"r   )r  rÅ   r  r  N©	r   r   r   r   rH  rˆ   r3   r   rU   rV   s   @r    r  r    s   ø‡ € Ø€Hò÷
#ð #r   r  c                   ó0   a € ] tR tRt o RtR tR tRtV tR# )r  i*  ÚFitc                ó   € Wn         R # rG   r?  rÑ  s   &&r    rˆ   ÚPDFDestinationFit.__init__,  rZ  r   c                óŽ   € VP                  V P                  4      p\        V\        V P                  4      .4      p\        W14      # rG   )r2   rÅ   r3  r  rH  r3   rI  s   &&  r    r3   ÚPDFDestinationFit.format.  s9   € Ø×$Ñ$ T§Y¡YÓ/ˆÜ˜¤¨¯©Ó!7Ð9Ó;ˆÜ�aÓ"Ð"r   r?  NrL  rV   s   @r    r  r  *  s   ø‡ € Ø€Hò÷#ð #r   r  c                   ó   € ] tR tRtRtRtR# )r#  i3  ÚFitBr   N©r   r   r   r   rH  r   r   r   r    r#  r#  3  s   † Ø„Hr   r#  c                   ó0   a € ] tR tRt o RtR tR tRtV tR# )r'  i6  ÚFitHc                ó   € Wn         W n        R # rG   ©rÅ   r  )rC   rÅ   r  s   &&&r    rˆ   ÚPDFDestinationFitH.__init__8  s   € ØŒ	 3ž(r   c                ó¤   € VP                  V P                  4      p\        V\        V P                  4      V P
                  .4      p\        W14      # rG   )r2   rÅ   r3  r  rH  r  r3   rI  s   &&  r    r3   ÚPDFDestinationFitH.format:  s?   € Ø×$Ñ$ T§Y¡YÓ/ˆÜ˜¤¨¯©Ó!7¸¿¹ÐCÓEˆÜ�aÓ"Ð"r   rY  NrL  rV   s   @r    r'  r'  6  s   ø‡ € Ø€Hò'÷#ð #r   r'  c                   ó   € ] tR tRtRtRtR# )r1  i?  ÚFitBHr   NrU  r   r   r    r1  r1  ?  ó   † Ø„Hr   r1  c                   ó0   a € ] tR tRt o RtR tR tRtV tR# )r,  iB  ÚFitVc                ó   € Wn         W n        R # rG   )rÅ   r  )rC   rÅ   r  s   &&&r    rˆ   ÚPDFDestinationFitV.__init__D  s   € ØŒ	 Dž)r   c                ó¤   € VP                  V P                  4      p\        V\        V P                  4      V P
                  .4      p\        W14      # rG   )r2   rÅ   r3  r  rH  r  r3   rI  s   &&  r    r3   ÚPDFDestinationFitV.formatF  s?   € Ø×$Ñ$ T§Y¡YÓ/ˆÜ˜¤¨¯©Ó!7¸¿¹ÐDÓFˆÜ�aÓ"Ð"r   )r  rÅ   NrL  rV   s   @r    r,  r,  B  s   ø‡ € Ø€Hò)÷#ð #r   r,  c                   ó   € ] tR tRtRtRtR# )r5  iK  ÚFitBVr   NrU  r   r   r    r5  r5  K  r_  r   r5  c                   ó0   a € ] tR tRt o RtR tR tRtV tR# )r9  iN  ÚFitRc                óB   € Wn         W n        W0n        W@n        WPn        R # rG   )rÅ   r  r:  r;  r  )rC   rÅ   r  r:  r;  r  s   &&&&&&r    rˆ   ÚPDFDestinationFitR.__init__P  s   € ØŒ	 Dœ)°f¬+È¼jÐY\ÖPXr   c                óæ   € VP                  V P                  4      p\        V\        V P                  4      V P
                  V P                  V P                  V P                  .4      p\        W14      # rG   )
r2   rÅ   r3  r  rH  r  r:  r;  r  r3   rI  s   &&  r    r3   ÚPDFDestinationFitR.formatR  sW   € Ø×$Ñ$ T§Y¡YÓ/ˆÜ˜¤¨¯©Ó!7¸¿¹ÀDÇKÁKÐQU×Q[ÑQ[Ð]a×]eÑ]eÐfÓhˆÜ�aÓ"Ð"r   )r:  r  rÅ   r;  r  NrL  rV   s   @r    r9  r9  N  s   ø‡ € Ø€Hò]÷#ð #r   r9  c                   ó®   a€ ] tR tRt oRtR tRP                  4        U u. uF  p \        V 4      NK  	  up tRt	R t
R tR tR tR	 tR
 tRtVtR# u up i )ró  i[  z7each element *could* be reset to a reference if desiredc           	     óÂ   € V P                    F  p\        WVP                  V/ 4      4       K!  	  V P                  4        R V9   d   VP                  R 4      V n        R# R# )ÚProcSetN)Údict_attributesrÜ  rè  r÷  rp  )rC   Úkwdsr¢  s   &, r    rˆ   ÚPDFResourceDictionary.__init__]  sO   € Ø×%Ô%ˆAÜ�D˜4Ÿ8™8 A b›>Ö*ñ &ð 	�‰ÔØ˜ÔØŸ(™( 9Ó-ˆDŽLñ r   zPDF Text ImageB ImageC ImageIc                ó(   € V P                   V n        R # rG   ©Ústdprocsrp  rR   s   &r    rö  ÚPDFResourceDictionary.allProcsg  s   € à—}‘}ˆŽr   c                ó6   € V P                   R ,          V n        R# ):Nr¾  NNru  rR   s   &r    r÷  Ú PDFResourceDictionary.basicProcsk  s   € Ø—}‘} RÕ(ˆŽr   c                ó.   € \        \        4      V n        R # rG   )rÛ   r%   ÚFontrR   s   &r    rô  Ú PDFResourceDictionary.basicFontsn  s   € Ü&¤zÓ2ˆŽ	r   c                óh   € VP                  4        F  w  r#\        V4      V P                  V&   K  	  R # rG   )r¯  rÛ   Ú
ColorSpace)rC   Ú
colorsUsedr™  r˜  s   &&  r    rý  Ú#PDFResourceDictionary.setColorSpaceq  s*   € Ø×#Ñ#Ö%‰CˆAÜ!3°AÓ!6ˆD�O‰O˜AÓó &r   c                óh   € VP                  4        F  w  r#\        V4      V P                  V&   K  	  R # rG   )r¯  rÛ   ÚShading)rC   ÚshadingUsedr™  r˜  s   &&  r    rû  Ú PDFResourceDictionary.setShadingu  s)   € Ø×$Ñ$Ö&‰CˆAÜ0°Ó3ˆD�L‰L˜‹Oó 'r   c                óN  € / pV P                    FC  p\        W4      p\        V\        4      '       d   V'       d   \	        V4      pWRV&   K=  K?  WBV&   KE  	  V P
                  pR p\        V4      '       d   V'       d   \        V4      pWRV&   MWBV&   \	        V4      p\        Wa4      # )rp  )	rq  r­   r*   rf  r}   rp  r   r3  r3   )rC   r:   rr  ÚdnamerS  Údvr‡   s   &&     r    r3   ÚPDFResourceDictionary.formaty  s™   € ØˆØ×)Ô)ˆEÜ˜Ó$ˆAÜ˜!œD×!Ò!ßÜ& qÓ)�BØ!�e“Hñ ð �%“ñ *ð �L‰LˆØˆÜ��8Š8ßÜ˜a“[�Ø�%‘øàˆe‰HÜ˜1ÓˆÜ�bÓ#Ð#r   )r{  rp  N)r~  rù  rú  r{  ÚPatternÚ
Propertiesr‚  )r   r   r   r   r[   rˆ   r  r  rv  rq  rö  r÷  rô  rý  rû  r3   r   rU   )r˜  rW   s   0@r    ró  ró  [  sa   ø‡ € ÙAò.ð %D×$IÑ$IÔ$KÓLÑ$K˜q”˜–
Ñ$KÑL€HØh€Oò%ò)ò3ò7ò4÷$ð $ùò+ Ms   ¡Aró  c                   óv   a € ] tR tRt o Rt^tRP                  4       tRtRt	RP                  4       t
R tRtV tR	# )
ÚPDFType1Fonti”  z"no init: set attributes explicitlyzType Subtype BaseFont Namer{  ÚType1z;FirstChar LastChar Widths Encoding ToUnicode FontDescriptorc                ó$  € / pV P                    F.  p\        W4      '       g   K  \        W4      p\        V4      W#&   K0  	  V P                   F%  p\        W4      '       g   K  \        W4      pWBV&   K'  	  \        V4      pVP                  V4      # rG   )Úname_attributesr1   r­   r  Úlocal_attributesr}   r3   )rC   r:   rr  r§   r  r:  s   &&    r    r3   ÚPDFType1Font.format�  s€   € ØˆØ×(Ô(ˆDÜ�t×"Ô"Ü Ó+�Ü! %›.�“ñ )ð ×)Ô)ˆDÜ�t×"Ô"Ü Ó+�Ø�$“ñ *ô
 ˜1ÓˆØ�y‰y˜Ó"Ð"r   r   N)r   r   r   r   r[   r#   r  r�  r’  r“  r�  r3   r   rU   rV   s   @r    rŒ  rŒ  ”  s>   ø‡ € Ù,Ø€Kà2×8Ñ8Ó:€OØ€DØ€GàT×ZÑZÓ\Ð÷#ð #r   rŒ  c                   ó   € ] tR tRtRtRtR# )ÚPDFTrueTypeFonti®  ÚTrueTyper   N)r   r   r   r   r“  r   r   r   r    r“  r“  ®  s   † Ø„Gr   r“  c                   ó\   a € ] tR tRt o R;t;t;t;t;t;t	t
^t^ tR tR tR tR tRtV tR# )rb  iÑ  Nc                ó6   € Wn         W n        W0n        W@n        R # rG   )ÚlowerxÚloweryÚupperxÚuppery)rC   r—  r˜  r™  rš  s   &&&&&r    rˆ   ÚPDFFormXObject.__init__Ø  s   € àŒ¨&œk¸f´+ÐRXÆkr   c                ój   € \        V4      '       d   R P                  V4      p\        V4      V n        R# )r¬  N)r   rÃ  r.   râ  )rC   r»   s   &&r    ÚsetStreamListÚPDFFormXObject.setStreamListÜ  s#   € Ü��;Š;Ø—9‘9˜T“?ˆDÜ “oˆŽr   c                óÀ   € V P                   '       d    \        V P                   P                  4      # V P                  V P                  V P
                  V P                  .# )z4get the declared bounding box for the form as a list)ÚBBoxr-  rg  r—  r˜  r™  rš  rR   s   &r    rc  ÚPDFFormXObject.BBoxListá  s?   € à�9�9ˆ9Ü˜Ÿ	™	×*Ñ*Ó+Ð+à—K‘K §¡¨d¯k©k¸4¿;¹;ÐGÐGr   c                ó”  € V P                   ;'       g8    \        V P                  V P                  V P                  V P
                  .4      V n         V P                  ;'       g    \        . RO4      V n        V P                  '       g	   RV n        M\        R4      hV P                  '       gB   V P                  pV'       g   \        4       V n	        M\        4       pW#n        RVn        W0n	        V P                  '       gw   \!        4       pVP#                  4        V P$                  '       d   VP'                  4        MVP)                  4        V P*                  '       d   V P*                  Vn        W@n        V P.                  '       dC   \0        P2                  ;'       d    \4        \6        .;'       g    \6        .V P                  n        V P                  P:                  p\=        R4      VR&   \=        R4      VR&   ^VR&   V P                   VR	&   V P                  VR
&   V P                  VR&   V P                  P?                  V4      # )rß   Nz-annotations don't work in PDFFormXObjects yetzxobject form streamrù  r’  ÚFormr“  ÚFormTyper   ÚMatrixrò  )rß   r¿   r¿   rß   r¿   r¿   ) r   r3  r—  r˜  r™  rš  r¥  rð  rÆ   rñ  râ  rA  rd  r,  r$   rò  ró  rô  rõ  rö  r÷  rø  rù  r€   r   r=  r>  r?  r-  re  r  r3   )rC   r:   râ  r@  rÿ  Úsdicts   &&    r    r3   ÚPDFFormXObject.formatè  s¤  € Ø—I‘I×_Ð_¤¨4¯;©;¸¿¹ÀTÇ[Á[ÐRV×R]ÑR]Ð*^Ó!_ˆŒ	Ø—k‘k×AÐA¤XÒ.@Ó%AˆŒØ�{�{ˆ{ØˆD�Kô ÐLÓMÐMØ�}�}ˆ}Ø—[‘[ˆFßÜ *£�•ä“K�Ø"”	à 5�”Ø !”Ø�~�~ˆ~Ü-Ó/ˆIà× Ñ Ô"Ø�~�~ˆ~Ø×"Ñ"Õ$à×$Ñ$Ô&Ø�}�}ˆ}à$(§M¡M�	Ô!Ø$ŒNØ××ÐÜ$-×$4Ñ$4×$XÐ$X¼/Ì<Ð9X×$jÐ$jÔ]iÐ\jˆD�M‰MÔ!Ø—‘×(Ñ(ˆÜ 	Ó*ˆˆf‰Ü" 6›?ˆˆiÑØˆˆjÑØŸ	™	ˆˆf‰ØŸ+™+ˆˆh‰Ø!Ÿ^™^ˆˆkÑØ�}‰}×#Ñ# HÓ-Ð-r   )
rð  r   rñ  r¥  rò  r—  r˜  râ  r™  rš  )r   r   r   r   rø  rð  r   r¥  rñ  râ  rò  rõ  r€   rˆ   r�  rc  r3   r   rU   rV   s   @r    rb  rb  Ñ  sQ   ø‡ € ð IMÐL€HÐLˆvÐL˜ÐL˜vÐL¨ÐL°6¸IØ€IØ€KòYò&ò
H÷'.ð '.r   rb  c                   ó4   a € ] tR tRt o RtRR ltR tRtV tR# )ÚPDFPostScriptXObjecti  z,For embedding PD (e.g. tray commands) in PDFNc                ó   € Wn         R # rG   ©r,  )rC   r,  s   &&r    rˆ   ÚPDFPostScriptXObject.__init__  s   € ØŽr   c                ó¸   € \        4       pV P                  Vn        R Vn        VP                  p\	        R4      VR&   \	        R4      VR&   VP                  V4      # )zxobject postscript streamrù  r’  ÚPSr“  )rd  r,  r$   re  r  r3   )rC   r:   r@  r¦  s   &&  r    r3   ÚPDFPostScriptXObject.format  sO   € Ü‹KˆØ—L‘LˆŒ	Ø3ˆŒØ—‘ˆÜ 	Ó*ˆˆf‰Ü" 4›=ˆˆiÑØ�x‰x˜Ó!Ð!r   r«  rG   )	r   r   r   r   r[   rˆ   r3   r   rU   rV   s   @r    r©  r©    s   ø‡ € Ù2ô÷"ð "r   r©  ÚRGBÚ	DeviceRGBrÆ  Ú
DeviceGrayÚCMYKÚ
DeviceCMYKc                   óN   a € ] tR tRt o RR ltR tR tR tR tR t	R	 t
R
tV tR# )ÚPDFImageXObjecti   Nc                ó„  € Wn         ^V n        ^V n        ^V n        RV n        \
        P                  ;'       d    R;'       g    RV n        RV n        W0n	        Vf   R# \        VR4      '       d   V P                  V4       R# ^ RIpVP                  P                  V4      ^,          P                  4       p\!        V4      p VR9   d   V P#                  V4      '       g:   \
        P                  '       d   V P%                  V4       MV P'                  V4       VP)                  4        R#   TP)                  4        i ; i)é   r²  zß
            003B00 002700 002480 0E4940 114920 14B220 3CB650
            75FE88 17FF8C 175F14 1C07E2 3803C4 703182 F8EDFC
            B2BBC2 BB6F84 31BFC2 18EA3C 0E3E00 07FC00 03F800
            1E1800 1FF800>
            NÚjpeg_fh)r"  r   )z.jpgz.jpeg)r§   ÚwidthÚheightÚbitsPerComponentÚ
colorSpacer   r=  Ú_filtersÚstreamContentÚmaskr1   ÚloadImageFromSRCr¶   r˜  ÚsplitextÚlowerr   ÚloadImageFromJPEGÚloadImageFromA85ÚloadImageFromRawrµ   )rC   r§   ÚsourcerÀ  r¶   ÚextÚsrcs   &&&&   r    rˆ   ÚPDFImageXObject.__init__&  s   € ØŒ	ØˆŒ
ØˆŒØ !ˆÔØ&ˆŒÜ!×(Ñ(×?Ð?Ð-?×EÐEÀ2ˆŒðˆÔð Œ	àŠ>ÙÜ�V˜I×&Ò&Ø×!Ñ! &Ö)ó Ø—'‘'×"Ñ" 6Ó*¨1Õ-×3Ñ3Ó5ˆCÜ Ó'ˆCðØÐ/Ô/°D×4JÑ4JÈ3×4OÒ4OÜ ×'×'Ð'Ø×-Ñ-¨cÕ2à×-Ñ-¨cÔ2à—	‘	–ø�—	‘	•ús   ÃD- Ã"D- Ã8#D- Ä-D?c                óB  € . p\         P                  ! WR R7      pV'       g   V P                  V^ ,          4      # V Uu. uF  qDP                  4       NK  	  ppV^,          P	                  4       p\        V^,          4      \        V^,          4      uV n        V n        RRRRRR/V^,          ,          V n        ^V n	        RV n
        V'       d   V P                  V^ ,          4       MV P                  R8X  d   R	V n        R
P                  V^R 4      V n        R	# u upi )T©ÚIMGÚ
detectJpegú/RGBr±  ú/Gr²  ú/CMYKr´  r¦  Nr"  ©r"  r  rE  )r   ÚmakeA85ImagerÁ  r<  r  r8   rº  r»  r½  r¼  r¾  Ú_checkTransparencyrÀ  rÃ  r¿  )rC   rÇ  rÍ  Ú	imagedatar˜  Úwordss   &&    r    rÅ  Ú PDFImageXObject.loadImageFromA85G  sì   € ØˆÜ×)Ò)¨&ÀDÔIˆ	ßØ×(Ñ(¨¨Q­Ó0Ð0Ù(1Ó2©	 1—W‘W–Y©	ˆ	Ð2Ø˜!•×"Ñ"Ó$ˆÜ#& u¨Q¥x£=´°U¸1µX³ÐˆŒ
�D”KØ! +¨t°LÀ'È,ÐWÐX]Ð^_ÕX`ÕaˆŒØ !ˆÔØ5ˆŒß�×'Ñ'¨¨A­Õ/Ø�Y‰Y˜Ô¨D ¤	ØŸW™W Y¨q° _Ó5ˆÖùò 3s   ¿Dc                ó  €   \         P                  ! V4      pVP                  ^ 4       T^ ,          T^,          uT n        T n        ^T n        T^,          ^8X  d	   RT n        M$T^,          ^8X  d	   RT n        MRT n        ^T n        TP                  4       T n	        \        P                  '       d#   \        T P                  4      T n	        RT n        MRT n        RT n        R#   TP                  ^ 4       i ; i    R# ; i)	r¿   Fr²  r±  r´  NT)r"  Ú	DCTDecode)rÙ  )r   ÚreadJPEGInfoÚseekrº  r»  r¼  r½  Ú_dotransr¡  r¿  r   r=  r   r¾  rÀ  )rC   Ú	imageFilerS   s   && r    rÄ  Ú!PDFImageXObject.loadImageFromJPEGV  sÛ   € ð	ð"Ü×,Ò,¨YÓ7�à—‘˜qÔ!ð #' q¥'¨4°­7ÐˆŒ
�D”KØ !ˆÔØ��7�aŒ<Ø*ˆD�OØ�!�W˜Œ\Ø)ˆD�Oà*ˆDŒOØˆDŒMØ&Ÿ^™^Ó-ˆÔÜ××ÐÜ!2°4×3EÑ3EÓ!FˆDÔØ7ˆD�Mà(ˆDŒMØˆŒ	Ùøð' —‘˜qÕ!ûð	Úús   ƒC% ™C; Ã%C8Ã8C; Ã;D c                óú  € . p\         P                  ! WR R7      pV'       g   V P                  V^ ,          4      # V^,          P                  4       p\	        V^,          4      V n        \	        V^,          4      V n        RRRRRR/V^,          ,          V n        ^V n        RV n	        V'       d   V P                  V^ ,          4       MV P                  R8X  d   R	V n        R
P                  V^R 4      V n        R	# )TrÌ  rÏ  r±  rÐ  r²  rÑ  r´  r¦  Nr   ©r  rE  )r   ÚmakeRawImagerÁ  r  r8   rº  r»  r½  r¼  r¾  rÔ  rÀ  rÃ  r¿  )rC   rÇ  rÍ  rÕ  rÖ  s   &&   r    rÆ  Ú PDFImageXObject.loadImageFromRawp  sÍ   € ØˆÜ×)Ò)¨&ÀDÔIˆ	ßØ×(Ñ(¨¨Q­Ó0Ð0Ø˜!•×"Ñ"Ó$ˆÜ˜˜q�“]ˆŒ
Ü˜% �(“mˆŒØ! +¨t°LÀ'È,ÐWÐX]Ð^_ÕX`ÕaˆŒØ !ˆÔØ&ˆŒß�×'Ñ'¨¨A­Õ/Ø�Y‰Y˜Ô¨D ¤	Ø ŸX™X i°°" oÓ6ˆÖr   c                ó’  € V P                   R 8X  dÇ   VP                  '       d[   RV n         \        \        VP                  P	                  4       4      VP                  RR7      V n        ^ ^.V P
                  n        R# VP                  4       pV'       d:   V^ ,          V^ ,          V^,          V^,          V^,          V^,          3V n         R# RV n         R# \        V P                   R4      '       dT   V P                   P                  4       pV^ ,          V^ ,          V^,          V^,          V^,          V^,          3V n         R# R# )r¦  N)rÀ  Úrgb)
rÀ  Ú_dataAr¶  r
   Ú
getRGBDataÚ_smaskÚ_decodeÚgetTransparentr1   rä  )rC   ÚimÚtcr¢  s   &&  r    rÔ  Ú"PDFImageXObject._checkTransparency  sí   € Ø�9‰9�fÔØ�y�yˆyØ �”	Ü-¬i¸¿	¹	×8LÑ8LÓ8NÓ.OÐPR×PYÑPYÐ_cÔd�”Ø'(¨ e�—‘Ö#à×&Ñ&Ó(�ßØ!# A¥¨¨1­¨r°!­u°b¸µe¸RÀ½UÀBÀqÅEÐ J�D–Ià $�D–IÜ�T—Y‘Y˜u×%Ò%Ø—	‘	—‘“ˆAØ˜!�˜Q˜q�T ! A¥$ q¨¥t¨A¨a­D°°1µÐ5ˆDŽIñ &r   c                óÒ  € VP                  4       pV'       d   V P                  V4       R# VP                  4       w  V n        V n        VP                  4       p\        P                  ! V4      V n        \        P                  '       d#   \        V P                  4      V n        RV n        MRV n        \        VP                  ,          V n        ^V n        V P#                  V4       R# )z%Extracts the stream, width and heightNrÒ  rà  )r¹  rÄ  ÚgetSizerº  r»  ræ  r  r  r¿  r   r=  r   r¾  Ú_mode2CSrÄ  r½  r¼  rÔ  )rC   rê  Úfpr›   s   &&  r    rÁ  Ú PDFImageXObject.loadImageFromSRC�  s¡   € à�Z‰Z‹\ˆßØ×"Ñ" 2Ö&à&(§j¡j£lÑ#ˆDŒJ˜œØ—-‘-“/ˆCä!%§¢¨sÓ!3ˆDÔÜ××ÐÜ%6°t×7IÑ7IÓ%J�Ô"Ø =�•à .�”Ü% b§g¡gÕ.ˆDŒOØ$%ˆDÔ!Ø×#Ñ# BÖ'r   c                óþ  € \        V P                  R 7      pVP                  p\        R4      VR&   \        R4      VR&   V P                  VR&   V P
                  VR&   V P                  VR&   \        V P                  4      VR&   V P                  R	8X  d%   \        V R
^ 4      '       d   \        . RO4      VR&   M+\        V RR4      '       d   \        V P                  4      VR&   \        \        \        V P                  4      4      VR&   \        V P                  4      VR&   V P                  '       d   \        V P                  4      VR&   \        V RR4      '       d   V P                  VR&   VP!                  V4      # )r«  rù  r’  ÚImager“  ÚWidthÚHeightÚBitsPerComponentr~  r´  rÜ  ÚDecoderè  Nr0  r1  ÚMaskÚsmaskÚSMask)rß   r¿   rß   r¿   rß   r¿   rß   r¿   )rd  r¿  re  r  rº  r»  r¼  r½  r­   r3  rè  rð  r¾  rA  rÀ  rù  r3   )rC   r:   r@  rf  s   &&  r    r3   ÚPDFImageXObject.format¢  s0  € Ü × 2Ñ 2Ô3ˆØ�|‰|ˆÜ˜yÓ)ˆˆV‰Ü! 'Ó*ˆˆY‰ØŸ
™
ˆˆW‰ØŸ™ˆˆX‰Ø#'×#8Ñ#8ˆÐÑ Ü$ T§_¡_Ó5ˆˆ\ÑØ�?‰?˜LÔ(¬W°T¸*ÀQ×-GÒ-GÜ%Ò&7Ó8ˆD�ŠNÜ�T˜) D×)Ò)Ü% d§l¡lÓ3ˆD�‰NÜ!¤#¤g¨d¯m©mÓ"<Ó=ˆˆX‰Ü˜T×/Ñ/Ó0ˆˆX‰Ø�9�9ˆ9¤X¨d¯i©iÓ%8�d˜6‘lÜ�4˜ ×%Ò%°t·z±z t¨G¡}Ø�x‰x˜Ó!Ð!r   )
rÜ  r¾  rç  r¼  r½  r»  rÀ  r§   r¿  rº  rÿ  )r   r   r   r   rˆ   rÅ  rÄ  rÆ  rÔ  rÁ  r3   r   rU   rV   s   @r    r¶  r¶     s.   ø‡ € ôòB6òò47ò6ò (÷&"ð "r   r¶  c                   ó2   a € ] tR tRt o R tR tR tRtV tR# )r  iµ  c                óü   € ^ RI Hp \        W4      '       g'   \        RV P                  P
                  ,          4      hVP                  '       g'   \        RV P                  P
                  ,          4      hWn        R# )r¿   )Ú	CMYKColorz%s needs a CMYKColor argumentz-%s needs a CMYKColor argument with a spotNameN)Úreportlab.lib.colorsrþ  r*   rÆ   r¯   r   rú   r  )rC   r  rþ  s   && r    rˆ   ÚPDFSeparationCMYKColor.__init__¶  sT   € Ý2Ü˜$×)Ò)ÜÐ<¸t¿~¹~×?VÑ?VÕVÓWÐWØ——�ÜÐLÈtÏ~É~×OfÑOfÕfÓgÐgØŽ	r   c                ó´  € . P                   p\        V P                  P                  4       4       F„  w  r#\        V4      pV^8X  d5   VR8X  d   V! R4       V! R4       K0  V! \	        V4      4       V! R4       KK  V^ 8X  d
   V! R4       M!V! R4       V! \	        V4      4       V! R4       V! R4       K†  	  RRP                  VP                  4      ,          # )	zhcreate the postscript code for the tint transfer function
effectively this is tint*c, tint*y, ... tint*kç        rè  z0.0ÚmulÚdupÚexchz{%s}r«  )r0  rÀ  r  r7   r+   rÃ  Ú__self__)rC   rw  rÇ  rS  s   &   r    Ú_makeFuncPSÚ"PDFSeparationCMYKColor._makeFuncPS¾  s¨   € ð �I‰IˆÜ˜TŸY™YŸ^™^Ó-Ö.‰CˆAÜ�A‹hˆAØ�!ŒtØ�c”6Ù�e”HÙ�e–Há”c˜!“f”IÙ�e–Hà�a”4Ù�e•Há�e”HÙ”c˜!“f”IÙ�e”HÙ�&–	ñ! /ð" ˜Ÿ™ !§*¡*Ó-Õ.Ð.r   c                ó   € \        \        R 4      \        V P                  P                  4      \        R4      \	        \        \        ^\        R4      \        R4      R7      4      V P                  4       RR7      34      # )Ú
Separationr´  )ÚFunctionTypeÚDomainÚRangeN)re  r,  r-  )r¿   rß   )r¿   rß   r¿   rß   r¿   rß   r¿   rß   )rK  r  r  rú   rd  r}   rf  r  rR   s   &r    r  ÚPDFSeparationCMYKColor.valueÕ  sr   € ÜÜ˜LÓ)Ü˜DŸI™I×.Ñ.Ó/Ü˜LÓ)ÜÜ#0´Ø)*Ü#2°5Ó#9Ü"1Ð2CÓ"Dô2ó $ð
 !%× 0Ñ 0Ó 2Ø $ôð	 ó ð 	r   )r  N)	r   r   r   r   rˆ   r  r  r   rU   rV   s   @r    r  r  µ  s   ø‡ € òò/÷.ð r   r  c                   óP   a € ] tR tRt o Rt. tRt]R	,           tR tR t	R t
RtV tR# )
ÚPDFFunctioniå  z"superclass for all function types.c                ó<  € / pV P                    F	  w  r4WBV&   K  	  VP                  V4       V P                   F  pW29  g   K  \        R V,          4      h	  V P                  pVP                  4        F  pW59  g   K  \        RV,          4      h	  \        V4      # ©zkeyword argument %s missingz!bad annotation dictionary name %s)r±  ri   r¬  rÆ   r­  r’   r}   )rC   r®  r¨  r§   r¯  r­  s   &,    r    ÚFunctionDictÚPDFFunction.FunctionDictê  sŒ   € ØˆØŸ-œ-‰JˆTØˆd‹Gñ (à	�‰�ŒØ—M”MˆDØŽ}Ü Ð!>ÀÕ!EÓFÐFñ "ð —N‘Nˆ	Ø—F‘F–HˆDØÖ$Ü Ð!DÀtÕ!KÓLÐLñ ô ˜QÓÐr   c                ó   € \        R 4      h©z?Dict undefined for virtual superclass PDFShading, must overloadr³  rH   s   &&r    r´  ÚPDFFunction.Dictø  ó   € ÜÐZÓ[Ð[r   c                óF   € V P                  V4      pVP                  V4      # rG   r·  r¸  s   && r    r3   ÚPDFFunction.formatý  ó   € Ø�I‰I�hÓˆØ�x‰x˜Ó!Ð!r   r   N)r  r  )r  )r   r   r   r   r[   r±  r¬  r­  r  r´  r3   r   rU   rV   s   @r    r  r  å  s1   ø‡ € Ù,Ø€HØ)€HØ˜Õ#€Iò ò\÷
"ð "r   r  c                   ó°   a € ] tR tRt o ]P
                  R]! R4      3.,           t]P                  R,           t]P                  R	,           tR t	R t
RtV tR# )
ÚPDFExponentialFunctioni	  r  c                ó6   € Wn         W n        W0n        W@n        R # rG   ©ÚC0ÚC1ÚNrÊ  )rC   r   r!  r"  r®  s   &&&&,r    rˆ   ÚPDFExponentialFunction.__init__	  s   € ØŒØŒØŒØŽr   c                óè   € / pVP                  V P                  4       ^VR&   \        V P                  4      VR&   \        V P                  4      VR&   V P
                  VR&   V P                  ! R/ VB # )r¾  r  r   r!  r"  r   )ri   rÊ  rK  r   r!  r"  r  ©rC   r:   r¨  s   && r    r´  ÚPDFExponentialFunction.Dict
	  sf   € ØˆØ	�‰�—‘ÔØˆˆ.ÑÜ! $§'¡'Ó*ˆˆ$‰Ü! $§'¡'Ó*ˆˆ$‰Ø—‘ˆˆ#‰Ø× Ò Ñ% 1Ñ%Ð%r   r  N)r  g      ð?)r"  )r   r!  r"  )r   r   r   r   r  r±  rK  r¬  r­  rˆ   r´  r   rU   rV   s   @r    r  r  	  sR   ø‡ € Ø×#Ñ#¨±/À*Ó2MÐ'NÐ&OÕO€HØ×#Ñ# fÕ,€HØ×%Ñ%Ð(9Õ9€Iò÷
&ð &r   r  c                   óx   a € ] tR tRt o ]P
                  R,           t]P                  R,           tR tR tRt	V t
R# )ÚPDFStitchingFunctioni	  c                ó6   € Wn         W n        W0n        W@n        R # rG   )Ú	FunctionsÚBoundsÚEncoderÊ  )rC   r*  r+  r,  r®  s   &&&&,r    rˆ   ÚPDFStitchingFunction.__init__	  s   € Ø"ŒØŒØŒØŽr   c                ó@  € / pVP                  V P                  4       ^VR&   \        V P                   Uu. uF  q1P	                  V4      NK  	  up4      VR&   \        V P
                  4      VR&   \        V P                  4      VR&   V P                  ! R/ VB # u upi )é   r  r*  r+  r,  r   )ri   rÊ  r3  r*  r2   r+  r,  r  )rC   r:   r¨  r-   s   &&  r    r´  ÚPDFStitchingFunction.Dict	  s‰   € ØˆØ	�‰�—‘ÔØˆˆ.ÑÜ!À$Ç.Â.Ó"QÁ.¸Q×#5Ñ#5°aÖ#8Á.Ñ"QÓRˆˆ+‰Ü˜tŸ{™{Ó+ˆˆ(‰Ü˜tŸ{™{Ó+ˆˆ(‰Ø× Ò Ñ% 1Ñ%Ð%ùò #Rs   ¶B)r+  r,  r*  rÊ  N)r*  r+  r,  )r   r   r   r   r  r¬  r­  rˆ   r´  r   rU   rV   s   @r    r(  r(  	  s6   ø‡ € Ø×#Ñ#Ð&GÕG€HØ×%Ñ%Ð(IÕI€Iò÷
&ð &r   r(  c                   óL   a € ] tR tRt o RtRt]R	,           tR tR tR t	Rt
V tR# )
Ú
PDFShadingi$	  z!superclass for all shading types.c                ó
  € / pVP                  V4       V P                   F  pW29  g   K  \        R V,          4      h	  V P                  pVP	                  4        F  pW49  g   K  \        RV,          4      h	  \        V4      # r  )ri   r¬  rÆ   r­  r’   r}   )rC   r®  r¨  r§   r­  s   &,   r    ÚShadingDictÚPDFShading.ShadingDict(	  su   € ØˆØ	�‰�ŒØ—M”MˆDØŽ}Ü Ð!>ÀÕ!EÓFÐFñ "ð —N‘Nˆ	Ø—F‘F–HˆDØÖ$Ü Ð!DÀtÕ!KÓLÐLñ ô ˜QÓÐr   c                ó   € \        R 4      hr  r³  rH   s   &&r    r´  ÚPDFShading.Dict4	  r  r   c                óF   € V P                  V4      pVP                  V4      # rG   r·  r¸  s   && r    r3   ÚPDFShading.format9	  r  r   r   N)ÚShadingTyper~  )Ú
Backgroundr   Ú	AntiAlias)r   r   r   r   r[   r¬  r­  r4  r´  r3   r   rU   rV   s   @r    r2  r2  $	  s-   ø‡ € Ù+Ø,€HØÐ<Õ<€Iò
 ò\÷
"ð "r   r2  c                   óx   a € ] tR tRt o ]P
                  R,           t]P                  R,           tR tR tRt	V t
R# )ÚPDFFunctionShadingi=	  c                ó*   € Wn         W n        W0n        R # rG   )ÚFunctionr~  rÊ  )rC   r@  r~  r®  s   &&&,r    rˆ   ÚPDFFunctionShading.__init__@	  s   € Ø ŒØ$ŒØŽr   c                óÖ   € / pVP                  V P                  4       ^VR&   \        V P                  4      VR&   VP	                  V P
                  4      VR&   V P                  ! R/ VB # )rß   r:  r~  r@  r   )ri   rÊ  r  r~  r2   r@  r4  r%  s   && r    r´  ÚPDFFunctionShading.DictD	  s_   € ØˆØ	�‰�—‘ÔØˆˆ-ÑÜ! $§/¡/Ó2ˆˆ,‰Ø ×*Ñ*¨4¯=©=Ó9ˆˆ*‰Ø×ÒÑ$ !Ñ$Ð$r   )r~  r@  rÊ  N)r@  )r  r¥  r@  ©r   r   r   r   r2  r¬  r­  rˆ   r´  r   rU   rV   s   @r    r>  r>  =	  s5   ø‡ € Ø×"Ñ" ]Õ2€HØ×$Ñ$Ð'GÕG€Iò÷%ð %r   r>  c                   óx   a € ] tR tRt o ]P
                  R,           t]P                  R,           tR tR tRt	V t
R# )ÚPDFAxialShadingiL	  c                ó<   € WW43V n         WPn        W`n        Wpn        R # rG   ©ÚCoordsr@  r~  rÊ  )rC   Úx0Úy0Úx1Úy1r@  r~  r®  s   &&&&&&&,r    rˆ   ÚPDFAxialShading.__init__P	  s   € Ø˜rÐ&ˆŒØ ŒØ$ŒØŽr   c                ó  € / pVP                  V P                  4       ^VR&   \        V P                  4      VR&   \	        V P
                  4      VR&   VP                  V P                  4      VR&   V P                  ! R/ VB # )r¾  r:  r~  rI  r@  r   ©	ri   rÊ  r  r~  rK  rI  r2   r@  r4  r%  s   && r    r´  ÚPDFAxialShading.DictU	  óq   € ØˆØ	�‰�—‘ÔØˆˆ-ÑÜ! $§/¡/Ó2ˆˆ,‰Ü% d§k¡kÓ2ˆˆ(‰Ø ×*Ñ*¨4¯=©=Ó9ˆˆ*‰Ø×ÒÑ$ !Ñ$Ð$r   ©r~  rI  r@  rÊ  N©rI  r@  ©rI  r  r@  ÚExtendrD  rV   s   @r    rF  rF  L	  ó:   ø‡ € Ø×"Ñ"Ð%;Õ;€HØ×$Ñ$ð (6õ 6€Iò÷
%ð %r   rF  c                   óx   a € ] tR tRt o ]P
                  R,           t]P                  R,           tR tR tRt	V t
R# )ÚPDFRadialShadingi^	  c	                ó>   € WW4WV3V n         Wpn        W€n        W�n        R # rG   rH  )
rC   rJ  rK  Úr0rL  rM  Úr1r@  r~  r®  s
   &&&&&&&&&,r    rˆ   ÚPDFRadialShading.__init__b	  s   € Ø˜r rÐ.ˆŒØ ŒØ$ŒØŽr   c                ó  € / pVP                  V P                  4       ^VR&   \        V P                  4      VR&   \	        V P
                  4      VR&   VP                  V P                  4      VR&   V P                  ! R/ VB # )r/  r:  r~  rI  r@  r   rP  r%  s   && r    r´  ÚPDFRadialShading.Dictg	  rR  r   rS  NrT  rU  rD  rV   s   @r    rY  rY  ^	  rW  r   rY  Ú__main__z-There is no script interpretation for pdfdoc.)rß   r/  )rß   é   )r¿   rG   )„Ú__version__r[   r‰  r±  r  Úcollectionsr   r.  r   Ú	reportlabr   r·   r   r   r   r   r	   r
   r   r   r   r   Úreportlab.lib.rl_accelr   r   r   r   r   Úhashlibr   Úsysr   Ú	Exceptionr   r"   r#   r$   r%   r&   r  rf  r‘   r.   r3   r?   ÚformNamerA   r0   rZ   r^   ÚPDFtrueÚPDFfalseÚPDFnullrž   r“  ÚreÚcompiler–  rš  r   ru   Úchrr  r}   rî  rö  rø  r  r  r?  r!  r>  rd  rA  r;  r3  rK  r?  rÛ   r=  rj  rB  rD  rŽ  rp   rs   rÙ  r  r  r  r-  r1  rw   r3  rx   r  r  r{   r£  rÇ  rÐ  rÛ  ræ  rè  rð  rœ  rÒ  r  r  r#  r'  r1  r,  r5  r9  ró  rŒ  r“  rb  r©  rï  r¶  r  r  r  r(  r2  r>  rF  rY  r   r¸   r   r   r    Ú<module>rp     s]  ðð €ð	€÷ Ó Ý #Ý &Ý ÷ P÷  P÷  Pß ZÓ ZÝ (Ý å ô	ˆyô 	ð &Ð ð €ð €ð €
ð 	€ð Ð ÙØôÐ ò=ô'ò4'ð €÷ñ ÷	ñ 	ôˆyô ô
`(�)ô `(ðF €Ø€Ø
€ô%ˆiô %òó 
Ø—
’
˜7Ó#€Øò	òôG*�	ô G*ñR ˜“I¡ T£ô ô+ �Iô + ÷Zñ ò/ô4˜=ô 4ôÐ%9ô ÷((ñ (ñ (Ó)€÷	'ñ 	'ñ .Ó/€ô(2�	ô (2ôT	ðÐ ô
!ˆyô !ô.�hô ô˜	ô ôk˜ô kô&ˆiô &ô<#- )ô #-ôJ&˜Yô &ô �ô ô6'ˆ)ô 'ô:3�ô 3ôj ˆzô  ô0T4ˆjô T4ôn	˜Yô 	ô&1�Jô &1ôPH�:ô HòV
ð€ô$�9ô $ô#˜ô #ô~#�)ô ~#ô@ð  ;Ð ô'ˆiô 'ôT&"�ô &"ôP(˜ô (ô (�Zô (ô6((˜*ô ((ôTÐ(ô ò0ô#�9ô #ô8ˆiô 8ô(-�)ô -ô`
#˜	ô 
#ô#˜	ô #ôÐ*ô ô#˜ô #ôÐ,ô ô#˜ô #ôÐ,ô ô#˜ô #ô1$˜Iô 1$ôr#�9ô #ô4�lô ôF>.�Yô >.ô@"˜9ô "ð �˜S ¨v°lÐ	C€ôS"�iô S"÷j.ñ .ô`"�)ô "ô8&˜[ô &ô$&˜;ô &ô""�ô "ô2%˜ô %ô%�jô %ô$%�zô %ð$ ˆZÔÙ	Ð
9Ö:ñ r   