summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_ossaudiodev.py
blob: 624fbf21ba7d88f7f3a485c5fdd201c0b3567d8e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
from test import support
support.requires('audio')

from test.support import findfile

ossaudiodev = support.import_module('ossaudiodev')

import errno
import sys
import sunau
import time
import audioop
import unittest

# Arggh, AFMT_S16_NE not defined on all platforms -- seems to be a
# fairly recent addition to OSS.
try:
    from ossaudiodev import AFMT_S16_NE
except ImportError:
    if sys.byteorder == "little":
        AFMT_S16_NE = ossaudiodev.AFMT_S16_LE
    else:
        AFMT_S16_NE = ossaudiodev.AFMT_S16_BE


def read_sound_file(path):
    with open(path, 'rb') as fp:
        au = sunau.open(fp)
        rate = au.getframerate()
        nchannels = au.getnchannels()
        encoding = au._encoding
        fp.seek(0)
        data = fp.read()

    if encoding != sunau.AUDIO_FILE_ENCODING_MULAW_8:
        raise RuntimeError("Expect .au file with 8-bit mu-law samples")

    # Convert the data to 16-bit signed.
    data = audioop.ulaw2lin(data, 2)
    return (data, rate, 16, nchannels)

class OSSAudioDevTests(unittest.TestCase):

    def play_sound_file(self, data, rate, ssize, nchannels):
        try:
            dsp = ossaudiodev.open('w')
        except OSError as msg:
            if msg.args[0] in (errno.EACCES, errno.ENOENT,
                               errno.ENODEV, errno.EBUSY):
                raise unittest.SkipTest(msg)
            raise

        # at least check that these methods can be invoked
        dsp.bufsize()
        dsp.obufcount()
        dsp.obuffree()
        dsp.getptr()
        dsp.fileno()

        # Make sure the read-only attributes work.
        self.assertFalse(dsp.closed)
        self.assertEqual(dsp.name, "/dev/dsp")
        self.assertEqual(dsp.mode, "w", "bad dsp.mode: %r" % dsp.mode)

        # And make sure they're really read-only.
        for attr in ('closed', 'name', 'mode'):
            try:
                setattr(dsp, attr, 42)
            except (TypeError, AttributeError):
                pass
            else:
                self.fail("dsp.%s not read-only" % attr)

        # Compute expected running time of sound sample (in seconds).
        expected_time = float(len(data)) / (ssize/8) / nchannels / rate

        # set parameters based on .au file headers
        dsp.setparameters(AFMT_S16_NE, nchannels, rate)
        self.assertTrue(abs(expected_time - 3.51) < 1e-2, expected_time)
        t1 = time.monotonic()
        dsp.write(data)
        dsp.close()
        t2 = time.monotonic()
        elapsed_time = t2 - t1

        percent_diff = (abs(elapsed_time - expected_time) / expected_time) * 100
        self.assertTrue(percent_diff <= 10.0,
                        "elapsed time (%s) > 10%% off of expected time (%s)" %
                        (elapsed_time, expected_time))

    def set_parameters(self, dsp):
        # Two configurations for testing:
        #   config1 (8-bit, mono, 8 kHz) should work on even the most
        #      ancient and crufty sound card, but maybe not on special-
        #      purpose high-end hardware
        #   config2 (16-bit, stereo, 44.1kHz) should work on all but the
        #      most ancient and crufty hardware
        config1 = (ossaudiodev.AFMT_U8, 1, 8000)
        config2 = (AFMT_S16_NE, 2, 44100)

        for config in [config1, config2]:
            (fmt, channels, rate) = config
            if (dsp.setfmt(fmt) == fmt and
                dsp.channels(channels) == channels and
                dsp.speed(rate) == rate):
                break
        else:
            raise RuntimeError("unable to set audio sampling parameters: "
                               "you must have really weird audio hardware")

        # setparameters() should be able to set this configuration in
        # either strict or non-strict mode.
        result = dsp.setparameters(fmt, channels, rate, False)
        self.assertEqual(result, (fmt, channels, rate),
                         "setparameters%r: returned %r" % (config, result))

        result = dsp.setparameters(fmt, channels, rate, True)
        self.assertEqual(result, (fmt, channels, rate),
                         "setparameters%r: returned %r" % (config, result))

    def set_bad_parameters(self, dsp):
        # Now try some configurations that are presumably bogus: eg. 300
        # channels currently exceeds even Hollywood's ambitions, and
        # negative sampling rate is utter nonsense.  setparameters() should
        # accept these in non-strict mode, returning something other than
        # was requested, but should barf in strict mode.
        fmt = AFMT_S16_NE
        rate = 44100
        channels = 2
        for config in [(fmt, 300, rate),       # ridiculous nchannels
                       (fmt, -5, rate),        # impossible nchannels
                       (fmt, channels, -50),   # impossible rate
                      ]:
            (fmt, channels, rate) = config
            result = dsp.setparameters(fmt, channels, rate, False)
            self.assertNotEqual(result, config,
                             "unexpectedly got requested configuration")

            try:
                result = dsp.setparameters(fmt, channels, rate, True)
            except ossaudiodev.OSSAudioError as err:
                pass
            else:
                self.fail("expected OSSAudioError")

    def test_playback(self):
        sound_info = read_sound_file(findfile('audiotest.au'))
        self.play_sound_file(*sound_info)

    def test_set_parameters(self):
        dsp = ossaudiodev.open("w")
        try:
            self.set_parameters(dsp)

            # Disabled because it fails under Linux 2.6 with ALSA's OSS
            # emulation layer.
            #self.set_bad_parameters(dsp)
        finally:
            dsp.close()
            self.assertTrue(dsp.closed)

    def test_mixer_methods(self):
        # Issue #8139: ossaudiodev didn't initialize its types properly,
        # therefore some methods were unavailable.
        with ossaudiodev.openmixer() as mixer:
            self.assertGreaterEqual(mixer.fileno(), 0)

    def test_with(self):
        with ossaudiodev.open('w') as dsp:
            pass
        self.assertTrue(dsp.closed)

    def test_on_closed(self):
        dsp = ossaudiodev.open('w')
        dsp.close()
        self.assertRaises(ValueError, dsp.fileno)
        self.assertRaises(ValueError, dsp.read, 1)
        self.assertRaises(ValueError, dsp.write, b'x')
        self.assertRaises(ValueError, dsp.writeall, b'x')
        self.assertRaises(ValueError, dsp.bufsize)
        self.assertRaises(ValueError, dsp.obufcount)
        self.assertRaises(ValueError, dsp.obufcount)
        self.assertRaises(ValueError, dsp.obuffree)
        self.assertRaises(ValueError, dsp.getptr)

        mixer = ossaudiodev.openmixer()
        mixer.close()
        self.assertRaises(ValueError, mixer.fileno)

def test_main():
    try:
        dsp = ossaudiodev.open('w')
    except (ossaudiodev.error, OSError) as msg:
        if msg.args[0] in (errno.EACCES, errno.ENOENT,
                           errno.ENODEV, errno.EBUSY):
            raise unittest.SkipTest(msg)
        raise
    dsp.close()
    support.run_unittest(__name__)

if __name__ == "__main__":
    test_main()
VFo5./ E z@e WJ:>IR5̰+|>NKn̼&b}?mnI{,D^|"cB\lY+>;lqj@6KyK9@1,-KOLkL43DVtBƿh, &p4c[&LQ'{v7l?^pl,=fsFJke&7x|#@G~p4q%72x=aUų'F L?zZ]kr֦pG{ѓ=RC$؟!HZCك]OQ1_wE0&g^TFQH˶LC~I?[^ XasEzMG=#-,/$kC[}<E8,gP -M =IoxFDW055z&>ܹ}xu}{}ulqc&#.枂k6aii)q܆nv 3#߬F[QuKTTkIPq6 ; iPhoOCNJ(#q\FE^7H_'ߘ*peD09SB21o_Z>*k@k[YDTYްoDP{?ZFmk5fEs`L9E*Md=Z ale)x=1E#*nƊ&Y;k#>4Q>ͣ0UѕR;͚&dti#X 2!`|#Nbxe}ޔ5VlqkOBot곾ؾ"^iad+%B˜]O7pgO ǐr[1s }Qk9B@Q/.|b{_ 5gX(ϧ'nOo?Wo ?zlJ쩍%21W-.4S8)XΡ`i|Ǎ*[̇L\fB,[?Ngw|>] 524ф#4|v:I_er$ WrPl\EO{Άh'q@_19'pFK˛l޽dHƖ{͔ɠH|0Hp4YS8Lc-8;=Oc )8Y3l$hE,K}f] *o&W~)|P};7%_6NᏚXT8floﶻ~syS}a{+3DL=`7fP I tp.۔6#^*FEq D @x9m`6ӵ 5]]ӾtXH@n#Y4="%93zu ̞ td~>X Lj2Fw -ʲ J}|pݘ/X334;j7vt U @RIԅts>e&Z:?98xZ&_,t1lCPJ|*zCZӿj븬ZY,H Gֽْ$}.[ȿ:LGĸv805Z|LEKphQ}phPJǥ iovpI&W40n 3fY/5㪝 R\H[/J:Swܙ-~%oCU2$lt" J^5}J^8]|s`hJ]Îh[]in NXE,8 _,'HF΀+^PMm^;wir)JLC8:|)pEyzú`J1LBjڲ)U;vNPaX~"]Z[ŵ(nEaC"w:R7,d2LBwtBTͷLU A;ǵ*Xt%C#p"0*JG? Ւ1 H~͂hş7[nK29әkUOjgIdh n*6b|G `WE8Ts7`U,L?{c?_f㲔3YP)?_݊XoGҔ$MǜY [MO( aR_lEʝh5blG6P R034"? JyU`ZrphHʙ qNUBw4Ȕ%r ,ƪ𥻿mtw7=ޕ\kעZ^|%I(<9\~\}:\|;x1j7 L'& (*i &$V{{H|e:uGG+kEi4{c(y~< PV߳(h߻)v) uKj%ǿ ?4E@Q.|*u}}e8Td`g-.ӤK`:!slcEezxF)ŤT|oSi4oNs beSFEo cް`8V惺%¼[g&L4L]i8$3Lc"mб΁z~. s=^3<˹q˴CȳwG===җF۶+=r7kOb]l!W|#pN>b>m3h,E2E=w_o1F VW(B#a2ΖlvJY@QxMV2vR~ ެ?1d3gӾvUѪ4Rd,Kd P\&5"8]lڠ!]=M-,ͺ &JZB#%l`Si~.Lec|JUZƼ(Ma7kO+b3AnfŌS靥Җ}ҶuaF!{oM28bl!3ڷ9,ZsuEca\)lQ74P7'!#IN L)kٔٷar +- ~7an% SA0›6O89qo[2{g4{%bp ժ8iK`>Y0zŵ3F%cbIVvbM6ѩ͓NfSjG&1ۑ&`g掾*b+vV tPbv(yXr6 ̓3DL{)ƣwNNM%?LG+/j2#ƿ;@î2mCmDJ΀%iwww<3Q ȸ+_E,ozVmKiJr8fQ&bU>zL%"Vd? 珷<\ "(j!o _٥cDq`lgfr1{Oa4]G45`@Mܼj5d o0#7k(ߨ}R:SxyT#H`X.]}qMa#aACXY(L!m4nlFm$ZI5߼aGt2b_aCV~zզQͬEPK{AߢPY.ǠyHrk /L|Y-+e `]<>M}vćX8ܣ`9DbdT4qS߬1NFP#յ^޼Qj_M۠fdle~a._yLY'e'vak @b"|Ea x<~V%#%67+F\O9 _=by$Wa\V1uaL$mw}Õ+ c#Ufc2!c$rHmk⪃&=ங~ԋY]ܶA8@Ѕ})4JH<4ot*3zy~Mud3C?.g16hTWA,^.OcSĤHMEܗQ}[K-F`sգ̅a^Z{ ql6sF8,l{F (d U/Cxˊtf5_|E "s|N3-CkdJ[fK1_`4eK&OAݨY5s )+`HAu%Ot.R @" ,,MWÅmI[csM_otj YiFJ%ti/TӢVeZwex@ϡz'$ҐԿL7ȂH7sF*T(|9v1?vhFFNs]'h[Nۖbg Z,K@CaR-eUje?pAP+*ƐB%\Xfg1AmU=.IBIق{[M~f1;(SV핅Ӌ|{jθ6ZMֵBN5Tn~:?i#MA16<'t=q6R^EHo"} J%o"&혖l[46à5G#O:-Rna<;?76|2zԏf?"U*󂖸ކ 64C_G&IS7wC6D8#VCSd+[gOʓ!@)f|9{%.6tS[. - Wˤ'͑8D ZGMDz)*0Eg'QrWϳPW_~ <t޴vxa WJMnl_ڎs*&CjvɁhYTnhHfAꃃxaZDi)]j)'SF\[ګSሓ($%;N;M6RfڨDy#Ó7=ܑ?YA~fE6$}=ҥ*]`mO fД|6P.:ͻ|jͿap' g!-CJ67${`#2l(5ؖ"ا#/ARR+8|4$@DބƆl"u b %f%v}ͩ[gTC0c h44I@k~Em2c1"9jDY ZK0X{b0H'M'XOUo iT-}K6qVlf,Gj2vQ\%\4#C74{6x#5%쟡AB$ E!~I7xKy?UarȇESoq+C|)ۙdM+n;,ljM1|=% {ÝN>h;3ۼ|ف*{bKտy~S[)g-ԗ:XKj;ݦa{6Rܗ}bW8bfpA?evM'sm1N%Jc5;\ h4N"AeuLY4ְFORe1r6/rxutrr{vxr6=ٓVspK(цRN clO\EV9ShqfpYVHL/G4Ȱ3 ,k*ӵGM`O)$<>11aJO `>Ȯu^ ǀMAmSV~թuK^9C@)߃rX/ @06&i.? h,D*Ѽ(m2An tH5e b;\Վx7cXa|?lUs`Sj;,n])ytє'(6 9ZhiL큽@?@LQ6tMC>1YDB-iĖm|89=:ϾF#wj[70nMg6K+wTylx~XeŐhqx.}3kƶ@ W9BҾ,lubוߥL;6͐l8 W6{\ U/;xO?~wM?V~c۫,ulI('TD[LG2Uk t\";e4Zt!bk'!}o&r\FWNJ<th1*Ę9pDATKES/,O E4%KwQޞDi G<"yj]4Mz:~}8LƖ2IuG i, L*{:mܮYn'{Ɵz`K= |4H'zY_BK15,T9 >NCN[ٻ=TV>%;Hj\Ưj«L cnfX "RqxQe|X;r c[)  gUsӣ}2^u a}-Cn@1Jz7i:Acf*o%fMOίoO.;hQE}B1Ý¢5XnuwjarjvpI!Gȱ~G7CX{vfŬ ~P}BQ}Qgb/*E4tуS 7wA p| skn\&0dɈq/fnp޸c.Y'%`qZ-o4Fw0zwahEvWJ 01iu6VKKl:& oRh7ajD8 Y ^%GQKdF3ξgrӼeA-TEp+PB([Z4GtTp]mcSi7EaQVo .D |EW,,fPBHoߖ7GKxoC>X^1sif٩brF6jVK2TFG ,ά;TwJnU^_FHJ $N,ElѐNo󔃫ɧI(.E-Y `$t!d֤y[udTBubT4-WCfZn辔va3E#X k$%CcH«,e x˞ٺlRȷ )\8(eYP Y,cRSYrn&6tm (|x1WVcݻt((r)t!3<`z>_5j:i9V g:`C1Ki߰dzc2Ch: S[k%YK~2dod%BKs׸鎶>8xx9*\8s4!gAի`2`} ÇaFS-Ε};`'*x,BA؛h&IVQ?S ȉoWV}ंCB%{Z S++֜.]H-WC'c*373 &}A7Vh@xrfhmq@]E$GsҔw>*ZA4w1΄;s!Jd& :4C]تIpϺ* \U09I,?誙&gq+K1~̊Ei:ׄ{V,0Mv)lsuc_2-{q^2I9u{%o9y{4UJo]\jZ/D,z2ީN7y.#=Mc9}OPPzCcC^v%8i;%$_F@d\'#Z3lt5NgHKI'pJqZLds,;ziJwtdi W7xnmݣkjli^|GB&^@AQh+lf,~?5:+tHD1~#"<yN璼%W^{Kwn8Ul1ޠ1 N>v:`8,lgR~X9|jHRY;A%+^W؅TiðY-@tfsR.$֍~V63Q>Ut}QBAܿɭ_LVS9( EIǯ; `NUdQ;NvFt$5xEW$}p_;{mD/ah`MCKEuLQ+a/eTtё(Ѐ h}KNIEȿr5aIgd;k>ܠ,wY^59YS7EQ J F01 VI^\TC,OlT:䐡~1idE,j߸Ea>Nq0Y|Aʚ7PNQsfpUr}P@q{LisX|%@bT 2*VcB/'Q 枕j(8"Yv\ :L@rRwOaӒGHYh3~QZIWJMc5Gv 3J Df_ιn9@ D]V0ǛV6GnqH?v%Fp.vPSI|ypln;,t&uxTj\S ڡؒNO Rv/b(6tP^i#yJ)j@Q1D$E׮wJ[tDZv,գfڡ{жTQjm$zFyMcE|(aYw S~ަy^_[YI>|}n%\2e\-~'p䳍3"v q$]dpk[6`{3R54t9ɔZ[Q{;p1sp?J#k+'1Iyý/ ze'S1ecQS3 n=Glf@Mb^hq+bw{)]|,l1h2d&~)֣?8Rwjk[;{s;m=:h3r6#ɥpy&b{`o w3rt{s d_Qw܈ Bax'j\jHk,Zaig *wLq+΀ga =~x7+@;# YW/͒ kCBw1P iH>]z~jr\&Y›a{7UD̽9Nو5)p{|!@؃x*3FwpY`ޟw~eszetd7RiPNiq'1O&H=7k';GW?sAd +\88z*f . {(K-|uŧ?wyƵ95Oxn5rWĿ{^'$٭v p4$f!\dpPFsPi@EB$$^K /N)s,iGo"SuT/er}r=~rZF o;l/ =,KbV w=>xo.<[OQeg GDM6't`4wOvbR% ``xnOJ0Td%A=pC{Ӛ\C:ĪF"Hr?إ`U/®Gc'l@Etx˹P|S# ~D b1@\eJP S<R4Kg]Xxcpw ٳ} dٴ7[ 0L6Ǧ+HhbhNXeD[ݻ9}d֐PH=dN7MjIIܬ\؜|`KEp 㟟ĻIAp7敽 qBFCq~9gw=CXAŷJϚ!:fˮЭT`B 各)8/)zzzsI0KP?՗$Ϛ3Aj{٤/B&9hbsQ(6izC<Ke [E)x6Zfiw'靮%+4w r}zL :!T%WXs>2badU2l4dcs2d>Rb ))7*V8SV>*fٔS2opS W+=c*<<ó U%dň | Y;_,/\bI0}Kp7e>s\pW$V>"cq2|O4Tk!\Ϧ7?Mh*UT4v2 VDwG(2C"k<3s2e}n0 b<r5o>`rï49t!v`ÿi2}ƙ+/]g4³>9ӕԨF o*e>`!+&UBŏ{1 M`SSulGHcjk鄭iц4IW0զʛ69Ƨr#.K+ޚy:в]s;[)sh;&8>M+43\$x@ {#|Np@;oPVIZ+W~| 3^Y-DT<ʭݹ}=̤=Z=YKZ~Bm߽]dPΣŰb '0kv:NJkN - o-x(-.;ן.ϋk‡‚an 3c@^v5+T]Ee.`0>c qjGJU',(g9"O)LZeOr)/ i 킐D!DiTdTJZXprX杞[pXNzu,e^l07QBOrbb-bVdch,OAI4` x5;mv "ZfO%";8X»bQ1-LE@2Ńz l ^椽ú?{2G+}D*&UxJjujD7鬫3% L޹J.-"o ?,6\\oT? ZNog-2FtV5n"CFܹ͛ͫۏ?egŠg3 UgZ- 6?ݞ\]vuoOOW;vs7J𘐛V#&XFnjQ F*$.~g-o2i7Mtс?GÉ6p{h^}kRXUBlz]ݽ}?q7Qmߒ`ڲ}iqڛ4xm2^ W6%Ap3p799$9Ҋ^M΍LD ?/֌(r·Gaʃw=UuCm~]IEۊ[%WF^Iq,}[764F v)uc~fyvb;Ap~ Aٽq\;0|tc5R ].&Vn[K҈%`y=C "7^sSyn'+t0~đܫP8!?2R+Gg@ t~y=}r+#XNEN,w7?If&I\N,HӠo,F۹x9v[{gd`ffy{invd),7x z S%_ԗ) 'nۉe)akg0.Wǚzy3t"=d dȆ(90uP&aU>{y.a`=e*ZEk47VRpq,>)Ma,hyYdz .usYmf8k*0vpq=%:J^φP7!خ5Ó_]<>G%m-,K5jeZhe'O~N v3v t׏ ]=H)+CEִhI HV禖z..g=d3x=a%&Yp0 (<L32ŶC` (k$Giϰ!%/fx__=ПRrŗ.*yTWxk`*$+γ6ɡ\_co"Mh+pOá.I,N3 GAb,l AĔEG*i@?Z<25 &r cH;i0uOȑQR7kG% ;aE"ģhK`p(2ZmXYJ4+Ebm^KT&0#hh CeM޾jQv2mwYv2dSJM&Iſ7:9RPz -p={89X[[O?fwOI,&WBa]&\\ ;Qꃴǣ858AHT¼T|1LUȠ=>-I(O7 Ax 9o-^ hzcFwT_s5߀"[RWt2Q7)BR׼HƆ1䔑6Y$%eW- .g"]y~t#YGI|{bUYۭߘv0hվy8>u?0fd_ Mp*͚՛UMxBEY1=="OP'"`X%aXkDZZI:cG1#J@ {w\V]is+t|qoŚǿƶgR]YMcd{x_QHUIZiŜ8n<;\<1|/+ D99th_+a#rj$\Yʉ3O5}' Z$>rK ެ_d&LA}gw1NY~#f02<> 79kx,hn\Ũi]!JTVDgT ohvːIPoj |e&k.(p,.@8-KjNA/?#h2͖ڑ\Ȁk b6Cţy3T6ץi{+k}|ǺBݍ8Iymt\14aZ dws~q}9ܹ<|wک;7ki瘿syep' ԧicHpsQ_7#Wgba??ϲ~hՈr "bRrJ l@(awTF u7Tk?Njipr~tqw''Y@B(bC7.8rį̂&lq|u^M+dA hj8$SY0sfl]_(SȘm,l7[ `pWMޥV,uz *҆C-^~}0h4g>X*7 ,!*4 ]&R+|d=53/Ќص- ݃N~xQX"wDcVcHn-hY+)7͚*mHFf |룀ǕPVI3z;Ktѧvcbl-l"2C G]>aq36u5] ydk-b}AUԫybq)(e/dlچj 9KS-e,hZG: ݶQPEZ T."JzfZ뜀pqr/m;FO >R~_E9Ltr,CDUUZIu+FC[.-dSD2&5Yd#lMiPUC]45-^ƜfORhfgj^N '#~txXn5ws,dTUtKKcpNEB(; (@ .Ҟqnc]w9Τ`KcRJ>@V*Z+NdXao,M7^M@f[ dPMJ3ڔt TunXZhPmOr }(W&ka^F¤ XE.$?q2VL j/Ң4@&p1'G%)o֚u05083#]ڋ P cA-r%$|/6{ɰ϶u ,dW9"3Ź1k-Ϟ&!Tɞ_f!ƅ优'i-@v{4|1}cw\wr ;[/.{~Oy_ <0df˲\'mL2gpWDA@+n0ha+ߓ{XG?M㊕=Ǵ^O<*,jlqX[$=:ل#qk}KrQך_'wrh]UmO2@Jne࠸v x*~]kH>Ԭhᗓswc+'4Hr8ؽ6rӾY쓞( -hX)GBW?(O怒}<Jݝ ͢KHއ֚fznT ,54H "Fja~Zi9$WFEᇹ9R8[/;[څqIsIl0?fZgAXD]Z6 0jytS55q| &c&i9W+i%Va80棾TFNEǘ4D.7qY)R"AkD*Y<pMc/?_nZBH(t!s8~s{& V[؁zME&Q4$g #A5$U5NY*#w y8I-y`E_,< 4m4"/AQ6YrWP^P2-+ 6Zznk]TMRfaBjlQG} dN(\/~m: fQo٦P1' C!φ*Rdi"`H $+%HH+vk1Є% }~miXz|$=0E~k2<^Z0)6wj;0]Pw!.)n"9yC'3tdtEdo4H:AσJ/|24DKv1PT8ci3r^jZ3(8i dFRSGf'ǯlOFy)*}an^k&oʶ99br0+J ~a ʱ2ŷ_)^`s4ӔkSD~OS _*_l)]P/.`K]ِ ˇ7]_]cˏ̐l!WwǷmOK&lD~Q+ 2 =-#=]w_:j)D^tK(]~_Q3G0'm@r{&|?W`FumE xI=5 c,NK1kG7= _Բ/kn\yM[y #Tt Cmgp% &2v?iêӁ@/L%} urs9X쌟@o 0_( P;ʘ2$JTuHB>@5.wvNz `9МK? p7FO4[3o=ӭ{_$͂"p:-fͰ<E*RIG&'Cat Aݶ3'Wwj-\~?ۗ\Ϛj>ĬFzipRH}yB* +Lgo"/BOp .*jQ CU#X+#H`Wj0ȖϾ e߰;-'G׷O.;^pG[o80/%}m{-}e}̥3}Q p99{(9֚yCݵ(P :RV6†X6~vۣë+Ҫ N7k,`?ܓ6 /` ypTHzk$8\zACf)z5 Edb G#]QiA1$#r?s.w$ēJ5rq2q:p>xiM8ioCXJE[8͓=A侼3ژ{Eß^4NgBsxkˍ _Gis"-v)עwc SHÍX Vb]^&nӋ搉M)4v? =Y`J^k qDx"̾ ݯWg寕 B2\b8qhV8ީ-=?E~M?f}KRFhs#|f?G O  sre墙])4y<4żE5P"e73a/$!kIJ( _ѹEg3sq?kEbN!bb< <0B4Kddkݼm]{K%H;zB7nŤkP"c l4Z~yb\$%1h/F O ZB=#*mөxlV=Fbb0Ѧ8Ys!>}RY4,&)9#iע9N@?q[{C-Cxyw$3>K]` siOMdpVOpeьh3 ̘)b"VN\#Xg|KΛ;҇__v>^u-V7-3; W_F8LdRWfےX({o"$H#8#,*3'gqʚt9|&pwg@u!v<Я 1Ly\yJ/.Vʒ/Jw'K^+/ d_1:;Owb&wqLIAω}\ݶV4:uLFե`)25I!Xh]WJmx֍Jxip@qdrR eVKo=Y]q9)mjGU$VGՑgɘuy/ɰoj\˸ͭ\­|va8єb{Nt Fi  G?G|Q '^aEJ+,`IZl&uL`9MFY%%}2|W=~ ӱTo75%[C~fUin\ޙ0iFkGY+ ]8" >AĻ@ rInqF/2= iyf^n)UR"W1[j& 8\W41hվb&d tZ>M`l5/U٩-ŢUYXp_B9B]>vKk_"\(\jxwk07K;HYY_;Sk$/ rG\ԌhCJ ohK>ߢ,M%aj򝿶T<.,ܡ~۪산VtA4v0 \'}%-%ANSdh1Z|ajK{ evu^{eE#Bmo4?֟K-s9 i> 02KPKPvw_!- f4jlrq(E? )F?IG'K]4QyĐ߬I]\~+(TAφOc- n ~ȅfJ-ܵ9&M__wn'>+X4 dSq{$eR#T@SW&՟EB&u Ph :K={jaTxsWi+u6||TU uPs?wm>Q=E=q7xj瞄Ty'ن06wZT4XJ$ܭbm;9x9_^\/ k$8..EsBl/#O/]rˊEXpНu7z//Xx20^:sZ:І<Ϡ 0R DR-Yx m?3R. fI,4bl;~4䩟ެVJ\g?R$zU^Ye.d HN߬uwq&%scM/RcâyCk{W>< {IM8_̀d5?o޳p[{?н~>Ilt)?wn..;/>]khӷX[uF'3Gy6c]X)zÅ{ p R Gv~0 ,׾Z¥İ{WKR7w]k4n=ŵ̹m*z`C<$ZFhɝeJ%9poJA%^Zh<X LՇQԶr]0)}1dy8.-jOb֜wh@eVBS^[3C;tr-zNjx[_3F,5*smN2ҊWCxyMf'0,|eɫWpO+6_;ʷJW|}ɫW+:5-fKXʉ+xl TL`}wb+/;RoL9C閗礈y[03t|bxY=c|qB)nq}MZNjNV@:䙐OTT2 Z-|ǂw0@2YD. ]O8"c%"aT t%f uo,r "SO)-,X1j3e4Ң:&to',]01>(zx_8k ~0>z?*j?1q0whZ/hο&/X<5NMNcA<:Yc)x4ŚGm`@ɐs&c `?| ?zMZz\"o vjR|mG*9 uj4׵#M*>{FH˽Kw 7" yt;x`/ ){~'۰yܯA_%Z8ZU7-H_Y3tܰ=9yEȥSw;(CSĽ::e'C^RqzS{s@ kW#I-+ DJ $d "$DfvG3؎\% y~]s=].{;ͽenl=暓Vն;ǹ%%\mA5Q\dH5O$ zwn>r!g̈́̆ zz>#2 >ɼݶ=g$ġpM˪T;øSҨ=AM ǂէ8l4[dO1 `}c%x=LL|Ch(0 uA}j#S s}f٭:oܼn KC&q޹?k3˰xAلDb|V,1٫i]q.OP?cQ96Ɛ|yT!xU|r%1guuu!(A*X%AL`)w({ՎcPZIL-JAspx =MJ,L=Bo2(Y,w5=~)h*Nެnl+Z.j5P+V4 TueZ0գ g$1UgGu9>j}#7'nƒQVQsRO cM,`\KI7# *Y~rfN-ɳEK8EqmVTC@q_k4e}O;}{C>HЌ%,[޴ɏ)IG ay19ʈ-躣ĶNv= J̓HZSMa-[wY+GGUa L. Bv'_4 nY gIZjҎ*B;]4ŀMxW VvoUwy2Vܸ,E.TڅKd8@Mv"@!L6H4! oOK|Ŝ!#! ƔnzTw.WcA.5 jI3e09Õ3m5&StAnzN1svG# a~.z;WʘsPtz18h{Fo*{ZBL)4JԕnWƖ㡯ZKs?j0.>t&ڽxQG}[-E[$oo(56]oo]_t%]aPtȮ">b.>Zo?%5XQY)) &\̀=z`m:ݜi_Eqܯ&>]B|, r{tq 7i8(TN *nT{ rgbT`H$|>?Ͳ{zVTl3}Tv4ɗS@4e}K2quk9< @:&M&:EjEZF&l[dx7hV B!b'έXdzjF\Kzw7:rWB;ET۴puzbϤ^@``r.@з$P[ yf{ /؏u 75E_/$q3YG1x++('PÜdv].~9QnE@pH doXF '`Y5^Y.RE Z0]Xd- ol\kbx u;VwuL@ fY6𡂖WPI$/C\b T< .˶HXsJbΐT\J|κ(.{ap_D!+,>[楒(&m1o$ی)PsKZ`AnƼ%ܥ;1q aSlZ1g/ *| !2 B@t0πԨ"67֤AN_H>42nxIp[i{ F%n :ԟ'!XC>"?VXĀ 3(ktgjLm퓑1бPྥR ߽ bY1e%YH1 %b׶.GZ*AQJwPF6h :*ûZal%%*VJStpV!!p%6_i7_TBBɂ.p Ftd gCdd X:*&+Lb2 lc|A/*umɮٔZ_W>:8;;9)w$:&| ݪV&x}q>bCHI ihpbnFdpzvKJҍCdB΄^чW޿?\Ie-}:<ڿ/dQ9"E 0}3eT8V/JaՕpcfr:q^ٕ>5T"MF?L[II?}bBA #}h4QW$A泔2&?@~hipAEp-sש_^߾d(ΗVQ~&1W*Ui"KqޟU[Opf1EKDTs/S~yW:+}l hi!9zsA1{v~iS!-$U\W9޻r\Xȥ;-Кq偤4T/wMq=)V bʡ(Ϣ@mHF hv,04n!)e_.0LI`-_b?&<,wtAx:EP cI1Ow~@;y 2A" =Rl;(V%E$8,Nǥm! bd$X@[X۲v )`6CO82) 8{)(S)h1hc'De} " O.de'@pHF(׸Fas@' É{FA#0"|,i3tNZ1Bt GcY4g| tk "`)zo<3lV$tv !Х4T5)>2X 4އ>]cӓ_}?b n\pSeZ=g9厔?m? G(T5F:`Fc9䙒2N0(!e–(r QoOқ{;- ҢH@J8ٵ,ªDŽ7Z8Kyi3n͘11[MUa)\nSu5|XQ*{EvA xX 3?}߼(ҋJWcxxɻcc+A%m/BPPYMv-|^}A$ԶM Ϗ>U2 ,6(h).CaXtK0_㤋LqձZT)ǨH3E>+jWZ۾-VU{S6d 8Z7OO3HQZ'#*&Uq3W 1dDC+dΡ1ލ%Q}VSl=yf2'IT7U )}aߘdtK=ju,4g1El?k-nAFB`"WBM:և_,N\XqItc 'Heܾe.ᱨΓ5&VZ!\ebAc$뜌R+? >r)Schd=x]x^S? ]Wth6Dž:y`PT90,ͫ͘dS!բ2  >a kSȖWVwH'FhNAik0mrm{sJ=A&/?Ecr<&¬CuzymKݻy.DSB`]\'+Kη[xh8ҮsGy2# hnozvs$=KK׺Qw=7EأKrm/{adr`D=ѿaaH[N m9;L}"ƵQo3HA=E※Gq⃴a_x=i,=~"!@9{4C~upot.ڢ@:J-$$HNW  Z?L0 dNxƹ$\+F^j">1ڛ } ywD(4q1Q$W?4P7,+VcTd,Wmη{E0p^F=g|1JwQIi>/`j%aN$Va H-A67V$qZ%bS*hk>ڠlqenHN}NH,,uzf( o).LZ/J q16byYsJvӓћ'dZ3!)=se%N&JcV@K;>-A-xXmnƉٷږ=Tp<&kc?e )L᳋㞷]„ ^'e0LCY܉g,4Ls1">&m87ɲ,}85}JR8?uĞ|`sEqsZxzVNtwC>eĻ36Q[{nD5Z`M3JY^&PƵb(\ 13n~%R&z[s^? D>O;a' ,~uJTO6\!tUwV*Ԓz :=u؆Sv5EZ}5YLg;_}R/f@cgO)8&tDwx> ϠcJݫ}q6DmdA=~d4Fo"p|Cs,ra {_B>@*粒=h'9NjgP ՖpgQZ r^W%aI=sQ'Vg9oھeN |Ί`pέն5G 5znrM^͹tm-e^tw8YiN_#+ʹc g~[a5[J{٤f Y,qo/0Y/5@=nOKR G[Euڎ@y?4b%W7W@2Ev"y8I"JIpR|R:^ QU㧜OeskGʵ8͎t!ٝbDN;My]PL^ ـf#t=H?~ k*ߒpyB.IQ s%qxӦW&y#OU(N()+u]F`=M*b F녢ORal"@#H+ =4W|%<~600^p c\1\*i/ =쌕MMޯI3)\'fi} [A_SF32A葇;4R BG{O6\s_DŰ~mMT2<\'V @3ɡWu %)_^a]6~zmłk!f J"1ʅ0g#f(nB˨FPuL[''~m̥`Ҵ{_q{ƍ6#yu[>1(:Zzc8 CK@ /沓,7|d^/\-n4g˘Sd/-̽(AM+\I6[\QVCsm^4IJ:V()"")߮Mn8Ct:c'4yZ9%#-ƀK2p9EEݜQhٽڂa+t}TvQ!0S (Eoz,hv-W?ml"*\DG#RPOb][p㌛]ˆ҂ $›YB_ICoM<8"GTC#w YN ֘Swycug}xO׃k^s|HaE#_ BB}{Y)1_)'J="kr$`(񈃇Z8-?ESc:MX5{/UQ{9%2''S0ϜOW3Wc쯰}hE^v.:36 \>RRPIde`- .32cz+Υi-:\wy2(-\&MVk˳_m9|GFt`d$ AaVKuD\cBJ[>L6JOv\rTBOQGӿ5CwXm!`%UY,P/נ#bzQM :mwV;奃va&v]DE+SrNВ|S"($Bjh<M lI03K53P,TMU T5ϣ"rExpcgt1L]]H&I# ۍK.ܘ̒bؒFdt_Giݍz]0#I.0;^cs ATNQ'w`%kK5)\ imUGӲ$#@sʂx(N}V rȍ󓷍ӷ`XzuCǓgZ[DmwW_mOh[TJ*ī}$;gA(P XA>~H  %s@?Տg2Cdt`i|kiTx~hn|k{k7=d5Ѹ4*h+)Y ]nFthy) W;o졿?iz8kl=*cFSֈ\wͱA}@cf!CW)\o{ku3ujfOFQEtSR:HkWU!r_c(J# 1\nCarw&IHPZ_> S?q‘\i<+~;E>C(z.cѫ7M::=F- OO 4 Vb>KOZfkJG19wmb W0BDs6D@-]~f 20G!!sMP>[t?p5~XWdSԪMv+f('v2-l^m8.:/;s02I?؂,ݞ5'$5S!vn4E"b[`` ?ַ0͟e^Z,6edK#h <׸R~kmsMӂ6eEVѣ$І4gvLW;ݵ^ٞC 'jtns@@"@ew@j>`kES.6BQ52ۓ v,%90 p'm!mm_dzMKwC-,Ѹ/ZIy}V` ǣy$ l{>ϑ,ISF/@8رqpx< c^ӢV;HVk}VR*UĔD~QJj(j;Kh)!;E !3Csek܍l=A>uXPGdN쪂Gj{ܤ-{nF=^ԫkZhPu!(t17nCT3%R_]k4WNNӋ`Sj3Ux>O0J1#ٛ2<4&ς h{voEvAF&ú˳"TSe=s 8 !eҌ?>*!\p(>8 VcatkQs]B+O!]`edskW=s~νr?d.2ވp _(,,¶:%5MܕS#uhRhV$?^#ןwOt(g]unbQ +vdVa'JX^}l}J33=6H[Z-f0Fٴ*l{t7gBtp5 W[uC 7kP3ol{AQevnЏH+p&4-r%=u|G̈́ؒ$@Z;6?~1vssoNuT *9Ά宜v()p8vwvx'ͮbO4H mc'rznJeT ^r@qyq"zno@ƏL_7_mOپdFwSZr6^5;#^d'.NBME\VxY)9\jVq% հ󁢽RhTHH_>OFdQ?:2mw6+ NPcnTSB  09ɹcuv N˃vB.ѻk섾2E?21:EuL2p[(]Z9_ "4a<%I7`~Zխ ẕ \`ɥ*3bznVa=c,Lj} z!9WKL9Qg iQh.*(n Rʹ;@ގ8ܹqn0n ƃXǵnmKnmnlkE=΢ OlȍD5Ko}?Ks'< ;EfcLǧԻ]S +zTxr,FAP'PgUYȥWopM<2Iϱ*X֪O0u$}[PLTB4RndpcjdFUq.=5V9͗eTcel񗰙sy⑰0^2&ߩ)A )L$2{z FQ'dWmV  Ȗ{]:_R}`|(:{u( IV^3n;x26pVۜ]VIb.\aVыfNtHvLeߙ &T,viΌv~<5A6qNt]ZoC>Vѹ$Ee>cjT܌P^I|?a~%|4Pǻ-Ƣ:苦♊;r,Fvviz m,nxxzΚ; ^g#JrNяwvP (T+׋^_ N| }7[btM bkTX^1r<p׿u!(jsBU/$ ' Tb'VS(^Oɍ=clG"جýgW%4CrnL]+Oqa {k|[/'g|,1|wc h3#0t3Fvɕ*.V  M`e d (?Gހ{?zנ'{{MqA@]伐bb;ZM)QRsD- `iQ"-`&&3TPwtŪ=Lfd~h^xj,N>BpJJiF1޾솴˅g*}%X.f;2ȃ=pݻ_#mԴOLhzuǎIa00Υcl UNFف(DOw[ ?OC}r&ZYn ʒ1C385$PQ<>E?N¤>}<~:8;?<9Nޣ+$8VH$2@n{cikY#϶-_Hz,^|㜑&|#dKnu)TI8%Ѵ8Lͷ}IJS,@$ ,~F /Jn*:KШFV8``2n'sZ<I ly d4Y vy b9Qє||Gms.n0Fɦ ?zwT>3p͞b\l?tDDzv[ܭ`dj,aÏZ>ΈZ`z.3r?z%j>vm+dyה aQ-JxB[xhkb(a@Ge` W8| dXO,mA,f`Qu{ls D9FgA?EE 7|3=Âu,T?sfJ 8X&#SsusS$<*p(OTB|E}2U]}38a T- msAsTpJJuA@Hmၻza!nev0;NC0m48aOhDArF¤Usd L ȹFґk\VIm+nHbZһqK`ZEMTGy_/4(5.[ݳ\鞣%HqamF[t/X[B y#}EZ̨mTl}y"¹WlYd(ӕZ)d0}BNOȮE-6v& h)mfٍ`_]rqL^OY0_^]tx_c9>Å@_~q[V b»5r/e~sbci-cԅ^a|)?w NnIM $RZXxȟWI+EQLDWk[((0H1omku3jŒqz?NΫ BSڳT]'B|a3XF5NN㓳2PN̩o75&s:Y 2)sĺxe5Zǻ'ul?lʌM5+D Unt{K o%*U3`-@0AGȫ)g4_ UsO?:979L%dȣ>҇?NYgtόYW7Bt<=RP\Nު6-p0E?r&&2aƊ;2D[l0 Ơ7m Ӛ? ýgy4xi').j01Bث52D/ohnj[z(]fPLhcx@G!N/@Yw#$Jf ]Sj9WalWbWG Yg06P1y+0ٍ,uïʉpt vyGTš# "R,O)s~zn&6]n& Y2~$)p4 cVX'%"|[wQiIW&sY{9y& 6/}qk6XcA*fCݼt_/w*xݝ[wCR&? 4D2(h6prDi 4*@[V_50H[+ۗ|鞔5;_RC*1ޣǹ4c?i!"F5 0ᦦ۪_!{zޏIʣB˲ݓ^Anjz4EtYYYiD'}+!lj= șlI@Y(9>d1Axp:SFt4a1se9$F:z?qY~#k/>'6O8|!r*?ytixS~kħ1&im0{txvwzͩCHM_͘@9WM7fɷv3BrQբ[A+FxqvndMHJbɸ%51'뻈LjIW'CBxEdc ;B=&_]kժ p>'r2Բ4{ߓ*?{2Ur00ODzۡ2h/u~+|g1b݀~F !Z*'2._,]I1.,MtnY*:_E_G,S%r:mPE/ЅWLY'm[Y+z8/7zsp4ŕ=_'IM-V6^H򲵉2A7wkR-14۽O]]ӋpdѣNw:&'!mGLk 4pcgh,gY|b8<><,ȫ$bV;N0s;N; WXk-hY;( GC6&V.#Rs'00$ykf Rk9!V?JQf!+D|ÓkxE Imrl" 2JGz%n&^HC+Xk8xQ jD( ǥ<5&y[ti,a3aTͫ ִ (>$Hqpq9(̴с;VF+1.!' "Uo/aXRO,j,(oӣɰwna3qtg/̮_n:<ƗLjAeAz6+sY.ű<\dDַh(8)r#lqB-QfP~sz)(9jo f.ZcXS$q /36p,/xmo}_ձ/,ؗ"j<)fЉTƁٚ+D(m Y>j':d!~DYi|{Qj8]- FqxFW_]̰of^NtDnG?wJԃ~vcn'H i[ CݶNhcbUƙt%?}@hO0ؕh.' tde@I&A̎6muPV! bɷ,)IYQ\ Hj,G-HBդ 0'0i4Ƿ4iK3QeîI ٥Q (sヶO&ER`s\}~%ǵdP 8l "vW̅*U—[my|L`, .罦ElKxP"^0s|:<"]/{u^ܒ9iTSdJB'ƾσۓVۂي9X|:t/ p\K!8u@'Ϧ ryi^\}2n˜3?1~`/</UVwX\,p/Zԝ.OvqAQ'#BWOwW+YhRF <Ü3[۫p_; =7&(I]7RK|C>YKiff8ds}'~.EHFkejj9A]dR٤vqײS4ژeѧ5LtkZfQsP+[BQ Osy7jm3Hig+];\ZurH魍{" >+†=Ȣ޷ 1?ZY\[T7SAPxCBŮ3/ZvEoyu7>{*eoni#|C;<"ɸr=b"&! =2[:VcՑ2nlҸg<;J+Aת?:Fް1?7ya"`*ZNAWVR>F('r.XbGzR3RuagM>#m7M& ,r-vTUޅmL]O!dOLv-&`evnp"#s!_p%nN9gc~ؠ?iQɂxQ* 1́.1"ݎPtLj ;џtFq)vqO8lzG;uXߒf[,٨* ͽGռ~w)3WVdW!3 Bc?b@As;ɹ`!"|'H2nWr4Ֆ _KAr㝴c`" 7xb`jxLN)({M : {ͪ'ECXs)DpRO;!8#kM T奣8^ڦJazkysr9\?E'h_ ln]_27[5jYqvƷ8@J^ %32Jr&eNc^Oa|hⶬnJe[T@5ngJҝJ~?ezh븍;0vr:KMd*ߜ9n_1ROEڄfyW8]I3!fO؊ȤUfzx]/E"t.Tw^t S'_u4N_xq{Lv$ryB|gsjDKrecHcfkm*4ǥݽw?,7Hvzj~sC 2{Zي3{[fve~;jV@ՍKM#7@Q\8y .2|t^P1vVuK}yumVs}c}"[Z &.sWI? =ldm+hQ'O; &u"i]"M~~.#}D%g#%㐑vZGS qp#fkǞd+yy2+džҢ?:'/ڑ Zv&>hQ--mWY\ 3!6$2͠Q'-+!=]A1ɖ_ZY-G,قqX :3Z]8n3:tKm~2?-GxxeG _x8og1&ζ`܉>dpBya8el_ HjD%UuhڔlVɚ\{xtn39qXd;\d3 MEԪdkc"1ejɿ1d,#(h Y؅H alΧ^M~fФ6C8yf+/$Em%c"8"Iꖨ0ttwg ]oqVH'lU]9:QWO.n (UQSE) 8+KR7|\p!;0c7sVKQCdtxtR?yDK[Rq^YmgNą3Z0!4yM"@ 'q?;Diﰊ5ȑ W1x%ЗiotyXfQBChVTٖ#ᄶRIzI'ˬUG"WTNsΪtSD! . QB~P'~ЋY]/hm !5N{5MF3ǘd8k4)Ќ~1_iOj tM|4Ocv?xgn23VL hz 4 :OLUr̕ɧ ⩩|;sEJh դBL6Rk̖5ū$P4$.E$RSD!w;(JrII(0\ j2%18NKπƳ cv)v#' ?ono\EZ%vAzG{.  nҲ=uNKh3#?}l;,f8 f)@[뭵ѓ0',h&48%mSJOߔX-ݬ4zR}k#o[%\ol5,1 ϥo/7ѥ0jƷ.W4~&eA^gfWe Ռ}"↕QzOɲ09; 2J@rqth,m#|޵Y ȯoDO>CxiZ4{( [6#l-9܊AM>TY,Q N*j-}2=oCn"5S;60?3: A#0BsP.yx3P_FK4|qM3Bʾ#$mhvOmq:ۉ>_b%؛5Z[QAy-vsʈX2 w7Gm"qaK *gף{>Ko.& P=CCswq= ݃L|{$H]ڻ7W)w%Q:OKO 3~mFyҽ)GAUⴧM”bed*Irٝ&tgߒgD (:RS,E-wzBƜ:((~q9amo-ubokԗ p̂t>fTѿarfnߋqOG7ݺ =mgвSk[ U,FQ7?'yʹ_l^_r&Ef06A g,`i9=N :I#ooФ?x3&Dj' 2v;.gbr3}(;hB˷⼷i׾u$U!\LSߜ@-Fei/NO4x">1,ݍQ)?ev6h*w+3yS̐ ',+ߍ r;T?!T[)RAo@'Dғ/mxfԊrr :>9bgΎNޝ ɵc/6ja?DѴӦS<)XD+NTOJm 6Wo[3)͊ K&TN4|w1hPpĢ:͂1oěUmt&f }֖hF ?J]b&-2o8+1Z EAnrn:JGTUZJ?bȭ+$ ][&+! H ^cVZ~Qy8<!x*f1&[,Qh)eR:;q &B\^x-x0!N[,뫠=Jf)-[6 h˜٩-VHҔu8,,@蜳FÎq$o?vXjVl՛cJ7}>#p?Bv`/}SWޤ L`'GFxg{?L!iOdp^L'$gmTޓk|Q~VըGsFa]g ?B e. ,6V)z%ߦ~jVQ=hnD  /FKuX9fiCjC _ bƼ|;YJ%[4{ӓ~:;|/V=L[p#%;V7iTVZ:.KOPh'Y (4L#W&/S!Ҧcΰ%sfæ~_hOΎnSuz>޺>XЍiuskeR>=`8#y .4lFC`-nR@*xBw2a%qISrjؚsf Ov/\ '-;1LnH݋~8hŁ*s@Rt ,)E"z]E0N1cOgdxXZvqD/nr #ws ()SffjeM?>;WgZ \ϑQgro!JVd吖!Ҏ nȚܙ!T&@QgCs{Q1h%] 3Kq3yk.+ؓ ֬}А<0ڌDmΤn}E"ØCWh*[>ы@AweZx  Fe/LC)^!$`8ޞ#ȇcVֹzEEwfiLkAe0:4HKV v7g1YC[xTKJթ0zC>S( '3 5 iDKg<Vi %].}?r}7k-3Q(݁O: 촡 ȸ+iHbvȿ~/8Ewu ['kĞW[ D 6 ݆dĉSʍ#+3k$k%u'RZ4ϕ寈onVyvfO*5 RJ$#w:TȅB_6MğJ+k;Aۺ|$Nizv=)d6&Udjt1KL;t32;CXc3[ǝ Uw^A(Ij|j-OoU¤'Ӕ@]dG4eբRO;ר:ʐm7M54:7.&X8}roz}4 %Ӣ"_FsPd&9 M轔&b˜E"Yu&wzu4^%8.؃J`5=6AK#vTQF=N< ]NtG] }(wLlk5'`huޓjJK7q]qM(VNt7c fmV1{`ZH͕-*0"Tt. -勄{0N{Z9'dEFkMULrDxO,#:=+xk,րXYhfeI'ձE{gW-dgHa‘i~<_J,]旌Thpn@yƌ]tA:@GƎJIK 9tfaeXS6!sr#udꪖ/./W+23ѯo]" ClK6eD(| 9_fvJ^=9iVKCIV| =jXfU4j4m#!|p[W&Uy%G>}hå~77mY7* nZҲ*GƐ(oi|})s{vq"KV Qrx1pxj.*2]YH(ħ$B"SLXD|4 (;8:=76D{퇢'W_EQ 4`I|<<=7Bs0EY0h]0AZoPkV2g$.D3ba֪lzSeJm5-' ]EphҖy0wUg7G1e8#$7*tg +OfŁ]72[C%Puv^L79\ @^bC$<+8E!$ "0$ n5U8X6[vhK#6cA$oT"t16l$o$fI8Ĉ9Bi% O_e>24MmۣzCJFPX0=~^}F{Ki-:<_.pəFjCip^s2rwT91Eѳ;yr6i[bΐvv˾<7]K8'G۲e3]-k MDp46(xdn3 )Fn_sP!`2>5b^)JBͺAc֡226̽gTH睟n6Eyz&Qb4_0aʵe|0OB%d+rv9bb6*;JTTГAWe%{2ZrKtKS,tŏo 7%85KHdLCCxF_ng449=X- Xr?!q_ӄLrhiv&'d۩T*28J9bnPs &->^`QҔ d=hhh͗ S޵+q[%ټ`=:xMRJ{$pj='d^92́#DـD-@[Rb(facjO/͋Keha\ZdLϢGD$7]gx˰~\I(Nw$()y9F,F y'`#ӶC{*JF)[g-5z-Co葓/qw.fҞmk4^)-̶"Y*Wi@hgk»2J&3PO,8͇)9NR=5VsB'f!@?0iY32\(J\_,{L\n_Ӛ-\M+i2#3Ot5$@)4J ["ʉ/g5\n+Wr`,'Oﳨ S:v8fiF1NGpLDx*Bf.{T3GNDK}/xmvQ4%F8cerރ'C|Fg.JPjBJiNа@Ct!:Z:/&jZR)D "y~ a2@?b+ۿˈYftL%#6QT@G(DN3`S4+$7QA>_m;<]r8 c6_3M*7&ǃ*x ,ɴ:U$C)L_%'mK/e#ƹXΎw?=pI2kM\#H@EJe=o.hOg012tN)= 4}tLlƖbIT"ƓBuGC>7%L۲T1_v[VMkgCoo ?hբ\y>H`\ 'j1`VaRZ؃3 hI.{`wRUsRSDQ]q42zyU^KڿYde SneϞ)KvHYk,WzwԹ.U.|%k#4;:h)ڄS5`ZRz/R !Urp k/WH#g \ U*mDPE[UXiPONSvG1}Ow:d\0{]ӣa&+~t7e^/N\݆7 6?-"S^W7kQsmus}>hmm7/[}~ݐgSS5W>K>i/NRdUQfBά}swDĜAOc'(j7_w&t}^k *> ա̀2(__\c 9{&* U}O͉W:TYe5Q|Z@|+M_83Z牫+i>B7nP$`a$LCc4heڒ;#wV' `MԚeT u~AJy!Wo| 7܈Qmp6S|V:&zDG2\c+Gc^l/dg 7ϕ+ BppτpBO\I2-*iDJ zMHbtҍ%ے۩EHv0ps>43f%xH3:G坆4u7_;b\ dvɂPtdCӬ=#&修!6:zBh"D[;WNh%Z-&V.hDZGvv#d޸~܍]8} MփU 7V^Yml.#l€%Az$ >!61XCc̒nYyo%RIc!8r[_s*<ޱp6@.@?a qХd`od /1CJ:>^%<\4?E8.y xi4ɥ``1ie)?{2|)B#7!Etd* BLL U]O-Ht41m>F)=|*+3N9}S?\wI~uWxFf=b[ɗm!=)T*O:7aWj"L5'] u[}LvqX zr[n{5@W=uSOW=YD.kUh`ߥz 7^~.!6a=GiV>HEjPf|tLX]Jb8"yBkEZ. Z`xmP&X\:~72o޼q W`J]6gIj[.jGKWy˅c7ug(-"t#ei>:Q12I3ᅲJ+?{`<,EBK-PRD Qtw&}\jr\T έz@HriLdQ<>E?eOG|e*"jmW4$t](p\:GOp%ͅzNu`]Cb XDr-{6lCV?76QdX &QGakg#UbJ%xrH]Ը|O"'úXn9B#Z.$R&~ŜNJ6&[۫.)7pCx49Q2\yZp퍡csJ&u&N;H],FY4\{MҰϘN:8/GX_k^xً2gzr C+_C)aF@phm!}0]D'v xߧҫ@2zгc| M]Ǎ/Ɖ:l<2xH\d\W8hm;>&`9h.~RoźmmS6tj˪I;bԓ8~)Lj 8"X9cTsƳ%z蕥!HI7ЫRY!ТG?\|<q*,B NSX.'QPeSe:<88;=糓Wg'׌FpyI,u3nx殑6=ɋH,[ ۑ?3K87 5k4s>z̦1 'T~sc{}uzY7y7?Svn U)fs}ռ4򀊣<2SJR)P4i4\LXB@02yQO^Vc Fr!/o9b H;OMBl ݋ӞSt d-rJA|36B(.Keɝ`Qτ -&Md#Y]xv'[BW7жVŻ2{׎s9ŎvЊB> 8B-`l&mc 5[NW,p9*ܵa,$h`_Npߡy.?\\m69۟A1.b̢P;'n\IW=+|xB`wkQpxr+,?֫;KfWUMEN,,K4ች߿z85`f%=OPt]-E>sߟQs{cecmR*k[Sevm=8ڿptn(G'{Gv!hYX !JM۔Yژ}p< 2 .q"FrlssZFB@l C{>#ͮ~ ]g?qn\3M4?%v2-AG d(OYz!3<\)j(͵-?sm<*#v::N =M:f#'uaMH&BR{B<)Xށj(bqŀ~o}xoå.@&eEDžM-?X ]viDF`1yxQvT{NU+ge}q (g j"󏬟Θk ;ݛvv%!p2=+[ۭ">}:Sɣqfvs̱Uڙaq眿F k!\y`\Ծ:Z!fseSGЪ2QVaJd?0Lr%+0 x H8 !"F W"{,I5D; }(v],XsLtŖh߾}LS|ݿjs#̘p6wWLiZ[Α)brʉuz<Dc&-5Cjy-8V.x,֕-I/SGB:%P+ɞ7CBZwu> hbcsI5Z2N9 ԿHI䶹_uvK 2~,,'Nm2L2jVZ+(z2X8C7&"3-@&_`XAZBa(|PCrZ/YG'ρ/aOZzjt OߺӾ_hf> ޤ@i_tz/Ffs Q<ȵuƍlֲNGa?ԡ}V PiDB0§-ӄ\ׄtY5|ڥe[+[XVYA[sctRz:d&&=ALԏXF{i3|.@ukwVM{AMpaِAs;&_u̐I8vlLLe ~ꀜ3+k}պ ΅#zb0Q4a YH՛[;}%gD1(x4 0@K蹇 [&siZ$:[EaӘn ΍ցk UzA+lo6A`N\n}M憙O`U6 #Lt|ԔԬN\`} iLcNv/b-'ү.c1ANa WhL*Mf¦ε)% s,]?q- Dvvv b,cJfv̼^ d#,ja6QK PG(T-#$;jmmook$z}u*El>]vEb,a9{fFЕ3#P| t BVr=K3g&fZ<4/*ތI@g&zE5 C-Vsk BaQ o%}i1oO=sq%b{u]z4VkTZsqQV:s}RQMk=ys]}<(xIh W\EYstw%ckkP_@9 |GxLj02#3ܧ4 oxZ 0bcks{c4]>9?|_\pο0EgyEIjc$ivƮ'$#fK?߿!, G;pp@i?ȀFQ}o1jiWXItC {E@>)ڀ0vjoZ:ֶ2Wv~ILdkm;dp8f Fo"6pZꩵE6reuV9|j#3Q`VqAۺEٺ]3M`$b8Ȯѭ#Ql"loycGomfb,=5`=T%aQ{@ugqkiA@j+haq_2r QU}ٳ $ܾdIV==rj2:WEL*vb&<%@3h؊nhQfmjTVsz\ܔHѠS:dxrJ`V<a|%vʿ\$5K`H {YI3=Aո閥_S/xtӶETM[iSm~:z$ǰҸO:Fp Ķ+iׂD k)+4v,0,X ݈}` 'tRVҗ}4 <兓qIwjW6`;FbUĝU$r/\V؄|@!7]H.4~DM||mmz}rB>䥝4#r(Aic: Z֢fjl,d)2iHpZ7(re-<:)S9}Re@|A赈IZ䤍]9k'b9i] 1;UB@#"\?]|O>B)ueRc1ړ"% ; Td l=p'`f=H[tU:Τ*Sg^DMܐTMqmJ]fs}԰8d3HHũ~Ns9m8# :msrDlԂ)W,, ɂ]"؞d%@j}qS0JZSO!9=2ϜTҞI􁖰 ﱠN_MqL(^&B9e_ _|Zdpz`n%ݮPQ:v d! lA*wlyӑ0x3׆aR^ 0NLBछ|<#O5N))wr\ ㎒`zlyLh'ۃp\&9M^4?gH1l~o޼NO./wcq^'婹Py{~q‹JF_8;K,ҋ7o\kI-D*U-z *ϻT=k{$7\LV~?46)%G# uHkN?fC愆P|(`<;*Z nҘek:3׍JjFg(͛*;$ Z<5I ~RaX`%Clr*Pq-ü:ʬz*'Bq:;s.QoM֠v,O|agNw˄ u4Υ~_,x6"9, Cjl զ5+=94n1uy ha3,8yz+0}@_[`pKפ!ds|8xc錥/,aM%.A"Q4vl4ͺ ^繆f.V3#/‹2B/]HhhĪ.XnCyEknHNBNRCdo' '6V7:I9LpD͓&V$4hpK_`,IZ2z}EVY/]@8#*n7!dqEEۛ Jqb:u&ravIꤠU<7D٭Ǚӱ(63ÎoIA7kddXoYKX'A?)_Uu(ys˵7Vijur7/\ 'pNջ-kfYm"uqސ5)ꆍGr^. <"*?.NIl+Hݛ50z@*yɾRX PжQAJx>HRiJR<|z~rLb2fW JI'NNdVb Z c!=;YV]9">=Pj*''u !ȹiݍY01s *f]Od@yLuYN&R.!4([*emM3uX+{ qUw,'ہP$ꗎeE:I6 +>ndM9>|R$ x^  @3M|TCiuHGq;j3ATny$!&CH$G$o N=v1SaY2_<ϒP4Z\d:${Œ\FLjhz]<<\ 3 Qyw=F.>|vT4| +udQw*SO2b;JKWar +һ|J- x$}β)\@'WG[ ̟(dS$MϙI5ߩY=PHmsK>ÍEΰr}F*8 '6*:r7&צR*!eDVwdNcC ϻʌ́w}fA55OB(/mRK<@KAu& IboݴִIPgBv7LA=ϏR{`} *d S:|QۊEYr|v bW ]}+?rҴ +>"0q;c9RiS4n=}ڞv~_کLx>נ*)!M_/d]LNKxaY1G? 3Ogu8$%Txw{r&6vO`r(SXr,.b?H*B7-1 {Mʴyp2NlR>jh[__o&یЇc,B/IfZs# sS yM)qJ8d/8_J;"{i6Y<]*p%Y挧E'Q Bgp#sK |`ڮL;w-Iz|v 5J.W2]JKR:S❱[d,,p|ZSm56&D $ͮ0xgraŒmNl8;p|=Q-k[r9Y_^2{DPZHsQ;ȟ Km5XWDG*:~ /0j]AvAv})"7ШϵY -"cdj$'[9p'P{k2ƢjnlzzpXYarcgCU/RA3ob/ffQ-X[է1m4Մį _P(A^\:Og'˞f~[HHTB6gGDKgҪT\k[-7Ov/Z{09‘c,^lOʈNt֋$kUo0.uIk^fZ*%sɧ6"+vpw`$aUnlnh4k(]ML^ cbNȍ|18댜M~fhS)1Cw,v;Ei:D'd~y*sϙRhQ1ae)Z`5@s{3G\Iw0˲d2ٲ n\ǣ&D:ƲrE,o:yeQ:.XyL CTl9ck'x#X!hሇivD;%ge֏.>HWfbWקPp&^ڀ*}iӅ z}ͫpJG<TG [>`j'O!͉@!]ӄh铫/.7Xk5m#[Ov,:W /4{6WDL%g1[kV x ӜXIQVAh(FAl(-_'C*̸#nbvg/$|M ¥c`w? !(R 0'Ļ]x}3Re/Z E -lc=2wNZ DI  ,S͒87 3i;6NL0X$PBS7!7?N\aQmN )&.M*nC1`WAGL5Y5g*MC-;0{49/V>>!xYΣ%=Az ¡}}YE"EI"YfyhFh11w a“f+j>+B)3PHBTKD"(X=uO: Jp_"vMq_[@9,>__\kHt!75? fܻj oKʸMیn89z:qʪo^ .RH8#3b\q]rPu!rYER;?3Y-΅0RR9{.8םB$Yy3F!'mtO0[q2'^դ>Wzl w˖:/=/kEj` vN&򵏭~:+>OFXD:[3D< Z{w]|ߊK'ת ƀZVl@ t=PݵYق{Qqqf_we!&ȧ"#BA>m' Zlr5DbKUa¡%c,`Ƙ Βfkkn NB,BYj5e : v+GU42gK?ץra2jW'F5MF4ÉC!b.$0O-W 2S,v83Ք[DeHC6 !޸`pH #q3>,fԿx\]2~d&}}kM˦g Dxeh4[x \` Qy%ǺSH;ͨQ/aD[D9CrxA ɶHl;U\|a_/N}_&RqPw N@IC6.b{+凄-ТfɝW9xSڻLKx4Z]{UEt^iӂy[zsΥ5Ŗ+ۛJkfJʋA3becc6Z+l\ZMFC0F}k/? QKF}4wk}Ov_?v&}NL~׸ vBrQ֕jϻ7_z庾* E5s!$rdCܧç^)@\7T۝tF"Q\t+EU /혳:|M.KVQ-ikυQlC;Ae HutXJMDV\^T>\ G`!J2 Xm(Wh(mX.D'icy:C7.=o}ؓ]Zpp/ŷїhk38l ;qnQpuRɿ'_${uIcE7xͮh*^HaP0IqTe*k2 [BwNqC %gKcPeDu4Qu_{fiP:^cP.+!FyA_?6m?s" q|on^S`S@C<^<@EuQe_3t*< $2ɤAoh}&:Wsߨw\_Og{Ҵn3#U;ޜhVs|n9-gdmۙf8PXIe4Dr(X~]/ Gb]F] U9HD p7M24Qm(QFa :wqߊqMP?y&fzH7`()'Ti\ieVA [}1MW+Z .|!urybZ߼,Oh+|&+#΄ycϮEzͥ/,xb^Ӳlrx\APrw+h=pf$p܀zkB#GEC_*\(;InqGsQC}=AA'4w§GGDѡ_2A`KWZV\.sb?0#f:!uw~;l]҇\nA/}hp~$"#m7@ hj!XwFCB9N3e5*8Bs3TNt MD(BQ$::EM8UN,-o08eN;7X.vMfnnOq& NimvmT$vk+h*uj2G|n'3gssuvm1>=&=HZv $Оc&"$&k,K9k#4U]S Nz|OjEuziq$BmڊFi,cKAÝ#O*ܲ a #d` k.kD½d&;;wG2)Ӷ7Ӗ,tw9˅J/CR1U^ռ/d ny4+Y]9iHHa(Up\ 1)+MD- PeekW]oH̆x -MOt7O+þ8B) \ml^˂ETxbEi~Lvrx";mF+gjh }BcŽ4iP˖nj7 5=4xpηeeKo|x,W2I.bcvĻLƙ (z(i7!+LMMN\7 ڍ?*xDm0L; /ڰ /'"<K;|B$ھ7OHZ׽b,nAvNq4n aaME>x4X.;z2xшJ^gtl+ߐG;3=bCdfvs<ۓ+dF9I:9/ >@Y_A`Wnr/zqh-&yJ{PdG%0m6Vabb/ ~]džBm&;i5!x%=tߩ+z9~8]ύƥ},ꎸqsWV.6\ӭ25k|޾fIg$T-ߑ0z$/tgh1llMɆ󓳋'W$f((lG_) LV/T9*&Ǥ/u>b"r U}nLbv/-3M~Mso8F[|x0iXT4Gk{FW\$D@_0 1VfJ⺭F+˭eQI"xP:ߥIKo7u)jL|Gr W=M\Gӓh\jhTsV{fi3`mюq6IV^(6$5eޏ`I}KY9D Ȼ537bk;=#V=)BsDSߌ[J;6mରlDbnb*1j(֢9*zETMml=p 4+ݤ{\?/xXؗ.A˴g0ߪ~ $9"q~~T Vz xPTx]$Zj+,j>pEGuHfP5?SLDŚ(ԉRg I+J?MI#lW.:?5ŋW!vhCd:AjtHC;vDblg ~NmKŦI<1Q' y6xFp=M}Dz-Bc78۳Si7g|a>E!T{Gjkw3St|Umz"Z hTKp <)J BI98:s9 Gw㡤 z":wuXVKXXʔwv5 |d҂5ANLG{&KC|W]0zR՗u:; EC;)_D9Yf w/˜7ZO[5,947pvJErz~@Qb!ךZjZ*_k0cz"S2(T"5D%H8TNAX] "?=rfF0PFrז%4"|؛LCLdz+I!"\,xRXHT"rW4zpX Y2ZH{')+*)5G\ϥCZ#:j-13󈴇X5&ᜊGIK_nzB N>SJ̉^RL Q(WZax '+q> p{fObHGP#BnxK] 8EWT؅'?F7O~bp-m)lr'syȪ:~ks[ _(!+"ՏOzѱH3믲%̈!Pھ"<N>W<J{z?O# Μ_"(+:=c<@b od[dJ$;Ni>zg'rlڅPay֨8, hn,;f+{ӝ]e_)sll_!9~?_ (/)O_r6)gYU],WdkWi8KVr峡Z"C?ԈtN$UV9RGBZTG9HM\ NFjVF^ɐ_̻ +x |&U]cS1ZƫJzDo[apHP=M`B(rp E'V-"@Crv#`xJlx)66/#ևa%:-^Un)?FAւzK);:S!L;q2eq4cɝж,s?o mG خ'H4hnt=nb6!)TeEs1\r>aZNV&7> Fkd`s![uC`5pP ^J1]~47eڬrݎ+1SpNq+4cfH{ҁQP"uNvVIpWma\ƈaʹԓw2jTH?2s G@ϨZ^;enx2Rt:QeagdXEFWjdjzS}!ޝ mcv2o[ήh5V*e4bg>DZ2v00Q,8?Ïyuzpn>yFt̜}ROv UAЦv%-%N\V/MXqA>7#FlO~$W.8Yֽ 0%Glk?…E_w3!SP1xQ,DZ:ͼKwʎ.5s{k@y6ls6Td;I7m'|EF0+.6B6}`c{7__A"u"AJQEeSN x#bJ鴉h_DOI Fn{7 G{맽 QpV֌\KQvIKe{}5[k5zIǔQ4TrQA8ϓ:rfT[7[*3d ]׬0n<]d}\f7ۅik= CΌaFc !abKZt1o- Yɷ\vF> eKTLG^\Ō2n0rԉعɦ1󯦤Z4GVW[x/TvT>"!"w?ML^<$NPf\E~:+lYkg#[Qk I)>nX:p\xdw‡+_8`ѷruir%A)q;Wrn !ɷ4j|Ii*cg8X9+ ʩ(q=&=XX/K_4DRMֽlԫHV'5>́7v/f&槆IX]`/%BP4 ZOfM:D6AR ݐtFMDUĹjt1H@ Adު$eX~wz0$,[tPF294xo2Zs nM|(+⺯i%> mA4\j(5oX[HcP/7W"E"+?[[-{oVbB6AB>⦿k\=!Nl,8|DQ"" ژM<v^sܘG>Z~8`^ Z&hO+JDZImg${t0535 [EG:/(q'v9ºkjkZӬ&N(S(poӒ̛h)=}W(jB/> @Gz~fɏ09ćtVJ"> EUdDy4Oe# pqPJsֈÌ_TԜVU m\ࡠO1$n }a'v+]dMgуEѠ E4~:SzlMHY4fC|mԵ0e|<=<:?x OH;bqZ!D&3x ZC~] awnem[G>$S {'77Qg6&W+;(0: P'X9ljTe=OxQя︟%c=7vݾVAZՔkՎ]Eq5A%|wʭc'ac,ab] ?̏bQ(a:hйt ;tP?<=3ɴ{xK|j4> +gc`'O*d>i16H  ZݽWy?rM<@35(<_!H:C/10^LQؠ[(犸jW.D JVTTBz] Ϝ1VZ@:?G=Sm˔PqmSڇfs;X2,| V.Ja!+U2 Ll%_jB%Y DS L~^Gg~9Udb-PJ ǛSgۓX~`7glx(Z9ŕHP@2.X<B"URnC__ j3~?tal5H Ng~*å=f9}R.FobejMT'jfS4EacVH!yKLb(*r;-w9t$ ^<79&:D}<Bljk\eF z23-2M Q*W䅹xέ@Z|sk1 v4:9țcЦHR(O܄AOT* v(2#6 ?YM2f:@>JRHYؕi폍=6q0Un. x`yf O7TޯPs`vчro%BFX45Q}<gi뚻s0 9LQܒwVj+ =}%2QpNw*I LiP3L{H*vF4LɱoL譐0\Ҿ@ tHo4)̾0kR2yk%D zDxJթ83.MpWQ(sH܍< 2tl MGw' S5 DllL9X [26tVh 56h RD~dNY1^ SokhO[OzEݏlH͉]5baitk%,Pb֎MNXb'7N-Y1>$pJ@IJ QM6pUms1 #W1dN A$XR .&{*BpCwi3/^4l~ qEwdOZE?Y"C/ED!B90R2uns_CF"(}政l1BSxk@CK&?{5O"ANlBIF\ T'7CD&N#RIO>.]k}ש7li2i➺@/>D֔%I|n:Id Ry_jل3Cey0"YԲCWc^s2H^y+<阋ޠyҨVvr4-ui!ZoX_hq*X8!g73&S7o\"ĸ=q-e#F{ +k-Bt^"hXV G,>,ɋ7nwTFjy͟$~wԶn,X@}njJ.?a%a!poRk)Ȭ IdwdzA@~v2XUU.:FxA6B'3-znP05R&8Ơ.YU/?B![A 6s}=DjFq`Mm D0 :y#}.@S'Z@0wB| %MM_(;+מ ˊ ͣ%;C|oy5*Ɣ%WăQK"Q`kN/KA Ĵ˃R21 hW7xWZ,o•-wߡBx'F3mD,R7^/VAsDTde3)+N:iV,@RXP\.'yJ[I2GI9oC-v6tj@p^roI^HqU ̵@d faH$1Yzd2ףneQCZPM5zwpzD􍿷qKۼ܁ǵᆭ|#!1 kjMXɝ*E߭+wo$glfY*Odi{8[9GGAfBY85xʆ$( ٍ<~Hy"KiZ<^0j^@`.-u x~"4J:r41H[o\I2/\uO8`@ZA+"p4N;CP9;,~POo WvdWd?"osBI:}p#$a^FdD.D8Y EWL*k\?Ny w-wAӇM7ŖHGPAM//XILKd? hU(kopH&-9|q5C-%"mW\{iv"6GmؐTFx֫XHCh'2R ZPͣ.PGsZ3Yo<5e£\<K K 8t 9\)XM3;zauZד5CqLy0ouԢXd,hh)pjiZ{Zp6\D,|__#)_f~hC_=CSaT-O0l.(lsߦ"ոBsk~n.H Am(9E4zes15o$8 m8Xs 7ㄙ xXQ] YHľiOR.R!ĥ,ؕ6 &ʓ=:b2ѡ ci1Hh*o@5Wzy5>2tf.#%&^op[+Y57KCϼ2!RE]XM&UTsƘ>ͦZ]^FK]yǸ^(#1ѤyBf$la2< l_0(ɂ̇NGR@\ƟkMAkjBOO ~ćsZ}F!\*DLh2ԙﻲ޵9KVTLHd2_fVøTBy]ڒqӈ Tau `,1KJ~K7Y 6B?8q)387MgaVç 9]hvWo3͍EڥA^h܎ޓ?*<88999&=`+}l{H\ l J@?su':~E7Ru %& ~-Te}CAwuaRMV5wDGb}D}PGTeVh4=VpY5՘4Sq01y`Q\A'| @Rnn&N&{Sd Jʬd;V˭0FoL]8~Og;[Z/`~=UX*䫘Āe XUpPM=$A_:8;;971Y㰌~B\h'Ue._tAT{s#N64+t +P)hrۘbYU;ɯQhq]4CذCΝ,A”IARho*y\ Ӯn7,QXJ7q7OdjNи5p|Uݥ" ].H,n@gf$( bd'k2fm+-Я7yvQ&I)8=6gj9zM+h zNʝC %'.VY_&HN_ fVѻ_MzpWpGGq79Y7gא1=_^/n[!ZJO,i2CapW IIk [YbQc-#V4q u{4| ژ/-q,Q Yr(&@((Dm59ׂ9[>N~,6w2ENݒ]'ekC {'D[= ,|y2_8Mhj &mBwdxv|z@wI,&:P5A_K;%|Ӽ?E11I^51I  sE ͢9~ v=dZ* NܖwHR A3fv$wL]OBWYbQ%D/;sabga&`V:feї; {׶UR-)mG)Ss_ps+%]D7 >]!fdU"xyAw@=^D7vl~&1*4Wxwtw `ѠK'x (t0|re/[m5sVUz?úrFa1ůfl<x;i.`uvnnҗU۠ 6r3]EPH, hAk5/_ʞem5!NXiH չ$\ͥb`Y[ҹ携8WʬX+4XƖ]Wib _zփTw}TySz2|;-umyh3nC t$[c;Kke+.Fd&=J20ZF@ݱ_k\9[&FـD%E ͮ,0 ׄ !`I!x~{vB3[-zĆoн%F͕^Pg:d=AZ7v^q-|KA 43X~-v`e=Mr2 *%`Lzsh8i$}5 *,6M:}69v^fg4x Җ7\FPt] 9z0ԇ? `kݠK~TV 8TޅY?.-3Ȭ;9|:tF{zKg9] yTQ2Jp--(uh"/A7?|9i,CZh;2z(@6+.SMU7*2f+xw#+d']r{)/j6il,S֟%9__縮H}P+Qp:cM~Ⱥ] 7)5>NgUf `"#ax?P^K+Iy1!-{pFq+{O/9Wq5lf=cxNyHڃB 魌4t['͉g?1((H̱G&sSKǾO=J0 _$&hK!+3]Cҿn1䛡G ¾(mXz.\-5B&Q178y%[^P0zqo~ =H$8%:[jjx>rDm|:N=+r{SY/!Ua3moyAl YoA^p9ZdN0' ()-CgvVV0'͘#)9\N1Cλ3(HKd0B˹U\5{h 4[+̄E9g'& ljTL_zb3k3Y\v#I.¥q ]C)vASr/2vn>rW߲}u1wPC [:qaI^.WwKz+TusO^$r>q.4K hk,d'GVN&/Z}Ii6&OY,.'h3V >*Կ]|~7opʅ6>p:z*9ᔂ%h }"-MLV@aƷc/VK.q3 ǐiO*9a@rwr yd˹E|Y2l"'㉘#7 (݉4W '"_yV7ȼTW41Fm"9\͇1 ?dӌut\./϶7rڟ7E˩cv&i{vo)S2՜woc;~yocSicTN@Bۘ<*\p 0|?;8znoO=qAbG."Hxq6)ta)Ӿì׸Y.o廻> o\=eHa"_7A'] "_ӞY> fp[Ss[Ǵ1R!Ju1q^YY]xvy"eFZvgSzHFu1<@注d!6JV\^,ʇ ,YM7do5v(xu Y^1Ԥd/cK yi^̨_<Ճ<r*h)Vuv%,'XNTлӖ[u$OLCe"!̽Z,7Ni~zpt I q;DB<..hrr \d$ xg拭dΫdx-_併3B)[jGo4zeWpY[Pl6.[3$a)?,J)f̃S̤Ҋ(FPSs74]h(hCaD/xoAmƐ -k-(C7VFfeTK8H}s `p yς[ʶ|c!M\ee<0`'nAj$c `y`.'iDȭ;KjnڕwYao96?CqKd冏j;6Q+][x jEh,RA@L V_DҫQyQ')(td3a)Sstm,tvR>N"9 `}jJL΅(ip2DhX R(iwڣ̓B[ aȮi^;z+rϧӰj8EcPgaUdm%hj?7@1}qETSkG,ONrpo>6K@a4A)vPC(5 :Mmcv<9 ٩%s3[T梪 $2l6[ۈh!; $#}+ c mDUS}]]]A>Bbå*1]5~8-Ǯg$Nk>TL1j),H)g qt;r0 N:ool?8#rńg_`IT/pcޚmYR8N=@%$bI"1l7ImU|_[q׼\0b,#Q8EkJpj WEY3FΐW\EST_ɟGd{eO~}&og:CA(zQ +OyZlxa\E`_l$d&q mpd1 o3YxWkPUxΜd%/IJ#ic7²NI=y?kT7^n3l=T{dUʿ{ewѲwE`ʱ4we͖Fr^LVC5Xa 5Y1:묍(Lxn hVJ>]57E9 *+`XF46j\>dx_~B/!_OY*f+gW)9~ϿVLX:e^CS\l ;w^,"\ܝ$ M5$~~ys,MsFnC7LJzل2ROR7Avq7ΪQt= x""#Uö8f,_l~V#YUHYՄS+~,B3WmT|}\́y1yU9ׄvJ«e;, KR;邽؝o)eoA4 /Ź;L[]O(;lWKf>A(3.PG Z8$F7h+Q$b۩!o(NpYz  /19Xl=Y ^\FUU L \uVX݃ T#^yNs< 1k4;B\G9&w!|#'Ys68O}lomr{-;n:`#(k +j.xPd]'{'䐐{5R%Zr)&OL}}Sѵ*p̷჊:zرV԰Kı S8^ˢTlXjyd_r^> |ߍ:^DR&Ql41yc\ʋ>x{ YKh>w}{ޡV^M&tS@1K 5Oݡ0$0U DTMZ Ssv͹"_9󯊰ñB4tX h1-C-1KwU% I Tnb>oSW 2 ,^LfбWCU<& ҶZQU)}eCZ錫 ູ#lhuuM3sr(#*ÕY-S?fT%#RSWuT,GW  Fԏa6AZ^iANC3ɘj5nW(G$A= 9EΠWcfQ5MG{!n4@aĚ۷_:By-pZ.#  N{j﯆L05="N e<S/(C$pwGXZ[/+<[<߫ pK"O ߓY >GFX**ύgLs [2c|&%/{:zF/DZ `+=4R;T65G-Y7a3 JhRSo;gvv3lAmxF" ĭ8|o vˁpMTBT+9*/!ЊVGӋB3<*Vmbd2Ko{`xzt< :#U(׹;#pO-#O%-ãAk_[Yu=ŧ8L g .*nvQRT5 P=|Ʀ?ω1sKҵ#&-UQIb[E 6J%x !tW+e.ς=K.z˵#HkE> oVV*2Hr{7\AחŎlG#kD)}f*$f5"hl)X)N'e .yڎA)+Nmpn#hvJwcFDDr]e$`6E.h㍒C{OHv8Pow)LM[fHIzx( KK-suD+Ѻh(Q2 }r{Y z~!}@Gf[sxoj|mП;LMTGER2BI jbxsO2GЫ#,"%8!{fGgUF@4N =ZK,Jehvla@w[.j`ZIrϼh̍4^Vy_ݴ |ge Бo9t2xw?qQd`=>(瞪[/ ނ)]~0]4j  !MW- nn|NV|~3dXo9=:>*uՀrnѦv[94 ӌ;/{<]J&`~6;ϘTr% KdGb~X VRchm;wޣ{"Sp!y?.[=f|Qěm, "C%2\MlwuPjvl|M?(8Lgm+Aަ>v&Sˢ_wkZTV(:65D2&n+'q\P5o*k]'Bnn“½+J~ˡ67`u]TZnۍhQlPy_z0Lt%`+-*h~7ҋn6x~inKp{F+vXA- dY(gSzϼL8u [L&哖 Gbv:նi qM"'T􋕯ru0F-\cys+ډ,\?s_gOZګj`$;!bQ0[׃£9EC̨^Ѷ?PaXTؐ`V|MYm „bѝ^ ӚVd|kA8wb[ZYO5*"_#|JXv)/M4MF,QK3ЗQj:oJC,9 mo8'藗⹹f2,|OXC*3Ȇˤ7f Q*豿iL8Lk Z"bYU<ʭLrn\l@XOV.+VX 6g [LcajL3V_68;zDH S{cpރ態5Lq.`m@g=Է_y 8)O}]KIV%4MkT50k5ΣPFVpFU;JY 9$} <}cOV2<<}jH. @qڽ>Sc 4TP&~PmjV+zѠ8@ČN];33q,R=S0AI|/;sWe#SJK~̌!D[76^I.t25*#!|WۘWg";{ I.R_W<2? _ӏw{]/ۚ 5u=papnY W4|10y`k]$(d7!%cv_5-*ܑUϊ˹4MZ#oL1t/~x'0_{5F'u?8>#$kBl|H 29bFn2L2@Fs*cz{seT BR5XؕnmAXgv$%e4oʌ+ #=_,=iy|sqޜ Y&&gLǡJivmeLq :PDmAf̅OFp56? elAVB=#$1FoYiAYXc&߽|f^00tx2|O18<[riUґM"m=!6ujJ!o1.kQdI޽mҩEq( ;)3&y(qfcoxE]L5T-Xd@1yTYe2Bdy׸i豇ѿÏ;8Ú,1X@W }CTql+.QH8иJ6R!_pgiŬx=]ZuS6s13%*Y跕u\>m7 r\Xy%]0hPR(g߹L)1Q#8'E7I?*^\dk:QBK0԰u|j$d$ +rs3"). +:дbrt&F'Y1vkVR8z-X&WG;