alvinalexander.com | career | drupal | java | mac | mysql | perl | scala | uml | unix  

What this is

This file is included in the DevDaily.com "Java Source Code Warehouse" project. The intent of this project is to help you "Learn Java by Example" TM.

Other links

The source code

BZh91AY&SYmcҌ0~(! JPL0&	LI`&
QCJ!=L Ѡ
 4m@U 	iC&dhѣ	ѣL Ʉ4Midd4e1d@$hi$pB$)PA$K"C@J?0/ p U@ɝ˝C*.SR$)ra:xFxiNcKWޘUq7c90g9Usos[sݗm9tFsMuo]uzZ-Fo@7Q]pxP<6yc=pHDD'\
+@R@םHl@ѝdX`:P(+@U@sp.R$FD8
LR.@NX8P<p;?*S@@04])a@P\t(8@0h
8TX
02` -\z
8Tn00
P2i@`0Xxp)c@I,TP1 c *]Jh
8P91Yb
j 
Ph
XP*Z}hd8l`"^
`9)@rb`\
P84v@Q 6hne 6`kS|/~}l| z@dϝr`d@ =+ i@iƝ<ZX03Xi@)`V@J0f
+ }u0x7@xzw[ŝW؝)Z8P(`[`(Tɝg`
p;hXh
@*}h`: *^Ɲ~0(P4.T@fWN*e{@vx@s i^
`.V@@@SX8 =*tvyd`.q@tztUa
X
x8@,n
:2 *uWpP<
X @/kڝm 8`/]@`9`)001V@Z@@z R@@^0:(rx+`pT@ѝ\.`V *0:h
P 7@3o@ܝx8:KRp jĝt 3X`6 oOpu{Н@uVzޝ@@\Ɲ֝Wy ,@t`]ҝYrPl 
8T@zwn 0r@.)
@Hc@xT`
$
H`
*Z (|@g@B~PH@2|pg՝D<p=5 e@ )
;0:9=0?@0@a@@r aTp,Zr.96~^@q@r$|
`0`cOÝFJh\tFjF
8@7@c@ڝQߝXL@j`6 xp70XP)
 28p9 5Z֝(hDj
86x<.U )U@<
08 ;5 ~w`p6r b@f =P(J?dx@qb 0 o4@za@םٝL"Iq@{@l1S@@r X
8p0l
85`f`7q_u882`~
 )ZG,^@\\M
4 : 7U@ԝ@F6@80px07`h 2`mèx0
7 pi@ǝG՝НS Xb8;@@@x@[ϝvT
9(X 9`3_Cӝ耨|0X`7+tr`. c@؝@ 6|kIlJ@pP1YݝP
|2J0^r0dHlhD>>x
~x
X 9?@5hG&T
\d
XP+SD
`(`h8|ȝ@.`t@r0=>X9x `3ib4Qz
HqTba$/ P@D`Q		.n$$˿nMtWq_cLcKf4ַwJWweziZz馋M.ӻN5MYz6[m7mLDLCb؆6!
m$~t8D'2/Y@pY\
8P9+0H`;0, {`l@􀽝j p90u^ih`:

P(:07`nҝu`v
x 7`@@z@u ]`-@tv{ ~ \@@ܝ@}p=,uP08

3w`r{a+ij@lvdJh
:=Rz(-c@fxsxb@퀢@g0X>p9@2W}^=P93RםdLH
`;-s+Zӝ@
X `2~@z@]k@(<)xQ@gÝjZd
Hh
2p@~xsP @6S@Z@T@)\ReR
(p=+t8
X;,P:@>,o~݀@X@\2cJbl"/g4
hT$
1-y$p;'wܗI$I$I$I$I$I$I$I$I&1crb^;`O{Y *jZVU|*tmlٳfe9s1$1$1$1$1$1$1$1$1$sysEb ͭ
7N[VΝQH
hH)V9yP"j$$m$U&b
$N@o@@[ <;.
:W@VkU[PPpDQLX
m!ut'mmmhTs:&mu¨J**J**`@
D-Z
@m$I1hވ7bBJѪAj"Z Ĭ\6Ͱmfjy0p`
P0x/`i|k:p4`kM`=5=05a@"'	}4kuU|htkPȀBP
v
wwM	Ҵġ!%Ehr@jV,
x0=`, q s s@T8*IU|ӣt5BBKi-mm1&nT%B<PZ5ɝϝߝI(
P>
0=0g@ueםw8
8 :
p908-:̳\@6@rR@Q)4=XR)N2%
(I%"Ih
88T
4j` ?,j䀣Z@@k@Or.z|i@^@%E'	ԉ%ERPD&x
4rc@ꀩwSWKc_@JаI$v؛ҦR[`MҶxd>
?X
9p&SYRWǀI@@Ɲ
e%0)*Ch(hHikН/
ȝ:%
GBB)r`|,Z@ϝ(@,RvP`7 wc2K1z|qxq@|n?`+0@:(
N&1n@e@~o 1vi۝]>>F{QM_zx@ ,x
T\U؝@[@`p`@(q< 8 /@QQD@`;(
9)98h <X@\x~Zz 4`PL

HL$
+`i@_IqNNٝ>
@> 5@f 4`~x+WǝN2p=`;hP1 t`r@(g,
(;0|}Vz{80>`:\J<||
(p6 8>00`{d,l@{>QK 
@, v@{8p4@uqU[inhD4?l@j`>9>`>@6k@,V؝ܝНq@
<P
8+ f@ =/p axuiƀzN<
6@iupx
`9;`*qQXP۝l\8$T 
`:P:? 2a<

84D,`|{m֝bJOlAS2~zx8.`y{Q`=`/{ e@@*IޝΝK($
p7^ 6 u@yRӝd<p, xa`8dhp)@b@@\ҝ#
@04qs0?@>=P*c񀡝_@_НĉoVPd`0 ;/ pXW;=`9:20b~A{@k@Rz0
J݀].!K
( 90a@nw
h(82 e@;.`WN
X08,`|e`=p5mGDRTLp9:7c`;l
P0:1uyz
@uaj^P
@P7W͝T̝}
H<<

)^,@y0@8)<@7@rTL ` xD 8H 0/o>P+`j * xP9<0,u_qs@uP5UKV(h Dx\  X3`Z 4tPH ,z@R<6 Hz`w@R$P=9h XLD @l  8@=H B> l6T |  (o@@w]@`R`x D t `` *0 `?0?00V`,r@j)VI%V 6! lHlCbBL?ΝÝ_^ǀ^N 0=6d@Q@@f@W@< x 7@h@\ 7h@@D ՝C H,{`qtL 8 8NF`  @p(yP 0{`Z@O .q R9 5pp>0-"ITp< 2`R@t uj,[$T< LtH* 2|t@Z 9* ypJX=рC($  <  D 03@P.`}<@6`mTڝڝ^( p > P+P;=2h@؝Rw@r| Z6r@}P1`Qĉ'N 8+rie`3t _x `X @[@@F  j +jH<*ph HP+l@@eٝ6  :9>8@5@4<   <X x@1~`@v V=P-ul@Ta{ؑ$Hpk@1`Q`:/te)@a= X 0( -@q`goD'd ĉ'Dt6؀ǝݝR@ly0 h0<(s$& .0(w0=>p;>-0:+p1t80-`dH BDHuJp@4q@i@@j@i`4}`{g@@B )Y@qh 0`?;(x 07y`^@@Sn@ݝjםh4sd@kiV| 0P90<h ph 00.p4c@x@naƝٝ`( ,`z ~f 9 7@h,hP(ÝL X6>8.{`ewq@}00hpW+@ם xRLH( x0rV 9@4[؀Xcր@}rg~J8 Pll 50:h   &84 5}U@@w a /V񀰝F 02 xz~@cޝ 0@R`:/{wp0)pT6 |h p$YUcW)^p`: <Vb ` | h <0 *\ 4l˝G`.U@@t]; @00`_rQޝMnX 5Q@@@ɝm9> Lz,@ (<bǝ (* z@a/p,z` +yq`xQ+x9 ,hTP@ P7oR `0.w`P@yFl <'0Xh< @;):P6@c?;<? 99j l xhh`T 9x P8X`5~w`,@l>02q( ( 4Nj hh P X.`n@x`5V@z0 9; <,~rjӝF  |  @(XD :, 0P9h `$sN $8 Yi\3 S@ڝޝ^]ÀН@pp<8ddum*@ud8)}wn@ *t_@@n[.zŝq| `6 `@[(4`)j@qX@@l 4aӝ`=x @`>< d 2p`+qp^ԝ4H 0 f  8<5@PT\ .Vk@D PBvX (2À۝ٝ 8@d P@? ;<<@8-[ (p d:@X *}v@0@S`8,q`lA< 0( .0j#{~f 4 ȝ@` +^@v`ab(ZhʀsƝ؝zuX䀨a :4@ 8Tc5B@@ T( :7@ch@PT \d$ 1Pp`x`= 0<πiVXl Pp== h( t6l h@, h,@fn@(U̝$ 8)W`(@y*x}RC@ X>,pf =@._˝\@@56``o@k>p-bu}u4`b@|x ,f@K˝ P<P/pP5@Z@Q?80) 0  `/0(p`P?-qp>( 0p;00 ;P1m@RE>Z~ @.Rx+||p(e 8p3`Vj ,xd@VkL<$Y!ÝJ fp @0 d | bJݝ E Tπ d 0+_6Xӝȝ@c@/[Yrtd L Xp>x D 8(y`o 6xiΝ@nV`,@wp\u`[S۝C@b )g@y\@f  hrc 00 5`T^jN^@X=0Z;0=P DJn.@r@e@W#ܝѝJ9@k :7P:@9x 0  H`:p- \˝@@u=p+_@+h@3`gv@Pp 5`xUdҝ_ 0/^=$ \?{ Нs`V5((-p z 3 e@]@ / y`:`60 .`a@Ey-Z@`>h P(TÝ)Ȁ@`7u?==p/l`:(BrD > X00`}9?p<8`9<:P1 Zn@ypxH h]|&t P  P?070%q^X, , bN[*Z HP*p H (@g@@U@Yf =:68= 4{p0P4 nΝTC0 h 0;.~@S❔ȝܝ`R x\b $   H0<?6V@SVE =P/v g@@@pP@} ~fڝoН`480?6@S@@d`9@<4PxX h 5@j .(? ;5@d 4V@m@tp`p r~ i 304L P8 Lh dP Hh p!V~46[B] Y (D [ĝJ 9@* m@stp/`mx d`4_<`-i@lx8 ,P`93`m`5@Y7P=;T @<=P: =8+WԝL 8J@d&h 0(Nꀼ"T 8 (x 1\ P( +v`s[뀰Fl HHP  1 /n`==>p7P"'@^)`Va~(^@vp6@6DVȝsp_6eDx x*@t d@7p6l@r@y R@}`U]PL +g@Pn<`;H  H@0)0>H  T`6 d h L `,W(g 0oߝSdRr~  6 i@P̝ǝen ;*l`/ rT%l <(`[@@P`< `P</u Z@ij )`R@d >(`i+ ^@b@d܀ҝSd@h@f@bp @ P*P *@r S *`u V`?>57V؝4 p <>;( 8/2`Zb*a[fjidp 0.w`z xPh  0@rp $&^|z6 ` @<02v@tU|.@]{ ``4@Z῝j|8 P0z2>8X x   <j  \6l6mܝ`d p  83@u_`;0X/PR@]@@T-c950|, X 4U@@q@5z sb@V`=( hVCc60?4p2lȝ6V5[@b: )utp<P0@g*`_`2  8 ,Ftx `|mw‮E\j60V Jr\@Q6th;P:p=9/V@퀫@d`0 pxj@@i@z@v`p 6QJlSrXT 9`)dҝX@os`b@+`R+~p03`\^Zi@y@|ˀ_`kr]`0( h 8+;@=p0@o0,_`>6[@~v@_Nd` 4`@ŝa 4  4UZѝ@_@93lϝҝDP^~@yfv|Tlʀ@*s~o8ր˝؝_@^M6&T xpP= `>=2S@w~ 8 L8 8P60R@|xYĝȝz@@N怺v)uoD| _@S ;4`i 8P96@~_@gh xp 1_4P.`j@c@`>+g`<0p02g8L 0Lx  v$jlP( =x t@ x 102{]ڝP.  pD l0 p 4rh@RH$ 9h @ ` 7caŝo&f>퀻c@dj=9( 8>`2zk6`S@ )`~uQz j@͝J} qsv{X t:DDXL <@/`x~p" X @@lπ˝V9vT x3tkĝ2QΝ|g3z'Ty :p0r R 0>P6@{@qqx@wWY5`\]@@x01 g@@srR흲  (0- ~g@of2( 6h 05 }@sk;   0 4|tp * Yϝt"n o|(l x9 ; 9P96V@@s::@@j-;.v`RkIV,@Q@r rp6`\x4H P*8 '@͝ǝ֝chd6 93 =<@=076Tnٝe{XN ;0,xiဨn t /d2@Tw *x80x8( X Ht s4 /g@@$I0Y ;31X :@84sx@)( |<f8z$I=;`)Kt =>8 `@98 `7D  = 4]. T@@eÝ\0 Up L Vzt HH4fϝ띖j)       (P({ ||hT 07,QX +x8$ 4=5e@HZѝ , R@ )b@@ v4  4 Z@, jS4)t0)yP 8 0;P.bŝO  8$ P0> 8$~X@םb >9:5@Z.`g`6\v4l<4 X h>hl P 7ĉ%X |5uwp`Q-w ``T, t 0.``( :T 7Ph@;;,`^@k@.p H W ޝzxW=@<>/`tc`>-l@@@clOH @;.`p`X@.xd t | $.0@ P7R@mvh.`W@]@g, z$  vfdD z L.z0L T LD d ` 0ho]@wp"I$I7(@r`c08 T *@y [804vq`n)@|q"I@oP`qc$lDT * l`,XjqJ$I4_@@Ɲx*vꀶrtp -e)O!"I$I+`y`Z@@i@ǝ (PLtT x$ / ~vXlzP: h1@i?:=3@aڝŝ8 p p:: 0P6kmT X8 l T 0 8 x 5`@@SƝx4*p p:-`zy Z, , p Lffv X2w]Ν[˝p@?H p ;+v`[@cÝY@@W@r LrZ4|.g ( ll $  2}T)Q0 pp P/WJ͝od[6 ܝ 00S@꿝vz`a@U(۝R@Q ?071kR;dP `:P4e 1W" ?/ppfĝl @p4 3 R@X@{@]_v@T`<.`v`o|V\I@@ʝq2 >-y3T k 3@U`<1@qsw@f$p0 lCnQT̝j 803w iǝn,@X H (0+Ri@@ĝ  DtL 2(($df  ;Ngםם@d@kNc)@_@Ow@oS@@VlZb.\|4 Hp306 |>p??/0@.{X`4@c@UFLޝ^ @P &:E՝@}aU坻 * z\؝`;;,`^@@u`uxh䀰L`>6 |uPh 8>x Nl h  pPP tuݝeV< @1WƝ@k@7"y  4P6c@zP3@77 ?;<;:6q`ozrP`4<7htڝu`8 ; H 1:8X@^&H6 @<p3995wpxb`;8h [`.<@7 7)~ w`y`x08 @ 1r`U_}`vk .h 0 8`2oh@=.`Tn (@f>p.\@`( @`73@z_aŝjXzD0` B Z|<p >p<8*bojx]$HFZD` 0DTp h08  hx 40h0(*m`@ԝ@oW@`3s`[Ɲv}r}`uP< P0t 0 p-xW\ X` 090:H l p p3W@G[# X)SDD R퀦N(8 0=`>X h:?,a]hD 4 P*`bc֝d <+k@81``/ V0h8@h 4p,g 7@[d d ( X,x  | P , jᾝpj4<FTku Y 0]`1{@gd@a`8( zLV p9p:;,w_, )@e߀P 3v07P plRT p@=5pT BNh=L}<@ 09x ``XdkޝWu $ | `>03Yd,D 8  p` LX  p-`SXZvV,Z @>+tvm@^h ( +n逩Z )tn@@IHn H?p?x r0 l tb KqJ˝cl |V~&^0 p.q e? ,V@|VG<( p <X Amt  @0 z@b@d@z7ŝTzd ( <+pP9p29,PZ d x0. qxb@+y@osvt\@`;0=P7@g@{8@85R͝.,&~> h(3@^@W d :2`@qXyz`@̝@ p@~ R`3VhWq䝾˝-6^@@@@R@@btxX +P?( ("\O$坝W 4^L (  8, B < 8\ :`+p s j)kT @ `;0}XĀl瀩Հ@XHl(.@sp, v} =+@`@ޝX P::h8 p@@m ? (ʝ@pq``70yPh+/`_`) ~`h`? H 4W@f/z wt {`yqP9 t8\ h0;5w +H P( @@uP@?< $   J r b48 ierv`g@qlӝI@n ?2m3Y@t@5 Z̝@i@e<hHd 0=p8,`Y@H x ?2e:0?0?p *zAfu (7`20 hHSם@\:,R@{_cz|n  x h)P H @) @pPxp:*5k\wl XŝV&  LN4   3:;(@쯝@ 5 f@杜ϝG 3|bݝݝ /l@5~q}ceӝy; h`*@U@pZ@l,4 DJP+wQq   50.R@ 8`-  x5d@Lt0 \5af <P: - | v`k Lp@v^)y)sV p:( \@@ ? ,0`($=02`e@h@蝲_SM\ @(۝ߝv(h p`86s6Sӝrǝݝ}  HH => ,(Zf 0=8 1P`70@e[?0/7P : : 1`z`k@˝oU̝ ;5 l /xh 8067@j7@} `(/`f@Q@hs`[@ĝ{ 3P. sqZ<3trXH>-0P<h  X;P7=?=0@l|w  `0HXP4 h D r 7@jÝc 7}@t@^@^@ "DPt PP* UtD $Z8,( 0< 7=p+P8`9 4 , T hp?:3*~ p m@8b VۀL: X0 \@@~`Y@@k@i/n ;P0{e<5~q@b򝎀@h7p1 Xm@􀻝Y P?05P< 0@07X ,@8, c 0.S@zcǝٝkn@f>?P>h c`(ڝq Z@ڝ @h 4 (x @p6`lȝʝ,Tp 8>=, X*@zp P;79: H ?= 2 gX`5Xܝ^ @>9+pra@~x@`  2@fY Xx<9;7@tvaF@|H Xh4 @((1`PrBt `P.RН nT` 0=8bޠ, ZhH p>/`uvP,k~@q@n@@c@̝U|}s`n(@]6@g@`0=6@)@|X `=-@]s< H<9HD 8>p3tuP:p0ubVX 4 Ur x`4 V@ӝZ*00 Xp< p4@{d@J  2`i@+x jƝНVS p0@|f~ Dd 4r{\{IZb8> (pX@;p- ny>,j08 2u)@Sߝ@|`|b@\ b\t p=>-@bԝ@q@sy k`4xb4H`ZbT dMe 7<<|@D@@ I`&$0` 0LzUHCFhh4ު &L&#L&F!didhhѦ# hdd! L4 LC# i=& KH9&` dKh)@R$P.R@$x  V;VʝǝF^ P/@T$*@` 1I<q$ MBG\u]vXZl0MJv()DmPR6v۵fIGL>?x `,@m@՝Z& @<=<2R@m@@@`.*1N`| )3tH 08&R X:`-Z_}W 0 |$X 09)@c@W@ +.@T ^}@Q 0:05 Qi`/@U@S@U5n]dĝ2`Н靥 /WX~& H `4,Zk.H dHp 8 eҝZ +l19 )^@@kgހٝMPBUpH 8`6@Z粝ԝ@pQr@yRt )T@@@vREnP@ 05`k@n0@e@[睕>T X 6 H03@pb< PH`]2,W-  +o`Q@g`0;@8 7 op 93`Uxr}w02j@ >+l`0`{{s`xS`-z`o`\@U@|PXPd L <=; Pt*7[K=0@} l 2Xc/dҝ@  ,4 0:p?040h8\\F \ `1vp-`^"D p6j|`b@U`5et@yt@Wffin ( /tf@Y]vH ĝ@^xڝq~( 0(\ +oV9 h<)uS\`5P1tR@֝`|ɝvt HX x`6e:?x  :p8 ?-}u`l@@@9/w yryog{HH p5p| |Ft D  x@|pH`9:8`,`i۝gF  0 p.zvm@@qkzL 3@xdҝ}F :+Wk4$ `9p.e@xm˝ -Z`8 =P;2|UQ@yk`;:D@ 8?  H x b p7\Νf@m`?8- ;p>H&πnҝsZ V2$  P2o`Q@h߀xr9띘:hvzt T <-n`< P : xp*f8 X5f@`/h ;p>p0`|`{@c@>5WBxRYd\$ (( ;;? Z x3@zPO> .}z@`|_@h  <1P(;4p`T`:Xr$ٝ@w?0r q [@L$  ;H  .p 3@`s n@~^@ာL@o`wk .P)[5kT , i@۝bH H@9?`+@^ 6 T  .|sUwH P6@p?@6@z i@Нߝ@grP @.x@up@\iӝ̝X& \^L p?@x@p;U>x 04 0P>< @0 i֝͝U~ P,`t a@ub  (| SR L:T ?plJ#k@U(@2sznt*@+a@Νe倭@zq@wX 9`9.r~j*h`2`q`V\րDv0 R p $Yߝ|ei8l  |ߝp` P6c@߀R x $z$I8P*1L`@ppQ- @IA3{f5ݱ6X5edkZֵiUJR*QҪ"`JkR" $IV""!$H @)R AH (PE A>ŝH$@@֝@vH -@o@[ -p )ek< d 9?6`e@rb@/g`0* \-yy@}:P>:p,Z@Y@۝n@@@U@u< 9; =`>.\2p0=>-{Z@@ԝ <ÝDf@r>sĝ@b@ԝdFl   :3 :P=`<(< .P8 1xP4h 0Z@@dg@@Va@ӝsbK,L .@tPX 8( 4{ wP| F=B}QT>l px 4< h5{`eΝa$~~u`k`3`v)`mz<@9 -Z@@Lp `2p( Xx(@=`8P1`m@H4 $0 0p5sX `>)s@pfȝWX 84RƝǝJ8h t   `:@*ou$OE"""""""""""""5\N' fxI'i$oIVT HZnZVTfX xP)``+p0='$o^Im&mmmm i6mmmMi6mmI$՝H` H4 R YT(Q```9X `JRLOn%K*F~"IEG (PjB XP.`r~{8 0<0Wc}]_WTtTTTT,t^  mỳs^ܝǝRLb&&(%J֢ID X1180A g$j@$ШI(% )qQN | 4`b <01:-P,nEh |d@@ߝ띮v<<cc᭔,Ҏ#v MRaDʝb0@*PI2@k 8;8 /HX H P **z% 09> ԝShI(%}& 9^8S1)J rJI*`RI(%S $BPn0 P)}Sٝĝ@S@ϝf.( 0)Q(, h<7ٿаRPQQJvh 000)o7oPrDGEI$)"IGGG P.Ul`)`tl@0uVL ( v%C|^CzҩTG@@MK%7PI(V8RTD&~@ 4X   RQQJ*nQQa))P% ȕS$)@P*nր@p+hh `-I7ciҊ7I' $$I$T(IAA%PJI$CI$/H,9 !UHQģ@QBn}n@@@_@pS`<`50:p;9ht'IJhPB (PI$I$$ It"I' %n@+w@z@le粝 e%fB (PA',z\`-sw b ?`2@i; =,k@T[0 `h 0V@pɝ)W@рȝq X  89 0.V@v̀@ހL@p  H+gRV` Bx h `4 k@w`~`wV@n=`0~@~_gF9 P3o4[{HL  `L ,:JbvF 94`~^ȝ 0; @2W@gT hj  @3rZםME_@ѝ@vY@@:/W@@@H0  l  =8P 7@0`we@@d*04~V@@{ros`cpW`hCr_؝k& l`؝۝̝@]@,X 44 ;`=p0p,_@7 [@~L`3P 4``<:<71X@|$ pa@@`?H  2 xtq_Ν}f@ǝBD  79+g@@fwhm +fϝNs;P=7 f`3`]=)@z`qp;8 0X8 P)t r``4rT{@e蝖 0/sq`~l@@򀧝`- n@@a)Ýf1@pr ^/p9.]9:4@oI> ( l0|]f (p4n h@/ kƝƝ{0?5P`1v`|W䝄:l 0;L @=7 8-@z~`+z|`k@ 4_ם8 @h:z,@a@@rTxcɝP,$ P 2 k;@*@a@[@f@  @TȝހԀםt0 `z j@ < DHH `@6l@~o@t `1XݝJY9p*0 `.p.̝z5b;0T`=*P0  hT d P p?p<. ^@rBcϝNP   h  .U@S8XNl~ sНΝFfi`  K@p P2Hbp@@Tt"pl l 73y``@ŝxT@ @@.pP7)z`xv xb`<xVڀ͝Tޝv@UDL @.PBX H/= 2`~p+`c@䀥w`TPp|NL B_c>1} ( >0LnnN[ڝe|@〲ÝT`/vYѝT@Ν J` RrH @2`T3`]00>0,h SҝVf@ p5@` 3w& +clIϝ㝣 +@yT_OB$I/ ya]]7=,dϝw@R"\ @x 0Pp)p;  ,VtX hP2 ]@o a逽@}|*T >=p2VV" " IR AH$I&+d 1@x`<P(^ĉ't *JnJ dZ70 )a@ P<(`5 SN@``p PL `SF @:0)R@ 8b`= lO .p S`>X*T`-"IYd *8 HX-`\3n@@R`=+@y9=;| p8 ,3[ +`mrU@oJoۀx`l@󀣀 4x 88p>/x@l坕jt^:ff 5aʝ(4  ?P0qw?: (=  l{*p< @8($: 1 V;.`pX@<\ 2p D <HP (7 @?) ==`00HP5`vh@W`5@]@qX`=p;;)P 6~@o n̝@tl@su`r}P8,@* y`W1T`- d?:, zP( 0 88 6o|@w q@ H%D$ޡ(` )b(4 <1`zvo`yoa q$`_2 NlJ|@@Rd24 <)`r]$@/8 )`i p/pvH5"II:ĉ%r@dH<XNu@@gŝ 3P6@`4  ph |b (P6k1 [@dZ\ Xx 84s/vW@lPxhʝ( =@< T dD dh =8p/`{f@ڝAΝt8p 8P? 5w`X 7`wW`;P8 =4|`s6@qz Y@] 0TJt Px?? 0x(0@ic@ϝ[@@ѝ~6*(J0 xX-@ov/<<@,R@nB p;P8?p>  2a@qzw z`bXrL{j71WԝZB^ 93sX̝XN +o73@`@쀬[@@\OJ 7/P< 5 xwxS@vNH.j[ Pp=*   <82`S?89>@8-`qr,a`-P*yb@Y`1YH$t0( @НݝU3۝f ;x` @  x`>@2`a80: 89:4yT( D i*n:6@d@ԝ@q r@vp6X6\@wo mǝ@sS::(  Xp6v | d@^ 05Ry< 0j,{ o`j@@@rv Lp (>h H 4 c@@輝@Un}_Q8H XXPp<>T.vRmڝw7R.p 70`~v`xw@iyZ^H h@(h P8 0:+t `uc֝2l  5 Y@՝Pb 2 {``9 5toq o vU  H`,n@ƝzT @8 FR՝P<  80;5۝~: @2`vs`~`V@@i  @+s tk@@ڝ؝@ h+@x 9;0->5 y`x@p \@ (80:9@2rTN  `P0T-@p( h8X @xBR:>`.\@@ p `73@z_@aQ؝ P`=`6>`<p) p=p8ǝn@@Uŝu}ʝ@]@ҝɝޝҝ`uw`}}9 (@si@ 8*{p( x :07 d`)@hc  @( \^s`[1 rvPTzπŝsL 5f@@@`>. h2 r`tt\@@Qr 80 94 V810/Sb `P < 8 |_fP73@z08 8 P XP?;,`kl0]<+k@y4T p7 -~], H,@T̝{ 0p<0/z05[K{  ,VFRJZ4 Xh (h h@,R@X 0 K]ĝ{op h@>0>5R] v :;0:0-p< P T$;zĝoS`, ^@`6| j@o@p:4 :D 09p5ryd b2 T~[wyZ@3p`8 5h  6Y@e@_@pip x70XvT xX 0`>1)@ynڝᝣހ@m^wlN <Nj1S@@]`)@}@a@ޤr @?P?P7+{ ^E h 5@Uc坑g@] =Ipp,`Z@l@@ox׀ĝɝ\\|瀧VJ Px+Q;>p*@bmd <@? ;:0?.@zYdрĝ2,؀& P* : ŝם@P 09;90+k@@ ;h@vzn͝  X  .9 .@a@my` 8P-`0`kހ۝ 0@l@@ >)@g@V P 18@*~n{ @`8| ;P??0,X@@q`w^@읎pJ杂 |( 08h@, 8> +qu@a`<92V >)`-Q@g݀浝` πНglTh , e`;x p0@x`e_@@@t{p@sU@؝НhZfm@h`  )P1Y`5P<O}8h  0?4f7  (ʝD hh,`r@z`w`^J@z& `;@?+vf@xt`m6` t\x 2V@@ÝKnl  P@uY  4kh |X (*m<=xxZ `;2h@ .0@7 \" p1`q tm@kt3흤N 8A(XX*`yX@ʝ 72)p`>89?1S@Z N( `0 4 h\  @;9`.`u`Y@} :7hNF4 8,qn@@`7@QPӝB8 Hk@ (bTh  `+xy.W߀0 P ?T d\d h`6V@񀧝Dd d td@ @0Xtp@@쀰НPj @-`Xv 2.~^X< (6 i8<-wSSD P @6w06 q``t 0. u@QU*\H `=2[@`@Pkɝ@Jz0h =4muW鴝ڝD\ `(>;0*l؝@{pp l |9[ * V :@+}{kn L 0<>5 P(V\ 0+pXT8 | @(@w yxxvps p@{@[0q`n@ 085 _@`?1 i5P 8t (>1U 9+p<`> ; `/m@ 4P h>ty靮. d 4  )v`j؝Ɲ❟ڝt 8>P8(@F  Tl 1P9/Z@ϝi4 8LhBlg@fߝ@ `7?*88 `?=?`6d0h@[L @  ; @80+h@ ;08@<1T=@=1pP*@U`7@tx@lםO֝s@흭p YV | ?@+@vg@ϝQ: 0+T@@@` `.S@fqte `/~ va@D  $ Hp?p+@U@j(SU]BF 8 82倦zٝy0 Xh,`yv@s@ x`m8-@up>:8x 1 {m@ڝ(h<$@4 Lv^h .r8 `?P3zx b@ޠ8?   8L hrc  ?p2l -R@n9,p rb@~x ?z|`  +| V)@}j@ӝÝg ;(ڝ_p[:Y d?p:05{~S@֝k, 0bޝrV؀Ѐ\ހ,4L D H -j@vuYl@{`T?p)c̝V@p`@7@P @m6=p4`R֝Z.X`>p>.`c 0@qjȝ͝@u}:0 ub`,`V\t  ? ;? P : x; 2h@ud @4t8H<( X:0*n`= p3V&  @=  K{=p=`<0 {@^R5vp)y0$ I\yD @yyU@, h<<>>>3w|@|0gםwtye6P.@{0p=>-P @:88p5@q`ty@kϝ㝌>0D  D*PdbL> 0L&`L0& L UT2 &&&0h&dgFnQ0I4 `8c2ߝ0I&9ؓQLL~5STNQ4jYNձ_5?}Ʉ3cN24cpq1 zF8cOJ?yQM9ғwL}5Dٓ|FSLe1O9HP&ujk9tyGq1Ǧp酎>2FgGaQp&d&@hѝƺBe42cIc}N-:'Dc64S|ire'\LaSCN eI̧jqN6#NI5S@1If2#.1 'o &yg&Tra}842O=b#7SPL1 ':aSjL*j1i&ӵL2T򓤌4u&4cG;mI|By&fQ+rq&?dhɝZjb#cM<H~dɦ̟8X&7s& =(Oe1񓅎-<SŌ?uq|c55DN9D zǙ\&}ɻF2jǫBtq':4i mG+$N9H̓)L1 {iFPZ`SO6$'H|i-6hS9ϣ(8#u;$M*7BO2TS`Or=SL2g&\(SfQ'SVO2דfN1IħL;O21&ڛd4<cvMA7Fv'`ZMA1 y'֜tiFn Hm1|zc=2T&jjQGYwiAcbh =4Sri;ߓQ8L6GN6cO4#8f4ߓ9L x*fѝ/jdɥTcQMM?{F,qQhSL1q|bSON4(2DS2 a㟌<f l&5쓚2#Nr?RiɧLjqƚBb#Ne8Om5c{NB6TdɎ=4I'Tj GxQ%y)ƩbcǗ{)'5;$&3t֓ROQ:GljiFi GFvl$j Gq\qqPqq&uTiiM|'4ZkF9vqRoi&МSx:N>cMa=SNa?\d&S,hi&19$hf>pM.8G|&r )88ϓ(OY7DO:SbLc)GnQ0ѝOwGsluНBfijb2yi1 '0lv)'ʞZ~IXOs M27DؓNn<$G#1Qz2y _*}զc0i 2g:zciDo O%1)&c}jz&S|LJif8SgO$c-8SOf?yGDw'2p'O:hɘeFrGsZ78RO2}8SLR|Q't9DSNN>࣡OJc'~cI5#O;M5M1&r}r&aBliRloQzlG0 Ft`64Ħ[jv'ޛ|&4>tLJoi'ҜzoA<`pM9#==ӝOz&Rr)d|iFj`hI66#q>D6ɂ7#L2X)z2&ofG7t1'bsQΝi'N2xӳOi5XS8N2;Ha7tyM}9L;TD6N=t#3N0:aɌ:S-O7#Y h)ۦnZ|QPo#7#E01F=#Om:Dѓ@f34>q2D͓ O*` lpsɖǥ4x)ܜdF tM?pIdNQ5DcqowiZhS*L=!N3DO=hڝ=4t@O؝4j &tbӕOU4DcME4ӠA>XcFM3#O38N):S9O3SM%01O2ӕN!9SO]61Nf58SN4DcX$q)N.=掝5 u&k&Νm&ꟶ0i&{ɮ&~#ZO%6 ,g $)6$SJM2ՓL"~ϣoLRf FRz 'Trɯ'>tM"1䓙rrI[=<(cM;#ŝY8M2Gk4SOQ3TE}>ӼN&:Dæ=t#}L>cjM 3FqcF4?N1cN7ŦWHcM1cGM<S"sɪ'~nI5ztɛ'?g)&옴Me4ͣ)M9>$¦Jpq>L1# 7DcL5ħg&Zr1*}Q٦}q&j>]ֻGѶ6Dm&Sǝ-<S4]Lu7SOn28#(NZ2#@9H5cL2xSlLq?uS1cN01FYJfiDLoѿ>I'. wINO 6<N2+{Ҧb~9?li&1Fͣ?fkqM54T#_O9ٓM5x>O=Nm;qǹѝ5dSLBl)&_tf3=;#8DNN1)ͧf{Ǝ#mq~㇌f0vSzѶGƝta4b#M:=cLBzq%r'c,`cL ~cRO<F;$ Go2#0=XLLJcI&|BaO?jk'u&3ΓƎ4*1&Nԙ*e:E1Q/$o&%5$әN2 98ь 1IF|h覤$L>i24T#sM7T'c&£!n25tcOzg'%s &{&mdcM8nOi?roey)gO2tO25cyL:co5} 'SN8To^?u)'L6Su6t}!2T6N=:SyM4xLz9DޓU4D0d?kF=aSĝj8$N5c*L98v&jIUdӣNa;N> ?$OJ64SMn3x6r0&z)Ǧ\,u~giFTsɜt?f)tStq' pi*~';:xS?Zsm1F_o5T#6L<K1S3$g)~aM>QkQGjv)Fex{ʧN5cVL?u3 tvlGy116,n0fc'V #M6Ɠ}z>c4N=57L2X¦UBz)&SU:pM3GꝂ=O|jgGO&:tfM55S-M1SM2cON6ȓh5)lGj5c.0Qǂ pEwʧn)y~cILsi'"w1'sI$ gQƈ*oq#}5yOy)G|¦䛺~I'3 cq&R"e 2rFT|&1to=ӵN3h瓊M9Q6FrRfO8TcON=HMu?pQ&UzcaO#mj:SM=ʎ0c5ܓWO<㣾LDti8O=dLlGfۦ֚Jm1GO4ii&:sqZ6¦vQ':DlGؚlIX#M;'̙j1s)Q`rn'L8caM7Y3hS0N<Sr?{iĦP7x9>>ŦK|{ߧʜj駎cQN1>OE7OM:tれe'{m9nFs'1fΦ1h0ɣGқoqLJlpO0)M9Ԝiy㧣xS \sqO):# oqƦ}ɼ&:t'$T:qG.yI'jw1'vBdǓ6S"Ꞓ~Mq:Oe3pL}8דruqwۦRnq&<Bd)' :miFLJhi:bn',o§oɎ?tv2h̦lQ'қq7jy)'tzɭu&%24PO5tSM1N0N26#CzpF0맜eɤF hIF Le8Nv2h#:ǝbj XtI&v# t)'؛k&&3hK6Sy2gQ'ƛeGm릆jmIԧVe̞dvp{&zRi!<#6S='J}N:ӓLa1ӝO)2.L m)F4TF:Bc&Zo'YnGjTalsF~mN"6TӼ0 ~ ?{GDro1LT{ ǘ{)Li?vi9*fQ& 9ӕL5̣I1֣L?s6vƜrd #(NV:c|U7S"q1{ѕ'Tvɑgʦ-1)&Tqɯ'c ~SIj0aq&G fǞLq)&q'<;SM 24N=ޓ)G1cM99O?xqM-?Rf &XRf)iҦ 2M1i>өME31S4mM7cDM =S-y|jI֙Bg Gaq ɧp)&{țjtIk`06c0 vz:OV<#OY1#N0i"z ' l񸣿 aNe48c `#f>#Zr :684w1b3#G=LTacKTsF <tXǃӶ=$'Njm &~oF;iq":MY;SO2#5L\z&ZBp M>D㋎3ғO4d&dq]xk)צĞ*p&dM1.}?hiQۧu 0Q&gqN3aM?ei=p F 4)mrz)Gd'oGIj1'$|G2c'sqF*viGlIG\2vzxI&nM5#COF5d8QDdiFe;pIȦq&jkqGzgQM;ڣl6(F\8cדMM=(Se4ɓM.0ɦjziVe'~§qe"o˦2:L9L;4N 1cmL7iG?R~ 妌<#L<cAOz9>OI2SMu=4fN7#[Nn1'~7xrz?\pi2xI'mcL<$Sah G(5S :oLJz &XDT%<YO2k oafM:9M5#b`O:韦dFqI&Wo;s<u'<tS44#;51I&zySMN0F~i'2ly}IF@ѣ_O>N9Ӣ8SM3#128ӸO:$ΣziiDs &otƌBxǔLiЦdnѨFLxq jq1Gg|`qLm7hM ?rhi=cTR8TN419㲝-8SL4O:ʓ2dc=O):(ji&e k&hѲGF=쓢3u?<cN >S bӞTf |oGVg':q)̧5thg1NBk GfO28Ύ}=㈎7ʝ7S:>t#dqFt]A:#gLeɝ& ?4R|%24M)lƝrDeɼ'bZ9ޓ/<59ӂL7hɓ,M38LiG팂2DS]14xk1Sob#O:8X¦Dd)&TjGr;&:kFRuO4cf>#M*SM=0iǩkɵFzg's'̟2ړnQG,zjqGrnɗ&2iI'X㋝7Mr3@uM9t&P9cCM??~ԓM>e<ғ?dы0IG[,zO*s ݦ8E >K78ی06c#MZ6ƫxF^iM1&1'}:ǎ}FȘe=Lf8dPMu5#L4#nLu?$'yɲFrv'gѻ-5^N?n',o&eiħ}&bgĦ^pFVy'ki&slhi&>e&hFHpтNU8ǓM)4$#'r'Li&ri1)oO{&NsI&~IL7⣮L;$S1Oz?x3X&:̣;H֣8N=#\N4lN:$#O7MI=-Nm;Tɠ&Zf2<$cQN9=(اOu6:O6$cE0љLclzGPvIdbp'e&X"kIĚsL=S4;Sf)OI3hӝLJjbkѢ&4aOQ3㌝2cGzQ;2x䣦Oa(L:hˣO]9ѣ(O:d 9 }&أ|qG[}&fLz'ș|'6tnQğ3wN1`TSL<#Nu=N5SuO:<L387=Ԍ1i'e n'`\kϧ$b.DN=$ғ>ӉL?c#L5cL2(O <ʓM<TMa1#O:S9ʣ=?r}GLt#N8ĝ]7ܓ+2(Nu8 9N7#xL?#r<&:w)I6'T~3L6SN7֓"L s&w)&Rt!4dIL1̣\Lz=tcOztɦ"b[F:4~Nu5&|q&_d~q&q'[~)a9#O.9SO.74^=40: 8FbL?#N9>zL8S}I&h50F8cbNB6ȓ<tN3.O>4+1c42$iG9uO19]7ͣ]Om=T#O0Q'[r&kI&Lt#hIbb?SeN3dSOY2L2hMU43Zz\sqɎ&k)S]]<SVO9S/>(cLlQ&rqi&;Sf;'DxSL:oi2lu&xIĦ tuzɺ 6xۣ<0›~F@ro &tj'jwI&*nTfQ'iZaNLRcFm)Frl&:{)&KJk1&TcѓGe(c c<#Db;#9DՎ4My4hƓ *oe?$S-=TO9#GDcNn1S4t厒1#Ɏ?}IM:dԓ y)M2Hʘj@je 'O??Dɣɝ5cH=?ed룚 kFhi&msIGte)&Tm&qtPF4FDxq'h2izh F~L4f4Sa5ѴGXjw?fI7WF;TSM2D'6ӣPFHSN9HcO95I'Bn&<wRfΧ֚l Gț~)MA=tNDz)ON9'sq͝)3-O>HңrM6h_O6ړhMz>ⓋNa>t}:S6M01F>j)̦>$~I`uNe;ƓNf28cM8$M7XL=SN84M<S>p$r ԟ6ʓN7dO1#O:eFdGd'<kIz&~SM=HMy9t#M2#ߝ

... this post is sponsored by my books ...

#1 New Release!

FP Best Seller

 

new blog posts

 

Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.

A percentage of advertising revenue from
pages under the /java/jwarehouse URI on this website is
paid back to open source projects.