summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDamien Le Moal <damien.lemoal@opensource.wdc.com>2021-11-04 17:31:58 +0900
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-11-26 11:40:20 +0100
commit5d18d6f76f87992a93ac27572043059d86c1bc6f (patch)
tree1415aea820cd0bead8364df4d886fc14d95ad45b /include
parent020d059d58bdb72ce3cdbd5cc61ecf6798702770 (diff)
downloadlinux-5d18d6f76f87992a93ac27572043059d86c1bc6f.tar.gz
linux-5d18d6f76f87992a93ac27572043059d86c1bc6f.tar.bz2
linux-5d18d6f76f87992a93ac27572043059d86c1bc6f.zip
libata: fix read log timeout value
commit 68dbbe7d5b4fde736d104cbbc9a2fce875562012 upstream. Some ATA drives are very slow to respond to READ_LOG_EXT and READ_LOG_DMA_EXT commands issued from ata_dev_configure() when the device is revalidated right after resuming a system or inserting the ATA adapter driver (e.g. ahci). The default 5s timeout (ATA_EH_CMD_DFL_TIMEOUT) used for these commands is too short, causing errors during the device configuration. Ex: ... ata9: SATA max UDMA/133 abar m524288@0x9d200000 port 0x9d200400 irq 209 ata9: SATA link up 6.0 Gbps (SStatus 133 SControl 300) ata9.00: ATA-9: XXX XXXXXXXXXXXXXXX, XXXXXXXX, max UDMA/133 ata9.00: qc timeout (cmd 0x2f) ata9.00: Read log page 0x00 failed, Emask 0x4 ata9.00: Read log page 0x00 failed, Emask 0x40 ata9.00: NCQ Send/Recv Log not supported ata9.00: Read log page 0x08 failed, Emask 0x40 ata9.00: 27344764928 sectors, multi 16: LBA48 NCQ (depth 32), AA ata9.00: Read log page 0x00 failed, Emask 0x40 ata9.00: ATA Identify Device Log not supported ata9.00: failed to set xfermode (err_mask=0x40) ata9: SATA link up 6.0 Gbps (SStatus 133 SControl 300) ata9.00: configured for UDMA/133 ... The timeout error causes a soft reset of the drive link, followed in most cases by a successful revalidation as that give enough time to the drive to become fully ready to quickly process the read log commands. However, in some cases, this also fails resulting in the device being dropped. Fix this by using adding the ata_eh_revalidate_timeouts entries for the READ_LOG_EXT and READ_LOG_DMA_EXT commands. This defines a timeout increased to 15s, retriable one time. Reported-by: Geert Uytterhoeven <geert@linux-m68k.org> Tested-by: Geert Uytterhoeven <geert+renesas@glider.be> Cc: stable@vger.kernel.org Signed-off-by: Damien Le Moal <damien.lemoal@opensource.wdc.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include')
-rw-r--r--include/linux/libata.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/linux/libata.h b/include/linux/libata.h
index 23bc460e6d86..0e9f8fd37eb9 100644
--- a/include/linux/libata.h
+++ b/include/linux/libata.h
@@ -409,7 +409,7 @@ enum {
/* This should match the actual table size of
* ata_eh_cmd_timeout_table in libata-eh.c.
*/
- ATA_EH_CMD_TIMEOUT_TABLE_SIZE = 6,
+ ATA_EH_CMD_TIMEOUT_TABLE_SIZE = 7,
/* Horkage types. May be set by libata or controller on drives
(some horkage may be drive/controller pair dependent */
]uddTATTA"IŦ:>gn[8fm"׎?&j3"Pg0)XC rf\ fiae@.Rh䄯0Ú4A8iRaCL[:C\p|dXzn0.Ttl^nk>GGQ;<ޏ b(jV Lgf 24 v.[0EMu9YқcN0k p$6]9lXe5$$Q@׎luy۩^{LZ݅YNc+V|.Oќ7jYXcf![bWOb%ItA2-k_ֆ!VVq:5tf1:ܴY-uO%6.JcYXϭ legmY~2ߧ]?tq;~.}bۍ[M4fZX8/-XtE9'|f?7vv,FZ=ӊ>]Q̭.\B2hΊ@_6`RYY۷DaU_"כ>.pKjil9ZzV\f{_vǫU~a d^-{V>sp~֌$sx;8nO{H-!1bд)F98'fg3g*s@zĬ.H(XKA(S]ѺVuNMu*.4CTD4a:K}4b&!l6AF1*׹B9 Uu*N6,* ̝+ p#5Ӣ`g5+&\@xkP錭=L+z9K;q$gڸNyKkUsP*hQʩ*zkZXLyאsǿyx**,Tf] 0 fKCa[Yl6oӼlϱ_{*F0r %_GBZ*+*׼}٫Pn=\hxנΎ./q(# 0-"nپ.*d saJEYC^]N^goomԨ *2XnNE2i XxgRC~X}e1$HĄ\ di"HܸJREG&o ,ʾ$ (r(Uj "$q()&L!O ?(8zky0P_} @\&0:7v 3 xlGWꐜ&ߞsV㝧_rm #TC̾F!UJ]I|?yvvז $xaA#gos$Viv ֏ۡv-U3u28Hܾ.:]g1wGq|Bn\rtyE^o(Qh]oc]Waf׀gknrjqc/. x66k1-S],_o?amQoݡ]R4]!}/űv,6 x;05]yϡt|fgLF~5]u;7.p漿﷦Du<7a{Q9kJ^ɵc>v? 5kݾܭ綏KH">1!ŧLtkjt-'Z䗒~)-|әC5%DWΪ'T3=],Kt^us:_cHo/ΐCEx+lp}Z7OYl<[B3#~[~JFVw U;ynf,>OF?xP^C/ŷY8p{\|uDٌzlpi@ga ߙ {8v.yߎ8x+xa_ 9VZCx铲UuLacvyfueb6xET~=&kwm$KbhUVbr>MWN98ܼ J񅱲ۉU~b8"p:k"_ldO%P9WVK4aZⰢFD[7>?|s Q]9G]Vs>#&[Wv~p*Hh?WnNQQ4r_3͚SF##mNciojTb0^C؞YmiӚOe@a1sXь(_&;`Zni1XF};:%fAڰ#*2`/DGj,2?c!?櫜VV )~8nA4+zkB Hz&|ReʷGG@uYj[VZԐ 2/-j3hTYKVU4aC^_ߪr?upk!KN/Zfڷa\(QAֳ^v[IkZjNtzt|tm3[ΒI񅲕XYﭯ:cŌ\mˀ]!`w91ŐSYJP薷t/%Qt5:דd4|"מ,6;6s˅etra:+~#*O}>gύWye_[2_jKBMo|??wUU\A_m% yT?οvf3 w+^/ 6/$Q{N2EW@+[.RCôIFlT?׾O5jZ͡+B➥P3~&4K_i=kֹ0y\(,2yÖ́u“фz8Sdu8#h^A®"g0 WHkn3;͖4 2Փ9א:9^aHsB؍`]HJOV_a zYou׳CzԌ^SϷ¼6WgGu3juYEY \2!VmN lfvLCq|gB\4Lߣ@A ?蜣ÅU% rP.ײ._>?[]~c?!/#*asX 3g4oeeF uuG>D >8. юSы9Ks$(2cP@J032J*\9s29~l풁e ݠRuu{!]ڴK%fNvJ+Å gmDS2 R2NK퓾 D ߿r*~180(9'Jmi;%` "@K3+*bK&gZT'BR5HDHQT4E1E͠" )^IE @*% T'nZft?ȉxͶ$dKAM4&" ` n#UR JJ4#Ft㱢 h|ꏇN?1Cd;F H?}VigLzt-zPJ\65E" eC)*jAoٓ$Շ~\O'4()@@J_yu/jrU X%?ԞjrQh (P1_5qd$(V_־WP ހMȡGK"P Ϭ %'?|\!}t.@e<;MNBo|;?DKseƾw߮@H 1qSVY”@(CZ4#ATPPl,H#@p uLdSI%444-i) $J$ђX(HOW}`:-׊"Je0vۿLy6֝wT W\jP͹զǩ% #2牻: W>j Q#@ ]iCBz*z 2zRrtHzS t9'`u'ĉKGr@V GB_L|;U^x`Gݗ>M^wQR(Q(?woVsw}yG/ 0t |`?vbhH[^FϜ$f-Ca;# do6[\uihZTh]_9.)Q+z;G=4sM 6B˲$\2ReEonm52N>7 50bP9{\=t<& ADުߠglb˔[yKkoh˚/PR7&qUeNf"i1*{aaeF0}?}"@"\XJ8Oџ)7\\Pq Mr0}A9H[Z0/G`^?JKcOնqS0z 4Xpz{??uo=$jhXͼӾa6΁|azH]^7ivXxm1VjN<6WBy}tE2r%yjWL*ApfЯb ,všD&]^sJ˕ts*v>P&d@gy3Mk)•$?~P$DZoG`=Q}=t.Ѩg~^]=?wEѱt\D'2cJRF&e|Ì73 mn, |dPٔS$$M@zXX96䃱=ٸMHcu}`n롅4l 0lu$y_YoE>{77wWOT fE6pjy\:ډxR#| wѳ\2~&u/k4 CAߖkN7d?3زH%s8|L9nt^39_̽8|5FQRAw 0f (9B03g:hw3D;D>d_S  a,1 d}DH&tJH o>X~e)Or}d(=>lꢼ/ug>@)&VD9yN:x,l(7jyG`G)ѢrMݟ}M=z>vg}|{FYko/ .e-#/ѹ`miN{v梨:9y kKT |La~R晏ˉ0-HӚsy$kpvZ  2]};[\ѯи\<-Nh^пPͮG:=b۹t Ƣ &-,?(cyTGwCs[?l6n ,Y9rqpq,TUA@Ӹ?ip?fmtğ \k0JdN5q?Ԣ|@#vjjT\"*@v`.i d:s?ݜFc 5/>`tey#kewwB"s -PK|a폽X:;eϥO^ApAC~}@{C.;[;<_ fCDpӤQl;H-kD$\u@UmH1Z+_g0rQ>l8f4 1LB 7-DaXJbcX#VeM|;6%ڣmbܪC,10plM 5T~V<m0|}_f56e*Hi# ?(fJ$B¾&Ds f/'&jOXrsx r?Qvߐz>2;C%5HjcBǸnDQ߫dL,p}0!Icam4u9ÝcZx'լ~S(:uC|\=y'6KzES ~o,;h5t0_ 7`ANFDÕ`S:g町M+ŰXSe?]]4:ՖiA5|t:2cn:yV}d kz/Xf<ӻo8 ''j~?}!^7׌t*N?C E(OTQ5='"/ʋOANI>7C>?ӏՁިWiZ;+-wbC ?@& I` $15ԱbHkILQM,<\ o،)|#Wud o<2$[|Zn1|\q'acXwmx0뚎&A NHx2(39#7#cA݇u)jsl!\;dՀN]-gYRZܮ5I:8wC97Ms=[-]A^N?{[Dg̘LEwN_F m !L`"7g} >p$6.9LؽN6c! ٝ& ԢJ"P[gK@B]h&s2'x 0kAK6E/_ "al("sE7O9*t(V)/!C|Lvˆc-A!*j?DpFρqχMŪ^D^w-@L"7C 'Q9sMb; p{y`/s3 OnCOH#_=e]h>M}!;fSPO6F>n(v㢤TY5#+-էW4~ bg΀b?oJ=V6Wz+(Kme]x QD# X}7n}¹Yv<`!g#Őbr٤-߳.пſ(eқKlB;ot^ˍۈr_^Cq|,@>fɏE`ӝM2ݝ#as+Q? e)c7GGtrN.;s,W .3*,c0 jUGY KG^]#PT%Y!4?|l#{mJa و˪ȞkTN-XOS-+lP 9/_>lMu_u-fJ/Jɯu]=ҟxwMW|GAN6D!n^I:ʼ(J$o_]lyJQBgDn4;'>.psY'>jZAWm8MτH{owf|k#a[͊(4u S@!@[@پZ+Cک~n@ sA|2 sH/a @[_4A"Ck3@m 刨(7߰(k ;~t/&CL7Ӗ''vsPCpL/sxTȓ]"0vk 5d"h#J CLD<X1=bfQwmE|J(F{g1QC5ӹHҭYz@R:h%{>B=R4!9s MoaONRڅuB0Է:"k?S+pnJ$!c9uvkH @Vz N:^Do]d|nNx|d|ߡfs $@LHvz>ϯ!g/u\^̨">O8MpwuB=2/vtQ:,JE.HhL ]-32gA[<|4v,gYGZadFd{p_[~7_8h= `[\ǟl^z{6I3Wb/AHvOGڰ-IKK* gh3i>tyo%̝Ġd!J b k?HV( I8m<eS:|+9'?"UTy>_&6r:R h9 lE-u1[z:izat:`>9pO4qՏ[ڛc9ix ,S B`̓G-.=mۧ׍_h .t2]*+Sn|kc<0xt_DS̈dŸsU_ NH] 'GS}+ݻNi09]~ fK]3٫2Ig9UT1mO5D@A;15s){fGi<^56ۣGj{uUnJE|w?|xߪoI[-a(x-|F!srq0fx[HOK_^f^{ +]ElD^9_ 2-ݚb'oYF:OAuy[Q:Jic2oYjo bcug8<OR50nP޲X3v[sd:%2ng>>?V}Wv~\^#cک1\ D}`?,@'DQ5i \TTQQ#l2Q2k U 6׺gj8^svTaT`]undl/P&eH+Q64ß'8[e]Zt*χdH!He;ͺT lbM4٥`_4CIs>el@h9e͵>˻Dhct˺x' }nma5a>˕V adx( D2q7po28tRP y7-su}h18q~xrvΦFI^Fr.P^ ʷ`ACe<YHwEф11w;pd˝;j\:"" m 4F>+Fwt–eov}cwXBJEC B9r L òSB\;#r8w~ >]_*@sP2*x5^{SL~+O9r腮D*ą64t81!n°Vw(ƿwJV@]!kd̵/u/ޡ_.s:?jNg\w?c6Wft]zީҔ#+`_Ҳy޸x\d:!m}pw|b{qA׉53Fч.V ظ/FFkJraEcRB9t#7VRdk>}Ai`RQA_p~UQt;; ey]"(Bs3+["*Q5 P{\)[@Չ\c `oW{hKYe- "+׀5蛋OeAr_iu2ͽupev_'H-+j/AӃ(GP#ٯ {ugՉB.+YQI]QñrEZ6T(t &$ZmR.`%FIA׆BA;$n"19jZ⇾x@C 2щ>q @Mقџߌkvbm)){/=)ŤPeňɼξ@;t^;~m!Ԉ-phYjxxTRG䧾sWY0fn6Dni[\Td&1z"OKoc;:7 EJ >o_ߪ@pU?:~EϺGrC<$J"^;cQr;M#zp[L>[$Fqp`5O]}Qۻh&H'_n|5m;aWbm8hBǙZ%B`Q2С٪O)ժy!N]bBL;s7|꿌V1j>Re@FGG5gn>N܂Ҳn,hǖ*q$[|s mPIc9\ [&P74HǭmN[ ;P8yQTusM3Юa`7vyF?2 e͑Y?b YH,SeJXQ%| RJ{[JA*DGMyިDd`-!Җ V#$ɦ5ܢ}3bT4.?FNQ)pDEqACU$PxcEƆJŰLWy\l*j ,ڗ;,み]Df P)P ɱRD:*ԯ[ݩ~~MwPMgȩqQ}U:!6aew;w0ݮƔhܻNcLH~Nm@k!d$/D辅Gw4}5b5G^ |E~a~#u֤ū[u!B)0ջMe̞Wn.=KA@wMR% ⃆v`RCD!gASTos.mqa }V\u% Xj=2"05nX}@Dvlw[?K=,ONeFײ۪klťT,mxފ>aU/C ;oa Fz ק|FT n& 8H!SRp7e%z:~1H'3FI9zeVƣX'9BIЋ6HYr P*a{ϫPéfz _rY`hQ8G.h> \P Utf ;.iXQ^1k}*_ɧvx_@}vvĂp;=pβ[x5!6y].\qPzA ]rAPA8UˠI*ݴ^2tW  hQ.\mۃ7PZ & 3B`imi›^HIЄH6G]]Cס؜ !~^p)-@i+Ʊ0|P三tqy Mqm<7 G:_`}(:ҵ]ӧN҆  D;_3r+˛Hj^2 ڎo0K.tZ?|\kIZzܓ"y4Rݵ9,م^StDq y`3Ad=*jҎ7{~|{=LWHPC.h ;gc!&4pҏGYI]-_oC1-Ko޲W;^3>I:i8 k[a,_ ;TDv"1Auu4c),AYfx!YG>[D֘-~gy,ϦNPPw/+22 ["*17VdȄMW##7; u>0v i9ٓx>.FGl9#'Q-fez V֞r_(v4L]ox#o|fSPr$@86F I{%f2Qa8He@d;Q?d8~tDMU<\w._($ðг0p0Z $J<Ь^ : h\R>~)K {h_?("ċm\-wY A}De\XNeuʈ3{.PT;S=Ms&a˵d & \CIY}-Jk~Qg;vf~n0X,' ?r2B{ˉ׮5t_phpH;oHo@TߔNF7ՌER O}N4&JFyXp%OgG뜢8ߺHWZ{yrl8Z/nF?ѲA0dS$J]ccMqdlP):v1)WPQJyX`f?l#Lρ?[10n=xkc7ů;zWl_͔= u5NM}WW`H1?;VyD}TgPG_ȷm} 8~}}0'zhJS򭸏yJUِ@b?t1A"$͎ 3b'/Owgxm=so.(7rV[%P|f!J_6؉?xr 't4k{:evkI ӽlՎ&>F>ԁ G\i?5>}]&.9AdA&'#fUsou$`d:tܟ9zo8TRoC(:k NPhdu4N<-n\KsERi!Fp(i ~ Ugȍe9RYa~I'":($И-W:*oh]kX ]oD 1@ GN \on+lfOa:Ehxɬ@xF< f80>Tdp5cGBaV-ᠷЄ'%<pRha!Q}xG3Ϭu|vSjhq` rRp c>|+wpk[9O6wJ2WS6qޣ G;B<>n ^#|wAPh9s+hẺ[v]CY[j9~9\aW"Q%u#\3K A#^'b hgx*P.:whֿbLX ri[sq^ñbKBw>Ҧ , &D/iQoyw$<'iwccN8専,? tъq\.<;87黎yRtMc4 2A8@ !؁foV_cpC8HCC̻?w vZH E j(4Vm"H3`~rz FOD0۳tOeˠG2 Ch|ܚGT:Gh@Z:!l*hd3\>_"HS/tf#$FLTH=qO1':Y,?>[kj` ! 8,r?/SXqk9>$cpWŢ*'xyt.r(u;rs~H&5\g30 }PjW?˰`yH_ 9zLk'۹[6 tPv} lYsϲoADۺ_Ur*4p6koLM&D\TtU@:k&#W~m{,P`7187"o͑#*37#982nkàgPJ@2صF, D"aAst>ytNVS1%{^ UR,k8 o'y&sXe?'?28) ĺND-dוgX3 M!}jۙr^wg&{we4u-y RJ$*?gcJ=;Tt}b:-[QNN 4UG;iy5n ,0Qeہ  [ZS%}vEi[?g[!=>q{0p-y1RPWz} AsoX/썓8f\uaV=:B9UuNHOZ*G?xv#q1zZR0}8?J7/\F-+@mxı5 #g'zK~~c}sIۤd[+#(rYZ6$8=tu? V$@tKP Y8MSJEv/8PC"mRk1ӗU@-u j=C{Q8{\ c=>7 ])&l\w0R,!v5帜fo܎zjX_Iͅp3gkpRדU} {]LH.!P$FTت2ЃeN49!e߉?2@4``.ەY͛v!HnH eϼ,#犘z b߆yK9>d \'c%']*fGgg魎V,tɸ"`d& !^:;|eSUKkKf`eR<4.[ƉYw4޽w0~z;t0EjDlÔEZ N/pvL#p0?={?Gŭ۾>Ud[cѡHoQlpd*A妡R' /Y9P",tCa/p$swUq(ۍî VdDNxrՈVA^GZlg[8A}sNEWKʚd5*X s{B-UՍ`Z w|G=ـV?~Lp"#TZ%yE"LTd9'jT$lPȩ ZGρz յ&ok잲 %pcTfmA>>I|Ds(2߉iw5Q*Eou4vi(Q} d2ZϼxV;DRa\D@2s4 ҾGM&fll`{2 wȈuOd<$K/Q/:)z}=n!qݏצj/BuFӑ9ubXB["`5:d&XAf{BY| q6`CU=(>g2^1,i5qҟt_8X5DJ7GَO(bAE VX|dfا}y{QQ E.QA R4:ɩKN欢e`BpD ,lڶmZ@0># ^=C[Qݯ9#VmɻJ\t$VW7<=H=QbţR;d T7$] ` kJy!'JUV o5C\0k34L y!xρJH쀁-mvXL]EǥкS#9317f2ۄdonElJ\dN5/dcoacQ(_=-eZ;[&rND[Bp|۫4 T-LΥ;? v4;|?8 1hDCߔõE\|. ܪx0Yz_A͍aPGC \J% z تz,_=pX!ESJGT@}em[=F{ay7x=H1nRI~pH,T=r(rY {zB<| 8muUR*(X¾5ۙRmgP\b 2Ap~t_iccќ8#^Ԇ)tZde*x aV)#д0klæmgXjr3߽B^@a} MbUŊAHAcy5`Ƞ's_瓟tH}zsfСJXY=xmf߰B4~2$kY8mTkI:}2K0U0(h ђ>ܴ'qT r0SU}_(+ES*i6Mpx/_o6V ,ׂ "fN(7EJ{K.Dك dVI<Rp}K lW;H-1O:^GnSgrZH_I!sԳf<5?7"2dȈ INvbٹĽ9WhLFħr<|,4 e fتfO`2{21}+=KBEքE9p{. ,|Xr>#P|[1p)u?"L"/ܶ8<~`ԥYneOy~ þZsS~.aK[x-I"4n`rCdba9&4OqBo(PL /ʣ8>B\,YhX|82hB?yY*V\z] yCdYy0cK 5}Qpg3:gOG#S"p;պT٩ܟ>GW2ժη[4T.Z{*V3GzNEpE->mLF{Cχc֫zx37Casv>[9_RŠsZY_uCpvХZߧŜ:/KLUCƂSv:hVɢnau_Uljv YhX9[@O&s|NeSw/=Cߝ_}1E?R~nOsEw0P61$g9ud'j42fRd (K^usFƍLzl-˿ǧ慝zӻ ict`'UfÙG?Lxn#Xd^TzGxxx4<(}JI4}b1SOW5d-(޿/Uy\|@>u"e]ut6EDHt{9DJ1 d[xG5E5 % B64Pv5)~Opmia+*+(s?_\8j>S'XMXQ94819wckTh7b?LY5Ѝu>ORh]o)PD2~5wBQoU1|Oa+`Q¬ؒy|8_uYME#k`d>䫢 cRGòr,Dz-צ*^%uoGxm))2hR89aneqR\NO]L!kkHywiu͑v{eh 7HBkBP䩉~aU09瘟 ʪ׆ٕp Sq'VaƼ+?ZY?%LQ?CӮG8W~}mM!+Aޝئ>Nq1?/ꑣn|3_ Ȝ'$(ygnBhd-gn WvúC(K¡}V5k{%d~q Ј{v'iu׎X,˙8K(("70b?>Jg/̹:O,}|/\qR_7_cҬWɲ" +YdD-ӛh~S4X؂&w[ TNu4;siI.?5 ?m8KͧR`|˲2`tO-*kEs9I" Q++1N2B4 B ~t5?H'Vơiv'+<$HJpp\CbRUzA~!/ؚPR#J!pk+4 ~tH~+"햵( ݬ#b"ժkP(0Aox#VPc}&$w4֭}kœj:&d~ZmhnsϛF녓ef$Zi a ÿk]{b$G)THQw }GMDd>[!Mz',a|$SN&0~[MAz T1ī\V #ߖa@hBUpig[XĈEJ[\=v*ql?ApRמfjb*?# pkn)?|A8O0#()ED@J1<]?=&XÁpŖ(g%k8)ˎL,Tra2ۆ*%wf#WsU-y3P]?_OƎ$׿T"]hs'*_ V01NWd$n4(F 5I5:Xa}y @`[2SBk`<$Ƕ3@}Y} lӜu7ֱQEgN4MX]9a:^<8|Bȫ~hǹ0|GO,_U61J# Ёo\hH̫#/=>9utHF߫t"rUh)7qm# ׀kH oxa C~YtO}te"z4Z!z-od<$$@X}Ʀ;-ws4@YAs Q( H1YF)!J?L/'N=2p!8ӭ8<{:ҽg~`riDyTH7ٯ5̑2T0n# "д2ǟk'^{` |ty5}fF*p)k$&T;$9&,@d!l+ʰ{]/_Sit yϝNP;d9!ӝ;}8 Gc80P(Vc(IBE!Y2pop 0$oz?Awȱ'@D6@l[%wh,"cm3$\ms89qV8ZfHjնxm-6\Fj6I-oE֮p(({ٝ7a֑/~Ln88Udq뢌_ ;߉Q c*τ+P(qB|D>~``m8U(v8SB8`8n#wHuK}GY kU(@R\K2c -{CF yL/\Quoڨ"v*L;dB} +tOx *7 SVTq¼}a7ƀSbSsoqQSVyVrodg*7厰O0\csi`Ho^qi~Uޔy\(ȣ-#d3~Gcdn^ Y>'3)u-Zl"IM7}*5 >Mk=gB?LCuq7;̠}V/j^E"a$s,AQK JBO9q.*dOa HK&uf Yaͬj2bF =ddb̪sjdJ$ծ5!!P`,ֽ4"8vwdVH&cTkLU*:J&`J):9jG vpPx>-gRBH3=+L9\ e:ຯ!}W&W\n/޹a2f$3vɅ$mn0 R'IGh4ʼn!faA߁邓4_ޭ|Lj@E2+j4tL^N'54y0##7OKAN>fuyl ^sK(l4amTʭtg|7ܙ]iNLL,E3Q$EQ Wy8Q<9hh(sW<!&L@irK=X$,&B?K=DohU`98 TFXr 3w [x[*;hWKٓkylnuHH:xZAcEg\Qf 1g{vg>lD64PKraHW:vҔ{V+Mx/bu?X=kfK;q[:!ǚ0m]uFL&=VxG84`烪_HG`ﶥ*R$\ 5vҝվbr12ypT)+j2ˀ_PAitJji:)zߧVF^Yŀ!MQo}D+zb@ E~V]i bFTz01>!.tޚc6| X@2_OX"=b+$A$3[~$8r(ï7p/D$SBō2~N(,GZ3"ǫ Qy F(ibU+?nV @vLuK3p:/UOb/qFoKd}?6ZS_a&[gE b 6Ň lwm$ +4,3|CM҇œ"s?! :%  t)H ND^v(`_Hvk\/C82p&~1F6G}"Zvo=,}NRĹ(_—r6 Q=P\C[C/ M @v֦FQE@ W_AWZGO羜|= |.ף%%]рf䓑v`ԒIzթA?$6؄O7uJ ysA9:C=Pa^ELiG j:sUpVpu~+hdA ׿umN"o -=xHTEW􇧕cgYRޘ$q , );Kܳk/wܣ΢(7 PF' qUwzs Z,_cN`tQc뮰=#䪾C1= q?~XWN.A7t}=eqܯjE"+awC[%(С%BѮۃH!t@atP989vɕ R[{0yTŖ %R rt(e7_gA W(CǮ_Gr) +Nv q9,o5cɃ4x:ҥ3ǔzw9'0[0Al AGԇk/_߉8RO|PP_i |6Z^ƞ嚾 5>] <#D\@xg7BcX0D=研~r:sWɃlůz9Tc)D_$fo׻n3#ӟ?C=ʓ?!>dIwl#v"bQz.%{ؗT_HnVD` _(:]aω?sƿ.'ð\%`sC֦t>v>1 ҫNetwEvZ Zpwy>k 3_e|r)jHqi|ߕF1󹮎s}J1һB ݔ7͸xUY'kj8ǯoP sl7Z;w\aI?<"a*&H`FaTV>so<Z|~"My֞Owy=Fm^8hR]R<;$渒2/AyoG"W3GoòCn˜6U;2G(z`B-ug6LdG'*0r gExvSPrw~{Hkv#?PV??b 7[Fy^;בl.TF ?s1EP3rtyTB!@3Mx=z=-#H76 Cg`3(LrW0y4Fƒ?լƧ=6I gVǫ ܺlc,N@i(v3~5`ϑ(W*3N%4 Ħ1ϱjϛ]%{s;kxwLpc*[Bst=פ,f\CŢɸ?p )l]bVFYoH Hy <% +^*+ԁBQ/-i2yQT3"b(CDgvU m0  j^ߓT7lEaa[cvNDDʻ(ȭ X^Z՝ۻsXq5uTkS(*!}3ƿzֆ.$3 0Kڲ"?LB'N"CZpt \-]fB+rS!̛}R qNG/ܯ]8DYXZS^䞑9jB͙GV8\wE]wL# ibA,Fl'Ӕza"b5#_`f0'*f3$x'ϗqɰ?1PTW5pGGae!o`83FڮnŒY`:2n/S 0XPϲ.R"`xTv>`DҮ;"P$%JZue`3AesT.Sx CmUvqAj J_b<'̺ޏ Zssu׆9/s:Kcz?J~,Ey>Wmc'BOp& !dd}'?Mf OS:SaIK /V_W][sjt4/7qr1qH2oΤ SSΆ|40~g~a޸T*Ze@7vTD^s6Ӱ7>jn) Dso)Ĩ x(? `)fU)fف4u诗fZ"9!Zn1O I* RZQ=NWD -{|wC)hHɕLXLϣ`~M-'{g+aiyqw, K [opwn˫G+LBl,"6yfD &ts/kl}:,+E }@}~m/T! *C?O^Ƃa /)0f,6ˋ$ 7ZsY~l^_d!+Lmlp} U yXx3lv:WQhكOiշ}ߟfL>7:6ma4DsQ[C`,'azXJ9yYG^ν'X qw;GDk(QBh!`&I3=0>ҷ;S]EOSJCqv~~Yf 嘒>^(סc+LF&óiQO䰒ݔP# |-RM-F!pB${p2g5?]uiAS@N6Ca"S 6AQ3V+hN`#XGҫAz8Y/5P{e-dSLvTrXP/U#q59{R8?&g4F-ԁTmIE\ikhh4r좂ڨ QJ^rG; "88Ú@ڪPZbECv2ŋc:\-q?"ma Bu6| D b6x^5+_yE:DΠd3&w}hѢ"H9$Y js_s.j C(.}'jc.# YBIk[ :TϭZWlr i7yekzzU'yĐMzSAw8(BFE 0'F^fF-9yI+j]&!]yq%}tOF3QxuhNbGמo1JQGuǓdԳnYl _Xؙ$Cw9&K2I+ a>"H#L_G,SIC bI ~`d7 d+ްQ .B@}n`pysa?O@QjB=Vy2)8pnDd;A!K d`%[\{Tpob *9Dt:QD9 Ƹ$ W\ə)#Q\(P3 Q跴8! J9cJJd7 5eDVRT`K3F \-hPNKu]$?/ ? "Ɯ&"2c7FdS&{͔谗Ei?wD?iuסeyxrI?z^YGJ%L uh':f4oTg{cn-N-B] -ݿqQhǯ80XEgY#GK+s6A]o45YT*e,;(h/d69/kf cb= 851kÉ9gPTwFs[o8?hx]`.%CK~ =jWc¯X߈݇)|?u&v|Ə ;q-O1{ð=N(x>*QuG"#C(=|DB> r`Ym <8ô{XWAX`p  #B5-_~Qmasd[V?wY^z70?fzߪH=HB*Ă{NR& *ur\'lQvҰ*+AB< |K$Se\?WxR(BAat{6-춞T.$4h _ƽyAFG@"nZT.nQK\ڲ()w*tEhM N:(2AcW$U "ޥR}[f=E LV<9mGQ,H+ 2$;`eι{/H/5_Wv5%pl>7Idp)-lզ0|e[{ # Eu8BKoL\TDX-~Pԯ7.B!zuy*՛f$g_IW@}UI3ۖCVN7oC䘁000~ 4@򣡥m4} TAkuu*~=p{x lU8Z.G-" utZֲFq $! .K^Y6:6ͫd?<7|O#ni t3{!m(BuP^8qֱj5{;Hx|#hl0sొW򔡉XuI>χ}LGۯs(0|+.'tsβ;B †:?y=)=;a_XgzsT iko]UoSxkLS%0$}(c4c)st.z|,F2>@@MD lacgYeA8( H?8̯5^]o!I״ .i"%ᬰ ?+=_fd^fqF 8ppPR`. 9(HDa;!-zv?yh64HQˎ2 D O E籯([cp̼n=@v k^8yD q$"y+@i3|B[UhUjWc Z\ $fU=X~IScI{u싲[Ym@=|SArI?ĎaM7 ZR3:uQb8JGTju+ gfwsk(uL-^hg)X",$2 Ʃ qyˏ#p0?8b"-5b=fOVd\#TRC6%%8nL!l#—MBƫ{W>q4|fMRܪ]x_˾!cji˾kM!CP}~X #{'e<@QbKX m? Ue%&>P={\,AtQ[@u[:r9A51ذ{]ek&Y(3Xbjm0Y{l]ϙP#-; t 7,e"9 S#.p/ is֘O qܪ 8y+8+"ОwI((=57V {hWWFbH1Т\zd0| 9."\:5@]/9F>l\Ϟ!NL5<ɑi2A0 Qw:F@ynMLt|G;#˘< U1b L=s;̳Z|E"Z+;D*R앜;GNCQ{<}Ymi-h~v@$BK\ˆ{øE!c&EIu94o&nx/~_ͭk~o^+|,;a j1ƪhR+{JLm$-malqsd[ Μõԇ- 7o\( r֧-7z݃fsQNn=(Kt@nJTF* E]n]Xч4AB~PoxrwԧAr\Na"D /<.C?$A0:#@rėb<ޜSvSԷ;5TIo]R{;";KdX̏3n4_OHy֗48FqfdYT{u;9byT/8OfxC{CR`;i#}fi֐F'bjImj̵ 2?ӱYۺUw,.᪳1Z>&:㱰0Fp-ة>y+g;sea1 '&}< %pzn4ٌab׽ ϓ'ǜw;8`!2_z~Uzq4x*"Su흼O:q49u4xkskZ:4w.o9V%\\xlFxilQpĈӉ.HKq:ʚ_'[,Gc/1+%%RWPjjI(2PFD8la=~'VtvzK,b=pgg#{烹n#^Qorb~&a {H:\C]ruEa*,( GGY:~'"4Nj1y=e>yN{mqq:.G-mUˮuaQ ?8 /q۸+#2" 1fDϏx:Z0uIsZ>+'!uw.MjJ߁< ]Ƭ"hG@Dֶd?LEHFIu(=7k!yΪi޸=8~]O>VoTڈ# 3'om މR) -Xԅ#Zk)"3Dz; OP&t;L_]6 ڊ ^M[' ն^\ZȍkO#KǾv\KKo.u뜞)1lMz}ZgPz5puiز'X U7OA: NPX'9?2.Xl:p801έѵ7D9fU8n+ȸL ȁCid?, <8Zs"Ѣy;_* ïDQcNnF;}Gyf^0>y_~CVw3[7S16а2ZF"y,RJ7 el#nrW'$Z~% !$lLt~9)C9<ЊeX*x5y_=?^#B.&$.95c۴nD !Àɘc!; b zzp,A]tv D=H'tDw݅+EvJJ+l@l960F -]fNeQA9D&;s/$g1TF9SD1.-)FbYj5ʕ?k̈ x,xC8D#}l-̠G?#vH—㗚+ b:00d|"s 7눯hCC.>osT;li4Nsz2}4"j}.O֨ ع-"ᱢu9tV se=QB9Tu ZoS@⾩\uQ01|""|$X1/_|}|~Ń jT&#!x`I.&w٨[|-B!u/J7~ (¸Bqœ~mXSwrLī](J$~Ҡj3 Z!GJhJ)9X)zV%D젒o#4ȉ~^1/4!{SKb1P\%F^\2!b*,}7׼jfx)zJe~>-E8K )xtk- ssW$Z5,n6LDG1|Rj1ؖ>d_Dhxϼ>4U_j'# Ρy O#!yW%ٳ;d1 J };^W}~}!IU'>7FQ#: @8G*8wMA ǚ gkr',vokwoLgs^LzT#]R` 7cS\whϥ#a90, KzZѷ"T"p=T"$0O߀6[Q>rh8T<<\AŏwM 9+N`iA_.Hx_K=suP_/ p#9 #V8 A/cSo/J?H+ZyLw2^zu-HR@hͻP`62<7ͬ:e3;1W;1 iM>dg!{A6ǫn2p\=VN7^߽㻽r5hsUUM ww,ߧ%r$~˅uLq] C( i{b;/!&EÌKM c* ^rZVҳmU ӏ/HxU.%7XO|X$" c)7;QT1&O0ʉrb\iqQIiRV8ێ𹯷MgvȁA,Ol'dVnu+c8aaAbIu+M@]x>l;[AiwW &`;9ifH8\0:Tb21O.+ByO(Hȡ" hרv CӥtۜKJU6|'"P+^_z59Cש=S1pc~ H)RA1FqA^ӛIcM%H:L4OJsik4?Z$4Ķ y$< E{kf<:~n G u6d\Tgs* -]}6xݹ0+9-6jzD+|v&p6Fӗ8/R~(-T\>0H\*%]*Ȍ!SDaPbK͋cc+!m\'˨Cí]N˱Y 91LK#S|^+'؟9C˸K.)TT}f,^Z ~ME.TzjSK@&&yI%^e:h\ A}AÛ֤V=]-AGFW{^nt@ݚ% Кf]d".1,\떎 1Ugb%o0B17OWʱ`FTY SbDw! BbO 9zy?ļEY/D9dS5u(+xC.j9.h=?_z%"3/cm*9<65غnC"an~Yt F1V iY15 @&4n4OWH-Rɨ;v?q<‰A|0upm=컰'ib5ylf8mg2Fm;ڑ^*7c"7UËNg(GCFZ,Σ:񃻣^lȷ8<\f$gy70W\])&@b~FƖ1n /W᜖ 3%,bC0d[;?a/Fh.% Xe"J9W2F&}V.㕈Pg9ȩEɴ YT꺰䞽O`h(϶& ͏'(l0៦` {?33>jfy쥔{/ Nq1ad򈌐>-Ң-!u.u0< 9{Nw`TyI1r  1s+1g^,|Gbmczb-Im Ou*x4%f@ b*CYcRlkeu9 8#0,woHPࡁoʔ@$}c [b_kqqGqtFnSCAE7 .YǴq0+O$,o<#)_8cr)<  Qxge&7ҲA>q|gYH#yaq'(?u(O@D1sH+߯ͨ`}x2w)&#w7pԹyϨD{m#,j7N9gTU20Ӹ࿡#c0&D*4pza ZĬnuwalW?$^v_tMgќCq)jy\gqFcA DOH x(}|'qVΑI|-&: 2]l!O̓`vaYu](wUoa:q!~ը&LʉrbF:,d|-XZ4gGEQtn5^ttF ȡήk 4@'B-@=d?ih9cF#k-FH)¨#|18 , nƨ'#WnTJ$gɘ5&d?QjC%½MVp^yӼ(] +SbZF}r]?1(=\/Z:ci(D":Cb#Bz*Yz8FF&- )#*Fdq.#ϥAk> yxFj HqXܣ :_zƲ:#fkԃ/9:VZdbE5.r Mx#O4S9Xޱ|:5槂/޹sk`'yt>zvCĪ793Cڹ;%"GR]?@̍@Xb+:N$;IU1`[O342!p Q ŀb"XS%SHJ{7! , Ȍh{%h@@-H`E ,RN/מ?i{}.1~o'msJwLo`,~j@@ @@HF3@&hѳfp0|P~IoWFmT =/ೈX3#Vs}Vb?66,%al\-=J0ѝyVH wŭ~z¸| Qod֊GW~><8""[&XKE;.9ί2e:W'$(Q09n]f,&_p"QG =zLfϢmφAo)hl^9P8MmTzUf>n6t<۫<g%<@H"VQi0@q5D Q-9_; r۫|/uplQb,P3*`)& _ӞJ$AY#ETM5- E)O2~<~W_*eǭy9Yuqvg?bY D?1uCin=p Jq[> p"ok- &B 6FQ4 0qz;8;Wԋ?uw'־z83(=)$'} QM)P?XUmǡf?cČg,tY,#aw pznC*8rk?[9̒h'!11!S ]x:$B LßgoTtcIv:+>Z%Z:TD ]΅rYת9Pgm^Yfr\h:Tf/^e,R}|$\W$<·lqOLkC4#6!A㛑"( Ow~/(}?JM<ԡ7ݻ\Y` e4UXe !cǽ`!/VI&wUz~Axd:q''(_V J4kc}k!OLo7hW&l=lO1)pߡ>,7grCh*Kob@xUDQ. ?vW5Bh!*zwo[~vr?u#ơA ۲_3*-d!~@w@ֽ!}g /~jIbǙ߯8@;n<0{]*7D;ud!O9V|+3J[t[WE:'\@v\K cQ,?@;&s|&,?6Ѯ_8Ւe_RM1/oeh{cF7g1-ɇD=`.OA;Cm9rYopV8+kMX,?K(r3и8u4<|\~L5=]t*5'i>`3ڛN^~\OwSV#alI ?_┺Ω^:`> eAkG6u ziN9{?a _+~nc CuB{;5}| ݀R; T'z]g={!hȶ|j]gwqrju叙W.aqE5jçߗU눫 GϯӞaBIֈ}j_HG]]WV73Zv=Ǽ_'VsFï,ä$R:OU0t9.$| 'Ov<  ?'a}y_ۘwXr@8IX;؁bǧ@1$z((}}HBe3eplѴy#Dkܺz ]59jxH]Ij-jtZޒԼP鱝L.%9]|V]5a.yC&"^O.ϐ(@> 0ӓܽu Yl׷d߮0y2slZou z88Ln4G@POQ<O-]#*y0עGB<= i'{F.]5Y,Xq_vSGTZuU]c__̂A_7>`Zᩅ~@I]Ux.`{}/1 *㥲"E~{^kW|s\aCAJס5$EP,4f65o8!PJD9У:<!Nќѳ|_< ($tq@<w✳I*/y|h#SpLhlOw'\D\]am}u+ߺkJ㎬~4[ԓ! ]ܳq/AB$CF&T C"X:ytcCvS9gtGye|TH(`R=68(Eڄ,ᜎʇz_d:*WayG?!2! zsL.T{ ]c]e"~Eu0(A;䊬 Tc AͰ[WE&5D/ 7E[-2=CO V E>S7K]*IS#?*F۲xeeKasM&Ԙ5s): RH'KŊ 1gSRaE-Eg/$tJHWK IZ>ڀO*u?GYgM_m'W\#;g]c -vx݉t3BnH0\x'3.n3mߎv -pNRcNvԘ 0z{U]M \7[+n!+>ILԖ)z`^ѾO.s[{=懖8+ u1"w/Jz}̌_1V?,6z-Y!gIRkAW@KtG]i;w4H"2K07A⳷ ԦK@Cz?V,j̣[zr{h\쇞lY#mQ"<8rқy`}^'z$0 F-ԃ!PbXn~ul}bɌk:#1fw#}z.]`) 8 pҩ6 Us'RP7JBnNIBbFr0є3{J^z|@uanXhggue{#f3CP ځA-|g1}aG~Q XΈ.*AT7Z$|F}w@s_`#ǔk.0H1콏'ܧd?IwKe &>?o.E >ȍ׼3 wh:}[`B3T?EYv1ůfߎ> BksO-5H QfYZ QEeՇ5nK*>ߋ:.)gL9ݳTo|Dm 8IA9p먀ZӱUkC6cE NnމQ{fxUn]ۖ/!P]ϡ|UhPxf"]K{q"xv]PSk^O|ռ zЊR\Hzθ݆/W"0 HQ?nn3v H#>r0i_CZ+3NbAn(,?f:^Tn4uFD#