aboutsummaryrefslogtreecommitdiff
path: root/include/sata.h
diff options
context:
space:
mode:
authorDave Liu <r63238@freescale.com>2008-03-26 22:47:06 +0800
committerWolfgang Denk <wd@denx.de>2008-03-26 23:38:48 +0100
commit9eef62804d9695425b24c87b46a61a7fa74afee0 (patch)
tree42b85b0df83c0bb1edd06fd0f7cd3e98200003f4 /include/sata.h
parent5b5eb9ca5b778f763bcf332697b35cc1e747626e (diff)
downloadu-boot-9eef62804d9695425b24c87b46a61a7fa74afee0.zip
u-boot-9eef62804d9695425b24c87b46a61a7fa74afee0.tar.gz
u-boot-9eef62804d9695425b24c87b46a61a7fa74afee0.tar.bz2
ata: merge the ata_piix driver
move the cmd_sata.c from common/ to drivers/ata_piix.c, the cmd_sata.c have some part of ata_piix controller drivers. consolidate the driver to have better framework. Signed-off-by: Dave Liu <daveliu@freescale.com>
Diffstat (limited to 'include/sata.h')
-rw-r--r--include/sata.h16
1 files changed, 0 insertions, 16 deletions
diff --git a/include/sata.h b/include/sata.h
index 165b471..bb1acb3 100644
--- a/include/sata.h
+++ b/include/sata.h
@@ -77,32 +77,16 @@ u8 sata_chk_status (struct sata_ioports *ioaddr);
ulong sata_read (int device, ulong blknr,lbaint_t blkcnt, void * buffer);
ulong sata_write (int device,ulong blknr, lbaint_t blkcnt, void * buffer);
void msleep (int count);
-#else
-extern int sata_bus_softreset (int num);
-extern void sata_identify (int num, int dev);
-extern void sata_port (struct sata_ioports *ioport);
-extern void set_Feature_cmd (int num, int dev);
-extern ulong sata_read (int device, ulong blknr,
- lbaint_t blkcnt, void * buffer);
-extern ulong sata_write (int device, ulong blknr,
- lbaint_t blkcnt, void * buffer);
-extern void msleep (int count);
#endif
/************DRIVER SPECIFIC DEFINITIONS AND DECLARATIONS**************/
#ifdef DRV_DECL /*Driver specific declaration */
int init_sata (void);
-#else
-extern int init_sata (void);
#endif
#ifdef DRV_DECL /*Defines Driver Specific variables */
struct sata_port port[CFG_SATA_MAXBUS];
block_dev_desc_t sata_dev_desc[CFG_SATA_MAXDEVICES];
int curr_dev = -1;
-#else
-extern struct sata_port port[CFG_SATA_MAXBUS];
-extern block_dev_desc_t sata_dev_desc[CFG_SATA_MAXDEVICES];
-extern int curr_dev;
#endif
no-ה͘h>cxsxyTLMj-Fe)g1f;lhÍt֡i;9e `]O&q U'RKvLc1yCTnkpE" {S""ėcPɆXimm- 1BbD3:na0bmR1x"9];2[*$4קκ6EfvwE#o;d06CE8t]M"s2FSVhrw⋨OwZR*WM`2wv̠@u0k̛G:jdI4x2(yF)׎XOy S֖кb0j6mk8#Ʈ7M#B`$dGj4ͻ3`vLtj"L aXp՝F=vv֌<;1F.jcz ӧrsELW(N oTSZ(5C49UTƂHNpmB~gO\mEDrˮ]xtDQ+\k>3'Gv0&nqwcܶ9rHX&=QfN0~1#5H!7"EE5:\ዽ MRBetf}ی69R аg|Jv+sYPkE e$Cl | P o =~XˬƜ-NN6MpeX1vȡx8y=8|j6N߅K)M\sv1(=&IeUεIVw>|,,q7EN㣉8gG9 BLmIgLCeSsh-KMok3ۇ"!.|vy\4s$wnbt6ػ!Vh9_Z&gûZ4.GHoHPofjTv쟈9+o>S8x9$Lj5^0q4ͥیFǶ'cC+ m5"Ree6qeBqM3=F# ^lm%Ge dk>u=Cwp WF%fH0.f_g&XkXl ryKx 5Kv(#1u Ck h=7̤;62ߩ# _e۶N}sƙP%JM%Pr#y#UR3mMlێg~00LjBh|ώu.?R볂af3t.sqPwYa:{NNc1:%a&HVF^r-:S+ȱtvTW~grSlDa]# WN]YOxf4CwL -@igoI|ޯ9Ί;&z*,@$yv8,y@wvH9[6LjDn{ל\Ybd:T:_Ck-QD;ܣ? Y[CygAEZtX^i6yǑ{y>|ztFv=F;%󇇨o&)ơBR".G1 dLTV^l;"]vmy꘮9a&;^ ;1? # 5^mC6v\ҋe}gFKjsB;ӛe\s8 ^D;L\7(oD 1A ט~;c%z;og,,d&O%O}OeX2^]y!gҙFth5o<(nM'm>Jc\6sbdr9N$;]LuCQ%3TٸkI ?%HBL(;⺮pY 䍓 OCf gDFj|nbSS79#F#x,ڌFu{ݐ!v U"CžY@¢[` ;qX+qkR@b3^f춶b\f&00Ei\94Hqu)`oNTK;fjeC ś=곆v^:$]̤B=3VbppT"'XKxޔis}3E˓e娳SI]9De\⓾zֆ͍o+X: ^f#l3c9Dls:yy_5 rȰ@|(Ў~7knDWx~GA 80/|:ە_CuI5ߒK XAHB4i}w EKކZۂqcI%M É?|OLByûvH$VHy\E8k!‹(  K4)@̍v='J4*)@NY. 9H $QXrXadMs8Z֊ړK)& ,'35/h!Ñi3u!N$ |Ƈ Ry4OO/iY4Z8PᓦbfĄ'âR"cLc[/K 'q; DDa3,9haH3x41ccQ 85x0"XBF 8f ˩叅uGUW*:4\[*u51ʄHUP/N9nҐ朂c:COtslL42 > 3;ѳ1f $(X~TlK.7Ur͡ k t ČA=01n(>8^p/i5QhI@2Z2k" @LF4ZEkg]pPGDmt !Nj wB;=> ?̐8 "Q/I^/!r"5#8MRSBBAw]íBˢVXijxz|U20Fq\6fa l~IU>`t<|'~/ rFmJN9tChk0i,o!Kx {"Od4;G@}k5'!kitBpgy#NNIORoJw8r7sHpd*lذ";[vvOH"gXq'1+KBĵ*WJ=8a( $J6 H4PcTdM>!op $/;ѹa? "d2C·께6h5 vl,0xCLڧ^A*#~) aJL:0C5PGޗ@毪gc-LDX#NI]T&Ȍ<_v*բ:fou G#='f 6'0 /=^Ȟ:;[Hz}*S!$n#A rR;o!ú^b > v9FD}\`CMy{G7;qr^Q(g"x.rbݑjZEn{R `"Yv=,K!ڊT!k"Vxy8~Ёl `t"93lPN $عxMp0SZ d S-AiNgjaa LеlS2_/v[fN?4 qNp;-ˑt0WɆכ# WdEAo<5!ip6Ё9Bњz]|~Jhʐ/5IGzd= ,ɤȋP[>Tjé .[4@E\1IKJUSUJ1dS{@ګ~OL(T 0Gry2 XySuB-  N3^(ctmЎ1*0(ҙF hFf!(x|U]BbwEIEQ,ICJD4BD(Q)AJt;(6=@!:ݨ=gGkayT=܏9 DiY'j f $ 胱 TuOab&*q}5%+;>cAP&Da0 v࿣@kO"s\{vjC9y! @JU}kNeg8y~4!.Dh!E9YMϪ<8$ȑyGݑ\f%b*A)>1ܾEE?;CI$6\{`=ĠPB>$uփNS]i Z5(wbOW{!ʃ:~=ëp`uCyΨzNsui7iÂ8s!QܰH,;Cw@4 " =< "TDwGdpcrD{8OOe=\x8ɸ09͐hA(dtT]6$S`2#LNs}bϷmZ(وI`BzސXzM7ѱO9$N [;g^E#ҜM Lg$KH-^Z6#5vpQY nZ@"j>qcߠoH8G$:k54Zxx| .CW:v{-*:rci:sX'C^%-P Jd<>Լ; ~10W}TKiļ/<@oz$瘺s"Xq~;n? dBZKw~cm2#p険GCJoZ.BRVBaID6oW";xV`ǖOJ(eZ_Ht7|أLJ1DL@MG8p)B5^^qj^T\? z:ΒQ4"KJuSD}'|$N~2I1]f252O(}i2 JVM(*|g&,LD_Vl&;yɾ)*]Ȁȁ&,¼<4tHor݂S mŅa+(# )>ca楽ᰠIĐ>~lq3?[mcnH (Y̩OD {iCF*ACgKGǂh ik@c1hc~iҘBv~5&uU.r^_1ՍGۘMݯW(*DV"  *x8G/YLJ2H!" a{}q(07$?G皾l4R,vCCʏ1zgm+1މ(_z&Zxp)%nrn'uqA3tvռ &Fe63Bf6 iǝCvMȞ4!i* "a`iûE KLtAHq:+~fv0EEdRkNUp3މY5QZprKׂ/} i-8 wbDj;Ѷ_.r3W8{P28LGTߦ8k1igOw2gm |/5̇}+r'CL2䙔t$23S8L\T9$MYBer4$$)47r(CA[z٤Lh3Xb3O9 ƈ:\^L\5b ɛGT6~Krdv2A%QS)P /WwԹ9#"ŐgF`2e+\MSL\6 9 ٢0%\ sOҍkMo4t#ե5#mo1T9BrStr;y@L563e@:cxzb uaq Rt Cw+0Qfs Bn{춈l%H A"ZCm OSϳ]`BBᘈv-xiƭWMAhʢr&A B)ԇ2bo/IW^[qW6"Jlޑ X~]Ԣ'?*{`2 (H&)O>(A׹)09wԈ>2>cv87#5FIv2`1LO>ѡ %M8Nf}o3o8Tcċ^ٚj⇒wYw&̳"BԠϨL5o.rb=)iݛl < ~iA(h@Z@;}iՃP~ 승aFJ<|!(fX^Cvvu?xfCt }d,^켪Ivaѝ]S~w1 cMDcx+\#}kAOQ Y*sBӫ?Lσ`qIÞY֤w&cđ'9!Φ7"\p _мLv"oǘ< Ea= Srez#H δ0L1+D)Yϟ?6qĎ;^}~v(&u=8.:. d.ӔXʒfIRTbVEl PR# 2 4T(RR"vP"Q+B³h"1^vK"&*vTa`G z>^GvCEƁu;a)*Z<̡5 A.u R&| `ض!B11|Bǰ>xj^t PJR8v $zE3l` "ԟͻ IeBt$V%( `IE0瘵Oz?@3{\8*3cGx`!h`wFE$2mBÒA]*$f {i piٰ!3k4Ө8ơr#H }bszs@9q"Z,EZ-v-UUdP%Y!Pl]L$ *ő b-UUe(R4q qqĒLW#3EN`hdH;f*=$Nnǀ&pS3H9!(>zk'r]C8 \;t8(h{Mybţmb"wjth @' CB DhF) A!RX*hI5àޟ#/XBz0h"1G;x?(h];P}watBc|URO<;;Q@A3E" sby:gd{!7( x|'DZ<c:1wP? e ߱!&rH +) (\juuz5 *~6>=a {Oh;;mf F<S_ѩ?|$@E~bӘ& C G{[mfQ(>?Gk3?m1%MH79?dP"iL`#+w}2 sP]p6(`GFQ FHX a3FI,]$H$E (IJ)!1YHa93~Ec0T59yIa) cl VI82bf@2],JSTX4D uJ#(1"Bp&34HwPѕ G޼M /-a,Ԓv`qUA%d x\DMO`oZaO`G$DJ*Xae"$ @3DJU@$&H+΃C2QLaN"&I'Λ=kup_o~aR:8ɐHB3'6tHv#/L?fAL~3NIJ.?U ptu}&IGa&>L]jGyl,}o2 R7[T`15}3wY6}WjKLhk;opߩ}*3ؘ>s2A$M&,+f䣹LQ?Z#hQȓ).B"݃p"BC]ِC4? }kZma>r~$@B@>M- m VndժDdJ!@d4dE($d`P ԃB)(5 LBA=#N R4@aR"%]S&@f @ko )"\N ,8ɐ``Yߝ{"= Iݹ* A`1&HH3 {])5 L@)`*VM ٠M$!8Uj;=(2)h pЪؚ(. , =d:zϘOϡ+Am=-<7}(>ӎQ>Sd& %2zŨJeb~woN`2zb8RJ! $K.l*Oqq'6&4SALD?ߩ cTi1RڌaMh(EV? TARxVE'Z"b/c%5 j#mRH юـr,Ml*ʔ%@1YK"eU>'J2!.N ӨHG}!jH=}cFjP\?TrBjD3 C/m~mJ"d)-q =! HMYҪD@:KF)?rA;JRRRăJPT*':'}Qb>5h`|F }'?P&a!?fDEAb4,B5HD% AT"dMPS"!@Ĕ-"EB)H@RRRQE"ҔAC0Lҭ *PQKE!! EI!@ P4-M%H0QWL0*ab RZZJFZJF*Fgw~`7>Xm>7v$ÿXNX~ʡl ~Fw^ h3ؿ3ޔ?W6rQ%|SEQMCHC($RĔ(L ?ɬ_P]^_dC`~*#Z/!v6DPAF"*h=Q(AvC4 :d8CKl!Qn]i\Wb<2Jx"((u һ=l5l_3q9AFxf^Q59gS D]2LjG4T,ٻv(t t@P`i5(j"( ((("hRb&d**U`&d(&h]>߿zOq%(L&cI!( -$`c^Vo*%GڪUJ]ŗR{H!|SԢM;zB@@~# AM4DRvRjjo! H$J7= Gp2^da95%Յzu}P؁''ף@ %cjr肬xݧf"aD.4QJq'4Qj)" KsΦ5b9ڇF^ `h.@/}To=[sT&\`D$(-.q0  1H,`O_;~|rކ7HTqĒb ս 7ZA#=Pr"{(~/ne)̟s~H$=\5cG)->o<Ԟx||8:B]4'[KCзm (8&cKY`0hGh L 3|ݓs)%#v#yy6v9VbwlTnA8R5*8jVkUvZGiS{ Y>?ھi]Ðs v 'u:ҴT(NUb…),`T)d0DX u62`B;C#c?gEHe $HR!{f"\hn9I e"QBi %EAB$ƒ$TMlHt1s; GK& 4)K)0Ȥy#SZNO؛d49)2KP].Ȃ8m]ј(i"H4 i\#6! R^`f؀:M2s;'uϢSDzDai "rg d^pB&G 0;4$dkaMJst\ۊvQչ$8q(ʂ% 0Ad662VlC!DDϟ|ʎj!fϟYV3[C\xXRY҂OеEx;>8֦HJUAdF``4^#pqC뎖Zq'5E'6l' x H$h 2g^lKD+-̑OR'/9p5o9UHVls4æ%KԔU,,j<=H#_ iZ_LQA3w]?Oc_o:)"fj͖2nt":4|~a=FxWfOQwU#cʮI)!2K w֞g[8' BhT]ds‰R/>[mEN7Ir靄4^ЕÞ4PCX_ 14(;8x)3wu]l:kǃ x+ƍ`M"u̠1ʀ%hȼ@NH&D`D&{)Ӡr,rUn*=Ezp6K*DĎ|0۱4@IB1K E'u'(srq4|~C/>X"(⇙I~'fDs!"qu&Qf쨔b F[K$Sghv"" )`H,0d@MK  @PCAEPDYb `PRSeL2A$EGVH+@P4@!e*ʕ jR(JhTR(NE4€ʒ,s+b#꒨TAJHRRld ) vEDEUHA@DJ`4J)@qCT!ICBK4P-"UM5If dE)Iǡ)*C=n{[p+ՆTLG05л{N!!Z'sRIBf^ .Xhn<5U%/ߋSCGR q _wk/wNz??_/**>?ĿGK_K>yȏ}_ΉO?YW?G?ܿ?$OO|铟|h||m>O??ާ{'?h??o,??۪_34vz߳s?wo?Cy_OucgOgף%O?kU4+ǁ?$!AMUJPDLBP\ʄ*Mfce-]?aF}H]-1^8jKYaCH qqOw")(Jx#w*qLJCabfZw #5Vq /)t0K1!HJvz1LDď/xPB cU%0h HM [%f*Ih YPi*I&j`)((QjA#b$aJHATLRQC0 IDC-)h(=CL1SDUL -9OQ|b/᷇)ǶXKq||6Q=m\9.*5Zf H ==]u`knZeZiWŁgy]aER (JPK4Rǘp'H !|D'@H7HF+C5FaK/; ށ75jBNy-p}@)IiOR߂SG;|O'{M,=zN38dkv/479 } ޸|l"?CپC,:]̴=%C eQR%)Hv0޶%bdco8+l%TuH %(7MZ2xԡHSC`)\,ANIaჽYc(0jXY*[J)n:sۭحy0" EI C #wb1y=@!GC!uɖ&sDjlNp>\~)+Mr $LB`csA1|qq\Ae.?dTk Hp.&NH!g0,ĹZ>>랲H( =섡ױUP"C)lɪ3`df#ABD!(UNo/[Z|g}xYwkVHa$BKG|H佦 14J1EM,(4vޤ2D"^|9;})q$Q[%ЋUFtAQ)DQy͓ٽswFOBu{$K5Qڇn/ux~J1!i!U $zc3O80,׎.!0Dm iԏ҂'Gc0WT~ltM,={G's@y`lMaK{x ,h<"E7 (y]}NFL$=n~4"!! nheUQjR/2U3:xIRǣP+TAd  HKG'{:BsK|O^R-b-YO|fuoN8#?mD}No{va1#8%mϏUu .τ >\$$F,conxHL&ЮDz9Jov]k5a&B= 4bqbi{@N`bit;$ 9"Q ﵝmL鮰K#%&(ibN]sg->)>\1CT=pC%!0bP/Qqv)$$ґ ?=Y=0'"'5$b NR4Ŗ:K{ŠRa *$3Bȇ5 q׼kbTDh}a4j%-;h!e Ku[T{3NbIRDIH,y$zZa.` {x5ebdrSKЦT~SL /ĚΠq meF8|p|l>}g*3nj~F"? ooMChiiH/wX:Cɠ@l:qƯ8!WøZ6cc5b@m+y=Pu)z5왚ۖ8ui6酇Sa!D 2Aޟ6aZ??Ɇ<{Bа%s9ă`76w1R8cPH?gdOdگh*(Q&Pb) Z T h2cu@n<-Q61˓ Ŧ4Нex6=Ě{;JrO"+zaf #D%#EyـF)DmuW}sr$ -71i+M2caŦEͲ$DbZ[ R̓i(`W>BK!9R%Q[fYM@՟Ƀࢢ H >cJ#!9*3u JA;%ǃ]ztjL9%>R^Y0mB"H2Lϛw!YO[J[ p I?!; 7zS:IOo/J n,m,;eւZXRzyނbZeE8EnOI}a3jDG(#?Dg{3E8O=Üo<q{|iZP S!N3—*gahXL%S0DQR⷏}S*NjMJYj]1FĠ{ :Yc,XӧY[3%HI"*$tYWH&7ņD@ztGؾ)@ C3x,vʞXfV Zէ G J lH.aVfCSi iw '09/JGHx5A(T[bH!f SR!$5=tM RmURXY*)˔`7֘dmQ3hЪ!BSRQUAMHTe@!??=tCt'Cnܙ Tpd`R4D9'yTiJr'̂(bF6(2(C׼o~nQЭ+@|/w۴rG>bBB '1sxTQWQJ&DfI= V 'fJ22%uY|Efo^É!*ϱOG{?Wp88;$odaZzvaF䐶n,;}|sOO*׳c1ֺfK&=61AfO r?*#0EI IT2% }2@KH0J!IlQ :I`vӴ);P%beIF!*R^yܙ D؏2'>((&I>KN˶y_H& Kxn0lq*r {>yHkG4}1GCJC SƂ+"O٨ZZQH@g6DÚ@InbhPPB'8dPqaP??tI)@SN R! S)*Sl!(RJ PJiиG\鈧vHU "kGDg@qa/:᜙R;?i>i0Fu5Ĵ{-KRDL< W6cpNφ ,ڒEeji2ԙ!OQM"Dž3a©V<<< )aV.&}֌)R=F/uh=ኛ; CA ÷f0(E9-9lTf^d+'|MdUҵ!@3 Ro I{%d݅Ӝ6g~^- &;]3ה:'gOZYdx*:!U$S-V"rT_k ^Nz<Nw^9i?Zysc=9%ӓ!n12Нf(} D܄Ԯ .y`Lv<Y%jk:S 89-+YrpSӨ,SLѠ"d~]_Ym 4B)1p`¿PS(X}sc=o6]w6'!: FȐ9:vZB+ϝ;w&cG愖/6oP9U~\Dh7·L̯tGUeQ| KpyaA2% P9 6-H% G(T p yg8$NH;';ӡz_A,O?9l((1=Yjp<,ul"|q!GLn<0#Ga6|K먨 N-*U@l)c|̡CjHE*zF}+9w<gyŌ*Ø (z LP H[L&fţ"JV,m;^%8xH,hy2k+K[ӗPa:Tb# Ʃ&a0 "|yDCg%.v֔}HDG뚘XiӦ=HTZD%R ;![AIOF U8O +G/4BP#v#CL+io~^@4eQ(/i8BVX((Ya#Xqltbr/PC2p8 ar,fP7.70}{Іuɢ+̉FH @8mN9"\6oxs5G_(NR 4nWb 䟄 /08.Z.B fh&g((hI}~T2H |y)P'E=1 #2J?v]΁@:^{ y hr|hkd` 0;>W ﯬB٠f>I e)y#q+"ק^M h'E7 Jzcyzٷp>V% g[rPDh<DN:5TAT0 4BDJ}]|~o 4z ]Z~&'t)ӵ1V4礀X~~rhP->(yOH"G^WzRnэ&=$X{&'1aB@( 8+d쟘H"tH5gNم_'y;Cxs;9Hp&2k%"=$<M3  P vN1Ն 89CJ2.5êɜ; j*53n>yVBawirSLE%C1pr;m)YJD[t%%,VEcQfdiC)[:$ Sn& nH"gTK,u \W7 3˥ 1  9fQrY&A3l1bNhI4R^RO}(zlguƇdPN9#=TL!3C+FFJn x` )O W'tw uu*zk֐,|"֋ =B!^M݆A51u:aCL#UMq>jn`gyADhnlsdG-tAII!S6 ͈,@H msfJu='򜬣$Ssȝy)I +)Ă!N@4aU~on}6j,Ƕ3w+HqTebs)DuD$ǒϗLiRLs3xiPS pI8:M.pVS31%->-C0Nfztڇ}w1ԍ7Dǭon׭^[Вq49>܁l#~mBxyXF=|,upBCI ESrӌHHd&ƬdÊxygyh> ,i&z;AM[0ռBP f@x5{'HS̈́e![=Sh1=c/} BNL9H@k08r{Rmd)v3;3%+#q` n83{dҥ dm,gk*౉׏zJ[#԰ĉD!M=f sXNaJ=;T`gq==Ɗ%Jvj)NIhy9)oŤ8]KRwc0Q`p ้8Ѿw9ēN(!ߨu}q CR4OI4^ lN E WIQ=ʥ-#eu8+Et&>lj@/jc`]5k)`ShTfWsՆa6K'$*O-c XxHaB%8!{XЛ4M?!T(MSAEAkqn-;=)a%0i7F2"!vsǞzPO(TgQG bX:g:T-dF9 ThCͨ ? Gb͚!K7%)fE ]0dwoX/8#P B^,| k|!≱sB8=/LJCۢ@j-"N S엁x,^PRC0Y -QctBp(cE mWz̒OdXI|$eu:F'y >L&HjD"ѥg Pd5XX3Ԇx* @Ir%(pH,")k`kbu@ɵa`L`q2N vH;%ތv5qW4RrY Yj)y!:{u`0vQaRİXœb Mp P _5#0@%Ȃ"Id@y HaJCxB\SNP4 N] V h .eէ $!Ё!-FihSxv@_([3%ABcLE(Ĩ"R*}P* D!RLTE B %R㒭#KCBJQ@A _R j pWg#3ꌣBS84lРaJk&bRRmf=qFz,e"Y *l۳v (d釀*'2"Irzntq#["}B]([C uqxaOL8|L{H}dvHXdheI@ x28$djfQ)H "\"JL@0IED @AH%J!QQ5$+%$C0$ E RBҠDP@!D 2*@1IHD4b&I rܷխ sXk:,t`B%RDAOU2.Mg#Ci2:l"|TwdE%Ůh[g 9 ֜kF0A:?D@0WWS"pNbIȈYJ&B%"Wr7<RN!(H B:@UŁs BCh(CT̡B/:R/`Hf& es[Q`G 3.H4+ Øx$9$AgX\Y/ya8l0ԪHY eW/p>- "OO6v7d1?Ҿ |~Q(4hY'BCm{ytH 0ˊŁJchbԓ" sd'P:TVvJ|a''Lw2! AY[Ib蠃(E$LtBviX:5"4y#4C h:GL0#MhYX VZubī`s)B3'qAR޵D [8 (ck,W\aD80QfԩIRYa%Q!dE4PPDX$E$cTN ƲLIA ii IH I)[Lp8D`"( [@EF*]-DDB %Jd.a&IBAP2ň(TA+d1Bnƨj%e%`da2&$+*BvB&yIBD5@ `?$aIɁa/3;ۣBSIN0C C̈m-)q@':)C@P)8f" SD`d–a*%*4-$MA"T$D5@SKM")@8Q 0/t@Iu!B؁+Ӭ֢g* ֐C2RPfd g##3\I=4]P;u3ڟaS\B:لM)cp`O Og(| d4C=;Tػ A~R(PhiTHǒs釴~~=4D5Q0 (MKhubtaСJV=:q641/PӧsYwcpM,!Hr.3ޢ"?_t|Ϸ[S'<>YtҀȽ!k/.5OOìiD.7GaEJxO$s'iCʱ6g&!HuGsR8ţIUȷ23QH)֫6+T$֒CB,!fd7dnKtUw(Ipsi{~X9V7HLMT9qW§W6(xN;GzgԾbqJN8:SRrS1ɓJFtIJ+(Zj \\/u2(V&a 5 UI{ pyⵝ3*L):xPTO,nSE+v43IP +e!4<9N5(qPǫP20D4mҝaQs2=oX}{lTAEh{K*44%  RdC!K' CM3P$TS "!.B!J !Ot^=DxCg@ؑB%^ %"Tdoޗ ͈P{*fD"BJJ"%C@" Hj>UIM~] #Gd>t{>( R&#(h)!if ׁZETʭr AXF,%eh%dfO A1K0JAAF1)նd@?ELxb2;uxMD "$Hm @x~,Dܐ8D܂P'"D(iB}CD)P>IC84L ד(;]԰s"R7b)mR*HҶzJ DSZsWs-Qb9ɨk͆q#$2 >^yg>,DE<7H)hjiD<x `AYj|DS@i҃3@@_q&T)`by-JQ׆M.N rh"c* m-lAL~QF?nW9`(lj7* ){XxB<)^Wؕ + Fc9RА D14#(uo%Nd5Zbт**GA(&Ǽ4 T.#zpMDf4&4A=jCu/4kBޡ"UCE)AQ! \y=l+P 1PC!^B(2Pë߀Hu P W".bHGF>uP/d$KIUƕf Pԍ!OFހ96JRO|H[ (WD9H~XSP0&AHAJȞxFMI~Bn;^ix@w1 1Gn'GAz+@;F2 T?j J+Ҙ]QV d9~I H)RŁىש#H _42ES" 9s J+%%Cl w@kNX;$2 ł'J?$O R=F`B)J 4P|5_ڊܘgj;-}lacqm8ԓcca@jZG!L i"BE)R/qAj\YA#C3 >BXpNG6&1f.O/JIFWZ֌#ȃj؞ F+@yJF9Ŀk7W\Rh0><䭻 Fl cH5~]?yEA"ÄT9,Y &9f2 $xS֟zK2"UBi^jA|=ّ!8ڸhYha  >Vk|!},m8F B|c!u"'Аޥ+:HQBza1IxϏ(R_Nhk&L34d.,ɻij4+o%J5GS-Y.`]-Sg@ ;;D0Fa#2u9$5e IfE+@1a N5BʐPL&8֓E 8yE;@R'\d7Ŋ(HN~Q" Vq@aD0 ͛#=#G5#HD`_|>;P9AiNT+bH fP*((*h*F3TAN+"¶BR~,%'1#8DVgaG0 _[*x&)@z?]Vey֤,>ݵ"Px#IL@*BA%Tsx|`a92 xߵF-\Y! =ZK=ZY{!:cǬ&J#!4}Tqu;O}-,C{?>/(a~N*:Hϰd>^g)K}dSU C]~}}𗃳}.ͺgNXfL^dx8..@iX!a 3!sWŕeW\b62ADD<'HLHq@y^)^]j0\6k.a Ğ+TGP0y=#;ۻ _70kN;sp>"G6$$@K=(F7@Ȅ;wg,k3 fBV큚r!M$Ua9ѧm14P%Q0';6yC[$CĬ7?8D1">E/]m"k($;(p$N\$DYƀaFBmuj6ݟ\ٽ[QΪ 6xM*=Gy矺iݓ0mp=VeXXȄ``=@H:#䑒[f#9UFEEmHOǸw{Y7|;7DaJAg"e{OsUWzuho-l͆dS]HM_ 8iI$]Sp,6vahwBeq c(?CGA``&W8?Fԛ0~8܎bG`QRvO}qpI]{bdxAp<Ȫt# ^?i}/o9da|b>pVn |d T}x_f1x+0?Vjcr,K I ZhB[ v[h ィhW6rDAȤk;dwAC@ w^P8TUNSd^P@`'<=v JW !2 wQ1nLȀJ?,ȯMm MQ iJm!3H{"TDyOr_1DaRpG˾}f&7]0p\Flb|631 < "a]8뎉}2an'5 d >.tMEv67Ml<^yHv*ds 49y&}ȵo-cs'0D7^ i s," *,͙ч$Y ~}~S֋8\6O}YхN#@-DgW}l’zx뤎z# 2[(lgCix$)D% 1Z@8BCYd8(C3d5/H=}GSci@7S1[#qIa!z"^c >vQf&g=%Nc7q1jiM}樉#v*FSHzc 6#0 x0IQ0eOpu ٞV(H0?!)~I |%9 2:xT&y/s|cepIt_`'IBEm6JCP8>p|{)FXeqH6VߍGvP_Ɩ">{v n3i)A‚_Po5\d :AIM(E&2Zk  kJR+3 Rn0D4cZq;C fvXFQ(cBDyu`L#LJد(?.n#>ܜfXH2`& `1ďIDn b30(1j))*d2^CÃx6QM^=n9i֟_sw'<HTSO( b Yvз7 FddPN؝M>Dic %U'1 =Ɛ) y ##$DB/YFTOx'˔߳=e*Q|nxQ"')Hc3d %bxyOԷ½&A022#BH9" H a MlX`=!D]|X`= TB0$ FFG%GAɘV[3'-Ⱥij*I/`Z)m";DJH"(f-d8-#kzٰ*D*taN&R4UFMnA E\ɃC RŎK(1bZedPUrQ`6Hܦ$Z")բXZX5(UI艡d+ F(H N'8~hAgĤ+ 2\3 8"'߉_|;g{?5\DOrb2DȄaN! @P؊ء0 "a\cC@rAuP a%J`(H 'v`Oq;1YՓA&MRLTRMHA-%%,BJ2;X3!QĖ鍜Kl @IXQ-XK @C D@=PoZ:dq@lF dkPZ%(+8O$+!_&>'Su>{]Ꝋ .'Jrb"X~@2#p1M5;M6JTqZSK" 4 6A!g6Ӗ\ Ĩx ӻ+)5SRDn٘ 8 V F%EYő e #% ҈b9xl6ʂQ<2m-^uk ǥT m\s RJFA4&nf v\-)"t1y1_m>A5 Ҕvz tlvLNԷc}l*{~?Oцߵ ?7 (& p_~FNG݄hzl>/M!@{C}-TRBo&C E LS1(,eI0X+ir%eG}%?=)qf44ADdB=ݪ!& 2UCg'y8#_%)QjﰺX("BԂt iCSp>SFA RX >~1)l\"kFs93Yn p;`ïH󖓨;,<_mTU*:)m /g9F Ȉ**)iL͗ƞDTRA{>Gb'qJ]7_dkϏ O,B3ǺƷn c" H>D4 zO8SIT $SrQ(X0E`A @z|Ιmp7m'8A@a|[V\H:Qi|lt*%u F.R(D$ QNl.3 $Mc|BlDj ybGLB思q./tP!Z_WMMQDUA(HH'YzxvP&M pC2S<|0C_:2?0/8bД!4PPLTIѷ; @2yϣ9ƹL 8ҨDw%:wD~RUAF*'HRRCz9XtҠ`x&q$H  r"')DBD: XD Ef"P.Y+1ݑdAm*,XH1Dej1,\Hr1( >G}QQ[mTC* qlRC`=4k%` "2,ʑ!K- EQJшQdW϶E3B7ʔ"FNEb8R89RMEKL4+*4u8UQgThTNQ00L1H& [jc UQBs )aQDGӠPY"@8AzeޤFdNtAz߼8IЄ'RO8>/s#fY1vI FCl0L2<( ˆ&Bj`J2)uHe6 ^RGDad[Ғ%Qn&hS@cTÊy8|Cn7az^EN7l#k䘼B߿(&֌UPD9sR韻ק_.wSn.fDNzFn'wip6lSgR-]83L´Bj0j}kV%S3E9]M/D'$ 4K k5H T w:ǴS<_* Qݸg2+';v'!8cŹxI#I|&Yt/;~1ۏ}"x}{~叔q5gP M:{IÿđMecu~'x?oN0ÍI+ol_ޙY$ј ކ}9͂!ŒcGw+A˹`(g( C7,Vmc6ͻ1Z OшѬmwXُnwzQR~ 86;]yjmomGi yϹcϳ>0C&wB@{/.=.,b.Ї8vweBj4| F"{;qae OqJ KX歒 ]"u=1?|F+Kx׏~1.bG[5i϶ ݩGobOe MSۦͽ<Ʃތtr&+c3QݷKq6ΞcZH!νa'+ <3/1DKuv5T6Bb:srRRQ;nE(df.IjJ: -傱0G˳RM~#3 o3YrSJK' rdo;*?g QM(灾$J\4 \n|sVf/(71o=6~m̍i#Oi V (D7%TT&b RCcӳZ4$^)<^WZe"ݱu\FlS|Voйs OӨ\9s3\kRF`Z7ݮk}5mn$=ΐ Ӣ{<49Jc.7j5d d'ئj-.p7/{{6-8uPy|Ɇsץߌ93q=3)+8`خ_O'D EIħGcD9bEJ xl&|JW)I,^p_49'TgGC e`=Ųi8QehN'>$5 O1nyy KJ>5_>ܔTE;ԇALd؂/ q)IUHb)niUF0jO;qtܒ<iB C)ژ>cD+y):(NzO\|=\WqQgl>xq6Ȗ4t|S44qeVq͜!o +bԈ\0*0uN8;Tg~|`ڢN/Kq1zK)9x y?>;B>.F@d!XNNsn3^FhX׃@YƱ|쎵3l>z1@0d<ӦfL iAEB9<3:f? xϫ: 0I)b5h3nwfϺw47[q]A;}'% T5Bde@Ta qLҒ",Lm0ٴ FhЍJ/7F$1 NνLOx9C* 24D7kw`[#P7##F ,Y<^ "da'NN,S .7``Ffbn @ap:B[*V d ~6e(JF  ,`$Atp=P_W"̆6b@r ȝ564ֹzLCgmLsCۆfnNPjBG:Y^p""\kdV;jv"S*كEUyJIfcNw3Ѧ3ы(_GP}N;Z. |vQF1+́*(F ~_FLA#Rִu'l洩o 2VT4 3n̕13 S6Ϥ*t`vDLĒZ9Gʘ9F] 9#E*PI+As`#BwК#8MñTږ>PF" \l4#:y8?I-8hA(J2U|p,R?D95=ki' )_,;J$"{0g[V33)30]08h]dQ`N0++PY/wU,!&d 0kÿrfr"B)% Jt r(Mh'RYcנm LOL,g_lnN7؝hhJpfE6p AC±O=r )YPnjCu%rsybQbrAZF()),?Wq>8 b*Hw͢Gl6к]$Op`xS"(V%er@;Ǿ&wx ɴ3tC:F !1(!XRomضȱ4VJ*U`-նmmRmRmjVZkZmk[mKlkmҵ+[E[miV+AbNÍ3+čZU(XХFR"NxD(@i)Λƕq'MͧE"BL2 `}N D%(~">ha dA ,q xa>ANT| @zRG'{ߧ}Gqϼ'z5Ҕqg{>p;iwr@z j?BN`&={CJva#UYιٗ [eřo1HB5\1"fFr<2 c×),1)d5/@pqx}veٷB3yml7"9R,+ݟL$vClCaI N$Sɞm-Pw/i6fg1-pZSέTeFie: dkeRbS&A!]n@S, Cdjk 7)3ܦLwmt2&cʮ-?.LӘ/o=bML0/q2ecnP˘/Jp.B8CHAZ^nJ0n)[1Y)FS8nÊҶ+>X|S[yʔp&l:Ѷ\r'}V\*|2ͦ0.<2`\eؠ¤mif{wذ]tqtΛ%S0i≻XI O.adz$9iav1qSkW7 HOv9s ~:oo).&5Тssr㎙(8)5"Gr9tR6s{W%>bFfbkY<ưyM&OTZ(qԱ$X F " 7BG}v 4J7j$ 8+Nѣ-$w6gcΠXIԔk!+]co*)t;2 8P`gz@}`ks@ʸtG=Db|KjqK-``,tJjeG $~8cS.ȇذ؉bLe`P $ֆ$ hW"gT w"'0sh8,. ..}9@]Id.mJ>1;xIFkJ 8M%)ԯ~ncDM^ŠHd*9C ȩ bz "yW6/WEN"%<*|AEM (!"ɒK0 x^bᤓ_)sӇ?).X;bhC@=#jGoGh%"~OzBjPNx5dg9n@lj(frk"۾Kż6&]\WQ3ކP9?>PRbLφ 䰤Ÿ6" @99F.wLG>[ږ`ygECZS S@`!T nt8P=,~&iVL3>D Bb{HcG2 yG@:Nf7DvŴ~cG]{e! &ĆTY4'$ "}I014pPR( B1I*.ب*yXhc B("!&/qƫVjo;+pjЕLpL\` G'`PKù?FC:D!eBP41(I E$B8 e5W>PR! ") SO܇4D0́"T#AJĔ 4 BHLF"% E(&&-N J4дH0`Ib{}H}j!I.I\! LR8 0{! 륁`Dig>#*RsH!bhi  BfcDMK1DQ511DD3i42I&~hؐY!JgH)1TXVP3'EGE䅉J**J )$gY6љS55&#vo8ä|el2$Ȟ)Ú0BE lA'2B}AU 퀏4͊acsq6NoN6a,2ZͧWԘAxS I JAAAA =2A Y8 t,WCcLT((X!0a61BBv DZ 4Dd؆INgێ")ES6^ | NR[J 6Bf+nH"#64n)G6II6iK!r[Uu*TzIQ_k&< F{ $̥r?&QDNdTLx ER$0(+)nYnc% ljbl*Rj &rGD30IBDR@AI1SH,P*4'!X!Y|w@O?cGx9k &Ͱ[9lq4ZXAc r߻zyDpֈB DHx|oh6+PD¢^'d2 F\(CT0'@],AF yzd' )I d5X~AQ2-aQCD] 5C,S!I+|}=C ?"J(Pi˯63F<ҮBw~b8&GB@-1sv,!ܺi}k8mG[ЩIU坫2P=odq"C{J1=bwB-h2Yd~c $Q[팩agU;:AD_)l*_UՔOXx"n 3>|~_a tadr5i¦7 $ 0ď?DERDEPkM! HR$=Tc<ʼnU*@ul|ZgC#EdbkW W)9?XO{!s (EB*) cb ֯ v dDU ŭj-n(* (*(J`JtO5PA##:C1v6{Nj>!{"d̽iA:0}IșcO]S2QRoϙg D hFXft)ȤFS+d 3ʀנ^&@t8Xf-e`wh1`0pEFĜ v٭pmw ((\Q{yӉgp>g >2Fq L"Cć&$p"TZ~vӐz-4#K;Ę1$bjp)9 20O1# Wtt>L8O9Y[9?[| \I1fLk3 H"U? y '(+f#``ᤩ G !2!AՑ|75y"$‹""ґ8~P{lBҢr%F e-c,DTjXv։0$YŴ62Qܛ ɱ& $$vA`qhCay`RM~YcO?Ep=ȢB~LH[6&`n \@Tl|zwb E|ssyi*-=ys:@ $)$-/,BEcJG  JANӋvGq?Z`4YqS 19W9*ykƀ>BQomk7Aa'wG;jv}SI^ MIW5SQ˦}xE_6uapDȻ)@TD)MJ )fg9")@#`5% U@w䟺sDUO`sOAS Z#VVtXl#H!&]lOB*hVF>I ę4CIEO;p*b (0Ԙjk%pP m<v;=>_C#);;vҟ!B3Ň<9.?ž E4Qz 63bqJa+2sDDD0MR?߈)?&>X&KDcT8K &BD0dDhKAKC&O_U55cwd.&)(?QUT~g pk#aP1hiCX.!aas/o*0a>)vQXa2˩JbScttwFߑ %ATʜ@KbLEIB@ =2AcI.@j$ǥ#ERPۚ}xh#t'L4tOÙ Q ToMJjS< _L@`;b=nAZ<Z"Z-vpO4X'7GНSB$ R"<~CNJ{/] ^E >=lN`мykfA60NLyy[&&b{Rl\W?t~TA2u1UWU 焹i^* Z^؇Wex0˜LqXg62gfq=3b"`LvD+"Af g(UMcY⪏"b9،Mq.ݻ!9+\xa$:8%r;{ً^2<~ȳ+ЛI[x;43潙;Af,cTVA;Ï#ہwvB/DKvp0Ӑj{|yaDc?kǭrr.%ɣS@H!>An*'d5g\@3 +l'Y(+FThFʧi:`vj@6"!ՇZCfuf