#!/usr/bin/env python # encoding: utf-8 # Thomas Nagy, 2005-2008 """ Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. """ import os, sys if sys.hexversion<0x203000f: raise "Waf requires Python >= 2.3" if 'PSYCOWAF' in os.environ: try:import psyco;psyco.full() except:pass VERSION="1.4.9" REVISION="a0bd5c68d38276581a60c2cc516dbf26" INSTALL=sys.platform=='win32' and 'c:/temp' or '/usr/local' C1='#-' C2='#%' cwd = os.getcwd() join = os.path.join def err(m): print '\033[91mError: %s\033[0m' % m sys.exit(1) def unpack_wafdir(dir): f = open(sys.argv[0],'rb') c = "corrupted waf (%d)" while 1: line = f.readline() if not line: err("run waf-light from a folder containing wafadmin") if line == '#==>\n': txt = f.readline() if not txt: err(c % 1) if f.readline()!='#<==\n': err(c % 2) break if not txt: err(c % 3) txt = txt[1:-1].replace(C1, '\n').replace(C2, '\r') import shutil, tarfile try: shutil.rmtree(dir) except OSError: pass try: os.makedirs(join(dir, 'wafadmin', 'Tools')) except OSError: err("Cannot unpack waf lib into %s\nMove waf into a writeable directory" % dir) os.chdir(dir) tmp = 't.tbz2' t = open(tmp,'wb') t.write(txt) t.close() t = tarfile.open(tmp) for x in t: t.extract(x) t.close() os.chmod(join('wafadmin','Tools'), 0755) os.unlink(tmp) os.chdir(cwd) def test(dir): try: os.stat(join(dir, 'wafadmin')); return os.path.abspath(dir) except OSError: pass def find_lib(): name = sys.argv[0] base = os.path.dirname(os.path.abspath(name)) #devs use $WAFDIR w=test(os.environ.get('WAFDIR', '')) if w: return w #waf-light if name.endswith('waf-light'): w = test(base) if w: return w err("waf-light requires wafadmin -> export WAFDIR=/folder") dir = "/lib/waf-%s-%s/" % (VERSION, REVISION) for i in [INSTALL,'/usr','/usr/local','/opt']: w = test(i+dir) if w: return w #waf-local s = '.waf-%s-%s' if sys.platform == 'win32': s = s[1:] dir = join(base, s % (VERSION, REVISION)) w = test(dir) if w: return w #unpack unpack_wafdir(dir) return dir wafdir = find_lib() w = join(wafdir, 'wafadmin') t = join(w, 'Tools') sys.path = [w, t] + sys.path import Scripting Scripting.prepare(t, cwd, VERSION, wafdir) #==> #BZh91AY&SY먯P,DHa.]U|D%u}4#%ws;vNRTȀ.̉ه܏ζ}ϕo(':']<}h`g>7Bd"+k`=ٶEJIJ/Y!^c(OE#%*}^rwU}.{z>5cޞk@GoHoF%#-;2RUU+#%CB[V=w>ΧlN{{vww6gr}_C#ُ+nׂwwʪP"TWْp'z=z{w-۱o$oLگwyޔz.>Pol6w;{[[ZžşltV}N׼[zޝ{Won}{>`_q;<{d_m|<<=c^zZ-.[{g#%֞mл=Э4:[^e{`6zcR6=({|[wEyy=g7pi};a#%#M|޷}]CzzׯO};/K]*ȸkO靾_;xv;@@&Fhh4dh ?)jOS= ( AM SJz$=O$'@hhDAИL&!i6A6d1P2H 5MT$4z&z@h D L&MdȓBb1O)zLڞѠH A'#%L 4ɩԍ=M4#%44v?jsSOPR b_{7SMkVJ0ғ61۲6j O]gt#-*WWB7/|z}alc3mWl|ƈGIŬf}bc=qO{iGoxa,'AQ86]FL\ lws+YSprD32?N\g4U1Fe"e``66H60(m^xL|8$m7mԌ1֙ A8ga<,x߬X6jEiJ"z{tb!\Ngtﻭ~Y>6y60Y#2G eZKyI 𡍃kíQ*m~ws I9˲q p#2T tdkߋKv6gVims@aO^'P2B8H^.i/e|S2sO|154hlEћbqm7q#jml/b['VτfqE~l({l\ 8LAGnQ wmliF#-vO!]G0cehhLN2ڢU.3';r~rmsݎLڻ[DaR-6Ad7沆[|#%6,q::+M$ENJUV,R4ߪWb1:u4ݺF,g.*} LV$Xo;>mw~Va$}l<5hm/g9oZ_qsy^3OYg0}#-j s; aNO' w8J[x$NzPkDD|Y<(fA9W0Px{dt|1c^P*~80otGV\"}!k3Il$:j8I3B^N=ÖMC܊ùh!' akgwQ/U^eD钧 fGx*#ƙ?ܑB7uăsl 81$CI0XiPљh>{Ѻ&0N,,Ӗ%Jju.W2|PZ~s$9֚Y#-H}qvW;sz'lQvkr NC~)ɏ]3\_5:s#%>H!n혎BEG<7r6׌lb4 ^!Bn#%t]sONO0*2 т%vtqӾs#%&P;'F`D*О4o=|O O9Ɨh^)؛ GgfnD@:aUk/xBFBpD?gP&>6|{F{:ky^ۨ''Y㔌\~>IƋڋ%͔FKJ})K6jK ]#%NoVuT)6Q ZdBD&(W4eL:[({LF/72[PG'n9!%z3@lVI$&a fYBM*!#-m9+}t|'HHY_m-NăyU)5λ#)8s G0$R(tI":R GQ)#YnT(P/V unumBjaS=??dE]WGQJl}"g3\iaţORtB{b&Y#ҖNI$LM [Wg7;֫PS D: $_7!dm'ؽ'Tl/N^s/duQ ^_0 @/M&&!!oUK9t3ߩɃz0#'f};o86C 0##%Cbqw\jOHF֔=X`:6}t` +0g}@%eda` LcCKGslNYDZ[ҵ(  c۳1f`!OQDڈk5YOPeWspa$v\7.5boDhxEy]Ȩ!V9MYK#%+(ESR-s·ԬC Q N9Ö7'6^jgUAV:|{*Ӣ0r"iܯYoe[GLtIJf?’Kg^bvD"o7=%HGp}IXpopے]ѩ=:z1zt:Xqٸulpudxq}1A%3JMwDn ""6dp&HmP S崧G[0ENVlz$TA#%=:Uݣ K7[1I!bE6G|~ik#-0 }[հ#[ph8xꞵ> {0c6LkJB?߽P6X(jM[ y^\>U7Ww#-'Qꑮw߿-h5ݚ?֊1TUi4Qm19Y\u 3=3qI[)1D t5jzWrAyTbZFv m{.X#-78iLT% G_D*0VNx{۞'#hGn q\a Ds7==%Ǐn~wᒄ^FP &SdJ,lmp{|UqqL+c@i0:G^Q]D56:)!6 ^)#-tS#-/7.ǟz/m#-F" 3$݆BM>h^`XO.4fLͱ{ve.O htp64N%62`&Mk#,8ɞa W(_E^L(Vm2@~ڏ=IeX҄ULύ4E#-[QUU{DN+:]?Ǩs!_8V,|1/?jf 1lܟf^#-#-!0exzA'y݈nW_µZ~ͮzN9n8좰eW>l:6+OIhGa;YLMm#sKPmŃ3ûQ^:kK2@7>Z\Gfޞ>oRK{_Hkؖa<{Q*3D*¢ʦ4ko>;cmvccBz𕳯/ߥPwlwϖݾ໽y6I _ Baޞ }o)6eln&#(DC9@dx]5TRmrk㥩>(R7e(- t<%Rd*1b:>=:kQoNߥ'Zh.CշdkjjvHBXaHM8!M=mXݛ91w? }5zKoi$T p@3&ݜr}۸vƳ6khtқ) %}䣃ۧӍ8be#9j)J&gb0#j[5f_Y%ӣ(#-m0Mi ŨlBģ'*c٤мحiMr1^Y寚Gtkz=#_Q˝/ԃ61!̚~1"#-ͺ3kՍHr#%+14(F㮄'm`MjӤW#-i[Ꙡ١IՂy6#'t|};<@aٿfqg8!`F2}hqM4nN4-OxfR|]P}+W=p$.iH}7Jt_s.,n͵t80* 7g (':#% qI">f=P7vV[NpmD$Gm@^i(l#?>Y}#`l.Eu}A";2מ3J!)T#$ AODIe< Iծm#%58/V ފuLUGLTg s_'qTΔ#H6BDQPb0ogrY˝#4ZpUo^ILBjIl3"S!YvMlbFJAbwb*aG.Gf>M1O|FQ1jHcn.Zozo[w kz:2ՠZDZ!<,u]fC2Y&#-?.OFlEJ.LJ|ePpWC喛{EȽ&Љ&!}V5CU4l`ƗzN+":E~[&!T[D(uSr;KÄJ6m id+[v?< ca줫5Q.l|H tI'5RB'T(?k)$[$/7&`dB$qt/dM>F8|0V{qhB8xߧ>i@(aCH)0ww!(D@˰KqvY m$˃°v@6Q`H)KZf)i>&^_itjzÁwqR(CR1iR}dp+F(:#-BU#-v;pq%wp:&.cjﱭ[Q ž„Py#1׬.7b|E[*@2zP+9bA: ows#9}s{”84b#J4Ƅza]$+YC G30gekSG8k>8<dz[) ^VTO겈X1z "CR4&ϵ:gfm8xʯv-SCsG,*OY\~Zx4|Zڜ.udBB&_د1\pmCB`pv1!)@d ;GmoGiNLCVl6 Om^)}RgV^y"xGt=[Ҟ-yW7,<7Wi4["1kժb{i/Mz9ǻ~/ClBjS!WgyyҷcevC mI:Iэ&݋꧉tMby܉%D`99A#`%NYO]Iw>u#y2%I8B6."6#-Ɵˍdް$$8\Q85 TaQp#%pl+v?,iܢ~>s'+-&!apdNF24(j<#%JYAtCa}A`]$=u'#}dO?"u!!?S+pFs靧ĒI$CS [Йguh(1_َ7S\[{ەvZ%>3'3:cbJ7Z^A<|Yn([g3ՠ(#nqk0~\˲#%oWw{щANuvg_#%D#҄{;,HtM;3dh?BO]ߦAMn8&=1z,|bTa$%w\1ݺR^E7$;\a0# Yـ tBM9{u$@eB*M 8zh7mzf+naK*I͕yͅ5[d0;OVGǷ$L*KݗI8ᢻcO+хAn}JS_٧?QG a/GTn[b_7Չb* cg|.#% _iwD2k|u빔6FR~%%z-/3к V.ڼjI[3tn9GOxek~x|6Ԩ ̎Y=ûyHxϠ@!M-Ӫ{wo~ 9kFE"BeBXDsHPdIї:K@<\Af0w~e{=c4`~#%}wd)<vC8B@q ;l',,q|mr-qG]aś$eY1h[DJMxdQls;aW{|HiX~Ϫ{ٲ/U~u?:wˣf2-3溹#%#-Oވt#%tŹݪ^MzzY#-B 8\2PeLm(B#-*)bH,(00QIiX/ʝ8/7&̉1acIW9n~MS%΋D}|}̵TDa(ہZZF?ڮ!ڤFORq$tedtw{?',/QWgQ${qOwZZ,ٷ(ʂ!#%P~/}Fʞ%evjO&-{_\?Ig0."gctmWjNLe,!m600dvCE w=5HI &I&o8:dcz2c,+yjh:=1~nUQ:QttΫ!Pf%B&jfKm&#%p[M1 `20:p!6 NPlO1:iO,6'NΖ^#rjW߬3#:XD_^1_gΟOfӬcBn8E퇓db?!7N3&EVj*}m]w`I^ 5]YBK?}4&0B9Y6Áz5H+Ug\+~\# oz`#%0:nHݑFF #%SMxqԔQbn%8L[d2XPCa7suZwЈ7ئ#%mL,`& 4dM\W!##6u/篟Nۅz\s>썎DjF}jgO$1'_1E~~oq!g@]u.]--6fu-fRUOɵ h{Rkf1L©TcYw<#%τJȳcQvtbQg[Wm:߼GۭO=:FayUphK.Z.l3-k/ǶV.6~le ]kd}lt\n#o?:w7YjIąR%t8l5 2 5E7Y6A8Ms>$=_G/{Dv}?u,ԑ.vs\hv,tq跁t_ΦMUZ=&A䞈,2O:D',xV]vϥwC /-E1l۩#hŘZ=͝Mf1Za(`N9epYz&#%d#-$%ʃ1k1#-oyd=>?/uU/M1Zn*7D}SuܵQKGtqU{Kиya8\{՟Ϗ)ԑ)ZKw_PG$\ #-(MЅ%?>ݸNcC#-KƆS9WĪ{$Ct<,am3%Q]Z ,Fá a,'H"^m;`AL`ː#L&Kͽ#-vר$aC1mnnΙw|Pr0kǥ昌 [Vbt2BV1ntwi-ՌO}4E<^^\QR.|- ȃ dd?詓mAi5Jzk#?Gg*>O OV)s>/Is9Vש1qg2+iz Oju#%@8z!ˮqQ2B.O#%DQ+#z>(5u OƄTЏ6RFcq8k扸o[ u#%}9L) トBq69(FnH*MV5C]q{d8s,)#-;wgN72uN 5o˖8:ub7GE;{H9eN[?G†ץ^~az`{VGh~:upoL8i>Bjuyc7wrΗu):4#>oCָ}]=L䀄ķۤw*Vʏ,u&׽1CͱL#-*UWmѷUQαd#-FyeӞ:];Fm3K#%~[t2LI}SsQI8rxm6sp̵@uʶ2\rsZoN>镥9u"1BKp(p"pSjgѮv%Q2{sR|6r͚"КL饗 V9z2nu(ΓVčhCg[+z-߆? C Q\+^Z{ϮCD#% .}s?Z`Pe_vG;֯槃A*G%mJY kj8 ÷FN/ W.H\K]A%#mj!J~ZaJWH-A5ƒ6MsjJeTGxվ:om7\.*ߏ52vN/"\C[c@J5j*t3+V4ZK0#OuLDPNl#%+ ]WJt#%Gwz ϦiAZ${TZ5ܶ4l.uM8ܙ{r%k#%7ht#-ƿ*5<)[Ԁk3hZ#-l\OiƳ K){4l'jgN jjoS^ݻ&.b."]tY:/uZe Q$Psi6?bۉoW?5<~VdDom7xz\-jah#-g۸s"/wý}a9R lUd`Ȱq1Dx€ub2+ąM׍1O3$z-78;W`\>G4BEs2B?t>^AlG<=Qcd6WEu!f 3L e%! {-,aB #-D>{SN, tP4qlR#-*z@~éxի"1i. طڬ>LgE΍ȍdZ<|ȹ7M12@Z~hu","t{7>RY.0%qsȣ}X\'2I%ƈw£<gka<\3z֯i35LdR)BT n줽t}`v-[1ř_E[@($#%ښuUh; ae`~ݓ/71v-#- Mԉ-;P$v($5#%H@Ɇ;[HB7XDCDbӺ^;dr$`H[,s#-2$FI G|#%j$Cz|Fv9lߓp<2իM".TX$I ^1k󍗵MC _+hZM&(v.vZJ~TDz7zk][$4'ʘ0_.{w^-9qG8C)~/DyC<{b=ͺ~3khg"+G/9ym{ CL焸p6պ}xn)`+D$#-x 3nb,n0秬rRA$|^`6#%#%[}[WnTԦٟI~H'KI!"tJcR'ʐ|9pr0k 0Y,'r'CKLNPHXm6Dwhi$!`DZ$Ct#%b*]#_#-Zlvc5r־矢2A(n& WU!V '_KIg _h2r6<#Z9!y"h!t sQ-fÄ($+],Hy_51sYf`"*?MX0s#%l "U)ARpk38?ݎ^*G !!#/yo$G/7F2H;E#oL#6]'rH!&N\8x25'b`(пeP#-B)H_WUGS»mO VkxL;rEz;3,ߨ,<=},Px;8-? 7`e>nss9%HǓVQ:lD~#%ןbv.Q3l;|t@bŁϣ3MzgW}O}ͣM^_k,}`oyCas7ROjn*qhX_],ՙ2~O|wWZ0|% m7(MOb*C >67VDBD%OY+n ޏ֗#הZT2k4~6$^;Vdc[Sޞ]@Ӭ۶ )#%zr;l-*KPmGzh4dcHjTS嘫J#.<0U5I 8flcv_υ*폀6ۣo1>O?"M$W/1FX/ 2ArI/ p2.zƫ1?XJ_ iPg/|RRӴn9$`Hv>jLUy[#%i\Fܶ׍RF:s;w6J .Ddh|K,?2贗˥z=%3Q^{靵OkG>t_ rc{ş+{4Z'8曧(9 ߮K-~znGڅ^$: %ƽG\i5 ,F9,uV1̿ I}mϷaխBK(JrE)=x5Ni ?-އ̬*bE&h&HPpզL%~4{~[̶a+e)_Gk84&"[ds //D kBN+#:5ZAt3MꙁeMCťҨ_ *:P9eTqc[6#%C&'sL1<lu2]z:LP˽w!?~nl-D$S|Bwͻx7%дq1[$ƙsچ,F`MSI-DJ{c.m/׎6mjXJ*[ֺߕc߄o04y6U&g=9ÏZ 1INoDM:uu VgϺ?Plmi<ʈp!甑vbT_mMvrMrIo;QE7"'kPiV@燂%ni]]=LeθBqk}Ԝy#ق9i=/A9%Iq#%4~.G+G}B늶'x>&ڻ _WQ hN~\&h5g0{}7WGUƀmC. m跆lJͭD#%Pl@1A[qC-Y]2sDʇ'&qS{TaeJ!#-`x+EiZ=fZz;}Pbi<CG{N7=lv@7#-ll$'TFJ2أLaX+{aɕfF9T7SK-qk%#1fF߇#W43,cI1!F?ӽI%#85ܼsVB5HHNH[LJ=IF-m8>\S"W7b5Ba1 t#% i6%%AKT$ _V1:YGrȬ >;|ﵱ$qa==E.0qK'Vz1Y!;njq %ڨG&{)NjVe?%Qvg̾y J{-T*A!^.ɺVZ#%ɿGd$tno2hڿBTΰ=IˡD0)!|&…#-M)-" H83 蹰Tw[NӢ9">iUw{JN6?hfy`2zE('.'ղ?%4_=0I`gl' 4$5NOqbMG**N#-La~Cz캛Hr!hd0)k,9d}p;kw~XNFVC~m74[{[OiŌ!@B-1$LED>Wyتt-K&8#%D-AIA5Fzk+[a=N½_wGtDtt4>qJ)͈^u#-7 S󖀻1nfĿ|&@]]=NGXL_dk-<1 =bQ;.J?ަ(!ofuq]gB^z^y眤td`yR aDUŖr8 a;C#:_]d8ER_/yfD`x ㋬$I9G`@__K3$`IqmLV5CJA ?)@EB{&ƛ:2q1Ggu6vWy@9H[y8P #PLa- # G<>ϣw7+b!JwRň LjM`jk!֯>qlEoK|WHR!DCPhb_<~q3Xy%ȯ#7 x71H8ERFcMcٹBGi5e=wק5"|Q<]QpL]]'|o7SmƬCXgYj[D{ok~p'wlD;:I$¶o46<?'8X́zxu@#%9{8SG\~T>>Q#-L\ɜ$i.c&'~b|u};^8T>?'&ug07q.NT7ӑػٜ)mpk͘T(y!󌉻VVdL!#%w5D^:$Yl٥㎾㷷9\"`F*զrl/!m* wvr p?IHs@mq.CƜe#-#-ncW}RǮR6\+]1vgZ(7: 16\ۑG`nȳF¼eS9=M|=ϧIs<9~T<϶۸f(G[Rq8"ï}3kv+@ϷsTdnx=3;)"~N 8S웾0Ӕu; rþ#hAF9#xv2dg0D"8}yo&">v&)Jt <fr !q2,mHoS@Lc̢ 2Cں#"}F=#-u.93:PdN'tAH2ݝ  81Rx%1>-s#b %P߳@Ab a*dsRe}i#%$&%$+2b&8iYa hP\'&URd~?tbI!'v`mu9sJ+rXN~Ժ75XnQ'h9:.\8#-i#-)2djթڌ _A}0#[LU!?l!bg^.ޫ B^$zoתmŤec7ݪ;wZ !#- E9XO1|>ϡ![ 8f@k$O3Sަ:ıBtʳ񴫖$3"z@n`XHI!>[a45ff`#-OکݡhLMbd!$#UWkmI#p88%U$ZW5ʗoIf<ӻxk26ࠎRFA1#-HJp(nA=v?i4D4l`DM]XM`㭒-3Q3bl&-|^'d?jO'|jѷޕFYBd[(Šm&O֧$?qO8ıP6mulTs7S|q.Oהk>c)G]`آ<טqJ1w̵\(^ MFH[SF*MSU!ٸsI!BmA0y ;/x.TMzw|YcɠKjyLrNBå`Ca 77Ͳܰ8fB1:>AGj%7LMx0leEi i)Cm;70$7 x".nmBvjc KS}4&)&;syqMT,ʾo򾯶BBA2y>(p1Gr䏑Axl1m,rB)4"j(½=MWXЕKռ(E҂,Ɔ SwCLաd3ڏsB=G@I J(+CD!"%F9'3PC؃Kaxw$qlvjhrBѰ#%G |!#-R:zyw`A5 v{)^-ư.v@"H1#%n2@B"kFOww/2dn,Dgt.D͕-lÈhl_%_ZDX/Q t{d(h`ddzZj{2#$!N8450]L̕_k}o> V-.]j$Њa٤ Rq (FF+WNE6tS` be6ܰRFJ6 lPMht!I-iiTL @.E1ik|MTUeG;sxI#%aa 4z$*ϟOl?!cI|73go/ss#ǒ`4I.wJ$%7؛%ݛ HVѭp[ɴ&<Ǭ6zweG tz]JLhb+ɳ:}6b\ʧ2>]Q{+#-XnPR0(?t2,|K)~'_bz cCDEhQ뮌:^=8HGS"!ixF ?l/U"63=h{"hk `H$ےq(la\$<ےtqa[Xfb9-9*Ƭxj!pExG3bOCԎd#-'@E/!x#%XO='LR4D# 0ׂf `~z*(@ͪꀚz`Z (HSD E}ݏ¾~^V@ P n?#X\0,LsE5P5UAQ:`eic(f\dW $$ $"[BR8$ m jX#%P@= lUr dP H#%)ZTr />fe lP}˥~OǺܪ."8PUS)u]>˄+H# )Uk̫_mo:k)@tlpK8Ʊ[赯ޯݒ6ljl[--Mf-@"*6G#At,?JB\}' G&);1謪=zT~2cdBA-&]X&P*$сH"䁓 h(@gG$ŭR2f2ƊC f>.H#gʒTv𢯱1}wn"# 1C<q2DN@DO'y#%qWu[oHx5C|gnms5'Cx)n}o7=sآv>$eNFpr x#%(4/#i#%J~6C~01XpbI!NRm36I|apY;w ̷ חbIgdF4:sOMSc;! ibPu0g"rqpf#K/N#߁hNrRSgǔƏbm6@rlJ#%/xwqՍ!paH\uf01t,u*1!y ht5zh912&Ρ##%hHT*Y!#LPƒҩk=㞌5#ճLvv A%:ݛKF56,$gBP ݁45NC|z ͫްa_H2&>mF#-AGX\CVYJSA]ok Y8}U!NH'.`2:#YwJѱrгƴv9fhPr5$ ;( AmF\$MnEss|#-#%bkξWtՐ\2+l|>3Ꮷ*aԄGc]lM?fpk z~x.WU^Gճ h%#C~tphupY@!('[akS#-쟆*>4ق 7ɐ@-q!!$id{i\'wi4L֎/D7DM4hlm 1ûh=iSȐLc" Pz|UIЖafRG9P#^16Pxa-}9D2F52#-M mif7&qT1c%CEh%u P81\%@+rƤc8:Dbߡ{sZkĐX(#3 rzMHɰjIdu+0?ey}V6o"#/"ta٠S}#%)7ˆ99J@dS#R\97q#s#-#-* ACD0%%$N9LF-#-r@il@"@R.$F-e4)SѠqͰ<Ё^&0vY؞%֕=YeytA H9Ͻ8o{!tS K';i%lW2cW6ַ5&ۖmW-lkEjE{I~Q*= f51aK&~t4WjReTD9p8DW!&RZF4Y)Mffc" 6h#%63$RMMI1QfDL#YHz>>317aDXuUUK"4tZ9`ؘ6 ҥM-Jo'@2et߁.\aE$pF:9p?Șb%(- ̳3hE;^ C[K9eDkZ#%j&>Lɍ_YAoN2ףƕX좀@4#%y|x"J4KL%L@oONzXh3 UQHh#%gF#Ge9l9'C[uTNq;TdvGsXG)w3hf'x m3zC:=X &쨄t {a ,t,\w'>u! "G! _-ȏOo=PyW>#-rJ57:(Yvr1vIΨѶ8,ܱ &%<Y0)zoeܽYI"JRx7Q4`.P呛9,1!XB6{f%!# §qiG4$I(q5c`>8ոmb5B&{8v{=;ֵپA8 <1&d=LQbZZx5a7i4DIrH74al&0g#%ikaY25a`}jk(l3D>-]UyvS)G_W\8GSy!`vCv-N# ~_:߉XCIj Bosm8ؖq'X⢍hhV;9{`Rv2K( ,R$xbƈr[F#%UgwFbBdH9{}=#srĚ҈{aQI`/^kq">#%x0t!c n3Se68akfa|6+Z’L%6c7gppպmjp$g;k%l}CvMN9ߘ%4H'##-n;E''K^$t颼ѣl#%hr2HbqB㈛,& )~g8hAJKBֱ[|Ai֋BMFS<&+SJYֈ>Zmka;Qݾ)߁cls#-s4s\2$(K)} ?+Y*qi`*) al]>eNFBy|E1GJ0!BńL#,kRl54FJS}26DmܰąRI)7#2" q~v! lKAV c9#ijyZ]ZçBՕo'.x,ZsK03z֌Ό-s7}-tlbP%[.J&ˋZx5YYSz9!댬Z詋d)#-Zu&)#%x#%aDKq <úẗI%z5{NB87ITLm#%fq=O#%piÄ7_LQTιUi#u`Vr0n[#F2s1H"YE0D.afS0e#-*uqD^&t;)V#GXXC(u_]JBuXdRG,M磰M?5L]UecV)}A͑g*i0sM42)2+du !(w cBǒ;MU7ww]KUQB  )UHI#%#nQ7up9>;RzG؇(vWN}lŘt~#-xs9O5~jNW,8 ъ/D3NUZ% 5&뚆®0D; gd rdɑ*]VZiSF NB&c(&$Y9v텙ڋY\,"fy#-8u)DU iA9P\Bf)!z0#%(@ݶpA {#-S `F75?W'm*$6*Y>kQ]t=iEZlcnwI:HOQb<U+v^?_&qpfT2q}M_IdMo8E~إX BZ&[g؛Uho29t#-&]ɓOMJGsWAQkV[JD v#%$M] (Molf;qb[khqܺ1.ivuRN=QN|9=@ظU)Hh)~I(PkU+WmhjiX#B̂d,0k@d7h!|A#%61jKF˵w;nVݱI3:5ZؒjɶlRx!"B(H"C:!kRDxb5eJP=I!i=*A-(? -^c ĩ~>}Mec## ͻmV*OۑB#%cmN"bO~uyh}z4V(Sv $a&Yj-Edcd=8˻#%"0,#%?Ls33i,2r,bq#%u!RY+lSZk@qY W'@w,MhS5@=w4޻*ZuM)T+7m*))bj5½'kWi)BR][֢znݚ4mFmVm[v6iJFleWֱҥ6i0ڤ%Ҽ]R%\o.mIooa|ǎA.%F%Cy뺏8HD#'/-/WiX|:ܔXkr]XN#PmEL8yLVph7&;ˎi lи$Y N&NңS&P:Ct'u3#q> Z8tx?&(ҙNC|~XUHп!!yx-! 928OOMFI Y@ek|iS7ƋV.;!\t@QigalGKх:7(`PmwcfX c\dCjݓWy2ÁPtGgþa Q8`Ao)#-iB@5 ="vE ,.6N+%Q2jMkT!B#q +So MO-!Hhf8:gUQI騙K?\kHa#%Qy1b&jB>_HR93,M 3:4FxI:2II6=۴]4!g[Sm14M# aPBM/'%OռI$I'$ Va$"չݮUru˖t_{O=Yy(gxx5>5A};㸌kP](DTmfkuKET_uAdcHcm]-͘Vj!Qah%#% dR@4C*O@#%1!#-Z!Q\ hŠKl^wQ0(kga*^UZ +VɌ!WO66- [P|21H|HBFvv;n:cMM Rihڊ-SSVjIIH) Bd`3.qѓl#- #Jۻa=~8"{z(x(U[BhBWn1q6#-cM2+KI %Hw4};;ø~s-<{HWEQda'>wccjJ6|?%\Gm S. :'hST9sc)856RD٤91CxlSIief[پwayC8|'ɚ&v ;38M:z)T*~giZ?Dؖ(B`lg-vk&57@ q ^x߱oj %Rja*XZ~.Ț٤ 4FQ4m,~DC~DM.#-V"?RHAJx>qPHiyQգ!+@#%]|52D7 WC*_ksXuj -ӅdFD5ԫv@}b);͏q؝ΑhFдԤX\1#-ŰC}R'GQ*:.5&ubP#mz8@+r~Oax#{1g)@WNjjN#q#ی_}60XC%q!iP(;4}{y#%63xL⏉ay!ċp(ar;%L 5>50D5(CgWosx{m`&*c2oB6j,֓xua,oDspY<8,p- }٠^ǃ3~1ij6[4]뉷ؖLVtU6E|R;q m+M> hpKCK(-MXfJD ,(HRY! ܏KH8.r݉6 *UlEMװ A #g<-7D:BU$'-FqёDgi&핪mEcVZI[8"S?nN;#dKPWpr!7R6Wݳ o9aց0m֢٘Y>f:X} pDށ'd!3Ĭw$>0<`#%$)(" '+v/ɴii#%BN`V4b0/C_-3A,A@6I#xd^ +{(`1~5+]ecc O}0744@O#%KYj(FVA"`Dȿ+=y/lM#%8D$$ 9E{߽8ČxܽdZ%%:$?=ټ>/wUg7HzÙ y:|u2!_נG "&Pn"YZ#%\ !"FOCwI:- >闫1r~ߢ,$]3$6kbBB>dVĘ"g1%t4s~RۻqΩKB%JBPϰahѸ#\vq a2)_? {0dIů %"^=}B]]l%!I"ٿM[K[| dی%ZF ta?XN{o_#-7}`֦4'dtBǕ/%aޟxV=CN;M|0ڂlinR4"Li>-N`Lz*&ڌ/]IH(]ij )MnHhhil`.`}iؑȚSLgٚX}S-;9H?vߖʛSWy% !8in/?]dy#- >dFpշ3L݈P?xE~DT9JEMF6bQXV aYAT|(E8g}`!c9*MK Y4//lv}e as@I\ztP9-&oC2vMqG0̴AsK)<\g/yB^s.X2zx\4^1.DA8_)c~1"ViP4k#-EC B4#u5e1#-^ҭjlF9i~=Y' /ZhX+λ|z#-.]CEZf*L%B,ЦۮLsc#|%nu{k00Aݖ R.s@#DCְr"EK1R2Pݣ6Q#A D,`RaZm , 14GYQkV{n7,[)ރdwؘMobw'yC06ZE1d!LNrZf6OՂld-Fu=^7gco8{:&κУX#M2Vk(7)U#%؇K4h " ,tPE V8$YB\PFV1b#-,5fǽuob#-5,fhm ;9!SɎ<ʦTi6VlFP#%D$ E)KȔ,8>ʽMlץmQmٌj%mLšde$mRFBƬcD,1mcedLؑ|{bB^ozu EZMFdj6/E4#Q2PInnI$RqhS(<֍ukf]%KP|DITS~z1R lhMa`j &هN%޶W" `y5`6(hôj r#Ju >$A|>i裂{io 4@}φ M$6w͖:#h",5^^w`Jҍկ])"yuXEj3rb@.J *jF,"PR Iv#%k`B5(޴u뎝]?Uχ2sӡ/SyA|!P "] TF${'f}3W8ǃBB"UIȲ:~ !0$ }AɃa8=")u~)}5\5+3rYDY=(ԕKzcQ'; C#_S/F LpUEfb |>f ]}:.i¾D;ފuC\;]gӡ@FA&~uJfy"bdn[9n.ճvKE iWIKL%e'il-SZM=B,HHȒ'("}*s&J!N'SQŖ(!;T8i-7v!HC%/X9FFz~*x~6E~Jn6JyǺJ?eIVkf5tTdbN)G7nXRPDF#]dXě~^e?I")h Dk?lО8Tu[lim6,X)PI"R5UaiaO!Gd:DO*܃D@= 9{1lGĤFiFB8ʒQ) {~9ЛDwG=P#s%"%#-jt,mKE`u#%Ə6 g!ڃ@ HI\v7;5;w+bkBq*,Mյ +ޢtEc46l&sM?>s6P$U" K[#)mZ! b2! ``!pWxG#-S-S#%5<7Rj+JlWM$BӼ<%߬"CM7B$Mj5Dd v_ b}*ò 9凵 gK_1X}43]2#-db 辘f!` LmMZ&H*zump6qN%ebדЛk9<❐X2/ l2MO" j("AzQOCTyUlv6oߣbt~ ʰ}/h\@#%¹J\`xR`/=;̆3o tì0fӖSlw*)ru>NcQ ULcn]- e ɣ/ZFcR`Y\G漍u+DR">ĺ'dHFX ZFDɔ81g8]wXL6q558n5sX1d}x{PB3-ֶa4D'fsXRELzl8py^G16$!hL_~?)OG }UKmzsnHc;r5#r9P"`9i%u";ïCѺu2vjaZqV@Ԧg&LDd!͈IW,gI)n %Cʡ xR: )#s,;$Iċ*ҢeЃvG~1a.Xgou6;x䣯SUiL4$F,P 4%DD Ne +/'Gq`pUx#3wE<ㅌ`Tf_L#%ebȈ0pH+9(u e=60Dy/J=Apt@^&CRy|L@(c8qnbő8/4lNg0:=2v>drd#ig2"#% D"\MNE;OQϗD s6t*u \#-y}Vk۹:sQiIsx]}Rc>oYr׼1.B}lfH*CiD`ĝADQE 6B&4u$װT.j5`9&J$f:@9lXn'w~.UI.#%9zk@XA#"A곫G6DEbe8kO$FED#%mKdYM)XI,}%~+Z߯^n)07xĈfQbDi"I,I&ü;~5WѶ$hk?VdYo,D!rD}Ce蹆[/ PKUojtfԦ|jsꮅpIRne"o8Q3]j̠mCø=&I1GY6#Smm zV#-=4ĬbHE 04giNmNDaY;zDtSpd!:d#%lHKd#(B *5sN".Z$ n&$4š%J $"$jIdC`JňeaXFK#h;J1I(1%my]M3y}ɽ^{0gszCmԻǥ0]8/0IlKELDlۇ )g1"J5I&ÍZIBP'Fc ʨJ¡UL,2Ḻ2P֑$6O{k,:rSE*}i VGF#%5l2A4ha8ci6L,"4+HG9<һ뺼/ OfdCMLkcܪXV8Sn0BZ0;27]qk40\Tf6Q1PU5׶pk`;$G#%`1T(MLU#%HA`2FƀjZQ@0l|svXx^.\ irbHcD0B626<ݾ6Z3-4ZR>Ǐ'kk ppv<&wPDZRQ1_oՍGm@S>7t2$) |)Rⵦ8йvnm7xu\T6컱uw]\f$!#–(3!Vǐ`C3y#%]PEs6_YHdjxd6Qm)G:NnF<㋭D="kHYҡ鴺:H ku =Pԇ3yY/aنϲ/Q~^G0XZcD M 4P2Jb80x9xKl⏒ {Ĩb<CSKoM6o7M|#%5^>G!h_`p6P(T $ACU_hJ4vYs`Qb&"4', :˓x2$bj*,H7h:ÁTJ!;{#-Mpby@rdn )b`&RRk6SSٓ0@")ݳqwbJT E?0"EƉ#X)f6cm%-hZ#-~˕BהCtR9^oMr@*0qѬeehl Z+872`84+ !AHN"AHqh_|zڽJ[܌ꉺK^}.v/wEˡ^2A% *)KLpS3M^#-V;#2v{qyv둺EM9Bkֳ,l?&j9C&?T/]PR꿦#-CugoN|\'uR5#-S:4~[l 6i$%EbWm^|{&̝laeh<QHˠH՛ u9de"3:.״W~*'&{ڭZ;pԥMzTBq`VzEK3wD3'~^o=aM#%Q6qw63Ip.Ehv÷C: DX8}m~=yo, !3(8ԩ4յ`5\Zu'GwC :DS#M_eQ{qpB$Iǡi #%R-x؛&T)}ܲ(18xaNJVӓP/gGtPĶO&64b'1h]r89>BaAA6IㆤwLþ'Y.lJ6Gz9C%]AͷNï#ƞ!A#%k9൶Gv_E1Ld׮!~8+Ή䔡8BDˎh)3mmoyw0f̆d}. $Ke ݸ6-3?ndGDeh[.Y^{DNF{,[!46B$uLBҿm3h~sQie~bްM$lb'.T ގR#-4WqӑH#q`òG.!D(x,1뙯@粴bS Q RIxHFFs)#2A`5MXiQ@l=-`86vWGɔIsorG.ٵ¹rhǤ曒H4aGD-(v H*"\#-*/_G#-d2t gtN0~0Hzfnۍu ˜0c)Y#%D$}tIvYJ (h[[]!-{BNÊz8Iҙ8Dbw Z)\ g˹pm63D`᧹c')Ev<˾i#-l9;xZ<}'~r>qrMGgU4^`MJ /dj% Da_l\D:D$v‘%ˏX.?'8wZinwZUtGZZiAS K OєdX+Zܖ֯>|aǯ^w]NFjXz[(&>'lN]ؗiƅf+%RHmW&uL|b y#[O4eΰN!t>;'3893BObu"&_=p8HdQda6-|R@4pSm-NA#%r`@2K2nU=_A @aBqHt!g_6bi=5NA=u7!$dAqO*a4O]rJw\ڮoEkXFʺV!DL@,:߰ #-bF_p|7A-j-Eoy;#%`BU)Y*0&QjoxhۃӎQ8s,7Lp֔_dIXgGiB ¨)t``Hԭ<#{ jsZMAD4lBN5LrN#BŃ[&Ɓ>#- jfK^2 G7@B N!#,gQƲ=*c̄{YXtSV@pI-ͳb±Z1ҧU"75E#njk6F]*"e$PnmM]EB2 a)I[cj4$ET*e|@bjىW8bl1h6% P(˙E- ֎W6I5Qi.6#%Z}4hC4-L׋Q8XMaNCW. A4o\C2HӺB`X$1GYܡ'GZcŷ)b9MDk2`NΥ) "ɨ0+ g&dw]"Cf&4#%"hfIg-6iRo&b`7mݻ@!ӈc9!$ T{䈒'k15)녣"n(Ik{͢p5~ Ne1yQfO9c#-'|`$:Obr֥e4|~_tŎdP5Ad;N9q]axxxt5dlG(`P| ڭ^[M,t-n+~4#-X'bH&Քai06VMVMdJe"FTTX&EoU5'vlꗱ ׮LP=Bl#6#=9G9A|`I٠=` XLXJvd#-#%vYXT2sGH_fl?W[~ JRH$nfdhEY#1dSdiM->X$3~'q |I"8b~`,"1u]71@M̤!$3ꉵ-rkMV ƹeg(l튰4(ڒ$#-4P}}PJuJi#-բ\#-;p$##%(Zȧc8F"UK1EL4rXx:ۡȩGc!ǪEUb!~`p/Zрݒl:wySGS{#9 M҂ft_u\Z[$\$y5`za/ {=wWNr&-g#-TirCR75v~u\kXwHp2c<!loYF {޲Su!X} 6N9Uw˒-7ݐCq7&Bbfvy'y|OvtsN!JE4, 󰆕HtOy@ujnm&<>mCWM#%<0na.Phm38Bnm8~LNlC& S#&B2 #鿁 3,׾]kx|qi aWb|܅#5\dB ⧳,llvHpx<{1Fn*4zLT<9U5dT#½J f:A #:qf=1i;\z\}$gSTGl*B}Ooa]A!08Q!'iN';j8"d4P4HJM3Ԟg$p^:j6d[J'#E@xw06Z&BdtZm)$&Iea<5a)ws>ǃAª RilĒ`1i-K ɐZ=z֗5YJȓ5R P F_$o,i#W%JX-Elr2&#g3k`jCЄ6Xm_9n,9D)\Br.eΡhr85 d$s@#%qqBvG5]XťS*UkFAB%DlE- H@PEx8ғi09˒7VZLBa0Y 468hSR0Ta r@NA10Ю/f#JUyft #jiu6m<Ѱ$J, U:d!k QKQ0\\1#%wn+tB8'ol'vk-@~Ee$V5w#(82ja#-FbR;Rl>&˙/bHM.v;,^˕k-=m$$ab#-\H BfHsohx($HM4YMJɌ" LUt=f\&#%ͧ4z١.mI%-$/@sȬW$H#%I=9çP{iHUyd'$|OUY HzZRdQ{tJi׵k`MI@MFqU⊷K9^f+4pnQV#Ё?M}teA0*e^VBYA^+FDtÀ|Vn9 CcT)fОoSTEtyZwm<%B H˿Vޗhҡ).$7<".H:QT8 |14aG |M&nGq T,|`ȠH^Z@ $I18#"$Aͮ6_bc)ѱkVj2m_k6!Y__pb%.$ 0 I$B0D! 1㿯5M¡h"D*M$ "Ār],z{i(DJmKMj,R#_タ7׮Sf?A\8 l-z"[R~e_#-@ũg-SE#-OrPmvL+$iԺZw-Uct.A<}\NCӓx jA4 B@Z*i@e/P\Lx`H}=?ڨQBAUMKs+4SL ˶tFlXh@ob$m.gIFI<V@6B;+Pm3p`Esa#%"T#>}#%b&TWMZzӑ$8̌RɪDcD5-bppcW; A1SP^kE7#%<`;úY Gn1/ 2ǫ42Z)$TQМ^ oVU}#%Ơ0h~_zNt:X?RwqQ\wsG:385z=j{lhu#dߎ,=7GSObGPOy9&v:B`i1yѧK^>c9\(H"1'w:[#-e£$a2Ýie"Ur`&O-)E+R.+i@JH/|@j"hCNQ,iWi x08秿 RR&ϲm־IjԒVTZB4ިWJ8?vyJqʿ6jy닧'[tNn0;*fC#o!.Q31s\{DyƶEkVq@S KpITB7[@HB)/.! R PBlW~@"H;cK'Vw2쎻0hNwXѶ+6SVtqڬU## !! pT9XD+@H\T>^X+ ?_ 9g$y`iah}01=??].&_eT#%QK^ҫ0߷SībcTdyM;=4/;Ot#%IzcLQ4plz_ _4;eW'9)ُ=nff?rE8P먯 #<==