
    f jj                     F   d Z dZddlmZmZ ddlT ddlT ddlmZ ddl	m
Z
mZmZmZmZmZ ddlmZ ddlmZmZmZmZ dd	lmZ  G d
 de          Z G d de          Z G d de          Z G d d          Z G d de          Zg dfdZedk    r e             dS dS )z3.3.0zGenerate ReportLab logo in a variety of sizes and formats.


This module includes some reusable routines for ReportLab's
 'Corporate Image' - the logo, standard page backdrops and
 so on - you are advised to do the same for your own company!    )inchcm)*)DecimalFormatter)
definePathGroupDrawingRectPolyLineString)Widget)ColorblackwhiteReportLabBlue)stringWidthc                   @   e Zd ZdZ ed5i d eed          d eed          d eed          d eed	          d
 eed          d eed          d eed          d eed          d eed          d eed          d eed          d eed          d eed          d eed          d e e	e
 ee
d d !          f          d"          d# ee
d$          d% ee
d&          d' e e e	e eed d !          f                    d(          d) e e e	e eed d !          f                    d*          d+ e ee          d,          Zd- Zd. Zd/d/d0d1ed0d0fd2Zed3             Zd4 Zd0S )6RL_CorpLogoz;Dinu's fat letter logo as hacked into decent paths by RobinxzLogo x-coordyzLogo y-coordanglezLogo rotationstrokeColorzLogo lettering stroke color	fillColorzLogo lettering fill colorstrokeWidthzLogo lettering stroke width
backgroundzLogo background color)descborderzLogo border colorborderWidthzLogo border width (1)shadowz,None or fraction of background for shadowingwidthz)width in points of the logo (default 129)heightz)height in points of the logo (default 86)skewXzx-skew of the logo (default 10)skewYzy-skew of the logo (default 0)showPage   )lohiz7If true or (true(top),true(bottom)) show the page linesxFlipzIf true do x reversalyFlipzIf true do y reversaloColorsz1None or fill/stroke colors for the o in ReportLab
pageColorsz/None or fill/stroke colors for the page outlineprecz-None or precision negative means strip excessc                 2   t           | _        d | _        d| _        t          | _        d | _        d| _        d| _        d| _	        d| _
        dx| _        x| _        x| _        x| _        | _        d| _        d| _        d| _        d | _        d | _        d | _        d S )	N皙?         ?V      r   
   g     A@)r   r   r   r   r   r   r   r   r   r!   r    r   r   r   r#   _dxr"   _dyr$   r*   r+   r,   selfs    fC:\Users\Terasoftware\OneDrive\Desktop\faahhh\fyndo\fyndo\venv\Lib\site-packages\reportlab/lib/corp.py__init__zRL_CorpLogo.__init__.   s    '
?@@@@$*@tzDH
			    c                 d    t          | j        | j                  }|                    |            |S Nr	   r    r!   addr7   Ds     r8   demozRL_CorpLogo.demo@   )    DJ,,	dr:   r   Nr.   c	           
         g d}	g d}
| j         }g }|rQt          |          s||f}|d         r|                    g d           |d         r|                    g d           |rP|                     |	| j                  }	|                    t          |	|d         ||d         ||                     n|
|	z  }
| j         rR|rP|                     || j                  }|                    t          ||d         ||d         ||                     n|
|z  }
|                     |
| j                  }
|                    t          |
|||||                     d S )N))moveTo"O@
cA@)curveTorE   gT@gCQON@gG8-xW@gı.nN@g:]?)rG   ga wM@gn?gM2rL@BѿgyK@rH   )rG   g7~J@rH   g7l[٨I@
ϛ?gǺ	I@cbqm?)rG   gO@akH@g+	@)^H@<7@rK   {丳@)rG   rK   g3.!@gK7mH@g㈵ %@gףp=
I@Ƒ'@)rG   gCVI@3'*@gPfJ@m9r+@gh|?K@rP   )rG   gDL@rP   gdCM@g}y)*@gDN@g '@)rG   gʉvN@gfL2r%@rE   gEɀ!@rE   rF   	closePath)rD   ]L@rM   )rG   rR   gT:X@gw/YL@gZK}@gVeOL@gmn @)rG   gXeSFL@g%: @gx]8L@g_YiR!@gqm'L@g͒ 5"@)rG   gJhL@gŧ "@g+ L@g* #@gmK@7T7q#@)rG   g̯K@g#@g<K@b('#@gΪVK@rT   )rG   g	8XK@rT   rm'K@goeQ#@jjZK@gVy"@)rG   f,J@gy!@[ɎJ@g9@0@rX   'o|@)rG   rX   gj+@rW   gZ!@rV   gNw(
t@)rG   rU   gR"@g)^XK@	@g'1K@rZ   )rG   grPLK@rZ   g:]K@g@g4R%L@g,H3Mg@)rG   gףp=
KL@g/n@rR   gW	3@rR   rM   rQ   ))rD   g\mr/@r   )lineTogME*"@r   )r[   gDL$z@gE$]3Y@)rG   gZ{,}@gǺ@gc#K@g"Tm@gۊe@g.Q50@)rG   g =@g_@g7g@g`@gWCK@6T@)r[   a)@rY   )r[   r]   r   )r[   U7?r   )r[   r^   13@)r[   gSr@r_   )rG   gEB"@r_   g<	%@g&kԻ2@gʉv(@g|a2U1@)rG   geI+@g{Fw0@"u|-@g4)-@r`   g_M)@)rG   r`   gŬC9$@gU+~I+@g#J{/!@g4Op&@r\   rQ   )rD   KhF@`$@)r[   göE@rb   )rG   gsx@rb   g,`@gpB!%@gg @gm%@)rG   g!@gSW>&@"uq"@g/
(@rc   gӂ}u)@)rG   rc   gBS,@g 6qb @WV-@gWf,@rd   )r[   ra   rd   rQ   )rD   .9@?2@)r[   gnLOXy>@gwN#@)rG   g; >@gQy@g70V=@ge6H?gT7<@gԕ<?)rG   g~W[;@g|wJ?gx#9@rH   "uq7@rH   )rG   g'kC45@rH   g0r.4@gpZ?gt2@gNё\C?)rG   g41@gk,	@aۢ0@g0AC@rh   gcz@)rG   rh   gJ+6!@g{1@gUMu$@gE_2@gܝ^'@)rG   g|=4@gvR~*@gՐ5@\tYLl+@gFv7@ri   )rG   gSW>:@ri   g
p;@gs,&6*@gW2<@g0''@)rG   g)t^>@gBs$@; >@gm!@rj   g8m4@)r[   g+p>@aۢ@)r[   gTƿϸ6@rk   )rG   gS:6@g+@gg7@@rg   rl   )rG   gZwgu8@rl   gM8@gB	\@re   rf   rQ   )rD   rCQ/9@L$z @)rG   rm   g}8g4!@gb'9@g~7!@gW>9@gnض("@)rG   gX0_9@g=$@}"@gs.Ue8@Fv"@gd,8@gx@$#@)rG   gKu8@rS   ge18@g#@gui8@g|~!<#@)rG   g}˜.A8@g$@g8@>"D$@g7@rp   )rG   gk) ƃ7@rp   g$37@gZd#@guV6@g	(#@)rG   gS
c6@g1"@bg6@ght!@rq   rn   rQ   )rD   tgy.C@bg
)r[   _i@@rs   )r[   rt    dF*@)r[   rr   ru   )r[   {IcC@gQy'@)rG   g3<C@gYni5$'@g U+ZC@g^/(@g"DxC@gE$]3)@)rG   gx]C@g,eX)@N^C@g{Nz*@g]ʾC@2ZGUt*@)rG   gV	C@ge-*@g%D@g"2+@g`MD@g.16+@)rG   gtYLlvD@gXV^+@g+ٱD@rP   gE*-D@rP   )rG   g>E@rP   g"F@rO   g U+F@rN   )rG   g~nG@gg?R%@AG@g:!@ry   +j0@)rG   ry   rL   g\m
G@gIh˹@ga2U0*F@rJ   )rG   g1F@rI   gsE@rH   g4cD@rH   )rG   g4R5D@rH   g&SC@g8P?rv   g[K<?)rG   gꕲq$C@y?gy@e'C@gϸp ?giW!')C@g	h"lx?)rG   gd,C@g)"*?rr   g//>:?rr   gR!uٿrQ   )rD   k+cD@KRe@)rG   r|   gU+~@gekUD@gRDU @g)8D@g'UH!@)rG   gĬD@gQfL2"@g,`C@'IL>#@g:C@r~   )rG   g=
PC@r~   p1=C@g[닄\!@r   gPp3@)rG   r   gʾ+@gCVzNNC@Oz1S@rw   r   )rG   geC@r   g0ACD@gDذ@gڧ5D@gW}W@)rG   g[ɎTD@ge-@r|   g_v@r|   r}   rQ   )rD   JRrQ@r   )r[   p=
P@r   )r[   r   ru   )r[   r   ru   )r[   gH_Q@gP%@)rG   g$#gaQ@gn)@gBQ@焁Å+@OIiR@r   )r[   r   gʡU @)rG   gt^BR@g	c @g!R@Bxq:!@gT gR@r   )rG   gaQ@r   gbgQ@gXL @g}iƘQ@g[B>ٌ@)rG   gZ Q@g*g@r   ga@r   gQy@rQ   )rD   (ycT@r   )r[   R, S@r   )r[   r   ro   )r[   MbXR@ro   )r[   r   ru   )r[   r   ru   )r[   r   |~!d1@)r[   r   r   )r[   r   ru   )r[   	T@ru   )r[   r   ro   )r[   r   ro   rQ   )rD   ZW@r   )r[   2}EU@r   )r[   r   r_   )r[   <IfV@r_   )r[   r   4ir@)r[   r   r   rQ   )rD   ',[@r   )r[   }"Z@r   )rG   gU0* Z@g~?gao"Z@g|,}?gn4$Z@g?ܵ|?)rG   g%Z@g?g'Z@gec] @gd)Z@g䠄@)rG   gg67Y@g[tYL?gRY@rH   g"2Y@rH   )rG   gŊLX@rH   g dFX@g?g	]X@gz6>W?)rG   gWL)X@gTގ@Nw(
X@g1%e@r   gr?@)rG   r   g-#!@g7*X@godC%@glV}`X@gj+'@)rG   gR,X@gdp4*@gH.X@rP   g<;Y@rP   )rG   g鲘Y@rP   g!A	3Y@gIh˹)@gME*!Z@grm&@)rG   g
.V` Z@g0G&@g9}Z@g?'@gw;SZ@gh~'@)rG   gMZ@gXeS'@g<Z@gޓZ'@r   ge(@)r[   k}ЖZ@g\mŮ)@)r[   g?Z@ru   )r[   r   ru   rQ   )rD   r   	h"@)rG   r   gN@g<DZ@gCK:@gJ8Z@g0ACO @)rG   gEaZ@gQ|!@gqtZ@g7̒!@g[%XZ@gP0A"@)rG   g鷯Z@gs"@g3P>Y@g1PN"@g$bJ$Y@gh"@)rG   gt{IcY@gؙB%#@g"-Y@r~   gpWY@r~   )rG   gA&9Y@r~   0r.uY@g(\ @r   g,C@)rG   r   g6ُ@g2Y@_)Ǻ@guY@r   )rG   gPkY@r   r   g7l@r   r   rQ   )rD   gypw]@r   )r[   Ǻ$\@r   )r[   r   W}W4@)r[   #]@r   )r[   r   gJF+@)rG   r   gd**@gɎ@]@g{Nz(@g,g~5]@gs^&@)rG   g*5{]@gs,&6(@g|S]@g_)@g:KT]@rx   )rG   gQ^@g|+@g1|DL0^@rP   gOed^@rP   )rG   g^@rP   gHK_@g[rP2*@g{1D_@gĔH'@)rG   gK8y_@gi:;5%@lV}_@g2r!@r   gvZ@)rG   r   gOGɫ@gmy_@gbb@gIB_@g=\rܩ?)rG   gGɫs_@K7?gpn^@rH   gm/`^@rH   )rG   g}"O2^@rH   gX
^@g=~oӿg<If]@gBsF?)rG   g0|]@r   g	h"]@g4)^?g|гY]@ga?)rG   gq>?]@g$+?g ]@r{   r   g,&6?)rG   g{]@gR?gV-]@g{Ic*?g|G]@gK7A`?)rG   gu݈]@gf?gZBs]@g ?g!7]@gP?rQ   )rD   }iƢ%^@rz   )rG   r   g;f?!@g_^@痐z6+#@g֨ht]@r   )rG   g-l]@r   5{]@g\Z!@r   gm9r@)rG   r   g%#gaO@gHIO]@rCQ@g\r)]@r   )rG   g#Jv^@r   r   g@r   rz   rQ   r   ))rD   WVZ@@%e-@)r[   r   GG@)r[   gr3܀	T@r   )r[   /
ҌV@g$]3B@)r[   r   X94@)r[   玒WJU@r   )r[   r   bg>@)r[   .jR@r   )r[   r   ;)E@)r[   W	3'C@r   )r[   r   r   rQ   )rD   rhS@%ǝ)B@)r[   r   r   )r[   r   r   rQ   r/   )	)rD   r   VC")r[   r   LqUw9)r[   r   r   )r[   r   箞7>)r[   r   r   )r[   r   Բ&?)r[   r   r   )r[   r   r   rQ   )r   r   r   dxdy)r$   isSeqextend	applyPrecr,   r>   r   )r7   gr   r   r   r   r   _ocolors_pagecolorsOPPr$   PPs                r8   
_paintLogozRL_CorpLogo._paintLogoE   s    q  q  q	 	 	 = 	V?? /$X.{ t		  s  s  s  t  t  t{ V		  U  U  U  V  V  V 	49--BEE*RHQKKZbcdZejlqstttuuuuGA= 	[ 	49--BEE*RKN{]hij]kprwyzzz{{{{GANN1TY''	j{{U^cejlmmmnnnnnr:   c                    || S g j         }t          |          }| D ]g}t          |          rKg j         }|D ]:}t          |t                    rt	           ||                    } ||           ;|j        } ||           h|j        S )N)places)appendr   r   
isinstancefloat__self__)r   r,   Rfpnes          r8   r   zRL_CorpLogo.applyPrecj   s    !ID))) 	 	AQxx I  A!!E** (!!!A$$KKAaDDDDJAaDDDDzr:   c                 .   | j         }| j        }t                      }| j        }| j        }| j        }| j        }| j        | j        }	}|rT|9d|cxk    rdk     r,n n)t          |j
        |z  |j        |z  |j        |z            }|                     |dd|           |                     |||| j        pd | j        pd            |                    | j        | j                   |                    | j        | j                   t                      }
|
                    |           d\  }}| j        | j        }}|s|r,|r*|
                    dt5          dd|||||	                     ||k    s||k    r6|
                    |t9          |          z  |t9          |          z             | j        }| j        rM|d
z  |d
z  }}|
                    | |            |
                    |           |
                    ||           t?          | dd          rdpd}t?          | dd          rdpd}|s|rH|pd}|pd}|
                    ||z  ||z  z   ||	z  ||z  z              t          |
|dd|ddf          }
n|
                    ||	           |
S )Nr   r/         r%   )r   r   r   )r   r   r   r   kxky)r2   r1   )r   r   r   g       @r(   r)   )	transform) r   r   r   r   r   r   r   r   r   r   redgreenbluer   r*   r+   skewr"   r#   shiftr4   r5   r>   r    r!   insertr
   scaler   r   rotategetattr)r7   r   r   r   bgbdbdwr   r   r   G_w_hwhr   r(   r)   sxsys                       r8   drawzRL_CorpLogo.drawz   s   N	&GG_[vtv1 	> Ma M M M M M M M M Mrvf}RXf_RWV^LLOOA!fO===I+-$/:QT 	 	S 	S 	S	$*,,,	"""GG	aBz4;1 	T" 	T 	THHQtAa2rcRRRSSSb5;ArE;1771U2YY;qr{;;;
: 	R42qAGGQBrNNNHHUOOOGGAaLLLWQ''.B3!WQ''.B3! 	E 	!B!BGGBqD5LAeAg...a2a"Qq/222AAGGAaLLLr:    )__name__
__module____qualname____doc__AttrMapAttrMapValueisNumberisColorOrNoneisNumberOrNoneEitherOr	isBoolean
SequenceOfNoneOrisColorisInt_attrMapr9   rA   r   r   staticmethodr   r   r   r:   r8   r   r      s       EEw 
 
 
L.111
L.111
 Xo666
 #l=2OPPP	

 !L0KLLL
 #l8,IJJJ
 "\-5LMMMM
 m1DEEEE
 #l81HIIII
 n2`bbbb
 X,WXXXX
 h-XYYYY
 X,MNNNN
 X,LMMMM
  <)JJyAQR4S4S4S)T U U  ]V  W  W  W  W
  Y-DEEEE!
" Y-DEEEE#
$ ,vvhh

=TUYZ8[8[8[/\&]&]^^  eX  Y  Y  Y  Y%
& "\&&7::mWX\];^;^;^2_)`)`"a"a  hY  Z  Z  Z  Z'
( |FF5MM/^____)
H.  $  
  !QDcUZeiw{ #o #o #o #oJ   \( ( ( ( (r:   r   c                       e Zd Zd ZdS )RL_CorpLogoReversedc                 j    t                               |            t          | _        t          | _        d S r<   )r   r9   r   r   r   r   r6   s    r8   r9   zRL_CorpLogoReversed.__init__   s(    T"""&r:   N)r   r   r   r9   r   r:   r8   r   r      s#        ' ' ' ' 'r:   r   c            
           e Zd ZdZ e ee           ee           ee           ee           ee           ee                    Z	dZ
dZdZdZdZd Zd	 ZddZddZddZd ZdS )RL_CorpLogoThinzThe ReportLab Logo.

    New version created by John Precedo on 7-8 August 2001.
    Based on bitmapped imaged from E-Id.
    Improved by Robin Becker.)r   r   r!   r    r   r   g     V@g     a@zR e p o r t L a bHelvetica-Bold   c                     t           | _        t          | _        d| _        d| _        | j        | _        | j        | _	        d S Nr   )
r   r   r   r   r   r   r   r!   r   r    r6   s    r8   r9   zRL_CorpLogoThin.__init__   s5    & gW


r:   c                 d    t          | j        | j                  }|                    |            |S r<   r=   r?   s     r8   rA   zRL_CorpLogoThin.demo   rB   r:   r   Nc                 J    t          ||| j        | j        | j        |          S )N)fontNamefontSizer   )r   _text	_fontName	_fontSize)r7   r   r   colors       r8   _getTextzRL_CorpLogoThin._getText   s$    a4:chiiiir:   c                     | j         }|d}|t          |          }t          |||         | j        | j                  S r   )r   lenr   r  r  )r7   r   ltexts       r8   _swzRL_CorpLogoThin._sw   sA    z!a##d))a4!9T^DNCCCr:      c                     d|z   d|z   }}d}|dz
  |dz   }
}	||dz
  ||	||	||dz
  g||dz   ||
||z
  |
||
|z
  ||d	z   g
|dz
  |
|dz
  |
|z
  ||
|z
  gg}|D ](}|                     t          |||d
                     )d S )Ng?@gGz>T@r3   "   g     @I@   r/         r   )r   r   strokeLineJoin)r>   r   )r7   r   r   r  r   r   x1x2fLy1y2Lr  s                r8   _addPagezRL_CorpLogoThin._addPage   s    r58BB4BAbRRA.2bBrE"R2bB7U2beBrE"RU+-  	] 	]AEE(1+5YZ[[[\\\\	] 	]r:   c           
         d}| j         }| j        }t          |j        |z  |j        |z  |j        |z            }t                      }t                      }|                    t          ||dd| j	        | j
                             | j	        dz
  |                                 z  }|                    |d           |                     |ddd|           |                     |d|	           |                    d|z  d           |                    |                     dd|
                     |                    |                     dd|
                     |                    |d           |                    dd           |                    dd           |                    |           |                    | j        | j	        z  | j        | j
        z             |                    | j        | j                   |S )Nr0   r   )r   r   r   r   r    r!   r%   r/   r
  r   )r   r   r   r  )r   r  )r   r   r  r3   r   &   )r   r   r   r   r   r   r   r>   r
   r   r   r	  r   r  r  r   r   r    r!   r   r   )r7   r   r   r   r   r   g2s          r8   r   zRL_CorpLogoThin.draw   s   N	&y}R'	(:9>";LMMGGGG	dYIatw_c_fggghhhgai#
AbQ!t&AAAbQ[999
2a
t}}q16}22333
t}}q1;}77888
A
2!
2	b				
47"4;tw#6777	tvr:   )r   r   N)NN)r
  Nr   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r9   rA   r  r	  r  r   r   r:   r8   r   r      s       ! ! wL""L""n--^,, L//"lM22
 
 
H 
B	B
E II    
j j j jD D D D	] 	] 	] 	]    r:   r   c                   6    e Zd ZdZdddez  dez  dfdZd ZdS )ReportLabLogoz:vector reportlab logo centered in a 250x by 150y rectangler   g      @g      ?c                 8    ||f| _         ||f| _        || _        d S r<   )origin
dimensions
powered_by)r7   atxatyr    r!   r   s         r8   r9   zReportLabLogo.__init__   s#    Cj &/$r:   c                    ddl m} |                                 | j        \  }}| j        \  }}t                      }||c|_        |_        |                    |	                                |||d           |
                                 d S )Nr   )	renderPDF)reportlab.graphicsr$  	saveStater  r  r   r    r!   r   rA   restoreState)r7   canvasr$  r!  r"  r    r!   logos           r8   r   zReportLabLogo.draw   s    000000K	S/}}"'
DKtyy{{6#c!444r:   N)r   r   r   r   r   r9   r   r   r:   r8   r  r     sQ        DD!3t8CHQR % % % %
    r:   r  c                   ,   e Zd ZdZ edi d ee          d ee          d ee          d ee          d ee          d ee          d ee          d	 ee          d
 ee          d ee	          d ee	          d ee
          d ee
          d ee
          d ee
          d ee
          d ee
          d ee
          d ee          d ee          Zdez  Zdez  ZdZdZd Zd Zd ZdS )RL_BusinessCarda  Widget that creates a single business card.
    Uses RL_CorpLogo for the logo.

    For a black border around your card, set self.border to 1.
    To change the details on the card, over-ride the following properties:
    self.name, self.position, self.telephone, self.mobile, self.fax, self.email, self.web
    The office locations are set in self.rh_blurb_top ("London office" etc), and
    self.rh_blurb_bottom ("New York office" etc).
    r   r   altStrokeColorr   r   r!   r    r   bleed	cropMarksr   nameposition	telephonemobilefaxemailwebrh_blurb_toprh_blurb_bottomgffffff@g      !@r   z,strategic reporting solutions for e-businessc                 f   t           | _        t          | _        t          | _        d| _        d| _        | j        | _	        | j
        | _        | j        dz  | _        dt          z  | _        d| _        d| _        d| _        d| _        d| _        d| _        d	| _        d
| _        d| _        g d| _        d S )Nr   g@皙?r/   zJoe CoolzFreelance Demonstratorz020 8545 7271-z020 8544 1311zinfo@reportlab.comzwww.reportlab.com)zLondon office:zReportLab Europe LtdzMedia Housez3 Palmerston Road	WimbledonzLondon SW19 1PGzUnited Kingdom)r   r   r   r   r   r,  r   r   r   r!   r   r    r   r   r-  r.  r   r/  r0  r1  r2  r3  r4  r5  r6  r6   s    r8   r9   zRL_BusinessCard.__init__2  s    & #gW
:d?r6
	.& '
$' ' 'r:   c                 d    t          | j        | j                  }|                    |            |S r<   r=   r?   s     r8   rA   zRL_BusinessCard.demoN  rB   r:   c                    | j         }| j        }t                      }|                    t	          dd| j         | j         | j        | j                             |                    t	          d| j        | j        z
  | j         | j         | j        | j                             t                      }t                      }dt          z  |_        dt          z  |_        |
                                 |                    |           |                    |           |                    | j        |j        | j        dz  z   z
  | j        |j        | j        dz  z   z
             |                    t          | j        dz  | j        |j        | j        dz  z   z
  d|j        z  z   d	| j        d
d| j                             g d}| j        | j        | j        | j        | j        g}|                                 |                                 t+          t-          |          dd          D ]}|                    t          | j        | j        dz  z   | j        dz  |dz
  dz  z   d| j        dd||dz
                                |                    t          | j        | j        dz  z   | j        z   | j        dz  |dz
  dz  z   d| j        dd||dz
                                | j        | j        z
  | j        dz  z
  dz   }	| j        }
t+          dt-          |
          dz             D ]O}|                    t          | j        | j        dz  z
  |	|dz  z
  d| j        dd|
|dz
                                P|                    t          | j        | j        dz  z   |	dz
  d| j        dd| j                             |	dz
  }|                    t          | j        | j        dz  z   |dz
  d| j        dd| j                             | j        r7|                    t	          ddd t6          | j        | j                             |                    | j        | j                   |S )Nr   )r   r   r   r   r    r!   g      ?gffffff?*   )r   r   g      @g8x?   zHelvetica-BoldObliquestart)r   r   r   r   r   
textAnchorr  )zTel:zMobile:zFax:zEmail:zWeb:r   r/   g      @   	Helveticar%   endr3   g      (@   )r   r   r   r>   r
   r   r!   r    r   r   r   r   r   r,  
_strapliner1  r2  r3  r4  r5  reverseranger  r6  r/  r0  r   r   r   r   )r7   r   r   r   r  rlleftTextleftDetailsr   ty	rightTextty1s               r8   r   zRL_BusinessCard.drawS  s   N	&GG	dqa&*n(,"&"2#';	0 0 0 	1 	1 	1
 	
dqdk$*::&*n(,"&*#'#3	5 5 5 	6 	6 	6 WW==G	r6
			
r


	b			
DJ$*R- 89K29dk"n#=> 	 	A 	A 	A 	
f)#-"&+DKN1K"LPWY[YbOb!c'((,(;'>)0#'?4 4 4 	5 	5 	5 ?>>^DKDHMs8}}Qr** 	6 	6AEE&T-t/?/CD!%!1#!51u F'((,(8'2)0#+AaC=2 2 2 3 3 3 EE&T-t/?/CDTEUU!%!1#!51u F'((,(8'2)0#.qs#35 5 5 6 6 6 6 k$**D,<S,@A!C #	q#i..*,, 	4 	4AEE&TZ)9#)=> "QK 0'((,(8'2).#,QqS>3 3 3 4 4 4 4 	
f)4+;C+?@ "2')(,(8'2)0#'9. . . 	/ 	/ 	/ i	f)4+;C+?@ #A'((,(8'2)0#'=2 2 2 	3 	3 	3 ; 	5EE$1!(,,1&*j'+{	4 4 4 5 5 5
 	
tvr:   Nr   )r   r   r   r   r   r   r   r   r   r   isStringisListOfStringsOrNoner   r   r   r   r  rF  r9   rA   r   r   r:   r8   r+  r+  
  sP         w 
 
 
 L///
"l=111
 &m444
 L"""	

 L"""
 h'''
 X&&&
 #l8,,,
 l>***
 ,y)))
 |I&&&
 \(###
 h'''
 ,x(((
 |H%%%
  L"""!
" l8$$$#
$ L"""%
& "\"7888'
( %%:;;;)
H. 
bB	RB I?J' ' '8  
` ` ` ` `r:   r+  )pdfepsjpggifsvgc                    t                      }d|_        d|_        t          |j        |j                  }|                    |           d|j        d<   |                    d|            t                      }d|_        d|_        t          |j        |j                  }|                    |           d|j        d<   |                    d|            t                      }t          ddd          |_	        d|_        d|_        t          |j        |j                  }|                    |           d|j        d<   |                    d	|            t                      }d
|_        d
|_        d|_        t          |j        dz   |j        dz             }|                    |           d|j        d<   |                    d|            dS )z,This function produces a pdf with examples.    r1   r/   verbosecorplogo_whiteonblue)fnRootformatscorplogo_blueonwhiter9  corplogo_grayonwhite   2   r+  N)r   r    r!   r	   r>   __dict__saver   r   r   r+  r   r   r   )r[  rI  r@   s      r8   testrb    s    
BBHBI##AEE"IIIAJyFF(F999 
		BBHBI##AEE"IIIAJyFF(F999 
		Bc3''BLBHBI##AEE"IIIAJyFF(F999 
		B	BD	BDBIBIbL))AEE"IIIAJyFF#GF44444r:   __main__N) __version__r   reportlab.lib.unitsr   r   reportlab.lib.validatorsreportlab.lib.attrmapreportlab.lib.formattersr   reportlab.graphics.shapesr   r   r	   r
   r   r   reportlab.graphics.widgetbaser   reportlab.lib.colorsr   r   r   r   reportlab.pdfbase.pdfmetricsr   r   r   r   r  r+  rb  r   r   r:   r8   <module>rm     s   	A ( ' ' ' ' ' ' ' & & & & # # # # 5 5 5 5 5 5 X X X X X X X X X X X X X X X X 0 0 0 0 0 0 C C C C C C C C C C C C 4 4 4 4 4 4M M M M M& M M M^' ' ' ' '+ ' ' 'L L L L Lf L L L\       $i i i i if i i iX 100 (5 (5 (5 (5T Z DFFFFF r:   