summaryrefslogtreecommitdiffstats
path: root/daemon/du.c
Commit message (Collapse)AuthorAgeFilesLines
* du: Add pulse mode progress messages.Richard W.M. Jones2011-04-011-1/+7
|
* daemon: Don't use ../src path to include generator_protocol.hRichard W.M. Jones2010-11-031-1/+1
| | | | | This file is already hard-linked into the current directory, so the relative path is not required.
* daemon: Don't need to prefix error messages with the command name.Richard Jones2010-02-121-2/+2
| | | | | | | | | | | | | | | | | | | | The RPC stubs already prefix the command name to error messages. The daemon doesn't have to do this. As a (small) benefit this also makes the daemon slightly smaller. Code in the daemon such as: if (argv[0] == NULL) { reply_with_error ("passed an empty list"); return NULL; } now results in error messages like this: ><fs> command "" libguestfs: error: command: passed an empty list (whereas previously you would have seen ..command: command:..)
* generator.ml: use new "Pathname" designationJim Meyering2009-08-131-4/+1
| | | | | | | | | | Nearly every file-related function in daemons/*.c is affected: Remove this pair of statements from each affected do_* function: - NEED_ROOT (return -1); - ABS_PATH (dir, return -1); and change the type of the corresponding parameter to "const char *". * src/generator.ml: Emit NEED_ROOT just once, even when there are two or more Pathname args.
* update all NEED_ROOT usesJim Meyering2009-08-131-1/+1
| | | | | | run this command: git grep -l -w NEED_ROOT|xargs perl -pi -e \ 's/(NEED_ROOT) \((.*?)\)/$1 (return $2)/'
* update all uses of ABS_PATHJim Meyering2009-08-131-1/+1
| | | | | | run this command: git grep -l -w ABS_PATH|xargs perl -pi -e \ 's/(?:ABS_PATH)( \(.*?,) (.*?)\)/ABS_PATH$1 return $2)/'
* Make /sysroot path configurable.Richard Jones2009-07-181-4/+1
| | | | | | | | | Currently /sysroot is hard-coded throughout the daemon code. This patch turns the path into a variable so that we can change it in future, for example to allow standalone mode to be implemented. This patch was tested by running all the C API tests successfully.
* remove trailing blanksJim Meyering2009-07-031-1/+1
|
* Added 'du' command.Richard W.M. Jones2009-06-291-0/+72
This command estimates file usage for files and directories.
._^X!t8CN[H "lL 񔌟^`ife>Zenv` yh̵ VRy`9u5UʪAKe]s}QB}*AϾc&Iو3Bl 8 i(ޭŮV8")i`cPpǤN'IY aRГ&|^Yp :D 0FMz619ξρ*v[>l/f`,p?JWASC nb+>ChoLTDQ0yK[N%s1[of1Ӆ*ddK S{ q c~RYsC.('{sQVY_$tbB+ ~匇GsPN^KǾ[Qև%Dp 4Yvw8^҇Q0256-0 XU5g"wvڥiNjekgRuK UnYj(q#|."K"WWƳ1)D {FHPYp$WwK3 6ߓtUC1we҆&aS]GZR:̺`+k'ڨ>p@ob-TuCqN&m#_"kgUM?!&% jfɲ{~$qeT\4P0PM{0)ӽcg,Sg S"u-wEzjs"}Hstb@7<0BXVIixl!?rxLdAz\U}hqBebCx9ck|Ԓ8b>\E-(n.mE@ oA$r=Ssm$R̎1"5/{0w8[]mo'VK12QtD*Ǘ.JZ{O0ڼx,I?_!1W{>#I

*-0NUv szd#g!mꙹވ&Nu<: JɄk  I7M=C;6ǦU\ߵ/[T)OpN$'犛ܡDjD@|vSyvLU-u9cIKQ7~D5uSxQH5AE)`Ez?W]NYod5w 8Kt(Fqren⁅prᇆm|3cQ~\83@j8l 9kg'SbUSdu|(z-˺2%sUyٰ!DL;}axM blC׉f[KE]0W{꣦bB9-[M["U#8Au,xy{dI9.\Qr"zZSwb=kg;/U!Ep e갉ũP6oO52@Rۚڎμ8$^_i,ܷ`G%ms>7/XcnxK2ޛeSG =aAny DwA Ǚg;6f4)wFmeSM _,T$~R~LE|6zK)1i>oyM$2]9P3l5nlNr]g3L|ޗ84ﳼ/u‘ IHܢ5{>bC0 #l$RqP4!'?+Y^˫is]= q wD}{3~OTd]0wae3~0jI{ uAf]r-츤~3͆G:zJmgIR1>y',6Ai"c="Y޷g~38&XLfvUhMe:zYN$hkN @ &fP~M&5hpN ω#` '7ZD1Ϻ0Ea7 KoB|M$&c2f5`rwz`!vYfkJ{U^-i7MtڷCsvd<&-ьV6FiY0Mv e_T:5'jri mz#9,H xCc ?Y$J RaO>Fjp,O~2H&BO`*PaEft`.ҝ:)0z:0m#n`B@&;b)M—+;K e }NBYGzufģ(V/F iIV(q# ~F"-l'תȃ-Zz(m74v1Uir$=8+?ְ]{wN`Ed#C}viUj>RCQɜĝdd fR֮VE6.fFiekfbu*k>UdH3/hM:fATSo"IHDK6PLxc0I-uzf|:lDj*=\gR!M|GXqaHؕ!de"NtP'5‹7Y%0<4%4EGh susH*iL ɔ  F({؉c{:#jN2@g, -ЌdX?a\0*=c-b)΢(D: n ^ֱOxaWs[ohfo0C4 dOhh=5XmxO+ aFqZdV_rJ6'gUxm`xÚruu03P6[( `ʪ@k-"O-B< YGD;64ipWe4Y69$iZO{C+u9PAEø$!xѺ{ϋpъ3X1l#$KG»ƵqKsC:Y!kܘ$8szQby k^{r) :A (tʝ۹dc ٧N}Od >/yHE1< u9O3Hw*Pk`^HSe=A ti{qJ-- R7]3VъMzN}J{rew}!]mQ,ngixlYqI}d:`cg+'x[Z{Z; 'L_Ǐ+4P> ")`Ug.SGַWrU%n.q ypd9#y59g*bwhv'Zkh,?GVHX5hf@v꒳^<*&|[εc*`#\tUlwdْ)dH,*tf{ 㻡?ϑC\&7Z)`+}mD+kujY6[x#>R?XŬ) j[Xl*R%IsVI,Wg[D #{ʮ ЭD+)/IL(+컌'ECF?jx6v̦\;Ke]9֌v9mSZr1i|P-؉63]5l.{"#gTjiF͜DFH5m/9a_rkt`xmW@`ȯ MCTyju z|"OwKل,GJq|Aȟro~n.7nXor/7BoW+d!1q=:l͢ɩ̖vC"fqO&#>_Ch^b0V~׫ݒvLuJ뢣ICqũc,ӹ2z|%A"$-#GdIjrwo _#g_پ|إBwUR? | QΎ_KkpL@n@ƪֳ"|lK)1d}27,18[1E01e'{q몵7t"m~yхOSk ;xv [`Xc efϒJd[ϥc'zh&2\t U>XŠE}S9$W#Jz&#z(/fFgy%3=Jk[ԆMJݐ|RgL?*F\/64NxbVix6;_l&u͑Am!^|z_&t G-nO^ϭ*d@>-R^}lRkCc2B\>KK7ZɲnK"o11!jѻCus<&%mNl|e"KXpq(Haר,4EP+;JE]!#.p oﺊ47M\KfhSZeT3.'15vcb黈6#¤!e(ezi?Oya]=0,+HA5P[d.KҸӫr~ba2\ʯm$)\d:)bCDX_Kq\d~:mo^;;d:sƞ^hs8|{׬Irf2 Mwn/mϠA/|OD/4W cߜn|JD8AvGH=9m ̿qay OHc`)KL;z҇pھf<dž 9g9 6 p694$J't ƹq0A ڊ-)tPh6d ,͑`$& oSm ؎e˖r-y80Q^@SaEWK4>  M]+`<<ؾa&z`:!,*'mjh+ {ʀ_}CPUԤiK 37? wH  s`f T7iq#?挛[sZU\8-9@\4Dp/H_~3+4&)["Iqof_z)zsfsLnKʘaڄtl;<^2~ҡʢ7R:o)gȾ)v%I FVLXVQńK{+k$9|4jjuܡf 6)DlV٦,ts9% z6~Z;=\t7aqѓUBrNk|VaAzY6sj;G pƋJe*a+b|}B]2.o'^PnkO:t`YR(z~ _q?\O S9#M]J&XVDlVuTb̐b3 >ag Dq)ܗpWd5rzQA$~V ^y/A[9q׃| ]-4]ҺqgE>][OhzEŞh=4|w{>C܁ٵvs Jr%TEVLD <@L8qc50[Z8o!ã * /C(:慽BHfS|9(il|Jqg4:bQ6tSopX#O~}>I +ܼY]ݢ1y|@`j퇻ڝG6S#4Kg#+ jo(W/ w-^? Bf l:BF0n-h&}Cy&TP-e,|Úх{=Bu(zcIZ|,-?=TsJ3_‰Sf 0CU`ӬddXiyd+-j4Te!&M_zp^7yˤ|i30]{r+$(X&3V\hIz?O#\B߮7'a<`kd~/;'+nX /es':}-7 Y̞ ͺQ@Fv S GyF>+j1pǏB}W[bp;wrkAHŃUƧ\ˊ3D$%D;Y ֍KcY${N͂ s;ɤi{j(C_ Chn[bv}A~Z 8tdcd[ٞy%}|?MY!G|~C)/́0щ{ZjX#Whj.-0r|P.w~=ޭnƏ?'8 mNvJGE I%tv0<׎W<^_67MQ $vƂl#ր>z3Nt!Zq]7uB11flL}foE{d>^#N'J|  &+{;8)f,~LK[-w*oA51_}q\+JtG3ڨ»*M1(z@-+J'g'9vd'&-v}~$PK%"rsaW{(!cwD/^E1ϛɋk CuYV6m~ (Ѫzz>2ڟ{?"/G(".)QD&zT's2{aGX S$T j̀~!dzP qC 7X^n]6 yG[>1E*y#hԲ}נ/Ky~4?>+%0Yy=Y{{ЪA.0|<nĸFU (L5T f.]4vd2J@"6\qLkS9/N <$Vqf1 Et<>+xƾAyC2Zo-:x5L 3>Q:sl~#*Tճpd%E`ۻgΩWaҀU ߜk`dy  տ1Ps^Z8R >duےT1){Ȑ_F|^6U9>~Q2Ե6ꨤgma>@)mG ߤnÀ*L ۺRة"E7(wܪm `wB+eSzS=hi?W-^b}&=m^R@ËSwq2vCMe?T\m`yVsrp *'>,-z1@,l3%+73sS "f ˨n)(99ʁI2958G0d$z{npCQK |Cc)F(bʹ^>3ttsQ7kng< mwS'3Q@ua}C O\uH][8]WPB1C{/\R, @jRX]pEMa㪐GCK7#ogSm 8K&qjȆ熘j=3)KGb^,jѥS>؅Kd"gxdaDo!mFEү[ʬ !bȜxrq76rkЖ}a~e?ROZ1X&&sKhio(_2A 0mOAZ,8/V/HNӳ` )1 h=A'$M-A2]`_3D8Q*N5MW\F&փєMSTMjc޺3c D2Uq^J] 9M+ClO8}OgYM&ǫĊSPBN=ԟ\$&1qD&He*p*X+"Q8PTUءdиGᥲ#N[|^~VU w tf+C e'~PųMK[t w"rXR R Džu[R`,hCwӄUk[a` Ԍo_:P9WcНuvk0Ε$v@6Ք/Wcu>`HfarAttܬ,.ٹ?m13 e4n[2C *M{N`;~?vdPi):Dt^9ЙkOCN8{pHuhYNLJYBUb-GJ5h"6s's2Ŋ!-((E.w܆?) ٔ5PjZi+P\! \H9;}}d̀_ u4ÝRjI)@VCCiOQ!\֠~}ԳRj1⟜s'2BYsrN}~tnj 1e?M-{Ei@t1xk( ;9$,|ӈ+Dx ~#%1Rma%wTԯFo *tQkoFn#?r \K.Tڗƒ!!+1뛝;JClv -P]r0up@5w@@H>QE֕4.t{Hs09!y'~Ex d't%?,I AWfcm]H_N#d9ѽt fjI֦Φc왭q >~\6u\No28:UiILMI"J4a*1z.8 @?#EM4vl!MNMcjvB0=A3pP7\f9^YD647v#WM47ttVf X arDK٨2:),L~ЖbLJTTnƘ4f1e^戨j͗Xifz/H*hSlR  û/jsMM:vJ>AxM fmH]wojd˴( X4g}tK+ ~6wqAB}gtD1ua 'yUqKcWH:pp԰)S](!Dd9$qmyٙ\3E٧+&ˉ{Qtcj GA`7oZ_d{#zvlds;aj=߰X዁ Տ䁄:|zުA^}/j hGo(\0{+:T>j+%llƩwo\^rX~w⡸>&ܘΤ0K@6 r2d=@-3R)ո3C_?*ā, sVxԪrg8*)A6*:b̕ߍ Ee~X 7\1L[ E7S6FKmꘂLf/m+u[;Nɽpǯ1gE&[VNNe1o<}ןjӍi8`h1GZ(z t|\0@ +Op{B׊;OܝZ>56"3tK dVJ> 5TjƇd{*ץո6ّZ2OOyue{qG)zcX5doZT!5sGPLiΔ]l]IWPv4"tǤW^͇m/-A/Fh rW&a)g-[ծ&_՚lZi. +5+h~ 0j=8TǼ9'w7a.h;C1Gn‘JpG_p"^rKl(LoW"MVE&@kKGfK*^s7P-Pߪ{p #Fwq8<'rʯ|p͉0Niݑzgu$̃ U޷xAH :^M"iZ.YmO"t<ڻx57ŷP(=iyj߿sWHR >%#ʙ|9bS@(TP{h:RVI8)f3HI -8VVȱZ·eo~#u|Q\I:KguPBY#A{@^\:ybʺl!ǔ$4ya JU!oIk),9gr΅K^3alN3v|T*C'2}'%^L `/ϲ]AQ L?*Nx- |4,w/Ԩ4:EdzoK@N\ sc!G]7(y:eĺe:+ohZIh<%G2\s 9 &HLJBwN6p2ؾ#@>y]( *Li.v|r{Cxk[FzʶD{ 0S5`f7%ZlV8x@Ap,9C e61x)@Gʨ"ч(҉.nqkrߠ'yyOkN h.-}F~#1e1l<8+Th G7P*^bAL#M+n6_s5Ѝk* H"_|0weMW>w:X^(YQsN?5G*}ǎwOlu_䉭&Q[ LALڃ["Gʦ=kGZ?v(4XE $<3TV 8zxn W y\O7{V hYɩYh:)ݱ4C뉘vk}*ʍ~/iܳZV{!D(2XT2J\lq1/ fhWLbC^u]c<&}a8{ dw \7X>)`W=/?5aNH44Nm8Z>dcmqo-pH/e ƗBnljlTJ(Zjya`6yoF@`ŬoA":R r]y,m26kGQpt&"<׆v^xR}b=㫾>lm)ڹJDn$~)YRF#KXuJ܈=c Iuh pPk6ڥKt|={H3M{%c2XGX&h-eOQ: mJ8*Db_>R |ZFwe2%9Gri-(Y?n?Рwe b ?7S/,Z-ojDž1_;ź^ S@ؘ!Yo)o+“ڷsmUyvfvoE#q6)[}L<Ϲs٘ݖ)=ފeL.ozaoC>XziYu7>II,bJ,"]פ%(q5EW+7n}ҽ,6HvJe1-oU6:ы /I緮3Hh(6}7nꃁ!CsCA(e2+pӳM2^Mdv:"NBmBRcyC"L8߼ IW`AB6뺱/{]֩ͺb}0^|B5a/4jc]4҃}# nGlLJuBk{ֽU T_%]4*07n+nߨ?H ffNz˼;''k]6ԝȄNPC+r^NbdkP!4綉HL,o;a!Fqә76e%QkRԔ\ >3dqƍ2Z5:P{ju6u*L9ue%"6u+kI'ad'K]%oFMbC3w<+^2O"NL5G_244ĔHVj_7jGB]S: + Yw#LGWc?^G8uA]G+dx 5crD oJ0UD _Xs' HMP[-(7ah_ɁXoקUZ@Ly^AK;``{C=|}an5 hj:E64ǀ?WU37B5z|y:@Qut '훾')T_B aǿb/{,+lyV68/hj. kV[!7=G@O^N* %0BA5jָL/OR.\EvsƢ\ t # _' .Wfʠ`"36!_ WC(2F۹ Uܤ_oI`wߺ!03BzkeLXMۑ?dwer:ȑq^U \t 5Ah0. θWo JP\*M;Ut5Z2Y2^@8}(l,CĂEl5(\漿7 Dмpo{e-;'} >-ߤGz^J@.[XDS9Pz2w.N " ^ It |;:jE/q ١Q|=8`ѵh9ʢd0ni|9 ]6*2(kZ`yFc5(qǻ:D񭈭eՂ(O^Q ˦oq֍j|xz)B\/=B 9T9F9XB:"з}\F9Ý;a >(̷EɎl6oDL iEm\r06sAu{io'2(*wbON{?K Z #N?S`2'O췑߱~YpfgE0h5uqg(mȿS@1|*(<` fIbZeH!,f DF&&iGy6Pd`3Q)np|cnfZنɉC&iu*/#u6&)sr,}a1ʽTlʱ双yY?ϢO-kIeFJڽt½W>] rUΟ5k nqʚ-mL#K}褠-3F%ltC$A8;-%1qkLSp[̲}qL")ռ"P7cj{uإ]ԙYX-9S_Ŭl mCnj/=g+'tda\NK;V)mڒz5$d-`L⽂^gԍUQ 7z"2z Pi);~xa5F|ѡэc+ľ; NP}-scE_}aRwW<,XBQ]ΰ&(EHz<5R*wrnO?#9{j&W '-W@1bmk ~~*O|8ѯI1dT0͛c{J>O3)$\z^'tؾlY!a$ꀅȇ@'EmBqSM,d"Єz8C ^8PbIk|Rtȇo؟5E{Z6M۝$&Vs-ǾGuy"HE-vkM.p'f(vʽ-o=NhQ 'ϧ#G|o2b[cWiIMM{@4eEV`mCx@="OE3uD$We;qˠ8wєh0 .ʝ˥p SV,iЪrDM#Vrܚ&tk^)N*NE6K)(.2t& a/U2VT[h)AB؊[wLj %kh!ugU]%oཡ+si]oBi)­tx)>G%K!^}`@;[5j=Rݗg,.:>}(4  MpDĪt.:(D5+ U#V2,arԟH[V8$i٘IZroUZ*¦)ΣWCz,4iUwCg{|Zﻜ%,e*'vaW`:`]K"Ҕ1*ܪ(s_cd1Aٓޤ/,=|Oft>5: #@K6wH&^X#V;¸{yF˃{l g:4Pe˝0wen.](oK3Q)!fyCn󖜘ܛzM֫w1~!.ַ C "[z%bsVpLECRJ+cAf'̛ݞH0SV mDIq[WgvZx} eʪ3ʲ^NJt<䙎AXƱ.Mm!{/y˘7Af7+ȑo!Y[=wcg F%wpf@#PSyg3ee ڿg'22dw:icD#~\hVNWߖYQpTv!۲$姩=G R:[tHC)܌%wWh'L^ pxpCm'X% `@wѕiJ?7aviVګi4ՆH*I@<\Q:_w ֢?i0ҞSM\6KBAw&p8}RToӫ(f @<~nA# GJ=Rdi?CW̌7uqxX,wꥬEkN[l+0}1z9k [F':L'$J[S bp2 "Kˇ;YvJյ,uT﷐oL/kܱEd T:>Qenu&#y_5⧋b+}ha}@:J$B8$e`QzC GiDHT>D%qU~En`\Ps_0®C=oZzS?m),~v~\8Tp Fx93֞r`w]?x8@Z[2!4^cR$`"˭29OAwړc!T("~* =R⿡J?Cڰb@Ð <ŬU |z/lF=/S,d!nH8?H};5R,`,  ԙsb{j>naYIzjti: I0K;.$-TUɕ"JeWz&yrVQѸF>e q n .9Jjd{zsSRH z"qs8& RǯǺH ?`yqlw]979~o<&}ӳ,;8WsxVHhֆ1X!/6u,D!gm52\ wZKQXQ ?P pL.7ƨ0W !MOUDyZ\/?ͼ!zE &|r`&U1\y5}Ʌ3+ tn >»|>_ӡB-V;-CmX=ڡ~2}A[4o=qOpªf<)&jŗ /f-GX/ȬdK^lX8FTJݢ~.IAaIF~< 8n=V-LA=m1z G"t#b{VRjDitN6]XGU7霵^U7tA'.mєfµMK},> +գQ%EKPUVtU/. N7IשsE#J 1Ow&H/BpXjFi~j"ʾ/mnNʻOڮa}e&rr`SϽϛk-7X'O^3ȉo5:̰S f7t)   (^ʪb=Ob KvG`, u.[>o訖͡0K7J3C:>N ,BK:i^s  QQ!a;߻Ո)'bLnN"\?S@R /^3VWqPǐ?왐 .bv֠VM T+l=Zd'Q)x ߍ%@YEtHj9:a00GB )ǡ {|z'FxcYLڈhzJO\H"V|.?{F! S.h 9 trZKĸtM 6ɱ%lȦfD&D`bcmj1gdׅ&NTZZ)_?ޑ\0փQ,]?}s| ^9 OYg-1ilLj:3 :8u^܍ڂoQ!UW39cGM@ޒ}:о^=PZъmx"VhwuF󝏆i TB]i3sơQ_)o E]?T8:6rT`iiA !c}MTL[NG"T-Efn徂27Q}qUǍe>!(<b\O<3_i`g<3yPP fa!rXP[)ZT|c9V01U-ciLՎ QsŠ; n9u5JsPcVz_:/gި^UQ'L&C)3O0Y@R+Ɋ)#!UCtk\K1_ >đb}0?ؘ8$^W t=<Ce1rڲ>Ԟ!ӄ.՗#qCm0./n:|{0$Ke=n=vw* 5W9%\GE_3SIpd=j;X<.;K{d'J 9}- dPjV&H`' fy`E>6BZD1Ryz:qU{\Ԣ7׵Ȱv63YІx@5+NGS(qpى"YI/7̣|F߬o9qv[11g&Mvxxuɂưsbϓ8K wD=}'(2"~FAEe6 0MːYץ n0p9n+Y7l5t.cS̿Oݲ֎&]$1Uï21BZ#=zVO[3 l(5i^xLML]FHۛmۯ4rPN+w `JE4$J¢.PQc |duR@W Z|)5CN o+g>t\TwLKoF2c9_~m6Lk}c; Bj.(t><[8~:uCSԲbhLw٬ te\_@BC*Fn\,Fyq喯I@j}dn֞?23E6ŀ&|fUw* t`G,i#C&$6^t*‚]6&_ɳ0ГV1łOhXa8 ]bi+-`"88n 4k|}˦1F>aK\w&57 zs/,0PTT-D+]Li2wL>rU)*Y$O ?g~"NC;F.[jy~\HKS{(yRۣkcS؄Ҭt|>xfU]} V. e}Ka0m5՜eƂE#7ߺ`ő[ժ4usv @`"u]=uJg3aYboqJ(uc,ѐ>xߗ^EFgAQapȅH5y:ֿ 7J+mHuLTqgܘxH` }ٮ[WF{#P+MX`r&N3*n̅)gi:=w"ؼO,IiGXL\?C\N Zf%mcPozuPUrChZҤ, TXEL~80]˘]\!zD7$ox /sDa)_ufFW&z_A#&w)S7#c \ 70yɟ~dy1L]b`VEcD۬쌜صoTax۳X!(NI U Ans44%f(b_+}6Q,Qtzer Qh=6e%"r@}*K7_KґDy{xi\FBNۨzXFՊOoEx!?BeprTȭ32jc|,{ LjuK ;EB:8JXvc4v= Y[!Uפw^]:ژW/ ES`g+MjElL]clU҅-=mm\;>. rxDrTd )sY,[; ?ZT0geB3E˂tʏ<ϰ>I"lc 424Jmwb΢jSBn o>Q ,e5e^;+GYdMF1qAϓi 6G¯l&qDrz't* 9ƺ)1 )4Jă8U-gOYi }eƮ[z zccqn^Nf{`RvK,5:ճpj7HJݱ}.ù<+K@cbsլ_ׇ8w1Btg$ڱ2֪JwFdY?}F@K)ǽ#@ډF0};%uK1KLT甫2}Y<,!K8 η;..z't/,17H(P뤠i= fp~}.|qWA9}NIp aW$ɏ 62~˄@5( xK $vWw~{;ᔀTύ F#o; '2#9&gcv0X`q {qfR`x*a-]$ Rˁ\&O/ٻYD_EF'p,\:nȕ"!_,a2'XBb,MzŶp[)S M'Vt& VfQt;u.]H,kAڑvʡ u>Pu2EhSI/ptE&|QGzh{U/0lcz0;(ۋc1X5kDf/6I%r0WfǨv'9 BK%D? C#'C]Etۼ8$A;~Ka?!M'1έcnv%2֛^)jooz}\.i]kOFqU3TH.ETgCڨ &8AR8"7>3Yp:k။]_KCF%e(&c%.È28N&H0>_k]ą9sѧnQ3qr?I{{׍sfXMՋ5eKޢZ/ĂmǖNYM3[j . Jȉn?ݖljÏ$ D'824X\Zj<(bz<)0M̠5G~&₴Kt(v- %?~NYjUqc5ۓe7}R'ߤ+·d #/:sm^e=|1,ā'mFg6X-#,r_0D]W4jO1Q>#z6E[P-Ɉms†Ue잊41튉BTb5ltS؞BC@$"o%j.I?!n<~OqMix/Hc__Įɹ~oX۶ |u%W$ʓ3d~AM fdUxťo8Dc嫩0N Svw6 -mPpAfy?cL+XU]x>9r0e{D.7x":Mm Z4}J(Ϙ̎K9%W7u ~eրuD~7R[6)3sCsU #>kW? g jά m*1gƭ]OL<5j1-ˮNd}kQ[)>TKu\~7/?r+,3ʮ0[$}7`0+t@E* r1Iל8v3F#Xͻ ju5gSVRziBPx-Vbi]SiO!5)8&!կb9𪼑#l@EY>8Γ @|$XviqLS,1 ZmTFW8(*r9\</E61`YCbvsvEzA~@c"; `τS/Ʃ]ܱ0>` HE@L3{qY[z-oz}X^̹ړ]WjHq59-l)xPجܫۯռ6" I{6kE${K̞VO~ahy%o2pgZRLI#ÀaHۋ;ז sh>^Z-jYSxXc`$VT(JGnA/7hQ67%ro[.Mх񄯋 _ܿBZiZDZb 0x;srA۳M&b4s3(Mp?gQ"Lb:jQlKӟ'ӫ֣X&i}WK &ӻK[̖Dt?HRO"2-[4 !,AmKzh/USK^͖WjG20?b0̼eWw)2y$w@/L0(:]EL[Bo0Q<%,]jx װ tMmuc~㞌j,?:-2ATnE?+b@}IĚO?BP4+>`IdB^T P3Bb LCg]!)kf c]P."߳Ck dұG^8 ܮkH˰wcu e4y2fR{pOV8tH9A$߫yx+/#)]a Ggw?éx{hrR#sqc[;=PWFic F|b Y 6{rxb՜ R;8d/T@[lbeƒ^qw7C}ϿS 5+Crb@ ./h9'29n-",ϱ9r!QL_%X 7o:~Łk3_ۇ.FpC]dxf`obNh4y@^²v$S:]Ai֔ Mjnp&x, 'Vgso*Cy L[}e1Dky PVbEḐc#$MTo5Zg=CޕBy +%)+NQh]^YZ W`?(q@Umh>Ё(186nO]?T=˛ԄGqSu2Le^cƋ/ vI&n/90=G~ IL:rg0a3ŰP-'jl&4gStS*/nrGWan'5k|鮔Hx~^j |Nt9ۓ4owtCsÿbV8&ggYx%Z扡ǫ;l^?aW/Q}27Id4BP} ]ܺǸ3L*ErtXLjvIc[qO';#ܜ{9,nD?\m+Ku٤Q&pCAG= 0eܿ=ƀҡF/cp4WՕVK m5Ԥx q8=$OAX #ꦂmm4+иbAx%MEP4IG3ЍjS6L!unO|ejᇥkuiA⡚ x5K C܄!>7T@<"ץe36ׂIPHzn @B,Pg%L{go,Ӿ&ٱvŭ)=@b K  ? eOrR ">ZhqSD贍]D|yaD,ծk_"C;3S;)۝C}bsmM;ύ%(Vpv3z aW{$TĵV_k A$;e1ݬdBI{N~)$[qoITLyu{(3n\Eljtm9XJa~ԣVM EZv#!otkid%p+.dPRrcHD'. 9 ڷR09e#KP<*GշUr8:P4%\⮭_KΝ %Wݹ`acY׏|V kZ.T_ta4LXUHR +nH~<{?l挽ӳwܹ44ʐMR^}r܊ [V1K SCscO#Ǖ7b 2$qf#s<xPd_y]>pYR0:'3U4z^cB iТ862ɼ]vh Qv%ģ 7|]PX=`;5ќSS)}f`x@(i0D`/X0&4k1"" C JHH˿-^ۜ87܃?ʞTlcbp1NY1ﵾu(lm8Wncllz0V\\w2;XEF>1[:U^i4zUDX!ثu/B#{DuCP=+'ĵ!؊<;!pvtU^{r.[A?v瘦1#{|0 ܶShsihCw]Hj15\^H=(/Ģ']Iz>VaĨ9[ТBk.{Qa^ S JiT q]OUWg`LClQ5| :<|NEDvΞKƬJpƅNkʑ nFQ] Bՙ_|\S`?K4?.!M!J 3fPl~EK#q peoayyt)"bՅI$1r sB3huZEU`k~%mBYl11^mFa m( !Mm$dA**.Z)lǤ2 7Ca_2]6_ST%,#l(A_YzFi>'O;bNy²yhBu)JɔZu["FSK*eG&UDTzrĈ|C!1ClC 7>3."pUoUIsvP&NW5 <ލ_Ri# 4Sb: O}ѧ'?LeVv_[ûi͍jRwC`n@yb!gl"O򆩷m8th`w󺤿}<UeXyRsfI PrD:aJsx"P*Cs>iRqj;k6@2"Ac"hZ$)(B]w-oHlȬE< <$(T򩯔nWbg+bk~cC=s>7jQ_"oȕ5G5B|:˓Pv]7=2^,VGdPqVXQ.3v &8jmn*=8 pIpT9ė~7.VEG j#sb$&IҶx<<ܬ;@t J7u]PoG܏(3'=ΪB6c 4̅6+h;KGx+ڷby!$t, JA}ূl r/ZGzբ]/ h_,ͰCH} TȠ҄jK j1,Ta\K|L֒C^K[,˫"kg3HAbDX,dUAM "k{`BN;JÜiVά{V>oV“ib!P2od6ex`[I?ot٦ BBug9K׈c?r$cVaRFa ˃h4ȍwjFA8@zJI4QzX vܙhe\x1Eo=c);"U ;-BfFWTA2yissΔSM dX3.5z7;ŗ^r3S.fDʻ|6wvnLiX+0l0Րͫ&;h+'OD/ svcӶztF{C'!Vo모p8I9pCD*/1jD ~d/' F-'^~VJ@joͲt)mku%ϣC̈́6D%I&&N2EHd.`|?]D\2BHJ0{8G >|j$&N֪h]nBN潏\jěPsĖ;'ĒV&@Un=ϵE&ChftUΐPƆFO}vl9:;PXSڑ~#s±saK,Gk,1OV#^Ǥ"5/l+]f/V1ڼŒC ĝ2GOqWyEr54]*1H*31u\o\k"?",u`ZӦI ?"oC$> Mx&Ѿ3/|jdjf GMkD vcF0Ó&J621NL!-0kH zUaf"$|z^rZnu-?>d`c4tGޜyXY0&KK}8Yg!V6[xqՅͻAA{!ӪnӌkhUm:/;)0{'JT;1Hּ8ݱ =m"3k¬/њ- [x岹9jAS6.)&t֍a{j|VIx^dtW%TK_xm?MT) Q?:$%i"j3F03`TޖVz<+nfDv($LJ3;{zCspV?O_&u;ϳ:h>#'6pǧedZ dilZ-!-宾/Bt.z,=MP\ʐz_0_vyf?*gZl] OU37Xil kHzŠY&w/MK@gTAc31齃f)KH=5^[Y~@3R\(M-'ŒC̸uhNb ~Ρ;-},ro `.jH~Sߣœ7Y Ā' [CZ~^;&Nsӄ$>+|}ͼoyHܒݶVfl 庳(ծF]PsOkdk*Qʫtq3HKG uK  VGA_03yʌ7KV9u r+Goֲaʟ'96ĢW*`°P?CP4;&>-@T|}G_';`@8OI8ɴH - W>|MSu㫓iB?wSZ0qg>M*c5гH{s| ,²u mdIJ<6 "ZOU 3Gj֬Kb3`KpFk}6Zt9ք;_}ʖHoq Ұq"Jh *961a爋L`ۜSV[x/$/Ж:Ω G(ABpi8K!E[;hֱk/X gЇCgCB/o>>NZIONAW6!8-] ҅i,XCN)ML/9 "l)(=`h+Rf ʄ~.YOxR \өGf8^Zb {+X$EpzEs|u FjZMcZU5#paCV)뛽n`iTh+2B75 9f\^ϕfX#lT Z/F}E 1gGFDΙij5~RO-P˭-VX+Tm/T`PLzG*4HIH9;@Z,lrYSvbȖlh1-r%hwM (vLB1*Z,j.ѕF=)K@C-Cnc")#jmDܚY6$6iT jD:۪lRfyFMJP-K2LJ^DވPjY-LNxMnz3@/5cm_l3F)3tr'i^J}/fZhf | &P#ۤ>fVtO'}( bïq_J/YNfND{JcrCLXP`Ľ)w[_[mwL3.~:IA7i6އG3g*bԲ-+QNNk)t  .]kH,@"ݸgc.&A֫(DP\0` C3WKCq$;z\ڿD+v7MРol)>$|Yz$.{9 MA8'Q:1)\ 8X7ɢ! {I|6(!xp ؎{S=_.#Mr<'eTWQZ[eA# M.n"~9RN#Q@5;ْ[p J$h^NR3are G'le>6! "݁d̂Lc*Fe"CĴ/'&˨NNxZ9-"`bV5IqƒeM>ou+.2~T|H'G#D;2?~VoJ@yָ]_]öZ%F sݎěMV zK9MCNV2=![y ZAA쯟)Q vj-Ư3]٭b ~9`UԽzdkh ҭZRX @3|'{/g$qɒ6*PKQ[Yܪ͵ߧ/BVκ~dPʋ k>H3%-"_=EzҘ,Xm)z`;7sSߪ?pd8!ҋЬh2h[_}U"`:\7QPF|bOۀ&p1tkd%Q5ƳӸE1&4x.!،D`ͻauIYH5 tI}S\E(8;pPsi(װIx)_7u)g5^~| `*<\W_gӭk cۯ R!4`~;!Z=WoIUP`,o-hP nkMPU K/K"j3$ny\]ӧwR no7Mea B,Km~N;M] 鬟T G D*G?!Z~U#t7Ԉ$]{Qb*QpNa}əjtgc-#n}jgEy)K^X$D:"n_$f3>3'Έ=뱿4;F(g=%͙߬͛jo +j7iz5!`?iG!I;/)^"R3KJ0RHNQ]6uVSwe;e ݓMɌS;#u vz`_rʲnX&#?$gocq`!XB\Q\aU aLlI*jfȯ7kOfȤ?˓F|K(RpE fZZrAA}EȊדofm<|FCӍ7{56K_@ ).ĺ-l8{;KhPDe?yu ͠7 K h`U2F&ni~/1ty*JZ)$Ƹ0b0Ƕz)b|1#v;Sܳ(ӟ$f5TP"c#ET xL'3t^T43ũڗL qkĶ)@=֐5bX%J3Hbitpj ~ r`{s0/i* _Ԛ&b{ Br|ƒ2E !gC*@XS%-̽~HϿo5E$jE O*Ony|3׊yY̜td` ,xcYQVXAKj*4ٗLŠfѮ,KVơA a^`?$F k9fć )"n҈yNԯY(A n<'Tk(Kv u7w>=9'QDOKϳYU]U{_4{#\&ZQI֤esl4גVD'P8pz ?lG63D]׶NԜ=6 UȔ)eŝ €=(=*>;FT q7 7T4Uv;(ٺ*D#Y>x'eOuízYlBku+J2 *86tפF4fҗ琽eS]n\ͅf1Fcz6?a#]]m/ӈ*Bm&uc&dM-Y-HĢΏZpzc,}q] 6o]%8 \2U-OWy-f \4A]9.&H'B˰>ҮMN/D^I7P@lS4O] >o;žU[!>(+Y%sA:Q$||W6㸯e,yI[K<{D(~watVnSłQTKHBmx$Ǎ_/PBc#yҪBj}9ށ25ܻj1>t~~#;D xI>A=6_̋W(g}p.i,U2BՂK,Y*o ~oov=J `$ ;ZۚB_ 4P̹Bf`U0]!s6M.O+Z/ĸ޶>=be~Z5}Ne%Z[![LJQUhxšzkrc靈jMXUHޜ`Yy`-tz-0Qؑ|4&J#22Oklk\e &H63cgqcp>\L~\ڄN}+vqOCu[!ZVe\OeIof%Gh0* b Sc6 (`<&/U.+q0Z+ "%߅Widt{(.`|jz\, i&G]J52uSz8eB!@:S<ʥWhg2|*hO-ܻ'U2[3鮚S rH3oc*Zt $o(o6]dJZP~h2ְA8 ne\0:cM ~"om3‚f6}Ϩ>͂x$Ϥ!1D=Z[cGz.ƕEE>pY?D}W3poDbD=tUʖ\cdS\`4vʓB/Boл;fV,EAg;}^n{s)~=[ t8d(iYY] f'!K)V>֑-M񕶤6T@IMuM3 jVr>T'ʯi5e@3"-ԂDut Zm4VdR10'Ze Ѭuh‡vSZd9l(q tVXm ~ k]$„p>& NLȐp# fӴ#@0YA e"*n%)GP+lKDڈu OA/X2zjAhQ;#&$zF^7FðNSxka I-vӕL7*qrTg𜭋.3f:[D2v!xr⒢(YL0;{ˬo f#F֝#Qz稧0aBQRۆq&[?KZ`6.ʵB_