summaryrefslogtreecommitdiff
path: root/fs/ext4/readpage.c
diff options
context:
space:
mode:
authorMatthew Wilcox <willy@infradead.org>2023-05-16 20:27:13 +0100
committerTheodore Ts'o <tytso@mit.edu>2023-06-15 00:02:10 -0400
commit0dea40aa315d01f5d0ffbd871483ea8a45c71f65 (patch)
tree958e1a6d73653f47b438bafeb727d71eaee7fab3 /fs/ext4/readpage.c
parentd19500da4b8cfe1791e1583ab237c3213e1bd39c (diff)
downloadlinux-0dea40aa315d01f5d0ffbd871483ea8a45c71f65.tar.gz
linux-0dea40aa315d01f5d0ffbd871483ea8a45c71f65.tar.bz2
linux-0dea40aa315d01f5d0ffbd871483ea8a45c71f65.zip
ext4: Call fsverity_verify_folio()
Now that fsverity supports working on entire folios, call fsverity_verify_folio() instead of fsverity_verify_page() Reported-by: Eric Biggers <ebiggers@kernel.org> Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> Reviewed-by: Eric Biggers <ebiggers@google.com> Reviewed-by: Ritesh Harjani (IBM) <ritesh.list@gmail.com> Link: https://lore.kernel.org/r/20230516192713.1070469-1-willy@infradead.org Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Diffstat (limited to 'fs/ext4/readpage.c')
-rw-r--r--fs/ext4/readpage.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/ext4/readpage.c b/fs/ext4/readpage.c
index 6f46823fba61..3e7d160f543f 100644
--- a/fs/ext4/readpage.c
+++ b/fs/ext4/readpage.c
@@ -334,7 +334,7 @@ int ext4_mpage_readpages(struct inode *inode,
folio_size(folio));
if (first_hole == 0) {
if (ext4_need_verity(inode, folio->index) &&
- !fsverity_verify_page(&folio->page))
+ !fsverity_verify_folio(folio))
goto set_error_page;
folio_mark_uptodate(folio);
folio_unlock(folio);
ՙ=! i1zJ<;Ju[$e2)qS jPt w\qv CiF-6l uQv;/zN~_v>َoڢSBxua. X[ j8km r5i;dKxb|2^QވNK By?Gc⤣Y/kKݟD.ƺ*8859ʬf7p+clc66*>:ArCZu L 5r5K4Y#͒rVm!{rለˤS 9pD rr/5!0ђ F-ȎT8X\d휫{>9`ޛ_Ԩ.5w\4ƋiZ+86PR*j2E(!2fcR"F/Aغ+N1GxKV (9 JT: Ѿ7VcV>)e3Qnb̓h^^s&1X"\Se001l PhEReWj2-5 è10tF]pHA'SE1\y9.+҂#&8']b ^x{0dD3vq ӝHٌZpDKķz?ݻ׷0-cwVO/>mk?gWa[2ঐy,>njXwu1_9f0} 8:u䘅m:,ÝVR ٙ6/ֆ!VV:|f1:ܵIi-uW%7Yk Ho^,/HVoVFluѲ_)No1ǝɲvobtnaeMTfZX/<|_,&tB/ hm{:bh-v7AK; ._60l?mlhݤw} g>V}[B=GӔV;wV\W`ϓվqPxw4[kwV6_ф>7G~}0E!شb+nu.+]3ctvV>V0:VE$i% xQkq6e٣5J4!I`;51 /eSZFezp(T!>WxT͈__;{:0}^!)/gcUzxAsJ3KB쎜Ui mۡ. 6[sb:;S!J9S/eAQ{ḄwP@l,Ae*s*B6[s 8lC@ҠI+?A(.ԆBR'wL5ouw+F[VYmW/pf!neln7Fw4x <&8$kTZs^ Cyӏ]jHl>5̜0~ȏI%`!UqܶXi^ $Ԫ!["%!;S|i]P6wFDJos-9gE3pbgXw֑Qg^6y%WNbFyp%k`B㿒f,D_5 C{; G[!r<ު"~&&0ksd!ṵJAn<TP5%%RQTUM@ILMPHLZ[UmΌPIE?œ1bjB'4MhLH)ZQcSMIU,T'hcw#8D+pt }0&+tuiP"b 8ۙ>8Е$_ɱh2B4c7z1PTIKUA#S1ʰg!ڢ%澖>^oI4/qB{:w b 8!úwyS<͆ާv͇mP^ÿǑx5F8+ |r}vZ-7U1~{\Ok#^boj5QyYzH]H˻";޹~"VTmuP)/WO2AR7LރFeGP, [ πXVϳSG|_aS1v3U6vN/7|jkWsloG+|mβoe%GqJx,ǩU풟>m#_7M9R.6NޫƒjBY!)ᬮ̱|@읐P͡^0R|<>t`n G Ld꼞s/ưr{J0Ӛ9_ڼ3=JЊuwz? ~k圔V]EK~8@-.Y9I@ %,FKsKK5E@ӏ#Ѐ8PRK_XlRkF~[j5w?F,ÉQ?;;:~)$*ҎƖUQXQD@'-Y@$Q L#v:Ll=xE7'6* = ?tivPn٠O =ރɣkTgW>{ӣ ӣ+>e Яn_dzHܷ7#w NCR)ӸilD;;7v[w(&mn$ JMЄH[W8:{ZDϦIUT? $=ǩƜsB.WV 郇-陜džZlqݱaz0<55ʯs t tesqj;M 7?DGv!l`$zʅ,^VTJdt6ɣ1ة(Ž➷{H }v `<$l3NBgD枸@*elW![w!Fs Iq ࢡ $be 5f,4iʇݞbk=(z ]|^*`7?V}~Ǖ%v{|e,gS-kZʫ|{pX`ɬd >hob1!tB-K_`O6Yn ./L6yv7uS}cWGq W}v} /1t)*"_gqҍRN,mRaV^I'B (kn0;:d: {oΦO߭GPT{%֚D 9Ũ 5胓jd_}rrhMpVwq0:>ތf:O%9š;Oǝ~>Vy%\ojKC,7"wo*ޜ|l%'p^gAm~8aOߺ*$KovhQ%. Ʌ\ _ mIhK+β\Z*ODg~^OW8Bq+ǪdQ!Fܠ8H^ףa|Q)әΰRDA{>[&9В_~bG)K~ߺo} XEg|<*TKE^4EW tug(.WM<.[yIg/59`vRAx`9/IF W=imޝ۾qep W|]۫'Jo;>_k{PχdTWO@>š~.NZA4QHIA>`&CM۰ :|M<̤BONoKm]- #m^י5}[{5&ź@d;BVcejNa8 '؄E2 j "Ć?[LCE;˥.r: "%=8)ZNf狰cRo휕۞A88=^HǷWȁ'#| }O{auTRd9-ܟ?~@yU酲1E8vw{zڿ8?ՀMt~x,<+ܴ.h#}C1Q1ʼz{t8ˈ!=g*t!|#_w/;Oq,\u| w6LYO& z jhq#QG90 -3/P?aPB &aÂUyknOڏYGp`1 DӺD=[CAe汏iwՔe8X߃gv9i_NVHb Bxq8t(SZ~:u7-~Ѳa}juֻ@kN~ 6vtp! w wytj0/O6Htvxp9ᆖ] X,c`iLXy[ޯFCN'8y% NwHs>S(12suS8^$&ְepZir!~M0:/[vm5;7P.3S_zM?`C!1 s1C-b!Nȋf4T0fF"AmljBMaќ!j ЋM#3PS Dӆ[e9@h@P$5 c?]h"Z]a((4w 6sEśp oviqp \mH9 <&Ta]"Ce7BM!M |5- t3lB9'(QB eA4`5h# ~uS&yQ .C&Ds w*.LD?xcB#xȞ!(Tt L'?R_z {>{}Nj]-ԊU/(GJs,GKnA q+s tXW?}i.GU~ap{=ǀp  NQ??Zg<;\y uyTƪ6ý ק˥ 0#~ ^vXl榯(6y%H|{9蘠ǫVTA>Tz -OwltZ[nH0ǀv\xpQ`ETA;Ixe@BgfjN;k^u:oтgly-&Rct<*6)x9;(91fwkvK:u%.zhϟ'ӽ#Q@䁹xtyyJuKTպ<|y*;n<Kl 6՝ӷ%6N]X$Nw_zzƙY)|}ܑ㨜^TvOt%7n;%_pgp~/Շ-wo55Y×c.m~VMD6jp=Wws0?:cjӧWE|k}fOZVl:H-זZ%Є4;%K[vapΆy_j\5_Y*R09z_SLa)Svp>~#oy#Yj(DF_dn%wmAf<à=MmM.hҽ}sלPn~ӣ\ dy`Q ̩M_0b3=yA-'Ldfo듛׀ Ũb#ϭTE6: Ec/NFG!fk"(\vD=CK OP:C`t>}RW@~KPyZE!LMr)Un"Z,}k, S%] ;8)^T eK/Jo D/}ׂᮡP8 W Qc!&P@`$JhC媥ccQ` Fs#Q=]z"ԯ^0k}kc!Q}oТH215O{U] Xxw>]//gaOL"y68UbbQ2$e nClt1)EJ$'pa£2w f>ifE&8;t“쇎 Pۓ԰drYp>οUÐIG[ nkd& QA Y[XS2MJLڸtƒ)@!<ޖiB ~:ۭ\c;Lͮh5aƼ=vDy"2tp^="Z'=\9$6g/\0-;;QWi]aPo{P ћQˀփݤϙS=o0@$;zo $m\\B9 0(G_~! }Ʌ03/3#i%,(tKOK &Y9Z^14X(J*$OPnAY׭ɐx4}~NSOT=cðt6Cs*}`tb!~ȴnVp=^.,$=+# .!6>fz^B=R5nJܖY;ǐaJx( CQm9_6:tCHRzwެw/^ŜG֔CB^hlFc t/;K^7At]؆wUT ͫ. f5$Kܩ 0oU =?1<`R:-9ۼ`pl{ #ġQބl(DoVr-9vMTx~4KE>k=Vs1/vJ->Y&;rt^HFWYOW3F4'MX Vl>61+ ~XryI,p<I\0ߖ%*iL[YKģ/]N~\pz럾1z<~-GkQ ?t? ~;Xwjy2;ma@tW z0 P4RS$だt8*);փ{e~Ry<-mKAvUU&Pv]R n'Ya,p:("yjk'̆{|,D>)u^N( $DN3" CƖ>џk@n9ਐتfRfBz{gbE6/Ag{pWu_ }|)o/ S.YJLud)^㠥XN[jHDToo(!!)rvh:k:56JX)xG'C36>g_fҽ5sAѲ˳ `#rzYU_" a^oig m|^hi3i=@YA&>6kxGi#շFP{|S =.= h pMt"\EZB-r Z`DO@NY:/G 1ɢ0?tsfbN 5e@ FA"1z)3t.&l e[/] Q7yJNIK5៺ᯟW L}74C pGpAj7k/汮"1۱?N}#F8c`@ĴVk囡ԯ`Eр,z,kN-晒uZ ^ABK K`Vɠe(6I_Ѫ-xJ u{7 B9XRmweqPɪhO~D}8xú/9L>YlBaXbGdb իTj+Z*O~rk d0AM]pDOjnan}LCGn `O9ȼ{@S\̴giYkvFƷ{CoW]Z}-Ԛm8K"&"ׇ.BP:o4CXP?^ 3lx!.d\ < &Ь%ŘvuYT`J;j@vX97)BI ~-s {EuLiۨW"E B柟[ ƉzlMMzC,N8whn“ 67c#tm~ ,2)3;x㙀HN 9^ۃa(r~ccC/ sB}!ípefu+vPq<B Ƀ49~S@.,W:9 @"e'>s>w`s Gl4xGzLz*.v`۔@#-pQ9b \蟯]k_^ g62<i̬w^ϛ$@0}/VƴC6ʕ υuv'txH^?H ^{s+"{9SA qn9j&hJuG=jDA,x.e|?_r,I8r6m g qiPV: _|FroA}(-l! EdtZ2ða&Xރ"<%~WcrnreR=Ez@fR7~⻬E*7oWٔQ=("ov\i{ʑ(\ͬe uP=q>zʬ52^k>׈KQ &uI:ڪc2F) KH>im'M}uܚj9/Lamv/v5aJ=-5}mFb@E߬WV]^4 󗰺lj=]D`kȰvp볧Ӳ/N@i?FcS~|엌3nHx|w}n w{A2J `p2ﷇ]PAGuv("DzHG_I2RPRHνq˳$8G=Ofj0W6$V8 !@+ m.F8J1N.Z6~ c=1qAK@ہB|w < [ @yzr<-&vL}E4%o1^~#{7P5,D癿ȪJc2 FJLњdL1=@[:Fp[ç01HUGM %)t,cƕ9Ɉ 0YcxA@ql|G c#tyi{S-3 I hi(+qݭ! 4%̺ 85Eq߻.<ڢō:1;Zvw^&^s^,j%ȼt/Rp0bux`F u@*j*m{]ﺙ:"=6%HA ЀQBX2/#7BYq z{jZ7y} G`ⱧT/=ntN\ 1P1rE']H lz)};_wkj{20V(X8b 4ğQ=G+X۴QRٮGMQr틨 p}~,}F*ːqC L}/]ė ͮ,޸"|LjCXH1.vQT]}~y镓}]V6EZ#g~@aov|I9XwK>evU%)$G j{ވ = ,m ޶0k||&lD& ,LPToÁy ׏qOXGY:`-7yO]S|&֚ׯKF< |{QDBZTutN9>P}ζ74#mye0Ohr5Syv>0 xvz+{|>pz}wC` ˳B?qﳌaЁ,Bl'30s D۸z#9V+yM֜2v5*|KL"(}OITO*G&1?neV!M­,EL))&pa .ACրΦ.4(2ëhVF  -ƭUN2 2gX`( l|x! 8-N[c`DEe gM{/fV= -k.;rXQAN;asny ;MEem9 -ұ I hyLT@xQ$AUPj0 d[4}ܸՊ-}lHal g Gy.`4H#H,cWQ"Ľ_nE4hn80 *U@8%ܠFO#pZsus(|._Swpa;acDdKjΫ"3:mj~hp/ hצ^m bXwKbѮ׷>0:l1//WV*a0Pwcww~Y۝뷊^Oomgv,yml0DeSՍNwFY#Ķ5T݅Ze1vG) TA-r J]s 35)+a@_J8iMV7r >4/e稪)Y/cFZcX&F%et Mz[' sԲL\ (4{=E@E| $O?}Ar;_\ѡg\` 7 @򠫋[{PVVHB?:%DoDMv>Gם Z?,8۶ 8@ 'YMq2ዽ\l32 |&$hKIJ kq,3Z^ M_41/>5θ94L3ģ;&! |g TVHfb>o]Zku+|3@/Ý6͉hlHrP'*Iv.GEee9I#;T8Zc"% <7Q A(B#%xhc3~kH[QsJD.`/R?^M=UV5,Cd =VA٢C z*͖[Fhyӻ:l7=t8OT9ᆩkx\猪NU W!O>:#V*Q[-FXi.)'/amu[Ŧ{8Gɘ˚ˆYU\zs5Z)N.lJmKܢǭd]W R0 +zi d3.=j=Lhh4زe4" M( ҲeQ{kttH&ExjoUKIl@ӂJcZw&M]JiVd~7y@p-Ho;CP  $DEX*6MdOջSٯKj5Kͥ0^j^-^ @05'岨ͺ3`B63Q7ˠF2cg<cQz=k y-@E}.!/}tPP\#~YB9%fX>aT@{52Qr2lp\ BрclV9x#U>~G% ϖcqº(hyB6)Uf @`nQefңe`RW}~ Yߴk*t@ԨXѪ.1b mRG85MU ,h s{ؖH(p,5ɁR6l:c7j zd m,v /Sñ,x:ntp!EDz4w u쫕u%8j0eh涗)fKG=wShaϗ|^%Ѐl[y:*єX)(S'x17I@q`},QaC+TBW ZXRr@f7Q!꓅8XB9OyLv1%2K]9KKQc-!>vz5{@lt; t; GZOntLXY7ѷ IWLԮcdFx?# 7vskM̖Q=ÜwaKrwd}cv"ͮa`c6*" r#co+s{mV %w!^4 ?i[zIA]DfT+z. "=Wt?qn "yr>L/*`3<H dl ^^b.rjPSx|3,MmuM;$-`6^4(GA @PvkqW*U$.ǫ|֪Dy2S:ݕ);)9|~q1:#G< wC6r>PӉU.ϾNJË2`+أ9YaΛ6E`0\p.m'~ɔ @\kP'DG;6xgC d8.dWۓ(4"8sAS)qvLLHZwVCztaF oV:I돺WA}`2-ZMcҺ.\>b R3o.{OW#)_caj xC{_7y"a4 sjifS\8!gsDzHۆԈzӹzpM2Y/|*wz}Գu_qۭ*X~mL-ϕ޷d +mBpڤ70ȳ{ 1)B"Wa&ORdBxA:|YEay.>װ?b5X KHv;\p~n>mBX1U{55I mrˉO %LtzmQ$p`!e殛/,'#b-OplEMc:a60eZJE䲧_ݼkݖec͸U뗫vZOxq/]}9bcܐZAאU٧akZEf>QAA5Ј*;uNq{Nt %KvS!p" @=`Ǣ#5~K%CkPǔAr (oE9y;zлs:^ =l/⚭(ӴK]GIP3~]i`vP3{;(pySՃSJ*/ґ K _<6Xhv<~ڮdEŗScdtx d?.ی϶}yZ˞`Y 6  k~b!oA;sV>+݉ĊoluJLe}?y[U7`cOY@Rǩ\ha18Bυq,uX<g)PsD>"^lw,,(wJuj@\I,-%'n IK;Lv1K(eaUFQtE[   E)kT =B=l}U ZDu:Sxe yXۿU&aAkjxV !uV aٲQyRp׋=u NZV{vkT]ީ>sqayએsQ\PO l(rr@ J=>r7(nS>PI`%a0V@IـNÌ/N8a`_쪺<& )\`Xv5R/!b#,.\S#(A Gq/mE]HtvL!%Hoq"$czU^ .=D>ıZsxVC. YƳ ֫õ|Nf;g=Ϧ4k72_:hlJ$8W)wtE]}m \AA"(9f@)͢M>ǀ.]RA$M ~蜹$?,ZK QYBІtƷJc`VHJ{a|UOzKeDt\iJO3JveϽjμ}}JyiJYcSi]M%}BBd 4/Yigٯk.m݁/(vuJQ$Yc9Ko@7.:bFNTO7WꅚneIK Lh琵!mNW}zn 6/pn\)MgS@2)Bql#o0s[gxuשhhk3;/$]Q`9V]W0)ְ/&6[v5Z|,]xġT#s %^>5H+ }rgtl::N xceČ'7Tʝ ǔ/kR ;A²jC<:l*-} r',ȇ,p,&~ɏO8O~RqJ 'xAMMnRb羹}v_yP@yA*"C1fCfcOF2&a vF3Nݠ )=QSs٦xluA[:q;Q֑#~r64^QB>qԌ0)ۙ߫)dK[ ';DʂDs2`3SmqNWo|AFm6 #)AycT( AqDž+fw1v\Ӯ?E/Cuavh~M#f Dfp[/޽?=(:E\|nuws` ttSeI7#UÖgu=ԲX+Tl:.I`|1!6b^,uzb˪S)r9HG8ČX~W_P\ Hnl m]Ml C9 av\?qdNJ+~#\kӘ >PWQn;$|aMӐD@y^X;𛯝0{aIQp3jgz]8u nB&%z"AŬ6SnMFYdA" _T'$~}RCdΌ2Zt>Re!L}̢@y^qC=S)rvK4.xc |$I1;DĒ{HeIlv򱽗e7#NM/>,7=櫡L@D_v{'s~wԗj2{ (WG@EDIDVr))9Ž0A;e =IbIAN[)1(Kp"Y؊5{!UVçjBhQL*3P& sb>u8]ζXQusnǏ Ӝq'\vRwByt쾙ar_b2|hq+dlLohZ[iTZẘO6|%Ƀe#!,lͥ)"90?.ϺfMJ(FmPA?ߏLm{ZpK%/Wy|bLIA+!D쾯~42NLwOs(?A k48"ؤPa]t^ըUgrchP0Ճ9bt8r\s5|X$CeAu$A7e_"6|m`ZNf|R$ CeQeP/C/(zwZ8Ӈ^;\#f~wn:]`Bi?*A%FpEpPݫ -U`AHeBn''F: .>aۑqWA1%_cq>#Ԙi{?;VѶ  @|);_Uyyu?<T՞>FCFc->',a.3SoIcNsat? v< P`X~ҎdHTU-QZšX h "vn)=G"~nܙu:ki=VM =1_n 0xD:FX@u]zGd/,&{ ?^=d5Oڎ|Ӭ!H{҃-! }Yf 7p䳎/o_+yPMN6Y! `Q[>CjE W=(t{eHYO Qb-p)[ɜ2lQ \~nX8cJt- S޺Ȱ~hdZg@ZC!|de캽K=}uGc ÍPcWl7Fi;b?bd[Cf̰G!Ȱʏ|aY!$z K=%exD&|&ypeCOԟ-ZP[Q !&.)p~&^_ >t׀9 ƍ@#!{4aB@ؗCD~85 sS N tRB}m̷ . vj`nPe.0bȝĐ&E>]{E1}6[dGX2;rqarHlϜ\?+8cLJcj \~!`PALS8Y_\$XvD?vO^pM jթ%LUYWxLp%6~A ˑ (Z0sS@ f]KO*+燑?Mƀ_VUQƄ>d@_ZGt+zwS2v_tǚrnfe[_̅64fS~g֢Rj&7ENFB\59H'qHK.Qn$W'>nnTF@}!BsIcs# cϽ !7 պpZC#h $_lB,eq„)OMs2̝Roxm y=nxݳI,`@uI{B>,SL ~?&(E WmQQ2%9kTãP!`Kvo~t" !(r ށNӣii/w<?_Sw0H'Ǡx!!$̊}PU3*f$@+okˆ$x-u?\8N14gŸ~.8uM`YBo[f?o;j>E|L@]i_" 6/ѥp.0%à7W۰0xvÏOc 'OBsC-vUG'18{]bAgm\Ag0q^G| ߹@هg-o١D |g] qǃDY}Co0W<F?paJYżT.@vHUj""R2n0b\axHV p1Q|l߶m?k|;21+7QnGl_Wi{Am@yeM-Q>WR3Ap :–*> lZp#yGQ~\Ó{R)gɇ6>(zycofÑlZ|ة^@8ytVviWzJ %8F9 qX)Uo}9YG 5{QA@)9熕xQP-h B &qM~S[b=?dZ?b2G ZEP ֭<-:‘Yƃ9PTf['~qdCxW'C*e~x/aݾ\r+[#`hOg'I#@"Pm~yZBUQܺK8KҶ7'Xb lр~yn )F,e@?,0 98*h'qdhn(~@d?srA}.m(!)387u' vkԣw`?%q3i`)~֘]o焞k JhU3x{$zfŇi":.{&3f [._*i xs`y;U!\|2ʭyDD]׼E -;bV0|,k:<# Iukſz7mLۺs} ?1M"$Eڰi;wYyw؃uIT2)|֯ dd_\Hl$tET''y0>Ź*֎%IӼߓ@|u P#vTBn.qĆcxʮiC SZ+pT7@9C^0f2?2q)&smK3kÿ?)rTTZg53_99}N]"x}hCtu܄5'dK˵$ Gl11||=X>ԔDjwd1H8YӭunE/onUz_?řt2Z:T `K2Qu\,$쭆' J^B%T LpJl}3wH;+8fyDEQ}uЂԎ;!4&C>>\ܗ^3"c{|yYPyBf9v>k 3|8dVԋZ8&E\I\y1Z퐹 &1U".gg4#{295NyFpւHiB5}]>lL;1&SD,1 s1xE59qb Fi4($kJ`t1ѯR=rFgwmM rHyрV +o*ݍEp[]?P3p|NCj4r"( |n9g*=^5A:Rfiԃ|J:p&@o6h,s7l|TWtk=z5Gyԕȣ*g8 Y.#owD}΃*FCJItH8"`J-Q$c*(J4Ṫ/w9ퟋV)8-eM/?'"3; mpfz!u:@'>4>02$z)ScSw7VbPgeC`vdNZIY!oi9T p@Iq>|~i/Ė#Þr!Ĉiܗ-Yi̠#LZ}-^T):4ݙϏ0jH<Y 2ԊIX@PϹ z=J)lEE# r/>#-rh`TG;leѷH}߫ g-/X0ɝկ7]2F%g 9 qQl6^R~ScZJ0ŠTy`zlhƹ3@o4%z㮒|V5= =QQkb`ei :-s|gצeںRz4i fd:-̙G&Ey}M*sMqnIBH gU& y`E.X+B :'^G`7ӭC) )m֊aQۺtn϶"2kW[[ɽVgh}yyۗeW'Y^jF *DЗHcOCp$qWt+TE=ʜvpȦJX2ڃ,zXVq>8op3cMm[3OX&R@@}Q>pnYJ X5fe,< !]bur]rRdP2L;w|AiS@=GB NM"D]0`\nPkH(0\Opu*r(*ˤC%wרj~9u@݆frhi @pzr_BN&?<#x]wShpWA"`,8śqqYסF!a>͏[4]%w@x.R ~/ه~+`{v&}z{;ikWϖGGH!CzxM9skձ_z:!yhP8.Iw KX59 -&A@;E}7"Y)@&?leLzS}YN߶LrQVl lῸCy.NTC b4A  9w*KJsgL+ݺBȡvy\TkBo K`qnx/Dh_fFaY= @r~8ϑcwDS);?nPHsvϔ ,ܐ(y}:`pA.2!Pa {&U DAgQ!`m/hlrLfhD%T 0{Y;ӽe$8w㪂2;3Xb 3/տ18@@[in/ocݏR@ھ)=o1iօ˂p~+uAQ^zJDH%$ ,#% IK.+'wfF_hAJ'rxb Ghxxkx9zjm[[\Dm P#w! B'?ɄF~CK >_U8B$6O4`h8L<9,뺰%Mcc_h9.6cZT|Hn2_HAa&֠;>~?1Oǎxˋ'1/e$v ĀF6} u< u:J%ijp>?LHUz%" _;_:'ƖU:kn@,$+]R0zjvn!zFeTDMV%dH LBƜZpFmԥL\VjG;8oN&X{[/!r,Sb/v8 FRsƁaO/xڹO\_ h'^fVp oڢ0N PҌ~.o{f y`*HKe;?YNMsoH'/s>_~<Сu*1T*<ʨg[O1QqDmz?):8%xtw%5w=E}x 0nO8}^xbu 8Nevw筇<Rw5HQ7A8^ZjoJ6ɾ&@s>젛I7$!sg]gk7Ci ̡U;s"JL|Pʹ>}_0پBЫ潃Um(%d@GS&X5zhuF+P*<` KBb8^p sd4t%:dʢ 9LQ5^7W eez[}s¸*+g[>A?ƾzplPB# ~e/&;/z!!Iyh;)Oy+g'KWfaf?`r%st6.2t%{s`P{B6 1?3ŸO#מ-.2MLβS:yNǐ$W;nC^=|uURP QqNGn*v+SKeI$csk^\2&GewA;+%Dp+lŶvlGtP/SM匿 W;M=OB{o3M#:b}zhx~Na܉/v|ԏɈ6чBL[b|=C/ӆt݆N !Pd<(,-fv0^:Cd?z~y)k_lXK㛡93ܷz5=ܤ.at^2Xe'#Iox9X"%;F ]s/tWŐAM&Ht?OsWzl_w^> K/!ۮ[ `~DcoG1e {R#SQ;ۣ\ H ʷ"v@)Y>©A&t"p1 nr\AH-xؑgF>a!.% i.83J &)ˬSc - =CǍ314RvD.T.$@⧸t+xF /:Bitg#N*A:FiU:6#0"Cdm$Crrp,#cO8d^qBm1"¼9"D RvX9> ;sj);1ژ/\%p>mū=?:9)%DAA0yA qo@?"uÚdCLyZgow}u Bhd8zRpŢ@)o;έqТ'E=@Qj910"?UȀ#Dbs<冋nbV$gj5 :Jh\P )dhV^)鹬m^'~u X0=`+Ʊ]\Qp )>!@t1o:~B 'v n]B\Zb#$$mx RrG$hq\mҡϳPROCi&%9w=w]e(˃s M 5o'1ӵHLrpnA]O+nzs]yC $d6 "C`0ȪiQK(Iymk;G(E@?-U}$sԋa 8#UMq_>0Ks#XwpNf{s,;ZϞdcp-g^;vu!<8NO2z|ٹ/t8q FÂ}1lxa.VIvq XwYnjF<|k7ϑt.< xC2o ͭ ߭jqcZ 7mog:e`F8_~<;|(-;x)#A]05XJ Q: (e0Rl!;HaӠ[Y> ܎ss1Yi+?k%p} ZlAz"Ƨ9>FxlejԓXg,`8jË$ Acy lP5[!ޛoO j\u79v&n N|U7eZeіdR*~ ܼ153r7,$5lV{p+*] ߀[!\g#hUvYw0n\6~ A b60AEUjc!)w٤܊)،ta, 3i~IB'ȸtݵg7T[؇HiD`x4hmcCvVhi${6k9RlRXʀl@T$MbXVփ"H-5PD@Q͵^%0˷B7Է;U UUzU8f3D՛i kC| {W2ϙ;v:۝Ӌ|-n.B08F'V75US`4k}QOrcȵ4O2زhh8P_ڸBp,cڪZ D}/5NywK}o-`昄[<*̒{|W5b9釐;\ $ i̘wF^t_0k00Mkp] kJDsaUzpF^K"~^*}wF6_-)@I LAy_3HLg>L[q{dI}}{8Cc4=CM rY(rh c2ܡzB͑`ʻЭ|89]^@[B2"<6i뀪9)T) bB jp3j9֎%^7.Ձ+$:IT&B<'#~_tnwwf0z1'8ۧb!}~ŊrLjI'xO6Cp G٨߇ Bsfo=sKFIl@g$ߪ i>~oS9[*/MҵeA/jhñw~vyfsugޑ8L C8  Ɉ~WRr0Ck B&|U>>*GuZy_F dbWsT&,8xe]g2` (1l 2K@ʿTE.0*3m3:.p}sbL8|?g})?4Clr^_PɅԝD#CJGδ>!84āB#"b1=_i<u)":CT[9bpЯЀrqC7ǠX_ ,H0-_`a|T,=b 0'}8fEng=9sEi0HpMsd@^3 M$h\  n 2v\_?ˉ! t%9QhC_>~m5FzxZ|s@Y,#!]whu|ZH PZ,nK+Knf7=~ӌx\ԫK؅&-ÂY8L~Y5=S8,jrtHsi1V`nAK lҒ88A\ ; ) XQD뾂N8p>V4w%g@ W JQqD9 !P\ϯaiInhP*H爰;|XO}CCX*ñt!} M}$vB3Pq5r/[$Fݛ:E@_s㦘1_< QPg<[' 8nB^%D摍^4$>_BԖ5_ﴔQjY,>[T7cufa11[ Ź- 7?z]u}8-)-K#pU.:3%e^c ^ny: ` Ƨ>~םp- B<*$h V@s& jS#P+yn5>jE2Cw #`tʏ6`XozLkO_&قl<5E?'F$jƄ_=0ͬ5-3gbſvVqʭ?qJR(_"8, /)+PbM8сȅ(`PMǗ{_LgR\xу)\UU&$ s)A&M\l!_akW:^أ,cw>XV*c6|ʨazc Lmjtk:KV04>}}R<@j /U$#(T35B*LQgI}=/ט[w3G  ܱܰ4(/CaHT[be`w6yElsh/a?4=!9oPD?F:(Ql} [)${8UEZXG9hp:56n6E -/BwWlrF $6HQ cL=D1ڻUSP6y?dG>@iD>\(~*}Dvhb+5PZLڍ!nR jg3eߒ/1ТFKc',Ws=hņ:6~_n7>WC }"X6~gAmgc`朎PM͝3?;;@~V1KY[kUiSkYwEDF^QLDmNa,T[ʬ`(kcP)_@yoѯ񣤒z[k })b=m[z)ɸĝ  " &̱~fu@3Il]sdX"F^Agf8p$,.mCP!4?Q9RMHs9H lMI qЁ^Eb`Փۘ8ۉoϛk)U(B|򱝫fkRKs_#9( 5Hk~A0QL+~.p`{}Žnq-=pqK 7=е0ʩ>J1Re37ᑲ8TYlkrGcm$?V^v&-(ZgnG`8JpAX+R ˑ3cg׻Cȱ^ 6t߽w3?e1N4/Š0AZԩLm,8W㞿^#;Fw%3E5.Dxϩ[z:, ک[&E F=& \y9q;^++[Ӣg3=M3iZ&ϧrEӱ)Q󓯀y`C$l{ǧ~io!l.\\K>NPɻwӴvl} W ~uOs:VΨ:3tg.ף!|է,i2g#) a9eꪽ@EJF)d$)&RQN3yb5X>"i BVjxHsJ* i#qT%D!ox}A˶8(![56@1 ` .fa#?ޏC+oom ?1;Sٻtx3<uwBz+Vs~\IN,@Mާ >+a cM /]PH$QzvM}O"6z;;B_b"gL$U |sN<$y$/eH`M '.AT FqEgݾo^[(5QHle}6A4eZ1E&!n]h :#)X{#% Dc;2tį|+oۯ!\x,8y{Q~L>bg CӴ><_ϗ\uwßǯwt`X*]tܟ2LY!QT` PB Bw;(!>L^Ou~,'.ּU>e۝ hR>B](7 BŠ0>Q?Qqu9WPՙĽP"1^WuXT.g8&qy0R,1dGy-TM$>v.rd$ٺC_ZS 5ӬW-A lUQx`& 'i?]с4." 7as3[163ԡA$80g0? (3. @:?ș((/Hwm KmGES_3ׯ_A`/Q53vݯkg\0sYaހ0_2OGLW;o>P)T};0BOB9c*+x?Ty|ڻR(d0UaSAlz ]}~ V=>{l mt|_@~>#fz7ń-do~\lT痀o?Bx'3o&Q8Myҳ2 P W׌-W2Rz~*87ͦvx+yuחaw?9&n bl80E}헣&,:_}8o.^g:Ay*p U o臗Y~_6v/v}9̿nGJY5@gTq ŝ'G?Q @= .QqR *?daPS| O6TK@?"n':GW0LD^_a!SWY10`AR?vK8US.E VЈ9c=|B~o-=zQ ~T d~75곞}O% ?7xc>h`ȋ\?rxVX{, SoH~CE_/Fz_wx$)a!0JmX@_(gS/(2b:@ A?<>?wB#[w9uvO0[(QGX 2k,9gKp-/nc \lư&$0Eδ9ּ1+p!Q (;w_M>/7Ώt>28uzrCи<>GߢCd=vM.'' IxRA -'yWtδ㱽~ictܻe=^=X-Y= 0,(TFWk~4>L/+cc'^N6~6yգ3[Cw O 5j= ߥ=e78C;3@=o>Iyѵ.̲r:-O}GHmG<1XU Eom^ȉ-Z H #.GԎnEh~D յnɑȅlxU[gp/kV#uޙl`ͬ8"#ƍ"'s$$-BUJRYABfyϒ_ }򾗧c 2 {> ;kq{,l?i݊{Bfۼ :syw*;#G$X4E "}\7V\=߈82JtX.Jy#@eOKM/@U~;|r!Ajix\żzF}nKl`k2:ߊmn8'?LsA:~&M<6{!w-!Hd{+N Xmء K|AUa{ǀ B9#ݯ)EkYqA.5wxbГވUUVE<O vunhl0 Bc؊IG,NG`>.07pמk4%@qL]4RO*b+L%βE$MQG#";A2ܥΥ?}_o  h 1LA3JfDRU&ERRվ\&I:֦o>.W8I}9:8X|pO_/\b豈1 /iTwE?W{SO߅buAwG}0z-|`k-{g ;?~s/o`3<=c7y~qܬ W~zv ym׼_DZ1 Mx@aL2ͣQdr|vnA4ت]MS9\agי١ 0HveLYd?pY}>¾ϙz}.\Sؗpv֨NvЖ Lzf>:(a!ѳ>D/%/٢` ;"hO;+n?K?ZC%P +;^I.vk@9)uN1AY?l$.$똡an,қ![g#wxkWC:ZfAPE;!eS©@)j+Jp7>SCǦ@eylz:dYAä.v Î50:/Mr6"q4ٍ[-*^`UkehO+,BQ# wCW&:h&%‘^@CŜeCP7?*{k﹪)XSϔP x0|y$I g>rr񓿔NwuP(kdm*[P+uf@%0@ %<ٙ5;T Jwvqf6XIZfx.#NsT6%~P͑Fp%}dH}8ӈ:Wiڣ(XIχ a4Gx&&TRCuX5xm&#*KA 6 @s;̤!dxC[+;r"H"-~ٜv{:s>oÔ~4tA>tf9 v^b@Ow]}ENJ 0t.7$@R$c@ +"Dk㎨-9^~Lo PFR͢ӟlQuc02isc>;)c^ tH)i[nTp\GIBm_zD0S+ЮܫƟ ![}vFɳ&.Lmm" 9DaFQ?wJd9{ D{m}W.w߁'u (xK2j w}\~`a+-k]~N}s5/TfN E-roPmav8Q!ϵԝP~==` {}CS~sFgSiFOeC-rk |n^ELVU,7ٙuI',JkGY<#P< _EV5#Tٸd.,o 퐅 w'15ef,d hc[WdA@R ]ۭh<8(;CDtF<֠} y1]K oFT1.}].`-Y\/荫^Xd}L_R v)e@d)v u@o.f$LČHS_ GX.N*dK^]oQ_yKB#[ONm-%!ILf1.4-h=U[0}`(ᅫm[syVMX^ omuiUjG) Dl^gH2FF;cV\^z}p2@v5?t}JHZ2^޿K͆+tV`s?nu;cmيieo!$B~Pϵ_fEj!׵ღiȯW(0gBřl[c7td>n+ktuJ5P}[f#EG1qv**BٴVP­F]=*ej]qVX^TӍyF~ò#~Mx_G`A%FI+xՏE,d(p|>p ^5$;TŸY6n)2筬q:Y|GL3%,EvYB=;91҆qQDv5A=S/$ Ogdh>w0:"\+<s8懜'Q3LX!o0l|n @m~U̸_);"N_I5sV Ӕ3ra y.y&ҁ~A4H]N"|zHTgmYgӋB)վDc{Ҳai=/޶]n6tE FBZǂ4$9Ar.˝HzӠ|RTZfsk .;fv*)R<&ժ4z' EM[74KRrfcca uFDze_T+<<14ä cbwzF;?*V:HY Y ]+Hɭ3ю ʹHeg>_#XsD9O2Nf~,ƒ6es((LQIMgEer }#yN;&-p1kM6"o/(.%տrMj5 M7 S]EՂc--u6G\K]y&L+@eӶ.%/se[<L>S:D\ CwPGz9Ǔ6xh.L6PD#!d{0sgVUЕ&$9JG hDOVwkAu'ssW^ݮgak3e<}К2Hv4/S:8hUb0XЮ8,APfϽkg~ Zc?+ltN6A:{aF7fκ>g3y)~~}$и`;X=q/ޢXUVf}_a ȮB{pPtMZnxM/s$ LOF[J;ȭ. q! qtir㯋gzycXz:dLb_Z@@p e#ӧpIϷ:3>DTP&A$ |JG`m@4dŷџhמc$Yvj%Y67ǝ-IeWyhd!`qkT'꾱-~m+KeU^o@B˷Y&47fj%4 0"O}Z}7"T'o8?p6XpbC6|z+7Pv؃ֳkdͱZugQ8 'UsW XipIbCe%"B!pt9Z yłNDZt*$6Ge 39@*X)Y'qm4 lR3[XjK6y+<7Qp-4ݣ+@KhH%Ci]NLfdl@"*TkpyIY4%JSPdx{e2QpҴA {tZ{G7wV}_s@~ynPVY>zwV}x;" 4ͷ{F?U`UO56~gHXxbQиVjm.#Xa6k(s4EEּ rX3 RM݀\"OH;_IHM\Ê@KP@msU:kYw< Dio0$.~BiPIB "%b*%wz Ff_?zV6DWYjK:F&?.a%h^ϕBbX&u:b( QF녹7>Gg[eMV\ HZ ܈"2p|P&g@s5p▵;巇7Z?S~瀬2uf)% @m繩0~ N5кOFq; _'\sS\5=@dA@ n˃ 8>' UQ@ ^՝K=W Y 'Vu瓨3{W CS0Lɦ >iw޾Q'@@ru"<뷍0#EgHΚWڽC "pѲ͑#_8_m&-N#z8C QBCDSH@"AN574iG7>xō~.C߆ lw:8C!_>9 { "bq<.~쿭e B쬷ЃX 8s l7A̢ J DIXDԳڣk|*75L]8f 'rwܠK7˷aOnyvmqCK-Y<{VccX $:p* *L]Jڂ2[mE|k@0ۡLˡF\E_H3 9 #b@p5!0neٙ&e\;nc'(zݎN.&( :|aHmV6a1,ї8-Xv8_\<(s)Ųgrå˺\pn[᫘q[ Cjx+9ՉvfP\x6y#v nW|+7vu5 g s2sMn!Ukm e6vժ;z68`#e]rŮe$\6vҬ*AG[:?[I Z{_,`ECA y( wkًU-X`LbB(ٹ #E2N>ÀlAsG '>n`*XG (;bg?UT]g~~L~oŘnamhh0e}|U Yz{qŐ\}'/U6Co@z}NuJ`w BJ_z8EPt(CGJǡւp^ }>(~^'B OXn3JRRYΉ>L|mXCK]<-ˌԿ:Sx:yb{WODuF^zq0lJt~qbYΔ n^{ƴ.̝iVieqȷ)gc?pܟ>_Cױ2 2\~h!f%aѓ Tb@%)7 5Yu /1;s`W~$! 8}:d3 ( Z>B<|oU@#a\@nIG @B%8[Uz#*Q;3z~jqu2tSgzN)P3I2$y\t0%?BGp>}[ T: ,wZB\&e]OQoH_~-@ bhӠ3x2)-PI - -z#sn-YFdRp6Vd@yTIxej0ߗ 7 v0^2*UQ2UQ2URTQCTQCTQBE5E5ESE QE SE QETQKTUJ";=ӸfNG"Bufݻgꆄq /!].O/ 8u]a$hUzhHclNJBQbvXzqę/d/)h+fi0}gsA02{M zG!#$28 6T$Ʌ'Ydmw2BPR U"3 %@TEUUM P#0DH % AI@ݱqq` ``!b)X^  &ih )"!((hB) B)h$%a`h(!DDO7vʕ&oݏeNi5%ǁ9X: NV8$KŝhN>1 V^gVʀMD Sʌ;lA&7`@ٹVE&`noe8hj`ᖳjT:`tB~+ӿ_pmDEW܎QB#m~Rt"$u5)iSs\;S~,Zf^ԀaY^ALq);% Uc=#ϓ 8($(t>4v*BnT.^AmT ط)af0ZpMigKF"k϶:Čte4 XJBxyh)L""5Wmܗ hI8aݑ4w_ ȓY- rH9&H^\߰A2=z$=0vM;v⇮JiFsAbZq"܏HNB?y,u_ow-)TL% ˯^~}E7/@Zv}k\ETIZo(ըn} Q*"za.$Y n!JsB{8VR\ y S:h^ rb}/g>Ώ_<Hl`fB R1-wMH`$~쇒M LL yStgb3Gܦ`K@$,؛4A0PpCr;~GHfrP+pb%֫!L!T=ݴ]O4^ 0X0袍8er &:;!ZSK~-+>S9Vpsku++hNl 22ݓFf,]hAf %ZZfvz+bC0o^ I=``ḿEn| *֗IC/`9Oz_uE(pDaآy,7Jj;\$ bN ~7[࠱ps7Ԡ 9@krbNaP`G'BG8"E!"3 QcYbmZ*5t2gD?JF U}FP9eMHH2UiO1Ǫ860ɜg@ 1l-ABp-DĀO%##t y8_oc}!P-gs%'RNea'Vd7p 3ڟ@|vŇfba2Q}{}uN5ti!W?܁#}Gߵ_?Roe1r1?hيE)K"[혛c,VbbMWZo]Р!nrgV-:_-.lBwZyg^$~e^<~F8sx_Goz?ހ{fm{L@;@Q$  (@a\pҩ?$~δ$Ai#?o%ց -!G|0k^F@[_ߤOQ?AeK,Ȳ~j & Hh;ԯc)!%eZ\ OOE~"* p$+A$s;<{0㷖Z7w߁%ؼ ٖp9Pv$r؈c. 0 h(? (+@A!|7Zx&gޗ==kN¤90IM)\]vv+Ff -ҷP3ma tE^\sR`&H}!z\fZl܇mr*3q33=86+/!uJNLGǰ#Vܭ!X׳0adk%IoP2?s: le.3"ȘdCw6(`)('Xyißm\VgJc6,+Ǥa Hvd˫'Xai`BQބ ?^`)ڹ, 9ߗ?66-}àcc4_@Հ3zV1- *rN}U_b EYS.bj*`wa~^L&jNt{V^Msu=U9']4;~O?>T{{ ADDC7-dDo:)+̷iJKZѥ#?*PC;616υ? JR>{ZJd)N2RPMua֥PcJ45t{+Zf4R `xqdnYo_9DFk j .^|H|HF/?>c׻[ }i^\9 > ˤifdhVJyQ_I9FfkrE|!չ_eaտ׃!|HU Pj HԞ7CpO%;ݞtۑB, !0ݻfw)Q~=l2"ɒk/49|޶ dF'B7ʚ]Y9PH ҋ>༭bugqk<_zt7uB# 'ъ};-s"Ӯ׻lhPʡS|!ꈤӴ!:4X3Ipl #$H(xTk0^￳,Nma@+DCBh}C'w4y~p7#9_Eh=utmwrHym x>+R$"`Hz»W;_ѡg4K  qưdpN+!L_^vwz02K(<_~ƭfg@tBHI ajۣk~o#gU#( *BuN ,s1q56֞=(X?v;AH1"! bk^V=OG?㻖UaiPZ8}8*,Q ͭy횙/SУ=Zɒ0d! /W{96 6Ĉy/k1fM1U`ʮ1 wiSn5,ﹸ )E j/mƀ@:c:^7ϞVπ`5QX+GGE< Zz@q @P`Yg\F*J!$ ݌*p:#I©/LC$QRL{7X 5uwgܟ0WAxԁ)F 2q|:o9[aGH81t#3JE!W fe]]Cմ-N`Ѻ=د>o- &95@D*eD)@w?p6aW[2;k8J ͞:Ac~.OiYB!:AH%o;xѥŝ{]EuK ͩ>sŷY #mk'Ab iu!-$E%_mH{5[ o"yyC#\^wNA%#ofH A@H)8=z@MXw*PhٴV>z(fir{9WU5B5⇓v,9BkV‚! He@0ɬCB$gkÐ&1`C!*Ca,!b9mݿwkX