+
    Œvjå� ã                   óÈ  € R t Rt^ RIt^ RIHtHt ^ RIHtHt ^ RIH	t	 ^ RI
HtHtHt ^ RIHt ^ RIHtHtHt ^ R	IHt ^ R
IHt ^ RIHt ^ RIHtHtHtHt RP?                  4       t  ! R R4      t! ! R R4      t" ! R R]"4      t#R t$RŽR lt%Rt&R 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% R&].4      t/ ! R' R(].4      t0 ! R) R*],4      t1R�R+ lt2R, t3 ! R- R.4      t4 ! R/ R0]4]"4      t5 ! R1 R2]54      t6 ! R3 R4]"4      t7R5 t8 ! R6 R7]"4      t9 ! R8 R9]"4      t: ! R: R;]+4      t; ! R< R=]"4      t< ! R> R?]"4      t= ! R@ RA4      t>RB t? ! RC RD]44      t@ ! RE RF]@]"4      tARG tBRH tC ! RI RJ]@]"4      tD ! RK RL]"4      tE ! RM RN4      tF ! RO RP]@]F]"4      tG ! RQ RR]+4      tH ! RS RT]+4      tI ! RU RV]+4      tJ ! RW RX]F]+4      tK ! RY RZ],4      tL ! R[ R\]4      tM ! R] R^]L4      tN ! R_ R`]+4      tO^ RaIPHQtQ ]R! RbRcRdReRfRgRhRiRjRkRl7
      tSR�Rm ltT ! Rn Ro4      tURp tV ! Rq Rr]"4      tW ! Rs Rt]W4      tX^ RuIHYtY  ! Rv Rw4      tZ ! Rx Ry4      t[ ! Rz R{]@]"]F4      t\ ! R| R}]"4      t] ! R~ R]+4      t^ ! R€ R�]^4      t_ ! R‚ Rƒ]^4      t` ! R„ R…]`4      ta ! R† R‡]`4      tb ! Rˆ R‰]b4      tc ! RŠ R‹]+4      td ! RŒ R�]+4      teR# )‘z3.3.0aä  
A flowable is a "floating element" in a document whose exact position is determined by the
other elements that precede it, such as a paragraph, a diagram interspersed between paragraphs,
a section header, etcetera.  Examples of non-flowables include page numbering annotations,
headers, footers, fixed diagrams or logos, among others.

Flowables are defined here as objects which know how to determine their size and which
can draw themselves onto a page with respect to a relative "origin" position determined
at a higher level. The object's draw() method should assume that (0,0) corresponds to the
bottom left corner of the enclosing rectangle that will contain the object. The attributes
vAlign and hAlign may be used by 'packers' as hints as to how the object should be placed.

Some Flowables also know how to "split themselves".  For example a
long paragraph might split itself between one page and the next.

Packers should set the canv attribute during wrap, split & draw operations to allow
the flowable to work out sizes etc in the proper context.

The "text" of a document usually consists mainly of a sequence of flowables which
flow into a document from top to bottom (with column and page breaks controlled by
higher level components).
N)ÚdeepcopyÚcopy)ÚgrayÚ	lightgrey)Úfp_str)ÚTA_LEFTÚ	TA_CENTERÚTA_RIGHT)Ú_baseFontName)ÚstrTypesÚrl_safe_execÚannotateException)ÚABag)Úpdfutils)ÚstringWidth)Ú_FUZZÚoverlapAttachedSpaceÚignoreContainerActionsÚlistWrapOnFakeWidtha  AnchorFlowable BalancedColumns BulletDrawer CallerMacro CondPageBreak DDIndenter DocAssert
        DocAssign DocExec DocIf DocPara DocWhile FailOnDraw FailOnWrap Flowable FrameBG FrameSplitter
        HRFlowable Image ImageAndFlowables KeepInFrame KeepTogether LIIndenter ListFlowable ListItem
        Macro NullDraw PTOContainer PageBreak PageBreakIfNotEmpty ParagraphAndImage Preformatted
        SetPageTopFlowables SetTopFlowables SlowPageBreak Spacer TopPadder TraceInfo UseUpSpace XBox
        splitLine splitLines PlacedStoryc                   ó*   a € ] tR t^.t o RtR tRtV tR# )Ú	TraceInfoz0Holder for info about where an object originatedc                óL   € R V n         RV n        RV n        RV n        RV n        R# )z	(unknown)Néÿÿÿÿ)ÚsrcFileÚstartLineNoÚstartLinePosÚ	endLineNoÚ
endLinePos©Úselfs   &Ú`/var/www/html/daimler-pipeline/venv/lib/python3.14/site-packages/reportlab/platypus/flowables.pyÚ__init__ÚTraceInfo.__init__0   s'   € Ø"ˆŒØˆÔØˆÔØˆŒØˆŽó    )r   r   r   r   r   N©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r!   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r    r   r   .   s   ø‡ € Ù6÷ð r#   r   c                   ó¨   a € ] tR t^=t o Rt^ t^ tR tR 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R lt]R 4       tR tR tRtV tR# )ÚFlowablez½Abstract base class for things to be drawn.  Key concepts:

1. It knows its size
2. It draws in its own coordinate system (this requires the
   base API to provide a translate() function.

c                óv   € ^ V n         ^ V n        ^ V n        RV n        RV n        RV n        RV n        RV n        R# )é    ÚLEFTÚBOTTOMN)ÚwidthÚheightÚwrappedÚhAlignÚvAlignÚ
_traceInfoÚ_showBoundaryÚencodingr   s   &r    r!   ÚFlowable.__init__H   sA   € ØˆŒ
ØˆŒØˆŒð ˆŒØˆŒð ˆŒØ!ˆÔð
 ˆŽr#   c                ó6   € Wn         V P                  4        V = R# )z#ensure canv is set on and then drawN)ÚcanvÚdraw©r   r>   s   &&r    Ú_drawOnÚFlowable._drawOnZ   s   € àŒ	Ø�	‰	ŒØŠIr#   c                ó  € V'       d~   \        V R 4      '       dl   V P                  pVRR\        39   d   VRV,          ,          pV# VR\        39   d   W,          pV# VR\        39  d   \        R\        V4      ,           4      hV# )r7   ÚCENTERÚCENTREç      à?ÚRIGHTr2   zBad hAlign value )Úhasattrr7   r   r	   r   Ú
ValueErrorÚstr)r   ÚxÚsWÚas   &&& r    Ú_hAlignAdjustÚFlowable._hAlignAdjust`   sƒ   € ß”'˜$˜x×(Ò(Ø—‘ˆAØ�X˜h¬	Ð2Ô2Ø�S˜•V•�ð
 ˆð	 �wœxÐ(Ô(Ø•�ð ˆð ˜6¤'Ð*Ô*Ü Ð!4´S¸³VÕ!;Ó<Ð<Øˆr#   c                ón  € V P                  W$4      pVP                  4        VP                  W#4       V P                  V4       \	        V R4      '       dP   V P
                  '       d>   VP                  \        4       VP                  ^ ^ V P                  V P                  4       VP                  4        R# )z6Tell it to draw itself on the canvas.  Do not overrider:   N)rN   Ú	saveStateÚ	translaterA   rH   r:   ÚsetStrokeColorr   Úrectr4   r5   ÚrestoreState©r   ÚcanvasrK   ÚyÚ_sWs   &&&&&r    ÚdrawOnÚFlowable.drawOnk   s„   € à×Ñ˜qÓ%ˆØ×ÑÔØ×Ñ˜ÔØ�‰�VÔÜ�4˜×)Ò)¨d×.@×.@Ð.@à×!Ñ!¤$Ô'Ø�K‰K˜˜!˜DŸJ™J¨¯©Ô4Ø×ÑÖr#   c                ó>   € Wn         V P                  W#4      w  rEV = WE3# )zOintended for use by packers allows setting the canvas on
during the actual wrap)r>   Úwrap)r   r>   ÚaWÚaHÚwÚhs   &&&&  r    ÚwrapOnÚFlowable.wrapOnw   s%   € ð Œ	Ø�y‰y˜Ó‰ˆØˆIØˆtˆr#   c                ó2   € V P                   V P                  3# )z†This will be called by the enclosing frame before objects
are asked their size, drawn or whatever.  It returns the
size actually used.©r4   r5   ©r   Ú
availWidthÚavailHeights   &&&r    r]   ÚFlowable.wrap   s   € ð —
‘
˜DŸK™KÐ(Ð(r#   c                ó0   € \        V RV P                  4      # )z-This should return the minimum required widthÚ	_minWidth)Úgetattrr4   r   s   &r    ÚminWidthÚFlowable.minWidth…   s   € ä�t˜K¨¯
©
Ó3Ð3r#   c                ó8   € Wn         V P                  W#4      pV = V# )zPintended for use by packers allows setting the canvas on
during the actual split)r>   Úsplit)r   r>   r^   r_   ÚSs   &&&& r    ÚsplitOnÚFlowable.splitOn‰   s!   € ð Œ	Ø�J‰J�rÓˆØˆIØˆr#   c                ó   € . # )aG  This will be called by more sophisticated frames when
wrap fails. Stupid flowables should return []. Clever flowables
should split themselves and return a list of flowables.
If they decide that nothing useful can be fitted in the
available space (e.g. if you have a table and not enough
space for the first row), also return []© )r   rg   Úavailheights   &&&r    rp   ÚFlowable.split‘   s	   € ð ˆ	r#   c                óÊ   € \        V R4      '       d   V P                  # \        V R4      '       d3   \        V P                  R4      '       d   V P                  P                  # ^ # )zOreturns boolean determining whether the next flowable should stay with this oneÚkeepWithNextÚstyle)rH   ry   rz   r   s   &r    ÚgetKeepWithNextÚFlowable.getKeepWithNextš   sL   € ä�4˜×'Ò'°×0AÑ0AÐ)AÜ�T˜'×"Ò"¤w¨t¯z©z¸.×'IÒ'IÐRV×R\ÑR\×RiÑRiÐKiÙr#   c                óÊ   € \        V R4      '       d   V P                  # \        V R4      '       d3   \        V P                  R4      '       d   V P                  P                  # ^ # )zXreturns how much space should follow this item if another item follows on the same page.Ú
spaceAfterrz   )rH   r~   rz   r   s   &r    ÚgetSpaceAfterÚFlowable.getSpaceAfter    sJ   € ä�4˜×%Ò%¨d¯o©oÐ'=Ü�T˜'×"Ò"¤w¨t¯z©z¸,×'GÒ'GÐPT×PZÑPZ×PeÑPeÐIeÙr#   c                óÊ   € \        V R4      '       d   V P                  # \        V R4      '       d3   \        V P                  R4      '       d   V P                  P                  # ^ # )z[returns how much space should precede this item if another item precedess on the same page.ÚspaceBeforerz   )rH   r‚   rz   r   s   &r    ÚgetSpaceBeforeÚFlowable.getSpaceBefore¦   sL   € ä�4˜×&Ò&¨t×/?Ñ/?Ð(?Ü�T˜'×"Ò"¤w¨t¯z©z¸-×'HÒ'HÐQU×Q[ÑQ[×QgÑQgÐJgÙr#   c                ó   € ^ # )z?Hook for IndexingFlowables - things which have cross referencesru   r   s   &r    Ú
isIndexingÚFlowable.isIndexing¬   s   € ár#   Nc                óT  € \        V R4      '       d   V P                  ^R7      pM*\        V R4      '       d   \        V P                  4      pMRpV'       d   V'       d   VRV pRV P                  P
                  : R\        \        V 4      4      : V P                  4       : RV: 2# )	z­
This method should attempt to return a string that can be used to identify
a particular flowable uniquely. The result can then be used for debugging
and or error printouts
ÚgetPlainText)ÚidentifyÚtextz...NÚ<ú at Ú>)	rH   r‰   rJ   r‹   Ú	__class__r%   ÚhexÚidÚ
_frameName©r   ÚmaxLenÚrs   && r    ÚidentityÚFlowable.identity°   s}   € ô �4˜×(Ò(Ø×!Ñ!¨1Ð!Ó-‰AÜ�T˜6×"Ò"Ü�D—I‘I“‰AàˆAß—Ø�'�6�
ˆAøØ#'§>¡>×#:Ô#:¼CÄÀ4Ã½MÈ4Ï?É?ÖK\Ò^_Ð`Ð`r#   c                ó2   € \        \        V R R4      RR4      # )r>   NÚ_doctemplate©rl   r   s   &r    r™   ÚFlowable._doctemplateÀ   s   € ä”w˜t F¨4Ó0°ÀÓEÐEr#   c                ó0   € \        V P                  VR 4      # ©N)rl   r™   ©r   rM   s   &&r    Ú_doctemplateAttrÚFlowable._doctemplateAttrÄ   s   € Ü�t×(Ñ(¨¨4Ó0Ð0r#   c                ó¬   € \        V R R4      pV'       g   V P                  R4      pV'       d&   VP                  '       d   RVP                  ,          # R# )Ú_frameNÚframez	 frame=%sÚ )rl   rŸ   r‘   ©r   Úfs   & r    r’   ÚFlowable._frameNameÇ   s>   € Ü�D˜ $Ó'ˆß�d×+Ñ+¨GÓ4�!ß�——�˜k¨A¯D©DÕ0Ð0Ùr#   )	r:   r9   r>   r;   r7   r5   r8   r4   r6   ©r1   r�   )r%   r&   r'   r(   r)   Ú_fixedWidthÚ_fixedHeightr!   rA   rN   rZ   rb   r]   rm   rr   rp   r{   r   rƒ   r†   r–   Úpropertyr™   rŸ   r’   r*   r+   r,   s   @r    r/   r/   =   s‚   ø‡ € ñð €KØ€Lòò$ô	ô
òò)ò4òòòòòòôað  ñFó ðFò1÷ð r#   r/   c                   ó:   a € ] tR t^Ít o RtRR ltR tR tRtV t	R# )ÚXBoxzzExample flowable - a box with an x through it and a caption.
This has a known size, so does not need to respond to wrap().c                óT   € \         P                  V 4       Wn        W n        W0n        R # r�   )r/   r!   r4   r5   r‹   )r   r4   r5   r‹   s   &&&&r    r!   ÚXBox.__init__Ð   s   € Ü×Ñ˜$ÔØŒ
ØŒØŽ	r#   c                ó\   € R V P                   : RV P                  : RV P                  : R2# )zXBox(w=z, h=z, t=Ú))r4   r5   r‹   r   s   &r    Ú__repr__ÚXBox.__repr__Ö   s   � Ø+/¯:¬:°t·{´{ÀDÇIÄIÐNÐNr#   c                ó  € V P                   P                  ^ ^ V P                  V P                  4       V P                   P	                  ^ ^ V P                  V P                  4       V P                   P	                  ^ V P                  V P                  ^ 4       V P                   P                  \        ^4       V P                   P                  RV P                  ,          RV P                  ,          V P                  4       R# )r1   rF   N)	r>   rT   r4   r5   ÚlineÚsetFontr
   ÚdrawCentredStringr‹   r   s   &r    r?   Ú	XBox.drawÙ   sœ   € Ø�	‰	�‰�q˜!˜TŸZ™Z¨¯©Ô5Ø�	‰	�‰�q˜!˜TŸZ™Z¨¯©Ô5Ø�	‰	�‰�q˜$Ÿ+™+ t§z¡z°1Ô5ð 	�	‰	×Ñœ-¨Ô+Ø�	‰	×#Ñ# C¨¯
©
¥N°C¸¿¹µOÀTÇYÁYÖOr#   )r5   r‹   r4   N)zA Box)
r%   r&   r'   r(   r)   r!   r²   r?   r*   r+   r,   s   @r    r­   r­   Í   s"   ø‡ € ñEôòO÷Pð Pr#   r­   c                 óÞ   € \        V 4      '       d(   V ^ ,          P                  4       R8X  d   V R,          p K8  \        V 4      '       d$   V R,          P                  4       R8X  d   V RR p K4  V # )r1   r¤   ºé   NNNr   )ÚlenÚstrip)Úliness   &r    Ú_trimEmptyLinesr¿   â   sQ   € ä
ˆe�*Š*˜˜q�Ÿ™Ó)¨RÔ/Ø�b•	ŠÜ
ˆe�*Š*˜˜r�Ÿ™Ó*¨bÔ0Ø�c�r�
ŠØ€Lr#   c                óÂ   € V P                  R4      pV^ 8”  d<   \        V4      p. pV F&  pWAR P                  4       pVP                  V4       K(  	  V# \        V4      pV# )z×
tidy up text - carefully, it is probably code.  If people want to
indent code within a source script, you can supply an arg to dedent
and it will chop off that many character, otherwise it leaves
left edge intact.
Ú
N)rp   r¿   ÚrstripÚappend)r‹   Údedentr¾   Ú	templinesrµ   s   &&   r    Ú	_dedenterrÆ   ê   sh   € ð �J‰J�tÓ€EØˆa„xÜ# EÓ*ˆ	ØˆÛˆDØ˜�=×'Ñ'Ó)ˆDØ�L‰L˜Öñ ð €Lô   Ó&ˆà€Lr#   z[{( ,.;:/\-c                 óœ   € Vf   \         pVf   Rp. pV  F3  p\        V4      V8”  d   \        WTVW#4       K"  VP                  V4       K5  	  V# )Nr¤   )ÚSPLIT_CHARSr¼   Ú	splitLinerÃ   )r¾   Úmaximum_lengthÚsplit_charactersÚnew_line_charactersÚlines_splittedrµ   s   &&&&  r    Ú
splitLinesrÎ   ÿ   s\   € ØÒÜ&ÐØÒ"Ø Ðà€NÛˆÜˆt‹9�~Ô%Ü�d¨NØö3ð ×!Ñ! $Ö'ñ ð Ðr#   c                 ó’  € R pV '       d½   \        V 4      ^ 8”  d«   ^ p\        V 4      V8:  d   \        V 4      pM*\        V4       F  pW,          V9   g   K  V^,           pK  	  V^ 8X  d
   X^,           pV'       d*   VP                  V ^ V 4       RpV\        V4      ,          pMVP                  VV ^ V ,           4       WR p KÂ  R# R# )TFN)r¼   ÚrangerÃ   )Úline_to_splitrÍ   rÊ   rË   rÌ   Ú
first_lineÚsplit_indexÚ
line_indexs   &&&&&   r    rÉ   rÉ     sÔ   € ð €J÷ œC Ó.¨qÔ0ð ˆô ˆ}Ó Ô/ä˜mÓ,‰Kô $ NÖ3�
ð !Õ,Ð0@Ö@Ø",¨q¥.’Kñ	 4ð ˜Œ>Ø$ q�.ˆKçØ×!Ñ! -°°+Ð">Ô?ØˆJØœcÐ"5Ó6Õ6‰Nà×!Ñ!Ð"5Ø˜!˜KÐ(õ#)ô *ð & lÐ3Šñ? 1‰-r#   c                   óL   a € ] tR tRt o RtRR ltR tR tR tR t	R	 t
R
tV tR# )ÚPreformattedi6  au  This is like the HTML <PRE> tag.
It attempts to display text exactly as you typed it in a fixed width "typewriter" font.
By default the line breaks are exactly where you put them, and it will not be wrapped.
You can optionally define a maximum line length and the code will be wrapped; and
extra characters to be inserted at the beginning of each wrapped line (e.g. '> ').
Nc                ó    € W n         W0n        \        W4      V n        V'       d*   V'       d    \	        V P                  VVV4      V n        R# R# R# )zÞtext is the text to display. If dedent is set then common leading space
will be chopped off the front (for example if the entire text is indented
6 spaces or more then each line will have 6 spaces removed from the front).
N)rz   Ú
bulletTextrÆ   r¾   rÎ   )r   r‹   rz   rØ   rÄ   ÚmaxLineLengthÚ
splitCharsÚnewLineCharss   &&&&&&&&r    r!   ÚPreformatted.__init__=  sB   € ð
 Œ
Ø$ŒÜ˜tÓ+ˆŒ
ß—MÜ#Ø $§
¡
Ø -Ø *Ø ,ó	ˆDŽJñ "‰4r#   c                ó�   € V P                   pR pVe   R\        V4      ,          pV: RRP                  V P                  4      : R2# )zPreformatted(zPreformatted(bulletText=%s,z'''\ 
rÁ   z'''))rØ   ÚreprÚjoinr¾   )r   ÚbTÚHs   &  r    r²   ÚPreformatted.__repr__M  s;   € Ø�_‰_ˆØˆØŠ>Ø-´°R³Õ8ˆAÛ%&¨¯	©	°$·*±*Ö(=Ð>Ð>r#   c                ó¨   € Wn         V P                  P                  \        V P                  4      ,          V n        V P                   V P
                  3# r�   )r4   rz   Úleadingr¼   r¾   r5   rf   s   &&&r    r]   ÚPreformatted.wrapT  s8   € ØŒ
Ø—j‘j×(Ñ(¬¨T¯Z©Z«Õ8ˆŒØ—
‘
˜DŸK™KÐ(Ð(r#   c           
     ó²   € V P                   pVP                  pVP                  p\        V P                   Uu. uF  p\        WCV4      NK  	  up4      # u upi r�   )rz   ÚfontSizeÚfontNameÚmaxr¾   r   )r   rz   rç   rè   rµ   s   &    r    rm   ÚPreformatted.minWidthY  sE   € Ø—
‘
ˆØ—>‘>ˆØ—>‘>ˆÜÀDÇJÂJÓOÁJ¸D”K ¨hÖ7ÁJÑOÓPÐPùÒOs   ¸Ac                óª  € W P                   P                  8  d   . # \        VR ,          V P                   P                  ,          4      pRP                  V P                  ^ V 4      pRP                  V P                  VR 4      pV P                   pVP
                  ^ 8w  d   \        V4      p^ Vn        \        W@P                   4      \        WV4      .# )ç      ð?rÁ   N)rz   rä   Úintrß   r¾   ÚfirstLineIndentr   rÖ   )r   rg   rh   ÚlinesThatFitÚtext1Útext2rz   s   &&&    r    rp   ÚPreformatted.split_  sª   € ð Ÿ™×+Ñ+Ô+ØˆIä˜;¨Õ,¨t¯z©z×/AÑ/AÕAÓBˆà—	‘	˜$Ÿ*™* Q |Ð4Ó5ˆØ—	‘	˜$Ÿ*™* \ ]Ð3Ó4ˆØ—
‘
ˆØ× Ñ  AÔ%Ü˜U“OˆEØ$%ˆEÔ!Ü˜U§J¡JÓ/´¸eÓ1KÐLÐLr#   c                óž  € V P                   P                  pV P                  V P                   P                  ,
          pV P                  P                  R 4       V P                   P                  '       d0   V P                  P                  V P                   P                  4       V P                  P                  W4      pVP                  V P                   P                  V P                   P                  V P                   P                  4       V P                   F  pVP                  V4       K  	  V P                  P                  V4       R# )z%PreformattedParaN)rz   Ú
leftIndentr5   rç   r>   Ú
addLiteralÚ	textColorÚsetFillColorÚ	beginTextr¶   rè   rä   r¾   ÚtextLineÚdrawText)r   Úcur_xÚcur_yÚtxr‹   s   &    r    r?   ÚPreformatted.drawp  sÞ   € ð
 —
‘
×%Ñ%ˆØ—‘˜dŸj™j×1Ñ1Õ1ˆØ�	‰	×ÑÐ0Ô1Ø�:‰:××ÐØ�I‰I×"Ñ" 4§:¡:×#7Ñ#7Ô8Ø�Y‰Y× Ñ  Ó.ˆà
�
‰
�D—J‘J×'Ñ'Ø—J‘J×'Ñ'Ø—J‘J×&Ñ&ô	(ð —J”JˆDØ�K‰K˜Öñ à�	‰	×Ñ˜2Ör#   )rØ   r5   r¾   rz   r4   )Nr1   NNr¤   )r%   r&   r'   r(   r)   r!   r²   r]   rm   rp   r?   r*   r+   r,   s   @r    rÖ   rÖ   6  s/   ø‡ € ñôò ?ò)ò
QòM÷"ð r#   rÖ   c                   óp   a € ] tR tRt o Rt^t^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tV tR# )ÚImagei„  aå  an image (digital picture).  Formats supported by PIL/Java 1.4 (the Python/Java Imaging Library
are supported. Images as flowables may be aligned horizontally in the
frame with the hAlign parameter - accepted values are 'CENTER',
'LEFT' or 'RIGHT' with 'CENTER' being the default.
We allow for two kinds of lazyness to allow for many images in a document
which could lead to file handle starvation.
lazy=1 don't open image until required.
lazy=2 open image when required then shut it.
Nc	                ój  € Wpn         WPn        \        VR4      p	RV n        V	'       d   Wn        \        V4      V n        MG\        VR4      '       d(   Wn        \        V4      V n        RV n        RV n        Rp	MV;V n        V n        W€n        V	'       g²   \        P                  P                  V4      ^,          R9   d‡   ^ RIHp
 V
! VR4      p  \        P                  ! V4      p TP#                  4        T^ ,          T n        T^,          T n        T'       d   T^,          T n        RT n        T P!                  Y#T^ 4       R# V	'       d   V P!                  W#V^ 4       R# V P!                  W#WF4       R#    T P!                  Y#YF4        TP#                  4        R# ; i  TP#                  4        i ; i)z8If size to draw at not specified, get it from the image.ÚreadNÚ	_renderPyT)Úopen_for_readÚb)z.jpgz.JPGz.jpegz.JPEG)r7   Ú_maskrH   Ú_drawingÚ_filerÞ   ÚfilenameÚ_imgÚ_dpiÚosÚpathÚsplitextÚreportlab.lib.utilsr  r   ÚreadJPEGInfoÚ_setupÚcloseÚ
imageWidthÚimageHeight)r   r	  r4   r5   ÚkindÚmaskÚlazyr7   ÚuseDPIÚfpr  r¦   Úinfos   &&&&&&&&&    r    r!   ÚImage.__init__�  sS  € ð ŒØŒ
Ü�X˜fÓ%ˆØˆŒßØ!ŒJÜ  ›NˆD�MÜ�X˜k×*Ò*Ø$ŒMÜ˜x›.ˆDŒMØˆDŒJØˆDŒIØ‰Bà)1Ð1ˆDŒJ˜œØŒ	ß”b—g‘g×&Ñ& xÓ0°Õ3Ð7YÔYõ :Ù˜h¨Ó,ˆAððÜ#×0Ò0°Ó3‘Dð —‘”	Ø" 1�gˆDŒOØ# A�wˆDÔßØ  �G�”	ØˆDŒIØ�K‰K˜ T¨!Ö,ßØ�K‰K˜ T¨!Ö,à�K‰K˜ TÖ/øðà—K‘K ¨TÔ7Øà—‘–	û�—‘•	ús   ÃE6 Å6FÆ
F  ÆF  Æ F2c                ó
  € V P                   pV'       do   V^ ,          ^H8w  d(   V ;P                  RV^ ,          ,          ,          un        V^,          ^H8w  d*   V ;P                  RV^,          ,          ,          un        R# R# R# )r1   g      R@N)r  r  r  )r   Údpis   & r    Ú
_dpiAdjustÚImage._dpiAdjust¼  sX   € Ø�i‰iˆßØ�1�v�rŒz˜4Ÿ?š?¨d°S¸µV­mÕ;�?Ø�1�v�rŒz˜4×+Ò+¨t°c¸!µf­}Õ<×+‰zñ r#   c                óh   € W@n         Wn        W n        W0n        V^ 8:  d   V P	                  4        R# R# ©r1   N)Ú_lazyÚ_widthÚ_heightÚ_kindÚ_setup_inner)r   r4   r5   r  r  s   &&&&&r    r  ÚImage._setupÂ  s*   € ØŒ
ØŒØŒØŒ
Ø�Œ7�D×%Ñ%Ö'‰7r#   c                ó4  € V P                   pV P                  pV P                  pV P                  pV'       dn   VP	                  4       w  V n        V n        V P                  '       d>   \        VR 4      '       d,   VP                  P                  P                  RR4      V n        MPV P                  '       d?   V P                  P                  V P                  P                  uV n        V n        RV n        V P                  4        V P                   ^8¼  d   V =VR9   d9   T;'       g    V P
                  V n        T;'       g    V P                  V n        R# VR9   dA   V P
                  V,          R,          V n        V P                  V,          R,          V n        R# VR9   ds   \'        \)        V4      V P
                  ,          \)        V4      V P                  ,          4      pV P
                  V,          V n        V P                  V,          V n        R# R# )	Ú_imager  Fç{®Gáz„?N)éH   r+  )ÚdirectÚabsolute)Ú
percentageÚ%)ÚboundÚproportional)r#  r$  r%  r
  ÚgetSizer  r  r  rH   r)  r  Úgetr  r4   r5   r  r"  Ú	drawWidthÚ
drawHeightÚminÚfloat)r   r4   r5   r  ÚimgÚfactors   &     r    r&  ÚImage._setup_innerÉ  s|  € Ø—‘ˆØ—‘ˆØ�z‰zˆØ�i‰iˆßØ03·±³Ñ-ˆDŒO˜TÔ-Ø�y�yˆyœW S¨×2Ò2ØŸJ™JŸO™O×/Ñ/°°gÓ>�”	øØ�]�]ˆ]Ø04·±×0CÑ0CÀDÇMÁM×DXÑDXÐ-ˆDŒO˜TÔ-ØˆDŒIØ�‰ÔØ�:‰:�qŒ=˜d˜iØÐ(Ô(Ø"×5Ð5 d§o¡oˆDŒNØ$×8Ð8¨×(8Ñ(8ˆDŽOØÐ'Ô'Ø!Ÿ_™_¨UÕ2°4Õ7ˆDŒNØ"×.Ñ.¨vÕ5°dÕ:ˆDŽOØÐ-Ô-Üœ˜u› d§o¡oÕ5´e¸F³mÀD×DTÑDTÕ6TÓUˆFØ!Ÿ_™_¨VÕ3ˆDŒNØ"×.Ñ.¨vÕ5ˆDŽOñ .r#   c                óÀ  € V P                   V\        ,           8”  g   V P                  V\        ,           8”  d�   V P                   V P                  3V n        \	        \        V4      V P                   ,          \        V4      V P                  ,          4      pV ;P                   V,          un         V ;P                  V,          un        V P                   V P                  3# r�   )r4  r   r5  Ú_oldDrawSizer6  r7  )r   r^   r_   r9  s   &&& r    Ú_restrictSizeÚImage._restrictSizeâ  s‹   € Ø�>‰>˜"œU�(Ô" d§o¡o°b¼µhÔ&>Ø $§¡°·±Ð ?ˆDÔÜœ˜r› 4§>¡>Õ1´%¸³)¸D¿O¹OÕ2KÓLˆFØ�NŠN˜fÕ$�NØ�OŠO˜vÕ%�OØ�~‰~˜tŸ™Ð.Ð.r#   c                óR   € \        V R R4      pV'       d   Vw  V n        V n        R# R# )r<  N)rl   r4  r5  )r   Údwhs   & r    Ú_unRestrictSizeÚImage._unRestrictSizeê  s&   € Ü�d˜>¨$Ó/ˆßØ.1Ñ+ˆDŒN˜DžOñ r#   c                ón  € VR 8X  di   ^ RI Hp V! V P                  4      V n        \	        V P                  \
        4      '       g    RV n        V P                  ^8¼  d   ^V n        V P                  # VR9   d$   V P                  4        V P                  V,          # \        R\        V 4      V3,          4      h)r
  )ÚImageReaderNz<Image @ 0x%x>.%s)r4  r5  r  r  )r  rD  r  r
  Ú
isinstancer   r"  r&  Ú__dict__ÚAttributeErrorr‘   )r   rM   rD  s   && r    Ú__getattr__ÚImage.__getattr__ï  sŒ   € ØˆfŒ9Ý7Ù# D§J¡JÓ/ˆDŒIÜ˜dŸj™j¬×2Ò2Ø!�”
Ø—:‘:˜q”=¨q $¤*Ø—9‘9ÐØÐGÔGØ×ÑÔØ—=‘= Õ#Ð#ÜÐ0´B°t³H¸Q°<Õ?Ó@Ð@r#   c                ó2   € V P                   V P                  3# r�   )r4  r5  rf   s   &&&r    r]   Ú
Image.wrapü  s   € à�~‰~˜tŸ™Ð.Ð.r#   c           	     ó¼  € \        V R ^ 4      p\        V R^ 4      pV P                  pV'       d�   V P                  \        V P                  4      ,          pV P
                  \        V P                  4      ,          pVP                  p VP                  WE4       VP                  V P                  W4       Wcn        R# V P                  pV^8¼  d   ^V n        V P                  P                  V P                  ;'       g    V P                  VVV P                  V P
                  V P                  R7       V^8¼  d   R;V n        V n        Wpn        R# R#   Ycn        i ; i)Ú_offs_xÚ_offs_y)r  N)rl   r  r4  r7  r  r5  r  Ú	transformÚscalerZ   r>   r"  Ú	drawImager
  r	  r  r  )r   ÚdxÚdyÚdÚsxÚsyÚotransr  s   &       r    r?   Ú
Image.draw   s  € Ü�T˜) AÓ&ˆÜ�T˜) AÓ&ˆØ�M‰MˆßØ—‘¤%¨¯©Ó"8Õ8ˆBØ—‘¤5¨×)9Ñ)9Ó#:Õ:ˆBØ—[‘[ˆFð%Ø—‘˜”Ø—‘˜Ÿ™ 2Ô)à$–à—:‘:ˆDØ�QŒw Q˜œ
Ø�I‰I×Ñ D§I¡I×$>Ð$>°·±Ø$&Ø$&Ø$(§N¡NØ$(§O¡OØ)-¯©ð  ô &ð �QŒwØ)-Ð-�”	˜DœJØ!–
ñ øð %•ús   Â-E ÅEc                ó²   € \         P                  W4      pVRR R8X  d8   \        V P                  \        4      '       d   VRR : RV P                  : R2pV# )é   Nz>...z
 filename=rŽ   éüÿÿÿ)r/   r–   rE  r	  rJ   r“   s   && r    r–   ÚImage.identity  sH   € Ü×Ñ˜dÓ*ˆØˆRˆSˆ6�6Œ>œj¨¯©´s×;Ò;Ø%& s¨£V¨D¯M¬MÐ:ˆAØˆr#   )r  r  r  r$  r
  r%  r"  r  r<  r#  r5  r4  r	  r7   r  r  )NNr,  Úautor»   rD   Fr�   )r%   r&   r'   r(   r)   r©   rª   r!   r  r  r&  r=  rA  rH  r]   r?   r–   r*   r+   r,   s   @r    r   r   „  sO   ø‡ € ñð €KØ€Lô*0òX=ò(ò6ò2/ò2ò
Aò/ò"÷6ò r#   r   c                   ó&   a € ] tR tRt o R tRtV tR# )ÚNullDrawi!  c                ó   € R # r�   ru   r   s   &r    r?   ÚNullDraw.draw"  ó   € Ùr#   ru   N)r%   r&   r'   r(   r?   r*   r+   r,   s   @r    r_  r_  !  s   ø‡ € ÷ð r#   r_  c                   ó<   a € ] tR tRt o Rt^t^tRR ltR tRt	V t
R# )ÚSpaceri%  z]A spacer just takes up space and doesn't draw anything - it guarantees
a gap between objects.c                óH   € Wn         V'       d   R V n        W n        W n        R# )g-Cëâ6?N)r4   r5   Úspacebefore)r   r4   r5   ÚisGlues   &&&&r    r!   ÚSpacer.__init__*  s   € ØŒ
ßØˆDŒKØ%ÔØŽr#   c                ón   € V P                   P                  : R V P                  : RV P                  : R2# )Ú(ú, r±   )r�   r%   r4   r5   r   s   &r    r²   ÚSpacer.__repr__1  s!   € Ø#Ÿ~™~×6Ô6°t·z´zÀ4Ç;Ä;ÐOÐOr#   )r5   rf  r4   N©F)r%   r&   r'   r(   r)   r©   rª   r!   r²   r*   r+   r,   s   @r    rd  rd  %  s%   ø‡ € ñ!à€KØ€Lô÷Pð Pr#   rd  c                   ó2   a € ] tR tRt o R tR tR tRtV tR# )Ú
UseUpSpacei4  c                ó   € R # r�   ru   r   s   &r    r!   ÚUseUpSpace.__init__5  rb  r#   c                ó<   € R V P                   P                  ,          # )z%s())r�   r%   r   s   &r    r²   ÚUseUpSpace.__repr__8  s   € Ø˜Ÿ™×/Ñ/Õ/Ð/r#   c                ó.   € Wn         W n        WR ,
          3# )ç:Œ0âŽyE>re   rf   s   &&&r    r]   ÚUseUpSpace.wrap;  s   € ØŒ
Ø!ŒØ tÕ+Ð,Ð,r#   )r5   r4   N)	r%   r&   r'   r(   r!   r²   r]   r*   r+   r,   s   @r    ro  ro  4  s   ø‡ € òò0÷-ð -r#   ro  c                   ó6   a € ] tR tRt o ^t RR ltR tRtV tR# )Ú	PageBreaki@  Nc                ó   € Wn         R # r�   ©ÚnextTemplate)r   r{  s   &&r    r!   ÚPageBreak.__init__D  s   € Ø(Ör#   c                óŒ   € V P                   P                  : R V P                  '       d   \        V P                  4      MR: R2# )rj  r¤   r±   )r�   r%   r{  rÞ   r   s   &r    r²   ÚPageBreak.__repr__G  s3   € ØŸ>™>×2Ô2Èd×N_×N_ÐN_´4¸×8IÑ8IÔ3JÐegÒ3gÐhÐhr#   rz  r�   )	r%   r&   r'   r(   Ú
locChangerr!   r²   r*   r+   r,   s   @r    rx  rx  @  s!   ø‡ € Ø€JðDô)÷ið ir#   rx  c                   ó   € ] tR tRtRtR# )ÚSlowPageBreakiJ  ru   N©r%   r&   r'   r(   r*   ru   r#   r    r�  r�  J  ó   † Ûr#   r�  c                   ó   € ] tR tRtRtR# )ÚPageBreakIfNotEmptyiM  ru   Nr‚  ru   r#   r    r…  r…  M  rƒ  r#   r…  c                   óB   a € ] tR tRt o ^t R tR tR tRR ltRt	V t
R# )	ÚCondPageBreakiP  c                ó   € Wn         R # r�   ©r5   )r   r5   s   &&r    r!   ÚCondPageBreak.__init__S  s   € ØŽr#   c                ó$   € R V P                   : R2# )zCondPageBreak(r±   r‰  r   s   &r    r²   ÚCondPageBreak.__repr__V  s   � Ø%)§[¤[Ð2Ð2r#   c                óŒ   € W P                   8  d4   V P                  R 4      pV'       g   W3# ^ RIHp VP	                  V4       R# )r£   ©Ú
FrameBreak©r1   r1   )r5   rŸ   Úreportlab.platypus.doctemplater�  Úadd_generated_content)r   rg   rh   r¦   r�  s   &&&  r    r]   ÚCondPageBreak.wrapY  s=   € Ø—{‘{Ô"Ø×%Ñ% gÓ.ˆAß˜ZÐ4Ð4ÝAØ×#Ñ# JÔ/Øˆr#   Nc                ób   € \        V 4      P                  R RV P                  4       ,          4      # )r±   z
,frame=%s))rÞ   Úreplacer’   ©r   r”   s   &&r    r–   ÚCondPageBreak.identitya  s%   € Ü�D‹z×!Ñ! # l°4·?±?Ó3DÕ&DÓEÐEr#   r‰  r�   )r%   r&   r'   r(   r  r!   r²   r]   r–   r*   r+   r,   s   @r    r‡  r‡  P  s(   ø‡ € Ø€JØPòò3ò÷Fò Fr#   r‡  c                óB  € \        VRR4      p\        VRR4      pVf   \        pV'       d%   ^ RIHp	Hp
 Tp\        V4      ;q‡n        RVn        V= ^ p^ p^ p^pV R,          p V '       Ed}   V P                  ^ 4      p\        VR4      '       d?   ^ RIHp
 \        VV
4      '       d%   VVP                  VP                  ,           ,          pKj  VP                  W!R4      w  ppVe   VP                  VV34       V'       d	   X	! W4       V\        8:  d   V\        8:  d   K¾  \!        YÆ'       d   \#        VV4      MT4      pVV,          pV'       gK   VP%                  4       pV'       d)   \        VR
R	4      '       d   Tp\!        VV,
          ^ 4      pVV,          pMVe   VP%                  4       Vn        ^ pVP)                  4       p\        VR
R	4      '       d   TpTpWÞ,          pEK…  Ve   Wän        WÍV,
          3V'       d	   XVn        # #   T'       d	   XTn        i i ; i)ú;return max width, required height for a list of flowables Fr™   Nr£   )Ú_addGeneratedContentÚIndenterºNNNÚframeAction©r›  éÿÿÿFÚ_SPACETRANSFER)rl   r   r‘  rš  r›  r   r£   Ú_generated_contentÚpoprH   rE  ÚleftÚrightrb   rÃ   r   ré   r6  rƒ   Ú_spaceBeforer   Ú_spaceAfter)ÚFrg   r>   Ú
mergeSpaceÚobjÚdimsÚ	fakeWidthÚdoctÚcframerš  r›  Ú
doct_frameÚWrá   ÚpSÚatTopr¦   r`   ra   Úss   &&&&&&&             r    Ú_listWrapOnr³  d  s×  € ä�4˜ tÓ,€DÜ�T˜' $Ó'€FØÒÜ'ˆ	ßßQØˆ
Ü& zÓ2Ð2ˆ”Ø$(ˆÔ!ØÐ%ð'$ØˆØˆØˆØˆØˆa�DˆßˆaØ—‘�a“ˆAÜ�q˜×'Ò'ÝCÜ˜a ×)Ò)Ø !§&¡&¨¯©¥.Õ0�JÙØ—(‘(˜4¨9Ó5‰CˆAˆaØÒ §¡¨a°¨UÔ!3ßÙ$ QÔ.Ø”5” q¬%¤x±Ü�A®9”c˜!˜JÔ'¸!Ó<ˆAØ��FˆAßØ×$Ñ$Ó&�ßÜ˜qÐ!1°%×8Ò8Ø˜Ü˜A˜b�D ›�AØ�Q•‘à’?°q×7GÑ7GÓ7I CÔ$4Ø�Ø—‘Ó!ˆAÜ�qÐ)¨%×0Ò0Ø�ØˆBØ�G‹AØŠ?¨bœOØ�B•$ˆwçØ#ˆD�Jð ø�6Ø#ˆD�Jð ús'   ÁH Á,BH ÄAH ÅH Å)BH ÈHc                óê   € \        V \        \        34      '       g   V RJ;'       d    V .;'       g    . p ^ RIHp V  Uu. uF  p\        W!4      '       g   K  VNK  	  up'       d   Q R4       hV # u upi )z.if it isn't a list or tuple, wrap it in a listN)ÚLCActionFlowablez)LCActionFlowables not allowed in sublists)rE  ÚlistÚtupler‘  rµ  )ÚVrµ  rK   s   &  r    Ú_flowableSublistr¹  ™  se   € ä�aœœe˜×%Ò%¨1°D¨=×+@Ð+@¸a¸S×+FÐ+FÀB qÝ?ÙÓ?™1�a¤
¨1× >—�™1×?Ð?ÐkÐ@kÓkÐ?Ø€Hùò @s   Á A0ÁA0c                   ó4   a € ] tR tRt o RR ltRR ltRtV tR# )Ú_ContainerSpacei   Nc                ó€   € Vf   V P                   MT F'  p\        VR4      '       d   K  VP                  4       u # 	  ^ # ©Nr�  )Ú_contentrH   rƒ   ©r   ÚcontentÚcs   && r    rƒ   Ú_ContainerSpace.getSpaceBefore¡  s;   € Ø#*¢?�$—-’-¸Ò?ˆAÜ˜1˜]×+Ô+Ø×'Ñ'Ó)Ò)ñ @ñ r#   c                ó’   € \        Vf   V P                  MT4       F'  p\        VR4      '       d   K  VP                  4       u # 	  ^ # r½  )Úreversedr¾  rH   r   r¿  s   && r    r   Ú_ContainerSpace.getSpaceAfter§  s;   € Ü¨7ª?˜$Ÿ-š-ÀÖHˆAÜ˜1˜]×+Ô+Ø—‘Ó(Ò(ñ Iñ r#   ru   r�   )r%   r&   r'   r(   rƒ   r   r*   r+   r,   s   @r    r»  r»     s   ø‡ € ô÷ò r#   r»  c                   óJ   a € ] tR tRt o RtR
R ltR tR tR tR
R lt	R	t
V tR# )ÚKeepTogetheri­  FNc                óÔ   € \        \        R 4      '       g#   ^ RIHp ^ RIHp V\        n        V\        n        V'       g   V P                  4       .p\        V4      V n        W n        R# )ÚNullActionFlowable)rÉ  rŽ  N)rH   rÇ  r‘  rÉ  r�  r¹  r¾  Ú
_maxHeight)r   Ú	flowablesÚ	maxHeightrÉ  r�  s   &&&  r    r!   ÚKeepTogether.__init__°  sK   € Ü”|Ð$8×9Ò9åIÝAØ.@ŒLÔ+Ø&0ŒLÔ#çØ×0Ñ0Ó2Ð3ˆIÜ(¨Ó3ˆŒØ#Žr#   c                óø   € V P                   p\        \        \        V4      4      pR R P	                  V4      ,           pVP                  R R4      pV P                  P                  : RV: RV P                  : R2# )rÁ   z
  rj  z,maxHeight=r±   )	r¾  r¶  ÚmaprÞ   rß   r•  r�   r%   rÊ  )r   r¦   ÚLs   &  r    r²   ÚKeepTogether.__repr__½  sX   € Ø�M‰MˆÜ””T˜!“ÓˆØ�—‘˜1“ÕˆØ�I‰I�d˜FÓ#ˆØ(,¯©×(?Ô(?ÃÀ$Ç/Ä/ÐRÐRr#   c           	     ób  € . p \        V P                  WP                  VR 7      w  rEXT n        T;'       d    T^ ,          ^,          ;'       g    ^ T n	        Y3T n
        XR3#    \        RT P                  P
                  T P                  P                  \        T 4      3,          4        L†; i))rª  z%
raised by class %s(%s)@0x%8.8x wrap
iÿÿÿ )r³  r¾  r>   r   r�   r%   r&   r‘   Ú_HÚ_H0Ú	_wrapInfo)r   r^   r_   rª  r¯  rá   s   &&&   r    r]   ÚKeepTogether.wrapÄ  s­   € Øˆð	HÜ˜dŸm™m¨B¯y©y¸dÔC‰CˆAð ˆŒØ×&Ð&˜D �G A�J×+Ð+¨!ˆŒØ˜ˆŒØ�(ˆ{Ðøð	HÜÐGÈ4Ï>É>×KbÑKbÐcg×cqÑcq×c|Ñc|Ô}ð  AEó  ~Fð  KGõ  Gö  Hús   „$A$ Á$AB.c                óÂ  € \        V R R4      W38w  d   V P                  W4       V P                  R,          p\        V RR4      ;rEV'       d&   \        VRR4      pVP                  pVP                  pV P
                  V8„  ;'       d(    V P                  '       * ;'       g    W P                  8„  pV P                  V8„  ;'       g    T;'       d    Tp	V'       g	   V	'       dü   Rp
V P                  R4      pV'       d(   V'       d    V! 4       pVP                  pVP                  pV'       dQ   V P                  '       d	   V'       g7   T;'       d'    T;'       d    X;'       d    XX8¬  ;'       d    XX8¬  '       * p
M,X'       d%   XVP                  8¼  d   XV P
                  8¼  d   Rp
TP                  ^ V
'       d   V P                  MV P                  ! 4       4       V# )rÕ  Nrœ  r¢   Ú_atTopFÚ_peekNextFrameT)rl   r]   r¾  r#  r$  rÓ  rÊ  rÔ  rŸ   Ú
splitAtTopÚinsertr�  rÉ  )r   r^   r_   rq   Úcfr±  ÚcAWÚcAHÚC0ÚC1ÚfbÚpanfÚnfÚnAWÚnAHs   &&&            r    rp   ÚKeepTogether.splitÏ  sa  € Ü�4˜ DÓ)¨B¨7Ô2°D·I±I¸bÔ4DØ�M‰M˜!ÕˆÜ˜T (¨4Ó0Ð0ˆßÜ˜B˜x¨Ó-ˆEØ—)‘)ˆCØ—*‘*ˆCØ�W‰W�R‰Z×GÐG §¡Ô0×FÐF°B·±Ñ4FˆØ�h‰h�r‰k×*Ð*˜bŸl˜l Uˆß—ØˆBØ×(Ñ(Ð)9Ó:ˆDß—dÙ“V�Ø—i‘i�Ø—j‘j�ß˜4Ÿ?Ÿ?˜?¯uØ×GÐG B×GÐG¨2×GÐG°#°s±(×GÐG¸sÀC¹xÔH‘ß˜˜RŸY™Yœ¨3°·±¬<Ø�à�H‰H�Q¯2˜Ÿš°4×3JÑ3JÐJÓMÔNØˆr#   c                ó   € R V P                   P                  : R\        \        V 4      4      : V P	                  4       : RRP                  V P                   Uu. uF  q"P                  4       NK  	  up4      : 2pV'       d   V^ V # V# u upi )rŒ   r�   z> containing :rÁ   )r�   r%   r�   r‘   r’   rß   r¾  r–   )r   r”   r¦   Úmsgs   &&  r    r–   ÚKeepTogether.identityè  sš   � Ø/3¯~©~×/FÔ/FÄsÌ2ÈdË8Å}ÐUY×UdÑUdÖUfÐgk×gpÑgpð  IM÷  IVò  IVó  rWñ  IVð  DE×r|Ñr|Ör~ñ  IVñ  rWõ  hXð  YˆßØ�q˜�=Ð àˆJùò	 rWs   ÁB)rÓ  rÔ  r¾  rÊ  rÕ  r�   )r%   r&   r'   r(   rÚ  r!   r²   r]   rp   r–   r*   r+   r,   s   @r    rÇ  rÇ  ­  s)   ø‡ € Ø€Jô$òSò	ò÷2ò r#   rÇ  c                   ó   € ] tR tRtRtRtRtR# )ÚKeepTogetherSplitAtTopiï  ze
Same as KeepTogether, but it will split content immediately if it cannot
fit at the top of a frame.
Tru   N)r%   r&   r'   r(   r)   rÚ  r*   ru   r#   r    rë  rë  ï  s   † ñð „Jr#   rë  c                   ó<   a € ] tR tRt o RtR tR tR tR tRt	V t
R# )	ÚMacroiö  z¤This is not actually drawn (i.e. it has zero height)
but is executed when it would fit in the frame.  Allows direct
access to the canvas through the object 'canvas'c                ó   € Wn         R # r�   ©Úcommand)r   rð  s   &&r    r!   ÚMacro.__init__ú  s   € ØŽr#   c                ó:   € R \        V P                  4      ,          # )z	Macro(%s))rÞ   rð  r   s   &r    r²   ÚMacro.__repr__ü  s   € ØœT $§,¡,Ó/Õ/Ð/r#   c                ó   € R# ©r1   r�  ru   rf   s   &&&r    r]   Ú
Macro.wrapþ  s   € Øˆr#   c                óN   € \        V P                  R RV P                  /R7       R # )NrW   )ÚgÚl)r   rð  r>   r   s   &r    r?   Ú
Macro.draw   s   € Ü�T—\‘\ T¨h°t·y±yÐ-A×Br#   rï  N©r%   r&   r'   r(   r)   r!   r²   r]   r?   r*   r+   r,   s   @r    rí  rí  ö  s%   ø‡ € ñ8òò0ò÷Cð Cr#   rí  c                  ó   € R # r�   ru   )ÚargsÚkwdss   *,r    Ú_nullCallablerÿ    s   € Ùr#   c                   ó@   a € ] tR tRt o RtR	R ltR tR tR tRt	V t
R# )
ÚCallerMacroi  zV
like Macro, but with callable command(s)
drawCallable(self)
wrapCallable(self,aW,aH)
Nc                óZ   € T;'       g    \         V n        T;'       g    \         V n        R # r�   )rÿ  Ú_drawCallableÚ_wrapCallable)r   ÚdrawCallableÚwrapCallables   &&&r    r!   ÚCallerMacro.__init__  s"   € Ø)×:Ð:¬]ˆÔØ)×:Ð:¬]ˆÖr#   c                ó@   € R V P                   : RV P                  : R2# )zCallerMacro(Ú,r±   ©r  r  r   s   &r    r²   ÚCallerMacro.__repr__  s   � Ø'+×'9Ô'9¸$×:LÔ:LÐMÐMr#   c                ó*   € V P                  WV4       R# rõ  )r  ©r   r^   r_   s   &&&r    r]   ÚCallerMacro.wrap  s   € Ø×Ñ˜4 2Ô&Øˆr#   c                ó(   € V P                  V 4       R # r�   )r  r   s   &r    r?   ÚCallerMacro.draw  s   € Ø×Ñ˜4Ö r#   r
  ©NNrû  r,   s   @r    r  r    s$   ø‡ € ñô
;òNò÷!ð !r#   r  c                   óL   a € ] tR tRt o RtRR ltR tR tR tR t	R t
R	tV tR
# )ÚParagraphAndImagei  z combine a Paragraph and an Imagec                óB   € Wn         W n        W0n        W@n        WPn        R # r�   )ÚPÚIÚxpadÚypadÚ_side)r   r  r  r  r  Úsides   &&&&&&r    r!   ÚParagraphAndImage.__init__  s   € ØŒØŒØŒ	ØŒ	ØŽ
r#   c                óz   € \        V P                  P                  4       V P                  P                  4       4      # r�   )ré   r  rƒ   r  r   s   &r    rƒ   Ú ParagraphAndImage.getSpaceBefore   s)   € Ü�4—6‘6×(Ñ(Ó*¨4¯6©6×+@Ñ+@Ó+BÓCÐCr#   c                óz   € \        V P                  P                  4       V P                  P                  4       4      # r�   )ré   r  r   r  r   s   &r    r   ÚParagraphAndImage.getSpaceAfter#  s)   € Ü�4—6‘6×'Ñ'Ó)¨$¯&©&×*>Ñ*>Ó*@ÓAÐAr#   c                ó.  € V P                   P                  W4      w  r4W0n        W@n        Wn        V P
                  pVP                  pV P                  pV P                  pVP                  p	VP                  p
W,
          VP                  ,
          pW·,
          V,
          pWÆP                  ,
          p^ Vn        \        WH,           V	R,          ,          4      pVP                  V.Wì.,          ,           V.,           4      Vn        V P                   R8X  d%   W7,           .^V,           ,          ^ .,           V n        \%        VP                  P&                  4      V	,          Vn        \+        WEP(                  4      V n        V P                  V P(                  3# )r1   rì   r£  )r  r]   ÚwIÚhIr4   r  rz   r  r  rä   rô   ÚrightIndentrî   rí   Ú
breakLinesÚblParar  Ú_offsetsr¼   r¾   r5   ré   )r   rg   rh   r!  r"  r  rz   r  r  rä   rô   Úlater_widthsÚintermediate_widthsÚfirst_line_widthÚnIWs   &&&            r    r]   ÚParagraphAndImage.wrap&  s3  € Ø—‘—‘˜ZÓ4‰ˆØŒØŒàŒ
Ø�F‰FˆØ—‘ˆØ�y‰yˆØ�y‰yˆØ—-‘-ˆØ×%Ñ%ˆ
Ø!Õ.°×1BÑ1BÕBˆØ*Õ1°BÕ6ÐØ.×1FÑ1FÕFÐØˆŒÜ�2•7˜W S�[Õ)Ó*ˆØ—<‘<Ð!1Ð 2°SÐ9NÕ5NÕ NÐP\È~Õ ]Ó^ˆŒØ�:‰:�vÔØ�W˜I q¨¥uÕ-¨q¨cÕ1ˆDŒMÜ�q—x‘x—~‘~Ó& wÕ.ˆŒÜ˜"ŸX™XÓ&ˆŒØ—
‘
˜DŸK™KÐ(Ð(r#   c                óî  € V P                   V P                  V P                  V P                  3w  r4rVWV,           V8”  g   \	        VP
                  4      ^ 8:  d   . # VP                  W4      pV'       g   V# V^ ,          ;q0n         V^  VP                  p\	        V P                   P                  P                  4      VP                  ,          Vn        \        WSP                  4      V n        V .V,           # r¨   )r  r!  r"  r  r¼   Úfragsrp   rz   r%  r¾   rä   r5   ré   )	r   rg   rh   r  r!  r"  r  rq   rz   s	   &&&      r    rp   ÚParagraphAndImage.split>  s±   € ØŸ&™& $§'¡'¨4¯7©7°D·I±IÐ=‰ˆˆrØ�7�;Ô¤# a§g¡g£,°¤/¸"°9Ø�G‰G�JÓ+ˆß˜�(Ø�q•TÐˆŒFØˆaˆDØ—‘ˆÜ�t—v‘v—}‘}×*Ñ*Ó+¨E¯M©MÕ9ˆŒÜ˜"ŸX™XÓ&ˆŒØˆv�a�xˆr#   c                ó¤  € V P                   pV P                  R 8X  d‘   V P                  P                  V^ V P                  V P
                  ,
          V P                  ,
          4       V P                  V P                  n         V P                  P                  V^ ^ 4       V P                  =R# V P                  P                  WP                  V P                  ,
          V P                  ,
          V P                  V P
                  ,
          V P                  ,
          4       V P                  P                  V^ ^ 4       R#   T P                  =i ; i)r£  N)r>   r  r  rZ   r5   r"  r  r&  r  r4   r!  r  r@   s   & r    r?   ÚParagraphAndImage.drawJ  sÔ   € Ø�y‰yˆØ�:‰:�vÔØ�F‰F�M‰M˜$˜q §¡¨T¯W©WÕ!4°T·Y±YÕ!>Ô?Ø"Ÿm™mˆD�F‰FŒOð$Ø—‘—‘˜d 1 QÔ'à—F‘F’Oà�F‰F�M‰M˜$Ÿz™z¨$¯'©'Õ1°$·)±)Õ;¸D¿K¹KÈÏÉÕ<OÐPT×PYÑPYÕ<YÔZØ�F‰F�M‰M˜$˜q Ö#øð —F‘F‘Oús   ÂE ÅE)
r  r  r&  r  r"  r5   r!  r4   r  r  N)é   r1  r¤  )r%   r&   r'   r(   r)   r!   rƒ   r   r]   rp   r?   r*   r+   r,   s   @r    r  r    s-   ø‡ € Ù*ôòDòBò)ò0
÷$ð $r#   r  c                   ó&   a € ] tR tRt o R tRtV tR# )Ú
FailOnWrapiW  c                ó   € \        R 4      h)z3FailOnWrap flowable wrapped and failing as ordered!©rI   rf   s   &&&r    r]   ÚFailOnWrap.wrapX  s   € ÜÐNÓOÐOr#   ru   N)r%   r&   r'   r(   r]   r*   r+   r,   s   @r    r3  r3  W  s   ø‡ € ÷Pð Pr#   r3  c                   ó,   a € ] tR tRt o R tR tRtV tR# )Ú
FailOnDrawi[  c                ó   € R# rõ  ru   rf   s   &&&r    r]   ÚFailOnDraw.wrap\  ó   € Øˆ
r#   c                ó   € \        R 4      h)z2FailOnDraw flowable drawn, and failing as ordered!r5  r   s   &r    r?   ÚFailOnDraw.draw_  s   € ÜÐMÓNÐNr#   ru   N)r%   r&   r'   r(   r]   r?   r*   r+   r,   s   @r    r8  r8  [  s   ø‡ € ò÷Oð Or#   r8  c            	       óR   a € ] tR tRt o RtR^R]^^RRR3	R ltR	 tR
 tR t	Rt
V tR# )Ú
HRFlowableib  zLike the hr tagz80%ÚroundrD   r3   Nc
                óœ   € \         P                  V 4       Wn        W n        W0n        WPn        W`n        W@n        Wpn        W€n	        W�n
        R # r�   )r/   r!   r4   Ú	lineWidthÚlineCapr‚   r~   Úcolorr7   r8   Údash)
r   r4   Ú	thicknessrC  rD  r‚   r~   r7   r8   rE  s
   &&&&&&&&&&r    r!   ÚHRFlowable.__init__d  s@   € ô 	×Ñ˜$ÔØŒ
Ø"ŒØŒØ&ÔØ$ŒØŒ
ØŒØŒØŽ	r#   c                ó@   € R V P                   : RV P                  : R2# )zHRFlowable(width=z	, height=r±   re   r   s   &r    r²   ÚHRFlowable.__repr__w  s   � Ø48·J´JÀÇÄÐLÐLr#   c                ó   € V P                   p\        V\        4      '       dP   VP                  4       pVP	                  R 4      '       d   V\        VRR 4      ,          R,          pM\        V4      p\        W14      pW0n        W0P                  3# )r/  Nr*  r   )	r4   rE  r   r½   Úendswithr7  r6  r#  rB  )r   rg   rh   r`   s   &&& r    r]   ÚHRFlowable.wrapz  sm   € Ø�J‰JˆÜ�aœ×!Ò!Ø—‘“	ˆAØ�z‰z˜#�Š J¬u°Q°s¸°V«}Õ$<¸TÕ$A¡Ü˜A“h�!Ü�ÓˆØŒØ—.‘.Ð Ð r#   c                óà  € V P                   pVP                  4        VP                  V P                  4       VP	                  R ^ R^R^/V P
                  P                  4       ,          4       VP                  V P                  4       V P                  '       d   VP                  V P                  4       VP                  ^ ^ V P                  V P                  4       VP                  4        R# )Úbuttr@  ÚsquareN)r>   rQ   ÚsetLineWidthrB  Ú
setLineCaprC  ÚlowerrS   rD  rE  ÚsetDashrµ   r#  r5   rU   r@   s   & r    r?   ÚHRFlowable.draw„  s¢   € Ø�y‰yˆØ�‰ÔØ×Ñ˜$Ÿ.™.Ô)Ø�‰˜  '¨!¨X°qÐ9¸$¿,¹,×:LÑ:LÓ:NÕOÔPØ×Ñ˜DŸJ™JÔ'Ø�9�9ˆ9�d—l‘l 4§9¡9Ô-Ø�	‰	�!�Q˜Ÿ™ T§[¡[Ô1Ø×ÑÖr#   )
r#  rD  rE  r7   rC  rB  r~   r‚   r8   r4   )r%   r&   r'   r(   r)   r   r!   r²   r]   r?   r*   r+   r,   s   @r    r?  r?  b  s;   ø‡ € ÙàØØØØ aØ HØôò&Mò!÷ð r#   r?  c                   ó&   a € ] tR tRt o R tRtV tR# )Ú_PTOInfoiŽ  c                óF   € \        V4      V n        \        V4      V n        R # r�   )r¹  ÚtrailerÚheader)r   rX  rY  s   &&&r    r!   Ú_PTOInfo.__init__�  s   € Ü'¨Ó0ˆŒÜ& vÓ.ˆŽr#   )rY  rX  N©r%   r&   r'   r(   r!   r*   r+   r,   s   @r    rV  rV  Ž  s   ø‡ € ÷/ð /r#   rV  c                 ó\   € \        V R 4      '       d   V P                  4       # \        V 4      # )r   )rH   r   )r©  s   &r    Ú	cdeepcopyr]  “  s%   € Üˆs�:×ÒØ�|‰|‹~Ðä˜‹}Ðr#   c                   ó4   a € ] tR tRt o RR ltRR ltRtV tR# )Ú
_Containeri™  Nc           	     óÔ  € ^ RI HpHp	 Tp
Tp^ pVf   V P                  pWu,          pVf   V P                  pV P                  W$V,          4      pW0P                  V,          ,          pTp\        V RR4      pV EFj  p\        '       g/   \        Wø4      '       d   VP                  VP                  4       K>  \        Wù4      '       dF   W/P                  V,          ,          pWP                  VP                  ,           V,          ,          pK”  VP                  WR4      w  ppV\        8  d   \        VRR4      '       g   KÉ  WÓ8w  d>   VP!                  4       p\        VRR4      '       g   V\#        VV,
          ^ 4      ,          pVV,          pVP%                  4       p\        VRR4      '       d   TpTp\        VRR4      pV'       dÑ   VR
,          P&                  '       d¸   VR
,          pVP                  pVP                  pVP(                  pW^P*                  V,
          V,
          ,          pW¥VVP,                  ,
          ,          ,           pVV,           V,           p\#        W³V,
          4      p\#        ^ VV,
          4      pVP/                  WVVVV4       Wïn        VP3                  WW7V,
          R	7       WöR
,          Jd   \        VRR4      '       g	   W<,          pV=EKm  	  R# )z"we simulate being added to a frame)ÚActionFlowabler›  Nr¢   rŸ  Ú	_ZEROSIZEr   FÚ	_frameBGs)rY   r   )r‘  ra  r›  r4   r¾  rN   r5   rl   r   rE  Úapplyr™   r£  r¤  rb   r   rƒ   ré   r   ÚactiveÚstartr#  Ú_leftPaddingÚrenderr¢   rZ   )r   r>   rK   rX   rY   rP  rÀ  r^   ra  r›  Úx0Úy0r°  Úytr£   rÁ  r`   ra   r²  ÚfbgÚbgÚfbglÚfbgrÚbgmÚfbwÚfbxÚfbhÚfbys   &&&&&&&&                    r    rZ   Ú_Container.drawOnš  sP  € çKØˆØˆØˆØŠ:˜DŸJ™J�rØ
�ˆØŠ?Ø—m‘mˆGØ×Ñ˜q U¥Ó+ˆØ	�[‰[˜ÕÕˆØˆÜ˜˜X dÓ+ˆÜˆAß)Ó)¬j¸×.JÒ.JØ—‘˜×)Ñ)Ô*ÙÜ˜!×%Ò%Ø—V‘V˜E•\Õ!�Ø—v‘v˜aŸg™g•~ uÕ,Õ,�ÙØ—8‘8˜D IÓ.‰DˆAˆqØ”Œwœw q¨°T×:Ò:¹HØŒuØ×$Ñ$Ó&�Ü˜qÐ!1°%×8Ò8Øœ˜Q˜r�T !›Õ$�AØ��FˆAØ—‘Ó!ˆAÜ�qÐ)¨%×0Ò0Ø�ØˆBÜ˜% ¨DÓ1ˆCß�s˜2•w—~—~�~Ø˜•W�Ø—w‘w�Ø—x‘x�Ø—h‘h�ØŸ\™\¨$Õ.¨tÕ3Õ4�Ø  U×%7Ñ%7Õ 7Õ8Õ8�Ø˜!•e˜b•j�Ü˜"˜r�T“l�Ü˜!˜C �G“n�Ø—	‘	˜$ S¨¨S°Ô5ØŒHØ�H‰H�T˜A Q¥$ˆHÔ'Ø �Ó#¬G°AÐ6FÀt×,LÒ,LØ•�Ø“óG r#   c                óœ   € . P                   pT;'       g    V P                   F  pV! \        V4      4       K  	  VP                  V n        R # r�   )rÃ   r¾  r]  Ú__self__)r   rÀ  ÚCrÁ  s   &&  r    ÚcopyContentÚ_Container.copyContentÍ  s:   € Ø�I‰IˆØ×*Ð*˜TŸ]™]Ò*ˆAÙŒi˜‹lŽOñ +àŸ
™
ˆŽr#   ©r¾  )r1   rì   NNr�   )r%   r&   r'   r(   rZ   ry  r*   r+   r,   s   @r    r_  r_  ™  s   ø‡ € ô1÷f#ò #r#   r_  c                   ó:   a € ] tR tRt o RtRR ltR tR tRtV t	R# )	ÚPTOContaineriÓ  a=  PTOContainer(contentList,trailerList,headerList)

A container for flowables decorated with trailer & header lists.
If the split operation would be called then the trailer and header
lists are injected before and after the split. This allows specialist
"please turn over" and "continued from previous" like behaviours.Nc                ó  € \        W#4      p. ;V n        p\        V4       Fa  p\        V\        4      '       d   VP                  VP                  4       K6  VP                  V4       \        VR 4      '       d   K[  WFn        Kc  	  R# )Ú_ptoinfoN)	rV  r¾  r¹  rE  r}  ÚextendrÃ   rH   r  )r   rÀ  rX  rY  r  rx  Ú_s   &&&&   r    r!   ÚPTOContainer.__init__Ú  s`   € Ü�WÓ$ˆØÐˆŒ˜Ü! 'Ö*ˆAÜ˜!œL×)Ò)Ø—‘˜Ÿ™Ö$à—‘˜”Ü˜q ×,Ô,¸1®jó +r#   c                óŒ   € \        V P                  WP                  4      w  V n        V n        V P                  V P                  3# r�   )r³  r¾  r>   r4   r5   rf   s   &&&r    r]   ÚPTOContainer.wrapä  s2   € Ü"-¨d¯m©m¸JÇyÁyÓ"QÑˆŒ
�D”KØ�z‰z˜$Ÿ+™+Ð%Ð%r#   c                ó  € ^ RI Hp V^ 8  d   . # V P                  pV P                  p^ ;p;p;p;rš\	        V4      p/ p^ ;rÞ\        V4       EFŸ  pWV,          pVP                  pVVP                  4       9  dg   VP                  pVP                  p\        VWP                  4      w  pp\	        V4      '       d   V^ ,          P                  4       pM^ pVVVV3VV&   MVV,          w  ppppVP                  WAR4      w  pp\        Wó4      '       dP   VP                  VP                  ,           pWßP                  ,          pWïP                  ,          pVV,          p^ p	^ p
MBV'       d+   \!        VP                  4       V	,
          ^ 4      p
VV
,          pVP#                  4       p	VVV	,           ,          pV\!        VV	4      ,           pVV,           V\$        ,
          8¼  d    MV^,          pEK¢  	  VXV	,           ,          pW(,
          X,
          V
,
          R,          pVRV,          8¼  d   XP'                  WAV4      pM. p\)        V4      \)        V4      ,           R8”  d   V! V) V) 4      .pV! WÞ4      .pM. ;ppV'       gy   TpV^8”  d<   WW^,
          ,          P+                  4       '       d   V^,          p^ WW,          n        KB  V^8X  d.   V^ ,          P+                  4       '       d   Tp^ V^ ,          n        \/        4       .p\	        V4      ^8”  dQ   VRV VR,          ,           V,           X,           V,           p XV,           VR,          ,           WW^,           R ,           p!M6V'       g   . # VRV V,           X,           V,           p XV,           WWR ,           p!T \1        T!XP                   Uu. uF  p\3        V4      NK  	  upVP                   Uu. uF  p\3        V4      NK  	  up4      .,           pV# u upi u upi )	r1   rž  rŸ  gwJëÿï?çš™™™™™©?ru  NºNr»   Nrº   )r‘  r›  r>   r¾  r¼   rÐ   r  ÚkeysrX  rY  r³  rƒ   rb   rE  r£  r¤  ré   r   r   rr   Úabsr{   ry   ro  r}  r   )"r   rg   rh   r›  r>   rx  rK   Úirá   r°  ÚhxÚnÚI2WÚdLeftÚdRightrÁ  r  ÚTÚHdrÚtWÚtHÚtSBr�  ra   ÚdwÚtHSr_   ÚSSÚR1IÚR2IÚjr§  ÚR1ÚR2s"   &&&                               r    rp   ÚPTOContainer.splitè  sk  € Ý;Ø�qŒ= ˜)Ø�y‰yˆØ�M‰MˆØÐˆÐˆAÐ�Ð�BÜ�‹FˆØˆØÐˆÜ�q—ˆAØ•ˆAØ—
‘
ˆAØ˜Ÿ™›
Ô"Ø—I‘I�Ø—h‘h�Ü$ Q¨
·I±IÓ>‘��BÜ�q—6’6Ø˜A�$×-Ñ-Ó/‘Cà�CØ˜2˜b ˜��A’à! !�f‘��"�R˜Ø—8‘8˜D¨IÓ6‰DˆAˆqÜ˜!×%Ò%Ø—V‘V˜AŸG™G•^�ØŸ™•�ØŸ'™'Õ!�Ø˜bÕ �
Ø�Ø‘çÜ˜Q×-Ñ-Ó/°Õ2°1Ó5�BØ˜•G�AØ—_‘_Ó&�Ø��2•�IˆAØ”S˜˜R“[•.ˆCØ��u�k¤%Õ'Ô'©Ø��F‹Añ= ðB 	
ˆa��d�ˆð �m˜CÕ Õ" GÕ+ˆØˆt�KÕÔØ—‘˜4¨2Ó.‰BàˆBäˆu‹:”c˜&“kÕ! $Ô&Ù˜U˜F F 7Ó+Ð,ˆCÙ˜EÓ)Ð*‰CàˆNˆC�#çØˆAØ�A”#˜!˜a�C�&×0Ñ0×2Ò2Ø�Q•�Ø$%�•Ö!à�!Œt˜˜!�×,Ñ,×.Ò.à�Ø$%��!•Ô!ä‹\ˆNˆäˆr‹7�1Œ9Ø�2�A��r˜"•v•˜cÕ! !Õ# AÕ%ˆBØ�S•˜˜B�•  A¥# $ Õ'‰BßØˆIà�2�A��s•˜1•˜Q•ˆBØ�S•˜˜2˜•ˆBØ”< °Q·Y²YÓ#?±Y°¤D¨¦G±YÑ#?ÐRS×RZÒRZÓ@[ÑRZÈQÄÀaÆÑRZÑ@[Ó\Ð]Õ]ˆØˆùò $@ùÒ@[s   Î0O8ÏO=)r¾  r5   r4   r  )
r%   r&   r'   r(   r)   r!   r]   rp   r*   r+   r,   s   @r    r}  r}  Ó  s!   ø‡ € ñIô=ò&÷Oð Or#   r}  c                 ó2  € R V ^,          ,          pR V ,          pR V^,          ,          pR V,          pWG,          WV,          ,
          pWx,          p	V) V,          p
V) V,          pWH,          pW’,          W£,          ,           pW²,          WÃ,          ,           pWÞ3# )rì   ru   )Ús0Ús1Úh0Úh1Úa11Úa12Úa21Úa22ÚdetÚb11Úb12Úb21Úb22rM   r  s   &&&&           r    Ú_hmodelr¬  :  s‚   € ð ˆR��U�(€CØ
ˆR�%€CØ
ˆR��U�(€CØ
ˆR�%€CØ
�'�#•'�/€CØ
�'€CØˆ$ˆs�(€CØˆ$ˆs�(€CØ
�'€CØ�ˆs�v�€AØ�ˆs�v�€AØˆ3€Jr#   c                ó>  € Vw  r#\        V4      \        8:  d	   W0,          # RV,          V,          p^ RIHp V ) V,          pWD,          V,
          pV^ 8  d   R# V! V4      pV^ 8¼  d   V) V,
          pM
V) V,           pWh,          p	\	        RV,          RV	,          4      # )z=solve the model v = a/s**2 + b/s for an s which gives us v==hrF   )ÚsqrtNrì   )r‰  r   Úmathr®  ré   )
ra   ÚabrM   r  Útr®  r¦   r•   r   Ús2s
   &&        r    Ú_qsolver³  J  sŒ   € à
�C€AÜ
ˆ1ƒvŒu„}Ø�sˆ
ØˆA�ˆa�€AÝØ	
ˆˆ1�€AØ	�ˆA�€AØˆ„s‘4ÙˆQ‹€AØˆ!„tØˆR�!�V‰àˆR�!�VˆØ	
�€BÜˆr�"�u�b˜•eÓÐr#   c                   óX   a € ] tR tRt o . ^RRRRR3R ltR tRR	 ltR
 tRR ltRt	V t
R# )ÚKeepInFramei\  Úshrinkr¤   r2   r3   Nc
                ó(  € W`n         Wn        W n        WPn        VR9   g   Q V P	                  4       : RV: 24       hV^ 8¼  g   Q V P	                  4       : RV: 24       hVf   \
        pW@n        T;'       g    . V n        W€n        Wpn	        W�n
        R# )a  mode describes the action to take when overflowing
error       raise an error in the normal way
continue    ignore ie just draw it and report maxWidth, maxHeight
shrink      shrinkToFit
truncate    fit as much as possible
set fakeWidth to False to make _listWrapOn do the 'right' thing
z invalid mode value z invalid maxHeight value N)ÚerrorÚoverflowr¶  Útruncate)ÚnameÚmaxWidthrÌ  Úmoder–   r   Ú
mergespacer¾  r8   r7   r«  )
r   r¼  rÌ  rÀ  r¨  r½  r»  r7   r8   r«  s
   &&&&&&&&&&r    r!   ÚKeepInFrame.__init__]  s…   € ð Œ	Ø ŒØ"ŒØŒ	ØÐ?Ô?ÐtÐ_c×_lÑ_lÖ_nÒosÐAtÓtÐ?Ø˜!Œ|Ð[ÀÇÁÆÒQZÐ[Ó[ˆ|ØÒÔ,@˜zØ$ŒØŸ˜ 2ˆŒØŒØŒØ"Žr#   c                ó^   € V P                   V P                  ,
          V P                  ,
          # r�   )r¼  Ú_leftExtraIndentÚ_rightExtraIndentr   s   &r    Ú_getAvailableWidthÚKeepInFrame._getAvailableWidthr  s"   € Ø�}‰}˜t×4Ñ4Õ4°t×7MÑ7MÕMÐMr#   c                óâ  € R V P                   P                  : R\        \        V 4      4      : V P	                  4       : \        V RR4      ;'       d    R\        V RR4      ,          ;'       g    R: R\        V RR4      ;'       d&    R\        \        V R^ 4      4      ,          ;'       g    R: R\        V R	R4      ;'       d%    R
\        \        V R	4      4      ,          ;'       g    R: 2
# )rŒ   r�   r»  r¤   ú
 name="%s"z> size=r¼  z maxWidth=%srK   rÌ  z maxHeight=%s)r�   r%   r�   r‘   r’   rl   r   r–  s   &&r    r–   ÚKeepInFrame.identityu  sÇ   � Ø.2¯n©n×.EÔ.EÄsÌ2ÈdË8Å}ÐVZ×VeÑVeÕVgÜ˜˜V BÓ'×SÐS¨\¼7À4ÈÈrÓ;RÕ-R×YÐYÐWYÒYÜ˜˜Z¨Ó+×cÐc°ÄÄwÈtÐT^Ð_`ÓGaÓ@bÕ1b×iÐiÐgiÒiÜ˜˜[¨Ó,×eÐe°Ä6Ì'ÐRVÐWbÓJcÓCdÕ1d×jÐjÐhjÑjðlð 	lr#   c           
     óò  a aa€ ^ RI Hp S P                  p\        \	        S P
                  ;'       g    TV4      4      o\        \	        S P                  ;'       g    TV4      4      pS P                  o\        S P                  SS P                  SR7      w  rgVR8X  dI   VS\        ,           8”  g   Wu\        ,           8”  d&   RV: RV: RS P                  ^4      : 2pV! V4      hVS\        ,           8:  d8   Wu\        ,           8:  d'   V\        ,
          S n        V\        ,
          S n        EM°VR	9   d:   \	        SV4      \        ,
          S n        \	        WW4      \        ,
          S n        EMpVVV 3R lp	Tp
Tp^pVS\        ,           8”  dY   VS,          pV	! V4      w  rgWu\        ,           8:  d/   V\        ,
          S n        V\        ,
          S n        VS n        Wg3# TpTpTp
Wu,          pV	! V4      w  rgV\        ,
          S n        V\        ,
          S n        VS n        V\	        RV,          V^
,
          4      8  g   Wu\        ,           8¼  dŒ   TpR
 Fƒ  p\!        V^V,
          ,          \#        WÍW¾4      4      pV	! V4      w  rgWu\        ,           8:  g   KD  VS\        ,           8:  g   KX  V\        ,
          S n        V\        ,
          S n        VS n         M	  S P                  S P                  3# )r1   )ÚLayoutError©r«  r¸  zcontent rK   z too large for c                 ó˜   <€ \        V 4      p \        SP                  V S,          SP                  SR 7      w  rW,          pW ,          pW3# )rÊ  )r7  r³  r¾  r>   )rK   r¯  rá   r«  r¼  r   s   &  €€€r    ÚfuncÚKeepInFrame.wrap.<locals>.func�  s@   ø€ Ü˜!“H�Ü" 4§=¡=°°8µ¸D¿I¹IÐQZÔ[‘�Ø•�Ø•�Ø�t�r#   gffffffî?)r¹  rº  )r1   r*  r†  çš™™™™™¹?g333333Ã?)r‘  rÉ  r½  r7  r6  r¼  rÌ  r«  r³  r¾  r>   r   r–   r4   r5   Ú_scaler³  r¬  )r   rg   rh   rÉ  r½  rÌ  r¯  rá   ÚidentrÌ  ÚW0ÚH0rŸ  r   ÚH1r¦   r²  r«  r¼  s   f&&              @@r    r]   ÚKeepInFrame.wrap{  sB  ú€ Ý>Ø�y‰yˆÜœ˜TŸ]™]×8Ð8¨j¸ÓDÓEˆÜœ#˜dŸn™n×;Ð;°¸KÓHÓIˆ	Ø—N‘Nˆ	Ü˜4Ÿ=™=¨°$·)±)ÀyÔQ‰ˆØ�'ŒM˜q ¬%¥Ô/°1¼uµ_Ô3DøÛ89»!¸D¿M¹MÈ"Õ<MÐNˆEá˜eÓ$Ð$Ø�œ•Ô 1´¥oÔ#5Øœ5�ˆDŒJØœE�'ˆDŽKØÐ,Ô,Ü˜X a›¬Õ.ˆDŒJÜ˜iÓ*¬5Õ0ˆDŽK÷ð ˆBØˆBØˆBØ�œ%•Ôà�x•Z�Ù˜B“x‘�Ø¤•oÔ%Ø!"¤5¥�D”JØ"#¤E¥'�D”KØ"$�D”KØ˜3�JØ�Ø�Ø�Ø•ˆBÙ˜“8‰DˆAØœ5�ˆDŒJØœE�'ˆDŒKØˆDŒKØ”�T˜)•^ I¨b¥LÓ1Ô1°QÄ%½Ô5Gð �Û2�Aä 	¨1¨Q­3¥´¸¸bÓ0DÓE�AÙ ›7‘D�AØ¤E�/Ö)¨a°¼%µÖ.?Ø%&¤u¥W˜œ
Ø&'¬¥g˜œØ&'˜œÙñ 3ð �z‰z˜4Ÿ;™;Ð&Ð&r#   c           	     óþ  € \        V R R4      pV P                  R8H  pVR8g  ;'       g    TpV'       d˜   VP                  4        V'       dL   VP                  4       pVP	                  W#V P
                  V P                  4       VP                  V^ R7       M4VP                  W#4       ^ ;r#VP                  RV,          RV,          4       \        P                  WW#WER7       V'       d   VP                  4        R# R# )rÏ  rì   rº  )Ústroke)rY   rP  N)rl   r½  rQ   Ú	beginPathrT   r4   r5   ÚclipPathrR   rP  r_  rZ   rU   )	r   r>   rK   rX   rY   rP  rº  ÚssÚps	   &&&&&    r    rZ   ÚKeepInFrame.drawOn·  sÁ   € Ü˜˜X cÓ*ˆØ—9‘9˜jÑ(ˆØ�C‰Z×#Ð#˜8ˆßØ�N‰NÔßØ—N‘NÓ$�Ø—‘�q˜TŸZ™Z¨¯©Ô4Ø—‘˜a q�Õ)à—‘˜qÔ#Ø��Ø—
‘
˜3˜u�9 c¨%¥iÔ0Ü×Ñ˜$ a°ÐÔAßˆt× Ñ Ö"‰2r#   )r¾  rÏ  r«  r7   r5   rÌ  r¼  r¾  r½  r»  r8   r4   r�   r¨   )r%   r&   r'   r(   r!   rÃ  r–   r]   rZ   r*   r+   r,   s   @r    rµ  rµ  \  s=   ø‡ € Ø46À1È8ÐZ\ÐdjÐrzð  GKô #ò*Nôlò:'÷x#ò #r#   rµ  c            
       óZ   a € ] tR tRt o ^tRtRt. ^RRRRRRRR	3
R
 ltR tRR lt	Rt
V tR# )ÚPlacedStoryiÈ  TÚswr¶  r¤   Nr2   r3   Úpagec                óˆ   € \        W4WVWxW¼R R7	      V n        Wn        W n        W�n        R V n        R V n        WÐn        Wàn        R # )N)rÀ  r¨  r½  r»  r7   r8   r«  )	rµ  ÚkifrK   rX   Úanchorr`   ra   ÚsbÚorigin)r   rK   rX   r¼  rÌ  rÀ  r¨  r½  r»  râ  r«  r7   r8   ÚshowBoundaryrä  s   &&&&&&&&&&&&&&&r    r!   ÚPlacedStory.__init__Ì  sD   € ô ˜x¸GØ"°VÐUYô[ˆŒàŒØŒØŒØˆŒØˆŒØŒØŽr#   c                ó  € V P                   fy   \        V R4      V P                  n        V P                  P	                  V P                  P
                  V P                  P                  4      w  V n         V n        V P                  =R# )Nr>   r�  )r`   rl   rá  r>   r]   r¼  rÌ  ra   )r   Ú_aWÚ_aHs   &&&r    r]   ÚPlacedStory.wrapÙ  s[   € à�6‰6Š>Ü# D¨Ó0ˆD�H‰HŒMØ!ŸX™XŸ]™]¨4¯8©8×+<Ñ+<¸T¿X¹X×=OÑ=OÓP‰NˆDŒF�D”FØ—‘�Øˆ
r#   c                ó   € V P                   f   V P                  ^ ^ 4       V P                  pVR8X  d   ^ ;rgMbVR8X  d   TpTpMVVR8X  d@   \        V RR 4      pV'       g   V P	                  R4      pVP
                  pVP                  pM\        RV: R24      hV P                  p	W�P                  9  d   \        RV	: RV P                   24      hV	R	9   d   WpP                  ,          pM V	R
9   d   WpP                  ^,          ,          pV	R9   d   W`P                   ^,          ,          pMV	R9   d   W`P                   ,          pV P                  V,           p
V P                  V,           pV P                  P                  WV4       V P                  '       d5   VP!                  V P                  W«V P                   V P                  4       R # R # )Nrß  Úlocalr£   r¢   zPlacedStory invalid origin=z" not in "page", "frame" or "local"zPlacedStory invalid anchor=z not in )ÚnwrŒ  Úne)r`   rÁ  Úe)rŒ  rÁ  r²  )rî  rï  Úse)r`   r]   rä  rl   rŸ   Úx1Úy1rI   râ  Ú_anchorsra   rK   rX   rá  rZ   rã  ÚdrawBoundary)r   r>   ÚlxÚlyrY   rä  rR  rS  r�  râ  rK   rX   s   &&&&&       r    rZ   ÚPlacedStory.drawOná  sk  € à�6‰6Š>˜4Ÿ9™9 Q qœ>Ø—‘ˆØ�6Œ>ØˆKˆB�Ø�WŒ_ØˆBØ‰BØ�WŒ_Ü˜˜X dÓ+ˆAß˜$×/Ñ/°Ó8�aØ—‘ˆBØ—‘‰BäÐ;°F±9Ð<^Ð_Ó`Ð`à—‘ˆØŸ™Ô&ÜÐ;°F±9¸HÀTÇ]Á]ÀOÐTÓUÐUØ�_Ô$Ø—&‘&�L‰BØ�}Ô$Ø—&‘&˜1•*ÕˆBØ�]Ô"Ø—&‘&˜•(�N‰BØ�Ô&Ø—&‘&�LˆBØ�F‰F�R�KˆØ�F‰F�R�Kˆà�‰�‰˜˜qÔ!Ø�7�7ˆ7�D×%Ñ% d§g¡g¨a°$·&±&¸¿¹Ö@‰7r#   )râ  ra   rá  rä  rã  r`   rK   rX   )	rí  rŒ  rî  r`   rÁ  rï  rÞ  r²  rð  r¨   )r%   r&   r'   r(   rb  r   ró  r!   r]   rZ   r*   r+   r,   s   @r    rÝ  rÝ  È  sC   ø‡ € Ø€IØ€NØ8€HØ:<ÈÐQYØ¨¸ÀVÐS[Ø%)°&ôò÷ Aò  Ar#   rÝ  c                   ó4   a € ] tR tRt o RR ltRR ltRtV tR# )Ú_FindSplitterMixini  Nc                ó\  € ^ p^ p	^ ;r«^p\        V \        4      '       d0   \        V R4      '       d   V P                  4       MV P                  pMV P                  V4      p\        V4       EF  w  rï\        VR4      '       d>   ^ RIHp \        VV4      '       d$   W/P                  VP                  ,           ,          pKU  VP                  WR4      w  ppV\        8:  g   V\        8:  d   K‚  \        VV4      pV'       g6   VP                  4       pV'       d   \        VV
,
          ^ 4      pV	V,          p	MVe   VP                  4       Vn        ^ pW“8¼  g   VV8”  d   WƒVRV WÞR 3u # V	V,          p	W“8”  dú   W9V,
          ,
          pV'       d„   ^ RIHp \        VV\"        34      '       df   VP$                  P&                  pV\)        V\+        V4      ,          4      ,          \        ,           pVV8  d
   VV,          pVVV,
          ,          pTp \-        V4      P/                  WV4      pT'       g   YƒTRT YÞR 3u # YƒTRT TR,          ,           TR,          YÞ^,           R ,           3u # VP1                  4       p
Wš,          p	EK"  	  Ve   W¥n        W‰V
,
          V. 3#    Rp L|; i)	r™  Ú
_flowablesr�  rž  rŸ  N©Ú	Paragraphr‡  rº   )rE  ÚListFlowablerH   Ú_getContentÚ_list_contentÚ	enumerater‘  r›  r£  r¤  rb   r   ré   rƒ   r¥  Úreportlab.platypus.paragraphrý  rÖ   rz   rä   rí   r7  r]  rr   r   r¦  )r   r>   rg   rh   r¨  r©  rÀ  ÚparaFixr¯  rá   r°  ÚsBr±  r§  rŠ  r¦   r›  r`   ra   r²  r_   rý  rä   ÚnHrq   s   &&&&&&&&                 r    Ú
_findSplitÚ_FindSplitterMixin._findSplit  sL  € àˆØˆØˆˆØˆÜ�dœ<×(Ò(Ü&-¨d°<×&@Ò&@�× Ñ Ô"Àd×FXÑFX‰Aà× Ñ  Ó)ˆAÜ˜Q—<‰CˆAÜ�q˜×'Ò'ÝCÜ˜a ×)Ò)Ø§&¡&¨¯©¥.Õ0�JÙØ—(‘(˜4¨9Ó5‰CˆAˆaØ”%Œx˜1œeœ8¡XÜ�A�a“ˆAßØ×$Ñ$Ó&�ß¤3 q¨¥t¨A£;˜qØ�Q•‘à’?°q×7GÑ7GÓ7I CÔ$4Ø�ØŒ~  :¤Ø q¨¨! u¨Q¨r¨UÐ2Ò2Ø��FˆAØŒ}Ø  A¥#Õ&�ßÝFÜ! ! Y¬|Ð$<×=Ò=Ø"#§'¡'§/¡/˜Ø$¤S¨¬E°'«NÕ):Ó%;Õ;¼EÕA˜Ø˜bœ5 "¨¥- "Ø# r¨"¥uÕ,˜Ø˜ðÜ! !›×,Ñ,¨T¸RÓ@�A÷ Ø¨1¨R¨a¨5°°2°Ð6Ò6à¨¨2¨A¨¨q°­u­°Q°rµU¸1¸q½S¸T¸7µ]ÐBÒBØ—‘Ó"ˆBØ�G‹AñM  ðP Š?¨bœOØ�B•$˜˜2ˆ~ÐøðØ’Aús   ÈJ%Ê%J+c                óÐ   € . pVe   TMV P                   pV FK  p\        V\        4      '       d"   VP                  VP	                  4       4       K:  VP                  V4       KM  	  V# r�   )r¾  rE  rþ  r€  rÿ  rÃ   )r   rÀ  r§  rx  r¦   s   &&   r    rÿ  Ú_FindSplitterMixin._getContent9  sR   € ØˆØÒ*‰G°·±ˆÛˆAÜ˜!œL×)Ò)Ø—‘˜Ÿ™›Ö)à—‘˜–ñ	 ð
 ˆr#   ru   )r»   NNTr�   )r%   r&   r'   r(   r  rÿ  r*   r+   r,   s   @r    rù  rù    s   ø‡ € ô3÷jò r#   rù  c                   ó\   a € ] tR tRt o 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# )ÚImageAndFlowablesiC  ú(combine a list of flowables and an ImageNc	                óz   € \        V4      V n        Wn        W@n        W0n        W`n        WPn        Wpn        W€n        R # r�   )	r¹  r¾  Ú_IÚ_irpadÚ_ilpadÚ_ibpadÚ_itpadr  Ú	imageHref)	r   r  r§  ÚimageLeftPaddingÚimageRightPaddingÚimageTopPaddingÚimageBottomPaddingÚ	imageSider  s	   &&&&&&&&&r    r!   ÚImageAndFlowables.__init__E  s1   € ä(¨Ó+ˆŒØŒØ'ŒØ&ŒØ(ŒØ%ŒØŒ
Ø"Žr#   c                ó\   € \        V 4      pV P                  4        VP                  4        V# r�   )r   Ú_resetry  )r   rÁ  s   & r    r   ÚImageAndFlowables.deepcopyP  s"   € Ü�‹JˆØ�‰ŒØ	�‰ŒØˆr#   c                óÀ   € \        V R 4      '       d   V P                  pM+\        V R4      '       d   V P                  pMV P                  p\        P                  W4      # )Ú_C1Ú_C0)rH   r  r  r¾  r_  r   )r   rx  s   & r    r   ÚImageAndFlowables.getSpaceAfterV  sH   € Ü�4˜×ÒØ—‘‰AÜ�T˜%× Ò Ø—‘‰Aà—‘ˆAÜ×'Ñ'¨Ó/Ð/r#   c                óp   € \        V P                  P                  4       \        P                  V 4      4      # r�   )ré   r  rƒ   r_  r   s   &r    rƒ   Ú ImageAndFlowables.getSpaceBefore_  s'   € Ü�4—7‘7×)Ñ)Ó+¬J×,EÑ,EÀdÓ,KÓLÐLr#   c                ó@   € R F  p \        W4       K  	  R#     K  ; i)Ú	_wrapArgsN)r$  r  r  )Údelattrrž   s   & r    r  ÚImageAndFlowables._resetb  s"   € Û*ˆAðÜ˜–ó +øðÚús   ‡˜c                óÀ  € V P                   pV P                  p\        V R 4      '       dZ   V P                  W38X  d(   \	        VRR4      f   V P
                  V P                  3# V P                  4        VP                  4        W3V n        VP                  W4       VP                  W4      w  rVWPn        W`n        V P                  pV P                  pV P                  p	V P                   p
W,
          V,
          V,
          ;V n        pW¦,           V	,           pV\$        8”  d"   V P'                  W;V4      w  rÞV n        V n        MTp^ pWÛ\$        ,           8”  d   . V n        V P,                  V n        \/        WÎ4      ;qÀn        Wn        V P*                  '       g   WÀn        M'\3        V P*                  W4      w  ppVV,           V n        V P
                  V P                  3# )r$  r<  N)r>   r  rH   r$  rl   r4   r5   r  rA  r]   r=  Ú_wIÚ_hIr  r  r  r  Ú_iWr   r  r  r  r¾  ré   ré  r³  )r   rg   rh   r>   r  r!  r"  ÚilpadÚirpadÚibpadÚitpadÚiWr_   r¯  rÒ  ÚW1rÓ  s   &&&              r    r]   ÚImageAndFlowables.wrapi  sz  € Ø�y‰yˆØ�G‰GˆÜ�4˜×$Ò$Ø�~‰~ 
Ð7Ô7¼GÀAÀnÐUYÓ<ZÒ<bØ—z‘z $§+¡+Ð-Ð-Ø�K‰KŒMØ×ÑÔØ#Ð0ˆŒØ	�‰ˆzÔ&Ø—‘ Ó8‰ˆØŒØŒØ—‘ˆØ—‘ˆØ—‘ˆØ—‘ˆØ"Õ*¨RÕ/°%Õ7Ð7ˆŒ�2Ø�Z˜%ÕˆØŒeŒ8Ø%)§_¡_°T¸RÓ%@Ñ"ˆA�”˜$�(àˆAØˆBØ”�XŒ:ØˆDŒHØ—}‘}ˆDŒHÜ˜B›
Ð"ˆŒXØŒ
Ø�x�xˆxØ�Kä §¡¨Ó9‰EˆBˆrØ˜R�%ˆDŒKØ�z‰z˜4Ÿ;™;Ð&Ð&r#   c                óÈ  € \        V R 4      '       dN   V P                  pV P                  W38w  g   \        VRR4      e!   V P	                  4        VP                  4        V P                  W4      w  rEV P                  V8”  d   . # V P                  pV'       dW   V^ ,          P                  WV P                  ,
          4      pV'       g   . pM$V^ ,          .pVR,          VR,          ,           pM. p\        V P                  V P                  V,           V P                  V P                  V P                  V P                  V P                   V P"                  R7      .V,           # )r$  r<  Nrº   )r  r  r  r  r  r  )rH   r  r$  rl   r  rA  r]   ré  r  rp   r  r  r  r  r  r  r  r  )	r   rg   rh   r  r¯  rá   rà  rq   r  s	   &&&      r    rp   ÚImageAndFlowables.split�  s  € Ü�4˜×$Ò$Ø—‘ˆAØ�~‰~ 
Ð7Ô7¼7À1À^ÐTXÓ;YÒ;eØ—‘”Ø×!Ñ!Ô#Ø�I‰I�jÓ-‰ˆØ�8‰8�KÔ¨ Ø�X‰XˆßØ�1•—‘˜J°4·8±8Õ';Ó<ˆAßØ‘à˜•t�f�Ø�r•U˜2˜b�6•\‘àˆCÜ!Ø—G‘GØ—H‘H˜S•LØ%)§[¡[Ø&*§k¡kØ$(§K¡KØ'+§{¡{Ø"Ÿj™j°D·N±NôDð ð õð 	r#   c           	     óÒ  € V P                   R 8X  d7   W P                  ,           pWPP                  ,           V P                  ,           pM6W P                  ,           V P                  ,
          V P                  ,
          pTpV P
                  P                  WW0P                  ,           V P                  ,
          V P                  ,
          4       V P                  '       du   VP                  V P                  WSV P                  ,           V P                  ,
          V P                  ,
          WPP                  ,           W0P                  ,           3^R7       V P                  '       d.   \        P                  WWcV P                  V P                  R7       V P                  '       dE   V P                   w  rx\        P                  WW#V P"                  ,
          V P                  VR7       R# R# )r£  )Úrelative)rÀ  r^   N)r  r  r  r(  r4   r  rZ   r5   r  r)  r  ÚlinkURLr  r_  r*  r  r$  ré  )	r   r>   rK   rX   rY   ÚIxÚFxr^   r_   s	   &&&&&    r    rZ   ÚImageAndFlowables.drawOn©  s2  € Ø�:‰:�vÔØ—[‘[•ˆBØ—[‘[• 4§8¡8Õ+‰Bà—Z‘Z• §¡Õ(¨¯©Õ4ˆBØˆBØ�‰�‰�t˜q§¡�}¨T¯[©[Õ8¸¿¹ÕAÔBà�>�>ˆ>Ø�L‰L˜Ÿ™¨"°·±­m¸D¿K¹KÕ.GÈÏÉÕ.PÐRT×W_ÑW_ÕR_Ðab×cnÑcnÕanÐ)oÐz{ˆLÔ|à�8�8ˆ8Ü×Ñ˜d¨"¸¿¹ÀdÇhÁhÐÔOØ�8�8ˆ8Ø—^‘^‰FˆBÜ×Ñ˜d¨!¨t¯x©x­ZÀÇÁÈRÐÖPñ r#   )r  r  r  ré  r¾  r)  r*  r  r  r  r  r  r(  r$  r5   r  r4   )r1   r1  r1   r1  r¤  Nr¨   )r%   r&   r'   r(   r)   r!   r   r   rƒ   r  r]   rp   rZ   r*   r+   r,   s   @r    r  r  C  s9   ø‡ € Ù2ô	#òò0òMòò"'òH÷8Qò Qr#   r  c                   óB   a € ] tR tRt o ^tRtRR ltR tR	R ltRt	V t
R# )
Ú_AbsRecti»  TNc	                óf   € Wn         W n        W0n        W@n        W`n        Wpn        WPn        W€n        R # r�   )Ú_xÚ_yr#  r$  Ú_strokeColorÚ
_fillColorÚ_strokeWidthÚ_strokeDashArray)	r   rK   rX   r4   r5   ÚstrokeWidthÚstrokeColorÚ	fillColorÚstrokeDashArrays	   &&&&&&&&&r    r!   Ú_AbsRect.__init__¾  s-   € ØŒØŒØŒØŒØ'ÔØ#ŒØ'ÔØ /Ör#   c                ó   € R# rõ  ru   rf   s   &&&r    r]   Ú_AbsRect.wrapÈ  r;  r#   c           	     óà  € V P                   \        8”  EdX   V P                  \        8”  Ed@   V P                  ;'       d&    V P                  R J;'       d    V P                  ^ 8¬  pV'       g   V P
                  '       dë   VP                  4        V'       d7   VP                  V P                  4       VP                  V P                  4       V P
                  '       d   VP                  V P
                  4       TP                  V P                  V P                  V P                   V P                  V'       d   ^M^ V P
                  '       d   ^M^ R7       VP                  4        R # R # R # R # ©N)rÖ  Úfill)r#  r   r$  r?  rA  r@  rQ   rS   rP  r÷   rT   r=  r>  rU   )r   r>   rK   rX   rY   Ústs   &&&&& r    rZ   Ú_AbsRect.drawOnË  sü   € Ø�;‰;”uÕ §¡¬eÕ!3Ø×"Ñ"×]Ð] t×'8Ñ'8ÀÐ'D×]Ð]È×IZÑIZÐ\]ÑI]ˆBß�T—_—_�_Ø—‘Ô ßØ×'Ñ'¨×(9Ñ(9Ô:Ø×%Ñ% d×&7Ñ&7Ô8Ø—?—?�?Ø×%Ñ% d§o¡oÔ6Ø—	‘	˜$Ÿ'™' $§'¡'¨$¯+©+°d·l±lÏrÉ!ÐWXÐdh×ds×dsÐdsÑ_`Ðyz�	Ô{Ø×!Ñ!Ö#ñ %ñ "4Ñr#   )r@  r$  r?  rB  rA  r#  r=  r>  )r1   NNNr¨   ©r%   r&   r'   r(   rb  r   r!   r]   rZ   r*   r+   r,   s   @r    r;  r;  »  s#   ø‡ € Ø€IØ€Nô0ò÷$ò $r#   r;  c                   ó:   a € ] tR tRt o ^tRtR tR tR tRt	V t
R# )Ú	_ExtendBGiØ  Tc                ó*   € Wn         W n        W0n        R # r�   )r>  r$  Ú_bg)r   rX   r5   rm  r£   s   &&&&&r    r!   Ú_ExtendBG.__init__Û  s   € ØŒØŒØŽr#   c                ó   € R# rõ  ru   rf   s   &&&r    r]   Ú_ExtendBG.wrapà  r;  r#   c                ó2  € V P                   pV P                  pV P                  pVP                  pVP                  V,
          VP
                  ,
          pVP                  V,
          pV P                  pVP                  4       p	VP                  W�WsWd4       R # r�   )
rS  r>  r$  r£  r#  r¤  Ú_x1r>   ÚgetPageNumberrh  )
r   r£   rm  rt  rs  rn  rq  rr  r>   Úpns
   &&        r    r�  Ú_ExtendBG.frameActionã  sr   € Ø�X‰XˆØ�g‰gˆØ�l‰lˆØ�w‰wˆØ�l‰l˜TÕ! B§H¡HÕ,ˆØ�i‰i˜$ÕˆØ�y‰yˆØ×ÑÓ!ˆØ
�	‰	�$˜S SÖ-r#   )rS  r$  r>  N)r%   r&   r'   r(   rb  r   r!   r]   r�  r*   r+   r,   s   @r    rQ  rQ  Ø  s#   ø‡ € Ø€IØ€Nòò
÷	.ð 	.r#   rQ  c                   óB   a € ] tR tRt o ^tRtRR ltR tR	R ltRt	V t
R# )
Ú_AbsLineiî  TNc                óZ   € Wn         W n        W0n        W@n        W`n        WPn        Wpn        R # r�   )r=  r>  rX  Ú_y1r?  rA  rB  )r   rK   rX   rñ  rò  rC  rD  rF  s   &&&&&&&&r    r!   Ú_AbsLine.__init__ñ  s(   € ØŒØŒØŒØŒØ'ÔØ'ÔØ /Ör#   c                ó   € R# rõ  ru   rf   s   &&&r    r]   Ú_AbsLine.wrapú  r;  r#   c                ó˜  € V P                   '       d¸   V P                  e¨   V P                  ^ 8¼  d•   VP                  4        VP                  V P                   4       VP	                  V P                  4       VP                  V P                  V P                  V P                  V P                  4       VP                  4        R # R # R # R # r�   )r?  rA  rQ   rS   rP  rµ   r=  r>  rX  r_  rU   ©r   r>   rK   rX   rY   s   &&&&&r    rZ   Ú_AbsLine.drawOný  s”   € Ø××Ð ×!2Ñ!2Ò!>À4×CTÑCTÐVWÔCWØ�N‰NÔØ×Ñ × 1Ñ 1Ô2Ø×Ñ˜d×/Ñ/Ô0Ø�I‰I�d—g‘g˜dŸg™g d§h¡h¨t¯x©xÔ8Ø×ÑÖñ DXÑ!>Ñr#   )r?  rB  rA  r=  rX  r>  r_  )r1   NNr¨   rO  r,   s   @r    r]  r]  î  s#   ø‡ € Ø€IØ€Nô0ò÷ ò  r#   r]  c                   óP   a € ] tR tRt o RtRR ltRR ltR tR tR t	R	 t
R
tV tR# )ÚBalancedColumnsi  r  Nc                ó¤  € T;'       g    R \        V 4      ,          V n        V^8  d"   \        RV: RV P                  4       : 24      h\	        V4      V n        W n        WPn        Wpn        W€n	        W�n
        W n        W°n        W@n        V\        ,
          V n        W`n        WÐn        Wàn        Wðn        VV n        VV n        VV n        VV n        R# )zBalancedColumns-%dznCols should be at least 2 not z in N)r‘   r»  rI   Ú
identitityr¹  r¾  Ú_nColsr~   rg  Ú_innerPaddingÚ_rightPaddingÚ_topPaddingÚ_bottomPaddingr‚   r   Ú_neededrå  ÚendSlackÚ_boxStrokeColorÚ_boxStrokeWidthÚ_boxFillColorÚ
_boxMarginÚ_vLinesStrokeColorÚ_vLinesStrokeWidth)r   r§  ÚnColsÚneededr‚   r~   rå  ÚleftPaddingÚinnerPaddingÚrightPaddingÚ
topPaddingÚbottomPaddingr»  rp  ÚboxStrokeColorÚboxStrokeWidthÚboxFillColorÚ	boxMarginÚvLinesStrokeColorÚvLinesStrokeWidths   &&&&&&&&&&&&&&&&&&&&r    r!   ÚBalancedColumns.__init__  s¹   € ð ×;Ð;Ð0´2°d³8Õ;ˆŒ	Ø�!Œ8ÝË%ÐPT×P_ÑP_ÕPaÐbÓcÐcÜ(¨Ó+ˆŒØŒØ$ŒØ'ÔØ)ÔØ)ÔØ%ÔØ+ÔØ&ÔØ¤•~ˆŒØ(ÔØ ŒØ-ÔØ-ÔØ)ˆÔØ#ˆŒØ"3ˆÔØ"3ˆÖr#   c                ó
  € R V P                   P                  : RV P                  : R\        \	        V 4      4      : V P                  4       : \        V RR4      ;'       d    R\        V RR4      ,          ;'       g    R: R2	# )rŒ   z nCols=r�   r»  r¤   rÆ  rŽ   )r�   r%   rj  r�   r‘   r’   rl   r–  s   &&r    r–   ÚBalancedColumns.identity'  sh   � Ø,0¯N©N×,CÔ,CÀTÇ[Ä[ÔRUÔVXÐY]ÓV^ÕR_Ðae×apÑapÕarÜ˜˜V BÓ'×SÐS¨\¼7À4ÈÈrÓ;RÕ-R×YÐYÐWYÒYðð 	r#   c                ó   € V P                   # r�   )r~   r   s   &r    r   ÚBalancedColumns.getSpaceAfter,  s   € Ø�‰Ðr#   c                ó   € V P                   # r�   )r‚   r   s   &r    rƒ   ÚBalancedColumns.getSpaceBefore/  s   € Ø×ÑÐr#   c                ód  a aCaDaEaFaGaHaI€ . pS P                   oG^ RIHpHpHp ^ RIHp ^ RIHp S P                  f   SGP                  MS P                  p	S P                  f   SGP                  MS P                  p
S P                  f   SGP                  MS P                  pS P                  f   SGP                  MS P                  pSGP                  pSGP                  pS P                  f   \        Wš4      MS P                  pVR,          pS P                   oES P"                  oHWSH^,
          ,          ,
          V	,
          V
,
          \%        SH4      ,          oFTpW+V,           ,          pS P'                  SESFSHV,          RR7      w  ppppV'       gf   \)        S P+                  4       : RV: R	V: R
SF: RSHV,          : RS P,                   Uu. uF  pVP.                  P0                  NK  	  up: 24      h/ oDR1VDVEVFVHV 3R lloI^ pV'       d   TpEM%^ RIpVDVI3R lp^VP5                  ^4      ^,           ^,          3VD3R llp\7        \9        V\%        SH4      ,          S P:                  R,          ,           4      V4      pSI! V4       SDV,          ^,          '       g.   V! VVV4      pV'       d   Vw  ppppTpRpMkTpS P<                  pM\V\%        SH4      ,          pSI! V4       SDV,          ^,          '       g-   V! VVV4      pV'       d   Vw  ppppTpRpMTpS P<                  pV'       d   Q R4       hSI! VV4      w  ppppSDP?                  4        V^ ,          . 8X  d+   V^,          . 8X  d   V'       d   VV^,          .V^ ,          ppSGP@                  p SGPB                  p!SGPD                  p"V!V,           V,           V,           p#VV,           V,           p$V#V$,
          p%V\%        SH4      ,          p&V'       g	   V'       d   V! V) V) 4      p'V! WÞ4      p(MR;p'p(S PF                  e   S PF                  MSGPF                  p)V V,           SGP                  ,           p*\I        SH4       U+u. uFf  p+T! V*V+V&,          ,           T%T&T$V+'       g   T	MTTV+SH^,
          8X  d   T
MTVRS PJ                  V+3,          V)SGPL                  SGPN                  R7      NKh  	  p,p+S PQ                  R4      oCSCf   V! RS P+                  4       ,          4      h\S        SGRR4      p-V-'       d
   V-R2,          MR;p.p/ ! VCVG3R lRV4      p0V/'       d    \U        V%V$V/SG4      p.VPW                  V.4       SCPX                  p1VPW                  V0! . V,V,^ ,          4      4       V''       d   VPW                  V'4       S PZ                  ;'       d,    S P\                  ;'       d    S P\                  ^ 8¬  ;'       g    S P^                  p2S P`                  ;'       d$    S Pb                  ;'       d    S Pb                  ^ 8¬  p3V2'       g
   V3'       Ed"   S Pd                  p4V4'       g   R3p4\g        V44      ^8X  d   V4^ ,          ;p5;p6;p7p8M¥\g        V44      ^8X  d   V4^ ,          ;p5p8V4^,          ;p6p7M~\g        V44      ^8X  d   V4^ ,          p5V4^,          ;p6p7V4^,          p8MP\g        V44      ^8X  d&   V4^ ,          p5V4^,          p7V4^,          p8V4^,          p6M\)        R\i        V44      ,          4      hV*V6,
          p9V,R2,          P@                  V,R2,          PD                  ,           V7,           p:V%V8,
          p;V$V5,           V8,           p<V;V<,           p=V2'       d8   \k        V9V;V:V9,
          V<S P^                  S PZ                  S P\                  R7      p>V3'       d¢   . p?\I        ^SH4       F�  p+RV,V+,          P@                  V,V+^,
          ,          P@                  ,           V,V+^,
          ,          PD                  ,           ,          p@V?PW                  \m        V@V;V@V=S Pb                  S P`                  R7      4       K‘  	  MT#p=T%p;V2'       d   VPW                  X>4       V3'       d   VPo                  X?4       S Pq                  4       pA\I        SH4       Fo  p+VV+,          pBVB'       d;   \s        VVXBRR7      pB\        XAVBPq                  4       4      pAVPW                  VB4       V+SH^,
          8w  g   K^  VPW                  V4       Kq  	  VPW                  V0! V-V1SG4      4       V.'       dE   V'       d   ^ pA\7        V%V;4      XA,
          V.n:        \        V#V=4      V.Pt                  ,
          V.n;        V('       d   VPW                  V(4       V'       Ed   VPW                  \y        V3/ RSHbRS Pz                  bR S P|                  bR!S P:                  bR"S PF                  bR#S P                  bR$S P                  bR%S P                  bR&S P                  bR'S P                  bR(S PJ                  R),           bR*S P<                  bR+S PZ                  bR,S P\                  bR-S P^                  bR.S Pd                  bR/S P`                  bR0S Pb                  b 4       V$V3# u upi u up+i )4r1   )rÉ  ra  r›  ©ÚFramerŽ  NrF   F)r  z cannot make initial split aW=z aH=z ie cw=z ah=z	
content=c           	      ó  <€ V S9  dï   . p^ p^ pRpV'       d
   S^,
          MRp\        S4       F�  pSP                  SSWRR7      w  r‰r«\        W84      p\        WI4      pVP                  V
4       Wv8X  dT   SP                  SS^V ,          VRR7      w  rÍrïV^V,           V ,          8:  d   VP                  V4       V R,
          p. p MTpKŸ  	  V R\	        V. 8g  4      ,          ,           V. 8H  W4W%33SV &   SV ,          ^,          # )r1   NF)rÀ  r  g�íµ ÷Æ°>i † r   )rÐ   r  ré   rÃ   rí   )Úahrp  rÁ  r`   ra   ÚcnÚicheckrŠ  ÚwiÚhiÚc0Úc1ÚwcÚhcÚcc0Úcc1Ú_fresr>   Úcwrw  r   s   &&              €€€€€r    Ú	splitFuncÚ5BalancedColumns._generated_content.<locals>.splitFuncM  s  ø€ Ø˜ŒØ�Ø�Ø�Ø�ß$,˜˜qž°"�Ü˜už�AØ%)§_¡_°T¸"¸RÐSX _Ó%Y‘N�B˜BÜ˜A›	�AÜ˜A›	�AØ—H‘H˜R”LØ”yØ+/¯?©?¸4ÀÀ1ÀRÅ4ÐPRÐ[`¨?Ó+aÑ(˜ Ø  (¥
¨B�Ô.ØŸH™H RœLØ " 4¥˜AØ!#˜BÙ!Ø’Bñ &ð ˜v¤c¨"¨b©&£kÕ1Õ1°"°b±&¸!¸a¸ÐC��b‘	Ø˜•9˜Q•<Ðr#   c                 ó4   <€ S! V 4       SV ,          ^ ,          # r¨   ru   )r�  rš  rœ  s   &€€r    rÌ  Ú0BalancedColumns._generated_content.<locals>.funck  s   ø€ Ù˜"”Ø˜R•y •|Ð#r#   c                 óØ  <€ W"V,
          V,          ,
          pWV,
          V,          ,           p\        W,
          4      V8”  dG   V ! V4      V ! V4      8  d   TpMTpW"V,
          V,          ,
          pWV,
          V,          ,           pK\  SP                  4        UUU	u. uF  w  rxq˜'       g   K  WxV	3NK  	  p
ppp	V
'       d!   V
P                  4        V
^ ,          ^,          # R# u up	ppi r!  )r‰  ÚvaluesÚsort)r¦   rM   r  ÚtolÚgrrÁ  rT  rK   ÚtfÚvr§  rš  s   &&&&&      €r    ÚgssÚ/BalancedColumns._generated_content.<locals>.gsso  s´   ø€ Ø˜Q� "�Õ$�Ø˜Q� "�Õ$�Ü˜!�%“j 3Ô&Ù˜“t™a ›d”{Ø™à˜ð  �U b�LÕ(�AØ �U b�LÕ(’Aà,1¯L©L¬NÕA©N¡& ! q»b”X�a˜1“X©N�ÒAßØ—F‘F”HØ˜Q�4 �7�NÙùô	 Bs   ÂC%Â/C%gš™™™™™Ù?zunexpected non-empty C2z%s-%d)ry  r}  r{  r|  r‘   rå  r   Ú_debugÚpageTemplatez&%s used in non-doctemplate environmentrc  c                   óJ   <a € ] tR tRt o Rt. . R3R lt Z3V3R lltRtV tR# )Ú3BalancedColumns._generated_content.<locals>.TActioni¿  z?a special Action flowable that sets stuff on the doc template TNc                óT   € \         P                  V 4       Wn        W n        W0n        R # r�   )r/   r!   Úbgsr§  r¦   )r   r®  r§  r¦   s   &&&&r    r!   Ú<BalancedColumns._generated_content.<locals>.TAction.__init__Á  s   € Ü×!Ñ! $Ô'Ø”Ø”Ø–r#   c                ó¸   <€ V P                   Vn        V P                  Sn        VP	                  V P
                  P                  4       V P                  Sn        R # r�   )r§  Úframesr®  rc  Úhandle_currentFramer¦   r‘   )r   Údocr�  r£   s   &&&€r    rd  Ú9BalancedColumns._generated_content.<locals>.TAction.applyÇ  s:   ø€ ØŸ6™6�”Ø"&§(¡(�”Ø×'Ñ'¨¯©¯	©	Ô2Ø"&§(¡(�–r#   )r§  r®  r¦   )	r%   r&   r'   r(   r)   r!   rd  r*   r+   )r-   r�  r£   s   @€€r    ÚTActionr¬  ¿  s#   ù‡ € ÙQØ#%¨¨Tô ñ "#÷ +õ +r#   rµ  zInvalid value %s for boxMargin)rE  rD  rC  )rC  rD  r¶  )r½  rw  rx  r‚   r~   rå  ry  rz  r{  r|  r}  r»  z-1rp  r~  r  r€  r�  r‚  rƒ  r¨   r   )r1   r1   r1   r1   )?r¢   r‘  rÉ  ra  r›  Úreportlab.platypus.framesr�  r�  rg  rl  rm  rn  rÁ  rÂ  rk  ré   r>   rj  r7  r  rI   r–   r¾  r�   r%   r¯  r®  r6  rí   r~   rp  ÚclearrX  r_  r#  rå  rÐ   r»  Ú_oASpacer©  rŸ   rl   rQ  rÃ   r±  rq  rr  rs  ru  rv  rt  r¼   rÞ   r;  r]  r€  r   rµ  r>  r$  rg  ro  r‚   )Jr   r^   r_   ÚGrÉ  ra  r›  r�  r�  ÚlpadÚrpadÚtpadÚbpadÚleftExtraIndentÚrightExtraIndentÚgapÚhgapÚaH0r¯  rÒ  r  ÚC2r¦   rp  rá   r¯  rÌ  r§  rÓ  r0  rx  rà  rñ  rò  ÚfwÚftopÚfhÚy2rR  Ú	indenter0Ú	indenter1rå  ÚobxrŠ  r§  ÚBGsÚxbgrm  rµ  Ú	oldFramesÚdoBoxÚdoVLinesÚobmÚobmtÚobmlÚobmrÚobmbÚobx1Úobx2Úoby2ÚobhÚoby1ÚboxÚvLinesÚvlxÚsaÚCir�  rš  r>   r›  r£   rw  rœ  sJ   f&&                                                                @@@@@@@r    r¡  Ú"BalancedColumns._generated_content2  s,	  ÿ€ ØˆØ—‘ˆßXÑXÝ3Ý=Ø%)×%6Ñ%6Ò%>ˆu×!Ò!ÀD×DUÑDUˆØ&*×&8Ñ&8Ò&@ˆu×"Ò"Àd×FXÑFXˆØ$(×$4Ñ$4Ò$<ˆu× Ò À$×BRÑBRˆØ'+×':Ñ':Ò'Bˆu×#Ò#È×H[ÑH[ˆØ×0Ñ0ˆØ ×2Ñ2ÐØ $× 2Ñ 2Ò :Œc�$ŒnÀ×@RÑ@RˆØ�3�wˆØ�y‰yˆØ—‘ˆØ˜˜a�•=Õ  4Õ'¨$Õ.´°e³Õ<ˆØˆØ
�T�kÕˆØ—o‘o d¨2¨e°B­h¸u�oÓE‰ˆˆ"ˆS�ßÜàŸ™ž««2«b°°r·°Ø7;·}²}ÓE±}°!˜Ÿ™×-Ô-±}ÓEðóð ð
 ˆ÷	 ó 	 ð. ˆßØŠAó ö$ð "#¨¯	©	°!«°qÕ(8¸AÕ'=÷ ô& ”C˜œ5 ›<�¨¯©¸Õ(;Õ;Ó<¸RÓ@ˆAÙ�aŒLØ˜•8˜A—;”;Ù˜˜Q˜r“N�ßØ%&‘N�A�r˜3 Ø�AØ$‘Hà�AØ#Ÿ}™}‘Hàœ˜e›•_�Ù˜"”Ø˜R•y —|”|Ù˜D  2›�AßØ)*™˜˜2˜s BØ˜Ø#(™à˜Ø#'§=¡=˜ßÐ4Ð4Ó4�6Ù! ! XÓ.‰ˆˆB��2Ø�‰ŒØˆQ�4�Œ8˜˜!�˜bœ§Rà˜˜!��I˜q �tˆrˆAà�Y‰YˆØ�Y‰YˆØ�\‰\ˆØ�$�w�t�|˜B�ˆØ�$�Y˜ÕˆØ�B�YˆØ”%˜“,Õˆß×.Ù  /Ð!1Ð3CÐ2CÓDˆIÙ  ÓB‰Ià$(Ð(ˆI˜	à*.×*;Ñ*;Ò*G�T×&Ò&ÈU×M_ÑM_ˆØ�Õ  ×!3Ñ!3Õ3ˆô /4°E¬ló<ñ /;¨ñ �3�q˜•t•8˜B˜r "ß()™D¨tÀ4Ø%&¨¨a­¤Z™T°TÀdØ˜TŸY™Y q˜MÕ)Ø)Ø%*§^¡^Ø—|‘|÷%ñ /;ð 	
ð <ð ×
Ñ
 Ó
/ˆØŠ9ÙÐFÈÏÉËÕXÓYÐYä�e˜K¨Ó-ˆß!�3�r–7 tÐ+ˆˆb÷	+ð 	+�nô 	+÷ ô ˜B˜r " UÓ+ˆCØ�H‰H�SŒMà—H‘Hˆ	Ø	�‰‘˜˜A˜a �dÓ#Ô$ß�a—h‘h˜yÔ)Ø×%Ñ%×ZÐZ¨$×*>Ñ*>×ZÐZÀ4×CWÑCWÐYZÑCZ×qÐqÐ_c×_qÑ_qˆØ×*Ñ*×eÐe¨t×/FÑ/F×eÐeÈ4×KbÑKbÐdeÑKeˆß—H�HØ—/‘/ˆCß˜i˜Ü�3‹x˜Œ{Ø,/°­FÐ2�Ð2�tÐ2˜d¡TÜ�S“˜1”Ø! !�fÐ$��tØ! !�fÐ$�‘tÜ�S“˜1”Ø˜1•v�Ø! !�fÐ$��tØ˜1•v‘Ü�S“˜1”Ø˜1•v�Ø˜1•v�Ø˜1•v�Ø˜1•v‘ä Ð!AÄDÈÃIÕ!MÓNÐNØ˜•:ˆDØ�R•5—9‘9˜Q˜r�UŸ\™\Õ)¨DÕ0ˆDØ�d•7ˆDØ�T•'˜$•,ˆCØ˜•8ˆDßÜ˜t D¨$¨t­)°SØ"&×"4Ñ"4Ø$(×$8Ñ$8Ø$(×$8Ñ$8ô�÷
 Ø�Ü˜q ž�AØ˜q �tŸx™x¨!¨A¨a­C­&¯*©*Õ4°Q°q¸µsµV·]±]ÕBÕC�CØ—M‘M¤(¨3¨t°C¸È×I`ÑI`Ðmq÷  nEñ  nEô  #Fö  Gñ (øð ˆDØˆDç�!—(‘(˜3”-ß�Q—X‘X˜fÔ%Ø×ÑÓ!ˆÜ�u–ˆAØ�1•ˆBßÜ   B r¨xÔ8�Ü˜˜B×,Ñ,Ó.Ó/�Ø—‘˜”Ø�%˜•'ŽzØ—‘˜Ö$ñ ð 	
�‰‘˜˜Y uÓ-Ô.ßß˜�2Ü˜˜D“\ BÕ&ˆCŒFÜ˜d 4›.¨3¯6©6Õ1ˆCŒKß�a—h‘h˜yÔ)ßˆ2Ø�H‰HÜ ò ©%ð ØŸ<š<ðØ59×5EÒ5EðØRV×RaÒRaðà!%×!2Ò!2ðð !%× 1Ò 1ðð "&×!3Ò!3ð	ð
 "&×!3Ò!3ðð  $×/Ò/ðð #'×"5Ò"5ðð Ÿ™ 4žðð 37·-²-ðð $(×#7Ò#7ðð $(×#7Ò#7ðð "&×!3Ò!3ðð #Ÿošoðð '+×&=Ò&=ðð '+×&=Ò&=ðôð$ �1ˆuˆùòs FùòJ<s   Çj(Ñ( j-Ò	Aj-c                ó\  € \        V R R4      pW P                  V P                  ,           \        ,
          8  d   \	        4       V .p^ pM@V'       g   ^ RIHp V! ^ ^ VR^ ^ ^ ^ R7      V n        V P                  W4      w  rTV'       g   V =V'       d   VP                  ! V!   ^ \        WR4      3# )r¢   NrŒ  iÿÿÿ)ry  r{  r|  r}  )rl   r‚   ro  r   rx  r¶  r�  r¢   r¡  r’  r6  )r   r^   r_   Ú
self_framer¹  rÓ  r�  s   &&&    r    r]   ÚBalancedColumns.wrap%  s˜   € ä˜T (¨4Ó0ˆ
Ø×Ñ˜tŸ|™|Õ+¬EÕ1Ô1ä“˜dÐ#ˆAØ‰Bçå;Ù# A a¨¨:À!ÐRSØ/0¸qôB�”à×+Ñ+¨BÓ2‰EˆBßØ�Kç�z×7Ò7¸Ò;Ø”�R“ˆ|Ðr#   )rn  rs  rt  rq  rr  r¾  r¢   rk  rg  rj  ro  rl  rm  ru  rv  rp  r»  rå  r~   r‚   )é   r+  r1   r1   NNNNNNr¤   rÎ  Nr1   NNNNr�   )r%   r&   r'   r(   r)   r!   r–   r   rƒ   r¡  r]   r*   r+   r,   s   @r    rg  rg    s.   ø‡ € Ù2ô4ô@ò
ò òq÷fð r#   rg  c                   óD   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	# )
ÚAnchorFlowablei9  zcreate a bookmark in the pdfTc                ó@   € \         P                  V ^ ^ 4       Wn        R# r!  )rd  r!   Ú_name)r   r»  s   &&r    r!   ÚAnchorFlowable.__init__=  s   € Ü�‰˜˜Q˜qÔ!ØŽ
r#   c                óR   € V P                   P                  : R V P                  : R2# )rj  r±   )r�   r%   rç  r   s   &r    r²   ÚAnchorFlowable.__repr__A  s   € ØŸ>™>×2Ô2°4·:´:Ð>Ð>r#   c                ó   € R# rõ  ru   r  s   &&&r    r]   ÚAnchorFlowable.wrapD  r;  r#   c                óT   € V P                   P                  V P                  ^ ^ 4       R# r!  )r>   ÚbookmarkHorizontalrç  r   s   &r    r?   ÚAnchorFlowable.drawG  s   € Ø�	‰	×$Ñ$ T§Z¡Z°°!Ö4r#   )rç  N)r%   r&   r'   r(   r)   rb  r   r!   r²   r]   r?   r*   r+   r,   s   @r    rå  rå  9  s+   ø‡ € Ù&Ø€IØ€Nòò?ò÷5ð 5r#   rå  c                   ó8   a € ] tR tRt o R tR tR tR tRtV t	R# )Ú_FBGBagiJ  c                ó.  € \        V4      p\        V P                  \        4      ;'       d    W0P                  9   ;'       g    W0P                  8H  ;'       d>    \        V4      V P                  8H  ;'       d    V P
                  VP                  4       8H  # r�   )r‘   rE  Úfidr¶  ÚcidrZ  rY  )r   r£   r>   ró  s   &&& r    ÚmatchesÚ_FBGBag.matchesK  sx   € Ü�‹iˆÜ˜DŸH™H¤TÓ*×>Ð>¨s·h±h©×OÐOÀ#ÇxÁxÁ-÷ Mð MÜ˜4› $§(¡(Ñ*÷Mð MØ/3¯w©w¸×8JÑ8JÓ8LÑ/Lð	Nr#   c                ó¤   € VP                   V P                  ,          P                  4       V n        \	        \
        V P                  R ,          4      # )ºr»   é   N)Ú_codeÚcodePosrp   Ú_instrÏ  r7  r@   s   &&r    ÚgetDimsÚ_FBGBag.getDimsP  s4   € Ø—Z‘Z §¡Õ-×3Ñ3Ó5ˆŒ
Ü”5˜Ÿ™ C�Ó)Ð)r#   c                óž   € \        W#WE4      .V P                  R &   RP                  V P                  4      VP                  V P                  &   R# )rø  Ú N)r   rü  rß   rú  rû  )r   r>   rK   rX   r`   ra   s   &&&&&&r    ÚsetDimsÚ_FBGBag.setDimsT  s7   € Ü! ! a›?Ð+ˆ�
‰
�3‰Ø#&§8¡8¨D¯J©JÓ#7ˆ�
‰
�4—<‘<Ó r#   c           	     ó¼  € \        V4      \        8”  EdÇ   \        V4      \        8”  Ed°   VP                  4       pV P                  \	        V4      8X  db   V P
                  \	        V4      8X  dH   V P                  V8X  d7   V P                  V4      w  r‰r«V P                  WWJW¹,           V,
          4       R # VP                  4        V P                  pV'       d   VP                  V4       V P                  pVe   V^ 8  d   R MV P                  pV'       dH   VP                  V4       VP                  V4       V P                   pV'       d   VP#                  V4       \	        V4      V n        \	        V4      V n        Wpn        \%        VP&                  4      V n        TP+                  Y4YVV'       d   ^M^ V'       d   ^M^ R7       VP-                  4        R # R # R # rK  )r‰  r   rY  ró  r‘   rô  rZ  rý  r  rQ   rE  r÷   rC  rD  rS   rP  rF  rS  r¼   rú  rû  rT   rU   )r   r>   r£   rr  rt  rq  rs  rZ  ÚoxÚoyÚowÚohÚfbgcrÞ  ÚscÚdas   &&&&&&&         r    rh  Ú_FBGBag.renderX  sO  € Üˆs‹8”E�>œc #›h¤u�nØ×#Ñ#Ó%ˆBØ�x‰xœ˜E›Ô" t§x¡x´°D³Ô'9¸d¿g¹gÀr¼kØ"Ÿl™l¨4Ó0‘��bØ—‘˜T S¨B­E°#­IÖ6à—‘Ô Ø—~‘~�ßØ×%Ñ% dÔ+Ø×%Ñ%�ØšZ¨2¨a¬4‘T°T×5EÑ5E�ßØ×'Ñ'¨Ô+Ø×%Ñ% bÔ)Ø×-Ñ-�BßØŸ™ RÔ(Ü˜e›9�”Ü˜d›8�”Ø”Ü" 4§:¡:›�”Ø—	‘	˜# #·b±¸aÏ$ÁQÐTU�	ÔVØ×!Ñ!Ö#ñ/ -‰>r#   )rü  rô  rû  ró  rZ  N)
r%   r&   r'   r(   rõ  rý  r  rh  r*   r+   r,   s   @r    rñ  rñ  J  s   ø‡ € òNò
*ò8÷$ð $r#   rñ  c                   ó>   a € ] tR tRt o Rt^tRR ltR tR tRt	V t
R# )	ÚFrameBGir  a  Start or stop coloring the frame background
left & right are distances from the edge of the frame to start stop colouring.
if start in ('frame','frame-permanent') then the background is filled from here to the bottom of the frame and immediately discarded
for the frame case.
Nc                óÄ   € \         P                  V ^ ^ 4       W@n        V'       d;   ^ RIHp V! V4      V n        V! V4      V n        Wn        WPn        W`n	        Wpn
        R# R# )r1   )Ú_evalMeasurementN)rd  r!   rf  r‘  r  r£  r¤  rD  rC  rD  rF  )	r   rD  r£  r¤  rf  rC  rD  rF  r  s	   &&&&&&&& r    r!   ÚFrameBG.__init__y  sQ   € Ü�‰˜˜Q˜qÔ!ØŒ
ßÝGÙ(¨Ó.ˆDŒIÙ)¨%Ó0ˆDŒJØŒJØ*ÔØ*ÔØ#2Ö ñ r#   c                óÂ   € V P                   P                  : R RP                  RP                  4        Uu. uF  q: R\	        WR4      : 2NK  	  up4      : R2# u upi )rj  rk  zstart color left rightÚ=Nr±   )r�   r%   rß   rp   rl   )r   rŠ  s   & r    r²   ÚFrameBG.__repr__…  sw   € ØŸ>™>×2Ô2°4·9±9ð  kC÷  kIñ  kIô  kKó  >Lñ  kKÐefÊÌ7ÐSWÐZ^ÕK_Ó>`ñ  kKñ  >Lö  4Mð  Nð  	Nùò  >Ls   ¶Ac                ó  € \        V R R4      pVf   R# V P                  '       d¬   V P                  pV P                  pVf   RMTpVP                  P                  \        V P                  V P                  V P                  V P                  R9   d   V P                  MRV P                  V P                  V P                  ^ ^ RRRR7      4       R# VP                  '       d   VP                  P                  4        R# R# )r¢   NT)r£  r¤  rE  rf  rD  rC  rF  ró  rô  rZ  rû  re  r   )r£   zframe-permanent)rl   rf  rD  rC  rc  rÃ   rñ  r£  r¤  rD  rF  r¢  )r   r£   r	  rÞ  s   &   r    r?   ÚFrameBG.drawˆ  sÏ   € Ü˜˜X dÓ+ˆØŠ=™&Ø�:�:ˆ:Ø×!Ñ!ˆBØ×!Ñ!ˆBØ’z‘ rˆBØ�O‰O×"Ñ"Ü T§Y¡YØ&*§j¡jØ*.¯*©*Ø48·J±JÐB]Ô4] d§j¢jÐcgØ,0×,<Ñ,<Ø,0×,<Ñ,<Ø04×0DÑ0DØ&'Ø&'Ø%'Ø*.Ø'+ô"ö#ð �_�_ˆ_Ø�O‰O×ÑÖ!ñ r#   )rD  r£  r¤  rf  rD  rF  rC  )Nr1   r1   TNNN)r%   r&   r'   r(   r)   rb  r!   r²   r?   r*   r+   r,   s   @r    r  r  r  s&   ø‡ € ñð
 €Iô
3òN÷"ð "r#   r  c                   ó@   a € ] tR tRt o Rt^t. ^
^HR3R ltR tRtV t	R# )ÚFrameSplitteri   a0  When encountered this flowable should either switch directly to nextTemplate
if remaining space in the current frame is less than gap+required or it should
temporarily modify the current template to have the frames from nextTemplate
that are listed in nextFrames and switch to the first of those frames.
Tc                óX   € Wn         T;'       g    . V n        W0n        W@n        WPn        R # r�   )r{  Ú
nextFramesrÀ  ÚrequiredÚadjustHeight)r   r{  r  rÀ  r  r  s   &&&&&&r    r!   ÚFrameSplitter.__init__§  s'   € Ø(ÔØ$×*Ð*¨ˆŒØŒØ ŒØ(Ör#   c                óˆ  € V P                   p^ RIHpHpHp V! V P
                  4      .pW P                  V P                  ,           \        ,
          8  d   VP                  \        4       4       EM(V P                  R4      pVf   V! RV P                  4       ,          4      hV U	u. uF!  q™P                  V P
                  8X  g   K  V	NK#  	  p
p	V
'       g)   V! V P                  4       : RV P
                  : R24      hV
^ ,          p
V
P                   Uu. uF!  q»P                  V P                  9   g   K  VNK#  	  ppV Uu. uF  q»P                  NK  	  ppV P                   Uu. uF  q»V9  g   K  VNK  	  ppV'       dW   T! V P                  4       : RV: RV
P                  : RV
: R	V
P                   Uu. uF  q»P                  NK  	  up: 2	4      hV P                  R
4      p
WªP                   V
P                  3R lpWên        W P                  ,
          p\#        V4       F=  w  pp\%        V4      pV P&                  '       d   Wûn        VP+                  4        W¼V&   K?  	  WÊn        VP                  V! V^ ,          P                  4      4       VP,                  ! V!   R# u up	i u upi u upi u upi u upi )r1   )ÚNextPageTemplateÚCurrentFrameFlowablerÉ  ÚpageTemplatesz(%s called in non-doctemplate environmentz.nextTemplate=z
 not foundz frames=z not found in pageTemplate(z)
z has frames rª  c                 ó.   € WBn         W2n        V! W4       R # r�   )r±  ÚonPage)r>   r³  r�  r"  rÍ  s   &&&&&r    ÚunwrapÚ"FrameSplitter.wrap.<locals>.unwrapÄ  s   € Ø"”Ø”Ù�tÖ r#   r�  )r¢   r‘  r  r  rÉ  r{  rÀ  r  r   rÃ   rx  rŸ   r–   r‘   r±  r  r"  r  r   r  r5   r  r’  )r   r^   r_   r£   r  r  rÉ  r¹  Ú	templatesr±  r�  r¦   r§  ÚNr#  ra   rŠ  s   &&&              r    r]   ÚFrameSplitter.wrap®  sW  € Ø—‘ˆßdÑdÙ˜D×-Ñ-Ó.Ð
/ˆØ�h‰h�t—}‘}Õ$¤UÕ*Ô*à�H‰H”Y“[Ö!ð ×-Ñ-¨oÓ>ˆIØÒ Ù!Ð"LÈTÏ]É]Ë_Õ"\Ó]Ð]Ù#Ó?™)�Q§t¡t¨T×->Ñ->Ñ'>�qˆq™)ˆAÐ?ßÙ!ÀDÇMÁMÆOÐTX×TeÔTeÐ"fÓgÐgØ��dˆAØŸ(š(Ó>™(�Q§d¡d¨d¯o©oÑ&=�qˆq™(ˆAÐ>ÙÓ™Q˜�tŒt™QˆAÐØŸ/š/Ó8™/�Q°a©Z�qˆq™/ˆAÐ8ßÙ!Ðdh×dqÑdqÖdsÓtuÐvw×vzÔvzÓ{|ð  MN÷  MUò  MUó  ~Vñ  MUð  HI÷  Cô  Cñ  MUó  ~Vð  #Wó  Xð  XØ×#Ñ# NÓ3ˆAØ"#¯8©8¸a¿h¹hô !ð ŒHØ—‘�kˆAÜ  –|‘��!Ü�q“'�Ø×$×$Ð$¨q¤hØ—‘”
Ø�!“ñ	 $ð
 ŒHØ�H‰HÑ)¨!¨A­$¯'©'Ó2Ô3Ø×#Ò# QÒ'Øˆ
ùò1 @ùò ?ùÚùÚ8ùò ~Vs0   Â'J+ÃJ+ÄJ0Ä8J0ÅJ5Å(J:Å5J:Æ=J?)r  rÀ  r  r{  r  N)
r%   r&   r'   r(   r)   rb  r!   r]   r*   r+   r,   s   @r    r  r     s*   ø‡ € ñð
 €IØ02¸ÀRÐVZô )÷$ð $r#   r  )Ú_type2formatteru   â€¢u   â—�u   â– u   â—‹u   â—†u   â�–u   âž¤u   â�‡u   â��u   â˜…)
Ú
bulletcharÚcirclerO  ÚdiscÚdiamondÚ	diamondwxÚ
rarrowheadÚsparkleÚ	squarelrsÚ	blackstarc                 ó"  € VR 8X  d   \         P                  W 4      pM\        V,          ! \        V 4      4      pV'       dN   \	        V\
        4      '       d   W#,          pV# \        V4      '       d   V! V4      pV# \        RV,          4      hV# )Úbulletz!unexpected BulletDrawer format %r)Ú_bulletNamesr3  r(  rí   rE  r   ÚcallablerI   )ÚvalueÚtypeÚformatr²  s   &&& r    Ú_bulletFormatr9  â  s   € ØˆX„~Ü×Ñ˜UÓ)‰ä˜DÖ!¤# e£*Ó-ˆçÜ�fœX×&Ò&Ø•
ˆAð
 €Hô	 �f×ÒÙ�q“	ˆAð €Hô Ð@À6ÕIÓJÐJØ€Hr#   c                   ó4   a € ] tR tRt o RR ltRR ltRtV tR# )ÚBulletDraweriñ  Nc                ó~   € Wn         W n        W0n        W@n        WPn        W`n        Wpn        W€n        W�n        W n	        R # r�   )
r6  Ú_bulletAlignÚ_bulletTypeÚ_bulletColorÚ_bulletFontNameÚ_bulletFontSizeÚ_bulletOffsetYÚ_bulletDedentÚ
_bulletDirr9  )r   r6  ÚbulletAlignÚ
bulletTypeÚbulletColorÚbulletFontNameÚbulletFontSizeÚbulletOffsetYÚbulletDedentÚ	bulletDirÚbulletFormats   &&&&&&&&&&&r    r!   ÚBulletDrawer.__init__ò  s>   € ð Œ
Ø'ÔØ%ÔØ'ÔØ-ÔØ-ÔØ+ÔØ)ÔØ#ŒØ)Ör#   c                ó  € V P                   pV'       g   R # VP                  4        VP                  W44       VP                  V P                  ,
          V P
                  ,           pV P                  R8X  d0   VP                  VP                  ,
          V P                  ,           pMVP                  V P                  ,
          pVP                  V P                  V P                  4       VP                  V P                  4       V P                  p\!        W`P"                  V P                   4      pVR8X  d   VP%                  W4V4       M¨VR8X  d   VP'                  W4V4       MŽVR	9   d   VP)                  W4V4       MtVP+                  R4      '       g   VP+                  R4      '       d5   VR,          P-                  4       ;'       g    RpVP/                  W4Wh4       M\1        RV,          4      hVP3                  4        R # )
NÚrtlr£  r¤  ÚnumericÚdecimal:é   NNÚ.zInvalid bulletAlign: %r)ÚcenterÚcentre)r6  rQ   rR   r5   rA  rB  rD  r4   Ú_rightIndentrC  Ú_leftIndentr¶   r@  r÷   r?  r=  r9  r>  Ú
drawStringÚdrawRightStringr·   Ú
startswithr½   ÚdrawAlignedStringrI   rU   )	r   Úindenterr>   rK   rX   rY   r6  rE  Úpcs	   &&&&&&   r    rZ   ÚBulletDrawer.drawOn	  s†  € Ø—
‘
ˆß‘fØ�‰ÔØ�‰�qÔà�O‰O˜D×0Ñ0Õ0°×1DÑ1DÕDˆØ�?‰?˜EÔ!Ø—‘ ×!6Ñ!6Õ6¸×9KÑ9KÕK‰Aà×$Ñ$ t×'9Ñ'9Õ9ˆAØ�‰�T×)Ñ)¨$×*>Ñ*>Ô?Ø×Ñ˜$×+Ñ+Ô,Ø×'Ñ'ˆÜ˜e×$4Ñ$4°T×5GÑ5GÓHˆà˜ÔØ�O‰O˜A Õ&Ø˜'Ô!Ø× Ñ   UÕ+ØÐ/Ô/Ø×"Ñ" 1 uÕ-Ø×#Ñ# I×.Ò.°+×2HÑ2HÈ×2SÒ2SØ˜R•×&Ñ&Ó(×/Ð/¨CˆBØ×"Ñ" 1 uÕ0äÐ6¸ÕDÓEÐEØ×ÑÖr#   )
r=  r?  rC  rD  r@  rA  r9  rB  r>  r6  )
Ú0r£  Ú1ÚblackÚ	Helveticaé   r1   r1   ÚltrNr¨   )r%   r&   r'   r(   r!   rZ   r*   r+   r,   s   @r    r;  r;  ñ  s   ø‡ € ô*÷.ò r#   r;  c                 ó‚   € \        WP                  V P                   4      p\        WP                  V P                  4      # r�   )r9  r>  r   r@  rA  )r  r6  s   &&r    Ú_computeBulletWidthrg  &  s/   € Ü˜%§¡¨a¯o©oÓ>€EÜ�u×.Ñ.¨q×/@Ñ/@ÓAÐAr#   c                   ó|   a € ] tR tRt o RP	                  4       tRR ltR tRR ltR tR t	R t
R	 tRR ltRtV tR
# )Ú
DDIndenteri*  z/_flowable _leftIndent _rightIndent width heightc                óF   € Wn         W n        W0n        R V n        R V n        R # r�   )Ú	_flowablerX  rW  r4   r5   )r   Úflowablerô   r#  s   &&&&r    r!   ÚDDIndenter.__init__,  s!   € Ø!ŒØ%ÔØ'ÔØˆŒ
ØˆŽr#   c           	     óê   € V P                   P                  WP                  ,
          V P                  ,
          V4      pV Uu. uF%  p\	        VV P                  V P                  R 7      NK'  	  up# u upi ))rô   r#  )rk  rp   rX  rW  ri  )r   r^   r_   rq   r²  s   &&&  r    rp   ÚDDIndenter.split3  sp   € Ø�N‰N× Ñ  ×$4Ñ$4Õ!4°T×5FÑ5FÕ!FÈÓKˆñ
 $%ó	ñ $%˜aô ˜1Ø#'×#3Ñ#3Ø$(×$5Ñ$5÷ñ $%ñ	ð 	ùò s   Á+A0c           
     ó¸   € V P                   P                  WV P                  ,           V\        ^ W@P                  ,
          V P                  ,
          4      4       R# r!  )rk  rZ   rX  ré   rW  rd  s   &&&&&r    rZ   ÚDDIndenter.drawOn<  s?   € Ø�‰×Ñ˜d T×%5Ñ%5Õ#5°a¼¸A¸c×BRÑBRÕ>RÐSW×SdÑSdÕ>dÓ8eÖfr#   c                óø   € V P                   P                  WP                  ,
          V P                  ,
          V4      w  r4W0P                  ,           V P                  ,           V n        W@n        V P                  V3# r�   )rk  r]   rX  rW  r4   r5   ©r   r^   r_   r`   ra   s   &&&  r    r]   ÚDDIndenter.wrap?  s\   € Ø�n‰n×!Ñ! "×%5Ñ%5Õ"5°d×6GÑ6GÕ"GÈÓL‰ˆØ×'Ñ'Õ'¨×(9Ñ(9Õ9ˆŒ
ØŒØ�z‰z˜!ˆ|Ðr#   c                óâ   € WP                   9   d    V P                  V,          # \	        V P
                  V4      #   \         d)    TR9  d   \        T : RT RT P                   24      h LHi ; i)r‚   z has no attribute z dict=©r‚   r~   )Ú_IndenterAttrsrF  ÚKeyErrorrG  rl   rk  rž   s   &&r    rH  ÚDDIndenter.__getattr__E  sx   € Ø×#Ñ#Ô#ð`Ø—}‘} QÕ'Ð'ô �t—~‘~ aÓ(Ð(øô ô `ØÐ8Ô8Ü(¨D©8Ð3EÀaÀSÈÈtÏ}É}ÈoÐ)^Ó_Ð_ñ 9ð`ús   ’; »0A.Á-A.c                ór   € WP                   9   d   W P                  V&   R # \        V P                  W4       R # r�   )rw  rF  Úsetattrrk  ©r   rM   r¦  s   &&&r    Ú__setattr__ÚDDIndenter.__setattr__N  s(   € Ø×#Ñ#Ô#Ø �M‰M˜!Óä�D—N‘N 1Ö'r#   c                óp   € WP                   9   d   V P                  V R # \        V P                  V4       R # r�   )rw  rF  r%  rk  rž   s   &&r    Ú__delattr__ÚDDIndenter.__delattr__T  s(   € Ø×#Ñ#Ô#Ø—‘˜aÒ ä�D—N‘N 1Ö%r#   Nc                ón   € V P                   P                  : R V P                  P                  V4      : 2# )z containing )r�   r%   rk  r–   r–  s   &&r    r–   ÚDDIndenter.identityZ  s'   € Ø%)§^¡^×%<Ô%<¸T¿^¹^×=TÑ=TÐU[Õ=\Ð]Ð]r#   )rk  rX  rW  r5   r4   r�  r¨   r�   )r%   r&   r'   r(   rp   rw  r!   rZ   r]   rH  r}  r€  r–   r*   r+   r,   s   @r    ri  ri  *  sC   ø‡ € ØF×LÑLÓN€Nôòôgòò)ò(ò&÷^ò ^r#   ri  c                   óZ   a € ] tR tRt o RP	                  4       tRR ltR tR	R ltRtV t	R# )
Ú
LIIndenteri]  zN_flowable _bullet _leftIndent _rightIndent width height spaceBefore spaceAfterNc                ó~   € Wn         W@n        W n        W0n        R V n        R V n        Ve   WPn        Ve	   W`n        R # R # r�   )rk  Ú_bulletrX  rW  r4   r5   r‚   r~   )r   rl  rô   r#  r3  r‚   r~   s   &&&&&&&r    r!   ÚLIIndenter.__init___  sB   € Ø!ŒØŒØ%ÔØ'ÔØˆŒ
ØˆŒØÒ"Ø*ÔØÒ!Ø(ŽOñ "r#   c                ó�  € V P                   pVP                  WP                  ,
          V P                  ,
          V4      p\	        V4      ^8”  d‘   \        VR4      '       d   \	        VP                  P                  4      p\	        V^ ,          P                  P                  4      p\        \        VRR4      RR4      ^8X  d   We^,
          8¼  g   We^,
          8X  d   . pV'       dZ   V Uu. uFL  p\        TV P                  V P                  Wt^ ,          J ;'       d    V P                  ;'       g    RR7      NKN  	  up# . # u upi )r»   r%  rz   NÚ	alignment)rô   r#  r3  )rk  rp   rX  rW  r¼   rH   r%  r¾   rl   r…  r‡  )r   r^   r_   r¦   rq   ÚcnlÚnnlr²  s   &&&     r    rp   ÚLIIndenter.splitk  s  € Ø�N‰NˆØ�G‰G�B×'Ñ'Õ'¨×(9Ñ(9Õ9¸2Ó>ˆÜˆq‹6�!Œ8œ  (×+Ò+Ü�a—h‘h—n‘nÓ%ˆCÜ�a˜•d—k‘k×'Ñ'Ó(ˆCäœ  7¨4Ó0°¸TÓBÀAÔEÈ#ÐTUÕPUÌ,Ø �U”|Ø�÷ ñ $%óñ
 $%˜aô	 ˜1Ø#'×#3Ñ#3Ø$(×$5Ñ$5Ø"#¨¥t )×"<Ð"<°·±×"DÐ"DÀ÷ñ $%ñð 	ð ð	ùò s   Ã,1EÄEÄ2Ec           
     ó  € V P                   '       d   V P                   P                  WW#^ 4       V P                  P                  WV P                  ,           V\	        ^ W@P                  ,
          V P
                  ,
          4      4       R# r!  )r‡  rZ   rk  rX  ré   rW  rd  s   &&&&&r    rZ   ÚLIIndenter.drawOn}  s^   € Ø�<�<ˆ<Ø�L‰L×Ñ ¨!¨aÔ0Ø�‰×Ñ˜d T×%5Ñ%5Õ#5°a¼¸A¸c×BRÑBRÕ>RÐSW×SdÑSdÕ>dÓ8eÖfr#   )r‡  rk  rX  rW  r5   r~   r‚   r4   )r1   r1   NNNr¨   )
r%   r&   r'   r(   rp   rw  r!   rZ   r*   r+   r,   s   @r    r…  r…  ]  s)   ø‡ € Øe×kÑkÓm€Nô
)ò÷$gò gr#   r…  )Ú	ListStylec                   ó*   a € ] tR tRt o RR ltRtV tR# )ÚListItemiƒ  Nc           	     óæ  € \        V\        \        34      '       g   V3pWn        / ;q@n        V'       dD   \        V\
        4      '       g(   \        V P                  P                  : R V: R24      hW n	        \
        P                   F5  pWS9   d   VP                  V4      pMV'       d   \        W%4      pMK1  WdV&   K7  	  R F)  pVP                  V\        W%R4      4      pVf   K%  WdV&   K+  	  R# )z style argument (z) not a ListStyleN)r6  r‚   r~   )rE  r¶  r·  rû  Ú_paramsr�  rI   r�   r%   Ú_styleÚdefaultsr3  rl   )r   rË  rz   rþ  ÚparamsÚkr¦  s   &&&,   r    r!   ÚListItem.__init__„  sÃ   € ô" ˜)¤T¬% L×1Ò1Ø"˜ˆIØ#ŒØ "Ð"ˆ”çÜ˜e¤I×.Ò.Ü ÈTÏ^É^×MdÔMdÓejÐ!kÓlÐlØŒKä×#Ô#ˆAØŒyØ—H‘H˜Q“K‘ßÜ˜EÓ$‘áØ�1‹Iñ $ó 7ˆAØ—‘˜œ7 5¨4Ó0Ó1ˆAØŒ}Ø�q“	ó 7r#   )rû  r”  r•  r�   r[  r,   s   @r    r’  r’  ƒ  s   ø‡ € ÷'ò 'r#   r’  c                   ó&   a € ] tR tRt o R tRtV tR# )Ú	_LIParamsi­  c                ó6   € Wn         W n        W0n        W@n        R # r�   )rl  r—  r6  Úfirst)r   rl  r—  r6  r�  s   &&&&&r    r!   Ú_LIParams.__init__®  s   € Ø ŒØŒØŒ
ØŽ
r#   )r�  rl  r—  r6  Nr[  r,   s   @r    r›  r›  ­  s   ø‡ € ÷ð r#   r›  c                   ój   a € ] tR tRt o RtRR lt]R 4       tR tR t	R t
RR	 ltRR
 ltR tRtV tR# )rþ  i´  Ú1aAiINc                óò  € Wn         V'       dC   \        V\        4      '       g'   \        R V P                  P
                  ,          4      hW0n        \        P                  P                  4        F3  w  rV\        V RV,           VP                  V\        W5V4      4      4       K5  	  R F1  pVP                  V\        W5R4      4      pVf   K%  \        WV4       K3  	  RpVf6   \        V RR4      pVf%   V P                  R8X  d   RpRpMV P                  pRpV P                  R8w  d   V'       d8   V F0  pW`P                  9  g   K  \        RV: R	V P                  : 24      h	  M?V P                   F/  pW`P                  9  g   K  \        R
V P                  ,          4      h	  W n        T;'       g    \        V\        \         34      V n        RV n        RV n        VP)                  RR4      V n        R# )z!%s style argument not a ListStyler�  NFÚ_startr3  r)  Tzinvalid start=z or bullettype=zinvalid bullettype=%rÚcaptionrv  )rû  rE  r�  rI   r�   r%   rz   r–  Úitemsr{  r3  rl   r>  Ú_numberStylesr¢  r¶  r·  Ú_autor   Ú_dimsr¢  Ú_caption)r   rË  rf  rz   rþ  r˜  r¦  r]  s   &&&&,   r    r!   ÚListFlowable.__init__¶  s¥  € ð$ $ŒçÜ˜e¤I×.Ò.Ü Ð!DÀtÇ~Á~×G^ÑG^Õ!^Ó_Ð_ØŒJä×%Ñ%×+Ñ+Ö-‰CˆAÜ�D˜˜Q�˜tŸx™x¨¬'°%¸!Ó*<Ó=Ö>ñ .ó .ˆAØ—‘˜œ7 5¨4Ó0Ó1ˆAØŒ}Ü˜˜qÖ!ñ .ð
 ˆØŠ=Ü˜D ¨$Ó/ˆEØŠ}Ø×#Ñ# XÔ-Ø(�EØ‘Dà ×,Ñ,�EØ�DØ×Ñ˜XÔ%ßÛ�AØ× 2Ñ 2Ö2Ý(ÓPUÐVZ×VfÓVfÐ)gÓhÐhò ð ×)Ô)�AØ× 2Ñ 2Ö2Ü(Ð)@À4×CSÑCSÕ)SÓTÐTñ *ð ŒØ×;Ð;œZ¨¬t´E¨lÓ;ˆŒ
à!ˆÔØˆŒ
ØŸ™ ¨4Ó0ˆŽr#   c                ód   € V P                   f   V P                  4       V n         V =V P                   # r�   )r   rÿ  rû  r   s   &r    r¾  ÚListFlowable._contentñ  s0   € à×ÑÒ%Ø!%×!1Ñ!1Ó!3ˆDÔØ�Ø×!Ñ!Ð!r#   c                óº   € V P                   V8w  d4   \        V P                  WP                  4      w  V n        V n        Wn         V P                  V P
                  3# r�   )r§  r³  r¾  r>   r4   r5   r  s   &&&r    r]   ÚListFlowable.wrapø  sB   € Ø�:‰:�rŒ>Ü&1°$·-±-ÀÇ9Á9Ó&MÑ#ˆDŒJ˜œØŒJØ�z‰z˜$Ÿ+™+Ð%Ð%r#   c                ó   € V P                   # r�   r{  r  s   &&&r    rp   ÚListFlowable.splitþ  s   € Ø�}‰}Ðr#   c           
   #  ó´  "  € V P                    EFÂ  p\        V\        \        34      '       dG   V'       d=   \	        V4       F+  w  r#V^ 8H  ;'       d    \        V\
        4      '       * V3x € K-  	  Kd  Kf  \        V\        4      '       Ed-   VP                  pV'       gK   \	        VP                   4       F/  w  r#\        V\
        4      '       d   \        R4      hV^ 8H  V3x € K1  	  KÛ  VP                  4       pVP                  RR4      pVP                  RR4      pVP                  RR4      p\        VP                   4      ^,
          p\	        VP                   4       FP  w  r#VP                  4       p	V'       g	   Ve   WiR&   W(8X  d	   Ve   WyR&   V'       d   Rp^ \        W9WR^ 8H  4      3x € KR  	  EK©  \        V\
        4      '       * V3x € EKÅ  	  R# 5i)r1   z"LIIndenter not allowed in ListItemr6  Nr‚   r~   )rû  rE  r¶  r·  r  r…  r’  r”  rI   r   r¢  r¼   r›  )
r   r¦   rŠ  Úzr—  r6  r‚   r~   rŒ  r  s
   &         r    Ú_flowablesIterÚListFlowable._flowablesIter	  sx  é € Ø—•ˆAÜ˜!œT¤%˜L×)Ò)ßÜ )¨!¦™˜Ø ™d×CÐC¬:°a¼
Ó+CÔ'CÀQÐFÔFó !-ñ ô ˜Aœh×'Ó'ØŸ™�ßä )¨!¯,©,Ö 7™˜Ü% a¬
×3Ò3Ü",Ð-QÓ"RÐRØ ™d A˜gœó !8ð
 $Ÿ[™[›]�FØ"ŸJ™J w¨tÓ4�EØ"(§*¡*¨]¸4Ó"@�KØ!'§¡¨L¸Ó!>�JÜ˜AŸL™LÓ)¨AÕ-�AÜ )¨!¯,©,Ö 7™˜Ø"ŸK™K›M˜ß  [Ò%<Ø/:˜mÑ,Øœ4 JÒ$:Ø.8˜l™Oß D˜eØ¤¨1¨u¸±TÓ!:Ð:Ô:ô !8ô % Q¤zÓ2Ô2°AÐ5Õ5ó9 !ùs   ‚4G·GÁAGÂ C;GÆ<Gc           	     ó(  € V'       dk   VP                  R V P                  4      pVP                  RV P                  4      pVP                  RR4      pVP                  RR4      p\        WWRWgR7      # \        WP                  V P                  V4      # )rô   r#  r‚   Nr~   rv  )r3  rX  rW  r…  )r   rl  r3  r—  rô   r#  r‚   r~   s   &&&&    r    Ú_makeLIIndenterÚListFlowable._makeLIIndenter 	  s|   € ßØŸ™ L°×1AÑ1AÓBˆJØ Ÿ*™* ]°4×3DÑ3DÓEˆKØ Ÿ*™* ]°4Ó8ˆKØŸ™ L°Ó6ˆJÜ˜h°+ÐQ\ÔsÐsä˜h×'7Ñ'7¸×8IÑ8IÈ&ÓQÐQr#   c                óÞ   a aa€ Sf   V 3R lpM\        SRR 4      oVV V3R lp\        VV! R4      V! R4      V! R4      V! R4      V! R4      V! R	4      V! R
4      V! R4      V! R4      R7
      # )Nc                 ó*   <€ \        SR V ,           4      # ©r�  rš   )rM   r   s   &€r    ÚgetpÚ&ListFlowable._makeBullet.<locals>.getp,	  s   ø€ Ü˜t C¨¥EÓ*Ð*r#   rz   c                 ó”   <€ V S9   d
   SV ,          # S'       d   V SP                   9   d   \        SV 4      # \        SR V ,           4      # r¹  )rF  rl   )rM   r—  r   rz   s   &€€€r    rº  r»  0	  s=   ø€ Ø˜”; v¨a¥yÐ 0ß˜Q %§.¡.Ô0¼ÀÀa»Ð2HÜ˜t C¨¥EÓ*Ð*r#   rE  rF  rG  rH  rI  rJ  ÚcalcBulletDedentrL  rM  )
r6  rE  rF  rG  rH  rI  rJ  rK  rL  rM  )rl   r;  )r   r6  r—  rº  rz   s   f&f @r    Ú_makeBulletÚListFlowable._makeBullet*	  s   ú€ ØŠ>ö+ô ˜F 7¨4Ó0ˆE÷+ô
 ØÙ $ ]Ó 3Ù# LÓ1Ù $ ]Ó 3Ù#'Ð(8Ó#9Ù#'Ð(8Ó#9Ù"& Ó"7Ù!%Ð&8Ó!9Ù" ;Ó/Ù!% nÓ!5ôð 	r#   c           	     ó�  € V P                   pV P                  p\        V\        \        34      '       d   TpV^ ,          pMV.pV^ ,          p\        VR9   4      pV'       d    \        V4      pV P                  pVR8X  Ed£   V P                  pV P                  pVR8X  d   VR8X  d   V P                  pEMnVR8X  d   V P                  pEMYTp	^ p
V P                  4        FÏ  w  r¼V'       d*   \        V
\        W	4      4      p
V'       d   W•,          p	K4  K6  \        V\        4      '       g   KN  VP                  pV'       dG   VP                   V8X  d5   \        V
\        WÝP"                  4      4      p
\        VP"                  4      p	M\        V
\        W	4      4      p
V'       g   KÇ  W•,          p	KÑ  	  VR8X  d7   VR8X  d   V P                  V
,
          pMPV P                  V
R,          ,
          pM5VR8X  d   V P                  V
,
          pMV P                  V
R,          ,
          pW`n        . pVP&                  p^ pV P                  4        EFñ  w  r¼\        V\(        4      '       dš   VP                  p\        V\        \        34      '       d
   V^ ,          pVV9   db   VP*                  '       dN   VP-                  V4      ^,           pW4R VRV ,           Vn        VP                  ^ ,          pV'       d   WLn         MTp/ pV'       g    V^,          p\/        V RR4      pVe   VVR&   V'       d?   V! V P1                  WÀP3                  V4      VR	7      4       V'       d   W%,          pEK!  EK$  \        V\        4      '       dÕ   VP                  pV'       dE   VP                   V8w  d   \5        R
VP                   : RV: 24      h\        VP"                  4      pM#V P3                  V\/        VRR4      R7      Vn        V'       d4   \        VP6                  P9                  R^ 4      X4      VP6                  R&   V! V4       V'       d   W%,          pEK  EK  \        V\:        4      '       d´   VP=                  VP>                  4       V P1                  VP@                  RVR	7      pVPB                  '       d^   VP"                  e    VP"                  pV'       d   \        V4      pV P3                  W,P>                  4      Vn        V'       d	   W%,          pV! V4       EK×  V! V P1                  VRVR	7      4       EKô  	  \/        V RR4      pVe=   VR,          p\        VP6                  P9                  R^ 4      V4      VP6                  R&   V PD                  '       d   VPG                  ^ V PD                  4       V#    ^p ELV; i)r1   r   r]  re  r£  r¤  rF   Nr‚   )r3  r—  zIncluded LIIndenter bulletType=z != OrderedList bulletType=r—  )r—  r~   r   )$r>  r¢  rE  r¶  r·  rí   rC  r=  rD  rX  rW  r²  ré   rg  r…  r‡  rF  r6  Ú_calcBulletDedentrÃ   rþ  r¦  Úindexrl   rµ  r¾  rI   rF  r3  r›  Úupdater—  rl  r�  r¨  rÛ  )r   Úbtr6  r¡  ÚautovÚincÚbdÚalignÚdirÚtvalueÚmaxWrT  r¦   r  rq   ÚaSrŠ  ÚfstartÚfparamsr‚   r±  r~   s   &                     r    rÿ  ÚListFlowable._getContentB	  s…  € Ø×ÑˆØ—‘ˆÜ�eœT¤%˜L×)Ò)ØˆFØ˜1•I‰Eà�WˆFØ�q•	ˆÜ�"˜‘-Ó ˆßðÜ˜E›
�ð ×ÑˆØˆv�:Ø×%Ñ%ˆEØ—/‘/ˆCØ�EŒz˜e VœmØ×%Ñ%’Ø˜”Ø×&Ñ&’ð �Ø�Ø×.Ñ.Ö0‘C�AßÜ" 4Ô(;¸DÓ(HÓI˜ß ¥¢™3Ü# A¤j×1Ô1ØŸI™I˜ßØ Ÿ|™|¨RÔ/Ü'*¨4Ô0CÀAÇgÁgÓ0NÓ'O Ü),¨Q¯W©W« øä#& tÔ,?ÀÓ,LÓ#M˜Dß™3 ¥¢ñ 1ð ˜”:Ø˜g”~Ø!×-Ñ-°Õ4™à!×-Ñ-°°SµÕ8™Ø˜F”]Ø×*Ñ*¨TÕ1‘Bà×*Ñ*¨T°#­XÕ5�Bà!#ÔàˆØ�X‰XˆØ
ˆØ×&Ñ&×(‰CˆAÜ˜!œL×)Ò)ØŸ™�Ü˜f¤d¬5 \×2Ò2Ø# A�Y�FØ˜VÔ#à—w—w�wØ &§¡¨UÓ 3°AÕ 5˜Ø#)¨& >°&¸¸%°.Õ#@˜œØ !§¡¨¥˜ß°¤øà &˜ØˆGßØ�Q•�Ü% d¨=¸Ó>�ØÒ*Ø-8�G˜MÑ*ßÙ�4×'Ñ'¨×1AÑ1AÀ%Ó1HÐPWÐ'ÓXÔYß˜�›’3Ü˜Aœj×)Ò)Ø—I‘I�ßØ—|‘| RÔ'Ý(Ðmn×myÔmyÒz|Ð)}Ó~Ð~Ü §¡›L‘Eà $× 0Ñ 0°¼gÀaÈÐQUÓ>VÐ 0Ó W�A”IßÜ03°A·J±J·N±NÀ=ÐQRÓ4SÐT_Ó0`�A—J‘J˜}Ñ-Ù�1”ß˜�›’3Ü˜Aœi×(Ò(Ø—‘˜qŸx™xÔ(Ø×(Ñ(¨¯©¸4ÀwÐ(ÓO�Ø—7—7�7Ø—w‘wÒ*Ø !§¡˜ß¬¨E«
 Ø $× 0Ñ 0°·x±xÓ @�A”Iß˜E�L˜EÙ�1—á�4×'Ñ'¨°¸WÐ'ÓE×Fñ] )ô` ˜T ,¨tÓ4ˆ
ØÒ!Ø��eˆAÜ'*¨1¯:©:¯>©>¸,ÀqÓ+IÈ*Ó'UˆA�J‰J�|Ñ$à�=�=ˆ=˜!Ÿ(™( 1 T§]¡]Ô3àˆøðEØ“ús   Á$V> Ö>W)
r¦  rÁ  r¨  r§  rû  r   r¢  r5   rz   r4   r  r�   )r%   r&   r'   r(   r¥  r!   r«   r¾  r]   rp   r²  rµ  r¾  rÿ  r*   r+   r,   s   @r    rþ  rþ  ´  sJ   ø‡ € Ø€Mô91ðv ñ"ó ð"ò&òò6ô>Rô÷0oð or#   rþ  c                   óR   a € ] tR tRt o RtR tR tR tRR ltR t	R t
R	 tR
tV tR# )Ú	TopPadderi³	  zwrap a single flowable so that its first bit will be
padded to fill out the space so that it appears at the
bottom of its framec                ó"   € WP                   R &   R# )Ú_TopPadder__fN)rF  r¥   s   &&r    r!   ÚTopPadder.__init__·	  s   € Ø)*�‰�oÓ&r#   c                ól   € V P                   P                  W4      w  r4W$,
          V P                  R &   W43# )Ú_TopPadder__dh)rÓ  r]   rF  rs  s   &&&  r    r]   ÚTopPadder.wrapº	  s.   € Ø�h‰h�m‰m˜BÓ"‰ˆØ*,­$ˆ�‰Ð&Ñ'Øˆsˆ
r#   c                ó†   € V P                   P                  W4      p\        V4      ^8”  d   \        V^ ,          4      V^ &   V# )r»   )rÓ  rp   r¼   rÑ  )r   r^   r_   rq   s   &&& r    rp   ÚTopPadder.split¿	  s5   € Ø�H‰H�N‰N˜2Ó!ˆÜˆq‹6�!Œ8Ü˜Q˜q�T“?ˆAˆa‰DØˆr#   c           
     ó„   € V P                   P                  WV\        ^ V P                  R,
          4      ,
          V4       R# )r1   ru  N)rÓ  rZ   ré   rÖ  rV   s   &&&&&r    rZ   ÚTopPadder.drawOnÅ	  s*   € Ø�‰�‰˜ ¤3 q¨¯©°4­Ó#8Õ!8¸Ö=r#   c                ó2   € \        V P                  W4       R # r�   )r{  rÓ  r|  s   &&&r    r}  ÚTopPadder.__setattr__È	  s   € Ü�—‘˜Ör#   c                ó.   € \        V P                  V4      # r�   )rl   rÓ  rž   s   &&r    rH  ÚTopPadder.__getattr__Ë	  s   € Ü�t—x‘x Ó"Ð"r#   c                ó2   € \        V P                  V4       R # r�   )r%  rÓ  rž   s   &&r    r€  ÚTopPadder.__delattr__Î	  s   € Ü�—‘˜Ör#   ru   Nr¨   )r%   r&   r'   r(   r)   r!   r]   rp   rZ   r}  rH  r€  r*   r+   r,   s   @r    rÑ  rÑ  ³	  s2   ø‡ € ñò+òò
ô>òò#÷ð r#   rÑ  c                   óD   a € ] tR tRt o Rt^tR	R ltR tR tR t	Rt
V tR# )
Ú	DocAssigniÑ	  zJAt wrap time this flowable evaluates var=expr in the doctemplate namespacec                óB   € \         P                  V 4       WV3V n        R # r�   ©r/   r!   rý  )r   ÚvarÚexprÚlifes   &&&&r    r!   ÚDocAssign.__init__Ô	  s   € Ü×Ñ˜$ÔØ˜T�MˆŽ	r#   c                óÖ   € V P                  R 4      pVP                  \        WR7      4        V P                  4       R F  p W4 K  	  #     K  ; i  R F  p Y4 K      K  ; i	  i ; i)Ú
_nameSpace©ÚavailableWidthÚavailableHeight)rŸ   rÃ  ÚdictrÌ  )r   r^   r_   ÚNSr˜  s   &&&  r    ÚfuncWrapÚDocAssign.funcWrapØ	  sp   € Ø× Ñ  Ó.ˆØ
�	‰	”$ bÔ<Ô=ð	Ø—9‘9“;ã7�ðØšò 8øðÚûó	 8�ðØšøðÚúò	 8ús/   ®A ÁA
Á
AÁA(ÁAÁA(ÁA"	Á	A(c                ó„   € V P                  R V P                  P                  R,          ,           4      ! V P                  !  # )rT  rº   )rŸ   r�   r%   rý  r   s   &r    rÌ  ÚDocAssign.funcä	  s0   € Ø×$Ñ$ S¨¯©×)@Ñ)@ÀÕ)DÕ%DÔEÀtÇyÁyÑQÐQr#   c                ó(   € V P                  W4       R# rõ  )rñ  r  s   &&&r    r]   ÚDocAssign.wrapç	  s   € Ø�‰�bÔØˆ
r#   ©rý  N©Úforever)r%   r&   r'   r(   r)   rb  r!   rñ  rÌ  r]   r*   r+   r,   s   @r    rã  rã  Ñ	  s'   ø‡ € ÙTØ€Iô"ò
òR÷ð r#   rã  c                   ó.   a € ] tR tRt o RtRR ltRtV tR# )ÚDocExecië	  z(at wrap time exec stmt in doc._nameSpacec                ó@   € \         P                  V 4       W3V n        R # r�   rå  )r   ÚstmtÚlifetimes   &&&r    r!   ÚDocExec.__init__í	  s   € Ü×Ñ˜$ÔØ�-ˆŽ	r#   r÷  Nrø  r$   r,   s   @r    rû  rû  ë	  s   ø‡ € Ù2÷ ò  r#   rû  c                   óF   a € ] tR tRt o RtR
R ltR tR tR tR t	R	t
V tR# )ÚDocParaiñ	  a4  at wrap time create a paragraph with the value of expr as text
if format is specified it should use %(__expr__)s for string interpolation
of the expression expr (if any). It may also use %(name)s interpolations
for other variables in the namespace.
suitable defaults will be used if style and klass are None
Nc                ól   € \         P                  V 4       Wn        W n        W0n        W@n        WPn        R # r�   )r/   r!   rç  r8  rz   ÚklassÚescape)r   rç  r8  rz   r  r  s   &&&&&&r    r!   ÚDocPara.__init__ø	  s)   € Ü×Ñ˜$ÔØŒ	ØŒØŒ
ØŒ
ØŽr#   c                óž   € V P                   pV'       d9   \        V\        4      '       g   \        V4      pV P                  R 4      ! V4      # R# )ÚdocEvalN)rç  rE  rJ   rŸ   )r   rç  s   & r    rÌ  ÚDocPara.func 
  s>   € Ø�y‰yˆßÜ˜d¤3×'Ò'´°D³	¨Ø×(Ñ(¨Ô3°DÓ9Ð9ñ r#   c                óD   € V P                  R 4      P                  ! V!   R# )r£   N)rŸ   r’  )r   rý  s   &*r    Úadd_contentÚDocPara.add_content
  s   € Ø×Ñ˜gÓ&×<Ò<¸dÔCr#   c                ó  € V P                  W4      pV P                  '       dT   V P                  R 4      P                  4       pVP	                  \        WR7      4       W4R&   V P                  V,          pV# \        V4      pV# )rë  rì  Ú__expr__)rñ  r8  rŸ   r   rÃ  rï  rJ   )r   r^   r_   r6  rð  s   &&&  r    Ú	get_valueÚDocPara.get_value	
  so   € Ø—‘˜bÓ$ˆØ�;�;ˆ;Ø×$Ñ$ \Ó2×7Ñ7Ó9ˆBØ�I‰I”d¨"Ô@ÔAØ"ˆz‰NØ—K‘K "Õ$ˆEð ˆô ˜“JˆEØˆr#   c                ó  € V P                  W4      pV P                  pV'       g   ^ RIHp V P                  pV'       g   ^ RIHp V! 4       R,          pV P                  '       d   ^ RIHp V! V4      pV P                  V! W5R7      4       R# )r1   rü  )ÚgetSampleStyleSheetÚCode)r  )rz   r�  )
r  r  r  rý  rz   Úreportlab.lib.stylesr  r  Úxml.sax.saxutilsr
  )r   r^   r_   r6  r  rz   r  r  s   &&&     r    r]   ÚDocPara.wrap
  sh   € Ø—‘˜rÓ%ˆØ�J‰JˆßÝCØ—
‘
ˆßÝ@Ù%Ó'¨Õ/ˆEØ�;�;ˆ;Ý/Ù˜“-ˆEØ×Ñ™˜5Ô-Ô.Øˆ
r#   )r  rç  r8  r  rz   )NNNT)r%   r&   r'   r(   r)   r!   rÌ  r
  r  r]   r*   r+   r,   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# )Ú	DocAsserti#
  Nc                óH   € \         P                  V 4       Wn        W n        R # r�   )r/   r!   rç  r8  )r   Úcondr8  s   &&&r    r!   ÚDocAssert.__init__$
  s   € Ü×Ñ˜$ÔØŒ	ØŽr#   c                óP   € \         P                  WV4      V n        V P                  # r�   )r  rñ  Ú_condr  s   &&&r    rñ  ÚDocAssert.funcWrap)
  s    € Ü×%Ñ% d¨bÓ1ˆŒ
Ø�z‰zÐr#   c                ót   € V P                  W4      p\        V P                  4      '       g   \        V4      hR# rõ  )r  Úboolr  ÚAssertionError)r   r^   r_   r6  s   &&& r    r]   ÚDocAssert.wrap-
  s/   € Ø—‘˜rÓ%ˆÜ�D—J‘J×ÒÜ  Ó'Ð'Øˆ
r#   )r  rç  r8  r�   )	r%   r&   r'   r(   r!   rñ  r]   r*   r+   r,   s   @r    r  r  #
  s   ø‡ € ôò
÷ð r#   r  c                   ó8   a € ] tR tRt o . 3R ltR tR tRtV tR# )ÚDocIfi3
  c                ób   € \         P                  V 4       Wn        T;'       g    . V3V n        R # r�   )r/   r!   rç  Úblocks)r   r  Ú	thenBlockÚ	elseBlocks   &&&&r    r!   ÚDocIf.__init__4
  s'   € Ü×Ñ˜$ÔØŒ	Ø—o�o 2 iÐ/ˆŽr#   c                óD   € \        V\        \        34      '       g   V3pV# r�   )rE  r¶  r·  )r   Úblocks   &&r    Ú
checkBlockÚDocIf.checkBlock9
  s   € Ü˜%¤¤e ×-Ò-Ø�HˆEØˆr#   c                ó¨   € V P                   ! V P                  V P                  \        \	        V P                  W4      4      4      ,          4      !   R# rõ  )r
  r+  r%  rí   r  rñ  r  s   &&&r    r]   Ú
DocIf.wrap>
  s:   € Ø×Ò˜$Ÿ/™/¨$¯+©+´c¼$¸t¿}¹}ÈRÓ?SÓ:TÓ6UÕ*VÓWÒXØˆ
r#   )r%  rç  N)	r%   r&   r'   r(   r!   r+  r]   r*   r+   r,   s   @r    r#  r#  3
  s   ø‡ € Ø/1ô 0ò
÷
ð r#   r#  c                   ó,   a € ] tR tRt o R tR tRtV tR# )ÚDocWhileiB
  c                óh   € \         P                  V 4       Wn        V P                  V4      V n        R # r�   )r/   r!   rç  r+  r*  )r   r  Ú
whileBlocks   &&&r    r!   ÚDocWhile.__init__C
  s%   € Ü×Ñ˜$ÔØŒ	Ø—_‘_ ZÓ0ˆŽ
r#   c                óœ   € \        V P                  W4      4      '       d,   V P                  ! \        V P                  4      V .,           !   R# rõ  )r  rñ  r
  r¶  r*  r  s   &&&r    r]   ÚDocWhile.wrapH
  s9   € Ü�—‘˜bÓ$×%Ò%Ø×Òœt D§J¡JÓ/°°Õ6Ò8Øˆ
r#   )r*  rç  N)r%   r&   r'   r(   r!   r]   r*   r+   r,   s   @r    r0  r0  B
  s   ø‡ € ò1÷
ð r#   r0  c                   ó4   a € ] tR tRt o ^tRR ltR tRtV tR# )ÚSetTopFlowablesiM
  c                ó   € Wn         W n        R # r�   ©Ú_FÚ_show©r   r§  Úshows   &&&r    r!   ÚSetTopFlowables.__init__O
  ó   € ØŒØŽ
r#   c                óæ   € \        \        V R R4      RR4      pV'       dQ   V P                  Vn        V P                  '       d.   V P                  '       d   V P                  VP                  n        R# ©r>   Nr™   r�  )rl   r:  Ú_topFlowablesr;  r£   r¡  ©r   r^   r_   r³  s   &&& r    r]   ÚSetTopFlowables.wrapS
  sN   € Ü”g˜d 6¨$Ó/°¸tÓDˆßØ $§¡ˆCÔØ�z�zˆz˜dŸgŸg˜gØ/3¯w©w�—	‘	Ô,Øˆ
r#   r9  Nrm  ©	r%   r&   r'   r(   Ú
_ZEROZSIZEr!   r]   r*   r+   r,   s   @r    r7  r7  M
  ó   ø‡ € Ø€Jô÷ð r#   r7  c                   ó4   a € ] tR tRt o ^tRR ltR tRtV tR# )ÚSetPageTopFlowablesi[
  c                ó   € Wn         W n        R # r�   r9  r<  s   &&&r    r!   ÚSetPageTopFlowables.__init__]
  r?  r#   c                óæ   € \        \        V R R4      RR4      pV'       dQ   V P                  Vn        V P                  '       d.   V P                  '       d   V P                  VP                  n        R# rA  )rl   r:  Ú_pageTopFlowablesr;  r£   r¡  rC  s   &&& r    r]   ÚSetPageTopFlowables.wrapa
  sN   € Ü”g˜d 6¨$Ó/°¸tÓDˆßØ$(§G¡GˆCÔ!Ø�z�zˆz˜dŸgŸg˜gØ/3¯w©w�—	‘	Ô,Øˆ
r#   r9  Nrm  rE  r,   s   @r    rI  rI  [
  rG  r#   rI  r¨   )r»   NNN)ra  N)fÚ__version__r)   r  r   r   Úreportlab.lib.colorsr   r   Úreportlab.lib.rl_accelr   Úreportlab.lib.enumsr   r   r	   r  r
   r  r   r   r   Úreportlab.lib.abagr   Úreportlab.pdfbaser   Úreportlab.pdfbase.pdfmetricsr   Úreportlab.rl_configr   r   r   r   rp   Ú__all__r   r/   r­   r¿   rÆ   rÈ   rÎ   rÉ   rÖ   r   r_  rd  ro  rx  r�  r…  r‡  r³  r¹  r»  rÇ  rë  rí  rÿ  r  r  r3  r8  r?  rV  r]  r_  r}  r¬  r³  rµ  rÝ  rù  r  r;  rQ  r]  rg  rå  rñ  r  r  Úreportlab.lib.sequencerr(  rï  r4  r9  r;  rg  ri  r…  r�  r’  r›  rþ  rÑ  rã  rû  r  r  r#  r0  r7  rI  ru   r#   r    Ú<module>rY     so  ðð €ð	€ó, 
ß ß 0Ý )ß <Ñ <Ý .ß IÑ IÝ #Ý &Ý 4ß hÓ hð,÷
 -2©E«Gð ÷ñ ÷Nñ Nô`Pˆ8ô Pò*ôð& €òò&4ôPL�8ô Lô\[ˆHô [ôzˆxô ôPˆXô Pô
-�ô 
-ôi�
ô iô	�Iô 	ô	˜)ô 	ôF�Fô Fô(3$òj÷ñ ô@�? 8ô @ôD˜\ô ôCˆHô Cò	ô!�(ô !ô">$˜ô >$ô@P�ô PôO�ô Oô*�ô *÷X/ñ /ò
ô8#�ô 8#ôtd�:˜hô dòNò ô$j#�*˜Xô j#ôX9A�(ô 9A÷v>ñ >ô@vQ˜
Ð#5°hô vQôp$ˆxô $ô:.�ô .ô, ˆxô  ô.rÐ(¨ô rôh	5�Vô 5ô"&$ˆdô &$ôP,"ˆnô ,"ô\2�Hô 2õh 4ÙØ$Ø Ø ØØ!Ø#Ø$Ø!Ø#Ø#ô€ô÷3ñ 3òjBô1^�ô 1^ôf#g�ô #gõJ +÷(ñ (÷Tñ ô}�:˜hÐ'9ô }ô~�ô ô<�ô ô4 ˆiô  ô0ˆiô 0ôd�ô ô ˆGô ô	ˆuô 	ô�hô ô˜(ö r#   