From 8ce8a6fce9bfd3fcabe230ad104e2caf08b2e58d Mon Sep 17 00:00:00 2001 From: Raghavendra Rao Ananta Date: Mon, 23 Aug 2021 22:39:40 +0000 Subject: KVM: arm64: Trim guest debug exception handling The switch-case for handling guest debug exception covers all the debug exception classes, but functionally, doesn't do anything with them other than ESR_ELx_EC_WATCHPT_LOW. Moreover, even though handled well, the 'default' case could be confusing from a security point of view, stating that the guests' actions can potentially flood the syslog. But in reality, the code is unreachable. Hence, trim down the function to only handle the case with ESR_ELx_EC_WATCHPT_LOW with a simple 'if' check. Suggested-by: Marc Zyngier Signed-off-by: Raghavendra Rao Ananta Signed-off-by: Marc Zyngier Link: https://lore.kernel.org/r/20210823223940.1878930-1-rananta@google.com --- arch/arm64/kvm/handle_exit.c | 20 +++----------------- 1 file changed, 3 insertions(+), 17 deletions(-) diff --git a/arch/arm64/kvm/handle_exit.c b/arch/arm64/kvm/handle_exit.c index 6f48336b1d86..b143f1ab6520 100644 --- a/arch/arm64/kvm/handle_exit.c +++ b/arch/arm64/kvm/handle_exit.c @@ -113,34 +113,20 @@ static int kvm_handle_wfx(struct kvm_vcpu *vcpu) * guest and host are using the same debug facilities it will be up to * userspace to re-inject the correct exception for guest delivery. * - * @return: 0 (while setting vcpu->run->exit_reason), -1 for error + * @return: 0 (while setting vcpu->run->exit_reason) */ static int kvm_handle_guest_debug(struct kvm_vcpu *vcpu) { struct kvm_run *run = vcpu->run; u32 esr = kvm_vcpu_get_esr(vcpu); - int ret = 0; run->exit_reason = KVM_EXIT_DEBUG; run->debug.arch.hsr = esr; - switch (ESR_ELx_EC(esr)) { - case ESR_ELx_EC_WATCHPT_LOW: + if (ESR_ELx_EC(esr) == ESR_ELx_EC_WATCHPT_LOW) run->debug.arch.far = vcpu->arch.fault.far_el2; - fallthrough; - case ESR_ELx_EC_SOFTSTP_LOW: - case ESR_ELx_EC_BREAKPT_LOW: - case ESR_ELx_EC_BKPT32: - case ESR_ELx_EC_BRK64: - break; - default: - kvm_err("%s: un-handled case esr: %#08x\n", - __func__, (unsigned int) esr); - ret = -1; - break; - } - return ret; + return 0; } static int kvm_handle_unknown_ec(struct kvm_vcpu *vcpu) -- cgit v1.2.3 [-avPw2mPvkDޛ0x`/\A)FiC94EBKb׼ýbDI*N҈DdΞҘC& W9dv2W-Lsj,Vh7c :~ ZC L؎j0T -N^C5"L*Sh`iwFl|hlӟ`X:5;Q+7ݥ`J+gS6&.eqY7ZĜ3sC)K,I2N{ON̄ېCZɡ?LKy%i<x 7t_䁪 ) ؞c(hOSOzvkAcFe=g,c`q%抯8v=\0yM^xdc]GTR"_84Ď c&wZ!- k@ %`&#h\kIW^:͒f"H3ivghW?P2U;ɎaR(qgCی69b.G ovvBY䥠%x&t+8E5wཐ<2!\Wc &Ycꌄ)uFθ:kJ ݆8Q]6-y. no*Yœ0DO70JPbUɺU'@cf?<K;`QYAqX:|s:0 E#-@<*h8o/au+by ;a [!n-/s hA:B5]WDGmcG:{S>e w w4o)P0R}J.}grG`eNKxzax6bgn1 svy3r:X28qz ?YkбT`!1pvIJ]wEX@C 6qw!kvn7uէӑa\[Y+jmVu95'\mdX/ k@- 6,KɆhkY|\W@mLGWZtҎr wiL+:N*"PlDUfn“®oGJKAbv?܊հmtdO7h~4>4N4>W Ax z"(RF/[9h4O <  eo΃/rQ< ޮcsvk/z#p1V#STqD%zy|{+b,>̲3*"e9Av9WkxG6jP+S*7铏&̙wсx½qk+fD v3ϐAd#vka{el8nG-l[p6cab6 Bhi=b>`ɂp2V/,-K#kDh57]sLTKZw]΍@|+/"%Ymfpx3OF F8&Tmtۨ^vM2OœF8w71/#;喲7+Қ[V|;7ٻp0yfu.z4VUvMNLT(ԁ-3Yrszӏ2Cv5Kh֒A3h$@si1F~"\q}uǍ.Fԕ3_6 &onT۰zA`t cUHʉ?UC?SЌInFTӄ?/ɪ9\Yj2D}Џ %y^*`<#]4%|_ڰ=`f1oHv V$M[+W>44B?q>b|0BI/-#5r(FVz)a@KI{v{rOqÂ[oLq5b SoPStqt;G}+c$ffhHY/{c͈M0Zv[:2 (k.wVu{۔7 ufFw.%1f }A (ݟ3#J!!#PlW^ R71]2AwIgqHWKLr胂Fukn\}^8T.tHx]Mtnyfan2[?>8x)HEٻٿ`_ZG`Q{@->L x@?>χ3s>LÃ3k3}>/l&qp3YE{??^Wɽ_itd%Mx/fQka'3Zopdy2cP„;m]<~/D0,ZxA y5 (yWKnctUdPJ ; "D%x8ց_RL62 {nãI=~yפ|q?jqOf4Bp'ʘ G;<9)!>'W=i}7qYF*&\X2r/3UY}K5闳$ 8"7As5kD_adCQ|9{ID|˟HN >/jn_ D|L2#[0AX?<9=(1Y|U^+wHl0Ӝo>\=aږ\$ڦcNf)J"e|V$sةHI] ldW<{3R7wt{w/O1 ]S%AN6 mJ`QA"=ͬ',-"=ʥ0k%('7 ۵X ص%^TƞG'._67#-ø^\3D݀SƳ;t,Wx_~yPҏ B 7s(}ߟ2apǥ~j߸- ,>S3=>3rGM"K,Ucɴ-%(dCuU] d!?*-x/av׋5 uxcY#\YQjG<̷Zr%s;AUdopX=sL<{VC͋]ծ2eY$qh=G-;YSU9"ޗ8G@BibY{Wx z_"FQe Mg(%?[f#a3)E56Tqĸy3Z,h]c;JDXnAY y\ǷgG,1NBtВkR{iURb,i%Ty6̀`@Ll=s:p43QZh`Ne{g;@CД>{sï=2Gdi_רCIQ#KţۓF:@!} $Ize\>;y*^ʻ~<;:zGD{EymG@ndM-tGg,ZFͫ>pKK./}뻛JX.UVj5zu.-ֳ2b%!tTmC+s9 Itt2%**m9 n}fQ,ASxGd LrSJהȷd=/rQ՚ʴbuNY'/7}ի!K n+us]'\{&3{#t.UQ+R2^ Dai Z f^[_?ӵWjH46`,<dx*[ުf+:2rD jǣSbX\TIC3- r1AWZCcOا@_%fݽz$x=!œw'WW?Nt{'DtqIrm@( X8D|"j8kkDޱ$Z'M9zeY4+x) .7< M;TIKg8Um2xp>E 7YLϾֵXX)Vޛɰl*dwԪPPeo3XO9:Xxǚ1+bHmiLQ޵l ]kdd-wږw30 8ξ܉Fp]gTZ8bE[X3vR3guBJOGAgOh8ef0T;_0(Te=VE]&\hc_ TRmz a0‹xT@Lb? ݄7`kok)-Qo&SY*r՘-;0Ѷ܍Ŏ!㭾/Xj$JM?>6Nev`z!ft^3Eg/Rc-HL[IC1 |cRy'+¼;%rl9tz`YtX4BJnK&͎h&2<"U<`bs BfGsZǒ~ f0Cszaޯ v/. aᬽYʤ jP=7pY|zcldx(- 2CX]Mꖥy֘Tl^ ه)D53ᝩ [ OW׺w eSl/RhiҠp\[L Q;8ޚ*.<&N(3eKOB(^y\2iQvhzCx”(;n? le!*³ԥ^9 \?C Bȭ] ;wu? /ӗ.vU?j06ockJKpb8٬GсBmPP2nM*WL3v2 b :kC%7͂T[,0(u< ݇FUfADm۝6J6sCZX4\7t%A_$OB{WH0:I+4S+mIr)ڼn+8yFƻՠ|!đJ⮵+[z{IK%aQRuS-`{J#gTޯED Ehfo8&;H߉>D2Ӂ.x6'Te6w3df;LBeA*_n| vXj%ݺ>[y<Sl26yi{Ce#['Q"cf"`jc’HnLу8T닁ΥX\&'*S ?.Ck"~3|r-TkM?RP MG'k d$}yT~jk8*1@IAr?SDDޏ)$OTz'1tHE)17Aeϐ^M5II,W~ucPlqLkZ,<e.]òc"*l&}ȃP9.`:JĖ$Q^T幕ealGT% ׶8e :Ud{r}DwGHJZw䕅ѰS/Vc`>ҍ#S8.qzkZ#ʼn z}#dwȑj} o .8tHUa6v-oȁrW4o dѰiؘ (={C%@ȥ~jAX\"OUԵ p C}PØANp}A 7AMAkvYQ9h84\~7x9^D雎2VP.p$םQ\8g8S.[; kȕ ށCc"nsk=uw^Ut:CSA0UyPf<'xL.IҾY Wv5q0`MW{|za)3:JLeNQ؁܁g\ĩ&h+hin8)8K||e۱U@R@ J#z_)~ޙjWmƷ:s7TI.wH5D&IJMcI&3Ԣ;s) hp<:t^PҩsلS 4 z&{ HF.?(%me"+(&J њ6_҄o~jN|zW: w:-+/2C74|^baT;G:[A&3Cǚn-KWNP.yz0'hzi2W~ܪBtd:"<8am 70Ii>r2TEp8h] :eGR&Ѻiك+}}+چ끊q4nIv*oPɯTss V-.[tt%VoCeNdw\\H -̷@}&AaًN[ֿ={|)B5\Xg/l7662 }j4SjQbH1h7oߝb#))Erx.|JEg"H* p!rW}o4ɾ\ͽZբΟ SvW>wpjk eL A,p&5LZ]=?qjG_|Oo4LʰyOaJVCO; vbVT^IURw@S 9|ڸ*Ӕ HٲL)ދh>~Ӵ2-mXQJ[F~&m-mhT ưkmYĿyȧ<%l'w%~ӗ&\kVw Y;xM5|#_LjTr-5'|=01vz|SCyYG=L8Zo%_qTD({Em֒+b*Bk&pžK ռKihX-`M5Zux_<ؐ{Oܾ>ꍖǢܬZ$@Xsѷ P=a_=dLE@Z9ǂIKl,VHcA»!xrY;y&rV=U&n=9)1BkEdD{;L3X 3Jˮ1RV7^P3-}2|CѼ?cE~9.Ӛrǵ|.9q4Ha\.,rqܦwYڀs`[a h9N:= `}1(L^∟p|}D&,-גf>'1}']OlC EvR8 !{޳b hK?Xgf3+8> 3׭1]w'7%f3ɡBuypEw zKXvj/@R<晲1-VeOrHlJ>7Y~k}ȎA ¸O4 Y>?]~l{C 4BC&\ZC)Լy/sLjbt/,dZaI P 'Y]Ur(/b P ONyzTZEeߊQ}R/ PX)#l/']@$FRɲŧqVcqHQu#} By."&bf5 %f,<*x#1WC#n%o%ɑxN>w.=ݡ7q3!¦GŢ)ދ7>?M* 3h H[C.-l=f=J4%4`]fTaT%x|EtLLӊfL#([Ww2f}j\70v"cpRC}#흧jDJ*$]VGo_>} $"r~0&ϳ( 9_R""ifM(j:VZvO#iϽm."*xQ2pQ%3xЌbw7IZNv6J6p>N P iUќr,)F.}ui0)X5Q|[ʸ`f\ " ׶?%,DF%"Ҩ .\/7?`o=udžig75SQI .矺̍<O`"mLyj@%l"͒']~jĭ[YߙȻ;}qˮ,bS=Z>xj^ʷ*{]]#K#7'0;zN l7&_Xb)CQ~*H$1 :A?k`i1g{`aJn?48(H@_EIcMM^}0x@wq'iIL D M!Y쳩<eg:TBZ"KL.I:ŸN8R]c:.@k'QFTHD/m5uW 1< Bl8j3v6i'C-dx~~T}L?Lȷ"/Mmcۀ0kLHcGl?#}Z$󃱤B ش]lr) Md9z+pڋmBdS1L >P5'pbEPJa?wrSa|C@q<29QDz?(]gm㠑G}Gæ» ,,*/]')h7(&1R7X (y{1y"ky'YVR1u@$ q@3$#w2z@e(LSXr&7wg%NUbӥVHikYTc 4O3s.d Lݟk>h>nT=R~IMd$ѩ.NCrو7)ph_E*e)zݫPN]+>=@PP0u2.f>KcoEv[pH5EuL3S21^=7.1 e[ijj@> `-'o|Ifp`>Fr G~/wJ=3!{%U"!M zB'8dCn @f`I{?1#56a`S2bR:B鄓lj(fSs%}ثj'k*(C2k m @.Gx99?!Oc{=fz&kO^W~I䛋4zeX5\wŕ @?M^O'{re 2oR]ToO8dH7`=7;c]r%=Kr48X4f|z6J- >(yNvPq(DeAs " [ {)j|qzD/Z6]#m@0wN//|Y,78aO;*+JF`%DM4ܫO1 OF wc#T 2C4EP8:QefMõȁ;E$F4筆tx{zEX'kۋNLk͜B sv!IgX)\Taޥ8x4K,,d%ҋqO^mͨ|[OxE,Bb!1DR)UI-$X,IlHv6#sy"|bjI/yߐq$K:mx QbV̊lmu׺+ '0OtFlx]%xӉNq$.~%ק" p 7E@!ܑ[kaۈ<2{.V34w)fluYx7YJ?qQY,BN|Xdˀu+*CO[1@ 8feywEWځ `2 q~)y/ wK6W@6f+s,j 杇{b:56 RjԲa9(`}d᪹:v (-v$xw(+B_<>5j/zB6bsdI#}| LJ+R{gYZKDGl^'Lg0+S $;?ڛL ,Ě9}ݥ݊l|ʣg\zH&GϑCo͒Nіot6-Qִ;\Lotm$ U="˹_.|yW_͚b?Q"~+_B@O ˁF. [.$WU7ѓS>Yx;%|:&|" pQfL=L.9Ђefg (rbvX3LV_yf )Nd|tWoGWkVs{Y@n}m> Vv$6h~g ,;\zgyr% !f"Q(wpu?ŀxNj\>D?\D᯿?ϬW٬Tu{Z׍V՞̞e˙^6jڕ>b޷^n6rYRoG٨4^6* `EA^?7ɟv\l ҏrc[}❧cc3/kd́[2l>FJ K;dؚX#՗,lԎ8}``Ȕg~ ,Zh(Xd@ΐC80X d ?<@?S4E\ypk}غN`h\. & Yk+A  "p*VcDLnpQsmJ !ۇ\R{upmx:7Ḵ\vJim 1SZ)Z%f>MTZF>)H !yґ5EYti6)% ;,Xv`(*a P`9E+ st̺Rd ]j/Gkq=7UУ@;*Y30{wJ<,M8U騎=;aG@*o쑲AaNIUIDi+3^Ӿatx`ьH2t m䷇Ǵ'p-4,.16cU ܇ ڤ4"&21 %swP'?Wdxvt}(z1\2ډ/vy5øzPi VEyx \rժأш5>xL!OtxԘ\kŜ DqUIQ7]Lc1'=S"!π-.M@bY)h~^38Knbj=g3}|%K1&xKa N)RF\Q7+e jAU`uUn[A`HroWqu٣f6$ dAKRT\vSuQP|:#Iv8N fi=̀xw4* ]s3G0%d@E,vG Kx.|85LaH]RcMjm6߸2689ǒ=Sgc95U5&ޔe Oyh.ق<[fPڠ%Mفaϯ|G4:1%,d1Iݻ5Ԯ5Tl\Q]Q₥Fenr_sB XO2*ԮUu$he@m4loU(nKSDzmš.^~-10aMl;ȯ#X3 ykSL=ɃcFy/-socIշxt2]ŔPEXQUkTavd`05q{ +bkt}ߜoD^ :BKXy;ojܣ,we{;ף5ټV "RAv/C8HljXN<J'95b Z1jN3T+?4LU7T !=f/p.0;t nK?g_8,}BEALZҨמ_lڡĨKZin@\{AɇWڅI߈w{&BcW{zXҿKv bW4*;ιr#;s)+vAxtb2+:'LF2rNw 7sݝձϬuƹ w]I:jf/*@9`mZ_Ns=ƶˌS%IV-Y@ Ё|^@JsO: 0Nj{"́ mڍ2 ?O"2²UZ ?Y)ݍZ Fe"*,OZTTfSFizU(YM2{ E*Dg!u[ y޻UmbfS0[_nǔ5#96|XACpO]ka~ѷ_iܜ2r%{ݱF[jWUԱ nP`SK4uj/̲1[PeҪ_ =*.͕t55ia:ɸvMn#1ٚQ5Бc&:uLzu4nj\fej~?8e,Xw_[xߺ =~wR*WQ!4wKC{87Kߔ@ўZi {:\e2o(AҤ{*Ǿ!1 \)WFSvEue`:hOkqMڊ Niߣ48O{fsjSmҮj^9V΃IIk#NH đlk&"nrss3e9ofiaB2 [rU?8>h?8,W,%;^'aL7ts%. g?>דRl·4}#,?Dujn"r`~{τ/.Ad-xl1}#F{ʁLr$ae%iu/`7$XѤ/!+,/wVU sEo1GTY_Y/+n-/^^Z @]x'_= gד]?jh[V*e8"'|H=rK^^zMh|[2f֎;h2>Nu(=ƓXwZ-G^r@<Zr(Ll9' ?[- }v1H\}NUuy\ FdӫtK>m -1xOv-6zi[6x/x,QC:zD]ǘ7@GDFvPfM j𢇤hͳYAIcjdT.zdr/!NzVZ ?pO> 21 g^"!Xڢ+DyrJc{eRkFK ,슊 eR4s8#r Cn.׫XJCrɊ=z_#^zۦ"@qFS]n7jo.o߳݇k>&-Q҂hmRʣv<㌱}CGZYG! hԃsիoݣc 8$G푪X_z 6-z| DZ&D<{AHq:OvZ;8ރVI4}u{r22GIV)cZM`I0͌aʯ=uႯ_heŷFV]m\ŭKdDK J,۫:k:/"#}R![UVU%WU!- 422h"n㏗rbwg_ő1`:'BY!DVV9l5'qkM}e}ٵ<%'6Rʷ$g _׼`J]Tc"_+[v}СUݶj4&}R!<ݮj^uL{دM%\Re^]$ZS=l;lniGw N>yFLNԁc63Y>V;%DkdS#&`n`t{=@W@y8w8?~qUReJzޗeYlfC^b#ݥҨ2`>dpm#.L<(8i"Gw[V٧ d"uD$TV&L-dGݭJ ɛ/94olӿkq=ֈklDe( ۛQ゚g9Lt~ez ϙ37 R5FKz1QG|=C'1li.H`JBtg0Zk}ɓt!t/,ȑ.t5?W]]RVAB d=u><@0b4P tiE[&?Sh"SoGG! rx(50>B[9lEppdwgӎcCzf 0/ X PHY0O 3YYmv N}R*fTɰM방H [^O W(\n2Z!r@пRh?=4&hE.ڼa=}٫w)b .A! =(Lh vew㷣-]5(t}]1Ij SG\Lǜ{C-:C9(&e6[YF±Ic,I7ZddG"P58uNфd*<:[NdMCਅq`$t}\ueXrժd&g:^M\C K tWlԋTskKutFS/Ri xk9ȅOxa]/QbR=[S٧(GUNv$ b+f Dq^/aju7c~SxЕ hD킷ʥI“Ix`ti}&E˒qTrgݽ;?"h'DD6wB)&mӌU_1ȵϸ:*?ZҩMFQ:UÑCK 4A{@<5쬶Q!GfKV jATzDBO8Dwkwl8m2ުBqloq,ȱAJȠe|W~y!ԞxY(AiYu 7' S$Jj@ [T\a[ߑzN{Q8gP5C^GÙkڟ.8mۯZVE;vϣCC=tE{8驊!N%PXrJI Hg.&Ǔf"N+3LԋeU.ZvLsR@ IxC'1xn sU;ҠAw嬽p8Zx4/Ǔ]崂U t ࢠ=}F{j b~"EWi0UxUuhЍzkڊF/MƤC6߈icᄴdM'Ӱ=HK*lɣCѵ|s-ddyH␤Uh\KJ +{%Oz#0Ps jIڐzޛ @j ܚR:&#R?H 1C2@\m!!Ml/E`֨^:,] w%W|KU&Î&PBq VX\.9;n֋xG_vN9Uf+gydaRHp#j2 cpǴɑ+sv5yL4W.8 Rld A[VWE-.SC PmV[FK A۩w4iGFpkQP#H9%HsC=z?8[^J2.+:mA|I7/p=]tbKMHޑW\-VOf`)Cmrza'&vC{J]&IZ}C |OH'PIGRQwT9n^oJ% פ͜r98jC5G)> ^3|c4ػ@@JjJ]`J8G(Cv4ΏvȮgcE} &hno~ Im4~\[Ig@/zrz} oH<`d3n-uB+{`]}H݃4ǒvIc%9A 4ꭤfRw⹤9R$'"yv Iƅ2YRO950loFߌ!L{׻O'yt@:_}h^UMƃQhXU> s2 ,姅=;tM551 fƤQ''i{ϑ{Y$QtY}́Vn&dЧD:9)&@a$x8or#zgFdIL>w;66̘תm  W(\:^FI:,BZ6H=xDb)q4z7]҂F!iE%s"3j~w9{swhu)^XzfFMpL.Kol98 [ݪ}"բX*&cʄ֒w`'sZRY/\/sn9f'܂b^]5췉NT#׆$Ql\yWC}HOIX{gHj3# W\9B5 zDa`p_(Jݪ vz4V-UV@IH/b̲Sju?Fx<)thY<|^ɇIhjfa>ES'{ p0Y ⃹kv= FWy'B_T|<^6[n^-?\-꼃dGQS?]) IJD$h)}p4]$_Fx },M 1dg;.9i>{1Z`IRRI;@,'R#ݗ صK$vO;T^AƣxTՠ5ji;UzoTu@'5N]M`+.h. #>"gi?˯p Hg# Jf QzHd1VI3@ߎHjI7~?LT3 CR4l$@ Z=}8i ulq2 Cddw$Mܣn~a?A3L'9XQ_1~8qЊ>NZs> -Y,h,v7 2C6=}nw9E5+V)j$9PҘ%4r\^<^@74ܒ-JK @l>7: :xv |c?~v8@!P7j<|Ԩ )᱒!n2T+[YCݪZ—Ȥ+'ޒ)x9z[@XNke ]3@`+,@%2/ڵlwߥwMi  |!dK$rkw *M|ZNƊL0+X;Scd ?!7^ٗ[d{lh#d'y1飍1?֪g/X_O@ʙ>WdrB(P/E@`B7ixt3Z GWUFoc<%V9 \!憾@e51x8-F @:#C1*Κ;nhE$ۨf+XvLo& D_q-xgN}pakwAp8LJ9\Q_AڝRE/vn7UjTvը);)xiFpLG >k^Í7VL$Iϱzwg 6W=I]XդAcfNՊtpn!U;2SUx[RkIB'cݹy2Paax<ؑq)wCkc ]F!9zx˫s2wې*[W1lZlNr^8Ƒ7֞WUhW̌,&A;p!\ eR3q^ƕɸ|>֡QRGW}J>d!`y,9Zݐ/0|2yKkj6K _d6~!~S4_p|,bǪWò̞t&s]<3&SYmT?\)$m./yQM x:}^AX C5GX{7 NCt(egZ4hH`{)d%P6f`]Q{jU@5:B@;O95琬^y02`<2ɼ4y TqXK&8X͵r2a'+Z>]ɓd7)8CWVBr6l!F‡P6Cv-)̺xJ)qp%!7/%1L ޻ڍjf0Yzf~(@yfy۝?}SN< ymw\$ Df-" E}XDB;˖ UmzZ;1\{ه=7~叮ܱMQY3A҆$ &18wNwyJawy Rn[?}gSx_abdLE1,J>薁p,_^I9H&"f=Mϭ,[0C殫VƨެU+oqZnt%09b+|S5!+3®Ԭ?j\8/Nd+!` {2<ma`;&@|쮩ڃO_.N;~'o~!ʫy?Ѹ}6zrI F?#"'i0zRSǁ0 yA sL@N8L4L9FYٸxόY>[HDE+TVVtUG#`"@"1]: 4E<0m$RvFCug={qw;"pX.v)UgqV}J?huh{O=T]Գ@ȋ2hdwԸV>GgϙTs6`'N h&e%֒; vS[hn"p .*mqDKF3vkMNЌe>NYlr\B9ʏ|R7Ի#Q^!}[̤Gߧyd)Iċ#di}6Ca"X7h*V;j B';c|4E}$X|mQȜs/elL@ģ:F8ݓF,џv{Z4Uw{ c:R9\] ^ƲoY/j'M(*x).l?* =\7&~pՎl?Fxs\xbi GmDбhIk? }Țy21mpbs_ke3!3=8 S{OX5edq; }sE|_\Hhثp\nt)vE/?^&GM7\%=sO@~?\ڇHSrp /r7̻x4!h6YkL {٤2.4AR4a.*H#WU8gy~WIϛ~4vT9'Y4$}@'M jHS+'?'ƓQ$˙ttl+33i)lrcwEjt;/ E-K>?i[~*ZVzdJ 6.Ĥ #aUo7 ``f)߯#!mMU"B3,"(빪A<;5wAi4 W$%#hb 7 k`6Ȑ5ͺ%8:wHGyx#+Rێі~{kVyǂ%52Ҫg!gqe]oi81ض^iKnVףrTH'}_Mcv 2χPx_eH28?$r"~yMQ|c/AC 3 v(;h&<%dz[4hf(dz!E*e֦55 =ioT6aL ՛a8EݒPZß-zqxO%c,k1]$H3qNlgb-d`DҲDQ5[h.g5MgPW6œS.(xum(O|ޏ@#i Tk/?[EEc-(F˼.F0k)|M<̠wG$_"Ӈ{$?M<^)Ǣs06+?ʉ:M::GYAMe'^(:B]'2Q>c6S'Z3(ѺX+r_pg? Ez;߯[zda#WUj~V4 L}i"83bD/ MNUo?,;Wp}ʊ0w8!(Tu`4C~ccS|DZhtsJ\<|&-ը ԭ7zWI]!p#>{!!Z8&+v'9NɴiׄSmU}tQ@MZ`q TH5 Ts]3.\aVc޺{]x5mxA*y,շ+Qw Gރo6Ri'iiЋNcЦ㢢&jݷW81zAmCZ9-Q$?WxL2=U <0Q3!7eAUi<}I'I9H]k5U6jQ ~#_PJ)P2jaT}\#q@h2.2e2apRwa&M4{,`ÛkI6#[wmǦ۝-CGUѩWEͱþKvHX2oߝy24wpVh1IѬt&?-( ip  퍍Z1Cbaܴ a|S+7yfXxӝ&ӌ,V?IRYX8J]~fNr?Cr"xWKKSꨠG $Qo0t!g?R?ڇ^A|,#R{RG&*V,Sans̱f֍ t)T'Է8% ~k Ll̥VmO-}%[Z,vNa'auw $ɒj%RR.㛓o@5Uņwm/V~?N͊_cGh3x gߘ}k ݎF^ wÅS1.uLB.c/I}/ٔGOTs26Vc_R(ޤVuєzGU]ZPA}ñjM:`.x3Q7ۛX9JR$t^IvVaIXMh vɊ9\ pȣ V0iQAL2^7>Ӛ&ӒJ>N839 *lB|w}up ԼdiX[y\;풚p wT4H^&{ph 8o*AcH1EhY[mAl;*uU:ҡBW(\rjOڜ[PDP~mMSq.`_,iy,乞h}$ǔ 4|q$VI&Af{\s~c~6HAƙ7yƕrɐ,=zmX"VN]ۓK#ea} 2^&dD0hH&2Y+<‹52u['J7lTd+SMJM'[$-qik&-X<:%<WO*7{T#gEs4Nwh2j0/Ϻ>ʬlJK@5@Niž*>QNHqƸؕ7`g['xJ{6<v4A00gkĝbkO1gS $']L`6R{]oQt$rfjquNjeHLLg 2-PanѤ~ʇC ^RsW"wxExbWwH"M #qouwɁ) L,VJ)jVTc33 Gڧ;Ou#N ˄9򣾝Q*IkfWv:RĠo>lkT bFGzojhvNS?y//s#?oxty kCЇ4%!fVL0ez%P{gΙ x?e#́$#r˾MKx_{dX8Iws|n;:e[ fߖrCU5)urI VQ!-IY;_Õ:6iyitZb"zfHrx"vg[](%xE\Ki3fc„s_5{J2׬wkOoT˟.y25䅽bkt8w˱?CdXwTp)R`5eI+XZ&k sGf\RdDJ `?~zѮԡql8Ͳ"K jQpσkIac4> CQD^L)MlXX|\7#R6mKʘ.& 'ƦCcw$E0b/Σp>Z[ތp Ku;ny|l+;Ѱx^-'<`A",}Svc;[9eίӰZPuW_t$jZt5:Vb͡)HFw^]KpCztQ0ѝH o1/S_m/?3wm #R\Mxl5#!F' _A:5knf0:Wkvhyl#QUX}"C,R *siP:5|?;mi֢Cxi& mnB*5T_ A[m(G7PM[UU:8Qvj5MRhPƙye(/%urR#~16S2;rWyr$x!p th4fXz) ׏.r@ZWQVW!'|XiE{xZG1K< *xB%ՃaՔ( }KZ1aܥ_eF gkgxuq2's>8~2ȡNa<+2| v8|O y*\6tT#y?ۤ4R3WK\rgQn'LV`ԓyNn7ΥVmězMhGdl-tF ؀.c?uەX_sPV5QFS>rn #KHP0^D78}R2; [N,4"N2Ӟg#̆D-at:aZř t:QJ@5j8ҺtB ^` _`iyg_.!5_:F-=7 ։_%yIPn~S;7AgFAm4~ W$Z'̛a\{@Y m.Uw-0r{o{ܼ1bpԳ/ѧZDvpu 8Q4]p0ȜWVg -~䓔kL2rs)VMYwSN/QH5պ:ٙ$_֍{TTMk^k~+}.Z6;F*tpC|n,Uk?dAz2$GN,jl][-)?W~xy% u'nKfév"vkiBrTVM]TYCPRc{v]n⨭Ub4=nazew2 {/eMAvmS!@R:1#Ͻbr6&񹫍F,Bi 0z9P,|%3Mm'ë<.~1hs!܅ ~F%mA#|z*I*HFK:gV~Ze/3m2q۽Zw?3f};5XI¹}v\;w, mphUc߉lΤןYSUIYn(E+"ㅥ S[]'+ԅHQ*'KVN:piQ_[?rBy L {ЦCڱ_q`ʬN!-P^-H^Ipf־Nxr)/ý )u_S1yt]nx'dDrKo9x]j=a[i V&1Sm#o$G1>X%nd.//V%Ias,IY!3,7ע"Τ^aWn Ƹl$r:M#MZQ0~)_4y2%b8mb1?s+7h H-tW5bol)ZuDOHXӉک߻e$R'&NVL- vL!s| a~SR߬K AG7uѯIXRK&<~B&}?rqm}l>܍{V\_2+Z T]/zLFIC4rT:(4%VOV/ᕣ?)}* $rr'&7D=c"t[CgW]v+Ig@XG^cP 񿽵׳?MjMJŢZ L"i\YUnȳ3|\;ZYiVM{9YnkɹgO27C]И&$4k$ؖԓE:$>G:X2i؝ߩ nrorV.a*%vs`4ד$:|V_Ĵ9GY>ˏbl,ɒz&H[{Gv[HqF!)%>kkosj5V`)Tz-7Fj2T 45B3QYW/iơ>-2o3GSA϶ߑHy'5)$EQt;Ч vW,wˈ|\F]xg?`JDA}4 P 4hҚI^W^kZX NG#pծQבe+.9T@6Cq=;VDYT] c|K sשdQs֢G#&z_c-BkY6G#,^jXj2Rݮv1"MԸ>nCE=lVko}ˤ[{:f+~):wNGs=k5R R6Y*W\E)Ĵ6!,RZ҉K#; zUkZ⃥I>$qw\f%KƿD(AN.BOf 䎪WuZQ!>[1kݽٰUjVUkWPdg/i-@; \~M }p鈷?zz/i{75inM j<ԕ'ijOI" K20idEop=Qȹ#\=9<Hm;DR,c=.^n늖~ -L^ B Z 0ķC6zBW]\ A\ehXllqd)Ha*3j]+VFׄx5[nl䠴ސjiq٩=)MjA _cz)qZ U[푬԰CW(\r=G3蒑(RB%d{*@+^nOrl`/yގ]}o*评kǛ&TIm F `K]18(֕wr#AW_\jt{7#'U)wQFlq8ke.H-Eժhf'%Bo 8 +yq#!met٣)rA/LJg@Oʒ`tGRI!3+!-E~U- b׺L=~A=N@1գlX,?!&8#!,nJzʼn^H?7r =1:϶~QZ{%Ƨ2/ 错h,8p8XKa *lREnhF,a_uRw;Xg .݁"eċHGz18F5'9@ :í-Y/,sC?a}m`auP,+ףxZuuӬ-Sn,&DU=EtP$/E9,< '5I݌_ Ъw।I{ BqNs&<+L\1P7ԴN~}ڛfOIjOSIJvS]3.a6[2KxJ8S&A=JH%qH¤;w;!IMx>]Mfql .WxLfJ8zƬQuepF,aO@|m5:Nv9bⱸH`7*RE5jb@[& 倆Eاfq,sl`5fzی2 P5LLYIU@?Ђ>@zp*22ˢ~p8Z݇kV4<'_#S 4unK[)jdTոȼ6qC1m1ihB:&}])4ّ6(k7_B*fWdF/=ϳ&r NOv;~Ŏn&$Z[YLÊ#Eg[ym{9y@i/Qݫ Ǘol.LԫyuIGNGr8gD^U{h=MVε1\V-7<"hqyA깈opoچ'{3SIk}2ʲ}}9$Lw IF ^t8;t?NʓQs?ڦSgƕ2=O9i] 44oș.5 rF2¬SÀB+{%cMb dc˸֦g=~A*,L^7=h1c#QŎ&Xdڕ=lJcZ.ړjش2V/PGYG0H6Ȋ3Qr@J֊%CDp Θx%g=wjӪ+˵"8>>nPc,fes.xg lv#7MBARvjumJDq%̑- vW;%Ğ\O.<Ұvy'a8h}+~j}7%pv~%%c^kj*i)T$UI? dX;ݧF7)ThqO?8$&怢Ϙ LG>7\Tj>DwFN53_"w)@`X/<o|`vGsOZv?J]gV>f[H_Hj[}ۋQ7Ͱiv7n}5飗I66RQYj)Qf {[f6u6<.mke;帚F27DVRJ%]@s(4|Lec')L uyY7Wξ ǃKX8p\{QE.N;34A|𒍠 {)\#a=:1*NkfYSׯn M. Ür2y:"fitzLV١qc J2De<|"8eթ *O^BSY G3FǫoHR7fP̽>kj]C q7j k+X9J[: vx0r mf{2pYRVQlfy̦ՊTZ 9fu^PTGL< e?p>F;Êmjm7+ˇ^.PgH<9OE0!0̨s3e8m6Uvg1H܈hG[{90\,[۲x]Llxlz5EKsR`'AUޓ&)/G[%dppJpOׅC̨?d0W1n&CCPsFےR0o-e{Mcơ%F9K%YHiz&UIL\4b @qreS 5X"rJy'Η \F$6.k$S+{+=QE<\]r_rY|Lq^\!J3j7j?ܔx\c)۹Fi0Fvz%|>w;_]h v 1m<{9=6ilJIe֭th֛3}:Bٳ> yng#5o )Hq~Rk;o<7:FfHMX KYxLD!$>/^*jQZWlw ݷPWAm\INx&ŵ}&URT=i G=y,` AaiYqM4ωH9d:&,M5ӖBjh ze|$ϤC?s*v,`B' .UcP$i}ۻIѠq3a{#_pr)ܻaf@c >D&KF{ug㲠ު5Q^_II`7Sߐ&VZ^c OyMI2k]{3U~ۣI/jj1I^2Ui ISeEU*%{k]9(H3sU$M첎Քs~EiCѾ1 HeWM,\/Gq :Fx̷j(:(xSM5 ȋA=ȕL2C4+kϢ01]IT_~&eW/bEڮh_ӈ/QPVI.K _!M0C. f5KaFǮHJ^UGުb,w(owEV[2t./8No y;u莠3~w<6ϯS轙:T4RkՃ8,`>@좖>c0S"dxQ5Iunvjj!hRUiHҏ雍.)\8^}! 7Zgs.!aEY7S]+KT0;N <Ϸ6e)>,+R{S8 %$TN[,;N9VcrP+ݔhjOg8(hڪIob%G&zP|ШwU~3w$qN&]o:IA/RE&KHoi8o[k8!EI=w?Y>b8^}<Mzm՜:7Lt4nҰkNըEfvG54 I ek(Æ^z{>1S l7()b7JfѨj>I.b%#C&9 ,#[2-#8C-%kDE2DGSNgo>uΦ4 X-᳀=|75WnDOZf!ʀ+@P fyX]0ۙ_º+S~9u}*t+qW.1BJ_OO9xI +-u9w 9[JI{vB!,w ؟}g#i2;Rќ_YOS  ,`Q^jx %u1dѴ\RtQys+r`xFcF:/vX׶Q"Zz8[#lm!EFbr)d B؀Ya%~D.@-Rs$QX7&-_^3kv%vW(q(D|6AcXdiƀro2XytuqDj91VjT{lnY`BXM=-pC7vI&6*Kӡj菪-՘P?-ڢ+.a!1ˬ*FXJ-[*ū;ɿd5q/ic͟ʚIOnnjoKRFiVlqmu_rӟzg7m%+,$q%wbx&±~NW3d:)DEw,k4P"-#ov6{`W`&w2)pz<zEzimgy ŝG8 Ps/~$tcjMBru-Lzu30khX؇Yi`,9lth#<WSZ@)̈نc8BQ̨F.V  pgQ1EvkT`|4 G}F4xP\feypaFMMRng!Eb#te I%[{:49l. QDYIO̫  E~'1а F} kf^rdo/#x+?opZlFXV6%('ذ:/e vZ\\ 75 GıbUXV-NX=L_?\y<9򌂔hή,P;gäzumE3OQ %N>q8 `骏v\lNHoe>rUQ+JUz+IKCtik\ƪ!HJiM#&MT ن ZE?j@2me0yn&H3`Lxs?Q6b{Z ㎬ jbR]ݏ`F(| Pk]hPlpn֝>4se•OhAh"YՑuj ssaxd6Aa`+etgn,16-LٚOܯ6 4Um.u~&EX^]ϐ-s~:;f'3]'͍8@%WD_$L~.OR>!Sފz^-7O {gQ )ZZVR9ڴ~RVvgfMSc7E;cC +‘[Ld!H},%M I} IzשdPz?sLb9)roWS68J_b2FHB˒l!fӿOL-,=j{5󧲣mϛ%w47 ܴb&VBP&ɀǮs1ꓣ⢿'WW]Xؑ>ɐNU `,HsO)%qnq׌?B_F-!#l&`0nhhի3@cQڈi-I2%]H"Gn`7< \`̉Dɪ큒Drav'E[?'햞(S2Q>~(&F/8 B2 G4u=ngW|P/F3*2d,=t뮫[VGI8sUΞB w6,G~3vݳ_Q@_։5fK\϶aܸ?<^("UpeͮYX>!7ӹ9]Ŵ]P(Z)W< D5"j&)ձCĜGTR aQʳBҌ3,VqHӆ!:E52~FdBۣAL7 (\:6%` gOU|bB/KdTw&tXU܅Iia*g6wSuC>Oj?cCLXs:48%Ucp'ӠOBJVultyp]p5 Šo8+u4%d.RoowpH~UP>ԛ$<A< h:Ͽ)YI2 $yW~/uK@ ÷hԞpg?hg{IoOoKY\IݲZ7*T`^_h-s*y—JM@Jծxf'gVMUD{881υ, r@" E ZD5.mtEMqQkV[{SѠhHH%n5,ZtbŰa^=]n_#lDhG<4V̢%sEJ>\'ep""2K}=.wN7$]4s.p<ΝX#x߉N╸ NKCM}'8(Inck;fX)b.2Cwm[签,C=7WZEV{WlCAF~{-:8e' G\hOE c(O1$vZݮ;ȧǏF$tĈdoMn&W E<i-^#Q)dUa9MсϙN/N] #6œ,c$/^F*vQVҨXۛZn.$:TO.=6<5CLl *^_:OP';}r0Yp$zp=*棓/ԺGR Q}H6&Ki"c'C7$\@o^h9rzW5ICoZ<)!u@uI!=h*G [bFu^zv >ٛ1<) {̙o#v$IPN+ԇԪYIL֫1H{˲i7ʪ{)/g^z3念zJb!G3Mf;fȼOb̲ݳHgG$Үǝnk A Fc]!0ڪJC0&=ZԸY&i"G97&0$<)NKR].5vL2X%R҅;za C۩5 $ f!0ǧiV 89Z\'ڪl(} ͋Z#3w)x~*&3_A3 G?nxfO^D:7l{IIt46 RIIw_ '2 JN!{5?F%!X\Wuˍ.`$TNDi"C /ρ d#>=6W, 7RUV6XU*fA21MPω5: ;W?<R(Tҡ'/'44#E{>jPimE#C=&)NV 8XkU2`&ٝ:hK]TiKL"Uz'G\{XG_x=>Sx fp>yA]XFRtw>߀HNuҫrXvnH:A% j Z^KᜩꧮYaPy M AZ8nj҅wa,dYxe!w`,'i3'NKD kH贳LdEu,Y#~opһ;SYd$uGTupR.-wՠTochqN$}iD7SdѸ|w{1nLc$Jꏉ$,5Ռ;omoy ҥ;h042׆CtALK'*2&]kvTghQ& dY!˂):ܛ)+.aAAڴ2\G\R~՛Sz\v?ʴ!29)y:i@ː:) U7\8٨_8+cͧJd'x5[J90< >fdT{N$߸K\XK sr4wg*Nc $i0XH7"Wq@:Uu+իr딯~&tErZwJW7^v\'u/mrO*&Gz8W)Wz?2VKτ-|]{|qa#׏$>zF4Z4hΡXuǪ>UJ9  fiFq#Ԭ,N@-{&Ze&i[Sn1*Iqʫ-4FjRIp?j<DֈU%׫ M].23A:j>NOp 7ݧ3 zF3V7Nt΋DNMzYZqӮT7zގ~y^?8O?ƦQ *Gǩ5H!Y=+ԁP]ij5;:y+?x?4-^PꎖP|d-PS4X!]V;˯xK6󩖧̤dع"+8.__s_+6 VhN.cO%:#vɎ!6X+xHB{YiUe! f9԰B])@c5 "TJ8C(5a;L2sv;ztʎ"cP (mqԌ9š3 CeD!kj aUջxVM"Lh~wkkHZ__5x]V(>)WsNP~Q% XqI4U;!! So6UK:t*7rָ>PBͫAjh&o8 5jHE{:+zcsժ6`r߮}[?F%hr*ʒ1;UZLdl%$ PD1B b#ci!rx({+?NZ3Oc ֥\=oV;ѝr ыd1DueEm: akO/IOg\zoGsQ @M3͔+I%C* z+fs&,ĺ ͱ&Ջtn I)l¤AJ*VFp*I;˚LGʑ~dRl/ȠamjMRw]Zb<JBCMnۃ ]1V!{k5~FJm A/"O>G\F),V DC!K ׭;$Uʘ@kZN鈤]Jٵz{/밿e' {:M'I]}u$ QTFGT{:*իbk:o~'W"'Na=  TPw%=0+2f GqZu6 /L\=gI E FqϦ]@"_M(5צX+T_}@O([USw $y˸#˾S%%, S:Cr*v%RɞЦteÙvY1vGh(J0EҲps@Ne~J 闸{A{N/׆]2`.Vx6%8Y)+9#'O&BnkqH^@Z?$}uPh59GzY-7< n,Ov2^7Yh_|[}r4 Կ^'i[^rʁn?EV ͜TN"%B;?gONowMߚye 4||ȸd,AEs~k[w2~ ŗI Ow[v详k kE:k'd)suVQ,%brMUk+v=Ԣ%?;uK_'H1qaB!5~|C*ZmX tKߡ"7 =:^G_V$P?ZczE9/UsiɎ&R4qi׉I5^W׳ہr&,ኡW48& 'QgfY5v/ I+>-{ߵȞx$b{{O|Fk^&Ze!4PȬj[}ys•#N5કr xW-> zu08̔h%CD43>5 $Ϟ#y>@]\+T+衁x%huRE(T[Hι)#쥀*K&:ю>|m1 =`|xMٕwyc&:{N\1CBk BCQ}U,2(z3_^Y,d`UuiKX)91n\Em.sd8S_KZU_.֎S@ 7GP Gd8I ^dN\$UzY%*6dIAkԜ{f3sυpZ%7LD_hdʪ'@>-1)ۓtA:79Je"xyLV~4iy4,8q$ǣaq.:Ld 7^vYم(\`sD8Uu`Tˮ( 9ɟw*@Kگ̻ޕk9w(Фb.'R/z&LĊ)3#-OڄH|~o iTd1;q_[ˆӣr(Ӂe€HMg?g&6zU}ȇFxOd}*}aKP1nfv`uJ4nWd=ڹ* }KuH.N,:w9<_YkaLZNFnٜ3‚yILJ٨H/9(p =:W>kpjmq,oBF Ȗnr:@p/-NUAvDTԪ5co'jܩwl"j3~ڸ;ps{Q#'⇻F@UXb={Fa$OV.u J7Ο%;{K=-Cq ^3~R-lTηvW%=`tXm,k>,]OE=MHl? a٤NGw]^^ZF|R&]{#*e7!Rp]$|62ku]&d,z~4!~ъrX~${ 衮`ШhŔK?œ o>㩏oc '{P9T| =H2wK^_\K1̞\?6NL' gH_ʁsN;YB( HҺVd퀥N* 4i;-C soƣ "o5$BO68dU 1#֯ѪTW=Q[ю.K1jX t:p2? τƳ#B'W j:]c/>"d EZQU;z!ڦey2)Swzstpra_@yv}Pe!|aBH.g#6Rޙğ; n^5~seiչFMJms;Yq1CmdIjhUt#pgGr 8 .c4DV>ά`Œwq$,-x:pќAОw|`tOě}va0 'Xy;d3t0!( (Ճ>Ɛ -GoEᭇWd1\0/,bh/I`K}tFgUSC]Gʵnj2HvJUPc <0%dzc0sHBٙ% F7R:8'M,:@O<gd]w8UŢ.Q iqCu]!U&iۓN}:a_n%U>3sJȥO9yUư-kueXbQw61gp"XSp:( 㥮=@&yr뻀Cj`GlAc1#JukjAOQ!6RYD}?;6O*hnh`j;S0mh!ӫۛ7iZdUj [W(\R岩ht:]uԮdp/_ 0ra "J}N~G>+ҪL;GgƱs4`ULzkCK]l2rC` [j i<!~hGV& ie`=yO]kv1:ǂS ^S[ WeAO2FLAҢ>PݦNT]r}TQ]k:^ɋ|#2뤇 aEr8 I#t7"it |O&65;"!=6;,1͊3>AT 9b=s8}+8T(!(k ƛ$߇?pyj/"IP>OAHj/[P^< ´q ŏQ}2OJXT !.O(\:~D-zӿ{>-B;f /0N~]2)skm/ݘ1Cb>.KwVFIyN/HKw$I\vvZ:UmxI>k@^[k՟_ݨZͷEy6Twci+YzT`Bߌ:Ųl =YilQ٪u{u[yc/I|)z*j/^xe.Ĕz?A OYP8OƩ#_ʎ} īdJB"-svR%؟;B*Z.]@&6"g{XqΓ>"Y;QiFHpj0ٴ*9!Vʎ&)-5Eb+jl칶ܑ$fm XQH(IŝzOS[GL-ʤ3h:ԡ\Sk4̀XMG3jΩb>eK1tZͦבBԂ1E9$q )9YbN0o$\|~P69M= >K9lrlY ,,TP jrQkŽ֕OQ?~Khd֬Zo[av@vk6&:, gÌ=Y z8!)Ē)g5aAU6_} y 2{~c}[G@ G}8v HFxhc&dj,FB j fUw#+5MGXD0/$ FjlA>v w`m^KGfNRLg[`SLƭjkB&a z UpT4fD4*|[ J>e~MaiAy\& ռ11߮÷y  /N.ܱ}7=Sy1/iPP,I_ БN \١0A3J/O󀪱P/1"ԫ\7P|d e,࣐\0ejWre7# m<q peJi 'Lnvas8jL[d:$xL Ů;ݚj5I&4T*p ]ݍFM̴9/qit8vNxC a=2LV+]hd@5 q;>6d'.ol8>9q7\C!\+ Z۱jl #:VJH~` l:EqXh ͥ fx7lЦ2@b_ebx:SzeBEK.AiH1AP;~>H(Q-㤆}RaJn("k\{۹a(J~uZKIXA7qst32?(-K9 ]ęsKQgX\"VH'oK?] ox9̚{ns8}:IӊNKW b?]%|h'}p߫Gw,U웍5JIնuHz!HԇMs_3e$%F]]AH֝VӢO\ҧ&z2ZL=3d>SxGCUJ:fJ&J j7ۀ495 oRZV ؀j{-WduV.ZJOApG%;+  *%NbSv&O\ U&K͉f'^W} Mxp /@LN-|lu-+lɰ ?~2~9Y5$ Gg1ݸV7L |2]R5R Zz)>9paG1R7bА9Ǔ@|N2'Z >r,m_9T2"@8#*#+zZ5;R9ZPZVI=Q^4ʘfkja!Դ€w&`/cw_a{;#! BmHv*s:~f[_^U(Q7K|o} #Y,m_.krMn9+Aj>L|D6˥Q 'ˌGh@fg0ꔴΠT^z`3U'Ը֜Sp%qBT\Xz4(#ϱ֦`H>i:- &~;tHz\%> T b;GN@"j.yC>5x 7w$ߨW&Yr+|5ʼę2>c,7WJ_`?*+ߣe&zu72N湾^R@Kx x0A}MDn+GYgLv1̅HNbḪQ^vpt1bɶFY6瓒4b <Pi/44fw8vVW.ֽA5ԨM5P$?%7~AFlW9Ǯx| հRܹnߔdtSRcV4+R$w.%amHArO-WVvC^Vɹ /I7*? N cp1Ү૥ŧ"Dh`j M5q7'G[BlwCj׺z7`6:=8UTO7ZzS> 0`t(_3{>3i {w?2u#( ? $ Ct  K˛O9ϦOJLw|<юz~% ISɭE6y)!g;ZdXR.u(6{1/[{pǩu=doHb 4F诂6Ou*m6L/J` E`uU5Y÷ Jyh߱z߭O[h@Ń_nǣޛabO El5c ]!/ޓ9sq2|~),Xy='6@aAR ϏGTND4s(5ʝFUeH^_%я#lL.(rn;mp1?+s<<PprL3{ ,s*$.ocΥ+zF RK&͝5e)lHOif'm4'Qϙ`0:]ww7yjFT^'C%@81_klghP-x")Lry3-/&/Pć`&Y[ i4& nSʮ pG&Ѭie+T~ռ\vCHOCOhsA*5"\]%Kj>Pj '@`#?Xz'j,IN:+xK)4po$Z()tz@&T ;ʃE %Yn}1)Cl'XVv@~4&Mݗ'?aHrc*kh?}djik GF`lמ@VeE~gTIZ='tSCZ]8;Xe(8'}!$\e VZmb@I|`zesdMC5!cx%hH&ߏ}ꉨy=y%b~ q@|Wk[HcFF•=QvN&G8 C$Ev﬎g[ޅ>wd@bP;{~G._Y:c@jh7*׹WV\ޕx.sq)N2;} q0֩#;.m+UyBaZVoV೻!Iz䵸C7u@C~׮ktF Y, r<{E{8ů9atyR6y  R'WGO