+
    	iW                         R t ^ RIt^ RIt^ RIt^ RIHt ^ RIHt ^ RIH	t	H
t
 R;ttR 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# )z
A low-level PDF generator.

N)BOM_UTF16_BE)md5)ceillogz0.12.1c                   \        V \        4      '       d   V # \        V \        4      '       d\   V P                  4       '       d$   \	        \        V 4      4      P                  R4      # V R P                  R4      P                  R4      # \        V \        4      '       d   V P                  # \	        V 4      P                  R4      # )zConvert item to bytes.asciif0)

isinstancebytesfloat
is_integerstrintencoderstripObjectdata)items   &T/Users/agent/.openclaw/workspace/venv/lib/python3.14/site-packages/pydyf/__init__.py	_to_bytesr      s    $	D%	 	 ??s4y>((111X%%c*11'::	D&	!	!yyt9G$$    c                   j   a  ] tR t^t o RtR t]R 4       t]R 4       t]R 4       t	]R 4       t
RtV tR# )	r   zBase class for PDF objects.c                >    R V n         ^ V n        ^ V n        RV n        R # )Nn)numberoffset
generationfreeselfs   &r   __init__Object.__init__    s      	r   c                    V P                    RV P                   R2P                  4       pWP                  ,           R,           # )z%Indirect representation of an object. z obj
s   
endobj)r   r   r   r   )r    headers   & r   indirectObject.indirect+   s:     KK=$//!2&9@@B		!K//r   c                V    V P                    RV P                   R2P                  4       # )zObject identifier.r$   z R)r   r   r   r   s   &r   	referenceObject.reference1   s)     ++a03::<<r   c                    \        4       h)z@Data contained in the object. Shall be defined in each subclass.)NotImplementedErrorr   s   &r   r   Object.data6   s     "##r   c                ^    V P                   '       * ;'       d    \        V \        4      '       * # )z7Whether the object can be included in an object stream.)r   r
   Streamr   s   &r   compressibleObject.compressible;   s#     ??"CC:dF+C'CCr   )r   r   r   r   N)__name__
__module____qualname____firstlineno____doc__r!   propertyr&   r)   r   r0   __static_attributes____classdictcell____classdict__s   @r   r   r      s_     %	 0 0
 = = $ $ D Dr   r   c                   >   a  ] tR t^At o RtRR lt]R 4       tRtV t	R# )
DictionaryzPDF Dictionary object.Nc                n    \         P                  V 4       \        P                  Y;'       g    / 4       R # N)r   r!   dict)r    valuess   &&r   r!   Dictionary.__init__C   s     dLLb)r   c                    V P                  4        UUu. uF.  w  rR \        V4      ,           R,           \        V4      ,           NK0  	  pppRRP                  V4      ,           R,           # u uppi )   /       <<r      >>)itemsr   join)r    keyvalueresults   &   r   r   Dictionary.dataG   sg     #jjl,*
 9S>!D(9U+;;;* 	 , sxx''%//,s   4A* r?   
r2   r3   r4   r5   r6   r!   r7   r   r8   r9   r:   s   @r   r=   r=   A   s!      * 0 0r   r=   c                   Z  a a ] tR t^Ot oRtR-V 3R lltR.R ltR tR/R ltR t	R t
R tR	 tR
 tR tR tR tR/R ltR/R ltR/R ltR tR tR tR tR tR tR tR tR/R ltR/R ltR/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+ 4       t/R,t0Vt1V ;t2# )0r/   zPDF Stream object.c                t   < \         SV `  4        T;'       g    . V n        T;'       g    / V n        W0n        R # r?   )superr!   streamextracompress)r    rS   rT   rU   	__class__s   &&&&r   r!   Stream.__init__Q   s-    ll[[b
 r   c                    V P                   P                  RV 24       Vf   V P                   P                  R4       R# V P                   P                  V4       V P                   P                  R4       R# )zBegin marked-content sequence./Ns   BMCs   BDCrS   append)r    tagproperty_lists   &&&r   begin_marked_contentStream.begin_marked_contentZ   sV    Qse9% KKv&KK}-KKv&r   c                <    V P                   P                  R4       R# )zBegin a text object.s   BTNrZ   r   s   &r   
begin_textStream.begin_textc       5!r   c                \    V P                   P                  V'       d	   R4       R# R4       R# )zModify current clipping path by intersecting it with current path.

Use the nonzero winding number rule to determine which regions lie
inside the clipping path by default.

Use the even-odd rule if ``even_odd`` set to ``True``.

s   W*   WNrZ   r    even_odds   &&r   clipStream.clipg   s     	H57$7r   c                <    V P                   P                  R4       R# )zuClose current subpath.

Append a straight line segment from the current point to the starting
point of the subpath.

   hNrZ   r   s   &r   closeStream.closer   s     	4 r   c                    V P                   P                  RP                  \        V4      \        V4      \        V4      \        V4      \        V4      \        V4      R34      4       R# )u   Add cubic Bézier curve to current path.

The curve shall extend from ``(x3, y3)`` using ``(x1, y1)`` and ``(x2,
y2)`` as the Bézier control points.

rE      cNrS   r[   rI   r   )r    x1y1x2y2x3y3s   &&&&&&&r   curve_toStream.curve_to{   sO     	499bM9R=bM9R=bM9R=$&0 1 	2r   c           
         V P                   P                  RP                  \        V4      \        V4      \        V4      \        V4      R34      4       R# )u   Add cubic Bézier curve to current path

The curve shall extend to ``(x3, y3)`` using the current point and
``(x2, y2)`` as the Bézier control points.

rE      vNrp   )r    rs   rt   ru   rv   s   &&&&&r   curve_start_toStream.curve_start_to   B     	499bM9R=bM9R=$&0 1 	2r   c           
         V P                   P                  RP                  \        V4      \        V4      \        V4      \        V4      R34      4       R# )u   Add cubic Bézier curve to current path

The curve shall extend to ``(x3, y3)`` using `(x1, y1)`` and ``(x3,
y3)`` as the Bézier control points.

rE      yNrp   )r    rq   rr   ru   rv   s   &&&&&r   curve_end_toStream.curve_end_to   r}   r   c                j    V P                   P                  R\        V4      ,           R,           4       R# )zDraw object given by reference.rD   s    DoNrS   r[   r   )r    r)   s   &&r   draw_x_objectStream.draw_x_object   s#    4)I"66?@r   c                <    V P                   P                  R4       R# )z%End path without filling or stroking.   nNrZ   r   s   &r   end
Stream.end       4 r   c                <    V P                   P                  R4       R# )zEnd marked-content sequence.s   EMCNrZ   r   s   &r   end_marked_contentStream.end_marked_content   s    6"r   c                <    V P                   P                  R4       R# )zEnd text object.s   ETNrZ   r   s   &r   end_textStream.end_text   rc   r   c                \    V P                   P                  V'       d	   R4       R# R4       R# )z^Fill path using nonzero winding rule.

Use even-odd rule if ``even_odd`` is set to ``True``.

s   f*   fNrZ   rf   s   &&r   fillStream.fill        	H57$7r   c                \    V P                   P                  V'       d	   R4       R# R4       R# )ziFill and stroke path usign nonzero winding rule.

Use even-odd rule if ``even_odd`` is set to ``True``.

s   B*   BNrZ   rf   s   &&r   fill_and_strokeStream.fill_and_stroke   r   r   c                \    V P                   P                  V'       d	   R4       R# R4       R# )zpFill, stroke and close path using nonzero winding rule.

Use even-odd rule if ``even_odd`` is set to ``True``.

s   b*   bNrZ   rf   s   &&r   fill_stroke_and_closeStream.fill_stroke_and_close   r   r   c                   V P                   '       d   \        P                   ! V4      MTp\        P                  ! V4      R,           pV P                  P                  RP                  RR\        V4      R\        V4      R\        V4      RR\        V4      ,           R	V P                   '       d   R
MRR\        \        V4      4      RVR34      4       R# )an  Add an inline image.

:param width: The width of the image.
:type width: :obj:`int`
:param height: The height of the image.
:type height: :obj:`int`
:param colorspace: The color space of the image, f.e. RGB, Gray.
:type colorspace: :obj:`str`
:param bpc: The bits per component. 1 for BW, 8 for grayscale.
:type bpc: :obj:`int`
:param raw_data: The raw pixel data.

s   ~>rE   s   BIs   /Ws   /Hs   /BPCs   /CSs   /Devices   /Fs
   [/A85 /Fl]s   /A85s   /Ls   IDs   EIN)	rU   zlibbase64	a85encoderS   r[   rI   r   len)r    widthheightcolor_spacebpcraw_datar   a85_datas   &&&&&&  r   inline_imageStream.inline_image   s     +/---t}}X&X##D)E14999U#9V$Ys^;//!]]]M9S]+&
  	r   c                    V P                   P                  RP                  \        V4      \        V4      R34      4       R# )z0Add line from current point to point ``(x, y)``.rE      lNrp   r    xys   &&&r   line_toStream.line_to   ,    499ilIaL$%GHIr   c                    V P                   P                  RP                  \        V4      \        V4      R34      4       R# )z8Begin new subpath by moving current point to ``(x, y)``.rE      mNrp   r   s   &&&r   move_toStream.move_to   r   r   c                    V P                   P                  RP                  \        V4      \        V4      R34      4       R# )zAMove text to next line at ``(x, y)`` distance from previous line.rE   s   TdNrp   r   s   &&&r   move_text_toStream.move_text_to   s,    499ilIaL%%HIJr   c                j    V P                   P                  R\        V4      ,           R,           4       R# )z@Paint shape and color shading using shading dictionary ``name``.rD   s    shNr   )r    names   &&r   paint_shadingStream.paint_shading   s"    4)D/1F:;r   c                <    V P                   P                  R4       R# )zRestore graphic state.   QNrZ   r   s   &r   	pop_stateStream.pop_state   r   r   c                <    V P                   P                  R4       R# )zSave graphic state.   qNrZ   r   s   &r   
push_stateStream.push_state   r   r   c           
         V P                   P                  RP                  \        V4      \        V4      \        V4      \        V4      R34      4       R# )z~Add rectangle to current path as complete subpath.

``(x, y)`` is the lower-left corner and width and height the
dimensions.

rE   s   reNrp   )r    r   r   r   r   s   &&&&&r   	rectangleStream.rectangle   sD     	499aL)A,ei/&8 9 	:r   c           	         V P                   P                  RP                  \        V4      \        V4      \        V4      V'       d   RMR34      4       R# )z|Set RGB color for nonstroking operations.

Set RGB color for stroking operations instead if ``stroke`` is set to
``True``.

rE   s   RGs   rgNrp   )r    rgbstrokes   &&&&&r   set_color_rgbStream.set_color_rgb  s@     	499aL)A,	!U%&* + 	,r   c                    V P                   P                  R\        V4      ,           R,           V'       d   RMR,           4       R# )zgSet the nonstroking color space.

If stroke is set to ``True``, set the stroking color space instead.

rD   rE   s   CSs   csNr   )r    spacer   s   &&&r   set_color_spaceStream.set_color_space  s2     	9U##d*ve5I	Kr   c                    V'       d   . VOR\        V4      ,           N5pV P                  P                  RP                  R V 4       4      R,           V'       d   RMR,           4       R# )z{Set special color for nonstroking operations.

Set special color for stroking operation if ``stroke`` is set to ``True``.

rD   rE   c              3   8   "   T F  p\        V4      x  K  	  R # 5ir?   r   ).0operands   & r   	<genexpr>+Stream.set_color_special.<locals>.<genexpr>$  s     AWi((   s   SCNs   scnN)r   rS   r[   rI   )r    r   r   operandss   &&&*r   set_color_specialStream.set_color_special  sT     ::4)D/#9:HIIAAADHV6+	,r   c                    V P                   P                  RP                  \        V4      P                  \        V4      R34      4       R# )zSet dash line pattern.

:param dash_array: Dash pattern.
:type dash_array: :term:`iterable`
:param dash_phase: Start of dash phase.
:type dash_phase: :obj:`int`

rE      dN)rS   r[   rI   Arrayr   r   )r    
dash_array
dash_phases   &&&r   set_dashStream.set_dash'  s@     	499*""Ij$94&A B 	Cr   c                    V P                   P                  R\        V4      ,           R,           \        V4      ,           R,           4       R# )zSet font name and size.rD   rE   s    TfNr   )r    fontsizes   &&&r   set_font_sizeStream.set_font_size3  s4    9T?"T)IdO;fD	Fr   c                \    V P                   P                  \        V4      R,           4       R# )zSet text rendering mode.s    TrNr   )r    modes   &&r   set_text_renderingStream.set_text_rendering8  s    9T?V34r   c                \    V P                   P                  \        V4      R,           4       R# )zSet text rise.s    TsNr   )r    r   s   &&r   set_text_riseStream.set_text_rise<  s    9V,v56r   c                \    V P                   P                  \        V4      R,           4       R# )zSet line cap style.s    JNr   )r    line_caps   &&r   set_line_capStream.set_line_cap@  s    9X.67r   c                \    V P                   P                  \        V4      R,           4       R# )zSet line join style.s    jNr   )r    	line_joins   &&r   set_line_joinStream.set_line_joinD  s    9Y/%78r   c                \    V P                   P                  \        V4      R,           4       R# )zSet line width.s    wNr   )r    r   s   &&r   set_line_widthStream.set_line_widthH  s    9U+e34r   c                    V P                   P                  RP                  \        V4      \        V4      \        V4      \        V4      \        V4      \        V4      R34      4       R# )a  Set current transformation matrix.

:param a: Top left number in the matrix.
:type a: :obj:`int` or :obj:`float`
:param b: Top middle number in the matrix.
:type b: :obj:`int` or :obj:`float`
:param c: Middle left number in the matrix.
:type c: :obj:`int` or :obj:`float`
:param d: Middle middle number in the matrix.
:type d: :obj:`int` or :obj:`float`
:param e: Bottom left number in the matrix.
:type e: :obj:`int` or :obj:`float`
:param f: Bottom middle number in the matrix.
:type f: :obj:`int` or :obj:`float`

rE   s   cmNrp   r    ar   cder   s   &&&&&&&r   
set_matrixStream.set_matrixL  N    " 	499aL)A,	!aL)A,	!e&= > 	?r   c                \    V P                   P                  \        V4      R,           4       R# )zSet miter limit.s    MNr   )r    miter_limits   &&r   set_miter_limitStream.set_miter_limita  s    9[1E9:r   c                j    V P                   P                  R\        V4      ,           R,           4       R# )z[Set specified parameters in graphic state.

:param state_name: Name of the graphic state.

rD   s    gsNr   )r    
state_names   &&r   	set_stateStream.set_statee  s%     	4)J"77&@Ar   c                    V P                   P                  RP                  \        V4      \        V4      \        V4      \        V4      \        V4      \        V4      R34      4       R# )a  Set current text and text line transformation matrix.

:param a: Top left number in the matrix.
:type a: :obj:`int` or :obj:`float`
:param b: Top middle number in the matrix.
:type b: :obj:`int` or :obj:`float`
:param c: Middle left number in the matrix.
:type c: :obj:`int` or :obj:`float`
:param d: Middle middle number in the matrix.
:type d: :obj:`int` or :obj:`float`
:param e: Bottom left number in the matrix.
:type e: :obj:`int` or :obj:`float`
:param f: Bottom middle number in the matrix.
:type f: :obj:`int` or :obj:`float`

rE   s   TmNrp   r   s   &&&&&&&r   set_text_matrixStream.set_text_matrixm  r  r   c                j    V P                   P                  R\        V4      ,           R,           4       R# )z4Show text strings with individual glyph positioning.   [s   ] TJNr   r    texts   &&r   	show_textStream.show_text  s"    4)D/1G;<r   c                p    V P                   P                  \        V4      P                  R,           4       R# )zShow single text string.s    TjN)rS   r[   Stringr   r  s   &&r   show_text_stringStream.show_text_string  s#    6$<,,v56r   c                <    V P                   P                  R4       R# )zStroke path.   SNrZ   r   s   &r   r   Stream.stroke  r   r   c                <    V P                   P                  R4       R# )zStroke and close path.   sNrZ   r   s   &r   stroke_and_closeStream.stroke_and_close  r   r   c                   R P                  R V P                   4       4      p\        V P                  P	                  4       4      pV P
                  '       dD   RVR&   \        P                  ! ^	R7      pVP                  V4      pWP                  4       ,          p\        V4      VR&   R P                  VP                  RVR34      # )   
c              3   8   "   T F  p\        V4      x  K  	  R # 5ir?   r   )r   r   s   & r   r   Stream.data.<locals>.<genexpr>  s     DIdOOr   z/FlateDecodeFilter)levelLengths   streams	   endstream)rI   rS   r=   rT   copyrU   r   compressobjflushr   r   )r    rS   rT   r*  s   &   r   r   Stream.data  s    DDD4::??,-===,E(O**3K ))&1F''))Ff+hzz5::y&,GHHr   )rU   rT   rS   )NNFr?   )F)3r2   r3   r4   r5   r6   r!   r^   ra   rh   rl   rw   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  r  r  r  r  r  r   r   r7   r   r8   r9   __classcell__rV   r;   s   @@r   r/   r/   O   s     !'"	8!
2	2	2A!#"888>JJK<!!	:	,K
,
CF
57895?*;B?*=7!! 	I 	I 	Ir   r/   c                   J   a a ] tR tRt oRtRV 3R llt]R 4       tRtVt	V ;t
# )r  i  zPDF String object.c                0   < \         SV `  4        Wn        R # r?   )rR   r!   string)r    r1  rV   s   &&r   r!   String.__init__  s    r   c                R    \         P                  ! R R\        V P                  4      4      pRV,           R,           #   \         d_    \
        \        T P                  4      P                  R4      ,           pRTP                  4       P                  4       ,           R,           u # i ; i)s
   ([\\\(\)])s   \\\1   (   )z	utf-16-be   <   >)	resubr   r1  UnicodeEncodeErrorr   r   r   hex)r    escapedencodeds   &  r   r   String.data  s    		8
 ff^Xy7MNG'>D((! 	8"S%5%<%<[%IIG'++-..00477	8s   := A&B&%B&)r1  ) )r2   r3   r4   r5   r6   r!   r7   r   r8   r9   r-  r.  s   @@r   r  r    s&     
 
8 
8 
8r   r  c                   >   a  ] tR tRt o RtRR lt]R 4       tRtV t	R# )r   i  zPDF Array object.Nc                n    \         P                  V 4       \        P                  Y;'       g    . 4       R # r?   )r   r!   list)r    arrays   &&r   r!   Array.__init__  s     dKKR(r   c                N    R RP                  R V  4       4      ,           R,           # )r  rE   c              3   8   "   T F  p\        V4      x  K  	  R # 5ir?   r   )r   childs   & r   r   Array.data.<locals>.<genexpr>  s     CdU	% 0 0dr      ])rI   r   s   &r   r   
Array.data  s!    diiCdCCCdJJr   rN   r?   rO   r:   s   @r   r   r     s#     ) K Kr   r   c                   V   a  ] tR tRt o RtR tR tR t]R 4       t	R t
RR ltR	tV tR
# )PDFi  zPDF document.c                   . V n         \        4       pRVn        RVn        V P	                  V4       \        RRR\        . 4      R^ /4      V n        V P	                  V P                  4       \        / 4      V n        \        RRRV P                  P                  /4      V n
        V P	                  V P                  4       ^ V n        R	V n        R	# )
zCreate a PDF document.i  r   Typez/PagesKidsCountz/CatalogPagesN)objectsr   r   r   
add_objectr=   r   pagesinfor)   catalogcurrent_positionxref_position)r    zero_objects   & r   r!   PDF.__init__  s     h!&$  HE"IQ!
 

 	

# rN	 "JTZZ))#
  	% !"!r   c                    V P                   R;;,          ^,          uu&   V P                  V4       V P                   R,          P                  VP                  ^ R.4       R# )zNAdd page to the PDF.

:param page: New page.
:type page: :class:`Dictionary`

rP  rO  RN)rT  rS  extendr   )r    pages   &&r   add_pagePDF.add_page  sF     	

7q 

6!!4;;3"78r   c                p    \        V P                  4      Vn        V P                  P                  V4       R# )zAdd object to the PDF.N)r   rR  r   r[   )r    object_s   &&r   rS  PDF.add_object  s$    T\\*G$r   c                    \         ;QJ d,    . R  V P                  R,          R,           4       F  NK  	  5# ! R  V P                  R,          R,           4       4      # )c              3   J   "   T F  pV R 2P                  R4      x  K  	  R# 5i)z 0 Rr   N)r   )r   object_numbers   & r   r   &PDF.page_references.<locals>.<genexpr>  s,      :!8 oT"))'22!8s   !#rO  :NN   )tuplerT  r   s   &r   page_referencesPDF.page_references  sP    u :!%F!3C!8:u 	:u :!%F!3C!8: : 	:r   c                    V ;P                   \        V4      ^,           ,          un         VP                  VR,           4       R# )zWrite line to output.

:param content: Content to write.
:type content: :obj:`bytes`
:param output: Output stream.
:type output: binary :term:`file object`

r#  N)rW  r   write)r    contentoutputs   &&&r   
write_linePDF.write_line  s.     	W!11Wu_%r   c           
     r  a \        T;'       g    R4      pVR*9  d   \        V4      pV P                  '       d   V P                  V P                  4       V P                  RV,           V4       V P                  RV4       VR8  EdS   V'       EdJ   . pV P                   Fh  pVP
                  R8X  d   K  VP                  '       d   VP                  V4       K;  V P                  Vn	        V P                  VP                  V4       Kj  	  . .p^ p\        V4       Fu  w  rVP                  p
VP                  V
4       V^ ,          P                  VP                  4       V^ ,          P                  V4       V\        V
4      ^,           ,          pKw  	  RP                  R	 V^ ,           4       4      V^ &   R
RR\        V4      R\        V^ ,          4      ^,           /p\!        W{V4      pV P                  Vn	        V P                  V4       V P                  VP                  V4       . p^ pV P                   Fy  pVP                  '       d*   VP                  ^VP                  V34       V^,          pK>  VP                  \#        VP                  4      VP                  VP$                  34       K{  	  VP                  ^V P                  ^ 34       \'        \)        V P                  ^,           R4      4      p\+        R V P                   4       4      p\'        \)        \+        V\        V4      4      ^,           R4      4      p^VV3oRP                  V3R lV 4       4      pR
RR\-        ^ \        V P                  4      ^,           34      R\-        S4      R\        V P                  4      ^,           RV P.                  P0                  /pV P                  '       d   V P                  P0                  VR&   V'       d   RP                  R V P                   4       4      p
\3        V
4      P5                  4       P7                  4       pVRJ d   Tp\-        \9        V4      P                  \9        V4      P                  34      VR&   \!        V.W4      pV P                  ;V n        Vn	        V P                  V4       V P                  VP                  V4       EMV P                   FC  pVP
                  R8X  d   K  V P                  Vn	        V P                  VP                  V4       KE  	  V P                  V n        V P                  RV4       V P                  R\        V P                  4       2P7                  4       V4       V P                   FL  pV P                  VP                  R RVP$                  R RVP
                   R2P7                  4       V4       KN  	  V P                  RV4       V P                  RV4       V P                  R \        V P                  4       2P7                  4       V4       V P                  R!V P.                  P0                  ,           V4       V P                  '       d.   V P                  R"V P                  P0                  ,           V4       V'       d   RP                  R# V P                   4       4      p
\3        V
4      P5                  4       P7                  4       pVRJ d   TpV P                  R$\9        V4      P                  ,           R%,           \9        V4      P                  ,           R&,           V4       V P                  R'V4       V P                  R(V4       V P                  V P:                   P7                  4       V4       V P                  R)V4       R# )+a  Write PDF to output.

:param output: Output stream.
:type output: binary :term:`file object`
:param bytes version: PDF version.
:param identifier: PDF file identifier. Default is :obj:`False`
  to include no identifier, can be set to :obj:`True` to generate an
  automatic identifier.
:type identifier: :obj:`bytes` or :obj:`bool`
:param bool compress: whether the PDF uses a compressed object stream.

   1.7TNs   %PDF-s   %🖤s   1.5r   r$   c              3   8   "   T F  p\        V4      x  K  	  R # 5ir?   )r   )r   is   & r   r   PDF.write.<locals>.<genexpr>4  s      ;AQr   rN  z/ObjStmNFirst   c              3   8   "   T F  qP                   x  K  	  R # 5ir?   )r   )r   rb  s   & r   r   rv  L  s      !@2>w"",r   r   c              3   r   <"   T F,  p\        SV4       F  w  r#VP                  VR 4      x  K  	  K.  	  R# 5i)bigN)zipto_bytes)r   linelengthrK   xref_lengthss   &   r   r   rv  Q  s<      #O Dc,6M]V vu--6M . s   47z/XRefIndexWSizeRootInfoc              3   ^   "   T F#  qP                   R 8w  g   K  VP                  x  K%  	  R# 5ir   Nr   r   r   objs   & r   r   rv  ^  s     TLSHHPSOL   --IDs   xrefz0 01005s   trailerrF   z/Size s   /Root s   /Info c              3   ^   "   T F#  qP                   R 8w  g   K  VP                  x  K%  	  R# 5ir  r  r  s   & r   r   rv    s"       I(4CHCHHr  s   /ID [rE   rI  rG   s	   startxrefs   %%EOF)FTN)r   rU  rS  rp  rR  r   r0   r[   rW  r   r&   	enumerater   r   r   rI   r/   boolr   r   r   maxr   rV  r)   r   	hexdigestr   r  rX  )r    ro  version
identifierrU   compressed_objectsrb  rS   positionru  r   rT   object_streamxref
dict_indexfield2_sizemax_generationfield3_sizexref_stream	data_hashdict_streamr  s   &&&&&                @r   rm  	PDF.write  sB    G--v.00":.J 999OODII& 	7*F3,f5f!#<<<<3&'''&--g6%)%:%:GNOOG$4$4f= ( TFH'(:;
||d#q	  0q	  *CIM) <  ; ;;F1I	S+,VAY!+E
 #6(;M#'#8#8M OOM*OOM22F; DJ<<'''KKM$8$8* EF!OJKKW^^,gnng>P>P!R S ( KKD11156s4#8#81#<cBCK  !@26,,!@ @NsNC(:$;<q@# G HK{K8L(( #O #O OK 3t||#4q#89:U<(DLL)A-..E yyy $		 3 3fxxTDLLTTI//188:	%!*J#VJ%7%<%<fY>O>T>T$UVd +@K6:6K6KKD!3OOK(OOK00&9  <<<<3&!%!6!6 0 0&9	 ( "&!6!6DOOGV,OObT\\!2 34;;=vF<<s+1W-?-?,C1~Q()/6; ( OOJ/OOE6*OOfS%6$78??A6JOOI(>(>>Gyyy	DII,?,? ?Hxx  I(, I II//188:	%!*Jvj1666=9%**+-1239; OOE6*f-4--.668&A&)r   )rV  rW  rU  rR  rT  rX  N)rs  FF)r2   r3   r4   r5   r6   r!   r_  rS  r7   rj  rp  rm  r8   r9   r:   s   @r   rL  rL    s=      "D	9%
 : :

&G* G*r   rL  )r6   r   r8  r   codecsr   hashlibr   mathr   r   VERSION__version__r   r   r@   r=   r/   r  rB  r   rL  rN   r   r   <module>r     s   
  	       +% D  DF0 0MIV MI`
8V 8*KFD KM* M*r   