summaryrefslogtreecommitdiff
path: root/src/connection.cpp
blob: 42262846fbb789806071adba7ff4194c1d1c7f4c (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
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
/*
Minetest
Copyright (C) 2013 celeron55, Perttu Ahola <celeron55@gmail.com>

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/

#include "connection.h"
#include "main.h"
#include "serialization.h"
#include "log.h"
#include "porting.h"
#include "util/serialize.h"
#include "util/numeric.h"
#include "util/string.h"
#include "settings.h"

namespace con
{

static u16 readPeerId(u8 *packetdata)
{
	return readU16(&packetdata[4]);
}
static u8 readChannel(u8 *packetdata)
{
	return readU8(&packetdata[6]);
}

BufferedPacket makePacket(Address &address, u8 *data, u32 datasize,
		u32 protocol_id, u16 sender_peer_id, u8 channel)
{
	u32 packet_size = datasize + BASE_HEADER_SIZE;
	BufferedPacket p(packet_size);
	p.address = address;

	writeU32(&p.data[0], protocol_id);
	writeU16(&p.data[4], sender_peer_id);
	writeU8(&p.data[6], channel);

	memcpy(&p.data[BASE_HEADER_SIZE], data, datasize);

	return p;
}

BufferedPacket makePacket(Address &address, SharedBuffer<u8> &data,
		u32 protocol_id, u16 sender_peer_id, u8 channel)
{
	return makePacket(address, *data, data.getSize(),
			protocol_id, sender_peer_id, channel);
}

SharedBuffer<u8> makeOriginalPacket(
		SharedBuffer<u8> data)
{
	u32 header_size = 1;
	u32 packet_size = data.getSize() + header_size;
	SharedBuffer<u8> b(packet_size);

	writeU8(&b[0], TYPE_ORIGINAL);

	memcpy(&b[header_size], *data, data.getSize());

	return b;
}

std::list<SharedBuffer<u8> > makeSplitPacket(
		SharedBuffer<u8> data,
		u32 chunksize_max,
		u16 seqnum)
{
	// Chunk packets, containing the TYPE_SPLIT header
	std::list<SharedBuffer<u8> > chunks;
	
	u32 chunk_header_size = 7;
	u32 maximum_data_size = chunksize_max - chunk_header_size;
	u32 start = 0;
	u32 end = 0;
	u32 chunk_num = 0;
	u16 chunk_count = 0;
	do{
		end = start + maximum_data_size - 1;
		if(end > data.getSize() - 1)
			end = data.getSize() - 1;
		
		u32 payload_size = end - start + 1;
		u32 packet_size = chunk_header_size + payload_size;

		SharedBuffer<u8> chunk(packet_size);
		
		writeU8(&chunk[0], TYPE_SPLIT);
		writeU16(&chunk[1], seqnum);
		// [3] u16 chunk_count is written at next stage
		writeU16(&chunk[5], chunk_num);
		memcpy(&chunk[chunk_header_size], &data[start], payload_size);

		chunks.push_back(chunk);
		chunk_count++;
		
		start = end + 1;
		chunk_num++;
	}
	while(end != data.getSize() - 1);

	for(std::list<SharedBuffer<u8> >::iterator i = chunks.begin();
		i != chunks.end(); ++i)
	{
		// Write chunk_count
		writeU16(&((*i)[3]), chunk_count);
	}

	return chunks;
}

std::list<SharedBuffer<u8> > makeAutoSplitPacket(
		SharedBuffer<u8> data,
		u32 chunksize_max,
		u16 &split_seqnum)
{
	u32 original_header_size = 1;
	std::list<SharedBuffer<u8> > list;
	if(data.getSize() + original_header_size > chunksize_max)
	{
		list = makeSplitPacket(data, chunksize_max, split_seqnum);
		split_seqnum++;
		return list;
	}
	else
	{
		list.push_back(makeOriginalPacket(data));
	}
	return list;
}

SharedBuffer<u8> makeReliablePacket(
		SharedBuffer<u8> data,
		u16 seqnum)
{
	/*dstream<<"BEGIN SharedBuffer<u8> makeReliablePacket()"<<std::endl;
	dstream<<"data.getSize()="<<data.getSize()<<", data[0]="
			<<((unsigned int)data[0]&0xff)<<std::endl;*/
	u32 header_size = 3;
	u32 packet_size = data.getSize() + header_size;
	SharedBuffer<u8> b(packet_size);

	writeU8(&b[0], TYPE_RELIABLE);
	writeU16(&b[1], seqnum);

	memcpy(&b[header_size], *data, data.getSize());

	/*dstream<<"data.getSize()="<<data.getSize()<<", data[0]="
			<<((unsigned int)data[0]&0xff)<<std::endl;*/
	//dstream<<"END SharedBuffer<u8> makeReliablePacket()"<<std::endl;
	return b;
}

/*
	ReliablePacketBuffer
*/

ReliablePacketBuffer::ReliablePacketBuffer(): m_list_size(0) {}

void ReliablePacketBuffer::print()
{
	for(std::list<BufferedPacket>::iterator i = m_list.begin();
		i != m_list.end();
		++i)
	{
		u16 s = readU16(&(i->data[BASE_HEADER_SIZE+1]));
		dout_con<<s<<" ";
	}
}
bool ReliablePacketBuffer::empty()
{
	return m_list.empty();
}
u32 ReliablePacketBuffer::size()
{
	return m_list_size;
}
RPBSearchResult ReliablePacketBuffer::findPacket(u16 seqnum)
{
	std::list<BufferedPacket>::iterator i = m_list.begin();
	for(; i != m_list.end(); ++i)
	{
		u16 s = readU16(&(i->data[BASE_HEADER_SIZE+1]));
		/*dout_con<<"findPacket(): finding seqnum="<<seqnum
				<<", comparing to s="<<s<<std::endl;*/
		if(s == seqnum)
			break;
	}
	return i;
}
RPBSearchResult ReliablePacketBuffer::notFound()
{
	return m_list.end();
}
bool ReliablePacketBuffer::getFirstSeqnum(u16 *result)
{
	if(empty())
		return false;
	BufferedPacket p = *m_list.begin();
	*result = readU16(&p.data[BASE_HEADER_SIZE+1]);
	return true;
}
BufferedPacket ReliablePacketBuffer::popFirst()
{
	if(empty())
		throw NotFoundException("Buffer is empty");
	BufferedPacket p = *m_list.begin();
	m_list.erase(m_list.begin());
	--m_list_size;
	return p;
}
BufferedPacket ReliablePacketBuffer::popSeqnum(u16 seqnum)
{
	RPBSearchResult r = findPacket(seqnum);
	if(r == notFound()){
		dout_con<<"Not found"<<std::endl;
		throw NotFoundException("seqnum not found in buffer");
	}
	BufferedPacket p = *r;
	m_list.erase(r);
	--m_list_size;
	return p;
}
void ReliablePacketBuffer::insert(BufferedPacket &p)
{
	assert(p.data.getSize() >= BASE_HEADER_SIZE+3);
	u8 type = readU8(&p.data[BASE_HEADER_SIZE+0]);
	assert(type == TYPE_RELIABLE);
	u16 seqnum = readU16(&p.data[BASE_HEADER_SIZE+1]);

	++m_list_size;
	// Find the right place for the packet and insert it there

	// If list is empty, just add it
	if(m_list.empty())
	{
		m_list.push_back(p);
		// Done.
		return;
	}
	// Otherwise find the right place
	std::list<BufferedPacket>::iterator i = m_list.begin();
	// Find the first packet in the list which has a higher seqnum
	for(; i != m_list.end(); ++i){
		u16 s = readU16(&(i->data[BASE_HEADER_SIZE+1]));
		if(s == seqnum){
			--m_list_size;
			throw AlreadyExistsException("Same seqnum in list");
		}
		if(seqnum_higher(s, seqnum)){
			break;
		}
	}
	// If we're at the end of the list, add the packet to the
	// end of the list
	if(i == m_list.end())
	{
		m_list.push_back(p);
		// Done.
		return;
	}
	// Insert before i
	m_list.insert(i, p);
}

void ReliablePacketBuffer::incrementTimeouts(float dtime)
{
	for(std::list<BufferedPacket>::iterator i = m_list.begin();
		i != m_list.end(); ++i)
	{
		i->time += dtime;
		i->totaltime += dtime;
	}
}

void ReliablePacketBuffer::resetTimedOuts(float timeout)
{
	for(std::list<BufferedPacket>::iterator i = m_list.begin();
		i != m_list.end(); ++i)
	{
		if(i->time >= timeout)
			i->time = 0.0;
	}
}

bool ReliablePacketBuffer::anyTotaltimeReached(float timeout)
{
	for(std::list<BufferedPacket>::iterator i = m_list.begin();
		i != m_list.end(); ++i)
	{
		if(i->totaltime >= timeout)
			return true;
	}
	return false;
}

std::list<BufferedPacket> ReliablePacketBuffer::getTimedOuts(float timeout)
{
	std::list<BufferedPacket> timed_outs;
	for(std::list<BufferedPacket>::iterator i = m_list.begin();
		i != m_list.end(); ++i)
	{
		if(i->time >= timeout)
			timed_outs.push_back(*i);
	}
	return timed_outs;
}

/*
	IncomingSplitBuffer
*/

IncomingSplitBuffer::~IncomingSplitBuffer()
{
	for(std::map<u16, IncomingSplitPacket*>::iterator i = m_buf.begin();
		i != m_buf.end(); ++i)
	{
		delete i->second;
	}
}
/*
	This will throw a GotSplitPacketException when a full
	split packet is constructed.
*/
SharedBuffer<u8> IncomingSplitBuffer::insert(BufferedPacket &p, bool reliable)
{
	u32 headersize = BASE_HEADER_SIZE + 7;
	assert(p.data.getSize() >= headersize);
	u8 type = readU8(&p.data[BASE_HEADER_SIZE+0]);
	assert(type == TYPE_SPLIT);
	u16 seqnum = readU16(&p.data[BASE_HEADER_SIZE+1]);
	u16 chunk_count = readU16(&p.data[BASE_HEADER_SIZE+3]);
	u16 chunk_num = readU16(&p.data[BASE_HEADER_SIZE+5]);

	// Add if doesn't exist
	if(m_buf.find(seqnum) == m_buf.end())
	{
		IncomingSplitPacket *sp = new IncomingSplitPacket();
		sp->chunk_count = chunk_count;
		sp->reliable = reliable;
		m_buf[seqnum] = sp;
	}
	
	IncomingSplitPacket *sp = m_buf[seqnum];
	
	// TODO: These errors should be thrown or something? Dunno.
	if(chunk_count != sp->chunk_count)
		derr_con<<"Connection: WARNING: chunk_count="<<chunk_count
				<<" != sp->chunk_count="<<sp->chunk_count
				<<std::endl;
	if(reliable != sp->reliable)
		derr_con<<"Connection: WARNING: reliable="<<reliable
				<<" != sp->reliable="<<sp->reliable
				<<std::endl;

	// If chunk already exists, ignore it.
	// Sometimes two identical packets may arrive when there is network
	// lag and the server re-sends stuff.
	if(sp->chunks.find(chunk_num) != sp->chunks.end())
		return SharedBuffer<u8>();
	
	// Cut chunk data out of packet
	u32 chunkdatasize = p.data.getSize() - headersize;
	SharedBuffer<u8> chunkdata(chunkdatasize);
	memcpy(*chunkdata, &(p.data[headersize]), chunkdatasize);
	
	// Set chunk data in buffer
	sp->chunks[chunk_num] = chunkdata;
	
	// If not all chunks are received, return empty buffer
	if(sp->allReceived() == false)
		return SharedBuffer<u8>();

	// Calculate total size
	u32 totalsize = 0;
	for(std::map<u16, SharedBuffer<u8> >::iterator i = sp->chunks.begin();
		i != sp->chunks.end(); ++i)
	{
		totalsize += i->second.getSize();
	}
	
	SharedBuffer<u8> fulldata(totalsize);

	// Copy chunks to data buffer
	u32 start = 0;
	for(u32 chunk_i=0; chunk_i<sp->chunk_count;
			chunk_i++)
	{
		SharedBuffer<u8> buf = sp->chunks[chunk_i];
		u16 chunkdatasize = buf.getSize();
		memcpy(&fulldata[start], *buf, chunkdatasize);
		start += chunkdatasize;;
	}

	// Remove sp from buffer
	m_buf.erase(seqnum);
	delete sp;

	return fulldata;
}
void IncomingSplitBuffer::removeUnreliableTimedOuts(float dtime, float timeout)
{
	std::list<u16> remove_queue;
	for(std::map<u16, IncomingSplitPacket*>::iterator i = m_buf.begin();
		i != m_buf.end(); ++i)
	{
		IncomingSplitPacket *p = i->second;
		// Reliable ones are not removed by timeout
		if(p->reliable == true)
			continue;
		p->time += dtime;
		if(p->time >= timeout)
			remove_queue.push_back(i->first);
	}
	for(std::list<u16>::iterator j = remove_queue.begin();
		j != remove_queue.end(); ++j)
	{
		dout_con<<"NOTE: Removing timed out unreliable split packet"
				<<std::endl;
		delete m_buf[*j];
		m_buf.erase(*j);
	}
}

/*
	Channel
*/

Channel::Channel()
{
	next_outgoing_seqnum = SEQNUM_INITIAL;
	next_incoming_seqnum = SEQNUM_INITIAL;
	next_outgoing_split_seqnum = SEQNUM_INITIAL;
}
Channel::~Channel()
{
}

/*
	Peer
*/

Peer::Peer(u16 a_id, Address a_address):
	address(a_address),
	id(a_id),
	timeout_counter(0.0),
	ping_timer(0.0),
	resend_timeout(0.5),
	avg_rtt(-1.0),
	has_sent_with_id(false),
	m_sendtime_accu(0),
	m_max_packets_per_second(10),
	m_num_sent(0),
	m_max_num_sent(0),
	congestion_control_aim_rtt(0.2),
	congestion_control_max_rate(400),
	congestion_control_min_rate(10)
{
}
Peer::~Peer()
{
}

void Peer::reportRTT(float rtt)
{
	if(rtt >= 0.0){
		if(rtt < 0.01){
			if(m_max_packets_per_second < congestion_control_max_rate)
				m_max_packets_per_second += 10;
		} else if(rtt < congestion_control_aim_rtt){
			if(m_max_packets_per_second < congestion_control_max_rate)
				m_max_packets_per_second += 2;
		} else {
			m_max_packets_per_second *= 0.8;
			if(m_max_packets_per_second < congestion_control_min_rate)
				m_max_packets_per_second = congestion_control_min_rate;
		}
	}

	if(rtt < -0.999)
	{}
	else if(avg_rtt < 0.0)
		avg_rtt = rtt;
	else
		avg_rtt = rtt * 0.1 + avg_rtt * 0.9;
	
	// Calculate resend_timeout

	/*int reliable_count = 0;
	for(int i=0; i<CHANNEL_COUNT; i++)
	{
		reliable_count += channels[i].outgoing_reliables.size();
	}
	float timeout = avg_rtt * RESEND_TIMEOUT_FACTOR
			* ((float)reliable_count * 1);*/
	
	float timeout = avg_rtt * RESEND_TIMEOUT_FACTOR;
	if(timeout < RESEND_TIMEOUT_MIN)
		timeout = RESEND_TIMEOUT_MIN;
	if(timeout > RESEND_TIMEOUT_MAX)
		timeout = RESEND_TIMEOUT_MAX;
	resend_timeout = timeout;
}
				
/*
	Connection
*/

Connection::Connection(u32 protocol_id, u32 max_packet_size, float timeout,
		bool ipv6):
	m_protocol_id(protocol_id),
	m_max_packet_size(max_packet_size),
	m_timeout(timeout),
	m_socket(ipv6),
	m_peer_id(0),
	m_bc_peerhandler(NULL),
	m_bc_receive_timeout(0),
	m_indentation(0)
{
	m_socket.setTimeoutMs(5);

	Start();
}

Connection::Connection(u32 protocol_id, u32 max_packet_size, float timeout,
		bool ipv6, PeerHandler *peerhandler):
	m_protocol_id(protocol_id),
	m_max_packet_size(max_packet_size),
	m_timeout(timeout),
	m_socket(ipv6),
	m_peer_id(0),
	m_bc_peerhandler(peerhandler),
	m_bc_receive_timeout(0),
	m_indentation(0)
{
	m_socket.setTimeoutMs(5);

	Start();
}


Connection::~Connection()
{
	stop();
	// Delete peers
	for(std::map<u16, Peer*>::iterator
			j = m_peers.begin();
			j != m_peers.end(); ++j)
	{
		delete j->second;
	}
}

/* Internal stuff */

void * Connection::Thread()
{
	ThreadStarted();
	log_register_thread("Connection");

	dout_con<<"Connection thread started"<<std::endl;
	
	u32 curtime = porting::getTimeMs();
	u32 lasttime = curtime;

	while(getRun())
	{
		BEGIN_DEBUG_EXCEPTION_HANDLER
		
		lasttime = curtime;
		curtime = porting::getTimeMs();
		float dtime = (float)(curtime - lasttime) / 1000.;
		if(dtime > 0.1)
			dtime = 0.1;
		if(dtime < 0.0)
			dtime = 0.0;
		
		runTimeouts(dtime);

		while(!m_command_queue.empty()){
			ConnectionCommand c = m_command_queue.pop_front();
			processCommand(c);
		}

		send(dtime);

		receive();
		
		END_DEBUG_EXCEPTION_HANDLER(derr_con);
	}

	return NULL;
}

void Connection::putEvent(ConnectionEvent &e)
{
	assert(e.type != CONNEVENT_NONE);
	m_event_queue.push_back(e);
}

void Connection::processCommand(ConnectionCommand &c)
{
	switch(c.type){
	case CONNCMD_NONE:
		dout_con<<getDesc()<<" processing CONNCMD_NONE"<<std::endl;
		return;
	case CONNCMD_SERVE:
		dout_con<<getDesc()<<" processing CONNCMD_SERVE port="
				<<c.port<<std::endl;
		serve(c.port);
		return;
	case CONNCMD_CONNECT:
		dout_con<<getDesc()<<" processing CONNCMD_CONNECT"<<std::endl;
		connect(c.address);
		return;
	case CONNCMD_DISCONNECT:
		dout_con<<getDesc()<<" processing CONNCMD_DISCONNECT"<<std::endl;
		disconnect();
		return;
	case CONNCMD_SEND:
		dout_con<<getDesc()<<" processing CONNCMD_SEND"<<std::endl;
		send(c.peer_id, c.channelnum, c.data, c.reliable);
		return;
	case CONNCMD_SEND_TO_ALL:
		dout_con<<getDesc()<<" processing CONNCMD_SEND_TO_ALL"<<std::endl;
		sendToAll(c.channelnum, c.data, c.reliable);
		return;
	case CONNCMD_DELETE_PEER:
		dout_con<<getDesc()<<" processing CONNCMD_DELETE_PEER"<<std::endl;
		deletePeer(c.peer_id, false);
		return;
	}
}

void Connection::send(float dtime)
{
	for(std::map<u16, Peer*>::iterator
			j = m_peers.begin();
			j != m_peers.end(); ++j)
	{
		Peer *peer = j->second;
		peer->m_sendtime_accu += dtime;
		peer->m_num_sent = 0;
		peer->m_max_num_sent = peer->m_sendtime_accu *
				peer->m_max_packets_per_second;
	}
	Queue<OutgoingPacket> postponed_packets;
	while(!m_outgoing_queue.empty()){
		OutgoingPacket packet = m_outgoing_queue.pop_front();
		Peer *peer = getPeerNoEx(packet.peer_id);
		if(!peer)
			continue;
		if(peer->channels[packet.channelnum].outgoing_reliables.size() >= 5){
			postponed_packets.push_back(packet);
		} else if(peer->m_num_sent < peer->m_max_num_sent){
			rawSendAsPacket(packet.peer_id, packet.channelnum,
					packet.data, packet.reliable);
			peer->m_num_sent++;
		} else {
			postponed_packets.push_back(packet);
		}
	}
	while(!postponed_packets.empty()){
		m_outgoing_queue.push_back(postponed_packets.pop_front());
	}
	for(std::map<u16, Peer*>::iterator
			j = m_peers.begin();
			j != m_peers.end(); ++j)
	{
		Peer *peer = j->second;
		peer->m_sendtime_accu -= (float)peer->m_num_sent /
				peer->m_max_packets_per_second;
		if(peer->m_sendtime_accu > 10. / peer->m_max_packets_per_second)
			peer->m_sendtime_accu = 10. / peer->m_max_packets_per_second;
	}
}

// Receive packets from the network and buffers and create ConnectionEvents
void Connection::receive()
{
	u32 datasize = m_max_packet_size * 2;  // Double it just to be safe
	// TODO: We can not know how many layers of header there are.
	// For now, just assume there are no other than the base headers.
	u32 packet_maxsize = datasize + BASE_HEADER_SIZE;
	SharedBuffer<u8> packetdata(packet_maxsize);

	bool single_wait_done = false;
	
	for(u32 loop_i=0; loop_i<1000; loop_i++) // Limit in case of DoS
	{
	try{
		/* Check if some buffer has relevant data */
		{
			u16 peer_id;
			SharedBuffer<u8> resultdata;
			bool got = getFromBuffers(peer_id, resultdata);
			if(got){
				ConnectionEvent e;
				e.dataReceived(peer_id, resultdata);
				putEvent(e);
				continue;
			}
		}
		
		if(single_wait_done){
			if(m_socket.WaitData(0) == false)
				break;
		}
		
		single_wait_done = true;

		Address sender;
		s32 received_size = m_socket.Receive(sender, *packetdata, packet_maxsize);

		if(received_size < 0)
			break;
		if(received_size < BASE_HEADER_SIZE)
			continue;
		if(readU32(&packetdata[0]) != m_protocol_id)
			continue;
		
		u16 peer_id = readPeerId(*packetdata);
		u8 channelnum = readChannel(*packetdata);
		if(channelnum > CHANNEL_COUNT-1){
			PrintInfo(derr_con);
			derr_con<<"Receive(): Invalid channel "<<channelnum<<std::endl;
			throw InvalidIncomingDataException("Channel doesn't exist");
		}

		if(peer_id == PEER_ID_INEXISTENT)
		{
			/*
				Somebody is trying to send stuff to us with no peer id.
				
				Check if the same address and port was added to our peer
				list before.
				Allow only entries that have has_sent_with_id==false.
			*/

			std::map<u16, Peer*>::iterator j;
			j = m_peers.begin();
			for(; j != m_peers.end(); ++j)
			{
				Peer *peer = j->second;
				if(peer->has_sent_with_id)
					continue;
				if(peer->address == sender)
					break;
			}
			
			/*
				If no peer was found with the same address and port,
				we shall assume it is a new peer and create an entry.
			*/
			if(j == m_peers.end())
			{
				// Pass on to adding the peer
			}
			// Else: A peer was found.
			else
			{
				Peer *peer = j->second;
				peer_id = peer->id;
				PrintInfo(derr_con);
				derr_con<<"WARNING: Assuming unknown peer to be "
						<<"peer_id="<<peer_id<<std::endl;
			}
		}
		
		/*
			The peer was not found in our lists. Add it.
		*/
		if(peer_id == PEER_ID_INEXISTENT)
		{
			// Somebody wants to make a new connection

			// Get a unique peer id (2 or higher)
			u16 peer_id_new = 2;
			/*
				Find an unused peer id
			*/
			bool out_of_ids = false;
			for(;;)
			{
				// Check if exists
				if(m_peers.find(peer_id_new) == m_peers.end())
					break;
				// Check for overflow
				if(peer_id_new == 65535){
					out_of_ids = true;
					break;
				}
				peer_id_new++;
			}
			if(out_of_ids){
				errorstream<<getDesc()<<" ran out of peer ids"<<std::endl;
				continue;
			}

			PrintInfo();
			dout_con<<"Receive(): Got a packet with peer_id=PEER_ID_INEXISTENT,"
					" giving peer_id="<<peer_id_new<<std::endl;

			// Create a peer
			Peer *peer = new Peer(peer_id_new, sender);
			m_peers[peer->id] = peer;
			
			// Create peer addition event
			ConnectionEvent e;
			e.peerAdded(peer_id_new, sender);
			putEvent(e);
			
			// Create CONTROL packet to tell the peer id to the new peer.
			SharedBuffer<u8> reply(4);
			writeU8(&reply[0], TYPE_CONTROL);
			writeU8(&reply[1], CONTROLTYPE_SET_PEER_ID);
			writeU16(&reply[2], peer_id_new);
			sendAsPacket(peer_id_new, 0, reply, true);
			
			// We're now talking to a valid peer_id
			peer_id = peer_id_new;

			// Go on and process whatever it sent
		}

		std::map<u16, Peer*>::iterator node = m_peers.find(peer_id);

		if(node == m_peers.end())
		{
			// Peer not found
			// This means that the peer id of the sender is not PEER_ID_INEXISTENT
			// and it is invalid.
			PrintInfo(derr_con);
			derr_con<<"Receive(): Peer not found"<<std::endl;
			throw InvalidIncomingDataException("Peer not found (possible timeout)");
		}

		Peer *peer = node->second;

		// Validate peer address
		if(peer->address != sender)
		{
			PrintInfo(derr_con);
			derr_con<<"Peer "<<peer_id<<" sending from different address."
					" Ignoring."<<std::endl;
			continue;
		}
		
		peer->timeout_counter = 0.0;

		Channel *channel = &(peer->channels[channelnum]);
		
		// Throw the received packet to channel->processPacket()

		// Make a new SharedBuffer from the data without the base headers
		SharedBuffer<u8> strippeddata(received_size - BASE_HEADER_SIZE);
		memcpy(*strippeddata, &packetdata[BASE_HEADER_SIZE],
				strippeddata.getSize());
		
		try{
			// Process it (the result is some data with no headers made by us)
			SharedBuffer<u8> resultdata = processPacket
					(channel, strippeddata, peer_id, channelnum, false);
			
			PrintInfo();
			dout_con<<"ProcessPacket returned data of size "
					<<resultdata.getSize()<<std::endl;
			
			ConnectionEvent e;
			e.dataReceived(peer_id, resultdata);
			putEvent(e);
			continue;
		}catch(ProcessedSilentlyException &e){
		}
	}catch(InvalidIncomingDataException &e){
	}
	catch(ProcessedSilentlyException &e){
	}
	} // for
}

void Connection::runTimeouts(float dtime)
{
	float congestion_control_aim_rtt
			= g_settings->getFloat("congestion_control_aim_rtt");
	float congestion_control_max_rate
			= g_settings->getFloat("congestion_control_max_rate");
	float congestion_control_min_rate
			= g_settings->getFloat("congestion_control_min_rate");

	std::list<u16> timeouted_peers;
	for(std::map<u16, Peer*>::iterator j = m_peers.begin();
		j != m_peers.end(); ++j)
	{
		Peer *peer = j->second;

		// Update congestion control values
		peer->congestion_control_aim_rtt = congestion_control_aim_rtt;
		peer->congestion_control_max_rate = congestion_control_max_rate;
		peer->congestion_control_min_rate = congestion_control_min_rate;
		
		/*
			Check peer timeout
		*/
		peer->timeout_counter += dtime;
		if(peer->timeout_counter > m_timeout)
		{
			PrintInfo(derr_con);
			derr_con<<"RunTimeouts(): Peer "<<peer->id
					<<" has timed out."
					<<" (source=peer->timeout_counter)"
					<<std::endl;
			// Add peer to the list
			timeouted_peers.push_back(peer->id);
			// Don't bother going through the buffers of this one
			continue;
		}

		float resend_timeout = peer->resend_timeout;
		for(u16 i=0; i<CHANNEL_COUNT; i++)
		{
			std::list<BufferedPacket> timed_outs;
			
			Channel *channel = &peer->channels[i];

			// Remove timed out incomplete unreliable split packets
			channel->incoming_splits.removeUnreliableTimedOuts(dtime, m_timeout);
			
			// Increment reliable packet times
			channel->outgoing_reliables.incrementTimeouts(dtime);

			// Check reliable packet total times, remove peer if
			// over timeout.
			if(channel->outgoing_reliables.anyTotaltimeReached(m_timeout))
			{
				PrintInfo(derr_con);
				derr_con<<"RunTimeouts(): Peer "<<peer->id
						<<" has timed out."
						<<" (source=reliable packet totaltime)"
						<<std::endl;
				// Add peer to the to-be-removed list
				timeouted_peers.push_back(peer->id);
				goto nextpeer;
			}

			// Re-send timed out outgoing reliables
			
			timed_outs = channel->
					outgoing_reliables.getTimedOuts(resend_timeout);

			channel->outgoing_reliables.resetTimedOuts(resend_timeout);

			for(std::list<BufferedPacket>::iterator j = timed_outs.begin();
				j != timed_outs.end(); ++j)
			{
				u16 peer_id = readPeerId(*(j->data));
				u8 channel = readChannel(*(j->data));
				u16 seqnum = readU16(&(j->data[BASE_HEADER_SIZE+1]));

				PrintInfo(derr_con);
				derr_con<<"RE-SENDING timed-out RELIABLE to ";
				j->address.print(&derr_con);
				derr_con<<"(t/o="<<resend_timeout<<"): "
						<<"from_peer_id="<<peer_id
						<<", channel="<<((int)channel&0xff)
						<<", seqnum="<<seqnum
						<<std::endl;

				rawSend(*j);

				// Enlarge avg_rtt and resend_timeout:
				// The rtt will be at least the timeout.
				// NOTE: This won't affect the timeout of the next
				// checked channel because it was cached.
				peer->reportRTT(resend_timeout);
			}
		}
		
		/*
			Send pings
		*/
		peer->ping_timer += dtime;
		if(peer->ping_timer >= 5.0)
		{
			// Create and send PING packet
			SharedBuffer<u8> data(2);
			writeU8(&data[0], TYPE_CONTROL);
			writeU8(&data[1], CONTROLTYPE_PING);
			rawSendAsPacket(peer->id, 0, data, true);

			peer->ping_timer = 0.0;
		}
		
nextpeer:
		continue;
	}

	// Remove timed out peers
	for(std::list<u16>::iterator i = timeouted_peers.begin();
		i != timeouted_peers.end(); ++i)
	{
		PrintInfo(derr_con);
		derr_con<<"RunTimeouts(): Removing peer "<<(*i)<<std::endl;
		deletePeer(*i, true);
	}
}

void Connection::serve(u16 port)
{
	dout_con<<getDesc()<<" serving at port "<<port<<std::endl;
	try{
		m_socket.Bind(port);
		m_peer_id = PEER_ID_SERVER;
	}
	catch(SocketException &e){
		// Create event
		ConnectionEvent ce;
		ce.bindFailed();
		putEvent(ce);
	}
}

void Connection::connect(Address address)
{
	dout_con<<getDesc()<<" connecting to "<<address.serializeString()
			<<":"<<address.getPort()<<std::endl;

	std::map<u16, Peer*>::iterator node = m_peers.find(PEER_ID_SERVER);
	if(node != m_peers.end()){
		throw ConnectionException("Already connected to a server");
	}

	Peer *peer = new Peer(PEER_ID_SERVER, address);
	m_peers[peer->id] = peer;

	// Create event
	ConnectionEvent e;
	e.peerAdded(peer->id, peer->address);
	putEvent(e);
	
	m_socket.Bind(0);
	
	// Send a dummy packet to server with peer_id = PEER_ID_INEXISTENT
	m_peer_id = PEER_ID_INEXISTENT;
	SharedBuffer<u8> data(0);
	Send(PEER_ID_SERVER, 0, data, true);
}

void Connection::disconnect()
{
	dout_con<<getDesc()<<" disconnecting"<<std::endl;

	// Create and send DISCO packet
	SharedBuffer<u8> data(2);
	writeU8(&data[0], TYPE_CONTROL);
	writeU8(&data[1], CONTROLTYPE_DISCO);
	
	// Send to all
	for(std::map<u16, Peer*>::iterator j = m_peers.begin();
		j != m_peers.end(); ++j)
	{
		Peer *peer = j->second;
		rawSendAsPacket(peer->id, 0, data, false);
	}
}

void Connection::sendToAll(u8 channelnum, SharedBuffer<u8> data, bool reliable)
{
	for(std::map<u16, Peer*>::iterator j = m_peers.begin();
		j != m_peers.end(); ++j)
	{
		Peer *peer = j->second;
		send(peer->id, channelnum, data, reliable);
	}
}

void Connection::send(u16 peer_id, u8 channelnum,
		SharedBuffer<u8> data, bool reliable)
{
	dout_con<<getDesc()<<" sending to peer_id="<<peer_id<<std::endl;

	assert(channelnum < CHANNEL_COUNT);
	
	Peer *peer = getPeerNoEx(peer_id);
	if(peer == NULL)
		return;
	Channel *channel = &(peer->channels[channelnum]);

	u32 chunksize_max = m_max_packet_size - BASE_HEADER_SIZE;
	if(reliable)
		chunksize_max -= RELIABLE_HEADER_SIZE;

	std::list<SharedBuffer<u8> > originals;
	originals = makeAutoSplitPacket(data, chunksize_max,
			channel->next_outgoing_split_seqnum);
	
	for(std::list<SharedBuffer<u8> >::iterator i = originals.begin();
		i != originals.end(); ++i)
	{
		SharedBuffer<u8> original = *i;
		
		sendAsPacket(peer_id, channelnum, original, reliable);
	}
}

void Connection::sendAsPacket(u16 peer_id, u8 channelnum,
		SharedBuffer<u8> data, bool reliable)
{
	OutgoingPacket packet(peer_id, channelnum, data, reliable);
	m_outgoing_queue.push_back(packet);
}

void Connection::rawSendAsPacket(u16 peer_id, u8 channelnum,
		SharedBuffer<u8> data, bool reliable)
{
	Peer *peer = getPeerNoEx(peer_id);
	if(!peer)
		return;
	Channel *channel = &(peer->channels[channelnum]);

	if(reliable)
	{
		u16 seqnum = channel->next_outgoing_seqnum;
		channel->next_outgoing_seqnum++;

		SharedBuffer<u8> reliable = makeReliablePacket(data, seqnum);

		// Add base headers and make a packet
		BufferedPacket p = makePacket(peer->address, reliable,
				m_protocol_id, m_peer_id, channelnum);
		
		try{
			// Buffer the packet
			channel->outgoing_reliables.insert(p);
		}
		catch(AlreadyExistsException &e)
		{
			PrintInfo(derr_con);
			derr_con<<"WARNING: Going to send a reliable packet "
					"seqnum="<<seqnum<<" that is already "
					"in outgoing buffer"<<std::endl;
			//assert(0);
		}
		
		// Send the packet
		rawSend(p);
	}
	else
	{
		// Add base headers and make a packet
		BufferedPacket p = makePacket(peer->address, data,
				m_protocol_id, m_peer_id, channelnum);

		// Send the packet
		rawSend(p);
	}
}

void Connection::rawSend(const BufferedPacket &packet)
{
	try{
		m_socket.Send(packet.address, *packet.data, packet.data.getSize());
	} catch(SendFailedException &e){
		derr_con<<"Connection::rawSend(): SendFailedException: "
				<<packet.address.serializeString()<<std::endl;
	}
}

Peer* Connection::getPeer(u16 peer_id)
{
	std::map<u16, Peer*>::iterator node = m_peers.find(peer_id);

	if(node == m_peers.end()){
		throw PeerNotFoundException("GetPeer: Peer not found (possible timeout)");
	}

	// Error checking
	assert(node->second->id == peer_id);

	return node->second;
}

Peer* Connection::getPeerNoEx(u16 peer_id)
{
	std::map<u16, Peer*>::iterator node = m_peers.find(peer_id);

	if(node == m_peers.end()){
		return NULL;
	}

	// Error checking
	assert(node->second->id == peer_id);

	return node->second;
}

std::list<Peer*> Connection::getPeers()
{
	std::list<Peer*> list;
	for(std::map<u16, Peer*>::iterator j = m_peers.begin();
		j != m_peers.end(); ++j)
	{
		Peer *peer = j->second;
		list.push_back(peer);
	}
	return list;
}

bool Connection::getFromBuffers(u16 &peer_id, SharedBuffer<u8> &dst)
{
	for(std::map<u16, Peer*>::iterator j = m_peers.begin();
		j != m_peers.end(); ++j)
	{
		Peer *peer = j->second;
		for(u16 i=0; i<CHANNEL_COUNT; i++)
		{
			Channel *channel = &peer->channels[i];
			SharedBuffer<u8> resultdata;
			bool got = checkIncomingBuffers(channel, peer_id, resultdata);
			if(got){
				dst = resultdata;
				return true;
			}
		}
	}
	return false;
}

bool Connection::checkIncomingBuffers(Channel *channel, u16 &peer_id,
		SharedBuffer<u8> &dst)
{
	u16 firstseqnum = 0;
	// Clear old packets from start of buffer
	for(;;){
		bool found = channel->incoming_reliables.getFirstSeqnum(&firstseqnum);
		if(!found)
			break;
		if(seqnum_higher(channel->next_incoming_seqnum, firstseqnum))
			channel->incoming_reliables.popFirst();
		else
			break;
	}
	// This happens if all packets are old
	
	if(channel->incoming_reliables.empty() == false)
	{
		if(firstseqnum == channel->next_incoming_seqnum)
		{
			BufferedPacket p = channel->incoming_reliables.popFirst();
			
			peer_id = readPeerId(*p.data);
			u8 channelnum = readChannel(*p.data);
			u16 seqnum = readU16(&p.data[BASE_HEADER_SIZE+1]);

			PrintInfo();
			dout_con<<"UNBUFFERING TYPE_RELIABLE"
					<<" seqnum="<<seqnum
					<<" peer_id="<<peer_id
					<<" channel="<<((int)channelnum&0xff)
					<<std::endl;

			channel->next_incoming_seqnum++;
			
			u32 headers_size = BASE_HEADER_SIZE + RELIABLE_HEADER_SIZE;
			// Get out the inside packet and re-process it
			SharedBuffer<u8> payload(p.data.getSize() - headers_size);
			memcpy(*payload, &p.data[headers_size], payload.getSize());

			dst = processPacket(channel, payload, peer_id, channelnum, true);
			return true;
		}
	}
	return false;
}

SharedBuffer<u8> Connection::processPacket(Channel *channel,
		SharedBuffer<u8> packetdata, u16 peer_id,
		u8 channelnum, bool reliable)
{
	IndentationRaiser iraiser(&(m_indentation));

	if(packetdata.getSize() < 1)
		throw InvalidIncomingDataException("packetdata.getSize() < 1");

	u8 type = readU8(&packetdata[0]);
	
	if(type == TYPE_CONTROL)
	{
		if(packetdata.getSize() < 2)
			throw InvalidIncomingDataException("packetdata.getSize() < 2");

		u8 controltype = readU8(&packetdata[1]);

		if(controltype == CONTROLTYPE_ACK)
		{
			if(packetdata.getSize() < 4)
				throw InvalidIncomingDataException
						("packetdata.getSize() < 4 (ACK header size)");

			u16 seqnum = readU16(&packetdata[2]);
			PrintInfo();
			dout_con<<"Got CONTROLTYPE_ACK: channelnum="
					<<((int)channelnum&0xff)<<", peer_id="<<peer_id
					<<", seqnum="<<seqnum<<std::endl;

			try{
				BufferedPacket p = channel->outgoing_reliables.popSeqnum(seqnum);
				// Get round trip time
				float rtt = p.totaltime;

				// Let peer calculate stuff according to it
				// (avg_rtt and resend_timeout)
				Peer *peer = getPeer(peer_id);
				peer->reportRTT(rtt);

				//PrintInfo(dout_con);
				//dout_con<<"RTT = "<<rtt<<std::endl;

				/*dout_con<<"OUTGOING: ";
				PrintInfo();
				channel->outgoing_reliables.print();
				dout_con<<std::endl;*/
			}
			catch(NotFoundException &e){
				PrintInfo(derr_con);
				derr_con<<"WARNING: ACKed packet not "
						"in outgoing queue"
						<<std::endl;
			}

			throw ProcessedSilentlyException("Got an ACK");
		}
		else if(controltype == CONTROLTYPE_SET_PEER_ID)
		{
			if(packetdata.getSize() < 4)
				throw InvalidIncomingDataException
						("packetdata.getSize() < 4 (SET_PEER_ID header size)");
			u16 peer_id_new = readU16(&packetdata[2]);
			PrintInfo();
			dout_con<<"Got new peer id: "<<peer_id_new<<"... "<<std::endl;

			if(GetPeerID() != PEER_ID_INEXISTENT)
			{
				PrintInfo(derr_con);
				derr_con<<"WARNING: Not changing"
						" existing peer id."<<std::endl;
			}
			else
			{
				dout_con<<"changing."<<std::endl;
				SetPeerID(peer_id_new);
			}
			throw ProcessedSilentlyException("Got a SET_PEER_ID");
		}
		else if(controltype == CONTROLTYPE_PING)
		{
			// Just ignore it, the incoming data already reset
			// the timeout counter
			PrintInfo();
			dout_con<<"PING"<<std::endl;
			throw ProcessedSilentlyException("Got a PING");
		}
		else if(controltype == CONTROLTYPE_DISCO)
		{
			// Just ignore it, the incoming data already reset
			// the timeout counter
			PrintInfo();
			dout_con<<"DISCO: Removing peer "<<(peer_id)<<std::endl;
			
			if(deletePeer(peer_id, false) == false)
			{
				PrintInfo(derr_con);
				derr_con<<"DISCO: Peer not found"<<std::endl;
			}

			throw ProcessedSilentlyException("Got a DISCO");
		}
		else{
			PrintInfo(derr_con);
			derr_con<<"INVALID TYPE_CONTROL: invalid controltype="
					<<((int)controltype&0xff)<<std::endl;
			throw InvalidIncomingDataException("Invalid control type");
		}
	}
	else if(type == TYPE_ORIGINAL)
	{
		if(packetdata.getSize() < ORIGINAL_HEADER_SIZE)
			throw InvalidIncomingDataException
					("packetdata.getSize() < ORIGINAL_HEADER_SIZE");
		PrintInfo();
		dout_con<<"RETURNING TYPE_ORIGINAL to user"
				<<std::endl;
		// Get the inside packet out and return it
		SharedBuffer<u8> payload(packetdata.getSize() - ORIGINAL_HEADER_SIZE);
		memcpy(*payload, &packetdata[ORIGINAL_HEADER_SIZE], payload.getSize());
		return payload;
	}
	else if(type == TYPE_SPLIT)
	{
		// We have to create a packet again for buffering
		// This isn't actually too bad an idea.
		BufferedPacket packet = makePacket(
				getPeer(peer_id)->address,
				packetdata,
				GetProtocolID(),
				peer_id,
				channelnum);
		// Buffer the packet
		SharedBuffer<u8> data = channel->incoming_splits.insert(packet, reliable);
		if(data.getSize() != 0)
		{
			PrintInfo();
			dout_con<<"RETURNING TYPE_SPLIT: Constructed full data, "
					<<"size="<<data.getSize()<<std::endl;
			return data;
		}
		PrintInfo();
		dout_con<<"BUFFERED TYPE_SPLIT"<<std::endl;
		throw ProcessedSilentlyException("Buffered a split packet chunk");
	}
	else if(type == TYPE_RELIABLE)
	{
		// Recursive reliable packets not allowed
		if(reliable)
			throw InvalidIncomingDataException("Found nested reliable packets");

		if(packetdata.getSize() < RELIABLE_HEADER_SIZE)
			throw InvalidIncomingDataException
					("packetdata.getSize() < RELIABLE_HEADER_SIZE");

		u16 seqnum = readU16(&packetdata[1]);

		bool is_future_packet = seqnum_higher(seqnum, channel->next_incoming_seqnum);
		bool is_old_packet = seqnum_higher(channel->next_incoming_seqnum, seqnum);
		
		PrintInfo();
		if(is_future_packet)
			dout_con<<"BUFFERING";
		else if(is_old_packet)
			dout_con<<"OLD";
		else
			dout_con<<"RECUR";
		dout_con<<" TYPE_RELIABLE seqnum="<<seqnum
				<<" next="<<channel->next_incoming_seqnum;
		dout_con<<" [sending CONTROLTYPE_ACK"
				" to peer_id="<<peer_id<<"]";
		dout_con<<std::endl;
		
		//DEBUG
		//assert(channel->incoming_reliables.size() < 100);

		// Send a CONTROLTYPE_ACK
		SharedBuffer<u8> reply(4);
		writeU8(&reply[0], TYPE_CONTROL);
		writeU8(&reply[1], CONTROLTYPE_ACK);
		writeU16(&reply[2], seqnum);
		rawSendAsPacket(peer_id, channelnum, reply, false);

		//if(seqnum_higher(seqnum, channel->next_incoming_seqnum))
		if(is_future_packet)
		{
			/*PrintInfo();
			dout_con<<"Buffering reliable packet (seqnum="
					<<seqnum<<")"<<std::endl;*/
			
			// This one comes later, buffer it.
			// Actually we have to make a packet to buffer one.
			// Well, we have all the ingredients, so just do it.
			BufferedPacket packet = makePacket(
					getPeer(peer_id)->address,
					packetdata,
					GetProtocolID(),
					peer_id,
					channelnum);
			try{
				channel->incoming_reliables.insert(packet);
				
				/*PrintInfo();
				dout_con<<"INCOMING: ";
				channel->incoming_reliables.print();
				dout_con<<std::endl;*/
			}
			catch(AlreadyExistsException &e)
			{
			}

			throw ProcessedSilentlyException("Buffered future reliable packet");
		}
		//else if(seqnum_higher(channel->next_incoming_seqnum, seqnum))
		else if(is_old_packet)
		{
			// An old packet, dump it
			throw InvalidIncomingDataException("Got an old reliable packet");
		}

		channel->next_incoming_seqnum++;

		// Get out the inside packet and re-process it
		SharedBuffer<u8> payload(packetdata.getSize() - RELIABLE_HEADER_SIZE);
		memcpy(*payload, &packetdata[RELIABLE_HEADER_SIZE], payload.getSize());

		return processPacket(channel, payload, peer_id, channelnum, true);
	}
	else
	{
		PrintInfo(derr_con);
		derr_con<<"Got invalid type="<<((int)type&0xff)<<std::endl;
		throw InvalidIncomingDataException("Invalid packet type");
	}
	
	// We should never get here.
	// If you get here, add an exception or a return to some of the
	// above conditionals.
	assert(0);
	throw BaseException("Error in Channel::ProcessPacket()");
}

bool Connection::deletePeer(u16 peer_id, bool timeout)
{
	if(m_peers.find(peer_id) == m_peers.end())
		return false;
	
	Peer *peer = m_peers[peer_id];

	// Create event
	ConnectionEvent e;
	e.peerRemoved(peer_id, timeout, peer->address);
	putEvent(e);

	delete m_peers[peer_id];
	m_peers.erase(peer_id);
	return true;
}

/* Interface */

ConnectionEvent Connection::getEvent()
{
	if(m_event_queue.empty()){
		ConnectionEvent e;
		e.type = CONNEVENT_NONE;
		return e;
	}
	return m_event_queue.pop_front();
}

ConnectionEvent Connection::waitEvent(u32 timeout_ms)
{
	try{
		return m_event_queue.pop_front(timeout_ms);
	} catch(ItemNotFoundException &ex){
		ConnectionEvent e;
		e.type = CONNEVENT_NONE;
		return e;
	}
}

void Connection::putCommand(ConnectionCommand &c)
{
	m_command_queue.push_back(c);
}

void Connection::Serve(unsigned short port)
{
	ConnectionCommand c;
	c.serve(port);
	putCommand(c);
}

void Connection::Connect(Address address)
{
	ConnectionCommand c;
	c.connect(address);
	putCommand(c);
}

bool Connection::Connected()
{
	JMutexAutoLock peerlock(m_peers_mutex);

	if(m_peers.size() != 1)
		return false;
		
	std::map<u16, Peer*>::iterator node = m_peers.find(PEER_ID_SERVER);
	if(node == m_peers.end())
		return false;
	
	if(m_peer_id == PEER_ID_INEXISTENT)
		return false;
	
	return true;
}

void Connection::Disconnect()
{
	ConnectionCommand c;
	c.disconnect();
	putCommand(c);
}

u32 Connection::Receive(u16 &peer_id, SharedBuffer<u8> &data)
{
	for(;;){
		ConnectionEvent e = waitEvent(m_bc_receive_timeout);
		if(e.type != CONNEVENT_NONE)
			dout_con<<getDesc()<<": Receive: got event: "
					<<e.describe()<<std::endl;
		switch(e.type){
		case CONNEVENT_NONE:
			throw NoIncomingDataException("No incoming data");
		case CONNEVENT_DATA_RECEIVED:
			peer_id = e.peer_id;
			data = SharedBuffer<u8>(e.data);
			return e.data.getSize();
		case CONNEVENT_PEER_ADDED: {
			Peer tmp(e.peer_id, e.address);
			if(m_bc_peerhandler)
				m_bc_peerhandler->peerAdded(&tmp);
			continue; }
		case CONNEVENT_PEER_REMOVED: {
			Peer tmp(e.peer_id, e.address);
			if(m_bc_peerhandler)
				m_bc_peerhandler->deletingPeer(&tmp, e.timeout);
			continue; }
		case CONNEVENT_BIND_FAILED:
			throw ConnectionBindFailed("Failed to bind socket "
					"(port already in use?)");
		}
	}
	throw NoIncomingDataException("No incoming data");
}

void Connection::SendToAll(u8 channelnum, SharedBuffer<u8> data, bool reliable)
{
	assert(channelnum < CHANNEL_COUNT);

	ConnectionCommand c;
	c.sendToAll(channelnum, data, reliable);
	putCommand(c);
}

void Connection::Send(u16 peer_id, u8 channelnum,
		SharedBuffer<u8> data, bool reliable)
{
	assert(channelnum < CHANNEL_COUNT);

	ConnectionCommand c;
	c.send(peer_id, channelnum, data, reliable);
	putCommand(c);
}

void Connection::RunTimeouts(float dtime)
{
	// No-op
}

Address Connection::GetPeerAddress(u16 peer_id)
{
	JMutexAutoLock peerlock(m_peers_mutex);
	return getPeer(peer_id)->address;
}

float Connection::GetPeerAvgRTT(u16 peer_id)
{
	JMutexAutoLock peerlock(m_peers_mutex);
	return getPeer(peer_id)->avg_rtt;
}

void Connection::DeletePeer(u16 peer_id)
{
	ConnectionCommand c;
	c.deletePeer(peer_id);
	putCommand(c);
}

void Connection::PrintInfo(std::ostream &out)
{
	out<<getDesc()<<": ";
}

void Connection::PrintInfo()
{
	PrintInfo(dout_con);
}

std::string Connection::getDesc()
{
	return std::string("con(")+itos(m_socket.GetHandle())+"/"+itos(m_peer_id)+")";
}

} // namespace

D{~:ʞJ4ED93V|4b#8D(0bc( y &~uڂ$тddZLgH/| P v LƈK wzt<C)T܈̆qI;&R*7R u|)Um:L GmАM Y>$ Dyij/xmy3w8qRE+t&A/Tx.m+bsr?+h\EX,u 8{e"Q"ֲ]Q}2 ?I|.y_1 J]6O|!7tƁL[ "4cZsoCv k}R_gkqQ"0HfX`.% !#Kw92>KK|c^V{Fjl^EJC$BB.ֳ`1YlnGY-Nxc,oVJefVam2ÓM߽ZQ?33!#E:9皡^SWbEȍa)Cmsq2S_t^E?jČ ~ %Zc ن(({/2ㆉbbmr03o̸i5rn본(_թbSP4vh$]\lP!GCExK7{z~\+/ ƶ+9'<:EiȐcI4WTd22 7xԓGu, *"d8ik.ngb#GDЊ :ϔEl6d#ZCGJL.* Qe5]n wC!w[}IGb?B2xI$DI$I$X;'{,tqAHp!R ~v]rJmP1!i6"&}G i`"nǣSUAQPԪGa7Jp.t3Ŷ zN𣡺4$YG'DEHH*~8r73EWÀ ]AJV(L!rI?w zW#mo(wx;ԳZi>kpMs/[M䄸ul v"XXq{7ժߖ 罈įppsC}[ |BLuϱ*D>~ Fn_-Qm:?9,ܒ-*pt HvW2aMSIc\#fLO3J88(AܴU?Xrǚ1/ݝW&l9/)?o|(뇎L&q(y^O #, :{UOJػ-"]=LtkEbzM98MO8\bdӾJٴxƦ0[$A1iPaxv++Ea Fky3H/?r%xvCvH:JnThaS+ĚY5mp̡lwT=W+Мn}1؁QU mq4HFg3e;O9!1F2tޚ6'Y嶟WLʪ**̈́Q&fTyHcY 1Zg]1`;1!E;*0\h3{ Փ xCfٶL.zj cZ1BĈ5(26Pi gJ0#j0nZ$vgQNTiZ(09"C`Šg&3' p׻i4pѾ ƎXfCʺ3QTL0?ޚI`t:,)Xv҅BBuȞyi+8zIE"`ʎ0- >L$?qe3&BXM" `l!A @yIcNwhxh̋Iӏ."b^K BgǮNe4F7#ͦy/7i=X`A]w#lAH[B],ZAxi66vp6銰h(4ܨfvZBdD!,t.aG{SF;uaUUUPhhI$d_n$I$s`(]N)2yPEd`%Ql6\lPae?[Uç@8D09z.̬38aȨT8Fx,j ED!,9D?H$ԢEm.47Tg;'.C *&a!f^TvBNcɥD[:/&T 模E aF%j:p &I2R VM@p\.σ Dw+ R\`?[0#.BM$ެi7̢*ʋ2$) mOA۷Ҝm-k>rI#O%aKݗFD~ & >Od8#7jIU:=\;mV=oK )mrChn/H䒚)Iq#)%3Ѱ=4^=ZRWBVeeGZK,l6_H CU`؏(SKـ"ZW rvú%K"P V m(~Ï742QO շ,x#Q>#ͻ@5̄. I8]`& Һ`'zvoNNd%}L~YwփK۟M|>8i}B!-|$`Jj%4u(qp#n2: 6j,vyՍν$'Q^P*G46Ry *}cx-eDkEiJZdbr˵ķafI:\N=N2O]8kRu'TvvFM"C+$ +2/wFtH s!Nw{'ʠ†`@5V A 7Cgo )(d8*2TC-]TAV[T8 vpwȒkK;ȈaÌt ) Ks3(Pl>(/$=Xdi b(ӌ>>xUѷ|+5B+n 2(B(nl9]-v TaºߙqC]uˆ\mHOUoj=N+} Pycy 1m8|H6܁wP:]aeCY})xz5eyGc7;y&1wDD^$D C!jCg289RхBƨ/=QrU*:3(R\ Y@]薆6v b. JzHD _,sfZ G\>rgi)M@])ď{)jBfѶrJ%וHsK"RfAbKC1aoEM_N7˼Gh]Wq;F, lNs8);!c9y&lC 5Fɘ~8 3LL^5;uB"d3t4tM QD6i]> TC݈+$%ɝ0g=vbq+ρ3x wa }4Rwxl!Xte d:r w.^{2/c>rh9^zEar=BLXP(l%4\uh24\^%/ge P!~Qhu˔qAi>}sE?[^蚏m.$!@[:X+`Apζ21n|`A@dGgB<}~'u{7euufl sь$b+;zkm av&kקcTt2om\4&5!YFj âDz'&1ߵ@kEr&<׾+D%|_3*&wBηb"D$̽iZ 5G&f Щ$9,$"a]C$4C9JlIQ=?CǗ@YIIgƷfVnYS\ b-}OI$TWfSUQ% ;à!  v"vM~фݳ{hC |WGs_!_c#09ިJnec, 3b~IMeQ]82 Zꥨ2 +MBz!ѳgNg`40bO=ե! JCo>/)Tv6)vw>}[6K7ԷBۂ@v}/MfJQx BI-b|Ess9oܗo lX)Bd ~[E͙: \N&^}ո+Yؼr?4F0!t:ON|e3p$ril~@ 0oħcjNtH>j+^~nQ/jx TB FPCre!*-]U:`#K*DȄTSb/ 053?}_9[)K<{<E2}أږD.1-A2B%`ň(TD;yh/o8k"3M8<4f%:z2";h:-+ \)맩4_+p:d|+zD侈Tpo:vO!y'-Xd=L{U2 "viBH>rBA J+EҎwà|Ȩ $@b@)p|4nTF]4_ߺS&uc9> ħr:2+첡Y_"pz &G\2[㭜 0G/: otWT܃`_yz*k;㭐;v/ ?:Cu|SG@`OW;w+p؇"P%߳\rwO.qœ.<.ULĹbX^g~0CEGGI 03Ɓ+ Lld|0<j6aj}KzI!oE .N_Ċ퐍2FmgϷr'\B '5 XϽۼ1̆v+V 5(54#=;:P#4o|vA LT߫Ɵp BCvσM{4I`Bhe|)[v:5Mve}C~t =WQ30_e!H`,`~c۽ςzL? $}kE$Q3h}t|oeLrye6tu!^[J]ԁh@,AD&m#we%bIadc8ܱN:IQ36]8۱ a {5zgU ڢ #,tT?f= oݠTuaO}xqoT4ӽ_8H@+h0iT\QaHZ+Jϴ=r* /an!"ak? 0QhExY Kj.TVu@Q hSr  { )*F WC+Gm!%^#3z<"ow=*"4 ~f6rhr=dk:jHO  eX)}L\_U jN(`#aY&#JTƖOn+8XWѻxT<3*$I& K ujM=TdoTDO\>aGixsʑعq4"An;ٌe-_m^]3SMI*䃆>ӽb<X!!d*NGkگw+](qCpTYy~uwN3/..c~ 3Ki-qq 1z-Al\QʘrQCUUq[f1PV#UzoUb>^} ˝yM KSAy:ƊׇoWw8;_)*p6m w,e/N|'Nz&!Nt<ގm{ ztK=,n`eaΘtf,%`w Х$IՐN>z|Ɨx&ڻUvQT6w NI (".F.UBj-w{qmPҨ P]ʻ+(%-GU{Bز?Iݝr\ro~x& "Q['o>IvoyP:?-37Y.w~s'ֶq8#{Qb<O<x*nX1R?$C/qX0Nzz~fgI?|?w@ϝԣPr6j~Ul`:3{oῄ;'hB=dME! n y[!&mz7B kH E)(P!RĔ){}rh%z), Q%|7~.cb PH&*BlxcUӑQ:C$2'ҘޟvYGHRoƞϳb<ߢQodyVmY v7H(D jk6g/k ( ˺ձ/f"k44)Da4t`N,oӣ WV7N^ ,ɒ,*, > WfreN|qb6xgkr= e}%|ḤE>WDoSӭ>v^Sk PĆ(" "lPbbmm?<Б}1&"!M\ * T PM @DGףE|KCyL$aJ=2?Hƕ :Bh<2S'9ane ;GdkOxpTu9& e2K$*YMN+'YWvK>[S:|| 4Wh5t 6bfI$!!'}>xN"6$ o{6қ G\ ,7k|DVF6O"Y` >ۺ5b6Ɩ0"0`^UoPObE1$' wh@0ۍwW#""twT-izɭoC]1`CY|<~kATIׄ|Z g~Rq\[-,D1,Hgw翂gv'[Z0>uݐFq%aq{"%"@UҠ qu*:-E r"&&Zt}݃"rZA24Oq#N1= 5.>1{TQBlKG6jPTQD1&P%[(ZJ)bZ)O3fJ*45"љ#cAAAF AX˭/9srZGUV0E@$C<\9]p4(~vJSQzEOO)~,i~X 1TZ Z [t4_RoG U%b&\(- ;DC\2u൹R.a%"?h1Y0Bz\:'B=lt(jsƢ1؅پc]fZK"q JЇsEPtG|GQL-͔RY=GwѳTO~6:=ܛh}iE~Of#[nd?}' POYW{-GfE23TRD%PQĔ-1)KO+j*dZPba?®ؿ>j\&jB@wGw l}uax\D_Zqa=(H*?~$`VSʱGn ApASKR|0Dv@qpO#{>.!'kҜ2u"oOozQAyaF`a#)&?ܢoPHʌi!- Lr˺sٟzH1@ ~Jm#-OHw#w}_(?M/#,|[Ϸ%8nHt_G?Kgl `5 v!P Ku;khgYYɠ:6ϩ Sbu'ǀXNy9} H}HNڴ=M1uU&Kdy#1@ʼiH1Tl:%EzryxrkՕ6c93?,-߯^{5|Ug:@*8..;gP~⧪rt9}hG=(Je-dhdqm腹;b髝IpeϜ]Ľh'*2Bo׿;eo֞c,]>xv򿚼\Whsp>^>;(-i1^'+æJ&Fl_YC酰uK,s} &Ps1K.];JgV~-dnfny;B\nwV=6ݱ}P}W8\vn@>8{1g=Pv}ؾ^2mo>5{u50zy?G'On~}0a5 Zn[ݘ|cؼ8vy䯖?A|'IDa|i|{UKYe%%/w_KQȇ<.P-Sh[,k}˷nݷ->~?ӣ񱿵FUmϗG>OקWϫ $o=s߱6[}./>S:`fg nWD+߳ 5z*H ;AOjcK5e,"q?<`߮0vy_N%s hmˌ\Cr[9>ќ"zM% 0dkug]'QIHBQ[a)jYQáa(7iܩ_n*5xGZ`G7Oqڛ>&K ppj&ǒ ?B"@wukrdKg)d"*PP@RДVfD~ʱ 6!p{0ޝS7VLw:wRzL|[rF?`KWKw-9̕٩PJGi}Ц0꺘0+쎭~5eo9F"#9z$q l#2kJ-m?T c Trg}j&zz"[;e{-5j>w!68/fG 7ucUZO9bSQr|@y.dU" Q@]BZDA3&;mv9u0{zp\ Wd,Y]+^hyR *V,j*I Yn1 n<_R!́LI$t!F^ LW?n!c47"\,4)g0pBӯ0jU-Nzhr;B#Q6ZUډ 6.YO궊81.`ДkGW=_G!tt}ow+Ov~8)u=+LasﺍoAm-p}K5WEGe`OOb)ue; }>OvvpNn]M[ywh~º]x<,5|y[i #MO=uw?4G]K`>\%:Zʀl! ,wˌ-_w,:AѳkiFhBn @ߒv۷_N~~4g+ˣ;moO_WW_F<;-^_F:?ϧwaϫ_pQ+Ge%Ќýp[ڛ x?Q"EAhG^w:AGeaS]Eh:_1b?d*s摇}MScȢQ$:a%o 2fN Z(QP A Qpg:ܸӟӞd6>4;E¬=8'Ϝ̉ u"H`P9 j)1Dh$Nd,pv#,b$e겊'~bDqMLs9`Dŷ:ob p 0GG>y Pw2(瓃Xvԏ`Ѥ6MҩB"V8Z@F"-`E\iC԰\6d/C0$if…;cOD I&6DiG,'gfl:k&۠~TmCl!x@IF搸X;I0Ĉh{6 sD4C7 p2tg2AA<5Á:¡{a=D &.W7e50~&Kp`FTlj\3$I+:aўif|b}8lbDdҧ$jV"`n, 7nef1.׿Y1Ur-)(L&6?WAÿxǽ}K4_O\9i(ٰ:>XQ7r'tDrF5z#= 48y&B2}gfeJsx]x9 M ۸`+'ύn3FyeDe?>]#B)"ޚꛤ,^\ >tkf&1 (;+w0Fwrw_ b2ŃA񸇷e`:G5, %_D!Ϟa!,A~y߽ix^c4~a\/7yIj8R(@:fLmPt8[,GAk\GkZǢ,l4 HR`?bDy|l6{:߶5FBIp2!dTcђc8HΜgrMV3U56w-v\NQ6QUYBB|mr%vk'Hh.w0mG#_ުfu`tv|etc]nf'e&ܻ!^Y/uCI2w\jE&fnE8S1'(k7ÈRgt7/:btrGw~l ST^ׇAOF3`-J%e 0ƭ<8^VYR!GA8[:l>&ocaz:a$J;؄A\})nDŽEaeDVO(!5{ا_d)69؟핮߶y7!$ٯc{9cX2A%HQѐn#,0^7RE 񮜍jDA@8/z! Lك]O]QۃMA;"Ǥ2v)5ŧ܃٣Z%ly|wlc! a2I*El }+Y~;$ɌLqچ<8C,퀰эfy.јJ.-;x0J 1^pN6K,[akZZ>q*M|1=\OOG.Fۃ8(*i*j`k̍:B@Ch#^% P!f\(Sx׭x&WDzXyTNZYVL1흔f|f>}*=B6%{Pä!%}P݌ٞ3lp)wGi,6eUo=f[q%e/4k5&Ha{3=&97{~|Bb>hn9ޖ8䘃ZVXfU 6J&ۏ(ù>HFdkx z9qF|iČڇfoEAY!>q #< f.ֆy N&=xc(1~o*A:N.@1'G[rIhgT>H-KitN a@w_zcvspUP08C>&Myrն5ŤvENʟ?_㡖+WQڝpo ,=w,0]ZR?.xTDX;j\i LǾn^ODxv0g0yzv\$<Lk"* 4b`@g닋ceOYA hzN'F) dg9b&%4pG<(Cxs~t6OsPbƏ0f+:}|ͮʳd   fGQpF ˥s^B?RE<(E**{'F0sC0",zv>>ĴI\%CZuc~oC @>D>7@K2w7.#`LI\leg;<)6gw_sYOPgTIp?jMPd>fn[p>{8[9vA~CϦPiWuM ~1!( ]-QV[zhv˄=Ġ? z[D_تKQ“%\3!$։.|w2Cf1,уGF*&4F:(QLuᵘcg؄?m"xR^`;g\ b7tr<2Hb6zes-h~EG J,+DAl݅Fw-ml &lU2Sce6Sŗ9k#fJyqYsGKcܖ| 3;(k1eB@h}] }M;[vH:UI#$}f:KkdvqZ[%7ޛxy I!Ib3gg-^n mA(mhh۞tڭ0{ՙ$$dTcB8PS3VT4-2IӾll& 4{hsJM ʸDOχه %mfJu,XM f"YDŽ>qk3N9<iO(GXRwxșHJs) A:>}(($_Zj_|;Xx12t' 1SXDz[;=Z^8hs39*t(&P禎'n;$(l<=+<$n2/Y8LJq ؙ9h24$#'.W3(I^$Xk'{s>H3NӶ{XN96U$6YɸFcI Ah$v USdS oՄPJu n}WY߷$7K +5>xN;K]yWO FmЫWVOhL?>)+F=:|![gmJ9pt)!GCiե=v(&l  ц9*=첉M$i<E5}LT cпzL󟛗y{sx CBy[_}vN y)17e}nqRQ }8_cr6iuF2F׮.|2Xo8 <_8( 7zX~)ģ҇GzXyISښ˪ E/;VB$0+C4yᏭ4:ޯW|K\v ,PӽF 0X좴$&݆s pZV2RxP+߆UmCSzMt @ܖl;`~bӵA͜ǨE?:멹}B|Q\pBwj ,ţ =A>3GGNT8CjĀk余3Q?Ch)čzX ȃY?sUYё@$=jX  Zαt`}='oxs=P4jGO{58 -gd; ^gXT]!HT!.'` hct@ǫo#u0a?kY!a!{crUk sw:[#_/>~R~r!Q 5s\n|I  7l#_Jaݷ*-sawo=uVU#Q"=_Lyò̠Y⣴(d,9{ ً޷`7iF_k6u{Aĕ:)CX4-T?rk\t[u ungww u!.~TtbG1%Lů1 URB QU\fQaP:^LDG +_;LJX_nz0s來] z.X ߯\m?SunPOX`pxȈnPPU}nNE{{դf^Lws'L a῵AES_^8܃~Pb_CsvuGڎVpTO/Q$ qrc"#B d\._Ҙ"ZS\ѢSBSc <*똣DHE$n'}<6Fv*.qrG'_b8{ҊU~^j\[W Ϳ.7`5:tK$z qt^]G5:cAI pi-vȽI.5E̓׬\\$8u &Bs.xToo|˅6\{jo"swA96 *Gig[r.ޖ|:DgQ޷}Zr!g%jg0۸uWZ*\;ÀFD!(jɽ0laaǨވ/5aREm"}&|e?OK`b6-njr:zݥBv Cc G !8zg[{Zw KNH$zUEr,Ikv:j]ǍWSV5TTK߈OF bȄK5#1qr.DmqҖՐW%|!~. :?ol!"2. CSWSv.p@8Kޟ|Gw]!5s[2kQS_w[T.?T8@0w@c=-fJ;l^Dᝒ rNo`fb "ގCgW^&Tnmx`g;pӣmf|#;2{zQfs 8zKVJ>~wHGoo=yZn]3#ez:zu5_L/+j?O6\0ڽNڣX;!zdžh UeQ\!q&ϵcGqeW~NЧڊ%#kwuPX#q._&Xt5E{CUimZI(JM`>NJ' yik^ч{_ѵj?Y+Ŗ;_Z2(7^ +Y,zř+yQP~B+|6UֳnbYeTVu.vvmz>ͬ9]gѮJ:de-4l #kpR,5'jF~ar!4=x b>Ft M^VV8u['|pl/D0#3~APF*\1vW[d1EsX E֫Ćt$e6ڶb@:PQ23+pqel"aK tHZ41f䬬 οmiUNSPN+>VG^gU'uv""WZXY(Ucl; +l[!R{mf-[N&" I^UIx9Co\(J]L eղ z`IPF+UY:c _&c7]~ۤ9&8<Yeu`:D+=P_/gO% T|m16 p1 ^&~3x0Bφ۵Yhχ$UwϹPWYoR[v>˽{6ۍHbI i auem*|봒*<(EZb0ۓU6(km6߱ڌ!Zޛߒg(ҩwk׷5z] Pr6z]]8n,*9\wVnR{xB1.ꞡaDVwHQPuCP;Ff(-{ 晐v|r|V<:%oK~]!_wLKSuL"f<]抱kci= s񅟥6ώ/5LngsKޡX3S瘶кW8Ri{Ng]o e[&e̹ul%I~c;wZ[vl05Nn:dB9oy[fm= <ԃxux=V,;PkB0%臈s폏sKx8mm-g~|iÜ^H%f6P4~l`,"di>Z k ƺ8pU``=rnx)PwfC(,i a^cavf%brg3rGU6鼒Xb6VLLn+E-j@AImaae9 5}W8ErI1'bātÑ焔x)_ۏ#<,X'r%*uLjgn {oBP}S hP^,W;F׀6Z Q1CFʴsfClH{bf7ـ9ʸfk̃qHC${)}nY2u@"'ԉ<8#Cn_!lX v fMG\L dt /S4Io!^{Ɠ3g XGRd#-G,&u-uLQt6Tk 3IPU'[5gaVOk܄%68 :p4F;?TwGBHAn o:c.$n'9/y&|xA^8$ߛykg c\.py<}1,>&Ot&xG f#CԀF`ADm锎wMl kX9ƞ;|ύxQj2ǿ)9MiD%FnpcI$Ȓ͛xuj#9@Lcݑ= @nԣX>.7J<]61Z)lIK(hGDۮC:Y<6{Ps.6^ x01@?VA2nAz.B1˜|{\H!pacaH.M=؇c[[:Vŭ J>Ή 텎 +bB~,(I8_7<ܠ_ifLԡ+(s۞ud>Sz ,@>""ۖAwvt|_^zd/2.D"]BVy&]Bwc[]OAGU 9KƼ-zptAg0"#}(/bp>ri IF$[{Z$;2BJ9ŐhmGTܕMXl KR 4x$@uf#pl΁.8mdޮJ2MF9Bv= J?t?eU!dCpc_jT?w_hLhﰲd|Un7LOXNyà3ZzOɂB E8Y+;N/v3c]17WNcoԈaV;bga[VKt[^s{'E{_`Gja /m΁ns b;@B: L9넌v2b#!o.&+iˆ|ݲR$ ԾDlWF( -ÛvPtl%"o.ʁK\dĢmE*ֻ{}cnSԴ~`c.۲]ڠ (9}t/ 130{1WT=.襣v<ŽI8~(e_<{iv1RVE:M (泧*sZ-M.lVmT0zqlV 29^" _u6&yN~XIq[R֭X\ gx㘝xi}ml(VcxҺS#qɽ\6]wq{8Rݤ`CwcJVϵw1zӄYuY0j%(n+xR +qoγ3DTjzwL1λ˩=!sAMVeyo;}`D7ST_ƪw./!fя}EgYZɔn~>UsvsLf>^Mn +v bٔ\]D\A>\ܔdyLݗWԁ=6A⽍Xj/:Jh5 x6K5_#kټ?i+J/г$*-{p#x8FQ&H"#Hn4:nǫgdS-3YGߌ^{ ?Rv8z8Z,vuu44+m3 u8?=l3vyֹbiHy8>G Z)O1haA@_=5^Kk]Ns vQNW*@`m&<% ?mul ~pQeܣd ؞U+ele򹞹Gycb$-w@|u;Als3Zclo i)]@c>+V:Fe-^9Oq*IޭraGQnteY3n9뷢{SOuֹo;K޽^s%"[cck4`O˛`d KHmvxع͝5QoJi%L'(dzu hU& Ck J$cF$dٶ}E>i#D-oG6))0}IN_ldkZGhpH{.X:+*he DDLN胠H9!xYv=;-j"5tyv: Q胄 TLh?r]vLkFDi%Tr 4U]ʜ*88l_ =_oSfX6iJ3!L]c8:p(=۴wRR-z3js=| 5p,㟞Aӛve{n'mtpqAѪp/3A~PuOK٘6·4Ubim! ܲpz}@Z-XRNݓ[% oE [TO tokS?;x>v޽,]/mUF֐JD!ɅrQϽf6Q#jم͍ᕥCAJ"삤r67ʀZ`GcMTqySr8 2fwz<8@'͔*8B7 uvZϡ[6|Ȗ'.V*Pw21%8ezޭx4]AޥYfs%KU}]Vdcy>X,p\3\YFs+)xϫFnc]I}߲wEHʭگma@pvw+=Cӻ 'nCe4/yׅ< qW>U<} Yr7U@u.C,+>|!&)z7a3-TKKλE47l$,=~=p@E]j0,eЀf12N]]Dwi+p! *YE\o!_GƠ t *Xr90)tpuRNr ={g'@!8lrk>_Þ2e9z=1 #>MD/ɳ$.fMdzNz3(zv.C_rtBѭ!d[ 0a6|X%`d`ƻnpҺ Soo[ Jɉ˗?_y 4 H | 5Fb\MLr hN#LCQaZqD }aFӬ`I؈xCO:i<niJmO'A{ Ĕi LE\)&@jO=lSI;8$of|%Խ䦢 q G=WdHN i>RR!17āR%+{i\II # p K4n `6pzCY|4J{z`~@&W53O;Pt5wJuŀ Je\t(?^BB芞}hpD.OS%6 PrMS>}Av|Co:?Oj@>/*7#mxR/urDCRtN;R9E1)[3f쁷%΄'9'αnQYU~>$_\ٍ GG?S󾶖]c9`~'6 `gQGI{TU Sz}u6/|-{~XP+w1XryA#jS4zl0s?|Fx}πٳ>w[,v8l1P' 4pG8EoxU,C{z}=X=0-TUٻ׶gDiy[|PSޢ Vñk?$!CgrvRX} ~qҞ z| /(J*.t`$zZj%jִF0SZ0A`}bOHΌ4D-XDAt(59}9R7 :wH'מBN(ꡓ%SՉ耺ـaE3 $v*oq ES_c!ea .X /1^u.wipo Lqp7܊dE$P˥C9ΘŧO&_C2q נk|}ާZ]HFH\!mهɎ ?1vPwG H?zz@7opՇvKt<:H ̂e]vT"1ha8qK"w.{ Ҝ(0:3OR(NC 7yرGvngHE#:(BbISSs?lnzK_I3a- SF]{~0{_^L8[w`OyfY鳭̺>zb m/,^p3fx>PJhn~}G@;+|_3dE}W0\s=/Tz<[6p!&sSi?~Áxd"7.mkuh~8]ͱ(y@Dyrh~Lu}?>zj:[ͷQ7*Ɔ μu(}3%TiΌ3 P&NMqA((43;í]{k鈭h-eΚ^#a Z}<}V׻7<= U??MX(R;,^.` o"(H5Pu\*CŚo$a1Ud6KhO '~c,gƷ}ڰ<ϫr{ Q1xKТt6=΀u }.L4_x79?3|> GgI'3@, @(=J?!^EQ3^rխe--7CaDٸ}WoS'i| _ŷ ՓYbA_ځhvjq\6{:oM?IIhdn}q`Jreț4t *4T} ԝd<Z&Ψٺl7:pV(q#TvG qTk?y2,ͯ0Ҩ=:(Hfq()Ik){v/kC^nSs`No]h&|Jx9XDŽ'0470(%W˱=9TxR]д9N"amjjx]ռ0Y.I=u9cil990R 2' J \7>;{vk @9 e| dh"SC@!J#PoS4IR8TiFpURNI!HcA$)/yƲFv`5ɥG+x"JNs\ ۘ~Uc]wQ!l!YNQ -[LpFM>n*UXLd=>Zr SWG ђ8sj/N$C bf3Vpä{~}lfxG%ՉGB. @h9Tfmt+v!byS*WD^RD)@ ]Dg.al3p0  K$X·Zy}RWsA,a*Y* fRpύ%RxWW P92"濿ޠIt$kߣPbR93PˍKa>e)X]1?~LjIv]("D q(wR:|q c\X"Gd-tqMS:^\E}-n7cC@`: < jd!ԃk^An*%H,;LeBzn&HhBDk r 0\uYM_kdybX\~B !x[`J.;b:Qt?TǛ h_9n)_g@\Wf⌄Kӿu.P>By'}Pt!~A8< ECa/{\F,EeEn獪[ߓ9C6$SDnpdMJ Q!GOnUy` ޫ{Cn}yVjݖI&blןnM498sMԯ+n/n˴ݥzSN]ng.{:+LWow^m3A"B  3za~ZŞ*/E sD<:jl(RjJ `cAY!^?o8?ZAut[ LޤLڎWj8h Y]%=e "C<6Hv&Q9L)j8FA}G =0zI:8\ )|IAĕ(|ސͺ,7{ 0PqU-4x`@Z=$G[I жe۟)ossEy f  Sx B?%OoVo' *ur}.\Rեt AX.)Ha'$ j&b?Jy1#5KDmH胴y p*&/FoEam زT&jk\P*BЇW?I:W'Q@һԴ|:-GHzFät?`MII%9aa5/F.sxБU/-G3*!8'0iԲrnhPXa0-x:sth(zk x#88%S nAd:a|a݀]7*"'ʙ09C xËxpLr&]x~]da$[hfN{uN[nZ)u\NȊ ̖2& v \QxH^?HGulѠife{JH#%^PY~:m8nW_bBי5d C) :uzq%d4z$$|^V J2#k aqTBڿ Qho-ff1췦.l^7-m>^4DŽ"ifN&1 hn.#QLQlrK@Y:7ϏaE< VGt$$S"nKx}_jPV=(Ð\U *=o+ og?0 ,>6R?!nÞ o(?b"b_cA3\ :lFIh XNAJSGƃ}qI_pm{ћfk;O:W˟omyzg{3m34[rv(dX5 杋ݸwU<9y{lذAB֦!{X2MHk]}zO(iE! . ,L Β]y aM\"r"Đ k g?w.;m('_x+.s[I/+vv#hn~VS`_+Vi[2m VŝSl7C0[mRA"J :GYMG. 嵢g6D#GxA فP7<y*$n% .QV2FJ]uKfbx BJ8Ѹɓ68Mwt}P> C=}DO^Y^Ɛ:`N7DhJmx8ʮޝ⛤/_/0ǾP zv/ ⇉1˥"A)ms 7;$%] :56nh >lL6'yyt_Z/MqUO)({yV DRvd 8#s4quNk+`zh&P1HSC^3!jjJذdH3KˆE8#Ï;z3E>8"gEAN&N|9tCȥ6S]|A =eR?2<4A 8r}MAyTko${LnfPsx*?2`Vj39Ue 67Ȕ(XXmQ  1(War^vƝ\3dx zg|(=/MyТyi 2*'ݶXߩ8Y6:"1~\װJ,[  H: Z/PTێ4XgWՔ.Ny!؇ lzPa3H!irNd"vGWL9,؅z[&,a-a:EP|^a$@ =HbPs"~P8]~iudaTkǛKw(o~+ʎ=̖kuY朗|ZJ :v٭ x{jq s[~!o,e 2 /wI;;]μ 11| BSM1gֺӈ{Qu8R)uo6^7(~"cJ{K[1cͅߕFvmav۴f5F9G#,R`&lTAI-qsκMqDsD>+"' X+5}?agL>'-Քj2R,e %bBb*BV;35<V BG7 $R JgsJxߴs+[7hbB"ynC 'w~*-w"z9WZ[=zf?p6D\?2Y)%GA̽# Z hV|:|?T/A_H_,'DK%G9"5Fш*))*ZN )B"8#-G8ai]6hppDF3хI vםv` E!bD@SYB; O Rb}@5BJ_% :_ٗ#Kʅ4_xSz!<"0QBRPGikl)SJztT: %)iKJ=;hB <$1#QM̼@)SHܷCG1!_!AgJ9=#w^Ξ{<% hI!Тwq8y`Ms&Ν2Iؠ`If Ip<KOZz`확n_O_>FGOϧBbsd!-~1u~Ź^Edln2SpIegeRBӑjoGm[l? XS|?AmI艖-_p)eDjϗ!sCʥ^?0mMV(6%9DM~*Qyޔ@>z+)z0z>1 @CIS9dąe_UU>w/P68>'MD6b_ku 慶W\L  gstPEG7]'7 /4)5 .zpsY,57þoӉN>Ȗbeh+3VaHf#R"Ț(JK#*wBMOՙSawSU9ؠȼXֹ4g 1oĒ"rWa32L˃fǖ`X.L!a.^n8-ٰOaF9wZ6V e $ʹh@9kL$̄#kI5[wv8"]w.0aj($}FoZ_jJɚn.[Jt:Gf#$*D@|vo>< 't @SI8 NGee3m0]T F GrLbDC%6qү{Խ57 G2@JRFfҗ %wJPw%Crc֣3osAa^ fҨ]O [4OS_L9c߿]9,͒ @;o^ Hp#BI$q9' 8j 2q'E1H<-t<$>D\i`q"_߁Q_N_3u0EWļ?U,ҞumNŜŸk1Έ]\Y?LOԍ{OA'$UA/¤U/**zr@ /|XȾc<A>#]4P7E.41u5CYoC?+M=}L/uç+œxAߨb !Y9LwQ6,x@Ak57_3G^F2LtXx0(:ǝd)Z:`!w/ʫ)p /jK(~\08#J'aR THtI>KCY1H*JeήFO>{N hѥMX&T|Gd>QMe$3q# _7qyZg/GmN"u>N4 O‘= n·Ma= ^#u{1Xz'J{Q?Y  R~^%$q]!>ݶ5Wd{PbH%?,ӀGt87xC1U#VP 3:Rdbq Dt^Url*4 uĨ@@3xoJn2;ۊf@^ SCS"aND8mZaeP^{^:N6)~xuÄd wt\~rRl`U^Y'ۦ,WdD i~xdRR|hvCkHOEmǞL[eriWlj`Y)f]O="MEȀ߃>]N#&* ?1(D޾meya̧Txشb1E]0RTpG w/Ps\ v:M>#K#CxJ\@;~Y\១1`1q姱8e&5% mzng; ߰&@G>= bH߫z1ӯ  !1u" EA1keSFn0{m.v͐p7M4nӗ.)RBq(/܅v=lpy׳7@{wvUNˤiMXIZ!)( fۿVL=:unr8ڟ}A*|yoI|xۍV׼f芰óոښ 畵1y^Nؿc8:.Nu<C٤?%XVb P;>>d}:^]ȫ~TH⊿@hR#1it6P<"~-ClQ$hTEԈ:X; #;efF@ E _r8@P7[W9VA%#gX~hcCƮ|/w T >>h5qxwa`ꋠht6i(@OUƊ+?y9g #FiG?)Kt;3 [9MɍjX0h&`* /bqƋ#Ň\#@4QDK[NRH*Ȋ6Jcȷ-ߏΝ޳^tv< 7?/RU?:K)$> rTyOLXa>}f^>s33srجgd9xFNO_s3uG_ҁ1crvVQ M$y_Dzr"L'ba""?!.Lʍ "~S| LMfvy>.*ZJxu_K$vgǣAlwvzLV"Ix_{ nƨxt֧_gN2S ņ8(Ϳ3Gߏ TTKyK_g_C˕ 4H,`3S~qD{M><VSrbZ C].kOȕ|jޣsx~7cؐ0X Bt\TDlԹs"%q&Zz'\v`n? óIm7Mom:kݵ0t{<\b]ҎFPF1 ީ/+xfrݻ;$!/jZd8fν.I/29Yu:Z^:'%E#8z^_d}| k6ˆ˓cC5U6) ׽m8sxZ`_**̥m'Mk*O7$/%qX ̝۷]dF?wņfnwu+b[k]l"hn@E\@9dm/\tfb"cKyA.UWgמN4e4@DMa=,U uj[,%-;zL ͫ}MS m )і"p #k6G!b"|1XU׫q&v:oȊ폏4SWz D1<Fz|jV1daC텨֋}ϐJ$eN'XDKBW\;|7qsq;WG g_)D_p'wg0R+G I):0|-&Tư{j!܃AbwZ1: X;/m/L}4rǁ@ZFݘf:' =_M{P;TB9z=^w/>(lŁ{)( npo[R>Z%dWne6۷exbdy/t7 k޳]|q"'J}XQ§]B/y=muΗpOs;6`F5vs)_u].M1K#ޱ)pyL%Ayz9f_gqlkg}"4⼫wS;VHMvw굼߷폺 -/_^ORvΫڏztn+)a-?A%ىrl;R|y6sهdkc7;PSl5TԼ5lg-"BA\6bڎY&'o0J0RM{jĒ[ti'Kސ1yB/1@Q1v̶¥f;2RI!U a_lvNιэ4^%$-fdi+߆EQ肢Vlwo|D>/o?&ΰ hF^X~. wvړ|@a<^$bD/;9WBvfNyXDʪn_;,E G\>RoN`TI?qFXut$*vI};ݰPtM d d*ą(5)jeˠ1DbBP3I9Wxs曢yO:ßmvK$"ЃRtX|ᝊrʙ8l>/߿q@-~^"EKӟ-8ЀɆ8o/r.(4BHƝdGqF )u׽v5ノry8RKT9_,9#]sG~Tp U[ϭ{a. sXWb ";;tRs\Q'!W#HG9D-FQ|؎.x@x'ʣ}, 4W>[VL :6ᝃQy֦>BۻvLeD/?Jyc⌦Μ}4Ԯ4HiDڃ9+`?xb}u]7㢸b*n# [+t틾H{sl+r& ^gQ y희=`ކma=<"I:Y?eE燘T7_o&bbF<[:X'͔Jz=oNߧ9s?(Vf>% C[ gkmqgy}`8ٜLG@2o`߭õ›WY p$$q,-`Bq\P ` \648t+H{snO3~IABȍnU~]sí W0`Rj?EZG8il}֮f+s1D5T@CNn`ymW S݁֩Z2E]`APN*6EY p,n2;)r IiS݁q㓾+9!&Slm(`_=& s3o]o=NWBFXn)AmZ]:嶫h?D>OMH!6!y![q0'2Sjba˶;gHmA G7{\,>20&gWD]%qRQY AB ;kҫBB !hkFiYRQ."n[e Q꿜GԢwngn}^,IE= 4FY4w(wM<`"G5C \_rG1#,s>ZQ.\$VDuS"):#βo췋Y>#\2E^0)34ش2 F#]]RH@]M#wH˺}jst C]&=̴L÷#[ud>JljE6uXZ6%z7o;a,M7]ó^_{9 +(qF ^v~,ܣ~`*L섌q<&bV96oE]A[ٛfI Zd1a| ᨢYXn7Zx,[tC'~RImuR @ĢbXaX\hRDGex9s#[\eLD@R*1B8ĤlTLQ0;: ׾|x& 7e$ ƾ/>*#TTڄAq{Pu"am{xqS"sHl. RA[TC@'ZrHJ#%jRZKc ƪӘ,}O(uN)ȿ3;+MC1WgMk7L(MM= PitL9c+Tt BA5 u׆>O'3-Tem g$;chvlEe@[ u(bln2v6>)b$φ. 5($DQ@$p>VwE[1)eT֌\kla@f(q3b=" qb޸fCV!9"M{h߀[ tj$9! ]؝Gn 7r6 ,^>UV"Cʜ\Dk t` |U@&G[ǩPI| ^[`ݹ Q,(8J$X޸֠\CF% TvOB)L z3_aS{u9֑"fJ|P'WOs k?ELue 'L/AHYAwG')İJh^Ƞ#fS*ܮ:&dyI9u{bA'!*ba{T |EXj^ Ls کzrf`RqF$t4)Cʽ͋ޗG*NӦB'~ }e '2+C?KQ I+pV$Ĩ1fV;{0ŞOp||rX as}( RuvH@r2"AR= S3]LUnl WϩBQ/v ) _`ag_+]H/ObRX{/JK/$m7)հI!;t ֜J&t4$\ZRp;Mǚ/Uܾ2(>X ݰu6.~wR Js7 cgL闾o a ô):EVvoyBB%Rk7<4,fS y^Gf RSP16wTOڠNFv:1ޣ-S\m(*]9 t~e(OYaoZpbq[ Z%'awIH +wUM P^/qyF<'p2 G &OOd6 _k-(IV+ !Zo,NPuA\PoTB:0yy* K|%ZR/@{'V0:GGh<R;~ ㊴s J'>^&Ve\% ]#l~R|_9ۗp;o͆U{xer9T{V?Ofw )j*6sՎ[= !M+QJADuKϛ2S5^~$褮I;(AΜṷ3ݜX&3W*pH]yVQ%:!Bă@i*ImmCSN*T~DOOGy7s0yOB>MzlJ*g摙Am>kvbBgS=C _SEyǼH$MRPT#$H!2ʊ8JrAHD=U?49pMʏBɟk!? @$%CD7hj  RY) LI:L_HpPi#D}N}yUm )T6͚S!g]EkFB 22@A +vhDNBrrT|08cq-0 & 7 CTZA5o Z팚()) Wl`˳U&1;_8}@?$8QR8z3В+h_nh#Viu& 1sy`xwJ"%1Yy98F4cb ' n ̔GԨ fjnd+B(X:04L8[$EVq[mj4ש{r.BEv7}UpO_z5i,N 4@Q֐% Pv 2Z><sD9 $** T=޸.H<$ ܱ; mM0m!cXEVڹ=6+h0'dJZ`hJ**IHi&"&BJXAs93^^y4dE/H*6)=oۂ״SB$es(s>DoXAkQE4niȘbj6:nBd||b"2+g ,U9Ht=H1r4byQ9!4M^B:_Gzc4=yGK];H$h!|P]͚J80O& $V :/oIs7/4U%PrueڬY&d' ȉÐHbn@=?S=8Y5NFEjĆ,#@~}iͿ3zM6%ͻȸC@{RtpYodNvp_@%d i% hjXpaD늜A \g /˻v.p>Opې#` ՞qs3_-#iAG^goֹJqnUGwwroaxO{X mwkFzԣ&5ZdB1X, vi !d6c ,G֯18_0݄BRz>=}QäޟӉa0}+gک&EQZI*pPd73oy+[Jc!fN LDH>2"J+҈PQPC`v6z`] 4^;|s4w:ϔw=s%px Mp|L{\utDwu6J&V[_5s֍cGiv`bسo8`n[Ewb `Pwk_7>TT~=ۿ߫x~e_ =di/6?*QY53_xp5W9[u LCH;o]I80 ~UB}sɒ,AKBC];o71{0ЊL' XU PntKq"{Z'@ҟ"pP64R`, w ;|  F`phxڠ-'mG\u.ks;g^F(fcY2\ARz<' +!K䍔hhpT0  GWem/ 9 U"EVèBPz ; n0U+F{m0 "wB_g9 ED )XTw`qbn\xM 6ӂtR$; sg B[E@L5Hme:L !h?@dAwr*G*nZi:4JNǎe_npz|,?÷oG@@Kl ?gIMm$N7c1BDu|8fw#ʨ`k :Pg&[?|~v}QR -d/r('D6HC5@{T4Ҋ8{O(~!QjtP\|@"`8 0:'q3%!CU ڣb=EHr@UP*^)CAE?fΫae|3EiȱҤ#LXD?wMZMP٫,9ݘ4V>̫4N&.8`M33e ĝKfT zCtm))@C[ZvƯlw ZQU[)b$zr- @X赇鎓a^%NfpC bMJ9RAFNiQ0su颁ˏMN, a X w#\> zfJu1NĒwlpDlMqf Ԝi:n]U޳ Y$ AC4QCrDo  6*!`2l]585}f,i]2^!Up$ ;/%ܓ'pӸPІBUZdf rUIL#ЎfꭲMnzJ(C]GJA*LǗGSYzN0j0 qw`]i4 'FBxn5'}C@.u[(S zȷvhoHPť\\v3@ cAM8lYpw J9zM0qnY PL1Iڙd.$$*JQ*+pH' Q*c:Et^' M'mhFt u\c׳Sy+ଇ3OXQN^=XE +8XMBRAP%R0R7W;**bM;"hJ=@} 0PÁ&ۆ+ 4]2&qU`Ck0{ƈpw'J䞰Ez^h~J4[k$Ht89 F>;e7=Gr"s4UHݐ߄ ;a3s#g9lٸ= v2QSDRCWZ}?XTED<~%#Vs0:A! $$EevlY@v%Eg_7pJ̼ T3H0c8?Gw,#+Tx1qdR Wg}DE1NzThMlnb((( w[JC} jlRW4H)`o P=ʑ:n|w8'(֏,ۈnR鄺`#¢ Fˠi@h4eo:!obA ?ݎSqA-U ;@_3LC$xtz3B(6:@t#@|P}}dmHn6Q$~_֡f%̒j00SHx@ntj8:_Y0"aWwr·/*IoTQؚ-P?$Ä#̸fqp`G]k;3\C11ðQTaq^5|h++ciGe!`l킂ƜH 2R䶖W\?Jya B0*R$S٠jAE+Z}rs(|6p?6rD;>Hu >ё?\_?&V #C"Q#PYQ dd0XdA` H2H+Z uDs p2&ȻLGwt;PAYH`Jgd؜?!٢X_44Q:Q)EV!3'#jI!ˬ33 jg3X?- B!bŊCzj` e<2XfabOۣց7-#\<10)ptv(UN'HD6dV̸d"xmiux `HH6 *P@\@RBs[nph&9?u:.c 6$> c;Qwٶ܂^Rh:L*(ď{J3L=>gaSdj4P#=|v}V sUAGY`0hvbQ C'{O6`Z4ơTo8L }$Bu"靃E'MLSĝ]Aw"{; Q 0E>(׌;(G7@>C*1ݪ5.6Ns&Xշ\s]6agWu@;ڦ((&UU^mUUUU[j9ʹ*UV7y$mmPXҙmZFVۄm#pj$envTא|ElZa$$G"BB:eM ~ezea~ W Șʬ?@A>USP8o(aE}~M6ҰCOĈZ=ŀ#Da؈!A_-b,"'`6Hۿ8Q]qua٧zstYb&wGۨym(b;퇶@o _pq6>0)<(} p*)hb"=hz4 CI&!ᖆDN@JDv*l*$PAdG_i @4[QJxq5#i(%L v TL k9Q?S= Ạ v__i`JE5m,A솅6KXǓ8{CX"JB;?=' \ff!9!?ĩʧQ4FW'kQ"r ?`4kCUIL~Oq13.~%4 Qia+ru/ƭP'EpoOcwvN~UI%UUS3ޝ0|% S4L.ۃ{ǥҚ y!()я]EP%#<9i]N}v,F[HMK}<ʴ>OS3S(sxBA5GYE)Q) DBt)ym:`K({?a =7-t],چtKU([􅿘^-v,O⮴Dz Tr[(AHN|΂oh'M_ߦ ;(i<ߐљ tr`jN}k ~.Kʻܐ1=cᏒ8*G6$.V?W~lmCv TdQe l:nDZjͽ\B\nppF jK.TX#R 6,~㬔c/_i(!>Wo~*YAJbgXOн8J;h?}79鐍CMv->ZTNx%> #r02<>krSnJg: 1jòu-sSr!jSqq6Y 8j|%I~s+VDD2 x<„,Ac ߱)~ׂj5_%yx(ucsx,K?`ho6PbZoO23B 2KB~޷~L$)FDqn {r_M&y6[G:Ccd!E-/5]a57#xE*&x ڮlt| 'Ӑ&Cbwl|=cI 1*\v+@* {]^ļS`kL[Y BVe2Ǘ&6de-\ˌsc}C[< fk628`-HGT}InF$w?ʍ qVh C!xfl;'s3\v>@?J7^ux 'J-a9'ZҺؙ- o_+W 0ik誗G13(bi&9c|}ƍNf.MRK7,YTe)qJ"eׄ:I7G1$j΍rz8uKk $@-HMdY#/G{@R ^ ևy rCu -pn!׸'ٔf/cD3q{? IM z EG) CC1l#_ttD $Hwf|N 4-& ޏnV7d(C=7@* |aF3.Ka E! xcTb4!1 U.ࡅԗ"tʯ ЄD! J@J*eAH9 j) u s нQT? GV xz7[i DRfȞQHp|!/4%44-%>=d5{}~Bg'w[ fL˿@h.z Who}FJ*mvE8 \8h&pk(MT0kݶrނ! WI.w_?@ݾRȫ˟L')ba?7:~PH6O!ώn؊U;lC#$C{\.,~d @ dȊja^lb[؄PĀM {M!qc$bKL !lè"w0W \ KUK =\%N2 ~Ǐ@8BOtZ;JJZƆ JJh 4%-%-&RpmIa@@a2B *5e>xz*b$Xs7f-wK8m]9';w 4ЃUH-0]د"on>!!Yة7DvО%c!MA@ B@@ށ@KBPhD+AnLRSCJH%p bX{@,:hgSG[Q}3da*J{T['#,_uf NG\p30q>BHGr470vXDpd)-y)$]R z N~K"/4,h CK4}3gOe-//{32#:9HhI:k9Lx/w{9= 0ˆqwNeQ#I$HC5 ; j!TH70# WʞZi.i?6ZD@gvh1bɼWxP9OkFMH[\X͹N(!8Zu P:;B.ui-GU4q KB(8{D-ٮr*].b|B1$x ఘ.8Fk? ;ll+mѷGAHƺB/ #QG V ^BІB֢139pH9ExP]Pp|zB̒b `O2$`h ;ob&bP9jtNm"ţN-f\&ظW0 ㍍R(;J'OL8֏bCr' ̉3;JC"A!+FId:X^tl5Kn@ŽBc6:/ \ޛ\pE B@(`A(a63q(L ;ckZY9"mC,d 虐Gs!܂X~  DdGN棞gR#Z #J}G=(f66yl'po<\yH{aԉxldwdGxG!{PX6 P6(#aN<՘-HS, $Miaüb>q@yׇEm *Y kT홗IKrx/](̢1SkaoJ?]{xwKH}d'_ t}F#y"_uUz N_M7Cֆ5﷗De.{?80q8^K|;\ +1w$M@v8lK/ d:բ9DtD><#x4J3k0SY7=k#wz\t8?vbWY6lM^T+]k3Z5AHTAD=A*GBD6 &Cne+ <~.CEޚ iX6K]'r@&rv^uOpqC{?ENW~*Nif'ܙ7Q|Cx#3w*L_\ 9BْB:۟uQQӗ@6u(6@"#np+`7=K݂hI!#WO~}Mp}Ϯ7N)ⅆ.1WM~}'I>%rxwb )V= %撱_6zV'-"C[ޱ|,+Goa@~>k%~4I(L=y(0G''ʶ*mT2F,6zEY>O5G|>2|;µ}#TH!eDA?9r૕3}wP`lC@xgss/& K;Usu|R] !1&)U>#ddؘ=l)ξzvpl 궴b!dݣKazCWeBv|KJӧ;_+,&Ndob "?r( + C$Z AjB0U8jo%Dppl!b8B h,7E9~, u3PV5wiECc0{AZP}Oygؙiۺ @=Q%Ǭ<`[C>OWpe-|P+t,|94vك?.d!i4 s| -E7 H Ma(:Qu@;q)|Lz(kGA ߟE(ˬ5e_-Ghݺ~?=ߚ0vSJ#?v{97&/UjVoeGxO&/ ga7F;i lz&v]Ekn/:t[tAaQn#sR@LB);i"^Ɣ05aUTΨ_ Ḣ` :@lJLT+پةvt$}BD5Zaf&?eI!!xxz|=|Zʎס^_$l`2ڤ*rƂ iAC~}g_N[Q@à9v s0R!Y)ӥ#re?z1w$_uC}ޥ*)ׄ,Ѭwc 5 #* a=BT td ËV]M|MZB,689& 9v%(ebx R.`fs|:&btr" %AޞrnT^sy0y_sM? &\x,+dő%/%{ۻx^2l{~$0yw~O(?0)+9o҄'aRyLx[A@û_b[:RP,Ჴ?UA?LJ8qO2> 3eMqkBp~>f_$!) =0~|PW )X! "@ 4ؓH4 ǃQѯ${Wyn=M!;qI4tzZms vs vԓ{`%@fi P;&f9J4粉*ZHոsU?Y80N Ci`|,Q+G4M Qz6sJ50 CbgFg=:;<li r :=FustcaDy zGLhQ_V7$vpIIwj0KڄG].0A 6r2Hcj$3p '4=:S`[d<%88U%_7,fR;hZ}Ymu<]FŗzR,EںoZl:&'Jպo9=tfÆ9 m:'rHy"I" X~rbI$$B<=tMFMGA:'92BF|,[N# I<϶ty*# GBĮ2,:vZR4w&zHh>N[r$H{gCQeu oߢ8yK]U%'MUx 65$ȳl5ww%dݿ0`0|­26kH1ijq8::7T o Ehޜ \7jUTfjj;wQSwfYSCrUPecwiwi+AKkA7;:`4rrѳu{: ur%LؼvXAպwHJ=G:a*V! )&kF7;:K.͋Z8iҜH-t l6k=lcD^ٺ0zxhy ti<$f: N2s!ogG2+XaAkKN=aϜ#v~х_ܧB$t/Ҿ?'=y=$qJ*$G:j 7=@ cejY H~tj?>n$!.:VQ<(?pSw@p{q8Z;2$2҅u8RuoT%XXɳ^s?4՜(gpbACDNfCǘUÚD|]Ն' 5Uy^H3 R+CR-bIstO3{HP29^Ą3Ggdž,e<e5WTe^5h6a<(*hTv418a!ˮۊ(K|;2GxZ1 ًvl׀xSͱ C] ໤ f M).=k0iw+./)*J ~zCw@yֵ *'`B}=VЂA\^ C])So;{ (*6wPxϛJix5vz80.@7ǥ.cpht?) V`tl^+T1#]N^Hw<$$# x`:E:#e* B {Mv\M؂,2mG2/ >q7d(v*wvByp};9U5Г7yc;,Idǚ{mG҂T b^*_c6qC܇߻hw7g #DUhN)ԩ]!w=_g~QߴCz0٠쪄@]SO?L^zlE[`j*ICO`waڔ$zNzȉIrKD,{M`@=$B>4 "<Ǒ:AJmlrv;;3{J<Adl"Km$H#! GsĴ-,@.9yOu0Ȣ))=*z!.Yc8v`u 9Y$($;N6sz{\#ײb~%W]Цܚ.i%O }ɉ+L:`s Kءߙ95JyZUu2Dhl1٠Ȅ$gɖݏf1tB%xF1[B8"%6 ='4PQ:@z".'Uowq6wh J2 |AToAIpA1<տס~']=R݀A$< 017;=kA!{hCB; BgȔJ8]+zql^^5,̗'zqN5斏xcqJ D:,^%xSހ|+HJ(~ö#pѪ LsڦI(gڽ^ãRtoNQJ$@7u7¶ B9DN^͇klaf\BI')O{CW ӰqA`S|Z-Ț}qr :T-1se90ߒTj>pZ2K O`,ROu){ 3WܴB3 i?6d!?h8n`Kc0 vě1 /0rP&$&6c"LXi!Xc 4 K2 m2.L\xسƧ$s`X}_BiI4p7^>}= Z)IT%RPRǢ60nO!# G"CŚtX-Q#K8J BU'- ʑK !0(w)cq q%X{{|oLfK)G C*mokyĘ?H-;ԗ_"Ǚ&%b Ey~On΅ F B='nښTtn~"Vd!!Pz# vt}Ð?8Bۻ`xn:Q+1fxk`8s)Ph墊"'-sl*X#03hp0zD" ᨎ>r!/xЍB@܊Ah "6&Q567eُ }%Dм@\qDVD)?{Baꂍ|0/&#@wqNǂd6L^ZxpEn@_ڐ~-sQ[ڧ^0$ l gi2> fM/\!`>df4:*lqCUXfoe71-NzN<>$48]ݵ,%g S&$$S8,e)2[udXq ,*!hѫ0Ix]8FrG"o} $x!QUJ:pP0.Cx2o@T _'lq{iR2{$L A CGyDHqE&!|)nCh=Ąv?5|)ERA738~AfM Ge   ^MO,Up;S|Ac# =z(n֚DEӵuv*f^om.U!O#Dyœ+ 13 A%@"2İ#%3PЁE+2-ryV HTTJ$QitHB e/Ï‹ r)JD{ZMK`z=mDĬ18% 4 1RyoTPh$;=EHE ՠGQWxp(K$*`n_L$>뾉)0%wAJeEcA醟&CF` G#@z2DvBK. lk<`#CG6~٩u0>U WjuBhJ Cb'LBd1 j [1RL#{! %@Enhi9J~5/g#QjФYePh 1X+@rQ顉wr@A}()٠ n8F.o;IEKW G|9*Cƈ}:kxRW  !œÉwdS/~J$H4@J!(qP3 z7W1Sc,%ef2T}4H8`A +iR#e!`5VZ75O#9:(}3aElB-\k`zrfBfX<''}tDH瑬C' *?9 h,rPB` sJp@w/<%OVdiU <%*H O!Ye M'))LW8-` ` 3Iqrt`S yVAx5&^ySbL͚xtfLM?RDz濮}ivl(u ^Nj(s(+: fv3s <9=OR%c/gQl[ #Lg[ֆH~/kH핵Me;7᥂Ư r!;y69Ȼk!,_E]͏`~SvnG#IȀoar3IqWHXM A ͘IwbR#F?^]%̣%:5䰄 !W$ܟeGAԪv]y$f+sEL}䙽IJD6:q(9ӆ=rJh6CI C<'At\?X=V{!5MT=#A3V79YF='JE`ХA E/۬W˗UV :?火@q1@JHLTa,hP" F?V3dxW >Oo EMP`P2.] aa@"H"քAдX'QTXSfoGh(`Wa.GYәclx'5Sry=XfE mYG3e&ё̉m ,J$<:a,HGʀq`#Q*4 /68sއ 7G]4>PʞG)X)>nJ|i*4XR:YQM53"x>Zy۳*m'.AfX 9߅#E}/^cx[EO-w[BFUKoaP'* U=^K1>DDBlM}QI28:D\0Ww5=뷦/H Zp݃q؇/<2lece=!fO $cg4]tc[3;mrE ؂mFׁc) C8J61@4?tb BH EJ;_t^v7 Xu5p'cf-@!ڑ.e>|5He?ch`;1Z./!1"oTLiцW-&P,L LP=DSVPӾ|g W~'¬J\78@p'VW:ցĐ,z^ul.OȮ+ӀdMq B"A("iN3_o(H.#M qsAfP=-ޖYPDrq^2q1h`jʔ%TgM ț+ M^<1rY7|m7;m~႗gr2@pA4liS T: $ K2*)wɑHq|MgONGZ:p@&] S;k/10FƗh" 6N>pgMWu@]3mQTCh pxk*k+m UA @M1zGbؓ >@%%tYFș㞤E  P!P:TDrEq8+6jˌekO>  sBRDD A҆(z! MYdGmh~)hr$i>@~|TvK蛪cJB24@΢QQ`5!l e¡S HaJ_[0)au׹ďM5D#>%,B0tM !9+@f sG^k(yFغPt)nq[fC"NeYu(۴eU8HdmoCVY[.Ic1EGGvK W=Nt@{_"+D;Wȓ[=>;1!&aв@QE-Q0SDȓTJDHD6m L YCMruRu 0crDH[X5 (IpeU hh "Fd·:2"DpA&5,DT !4 : CBI2 $ɕ! FHe!8ۜ %]\4"ecAU͹v!B3"v8L!iu&‡Uo}'>C_/oܒJAYg122D3UUE/0uذN$nlrFxPO3~+_h(WG3scvY ݏɛ܆DN3,M(f0q)h A&X^.~5UUKOq(jA>OU$-i/wpQ4wUOQo l{'tI!̩G* Sh>cO@JYDlG!?X|6Ɇym$1r3;ꉒ]C?LvwAHje+Y߉}>Q0i=yfekXmp(/8)""Fb8yRQ4~s/m#)%A~=4OgxCIć[NEuW;X@uиLAWP#q|ЌGG,$c]myrg#kzɒ;dqDdemn1f$COU Hۓɇ7k/ƥ:NWWϻi_U_ʁB!\zs?`z ƾ4LŦ8CNU6o T$y)=s;P|cC6ģK<`H7UwUMD:=Y !F?YYoT\P,Ba9|ԟMobǾ {>-4,#踊8y{)=\n >6CkJ-u9C#u%L$8(oJ*)D6%}g:8q$ZDuGQZ{X.(k"xpw9 ̄ Ϥv>:SnXgrOt]2,F n#Z !ucХ@LvPRH!$d{Jt8@^(M؈10`ϑw%ޛp;G#v`4y .a5йT9ȣ7w`ahMB(Z4 hb[V:NbJX# #N%V :  4T)t9C(cm7OCxaGSfW|Ir !}< ma5H(7{r?Ϥo{$^ҟJJ\TO(Jt;P%&<#hsA;UP=q*NѺ)*@nA(; miR Fzm}rcya8%eT3) Ėի(DG!x1am&9izh{̬052JXf呉 #N$.UU$/`m<ə5OtE!9y~[}3]O F2\T"diUmra6p77$cq4w8E;"1As`8w9ܴcyC@oQ fW<&: 43Wf0uBGb0vx8#h^ע |`).qS${Lrfc!StFah4m)"+I|RHV״ 'pr'κyiv6z43SBN2ζLDǵ,X*a,{a_|>lPNxt$݊wQ4%5P.Ocϴݻ i>Pg]so ZhEE,꽞ږL,m0U50^o-~!4 x6q/xqǚfCoYk6ĆЦJ Z-4[`!=1@J]0|rs>鼬c"TYoN؊w 41Q$C1L5@~SCH'6Q2"@?b 4R.$M!00 $YH$IHB b @As/q$xȆJ&M#tϙK'`M-*挐(``0L|* E ]^Ψt7lW*+Tw^R샵ఴ i M] cGZT14e$Q BStfhr#MGn:L!8R(Nn:-iN0ngcZ*biCˎqk[۪.& #񱺬 ҔևW4IRA3܉߿?8"jUd P;"UmCGI~7#!PR?:z6p}sRKzH}}0u2Xn}AbDN˘FmjX*)94oe2qo'X@֚d;2h>D,\vLbcكE! ?I?,<5KVh[e%C {\ȜSU! <(qZ [4"nZ~hsL)TTHw Um ch"_f9Mihof`›L1?/SCp7/4WUFd5pc*R8я/w 3YYM+ymW1#\>XHRaV[ )N#L2Ow<2C/5<28GxY|NfA- 70U( tQO`(ed "zЬ3+3SRh;&Yy4={! !P4ՈE4 =͝1әHCe+J -Fߔ#mQ̈́?ktM푮֗d(H >@zN񖝠2ʳ0 'cŰs ÈA^Z)vQB"dr9<>F ѯQ 6*s|DSăS#Yt bCaq)'^!.7> ~3!n'V=9Y̦]ҜKT)dHx4$[҆CzP\(mwM$_!y6t@<EOyxhy)Z]ci\u7vڍc@t/>%UD'}9GRaP|j<9;M !{syi * g2L(Q}[ɘ&9R)r"0:_R$W_ƙ`|f|IMuttBG'Jǧ~8M+(1ێ9Pu!gݺs9wY7v45W;L@XgVa`k1{|>-H/]ph+giGZ qÌrPK߃,1ٍ bZH`=0&kL 3tTxj|D ( M\gcYYBPa}beG͖8i1j}1̎eVaƟ|üLb;h|W&O#c($c7hf 4hL605.9Bl!idv$1%TQ+2:#^Sf)Ccq#bYCdʷO19v&5*Tnób*GIpb#.Lc1qOl}$E̙a9af҂GIH 0wDH8<:a3Ӽ\'&ٕ)NA[=:4i+0g񫱪Բl\5-fX-y|Pۭh~mcGUs._Ru7sֺL2/8ג+\w']tckX++26[g 0+؃#KC%r1pku~~Mo4AG\U׷nU&yŐ$IF1E4ʏD06UΑgZrYg;t1*]IcRnL &4U0݄p+ }3OZ3}8mQi+g ~,eB5̹0\9,bzuЬǑ ul#%bNeYzLǎYR^L&1ZgAy[B+8jm-rC $ϝxqv}LaVz&y֊kšh+/oK]|%)xˆTJH +Jb҃<`N'Nd16W8⋘:LQ$&m6[pjN!0cYZ2ʝ#4Bdo*|N 2IrAINU1*pfyMȢ.d)Tx'eؑ_Y_dUEhCe}K9'bfw4&IFVH{tS:3 IB֓aZ݋(*rtXAI7Qӣ4%F c r0qɶL56 -KqEUCQP\4abi2s@$!0H13M=-Y.pk3 u>1uc[3ԍ-* rwkI%O 9:NQӈK'NzҭִH<3CkA1."Mc P qho1'9Cbq-|(:;RX[HևTG/S)˗f,o?s19}Ix:!]9ĵ(dʗr#'%Su ZX; /U!vQũ||gRvOj9EC?@۲eΝ4<3cwlf/W@f9~9Yʾt?w\k򌣚sX[8Y8ͭMKhHzwgݶ.zβzM5HG{Y)hN:+ zԓ@tc|%3t ,xGt,0eBVqn{o{FGU2Ct1q BBD$R0 xD_ \tZѥ})(pe:2(jMb,IJ0v6흎Z3}}^t TQ' XAQ_'VSLf-V &<鹰f2 (г2,.t^Ug@sɒq:kHrR9>S2U.\rپZ;󺋎"q61iVFnjDHzR b:9#*gֳ]l[Ϧm}q WX!I.wjqJ {Ñ|wQOq[qZpu8q8upb2"l=XH~i7!֩]Q?Hz;fb]Ȕz)G#w#A*y87ɓp[ݞ;&p"҂:Xks ėoNd5L|jLR4ymĖ;θDv)ȉ(wl`g7&|g𑁧1D'+,I5X5Pt\9\MZuvx2i( 4<Jm]n=qpةa<`3%0\4A+ $k{I૒F֊RMCi#%HLt ESDM4SnsSC׃ >Zw05+&X3 ܻok2R5hԊhm/)MɢdfMuv8mb!FAe/*oS,Dbu{wF7 yE5JQ `oXU}.D%PQDn),6nɻ| elrǀ6N#!e R,jM r8j!f{ F$<]ɂ Ӹ #gL 0 I[Ro !͑sGw[8m#B0 `eBJ8eT^W+8q.h ,d"$8*$J6,$1!>otJN@dd?\); U1xթA] q׈ AܱZGP*/*HL9Mȡ}Hz@u5TITL0J%c "]rE5Wo~Z Y :z|!B$nqCVC@y OK,tnp,;;s oC1`q6jEqI)ĉs E F *QajQ,S%0Kxhf<y A\Fp E*C)2B˛6289ȮPT Nq%T3;lzp8zŌPA1n=&LW>R 2s@Ð< (C,CHɬrr.Տb#wcc{2q٫鸃JW֪LT"<%'ѧY;OxMZYR9E2a=qJrUx2}讗cR05jo8GbV (VH "nV l D;^{l"* DMTrD~AJhb VQ weCB1D& uHG+hV F l305D]F$BY?!H:r\d|7:kwRx?"pHd0C@D4!BrqPqgf?%ϙH|$^UP ZCH|RMI ȳ!P tȤ;DGo@$bJXWŹäH {nW$p=! Zm}ă! Cu O2k0YmR0!6Jc8F.6t\OL&& xG9)â< !w<Q[e0/|P-Pb]P)gm%qȎa?\L@s9zNOF@ь:WYD B1nO-f>p4K [L1kXdP*! A;??:u;C5P(DJuJz|~FCDa(()1L-;悖$Rf63p"j~  mL̖3 chhk-Mby;s-pٚ$Tw ;L"M9m(LmH[q&f&or^M ؄bpw-}Flci\'<]ސ(,$9}u4wU) Ъ74cAeb kЂ; A~oma lgnO4χگ>;3T#$=he`/t[ iBF00뮬ٞ=,;@Oj/G0P韪-xi(px#"$H/ ydtB>B߽\^\L5D~#1w5;VZJ 4BQMlI"cȃ77:I7Z%ZL5j'bK6%jS%7A(Z!/23Hx;TD: Axy:DgY#54&bam`T,Άpw4tiFqW1h\>,;י`@x$s"'DyW|K*4"\p.`P{uZZs]̃4[y_wx BJrI?oW>]mg2G[On!Φ:!.a"8}[EJq:Ĭ}8TvFmkT1LkB6x F34H;z ds֣ Cq6.:0&e Ɔ,q/^7rΝ&ZdW$˜ʮK 2w| qGYEoݴ8yK5q0ԙ(MyRvf;8n8κ\WsLkw2w5|/ @Yyh$,mm LsuStt 0ψV"ZYӚ։; Rcr;$'(q[h6< \8AyRƹl.),$hj]bIw.. 5~u}sxۜq"|sZb#pSvL=O$J I$ JuY]KΑq 4&N [vf1Ξط;98lflؐN (&v2`㞘SQwԙo:psrę]qb%rhn?A) `M {DV uieE)'FQ:Ù3EjM Pa@,7d7qqݒmB9&=2Ce:o*~0hW'3$tOy!L@Ҹ#ecpA"H!D;:=zD  [R2H@AJDDPKڢ7 .˭?,>1 _Hf)ae3u'Q'\N뒤ު^xdG;<~DQ~@358S⁕L A$I 0SJ5ݍ;r%u>oR0^R癖I禆TaKI _8u5 wXYCc mŷkgFiCf$78qF^*J; _ ?<0MpJ o![Ɲn@0#1l/h9^鲇&xzL5Mh wޯf+W=Wo34DyRӖgBCO i7/8|pKSNmM@F$B a4:Ӳ 69{6$ݴl03HMc^ëv9Ѯ ttX&Ii@̤':1~;KL_{qG^"A@`)!h8ZȤui{ƿng ;,h 4!~7VX!wv10\rjNVpAF"" BT L #@((q^! p^" |"eB|_ * msO@/%h%u|!6&u ܡMPٰ;'r(F*Ah)D91Dk`hɣ.pUbqD4\v9:ʢv,&1n CUDD$jx_W<; ?j@HC@^8VIt"$bU eadGHYTDG3A3T A L!U:L0M 3E EM Kl6*ZVa ePR"$f"2|稐 x^: $DzxpÊNT,g搜a!x3`n=-7* QTP1DUUMLE E Q֘y UU1TTQl 3ۊ82x&@$*Y)*j e(Y FH!RH>yė )NaUUUEQP3}Jhd(L,3TU^*>UB QI!H&h!1 ޏQ߿wXz}@ ^8$> g:hT=AkRR %!>t# 1  D )(?ϞL9}uvv! .>{dnN#E8j1_` ATn$DcK@vC RO،] )aЋKNH^Y 'z `tHVЇh~ߺ:ލp(޶SGl z$`XMZF]6dh*軈QFd6vkKM ~awҟ?ȩ :ݕȥcv ˲cZ4M]XtLD6A}fh#Л!;ت촱oI$}\}.B .;j#sI^g)$6As8 h4b31" R4mRӊwڭ:gd? %NialK W- NZ\QLwi- hq|fA\tA{te:Wq >gt7 rr)Ϣ*)^6lQbfR6tllZ/ y2mg:>U$&2IA)]׋?oQp8/?Jf9BA)0>)DuS:K<3pQ#DPi R$( LO +$X<1TԢr!] K $IR_@khu 7(s{[I QUD! _cF#:4FHIքO]2C6dkêظ8=G/UV<^=+0©#|2 Gv>cXԁM~k|}e@x6v_-C!bI7tŦr'XCphaKI+ѕI87i; TDv/ jˉD_|¤!N-cEx"A0CkᏧd=1P%(gn~oOb6$ML[=tYv۰A>em ǟ=1|;O> /f59AMaR}MPhi/#2BZ T$^=rs}xkw.Jg(Ҫ1{HffEyD.{v({O0d !$~2u7]7v{C&"2 l#*!B(D 41 WR!wo:\] _2Vu#lQ w3 P̀29_XCγ%.$$|+'rF{.;oo=~IBa Oop,\SZ^ٶIiF,] F$ĘcNaF;VӑxCQ+J?i gk `5t:lvD-W@X+c).C^Sr݊978aȠ(yaF "UuՌt{hw-E@o(sOgGQh؟b"#'{L} $Z$h" ; gO4A X_q |C47a:uҺI;tĂgo[2 `on^0Z5T`uv3l| gbT: 432Q<=8IsnEB'¥o;!`e`[ж phg-g|`;!pVDH6F Gy4O "-6RiWtiGL5r(P MR"IXUDx+ Ěࢀ4hm&y_MC`H)h<1???ʃUa!Xj ݯmtyTU?iZEBJT*h"}6(" &a$) )d8ޓW4c 938Aʨgafpk_vוvXSO dSTrN ۳c@<ߞcOGIk c?wԭKf9c9-r>FHoC)섾E L߈~@C->D>{y& ʐ=zBθ@ i+pE3hwGRMEr& +GYSwtٶGp8Le0$)V4(]I_kb#=R S0<:iNH!6#)GJ;&^?9݁z4Lz;v@:bCD9_~ƉD,⏖cgN"2Dm(eۀ' ߓNk_âߐ╕&↋;D2ry'\ d 2q+3b6b48D/Nwj"[:I 4]uPF%FmIr?>U ?GI!C{{<ȿ[ GֶΛw)h5\wMQZKP!!dvSpny;%BU.NP{^Y %θbA0P$! 4,+!M,T1=NgNSeoSda^ 4LSMXY(|7,-aӴ9Gy3ξϕAp)/[3Y6lK+O50HM"0Ec'3Cx[!P{&+S!KCs;Iv*wt<;HOw~bhni#\2 n,fM lsI{GCPmcc&Ce#;^dCa;pdBlEEQTDQTE1xLB 卉AlةR#vDZH#R0vl$Lzd4Î\}v #u +M~6Q|7.nAm>rdjlsp8n;w잞9Qp#` :UUs]Q&< F`(%Ns5R֗C:HdߧIBM(p6&"_5#$RfA+Ph 1u!k8ՁA_{ұqcя3$-X@nT<- ƐXD4rOz DҎ`+/ER^hlynͰda*iB"Xp]&a1&c$ + a p \RO]ދW?duPrۂ?$F D`IH- hԢ(KC$5@B*v AuR5UkrD=Rgۭ._S`U.q?8ɝB獘4.kZkR=E/`˧n 9Hbc!@Cf(*h.v y( 0E L"!$H PҔSҢ#HҡJ&S 8Og3>'~wAPE%B) ȪI0؈%`C'8u&;]ʼ"jCSP},_2D>KHHDw{h1`Xiz{4 azE&]]cנ !(s|7MiS$QtPsnHby!Ǡ0RLS1 + ĩI1;ïwR";3A")G j ʦ(ˣ"⢆v,'3͘hL3xɆmQQj4v>/x 9"Z75$U &\He rU NFp <)R@LF '>S%+ QJ(*YHVaz;-aB'"Y#,Lit9`RR "#7E, _luߓLK$T:@z}1v|#K:da$"BdW7KmgsÕ ~D3\HC-VZAac= (mͽRX,0U!lC.;\cʹ| `.KKq:=m` k:I5Z'dMa6 oZU \ 4S uE8^f <:-jQ;,>>Ѹ<܇v%*|xVpKA\rGZ#lEwWvTrJqʦΩTQG gYE6s:rK QBq:GG?(|G' 8qaֆ#?d!4l`Q$# 5R HPO#`@TxpO-B\TKR>Ih6?)#JtPH40Fۜ}6Vmk`(;c`=N6I"?\Z0iHzjBq]_Tj ܲpTB 3p'ƒ#?kT7iH 'px[ {yYe4@;!B"- 3ߌy/#lܩ()>8tH(Dh < %!rD!J;C5IID4 ]9i2(60C?Q l5̐bc:< bȤ@{|'+RLj<&/^tusJqlO]-/!GϟwͻIdB8ERM!GC.OaK̩BGl4Pĥ}hA"Hh*_f,;ށ <F>N0fa>[ <Pp%}c풄TFg_~\Gmv1ABāGKʫ1`1J(YZ omXhf1؍'Twq41ͨMd14&B DebeMQ=}VˆѴy8((y_&#? { DnSQ4̡L@yF,HPҌ@ Hr5jb$Q(lCQ6/ 9,Op!s&R9=80be "0E0%7upz(ǭ$!`w7Ӄi|@.t~"ZUIA~uSM P{!54.Lw:PoJ*=+j/]u*]v5} EP 'I(^NBc41Hf{$$>P`?_C}AB20xX:03q ǎIAs^KN?O D8ē?EܘYSsFN#=UbV\cjr'?%ܤc4 _ì 'Cm_$IӤM3=tm^DD$3B%Lg3A3 0s@=rprDN(,6/ QVAdl6,mD\twbp91@nP1ߓLdKz1'HdvǢ%#rHa99?=Lzri' *9a iNy&wlgVTZ;@P#KTxr!2ΘDYd|c_7kM+xmCUȴW !c:gF)l+m+`RqěR2뵽`bAjG-+ǍZhΙK$unC3$] sEhxiaRd\34݄* ﶭ6DLEi M, ^`y0v0QNFpYOTWc0ԈfmՈ'Tbp<)51 >Ѥ oᮣkq3!_:O( %Z`fP>d!;H$i8 0{4vyT,ԕD0BjpHbL_ ܼ*ZqB+Q$wI$VֶֆؾdT1xEMIFv˟sbFklj;s}elH&.PtkPWа0 K]*#<P)'=@\8z{lq!agKeف $, lpmrՀ8Γ| ryn5)@)C쉥 (i _L-{Sl 8@bj(S  ɾR5 |$zA&8PrP^<=Pٷr&_UUTETUUT UUUUU*~!!*oXVq)Q E̡ !SJ̲OC6mc GQ]ͮC((w0zYA=Ag:5ܽQi 1nLsͩ)Cn+ FwD q1{|~=ON>J(y{Mr !6O (PHkXtF43%MP ֥_h5Y%f&NM'k۱N}a XIVe?~]BQ8ZZI X PH%) )PYe !H-  bCa4R#T5@QNIE1 TRP ΀ B@BBH2!JI <~E 4p~9a/™#Ϗ[Ӱ,恡=*+Oˁ~2J\?_ѷ; U=={l$#bȞo\9x!HZJR{PljB!S!KERPP$S$4"@1 "D0RPJU@D(+HQDK.@!! ;͝XRIPQk*CF?'xAvAJO\et.#!]R? (±0C6'G4 qQB+ dITlKF喝ז"cآ.S?v %ΆpGO{v{qa8  nFƭI÷ez51 hIn@_h{[@\f$PbHI CXI` "q(i HPH(X ROY2 !U  x!ੴbʈyn޾tϖ ڹA`bXJ izHv:8*d?k@%ho  z4h@֗\[kbBؘilR&B*(a  j&qCe9<(C . JS@ϲECݸL>uDdņ{{bdJe{F:t>n႘K ;%Ff\mnG2 X mx2qLf_̲h *Olm5ڐMipU mV3?7AT=&:G\3QFg *gc3P(CLA\䉒*wPMҩ@ܒ ,:UPr}yϟxwZ&YG.D,Tl)†H $cϦ6~.] ZkQp$32CAr<ۤG @Tx#<~aND$2GŅ$)(vH"$I(* bZTi H]:-9?7';1&đ'FK0([9"FSFM|"hIH6TJ4Z DШ%  @rmt@J|Db'ء闸R`#mA?Oe?F$D]!@] XTNrF~$m>Pd5a0`ٸ:aDf}9r}β¾t2 %hŏ3>[ 'XL6ƌ "uL >5yKwg1WlcID''Y[hU17zɼauNZlI8瘒務Y\ޜAt9J{P(g#[<pd1苤 Jq+egy[%[F7HC}i= ъU9 1!((}?&pر>F{?Mq˟f}&raሆF-e6"j2aʌdw&+.;H߽('h_!3"; $ 5WM8|!XY1i)R4(̻lqHQ:QS Md۾@ XI&qByrP":dDdњ> 80 Dh K"҆?ku0}fH\ 06+LFc8y?bk`֚h)m)m)m)m)m)m)m)m)m)m)m)m)m)30U?hApzר{X 8хx*p%"[ẘjR6TK#bh 6[],]ޢ͓Fv)h9i!C0)D[`X ڠ"A] >vjZ#mh>'d%$8<(\9sz 'ȗ? FccKd3a8'Ot:.f⌶m7T{ʕv<"Cܶ1G m|wy)<"͇'`mĈ4h،ˆI5i5EoAn"qqB3#W?e]8;fGQVB23|S9f~cQ)1KfCV_l10W=WLp00$;W_F5kϔ`6q_oyþq2+{^:`_:3(NIE$Cbԁ 4%@īJ4yϓۜ)1OgDSU%G!םLO ZN)BM?}C a"tawVD(v!ؙ,v /Ӏ.֋ O43`{3 c8KaGuć@GQCSŁPH8y?P8pH=N{E~h$ EzCIUG'kG=|U8O5V;2nHL%`JˀL~qadLـBA DL=E>GƧr>~H#! Jr(Hju|+c"fA 2ܶ*QK/ IKىAL`!no#i]!Mq8N\Nȝ8|A0qD? U=Pd[VԸP\ٷR+IiĂ)2ZF9q>>!s߶Gf٦3=4DA@EWC̾s 4 CIHz4Qw3s4mzR 54·gp5% F4HAAՕ4w.G:zxjWjYn!JکihHip@S>X ]4_C"s(@;PNzO`DT$@Lґ$$T7ϧ#E`0o:.SKgle(+t{K [{?9JJ!\K:lj14.Z&E0̧N$ZRdCeHLO~^w u f tJZgwԾЄɝvP 狪an/F|fgfSq̀G%c&#%D,VXa )ǞuLHjr(O.w7a6y. 7{9%%4C@{\Lh"]y%!Um>iߍ5kI@tGܙ 'XEُe9*Gl# خ#߻_HWڼC#%˙10r/lq}!'0?ΙUn=35'I:oPhEE`H:*&K_ƃ2*\{EFrPY񝮥]c/$R#<ߎxwg rxOa'D^ ǡ) 箕!&(SЧR$SBH1 C B,^+y*_χN&a=V(qZ7U>5_пxr[" ?@6RJ!mt%x5kT71};(-4\p2ʏAy)"zW#U>g=XssPZ>oL0g<N$^cv #neuWEDc\oo*?{W(s3f5jbLN#FDzm%=~O0","=S={igxzh{ $G6xۡ2?U &pCH{;/ʠЇ{c0L֘1}^Ye"<ˍH;@)dJC^_O בN"Hx0~ݠ` m=~o~Za ,zA_g0wPZ;(IrBAIK@&d2> VKpU'(HE`*7~^AkIIQJ uvH P<Φ\`>}9v}xGC%+~ž,C佁$J bb?͛;/ 8a[Y~8!}:0͛+b]cqq ?e]8+AOv890Zug2| FZuo(]Ĵ& }"jGI00iB" (ZXR'Qw?W>eF PxjZBH=uVB65a""LLimVT?{M<ӫ^V병<iƿLn/ܺĚ?,}). {֨Rj<E  Py l@0Gv&uWߣ20 A+g<ֶ%MHBDxp[|F,Іa{ilEܠ;b6ii #ҡV{ 1+ G P=@t |r?*B(ӤCoߣ&bh%#7Nufq'#A)&)V`] Bd*!B03;^~e4tPo TPB VΝyPK~H 풚˖sS5zPfqD u{4Yn11z]z*ac_@r-.J [C>O-F9K,vRn(4눟YJ1~ vS̫c~10"am-ƴ :P+PK8to1N-дS K&:<vx^USֆ N&5VxQi\@1 P;bP̓\<{$&EPm8B)cHtRԦZ)6M <Vb;mQRtܚ)ifZF1m@RiЏp~Q/}Q<#@.,x"i '.~ן?&15ѕd#H7qh FS KdZ)sih:}xCd&!;=#')5A%)'1iӹZ*;]$'N.vч@cNDp+lk)M-sׂk;yG1>TwT{DiV鑑;f)2BT[_Bj$jeDglLa jhű)v+NQz.\3ַ1s{p.\ Y#1 Qp) r;{cmi4NcL7 Y2ɻP$iJs%q9HC LCKgQ˨mc>WkO˘MZus'hIA.FQmC6!))ho|N߃~a-RNKO".A{ UMsu;(Q_c@F00w61h)C={ kQEQE(GD@}(" ٳ&|?[hZ x iZ']::x_}ʈ;S+._Ipm9dgf rm½Xہ4 {8MԶm9QI}pB26 !xq";5 '\(fA^]oqK$;0RkíǷfak`1TpēBLx]B9phbQ9^p-4wcÀoD5#"A,!`l2!,KPjL>BG¥o!wnw/%1UB1lyܟi8|?"A_q;M)֤h[|P"„ *}S?}s?Z-mit7϶hPXzs{^nl_*y0=T|KBXU=QLqNKeOD.fy б^Kr j" רPb 5M{BqfV@_Tx} *oEC pg1Gt _84|4(rSV8n2G,4rx{` 4gCĪe1*='RO!۬0߯ZY9&#R>2hOIJi'O#>;my'+1\U|/g{??o?_w?~?:>gK<ggO???^?'?g?x' "mPB=ߣxIlzO8\MvhP  mk fÉOM0na(M=w','Wza?x|=2%O'_ uMYഀp݅Gט{@aq=hO )"yELBPM j!֢ E?6nts{- D/?'$1_a`gþ _Y%I DD6ɂ9T*!` 9DѠe D%ER}a A􏧞HE!_ǟUn0<靣@FFÇ3d}~&&%p$NBjMS$4]p hlH ;16 нW_2wƞatjH'jwklg)}Q#]rBhcDly:Qfcc&C>|>oDsOhP;®]vF DabFqa' mQ#J&a`E-1&}'Ahs T,4;+ |MwUln/J|"dCyzKڱRkOgG{G@R9M){j ՚Vj'5fd K2YLZWx0FZe4A3$9~,Ir &djfLKTZ(h1&n9 K88F HwC@]-hxQFmEu#o )982=JfI`2-ƴ"kBq %FD3m9lSq\c-[ۢ BOp!"3VtCGqߢ]-2\F!FHLjǔ{0-ik)+UI|O20lc я"&@Qm vF-2fł0fJ& fz*NAZn6ÿ6N S14XfaaK3"2]q<""wDIݮaFyI!czyyS^nkm]'Ѷ x֌li"S5seA'kZ3Dnv{r^͇+Ta0f&D@dۮ$[xweU&VB^L9w (>;wz.cTenD65le6h0 `TMA]w|C rCH.\uVHIQX6Y_qm na5|>6ƧtzuoZ82SD13):$$J3UNTnE0Z`c6k~ "?N 60Dsy|m>üw19BRΛ\'{ס`S/蜘u}YŞsȚcU䄫9I@NEOfGH6ܗ顦u} %/-y:p L3aa!q˯Tm:"i%:یd`j"QL&w|[|e}2:c㿖DK&ǖ)d%c!НګLHL.*2AdGg|+wi͝kHipD8ϧ)c3& eG9k~ϴO̳giٿa}^=C k{wͶF'])V|K ߍYk&|bIDc`y;>Ј|{|qiV+ׇ}fˬ @6 4s,XCj1꒦G!צnr2|XfUaWB{>5`:cMISJ]8Ë}d c?Dl@Bŀ,Z}a1r;^? )mdna6&d&Ǟᓯ' 'Q8Njb Xr.L$s[;e?pmVm(NE!![[cdcVBQ$?I(yZ!UȔ C!d{WJ8w~tV>7Xk^"Vfpzg{[yw͕80ثY#:ثi. av1UtE`d^RP^x@XSIBm)tQv3]J*h4#37.:Ip$$e1TWiq|w%n/|M%v53+\s2(<\br~I$Ejo۞v q?qD'\{u;ܠ^9Ǭ1λ)IdFՑkX{)>3=+sFW%pPJ+J^QM4т9ix*Ʉ9X ^_a(RO=q #|wQ3bMWߩ}Uک~M'eIBc3c>tbJP2/Pey(0==/գ c_jFvG!Y>痚lHH%`QPQŝ[]uW -dff@ѫQabH?a#Du P<;g: gG E> 4<BՀ;bU- B<;"$+tq.l=' +ؕMk06Pe9ħ.`姆20]\O 1g`Ux_2GM,#L1̉088 bIP@bџ)BlË%xnW.&PFp~RŠFIm.SIQ*I!ŊI Յ D$"c,TU!Q@0AT@W$"B""*"&TJJP& h&( !t!ZDjTc@HaҀSL\C:ɒX|Cպp 508n)d` LQ̂xϳ.ګ -Dn  ɩ>SS{(P~㼁"z&GȺP` ~++Z=)dFT66 K}U+$p> vGW#@iiiF(&1ۣ)f:>z>NgPxPi|.f]!/!8*ju@Wׄ8g FӵiG)6"":Ywns{t@{WR,s|,BD!Th)OD$ b(UhFR$ E%!H)*!RHN*h J *@hFAJ JD =E@G  y~7&J'A_HND#(̟oM$('(xS=b5PHaZu)0)_ ;O22ڄQB@AK  . &Ũp4YxJ=X$*06 T?׈4l9#22KoN1b)(!^(+ 2\\qǾ}w57[;KQؤGbBήs:Pi +#iM:ri\1XYV:'VHl6#c9/%ZhchC,1bbaq/z@ehNoO@m ڐtC{ȂCv"F:OX*%%`&BM*$M/'qX ȁϳP1?/g|rcGt#Fmp䝷N3842L"iH~bA`:z6I%*WzN౩87% !D3%ztH### !V ePD$ YpS 4*'&GM+&$nX1CʢUt LMD͎SYQ=47FXAڑZѥȔ @40$RP؅Gl]GAC_ؠ"G` d b^ J8T!'/%(Rб>TRڣၪJE)iPSJY!ߔ (9&ABk:CI~ !cș%Uf7" w.j?sm 77J**@NCh=Pȇ==HG>Vy :Mmr^y^˝z) xH8I<<=~9 7h/?!{5H%4' i1]?|5ba.SDp!P9MDQ,DE7,<Ń`-Bib+B<0#I 3E =UB34ߏh Q})Q}}*P`{"}@zRdW 5"nȚw&`6%GD١t>V liZ2Ùm -s$)NMI ؂ cE0*d=)D ! SI<2cnq24.4RR$}0r ({&(I 8*iCR' CȽG'a:tӉ(h J*`{B $uc9=P:dG/ A@%-}/gZN7i$ !M$_i"mr6 5K%m wy7ǖ HP0RăSW>x =x<⽀B!nag{ۧ{:yKMZPP0zJC'AMD>Y"Ԥ%7BnICX7Zcb=;x':;U;bMdnl$2eb 'Q %W԰\ca&G~UhVOl'@ŬQ :mLoLʰw :JJ\:)h]wӅRA< P}xG6(!l׫-wep>+*ɭM4zB؞(BvR8 aQj4% ޠF/ .5ʈԕ+CBĖҝck>Ȋ&um,QɉiY `C'ZbJc;@l!B$>8~ o>rKۃI0l@2 %(($f%N!Nr\$CCP"&<<& Bd40BL| h+D9KȈ(IbA`ɽH\njx."i}ODE7|%Ax|p*ևO$,YlfPcEQ.Bzd3|K~κ0=YއB =L 0BT@0 PYx8肕f&= tb{],ELUS BD62VsT~JBV#3*^HPPP0V:a#[WuKJmaJDIDCHE"{:Nyotȍӑ7:\BZ`F"U4 5q)q qn` TUQ#1ڨֳ; n5o%{eL?Sm?~ӦhJг@gA HI@|1ic<[FTuZOA~S{}BD}8XF6prNTcy˟H?}HyxANI;Bޙ3Sۈ. _"9qS [0kQ91@oJh~uZ T {UN)ՂA !|z&hb%@҆<((ca8B f: X}\=@ C\(ȊP@D #MZ̰;&衁YC م=y蒠 ""iX!i *h((iI" i"(* )VC|vN YY!@0P/Ov bhXDHv=i*8ZD%b~ 5][gّ[)~L;q>ȏh%Z}(qJK=S<ع!@ـB@ d j0<X7"uH  GD~<bkTcq6&I6H m%y JL#z H@E>À<#w?;4hǁ65kze 4t"IaJ>dbӭ '>* J|җGE?뗒dXא_TMUͭ!d)33 0j JF0~/w?|*u) |+O v?e%łʢ!ȆDObj-9lJ{/ǃ.vRN01goI3P$:3[#! FgMRj[u 2#F@k8oM"/+# sηL Š2>?>?=(`ƺ1/nF3qnfg!ʛXBA&kDpr{\s@z>6Eʇc.@Wh-Emyqvg $&7 ǧTxyDuD)S;%pILyp087-ܹ)4pN|3Be\Nz-"ü>Pi#?I;r6xܫEX9h~HgGָr$ ɚV*®qH̐ss3o Q7x-JfdkdC =l[Ŏ%XPG|y~Cukyl\l/oïkqېwƠpݓFzz V ˁ "+Y~DڇodI` q/#"CƟXrLՃT g].9%p$Gݡ>ܴc`pw{iy <+*X{A踝~?N衤mBs0o*< u`$% i`M ӏ+IUNԌ<F%bJD3DϬN6cB4=݈I4 ,ո?nwliLI\& G1һg`UHB́yՋ'ֵ UsB}pO P QRCOQ# ߘ ЈbBz"BJ$%P_DCB+Ă:(YEPbE3!~GbjI?zr*d! =j n 3o] Eb}XzO6_Db]!w~J!ć{)GgYT,)F1G߽ SCfy2QARF˘1\ Qbt/iK|^}Uk'$b᳂2σ8pZj*9Đ`(H F^|zl@tvhXm*jz~:|#:'Q #ièJqd;; K_[,Z@mA̪<ʔ-D=Kֵ7hK2rn fDwA6tF'!4#E`"ݱn""L`Ǹk'}rEzOv5 SK/"%}IQȂvشËG mݴ#tY8{=}Fs j~U,nsR>!G}8mmLP!IKXX>1"bn1] zzI`R'ƒʭ-^Π[%e2N؝o@ yc4(pWֺGIPxeB} <>t\FD%, ;c΍Ά.zwtQjgթ! _j:=w`zyK ;R%lźCu9 uR:B#ԔG{3A%)K;H15n{uQ^v[@=p8$WqD)Bڿ\b@ j"SGG=>b V16;M^lKPPdp80È!aJ$L0>4f3*f3leQK(X̳`7{D{s,p p}eDU +C|V0@Oh~ϣ A/b)+!GBsTI!-uڱcATDHI4G8ReD&m: a|Qur D%ҞT ʢ{?oG?DHүz4o"OvO[UD,$3F@ߜhPB|370R;P-5Dso`ĭ$HqF"N8ЈxHam1X-s$tWDFR jd$&dbfF5DdF!R8.0Jc[b!~mܽO&dw>&Ǵu%?;7S~iXD8j*^>QVt6DkoY`ƛBR@qA9f )Ә5٩Z%ƌX1+TsƃiAIb!f餱Ib Ƃ(q(v385ADS@` 2AB3YKc\51R@,$GC˼ E|hc MO$S\5b эp09T).!J &h F@(m=΂ c3QcLe? +C9f(Ea&C•;>nbE%%ҙ/8ŗkBL$ )$dk 6 nD,)*84 RD"J:7bMnjf\F1'- V9(δ>hiPHY0P?8N\(@$.ruMD^Z 41[R`l8$3:& Y"A 1%i4aKcicU1l&k:Q-JGPOU Rlo& @5hõ a1L>7"N:<`MD4XYjގG9`rޙjlfH)ǸA5z5ΦMj:c"04 8׎Gۜ8 ,\ʋSRCXi68 dx!8.hTJ&i\91` 4HN'Hˇt<)q//TIR8C)j J<q}jb/15AE$EHE9l5!✴F"$6=Ą'/P?vjEP B #!| 2[@()U恿ލPJ @|"Dtr~ƒvoHMIU,HRB -`%xoGF`< ck"#ܓޮXe5M7̷D o|`ԱA0SNQE01Dz$Nj)~3nnn|-ݪ-z$01Dsru).js?Uih(1qdÜ0y#krXPeFA28"Fڶ'71%! UXڝe~*~Nkx* E8LN#~O1E4htFf +M4߈4)+}5d NL@(* Jlh~;ʨ%WϰCN>E@vO+ERGAU LpEDL%!1L50 2/ 5Eod=qÆa% uc)c@XGt0z#%D,4nB'>ʵUdT cG?2@ Ԩ0"+> H)Ad//y~|2h뻳(? ީD}X9.-2B!0`7`fK%~@ȻG( |jm RɱC}6t>?/-n֟j}Ja@BWM`&$AhҺxKrc!v.IJ|)}mI|tH~c`}yr慸Q(˗3r-5_0g cr֫?nùO$jmݞ_O^* ݊8:cQAt!( 恎, 1/Lf 7VI b`a] hrCh4<CwQ<νWG_D%M6yZWlMs;æ܈J%9]g,ǩVMkBs)J*(yΛ'0| =;o5~s>a0Xe ])t P#PR42`XXP XQw+ r[b|TmxJ z+לWρAc`di52y'HO) 'f,T2EM#BBT"o$DR`(H%e!\?΂ j$ _-&Wi H"H Ԇġbd 7 HE&@B* ;r 'B^¡S,L~v)cpUJ-R B@)A@%!BĈ J̩I 4(R.4$$0!CS"p? {;U $CU,@҅<] 0+2|9PPm֊n5#q1uƖ*J]A]D-ga`&ƀԄN(I]P 払hB!X&D DJ=/Ayj"mÛF&nzsb#ܵ|>AιxO*jkX B@;ADXÄ" iP!*ul֑ F9PJ"6[Qɝ3FsʼeC$08e)@mC52Dz 98tXfFf-o:HeBN$GdCaGD,ELdH"$#]`FI4>E E!$|B~GUƦ1kQDS~74A£[nႧsj5Ո6+9t1h0Rq MHbm&ʢ,@2n_jzcF|X3@=AGt)L^Hm^⑔\c2nh+Tr򩻹GyՏo4G~]LdϞ V?xuHڷR=n~꼕2BHwMl߳JzaSsUζ~D`d,e#on˙m2֖="Љ堂>^s'=Uv]&Ul˞QơɈ&s/U]7"wvˏIIe۴mD=ȥ^wE\",Żbҩ-Eh̊9̧dJPְ C<$&Ҽ<6YF^8o ƜIV)ݑOEj __^ n0zaTf%$vRCSS+E-?_5tb9_Iзۿ\r|t$<$o娟lŸ}xsKs;b_}zk'b~|`j&0 myC 5R^/X[b 3z[h5$@Uw˷z9GH>\j&aкYkͦ>;dؓhm(?_Diءݭť}cnR>7PfH۩l̒a|"4X//#{Iι=G7e3l;!mZ0\-o:1䜔piɠ1 &ĨGPSSڞ6Z2KJh|?哺<9Nǡ1LefKb!7 4z >?T:4n "ݘ $:5J q/VVewF>5-So/(xk#PkE_D!hO/(t$Oc)C~_>!:0w|cB4wlӗGzC/o1e xr5Fp2(l!)RDRтLˇ1Ic=OCs7+iy9w' 79~cɊח ób\0?T'F8(AHx;*7C:C0ލ伾j/{zLvӿi6;s=}!F™-HA/=Hz`iX~" q:Aƅ.ҁS#wIɢ˨Gd*Q(1nԒ6GVndf lmR8nN=-4nDӥu[|e+E7QLR=CK$s-N&'9eَF# CibX- Ku-v%{keyHh뫞ec[DW;aTĆ8ƠT^ 5yl~/`%Pd"Tawat%5b3۫'h3“in$Ns)=!ڮ@xw%̴3qp0:Lr {!`Ss͓)cgw6:l#ҫPvsO=[#=YSRf6,ZΟ~N4j޳x.w]L NCao5տP !j"y8S^f2ﶋiC^&2“xT"v`F)So u^}h!fݨVԄ@~`~NMhĕ15o0U,pz$I=vaC"6 ƨ"J S}Pg(}b\غ/r甶`Q[ & '!o};9\?nFXs>Lc!;" D:untЅ4t6waNjݼ.g'':VV4v ^zi ('b[v 2ulDw6K1iHd ^t ^Kx!yxc7> řN2 3eM,,#b;:7<<7z%,Ư^HH6͹vgm|WHD‰D]@ʙ!2 3.`pT:A3T\[2tAh5BȖG„` JZ6@]3v~8 :=}&eWnW6GHNjsTEc'2c?גd}Xf呀o~ѸA8m ?TYw4'H_F;ަ2zXXKiǜQ]v;K=V'0]#&5Q'XGNǗX0I 3=RxuCBUf{'G[qE:f5o0w MD0b֬GiRRZJl!kVWE^kLh=q!j7A^J-zE,uy-y(Kgi]&%K#ONএ7_ɸpC碿FzwV^xs '3zNc-1_+tbzS!)##$Ev4%:/tδw< /j๼UX!|s`T] 釄\Cf'Y"hm-y5 xfGT?oo2#b|FpĵpReibʌV KrBCpDX;g9(DÕqM4ƅk6-\ ،̞IINvc/W4xC޺3f`taMHa68uH2 &HdO+UPQ6ɠ^:J Ϛ$"BB!_I>÷OЬIi! | N9|aP8*TTd8\0-[$BhGs$@r'z"㶌uEFi#tɎ)qA6Y ۥ̅_ql̠xqjeVW$(szO<M#si&hcZ4*Hc@wA{'D U S $Ƣyȁg0`&"2{U*<|C8ǵ2 M39= qb\7Qn81^5"% m\s8J:cf3qI 9~f:AA퓯yP 3*!B:z»%Wċń 1gOie`rRP"1qvWeJQ03ya$$a΢c+/hHđZ|pnq vTwvfi=VDgdv}Fw?_lp:%a3koOIAUu@h! "`$0K .'wеWGϫ/\ޅ}aA~3W9(#V[#P:(K Z9Y l-THqQY( 器ԓQIM3̂f8 ߹z[Y:HpG݌u@?[;S7c3 6 0P՚%nq7x4}[ (OoD"CmunSq{s"U#ղz,]ѧ>3_BO&v3`afgp<#Ԍm![o9eʌCWz"]zg|ٹ[4ٕ~LYY?sowVWŠ' :%Ϲ~ByƷ.N[amaGl8E6ZTĬ_u2zjbO}BWZ;)@GDdzRnEh#  c` $(; Գc-y)RRCn$CDH`EH=2AtRiJ P=ŽC I6&! 2!?E䧫%I!|zn5߄͞1pyC \TmBd:gPQMpm EHkxx8XoE H U*#%sILZȄ1#6qh8!BA\6fZ70yP-z7s\ G,!a!9]4OmyNXU 8f. 5PP&5 9c]UH|1ǯP2ty׽sЋ Ǩh(RQm#H M44w)&8(S]C%.fL` bcb!n.SE^>'Ove`2Rd#}* (&ӳ5=wQN}4U4Z5XA0h|$4"#^5r ;jwaJI1|:8E*LR{7m5߯ԗRtޗd=e3ˮѯ5D"W]U L,2lNTyI ؠiP-r!@RЇb\B!@kXC~f}v:=HIhZig[ #y6vG/MF~B{\^( #Xi}%F^1TP`:a_ b xgDFPyy'Q]hӠ%\ \1}_4 'ˣɻMM?(.*Ƞe\EG`Vy-dyiԙ%)_u(8`Ѥ [Y1tۘ1iqmO 40M?ըjYz$6ٽf`mb)hI"& Mֵ7^ii0+׏Sб{$gΩoM#kN„;äMJii˟ zEbY>/Myϓzѣ2A̙u1`c,KMK sVER9>5)+ Q$"(D#y`׼/$v˄<+KAic:~Yld$ui7邠V:Fݹk L,B"2'h:]%T0({ 12BUzzerC]{Fl[Y8=r@ gzݧpv!I} !xأ `sU>O]kL[)$Ϣ&Pp>f2XՖ8s < f j9 pAWsɜ'4u-;)$ \rrģoGoYFd4Iu OI莍l}I(=/@ *J*VR[6l71gbG=߹uкנ|e0s( K 'Ԟ#3!Ă4 H*@uM!qu<. M1%)VSaADk;gYU "m:7=zuma @ h@@aD|9 k^8!16#86U3Bm ssăB ܍w68;Kv;3/SU$́fߧNM3ίEavCE]p!@v.Mbz;a1 Gm;C&IXų$VBfbbU ]eÅ5t$YJq,ܣc!1y=L 7!!~Ym}ی;5U=LuYsN '-7g}&*BXab-8rS+P_vqH҆Q$ I0>jN9cC ss}±Cx#i&r7)(N(ПjA"Ҿcl0Ov$ϒ&{tQ9STCe nJ1Pi28~ ;e;qŽᰱ3a6VCD>12nzgfpȹ$$ D 2Yڙo\ѽh~:3Z#Gf].ӏn *%lmrW ۤijO p1%R"M#^8 ̈́kK{H@Ĩ|!dLztӤW^G! ís ;Ed)g i!7jCy;:nt2@F" q#v(wH1w9ۙy^%td,iiX-ؖs)z;9 wS[r52=a0`} FFL㘷|WnFz*Á:1aTQ*bqj#J!HHg':4`P  EGJ9~I4 L83Ec`fw Q($$3 &@&Ly^mڝ!nts C^^;"ўA1ٯ3y0nU6Y#h[}Nc,oWqR_y1SʴgфQΓ '`idϸZU+qmÂFn!P;7)\gg҇~65V++ݤ 3*yˤ;0mh`n:hKu;~O5n pd{kyu){1~PEQW/ojCIc(ۚ)5x4XL!t1OB/C 3s!1H9J2j-$ - *ƶ}Ev6v8rB5ٌDuk0C)cxpmMEK`fd *4ڢu' J,'sB Yj*z1(+]Vօ]b6/H) $0lMVY5oV1ѷaݴYPJ*s+ VBmW3XU2別ܰJ. P03ήef3o]ye~^y/A߇H pRZK1==6AN27 S5~,mQC-JMiNzE:,K0f V:`q+Iuv&vDMxwML@oY[Jk &qК Ts^i&OiSRBC,^@.Ʉ]{I@&w.aPhaߕ=;v_|6hYMUeL0^Y wѼҲEW7! B%.6 Ҥ "[jG'v6!^Ն ΀  /\'X{^){DDM V0^Ty>)%^ He=IO H7=\-,9TJ`lNP$ (H( , L yԻe dt0MP݈_*ݥ 4'`7*+,6$AEQ1BCqvJ![g߷i!>DsS!$yJI$ G{p405ω׊Gf9p97Mջ5tF̽fNކD=].S.8Rү-,6Ɣܶy2)%%QzRX6aa]nv#6ܔofҤ F"BH(Fdi F%hPB"e&i eͤ!2"bGp[AEU1z91EI>R5htCX?\kf3 娴5͞DODg;`六4/'Nr߸*܆ f2 D{5?0)+,@A  3)JM P>Rb{!<"|>H!lwdu(@[:3q_"ZҨo߿6OᯁUa^W|/iY%;@c ΢P:L@C"SQ-D4D"r "]P " y{eY`DMPtz;'B$!BĢR+!JS,!4+#:gy]'aQmr؃׆Ij.o.l$䯌+cNr8q.gb8 Uِ; 9 1V*kb1D(2ܺpHәy Sx:? òqNpƓ7rxc9te-gC ^L)"ZQnVXW 瞃s,{ {H^/f P9 6.:;b} Jhlh(֐JaGBD&!S2 Qx V~=VI*v],KYu:(i@j B:\ߝ: 6a`{#$"H##z9sZFo ٲB @s)5zÂh3f&듘Vl@3"w)R̴g/S#I70: 䅊%e&2~=W6P{CJJFN2@UQ}F׏LyŘaPFϗ!%׫vAMx"0ߢFL>L ‰znI)޼6"q a_oU65=>\Ϲ??LЗ@ `54^7- UDYQa?,כy榚W זn ŞTg6'0_\;v_ E"wI@Xzcu(4Gv{/sE_>yd=AΛd 6 6!q 2;!|$KP ٢&b:2 &e 3)DiU_Š"%R*(PF!E]"-}5 wնLc ܢ8 ss.B9mF'K~Q bs;ꦚiPh;sp7+p?LB@|6lo ؛ %q1!pxck{c9UXyS_ThrΣxnO!إR!" u8T7¶R%q>%/)y̾@F1M[c&s|_i3 :v{\[6ڰml61)54Zب+go_Q3FDAUf=u7.u9U*y*Z$`^W'A=WE}mw :I{`;<ˑ<$^KN mnV6RV,3 c+b =QMkD4Ს[IhI68mPrBpM0ng\qr8G!徘0o$xelUFD6봶ḊmFUsȴᛗpb+mlS f{Ɋ-:jv669Ƿ \ֲO(գ 0@bb I_l9ɘ<x& s!s@X҃G.%&-&0Ch2M`95˓#JgK G r"mV$F{nr;yqA# k[M9’LF}N`u)p ( |"9iȑ@{S_h~חaN^'Bxu8^!$ p;5-7>)^ Lg"r<67Dbn>kSjK=yPo}E|*6uvaod'1{S!8cG0y+ H$ۗvdG#()("~HB #aH4J,DBd J*P G'S׍c$-ai87rgzVIT]"삙Hx33/c]dvmTBz G T/,n:kM$:qVCMxK0ǰ(ra4x{G՗e/*$ 瑷 %ARE~:theFZ0GC*(Sѹ8K݁9,6qS|$(!N0Ay$h^A|* BAQ S1J)T0T8+`nT5n D)4$d-P+4`z*_{2҄'p;@Kgț4|^:mA*BL ~Q騫Ъ}\іcߧ `Ac$G%{ HG04ym'W]8f=2 p 0]m7JJ4 C$D ,DE@L (R Hr>@!1 I9^Dw#TQK(Pj|Ҫw!2P.* 缽3sGZOwq{v<>Fy 8B4^=WP&i]v]d: (\#`ߔcCuaB"?'E5+%۬Qa Y`rCH*@`A=Ҍc0no Ĥ=%)'vb#ANH@}DnP_Ortvaln8zmEN G  &LP̞ztvH5cQOm=ϭ$Nw<\GYs.q_} 8^T:[ ?mL%eϠ%)#Kg;L>Ne!Q)̠(5K0b28CC½o\~ P,\B6ݒ8Q/1cII~9WU>@P6V n7՟-i 2/ ƫ& E )ZhV%UhX^D*$b22}w j+P1'rV_ -R (QD B@ n{ )WI0&"ʽgv_i6Ɗ\D ִ6_9p ť\ iP#1ZjhEHP ]}A%$`xnƤ$4R"m PCJ+#L *4 S'"61QM,CuQ-:1%PB$sLL lSE@=f@ !zQ{%ZPXQ#4D(4%>ZO먥: |w(buDE:H0@ܮGH8);XA.HD)ӝGDФux f@ HF`I%/wD ?݁P 9O.cA1H!@R0Ĥ@D ,Ծpzx5 ?^# `I@ȫ"E:R]@  @83dc* !:}/dUBQL@W=jy!7<y- )%3R44#L- 2CR*7)yjx4J}%@H«a17.7LPF}wR(n_#CMSnq0C I>=#k"V:a$ سz ~E|v>PZzcyk^tyʗm1i'__>؏%5-M%1? [{㦆 X=Wp?`jQXJlkIbs;멉Bb?lI+LGw!;9KSBx) W(D޹-X,}z>̍4~aJQ.h>r{Ns'7eV$= R& uyI&dv BGpȜQ_g#1CDVƂj{agqT N Vh ` 1%v:o0x 5[?)/AI*ɜ>&`*#ފ@/M/ p{fJj^:(, ECb#EpgXCk 4E-(,LCIT0 aR Lê=6aeFPyr]!$߿K;kt B)B %b(\/ -(8m] r<Þ:OX nz [u?v镚uH2^IlQa2u8gPq0ad&]L!*0c[l6#݇3M& (7fePU-л M%.D!8PѠZJM ~FO'(!67:5cԺwp ςLiZKl.$U >;TbhPQH(6x1B?f1޷ھ#AbHR0OdL|>Y~* GSBq)R›0ba 6Qx.t0 @7&"G9TmWDI@c(S3mqFW݆:Q-RVƄMxL|5HE!|r掵:T~8weΉ_Bq/@_4QmGs") nfX"JR3,Nu5]ْ<ͳmi91jً!q<Q1!sH@DL1AO/ao|oE}x0*d^ʾ n!:"쮍wtv&Y-S89BVfϗr 0A q` ӽ26$$ n4_gc˦N8ah~'@pqָJ.M&kRdijHQH"e& !~H@yS! IL6cV &֞GQ&CYf@KýU^yFpa`H!iQ&18?]wB˙IUB}"CEn9/f=p20iivEwAu[Ƚ&乀=*"hkߏlHz}襂}$͏4 Hw}?M$0XS3t$ :N 8c$%r2RpZ+yUUUUUUUUUTETEEUUQUUUUUUTP5jѨCb4Il R b if24!V 3uFV{hcDs}\os ,#&#b!V5 6Um8HRA64Hɂ $JĄS9h>=f!Q|y3r ?Аa!`d2Hf aIȆ2˪tx7A4STEDDETD{?w$@Gzi Rrh |//]2IA↓6xS emK_}%mH^_2B6aG@F f%.Уm2;+tCo[4;UUUZUUT>OޞjbOB4Dk'7E 68HiBߋr,@̠4;GhÐd8 qhO BH$RRJ>n2C?`Dzv> 6 If'\?-|;bƜ`Z=oZkPPnc^M mT:̹(4o_ &3Ԇ$XѩQɄ@RhxRkAx,zQc4$aCes%(׻^7DN'T 9 %;ӈC>L{z !$`Jl 2#>5{FkQ 8gv: ,m5Jq :˙l`(L\RAqã ߅Fܖrfb $c ]H:Ij5/U: < g1L3| ,h"PN!)M'@@_V+5A;'bi˸6xHi`08 -i7åGwQx `XCŅ DفZ*٣_QOL$Fc~QhTd*^ aS#oJ{ CɮrW! C~^|ޞCTɹoApλ:X>]r%5cd>wffK|<KS):ZK-t qh@ݪIh/;ںqQRL93 `pB;ӳ t Y=.i6IkZ˚˥Ckb=*{e m9,: Cl\'6'`,Ǖm%Hq7 E,5jjafx7a\ѴmѮ#իIxD٥)UgeCsu*M3[ƌan\dUA뾃F4=sIr݅MTb6p"C{!Gc''_.#2)H&.(V Py^r2!&ǀh6k U Nc a9*ʼڂ w#xZpv Hn5G/f4̔̈Hdz,:޼}m@;@T/-*?rjE0Bq7A@! Tbb`@H86qBr< }659;s: &4#fx,Xd}RCdU"6BX?\\b4!C< QnXX%`)U hi# m֯D Ô=F )nh{Oldt6AveyXj~4Ʃڲ,1Y25@H;azy}h}9Lt UYQ@HRT\#WpvN]ƞF=bւ-5֊^\գf 6 SJ 6ZåF"@!@JD/f4!M()JJB'_T>I$@oȜ$BQO99:EBOD(NH)Bc(Rd~CBCO.*%*XHʟV;hқkdLIa :Hl$RA+THT@ A@WB`4{`:@%7v@BȱQsH !R[ԋPd8P[C_qR Pt:WԜ͊@J@ȃQ=\CȂQ"Cp P HKs:J:ZjTiƐ.!H'tㆍFMv 6E/g@!3#m#WC Uk?p]/ϲ/o43C辆[Y}v 3/Ў/W%_1-un_nގ9zGR=}n z9mY@o<z<֌KŐZ$ t-r[|d@GqvQ7:2ʪlDFy@>d1AY&SY|[QQ!1$'@†@(cϷME6Ľݎ)4of!8 >>Y$e^+mם;1}ӻikB(A}h hW P%/o[hؾ{䦟a}v{>wU [(S7]9ѤP}w:`@h|ǯ+(>{^w PPP d4]}9(o@ I} B:5*HhB+CJJ" R1E[`Ub5<PХ@P") UHBp|': wcn㫽@}!>w9{qޣ `hitמnnA.@ӻ==z@`w` ="nu>]/>FAz2 y7:5h8 W{({{'=;}u͚ϯ]}.%^>_}q91zwJ >M>C@|^^^^w= +CtMPC'^R]8sykݺ^⊾oh]Uz>^uޛny];+jǣ=[}ͧvo__}}>xmk4N6uӺe}c޺lj_fg[jg={yu:4.8 _fֵg:vWdѼ7S՞}ǧ]>ݼ2WP훷{;U^uW^^|JtۨTw_}owo 1}Mtr)sav-Dg+lm2*vw[+f޻z=;G!ծޜ@ uֺ,ۤvCv@=WVnپw}z(<_-{{oc;jwzݾӯwf}mQ;== Ҩ}Srʗv޴p*=={2]vV5n9ݭP U5w|Jk(kBݚd = nUj/޾g+5x>D>XޛX'{ҟ} =c|=ڂBoT/^QU {|:rL=G(;NJf>q_O:oބ#=HK d{<۹}[a۳tv+ZkdvmFi0VΛֽ\|*AAV 3vs| {rX(:]N^kn.m׶V9ی-Zr}j6[Ѷ3۸jCi; OKY$;vRV{rY\*P֊%f }tI ' FشnpF{ÈvXk7ya7:KYF˹,jz={^F vt%5KnAo/gSֶŦ=6/vknˣw9 pnwwY뗲;=ݰVS((HjsמlG|޼F]\֡fT;D|dT:ÐUOWjP֎mx򽚌][}jg_^5·->zׯ_{c=:Mݍѳ}̛iݪN#K{SP=wmJ Qޜ1|4r2vbˆkX7xVkO R<3'ȧRcUmzqIj?otǣdF !d_]wp[.B!!R$*T%(3U6cE;lI8MgLVMKFɝGa./Jo ,0x/zٙ$!BD:شDK N\wLU%o섅R_uHqtfrj^$O%kSF?⦄}L 9c<9|7K%#J'@Pp ؓaĔ(P?a {)uPSé 4 P8/z$|vc٦j;~!ݪH7Ί bճ𔟵Nx`AH8Pqjc^n20R'Q;{,tD oמ*c檓IBr7 &bW(DAiʟ- 0胬\RiMIrpgH?sJ)ONgS5?z$փ쫁-;K U%$긟4sqKGt_48& p bCAKɽ}]qSrL ۩4/b2/<s~t1~zLn LRXk#sdAT Viӏq~vlO|ED4x2?}agV+3=VW  xuD\ )2xl;ClCI;□互0&qhP=B y FrT5bdM>g>IFjWh#ۧDXJ?ʐ0kADx;I&|(6"6+M]hvH[OߥWBĐjoXI+?? fmJ!(BĆ̟.,޺7 ,g B{-]^ι/ᨦ%>?-:E .k`}-mBIC^\I5Io*(NvNa5ë_kǢ\˦`D  7b>QAa*}D`T@VwmȣFD˥Dr{=z==$X+g>EΙ tLd:Wkv(x |{X^ֿZQ7v/9~yO J6)J=>=ʏ*>r]ԭ2WPD"vAz%o!{?O&J@ժESI%cQ3[h!z ^Ŝ{ZP"Omݚ"(j䆆?{[3B)C@~ўxU.^0aeL4Q65Y!%83T9cΑ4?Rɴ^(׵,4 Ȓq %֐'6>ZgYs($sP(;cV#Khb:{KWqnUDy`}}eں34L> OO7w6?:ގ~~(h:6T_G`zgȞy@ܶe;*bF~:!:.%^OrO1xϹ@ &سNNa'f@}h>,ʏܰƁ7"njNߪbP=1#ƒPwjpO0f_K=b6io Îئ.+HsrRyg}3-ٹCtME3QocHR?.>̀3 @GJ+$HvRhQE#YbPPn}|arzY,Fo;SQ8yL[8oI%;B $!h53D63G r2Tw?[Fc5x74R`Q!1$ 2 kvpsbql= p8 M'QMhkenխhDC$%Ť8b]LCBB 0R`v"5b;@}tFjHc&ޘ7i1@\Tiq).c/1>+P*&%\Eo7'r.C M+"Qz@5VyuD!d;$;E#M4H{vjyr'8/mD CȓҊ5ә egxHk\@fLR+ &/pY-1P*x졔Kb2ߥҟ[UOδ/ Ȗ}{!:H­O^?/M kʪ8ApjsgmCޚ(kؙ)(@ BQXLfζL5+}^/Sm5NLU4KE2ds(ާ$KָwcQx4 L+7z;TɅ)<xX\ @x {eDB()lޔuZk99hv Y9;:[ӤY3]Z ZӬ|ϳX+f"=(,O%p3p?9&\jbGC5'eWxs;,<ɷs2j%HYһ1 ZCc'X-Wj%yiЁŲ$]3J%/j#(o bVK{--X?Ob*GhNoįDjnXV)C>W <3q  e~Cz'iQQo'"g&% Ɖ$zc d >pyUom0俢u B&L:27#߶=ca)Isj2@߬ +BP;a~o0~TI~,YF5Cl"4Zf~h6ƌ1Ou7(Ѿ05ST3s!aN1K0ƛSYXq+ѰA;A6stItjNj$~ECX/wR;ˑniɒS m/JoXLw_lQ+ S O`*#.kyDh|׆g9BLg O,HK{"R]s^I|:ρs#ǵFRE#ʵ_TRp>c3@7t׍>'>#0)\&>JFx9,S32sI6 )9M)6)/ ӧ׶JO4r {YS:LL!GXO)JENTiNV"+bu/jZVE*,2TTȱxzg)s~]ê!8'w~zS>M[o榘 ӫ#$>%eTµi7/bH.'u6мGXgLr|6IBb]Hk|"wQbX%s{r'tVU(jRbX)_ΘUzJZ8^E;=YY*%b1'Tro'qsڔ"mD/<ujIt]%NJH2y9 k$0ۆ /o6dOĊ3blNю~<~8:8vK|fZLS%OJ_>r'uk+%7OkџM2Hsu$N?y}MعdjO(BeE-%NU]?1+xҳfc*-AFP) .a_v?(4{*hR%r^*EGCRgJ/'umfWX(Gpyӎ/,vs3*8ӹ jA@}/~xw(artΤ B2fB!t_}hz(0yDlYy U釼趯T3JcWs"|ӗ(?}fZ: |LD}dI@Gɴ<)rCB!͟47#mGq~U8Q[c/ 68R45] 6=Pdޑ%![)m*qe搅kաA齗9`׌kwI/ØDA!<7/t.hHϺqWz˷_1EFJ)$Fsr4$R9Q|)Tɔ.t% >Rϥsysx&v>ryIΘ7AG|kmk%{>#=1>txyEmR*&;[u Ͻk׻\us%S2Tպ}`9Dk)9Gy:L'HVg 80ZIc&W~!j|pTtp=1sύQ0Щ.TkyV\H&8R|- 9&CnZ(#);Py^jzƵǪ#>ŞVxo,2wsJZn< yg[*D T*xN!"')S4gnsOLZQ:<:;ۮ|V0bzoد(hHf()(֪:$ďZpIT&P-tCE#24D.T!KМebBG$ZZ"*Z5#ybRPs!NJ=F>wtDa3#{S**d%A1C٨욤:$G?o&VHgxepZ  K4P@z+!–Oc:QC0:2ts+m<(tƯ TԊco^z|yUУbl{)9dzBۂPVm78_Ƕu]ORDR/s%!uq:8k1Do[ tȼ݉ҿyyrtU AW܅=lVK;B4D"FH*܍([^sqO +YU_FK=B9䌔fnoySMTE`4筼\Bc9g5(lHB7P!w"qHjLݥvicϵ}NWviϺU$9n^^c|6=~G!ꌍVӐUI;sްn_oõ\9˽,00$鿟%DB=;7IZ^pW 1goCnD#f,cd TjzޫjOT3:ntvD뛱<`{aL- g[@HwR_a۟TߣǑ4_m/e(-|"{G=%o˃u\VM؋,Knٓ[(uWd%0nl}SIesa)4VWWxa3!o|yTUd~K,=X8oP:yCBr4|}~K&#ϟQCxaG}TdE/_ ,?!(BI> =T"0L lovOSִ3>1'7-/=)tG)ÕoeEiI( 2-Җ((i/{&ytiI_N]˟k*It;*l;+?;߂iD8kᤔk㧪sH6XùMv[dğΤi;*䶉25*tF[p[lȭ[,179Yi,ӽgƜnQF'i9JF?^O}/\mHc 9Jq*JwScMJ-E[a ({b>*xS),^K '[-]3y\F,02;֑N'2e55xGKK"u#ճi@!#U|jZU'~LidCLL܁ pP+?!jG =?/Gɰ:_s7td! Wzϓv׿G1Qy˵U[}mZ9No Q5bR|G7N~ZxT:gu^lOQ쓏CkKĜ&]JXl9f QaWb,S}K昦;7ʢwɅxPrB~SolX;z1Y{llyAi(\ ?߹OEU|oEp.o'붷w|й/95.=`|zP|v9Cc| r"@N/r()*GGpn%)2!?`ݣ+j]r.S?v`D霢(|( ȴɂ_xxb};G-I}{ybsbƃizF ;JZ]܈(7,S:* L,6,pث h^up_K{αX? Ҡ=(k m% N;Ƙ>JrBE1^z5 Lnye9NzKCE*-[kȞ1z^i[_ӷ_V\v2`%V_z/?K7 ~Bd7Sߔos7@q^<3w+޿Sp[vnٖY޶ E} rCgZvO.x5 ӳ,v7Ls+6zzTn0KÆۏ统 r@!H9k׫-G;;ni7 /{fQwi3;yܐth_ l䜭O~g_p}ńH<>β+lǹ@$L~jЃ/YO.>Pi\5d?Ƌ>*|11c;?GZ6 ;ΰga(0^mƌ޾EYP, S393(|ee*Ex6J- )͛"HF)gi_/濸|cOQ0Xt@$fъv1oMLŴ5wnd&z}p!IsZ&srLCqi7p#RUJ>;滪2tL!_wX}[5 f#Rw:kɳ|c뒚{ Q [W2#(12 =!dR(_NzͿ d6@~JòXz[Ut! c_nL)-u+O} ^g:H_~d `"9(԰: >x9Hn˃A>ۿ:#AuXG]jjTEs>UYѢk("ݲS=3đfk&| >)|y^UW0BE~a| C !Sc,G{&Z˵14R` ń//V׉lV|v:ˎ y ]M77pz}q!5!O&T)MtyWgaO Mw7-w4VfCA0;v P}t#ў =25c2xE2:*3({9aJYՆ/F+7e.C)McG8AD2M&4X\[~"7#02cKTm6e!#dHm]qWyRZx3acי0I цfGu~^5G^kSYxvfmGtlV;VF춗zxxv閆;깋f#CyN܊¤Ĕ7n_d񦫚w5pr9bDd,D#] <4Dʔ*R Lc< B>nCəqJs*x50voZι5oꧦoֈfSg"䛰7_RyމJ?X7u++=dpۺڕ/ҟ^ӀQQ׳<~絘ʝb~nKC:ou_}*?}$[.w<77?:gB% yB'4PD;hu(Claw_M |t_# #|.3%iPu:4vպu:y_ RI$'?y7r! 3cgHG88Ęh14w4U{]q 3g㙿NAמ{}hsqQ;nqzD '3Gmn8.@e5CT =`!{20 6h<UUQ4(`GNlFOwy&y-V*T|^f6Q=t~a,+mц.XU'nߏ@HMy8;[i{R{5Ǧ{vl<[w}Ʃ 9iF=R=y=fׂFfwVܕpϿw#/=f5Q|ٳ<Bc0Q!Ԟ];;%!zX6c|{Ca_ )n֕k+{\Cwaϯ22Ν}^߄a㟬nL|gN6;$:\As>~ڛy׿Q孍ϟ8ʛ466+U4Odž5?/O3 9#Ǩ܏B "F!J"l]&s Dysn=6Q&*Pt;;g]ټ0n|ǧ*%Oye6;~T#IA_hF͘'݊yC@;'{?9 B Mk'NwqSN*3Ppk&H*&rB] *õ&s=yxw| T^^K cvf9ݺ+GsMR=#ӆӀrBىs-.rkswuE*߃(qMdI\|RjSģX"ga&U?Dk4 RdB UVsv0ID$hHeԄk7DB=vhPy{h$'okFєf[ Vel[MQZI BQ0$}}Fa}6c$8L}UCE4 ^>?~;n X$)JyV"n30!;IWR.D(=A~xagəv}ndP[- iT$B֟yYѦQMNĽBZe\reZyQ83K oo۪95ۗHA ],]J[&0/$u7SɼaVףRQ !%#CLE/hk /JhM>^G$33M୳_]y>?ԓzG lut$ءN;{ޝˠU8[%+h (!` <\IN,#>]&ôӓ =lbuWU*فЮI.FW/6.[ˮ9X|*u#DOq6RGnO_ ONkcԺv;qwڙW/Ē+s]vH,?/?A z^6m/>S?~>֣>T.8㾇Fti/Mov 4e-|uAiEe gѷd(ͩ۳1Hو@/fb'ԞfQ/i|3 # 'gr7>ӆt@Q cnj۾֔r c_Iz } ۇ h8@a/qVuVL:-1@DXF܉y2XfYv.Q&X9}4ƺm/adq<6bB 6{[3$YsEZH}W[c~amL uާ9T qpMhWqf1_[`HS>&7gQ8:\q[;puGh^0:~[Ma#Xʜs7 VΜNt6ixDŽkWFcV}4R@c` q~2^DĎmytA[ˇrŒG} u&Vi%Ɉ˜ n5JQ QP֕Sؗnk'kRMsqAJIsݫV߽e*oJ*s8.9T|en턇] vk=H+|.  D3?VlLხƬQm4; ^jvt/bAgjѾn2ΤF9m;$ͷ 3{;Q-mIͻ\t|:^^~XtU68<)(Hwv"K6X%V h+`s~m߿#4U)ɘ1,&3(baܚ ? 5EDa6cr zlEnSCq5CËKpp8p 6o2@gHBأͩÆTcW8sLz#V[IݻLG0ԫØjݜq8;|$Kمt( )@$jPҺo.ӑW־|y` z28;:Z(Ќ>O< %񜈥%:ԺKL$coJ tXwO\fJhVl1*ehd߉ʃQ{_gO̻WRvŃsxYHCFv;7ZS˷<fOm:ҍ{4FGVn ٟZΖ G֝#7v7[ }b 3$ 3 OQ| vcmk'Z>,bntGkGt$|QGU8FW485'I@ۄMI;"eVw5m9llYq dښ# jփJ1&c͂8 4h8s8 CQ&K=2bHD3QѼ!J -=u|񴛃>ʥU`;5u-+k3rsWvt.igYײc$qVҎ3S d9Z;Q%' FMR&&|[8(򈞟;㾸=3|x\%Ȉ+'|2 ?"+PuBp^T@_lυ{NQ9.i8n|9IJ B8'ӂLװVc~pIޥ^=+;U2;5ÌMͣ w凇o| Cbz^}*}qv}v_sm9ϛA]:LF;67n.]Siwޫ_fqD.X*·F՜0zt7ᙅȔaU1. ,W.&jx~{{@3JI68av G?d<ǂ))3t Y0فC Ԇ(s{ o^rv7*_0jI(>P`bFHM};{tGexNm0XM0f)o8c0a&1qH`L ϴ?;%MJܦODĀI5әhi8pࡈ1 ]~DD4-@= a)_:V7{ҷ[o}i"G$) zuw0fR=`3#^٘&0c!oT]` -cQkh}|B 0(_rQ巩/⻆ml8]0̓zz#v޲@TSW::I$I$'ؾ/ї]AU7#9˧}7 @x| s2q9>]X'վ,Xr~T87-~D7pKo̺@EAA9@0]q7_BΎ%}>aU  r/$A2AA B(Csbl$!dCcpՑ\ `rk3&s7/?#BQT?H9OĶL(C~DNO oȳh}NI<# & ;}3gͣ` l;d wXu~I35Kc՝x:#unlr@ӓrU;ӡtm? tBB^>ȶ:%@t#>0o@ݼ! Sۑ57"MZ$WS: -4N`M[l: eCk7 #&*pe}KC$cX;\XW4OKA0\ґI G,ЫRsJhQz~f X:&7ZO4P9aĒk׾ּؕqzWZSǦl]\яUːuA1!  %ĺb?X=GV:8ɷUPTm)"I;8:@ ipGm̳c8kLwG6 t$o'BvQ2${!s,T@<,#vs;ݰ}+393ܯ?^ʆR/>Q&`¾~\T S&fN-)7)t-4yt+9pvxLLB=ȯ ͦVӾ0ޝԒi &Z+LH<@֠QE{z5(џ0 Pa Ok[N9![Hnq\d10}7ߟUUblCvΌ5]ވ,=WQ;B|kLq/at=Sv?!ӽI}(Ì ;EkwE5(DlE bCᱺw_SgSG:_ɒI%Gz#Q7޽#+qǻS!U-+NcxtL3M'< ې͑Lf%SI_@`̜ ݞ%A]r%aY9f%kEr& ?+H`bm‡8 >)[˿)H?_vޤOۺɒl3 e&(nNn8lȈ";ox4j`lG|i7sz=~FSoGЧ#7vz+mcjaYAB~8R–3/&E#D44uax|B(_O"ĥ[rMhVn%xr\%Kj] I IS)IR-{+ nod;s/`@nh?=:b.[ si"beMvb)-0ܞoVLnݙq:r!QGt6}: ӓ0>17vO? n+x^bHQn^Gɖ} GcJot`Fz`>=?nG!&k8eFa?\6}gh{!߄N2H1@pO g& 1$orK?>o3GJs;0X^׳),69z%DW軝$Q 9=7ay~PMkCS޾taw/>v}pyP\xf"ބrfʩQrzCL1wd @9w{nGi% YL>[tsz}~>qi>p Jlb12$>ѾH9aGaѼUxiRn5d6:+^T4"< 'Hs]e#+:ߒ,p{V]EYJқSM__n~SZX3߽Ez˞:=djzzu#Sk*6\k1]o^33JS\H18M5g&wBLrq׉9nOYkտGy>>¡\ͬ=*2\;Buɱs;&/TrEޱ]dwNѠ|4˙vXA.ۂwɯ.VY|p!>^'6z JT L om_NQb8g81bBʪ\f%- M1VA4ޟ=9En- -Bo|r#; g%6&Wr;|oP!xaҮW9guuX߷8r91o/(ӃnHzOw٨Գs6ŝgY/&< )ig !ErrRi445yۺ*d_r ;835ɜ !wz-4<:ꙟ/WAN}iJJ^1=]KiI$b#=&I!.}55^8)"40J/c3V;0AO$v^{=mVʘϬ"gYcҞRssiO4h.;+" jkS7 ݕ*6Ms6лEEb&jlLA!:8w\S2YBH?b51{@nrVXPn*z%)hwrF_CFvDpKp;yL-8|: 5ˆyp=G9nO:S gt]o>Oh֯_ZNsj<MvpCar+d`QCG=2y펴t%n4=<ߔE!YZ)ա&V.*jLf~nwg>7n;;]aRɚKB0*ty(w:UG[g>pLmTkMyw'Ax7 \ŊƂҫ;=uѵw56)rBOkTJ] ՏQiD*%OGLIH<sui`7y_xgHچd|$LP7)g/]KM4 $TG[;dgR86Rqp_zm &0{lY䇫ZJS%GTҕ{eꔵrzۋA3L$i"BJ$hK$zL 8+(VbRm38>ޮCɕtnDiWgILtY?`KotI0}phphP!ansHxW &G.y9}G}[puHH^m=eZK&ƒ /q'J߸ctyn4TZ#}!'sqS+G^Պ'a{4.n%"{>5OWdCO {?w^߻x\2^4-+n־Wꆱu< `pô;6&C0f}zΦ6z),+:~Qu qzŸ^GTߔ~5"ܹOQYs—^ۦU~zn+ɇM 0|DCB-PMfHDI'}OߟҢ;9k2FLs6  Of6;G8Nd9kΖ_Z->nZQmyp~ti[cn騸R^OoYĄݘEa*Ifcؘly3Qß[k,g-_Dv[m7+,%~:K 'C΁2dR˱e6f:o=\AHZ4W~GקsrH3AfjrhxՍߦ&oe.u]pT_vCG,q>S_>*r55;lyl`gƴo5Re3TM9k\Uӏ4ް%" mxI%DHw=kMgB&φ g`b32 >l1ϊ|}5^l-uxU|RAG"9; CkݤdwNѾ|8f_E9DNzȢA2Xy C>}[iCx0n f*KiD z'PJ9sσuߩ2 l=6?ggtNf/Vلk딈 uV9 nQk/- gT["*~txrZjE)wƭ>#:AmyqZ Bh VMڙnf5cMec}VSy2K2B-We 4:o.Djo̧NZIV_uM}`Nk@h!mwsϪd糊s1ELl{87`lf.&ޱMvn״mҁIZ7%ࠈ̙-֏)a%RR8y}߄D'w/Jqu0pڝH=vu:EUҚD._^obW2uYf pwI$S o_B~(n~m)k%޸LoH:ϲ 2at}Y`M6G\RD<;-O] %ρRi%'' 1r3i{ފ&0]Jo̵r I^T'J|NFƖUXFq/++\:+E\mJT=],+"XE,cn&;Yyr`3܈?(#i ȵ`Lfa 7Ӟ 7=rtpT&6 YzJrU7p #؁x3&LLBn=mOZrv[S,JnjYZ(iu%Ve9ufFE S۴z?T)9OJHEY$4,9ݖHԆE,g}M`&HwU|D;WO続\6-w|%HDgp8D_\o+?c"H aJ͸82%!yF"cnׇV쇰Quݜ7h%B{;}f[K[1Xߏ VٽYϞݔZ7zq4Ч8Gtc!HF>nCҭNjn<'τG֥fch\OivjC٤FPTPI$Q@'rظ7^Lyztf;p$sOٶj놁Ǭk9n#7, }p!?Q'6c^WwT)>Цjޙ+ވhu*&pޮ:C6Pݍ-E.7z>vO^,4w^K4$7˶IA!5tA6;a&&( j, IOqGiy*lS+3;Qw?7gU rǓ~j׾Nu3=p/s㗩2r-dr,Չ0M;?, 0zf8ΪĿ` Isbn%V(^%m If|5Ǎ|٘i񧂕7qL1˃,~lLjǥE4"3'+H7~Y0Ԯy`,*{QIwȕQF^VW,&"qQ-b%+x<~kq`>|Kq׳-C}mΆ:g9)6~ɲ5~΋Du>SOr_<2PCNPGyûcdUriU禚xbm-m˅eAxtb:W b24ױ7x&k|&s1)ƫA!MK|9|SJl^=vx>}mK\9Nvk]2C'1#; Tl|Ҧ=INkio|aeJ~:bWBQ"))™8{e 4D a;Ľ}"xXwH \DׯV .}D0sfC!1Z2C񾿣ٛQ>̄ #H]QL/p3'HEHY`)S` r  t #OFzoI'fލKlxfJ2_bVaI#myR+9=f+J4{}}Wy|rʋ 7mZC|5[AYDV=+R9~XQYzL0mEʥ0u걃js_ tXf{yiE7X)(ѻidip,u焲~ToU?oj >L =OorlM?ǃ MN(3 JMOLiX]惛Is/OOuz frn] nWPmc%G -Ŕ/|t7[ v $*sœv_I,!qD獞ک|{+ugcח>Ҍ1kߚf^.3 =OfcL#+w H&G*ͣ`G{aJIք'8ʒW}cG_ t#ƽ}T^˰M+ؔ'> ]2m_33EݭWыǷ7žBIouvbсbo/LRNoKtƦV ;px޶dv[LyM䩄F,屳 ""to؂X1_BqeuUQ*Z]!4%tו~4Z-+_RzNzGz *P>peGKk̳Q5{}krzc+JÄ=Kazӹ1r1IcWɧOݻv#03 ˑa$#Ҟ8SH#0O=GY+ׄ&[dqĐZb`2󩺽t{BN-WoQ^!d'!mJ7B*^" JXf /^0#jSo3B8^gG:God$=:Dqdi0x0K6:IDYg'c:i&2o`)A?6 6 ^wkVeV(j=e_8;lW32t#;]ܯ>=r:\9hZ^Jĕ'',ؠu{LzॻgMWW'_RD6mZ'|"/8MZR4AҔmF<_vbhPw$q7'Wnp\!s{wMnIBG.v/Trr+ D6EjU_1L`c60>H2-5(vır>݈it  L逊߾YD5TCЬ4PfR&M洑^oK""JX:9xq.YaNȮ_Rz$ f>skοͭs+3|6٧'KDl7g#p67'/!yQ0K_b"̃tGs;27g9b0S(<0o(x(ZcekeYKR|VtO?oS)31Ś] +gq=5[(njH29YnkHF~S;#këqo^ۛ SMP#BPUR,MS'o;|+i?_5-lpc(CWKK6KÇGx<=ڥqlvi)5%N,*D0Ndb6g@ ]| rjA'*%Y8̰ DNS U=oޱϖuvLГ < .+ Ig#r;cb WK7=!jOlL$á!!nyZɰẇ40CɫFSJSYT}ӛ7.̌.s :j^ m}SI9/Ru}7dНJ!a5*{Q情j:ZN~iĸm(RFEu 3!6֭N+#h`D b@Zjn 0R5*7yٜ'm6fH&]ۚޏ4kPcU!QffCf }+=8T4Pe.n(gh~ aheؐ*LnqGY2P$߽ㄊ͂~Uy.*^Ƿf\_ ua9S3s`+*iw3Ʀ=|A ZT{-'`M {aJad#NRsmϰ%p6R=s0O*LD&syŦNj8@QOkMynH4dݍ#KJ5-H1VdVL]Ntcٝ's?;(yMWaBJ{g+z>T懯TSr/c y{>eX&&e[iQ!41*sR\[1%絻m])ևgV)>:WrTƔ?d羧Ŝa~*ǂUhn{ _t`o~4k\6SӔ9D/譯~sߣ4g:Q:ҟTҙf튞fmE_ TJRUmM&9{*83tcԍ7}>fۡRrC/~c+YƱݔvob,6v~rLSweeb%g- @_/[|AJ3 aVdFzgY{k]_rLwTW6\lWv[^5j &x~Mϩ!-{۶O',yFiVڗ-t럻ǾjP8Vם-5:i"s*gI+Pfrlw~M&-CӉz!&I*CђO[3Kw_/.g 1]Ons86N53~:ɀB97jح_ѺD*&4٣џ7376@DA4?椒\Gg5 .18reIwpLn@nmI)LJo8e?BL]gf}Є1I ;*$h)3`{{j5bMEn 9U9"2I9޾v,U89;7f> Փ!ʏ5Bi}5O|Z4{tpT+|f”pv1ɽ_7`ie,cu2PWGmFac%8l/mKEmfL-S ('ƜnھB{s7v6oT4;&O *|m^H^ѷpc`iVviԺ<# <_U\jy5ƸKsaXOo"56U?sN | I'0xHԁsqJWs NĻHb ;QfܣGc-ˆxqf.H8̣%pkhjg\s'bfIBPT4WE4v,5S8Zt5&Y,nKqd~0 [\_~tv,`9r} ҃F>w. ԡ]L.wni {Z7܊࣢ SBp"vxȠz4H.]b'Q|ܧl-}m%-&IC""[3s}ˡydH dyVU{Vb:=)=ץ"W;>¸]/[߳}+}UnK*?fƨ "tTЎme#.vѴ[[IEߖF0Ss}~^( 5 BHJED^?KZ=j?Fq0k$笳墏fUsKhSbhQwNfEL6$wt)s8k<-"E[.9+^Ը]ksg3 qTlbn,'M}vr_ ݅Mrʖ n4TQO3En/6]|Ї(IQAуx3 j$Ypݏ w)76w9)Bbr]=MʻK`Àp#P,vFgEcH7B>H:t*GǬOqƴ5/<9vٱ<_RhĒ1e5&x<ggrUg;xGJ|U=x=TbT] w'o7ni6'rZ6 63ӌ'_w?mke׋㏍yiƴGX6[) q=&62x7{L|uk ИyѺ0 ĝᔓ*_ѻ bn9'"~6z{Q~pN|+Io9ct&aU>9kr;)# ٲ@ b qOq.LZ(Y+Ha0wYIՅcV2[WŐ,t)I~ %y1&#ߙΝm6(I Urȼ' u)x-ƓOD??೟N{7F6*lt׸73,B^>cHsxd8oX~qX|[hķAj-}O9?MV2֓GY%d J7mfK ⧤ D B4K96F%lzRq-78z N+_i;cPӁaS~|bl_aQ9)46î<{{/FL"*ݦ"<4&|Mh{v=~F#M7EK69]ndղy7bX65;_t>b*+[!fcZ)߽x9[z  \צzK W EkĬHdn%nӞQ,P?a:}NO^1fvD6<^8tNy;);HRO#&fI s a8;uQ-2}7^WxK|EvGeۓ[W .g(},́> W{>Parr]򒭰i}6$(L/*d0 ߳|T=FQoȀ>&=H*BޛgC?[4`l)3VQV}XD\}y<+FtPc5ڊMpgnazdk3mmqY=ʬȱi"BD)QAehN(oVnc-X]KLBm&VREn2BSWY6Z_y2E@9M43kͰFߟ>R-Ky˟ Fz 1Q*YIԇcDӅR9L?ǏṰi +-96O6<kof\3ES"Dqt1_6- %}{9 5[IЅ4IӉ:>F7 3c)zJcov$}~ J*LԔ0-:o3^GV'=054a}m+Y$ To L}ȷwJA]HD.tVܽpM'(NѷN*wdN(Uōڭnf{0FqBjIC;1h҆߆d%| +d[M5[V3szSM6 $$He]Aqi..&e3vN]'pg Y$ c `|:Gr}P6.)&L&dP҄C9IRE[Qm+@&My:׉gOi4O5 Knu}ocgfiM;#z/'WW[IDs{aENOqq(~/)6a::X& kZßQ]ENrrk6S@8Jd):MH|YGA:}ףR())†мg#yOfy|*3 ~[`չO(>ܟr]x2c_ g\k{Uf:o9FEJTrh0 O l8nm2UdBlJ3~DfC,lLr:oPqOy*?`УY2P~dU 噟%4:"#%I;ѿs_n[ԡiYFMU{sImLq-==+vK`D/IUF] _fIҲ8> 9CWİeב]sEj[)2$%5h3;g1p| SSWo]{{϶rL|(:cB?FmQ↨+D-I^ތ'Vf;ϚuyPO^F3W/EC+pLwd;9};)Zt{J+M<OD:5!{dUr땝2H2ON͋$`˗̾ϥ]Z@  Aq)DŒ-hBP9?ixg"scmDPCu9q!!3} ç秮dp,$djM8ϽoNMNъ:ozz+,ķ)/yk%Di|Ô\q _{bhNo%ViNngxOtt^DJKNبS=ZlU3k]1#I㉡1H3L}4kJ6L+ ]Yp,InK55luqgpO rͭk.o'!LL#ry+aG.4gD% 5Kd72a6h?>_7gypuR&uLG:󿬐`[C,X'doƺgbm`c~@Nn߇Ǵ[fHïG\a7'%ϦF^B3JQ$Dic{SIp:.+S \Np'}$8Q(p Sr/|-ʍgyҔg$ ;nuWId|%N:︣<,b38/!]RSk%\[|S|yuK㈍qog|y^]ZXrm}5W\k\xU^ÛN ^JWOYUTƽ;{󺞵P;b8q9\j8O*||xN-/|z|luㇹkO;hSQIֵW4g6D^ò>J{w]^x:Yu(p(y[qFEʦ5|fks :H+ųW9Rړ (\Z;wIeG8y'׽MxGk𞽤4s+|\9F/KPYgK(B1}.kߎ1<^Go#ʩ϶땹$j^jkבEk9=2놌zi3%w> 9ZUS;ny­{d ʤvH^QtC|\zǛOVwN2j$榐(N5'VlJtKzcX7&B*bJ/4"׃z Ck~9׭yqq\D :ÿrfx’N opxvi³Tixݜ[Իn1x}A3Zo`U͡kV*G0djRs]QճHww%9;3~v^re;W"2I$?$켈F{.+ʎ [?%4i3f/91q.f%x*N[ܙ2Zй*n6şD.Qkycp6i\Eg/䛕(nYf.͕d:'v.drfΆ(yq]׬ŭ攇1}(LMM_wNMFuPvxCʙUmXMLq& T>Qktqr|P5;5sڎ&Ws9맩fL4MrM?m¬9g}q&gMxqAp[rX_پ2LfҾa:(,Mlx;߮OUm!ߓ FKҋR8{u/PoG9z }MDkv:ԝ<.;ݤyIzU1762@ Rd"U*dtѢtn/A#\fݤ6{yqoQ^(|J \m^vkPX3sqOIY3.KP{37ixJ› ^Ajk+!d:xPR~gE}yWO.]u]B̫bNjE8DGK ߉W]9JiwIo1Gwpn-aq-YyH{޹^|LWJGKyZ[_ Mq#N7ެk_7yf)Wďv-Ln$1%\k+f{%I-r=,1tMI.Fu|"0f'g6,_'e"ާuf}yݱ,i(bE \\c&t H_B}>ߤޢsDtlzuߘS I0=Cb&9%~(Oń$^&E4&p>hML϶h%Rx=AQz:=Z||O=޹*buU ~? G>[Wڨ 3C?u!cs,k~0LKe??Is039Raͧbnhw׷l6_KI ap܉rjTm*L~H;~3 wm?o}!<}F3_?;&&GAZ fmj_~t>ʹL|P~+(HJ8C+.`EAZw?ki$3VC-$ob6uL$\LaIϾ(&)q9HIẸ_mO pC4~?97ff?|%Q'cw-Kja';q&.̅N;hڽONBBkHooZ WAwKӤd6 bs?Rfq>iědv޼Ono/^V} _n9wOٙnFYi3tD\$Mdh~=}g+?>W0_%#9Z`MSrX', (bn$2)$ !)gٴm۰uE(DZUȖϕ m/<ؼqշ j3j<3Wen|ƒ:Fc\?j?<%9_Riz<VUg]P'O2b )ykܘ\Lͣ,7F0T6~ܦCc*I7\OwtkJSoS~uK\$$g|LYOh63mcNv}qƶ/:\՞Σ6̱0Zc7T[sF '#B&֟ݒ`8ٙ#|8[%>lLGᱳC&ID pT'NRHk|5*"J#^iB?1kE7O <[Qzd]."]:٬q.?:]|0MՋ{=Gc8/?DӞ?;p{؃Ɇšn3'CS,b>?JNUeaA 9Cw!&.<N-L)L;1Slzz 1W{oYw5- Uب+{]ՙ6(s̥ϓExO'g*n|цVUBO%3-%⩙K{tZmYc32n-Cly3= 4D!^3Q[BDR^#m kE+EV2S18%Qb b-$3kFo=^d[XR5;[`n7Jؠ%jbHS^ 4pQCukg!8EV_A*>N!*% -`”,9NqvvqKNTH Q ' T<)1Dj"%h~RBF,uEńĆAF%CMl>w kNt!icF.f-v`.iɾsl7na ^#g+yJ<˙UW9bi*fp:id鴘 ;?p(.fOa1E M3Ϯz,:m#7p>R|񷪿bԐ>V[ =_׭0lap?%8$RGkZWvGaM2W=:Q-1J^9I1qA*D*bJAjxA#{T|ZMvSh) 'f#Qj7Ғ &8ٸ!7L1dħ1sKg7mulZ7BfRi%ui,H,uN9nK=8[Uq+7O<}'f1g7WI}n{V3<j'Sg%9mWvIϝO{$~A:PB}%NϪYJC[=wW2k":-h]nC*SXЦ=P8gh#B;kmtʉIVl`Nx*I>m-<\Pߩ4{zBWS|_-"}df%]?yQgQ"'R5Oߑza8.ߺaGGg6vacejO\:=X/Mc>g$Fd3z$Ϥpqʓbw&4V7'(8 DJӻ:V,K%Lexf-0PDɅCO0tz窨H u5 I9{YAn :.`*OT3[߁=0^4/K.Nޯ+X䔮\{VߍY/;Z6I?]S e1֮NW<>(A~oݿ믏/kܺE&$5sUO}ͫߊ\-u{^iѺv][jbW+'g|"wEBBIDPYFʢl> ,S0ɅFpZlɁLs9S)r<woSfwuUjG|\wrhDky|e:trWSBH1^8n4iq뎪y̹-_S»#enqƻWj*O]|'Qȏ֙튲n-ҟn"XJ r}`g׺8%8'h-.—d! v<|?`z(8/G"0b:C"e翺aKH~ZԞ/̥7  CHN'P/dHD|:;@bNtUC\!F9) ba.JuEĤ" ,w#4 .~W OA3-34d)2$B'paWlo<5㥔,=a8@zn"9eCh?0EpÞ#b!14%6=S][6pg=>3 wM3̯Q* d3esPQ~v'){{>%PfP.E0mLO7iR]f >G o'^c3M!r'>~19*z3Ҝ݂B=**h'&~kXp]k2GՆaU7OJ~BIUU_yN)ܦqk;[k"0Dzf^Vs{yG032:玻1v)v-Lwf8(҂4Q@Vvw1z!}nqg{x@HD"C&.`_C@\23l1[y.qvqzaH4 c\h#v tAw*`8׆I^"'m"dѡGzI&3ȿp<^V>BL^YAP$%ek2׳&-CKjw&& ͣ67!&`0 T"@e Iump0Ao}JyT mݲ酻;M1?̫/"f;2vV虇3c)(.܄gi@Ąd0]ǰ8yK9D?urZâLyΘP`H6|'^#x(#pDTq7Ie ,H#TA!v:թkθ洿%Fyuzvm{`"6D[†1'}>yㆷ'zяzrkuֻ/ÁQpHdBs:lHʟߞH#yjĚc;2s3yc*A\Z 5n S7ќtoJJtq&Ժ/gٹfC5n3^,<&$pĴG~F3b?w# 1~Myi:1S$Zl< .!MA ZxyJR$Kԣv-Evv3*tjM œ:(OYF FW'o$4av1v94INc!Grs [7.T’\*%k+rOhWת@ơ75w1- qbLr< $)R_R_jZi Gp/;% ZEn*k%`s0=3\,AĴ,H'@`n6Hw凜7yĻ=c@Nxޘc2A|cnOm.1p Jp 19$hD!^ jFcA 0\%xrvgۺ(c7փFᩪMw_{^.PRJwng#zc5=>Eo_-5kQĬ_}yy_í2;ٲ^s$]alRSi{d30w\z|'?t 9r)݁˩?&>T}XxgF'ܮ@Z}35˦5³r6? Xi{coT,,׻ hw^xoXWYvݨ5pEi׏û> LC=WxxۗJyo%KSmz#;)C5CΟѕgZg345M JZtMLt,*D-hI#߯䃷Su~(YǓ:cbR9JG&QBo8W ҚeIjd&=DqZ-Ad۰~G+Go{;v~v^M(|#iƊfsR`Kjͩx{ymGSFqK4MeWIe|ڛ-]K״T*ҟkgS3>,qS'ϼ8gmƒS佶ih bã׆Mßn۾=zGN;ZVkS6O [V_OV1l7_Æw7O+oo+曲rfy락륳bmO;L*%] ~^1SG,[]r-O_'u_>WLHQe\#ʞ{Pd?=~&̀HC $"0Y%Ȼy}4ٺL=|]}n4z}ݴُ-ϟmX1K y,Q% (1Ѩ{0v =VimzyomSO:펏FG9yEMb#/{e^x}>V}oŻh9e*Ր"vKxxE>I }[x5Ɍ:ܳ 9@ЉI~pJ5O;svdz3տ5ow.+s}Llft yzqFp| 9~猚{L)CYONtJ-7]RoX{W0gJg)_x"0~~ٶQ:OH8d;MRl 0^#^eN)Idz}{@̇b*Ff*GxeZYy󶷲3q_5`N~nm\+cV~^Z$C-9Y.ϳ#8lڰP̢<ό>z=_`ӿ*$غFJ#$ؿM<8~F:i mzͬ,4i:F .#8vo1;Sғ_:NCۯ88>vG@B݆82^Wgc>W>;.6_R~}zp H_cs|CS !ՂGrM\63qK{91$Gaҧwј|7k Ϳթ߿OMByKo^'ONf5Y}KLd_K!?^L.7__ L fD1|2eôZ!Bo;hO$ H3>Si-1IJP5lF~r|TOUrb}>M3Pu9惦A `;&fʓbc` bI||7NOoᯪ>ڠSw{6ۥL˽Iڸ#/1㔬r62=J's[]76҃=>}'Nۿͯ3T9irWȘ|pc\iin}|&(3F?߫ohE'Њ e+{`|ܡzc>|E^b%04Io0!}d Xy_@vBu>WG~azSwl0 ;%#韫'whLskU ޣ#.ՏLH|6nT"cB|MU+m}7e^;3҃ϳ 3뱊|ۖŘݓao:n)ucߧ,0V](mMz<{[lBa4i͔_8CXSrЗtőmH%7])9w2y5Xߛ;H'!SB{묶WdpnbWjN8iT,oFܽ{sm''47Tbq#8:4cF$O}맍eث ^Khr|=V:m|{y{~.Tq[V]%|Gl-̍K$vIsֆZ'uV$n^wK0~֭XPʘčfP21LR{Ռ;½Ɣ5Cg#7 \ći-&,[IR *2مX;sƚ89>|+wIc!_8}.`i߻~Zn"Tg}9h4?SftؼyO\(4ZX)\;k*m)<)Ld_>|q}8O.$̼?sN;trcF&gwX7}y c+GS3[Q,ryWh-GKL~7aiڏssGB}7(o3|HgzS>&[`ػ~5=| ֖m}0ἀMc]gy%;._0u/_2꿪N\eOdlړH?G{ww^wgJ "Ƕo%{KG#8??Ro9cmmxh[HlF[xdvv/|79+|n_:cڽu+dcr~fz 1)LkZzznSsʙ썾sʷ펒{~ؾO\\'هyOj.;^Og-+v_loxL-V)O?yM KK>/|0_=_^v 1Ca3L՜HjۤG]4cӴ݇& tīx{uZ~T-˄нlovľ爇~gR1_աƌUo>mV3z3ӏZ~ZT 7O o=npXbҧbҊ(?fSCCQi.T1綅;b m㔛c78 h}Q/'=m|?_7}ͦC'w"6uJz7L9-t"%x圼7y3S@#?v-=`6 ^c9cGWdmy;VO[ >/ HyGb,B u2w?{mg߹e.NmC_cǨN2(]%!srFq%\?\>s^Z+:f %aS;1q5nM}L|lό7R9͵1ot3Nl|ǖs߭W᧺RQ#EpNU7g/BDFEMTgkoҳ#kclhyxĻ}#{ O9;}V8`:tIfT7t~sS3W? Ѻ.眳%%\ǯ5XtXZ%.H6i|ik"%HNwpɲ7Ki[Y>XwD#S;8޳׃k>2[{YWw߸8SlG|P;Ch)OW?M™}zꇕbq>O<}tKSNt)4N;zgy?Ktgɩm/^K0O߽dz[ES8gNF /ajHg<ޜ}iLs`Iz5ZxaC9ϴH y/_v*0{zַZSjnv%}L֪2{}}-Fe~{z׷NE%'R<4奣8w{ښWtnjqy:ݷ~{r] {⨀ݤ\'zr}0}57|vWZ/%C-q+ vBafƩ/}2W+~Xyѳ&`3:%1)v:Y}V[C$Ɖ;]y;Cp\NR]99VD#W$"Ke$:>Ȕ4-`&>dYLchSbd6?醂NvB;^rP ç;Lp^|8 ?Mqmx;X&L?^SN]S.}^Ϟڧᤛ2*q_^wgR\OJOI^ m}mm`w>uIaHB_Ydp픡#()Yҁ-vmzn]0v0Ԍ1bÅ&Om+0'0շ񶛤a`t5pF{͆d@LSeɅ-ZEZMbY )MA0կD)zHAȬMNGbE!.& RXjjH8PQL\m3"~)JKm};|xNnOn8ۋMR=y^ZŵWiP mPP2d HHufRJH&s6;o  ))e a@֜k78}OV}|82S%HRHt!`#BU()&r`<&^BobEL$A&9GAx.TuR!CwfuKϹ,PИΙxh"bȦJ)Zvkɍ1 sdZ5!37x HCA1RL%C={$acG7{QjDHJrGT&;M2)E~2kx{A<d>ihbZ ,!Yڈ5W%]u jMmmP\mN+Aq+[ֹ#hT>puDՑPܮ L _(bV\a*H, LXkf;(d@),?k#gr[zgDܝtyoiGJAEfXAnc0)d!&2@8$qYL7a5Td0uܧ}C9wN[ebՄbL>qBBgN13 :a2 2>.a*m$}6 /$Z>THIF@D;0SKÄB1P}\,E_/gϸ_Q $TpN8SR# `n_J]' Qc\oGH}CO'h0Dj6#oF' 'ay1* ߤ@?wߜo0?ɢC!$$N$6#:yò4 Lg}4 pnLæD<2R֒aOdgn{Yl$J*ۿ~%yx8y  @ ?PKtt:Ai ym`fdwIb^}u'>T\ |d>ڄ p"S\9&ff`fMQ6 ty?UmL=>gcym0;AnʗS;`&Upk&-I<" >.%ݢg}t??>~]>1Ɯ<M0M9JX:}E;w*L[ysVio s?=mR6'"t1܄Jօ-Ufb\ 3zaznh=cJ22t>aގvs30Gl--ߪ,qL散BRp4x&@d)PF(ݼÏpڱnz j4!5VcH.IN:)#v^Y3PCfCU~K^T2ߪ4ϧj?q xߤT?RH=v},ݥ}]~ی^6'QG=7Oyޯu[}w0>]!LG X<^Ч`S{*2L|Ove/N#jяx#S03?xp!jG37|믾)=HGOΒ\}/}DIG+j ֏Ҽ91UÜdK**Ik󁗑>w,FFU3ҟCHmf;' p 8`*Bzi.[z2aIz,O8fHp7b>8g)h1Gս}dz^F!fWnz'ֆ-V Ϥ[Sȃ=fxʂ$HdvY_rf0S2֖tj$أ%w{G0TQU>(?T wQ_iaK/.s2MW'pI$L 0J :N[qmX&x#u<Q %{'! !H%[Dz >3 N&Y5ܸ-wrVQ؛1=qQ?+jk<˫iq²m4EM| 6%MTx?B${@ A LAi$$ 1&<1ǀ(nwCr--ޢh6??U!Q #t稬rzOu:]Y?+i\ D C$"dHBE {n ۉR%95T[ IvI LLː?F6WgdY(ɂ2;N(k0U*xsԞ+BXwg+@G~C sțN ġP'G;$S܍y5D!j FAʠ6 o:{Gssδ<Ļyك)Jsߛ9Ƙq>GeNſ. ϔ=7 2l>@Dq"a-љqDg}Gڐn\^qy amg'fnL!ǀJK /r-L V6o}匝 [,m̰װ7&f-\#(y!.ǣN1 M}i!&:G$d Ii&}/V]>abj;C ,#Uiw=J K^pP>2r3w).38"LDAV+{ pGL$#ɘY3~6hryX$_ۃe*KwhxsQ#{M ? 9b p8ӻ)7F,l%!bXCM-:etg?&+[DZ2NS|+5:O~|/5RJeSa N?F|-y-TUO̝=[F;RY&^.Ommn؉#~իUD&^N^e>:Xx{&1YnX5\KXo3&cwBN&tјzB*n-BI%6nF-H9x0f)r35U6>eQtVU|U Ld]v_OԹ !:i$pŝ*C=e,_Kj!oV:cpAI:INI'4|0=fC8*;y&lz~{D& ȋ xЪ0vIu!| ~G}{TIKB)ᵢ „E;|(m_n!*Wm%2YU-k[tqG]{$Yy)EW)Cmnj#!;=5Mr2] ,I?lDu[K7j~>m$KvĠ2X,;C2bH_]&Dv@\?!zfTHh"j x?>EF(|̐ԦTLjE0C]'}ނR4ͩ{NNUC3$$m? yr$!ü?R~$Ls\O>s`@* 2TuN^xbc3[ ))(0`$&3L|=.˫zp6ΏPLlϠvfSyj u>1WMߏ?P33xǨۘ>ߘM(R|/3Ùt5_wgv a1W*$_&*ǹM& g* 6IU*X[Cc4fo+X^Zn%2@PΫ `g"ib(sl-n8w[  oUwn|N2rlfXBlF3 2ճ'!f1DLn9AvB6p'#T`1;g5Qyz b8FEpFfB@DNc>W)&dd!BJZ d^<Ɗ'DU{=ˉʳ("<"97Qpx_JZO&KGvVt,(]ZnRjݵ$GLswu!׎x8oJUX3}jXgTUy]bhsDkuZLj%tH*Gʢg))\qU9&+ϊ;_zDA "v-;5j6ďNg}5YJ:8孢 9[\+r{!rtEpZք e]Rzg/,2WjXeIp5ߟOo[䧮$#^kYvu;e+DOr_Gu84FrgtD}ܷgQRFb)$HBgB WQ5]F@`V)!D#dW.e~g]㬖q_CEE=O$jEaDEr 04hP<"5U!l [By82XiGVBbCkհz+DD z"E=IY"44Цf"'jJrvybɗ-E#pPrH!.Uj IjɁz!$xz(7Ӿ+BÆ9!|f7ŦG:{|SuyӺ?M網ؚ1 ^*طG$qNnK&HxTQB f^dn~Eڃ8373 ְ, ՟~;N׷Kk3RǷ-k!'&LjS+U4`Q9գ bIQ t -StDjӥdjtW#rIdY#SWml.5>m(8zds1t0[c<^R@1M맻}[{4_ 2>ǒi} B!wĶ NۤV+WjeQHfp9_ 3|xG=eYS|I <6'H}r9W:6Zbx\t}Kjd:bG |ޫ[\_jﭛP־{ej}uSUo Nײַ^ӬZ8ԭ]ļR$v־,L|mNĸINi 9^Ϥ,hqdv};N 0S$piS<Ϙ{RA'5$5זH}>aM6@BDU0oSb] ]Ll;= vY‡*'2RI[ŹW{mbV38FHfER +3%zx2 3ukbf ۴R^&RŚ7 "D+2dC2. ,&xANlaw ۜn1bZTzBQB fHRss&.M*1Wvk.y/9l#Q0SCDB⻖ʼn M9'2̸XeKuio3$ \lq8dd:xR;M&?$*%?"_86gЕk'#I<1ad؎ :B%a%%3~2;F@7#/%P&L#}WR!D]bh&`:sEt !8[ᣵ"PAS_fk-3=5SH$=Tzڣ}qwhMz*Lj_bPut#.~/DҖ%S&Iq(It '~\ zz'aEnJ>;|RPƍTPf!2J1UNֱ&QܰLȄ+uй&Y H& $ =[YjVeM\J5ak3il`0HK,|8oa:;4N=WHzy?3m}jrPOf6i doȮކ! 57F z]k_,?Xvx40!`<BB5RNh,B"N#}ؒxC 9j Cp 7kZ bIyo֝iژ~)|҉w`Pv1j. Ot~8*_WZUO/$O&9&oD$73H$! &VnT=X7bb~R^2L I[9/һw`u⽓ 幷x`$b0^ľ qSYgWw)$Wڃi-]o3 f#UQ#?ms~Q%)`;LtrDq|ɝN9C 4Ob&>q6atM:HChpO>͠xD+P蕠g j wcDPlRJ- kv_euiND!!JQnC,qHRj Hǿǝkyw6@R'<^f‘ƪ6Cû>iS vՕP%z䃮CI` OTYeA*s3J x}4&?Bx%&fp$Ʃq΢Iqd3#?]c"(?F"ht";3;OnL>t43: A=neŽD=Gal3^)G /W0vLIYB9|:1[sUú{iai>rWv:C|'XvɱtH4bkt|EOi$^?`jHhdLF [fDETݫtT*4)S!f[[I[fBH8@*xؑ &y~0w!6C@2E"m|:ͳzpwhQ"(d1_8w7Yτ@HBLm߷_:3c<`寨ffDuۛپ.Z>[TfN_ vnHRLf/$Tk_l&~]nw~=_\ L@khKj-1$d@O3;:_8 !iEq?i Ճ_rѧ%*R=tֈ>G˷݆ggoYZ-5~j|[qNeQ?Eoq[? 8n7 (Y02 _a')7)P T>x&!Mf(zh)aKIvÛk~I|'8 ,{_І`}U#ЇElC*I#p鑊-4cvu C1"; 4Gѽ<z'h-Ya-*͞o/Xc)YA§j`acxB@8LN{ͻD/zC,;|>G^o&{Ct>KY~w zKCiy&K:6L߀{t?i)oל ffI'5)έ}0 U1C4e_e~C"I;6ClÏSt<(7d*"[G*<Tff5ofav!Up7sv6F/vk[GLjJ CLxffonv%=3'?q;Tu?ߦ6wmq3"G_] n `L:a\i358K9*oxo' Гd`IC?SLqOU;H]ϯ L)<%k߫[\Fv7Bk&j!#$ғ؈f?ӄ,B!Uǰ=fi#C7{-~ߧ=YEʎڱvỄg̬3  F:g_Y!R:iWO/8 HL!&JSw[XLVI"1"SPARVC ,"UY3uXW2&-I,c1\,! ?Ր`GקwH 0 3poˏ̕b4ssͰ|wUE_>GF~mYji8KN0YK%`gffiOm%3B MC~megX&O-: u=0!`KIGd׿4L}ցO᝙ 01%33,yÙ{U<{+>$ӿ"0i7$C@OLk1+We7ruwL;:@ـϣȚaԟ{I5 lńhZ$]݇ofn2=4΍mymONRY~s) ˶r9oR-h USPj9hw^/KIx/цzi}?{~pf"^W>D^Dpd<(Zzgrz #lN]8꿱jfNӅ!'NmhtF =O0.)댚FeIH ! 6003VT- KpGLy-ތ"z5OC07b9.]Ffh5L`=ξn]`4̓?pf۰i,cMY=54\Q))EOR6ogpv zsڛR"\{)/! ؈mP =@UWn$fSk9I6oUxl.Xv4o ^lk*-Q =9R: l?XG$!@14oa!^9,l-#36:ջöa܏j[pXfiBrL6s^]BX*<25o}P14 _nYӟ87ԓ-/N{Y شyq2A6AZI &˪KY33F=EN~wF -l:(|fkWD33L;} u]fG87xa ڿX.&d޷:X֙jM3r*|⁁&l&X?BoI賚!mn=36y"XL&w{Jљflaz%/#M}GZIzӜ~/5>;>.g$xNKP83b-q=kc1ⷛ6Cl33Z_ffj2Y7Vq.} O$G㦱k!حD"SKP1H) μmJ"T=]c]`f`2"qw6( tĬ=3z?҆JR~W~gjSrv֥Jg?OqX+U DU'ӌ-)o5A4G~x7)5pS3kVR=^TƤXzc2e<(2(I$N/u2iZ.qQa(:ݚ~{H1&C6hnx-Uemگ?-# 18 )-\bh(*P2\wd̻dR xN!FUT۲BC~룆ס۷xyzIʕ47LtS\1?Xݭm2KϽ鈯hy埣:PZM^I)i~xY42LE|rhuy|f>{_-wS†2ELovb' Z1r^6.Isb?C-&"`( D" F 5Np0ݑА;`GGE$mJEw/<5m7H6璒Ks&:<,g#1U ~&]s1#8 ױuBR!8#nvMbZLE)uӵk5 &jzh;vbv|<ظ} ~[T!`9>H%Gj(ܤqX5u0_jsÁуsLIw0V8>?VV0C.T6'lꨒS!&IE$i{Gt idq|޾9^ G1C$B`(:kȔq,"雍(;rphtEY&@oCpjo kӄ>~ƻjz>wL nBNmܫӏ(NrZbLMQ;12A!:3kAF!?ُ~as TAݛLQSm"ɵM{T$T8d5Xz:)3#6A  Jcshw Hir(qٽiES$GH ֜;qOIǢ^u3T6=s}d1 a"t.޲ RW% ?3tN,:0F?X{S ԓGmIRUX*&#zKl\O"6ۯv<ѵjrZ}uIѝN]I3OJy:\ )hތ L m;2Eܞy>b({21es5*ډ{66lJ=+9M98Md1*-}$KIx sG$Rz-<[e5gu~]3G]B0mHysUi+HaC_(L_16@nk,aii1KE+mQƲ)&&f ]cǶf$M|}Lg0*Jꮂ4΀k}f2,>w8=*PwQq4aw.{06$H#%ۖ5Ƴc& [o>:L:CI?|ق1 ϲ_姢>(3ɯė5y,Ru=y{>zpЎR-ǣd/s\ꘫ&!'SssiCng͹mys3*Od9(}wA>wT4TR?[%jJHB9TD@0hEQXVQ[Y!dkd僛;g@n>Rm$͌?rj)/O ,a6G5''bIfG򥒼BClQb(bb*ILtzT7*cچNLk7;//z7,K\ԟ^%ƞp62VRVA5 !Hv;Jp]Lڻ fHovRw񗺝Yز/Aݒ;JHn h@b_gsdd{xCj3˫b|zE^Ùs֔&ȋ9p>^ 0mq4b~:Ks_])~.tg`!=h`7&~Gj Ϊ’nLn'ƣ|ߧ~McmX1NVIG1^20A/,+.lSWh"vstr[s?15puL=z">uM'd>Ja-9DBj yBY&<$9ڄ9XX@}qG- x.qH4vr5LM}k%~c#|)jdY h%vjƒ ײڤuw<#zZɿG QL979.ajH/={&fY<{ K$Љ]H},"{"9( &7x,JICb]-&="$Q7yoۀb*, $HL[GQv<=֎H0k#,%2wjF5Y{e4Л<~LxN-G BzCV/б̷i7К۟u.|0  9DK_{j5ߔ;C>!FXz$2@^/WkDQ6*[ݡ>NLܻj.єމ8iLrSsy{(;vlP\FYvCN.qq\^R?x~gcQ|7ڣٝ,+i>WWDηs>z+cZbdUFc!ƪ'flM8mwܶ:복zc 4GOvt$6&qCL1XӍ"Z?BJ^X^Cv*DLRٲŜ J5&!3ZOG rtMA*m\]MdOYTU<$CoS&u flwIKං}<rk _6i1$ۑ`0vz9ct\ɿl7TcF0;={T{־qiS< ƿmӬ> 5SdK0Cu:Mnˏ7a6w^>KVCO1v9|s/'PrۅGw(dݻr2C$̹XJ#A7lOj g- O&}Y~NLa#>%guݲ!.d- t>_-9" 2%]>>3&7&k^.?# oEŰQPCƲ$ЙGTRopi-g63p#F* BsH*Agܓ\A#1EO4;ی:}$.8h5 eyXQ ;֖dL@ᛯK8AH=&9ã-z@&#7s|clOvXMeqg;qi7Yl 2Qﹹ8 M?lwc6v4:gƎz9|. 7#$jL5T݊s4$'P9`AA&Ed@ kxr,U[iW!9P&Bo2K .PܘAM@V @̉ {NwN)r~,!JO/|!3$¦fIGщPlR!;>tL1{|}Mqlݴ;">o[2I L>hGH3 z_CF7CԀfocZfhf'ЯbvsӋ2gfLb .߹gO6ܦiW$~^t=(ɘ/]a.OOfY&=G뇮cݎ )$#VcLϿYqAqj a "'T*˕A mDgC8ӁKg\xP 5TRJPhӥL LB$b73`~b5qאO}0pm-An@wY~ɃMrYXߝ[ 'vrvQ}6b"'!$"D$3ѯ>e;}ԩd Ę{=no6T._va- Y-e"Rvf{sI+מHˎQAט2tTF w%ɲ$=uW?>#@[3JT~&b=5u'bʀG>iA&DNioQKo풿D4}ӂDD(V&f:e3A˴^w}MxR~ۆfc&Ϲ~Wh*P*uPrU@FJ\}:T|0b=> 0zB &0C%V@P4NMғ傋M8n?-Ixd3Ӱnݝ!HHq&e`A/_Y//ξ.gZ؏dM6"÷^$(S^쌔q2%)='0ߡM!|~+yO>[z7 E䜄^}g!Pjh l#Al)R & BDsOG)Y97 ީybn;=zsU<dI 'vSokôJKYE9t~?Bor\HB2 ȷ0׷߳)!?LL Ԯ!ΔHb$aӈK/=smNIN=O~t`@n|}OrSSn!IɵOGWObY7zRw~m݇brt?7V7Ӷ[![Q'N?o]ÊqFO GBC;mKuV8}o~:`ǟGS?3FZbR?۰u*?DҌSn0+ys7PGXwom!O~(iSbWgr>-K2`5(NE&4J3%~{:z:eNm";G+!G51.01< h y'{R,Bh |;b7dR|}tFy۟6Ǵó20$$航^05LU䄍/trtM=D d7@ŁKAhIctl͆fq%oorg>#NHta8،^醓#ҏȈ.!E]t0=h1ͳ8?UX~'3&Y=X^bGF])UPŃTx JG  a8Mr )ONhӝ{ͼw  %` khYJB`D@mfc]nDH~u7[4-h♀^yh088-;ގ񞳿 ! =!~?HD_w4yB~/Tٞ>N`׷f~|t$fgI1651ڀrL9P, 5m|+m?Wz^-?);i:*nO$QYp:p`2vr>Z7NxNllؐL?CN%%U.SNbxtClyFUU>k{^ S.кJV @^2Rash'7%]G&gi*E)xtx;+F{*Ozx'_O:#*@pGDswO~A[ ͏A{xol4|S$χ\]T ۭadӇY|^'ҺD6g.szHvl7|~$E9;HvG5{[$ :e6=CB=Pf<}hSj?'xP?gzll#&=P?^h3 UOJJ`-Fl-[^lNN`6|NuOD#MASŠBՁa70` 28zP2+AD"#s'i6XӋq΂J;%dtjII (b)&B: := ֍t7) 'QÙc0kGok[ U=kH.y_V^Ezg56;T(`#3p_ 03 bit7=r{3txSsg9瓟h[p]\9Dx2`6@oAMee͑S45+ۃP`OF` 0 R.C9ܗg^w9P}Q>H`*벝[z &pVouU)L]]2Ϸ棸zy| )zSpus i脃˼x;m吭zIL"%-"b)HFbl!8+h),z/G#^x{b n5p/lAW~bʩcd'"y:9u]D6q~F#'ls9GfqsvIS[N,Zðh@ `KYfC7[]g /YtLĄxPA $BbB:& ~3twp-)zrВ62sZɴ8@Cus@$b,Q"6ܵ3(Ңk'SN &'m O EtiCCPxgcm`//犝z-&H#OTMT"ʃ5-X3H>p9*yPu ݭzlVWַ+n;-~ [Jc?_(!jyD,rs*άUٙ,"C,P91.C ާ~= 5Q~k!@nwCæޕdOU}AUϠDk6CC0DKgSlv&Á:B?7?Yձ q7=_v{^'dPL )9Z R'xt͙_Ҁ30́th(Hn]&lut@>1wȉOpo>qG]H ӐtL3k .O>0lb}3-S . LMS$w6I7-rdqRJ{$s0/g#b01-z8 'R"f(|,J SB$$Lj+ǐriřCq9̨ 1gEFb,Ha󯐋Ўnh1u\wg;C`P8'ϱ_<ֈb{<ףR2 Jތufw TAHe 0 vM]ӹE,)m-b8\>r0iXg:S?O8 2B;HV rCDhj).DW&!&]X z̘6 0SMt 8FEObqD1 RRHwio<z4>:NzcΏn*Ϟ~a@ },ܒPA9}[7@BHR޾$LSXA?Pt|>3MŪ@}bMv3 ;L<O+Wk0n(:,reLC_!~G0@ys|$Jb:RlՌJJbN19/OmJyٰ1JzݴhՈm+0vvD@UH )DI .rC]'WM# 0GpFPC*w@x- )#RAQ;4hZDS!шvW!Ge.PM l]!8CFqY0URUhP)T-B!R\IFP I]pz?r+*=}{7ʘNa2 |ّ.;(֐9NGd]mӛSpinhnFlf̠MNI85Wߟ8R+ wy "! ( D}y@\^;Z,>AS+}@PZ ] :eLqXͮcwk0f$+R_;,Rj̳(PzS=O7n5Q>a̯3vu ;cJ&\~#0Zp'tGa8ݸ0NuOQx'[ _ :m'b57}t.Uj;` h~[ l*"a:]` {"booHw;ݯѸ.CB*AAk[:K'I7alWޮqS9u@.`^~S5rDZ*&E~&{}܅v_չh*Oww 'f !$d8}NLĨH"M8SPٰ/Î z$. Z?ݞwOXM28=?,+0Yʞcy cT83Ӣ)ޮxALCHR?h64; ZR/`ښ"ۗve+r{Ejz?pB+154\E^:._⽪Ƌ,< QXB~}UyE)ʹszx4-g{<'{2TN|A6pZX_ڲI;Jd;.9+\)<ZFe(~a"Ȳ)%C]- I xj9\4ͳ#8B:Hn<&18fl*͐#GLEa vݖ㭊';Dӏꮣeu4e}^NN**?٤@ݴD:αY5tTP5_C=óyR$1>޼.C6*"PjdZ3 >clM^Y0$^˦q߮ν^aHJlh(G*<9rO߼=s[Au`bmGӯI,>XO.7g~8p e@ٯo_~ <)M oE" 9ppNC h B]J1ަAQճ3up'~w(GEڂ4a_3  2 2V@xD;rDmmmr1[,F2$;RCèCFێ/g{i 69 ]r(,KgI .9|y&6lNy~li(Q"a.N3`.l:t<}F*ZXan|g7;oRY$ CIa|ĨfIOco~>s6d?0J[S:X\$&#7 O: f>w%-qPƔKBB05$=C;lӼ ])awQ7ڍAHاH`"nWx&#p'peF>)M^4PÈ4ugXK;8o3O./P:zʕw8XNJZ "tG4w1vxq8 N|J=wd9]$"%a:|]dL4^~`?XAZ_I06Y1еm-cimRK@$(iQlS8u%Z-AjQlRUJ4-q$0W~֒~~O @?qՀઈ{0, E hI4῟Vm)Mώ~kD>ߥ7GBJH;n:  Chu?t>i~MO_4"AJV3b}a"hr!I`6']zG9sx1:7oF&OZdH hԃ6v`/4Z4| ^y逍\Kt 6w߹7~C0? A Ú1C1>CFK^y (Hn)y@9v=#duz>g4= "A`zewKt {>o.՚$Fj)@@HP@#\^<`Z# R<𜫠~뼽:Y(#F䡉}Bzҥ-im [)lҖ"DHefhf`@f1zrYk|mmm-%QEץ|̑Rjb {Rg:LԹ#(? JK6TLa`GCd@fzJ&QA><9Z!GT0x~!#gkioS[2q&57!V2G؋܃ߧkuS~1?)]O(o?(J9QDD27 &+sa[Xv92w@o~ Ҙ!:#58tn!(EIwmAX*b?춂M,}UԵ ԤayiO{735!ZHʣj$aVaD8ys:׎5 Xji7Kݝ:zL -!D( `%j*aV})&瘄M-UA:]=oAߛ.ښ7^pî%0&) 68h(#r8nNhrbH bĘE'l1~1=ΈB {}ɳs$Cz G`r4315-)ADX <YpCoEnOg5c_3cLog@ ),,A!))2?W<{{ L?OEJRnrcCA}1_?xC)URaw h?DѰ,m$v˕dB1TE?vjg^(1Nw!-"pEHI@^"6LGr;D /b6n_2+ew =C@<cGMz"v< jcm7CP qAq$tɁFC)A,A]&)P/s&s؍LwQ(qʣJDPJ4 *lDߡнeDXz!MQx|aw?Qa7 8?8!x(3(4.·nKSE =aނDMkg_b?D:' ӎBvL?ѳ6$&x33MBcBa_ch*<;Z8t5h nߞ(D &f.^}m3Gfi@*La6mVS+ld)&!$$# T8-Ǣ\LsGd =:{K .5]|x7}a};U~xo?dȇW+lh/]Y5K UgJ'TjM2|\#&2R /J{Wb'vMf#,w5v&IZ%E,*,eu.&X7ML,P-%{ Mg >|quM;Gasq3#?֚ÑI+RA /0a'`}ͽ f| ` f&@^D%RPM!P#۞#_֍2("? D"79L2f ٙcFeP*Oh??N>{w~?hw/A_X6`y&UQʃ--*!?SHc D'<!8 M겐wX͏8m6v5#XQV7gY8 0y=# `܎R;@䦤%CÏ|[c}HAbO3G};&7z?0Fb^0'ꍈ^oz܌Sr;fA׆$aP@bHw88I ;B`b2;y &8c_C,(iObâT} Vnja$FRa㆏sq#|8H<(C.]7eOR3INݎeE.Cz&8| :N-tG>L0@L>`]g=?Ve}M= xiCY#&"Q}Zs (~cӺ~2鐼|# ,41Mynx?:Tɘ?>/onن0̐\L$$bX- f(";~uY8@\Nai9BzC$׭D=H 8u*GK;aff3i 5fdܵjh0 ݸOP >OO c Hn496P@*nR f5'ldҀ!8mr>OC8׮x:@V:w?%ט^^5>q=GՀg3 JA 's|T=dB#V#Td+Aa83 #BO?ZYpcޞތw،/ a ~I)sb笟G{W'iC =Έ:>QLi[|kK޿U'y1"ǰs>s(ųJiL &5ߴ'-˃ofQBd_wf=^r8d'qQchN+ =x]#OxhG{s`8џ|n?;o'Qxk1^"b\IIMr-߀Jnxrk{47@o4#33`N#.)GM6 /+z7wg[9;gWHIǰxM"=T\k^.آ~|RDa< Hb_89 5A昚+h-".uLTsQ,\ꘘLvP<ƲU}6y805ӭ|pZ`~nm}#+o~MOc֚-c;(zg^Ho)o4GHP/XF(d1oLś0OgܿwE>Rž}?F3DK!8Dz3_"A@j SR+i N,q!&j?n-ߙ">7&80f6c 8&l0vF>1,&`87-|ۢGwCgGo1[O'{uo2}74Fѕр'D2CYL4&[C<:jѣ:M'JܙlF@saq5H@',P@aC #}r ] FS 1T1F_"!I8=|د9MO,H3 qf9javi `',?*:{,n-%¦~Rg:&ãS^s EDAB ez=ظ9hN>ӿ' &[z,OV[ U(x{le٠oHu8):1NݰnpxSxau]Nv_T)CQUZ:ϸ;6JMkQ;)>9\toTpYPQ}d~U%S# nnG^g,qnw"&GϮ r(D#q5awqg`8&!(L4D8}_Sʙve n&D?,)8z1H %?A<)ɑ:O@!(=ǿeG/!^uIUS1Use(w ݣĊ1yξ_;3'L3 Ńu r!S^(=qǙ=@=dy|Cqp^NONcq"CtL:hNJ$ Ca$K:P|so'!U]@_ʧ:Q1 <6}z"c6_W[͗#OBn.òq=C3ZvwzBwfn@>H@#^zCu`]ՋxAs<TbGC\C(70c,wsf&҆K!mG0BpCI9&ߋWCwjDGJHB$ mr:'ErdpA$P%7T;zg d[.կ^!(@!&_B%Ǣ pL<X[:7})ݦϷx:Մx<%im-}IAJK.)ԝCrX "؀ߏi0o(=7s9xC/Jntz\q$M;| qlڭxCjRPjfdi|ҼG߻ZDmF@q6 c8f,5ۃRqF.<w9LǑͧ\VꝒ`D`[!H Rwbؠ`ɰP$>=H܍ caC2d"@LCױ< Bozq7MA%фycrat,uY-\#FSSw.2~ "^Mp'4{Q'! ._M`GО4/J$A+m9+ˉ{>Uf̔o}GK> 9<٣'Daѳ AxPOe{\dF&XYA <|0ٰ;85 #]wgݘc|C=^2y n7oa;Dž}x #$)%0A@v{@DflgTVZA0h.<"y}epGp<=?TgBHa;ort iqvؐtVVКn |b;=˳B4UNol<ϣG<>|O%9J ta@q>[,aezt^Ne9ZCAyXNn.psxP10;CE+;^E^Bsf`\U 35t3#m xqvJ'Xe<<Mp`)zfn册3Ș;pUw*twfd>| kMg+rjbaff.f}I^4G;!f;IΞb!CK> h~n9 7"(EQ󐊊$]j5ʺR rQ1ɸ&U],,@H!KCrOۈE};@> ~܂~[_gxCoR.0DkY9SJPGzPbo k!P.9䔼A^9~R텓  891G ]5"PZК0+|$!:ÿ?w hsR<`q #4nF\!>˂8tChd6HPwg\H Xn &B5'Z*P2(8pJ(dTb!DHoqt#+ Fa6l%MLOG~QWn y&0OטA;o} pa=fyEgpҩq1~]܃@gܝx `l<'p6GxڢL4zO! &zDa&'A_SNSe@G`*uS۔V]_9x^q<K_< >vE:CLÉ}ˮ;oJ7J)adE=xvGY췌!&qTJ" /m6\ ք$ HIbdH\lf]~uA茟E(y;0sW{D-V1(7ts ܆w1R `ِUVl5:H\p6I=.|  j_1!AHz@a0Ai[\(/FP1f3rTģZdM{Q+: ̺)L ,Tu^kdPm GTO,[:g3SY:x* ?)v=**Tj_1Ŀ=X{;@2] =a揪@K*YgAR%M,j!}MMBwʎHI Cjm ЎJ':dx&(`@tXCڄ eȏJ3 h! 6X(wk`Z:vh͔l*Ef;B,:%D(i7>.RE{&efrI*7o9v o.ȓuDFf@ʤy(ȰrԶFHԪ*H`8;< ҏQQN3Γ0rpY![ 0b.^u.p+ziJ{&n+ TOC"`[HaZ-QljZi9ǃq|"b0"L5@48Γ7n/Z2Gu{R;MݯA7Q39dmh$I ƑІrcv& `4$;rIqJ8  2ŴF@0jHq"vϨ[8܀DL  oz|n$ 9S+D!̫ t|ތdT0S/x?X*a;"KHz餅,o"Co!t;8JIL"b:N6M? Fh_/xTymh} J{tSn=O`_|H*_j;h}T([T㛲$Vة1J#vX=]Fbx}7՞d; ]fE'HC/qnH[9tPRB@Rҩ@ 0, ҅ERJR&)hTFE?*cdz5=r' 5MiXYN%ˌ-F2u"XqOU$dSQHH$ H(2B3((*"*6mHHbQ[b&`6-it<Ƿ^h"y/_fI9beN2B1RPNLS ؟ {poP9DF!wӳrq-6x8@6w3ѣxCC *DHDFVK>6 b@H{;A0?] ]馀:! $'$&%wJprhUԼS(?د= }2^'`l"kllj0m2CEVEyoQEJ) -BHMR3yo؟|H|@r@GWC@v:tZ.{ac>О_o'; Ѥ1QI-0Q{g~Kb1o5th~?\Oi߼9U^=ro|@|^8e8kݎnW]UkfZYxիSѝbц*=$]lKMIϳ]`u A86_Gt^D{%D,DP, 9Wa6ޗvdgZIpq ܚ)YQ\C1L]R#KkTѴcK%a!H&B)Fk!JHQ aqTJMe sPzBfi`| 89!MPLFC d 5JjAC2B#`'HADABa'i4cӒb$ X;|;rt%O1lo]_>s!yTP Os齃A?/U>$dmb~=ZL(} _gDh D203=!"t|^m:5##! OgMeh J1'`ՉEhR{4T1J6uAqN%YL`F`EBE~\r=>"@"c<2VY daE2 mPEP&ĘOS\@GB˘ٲ-o&^}]<‘eıT!vf yQxt_XnҜ.ǰ]~O>Gҹ hꕃُ0a qͫMR}MRPSUAۢMӉ/WqK%( L"ϳP&HJZ4%i)+ȽxTRokXOy0>)D"†[SBBQmr->XBP d 'e@XUE`TZ34f@S-i)&kͳJ֒RZS41E%}!' Sk<_[dѭZq#6 KCBu1*Ma\WUIe؉Ů7TA5{1i :*F!0I'3NAwV.u;gf%ҚJ4!1}A;-G⣋Q!ֵ AzC I1LΌp(!`L*Ɇ <": fA"QTK\!+ڒt޴T}Z$QͪB4)0 "[ı:j!`9y;n&rGD>0 0 ɰuѬNČ,\h5 U2<s}WAGNaAP@ @!D0${M(ifo\<Е}"ly zc{6F98[R)VԱH,H\H:ye2S<5A*C}p2c`!/2~4H@~7)^<pu M3,:< !WwNq7 CCb>s %7ݑ`t^gNXƬȀ b-gՔcp 5 10>FX).~!=ȁ-FHҖ*+{zӬ<~V8Jp=RҟIRYxV*NN(XZƮM)&]ǫQ .O0FAC|04z(A!aGǭZ ēU!A WzNvO=>W>UU I6{86#F@6MIQPJlHF5'zջpwxK/Âo0?:ow܄jPDpJ@Pm\$?4QFӯAs Ҧ&`TiC(2zosﯵ4*u+@Eam/d x%x֛:`3Z݋Y"&bosA @dzc8Ƥ mm6%P "$YB!hj HfEQ*YQdVh"Oug;C=$f RZ+nݲX1 86b$+-eidDdRa6 R3C% jŀmdd D2Jf9*8CJnNhD f\b]2 ԋENL3lG6V3Ex:-͓' "ĥ*SǐpU#>**0 ^8kTl!:P4DH*4Աx$dRqMc \dFra0LjyR FeԔfDEv  =#GCCG-$a%8Z mXO_w :NrmcP%F;]xfB-^AB5Bq5''HxK%T5"ፒXb@Q Rm\`qsײDv6ިX M:7ɌȜ8'5"Κ" |8ϓѵ_P0(CG ((nL|p Vo-"+5ݤ6ƐpҳCc*QOs؀GJ>/`#b~!nob@S$>gw:ؤLG$7~hw-5t/$%tfn :.̈́'Fm0}_b"J!)Oڰ 3G"A,B!#Dd?18XSX yϞhp|~1<צ1s54g(gyLy+Y30 Un3I4 %Bt 9󘎺ZV3]0u, ?k910eM͝_wxۨIt4Rbѿqk날2ʚmu6&8`3=j$\sݧ11nϐ}ȼȹM$>ä n]h}ltrAAIyGa_v !*&i\{0ٴGh Cl_lkb(tݫ0ûKʈ5A*I6 1Gd Ssۄc(}.c|JzsS8"b_Ri)FӴb PMiޯ|pE&FYQf5KcaUQcASj67'W?oh0j 3$%U=qgPHq,震15h)Er11ڙ`QRXĹÎU- EWӑqIU86BeGs h" Ҙō-0BPQBRK,q4m qKB-& \撠jG`;55сH@d "A7Vpv7GӕDz WEbdbD[Qx.7Ʌ m` 쟶w9Ǔse9C2dU3!V [Ngkmm,ݾe۱D $4ioWJ"P>O<4-漸fFڣ7SuGKթ۠=sr@ lu(e:W(3tȌYLZP@kBn5Kب|gM6E=-LBQNOp8G&|Ӻg| L }/݈Ie\Ž?Z #k@vsp y^xħ}pE lx7c6(Y:+qu $̓i=z -)|hxCF6yH`vCdZ1Xk ͔ e%iZZD$\QE5uqURRe+C\^OG6c:\r{+j.#k' Z3 2iCiJczj5;m0#^$dM"AI@Bk Q! 0 B, |pkL\dISivSffkd5P$rZi''"(5\su+Ԡ\ *xx~=P w/ZI=R[|!~PDZzgE5 ׌Ө#p8/͞2#)plڻe<)S*RD[ޣNHOjuiŹ Lݭ.¢>79UUUUUϤQ*^VƏ4S9h8h5C"h<l%TD# D߭-=%)&׭*ncˌL9 T" ,UWNDQ[XѶFm1H^V'j%{ | 8RP WܩQ':&C l:C:/Т(Pͱ¼60b#Hd11%50KNأ$*+Օ݂j49V+ʅlimXTI)B- A(%R ֈm,,(rvuMwnU[Wnvtk;\A$0aPաW^@{HN u3!I ,1f n7^Q |{T= 葨Tnflm]fB> Im7DD5c7k?bmkEC_{R|)wD5sn6tV(DEFDGnw ha# lDqQWJ{BTn h+oyBCkDS!:4Svz-Z}=qqOٿ8zχ=,h=H:oF FΝvʒ Lf3s'/X7_;03Fѡ/!ĉG`@2^v3 V͠? LCc%F;[=[KOD=)7Si] "w4@p$u!HC;i)T"Ri 7t@;Bo5ytX *"2Tԡ?r& JvNN[Nėuq1Kr0UMFPzn'nTmˋcmk [8bf-I$ ʓtyKH`'LI" {L%dQQ'iY*nmd9!.,I3!ȪX--[|5bD܃GõLQe)E1!|>[nS\`t_OtG+̥i̲CXɃ&ɞ(yL^g Gb4Sx+ȶw0>/wilVh)MYC#bNNNdTNK _pfE:j2b"JQfA Gk&ƐqdǨάxYu-3G((YR_a@̓/LN (Lap,F bqRE",J7'I!:i◵4MK+HȌ떰n,:ei]^:(Bm((UBT` ŤMl@%% Aш pV`MvQ!(>_w7bQ[ UGs$vQ'lLˎi՞d$:!"""^?3_x)h#>> VTKh&1Qaڑ%j~ l_Ĝ\jIUFِ|b!;Aj!zGu9쥑!X0yb!%$~ߖR)Dr.f2@6Qx0F |8"6augXu!SS' 2,0 ):N!Bqa `>f-JaA9  %1KhҍOBtr&4(+px^9ݣLk#pbO*?;׃^y뭆]r" d+2dAӤJޯ)ch4T$ڡ?Ҥv#Ra?O$OILy';SjVviCO&Q3W3P[E00틛 x p LP, *1"t$!%2X PG * UgClKސl1 d٠k4@8bh(N,5#ʏAC yYb %0) &ҫNix}D*Rwdb㜌T8X=fףaCCFS:IF<.IO#}qCqp &aE6 .³_ _=,}@}KKT !$N1"Hu0=΃aX6v'nnC|ǛcD:1#!I&i0W {6Cn!8}tuM>jzm[RVaG^wq3  &) 5ḓI~4nD9Lg#wWppGǷD{"Z&` r2 :I# &^AE[W)Si[KYl֌n a" C2m2Vf,0I IP(Yf-{fj7RXd F0i M)lIbelG%% A("n&&kI MkZԵw텔q∁Hx; ػI 3@.l'3b;;T#%yDɃ TK8rd\܎7Pϐ8|9j64Sj I2TQu.&etPYdQ4D%E@Kd-&CUYąb.pIX3x%"FRKmc(`>=['-8=i@@b  CS}w L|'9E^Abw0GVa|]ݙFhKDU"T!%m+L2@ 8&'YAֈ?Jݮ(qyprIB쬺)aiCq'0DݯR޺'2xofz-xIw>5:@c$)=jrh֗CFIp 00ɥ2A:>^f>~q{>Lx9ȧ\`{]sD> ! zOJ{`75EHD- =]a*ay奇}؍eIb cr?)z4;ف{pInq3R6k*$Rpzi}3 759y%﵄yЉ#R g`潹Uq1H=H$!X|Z֚&vh85xts V^8M`ݔKS);CjL[rbB'1h}q0+Bl|7`H4b0c6&%=t`l( )C2M "`u 2+ uP&=bhw|)=:7 @| !IMU{2dqWFǧ*z 9 'T9sl^XJq_ o'H|)C3h`i<*IYYRP[ R"(1A"C#/I){EAPe<5JҡO|O43Wi)q!q9qs! Oށ2-©\4pNՑ]̉\FQaB.fR̽ e5TZ$-vszy;R)m"w;wBi+A/MV&~&͘.I9ҺNowNn";prI=>[]S9Yh=ʡۍe52 av^r 4cA6fzdNjF& 'TՄnrG=/ǻrc$lfc 9&@$ 8V_[0) TTܝL]fb\v"$I ~n&\8Dqtw@o 8wR43='F<5}QxT㩺1F^Q gZʺzZ׏҃B'3ύߛ׊T@:D Dr۞݊L.˴i%|TN4rֶ㞰v0!SyDdd׼ߍmt5 S-ijIo\LxEtj8Oּ3y~UW%*o9uAe1^AULJ0`٥=5UgC\¤Ŷʨu*ĵaa8$ .Tz7"x CQlӘO^Ǟ/r& #hdJq,k-gs iSLgxK5Jy"7,ZvD+E 0`g$T/Sfn r gy0z3;!.㱉æ˅'JZ96fv/t!v:sݦr×lm1ȣS”ܰۏ։F ׷Fn%vkǎ=Q4@yLW) h)uLGDa҈DmTG0-h]3\h{{r _(2 6M8WfF=B yC0 DfUAIhT`6Us<AӺ}^tk~AGj(ֵge,>"c1o]A' K6EU蓎H4OJ;ڋ:fY"͵t-TX QI$έv} 3OH:% S.i\uP<2PaCpf"лrqk3t՝sE?:QK@ l~2pCEAm&W.B#5]Ad3[mMvq̆G}$A /1)pvڎuaQT׸u8큂68WF+w|_Y \k:uGN(!ZA5T\bO6[D㦭1Š90p(:奩[{p=3;J#jP؎rsuoي)7kVF|Nrvqs9.}-!vꝉv-n}m7ܾD4y'̛O8ߍGv H\ݷk^P\LnM!1KAvlHw%:^0hw'y5!=RuY܇li߼Y]s%~[fiCO>P|}5,~qgRrv6|ޔs;|x E -@(gƵ$|"bw*!6WTXkIP$BBC|{dnH+m*#a=N =嘢bOOcd?*"U5n;6]3dF}AfN|*|u9 |`cğ?9$~5 Y1xε{9=$\qf\B$bݎ^2f{@Cs"u[VOTwbhK`@-Vx"5W^nw|YZ|Eh5)XxCW]QZahQnY<"YS3:Fv֔瓪Y[=0hj5M޳qߝoG{uu֪ b޸:VMo2\\giFn䳐Jj~^y=4QMdf$V]5w1 WQ A_,|o5G5))K=e=oϝq9N=g^DZ="@:a,ZFl_H뎔*W* _P#* 5\zvR{0҆XFbaLu80='q(4Qz~g9ߞ'֘DHJ 8Tcc{UZew$&,(ރ1A{FCau;0u-`kq+ 0F8DD"GQl)h)-""Zgw}Q fk|-o`WWi#yDJ|&껌2`w]hRisQE^fY#bQ)s#ܪt4=Y;{҇멲D;:޸KكG*T3ԖQ'S!k=4"B./Y`bL7 K#B=50=vGخLZW/et%xfB7o MFJQF(F`O%  J88nU@ne Ķ,f3 Za{KLeuĶ&ivDUM=#"A{`\5%BUu.V=(#IꪍZ C|EG(؎N 癯g| D̩q91{bϗ|c^[֮Nf b﫚"u;1>%QGl-Lk(ȹ'Rvs@ۄ6b93^ycJݿ;^tDGA_P;Da2F6z+6 60JPx5u#4VeTEiQ,5מ5Έ=u&ǕwNʪ>Xsy-3xµY+|eޣE -Iy5VoJ[9;!Tٜ>wdn <]ٲAG*|oE_4Z~yRT쳟+zߧWu~ %,̓\7 'SeSg17R8j y..M:|לXQ|q-E|BA:qD d I;.o\AEJf/y31(Jdv/grYktyt'(+==lz{y%DQqL*,mg}@AKF38KRDiOxQHOI!T҉ l+Z;,Z۷/~^<A`Bחu+^m>1ohDM2VTpk!1RiXk<:|ð;@VA&N" x|. *"MPgu 8U]f:YQ3̆UݳPdmWʃ$En"|!f+S2Ҙb:M>\7,ujxTqtZ:<6VT(&*=j7$ЩGtշw[ʳĢg*e"`UrhW|vV՜?y;'m؁2*I$[4)7U9Ο6_M/U{bk r BVa<RbNIrw L)h"&tH-pQ{V%JEi /CmxU' Dq1T- \Y*3*f\Ml6&! E$RQ  4U\d@,S3' Ъؔh &pLiOrthI- ’/o P1!tSGQd#+N3g&a%\r  /(orX}= ߞ}yp<"6)ds:Ȃ8s(H5!fQ;D#P^nej+s#O A-$Lvg1K7 =gH>8" #.|u! ۩16Q9Eu;Þhkֹkqs+mtg^}>Td{Iem>Y<É+z;YKe֯7볩}.oz-wyY~Z1--rX Ă@TA-!B욽/KԳM9Kʨb &"nil5h$O;ĵ%e:7uN6F ;-qNGHzyPqQ8קcfw{ 5ҠǍ\C+xejFq1hdq|DtG&`_4GA"`:d舋=.`"q#(zӮpS:2$MXX3z^U<θY<1;7Au!Y~7v,̮8$|HTˁek~|5u\˷ U,X ( Am P/ƛe{N[`$ |˜4fjz0N>wvPWRZ G=o"‰.DΌ/øDy_ C8`oq; AGr0&y" PbS{4qkX'Xl=@I96|pp{ޗBʚb˜ {a A#,F'Y QOw.pv%gCl(!`SJn d`]h;G鵂2?|&% i(}?+ *BNo(>L!q :S qCaN]R{ێƒ,pclAZeTaE(J^# u PP# M 0@p)I0Aq!E[#"v&8OR 'ϳPz9Ua+&!GX]a 1*J+D0VS^@i^"ʧ<UiY6./9jzxuUvz>IvqqQ:\+yqIkiFt:=ju\lw<#wTgy\fl εpy1j {8^zw}e=L4!QH1"c֊"_P_u'|Fiwq0F ҌA@}QD[zz DD#U2z{)nfPǚT| ҟULWnNGnĎ ח,͆Rr҂rMz^gYKô;'C|v@.D|q׋&«%)$w)!p;K YTHNHHHam JQ2!AB2Jt9 mbXMgu>!h.w7tڟذ!!7PYP/oBpETכ:@O3&{w ɧ4TCu)~$mA*"NJ|ש8U8cV[L2tἴFN[ć\0JU/N5[]q:z`peWh <~O~)~}$3> rK>3 4*ЭmWj4IJKT O1(wch|9M~ctl C1߲wV<шDž5xN)CZǢKfE2l#,N:Vslhcc!i:Q镓kaK'(LF @Œÿ\z: T,@K`Qg"R-fƄb#j0t]΂9Pٱ_e>-C!HD=r"QԹ ~6"݌-G NJ,C ; 3-TOHɮϚLX4'05cY!2rv?W9#Zt"( ؒPe }jRoNpp,*]NG~w!kC_khKEifR@ҔPҙ: : ~{#(I3J\OrryOڙ  ;iO>]VvYMэGDU~kFMH8`3KesU3uScQtqҋݾD %O8X1oc1׃5 $rI'"fRg)Li\ .1fR *RiCQAa +R!(-l68H,mI9:CLfɂ!!1*)l-D(TU&•$5WqF"pXi8.k6mq4Pw(PLjN8B AOR&^jGU js/^SW&;QcD4=xٛ߱W RwvE*^Gk͓WuG+D\*cPHj#Z+oS,jdTzNg6u٧Qkʾ~,k:~5lQp#ό,g z튎㙞 Uf3ztLIR0Ab^ch}.yȈ6EA-MP&dADsǍ*G1ߡ͓劈$jz||{.QbbSR]&癋ỔH=VFT lTb\&uJ:6NaÁ:: Dqȓ1(e[a@ߺh;iW݌hy_ytGZ﨟)%G$̨ߊ#bvvzY}KWv@u5"EtJACE $$s+QQie*=fGDo8׬NGn9$\mQ"w|w;waSP8@ B֝2E A 76V!?ڃʱ#Ur4eKhVJ03{B'"5OI{mM%)m;0mBQq\09(9DF# 0fO﵈1Ev6I5m"s鼦8_7ˮn ]#6hN$4AvSfCY(lS4' A#@x`!#& %RR (Atq011Z O'i|+$=*b@2!^6 1xo :/Sr9)=o@;~ؼ b ^~؇D@\Pю2 K4Ba@!R3 Dl8vDK@v`juۭةm0A"ChĄC0tN@(kcx{z*imKi4I3d`*`85,$DjQ8P)bAEMIS ` ~~ Y!>M,5|0?*?~h>r;Gst:DwKAxrD$GSQ#t?$bfCF5 Ԕ^}Ԕ;R㗻8XB-&m$]1,nڤL%Hc)!O[JK !ÊD0M2D42SHPD)"RI9>oLk%5+R(Hbl[T|.x.2)sM),dM-iMjQ**UTx/2@LT]WHx9+2ǔs|Mƽ=x^Too4Nem"T{630,DO;[W\J+DfDVws)x8Χ<\eP(7=*/UU S'-s[NJ_KжzNU,TKe5+kƴ̝y!>>yD3uLp+ͤmg6qsU?*gl16( <)tƟ5;`#PL|v5Ry.]Insz_<x]=IR9(ߙ2K/]B%7㝞NzHh^)k[LxW""1A^rVi""dXb8*%1XJxbx^*`R)wxyzw }J"mA|X*U(P5KbE6m S $AtgXMD&3$ރqn5`Tk|hք*`,"maEX%5Ki6Xm6*8<[ZZ°YMȊR]* R{Mgu]V[F~ +,@+u2!||:'Kӎ:=p Ʉ:Mk$656 #P< E,J}> 6}XӴw9KTZjm-hЖ- 1Ȇ{v!(BX pA ^)I9U[$)Ԧ>mPk,ID)\k[ѧWpY DVo s)g^V%(%hdB(AӲN TFBMo 43iUB%E)#(qibTqY)H!jU\ҊiWNIlIIYf*vrlJZmҤTa֦խ&h3$֐6`Zɦ͚D]4j4f-dijeJ[cR\H0 mA1d &e[AmYKfN)vAK*$YkL[}m5k'\T-5vl5-iHMDȴcjVͤ!2{^X v|AL;<{=倂;A UIAH!(O9h)B(QЅx9N&qaPٷf9h(֢/;د(1@!@F" E&VJډ(+Tm2֬VɢFj6,TL4Qo[DguO\ 1 yȁc_5b_*Pvϫ`ċ~Sm3|D! #gcl#J%gjwx2)ߒj+CݎZ^kF`QT|`C̿ *[X"ʔm -e4eJFFj(HZ,J3*")" Q&Dńo܄Qap1xC$yG1( 6]`^ D~:R'T=v&$ 3HeY;8J^[ܪk[VMvBWỨ600w_2VrI?` CJIjBAd)f|W*X0PA }73=J*'ߣXhrq,͞qMʦ! lY4R T^aYãS`.sv!GԘ~''yiGu-^ǯfN8hըvfPL0(<j p-EBNV$ ,10bṾ&T,b@|xtW8K6Z1a~ p7 17\tḦL1E8% M#J$w}PۏH#C!EM@4PW": W \a3TDyAԏ.s}M!eUVusv _#0v.Ѧ=w^*@| GzNѵt4R PA =0.&6?xG$ڟ>6Tl.Fa3BʆOr!/ y&*X $lGFLk/ ХpPX #R5BdM,"iO`.JJE%SLM3Ijr)ZBX?)qߨRW#9 uӼMǍΟ)|6U^ ov׹6@ %| BVphJ Xfᆹ#w=ܝ䷪amI~|8 "hd_FI G"W040lH; V@P4J@6nH{hyRn~@Oz҇SO<#CvzgdY@9 3E_eoY0*k^Hv|s;E}7^$q8YSy­ěBI2#sf(iI$]/nc{6 0ybJ #^PUbChnbԋd+[B`ٲ#JvA?h*A!>q P]uL}GI~Q kc? xDÍ[)p4TGZe#kyӛ!(_'e@UD81|⡇$N&#:nFlf ?\D#_lRi :d!z_6m|R.zTEGM''o\u4I5R`Bp8GVU'Y8HiqOGƿ_$"oAz`\PހD~ĉQ6>I@$$XaF$CVUB:}W8>J(QT=rFB@(!/HJnZ.X^(-8u)d ()Su")"4)MH*PJ(CIRn!DhQ"*._:׬i|v|_YgJ>[&@+x!7hi%Hkgoh"379-g:YԩѮD 4 yu3 娉 0qHZ-,5<$% &*)XvWt܈!%ġŏЃ ^ TSoo>f=Չ !HZ a8CAN@{$ZLB8q}ϑ'6ՁI`OD7p.6&r I\m} ~o溃R@oI>`HC|yj[%af'jZt!v%FF0ImQ )imHPl"hD,VHȊ.4Lb–q$"Q6* !;Nʺ5ڈ׭5ֲ$ ;^cJvƖ'ϝgYܻpa ~}Bux>q)$)3 JR䩋TKNܥ8]@V0sRumִnnK-wf9&RRUL7x!ŊQ|eq::UB/vy!^Hr [Y^^v0RA9N}km3oDT!Vf'_kʘ}:rMDUL3čl#0ﮰ'F#a۔#XdnX V*!n!&$n['4dƬEsP=?\A"Ȑ̅a?!Mc '0,y "h'-RT݁xrH7Ρ#2NRt˸P- 7%Xl  Kq>^aE 6FikU֧1Qؕ{ P _]F"(vV5mjkPQDOge (\žpȉ2(5c38K:M~mS|C28IXExqp_(0wG)D}d".H&˒j`OP 7{m 2};ݝ0fQc:%FKb9͓hJ0'4aeټg#  vy՘LHYcKT>NT8:eqkF|Z&ݯ5LQy[xӢ` 2uOq.+fܖ AX "R=XaAIݣ kndM2RO">23{ ր{?GՄfхbUIJnrEACR7@)9&ni*iq6uÙT 4'i޲_)U\Ŋ-st;y؁@I,k`[21ĥE"F|D]i*0QIw[L^kSuyc7u\!`JCZh< CKtq;jU5%dn9kdavJ(dJR;aDgjO,Y9zS>#NGţH3 冨:v" aަB;% Ѥ@## b`(N ʮqR=3gא2nz4P3ŀFz-A$ʼnim)4ڒ6ZS(jMuKqLMe+R!@dԺ VԆIM R!H+SԩEh Finmd-ڻۮFXƶh-)$3cY-S#mXF C3i-"3"l͌ƢŶ6ƣTU Z54X2ƲAS5h,b14!f)4YM,]$շMlQmWaQTV,l[0Q-XΚT(գZKZ2j6&MFjI36Q!f2Qh*ʌFJZPF5ImEabW+1[Mpؒb5 SIPq8y;lRb2!5eIP hdOM$,}x DR(mR$R(#(F؁mRgNqu\Uv"*5`pN>̖TV˦17A*)P#MamnKK&j6 AU R}IEt(D)eأVHY @>R/XvF F* h S/; 5DQBvAȒJ>!>Zwʟ>|<8+Oo*b)JhĎNf:iP'[tiBgyWa9>SM&H/gXEME(edkZ@&Uu} $E1  &TbdG{({d΍&&[lP"?CHJw s(D'Y2~%~ ̮n4n44ؙʲVpfG' ;{t&8 9s8;ѫYNl; ďvJ&*1֮U#. g$ &.0B$3betpUt&%؉:~+8F\Y0$=!}<+?h@ =dP0  hDCiS2 `u7JCDލ3"x)[KhV E` %)T; !(Z4:-[(2 Rdhi0R% h)He X wQHFFsp_ku?3Bj! P'J6,P9)<=)ڀ|'7DGN ? b!C5PKdcYM(YJ>sVjMԞ B$I0) 8 DC`ԂqTTN?Nux{u+ 4ܠQ9.C@iwdiv @&.Hu9 wP:.+X@B !IC4[fp'<ގLx(2A m\_ԅGО˝BLCa^c$6 x>;1w7<^6c fIHa`y'><_UkTT i_ %~It+KS/tZ a pB@!]<:Ue3&BH,Gp4aok[U pw굿>4*&H uާy$:wC@ E(;R:ޙQzgTjcfa֍ -J%G5("GQ@+)!˟ O;Zp}9.+T %( (&J&R-٩A`ڢ᳃'85*dDTʓ AaĜKJ fI{}ۯQ<ډCo.RwqM,;5kv)7s?8tGt,#@%ɪ ŠOVd{&^̭>=vGi |~9'|H&D3_ljbm5y,DPa;@dZ=69őuC]πM֢bIT8fl GjR6Ծ +3ӆ37:< qH#VY*Ry]^&#]טgRjNxs0b7b[\s#2f4Ј$]eD,q$%yNŭSGEW߽X03vcr2D{{wǐPGNH ̳בw":PDz톕I|dǟSx]Is.gkFBP$qOy5PU|UvRgyZцSjQu L-)NOGAC~f]JoohatAN272 B={R-xw沐K TBAj^@3b$a?2VC"a׺≤\,:5s8sxs3m3@q72u=ƥFTMaձ# q"IۙPR-q6wTFMD8c"xd> c<r<:N_z`y#CG"$ @n< e&%Ԓ% Ρ}ϺwϞԆ2[/,W΢}zXӈPM!+擤B2i hd. H"LhM0ǗS_Pcۑ{"ǵ5y#JGF%4MZ:!pu~>rP1vIZBjJB3EC*f-Z+`V+IFli MT%ɢ* Zj(ɋEhJŨ*b1K1Ej61Zɭ&԰fAd5Z"FʶZ[*iJbaSK4LɴRY%EIT!%6ՖMHٖ55JjmITEYMRP-j|6ETэ4wK8Bྷ(sCªvٰ06-QbuC$03'>qC@3evu\Q[W-[&w K,돰"*xbh ].& CΓ`$8qSKf"((T1B"wI)I5D7(H<42MEa$,iM15IH[L [ldlYRV %#Jalj RCSb1 E1jjUcm4(M[i3(ۖ*f`s0a2X"IaX"MJ \0a-< 5kk)5>QkRX[G84)D\HG?;* CM p{:-pi5&jP>-I=o?a0LJFT> ayfDQ{.{7\P1` xCwCP>C& Be UPT֩R6Y)4[;Hh"G`0&&eNN TtV '!蟔@2x@{=s* #2ux¯nMt,ry&~]7RRٻ0p{phn=Y :2` PHEаǟCg=3]n',d(ǨW4>HK6aCwF۾xHֲ2-MTM#m`nJ0C)A a\7>`cs!bP}(3w&vg?cZ/c|;5f]>8ƣ wR_8>04yy2B PuĊQA$id(!6zԦ&v8F뛐=+Qb+nIeW[Ee8&^p C-<V!w( /ssڦ4gbz }%>? ?nOn=g8SrsL]`Gω:;EH)ˀlwMT@XPPCq xo(uI5Ltb 6qbY"tpE9yFܢL!d%+J6+Uk"ZMcG,Z^Xm4ZNb+pѣcX0 d Q `IM@ȥ61L3$7G:Xm#: $+I X1@T<`I G?@179BLv_2GVC YP C Qr8W7 SdY HP`v_ ɸԡIM@Xƍʚp8u G|w%u{Nd!pd^ju*D (PTH)!Jw-)"Ԕ1[__x˹EvpѬ (1?]NNAwQc`kĆ%B T0.3BCaC X+骘T>"AwM&w8s# Hȴ ,[gMՔ[lFT6 )Q6XsL,UkpB "jfз@`7t4mCpm$ TQxiM%MK*JA d`j![AmʲY:Kq&pPM}F>A+-@gig|48( *T[Q`L CC.CWN/8ɉH8-;472JHLS%ˑJi$2&ͺ1"=]4:&1/}.B^E4tGdA"OEuʕi%CAKMչSG8P=[EVD2Mc-R1|oR yjb-h(nn[P*C ;:C4؁. *~Nrq퉧W0`!1uh]UMQL]'7%; xi) 00yԉ6RŅRIá rH}*/!IP>d8)X"ZiZB*_3 ] 6wzu$\G>@_A3 w63 ` hc~fgD|8>K:ڤ7<+CνC0t@;Im/W$0)k;ryqȱ]`B̩ J/+z7GZH,F5aUWͳ2I`!9 -f֞6֞@Uq\kF( N#a8D\֙@G("X " ɀ1]ƈ `v  +AŅ21t y@1 !#'O> DG=}f OIȉS(d%@Qae8g2&ӑJlkh,GdNSEKj;$$]o2mRԖ5~(et;R?<26<7FS "&=`!6Frׂ*LZ;^oC4`1[DDcR_ Nfha#pzgaQAd+JڀY!KZmS6(v"vc }yq<%go*2!ި:7 [.<蔥hL&fVUxGEGCI0w2zZ Oߋy l7_>O"<@OQ?@A-_'uhb/qS?QVY|K2鮳wqdUJ!F v WTQM O^OWQwsP(@ P ! 8EE_fwnWkT*HūNܹ~t@IYfZ YZ̔j/=ݷ56$EPIּ-YGlY8K $ "nӉ%Jԉ1vvb$YUf 16&  b HDa m צQ$) S$(`(phڮUfbQQo\b 8LøyD$/!&=` L.5|dñp&X^PO(, PzD?q*bx)ʷ2e2?WI 'Rp: B":?P [2Pӑ J2ޓϦ[qyWXa8}tn͹%,CJSKf!S,\t,SvlQӵ]{5H`s60rǎ \=b7Q"a"fRHzA^[MѦ\Y NAa4!țl6SsJDT=xd" +*d )o% $RwP"I1 3U USF񙀡"CaG9C2b@*bI zz2ȓJz F>P % $IxāB' ȼ@Eu"b H4NѬU;H!KS~&fxf-qδ7iu 8b2|$BZ@0 OB\ބB{og$}pۻHrTEARko5Or)EoXb-(C4_sV)(f͓Ә[zz?ŜU71I@ J%ipUD @RT\9$ZʐVӐӪ$ơoA!. 4Q:ŋ1:IJSE7|d{ZLM'{33"rdm-ļ % Cd Tl, *F&{׺^$Y9&e)hX^lDe)RhHDH!MB-JBV ĉh\YOٰ氝2hpXMÅ"0) ɤBtlk8Z8՘G-d8,kQSTĽ༖Bbrz5 $ @=`!\%? &!;͕^УkDvHd` "IlMBRA`l6nAFLxj,99:c>Au/NR}B:!7S 0ߺib_U Rﶛ*( C3L4ftkN#5=tk%vxp",cݕ͡ĺ1j4/o|j-zJbҤ'`pHNy$Ug}И98pedy"&(%B7&[ZP(ETC*^$1M`ncre@>$K6)n%>h"ڢ{-ER8&`(n~Rjw*qNx'>(j-ɔ0Zl13"1ᛏCNyu/Pm;)>EZYak|sf)7Onאӿp̌MSC͓lj61D>}_#JZe{NQHw(ХKAU4X[bhusQ]k|3o0ǯ91>_xqEHL>oa[ppkR_A'GHp*2 -~J({eD啐z|}Ha:N"Llg+U4 4[laM*>ޠQ{Xb&lAJXI0m[@ysG "s<;$)~RdLo 9 δl)߉:~NqcSSظnGb0Jw;3oԘG<&:3w sLB"`m;2oF03ڡ!ӻ7$v&p#TA4g>0N8CH_R@(%0h-}19!pZCRdn;`QF=vbQJ>>cԿPke1HCs36)9)}٪Zskv,c7R)XZRdiZKP3W4uݺSs3Fk-+ZznPtfU(-#bś|r)k&Gl@ⲬQdlZ*5Ei,VMdlmd%MkRU&5\i)U jV2YL4ƧrZ$aT]:0\p@1ZC{ϡU\1vvPy x'x L@AICdZQ#~\5*+m!Ie YbvSdKy^2ދU82*(zL6o*_b-%oּLIdFbb@I2̇Pz2" O$T&`Tzx&_;;v{޼$~>DU0)KBR'AAU˺^ҧs!d?OH 6qn1PV@'#xq|?- lm6N`$JTS@b $*=iͶ{q߃>ξ? A3t Ml;O AqʪN(NEAǪ?֖ )Kdzsߎ! 3el}xCo~7oOG?|/7~/G??'Wpzݹ102;6sCyPGM| 6&{iA؍4s i@=۰AYK ?$RX>&"(#Ҩ&ta| >< 3 ?nQ,㺕ä |ӣm{6UL?z>OVTXTISہs7Pgbl;!A|oש҆ J*!͡v@?{ڍLq3Sd"1^(QN\bJ`偈ȸ|ü bXDHDH& :cġQ`qgd'd'SCa/N9>nz B6V=jD9ÅQiμsR- ,Jþ<"q?notB&ٷ;p0LQ`wp¡O]i$@-+A /ʒ[s p`zbv2Qer>AIէl;b*8Zr^tpNzgJ^冽t T99fĈIN= 3CPk73;ƞ&]wpL;x‡!$ŷ3RjK y'GG$+'1Bw3ˁ"jjP7>y(nzECǻH =*Mk߃cfS㐩x_∉c1T!BE-UE)M_=HFttp/OC"xwqxӥ75Brl֧2ڊ@LFT sJqN+:>tTL3UN\nIqX#1#Jf^ 6CFtocn+LgP;"ۂ(+$hMEh*U:R81=2В4*Q.SMZp#5r]] LFUJeGbb</`tPe0x@8PU& !2nev`sFFrX&+hyȻ&RI QvR.LPkbPj;<x "lLcPmYMP!F VBk r!![u'y9"HAVײj[@\{h91g}(~8`3bT*ŒaL!ceҷ>:< ޷]͚ CDQW nF3{Շ9!`HQ'`(F2̜$H96+Ӈ82N8&u׈: E3l9쀭k -хQuJQTΥ.8`d$miCg1X[,notTP#\afܜpN1KlE "”vi7  WFD\kDFڌ?c8%n\ 9)9\q"#=*?_r:@гF9[e'13[$&Z+=*4rwi5)!⮟(#?<EߜBCDiV=Foenzƃv} õjmF@\0%*G)oä,e8X*$;+IP "N\" @T!&/K}o~>9%;t92rTE|XĹ S$+0ِ *Ac:P!oH:79 P:Q-!\$! $]% #0IAxqd²b! KE&phqZxpEbmF MAbw=R/@R\#z10`e4X  JdĘ Y@`d'V' ^uvM^Nm(V &!l2RNST!RW2Rəqs%NBI^u%ʪnjK"Jb!&& `t,HLyyc`HY( X[!%P:1%4%% %hSH& ЄHȸB_Nj1'Ѓ۲>Y.$7=p Z QfX)8&_ H`e Q׆6F4&c$utlhlt H%i5[*J^ֽ>p(`AV|rM+6i_.Ϛ1|1mkj?mFJ*2{z"&M%LnxEU8`6 HA,H0ON]̬̭ٝRo>DUXzO.@2)d64^9ItN7a,eEz2^}oK>SɤO%;% D)I :];%4 }  $ӰIɇ-Qfs1ʉn[{|2ѣK<HJ߀C'׽?ҙۭ}4Ƶ8a?vdaNoG9w& Q, X$!CE pT)ߘ(w<}LK?a`v[WLϠkN5aphmAeAD FDv3|.?p}L7W@UA$RO8Nf[ hWpzzњ5ٞ 'zf| C RBvpMAT5&WCȃu( ?<+?°9 'OMGOi_%zqdRh ,c/dIlmK/n[:@j`8x2PdDSK[k"[j% 7xNoޘgd@M l򈉊(+ANi vLM Th[Cs*.F vHm+O8U Cv֧A@6@52Mj6ZIN,^p0LL!aics3(D2A5,d&Ћ!EV͔VrDel%Rj9>uz^3$icsѮ%Y6ں[in뚬ԦY(@"T%%F2ɳwv;q1o/blC 2ՙCPb`3hmIdp(mh,,rev*h]mZvSZR[vTқnjr [IePX+:inJQWb-)I2J56KK\&)dF:$] ﰚDX8 9Ժ[i h(\ $"CA9X)dR!a38d+ ʬInnەՔ6*,MMR!b2#"?.1 X"b/HHRD?ᶐDzmЙo:rz A,Y cZ5W*Jnb>A^6}:32n8 LJ*Lr =;='__lt"1K$ LJ$, ߪ[-(Bokڲ6dYMM[~[]55DF"! !@ UةZTb&F .qjWYAB!աa:`"xo? q綰I)F@WZU"|)o9_\(R=cщ҂@zlB$b|hC JKsh)&Ju81dd@֕ &I+ T@!Iʣ F@]6$1k@5 2A;5\5z| 7$;5c1<8eL!"eD,:?lx0+Rk}i2GhNB(\wB dmHPAClZΠ*ty:WHC} կ=^{8hܝ§|YCNjB쏺@> 6OɑM#Vd 'fTb"oSdbl!<f 54k{z0O)HTTߞ5s:N_B1 tʬ@Cl=.r@;U{! R|@@ҢbdK(;ɜ|] /iUCϔU>#h( :aAQ+I2&N8;9 8N')HJ)`0O9ԇ<Ѳ& > ʚ*IfKl2&'|A (@¥) @A a),!%.#L rvuA;q}/|?,N,RJL HXd 6V00/'0`Q̆H lmk䱄 -"!P!A%KvKd\j**jGR6JJ*Tɑݦ#WuKrkR42 fL"c DĉimV--TLw1N̊'~eNYU,o%JIF$)BP AL;2Vq*$AAܿA܁(SL-^ P/y{~Ў |jNz`GA׼p%!GܩMOSծJ*}w>]̢(JXB=ҊŒu'PR'1# (((E)4K# ?9iQo?-ì',J"AAvv~pYÁD{(P`O}AA$.ATC{ =gM" %BT!R> `JA!:p2ִUd% Kv q+m //w]h17hbbC2 8ijX'R/)˨^6-BF6%a!&QI|3((ZYV!Dzm1M)S/%0XBV$8QbZknlZhQ~9!AQ2@ I&cd!NsLa6MJQD)C"0r ~eTE4ڷ*u(P+ @  B Qw 0IN P0(u*!.'lɸ3BG:D N,'̔_ O LxzwmEG48PtuUpO) 9G=ۃpdEI0P 6A$T 1AgEG1ЬY*}Uy IaHΉ.s2dlwo}}A:!RfACl='TL4@>ss̚Ј).hGiWEf6*Ijԛkk"i@%׾8?>$=@vX8/H:da0=!Pa$e#ti@aD`No|HQd brwo%DQ˻ "c _2pӷX $MT?Eh 9|ԈDz6(X|_>AJz!CWCh)2q BĴ% '8GpG)ȯݨO爁>5)E?+gZh~ &0r ,M4!H?-B{zwB(yةO HRŒT@ Yr1_(-AIR%D+D?6Rm[IX6Iܿ0V6VFW,JKlJ1O-bs4yJxiݽyrSE`E+0Jq{e c.̌ithaP 2Ɉ]GT 0,RF~n\2ŖuIlmY*V6j1, "u>fm3p͚] 0), /E9]փ#8⾫WW2'G8vQI-(~&B&8{s wz/O >B̧c/~yd=Gao ɛ~HM&(wӨi֙)V@[E勓in|eulFA jQR%vjS&u bYs9RYS@6/bw@I?g{<&`ͮXdYfaSPH% A {>:҅-+8t?;z`!_>ȗ޿IC T!HҁT?~@"wx9?zzQđ:ApT=A󲳑D6-~7/{QٻZ}Jm3gO4M+&b͉Ɩ UV:$=ee1 R i0M5+-#N5 k ct%YӤLna)d)ongzhTV㩉CZD)ǎ ˕itgF0s@Y MA"m! ("_;ݴe+MG3ަ3ְ5'g#G~y߂N$!4r̚d'L˞RKDoYq3r,5k$Jc*0%eEG kΊ$$DGɧuCދ*-ypY !HQgT=|~1NT w Mp`yn"~j:4<"ckL%UG͖M4b,$N`\jL?T4'vr P(K<<}즁‘빷hCo9Z?u9Pw4v:!<ߕ `a/iHb~8DvAau zHi7VeWuqut]oXKX/ӝ<,t`(J?ە( %Tv_P$CCGv $p܀}W. [FGF 8,"$G5PF۲ {c~{q;_F4M.7d|d/}jRy3t኷>x:2.{iCTfK!T I6lȳ$d6s8XA ''Q D\T9`K?LiGG9v"HxY_0PX\yA:K} P&]ź95K8ML*B>]48HB}y k8N5XbBAVJ]w:7YR\m6MY~wU9q?֢bئ!R+ -Rģ<ܟoAs'P>3 "Me-5T蔉D .GRV@λi-Zp'CF XbY B!> 7! t pz ٤h CtR]EfPWgeڜd)9aǦB1 jij[XDTښQm*dA.jyHRDrh2cRwuh >\ Ԗ}?!HP2axၣ2i hip_@E mR#@;cbX PAT+B*rZc5*kn\!@L$F/d]tEiI;!æ` WR4owlH5 #~ZJcRjAeanPNCFrzW,Ifd4*q5 yF#J@Dc gu$ϩ[ѝ;}Ϣc`͌hNY FRyVFQ t# 3$ }|F=MM&V(ѭ2m4=0\EU"ڔ?1#:eP8<:dD*ăPBaj Qd:H%7n;?F>GsբmlZAh/qg=8I7[!5Fjمt)Kؒp~NjUחsyxs%)}1`o? ̠~cPi.Jd+X ZV!5bhhOG= ZxNfvWc 3I aIh>Ңdz `<6 y;6>lnllt<Xgv!:7ʛ"y Ȏb {*j-~M[~njv N1yyCIo$>4Bm!N]<Ruc cF:y āAZ}Jϧ bX)P&Oh~egPhֳYD80:'=n?{8d )"Рbf 'h'H`>ag@K\bxavG@g6(@S em T1QhpU>(hgLu<$ u6 IN^ktd9ֺ~Ӧ{\=^VIR#@:u/1:w3Wp:7a 絳!1!S$r0_9{]=RZ_*=MDX6Mٕke<0>Z,4!O@u댂JP"R%bPe&P  Q6#TfX}~5@&/)䋽H$2L؍2->v%$5 Y%}BxhX\AL!;2*/@7YqH`!Cq;xagp CJ6&UDՙ ☈@aGF-@ݤoʞ̀1 %o-Mٜ$X2:º*h41b$7r6z^Ǡ=|/G'Q"2qߣ4Kp U25(݂$Qu&ALrDD! 01ka"RMwO~JCÍHwua-G׆GјYip3{gp b ?1 @@CC>HހR+yz~$OҘa Gs0R Hi"daX > #|'wgDyz0 82`==5 BH+{PУm!G?2HoR $l3b+QXVȔBʠA@/&*r:$;$%!c8'RpJUaKga"PB+T'RN~+˝tݯDm;Jd1AKmTit`6Enݻ&kXa -LM0,4YQ-TKAKZ*ƶ)De BMIPN Q@ԣ(J(%)P4%]@K#@aF1[a4#$H3l肆?w @aONJQ)eV#抧TH[pW"~a $@ p+@AASj+yRTYX@Lifd&m9RD9C*GXi,Ɓ Rך˖ &ԛPLDY79k?ǾʋLT~r{pq\޿߳zO3mrqDuL\yG~糷y65GWLu[}ӱfY^wCpExb+d&䱩WY_s̭JN2 IZ?"yJQè%!c|P|9r&AƜs)e 4E&:7&I7 $6,'0ONw(Ѯ P"ćJho"9ARChNZfo}qq8pث\ z 14-\* HM0VEq15Tr\ !t ώl֬gG'toucD( JI Q @Z؋'[U-J+ &b'98Pw3 xVpeI)to85^3m)ZL*= T* M2Uu*!jY,T{_d+J8~w^[#M|ZLʋ!rNUA8HJ 7,ng~ą"wω;tYra헏̝x&}rm9ѯ2ե:WY)`ƗeU:(l#de&j!{h\_ ;Zy>or7PZ 6:Vʈ8JJT%*K$G\Xy;N3"4,M뼡-wU[vAIiB -]G*kn G;r\&8DUr[ L: lJT vL21J=FPѤc<֭ 'BDIMERA*;G!#$wəRdT1);1 h@M*c*6A|#L"RV!7%<GA1FrSDq4J3;VCDFwrksUHVOm\Wƚ v|y3`Qje5^fji @|!S)Jr(&=^qѽs9񯯽E^kR^<ۑLX`OUAU&;K-$alO(qmG8[Tl힕py Dim!()klsLŘ2M1mb=wB UҬư~rchFQ3/̟ˍv#)$U"b4|Ѯєx>ZL=\MofV[JJ[ȩt+Sw%]nNKZxX KC&qKi:e|[ƜӬcjYY(|.]똿0^N毯3Llᱭ!rS險㉣N;Q]Lw&@7zQB0{T׭\rg.Qΐ瞃Uu֏FqE;%)Q!6^bŬT" 3FaBRaM[}0"rD'3gW!ww=l)_YVi,IУ۷EijcJKkIFMOVν/8dӌ<˶8֐ަmͺZCH mi|ii*{EW$jif=X:_+:H^֑f܂fUPI5a E%1G $N=ɂ5WRyy0y|3UVRXI6EFq@.ƖR$9 PfUj~z8Ah G$m06eua X̂K|I=-\6zy$ =yz=sˉzA(vg0!p~PQ`N\,yWZ~*EEDonƛ[iѨ+YkMЌ3(wgNDI0JY) DLЁ$bH` M+`wuEԾhBa J%<^jV52.&f0,]fg < PD >hmtN'Æ{mAاA8^FO4vq !DFa!cB|ćiv4`'GP3نMq$ 1& < z3C{ɿqHD?d`)wP l|_W[eZ#ë _p )4=K\?EҶ;c9aYդ~L7A)@`D6FE c[M5ft>ՙ8nS f$=/]BB}oi?{0{%d8NȈy"01RrÙgت| $&860%(mcY!paW~Ξq,Cq%b!:B A#2`əZ"–*.PN_\ƮFHI kHM!vޢJ#nK:@lWsE.VABJ+"IxU34fC9߶\*pIIb!v.9H 8E%Šb@CAx}jhO<}pu@j~00 >7"b0=[,Gl3;m© a*݅|87î5ZPٽRAGA?iR *h)YXih&6mI},dЉ&љYUQ[${x}] "H3S~t*WAPYU(FCmb!ÁM4'%Kh Gf!dS4F谩>GdL\dZzPm%* H5RgVB8Ơ+ƐK'nsYzɥP4 dФj+1YpNmmb]4SrsM}qXgS[f-=QDfh)ܴI*(ivrT1[1ȁ8R2wbI'm! HaE?@?@z%P"JܺA2&93(RH2 -8&8!»I;$p#ⱗ䇠$$b_V 7+ c#H;iS@qN|f|}':HI\%Ɉ'x{m`j hXyDH@Dd$<'0U(|3 #3-ԧ2g@ $#}A5*&!=|WQ:Q)lY@܉v 4Zxt& AAM!S896JR Bďy1}adc)f7]0-f tJZH+ y֎=r;E ӿB #zH.Fr,5PkRI0B V4DC1g0՟uL4@ga0&?"dq<+;G&M7c0hyo蔥ufHeJyyygEQbl7 vMCdSy 5KK_a!~yѠuېxB/){eo2~6Svvfg@d>\d})c=guZ|g*# ”/R}s|Ͷ6⋛hb-)/16t cEd`pz%g>YLɂrnfPΠq86aśu[ Y^a"*^0:[NnrŷXkTHtu( #jɐrM?Ļb0IFNR`Cm%Rv4O`ey_̛х*,PbIEzb$NA@ɀP=Pāc?7pL%'3AL fJJT٦vcgbH$!;NPJT4(0I$zDU 'H4)% id YFVQЖh !`!eLGc!x;'t $=-o3AiZ 'djDҧ:$ uXoWxt6}0`QP߆g.E]7>6A/+('pN1QEf E:L5$Aبj36Inؼ촚Z6lad_ ȓp3 9wiM:ݳ O_o"l>('ޛGNB!d !$Y2 )Ȫ#׬}R(~dD@pܻ$WHչWL\6ZY/FeCqNX [0Mۡ>Ō3=2I sv!bw=,aJ]t); [ 9؀h`BM51yGW,>dhs>w?Thvha&[FB|ޞs=fn}L9svB飓Ap eWik ! bH, :|,O#q呼ǛAFs/M+s[K$R4.2:9TƅbpQ%T=QT:TΗC5oN,..Y31$ -.,)A xÅ2ǹ*8A~ Ў vOZ{; Ԁk^kVFǼwk;t,x[ dpG1Бɬ*﹥ݘÎA£v]t# CIEQA,pG|.ό hƙl;b%uF"'1ED!)pf#[\y׋ֲD7USUF^M:٥ڑ!NfWPK*e2&U9p|;:UMĎCxkG`vNP}.7 Hm( 0l0H*V.piơE=L+I Zl6qɜ0[̃sZ6Ī4ボR&3Fj/%ģ3G{5mU$)Dci6h\W"8PYA9j%K. "F44Z.}W<[URrM&Z\w.2!.N0x~Q)$-{Mqf41j_@F[85s0P5̉zNy 5 0r#Hj&U (7Z1^B4 }yY1E/]e,GB&MiSh}ZOGaF$P&dD8n JZNPPI0M\EaWq_'A0EpI12Qb8*U:9R%JTpT3 $`"lLP nNd뫥$aa6)y[ 68Z)alP ,ՄXAg"`.eH B/e{ jq\{՞ꐦl)d-"|5OUSx@²ٴ2tĒ Jwk08 $D*ZԽxu{\}eVQ3ƹmWJoElrNFGo_1G[!:r2m)0TsFa#mkI(h=\SkGk-%J~;ۡlv򘉡ť)q04myO*e wZ\]oy[l1Hp Д Ӗl1NnGP` |.h6(&I -Ս&#ѼEr=Jri_c-.Pvqҝ@SD`/~xtiҮx0i$C[•Eb`sh0NAt g$ȐVQ-C0TK<禷6t$^8]]5pQJrP(M?[r"l/Hz @2r;,v$R .;&*ItJ HPM:䡣 LQFdjLW9"K ;w G)BM%x!BwXt!Os ī!N1r)D)DONӦCyW.Qh&   hz>)"S}ΐiq|ӳ@z}{=:xx@8v<p.һv&Cz) 9. ]dCaoMw;<&C;>Jc9Bq{8½{0W ` $2ګH CV`A"HIb!'@>0( HQQ-[%i4Jla1Ue4*ɤYMQѬjT&jJڈڙ(A@dbJ?!  w&f (aY f{AOTsK[hzCoH2$]9; `LPtbZKf&=%ĞpsW v&mXx b(BFaHҨuͩIMʠ >bhZL(B ZP5#ucӫ=|`# `WAlCࠐwO1mM2C0]W|H 4N4FRKV6HYm_mJ$sɕ&f B .!JZpݛwwFuެ6KF$:f3DUxؼKrj8uֆ`8(@ĝ@u^ڼH`Na%P.T'"qUɹnI$\6dʵ"ZAd (_>/='/<8d)@> LCN@R@30Ġ2P6)bZbA(L+s.( B#V\% Bs_DZ%U}kQ5Uؤb,xnSжu?S) p8S#)8u IUChH HLNÝs\&#ұ԰x=#xd ^'Ug7<+8@9 6S)-+IlٱdHnp!{>) SʑP$n@x+ooZF >a@Qg)WH()hq0xRը(IÐz c S/3e$!!@@!2J @BJlTcZ-Ce =51>ENS6gyct[7?!կ'ГH@k1F!3%iH032̌i`AӾ4e/w8"'rP9:ĥƈ?!G1~R ͳ,w-_ejVQ>ki4= a桒&(h J/k!uf?>ǭihԢ ==%JOrv^RэMn 3*N )B؝`HpAЉ {I} HQC@)Q *j(S%FD)PGFR uLC0Pesl5 * mOyFAAC` ( PKUJTF^$@75(xԫmgIY \D>  d!HOjE0==q=A 8@zA$\{37K⦝G ȼ$E" A T'i#2>k 1b{8Z*anW 9 t.v("!jbM ug6hjb >vUq@|tU:шnI΢&knfI*KY2f&$(䵋=]%:M NNI7<2d>˧=EîrB<~'$a]05Gy#xYf#PcHf'* o|^;wMW&j@vUY?B @AILĢ0u܈**̡\AHHfJMfUڱW7D$ڍ=F@ IBss>CG9ʀ,wTHF轾LȷɓIs_Ŕl@﫯-E9@b(hd'3m-_ߧy'>+q'A!1{܊nT; c6jyjgHB%%{CiplD%H2i p{k]ãJJR>݆1+,m:˷gpo-2* Q%T%IbO< (*L 1q<"'3DXq0"*I` Hpr7[nkzzljCw!8T KHљPo/kFM]IDYXf1Mh!T(pD)Aj5Y+T~6i6*H"X\ODh8d\=Vͺg)ED0ozਲ਼46[ JE.]Qn|CfFf[tdڊfƓEw\1rݢi!%id3 bfF$(!dQ}|C! ~$-A V !lX ؖJM/ o i$4(@$Q(VP(ZBeA;T/T$ @c:&(du3,сF|XRk_쏎?]̇9?JALhߨR|"THvE7P,% $FBqN ``~@-~EoKh?Ux{0@qn2l:A'PǴuDd 8Yr6xFsfc $agvtByJ :Ѣc7AṴ$!p|[k!qQX`ŪkHQ&P"\Ox=Zr1=:(;= i!JR!Fwn%;7҅"A["~W ud;ayd/ QH[J3YP"S & 7CUC!̜ A~gN*$`z!!/rL1'GTR/aeVwg'^β4sQC΍  N-T Hmy"%^~,Db hfDSI?z)1P7׽L<]>ŁؽWQ4^s$I2 C@xȅ!3?J}_e!0̷X.%10u9]ۀg"^ "ż`ph cm5`HN%(L22b񷔰6x6EcRW);E0bT>Z] 1^dXUB,bLp̔BGy6]Z : V"  IxR9CoPo~&hTCØ*9!@Q3d1#1pO@ =L) Ҟ>=.(} NtB4jBsvG+/qG Z֍=ry&i8VyO|qޡ"G_X!IF,?1h# ܞ@nh5m7<D y"&J&l~hk3=!ác>;M8Q.tH9MN!0R,}'3-5[N($1p}4}IdUN nhy5 jH1,Vš@֩,\74ok|W_,RoQ{4ݘ(Q'jH)FToV2KQ[ĺvM혈sf&,3(x$I݃%iB۠z 9>Eah!>+`<5[]D^j6S ٩Mfw\iLQ(f\QaIwUښs\țfsvrFF^SwIl4A8_ ñJxˁ1$ a SXl5[Cne%2c)\~; $D#_IG탺Us)Б H{X0Ri ~|5(QX̎8J!>f}dnE rnl쇧怔;g47)8 18v`@yV6փxh J!ftM; ?M|:G5Ϻ?w/'x\RYHoOUܡ?N) =he A)>FS@*P'$2!V $遒넓3@;wy&""= %h;Y"ryCWIaSSS@ruT'j<]=B|w,|aӌ}i@N?IDTL( 4aDƃQ X _W\OmbtZ&Ơ!ܒcOz {3:d-$Dd'FO0忀%픩M)*w]lk@;6@Vayc̐fhyMBa)R(Qԇ&CÉfj]&,d=P?a߫>}75 z7˽5G˹߈H!,߱_„JTCB`t9p*p7jɈlc<-V A姉8'G~ܨ?$(D}Hn * 0rE[0r *u>N0e('qȾD!8H2xbKMnѴ(U81:9t0"4@p1yɼ %R%BIhA`*Ԍ8!QAuO.?Gg4_ܢfOs#Ar JbQajK%HRG"c0$>8D3?Mp:S"dC+bOODG(;VRRlG[r?,@gsȉ?yJ$g-(*fk(*]J^1=8 gL@qnLt"Н~.⦾v~k\wO ,r[AYehkZ"+{}#\|`'HT.e