summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2010-12-08 18:42:23 -0800
committerWilly Tarreau <w@1wt.eu>2011-04-30 16:53:35 +0200
commitc284f760b129a09691c76f24e25566dae1250b62 (patch)
tree8bf850783cf05e72173c8a1a7fad96490ffe9fd8
parent3b8cc900cd3cdb7c2107e276a1709c92b77319db (diff)
downloadlinux-c284f760b129a09691c76f24e25566dae1250b62.tar.gz
linux-c284f760b129a09691c76f24e25566dae1250b62.tar.bz2
linux-c284f760b129a09691c76f24e25566dae1250b62.zip
econet: Fix crash in aun_incoming().
commit 4e085e76cbe558b79b54cbab772f61185879bc64 upstream. Unconditional use of skb->dev won't work here, try to fetch the econet device via skb_dst()->dev instead. Suggested by Eric Dumazet. Reported-by: Nelson Elhage <nelhage@ksplice.com> Tested-by: Nelson Elhage <nelhage@ksplice.com> Signed-off-by: David S. Miller <davem@davemloft.net> Cc: Moritz Muehlenhoff <jmm@debian.org> [jmm: Slightly adapted for 2.6.32] Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--net/econet/af_econet.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/net/econet/af_econet.c b/net/econet/af_econet.c
index dc11c44467ee..3b863a35a794 100644
--- a/net/econet/af_econet.c
+++ b/net/econet/af_econet.c
@@ -845,9 +845,13 @@ static void aun_incoming(struct sk_buff *skb, struct aunhdr *ah, size_t len)
{
struct iphdr *ip = ip_hdr(skb);
unsigned char stn = ntohl(ip->saddr) & 0xff;
+ struct dst_entry *dst = skb->dst;
+ struct ec_device *edev = NULL;
struct sock *sk;
struct sk_buff *newskb;
- struct ec_device *edev = skb->dev->ec_ptr;
+
+ if (dst)
+ edev = dst->dev->ec_ptr;
if (! edev)
goto bad;
If4I𡩈3!(u)50% A#®Phh9}ccAf0)  uΊwSrƒK5 Rذ3~H́Ȟ박:1|$zI @f~ S.='cH&wF _+__@" _Ze4S@{IsoYߴ8LyJRHe4Ẉ?Mj7lT0F-+zCc;QI*0tû# m\TOjz̿/迸` D3@,a.;Qg WpÁ^#O-hJlfq{V8NT䐮'Il{3zrV?~'l럲v_xNv3׮>hTw0'+qŏ9q+|{HjKr^gw+N\H{8<"KBJ&;;Pt[k}Lbѐx0v%T C12Dtڥ{O|PR\p=tώT323Ii?k^i #*>T-~wNtPzB`h.3G1H1Pi `0$F?&W.gfÑVShuJ3HuIEOrl"SP$I +lhj&HB48(wB]_r/nBH" Hu/ɠ33g..s] mM_+fu_VҨjhKlK:5;.!I9I#_aʑP~ƣv%'<—<LofrW-9g-߀Iyru_728U[ґ!ĊrJ~rAp<E\>X4d4"K[ugZW`?*AʽY FweLdLy!XiQZ;˓&l9a;n 'zDK`Q>?Ϣ fq}αxa`PۮYsŷ?M\*=??[v0M_M=h,JOaXd,ga ['vH[2d%Vޒ-O]ۋw{Z8-&'pGv&5@)il#ELzN>wٞ~1L+ds{%h4P. -r_b{ottdwTߜ#Yqц]6WG?-֢m7VoHxa0UEmwE8jxC2PF~09I6Ύ=lz$[I az{i[dB̔oۓ!H\LtT)s}wc&ZU _]l6>pEs\ Sbx BO%X<7z%nk}ϼf_wx{y-pVZDr:| lnkB-k?fQG'Y`Fc_ʸ~nDVrdP3epLn2Q@}mR)AGs"q塉ORRB/{1oHɴU~XmVʠPmh鲼(s=/IAփ]td6/HbZp{ Ȇe/hamYzi}&k)t q;@ښwvԠ_Uw"!YtP[ DahrY"V̲Μ}13k^j7z2UmթfK jRjLҦ*=5rGڪ^W2FnVJ0 ,2R>HyZ%M=K?+0TEaVȍKlM?sg/*TevsK)7ZUUңjTTC;AN_5뵑 AR)T+Kr1᪖xwtA#Ubeyj* hTś_?_"{f/qۯEe]r+2XwpnMҴWDpI("X c$¢\Օ4׸9#ɞ3C/ZJ^YnOFTzm?T2T[k`k_ΐDfד/z1˽a@9'tJbuDI+-@G/8iһpS} N#xZ 2 D/sכ}W۰C:<&uNE!$a< r|u\y1i6jJ^C |9#IO|kH4_N;IT0k:d(TD؊E 9ôcsN︠+֙ŸF4oa._P/b9;Rdj7Ee*/5}uփ]/n(3\]ގt:r곥Yi5j輴ΞӼ6f`ho]UTf'o;v ps'&[ZyPQԠ $mz-(4GR{TbSKud:SfȦf{QW6.Xa~l6:Z \wŴdn6?dt. 7MRoL:AjV}U@] ӺHG+[U)Ў- <3b\9If"x6o_hF+Q1V#\&ܑJo"$µ J/UϼA&>9 ͠+XZG:i:+U͠gmQ?R>)+tc~C>jI>w#*j?''~}6?djU=$t* 4Np%τ'vWqV7if1.]M5AH"s]ϻ$LsG%pk+aEu+JAM{ EkT1e̾:jlK׬i#4*q˖ .>&<$BYءȖdHYHV< bt "e4h4g1``7vBB_kp _[$"q!x1tjIS{C~>𶇪jݎYZmi^E4;̗]aŹo3*ɾXCD4z}=رKԫ> K* cW0 ]41Sq,e3UǨPOwI!5\xi,"l!+\vߦGB"_2YY)҇޻Hw;REʻ˦٤4f=YyGujjLkf=5~`Nm˕ZӪ5j.b _{J"t ֋s_f f*{Z$*SCOxeE4uU,ж4m $my&OIcˉa|)ԩJb'QkjK{guz:nwlO]xj֞Ck?M@Fbj>M1N2ӑ1ENv.x>@= NсtK>zѭ1MOWNwȕaTlf{4bNA{8ӾM.'a !yb6v6DDBJ(׾64j$ (hh(H:뒕{{O5SspkFU{qV`qxU6=Q?-'B_l~]\[cmR jG5ٵz @jF~Nj"_oZ) ,S948.<W  ?+;<j [VUYx;v![,C+fZCH=P4-O69)@=guXAf]-wv?ӎ|h7;Fobޖ#GK>weFsr6nBߓړ9:=miޗZq)jPո9r>T bTT?t)x΂2Pֵ8=B%zwݫY=] ݃{Vam61l֋ =w0-ѳcKهq Y n~T"&92Yb~{crĮ?yaU^dI+UXqfì6OrI=v灋g&fvOJyvH i$n(ϸF\7]rX|YJ5r5KcLf64T:5Z4T}"d=BY_'b"d>pN2 Jy>vJwI7<4[U )M#Ł bK4hŌ$W&F"&jovYhza$/y?z-U#6nzix_W" Xd *Av6;N/`H>;@ހ0I mhbeaMhRL2˜6+tc0ȁ6ͳE av YU[4dW-.w,wXc]M;K(,:iE$\ndxr-SHKiDW#Xp Cu-e-Wp Y)@"O`\f; nﯝ V"p[$acLt@7Ihd|_Fi&(A.?2=ut+]zGB3!z q}DW)4+:"V Mh{)QAMѹ|$e5_^~!5J%H> ˀ5'/u5+$)BCBN-0]|(e0y BWiDY ri L`?{{!^!?` צ#554iFniR@f/W٠MP#{b*+v#تUԬW:7I)늤(iJ Y]U8C^wHUj:՚CguNޜzɞZ,\'cz$ (ѽ֥5^߫1G!{hN\\V/zRU?;{WloK,uĵKb"Onh2pd<5`0U$}j(D dPF>${!-@8TQNJܳr6Eo>fg;sgqtq}t@Y<+Z<=1p_Hh1Y ,^0>,$YZdnH5lq)=Ϡ x7]Uk+)CH#gl>-q^_ q==;fWQPozHE@[702a01* Gȱ}/iPxڻiF6\¥E/IAz$\oK;cݝّh yoM;x Cql^fd$,UMǂlTVe4h]Qj=_V^>FVgwńUvDTpm怐>C`:%w#=]C s qW T&X_f ׊=:ᕚ9s_ٳCS= ܑ&N8vg.N'{4$]:+?&yo38$@:9,7)>$ė%6EESZWGs6j3IZ7 >om5+) ؚ8p~դݲ], &=?+еFaHe,{9zYt }v=^bRfj;tHpis!9闞 ?4jBKҧQvF}h[54^)h@t.P8E·w4EDK")ë=羑;a:,\ 0!J&Akl}$P˙1y],] &\AXKT>2&$5M'w}3/:Dʕ= l\c ہ?&R'd\Mp*o\jMp0"qkT˕JyȆ ZeBlwćN-KR)9k#):b?u]#!Ft&&hwp򷸰)䘔&SJf6. ,xmxޏ&{2L8wO4ݓ7Srfq] R3f~ʄRCq~l65U:$ {Jútƴi+pN2& I1x 㼻GBeǂz;wmq@\^~@H]ߏ8{뢮;@FU!qL(z͊$IZg6R+dC4=d@x6/Pِ ħiěkޠ2fG, Hv n'yu쾪1P64֢:еHpD[$_ml1Nw![d{InI*f _,|;!ɝhwp?HHIdK|U{ݳwBL-<~c?0tFصF`=^`1"Z?lqW'xyջ~HdEwﭕm В.G9$=ݼTš*]܅ 7GC;vR3sܽ}y+V3`cQ"lzgy Nvmi8&pV~`% ͤ7vDק 3Z%wb:&-dov1Jcn3?ظ'B*&HelIAwʊȁ!=VZ~fzN)$GXFOuCJ&÷=.fC=؏3 ](`cAv$IrAwh]XSu@ODBEo´My\FgIs/s*a">S#%AbC-; 5Ɛ3F g@ZAdi4ңd{E6y=>#u՛AL^ ϗ.֯KïD&hLAnoYe>*Q{YkwXr"c>&B= {FnGd<O :[9OisnZ;q2y;gT荁y[=qUUW:Ֆj-rګdrS5z =@~&;8,{J •" XDEY|FtH;ɠr+DE1l:bb(p"M߽ KM?ddmDeK09`V0KG:ٙ#H2QNPwf󉌪2JlXݎ-6Xokg^Z'SLGj6+r8&qkh+02}A)֕Lj0⢬H{Xf8I l"#f*AGHV f ɺ07Lϯ 6>L!U A,мk vjPE9+'Ca?5jYMbX.] 5+sN{ ..K}Wy5j#̀xm{:Eh㍿w̥XJӼ)RWjjCn=DTTUmȄL'*7$"IKf `n ̔Ar.؋fs}u_;FKa*1|Ao NB U2p:5t\U!CP#^v&$ L[MzODvDb͠2z8-2Pl!V/U n G ݀f@Wp=Ӆ$3K- +{Xeh<Dw7@Dnq6weR@7YUo1PLg_` b ݍ Ŧԟ1 ! ,Qk<ˌ{{wDFҀCՐEZXNn{b\7Ɨgia m ]7|í}Fbw#5SedA^8~6x(’C,x\kIWA!?'hǻc]M&T8_FkցSjFQ]jԬ(o%^V4C+ $i?BBJrx$7%vI]_%MF?el0EdÍVW lN@zVѣE…6eoGbhfJ#)mdV seWXc*tؽJZ{QލHJ|:3udiv%"ElBА=)f{&E fS^ѰJl-5 Qaގ%T{*>9$l <.f %L3KVNNP,2O elXve)7GΗD?zVzZ{~˘IZ bPOe-1$"h# :RLH![0-+,=4a 6Š7"g^]&֓K.ҵYCn-Lz~CĮD⤠J$4_hK7Ί\^:\1' Dw-ѷ--䧸%` āRy#sV5(w,^|S>tv`X.>}yQk5C< y`):Jk$M).)f6 #sɧev%&WlEM1d{,Բ wXN'iFiUÿe\qsX]Vٮ>1ʾLx[>p0O1>a5;4}_j^]wbJJQ"2bH-aW9e&q5 J) L@"Q^\)!yY၌NG[83u}<\Cȝ)CW g-7O~_B?҆Byh3&CWɭ8`uM _Lg˰ 4D~_Mj><%K-|HV+9zrIHS% e764%刀Nwf\W,DFJTuܐ.ɣH$}xC?^>}gA3{D~6BLq(KE.eX7nٗYP@>pcVE3_stU+9-4w0-w9diF? 0]".Rv#Jsa96>{m1*u6WyvޣMAjZbF;wK]t "VjT]|ؠ:3Ky'\ U# ISw'e32ǼYindg.tյ.pۗZ1B[+S%~$)6RJaK"ZSdƛCo|w` w0.2M!p=`Mkxb.W\95 #ѳ,I4?#sJSX_ TK_V+ő !H7 t1+^'ᲁ$46#q29?/JVh-<2dtZaݕ In#&v0CT砳3 9.:%'` ;kSw3(b-NHizxH@&%<`-@l gcf?+VRǐFdG[hl EpL*u^&dm%pqAJÚ<3m-pEdц7]4lX54#w2)92v wsdp[ʷշ"MW.ZDIv{1 Б]ż FyFY!&t$y|n [[bZ$Bވ^P73U"rj{>(}m|9=xKQmg%V†}fk4!2߀()^8'{LV[(INwq\3=qCEgk`C{w퓺u7shz_I2f7Ty$ j5jw\WŽq(IFU jR͈R&QTUcʇqGˈ.'. %I#Xɧ.ӣl38[͜Ξ9\ >_|DZzX8CJۻ+il=LGUf {F%c7z ]܅ =cͥ8N$w@*z'vA=>9dnv;mGH恾OW} BN$5lE|qY!{HWLy;j]w[֭?v.ʖdxg^׋_(a;#}O]OfCeUoTkx϶3ǤQW07O^,,cV(,P5[.>t*LJ V׫ybV<;‘Rӌk.ħvO03}C 02?U*4sfozSAMP!'}0EBIAJ%̦QJvg1l4n) 0!M6XԨʚ^O5H T@]4l2 }a%qP|D[6;%}^`zʻ hx;P$qHc to$&FMXncuL̪ώB~22IOπ 8HV~L~〖i.5`ʥjL>5*)·Z4{ޱt 1_SYfp[GS&nwbV̀kH4m8y*`@}=tkw%k8͝%Q;SjuӮO R H7uBhl ݤid7Bf*N1QSZ;sLp`,}uzSh.1Cuً_AcѡeokaXZ. |.1j!qjS %.%j*_;f*t-@u8:NjE.d4U: ds%03&< x\y1-4nES #3d:i-_B>%%ZHlM仇;1~Rx]Yo Xҗaʛa`OH=ICh^ћQRcH)6w,YH(SLZUVc>2s>dA`!a@y $5u6 s&_))~nWd ttg)z:?n|k缩.C8j?۸J)4XlCݭJ1E\Xr:'tONdSyaDH:rJo@&2& hjck̬Gl|7{q(_SI7ۯ\ >ϾMWoa/WmgH Q>|97b"YvUq =#^s?.Z)FZ4J;>I^J=T0('@QcCsX{jcv{w[68b|Azd>;W^M>MC-mЖ.`Yx5!ؤ 4.IdgjyL'GZӻҜ9J5MILIo*M<CC!p$He='VT[=urK2GK:l F -}YM_Θe]*AC7NM:QU;xR՚~t.Ŵ3jU˭ziN3Dn[.S>gQO] PH"ht{d|qP%N>zAloYq.blQz{ 9{ek{ݪIU'HU\ԁ7/tw79te`x/ݯZwiGH5]ήUUN"CnUgiĥ,I7JK1Wmi꘤P^mյˎw?5(KOWHl5ۅx8Li& \c .lG1_Qkir5YP مZVq\K*ӷMwkEn\v`F#_HJ~&oP 4tK8'Kc؛"^8%_POkˁ~_c-AlqrF|j%z,D l:YxöMIObRo! ?Ӏ7:A"s-N V4ck&];Q6@o 6öZ-$"4:hf|O#u-dVm)ln]Łk@Xg jJChȓ$}zK  O% pV#c %ҭI)l \gabYkkMvsLdL7|J7Cu ]mp ܥg+ h6%(U{mN;ޜ\ʔx;x9i}{[һ篣$sV@)]R.;{J!ܪ7=UArlj5\ԓΏC$19Q]v6*d_|Y5A *>%43qLuoA'BbP;`-'ڕrBjk\4H+Hըܝ17+5r1_ Xn yǃNACUղ @5U[J5:Cp{؃3Np]>)1at& xGC3I>/ u/ @FQR 򧑦^.T%\'YA@2ݤP{,wVj!YRu[bD3ݼ=}ck8CpMyU6%쐆"1i6YZ7|,P.2w6!LoKeJt:(uz < U%Sr1;ȨH(z 9s[0WN*<1[7T)$rE`rً4KzAWRWRżwX2=il?ǃUm'K($X*XM9'6]4S"er1K{=l)#&;n\5Z~ Ӌ x;^=zHK9^@џ l3KN^/_oF <ېO]~ay%~ڢETy^ANl̗kc+_ `|]z0{q|&8W ]d BxmKwWće9$>Ȋ$QMUT܄V9FnK!;7,m6vXtCƄ6M^V#Lvfwޚ:?,S7ϴ=PhOՊ[]ɩ4Ec(مo*2 nh:ޞDiF~CKsM=.fqmc#Nb F|9]Is^Сr.Yqp51K\$qe0tIp!DCyy~)3󤂬Gib2l̆BhNb0SRidFGaPA 1l*'5 g(&U7Qo=M+zr>֗ ,s]w Lpf=wTT!~o4{J tz]Ļi 61*{Z^ծ7bgD(%(h)&l:+x2OkJR4ezc炚>#/¸]hL(dxlcI'=Bl%( rɞ_xSFp R6\1GC)7؛H<,xNOϨ|Qf{9 sDjzf4 aLV~=.6$ƪVB2[ŃWg s綠aq)f[$&+u1vI֢d(cdG]{<,`#;fv CoeiJ zo=0˵b ?Z5o6![1jSDIrنgq8t~{1 Q4BGҨ ”G1jâ[_Z6&n:v}#Ld&g$[I`uicзӶ׺+.D2R/oM6 =yvRo'^ƴldcp&vL|=PP?, \>+T{g& &ῒ5G¡}Lhi]f6բ'9{ip.!7> ҦY4U ݂obx5dlJ@xnG:Y`_iX&Ce/arfCR[sӟI8ֻXǥ0TzP΋xPQ&@K;viv4p~̺# '.v,ܳ9kX(YH\j#x63oȍuKW'kܦ1kɱgf9*PvXd*),fSrҲg5v>962ӌ r45m.X ֘#ǏMUnlaK>'#67x Z{z|L{o[jmP4PVQ_jhRL~*vw"Ni*nfj\nՙS}V~amI䴪5 g⎍-DgKրJ8 :JU&7#rK 6=5^(kodegZN?+%E;$+(rGZ o;K8݋TsbIyr59a ̰vY8%+} lo}ⵅs IBi7~Edj BkaWU!ޘ.P8EڻtsE[H z{qES7܀T̫98L@}7?{|C` N! >"m6@3gcyGݑw'e4}&.^w}BG4pv{?*U'^5Zd8 ں's[D(d(Rų/9x6Xە-=ZaC_!k#IHfF!~ P8e> |gYj(}26v^D؜C+_sST}%/2 b-D laZ[>u“kc0 Ѡ0&K/r뾍FAm7$$<\GZryV[GdKwE^.P%+% /mt4GALcCƒ- Iמm =+X.,8.g}kE(fzVG֨FS>YP!vj\6V^P8mi,PnԔw  nv5~zwO.wsbmhk~po&f)ŀȠ4l * .4@ems \ 5#[㊥)z[rY.GlڛY.Z@A2/彛&,P!íjHb-+'gq R]NRpp7fS2pPz1 A`;]V\q31zݮuǁ kQ%S Űŧj l"0yo\<\ =1iRDQO'>=U?kkwGw$۹8֖Q7Z_o=ַFNc?ǧWVB&gPfF˓~ Ep: ѨUU0ԕ{Z"U<^2}ycd 6ө9΄E!^z=I\9@hjq4 30r,ĕzFJoO[v\5V*7{7稑T hKI} X􄷧Qnic/TMq~IJr-C0 aպl&Ȅ1S]C՜~\x571 ;yϰ zb;lW@ iH.45cP{%H0ǔEGT̈́Ue9ޓKUɵ-,s(ZD4/a87\=ۙ@ jwIdē(p0Zg- M/IL&`T\hT@cσx&Vxg/ŧn2¹}SN(^Qs擣r }t#NZ;zh#51"A+zXjErC*$:px  ũ5s$Jn|IM˨3%a1L i׵{r'JowGS#(v˶k R)) ^Fzw#/-oAw%6-%_ZHmj@F蝌IRgY1K!8Qd'ޏf3]4;5Ϲxb2LC5 ^igM?Nu{SDɌF>ZVSt-͙>;l#3LG`0 @lTvi4h&g۾]MF$7={8))4ab= Sِ;UO>i9eXuc'ʏ^yn 7&5fMf37]gt|HO4zgj@RƉ>GI*̓5|)گtD]6"$"db9HjB;R@rD~PB.YDYl=TpbٰkU9 IÓêucK]: 3c,IU-Üc:@^+) fsWamuζ_"CY, 1pɴ I3ıh59+ev-. l+$/^s)T5b &#d>Gjl2tٜ R6p5Cu=ILie)>¼"52Nukך\;ofָIBV&I:ɍm8\17il9:DM^Ʈ'IsM'5AvF t;w$:[̞x@WT0h]JgWA|EC{R;cL!q7hдQn{9eIvAy5 W#PS\;]uC vkX,T$2:C A6])o^ >V>X6s<9V7ר\Hǩ'ݺ:w#L)9LBw #W_ C׉^G j9n[|& ,TΔLPoڠ^.*r_j(Yk9]NRmxgB$k25<]yV+Z,ד[m T1>ndX6û ;ɛ!-:\zN"zgPE{}vIh8[Em^IG俨u64&]M!A3 f Jߏ=>HG1ÌP&Qə 'd^F1 JngW7QIѝǀQZdn ;./u{ܕg4Q8R|'~Vpθ*&P*ElN@T+ndž;W2f^! '@22]B`a^T-_4`r}ܿ(J=Rm5% 6 E=ΆazWW>tOMXzGI{qPw&71Ft'gGЛ<ܜԷsS.Tdxۻ)k"hx?aP_S,* #TJTAȾZTvf\Gg~' (gl\+G_yڍ;"!EkY ~^Ϭ?8\CՏ]";,[8}yJkxM1BuYAFd>N3ߺvO{[<Ǘ'E5uu؟i灿u7٤ SCB&b&bW:#)wn¹xaJvIn' 3F; t{F?}?H0H_R^>KkgN\qXo~Z8 L"hAGV,i>[u|M{/@A44؟W9I|DdȐd%pcdRCrUL#Qj#nR맄hߺϤo\F9G'akz=𘫷\$ˎ,uB֡c sҽTw*I/k =u-O+d)E"Zzόc"ozOf4 ?1YDf .kix:lx01t6s5L((ٱ@C̜Rd(,޽2]Ɠ׳$3RrЁt]/ra}1fYOc-d)I*k,sML7[;])x.-KI |!oZS UPK)6r&vb"LZW;R23ɟ>/nՏ-X/_}1=7v '!G.?hp0x?YI5戜)B2E&i:uWP9kZS W1oU0!)!7$g)1bI { dpICA."dsG'>Se.nX2nh4xM0ݘMLEsGg[63mSV֫ɯfɉ`l x_T.8MzdH׎&{w%=JN$o]ƎA[-_T<Å,-T;IrA][d> #/芲#9Z^I=uL6>C,a.zdr@CAG߭-yUtҳ F# 8k<-߃+,Ifl}0Y$ވ\wtrkVZI[LNҀɑAB' $Xo'Q t}h{<u@,g4$ #Qݣb'i= S lmA:I{O PgZJ@ vL݂qHڀdTu6TIҮp,=IjOl/ϴ^o4'^M5G[ v.7*PW:f@)QSuF29jt菪{ U8 Dg(]si. gF(*((;!5Kc/w XF&@vhGI֪[\mX<_Bw+oB`GׇE w""5cq<4BF,nf.z!"cr Rw~oTs~\Z6 5#;oc1e[f۵icput7#[CD}kt˨vg$yC.+v_2eltlγn<.?w_IRS\ {EHE*n AiUEv$mS@JO9OkbtG? Q-Ƈ~$r^t}황1 7U$2̥2a2@xlH$`XkwW1ūx_OJcĩhZ孁j{U:Ui*57ǪUP8~-iRDoӆxs(ghc#F@{#Pb2)#Pm!Fg9yO1)-dXcfGO4&|KQ;QbGXT+ƈ}Rm֐x sO)@ :ú4 h\t=Fq3m /7M?e0F z1I>`HJM稃tvX`9}GVWI9893,h@揜 ^,:,vℛŵ&1v$̗w!RӇLJ0GiuTr8į,moqucnL]9_21p(@7mX ']TRn'CMJZ>=DoiێQ64s27Jd).Pd2[㡍hCw'|mmg~]_äѨ Ƨe⡮f͌WrۘU/Qd{d).:ݗ7 QYh"fмn!^J b)#;U;.W԰1Q:A[iܦJO73Nx[UrОZ\~J3Җr'vIZd'([*6C(q,x)K?=4Xk5'l.kK2{#|TkIkC^:ٔILی3nwRc*!} ڸB~"|*MFO7i@)j!LO>ŹHWڶ<z(4F#/F,fa@.RXA !f)Y[?Xm|g YA3SEJ)E7,0'.P1kfpˋ5_2z+* 1=/ 9f!_w 5З2ם/Jł!rSKQR|pC4,$rm%Ts{6&;u^aqƜJw~3Gr͐#ý@]r֒,t1$ mŃg j$=kշJJ]˽IbaqFӵNTBHˏeZ'C|T: FEڞhÅcA*DtVEqL`*䷣os5hI%3'.GtCkx!ZڴHZYmBcyU kA];)8IZvIoN2a%YN8~0\C-z:8:$o 3YX^YVqN _$j {f[CaG'}G<#~QiO|yq웍ؗ6f62]y8ĚCÚTfnF7[?-]w>w؜TI?CUkiLK-J1$uR!q@EhDw dv:(>S.P־KW6Z:coz@,F@r!}A _h iF:3onz]+zՂT+[^DL[.wS??42O/>sV >mfF~~a?$ws;b.rvA&d\N"_mS@7O|_3chŮo٘0WLy$6Z gP,sz<4~:{1$4()-nͿ}|EE/ ` iS )+I-bհH 0X8&lc¥6fDJ~ׁ `LE- ح^?Vvٻ>m"oRFbehǁ.LC4LS^}ݛ <iFQc UM Gi1UgH8=Mꣶ5_?Ylf봐E n%k_^͞ p딲)zn5MO 5YmWL8 t ߬K½{88EwuFh#²MT#iэ3X:]!w!2{yPJ.MgM]1~I1IժO0[t`?/%<]n7:Jp&|H0DMpZK:)Hfggp]N\@onAdߑKd SrU -f~_Nǐ,Cݏm1Y %:yF#&~3Ei"ⰐK,PR,5VN%63x_a[8yt;V oԟ .KT:U>$"g1Y.6R6uwg7Nnjp,m*P2FaZq6.Gʁ$Kʞ|2~N5,or.^Wf}.5W&{q΃#FJAΤlpwJ,ul1JAhdt-h[rG]A]yt݋!3'ruG G%ZUgTP0?u^]' &XOΔ~u[6t!sKltvY2jj*(bsY@Ffik4,α֗g+o}!jA ܐ `J92E#}aMMIp .Mĉ4* [7r-q Dt ` -&#ZŨoJZ)ܡâbcĤ]MxCh7x`{hPz#.SL`Anynڥzwg+/?w>=.-5thh}v@. m  7/iB|q\[-l3-`_gCȥwO"jvvCo`kBF ;L" Nߚvl4'2E<(0OH0o( (;tKW_`s.z̎dJ=[0/a {NF{Ơ%?` 2U%MW4G`ȢU8M ۘGfOkT԰꼣:mCw& :R5_E:5q~q9]sWe%M"u,l/Ɯ1`3>[RPK?qDd!.ȦrW c|gq?ǎj|֨C6Op妮9؅`֋N7 mZ퉨*76 OXi~ijSYHyw.n$kadOAf]y }H=%{7j֫aRw4.ރ<haG]lav3PʠRKZZ-:8WP9 A4{Whkݍ-hߝtb٨5F!)6/݃O(ǬG~YT_kR:dA"l13Na$($kى-@h▒6mL~fX;B!|0(A\QBhJ_)=E-Tr"If_Ԥ:ivuke4`=WΏP'>db2.k0XCK~pi$bod>ܜo,`M{f&|ܙK.$N*NiicgˡGbهW~EtfS)7)i׍1}>@ I#ގ8 yDwqK3 >^.ߜXmYf?$SkwڭZ-:lU{cU)(~}&T/k&-FCzU6Iv^6*fפIfphR.yo̵u_cΆڿ.M79*O`.)CLʎW30.#44IhrjV:&9'VOJD(TsSL#M?rahVz'~it@2Zrs2+`}iH+Ҡ͍B?Bl m# *|ݎ#vI=6ng,d<[FDlId$(vD>`KIk7+Yofnm w%A6!!O!t%9 I,%x${ז5՝c'svzRQsLzɐ(ο)gw~cGk  dҽon^>V?rop+tb.Z>߹oj<5k^]#'52Zz]5d:Ra: j =3Nr:kwl`>MG98[`Y@TjmgP)_Y=aЬ|4Tl~KO.3^9QS?:w! ɿ 1I0!]vAQbvab|$[KN4vJ:}\)S pNcPY]'3Hi$EKw|9p[Kid5M I-Hl' YF,pEUsEVf{ h%lgg?;pʖ^2Ӊpݑ5ڭv1kw/:jP;=n3y`}"Q 79]S>UGvE`[.rERzGhސ:od@+N efs^,lsˎcrNv =h $IoB{TsZ#U+V3!:.=fT (>1,)$|_TsvɤdRvCnrjGI6'XĮ^dWg*&i*I䋥swݕi"fspT} Ieޑ7*3zx搜\~i񚬰S2[JoggFi)<*AO$r[Q|3$.&>!hz < {;=,v'F`eME'4*y,@A 섷EW$tF^L Bs .vi|qh೬XQخUXɑի?Z9|1E6Vy H^YOɢ!jzx꺇'`Y%]v.GYqq .;ĊçF}km@n?=z,C[e ^S > KM,#z>;r ۘ5:EmFJE<˻)8g]ucr1m"3Ԍ&e1}03&) 5j}F N{:RC}>*uu\jHOp}02܁SIK"u@}\ Q=Jh>)H2] 8QykBI§ Y cF)7$~gⰗ7ӻ.- p2IzUɰD+|XDދQeTpj-Zroѡ+]黽k;jI[߫~.\u\A"Et2PSrSégʬW)yINԍp.2qPH@]j_Vzz<2u(*ΓdNտ6脰,IaPpTCQRϻ䌆;kͥR c3QJt9/P4wѬx]aၚS3Tw>1L,(G}C ,Q;L2Zu ѐiSso:|Ɂ"@ UhUቦ;^>h>RIO>ꎢAҔ)62[*ЂzQK(ڻ5hi& 󯴢ܨzO:kMzϴ@t/.C=x D&;=xwete.@쬶\s<;8iAMO?Ȃ!\LCIi}&Lr%_˽my4QCm%Ʉ 43. %LK;urvЮ.h؁ f ՓjemVDYW_n"x{%S5;4,؀Df!F6Χ-Tf0i7pIadj_ԯ>PuTEڒ|\I0޹aHU'zH4O~zĮWu oMdzD{?\Ԝ9ZJi"J vUfPD`A%Ҭ[m^RW:qHPXz3=mfτWr[$+;38q_d"p q|"tR{^n4IΓL>0v^߳zsCn{-ԣ),⸄,C> :Zz=#,WJ+N! upXIg"cu;m cwh]괞!ݸE"K6ځYl,P@ 5S7=V*{Zmѩe7K.v{iHE:K`chgU-ۥAcbux&OTmUT/4gw0—,͐\}pkRjV07ΛslЬYpЯgHX=zqhv eOs"QIYG ci!}l|J 뇐-\S++P;,䎼u䩁h.D~8zDy[ٮݴ7NZGЃ: mf.*CRzV,92 *+6.՟J8f -cJF!{hgɟ ԕ;gGFA}o5Ad 4QIw?BWwY -[_b-2mFoJ p (4\l O&0: B7Vu'||3ps>ħnDt,&Ҟm{["Ox6MCvI&te#)Rqu9Z#t`Q̝{9I . M0!܃ [3|::9Bk`冀͂gX%[lj_@~Gb2{qcO̧vI 'QUT_7D0b,jپCzXO19,lL\ziv@z:T~pa*1>u4tYU%,)j60%,nkKo}-Y\YGK coGg]wA~g `;Q׽!dY[FKi'X&?tcR~7t\Ok9T Un|>DǍ^ STU tPƮ4HV:yȲ|r?tFRf<,2Mm$I\M̪"&w82O%1>ǐ=򕒨> A>YțQZsJRxQsuXNZq+aIe#8˚>(.ٝFDZƶ5NJacwI($N\ 7SH8 %z@zz] @T38(U+5- * ,RYꮐa-S&+"GCov)}BU7WM?klb04*%V* uԮ7% vУG!OftL3)*k/0JI4W_@\  b>L n1$42vת2fnL+fğ3ml+A³)BHNl)8uc/@Wwh ,v4ڕ;QpÉn6UZfcQaBqPUQ؆lwd՛ g(ˆL{\c/ L_+N0gAd"{i_BԻ߻ݗҦ >NW@b:*IjcR. := &G}4wH]Nq*gK_KluF`V iJ1ۓْ-NP0/+Zƒj/܈Ab>,6ʝf[.%z63z5} 挦 p" t|^&сJ-A`{AGRW`=_ߪJf8MPF!@ n.MCT—bbx*:H؅[⿰WOV6ۅڞS]·{{З01L@}y2=ԥ49 x ǔh_I۬Ai `&"eBާ|;o2FWL )FOIlJI#uנ=NTgnu=hE5ƣ$YzC5Œ4T+ZTkpQdH.E'ZjjXE Eg)ˣ*q{1)18-AXY`M0$CU)kq:Nυ< լɊ_*z!srݬRLQJMU|/֖gYWk)nכޘtIbMGT~:Im#9m0']9NB2h'fhA&9⾠Npo$֓T" &0{5#)' w0rbAw's9'5Y`o  Д@BrH6-ڞz=`Sٳԗ_11]09Q+⑎δYR=6ʍA Y}z="ܓWhET(4+WȠ`B(J!@ 9;o!]wڻQg$Nvt?fۻְ9NvB\ $r3RoZ[4lM7uoҔF,vq_ PWL0-n,.cH3FZ,i<"Km iWJfLTX9 jQ+ՙsSw*7`2|9WΓ M'f>;%>>NfjjШ UYrt})Yj hTs4i\P8#j]KtP\_GL)/ō3_tbK,=x]6HCFpv ܩ% Mt eVr&°$)^tcQPi.z1)"7+EMc\zPF"_!췆qYSf^SVS{ ߴԸ;TAmS8C) GHL8LgbaۗСftZԎ:`UոV5jhx\#|M*zwuil#7:aпݎM|m=u0G5Y$r:X <:dNG#kw,~D0Dlďr4M\'akk4(ml=Lۊnzk1]mժը4Gw SM2(enWf~'kK}Eġu;87tAH,,\RЉ}׏=3)M)M%UV?zᏅ=J+h5( B!^dj4 'n}C D6ɔ ^,*V糧@1ޘVW1<͟z#N[}%qRd>9OJOuN%xlΦzyfVP#efJ3yi+0 ɮҰ9=h4GWҍ=%/+F?Mڭs<% g~m Bgp;u@p#್}><)n4l=s Qy(6c~@= V~T/V^U[5f M \ >;zX z.paXt[Hnӵ/%+TZudgޫ L; swԧ=ɣ@^]ƵnuꎮE4d7biwŠw τ֠GnY7_Ow:u_VJ}ֶ ̉J:Q>Ā-cn yJp3393Z>wᖁD?/SK1|~i:%э@(ᩅoA] rGɕsFl;9ܙOSGpA[H|(>\+9Q:uA:Nd;-0]o8s  V67e6s ެM,1hp[PC5j䠇kD %=!\d>[B?KʅߜӦԳ]!;gXn[[Yf_7sr8ɂ,,tD!niy%)zjW W܎tlض5iɵjV՜0A"\ҿ=`էW.d,<2=?\!%[vzrƬcִV[,b46d=ʳ,n&'eu' 3x;{\F~)qGҊve[mȥE4nTqHzgj+Lxvas&?ǡu2F=%i=1J^d1z3<ӪN,a}5&O?]g۰')! a}}z6x-G(Y]aܪ5e:$dں[ІnHcrHW>v1ظH&G' Rg7?4s$ -2E BD_c?􍎃& hR#p|\)睆6<o_0L ۳/+pNmʽV:s1KǧSzY•=yV2$t5XhF감)CF.b9_nczge(*]%B! [UEwE_mHsn%C 1~CuK6nxK*t:Is F5G\+#U> USC-@{;~GZY3q_WŴcM^XHc˿%,[ȕ73W[4^AT^>gF{9c>.(Au,Ξ]P*c5#x9(7ᰜ_<97#uƻfN+'.1+=8s RFrP]0ڢwGer;+ήFwȣI$=I|cp(Z^H=3>W^t{Iʿy=+-C!#xG_ڦgce` <4u Mt_-YO5ʝ3Y\(. mNtuG d潒}J5Mג; bVө9"Ȳ=R [#tn}28()E_2ew +Z̓?eVf3C !ҧ t#.*I.F|c+ff\gL8hg"LlzRJ46v :V}BΥ5y?kM!đۺޏX4/JnDt<8躋 f;9 jv[S{0'3jɥ7.DX w0&ujϻ? Io2C)cྐ,[Zaz7#Ob:~ PLo"wq,W[f>d?'(Mc M/]f!4]ۀh*ZqHFGó*l%!j8)6-9ٵ~ҁR=AM#quE/C)̧sIdQbANZ9Z퓶5I#JQWvG],;S6~ Ὰ'_ڮ*%iYwl05-*> Y}{SPV+",А}{u{ZQo 2atrFdmkZƴYH:e8ʌ'T!A̮&/&]|z`*`d g<}%s 8E#KU^.ېUdl^7$vC3uJJ7vWHJs3Y|7'5Z {]nk2p7{G8 lhaUkժjd~F}~Ft_)2̄bA ,(u= $ܾax9oycGtKȣd-_;/X "kn$zwznTv@ Pc*&flQs[T.utzv̉w i2roCU,J+nli8@'bdo۟/."ט":o<4N~(t ѭ#\I'w>޲5yZ.zI oR}Ɤu@DP`ū/ۏ< N~ע0!<̺Hk{\L?sr6G?[xNE5C4B2StLLݎ[bx++zp- L+941C:tkcG4AZ'Wj亦#]9̇sYWx 29=XlT~ˎtМ1p< ŐJ?t/;m~浼HH/99I%@.lˤ?ޥb!XVXdxBfv/q,_j[g֫ @/VKCP $:[ YM2o̍mk&8D:Kz0I%.A-ګ'q`D/%6^A|>bƈT.:N6=eBi:E'+99+Kd,YҐ|#1siKRROnŶg&ů7ցDXyDC =9xa ] /=|Z\f#?j|ܟ~&!FK{YD_]tLs)!_$?;FbE/]O  nS}|8Be 3n#hqЕ:ɭ;()<^C͹.) 4R6@M(Vit /49Yn# Ou! =k~+BЈwOk$ сJR+t +"Kz=2\{4-$Z_s&3 S7 {?޽RċD;~層\% Yfa|3ws7a0$vͽ0&IIO!:NKf ^&2\.rF9- l 'ؿ;b (.ǃVXj7?}%׍اSA?oL-BT E6Guo=`F2#Oҹeme j}$n QcREK!IM#jgBV1['vn5 p}@XAfU$SD-eQLAp3JVf& uTnK7s1$RMJgv\c.ln {=҈vh1pxot#ax~aj~Ѵ{?B@U?:r4FrbFSICHATjyh״>;uvHo zI` A/ӕ z! %Pt(Y%>/u;iv><-L)H؊.zePYxjCYSM+BFnwH@w͚a:BoOp{.ϱvӇuuDWk@v͸=@:B~SNnHuyGDbRtR2w(Nv;ZUg"ck߃l}UR8P8Y8~7(%v>eW87 4g 1"CGI6^jbyC4'w!ГqdX46D\\p!% ;&4.Icϲ UoH%i:.g3ܯcb]=7L_6zqOHJZ"sZSq#~f1_s?`)t"IB#ug.E˘?~bnk_𽱧5&vkeKV]o% SVa%kw' ddaәZ$& Y i5 F\X5X(XoA`GSnsfOz*qx-Ȇ Sݐ Ot #f6G|=wsp)#~vʆ"ɉ7 J@;ff ZE;>7SFM AKbXxa1+1~ǩhbvjꤿN SET &Nte<3/ U !>:=p>:g9x=3 4K$~~Uɰ:q f=ST9,̆CDfJ$.'ȕi'7>N w@yh. Bc#u|%%1,mJp$t~re~ylEZ5+QXcguû6[264G) ^d~KHҴJN$⢡=o{) @cxQNtzp+'P-bΈb@r8 %|G}k3>Ȳ>kJXiBArxP|}T6 /}Lk%ќჰ8u?jϏNO>I쟝JR?h>BceA31#)sG_u0HZ A|ƅJ\}ϷRR6}xw+3Rg8.Oh~Ar)f Ogry4$>K?m3+w,GFCUw޼QW¸K픆ڎLv~ڧ&w?9۠Q&׀2u3 : x5&] Tl6(V~~uT~:O!㷶&xvlUbwRں%GiZ6'꒚Qcd E"$|DV;׎gE"xU,4^gw()cĊ8$3YiݼD՛: jo?Yfr6L uP:cS.O̲%^}i"fx?tX;戵MI'-ː&t3f@0 2Ea$Gsxq\- {0rtz8i2s1>#ov#ijjIU): ?K앙$"\@ZϤc7tCMR&lރf*΄^{)uˁ,;tbi-";Ioo^)l/[6)NJ0g#=e7C 7Cftz*WWt`w/x[wMCA2N,&;+&)[;˷Շ@^-m5)j,07G1N ]Ο@JI|JY| Zpj)?3 N&h 9IE!O ..NrLJ,[/o6#u2ƺWN1|hW@QZĵם}3 RJ#f17sK_[89 %ƫ~stּyE/~G)DHҤ!a`RDVڧo"xDZm5 |%c3Z}N"W}t 8eXa/F&Ҕ.q2 %e&-#ZAtQ= hYElHNf4k4f$UY@J9[ /z.|]ҧ2gV=Kۀ6ƺ M^'[Ngg90Uh !mQ:!}^[F53HH{ |Upe7+;u$U "Y3g_Zo8SJrJӛΪ{DY:%g jBH"\:HړqWC,` &$R4aUSwPY;@3wu$eIH>LpM&+cSuCQ0uL\"ߨe)fsҕ{x٩e4xM%h%]6eyst/LĦ73l,ON!pXD AmI3 ]8Y^M/xN a|:1ti2N|Wjq狫h@>7,ܺiez4WxFKboV [\7. VK"wKœҡ˪א}zT9wIP$O؄O|VN^^G-DŽFZ \ MK9 0 :`,̰m${ A0ĉ]\j3~L$-Apr4m~=rC:-i `m3i*lK|͊9^np6p}rרd2tdx"?Ӑ.Yж-vӛG9βx$%-ig1S2L AxaH0ʏ&ئgd .DtJYdw[:FI[ˌheuT3,g >st/K(96$i9{րXM6Vtz~zg{.-1LY%V &K0 e&M T07rBy<2ho7H"ήA;Pt$Ij]5Գv{vS ۃҞ}]xzDZa)Nb( 9XH8l,DfsbiR+Zq=h Rsܚrf,,6'> =$mݕ F* 3fElC¶@Y>,ƖwN3gɘEOXR cwݒ=:FUN6S˥{ba@,h(ņNhlM5;K3 }掬>X JGIhH X R\I$s؊H nzvI(#G4v* 1e08J*DV-ߒ{ݻ +`+yTsgNbRz#tdt<uF'4K|ܼǀ|?#;>([¸9p"{1*[{ߪV'XOGsps #J2?{!½P IMAkRTgXruQ>~uCe,ƒ|l/K?z͞wWrժ)n5ޣZCݢ^7w&Y@^ãaxCQ%#d`mDp]0+X!xi^|c8!VQdblP[o1U6{GYÞQ*x 2[8a8Oa 5VjI54"H0 jY$)3r mXA-H_'=]ZuDnA=e ;<&ZXn%F 3tBdU@E+J ͐qm&MZagɥ4 v8{dn= 'I7 fy'čE)㠼HhlCC}Db6ԤFJq;〽aFrylvae1?ishƇ1d\=C FB[pfuֺjUrzJbG*XgfˆB 3͐ PJ"?ĕ$nƌ1WeV{/Rue!$mб#}m 44lm }H@yRzd>*oK J h"}% %KNǎtCadx)T7=11` p:}xʝ>8CDhu$XiWީWFlj]9Ɠm0jϧw68' j h/-r]|_<0.*Laz2N8*ˍ&/gId_I0|^n @Ye@Velچq)O!f`AxOAàYs GSoGm>BuJ~)Qt>l?sve;Oj2,=@{{-UR~}=k4:Q\ :H`K=h`kS`|}ϙͿdcdXF|HK):{?~f-?>EmIT`Y!j#v%xzQB;K.UkHUoARV zQ \jkU0s,VvH9Ny/e7N/ >V-I+#*Ln}ZYs 8pj*axdeUO1ţA8 eQe5ԺD^\E fFW}?Q ڏ)}wgay!jݤQ5j]ٿ R|JٟƉqˁo Ǜ`|)5'R~+ _ fs°݂ŀy9?~{!oZΐW-eѷ|5[sQ`Np6v~U~KStAaO"m&{}"vCZ+.煿}N5"=HE'*=`+L5AL_!/-9}~,Ǣq/wQ5|]jQ'ΒW@i6 6W[{@j^l? L6d˖0|7TΘBfKZpOA+W("cGm'.+m *`s8u]i#Y[Go='6m N.6#$EnZAѥ;2 h-.[}fK/ӽjgnش2~b̷,#]dğ]UberK#-uÑ#dnt嵠D2/y2\k?bw{kGsz?;eGrNWN TnD=aE?&)3X<3^\*RckRVi4 EG;\ G \q39]Up/6đM6 b*=Gv1|Omg{kU7/U\IMoQЅ_g6zw*Y+X2[2Ȉu(V͒Ǘ9CסTu@*Nf_Lݠo3}aq9ڒɂdSI tfq|~JL8~:THr.A=<13?r?G#1X»UGF#KfLgKܱrVt+i`tul|fAt%[]$P$93FzGQZV{+Ӄv |] ]-d>-OV'8]ڃ@ʰE3 PWI=,B,){4+/N{ eU%^UF+o-}@;#wAL2kC9"%S4$I,/z_ſ<)<3wkۯhoO/~T`՚@S{b\a(8 Q@bjӁ Ps W0!pqy^gyiǬ 9x2o )C?6BJ HS:E̬'Ӷ@ i&쌣8MŞ#bVӖg$,+]yW]71X_jS:xWtGuU{Y~O|*I7gSjK;XE;|J-A\UB45B.J!z6K Y5ĖD!li=p]^MeV$6Q(90t{P%}k&XiuQV*UsBTKF^:TYKNv4qJxzk/ 4vu:a5 G_6]D]k?:8VN5.Β'w^b(Iw'MvwVֹ /lz<삏f1 33V8:mEh?JӾEpH0D;o16 _i ??Eq];X]>]CG#R