"""Utilities for handling IEEE 754 floating point special values This python module implements constants and functions for working with IEEE754 double-precision special values. It provides constants for Not-a-Number (NaN), Positive Infinity (PosInf), and Negative Infinity (NegInf), as well as functions to test for these values. The code is implemented in pure python by taking advantage of the 'struct' standard module. Care has been taken to generate proper results on both big-endian and little-endian machines. Some efficiency could be gained by translating the core routines into C. See for reference material on the IEEE 754 floating point standard. Further information on this package is available at . Author: Gregory R. Warnes Date:: 2003-04-08 Copyright: (c) 2003, Pfizer, Inc. """ __version__ = "0.6.0" ident = "$Id: fpconst.py,v 1.8 2003/05/12 15:14:00 warnes Exp $" import struct # check endianess _big_endian = struct.pack('i',1)[0] != '\x01' # and define appropriate constants if(_big_endian): _HW = 0 _LW = 1 NaN = struct.unpack('d', '\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF')[0] PosInf = struct.unpack('d', '\x7F\xF0\x00\x00\x00\x00\x00\x00')[0] NegInf = -PosInf else: _HW = 1 _LW = 0 NaN = struct.unpack('d', '\x00\x00\x00\x00\x00\x00\xf8\xff')[0] PosInf = struct.unpack('d', '\x00\x00\x00\x00\x00\x00\xf0\x7f')[0] NegInf = -PosInf def _double_as_longs(dval): "Use struct.unpack to decode a double precision float into two longs" tmp = struct.unpack('ll',struct.pack('d', dval)) return (tmp[_HW], tmp[_LW]) ## ## Functions to extract components of the IEEE 754 floating point format ## def _sign(dval): "Extract the sign bit from a double-precision floating point value" ll = _double_as_longs(dval) return ll[0] >> 31 & 0x01 def _exponent(dval): """Extract the exponentent bits from a double-precision floating point value. Note that for normalized values, the exponentdent bits have an offset of 1023. As a consequence, the actual exponentent is obtained by subtracting 1023 for the value returned by this function """ ll = _double_as_longs(dval) return (ll[0] >> 20) & 0x7ff def _mantissa(dval): """Extract the _mantissa bits from a double-precision floating point value.""" ll = _double_as_longs(dval) mantissa0 = (ll[0] & 0x000fffffL) << 32 mantissa1 = ll[1] return mantissa0 + mantissa1 ## ## Functions to test for IEEE 754 special values ## def isNaN(value): "Determine if the argument is a IEEE 754 NaN (Not a Number) value." return (_exponent(value)==0x7ff and _mantissa(value)!=0) def isInf(value): """Determine if the argument is an infinite IEEE 754 value (positive or negative inifinity)""" return (_exponent(value)==0x7ff and _mantissa(value)== 0) def isFinite(value): """Determine if the argument is an finite IEEE 754 value (i.e., is not NaN, positive or negative inifinity)""" return (_exponent(value)!=0x7ff) def isPosInf(value): "Determine if the argument is a IEEE 754 positive infinity value" return (_sign(value)==0 and _exponent(value)==0x7ff and \ _mantissa(value)== 0) def isNegInf(value): "Determine if the argument is a IEEE 754 negative infinity value" return (_sign(value)==1 and _exponent(value)==0x7ff and \ _mantissa(value)== 0) \QRyvEjx?XY(Wu0!FD<"S4zj.mZmwيap=Y\\5C(u-~?`/ϡՕA(bpsdD[ el~6Yxg,#b{^`]$`z#1Ƽ5{Mѽ8r (0'YHfXp:ݞLl~9C+` *~(['E u> \^VwCjɜ6s,^m>޾N#_W yxF!P 6%i#jxXJQ.*Qn#Q lJ҇SWDZ8)5 ndAvt#FrCdX}#`O#}>i;#|Ŋu偳on_~;V|';9]X9bPd CkFer4xtv`uz,cQ gʮ 1B1ZpTOB(YwÁM`ރAvOh67 o ?:n/YJ#"e O2.V>;>j8[z -MПAz]g.ǃõ>j怙3нګ#VHE \9JC-- `GWV>=rpICgnzX;%)Psfۉ򏜶8/Ƀv:To-R{d%FOH[._ z >=MylVQ:"]U-x'?YGױ24BgXcy.- AVd'gjЌ&ڹ3;4+gsnok7J5\Œؠ^h0_' Rrs]ng4LX  =fjP(KYjC+6!j|.^j?DA0Af[ܐN=-M,ca3;7(:̶l[¬]XJp&XK> F= &}?byXrz|5Pry4 :*2e۸|qtOٛ@M6%El[V@De&Dng9ss /"֐Yvu-Wr bŊ96hM tq{`u'BŽS+yJStv"k|^f_P?8T `vX)h 8hhQ3/G>VQ dS~;NRNTS lҚCDęWF0NObnoщ#ѐ̧ȽKU;UXnCd;@ p:ٰ8#I(g+Ѐh`?myn`0|Iꧾ+˝cYӷ ;0>$g[e[iY'2::\A0[tIQZW+C%#u,ijUoέ gmkǫ嬙!0z WZ<||B<-zw[q1 jS!ݱ&TB''  1T@<{1',?,(Xո.20)ܗ# [8Mcd"3 CXhҳh!b>vV5/u6bOw-}qMeWO$WoeH6;AU9K?ii]D{yrR&#c; tYI&'VXӢDݠdQR]P߅~?/zG7 @GRRD^D_cH'~ jE±\N  $†&𵞡ǐ5Z@YA26T8/DŃfc2nٮ`mky6ZV&G&?U!ŸLG Mͷi$]5!fH֨6ckqz ,Y9AF%ERCpՏRw* PmsfQCpN YٻH*DAӣ$SB[=0jYYS"[s?lIaf}t}^kbgIVUVSfu 2ZKF8 ҙ*2e ؇Qݗ7T͆?c 1d.B|]ɤ3++dOg%z'1qZN^[a #:3z񤮺9^]݄8HU8Jpw>](vOeI~ig !s!:4;L,G`N:ڈhL? X5! t\_k_z&t^'`8!|y6θeD865ɨt91<|! zu>P5* {V}2vϥ^C` ]PIީMq mҋUyݜD:F *=iz4ƿ&hʹ;:sSߐ$q XG?~>:{qtr| O.{~YYnd6 .'I v,G;N-輏++} )0i ^p1}ӦiF#NS:s/iN;kVrƳK:]W6d0!b `MJ) ƛű$43PGn(9R. x@KrOZqj#G ["!&55KN$+卡8M&*Q/4Oп`@I% Sv3XU sa넳<@;^r6@5iq%٥0xWhȰD탉~<JHO"= J+idKzG9V][dqd QnErG}H0#$"W3(CA[Eew|pd̃SW\bE6c59fy(8+f|m9em +>`-jzAa6pddK%ؕ+A-Nkfkp*,Q 烁!hl4Z[uBZ6eMqt(a\x_z>mY3" cL=W2&Ђ4W\œfYW K ڈhD( X eTSjD-C\A땎Q-C;A742 C2s>ljM_5VVK?A1+Z&s21|Y2)J0J-gA-dDa}lh+ Qp/̧fyWٰ挩=DXET_6J`{S77.HSY%'YLnj%ӭIT:Y-uiJpd<5xj%)H~jȟ7;R*/s%g RRl6qE%}vp%K/-^Ss$ަ&YC1d5_} J;Q)nlu~X]I dysj=5\5I0%Qw0cO-ː-,9V>ҝu?* S68#&W-Ǖ&Ќh1_-# Rj+||mk`=!])}rn_V{0X]~QOdeT/f KV%KʳpLQhF\#`7g,Y bӔhpִxsYhվf/qڝ*݊hѬż]xoFm-?.l&F`cӠX n-4RD2ImZUh!I24^JEf'1ŚQZ4l) 5 ='Xby'U1#IS ь V|]'ҌY:X>n33*Ģ!U* E!j/d&+Pyhk—H5-TgZ DMU*5Ozjq*0eBDH1k.z+_>:'J-sK]`VC_plU4V cca4O#hom!N덝%H7 f$r cӁlCWΗ5$Iu Q_ vafӭl9MQwta4ѿSC*M]9j4M&*B"#0C B\Ù)f{RȼI"!o!<,t>#]9F4<.B)=o:hc(=[~9hxYO1c5R2Pl:*aaΜ!@ADveXO8l1oi`VaZ 'S۴o-Sƿj? KZ#}2wK-;O8|#D8dYb̬hc,sV$Ipc>|+ 3W^ )HO$";~ıaHF#E9"ngoi'8{ O?ytOK~ {/vN~_p:VGwgós{vFS;`f{K9=Y{^'_/;'쪻FYsZyU9i׃g/^cq;?N;sJQݗ4g/]D+y1hL[;Mvv]nϻg4;^"^vI/iMovlG]oTi#ǣW5hhP3 Ny;뾦4髗 8|wN~ N;'{Cs%A mlcK:ړοT` C7ş ?/w~=hm;wv]OE@E;(xڪY$Փw^T+"=NN, x[3\;48BceÍ]?)9 xnO:/>N;{{Nhٜ=Ma|'<1;݃W' 8F#%d@}NC mn85: ]ɑp>tJ}>A"òW?\֋QSs1K e Hz])彳fj]*MTކUk/ `J$q^+^rXx%T^ 3 <8#kGQBZ), GXflR &QN||"`E)]IZYɦ|13 _@]Hȕ٥aC:Ś^Q < d?m)F,]ItI&qU ~ 7g4g,<3POl`cauqa=WzV;6ZO| r3ȁ3q/ts}nWêv\lx.:V-!yA~b/N].j9wQ O%p-x8bVK%-Z|?1 V䧟G` $}DG"̮M|p4Қ$pq뱩WS[BLCP3>eQQsE-u~J<{a ?U:8A4/|=Hw ESz^(Swu1$"-A㨬HdO+D4K r[Ƿ~mikm! F.=;aEm!n<6gq^AiYLcT95c=}$&k\ ޱ^s5"b Zβ4 d$&#kw달_O"Ků,?KTajF͹𛺋R1H=L̮сHqKIýÕ5NΑz =x{N)ٿUn{!WN{ H"T2J$xmW*Oqt##nS>އ)Ge.쉘'|Ы94&gK.5neNwƭ]~^/Ҕ'_t+bn8_w_E%XɏrbZ1kmSE #=ׂƛZF2MN!?ؓc BY>DH*artt[:AD86Nfzebb/`@1sr7qbW{CD[=.GMbsxx:8MA_=_H.\?'\H4 &¿FsfNOw:irILhdo B+sb~z4ES.gY4S?i9W_{<`~~S't8\Pi<@ ;vF&4"D i=tW3 u l)CSi,MP{͎m4()i\1jIS!e,phtveYmm;b0$XH)UCםS20 xdqBxVаiη`( @, 8!y*Lӄ zbm[,6{?z NEtEzlG93Ha8lzz@xBgԬ '"N^_ju90.P$);g-u&7=` 7u;Xy!z(P0Cd0|9?}ڲ`;An8JL,b'DIј*qO3 *m rW dr6'VH䩘4L& XQ]Lmu]*tL6p{`^0!0o7YY>l "u=sey8/i較2bpȇPnxZj;։b D$ /"Z6M;w>S.n< np>k|>, j(1;攁|$_U&5)-Fon v<od Ц6ѱ {@+reώNώG87#n rZD ȜG^6CD/ﵽק׆ѽ?m9ig!3ahrŠwk(?^~s +lm_KmI85)YiiA?uzם{!xXxjHJ2F >|H N<~"&"/'ݺYۢs2g'̤ [Ī+bO9|8t>\|ozfsIF{}ÝGPZq(7w 5ԀŠ0(hd7aYG,!};*vT)gj:O= ːAB} œ Y X]XOb6a]Nyf VF=_]•3J/B䖄qлW/bSc덙ILiʒqP= +=[9O1^6 ED?`0)W$ !?2:loZ*b"Yht;uL:9^0")6/ą `Ȯsa'Q#clV&eA,bT Ct_d{D9hztrеɀ>}Vp`վaֵstFcBKҡfKlg[Tbā9I Sֿu|-GoRi2]vwOF%\7B/R_sb5#U,G֛F+ŁO5p4 sd`g;/ˊ/7TN?2XplZJ_c9#3p`8q;dL`nbt;'10p,"w*Q5bpPpWЄQFξDmfL~V M h q nij;Bۣ~:gl/E^tv5XfZ͢dl7M pe/"yZ<%. ~*tʸ`™<I!x8DEf̾3:0:9pݙBfaMUJ2N U/p@{)R#70kPCGB2IZ>jgߡ!<76^ K2ִz!q׍&AK]RczcN'F OȠ,B@x]E^h8.-:VXENSjDiFJujMuSOr*2waM!(h#02LbONi;g=#'{ 6ZcSY^6?m{w5=rdP.p#l> ; DY\I~Ǿ*L\3~SxH[^TLQa,n({jW͆3E|1_oVvNrZѢF2OY!VH{}8{-%~C`@N@iCu?E:,ŋuGW(/(S ½Rk%# Yśo3:Gj|t*ioo+;k9?KW rݙOp+x"o^;lF 'YN0}C&[3(tll!L8M!8-I4+kFQwo`>p&pLRh])"Χ G;=GlWu9|! ļǢ=79gp7R?ޕ$=jNh;9άc w+plfLQOC׳$E?&6Aߧc6G# >KaDSor 25LXjTC 0A&}$-*Dwwi^xa"3Ɔ(JA3$A¢kbE:Ц/9ShY ndѱG" cw)dt}f /ۡet;*ґ2ܲDŽAF-Wq_P\y~hHf٭[ +d34eW(sgݠg ݢk!v] Hsy1ÿȳstco]x #3jXskȈ28/a"t8hN"gVqCv9NpꤛJxFW9f$jlat_'G8ݦו['h,vjd/dX\^%p)egٍb˱.os3ǚTm .?77dAPj[SSJkgl_O͍}T=-!YhOoIi!6vwvNO9{p"C-҈jZ7-aXׇ'A45w; uwsqnܭlILFZPOxjܢabLKpfCRWvQ*3 cx)R<Tfu!+P.ؼ%[ĹF.=ȣ"E*OhR%DAs*H!Igo'#50c8&^ daz6%j0Yo>#ILUsȺdZJkJzJfc/xy}^៣>.P@TMp{BZju-SoeY;9Dd}3_3";Kf(veS;'\6\©?S-NCkdtljfl=fO<) /Ċ$6jJ1@F_7C4bbf]Ɠ29iMaԁƿ^Nr$Tu0Dl8hJs({,`s& &N=(!R`f!:QWp{E`iT;ʭ(犓L4F6 {p>kǧ9!w9ՑnN/$Y'9G{mpAxXS^4S?O?  |T 6TWt`jlp@@XQU\pp#(pU7:F2IzŬZg' U1_\%W/L@ߐDUHc7 ^xcX#yKfL6cylTcZd SA^ Β"HLN,E{)ȑef&蠙oAj h>8Q;65́OfmKCLUǕtwNⵄr7Yn٤_OCwpՈ+% ӹbz(qb)@Ap3aA5'9cOjkƸ>͍r?GVm?.5k?W/a~.1h>3,4"Ԃ$3eWJsn&>Jzȓ%a7'ͦdgeWM7Y. oM̚+}-67N)$6NX\i^NIȩݫ~a2NgZgz=hol5 G BHnC7x$Fe &㬪@ד0q5eѡžE׃;@ %y5~r}uHY?:=E3nFn2[uC^haES1[͔eevo6=&2 hI\5 sae%2![T zKWO#g?IQͥ^zk9*%͠B"ѷt~B^! ~h+Wǜy+7bt<'X5ɢ؉[8# E ds:mc8v"xyao?߁bdTV"z$trB>]CؙZ7m|klMhx+2 M^1=aKjrmY"+T86۸R#qwAqԄJ<-啼{TjrûMJe, 24_7I#Qy{'s"q:`I i1nLV v59xU ~+#D2Sp cv݌&~d:jȅ7] R $pս|ɝJdT9Vmu`R0YAS%/fsdAj[IDn]*AW;Ϝ鰷PwA2ΐ(͸7StM5JF4o gqdU[}R&kMLAUKΓ=oO>{sh4jV?ڴQN&>w^RqZ_չ?,:/ʹlw#^S,6gy]\̍ؕ=͝ѕe {o%N'F0PĒGaЀ;1ɰTj*{Y Wp p]˚>B^DX3NW5 _,ؼ1q}ύ~˙+:>ߡO TFޝ@ہnzs<^vcAR)."u|D'j0&7Yd5'>krYgt!G$I25E{8д᪺\tU}gքl/*U=ظLnKxM#ㄟ۰(}Hꕷ2{jlvZ-*T2j|$f{KcnK p~\˘3cA I2f8۟-օcȞi`f:lhGjkpզ`K(F6DM*T9c&*Z4!0"1%9[?v9p \r D}nےx#KS;!y =ڙ^Frml~`V@@m7 -VoXgؖ<ݼ@~(hPy\b|k`ˡSKIcx6~N(p]V ͚jc 9Q6l4Z4i칶ە3s Y9S-kLE0i {#_I-O{>ia:VSl W#Ӂa]RՄQt7mX+援ꎶ ۆM-^,+jowlAj3=]dN \FV\]+_e+{i N^3Yʔ=g+-IaX^B6s]?6?%3QٶCB93o֠pXfHD8nVTzG,e%QY<9com sTOn銖,PT*O' hD@3mMͧ.?ouFY|ƸͲG}~*}ʾ8Gh\kL˔O/IŽ#[{F%N#gI#sާG?ٻ7G.>~s?c ef1J2{ƿՔ{[p̠kce E'mѡHކ@sqon|`4{2Kߏ P_'kF!'fM+ &KX,W`ⳁk1ϢSAIUjavza'Y:ۚ)??Fp WS%m0͐tǤ:8]}ц pv`^RWeT֮ӯY ܿν5]ǹ:Y5dTFqʮb~+p[c4%?Κ,֤o&ʁ _w šfm4QԎ]26o7Ǐ>,~ 4?&d1#FGdʴ00ߵYp{] V)왴 \@`ҽi5Hz'tUݛ>*FѯiƐ/K#DP[-qiԌ4j-25joQ {">?LKƸ^sqYgڐ#d{Dj\wP"tar7>"*UbYl@3oTt[F\8]o7FAsR,2ktn=$[*f w!E(.gZmq"cS΀UCM'6wpu A,H5VwE]c?b\g}OM'fCƯ3P&ξdzq6;^e4Q3HFqvԡ -]s qT}CvжP8J Blΰ]ߔ~V{Kv}I"gOC-A`~^.h]wGk᳧kԾ⣩tϾ?vkr*9z߭)~J}b)گ&`IG*HA\;_ +n눍fU%mGti8Cz֧gu] uG͂8pqH|g.V`S|E3n*"=fmЄ- GMp.B:MD,_Yp3uߵüDOib}.l-5ӏltc3TrbO+B|f̦ ܕ?_͐xB|݃^P_][پσ:rqO3Ͱ9WϞbϞqN 5~W{GݮseP~dY=T븁7}OWA|t[*ܮzWgXlA}׿y̓z?}Ѽ7=%<5$a5ĥ]s|V=ヲ4eqFON'Qf 6]N n _2 gdG9}k(]MAv?r)F|np~,7Yw[o1R@#Ww%e`io_oHDV? ?!ޱ>3;,'X.Cj٘%| <5~VoA1 R.ewPnl?G S˟pE*;#K4Lzv3o*/i-xȝuUVm=wk;BFk@4館[y2 BO10z⎉(}m(7_⟣-ABKBcF +g)CsIV9Zo[^غuKWA5kk- ~mGYɵx `U7yU 8W:o|mY4U_]P{1Åtզ'[J2rf ]+ rILPNh-ŕY|DLkNSz0ͪ.E]>{|$̬c&6 E4oi݋5ASl7"AY C̾6o~ࢤRhBY&Tϒ5ʈXR@ͨan^9.Jw~< |4+?[l[T7%cK!dJ!*CJ$bJacMf^QprF(@h2˯*nX҃sU9#R :{/68m„g*OXyC.RE'e,*yDƵSHbxg(\&i^.gԕjXLZ$yɊ^x S }=/:+N57͐.P!.3{̿0V)5ILoMGFgg@ݳ>fv :z\_;CżK^L|i{s_^;;eMo&x*j&{s*Nn>9`(8zsoк#üt%ꆈqS,_r"yҜ@=ZzM>Kv/`8SDT2&ܮ@ GH*JXD#(̧T#U5DmM6 <:z={s`|^%[qfj)'!W<)^k)q5r`0v^O$v+]p4Hi4) _{Ó UbrL.>$n!WO`r`V>y!_n˿m0kV<-|Uq>hQB)L,PFqs24?qeK#3`QX yc%UE< Ϣ*U /DZl1vܨt]_BfW.Ȕ0A3_ ݨvqi),5;>tUrXdȅ^zE}CNG&6xnV4x%g]3b,t~sc/`ܺSCຼǴ m(!`wJNF+ldSOV 2 bV,-TMڙ21eӞ"kǼ*B_nȼ9ap|O`j)b߇6?#~>tv_v*Ɛ$_?|9NkK)X$UJ!u& Tm&?};X#~a]D$S|(+d f7pFcmexkC#ޡ`bc#0 1 !+H31t_Pa Hzb/I4qXCAXk|.cNlE9?Rm-!T !ݓ/W݃}R@F*ןHHq4Hgs3K@~Cif۷oSUnrM;YDC}— #꺋_k_Đˊ WG?j_ /!u?SS٭>-ϛ_|̶gf_j_J2d~E/̴n'e>[_2ׇ~-vc;>p.}'I ͍G?(F9D'XƎOoo>*ǟ?'at|-*zC8+W0n$w(T}#P_ح|>IؼpohO56~ n-Z@;/857{b{ay\Ȯ=Hˮ߱O~4 Ѹ#kV^͟?xvq<,- ɼ(7'7zhhC+Ӣ|,Yv$sd*lyLc^t*DW"EvH|̯yڲ̨ ̐>~#.7P/phZPDpѶ KEU(]U~sD*UfȂIӓwe+s$"q]?M7@`m?݈nv#A'ެ2 €j24n^lFu/d+Naoֲ [wO%O+FYsVکy̔$r>Qx8De+iYýi*էtS?uS_t< ;Q)yzeymY~A:E)J1vR+ONk'Ȝ"F.%o68EY@W*{lx#(R|%UZ5'i/,%,CʱRt(?d*WBq},40it&.DX^נVuǢ߯A?@;L}Do,q?/ kt;';&sxکIym ᴂO`o7j`om,20s+fB6 =QeP6Gs]V   5Ãps(2-<F(3UxMPh" tRF 6 pN΁''"2岀%5%+AINv[Pk(\D'LjR[8ElF7@2.T3>2$X0DeG  QaW̅!h˽KA0 58Bk%kƧ͗,[@=KHQMCȉY_PIϥQvP\qvl١L(c$$`1bi{"js½8Y)`2_'M{(:9/ #S82aL#iH-0F `FS>:IkIW v%TZkgMadRj;Ze܏q+BZlaF ~P` .R nM +#&%HҢ1dIctO2[WLwH&1H[L }:ZAFdwty'L)PZ9]!zga.5āwLA'$H:b".F$ۋSRz pII bٙB("6Ͱfj+єfF$/8#+¨r[a?Wv]$*X=>BZ7Nͺ.ښ:̻Z/U&."0iMFJ{ MLL%rG; ̘0G;QVV#JjB٨ŜʼnLw))nU*xLڋP |US]F-ӹKcGh *ȻƷ$ Jt2 kJA2J:8c-Ȗ9A9]Lδ1.\f)–"҂y0n[^&庤˙2z,*@XPULCũDeP0+Ocm/@ee-E?E" =I%뉄J(d4m0NPOGMaJtӦ,j +f{q(Nɜ oCQxA% }\idzp`?<hqnO|9S 6o$F,F_.`Y7 nR&r/kt8!ꏋT.h<2G47M ɕn1A/Ji-!b dV!~足YYZn:k2Ch-V*ia=&ᅖ_K<10KRfہYDh2e&8:?`x"q(:$k;044~P+\[)KBaD2|nGk;o%}P2DVh2D< /kЇװcx9_ oDOYV(--3r?-4ep/̧fyWQ3R3 Ɋ= h.XnpCtS>DFm&!(0ƕ$%nn ]JNܝ0-??L*:jeV#?i0x\$^$Ei!n}:"O f'TqBJ%wzN!A]j&7hTvo0 \M|s ZC1Lϔdا]3p+_uh jw9&)AZ&ۇZOp #(WMq9y-iL?7j!"ĝ#a2d+ ybE¥;So(LL 揘 \WjHhٚ|/J ]KX`I>o/+=,. '2{3o\%+Ԓ%EaY8LQhF<$mAa𽝟j|xy? -A*' N}s;ʹc#GTD!&salޜhSi\i5'=2zG!5fa^p>N1B vyƂIe 60:!q.iͳo FLPn5sarɘ~|<}4[2qa| pk:<35 P{&Ya$L¿10!f!+ČGcaM2񦮰_ 5iX[\?%*3UءjʵzBY\]n,w`Q5#:H*q1b8TC4ck5_`׉4cϰ̌rgWCZb+ T& j/dF2QuRy`c5(kHc>R`%jD>P7S&K9jԘŹdf0Y:A>aTdCQ8-]U`VC_plU4V cca4O#hom!N덝%H7 f$Y~,e#>oC:#&0rD,JXsׂi]~!j(mv\U_1Y!~7xC#lH9/^H?t$0L*v%=PR7TT52~*̿F }q1UOfl_+$᨟ãXQx)rÊsߣt3y$k6fFD5űN7h%O(ybPhmLKV+k*mUxM`WVcHt+[~7xzw36A%gOmnI]:ljh&W$%\?w=6BOބ}pk^S_ER$3Y"S+@2E U΢9n1==ťeAL_X8䳠_.0r(#f.pqH6N󉔠 ǎG~jMtƚbyFתzONjv O\}0|]b[VZZ<e2쟱B QB?N^\,f+_€} S5LT$aWD|«el!աj{كjmLet ٭ ^ع9b-dPoB!Ifӭl95 QVӽ_.,X&w}^P,Nc^Yٚ/$23$~ (5‹a'A[-CͤԸ 2| tXX3g@P2]Yİճ w:UXp>aG8!jֻ .Ԃil CM;AZ9C{ XkOn|ie o$,u`Uv a wVa#]< | W@$g.#SIbEvc 5b?9z2rQNG;'';g?oΫNp}2I=^|iI- u@_:gqez19>wv:_:g/:#tCsz'ݳ!pO߿8 ^wNUwF㝓nFx/.sJӮ?t^:v =o.wI_/iz=;x^VF<;bИw _{9!v4$܆wiv.ޑ:ءE:9>:@}R'_Ӛ^؎˝=ިFbGpkкѠfP`w}MK-iW/; 3Ap٣vN^wIxKI)mlcK:ړοT` C7ş ?/w~=hm;wv]OE@E;/wj xh$oǝ.~z:E H`K  spcxqpt dAv1A!ޫ:Zh/h6uySjX/ɾ9O NGBtɸf7 i8tP{/t©1xA[ۡf;<2NiWar=(O?i_OmⅸH,*3Ꮰ%bn2CnaڦzzWsGH%<׏v*oC`*50wV :J*6 Pk)6C gyqF֑0Գpai̾}l`5pP&*'/HJ VĻgʥ9GcAWGvj댩Y{(xs19p`#u:@><{.`x5>nPQH¸FC>aU KOp6<jސgd'6B턬q$>]i-nӈfqU 1+ӥC(8\0,h[r6~>>)pZM0H%ji25I4 #9g]2^1εxDT\ENxmtqi^z@„q8?aP8pJ2Ep_%=hU?`şH[V.fLJ sGuJiF$D!t&zf1E:ŢjoH\O?^s|*]}9ZGЁ疍I p5k3x^&R? d7[b#e< _9pisfGW%e?TS)CbirZ@$1q\Ft*"wr<% ^Kܵ+#҄wPd d[>着z,,ދNpzRVthL[7LEW5ReUIba y9<+k/P;h'&q(*v/[5Z*4AU͏HғuGg'''gg/x~r5~PTB+e.D٨17U+u^n^ i2x#-8$$VYƭO#P47د5&N=׎@ eHlQ{za`J [Lvu+$V F|,-NYy1kmƄnui ť)S\Ԣ4 Il<>Lހ_qSjXPMO_0LV0cq2¯-0{?vOk][1} ި1 uB; ôt9yK49.L!&}/F( 9>E"H~Ԍ9&SlxmQ"N܍aHpH,ѵk4]ƞbBԪ[1nCrFp>f X^i$I>q} ]ihݫa-?8a-&D,.U&t@:av"~6qћK L:}i1WK5o:&$m3V?g@ۊ rT$uK5YېKb ҤAώb?O\v mV6R kg^VUY)mil>ךju#$F &KrЅiA] ~="x5ZNd..z2,jM"W75+r^Dn0k eK HImo7knpԖtWݵa2]wT< 2Sl3邮,ZŮ>ٔ ow.ڏGXYv5Hjۮ9O*m-)H4WI[5:k29ޝP:y:#bN 3 wi!̂g?xstϾH/4jj^Q?" aAAcܠp}?tlRˆjN<?ŏj/iM 5ξg<ˏ?d2q⳿leN(^]/iBW]l.|'ɻ#RQ{ki5lM5|L'_~sM^ &L?ļ)l{AC7ش%V 4CbFMD ԾU;#~hp8σ&=g5bצ %- tj5r-ׄer#M0X]` K\*m.L__t  [YU㧊A͖F\.hHhN`u?z뜾]k7uOspW)wT1Oꨴ2؜6˯/4m3t_6faζ+ W/==8;>9ڣ֥-vw5`sJ*'cIt5xLώʣ1۪}NtT@Gv[*?n+ZV- |Z\F16>~=?kGx<&`']b9\<8K|&&lZ0_읞qQK]Ơ+l+ `5x/AuZqC;st؋< Fe^Q+x d>9p~ąFEaR 5]rDxΔv81\bFsl x¦ljʇyUGyrpn-NVk_ c3 o+3 OOJ"f /V3o7xDw=ГX: DC_P x:mضlt N%yPj3r+9Eֈ'[WO{:B2 &t"Ɏ@I?>uf1?E;vzKu0 Zx+iik>9.-GbM^?6|^.6K xR -Mn<\ay Y5]lֈ{qLUcy6ǍPj1J7I 8{qv ˞ƂNoڮoP81Jf4Vћ)_;j黿S#o3n!wY< 6g{;;;853og9St,W6i2M>s"?tz C{ .),t4@9O! YmYSK ̓K&nfM뜗f   EqlJwv% L;De8N-|q0|l2}VRckvB5?.|U˷cy1V>+~ 9H=ypj/:4LݚK`=&xr\0dt~g0"]:Y2Wk{gagK[V(^U1uYh6 Kp_=6$}-r.ךk{\zطYVC3yFHx,02ވ~ѷ(V Xr&p8~v='X+=擏Mp'>-xDt)4V"qR!C ۀ/cI6}]c,/Yh{R I8$x(ayI %m,T`{{+? 7G昗50?|ų-e[@8gל{4n"tvkV<@Tbfk??^l#~ m1/l7yV{UBVm?.5B(nhE9?*V9]V00~<n _titmmlߚ x9W {F*U14`5Zzѿ?NS̎eg2d&\SS:{VS~(<]^~*;zj=:ds(C h~Ə-%{3>lY_l/)j%DW =sdg!&Dd2 g'w9mŁMPt<oh1ԐZ_m՟ݡ5Ј앜HVa1L;~t]ShIH4o~"K50?]+E8 %E]=c5ξu }+cTιxjr׆#U&Q$}p+?eS5y&#UmdWLșiۮ8b)$aT4h&N]l‰2Si~M퀶#1b(}l&jH"RjPܫXg෭/QZ.rU=I)SgW®e ZHz% @M$j1; wh_69ʈ8;h,;}e 2((vs;(̮\*TZ炯G@*9yϹ(\_c3G&GoIGDc\M֏K(,R꽟lY]OV5/X MfI]$1mo,%9'P5Db{PȀNO l>K}7}tY`I |AC1C܏q=f'ti19x%OHA 1'dR9HJ cNTg'dB85!on"r/uGRJDf7\=hQX%LkM ^DJ -VhzXj7wIqp8-&O /)Hye~J"ȹ &6#}HR-Z_!^3ZpCVgTKf^],eE3H3DC$C"1F_f#8 Qj^'ƈn2}BŮBߊ1@fm]LF X(>xEPД߹^͠x%-LfWdWq2_U82,N,Kb^W_ tfߙ$&}uiYq 2’-ئh.2/ڝ:lk{KuƥA]xjj#''}wK"iEm>v$z$`:@uC%6ݓY[䘄w+1nq!*Waa:twZ9>-U"fD>IUϕ09b 勐ar:9PiM,$W8 &VΒo)|1͕1NK!W_xk55|YXӢS-绀z)`"jM x&}ҽ=>wrq]Ro0fkXpm o1?jQŗ:P2|sm-Ͷvt?)ض(U9t_+_JOarɉd^6*+OՊԫGrGm^NKKGg-ߛɨ8cLf(M~/Anw3 Jj4qsQ_ OگwBacp-Qr Fn60fuYB`Bgߴ^NUőo߽i"4jܙtF.x]s.b2m54uIl,oc8eiFkIG#Ti͊FO|oS|mRaX9=z;:2 m҈$)d!gqGZ*h%"{@Z5V!{cx܀b-WX\ve5 e=z= %?1iX*JxCii~0ռg9e׿2AdKlqpѦpF5(?3G q/:R/=#u),HLEn>?޽{/7[g/?@׹|!qgEޖ'X, ?B)j 2.;_KMnL9bE|s's-辛̇}[ r2"'܂[ε`J+Es ?Wn"#k ΉTȅFQ#!2, G{fI(ְO@vGKĢV2+>V @oD l\>v3=;D|FQ(ycGF,1bE,-q:өL~Gm<Ľ,jlXM|w`3t=\QҹuFќ30 < y/P`]avP!yIܝ~V fĔ9ԙȅg߇,gʵ41Ͻe-B_Vl(m)_za^F&Q\ em.8$ƒJYb=UB)Jtds&(f!7:l^;=:=,tF;z.~~[:97x4x/1${cG`/3Ahs'.ⰐX'| ,)τ|91/SNmmXNl\o XL'e|;kdKvNC'%~ABf?-ZLRjg1~w_W>-K՝T1$.SU{aNekl@zv\y'(:}yD)s>!a֡3n,/!" {/&}T֤* jlHE3ŏ/tMsLxXV/ 4*B+?0!6&F?~aԿSrz鯰6TN(2RY Ì*5+-G"q,4m*G֩h u2CeX*Ǘ;)=爰^RUvHqrVh*H NH  Go2fۏCƒ!Bav2D|vXq&֩_^.+DÊ^EModOI 'ls ꨄ!fxԴmCy#ӏ8wڀ[[##$2$L{$65$:cEMw" U/\c>XUnǩy꼙/g31w]74]H#&ot%LN|@*~q rSf>w&U<ֵUsp^hp#ny.߂UwOle`^? hL՘-S<8IHT)u8tzو/Z U AQKuvW0z ųˆ:EɆΏӊ(kF&ѵ+v=7j57X}PEm#E 8$I3L'n@S>vK+lPO6NY&M@g]z>A]t Q"b gDwAc-~Wdq}ez` !is|/8Ԩ@m Sȹ'JN{gzā:lu^X''4I t3U"v2`Z8 trXV,-9? xf8wwLg|R{nMIR͐s^sB&wgrNeحmA!8'y-hS~tŝ; ӧI ྏÒovr#dZ҈ з}*K$/ 8 {UfcӴn0TZMM6CQTq. _ s-Ir-SR5B7d drA0HhJlΤj!X3!?0*p4" cλH&&b WW!f0*um8I 4Rn@&˛M_YEl3|Ikukxurhŏ$g>Q?ۖ2mȧ1_a?K(cL}d򋢯ש܀XǙ9Yʉ+PLO.ĸ)RyNN c$"4@N[GYf0d9{'9hxN֐=[#Rd˒Q~I:>->XOu>+*.Q?>ٳ= ㈼w;g{/^9^V3(AnF+,.UC[ dԔ'ƧĨ6l\y|֧e]N@h&#||6dLխE-;-JW3ʷ;-C)gy=).s+]vnQ%ysL*_|Be]uvqCP%UuX| |_ sp-W+7>Kb{n. <36wo7Ҭ Dh 'Dҍnz͈!O85 ̗Jߟ;N^2[wrv%^8N^QrW1 xTdt'GGgO'Wm'Vl6AK掱(艁6 |qvvgfɖE%TS(]UVօxaOuns^hu|y=99:9|D [㻮$rQg7cֻTh#XB6fW+xY^Jkyw]Qp>e Ͼ}=lrH9CMjPU#S5ZV*؊*US) )i?\Wtp2|'>J&Iijatl_Z18DΑ !LoQ=-Dm(H."0GiخYo"w:Y2߮߫dw;CDD0zZz΄_nA3,iљ3}Z*#$#﫢dtԼ@y |!}72R)5cM>O"Z}Z)f&yR-[D+7n[WhYo@MbdMBNx(=4\x' :(}ΓYi,(2}=B}U$$qQ׺ކGք_1)k($\s*Rd]xW+O9eY+g$C4N/n"|bkY ׏e+4 ѓW]MOz%vxd1{qAefL$Uv S@FB/󌹶aq x4Q5jq$N ࢺ2W5,{➳"l6E.6jNyZ'5`XNL `\x,(Mf/qWUBYmѶQK1ZǏ~d;+74 $ g[ j\?2Z=v X+Mol5PgMPyRvPBU)l@v\^6pEKbs6 ϣw`U`G v{> ( å<7&; t<%>TtM$;%i BE޻vȆ* FZ8o-hN5^!TIn3q){ճdw?bWO:: "s.>LPj.:'%ܔ +y8N!tرsV t{QmSDvg& /9M\lCER! 7ҫUD3LPNKѶ% 514k^ vA[e<ϑL w;R?X!A !O&ΰWj`2Wg[iЮuclgMh3{B-:Fki0ɵFN:~2;Oϲ^ *2O@1;q]e[<(S 'ˡiM]7)g!e  c;C^89_&zm^._;pDt" u;dh]0)2?ol"8F{HRRe ?.>֌ Ks&FenQES )1˜߉I%v{>2eۏ L$-D" xLwknLlI+_͙UCQ8CۥY oo!28zbґnY`&oY[/ z]togJ[*zC BZMS:Z=T Q!#Oԫ/A2\{قF&32gS3K_f{49s 7{^-u;PsU)8i@'yOSLȺSy\oU/;Se.sx)sa_J<*&n1`1GI{֒q}= K,b.d~)u[9tJE /P^xx蠬 i1^EmŪ5\ iud/s|% g5SM=_w1܆ y ?KʺFy!'LS:ҲhXC„Y{/?K<3 U9єw<o˶7ѯ?3=]A ˼<ԩiKfy΀`gVe-StzaaJTԑоlVRN?#TmD+ibq4UTi%O"Y!㕑|:ܺIO۔d& _;2(FK3t`Z x'Hy wd?֭ugP+ =M\I$^6E\gKˋOz9靽8s b'Q5idj0g5lɫGnەّvPc\$Gԗ|g i{*OSUH`!ע#`W0gHZmnHS6^'bGK8xgkyZL;4_/qR1Dp@aAΈ}^dQ?"i}_ tyTn C?B(ӂa}#B!٬vSk\$*$P\Ul LTTL x`\ 5|kq~msԿa24ҭT3V[ᫌ6ɨAeA<8p -R"̈́_Ȓ[l.c4?vzñm)]5Z€ E_&kCFiM{2?ɓNtxu(5꒱Q?ɤd7[m.i1-0&m9OLK@ђ"]cd]y9hEz%xtcD6Nȹ-Kt_z{u-ӾW@$FOŅ 7]q` 3h'[9+x.G=y7JVpZoj`SP0dqf 8laQE.8%bv>]Ta:SL ܝZs)Ffh]2|lp;d< Kb!__Vz )bb?Uw`FZe$SdҲ6Ƀ 5XRKqAh)c⦖.1.Z{T4ZLi^^(Q$I8ccKPZf0;{ ˭G`̞>R9D`lskr='VET#4U7Q8JZC{4r'9|$,O&p1ub鉦ΙlrX!e|4ZKgHڟY. *^eNM&]:{g&]iV;ggÞ}MMj _4wrߝtNg?z~XS<]'ɻg؏Fx?돆?o?zp?zp7hdN[kXǏSxߧxG`=4d$unz_^?'u(ϧڳ1G,Ǐ7?=lVvQ^y5eEJ3s)LQm#1`M;0ڜ,΂FtDh۳fM$Di Mv ZeGKz!#r@H|Ɯkl?Fs/6*O1w;rs}HKp 1cM=8 5|_[>& g컶UPY|urz=RW$.,Bs56hSme!<]jM D!^f5̫~N__v 9aXn?fSmpLJ8L_ !Fizm뵂q4Gɽ~SgMYEz-dlI"or쉂 nAY/ ,'Yh̞_o$tajڮ0#zc1Λcmˈ Z\ o[*GB Ts蘿$6[zkbf^9VF?dPeJB DasяlAk!\1HYN;Qu'\P DC!+HӛE|3;T@8Հn> \]yQC'`~#6g!Xz zжgysKi!Y+D-KgYhY;u$pr_ŝ.|#e1ʄO4eqni+Qc54F^ $38 -f1A%HT1zVD" r)rj[g2D N s:0O+]@[Ts\/];Kݗ)J➥'PD98`ehn%3H b,UƝת>)[U񽽸lE3-.t%R㬾U0E/_Vҭ7aS !pƮ :F?Kk!o)@1oW+Pvs|&8*!wKed%KQF96O4nRDto$ٮ_5-Bп|&_AoʫFvUh|RI?Vδcá`QYp^51ͅrEMowXpgSӮܩY׷rmbX [EiUKG+ 4}Vs0Nf*hv,j$}CFHFzܪ3=gU}#xhBl^'(ˮ$ǀVe 4V[OORhAY WP1o_~{若sz˓kӬULOK}` )VWƷoݝNolA(kJRIPY TwhBg!} XO6wyYBO3o6ҷ1-K}SL%˗G R=d{^mcJV6P8t ʠܔ'=C:< FoӕMF. {7 UUg\]|ԏ }XXuF4U/8;C6Tܣ*p#V)Jp-6& Yn"TCeH~ڃX!}$* 9l:-A(9PDr=5tڲ1 . J*L&r> }B.Hĩ-@:ф$Fo '1a?pLs"jDչRIpFWQu~f|C2rnq X:``L:1#ɬ'^ϧ\hU =,? '#$[JEbGq)iXf4/ J^f4IYUYUdQԊG.WU9g-ZI& _5y+؉KJ &8,rF`e4ZHW$-ŔS3[R@Fz89{*gag"i,nWf8MǼoAۮcY/=O2~0 @^xa61Q'I5~spס)oOWܹZ:!sOC*N'uFU7܊~S]vȑr)#d#(w ՜*ˊeŞ~2G_jQQ"UFϝ 8觬AG<+Cs:XtYAV*W ʭ-q2xǙ[Lj:v1Kk~ *UʹM̜ԫ5pS}kmÌ4lSva$Y[j6$XMGJНs1I-hSf}UMX^aCą~ ?ж-O銾׵r\}=E%s@,Ań׌O1ln4C_o+?MWܧ+@ QvAK6˰ B~znhdȆ߅nԇ`k+^Qy^Ԉm -LOųc]1n {b[mRU%ĕ薧"*; 7fx㶀9)6")yv/wui։I+p񴕸)hPG2 S]6Ի5E>F1V\\똬~!L9(P$Uhp$uŏ$&F!_z1<%86$ 6p=x3c`b~(=v$EroQV Op÷ҽT`o>{Z5Biоσ_`5+6xo>gZnIH2Δǟ)Coԉ+`Xun&Э ,x *eEHMh**2i!i3I=@{~X\WL 9q a.ξn&iVorbZiQsqkTX!r!xKQR$/KwG;''H.ݺoQ@oxWYEo_e[z*[o[ 5[nRemDA&fr$u=y gs2ޫ_VܽOJi4n2yRHJ;8|( |Mưl0:L#ad*ʉ:NcYt}YzeovEhtN&1MV[n 9Yp WkRܼ,qgnԗw;ӆCL^%_1/%&#VnZV;׺L/-[tNxBW֞W*a’"j[_3.o"7YgUa5b,u4/Ŋ`$Z-UFf󎝹5lQ7 \([ϳ `;j_e?_;\p?]~OjW$nEyp;17[0 J$~,>k54@lraOu#>PIDe"Rj+;8_ q&4]0)ǽuLz]3|LH *4^$^D(F[EW,nUUCPx/f]L(p/oyc4%-UB6{46h.ᴬ; iy싳g;/M}Q]-lNJ}i]m˽Ƴ(-0Ox3YH5afP/钅)Bu|9ڥ3l3M v%Z0~;;Z'tWS7J)pVRZ @!W ,4yG0<|~*UX吙9az.eb>Ȑ /$wOFk:Rv7&;8 4+wf|5(mi(dE_:*-1Y;'_ki2ygD C'=-hAϾY)7z~77fUcJk{: ,;m0-ST8!OXp DW <z4AXWŹ[~WMeVaSq ,go[۳g?f+b#~?娎#6ejXyPU}ҟPx㨦1laF.7UxAQ "ix|A##*⟇K9+˻jzGi'25EH90itYNv'#?G6 Uf[fh5TqL";*$oJWI+<)%)*X#RDC:hXpa(dVBsyB+)Uom8vuYtU4jȦJDoX1v-rQP<o(콀Ă[D yg%B7ʫދgLa_Fwܙ=V `ǨĞsCd4+5&1I>zglGbבv(nss+rKT;Tq8֋k\ꤶLUZak_J-=-pwd2z|>b +ew9ءKZBwX-nL KT@ȲRۮj:Nm^|D1Zcq?b+m˽HmŗF\6I>-j6;^ا m[!WS%mJoB_o.jC0=% 6-xM߬Q ,Gүf VʾV~eLb>X vg;G;O`W`,GϗE"2ar~FaBb6:+tPٹE}SU2!tVPdgg[QV?hί_ȭM"UFpֽiϾ-$C+-F,0z4a1э3&\o2 2ä,h?PiW ֊%?~F[]z xU- n݂2 |;2C^~k~lz4cSEQWXm]hJ/3SkqSe!8i>x 4cN{ѢOe6{.x9tpF f+I1 tLɛX<`uYŹ\A.|l|ZN.KD]9q%2ˀWߞ=E{\1gm*ώ1"5cc3WZ|-F^Ƕsc"&xu J.Ƕd1-[J!l)r|6B3+$ʋSLJM,o 0Pbxh+go=WyѪȃigpa,qJDe*Č߯Doяɬ Wp|^ .@eáIR5^tw8E/R}ɜmc:3gݗKʟ n6λmt2EXF8=\fuQ@ok)e f-EWI:,,Ur08=u_pEn!SW7*~YS:ï`w]e.2qQͨK0o]ܩ~*Mh[nE#y`bcp+K fŵ,Ywwݷ9[譺E:05SNC]|>/rg71K*p8*W^LkcQ`[\5r:ý6479J؏5R8I@Z].n\luy:wGFQ!Y . o[ftrX|/|ۖpۑe+;s9ꈜ]̱g4i竺O2~XR|C 5`JhOKtܪQ3!N(.W]woí +AMx拉-z{?4Y@zw7msSL398q]&AsgmUx[ffO~;r\ \[Iz)nmcniDa(A)'Wf pѧġ͟qޕXc/ kbM< *]MYnT-v_7 U @=AƇ<+YNvŸN` *T$ȿT,Iʑ X9)Pl`q!WRɆ`71}DY(+u&]=ǥ+f&1T)Li~sT: Ls!bߡR, /)]o7*P_y,D?_1eqt2:ƧYYaV~a*JEmkOf T1>ws-a|WʽYm\lȍo׉Y RLC.eXz_~okPqʯJĜʨuK~_@{`VX͆e)sVP'SP)~(rrwrAσGtv<@1A*`F& fK}4WћtgHh&+(n\,GyˣV qTv=gjb@l"4/6uqf^J IN{Y.7( T삅kv5sɷ"k6ybC6+;7^j!f~ҨrPI-D9,~bH ${Ȓ,8Y8sf-i ۿuzFNvڍfҍ$q]"m-X{{獨݉6 `>N plNCVU*N7 `[$]|=@܏N%|Ӻ+NZZ$DWkgx`N>}p>F!tze;9[+:wT׹TŒN/߾>=ߩ0.'lHFd )_@JJJ~s 4cZ=:<:PVwMƯUW>+it JF7/v,!3T_]/zSOߞN'o2alK^ABQ6Cʑ +,Ϸw_mISZ]5zta;>ÉKj 4w rVx:ځBI]ӡk$)2Uc}yv(ϑktX&'v9 cMm]tLV,B6}*uI/ܯ`z7ʹsDV XX( c(t*<Ƴt yDdXER Ae E*֡u(,{`rEڭ;x'=GF:1y?dﺼ^9,DV9k5!eNK /F0yX)xW| ݨQ*h(\3}UV4+U@{J˃"_R2L,T'jɆZ)Tȭd\NВ;tR^<]u{6T`a&ŲXKt'0C8a ͟(RF(dސ:_wC)o_^tpEj<)zȠہ=< ٙjA'%ՠHI3KjRY֜k8)#]ef7aܑ;w}.'.p$ꞟωlYue:@v2>t'JV*3;{;քj 2)Z)F&VȬq6`sRhʝd<;yZ:@jt$Rr#k &S,m֯BnK) X&$"J98GB7% N1ǘJ c꠷\HfHIaK\эTJIGd~'עҒvz 9EPS N J'n4d$ 1nK'OF77P:8$-8LB*ɱY9m`rLjFKRDzh%7Wl7A|\峢|*I2Lӈ)kʛ@^y,7kFן-5d>TI-`Tl+[wQaHjkVڠ^D:Y>CyI^SZ.^ Eі2 DHڶac 9̑:RW֕R#g/.@"xiAkZZ@8Ȇ| V d3?7_?~v |hgP c6J>PDY5]d;6SF (O06$ 4GǻGڊ-La ]zH#bbW*nhM#J }H d&#z԰RR{}r}Q$ƻIkY҇b4zR/u06ΰ3rF TolbF燪*$pMNoD2!mH,MZ*9 y8 OvOzpmP iҡ_}R:#[&*mp(֣*&a PGk>#kٲɳI=-f~71RT&ׅ~;zꘄUб`c{ezl,\ l MgyNe7U(Y2\e0zZN}g:!) !U2+,[MʉN| F4f5 w;Ue4 *dr:|n:A8$a>yK("+B&`2g7 ?dV]<H<z/40@<5㜯Z`t_M~:LҎ`%CJt;͟p_CF@ S 29Hs?qM6X"q$C 'pK