From 19c4b56c985427befe1b448ee9a7384f415864bf Mon Sep 17 00:00:00 2001 From: Ilkka Seppala Date: Sun, 24 Aug 2014 09:34:36 +0300 Subject: [PATCH] added factory method class diagram --- factory-method/etc/factory-method.jpg | Bin 0 -> 44075 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 factory-method/etc/factory-method.jpg diff --git a/factory-method/etc/factory-method.jpg b/factory-method/etc/factory-method.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fd2d72e0a43bc56082f5fab535e3bf80b1ad7cab GIT binary patch literal 44075 zcmeFZ2~-o=x-T9?MMR9qq#%hSpomeKlp$%P5tYV>C`b^}N(({+S^)_X5@ia5khX25 z1tBT|GK8p1ih&3T&}t(y2q>9anMA4-LP;v&m8Z{rZ@unw|L5F$&mGoV|FCLPt5T`# zZ|`sZeqZKa&5Kbh4(#2(7p1m94fQSZhnoL@TJHQ^#K}{rQz+!6Ha~=NL8<)*Utb>b zAAE$G+Wb?L&Jwj13zF2;)}t2asHy9y%?nXjWR8n|fA*L8etD@aP+z!cvBnb3rCP`h z)hkd7)YR1%EL2~#XyHQS-FW1E)Iyy_E7$FCUaaeRLSy||y`7h?++MO_&x1z&!=1oJ ztCQyvG?y9}u3Bxh$<)kz^A>9xTf1Gm?Onch-Rrh*{{gQfN4){;%&7t;Ph z**`{D!oQ2M|4rEcp=%JeOkEAxJaruu0i{xz-$_UPy~E-;&#V|?`2)2n)lb?}>D#iV zd;wKv=^MAOVwm85`a`s~{oseF+Wj;g>#_wethTyueE7?QWb}snTjRZXLz4G*sp?N< z`Hoo0m5%eBXYQ#JRXQAsD%~!V0BA@?=26>!Vl>%s7@d2;VigK@oJYM|Sxb{meO~JL zWk5B}qmn43dDNXu84*^4V&_r6Zo&eY6!NquFJvBdk$@(APU47mDO7t{Uxtg@`4Xc( z{%8TUdme?NV;G+_-QW$Rex+W75krg?w5v{7#Jt4Mqkbs(%Xn)U4%%DIoiiV{o<}{! zGTCsG=R9gjU-dl7)wqQXsRN(pQ9mDe^NGd(&HOKey4L>`3d-Z-nlV_Q=H_5)+RPiQ zAZL$%h#Xf+8N8NqrP%TVml0MN;vE)$j~H>LmXu!-7hE(Zf9Gj4seDtN_t5>UqvxZA zk#6?)GYVPHEl%C_FXbE>EHBM67q{KCGVnAE~ zP}@9#)qz;e7#vG5j~c+}1M{e+AZSq`)X>UKfq1lRL!FnL!XX-DP>ZkmQ5GLcFmByydk0R zQ@;Kho#Z-mpPgO$cIWoet0fw-tj2 zo{zXfmn3O$m?WcpITX{Z+8)ANP1)%e0M+_b1KG^#Cn7CsP}5{vRsokwj?#K|fPJXIPJQ&V?6w}j*; z8XL?^78+i+liU4J*jzYy?ah;C5z!&h5gQ|iUN>(1p?z7})`P!1ZxP*$pGU3xYSlj= zb5BOFj9)yz42KpQ{y}}2{|${8{<&53Q7`t(pqBiPP~q2bb{0;?d>K$D{{Dt}PyJ=? zZvQnD2q&)RukEm$p4^Kwp|TInqtbI52WfqzOlAVUH9D9>t^K-_d;8}x75aX?humj& z!EQ^g<=ZU(A1&a!SR!{fcsI8yZ&zgdWtGW!lZLg_@A?Z4sk!R?^N#?6c=ay;E+NGY zvl0-GJDipWcGV~FES^?g5wkUxWjR_%Bt7T5EHw&I7Yql{_uy8@Q=T|Z*rC#A{r+Ds z{?;7pS4J}G%wJEir||`!u##i*sNYZAe*f5^#jXD{KJW9AT~+&j9#ur|RH1>X6dX(} zr5>JWQdxJ=P85Y+U<_7pev6~{ySet3bEAg*z4pci@qiDt<<7S$=j$@BSBs}s;;%?2 z7k{*LbIUSjM=G3Wus_eEmf}0&-QE$JE;{O}^lV;>9tLp~xB%+&=D~TCI3`u4F+_bQ zXp|3rV~`V6B38OJ+T$OomR0sO-^|VlxEg&5Ul15rK6ahdaGMfs`Ey4Y_hjXLuq{|_ z=6@V2XQ!2^fp+ipBNQtZ&!VGB zBct)FdDJP^K(TZgTMNIPI?_C7mldX3;|mA$M6tDC9cU8V)BiOT%-}#*1=m$pAf_Iu zlw@Z*I!HKr6pRk2&k@e4I7Rh8hOlB{P3nJ=XB%Rw#iBt!aj_7G8DlSlb!Be|!r>i# z4ND-LJgf746^G#WsB0!7fvsbcM;55Gz<0UQD~0H#qGQy=BOTTI%BLs%!~M^OiCLbH zyTsiQTPr@;7bdjq`H9l5nVzZH*pnP`V!Y+2u?oMQOt(dv&XIdRdbAE_)s=m8!(Pe@ zkw`L|+;t9y{xs^QyZ7jA&rhVAW1AnhL|peyOuzc}+Vw2a78>GdCB!&`zEKn{{^gxx zMjG(Wk&E-FAoA*vE70P0&&QxXTY%QXVj;5@BiEV!^gyPd)}XC!nvUvCI)jx z&s$OBCTmRR{Jm`eA6S>~0pw7PMyVrDy^Xj@{L}NO6f73!C7F7P)}ZYGhRcG1+NOMK zVEC%|Njz3CI6Wxz61|~{j`W8+dP<3UkU)V4i)uP)gks+}&y47o|0*i6tR%cG%?_Lr zqBGc9JTs|tDKsTM$d#CANGq7iD;2L0`)64SeQM0{5#p92q=k%=j^<}pFhU_0zpfbu zL6DR3AS_VMeXl$~aXM_AVg6XA*>>){|4350-t`$b-GSfGrJ4xo-SVQfxI z`(_-B<6WA9`lMYg&m$(?siu?)hsJr-eFHu);ts{#qpHg|*DrxMNlY_33xfxk8D@}M z;V|TBO=Ml~Gf?dS=w-mTsO7?`sFpOg9(%b-klQ-lhWv!xlL+ixobc6hj-6{Ng)SUKa5;`e- z8_hu?S_HMa^~~g*G%;0%@tlh?P2UX>`=T;KI7M~5Id_@H`w>GSH<682EjvxOcmSMF z6kGa822_f*Q_ScdF12VjKpJa+6k2GY$aCmk;ccz1)9fXbn!#S9CBW z#u@$@-d$%S7-5WoC+@&+!{&VrYXcy9%aEJ_u@r|zA@ogvhLEcbz4!*w2Cjed=!O}x zNk57FiTDknHRl_9{SVyYAvcNAU2wj^qOb5q|5qK=#LCw{)0sef`gFu9C_*s24R|}+ zLvxaH(ECA5;=NcyTSi1@^b4(cqB~EqNmCf?n@8`hF2;tebVeXh_4?*01E zJv#PW&GYt%!dLZg+gjz`iQoFT1M=%zr=3jAqu${AHqJ1ru%4e;K>1()7ffpO&;wx$ z-N?Y-&&>Zt=eGXK$-gLH+rOT${^k?R)&JWcuz;0eDk>hMTtSRGCdPypFDV$C45$p) zEZtu_IHvXGG8VZUD-j@<`@dSG=lRb+XcOX+2V#-tvT2|t0Y6)G?X<;c>1Xw(Y?V1t ziyCG*ow@j!?pK|Cnx^2k!i8OX>Z0$by-gr2J$`qm{i5KsZD#vk{p4G?)a0U5#LL-v zRO`J@_46ojT#SSqG{1S&SH$J>D9O=M#wTMpIV*!Pswok{TdIkwz|-oy-*0uCV!#(3 z5hk$)^QaD80UtUV%7$Ayl?77K+yZJ0Vof<-NYpxrn)=I~ECq7Xni% zeNyo}YDX30G*qj)m~Vop$+9Cz;B9-+q5Utn7W`#iWr?azFhZ&3=rE5;_AWsp?=b8j z-f|vw%Z$kYN_z>PGjA>b^goRRg8n=zB4WTxX4s4y3KWX;qC^8j@~coU5Z8>T&;BHp zx{c`lTLp<~C=aPaT!44o(vcSS%87goIMcufDX%m}Z?J-skE3~z#BK|z3D%Sn)96c- zw|J2iRAf6j*Z4`i5a83{`?*MLra^NKG0kJFQRzW`(#&|vY0a5NiK0G`$edOD-A!sp zVXq7fIV6zuF57rJB@446@>t0MPr>t>x7doqnRrI9zTY@lFnOlX;-%hObPlKKmC>uq z-s_KD{w_HE`ufO2)O{^Gg)L`u$?wCXckljfR2g(sdF}10LEVzo^QfJwMTh~2RrO+w zfP;y*Y0k}b}1|6OTY=syFG?z|mR#Hwdi?%-!bd$LW&?#hWQLkkc zarxNc39I9;N&9CA0yJdWE@UJTs<27)%```7TLU`r={yQJ!Zn6!o9t_@g1UkSLy(Vr zA?WjdA};V=NZsP};a%6Pxr--6Yi#mJBS)dwQ$@`(t+vB5ML4pamUlPWO(>rINr@2t zsFhp;w*ETaQnhA#N6I>H`TYdp$Mzu!0Qv6TeDc(>$xgyzVMdsYGL>R!TUJ7q4!3&V2k}f9+L&hZ zu%EZOWa7G!F?_J^JJ9l7hGd{R-kETiA-*Yk=$3`J^tcRc73mFC6IKTbT9NDq|D+x8 zrYc~2C+r-^p@jlu0VCC3V^WvnUVIG7KHkG|bUj<%CcX>e(rhgJ92l!#w}#yd$;qm_ z?&D)Sk18bmK_eFYL4K=K?9!~3(Xl!yoMnz7Cy(^HdYrV&w_P&1pyh`og_6?|*{4Y~+ z%bS`Ga;5WzY)4@jn=Ae_~ z`f2q-;*38^&(rmve&~PZg6{GZfcbs`U`ysvX*6O1BxufIXG9~xloMchQH34zzR;TK z7$fti?0M1~Hf^%lgnR@^1*W_=Xcg3Hq&fO5t-v7P31S2nh9VxzvKeRTet6S8$V*z>oY968 z)_rGW!fs@*pxRryKeb1ai<>}Wfh|J^_LLO!J9+wX%53neB)jAL3SZ_+Ds#(o&`Tb5 z_R%$G{&3vP8q?83_2w_{97`Y1TP%C_yfonGJy-i__~6E0DW`U00)Ot<-_vyH=<%FH z`H^e;_SVyVpYOOT=(u)Z-15k|s7WK6-+GPmC$X^JlW%}-=&F!lNLPc80@x;Mw1Ypf z39D=EXX4YGhHbKvM(9vue4t9Opm8ocg=Q!vCaj=_cC|NRY(Ndc(5NFB#C`)Yz-jV%vJv6D_qY8#CJ}-qf7eSGG05`-Wr8D$tKA={sAz6pU;Lz{@_UWVr z2`UCErHB8I58r zAEX76Q~4`-5py##LfRZ_QeUA4Ti#dZ!zUD9zlOSA$gr?(v4qg#;kK^_zi|v(MM#uA zQr?+IefJm%YhPdusGq(9?3(I>ed@XzmO*7L_O;FEbow%&C0QIsY|N&cf_w6;1R14+ zW5XCE3@e&rDGHVT80D9)Oif zi|}2(F31p)(=n#?y*7-2Dfs{tDP}`v=hMXXWZ5y0n*gr^EfBR`nb)2XPS=NKeLJhQ zy<{nw(MSfo`4jD6ca?V!ho>&?Pa#kUse~%FfXpCp`^LxCDI5@lE|GqYJa{~ee0m>hmzvKp-|85Kfd(+A(8y@V7-hrrS0@{b@nop(a95plp4@lRU13+QNNL4zq&(<&u25r&LaON+&f6#ACLmN|o5 zPAGl}#4Mw?tF|ESlZRv~Gr+cQ8mCV?1LP-*S$d-ZIB>Y~*0BTm?VyEZM94}G*s83D z-6iBjs^0cu7>OPdeuCF$dxF>mUZjHTKj24Oi_`%U;#4m$RNMy5_IKcyy2#L(_EUm= zc)PKNwUEobHpR|n@tbhVa6uDWo3>wuB;)lVt9wwOU@f)-_xtvHAG{9KHYrPuymYeh!fq=V;!NBJ-3 zUQ)xuimq#V4t*|z_8~suyGpU2iLtyWL$#D_nOu8GWr?^uXUP{m6dsV4GzgjMLFFTU zXq)jjxzd&@M^~g{_7W$P^r4K!kzXbc!R7PJ?M1-uF_7zl_Fkn4dmzpw?0ELv& zyRnrbShv5Kzm$g)qlaF;XvtrPEP@HWU9^~vq6P}c+ViN;DLrboqSeeLf;Mf_ZFr;VB@%sc${}`Z{;G~Bb_#jO=zLyz2o|_s zZQ^sJsuCc}i>{W37!~Cqj_}68h@q-UuY(OWpTfAD!fbFu%kUy)d6j5D<_iX8$_Rsr zZXjC7fHo5*_iMCHO#05FD7Xxj1!7QQCFDUL`HRkmh1dkd>7pCL-$JLr2tmGDeI;T& z&OJ$y$-nJ~(NgwG+A4kxxX}l{6Tq{IPj^#;1+0NwS-X&krP)EgV9eLh5Evn+Dep(e z#e2yZmsMNf4d9d@ZfY6LUYSNWg~Oo?Ae#uPazR~bOba7z&QjE3=_S>8O4Njw;#m23 zMkZz}+=oEUO0H@<&4l$-wHtUPiH8Nmd zDb_>;>G~>f(|6M}q0P6b1&G6>(^3$PnBhZ^jm;yC>9@ZtSfr+KfsLs5WX4v;1C|gy z$Zu7xMY}O^uMUnZfDZ zat6T9ir_e&LNctg!)w5{OjcI6l%ED`a$uVWtYdvPPs;Ki3Jxf%Y5T?eF24uT@~lQL7vdZ5Z_@uIDZ2)KBCOF;m|6WcW9gLL+EHlkU#a4 zxAH~~;nH02(_d&>_oxl~zO4yCX-ucd2&wstptE;gNQtQd)@OI~Z-jJ2n;5ts z+-K?ah*VC+#ITJr9jRNe zF}TjH*4Wf}l)epd1@uIUxnjVU5unXz=5#zs(TrIazfzkZHM{uU#v+cO>3@2T-1-A; zx$*(c3OK2d)g%J~=^2DcMNd75&WQF2r|tSgGvgA{c?^XUWGA*mBATFj4cW=DPEz4a ztDuc6uYm+1iUXA4?cL%q1DS*@aELI@9kpJP`SNEqGNf4Vek+3@_8L zQqBepGDnrN%(3P_w7VvRO ztdT_12UyNfisM-sd9kVsQCo~a0=kf!J}tUzfYmAIhvHIH>%nH0fEs1uCOIm9!WpI- zI(N~{pjAQx%&m&LzF1`aYb zNiZH@vmEL9tD#e|ppTHSn7&rkN!RF(YJW8)VIpcf0V!RD&xC0S?3uzzZR>rot(uad z{Hq9IPh*Nd5hUc~aQd#|rqoM}p|4fXrWEnn-?9`3`IFb#4|XVX-yZRa3Q|@t&Joof zxSQ*O&KOfT+HcLJVNBd!+6Aa9Yj{L}C4UYMbEVj!0wTz5Y=_LMhV7N9)0TFv3=D4v z2g;RRzoKwqGs5 zd#dXr-HxJ^zaako znh!or|ZFy6ok>^7_Z#q_p&810x60{2w|Dop zP4{_^y1CK>Rg+(a@7;$zmfOm=b?x@$a4jn=gESp?u1At%jFo2y;#)qdHNZ{G25@#V zQq0g8qM@M-!uv_P1pHD}FJm>`W_);8w*0#CmRr*k?ByxILY@w36;WfPGsW*47~kCq zR@Ne^s%7K!os2X$>5;nSg~bp=;ol=a$Q^DigQJQ1$Dx7 zVJHVXkoXj!cg)hacjGal@qEp0o^hn&P^;pYN6ZNjeWXWaM1oI+8JOS>)gv{}Ik+vdtA9gcK!IlLjtM98U$wIDmWf=9dunf43owA(LF$E&-50UXIH z8xB4~cZ_ZT+TNCGn+fQfdZJc+Fh2UQ!x1UW5u5FUnB}hrU5i5pnJGNyQzs(NMizwb z7@|AT`}mc`>G;j6f&ArAFhNkyXl7KpO(seZ6Lx_$X~h{hJv)on25R9QrX`@el)wz* z9W8IvdKHp0)e>O{yFi8#Z7X6=aSBm~8YqcL)lQ0RmApAPER(&_kjzd#p(yYkvb^)? z3^Lj=_MWN}y8z)PE-Qa)Cw(;>0R}f)`p6F{uh7+~Pb5?*SwdEW7ekj2kxd5C$qlCT z0mJ+aP(krHV{GQrh zzfp>$miMZ5L+oRqp@6UoGIXnlHb@zmLHJn54C}rr$ZBTmt6tBesxfR}R>-ee&IOH; zc;yiGl}JEe*cBF`viDG|gRJD=)hn|ZCs`PJPrw>5{3celdSXvMj<-lgxQsVt?g53i zDktnpn20C~5)>Vbc~Umf?}Ng2VE+)kwY~}=*B~=A1S$nN;U$W=)58uR=7z%TG@*9* zL0KrF%9cgBOYb1H!+J#dwr>1}Q1-)j)!b_x)5N42tl9_unHOA4sHoD)4Iq32twvvp zMjJj`X3(})nXLT5(Lp9sqh6H@pjfHkFn8q~%E1w!mY z=KES%eH0>CWMl({_?;l);#5s#4R3?G3w$YtDl>46J%(E}L0?$i6D9>xJE!lX>r}r7 zY^=Yk1oEyp`d-$T;i7HBzvr!O0UmYnYUg4>_C-bhuyqHzxH{gAyz!aoglKuzZX{I{ zhn-tfwSnyS&qtqpL9~$9j$yQ*m)oImrnEA#*Tt=2U=~#MpUTop&qq*lwHtC-(Iq30h;B>{b zx1R;ZX&d&J(V!Wt@!j5wuSfc5E?e|XOFm|W@P+2Vb2m>vZnoTgw>#&+-P^0Ye#*0t zl3{=1OANtT<&vCsl{Qa*9@TaV3uHhFRgy+=5%b> zurbwQ9+mT)@W+qF`?;cMg$UM)&*G1M-NyjJ#9S5S3pk71Dw0LS*2 zB2idk#3IHgU$S@SS6HJltkw(*J&rN&MQQ+^qdCP{HbV?OYWLwT4MDx#A&`;AakN6} z@`F%Dv*C66#*`7E(PV8RZ=HmoIW#_3m3<)zzZ&2(5hZQt-f2DL7w#?{VOf(e<}d1P zFoi=Nci|1G8eeaBy9aSwR8~-oM2T^D^2{-h@J;Qb9>-JYp&1TowD5Yy?Xihy#A8mn zA2N9K+S_Shh(DOWo!K0NUkQ5fFHTKcTD0myk$%j^oZ@uri8p})`-t?n-P^7TYE|pI ztlzlo?}_$U+U`Sf$Rr=^p7Gx)R}izLgZ+md<{$eIs0x9#L7C+I)jPB!J#;e)AK)>> zwT$JkSFpkXGW-hamm&#CL~HSr7^frBF7#yr6M_J9C5z`I@z6!wJ5AmWyN{ZfJO^e z7qVz<*Z|dv+ccgI*3`<_$q1A*vYBoPuoK|8vXBOAK!`U0j|{H^)?8qvSreC0ABu#- zSTN-VKBL&>yQ|}b<9}kPX~qCDi4;Q6)FqKt!y;(UJH_En{A#Mhe&Cn>=$KE{QwE`Z zz-QG)ke^nOv2PYh*|w*Cu!%5)xL()yn;~+^8P7=;KJFkKR zP^CnVZr(L%BhrHI^m~9Spcu}WeApBqq*bwus5qgw{6coxwy@j%v~@BpdKAAEXyC4) z+@mstgQi!wA$A5iMY+Mz=z$}D^PBz^7BzrcC7Wi2L@mnj7ke7i-WsqJJeYg7fXZ%E z?MRf=room{r}f}@|1r`mbB3=&4zX{@jbd+V&bl3PmSPV-6bjNm%j6G07L##`aEYsM zh251mVGrpPir$tz=##;@`c$y+mq(FSz_j7-I2PKj1qcz|85y}2{l-XPNE$ZjalS@`$}oig5Zi)HIS0ogvCVbW3(Qso`t}CU6&e{{ zo|#JISLurc5t^ephUs)&dT(9(q>b1j6DuV)G7@&uG(o0-pr`6&>shx2k+t2ygM`(v zWmgm-m7x{*5lUMOsTbZ&DGJTs1iGd3Tw+V98D6Ln#vc{z-_*?) z@kqY*j~X`lE)Cb`NVrEW@a~}NxZMfO-_;)md&)fA_hFY$zj0|+nN|VqOqwA@iqi}5 zg?=< z_dlxgFC7H`mszkFA2e5gi~Ex%cl(oB;Fg`fh5iQ()kQpljb>&Q^-Sy9B}O|q#6{>* z$%pEmJnD5c1%?L3=H05|Iq$Cu-@*x;icWRItG}TNxpAlP3F&ti#=xgxf zgl&%Z?GyLjjCHQPo$9rx-!W2l4G0?%GBWHdE)Fu_ z4cG;a+L7AI;)_$N4dXE}-~a6B0+Nv&;srYaf6t&m;je`Nu6`pJPvvQAE)7$4hp2b$8--{$u1H}^M2s3O(=_5r8$;MF1tkkR( zds$_k&_^()QJ}{ag9ColjMiaug;9pzs?3VKA}FSDShxECHAXUW(HgfDNnjLKBju_c zg(TPM=s#5yBY&V0nrs_3_rQ^1l8EJgP(P_NN~Ar3*`D}y_d4((NAkvC;!s29vm`)@KA#*izSnU2H~Vl>E_gLZwuZzWIcFNG?_K~FZd3U^nBxrpD6q*5Sq~8uatNkW(CiC^?vmvp;G2tJbqbbn~ue3*;UC3J2QMcdt z;m!xB>i-Nt_`m6y`XgjR{8rcr(g*rm7={fN)SMShSTs-V&hZJAY5!DG7l(6m(fWkG z=g+$=GF^`KRa3?|Q4BPdvA?>$4|e5}#|90UCm3bpw%(B!&l0M#Tb1ha2KIPl&My%A$~Jd5&QtT#8~3@`q`qNE)?>O zgMJ!CI!SaxS}ttbNUbjk-yuC#7#rwZz8%yJPWgA!0u@JT@$u?jP$Os5$F3iv0hlIA z9+VLTqKnuiCwey2JgR~`0J=y>nyk21;_vHAVXSZrkthC9==ys#mAs5K^R4<2j zLtM~K63&v%qb@VFy2Y(&G~aua3-6df%am7`PjkKwp#7ovoC@_2`eAHk$Q-%Zn7!1* z?hw)^lDATJq?5N!>NkYcOD0A#2^7lDCm+>3O5eB5awO9< zfokfq=6;*rrGo351B3Q&i2g3>Wckt`Eq-I9F?8uV^hT@}UhmZqjN=0l?|W}i>VgGr zal(cLUDFv1BpX$UOWamIm69wYW5z5PVfUaoiFQ^)U2w{bXyqs=pzsd7yQ=S7ka(FO z!2ruMxm2dxoV-+Y?A7>nyPTlnV9LF*x=aq@=oE|m1ThE`$7l_`85kxV-}r++>5cQo zACCLA8w;$rfxle7{QRp;3Dj-3Qr-=ouCT0FpA{FEx^e%le9a&B>vgwEV25f1PUmPc6 zG3Uraf0yGQBj}4p&o!Sag|`EJwS~UNY1odJkHre2ZfHL0AwXopIy0pY>&gl&3d~QP zT6gVQ%F$~n&WD$*O>oxOkd7jm-?_N-zvcI~P1_Y;p~^5VF@qqCxAbo+51dzzg#f<00@ts7d$Y`U9$v>rI0 zTShHHr+SmVLn=R039$2RYD_DE$zQ=g!@WG1{eDW?z7%3LvLE;~J*Mq0qn+=uDRZx1 zPaZ-_2`PDn5LX~t;J9Ut%eLDJJ1F3};+x(E0yTYcyq&Z-%}6BH(~gnUV`Tw1qUW&7 zwhy`J*YiA`BNloJ7OrS{;IeFo`Mx{p8<$>bHrjIc?48m(_l}}a<_iw|o$auS&NJQz z8eA!b7(yfO+=@}754rILlpIWDAf+_K=;f7C(u-3iA*71jI6XNjEBD?2(Wwy8sJf&# zgKd`e!o#i`Zo?2{DQ-u&>j9$~y`0`&7k))X&R{=a3jK+m_aSYm`>qK1s0{sT%BQ9) zT00uQ7~cDn<;w>gdRvU`1^-EIBQ`C&J765UG`uAjptOAQkff=w)Rg||AfzvqdyyB2 zWOSr%?`y$fdB6M$g6j*GAB03myoVkmEN5tDSb(h_q>Ifn}da)QmmQx;sPGoxbCIY=ixnPD@SQ zcU)`6Qv6Dhh;|s<#IrBr1FZdEahDORg`F};ZXqm#)gFO5xl&O&tS!Z+U5H7tp0qgD zTX6<4>v=xz9bDc~Y1|}^$m@bl3doe4DkB^d$McCRaF*7e?Dy`1t>-Fk7ldB#yQW%- zv?xR<2vl2!I=rJZJgOdd7$l@SMoOLBy?bX6C$p?2z#go55Xps}v^3a&5ve#E>;^JPhR&o^F0?!9Q>;4{piV0$4)E5-9g6h5)=| z$_VOEyGsvjg`je&x!+Xw@tmYYG{yVetI)x1)pteBPS?K}ey=u4Y)JGnq}whlE6E68 znZRctU&WT=G<76Cd}Gl}*MmZ2zGvt9UMl)qhWiOZj;gM<#MEv0H-$Euw(B0qxMwxa##zDc-mkI1%eJu zBy^Sv15G*i(00hM8dUbd+TJR(&ZtrKlfiMLfRf@jh&~@W-ne1&vfHxnukHcc)|@lf z2zI3nDeU1L;M7yxLJA+h+l@?Uox?oIYI?7mDvDG?t8oP*g4D2f? zJ&qId^{9USx!%CLG?}8z$w8RE5s0r%-Uzm}r{mXRS5j-qa|ixw6|z`mPRZX5^b6R= z6eJx((>4^gr`8cuqT@vBG{R%hG*>)_$Mvp#fWa``ppmV?KjdYBP@ZZ>r&E zf76}W`?e^%^iA{P+~_tq78(OSA+C&{l$^oWtu`JaYEz@nScX--F+9jV4hCnyp4?E| zI>SU*O-xue5PTSn5F+(<_Mt9#vzV%rY7* zRozB!hx0(J%(kqUn)O0_Ft>~p+Muq?p=lSBJi-tde$w2gnIsBD$~GA~_NJ{2{tili z_}Y(JE7exrE`~z)HDIZMjkf2XYAH6W+G^Pgst5)UUuu{BEmWXzr-k*F(@rT|XeazM ztw)gtCU*;8jw3J*3lk#hh)?M@xWP=gtCyDbIx~YWMFUh+h<}?M$YrGL3C@o=FklrhYWJY zpjj#h_MLtEB>>QbDDpIj31rLDA1m_-q5GzfMG-R^%=>3>1BNmcvxtpG3L9$-vyD<7 zF@o3_5|I&)P9~g2(jV3_+7ep@X;g%1z>XPWHUm6wx)mT|(JYGM2mby29r{hRsWh+H zGHQb0YeXe8D>&BL2Zs*)IOPon6ciqR{hD}dv~Hr#mqc|SW$oI)BBj6a<=*)1$JJ|E zjjk<@m_(-%rngdY^C+!15%Z|LX4Ltgd<>PhK@C+h3qjFK;yClDPmc-|E>g5o3!{Y~ zjb{DkQ6p!+GAYz=MzSU}q@;g4u#o`;OfcXN=Bf@T5lQp5BK!f=_syd|zdoc9;(C@b zh+V-LJqD0fhIL3AheJA{3cnU<`**!Sn%RfidDKfO z>;Io0vVO-$E<2JXWah9gh|7W_rIyA`cr73(v5Z>KoWBJ$D4^UujadV{OAN#pb0|4| zC2<>VFPzUV9P8^htnIJe*}AB@YNxwJ>ADRLf7(a#23nkwO}C_X&ZAZ~7#^d!5|#%k zv+)=r1=J9V7EaRqrEYZy6e`2H-?AFZJPRN034*BB3Q;0od)wBvU?E@dD6C>VI4e8_ z^c6^7r1Ex)k0P9yanXq>3FnK^gSC?O#(7j0;x^cDPT%*XvOJMIVgwQD7Qe9|f>SB0 zoTZ}05J6g$cgw%MWITUCFE0X+k?Z@W{Y?C$2w0?(Ph}T|ZZR@Up&hW{EEbGDN8G1B zG7#gBtf*df=Mn!;{Db`?C!!|JD{y~W7PmjK;zfr878!qLZv-3k2U)qbyes{`X@16n z96r1egXxH#s#IQ8M7SdTp$}vErxiH)wabS5;7{;9+LYPLkFdxTXB9q=+Tt{{xDBP} zvvhbJ=<$vt)za1#s4#U^9X1YOTiomYnlEHsi;O&rPrNfxF?K3MJQ=!6oaGd15gpVJ z{NujwBG-f-S9c@)b{dr@$u%f zfw2)KqjST_6{GzZVp1I~rCjX^+w+*U0Q<6|RcQ#K=CjkR-{6D+M!nPZ5grftwKCX4 zu?KcQTCOT3#qSj|9Vu}cl8tL;M*FoV2Uzx(uYvL4NSfo$ZD##=gRua+eANh}`2|jU zaKDVg(4bs7Hr`+XB-cFVLWgC-#HIi{;_?fBW>;RejMWG+PIFV}>md)&M>3Ka&DVsI z&y4tPRc)f??gh~)uyet1V;Pm)GQ1SDy#dIFNI(qB(U3bZrrHFMFY^eofn10zybzvO zK4w_c-}l4wTUa+w@^&OjGMsc16H-XTgoa%ZQ_|XkT}>r@I^21tVGD`MJO;dcEE6s9 zeY2D5F2oQzwl)|QC7u9H{q=@O)DNkKc^tSA%-d%8ue0^% zKH-UvFnxoj`_ReJZ^5JYtNiV+9X;;4Mc-`i)k4?O>iEKaEtr>AkDAes*_hrKAB=(Z zHpu<>Na)JSm<`wrT|s;q_HqP($Hc4xgX%#;`S;2~yx|K92PT2nZy?UYQ}3LEOwd?@ zP3E~sQ)d{46ZYP$*f>d;8Rm$dD0ASRPVWlr1JCG8U=y zRK0T=ur6X4RO`EI5kCey*=-`a%p*$)@87JHBLG=_^1vtI9+_k$rJ|Z+-zAj^0ygp< z0nbBMZ2e?b>1FY}@L<*0yR(9W*Vk7a-RgSAbeor8Z;HmNmsU+j4(07X33?@6v-6B6 z>5n%@iY=PBOrqV(b%&F-obqaJsxeB+J7cpfXt_1GQy7F9)=ja^y}4PiDCx3zTww}& z2|B|BI|Mxi%4L5MppPSy+KLc*JNe;DJ|JphuZBIpKLIJw2=zUCBuu2u!()ftT&2_a8H z8q`M_E0NTTYZVkxMDN8`5;9ayRKr%n8bXl8)KY4}R{)`LYS2r7H9#7GRGN^!guAfu z-e~_^s}Q%G>UX%GMwFrT;83VhBGR>CvtYeJMoLjVHzY&8LRpT4n^P*yyut}a<;bL_ ztc-v(LO`3b$ux$9H83Kt0W=zsexaoRyM>TBjNvPD&qVRlu|Nl5*$9%A?nLk#e${M>%A8s$j_u|- z$<#D1PZJaRNtVp!-KKSq0oY(zw}+>H4@&%|YbIW!rIH#M;P1fE@e=DH~DemvHH&x2@ckcl=lGb z2@R$pMz!xBY|93+g={^-x9#Z-yOmcb@!M%DI(QCXy9?xAK%)Uulk0#N#Ed5XiW#it zKzliqAtYa;1Fl>dkJ8mf<(m8t$ciDxK&QJYSjFEnW6*>1E1qt4h1eRz3GBV74AA-ZOwl zueS4awB2&}@`IVP$Bx~5c5-b=%a4M7Vbk4B$|KI;6G>rv3x_C=VG3`nb|63DqE$u6 zG-4qE>jU0b{2(YqN;IG{pU&aZ7?QQ|n`xGILo_dm2g6;}n&_8Ju2Er-F2WeKFO=;Ky`N%f4 zUz$gSaWfgZA5>~kZYzBkIC-P84hR-tu_0uAN1I#ZXC?G@`v_JTY$bNGBK6XCON=Rg z;bl^!(_tPZ=k?&7=py_kC`MsdfV9u~G_r?An#MqMD|QuKcVezT;~gXeVw#N@O;}BM zH%MmETmVrEI20<<38z^V?gw5Vd0Vqo`Wl)J@cKeB{}O(yziUwliSz4=_0Qj$m&SfD z(0X+sQeN5ktfks+|AE}^TUrcr?u|Qp=CA+JGfI-mJ**#}=aL#3y}ItEQ+n>4@Pzw- zi^-xb`Wp^=mW90im~-SU`jlP3uFwjPBl$+jySt(ZCHybIMBbKec@DHAM#|NsVu<>~ zV@N~cECTCIV{6cK5K*UEwbEDi()?xZiE|pMJTGu*x8Qn%InejRTst$0yd3iJ>$7x> zEzV%6QL|e9S9|9g*3`A`d#oZAgs2Ee5Tc?|1;i>b3NfkLihvLW1q4Zos9YjO1te-n zR4(BvtF=H2LR91~MCGOs5+GcvR)c^bP{_?Caw~JT5@yLvJOkG`YwvT`Ui;Z!&ffc+ zhc9^^=L`u<$9Ts({_p?&jp1I#QfBTkY~@YW)QHtb9qkf493v*+R-*2ZQg(2bmPRCh z)G;cDMNO8T5=CF)ohM!FEi5v8;}-cW-!d#c7PgE4%_P_%#QE#4+b|~;UsKmZT079O zp*Wt8Qh=*>X?|aUwu!eof<)H7B%875>Ybys<&K;L4&;ji6+2a;u=_Vqc_|7E5K9+x zLN#>%9ufwP=-$s)ypPye3-QyUzyilHabVe;ijuDQpq708elkLC%zq=MFS6r(krrZ; z=UpCt^!N%tH)B<~{p?@A`2D%L&-S#3CYyrR54rhNP?o!m9rp6oJjruAl%XAjq z|7W5+KC%I{Y|bcSCSqY*)j8NDm9&y9PTfV836)Irzra!|J(QD1$1Hd%Dr! z7&MhqZIg`W>jUsbzD;)&Sc%AOSl6=a!*?PYE@LaS1-Ec2$WP6Jg^2DX%up-$VwvOfjIZV_)BlZW-jwIYNuw5f3TM>{= zk;*AuW``TH&tBBb>vxxPnvMygjnXS!3X#E%VW&Q=Av3OHc8s~AuU%*Y2^;P)FV7r? z7xb*@{>|4+ZZ=`5c4G#pVl)qgtC(@B19fq#R3uex!hXZiLuqP1@+6@sJO)=wXvd{6 z6kH_olAgF4rjHus%!d1XPf_wRb_jL*gy!$aOOOlSKsBnG3;9C_b2q<>E57Ajm1r6r z`b1Xr-f4Qgi|;Z{G2frRR=%5yck9_Y`4SIJmj;dOEhxt=&boAK=QI2^w>s~(?m}9> za+AYEj#|aaX@;6MHcb9hEF_ettmQra0%!ZMV=ObQ>CpEP?m6R`JtW z-WzWW43~x!qXZnff~;zUC=-n`i7peTV)j;`5emv1hMap{NJL`9xYZ={&>U$hiG(@< zcV?>gCC$7#7B6tU1P4=IapYe>9ZeVmmV0jVFuptbu_MN4H0wN*asb|t#Xo=deYS=C z5i#q+?T6-nT~$`|sBeqgQT=49EXeYqyB z<{#E3G0$ADiV8g)PW*6wdUuhv(F6JdpId7aipIM5PSctq?23_6&mRi8ZFO#kOEsHA zIgl6mjgkg|Dqgaw)Fe8>LCjk$aD^ILXe-YM0wAuEaZSLGr8AVYfpxlD2_<=`b}3-QAv9(h{nA zM+Hctg;v0#Z$Oz4Ee-SUtsV$TUc3_kGATuPOQBx=gxW^tM>uJBtNK$e1 zYseP+7^GkA^R$eqkSL0qN|M%rm+0t1<0%-*@uOpQIob*}xA6{C3W0a)f_ zGbuvx1b4)NWcSyspb}?3U@-lfyegs;RaO6Az7 z()!HRiYFTj%;|PBJAWwKyP8a0;&bHv>st@Ky|4fBUUqBDdo~?+vN$30c=-1fhrJ6| zd6afX{=m7!UaWmhTObPC#X4-(Ovdd|W4&b_uhBNJK7shE1dC}`Tlbq^B<&pAmUe_kvbs0gb0pOB zZuHjI;a;UnJnt7Q*Y>zqGt z+%}~A?;l&D?SlI>214+T776IqdZ!OG_J?@JtQG1FjIY!s;F43u{HM%6m%k0e`SCJ8 zkN#hY44D1@7?S@ju>@mC7p(|DsucR6vp&hO;Vh4$>YL%zHNvjqW0I?=Db}&B7J6A@ z(Q57Y(`mxt2Irp>hfML`2Z#o!U=MRAriF(b8w1H+vyc67UTh4=XK+s=6oK^p=`7cx zwKd%psI%RQosdnO-^`;v#%3^jxFV{m%hoV(_q+}Kf(6nz6u}67uHIUAbM}f!>rX_^9*dCpky+<(s~cPu5r*jun9v7NIMln91d^?@_0PgG~M2 zsn#qN^$S=MFEoGe-&+v`^|jdFM$W1gdKq|oTr(R3T+qDZPBGjH!5&4rmv~<{1Mhq# zeg8Y#lNb4|jbyF9uG*8%-i3sb3gK}T8_EE^#S2Fx2R;>NmChWl&_1>8vO^LBPe~%# zlANG-*|4NVyBP^6L&oK?`KeG1iy?~#9hG9|=af~yqHFueVJ{3kHMclHA|Twv`;e_j ztJ$x3`ddC^7>;M>+w3q#{GYdDv(rCtmV(-en7s@#OVMKKPQO(^eXUk2k%XdAp(T=V zhZ)jpMi^cK?}$_69_c1dVvauS@fwzsa{)T|5pNPO4-{T3cTJ(_Bql{_!it0%047VC z#x{faSEnx#qi>^baB+f=gxJbjsb1%r$GoNdFj@q#xd%S2|V8*&%OwEXMQl$EZK zOIyxctp!6@q7bE9eGc(PZ&|t|T8sOCBNMWWm=jC?dRTtm5vqBJ|9vJt!rh_3|0w-s z#pbg53cDTHA4cncWP~K;uk(xMqR($c9vrmm_%^&t+gbR7cgvAB#Y5)iOX+TYVL_Xp z)!HkR*@rXT9x+2-Wf>c2yNTY#NyV$}ZkKttarV<5c1#*vQXkYx^7W9?iUEY+4rji9 z9p!*yUTG5AWwiM_aM2+7kk>e2JZQrH~(6|3GsO1QGY%) zGFQNBY!bL9C|<659+|e`xJT&AT(NIy${l@^k>r*dx9X9JaG#c=KMZ*19XGOG9v{77 zr&rmp8$M@09w*ntOo-*6$kQO7O5%V@`_%!n3?UAo2g1b}M9h6O2#GC3#LXlls5Vh( z0~1n-f%4p`Wz7{#hM2k<8Z1tV9*Q~k=uy{)bi-_)9#9Qhb=)FQA;!8 zggRWOk_AGzutR*sg0cwpgKSbN8KiaoOqW(RxgIjPk2P)N*mtDc3-o|eYKjafTRIEI z|AM%*3|qtNvuq1ObMhwna{eShC@yNz05VDF3{qI&kMzj`D^u??tF-zHDiE_nLZlqF zY0<9ceXY3Gt=S|cVFy(r*!+>#f49A4DDV($kc@FC-jzN-C zVno<|gspCkp)TrSwQ{JAZpaZ;t zAxBoq(Pgh0&5wo!6+r6-SdpMAnT+}Hbl!QO}b+DtT zpH5Ku61ph*{%y8y*F*$?p?a~l+i43oxHMe2711j~4`j<2sA)kAdFj{y zCzENbU7}Re5RNhpS6x)WfoN2i8#j&Vw{Epsjsz+x0|X_em5*VHk7@uTM}3)vhe>mq zZ}LFK#E{&Ns9W&-uC~A4H$!W_4;TyfK+<>=wA3G{VJv8!F{5s6)X}&j_Uen;XS`~& zG_5rgBd2s=67%i)w3e)+&{T7`>CHKkM>WYAj!6-IHp;7JCrOv)ehu#^C8s-y-{OTSqU3+k$nY0DD3DwCfZ)ogqmp?}FJ4ciF#6s|abJ_OT0zg!&Ys z>m+*#j5`9)0J2&j#OnaPXloFg7Lo(Pk(p13V$JIDcIy zad#n7+|tDYKyjrsg&^F8#1)AZ{KFqE3;gTTSQuky7g5${#pIHa{>TOpg5H` zVsaPRGDGRDjJ||-ScV?udUbsmyz)32vrH#8B1G-Yeu2GF0Nc29gMi7qmOUV9F1L5_ zMnr}EXdq;;Sjk9t<8G zB;isl>*xbEiIqeP z`3oC`S<4_L$;m9SuPMjpW=s+D+`?I1Ap%3*?ns7Q8dnbnLPC8^o5U<^9~I)YJfBKp z8&@M4irA&iCCAf4#6rEtuM6NEHH8)tHb)<0Z{!yK+W({Di@h}G=Z~I*3T`k4`Kkl; z5V@6Rh1jaN2pML0Ac3+5iWRfm1z-UQP12PtZ>xm+9jl-pAA)!gPuy23JwA;5Hmm5^ z57{@^ZBjJSy}P4^*3pxvf(-xchDNkY>R_HckQYZX9JSht1Su);JESJSCqy%6QD9Nq z<&M-dOwUB=aw1N)WcsIQhcudr z){xyLf(}v!E=DYr|3c83cHV~dxa@W0iG6Uk*u8{VOVOtrkBfltzg~+w1!GdqvPcVN zF-j4#iO`HoWLs3hdg+1IRlD86`_x~ZNMRJinUKRg(D>n<9k@qip*|7Ow8SW zbbTjjRXoD4V3vvfduqU_$yXSo+aN-l!64={V3Z_ns!cr>=hBTv;u34{J!@apn82I_K}b>m zXkQj~)$2;_cH}!Snm+0X5UJXg-HBTcY~Z`GnEnnGSCcJ>mIupziXgfcv-Wh0LPg-= z8LohXsORI73{d5#hb zWV<}S5LU~Icp$Uh!Mism#jtTS7Fg4|;I7!))@>H(^fvq_;>QOaYDc#^Tx2 zjdZ+x6D3L=HnU%vuua+eOW4l5eAZZ;zuR0?!qTr1B!IwHmo%!N|` zK@NzJlWUa?B10yH3i)20M3>9&$npqnVCuAU9#AIrUaRlHCC4 z;Y8N%LMBdY%teYL0MDJe03nwk8Ng4?GFM1-P<*yr+A4{w&lWd?lI05?y%x~Vu`Vec zQf3RMl0WR4UexWkP<4Sk=&ah8+f0KV-PM!<;?#^t_CMP?VraxeWyz!6l8w zTs&@7AVSctD1`TPisYMXpseoz6+$VNGPHeMaSpYh;_2!7Q<*P%sJmes74nK`t{`8> zhFoRqu;`isfwkI|c@Jzj8Ew+5B)sN3bRWc5kdx(z3rtqVYI%3)04ZI9E-2qn#Dmnb zsaDJV5ge~hI~M*@?A?w+Kx`PCEf0>!7RH( zz=8T%*n5%eUKSYBtnG5`76OPWYgwf z2mGf5=qcX)3+)Sd& zI#*7%^0>o9&5wdBmD-ma$e(A5P@1L2(^7pTPQ}pFYIU_@seTP7!O9896BHY8kdw%Q z1$fRkn@FGaMO|^Q7_X_1WdY-#|iguF+HI0-OF2mdXyqL zmIQ@E0<9%~HL|Y=z06ep-uthYWh|6v8wP12e(!wr7eg?Dz&#VkhddU(#b(%nsZI1Zvy zqJ9QQhAHWt%*44pWH+9dK(3Nb1~`vChY8A$I!W49=vRnD9jfi58Ic^qsLQj#)sD|e z>jBI9g+x4Lql$bLpy+GYg}erbnHkEBcK}j?wfSLBC7!Pf)TcSG#9qFvYV~(P&Z-26Ht~m&_8F6-NVt!y&Thjb(U!6{ z+-7F)h2DJ!&IsXgX&Av37_`oG@RmCwDD6rFn07k!;e`-2Re>=Kzi2i)To=OtDe_5d z2DiFgv@HBVsMTPx_Koxrl`oT+vRt}E;pF~4Z{&*1-kZ{iMk-&Bl^n6VbTJcnf-BgYl%MNVZJLH%aNxxD-XmyWW=N_=z)Y7J9j)Zqwa_vjzXG#wc z_+GSEm7|Aid(Kod9oD?YON~Ii{d%g7b#ct6V#-IfV z$;4pj54n&F-@)fHmasd4L5w37rPgOpw623gS~*L{w2Ppb7Tz_hbugJLAQZ63mGM{iBW!tvRRiU_*fjsef|b9hUF z`;)4zVL9=_nCw#*UI9Ldv5Ksz)GlIqXl@9sZ?o`-8Jy87T#mSaw7Bp!N>k91wA&C# z3D9zXCD&qrH0Ov0L#7EFIOGW80!FwQ4Rx=Fic|4J_9$6txNf(%f}2P*f!Uw4j-N>N zf_3X2vF5g=5oieF8zPg$U3N($tzve|4eQz{h)s4o%^2{osSg!{m;t?SdO6?n6F^{R zh+oM#`pCM$=F5GF(IN~hFjsY=i(ligBAjfBZjX`E9nyK`XD|t@Lw#9)jNQhSlMUv4 zuo7i{L1`Fnk(P|EMB2(j2S_);M%5i05JGDbEsM6a{i^S~Q=K(0+@81i|Hh9DE*L+& z?diR-n8V+kDk-q-mu&kBeUR8a^-(7l2l1a{`fXG;uyjI2mff^+ac^00*5bzKm5!F+&~l z)SsrOR=D0_=Y8_CFDQM- z@!$VZtK|QXQa`WK&#UzFD*e1lKd;iytMv0K{k%#)uhP$}^z$nHyh=Z>($A~(^D6zk zN+u?EfchQp1Kr%n|gr^h&v zxpt02q*!V!8G!XS_7v7#=|6Mdu7Y~{dhh4T$xjW*j|9r8KlO=oFRtsqcU@oWdd%VL zw349rL80AZc}bVJv(U=z$QRxTSjXG7=}t$KtM+c58cOr(3-)~piXR;%e`_;-_D6>3 z?H6+|n{sl5|H6dy@x2Ag?rU8>y?%wAzw_VV8CVVd$I49egLi)LX8d=X!2iL)`ziX` zGqXJMonV<#yD!J}EpB!NYs2V=`_eh+S_6Lt>I~=2qzGK@huO-1s@9xVwfw%IgzjIM z{+4zc(x%^YU)>qN4DpUX9kIvJFXM`I^hKlCM`zg1LV&)(z z1#>Tzsag|$EA3CYOoDEz5ou49fGRN^Hq$bh+ku-Zg7H!3$1t6Z$9ee zTLBAfODHKKKS#O}<3Pqm ziEkuj=8j+(;A~w$T4Zk*!oEq<=^I$vcku2HzoCAGH>4kVC`g?c#=WXe4$d)PEFC+S z_M*tu?rb)rev|Qqg2claV7B)u98d@f(XJc-xWF%uEO_~M9|-;xr=xu~Xn^XO&%|h3B?cdLMsKt?IE|n-g~vllCg89zCiFC>03fcqD(}^XSq;0V vJA2kv