ࡱ> ( , TUVWXYZ[\]K. IuHG+ * ) ~ nS11Fo- PNG  IHDROPsBIT|d pHYs  ~!tEXtSoftwareMacromedia Fireworks 3.0i1tEXtCreation Time06/20/00́:cprVWxYr618DHv C А -W29@w 4Z'5Yj?l /Oϑy:<'Ǯ;6ndlcHe*X70wгu=c:l]Ǡt16xKv}ˢCyYZj4^n t3Vޛ͇յje}x֚ků K>,I6U U.ej4]-Ul^} CuchF[[m-\?(A踊KQp!Fsx3lyH $aƨ^ {p Q拶Ը\~&A"I4T``܅cҏׇqw;cϙ.֦͸ok ;&-tw:Qh= L1+ωO^q7NgOk! BTcqJ›: NK+km(y/qph4wus/M>]o坁7mI      e_!JQVˈ',Fۭȷ- \-ym"l~Mj^v\@Yd%׮ul?mU֮EϴҺ/~^_$ Pq'‡t!qx/o6E[f8}M[{?,]eUAV|i_O?ߗwUU- t6X?u/F8E?33-GhO}Bm؇ 81Af"     N+VHmkBF)3mkTSxYs%Ǖ&*({a^h666Ou呹VDIjy^\H9b& }$+)Kp?~ǿy݋_ț=}xB~ۏ]p&< ^ݜ_|ӧ߽xpFyo^u=ٝd%}䋛>MO'_ѧ[/>M??Kt tz|2n<>?^oXͪ[_/7D|Iȕ('_V:%n^Vvܷrofb/}\}e^/7g'׳u{g؇˓;3=d+q"I@nI0 I)y̢I M.|AG8ߴvLU";Ϧ:]8,&3VŇd߂s¦,v 3XFN-̪Fn#x aOr|'HcsRaI.`\O/κ ;Jrҝ]ͨWR764'̹Ѕcr¬ٞtWlzlhLYKywC]tS]O9 'ѥV d|_pEdaDZ3`M1ryYsՑ'MNnO1b~E]Uf,-5x1`R ,ߜeL\d~YϨ{HC9p 6BP ݚ02#mb?,ɓ 0O^\Փ_eR n0{lx)?lA2=ɊL20t;wʫUQU$6[3G_$nkfjI]HR">#,|dߒVOkRDָBTwl)#3ˆ߮& $ru1y,g9#E@9E;ķc= r(ڭ>"3z@bzɮgoQ&W([| %Z#XO_%τ1v:;*E6fS`6S4C{{ N#'XIIwY,1IuGӯv~&DbZL?gsѫOF_٧1ap/#?O]&vz~9{i qx2Q0Q:8h7O};NH^%:Tׄx=vv:\aCѝ?Jr~>qh2?*׼L5zPc<9K,yԴ\vg ?5ǃӴ~j돚_y<[&-ň_lD܃xMKׅ돔*]ﵤגt#(sߦPQv_ TEV>qhrX{2v}9W8N3ql{HM~ғgdpԢ~,oW)A?(Ң[.Mll]mёufwK+ߔ5PKkӇ䑫o\=lSyܷ)_'pTOUӧ֧[QGe#V 0\3荓rr۫Ӈ诗0xWyKcaେ|:3=r9,'60M!&!+`VIRԑPDHF%Bڭʥ)NCT>5qџ56-Ja9/I|=tT6.]avY+Z]޳ɵuTǧaQ0A<~5/<>ţ$\>&z$G(W8tw&8Uk|thuħDҿD+};*O ;OODצ_IOo=<;;.DL/(x_<*'cJ42pS}M5"5So'連oXX јܓO%Fuh5_$mmϜ/8E!Mn!u>5uLh^S?;? #L^|Q\|-h'.|;; #;[)U*b;=ͿLw{ߒ;w"Qѷ6׋ӮB:M'FO_*%*ޯw-!m|; |៉ށӾ5r?{zǟ=޹oruoo=o~rs{N{i8N5sۺ{n{m8n_Gn{As)Vyu=on=޹m7=p|#=} 8}6=1qJi/i߼l{n:pl{nq71߾>߾y累o}mm߼l{n:pl{nS嶏NNܜM6pڎa9%xb+^ 罝"{z촮'xۿ)VNa{[vr4a ܕraoh-ܙ֠Y17R[+Cz#bj>V)U[y#qs/m1 {Ǭzs{n{o/s_Txru+odf5=S\hN|6i?ιfpԓyK3Osכ'r_N~0oOzg?,Ui^ IQ xEɧgNQpۛ#]9U__/#c( euސ5S]#iyLiᶿ@}?Ii/_ \vhj 7)j6Q: 7= \' 叴¯қqʝiE_^A戓NZHq~Mtۤ }E'1)ߥs:3|Ϊ<$pO<;4mCϯu$/gs`9է+p q~t]ݧh#L?_`WIMh~[ޢ8Ex {rqv_?~oZow_;?IKZOέ,po,&ּ 6ۗٞ CcW㱮pbY\oz{Gˣݸ~.B9s״O1e){׽aͧxYo6=HT!'z7 +IVĤQA ?jny7Zy~]:Oor'竤C|K4óg߽ӇMv-np滕'RdލBsy7ɓtn@ތS]媜zsy@a<DŽr5UޝK".cm ܍D=Fc36H'hNwWOGj{+JRH+uN?m%=N'm0+n[gZ a]8lavCK?O1 Www8=qv'}d|\%h/Yhϙ?>l$~|,gwBR'xz ߾Cd^ƊܴikN˔89w/<|HܜN~zpVN-Z'rϒ x@SS~V)y{?t` 7}yǴByp8izv$}y4oҗϟ?:}0|9Od'nN+ ~*Lp'O%>Żyz( <݃^ o'RMC7߽೏h>zD8 WRy^~ {4i~2<;{6)PEˣ傠/<D9syz1)?O?J|z|Z'?g xin>(-ËӋE:O~Y'@'7|~BgO3~OJK<-3D}z/|G4{Urߒ6hĿƟ|0ScySB‡gOB/Ξ=,2Kt7,]g >òAw^lUpDHrvv~yv1ҳtp] iCz9Fky3<tg8b7;/O_z\ї^|ri7@+{~7j&H%ϫQ/ uJz}^ %HԸŰGbWc7-b^X! 7BYu^{1}|1~ZY/W ֹՄ6W6t0Zq5aeBոjeT9{kxϸ6Vیkx+P8xDINF+ m3ō% ]l tb"Ũ봻̨{i:xl;Q0MonG%[k2mrDTDNJFi솄qsV %qjF1^i"ݲq5a5rŊh/ 8]:a5zcQ>TCDb q?)WZAVc7D-ZDo6J!.3FAV#qGG"8_ QĵGC\GjM!h_P16 K7hX 2>yƑ۩ %BY E4FrA ,Fu1&#(? uE+0=m_M.Fp&he(̋8GiG{\͎H6Rrx!I$Ų $wlt _u*s'%_&lW`7{`}&*t2oNO$F Ǟˏ‚,uB#c] [qDq5щk<vTD<כ/o> ͣϒ>ZUO?IP[pWvKA S(DɵP ,=1pal.nDL:dݛH*8ă"4rUҒh!pHZ8Pf) 4HW8)D4ef݄F¹,iz1`]tbQ~X8[;8PHgv2p_cGTp_# &ӨTbX> g: ;ڬIy\wpHmNsF: q۱qd:lv` `@ß9}eUR+8ݝ!bjHX^ zv{"܆n]mr&Dl0p`bi`9CO,1esҩWn.5 vHaJ~%^X]G f Ȑq\ƪx@.00CdUc/,~96]=57Ev^48fDjU!DL.U YNB2<)\Cw1tp`z\ |Rx#E]Q^x^%db%Cڠۢ|;dH؛3aMdYKM'W8OYD`bfg^R.n&:=@ZvGv;l>a7!]_N,x8p$̠BTVbpt7R6̱Iӣj]#pzt/A8pjˑu{Ae,:g:,le)1Xt:t%Lc*XE΂!0 8^fy#XZtK 'Irzv )2) r![5GGododuC^)aV wpM>rE`c΂W٬GGJZLbE.ARGmD0g>w{h;t~MCۺq$h^2Єo&Y_I.`Ćd,>CWF]m@<%a dV й ]|HsY܎eL%q :.!U$]ke$KʚȦE cF/VWtM0%m5" B:tk17*w6Du9 ǑeSFfu}'hG!M r~vwmfJ""Ļj5۩Jpj\qe;DAD :C7&i<%J'Yֈ$ٚ}Nff=Kib Ro8G&u!pBBE*o2QH htHywsCH)l7;Z(!ӏ$KV՚ k~ U-L/}Po=r,<xJxwni;w\6* Gq㼎a˶i)+y푽lW"R9 T%`02j9e.{KR^^M+B~fuqr[^ FOKV9Qk 0cDO(WdY##<1'x wG<6ƜPQ˫G0s@. XbQd?%YCrv6(dE_Ͻ(y 6w;lBT>G=IA G?mҁ",(@0 Hܝ6L!ݨdKXD9o=X\N)i1FM.ɈҒ"!ΓyP%h^ds+gm'uƥEwf c^X>0ތ_ȁ^T[K~pY&b.^%bBJV*1I5Xf?\ZKZYf/\ vh>$f!.p,‰H6]Ŗʨb' 6 t̊L2<+s 2*z\!p :- &2bb.AV%l pBk{:8 ٔA4&ThړfMiӬJH2/4ڹP/nN/s621|ķ9@5߻&vH+E Y@lV.6TzE)YGTdr*iQP/DnT eϢ2b"J)}ؓboVUWHo&ݻ,iQՃMyjlK0QbBJ!*5bƒ#e eNZ*eB] =rtFVJ.E0 R#Zd +CL(ϓ^I-ce,H,/ǖ㠼7v |+-Z B"J_pM=E#iCd =]|xJT]opS䵚PQmR'u?.nƎ5tcUNLlb)9T q JrS* c#ȱT_y}HlX0r!#TvqY _,mJlc>js(J_ CSԝՆӐI"Ek~D{)H p/2Pb!Nk,*5*!=̾cHVi-M.%0*QYdL=RIGQ *1|Fv,&xQiD%.粃CV59( !8NDu+HH{*x$X8=)9g\sU#=WgÁ1Ii6Gp}I9VPaL yBY+g_E8L쒤cMhYbP)'tpH%o"uwu"*Ŋ#CZ; B3-ixllqtoxВnʐJ[FHX8BHD1ԑiFijnEM<$nK-Pg|թk!0 +brU. R3%?v?-[P'L&hAH!nj.j\׀ݬ3lEs˝xR'Mh1p- (3XǵJiE+U"J>w?$k'KRM`qoES% g&-H,ظ d(gX8Pg-I?+:îOGd<"'8^;X44+I4Y:-פj![Ip&Neӕt%‡`C|>[\0q|N7Eע̗7E-V5,Z|)-tp֪m<-)-(gΖ2,l-rjWL"i-X5VD Ͳ٫f;A6et)5Z$Xہ$jh;ѻT&Wl 2 x8Ay jY H5HuN5XrE+wRr;&SVc <I|ZX<^)SbZvpiP۹:PPj+Y&C$02^G&,Zެ1KHEg߯:]Oh[Np;4/8ĸ\"^w^ejȂdUoSZ]Vf5j+)W+3=E36l&pr QAq'O):l TuBt\Sס[@}0%ެѱCC[ 6s$N$JeK ㋅SBiDb퐡#yDL<1Fh$cL$#N4TLj̓AzTk[tso۹Cxʈ,YbiɊd%[t>sY۹EbIz,<8st[QA+R``Fa+` tߡ#1Mn%V벃.2MsޯH;ȦݖО:pvK#b]C\u`b\Vv.L@eU(%0a$"j-UGpX'tR'L<<40.ym|UGHߊP̷hq1%nR;c9\2vwV5:f:o eՊŭe|K6΅&Γ!VpfH\nv"59tFT*I׮ .6}tkt[褤h<Ď[ fȗPgYpoHۄO1ZLPu'Wd'1~*SCFRa%7nHC'mAiQ,٩ i|@26g&:DZN3M `^ۘ Yd֩休--Ґ1g8+Te{ 3j 0&LJ}P$B#2+bp5P$̫HR|BDo 5 M._u-,b-'QN- &FA7ViA nwf, Nv0Er!#-"EtEg$k#bHt)W1Hԭ F{F̣'%"4ShR[ eMAjzFJCU-T崃24ΡJxG0i> Gwp">3ό9MoE'NOZ^ttFZa2+y[=tGD |`掹& >VpLH(m*$}'B-V* Nko9^E LW!('[* m6?QL&xuMQD8tH#kF$V eL6sՇ.1g_{9WZ4>˻OQhkC"5#ШZbks.3-&{crbN^֘Lbma## d]4fNeV:`s"y$w)\e~-TwDk2KUW0߷Ҕ)aօ.B;i<[ې2\1͗n.DZ97 ^ˤGh1,gMNf"n+-`4ĶpƧv{jH0d.RgRi㰚E$6\[K"d+u*MHVDDeYZ9ZfR,'qfGr,jt&&X$Pcs Vm!&vC&,^,L) ,4|4MGT|O wLnA@n"rbP"CFp0dx(<)!j01Aw ,`-vϘq.$;ɂizvQh,P8,qb ۵Leg#:]R72QNF绦U`i@iMU\XN#U3 JWFP#2Cמɚۖ>p1UXh:AXEcTAg'74R[[8ǜq"-I*jJyAV *S855 OSso@gjѢ$·NR0W*%WfG2D>7R. qhBrfeJ.<)XlqM6?%T*e=.ג`Hr٤I7#Qf(zڀ 7!2k˙y*asÈ:Z _=@q9*ev$iڶx'ysU45ZZ+DML#3p`k"$+a`@hJq\E p7Cr&=mӃwɜ#ڕq>ɲf )h,yʓD`߆~YS83zC.Wx3MИ5Vs4_nھn$f\TbK@@`X uń)MAafR5u"u$r yb%\] *,9lLe+v?pyH!%^c&azX/KNHu3/ X3!cPo^!*z UP EmTijwsH*FU G,N:#tp _ u'[Dn F5FլZNx&]w^48gU!]$ZC|ǐ] vAS)<֮f`[`*b,GsMUg=Tl{nrweө|=_uT$PL_־F;mE=;h͎0M_E~xjRt _,~ZS2IZ|+?ͩC 8Z\>3 6Vf04p58 3M#v=&*djpIuPg*I0?VfEzocY]Lh} xfKiyWv gݙH}#&8SjD9Dv5.!4*?,HZtde%@*/ABl9 RCפEVm;tG40%&Ċh$M ^ =y-Y1u(^I2KOUYEhIyC%u$"13-{Lׂ >Li :LS eL_Nߦ6Y-_q9=~a.~9v \t|3ljX?Qsyp=fLh*Q-ܹ-Ji8ièBt a(LdBP)Sw!8 )=^"8SJxA:"upҴ6F)W|c},e0`d2˫ 8S+iĬEiiF)bj i+3JaB"5B\vZi&i^!8ӒwеTZfMW>JƦ vՕ`.l  ݡbH᭫NY6r|P1b7"kH"breckKF vCʪ=L֤XN<ؖwlPY <&gFmg!uPŀ[7WKZoTEZ8e!4A"{v2&/Uijc钘-"KbiCV{U$,caj-ϲH4)ћ5polg*-thCMG/\Lc,!DeF?*!e47T)|^5$5@u!R%(zC] "CFY֢[Á*"sil"+ (kAoRz@qM&;ϣE4OagJ{0s5dj/]w4w10#1/EE;0uLBh\MjeTbTdI,T8';Y#XCi!K4.+nz[4Vf\@30Sfo`@.R[s5EiMdM"3xH1:- Kr+|`'gyLVIrC5uiI C(>nFnJ_iib@*`mi^9<[f QRR0hdRG:5(a3Q)k4hV&r" ?nZQ gsѝ$ĉbVgs-_},s^G7R$mWt)$Ezx8.)BpBGD%dRTt:t< DS}s2KpV滒ێX-gP9w2J9gW3V@N!{d{JN|TeUQG.^s 9g68jW\I vqpLI(/I܀|?{9/p8%\Ι_1pXNyG|Q$.JF6T,YOb< I//{, S;4iPՠ)q0-jF6%+ )܎\nT}@cH7ש! 5XWt3P9"BS"I{lc@ofm',QQڔreբ^N4Bn f2iLc;nb+vz+:GY 1Fǹ-ichP#TۃD=MYPI:mKsFhA@(f fwdjl4cJ*׉@/qm!בŨĐpv! e.Y(c# (pCGڎ-n*z9jcSTEG_zBl|"6UQ#6Tq+wVчQ"53G۩^LM]e;H~G*M >ywS&TDS^9uhh'nzFp7#oydA,4ƦPV i |9ʤ²BԵ$ mgM jY ST횴Əm-m*oҘ->$8}vV?C2-'ϮGxr(XkHPüTb~w+{O$H]S+>ELғg}zD\c8LkXaM2l5wQʺ qJi|i޸l[>,D>eJٍ'lcxFY)cZ[-+QQ!0{~soJ#߈H5[}k&ojgd ]W0bDun#cfkMk7gzc 8( rL sB87%$?TW{άfNVL}魒 8zkD!hnV)ISw5u9mn51 }*{FrYSN[6',0(D= :7%Il<+{DF֦E^VӪ+P]C8rOu/m<1/h%“X٫hmɠm()!͑9{Ax%¾t1v`_Ȝ-5DFzd ^dxYw2^7\~FsL~?;C1=Z,~d[DU8hwvQۻC1zHRivpo:g yvgm]1 <;8󜚳 Io˂O/2k΂/AU@1 ` a]5d #Ǯh6m>^axM!|b^s>r)SܪяtZxl Wӳ_Qs04`"fc|ZtXJBx[Ғ匼<'T"RU$Zx|;8H/0F@c:x<[}?xU O}x)$]AkƃWl8cq?;oQqaA ?[jڀ];MCy`(@@F46f&(^Ɩڕ`LcFj)>0$t8UHM@tJ٦NM2SS6Iyv@?-ּR݌lV`K¦uER:x^;S u]LY>٣%*8sUje]K(3[ :qt•0cbt|:Q'P&ЍX( Ly!z-SV%eP?=J@Xg paEcث%M5]˰bo8 G+ -`=9.r+'?}D)5`Ut7CvA+k$)V.τZ:j6*gd"T|~R[+*lhgTR Dм ֐@J"6%=b\*Ʃ$j6TΘiUn{ӻ&CLS2I=ɇPJ(f ǒ1ڛ`jq<`KvBKf`. 2۠4I_b =uymK Q EW7p:YӜ$A\\oC.%rwYS.>$Z7IȆ>K~¼Uc .Q;n RU筏K!嬨1rA-ϩ׻<7-fIck/z!ih|KcT\1+'.U _++{@A2B]4{d$F$~/ڕx2x:"Ѯ\jn%-,ыU~Sw%<C>h0m7 nh6I&O+țVTK+AVXUS9w:N(!Ig\ G!y\x7_|8n6[ad ]&O^F֦m,;tij+kO~y>pAR.kzHW1&eT8UG20DI7%#Q6Z .a44[Q@Hvx¬Z ճ4f[[bJDz<;fuKĹe*la%0%N\PE[Ffi$ژ Src*i] i$\D#amW\)Z?ydK!6qIE>.I&،1uUIVgșDasM~ŋ5I\. L>ӮWL O#0BE m]ty ci]FbE<!*t_WZÓITK$T%2@5C5qrB_^ߧ><'gy<~1?j_l<KyF9I_Z@e>;kU3sa5Jc.F9'2*pĈb}6ZO Y+COQ(CW45T:.|UPcFɜ䃴l/oL67![KJW{y}IxlȤ4h"IZ1W<D)$mA~R68A$7&}=51^clF˸IGιd.F҇BcV)r=U$wV/uM _Ox9\Elm Sd][545Vl7(~RU5ߕyLsM/R2rHzjTLӔX.RMOWDZ[h.d1%Wm%1=z`0zi J H5S:D1F*p aN1bԴ:VbqŐ\E20 6a1-Ġ#[_S^kXȅ_:t-,μb`3jn/$,jýc3:kZ kh+ަʜj/5xgr wGfd|<6\ܺxT8a73 8FW#;YBe-2}X w1el-Ni(tQZYIbHuD78Ё#xm5g-"RdnPԵ\KؤpEl *ᔮjuGQ'!ΧY[BS03 1OIrA/dX¢DH4^Կpмf!ԂOEc\j:u|$uLUf Q5#eJ` \4#kဳ| Akj3N,h h3fp,HbNup Edlxɧ΢^;=>mРMwm1qaW}%XBWk!XeCC[}wEЪI(-땍*F~fȒen|z4NHHOˤqA϶,&8;NXO?E ` d>:GZUo JZjNR\/|yv$cJBN c-Fv{lvzF J`:e<㆝AIⶢ5A!n3E7ƜxM8JWC\Цn:t/\X6c~?Wrlr)~.ߥZFǥTm;8?0dI]IB'CX-fR4(bJZvmw<*?.')bU}×M1 ICu޷HR7Dbyl1{L͐w r>C[<4m TzC1F͸:9W^'߈] y#P.ݑBy5d`E<ټ(BdXGePʈD&L=8iwMnRb^Lt&/`ehQ.sVM*uDlRhC}S~6LQC!˲slBlթ:X?p픊m8 ?@vlvHiƨk^,y<B-pJJRzX Y ܃pK(K,A]NlO2ccR{c=B aH_$Fa:҇Tb"jfY"91$|I! l]YKTɚ$\i{C(T%61PN*5n=\H ˸&zl]Ԧ(R}"@1*hSe/Y4R5mR{a u]M$mFoG( z\.TKm"ĸL>㍬Dž=<=/FK(gچnxIM=LHIBk&&Sę,2*/JGckx˧ʢ0@-:J+ՐĹ B(S6 CCJA#ij(*G+-4% ,.*_ /XȲ(`(D%Ta(L~H`I\'صa(G{eQ663F/\B D+0DRI,4Z<4"l}<'29P _&FECJbDL%oO %+) -} b,JB _5T*Gq 1P4y62p%w|RaAlJ*A$ G g+J_[&qHD7#"7,FEbAȲ$ACF4RldˉFE=hvpM=PH1ZS.7١&^D»&]c\0Ef4e5h@jHB,W}F@PXT ~jR|9X0ҢLJ<qMt! e%*2@đ4qN|m^'2BBk2T&UfFn$$.jL 1ёSWcc3I"SA(5ib#Aᚺ&w&f^ڑe1h5Z!4]3EED!ȫ(anhURջaS eL(͊Es"/* æZhל$t(lYWc8 jì ~5C;]Pb[b?(+Y[$N"RUڿe# CВW4DuKIJi C(҈JՌuU(  CEw5džb6us1\Qf49K{j**kD9kjXؐJ)g,'tid*2Dt#uNmյH}4&dž%&(烸8V#ӰDM:)'"y ]ILm]_mP)" 5M%dƾ9.+ m x پNY+M0j)NkW"YzsQAu%kkXBgYL.LH!qObK\<G6$76 m3S7VC8#86I6Y$eb0F te1pƬ")NY6+%LA_tt#۰\Stt-eQ´U]r٘ԀGǦ\xѨ^9G'Ve$k5_STƝ~UccRC}F3XyS=BJrt Fah);$o`# tlPC:6ZF:a*R5 t HdFAb*U0ЏY0҇Uj>YC(5M'R'RBƞi'Mȇ\I="q.J0<މۈh4U4R>G!Ei'dZCAKR [l17@{I&LhLV2$Rth|.\Sc@ 1`(&HzRE(8P EpDS5> x  )G7()TP/&8lSu$Vֵ<ބ֠LmS/^.#ķwĥ$bNjc YO^Y7+JSݑUzFRy74 LlVZ#TGA!-L|jlH=s+Cv%w"[Fb %ɡ״a|ioK7 hۊm:4GW^$җ0FeX fPHT15չ-D().y1SC Љ4>4k16է?N4Oj>9Lm u-`tiAv.FcF_^MLr0A0I``FIy5ԒX&f[pnQYSCԄ2T]=ewGk[fEKH/ Q(k[LJneBHu1Pʼ±:ҧbc&X\ɾlhvC|97e/'܂IŠ=ȥǐZ02;Z?@ ~](u =<72Z?L9 f":i4j-$ k u$ sȎ<Pi5o8˵/!~^E˅7 #kAON4i[ۯ]SW4erUS+IXN0E_nl\Gf1$7H5h< FU~.6c#B *f0??IUE-v$DӾ1-@WVi[ѧd9#LO+=2 1k225JnXH`"{t%> 'AqN_$u)83K`t?zd-rhP^!׳nhU骥e`UB)g387e=f4Cj2]UDM6lfQH2;FvŜXћ~ *#[Oi61Fgx/!~v}1EEN~cu<.x\ +Z% W֖6 wT-ׄҫ(מewHiAnL0lhtQS3͊&dž9%]`XbE2T(䒑jؠ = ڌJ3j1SWյ;{WģK @eew4r_4-RCק(Р(v]b>6=IPԻ] _-,Qϝo v ǚTp9 W;֣2|THvSDoV@VGxڦ}]S=2Evu]Zu# وjk~j0SM(9{.ܗz!;fǢKn&Zc6=LdQN>U:>bofȧD ژiaqm#%8ՠ*nh1ԳQD(LuHKXB*V0P,v؉s4$MiYidX_sN |fA]crR\ x:Ml "ydLJܔ3-Yi}0+PãJ`3tn7KTցTdc"'ַ"m^=r[t@%1=L{FQ9w{sͭe@ ZXպaEA֊LXp QFe&r &s*hGĭs| JEĒ6j%k2yOҜz ;f+6*;ѵ@"2ei:*f*S~_Ѹb- 7.}H\(Y>$${k,, VcWXUPюtlatPHל@i$t`+i>5HzKg`F@#v"fӅ&H%qZyK.CCET"{ɧ1P&lѡ$dRfVF;EObGpX, /u5y<(x998~%;$4;(I-;5\ʼnL/uiR#GbS,8/v% %['H bN4БC{&Db1^ҏx`|a.,yA]^F a~$tEE-,rlxX ,чDsf&Ojb;OmC-Q݇dJ.[/al FJesC3 Zy"4+Nhs_(#ěh5 klT,ynR8MB]BbRXlCZЉO\sTXy[gXmfLdѕƟN𻥝҄@d j4` hɼc!1}58P*2 ȑMjlK8<2 k3a#mW8-*E0EvFu M *!&?#2όN]{6$_(Y2tK^k GP]GO;>|tP[X:gI]:W]W;R^n* Q|X. #E$% fcŀ4QH(tZb6YiTcp xüݨ6 @O0vbm2  /٢qZ.Um49 QyhbZJZ9F☆&A1Dܐ˖~sT%c(19{2(FUuP#ާuÙT'}rrݰiaGt_n2 ծB#&ZC7Y)7D2]s3I*[6( qY,!=4!=ŀf-LN:\U牐SvK8׵Zt E b&训j&L1u@ԧ.(j֠ :䦎ky4d(Y>EkF[ئ;~< Mo=Gȕh^l>oEg?&S^ _ ;`.k*ot·̠ipArx;i `݉p&Zisie}.1;ם) V#rvT쏳RՒi B0wC nJU-HiCAz%ݑ`^s`J|D2bh<\*imJU H ec|O!w3(0}DchiםrWU/0M^]t,cnP;8ۙ z2rs%VҪ\=~Ncꞹ#*064*e)uJto1tE[Hz Dhmh VZ2OA(!ObwBS_,(IxWM.)NdCk4 2T/ڶ@'-~Z{#繆NKGPO KX,[ a ,^p2K a +>.eEWu\`t%B뮭}>og茿Kn FS49Ds 41; 1;czCZTFFBW`wd0ؘ,LGʝќfq ߤ!㐉h5uƣ(n~1L/ڴ"y8pL]A\Cӫ被9TӰӋ 1qQFC k{3]KϬ:2NSoP. '{ۛ{ ŔbCqwp+\ mL>|}D"kGD. :ҥ~6%^&ކВ(eM2SUW (q&QaT:{W;M@j}̝T:;+hՋ#l$k]P寗ϏI'#Jw[o M abl]7CLn>p68Fѕu4;r;TL(ȱ®_9sԁF>&R+%m^^X !' 2t{C@4F3{2c=?quכmTemhԈH)X:uB0 Bfq7ѵ~o d-Skx9vs}4kWƸ nz6Mc {)DMOW\s\ K22i {K "z;mhQ$W#YV !?tjL a6.ؒz=M:3G![W%6-Txj<9H^~ֱ7uů &uJ|4(JDO80Ǥ:2q*(NṳÄWEGrXYI$nuYI 2e<7|9ݚWO,gC4F_%LOZ=J`<],ݎ-{BSGgϲW@_ݹN4d#' 5.\PT:ɠ)@lcA.ز.5`̹Mr]gy35]GY*nP$٠KCăh ȃSZj%u>ЊyJQGfWV%6_s&7Pz,,dS"DhhzXUIK36͋Clrnɒꭃ+7H5+zH鶢oT z˹7FWk',GMVhYh<%h Fc]Lf i|>>EH(JBL8ϡt&{rn亠ΰ-u03Kd%0 Ek?S,\X j5LeblftfN!e,84QI e8u4-*nF}i4!(!Cӹ ВDh uХٱˇ6}X:?"C ܂b \⾆-^ie'r"Y=*EקꞂ0eH[͚YyyW[T/OFќhy6bSL|ZtkOH6ܓFj|w_ꖻniy֡7 n=h@҈`kCr! ,=ux6-H&.E1OyF3]Y=`M y;]kN-eq7)$8 hNNƓGTfL9Br B+b؄pQ`RaziFD]N>OdB5kGt"y>LǑM4v !73@x=u혽l@Uq |@dPGj=r0[haS\mr'BUFq@y'VX0I! <7lU'3X5 KbNGO@Kg8VP>ө] ׯZ@ؼD]+2x mV7Eۨ&Bh_RB:uSnI#BD;ESuW0Ҫ<C*ЕwO=e Q\QXg>)tAKr&*Ȍ1IZP>6GY[3 Vnrhk@(X2#񖷠}\c~z~Wt)P Q7g'U qƒ k6x&𯹣+q42oEҼ;okD_r#UWW*MÀ_\.v]*KRC^3>p_edDayR)I?)M%`޲}g(Ƥ9tCakAHy0pRz6pJO1+VL C*"m? goboJ_1jM<1  [CWF8rCP[=K6 :^ʟ}P P*s<nx@=]JuffEE/iTjhaPD&tW \ӀS,:O2\#H FMNt4AM:X2K>3 ڠY[kVNrh1>MOhV:9|Lwp]ƒFw.zeMTاk% Nt3tŞʎoMpT { xgk!boi^l@8Ͳm>8ғ _wWlˁ08?U` Pc/+-dS>C :>ѐs;jp6&;{B )Ѡs_?!PL>ֿX۠pn3*iF̹qjFPrAkFF-À|Xw~êJEsIvR 9Dl|d8䑙ˀr} \hx4]7rhVz?  )R_HfO1 ش S(=^WD@&F_NY*CAf!)v8ձ>E-fB4|K4NGz%n,*~(8X*0b4̜la ,M׼kt *8VTvht$BKL nhf9QbbJJ\N,ax2B.& s^ D6X|Lڰ|_Z_"## ذw'}DFjTgTԛӑY|/*" ڧڀxXqK/J8k/MmbGjl3iJTjL&YXBS.ǐT4zCw1vf<@ʃ׎KJf7pړI`uwj\zkOMA0UEgٴLY*7;%6&J]UR)+XLkXJG^m F- D@]Rfx(4X&FD24nq(2#1zs>k)r-Gy9}J.WTg/,8Z5Áb ;s`|윴udfIQʚnyf*K Fj>j󾦟~U攒L_q/ #Nć>o/ϊ/Bw]c=ǝ yINP\"WY*I8lm}Gq44ci%/i1qqFhq8é8š8#/+P9,4xD8Ŧ&^ qlߕRY ~;Fub-?vKC-+f/Mբ iʑaso@4&zAa[r/n+CC+%99 e66v V*o8D:M"%{Y0uqs .PGȬC-C@p|{G兌  +Ƌ%.!8DpĄ6_>dEu%Uى%9LA"fcqHm H*7 y"\5-g měhI@Xm·Ү{n&M2$u1aĸp&ub&AC/_EЎ~*E/nĹ_Ets -ׇX(23 d9fsdP.ʘs0⦹̞1; kV50qz"zV(/[Lq1I\(Ўht!mT8W``әr5H!.N x{X*fMZT*:nnhB RЋ}!;oq&,"Iɉ!qIu#]JSSpݱ).> \ǘ($fSsGd`Pi@8]f麙+. p?b($--i\AL]r5pp| odr>U=WC1:sms.*ypp YU.F=ӇFFzo>+pBF lLN]I ul3xkA|O i~3;f%n ihطuT1c4[zMf&.M<>#hx 6=O:X{;u3Y9Or oq$OXC7Q(0s􀌶GQ"9r9FYx0,є M |y⶷-@"!٧FrBiP)DyD-K"L^DPs BaGlsJ@1maKCඉjq `X✁c(Τ 8b_ !4)oja(y'l7 U,_5c<* J%PɊ$Cz="paVi,ڰD,:KRҢHn{r}fbLL"auU̢`;B]"Zo-5[OM'+\-[͎&>K.Mw? Cč1bXhÆ哖_2'q mH%9cɎͽ{A/wqvHgŶhrYAO`RTv&*|KCqύSxF'8_; cUi)Zt 0l1& 0l@S{IC7x@^]yI_iTcQOTְYN?QA+- ~^o媲En9#AZj^plRĊR֕[̝A:ڍ+3)9B,w0BC' #FGg1rKb?Fo=7P'z8uý0U#8CH0K58vr|q&88/m84}K&V[RPL3+.3Y27M !%fT-WKAZ%]=NQ/bbtIA# I121 H5E&c:pa'&+ YP7#]"YӜBB~Jh{Ī}QL[4:5|> Ӽʈ 'sn, !V U7&4x?>xţ+-`Tfj#s[0zvqt`eΚ]+:06ſ/s#oaM+Ƞ-e9l ,&#7X2&bjD!.s!բ0:rB;#P9~mst4}!;vb hkI0K#dyGzyK:ZENL򆕂$Q;C.ŇQZSt%qoZ1~C ]-2 .I?g4D숑,[8_bXc voPb#yAKBN)D#0zv)D{6w ]i(a)?3X;/׈$wTaE63󰒟d0܈--ʳRyE_d9C[UqYGz`*٫M<ۺ{'JIX,aA I'AMK^KmX|9QL?bHlZyh{DNϬL!o*$Qb%I-@ןat/y2'q9+]HEyHj&)q8M3"k$i|fY^,Ř'eTn-qa1đ+k6/z0^r4"""@~"g^7čKy'-Y:ywxAܸw]6očfqyuAܸlvB]7.HfMqysAܸu\7.w7)č]]ƅ߸JuE\7.Sv K}qynAܸ.ti[7 9罰q*ykAܸ sZ7č'q6ӆӂI$i >evL0gmi*i/80q[ UcR9m,@pƳ,{uTc9@r mm guY7&[[җ"^尗 g7,v[^ÂY;Cy?XI'cX?e+~~}Uߧww;`_׻ux|˧o~_NwO>3 Fww3+?._>=ן'ߓ/{_?6ק 6oiO뿦ӋVx߽O?`@x:ٸ˧~/—_+Yfݻt~pJfzcE+2~ݖ,MAId%-Qpl :IZZ HL"/M&uT8e4iG 2U,9YhA4U[v`+;9@fΗ ,0<&M(-mc"soqtȯD4i4p3!L4$dcYivr%T WU\wRŇc yXW}qh $WjAvģp׈C,2WhJ &F_ir8TdsJxC hr}b2 śA6f"NMXc1yUZ D31{:\DВl.zp g22Ēy{hcĀdHMd&_qt1b eq-Nbroأyzr"̔ƳY5!! 712rT:׋NƐ܈+)Ո@+؝ɥ!#w /AfJ[369ơ_TS:)d^y@{F_dZ1XК}I@%S(:#/<$) |f@ڐ]3m|hdytW/|Ou|LggiKC^5i}#W@x1Җm|Ƿ/~ͅ`t-m|(i~G9_-oy [Z|ߘꎌLQ}]>$e 3Y -hz'ܵ rgmQiZi {h펏Nz5c*h_Lk@Wﯤ|VEsx@.koۏItY BbQGM}Η#4W!qyHtyhͺ5@-V߇V%$O#ViR(B5~=Z.mHHK^ .2he5/B6דc =*xt؈|}  >}}=VG`-<ϠErL,iP63 HAMk-L5E@,u"ZkTtp(&a"j ?XR9j1I(!8P,~z ϡhFls&,$6鲜~Gu`M򯗂6 ㅧǡ8_͚5ƖT.CP 'ӓƒޜ)zFH2ڠ |am4@.CNO0^.Xn)z Dxp7%KН>-g`4jnWWݑ3SEOV|ӈ_j ˕SeKwcE}C(ӦVР֎@Zk9^kWD>u"L(FSI@۫uGdϢA]amyla\D`qn[O&zSRrV, u)66&9׽y2Am{(vcrᕟ(*B:VA`K( S@X5Z ʢNj u["襉`QqtYFdQZbY 45-ŇEzz̐D6pKT(-;և Wb@XAC pwN!/vŽnRZB}Fh/֎C#@)7&/*-٢ JM@M5Y^ m3*25 _:lTCh:h7fTrf@lvPF$o{Am"#*zk`/4n}o R=΃>b77 #<#V/nX0>b6 #<#/xhX0̾M=b05  ,Ut #c;BH7{MBObAŰv; *lؑXO1$FzaiHu5ĂIW3:?N-%^ͦ_T;9+Ճ.NV$e?TfU=]l$XLNFxA3&CDw˨FeYVF-ZiH3Nm }ZXƣ6:1n"961؂YNe): mScN$6`r/ws@JiJ\/w;'w^u6Q>N>B˰HRliE9xH[{mvN1ĐcSLYv7\^K]Sy-I;9ovNch“fD+s\=Joh݌pN](9 %(v.ۋӌX;r)1\wH\zKH^ XzD- cumy N,yX<xavo)p9 $'LRXY.]"_\X,R&FJ.?co F3[]~C'uZϿ"{4qed>0pt yOd: V"y@N$,fPL6q42IdH.nT2i%FCS-Ѭ9.Z֍n}`ze~H"0Iٍs< ,Bċ@ odx!sVS"[6@b|S Mi"{-)[:L 5䛘# B!` y"bH1HEfC^9@*2XXJ3!HaCZ9A3!RӸW -h0HGC^7|ZnHwO@>K&'DAp ޕPq^t kj%V/.Zw—G|ywZ3?=ONFXb|i={Hl*ǏH_~ :~zxXOW?{ [+z:ƃq=/g|3C߃;='QR=}~KteB2aמ>y*_DH~Gk>=|GJ_ǧOߔ_z|WEؐ}˗_,;c/e+?| @hxxZ?=.n|r=Ǐ߶hZ4 }KZme[u xTu%1. zaؼ@>X8u+8!_Ut0>o0_LR gWQԊ07XAt}+~?h~-|0󷥈r[lxkHxқ|^[U Vi<R M. )\˙aV؂W-CAe^j u>iX:VBی.or#Ak<4z*I8W2۫;t-l!Ewٚ".+FE= VHֹH4:dʵcl-֜±YԢphX$;V4YlmUFUyb)x*e[[jk;7ݚk+W+i]@ ֹvH#κA>zZJy2RT˥ ȹ-9CnJHW'4 &t* t]pzjDg{Ԓܗu!ŔQ l'ܗ%DF)`ݗY~Xz)g_JI<`zÂnskjKĆt};%)L&hyoP'\b{VS l\Pۭ|@D+ HCu thLy&Xjη7Kmn4O#ZCZ}m@u;'q,dE_q^0"+I,Bs:]COZhtd10%Z0;kN= JLq&;$K -օrչ+t7tl]=v Ua[ V1B-dLtfk`"Sەo70QJn%zd82kEdnW)M/XmLF 85Jh+}LocMzM## iX FE2L7^BHk{MEmtܯ)i%H6 ZKıh)}8㕙tdo`Mpդ_M5K_4'v8<й49GsbUDy?BY8c< ty9*Y5Qos,R9 n{R*4\N^g@'봽8_(}u=ti(vZqd,J"^]u7o[i.mj/i2mI#J/X`m]{qt[@i'gRm2򺗋BjwG2V  A:?J.*&Y[qN)n+=6`X 26'ĥiŚ2mA} Aʚ4vMۉۿ-iBQC>L=ynM$q=Q7mH2p)n,X1#̱vq#Adz \G1E۱Vm;8\6r=Yko;G.ʓ v$W\ C+IJ@l ̞ڑz|SM5Q_&w$=)~hɝ8IO3K 4Yx=K߄|#ERoL!.orMӍur:!mb<4:S&Tj{32{-҆Ѭ;l̀ pn62{ Rq nj*8y4tԷERxfڠ(PVuwǛ#@y\6!eqf-bX.}%nM0!c۶w݁e#-WSvId%GE óUJV9 ?X*[:1heoIi`+k&P7fpTE𘋭~ ORugt3i!Ģժ p߅2z0Iơٹq=1dfưnԁ=CK5)Jw\,$A#r]:Kȗ,=Oh KɔjulmDAr}M~ ݼ&؉/QLvZFV(OxK?"$+lҐQnڳHͶ>E!Xs:>\(t)i9"ubh64^,DU'!jvZS䱫,;u֚7Q;fY6H1#Ɠbn q?V.sr4Պ\c(eQ9ve8AC9rq?ݕ%򶃬@sJ_:]t<]uO,۟>w!P}lT5\e %3Ў@Է!䲱CPR*Pvѫjc}U\)qێTHڊk-rqè =.lKh3\B L7> &ծƳ(7$mO5T]Лaf2NEK |EhG!&mЦ4&yWL>}bRX!9/&0+Yu$_?z10+T^ŐAzRFR3L=%"Qy8iueQm߂ȥKW_5jI6 D.XS~ro7f~KR՚tϨ߷ ˉӵGx%_+N-mc9Y(utXZDNMi(/-8=>< qVmް%V^j-^Zfԅl)=-/_u J}S !֐N k S*Qꏫ"t tBtuyR]$K^EYvEYjdBj :=0HPϏ9Ma[1]&ĽD8pд)ШеosaYICG yEK>(B&f,3BuՂV"}*R>di9r!ɣ 8{Q $M,G@׉iPhp =uyس#•׌qnXHzI i\w'zj:N^ qFU#ڕI-}ÚُQO5LdyW81C6L荦B#5mk^.HQVsɂRp"9j  [KxP8jR #Q>!X33[؀,H-cETR%ay.U eڦ 4%f/dϸK8!1$ɐE^vjTaAArŒCR]X0Vۂ6膼>̼I&yIO(ǡCDSIQ,pFw݈ɔߪ!%elvR>xi<8 1G͔5I'!r`oZ!(TVujk먤b-'>L\*M:MV6Yx)'e0Un[űTz^J,9ZyYzhX5Q*n&]W֨b ς+URV%  Cw {8D7]sSoYV臆Gp[HG׏ EDz`wGp[5 N33Ë VjܓQN.E!۶61r0RR/@ZdvυZM㙛b=2):XIoRVV3]];}NO@D8_%#i-INƀ= &Xx>gej2f>M–pLs"\FDB uApO!ҡHAєD؈d%4,P/OW lƜ'wCK j'mc)Sxhv 6A1Pz{YfMIX$њNYV$ˤ ԁL^7e"X//#)!tAtCMnRu|AGӹr" yy3{P~G|)!-kNI)ҡR Z)ҡyy^tgI`}~GOɣ)uԱ9X`FuhGOi%gQv4ЎRFo^53)p7m_Y`M|e*\ԡ2Y#i7 ʾMYhv3=k=Я39AiZ1͔a+װ3= Swp Ei~'f6'H{8&\'+Js b ]ͪ{O[є 9}Pɉ=jYwZw5iqdʦݽیjowD Jϲj}{kɲ=EX1XTI 9V?U-TSŘ jFOrjnO.墈CW).C?ef|3:CG-ze8PrJJ{L78i嘒Dk^O=aJl{:_JK'lD 䶇_l0q[ ےhW+yqf$v/48ov7BkzU/! ExR 4=t(e.Jrzc#'lLc3l7ܧ-X)!-1c>tpJN]=nh'@|3&H5bak`4:&ky-j\Sr%gGχ甸R32op>oFM3~c&Ioyga}fD71 fn6̝Lyz0 ӣK P-҂8N1 cqcniAhG +\M׿G"i|`InF~H)EG 777IٽԌ[.3fāz$N 3_ҵD^r؟Sخ''9s ےmSnlA ȤwM2'#etc2IyISp b@= ot*O)nvډ,sb?8њډũ$e?CcJpA G[rF-Xܘ[=vd2-{9 , E>bK ^&Q|-Y۩ChW:)ErNWoUf|(tM$v_.lC"cF$j5" 3qĀf\R}MХX`oQdW-BO G!sjEfDP|*$1gJrIVF:!$紿TۏJM'6vqf[V腻 <)D@u.(&nv`S-b6?eĀpphiH ?2Lxa ֪ii`J @w?6c~(mLL/ A7?6$Fڐ5^6 EC3xAظe/lLi)a m\0tqEAp7`2/W D{rA~]E^=~rz1a f\0+ f1JH/HC|1|JG/Lj) m ^ ) m CR &<@)O4(1 ,;Rpls4D+cNw3hJ? ){v1 fCEc@&b? ;*{wJ5c$e3ͨ;ԅb6I}ʧoiO뿦 Cm}zTӹNvTgcΟ~ _>|C?<.?fww▆K˒)]skr^ۇهpC@)$۟[iDޖڟ@KGc{V7 ӤJ0]IOXJ|,ZLIdzE}><-ҟ|[|U_5q 4}(9!kJq/eDuK=:D^=-b_& MjG}8zvx7iJh5OXJ{ 5Ϩ8_>kn_UQ/a*l(Jm[պ1vd'g9 m TѨƣ yplh|+::c޿GN[6)Ԧu3~EaUc'*zCV鬊u:83E3';0_u 'B3pxVJlwn͗A}kwT4nۀ6=b04(Pg45WeS]@/9ʧV)j'j/V66UiP:< jg ʾo_]-ڮdnc9Ymmi4Ծ5+:Mt|q#s%#seݒ"JQcv p~\SOw!UyVd VȢ{G &ўmPXq܀LN6YHP7bL6AIb╘ѩ9ts6Con*u59`{-)lf¿@ (o BtUhQJ55iyVlmcY|˓EoZuI zEIka F5LKzԼ؋[Ěd%y!N ҙ]0[w eҏqX1]uISř9:^tIDZ,X\Rq`aU镼JTǔcX@"mWz` (2k´AmJ=&II8]kFs!7S{>M%jo|:4|"<Ro򲿪TAD VbPG ""pTM MofRlQ4xz=T<9fpPLMA=O60 mhOX1hoץK~/M[K"58 X\P*`q;dBQ塢S C}f뛶7!fb.ЌMmCj˛)PA^CE2#8FoX9GQ({9mv$Gv|u~`~yln !>7@<ن`Cп;VVEdLF4I {ػ+l0gG(f~0hU94e .^Ԋ^]7:{Ǽ|yY4ȡq6q-X=s]l~u]zyUIK-}K~__4d@M0ǀ&l?\ [sPn ~.C1>œJcNq̭FSfG+nj[09=ˡKvD:YG9~%ɉ$eCF֤.uDsz=ˡ;^Qٜ_kf5:4%"q>D8 V=(xJK!.t=Gay`l"'Od-lYT?_hTYim"8OQ~I٦>Ot`pQ1#?[K2[7'Vܞu^xW^R e5e1NaW07^/Y},uv OCozacv{ jNiRqbe]ctPL ӛʸN,Cx95nO@ iNY:8%)kGRK[yo,3p)Ia<6d;/ Cs3w\TagwPbTq~hG[.69ѿ"'mQk´쫦j'޹ FI].+VDd$b889~1XC>|t\ I> ּX7uґ?!2LĤTU\DOϨ"T)IN9˙i͹vSzu5Mk:zt֊<}$A)Xȡ:75(4AwegQixKUyn49.JfO.E#g5{mӼj$-"VB38?~ԜX71w9RDr{ƳIH\xޝ| XNu9t2.Fʉ'gXA78:vbqK+n1dr'^NIj;c Hi(M'U3Lh u*"Ӌ0CkJ&(/7a`q.hǵ|zerU~4. X}(gn7|]I7(м8&襖0URŕqD3Z=kz @~9%.&E &Cۙj )8b:@Ga`kaF-6JeN7G@6'jUqa,0F"'l,͞1ߊWo]픉:QO'ؕz?/=>  ˩O]y V]j,".Xi320pR =;Na"~t"eн&<))GOm&ۃ@RoͫK|,PD ~R2x)f؎j CTP.9j`'aV*L KhSwK8Dq)"M# 0[b@"z{ ZfaJafGL.i/IDD>A!gSg  s$7BWˈ*؁rа.̯͗=HV{v5 nyzC|"gCTotiAw1c0Y:Q1tvS#)6x=vKxd諯c1dvjiu_|ĉKJ%XP\ky9,MsG>҆-|sRosjIZ %"Mb OgG@*. R !l  /@NMҕ)!3zğ516.14ZX73((samt-&D[Q%r" cB+]ΠV^#/ |оAVjHM^Ph;uJl\1]bJELQ)T"M;6@C- ?{'ZԖՄZk-FZ.nÐ,WSzvor?WJGhVH|*ߔwWEA}W e@}-dYKsnmI١{uW Ez1>'9VlLs˔Fty4̩ohE,GnV".r $s&_ Q`QDj8̦'N3Cea>7dh:87 9KS@DZ8W(ĴtJ :M/fc˜ykm, 'nWmlvDU6 #re%y`(d~PP BIWzA+%@Yg+U` {=c[ K8S75LnQxEWcN GarXSv9.llZøP[K#U ,4=lʸVIڟF)!K4y3%s`&SB NN%Ѩd0njLF4ӱ<=?0TS@crt|gUh]qUoL-n& d5ƐWÏc p$)IuM5,'s&p ݌?8zh~DYJ^2 [Y5 ڀr>~yҏIC ̼"vt~P(VdjycrcoF-yؿ|C)DJG wy) kߛHxs0m8}LoIŇL|x_ &wJI.p$%$%FgL ȕ^#:/m{${mEYIr^O?G'{{Og&>[d03jƵgZԳ &q<1HTm##o/ݭȐ7]kGA<[-[;sgΚ_<̌. }!얣N GaRrF UrS4'҂9-.iAꜿ:oNz?hN>΀>~):;OvP :]zZAL{WЍ1nʬj!pٷ<rG=6{1xHѦ d&촖Q2/*YfXl-(G~Uu@_6Zunaw4/pay^ +m]wyA!W#)cL@֗qawW-^0,zu Of*>?aTt#Q A yetO*9Lij,Ģpσ2էk=#+v{z4* %đjIiȖxX ܋ 츟$. rfѱ,ghTΞ_"p4C>^g^}T(Skqo+=P,ҨPv/%xq5%Uݫ92=%nJoϵNz/tx_y{g-hm-`۬'bFθ;Bq1wBႋAO]АUř$[ŘX$Ϝ sD^ c?O5k@-``59:L/uh\#%8>^M}FYNMp] 9g]A圉dk)59^ J*^P)hC0N߳rǷOG~&<;C:lLߘ==ޜ^Xwx~38`X$iWkn@ht*Ocڐ7sy5Ȝ@EvSzw{%1@Kh.*tM&_lW .sծ9()U8iS==4E/J8f(Uΰ+寥BDMo m.ki#u miܥf|rBg:vnsUB']rMsL,G8o9PR/*6EiܔU˲D"gzSNqxDo\.}&4_ 2rwaq*~iw X.KD.[ +s &\as+? $) Bf -}9Yc.{ 5Qŝ毶55< p.Cov4(1bHϣlĕ&SɘznyIХgC@Nw?>旨R}6,a@lk=Is`1"y)6C T|n r㴕]ƶ'}E[}i7{ƶ^d™>qKɼAacUI"g|4KsI#9a3?ko _H|U~_ \_g@R_8qֵKW^{=lSTR>;Nd g FZ{кust Qf0d(*OV_4l|ʬ:\C(*o5y䱃{մ"Uq_6f7 Y.E2*ea|[9]f1{Qi?wk%&{5fttM \t fp^e2 &Zɵj: \`Rۡؤj|Y6d7B'2)Wh:$T y Kh_~GyNGh R[b#`H(AbF(-v V:\fi$ As>Jf9.vE[Q%3C#=.{:bT9s`r2H^YO!0BZAT1Q F=! xJ:mr4ʙ{Z`q5Ɠκu.D9QHp?0r=<bp7 =CPƂQ\ `|knX9*Z``S ‚ "3 B:zf)pkc iIЁmЁmK#lƖGҒ) 0!&wHvtGu#23* 9Fd˷2:xiNFƢg0+ + ;tc>PԢkFVư/ 8H{aq(aYlsH/e> ōHst MD%jRW#3$#_bIu36beD*b;C!eؔZ]&IYAbw=8n7'ZŧNUn Wnp3E>ѩnLD%H9tKm~yzg e}uH:w '=J?}?&h1vH{s [yWl;?n?{!H|`_>69ط=܁w5x_yC)-A*2߅r0m0M%C%DRRːʧ*!̹'vl 4x9RY rÂ{cW'm v^đ(gt;3+#67cyfp\tCֳ 1XF(? 'ZP(1b]+ry?:5^@gh:<~[ݡ/qԿC,z\29pn;`lm6qX:twKI.@gSxɢ z[zhaU&Ue wx_q8zW".9oLVC_Nm57U ĹaҁR %. -ge5QؚJOs rž>g|NkR%Me:V%A#el(r^:Yҵ;d3G&5:p8 kYҵp)0(K2uh0bx־YNQ8KVܿ;L4ꋱXI힗Kag_ rb4:+;S?c+1Cgl Iyk F$3D($[;&$I'&q== ޛ;4OJ+%$p”:,C{t$mMvt+t`v;;f'iF .ZQFb,9 Q#1)aI\X%z!/X/?fq!`ޫ"{BI"Rpyuqxt33om+V:Xq3M3ݙ-b[qەdM}N:œЧ' MTUH+K1jq#ٍr>]Z:R+{ͧ9(ma>|Xyii4!.NB*QǂfbDW|;'7ii4A{eK?DZ}gګAN;$9V&͝H SGVNҜ6Oڱz i#yI`,E@|ڭP:_Y}]B`Br8i^u35 딟p)FD@}K'aw}0k/_`~:iM)JHoWKO aUAr m>>vl'6oMΨQ9/Cxrafex!MUMվ%j9z}e|;wmq:Ƹwd7i)s˾n0]UT48`ەwDA\?-PY-W i|; ,>Az(giE):6PSfbiH$Z!AYQG3No\`/ u9$ǻ껲#\<s].=3`s0KbEJ>YZ=`JouZӔ޺bgEZ{&ascҤwROr-~xwɠYtƳ ӂ;>Wbb:#7)Hdˉ,멅p n<t6y[)͔ZZ35"#g˕2;[lKpd6ૺ0h-Zysvb3ٟ r?Ғ-(@NO} ЩPmTpiR:N10r}߼/C6Ġ10ݗ>Pv1"z OE!~$W[TH ˟Y0KF,_TKQw}LTLFYt>b Co7 LKba&ަR\ܪPs# G46חRBoByP} <Ry69&CPcqG(1dK̜ٴ>#m߁4pb |![ 4˫9ͨI1Jm)8'vd[72)wV-IBsE'!֠)c: DǙp"J] 7`Mip&;d̽M~ Jh i&M D^EG_MaGߦKͣ!oӶѠiRhT;Zn6g\hu5V`qG0. d[Х$l}[?AC|FG[9ɩ['/yVsծ9yn6O٭4V);pK(PNRcG;jxr.'e ۨO5pҨ0UIEUfƋRRHX~™᢬-y/`h;_.X@)s34 z\4g"ݪʬ2 VGm[$zY܇zl4Nv4` t3c,P2*9R،FAR`V`YE2ƀa 6[ήg1Wʇՠ! s!sR41o zk0 dq&מ@@5O:,S)EOƆnH2M̢V/IEvq30WmDi#F' s¼B(DP+I/_XW)$F<+dޞh^h$5IS}j!kѹ~PmHK.pcPv">n;#3kw² 9U^UM:F5YաJۋBU TY3tH9ɹJ.P\E璆p3R.ЗB ݮ}f{:FĔx s li)./`% q\C-Ek83Yq`[@]Z(gn.wlB6i?<]"/Ec6c9oԶaq+y}>pn:jvn9/tLasy#x/ msYi\j@!bY`Lɭ]&q :a^f4|!}:a^震M:a^~ΛuO{_=pû B(=` R_׿?_yMW/C?oB1ҏl/`__(B}>ؕ/wloh{ۿH&%[7q{/׍]nq/ y1WME \P*DYh|;O$A|HBJC?SjS qZYnBNJޤ/?.P==儽?sOF Hb@a`%b0y-&dw"X] foZ@Wd-@2%`ӶB;~bM@ˋ \ dap ҮuPc)ޠ}[ Ma Pz]yIJLh[pU-/ 3"*ZX1mjod8L}_b||Dim AIC}1m~PD՞Hi=Y,v>iC14 $GKVC':dnp[q5WFҩ7q&&:͚ݰ<)g>*gڢ}W.'j`x3.FvI{9e0xGЗ&g|&J3I1@yrmsVЙ">ga~6B7&xp̀|?6 ^feJ <YxBN`!Ƞ`_.M[h8jb28 9_H|J<?X[k_P6y[L7~u jJuWn|ܯ聟.B̎MCK.sB z֗kM;A󑥏=R8C ;wNL`tFh 96 0\гEF҅@ =l%9Fִ7&y-#֪tQˆWrw -ѨX(==Pt #О ÔA{ti}a4@Hg=fo#:ZZϤXHN{$EuJE3a1r&|4(t.%V rֳϛj Y:arw^k'!''S:(Wc$Ó*BkgBv0[Qxtt}]|b:/n11 !mg&\^Q|apEH{??%<~˓)'B]oGl{,bɾ3idua6V⁕j*r*;ʓ ح|A+ g.ٹ x҇C ^ss=n"#C 7NڇrÔ;%UCZ+?fIrԦ'Tʤvhk-比 ]icqm$LefȥCpI^+`#lKYb&CZReOs(pρ4q\04ۤ2iɩ; C@&)A.ɣKd~ǶBʌ" 5\Rr0g b쫡]-s[QO/s٫׫XAP^pș#DGUwEv ҟF:;;P0D_6iHKn_T|'_ &bP/pQ Ö]*d,S:^?F.*)C7(ݷ-L E,;,ʾj@+dA"3򣈟ʲ asuw qBיBVފuܣ ( n ?oLS-5 UF;(q vPĥicG'pFm&q^UPt=iU)Hm"ǥ2GQL0$b")+tC+rJhU(gQi/imkfCD *5D%+ׇ+!*PJSG9g<-zNjr* `HrG9t+gcz%9o5[c :Nag/y>0m!F]G]ͫP{9;*ܟ%|H-á$%7HCp[S}<*g%I*wPծ]Z9nڪ qBb˱{ul'rV'E6#7Sl[xąQ^Z!PMrNgЫĢnO z1&%jSd"e۶%Uzkw3G`)r͚9KhL j)]L!qbR5[  k.8P@9IӸYY[V-NrO".xR ;rvS"Q@5wqe#qeYPr2dz 9v1^,rP9BHb6V&9#>)rmwII#NbFD^-lnq8|ML ܦCd6imS6E=Jʭi ;9g7L%1Eɤ,煤Sܬ".} <঺/%qͺF&9/B>Jr:;5Gr^G+ H'bF&;GC rNxcE ijWZC.iSA"'ce ?߱a^*аQ WnHnFv9'G~Vq=d{skы^RG9s|"P<&%iQ ڃAYݪ|~7r)0%/ŤN3!9Ol\HlEqvd_rBKB@DԈt9Q|F́F}Sf70ɠ1`uV8Fΐ=!-`l*g Aq \oϡp֦墻$q8.ôjNLrF_JІ Gµ"l\[nAδ@&M[iι*/tq fQA/j1Cb%!`b>̳cr:sj~|x#0Í3Y=Sܩtq=ӎOi^uD(*qA4D()1? ~E%Ҧ44JB>׬B>׬B6׬Bќk HCĂ"2^R@\v$&6KU̽oxȷj BbNȴ %%9Ä*c XD$y3(Q䠙dF jQġd.n1HU]HQjlU'4Ĝ(QaF߲ZJ )ɀ%.6M-r,{1hϨ-s/"Pc^LE1IFr@LQ6$Dk#tw=?{AG-x7mTC6&Dt1g A#-۝q(#{YΓT1XzL>M2W}ZNkZKO)85Bv+_]dD+9`Dtbܨ@9#r2 x [*/2AEN\ZqaATTOP< Hnfr-tjЧjnȱKi;",XW݄ KeךQ$L*$Ǐ1m%vIN{$9/s/??nO??3;oݿ?w??Ϡ=?Oֽy66@M'_:2Ǐ7~lO?mlFǿA?.데dmkBSx] 0s5|6I[lU! ˾R̷c$ՠ=Jj>`GmMɇ\K lj!8C@@X5<;3;@1 N)n.B-Pt:F 6Y2*Ix\űŅp4kR.'t"bCqO]K^x_*mkBTx}+$+nʔiSL")HdJ,DbH$T3;;W֊z]@&-Y>\yنytc u/$р_ ݈vvvͅUJ@4ZaE6HxV:F6Q>KSy.&{<}Ad:KN?2 n37,OMEN#HF`?- j!j {r+%Aqh $S@%%|9`ƅ}6.?jU 7KBC_{-׮8`Se[ lhF-*,?nt WTe\ÚMOsf^|ŝ}Em ;GFn^Kb[dAݜҥy_g:=h5=#*|3z¡F#$̣[^Y EO)ـ~Iȑ8  Ľ&C}24 L >bXXFkhFWI. -h-yU`F m<}hRvTf}|dT@OP\I' 0%U-b2֓yxd^ƣcAēwP)Xͣ KZQX!+}~CX@- >9Fwx+$@>,#Xٵ1vQ5%tᑄJ#5̖3S=R e[OjRgfM߉ZpE9%辴tc⏥R1. p8Ywh;w@^tug.XHT^?2!+tU#_:{*!nygn:@ Zgpwp٧P栢=ԇ|Utl7~䙔@0 +h%\'̊!Lu`tp/߹÷0!:lH- gA ^Z1KO_<*•G}|;n'e}*#(4hB9Th玡NŶ@%fĠpo9,vrdԬ,qcD-7= 7V >v`f1B+?`ؕ?ջ+yKV"o6TpŚUk}"bɍ7!H*3(Tu|jGyŪEe18-BYYdf[L>='4"}\x乢2EOcvxV|MڡBs%ȧԜ?U$g{075պ[=h`Iu7ޡ1t(f\%}R@uPA(@0Mz>n /:{7l6u]~m'3u/OOX-?Jk3pMNVnuS>q$t>NSgِ,yfzkf6{4!ڵ Y̳X?%ţG|j}~H)'FCy6)$.[xgߍJ<MC+QgPX 7~PT֜~5=4WaH]0/qJ!Ѧ?q?+kpB7ޠ">G}W=\&fH0e kƲ]N0Gg45*O xFD ~Pv_u9%|?vǾal*.p,S?5jPt~ۢ4$FMm3\9\fVdٿIuKk+s]h?:iĺ-^pYljkeA ֣;$3~:LH Ip#W,%ebbad{O`eE}9!mB ,ƈyAUkb]Nø ˌD_ˁj5j%u^׸ `O g9cE @=BHMlk@$ ءۖ#iBOOA\zXCR%ˆ6 _loNVL?7\iB#~_l5zq#wRf|{jSKlcԁt*=LfLQJ_Ke[LE(EU0"R4hbR |;i@fT,}X?GBP7A#Hk2dwըU¢ {3eKxŨ!tϼѝ;ZهMK+2S:¾m:ʋT,شt|H>(;:HfT+_oG=3fLál,0K@I rHmD-Kɵ""7@8bRz=Dmc CF_ŀT-DM2_=Wl@F䴦"%b||+h Un+z`Dv~_ClO$>Y Bcyg |rp]o:8khۘM埁/W^ֆE^ls wfY~(cUSM6:-=j0y-AgЀNN2g$>+y| GA]cپ6m n5v{y4y:l<5y7/CBqP!L||R۝I׷Iw|X\Zꑽܳuu}1c%(Hh!!&>{Ny! BC~{ Uz-b i>hTN./hY}_sPp͠ '.D1bԿoK'mCn0H]_ _&kdx3{G!~KdlfPej9dm5Zq[nJ;#:u|CC-y Oo!N獼7;tYW[kcd [@P {q7wΎd'>{*QVؿMAN: Zl]ѓ䯹c[}: pz$1 U(rtH):=)_]2{xlu:0'Y0v~p %Nj #o^'X՜T¯-d'dT{voƧ߇&9ގlOz|lxq!leP>ޓ 4lBޞ}yơ$9Eg/>_Y\j*SCş9Pdo/g_J7wG`fע4>*04yWĉ &oD93mϻL}5Čގv$OEA0h61s_ qhL`Iw^%M2g 0=f_v fM7R;IEJQ04Ys N[4HWR99s_;o@O7 @s21FQyhm`:o_ π7:zAE^,έx!{>!7r#{77;"{&/0WßﳠA[yυmk}ݲC,NZ M9@`CtD"<p& ^K_J}GR}/ +-khO.ЙZ"W 83;&_ EKًH|!GCVyhKj-үP~Z̚lpyN7;aACNh }p*}FZM8oMGeh ŕW&;0ܕ +$Dz sD %0x/{gݷB#cpD˵#e"K/) !Y#̓Dlg4b>EM3T (9&p~-'GɑlY[?E.`ހM Evn4s<{nҟ4z3ƿM(p4x։m |&x%Z@({~N1qy8FPjDo6SXyhr :JgǾfN&b7Ԋ{dK<ڜw#sںN}xU~Mf_ 244yYhtvш̪>Qc8{Y oߛ|u߄6W(-ߺȍ# n֚MPj] Mp# y}XK sSU>q݁(yug5s3q !{;ߓ"4dG _4>7IH4(.#B ؜cz (#}%şnMC- }|[ϸ%6Pe>4RQoZ ]r;^@UofJ_nnaL3RlP?yרfchRr$R΄"rKG,-cJ铞\ੂJq{} y+wܥMYaq$xH{h2؂H!XG-Cz+Ng÷M#Y#dnrjE!ٯ.Th";vv ׏I42'ZJFBѳ$.2n;ӹtw=xt劉f>W:m+zl<Q CsBL@G1RB9zBG/u9߱\!p"Mj} ӆr)nST&t`&YfpKOm5oI~6;6h'!aG^drE% v <R1%/LPskK\wIΌ\ӀxI7Jb(i(H<'ߟ-Ԥ)ycNŚ:V J>̛jATg /d^YOCrG:ic;CʀW4' hJ7_sQL3!Mۯ6Ky{⼲q 7x˼`[(sk349bx7|q T zըH?-m䙄3ΐ{K@lg)ݺ@ RtiMd\zK.(\rZȞqp~M`d6 /wOd`.HyEϼ zd&<ʉdd9}hR^օ=W"3D_=,!l,ŏq?E?BІ^^c] J*סIq+\bjō 0}6?t6Gл̂:?s%V/Df= ~4_ M=? uA? L`R.[ B:RZ^A)D(ϼRSJu!lꟆ&/Λ cM}[cXaDe(_Lz"oHqcTxwt]8a S!BɄL}XJ" Y[8—>;r xDv؅7Q/b .=_U$?&Y ]X>e F€"UE,hi#z@7Hzc/x27m0"f\0Ѓ>#au Mb5s$Tvb18#{c4+Ώѭ _'2Eeoߟe-2$i%  MrNMAN.9$Dayj~\l;]?B~^Ng~5/Bmu%hk^BiJʵ+w @F!M*yg_8,|:ֆmWàc 3FGu~2'uF=!"ct8/ZԸruڐGtXCg5ZbKZbb[^V ٤)E=+!KΔ\C50!xV~&,~"1>ύ^/kdCmBb4 rQ"x D!W'ܻ}QΏy"Bx|31H.Ͷ2!qb̬?M!?q9><-lW]M}m5NgO4Z{m݅o #CÇM] 2h2_AG@nn*I J<&ߟ Jk`:1Ϩ#{D+B2y\i1^_E1lAbBAnE FX0>>H1'H$K[~ l5n}*jV9/@>RL.$?m>EN$D'~.%8yFc`}{C;+@03Ft̋g; $O)O:f |"""yAБlDk#/{φ7$Ő; Žz ,^rp"~}5C|pKAyɼ"7zq%{SJ{.̥܅ؔNICC!nVzСÒ+e1f(G -/3h)I=қUbPxF?M;YͶTj^zWyr>&5zRnqO÷ My}vP/vFZ4Z#GqES:/]`<{f#y3lfT9FG Oy6uB%|@uf~3˙@}XSwx$"Q}S!T AHP!.Eev_\κ7+miy4qv0‰jdž?+o^+-Y>VH?uhR?wX[ЦKZ$'͡WF E c[`P[Џ q\_]R +zZQ>3jQÉ(cF̬BYB-yFvrQYc? PCt8|];_ svXV +P٭o)1[H>fo]HL@c9w ttW#0*-ZDx}n;,^y{Rn] *j^D;b0 7 63&7*}QxoɶR^dte3a(ԍʛ?ߚW♰\#zz>% T,ȦRkYp\V$PUઐuAXcg{ .uU69WDԶ,|=?_xb}N@;|P%})A?zR!@@P?t@Jy1P{mS̔eYZ^w^1*| ֊9L'd !P'hKh70b:lf'bYykxDm1mx*|u'8B@(čbJJc~0y7ŏz #9{khA׿Y&Y7NU6S@cFLRz}n@*&d^O?bF4k@~O~'?O~'?O~'?O~'?O~'?O~'?O~'?O~'?O~'?O~'?O~'?O~'?O~'?O~'?O~'?O~'?YMw@WqmkBTPx Ȁ(MHU߭sgzfNUmYn4 `0 `0 `0 `0~zo[?>;Pzx>7.|ի] ޽{>V)C߿=zҷ4۷oߢO\ |WG}K׫tW:/}Wm8Ç|tpO=ȏy\zSo߾sQї JוWOIׯ˶I&x}:+Ym鲸oݫNҕ~ݐA6_:StsTˬ:H۩u!=_Н9`s%+@.]2ns?Xf#mUwD]_VD# #{m l:ӟ#},%L?ȈKoޏ۪-=-0^磼QJr;#=^gɮ7"q8ڗ92(ȁ΃2S1mVw˿OON4 ۹,tV폜v_q^F#[-_OwߐSg6l:y%?/e%ֹ.ji*C큾F}nB}vWtWR⼐1JS|Zɸ<H+t9;e:x#w f׫;_çe ?b,zLRGe:yw`0 w{ swsui̻G`]-\l.Y;;K^Ήު-/Ug>G=;^Xa~~3q KUJ^Yn]P Ǚןx,sG yz5-$k2_* G|c^L/E2라g(qYۭb~?t:=N@5P>Q-ҕ_UN޳Pg'V8Wa Q^uzù[ySgo̷iv˞7[,tvs{ p|wd5^l?^q `p)X:t<.<ލG{g`Uױ̳?G\9O|kU5NGA\D[XnXdzxN뀜ptY̽M|?Q-?b[?g~}c:<wV y(Oss#blyboC[buf?J[q*hjwq׌#`ׁS;Gx _::[eG/3ê:] 12{Wel>Ny9U#uK_϶gxc^#to|@վQ>Z o= _;Õ[q;0 `0 `0 `0sŻ%Bs>}{g $>ؙS1«9 []{A2?skeG]UzߧSs*F < sGOi1B\S9|?wg_&ž WOx>|s DmkBTx: R d(H^U}f^vWnϖF#%        i8?~k{Br+ݻy˗/{!w~zAn 3-ylm{_umٻ߿<==^YV_߿Z*vvpV۷>[g۷, JO:ѡ9WSyҵ${]ETS_:Fz_I#t;id):]f]Suz[K\.|%P9ң_V[KT>]\5SRx6pN[KmUQeoLo7xBVr{T. +gs㎓ȡ4fwۻW6+!7tn|KM rSyH$ϕwytKU3kX%n xct^?Ɋe8w-S6[o3l뒾62?}p|`WLyIV+?b$om~5q} =_8˙mvBρK}[Lʟ[9'Yk )/gͯ3טq[3nPP:>w{g|Q#4]>e ך7u{?  fи%cY~- gY1"=/#}hǙ  s+.97^uA|N# T/{|_>.o9/B܋Af7|GñsF}&G;ľ2KugeϜcf=;803?qWr]]_ytKN4F;}M{39 V}qE)\R6pm8Gyf{BWf={ To7O܈ͬyV3+/S  {@FЮpO.\x.g? .8yp/.{ |.;\`   N][7d 'q#{}sg]CVo̾G72ڽf%--: =ާ|]pcpٺ=#o~An֛9/{teg`W.?iwNcYCK0H[{8bzvoaFW"|&h!5׿)H꺯Uف<ʎOc?zp}m0tk!F~' k׀{)g` cя87ދ5gw\PZo2>}qǠK@~>:5F`ē_KSdG'wwe6:W>| x yY܇VԀ??k/Χ뷞碶< 9ok /ؿ ~Tp`7dGyf_tG{^=_Q{ 9G8j|uPr1'kû_v0kd[w~qs?zr)9:O E%۩MaKuG~w OmF蛱 6zW6|NQ|zaO;=>Ƶk_h:y`43e׽Y#1   ^܋[֘Qpnl6~HSuQqK\#:fsl·Nqޮ3չ8@6*c=~N^5 ?"kYyJ;W}Pw:y㼛\q/2y?2Vޑ/#)ϸ^tkk 3bxm_oOVOs]Gk9^~^ϛQG\[:۪Gc.ld\?X9kY]Y-ڿk_!9>g)^'6ȓ9*3]x+:ly}W99+?8+LBis)       `i9>}jg8e)i?|%bY@Y؃At%Y;A(Ry]i RuQ- -կ}2Vq*d} q^y kt2-31G2=!P]px+XOxWF!"hf[xq_Ie%Y;8o=ۗ"^dĆ{=ĕ{îz^!71|5ИwmkBT0xM@aJj: :*(h(!ՋFc'"}(Ǟo<ؽv777iϻw׋#mz\'l䗼~#ǰs{]9'{{_vJ"N[؟ms(kfm^}'ȸXEږx6&i,www}iE~ԏ8'N]]s vuN&1߭ٱSHv|1<Kc=T<ɟx.=:8'Xu{1Ǵ!(HLӟlyxZ͸絖v0u,ӿ[2m;/Z?$MqSH w﹁s22oQ9}6wKogڷcoioh+|r ?ei}_Na9O3Kl=S|20;KϠ$I$I$I?G߹~&߯*㷣xߺ5ZlKN=_-1{ֵw{H|wzz\W_o{f5֢zov1kz$ԛ^F$SǾz,mH> K>96R礳6f_"옱ރ8ې9.S֭P|oһ[z]I5qӬ>[ɧ~]_J%>7~b.kֿ:P1Ǭ;xf)}CSe%fN[{Ƕk1/z֦?{N{~w[>w3ǵ[ `M^bs5xj1/`k1 <ށ?}op(Sfgvi伞S{;r,{qH3>x2/G߱F:OYW=^wlsz6I]Ƶ}O>:*vubog>o14|³UҺ.뻭~?/I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I?=ISϘvmkBTxM#1aJjHt@<t3UP-5PBVH$yZ"}}񌄏OOOG>p8l{V㯯2777Ƿrގ#qtHDR sW2WWW[=+WSz~~b\O&C|:GӹFƒQ2e[v#}븈k;f݌s{y7n=G*7m*s ʤMb`z98ܿ}*Ondsب'%=_󔾏s趈`4S>M^)G۔I9ySs~jjS7ڙ%kn}?or߹}z&Ϝpziպui~[?gǚKs ~vkUjNy~wgPrɹ#gx3.2)3gjH%=78}sg#3/|}O_OyVV5r>%ƨkT~w*m0d/[OȱC]ٻ߫_+)3bկ{{1S5؁J3쿎uƑ9}=jm|~}˞Faf|><#z(kއώyN$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I_K=U|mkBTx1 1 Al! AHsp3͵'m7d۪=ˆsk?@IDATx{x7G2 &1*&uZw"?%lۻ@hڶ +rpnW< ] \[V`m([ZM$Lc2CLN$"|>ǒT iHd WKR IڶՒ{KK[9pu$ɖHm_Y@}Fc%$EI;t `x6k /@Z7 Wx6\${tLkP1">.QD?6VYKmnY>[61@B"%öWQ~sbNSsGlMZEӦg+gRj?K˴A:9GHȎwtO6S.ȠVmG:m[?o֘"nt;SyU%+JKHk]G';fۺ=k$wh/ugǩf(ny*,zA3rrƫNWiÔ|=S{zxatͿ}ڤn}:)-ЁC'ڮ]wm$H[^k$ϧ+7']{}G99Us&Ib#,K?꣣t ͙ʏYr9zW ܥ%ūu| 4#rx6RHt߷O~ p~0ޭzNGE 蓓͊эсC'dҞ eNNtOҞʠk|Tay!)Shǎ۳?ݿёnۧMj)8׺N۪?#"BDG:l[vB]ʜnIch3T^^򻼼 0C/y5?zG)iMשz=9֩ 1QQdΞ*tX{b,KQ<4$ZJ }wAX{[tVZe?x\m&D鎄QfG%˷1֥FEhk[|WOҵQkD/б#7oެ;wZ͛7<&??D \Ywm:٥XRv|?.}xFEX\\$iۡq-mϽ;uMT^g !\>腸Հ sn$3WUU<` \ wtiMG5jaۊ,Ԫ+7aT-TKʏh;biKG;{t[(:aCbCC%56$cƌQiiiL2OoPL'9U֩3Tީf4*:Agd>Imәs$i/WiIjHs4rxH,((Puu7z͛7T ƴ)S<+--ModAjll ymۭRi͚5a!Tewah"߱?2:2BKSo֊ x $'Sǫn[:gm뿽*tW+7'=%p]Ok=&\31<QUUvb^^^S+++kH ]rA]/bZZU\\ڵk_%*7<^ݖ% ӨKӎ.PL|,m/'8.%9I=4Ku]zwDcDBb~~~)TZ?Ip#|*{ ~Ա{.rYh8vi&}ڴif߿?lP dŗ刕$B}Yr&cW(7'C]|FsFPsJ'",=mn~N-~kߙ3ݶ~:0aʕ+-Yf1R7}t}3 ;¶cYVC+W p#YYY*)--?q>[nOkJ.Fitdώ߲K\NVtWvhY%m$8tBNRS0RPbT~zk kH,))ڵkC~?… ^]P­sA#F͛8>\@~-2s/=.F1jlVa SVc뵼x$if^v*HN D%8b^}[d68|BRa ϪWw%I=&~ tsyy-Z򻴴~*=WDŽ4ɾz$bh.]]ݚHtx$ijϾ %O_>;M4N?y}Ijm7>7 yNϞ_YHDp˶A57vNZ*l,)) [2QSFBdeeH3fyPzUnj[ۖ GGO'iJrjj낊R`xjշʵ@0=:piBb *ܔuCC׾bPz7,)lu/LpK/5h[ninpvᘞx ݞ5Q3oQlϞ_Mw*$*|9C=$x_-2iL"={8Ci}>-tk%􇴾 Z*PTfeeeKJJ)*-Z(G-PҦꎍwjq:qY8ݙ-Izr%8b,6!񉁟Ol{G4,ْ~m/a)Bғc]|}5)нqn[;v3.]Ta߹U-** ˾YxJJJohh['puض~qګҦV8VK(mI-ʜ8/e?8|BS&Ӹk,V~JEY;2B7FkTDn-m!ْ/5ֻ#K{Gj[{YҀb=///;bZZ6mZD.ttifn}󗊏 ^wm>I@ղ_]rFSzdvQo>o\;rDZkHwP%//O׎;ϦMVvX7] ]PϵiӦA_III;g]|Aw >pD}9CU)f))d~:qYmwiӔ99MYwzv$}!>DI$5[CxS3\q!l3/aNsA*Z֯zsF;oQ?Z[Yޯo'΋%7^zJҒՒ|E*μMъjJԲݟ]-Ҷ +W.[iնVٶZuM/'SO~#I3FW~D8|BTسc}SV)%9IEK͜>觯mSst{Dvs[7Ą4B"@zZZtÍcu{D%8bS1oPo0?,JKVhw}\NfkJ}TsJxV}񦛇=$feeLKK* )//Wyyy=TҟPE"C)M0BplWƱZdNl/ީP#F-CjO^?Pr3rx0;ɩڻRq1g9> Zpa{;*-]4h_yUei}s-!l8ZiΝZryaݹ)[m)ƩۮO}ȭ%mKM&ho4kJph$I{v9",9.PP%߿_EEE%g8.\8,Ce麨Hm|B[㤶=,S*~Ǔmrc59JJV|D qT=IJ@(\^<_O҃O. H,ݺ̧RVVVѣU\\iuAA/^A'=3vu=Y­ f+))7HK1`|񒤹i[45;]{*GAEi<^c=bJrfуO.i9ziynBUGC'eKI`pFv{UiiبŋڵkBߎ;B[hv5Cq -ZtPkB^|HkKJJ}pylEZR${.CO,ӂ.Ms2ITRTVnNcۥeZ:Z[KhÁ^7LFw/typdn;h瑝;wFڪTUU5Qu= oOnL/dqAAAᲪ*<[RmGݶ^ymV(IJINTUӮK (W2$J?.yXw}ֻ|}bf]sq;WZ5O.ɬr.//??b!(7zʅ G D.-ТժqɱjimowT+#.FON]JڙSu/j[ƞi9$jȝ;w($^ǡ;>_iii!} XUiWkO߭?9M=p[ iԆS->mRu{RÇD)xwP<*Rm+ ʰ̬]ViiiZjՐi 4o޼xp5 z7C3./)=#y'N6O4࢒m^Z߬]3jSV¢_?9ϝXv7Ѯ3>5lZxq)Svz}he(nwi37o{ѢEzYhѢ>H&Yt.(NؐlkAӡuڻR/-_rsfnIF]-pAʨݴiS6S {?6T V^^Nu3wd\:pLzBy$Im1G<^Km7sFN໚ںTtJrۥky;$nڴ)l+//ף>%p+Xy]_usoVd:m['zF{w g|S",M:~Bӡu^ymM=ϟw]8w!Qs ͛7-\ws5͛@|t` vAH`tK:|CGnenϚt\|\>8ө]SkOxGWqM|r$_`|iyg$'6x+suDwd#O(`qSj֔wkʤqھC-gkjC铮SYK$隨p5m/>oyg:CbccǯJ-YYYaIɲ=pL[']G/Nk۠W~[Qvt˶f{Z}KCEg#А{ھ,hpi9nbF=*..V^^^__yt%%%!;#:jժӸn;hʹ4V} T3#xGuۤqj7~cJT[nmב#NUJЂ.}?٭#'>>zmx]͜A}3'rҦn*B$5[CxS3\q!l3/aN\&|F9iZ;٬h, ú.= [c]:ѥQս=Mˋ燽wa F;hݔ{8<[۠?-ˬms%f^b1VO'Qu{^I#5?ɥёg-Tܺ0>g:a#n;( Ғ8OMϦ\c|Wڮe g:jG2&M 995&Wqͯ])P#^舰49J/|ڤc]|i[ޤQڵNQn=,zt&$'r:99UU]c}Cb(ö-bbLvzh:T[z\}K+N4jOYx[IRFHxFM﹗z]bmEhMHXFié8b;",͹&^ĨH[z81Ax4lP8g$YT~G-I5L@Ν\h}mɌvٶ!`08Vz :%Q ~lKb$ɾrq)ߧ|^FI iE D0` $@H!B" D0` $@H!B" D0` $@H!B" D0` $@H!B" D0` $@H!B" D0` $@H!B" D0` $@H!B" D0` $@H!B" D0` $@H!B" D0` $@H!B" D0` $@H!B" D0` $@H!B" D0` $@H!B" D0` $@H!B" D0` $@H!B" D0` $@H!B" D0` $@H!B" D0` $@H!B" D0` $@H!B" D0` $@H!B" D0` $@H!B" D0` $@H!B" D0` $@H!B" D0` $@H!B" D0` $@H!B" D0` $@H!B" D0` $@H!B" D0` $@H!B" D0` $@H!B" D0` $@H!B" D0` $@H!B" D0` $@H!B" D0` $@H!B" D0` $@H!B" D0` $@H!B" D0` $@H!B" D0` $@H!B" D0` $@H!B" D0` $@H!B" D0` $@H!B0,+ϲ,~uRcYV_ݒB,I{g۶5p\!Ѳ^f9UgaHSr:$I)IJ$IZz$\ .8QPrs?O; fL:s(M/!\.hYVPߥ$'iBrbg(hCS%I2{~:?}:zVD*M[~jj? HReYm;\ SH 4 -޳$IS0E;KMfi_MLI;Kol*Io~6m:)*ziP ү٭&OҞJIRRT:H*0w9hqSq2o)Ŋh .>/=?.QSO{ Zy<-ʽ5K7J{y,Yʽ5K.gPssVwt&$'=.HHٶ.߲Φ"WH˵_K{kh~*m֯]f7 #;⃏ʏir9[2%IO'QFG~JINCUgʫ\Fl'tzMMIl.5G49~JsަN$inic'TSRSSS^yuwt6큂E3t=r9TSo.IjVjlvWQ[س>˲ٶvP$KԈĞ6eŸ9G)'>Vn[zOEk=eHZlvC뽛<-h$~{ys-$ޚqzc6IfI:XRyj} ׏9ZժRjLU*`KmS%aCeY6Ms (G%o ^Ui;9JV ƺ§MsMZ§MvAWc@1z7o˙[OhI__?ToBuEzz&h;ꥵo[*7,Iڰ?{b4SIQ*ki.WS\҆pe$É hmWe/8hDIr9{!lƦfr:q_o@?Pt# 忕$=p,߼-KqhSSSsе3oQ?Py,bT[IQn=(IEC~KpiQJԺf%FGh㩖S+$Ų|~[*VwroRM'F[͂{;v9r&hn٦P7a5XO{]3[;\6{Mb3/ۖ&$'t(%9)Ͳ{l~3uݒ˙Ǿf~gm/$: =#G?`埔{}h;;8O%IvzޣGjԶFC\zFWÎ$Zo{ܜtmrܒƖPǫjR7 ӬK_}#-?П}a4=O_ȔnIѣV$-?Gs*hWnӄ$]?>Q5u+Tq]s+qDXZ0֥Q) wHlh2HINҶPM=dqI-{ >*%I{*x yr&84w"dHwӳ]xeL8+䈰ȵѺͶmM.Qm%CemJ_0֩emϿOM\x͝E$'j)m{iu$|-s;LiqK"BO'7ֺf-/3r%3}s qJ(l H$- Estg^v z}ӛ056JQxE/|ڤ?4z+eꍪ8|DwvKOzYu:K+հW7۶f|%ܹ9ʘ*3^SӍ<^y=vvxESUFrQ鳡Cz81Awv;1"-pzb_|*7Ԇޕ$5yZelULـ65;C/4j5(ӡ:-)^=eZW߬n=.g{zKJW V J*WO˲H*X0֥HIRu[gbJrp?n/v2%9IGIrsҵRӝT+)H5$L3vDXթ+):2poV]HZkY&I ƺ49Jv3}{|\r:bjjtxrsug^Uj猪 n+p$5~Jv.kiֆyu]$_Ėnm<բn;hG;߲KWkӡI8|DTt$iѓsrFI:w+ΰD˲ $.O;Tt\bT#Ьm<ݢ ^<3'jjvU}N܏}ʈQEk{zV߲S_hrsҵruWUb\+$?r:rs2}G$_5? F)'>Vi1QrDD(56J+:sīM ^E=K[%v@ye e8X:m|{0$9",ym=S{Z QăeYVڿfQ3tS$.t9yDtkB6>W].-E8J 웜@vwkF=2=Y{9rg]k49JsUGq'~ˮ@oR^;\V{Tٚ1DI7W|SԞ:?e=gLNLкf\?wEkPRThfRT9b@H;{Z=6hY֚ȂήѺhmW=̈oS- K굁u]ZCoO]e-m _5x犓#]8m&Ʈ $ȠCeYkVN-mPƤ8hݽvcsML L$ギ׻!3^!13.Fi38*h4oϾ϶m{\.weY %?7Tu]RnXq7j; Jgsc5keQe#m*ki \zc4"+ހCbO%s4(e[T5yƴvz_hosf @EmzY/$&EEj[;j $+`FJrϹ&>%IA,ݑ#5#RF\ ,oٵugCbN|;|} =e*, jHHWI,ȎU|D|)}{))Ӕ1)5P{/7P#VL -ݶ;Tѭ0ϔ[+HA}{!$+ހBeYi2UҦĨUw_RS[1lH8gp:?AԘ(Ƙ(omk㩖γЎKIQnT]g|%B" t9U4lȪ8|D{U(Ws}g׀šք/FScC]{sOV ƺ}]ᦳWIr۶ i|{*p82 _9}E+7!19JF$(+\QL6;)IzY_7bk$]m]D;T&Wo$$':ykCkȐU(LpVek*[}-=.Z1с}(T9WRQ:;鈰1i{z6ڶ3 WA5 ZڴMwzAmQ7kCOH UvSmA$9!| X$)5&:>~AF)>"Bu[ީgjOm+7'CX2I<o{iΞ olYm$_{ eNNz#/n 2⢵mK9kCgڵFsϭ¼?j@!Ѷj˲$nB;i)3rNC3X%'>Vq1Aksc59J%]Vk0͛%ez>ӞJ]Z FS3$Be-msM| Ǎ֊hmWF\RcXUujkW{i[Wtޅ*EHWR+1zmz㥧T:mQ{;;=]a毒- 7숰T͊vkm}s`07']3r+WBothnrR')7']Rg;xc"mleI,ΙrΗtWCyŧ69<^Bo4(- yLu[*δCAmskTp(xbmۡ\w$-:1i` Ξ&I9rau[^kҺfki .y+%*UeP!ѶM ^Z/w ^3g]Vh(=<&TyO8ީ/pH[X姯mfɷh{ +/|{]}]}R[ZhmW#Ul!ѶF۶gHj ׿kfNNK J;YjuZ9Cy V6.3*\ :Ѳt>?sjjtNW񪩭SJr@i&7Wfٳ\m'$5sܻ :U>X/8PTMNTC۶ E.uSk2mҟ&ԳwtnN2=!OARO/g Hmէ-qz\q$߲K}M>IUgJl9D0@K[<1oPs)ԃO.ӒՒ|o*,yOIx~P٫¢|:' l>0@=Ӷ}|m|iv@KiOYehxUq,_^Z^0P̢s|`\b\ȲJZgQ+.}G.lx60؟7|S{z߷ꧾֳN)j.de)̨↷UMm^^Q(ӡ3r4sF.ݧu-ʚ:kjv{kj7l#dYh'm1ix6yڻRM2&*cĠ(KVJ*۶0!Q,˚~˘4Q/(TJrҰs&I=< Gus۶wTqfn7Dn І=$7yzbJ=^B\F*$xOKi~_+WorXiԝeY֚!]A}M${/jIy?}m['Iڶ]2{gZfeeIz$1A72)5Swwʵ[#%!fM{?’t>сbZԿ,NpDbCwzίco仴.t;p?M_1av!-F#сtFʨ\9S˿~EP˷`zg+h"VNd(.c*Oxl%Ov/MCCwB<4^!)]2C|xB!fqCb4!xpx\?Lj[/,P\~:l f\9tx]Y-mD%.'כڎ&{vj{7ЌV/o\ojVn;fUqU\Do?f"8nz/,>jbIoS3pE㡿i]Qok_!^C W$E-; '1spcϞ<ƥ&s=n̮ K"HQ*׫SwJNߥ6| 4sf1su̮ )xsjY+TEoY ]N<\=QoT[垺SI W'f2<>:wU{F+ 4$MU9>[ۉ"m|p GH 9Ҷ{vJ8@-ToGw]Aו }U<>Kr01s{vQP'sϮ(SN*B!RmJDl[h(B#G֊"z"t D̮(SV(40rDCa[^W&UDǭg,,&rbNt  }v$vu&k %~~]\9xh8µFbj;a-=ZvWOԫc5٭BzK ' ٵ+tJwr!zpu C!"THLv2hW^gkR c0pxO[ Im*wM3Mή@2 +t|Ɨ5#&C\?sC{/'kEf\~54!9\z^9xOa(ޡ\3Te|=C 膓k7 -fXKMtaOZQ* u=1k‰X^LZڈxKWc<{ V$sI>pK;"f,ں#1$3tFu[K Զe$Z.nsչfWPE[7 iT rqv\tPf_,G7\moML<+ׯ~޼]#B:|Ib"c#B9QY+|0{'B63}+Q8+3 !bZIpƻ:xIENDB`nr1E{}"'gUoPNG  IHDRtDsBIT|d pHYs  ~!tEXtSoftwareMacromedia Fireworks 3.0i1tEXtCreation Time06/20/00́: prVWxYkz۸B*r!T4tbln[nǛy/AsAM9$qCAB {ֿDӧO>=}|]==<<=tOSkuOQD1cGLJ_uQD}=P5K=tC=D]jEtQV깜7/+;|R*5e1,N8q|R74H8eqh7OR{3 5+ w|vHP^~J!}|m߰?=-,fW4GP_0>'=9ߠktw/?E;],3y~w:2m!ߕĤg5e8605gi6e/i=xm6y")exe,F,[,ɲdlQ.3./e|ɲNP`Yeq*%`zQEX%^KIw, l=TL/rQ.%܋9*R.$,,+Y,.%r=eH<d\N"Ǽx9KGRdiD.hoV0W4_q\pX_]:{odGgO;dg;Kj2NzU± hIzף<[+XvM~y\9Q1l?K$NGv鼻)pHKow7~ٰ#n]00Lj>g,{,t7vO6]#BĻ?fo{bw]~}w}hMz>i|wy寍yn ?UG/?_yay}/P-ng5>ivD {{;`p\->^ +LwEo(Xʖ 7k[-4-FG9rO}+E=ZiN0̹D!9Z4s~|F)VW~mt30͹}km GHf,-@v/z>Oشat"?rP bP?:׷Ū+!qI7ۺ_Y[%ŶVFQ]K M%IǾ|ke6\{3r]{y_:0߹RB]w%Be0&.̯ Z Z{JxPH^pD05&jV,ֽ1ĢyЎW ^ Q )ut0gs;v $75 DoPZ}`~ gU/fk&{$4e0fj=?g +;DAY䍩`0Ʒ"Ugup1,)!q [%?>ٟ҅rY5ZT%Z3&%bm1VPhHJ6dQPZZ͊Rqy+e+ !Sp5V@Kxb`7 nlQ Yǟ P'܀>rʈ̚N*~Z 8L D '. |`%XdC\{_{i @"IkQ88!1X,Gԋ8rcQ@ZX³1F|#+;i}fo=,~h?׊ (@L`\! ʱ7ufxFf%c*Z4>1_/:U XdL(d*-qcali8DܯѻNJ M˖ BN&Ċ "=0Mm KH6 |: aDΛ-`K;or I:Gpذȓ$ADt,@EN?((&H4mAP^  ap9`,IwJjZb29$y"x@ZRNZCX׏n4Ս!~ 'GGo'ofwf7=}~wÝg_קO/'y֋41\>_/—QxY'5Y"|:< /O˓7ެgͳ ٲzqzy|F5O{~ĝ_ QGg?`?^D7ռ筪y_w}ޙ73o6~ռy/_?1f`}tji̟ͥE-9SU GYmj(0#Θ_Ok*Zzz#k aVh ɝz]X15[z l 3ݎ)vX aD\ݹ.YaZT0#V!A-)y<vDgs k W`ɖ0b1W`G+QFcITM]_&-ܰ7ōpSA/r(F㰓4;nvQr]Xg3'p髋 90NDi[DWBLEQ/9g_j\}T ?qzr ]6z~SyÖvL< w]/{AbAWu''@GiDb6w7R1􈃂w;F9?۵l_˒lljK\JDӛeQԶ'nGb(n=ZυBPv&z|!V"i>ʌ^=osa5v΃Q}q[L1|TVtQ4{UvWv1FX/T}eF۲%wFy4 XxtOj"2&"<Ӷπ1i]&^3aX*Scy..{%3;|?H I!|fj%cXou+!들@oN5a+978')ۙK0T.%3h?NL>hyH8ccgFw(٪WfbqUr;H #?;RЇ{!uv:͛M!+l[Tf/pQ ' CbŒ*T;~qi{ÞV|Nj{gˏX1a,_j\i!CPBBҌj6;?W)Bc Y !̪.k QXVupdY^WL)D'&x=fvX1a5OWNO{YY}j$uJ;Xw ޙ6{ rJLjBz*1zO`Xrs cxBUcUQ ֭[<ު+a{+pU<a3s$#\iHo?>t\ O~꣄<i;^1 jVx0{44M<MrϪOC$VM˪6gקzPsFqQ\6p}jۏkgoLCq1EMW)Ae4\HJjVRsg~EIEPސDgקG{I0PR%]վl˽ihZuFAZk8a߅T ?+ܟ6:B|O,:7mIckP?[!6(ޡy.D{hlm%ݚ8OqF |.8? 7}ˉ=ݹqBRU>nO ъ&\sWs۽ts5~j#;-l#opp2<[9V]MKqM;Oqv61B2co!CݿuaU(J3BnȂkx @;Ћ/d, }?BSovP蟇d߇q*}F}֮ qaUST{/ӯx*C տr(dGֈ 6~grp(0v8/!U*̢g{PϕCy)^ '1Ay'2 u0zOAUʟA_?}km) R%Oy%=g;H;:xƷ{i?{i}oS^.o^;'oc4-۽%Kڽ}$m#k<⟽K۟[ښKwNS-m 0ʫߟ]wNFk%v/mviͽKߊw2%[ i`{Ik }ml} og'o߭l}$>l/i=Ie m`{iI}6^w }mlJۃ@˭I}*i۴_VCV+s"ySdNO^ץD?%nPHy;᫠I[Ut*uSg:m.nZѻA3\gH. @~5 Wam!@%,'-U[%]_ C6U/eV0uԥF`~ց +я.?\$Ïay3QgSVp#d)ǜՆFG$Ղ5Mog{7>BWO>ˆ-ptOO1󑳿g6Wg?oJ>AvO0o|`ď{11iwܿŬ:4t9v7{i:ȟ2zH&}b2˙7aD/Iٗ+$>I`MWڃ*xDM+"ms7Z+~x;??h ͗GdܯusMh]]7댃4U42V%-Cݍwhs7d(ۿO4;~ju]Һ7X%&,?8ˈ.Va,k1cuD 1O_HD?GbA]Z~]/U$/UԽR^;֮tPI-ǽUXi"&Mnpwg8@vS= , VigI/֢]t?< 5u.Z}V$ Y>/RY+}֏(ǡڕ6wor ݫo$hg^ucPcj78-?1+1 9՝)?ff;Pt͈Q@F!<4W.}hWB{O~031FVIdHd|W525!C%B1vc1hV*D~S(9^b'^,=YX>|ZqRnI^ ' ]4OC&8=xzq</7ڭ .Kpo(,g,|pQO˓7ެgp~r\^߻/և N&tjpzAҳ>aVꉿiZ- ,go8cGk =3Z/o'oh|hON;zR]; NO Nexwz9/K@7QV?>> `LO韓'ah^eX'_/-GgJaOQa0gaGg x^NO0/+]}pG~Fa\)-Xc!Vi+oGD# ]ՅG$$C'ѰOJ5hͧFOҊ,'aOXDQvj6VjǙ;9 )!\?Ynsi,~S@TF5WEWZTs%v =Vr3RƘܘȘ!}B4{a .yZ9>xA'x-l7 #^7~la?#ήlXWzUͻͺ`dJ`ZYl0aU ?6^BX:Gz10%se9U=+Uh9B3aK,$~֬MMIU30u цYLJ43J1Ie4\L\ԃ!Ga/-o<<8hj[RCyskW5ݪz[rƒj!BR q==}EjBc9&`V*e`O ݩ8(g%ä-shRKek \UW:Ê.BX+N1xZjZqV-JF\9iPj1teeZ }P͹VqR&dY]Tɳe$@ZH0 ) H1_v@=" 9(R;#CR< [nJCXN27d5ŐPJ!:C (–(F9D#aV kQigvD׫^q^4BvEFW=(8Q|: P-5K+17@2ԏј$"IpXz P,q`}@\? @ jǁU?SNƕ۰UT+ܻ\)]CVquiP ~@%Fr ]~nx6 }nK[`5{7DEp" m4 @n giMI6P Q\5& <+ن[rln 8lAT;NVORIcm4clfȹ@G? 8RՀ9$U*(䰈ѶgiL=CUU{Akv(5Yi7 &#YreQ0uU z$ QA*  Djg01DXM소H3NYTʠzt"p8E˙c@ZKzTTd)||' Ia0r,Ҋ8Cer^Rv[IfVVh;0 \k9019+]y9@t3_+:CLLx|2n`O.r:fQEё7˂ð -Q'٭~5uA !N,Jt]T9D@7L=9fsxm $ ,9 A9v}7%( hSJYq4hsNv.`~E@ ғa%|CjϮrEJdcx (h%cdo,bۜHk?lG # Bn2ܒ;Qp-2s a`])yL1u$E7f 0hN2AxIP=8Z9c6ܚit^&HQJ dpkJ $;jy5ΉǬ=fcFQ@=\Ng Վ"X\ǑwZGast)* R=V DRǦ"] 9ϓ Yu Nѯȱ>"QC: `j3%alEg&$18"Ե gdդK'/t}5 eGѯj 2@tB׾ ?} |1saFzT޺3iH(}!FH=QeLUa/9P;S0acĤԍ!4,^Mv4FkH|`3cU@]Lƒ`0&!Yi'CGr4WPv )Br4TpUpM-L׬XQA%U2@X)aB%T:XXwϵ30"mY"|60&I-5fQ()4\Tg:l4R$qQP VeYN1k!ay T6@F'XI;Ah5bFx%9'6GEk-thcͨ_2 v 0MADXc:`S3k(J a"m28*kw%GHáMh$A^$ꃔ($I厥 ڙwۑ1'15d/ʥ, V8 hKYoՆnav [jXU6c(v~;Ot~$Z4t&(o1@Ĺ#R0^-K!ĬąkP2ŎpA"x2 wY"3'f[EŜFa \&!cD*Jr ,!H"1Հ $#nD$< e-3&BSIA0:1 q Tܳ#L[b!tE4hRh`D^lcr!J)C6=euփ┻J[+)ZAQLl A2T|,'5)1 qcW [O <*t J6ւs6ޕZhNLX%d]=6\.5t֎IrnGN.hXp*h&&QIfQUzr((ZbNQĨ*a\m 3] /<1z6VF']1.m)3D{= @}^s"$֍kmPˢe#IjH;O!T-QFb ^ i՚.A+ fX40(EGMIP2.Y}dP˜]Z2.9 lt ZL.LЭ|i'5Is 3G;ܡ/% bo\( rQw8~W/ta%;B=IB9okzODX|t:u.6IpwiAG%8X .z*-(!4|pHt[S6PW`)TWŊ'HYh[J?N.&mh0mFm2g}*>(dR%By^N;"KJ?OKrRb3QMh+ߑi]LR׍ 2pQe*6 M 61ZJ58T$5Q)S|@ʊ c"]R63_@uYv(y&F@ V)#CRMȰy:NI:#S1ƛ/lO*uosJjQXؗEᩍ,tw;d"2 5D‰ILQ-/YdRo䄲j%(9)6Tŭt,i67*Dj]v!hI=OTL NlAwh#QRjfSóGa=s;Ph;e[{lPӇ"*6jp<)T`ZaAmE*ޗ38D=.SG VrA.JwfIgT}c䜂))j.S  E}tږP82A xxtN F gDfX@FږZvNR`l .,C{c:p vTGr8j!Hזp(p$Sz: L_xLDDʨڦ $ݎ p A,Z]9f 28#.5u L̒elTCM,c`pjSvώT@](Wn AmkG+Jmw u/ɉS0u NInw zc?Si`[K"fZ8i"YETiRwI$T.g6"87qKk+bdHI=%819ʖ(.yX  67 U>iRpQpX)Ғ.5pu{1u.榁C5ejVBdxʀ㊓SX.EF V$%-:hRrjp:F 4=C* [sQg'&SzĴVz'Aw2M.V$j0XYɪ.w+0&Iʖ JK H(3tQAr.5J i(E895t+_9 kZ6<͢:"+I'tkTiNݡ"B5pDd?;=hl XGpU5AL UuR@ B"wE`{LRcKpR$ `o';TR2C)Lk ҕ8Í (UI(F&N$*Gep, ".{-Ji8)`d56*K/W̓r?ݥ֍ă`XVi|˶1q:~ƏyDU{#'#'9;í#'Yí#'YÍ#'YQm#'YQM#'Y?=#'Y?#'~pibaW$p;\)gM"'@It=nr]wDý&'pIt=ivz4t;Fԭ^zKIQ$ҧruoRybգ6vC子w?子4ۑ›!ǃ%[-)oCx7JxQކnn o$uOV vP\7h UP_s˭*FB2=R7*wY' @W9 M*<^^+¹q3qʣUN*d(fW)J \ 3K I>-9 mAxQ%AY9@TZGMa`6F#U6]lJQ*\;mn ]mRWݔFQZyÌMk<<`r@cp,RS%5Mt*'V@TWGKa2eQ[CDž+F Hҹ68FX8YW2HVPK" Ȝ*PHebUR]kR.E0]8\15B}%ȑzpX -׃N(yRܘr@iuhQYgࠦls&e<ٜEx.mn37ĺlzSB%v/ su?AjRR(l!WPYmQMe׀lD1NtB@ c9* 2Cy.y: <<#՚Sp2ShPklYL\(<h ёі4K656"-X瀔ubo1^ 25Q#+r o4Ps:!wWTISRQ2s(֦(49UeV3Tmd3-8]w浇:S,,C/Q6NQ2_:^gjDji-XËk^N1xQW窛yFiO IP?0-%P(fF=Lj!3R*r.) M5R \P( s%qVrF[FO؛&Sכ&xOכĞÇM[ӆ蛄&sxIؼn"CM29>::U--ʓiTTkT -6LCoYNaTG-CF K8#la|Մ&M/rfmfbI7}TDc-fN݃-Nbqb_93gl8pVyn(R8a)  ''.%;I86FXw%#9:6(Z̉MLnt|I2yI‹ږ@P8Fw[P˧Vcq0$8vE"nY*IxhofClA4%Ȝcv 6%Dl;Q'év>e@ϥ)8W(qDr:3#ˍn8:I':M#SI-Di-uLJ5 j:i}O4<ǙN 6^v۟NK% ZGg/-R٧48:&̍aptJj/P ~@GD#Ŗw<"K}_U1<hq[sUƲЩQ2YO.{D񃘒J.QhئYUpeFi8/sʐm;8m1mpNA..:j?BH|T*Eb 5VBJpJ \C} z4xrS9Z !:L{j iIN(m8MNް|'jKbtvINM ttCN8f;t]#{A!/*%VƲQۘNx` fJ!a3.ʕܫ.9 ^r#5U$B.ﯺ8MLqvF+0R[Fޕ8|yx޳($j\MRK"d*dp(⺂\$77V VedM٤m Czx%G*2e`Os=d']Rp\dh8:G D_GgPIht}Zs|@8eΗ7x| o_Fn8:u2hV/@o4xzZw ^-cXe ^ߠbPNHޜ%D4[N=K сA:\ [alVtB ˳Vp0 !p;\zrд7EsVwr<qh/o 0x}ZIpÃ׍B__D8|}ZgI:ϥe:Eu;SR9NZa9s֥PFpC.28OR :):a:ɘ ,I !ڜ I50Q[,7ˋIt(|PrXS!9le\厱0Ms3:w !GD5`FэXNOsnYOw~l lA#;|p^o>=OWNO{e}M9b}'_R`a~=[~g1ǘʝ_qF?v'4ޓ0Чg P闫O5^ZQjÐ,>YįŒw.Jpy7OP_k*{Y/}"Ƨ" ;bQ 2ZPP߆vcw  8ik$ f!NX1"+~ڋ_Ȳfkd_rK& -ko(H^H /9LjAHIZfS1S8$ t$ iV8 Ϫ?5{du\ Fg,>>fd,$E%9=nmdsdc`->Mog_9f8f}8=f"pV+~1 ܣnu.8>q$4 [yxLc;w^=!;^>>=]c_W%vws 婠w <{VђgOhtS Xj8Zգd°}0|v"h+۰~_!>H{׸ϯՕdECwf {_q>糿ܝUBЧxG|r>w"/=y^o[/@1f .C}=_ZaL,Q,Rxhqgq^,T't^T\8-W3dƷ6ib /S0Eۥ-mZ$kE3.z>Yv qHDIuQR?r}o9~כ3m?^V}5!Q ŏj 7  _8#ƒ㰆'yXȇ|H" ^^+/<AAOA<]eh*vDmkBSx]N 0Gki#Zo6ЫB@w7VQ ep[@{Ԍt4 XȄFU.9 u0- LJ "QLV&-Y>\yنytc u/$р_ ݈vvvͅUJ@4ZaE6HxV:F6Q>KSy.&{<}Ad:KN?2 n37,OMEN#HF`?- j!j {r+%Aqh $S@%%|9`ƅ}6.?jU 7KBC_{-׮8`Se[ lhF-*,?nt WTe\ÚMOsf^|ŝ}Em ;GFn^Kb[dAݜҥy_g:=h5=#*|3z¡F#$̣[^Y EO)ـ~Iȑ8  Ľ&C}24 L >bXXFkhFWI. -h-yU`F m<}hRvTf}|dT@OP\I' 0%U-b2֓yxd^ƣcAēwP)Xͣ KZQX!+}~CX@- >9Fwx+$@>,#Xٵ1vQ5%tᑄJ#5̖3S=R e[OjRgfM߉ZpE9%辴tc⏥R1. p8Ywh;w@^tug.XHT^?2!+tU#_:{*!nygn:@ Zgpwp٧P栢=ԇ|Utl7~䙔@0 +h%\'̊!Lu`tp/߹÷0!:lH- gA ^Z1KO_<*•G}|;n'e}*#(4hB9Th玡NŶ@%fĠpo9,vrdԬ,qcD-7= 7V >v`f1B+?`ؕ?ջ+yKV"o6TpŚUk}"bɍ7!H*3(Tu|jGyŪEe18-BYYdf[L>='4"}\x乢2EOcvxV|MڡBs%ȧԜ?U$g{075պ[=h`Iu7ޡ1t(f\%}R@uPA(@0Mz>n /:{7l6u]~m'3u/OOX-?Jk3pMNVnuS>q$t>NSgِ,yfzkf6{4!ڵ Y̳X?%ţG|j}~H)'FCy6)$.[xgߍJ<MC+QgPX 7~PT֜~5=4WaH]0/qJ!Ѧ?q?+kpB7ޠ">G}W=\&fH0e kƲ]N0Gg45*O xFD ~Pv_u9%|?vǾal*.p,S?5jPt~ۢ4$FMm3\9\fVdٿIuKk+s]h?:iĺ-^pYljkeA ֣;$3~:LH Ip#W,%ebbad{O`eE}9!mB ,ƈyAUkb]Nø ˌD_ˁj5j%u^׸ `O g9cE @=BHMlk@$ ءۖ#iBOOA\zXCR%ˆ6 _loNVL?7\iB#~_l5zq#wRf|{jSKlcԁt*=LfLQJ_Ke[LE(EU0"R4hbR |;i@fT,}X?GBP7A#Hk2dwըU¢ {3eKxŨ!tϼѝ;ZهMK+2S:¾m:ʋT,شt|H>(;:HfT+_oG=3fLál,0K@I rHmD-Kɵ""7@8bRz=Dmc CF_ŀT-DM2_=Wl@F䴦"%b||+h Un+z`Dv~_ClO$>Y Bcyg |rp]o:8khۘM埁/W^ֆE^ls wfY~(cUSM6:-=j0y-AgЀNN2g$>+y| GA]cپ6m n5v{y4y:l<5y7/CBqP!L||R۝I׷Iw|X\Zꑽܳuu}1c%(Hh!!&>{Ny! BC~{ Uz-b i>hTN./hY}_sPp͠ '.D1bԿoK'mCn0H]_ _&kdx3{G!~KdlfPej9dm5Zq[nJ;#:u|CC-y Oo!N獼7;tYW[kcd [@P {q7wΎd'>{*QVؿMAN: Zl]ѓ䯹c[}: pz$1 U(rtH):=)_]2{xlu:0'Y0v~p %Nj #o^'X՜T¯-d'dT{voƧ߇&9ގlOz|lxq!leP>ޓ 4lBޞ}yơ$9Eg/>_Y\j*SCş9Pdo/g_J7wG`fע4>*04yWĉ &oD93mϻL}5Čގv$OEA0h61s_ qhL`Iw^%M2g 0=f_v fM7R;IEJQ04Ys N[4HWR99s_;o@O7 @s21FQyhm`:o_ π7:zAE^,έx!{>!7r#{77;"{&/0WßﳠA[yυmk}ݲC,NZ M9@`CtD"<p& ^K_J}GR}/ +-khO.ЙZ"W 83;&_ EKًH|!GCVyhKj-үP~Z̚lpyN7;aACNh }p*}FZM8oMGeh ŕW&;0ܕ +$Dz sD %0x/{gݷB#cpD˵#e"K/) !Y#̓Dlg4b>EM3T (9&p~-'GɑlY[?E.`ހM Evn4s<{nҟ4z3ƿM(p4x։m |&x%Z@({~N1qy8FPjDo6SXyhr :JgǾfN&b7Ԋ{dK<ڜw#sںN}xU~Mf_ 244yYhtvш̪>Qc8{Y oߛ|u߄6W(-ߺȍ# n֚MPj] Mp# y}XK sSU>q݁(yug5s3q !{;ߓ"4dG _4>7IH4(.#B ؜cz (#}%şnMC- }|[ϸ%6Pe>4RQoZ ]r;^@UofJ_nnaL3RlP?yרfchRr$R΄"rKG,-cJ铞\ੂJq{} y+wܥMYaq$xH{h2؂H!XG-Cz+Ng÷M#Y#dnrjE!ٯ.Th";vv ׏I42'ZJFBѳ$.2n;ӹtw=xt劉f>W:m+zl<Q CsBL@G1RB9zBG/u9߱\!p"Mj} ӆr)nST&t`&YfpKOm5oI~6;6h'!aG^drE% v <R1%/LPskK\wIΌ\ӀxI7Jb(i(H<'ߟ-Ԥ)ycNŚ:V J>̛jATg /d^YOCrG:ic;CʀW4' hJ7_sQL3!Mۯ6Ky{⼲q 7x˼`[(sk349bx7|q T zըH?-m䙄3ΐ{K@lg)ݺ@ RtiMd\zK.(\rZȞqp~M`d6 /wOd`.HyEϼ zd&<ʉdd9}hR^օ=W"3D_=,!l,ŏq?E?BІ^^c] J*סIq+\bjō 0}6?t6Gл̂:?s%V/Df= ~4_ M=? uA? L`R.[ B:RZ^A)D(ϼRSJu!lꟆ&/Λ cM}[cXaDe(_Lz"oHqcTxwt]8a S!BɄL}XJ" Y[8—>;r xDv؅7Q/b .=_U$?&Y ]X>e F€"UE,hi#z@7Hzc/x27m0"f\0Ѓ>#au Mb5s$Tvb18#{c4+Ώѭ _'2Eeoߟe-2$i%  MrNMAN.9$Dayj~\l;]?B~^Ng~5/Bmu%hk^BiJʵ+w @F!M*yg_8,|:ֆmWàc 3FGu~2'uF=!"ct8/ZԸruڐGtXCg5ZbKZbb[^V ٤)E=+!KΔ\C50!xV~&,~"1>ύ^/kdCmBb4 rQ"x D!W'ܻ}QΏy"Bx|31H.Ͷ2!qb̬?M!?q9><-lW]M}m5NgO4Z{m݅o #CÇM] 2h2_AG@nn*I J<&ߟ Jk`:1Ϩ#{D+B2y\i1^_E1lAbBAnE FX0>>H1'H$K[~ l5n}*jV9/@>RL.$?m>EN$D'~.%8yFc`}{C;+@03Ft̋g; $O)O:f |"""yAБlDk#/{φ7$Ő; Žz ,^rp"~}5C|pKAyɼ"7zq%{SJ{.̥܅ؔNICC!nVzСÒ+e1f(G -/3h)I=қUbPxF?M;YͶTj^zWyr>&5zRnqO÷ My}vP/vFZ4Z#GqES:/]`<{f#y3lfT9FG Oy6uB%|@uf~3˙@}XSwx$"Q}S!T AHP!.Eev_\κ7+miy4qv0‰jdž?+o^+-Y>VH?uhR?wX[ЦKZ$'͡WF E c[`P[Џ q\_]R +zZQ>3jQÉ(cF̬BYB-yFvrQYc? PCt8|];_ svXV +P٭o)1[H>fo]HL@c9w ttW#0*-ZDx}n;,^y{Rn] *j^D;b0 7 63&7*}QxoɶR^dte3a(ԍʛ?ߚW♰\#zz>% T,ȦRkYp\V$PUઐuAXcg{ .uU69WDԶ,|=?_xb}N@;|P%})A?zR!@@P?t@Jy1P{mS̔eYZ^w^1*| ֊9L'd !P'hKh70b:lf'bYykxDm1mx*|u'8B@(čbJJc~0y7ŏz #9{khA׿Y&Y7NU6S@cFLRz}n@*&d^O?bF4k@~O~'?O~'?O~'?O~'?O~'?O~'?O~'?O~'?O~'?O~'?O~'?O~'?O~'?O~'?O~'?O~'?YMw@WGmkBT@xxg.www$;wだŵ@] ]ZJݽv3{9tKCZWh/ӠZ$k- j Z : z .{#A 򫕁9Jv}5&olmm^|<\$]=%!_IbZ^9"yI?7}:5$-<o mzJX[ɡ O UGDADg7f#rQw\%dOfI |:>hwlu~^^}cq%aޯ 37^ ~F[s%#5#\ {W&F흣T?7X^)K'v]OONLw{;[QC{B'1Xu/F]Y@Kkw'B:HxVڔBvVcg(ލxcENh/wW֌uz='ɖ7vHᐦ`5M~uvߐ#!޴Mlm}!&o{1y^.=%-brRy?|7h'HG[ u.O{6m>\e^Akh(?fyQotyk8ݰ2g=俸/ͣ[~X7-7 0C:B8K-xnc#o4 uIA27K %a> k?.@˞XF]OmV9-\:=UnSN} dYQ'vƒ=d^*|6sۿ e\楤]}?x6[^pw*lxwOh9xh\('lb\H+!JC䍔P*r8.qk{fj >߲xl:-EͫSd@;p,9p eL!JWjztrVZm%e4t 0|"ky@Ͱirqcb@Ƃ,?B<.]NOm=Ys& mo$@؄ %n=^YlIqx֍`'{B'K,d?6GuHC+{ 5p!~r|palɕi?ZGApa{I95_rǩi,kMhw[cӃC"t?+W#l@o˗'v45sCG&hpܞ?5C gLtWדVo w3st@( B ydѦJ<[=߲|{vMš0&q1=4V`y(5#WfɅM92S]ڀVF 滃dݾM}v^>{us;jG[&_`W珃U~}zVwq)FtOώO/^'uw ^>|{f|JoxҧxC?йm=igžZ}|/iz9/{sCAfV,}I?1E>d@/9b~ Dkߝ.kfvGɫᙊ ̩^SWv![>ˍ_ϪD x&͙rX>yZ5_ <'yȄm 矐3kGʐn2bA>]~ XqW̫66w66AU1Lrc:DV7,޽4ydײx xhOqN ϐOۉV?'!i;exۖEv~sB5qgCW |C ]ۻ]l|^fR>K vMeҾN{0C|lbRќ+_w+b!Ϙc:-];쐷m8?xˮ-(#B=8*xvys89W,(Fcɮ9׶k{FMyXa>>eq}]"O|9d?t8c{9q*F=VsA[vl#6`AZ۳\1PcAϭ˒ 5puW.e&>?f> ?Ii+66֬/h]:v51`Uoj@/W+5WB+||= 3;[k~!'~[2־ -yi+ƅ_5Zc@.l`}`&ϯϒ|ym@/|'iy1=d^Әu}b=Պ3?}.3 -qxKo/]O٭d@25=յYZ#<_oō]݆04K]ڕR: }ż'sv r>11?b쯂P%9H 5\#sG_p CKåOgjNO3 K&l'ǘh^K S|RT[~"JnwkH\#+|AM#P/zXTZ9/gѪN3pS59aCw͋H\/I~n> /n~Ri-c= C}\BYU=FPO?3N@;|p/u{++;{|Z1֋,sVXvڃڂ|*k9;vU 03uq-X>:QA^-O@^9JCuOc} ɜP$K !Zi.k=M^Z+锏oF2Gg~`wq>#Xع ې :#[~6/og|ne[s} /94kNg q;L3;`~Z=B.m|ttF5=mdD״@=Rl2jV{1@r%Jew>~- %3|6ֈnMQ ~e8A^{jqy4 ϷbK=ݩYL\j,~.ໍ֌ָ~}]k QvbS:wܿݗY.C6JɌ pJ ONUȡ{`. .R_h-^6Ey/f3^f`}rzѰ1Afh7*Ӄn!^k|۳MiY@/_>H~~Ąy/Y{ƀX͸/c_:Yck"CIT3\_pkfUo:CH A?U#Vـ}x(Ófg}gl4A-:=/eͻ5(ƨf/iKڔ | O[`|u7flqX 9nꏲ֚j+3-#AG 獔j-ЗLS_5F^ۓu1Ϋ 汗X/ԭu#Y[}(dLogߧ b=Eg!^F{/_}J 8O/t5?Ľ Gt7ٯ1edKY4j]=.Ke\ߊO*gi/~)=F90NNSp?Ov,+W.B^zIdM6cSHK*N_6P|=`zX`9"yɺctnܣR0t9YYov:}O μ'Xx O|^?B̸sÒo-ӪLpQ r2ah3 pG`art`$*Q /ӳ3Xw!+ߺ67GjeU01Yʿu)3oYzrXs1ш6gp;o]#3=%z/sj~9쩆I?hF37 6N_>3Ϥl}ˏZԋT.a_xft:Z\~ `>ġ5eۀqtkqb/u.#۲ \Bs 소L bR,1W?and1y{]cuCF;;_2f8umd|;1׻`l;2kq߹h =cJϟ yA@ve8HcWE`W* gp_ud y ??Y?:˲p!B=J k|#>E;Oxdek?@).nf,<:r.kڋp,>,XZUӻb`>K|pl[U6ޱm+2\kk_Ļ-E>USj r#r1&wre pm˳ۨ!W?p_-ygIVZG:Y 8;8Ȭwn$蟩#ұF+6`gn̗ا[ĉ5bų@<3qmS9.~+9=٨)'t Q,JԶi kCleĝXQS'><^:RKY/֨Ԓ>֯ͧ\}"gd/0({Kj;ɨ~ äUӯ1X269]։ß C)zM ֕+Wpm ֨ ҏd\iÙ="?}\ E{ EJ"ty2ִiJj(]2?u9S=elj> .H,9*/-G\gY;;k.AkoW7i{^ke{\o?]/)TAjC=7X^]7R+}ɺ; oy̬/9 Z_<5@v/ 2v!Z Mߎɚ( ]e5dH U7q$mPFnٚ5e"UɛwZ\c1V~:k؛7j`c2s][{ {킹/)Ā{,6Js',4S]yݯg׎0˸c}_RTEVԞRm݂}zkX߻+y?%Mx9V|IzɡX#0y_Zk/̘i {nWJ?1]'ma9;Ʃ_`~="d\BpY2q4i ?A]StN s4^g\m*c5w7NjV l+RmO9*~ywAʖ{|[f}~)ho{ߏ.u2DьS?n[ϺBvO (쟕UffQ2ڿD= q8!B%B?R,3xcls*iw RBˏi uxzڣc4_<;b|\,42c@)8fw8rߠ_*N"C.'ޯc@O< U/Byx)bok!cXqڇj&5.Й-%51eݼ^V'ʀe vnO%Оh MhZAmyHqҴό/YFh 2Ukɡr#%T{nu~b`"00-\n+\N-{ vN]&v+jY‘UC~<ǁ}l*n,n[>?n[>I {I=U'⌚swlk滑ϲ|p@ִl20CL·힉--N7 v0v>{vYo}h`#9ᄉ%_fѹ-lyHdbJr473XYQ N&\ޮX tsdXGf`̧Tљ5Βf9}^ė>#,b^fZ1ޡ N=ww}9"GZb}frg9 ]Ⱥw5*W _c9,{?\Xw\6=fU8s_:YU`{þsp[9"{Zb@nNrd`#_cg|g>ia_`ֳIXo*zjeu==1$k|^掔:ra-mĠ2쩵U:SgV>(/}c\sWN1[~YRŔ8GJ?e(]أsr?cs|{;؇bUGfo4_)TlhAfҿeٟ@1o.ɷg(e-)]eLק~x_1H =Cu 3nsWL"_"=2-ώk`ppeKNyZ:: QnC˻kϙJ & $VL"CˌVy?P`Yo:1.i]n}V/DYq+O&kYc(9Xkw xѨa̝v%dea@?EgZef{q}$͙q-MϏs'Dq+dB{Y5r5cЖ7ʪ]%X@Q{Ot˨Q!^|N nn+Й7hʡ{ѳľZ>Ejom̀86K:6X_u,Q|NQ֍Oj=|TSF zjgΰuU>[L{u cn] M~Ajӫ㌾@)¬2l o}r3g1B:Z?@,$ׂsErŹ п,/ʔ_.~_T-'^}bT YP Nn!ۖU{uSl=xžЗܿ|09[ca * Ӣ~6cl(Nl21KOhT75{cU6_T9K_jNΆ/P{ߵ\u,ɚ?=]~y\cHΥ ;d4TĹ7ڴ%jk \/YOyVy!?k77Kj2xfy>2g%?&Qxvk=7Tꥆ>GG;;Y=;S:}eO"9Sn[6cFx+dg?8*Ϣ 1qjT''dJrh.KwOP{\b.<(pmX9>7-+~'e&Q8j; _? q<{5I-3֨ iQkk dx8Wx~mm l)鿿2SN]syay'`sYxszϕ<<ÄxE]28XwG l7ell]cǵrBj1!P Ǫa/#J{ҹ9%͆wp`W7 [Kpa 9}nz7q8o|vb%wW̜}>cV 8兾!q5W>s-M~ˎ3ὁ-}O{]\~";CԬt g#>aR=ذE1>k :@.mU8sP\X ͫSbt|I9}~Smh9U { ~ٚͅyl=r!Fp_W9P弰1#:P}@O=CBUggұitٗ9mDKTJespf(izq/&W{Fkqo33=yV(OQۖ#s>n(%X8$/Cj+4> aa2r8g d5U,"ױjΈC[jsi8YT'|c/g/ߴy}?1 ?b~K1c`]/7 ğOvTl0Cr{7+(6y3Zu4DAaYag@l#f`CvbH||(c'>]k^c\m>c<;-=.Q|# ̏o?`3-ow'(UiqM?J7֚GΌ J fd1w3!F˨Q O[qwh؊QF/>8N㦷8堼6mc*thngIGԆ3sca C<Μ`/Y3-3xj1.kD[K"#}'&?8+S}ظV$RShOON=| OI4~Y5.: ̙4%e)K5y{wsYC7gOG1VJ AwrYds8`z@.>\ 8dΘ}s'b5p5d`< 3SM} ?]8tlx|Ωb\I =V>7Q7=ƵOp^?%0yw'_!q=scYUbb֋o>7wV>=<sؗ<0CiwK<Ν ZS׺R>}\Fܘj*[}<3`fg/.R^ %xl~uBs>~{>Ͻy\{^6O/չ xd]KABdWWп<fls_oBoσlCR=Y/ú`wr:ХePP> YVl 2,3ME!Gφ ߴ Om gQܞn2eD:œ}^˽7RŒ)ଯ ȜQUCme0-cV]Z֑]b<[˜+> ?8{m7|k, $ߟlk#Nuoܷq}I_Iq#˽X3Y{,>us3:1wfnY<XkxR)\79/!̜eڐՈ&ƓPFO/h nh mʟnHZB9F3}50gy-k"g)˜UOOnM4.Ù@o%;ZcG[tt!E?z@;:^u9oӢ^z>Χ9%щH~FASkd6Yh<7/ K_{/P=A~uk9oԐK%d:{:9r|^d 61v-Y)NNg_o OxI8gx./6P31P,݋C^R~0gۼQ7*Qu(I:;25Č  F??%Z~E\Xöc(DUT͚.H̬9^#xB,PĻ:)֭ 2Œ!eNA+F|ҶxPF?rx9)DFI-3f'[yzÌۏXuDխU1Y?5J_@~n9vsR:7Un`ߪ}2[*lS-oÆW5츍K9/a_te2A?ǧ1f`.NrdL0M\g;t&dÌwNU٩u&L] #b}8K zњ?cCD=u%HO;;6E>>2QwY}a]){sfZγd[֏G6N >#;G"/Q%ג?TlouYGyak:;osY[ f^Ȓ'2): "qz~zNJזF %<ݿbQVKqj =e #y^Q n~e5Kp[Zc)ҾiO*ԫjS_  ̔ӳo2)QaFSnF뭙C"tpfx]=+`y9 >|m0d瓍Ts0jmca 7xC)^e [jY!Aicr/p^0Hf̷,w%gUaQn_9덳^ ǵ׸{M/My<4WO45Da qJƐˊ:i/χG'ɾgIӺHLe4TFk}X~~l>$~ּ*Χi{{=+g%A1,ghok'6.9len߅pC+9ŒY1>< x{ƾ]ͳ D UɃ_YJ@l*'k9/ šʒqq=KQS *f}ruQY 3X my`zP#eM25 s|{H}=Gc ?\%'^V^gJTi˭P3B6F[:c%\|׃{s~)Z1hz^ge{ i-7hų&bk5"G70sI5>u^UO\\Wchp_|+U#֣˜I_}olI*'6ӲCO~=|e7 g|zHk_Wi< LO k"}-ok_澇a|;G}Xl"$.gN5_Xc1-+:Skz:u1K;F_o}YO}~`25ex6 w 2ƘVTǐǜ-@Roߧq\kBV%0%ghdD/HF,šƹ6Ӿײj<-afl$݁ WKKK}v1>& X3l.yJf/,^5XZ4!2}ƒ82w{Dd!`xڵpYRk\|nvevRTa 5|ݼbZ}xӓuSYP9\=u:b Ğ!aeUw:6M h7/ij-8|]bm$5.@k'a[ 䩉7vv&D؂=@N_3IPc2D1;M`X'2H||Gϊ=Fۡ5=.aq-W 3Ҭ^=DX 5r@:gotka`Sn*gT_ޙ ӟ)Iɑnr}zvu<ldg?eչ/̻=.:;1{Yw7h:x`q C.cN2kS.n1FkOsI ߬ 3voӢz?/gt#o̘'V&tpw,ako^)5WC]c+?;%tT]n-oӪA?{]-.ڽl4/d\;<iawx3?=_0^V]o_i ;{ϔzNHe6/#7.o&`g.Ft;< J _~cF?(}.2uMtN/ tB {)3e<;20(? y0iPlΒ0)H?one|qܷz"7k^|g ' lAW gl$sq6Z3?a-X͠?M7U2mSAs&vv5@|m{t<0itliJ >Nc~铕-Hs25Z/ylþ/`5lMfQG)w4!P8`j~ݵf$uST;w挡Yyך=cO!cmp˴'xfE<^w uLYyj(Rb h]Jbv2?[48{e$8xc0tqʍR:{\cM9u@֘~zrEϩlg}(ed~af?+I^>+h R y_G mkBTpx]xUUMtH{^B((*EE@-@\zQqu3N{3oqZ܄3$__>v"bWbo2w@ 5ʏSm !_@܆{Ol0 A[@އtxN|G@s[5dCT80BC\BrHCWh.(8ggP!? G*%x9dCBU?@@^*!!AKd%X!QK*-HC^΍JC&Vd 2!!rv'!' ?0Gu~xY9ِӐw Bh5nGd|JYW!>O8'sYZIxRM{S7=ĿxX~ZE輵1S_$>Ŀr+ miYy%! #DjZ/+'RL/%֗$Z|Jאմ?$l>Le5\e(֐귕ğr53?k{ȘjXC֤^8aaJ!@JXÁG--ՍU@i 7yP_Qc} 5bjK>{,ޯ&5Ci^*L_f5+>!]Wr j\vq$7i"37DZ0Dn^"+ @\YۜihG/UZ[}𷳳+$!wgi"}ݾs{mT5Ss-_7)=sn5Tbq;kŚaq=/*5].tqՔ+m |>9,P:.Y:hA6퇬ƉҁqAO`P?:_Pkq=*oJ }T_vVlpNarj΁+u3u>Xk  ٦u{~ߐfb9ely^?dGN h,o2JCgL<tIǶ8a͢!iVG>s;I^)׏FS7>9-ǹM)}7Ƒ6چ΁og/ۛ֐۹")o9Ѓ0QI7y\䏬A󔝏Wx|uY;\lLSȦ#[Hf{@~ 4WtO) +Br'cqySϯY=U ܗO"&^uesdŌn/ΎR?"9ɧ'g߻c\ܕCz+pOj&.z:ont^kɹͩr'+]V.5:ExƧƷ_rz?ޅiß Iurc4ۯqЌNͫN9#3O?V6xыzHhZ@ٹC|:4!'7q~>Z8@99HnvT>^Ss_ gLyFtV٫"=MIj}c%!>~׶Qج\ܖ6.vhخ;;|g.6xV9⿬(vrKxKp_ٵldCbtLoUCs~{eGV9fV;ΐ̸_INq׶j>*khke {5EeIe.1EqI"bWgBZ 8).28Ӻ'6$c+t.\ ⿯W/O'+/$&_zI]}uk7{{u||H/[':@^7,̳'j7j2'+n?ipS*<-MmI#XDx?mNں5-ź9kRۊ/`Cm]jK?S)!"?98];8Cn:iΚ+J񿽼s3Te="uIv̋J_s-9E{3g]Sj_US:5)ҳmIh4"oodLZR3%GT;IK#QMyi%#$W\kN+ːux9ˊ]N8|}~_gL\~hH^|bmO%?]WOwvYeŸg>m-y߿ӿNJ?Tɡ\ HvAzNٙy_Xr ;J&\b pwvKpa-^AῬ /Z+ߐs)IݿLL4\~UA~a]7<͌H"n|xϋvK'ϳS7A4*q_OZTYV jp2g'G5_?Rz S&uSs6wn#OY5E}㲤5сuݪ9!gS  Ug*.(c5ʿCʡ#So7WgY0|}?Vˍg#z'|}폢C<]Ֆ~yaA[9ɐϝ',ԩ*sስYB_  +` ;:؋LB%;w܌ӳsv4㋲f~:zA- b+zԗQGbݜ"ez9R oZ+3&!(OO$-Gʠ.udr'EƱxo/l{ܦm^Ksz'wjw;M/ NUƶ|̞ؐiPY_sZU5f9y8/@μ"'֏)5LwLwNW)o~fs3`O8sؿ7VfT99q-X5#;v{Ҽ¸XϔI׭Sxno*."?a,M$t%}Fg(`5;\1"#K6" ~?#N1H7V;f^' [Ń"Sͬ) ?|:nwyn˰k>gXszyUAa1wnKͿi ]ĢgjɩWȯ/>&Ûx;xxv㵿G5H}f,osfTO41ToՎoy$铅a~֋-6>ie]6v'׳G  ߾xrG 7a9<.g<9JoGoA\/ M h3%vNf oLQ~db ݷwą8ɭŁykg5{{.n;}{o90Un~8f#zJ"-yim/Y( dW\CCqm㳠w S?Mr,<+N? PuсIj\Yg7Ve${%A2mxs.o,׍R>V$li0 M:4)p]xcLB{KсAH9͍kIb.CUm Hޮٌc%9o.?eWFfdƅфP"]}Tn|?'?,s:2wmײAϑ_V|}a3S_槶ܔ֒aG;ǀ C>O'6_=7D{<3z7 3Y>>6[ssYׅ8ƥ ۖn[dTrϿ/xg@˼gH.O'T,8|~V-Y&Iblx3lAvw:r(";blPذE(o 3%h(Z^XG|֑%+"X B'׾1.Kj:}l_wDpeI_?(Ou| ?C`kAP9f\?Zwyo'ؠ[b?=Z& v#~R9c8pt6.!е` 3 Lps%a_Lq_L}lE.$#@yZ3bCet!ڮ:C? ו -^$X#[[c-5OC=`,"9Y_~xJ` wٰL>w:q 9i{P'dC+rC??w@9D8~gx#U#:>*[@>6ufr.[F:ܧɧʌ'a<+ \\=[,'O SNɽ<'.Ehl5{x_وُ1ˎ/40r؋2O߫[G/HӃ- _U[_CLێ{=wZղay}$Pd6^kUН\x(( P %~րxUeϚiz˼0y^(ug `o#gp!x9)bXGo m~ CnzQOvk?qԲFeiGF>뭆(u?^XP5u]e l 5˂d0p= t/7kQߣҥpO| mߎ2О*{?—DCyr׾ >;6D+}+6g,/$\5pg_gl1<R>p]cW_^u~V ^k%qj"Be3~}v}8裲~Ǚ/5y༌ qMq.WDKR pgƷ,?׵wGgH 𫷠ԉW׻:M<N vHސlkFq\ K>l1瓈Ckao cˋ3^{XA~?kf<3:o볊()I_L |4L~=HA|uaWp = k6 ~ '>m##]m5RڙW cSP _^#8&|\m7sGpy&L,`|.SOA]܏˩ w(&wvW~wվ|=h|+7Ǫ{YϽ ;g/r؝g͜r'sSDf+,U~(1w/Ptr~)^5*7`+1G3l89 9o]BM Y]YQ2T m&)Z8ȤdNꬽK;Ҋ_lQv3VvƜg4>{-g "7yXg`=Ö´-UO ^CDX!YK^߲ 8~u!}}gx#MhK2~1|Q7=Z7w@` <_G{co<1w!<Qwmz~YC :`q<6c>h=$7'6seO(>)d^GKj;[ >!kj&ʲ{ kM̅cæ&#.HN2h5__rzKZ{uc}w,l5|\O%7'f˗p?whx9~̥8֐ Qå]o; '^hߴGZ68س)r%q$gX: ; ZkUZgPU+ ZJryk]u͏H?{<[y/щWV7c9;{3og 1fؿ>;1$m+CbD<\~ ~ xg9 hW}E 1= sW\ 6ȘG_Βd l[q(f-/5 RBnE]xpc)uYݧ5g^~Ho 9,/&6+ 3W ꍵ ?>:HKb5pшӝph|y&$[_3W]_A3X6NK swPGZ)>cSqosY >퉯EuK {+p^|fOQ\G`-n{>̂>vn_ְX-u]b\fd:9}>+Hű^~úN^ϋC(לswY39)Oc͇yJ]"jCkMѐgq_o6ud aʟ BtԜ$} @\3U|[vk,Ar_ȯv!0'[b?a[b>J޳arH*񏵔 c>&ku.Ja2O~/F{x!*H20 _G/oOwD2ii/גgΊ7jX++s-LݏRbKNk|39Ax:T+T~ ³*0kZ2k×9Lܨ+ $qLmgCﻑCbK{s6;p(.7WUmxEb=p-+"2RYk<ϖ3Dd߹ bM;pVyyf98!}@Ιu0,YYLSw Q|ev 7r+a,'\\8Dp\Mſ7X=wΥrfbCGF  0ϸ3p6_ dM8iqeiY8qVꨞk%遭O ? Er6&G@m 3XӠ~uᜈ9JI< \%[_O!wXkFEυeMȖ+ߧ zδc}p~~<299K]å;13Cf]0D{ĭܣm `x='XwsW5s6%N kĜzM^m/cb|g91צj=j.C̘ g9p]63)ւ tNnR8Kʾ#{/]W33Ы]svRdS#NjP¡'nv~f@;YLo4hX։q?=|ݤ7l׋iP=sDcII:yx'AO2zISpğv=tvn[o2(,P8Oyob<Ό3bDC׸5 ވ Whc Yoq^iXc9?tbsL`>g ݀뽁Us(}3ͱs /هgΑKb3JK?ed- Lgj;n6<55b|iF}1K1`98>ܟ}=:~>VUMM~gBp0 gqTE}Rmq_Vs-(X5<7\N6N}klsh7pp>Ia{flq.\7l&Yj7T@/B'MzžեچgXX;&S9Ae}q$<,1 Xnʳuگru)Qɼ^߱'=όpeO̚)86ymD1+z6%`9_dcQ&s2>1wEkm5!|)G-̞uܗfU;3GXvoZFMbq.b>y$Q#We >|5/o%l1U5>QHcyXb xi~gT:/ 3/3]U/j1/a niw59LT}'H`WzTB'h3&¨? 7}g ˦ ]xf=Π\-#S'X}6lzmWzzK졲OJ0=aj2N=cg Kǚ |rr=D]Th39`KMe}?ׇLG`Øy=}G(Osa-W]GT}Ez3HПw=t1-Top6cwZ^[9+D[Ѿq۱\l n97Gu5kCz.2Fվ pFsT>)3F XW[^ہӯOPWx;jzPbmr_qɃ>8co_7yP. &b]2ѢzO%BuR|>LK3\ݴ}>zޅc]{#>wgtMĸ}C9qjЃ\p05;1~@ec2\_#@.R_ Ea}+Q7ʘs•K|ߍHU 39'cj JA~MwK7 ^l'~Q\hme [\8ŘNq^mS`ǰv䉏+ 3Yּ0X'SRy*S8c5 Pblk}\gd֭y/ 9U)#SH6 #;#n7V^| sKCB&Rz=Ƀ 8 1ir]zA>07O [y~֬s~/ȕ ;ik0,8WşŽf5z3u{z3qğsIiz4s$ńtx;4a=%{ī)$8Ov:oWsWgc}}Y=38wC?/CnJ=`Мs3~+\rKsZmC s9YY XKj;9W o)P58>b߷miE̳`eZsUώgXWצ){u#.cfT?α0fs,qC_}+yKX3gyKd0?k;g>ÞMዘy-rksL{dy$5r+ρs`zfqme]G bɒ,'s# 3 8]ZT{}FM_=q9Hīmz."˪x=KAn3zTlX/]ˎ3_:`g^Iy{Wu-bqK9/^0Ƈ9{J6pYik-#C`%>Ϸlڲɞ"od˗Ɏ}Fp8cc5<$/3I9pʮ7 _ffkźvd=wc}XccO`_EfO8>y=%߁5"z76[TnuD7$. eYHX[?'o)nD,so6찤wMjV1?y3ndL!#I멋$EXN\g {X>ja[89%b_FJr -5e([sݴ}vW1F.3qls6kܣ[sM"\׵O 8c-ɭ_q~1m5OXyq :bגÔvSZ{G^S~zz<9x{|`DYNW:33v<;P,׳tqO =[y~s<oz欸ٙ,m!WrGקi=\7u7;\F,c?tO4~5$rJcA͌{G~K#Ԍ?RP{ѐ3R1\)rl%֟5\=;_EL<0|6C7[$3Jo,~k=kczןy-հdlLz}^ǵٳNs&qWbz;[`YqFm.F=/TAsMp?|n1mN= aXώo>w1)᎜Us0SwsJ=7.=9<#0ő3pސ=sk9;SWdC_U^z{$_>Kck[;F8K>Mr#d8:Zz|*}"{O+a-rcdQ>>:KO`Pě53~rM)|qj!};hwƽfrZ?wn οr~_rlr(C.׽ؽ^͐q_nyu@x\ gl}ڊw;zF{ܽ ꮉ˼G%._l{e;GU[c`㜫yb{x>\͹#-?/|6{Ξsf%Xw(-i_3Vzkk4F B)Rfje%o~|?-@Κ]fYXϹ's;H^ĹY{}E֘3)`O{$)3<'D޸+&D:NsRGlyaVw 9=ߊ{ω뜇xCӻO}Lr9BYf_x>Sͯ×yVM ~)=DkJ>{b\3''uv=ϟbdZoL}4{|0 4ꂜ4זq>)ܩzTaAS3'`Svsgƕȃ?84]'W?6}:Ux>}T l*_Yȗ'/ M`|OsA9 V0so d-7Gŋ\u>O^0~r{3 T[_gC4DY Y#k"!18!!8m$>ӎqsC%׏9Gr:Ezͣ3 ɺڪ5/9 nSs= ~*KGŸXw'ezZQ|7QmuhrQa뉛 V;HwMB0FAwܯ&EΏkyg3<'{@ǹ(,@֩CkA̛9+^#;gWWj:Gg 2YWtK n-D#~|<幙W.Yts4;JXT2/u<,Ff!׆ ;pA]먚[9eϳL\pME^Umǹב9ȵ{Egu?#\rUM8Dy_h{8Z3Y=]S4k@X9kɇ i8C &sۓXt,?#KVq6/Y+ˇGe:~F1k+N?,8M܂oc=3osΔ3s^SY Ap͙:! y 9rƵWvsD50l?M=_x?,g9l9d׵1Ngy~qƉE 9PR9Ԟ򬏉?{ =:֒Oï"'2uN f;eW`&L >c.mp?_w2|\Ӻgܯg=9%f7wieQC~b_Vl:2>w]3/~`X  /+i{y>}ִeyVYUՁ?g wأ2u]^& n ?InþmN)w=Ufk'xo2<|,b$#_skf?\b7py-qO,m<$4EĴ=";|gf=gq2.Q}\܈gh)'"Oΰ|^Fǯ*Eܳ _.9{9~]c۸wNŶTL5_/Rg69-q!ߣK<ϑ= p(,㍚ ΃^-̘l77Ψ3O0 Kʶ:p/Q=͵pCyFW(g&}W^=s97b[Dzi]y 9uy7w,Ip_q xMvb5'?["D뻤m3γ7h#$u #UTHVgOً3uU枉*;QV vk&^jT|}|ziW9>'cӿwh~_>sHl[>uoz< ~k wyIfܞ5 re3#$%هe1,_Z>`=ѵuw" m+Efv;IBEJmkBTx]gxT&{$P@ B/$PB,(RE;BMzWAPEQr-Y3$^>IfΜ9gOPNTNTNTNTNTNTNTNTNTNTNTNTNd|`a!课rx>S<ΠƠ-A_ց$#փ.nU*?l:}xϋPj91d^(EQ ف{!Gr%2i #"x{?ZŁG@Gc2(sYX^9>*#A2^OA&2Zrz2 *ߞZ=OLc6#{:赟/Pr9?i6c ȡk} /ߚ}LO: *ߚ~xL_%oKnsjT-ózeoIZ' *ߒ.Y .ߒl6jYOr-ک)kr$AtPNȦWԪ\9]8V CvRc[ՍJplrh=qcC=ńz 8P-{if)'OlW:˹5= @6 ͟4_*kG$99X251W_ןI.F֊|!ɨ 7M062s327KYY}nbbu"eưo^9\Cg ; @ on>< b@|RLx9 8ij \|7hWiݠӪ.~Zl[S#PEC.@}^쭤ir:]]N)|s`A;mo%:Zg֎l+qCLi͍^~XY,z`|զmr_j=-Zi=]%&]I6U%] ׮k*ҸVT/151GH # Gwg1,.ZV۾~`nM"6T u'cCC136{J`$*Mb}K5I|i7>Fgv5T0 u( -?"_[.WAu( qG @޹]>+pHV%ʒYf{E#v]s^BlUUȒg޳40ǯï vQJށ CWdvH{6e }g|ygkB\rysYb+iAڂ/-⃽G 5AկmWׯX/zXގD~P挍 204xw b[[&ߴ!fK'\fwh8n[>ks3];H9Pܘ'ƽ,7v;>g+}w;3zS>?D.o+w${^$Cvݯt;⸮ru[?p؇^28+Qq>C>pwhpzə~R<{6mcb@Wil+a#]m&062R|w5o[ s0gW[kdh޺sA-S# uW]b|vs [NӫvY}fl =SL?|OfUj>*䵩ةQ\,Pn$?QB,G]ح~۬8*sG7c vujSmaN7%'l[1L:d֍6tpJYiv r6*ʔ~f{.f2{d$++scC5TL;HXUj/ ;DUԨX oJ5_l7K ?ramag/kl؄^|yhXB|cb."V`6UX >e޳ۭEy#=!'.uu΍cdˌ>=#EaS]s6͍eq>R?;8"GMp&-gL39\וOPY+6X7Kx7lOG#5rJ7Ġ^Tz..a_^>hvMy2mH}+ژݝl~T׺]x7qthk8"9)ηX>Iú$z;DžyZdG8M=Oj7lQ^~ ![gtởxà?~6Ha=0tx>r|br^߁K ~W cmQj ^+s~orB9$SKn 9_{νlu'K-^p̨|z~>/hPvb8*Vf:%"޾;%({KؿC^[Ȇ(@U.er윀|7tN| U{LM`ۺײ~֪Q^:[ehX#ؐ?4̠]g߭V%vr iS_rvRv}=FEoqqMCOFw~zR_-ǖvĠg]wˬ"!wBN t>D=}i(;̅*vӠV͸^EڰKg=\m~0OWk vp'S=PE.`99JaZa&I!&&1~&I~&}L`CLV2[^oK Ӯ^&*{֯} ey5_ prUem/g^򟾥,?yY ZAּVnQv =_/"/}~ŦsFbْ{LU[eD^442PMƕdme?t᣽C}sG 5(&`лMAcRQkx\#12.}d(I1#!Ei4dcHReܴİ\#`~IMn⤧ &ݠox\= ݧ1sw2^-᥶#9 ^NyeTca~8M/ۆ͒ÍB͛S}|ud4.d#䇓dLnXZ̸ 1u -R?Gf|O8G_tؾ~%uU_Yu7/,WX[g=uA}k_h 2X/b7`X9ᬦrɗG1ŲgPUI4w\=;<&mu$M?<eȢLA.X%[bB=rTQAnk{=ي= rmZ!~- f,J\`i|.9cRSJ|_#L!ʶk{ ؞AT Aop:\`{yd,-?k|SŜ'I`c.{)[pvN@%ˑ>YWKXe (0bBL`Wt-5k+wg$zѻ5#u/P[fc=Ϯ<5*8mIN <_?3D+~o9Y׮^GlQ7)m5ж^DlJי7=q% Y#}r[+__fhڼ:{ctڐ4M Z9}΁Gz }habhu2}H}`S+O&!v9Z5K~,Q|8}qh$Q=}W/$T1mecZw̃=߿\nl^*Qo1קM5`N=gd#e:4Xأa7v%.RBlό";;GjX3;;o|>j*aO|;V;?m֮dcqGt`$5 בE_~վAE\5ܗv^$b֨.n]SM[B329; Q^\qB6Ubd7G?DU7Dl qyXf&({iuVO^_Bz(5ubiGc}bp~~tIwL雮to`p٦~׆}?>aP?bnW߆^3S + SpO }2{N6rzOX؏?^6L{`؞SrKY3Uﻛh/;s'N/yQ_ %o3kMw wPq‡+{BH{^u2ccio]G x>ʡىGYkjQoO_X8/Vv?ɕMdfҹq%=Eż*;?}hCn'ӆ4j!˵H'ޙ(Kᳶ W*+%GȇأtrsV)k=O?փ9Xk(,^fGuǖwSf.y΋'g{:`pqnRGR\#eQ_G622fH~MlU'!K{oaPUO,كs{j lȚN rP9CeD+;{3"]﹆u y>>Č,v T&QK+{W]k{Q'NUƷH^3nJ\ک< ]u=.ƎB eJW!v$WZO9&e^VAR~sl}?Sۛ?LLMwA+]Z!:؃Է :6s0S mS= uן9>R7Gm6.\[~RV x1?} }U.Aoochcd|s K }Y_jo#cנZZt]IE1>' T.QA'?yzv] {sHo+!uٰ̓upΨg젊13k.廬ѽ:nPjڞϳTؒn yKsٝTxd~Rg if5 sS_#9<65k-_܉Aå%_?WB.&UUS7ϰP&( 3|'ծʖ~G7!#%1>`^Nu9篼\m%ˁX@n>/ɼw 9l٧uz{<6^3NoĵOPWlz`} -$ w9' &&0~/KI]{*x-7vV~T^r\wTS=;gʑq#ezX[6p{SY8,-Լ>/3nʾ]tZgb=Ʒ++,hb36(C9(E|h){B=eEHk!wKkGk19k{٣^:=Xo՟'>cb簧n ;ZMz0s/ &0)xT9]&< 1%6n$9T񂶉>9u/9W6飺4n8ĔԱwww8YH*76_!ԏTT.u7"?Jzה1@^jr <ĸݱ#չߡ(kܝT{orz;3?{a6@Wkx2Eh`k{J?\÷W.zl4OPe hЎr<^g88C)ւ9wwW9=~AU/d̿tr{ighÉu.zk3$1,QtKe;ψ,78Ɯg{g?sy|ud,yE!`貮j^r{35i>N+ ឈ r7g =RKaГ!h=l v-^hExn|h[QbU\j̚G/?Pman@Oz-q[o LEaMy>S.־n=uO虪Yk }31ܓk_>7{^ɷoR2оaR3g+aM8CCaZ[ڻ/m3;*?ҽ< nz &< ZDX܍Y3 \@9\`nQ9q3d'd`|,NnX:%aL8Y`ʼgQ1ʨFb]z/#603\kuƵ854r ~D9IoqF-y*|װ2/-ל57}(M,Y[s%]BF{I,,%޺~ 7Tuˇ{^ uH d6[ NRq-*^ucA?'WwgͣVlSGK#MjIT?(d8NvXWnhl29{0>nGIPX`RehV|{lwƸо`*A>2{TC}PCJc#1b-{e_ _l aM^ތ0N\tƢ mbb5gVܲ3 ߏ9s6⪻ʑ8%T-`?/pK0Cuk%}zKzةJ`1W@q_huO><}sG7R==&a~5CK.䭐ύ;"GjٔϷV),˥YQ *Il VHcE(K78Cg`=[̓iބho)m%N\ p-^C%cD>+[@7LS1O0:u :sr\O15Ύ0ΡZ39 >'9b>#t3'4WҮUH%[T%6q.{o!VB݉JnҢH:||eZCSKINLHy#E*B_fƩ\M s[K }xj:cmy.{ޮX_~D!`mV@Ixy3C]gk }cw{[6(a#{"*sjxNq'Nm[Uk_ ްD:#e/Ȇ:Y8;8O]DI}c}4޳~WOoݭdX؊r}氆lwe7kբD)oaڇlJ^m;Mϰ߉gq3⑸ &/gx|WXW6X1_^ՌLJC|w>j]ƹ1 ZnQ")| 9>JU_1Mc>$Xg-C<~r5Jz#.٣Tqf{T"9vs^`ӷzL+:s;3>aM2Ku~A_%Gj=A'F\I4s.F_ϲəj{eٳstIuc/rV5ҷ| |㚦I֯[**oqzj+C :JE ҇{Iܓw8zaryF8X݇},Fx/! ^GqxICk+1NYu:*c}~ s9آiC֟<|6XIqC2۳rz=aYg9_ s`rΙPU]t?͈O2&lpȮdĦ$%L iz"l.gU#nlq }͔ͱ)*'ʹ4 &W?c/~Ywp._q {EDy/٢,pUq1O휵:)n@kKs`\14=m^*ix)kOcY$a͌TIe4:eia}؞;6gQ6T93fׂ=TZtA~0+YаR? X3C41ǙIsZv/&`N߷, weǹr_31q-ڨӺ9/X3cDĎnqJ–u5X!!S_60*v|_Kb_7_уę2w:х@ڽ;mRX4F)_TkUׇ}w''thTIzG<)aFs#&S&s} r$1!pb@3#{4 s3,tI)>۫)xs-`ܜmxME; q:6Gw޹e#$vj{ q1ٝ=Vop q0+}?B]1Jk枇;V{C3K? p~.NL(oYX?r?<;IzorIUzȌAe>[=>5sPu+skn vo9xа/JŁ)=`NB5ml7'X޵j}-Լ/&){_&>_NPq{J[W9uf;լ"q8sM+=-hFO?Qќq!725)ؑ<3`/H oD:Y&bP}Aў3b5m^9-e#Lc41P ]RgU?Έi[UgI\*{|eq/i?[羥e3d^(9*+9#6݁9?1ts[haV.KNQ翾ƻq^k&Eho-f%^%x֥4;WyѰ-,e<0,_gY,+w1]ެqq~{NGVy2ƽp<Er9 s8ΰA̵ (<s]_d{Yd_!Iu8y%{1ss:KA"b}$4KǛLukƿCnAMmu x;s.Lkuvj3sNk]6|T//ĜSKnY+5T͕וWF7R~aC2o\7!X34j9S`-kx˭k/eIzYa]^i2drt(XT NcTEחky5t?7S>:R^#Y!7@|ƹ;D~>! S3sQKpQ_Q:ELyCְް#+pUM(/ ]eQñ#=c-3r#fT Cr>ZXQ"ަ]`ʿrrg`}U>W0O^me^ UƀY`oی XsNJCu}'ˇ eԕVɯˏovOx׻E="aک:G8/KvvXHOsOWU7i+ؽ\l왾h- %Ut,gKoi.X>nҞ򰽪~o5!V}=[35TlC -S$ vdqCk}zx@_QUerMLº> j]p!pu|DDžKFX)DY\rȔ9XxO&GJ€jsv 1I6b>~ߛ>{=c.vGL tvfs,rfEs7̃p>jjY: V{W/M3~ @T#qd6#i}g#|H?@~sf֣HƜ%O)CWQw̍UUٽ{!u^g"gI#]{042;|^-ugu;s5s 9jexnfa&1 #QjՌ3+ 1vd&`3IY!~0bgk:'_ڞ5e|pI>ULjn%=!])sz|`Y}؟>s7i+uV7Ϝ5kʜ)o.ĽA@Ke10b?O`̾8W9.`5;6 ~9 <-e{Yܓ3Mڱ%ٕ2~HG~pnn+1rkآ3_{y>_,Ę=mX>9d (" 6c˴ dz GD4,i<5\=?"9[=W{YaLLkY+VI=zin.a4jۚUC Yl#]i-755_w  ݺ{yH.eҤ^ 1߱"e5˰Rpo-^‡>>'8OJe=V kC,:kW(5=cPٖƺ}I|>1.4b]yc]#JB|FKۦ)2{sH&zhoq<{}Ipfw|^2F5Wu/HRr4>JysPr.,\7ڶ"s=_BLtWgϼ. 1׮eK\?[z3I}52Ê m$SQXT 5c$]=T'eɲ9ʑr}2ó+䓋+u{Lg)rFuZ'OO-O/<_vA)[ [{ -#Z\OrQ,ͺ7قؘ{?~\:N,w/\UKgiB49Xĸܣ4Sr4M .Mb-=WkZ0itvjw^ zr].fxF}vuŕ յMͻ[}VV_ɷ羹r #^.]mUX5` &k6Vm$^u\Xd[ klǔ> xo5׮r[KWK[P&{v]j>D=-oߠz:{Ow`.G' ]ToW;9{mn].!d5KQh_'//.oP#?_Yzg|yegXWhoA^(}xnh|prsrx\[C\ $P-WgXHX_Cfjj*u~*UG Qv~62X^_枴Fw,M#Wυ~GGƝ\6>J>>{li)y:}Qѿ>cBlPzvDtmknίVv`ۧɊ9dѲh@տTi%3S%j$U*Q f9G_x8[vեus"M=I_owO,qb&Ev<Ӣv;Sþ^g=L2j8>r\˙/8~R;[~pjkF Cgd\-ZNࣱ p0؈DJUriY_Β] 7 {G/P uK?my.oVng)YYnwvԳl3{5F̿6 `cs_=sLnltO#\WNΕzs$w{C~tޯVS˖ܜ62uPYeY by[r>^: _9$s#OE9y=!RN_9m>WJ|eZ 4*>{s@@mToϹ8X$&Uk{, =S$)[a{mweǬN*W^ LӸo%V7^bl*9&I F!;ϓ??/_xzP>}|aYE5UKIcA8)^;"{Tn{O.*X 9lajzVyˮUs x䝣ɩݳeP>\>Hc;ik quRU8YTs2Ϯ=n_#6n2M{8X(q?ny|f< *wS5 ֍=5W{/%L%*Fȩom勏NK.bXXڷj(WO푯o-eIz>q9-gg0vut۷H }`>>9kDJDAYI=r*[g7g\qhqVLqJ` ~_xs_G?q߲4'G˅yeߦTݹaFm>EV|Y黫AwKЪ\=[uV/Pxm-TBFFF r9 7Z:X$Zխ&oYJwgfL)ZΗxNˁ)/J5}g~wjխa ˜;Zq~qq~倿˹+VXyc6{=9+rv M3 EL,b;7'M/.l1@fOj=|mU_n^+îGGHx7j09?W~Sz4ɨQ>^wȬSXW& #⺶RP8Y)vƚm.Hg ufe{FdR{YCY>OvEr:Q=?~0l!=lS{k_{Y8J͞ ,pߚ mf%?G 5kwPkۥMlO4yRe*.4`=;#1I_3ͪiP{HN:Ճ`hH`Iչ ^3,ךZg1v}\cm2G]S3F~?S402կĥ'+_d-N1Ī2!ҬamUoăQAœV2e@Igqo`$mGrEZIdɌa^YMT͏?N*:,_l̶B(9֦n#uRsh]d:avhm&x"ƨ9[3guPĬLdt?Eiۢ8ɡ+ұmF[p/1PUT fp[Gw[-6Tz8y.O 0aۋ+ */lکtI775hS}2L1ap{3"`CGR31yxzsr$#5^w?&%$ 'R.9XnU73 ta^)>N*٪G^zک&}qFX&Tکn}/nig]SpB~N+YyFiVW$SƦo'+v-=/i F:eZf/H]0UTQa2qHN-46WW7Zs7ϭ@N)u_\m&uk^i>W{OtS2QY w;uwt9Fj,#] =S-tk}oRX3,i!wy[?˙+YV&).2]닮 ڄ]ƒ$zeIKn[Ƞ2_Dz9`JJ ^ Q(|^R*Οʴg/yd+eQwsdP,7fupO+o WҰt ?%ܠӦY wK.C>7e\b:}fIgUU$^]dIj~o?OO& fUsdo"ٸ|0XȂw˧OT[sMrb|oҰN5Ck@bXrUi 59YW'[I{ۘo 7If`hpMSmճNKn!}} l#.V1jiLAK[_96W2kGsx{Õqs=WI v,>e |UuU~J>$0_~uziXLmkBTx}uxUg=qww!Hpww"RX{RhKK *m#tfϽ! 7vڏ<@{=ݶ}o9)gX*VUbX*VUbX*VUbX*VUbX*VUbX*VUbX*VUbX*VUbX*VUbX*VU{ywӻ?'4ʀz:Lm]7jԈ r Qrw6O>ۈ) s{y8J[9w1"떯km=4czJroƓwRuo} ".,>n)ᾒ,q>hchgD.?'c}Y\%!O¤intoZQwɖG5M϶[ˬaV`#Z7Oo_/;tXK}J:\_nl/o,o&2J89Vuk,D_K( \\3}b\}FwzGô}_ûfiS4h8ykPc\-YKN!W6! O9ԢV~ۻDŽN֨Js:MH] ;-촰N^9NNٵmzO 3⾃ %+ ȋr9@uO{Y)n.*'6{"6yVm%7]~+%Ƕ6?89@\sqps4;=bPF k&yҺS[}<]gϯQ5+5Fռ*1U%|Zey1sVi﷑%tkRyP̘ɱ߹9#lF`bccSa/`~2Wu|z`'eW%TO{[B)5.Чyd h6~V>bg 9L2-Y7,_έ#uvmo>:Z=0eh{e|r|;8B5H.o'fM@ #o{?.)/_"׺7KaG7gEw!a<< ;vtbyжE"yd4Z)W,5*GY6‚ GLl.>Msw7DQk)$~_M^ |cLxf`] 6rװ2T5O9h.<\O$Fvk|ug/6ʎsv>F~Z\\7AfJ|})Y6cl^FT/yfP]yu1'ޞ.3S9mfGy# 6Rd 0 pu葸caϨ?]>;4 _߫kji=Fla݂/X8<Ч ac5|@ۆIEa&n_SM E5+G ke^lW735yd୪^Y6B&AL)TNjC߼w<ݝPUviٺ&&b6+[gW]UW'D v7Cނ^K п׮#lrAcewzu/㛈[io/l)oW;dyO" bcT'|>wl]7>3-6u_@^(*CFאJDQG66Đn2tͱص7Ei~VyN5pA)A j.% {~'y5r!,k'KZb֤Cdp){ڭ{{VN+QZ[sF6''{K,bs>xZCO'ºHK)gsu]}\^Dn"ӗˮM+,Iњ}sN8YĘl\c XL+`WEs Oj0/}yg/Y M57wWs|=kY[-5L*#$eEIIxWZîAWovNxEQm?9V{?\լwƢ Rd񄦲98O;\fĶrZ备{dN)ҡaֹyX{%˧4Gp/|f AG֤Fl=yabe55D)*ۊ-V4"GSN;i(ZW0||iC}hzkK^}T`3#g͑-Vp<>f^0_uI}佃Õ1[u^jMzb̀z}~ügxpԱjg{ ZT;װ>u{Piry5g,~hik[TkP]kֹ.3ԑ" kbD0꿇3=Iս񬼿մ9eEkD'|=B?{0duΒWh'vwH|YC+{*x,T>fg6鉱LuD"flA;}4_CK;:_ܬ8 SYO7Xٳ|rl\ z7g'ӣ$zg0оz8˔~yZK=xz8o3rQE^L2j-3Uw;glٻwg'(,K\a_Ig]3Kpԩjk-v<$v +9>#{: ~Y#-x{f=Sʞb҈W B髦 BL2TsQ_?;1F~L蝧5 l;Ǎf2cI5~#Ƹ˙1hU!;};ZKI#d(?pĦg%˪0=IK7G^/O-nEWҸr G|U l#IbV95.V ,'8ƈۏ/Cе|m`ѷO,7~Oc'"/{\vlu'2=LK,t⥞'sQzLV+5>$~>.Ze;mʝe +oh7 -l(f6e+ӿb&k>!ҷO>~O4N~?Ƃ{_^rIA3xC%KIὓ?4r;7`^b^/c+k-uVJܿtr++Z8ϊ-Sזyy1]1m'c!}|X`c_> q~}i>6p<=F_=w+[|cͯ|^f`X5dLAu;WPCnj![\62׭:0₱%D} Ϸ}~v70S8^( (^"53"~9?4x|1<5[T\IܿCC:qy=Ӟ_|ndbzއGF9`@0b=-(ٱ6G7i20q#4z8]ЪܵY<&za]p碿kN|~Xjς΅u_"~n[%Z1x=ͷ cggWNf뿉gҧY?]K>E?<_/.%fS%F^YoՏ>J)d"3][.Srq4k kV^[)Ri\ZC"G.a/AY'/74f˵$YDžb?଎ \{|zb?ήOkG"N&yu1qkvm.oF?U4=czT;&n4=lvV줉kԺb|yf,\ힼ~Zfڿ1Ɏe6vziZS[CU.Ǚ^2Hy#?ZX:Z?d ,eF- GarpI7Ŀk`:Ԟ/kͯQ| .{jyu?y0y௼pW2fZp3:U՘8Z7e?%d\0Jp;^q\f}x5My&/{Q8cX׳?oTC 7'BxÜ}c-9fh)Gأ\XգjzDNy:]eN;dcee mq8Sߪny΢(<}tz&y Z6퉽mHٍkKoX#֩,9{[O-X00}r0?dƈ~\W)o5y 8W$O69kun/uFLIlI_g_/O/L{:k xھ#\'t=i-GaՔ0T)Y6e`oΌ5ϴNs^3k>f_Vh7ֺ7]y|Sar|bJs6|=l[t#Xdgʅ8a-9GINQؾ;}5'WƼsJÜx|>>lB+ Ze׼0jfDj<=mwM9(r={p8lzk]u_+A?>8o2Úc`|δb@t[eSR@TlN19뫿e|Ř`^fO52GuiRQZ>Xf֩+vәۃs#n{g?u?kiS/?>F{h:_oׇ{w`{qG콈Wkk|rO5g-t z+YPq?k#r/f#tٗY ^wܜLjsġ'_+8ۺ{ `ըzT#D|0gaCck]C}嬵|2OB~{l8\ RTK֥?|eLW8Sѯ} Zȫ[̗kLK =/t֙idֳn>84 yQ2Փ%ie ]6`>ޡxZyU:j׶ jd0ל|95oL[,! F {//U3ʟXgo3E[q{r>m2d`2o-;HEhYY:7IV9 ZT YҸ3Κh_U_+835ϴZ%{5M{uV}BrƠ/iyu{%f:*cڲ jh?2NkUk \I6U#cLo-lyVX5B4/&KV5sݦ{5KF5gyn#Fլ p1qs]ӱ~fiGK˜>}tva:Z{ %M\J-h=|<1WHZ2c5Ĩ:X^9{K_#.!4ܓK߫uQ]} fRuKvXg3Λ8e~z>WٖnqUGs2v96kYg3ycεjUEL6uWv&@o{8Kgx~.LΌ3̉1Z~N?%__~sz=e y,17M|uS92.^~^_]B[4 ~KlJ p-_xk/Kg0qϡ g>615#˺q_ꕢ|2Y\# }36zJpFckhd-vUu/5}^5u= F_ [}僃#W&ޘ!9:Fj??Zߙ4p~wkÞA:4HӥEn2rFkrG D+ٲ a#뽬B0N{Hp_\ OϬe}q/3;b4{O\ }ȝCtx| ~*s*NcI3 1-q88l= }k2}Up6zcؙe>s.g}}L'sGxC[^8 MJ&/võ)ș7qFg˜ob<ܩ_g1j1>sX=bYѹ1gGν&%1K+C[BZ4zg/Eҧ9,|X٧m zlywGĹVIW/8-o}з4{OCf7{rakN#X8svK̅҆騺3j{=t4{h 7~g;_AŤ =*<;K繃ՇfK*1;&# 3.v?9g6k zJvX痵,246sJ3l-8N2rZBοwkVQgQLSZjV9CVV|`EPwwp&gƛT vڔYg}w,D2pO7u~~&eK{ .gwYw#$O0vf9{kXG8=fyIҭI%<7s\Au?[A`,<3\k*72^7̈́01rY/h6NNC,ȳjwswř%ûeIg`LFoC9'Ηtl"X4׺YY-#Rˌ :-52glN> =ΞaZ*K)r ,疹%_Ͼ'i# rt-ϭ1z;\{>3guva ku3!7 s/s;gPɗx~ӊX;|Gx#ىߜ2n׿;w273ѿZik`!Ιӟ"6-ib)܊}Ұ1sQۺTY;$1r*k]bp1甌2~ɽL{ۍq m3t_."1y By>΂1MCکOo/7U̺gH>>BN>F?98˺Qwujc@Y 2>YP`|/J =cybUsrrp{Y4Gs9Tz=Y%0H;依꿇ɳzu>~;{N@z棣.8|ȏx&MBIb%Y>Y|\\?o7] BX'XQD= bg-Vv& 1N]=qܷ fϐ3qMthyӞN^ڕqF KKKXĕ;uԳx88mPęT{d{ -z魖VWqfѽ(|&,*OWKٖY=N=ol#oV[Aop]-:+ɘ88-S)80LVa8 שa8wr'EKwzY'%zaW.9#ԷϛrTGqfku4srtVY;u@|}A@J`o^Q2SBd H$]$BjvDl7!2_%x {1yM`vK^uzrǩS"cO6%?]20FrZk{Y 3i lI)-8GYjJ(bX5Qfq,C g.O~Z&Gl_ܱq>!1ꢶb{_jY'}KR=<;'10#x!|^ֆ"q/GkH=B @~{Mpgi[ExvJp >a yN29ssllL 9`Ƚ -~Odv4ͨdBSy>~jgJ0*&3s/yz)k=b;( <ӚuoPJٖ375B}W=ܜJ{ge:;x9rY[U0}z8t\wb3}dr"NqȫΦ(_x엙Wϧ17.G5bh\隙oy>`⚤:$筈Ǿ>y3SԒ6SZ4}|~#Y1/\m}XkC' -[JS6!ձY_+̹eJZʹ23>u'XcYBLgI|x'~01X^{eH gXQ>ObSrBڧ|l<3pD&7O}?'ͱ:;k|Zۧ0oQo@ӤG{% 1rq6l;141U'JΌ;y팁CY Qڣy`TGl[y φI3s~x`9 c gJVZ'D8'k2>qo}ѵ C k`twUц )" GG_A,mxD!z ^v/})?E99si3BnM8KHS?nNS^ ^9_Tk24Kype#vmL8y#toc[W|xk;Oݭiz^@Zŵ ]3uӚ2 X]&7q޴N9IB539eo.kc-Am^#vc;B?o HI3%'tlYKj-{4Oo#hc 9B_!bn4xDw<#@ }(9:o!PcA*K~~JB`#'X¥rfWhV3Xj*'\W<썇ѾI@_o Nτp i RJdVLexV2g Y2k_2N־0Z.\(^Z+o^!o_%^^+moln#Y99Q;co^R1)}1ǭR>LcI%}v?vX%͸@ٟ`qcCiaGƂyI;'wA'$+[K/d?y2/zA^/1pIdUIJIҨVDBGvFʺcer=qf=ey|x}|*e|y{|N={/ˏ>yE~!gGo5٤ix^KR#O3Iط1[N0ρCo*C#:Ġ$AYny񝂶\Az97~4iO.,ţeQrxlyry*y{e=^}[㛛-v7wv?/e䇏ʏ˿wqo;7a+o\X%ϓ/)}<=~7J_4๕簮ml)cwԯbc'ؚcI?Ί-țc,V=:>D30x:e/~%+7۷}gB>ݗ?xo|OWoP2~tcyzmDό͗a}ZʀfRf%dɮ"~u o&cҶqǺrZJ *&en]"_gs;CB]\:q7D󁾾ĵ]0FӰQYGZfaɇ3~Mp3ay9+enWP|n tIⶡO^F~'quswOOOIi}%2v3Ӡ]_/ʧ*.ќ(ˇ i0vwVG =G7l\(kB?E?9Gkl5ƚa\G~ 0:P_S}gqWK꼩cKowϏ12)KJ)G֗&I#(f=4[UVJTIKwWIN=gqws///OOwIKIjCF2W'Ч,;YY Gw8.wo{{o>$Yx8Nu/WՒ_ٷ|DIuR[#}5gμ=0m 0rCp((kGԻrB|2Y`_S^A*|/ u}bXdBdITvuҾbbƎCg~cm̨HE7m~պt."`[s#',\|=|^w#W+֛+33F'>Ď^g[ k5&6jf\9%yˆvT>.?~|?kdҸA$ʩ߿#A_?e]aw^>}ܿs rZ~6uлq/2{ro헨m_bk~(|=}q<7gj9[^;V'`O䉽T~U:^|ӯMJUS$79Wg"WOm-_^>>zyr 8?rD%IBHo`#Cvˑ!;7*pUggN؏#Rb])JWBߖd{84h SUף,N'u[i=aVLy3׹Qo9+:ξo~Iy?̚:qƈ1M!ΟmkHgbٹn!~>1-3bcĉn)׸R CNTT?ԩY٧y񼻯 @\d?.5a޵ل.!}GlLDZ c?xZ%=H <=;~Λ3yF[bDiVNNdȞUcn;bzRid9sd3p]'jv]c?Ϛ2RY6o 00rҮEbȤXwj })8h ۬p?9YY{=33_Ww m@.;cK:!m5l4 Q lp#j]K qZՖ!=[TNh_ngo~; >8OX?W8Oʚe3vnk*R_'G"^̟8S*&=9~ް#]ZFDH(iXHyϏɥ/HDx1 o5X%o3` IΏDž/B"j~[,ܮl5? ]ܴ\ `me@ISF hО]w0ܗ={ztOp땫׸ЙSܑ1}ء=0gY ?ֿTHӟ=b=@/oS=0Tq0I|]<רz+=-58ˮu⟕Lw>^;BnX Nvdg/\jS1J8z 87Il-w}|Or"LJCfYϻUѥmwo/Sey̤!ڛg\ޱ8Nx|Br!5S]U0'&HpT;/3 q6N?$|Aa'jX~T篱z=^12k{;z_꽤{q<߯D?ØQ8l: 5:S|xkܤ3KcKv?/t!.YFFu}_|OtDT&*O!G<+^\=?ū}>+r~Uԧ*5j=2p*xB7KXH=AN6b8K*6PT!FGjo}5* \kBFS> e83qerS]d~cS)GfN!) W(-N^⍟Y.M{ +fV`׎.#ǴrȘ`µ'+=cce@mL85٣!ٯclt r:_n®3ci^8{rvA*<&y?3M=ȹ{>@%cn?; [Y1)U7qcNj‚zve-^gnL6gS"ċx%Iyrٸd8~7%K}{_u놵q6kǒ6p601,\0e^Z䅪Xm<|^K3 6=nzB~]C*\8c[3s3`z y~~ުz-%+mæ8:Kjxй}3IN˚ۧ± l [iR` qҦYM 70GWzj˛|3cԧ61dpr<1XWi;0[WqsԹ3cM1`\u?msIx^-4Sz,;O{zҨQ:.8111?S23RkkάΙ6ZxI\9(_N>sF>yZGlߺ[>{w/_e &xk7ǜWaMs3]}.UT^,C)ڳ+K>:_8%M\{F ΰ3.ֹcXg{=kgNpwcjm|o,pVg^{3ۣk3eߖ%r6>քX۸9g>6gwq9g߱o yaٿm\ Q2yL黷z[F&{399\eBx -7ϭFxjo=}k589FZ[8Wv60ĄScGxΙZz8>DFjVlי_m,?Op?{?- TݷjRWނousGǯ^,cQzJDEuεCLP-pw˪_/5p KNF͘ }Ky83[˘/=u^'B/us? dl2+i`o'%[>96Z0b$ YUҴ> &~۲yc˞D~W| s/zTodnQ/G\gnbXFN潙kce<ǘg߾d:xĀ{"rHX)pN hx_TXZMsvqnw|{O8+21tkaM϶5l=ҧVAM ޗmkBTxXTWǙ> SwEX+vEŮk4ƨDcԘXHTƊ%{-OM4$$_=wK\5~1W6=3\{Ι'p8p8p8p8p8p8p8p8p8p8p8p8p8<C[}LO?clpD'''( : qHusZ|yL]D"āB!`U1oXiqFyLJsn_OMF~1Miaxϕ߻8 Gpv}.ŒI>9r/JK~Dl/yϗ;{az-Sx xh\ iԖ%69հ8Gڟ|prUj?cU H]6N#ys`И", i:HVdc{1]oq6N)mpe[ T3xOǜQmc瑙cbF}ݑ퇢(%oY9Igso{gaZqkhB yg-~}H1v-#n! nhqMQIc_߽V xj 0{d[DXx n(3^&ˍi,v8mX1-]۳(l`ܾX\>f m1h@ģ3ӪN3;6ߨ=;w/ SƁl]yt}^&mݘ0Og|R*v[9?[ߋb.ҿ;/sβ\/wX4#tg"C;^qoʬ?ط$[8D8CAX',v{9}Hw1OWmeOF.-evA_ɬNIJpmHlx7O{4]uC,n7>7^'Dy0iN_x5ca~y͠תp+v9㩇F#lf&?g|D%麕?6tu# ر ᲁH #C,=n;~ʨ|=L'RaM8R+}H Ce^_l{9F%l0LoVɵ[/Ρ\E!og9TM ͭ&x蝑1ɨKfz ('X?\tX bl!ALZ`t 1%ʞKGŬB6?kfd4g oȧϬ+=YT ,6Q AԺ!\׍['*gMЯ}4^[^+'uDZ;ˣ^{%`5 [Dqpf}X \\qucT?Tcڧv"-̗U(*Pݖ+szO(3 kRdr'aMp~C!.&gxQמ?0|mb4 CľF0fT/wL@ tĪJ9Ko#M"mTǣA:uMy&>S3~vo$>l_6iv:1Hab_?`M̘L:QlqE4ϣB̘3 <7)G]ksߢak/ojzTSkIeiB9cPw (\(+ ` #a`TȄGO :+1K N'FԚB>9,-ilYJ%afSl(7E}z 2Ă^$v%[H10mqF$ bμ`3%gڳy!~zfwmHjX1Oû ?clN1PS(:4y]?T28oEdtgpAb_[f.bO {ue +hH70hBG wsF!Wh`w,G %Q,l VБ( /_6QmcNG "LwמQ)*%{)3{4Bq |,Vl&W`F%y-:׬E!C/#trYžv+pkN#7!`Z &o:|=QWK~4ާE>ƃ-!mQ7H_Įf OV (ylΉ=[KZ8VٸoZ Y&vemۅwCgz ~SU l`cFYw"/0w"2j `b䔳Ջem>ڗƴfJW{IFWom9 ͯH>Tj9&OCk"XMތ(<+(&tjHbWj oZ&lcžN&'Jy!L{3P|~c9R|VѸ~Z:Qݹ 6~x,bImʃM!ĆTx-Z 3ՙP~(Ik8wjuqQcs6, Xhbnw {hQvI"%60UBwNv}ZSb1bp7 *0O;4iX6!.n2:l_bQVK$ Q>϶K k0b̹MBV) Ζ |tL p{f|z.J 0Mlp傶n(KdR!8d f?S+rbU7cɈ RjckY \v!N,Po#>Jeƥ›4F5+ӵmvf &@V~kc.&uO<0 Ьq47έ'

, ;$_i펝n/a? g+|zf5PAޟ|8e/sFȎyZ%֗> [Mҟ`{Z\DO<006 =:5Ŵ`Zjn\L{Fѕ!B=CO }9Va=0E ,߄k_+ggV5[Cе'y^Lx~7U1Ȣ>?m:1O湿րni(;7pc7Әǖl+3ӄڀIR`2#E;\H{)׿V 쩓I#KqxMBHZ(0<`"w'}_n;?MƆeyS1ʧb!`<;^F_i~BVfML5(P;ۥh'jaj~;r$B~+ݫ-Z'7@8o!Z$ŠWAA@ X~6aHZX~Dیufaq8w`fwqj%t`^7 WgظAo/sFF N-5!\_7 ̚9 99rM)gگ ׾VN ]\4pqVCEu]q!^)@ C5B1kVoϖT|fmkBT0x}xTvB݉!wwwMk[)-5ZJֽeΙdLH?ϳ̙sw;,G;;;;9Ю6EέIպ.Ul#3Ԓ|Q~rli'yxx_&rtI'j[9\]άJkɍ=^2G5vܛţdƞ~x׸ڮ޲ttc,'{\, }q/>X.'K[RGm)q?{vu2^){w8:摑ɕSԊҴF!}="[6Nm!_^%wk3 {Cj+I% y%O)![^ -~I:?xs⸖q}ޤߥ 効nl.;ӿ?/y|5)>u[zz˄ˠ?x`l*>.wS~oo^O'a^/Ѯ(ٿ7hR-"ˣe(dx 9SY&)7=-3ZJq\#{:jYFއluLr&G5/΍nM%3yo(tu#kܤ܀~(b;+<RtӋQGg ++īŞB:B9{<**4.Huͭ\3 xeStoYJp/^2Ouyttw[ݲ[zʛˈ.^UU. >rBc {֤|xl{pEs a#{緓%"Rng(%\#3~# ,53~EwW9} E*n.Nm W`Y WW+{.O;۩Q }F7gFjm2FH\NXbbt XۃOAn ڤvr Pϥ7|ةA޲9?DvDžga2-yB=ed^`ӖЮ/~5ua~jG}z?3 [Z.ߗ7Gy^`G3^tWkHO:6xv5@#-BjË;3%t gд|q~Lɫ765U;4{X(E_>=@7e /G_RDoj\ktJ\>Z &6HxH$tIEؗ3iʘ u2Ev(q#`wv>r|ֲ4)!Cg]Z5mr{߳U|cux׊nЎr>ưy2`3Б K@ |"d ͍:a=shloRj$Ah_NtZ ͿZ4m;x$arziE qsOV(3_ 37~Ȇ ŵ#5:aB>u> =8ߔVK9<+|>#;  I`Mʴ^u^r[ 21Ѵ 1!'_m8Fu*/oǽ/0~ d*|O|7doѨ}N].];yXҎ2wX]p5kQw`/:EGߩY%ى+{:(}vJ6py;+1TMnJ38>TO2xT9<>`#wừw.;]Sw'ks~,:7Y`?ƃfkAPG xɅx'urW-BgUK"}e>#3*d|n` li61O2C/A߯X4-!qOԛ\Vs$TN~,s{ȓ^W}[ϡz Kߗ=X$#t;B.UN;@nvJ{&De`^τiGUtLO-6q<m{:d7"Vc_{qý♫@~F {J7ZY,v %4FD{9sݓ7PMFMѪVcЌKӞ5_)^.g~t|3EJ@N ;߆Q=)NG[In:&bt9迵xkuL},=K0שuɶYfY#Xh$|2w3>| ~*䢀k캁G:z[ݻ30.έZ0atZC_qě1@B؈^.2kpu_4nPA6~a8Dz>^R[Z<]h/;!=;װJ~mǢ d'1!{d>=卾魤0 Wɴ#! uC,/aպC..ӀlˇHUe͊1qt?$$Ċ( _ZQA㚴1! ԼйȽAdy v[)ɐ5 6K; TKrW?P<>>L}R!0_^ְOǬ:t*"3fy{v7 ~zK_g+߸"[k&6vNV5x]]= tn{ T3wV_ˬbR\>1xGyKS-Gb%Șe%{e _J Þ4[^IB+F9CIGűgק` {yF{s%0ե*/\ק,^SSs};OqoУܫ!\<`CĀS?}p <1q#&ږ5|ltܠN[Yj4Z@ N}F:qY Q$䝸VqfJcFgz?(_ X0d!3Oc#tbS<z$*eYzi9{se,$Sk Yڀ63>0usπ}jl@bռ+#J5)!úTXͽs]^sLyU3uJi5K -] b'[fwV/[F;Y=:>lO7&i PO=ކzD=ӱ}%p4߈~'U.!ήHsZAmsXta|1Y0/xI" i?>5\3E}ܤ2toR{UsR 72RI^#6U3qbcs3 :0tc<9kuU=ݲ{/de ƅ0'{N3nqEvM݁Òl*ȣcCe ZPoi:H }Hh u\,e *wk,Iwo*?ȺyC)MD$ /O˟K$:_l>HuAu-p?s=Y뺣(n3a~Rvy`)JjqV |Q+]c> 7yuC3ԯd<,wXz*')`hL9şZsaСsá^ǽ '%Nʙ>6oD}ݧMpi#+Oπ^iMٮOz`Eä5kCI3Z|rxTo/oV}عfȏ3؁a~̟OU1jun$aAFlf|Cog?m6~6e̽ KžI?س{{<2j%(x6Y3~ZE>=7\n{zFS u@k{|ۖA/]n1Ͻ15|צ33瑅+ON Ӽlh#vZ{2;oڟcR `|vvf u7x{@YAHv-J&.ˁ {]$&o<8J'ϟm+Nj4V=T'=m\kП<| Ywi+ N2~xW;<" Mvs|'hGA_ރ׸ڜu-Z*kګ//>TfGHczpWη E sSa & Ig?-:4,qܚMJdg*g> R؏[5YW V Bd,_?8(}뵁0lmQY0?^o61qYǮv5/')Eϰ^Ι慕P mNNRZ)׽/ϴUܩ{h܄owrxrVU>/B!&aMM\. 6tV E!G ;~%Fdqi|hH[6h,34_sĹG4F3YցGJ5܂>ĸA[-g8[攩[5*>/Fv/+(#Hk؁+Jtdm^9D @/R|vf^Q*0׸jAo1m F>cU0wU}ob{E~3YR6{ʻOn̰OUKǪ`)D:35 {uShwݝ/ژS4g^1joX1 g|nW]>,c1{Sa㇙xb 3.Y?”XX^W4#+hX%^?ʊ9$'}_QH|` J1TJFmۇ9mAwzh؇2f?5)ρ/8YZ G}9x{6Z-֛ϾؔIo8ORيtó)}_K0dtAq6]`x/ĂkڶË:I|_ъX Z^z1M?iMm^Cك5/M_RD됩*5XC'f^RR Y5w<4)[`{LeFdY5,YP?wZv 3U1Ao0oߔU (:lJ\PKQZ͚@T)cfn vg<:yк>|W}эMr"եN,fȪFbYj+_:A }5Ʃ{)1vS-%cp|y}U_A|RH*$amL/ #[f(>}[cϿ:#$K1w=EZH)ٱ-?+!q.YuuīZ?cC#j\E30b^> ^cbY}e.#ӌo>a5{Z>i(raRf=L%A>i5*;7˥gl[yk5˾p%}A]OJ+iע$*"IJzRJ\ ƸNۺ{^ ?eT2͝dRߨdǻh]-k%`+jƫxȅa-S2?gk(;̏Wp<>&P |S#)ֲbcT _ie!߷c˺C: gFD+7"=Km=\h-,@}hw岅N2R,1FG|Lf{XN#$]= Iw}r -~|O!8u7!>vcܼUo&J2] _"CT{v<yz|.yZٺb\;`<ҬZ~`֊'?8m:3ПpђZl`W.B/fM>AX[cbʟ9耫Rt0w= TA4F_7Igm`'ۼ%3ΌZ޼J{+) #d 5PJ 9{ϰ٬y;|PG<2?sC{4)~G~xQŋ}?rB|pkhX%ZFu5޵u?Dސ+Ewww)}ĖgVF [eoA2П9/+o*{Z]pǴV8XVbƇ],`69cS94V0Q^IuA"x8#csg eJ C:- ߳ea'ԇ]/_*Az@߿A-|Aw76ho+]y3,aO.^$U')N&4 G, ~BJ_xO޺F|yWǸ'A<#?r|)O\/.S_k.ݏYcҪN֨Z?2bgUvNYc!Ɓ1.Wz19 "|zz!sb,bV1b].0k c%s{tNmMar6~T-_TA9|pb/{iw} Z]3[֯ .麉6wFӳۗks| =DUh3HW|OД5>5*?9'@<^F~|o|~iV^gTJE&/UHiڿ]YY33bv^CmԊ2_g9$U]aލqtcW6+{ޕt;-:tv3jA[9}cبٯ;GmDނ}@~ۧ4+|O)eHq9:81)xŚ!K5vKfj xk| 䰼c}.)У[bZZ6kc0Z ߰t\W<0'ځ˅B*Ɂ~(uvNydBϪZqn͋sFL Uk9Cb+t xco?yT5ҴL{ƃZ@lT\O{雰7N=kˁ0lı3pc5)dwţwȰ%4_/Tk1Gt5d^a^=|EzSV\gY  Q _tQ7'W ר7V`_=: Ucgs:8i~8 }d_,~0)Һi)],z{[z6xIX(`7'7-)^owN/1VkoI?C]ҽXQעQ 5==l/#뜼2zAOYw7}#Ɖ]I%Q=rnYq@tጼc!ჳ>†4:|rjڪt{(^`}EWM˧e1>Ã2{eϧ'v#c6NI.K:ҪqUťhXgGG).K:`B-h0h,Gyw{=?oO|/쾇}ߺZ\^+f+^n;ݛIb( (~2\5Szo@ dR’TbYEZ*`O7G\Y󇬿]6T[ƦVͶ6Ř@Ћgܩ# , Ml؜ĮaLn"Qaަȣ:u7$4F-״Ӻٕ>_!9swN/#[ʘAqC:'LM^/_7_(>\F4lُx !|>8CfeV}rFP">O`.|i-Z F-/Qy-s\5'yf}hQ~S23ĞbfM]#|e}%)F}#b6c RC۬Lb88[hxJQw ]W2ǒyaXsvkbm;G4J^`>phҡ7{[~x,C/䅟i}73%}=`` U(C`oabȴ0_ɾ?c!|t"rpקxfoV!rzI_%ð紹x _-k<27 +سs Mu n("wyAzz裶efWOПOL潽;Nlva\ԳtXv' >a`|/xEy:t4lT-On_G&Sh۬yc/YZiZ֞o̯Hҷ\QyXtcS==|l5wb@i.}=469Z!q֟p`Kriv`[oY;g Zo|LK48;~dHϖ2T~o.U@gtk6]m^-Wʳ} |kvCnhݸ /Y5FϛFAMFs b5hOqZXbL'ퟞR^cv/+>T ۈxB'A>`W`|xc73؂65q_vp׾+0(ONc$kS^߹NLrikuf9tmEp4*ᡁ~0 1GmPҎvy5 j/`S<yrlt50wr9k1&?=x(T3`@%#^Ж/P2;j#t(o7q'ɱ\[9N 3u֝myע[` +dmsgv~o_+ޭ4^̿惹w~g<]ӗGiҨv4vc3-`-xU~{vZO|׀?kW5af53gb opWZi^Ye?>c9u| /XG9[n;C{29ԯ?v Um.a.<ܮ^y[|p;slܲ6F }^Hb=.ip?nnlx-VV[4k`uDzmo#wo5oᑡ>O3seϼvڛ|>\K4EF~{(8TV1k]=@+]w@6uӪS6>+?C߿>63TksCJIK>3s?>>?7SA|Z]g~89{HthPTgϲ_3۶zMۤnyqm̓c X[9ۜrޫc-=2s,8vVx@vq̅XU;xrNN2O+ٺt/9`/Kt6 }C[o/H3HJzcA #c>2?y3rtIgoKÿ3<频 _M`&P; &=Z?kM\s8/ܖlXPÌ%y14 2V >HqZ3^2c@MhGlY85_}[ߟKe;l`t__4˧kVɝK7ԭ^xqYꥵ-hGd^2np52ڸg{ìg zRTe-*ԧ +*e:~@/}JzS`1*g6\8O=cqΉ9<댔@/}2r*ʜfxϟ[g8"FN|?&B DIqs/˵$։O<{KW͗yS{+|A>{#C}A`%ggL6v̪9ɳkRԷ: ƿSrsId3[4GM_X,t@?[1ҸqA^N?Y1ydǜ6Z9󜇓+;ޘ3=K-+~ʖ( 'W޾$Z+~sÌK|>OW6IjƬpܷF16Xse>rb"-|3ֆ3/*ݻpFKݿڰuNDƁ9^ k ac<ao‮MKho"krhM Ty,_ΜKYVܥ-ke>ҸvY)  `}3E⚅⣴4C=zKE~}h~v\~`3؀U󆊇! *ˣ#!cq0=aOy|~{3Y֜zZ։Zf45n\!NyaJ{-gSn5%eǜ֬ : 3i/qS6`! ^*?JuY?^R,#'_%;飻ɈSZZW~y=cr% J)jռ\VF[:ڧdfY;^3^Nl)7-csezh\=ڻ~LMR:+g I bǖuN)ho{vca#1//{lu֞/a5>jN1Ʒ{Y_橥rh4ٱr,Wtk,^"0q@twW&:sW7P+I2<ؐv(lUpЁ|Q+̸5 o/>\5øWvwhL/Gwb=fp*)IKz4?}L716Y"g̖3ȱm3'?clZ<\fKYSe9Y׀-)b$~|3 #5ME+G,2ttC:8755 \=Cfy#g|QZ j+7'F?jv#3?#?٭k[{=K[(VSd o[bBxVJð `?uw,eAf²oҩi5Y঩rry _wqQo~|libsiS8Ӈ[hL$v:x$l`ɕYraKC9w+a@l|weȥ P}.Eȿ75[Ut1Y^R,!V7.*39z'w`_?<$Ͽ<'maOVO%/wG7z97sгKC;qV$!ZǬEc eE댛#wNƃWTy9KlsMw@{浇o2Dk\:`ndvzyNPkie($`0ڊ`o0nuxq\rAX;Iq:-yixu5C.ڿuu<%+R\ 璘C;=^;4UҼaeK| ;,~\M~?lmt& (f_ kGʘ0 M<؟UfE͘oeꀈ_Y?U/ ά ZykG/{a]^WkG,*7qvepdJIOOo]7kkA Zg}W5 ?}rL~L> BNWKϓb|\OF vpͤXoݭQ0[E=^? ,w,u?5P B ~}W`90W: '?ά \ ƶh_9c/ Mn*N-7c-S4^>Ui]3b+$=.>LpKoӇQu3 wɺC'uN~zRMe]# D9+Wk'Ie$~290@{cs_dQF^rl9AsXE|`(2^UzyC|ywY-'vR <̳Gp#ڧ=_ۛ_ӿKnP=L䤬vH*!u].Nxd.'#ݯàaҫeU ʃFul?Ϸ`~rx1u⹲oa5B )~p"c4DGKބXaw&J:IgWY'`Z3R-M:0,2y(x+[svy+Ϲ[s/ɺJ7Ș>C%72hJnR-!mxݯ5c&n8->J)i9ǟ<߃gy^=a<6#eܶ/AvcIjXwJ\`rrVbâQyF]Ej={\8#w)ɳY (͑Ap>g&̋>) 3njL; c}~[by]nR<34%aV@@v` m@%U/(: bؓG"3sH=L:guV85̳fm=S??w;W R6uzEsw`ԁ;K+gC'V: 's>x;4mR -N{qj]˂MŻ:JoSWFu<7iFCowpdYu G'{)=9i>86D,u>O rR\e=4qE ̆$7{9 &l-:c6H S Ы<4X華koge\ެ ƪ [宵= P9yN3XV- iG m1NZPsxrЗ][K|P3q1+fx*?ޖtvA  #@gY`vS^9WxؖtkvSI@?;Zb˃'g^ޘہ˻ieTƭ.6k#thإ}I.+ :f^  t Y,C̺QAɓcô߉έ||yڜ-~!>ќ%=kv@x^ш8/mk>C_8g9c=N9>;cMXh>߳#էdu*8+3wg{/ ?t2} JM&y!m{iؚ 3yf *hq<~3w=PiYLJMA܈f` v'?/)ut& ɰl\[M}RH-u1P͇sk8Wr3I枅w?A:eydB(g`|W+_Z*Z;2 |ɦ^Wq0V 095I+a˂Od9bp?: sF<3[j&]o̲"ӧ'_\}f<=Ĺ3cc.?:>_?,x 藅#ꬾr>p,ιϋpR$7t6sŗ?紱'ox Q:m)3Sys[64aA,g PƎM<ܶ^1y@~hMk< |M:zYe=ԆXxw@c5evZɻ5;Kj {({ͳ?C^OҜ Ǻsοe^t*ɛ{I h{%bnF3k~\np "s-c}br&~sО o=/wV-ߙOU4en'!3^qӾ. Lg!{lVz[^ϡ l9/oZ_:ƃ &0Nȼ={zs|47{*/_3Ws`#TR&,蹳AƌL%ٜgʧ%uLCкnП9v\^SgN?:ZoAyf' 2ܖYZt,6Ok 1-x3fq̔ft}<.<99Tvn-cS7WU=[AZsyf\3XVMn&ќC2ڎFЛ 5~e=A5ur?ܓؓ sL =7xpcbp;۽6IOz<"7iˬC5׹h~Gom) r.gfnRJLșJG/^B\MX۽aJs9Dg e;줲Uo/-c2з٬s~d-xQvA5?W]KCy'[7pI'6L!vO9X WoyЇaaJY=xai{;+x}M%0/nb)˳gy ϊJnRJdcO/<딏:f):W5ߩ3k~?+sCC||ϸf>3=w8#f r(v~/CΆ{xL攻:=8y`}0 >I<#kd|NE;M!^g4F:ډLKţޜtvUޤ=gt\ e@cKI:k׸,gc웲b&O|~f[|xZ%sU5Ε/P,5-Vqr-C-g\7|ryfJ֨/kO9dhnZCzN Q^a," |#nGOiki 7AQv,Ԅd~/u0ccuFPG௅c2zVq-gfğ#LφpQ83N=xbMZ,t 8xO *.gО~!ul̜`k="޳ys(hټ.w|N߯5t6s^ˈGz-~.:I41+7ѸZ極ve]8ozM9uogxreq퇎Lx>gyeE{ zM@Ѱw57H} ~?*hEܝ1'ev}ͬ/9aKe}fpx2m@ȍQ< q8͌K5 { F4 W1^/{!<^JCt[˺䩽6ʦ8gXm` g:1sMȳn-C2ӟz~:bT~cXzSg/DRMgc`0 r<1!WNBsy ؊1RJKBu _cF,i/>?2Dj'7)6]+8~?qZ(]~N]0c;>A6j{*`žpԭӟ}ӯk^rS\8#/nz}Zg5\ǻs3aAGOU~wqS3b"7=ޯGxqgGIEK:z6ϘC%iI'gug:&@m:qse]2Ή=35f- 1'4a7>Ky0>4?q(s}'Zb뽦Y[>i^br6U#|TGbip F|Sa]0s;+^n%z0߻{^[ wsv@?<>XgͲ$ <`xy&FF|*:u5}U3cfOg|e:V_lz;2NmЀNo[7u\v~?yfϘ"#)29'm~U;EqSuЌ=3ɦ$աaQ1k`mqcָe|JZ30| wImQZc?<7{y "VgQBw1Sq =A_Α!ˬ{"A kvvrnh9{{+ߝK<O;gg7僿v9!#ziؑ"})wu9?!bE#" qZ?\|a6/Z^%K4R;=;gp_ǜ?W5yٟ=^nCGT3 ޵FUsζK*b Rn (-hUƀDRDH;!HPbDD_DDMofn<|ٞٳgvd<<9\5)=rkΊ%rE^295GM-x~ {[k#iN׾Q.M8dߐBJo89w!axt"|]QW쵘$Dz7 tM59\|`Oi#'_/u؏v1K=ˬ8PI@5[fȉ Rqda3q3!y缩"36ϵ4?p_~8rנ"ϧk5"^0ƿhœ('G&JiRe5y~1~ g v~QZ_$g_7T*W:${Zʉ)ˇ-AԖz nC |}zLgB=<'07>1I]?R5Pܔ2&:DL̳^ˉm}!yy){uc![a}t j+mfr'k^Ф 鮥?4Bra0[qcW]-gʘB-JYѭ{>Wڏuane wz_,ӂqA3|Μa\;jf-Za {~~}9=j pz@:{ɘQlHXfN-._!'ǜ>w]WB^Ѹ'[u>}Wc&BՍ5q9kdMx4㒹w=< ߪm6%q9-L#M9i҆ ˱2֧>rwb(aC>V2_3Vt\Xݓ` 26vXH9%r2Sq~J.|sqeX_U D*8Lto" vYYoJqZ'@B.1W:J (GeD/ӥ[N r~|Ž+DѴ,Y]7Y'Ka\򿨠T/Rju*%؈G%W;>Ay0ah<{f ѡU0k0ϔcdLJqG&0~'=97X=j֌s|o$2#CUFۋP݈Ms}3~eG-S9(ZS c΁߹Д{uֺ޵!UEk<"3k1督Wv? i"9&Rߵ:ƒ5Td;6ÔE6HNӜろ=|I y##v5iDZ/\ƾR-l'Ϡ zsp|`RO?*/p%ni#wK~&Eւ sYnYkÞkb~g*ͪó1mzy~m|g?-5!dg-[q !^)/Լ n+zVt@meôR@jZ ;+1ԈO;:n\ 櫦~jKCNsܥ?;$Mn$۔w}~&s`vk}--$=EN†@W8O q\ì2Ⱦ%ow9]RX4mPFL!Yݤ001Z\#\tN8D`~R ή7*Grv)Y4Keє^rZߏڕ#o#> ob'&)'C2yr,"Zb2yJq{ 2) ˜?7r0Q a|di&ԁu5!}h.N2_S,m+•:j~7Y ~] `fq^r[K `"'4/c}|echٸtt-ǶMƵJLQ" =.6Or)^ +:Η%eZ6cb+3T5H>X`?Wi g0XJ0޷)*t09gy7k~a&mF4Ёr a5LS1TNGӯs$ۇOI/'f]/8Pp5gikQܞfbaWBG:?swzBݦk~_Fyi[z)9wl 3TPH~UQ]0~.\Vlk\q?vO;UWgT7;̒om{1re%-Wc~fFs~2B'":_qx_m<5ydV'O]}Jۧ.YJn"pymd'f D2]a:GV=ɹ(_G]&G"o ܮc i#Hreұe5XK?fyra.% f&ws^o̬*MK^{!rsswY5Rʟso͏X@>M>j n|/oNJc֞>tgtpWVbc(OkX~{k1x)mЊ6r گXIw |}1V?_\m yIF/i v oٝW17p$/S&":ԗy齤j( 1c٥:R=+mTQ?llX c쿕H6%&],ͤ x&`5sĵ Wc3^qw y8zJO`h.}8<.?&9ZЁL_v/]E:{pmKˍnq;>βH g¦ǀKԁF~?+"޸7;85z6#1n`j^a RjV."YdVR(_fpsNj|G'ʋ{[dd*^t?5r1>d,y\]%}[|^ mkU|1V 㟝m[039}-xobz-n{9)F@m滈'uUdE__# #ejߪb{q<'y% E9FxOg͙5zI. ofҢ^Y(V(T._e(V #dT߫r_ul؈c+a%XߓǎŃ8p|m~h9l1/NQ86󶧠 gKdsRF)DMH&6|c ߲˗Uwm,3m}%WL*.JrlT>bί6+߫ $31Zݿh7?s֩I('4Ze& *9/do냵k%Fkɱ,u^ZZfO'kU<)31)2y[%sRI>c?ܪ\)GVLnxYEdRM*cҹe`* h`dz2:Sߖ=g]sO½}#'~C|!ue5"b |3^b8' gc* =2uߏu~%D n|gV09Ivˈ1 zOV1C9? _9pef62wXMy qVɸk|V0)Ts𑌐/稱ƅ;x9-ZN\Ma+2yHIGGлxH9]ӧu'&9m>)s/SF_بR`[BY!6 :Te >pعn(Pyz{e71i/a+V%ݴ9yGNӌ-0hrP\o ]MOge|zVxvfy{+I?V q52p~ܡskk#x+ysi o9yaUo50-r%U+uuŠW޽HqR%v6u}̞'4k_l>jsSSU^^Fȍ6SWAQO%~SdfE֖}YcuM{/pಔe1nЇ3XzuQb̚><6? (Fҩa!`V51_^ή,{{;19*B.ÿ;hy;E&n0ȼ%1ttv'𚾎'sq%1r>.H0֚aaLJnJB<5 dKNwk)7u3Sx ~Mw/hd [HAM z^]Nv>$=Ȟ >S⸬%efS~rqQUp2;Ā,ϯɷHnMT$lyv%KuVkdtX3n9硟{Y+ 23QQf|>6(,TjBG viɿ.p8Ce蹀3`GRX7GØ>urʟyNYc23M]dZ!rs[v7?Q<Oqypv(py>9"W|kh>#|`m~=(d9bsI;sM*tN3F?->"#{M:>E_Wi8P7gbdƊ ;K!. 5-B>D'!~ t>44wApU)o|&7s xrOVGfpf3i 1b.eٿuhPQ.KVzfl2 ~ ] c1zZ)ԸG ) 5 .G!9{0;OR|oĴEnȧCݽ|[ӫ(9>ĬB?lk .ʆH֩Mk}G w-c:!@Xy- ^c3$KaZULxy`E|}ð*ap슏)[YJA 57 >ǜd(yf^;A+qy܊^BiPU#) [)W{go\>݇4b r> ?+U=[AK8ZX1ԣ<y"7+.U#`}pZPPzTT*r cAa@mxD{؏3Z%e w4KsTK^M;AlY~ ޤ1v_x vĬ>zމk'bz*b5w|Vqm;`7c0ʇy}ߠ4řګ1<x¾\v5^>VzserAcp=f1qf,cl~I 25]Ρ c ΨQ7?8`W9l$3-R{%R>}8==MUOGsMFL28 s߹qaU sK!q^իd?zc C!Z qװ&XQ?Oas8~70,^L=>s핍z7 s2V_ݵF.:-RYNk>gSǮJjSnnrZژ}&7swY[{_){򀱆|Ū?l1A;lV|_ayBZ(hݜwrIR#>&$ۗ3>דqʅ `~|~x/QQϚ{8$fq :~!yeUc0Xm6?a`:V^/8ԗuGp `dmpy 03bIy}~ǻz y?g,uBث~s5xkmj+>.g9LZo`߳P~<8@Ų~,{*_*ນ}gVX]= DJbnw;O(K}!I9i?7=G8 YEx:K|1gx|~>A܎wԎzy׼zBl{G '82sZI|dw>Cd̦ xRVVNLR8OdFc^=`ˤ-'akQ=Z?6[Z8Y+^]M's[=SyC#s&6 N߰N>[K,<N~!cT￾ZżX*y0 eg)w{#}2 !9cF򒳰_֪7׿7bFl}?ų }ӡ~Ҕ |Z6{6J홻83x~[@=$? 5~N3g^}'İ)l?ZԔm򯇟|o`۲ˍ:1`v<Gsc8^2۳N lwۜfru]gy<7ECkQk)C牝z>"d騺Q× Ģ @%o[ TϹbkʵ38??7ɨ> 3WLk1CRzݙ^1^k1W_ɋm߂]X!gb;H805ߓK¥f-RtF52P[#]6}W5+dO}Yn8dvл9Gշ쓤[T+ 9*ipS5qar}q`܅{%tfĆ2&䄎uoZXx6ù7qk;Gv./V-l;sSx-t mށ 9ֆO1`lX^%!?ae| zYbӥ}]#!e>9ENdŨz8J*gMg1t>8̕ur~{|Y>e F9XcZȊHi\EԮ]N>xxp'65դ lE<*FBnl&U;O6DO!;Zk| `n|N?~9c:=\"mQ:Op>qfgpD,ЇdIH͙ p%f?W° E$%9e%+s+Dzkk;/&5[Ag>m2>#~6Oñɡ ~{8JA yV')k3~)3UWp T.k#6[p5Q:sR_YN܀[f6l/iDUJ+@Bq.:urIFOOA?8|U ]r}ϵ[T6ek\=bn2lbzKW( FO9weo!c:Mr_'y?wNmR&if>b`/X7㲗qkEYgtF,viZD3l[ZJ'*PsF֑aגU lt7cO=g65坈[r}ނ3 aZ`LKw-$8@%=` g .%7sf 6M*fݼn2p=u.\rn?훚(C{,joZ'?1s1,}k>1`Nr=]C+kVԀk1Mť"pX9[&t(QcIƅ$qIY0Zckާ6-*K-z½S7gߵQz/%sm1U2:>J'ط>z 7uX1^jq#S{?f?5cB&c^u@\A~5x[N ȶdgDy5N)[e\I\ &tʥ#SK)?z<5yr-L͌%2ɚxq8Cs!c} Q+"5iw*nԣ.MB'BJ Puɽ@0d)]4D҃kXp턞*7XXYH& S9 7w 9@ tSXSf/5s|bluI.KG 7 rh$ݷ4SN-nN?5𣴕/Og:y\ <+m!|:ꝏ,אK(gkFTyaO6'GzU{i zc~5< ?zU0JUU'Z 2hܿNCYyym8Y& n+ OG%dr2?g`k _IAo&c:ZOlbreNlKʌk 7ٷxO?OqzcY2R'> }n )?/T}1I {"c~OC\9߼Nc>Ngλ(~{~w^dN1$g);DzD_m*?=y|#r3Zm,ГKf|,^}:[dm8h[)37Myp{ob5ޔY\R8ϕ%W1}TY\Ɯ&c488{;)` sR`&O=[S̬jMަO Sޒ]ZGWa=WV~%I8ϻ%|T,W u $ȵqتd I FpKǧ˵U+;>;2?mz%s0o87rbXcd9ގ2PZ7kƅx}(cB0rh}'s9`Fb^9\>|Wᴼn|sj3~wvRRaٽa\l%UQ{f8ا fRDahs"{:͓sְ{-xK+g?q5죋5\&j=}%f| Sr{5v}D<4k<>qWV_'cuprՙ{S{uƽ6)4^RV/(Ϯoq;p'`.8N·\ _rQ9{#q_ӈj $.*3QF2&2]gmچ8s0X!za)BG@͞bng)rx+d*E s# cWj=VԚ{/5[15Ie%COšnVi{,sU~ϞBw7Gɗ3X%ȫ{[D~:^_, +Hz?dx.%yvf\=Wc-Ky׺uPJϠC֘ط靍YQe|K3^#ZXXU*%ы#Wnb<6oq=GO?N^E_aY^W lD{'Xy[;˞vc[5xIydȎ J^?ຯ_$ &ug/VVi}}1KyquA_ wO8._+޹h?PjU)]Tzpxe,lz siiy0 =Z.?!Zyt.F^? ;@2?5:k1q#0)p:y_΂937c^۶m~jc;dsK6k@v{`:oSD/Fq_mR{U_V-&M~>I(lSvsr|qn/L]E^/L:s`}UN8}` ;:ϗ ?}x [ 1wq5/xCaq]!3U#- cp9;+/Ov#U= dp$kp:iX{!(Y8T ytp|W+=绕TO2%rYjoa^Vr ' TV~96Dkڧ2R{w"l ,o{SoAɹGXw{xh҇dw$)'|+~Tr_L_MS繧!k5JE}=$Bae˷OG̱]On!z4W!2~P[:˭,Sx~i=E~:b'緎-W>xB!ֿ~El!="JPFM_⩽> p@WdҠr(<D??OɵMAXw\P^Vdt8&qvi#eHT]dXZbד5s5!iĿՖt. ,gUe# 3r܃vNeϯɎc]ʒ.ܙֶ\H\$)kȔm*`-`0☟,` qR(GM=W^7_h&ޮjj=|GnWx2[D^+N }ЯLqosu+__Is㞅?ٵ}U)&ESzʅ} 廫T/qɲv9{ZĽ̸]2~iXN3 &q+׋`b'pqQ.;kIBjrjI%f ]A/밟g;Ut@١)rmkr0rN?^P[W(VXYїP| ydT;:J<t D+@<`p2jn {h[RV! ,V6k9=10Nc¨1X'\lex2>} =oί"vK[dLRҨJ.Y1Yo 0ӧzcHfU%:xd(&t+FJݰ?3-, O 7՞ );ʉg0EnԎY2o C~hF y yCAc<.c6h,]ʩFqn}o5C?cbnkvx͌/[znZWf-/ k-+˲}h\Jr̍s.+$v>[[4}{`lWK]oj1dŬR\.uth&OXpF~ {rQsԁ+gę2tw?E$>s5=ܕ{}DŃH?,YWZ5<_Iv@)Gv1>%bGcV%C|Rtеl+v͗gW 73p?T xx\:PO.KT\>-;ΔNz&pmyMA| Y=3l<ܓ?'9eɹJNvBI'Mʚn>T|"F9;aw'1ۘ $ V/ݛ[k .繱k ukʤRҠb^6I(/U,U C,)??WpMSuʋG\KwI=b*Z'Ƌ7..MU}csB9+`/['cQ2և5r:֒NÏ3@n[)?_ oɗ_!Ƅ#1.b3çixjoprl>{~m /@|\[r3-D(t*N~yXo;` FJpe.>oo^ؑziH%G6OW5>應89yE 2>H\MporTRoV&Mߗ /I!9HF$~90޾  ucJT?䧸熪8J:8c_ [*Pq^vzVyۚEARcL^ٱuuY*8(sZbbqC r}>>0-r$*_\%yp_o# Üc9ǂ]Ԕ[am71.\p3gJj1czJHDIWؿDq{ >%v Al/fo|ۋr[t@v|{ /5#X<4Ԡ?!{DVʸNFa@? {2O)4[V#ǶP qɅUͣmrB9.KKE9$zNp L2T/Qs/}ȟ8lHSB?_[+;bJT_̞KG1#߂Nig<:f"ͪZO{5_oJ:ZH,sԿ'p+7Ք)}L)H:s?+&)hkdnj˶QƘyv~`(9}e`ƒ?Wz^ЗzBymӯ-F=42eI[?Ťa叧'qdÏA? jAdXr2cr翯CyC<䜍jV=~>nRrVX m+oFxy"/oɯn*zTdkP[L}aڻqthjD;!ςOB< vN3Ƿר 0aʑҺq%'ti]Cڠb{Թhi^/]"k .y.Sz-u76Ji_;C~?*')Eߣ?b\OL)3ʟ$닣1q=,*, .oPqw7_/3|1om{MMQX__);cM#fG+c/T8V +H`:cYYZHl3yip5Ws{)zq*\^ߛU~CoV'y=`h,{t|kޯg$K#۩Y a?W~RDr߰_S|BKx-wȗ9kA~_4T*OX>$ἹsdRe2~ }{2.u]*_ʜ hciZ^ϟRx}Yd4_.)rw#u\ypK';^ۼq.6!UEsʤ!ir:Y W4V9oy^."ؼZ9bQ'f˜AJH†I:b `=$GgZXIdxͿ%-'J={!sͽ)/-o1>Y}sg$WS}~?L^ >=Mo]3Ngd ݰ|)lK$b a*|@V=GtRDqLouY-kZ<Α:+qAJfo \{^B|]nX.uRRr _kNogVׂFf;1ke;l<g:Gs`-c"+}WRMYQk:&Z^3F"˔ mѠ[9Abge!W0bS3 HrvV{ ɒڗk@ǀm=$v"xtF-aٍZN^۪KL[D)^^6ԪXD2 fN?Zmwװ& wǪ<2tn=d(N_Çn[Jl>ѻbR ofNW'QG>pGTOU~c+U^Dj-%v.dփ#߽Vs *e } v'E M?Q~8 H }r Ԣڿ>iڔPqGț3eݔFIs?D6?>jM_+$-w/\ajc6ޅký3+N]V3Ѝ;{K >7Azaװ? +[?}iر4{ث"Vle\_@ ?*=߀Ǟ1 z!#ߝj\'XǗǴuZ-s'vM3g]@69x]RՔcnRP& J*>9b3ȔUi՜u0W⻩u\|`2Z'{}2K%d̈́<ҶJgDtO_۵b^Sȇ+ߔ}r {[s~9ۢHx*`IA|/ZlVȾb|yX_7o A8_\Y#/oW=><^2w K3ZJȞꞹoeeBܞ9Gm_FreN=Knj/kQ맮wU{rQFZV+[f5KAGʄn9V+oNS̫o5Gե^>.uz٧u9=92֯A ފlըr2=- tG%'L7—ku\j: SdǚqF} {ˤka؁]^CoYTKeQپ~k^ގ2kB͌u)\Ua9k;S{WRx盓WE*;\6gp}ȚI I\2S9ľ gX_|u.rS; _;h3Jȹ]s>J̱Zz_,3̙3|ݶҤNYŪay}|{7t0Urg=Ã,MN˗QRl~QC;?YNP=E9Ce b9>ς&'˪gڤrL eȷ+L?^q%JBνN[Al^#4ສ /֡\3멡rt> ҃p͜|,>WY<+z\ߐrK*=\_?Wg k[x5r՞ $tD%]~8^/ooTGfn5fvM+K $v 㷓rr\"W{rFCe Sjt*|N>URH&qR{W+Uά$76uSk?WBl>бJ.u9=~!vQltH4K=g]cjmr{;&nq\>/'M*~zx,G ͢py&u5'yrM=]zxVW)p̲;~I1_4O >2b1k,>Lޭjs ϳ๹jwFȴgpˡVqð[ƐTF g 7; f{q±'"pP̙0yAU@z/Y6~>/W}^=Hȗ3˟Mő>3}7b?OTMxc#f9X qC}e°vny~ WHeW.O$a^ϝ9EF/GɤޕAU rN YGWD!\ØaΠj  ,>}=-дJkH3VUY|gG=\5õr?2j|ٗȚq |VW0S{|!o#wCX3iRUioI+˞\wIΕle0~h 8`yvwH/LQIӏEua4ݸDuVL7Pו[6&>Y ǎ#Uxy?}Gf8\L)pk;p1> i̽p/udLz^,cksDҮdc_C=iF+-wPcNR ~ץkJ(p?!>K.VG>agj-5s0-{![8i7W+)W\:@rN{i9s1nmcpcŬɮ0=]ep5HL ]YGבO[Ar*̙=zY_/{[X@פh᨞kd XKV7aEY>q;Q`㑇mb?L|Fԋ{Hy}`˱sZyF6-W6`~4/< 0d׳Z}n$GLW:' ۡ+#=`/K䢩= ,WTK=;gOhû(ƶ0v=8̔V [BdY)+;)#* lzx+Z8lith2:څ=T>7CgYeӈnjXŴVXޔ̪|FNP M_fK7#ef>P|Ky];ar[ޏ5OHG3X1t5w~ʧWgZ$yX,/ZfkҨ86 Sr1SOo:%-ZWN,K\` }yo!p <jY:cQה_Oz)=)ƥ$^[󫞑[Lk*_EwEP\E=#K<1r̠l2uKno|S36+QB=f\sL OncTf`/೏z_)2@6|»Dg߂'˧'*6|aˣO5[{7u|>Щ\¬uK&Tz6̓>" Bh[C}2cD956":J\~ZPFFxPmbA-91r޼ۗ _ϗQ!{/` wj$Jbfi`^3%b5A)2{k]Trp=%RW)ܙ} /* +p w.Q%BCg9lD 3gx.@CT3ElKwGA^K?KcFSH} z[3gPw'KWjE4Jb{kZ`?7c9h!>@iԡuOUB\0]Nz6Z1B:\, XCv9\J.hϖ׭7x1K3CүRt~z%7 z.5Rȓ ^Fk>i W!f# =zKpX,Y~-/ͽaoo}:G{30ޞ.cEֱ}cmێbNaVL{w7\p5Y0^y1]ed Ӓ;h/@6AV9HsYb j !p/hǃ?_xMU‘z֖,K}W r|/DΚj>zף҆-hx{oK'خکV~_#0Gf+lm̳kd6RкCt_3%Oڰ;eu 9}kFo9_Stؔ8f9;YCs{>hɜWoMnuf?X:Zc<=f.Okmî޲(֣>10ߛsl12 I8\-MsP܋M$ Ng9Szvj,^?ӧ`Zgwg]9&B鋽+ >7 X@w5yx%~~Dq;\2w4կ+ έipxO^ 2glKP l ;̲OC.м݆nw| TgM<+W4lব**B+B5Xo+yQf ط1HK80W'NfK<oV>̾Nl[Qۨp]۞̓CG6=so'(P{Y]G#CKYzkxoaA7r{ѡ^+w{MHUz]]0_]d 8DZw4xu_·E_ *TPB *TPB *TPB *TPB O5N%-}egmkBTx}tTW5w@Vݭ--hqw"$$! YS23w=GC+/Cf -'M$I-g'{ Glc}%K4x~΅U˙Lt~<\ }I|/sov6s](+UcF3 f6o;g6Õ ]^kɟ\/L8iq<M2to~GyCPprG*eЪI--YE 傷wWxycؠik4Kk/6I +@Dn;5.4OܸB)e M7Vn>g)W;}ܑ%KU)mǕH [dѵΓGN1i{Vslĭ=f\dOkW0oV6x}/.G͊}=1AY_?{{q7_އvaQȜ9]49uĈ=3b+pOVCQgW@ōfw&;,ZXv69R$]$鄓0#^ m8ϐ6 ϝ_yrUñv䁎u@$&7#)gvM3Վ>3ySKc;DɎfLlrin||P곰ӇzdOFaWW'+k=iJ~A^@}o'0l]ҏEs֙%8oR\ G!G:-nl#j#/P2nPn.dΐVL'q \8L ^ʗKԲ<&E2>žm1<^ڍѝ0~(Y4?\cܣ􀽝\]\ Vwl!!j3e ~BC2++wz8[61ЦVnؤ(;6eQo<xu?\YBR8Smµ ]j\}{j]Fvb C}BAK9c']]H[oɗ٬ˠ/} c1w|d_,·Z"=֎;zX//\մ oovZipqugG3|F1LpzbϜV8L~[%> CD"-gG^{swF  _/D_Ӳ[ ?/4^= ڇ'%x~c-Fʘm?y< @"9%](,'7Y+ssN]q]щw?!J"?Wx r4"F{+2~}/om mWkkm&o >VOWWxt~)K:`]:? 8``R8@87#406;9y[=0e }ZSt<-ZVeb k[R_f-1w6Gb')h;OibH^J6vh28sg]G OvyhR4>ˑYwe?v^w%ꂆE];3 ia^7_8~GGR\| ڋN䷅kF'3k%{NhXM 킺Z Ɖ 5E \\B9B?=T<̽>:ԩp\\r􆟷EFwkv1xNLQ8;ֽ`';&^cʛ;o@C;a]Xϛ5 r.w-%ͼ\-٧Y!ODөHΔX=R֣O<6QzQq}c7V!׵3T(O,8DABNmhַssV/m&QJwL{66rf7?!ўF}7 %^GEr,p?\z!JIӤ,H*R`m[?ˉu\Kהϳ,gDN2:/~9L}j6wGb(:eo,^'vZ1~y-aLr(C,lo"Q׌\vݑ:ǝf#=hRp !4a8n,~~8zt~ R826W>L^Qwmطkkt-~TuN enbh7m'&FYL>̦IqsSwr[/[3 :+&*rz ?rӯrN4blRcڱl%i6ثp~<81uGu}C}Y8#l{nkqV_sE>8zG{Obtm)ZָlKh4ߓiX?! +KEƭLib1s@5 yҷ=mjihX!/d:E, [/Q.$APw?$^ަ:}gokG1~" f _멅x/`󕊄:Km{`וA||S,&[u$S& psq2xC5ino'n5$ Nv+ˀyk{|iMWZY˝[ё6;ZTω4/Պg@1|-[[d Fv5ql<MDiÂepe2z|7|<})gc*اaZΩ}b!~$E?kl~uwWPS2qbI;ck_;D\W¼wvjl W{;ߪD\LOwK /hbt]dwk?zbI{c+D嬷q= 3$H|`_7.TseĄ!p\zw=!zyǶLDliE;Pj;e5qص#sƁg> ~8e2\q֍ˆ}xh~ٵ!f$߰p4[y3VSri[/=Ej!]: ިfotڒgE_-_2/a#ї_,lM,_ىܒV!r!lܘh;[{bHRvISjU,3 m?O񒾻͍sL| 'GD]7y/y,ajyLתXa!~ر[I` _Zf O.-7a%2؏v* 2ҏ}?j-b?Ǵ M*(Z#7[/郾Jʁ[&㏻"_/1g.l[iSkOvMnfRзNEݩY%l]9 ?}l>nSgބߍ~D _\7U SpJʎ?>}J}lKӡYh\uBڥQj1mZ3ϻ7{ߗt3g 6޾گ2B^g+ޑ.۴NH4-lp)ȗ;>Drg_pGs- )<+OvM{|qg^'jao4;Ap??(zHܮؾ5cѷs=#Ӥ Sb>Gw]/W0N5?>Tq,Xi8:|aY}ǘ iKZʿ҆˖'(3,k&8#}v潅CjI蓰Ϛ!7־9Gg>oN,@y?H ]+omNrj1^Znò_!G4QqZ-W.e'>sA(Hl.v@97!PNYN,FMd*CC;u=Eo*gR]6|w[*S,7.K׍>$&>G}E[c&ߧ"< 2rqv sxuЖ={58ZAt?@MCL4>YԝvF^rXshÃ-V[]H싈0MZ)>6k-M]y;ɵ|6/Ɔz*}{hzz:QdUwG,Fv^qk),?w;>&ggY|;g hc!5Ѩr6#g)c^&rkQDxiSFq<`|n}+'++`b jV*'Vx(GUL}xOIx-?.dFrsZ 0D P?LN/F],*f\!u u|!_#&|,uv4\>0ĭ~» 9x%X7Ŕa>1mp E.UkjgWqs-v?<4E1jЦIe]y'Vȅͺ2ٚ} W{v2:]5Wey:Ί Rӆ><^- ̎j #LeB2{7WF(U+ķ_!N!-bS9|Y-M25.|XxN OƯ7U˟v`ș1[2.W%Z'M”]PZq%_cqϫ+~؆'w7LAKݑϑ)]a]іzjR{c.eBhFO 0X~mÝ!XN4jS,g7ay޺ՊtC^MGmV0U5h=>T#B~ƀ]: EϿPRv˜?/.h (^WkS'|O.7g-Ҿh\$?.78@{'uM<^dXn'=R TnVdXlF\EWҚMƛܐzvX8s88Yl٠*P%NhD cJϸwɣbԳS.퟉ ܫ+gڡ9f<]?½)@O̪1cIɕ!1)=Žcx:߈':k*"|mـlg/k䇌Krg@g(b/B_@Fu3ߟB2q)_a+hx@E9a5Ϻs|ĆdzblJOXcyk07uǪڀv-:/ON fY;cb6U:`p >>ARhR4o9|M0zP f͋aغlM]ʏ8uoy5eOWS$Gwϋk ׸:ۭxI}ȓL,><KuOw^z .֨PI+gqz Fk W48ezi._KCsoK\Υ_riK拍3ѓ4UT >h MLԖ gPνeJSUW2[uҩ.ߗ=zƇ:#:pps#gaN6m(g eU+7TN,?[qfd,"* ^M /Ϙ/yTi#sjT.][WR'vN3Ṅ}X @)Mw_n]-.oQ }0MX+4T.o1>S\=~Hal~eu_|ks H픫 u,iBmc?bH(r$.;.,#iFEP\>)Ųeϴ=b։Q5Ny˽ڱd8Vpwgho'yxvɩySߤN,RE׭_SgK /w6Faxr./{. ZdHn5ϝTbgt>$Iԉ{o>=/~s=ݱ)J cP,J/ Ckܯbق}+7'1+~G5ᤣz[6Ό&i9Yl0ͱs/ٵm-jx_G-bG)mPCHY9[hCS^X9!}yc;l "=a]uzk?K϶t5O|^?;M3Foccoq^pE:j73yտi,swrkʯ({XT',5ɉOL*=yX')#?;>bSsqnX ptf.@zC=;KݯYi]:Mϯƫ;̽wlQ`?ۤ7M㐕^H[BЗ(zMHKt+hEãk5Fz"!:~^zmc:/C:O}ݐ>Dʻ&V1[$ψng&z⼖n̿;P KlP+9K ȢCRg: ; 5WjzumE ir]2a?忖goY3 zzyQjT,bN3Sy}i凩 i,ylj5[NP#Ͱ(U"-}NBA]{ӱ!ɖ)B`Lp+Ϗ"bTmŵ& Fv&L\8e"uDSFʱɗV%_8C̩ILcϬ^:xs:KnvG>ank^r,f@r.CTر[a7Gl.bg|VzHđ<-6pI2`A&=vpJJo3KzLלJ_r6c1#wv݂hP2gSzOt;{4Q}Ьa (fB=2}:?/̝xug3U~bv]!=(/2燃)0k tjHN|`6~Uۓ;Ӣ˺c]OR_|mgM=`8h)U |/׍)~WHy=0&޺~P~PLg&F޽'Um |'`klw}d >INòm[3&YVhKd{w&cu^Ӿy )w+I}'%U+bOgrKN Lwp CJwKnf5[M-Q?8w):n3L|YNϨSN(XG8aUhFݧMyFxrBlg3)a!<`r3>M-ϐ5-_f\q!<ʼn{)]Xo 齙~3\cAQ=re'mG^(hM,az57Yjy/,ǔQ]IZX2a>Ů3}-}u "[1Xs+ʋ&]h}~oq`nKl!&yN2A\#)I0XkZ@Hm#^Liפy_}/~C?7.XО ?G$s+Ӽ ?WSiO4̊h☢K9qC:ҦZy7{SKrz+kT~փϮو{?@a5ߣg8Hq!K0NU_xg(VĦECM\U9x_Pj&P%$'YcLٍa wb 'b8=~9SW-J&KuR :c4n*q3&?T#[j-kzV&N&ZlRL)BdE7aDլijT'O/Ft| tQ&lFM~$?vj玖ԣIhpMVE"w^OE-6Nl ś⛞NuiUY?kSh)JeĚKQ5'L/'\gp3ߎ:-:XBQ_RjV K.OJ{jv{KG3a+c0W%"|z_r!&sGWꔁ1o?']#}Sº(JE2])>)f>iĵmY#?|fa?dn]}zUl%|wՀiTV٬Ydw{Nޙqݦ l ؼ^Sqݪ0v@kͫ${/M8C1l]˘03wtak,W*Vѷ34IL<&,K׮TĊ"ei91T*w_i.G[Cu-*7\EH:2-y\Ĕ^N1{Us{ql\8|oԔ呡^F/ˇ/$!LP-ˏYEuw3P7[yJ}F6g)/=Ea?l3m*EbK,ӭ7gW`MNF]Tl&WofՃeZS337bdPweK5=udFתStjQ1=;(Eʨg$ A(U$mJ|ӻ VKg) \S7Q/Դ*ߗf(._a'\_-'I ]"*'Cj9Jc/LO}kWu;(؜:74/{7/?lQ;Y9SG,KښruJӨ48 Kqү-z7&q3҅a kV, %>3?\IԑhfhE-b-a \$6OB-}~̬_bAO[(joiU!_N'δuWΪpMq=ERQ7aaɂjlO;q< NZM<-{dyƟ4xB[|ɳ(O7ctM;"Хe[^|V߯jfhֈFvnYԯsQ7RFR_o0LS0Q;GHuXţOϡ°&6U|A|ӫ ,{.5_4GT]_?neڑqPIYul/ _a5.$̩bUIs.IjHfGD?USou655ۖCsM]ӛEHe!B#CqNV[Ł2o@-M PI1>}'JiU,#}ΘLJqݧ@3|siL7bNϕUҏ''<}1|o>}aXέ숕c#UW〵/WK$Ǣ\d9)s'/1rLǶOG _Rݦ۳a&usOL|ϥtީPZZܵjQ.(.Gפԗ+mVd>fl&>5+6c"@U3b߻bhsc}طn,e 3z3rjj'>OgN$N(3̏O}i|c@dX񟙴}<QKrK^/_D ԫcmc*ίXCkmk:.av,ܦEC)[LqFfΪ0z_PZ:{;3Js_p: p53RWPts(;6̝gvM{gƵ=]0}l7GuF5#ޭnKpxܙp\>35x S_֛'[iRQՀ=ؾb$pagW5w 6u^}Vص .[z#g4Mplāyi[u|&VZ۱=D_)V4xM uk \EE\]7:I6 ic}yrmT{>Ԗ:aY]E_h Exhj ڸϻ7y:tlA}1$=:jewFѾ kBűpL=N8=̎7NPznO/'oс߄xĨg{R('ljbOY=뇖Χ0#. }^J^_nS֍l!5<gΎJYATs|L Ruxra)Kf}M|5V'ޓG ~=wĠΥY`sE.'W):ѷW=|RCJY4368$[5[_b7i?cA};L?l/pb- {wZzRs,Z|OOUo3b>3ƮUL^Bx/}(ȗ>فs{Mfm|j&̹w뻙Q({l~i `I2v)PjN3[N 9 S ;`d#NmE^R?9ӿbfkFZ^XnOtj-0_8r[ɬ_29"%K,N4]u7[L'F hh ~"W.V~-<Ӿb xym,X6f6epQԟ46ݧ=:nFLۿ_gwӺB;P(ls10gIփ:n><',0[>^ӗ:KZ0.6ff=*f }u6D 5UZFEsnf?^gUΎHY e f:?:Ԭ`|U~gw>l}{*Pv}"9ZVn؟!'ܩ '?7su fl/X񽹃:h!?SWxY9~nHGHq; 4Ҧ( @/ͯXYѪSЮ_+<.!\?KeVd2yլj"p̓ 62+U'ɪ{[zN,Q>CEG5reՅ/hcPǒQ1K[ᢿXgZW,y)uQײuXhV>NfǑѸvg~}ïؠ_Wnw}vaQcq-T:k:cnWȭCs;ZSh^H{O^nXm]s,-ڬ9 W8/뺚sI-heb~E鮯fګmk_O6nz7b/jtVM~G>]ygwT_G7p@T,'Yw^_맻&T`op IRaw 5򴔛z9a{o^a;ʑp-[o+7/Y+UW]zZҮqoIl`? *33kt Wv-PTkuhZ˲e8DX.uRN̜S%}y~ n>",$^n([4aۼx(F1]3a)_f$Y\>paNU!nouvߥc0ҒsRd`.:^.AymN?'gYͼyM ܎"/*5MOnPPsM _7!['gh]ص|^q۽M" Ε#?|j*.nΤk\4E{̱yNL0tЎ-/+vz9aR<7<^ ڄS!B1wTw.}?_^oѼyaZE'$: &җyɮ􆝠mڻ*?D{T4:[h4c/=PL\8.۩Z@ʪw=?j@BszڡFG=疙3<ŊzK_ ߮Ye WXt?q=b?t߭sV7t wߡD޶^L@m_f=TRy_Ќ ň3NOvn%\-m-::FOIl# Z8+)9)/iW흁_?b~Oyt!ȗ+юn̰/ಋFg{|Fik&I yEVczGĈܩ$9!l/ǐ9,q8[3R򐆚_nV3 rGqg{3^Nu/+7Ɨtog=Vݿ+0_ښ;5gگ_k(EC\{>Zagh)T+i-fó m͌xrB5?SGheߢK*&W=K)99C=x;NlZ0Ì]̕7z%1RN@s}~\˒`_wSg%,i٧@Wg ɲzUJLzؐ[UӦmW97ms!qc%+ۿ*WEyM,S`F^ VNj]/~uSy kTXdutPz+< /%)UxJ[!rf.f4mHdӺ'g@+;P?{-296>'@>vΥs+[*z8`yZ_s΁5gAnfNI4+ǫsEK{W/nZ;VO'FLoN777vTA[#W_rV 1݀~^a"wMoo1LԣϭgZFy O&ԧr)i\h,(\~eY7:61=/ʴt"?/?uGgs:a9g4vcZsI/EE;;mp^\A~ \؝~`7t~bt2ct$8?\0wc<؃_t 1|<{ta饔xh=ԉ~wfO)fOUux/˸_7E$?̉vsj?%M5#GQy$K|f.Vb:F55ci{| 8b%=0@+.1F￳'(8rply!iŹ$9c:M5L7o~Kz.Ǎ#sMXB rv٭QvflWL ?$ot;񟃹"^~#Vsck%g"97C3llrg]<`sN־ļĂG׹'CGGQX:\`E\Sj얦opZ֥ӥ;mgso27\& i,s 46A|_)1~vXānFϟ*Y=TM+3 ߅Rwi䖺w lAͭl3^hgws49"͵@Lðgk,K /RoB}ꢣ-I,yM#EsbAx?~ej9ncrПAL˞m \"0/ m¬2ҀӜBqev1\"h(d &Hne_Yy-\jW?.Kǯ]zE6Eѱ~>T/ APhz^g~`IgBMd$.ظlom_nkq>NW\n+?L򾯯H\ kI!ިDØYc'ћxk8 OӟIAܮ3e W7:xP~vS/jgV?KakvtBTqRc$kWS]nUɕ!o{:!:ۥYKŊpuxc_X"gՃ8e1 7Z¹ߗb?se5PZ3C_cx/H:]. 탍WZs>ZjbzVv\}CEo_Y8Bx~eGlmB!;s^%k&"?3BWo$Q,h/u[\31DyL|V< ˫X.jҊQ+fxw,1d7+u4;lFqՠķ4[X?ˌ2 ST4?-c*vǿwfG GP1Aژoo4^r5XpND잖J}[ʤ1#e^a|dlL_2:V[:bՖt3HbX^>MZ15cw+ɍtdz5xDm^uu)GҩbSQV06RuͪeJG~49{W1+`јL|YjDv51}TWl_:0|/FM8cfwse6ieݻv Z3!f AϏ"5u;L̪X*dzvbx!ݟ^Ze |nɿ:/5x|u9Wr7󌾢\Va\jgl~ߪ/kZ59SMΖѭ ib5QXQsYg6ЙXBu>{{xD-7K?W9a宒}[0c qL$oհW[bQsAzVz<چ{Ē٩ ijƇ~Rzz5n@+_0ή`bi{%sw2Wj9L]@B{FЏnooaw+i'3)tfM[_WV=(@~(jPODeTz/)ժnif[>QuU˗m'^/6:AbOzJfN75hj`EHmxrX<έꄽyNkj.^ ;%BP(Z5(*hZ't()*ZӈhӐX1&8IVҤ&!jO;.,(|?{߱@ U+%3~K$҃mO,U <^ԧ_2R93*m_[dҿ;$1ZVCg^:r#=Gf3xsp?MgB9?xonth;z>ݑs=6VLWfgY=:m.|zN-: ev)C+V:Qy.SY2:Ⴞ}yR\0_6oݸ\678:2qn朷G=!=%N9SCϮ)`v&r0+P/\,g+kČl=<(}u> H?8X~OҲ# wn>&AmO[6v/_auwFsҗG|rHz, ~kO_<>jm9h|jOy!xr*x/_#AL"9rl=?3oWs?{:V/x,I̱@^`aW߬i҃v<l?ɾT@,uWGȎSidj&2!w p'j.3>=f.%zLjF .p̙$/_<:_!E$zi81Y+%x} aq=l+NtmT?U>2Y`? d d&}Y3<@]l?C( N?ׇaRR䡜+ p-ސڽ:0}7n(Q 5ufk;nw;~ rt@U69gd$}'; nO^-峳m_d$p.~5/׮UL#1ۨu =:Yq#NoĆ?hI\KYqTϾz`G~]ق/"6|$"(OWOhn^:[:|Plku@(*!1g}}e "tm_F[֕ ǯ0vcŒݟN2EE};N.y f秣"f=Z 30or70~n*--MߟIyT2m8O%_=_aɔ/L-EWqPI> awtW Q_nt 0|uԕ;ffZ~[_? 4Pog}RRѽz a?y}t[zvV:5W^0|Қ2>O r9*Oy>^Sdxx:Ou0uqA@~NRTrLxŔ毗"UNRzZ>SusPYj*9:P=lT/~'+$F֪?=^{@ey-\c?qn>|kMȶ3+C̤%-!\:JF@epT2Ka+\Vy*i:/%"RI`3WJb\ܱn|M S ˟ףؽX#_a捻[WX _^s% s(WZj²RXfGsQ+ry6#ii !w 9?\w3n5E~=M5hРA 4hРA 4hРA 4hРA  GtgcjmkBTx}t+qKpww'Bp($ @hoٽ77FzΜ{34l`262"F#Tft4>DG"жtb2*e70N1M#ԾMc251c6c"NXO!!y][ ZJ[\h3bgcJۂ\5YgϮ-dPu[sJsN..6d]<u 7[+Z>j2;ohwaﰛLgfKIg;%єE_GڟӍ"7xi-r _?IY@`3ߗ;0zvY?q^C ס|ٳgP?'76]^ߕvk;#u#ssSgڕʉA{qݿtia%ڟ|}<=юwzu[/wWJ޸uڻm9+z t`7<NPfFTܘ R@ +SyW=)w>xoFli-NR+w_?dt['ZZHh ձ3Zf4Ö; _+U:ƼҖ(#M{82۞<ʔ s߂6thi4ZM3֠p"٨ip:h1'yH72b2d-9<alHFi>} DkYʌw:^>5Rc^^.>)kYsV]cҮ =3!_ FnN hڨ1d1h;n[JZTc^4)Bw#i\.>MOнɘp:Dڷiۏm;>5,;U<ȼ_<*g6| Sl{]'2nLS!~?ժ]:˝~5aȉiNg]w۩!XMMY/5G"mٞjh6u)Oݚ?$r;SQýhtq}g ?N^ϏhIfw1W(ldYH`Yl#""-Ϯ{cWl?7B~{x׍XYf;^KD=J?d2}Yhׂ[yĩv`#, CMTsbIq^wcGys=c}2Quadž>뀽 D(_Em;fR [ˆqgyߕM{sAŲc'q7?]$WO{زp1{@f2gKG1c$FF+"/=[ߪY9Byĺґ(oxh7ulY_,/ o}%>5={tBV:sژ@VMѓND@/H1aiQ=LN'QީTR{:>Axϑy x*cҸ{}烡/ehvj́=ww!s__tw;~c|a<:u gs4ag ڎlz!mKF+G6 m| 㡑ZXqwC!Jˁ My &KP1Gijv3?Z)C+sbcN\e-۶IΕ1i{0rBn9C8yU]6Osm@濩zj")_:>軀Fs-{'iղdhOXf83΃i!>NTg>=VtѺuS|([ʟ/NC6Nrg|/gjr7?m8hw^#s:YIi"vxa6Y7`5j `2J.3#- ^/Y0HًQtթZ>276],nASShnȾW_lsֱP {k a_$wVWE瓆'z_g^L.J *|qof?s digMl,XkƆފa;D]a̲݌~cg1d :@𷲭"w>tz,EM֎$LGE_MO,=KY$YmSxAqİ[P~Ox_ܦV^Y?;M#1Lt4s Od@~AbnAX;vRErA,]Koo%px`> ٜ6,Fo IMMȏew]\Vlg}?ªO[dU*~z*N{V`j^k`!xF b-lVxA~At ݍ~/5A;B e ? -%Fk1'XQOjczvaR e%gA{Nb&B]NFvz b4h-d\ ˲20zUƍW}uo^U 'wP]Pl|pRO:0]"2 -|B7L"#~ _w+i35SFl@q^ }DT1||j\͎-E緦әT,RGWLBoa[*Hto?J;qGgPŅFŲ&+E jʡ ]>r?O.ZJyr9n.ٸ`Vvq8–73\6\mKrGZHrfAB +3EI~f華3=w܁4; \_OgQ028X;wZהg*_*?MI(Mٞ M$0}8?x?\u cʺ4{P- =ٛίLu 󵨞n-1}prh{HW.= kn[RuרR"0K2\߱y0Qr )ycKrOҳKk6:(}p:q"5YJw/XZ75݂0S'Lwml ~MvuP7&w?XUmVxcy#?ӔdoCk1E=~'ϓid֦uup|4E'lX]";V`0)]ԍNnO'Wаe8uf` s"{kS3_GoD7?FltQ~P.O/h[e:Ub ;֌ۦIw"cO#c彔)n_J=!q-߉F;zy}LISr"˘8"Po1LsN2dSzO}?^{YA  77J : N=%溗V+ôŞ}CҁNBMq5?nYD4QB6N Fqx̶,vt};Z֎-mKUȾ5uݪ_ҩUNg~t*iћb#+4G;,3WGd 虚AίYL"C)8ؗC|``S]27h (c@o&*z@ F_صc*Ôt19x-hc*1(%,8 qsIO9\ 4k NԴJ*Vaꧨt }>,InnӃ15|$~GQ NUq |owM^lo=_Ydk2ǝ?@чۛ6QWt]oȏ/WTO7(8\#ӡ>'ْ~D.Aj?6(T{ umx-\EC<%"U']uZ"Kf&4ux;kt0y.z(rШR]Ԇߖv?C?CT`EitpIގ^U;xmTnmAuw#jy'=$w*P0K$6!9]UE5&00O!>^cLޠiް`a7OK>cdL>;wdH?^l7\%. [|cnb@ڕE}$ҧcCБ)gwj?25T~oS6MmƘ fܧT]Ӊ1ڝnmAFӞmmId-c{:6˗O&)ώ'rm؟FoVwX6[;+ \OX1?cn+o_.󫨤=PN3i Ӈ쨎[YjT_Y<4}tsoeڔ׋ GD;PJ0IvӱoqmҔ֌oLx-IIL6t&Sݓ>%º.0/]؍uG[BIƏzU!O6."='zYY .RT^+Pр.P`L&߿qԟ uh-t=I=(ק@ ZG/+\7e Q &HSGwF-qhŘ4k@uQ"9q=+Ѧ)A»*UX>O\BD7n /n#oVtdy;lԕ Ey)я}%C"~64u}{sc>so{OJۊJ26~\vk4pDUJFug`LmRXIԐ@m3/3b*mTl(8+ICPFɜb˻۩n7ik=wji *ذOcg|-t4*I*%cY!:$F}SUb_aB'%zX|(,N?-:%~(|"d?iN+橫g6cߙaoYg81ULv$ut#:u?h*J(#{֝e}>=3U,M^NRғxLYl=Zf4gYnI':JLF@)#RKgJҞJ_Vn^l}ni/ ^T%CdG_E" kЖ-Q_?.1c鯄{Q[GKw1f2A괥wlQ8T)j5"̕ú͓˓3}bϏ+bxYg`ZbCz 68 6t've\]Oɛ;v3$]9-@)ķpiGP21tM]޺tE-+O[גAZ f^ju *Eirbˁ.LCڗ!wGk>;ZoBΌKCnc}pXm~t~mWkr73Wz]F |4?'էĘ!AMF>_wW7^pb=Q[5xXENcy[67㟪tT{ޑ}b[{muG3VuJDugXZ!g)V>۽NnMтTOZ7 )~zD.b,π-00vL}^ աϣC$6PxJ7$>^OQ\mG:߽rvm'rjuG-ika6]s/ʜ&u} b' Jr* K=dڹf,zšw;0e?Lw뷢yi.s`SK#,w[X[+ о=MWN,erZ-k}gG3/ZJ o+sUs(-;Ǘ.™D?d>o~lE{߳2)Ö+MW٦=՗n'ו&G; 'VuyNX-} ܩ<9w09 ֩2{XT :Y06R{caiNVG^IK.@f6fFa0Z[ghZ*o\ aT"kT >NԪ/X,qVKۓރ6ts7mBo߲:=b\ϧ4o264TQ|_ң8̾cL@.iZs437OmF`:㋮M ,Ux0Oj6G--j`7uxv& o;]"y|C槪?`-8z8[S%$VijS#o֌Ni"]Cf+x+qۊ,6McZU'Ks%ij-V ՙ,{o[#xwfE|o7g_O邿;Nȸ?5HZ׉ BckEٷA&fآ^Љ6/G?O &J{BGNEg!4 :%;'UWqn"~pW?Z5!9*YԹ^;<%qA]J_A0AՎkbx25kܼIɅ[Ҩ.EN܄W#~>_^Illi kar/+tkVT{pcOs +4jl>0F0z+՚l^#,C7@$/#@C#?%7lgZ|\t%τYh'ԾUI 4`مyQzXZ3"5SFu g'[uXfOO5#x2'S=#G浕a,ʹ90v `w*E[є] گHͦꔅBr'XP7 y,we~u0ۚӜ!J~SBd]$,Aή$qs}1k*D]H 9WpкmZ1YEx;_ݽ*̣ܯM]Y3;#WǍà㟎@Iw@f~hX1,}[kF)bK )ukO q}c5`>}MQkkXw+M/` M&} 8y ',UHMc>!o ea#"\6NRSP=ÁAƽ9L5JmLWn1J~q}j>\Y޲?sn+NHR[W$2V4{J osTM|ݨMSQ<è D5;f~HIث3qөyz3V^K .~,V*..E_>rq7NE122-Sey\:!ȼֿjQ=7Sr3l]U7.QҀdke6Խ)=>1ٸUvo'jY׍_zr3vR{*/P+@fF|,LlȾB[XGY'4Us.6u} |aM؋ά(v(Jݻb?_#^m촽|6'JODžg ߑE@Ev cpIL^`0B|>W wd2N乴jFX*.Nx~Lo]"6Y ZjP!z:ӠRIxm];? BnB&]Zߕvɺ2}n<5H083G#\荎7a:sԾht}L(5sդESO"*͒qXJ'q}ſY^յRC=^~S@=_j@ O[Z]&o|_I[)_֏u-3 75i>|RmjͶ3z:eyn ˩KgkZ\fkA|4leؘ݈2{kτ22QZ5i6<}z])o_fߡ?Ҽ=ŧN>TT. O~ bIuSp N3[2NI2ᣤ{FM,o [ Z^G:~xf#xA;' 3(!uL>9-"]JuWcњqٷ~E?ux ';$BJ{i/څCeG:]ϾuZ}Ԋ4.k'9,טXx/q%VY-}BRw`ZTs,#/=K=c+3|lH4cLgrE 6rߚCn-Z\7qwl-MhKвd=%3pJ_]ϤҾ )WtSӇ$/!fjDݛ_?Avkf,|be;SM*_$oc|v94dyaѡ;މ1^2/|l+tQc-5riT;X}"=,9!Q'|lϡv̎d<]4vfVfԦqe:}&}a>E&wy:C+gX_W]cnjrC aR7=[$= ẉCR]Y|vI;oiDsyeC;]~lopuƵJECc_zW r}SUr_sg]4{` {Em4Zg PVjeS@)Ew|?edψ|(?=/23L9\'v̤cJ$=9MJ1<D)},peC A?_ZEf#_:F/N7j߰u'qaKiA]{sNCw@~Oւ*gWļI=d?OwGex o{ס:$z辧{oǣv5s۪if*J{/YGb7.Fm?xG,zB.,yc<<>Ky.ʼn O/G*ݤrޞ_EE. @֦ꥂ%yֈeYnZI }!l_& )`Lٷn{߻ &5zDj$ j)wau:}>.+2m$=Џo6`S}<+*=7]~csY)_~R{;nB>f&JYA=L~9˾tm>Pヘn]YLg7u-QWf !:AԲX-8AYi1Oy11&Ռ{-<#|/yVncf˶J YKly5:0a| `q<<?_z&zY]4kurx>_ohԾߣ?v[Kl.GSuڠn#ר[tnMGhݤ&_؞usDn/ Z?1=Jj WjCZI`gCTtٷ I}ʂ|(oX5YRfn\2L!x{Y2>ѿX| ajT,] D\gpܙVbPSH2?EmJgvϡ>}vEcU.s0/(ؿF[cL&%#Yا}}|7a7i^,tz [6Evxijl^ۖm2W,NuZ+ lO!}¸15㼿^vjʽ/Fk o"r/]ey/gI-$]Q[|m>d1={|ոtrgvVͺIyWzX&}b4q e^jz6,Xl f2|o_KGXAb_>`cE=ըNb'~_KTg؆ %JOz6}<;|:%߲Ŕ^='[35 1Qq-Ԃ?P+:@ֳˤ{)s%3zgװOPgӋ=:Ӹ=-K拫kk9|6ìunSCkk]nGj̨aRR?w|:G뗏$wgqh i"O1ZS[}f M2UJ~zPZ[QKFe$xrY'}zHmmqFh? %#rEy3a`k)TQLz3s1 $P!zO-s}h#%cOl3/'ԟH~d[mn c~Z*GGEo5̃|n=(R bCt!NgYt8߳U^2Hv:\/gEmh):f/cn2?8lkc<87\qgoΔ>C!9("}>}dOI3i(˔ soyO3O<50q̐cj ϒw6itTuB7LS[#gԦFo^-7`lWBs1nQf}-nC4jP%B1],ȅ^:Xz-[mS#*#Z!>jYzNzj=*/n &o =UZ)-^Rָ5_e>` u{1QPye8c hP4'ИNMHےl)X2FjA_x:U<"xl)mcܽj@ & sf ֬XRYwQ3p8>o$s.\O LzW j0g~^}Jsy^#~yEfIӍ# ~^Df=f>C}[x9OQBސy)J+?< ˄=<)O s}\Yg@&?K3mȬlRyխi;:-f|ar3Zζ_TxےZﮋ԰痽do/W*ee&2O[۱bcFK)-q*?k}*oXpԐdm0Y|wDS^fu'.pn rD>zw' P 1ϯZHWϧ?C&@-|}'Qwu,(oތ&BkŒif̼IKا(>BԅJMOM㽽~i=K/z)mğwRȌs~_#;3ף"}:9LDozԭyQCʺFyd?1S.2<]3aQ8FfpCI{ďm${Zd˞Mژu&j܇})>>o{BM07O~'[Rw5rsˇK \$>FOo&Йi̠hܭ}O:Q}oLke(3StwUg!%4KY}6p #ϴP`F6k2\{K׀(eVODo:ͰX sI)xRߍ,Lt;ڭE+ z=R0Et2ڲjM @_7rq!ZC*?=LeT@?^EzMzzmY3 $f_%IfXl 3J#3Q!27(9/ѤNJcgu=ڋ}}F_1~6a7̳&7K?ЎcvꥂVuƿ_Α. t[=tOwDڻaM֞(7Hr6)=f#kҙ'L3Vf_EKdauc첿W0wW.D#bGԄP??:S]n{B̀G8g{suvj\Wu\~FטѢ;navb{oX=::ᗮf[P=~ 6n\fp|eW6vِ2͌B|P` X)VCzfg7}q5^kFKRfE$}T{0(ԅk;4B_gǬ9ǫЫYF8 ;Q?EFj)s] HsF/ʜmhðl#7ŒCx8F~(w>gϷffgV;~dӒ/ۆi:Km*;3Knog1#2z#{@݇#Iѷ2Sj{V(ǰs4Ź2{N]0 u+c7I{EjQ-ۅr5&@=016ܹq6;u񑐗/wKÛ3fMj_]@ޘ< Da̢uvb/q/|ſ^z=2a+jπ'-Fܭw q0v:9cV&PtO?yV_S:y)^tC-C$'2U!}f܈=f.7B^x$fe}}kG׹b1d2~yt<ĀnX&'~=Ḿgs/~^Yf^Gq;ٽM,R*&f |OViR|AuvCI__KVԪFO<fҧ +GJ [;퀹?ÉaHɟ^2x1хSdCY$pX6&_[CG.}8,1|m샌h>8#٠F{%>uӬnoZs,Ŀ0kX{ӟX+C_>imI[E-t=DߣuX d}="BU/0`itj u<[ߟژNCw{]չs sϊ9i[(ڗ0X@Xlcf?m& MϟC B6{7PïqtϮI8/ޱ}e~R a_Ghzj ޢv`׳ͪy>wP ӛ8, +}J^ w~~֍\-N\Y:7?r%)gosg¿_^Ɛ_a>y:Jo`xU+[Hzդnijߪ_9(O -+F79Z?{X?7hQR wr4j^^%TQ=]?C*̅;:cp/>Ww(ffo/̋~0^ffO+s&Nv~0[yG{~0ٛ~c+۽dv^(}&5WX 0 Oƞ95/6Rw"s"Mt9^r߁n.+a6#bQ?u{g'8KO]E:klhpډ?bdj^wO{uPmHlk_l٭>!o0ǎi@F__jԦr Y135oZB{U.SHF/ g೿}#w0Z=1AXqT<8Q|itMjN*O}׽8dzVzݎ jR94߷Oy?ӳEqzw|mO~Q%>`/lι׻߈y`ҵ-=uzF#S{ob)g:޹˅r6$% G{kqByh`m(u8pRqD&edHCA+@#F= o*u;^o& {#ଊ*[T9tLacU kղ}1732m?{ϳ.gQks|C ¯Я8ͪ!;{̈zXQ)(fj#_p.ӝ+S> މPߢay~=@b ^.3Wg GNbVyg|=ߩx o LZ/CC7a]w}X4J--KO~kymocc׃Dzx1j?CWZmd#~D8x8)o1 eh^D MjZbHMQGs#mmi>)s==f]:֙-LWIn]39p>_x࣭/Jc[d{Do{?Xݛm}5ks> G?00Dzk D# lNW7ugAyC\/*'N/wqǯ_{~%&Ywď9-z }![xר*=.h=Mu6Q`ׁo>!M+K zԮu1/PqH݇~D7)f?{؆!iv?m}f~7<И쓒Kqb )R LXu5I ʇJM$a/[#0 =66 GȾ1Y?r'6? CjɦKXkd $/ f_2aױq!^vy}莟Kh 2@[ `=Af'ͤ%rg^2co^jwl3Bu _KkIC}v'REǍo~ߒoz$6Zx+ <ϐxQIjo rpl{~`<;Ϙvc-NalDS}({e6CjC)eB.Oan~gԧ#c$ k^cG׿kqBD WWH9Uc/͋ޯ}VUꤑ45nf(sʲ7ή2G3*!.Gzj)h'fյA\FKGՓK7{;zߍྻ6g" cV +H689r6hӝ4vPTtZ=E}'V.2N/m*먯tFW G8{ֽ#FKqߵ^)==wek =2^_=ظZȎe=pR; 07l%9斍/i7Gw\~>2@@}-5OXT~ڱjwfag?on??'}?3[RG}P' &8 ~Pe ǃy_ZS⬖)Q7C|W;lbi ]ꥂd>̍T4w*KƆT{;Z)mwo:Hp7tRmyuw{[;}do.v WHZ='}l9]޿N%ϢK_f`ڻad6C55~ aYbiĦD ңycI2'΃K~d{z0o6Omu+k6 =. I3 8Ճ}v#2˨UͼGyJ 8ov,sdb y*uۊaԋ;z֡KKu߳*e ҙR:; ~3;԰F,ۀ@_گ@kk *!+ K, ;TkfG~*7Tx?w ]wm<'9X50Nʑ{Jӑheks>9pAu_`X_׫e1}a6"f]:_HxJvyOsQ_lW@$jn]Jʹ4VI bւ`h.E?b}@7ĨZ&޵TYEg9rSV(`6s%l^&D$Y:ӹ̴H&2J st\T4Z]MR4)mlSHÇZ l<\j\E_l]HӞvC(29tAJNUBCD=?=e^rO=:UICYI1T;MjYȩ_R9uv}Co ukM1G3٘:Z8AOZ9#C/ý]g)ͱ=z<ǡ5}UhK"f//r7g'9`AςKkdhqIZn3D>+<|֑-[DνRG4}p֩7n|]>]*\4$=NTWB/H4ej/6%z`1-!pGZ Qo1:/?Gg}`[h t7k%ws=ݽ,ںayJ,^6.9tlB>/qcs};%?`H\;rG 9`hAޠYsqO v0r)ok -3aX/բe&,XjqZ>v scmLG5WHrFh=CGb$1}zv0~:^Sy8FB\+bX_|fϬ)<.}2j%%h|kҦQÑ|&Hl/3aؗ_q3|- O$R_6@p>Աb%_R] 5`޳1Iw/˕ڹc^: nm[g@OA'!g^|㺃/&;4H|xHNha}3m­tϢsp}*ѡhzkY{ϖs$| !_,I=vz)wٯty;:/k|ۿ쪦ڊh\{!/ZC t_;!?;ȟD#S1@#\ЩK `?#=:tąShр?9sΰ?\pHO>h;^"B~μR_F#'峥$VGsOvݹv. zO7ظnQQtͼ_$О.-QAR;?LѾV]<Igg+9-uW{3[q\)A t4W W%0^>`&==b]4 WW4Լ 0 kfCF q y}ҡ|B#o3YpC;VfXÏ/mkBTx]Tg;`;6콠HbKb&hM4{b/{&jI&3gfgfɞݝ{޳|;{?Mǧz# ::h[zܣχ\u"P}+RpfM*NL¦Fpl{nR ֖}B-K"qvmJ֥ u4޿# . 8) /GLwU68.SP.Cz4.V_ t8,GyvY@ T{8aTM8!1M`km 'UWk\ߞLS+i4i KK $IS2PmrsvMJptt x'+\ʟ Hh3??;r'~nK =!Nj ))8O6IRq}[6VN_U>X-+S$?B~^oSvx"Nz{NH-Y Դ/H?烙/(?$B>ŅGYmmdoבjZ+\6FzftA0x;h{%R)'is҆4T~i W{_^ J\ﹾu<7@w̛4]Yk f{k+KƶŒiѴ, W`@)6(ߟNfo۬ԅNo?"*P}"Uju*l7ό>s0MoCQ|n`?|BrsGEz?| zMص SNSWI5Kc|<7|<˻ @UF45]#E7Ew`QZ5XmP?K/N TE#{6:riCD?xg޶.t /o'fl T)TgR|;/n5Ks@6Vҭ!*vʲLm{ź*JxnmE8+39XO%;,vI_ tjn^.HBj?l4m>:tu?_LBVҩ|:+ p{#hdG5ϧEa| A^fuS:X|3IxEְz/_=u?UYD:IJQ!莴-qlE"~<8Ad}:̜pu2+b Q{mN僯umh2swv@LP>b<N';0+g F|ƁX1}0QZ ҩ|_zG{kl\ fv9۲ppq̄qG""wv1ǵ3?!<+&(_ Ƽۓ G68p,ޝ+sE/6dIxQ'SpiC(fx:[#2,P`ww֗OE|h&W@6B똎+ SJxr 5I( /3;f_isb`q36eQL;^ݒۻr§pqc!( )Cr} p>$)xNt}NoƷspq(^:NAnd ޖ2c=<2%NJqn]/ʼnp`1hx^<ѹuivOv<ɱܓ/iN:d3NJ[͘9sˑɘF?yթ/#y?[$w??Q]/iCHǒ-ɓ djg D{?bu?U(Neih\DFF5lOPx`B MsF^|p7$κxtvбEg,#ࣼE/o2:o /X=rdj')_'c<6<#b=>fG)NbGclݒo,M|F] xw}6yq$7kW(ؿwrC juv>X/≘-:}, pBl<zdo-;/>/♑3+$pQ~aL9A +9nC_b3|9xPf= >!3%jy Gh'.w ?M'޿p,8^p>ӿ/_3?A qdoWqg}1MfjgJ֦`XFi!~I?%RܦoSukSX+pTDQν&kKB9gw:JzNx& yף|`xvL8fKvl7%nKы9*X6Og>|K6JGb>Ƀ!?oT10؆d-wt͸Ǘ+g Aծ ^bQΞ1Sa?+S^)1|U))z#{GsngCd5=5(W!6Q֯1ѢQbߏk2n ?OSXP7JM[tl6wT|xȥCsO}ϰ:]Z͓֕gv6]tlI]d/toHwF s{y uH/a:F!>җ7Nͳq: 88q:ɇk')Y*4!Q=Ѷim$i9dH&Q1߬b5+†t)NҺ!Cv ?#,WM{ʝoyg}LJW&8f"u] LU?|7]ooŜ]rMwRO'&-f^b.rg~qOc"4V2{o?gͣ{g y5;dWB/%OesG#n_X}Y;%ڴ A 9 n%7r|cWeh3=:g/sÔqm sƶ< | _7ԷB';w?Q”r719ɍdpk~.5!Uqqt9xp{gb뒥O3a̓BT}!XU}Њ^srnj^Ro༳zWTeo]>J^<' zmdsr!7w(g\r`>>v.$vw"kAdֲ.&-YX '55S2uyx#D~>bC18*=\Z/qr/Md9™>9-_:~Б߶%zϯ " -,-P|ܩdDMϯ!^2'5xSEV^7s&k> 5 wfcp=z;c+FvZ9Tp{_t-;kfm6p7̞@b>zM,|; ;jrk) (Vz;r׽=e2뛌sq(D(=z>Ym\j\ ?4 B8%L}' XcFv7 _.ss+FF! R2dk?/ow{h̓1$*bH5.]gKj!ZwSm4Wdbar0{#|P9C&X9>%*RO?h\ڔ]`dp++9!x=zHFdcx"{u -t!~nFq=ֆb͟k쳹߈Mq=oñ惡KJ v Xv+SΪv/wB9+ȖƵrcncyޗI.خ^@/F{bӝ;h5"5o Wsd4|_,*)r>6vhC|WqI-i)kFBG<7X9d;~2RvpL}%/Z9{$$3?g_.q%w)XprGzK)N `p)s;p)ol;XmC=2Yr̥ZIOf[3ܧ }BW&ot#ؑ`;mEϙCAz<[R@~Q#FP^n;S~'s&{&80,2;)v #Js͌9sw_&6Q< /RjNXEt/gpY1R~׷Y <)ɳf\a~$}la^ǂVZؗ:KBgQzc1q\T7>ol4os[]o%;~tFdmts3â$}wG5)FAbcϙ$>łъHsC;ō)o}(n^Hv<ϹV[P qnʳ?s/uAj\8k㥖1%‚=B_@1&ؿ N`gXgv5\$K"(N(.9y7\l聆6=<٠`G#W":b,G$;{h1J|>Jg9m97H?[æ`o"]Eyٮz>c/3a`zcxLXw:eԜ%CfIB"IzYqhYF!c|e`  {7{#XMυP?!k $ŷ8cݡǚbg;}޲5W$M>׷Ow kd~`O9^% \dMΏG=0_3<)#v˾T;Usn {pvM :Gǂ5uv)K]_$|w.-szn(vn|8ץ^î6jcwѺi-8:TܽD1bO6͈Vee7Ez3F"ٗ[g[=9ۢec pǤJP5x؀$sa~o|P.(C/nU|lyω.3ܼ45`}UՇWNo^k_ 5 S9^H~K1߶,)|V)= { >c5$!U( yWinCToqmkBTx Ȁ(MHU߭sgzfNUmYn4 `0 `0 `0 `0~zo[?>;Pzx>7.|ի] ޽{>V)C߿=zҷ4۷oߢO\ |WG}K׫tW:/}Wm8Ç|tpO=ȏy\zSo߾sQї JוWOIׯ˶I&x}:+Ym鲸oݫNҕ~ݐA6_:StsTˬ:H۩u!=_Н9`s%+@.]2ns?Xf#mUwD]_VD# #{m l:ӟ#},%L?ȈKoޏ۪-=-0^磼QJr;#=^gɮ7"q8ڗ92(ȁ΃2S1mVw˿OON4 ۹,tV폜v_q^F#[-_OwߐSg6l:y%?/e%ֹ.ji*C큾F}nB}vWtWR⼐1JS|Zɸ<H+t9;e:x#w f׫;_çe ?b,zLRGe:yw`0 w{ swsui̻G`]-\l.Y;;K^Ήު-/Ug>G=;^Xa~~3q KUJ^Yn]P Ǚןx,sG yz5-$k2_* G|c^L/E2라g(qYۭb~?t:=N@5P>Q-ҕ_UN޳Pg'V8Wa Q^uzù[ySgo̷iv˞7[,tvs{ p|wd5^l?^q `p)X:t<.<ލG{g`Uױ̳?G\9O|kU5NGA\D[XnXdzxN뀜ptY̽M|?Q-?b[?g~}c:<wV y(Oss#blyboC[buf?J[q*hjwq׌#`ׁS;Gx _::[eG/3ê:] 12{Wel>Ny9U#uK_϶gxc^#to|@վQ>Z o= _;Õ[q;0 `0 `0 `0sŻ%Bs>}{g $>ؙS1«9 []{A2?skeG]UzߧSs*F < sGOi1B\S9|?wg_&ž WOx>qW DmkBTx: R d(H^U}f^vWnϖF#%        i8?~k{Br+ݻy˗/{!w~zAn 3-ylm{_umٻ߿<==^YV_߿Z*vvpV۷>[g۷, JO:ѡ9WSyҵ${]ETS_:Fz_I#t;id):]f]Suz[K\.|%P9ң_V[KT>]\5SRx6pN[KmUQeoLo7xBVr{T. +gs㎓ȡ4fwۻW6+!7tn|KM rSyH$ϕwytKU3kX%n xct^?Ɋe8w-S6[o3l뒾62?}p|`WLyIV+?b$om~5q} =_8˙mvBρK}[Lʟ[9'Yk )/gͯ3טq[3nPP:>w{g|Q#4]>e ך7u{?  fи%cY~- gY1"=/#}hǙ  s+.97^uA|N# T/{|_>.o9/B܋Af7|GñsF}&G;ľ2KugeϜcf=;803?qWr]]_ytKN4F;}M{39 V}qE)\R6pm8Gyf{BWf={ To7O܈ͬyV3+/S  {@FЮpO.\x.g? .8yp/.{ |.;\`   N][7d 'q#{}sg]CVo̾G72ڽf%--: =ާ|]pcpٺ=#o~An֛9/{teg`W.?iwNcYCK0H[{8bzvoaFW"|&h!5׿)H꺯Uف<ʎOc?zp}m0tk!F~' k׀{)g` cя87ދ5gw\PZo2>}qǠK@~>:5F`ē_KSdG'wwe6:W>| x yY܇VԀ??k/Χ뷞碶< 9ok /ؿ ~Tp`7dGyf_tG{^=_Q{ 9G8j|uPr1'kû_v0kd[w~qs?zr)9:O E%۩MaKuG~w OmF蛱 6zW6|NQ|zaO;=>Ƶk_h:y`43e׽Y#1   ^܋[֘Qpnl6~HSuQqK\#:fsl·Nqޮ3չ8@6*c=~N^5 ?"kYyJ;W}Pw:y㼛\q/2y?2Vޑ/#)ϸ^tkk 3bxm_oOVOs]Gk9^~^ϛQG\[:۪Gc.ld\?X9kY]Y-ڿk_!9>g)^'6ȓ9*3]x+:ly}W99+?8+LBis)       `i9>}jg8e)i?|%bY@Y؃At%Y;A(Ry]i RuQ- -կ}2Vq*d} q^y kt2-31G2=!P]px+XOxWF!"hf[xq_Ie%Y;8o=ۗ"^dĆ{=ĕ{îz^!71|5ИwkxmkBTxM@aJj: :*(h(!ՋFc'"}(Ǟo<ؽv777iϻw׋#mz\'l䗼~#ǰs{]9'{{_vJ"N[؟ms(kfm^}'ȸXEږx6&i,www}iE~ԏ8'N]]s vuN&1߭ٱSHv|1<Kc=T<ɟx.=:8'Xu{1Ǵ!(HLӟlyxZ͸絖v0u,ӿ[2m;/Z?$MqSH w﹁s22oQ9}6wKogڷcoioh+|r ?ei}_Na9O3Kl=S|20;KϠ$I$I$I?G߹~&߯*㷣xߺ5ZlKN=_-1{ֵw{H|wzz\W_o{f5֢zov1kz$ԛ^F$SǾz,mH> K>96R礳6f_"옱ރ8ې9.S֭P|oһ[z]I5qӬ>[ɧ~]_J%>7~b.kֿ:P1Ǭ;xf)}CSe%fN[{Ƕk1/z֦?{N{~w[>w3ǵ[ `M^bs5xj1/`k1 <ށ?}op(Sfgvi伞S{;r,{qH3>x2/G߱F:OYW=^wlsz6I]Ƶ}O>:*vubog>o14|³UҺ.뻭~?/I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I?=ISBAmkBT0xM#1aJjHt@<t3UP-5PBVH$yZ"}}񌄏OOOG>p8l{V㯯2777Ƿrގ#qtHDR sW2WWW[=+WSz~~b\O&C|:GӹFƒQ2e[v#}븈k;f݌s{y7n=G*7m*s ʤMb`z98ܿ}*Ondsب'%=_󔾏s趈`4S>M^)G۔I9ySs~jjS7ڙ%kn}?or߹}z&Ϝpziպui~[?gǚKs ~vkUjNy~wgPrɹ#gx3.2)3gjH%=78}sg#3/|}O_OyVV5r>%ƨkT~w*m0d/[OȱC]ٻ߫_+)3bկ{{1S5؁J3쿎uƑ9}=jm|~}˞Faf|><#z(kއώyN$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I_K=]mkBT`x1 1 Al! AHsp3͵'m7d۪=ˆsk?i@IDATx{pa'o{H%J MY>)W#:]%Wn#ݕ]Hu+:RU޲+NM{e#*l$ǒ"0g˴)ˤ(Rփ$@"Aq4ģ{0`0 rMOۿ @ y @saJ,nZ%""""  """"!!!!!Gd#MSk]""""NEY4jSGyE DDDDDE*(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pR(pzAҥG FJtO[6 DW" T?~C{vd d+ wM޻;'ܕ|OyS3O 7<2[!u N'vlE~f=|qsDZcr֯=%cH% Hurޚ߲a ynt}EcS*:f:78Nz>_ Mp"]yx/ }f3ckKӃ#7T" JM^ZP y> c8w3t~tzWT ys_ BM0 &(.~ehŷ?zj_|uwEz~Z%}zC*QOhs0i a8K0ۖXM#b4uz'`33ŷ.ڜlH?9s[[k{џA"]h}sO ?{>Ua w;Lk={? 'sCM7žW|ílh{Ϝw^e8}=|d.z۟7OԓO\@;Ʀ. ==u6=ق\N|[3$}+z0gqs7yvy00~N?gy#]//es=Evy?h{fE =w߭]3㞁o۾o 7| o[G<;{?JߵY~-) R*ը<A7>$}"] BNyKޛ<ג-:=w|׳3gïoފjWQ2Ycgg!:-ϗ ~aT{MFkvOy|q&zqF!(`Հ.&K6 FV'oAZL1̳=|df`bK{[km|] 99'Ɨh8- ׿؇HY9FwWٲwrb[6uz}I熾o%Dz6a <y}O6 d/\|<扲~yzk :SW-x{+~f:[h}ۢv̯ױf>;֜օ\ |RH|<}zFe̳3"'|W?+utwެg8Ә:34'/v,~ؾjnx'}clw8ŁSDT'[4?tp3[ꭓ NjSo3uz|p\TJJ <0P 2Pq@E>@ـW2{_ܧWq2y~e`s~8*%H㕼+ߤTR6+uo_JU3in*:Əɻ|.9R^i_ Wy}3|[=[c{fjBG43@ޯ=6Svwgh}* [L-gC{+aC=^Rn^ws=Mw OM*3]"MR.g?/-86Y]@sgHps^E oCO-^-40x>^Z7cT; DWTp,˳'݅c>kch㶊+7˖G4'ƷxA`U#]w_V m*'[Ly5xTF&ٴdoCqw ~] $]yMbpsǷV<:5smk`YT؅ˍ0\8w4xx@~x @al|c[}^7>^K+!(@*_:_1wδS~ o %~K@z?rsFH'osA+7O%M޵-a,Q 9ᣚ5K|^mo9=Pd,~A/$/eԹ߬ ܩ~-*/y>ů야j5ܭĹcx-GZMZMo)/ilkakC*Q 4gʍ][W^ Dz<>BOOWەķoEbV&c|ʼJj F8pnj͉_o&rᯚqcV=wx׶y)ws6ϥa(Wcs^tr,W?ui\MH+ 8~)ח֙ϫOg'@{o|/-gkrBKbV߾/#wa?]8[nՏ'ݩt'^_t<ƯFXs^?DT=Ksf:^ps9 JO~y)`Nn|}رaNR\J/;nP:~Aķ6Ӗ'dz/-7xN~ygBJgpZD= }VM?5)"]eͣ^}bj]S+-fJ+\6[^al OݏwP\*s޺ /ɻKz3o?m]s^81u dl[Occ =|;Ś_-}ly䋐p}+Q>~o֯=VQ{O$+q(yho4"RHx=ق_{ ɻvޫt<POlߊ D%[-^gx}y}HݏgE3}+5 n_"U/w?ο̂sϝo1r?/xM\=nߵ F;e+_Gs޳3SG7ᑊr> mw/{ e-f4*ίOZ|{ELƗyq}RN ɻ̠5 eג'zh4KsƚT" w톙Ncͼ~}~ y0wޔ$_ҵίۆʹIw DT^uttEױhϙ4/q(e'~g/w8EDUc=8GomoxKi@ G]]]xWkR{JDDDDTǀJDDDtdI$ػwoADDDDuȐsz(!EgϞ=2@DDD2>۷ """*]!y%"""ձ!k?<&U4( u7 onV}EF_ܳg|}O"Z>AwC4_ ;;w/׷DDT7\qj)KH$׷KD3t|')$ 4QCwNV=vuuСCeEܹs'C*Q#:>͸WnDs" Y!I"xhhw/֧DDTWu IR8z(Vsg7E$Bt&1"K(aNU<V, U)P@Udt$c) J`Cj\"ZMT@"!""`TJT!֤JRE(R KEDDAUwYv_tJVDT#"h@"41'".%ٳRٳ"#K;Q5B^Q%VLc߿ʐJTvG4' ""kN]Bj___USB;v }}}K#J-K8΂UzRyC#Cu pV/,߿YJm hnCU9xzSwޚ8كcǎ.#jT?THS3-$ADeׇ~ ~Sݻ`WhHQ8+HDtvٹ(,ˮoJj]ݰm?:z#W+ Z]'x)Q9V4 %"dIHTZqC8s~pe"j f踹tFє'?k>XrSo><ػw/ =( m /)E45GyC#ֵDCC4Qk2 *C~^$a 7mjƧ،d QCCk1Mc<KQu O?O<ĒDΒ ]A{k*#+|ְ[nZ}T蚌HXP=Vm߮a[XWo"jhhkxnr"*nCCCk7EDHReDQ@K]cHMSeݴ;nHVHXE,a|2 w֞V5{4U"s"W޽ hYYrDTGXglFHAG2V( QKAfT!)ξD/<.՘$\DU%蜆j:Z+S~( 5iِ?4UFs" YavMDDk[]kRa>验(kJdIču,Bs"Dbs4; DjZظ.q5ך`S{rQIL9Q1N/FDRhUPU-l m1*hկelU]},q51"ŐJD9.m4 #C<Az64;NARKa*/]ѣ.M$"!* ,"Vh+(Zp[H 4DfuY m9ǁrr<dlK0tm$fhI nԌxD(lt{UWS`,!]3~WWxU(2! AR x$6K`C2"0~ O_WXu &th$(E $8!mlǁheaܲ1e9LZ6tZX,c"yi^kb LPYb FHPEPTdIY^"ZsGhA߿Nt${]Pe,BEbHtC*lˆ ,᎝3w֌$".HH")ZU 8Bʲ*ـ ԆOǙ`f (n_$"& H6K ’pɴphaҲ1nٸT=,{YHDtEjor hoU5?|i^2͉0/0@DkuRz)Ut]!(ac[oLJ*(Q@j*4,dKWҸ2C>u=B$ͥ "e mvUFH`;@vp.ob²mc²l,J$""0DdM IpP3np2:p`t^DLGφFuRM&$ؼq#EA@Pk27!RRh2& qK>yk'І|8Vﯱb4QUB"]@v0bZYZ,{KCELmWL yUi\1m\u[M]Тؤ)ئ:Nf`8_VDteY#údS,!_0>kRй.(K"MDB/j6%T#: ΕJDtHݿ?ݻCWWW FMT޹-6o~4F&kݳWG.݂O|d5R[ ]A,`;8WphbܲaZPED$ h%Т ¢K"@qyogRĥYvi&$qYB&akHƘe㗹",]UoBV$huR[cԾQ%[ZMJY""aT"Zh͇'x*^x=zGLpCWWq2D.oa2[@HSAw x F7t5!ѱ r8} [oH▛o~֚mO*6i2zC ⒈ ?ilaw "⢀fYMf]A*Ud@p *wT?"PEPDl5yޠJh%lT kr07q:o⃢FMD誼&amNnk^M gC#:-mq# ")PoB 8@Dkۚ裏ѣ8px~V__8PѶkZ̴lO)"7 1>C'bF2̇c(-t7s]0ZR"a[XE&At|P4Fs&aQ@$SW5MFUFHJ‚Y}U-H[6LXG.I',|Pv E]":NMt*j;MF._371 +;%HElhA[4\$!xWR,-X4CaIڵC*<8z(H$j9xwhW_}fV3؎U!npy| p74QdsE}2&l܊[{ׯ KRIU N 8p*=]Фب*5ba&!" $Hecvw`ViiS*8" P !h]ဗw+0Tpb&I t7\.Zp꺨YDHg &tO Ց^4hp7¿!Be4cz^]M4T!mi}EQdLaEDk5Rرc@U#~"LAP*qΏ#5C,3޳iS`$v޸ZbHq` $ 83Nsʬ:4 ;B*n34h % I `̴qٲItG BuO+ % mruԕv&_ę|]-t/L"# e89GX &s8yzmM$"ujO`C2X=85?_DD a]AXW[6Φۥ\qghNek'5+´lJM&FHeH%9RكCR)r-xꩧwZY qWNIlhK ho5гŢ7$06ņu1t`֦nTeѮx'[kS95aQUƭݱ0TwГ(/LdmO_K+ Ҕ:]:i90b6-jٓw`+ѧkS(2:6tMFA` L-t^Ul؄? F38q8[65M-P$y{mG#"DDGwG#nlBC,hXź(B]<~yML Hư$MCnڜӖ0)c95[d֮yJO> '4 bтR6pAl#cٌ_G[c(&y0ܶ=p!UEf%a¶Dod3Уp{DC"Ed &I HZPK"Dm ,ə8cܲ1i5Er*kT͢S9> l@6B1Sr5P(Z0Mk<&y:w^Jx-$UD ѰF7v5k}񈎨nsܕ$I, 6 xq\gFp2BD1os} ԤZ%JDu"vׇW_}?xŃZTiry#4B=$!oZpyp4DcC1-5uMQܸ*!WF:U#+"p8yDQYRS",F_W%D &f-)Zn:yvn:g^Ƨ>-7.(Ι*La;l*4UF"#V l fhHDu4%3 TEc;,]16aMAKct% 4 aUpadrO -Vҫ_mum_I$x'p?d&˓hoaӆttt6E`DTX| #ciWEu4\׀w.`[XݱRIզ}Mp7"%B\l\ɛ @WkZ 'yp(ZH≈f D'~>M\ld pp!,-޺Q V7n_6K~m'n؄FHEo_ECTÿ-8{aniAGjp,nHVr'I!.c0]\$B\z- ̄J{4? q%d 8E|82ό̹1T,AdS[bNA.WDg[76.kh%|>G G90 "].Z#XH87iAhD Op4us/~HDu&_i(˚>Rq@"!)xKx?{a*D&3PlXT eĕ`6)hRfTa]A46B*uMFs"5֊Ԓ={̙3سgϊO?~{S"Le`aY}eql(ֻ7/dz87<۱+ [\d F*SY L])$ e=#})0=͔(``b`*bpZ+!~%| \L%@g"ՒlW]^rKat~ O+MU_7bؖ ӴQu_VYvl8Ÿ{r,2a0$A@iݗtqops_ [s+^z!dVN`b|2i!E)2+i $qlk↍\g_A:kBEt4bU-{"7<;ɬW-'G&p:WDhzjʒL6^K0/'1Ҵ?M ӛΏf 4Bص_ݷ wm\rK]&TS+p8(&l8H`,BhE/,ہw4}HoNI+;5,i@VCL_ҊUDג1 0Mc9Ld Ģ:'6toHDEƺ:(Ro[`fPqv#Ӳ11Ye9GT4ůn™9#*d\Laq4lѱ>͛!L}s6|.DߍgliƻNPd|̐TNogIj`x/qw(6f8oTل_;nhC[{͛lUW)G@6kԤfr&Za*2c"S"e =ܐ<>E4FsC˲aZl۞٦!MAhK] LFj*UрƘ;Gc4xmq5GrU\D5Gpnx_aE53UW}S<}}}5Y\7-ql m)x>rzt|mMo"+!•ҹa1%훩U]ɦo+^T|DѴa4llFW{qK'z[ДhZXj$#(frJ%DhZ !ELpC`ϵj*[whhk7v5;7@%\"oL Nm }8S\ޙ#hm4`ȍԚ /~U1- łUw:4(Mt4`]kYdsE(nnM\"5GLM5%$4<7ALܔlRi0YBʴVd$ʛ,>AYpCH6Xw mcVJWvj0%$ X } U7 -V!vn@4wnƭ7e[tE$ 8{a yӆ(,/H5lWRY&E l +\L჋) >;w㳿nH˜cl".h J+ #I2,۝Y!P-aOמ&dYBC,e#35TjL KwITq} q`FSY &"amgjG#i EМchx ӚCpʢ#.{q.D7w8@("aI0$,FhCLN.1!;@Ҳؖ@DX+Tv{TG:vl # N٨(Q2.(8qD}NnEof\(,8x7Whj IGpO^.MJ0> a`"[6TVCD4Td8B% J fh3nW$js"T&oa8K~2Лeۆ!7Ev|Nؽy4d?dvɵ%n6TK|fDùhRpO=Gx,1./\D|拥 LĒ0NT| M|Nj^M厬IҊ$9U}2<^i{ gmU .X~Xr:P4Whtu#j-ESЄ-Mq|֍_/ܳsدL[ I& 旚 fm C1bl(DlY/Ͽ* &=i۠gL2[ny}?;6X>4UYn|5._I}qj )%)S'e+nˉ:eQ+[@CCfhWܗK IŻq&L262tjS$xf:R{1;lunʘ,gs"`.˽YnJ˥t" ԣX7f,(X "t]' Bɱ7djppN06T`JaYd誠pYld [+N].~تP4ZK3l`7GEr) T!(l 8NmzI/wndt:@L2*uT !/fx 4|,ټ? `ڹqL ].*QD*ePU/a\+HU/uq/&6 *1&SBt팢+ [R0>+lBϴ\N!+i͖Y@ *ZO7|F?jp=&,d-Nx,E9V.{#\*")*Oؖ@Ob E[Ha%9h`[ZUUy֍<|f*5j}g=BlloC3OޡLŭ;גI( $޾;|>`fۧ:wp!H2rp܀VCUz30 OstR>Fn{o #u5*bEĝ45:nj@3uV4 L]A7# !p ٱ\3RKȥ Ի<ɕd 81SK?|Maȑrehbݿo% GG/Bo!+'rJbB45ZmJC!814A1gK|pa/pEwoHl SOtG\? (0XtwYѩ khKHJ6I'ӟ2_i[HsʱTuՙ yIBRk$0yS\X1UR4Dq@*@oUSJi* MS 28lZg9.WoOmhSozmSgn`k:!Vƪn67gRkh-d3&Ix?zqRhuTwcC9VB-!$IToWΗZ9wEi$ R&#ݲؕ|T^%!Twq1i?5bFT0$u]wDBz)~o%mBTPm:NgBAń2ft(@L74 juL١5J /EϏdAk1?ϳ)i XҊy/VmjqO.N$a]7y;s&CD(9λ^*-."WI17๶;>Kg ҶAo!_907~|\OO>ujqn6J%Q,ٳe;w qj{~r 6KuS׸lGEU-n,U ̝Y7Tk=NJh_~`;1۹su{r-M%6  jm C=&W. ȼ'1-(ڀCf]V+͘DyÄPɤ(Y?î-+BSJCǗjz;Fs8Vz!eaL&"b "l`?Cx˺~B-4Є0[mGJ[S,T:X!G 4!DB i}EpMW[$MY腣-Q۳u]S8>iL|5*A!PP@ j-v'2OmFהDj(2ffH/ܷ.\E6|~/;&e  Bafɷzo>qZ(Iv|ƤrYuXEI6M|0):Tb)t@_8:]fnXwXj:F1kTXm^v/#:eꌍ ĥrd0uoM כ.B,P2Y #1-5Q5|,2ׂk,Da¥c^g wz4C%,u#ERF2Al(|OP;<m'y3F16"t3L~C剆C2yU!!PUthER  ՛ެw-pPdTM_WL# PÈ7݀])RB}!E?w?(QU>lʸg15t?nOm2t(nv 躊ېXԻwebF'"Vȸ*P |"Q %mRC)oOoS"Ky$ 6MS?wCqb5XN2&GPZw85׸XH &BΦt5_6}]WɧL&yP{XNObKP6mR%rL2}g"Ο$ .X(ϲ{lp Dx)* ͠*$,]#%y]|}ZW<׸n]/7lZA=7PMJ0/Y3{6Tj4wmb ikqb2a:o>LGۜe[=,o^T|MF if SVB8>뇋ܺsff6rlx)<_'Y>7@U֍ٽe;v1:X mI"]W91SϾϿyMc%ڵ y8!ʵ`)qW:ҩąJ\\/@tf'qLQ;r{aK5Q(q[TZ)C e3Wy ׂk,xa`>燜^Sϋ)fmvoLEItjM2PTJ¨1nhk{F06x_Q2_>#e2FAJ'6y+[msVbX"z=usOkhk.`űI[vwcDؾzTEIVy-Wݛ)8:Up-W9}sFESTE9˷T\ǧϱf t]4^3q,Wo)͝{1u(Y,eLRŜͷ8*WJGbYӷL{K.z67Ïf>~㡝6KB]J/T SZ>Y,ScyVUJL֐9{ǧ+߾L ,k3:HlH~'q)%&5Y7Z?| ׭+qjg)L)qD02 Xv2뚂+J{ehƙ_IٴI!V.P-ˢ) ˽6kiv|,y9NLW5\z@)d,2iJ#Ϫ^ R cIޡ'kk $sKMFE IJsY'/ [jmCmji9>KNؘj"9#VB[2߭ /fmAYE%(Wd^pe--gq 54zUGB3k-nċM[*(@ZUȫ 9UalLXI QUuCڗ %wC6;,Z 8\*QD j=_ owzTU!c eW@]&)hq&wQUA ?Q EUPI#'gtF-04[Y7v UQx![a,~ шUTx/o;3DW,C4;KT605róoNqtǦ@O>$㌏_ӹ+X2ؤ'o,# UI,Pbn Tjɂ( C&M"p3)ڳ!\!GSv&moe1,pm``Ӌ%7\ZU&-_-XhGUTDR5sCJ]'!H(B!1M"ͰᕠroJy 1u D(4x@R*R)MoOb>דagd)ĒKO./϶BAT60XʰPu &h=L]'M zH׮%)TYjǑRf /ܱИo`j*"0 3uGʤ7Nq\>4(mk -jzd97~F"g T%f T$3N)CKPdbќK:OBWUT5ɪ:^s65]/'cy߻]W9xK;6d f&{ n:sVc%LLy#.]՚4bJeHV1v*œŪC4/0TnnoYjϭv7%Ay}lޘbdx?Ob* زq"B r%8wiMv 9>\dRb>k04C?y_-;ֲ{0/F2ƓوfǣTLd~6 ٳeomHٱI_!@)sRO};w/~Zq =iziRJ04%>\/v#)Xv S Եn" WTO}r'_:v$0|/}qd<{P*%[lPJfCtLv0" eքR#^َG=0 t!(i*w,Kv|H8 &tC M`G2,C#-dL0؛塻6sVVCy6$fuuNӊތɃy^D# *n,9ݗF!hn\|QU21{6g0ٴRq}4U$c8UOxM;ֲs0Ͷ놤lp{8,Pz$cJᬈ "zr6 -ҶN!k㷏y[ IKgnv&[&4&ץFD؆FO8ͣyJOm&)|"1` srW+d[2tvyW׍QڄaHڶ3Gh`[70Лxe3]eEs*4Rc̕[,( 4=ݦfE{HBsd!41VaL C4EUQy9{a$aPoM#`džA\'`zA6_S b+m38`t}MwjP̦ϻe'jjs r1=9vwf.)!K,cbu4: dؾi݌EcT@ܵ7Rm8(B!mk,M">SWф 2`_/xU^}{I2$dL)E` |1R8|f3Tv[KXJfdo'}L0GL1fMed%I$?lɓKW^vmL)RkR&#XrM)2؛巧3ǓsS1_J8— *+d!0X@BWޞ汧ez[G6701֋-6.Z^8!iT.KFm_"^%mJizs.5?I]-`M K|W~>補8qz>w2bڢٽzgSW`bAW'.b"7'~i/d:,]C52:ߏhv4O|;vM>c:uM`qk{H|?٬ǑU)xSDQ̦}>B1o+oMk \r>{#*+pt?ӟrbvu"N64ܾ j2|$D"fLM~Z+ mܲs GzZtBMb?ëxA)LrroFIs݆ \kJ\)7\k* 6 74(,ziA҈G KqXW}05)N)W +T߅7N-7pwuׇu+عs'BarP9<ׂK $frp?5ˆ"WoD4PM[L1и# N(CUX3ZBU(C:^͠Nrs8iS{ٻmbzf!ddt5`d í;8H jZAo%|II>SPl-XLqG6j,q -ySlu,]ŸRbJ4unL[|j C悐 ]RU5UW/c }~]%F<̻nxWPu|Z-7 B` tBԢdQ cyir 1a )$SvpR c#q'cZ=i\<i=mG½[ؽukl*MfGcGPT-|Vۧ`e,lVTA<R*T'zrѤt_ww*EQ(l8 G҉ˆF˧fuCةk>ENMk4kkJx^9BϚl0)XƋO%]g c^90JAaMB MS9|̫E1 { c*zBv3 K'gWw 4tb~Jvߧ|ڢy)f3&ܳ4EDT9C K]CD=]qzr(lurbE)"Cwýi{3]ٳd!AW.!OW8x| !ad $ $UH)u)}+7STrR!K' t_cA,q}EZpJ[2N:'ܴ}+Y)ܜd34@Q/ӊ|Fj( 9 S=iZ:"h;LuaO'26{2&iE!Ēp{bTN5Q#zTX惈Cn֔ɒҜb!.]Bpw೅ }VnzP(ovnJ ƈ4U 5MHjQpF4ܜ1ؖ'SO9Yt|NprKf~a[oZMaP7 tE/ˍ(C(( 0b_禴AZQˤikLⅶNAQQa.h(*QUʰ1iiL#tA%pb|q}R\)n%Ȕj=` Xgj|Őa Z\#SQZ6L&#B1TN,B*QKԄI=B}%)Ҧ'ൎqgs}c䖌Ɉ{9vM~X{ x͡o4y0 άb ȥ(%YZ jek]j[啸V^X-@RH"3Ls&a0C. >rf׾s~`'Նͦ"/1vntJg^ \tg $;61ݱlZwD 2Е:S B0teIbŊ+x1{sXí[ybIm\9C2h#̻Hݹs'_~}Ƒ So{݀ӓK.(J>SXX/ģSvc( @IDAT/c@Br׮!CG8c$~GbiIlm.VJ $tnLTZ(x@pG*|>vg5v$Q:v6v92]Q7Ϩ )UVz4QCgR&U0hhR?ǙԋAD#U]FD^@oW fWs5` d |O­)=- QCptE ; B״CT Z|=zUCAFF ०sM@J~! *̆ܓIpc੆7Z̹>'.Pkbq2ϻ@ nqj"0۱7!K t"N3t&{L]x%?m'6߹FltҸA+GkP٤ަݥ IpsӖ>TMs7 "0(g<{?~4#n>@6c)*O;3lM=hk'fͳqD>o9Ĺ8,! CKr<-\ו)qzr$iƴ㋴m[u պ/bՕFtjӣ5ٶ ZlNXܼCE'|BVBBU?NƁ#m7_."ZGkcrkǧyܾm_.zijvWCqkەwyMs{*_?q゚x~r0~N2&{~@O)͍pI&}Twٵ]:6Ïj-$u&t4i_1_`2޷_'d1I;-SRBGK/k2Ėu>#a o)Ua@DRP#kd/uP ]TI ) *4AH+`I* g.!g Qǿ홡3KeL kI Nx $%S "9U\ 'u^jp"aD$$CƖɠc!:./$S!R:PJqkڠЈ"ʆ6Kp7w9`wuCp\&M|K)&jhFI4M4U<{UoRF? (MR| n>H޴5S+^m:H(TVš.s)sc$/"IS8\dۆnz i᯾#[tٷƝ^Qm;ύvxmk)-֡BϜd.{t}-J_+jr M rR΂r?3&ǁY\? ULsxlC!c͚i ɋ E,jB0uY 0~~ ^aѲ#NOVi>ndhzy䅠* Hzyh\7G^ xyW:??O"%W|kce /Ѓ0HǏa~$-c&1?ʮM}<4>-m:qgaU{R ^n{"VxMDCЭt*wg|F0X˕,;dŒaTMR[:iM@`)bulH pHb1~C0b֏9i` A^(WqvTfG2A^U`K(*_(e(j 06Q智M54' Xd:y1Hnux[yIIt#ÈvI1v‹x|CX7\$a+ TIldog3'"΍Z\es<FV=TL!6 wq KuL mvbg.XJ ^;IٺL& cuS$xj~4ߝc`\Wr,_ΒtJ_kM|;̎L7m`nr)'yIK2JgB85ErI дksU8DbnYtCfQ5efl%.!} gjrx(l^EES,l]p .č3 Mw0ؠK1ڗd^&fTko9t+?Wp~^:4 rS]].V~^K5B>eꄩi;W4|2g45l׿"H` w7l+1oGgU 1 q7|G:L{&"IVU2> Gv(iʈV$}VUliܙ6b%( IE $No %UB^&K$TC5;&_T!o7V'JBJ Hxa3lj|$"*Ԣ>M _mP# _'9 2@ACQ"hE3b>ZI|2Z@-k ZhTscg:2>AoUsP$=09WGST(V':g<{;A|2޵ѾII>`nŋc"FI0DQ:T)#H2ҟ-ĂH>uɣ.H&tiޮ NaĺBx}pl:Nzpo=~&Ws-}Yn7$[AEClE!* ǸY#;M*u`*BeivFGO/Ծ|)d,UwŸ_A23DdP4JN1+ pncd=w"m,6IY*3αԊxBZU7E ~u.^miZ섲Pm$s>vlx_v<>{ý9I_9:Ζq8y%Mac34.CYl覫BS$ks<8>~ 1Ac /KPi8R->xGG``Bq|\?$C7ωU^|m)% #}9L-n'6ajT'-Ҵ]9C%/T5*/ (JLXv_BIԚ6NαTm~Ƨq%R!nVQP'*4TB.-"u5~^dHcc/޹TBgj3$I*ME %{7Qm:/H& N02N|cCYm0 ݙexZ?8ˇ'8xJMzR$DQF )^іNR3e<}Ҧv-"H t-' *YJuܝD" ] H$u\Az1.Ma}B# 0v[X # êOMR>por"q^FM*dKhd}-li8"t1͞I J^QhK %/氩(8RҔm2+,P# -U!jF BU@5' I)yp~ʿ3-5GvҕOXW7BģPF(b'MDaġ'ahQzWZhj @UuЋDt0cLt!gL)ٙZ CTEU X?TYl]H)QDȦL~ݛ*uMkJ߸& K'"Mҡ / ޺Rδc# I*u'n}w:aB Pyq!wl➛i>\& EܹV`fsMPoy,Z-خR'fBWΠ*V,kVch9xb?)ܶcJfj@O)MO)M)$b[2]ipFO 8=Q˱#> (vYE0"-ePTAGqMm?Ej\`b % % 6;4ɣϏs,y{ltPW0DWUvUL=iQyUE ⹺QgыhSl2t6$ UA@lnGcHI#4dđϫ-S>(*aH82~o VTbz^IذBhuHrכ8nrM{֠Eq15Mx;F}+IoKRmhBW>ٙϿzVG05Н>y wSojgەf/n??Kľ|C,W'bᔦiʉ3 L6ߓEUv=W6)S%Qsx|Xo=4m$a\cDdӚn裻ff@;5@F"/^ƳRW<{O 0ZYvS|tn܇*R" bF_S晗Nqh|)a;C9f;P= t|5-jFODU !IrM~p'.Oꡪ C=yna{Tj?Uk(#L!H͎!.E2z_K^?"u5V###+]~ڻv]/|ٳ纈dHrdl_eTa /5)cԔepǶABA]UY1뗝Le' W*%5ϓܺ^:TqgS@+0],kQSWⱬ*Ԃcv@QW0I[>M-{{x]}kj6Gl]\?3Tf |NՂGM ]IK:f?/+ $`)MGoWJRB_ט="(F6_`Ml[MoWl\y V.)Ũ%|BGjm 㾂)֘z,0ryf3ti 7Y'-d:)N=>' o}/䳪!!y M*~*)C~+OQS#TAK2Pͮ |kIg؋?)Ew!"çpWZ׫V4!bILC;ֱaŪs$Qf8xMcHv jqO&eM%x7vmwK2Wic1ϯMiM7{JfD<8Lw2ԛa\M4c⛯p޶Gx Gw_J1o8~E{n]Æ.Rɓ/|G|ޛG),T[v7;LsB_9C>kalt"SaѕKk?xfo?y)b,lyLBM&%VB4<7*ÿ˧9<>|?׾*r)d3$MF#IhX^pv}N[Ao1 H6K6m/.X7=ׅXw )dL4U[J+=6ߪ8j{ Yly FYUIjPv(~D50D(G-.2 J(ģ5~U])5BAG6G5/3$ - ?}X'~a [2X牽} #y\/,Sgf=l]WwEWv,p&{_bvmꣷgK!g,pV[6e~;|4ⱯI2V]]$:zs۳]).l?h{<ӲH1Ŕ˚ڞs`gKiޛkk{-%%*ؽ5]A&#u;H)t%zXv1bhZOhH *|cJk;|csMOJ>KlNQST^fE$UA; 5dz$T)/ņCVp+ϋM=eCᶴ<)Qe,Btϕ28͟^3u {_>۽+A&ikM]$Ss W9yʺa$93Yd J'ˆf]$È]'VkW0L֙t2ύ7nD"i ުBzYhm7`5>Q!ad/d<}}'xEϪJq+^NH ۲}43^_rmDS7`76wJGlmIKQX]]+Doڭ+Rq2^@%( g/}7\3P=}0|WOQk\>|es]if\~<=X)^uK(A]ey*-wcgqpTnZ=4w e ^YU~/&߮4, ԓS$9UJoVL!kLOܖ6xڶˆZ' hB0`j*FJ§ޮ m8|sEJUpOë/9D|5iPŏJ(Cz5( EķZLgN9.<w}UCVCI-R)ij4>McgƢx<i߾C՘T0 Er|NY`fC7-#(8~3L2ky[?Q՟+W߿BЉNih%-Xi]Lq{ֱmC7)|?bp;wM{q;8}]y !Oeޮ m'^<+4M!_2u3^!+y~qv&eRȥAHRk:UZzb8OB<iJhJ!k/D4U+! )e-zitMS "ѱ̚]lb{* ,4#`vAv|0qNT][!ߕ@պC0vng3,u w!2}p?HFJ4:~ 63W'Ś%;.R~>z!կrwZj5z꩟v]Ӌv}T5BzqJD?6ɯ}x;bWn@P;lbnM[&JZaP#xKj`@|ݥ8=Yb%/$YQcZ- ؝|E@3.ur$,EFt M )芀)x,Ot*QE[S[uLH)Q76V/Zo3|$ɺ6V TMUrB58dOS;-D6\y`)mIӽI)&um\,9; .YNy$c.eL7xns]5CS+95ď_9K3m8\W> G83Uebr+ǧ/i~/N@ײyMQ$^h[BeNbՓ3|aF(*'-ʱ"))dc;&]]6ˏ)6bef  c>B]r1EW>*mfczٙg9<>LJ7Ɣr |eP$+]J25J$ @(CRG򚦐N(}Zv U]Y4g&D9ܡ\Lm}7@$LHXfdl[.2ddYԚ.ͶC h%ˮ5mf;|n5ez)\/Eԛ뇋" #ڜXę%&ꌝ[d$ٴId?22ٳgQv} [b{0uǻ^w a:pSg8l kJ dԭ),UeTq|B2v=8?SZg4 wwZB*8\+PC^l51(r1G 9UD2] šݩ5Õ8X.lB!l{k:A:@a8r1M!k1ؤQ5]* s B6#fV=D~SZ>2Wglί3|B Mw_JB!CES|f{InNyEAżl@1;KD;<>mX 2OSD:iP.9<[cI.rlRHs~ǚ"g&+|[. {Zʩ,8:z)&gj|{Zi?ws!0ڰɥ$-'f8qvaw!vm;Oǯą=ܴeqdpۆnҏL.D2Fs- DUTUxy]s%+1 _8;Qzs݀boqL󡱹K} !'/B2Hhi01[y^9:y+-{ܹc4lR΢+M&eEih9snN5?df3&^6I`Ż5]oWSJҕO"s)JVBOR&H[:IKg`!^P*mgf3LccXְ= -t<I0$2/gTܲuY<4<{tn>9'bqeسg_] '4ndzART o=+m9ĎeN]U $; Ѷ_/6x_Ά"+'fm[[e.H%4\7DI P .C`ʿ{ %ٯ?*؝Еw3/X(JI2dCwj-撤TT)*RkǼNES`&é@2u6uja֦: u;ǒJߔr;J ?PT:;_JrA]e~曌>7X(d5ea +# n+q1 #t|u!k%2&kLm}Y<)#6$L~Tl {3 vgt*cτSǹm y7d؀$[kc<JI >w;6򻟸 ?>;X;Xm좸*;UU4\^=>40Л%mIJtdS&E6eP,$Y7P JXi*|&ZB*ssMf&4s04rr$ys/wl$mo|fI|I' 􉛸{IKc)O3"ځ"7H-댧9@tVT/hB1`hBdpjE?8s31S)!ر$ƾ5gpq݀jff `ǚ8#nY躆eiWVB4TٴIw1E)X_d'C&mR.ͳ놈Oܻ [hrH Q;wjp=x'vC֚ *uZ U¿^lla(_ߌle;+Gg0tCר4-Ш;|$a&u]iEW:zL8ܘ2\)NKlj$A\]@]$5u,!w|n %]ù$=AAUOc#%c{x^+ vJ( #9? 0`OTBb'e;WYS,,>r XPI ?_d^9O[-eP~3ϖV9KqҎ]4iG_-EhZtu݋A(*|4oG|YBB0^3ӈT+AWDl vg-ynl~(;0~/8 WЧ5TjmZtS:'O/tQ%* 19[Ó8[1wowm}3045*躂mmNth)^9o[eHx,OsC/pqaƳqhlPfI-~)/nH)2t&g<1KpճqP 41xT~h|:֏X_ tw]׈$|d;;׳cS3-~M? 0mq=BoX[K-kL7QD\ލ$-x/uxw8̖]d>?ƱAcCbP)4Uە&mRE04'֙ܳk,ǎ 1=CWwdrE\u!$ E_}뇋q85qaQS)RwŮ]?C8`Y^/m ABbE~Wi7s\SaDAM嫻 ,qI mI+JG1~cc#tkoJ.!CHQĀhx3Twu}À$HbAwVeVVyQTmhZ俧*#K55BP5Eg(5\˜;ȳoOו/k3XPrWҤMUyd O%]>gs:Eq1>9b#h;i[)FtMxīUlS Zm *Bi%55f݀P8\s8Hd+5~3EJU)R\c2>˚%mAWjS'nIZ0C)IL|?~uGxdU7knķl8i>K+5~lo"fO\G |h`͓^%b}u}Th-]([}yaitf*[k̑ =y<{};[jKP[}ҹ} ɸˇ&˗$m=D_.R[fqm:ek/"szgjud'vp۶~2"Hl[GSd)kuEM-9 DS5v$7Y׮4Ez\)^7t<:q#`NFhb:KUL]ETdXJoW$]8IP,7iz>)$K5MGlBhCtURsx(htɘaغU}:nk*q)5ҷټ.p/&g /0>JJ-^@ڌ\Z΀)$cٔE{6PO;پ Gr/ݳBl3=lBRmmuD'yakki1>`T,X)vMVa(\(CiB+yJ?Kˤ,z;ئJjp<ME8BgwXkrmx4'N3Q M҃T+M/W0klo#㝓WQcֳkS7+Q9PpsE5(A !$' N6](qM7}[۹]œ9oXqx` 'iƟK|/Y`Ԉ+KRL$ŃTDS0K!E_rrd``IҚJD.Et_x%-m)_ ԭCґdZʼZsH [Wdb,~7ݨ"*)C@+UUmyC"a:*W瑮]Hq@VK~@=UOu$ǯ|d^EJ U0mqbrfc2懔[(M#9x4]fED25Tm;@\EQe9+n`YG8saymrs~n5s|铜z`⇒MCL/H%-~{es/ɸ@2;ȑWF5[{?٤Do!cxK!}])}h.2xaSފZ>3|])[6tp^gI-\קRw7| fגri,ݑETTFy K 5J& +5 Q7qqF$ [@a b^r U5h L]!I&L: Rq Is 311l%BERo2>ѳZbrb BN\t׏NDjs)˱m}[׵3Еᖭ} DžfJX eJȾz J:Sř%V'YAUV!Ro-V%{U?3s|Af2|A/$\5}/2`*ݹ*RR@V[Ag6}I\/`lL̗mLDM_gx@=%B6ɉPi;n 7E_NjOs˻2#9?,m!"ˤbع%ܚք*!,^N @IDAT^:= !ע MMXluߛՁ$A&AS3nF-OdlLz d#ub0HTD HpW5jB855!}DKνe/X፺+H :|4my: E卪Cd 36,^xF@4\[,N7}d &nG19GEuQG5 ";3B/n[9],3B7 U--A# >X qX~PjfBk8ԛ4< "<]lGy]>7֝ãO'h8Y-#o#4i6]V|%^p˜kx7>PF|vU7 T5Uatɉ% ZlֳsEbH0t|&K@mB!T gλUUNfO>OWt*)EPjӹH2ʰi:ɯ%@FGPmz{WFSOW1U' ? *CjAHlu{"HNkDL~[:{]l ܑ0i"yܠHu Mm|2equ+ale4>ߖlJ(sTqm*o[ݸ3Z|pgd%L %dBa}C Q64xXxJW[] fXBWT %GE§XOvg/ËWיd~E\s[* u{XvM'\;rչlJtKbN6eܛ~#w[/w23s|{6>r`1NO,JemeY#7_g;ͯ~|{6:_azw:/߳D̤R8:pU.Ql`AG\+~Ot6R1-#tZrREZgNR,jkQ1`*2PxhJpb]uuL&XΎlTKEoj*`F}VvK'q}K(:."">8^Ej!TSn/4X*j8O (묔L/,`Z0hKیeصme$Rӟs< XZ{~RRΩ KpNkcm`H;q6(cX|/|_.`}8x ]Kk'@.ͽGس @Hڨ+})WiUJtU#K?}Rɞ{66L,S&́T"`Ppϭsϗ9Tsؓ0h~LGP7i'b:hKKgEPO0M|A*D 2T,C mHZ|Xc:lj*,x@(N7*aHR[7xBD%!M(H0Pi %MŸ'i bޤI 5 @mq:u?]:!pgs pe/zHR(.% .B\V/J.Y C4ʹBɋ&ίf :,_RSU<)mKJ?o=mp|-%eYJL^x{Tk۹g i1;w1p^Ԟ ļXRt}>O%_] t\_KzO1 pܚ7q2fpמlScTgt ٳuYbƑ9<1.Q}2rη>ju7^?<\`or酫SWl7|NI=c~c|͛~8-ok* + 78`7 q4~Ȋ!tr=JQ :SBkŒI6eXF CjMw`:GI ӺF")^@Q" WxWB.U\/q}{s>6fI%MFgٽ߿byq[y<ζu93̾}w%4rb CWׂQ$B~_Ot=~C]}"wM3I$[wp-Cfh@J|?Dvo!_( 6vcY(۴'Ra(9@w^߷l:F> ¨Ɵ'ZAJgLN=Mۓ|&}@Hi qEPI+TY?F&ZmS[ؾK%B K ҩ!~H\f(t)tFMǿsWɞɧ21-7wܾgζ8嚷&>2J)9|fS)g#SW7uC*uF#fK*iG9Bbh2~ u]Rq"Q/ѱWSE=#(7(@הRTd fj TBe [Y"% ͗͗yO'dp;8AҕK2ܓ5la.*uOʑI^92DJkSmj3:NXtt=JFzS?K*{A{;wٞ !DK[pvva:EO–qtGbX~y|,wKqm;qjͣR^P_(!">J= x g.;c:MX>JZ{\lDK@pr3s`g?]'Iƭv U4.[c&!;bnxch,> ^vR¾IFSY0\$Qg0zu)CyH!PZj*"uC^5x2T.DQ@ ^ӗX]@(B2`w|_ &34Wjوx2{&Q}(i7nR A!l% A)ozjxzŖ{Aѯ+ :ÖFތ:?\FA!=¾5B݀Yb ARULOfm6[:^(X|R 6Gk.32g&L Rk@G?2tF2\-sc;F;ɵx,78t$Jkھ߾6X*hĮX#7X({(!X1R9~vSKDU{}C˥&z3 e~:X捣3MsMg_@Ƹo:q95K&غ;1 +>3UAD[; {a 7f>_ }IF˩]Sug)oR5ۓXĭGC$AzãֈOe#ndܤpi6=4!ʐfk[q5(mޅ@ȐL2ʼn[:1۠=IGd2\T ږFHPo8OD/!PT&Ew4bS㋜(Dv[:+u jev;' gecoc~n cl<se&YDlef˼ub k*i`j Ivb߶3={͗yӼrh2 e~yFڸ>tmgp Z} ©֟4 k&y衇~ẦLoO{[! #/ I lKJQ4旭S[q߿ɓ[/}ζ8Unpq|͖JM#lE;Κíq(M d5vsPT. yemn X(T[€Ց| *#iV9U#R%G.+,v]Fr] &f:yN*"Bo̻>_Wx$< |_J:4*(!O|sƼ6tڦPz u0ŽkZYIs3$D©K[kVm M%L^6xÆM,TEPp5#ϬҦ MԹ!/(t wm>1djh(jJkFK>F(i Y BYД6#dUE15 ϛgٱD| C%0*O{FQ$"ʺ%q~z'S84I*X $SuRtLfGSTM\ Cy}ߜև})Mpڠ)B\VUHF$0ygjM%ݓKrmJc|[oP6utcvz;R['f9y)CWek/i<ƣ~!$պ['fZ߶ \DLhlrʶ5nîmLNRuU:g L/h4=O^1Eܠk]QǪiضJw.E{6FW[(#mkhmdoQBGRoZjIX: "}m4.RscrLd~ g&y :br>lc^^=2J2v@ߍ@R{|#'fƳ'HqC|CBof|fg8|fG:= ;7e4^lRj}UӬwGyݵk}zօ ~sUP0quJFun\oU0Ұ->wGMoŇNs~jPqÎ-!DܹkO11U` xB^ٶN%{5iM|3-]f&wdxwN,`ڢ$F[Jr$ GjɲqQ:h` zSܕ0i~k˨"Yς 15JA_,Va `ߛI YGA#Pu*%[ u.CEJɂp CD}XC](ռ%fҡ|cY|増 o-W9ZuA(QI[숙TZb^ sJLWjM\㝚*;ӈDjJKWK! ^@ TxiqtY/Xn,yHRŲl7yrJ~qELuN%9Vw7h[ЩqرPF<9rK2hmFa\xF/721\Mp<w}ȗY,Tq N,bN{:Q{.A KWhxEԶ ]M)UtٹrgX.]ۯ279څ %Ç}Ĭ(r6_!3'vh5 8tzQMSָ?ζ8OvSTQ;G{HMVʑB#!+.\=jK<9K+L[*Sk~7ixL٩VbihE{f}}RtűLSW%14%:պC5 4!P5AiKYw4{)U.9|fyVL̕ZY"b'Cg[rVnZU2T *9U%j'7\rݣ<[y}W; B{)t}tPrΝ{& Um;nҮFzVL2JǹɫidOͯqTE0ܗeۆ.qIčyXʗ٤ a_ܗPK"A ~u-Ͷ!w%ѢSGZW1BBZ{S6ۑGW|bB2]?$tNVSh i7`)0V+ )7ka{E h?IM%QJ_B9kͶɶǛhTvt `9z Yu!yl_/W{ѻ6t:{횺 F.cOx#ɀ2x+Y^E^ * ?*Ą PBި:=Y6Yϔ.W(\MJg,S9jAHO[l:F"n,ϼq~4BR6ߝ|d ,4gg})f5\ߋ8c7WM]S͗(lMFYm 4]+ R tWGHw=㇯;W:e[I铉4 J2n"~a(_虅H->І`Ͼ>62AW דGH "94@z}T!_r M_H?r ]uh%>O`*ёIۙ`;îMݬo'n؆Jw{UUh8>yyQʗ("ʦL:b˲kc7Ն|޺s ~RiRo_t+aWS菛lh"xM) BIYP 6E_R Δ.2Ͽvg>MC??ϛgy Xfn3o)/K:tqHz_8zСXw:r$$zX=M3ʸ Y[y-e\n!e>Q{-4\GyԹqˋc*]9`ݞLhCUsK{ri]Y}ju]nM L: +#gV(j*^D`w$,5j쥛NKr|E^Wm|cOd;$Œc+]ß*KMJ8xͪC=ƞEN趢`*ʋ\J|I$ y|믭PR "KouQd] T/U*Ai'il~CAE5EI6: B^Zai{]|U-k*'5IިC{S/H 1P4. Ml['L1:F jb !*H ,SCWT(~pQ(ѵҔ(M*J{Ӯc>^Km,ꁤG|6` 9J .N6~J NNS!~+p`>) qUZ/ը!iUIh P V3[TYEQC: YrqNC U֦Byy5 ~=/t"CLQ_Jz!?w]CZJY|}JVSfCEjBg;&Y(OS6_M#\^!{UdRSECy|Ֆ],CG"SkxH)-Ba|fOܵp!.,ΩkuؽCӨg'mJk&P0\B*n웇G1KgbFqi/C6^21rZsԱkFfa(-բ.Ȓ2Tk@MShKt'ɤ,5bR\EuX׍j~oVj@09WSĬ26[G[[F:nOLm\7XmtB! #E{湷&\PoxX¾G6,K(耡F7˫UKufZ]w_Ml]89ݏ$l{97]ѧN0>S<+7uVNLL/~/~<<^q N?ՒMZ?%A7 CԅeY`H;p#33tl]S7]*5Fӧz!B:aҞxfnFJߒRs2:ΫGxp[fo܈|n|Z@[C ]t_Fi @{] ʐrA6IJ0Zcz:w& 69ť2K `Ms),y/ (Ti̲pkw:R7q<]nge dcl2LL WJ.4}*a-,!Ȣ)HE>z h|-_,Ą΄+᝚÷ 5RB-iUzt_J<1jUǷW,v+ꡎBB9xxzN$,2t'L[zu ibPf^FciU`4`)jwGocj&+o{y /ح^7] %w<B2djܑUTaJ,&Mz"='j31W¶nn2aA(yI^?>A( ‹bǽ=ܗC{iZ;3 $]iz;dSOrO]Wi$ulq1<Ȧ,^;2͡W9MUغ Y\W]Wj~t*Rw3؝ dPUthkX_)-/Q?, 1#J CLS'f("z)CbN_W CS\[xD5S"lq},~b7rn@(_Щ)T q\[ y?!jr~mmi8LJ kS]m 2I-P;Tk.QR*ß|uztc|:cc+ a(e(pL,Ea@R:4v-rCTZKߙ`P;mj~ȶu~n U|3 `_~AccUyzg?ouA2nqP8JtM%Ϭ|vvKǢ6$a Iu1qtlgߜЩY* mt'زѡ6 d$3p 3PUaHpuzdg8tה7@J!-aP|-_v89Y?N6eq< ] f͗1ytRMBPCWѮi 9"VE0d4CɼI0t>#6'_5JD3hj~gsMGWmq6y?VIuPKAɗL:[* U)>4N=\SMzehZ:њhnNGI޸21^8ܑl{UB;ڨGW#{7 /SǕB- bBP Cf[rd~RIWWf[lb ɯdx "4úqapI/Q! Y4'y 9}=ȺJIYGmS+<nF [Ly^;Kq]ʉsL_[Td*[Ȥ,?}vUݺ}AakԂА!EG%I'Gf#<'j9mMi& JXWfT7S2^*&Ck|̿u46_[V .9Z*[/a\}bTݻw}T*GR: Xj#[(gjH+Zs(v8nw3W2Н4L&+ NRlZ|oASSv\=z9x|Wmv3, br!*E=b]yk ,.0=ۢ,gٴ =*^(~S̀Y[4=%vZt>5`m8b$0NPUk3Ҫ6Y(X,2L:,ɣUjzqܑٖw&kS2$:cR$%Cj/M֨ 6+3粻'cUo,M~ .3~Mg=l$>@i>y(&O=s.4acrse00 b}n`)Q?$F2yO)ÀiҌcy!msKDq XٸYM 9mi}pr8RЊ/Do8DgC>e 7_ +. +.<~?F;8r,/>LcrÆzKO42JK=9 ,Cr8J4RD;xqBepM枙Oz;[N2:Q4l\GO=7k'.\vcJsxv QR{.ewl//ZmcYՆۥ_$ 2emWNƗ+tB lt skg7|]``GnpSV%ܾs7l^ eaROq804GVSMuE~'|j^ۑ6O2acHEG6 [OflӉz\iTT-Co$>_³~IR?VµuRѱA;bخļW]:OtB6ؙu≚GŻvԆzr1â-HjzAu˖-z뭔e* w}X{_2wߛ?" MIlץ#S XuL}瘚mmׯ7wBN'6QbFLNX1X#5G&$ڎJزG_<'$"#Ј5w<8*:,:vbT}k[jic qa|\ BǫXRT"ALmfQeSBpM^?q˄Z 3Q,٬t,n(+-f-Y_.gcn.X~`W㯧LE -ˮVj1c26MN㋓5*gKYޑwXXX%PM2˺l)R1hb:LJ-yAȋ̀P),K%s^B89n,9`p_yYL5$?SgYܘwi !۲1\HF _OӟY6oXA4=mlooq7=<}n*ǐ+ A헇}hm-.LL)1aOSV&e`&;'$J͔כO<*0d$R 48Mp^OaxZ]mIRknykbκ=\ .{$VM7*eذϵmj?f,^;>Α3Vov9p;V)4Užܼ&`NkHRtBǒԈ4]z,~ALkW8Q$fp.=9*5>/&gu-%5%$r9Rgu&!XG:sH#)JY ND Ocþ6}}-ciy6 :H'o׵=H\Ӆ5g:/z(3ΜF/zDw)]qOSoܺ}%#ײvyRD"4'KP\lS+˴cXQG)H[S>@/ʊJ[]/ &PHyo"+$?יec }(};a’.z9CMꅹwؾa1J>1Mƾ$٦OQ36] ̘G(厁m_ |j.ds6{clTZLX"%vI@ L͗mGW{ 䲻cB6em>_bgt:ߘi6cl:8R1Ԏ8lx挮˚$RH~vl:'}Mຜ^M+BEʣXd2Xf,-o#zsq] Xq*hӛRj)Ai)uP]'9>41h7ۙęiű -.sA1[| SG)æ5}d\ Ћ˟aHH1]mە>(0$s}$uemzAy,/(C)TWs7H` R1o,ӘWݚ4tG.҂դ4ҀSAjDvLJ*/bEs7/ _'_9}3],73Wiuږ.#%A`KNԼs$L=bx EQLsǒ|#ˠeHœ5~83U8IjiWeE 1e3R3窜9뺬ï8L`OzEڻL;9>ؙew5@y}iӒl9ܘwYf f|#Kٔ|yDq=1sQ́=y/Xq=|$'Ffb==`_zx*޿EF|76N\$ڀoz)*m 9ѹEphG MM%B ڬX=< 4n)l\Bkqk,K; Rd+O’_I18t]ʱzm|J9!^qlx bۋ.ES0Ҏ9>2e$3@رq1ޫ*g9m9^;brDC93Z!l<miERdk5pmlJ}EߎT YZN.{af; Wbc1&|&Y)@GŦ!njj~A'^ģּ`62M0$I*͐t7*'>8&3`9ʌcuI?B[s;fBbt綒K=VF!SmجĒ5/Vl0J@IDATMoE54'xoSֵiM?n[燜+X@_4%{k0+D[5kcHhyj9u̫hTF)4U c1]{|,#زBcNJ0i7;v"SF3Stt٪ j^QL6PIv ic YzMXUi:?27实L)K))H#6]Ôt,vf6x}. сB2[2P2`:x MC7ȳ3&S?9#WU5 MsC*\('r[8!JߖjpΫ6VXb]^p?P N߮ڵ3欍%$_i0rx$],/dbOAꏠ>cUJh o/!ͼkc)m"A4} 1iyu^;/G Aֱp <4=}z{6tQ窴6F*J1 rHN O̞3=2TFK[ʴkȊ%lYU}twd(\r0EVmn2vQ6dMTV*JE-|Չvȹ0sqzLUԚ;ceKv晭wQLf=șiVu9HdKz%sV(f2|gfi?K|肋X\fEl]˻.SǪqNV9 jͱ &%Sr"ژ /LxirhwߎV9yW/1hYn*'s\p!҆oo|5'q`6gc5?cRR -R@7y))+uInU]TgD *o/Z(A&Ͳo& B6jMj [&arZmNU,fM6D׬⡌ ȣx-9bD[ a 6pMaes0ya1B ^C9r,3yJ ԛm=dlu}t$aӚ^]ߏG8);|zӣ˾!%kwי'u@{U b騟cv!0McZ|)BgEqD+!g-G9 z29* A3:Y#QXbӣ3!:;CN|JR(\ǦL$Lln=xjA2ؖ#πm dH]pYdHvֹNC[%JSxl+4Y\Y:kc#C:Lo8|}AM5Vk<}}G'{r u{0OM1SmQY`1X2$qu֦%>ۆ"~)Y6CAı1vo&!(exgT:2To6i #u?()H=þ}S*KsT`tImI 6 Kt336Q5X4-|e| ʡSr<}2)ZņU=Ys@뚼yNU>Ϭ|3 <\1C9~P+ߞro_fepſE ؜I"7֜M]A%VBD6;.^0nl*/.3;^< E,Y/ p7S vpNb&'iG|whQ7CzT78µkлֳm"#|LLבAza/dc` ӜXli1q.Y]^ãlhfWC\ۺ쵙ڦɾ#<|}عi4twK85<Ëi^uȵp]N!EjQj0z>D8ңQ+Pq7irzdJDZ4<̦wO|vahB'D"  c0MP |2A) m$umbpq/=]IE}]غã5NeqO+{Y>p`}֠-c+vz\Iʋ>o3JR\Tx=uY,/mCs,!e/_?q֖-[>>/?úL%LUY djI!elNn繬,߿kLJIG=uG?λv|7lC h^y!*S!$eR,ٺ+:(( ,M7YF#]5H#c֬ZBwg 1Le('\f2tvwvuwdy׼BOaJz{ +ǻw,'y9M.c {qnxCڱ1P'1ebHlcޢZLͶhzmvL-܃'ڙD]y,$Ip]7cw/ıcp4*6L,`ժY(NpKw{f[҂6a2JaPaqLksntz0Y[{0Xb"9nєX)Ko oyfI FØNZ%-+Oî3 x &GmS~kPIGl,yyn#A4a6 >ؑ ae3l<FoHxoݺ[}MTTg=s {/+Q01s^T1mpO"Zޯĝᇼzl{s}FzׯL/?u +w3'9><ƫnbrRQf+5(NcA;9$!cV,`>fZ/=7;[b0]H?̲HaB[(wn%/ݧ9ّw0%\nQ~!Sn^Ew!ǁLpWe~:=Eu~񼈑qG]W` D1eC⫄~Ԃ+Ŗ d:#vm?n[x|~+_Ž*-:YM5 U1KHn-dP cz,u?4">Б|eHOlqmZ]֝_c5j'Uڌ/\ cZbWk7JYg&'+I- bBW9&].Ca"*lpmnɹd>~v%26,/R5Vp;fk[.?[48G ~M}=2O(\+k#WFU(8F&q?F) v t TsJKd\ Cri"ʥ}tIb4%$h|0Q*4yjaMDR'(%ӡ%IW'J[&QZ #Sx~$ӳUa#=) NfrF.J8p4~)R bWg#KI}]o=]z^s95ھ*PzbJ(@h Zꢿ.( :R~S2Ҏ8nA!qWv,h'K2'ܘwmmۢuy 9h>~YƧf73*c)ZZ &U6vmuLHS[nK__җ?9ꏭDڑT.~KGMXmJΎWQJ*yp|hg+:H֯fir!b?d2+ʌM9qv*zalc6߸_vz:AD'5$֕c:8G?7Q*ֶJJ\YyK$w-s&|у#GFAvM@AakÊEeYG^8kư AƵ Crto=yC6}#혆NoROajl)KA9s,:;Ny&VBw.zBQ4 Uj,:+ b`mr-M>k~U/=%gZp7Ц#3LNչ04$['Ѯepj+\iF}3ڶv\t<ʞ#ڂh rRЌ,ԉ/UpzL:ݖ9"hl:i TZpM6gmzM'X|cT%N zѐQނKƔIB3Q|F)73Z40͔~D1d,n+f  I'()qm 2/35ٌ;Qt WRy{9kJ䁧nE7Ym(+ch>[Je cE&{ Zu_oQܸeW/A {.u*5@% J]1M"]EHpԀ8QJ[Tq~Q q<'"H$V`Y3<2c'FTCLTɸ6NARH!0Lb eXۯiarz:(XG (stv/BgG'214l7foYvB*CFN {!:^#R}Qd *q̾VAq?b"7 Aȿ;W%QNSْ̱ٖ(f|eM w2+13^ɗp͋9,g  &Cד5<[؆d\xxR*/r{1Ù Fݍq?b_ZdtzJȲyu/]9 MQX,*hm3pl6Ǚ bkP_Н˘N`<8Hc_M`_<)mJ~篣2>$cM.cʡ)|uƬw NFf%kłXwFfbn=@}U}6k]EAs\'SUSQ#-[K-gR豟R ;Wqzk'& ]!H nˢ08ts|;wl/|e6?]0xG%LP㖢ˉ6?ӤlJ[-:l\d3Ŝkx(z $kNR(mPE+Kli0Yold⦂"`kΦ+6dVp^rfhj!4]?ĒD1;[cE|Λ9pxps5%~(M4 wtW3U}\ˇo@GB,)mfycW4׿\-)LH}@D-t}KQ_[`9l`(J/i4[ e2|fCؖEQMױbhxR[)pbZJK&a(ŒŽtw7wߊ,]2~"t(;BwqŜG4Pt0r,ԛ ޞNHbΜfj 3ઌŧ{KlڌcmhTㄿ@#TzDk18lucKBf2RLF/7}\Ccvo(fNJ*-v<>ڕ㝅 9!;J@9ߔEDM~_nR 'Rtmr 2yco9w4IܹZB!ǝG_avH3! SbIsP?T\\.Bw*5.|xAs̀v_}f,`QOk/·=3{c[*>֮ { w@ Cg+l5?1[iqez9C'6m 72J!f륤צꇼِ)C)8DL ai] OL06kvTi\BՏ~5*mVrJ@#96äזx!;yǶeT}||ܴu)K7UdlN'Ҥwx3ո͵XSpv `б;ΪL齥BH0!RĨ2 蠎8cƱ,(A@Aj!~>' H+}޵wg=7I_)f&e̢Fvx.B`ۧQ%Q4/$sdkn, ݯF޴)LᚥSHd d:v1 nѰ]y2iSUs>ȳmNFLɁwG6KHY 3ɫ1FSN4IŌO$lF!Ʋ\HYyQӢ:]炱+g"}"H-.VCCE?;}E324N[$9˸=KY.myZ.dɕ vE7lv86owOfF>̝Ve9k缞 BI,Y*Idz;1ۓGfy[m;s$$QDxBUwT6ףT@+TnX_C#ϲ쒋"WS_[MC]-h8DsK-v$c^K>t6ˣO6;5_rxX&$Igc醎m؎Kjڎtt&OEpkw ;.S 3ϧ1[PЄ>q4o1S?{<77䄞[6=ͪ1$'m>vy*M `@U:cزSnRm0Qy${1{R5dfMdr\w'CUe¡>CGo_fNi*f׶m|>a/Zm & $VR7o±]v1o޼z(`Ld*-d@$F3Ci* l y^Cȴh],# đ4Bֲ؝5< Mƀa3|d!E}RI"nY3:gte;, 9B8E60?UEׄTA4!P[}MgCɐn)MW!nlmQ>Pڒ!!-pNKB"ؖ*pHŮ2E}e~=dlyP_  :&IA/̛REm$f羣`F$I,Pp*>r_Cl{l`ڄr&5zxX"G.o`T^j-̟V%6P?qh$eZ>tV?%y>!{pc:uedMڎtbRΚD*ebK#M545֣(2²qhI"A|U|^ڻҿ|;Z<^Oo'L3}D/nE>aVi*k2:pӇWER28HqbƾޜAJLx7$\Ǵi䑹<ޑK-r $ 9Y>A/"hlRJW_W)Bx4Y}fKB2J]$ԡA6g'ո>/b&oy'+3©L\ClyO3 N(ϗ>Hmjj$ OCWWgٲez뭬\-F:;;iiiySgOTDӭ%G~lkͰu_# .I~`(ɑ*˃D:SSgR]仿~>ي$ê^ WΤx4,f`$CGoY\d"~cYNo(S̈Y_̶FY@ŪA&Hbul~7e[V;R-0`X4x5=ÎKsV[9ݎy˲"U,6>6LcV*T yFШ@W"a*ά'l;hE T C&w! ve M_w4|F*#!0,ttA*sSY+>Mv&2(2@yi0eaPjnQҌ͇R:W`ܩ|w=N&0L?;_ɂLF'[G9c:ټmdnsdN7ظ{zΪq:Lm.碙(L,-v@mj 70Bw[%++P_8ɾ}[ne$要$|>2,oʁ}m؎\p7p-`]%b(W|s/ʎr:+.y55w^ʜS**;kƪo=#q.Fv|I/cNfujW *Q[:k,Ll>qU,^80/ljabV_u1{ws˲4-bCb\|m Xׯ_ijj[oo&zhnn~8&sG}ka;`6+vm`ck!XPDB"vR]<(CW"V(pRS{jǭHx\.|A'3Ƴ4"Qul9R0&BP ZШ%؎CodQ# e ^n*P* Y6!:A~b8nns{߽5Q^ڲrH2wC膅nXg2:E0kb%5A (&u]-G0Y!LHg(/RY^",L&5}Rp8®eHhc$iJLliCOͻ㾾A ~V1LadYB7L<ʿgt~H$\Nϼ@C]5_-̟= fNѧ7c36Pps޲ ^8+9NVZE4^}]]]| _`ժU\UVmǁ$SJ\ߛ$A$<}Cip81jFLhtO[6AGf.]4]mnLY~a3h;򈟝I ̜XACUXU~m_*n9C)J`g\G zx|Q,TZ|n+ūJKSXx*eشd{/qMAAMgl7$A.Jϼ1n pl԰ia1@q l,fr<!`?hY"e!vNtfl &ҐOdztvCD$#^V+ kT pY0EUyXw=;x +߽SIfXM}m9[^9-_ik/f|K9h I;G[Tw+/̦#P~WQ5T*>˲QU86@G0+ODZ h? x &Y<9~{ô=L%{egbͼ}/iqE颫Gc~1Fʭ-cv&9$ E]K}u ʂ?+w橗۸Vvk=|ꆅ璩|S_/ڎc\u,}IiTWqp0-M <L֠.E3z=m:Rbt&-77Dec@IDAT$a9nvϘGH,8tlMbcFTj2aY)R r)F0)pv $UȲ}:eeV}.>v`|A8gƴF\t0%̲yOfmnYXM$%=D`GzFޯ_«)= 0egsB0SB^<1x z@K1LPO0,/e'5R(蔗E,X<$**hvɋw8"+2abr7m{QUY }7xIn' wx^"&6;4̓8HoFB&JcA]|l1#DQ (}TaVJeC%8]$.kP^u#XV|/-sfDyW${Х˱-]pݣ6) 2ͧ!x*LPO^v>mZ覉i9D>ʣ~leJ>ZKh-t4a D2{teLQbJ"^6P_a<ٜNi˂5ló:XqZ:+%r<'|,zd'¬ UH]Mo} .YK&oR] 30%uϋ;7-j˂|.~NZli=+{{RMlwuy.#cڄ&ה`;) [h 3ϡr ڎ28b$(RM"K=AIhnfiQU") I`0{Rrk{|(E2Lb*[3MX2O&R)U$Ҧ3?wnD*Qz48H =.K\ܙ5s&_=̦W5dyFT<}6I˴uTFܶy8UXm;=>ZCz* xn>B:[pMk,FUeTY?e CS}5P]]dE"X+[ZY5twRYQku7TLlX/~lزUUY"o0?=GH/OƭlںIο}*}>G`HxCȲ'nM[v}x=>RmwX*I{w?<"XEz8pN+ fCũɓl<P퐚$rcIFvpRh*X3m@<\~<`;7y2'(i28'ܪ^ͩU0?m*HB´l"!/*5 EIԖJ!m?ƼHJnMpQ5Kgy-:Cg̙B*=P \=∅JUBU@CY oyY|9os֬YÚ5kXj8Gtf4~z^xSfop7ɫx-?>Y[&%?1* Si9wkO.cnm`^9phòPƒ9qm;\3E}-n]=/+囖ngmuqfNt UUg{7SUXʂu)g((&K* igJ2|˨) pףdBvܲEhpf;r C,̛^C]eDE>}+ 38ғ љv4j* wHEIrUfX7Qd*~pIw-҅XM0.lA%!c<++KiiLPU ~MQЋOMdJReE*Q:K%)- x97Ux?&!h}Cΰ q3v~qeC)po8H2szNlo Tl)czO7]Ãk_'6LǟBey NHf^?HfjIOC6opkT]Na0ϒ/ &:M =4TG( )3.ɺkGS?8On6lI$cHGx`Oyi ;[Q뮾gh`4ҥ}rO{mr͝Ï?bJK2Q#qߣ1)x-x*KLβQ=̋=TEh0Lk ^!*9teԱIX6!IAS*1|Օc ,YHa;pXT4kFQLMX٫>#o[yA̰T%- ŵ3ޚ"̄O傩UD|dဇ%}t!Y?FF<\pPejB!?eaxdYu{v Lh!ϏRN6<zp\AI89zד+W|իWz{4H$۸۸馛*6To!j C~NwG6Ƃմw>yx4L 83#u̜\! OsME~<(sVsTE`&d[nX]8Pݲ8=δ ,=YYhn(CyTN,ȑQזۉF:o_Gm z؝8pa@3o2xRcAPeyrq<68Mj,+S]w06/E zs<82QUF%26<ȍwj &&}BpZ,HDx*.ӸG椲ܙ Z+/i5t{X( Nt[iRE ޿&qu T|߀*ˬi+RCOmhw? Lu`qܠkp$ADZ7LO!,(&cHBP\_Hx"{6K]Y}&w{;k ޵d2_HiċajvfB2u* dnc4sӍg}k͢yy3I8l߳M{_ӧL 0rQ :6U lOa6{'wPQQpK,Q^\%! #1!Eo ͞l^OG!H/I*02vVT" FƶOqz:Pp%dঊ0M^StSt%$b6O'rk4 DܲU>URe6lM0-  y m|䚹T)c#,St<)?Vzkʩ)$Bmu m؃,KL!ׁʁl6?^u*E=9}~>pUH WXb nowy'+V`޼yYΙ8rݤIP?vtKrGc})KY|&M Hg J#~ &7\{4j+&ԗ%1L\PE"ʓH@X$8;-aZ$y>}B>r\< M]6e ) aY6`pgh/a8qN !-x@,44[yue<)ZHTQ&@FU\A<ôm3$h_+4" DOdc*O`dOBB^" cY4hLv&i9Lj|*BT9+4{VFhB[&/( {] snfrCPvpfz[@7z" xU3$ng-vr_9ZA?F(GU)/;E,G6f;#,:1Mi-WO8iܜaZnwm_߾%R*Z׃(V"4Ev5<桲X^/`>Y/{=e( pǟZσ>R#1_}5mF%7}e&6 Vq۸y'$i@%hi! ߣ\qbؼsb-u^dH$iiB ,Pcn!7?kO!,YK}uat13'ViLPN}Um*v[ G:zyqX?;AYIrl"SMr/>.b~Üm㜾ex<ΪUqmsRNq*4>p}\?/@S &yŃUGUeG3e̞T)m맫/ƬI 1LY1,[wwuq]؂ߣ6cce &7곗qyVē۰-LǙҔ#ͱddfN`Sk#, f$Ryz5Ad* k|r7fye: $$,p̲Y 1wZ 6M*^hzo͆&5hVз1?D*cΨ"p<|AQU7ho0t!Qx-!*<æEIt!ESP`Y&qͮcE-hp<7nsQ8HXJ}} *X6㊰˂$LMƉ\"ѩL(, z m3{Yʬe1ק(&3lNc) x_ć&Iρ<8/˦a-W,J#,8E*)jZ?0lhJ 68R ϼq:>; 4 )Ae(D):ݜq,_#>;g82u y$WYP.˔2EӢϴx9gGF'o]bW%nVjG &^ `#yʍUS+DC*3ѯJ<΃\sT $_0RӘµ- 1#\k.7>UO< G f8/c8ES.p&5 B.fw]L>^: O7,p݇sBiW:#KfQQ Ȣ(q>#:3*aY`ក'x< 6RVY6}@ yrē9ǡ霭mD,x~s;_SM9!TWŴ-<qvwݔ5jEF/6nHoYo'eͲ+͛„{v+,FSd?,ILh" #ĸ[Q /-pu9o\ 2^eITF3T[A*eMSǛN PGKC5BAH^7x"A@ZUDE#~ FU&$ e%e+g԰qill=in֏-arc)T4ϘQK=M4V\",) ,+>%H |ڹ$3y Ʋ\MSX(/l;ʜɕ\t2ib~5quU5U.b |H9e 'Ä>I\$ƫ2sK7vX(id*|:F8>LȯtAMu%tESO/. gr&!M$ųn,ɣp&uRɻDecg]{KntJ>W9e0J^eLwqL"JMfM-ox"K$\J"qppYO&좫 As$#(Ur᜚|t~o3ǯCN#t%*Ɍfhڸ{m+})]"ce$[<[1CÓŀ2q`1UCmȒ*=HZTU1gF 0##I^Luyg|NU"̕Q/SyLXH[6I|2Ok?9{Z]-"e$={Xp؜1bAdS\}d?y|l.A08>hpHj} ţyJ^ QL3C7nqK 7xUTFP LHIU Iҫ у% 108JW>iE56]xpxS?}`կ)Q:uY׬Y$㧺Y~^uYtۂ ZR8͗86E-K:uU G %g4) Oml;JΩgVK5u)tzrDM!-Kv&V.iFRKzBUTÝ#l!"oLTȁ?M,ʺ|g3֤*ꜨAH\pM,F d!(TmӟN#\WOYm9ߺ|?c)XAKCjRpmEa"霍@ &Pߤu~T#5)DM A@zC@BB&[䙬E)34/m?0:8fË{EMM?~;zqqǥªR U( wf*JΏGxWeg 2 ~72+8ƦT5d1y+Ʀq81&M66N/_ Y/R(Z2TPd*)_aC<3lپ+//#?﹏ҙ eMoopW+y绯7^ΎٵRJf͘j(oi D"EG\KwgmBlIX$O1ylۓyus%TmN#PsLwUٖ9:M^Z'UE&)񥤱&Ŋ%QScɬ:Hģ:P|͌l$W.n} g6;خVbVǍfq{_o=GF} /圳% ٽ=/fb,]DžK* 1wrysw;qg'kda[rc'7⥭\{LbqBT=Q禢$UAZ MȢcBV7:lw|wP}.>ʼnlؒP R8Ϻ'8zls4K*qqqpmM&Uʼns.ue*Ok+H{2YSOUWR][+Fr\\G?zc + /xKCy J)B?ZǞF"Fxs';ot5 dW m_< Gx#kɎ'A ]`Ϳg&gί1"65ũ“ 6MܨƼ֢}V a|Oށ/UGذ^8T4V PThdKfLo enp QY}_q?,_a}\}Thw(6m?%PS_ͥG=qJDv%KA7t|IڏuDsEn^}?~Wl߱EU92ϧsR4 :g79.TyEР3"dW JT+gy  Y)P rAe6NBi.Bp9?T5YKM\gސ2@ eeQFEh+x:ajܶL?DGoق?8:>f'oŷDGG'V΍W7D!_Ґm")"HEub1.$_97~t֢2c>[hƪ/hυ`y._zg5nWJZ#Hr3jh*5J#qr^pزs:QBe{$b:n1Yn9zcx^e:.[6.ɉQѵZEKC]IL.ZQQ<)0\ ivzF)*\|Kf7˻N0ɳ<(w˓OCYU M8.#T9l{I[&\y_}nJiuA0 O渻/Kmᅫ/|T ]X{7xlLXD)%od(-~;XAIDR^ f9vb><= tEm֝{W*x5ŗ'-wgUp^Q.m::~vlܓ@JbQڲWKUA*fPXt9ޗAHh, yO-@2%rry*S; @cq|ش;s%sID Eg|i !B嘮b Lh)mWDK5jl˦uJ/]= T"A,bj V(H_<{[tnqy1?84㭒o9WcnVӦM{R3D'od]Y|CGik}GiBW 9pU=t֢"irsM !`\J$y608Zx~[|*g+ϸ8$U0՚⸉<w@UCS#_tKY<5º-ljXVVcn+c }x74U;:@CC( 'RL1t G-w|T΍̦,P8$$q\8xlB(#If+ZSx6SuP'M~YMT@D@%kqO_x'_i$+0<?>yhkn&f~!ˑ9:m?̷/r?iԛh;N s`Y#*onjTx9ocP'Ƙt*TU! Y}^ʢjB3TD&W`Ѫk<^.Ug#2q3}zk5U+_hcљ,eSc$ү;DWoH_|8re0Y1u V|7PS,)((Vx,O 񏾏۩IJ][ndJcA ׵~s? Z(kذy;C#iv;Rz')6Q"B@PP bD&X>rU0Ƕx쩵{EU}q YL24Cbہ#߯MP7CNtr?'"ZEGż$)]a B?6Is_*õ!H' MaFD'Ѐ4Wc0*a[t~ d*D&#9(J̈DUJi[9R*Idna5DÏ[g"p$&04ZZG4s M5q+PPDYDT+bXǝ_<>fԤ4`t{PQV):roc:d6xԢ9NGG7_z_>/mM6w,|o;=GL4C7Or͚n̜@yYt&MTU0U2*Q4"F 6SM]8.aQ́4*S =YXޕ \Y3L@ڨ!φb$ǰ087ar~,/\:쀴c#s+4!WŎCe/˔R,cx4϶9HHu(ze>+H /Mܶz)]Zp JExi+_|C6&;7ޒ59IE y|!vZlFU?.hl\Xzi" ΟԔ n,9z% `ya1$&1u{d)%ܶFhm3F$܋Gy|A|/WS[n9xʢ|>BP,Ehw\^.㕕XX5UV&M0i-6STE;sp&֊`yLKqՋ8ޛ4l=y =4@7kcs5m{>1Lo( UQ UaГ?ET~Z^vA-j!_tlU=u5Ģ:iWE0=f`\2☷9dyc |΢\Uq"_PU̖j.XԌD08Z>ŢYu\{ v\ErjDJ=#gۦ*iu"{44R(.1ä!=@=}ogH%Ɨz~+}ٷI`vk qݐ>AuE݇_bÎ*X$ϭ{u`l4En>JMe9M EBW+8 5, iTW0< i- TW Ut]EjIV :NTUj~?7y>RL|Kwy%$L FJ ;=fG[55k K3@dӄ@-ԿLz@(}W Ks!:*価<-Qe(Zm1LE's=]ggZhơC}]k<iXUlp΢Yx2Y:2Ҭz P[gp$>NBP{,_-zq%_["?5uT/p饗dwgXUz$Gr|iz-}[ivb#I R"Kc:H( &<}C9s6_{%}zM]̠V _t9pd*\r*)`:rlý,iMzbr^:@4#$!+5 gnG'wv9WM[. agwaӠVē!c{$e[b}pFI+ё`>˗4s푙|m/yj!.\u+gdvK4<+Ra,HÒD/`6Okl-8į#T!i;cl6u)v@Q&wJR Ngy|k;AT2MYP[y<wMq|o=X"]2eL:vgwۅ MY&L\rN+vv2fMG{R]||0tFEzh ,_RN:|/~+|AUi*&yZUᲤB1 = OW}ɲ͠TCqmV$xvقư̈^e{-DL?mUtMe^`)k]\On>Z]2KmkH^&b:"vi(;ueO7_1ŅS7Bx.{7y;zFybaΙu;zشupMDʀR>K.oa:( ޾V<@:IsOj:y &'y-,m!LPMӤ"-ܘ'jRLs (S#,f-Tz]ɔ6%\Qż "1v O.Iu!t}:M1vl=؄%Kf j7]?zt3Lȍ1o ) \Q2*4gA@EEUzE8W\GXO`tP? ed9Г`;>|/¯_bS||_=~ 錍̉d0?B8# &=esڝt[J)u)>YP9QU I 5IήE\AW&4t7-{;T>q97\:HS]WUV_6ܴeo7[us,U-gCy*5S}M"A[btGQ9/a4f>?Ѱz{:RE7k1괟Y(vv2kj.naV#g.fV;e0]ǣ 9qrUpѥ&\'J .qmVʡʤ\XL'"  G|:AT|w o2R tɾ]bK9'2|!)Di#4 G>v|@OCUAUvQ4M"Iu^C/RS%Ek 8M1E d E"dxrar ߃)tlSg}Go堪l#WpXh 7^u]ZXq>/LA02:eNĈW:0hwA[2ssp13f,OPGu>]_˜!$*%VzWZS G]u>_-vM86|Let4hlHh+;J_J_Eb3]ihTWشu'WPFKDZ u96WEJs%L|jPVztG3-%{ON II /?u+7դIJ('G <)bC ~v! WJS5*U:] ۻ47R ,Ǘf,aio5l,ק2eӨHo$J:W^YdgE $=9\'#|ɪ(^Sȅ$'"0#ٟҤ)|< )*pqpH k9=}iALFRbz|ۯM U"P_5X)ue|.c:QI4yU x ).OpEsYĢ&{.sWEXV¼M 9=7d+ Pxp?v2z\T{uo7Zuj.IXV5+gL,n>ʉ, fԲbʢ|5[]3'NТ4]QPUjR{'F]%!T5$Ff9H$J8}=J lIwGpp*e:sָ0zxhMTرTs=tǟBE*yi7t$Xt:HQ]eZsѨN"|Md}ITbVsCsCT|=0i,fat{4q1ap+ y~@$g3?fW e| &o+$)UaWQԌݽʒ)qE!*=g犸JzHI,+&h/CG9<^> 1~T)@r<WTE,su YUݣD<»~ _Yr<|!3?Bhj ja bZM޺F_ܙ-6^:3:3y?GI*`ǁ^~~rET$_pp]o2\q~ܤ8nTj*^WƧʩU~:T<>_M4W3?D:Pq]T-UOeW_ΌA!;R)E$3":lZC {Da(NGu~bǞc9F6W<×y?vaߡSd` @D 4Ģ]Ej4D?뼐.0b9xR HfQι5dU;~a ar)]ea aaaz!I`a'X\R|GH" `.ItIfoų>0N,qeݾcF( s*qUo0g#30m\F2WL-Tn NukJf0LU/r2Eq:S'4qӚEfLrSbzyAߴ|=װk1{ 4L" 3sr3S iizS yâ?AX ˴iTerGE poO% 0-Iϫv]ٯ_=T*#TʾGXBL<hRi2(t\ٜTX!ǡDXָ4JʼIq}b +% x4nn?_}s i2cjʙ;k`qMnæfV#_r=M}` fO>^K,a ܸf m]q US= Ci,(/ mk5&OM4$W\q_xDz 39E}񓺍~ݟ"\IJATW UKnë)]mCl@<#l Tc;./doZSa&4U0SmKhV$ sB{_nfv*V-lfn ֧tFTvT6eƲ=g0/ѨȄ=.h]y'ؼ4w];IF=<æ,֫Zis;qkzӼmbNk`~㉍1I cAd:t"į 4("Y˦ MEr:$^@h x/;P!:\UJx1kp0oWE, $LEX=/ӀMaJeX@<ɸTU2OH& |7u6(Rc9COn(j`^E,H9EOX(n8Ll`&چnM fn("Y iy IE|=۠oR:O$XǬma5 4Au6mvMNǥr~N֧uT!年΋=EgOYLLk`ͲKukTA %tHsc:o.(,-ɯ~::%]<6M*Kf"v3׀ |秏2gZ ;>2RY(<̵'X[e9$2Y Pt )F`(͈PUQW?>njllp~6  )߲q~Ǟ]L0l"\¢&o%jyDbV"khID)&tv]\v\:MY&0֋\ Yd& `6_\UG*;Ѷ.E=Ees&R]DݘJM%ry&0g:- R" .l?BOKVᅂvjfrd7ݧY1$sa$M<[RSm_oWsʕr[Y%FTN6 5~<,D54Qt=nv2/7S\qAk8,r&Èq\rQ<쨢@MH:Ϥrt>&tiSSfjS92k hgS2YƲ3C "QR Ah7l: rY$* @v;2!9o96a.sk9_I$O&-:,H4@kK5% lϙ˛|7o)=M|+^Üu~Nq=xוX2MHSiiB8.)~_K|-{2xu̟ZɎ&/GS%K&mtJ` @*t 12{l%p΁#}88A'r<Ӣ)DҾ;Ǥ_ ENϳFX .?`{.S 4y}6> )2w}#twvlgY,!gZ*E"(%&E"*T$|?&3l>vW8TWE\a c2s3N`neȄLH"s9 vA els*KLLȺiϣ551ןbw?G2T+"#9E\hH"LE,5\b m]|GOۑ, EX/-[\x$:nї\zҌk,խ #;xI$txnI麟?I&w3=i\=&w=_gN~Xx:5՜nFK S^V7>Gri@I,`+ I" K"B,de0sVi$3at![9(0]Y_ gJa>]Wc6C#'&a1"a"1 Щ[<ԗU\gؕٔ1,̂$zZ2\LeYȹ.Pd{`y.aI` gרvxt6#K,vZeN#@*3!pTxi^2 omFStd{/0c8J#aTE.<ʥ+g'Q6͎ތAuI? TEǸ]+}x9'l@0uW-慍{ynN^ɳ[xiVElt&q\7n477s7vڷw}7w}~36;G&g2EzK)8(F휛2XM#\ÌKi*#lw5+DC]{>` d*֕0=bjK$2d@ PeI:Mka^u\jb8gJVow8;4ח1elx $TxLGlΣ,K, k˙9y *S vAYLk$9rn{G+mqN5+ظ4u0{J-}IB@*Q!KgkK,$AYU8eڔUR]q;.ZoѠ@q 22Aq G,i3GCB*#_I Lx.!r{EIK= J+"+%* p'+,[´6 &'uVMEJֿG"qky ̉u knBnJ'Oc| ?]Gp혖]\s DU䋮=QpIf(/Mu|?PY*cbK S'd&KUykX8% RVA7L&wznJ2cZ"yId*!%*IDhLڋ'sǍ+4a6U.?+\evJK"$SYReHYrQ0-yq\,^x$ȍe!dE] ~P+UpP.IL (DEEA*D[E6T>__ƯG<5T/cky̙7cDH1MH 9.Mr zLgve N~eiTpF*B|W9t勧S0shAuuUw_W1c,^OYiDTdIXO ]Ҏ/o{+6l7t_%I?%<RGա_j,Q ob?Mnfb|\l"k=' yoʡ gT+8U2o;Ń ߟA֖HT@N8~zp\h+Ŵwy]eYd04DEIDiY5wіYʳ4`{dS|aúqݤNk"' &M⪒{r&} ^ŴJdIr<;uiYt"?Î^OxqiV,I5̝R#2C"Da*|9UHrʩHf<1* P0sBM*B ۳d 3yIEؗ7ye! g1,’H4?CSm\w - LGYUY DaVc%_z )5&/sEi9[uNnw+2H(@ޕYt6}Owٹ;{CrYT7pX;r-O@lR<Ε{aoJT˷c.\FuD\A!bNj;y왭47V3s8FRhfS9݀_i եHeUtϫxh$95Dg_ M"WIRl%,T&G煀GÓηEM\q`ͪ|Q No8h;?26=7ͤ4Z+4C< tPD Xu[+8J,xa(SS`X,Hp\òG{"8#5q^9+c!, p0:oyrFgZ@VgCi5TX xdf#[I.cE Ȭ^c}l;}o?͆-;qxr/ T"c! !, t֨fO©u$Ζ*LaRCQ!D'# (Ȋ°B@9,Idi4@i`%)RIduI(R|&(H&?c|Oqߗ9Oq8U?9ݤw 'x(Jy&gXSʍ+'s,ıtbэ8S6݃)fNᦕ7Z{_1t݃gkX[oY3IQetw`&XEKfo|iՃY]B 3u6tX0 *] Eʒ CÀRa\:O%&KmK$t' }9*Q^CQedY-F:qq)4ΙyYφYyrX5_OnM* ]tbT2<] ̟Zeo>eΣt sU σ 9p.5\ld:/noe1}GiY,$xۓԷ4]d2gyyBS>tN8xbI)$d{i:y%z|,[2;xm8KMm%;WIm &rD* :HkBX8XZstQRyKBx': ,1kO2UHtl$^]y^kQDIyh$CH05J%.ӢL :AÐD0,F|kV-DB W-Ie67TDؚ.Gw1޺u(ime arIIY)c+lQI8Z_6_]٘S s&CxMeZAI-NM"ƴNp[yձ WB-6 h@TI'0nLcH@:#.D4@Ez2 &$\r38/c3i/Ϋs tx%1U\j_-*RI2 Wy $Wb'gp8s-Iē'qʐyG0dy<#o/~~{j#3,}եQϙLss/mÞ(\W& M0' mvLȑ8P_Wɘ*DUk%~C 躉iE8[VQSW^M5LW a"sld5%!yTckFnQ%KL L ʔJbn( 1=`q\8eXċȼT"O$qsy ޚuWj@&_H$RTWPQ@tE4M1p!TQ$=0)cY4}oTޢЊ#A $ dl[2mx?׿[,Mmc-F^uod)$T25B*k(nBmy> ]dQDU$I@IDATNt6$Ywz&4df#':FH.=5NG.PEq( "VeB])$Rl0:ł4j Oa>ؒ5vEL"Ǵّ3/T]-9aRQ$ -~9wβc˸޵<3+<$dQBRz3gR[aL] tLƩ*fB)KDF-bȸB$B3I"kJC\ 1)QDQWڊw=n*y!Dx̐J,$:v"RH猳1A;\Q0l2j:,3KI|L4l:RXC8TK&_?ɕ+RMLQU{yȲD63co@㫗ls_>,_-?'glzڵc|7O>qhl%3hdyLMYF{Ó<Lq9S-Y9hDo(>jy~%uM瞻\Oש~ ABA MS{A֭՗M\DyY &ֽtٓu%$Sa[.$¤JDy5ظe9'݇ع7Y̪fszO#WHg$i?!7(\tNg$巀fN%)$3:rQ#uA^G_ӽIrEhϛ8zm+r&}NaY.Om:| I $s:,.LSZrxvtO9n07o%` &E JIVXؒHظ4sPe ˾X<0mpPwm=«m,;֖*Oc1-ФmI4i2m45RU&5ϳT$Y8>+zD `\HM ^a4C*wGR9jX$hmk[g[_5,SPNNs]aKCߛ>w-zbכjL"u)N7|ɪ(öˣ,qCA0 -'C*-L@ؖ*dvsqD4rkg;]xw^TU"XCRֲ&`z%lb8 ZKOcyxG,$<% *~C%'iGnqUe ]3T8XC!opయKSد]iW>\ؓ7$Gi!yD"2+(1+qCi`b;wn@hV4SeNSYryfOk!`6i{- ͜DSmz9\0֐iy/ħ߿)-U 9䩍'ggHetO<<>H.J(4l^ܼ~7`1|m(;~|xMhaKW_ݿbŊ7MJR}<ţ[\*' 3 P*, k)QeZ4FEb)y. ^n*+Ie&E$A@Ӕ#*t_b݋Hf @4qY6MgqJ" u0-iKf@NEE( Kfu|,av32Tk?ۄaٴw'9>UKƳu k_:#O'[H2~&:Bw7$Q-drDSߠ$ 2'lu5gv?Ɏ-޿X,H[?I`0sM\EU%\–0jh&eC*C@X4m;IstG^/ɖ=\h!M5y"p_<{:'gy/ <`GQؔ.03avo>4ދeK.aN^@99'!$r8I`J-prE.Ҩhƒ-1u뚙={Zk?~_TZStޢA qDtm׭I^H= +Jܲy'F~E%qagwdN5-%_\ϩt<[MF۴Ei*FD !T Y\ ;X"$qIUq=DY(>dt؛_c`EXˢ, [Aqvo?~|o 3xU&\FtPx_qOy59xM* RJ(g&SELrHXn 2SHT^*O/=zEA@R"K\RJ;d>➲(/ w5|v`K ȭ!>X O'M M,PYaٜ*Ԑ$W5 aZL$\KNN_B$ɌbV.7c5+p%cWoJx$_/MEiD::KYQp8H&o>̏U]$r:eDARtt!.ciҞ5X\;OK( PeT4fՏ]Yָ.Y^x Z~FZSnv6/wDQ4B2%\&4y$2-Zyz:\*O=Ϸ2/'׿?e1f$^8YD*$s4#E'o|cwr̚ ڿZ8p }SkO%s$ʰƓJnTh"(#S9n-9{Sy9x+ Hiu8pvwl˿?xJf ^xV73 Ϫ䥎A\\?``:.8 9MeY99ʋGz愈u"(Eer!$ ,#<#)NwM4*vC[_âųhHݷ~!/,{ $Rm^* ?w N}y~+K =w~<۟k_xp(cО3_2 (?q:oeXs D"q]<xt*˘ k*sfTI% &IgWbUt o1:D7M4YBDr]!h4eyϭ(p 6Z@!^q PCG'ٱݷRe&S9@N.*SvۯYk.ڸ'?jOO~;d?=A% غu_⧸p &4pǻ7RSU1fdlOξv\$,% ޱu%?۾c'/?㝃>9I>s OdN )a_#%n(\/0MqH׳o|;>2ð_mP)lC X!n.ҡ\xULaٚD@؟583(E (HX9trֵo8,Mٰg}ogύܡ.V̫'7Q!QRIÂR!dFG.pBB*牃MeyWX1r>o5J\vWpTA`[,Hu9yJOTƩ%M!.32wDB|}8ɷ?Ɨ>?c)gz{j}CTA`Բ09c 'xkq 6]Y Ě`??S|rL^WðJdp] ƹS;Ǯ}'x}Ưlh(Ho?}g'͛d*Cq5*" B$SHe<dž$dvZ0=iRe.Us3DJHMȏ;?=+/AwaSdyL:ss)m; qq g—x%1Ntt/^:Uqn( ?bNylʧ;(ѓxIZj̧?@(?76u=i⥜AD򹬋*T,Ebi$DqQDm PyY"+@b $0H3 ?cO22 Ըokcs/? DIWǑJpn?w~5)v⺕Mͮb][{{ d"A3+yn8M'o,Tᒣ;\$r9UƷo[zwZE*b{w{wM6ydD"Ν;~_Zl':ٸqW-oڀÕ^~5|t( ('0arİ1Tb4q9,YFCM1٬`$?1@.0 Ӷ(tf R.y#\}T"Ѡ*H\4M-Nu&H ~결,Mm |$9CYhlx+*޳gp~ Ф)T2Q[J"1IQSTQ}@a!gr0grAH*AӾVkD*C$*bL]D6 FOss<^8w~"S]eFMdA,^d >Th-bNC fSQ!8fl_DQ@Q+6&!+2u=oԞ-PmE͛ill7;vb׮]|krx|O9uvO$rS)zFx]wє(jG&ٱOe}X p&34枿} uEH* `;eE!*$S9taM[#ܾe8ŮyCr: iQ[]=o>L6w{un(#5u ΊoUikZAEBw\Ld.`C$TaĢJ{ΤR]tmQ7o!1^^Fr\$aJn\_x9=;whm,gzv əh,M!* tX*ټE4Pe<_ ;MSJemq?k\Qa;ebkh:N*s0`,*MO6o\RPDKsHdKnI.ohYJɛw߶,{.j|>jR7Z7,tBEa5vd"ˉEU̵ *P. , +ٞ2f|{<΢)}=ٍG\>Ntݲ(7<>. xdp885(.W5ȚKXC"݇sd&^vXJky2ScÒz6/ofZ8ZL=yao?~-5`vR`;PVdt((tO'>U(8tr [H>=vx/s 9z8waQJ?Ԏgܲ~i;P I?R^]״e 4UƉBHH`4cYE`M[u1]#Oh.A%DA8űLaI.AQYid5YߜlŐAa38AD,B&1q,ZRESU"eq*ˊ.iF% uTVRXOYXaﮗ¿ntA +YN8Uޠ pM4ȝTnl@)(%A Tx-ӔTI@bfqU59!=N3آ@GdrH>eҎ}h] rsqc؜ӰHNd8J@ӰX(8=Bƞl0\`r96Hc{]QCCDOTo(o?uX;oq1 "k 35Xt>`b^3?z<?Sgz^u|+fkp.-<\r:FVGJx :W1=AaҶVޱuNge)ˋ}ǻgBSu-$R:eʯ3 OTBAULjŃ&N幣$ƨM=*n꾌ΒHwI8# x6BK/p׍Lf^v[֦r޳m>_o$dZͬ`òDO2-d&I,81Ȣ*2U!5yrS9n k 8G<fb;!I TbHRW[Nj+Kidz*Ku;y"yzGiڍK).gFKE Q$ #L󳇶/=}ȒHMU)ť1sy$QȤm!&B0u~\OvxoXX@j-hC-jIF )t*|?-G1Ϡ.PM..`n&*Uݷ\h D O'*%0MqVTSi~})"̝3pHcdl I$oW4"RUIY:޵t&t ͛m.gvC)TçNPVfټ(㚕Md`*DA0P [TF(/ѳ̓Oq@6o1ȱmU3EAL8ΚmIR]UDB ci''=z>$IsVc[oEjQQԧ>v*GNG}G[b=2L^Nwq">vrF:`X6Ul޶5/wO}AP p\۰e3Z%$^WArp={bӍ먝5 kbnȓogFHeD!dI+(ۂk&MjobW X{E jf"ssLd PHHsEޠО5PPz>yXTX0#i1`Z. b~ [V6.P;<ŵٴ3ٸ_N(XTIQ,HwEe{N7 3Tm ;WrQ2CG\!y%QV@9)lYa៿Y䚒Otv]׍=ׁ[~<\CCYYLr 16ۏTF@89]7,"Q -ĊՔ"(rAH. ':@A ˆyxK@Hd^pI$* TABJg@3ԫ2B (av0f; [ L9od `r0<fJ=CټŘpC,&x4 K"y~.i6x~3e3>A$P0M݃$R9~W16X(U-|?w;0mŧ!=Go0_'{>.g-Yș!ÜGDj*b4H9vvnǎ~zdryRYhߴKI>TM~~U,mL먫/Oqxoz ok O~{7W0{Xt.2HqyzI$ܰy؝-8Bg_Eaj0v=vE:nٌ&wt hy\%<^>q|?z|w2Hy0k3`xˆ5@7HLPU"FEۡs]d򙨲<'|3%?mGhx4-2Պ̀yeq?ctF'so}y~FyUY7͡0<Śu4VGzKw`q4D[})J@"oĊd&;{H! <`ʱQd"(c, foD=[h];+@[XcN@lDC- Mx"&ԫ2[g ;STG;WPX(#c)wc[6s+9|bsZ(Y8tN碯>nXSL"30a\aN,@D]Ϸ "Ȃ@nO,-y-B0h[ͲJrN&9AzMa2gb282B IJ9xr`}$IEu,[)AOrr;8FÌ*j+˨,"腮E0VwfJJ(%)hB(pTrN&K^ AQ7j@>o,pR"'Ȧsr0@Q,̅!>/6ǃddRTId(--5x>]˧aSEÚn4VSZ6uDE3-F'}/dUb4QԪ"M®΁̕nAIϴɹ-Ǔ__ *!w`< b{YE#)NMNl#ղ\HRXhM8x]kat&R<V9,  MRϫۗr͊ȒGcM pgҊkEðl$0,G8q~9H2:- e%ҔD% (82Pp\;yP\e_{y}CIͮdz6-k$ W sܰp.4kx疹}R?֦2:'y y㯃H5\v[R"sD%L" Zέ|C7V2v\6O8+90|IF^YDQm,[5=EĢa\s\ϣ߻{/GqI|=yaN4M- m|s}L&2Ċ̛H]m95ed B2%`Z,]4570u)r94$AmUyS$ 108Nuy}O,AqFǓ|? T*N*Tf`grhzqop]Yi1z"!Z[jD0)*qFțw(D\|4 .@n3p(\@Y IerxPP߅#( Ȣ&D U"ߏI"G3:gǘ 8MdYsXTT<}]99%aH"F"DG۫5A+ۗn}1I, <{ETVajw H~J P iE#mS<鬿N O' k*6($tLp{WaYe Cϝo-`*'hLI<ȼ nZ?m3l"T&2|v^F!EغosKLyvq[؎kyN7oCЯmI{va..M3*y暕\a be5)R `wu|n( QQWA8N8nvA1mqf407|'IslY5"=8p7+ ޒ(ugE_J.e ZTC(Q^RD%?zx'2p{iwDyl2Mڃ(Xt\DQruR7k42Kۦi@ Ebt0.k, Y͔mS(Dd@P(]% ϣϲW,/j󲓞v=<+LGNMB,1f9Z6xrNw8O'2|:FX\x`(cŒYaڅD*ő7a?8a>~!hC)" f$_1H"cxokaNc)sY<-u zOM T֔Q[?R 'im.CEt"Px̪/aNS9$/p?O% 6lpd 1Lq¾c; MX9 9-PłSn0]8](Eã NrsPPCeV.?݄c|;"Bw0c PRZZ Da* +w=&l ?z98"BAá QWAӌjIqD2I:,aQ"Md$\/P$R9pWoz@qi (T~ڧ$ xtVET*Yf 6LEF"i9<7_j2(ݽdS(ra=u kcI*o?;ʮz̙^5M zjF(6pľvV7on51͈"@Q{=F$ؐ]k,g}=ϷS?mXh eX7,{<&O2-:i$QB9ÚidI@m)q 3ƌ)ȒH"Scv^(>ci.i.y9^tdZeaUU$M5!r^M*ԫgymVL/ZJEIXR't['{zNYdrnCuoq}+|``08>|nVOvcik什kȈ\.J sVSYjw3gF5? >oᖝǸdc(.5DP4Ms4?*S=h4||p{mXeY(˸H/Hk&$fn4;B$R%TYB,&Gy@UǶvr.-m"bO\M4+nV\\pqWaKf0)P$OhjgV#ːema!" )7NaY6m=clLc5%(/ob "ETnBrxyf4Xؒ%s "lZ eSU]-  EU$җLlptuߙ[8-#:>M7#+%'I$3r}H(tB@sN5SQ J dJ/(8)ZD,q1Lbxdm%ipnbU-dBkdϡ341mj%.LvV%slŇVNK[F4G0sj?s[ϯA{ư(2X(R]HiZtH "e%IBlϭ4n7"ck`NJR3؈ NL GWt9E3K Yl2d}'2IU鴎H(׭hi_=/<ܶ/ܱ,"mw#~*3Uشr*fFbS̛7~-[Wʟq n\O~d=Db)zfgpёHqL 'i7@Uy!޴Mko$sǞκ)'2ž'3 S\=wg34Rw Q x P" BEdTl"H4$tQrZOQƢf_K4M%tB 0aټ4 )T#ɾXnn`ٲY6 \O`kNfRa6mcW6hE~L ex'{Ntem-Ssٸl*vG8|U<ىj-~ 4kng{iKk<JU+K{hNKjW,TXILA!@h4| h(TRrXMaS>F='Z-hmDjp]!"4Lش~t Xx5x+T2K*>Q [M4&"NVwʠ>UlБvΆ 0cjkæW3kFjn. :t=pDC{?;r7.#$HgL&M]C,"t:~YtI0LD:E,c>>o3w ~ 4 EXSYS Cn ϭG7vR:*yHkm %. a%)Hq35J5$IYax4hƶ+G *Nh^tf/%JDda_%@7pEğ …ׁS;ۑ #A$8h$MQ2 Q9Ks4q6QȘBXn\"ΙMl{Pݼ {41 '9Zϟ>J^'nGPatGO壸8UQtSUTôD'VEYܪȅ%D(/q׎#=hs}uGRdeyOE7,n?Ϟ>J4(p=&20w(ϣӚ$ }*t^7IMWӧ]+UeA06¥ {g#zk?cEcC-ݲ߽Xǩ+i)>PE*8ީ?M? Pt]'´RfL)'7/׋ۣJƓ trd#ꚨoh^Ocf<&Wع(&160-Jض}M3Œ,^8b3oƒXͮ}~H0ۋR5ʊBY>sfr)XHNvQD΃0/ ,aa!KN5ε2J|pnX쎦׸.́X7Ys&b9c],g&X"ͱ^vtSwSN ɓrزnG5#m,[<,YtDxW$Y*Lxf4N܆%vͤ>mRPJ<y̜͠nS:NKӣ1$McB:ض(:1~4ܠs&1Itv9-= $`()bFMhHxd")vޛJղH,ɮu2TtZZTV/_]:GԍoLX%:: )AV%ζ^5qK|F&y.96 " CN PSQ,@$FU\ Sx"K vΏYD2T 'gNlkG. ^RJi9Je4mE]J[sbj vfE"&vQJ\VȒD¶L:qU^~>:{~g$̝Vn_ٓغO|x&1,HfB# ? пa s}Ȗۥ`0<^d$Gxe1)| rc }lv %=K'$S͙ZIJ9ob$Q&¤dӯ'OPz kK؍ٰl*F@l/Z +Vy4K90э?+R^ wߟGX2oMg`h`IExΪβ,RO~.^/Hu=r.|n~'_iLRN0;D,m0MQ&Uy2ڶGNǧ˱ݐ쀏ܠΜeY*W X^%rݎ9(vk/|WTbRq67ӽiPg,EsZ4bM2խ/Jk%dK" +.^~P^M{T4T3KY|2GMvngݲz .k'ƑV8&PXQ"\&/9Id}Nx<=w^"lZk^EЯЮtM-k GS&<-<$)ϧ<˲%5|(BIJsX6 KuS(E[u(oq0@"!Du" nQT5-9^LI:8)Hu[%1l?SJXdoZɢ3.1:'A:7g2Xj%Y6-wgGxCoo0Ώ|6Ι"KD"WFE+ K<k)*R\CUE fM0_Gς=1Tƥ0߯2jZ4tq *>D0O0Y+(+ 9fX&9 V`,TA`4hriAUHYJK+ NWб1틝O myOrBŊL$g| mN^(¸ߴҶMt8ݚӯ-a:S 96-@-J cq(sc@%(])cu-NLNτϣrÒs^?t'p'_r|2~aviCfL.$M= /1 ۶ВIp}';Ie,"xXLCTR$V-cm->I9z4oXw6!bԧt~3/ |<Ț4&tײL ۶L,nn*'{5b,41*-2EbaKkB'_E9dKvQJ2'iӞ0m77DHIh6E~zؖ#pe*SVͤ fx"Iwc6>eSy.aP c167tIfqM(~OBQU쎥8O9̆$rGa]E~iӘ5,&t^$ FQ$s̚^+̮@ԷSƖ,usM=!EϑcD"I'Objה5W[wPw^4O<֎>شn)y9Y"qťtiX{h8i?f}y?&PT˳z#[▱m#irUBU!/' Pڙ;k*E9m+dYk^i У h6';@0ۏ(X+"7"Md/~aj}k%\ 5qltH"-$,qX-b}BG"YA"Jj:66IW&~YLZ:̽( 3湴A`͢*ԷaB Ӣw0O~!֮~ "(|9py¾]*f"O< ]TTgO%3nuc4O_'%uj̖̜Rq8rXЖ'tR&YSKZ6@3maX6fa53ruO&ୠhpMu!w͏;DZ7x@++gWe]-JrXaTۢB\EBųc (pCδEu`ӣ;IBTL19m]-}Q4DVDL'up,KQPTdRÎDX: Ir< :GtҧL$UbD7VO#ؐml|Idse fK"%*4'uN&9#K|^7%y,3/g͚@ ,Hc-kᙗqy"i>m_j3gTζh]#:9z7?kE۟ R 1MH&R9XcZ6^{oS+ܰz|{gޘmO.`Z6Ŋ8 ْiۨ^7ycqBQF"S{Me1Lzu±z X* c0,GRVV( h :x2=r 7m7k_PDt`3'@@PAݑ$*qHY3-b`c PH(#4d2YqNzDA`\-= _!uV)pɌ z."I"CcIҙ E (E\zCHN5h"M$!J̩e9T ;yʊR6[ΎKQUgo[iE:NZ3(+qנ$ x= (ryGⵃ-Ӆ)aJ>i6A)nJn3Cy*[~Y n屗N߹Pj@t:ynWzrOz PZ(K.\1Fod3:Bsk/seܸ~1skkz܈`M %L9S*:^ϓ='h裹ǟłYSy2nݼ`?7 63s0<7~2.>(+,{vN7:hwv9߹9Sb5[\vzY?0g{2>[& 9~YWq 0`^?Jgm{Y<)y,-cn4'bWaKfFP|bU8cR -)BYBrNУ$lQqyÈx\ 97ͳ1EI$dQg(L]]7njTM֧2ݴF9@v4i{")\hջ2d,M")A[Z6)$b)Z: BE/5\b6޼yqF6Ǯu<^5rT&]2d2ɳ-Y躁@`dĹJҧo!7'#oQG4BTB41D"LJP,% ,i 15g*bFyI :u O j]cJp¦E8]q,쌱yQjSIHED-I$8Tg!ta,l܂|^vF&-R.xNALre Ep%uDu+2CU$Κ7>l^~EKO嶵3Yl2+NQ\‘aL3H 'Y;͂YY8w*gη$g(,Tzl6^ә\] .-D"$E$zlfLę'O#݃Qε bv>G!28NϥM8#}*SYdьRn__ˬ)D`P4heCu]#5_vN%I(?&RUs w|zz+k֬gտ˿䡇zovR](=.^/#aN=tAFƜJ^N/>T#"a?8FW ^,; /gU\b'η{xq!ZzuZ]ʱA`q*Ppwny2bӫyM%xa &T-7̠0I@FI>b sL/%Vy.Sw²Kb͹_(Qd >U~7Eq+&S[SAջe6nY;3̓ uulN㦕ShP"Mz櫅AfTS A`Caq8`~O7K1ߧEC:;)$AHx~g#H>|Idp4Js/=U_@$*G2nyHDBDF5vEx0_K* c:E{xpIӦ;ϰ88hNԓljWtJjMBAІ8F[{m{9QH u`s9_?"{%Ͼ~-WShMt͸\ eEL7'q'nSy:|[9L]baq~gxnnrfϨ"2ݥRIkG/sjko}Kgqyos| b<DTIVbidf4mpe$B `h(D[c%Yd 0j U|R-DID!nZy/ߦHz=S=#ܹ]mz[o 8qUU1-C̋ye7]l ٓæ-kB9|tJƵTV$IF~#gTw+~膁*K̝^DiaNm۱(3L !ˢ/Ó3vqLM'u:#caΟoeެΨf׾┞٤FbD+]$@0-pHd6' -2ec1LeyȖE$A@3lbE0ɓ%j.iIIkZC3Я3@&Z؎ŕOr,Ԛ:!âBKa$T̢O=x'p)20o tR<05Źnk&^4(o*}QbozFپ?GN6'Q,6_ʖM+v sRiH$H\, hIE|h|nM]7#JrƝIo#Ulp^͔fkqdT&mEυbh,ӯgL6Ud,.G7ͤ4pp~ ɒ[Bή]Ҫy,zm'^\d3~/Š%=|n7?`O1tDӝ x(  rP MzLp?g*ׯ\K0 EQ^+cޗ" 3[P#K_| 0InvĹ^^%\ԧ&*ch^JĘi3jZNq#, 6pzq5siG[]+sc{gzc]-Ey~V-dNnЩ4$5eA`ciz4I}Z\ ]$3!do,$A=,V80篿arMdqT=5+Z Q2]mL,l\A}\籡8Kʒ3I D~Pub1@ʲL'5442(d,+bz*ϝF 7H6w7F]c;/~{O;<EA>e ݰL$Q9YhΨ[װa;05-]>~:9_~'s,'Nj@TI ih!b![ qXS]%_Vk6^Q$b^]@%GhdlDQ6Ms3& isl~<ɥ Θ?h&:< +n +EY;3-dRQTVM^'7 F#e WB,mpB,:5mQ*瀪ʋ^<3-oF$ 6z~ TQpQ~QqS710rZzwrl rÊ} [5h>4]G%Te(G{M_L% _?OYaIPd ˲=H lxL{';eYnU"4wBƥH4uNܮ #%s\` }a$A(mD^U^ B7NGǻW:u_g ohG\,ϳt9r4ϼt/''o"L7pfD{OG}qҚSz=n$ID-:nT"n9T*Mq^Փiicj_qZlZAuMZ2Mw[/f ˢP 85Nt*omtD,ک4u,V s fز<5eyH8NP ӴDžף`;:홰nUbFMVMC+P#O7qQ~A#W@IDAT~ `${叁_/*O,cqtf<|).dI.Й.uu47sY7հ`g$|J"1,'4~?gM8H-dv6^;kN>\^iO68T%.5Ku~Kk},ʊٰ|*gIʼnxO6d{I6;#IR~:<=g[eKx,,(dIi^=,90H4$Kia&fh[,fM|B#(, " D:P,قl܂@fЧI9OӞ62jhPZ9S]HtsolǁL¼ Uox|i:uZ9SNC_LY:02: 080L0EuU)ՓYf!=ȱM|_LqACaiQt3,fyIj 03>?|2(!'/E^U1,5@~_'<󏞠QVn.2{Z is׎v 5q]qaЖ9y@sZ㩐h8H2LF "G/@,!T"ٝ9O3ǧP el"Mڶ AwJO7ItdrvfI A09^BCٲE˫ ?i%7eæMiJ*jx8\؎%@ܰYVqTeùpd:%dոis<\Jd$w\<~mXx=*sqj,( ۰9s=4v0INnn{ f(RX䎛Wn`i؂@ɔ$(WI|Ke '&.[_XwaX(Ȥ yYni#(Ȋ+z"<^;H&TTEfzE-`㊩Tb6aA^쀋}':8.Rݻ{VY]vW@oջ6y{0ur"\2KgnCe>-w(ϋ$47w񣇟嗿{TW%̜Z I,B,Ͽ͙>M]lE\ecpX bB!ބ1 {e5^2;3ZͶBx?_Hݝ3=s?}5.;$dIYqeg@k73$$ ԖOi &8i!I"A/W,nkfQ[&[0M3wz%+غ iB>ufN{3nVMvgrG3:i撐mnd*BRE~lm&^U7pGy̝ZICE#e̝Vk[h?#;YUU؞#rQľ%fkJL",tS \+!O&s(l"_r2R;9~IrB3q!E/9^D\"mZ[X$M,3%t,́Lႅ(^*KXq,>zrfOk(&c=aϼ]N`[6q'ey? lqx"=^B,"7be P\CCdYDDc8R>z \1]߽௾:_Vfh"ɒLesjYFuzi\Ͽ '׳ SFƒ,[<{>[ރ'_ 8eک e~,XD82Il",Q@ߍLERa6,SθM fQ.T:Ŵ,wn^.K[O{  dzIG3,(2$DQQ}*Ua&&7-'C'^[@qҴmB_@2hIX棾6+ap}_<+[Hy"3gf3u7^`Gd,F"EA/8=!( XeA&r Es])!G-)h6<= xUL3==LHH8&˼ߞ?rpJkk+?{DаL&Mu2ߪPW_SϞdy,!?\@DxJlQ$78ʎϟ|n[Ip-AeA&TS9_t3pS2;CÛ B7',[HŲͳ3¶mA$oY%/'r,psÝ~z6ؔtdm1bYͳ,j窋X8mzP]wy5- ðh.kfݟgݎN628%syXݻ#ޟ隩x9卄#EXDZ9"/I4y aO%uaӠ¥0-^$ Y*"K tF"o[v>]vҲP(1SI)-3V]eZii&$`(x'zxͼv':m-GY՗#\Q Mׯ`N~kl{X,i6۲O/|+[WRE0"(2٬Ɖx'b\ϙx7rYh᠏T:azQODQ@2f&,I29F D9x'_|S7tFț6x2(*W]mf1\Πs F޲* =w(N r) &[3ELm7aözpg ə698`:[$QB))/QYQBcDfMm`rs-ᐗH4Q4OZmQ/'MH8T K(S-] K,[ˈpGU%ܴTs0AБDvɸta,8~a$Iu˸玫߽hWOA-\_ʾcCFv3ˢ$C^L䒹 ̟VUftm9skkg^k NO0e!Gl/J*#ɍ=6esj+ RIH,ɞY9k"8s8oIy\D@7W0 ാsjjI3uED:Ol$m;ӢKmm6s<TEhv-eE>«"[W&xp(<=26H4Ƨ9rlj%Sl?-Y^ݎKdswٱc Jx 9^"ecN:*ʊf)>Ba [ J2Ǥ26PKmEGfہ~kObj&Ig F"Yl P xTof6$rl h, y-cd׆[.P$?t ?v>DڲI$R_QƜM|e,h&ˋQ=.44]#2bߺӞ9fL {a,.QV^'n]ɕ~A~zm>es{ot? p2$!Iyàk09s&gǟZǓ/A63ov3~# nUL2YӴm AI>TUANմiK/w/?zIRb:HT:.$ёvK3L%DƲQD(;l AiG˦kL"Â9Sx$,ݩxTT(fL׃,xnB!?m22 ՐdI5<TU5H05ض| ̩F " &eH]] P&Kԫ24d$Ҹhv SK85ʖ}>2˛OO&̮kfr͒I4ז?~׶q%Qh3O} D39$IDzErIu `&j,c,$)T|u`mF+f4MDFr9#dQ /BD*ضh|B4/<7ۼ>G{~k!K&i\,4ꐗzD$-pZ2 ngyn έ犅lӃGuk6Z>O(r}d-{{xuk;4e~V.nfǁ~RE̒{fUf8o 0M$Uqc&"SZ"̰y,29H,Ŵ)|Y\/mio8Τgq ˙;ύ,X63:٬g6i9m gO,*jɛLdG>">z/[ײiAzzG'yA[_v4a4@QXbL,/fɒ̜T;Ǚ?PЏzCUe "c GuQh૟5_Id,_}'fq-UK'qLm(%;*M":z)^En ,4, x{e/`y+.p8@I(@Ue)ӛXp ,v>DUt?Jte|àGiQpt"8negN66Nl<9ʦ 8Ϡ,P,"K#b4i;hu.rE'ee,F \=yV|?r9~ !ηY3.~B %a/MGuI.Nd|{"?ۯ G= Z'տ/]eYF,k6n/~*3q˙6pG4/lL$tVg#- yX'o:E˴pJ^4-{{x# ]7(+1X0ҰK&eÔϣ zKg HgNLys&s۪Y\vQ,|ϼ> RGYSf͚ p8?%\]wud<_zGK_O_>Ǧ!=˧ w`v~Vdsx<.dQ$ PRmNrkVajcEƭ*#+tfsyZXu zDķux: (({zהy^e*Ҡד9Y+=.l\,G ' e^79:c8UR]`x,[12 nTSĝ7X?-rZZ"U}c;~Z 1Ӥ-3BƴL4M# EǑǏmdfw=o~eW.u; hZajKM.xn#xn3]W/pXgYrS*8Sؓe(ea͝JYiD M.^x}.EafjP)qDllܲw-5/?|G:g!;ۮŲ:|4\I cMmTL<0"6ljP?W2?ldmyu|9~rnE8gzs5+e޼)ԴP^ƭ(i'RhGI5GZ"IݬB\\1ڊb9X]YÇAV~ӂ}Sqt}1w>ǒ3gi+Ya]݃SY4L]'!P0w#i7̼esSds:L絍{ٴFX'M(a IJ,tBϛ SEO]H,bD;?G_MF").q,u#*\tlLeYwQ"KD,Ep- \\l<Æ=8M &w eQ`j]2'˟\BIòy5lE|, A*nc<=rin#o}{0:\w-qV̨행r h2G{o {*J=]%3)+ QUqH&9˳mWvpXzM3[q2ϼM[k m}j6tNqa&ݽèBiIf&nf{j=OMr'q:{(؞lāE!a\(e-+9ǝ=v#UIG +P_Q :7f v 'J.df5"8X6nbis1:̕KZ?G:f̝F-,q:vrh;̟ӂ"N( Ԑ$JhY'0 <.FC)T\ÑY6#\=s81$&E܂@,1ϯRȖ-MؗϛG"t0IK/ou,p*%~n~9~Efi%wO?T_93돲H}CIL))i\ Nfł~O6i9 -OhЖHMBodgqʱޢd6>aB!5ttaÚؖ?K?噗[VyKT^aE*#Kiד Xz>H4\{S˸|Q#sNG8AFEd}*;-mtEx"Z(`z5_5yS+dH,IG LJA{Dkk+k׮=R{衇ޗsXf ֭@K dͽw/c&fOm>sDN頭{x:("˘I2&oTyUtpO?ࡦbJx*K88a$<_h#Gi oضGHgT2[2M*қR. rIFsI%\d6cUNʠ,ߕٕѹȋllhtW<\_eW2K@:Y<inlumfpwG͊yLo.g, Cό[ @a@DI_RH ##\f)I|>.NSUldx, [Ue9>qQWUrÕpdB~/˅a8:66XSY]ç%|ek1|^+xlwl!dB{ _*g42h$˥q;?8AE\p5V7_>_|8}( 5DƢ$i$I:-P=X"KHt,dalfˎ|w/ ?St aZNE5ܱjfE Yd|{.KXfQ'hu aYTBmui,c<r3sc;wa 31M涕,_֊[Qjc:s\Në*N$i s:^nAxˍ㦕4M$ ؼaX6n=9Өe9Z)蒢!j*Xp:>=ZcZ9 QR$Xi̘ROfDI <`[t o+[N8YfApCW(=qzG:Fxi1ͫkw/w,?ʦݧo$pCn$) Sy=嘦 9ou=OUEC1zq 5\u|*JMPY^_? ۼ{sUqǯ՗yO;C!io"^E!6H8Kpb&7Rr-p4iZ~_%yy[;} ;s_k(fF]>Zk(+i#VQ0H}Ox*>˃>8Am{_= MaiLBijXIt-F B*ח\:KQGi' <:jqs:˴u_b>z |^ 溹C"ɜc++8Mu$Ke9۴$DR_.GSm%AQ1 7euly9~&N(7_M7,gJc5at*C0h޻o#.M{غˑmhJN3}t파޲*ZZ䣥.ĂiUL(a6J)׻N0H}xW+Xb~><^l*Ͷ=G}<"?~Rj'0, L( P3"a&C#cE ^ ٜFccI,X-o`M"$XlNDz,\ %!Nh,6m=wB~.Se%;OX(㢳?:1>X##. YUyy#q,nji7 7oDzU%rtFybQ7ODXvrΙBb>7i![!8rMg7@;ф;<הsm+2c}t=ǭLf=Laczvh. Y$X@ٓRϾCݰg_B61wV3KA5TE4m:Dp(@YIeM614mj?ɧnd2ϟ%20MD.[MWLc޴J\D$C7ie)# 8mFӜ{Ӵٵ~Al u&W}Ӓy v'xG37qݕQ[=]}4M篿xGzز0irh z]$ěeaY5!T( 42ߙ(PtON^x(iDIό \)eDHrSwx4 wLk֬M\ O22C`v$Qtʝ}*6HFA&;8R6eciu舆WM,+3od(% %*JİlAKBϛhzQ:d#IX"eٸ\UŜH-X:dž흼2ib9 ^gu1ˣP$xDZ@KfO7e.Vo艞vt5KZJ#̙RRͬbF{}ʿΆwˣHiZV+xygDƉ̛5\ p Z."x.ƽJXcO~v;>.KW5!WL嚥-L, K9SRQ'm2x#xƀEmx[,F $ˋ7Lmo:w*zzGhk裡Տ[QyDl'HdT6GqC%sg7g6j-$s,&pRA <ŀi0$&1"SN = ܈ۥ eLV# NTÔa8|$?*y٢$a6[Tx=*E1aW]n7Oo8k2:੗6  *nQ iZZ *ջ\B1fE(0ᜍmmV t2yd{8qoX{;೟ t3yf3O/+,˦"PrnUV˲He(<)ie`Z&K4Zh:>:xa ztGuYE3Y0"^&5 ]]o|t \[u.m,8%tbsNυKCM9Ӧ10aݦdOv_xT+itcE /yC#Hky+C>=i+g6M2ĺUlJIgTEa8rq,u8|o Gԟ}&QU l.Oo.L8c%sY8gx Ͼg^‘=|{i!oysv5RP]rAm'3$R~/3 6f`Y6 }lu{[܄>4PZ江~x[/_xMDbNHXWLgVs9,iJ?.UY"KJT|<ƩdiZA XH$H aJ"nc6Zg4qƛu$ˤbi\p&MU?܎ Ԩued EO31pSG=/ u~Mӟ7pq;sh4+IFD3 <E4V< :'S!$,X[/{G=. x2EfD8̊-ۯ:cDn,1"o  U.(}Xc F$P@ebH׫re K=b^c=tvtDqg U$z9j$C>I>/GZ8a߱u0gr%,= =,YÜIټW9x\T9N5lx=eeCGWh(tE3ˎC}\|Mg0%S*ش-̛VɉFp?5n[AdQ(xFC^7d!^I$cG{?΢S.! iXMȏm Esǟ[7LVLR@KvǸTmIG_~?|Vjf0tX2ǫ""i7 #1Y&t Z5s x<so~N7Rh74 #!I-'- &nm,z%ܲzz,~'GcMw8ՓJҩ,[Gmcd4T6Hl)"i3<&ҙ,%Ӷ J(!W< =\DrgH2(Gc *(=gzDS;M [)Kt&,BU])hrY+Yp6irhiFt"%#iD*ˋ :oZsy0'=5{*C9.$EĶ-ڻI 5PSYcn) i"I6U:ŕ!7 RK&Be.'9 !Di*&E &i^1Yg`h ,s݊kQ, !tLd?slv[:{2*ܜaZm)/ spx#.MVqdbi8nв7N.t7?ƾcLk*OЯ|n;!*se GX\flOhqq@(a{Jo(K[Y8b{<9vpfx ;d*X@@= 5o EStIh =o4UU\j[i+udLRFۉ>cl`#4liDr&!J37rê}z$QQc8e H-DrDx~km۸\2fJFq¸Ve p\.6Z z\ų]n4Ͽm9"K0 ~K2qj#7R~u+}ah$fE^Uӆe7,ↅOXQPo#r)Nkja92i=]B8? BdQd/] DlVsN2d(eִFwsq*]7})z䷀n[eRH_RZN;/۶Q*#CM(w]Gظ ap;|$in]})zZcBm%w67r.cY쌧Yw1I8q<JVU\2AҔX2== ԲrA[t1z;AR5=P$#֗s4CݜwPVKI8 _~1ٵ$O^ mr˚L^EvG"Bt mYh&;`>xQ8H=wyAo4%bOejCxɓrٝ_=Wdf~My &a%Llr@rK$پQ\SBKMyB,|c-;نiL| ǟy m™|m-+*\ l{}cq5Kj SCahݸ>ղR4e1ӫDt:nL"eZԔp목DҼFw@IDATcqxa$ 9ۡ#Xf.Ebx7(aѪu|0MM~3dZcCiNd;[,2Ix=yG*K"';>WD3,;0BR H0(.R=YY5Ƈz2 ؙݪy >iU8E@Wpڏl9gd} `5%TN,~/f( jJ +̙Vw;7N{ofZxZW|nƟr9hT(uK(,( q;I$Tr}_Α>RO)p̹!39~S%p![쉥f,ajU.'O ]z5U7M]$K)S[ÆetHe޹AAh,h sypuK<'ɨXxr8ol=s졵sPX2w2FΤRmNI%|䖕Y2#O c1weK߼ w_ǭI2T&/XX,fԔOuI:;X<:D4'9A?-ÿgRfհ`d 8YL,g>o ʊSđg>7_;VLf"*i~6U X8أ<꒹e>w'Dm+Y.Ht M@?0FvUdšy<ƥH<.Wp] s8NݴDSy6k$)=~)HHANlM&I{iTdB/e4%5 @UysfTc&{З 0c}}:e144E*n,p>FBa*+Y`:G[ض˲ȖEy]$˘hKpL70dJYBgfT|pq[!2x5waΣ<.#q~O?">|l}Ih<} ;]؋БH#}Hx>5D?\^& Iʺz3xJˁ Fp߿z/rӴe2:G Ϟa?̎7p35pMˑD*,_4^zGdeٓljDCAY!C&z&>3i[fRZ%t\P²"t k 0-89K) v6^TɶC<$-ÿ DqL"i{ӒR:U^zE>þn>~6qf I٤UP\dN4T U38|ۍn&WQ^^@vC:B J `:ylsNQ%.Ip#?|&85a,v jF),ƵXT7ݸk3qi;rt&Oz,p)R4n+)+ͧ{ЎbL49c"qںع8C@{o׿Kihl5^pd5bFMss$[y< F..z*] x] ^e C)7tZ:4:}wuwQ^@,&OݻG;zAEnj8p 㲢Z-@RdԴFk/ŵP8 Ft1ݠ1p8\݄] œ5T&H+$vBV?ƥNEop4+/率T[&p̬aۮtK}.JdnbWPe֣-(``aXL:nE)X*M:<, tfr]kwm$)))e2K80[W^Mq0IfT >y4)d<Y1Mk¡!ˌ;@[Gbz|fv@q+WF7^*++v `ܹ .5q{[3:>oMP:qP5Ub:~TYOyaMw''>4FS5 3 _'fTQ 20+OmW}_p]:oץKf.;R!8Rh?+CH$hٚK,BRlAjWx?>3/ڻ(`] =nbS ,:)EbD Q@,tLBڴ& c@K"_1FñqcK?(V-zr^{KlϿbkW/dx4s}3k ǒD6/R'3b x6k&ɔij۲zn-Suiτ| Hj]]{ezG.h?D+|/r1wܫFR5ݘ0-H4 7=w<6\QNnp)ټO00eue4T|L*e|"?;)\>Xmm<ȣO:{&&/-AN{tlβ,b^h{Xsj*2;i(NBNv[oX’h<3oG^hC+ޗYv n.$S@H2xR* Pu4Mq/_|/?NYE?? zKEI̙D(QvbY[3hh6@@[՘uoy|4zxrG3uɄc. p:E àTz$@=Ɛ.eyjU>Ey>q S"tZv`݄/cfri:cnHa7Hp,1Naq^|y7*J2(i% +q+㯰P:Ni~g?4f4n202,\t-BSњuSs[m=jiG& M'd ؗHS̰:bSTyX?\e6-R&EN$Ҵٴkf12#;  EnXZ˩1F5 gnLbRI>Eل"q%_Bfh#cG=ϼήAzQ +2̛r 8ͳ/GiKC7 v?|?ħ5ttNgpPDQ&t*eSZ˂ܼv1<|o~6,NN">4OnVV.˼Q0 1͝I$S,7,/Ա|~o`e"}.K甓$S*hZNXpQU؟hS52I$cI";)~2哹>>Qx1Z5>H,cW\Lp9%bwp<.L R:q=dgnq%B[OK"i]ڶ#w5'z^"A@c)L͢ ݬ[_ϖOtu@2MAP((緱p3c?N^.|X5-=t04{ E'esÒjf( Y>7d4 >BPC7&/.〸%%RMro n-rD4y9ϰ|Tr91sif@p`[_s64>",N<+@ ~bt*wwKheC4tmgȒ [&ēz i qiӝ#F ^Y5AR}Qnƍ EWz\u5IDirv[82KqGz~MLGFr̚^UDdQEBWuBA^,zqtv pΞK:VY)ȱ_3+;l1ZɌOϨLZGE^ a:+UƁH:[S9i3fe,¡x(P 8:t?OA+HTӧT1 AH8V̦MxuAF g?[-YtKf1sr9[ƗvuW=m]g+M|?8ٵ6wO$xLLDu$Xr>sgreFBs Fζx\2y9^r4c$Nom8XH,uCR:;;7oַx؇sbh &Iu(9~7c|H‡$Io;El<<}SV1p;,mV!mݼnxn;}%)lX6Z@FW+vZc R2w?PPV7m9tQ>w"_K42{I&##FHqY~ɌN["!ps'rd46*kw|,!-Sc@$7L:J2`I|9ȲHPֹY^fqJC4M^xmw߶k^x5rrvE՞Hǭ0kZ%3TJgP t"ȩ*u NEŜxΞ+sc ?GoEAf4a3'X\A79A7;t`e, D+qIӠfh 2+'9x#7#1VnGqA6,j:A@u4y9Yה080jBI b=ܴv!/^z+;p8q;%)g.VKMtò#,A S"шU:zC F9<Ӄ&/UPdl/a04zI=z7q?h^/0<>(Ue0Mc̬)5pEnKfwp_e뙷p:F8;KN2v15΃'n]qIUï;Y4il?(bq4nYY5Db UOy$H$m&{ 7=H2#,S[[A"IGS'iWKv$`̙Qm뗲]l@Ghx%C3}l^ ,ۭAlbbWB,TUctLT(.cwfἩ 4 ~/9|9 Jai*F*Qq9sעY5|fp4ʃ={'`FIųK7%DtJ-j+sMQ"Wrh)ZB(У'9~^Hi:nrd/? p-e">GxAW~'ĵQ=cZUa nG<2-9W݃٭̞7xi&aw>lυac)Fc 94HsE C N*+ 2&ڊ|ӯ]n@Tzxy؇slܸqWB~a}Q2ӟa)-0 hv5H@l;}M!ºv 0M2Op^FGDC1HQR`B%. BZ4͎;A8!TqJ_xɰ, r|ku1.^Ba>\Q뒉$.yA/+TP2xc k.6GNBmlUbi3:3:!bUŖX/i%LcvulD\WL0ceR +2Ut naj)BF ʋPs]s9GGŸSiݫTTޏibLX=ڱ,dݪ̛UÑcyl]Ow0Ͼ{p T\t5c&NJLͲHeT2%S]YLqa.hQpd6%jS $/Ɂԟ#6'K ≧^G?#Mb.EdZrl>AROu`U0~/a@]c-`0(PT9%\22٢@4)WDX`H3mg*FR4 Q,;hOcv B*%׭ "Ͻy_;!le YfݶK$_\ Fz4JVnҙ8w{oΏtM-=HgtFxNrnnCW'A23>P ,:  :p`F DjY4T6lf8~J0hGtqn"ʊe?O.r!iX&L߇D$*ѤJp ̓4;#KIh;)3x{.|^~&H|+lݺGy.?p::;;'~v%?9ѣtͮnI8kbkGcá%0-N47JN^ h躁O!:^TI03b~B"q21E.JRbEF+ӝiO_ezUU9te/e=QD)8$i{O~dF)W4ҪfȬSy=7Y'@ T$̐\"}#?0{U=ڴi<#٪Jq9$;8kD7nH$[nT2HknO<. rNh47pޮ~NF$BS ͝%n_Q^Cs_hr}ch(%\acId*W/D_<<;'4n4gz˗@P)F/oD䑛eWRY0LJ)IfxRe$B{Hf|_b87,bDކS-Y0yKfc9^yn;M=NGzߧsx\2o~"K ǸaEKNmI,qJۋEݰg .$"W '89Fk( Mc`$H$E(<% s=|nJ M.<IIvS1 nH_˴Ժ:lWykD"y|_VU Ge۶mrIۑp'3= yS7BfqKԊ<|Xm ٓ:7b(A/'dL] +}.>#KrP"kI"[Xwr2Qzv]Ciap4)]q5UUuiS fvmm,KͨfŒܰzӪK).E .ͣfd4F8p$<&6;L^ {+KO4MV/7ږ4m&Rv cQ7ʒunp33dU5LA~6Ep놥<+- կ9w_禷Trba]dI$E3t$ ND*h(6?[?FW|Yn 4-Jmfp4v5! L)\P+PC 4uLw+InjZlyl4N׸N87YAZ/3J2%swG5hͨ.rdTq)ф,?wΫ`*Օ˺VǬ2nF-#/ǯzsœ藛7uSHf4 $^"Q/`QR^ 5׿zvOGoXps^s̝RČ\~^B߅ϣj'W3uvF-R+}۾,~_QWWwt?&vrHTI,%2*#Q:E8m$.{8jZv4F`Lb" 4LRE0RM5JKF7c0fƷy+9e>@ DA cZ sܰھvmS΁0nmbZM>QXȲim5< s|t҂nL"dT$UXM 'ٕHafDyvUck,\*^ e)"yjrfhLuKkRˎ(|ETzJQk9GCIaSjʸa_YGey!YY~TUg-+—dNvm9ijoXs=CWDˋU|֔bZ&aq9LZɺm>pnVJ7 ^|s?C#c| ctFq6iΨ2NVZ7<ȓzp0w߱bHg4D1^i\򦔡'R$F0Ib9偯~oYIcC =<zG.r&l1®=̝ZXPgHȞ:ˑp$ן^ޣ 3MfBBcJ!=-lRZgx EOtMeҜ\d@뒩.P5 M7d!wI"u"Iw7/GP-#4,??^A0y/׬-QSQɦMB 80 '^a踜g($H"LjԷ b&~D,b1+ +AQH94H\"1t\Sr).+.^;Y T HO2YpN I̪UXfeU.X#[}v5畠w0zIkbWxJ>kxdr%iњVuƫA0Ij _r†S87 H`ɡXG:YS_$$]6մ,J oh l0PaH^^] [Ԯ*e"=.>xRE} ;˘ci\,hIkDaLr$;s|6k{[ZOYqPK H5*%5w56EuSi"fO0@K,K Os?3ήzgztڨwT Tqɽı}ܸ%$8Ď؉qÀU $Pn}ŞQ8|3g;{~xl҉Xp:-,L8#8EE$s)45T}MviĈGwJg_½ԍh'ǣ1q@Ν)U=2UeE|71oD֮C'xUӚTYz5,L"f5Ө,&?FГtT:K^8w)>"яd&ΊGYdZg}-} dz# On#J4Pۦ(T&Y4r0gp0kG&zOH}~y~\SsLiSJHXX;7G= W,KsDUYGNG|)bn30uis9s~Գ} r,hTvצ)Ԫ2rYvu>Q`y˫$S9^X{es_[HW_+J1!QU9uvCn0cj̲͛ES[WAiq$18x0SǢ2䵗ڛdBU&a |L_e9 E8꺉a(DyI>fjs=;Ofׁch롳g|qttJH:Nf9)LlCR렭XWI~8@0kw+먪|)k:)ųtwpo~YKa[ɿVl q|:>jo(I"sۡͅ(`9clMw.mbŖw8[ /D$ϖ(l pa ,l(m_LF綈#>su>ˡ:|* = 'TB~ ]7i*/ug|kb8 j+;=fo/ @G:"Y0<(`&(RZ{:9["(V=+J :{ZxU^G470x!|9Dut@vlRayTk ēY:mZ`@IDATHhJ0&&ص(%TQ> )oaᐇEkh"+>vN8#k,`6݃ J~^grb0I,q[€0ؗ`ׁn,X7w18bpwA|YHڢ#gD s[a!U8ea6Mx#}.cJxۖn3HP#;k,-FF&qs51wx^_{D_ j)3vL>͍%TE<_S$\0m⩜+tb'd'Nz ~ŋO}ꪴc+\N?(T$pK~MUl&qFT0U~ '.: 5U^F\fYpX:YU$b;ۦX>(k2gR9>M%T$W v{GR +«)v%AED?OR!8 2$.ޒ̲=eq gͦv6osLy(%:Gڣ USYyic 3{r3.@4,ٸkQN£׎$:ʆܳoc_ W=9`}&neťBVsuU0MTYʒ|Ncnk)哸 <>8paqW;y'LF\iJ$I±2IV75,O-`ҸR>"ܗ|?̓43L"xjO9 E 8Ng,$iBQhSBiZ%mc6a '̪g w6<^)/}nYZ m۹~6niF2qK8/u5_O_Y/N4t$ٴafs(HX^ޕAn]Ǯ=MMԕ)/ 0j5 _SDGcC AhPK~8ĚU[ٱ0wX[qc bq7e=x+w޲i;5@1,fe֮g*)R]bB} 5y䇼}*=E*ɓS-|?"7;fSAV?/Fm{ E(P$#$h_eÑQݠ05,̑A*(Z"uIEׅ|Lkdm #2X #k;4{T&mԌ#xnX1ET2?b;/_~+n8'h-$m/i9HGyC%emHHS;×)-ǁm{ߟOřNm*e5 v8&֗H0ȉ8Fc,*SU"Α{ƴ4MFUdL"ʱe_vM ̓);FHLi4 0L0NPJPHEi\?<m1YrH0bxzza-CȒHuyt%{!ϾXhl}tufZXd;ô,z@0,R4Rz tFWv龎ն 朹~K& (Ԫ2mG*6(eTA8Ct:T%XyDW[wc|M!r}9**`\tl vHe UlQdS"T!|֟5ԩ2֫Ų9*T¼ƊxW7gFM7vAӴ%dFb]Ǒ?Ygװz1vW7p70x^m'^c͆ݴv},[H6_巴w o|J:zu}P9YYu\&=g cʋ,-`F6lϏϿp? LQ<2(ea~mTURT͘"Ba:;9tp~A>`Z?GNz&5xΪç)o饸 ܴx|i&cn &$RZ,B›kuE)1L YbgF0P^Ej5 XDd0dZe TæyLgL(cZ9T@SdJ-x{W;{e7)c>ƚ63_zbm=z) C, 5Dc J&e>LNg^|evDT,=1%^BAAWCmiooˡbn!Soy37/ϣဆOS ba("(KeIїnV%~z39#adr&;_·YIw-X?zhMU _}B^tS$fƤzϚk.yMj 3* !"$mLM`FF}^!. &RLIz$pY4ĩæꏉsH{UI}ᇯNemCMKΠQS($ugK.8IP5H"^Q "Ԩ JUPYJ!aI$i۬gH6劌; `8', ^խngi 5/5:˺]ϲ> uErnX]@iA4K{ɴN< ,8XO s.-=Ö'Dwqi% ؒrkWyl1zx=2eƳ FSx=U#{I$sEF@\T֠*%k}=Xx nڵ;JgØ|&SYf^Voi%1Ht&7Si~#ollp巃[qq+m#  j;>p5)8Sy:f{*G*3?QJdm(2d<5@שtTĭS) i"KF ˢ7N4#7LbBm_sKi3V_R{wq]KTeuP0,4mB( Yp78H$HIQGWtx4̻ns^x,I'q±, $9@7Q?-j$PUGSM!N }>y4!;!+ݰNpF_EOV3W÷,@UE $?3ijk.?"QQKB2hL(]bQM wqH[gWRkjjx/;m^W 2L^2iy\H$2V(eJT^Q'DUGIDnMfY"%HHv#l\rUf_e[*Gp[1 MS.)۲B~Ϭ:ȁc璬ڲ<IDE?"^.Rzb)5m %cC2˲9~oemXSHXU4yf4^gxyQΪeѴ1'EH]7G&`6,&2E|ɴ,tKa}]<:2XKEeT&/kg(PZ5&Kon>$-/~Q`f(}Ch":S_d@i-s'=rҙkC2Ŷ,lQr}U%QA Lcn{uE3/3aQHW)(LWϣh/v2ˠغkfNc qc,};Nk*ajTSdl1Lr6P؟a;Ж3P TJUUXPHg|eE>~fOb(0-Y<?:J*I&3ϒɘ1I/w=Oů+]}|wQ7Cm)^&bDAEt@7"~)+Ӱ,{33HeFZƎ[!3MTV'RYD}m9$aRkIs$]GAK:k7m76z$3:3&tv yA/j_fVvWvKdˏ%\sQ_ӀeXӣo_Q^S}%_yn^:2NጊW$Ibd캍XVS;cmp$-ClٵnE^mbbI(MVmP0 22 ch$'w >gǏ'v58I6o%2#@iӣ iۦFSLq(QTA#HVse69I\$@H ^IY^ITp_0* T<2Gs&wuqO;ϯ'sE,EcS[ar1WS,~B~|?Y{QtT슲@)UDtMbWe{Zh>̝٘12aR96'ܚCbشٙ"\؜ٕi/<ôqe4Ȓ 8>4aJ\:G8Ǔ`Ƭ&Ǎ]y+MKgw4'2M ~/MfbS {穗f'+7?w 70Qǣx/vRbS5!N,i  PdtO@\? U/FY9)>EL{8)j!%"JlNxy8CpLQ"YJؚ[UuXZ:\$Ȟu(JtE"({7(1 zhe|t eFm aJ"\t}%A4- ?mI6QJԈI,%|^[}ܹd<e*x5k6煷HgK)-2y3j |kYk)/ $uěֶ!/i!qS_=,{iXȊD.#bX.aM Fi[/M{of`Wr>8;2 9~˶QT<[(I8}Wt?*IǦD"v>J$_eOIX6e)w Vdzܓpܪ)1@Ph89jᐶ_t+"t(2*U,{2#ъDGv$!eٌ(L4 Flը49â$`4ͳksnzR}1SJ9ΣΜXNeYˆKq=_E$A'3h*Q*8, {95؝Yrs ku:Lu,s5'tY!/+V%~7pF:1MG%M$&c%ATenJME Ey~6-T?yS5;Zy ܻP˯7wV'~7-?ghX@0t'HD^ϵ'3i\5{Ͽ8p-zotONyU1}]Cq;C:#>גMlW.ώG:,/HQQ`U| O3oLvm_Σ@A( 6~ϫL؎|6̑<Ҳlm1{l;i{xo8tY0g=})dEqCVGlmY'NO9  6EA}!%$H5SMa2+>?MɎ\AJ *qW;?{j+ >ytJ;'PL^XC7t(Ga8&"#r˂t'[:DQx*/F"HjȢ@wOl6*'}s%Q`0`L]%3&wϬHquqds{4LwF #8A4nG7P` nVrI`^Q4ؕӚTsϝKx}.ٹpL_gIlD dְ ~*m^57㌩,rcɝr9Av(kߏY~4PTӀa>|>Os)_G2_sc Z ) L~D*ɌaYi Gs!UؐPdU^}*9G+ M3$sD^?ED$і3xl(Ŏt0eUTP dO#8' J"es+pDJED 3"&$|㉂:dڬey} (Q$J 75'eL zx%;Ɔ]̘PHDz:㪒v PU&68: @iAE/zQtI(mqʀ|Y7C L>_ưYYM,F|, {y!>feJ2cPWGue<,c igVqײ ,^*{[nKp 0zW^"?|J3s|Miz~^%Lu[߿C'GoJgWQKQ~W\ pAZVي!hd&cv~o>,UGOb\MAvήcN^]D2䱥,_iՄ ဇh"cXW_7)egȏh|3,|zѢgòl-k?͢W;c"I١8c*7s<Ͽj0'  8uɭ_ql6-$HQEe3kY8$lMj0Aؘ5Ȅ%aƺB,߽_w/Ww}^UOS"iӦw˗_ Ffr8pol!RQ/?Ȧ2Eth@?5䇽#)v^]7OG+RoLA@7-r9 ݲ0L ڢ5)`Jͨẹ47zUC>`.߯WrH/Ij * 3l,AF],略o Q^R$TVr5/=A8Osc ^M>-Ep4,A8sei3F#qwǫzUb ,<^ѭl'lؗucKL[J2">ME$Qd0g;8|%5e|/J1Ӫ0w^7o&U-9r((<>pF4T>s .vFgN$ِ!c[rUb̓(°csm˝y~R;“}*/ rL7ؒ2Ή79Hy>btDa>)~3$c9LytQ U&j*3{9s|ϨFTgQ(D~Gce͍̜PάI̜PI,^sPWĉ(=\dr[vᥗֱg̓00EyH.ö/|^(NMU S&ֳP+]Wݼw({i.0C4q4O>h2P,Ə\zfَ{ { =5C^؇8:͏}L2m\E!2YX2KAGsC = :z#ޣ$)-Σ\>~3q- L31|30- J U[.ѧ4V2<ˍ] QS( {4T\GI(zxbCUBj< < ꦰ$8(vFsr9-uE>$us;'zK!ƍcW:$6"Y6]uAwFfqKW"m\Z1;ӧ0C/ )/ 83&# #Xnۿ\6LdMe}t4mʋD|]/2wX2<Ȧ,[Ϭ D `ZsI oðQeT-ttsG>MS)%L[[L4xUV%2}y:@v(Ve&EM"(r(75,fO(@,ï8ú4T0yl)Aa0a#ؖ͢_S,7Ƃ547Oذ$^ʒYMx+(rF 奅O bb I'3XuQ(4G*Pq 6v~q ti]3SS-qّ1;s*y\vg FR9+i*#34Qx.Y}~#р'SE1ͪ*Hba B>P =Bgǘ;9ut^ڶS˷r/!׉'R3y {HO$Xh&Ud:e#5|Byi֦jJH&tvt)*,xSCD|F>_OofC 384݇Sv?W F#Os_Mx_⒥L$sēydI$Wk ""LHSmU5P[cp$=#:H_j8qز97y-g-DSy&lҙ1-VEBx6diJa+wd*,X<˺x(ɒKBAt\F-݅bE&e;} KUhn5^1KLaOa,@$ AJ@SU B>FDV/;vooQnd\9K61A‘ lb>xzGzǙPn_2Foqv\q 5*4ǹﱝ6eg/E*qyϟ էq47l:Fk)DM"bd6_P[UuW.gN,DcٻG(νGyfFw/Hd8{"h@KHd^tccWŨ-ΙTY0;1M\ӞIXn0D>oy>֕P P^m5tt;叾H׋D"֭[K=]x<Η7sk׮Gyp!鸌 AIJWP,HO&x^g;&z讬}i&0h) =ž (xU{r&]E{@%( p!*{a9C+k.7۸WHdI l淔ݴٶ$y%sUTQ9xGz(%5W^_,haT1<'u^ɱ1cF5a9XIyð(-RQZDIqhum瞧H)H"at<ގmx^Aۜ|+.`K;ˏT,xnfW`頩mĞLD&TTEBSʊ8˫C㸌'r Md*TČ^X৤;`Dt6;Sygy9<HSl5 pXQ?ȹ.~Q$elJXѥ[;ݺE}XXܦ2L 1Q}I M':[-2 cOZf_-Sho)6o(ɪETDp<*T[e;(Lgm)$:]9Y%!d-<}갆( o>YS:kbS;CËD4$CypL3m} DMc^CWůH|? ~5,gE{-EEAV.j`^6:Wrs)+ `f5ݴϬe3J ?{|'oˆrK].f뎃gM͙F±G5>z%\6?"b/rX~|ԉ[ tݹ.$#I LBD\ >Y@%_3nJ__~˧I޺k7F.gP18ad,xz, (- R ('Y'P炂nYŋIt&2fI3ϰ=&8Э"Ϥ2Yj2EETzŠ13o2o⫇*eQLX=^D@,@&"O> 9~/EݺȂ'oZD$'sl0΢9U|ӫygxmW'?su|멪,!H뜼}#aRj }o,(I]ECtޡ$;' ɺ %G@IDAT`?:(]ŴҶKz i,QNqAxӱE/۴l}CHP;ᰒoԓ1 ݶmbT41%z/|bsYx<.!  df.USe*$ԯS?c > >ϯ@O|ޠ/y#?Zσ_g<t8D@SȞ;`+<^fӮc80<8ȫyi{n;S##V4n~by*FTT˚(hg"ypvl4o3dl; XPMz#@vZMfqPT4mΩ7\2cidT1X1{F KUQ^"bD3yd:O&gΙXlk! DtivQW.ǝ]K4(\iMSTdQƴ, 8lv Tu^ac .5 $G|r]n* #[)PW(e˚vE)) ʞn87<'U&Di,Hi,zaSxn} ׺/q|8/c%a(Q$׳AzxӽФ)T2=Er87NPYߧb.ٕ{ht꥾ƆIumSet`#tO3}ʧ(6ZWa9l^DDD &}-B)&PYfvs)$=OQAXW Ӵ5AqEyƶvv +R:׿7swo՟˺;yϭNϖEh TTj5Bٳ8rL: lpB+GSNhPaQdrx>g_`YX#,{ݳf{FG ^A"ѫtLvG -\P5gSw7ڋfr:~ۗ1 )jLdxfaO&},#!ryqιDP/Z}$Qe Ypl_9^ز] @_ƏEݼh}OkmZacMޝ*\lZ6iOP $TECW"D} %Qupͻ{I.8lLYqM4" ]"¥S79[xvrKB3*{r*j,ͨL2#!QDTEF"!03Khq.*i94wޤ:cyNj<\6\,I$SS״Xe9ضuZۅ ئM@U`Ë;x4Wp'oشu&DAMY%a.9wܸWxN%B//{t}jq]L˻M+n%Q<1MvN骺OPeJR*Qˆvδ=ɻL{@EF`w e9C[k9A\\os*o9a= m{P* “o}iR Ӣ:ƊEd&ټKۻ{x$[ygt6YMY0[/Kް'c͡0>keM,YHMH@Ųaq8ήQRCA@%W=5bvu{cOHצdN}}9LwXni6ur--t+EOd,g*N㡄$^iåĵQ] e²I;.՚L, "CiS4hdf_֜던TʇD=ҢkV͢4+QX83ƊzkOځ\ uxqG/_>J(pYQ֢Bq|T h󫬊2 F{Pcc"&AKLXW)SdoG8EYdH7-FRyͩ*F2'ttpEiUA*g<LJ4Tba] g .-m4Ķ=`b"ʥ)8gth;$C|`dYry}҄QeYw}b!r:.?cVK-. RʒH6oȓٰe'/lOo-{IpH3[jO0~fێSQUaY_rՐ3Lv`"aV/H<βiY;xu_?[t#4 >]$L*ʂ@X)%M!G"Hgޤ}>Uc.0n*.S;>TE&:Ba$@cU X^CMyc#g_*2- ! gN!KZe=ZAV?v ؖ ֗gK;پ+pMr1tt̪*C̙QƝ^ yUi `ZΛD /V|*ٜA6g<‰0UPٺô8->(M}k@X^⹤\VKqs,%YH΃d&SA@NMOغ- OPVRH4]eTUqϾcZkf93당hqɈ ;M[{r876ml^ g18:Kn.i ?g j´hxj+?Ke>\׎ SZM_lǥ{;$q]wx<=s=SoD[@e_Aw\rvHHܞ^DÆdgժ QA4 ۦP*aDoqh 42#= gXbvv ӟ@%4UƧlgx32 ?AQ,H4:.G'гC>TDr gaز;* M }~IhM1nSp6>QDDXGH婭,0]ɝLo)< @<󓇷cyXX7xV7]:Y6 kV2yϝ]'o|O u"a?ض=>ȡ#}'S ˱i eLe>>K/%o~񣯱W/>C ,mo"*#(cł7EW@cmTFu,LAE$ł[?Bdɀe4U4fTqŲ&.l?zs|޽[7O;9!?ȒaBD @H%ngcIOls:fEIB/kXwt_BVPZDD2yiaS$wuqO0H8䣣goY'8>UN_m"(6H>VEoC|47 9!W~I ΄  7dp=k;w|l pYDCD 7xt2/<8nd-^ܠ*$RHDe'&N\0ϯ27 ӟ0ٜ֙ȱ&' dFY'=OZf EaB>(A.oR tv5 $~ƓY (LdڀʰixfMeQPcԴ;f%Lֆ} _xz,7Ƃ<2xRSjnIiPebHBD[Hc^ZaS` Yu^k(/S_spkyptVg~5r&| 2/sޜ*]9G`G }t#W]v>_<[֬@1LfNk%Ea|Nnx B>*:zY5*d ~Ç-ItӲ=UƵ4%wr a6wϭ,]<?tԮhmy׭-W#WHt,D#>.[D1v$6|-TD(mz3_NE&yA?^k{شtIRgt %AE/ݑM} \]`_#)ftF-D\\* My}c:.R]a`4? -,_M,TUBd$s;",j8.Ӿ)zQsw~f_ǎ8E@@ki.BEBI&gKLhD'Cc~~~I_<(Ua &z񹮋k; U4mA(p]NdifJU"($ρh;daY,XC^g l?07P 2qSǂXKWc (%|T)2)av ~RE%!bHh#`k2ύFr,uʳ5m;OXXئy,fS*g (H#x蹽4TEQSHr^G<OX^u #wUPœeL8.k/Weϡav9CWKWUqE/X0sΪ5 TJ6o1Y XK*gFU޼7AN5[@UIS`->8Opެn.V$t\z r^U0'+E5M/ΪƇ4TRWci~7p=rs]F&c" >\, 7X:}oF~B.ha k(Kd>}$42Kqˡ3gbC5fΤ6kTH"KG72<{9\}Eܹ('EXO8 xl4j2_Po^Ud_E%Ӭݰe"CTafGΧ$LpsJǥF$Tߌ)VE5l%Ḭy$-[ $6q!7.q'ގ.hQ͜ ylǡ2L62g h)V #6!c,2i#", w#9CDˣ\EhL6g+b|8BYF]U$b!|6m)6Uvw.T׮]xUVo \!oS7M=qp79YNX.ya''n,COe_B7,t'9T$?NU7 [ʙ\qtPcNS{E/asu d~}9|l Yб ,Ueb GCljU@ٚ#h"D} &, (sS\TM%HX\!Hh~}*z7Ƹte;[Y>ǰlVh 3g԰w7ߺW7^2H' ͩ h |6,&79>`(GO06&1p\ϋ0ʟ྽[( 5晕Ǣ(Yr+ NEEu}2Au ǡLHa3[:7B\㞠Ȓߧ 2s_%y2Ʀov!zzm<ĮAvw(2EQ?ϫ$pkԪ2 z9O8Tw !J"act.heNk#q㷏F>ymg?pi)W1O&*HmX4\@ʢ54yxC'>  UK|*σ ?NY,X uɱ2|IYJe&?Iq|{]!"٬I@U~L#,8֤])0)ME%3Ϸ0_03W^df(z|o]#XY H'9U&/f ͬνT5kP__7p7y]wΝ;NSX;䨳/خ$ʀKW8zF0H"1lYd\Sv P*DD8nXUEPϯPSwM*ru}#S Yek:aZz(D%btStl&WWqv_dz".I,F阖;S D+Q&}lt6mB<]̟@<{;oct"ʅu|bBJ#du 3(޹H8 !Tik) '%sAjӅ$F5\ޜ:着HbnfG{'شǸ /PO;!ӡR,l-~6щ'uWswYLD\R<~r"8)+ [XUOXôIv~j} 蒲,a?'RC0׿?U XE2S3sٸi7n#sm\wJ>svHqf֗|A FNplx*ILu5U:/tpŒȢ5 LPpa`?nGk(LQ(("6;||,wl9kwmxMEG(>؎s[shn"^Y i,ߟ|YdYR<$u5럫(y iZu1U&8, <8/~p1 cI MI$@ 5e'iL> 1C{0lдy>mw\. )S$j4"0n42KD\zhqyƂ'?Tf7v&:> #Yϩ"x8mGy壴5Wjq#c[y 7o6?Jc'R:lם1UO_ێMaap)_Cmck~rJSec|c;.0L"kzv.L/qkݰ<άY4S6*[s3>l2qA%GԔGyWNSHi-LVMC01\ԎA"cP8#"~Q[8;F]e( DxK9oN>e xtg\m]}#>ADZ,YM5ĢFMDU^}|_s($(/PJ#C_喢eH:?׾/܍i;*㰤 ߇Z\ AQϲ]4XHCD, s-ai[ O= s8L?\D  #z KN,/  \8:žÃ]QKoz'g7%:&?K6cK[@@\fodr0]/5f] x*!Q$ɛMs* BE{d;ɔkJċ's̙Q²6Ͷ=$k7'֩.F:m6Fz614"V৹C;a?MT+G%X6XQEOmN^TG2 8xy;?=W#'8^~"f5zޥSF''gbMzF| "sYr.?4RU!c3Q^RZ}y97qBiqˡ=QJXvt'Q)S|oz֗7LLEe>:;(/ sެJrE^qq,hV%m7$]h) O$̟ Dƺ kBQD29轶:zd cTZΝ˻;<|,3K(S4Pt37[M5hqbY"8'LLE_L83[;<&Ki,A3k=ʮ)Ӧ-1˯saoe! >k7SiBJa,qX0gHlQI0tb)LMbJ  :u,{OM;u{)+ "s:?Nճ, 5L,f՗p: ))pf⃋i-"lvO`ҥYx|#uSƍ9xxQwArUǿ̬jْ!2&fBx`6b1 11cf11c_2 Y:[R:*՗>Ԓ>**;~| S?e`j@3 5p+a_(1kN--ȨN`,F;-}r:,]o[^?¦p=W7s;C8dw`S!V.ntʀ z a^94&x@,̵0rE(o5+h/(Egt%VUGXZxN^4eQZ*UjGD_6ji3z=R#3W(YtDwf8% vۜ$-rtzv5(7]=[KX`:A\CDcayuYj|PD"ʫ;;VZ47&g^g_|#81Ţ!Z̷a^J+lڐS,EH)Nv~7 55Hţ%n8\ćr%jbmNq]=C##s!$"B9)IKآsֿ\f\󄔢&N4♗:yzs;ڇUKg j*a٘bs `ITlJ%D4MkVP$Y3P8pyqp82DWGǑn4U5|mR߉B̖~ק9d|)I[,A1W7ؠX 2S(1Xt9yf$ Zj\ZbN [v/}>R l(LZr7-$ 8o`}y\kwt'q]\D2u.,7X$DKSb͊,mk$ 1 Zv;)jd xQTu_1àYEհ{>)DbqbIy9ë"S>6mHhk"G]0c}d %]Bzr$N~kdq*#+jcTU9pbxZӤ-K"Nj=cF5BJlYDPr=ꚪY4L4 RU1n\5+[5 x(>Y99i֬[y+R S)< ɺ-,>b;n^LKپteLz=vK5(f3/ͩ*hIqH? RSv֤ .]87mc?УϲNyͼg>JS|ȱ qϝWoUKf)Lo?ζ=Ld&̩QXh8 czmqiMQS}& _i2:F$7&ak}T"J4qV8e^'MSMiLD牁I eX(J)|W3TYJ摟W`G[0 ܸG ϰiUn; /.2y>%}%A>|4sN ˍ{9ٗ:7msY|7OFULX"EM|K]Mh_9!p 77p3翇~[|hY 4440qZ&/џL~u| ^s> &HZZǬ$%w"Xz>M4YfApأ}h+Jq{MaH/ [&r׃szB9W#,E0T,-_doaV ִO|Aܚ Y̩OR(>0Ksk'GFҔaПɖKnQDB&%L: ,XJT[Q' G9l`>힦eVE_:m2SY6+lLEuVP%a+w*l*9lq7fns%mDi z26=A$j1pٙtPC),A~ca>v6nήD#ĢR0}+)]zC<+p$[$~oXos[q:fV ~z5iR*9A:.R ,Em,h_ɹ ۜ6yv)aE= "LezTϰ/ǯ7s ͵ I¬Y¢:}i~4&Iߋ6jd~Ęf~l^D.MH&}4szl ,Z|᳷|q{ls.*@U"BВLAa0> +HCt Pfn kȇ-~|jUj| [4WV>έݳ܋ [&Xw]Os}'h`߼yY +i>i}Me(:qmӗ8P|K*=(%h=uZ\+3ZqnBJT%b!meȬi?e@vtާA*}eKl "?k67P2ZH_GA^dyC5/}pg}9 ?M_3[: S*9w㧦8OҶLO6 P7^PUIOIY3C?Ll{ 8^s܆hN qgTso4UqOFDC(lPXt>ݟ2gV-] fp /T ,2Y^ze7cW̛Ç_NwvƎv싲)u+=Ƿt9w//py4hWx4L:{q~Q(9 RT'w=_>}yLWO]TN8$& rOmGj3EBV0TTq0[ (Ø{o*Nȉ'~f>GC}5g}}U1K2oN#{;/Ͷݝxݕ<_;nǶΓ,ZPNw`JIiVD$Bs/ǬP8ڣiLbs{FZAOB{tƺ*zji|K$R_.;&TÄ-`vfܸhٻ1?OyI54L`K_0d9x ]S}iSKc]t>#'Gn* +x_(oSN4T@O^;^?|gNcOa8Rޤh`<)\yd=QRg/<.iP 5ISQct 'qk~oOP>qR 6Lm:J4;æ-cj-heقZ^u_9̚+[Y@a-->}M}Ɔ*J<ԛ&iXЭ\?ǞԷ B|]H̰HoZ a'Bxl#msΛ ,-'13XPPf5ֱ~jCCR|L a>^%ghn65w]獝u [K~jfv8ʑA̫?'h(OQZp?Orq}>򼘞l5xA%1 :ƃ8!$1D{89q|?8ϞEwcQ֯ o~֐IU%h0}M@g"!<p /r|B!޻ j`u@~O=]hg,xVf&}dejTyAzٱR61taEc~pP`L6z! *ˆa`(. 6ӡ(*xw3UQ !B1}UJ!B;H*B!*B!H*B!*B!H*B!*B!L% OvlB!x_ǙAa(\{%(!BfS~!BQq$HB!GT!BQq$HB!GT!BQq$HB!GT!BQq$HB!GT!BQq$HB! iIDATGT!BQq$HB!GT!BQq$HB!GT!BQq$HB!GT!BQq$HB!GT!BQq$HB!GT!BQq$HB!GT!BQq$HB!GT!BQq$HB!GT!BQq$HB!GT!BQq$HB!GT!BQq$HB!Gz_Doæ!Bb4L+HB!$B!H*B!*B!H*B!*B!H*B!*xF!B1gR+U!BT 8 FT%XB!M(tfIENDB`nn^ DwifPNG  IHDR;0JsRGB pHYs  TI RSIDATx^\0fy򮣤1((VQRtG H/*SщCjQ=|N?\(V[˞&eX&&%ȷR}P1Xbm~ɫBXGL"w|$qKjM$L&i6.We^{{!v 0Ǫq&k=i@زFNnqۼpRnoo<0vrƼy*ly0OcІ>i( ]^9|x]GvĀ@ ^Wo+l0vm#P{8 5'jxjjV kKS;;LSc=VF:~ApVJܚ0!P`ʝs.1tp;$ l@j^]J% /(˔6EdaU&- ,*Z?Er'D6A)peEm$hDkޙ{Ot`眙393Μ{ t >(]ck t%`R`/yC** ocyͤQ[KWq?HJ"EO׹:S |.Wf~2ɮnipeHs魂GLR~!*/ռƎ\ T8~^)y8|hc N,Z؂Tԍt ϶n8erFFFFGY!9)jO^FDX'Y* <ɐUSJc'lggn C9f^'Փlw"Zo?jjߙSF?8pMr_Cvel=c ٳ|u7;H7ls&y~ 7Y ny: |EB֓[.BYI~o@>5ٵmBZmkw(y7{}#dvNeGߛwG؃a0Ԙj[wWigQz RtXũT5Z< xmf9w)Kb6!/qbぁD V\Y1C SB,椝d\'~@Q؝FQ|оD#<8?"4vX扤͞o# ;گ~m2HK7XZFuGVWx,N1q*>_SvZt槕gǸd=t%5n^0G݁ZQo@x1Y+ouצ8L0!;brk!\2ﻤ0wI:&0{O>윥dߒ_mm Xzf˿n &r\JVajˉЎ]mqPNG  IHDR0S=sRGB pHYs  d_ KIDATx^\7$*D&RsH4SG ) @E(!( `r|ػ|>3sxwϟ?X%ׯ_a67;` [uj; [uj;w$aA߯e>~O>]nwdÇ߿;yݥKbWVKOXn/ -yf׿gaT3pG1PU ZիW(%Lƴ; :/t}޽6BOg^xqԩ^~|Ë/޹s' rܹgϞ9͎?~x7F"JXZ[FKEիϟ߾}1<Μ9ڷo߉'(Piϱ_tǮ:vcMZX FlfnܸX:tȑ#69'OT%]Ȟќ-X.C(tv颔ٳgM/5};v)~Z>hf.(k>j9D wknRKR8`&ӻ*آflGUg'GUSÇ,5mŧ L'eʣ6Riݻx .0L(4+*{J^| W(]Pصڨb<[=ܨs$SXpO5K5޳gϓ'O[O>wǏBχZr7|+W\|˗Hbk-!G!m00 G*p5wEķͼw5Eķͼw5Eķͼw5E6@M0ć<]MhԂ$1hB @|-X&/J/׍0%*>jKm|8Ngd2Q8 ) s1c cV Wמy$1n dg㗽ٟ.u x%1+DLrzeVtfPɑXvqMx]Dtk"E.mPYWo _N4 ʗX4.C%;xP /`rR,h$`sJ kcV4&lpkO='^g]EdPb e/TɋZIFYL_u zD#Mw&})#K Ў( >Қ/, @|dr8 6,0o27K&0i ͒e0MY~RgIe@||9fH$hϑ2CrZnjiT  ZTyׅl's]Z+O)* mׂ Þ|L-M׹Dfi(i""(Di{o~E|ŹD05F=FX󍑧)LAA|ciJ/!):FPyKoʴ7F2c񍑧)L8ĴI ObMej >4"{(%>nk ވtf{@l bvӺA;&}Mbk4.pyf8OXڕ=.O`Fuyؼ^_|W1@ʽ]>]h  ϗu k-m!98dߐiio<7dp#CF 9Q@|CmWF*)'Y~;|~ROVv[_vu *$ӀW$LHd-nSD v< aӓž]ݱ5_SځWQe Nvr[.eemt&Z*8X {2iTYDk:sTʼn%{ʗ/Z{u',rW}~ߠ#)Fe:]pׅF)NKEk5߷؞Y̵*Qtzt.Q,[}d()r!5_K<C|rH R6<.o07O..e8 ͓"Y 8t٠gE#Udwvm_P:&.eGvo,,`yωPBIȿJlo۵,R(+_gH`m~&$ߜe?d$-K4Q )!a)XX|Z+at4j0 ķ0 A1F= C|j @|Qg}G9svc瘺?@tȄ6 `bコ]D[0v0Eti*RU:"6s[$gh֔|MpkBsYpeʉ~$n8"?S1Ng:2ftlP<7g6yظooBdMTyE!{Iux#Xmqɹzf1 6H -|aTVA48V^>:vk\jtpbwO\&ڔ'|rc@6u)@nXo5aVc[-y[b`wwWʷw+YBοE1Q2 ķw/Q2?YJ3IENDB`n?:52wPNG  IHDR?@\sRGB pHYs  d_GIDATx^]n-E N( H Q@tQ@AItЅ:H< __ϟ3s|t%ϟ{\?>>^pd1;dgWg`U\Fq;׾A dϽӆƁd^777N!Bp3pww': };w?߫^h휁/n}xxX9(B0%>b9BG TZtEB\+F1 \|̵h;GͤtpV&oz~T+;p~r.뗄 Q/j7WBpN< h]hq_~ /7%u\Y`.]s8$ ˵q7 Jd3u\٩Y]9卧JMjAlqSa Ցu˺NP%@^zKR Q6`57m>Y/063YẗTqJKd*`}:)35wT 14n1\T_U tgSJ3-=5䁊s~U긠.,C/8 MhLKI7*ң<#0STww~d[96ñN/ZB#;|t:59Ql>>0Qu>7۫\;gdzlrP9 nRVcU|vÀtP.4]3/SPoRā>OW ok4\E2EvZp;]zI3iTĿEP CZzQ3QZsF/n,7ؕzC<H-Qx S8DJ5*Wd-&J\H[x39 EoފJA.<ptA8 MZW]w*@RV4;dƉO(b^fo'/MsZ[vO;rapKe8YX]2_t;'<ދ3apFW!cE^UVH>PsBe<Nf>R(z[(,-3`}8n}O>r ]HsI\9?)H,=8ѫ.τ{.- hӛ;S0޹  LjkE;0~]kjFe!zS+ڛ#Yަ> ֣:fA[ Dё <^Q:!zVķ;rٲs3D ?_?·h_H $ebp$ !9!]Q JffnǴe|~<.+gX(L1&Nџ8I^g3]LAʇ܋aw)>DYY38nZ{Ά܋T*㝊1Ѷs`ִ'od[V/saFO(bA": 70ʹ}{5W5"JԩֽQ0tP,#Lh<= Li iPP݄PNG  IHDRn*ijsRGB pHYs  d_KIDATx^kr%)Ff /k 59CBS@8QaK֯?/@pFC_+7< T{*tCqH +@)R:@J:@ P!%4d׈,F>n!18%:C4u:ы/gᑗB}>IѰ'cݗq O6f|ʉ4zڸ#ykQ~mCt`txYJRx ⤖Nްux aIdxkCW k>R⶜µ%NG׫g?f4wLhBjEm_^ҫDdt^LD[-%mJƒRF/4"іDT79y۸MGQ}͞݌>jނI7vy*QcP-%6((…&3{p.#K$}Xf,HK%B#J G]?tK=uHi/r|̅q*YPG\ s1\!3KjZ?\ N_Jj;!LtΩAL4gv}J(]g!JFHN3ԒCGH2ݙz]zR NCW<'~奔hHJJu Ɠh^QQ 5b gOѽjk 6 9ËF%G6=QO9Lya{6᪛ 7fu%|^IQKR?2qBѽt9Ϛ!p8Ut 8ە!"dŪ#?+ч!`@`nxV26S@.p7B`dXB.H]&[ " [E)Wqz`Z>`ZLZ9)yvr/aߖ3om͡2IvOkwݫZ_E"uDqԿNPZJz*.ɿo7Ok7!?T=ݎ9KY"} ܼ0uRb?Hc$yKL[uR-\g%K$X@)qɠ穩"<L`Tzayb xfz(=jm,ߒ}iu Cox&;l&@\B Oj@2Ez V!(5<CXCy %[! dJ&l]>*U*AؚRu@JVq@`kH#xB)Y %[! dJ&l]>*7o^%uIB~]J FJ8H@J@HE$|O)D % = <W~,B R@ [` |dg GE!Ӭ1zJ}iW/DѬa8{F4LR"ފq.U ϛC%.;, Wc%YJRy6Emjdd+; mQ}fW.xF5ܲ+#_J~l{ -19h̨P.pd@RR58ժOܐ طzۨ" 0)ޒ7v@Ǯc0'kC\BkozT] ɜ)]g Uożݲ D}eq "YJ,IZz62\wQ&JKR9꣩-hx^5c ט>,Hݺx' [-V.Œsav9R4zC>48>DQ|}*$=)Ed>sfJJO)Ϝ!p ? p77 n=& Cԯs y""\M)$^^$ %W!ЋRҋ$~ p5<z@Jz&\]~@/HI/OE)E?RruI %HW@J.?CI@jKɯ_./C`SCH %~>QE@N9)q:݊Ӛ4HX['.eYcN4LUb,~œ]@) @dE?(6;QoѷWCXBxYc恵b |/%nU<@@NJDPN [tS|=:09 BQD뵔~Ma ǩ{@@(p9B^p{[|܌- e)41n! %'U\ 3L  %'U\ 3L  %'U\ 3L  %'U\ 3L  %'U\ 3L  %'U\ ?.K,͟`q  r.%Ki#H .%\Zx҆@_HI_xK OK)oRriI} |&%[o-pfIx[eE+ŌA =Kf-zJ}O,ɗ ":~%qՈ"E~c$)?ËnK蝓qfo(ۖZG<'DvgXrYjB3dR"ܞ?83 8`,Fs܋EGa:KI`<#x7Ԯv'lSjX5x&y54.T87k t))<蹯w4T7$A`&IRY;8'&n{iR{`щ'U$0CJ܆w_E295Uh`wә&ho3jJja3 Ғ6"0〳B %ml);#b@B^NX|/>3B ~j\@`=FA9}'|jʲPtyو=Ap AzJޜF~uݦ6Mh/2p *G=/moɼOh 4#+/,!%,6t+FHaZoj0oKIiRLa~Ő0{KIUg%#[Ȅ}x+!0@~ް'ɸ{3C5&o7J B333=U9s0=8ݤJ@[x)%p.C`H%5#cL8 )y7c.A`5ĽpkN/'ʼL{00gtxtKIy/!|QŌ˛3j tKҽ6M=D:k] E z6NW|Kɿߍʴ Qn˖.>fNm}[?f"&II4ۗO:B o`JGa$cZEV1Gr]8m*NB8!@WrMI# OP$IENDB`n (SER(PNG  IHDRdmkY( u9 r TVBhttp://www.zope.org/Members/andym0$D Chart Excel.Chart.80*Microsoft Excel Chart0%E Image "Photoshop.Image.50*Adobe Photoshop Image01 E Image "Photoshop.Image.50*Adobe Photoshop Image02F Image "Photoshop.Image.50*Adobe Photoshop Image03H Image "Photoshop.Image.50*Adobe Photoshop ImagebQNwww.ActiveState.com/download/Zope-Perl/`SLwww.zope.org/Wikis/zope-perl/FrontPageF/ 0|DTimes New Roman3v 0( 0DTahomaew Roman3v 0( 0" DVerdanaw Roman3v 0( 0"0DArial Unicode MSv 0( 0@DHelveticaode MSv 0( 0 ` .  @n?" dd@  @@`` (*  H&" (!7*+"#$%&'     4b$S11Fo- b$r1E{}"'gUob$n^ Dwif;"$¤Wi!Pb$&r\JVajˉЎ]mq b$?:52wIb$-9>PP݄c $`33̙@lʚ;2Nʚ;g4FdFdv 0ppp@ <4!d!d` 0L4<4dddd` 0L4 <4BdBd 0L>6___PPT9{/20? %O =?m1FAUsing perl with Zope Andy McKay, ActiveState Python 9 Conference*B,>  WAgenda About using Perl with Zope Why Perl with Zope? Example of use Perl Restricted methods Perl Unrestricted methods Perl DBI Perl from Python Internals ^>;># GPerl with Zope$ Created by ActiveState for Digital Creations. Developed done by Gisle Aas. Goal: "To provide an alternative to Python for scripting Zope in the same process." Currently in beta?0a Gl0Perl with Zope does not&  Mean a rewriting of Zope Allow the creation of a Perl only product Zope speaks lots of different things (FTP, SOAP, WebDAV etc.) and now Perl$ m4Perl with Zope does allow&  Creation of Perl Scripts through the web Perl Script Similar to Python Script Creation of Perl External Methods Perl Script (Unrestricted) Similar to External Method Using Perl within Pythont)%"6)%"6 nWhy use perl with Zope?6FCode reuse Access to legacy CGI scripts and modules Most things have already been done in perl Perl Cookbook, Programming Perl etc& Large number of Perl developersF y y  Why use perl with Zope?6rCPAN CPAN: Comprehensive Perl Archive Network PPM: Perl Package Manager CPAN: 1,964 modules Zope.org: 296 products.nn sYTechnical OverviewPerl is embedded More efficient than running a system call Little overhead Two parts: Pyperl Python Perl integration, not Zope specific. Current version 1.0 Zoperl Depends on pyperl. Zope specific, platform independent code. Current version beta 0.5: @V: @  V JScript Perl, restricted$(Zope object: Script (Perl) Edited through the web Access to all of the Perl core Can t use modules Runs in strict Similar in idea to Script (Python)\W#6#@8 *Example, Object listing (DTML) Get a listing of Zope objects using objectIds() in a container In DTML& HG F Example, Object listing (Python) !In Script Python& context is bound by default in Python methods can use print / printed shortcut*OO`XExample, Object listing (Perl) ^In Script Perl& Self is declared as an argument.   0kGotchasCan t get an item (such as a folder) the same as python context.folder.objectIds() works. $self->folder->objectIds() doesn t. Zope Error Error Type: AttributeError Error Value: __call__ Note: some Perl errors are raised as Python errors& 8ZHZ Z2Z4Z8H           . Python::getitem 7Use Python::getitem(..) Arguments: object, subobject id.   8QThe good, the bad and the uglyGood Regex s, transliterations etc are available Bad Regex s, transliterations etc are available No loop limit No bindings and other Python Script features getitem Ugly  Guilty as charged. Perl is happily ugly, and happily derivative , Larry Wall,oN,oN  cpScript Perl, unrestricted$ Zope object: Script (Perl, unrestricted) Edited on file system Access to all of the Perl core Can use modules Can choose  strictness f)])5 @E  Example (Calendar) A web based calendar that uses some interesting CPAN modules& Elements: DTML Method to display calendar Scripts (Perl, unrestricted) to call from DTML Actual perl module for finding monthly and daily information CPAN Modules*HH  Calendar: Perl Setup mInstalling CPAN modules: Installed from CPAN or via PPM File location: /Extensions/ZopeExt/Calendar.pmb&% n Calendar: Perl Scripts   Calendar: Access Requires hack to AccessControl to allow hashes and arrays to be returned without security machinery complaining. from Chris McDonough,qq Calendar: Scripts Create objects to be called. Eg: Id: CalendarMonthPM Function name: Month Function arguments: month Perl module: ZopeExt::Calendar*!b!b Calendar: DTML [DTML to show calendar Returning a hash reference, uses mapping. For array use  \Calendar: End Result  xGotchas In Python External Methods you can modify globals such as REQUEST. Modifying REQUEST has no effect, REQUEST is passed by value. Request is available as ever by: my %request = %{$self->{'REQUEST'}}; Returning complex data structures can be tricky to DTML.lC^&9C^&8     eZDBI DA One other product, ZDBI_DA Perl DBI has access to most databases, can go where Python can t& A Python object that forwards requests to Perl DBI. Each thread maintains a database connection (hard to open / close on request). Roughly 30% performance hit over native drivers Using Perl in Python As of pyperl-1.0, released Thursday... Added in a wrapping around Perl objects so they can be called from Python. Currently works best on Perl objects Syntax: from perlmod import Perl think of it as a dot (.)instead of two colons in an object& Vr% Wr% W Using Perl in Python  Using Perl in a Zope Product FSCounter, simple Zope product to provide a hit counter. File system used to avoid Data.fs bloat Problem: No simple and easy cross platform locking mechanism in Python fcntl is Unix only Solution: File::Counter from CPAN9Z(Z ZQZ ZZ9 (  Q     Example: FSCounter  Internals  Full API not of interest here, whole talk all of its own. Discussed by Gisle Aas in the paper. Of interest: Exceptions Complex data types Threading<l(l '$  Exceptions  Can raise an error by: Python::raise($type, $value) The Python::Err::-functions also return the standard python exception type objects if called without arguments. Python::raise(Python::Err::IndexError, "out of range") vq8,E6 Complex data types PyPerl does conversion of simple data type (strings, int etc) Perl ref object is a reference to a python object that encapsulates a perl reference. <   Threading  Perl is multi-threaded when used with Python. A Perl interpreter is opened up for each thread. It is released when Zope releases its thread. Perl references cannot be passed between Perl threads. Don t try and pickle a Perl reference.8G gFuture PyPerl the python-perl part of Zope Perl as part of PPM, meaning very easy install. PyPerl finalised. ZoPerl the zope-perl part of Zope Perl as part of the Zope core? Currently in beta, be finished RSN. hMore information Project homepage: www.zope.org/Wikis/zope-perl/FrontPage Zope Perl available from: www.ActiveState.com/download/Zope-Perl/ Examples, plus this talk at: www.zope.org/Members/andym Mailing list: Zope-Perl@Zope.org()!((!~#' S!09Q!0U|!0~The end  We want to allow you to more rapidly develop web applications with Zope and more easily reuse your code. Zope Directions Roadmap  A perl script is  correct if it gets the job done before your bosses fire you. Programming Perl, Third EditionxkR kR  Python cookbook slide! /v ` ` ̙33` 333MMM` ff3333f` f` f` 3>?" dd@|?" dd@$   " @ ` n?" dd@   @@``PR    @ ` ` p> > @(  @ @ C bAJD:\activestate\presentation\page.png"``l @ 6u "P  T Click to edit Master title style! !$ @ 0Dx "0p  RClick to edit Master text styles Second level Third level Fourth level Fifth level!     S @ 0| "sj   QCopyright 2001, ActiveState  @ 0Ђ "`  Z*H @ 0޽h ? ̙3333  AS-pres-template0 zrPl (  l l 0P5 P    P*   l 09     R*  d l c $ ?   l 0\<  @  RClick to edit Master text styles Second level Third level Fourth level Fifth level!     S l 6@ `P   P*   l 6 F `   R*  H l 0޽h ? ̙33@ <(  < < 02 P    X*  < 0     Z*  < 6 `P   X*  < 6a `   Z* H < 0޽h ? ̙33x ( 0D(  Dr D S ܌@p  r D S ݌@ `     D C dALD:\activestate\presentation\cover.pngH D 0޽h ? ̙33j   (  r  S t~@    H  0޽h ? ̙33  00(  x  c $j@P   x  c $`j@0p  H  0޽h ? ̙33  @l0(  lx l c $@P   x l c $|@0p  H l 0޽h ? ̙33  P0(  x  c $Ć@P   x  c $@0p  H  0޽h ? ̙33  `0(  x  c $@P   x  c $@0p  H  0޽h ? ̙33  p0(  x  c $@P   x  c $@0p  H  0޽h ? ̙33|  ,$d(  d~ d s *@P   ~ d s *|@0p  x d <A $?? 0t $H d 0޽h ? ̙33  <(  ~  s *@P   ~  s *@0p  H  0޽h ? ̙33p   (  x  c $@P   x  c $@0p  x  <A %??  y %H  0޽h ? ̙33Z   l(  lr l S d@P   r l S  @0  n l 6=g <  @ @0 Z@H l 0޽h ? ̙33b   x(  xx x c $@P   x x c $D@0  j x 6|g N  @ for item in context.objectIds(): print item return printed A0 Z @H x 0޽h ? ̙33   J(  r  S t@0p  x  c $@P     6g 5 T my @res; for ($self->objectIds()) { push(@res, $_); } return join("\n", @res); (0 ZS  0 Z333  3TH  0޽h ? ̙33  <(  ~  s *@P   ~  s *\@0p  H  0޽h ? ̙33  0((  r  S @P   r  S @0p    6\g ` . my @res; my $folder = Python::getitem($self,  Control_Panel'); for ( (Python::getitem($folder, 'Products'))->objectIds() ) { if ($_ =~ m/perl/i) { push(@res, $_); } } return join("\n", @res); D0 ZC      0 Z3333$3 33  3H  0޽h ? ̙33  0(  x  c $!@P   x  c $L"@0p  H  0޽h ? ̙33  <(  ~  s *(@P   ~  s *\)@0p  H  0޽h ? ̙33   $(  r  S p3@P   r  S ,4@0p  H  0޽h ? ̙332  0r(  r  S :@P   r  S d;@0p  F  6Cg   #! /usr/bin/perl -w package ZopeExt::Calendar; use strict; # import modules use Date::Calc; use Date::Manip; & 00 ZB    qH  0޽h ? ̙33  xp@(  r  S P@P   V  6@Rg ``  R sub Month { my ($year, $month, $day); if (scalar(@_) != 1) { ($year, $month, $day) = Date::Calc::Today(); } else { ($year, $month, $day) = split('/', $_[0]); if (!Date::Calc::check_date ($year, $month, $day)) { Python::raise('DateError',  Date not valid"); } } my %hash; $hash{'month_name'} = Date::Calc::Month_to_Text($month); & return \%hash; }h0 Z 333#33323333(333X33+33H  0޽h ? ̙33v  &P(  r  S {@P   r  S |@0p    B ~F:  `Calendar: Perl Scripts   6g  Jimport Record try: import perl perlhash = perl.get_ref("%") except: perlhash = [] ContainerAssertions ={ & type(perlhash): 1, & } 0 Z0Z0 Z0Z0 Z0Z       H  0޽h ? ̙33d   `(  r  S @@P   r  S @0p  x  <A 1??  1H  0޽h ? ̙33  ^V`(  r  S j@P   r  S \k@0p    6mg    \ <dtml-with  CalendarMonthPM(month) mapping> <dtml-var month_name> <dtml-var year> pX0 Z 'UH  0޽h ? ̙33j  p(  r  S @P   x  <A 2?? q )  2x  <A 3??   3H  0޽h ? ̙33  p4<(  4~ 4 s *@P   ~ 4 s *@0p  H 4 0޽h ? ̙33  0(  x  c $e@P   x  c $@v@0p  H  0޽h ? ̙33  $(  r  S @P   r  S ؋@0p  H  0޽h ? ̙33  wo(  r  S ]@P   U  6vg P   Python 1.5.2 (#0, Jul 30 1999, 09:52:18) [MSC 32 bit (Intel)] on win32 Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam >>> from perlmod import Perl >>> import time >>> s = Perl.Date.Tolkien.Shire(time.time()) >>> print s.on_date() Highday Rethe 11 7465 Gollum visits Shelob, 1419. Denethor sends Faramir to Osgiliath, 1419. Eastern Rohan is invaded and Lorien assaulted, 1419. (0 ZH  0޽h ? ̙33  $(  r  S |@P   r  S H@0p  H  0޽h ? ̙33  \(  r  S P@P     6g P  j from perlmod import Perl # perl & def write(self): ''' increment file, perl ''' p = Perl.File.CounterFile(self._filename()) return p.inc() def read(self): ''' read file, perl ''' p = Perl.File.CounterFile(self._filename()) return p.value()  0 Z 4  4    <Xxj fExample: counter, footer H  0޽h ? ̙33   <(  ~  s *p@P   ~  s *@0p  H  0޽h ? ̙33  <(  ~  s *@P   ~  s *r@0p  H  0޽h ? ̙33  G?(  r  S @P   r  S @0     6g  u EPython 1.5.2 (#0, Jul 30 1999, 09:52:18) [MSC 32 bit (Intel)] on win32 Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam >>> import perl >>> inc = perl.get_ref("@INC") >>> inc >>> len(inc) 3 >>>0 ZH  0޽h ? ̙33  <(  ~  s *@@P   ~  s *l@0p  H  0޽h ? ̙33  0(  x  c $@P   x  c $@0p  H  0޽h ? ̙33  0(  x  c $@P   x  c $@0p  H  0޽h ? ̙33  X0(  Xx X c $@P   x X c $H@0p  H X 0޽h ? ̙33j  `(  `r ` S @0    H ` 0޽h ? ̙3310 @p(  pX p C l    p S Ol @    H p 0޽h ? ̙33R .xml$ηJ!>BNܤ( ?b;JS/ FM AEi@[-/? EJ*T"K\{3wvmCQμy_ٛ}dG:p9 'p վd4:s|# =0A"A(@(D(R J^PPPOFC:Xx;`RiQ< Ƨd-c)H?6^ḦDn};4 ;[3_) ct~+r=ئgVg?V!s;᧻)fPȷ+"CPa!BB=B"K",CXQ׌-*VƝ!Ӹ$ߩ'!NvwZ+P[QO~ٿsdhthXݺ;{ԿkuK=-/(55ZNsVmchX8S pˏEsloϒ(39Lɾgվd"S]#3g/x |v<~I͓'GrG d CdIe0! |/O3È+JF8{"its_"!1e.L+a.Lw8 xZT3”N`=~oV7ԡ4ﰛ=J T i_8,K`R"8^#f% wF_ISBmvul@[-C#3-x0$w#Γr/_FαiށRf鶣k[fax_ۇNCm أ6Y+jV&N"jtyq]ja OT mR[a_Zeb7Qѣz@E^lgHuNm3ZT'Rdf#=ň1`]!D>XE+&$6E-.,E*aAE6|lb U>!vgk7PƨF[SiKɀLL/gڑt6gQGa@z5X)tv܀ #׬qaIq=# >h:@W·3LF܏4o,Z*HOif3K]1̠'g&͙眜I\̏3gAzy-89[ڡ)sfPqȗ3}Ws&x˙j|;i~#(J1Jy]sk(] 6WWb7fUBe+ZeUTCuaL(72rϓLƟzc~_=A)0cЏ)h-W_oBx4N!'3:ڍt!7vή̔?c01}Ƀ>;ȳaSZJq8}pC0, %LŁA:ёR[QcQ[rb:LvV=[ҴkmlN߳iߠ}J[+K}doA2ӽ o: -S~Ds{{rFEa9tO y!-܇(So~#- #=S@~;aAw7]+{VygkGzF(͕'jkUy jNsȞQ5N8x\@w aoDE( Ap^u!D@Y2UEkQju:kXFGX@TBeqai~{y7~}AeMߺE:xHN#F$;pg9AlQ袜C&&h4Z-V@k V=t:jv1 Pl ltz=^@ol lA``G`3 Á݁H``0   |88 888 E`"0 88 LӀI `&0K9ֆ`XJ;Tf8#;mO_ߵقլ{|+m=ȴ2Lz]1X CS`,c`&ܾOdضO֏Wáݾr"jlo@d"oEZ7C LqW#ρq"aĴĴtatJlċ}*㓱#Nw ٰGB5UiT4ֱN4_ L8+1pd^G#KCA Tu&*G?Oe5[t޿;Hॼe|kTPuSTXPILˎdn+QP ]Mk֪sR }Ks(t,2f1*,#'dEwRjRR2&6| !L30 .PtD0*i#oT?qi}\z̴eB ͅtrNV:_iq4NαS8i2sJP[QuiN)p)d4?-4 MN@Z itrJB0'M,QA|2г44>qfV q,2BiS3-Z QdQVoظTv}@9?80з@19)狥yt6Êe[!4 a\3^;n$#Tr+F{~9f'g qKKNfƉ7jh(C w Uӝ*LJ7Mu p*GNce'";Z" P筷1bh|ź/!2 egLV0ʜ1-`'l A!01\88R A3l4-BKJ8j6h'ڃ(:΢ H[(GPz1 3Ŭ1G!k`m `ñXec3Erl- ۉ}N`+o]! {p+ w=x|> 7_? ygs5xx^o&o!oo3oW^15_w ~0???+./76q51hm2$$d*m&MΘ\3oR 8 Q ł{W M}L;Ƙƚf3]cOWM24kb,lYUf̎]57+63on<<|G/7/l1bl{,Xܶxnii2زeejo,Ŗw-_[9Xy[[ʶjq߬[[[{ZZβz)?_8D̲Ygs[samٮc;s;OpXvݰ+wO_lSOx[N9s9;;9~}'SEN_;]r*P}![Wzya&]$5Y& ĂMf7Rf^7lo;AWt/hcnߛ7jyzyyWhi^nnѵŤ[H[ Zo;;{e''s+LZJm _+0ɾ}9wIk#Z/k}M@6[w?mڮk+mg.ݬv=m^~C} ( 'ac;p#)_ qIpYG_w q_B|C& yɫN:7yS..c|%kӮ]7w+=4>t[h~X˰ a_=֦[F݊;~;{ _p6f # zxITeQ7ݢwF{Ykmz{}ާgOۼoj߃1(&:Ә;MCA~{ t8f஁/udЭ-g>9v!; >tмa?pI01dĶE#Fy}ר)Ώv<1cb|7dбbcb7~\A\xgqCW?u-<~ >Mx5qUIO'DM8hb{SRƦNuHz:qڔ+>&urRAFmXCYNL]na]&*gHwS짤N8{ꂩ"}9?=nMg̞q7fyr1bٿi3g \s}le̻1?dƏ%}tiAk/yQE-cWL|2KKlX*Xv,_>mO|z`p/VYy~UU?,սWZfĵu[w> {6m\I_cӁ͞WmlC2˝\-V=u{ގ;Ns.]Kv㻳w?jW}hM{.}?ߎ^N~ݞ~SLy$~~u?q1cs?Mx'N;9SNIO?}L3ⳑgO ; \ __ trˇ$#W:]9vv4ZzZkW~y7o>-OVm Yl޼v{ݺw2'?oW7탣#Jy?럴x],VpiS o~LyY\UW;^>fluI˒#^D xvAny@xhɟ 5@PS!zpGP{H5DB;B5?1̢{|G1#h#z/ʹNSW6 )7ܣ$U$vRr-tڨTWU[ 보̾0"tA'=եWJG6W֫ʒzs77:Nz̺Q)U(&L yc(WyNH~%[IWiRF,|`%$ڹJҗ XbP.͗< k=E45V*7Ҳ\# I`5 hl?%(&  hЎ\I/QVD32&G>2hԃB(S.@_!tJkm*< C]5XivUR޶BJ $d`E?>Ud]`% $e+r+*N]V=TJJETY`+X6VsWfX(XєkV+IV`SX5X;k+1J_T`E_B4_ ,d j,XJs1H&eԴ*UyHHꚬJLŠ҆_@;r%JLWbGX1욚ȘJLȠR LѺ\ }F+lbRvP`UqVz *YK+TjVbvX' H t0V:uYV4T8R)+Qej|`+X]%+ucp`cL`ESX `$^ZN!Yp_CP/hP 64NW1`hU cneBLY>m ,3GJ9©wfȿn!SVx5m""<}FՕ.2Նj{Kz[s`$KߍnsP`` #\5ʛrnjn8A0e`,}7N\4kPC5s5Ρ桎{e5Qt&{ʵQ5PʠMi[a!C>8P5P SM-%p0.pWv5/-4[ٲKP5 6kLXsV`kf Z 27gtƁeccZA_Ҫ3uE[l&G6{сy`fd 4gtSƁwP:5sJ>`4[ߺ)}Ͽj8r`\4ˁqAY64ˁû6'h:" &t ߠ~Vg5Bil`8T/ U>)2͖텾Lbc;@i@Al?r}4ˁ4 /htzP!_]05Ug6 Q_Ӛ9,u2|@pmUľBُltDr_ v5՗_a28ꃾ_ 髠oR UfsjX̟j'5Y8}+YZmȠ.sjVխٲ"eίr[C  jes֬ArBլzVf)i5[}lVuee>O jb l @lV%-7Ni>iop#me Z`4~{#.3l3GuG宫,j5^TqNm|oMz% ?8V8ѬQ6j5k(W.8Vފf*;ᭀ,ƅ ,:Z Ң"& B-,uF8rPn,af9p06piY f9p0.fyz7 P.+lFx\ `#mrGB*}Bi Ѓ"JEA<' O JTUr r^IdwIo9=piu.#Ȉ+M_K1,ۈfC%<>x* 5!Zڀ:zP@#@c@ЌŇk [Z::::==Ozc>@_@?@$?`` ``0 4``(``8``$``4` `,``<``"``2Sр@, 000 H$ɀ\@*` XXx`1EK% {2A_ iX;cs#ާuG&gQJGMi֮ (xkl)?m9!|2:-ǚ#0r1.OU8Q>]iɟ m% &%6tjG*x) 2fŽ36#^*a^2r ֣hډvh?:F'E\t ]E<SIQATm!ՔjEu©j(5DMfRIT:zZE6S۩]W1;uIݧdr,XV_LN.+"+{V6S6WHLll1O_ddtr$TK  E"TFS1X1NxIجXq@qB"OaT))[){(3 ˕*T~EyU##̣`I /xdy9+:OOڞ<{yL\#=zxx55kWR ^:uݫ߻wޱ{}UbU*LK5VTmTU}CǧOwQ>>>}>\) m;7uߏ|ϯ_d4v˯ZPբV[RmKW[ݻz}?W}Q տ~mof/o. (CĀ? l8 06pYɃE3軠aQ ? >W#Fk,75.CD Y?אkWsEͽ5̯UVDZ+kKڡԞ]kYGQeQuywun ۳nLݕu׽XOVe^~StT?n ABu mpaP kx}Cn =ר^motQq/mMTM›hIv9-2<+\]ٽ_%ݿ^أk{g{y㩰ԕ^{ERzRF}߈&F\ۢoBO׾_j/G|1hyAW?3 p5 e V2GD{/>}b1C6ЖCS&1GQ#ȰsG{Ǩ6ţO 3u1fle>~]'v¥&8Iu&O:4sN=3\e)>gxssfjS6ai;uӣov?bo[w}Fkgܘk[3o3kì% Nؖ?{f9KJUR` &Ki<sK|yˇ_+^ٳ^ſvfEVWƮqUUVb~\aYuͻoxƯoykְ ]rSmoNơmRozc~Ϳlez[Wl'Fw[mom?َ {?k; %}tm׮v#ۓ'S>~C{ݾ/dߪg|?/鿶~ԁuҡI}Wه{m׍Mo|vٷȢ#)GoyJuwC|?'<?|cӁS]N}y/t=slݵ=u}D_:.Lpn>{_,C?Wv]z/^_]vچ 7zR)Nw"w*ob{|lH_,]qaxɢ E׋= - CDӛ7 ̟CA& {0 C4 }>@ao-`*;H .;FQh< @PCT_:*Zv-j Q=^~&٘F'BZLE|*#3CQ)2HȊȌ0Dd*#b5^u9*3 ۫^*o,a-փU#a{ѩs Gr>GCЊ`};$c4Qh"3*JFEG'*,L2hCɤ20@0,@1!6Ӈ@h?’A LX:3)¨~&tMl7wI'aȓA\YmqZh 6@GY g\r%U)e1}d +%z  9 O'H2m]$@bjsC̷ْ'HXc ]yidҟN=cknNb';=@%؈U=z [fcl zh3; ̌П'1wLjN&c4ܳɪaYrt%Թ ʴzd! =XP&*FL,`%c%|l$+ WxU/r8'\F̿l&1rv-`93C'l== sk RG2}#+NMxfWeG֓W9?w:48)F)1}2?ÐAI}"L$/t2 `˟Bժ,$+ġZ᷽B*wiPU|0=ڶyt*xU 8׃5@>`};O/RP  7Va@Ue\kUNTXTd00 &cƀTvP`gd&6uRVߒ(4W-JZZVdb%a8ԫ>7\PoKZ#ѶEp ȣSmXʅs 0pΓKTB.p6W.d5*JFEG'*,L2hI1c@*M\e;Vaw32MRtX:3jHLȔr7bUdm̒LeZM,d{D(Cg ^6ŠatCMShE,ig&)bosdXcUHbSY}E9q"b.b V2u5- fDoR0fآj3fĔA!]zB8W}Zx 3ӜsQ}FpJGB31SKMpޕpz BXZyꌍVg7kl~,"xJ+"|IFL#sٌ;ΩuKZ/!N cnjRR `R_e\Aę+h*B) PMdTKZqՈ_)Z|٧;)8.>U+.XD"Æϕŗ[R4wكuKZ |}@NQʰ$J_q]ɶ1$baéo(<:E0*P㫚}:g g:o[l-vKZE?'eR\\g嚇R6fZ[ʩ)%rE4Byxv[l.!QVʐR]F+]厗ӿ.骘 Koe/`]|J)QR.:JvkOfGeŹWIP+brY(`H"oEWޗ%yWK%fp'rNQ٧sq櫣E"Pk7?doyCcYJUsk_K f%/Jĸ[V\T5hUߪ2"įF՘3ⷔRC\(-?,l)EJ"IňRJRYrK+$GNy$TMq*(D'AD'GD'\fH+$bUmDI\)~%}E_I$q_WIW ~<^cN$x] xE[ QKr#r_(m)P!* "*(*"TQPT@~T@~/TԟC,WҔ^fv6$dl ooɤOdͳ[߯wqmq1L/jT\;Xow؁H"F9(`40 Հ9 05$`m`2&``]`=F`c``S`3`s` `K`+`k``[-vQ;uW`7`w``O`/`o>X 8888888 8x;0 88xpp4p p,pp|a3 ~T6Q5s7G6U *1z֑?(G+=9ozVY-5o~pݴY>RJzY ف(+.*Fz =ιCVp0|F/jG"Q6Ie)[+j0c̅HRM;;zwvwM>mMOm&1VH8";grrr2)}rJ h Ki 7-.,L}X3 Q3c~.,Th1"Up>wI|tIs5\p4;Q2u9S#g2Q8|,8נYH.BV.k,fh,/+AZЋ?iZXEOe-E ffϜ*uJ={ Z27+/isf ?-;\1jئ@u٭[; 3Q"PrgcpW7o(F晊{_b}{^59ޓ$#˛߫C%Kh  =2 OʠKAq˘7wޢܔedsqel֌ܬ(1T3;'3;/{^NJvN 8];{35N&1qFh)*g?FLlTCiU-̞ ;>%cQb. KX‡$>L3| rQLB%a`Y<ülb0ۙ.f9fdec~b0gUȔ1VJJP%ڪ:znS VPUfrTTQUWmRmUPXuXW9euEQǫ -=i3 ԫO7QUVI}V}U]a4qdMcM;M@(d MfffffY5YMԦhi{kifhhknҾݫ=A{Nk:""G1opar~ g7| /7Jlt[F7ѕ)SlL9bl\Ƌom|I&w6Ydw?6tFijl֨f41{4ǚhbbZkqe[.kZmնV?lݣ/M6lnsmm_n{ꖈ[zޒs˶[No׿v;۝k~D7tharg;ص܎;TVv:z63:ocjBԇRui%+]~udǺjֽ[n].wo}j{$_9C=4+מ^ޗnmyk֭oЧIi}9{[mSo{}w[FNÀr|4|`<4H3h5N 59ɐCv1:E K c?xѴqiΏh3"wāꑷ|nw4#}QG=7-G/1cF<ﱝ>0ظq{{\׍?sg;ydB S&P>qN0IߦKN?9joL.k]/uqJ)|w˻={'VwڽL:qSmFM6tӍ3^̸/Y}g3cK3|nY}gmu-{`fo]>gԜ7s'ݭM}S+gNy -wj~]k io,T-{$XL_jѣ-mŦ%|Ҝks,gx܃ܺ\|#5}hC[+bWYߕW_YGjUV>XǶ<}<O>5kYq통'3NOm|}z'u[3<}}k}_xns{Oy~%/lb싋^a{zo}fΛgwxvw.y)|wjkkc[ޕ=G>QGk޷׸o־}ϛIO}Oϖ}Vzhkgp#g>G=E_}9Ϗ?W}:u?7]߮D{Ov?8uO;~:?rz鳿dr׹7뙇}5g?vvs?? /U'QK/fh).E6[8:[ hS^)Ȍa“*ӌi лx̭W?xuo1#k<y7yG[[S!0VTZFFP`ev=#zZfQ3EU^VV2.7;iEeՇ349oK?g]|՚v.p|PmYK68h_vtj1TQe@u;: s{mھc= Z|dž-2PKM #5,H{vA. ccԸ^w=a5L?,z5T ŭhZrg<11?W1ܘzЋ}:L[B3*P;.E񈺰 31%RRQn<-8:"ge-ۈؖKӽ9Sj`v ܪ%J|8H;:{o,zyK*k2=aY+ۘR2GKrɭ h#(]\/fȻL9ɈL|2qwW.p괰;v\JZ<(dp4[59]pI {Cn:Ӹ삔 8 %Ķ%Ҋ ⰣM,l35I$7r Z6yaX\Պ[0*~p>{DW C *J]VLU=o18Z( Rѝr҉V{6}Qm.p+K\ugqf5 q8Ki2k<ݟk+=˯|c~!Glq RXqTHJg'#vl.GhMgdֽڗw'ݧt}zOO>=ݧ:OLwe\ux^]'+#[y=V@XxTk-RQnF9]Q*-02ф gep4]vw=V=Xq -94s&bjujgˊjfPܖ5ψs185b闃BDegض3_V0df{'l"O6  .338nΔ*8tг֎aГkq@na};#?oѠ19Sh%GXC|Iw*=F#q ᎃc\D.m c!r'FlbY}j1vJT3[1U<]Dh,HEwI'Z=ృ= h1>Z5xXhTᆆ ޡ7 eݩ jym%KE>K(t6M8_%سZwcvCŚȆ8%4_5OhW F#Q8)E8*$J%ڳPG;]#^k 4vOO>=ݧt}zOO=_f|OSY%]O!| Xvͭ{f#|X_cXtXX3.p62a^fpK`/u`b[Xk>ާ/AU"_]q<<-9e=/y`iEE`NKV"hY_lH(zV Z}@ %?W7̭~)-~v/Ğ+o%NuHڡNk>|W}z<^7QHEVhG9nt٧wFEb8 `DD4v٩rXDIɀ2I1g"l6uB lYqS,721q.F9r;=YcqJ|v/PDMQ&7As:]}z|f͙Rzq;lzr7M6/}zg-?Q#42t+}/ȰVe F I5^9C9AiCgh$]!V>=q{hݥma,DÈM,70KX~`O-F.>Axޙjf+*·֘H-\N9D=_ԤG3_QA;HR&9 /7>D?(p51'kkO> D?G Yzs/7_n  D?*6kׁo|].n{{?~ xA'O1Aqx9D/ǀ_~x_ IwS?0g'_'@^XD?2~xxx ~,.^]/Q/i4kV^y ף-Iw/8BGp5|7?|sH8''at/P>O+6e0*C*HπsMSОeړݬh@ 9ތԾA۬*B77?H{2jB)PQ(= @G(RڣP T{JjB)PQ({Uyny(DKJ> bޓ%mcf6P)1"BqIٵ'jCԞ"kϷP@d,H.5|E{"tx i]&eў,h-PWY,*=7 2?(?rShў R6|tsw§'U)3vIL ȥ@mʢમLJq7í=yjSᬈ5!qC(*B87JwR>wE~ݸF}>J-gWOAX B{jB)PQ(= @G(RڣP T{JjB)PQ('חpxi_vCK|nP޿%o$2ˋz.MDJL,g?wB/Y^r,zOƀ GE-WǖtrB>ᮅjOb'm<|UTey{mǃ)gV(0쫦yn_.~qE= AG(RڣP T{JjB)PQ(= @G(^WƲ|/u!ړ B {T{U Zڻ?Ъ v8y ՞\߾ 7WP[^QU)㏖C1'9*ʱ 8PɅ0jGA! = @G(RڣP T{JjB)PQ(= @GkaQ z#UhouRl5 jܛY)іvyK ڠ+=so=. l@y lAA}Ҟ z:,%y=oe^eמy߯DMݨc?=| Ԭ_%cW{>&:w=b=:)uI,tus%Z筁>z=tK%t#${Ohipcw}@ _9ZҭM -!8sNV1bŬ@9ozf͚ՠA0 H{޴C6:R|$IwC¿Du 0 LFמ E>mܸjyXlΟ?߷oT̘1#qָ=alw|j)E|@(۷{jLz\ʥ=~)N қ Vb]&yM6'N o͚5A˖0%k}>ɶolG)jOO}݌$W~T-PVC~u?OEsO?slnI3Μ3i欜!LQ(c@9Υ{[ ?=SMl' \=zRU 9œ}]W诺/O5KjGZ@ڦKԲb]Vn=X0aL,)5Y.yP۞ev~ƘiveSOJNgTN͘˛1:AbZ2d>Gv$:17k6.ux9Xb{=;Uv8{6Ķjf19}֘X}֨mK]Ծi;%Qi1sI7s% 푴*뱾&!ql1zL;wVϟ~rꀆIAS{Ó3 w˜y6n洙f̙5f\nNؓ8q="wB(1gqg}{"e[+O׸v½{GT4t L\YYYyƳ3vnO~FVFv=3g1.㢌2nXDƚeؓȬ mf!ggN̜(sic/gEYYYuZfuuN֔˳nɺ?٬YdW\zږUnX1[TrO{ܧv;XR;T~T-,i_V^yU_ UXUa]-vU(Xbˊ*QqJU|oJԽi&WҲJUҎJkVnS*ϫ|k+uTҢJ*̭rkUީCUkUm_uHUꚪVVPy.vY^޿WU_Q۪QFjLqK'k|X㷚j9 k>R;kyj5տָZZUZ[fɞ}s7g]qG־o^SE!uչ uSpD#{MGus.l/˩7zw[[?#y#‘4p7h`D<`S} 5<ᬆ6|Fui4ђFo6q'4xIS;oδe9s4idpyMnIQ-:kzVlڭ鄦KnhYf4S;i^y據ZlqVZm[˺-S-kUUVZY[۸tn3͊6[ںvi;m?9:G8zUn׷j}':pG;|̴cVmǚOxmuԦӸN+:}~lc{qm=\)o輡K.<ͺz_mݲ vKgvwѥ/gS{>[{w:ט^~B Ox{e43c}~ۺO;~/;пG+p69́0A=5hωO3|mC7d='u=ʓ6<ˇtrg)'r)ߝ 2ao9ᯝuVˈ#N'OF3n;3[9 #vO?y俧 SM}|jpYӞ^~Ψ9cꌍ3ͼd'Z4kE=.=~lks^Ԧy]?o'\G̸dӥm._/t٣g\> W4b;{W{Ն^]לx *.s-l;?U]4{Ѷz7NqMtMt17/w˸[>O,O nmܞuۿOYy)wYdw_xK[=we'/{f~o_w}y>xM~談O|x+>ŏj?vcg<Ol\u'x}}^a_Gk?M7{yskt[}r'o~ӷ?{/N/mm~zs7^]w?>7v رv縝~*cUݕE}e7jiSark),a}[$WRQ#=4U+32\:ɴ'q2~xyyQ\\+[wO?}yAm`^b +%-?~CQ_:j頑co ϯEթ)wri1*Zm;#9hT R li]Pk7i50ʣZHM>mX }Q21A=udh"B>5ʱen)hsa::_ԿµDz /K~󨣡v$:p?(Q>mJ:LǞc8j2#EX;JߋZ"4"߈Z v ?WYF4"Ώl zg}һ`uCYl4.`Tht!gXH:^W~YIGH<T >d_oD)oWwܷԏ"{U-µe9:i;L@G6ly=>@$?Bo|!o۶@ RP~Э3;n4~V `2( JTB@^+1Y}5QTU" C# ׯ(RoPEolѧ,hE@c٦qVϽcHv2s0|m[ZӨ? ޥ,PWRew ۑ B/=y^*S| 0^?>jS{,kROz}_?҂اhyAV7Jxnu[jFOԟPCzJySf֠Qo=ϯi]^zj1! MaxQAFx 6E%MCo٧mG &lW=Fͅ[Ùx5eo]:B(ԪدP$7,H`9׾@i9+̓?{W3"Eو_;mUc,um1ñߧKetVDoB̀碚{k,, {:`~F7|Noh*N\}dmQ9_+_u;ՕUG A7k޺/jpG0E7u_xrZa2jLd=FyD効\%ZrToFB]!Г^o/_<ˬtɨqj}o$C,E>W2_c¸$?!b[\*G )eu%  tX6Y /]>E/|^%qN%?z6dGļ0yC.a[;ft1 nvpƂCvE,o_P@e^>ps&|}U/;5pޟQK˽Fz>zv+ۆ]ނ>բ('~t VWǗ,kdFxu˕~+0e zC ƀ\ۮe˦ٴ_+RDhYms )":8S-BrN4.硻brDs~` KQ'gQf*r1krf+zE"94Gh:<$sxE}>u]v AM:=F*OcT6EWH'k˽ꞃ^!oYc ɯ='}M\|L$W$+ªLg2ÙcWK!na80P}*V=CwDGυY)mlt:YKHy^3V篺ɫvi7/rrF]-KXCɫ?R>"^A-箁ȍ :S`4Z ]kBS펿kTQa-~Iz4 /Z"=c^C1Yǵ.|og߷շܖѶU[cLKхx#՛a)>E?0zV2`k 3f_z_ݬ'X!W{cƍ_@YdQ:8!wнc_xnڌg8BGȵ_'[wa)yS?dU SzD>-:34 ꛍЃD6"O(wm*(o'案Ot}ƚ<*7~ sub{z׬RQܛo|r<s@ hSKN5o<-4Oxt**hvHG߅D4׊o[AFϳpTTZ/~|,3Ȭm0^Ye?2>4T.;G!2/;W56v"%t< }Li6ú^2|/_k|͗5_|o~|/_ke#Z6|͗ kQ߹5_Ffk_k||/_MO|͗5Þ|5_|}k|͗FͳpT|7~oYk|͗5ߘ/_k|͗5_>fk|>>>6A6C['ЧgЗ6+k[;{Gh; ~~~~vCynU=?п^h:OC]Dq? y (ʂA PETUAաPM Ն@G@uzP}Hj5r&QPSjZA6P[hu:ABA.PWzA'@>P_ A'B!IPdTh4:  ΂Ά΁FABAC@B1Xh4ʅ&@Idh 4Mf@3YElh4] ͇....@BA E ЍMbf?ЭmН]nh)t ZVB@GǠǡ'ГSgg5ZUh:&zmޅރއ>>>>6A6C['ЧgЗ6+k[;{Gh; ~~~~vCy_o_h/BPT ?.݊ rC(ʄrPyTU@UjPuTeC:P]T:j5A tj5Z@-VPk :j:@@NбqPg uz@=^n<12ˁp+:; 8Ii|VKx\LE?;m{'IѿZvܩUo+EwZu5* qGRB %y$BK!N ⸑"&%'B^Bqz ! %'B^Bqz ! %'B^Bqz ! R8L^%"%'B^Bqz ! %'B $&1yoLeeDqv#gY]_#~LҊ%vyf+-VWPdX^s8D~d0BdH3/)9DlxgU|T1{er:%$IGH3/?;-lx3$M%>5W?xCʁ"C 񒄙͉Dϖr jVZ̈́ȡD#H4Dޔb-.pȐN^l @ v JB z ! %'B^Bqz ! %'8|^B)e/!Y%'B^Bqz ! %'B^Bqz ! %'B^Bqz ! RFh'Ld1>8z$!D@J^b ɦ?&`.Ss|?B%y/Ln/9lIW/xLAz !^"Sf!p$HKdBqK_-?&G'>1&^B8=Ρ'8b% zI^BI/!8BK!N@/!8BK!N@/!8BK!N@/!8BK!N@/!8^BJKRBK!N@/!8d~rZY!^R¡4!$>1srlŲ!A$L쵫<B3aAR)^"%s9Y/LwqɆBjN~LdKi%2 KB͒!("X`HS*k[WUP/JN1}LtRH?/mM4eNg יȄ*?D1*))M@/'Ʒ1zL0 ^j̼O-;Ϡ1i%3{rem>l7撦%)}I/Q,h0s:.2\HzN^"@;KDR8IRBK!N@/!$HS:L(z !iL 4/VRIj[ܖ]e[rAȷe|| Ae*J7>NȷbYs]% s&,hNL/;h pQ%דT[8zj9ޖSo(J~"IvmNmŻ$OKA1i%v%am902'][^VP%b SrW8Cyec)nH~b%*)^ `wG_-24ڙ06;CL٘% CNK$7U%4=MhGĩnXUD/Ii%v9eJ'/CjN̐pC\ pveL1w!, a Q̰tnp#1506txI-%}Dr1E1/RX_|xFœ2,V2q9K;t>;K8HmK%\xncrzxhS+aw)U$L?\ÒVLz !q%'B^Bqz ! %'B^Bqz ! %'B^Bqz ! %'Bl{IAH)l{vBCq8efۜK9%,ex(R%JH YDF-w%N9*JT$$-D`bx;fx S*mKHQ(^⵿ r'5SRpJKH~^넗X&&3+.&7Bd(!^zD(nܖ(1$ ,-A$bD( H3/ESS[$ۜ]%Һ,SI zJ"kWV.2%~I%ѹCJKaT{ !A/!8BK!N@/!8K!%2 BK!N@/!8BK!N@/!8BK!N@/!8A^cݿ*Ln`n"ae?n3Ht˪$G@XRIi]".2^b-t\M\m†%l^T=^BH{#^bw"a| v%SD2,^B Nx O9^bn-o?&#кD|&%⧩$j#(vMaeRv(Hb9œ^ܖrD&'AHЁK$I+/[ !!e%ABϰK?S@H:6^B)K!N@/!8BK!N %" BK!NPD6BK!NP$vB'#yI©iQO1ﲫǜ?a%]0KiԲf${'Yg|%,$U0 #o["_]l2]v2Nl+a)4gYYnIA9 3%]P 8qRT V2[R"a6'Sܮ],ODqs[~4לBqb& $I~GTMSvM#ɖԁ#R< /$ZƐuV.y^5L_ͥb';,IQAY6$ӖLeVr-T0X|-? -CllR4/<vK~${[_O :nLߓ:./$[r[d | y08Ѐ2 6"\,̱C>:&  G IiV( u9  UVBhttp://www.zope.org/Members/andym01 E Image "Photoshop.Image.50*Adobe Photoshop Image0Oh+'0Q hp    $,Using Perl with ZopeP Andy McKaywH:\AS-pres-template.pptandy-pr70yMicrosoft PowerPointpt@.Oݵ@9v"@@yĨ8GPg  R('& &&#TNPP2OMi & TNPP &&TNPP     'A x(xKʦ """)))UUUMMMBBB999|PP3f3333f333ff3fffff3f3f̙f3333f3333333333f3333333f3f33ff3f3f3f3333f3333333f3̙33333f333ff3ffffff3f33f3ff3f3f3ffff3fffffffff3fffffff3f̙ffff3ff333f3ff33fff33f3ff̙3f3f3333f333ff3fffff̙̙3̙f̙̙̙3f̙3f3f3333f333ff3fffff3f3f̙3ffffffffff!___wwwJJmJJJmJJgJmJJmJJmJmJJmJJJJJJJJgJJgJJgJJJDJJJJlJJgIJmDmJmDmJmJJmJgJJmJJJJgJJmJJDmJmJgJJmJgJJJJgJJmJJJmDJmJmDmJJJJJJDJDJlD½½šüÙüü½½¼Ù½½üü½üšü½Ùü½½šÙüÙüšüÙüÙÙüÙüüüÙüüüÙš½Ù½½Ùüüü½½ü½½½½½Ù½üü½½Ùüüüü¼üüÙÙš½üüüü½üÙ½½½üšüü½½½šüüüüüÙü½üüüü½üü½½š½š½üü½üüüüüü½š½ü½üÓ½Ù½½šÙšüüüüý½üý½üüüüüý½üü½½üý½ý½üý½½üý½½½½½üý½üý½üüýý½½½ü½½½½½½üüüümmmnmmnmmnmmsmnmmnmmnmmnmmnmmnmmnrmmrnmmsmmsmmsmnmnmmnmmnmrnmmnmmnmmnmnmmnmmnmrnmmsmnmnmnrmnrmnrnmmmmnrmmmsmmsmnmnmrnmmmnmmnmmnrmnmmnmmnmnmnmmsmmnmmnmnmm "<CDCCICDCC"C"C CC"C"C""C" CC"CC"C"Cm#>"=!">"D C "ssCDJJKKnQKmQDnKKK#JJ">mCmJtttRst#?tJ=KtttstCsDttQJttsQmCmC F$E$?CJDCDD#s#?"DC"CJCm"DststttCQstsE$?"tJtC# sJtststtJE#JK$"sstDssKstCsKJnmE%?%EE$ JJJJJ="DQBJJCJJIm"KtD!ntt #@#JttJQCCmC"JtttsttQD#tD$ttJmtJQnQnKsDJmIm#>$$?$E$="JKnQn#D##nKDKJJnnsnm"C"<!os$E"tsnD"sDCJttttstsJDE"sKCs=sKJtKsmgE%?#%$E"tCDJtts#EsJKsDJCCsmnJtt"J#">" ttRsDCCCJCDtttK#nKt"tQKt"sD"mmIEE$FEKst CJsttDD#>#ssKsQmmIJssm"nCD!stsJBsQDJDJstsCmstDtsttsQtJmmE$D$EE"tttQJttsJ$sttstDCCDsmsnC"K" JDD#ntJn!Css sKtCtQ!CJtttststsnm m>$EJttst"DKstKC$CtQtttJr=DJsmC<"ttJ#>"EtsDCJsmsDsJCCs J"DJtttttQmmmJt D#E"ttQttJJJts##>QttstCCtsCJBJnsJsC"JCtK"@#C#tJ"D!DmsJKDEmmsrJtsJI"DKtnmmJtDsnJtsttstJtn#D#ttstsBnxCs=nmmtK>#Kn#JtsJ JnJ$DDttttttQJC"m" mKJ JsrJtttsttIJt"Dssttt"nIJCsJs"Dts"nCÙs nJBJC$E%CsrDQnQtttstssmCJsDJRstsRstKDJ>$#tttQnJtstm"mJss=sDJsttt#E "Cn F"nmEEJCDCssKCCntttKmC JnmJmJJmnCtttttttQC">#tstsn"Jnt"Bnn!mmCssCn"stsJm"m#%E=JnmJsrC$ssIJKnttK! JtsmBݼCmCCmsnCDKsststC#$DsttJK ">"DD msCrDmmJJtn$Jm"mn$?E"?#JnJJJDKsJJstDJmmm CJDDmm!JttCEsttJKC#s#E#?$smmstCJDs mCJE$m"@$$# $ C" JJ<CCJttK!DtJmCCJmmJC Kn#Jtst"n#"$?"sDD#$?$ECssJ JlDJn%?%CC$$?$EDJ"DD!DnJKsCKtC!nCmCynJCmCsJtJ "EsttCKC#>E$stsDJD$FE"mssCJssm"J#?$E#C%>$EEE#JJKJD"tCJCn"ttt"Ct"J m"Cm CJmsmKsRtC #DRts"mKJ#=ECKJJDKE#>"CssnDD$FDJ?$E%$E$$>CsJs"snsJsKCJJtCsmCJsCJmC"msCsJtts"EstsK"Dt# $E#JDsKJs#$="nJCrCDJmsCEE$sm">CDDC$$DCCC#JnJtD!nQJs!Dm mCCmtDmQttJnCtst>$JttJCJDtDD"m#?#Cn"EE#stsKDJsCn J"ECCDJsmDssC E$JmJsKCDJtJCmmCJmsJKnsDmCJttt"DstsK="ts#DJD$DD%DJ$ED$EstttssCCJ>#D"EJDDCD$F>JmJDn!JCtt"mC"#>tsKKC#Jts##C=sD$FEsE$$E$?#E$=JQJtJ"DmKD$sm$E$E$FEssC E #DJttJmCCn$"DJttsI"I$JstCDtC#stDE">$DJCE%$?JE"E$?$#nKt"D# ssCsJC sssmE=#?$FJE$ECsDtst"mC gtsJDJstQJttC ?"ttQJt#EntQ#EDsD$?$?%D">#F%E%E C CCsttKmDmsCsDJ%$E%E$EF$mQCJttJm mmCQttKttttJDJ$JtJ"DstmD!stDE"F#m$?%E%Ct"$?$EF$EE$C<"mC #CtstJmmrDmsmm#>$?E$?%E%E$E$ntQDtJCCmCytsQnQsKtn"CJnKQJ=tJKCKtQDtQDEF#EE#sttJ%?$$?%?%$?$CJCmD"KsttInCCB"="ICJ$$E$?%?$="?#stCKJ=ss m mC tsttJCtJJJDJKKstKJJCDJJtt"ED!ntD$$E$EtJDsE$E?$E$EF$Jmm" JKtstttsCIDmCCCCCnE$=F$E##CKKJmJImm mCtttQtDDJnJIJtsttCKJDJJ#DCttD "D"ss##EE%>QsE#E E$?$CsC"JtsttstDsmmmgmmJmF$  F$>"mKCmsmEm C"ttstsJs"CKDtCttsKJKC?#DstJ#J<"tC>#>$?$$?$CC"E$E$E%?#sCCKtJttKJKJCsssnsnssss E$$?$#mn#m"Cm CtQtttJJKJJJsKJKmtsE$EJDssD"DDK#>#E%?%E%$E DD$ED"D"=CCttsmtJCKKJJDJCJCJJmnst!F$E%EE$E!CEEmCCCmJtttsRstttCKDQtnQttJ$EEJ"tt# #DC#E$E$EE E#E$$?#JnJ$E$#sRtJ"KsstssKsts"stssnJKJtJ=E%C<"E$CJmmmCJtsttttsttJtsKsttst#F$CCQtDED$$>DE$@$$EF#?#$F$>" $Dttst nQCKttKDttDKtJ "CCCDJD">"JttC$#>"CQDmm rJttsttstRstJtttsRtsE$?DDtJ"FF#>$#$?%E$?D"E#>$?$D#nQsDCJttstttsQDDQCQns"stsCtKKJD" !!"DJQttsJC"C"DJDKm n"tsRtsttsJQststC%E #Jts$E$EE$E$?#>#%?$?$$FEJtt"KCtsDJQtttBKn KsKDQttCtsKtsQnKnKsKnKJJC#CD#CCJnJDKstsmm !KJttsttsRtstRttt$?$EJJtDDF$ED$CJ$=##>$%E DE%E$CttCst"CtstKJKJJDJs=JJKJtCCJCKmKKJJJJJDDJCDJmJD"JstyKm  =JnstttsttsttstsJE%E $C"n"">$@$E"DDKt"#DDE$E"sRstQsDtJ Js"JsKsKm"tJDtsJJ"CCDJDJJJDJCKtKCmCCIlJKtQnQtstRtstttDF$E$EJDJC$E$ E#DQstD$E%E$?"sttttsttDst tDJn"KssKK"Jnt"ttttC"sKCDJKsJtstCmCg DstnttststtsK#E$?%$?#E$?$#?$E Ctt"FE$EF$EKtststtstQJt"Ks ttCJsCKJ!KtstRstJstJJnttJJ Jttt mCCI"#tsQtstttsty#>%F$?$EE#E  !ts"C?$>"C"QstRtsRsttDtn tCtQnK"KCtDstttsttsDKtDJBQt"JtttJmCCCtJt"tstD"<EEF$?$Ett!JsKJ$DtJttststttttsQJttJ"ttsKsJJDQK sRstttstKsJJJPP݄c $`33̙@lʚ;2Nʚ;g47d7dv 0\ppp@ <4!d!d` 04<4dddd` 04 <4BdBd 0>6___PPT9{L/20? %O = =m1FAUsing perl with Zope Andy McKay, ActiveState Python 9 Conference*B,>  WAgenda About using Perl with Zope Why Perl with Zope? Example of use Perl Restricted methods Perl Unrestricted methods Perl DBI Perl from Python Internals ^>;># GPerl with Zope$ JCreated by ActiveState for Digital Creations. Developed done by Gisle Aas.KK Kl0Perl with Zope does not&  Mean a rewriting of Zope Allow the creation of a Perl only product Zope speaks lots of different things (FTP, SOAP, WebDAV etc.)& $ m4Perl with Zope does allow&  Creation of Perl Scripts through the web Perl Script Similar to Python Script Creation of Perl External Methods Perl Script (Unrestricted) Similar to External Method Using Perl within Pythont)%"6)%"6 nWhy use perl with Zope?6Code reuse Access to legacy scripts an  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcwefghijklmnopqrstuvwxyz{|}~ u9  jVBhttp://www.zope.org/Members/andym01 6 Image "Photoshop.Image.50*Adobe Photoshop Image027 Image "Photoshop.Image.50*Adobe Photoshop Image038 Image "Photoshop.Image.50*Adobe Photoshop ImagebQNwww.ActiveState.com/download/Zope-Perl/`SLwww.zope.org/Wikis/zope-perl/FrontPage0U; Chart Excel.Chart.80*Microsoft Excel ChartF/PowerPoint Document(dDocumentSummaryInformation882F Image "Photoshop.Image.50*Adobe Photoshop Image03H Image "Photoshop.Image.50*Adobe Photoshop ImagebQNwww.ActiveState.com/download/Zope-Perl/`SLwww.zope.org/Wikis/zope-perl/FrontPage0Uj Chart Excel.Chart.80*Microsoft Excel ChartF/ 0|DTimes New Roman3|dv 0|( 0DTahomaew Roman3|dv 0|( 0" DVerdanaw Roman3|dv 0|( 0"0DArial Unicode MS|dv 0|( 0@DHelveticaode MS|dv 0|( 0 ` .  @n?" dd@  @@`` @+  H&" (!7*+#$%&'     -.4b$S11Fo- b$r1E{}"'gUo$"$¤Wi!Pb$&r\JVajˉЎ]mq b$?:52wIb$-9>PP݄c $`33̙@lʚ;2Nʚ;g47d7dv 0pppp@ <4!d!d` 0,4<4dddd` 0,4 <4BdBd 0,>6___PPT9{`/20? %O =r=m1FAUsing perl with Zope Andy McKay, ActiveState Python 9 Conference*B,>  WAgenda About using Perl with Zope Why Perl with Zope? Example of use Perl Restricted methods Perl Unrestricted methods Perl DBI Perl from Python Internals ^>;># GPerl with Zope$ JCreated by ActiveState for Digital Creations. Developed done by Gisle Aas.KK Kl0Perl with Zope does not&  Mean a rewriting of Zope Allow the creation of a Perl only product Zope speaks lots of different things (FTP, SOAP, WebDAV etc.)& $ m4Perl with Zope does allow&  Creation of Perl Scripts through the web Perl Script Similar to Python Script Creation of Perl External Methods Perl Script (Unrestricted) Similar to External Method Using Perl within Pythont)%"6)%"6 nWhy use perl with Zope?6Code reuse Access to legacy scripts and modules Most things have already been done in perl Perl Cookbook, Programming Perl etc& Large number of Perl developers Community and knowledge Perl is on Linux and most people use Linux\ u C u C Why use perl with Zope?6GCPAN CPAN: Comprehensive Perl Archive Network PPM: Perl Package Manager.CC HWhy use perl with Zope?6GCPAN CPAN: Comprehensive Perl Archive Network PPM: Perl Package Manager.CC HYTechnical OverviewQTwo parts: Pyperl Python Perl integration, not Zope specific. Current version 1.0F @  @ RJScript Perl (restricted)$*Zope object: Script (Perl) Edited through the web Access to most of the Perl core Can t use modules Runs in strict Similar in idea to Script (Python)\X#7#R8 *Example, Object listing (DTML) Get a listing of Zope objects using objectIds() in a container In DTML& HG F Example, Object listing (Python) !In Script Python& context is bound by default in Python methods can use print / printed shortcut*OO`XExample, Object listing (Perl) ^In Script Perl& self is declared as an argument.   0kGotchasCan t get an item (such as a folder) the same as python context.folder.objectIds() works. $self->folder->objectIds() doesn t. .8G8G Python::getitem 8Use Python::getitem(..) Arguments: object, subobject id.   9QThe good, the bad and the ugly`Good Regex s, transliterations etc are available.,, 1pScript Perl, unrestricted$PZope object: Script (Perl, unrestricted) Edited on file system Access to all of the Perl core Can use modules Can choose  strictness Similar in idea to External Methodv)]#)5 #@E 0Example (Calendar) A web based calendar that uses some interesting CPAN modules& Elements: CPAN Modules Actual perl module for finding monthly and daily information Scripts (Perl, unrestricted) to call from DTML DTML Method to display calendar*HH  Calendar: Perl Setup mInstalling CPAN modules: Installed from CPAN or via PPM File location: /Extensions/ZopeExt/Calendar.pmb& 0|DTimes New Roman%|dv 0|( 0DTahomaew Roman%|dv 0|( 0" DVerdanaw Roman%|dv 0|( 0"0DArial Unicode MS|dv 0|( 0@DHelveticaode MS|dv 0|( 0 ` .  @n?" dd@% n Calendar: Perl Scripts   Calendar: Access Requires hack to AccessControl to allow hashes and arrays to be returned without security machinery complaining. from Chris McDonough,qq Calendar: Scripts Create objects to be called. Eg: Id: CalendarMonthPM Function name: Month Function arguments: month Perl module: ZopeExt::Calendar*!b!b Calendar: DTML [DTML to show calendar Returning a hash reference, uses mapping. For array use  \Calendar: End Result  xGotchas In Python External Methods you can modify globals such as REQUEST. Modifying REQUEST has no effect, REQUEST is passed by value. Request is available as ever by: my %request = %{$self->{'REQUEST'}}; Returning complex data structures can be tricky to DTML.lC^&9C^&8     eZDBI DA One other product, ZDBI_DA Perl DBI has access to most databases, can go where Python can t& A Python object that forwards requests to Perl DBI. Each thread maintains a database connection (hard to open / close on request). Roughly 30% performance hit over native drivers Using Perl in Python As of pyperl-1.0, released Thursday... Added in a wrapping around Perl objects so they can be called from Python. Currently works best on Perl objects Syntax: from perlmod import Perl think of it as a dot (.)instead of two colons in an object& Vr% Wr% W Using Perl in Python  Using Perl in a Zope Product FSCounter, simple Zope product to provide a hit counter. File system used to avoid Data.fs bloat Problem: No simple and easy cross platform locking mechanism in Python fcntl is Unix only Solution: File::Counter from CPAN9Z(Z ZQZ ZZ9 (  Q     Example: FSCounter  Internals  Full API not of interest here, whole talk all of its own. Discussed by Gisle Aas in the paper. Of interest: Exceptions Complex data types Threading<l(l '$  Exceptions  Can raise an error by: Python::raise($type, $value) The Python::Err::-functions also return the standard python exception type objects if called without arguments. Python::raise(Python::Err::IndexError, "out of range") vq8,E6 Complex data types PyPerl does conversion of simple data type (strings, int etc) Perl ref object is a reference to a python object that encapsulates a perl reference.   Threading  Perl is multi-threaded when used with Python. A Perl interpreter is opened up for each thread. It is released when Zope releases its thread. Perl references cannot be passed between Perl threads. Don t try and pickle a Perl reference.8G gFuture PyPerl the python-perl part of Zope Perl as part of PPM, meaning very easy install. PyPerl finalised. ZoPerl the zope-perl part of Zope Perl as part of the Zope core? Currently in beta, be finished RSN. hMore information Project homepage: www.zope.org/Wikis/zope-perl/FrontPage Zope Perl available from: www.ActiveState.com/download/Zope-Perl/ Examples, plus this talk at: www.zope.org/Members/andym Mailing list: Zope-Perl@Zope.org()!((!~#' S!09Q!0U|!0~In conclusion&   We want to allow you to more rapidly develop web applications with Zope and more easily reuse your code. Zope Directions Roadmap  A perl script is  correct if it gets the job done before your bosses fire you. Programming Perl, Third EditionxkR kR  Python cookbook slide! /v  zr@l (  l l c $@P<$D 0    l c $|@0P<$0  z l 0 >  ,$D0 fGoal: "To provide an alternative to Python for scripting Zope in the same process." Currently in beta?4g  GfH l 0޽h ? ̙33  P>(  x  c $Ć@P   x  c $@0     <j W ,$D0 f and now Perl$  H  0޽h ? ̙33z  *"p(  x  c $@P   x  c $@0p    6x>g @ @; What OS do you primarily run Zope on? Linux 43.09% Windows NT/2000 25.97% Windows 9x 6.91% Unix 6.91% 362 users polled, from www.ZopeZen.org.`' @  ((%@( H  0޽h ? ̙33  d<(  d~ d s *@P   ~ d s *|@0  H d 0޽h ? ̙33  |t (  ~  s *j@P  j ~  s *j@0 j   <A U?? 0t8 U$D0  <j\ ,$D0 |, CPAN: 1,964 modules Zope.org: 296 products-  -,H  0޽h ? ̙33  D(  ~  s *@P   ~  s *@0p    0Pl+@,$D0 l Zoperl Depends on pyperl. Zope specific, platform independent code. Script Perl (restricted) Script Perl (unrestricted) Z DBI Database Connection Current version beta 0.5 0 Z=0ZN0 Z0Z=N H  0޽h ? ̙33  0(  x  c $@P   x  c $@0p  H  0޽h ? ̙33  >6l(  lr l S d@P   r l S  @0   l 6=g < ,$D0 @ @0 Z@H l 0޽h ? ̙33  F>x(  xx x c $@P   x x c $D@0   x 6|g N ,$D0 @ for item in context.objectIds(): print item return printed A0 Z @H x 0޽h ? ̙33>  ~(  r  S t@0p  x  c $@P   L  6g 5,$D0 T my @res; for ($self->objectIds()) { push(@res, $_); } return join("\n", @res); (0 ZS  0 Z333  3TH  0޽h ? ̙336  v(  ~  s *@P   ~  s *\@0  2  0$|pp` Zope Error Error Type: AttributeError Error Value: __call__ Note: Perl errors are raised as Python errors&  0Z10 Z0 Z/0 Z      )  lH  0޽h ? ̙33  0((  r  S @P   r  S @0p    6\g ` . my @res; my $folder = Python::getitem($self,  Control_Panel'); for ( (Python::getitem($folder, 'Products'))->objectIds() ) { if ($_ =~ m/perl/i) { push(@res, $_); } } return join("\n", @res); D0 ZC      0 Z3333$3 33  3H  0޽h ? ̙33  vn(  x  c $!@P     c $L"@0<$D 0    0F|p  f Bad Regex s, transliterations etc are available No loop limit No bindings and other Python Script features getitemB s  rw  0t1|  t Ugly Through the web editing  Guilty as charged. Perl is happily ugly, and happily derivative , Larry Wall ` h    hoH  0޽h ? ̙33  <(  ~  s *(@P   ~  s *\)@0p  H  0޽h ? ̙33  $(  r  S ?+@P  + r  S +@0p + H  0޽h ? ̙3333P  0(  r  S :@P   r  S d;@0p  d  6Cg   #! /usr/bin/perl -w use strict; package ZopeExt::Calendar; # import modules use Date::Calc; use Date::Manip; & 0 Z   0 Z6    qH  0޽h ? ̙33  C;(  r  S @P   r  S @0     6g   APython 1.5.2 (#0, Jul 30 1999, 09:52:18) [MSC 32 bit (Intel)] on win32 Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam >>> import perl >>> inc = perl.get_ref("@INC") >>> inc >>> len(inc) 30 ZH  0޽h ? ̙33  X0(  Xx X c $@P   x X c $H@0p  H X 0޽h ? ̙33R .xml$ηJ!>BNܤ( ?b;JS/ FM AEi@[-/? EJ*T"K\{3wvmCQμy_ٛ}dG:p9 'p վd4:s|# =0A"A(@(D(R J^PPPOFC:Xx;`RiQ< Ƨd-c)H?6^ḦDn};4 ;[3_) ct~+r=ئgVg?V!s;᧻)fPȷ+"CPa!BB=B"K",CXQ׌-*VƝ!Ӹ$ߩ'!NvwZ+P[QO~ٿsdhthXݺ;{ԿkuK=-/(55ZNsVmchX8S pˏEsloϒ(39Lɾgվd"S]#3g/x |v<~I͓'GrG d CdIe0! |/O3È+JF8{"its_"!1e.L+a.Lw8 xZT3”N`=~oV7ԡ4ﰛ=J T i_8,K`R"8^#f% wF_ISBmvul@[-C#3-x0$w#Γr/_FαiށRf鶣k[fax_ۇNCm أ6Y+jV&N"jtyq]ja OT mR[a_Zeb7Qѣz@E^lgHuNm3ZT'Rdf#=ň1`]!D>XE+&$6E-.,E*aAE6|lb U>!vgk7PƨF[SiKɀLL/gڑt6gQGa@z5X)tv܀ #׬qaIq=# >h:@W·3LF܏4o,Z*HOif3K]1̠'g&͙眜I\̏3gAzy-89[ڡ)sfPqȗ3}Ws&x˙j|;i~#(J1Jy]sk(] 6WWb7fUBe+ZeUTCuaL(72rϓLƟzc~_=A)0cЏ)h-W_oBx4N!'3:ڍt!7vή̔?c01}Ƀ>;ȳaSZJq8}pC0, %LŁA:ёR[QcQ[rb:LvV=[ҴkmlN߳iߠ}J[+K}doA2ӽ o: -S~Ds{{rFEa9tO y!-܇(So~#- #=S@~;aAw7]+{VygkGzF(͕'jkUy jNsȞQ5N8rj Fhn b @"~ ej U( u9  UVBhttp://www.zope.org/Members/andym01 E Image "Photoshop.Image.50*Adobe Ph  @@`` X,,՜.+,D՜.+,P      On-screen Show ActiveState5' /Times New RomanTahomaVerdanaArial Unicode MS HelveticaAS-pres-templateAdobe Photoshop ImageMicrosoft Excel ChartPowerPoint PresentationBUsing perl with Zope Andy McKay, ActiveState Python 9 ConferenceAgendaPerl with ZopePerl with Zope does notPerl with Zope does allowWhy use perl with Zope?Why use perl with Zope?Why use perl with Zope?Technical OverviewScript Perl (restricted)Example, Object listing (DTML)!Example, Object listing (Python)Example, Object listing (Perl)GotchasPython::getitemThe good, the bad and the uglyScript Perl, unrestrictedExample (Calendar)Calendar: Perl SetupCalendar: Perl ScriptsCalendar: Perl Scripts (Alt)Calendar: AccessCalendar: ScriptsCalendar: DTMLCalendar: End ResultGotchasZDBI DAUsing Perl in PythonUsing Perl in PythonUsing Perl in a Zope ProductExample: FSCounter Internals ExceptionsComplex data types ThreadingFutureMore informationPowerPoint Presentation  Fonts UsedDesign TemplateEmbedded OLE Servers Slide Titles' 8@ _PID_HLINKSA"http://www.zope.org/Members/andym/http://www.activestate.com/download/Zope-Perl/.http://www.zope.org/Wiki d modules Most things have already been done in perl Perl Cookbook, Programming Perl etc& Large number of Perl developers Community and knowledge Perl is on Linux and most people use Linux\ u C u C Why use perl with Zope?6GCPAN CPAN: Comprehensive Perl Archive Network PPM: Perl Package Manager.CC HWhy use perl with Zope?6GCPAN CPAN: Comprehensive Perl Archive Network PPM: Perl Package Manager.CC HYTechnical OverviewQTwo parts: Pyperl Python Perl integration, not Zope specific. Current version 1.0F @  @ RJScript Perl (restricted)$*Zope object: Script (Perl) Edited through the web Access to most of the Perl core Can t use modules Runs in strict Similar in idea to Script (Python)\X#7#R8 *Example, Object listing (DTML) Get a listing of Zope objects using objectIds() in a container In DTML& HG F Example, Object listing (Python) !In Script Python& context is bound by default in Python methods can use print / printed shortcut*OO`XExample, Object listing (Perl) ^In Script Perl& self is declared as an argument.   0kGotchasCan t get an item (such as a folder) the same as python context.folder.objectIds() works. $self->folder->objectIds() doesn t. .8G8G Python::getitem 8Use Python::getitem(..) Arguments: object, subobject id.   9QThe good, the bad and the ugly`Good Regex s, transliterations etc are available.,, 1pScript Perl, unrestricted$PZope object: Script (Perl, unrestricted) Edited on file system Access to all of the Perl core Can use modules Can choose  strictness Similar in idea to External Methodv)]#)5 #@E 0Example (Calendar) A web based calendar that uses some interesting CPAN modules& Elements: CPAN Modules Actual perl module for finding monthly and daily information Scripts (Perl, unrestricted) to call from DTML DTML Method to display calendar*HH  Calendar: Perl Setup mInstalling CPAN modules: Installed from CPAN or via PPM File location: /Extensions/ZopeExt/Calendar.pmb&% n Calendar: Perl Scripts   Calendar: Access Requires hack to AccessControl to allow hashes and arrays to be returned without security machinery complaining. from Chris McDonough,qq Calendar: Scripts Create objects to be called. Eg: Id: CalendarMonthPM Function name: Month Function arguments: month Perl module: ZopeExt::Calendar*!b!b Calendar: DTML [DTML to show calendar Returning a hash reference, uses mapping. For array use  \Calendar: End Result  xGotchas In Python External Methods you can modify globals such as REQUEST. Modifying REQUEST has no effect, REQUEST is passed by value. Returning complex data structures can be tricky to DTML.LC=9C=8 eZDBI DA One other product, ZDBI_DA Perl DBI has access to most databases, can go where Python can t& A Python object that forwards requests to Perl DBI. Each thread maintains a database connection (hard to open / close on request). Roughly 30% performance hit over native drivers Using Perl in Python As of pyperl-1.0, released Thursday... Added in a wrapping around Perl objects so they can be called from Python. Currently works best on Perl objects Syntax: from perlmod import Perl think of it as a dot (.)instead of two colons in an object& Vr% Wr% W Using Perl in Python  Using Perl in a Zope Product FSCounter, simple Zope product to provide a hit counter. File system used to avoid Data.fs bloat Problem: No simple and easy cross platform locking mechanism in Python fcntl is Unix only Solution: File::Counter from CPAN9Z(Z ZQZ ZZ9 (  Q     Example: FSCounter  Internals  Full API not of interest here, whole talk all of its own. Discussed by Gisle Aas in the paper. Of interest: Exceptions Complex data types Threading<l(l '$  Exceptions  Can raise an error by: Python::raise($type, $value) The Python::Err::-functions also return the standard python exception type objects if called without arguments. Python::raise(Python::Err::IndexError, "out of range") vq8,E6 Complex data types PyPerl does conversion of simple data type (strings, int etc) Perl ref object is a reference to a python object that encapsulates a perl reference.   Threading  Perl is multi-threaded when used with Python. A Perl interpreter is opened up for each thread. It is released when Zope releases its thread. Perl references cannot be passed between Perl threads. Don t try and pickle a Perl reference.8G gFuture PyPerl the python-perl part of Zope Perl as part of PPM, meaning very easy install. PyPerl finalised. ZoPerl the zope-perl part of Zope Perl as part of the Zope core? Currently in beta, be finished RSN. hMore information Project homepage: www.zope.org/Wikis/zope-perl/FrontPage Zope Perl available from: www.ActiveState.com/download/Zope-Perl/ Examples, plus this talk at: www.zope.org/Members/andym Mailing list: Zope-Perl@Zope.org()!((!~#' S!09Q!0U|!0~In conclusion&   We want to allow you to more rapidly develop web applications with Zope and more easily reuse your code. Zope Directions Roadmap  A perl script is  correct if it gets the job done before your bosses fire you. Programming Perl, Third EditionxkR kR  Python cookbook slide! /v  z(  x  c $!@P     c $L"@0<$D 0    0F|p  f Bad Regex s, transliterations etc are available No loop limit No bindings and other Python Script features getitemB s  rw  0t1|   Ugly Through the web editing  Guilty as charged. Perl is happily ugly, and happily derivative , Larry Wall ` n    nuH  0޽h ? ̙33  p4<(  4~ 4 s *@P   ~ 4 s *@0p  H 4 0޽h ? ̙33  X0(  Xx X c $@P   x X c $H@0p  H X 0޽h ? ̙33R .xml$ηJ!>BNܤ( ?b;JS/ FM AEi@[-/? EJ*T"K\{3wvmCQμy_ٛ}dG:p9 'p վd4:s|# =0A"A(@(D(R J^PPPOFC:Xx;`RiQ< Ƨd-c)H?6^ḦDn};4 ;[3_) ct~+r=ئgVg?V!s;᧻)fPȷ+"CPa!BB=B"K",CXQ׌-*VƝ!Ӹ$ߩ'!NvwZ+P[QO~ٿsdhthXݺ;{ԿkuK=-/(55ZNsVmchX8S pˏEsloϒ(39Lɾgվd"S]#3g/x |v<~I͓'GrG d CdIe0! |/O3È+JF8{"its_"!1e.L+a.Lw8 xZT3”N`=~oV7ԡ4ﰛ=J T i_8,K`R"8^#f% wF_ISBmvul@[-C#3-x0$w#Γr/_FαiށRf鶣k[fax_ۇNCm أ6Y+jV&N"jtyq]ja OT mR[a_Zeb7Qѣz@E^lgHuNm3ZT'Rdf#=ň1`]!D>XE+&$6E-.,E*aAE6|lb U>!vgk7PƨF[SiKɀLL/gڑt6gQGa@z5X)tv܀ #׬qaIq=# >h:@W·3LF܏4o,Z*HOif3K]1̠'g&͙眜I\̏3gAzy-89[ڡ)sfPqȗ3}Ws&x˙j|;i~#(J1Jy]sk(] 6WWb7fUBe+ZeUTCuaL(72rϓLƟzc~_=A)0cЏ)h-W_oBx4N!'3:ڍt!7vή̔?c01}Ƀ>;ȳaSZJq8}pC0, %LŁA:ёR[QcQ[rb:LvV=[ҴkmlN߳iߠ}J[+K}doA2ӽ o: -S~Ds{{rFEa9tO y!-܇(So~#- #=S@~;aAw7]+{VygkGzF(͕'jkUy jNsȞQ5N8r( obIhMjElx  wV( u9  UVBhttp://www.zope.org/Members/andym01 E Image "Photoshop.Image.50*Adobe Photoshop Image02F Image "Photoshop.Image.50*Adobe Photoshop Image03H Image "Photoshop.Image.50*Adobe Photoshop ImagebQNwww.ActiveState.com/download/Zope-Perl/`SLwww.zope.org/Wikis/zope-perl/FrontPage0Uj Chart Excel.Chart.80*Microsoft Excel ChartF/ 0|DTimes New Roman3|dv 0|( 0DTahomaew Roman3|dv 0|( 0" DVerdanaw Roman3|dv 0|( 0"0DArial Unicode MS|dv 0|( 0@DHelveticaode MS|dv 0|( 0 ` .  @n?" dd@  @@`` P ,  H&" (!7*+#$%&'     -.04b$S11Fo- b$r1E{}"'gUo$"$¤Wi!Pb$&r\JVajˉЎ]mq b$?:52wIb$-9>PP݄c $`33̙@lʚ;2Nʚ;g47d7dv 0pppp@ <4!d!d` 0,4<4dddd` 0,4 <4BdBd 0,>6___PPT9{`/20? %O =m=m1FAUsing perl with Zope Andy McKay, ActiveState Python 9 Conference*B,>  WAgenda About using Perl with Zope Why Perl with Zope? Example of use Perl Restricted methods Perl Unrestricted methods Perl DBI Perl from Python Internals ^>;># GPerl with Zope$ JCreated by ActiveState for Digital Creations. Developed done by Gisle Aas.KK Kl0Perl with Zope does not&  Mean a rewriting of Zope Allow the creation of a Perl only product Zope speaks lots of different things (FTP, SOAP, WebDAV etc.)& $ m4Perl with Zope does allow&  Creation of Perl Scripts through the web Perl Script Similar to Python Script Creation of Perl External Methods Perl Script (Unrestricted) Similar to External Method Using Perl within Pythont)%"6)%"6 nWhy use perl with Zope?6Code reuse Access to legacy scripts and modules Most things have already been done in perl Perl Cookbook, Programming Perl etc& Large number of Perl developers Community and knowledge Perl is on Linux and most people use Linux\ u C u C Why use perl with Zope?6GCPAN CPAN: Comprehensive Perl Archive Network PPM: Perl Package Manager.CC HWhy use perl with Zope?6GCPAN CPAN: Comprehensive Perl Archive Network PPM: Perl Package Manager.CC HYTechnical OverviewQTwo parts: Pyperl Python Perl integration, not Zope specific. Current version 1.0F @  @ RJScript Perl (restricted)$*Zope object: Script (Perl) Edited through the web Access to most of the Perl core Can t use modules Runs in strict Similar in idea to Script (Python)\X#7#R8 *Example, Object listing (DTML) Get a listing of Zope objects using objectIds() in a container In DTML& HG F Example, Object listing (Python) !In Script Python& context is bound by default in Python methods can use print / printed shortcut*OO`XExample, Object listing (Perl) ^In Script Perl& self is declared as an argument.   0kGotchasCan t get an item (such as a folder) the same as python context.folder.objectIds() works. $self->folder->objectIds() doesn t. .8G8G Python::getitem 8Use Python::getitem(..) Arguments: object, subobject id.   9QThe good, the bad and the ugly`Good Regex s, transliterations etc are available.,, 1pScript Perl, unrestricted$PZope object: Script (Perl, unrestricted) Edited on file system Access to all of the Perl core Can use modules Can choose  strictness Similar in idea to External Methodv)]#)5 #@E 0Example (Calendar) A web based calendar that uses some interesting CPAN modules& Elements: CPAN Modules Actual perl module for finding monthly and daily information Scripts (Perl, unrestricted) to call from DTML DTML Method to display calendar*HH  Calendar: Perl Setup mInstalling CPAN modules: Installed from CPAN or via PPM File location: /Extensions/ZopeExt/Calendar.pmb&% n Cal,endar: Perl Scripts  Calendar: Perl Scripts (Alt)   Calendar: Access Requires hack to AccessControl to allow hashes and arrays to be returned without security machinery complaining. from Chris McDonough,qq Calendar: Scripts Create objects to be called. Eg: Id: CalendarMonthPM Function name: Month Function arguments: month Perl module: ZopeExt::Calendar*!b!b Calendar: DTML [DTML to show calendar Returning a hash reference, uses mapping. For array use  \Calendar: End Result  xGotchas fCan't modify globals such as REQUEST. Returning complex data structures can be tricky to DTML.&;&  :  geZDBI DA One other product, ZDBI_DA Perl DBI has access to most databases, can go where Python can t& A Python object that forwards requests to Perl DBI. Each thread maintains a database connection (hard to open / close on request). Roughly 30% performance hit over native drivers Using Perl in Python As of pyperl-1.0, released Thursday... Added in a wrapping around Perl objects so they can be called from Python. Currently works best on Perl objects Syntax: from perlmod import Perl think of it as a dot (.)instead of two colons in an object& Vr% Wr% W Using Perl in Python  Using Perl in a Zope Product FSCounter, simple Zope product to provide a hit counter. File system used to avoid Data.fs bloat Problem: No simple and easy cross platform locking mechanism in Python fcntl is Unix only Solution: File::Counter from CPAN9Z(Z ZQZ ZZ9 (  Q     Example: FSCounter  Internals  Full API not of interest here, whole talk all of its own. Discussed by Gisle Aas in the paper. Of interest: Exceptions Complex data types Threading<l(l '$  Exceptions  Can raise an error by: Python::raise($type, $value) The Python::Err::-functions also return the standard python exception type objects if called without arguments. Python::raise(Python::Err::IndexError, "out of range") vq8,E6 Complex data types PyPerl does conversion of simple data type (strings, int etc) Perl ref object is a reference to a python object that encapsulates a perl reference.   Threading  Perl is multi-threaded when used with Python. A Perl interpreter is opened up for each thread. It is released when Zope releases its thread. Perl references cannot be passed between Perl threads. Don t try and pickle a Perl reference.8G gFuture PyPerl the python-perl part of Zope Perl as part of PPM, meaning very easy install. PyPerl finalised. ZoPerl the zope-perl part of Zope Perl as part of the Zope core? Currently in beta, be finished RSN. hMore information Project homepage: www.zope.org/Wikis/zope-perl/FrontPage Zope Perl available from: www.ActiveState.com/download/Zope-Perl/ Examples, plus this talk at: www.zope.org/Members/andym Mailing list: Zope-Perl@Zope.org()!((!~#' S!09Q!0U|!0~In conclusion&   We want to allow you to more rapidly develop web applications with Zope and more easily reuse your code. Zope Directions Roadmap  A perl script is  correct if it gets the job done before your bosses fire you. Programming Perl, Third EditionxkR kR  Python cookbook slide! /v  @O(  r  S P@P     6@Rg `  DZsub Month { my ($year, $month, $day) = split('/', $_[0]); if (!Date::Calc::check_date ($year, $month, $day)) { Python::raise('DateError',  Date not valid"); } } my %hash; $hash{'month_name'} = Date::Calc::Month_to_Text($month); & return \%hash; }.0 Z 3333(333X33+33-  0j0 P  GNote: Having "month" as an argument ensures I will be passed something.HH HH  0޽h ? ̙33   ](   x   c $+@P  | =   6jg `00m  sub Day { my ($year, $month, $day); my $self = shift; my %request = %{$self->{'REQUEST'} }; if (exists $request{'day'}) { ($year, $month, $day) = split('/', $request{'day'}); if (!Date::Calc::check_date ($year, $month, $day)) { Python::raise('DateError', 'Date not valid'); } } else { Python::raise('DateError', 'No day given'); } 0 Z 3333333333 33333&333! 334 3 3  `   0 +  Note: Having "self" as an argument ensures I will be passed "self", so I can call REQUEST etc& __ _H   0޽h ? ̙33v  &P(  r  S {@P   r  S |@0p    B ~F:  `Calendar: Perl Scripts   6g  Jimport Record try: import perl perlhash = perl.get_ref("%") except: perlhash = [] ContainerAssertions ={ & type(perlhash): 1, & } 0 Z0Z0 Z0Z0 Z0Z       H  0޽h ? ̙33  vnp4(  4~ 4 s *@P   ~ 4 s *@0p   4 6@+g 0E  \ <dtml-with  CalendarMonthPM(month) mapping> <dtml-var month_name> <dtml-var year> pX0 Z 'UH 4 0޽h ? ̙33R .xml$ηJ!>BNܤ( ?b;JS/ FM AEi@[-/? EJ*T"K\{3wvmCQμy_ٛ}dG:p9 'p վd4:s|# =0A"A(@(D(R J^PPPOFC:Xx;`RiQ< Ƨd-c)H?6^ḦDn};4 ;[3_) ct~+r=ئgVg?V!s;᧻)fPȷ+"CPa!BB=B"K",CXQ׌-*VƝ!Ӹ$ߩ'!NvwZ+P[QO~ٿsdhthXݺ;{ԿkuK=-/(55ZNsVmchX8S pˏEsloϒ(39Lɾgվd"S]#3g/x |v<~I͓'GrG d CdIe0! |/O3È+JF8{"its_"!1e.L+a.Lw8 xZT3”N`=~oV7ԡ4ﰛ=J T i_8,K`R"8^#f% wF_ISBmvul@[-C#3-x0$w#Γr/_FαiށRf鶣k[fax_ۇNCm أ6Y+jV&N"jtyq]ja OT mR[a_Zeb7Qѣz@E^lgHuNm3ZT'Rdf#=ň1`]!D>XE+&$6E-.,E*aAE6|lb U>!vgk7PƨF[SiKɀLL/gڑt6gQGa@z5X)tv܀ #׬qaIq=# >h:@W·3LF܏4o,Z*HOif3K]1̠'g&͙眜I\̏3gAzy-89[ڡ)sfPqȗ3}Ws&x˙j|;i~#(J1Jy]sk(] 6WWb7fUBe+ZeUTCuaL(72rϓLƟzc~_=A)0cЏ)h-W_oBx4N!'3:ڍt!7vή̔?c01}Ƀ>;ȳaSZJq8}pC0, %LŁA:ёR[QcQ[rb:LvV=[ҴkmlN߳iߠ}J[+K}doA2ӽ o: -S~Ds{{rFEa9tO y!-܇(So~#- #=S@~;aAw7]+{VygkGzF(͕'jkUy jNsȞQ5N8r,w  G" wT( u9  \VBhttp://www.zope.org/Members/andym01 C Image "Photoshop.Image.50*Adobe Photoshop Image02D Image "Photoshop.Image.50*Adobe Photoshop Image03E Image "Photoshop.Image.50*Adobe Photoshop ImagebQNwww.ActiveState.com/download/Zope-Perl/`SLwww.zope.org/Wikis/zope-perl/FrontPage0UG Chart Excel.Chart.80*Microsoft Excel ChartF/ 0|DTimes New Romant4|dv 0|( 0DTahomaew Romant4|dv 0|( 0" DVerdanaw Romant4|dv 0|( 0"0DArial Unicode MS|dv 0|( 0@DHelveticaode MS|dv 0|( 0 ` .  @n?" dd@  @@`` P(,  H&",   " +7#  )('&%$!  *4b$S11Fo- b$r1E{}"'gUo$"$¤Wi!Pb$&r\JVajˉЎ]mq b$?:52wIb$-9>PP݄c $`33̙@lʚ;2Nʚ;g4FdFdv 0pppp@ <4!d!d` 0,`5<4dddd` 0,`5 <4BdBd 0,>6___PPT9{`/20? %O =e;m1FAUsing perl with Zope Andy McKay, ActiveState Python 9 Conference*B,>  WAgenda About using Perl with Zope Why Perl with Zope? Example of use Perl Restricted methods Perl Unrestricted methods Perl DBI Perl from Python Internals ^>;># GPerl with Zope$ JCreated by ActiveState for Digital Creations. Developed done by Gisle Aas.KK Kl0Perl with Zope does not&  Mean a rewriting of Zope Allow the creation of a Perl only product Zope speaks lots of different things (FTP, SOAP, WebDAV etc.)& $ m4Perl with Zope does allow&  Creation of Perl Scripts through the web Perl Script Similar to Python Script Creation of Perl External Methods Perl Script (Unrestricted) Similar to External Method Using Perl within Pythont)%"6)%"6 nWhy use perl with Zope?6Code reuse Access to legacy scripts and modules Most things have already been done in perl Perl Cookbook, Programming Perl etc& Large number of Perl developers Community and knowledge Perl is on Linux and most people use Linux\ u C u C Why use perl with Zope?6GCPAN CPAN: Comprehensive Perl Archive Network PPM: Perl Package Manager.CC HWhy use perl with Zope?6GCPAN CPAN: Comprehensive Perl Archive Network PPM: Perl Package Manager.CC HYTechnical OverviewQTwo parts: Pyperl Python Perl integration, not Zope specific. Current version 1.0F @  @ RJScript Perl (restricted)$*Zope object: Script (Perl) Edited through the web Access to most of the Perl core Can t use modules Runs in strict Similar in idea to Script (Python)\X#7#R8 *Example, Object listing (DTML) Get a listing of Zope objects using objectIds() in a container In DTML& HG F Example, Object listing (Python) !In Script Python& context is bound by default in Python methods can use print / printed shortcut*OO`XExample, Object listing (Perl) ^In Script Perl& self is declared as an argument.   0kGotchasCan t get an item (such as a folder) the same as python context.folder.objectIds() works. $self->folder->objectIds() doesn t. .8G8G Python::getitem 8Use Python::getitem(..) Arguments: object, subobject id.   9QThe good, the bad and the ugly`Good Regex s, transliterations etc are available.,, 1pScript Perl, unrestricted$PZope object: Script (Perl, unrestricted) Edited on file system Access to all of the Perl core Can use modules Can choose  strictness Similar in idea to External Methodv)]#)5 #@E 0Example (Calendar) zA web based calendar that uses some interesting CPAN modules& >> > Calendar: Perl Setup mInstalling CPAN modules: Installed from CPAN or via PPM File location: /Extensions/ZopeExt/Calendar.pmb&% n Calendar: Perl Scripts  Calendar: Perl Scripts (Alt)   Calendar: Access Requires hack to AccessControl to allow hashes and arrays to be returned without security machinery complaining. from Chris McDonough,qq Calendar: Scripts Create objects to be called. Eg: Id: CalendarMonthPM Function name: Month Function arguments: month Perl module: ZopeExt::Calendar*!b!b Calendar: DTML ADTML to show calendar Returning a hash reference, uses mapping. BA  BCalendar: End Result  xGotchas xCan't modify globals such as REQUEST. - Can still get REQUEST. Returning complex data structures can be tricky to DTML.F&9@8 yeZDBI DA One other product, ZDBI_DA Perl DBI has access to most databases, can go where Python can t& A Python object that forwards requests to Perl DBI. Roughly 30% performance hit over native drivers  Using Perl in Python As of pyperl-1.0, released Thursday... Added in a wrapping around Perl objects so they can be called from Python. Currently works best on Perl objects Syntax: from perlmod import Perl think of it as a dot (.) instead of two colons in an object& lr% =r% = Using Perl in Python  Using Perl in a Zope Product FSCounter, simple Zope product to provide a hit counter. File system used to avoid Data.fs bloat Problem: No simple and easy cross platform locking mechanism in Python fcntl is Unix only Solution: File::Counter from CPAN9Z(Z ZQZ ZZ9 (  Q     Example: FSCounter  Internals  Full API not of interest here, whole talk all of its own. Discussed by Gisle Aas in the paper. Of interest: Exceptions Complex data types Threading<l(l '$  Exceptions  Can raise an error by: Python::raise($type, $value) The Python::Err::-functions also return the standard python exception type objects if called without arguments. Python::raise(Python::Err::IndexError, "out of range") vq8,E6 Complex data types PyPerl does conversion of simple data type (strings, int etc) Perl ref object is a reference to a python object that encapsulates a perl reference. $  Threading  Perl is multi-threaded when used with Python. A Perl interpreter is opened up for each thread. It is released when Zope releases its thread. Perl references cannot be passed between Perl threads. Don t try and pickle a Perl reference.8G gFuture PyPerl the python-perl part of Zope Perl as part of PPM, meaning very easy install. PyPerl finalised. ZoPerl the zope-perl part of Zope Perl as part of the Zope core? Currently in beta, be finished RSN. hMore information Project homepage: www.zope.org/Wikis/zope-perl/FrontPage Zope Perl available from: www.ActiveState.com/download/Zope-Perl/ Examples, plus this talk at: www.zope.org/Members/andym Mailing list: Zope-Perl@Zope.org()!((!~#' S!09Q!0U|!0~In conclusion&   We want to allow you to more rapidly develop web applications with Zope and more easily reuse your code. Zope Directions Roadmap  A perl script is  correct if it gets the job done before your bosses fire you. Programming Perl, Third EditionxkR kR  Python cookbook slide! /v  zrl (  l l c $p@P<$D 0    l c $q@0P<$0  z l 0r  ,$D0 fGoal: "To provide an alternative to Python for scripting Zope in the same process." Currently in beta?4g  GfH l 0޽h ? ̙33  >(  x  c $ӕ@P   x  c $L@0     <ԣ W ,$D0 f and now Perl$  H  0޽h ? ̙33z  *"`(  x  c $ܽ@P   x  c $@0p    6d_g @ @; What OS do you primarily run Zope on? Linux 43.09% Windows NT/2000 25.97% Windows 9x 6.91% Unix 6.91% 362 users polled, from www.ZopeZen.org.`' @  ((%@( H  0޽h ? ̙33]   l(  lr l S 8@P   r l S @0   l 6g < ,$D0 @ @0 Z@ l <$Wj [ Example: List  H l 0޽h ? ̙33g  x(  xx x c $ć@P   x x c $@0   x 6$g N ,$D0 @ for item in context.objectIds(): print item return printed A0 Z @ x <Wj ]Example: ListPY H x 0޽h ? ̙33   /(  r  S @0p  x  c $|@P   ,  6pg  ,$D0 Rmy @res; for ($self->objectIds()) { push(@res, $_); } return join("\n", @res);  0 ZJ  333  3R  <j ]Example: ListPL H  0޽h ? ̙33j  0(  ~  s *@P   ~  s *@0  f  08pp`,$D0 Zope Error Error Type: AttributeError Error Value: __call__ Note: Perl errors are raised as Python errors&  0Z10 Z0 Z/0 Z      )  lH  0޽h ? ̙33?  @(  r  S p@P   r  S ,@0p  |  6 g `X   my @res; my $folder = Python::getitem($self,  Control_Panel'); for ( (Python::getitem($folder, 'Products'))->objectIds() ) { if ($_ =~ m/perl/i) { push(@res, $_); } } return join("\n", @res)2 0 Z8      3333$3 33  3  <Pj cExample: ListProducts H  0޽h ? ̙33:  Pz(  x  c $3@P     c $3@0<$0    0(5p ,$D0 f Bad Regex s, transliterations etc are available No loop limit No bindings and other Python Script features getitemB s  rw  0 ,$D0  Ugly Through the web editing  Guilty as charged. Perl is happily ugly, and happily derivative , Larry Wall ` n    nuH  0޽h ? ̙33s  #(  r  S xX@P   r  S 4Y@0    0$@3  ' Elements: CPAN Modules Actual perl module for finding monthly and daily information Scripts (Perl, unrestricted) to call from DTML DTML Method to display calendar H     H  0޽h ? ̙3333Z   (  r  S |D@P   r  S 8E@0p    6Gg ,$D0  #! /usr/bin/perl -w use strict; package ZopeExt::Calendar; # import modules use Date::Calc; use Date::Manip; & 0 Z   0 Z6    q  <Tj bExample: Calendar.pm H  0޽h ? ̙33  %(  r  S $@P     6&g `  DZsub Month { my ($year, $month, $day) = split('/', $_[0]); if (!Date::Calc::check_date ($year, $month, $day)) { Python::raise('DateError',  Date not valid"); } } my %hash; $hash{'month_name'} = Date::Calc::Month_to_Text($month); & return \%hash; }.0 Z 3333(333X33+33-  0t(0 P  GNote: Having "month" as an argument ensures I will be passed something.HH H  <X9Wj bExample: Calendar.pm H  0޽h ? ̙33    3(   x   c $Ԋ@P   =   6$g `00m  sub Day { my ($year, $month, $day); my $self = shift; my %request = %{$self->{'REQUEST'} }; if (exists $request{'day'}) { ($year, $month, $day) = split('/', $request{'day'}); if (!Date::Calc::check_date ($year, $month, $day)) { Python::raise('DateError', 'Date not valid'); } } else { Python::raise('DateError', 'No day given'); } 0 Z 3333333333 33333&333! 334 3 3  `   0p'  Note: Having "self" as an argument ensures I will be passed "self", so I can call REQUEST etc& __ _   <lnWj bExample: Calendar.pm H   0޽h ? ̙33>  `~(  r  S @P   r  S @0p  x  <A 1??  1  <Wj fExample: CalendarMonthPM H  0޽h ? ̙33  P(  r  S @P   r  S @0    60g   ,$D 0 \ <dtml-with  CalendarMonthPM(month) mapping> <dtml-var month_name> <dtml-var year> pX0 Z 'U  < p ,$D0 v For array use & $   <̲j fExample: CalendarExample H  0޽h ? ̙33  LD@(  r  S <@P     <A 2?? q ) 8 2$D0  <A 3??  8 3$D0  <>> from perlmod import Perl >>> import time >>> s = Perl.Date.Tolkien.Shire(time.time()) >>> print s.on_date() Highday Rethe 11 7465 Gollum visits Shelob, 1419. & :0 Z*0 Z*)H  0޽h ? ̙33rEUF3jY z^'J-M PUb  sRy0:b  up?p !sS( u9  cVBhttp://www.zope.org/Members/andym01 T Image "Photoshop.Image.50*Adobe Photoshop Image02U Image "Phot H&"sBIT|d pHYs  ~!tEXtSoftwareMacromedia Fireworks 4.0&'utEXtCreation Time02/28/01A1P prVWxY]vۺٮFkaD hʴ3$kFx3]@rw)$OIR|?_ѿ`z?=1sLJa=D(1+Lpww_G(1n .ZEJV["|VFro~yZҮ__;ۖ_+WgJjU mR/'o_ջWJuu.JGoۿ:V퇿6ZI:fŜGN.Zf"UT7wOLG$MD8oKSZhI?2yBϕr7¿K~nzRV[c^{h߻w]縓?P9KD8Qʤ4U?L?R1~K Npk:z_KG>'6 ՍE?ɨɉ|vgbwR—xt?dm`*qLtH:=M&Qh2!Ӏ5Dw,:J{*OM?0I{_&b|):[%j=0:Nc5K[Žv֤G^ğ텍;g;i=!+Lb^q<۩ 6֦&64Oq|cVʩ؃$v?=I^XʓZz \=8NLF<`gըϴOUR.+^zb'dH'tUUazfsmQ=ͦA$?qJL%b]iOFI>]lpEiZl{n_&sȔid׋ӲIV݁ν+gγ,^?tc֭On:;ʺf|UE-P:G+pm}K3ăNjsogÏߓ/t/J$Cljh ]vaM1'_\ޝMSW0]{ 8]f_2K:Bu,C1(]߸ynuSo)V3pQѢ܎ XE<+C\>>ʰ9 ~:%Mg$݇ft`%/2ŧكOߋ,;\%k[4?-9L·K ^dS#|:/6iBƘJ]~`e/2Y)x;"z6}}_ZNN^[1=qwo&><'OE'wʵg I4 b>aO5_u[j+9M ajz?l~> 6Isu+'_ecوFS~{}ǢHz6P#|- >;w7nnۖ肃qQyd 700 X0dT&bmlήXk>&-61qQ5H.1ikLI؀GsQ-CDMVð:Au7+xod$9}׭#=T0CYŘx$\MCGd/}ͦx_8`g__07G@^7Xvp;MTW; !vۼ Pu3NMpwU[6<C;_ -{6zo/GS^}3\[Ww;aMxX Lu֖9Y~ɾ)ovS~ &v&~?Prl8lFu u.++E9Szs …ݨ6)(YXj3ܯQSdp/0sfV߆_y9}=~y'#?/W_ 35Gؑ=Y1m0#0#ɘ8y]Cb!8e[%~t-YC?axwlO=lȇpa{K5ܽ [ዣ$7++ZfX7sdd< Oي7W_)hzbOvE5x?zl/14~dX:;c nUv{|i<Pew7i#n tFȹHRpEOO fśx6BJd7D:b%?Svm?w nyEl:z&-|bI1t"˜U=MjuPϫhu&7sx8kjG\m7m'z7kAKk-zxSlV|3yW׽\o:Nu]x:&QK=I^ZN#ލx&(?EXͷu`TmZ2'dY%>P1fL!LLم\uZaK\=~mT᲋NN0V108f_|8ލ >/wU?F\lg M 86&/SxW;Tجo'IF !aߜr6;l̻߬c7=XzΦɦ{m >((]<)3d0yy Ip[qaڂw:"5\D' cu!u๐O71춹yRN1s(ö%-SS сCCGU/W$ yƢP|MakaĔٞ3I#25'.wgCǹs)G=ݪ)"6;1PKPx`]ͤU} X"Ȱ?}q"Ǐ\=Z³-f- ,e9av1JS&n0Qǧ>ə۲놹:]&93OlE,V~Co:Py{ *Ҵ/ Z'Wd:JCfթ.SM$|ieoħpr&&Afz׿ .Z.LݕE 6@c28jsv$xW:\u:4yr"9wu#?'RϣeБsdj cMfneNO7P/2W0X .R#fTݤ:!Ndx0_ΆOz_'Oc"@Q?$wzEn>?}?w9K$ZBpz7*6s2cߣfyѷ.~;m~\:2p#z^v36e7ǁ.\_wPx_~knѻ~_GֳcȲwM68Q/?axb+b}vj-=a4;x)R'O YۏE*{ rUmer+os+ʚ~ʎs:yHV *Xcc$03w$?:p8,61M&`j[$& K#$%![y經Sh"=[~q jXP~$k l6Mk/M i߬^+Vm:nV4fl6ݠ_23ahJ P0 1Wo_=zMT}  SO[3o:~s_ m03~]s^fvd@5:Cm7;~ա _2,~ +nBz]?O__> l#_f/~<7W7,fS!냰W>+8+3y/~ < ):3BEi^`ͯwNF=3;Ԋ2&8Wq1@}X?tyAOO9/Ҷ%+3x!dAx0?Z=^/=Rs3~k9cg̣<̣Z=8C0A>s3w>s緖;>k>t?&m̡s *! {ݙgx83>췖gZuƳGšC9CzΙwg|μ;swu9Ρϙwg}o/>gޝy9̣<̻3w>gޝ;yc̻3>s跗C3gޝ9C| $ ?`ǡSߢ84%Z*~}TQw̳$ 3k-/~>zzSio<5iΙv1js?HjEOmEџ>yoXGE}{OׄU|sO$Io||0AQ?$^7EQWOUwÓqv- EjA?h.ރ~d.r #jcIZ91_d yO;LŃ)w\t;Lg3qL=?Jo-?tHG~B=Ɵ;T/jTwBbΝu/EAHڪFE"K<ifa=x ++'+K| %>F:ܧK!p#&6% 3Y>Ρ:G),V? ea]E]\*Ϡ˯dEKߏ:U+W'}EEc(һ~(?0&]&XؿF1؂ʫ0CuwnG;m<.[Vy?fe-|Q?:Sh>PMc8c;"XOA =_]V_?1C~H/.R@koۂ7`sɠg|Api6;ꢓ܅k?ܵ5eF~р0JkW!S=4"_g(˵.}j窘sƯWbkۮ.j~H1P3uӼxX$/J5/̇|x‰>̅>5̅6|W|u8t˫ȭ|E]';Fdzw}Ox//W>ݼ|/\_w O}u?=|]= ?zyw n9xy0&4<_+ G^woܿn.^pc|yԽ<݄>,fxr !>,2 ga7n_˧gWW>޽0}X}^8s# l> h7?fՇ{/V][+LXwH`g})c7xgt|»tW/WpZBG-ak!4ey޿$]]h)f _]=|!oXɵkesj&-n[s&kf4o7$_KG_!boV  >h> ? ᓍ]s@l׍ލ۵pBjSZK'Lsg (l7 c00nlˆnp&< 2FP_kV 07!lXn4n4~NGDi_u.?hfP,D5 E1|F66_n$: YD':馗;Q KٯS7=icL?a2#:@k/kgjԌlFH0s7=Ql+}nHaz63$p"Al 2:O# ,ǁ&>yZ>p]㔳n~ApDGRHb 2/UN{8~ JYKu*G(`HpWW_Q1 i@ %)S1Nlǹ xA&p@5>3U.n*b"q)0IR#aUS> j%ec  c"!% {M ?T10OhJs`̻GZabtֶ 4J t*- APPҼD90C /a:'hX98J+فbqaI3q0;aZ5ɘs2ChQs'84bka25LS*6Aˤ* X"f$/ 3%-*ЛA w*M1jAգ] Bb Wvy3+jū KheR^HXAd +Ҵ%p`8NyQZT>8^50'0ܘ0#Z Ҵt#ȴMsI!Zq$*\IB c`K ]gg$!s#u&59_E+I0!2Y4ob!eZL@G;BC:ik:GgFNICjAEpehL˥H6rE2{gGq׎fO˛+Tc„+f #m@k ыـn7?\Y]̚0}ދBP}°u|s5D/D+d/Cr[xŐaEF΢9[=[&} }@2b)?y$xHi=%?Z/<=LlVyvўW3zO">|>,a{nM-uFΒxӮE돾mcx5@)R@KկH)M 0kID70s(KE \iqCr~r-U# sސL'$21u2ϬT dk:)qE<-Ϩn㣌RF()ʥ1=YvrSc&'Q ʼn|76nOħ /nBó>w7"\DΊ4lFM">Dq11e]'ڋ/1-'(2~BKqq<oqheQ V𦄩~8^)*P\hay-%1iWši2CrÙk ]JŚdǔɟ5}lM E& Dлݞ-Y Ro2#4"A$ytsfUazk̪#B fYϹ6&D}JԐ׼TvUKRHOD}ACJ*@"+L{LIVe9sTC YPH $2C@~")#h$Lׄb'L bR) ~攬gkJ20$Bڔ{M{fꆟ-$++;ScUD楽t0>ߒ;R, !Kl #TY-JK^0WDaT"AnryYi cKlqn'A \ic8hh'_@sN9ZT)(2g W߁$̈G&QOf;0c$xs)+dx:Œ] XLhbg %AYVcWRWn&󱗎9YsGdGʰnJbXa}Uxq!(;#7'R}@G2(˃h('89 H+NPQ$Rl)[ElZ<WEA @ v{CKg;PU9Qi%YT*xS"tFRBKH"~$DbgXZPE&R3tQkp8 }A NѦ}OpL8i`٢e>laӲ!U` t #<6ߓc{^,t%yV"X< .2ћ1r@i;C umR oL:=-LYhZb#;wD #C)WF t}C!e͒XG=M-Hȅl6'hVyJhS5W2(T+3ctAM1aG ¶]{[k)IģPJ|[*1r/(SFѨ3Ē2k,/{uĚTCYްXx )b+eWo]H0#!o*c,RFְ2̛&<bH!gyxAo]F*)#*μ P>[<"6:AK )-+wd<ϼeʖXReniTǛkpf^hIJÍIܽ{ג(tinrmcIDY2ʐ[oђ'}6xsSQLC!壊Ҹ&v Ӈ4[֒;~93Cm4RAw” +-;Nr{'Xp"V@GM|-a]fn8!Y9]f36sfc2W*?29WT{@7͂!ܱdxYC0ty4H^2[]t!YJ~: S꒚(:uX 2L?4d%D;`^B]}8 fmWpfӜB%4x7Ӂ]S{T{r l ZsT#}ajgb .ۙ=MtoZ{430XCYOrRvPq?ӻqz7oJ~?&1u#@DENDME ALNV՛QcS]Z*P;ӅV΋R]*P*cY(g۱,XEh;mJ-LG2ݑe,i4clm]Y!t)2dYF3-Y~Y~ Y~XXX3XXimKwno/1c!wDz;̶cY,d Xr^, Yl+aBְ Pf 5n,5f, zBҞmŲg;,tz6bYòﱄN". {bwL+NיN,z3X{ 9mòg۰,$WqqKLͩҽT+=ie!mvPYS郲0x dkk[ҹM2d\p6&Yke]'jB:vt68~K̴2YQu0K#_lKxi ϳ^W?d/^y}L;.gݑ-qΣGiD ' S@S Pf[,tOw1Y˟N ?\G| o/H/OjQ3Gik:ӝg_.T5~N`).@=@-d&ȃxGgR*ie )USBfz,{M Yh,B) e]8Lq=,r9,8v YqPk 4YdwQT7h^ܬl3a왾 f bgErxQYr,$. ig7X鴱X4X\6lPVF,fS6n^o m*uXwlFM݊"gBUebUebLl{nsYFTM)yf;F>3Wxֻf2K2[z=3S6DǍw>S6qu(#.C]34:d,϶X7풱=$czGBtn ³ 2zgc, <`gƕA4Xbm< cyB_l#> m0u`,s4X遱e9gc oEh6>V1 o'E6Յ SL[3M(*;ŌU?݃Q̌oDqwM0jSS5ՊLP1)@HQ)@nbz`XT ς۳RNQ)68Иb.F*Č |v#O)!Ŵ[uDw* O4|NmD$B/ixl68tWS3ޞrC6}Tk 003*ÔhC6|Rf:TaixӦn^|0%epmk;j,8czI_`ǍN"!œ +΀&|ѭFF0nn&Qփ)GE9 'HW%y8a?v+$?eR ;Epupkp`7lҬqsUkNAla4-0R+ !ޫ/]M8*! pJKajlX~սg ~\a΋N+tuz4 ~^cu2t^a<o< ,Ķ~qpFĵS嗞;{+_n,=PC X p, Ϫq{`iS濽 nt5 d25 m:2OH ޭ-J w\슾VOG g΋>?aH`NV{ˊ`hEt༺X[2fvcѶ*Q'b yN(q8yk9DU 5JuS~㫳LѓX-RGp^:ox<h-m p# dz `a0Vj!@b PjP$rTg0PQNHk." P@KIpUQD𐎩A՜W( Ba\q9#To) π$`JS_E@ v% qO 88aK8]DD:h͆8m3;p ([43e)@&"##\PɊjW96" ,P" ҃hP"-ז15 ʩkYɋ4;ȭAaD%/B?(6k0@m`Feɤf4(wXbm9\}T\0z@hHbӔˏERCU.@m*,>t j6(&uC?#5J#EH4ـcVɑXGS"6dSv*3aj(tgvLESc9*=DPV e3HYkZȺD,g[D 76:u MF Cl(į"*-:0]NԙQiA!&'&VFҢ=,:ô1,OKA [*XLd T}`nР71vLvG S+˔J3Lb!)Y @NU +*KxɆ( 0qAJPɊK}Þ2h$da| 9I&tU[( Q=JXɀ: N=,@jM9,I"OQ@q(:3%lݰ:t@3}~.hyU KrV3[߹U>zЧt>nCj_}^>>w0Wݗo|z~?w&ڮ;wCeG3q21/Oŋ߄{]:Ď../W_tAͦ{ȳ^уsƽ| wJI 2+;)ّEY CztD:i9c.,kb6y¨B,J\ٺZc:.Ԣha[H% zsE 㑉MÈ1vbH\*ӆC6N\0qDj f ,{J 7GqՎdc- 3e= ?&qbW"skhHO6E+)1k̯o:vb16eܨleA~ꩫ#-z laa-.HE'T(nI#pר/9Y ꥕6.F^Z ڛZ6R$Ҳ Hc:m~L\ 9f,:e4~g^Zǹ ("^Z8 ߲b>K^VFݴaF l8qb{zA6xW( i)D`X4kK:)-[0$0)/EyazUH)61-v=fp}=o(aðdza5`D02@N:Y˚bHrbi0Owb ޵lq0%yA=JиsDlKǦ|Uf@Y#H,ܜ4Xm ,Jf V<8caq$`]z9nxȂ/52,88dÀ/ h3-ޏx[谅Ѩ]y4N"7OR n@y%Ȇ`M*_DTXt§IÈIHMRS8474(~\%`ց|jmbVhu&)ȏA5 #j9Lf"[Pi0Zt hv.QDN c)4 5ƹ,?Mu8ų!!FJϾ} P{w 2" hTJvbs,Q")MG.KNaס"凒xc)FӉxPuJR`}Cs0V\J"RT;^Ĝ010/9Y AKt@+!]L:IJq(!8%o~ 60v݇ן t#F݈iu[p{-q}XzӠy)ƄmR;ó3aCάFn_R[cΨ- Df].]2msra.?hAN"|8" cXx$*%p]*h c"Y[6P]ˈ@9-[JhU@wi~  &MU5R8 @D5 ސJ"RbQQwhsL<kĸ,%80QotKݦ62* Q"vǴFsbrك51C 0 5{:FzEN= rg HA1dSbCQ-FVԆ mH]B,f$u>) 6gA]S»'dҁ)a}= BϤ( Bn) Y<t( ={1n)(--:)`!eT@]IiZxa45d"&>`&c d+ZF ]S@hnjuiJSÓ8GyaPJHK# ya0=Qg1"+È9lo%{!A>[+hGfmWG/Ķbf Ҩz@'mH9$x`u%nGw0jR9?Ya͎v'1a OwtYcs}4StAt*U~%n" 0̨bvtaVG,RɆ@;^"t2 谏QA@_ufUhxv" 4\IGmٳ;?zHe(&R\l¾c6 hj:`;o-ZB N&d Vba9/b+Ehd{xDvv l8$а&3<,wQlPEkg1eU.$cԎ]ےٹ(E.S%Zn~Am(ealx!6`3 +|[R)`5s9nIZM,2rb Pl,;@Ph04F1hדȓW1F2\|1b#1g,Z`eև3 ñn@{ Nq" sW ";E>YWyi+ `%EF1df粚6/8^h3e.~6#}tp9.z׉F [utXur@P[:ءwʺCOP(;Fq~o`ZQNGld!V$&ۑ]o9!TRհ]QـPQuO7+~qO X0Y QC фŤ=S^2uT $I`*t@seWG¦r힮@[Kp%mhe6bIgux? {2AtѠwI {=mH,iXf9(I[^DYc@dS궒2w~8颣$z|JYL!1bP! bԌu̎T!@:')== ["0XYdZ~QYbYR@_G2i.'G@HKZ4$ }뱍C ̩KAWjc&. f" cq &(#d 5hp6 AC -Rbi<^Q>J[tC"F6t-aYa> zy$׆k2tJےGv.Hmo:z*"%0"&16-;tboȤw΢ @D!ٌ=TPs\C" {ƧHo̤aއ-;YgdoJӖ$Fp'Y%F$>]ek!oBzCSi08\z=,ͤ8s1/LI[ɇ0~b& /:54Hs/dMiKR ]L0"Oa S]R9i:5zܖ:QÒFdnihh#,m v0=|`NLE9|l%M[+T /at]д%1sye]qƷKI uŗMO7HoLF I+f*0?ŵ`{ COou`6Fo2 5[]9E}ĨUjm*P5L((s0Ȑ539+սcXPlpt`g"9Q,m(3c41AQ E-VʪOi ~3 6]@.MLb~#0ڤG fj(^uu"VTM%)L ̲Ńz-dzg2۬x3 zKDA㶠]ɶ6 \82mm!Pwi*m8.tI h5WXPI/̷Ro}&x[\npyl]Tn\'ym5 ʍ+Y;es @fwE%kkw֎& Oj]d J|4Z J IJV?R@fQORlp*P0n%8:->X*Xj#5nhI qK%+H) jPcrn-;P[bc+J=lӡ$XxWӂI!ΪiHLoL* 4f5*6hZi̝yYb vnm X~nGj TQ -FlSb9t)p]ڢG#J Sэ ՇδX2]ܷp̫$@6C&+*RfX2!~{@QKomQI#ImpG6{t8@LPY<։S^L h 1 4 :i-+bP,ȷA!LLA@J;_jQe ZʃI0 L 'g[ h٣h1~m(7hs`l GD8"ɳ ˺7khlܯmX B mX{v7vl|ɲp` |(REyP]l !C̈́ zN92DF$T*Cp A Cl:i1?n\.HaNAf`-65r*5Zb8 ۨ:cE@ m˔@W"21$iQ"Vbl% 8g-u~'A[ BXhD9 Ğ)NqnA4%+*Nog>ܪ@ D!'ΌJ\ݘu'E(f2Z$Ü[ -$<6(kG%ܷ(K.cZZ J<哰\<fG$a{?Y4S`1l'S ɵ49^3x֣X'V5P:JNHr];m F͑Akc9׶5GƮLl6j ROn3Yl?03]"N#;+f914 KŁ! Xs&xa¦ ,5kUt x==qCSxŽp@3=y^`n($JMPD1GS8a}☫0;v1AZN =m`mf <iyZNα7j 3Pߠ휘kM;WeNi{a$ I]o')CP&wٗ)›59[C/fCL@3E Z+azS8B댯)u]>PKG}w6b0>'7G?G9)m$o͈8vDǬ6xu@;q)iwշad`W83rղ|_ ,yu5@}8X`a06%Ql0݀eEсpfÞ\jpljb_0.Jǝ\x NjVsva.#m=;*M, 4G,:1fPtGeRUJX@︯6A@c!5~} I0]vޞJ 7&#, <Ȩ WsLH-ؔ uX]`T^yE  I$zt4@+RR2Tؾ2U7PsRFΤU}\1#`)bn1~9PVɝMB/37uQm`&FD̔zШ(+b nc= IrVo7?  Y=5y &+rTEBccf\5Mկ_zW;pnؤ / c/}V-e^. /~qEpp񼻸]E .n:7!:xGQی}SVAcSSX))q40KrGܘjgL4-(te#c$fӳ;0xsJ̜";Ki56&;P̐RMnqX,ޱkEJP@{Kk=&) . ēy{E- K5I<,u"[fcF=yӆ!;`gl=6lX3GͰҤ&80RORT9&DGje*Q4n6#L1V?nk;l=-φóFT1C2,Z*\= L}D LSU[JXM\4o³*[G?ksʬ&Uf<e=i ((3t M2v¹k@*n ! Ȏ@kF8rJ`pmYN[pM}eCeN4Y:hk5EZq̨3wHKdLL^6ʖ4,im(DةQK.F4<!o0F&HR:p*ڝ D9f$ 8~-\x?hXa[$| FQ{ D/̞,p3hVE5 ߫9&GQۘ+(6뒥Cqioޟ&wƏ90tS=R.1:cQ>h XFz;G4=@x;akRZTT#3@88EFxDv8 {g~Fd) 5N1OÀ܈oG;6WuFH~ ^@V1R"O@sMІtF^? 5<}8T<p91t@DYfSY :βZqnFNxɢ')0.Ig*Խ4`ґ!JC\KSzT1ٛApks+rlkhu!4mdb[2D^΅J1ac-#ʝlWd6%R9?uf;CcՄ4:|&Ro 7p3zapG˅OFpS,Y+@'΀+ gM|G3>Nk/la5fg`f;yvRpBVpaVԶI(Us!ܯ "S!iqSͻN%C80h gنk3*iƝ |{&;{.c"~m=e? s?e^* Egǿ|;)u,yP&(7$F\gQ~y@&iR>K, .&Q봬,kaXR*b)٧K2/jd٘qL;vNOg^9m6xex2U!nR80Gp-yzM!&OFlqt3T!MaF4˹M!r[gE<(|JCrp}@ %i[S 5}$LZC.߄tiPCH9Ҕ êZ͘=p AMj%ɣxA3 RN͊PH'=q=B#yCP{ &rfC~D QNGLKGƎU&BS, & g1&CځA,+Ҹ&*xX4j[R=\jXK*n5a:`K0vx2URr ޷&#YP::xhwG[P9'ZŬ,`\uϹ(k,2q@ DJDNJi!ԢX="~SxME\63z.B3Sٹ31I mqkVAHyC*Ūw$Qv㙦}׏jU HU)Gj֞/6,à_Qo?mz2ߓT%KVd78݁Ak7Å&7P9HNk2W{Gk?_]Lac 5r|캺P-t‚6hD)fk>Ԟ\HZ9_[kyG%48r.!qW  &`b=1&_} A,Zi0uW{9*׷.V8BXȑmo,0hv[765Z=``쁅YZ.v)D҃[kddbW&Rt ̞gt=JT$ y4'PLzy"7]"ҙAG>1y"]T*Ȭkh?phvLhHR.}} omwǘ ҕbTMgM =1߂ZUK=^ytg+iw;k:ZÖ&H;F [b§s5%ė7]oGUWo\O{%lg5SvlB03F}?bY*{ mb香ZWĩ v]8S<?!1t*sa 8늖9615ͪHyr}6c#'qX1QM2Ζ a :aa{nKa^qVGp7BL'Eyy&Ε롭Ya,?`P7!0f[6i]rtd; `T*.\=(p.mSA_̐Н%}0/SW}={EKڒW˳/Eiia\?[ mZDEU?q{5V[)(iؐ+ݐOMc㌔](J+ ahKpNڳk}+kNj#5YHZd)]kuUbvM\xm]5Ʈw4npIa^<]m/jZ+SU$~+3M8/f͟U5l2-u wK"ae/֟ڶ\Ղy5uqUƗ0pzDto|uMڵY./vi0UZjC/nތPcr_zI~ LXfi1]t+}5+FWܗF4-Z.8ptlrUo%]B_ M!ٗe.46(hS;JkY'/&!(Aˣ tU G%{M]٨S:S HAvf yiF)J(R P|aJilΟ s8,K kDHioUp;`k5Uq7H#' ׊&t\A.:@=] 'r"{ 7O6\C {@iOn ^iϛWueyϾ4?[  9|ʗk˘Cԁx璚 /޹L8}4cFĖe"N;C#c#?6RK6LvA&VOv|且GC,7Ž*No}\:<+<|)'{am7&|0Ť(lM٠3H_˪zS=hPS)Ϸ0Uil9DQ=Lƞ%n/F'+\*[(`kj}<!uBItK%#gS@Paٯ#Ƨn+ȟю Ht;OWKS,EiLQ'ΈK'f>o!T-+BYd VB,@1-r]rM7@ n6&lXE۩3=sq(QNtH1Gں!eTl ,Fn#+B@^7\RK )P{q1_ m⒮$#+ (ȲѮeIKDE"Dc@@i u"@9UˆBO՛<[q%1=aڬ@#N`)49O~I9I =ŠB+EK/>w!rdI.{4otFlf}i^`p gšhom {ڱ^d!f=n_ْڃNJF@9š/å9ݸ+U0Dv/IPAk?XQb:l6 / }bd~}46]mue>V/d#8+NIA**ۮuXM銡aw[pF5Q(x{ཞs%1#]Ҳ9om p]j!g4)/5K5apk75kLc8 FGVHM^6MI 7YC]N̞A{'[pLR|ua)k-ro ]+?k/^so C]I Oy9,U%[%{]p%*PĊ *5[+@yq%Romp9ˠ7:U'fBPX v2 d{Y61m84½,MZzY@lvdSsx"i-p2k(c4, !6n;^NXtS 9v?fpءʠGnjnS{y)߇S`G} b aFj`4kPE "ztJ\&F)K)dР,٬z5Ά`h"zٖuP+ZZr_+sH^Cx؆[>$/".K$2N88PԌ /BQ]g8Zl1+ `s-JLdվ+S~ҏ?]%T v~+I2;^] wr`F /=Si+I)f& ݔJ4`<&mtMX.Ǝ/z6@R62~d`^{.E˼XD+ dA/t1982賳 #Me<B68y{JI64Bn36Qų2Jݢ{ɋ8|+BqL֩NIee ZL:CJaX:)%k جL؛픽QO_@͆j-K~XI鞴-%^v]Z7$Kzk/cMfx@IAQFY'¥u7=smqr{~i05ڱ+g/W`zTksrrHɩg,#S;q¼U)^.(e*oxϿ0A!:7#f9u\dr9˕lͅ[cU WС%4tDм<(B>uMiDƅMy&ZG*$x'nlnjWni8%е47Qs[PJ\+`9mBh6"[9X_hsJc]|Z))$yUrY䛴%!O loQ|9V 0+-UAdrm"M!\̌t ?W6sդsuM/-+Yɦ %U`d"|hDQMrv8ԋf@6 Ly+'AE 26CjO\~)U3]As-M14Co rXvL#ƢCjN}ZJ uIAf$3̳rnB .#!K Yt6{eN&^M_هŌd&ŢG{t@L*mj4tblv7hlb}peHyN, 4-uWT}d<8i=Z VFt!LQG5ыiPd>L_ ȑ C6'lwJW5Q. \C+p&)Xa@kĠk[hr5~Y#f*6dߔ{K'*ef[hhP gT\>k[%"hAX1]?l31F(Ple]gNݖFۼ:lPyZ+'O6gs3bLAeVᆪ1u_LZT {CO{Nut:Tx/Qk=3y5u.Yr(6Դ-{/Տ#[Zu<`yh_Ϲ?_ +܁27C"/x\qk('dʩ[bw;\K^1,qngR*^Z+HE_\Osdtu֌چT? sui@t>+2Չuu%H܇m5M^svh \fOZG/|i3Br&:BO#vjsTIgmS;?cQ<{{2ܳzYתB5Gcu r^FT7&B^7{#an5%ȭV"XiXi˄udM%ؕ+ViV =i-fВTC >;IgZ_5*.Ȗ-gY^4b ﰄ{2#8Ngm5[daALv /y Dlk`M1>Uk0ӌ6[[1Iiiڈž52Cgy WPQOgeL/ծq6J^07% .O/,kQ ]v 34j s s] ˩qT 8rjw9UD5κd]Nլ r.Unx8"o[AE ZqE ]n< ;̄$֗MYNMſ!ఱ,gW8@kv RtuD 6Wl\P+3r 3"7v f$OdcXA7Qt\@+{ ' J cQPA.ތ#7[ @wU3<ϼ# Tz(8У`Wf3Rt}8Y;d>e1`:ߗv WP >L&c{C<0cQ }`XKP[{n@n ۏ|Fe ]8+aKGXg}!]d adQ9ȲLZ1> !#ƲM--W.;-&! +.(BQO8S)_8uF/_ e/A"ΕnRO0}>b3&_(r^Qt -N0\^O9$5%6V%Yss#ήd| AKgh.㰹8$0qQ!x l,u/5o |aPQ!8imTIB>V N/ƋXiCG2Lu)=Q6?& lw+r]!̈́eɔA8W_%࠾k]ґ2\TF@plIW\GOIFc@8>9ױ+ aM.[Fc^T"v;jM˩-LQitu3HfAѷy0LW2?!/nyPb5q`aʚprʾ>i#)%])kh6ȃ#38V+/IULp)kQB sδ5'<5IwFS[|ȍI&C҂(\.K`2OE{|PkT$:1HxUV_Ғ(k}ǸTBNl\)*ࡄto\)*Dtn' ƴzE kf/5K5־{ /h֗^FW2=h JQ+" rL;m8a3z뛗FvF$seʤD!",9"ȁ|(V 6(߻wʮc"V,x|x3^=!s2, lQ#]8Рr[Bf xK ӡt{A;0y0!2;tgihYg&vaZՃ΁x\.:}gcޫQHQ3*av+Ȝ{2*4g_Cި'cAĶ*qeOQ$E!^בgjR#ofnMM5|VӲno@@C^%ΰm@C?N5θi@C7ްg@C3^~ˀ^=aǀV=ax`o- ߼z4 ]{ov* ࡇ`o( C`aK+vrjKFPI@*LU(3 Ib:knN#"˒zt-f%]MIAx1Ĩ)mjp QrP3#J̘!a*ūɄ-hؓ"eyD@BF,-*&x.OKGuu)l51U/e#4) j&yHb8q 2|m(&^0Q_fmZʹB L0K&+Z} fmBͼ$Tdh1~&N!f\4-zo 5Rtj&GbgOJN zLL$2RYmAx&8,5l kT `wT xãVNaA,0%<_t@04`t+ (p VIJ+*a3saxyԱ^}_͂3A@͂R:dF' ɠa^B'֤e[ThvY˱n[BRU k3aJQ}A/XLIz=X=Klwb4d~?ezU^!N P2&K-+3lu `/?d2b;*t򲳬L] v39ԋ;(IL::<;2a * L#cW& h-3l5ԕYC׈逜_ kkB DLPoiBڭ@+zޘ[Lh<̧Gέ[<&'@d](jx5j!o@ m{H@ v0+5 zDā]|ɾTN%Yr2D$KLwٺ/WFJDw0[+1֖1TgNM^L[f7_zĒH!H* W0\^]MP/'#8dToG1ӑc ?ޫxrx 3xا?+[]3!Pǁ̕khVAԢԗx `S1 tG%N?6{ӏ-̦9'i'VN?6kMs+\In0#ǰ 'N9CAوQn'H=4[L:"'c:5Ot[8z;KElmNC8LW똛17oo7?}wy`I77|J?}3|Oy\Fݼʗ~_bͫЗ;}uEKw efЗWo_}U| 0 yLyo޽WӘW'wӇ|=M_O~~줟kGtpW,%aJ6Ӎ9?t{¾ }\T(em?ֺ%ZDiyAuOiU6l~r*};;-n48썀ƘZ0^^NWatepIq~00C&pT]Y՘!{6 ~:"V2v3BF2t_zv|T3k8NR7xޜNH$lj2Q?QNhuUjUM џV3FV\f]o}Y!>޴KQ\ RCr'jByqrk]GWosǮ̙ ٙu$sܳ%[^;ugZ &hYEVvs4(ѩ8%p "XogfaФU b y*nYi]F~U:kp<)ka@+&^-**\.zc8׾"OAa{3@DT>099VY.Rt8 (j2j6n ݧ~49.3Q@$0}G(fYx>ɡ1`xGplj$5c'3%"bD fk@n-`56ȳS?Xz,xmlj6o8"Hz,hdȄ15zAPQ%d ڴ r=7(̏-zZ3H<;chtme֗̏-:[` q‰\%.5*Id% IX"u6݂~"FVS=ȾT)0:1IM@,Ƨ3@ri# vrZ Z2; \m[ER86N/J#]E?t!!25H'+:j+;&/Sٳ7ҢāO⬁k*[hO du`Ef @TlP*N$6{@Gp kӤl5e ǁjS&H[ h2D~ Ot%|8n t! )\i25ȣy!VbH?H@yٴJ||3ъ7.`eGk o $Y(^MYaY,X!MKAu˕*,"&gj h\| 4%k7ʅ79tJ(VR ta &AX;뙎]q@Rya=% (5+3&C:!/oGr^|2%VX 27MJ}K^!O"31Җ #HfQ: VCNM"(ܵB4fQ#x-]bx[A3t,YP/д?ŢaU:i0{-̒JO8t*1M8pԉ]V LѲ2 hV|V9Lqe҉3 s)\t+3J.jvR뗀<5Ho1U'GDJIS’hR5^Z'd93PMg]ZzZdE, d?Ɩ9xIOn8bV5։NP # N5+G:qC>?ҟ2P@{u @D6$%Mx U"fM)M8ݒ = BmB+@O$|%zRkIUj%K-K:8i~wk7Eʈ boeBs:)V*LVnEXG+Y_t/GkھĂ` k6fb)p5- d:q r@g21d v-@Td)sW_k@0FlB@ԔmvX_ ,* n\c=Nf5$]7/8)Ki'.QQ( ?T @pqp%u 3١tLt|+cCt@ލv$r&.QICܲC@Oܴ R%1KCsqb>;;H4hGr17@6Hǂ+P4d< I[`^,[~kߪV`t,;RYWThƣ,h&^y]Q<7Ij+;(uվ6]":eHͣYdT~U[I+hG< _L'^ޞY:b1 Mo_R? )Lň׷䏯%Ay Zl>M|.X>շgܔ߷VZ]4%.׹(mFo}uڋWT~z|])|K^My_?UpsO 7i||osԮ_>L=N+V}x_|:, Aśr]ـwXſ/w=hk9g ʲ?Ez}%_O+_$ܼSw$|OFc'w߇"򿡿@?dw\ߗBfmm3|2ny,/J_iCfVOV9}ʺ8?A~iߓߓA/϶+eK0N,:?]ErؗyG??}e9YŨyi2PAfxJ'JJا?'!rOG{Zfٗwysc=&_$g'awD+^ j_߾nPox=f#+ZRjvzooeoRQz;X#>Ew=v9y(JUSL`޻"P*—~h{9mRIC_֢Jpv)1E/77,<t+X?ٷ~L [ *!E$@@.~ z3I~b][L %r`$|\~Ջ` ,3ڇsUΖbU VlȫruDAV$>',Qy{lrJG2y@t vʛά/Gd>Ά"a[M] ^U^SP2{f6цu%跣?-;Ⱦ@ն\wkG!i [nM{Kk2L;4RYCV!L8Qjj\]/uO16ҝuA兴2h24_.wi_q\3E.7)z-T3Ewg2*2LӺK/ڟQ#^/c;c&͜նۊ} '.F/6VL'3m1x}A "wv#,xPۿ;L'D v `~rtYUBp%<Bí|lѣݤ:wPP g+K@L~U7.y)&otU4bԼ %vr糽>ab\ݣ+5jM Z l:6䔛&3Um@'|{-:LZ^Ԛ\z{UGk=Q6LY!3UJ8 {ܪꃣ"q$ gŋ̡$,̞h>;jay[ |>]@FUuw[Κt}g`tLLIc+ c+ D#vt_g1,k юI?VGo1{HPb2rbvXwdB!MLK):Nщծ7kE̚DSXRC*]'>먁s;wө/c Οy?.nĬһ aGb5;,`uz_j09F0md_k;I[B SnQ^\/ anRCcBP򣳐}>a}4G1 H!Q,(b^혷kYk4(}FTcr5<2OOYX4# $ CE9Yx9v˅]F][č%IuUBƩh$>/:Kف"8P@[X\ Xbu}>Te=[,+ݽINoO,ITLbSo$̈E(9zO,D(Ӧ{0 i[N+Zt>5w9}6Eά1*Ԅ7}ͤvSzZL` y,Qip<, Zl<+kf> +g6ϑCUyۇ euᦷ"8@!z>Ev͍jV P}\& +boz`5]ptuذ笱~lG,@o].j؄#` 41r7-2]ѭ1U1kTQV{:XժZ۲%kskhwK@ J=A/Nt+]k[,㥝 5l< P 5"]SF "\&ʣj b>Z0~ ڒ;z^y}pӰ7Jv1Nr:lV-SdJȆ}Lw;*8f?WNTZFr5iLkN EmjS֭HEc_+qH>Cu 6ЉĦwwre1)'_&̞>:okNɆ~bܞ5(j5dIUchDSmx>Bc6dZ*_vRd7GayFB__]cٶk'^_h'Iڭ{~C?vJ6ş^֪$M,clhE gת3} @h>KIUoA(T/viyPs+H4x˦44yyÞc <_S7Ml3c'&e!մ̳eҶv63("bv 2Dײ%{,es]1e9" ѾUUGO߂hӖ`lzy 0xѥƊG pۏ;G5x6E/R@[5{/V|ȸČ}I vζ!ME_1 9^z6 6'lv~Ήߘ<ׯo$!D=ۧ za2MuzG,%"h!Wy9ЀzHBz {Br%Qf¶D{+rK'yţF'{J.,nE_z!ّZzF9s̻un=Yyy[19ohLue8}B[zrc"sZ`̼uN ɷ)190:[t9ýuNV#R~tPo!Iqro19q3oIwd/%RGtNwN&CꭓY!ɔ|d`ȽuN['SC歓"}BjwmD{̾uNC(eT{ioPѤc\bmt$鲰Q(YpLub6E!D94:w¢[W8m :FJV<+*ܴ؀>{(5 :f8D~7v H+=e,ݧ-]ZdnC t@sB+_Xk/.3 FӲZxr] OgL&H9ȋ>pkڹHM'Sj T꺰xZE hRt ;csA:54yuZzsQW X+_c #O f~D鼰'UZ]ZSAzjo@)yљu=uݩHol]}NMaZ b˓ ok {'hp_1Yѕ Nvgc˓)!g2drz2gyv^P6Amj{J}s'tLzm`l,܉(:ϑgi0ˁtԩ%M GˑUހY D De1 %Nt(X@L$Ҹg©I Pl>MI3d=5Nzgs4>LyY7n:c~_^ў]6s;G{ڭٮ緑rҞ,.e=i iϽ13f=@VՒ,z`_j(K!dFɊ?Ȁ^6+"bI];U4=Wd]hW3>W2f>WC"|fb!|`!|`L!|.?f>oj g $<`LՐ{D_T\6"i0$$"&O@Y5 ZC5" cs1T\z{|.;f?>s 9/H6ux2:m*j=]b {q!b==a Pa,wa휚QXLK)H~e%HA>0[ܪ09fԋy/'5 ɂUu@Cg<{[EeP~^lnWf*L!AP@:_tZ(q zNXUD )!B)%[OK%Dg.W%@Jj=[mO[³#R7@Q-9sE@u9lc+p*De˄XSLx wp}Һgb! @ ޓzuK&e^Irh8΀\7i\Bb{ߒt;ݾIT+I %^OH+v_ݩCv,7N{|oHL.J".|/y3$%V~hp}/ O?)߾%DFw_ү0)Ryëo=C,O goI}x=}t}x/ݻw^{߾}uiSIF_~/߾gK ]/リ{=}|_߽S|矾 _^ =͕v?>W˫7w2eA~o~FS)g'({NWR 17ߕ/w`ëϿ,sƾ?Ww_t睾zS~ofIazW4ūׯ/ESfLuR1Oz›|ih9{n:"785R[~o_aܫݛsy< p eBhovn^Ý}>U|>{f[+-5 a÷xMаڹs:o~Ҭ77Yks)ϓsìRK?i:hE)vc^`^XOљ=<6sOm7LNn&`70G [Cٛ=qoפ K'D_y-esM I+Ewj/<@<,z\R͞ }o%lt5&]v7៿~_kY}Wto_Zp͟Ͽ] _V|'@O|AyWž|` 6ԟO'86_M_g3:?~Ww(oJl+e\mkBSx]N 0R>6QiRl@ YM|ٙYFì#FԀȩ}I,%XV3Rm1G>e?CЂCض2x ل؃]ٍMYDJL>$ҐeRP6U Վ9az2<⚓æ_l%/~|'V4[q1mkBTĐx흍) q ĉ8D^>׻gI@XjjgiЃ`0 `0 ?ϟ|:seQ3|ӧO|:2|.};7eGFO6_Qv]T]^ˮg{>pjzkuo{yye?{-x/ D:3D&򈼹e^Hyi#/OGzϪ߯_~ :sMe#M3Y#=2 QЙ[\s=E8}E>GȩT ڲTg-}VfoSVwzV}./>~!?U1<#}=F[ ~QڋBN..+푹^edLo+[\-k dW(}6q$#?z6Bөi?L7!3O_Q}Пuo[=tkȋM!'}/Ƈdr2_Cﲨ: `0 :8o=+8-4}۞cĥXdq{bUq©ήm!ƶg*ΪU\z[GA=^+ru{LV U?)V>ғ)x|Yҁgi\yi^cUo*= !TY?rfgWsʽVn*VX#=Fϫ+[F~yH\L~[O҇h5ݵTow|Sfӟ+);F;:x )/OS yUo2e)Ve3'wgGg=J^`0  ľu kU,Ksؑ5nY,bXw{ w&3QהNQev ]ƷgcH˞i{A3I8hwduwUIWq8I>+@pQşGcZ\ƪUߝ]/:3d;ɫ:gB9R|GW~w2;fzt|+i5nΟgZY|<1NyŬ|E7k?z/k><=Α}N΅>uWydʬdz `0 *\?W8GY:Dgcg< 2+'W6qn؟{ru"wU쏘~c#T?+y{Q,,^qF/Xv8.֩g3}ȸOP ~n%hUG4(_sn|W}Tg&x^c,Fѭ+ <#+}/Uw8BRh_|33!mr\7U9m({ѝpvew[xG]߱?g;,nҽow8]וb?OV=Z_#ve?vN_WrYLo;1g9pV^G~>[_vNOS3 `0Q[ veO\k^8֔v<Zbz\Opbn$~}oz3ј mK vU]^iNWA#x딫jt q :E= z%օq)CcYEqyRG-+u (K\hP'*^ء^q=m=y|Kvūe\rȊ4={W1;=ݷxp;o@>ȘT\Ԏ+C=*ɫ|GJOCW]x1.ﵠ9_Eб Vq)v(ʑ}[GwǺ{-oSdו_˞׃2;iT&w*w:g׭SOsj%Z[~_˯d֮+w]7 `0]kIu+eL]ւoA^;=GR?v쯱;<y o$N1紈=:ߥPVu< <&3KyC/4r)i=*/|Ύ^]QNН1qGw>ù{ ?Kv:A}E:_n+{u=rq͓̳]>>d}+|L01`0 leg:׺񶊝`W,3O?]\9P~[kOWiGc~)-<w.3q}'vuw$Vnv(r52S;Wk_Kϔ8B/hEՠ'9w?K;x:x<|@cϽVyc@ۖSw8Bq]=2lBe6V}eR( VeZT4ade2ޒ+nYBTqSߔ<[&=f[|szP)G}{Zׅ3n7jpWwftEw[ǽ;`l? `0 `0 `{~i`oLy>uoi\qK|}7Svu9G쯿c¾#>,jow{ՆݲL=mW2u_8دjo?kD߱mw>#}E:OۡO;y`$j t mkBTPx흍8 FSHI!)$FRHnw HYx3ꇤsaaaaxIǏ'U{o_ھgW9 o'GW {>~Jlo߾)*/N\ϱov[iZ_ձaJΝ/:6O- 92b?Tlk%?_21B sY5>:>c=1Ow y^- ڶ,XzusM#גU]>H_yYv!ۉ_mi Rus]Xm_g)YY)m]y,m z1aaaxEߓGקo/Y\k6xjgH|yu.\aæM&wk#ϐ$?]Mo\Ⱦ,/ڥQ@~6s?)}, l gX #vQg Bٙ^uのuhm?}{].~}v_J;xogJY]޳@.)oqC?}>@Xߘ'-(W? źvƔOʙRv[K?[A}?-wmՑ}g\=c}M ggg DŽ-B^k_g?F? v0||؎=ǧHPgs/hؑI t~{n^}ZyD5XWvO)"c0vY Z|~_%/,p\ɹyΰZ/;/xs_9?Pܯ5ݻ\[y|č8gʱL{? 0 0 _k3>z_\S |<)b|7aaaxn.ta?l^Cvkؽ#~e)3<3^kdlc&jK+o"e<.ʞ`^(3zu l+6v<ï k7]/lc[`On}򚄫 G뎱zt^v2)?;Wmr5ocIz?Ozx{&!ez."ѯ 1Gg{+ҏlw<=}GݽFƨ^)zIpG K֜{{e G12ۭqiumf>.}~a? 0 0 [u+7Svq֭y΅ ?ނ}XwŶv?ߩDZۓ-q/?߳=<~#>Fk"qzrQo 9r,nY[;o:)@-`ק-7({߯S@µK9֠ɸ>:n3 _[_*mtcmC>qSL=<6;ǫsaaa{xˌ\ފpx?0׋#5zяc]x^l򼠕(f:~٣^lin59W~\;?vn6erUbS~v^U O7O(|;+SG4|?f*?rW~2oNٟS9~daևmH6mX[J~s.ym4ٶO|Bd/b5ɿyU? 0 0 0 0 0 0 0.P~*1@G\⟿KrKXs2(ߥ纎J8'>X@▼QQbqwx b)_K|v 1M6kee-2Ǜ59?K^E~9ϱQﱮYF8N?~;:=J<-tĒyNAgC \NXKs)'^Kg\~2}6}Գ)n]Or^j~"{p29w6/.z-v:+M{WJYZ굢`% Ҥl9ힶկ#OUz+U?;sd~vND7*.Y+v:ye;8}~|+ÑޅN9}{Bƞ#txխsXɿkSV/uJ=o G<ջL'L:D]6jfgLz/+ؽ[{rCMYq~[{yy czA;w9zszWHVax3 'SfmkBTxڍm0aaAXAtNuө~"B~v(I$Ic i#Gl6p8޾s[ouv?Ru߯+fԍ^|}m43ϭu!Z9RUY׽B,z"|~>/|RתY̞EGߔ뙷L?:fV\꺯Pv#R>cNb=^Fz=yNI}.3?3̥*Ǫ7٧ڞƵ2~zWİg#g&2yK;wʞ2vm"Ggʼd~g<[şXlk=^k͞Gy\ׇ3M^&}V3=3ڣ<_(녾v9> G@Sǿ99Gy*"QYu*lz;{-/9v=Q_s>c),k:gQ%ԝ,SFwA2vWcWqlׯ[},g7F}.2˘ڳ/C(61 c'&NAd=ۍͨ II>I!#aWZZqV+>bp̚~"h4&M㟉0@+- BY7["!I@Zd<p wZ-5kY&fΜ!80_xa4Ç ￿,2vL6F(ɭ{1쾡!l0~o + #-c ~M43gØ9멀1yf> j (LnA nl?5k`J$L4m|zLWtͪ,)<֮Yx~anض0V(ߢeK!+;5U˥$fs#z2TMI*hCRcJd薄+m_L+F-o?:q!Yo z\W7i h4-mU%#z:K{vqAӧBa#% ֥t%!A֍URx[?ѝhX> k-Z,sȿ a߽\o.=#wG %nt%AY7`"m [[[?]XqKV͝`BǹzJ"7nIFPiK6JWDpHuc/yxdOtW ؖWPR(yy H F): 0/o{=`0_XV4:x|"(]I$Ⱥ=›`!~I1 FãFCG~&g`4B AO[r+X JJE7G"^^On=>[˶tlmMŶ 9sPV_jD Hu{32Pftf'[ρjQ\' DB:{èHKK]=t:q hذ"]e7'E V.=q.,$eVK] <k4l[CG Ah~v⿐_Ɯl0"/r۶Ί)kjǨy#H AփH$I& ~":߸ o+ha(χt%bM߻,߻7nR|uBPD_`+/ S]mSNG6 %xA)źW{ŒF+-=i|#kC, hd0~)cn?qWLubiQ<3jێt*' PÁ00*D< AHKπb/W<ƚ￿GFDX0Dt*8}E톩6SVzϗsՏM6#Ȝ7G|"_M,_DtN5$zX-f|9q_L@V4͜7`58΅ʐB())G&Jҕ[˶H6dKVTWTN jE6n kљWg ++7v>,?fa\<=.^Z4SY 2Qa KV KV춣3fnkON6Bk@F/޻ yiR.b"h"X^D?NOPŶQȮ,e5N]@ba{ſhmŘ@,0 DCOE};O6y{wo,(,ʮ|A-?/j%q(~E8΅wMu> (`>U\݇墺V vADd=olڱZ-%#vG 2!rjـդ:?A JzFJ׬9g5ĩap4 #ps2000 -##b9J_H#BmMZ$LV N+l ku 0g$.Mup- LA x`Z`ZPv5F񊕝]2Ն>'HPy-_1AtM-4". H]mQ.r2ZS3 9@Cx!DZ4 K*u |R_?5ʋǝeK%;At}Qj1uwj ;/4R1=v漹#Xաvz26z tW-ƗKE9’ G`#d9׈thA$6B]RX9 ]]S^4Fҗ\5R=([wqY<}ԗ((JIx1; Aù\(/ ]Ά&`e_72 :7qvM,v QQadeQ\!\c#J S5]IvWG N̹ƀ0(ְ"a<5O d<1 <9El0L\k9 ̞iiХs3*`s8vC VN|J8 )!j 2aP\R݊vG !Aփ).Y).6 &?7y!^tY`4"--= :Tl{E˖evM ;*D4˜ W\RQDРh;wfen;rU!PoJm6D)0 ~7wd|dž?_Xat2+cSxdXV2坢 L蜨NwRtzCm1`JdQP"|3g$dNǨGedc x ~<⒕/mwYJJxr`+ Ы敬;rw$xrڏ׏ +^QR3!n 0x]ض}Z`3ӕX(3 6swU= dpv0c؎r>$7V% "㷿{k(R4| EVNDPQ?Qy_ka]I.4),!-46V)1NK0n8ҙ+cM,F*!:ai3E38ΥAj:h!CMUPV R/׽V%APʒ4{_ϣGhdj%A4B :qMn$NCv^J?E.=$ka1}~  GN~D`^iAtOtTh4lMb\X-fm6E`@|KARna;C z3Ff\txZ+`DlQ㝎|k%"t0?tExz\<=n 0 r^ON5P^.y#% AF SFغ}vKԘfxҖAБcc5uDzZE©CMumQ]aO+@/AWe8|l10E9;- ڐUK%rqʨcoI["dH(wl_)3uyjd[̜$;- gNmTti$*۶GaDbCQד]/M-HABi7z&- ˢ@'VcMN)f0j5*m uX8N6#$ƺ$N?.^Wj;dϟ.֒Җ`jū-|gNhY^A!>?oxMQʖa<C} %!cX‡^}Y9׈H)ș?=>sfNҩN!mIo6yF\&td=dii`YmZ’=zЕ/ڦwVyAV{n8.(Y-.V' L{~;G"2HXeKb2Ofʧ#3sRAvAtc8? !y>c,`~~リ͆8fagxJ>dDfeNGCT=BvL;fAXcv>(8΅X,WpF͆ŋͷ߁hFuu%fLO|Aq">T _Q[#I1f NVU\CADDGɒNUC^Aa#Gɪځmfjrb1,*H'tTWxN`(O4h{ߙ?MAzg: bo+uTo"bYmBׅ:>f?FN 2sj6q#==Cˠbǹק`0 6t4e`jX-f8~OOϐ Z(9f~jF [3p%< ^?LĖ,M%Vu. FY`a>!;q,xg:xlA:z=NOeD]EVN ci\.vˍ5`1`4bvq"-=V Sn-[cblHOπz IDAT:V (ʷl[;wPȜ7W\p4l3*mGZ%TfsSD]DYMU%J׮ƛo_TDim Pc'NE.3N_f(?MQI_]xLVv@OUt~'`4Yl G\W} $)TIKEqJmFx도tۍ_~%ydn+G#`j0WPh -1.e鍜(&6m|mOL8 fB$^ OV=7[U=B~>c^|=p?oGƼAE`#Tag5¥+>sTWnxs# D ^E ĺ,5WPRqQl d?[G+ZDiXf6l$\0vP\Bƌ<ZҢL(/] e ;.el \B#E˗j1GegIyj"FH+ |h4%7WߑMwTUFND۲ 90Xq21 /y/߻/EuU%XNGs+arAg_6nBѲ%?1qd'6 /iQ_ж:A,bj0 XRxn,~>W\qsF ^Di9EQwY.@Q•Jm4XWMM7pXK˗R'jajraE%ǹ8ɺ12 o_Q\C6Z7w#lg '—xO@)/-_*z lȧl-"ub^h)xbR异¨!TUbӢBw٢pO w"B*1Jse#ܘxƐ_Ƅ/l>/CV=]dC߃~e/]o(6G(8BGk J۶GcEղdNǾ]b߮WQJ>s30}%' +~cMכO/ssKu8l?kAzPv68 eE8 Eq>E,*zAD%)KCGF %+a?;tYCDvtjVcMx6+;*(^`C1~?y,N:=w.I^tu{na|l H9bWOG##Oךn'g5*DYaIt:9 de$z&qI 6xcD cr%Ah+>X}QcRAeYQtO5<")4Fjd:7]ogq~5⿓鳊];`ܛHViz3z*|ZqAu$$+e§+S sag\zMUd[`؏ş#MYZ-f|ԭ~>t=FNxΙ9 ܹ)sk^GN%?4̜Tj#e$ z& %Ȇ$ K*dE FBERܞ>({ oQ])H]rK'ܢʚJɨUbnhhCX(7@ "FBkMxlQ)XB$pE-R/2)H &; "*ƫ̟R-^:^ mt:ş,yUl!1t4t*L8?$?=: k*s/(G bi+fu!BXmKAHY(B2xJj1(R9Ƭض=,[ !:i4TWtگ,+Ryzl~u?9QH\VDB.gEL@HAvA eK޴;XR(WTW`i!#Ę톩Oϟ >Μko5DZO1HةC+,ɑ?͙9)hTW  r y"Y {K!JW|`j1ua/-_WךvÈ.b /58IYYN,+7|A0J׬"; Bd#W~)zcY޴lQ AXrJsa$?LuT|~ Y1Gڋ5Յ4!&cnn)N~љWSS c]h;ͿM?шAݓdD+/S]/na$?D<8%xblq)zcqV,{ +=%l^-ERu[{"b/pQnQ@`_zχh0`4ҏJedY-fzZv ju{ n78KFMU%Y9V=nde納l S]-ۏf~TZ(/ frsXp䘼(e,LxJ{q.v2s$L, 6Ç —_w}_\aڎ'}>xi(?9leER4Ř6>s:xG8uLhj!3t*0 $At ;m3Ǎ xnXf|~ @ ,^ۖ=ТbvqeKfedhRp.z8۬8N*>ݾd"yBM8GgÓ  zV oJ׬KY95U;W y~9`D^Y]U)Z4Ǎ7w#>O¹8]\j8\\.ed`Y-:}\quU%|owqc\s?1 Vz}{W!B)5JxqkNp/(h^G漹>Jd5f 6BLiN)55 'ՕJI.cw0oN>kMZy ŹyԈ;B㸶Ut5(^mvVX5U(.YjRkSqEQ8W༬!s88ON Q\77n HF-[spb!較`de@Vb>eKDA,t8v*dVLN%ej1}>V+}=G,f(2c(v mH,&etdү7&}PjrsPUP1Ӗr"c((us8fb,EK¬I#?DIO@uU(6x+>}Țj(?%+WP(^LSSF# )(߲;<ﴌ j Mu`<}[-[}߻RJIoe(xs?o۶ͷ KUض%+ŴFU+(mQ(9~amnHfhqR_4.iI`#{᭷weY-BqMRRI,F>to[Gî\Ջos.ր=¹;DךQjc/STԾIq$UrŽ9b;{ADYaIjOAc&GtOtTx4o HKQ2b6ҵa0FX-So բxJh2EZBd뎄4+(Ąqb!) }*qQ ^`+E˖SdTkKzkVCG$7+Vb@fTlێ,Eb 򭝻$o0aWPFnaUHON5-]Zx@$278d_bTOl7' I]n9,RqbaT~4ƶ=,AԫeO%(TL׳&!_`7-&/Tãx}s&BL;~= Zg+/ -=o-&FDb# DMU%J׮_!KOO-R #c/,V\tS7ÓTpWجfH0O~\ ۬5:cуsfNµfLvPSU Ռ7~'AS]-j*D$HLFibTC6|  IRaHpEAOeog9g:K>ndC`\xiR1Tl *~N#+;fHAүOL X>v*2>lҟE=w2_;׻O7l4tw7pǺԌGN>+ zCd+9l%>Ղ ->$B:R0/KePՊ |{:e3ѥHA+ L5T(4#ӓ Xc4|ܸ~_. !;XXc*]YYXRm#*`._ʸ২8 Q V^9"'% Wn}S{QxrTDj$Ga;ŋM:j8t4h2ٶ5NG2 c{+4R<' 125hp<>9 ' 0}0A?'܋O]GM'ze|{Y D8ylϾӊѵlKRv`1 XoZ[OFV4[>c(Mڨ38 %WNۍcvV J׮qYOL ?Ved)BD7A{#28z([/6ɟ#a??׸yohܾuo71o ضNw-~.nFY’{GY}٭V]\m[0ȔUkt~ QpK˥Wvgma#i=>ѵ[ƚH0t|؇ 8aܼA{}Iv RT1T*|yUc ͡Ֆ/]FNs+eMux6+K4΍< "ݾl8 GO<^Ʒ܇owƥ ?>ߋYOV|{ĩaw[dj:B0!v{n@BZ$5AmF$٭ Njŕ`V_g[qCTH 8 s[^kjFs8jcZ%ȤҔU#)) [oM\kw詞Rt{A2uZ)1c`P zo.;l7.Ƶ>w7p  eqeq~Oig˸}+s¾7R 5' !{͒dLW ,9,0tЍ9 o4D3Ozwu_hp_b tcg;'כ.yrXs=bB B+AGM‘ZV OV! ["5i>*L퓄"eÓ/%aO[T,EMݐQ8̜k F.3jve8 sfNœ&΢zYVD{% 9g}{ (D o(.~ZZ9΅̟'C/.Y S]-XVwAK\.de?'nSMl(/۬+`d|νOǍ sQbeTlzͩ| e[H)!+ȇQ|ヌŧF1[l)c?BRro$'3~[y%a"beMwp9,ߖ7 WZQTd7]^蟌+-8Ҋ_O$>I\kq5p@ ~3Dg5b o=c}Fށoe!M7N]=ۄhp@ZX-fp. Bn.QSU F0q8Oۇ݉zv y! #\~z}"]j%8fmn78e2=OV^z?v ,ˊ}#k*%|uz=fL~xNs`^S]ոtOzf Q;fMԃw?ЖaٿD>_Ŷ'gIQBld$Ɋ1aY}ڊ->*nVbn;H¬.-_N+ߵ`b$n+/Iъ˳_ůTˊ93';Bq(Z R7~7o⫿_@ѱp0BVv6TWeK% /\glS]a*] XX-fv` sEqYST`\V?ATft.XjZx(j5X-+^/ն=7 m:}xC=n[ܗ\n`Y-tTqa0LAyfX,fYr S:l` HCY%_Y% 'ۚGQlI-Br=^4?x@+Wf|{nu|޽}|N=]C5Ib8›$!wv7is|IrR]L쓄~!ΕC.cUj.4)([q]j>.ǻ:kj_ ; 9|ΝQ騠_1bTW s0Ȝ7i*B~~kM~gΛ P3 *m#999+(fCŶ,.Y)F36ê7C׋=WP(_Z+]J8Û;i( yrTD>uȨ(^ZuT=xoeo4\}hrVsqp8lbԄQZsLu(߲۶[)+;ʦ\.ja5Ppip.Tp\N:+Y?zeEbZS3^-SƧwMuxz\LfHEȾ7{|\z wV,l?` F# Qwz{Xfb/ĨBU>EHIkv#-cv疺.V2 x m6&CqJVLVlێ7~VȏY9>`Y%&~>e-^JNz$bRITMU% F(+mGqJ,q0x\v76I m|@u9`Y8nzz|[%D,)ɸto5{nf4_Q'|*_f|sH?'0"VuXy3 U@J!I|rB$ NRȭVLº#brL `}_6FԌW }1 D˷ --]2'Ud\: 2p'F jhާbSQSvN5J h] 2+XV+1އX1B`kj+v/nhY{7ǍeKQeb>+H1ӧiZ%.ZG^Aa0zC9 ] +W% 5jzlظ?O0c6;U(.Y윶:0HP/wv'훖eKPm0s( .'^c i/|1'v_{z(1HRqV'<0 sw_z~ϴٿ=Oa?FRr/18N 7Jum5Onk)w|v$ULKf ?7eR;ˊkMx"$ӱqEOE^~JDJ L]o>r8s9X,p?W۷x } 9)ߏ=0 )0a oD@UKtK!5mݙӧuqDdTU4z~}b3D˛+W5)KЍ?SҏriE,^ ʽ7"o2]}x 2'3'v˒߃ETȱA+Gp>:xCD|)JG̈́Udcv8-1f7{߹K"[ayq~>q"<< ߻{5j4G̙ߞ9W=ދ"/~<2kVp୷':рeK(y$ @DJ 38|NG&Ѣ37ϥ$V%]( ;N;*biSkSu:PR"Ӷn ։9. nrq\t\dBa j )MW[.kZ* mڦ89$\C{rr''65̯=!ܩmCͩ||s\n-i2M_fkWamjw{(*yy((, 83%1r\{MöK&WXw Uk@{˲=ϟǪ?g~lڊÇh&]l}[h&KV{ 2.#7p4鸛3LŘF"1L908]?>}:~͌9vU4*ݫ7'}w4*|U~4fs/,p}Y= غe3n,px;*GʊryvdSСC㘊e8glXJK,F>)2. &g&,lf&Ml@WfQ\{> AYAᣂ _>76b` p 1W$2HVCqa_5s|:v+Qtw3Os甦}L)EB'1挽 Gnn zhĜggvX2AA[G'[Сpg`O]m-~>ޫMM)(Ěի`0ԣG (g'K`^hϖ͛\"M̲ٓXvٹ~8~8EFIW)< 8*ɧ"_\MPYY TRXv ===oyT~/<|^hqxǧbMg/@78Drdx0.mn)2֧Kir Eٕgkk Z[[Pcοa$%%T9?=<nq%"􄵆̾Uٗ(YcS+*Ԡ9@-#p#4"_vރztZ&"\#QcoWQeţ}\sn_8m^`\n3NRuxx R@`0cmj-l8еMT̞3sֺ|F_ɓ~R564`O·~+lKd| /Cà˂3ȎҖ1a n+{4(xb//_6aW"##kwx\'AOXٴ3e ځ=?r,vöP}oݟ v7RVD ˊa09RnƖ{sdpVmh:4_D RP5&g& eQm#^_{YW%km>9:7:;=?h',pNzXP7'ڞJw_8FI|q[=,#a+A^XEQw݈1)*"e70L1 <|ŕKyŷzrڧ:D-WnǺYTX0.NS`KM]mŝ{OQ; Gk]RF0xh8 TZQgKE^5X,I rK"#U:8uqW˗2|C ߠ톩C=tZɾ6ш-[6tƟ ,/dZuL<5jT~P/j$O 'C%wM7׫tQ4Uy$*Ďr,]j 1O)hDAo)2m4[?3u`.e{qqLSmң=h[qW/J\/uP2f@bq[1b$9V*b0w~}%V劲<,|WW;q5W1\Jf XL&wD;q3Po**QVRr5:a/ n=(+!LDU[;WG< S6sgl7\ \7Rا,aQgaQ{ΪLL:v[QGYi /8#fnrS z1n7xS0hRDAaJ%JKV|ʸ`"T"9lk0pHu O1S(VEE9LF[ƞN J%Din>XJY f_"Ad8}(+-AAQp-599f]nEѮW|}>u5f*;-7/]tnR-7?:!hrr`2E5j ZUV;&2qHEɎ?+|A{1H7,(re`N\dOnvȅQ?mz_R\v`9GSR"SEҙqb?._Hdc%ʰd=Ux&1w!>&NnwmmCt/Vt@eWT,lA\O}RنwQ,u6tCXS &Q(JkW k&7/Fs* ]/.^}54{x*+ʡSO<M1FQ`ǖ͛Db`^Gn^>FXbYPedkUT*-"K啕@ƓOL*#&O=@x!*mh=PeT*/:[nuu}:ÛjQP$PEEi."S;4{8_WQMR%]haDՒ͙ qd\X@Ȍa0.N3ksA{kf8JY*2 )2QWCS$ piJw}Ϙ;6rKEΏUٝވ*u[%^de{( ktfbv,DiX#U߱ncb[O^ͶnNKU> 䧁M5)Jl{{; (J44ǖX)D(J|!PQWt^\g=yd4 ѫCdj5mMn,/G^~7aي(+݁ו}5Fryd PYW0`U(+-AY̙ lJ(Jda2\h]Gy}T1>z9k}Z廰59/Z]WTIN #rmiqyD":!Rf1q2,d(1{/:_ՒIK-W_M ,)̉ 2)/_şڶ.}v3i 6ye Y9׀};$w_έӦ%ħU6t1)sf\LX/ӽ,ZY [ҙ^G{hHwe2 (]@ IDATALE啯uwXh! < +QQQ5WAPL6g0;<_p{:PfUƕciBFTPop|.^> FIe%ΔOBP_e+V`0k`,rf5FYI zꡯC#Pш琾3xȳ0SJD=ǛGϭGA۲ǏN墈k> 7DD,0O(YsK8#[?sM ;˖0Dx&uu09A#NߗTq-=݈""v3>h{\-=ͺ $%yE٢_<1oB`;'lE||Pi'ȟs{ǺY4Y!C`hr2 B]w=~[*-7a;oE"BJP,Yl{L1S؇NZ!K C}p#-+-q%(u\;$zQ&'f{[ۡR$>x[h?$*w#(Jm5hk٤p"?JJE{ҋ3[b% `"I]{9<]WMNjzʊr;Lꚸ#//iȋnԈ\?\Uj\M#m/r8OFͭ>(rVӥ-lH:ߜ;o03c8C̓^n'jx;^7$}sH-* U M/ ig6aС(+-jEXfX,vա@LL u^rzK31g3\'#c59.ٰ'/!̙=Kͷiގ*h|k;l:nS՛ӹn6` nk ⏝%b|o`;o,^(\+^EEa+Reb/&O JxܶZƋb1g\JB^~>Jw`y]]H\mooNj _JvJ%4uH]w7(JZ)^y 3d.[3'&ĊԱ Nr[k^LL -g2z,|:jPy$NyxAhaEݒׅK /c. ef5m)ҟ.;, $9iSJẆ>5H>f'ːetӊ$86[Y,̍HZuɨѾXi}yOKd2$'?Mk6&OD_a=UNx{4dí7 5% b~7Yn&l߰c]wh,(W30kΤR~|D$dcd䁻$ $`ekG]V `7wx_kSSǟ^r[G]V]Vp.r#G5±_{1֟W㼊/'jr^DFH0-膝 EyZERԝʃ`vPu9hzn/S+;2ckO7 ʕI%~Ug<sb=y#,u6Zn6/*fL ht'0c:QS|Us']:Be!յBD딗#/{?@خP(:h?? oc5RP لcǿ{0qd 2ċWJ@ ybU1xXu7ˎyo _-tɎgOs+ Nt)y7;DƊ&GOE9~V"MWnĈ).{ f7J SG~mo^Zz}p⫯Da_c:BSwKD "a3R7w SdVHlP*Qqug"j 8@0Hd źÛ.}^J07ozފ?><[d秸1 hh,qdF\{n;o#Mlh`u6[Y,yqތr'q|`Y]YAEpS ~gr$"xD 6c&lp_oIarYTAsH\Făoc 7u'#1q2tmg!,qy_@W$Eo$; 2~* u\R{Q;vF4* #_%Dӆ NMґ:*Qg,x_|c/ /(*lFNe2b#^ k}bx 7zmAD S(ȳ3?݉ R7ϾbgopXAa͘,&ؑ/mtS stwd IܳsǙӍ^yۍTC@]sA*|3M3c<<`.>XVQqq2TuYY3Y׎@/~'% ?> Yϣɹ'4@E_DYsK;v~%ދ']1*Vugk&![.1gQdldez]cSWF4wqT*7>Y_0趲-oÓ&3L$cS }gxoiƦVcXZ\*]Kƴ3P(t^)E振R]EC"%Хɓ(  _ם&K @IRtG>}*zrNWvO{?h3Bu ,, N}ÓߊMو6}D KOwKb'N_a]vMT;og7~OH4{[=|F\t"R5뙕Ʊ/ ϒBBtjrv34]VaNfyC0K}{,3O]Y^8#?; àvS$y:72 Gc+y N+ F/{ cֽg[[JD5d<^5=xSAAᣘRP•I7&")i߅`W!*藈J Bw-xL_Rgcz,5/l?`0@FzuӫΟŃ]Vd }Řۦ&{X` 9vuZqy鏘jփ8^y%wO~::3 p YnCս,<}ySP*QPX3flnW'f߅: .U8m aMnaoQ(>}&7nX dY<FU3 o.zbLO_?C]w=^"<9ŮN 2ݜ'9^ ÀeHiïsOA!q̟3 >ĚrPID%Yn]E (@sK`6,K3f"7/?(uaFZ%"d@f_򮓊#V ϛi3f{QY!=RxR &y5P(8fK]#QleqefŔ5i!,%27V#]M4 {?>B&sgH pd v-`m_nH7W/CƈkHޏ/k7_'aX»%eF{~1A{"^" <:x:oQo=s#[ؽqeEP*ŢFL6}_*藊$z[P(0PX55\ʐO*Jj(ʈX}CX}+1WN˗qˊczutotX`fˌ N^[ʃ:^ -P^6OLŒbÏMA LBM1A{oƵޓJi3f("aRh4"Q"Ю %N?}lEW8 _տ)$:yӱb+Ӄ]VY,a0k;VoGpnɽW/,E HYx|z}A/":ގt !O9r,ދ&)BaY(v#:.OTSfaze$haQyԹP*nFǙRPq08g;7s,MΠwxj UZqhHX%xu 'Q!8 ޗh yGC_yv*E((* [ZQ(x%Jô88F,,6srjȪ{XYXTXc{^}iz q/qETu[1&vnAcSf+`ۥl=,+Ԟ.,|a>1wEAy XvO'ƥxK,+{eѱs&г)!ArH;Y^^߂LS(rmi0,/}Qp.+{ GnO]s-:U/5_YN[(a˲B?ߕdaz 3S%A @W'{st LP#O xfݙYϬ˻o yy;ADÜ1Ƒ _̆N+> lJ_(J9xݽanB׵C`c20Z_TRVg#+;**`MbU^ 3]{|zNKK3~4~Ν߿u\&0 2JV"Yjŷv.'#FΜ/9\nބ,_Dx?NX7ccdp49DJ~Km^}4ˊPYY!=Ymˊ+i1甥+ ,_sf?nPA:;.:-T l{gbҗ\lVoݐ&ʱjAE\l,%6wx|pR%|8 >R(vܽoO(SrU8ſQ[#掭[6Kn~{Rd FXu\L*U)bK~3{؀vtwwݸ|2 ~,ȹ{ E摂&*~7x\W?)rdµDO}:y(Z. ("jXMZi3f^pEXb ^}hŸHgLl?UV4[ #!:fZq`xغeΝjₕE˩S@RRRWND42O d1{%GK=cCؤ}Wb`KKՊ49gɱdH &&Ƞe0*σ2%0wK1)APG}xIKK߆5t̙6 îr{[ۃ.`ܸ:|1!gى>qx,.&#NuFߧ5={A6Щt1{9Nɞ7I 6IspE,1q6"cpo<^k,jڊ7nA'O]Qx'(<セKE?s ȼ/t8۵M'?_@ XpNDD7"Xֹ 1{FL, 騡.,Kh|YcE_49D  3łoO=?i :;;|9՞vUe<(} c+ Gu7r_AD6qw#+hgL,00l uZ,01!0tSd0{6pLcU̜4NdX PT(Pmj hGjv,Ŏq@wYopBGDdo 1:!X?[`UCsmom6nXn,d"Amf9*~3c,G]Vޞؿz~!x0?JVJWG>zH@)gPW6_ˢ倞 ȅ"d(aʊrWVs\pA%J!ha݂^i^axqIL /pN'+C18݆}z?1nVZv@gWWODDT9w6"1&"y2>ttteYhczY0 #{Xll`CV߅Yw-kkkoEwwph/2t,+V=A=365ZO2f!8!":H\ERd\/ڹ7.r>jupSfȶ]VtbC ABBd+T/-8ǨS+JeY}VXֽ b߻C+|ohokއ@v)Ţv?ՇeܟsX/ACՈ!LT}։n6[Y.11Ax\ 2(1[}Ř8.i/f36e#O QG!tUwCr^o;]AI_sqq<>A@dՈ*BcR$2: F;:P_s%YX(tY ʎu(n51M`ɐb>Ze0~|%U<: Ƃ;< b;p{Ovl=lWͶ0L&9{r;4 IDAT&bσ~CBlyى aۃ2}ޤE91v> "C{= S#Jڥccc]>W.cÏwaF {8Qh7|~ln`Eشu|{11Swvusxju6 2Rᵀ~OkH`mQs=fEE s g H!E MΠzzM}Iaǻ uHa3 71AF F 7jԩ:̙ |XP'1Fc~gJʙO?ITV;*7VgEq#$'AD,$cLd0:6,F /5 tX?<mv,lŬAI\]]]@.q|m1}0^<=eOO/kiw-᭝b.E۾Pe?bIO_n激8''s:L3A$\epH49B~RY0`puAD&$~'; pHIN\~E8GɬVEԴ3#?GSCn﹗:Fj|B#s̞Wiïc?@F굈u'LLQAJY#b?J)iKVel\pdaż@cY֧='O/t'G~Mh `Bbbxo* FxNʿǎC)mmƑRg#7/ӧ ( E~̞P-] @9*SXv#l)/}\a6[5ZX6\sPtur5=Z}蘾Fߪvc1w{_kX[nT !' 1XJ̡\ @ϧ?jEha\ }5&O3,PbŸ8ٱ ,PeG]oAs=>o/x~By0^c]Ve2,Ӓ{/@j\{VV}$ A$I8ҖuO[|J.\8wK`Z0 9֧c)u+9gaQbfQbbf'TYn`rpuPoO0yvYleVd4JP-S`(,V/$ ~̞WG6dE }hh0 %*pc6}ᜅ9 G xCIl.,c˟>7X=$rU/ Y?AKn(c[10 ~@Iԕ T\ueߒ̑B3:.xŘ82cs\darmݔ=T5b]P,ʡ1iF0h O#c[ځƦV4-hni CP)ҖtYYNX5ZX4g>jĀYCcd08sF ʚ %yR!qČk-H`q949bs˷whɃ $ȢtCduX :Y:[HiC=>kkf6P{mlkP'&s $Ȣsͨ괇00$+Jj7 AȾe kljIv^@VL$Cԡ0wv\+\d;T ( HY~lKrG(]C5ײ?aOJ70w^p]٧ Nxq3I' )Ƀ8!f{]-8qߠ* b@,1 QSG-khj.ĄXQM[GEh HE1u7xPu[FKE D?ԝQwb@D=3AdQ^oO(/ꨨ#SeH@HsK;Z&I1p A1L9#h#KOK TQE&E&wdo-=}1R"A,J1EB)IT0;{l]xoHLEk:#!a;}j|=):F dQ ՏyG"֑됛sUJ$N$&ĆaEE Ko#]ݖ7p R"-U){\ [*' (Ǽ'cB4=ٝޒ9rcEZE[rbiCYYGESpUGDYBcAudb\֞/[0w378ـ 1,JYĀY~,M…D #499@x;uZd#?~,d1 AKq[##;b&Bx3M8YTl Z4(NdQՏNh"_) (JQ껹+~/V",^cR@qx 2 z4YΥZ.ojE8H+aAYq"&Z 5{$z9dߒvԞ꓍61%2x 2~?Rd Rd@54狊:2sN_s'O<>8臂HxHE/T?rV#q/udƦְ ԡ>נQA LHEC:@cސ&cGG:*J/0?Z`{Tg.YZqYOJ "~od0+4r idՒdcD 2~d hnIJ x0d[p䋳4g.F)v9lbB,v~f# ( ՑIﲸ@ f/ |-عV\jmG> ԡHIԡHKT%Rك5u\> +AڊCBHt1}{C"W>? ~ňpGJ ^j|{^kOV}ѯ=ro Bʆv`4zW :cfС24 /(:|fL"B)K Bsk>ֺ^f" 2 |@ z$&Ć{)~., (eI_d2z,xx꓍$"dxNJCCDHO^W?7]#6FsgOP"b)Ƀ6b`2K&66==P ILKԥM.ސܟ: @o#d$3ٷ@-igb54-A"HR"aq0awEԞ26 2 "ܠ̑ÐnhuG|JEA>@ jiCAj Q}V(hlj܃KFsKygH$&8AHINxhAAADVB   $  2  0C  "̐ # 3$  2  0C  "̐ # 3$  2  0C  "̐ # 31<+VrX((,BAa}&jQQQ}uPֱsCy AAarZFz `NN{(,%K+^vضd"a AYD  S ȱtZm@ *UW棦F9g%̚.\r}mj)^5,u6|{ IOWaJA!bxAR( uU*n!D eRc=P(^JRgc=b̙tvރ,uvVFA P(|p/#(JN*:->Bu7byA5eYVZ"J=?ohJaBDAaze%)ܼ|hrjz=tC(i*fĴ3`:!_PX*y4990%50L5(/w8`M*3}L3Lf_VZ)J֮Rq6**a2EV2=Gi;B3E۳#xE JwHٶs%jWpf˖Mא Pйf 4At#sޯ¡8ܞ瞝%_rOuKs- B{A^Y)~F3#)봢 _庡¾Vu\FOD?ϴ3l˒c.dœ8,?MN,֭߈)__YY<ѹsRu7Jg9ϑz\%D+wAxqIYYVB~)=]|%ȅ7dcT7bg7\X]18P*%)u/+-Ó&8TT#7/:) l{k;rme+Vc?wɹH1{Am+4P8ܽǭcMsx$ drU` 7Jq#zUغes|{OeH=*A9 :-$'xO%I5;Hмd4AigHB<θ7JFŕ}5(M&zb*zb*L&c_^ɥ55z<*uĘ)E͘)D{^Y,`_sX~(Jb "AVS;nSE=*-YPHx3=]%DYA)\bεQ#*˯ IiKEm= gɹ' k3LxYi_^^>JHU\HQ++^Y(zI>yő"_h|My1zQu&lfOZ.%y7xz 5guakW!&utUVV.7(J+B9 <ցig=r{ TۋP`j1R]R <ڥrq& u݈DT/t3[ f%JU MJP8ίM9DY~#FyKim{CܿF#b`P*,<}'ØX:X"~!szh48+,t%祕W^t?RuZ:!5W/1w̝$1L&dڥJuih0H JEf(ڗgP(P(X[չ+7/_n R?>G瞝%:XM&P*1w _מfkOcU;o2)2`T 49Q3;n3 q̝ٗM.y4ucgjo͘)`O72C}=++u,[2lQPT FL&W?PQQW]<朮4L"wp-79geq0׋"P o0%D*)9AZY6}Qp˖Mu[qX*#C$>#^G^~srs\aqJ`ٳτm ?BZejΌ,|zY0z+jՒQm>ڽ]؋10yL?oP($ l%w. 6}ۈÓ& D?F( F*zVN~%LF#?/.Y$Y_c2^Y)?.JBNd2-;9SOL5}A[7o˜;Jݾc߿ū%`(x1];o{eM55zJ,+-?竬?W)^%ZcVZ2|ODͷ9smYA:rbZ ȍhce%½p3yL&8 IDATo]ǚ}"}!J  C&K RG 4h4]r *UTY^+^+Y\Jo9A L k`26%(JK( 1q2Y=krxl=ɑǏԾ8oܭkyꉩS vtR!w%WtGHj C":Ԃӗs =?Ry#"LF#JK8Av,up4LtZPl?K9MRkAIWVJ7W "ht봇*/ TB#asܞG%JKxu&i7=;+_I:-** "\>돹:s-=Rtp#A`| B!/&TS-^ R"( QgP/^z #$ iM=^!g:łmݼ ;yXb&TD  sYPX҅>eܾ`0 ސS } L # ~AYi  ѩ;QP*} ajK W u7z% dAO#Tc59ع{9&'G Ԗ7 WgҐ G,[2*EAaQX]U l{?sa:AS_ם{s7-4+ ;,UdP52yjlv\%f6xC|{ZKxlEd"_ˎFnCL2U? LQyK'Py9~-Pp2<2 4.AD8mGI9MI?Q8wo/%'g/ۿz; 9=s%Kዻ{}$ŐLL ?4_ש0 +q?~ởiY|Nc}gx_o:Yŋۿ;zS5 kSF\re^R4\ )so#sXoWl:0 ؽm,r Mqnt?^ŋ0 #Il=?я?yvdE;27hd%_?ArN$|fMEzDo}t}(XyU%ONMƭ9 s=xIarjSӸ0rOE[hGܚԴ{-챱%gõ1^A2—k88]`quW5`e^4ܝI65((݃/ "ܦ3Y|H㯟D2S^jp6N6 v#vqh`7n/kՇjr|Rgxd(❷KB[6gڋ㶟iUV} ~b!ob2zH7R +׃sqWYVd]8\nܚS-+q[h)[VXY1p®o6(ki4k|LFJ9DG^Q*`:ǝHЕ:2wz?>iY)(*_G)Jaܠk.B5g ivV[+ +"\ td?A!Au`bc0: |ϑl!1Mc>RTju3Y;,-DTB2$AXAQ)%sGc6s'DeFhgQD[ZʵgrsPU ebܠ GqG>?b!D" 鴮/c2$)iE e<2L\ߖ0ga"2/ ZAZ{bsP8%EQaf|UN}o΁L[!ljuZ:Eot]//zP}'R0t,s=.m}K9 '<(ri_p;٠i"Z!(?ozoYQQwktb ;˯,4aы몚ƵFQu-2\}yo|QQ<5g~zT65g;US E`4 t{C b7C.BbCLlg_*.򃋙yX!> ``˅\oܜC\zP> /!׌d׍SU36:J>DQ ہ,ڢkBuU[AFu_xG((M5k}B( FX0j g "7CU;QwL%Jk`bz״afAD~}hfj!N錕q!*DGA0_-/r TlBi1]GU`4SӐ$g ,wBo^{ y3Y|A\92a4.*% p j*&.?f眜?;hFiBE>TM÷}Z ̄81~x~#I1 Aj|_}{>/Ycv*&/CCYe|р E'TO?78FcMsAw=$53cyak‚LQ%> ys1,CqLBӜj&No~,+qT%[]GYV7tz5Be~&Pvv-%/ƢU`Vj2 ˩4zK$Sb 届2ve9wM;KfX2댍u}LD-D%(Dž8q(zfr=PNk,.L_K~gGtzb4mW.݇{=Jte0A AattH  dAG 4&/5NE[9KK,+6eEbMKBE5%7ګW_ &ˊo[, b2<2(P<~ߔ$Е]k&N8*+tPW_wJ @Wwck*rd%4sqQTZGL*[yJAA1ҙOcKI1)8tƣa4ګ7O|JA\}X3EQ~c^s 4>, b!+q ^LCUӚ+xɒ#°Lӧr"I1@XV!'MinS?i b "nܚ p 1KXSE|j*u +Bcxd5/h7h2mҊ<]@FA{ɩ+׃b!pLCƭs}P5 FWbp cicbsu\udZmȈ]ĹC0ZLVbHgZafP5 ڹ}lCb>ZӴfB`}_L I1ik ,"I1~09 6ڦ8z"G6}G̜ ? 8,+sw#`>{^se㽷}LgpLd*8|%%3, DžX8)&o +qܸ5A?u_t&˅ζ|(߳c`FtwL_?~^˲0tnQZ+EQ غ +O@: QڴMUoYk׮\1]̇j.HU*e$R|͢+^q.LL ,Ymi5Yk7$D2:$QlE;azaFƅ\c(NƶdzF|ԪZݰVwe(T-Dҵ7J<0+հ۷/uU`PnPΦ ~OQ2h{bECنc C{ 7[atz0oSӮY>I{DySӘ՚aoH$S`-OJx 3gDOPMo,.qg||ވt6DG5asfuS.ɩiGe }-\1 [HgHg(,}<}\?41Jw1l=](-`xd}'Hg8s/9.HCW_fν7|uN|J$SMד+׃Q<}ϙm7t,:w~g-?δg6lAvx<}<^}< <(gcryAͤH$q?_~Ukɴi4kaMqD1p.Q[ iMjjU/iY(a)+0hk$)U\0?@4MIg bdeAX*TMCGt&RG/xn%Iw~iΜsV5 Ftm iYf@4Igjy-Xqsw++j*/]#0{mR̞,+uUQ캰dO̔ oEQ_\?LeY? z)z3o0-ӵ2,::$f"렐e [H:YQ>ss6 |z/Cuǖiı\CʴQƉ7AP&ZPx$$Ips=~(r3p6NBKfhxY la&u@:]頻sY4K&8ؚNߝ\EԪ՝CGą8=ؓJ755%J6# = c`eqYQP)0tn ~Br ChY*咫b!sD8;s'ōsp$uOBйA.UJ%Of %JÇzЌ:F/Q0B‡AЕCBD>Oh` r>m=$WJ%$R)S)%trR۾e, /UZY1o!O@$)|Q$SpEo$;w0Jx} ?ٙj%cɩi6awk퓙pY{b{`$(Ai?morh>{'u}yCYEQ7|zVvBXcE&cOݶ9 \uB4QU dJ:tR>T>(pa!;fg8/ZZmJ# 4lM}vu|wUUXÇT # \m|&6uͮkv^cvT]R*پ_,j 2~19 2ʊRWT9ٞwΛ ȌӲL resvC:Y(}2.'b&[ZuM\y gڄi7%^Һ{ "u=cϸ<>z0!T ݅ _R lgs&\ yW5 d9H:}=*0LaQBR,fkXd'([6?L|b?륲_.ݷ>IsiW>w]k|qՌdZbv66iY4+z0F6-C𡃑0 `7Ҳ@ /,=(Ar)X)vj%UFZMo r?GA`Y4Eq5095!n _Ⱦ9D"\O3*i*2wma4> f^vȩa !Vrkd0S${UV}#ı{]c;͕̏"zujvWe[n Maxdo0\Cv9:>(Pډ;wpDQOϞsa^̑ss<E2aY&) 2F>?&VaUau}i.}Zy~(7ZRȉK|]9;෿cvQlu\'7IqeL}V/9_޾d%ɩi\_Rחx;]h~V_H ۃ8 hpApkf˵kt)(=S, B~/@vQ>tN6'u ,LsOAp-xoA09u%9 'TM3}{eOLc h>-KUҙ,r=\ UI^7WvI?s7۱s?P$C$q{ECVu5Aߵ޾TA|z3W]5.Y RAs 3YtH=’CP[E??ivCF4X%Xq1fl܂X/MI3$)2 e,gQ]zB]َKf>z^3E+?ĘA)LR,ba|ɚiZ綛dIKAǯ;wxI5 _'+{ԊV( w΅/RIDAT0V%Ov3>?4HCFKic",HQ2-ӕ$KX?f)ɔ4B[,pe'R@FA{UN(V ܌pdx,~k37n2 +FhR H "&hLE y]kU,Qaje'  ,cP:65rE2͖yTmwR3u_> h/SWpі-UMs%nb qVqTa՗>s? dAGeP,Q)o/I1;ilꀫ],"9WvoD.5 &w[ %% İa8vnA%󐆌  ^BdYّ|Z/;FX82  N" aH # aH # aH # aH # "DjGAAŋHH # aH # aH # aH # aH # aH # aH # aH # aL!顨IENDB`oshop.Image.50*Adobe Photoshop Image03V Image "Photoshop.Image.50*Adobe Photoshop ImagebQNwww.ActiveState.com/download/Zope-Perl/`SLwww.zope.org/Wikis/zope-perl/FrontPage0UX Chart Excel.Chart.80*Microsoft Excel ChartF/ 0|DTimes New RomanF|dv 0|( 0 DTahomaew RomanF|dv 0|( 0 " DVerdanaw RomanF|dv 0|( 0 "0DArial Unicode MS|dv 0|( 0@DHelveticaode MS|dv 0|( 0 ` .  @n?" dd@  @@`` X(,   H&"    #  7"  !%&'()*4b$S11Fo- b$r1E{}"'gUob$ (SER("$¤Wi!Pb$&r\JVajˉЎ]mq b$?:52wIb$-9>PP݄c $`33̙@lʚ;2Nʚ;g4FdFdv 0pppp@ <4!d!d` 0,tG<4dddd` 0,tG <4BdBd 0,>6___PPT9{`/20? %O =:m1FAUsing perl with Zope Andy McKay, ActiveState Python 9 Conference*B,>  WAgenda About using Perl with Zope Why Perl with Zope? Example of use Perl Restricted methods Perl Unrestricted methods Perl DBI Perl from Python Internals ^>;># GPerl with Zope$ JCreated by ActiveState for Digital Creations. Developed done by Gisle Aas.KK Kl0Perl with Zope does not&  Mean a rewriting of Zope Allow the creation of a Perl only product Zope speaks lots of different things (FTP, SOAP, WebDAV etc.)& $ m4Perl with Zope does allow&  Creation of Perl Scripts through the web Perl Script Similar to Python Script Creation of Perl External Methods Perl Script (Unrestricted) Similar to External Method Using Perl within Pythont)%"6)%"6 nWhy use perl with Zope?6Code reuse Access to legacy scripts and modules Most things have already been done in perl Perl Cookbook, Programming Perl etc& Large number of Perl developers Community and knowledge Perl is on Linux and most people use Linux\ u C u C Why use perl with Zope?6GCPAN CPAN: Comprehensive Perl Archive Network PPM: Perl Package Manager.CC HWhy use perl with Zope?6GCPAN CPAN: Comprehensive Perl Archive Network PPM: Perl Package Manager.CC HYTechnical OverviewQTwo parts: Pyperl Python Perl integration, not Zope specific. Current version 1.0F @  @ RJScript Perl (restricted)$*Zope object: Script (Perl) Edited through the web Access to most of the Perl core Can t use modules Runs in strict Similar in idea to Script (Python)\X#7#R8 *Example, Object listing (DTML) Get a listing of Zope objects using objectIds() in a container In DTML& HG F Example, Object listing (Python) !In Script Python& context is bound by default in Python methods can use print / printed shortcut*OO`XExample, Object listing (Perl) ^In Script Perl& self is declared as an argument.   0kGotchasCan t get an item (such as a folder) the same as python context.folder.objectIds() works. $self->folder->objectIds() doesn t. .8G8G Python::getitem 8Use Python::getitem(..) Arguments: object, subobject id.   9QThe good, the bad and the ugly`Good Regex s, transliterations etc are available.,, 1pScript Perl, unrestricted$PZope object: Script (Perl, unrestricted) Edited on file system Access to all of the Perl core Can use modules Can choose  strictness Similar in idea to External Methodv)]#)5 #@E 0Example (Calendar) zA web based calendar that uses some interesting CPAN modules& >> > Calendar: Perl Setup mInstalling CPAN modules: Installed from CPAN or via PPM File location: /Extensions/ZopeExt/Calendar.pmb&% n Calendar: Perl Scripts  Calendar: Perl Scripts (Alt)   Calendar: Access Requires hack to AccessControl to allow hashes and arrays to be returned without security machinery complaining. from Chris McDonough,qq Calendar: Scripts Create objects to be called. Eg: Id: CalendarMonthPM Function name: Month Function arguments: month Perl module: ZopeExt::Calendar*!b!b Calendar: DTML ADTML to show calendar Returning a hash reference, uses mapping. BA  BCalendar: End Result  xGotchas xCan't modify globals such as REQUEST. - Can still get REQUEST. Returning complex data structures can be tricky to DTML.F&9@8 yeZDBI DA One other product, ZDBI_DA Perl DBI has access to most databases, can go where Python can t& A Python object that forwards requests to Perl DBI. Roughly 30% performance hit over native drivers  Using Perl in Python As of pyperl-1.0, released Thursday... Added in a wrapping around Perl objects so they can be called from Python. Currently works best on Perl objects Syntax: from perlmod import Perl think of it as a dot (.) instead of two colons in an object& lr% =r% = Using Perl in Python  Using Perl in a Zope Product FSCounter, simple Zope product to provide a hit counter. File system used to avoid Data.fs bloat Problem: No simple and easy cross platform locking mechanism in Python fcntl is Unix only Solution: File::Counter from CPAN9Z(Z ZQZ ZZ9 (  Q     Example: FSCounter  Internals  Full API not of interest here, whole talk all of its own. Discussed by Gisle Aas in the paper. Of interest: Exceptions Complex data types Threading<l(l '$  Exceptions  Can raise an error by: Python::raise($type, $value) The Python::Err::-functions also return the standard python exception type objects if called without arguments. Python::raise(Python::Err::IndexError, "out of range") vq8,E6 Complex data types PyPerl does conversion of simple data type (strings, int etc) Perl ref object is a reference to a python object that encapsulates a perl reference. $  Threading  Perl is multi-threaded when used with Python. A Perl interpreter is opened up for each thread. It is released when Zope releases its thread. Perl references cannot be passed between Perl threads. Don t try and pickle a Perl reference.8G gFuture PyPerl the python-perl part of Zope Perl as part of PPM, meaning very easy install. PyPerl finalised. ZoPerl the zope-perl part of Zope Perl as part of the Zope core? Currently in beta, be finished RSN. hMore information Project homepage: www.zope.org/Wikis/zope-perl/FrontPage Zope Perl available from: www.ActiveState.com/download/Zope-Perl/ Examples, plus this talk at: www.zope.org/Members/andym Mailing list: Zope-Perl@Zope.org()!((!~#' S!09Q!0U|!0~In conclusion&   We want to allow you to more rapidly develop web applications with Zope and more easily reuse your code. Zope Directions Roadmap  A perl script is  correct if it gets the job done before your bosses fire you. Programming Perl, Third EditionxkR kR   /v ` ` ̙33` 333MMM` ff3333f` f` f` 3>?" dd@|?" dd@$   " @ ` n?" dd@   @@``PR    @ ` ` p> > @(  @ @ C bAJD:\activestate\presentation\page.png"``l @ 6 "P  T Click to edit Master title style! !$ @ 0 "0p  RClick to edit Master text styles Second level Third level Fourth level Fifth level!     S @ 0  "sj   QCopyright 2001, ActiveState  @ 0 "`  Z*H @ 0޽h ? ̙3333  AS-pres-templatex ( 0D(  Dr D S h@p h r D S |h@ `   h  D C dALD:\activestate\presentation\cover.pngH D 0޽h ? ̙33j  (  r  S |r@   r H  0޽h ? ̙33  0(  x  c $ir@P  r x  c $ r@0p r H  0޽h ? ̙33  zrl (  l l c $r@P<$D 0  r  l c $؇r@0P<$0 r z l 00r  ,$D0 fGoal: "To provide an alternative to Python for scripting Zope in the same process." Currently in beta?4g  GfH l 0޽h ? ̙33  >(  x  c $r@P  r x  c $r@0  r   <\r W ,$D0 f and now Perl$  H  0޽h ? ̙33  0(  x  c $r@P  r x  c $\r@0p r H  0޽h ? ̙33z  *"(  x  c $r@P  r x  c $r@0p r   64rg @ @; What OS do you primarily run Zope on? Linux 43.09% Windows NT/2000 25.97% Windows 9x 6.91% Unix 6.91% 362 users polled, from www.ZopeZen.org.`' @  ((%@( H  0޽h ? ̙33  d<(  d~ d s *r@P  r ~ d s *Hr@0 r H d 0޽h ? ̙33  |t (  ~  s *r@P  r ~  s *r@0 r   <A U?? 0t8 U$D0  <r\ ,$D0 |, CPAN: 1,964 modules Zope.org: 296 products-  -,H  0޽h ? ̙33   D(  ~  s *`r@P  r ~  s *4r@0p r   0,r@,$D0 l Zoperl Depends on pyperl. Zope specific, platform independent code. Script Perl (restricted) Script Perl (unrestricted) Z DBI Database Connection Current version beta 0.5 0 Z=0ZN0 Z0Z=N H  0޽h ? ̙33  00(  x  c $r@P  r x  c $r@0p r H  0޽h ? ̙33]   @l(  lr l S r@P  r r l S xr@0 r  l 60rg < ,$D0 @ @0 Z@ l <(rj [ Example: List  H l 0޽h ? ̙33g  Px(  xx x c $@P   x x c $@0   x 6g N ,$D0 @ for item in context.objectIds(): print item return printed A0 Z @ x <j ]Example: ListPY H x 0޽h ? ̙33  `/(  r  S <@0p  x  c $H@P   ,  6(g  ,$D0 Rmy @res; for ($self->objectIds()) { push(@res, $_); } return join("\n", @res);  0 ZJ  333  3R  </j ]Example: ListPL H  0޽h ? ̙33j  p(  ~  s *6@P   ~  s *P7@0  f  0:pp`,$D0 Zope Error Error Type: AttributeError Error Value: __call__ Note: Perl errors are raised as Python errors&  0Z10 Z0 Z/0 Z      )  lH  0޽h ? ̙33?  (  r  S H@P   r  S I@0p  |  6 Mg `X   my @res; my $folder = Python::getitem($self,  Control_Panel'); for ( (Python::getitem($folder, 'Products'))->objectIds() ) { if ($_ =~ m/perl/i) { push(@res, $_); } } return join("\n", @res)2 0 Z8      3333$3 33  3  <hj cExample: ListProducts H  0޽h ? ̙33:  z(  x  c $\o@P     c $lj@0<$0    0pp ,$D0 f Bad Regex s, transliterations etc are available No loop limit No bindings and other Python Script features getitemB s  rw  0v ,$D0  Ugly Through the web editing  Guilty as charged. Perl is happily ugly, and happily derivative , Larry Wall ` n    nuH  0޽h ? ̙33   <(  ~  s *h@P  h ~  s *Hh@0p h H  0޽h ? ̙33s  #(  r  S ܃@P   r  S @0    0t@3  ' Elements: CPAN Modules Actual perl module for finding monthly and daily information Scripts (Perl, unrestricted) to call from DTML DTML Method to display calendar H     H  0޽h ? ̙3333Z   (  r  S p@P   r  S ,@0p    6tg ,$D0  #! /usr/bin/perl -w use strict; package ZopeExt::Calendar; # import modules use Date::Calc; use Date::Manip; & 0 Z   0 Z6    q  <$j bExample: Calendar.pm H  0޽h ? ̙33  %(  r  S t@P     6g `  DZsub Month { my ($year, $month, $day) = split('/', $_[0]); if (!Date::Calc::check_date ($year, $month, $day)) { Python::raise('DateError',  Date not valid"); } } my %hash; $hash{'month_name'} = Date::Calc::Month_to_Text($month); & return \%hash; }.0 Z 3333(333X33+33-  0X0 P  GNote: Having "month" as an argument ensures I will be passed something.HH H  <DϢj bExample: Calendar.pm H  0޽h ? ̙33   3(   x   c $բ@P   =   6#g `00m  sub Day { my ($year, $month, $day); my $self = shift; my %request = %{$self->{'REQUEST'} }; if (exists $request{'day'}) { ($year, $month, $day) = split('/', $request{'day'}); if (!Date::Calc::check_date ($year, $month, $day)) { Python::raise('DateError', 'Date not valid'); } } else { Python::raise('DateError', 'No day given'); } 0 Z 3333333333 33333&333! 334 3 3  `   0,&  Note: Having "self" as an argument ensures I will be passed "self", so I can call REQUEST etc& __ _   <8*j bExample: Calendar.pm H   0޽h ? ̙33v  &(  r  S <"@P   r  S  @0p    B|ߢF:  `Calendar: Perl Scripts   6x0g  Jimport Record try: import perl perlhash = perl.get_ref("%") except: perlhash = [] ContainerAssertions ={ & type(perlhash): 1, & } 0 Z0Z0 Z0Z0 Z0Z       H  0޽h ? ̙33>  ~(  r  S C@P   r  S D@0p  x  <A 1??  1  <Gj fExample: CalendarMonthPM H  0޽h ? ̙33  (  r  S 0O@P   r  S ;@0    6Zg   ,$D 0 \ <dtml-with  CalendarMonthPM(month) mapping> <dtml-var month_name> <dtml-var year> pX0 Z 'U  <\ p ,$D0 v For array use & $   <aj fExample: CalendarExample H  0޽h ? ̙33  LD(  r  S Di@P     <A 2?? q ) 8 2$D0  <A 3??  8 3$D0  <$mj fExample: CalendarExample H  0޽h ? ̙33   4<(  4~ 4 s *Lr@P   ~ 4 s *s@0p  H 4 0޽h ? ̙33  00(  x  c $w@P   x  c $x@0p  H  0޽h ? ̙33  @$(  r  S T~@P   r  S @0p  H  0޽h ? ̙33  TLP(  r  S @P   2  6g 0  T Python 1.5.2 (#0, Jul 30 1999, 09:52:18) [MSC 32 bit (Intel)] on win32 Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam >>> from perlmod import Perl >>> import time >>> s = Perl.Date.Tolkien.Shire(time.time()) >>> print s.on_date() Highday Rethe 11 7465 Gollum visits Shelob, 1419. & :0 Z*0 Z*)H  0޽h ? ̙33  `$(  r  S  d@P   r  S lJ@0p  H  0޽h ? ̙33  p\(  r  S @P     6>> import perl >>> inc = perl.get_ref("@INC") >>> inc >>> len(inc) 30 ZH  0޽h ? ̙33  <(  ~  s *\@P   ~  s *գ@0p  H  0޽h ? ̙33  0(  x  c $X@P   x  c $@0p  H  0޽h ? ̙33  0(  x  c $\@P   x  c $@0p  H  0޽h ? ̙33  pX0(  Xx X c $r@P  r x X c $lr@0p r H X 0޽h ? ̙33 $.(  $ $ C AC:\Documents and Settings\Peter Eller\My Documents\activestate\cookbook poster\ppt\ppt.png 0H $ 0޽h ? ̙3333rVl Yu6 %l0 *0  <j V!./ 06BGX0]Da&g`np^uJwn}r v@>O 2 sS( u9  cVBhttp://www.zope.org/Members/andym01 T Image "Photoshop.Image.50*Adobe Photoshop Image02U Image "Photoshop.Image.50*Adobe Photoshop Image03V Image "Photoshop.Image.50*Adobe Photoshop ImagebQNwww.ActiveState.com/download/Zope-Perl/`SLwww.zope.org/Wikis/zope-perl/FrontPage0UX Chart Excel.Chart.80*Microsoft Excel ChartF/ 0|DTimes New RomanF|dv 0|( 0 DTahomaew RomanF|dv 0|( 0 " DVerdanaw RomanF|dv 0|( 0 "0DArial Unicode MS|dv 0|( 0@DHelveticaode MS|dv 0|( 0 ` .  @n?" dd@  @@`` X(,   H&"    #  7"  !%&'()*4b$S11Fo- b$r1E{}"'gUob$ (SER("$¤Wi!Pb$&r\JVajˉЎ]mq b$?:52wIb$-9>PP݄c $`33̙@l!ʚ;2Nʚ;g4FdFdv 0pppp@ <4!d!d` 0,tG<4dddd` 0,tG <4BdBd 0,>6___PPT9{`/20? %O =:m1FAUsing perl with Zope Andy McKay, ActiveState Python 9 Conference*B,>  WAgenda About using Perl with Zope Why Perl with Zope? Example of use Perl Restricted methods Perl Unrestricted methods Perl DBI Perl from Python Internals ^>;># GPerl with Zope$ JCreated by ActiveState for Digital Creations. Developed done by Gisle Aas.KK Kl0Perl with Zope does not&  Mean a rewriting of Zope Allow the creation of a Perl only product Zope speaks lots of different things (FTP, SOAP, WebDAV etc.)& $ m4Perl with Zope does allow&  Creation of Perl Scripts through the web Perl Script Similar to Python Script Creation of Perl External Methods Perl Script (Unrestricted) Similar to External Method Using Perl within Pythont)%"6)%"6 nWhy use perl with Zope?6Code reuse Access to legacy scripts and modules Most things have already been done in perl Perl Cookbook, Programming Perl etc& Large number of Perl developers Community and knowledge Perl is on Linux and most people use Linux\ u C u C Why use perl with Zope?6GCPAN CPAN: Comprehensive Perl Archive Network PPM: Perl Package Manager.CC HWhy use perl with Zope?6GCPAN CPAN: Comprehensive Perl Archive Network PPM: Perl Package Manager.CC HYTechnical OverviewQTwo parts: Pyperl Python Perl integration, not Zope specific. Current version 1.0F @  @ RJScript Perl (restricted)$*Zope object: Script (Perl) Edited through the web Access to most of the Perl core Can t use modules Runs in strict Similar in idea to Script (Python)\X#7#R8 *Example, Object listing (DTML) Get a listing of Zope objects using objectIds() in a container In DTML& HG F Example, Object listing (Python) !In Script Python& context is bound by default in Python methods can use print / printed shortcut*OO`XExample, Object listing (Perl) ^In Script Perl& self is declared as an argument.   0kGotchasCan t get an item (such as a folder) the same as python context.folder.objectIds() works. $self->folder->objectIds() doesn t. .8G8G Python::getitem 8Use Python::getitem(..) Arguments: object, subobject id.   9QThe good, the bad and the ugly`Good Regex s, transliterations etc are available.,, 1pScript Perl, unrestricted$PZope object: Script (Perl, unrestricted) Edited on file system Access to all of the Perl core Can use modules Can choose  strictness Similar in idea to External Methodv)]#)5 #@E 0Example (Calendar) zA web based calendar that uses some interesting CPAN modules& >> > Calendar: Perl Setup mInstalling CPAN modules: Installed from CPAN or via PPM File location: /Extensions/ZopeExt/Calendar.pmb&% n Calendar: Perl Scripts  Calendar: Perl Scripts (Alt)   Calendar: Access Requires hack to AccessControl to allow hashes and arrays to be returned without security machinery complaining. from Chris McDonough,qq Calendar: Scripts Create objects to be called. Eg: Id: CalendarMonthPM Function name: Month Function arguments: month Perl module: ZopeExt::Calendar*!b!b Calendar: DTML ADTML to show calendar Returning a hash reference, uses mapping. BA  BCalendar: End Result  xGotchas xCan't modify globals such as REQUEST. - Can still get REQUEST. Returning complex data structures can be tricky to DTML.F&9@8 yeZDBI DA One other product, ZDBI_DA Perl DBI has access to most databases, can go where Python can t& A Python object that forwards requests to Perl DBI. Roughly 30% performance hit over native drivers  Using Perl in Python As of pyperl-1.0, released Thursday... Added in a wrapping around Perl objects so they can be called from Python. Currently works best on Perl objects Syntax: from perlmod import Perl think of it as a dot (.) instead of two colons in an object& lr% =r% = Using Perl in Python  Using Perl in a Zope Product FSCounter, simple Zope product to provide a hit counter. File system used to avoid Data.fs bloat Problem: No simple and easy cross platform locking mechanism in Python fcntl is Unix only Solution: File::Counter from CPAN9Z(Z ZQZ ZZ9 (  Q     Example: FSCounter  Internals  Full API not of interest here, whole talk all of its own. Discussed by Gisle Aas in the paper. Of interest: Exceptions Complex data types Threading<l(l '$  Exceptions  Can raise an error by: Python::raise($type, $value) The Python::Err::-functions also return the standard python exception type objects if called without arguments. Python::raise(Python::Err::IndexError, "out of range") vq8,E6 Complex data types PyPerl does conversion of simple data type (strings, int etc) Perl ref object is a reference to a python object that encapsulates a perl reference. $  Threading  Perl is multi-threaded when used with Python. A Perl interpreter is opened up for each thread. It is released when Zope releases its thread. Perl references cannot be passed between Perl threads. Don t try and pickle a Perl reference.8G gFuture PyPerl the python-perl part of Zope Perl as part of PPM, meaning very easy install. PyPerl finalised. ZoPerl the zope-perl part of Zope Perl as part of the Zope core? Currently in beta, be finished RSN. hMore information Project homepage: www.zope.org/Wikis/zope-perl/FrontPage Zope Perl available from: www.ActiveState.com/download/Zope-Perl/ Examples, plus this talk at: www.zope.org/Members/andym Mailing list: Zope-Perl@Zope.org()!((!~#' S!09Q!0U|!0~In conclusion&   We want to allow you to more rapidly develop web applications with Zope and more easily reuse your code. Zope Directions Roadmap  A perl script is  correct if it gets the job done before your bosses fire you. Programming Perl, Third EditionxkR kR   /v ` ` ̙33` 333MMM` ff3333f` f` f` 3>?" dd@|?" dd@$   " @ ` n?" dd@   @@``PR    @ ` ` p> > @(  @ @ C bAJD:\activestate\presentation\page.png"``l @ 6 "P  T Click to edit Master title style! !$ @ 0 "0p  RClick to edit Master text styles Second level Third level Fourth level Fifth level!     S @ 0  "sj   QCopyright 2001, ActiveState  @ 0 "`  Z*H @ 0޽h ? ̙3333  AS-pres-templatex ( 0D(  Dr D S h@p h r D S |h@ `   h  D C dALD:\activestate\presentation\cover.pngH D 0޽h ? ̙33j  (  r  S |r@   r H  0޽h ? ̙33  0(  x  c $ir@P  r x  c $ r@0p r H  0޽h ? ̙33  zrl (  l l c $r@P<$D 0  r  l c $؇r@  *   0P<$0 r z l 00r  ,$D0 fGoal: "To provide an alternative to Python for scripting Zope in the same process." Currently in beta?4g  GfH l 0޽h ? ̙33  >(  x  c $r@P  r x  c $r@0  r   <\r W ,$D0 f and now Perl$  H  0޽h ? ̙33  0(  x  c $r@P  r x  c $\r@0p r H  0޽h ? ̙33z  *"(  x  c $r@P  r x  c $r@0p r   64rg @ @; What OS do you primarily run Zope on? Linux 43.09% Windows NT/2000 25.97% Windows 9x 6.91% Unix 6.91% 362 users polled, from www.ZopeZen.org.`' @  ((%@( H  0޽h ? ̙33  d<(  d~ d s *r@P  r ~ d s *Hr@0 r H d 0޽h ? ̙33  |t (  ~  s *r@P  r ~  s *r@0 r   <A U?? 0t8 U$D0  <r\ ,$D0 |, CPAN: 1,964 modules Zope.org: 296 products-  -,H  0޽h ? ̙33   D(  ~  s *`r@P  r ~  s *4r@0p r   0,r@,$D0 l Zoperl Depends on pyperl. Zope specific, platform independent code. Script Perl (restricted) Script Perl (unrestricted) Z DBI Database Connection Current version beta 0.5 0 Z=0ZN0 Z0Z=N H  0޽h ? ̙33  00(  x  c $r@P  r x  c $r@0p r H  0޽h ? ̙33]   @l(  lr l S r@P  r r l S xr@0 r  l 60rg < ,$D0 @ @0 Z@ l <(rj [ Example: List  H l 0޽h ? ̙33g  Px(  xx x c $@P   x x c $@0   x 6g N ,$D0 @ for item in context.objectIds(): print item return printed A0 Z @ x <j ]Example: ListPY H x 0޽h ? ̙33  `/(  r  S <@0p  x  c $H@P   ,  6(g  ,$D0 Rmy @res; for ($self->objectIds()) { push(@res, $_); } return join("\n", @res);  0 ZJ  333  3R  </j ]Example: ListPL H  0޽h ? ̙33j  p(  ~  s *6@P   ~  s *P7@0  f  0:pp`,$D0 Zope Error Error Type: AttributeError Error Value: __call__ Note: Perl errors are raised as Python errors&  0Z10 Z0 Z/0 Z      )  lH  0޽h ? ̙33?  (  r  S H@P   r  S I@0p  |  6 Mg `X   my @res; my $folder = Python::getitem($self,  Control_Panel'); for ( (Python::getitem($folder, 'Products'))->objectIds() ) { if ($_ =~ m/perl/i) { push(@res, $_); } } return join("\n", @res)2 0 Z8      3333$3 33  3  <hj cExample: ListProducts H  0޽h ? ̙33:  z(  x  c $\o@P     c $lj@0<$0    0pp ,$D0 f Bad Regex s, transliterations etc are available No loop limit No bindings and other Python Script features getitemB s  rw  0v ,$D0  Ugly Through the web editing  Guilty as charged. Perl is happily ugly, and happily derivative , Larry Wall ` n    nuH  0޽h ? ̙33   <(  ~  s *h@P  h ~  s *Hh@0p h H  0޽h ? ̙33s  #(  r  S ܃@P   r  S @0    0t@3  ' Elements: CPAN Modules Actual perl module for finding monthly and daily information Scripts (Perl, unrestricted) to call from DTML DTML Method to display calendar H     H  0޽h ? ̙3333Z   (  r  S p@P   r  S ,@0p    6tg ,$D0  #! /usr/bin/perl -w use strict; package ZopeExt::Calendar; # import modules use Date::Calc; use Date::Manip; & 0 Z   0 Z6    q  <$j bExample: Calendar.pm H  0޽h ? ̙33  %(  r  S t@P     6g `  DZsub Month { my ($year, $month, $day) = split('/', $_[0]); if (!Date::Calc::check_date ($year, $month, $day)) { Python::raise('DateError',  Date not valid"); } } my %hash; $hash{'month_name'} = Date::Calc::Month_to_Text($month); & return \%hash; }.0 Z 3333(333X33+33-  0X0 P  GNote: Having "month" as an argument ensures I will be passed something.HH H  <DϢj bExample: Calendar.pm H  0޽h ? ̙33   3(   x   c $բ@P   =   6#g `00m  sub Day { my ($year, $month, $day); my $self = shift; my %request = %{$self->{'REQUEST'} }; if (exists $request{'day'}) { ($year, $month, $day) = split('/', $request{'day'}); if (!Date::Calc::check_date ($year, $month, $day)) { Python::raise('DateError', 'Date not valid'); } } else { Python::raise('DateError', 'No day given'); } 0 Z 3333333333 33333&333! 334 3 3  `   0,&  Note: Having "self" as an argument ensures I will be passed "self", so I can call REQUEST etc& __ _   <8*j bExample: Calendar.pm H   0޽h ? ̙33v  &(  r  S <"@P   r  S  @0p    B|ߢF:  `Calendar: Perl Scripts   6x0g  Jimport Record try: import perl perlhash = perl.get_ref("%") except: perlhash = [] ContainerAssertions ={ & type(perlhash): 1, & } 0 Z0Z0 Z0Z0 Z0Z       H  0޽h ? ̙33>  ~(  r  S C@P   r  S D@0p  x  <A 1??  1  <Gj fExample: CalendarMonthPM H  0޽h ? ̙33  (  r  S 0O@P   r  S ;@0    6Zg   ,$D 0 \ <dtml-with  CalendarMonthPM(month) mapping> <dtml-var month_name> <dtml-var year> pX0 Z 'U  <\ p ,$D0 v For array use & $   <aj fExample: CalendarExample H  0޽h ? ̙33  LD(  r  S Di@P     <A 2?? q ) 8 2$D0  <A 3??  8 3$D0  <$mj fExample: CalendarExample H  0޽h ? ̙33   4<(  4~ 4 s *Lr@P   ~ 4 s *s@0p  H 4 0޽h ? ̙33  00(  x  c $w@P   x  c $x@0p  H  0޽h ? ̙33  @$(  r  S T~@P   r  S @0p  H  0޽h ? ̙33  TLP(  r  S @P   2  6g 0  T Python 1.5.2 (#0, Jul 30 1999, 09:52:18) [MSC 32 bit (Intel)] on win32 Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam >>> from perlmod import Perl >>> import time >>> s = Perl.Date.Tolkien.Shire(time.time()) >>> print s.on_date() Highday Rethe 11 7465 Gollum visits Shelob, 1419. & :0 Z*0 Z*)H  0޽h ? ̙33  `$(  r  S  d@P   r  S lJ@0p  H  0޽h ? ̙33  p\(  r  S @P     6>> import perl >>> inc = perl.get_ref("@INC") >>> inc >>> len(inc) 30 ZH  0޽h ? ̙33  <(  ~  s *\@P   ~  s *գ@0p  H  0޽h ? ̙33  0(  x  c $X@P   x  c $@0p  H  0޽h ? ̙33  0(  x  c $\@P   x  c $@0p  H  0޽h ? ̙33  pX0(  Xx X c $r@P  r x X c $lr@0p r H X 0޽h ? ̙33 $.(  $ $ C AC:\Documents and Settings\Peter Eller\My Documents\activestate\cookbook poster\ppt\ppt.png 0H $ 0޽h ? ̙3333rl ">$ Z0tv0^d\*Xx  0/a5IF0K OT`\{^'ce7k;m r?o@,N=z1 | sS(VBhttp://www.zope.org/Members/andym01 E Image "Photoshop.Image.50*Adobe Photoshop Image02E Image "Photoshop.Image.50*Adobe Photoshop Image03F Image "Photoshop.Image.50*Adobe Photoshop ImagebQNwww.ActiveState.com/download/Zope-Perl/`SLwww.zope.org/Wikis/zope-perl/FrontPage0UI Chart Excel.Chart.80*Microsoft Excel ChartF/ 0|DTimes N      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstVxyz{|}~New Roman2|dv 0|( 0DTahomaew Roman2|dv 0|( 0" DVerdanaw Roman2|dv 0|( 0"0DArial Unicode MS|dv 0|( 0@DHelveticaode MS|dv 0|( 0 ` .  @n?" dd@  @@     a !"#$%&'()*+,-./0123456789:;<=>?@ABCEFGHIJKLMNOPQRS_|bcdefghijklmnopqrstuvwxyz{}~`` X,  7+  "#$%&' 4b$S11Fo- b$r1E{}"'gUob$ (SER("$¤Wi!Pb$&r\JVajˉЎ]mq b$?:52wIb$-9>PP݄c $`33̙@l!ʚ;2Nʚ;g42d2dv 0pvppp@ <4!d!d` 0,x&<4dddd` 0,x& <4BdBd 0,>6___PPT9{`/20? %O =;m1  FAUsing perl with Zope Andy McKay, ActiveState Python 9 Conference*B,>  WAgenda About using Perl with Zope Why Perl with Zope? Example of use Perl Restricted methods Perl Unrestricted methods Perl DBI Perl from Python Internals ^>;># GPerl with Zope$ JCreated by ActiveState for Digital Creations. Developed done by Gisle Aas.KK Kl0Perl with Zope does not&  Mean a rewriting of Zope Allow the creation of a Perl only product Zope speaks lots of different things (FTP, SOAP, WebDAV etc.)& $ m4Perl with Zope does allow&  Creation of Perl Scripts through the web Perl Script Similar to Python Script Creation of Perl External Methods Perl Script (Unrestricted) Similar to External Method Using Perl within Pythont)%"6)%"6 nWhy use perl with Zope?6Code reuse Access to legacy scripts and modules Most things have already been done in perl Perl Cookbook, Programming Perl etc& Large number of Perl developers Community and knowledge Perl is on Linux and most people use Linux\ u C u C Why use perl with Zope?6GCPAN CPAN: Comprehensive Perl Archive Network PPM: Perl Package Manager.CC HWhy use perl with Zope?6GCPAN CPAN: Comprehensive Perl Archive Network PPM: Perl Package Manager.CC HYTechnical OverviewQTwo parts: Pyperl Python Perl integration, not Zope specific. Current version 1.0F @  @ RJScript Perl (restricted)$*Zope object: Script (Perl) Edited through the web Access to most of the Perl core Can t use modules Runs in strict Similar in idea to Script (Python)\X#7#R8 *Example, Object listing (DTML) Get a listing of Zope objects using objectIds() in a container In DTML& HG F Example, Object listing (Python) !In Script Python& context is bound by default in Python methods can use print / printed shortcut*OO`XExample, Object listing (Perl) ^In Script Perl& self is declared as an argument.   0kGotchasCan t get an item (such as a folder) the same as python context.folder.objectIds() works. $self->folder->objectIds() doesn t. .8G8G Python::getitem 8Use Python::getitem(..) Arguments: object, subobject id.   9QThe good, the bad and the ugly`Good Regex s, transliterations etc are available.,, 1pScript Perl, unrestricted$PZope object: Script (Perl, unrestricted) Edited on file system Access to all of the Perl core Can use modules Can choose  strictness Similar in idea to External Methodv)]#)5 #@E 0Example (Calendar) zA web based calendar that uses some interesting CPAN modules& >> > Calendar: Perl Setup mInstalling CPAN modules: Installed from CPAN or via PPM File location: /Extensions/ZopeExt/Calendar.pmb&% n Calendar: Perl Scripts  Calendar: Perl Scripts (Alt)   Calendar: Access Requires hack to AccessControl to allow hashes and arrays to be returned without security machinery complaining. from Chris McDonough,qq Calendar: Scripts Create objects to be called. Eg: Id: CalendarMonthPM Function name: Month Function arguments: month Perl module: ZopeExt::Calendar*!b!b Calendar: DTML ADTML to show calendar Returning a hash reference, uses mapping. BA  BCalendar: End Result  xGotchas xCan't modify globals such as REQUEST. - Can still get REQUEST. Returning complex data structures can be tricky to DTML.F&9@8 yeZDBI DA One other product, ZDBI_DA Perl DBI has access to most databases, can go where Python can t& A Python object that forwards requests to Perl DBI. Roughly 30% performance hit over native drivers  Using Perl in Python As of pyperl-1.0, released Thursday... Added in a wrapping around Perl objects so they can be called from Python. Currently works best on Perl objects Syntax: from perlmod import Perl think of it as a dot (.) instead of two colons in an object& lr% =r% = Using Perl in Python  Using Perl in a Zope Product FSCounter, simple Zope product to provide a hit counter. File system used to avoid Data.fs bloat Problem: No simple and easy cross platform locking mechanism in Python fcntl is Unix only Solution: File::Counter from CPAN9Z(Z ZQZ ZZ9 (  Q     Example: FSCounter  Internals  Full API not of interest here, whole talk all of its own. Discussed by Gisle Aas in the paper. Of interest: Exceptions Complex data types Threading<l(l '$  Exceptions  Can raise an error by: Python::raise($type, $value) The Python::Err::-functions also return the standard python exception type objects if called without arguments. Python::raise(Python::Err::IndexError, "out of range") vq8,E6 Complex data types PyPerl does conversion of simple data type (strings, int etc) Perl ref object is a reference to a python object that encapsulates a perl reference. $  Threading  Perl is multi-threaded when used with Python. A Perl interpreter is opened up for each thread. It is released when Zope releases its thread. Perl references cannot be passed between Perl threads. Don t try and pickle a Perl reference.8G gFuture PyPerl the python-perl part of Zope Perl as part of PPM, meaning very easy install. PyPerl finalised. ZoPerl the zope-perl part of Zope Perl as part of the Zope core? Currently in beta, be finished RSN. hMore information Project homepage: www.zope.org/Wikis/zope-perl/FrontPage Zope Perl available from: www.ActiveState.com/download/Zope-Perl/ Examples, plus this talk at: www.zope.org/Members/andym Mailing list: Zope-Perl@Zope.org()!((!~#' S!09Q!0U|!0~In conclusion&   We want to allow you to more rapidly develop web applications with Zope and more easily reuse your code. Zope Directions Roadmap  A perl script is  correct if it gets the job done before your bosses fire you. Programming Perl, Third EditionxkR kR   /vr}1 } sW( u9  jVBhttp://www.zope.org/Members/andym01 6 Image "Photoshop.Image.50*Adobe Photoshop Image027 Image "Photoshop.Image.50*Adobe Photoshop Image038 Image "Photoshop.Image.50*Adobe Photoshop ImagebQNwww.ActiveState.com/download/Zope-Perl/`SLwww.zope.org/Wikis/zope-perl/FrontPage0U; Chart Excel.Chart.80*Microsoft Excel ChartF/ 0|DTimes New Roman%|dv 0|( 0DTahomaew Roman%|dv 0|( 0" DVerdanaw Roman%|dv 0|( 0"0DArial Unicode MS|dv 0|( 0@DHelveticaode MS|dv 0|( 0 ` .  @n?" dd@  @@`` X,, , H&"  *    7+  "#$%&' 4b$S11Fo- b$r1E{}"'gUob$ (SER("$¤Wi!Pb$&r\JVajˉЎ]mq b$?:52wIb$-9>PP݄c $`33̙@l!ʚ;2Nʚ;g42d2dv 0pvppp@ <4!d!d` 0,x&<4dddd` 0,x& <4BdBd 0,>6_ __PPT9{`/20? %O =O?m1  FAUsing perl with Zope Andy McKay, ActiveState Python 9 Conference*B,>  WAgendaAbout using Perl with Zope Why Perl with Zope? Example of use Perl Restricted methods Perl Unrestricted methods Perl DBI Perl from Python Internals ^>;># GPerl with Zope$JCreated by ActiveState for Digital Creations. Developed done by Gisle Aas.KK, ) l0Perl with Zope does not& $ Mean a rewriting of Zope Allow the creation of a Perl only product Zope speaks lots of different things (FTP, SOAP, WebDAV etc.)& $P ,m4Perl with Zope does allow& $ Creation of Perl Scripts through the web Perl Script Similar to Python Script Creation of Perl External Methods Perl Script (Unrestricted) Similar to External Method Using Perl within Pythont)%"6)%"6b ,7nWhy use perl with Zope?,Code reuse Access to legacy scripts and modules Most things have already been done in perl Perl Cookbook, Programming Perl etc& Large number of Perl developers Community and knowledge Perl is on Linux and most people use Linux\ u C u CPU #'Why use perl with Zope?,GCPAN CPAN: Comprehensive Perl Archive Network PPM: Perl Package Manager.CC,Why use perl with Zope?,GCPAN CPAN: Comprehensive Perl Archive Network PPM: Perl Package Manager.CC,YTechnical OverviewQTwo parts: Pyperl Python Perl integration, not Zope specific. Current version 1.0F @  @> JScript Perl (restricted)*Zope object: Script (Perl) Edited through the web Access to most of the Perl core Can t use modules Runs in strict Similar in idea to Script (Python)\X#7#6/JExample, Object listing (DTML)Get a listing of Zope objects using objectIds() in a container In DTML& HG ,  Example, Object listing (Python)In Script Python& context is bound by default in Python methods can use print / printed shortcut*OOXExample, Object listing (Perl)^In Script Perl& self is declared as an argument.   "kGotchasCan t get an item (such as a folder) the same as python context.folder.objectIds() works. $self->folder->objectIds() doesn t. .8G8G,G   Python::getitem8Use Python::getitem(..) Arguments: object, subobject id.  ,  QThe good, the bad and the ugly`Good Regex s, transliterations etc are available.,,%pScript Perl, unrestrictedPZope object: Script (Perl, unrestricted) Edited on file system Access to all of the Perl core Can use modules Can choose  strictness Similar in idea to External Methodv)]#)5 #6:QExample (Calendar)zA web based calendar that uses some interesting CPAN modules& >> Calendar: Perl Setup mInstalling CPAN modules: Installed from CPAN or via PPM File location: /Extensions/ZopeExt/Calendar.pmb&%,I   Calendar: Perl Scripts   Calendar: Perl Scripts (Alt)   Calendar: AccessRequires hack to AccessControl to allow hashes and arrays to be returned without security machinery complaining. from Chris McDonough,qqhCalendar: ScriptsCreate objects to be called. Eg: Id: CalendarMonthPM Function name: Month Function arguments: month Perl module: ZopeExt::Calendar*!b!bP/ Calendar: DTMLADTML to show calendar Returning a hash reference, uses mapping. BA Calendar: End Result xGotchas xCan't modify globals such as REQUEST. - Can still get REQUEST. Returning complex data structures can be tricky to DTML.F&9@8 eeZDBI DAOne other product, ZDBI_DA Perl DBI has access to most databases, can go where Python can t& A Python object that forwards requests to Perl DBI. Roughly 30% performance hit over native drivers ,g6Using Perl in Python As of pyperl-1.0, released Thursday... Added in a wrapping around Perl objects so they can be called from Python. Currently works best on Perl objects Syntax: from perlmod import Perl think of it as a dot (.) instead of two colons in an object& lr% =r% =b5C>Using Perl in Python  Using Perl in a Zope Product, FSCounter, simple Zope product to provide a hit counter. File system used to avoid Data.fs bloat Problem: No simple and easy cross platform locking mechanism in Python fcntl is Unix only Solution: File::Counter from CPAN9Z(Z ZQZ ZZ9 (  Q    H BM0Example: FSCounter   Internals Full API not of interest here, whole talk all of its own. Discussed by Gisle Aas in the paper. Of interest: Exceptions Complex data types Threading<l(l '$F D Exceptions Can raise an error by: Python::raise($type, $value) The Python::Err::-functions also return the standard python exception type objects if called without arguments. Python::raise(Python::Err::IndexError, "out of range") vq8,E6 Complex data typesPyPerl does conversion of simple data type (strings, int etc) Perl ref object is a reference to a python object that encapsulates a perl reference. $H.A  Threading Perl is multi-threaded when used with Python. A Perl interpreter is opened up for each thread. It is released when Zope releases its thread. Perl references cannot be passed between Perl threads. Don t try and pickle a Perl reference.8Gl+>$  gFuturePyPerl the python-perl part of Zope Perl as part of PPM, meaning very easy install. PyPerl finalised. ZoPerl the zope-perl part of Zope Perl as part of the Zope core? Currently in beta, be finished RSN.  + +hMore informationProject homepage: www.zope.org/Wikis/zope-perl/FrontPage Zope Perl available from: www.ActiveState.com/download/Zope-Perl/ Examples, plus this talk at: www.zope.org/Members/andym Mailing list: Zope-Perl@Zope.org()!((!& ' S!09Q!0U|!0~In conclusion&  We want to allow you to more rapidly develop web applications with Zope and more easily reuse your code. Zope Directions Roadmap  A perl script is  correct if it gets the job done before your bosses fire you. Programming Perl, Third EditionxkR kR PC"V /vL  (  ~  s *@@P   ~  s *po@0p  H  0p@,$D0  Zoperl Depends on pyperl. Zope specific, platform independent code. Script Perl (restricted) Script Perl (unrestricted) Z DBI Database Connection Current version beta 0.5 0 Z=0ZN0 Z0Z=N Z ,DH  0޽h ? ̙33r)Y ,. sV( u9  qVBhttp://www.zope.org/Members/andym01 6 Image "Photoshop.Image.50*Adobe Photoshop Image027 Image "Photoshop.Image.50*Adobe Photoshop Image038 Image "Photoshop.Image.50*Adobe Photoshop ImagebQNwww.ActiveState.com/download/Zope-Perl/`SLwww.zope.org/Wikis/zope-perl/FrontPage0U; Chart Excel.Chart.80*Microsoft Excel ChartF/ 0|DTimes New Roman%|dv 0|( 0DTahomaew Roman%|dv 0|( 0" DVerdanaw Roman%|dv 0|( 0"0DArial Unicode MS|dv 0|( 0@DHelveticaode MS|dv 0|( 0 ` .  @n?" dd@  @@`` X,,   H&"&+&&#&% ('&7%%" !    $4b$S11Fo- b$r1E{}"'gUob$ (SER("$¤Wi!Pb$&r\JVajˉЎ]mq b$?:52wIb$-9>PP݄c $`33̙@l"ʚ;2Nʚ;g43d3dv 0pppp@ <4!d!d` 0,x&<4dddd` 0,x& <4BdBd 0,>6___PPT9{`/20? %O =>m1  FAUsing perl with Zope Andy McKay, ActiveState Python 9 Conference*B,>  WAgendaAbout using Perl with Zope Why Perl with Zope? Example of use Perl Restricted methods Perl Unrestricted methods Perl DBI Perl from Python Internals ^>;># GPerl with Zope$JCreated by ActiveState for Digital Creations. Developed done by Gisle Aas.KK, ) l0Perl with Zope does not& $ Mean a rewriting of Zope Allow the creation of a Perl only product Zope speaks lots of different things (FTP, SOAP, WebDAV etc.)& $P ,m4Perl with Zope does allow& $ Creation of Perl Scripts through the web Perl Script Similar to Python Script Creation of Perl External Methods Perl Script (Unrestricted) Similar to External Method Using Perl within Pythont)%"6)%"6b ,7nWhy use perl with Zope?,Code reuse Access to legacy scripts and modules Most things have already been done in perl Perl Cookbook, Programming Perl etc& Large number of Perl developers Community and knowledge Perl is on Linux and most people use Linux\ u C u CPU #'Why use perl with Zope?,GCPAN CPAN: Comprehensive Perl Archive Network PPM: Perl Package Manager.CC,Why use perl with Zope?,GCPAN CPAN: Comprehensive Perl Archive Network PPM: Perl Package Manager.CC,YTechnical OverviewQTwo parts: Pyperl Python Perl integration, not Zope specific. Current version 1.0F @  @> JScript Perl (restricted)*Zope object: Script (Perl) Edited through the web Access to most of the Perl core Can t use modules Runs in strict Similar in idea to Script (Python)\X#7#6/JExample, Object listing (DTML)Get a listing of Zope objects using objectIds() in a container In DTML& HG ,  Example, Object listing (Python)In Script Python& context is bound by default in Python methods can use print / printed shortcut*OOXExample, Object listing (Perl)^In Script Perl& self is declared as an argument.   "kGotchasCan t get an item (such as a folder) the same as python context.folder.objectIds() works. $self->folder->objectIds() doesn t. .8G8G,G   Python::getitem8Use Python::getitem(..) Arguments: object, subobject id.  ,  QThe good, the bad and the ugly`Good Regex s, transliterations etc are available.,,%pScript Perl, unrestrictedPZope object: Script (Perl, unrestricted) Edited on file system Access to all of the Perl core Can use modules Can choose  strictness Similar in idea to External Methodv)]#)5 #6:QExample (Calendar)zA web based calendar that uses some interesting CPAN modules& >> Calendar: Perl Setup mInstalling CPAN modules: Installed from CPAN or via PPM File location: /Extensions/ZopeExt/Calendar.pmb&%,I   Calendar: Perl Scripts   Calendar: Perl Scripts (Alt)   Calendar: AccessRequires hack to AccessControl to allow hashes and arrays to be returned without security machinery complaining. from Chris McDonough,qqhCalendar: ScriptsCreate objects to be called. Eg: Id: CalendarMonthPM Function name: Month Function arguments: month Perl module: ZopeExt::Calendar*!b!bP/ Calendar: DTMLADTML to show calendar Returning a hash reference, uses mapping. BA Calendar: End Result xGotchas xCan't modify globals such as REQUEST. - Can still get REQUEST. Returning complex data structures can be tricky to DTML.F&9@8 eeZDBI DAOne other product, ZDBI_DA Perl DBI has access to most databases, can go where Python can t& A Python object that forwards requests to Perl DBI. Roughly 30% performance hit over native drivers ,g6Using Perl in Python As of pyperl-1.0, released Thursday... Added in a wrapping around Perl objects so they can be called from Python. Currently works best on Perl objects Syntax: from perlmod import Perl think of it as a dot (.) instead of two colons in an object& lr% =r% =b5C>Using Perl in Python  Using Perl in a Zope Product, FSCounter, simple Zope product to provide a hit counter. File system used to avoid Data.fs bloat Problem: No simple and easy cross platform locking mechanism in Python fcntl is Unix only Solution: File::Counter from CPAN9Z(Z ZQZ ZZ9 (  Q    H BM0Example: FSCounter   Internals Full API not of interest here, whole talk all of its own. Discussed by Gisle Aas in the paper. Of interest: Exceptions Complex data types Threading<l(l '$F D Exceptions Can raise an error by: Python::raise($type, $value) The Python::Err::-functions also return the standard python exception type objects if called without arguments. Python::raise(Python::Err::IndexError, "out of range") vq8,E6 Complex data typesPyPerl does conversion of simple data type (strings, int etc) Perl ref object is a reference to a python object that encapsulates a perl reference. $H.A  Threading Perl is multi-threaded when used with Python. A Perl interpreter is opened up for each thread. It is released when Zope releases its thread. Perl references cannot be passed between Perl threads. Don t try and pickle a Perl reference.8Gl+>$  gFuturePyPerl the python-perl part of Zope Perl as part of PPM, meaning very easy install. PyPerl finalised. ZoPerl the zope-perl part of Zope Perl as part of the Zope core? Currently in beta, be finished RSN.  + +hMore informationProject homepage: www.zope.org/Wikis/zope-perl/FrontPage Zope Perl available from: www.ActiveState.com/download/Zope-Perl/ Examples, plus this talk at: www.zope.org/Members/andym Mailing list: Zope-Perl@Zope.org()!((!& ' S!09Q!0U|!0~In conclusion&  We want to allow you to more rapidly develop web applications with Zope and more easily reuse your code. Zope Directions Roadmap Fkk,C" /vd   pX(  Xx X c $|0@P    X c $@0<$0  @ X 0r  ,$D0  A perl script is  correct if it gets the job done before your bosses fire you. Programming Perl, Third Edition bR    Q,VH X 0޽h ? ̙33rh.0 D. sT( u9  xVBhttp://www.zope.org/Members/andym01 B Image "Photoshop.Image.50*Adobe Photoshop Image02B Image "Photoshop.Image.50*Adobe Photoshop Image03C Image "Photoshop.Image.50*Adobe Photoshop ImagebQNwww.ActiveState.com/download/Zope-Perl/`SLwww.zope.org/Wikis/zope-perl/FrontPage0UF Chart Excel.Chart.80*Microsoft Excel ChartF/ 0|DTimes New Roman0hPv 0h( 0DTahomaew Roman0hPv 0h( 0" DVerdanaw Roman0hPv 0h( 0"0DArial Unicode MShPv 0h( 0@DHelveticaode MShPv 0h( 0 ` .  @n?" dd@  @@`` X,    H&"&+&& &%  '7 %%" !      4b$S11Fo- b$r1E{}"'gUob$ (SER("$¤Wi!Pb$&r\JVajˉЎ]mq b$?:52wIb$-9>PP݄c $`33̙@l"ʚ;2Nʚ;g43d3dv 0\ppp@ <4!d!d` 01<4dddd` 01 <4BdBd 0>6___PPT9{L/20? %O =#<m1  FAUsing perl with Zope Andy McKay, ActiveState Python 9 Conference*B,>  WAgendaAbout using Perl with Zope Why Perl with Zope? Example of use Perl Restricted methods Perl Unrestricted methods Perl DBI Perl from Python Internals ^>;># GPerl with Zope$JCreated by ActiveState for Digital Creations. Developed done by Gisle Aas.KK, ) l0Perl with Zope does not& $ Mean a rewriting of Zope Allow the creation of a Perl only product Zope speaks lots of different things (FTP, SOAP, WebDAV etc.)& $P ,m4Perl with Zope does allow& $ Creation of Perl Scripts through the web Perl Script Similar to Python Script Creation of Perl External Methods Perl Script (Unrestricted) Similar to External Method Using Perl within Pythont)%"6)%"6b ,7nWhy use perl with Zope?,Code reuse Access to legacy scripts and modules Most things have already been done in perl Perl Cookbook, Programming Perl etc& Large number of Perl developers Community and knowledge Perl is on Linux and most people use Linux\ u C u CPU #'Why use perl with Zope?,GCPAN CPAN: Comprehensive Perl Archive Network PPM: Perl Package Manager.CC,Why use perl with Zope?,GCPAN CPAN: Comprehensive Perl Archive Network PPM: Perl Package Manager.CC,YTechnical OverviewQTwo parts: Pyperl Python Perl integration, not Zope specific. Current version 1.0F @  @> JScript Perl (restricted)*Zope object: Script (Perl) Edited through the web Access to most of the Perl core Can t use modules Runs in strict Similar in idea to Script (Python)\X#7#6/JExample, Object listing (DTML)Get a listing of Zope objects using objectIds() in a container In DTML& HG ,  Example, Object listing (Python)In Script Python& context is bound by default in Python methods can use print / printed shortcut*OOXExample, Object listing (Perl)^In Script Perl& self is declared as an argument.   "kGotchasCan t get an item (such as a folder) the same as python context.folder.objectIds() works. $self->folder->objectIds() doesn t. .8G8G,G   Python::getitem8Use Python::getitem(..) Arguments: object, subobject id.  ,  QThe good, the bad and the ugly`Good Regex s, transliterations etc are available.,,%pScript Perl, unrestrictedPZope object: Script (Perl, unrestricted) Edited on file system Access to all of the Perl core Can use modules Can choose  strictness Similar in idea to External Methodv)]#)5 #6:QExample (Calendar)zA web based calendar that uses some interesting CPAN modules& >> Calendar: Perl Setup mInstalling CPAN modules: Installed from CPAN or via PPM File location: /Extensions/ZopeExt/Calendar.pmb&%,I   Calendar: Perl Scripts   Calendar: Perl Scripts (Alt)   Calendar: AccessRequires hack to AccessControl to allow hashes and arrays to be returned without security machinery complaining. from Chris McDonough,qqhCalendar: ScriptsCreate objects to be called. Eg: Id: CalendarMonthPM Function name: Month Function arguments: month Perl module: ZopeExt::Calendar*!b!bP/ Calendar: DTMLADTML to show calendar Returning a hash reference, uses mapping. BA Calendar: End Result xGotchasxCan't modify globals such as REQUEST. - Can still get REQUEST. Returning complex data structures can be tricky to DTML.F&9@8 eeZDBI DAOne other product, ZDBI_DA Perl DBI has access to most databases, can go where Python can t& A Python object that forwards requests to Perl DBI. Roughly 30% performance hit over native drivers ,g6Using Perl in Python As of pyperl-1.0, released Thursday... Added in a wrapping around Perl objects so they can be called from Python. Currently works best on Perl objects Syntax: from perlmod import Perl think of it as a dot (.) instead of two colons in an object& lr% =r% =b5C>Using Perl in Python  Using Perl in a Zope Product, FSCounter, simple Zope product to provide a hit counter. File system used to avoid Data.fs bloat Problem: No simple and easy cross platform locking mechanism in Python fcntl is Unix only Solution: File::Counter from CPAN9Z(Z ZQZ ZZ9 (  Q    H BM0Example: FSCounter   Internals Full API not of interest here, whole talk all of its own. Discussed by Gisle Aas in the paper. Of interest: Exceptions Complex data types Threading<l(l '$F D Exceptions Can raise an error by: Python::raise($type, $value) The Python::Err::-functions also return the standard python exception type objects if called without arguments. Python::raise(Python::Err::IndexError, "out of range") vq8,E6 Complex data typesPyPerl does conversion of simple data type (strings, int etc) Perl ref object is a reference to a python object that encapsulates a perl reference. H.A  Threading Perl is multi-threaded when used with Python. A Perl interpreter is opened up for each thread. It is released when Zope releases its thread. Perl references cannot be passed between Perl threads. Don t try and pickle a Perl reference.8Gl+>$  gFuturePyPerl the python-perl part of Zope Perl as part of PPM, meaning very easy install. PyPerl finalised. ZoPerl the zope-perl part of Zope Perl as part of the Zope core? Currently in beta, be finished RSN.  + +hMore informationProject homepage: www.zope.org/Wikis/zope-perl/FrontPage Zope Perl available from: www.ActiveState.com/download/Zope-Perl/ Examples, plus this talk at: www.zope.org/Members/andym Mailing list: Zope-Perl@Zope.org()!((!& ' S!09Q!0U|!0 /v  p>(  x  c $,@P   x  c $蜚@0     <B W ,$D0 f and now Perl$  H  0޽h ? ̙33j  (  ~  s *X@P   ~  s *@0  f  0pp`,$D0 Zope Error Error Type: AttributeError Error Value: __call__ Note: Perl errors are raised as Python errors&  0Z10 Z0 Z/0 Z      )  lH  0޽h ? ̙33r؉ & sT( u9  VBhttp://www.zope.org/Members/andym01 B Image "Photoshop.Image.50*Adobe Photoshop Image02C Ima H&"+ge "Photoshop.Image.50*Adobe Photoshop Image03D Image "Photoshop.Image.50*Adobe Photoshop ImagebQNwww.ActiveState.com/download/Zope-Perl/`SLwww.zope.org/Wikis/zope-perl/FrontPage0UF Chart Excel.Chart.80*Microsoft Excel ChartF/ 0|DTimes New Roman0|dv 0|( 0DTahomaew Roman0|dv 0|( 0" DVerdanaw Roman0|dv 0|( 0"0DArial Unicode MS|dv 0|( 0@DHelveticaode MS|dv 0|( 0 ` .  @n?" dd@  @@`` X,    H&"&+&& &%  7 % " !       4b$S11Fo- b$r1E{}"'gUob$ (SER("$¤Wi!Pb$&r\JVajˉЎ]mq b$?:52wIb$-9>PP݄c $`33̙@l"ʚ;2Nʚ;g43d3dv 0pppp@ <4!d!d` 0,1<4dddd` 0,1 <4BdBd 0,>6___PPT9{`/20? %O =<m1  FAUsing perl with Zope Andy McKay, ActiveState Python 9 Conference*B,>  WAgendaAbout using Perl with Zope Why Perl with Zope? Example of use Perl Restricted methods Perl Unrestricted methods Perl DBI Perl from Python Internals ^>;># GPerl with Zope$JCreated by ActiveState for Digital Creations. Developed done by Gisle Aas.KK, ) l0Perl with Zope does not& $ Mean a rewriting of Zope Allow the creation of a Perl only product Zope speaks lots of different things (FTP, SOAP, WebDAV etc.)& $P ,m4Perl with Zope does allow& $ Creation of Perl Scripts through the web Perl Script Similar to Python Script Creation of Perl External Methods Perl Script (Unrestricted) Similar to External Method Using Perl within Pythont)%"6)%"6b ,7nWhy use perl with Zope?,Code reuse Access to legacy scripts and modules Most things have already been done in perl Perl Cookbook, Programming Perl etc& Large number of Perl developers Community and knowledge Perl is on Linux and most people use Linux\ u C u CPU #'Why use perl with Zope?,GCPAN CPAN: Comprehensive Perl Archive Network PPM: Perl Package Manager.CC,Why use perl with Zope?,GCPAN CPAN: Comprehensive Perl Archive Network PPM: Perl Package Manager.CC,YTechnical OverviewQTwo parts: Pyperl Python Perl integration, not Zope specific. Current version 1.0F @  @> JScript Perl (restricted)*Zope object: Script (Perl) Edited through the web Access to most of the Perl core Can t use modules Runs in strict Similar in idea to Script (Python)\X#7#6/JExample, Object listing (DTML)Get a listing of Zope objects using objectIds() in a container In DTML& HG ,  Example, Object listing (Python)In Script Python& context is bound by default in Python methods can use print / printed shortcut*OOXExample, Object listing (Perl)^In Script Perl& self is declared as an argument.   "kGotchasCan t get an item (such as a folder) the same as python context.folder.objectIds() works. $self->folder->objectIds() doesn t. .8G8G,G   Python::getitem8Use Python::getitem(..) Arguments: object, subobject id.  ,  QThe good, the bad and the ugly`Good Regex s, transliterations etc are available.,,%pScript Perl, unrestrictedPZope object: Script (Perl, unrestricted) Edited on file system Access to all of the Perl core Can use modules Can choose  strictness Similar in idea to External Methodv)]#)5 #6:QExample (Calendar)zA web based calendar that uses some interesting CPAN modules& >> Calendar: Perl Setup mInstalling CPAN modules: Installed from CPAN or via PPM File location: /Extensions/ZopeExt/Calendar.pmb&%,I   Calendar: Perl Scripts   Calendar: Perl Scripts (Alt)   Calendar: AccessRequires hack to AccessControl to allow hashes and arrays to be returned without security machinery complaining. from Chris McDonough,qqhCalendar: ScriptsCreate objects to be called. Eg: Id: CalendarMonthPM Function name: Month Function arguments: month Perl module: ZopeExt::Calendar*!b!bP/ Calendar: DTMLADTML to show calendar Returning a hash reference, uses mapping. BA Calendar: End Result xGotchas xCan't modify globals such as REQUEST. - Can still get REQUEST. Returning complex data structures can be tricky to DTML.F&9@8 eeZDBI DAOne other product, ZDBI_DA Perl DBI has access to most databases, can go where Python can t& A Python object that forwards requests to Perl DBI. Roughly 30% performance hit over native drivers ,g6Using Perl in Python As of pyperl-1.0, released Thursday... Added in a wrapping around Perl objects so they can be called from Python. Currently works best on Perl objects Syntax: from perlmod import Perl think of it as a dot (.) instead of two colons in an object& lr% =r% =b5C>Using Perl in Python  Using Perl in a Zope Product, FSCounter, simple Zope product to provide a hit counter. File system used to avoid Data.fs bloat Problem: No simple and easy cross platform locking mechanism in Python fcntl is Unix only Solution: File::Counter from CPAN9Z(Z ZQZ ZZ9 (  Q    H BM0Example: FSCounter   Internals Full API not of interest here, whole talk all of its own. Discussed by Gisle Aas in the paper. Of interest: Exceptions Complex data types Threading<l(l '$F D Exceptions Can raise an error by: Python::raise($type, $value) The Python::Err::-functions also return the standard python exception type objects if called without arguments. Python::raise(Python::Err::IndexError, "out of range") vq8,E6 Complex data typesPyPerl does conversion of simple data type (strings, int etc) Perl ref object is a reference to a python object that encapsulates a perl reference. H.A  Threading Perl is multi-threaded when used with Python. A Perl interpreter is opened up for each thread. It is released when Zope releases its thread. Perl references cannot be passed between Perl threads. Don t try and pickle a Perl reference.8Gl+>$  gFuturePyPerl the python-perl part of Zope Perl as part of PPM, meaning very easy install. PyPerl finalised. ZoPerl the zope-perl part of Zope Perl as part of the Zope core? Currently in beta, be finished RSN.  + +hMore informationProject homepage: www.zope.org/Wikis/zope-perl/FrontPage Zope Perl available from: www.ActiveState.com/download/Zope-Perl/ Examples, plus this talk at: www.zope.org/Members/andym Mailing list: Zope-Perl@Zope.org()!((!& ' S!09Q!0U|!0 /vL  (  ~  s *@P   ~  s *H@0p  H  0@,$D0  Zoperl Depends on pyperl. Zope specific, platform independent code. Script Perl (restricted) Script Perl (unrestricted) Z DBI Database Connection Current version beta 0.5 0 Z=0ZN0 Z0Z=N Z ,DH  0޽h ? ̙33rj,;Y F? sT( u9  Root EntrydO)n{ĨPictures҅ Current User!,SummaryInformation(R                          ! " # $ % & ' E`0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | }  /        !"#$%&'()*+,-./0123456789:;<=>?@ABCD^FJLM{OPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz|}~  s/zope-perl/FrontPageage_andyandyl UsersD- v  %  7%  !        4b$S11Fo- b$r1E{}"'gUob$ (SER("$¤Wi!Pb$&r\JVajˉЎ]mq b$?:52wIb$-9>PP݄c $`33̙@l"ʚ;2Nʚ;g48d8dv 0p*ppp@ <4!d!d` 0,3<4dddd` 0,3 <4BdBd 0,>6___PPT9{`/20? %O =<m1  FAUsing perl with Zope Andy McKay, ActiveState Python 9 Conference*B,>  WAgendaAbout using Perl with Zope Why Perl with Zope? Example of use Perl Restricted methods Perl Unrestricted methods Perl DBI Perl from Python Internals ^>;># GPerl with Zope$JCreated by ActiveState for Digital Creations. Developed done by Gisle Aas.KK, ) l0Perl with Zope does not& $ Mean a rewriting of Zope Allow the creation of a Perl only product Zope speaks lots of different things (FTP, SOAP, WebDAV etc.)& $P ,m4Perl with Zope does allow& $ Creation of Perl Scripts through the web Perl Script Similar to Python Script Creation of Perl External Methods Perl Script (Unrestricted) Similar to External Method Using Perl within Pythont)%"6)%"6b ,7nWhy use perl with Zope?,Code reuse Access to legacy scripts and modules Most things have already been done in perl Perl Cookbook, Programming Perl etc& Large number of Perl developers Community and knowledge Perl is on Linux and most people use Linux\ u C u CPU #'Why use perl with Zope?,GCPAN CPAN: Comprehensive Perl Archive Network PPM: Perl Package Manager.CC,Why use perl with Zope?,GCPAN CPAN: Comprehensive Perl Archive Network PPM: Perl Package Manager.CC,YTechnical OverviewQTwo parts: Pyperl Python Perl integration, not Zope specific. Current version 1.0F @  @> JScript Perl (restricted)*Zope object: Script (Perl) Edited through the web Access to most of the Perl core Can t use modules Runs in strict Similar in idea to Script (Python)\X#7#6/JExample, Object listing (DTML)Get a listing of Zope objects using objectIds() in a container In DTML& HG ,  Example, Object listing (Python)In Script Python& context is bound by default in Python methods can use print / printed shortcut*OOXExample, Object listing (Perl)^In Script Perl& self is declared as an argument.   "kGotchasCan t get an item (such as a folder) the same as python context.folder.objectIds() works. $self->folder->objectIds() doesn t. .8G8G,G   Python::getitem8Use Python::getitem(..) Arguments: object, subobject id.  ,  QThe good, the bad and the ugly`Good Regex s, transliterations etc are available.,,%pScript Perl, unrestrictedPZope object: Script (Perl, unrestricted) Edited on file system Access to all of the Perl core Can use modules Can choose  strictness Similar in idea to External Methodv)]#)5 #6:QExample (Calendar)zA web based calendar that uses some interesting CPAN modules& >> Calendar: Perl Setup mInstalling CPAN modules: Installed from CPAN or via PPM File location: /Extensions/ZopeExt/Calendar.pmb&%,I   Calendar: Perl Scripts   Calendar: Perl Scripts (Alt)   Calendar: AccessRequires hack to AccessControl to allow hashes and arrays to be returned without security machinery complaining. from Chris McDonough,qqhCalendar: ScriptsCreate objects to be called. Eg: Id: CalendarMonthPM Function name: Month Function arguments: month Perl module: ZopeExt::Calendar*!b!bP/ Calendar: DTMLADTML to show calendar Returning a hash reference, uses mapping. BA Calendar: End Result xGotchas rUse getattr and setattr to modify things such as REQUEST/ Returning complex data structures can be tricky to DTML.0s:8,[eZDBI DAOne other product, ZDBI_DA Perl DBI has access to most databases, can go where Python can t& A Python object that forwards requests to Perl DBI. Roughly 30% performance hit over native drivers ,g6Using Perl in Python As of pyperl-1.0, released Thursday... Added in a wrapping around Perl objects so they can be called from Python. Currently works best on Perl objects Syntax: from perlmod import Perl think of it as a dot (.) instead of two colons in an object& lr% =r% =b5C>Using Perl in Python  Using Perl in a Zope Product, FSCounter, simple Zope product to provide a hit counter. File system used to avoid Data.fs bloat Problem: No simple and easy cross platform locking mechanism in Python fcntl is Unix only Solution: File::Counter from CPAN9Z(Z ZQZ ZZ9 (  Q    H BM0Example: FSCounter   Internals Full API not of interest here, whole talk all of its own. Discussed by Gisle Aas in the paper. Of interest: Exceptions Complex data types Threading<l(l '$F D Exceptions Can raise an error by: Python::raise($type, $value) The Python::Err::-functions also return the standard python exception type objects if called without arguments. Python::raise(Python::Err::IndexError, "out of range") vq8,E6 Complex data typesPyPerl does conversion of simple data type (strings, int etc) Perl ref object is a reference to a python object that encapsulates a perl reference. H.A  Threading Perl is multi-threaded when used with Python. A Perl interpreter is opened up for each thread. It is released when Zope releases its thread. Perl references cannot be passed between Perl threads. Don t try and pickle a Perl reference.8Gl+>$  gFuturePyPerl the python-perl part of Zope Perl as part of PPM, meaning very easy install. PyPerl finalised. ZoPerl the zope-perl part of Zope Perl as part of the Zope core? Currently in beta, be finished RSN.  + +hMore informationProject homepage: www.zope.org/Wikis/zope-perl/FrontPage Zope Perl available from: www.ActiveState.com/download/Zope-Perl/ Examples, plus this talk at: www.zope.org/Members/andym Mailing list: Zope-Perl@Zope.org()!((!& ' S!09Q!0U|!0 /v  4<(  4~ 4 s *@P   ~ 4 s *@0p  H 4 0޽h ? ̙33r?~h ? tT( u9  VBhttp://www.zope.org/Members/andym01 E Image "Photoshop.Image.50*Adobe Photoshop Image02E Image "Photoshop.Image.50*Adobe Photoshop Image03F Image "Photoshop.Image.50*Adobe Photoshop ImagebQNwww.ActiveState.com/download/Zope-Perl/`SLwww.zope.org/Wikis/zope-perl/FrontPage0UI Chart Excel.Chart.80*Microsoft Excel ChartF/ 0|DTimes New Roman2hPv 0h( 0DTahomaew Roman2hPv 0h( 0" DVerdanaw Roman2hPv 0h( 0"0DArial Unicode MShPv 0h( 0@DHelveticaode MShPv 0h( 0 ` .  @n?" dd@  @@`` X,+   H&" &  7&    &(" 4b$S11Fo- b$r1E{}"'gUob$ (SER("$¤Wi!Pb$&r\JVajˉЎ]mq b$?:52wIb$-9>PP݄c $`33̙@l"ʚ;2Nʚ;g48d8dv 0\*ppp@ <4!d!d` 03<4dddd` 03 <4BdBd 0>6___PPT9{L/20? %O =<m1  FAUsing perl with Zope Andy McKay, ActiveState Python 9 Conference*B,>  WAgendaAbout using Perl with Zope Why Perl with Zope? Example of use Perl Restricted methods Perl Unrestricted methods Perl DBI Perl from Python Internals ^>;># GPerl with Zope$JCreated by ActiveState for Digital Creations. Developed done by Gisle Aas.KK, ) l0Perl with Zope does not& $ Mean a rewriting of Zope Allow the creation of a Perl only product Zope speaks lots of different things (FTP, SOAP, WebDAV etc.)& $P ,m4Perl with Zope does allow& $ Creation of Perl Scripts through the web Perl Script Similar to Python Script Creation of Perl External Methods Perl Script (Unrestricted) Similar to External Method Using Perl within Pythont)%"6)%"6b ,7nWhy use perl with Zope?,Code reuse Access to legacy scripts and modules Most things have already been done in perl Perl Cookbook, Programming Perl etc& Large number of Perl developers Community and knowledge Perl is on Linux and most people use Linux\ u C u CPU #'Why use perl with Zope?,GCPAN CPAN: Comprehensive Perl Archive Network PPM: Perl Package Manager.CC,Why use perl with Zope?,GCPAN CPAN: Comprehensive Perl Archive Network PPM: Perl Package Manager.CC,YTechnical OverviewQTwo parts: Pyperl Python Perl integration, not Zope specific. Current version 1.0F @  @> JScript Perl (restricted)*Zope object: Script (Perl) Edited through the web Access to most of the Perl core Can t use modules Runs in strict Similar in idea to Script (Python)\X#7#6/JExample, Object listing (DTML)Get a listing of Zope objects using objectIds() in a container In DTML& HG ,  Example, Object listing (Python)In Script Python& context is bound by default in Python methods can use print / printed shortcut*OOXExample, Object listing (Perl)^In Script Perl& self is declared as an argument.   "kGotchasCan t get an item (such as a folder) the same as python context.folder.objectIds() works. $self->folder->objectIds() doesn t. .8G8G,G   Python::getitem8Use Python::getitem(..) Arguments: object, subobject id.  ,  QThe good, the bad and the ugly`Good Regex s, transliterations etc are available.,,%pScript Perl, unrestrictedPZope object: Script (Perl, unrestricted) Edited on file system Access to all of the Perl core Can use modules Can choose  strictness Similar in idea to External Methodv)]#)5 #6:QExample (Calendar)zA web based calendar that uses some interesting CPAN modules& >> Calendar: Perl Setup mInstalling CPAN modules: Installed from CPAN or via PPM File location: /Extensions/ZopeExt/Calendar.pmb&%,I   Calendar: Perl Scripts   Calendar: Perl Scripts (Alt)   Calendar: AccessRequires hack to AccessControl to allow hashes and arrays to be returned without security machinery complaining. from Chris McDonough,qqhCalendar: ScriptsCreate objects to be called. Eg: Id: CalendarMonthPM Function name: Month Function arguments: month Perl module: ZopeExt::Calendar*!b!bP/ Calendar: DTMLADTML to show calendar Returning a hash reference, uses mapping. BA Calendar: End Result xGotchas rUse getattr and setattr to modify things such as REQUEST/ Returning complex data structures can be tricky to DTML.0s:8,[eZDBI DAOne other product, ZDBI_DA Perl DBI has access to most databases, can go where Python can t& A Python object that forwards requests to Perl DBI. Roughly 30% performance hit over native drivers ,g6Using Perl in Python As of pyperl-1.0, released Thursday... Added in a wrapping around Perl objects so they can be called from Python. Currently works best on Perl objects Syntax: from perlmod import Perl think of it as a dot (.) instead of two colons in an object& lr% =r% =b5C>Using Perl in Python  Using Perl in a Zope Product, FSCounter, simple Zope product to provide a hit counter. File system used to avoid Data.fs bloat Problem: No simple and easy cross platform locking mechanism in Python fcntl is Unix only Solution: File::Counter from CPAN9Z(Z ZQZ ZZ9 (  Q    H BM0Example: FSCounter   Internals Full API not of interest here, whole talk all of its own. Discussed by Gisle Aas in the paper. Of interest: Exceptions Complex data types Threading<l(l '$F D Exceptions Can raise an error by: Python::raise($type, $value) The Python::Err::-functions also return the standard python exception type objects if called without arguments. Python::raise(Python::Err::IndexError, "out of range") vq8,E6 Complex data typesPyPerl does conversion of simple data type (strings, int etc) Perl ref object is a reference to a python object that encapsulates a perl reference. $H.A  Threading Perl is multi-threaded when used with Python. A Perl interpreter is opened up for each thread. It is released when Zope releases its thread. Perl references cannot be passed between Perl threads. Don t try and pickle a Perl reference.8Gl+>$  gFuturePyPerl the python-perl part of Zope Perl as part of PPM, meaning very easy install. PyPerl finalised. ZoPerl the zope-perl part of Zope Perl as part of the Zope core? Currently in beta, be finished RSN.  + +hMore informationProject homepage: www.zope.org/Wikis/zope-perl/FrontPage Zope Perl available from: www.ActiveState.com/download/Zope-Perl/ Examples, plus this talk at: www.zope.org/Members/andym Mailing list: Zope-Perl@Zope.org()!((!& ' S!09Q!0U|!0 /v  (   r  S @P   r  S P@0p    B\F:  pCalendar: Perl Scripts    6Cg  import Record try: import perl perlhash = perl.get_ref("%") except: perlhash = {} ContainerAssertions ={ & type(perlhash): 1, & } 0 Z0Z0 Z0Z0 Z0Z      b   H  0޽h ? ̙33r  h t