summaryrefslogtreecommitdiffstats
path: root/generic/tclAlloc.c
blob: ae61e852cc0e2233987aa8b2821604017c902f36 (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
/*
 * tclAlloc.c --
 *
 *	This is a very fast storage allocator. It allocates blocks of a small
 *	number of different sizes, and keeps free lists of each size. Blocks
 *	that don't exactly fit are passed up to the next larger size. Blocks
 *	over a certain size are directly allocated from the system.
 *
 * Copyright (c) 1983 Regents of the University of California.
 * Copyright (c) 1996-1997 Sun Microsystems, Inc.
 * Copyright (c) 1998-1999 by Scriptics Corporation.
 *
 * Portions contributed by Chris Kingsley, Jack Jansen and Ray Johnson.
 *
 * See the file "license.terms" for information on usage and redistribution of
 * this file, and for a DISCLAIMER OF ALL WARRANTIES.
 */

/*
 * Windows and Unix use an alternative allocator when building with threads
 * that has significantly reduced lock contention.
 */

#include "tclInt.h"
#if !defined(TCL_THREADS) || !defined(USE_THREAD_ALLOC)

#if USE_TCLALLOC

/*
 * We should really make use of AC_CHECK_TYPE(caddr_t) here, but it can wait
 * until Tcl uses config.h properly.
 */

#if defined(_MSC_VER) || defined(__MINGW32__) || defined(__BORLANDC__)
typedef unsigned long caddr_t;
#endif

/*
 * The overhead on a block is at least 8 bytes. When free, this space contains
 * a pointer to the next free block, and the bottom two bits must be zero.
 * When in use, the first byte is set to MAGIC, and the second byte is the
 * size index. The remaining bytes are for alignment. If range checking is
 * enabled then a second word holds the size of the requested block, less 1,
 * rounded up to a multiple of sizeof(RMAGIC). The order of elements is
 * critical: ov.magic must overlay the low order bits of ov.next, and ov.magic
 * can not be a valid ov.next bit pattern.
 */

union overhead {
    union overhead *next;		/* when free */
    unsigned char padding[TCL_ALLOCALIGN];	/* align struct to TCL_ALLOCALIGN bytes */
    struct {
	unsigned char magic0;		/* magic number */
	unsigned char index;		/* bucket # */
	unsigned char unused;		/* unused */
	unsigned char magic1;		/* other magic number */
#ifndef NDEBUG
	unsigned short rmagic;		/* range magic number */
	unsigned long size;		/* actual block size */
	unsigned short unused2;		/* padding to 8-byte align */
#endif
    } ovu;
#define overMagic0	ovu.magic0
#define overMagic1	ovu.magic1
#define bucketIndex	ovu.index
#define rangeCheckMagic	ovu.rmagic
#define realBlockSize	ovu.size
};


#define MAGIC		0xef	/* magic # on accounting info */
#define RMAGIC		0x5555	/* magic # on range info */

#ifndef NDEBUG
#define	RSLOP		sizeof(unsigned short)
#else
#define	RSLOP		0
#endif

#define OVERHEAD (sizeof(union overhead) + RSLOP)

/*
 * Macro to make it easier to refer to the end-of-block guard magic.
 */

#define BLOCK_END(overPtr) \
    (*(unsigned short *)((caddr_t)((overPtr) + 1) + (overPtr)->realBlockSize))

/*
 * nextf[i] is the pointer to the next free block of size 2^(i+3). The
 * smallest allocatable block is MINBLOCK bytes. The overhead information
 * precedes the data area returned to the user.
 */

#define MINBLOCK	((sizeof(union overhead) + (TCL_ALLOCALIGN-1)) & ~(TCL_ALLOCALIGN-1))
#define NBUCKETS	(13 - (MINBLOCK >> 4))
#define MAXMALLOC	(1<<(NBUCKETS+2))
static union overhead *nextf[NBUCKETS];

/*
 * The following structure is used to keep track of all system memory
 * currently owned by Tcl. When finalizing, all this memory will be returned
 * to the system.
 */

struct block {
    struct block *nextPtr;	/* Linked list. */
    struct block *prevPtr;	/* Linked list for big blocks, ensures 8-byte
				 * alignment for suballocated blocks. */
};

static struct block *blockList;	/* Tracks the suballocated blocks. */
static struct block bigBlocks={	/* Big blocks aren't suballocated. */
    &bigBlocks, &bigBlocks
};

/*
 * The allocator is protected by a special mutex that must be explicitly
 * initialized. Futhermore, because Tcl_Alloc may be used before anything else
 * in Tcl, we make this module self-initializing after all with the allocInit
 * variable.
 */

#ifdef TCL_THREADS
static Tcl_Mutex *allocMutexPtr;
#endif
static int allocInit = 0;

#ifdef MSTATS

/*
 * numMallocs[i] is the difference between the number of mallocs and frees for
 * a given block size.
 */

static	unsigned int numMallocs[NBUCKETS+1];
#endif

#if !defined(NDEBUG)
#define	ASSERT(p)	if (!(p)) Tcl_Panic(# p)
#define RANGE_ASSERT(p) if (!(p)) Tcl_Panic(# p)
#else
#define	ASSERT(p)
#define RANGE_ASSERT(p)
#endif

/*
 * Prototypes for functions used only in this file.
 */

static void		MoreCore(int bucket);

/*
 *-------------------------------------------------------------------------
 *
 * TclInitAlloc --
 *
 *	Initialize the memory system.
 *
 * Results:
 *	None.
 *
 * Side effects:
 *	Initialize the mutex used to serialize allocations.
 *
 *-------------------------------------------------------------------------
 */

void
TclInitAlloc(void)
{
    if (!allocInit) {
	allocInit = 1;
#ifdef TCL_THREADS
	allocMutexPtr = Tcl_GetAllocMutex();
#endif
    }
}

/*
 *-------------------------------------------------------------------------
 *
 * TclFinalizeAllocSubsystem --
 *
 *	Release all resources being used by this subsystem, including
 *	aggressively freeing all memory allocated by TclpAlloc() that has not
 *	yet been released with TclpFree().
 *
 *	After this function is called, all memory allocated with TclpAlloc()
 *	should be considered unusable.
 *
 * Results:
 *	None.
 *
 * Side effects:
 *	This subsystem is self-initializing, since memory can be allocated
 *	before Tcl is formally initialized. After this call, this subsystem
 *	has been reset to its initial state and is usable again.
 *
 *-------------------------------------------------------------------------
 */

void
TclFinalizeAllocSubsystem(void)
{
    unsigned int i;
    struct block *blockPtr, *nextPtr;

    Tcl_MutexLock(allocMutexPtr);
    for (blockPtr = blockList; blockPtr != NULL; blockPtr = nextPtr) {
	nextPtr = blockPtr->nextPtr;
	TclpSysFree(blockPtr);
    }
    blockList = NULL;

    for (blockPtr = bigBlocks.nextPtr; blockPtr != &bigBlocks; ) {
	nextPtr = blockPtr->nextPtr;
	TclpSysFree(blockPtr);
	blockPtr = nextPtr;
    }
    bigBlocks.nextPtr = &bigBlocks;
    bigBlocks.prevPtr = &bigBlocks;

    for (i=0 ; i<NBUCKETS ; i++) {
	nextf[i] = NULL;
#ifdef MSTATS
	numMallocs[i] = 0;
#endif
    }
#ifdef MSTATS
    numMallocs[i] = 0;
#endif
    Tcl_MutexUnlock(allocMutexPtr);
}

/*
 *----------------------------------------------------------------------
 *
 * TclpAlloc --
 *
 *	Allocate more memory.
 *
 * Results:
 *	None.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

char *
TclpAlloc(
    unsigned int numBytes)	/* Number of bytes to allocate. */
{
    register union overhead *overPtr;
    register long bucket;
    register unsigned amount;
    struct block *bigBlockPtr = NULL;

    if (!allocInit) {
	/*
	 * We have to make the "self initializing" because Tcl_Alloc may be
	 * used before any other part of Tcl. E.g., see main() for tclsh!
	 */

	TclInitAlloc();
    }
    Tcl_MutexLock(allocMutexPtr);

    /*
     * First the simple case: we simple allocate big blocks directly.
     */

    if (numBytes >= MAXMALLOC - OVERHEAD) {
	if (numBytes <= UINT_MAX - OVERHEAD -sizeof(struct block)) {
	    bigBlockPtr = (struct block *) TclpSysAlloc((unsigned)
		    (sizeof(struct block) + OVERHEAD + numBytes), 0);
	}
	if (bigBlockPtr == NULL) {
	    Tcl_MutexUnlock(allocMutexPtr);
	    return NULL;
	}
	bigBlockPtr->nextPtr = bigBlocks.nextPtr;
	bigBlocks.nextPtr = bigBlockPtr;
	bigBlockPtr->prevPtr = &bigBlocks;
	bigBlockPtr->nextPtr->prevPtr = bigBlockPtr;

	overPtr = (union overhead *) (bigBlockPtr + 1);
	overPtr->overMagic0 = overPtr->overMagic1 = MAGIC;
	overPtr->bucketIndex = 0xff;
#ifdef MSTATS
	numMallocs[NBUCKETS]++;
#endif

#ifndef NDEBUG
	/*
	 * Record allocated size of block and bound space with magic numbers.
	 */

	overPtr->realBlockSize = (numBytes + RSLOP - 1) & ~(RSLOP - 1);
	overPtr->rangeCheckMagic = RMAGIC;
	BLOCK_END(overPtr) = RMAGIC;
#endif

	Tcl_MutexUnlock(allocMutexPtr);
	return (void *)(overPtr+1);
    }

    /*
     * Convert amount of memory requested into closest block size stored in
     * hash buckets which satisfies request. Account for space used per block
     * for accounting.
     */

    amount = MINBLOCK;		/* size of first bucket */
    bucket = MINBLOCK >> 4;

    while (numBytes + OVERHEAD > amount) {
	amount <<= 1;
	if (amount == 0) {
	    Tcl_MutexUnlock(allocMutexPtr);
	    return NULL;
	}
	bucket++;
    }
    ASSERT(bucket < NBUCKETS);

    /*
     * If nothing in hash bucket right now, request more memory from the
     * system.
     */

    if ((overPtr = nextf[bucket]) == NULL) {
	MoreCore(bucket);
	if ((overPtr = nextf[bucket]) == NULL) {
	    Tcl_MutexUnlock(allocMutexPtr);
	    return NULL;
	}
    }

    /*
     * Remove from linked list
     */

    nextf[bucket] = overPtr->next;
    overPtr->overMagic0 = overPtr->overMagic1 = MAGIC;
    overPtr->bucketIndex = (unsigned char) bucket;

#ifdef MSTATS
    numMallocs[bucket]++;
#endif

#ifndef NDEBUG
    /*
     * Record allocated size of block and bound space with magic numbers.
     */

    overPtr->realBlockSize = (numBytes + RSLOP - 1) & ~(RSLOP - 1);
    overPtr->rangeCheckMagic = RMAGIC;
    BLOCK_END(overPtr) = RMAGIC;
#endif

    Tcl_MutexUnlock(allocMutexPtr);
    return ((char *)(overPtr + 1));
}

/*
 *----------------------------------------------------------------------
 *
 * MoreCore --
 *
 *	Allocate more memory to the indicated bucket.
 *
 *	Assumes Mutex is already held.
 *
 * Results:
 *	None.
 *
 * Side effects:
 *	Attempts to get more memory from the system.
 *
 *----------------------------------------------------------------------
 */

static void
MoreCore(
    int bucket)			/* What bucket to allocat to. */
{
    register union overhead *overPtr;
    register long size;		/* size of desired block */
    long amount;		/* amount to allocate */
    int numBlocks;		/* how many blocks we get */
    struct block *blockPtr;

    /*
     * sbrk_size <= 0 only for big, FLUFFY, requests (about 2^30 bytes on a
     * VAX, I think) or for a negative arg.
     */

    size = 1 << (bucket + 3);
    ASSERT(size > 0);

    amount = MAXMALLOC;
    numBlocks = amount / size;
    ASSERT(numBlocks*size == amount);

    blockPtr = (struct block *) TclpSysAlloc((unsigned)
	    (sizeof(struct block) + amount), 1);
    /* no more room! */
    if (blockPtr == NULL) {
	return;
    }
    blockPtr->nextPtr = blockList;
    blockList = blockPtr;

    overPtr = (union overhead *) (blockPtr + 1);

    /*
     * Add new memory allocated to that on free list for this hash bucket.
     */

    nextf[bucket] = overPtr;
    while (--numBlocks > 0) {
	overPtr->next = (union overhead *)((caddr_t)overPtr + size);
	overPtr = (union overhead *)((caddr_t)overPtr + size);
    }
    overPtr->next = NULL;
}

/*
 *----------------------------------------------------------------------
 *
 * TclpFree --
 *
 *	Free memory.
 *
 * Results:
 *	None.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

void
TclpFree(
    char *oldPtr)		/* Pointer to memory to free. */
{
    register long size;
    register union overhead *overPtr;
    struct block *bigBlockPtr;

    if (oldPtr == NULL) {
	return;
    }

    Tcl_MutexLock(allocMutexPtr);
    overPtr = (union overhead *)((caddr_t)oldPtr - sizeof(union overhead));

    ASSERT(overPtr->overMagic0 == MAGIC);	/* make sure it was in use */
    ASSERT(overPtr->overMagic1 == MAGIC);
    if (overPtr->overMagic0 != MAGIC || overPtr->overMagic1 != MAGIC) {
	Tcl_MutexUnlock(allocMutexPtr);
	return;
    }

    RANGE_ASSERT(overPtr->rangeCheckMagic == RMAGIC);
    RANGE_ASSERT(BLOCK_END(overPtr) == RMAGIC);
    size = overPtr->bucketIndex;
    if (size == 0xff) {
#ifdef MSTATS
	numMallocs[NBUCKETS]--;
#endif

	bigBlockPtr = (struct block *) overPtr - 1;
	bigBlockPtr->prevPtr->nextPtr = bigBlockPtr->nextPtr;
	bigBlockPtr->nextPtr->prevPtr = bigBlockPtr->prevPtr;
	TclpSysFree(bigBlockPtr);

	Tcl_MutexUnlock(allocMutexPtr);
	return;
    }
    ASSERT(size < NBUCKETS);
    overPtr->next = nextf[size];	/* also clobbers overMagic */
    nextf[size] = overPtr;

#ifdef MSTATS
    numMallocs[size]--;
#endif

    Tcl_MutexUnlock(allocMutexPtr);
}

/*
 *----------------------------------------------------------------------
 *
 * TclpRealloc --
 *
 *	Reallocate memory.
 *
 * Results:
 *	None.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

char *
TclpRealloc(
    char *oldPtr,		/* Pointer to alloced block. */
    unsigned int numBytes)	/* New size of memory. */
{
    int i;
    union overhead *overPtr;
    struct block *bigBlockPtr;
    int expensive;
    unsigned long maxSize;

    if (oldPtr == NULL) {
	return TclpAlloc(numBytes);
    }

    Tcl_MutexLock(allocMutexPtr);

    overPtr = (union overhead *)((caddr_t)oldPtr - sizeof(union overhead));

    ASSERT(overPtr->overMagic0 == MAGIC);	/* make sure it was in use */
    ASSERT(overPtr->overMagic1 == MAGIC);
    if (overPtr->overMagic0 != MAGIC || overPtr->overMagic1 != MAGIC) {
	Tcl_MutexUnlock(allocMutexPtr);
	return NULL;
    }

    RANGE_ASSERT(overPtr->rangeCheckMagic == RMAGIC);
    RANGE_ASSERT(BLOCK_END(overPtr) == RMAGIC);
    i = overPtr->bucketIndex;

    /*
     * If the block isn't in a bin, just realloc it.
     */

    if (i == 0xff) {
	struct block *prevPtr, *nextPtr;
	bigBlockPtr = (struct block *) overPtr - 1;
	prevPtr = bigBlockPtr->prevPtr;
	nextPtr = bigBlockPtr->nextPtr;
	bigBlockPtr = (struct block *) TclpSysRealloc(bigBlockPtr,
		sizeof(struct block) + OVERHEAD + numBytes);
	if (bigBlockPtr == NULL) {
	    Tcl_MutexUnlock(allocMutexPtr);
	    return NULL;
	}

	if (prevPtr->nextPtr != bigBlockPtr) {
	    /*
	     * If the block has moved, splice the new block into the list
	     * where the old block used to be.
	     */

	    prevPtr->nextPtr = bigBlockPtr;
	    nextPtr->prevPtr = bigBlockPtr;
	}

	overPtr = (union overhead *) (bigBlockPtr + 1);

#ifdef MSTATS
	numMallocs[NBUCKETS]++;
#endif

#ifndef NDEBUG
	/*
	 * Record allocated size of block and update magic number bounds.
	 */

	overPtr->realBlockSize = (numBytes + RSLOP - 1) & ~(RSLOP - 1);
	BLOCK_END(overPtr) = RMAGIC;
#endif

	Tcl_MutexUnlock(allocMutexPtr);
	return (char *)(overPtr+1);
    }
    maxSize = 1 << (i+3);
    expensive = 0;
    if (numBytes+OVERHEAD > maxSize) {
	expensive = 1;
    } else if (i>0 && numBytes+OVERHEAD < maxSize/2) {
	expensive = 1;
    }

    if (expensive) {
	void *newPtr;

	Tcl_MutexUnlock(allocMutexPtr);

	newPtr = TclpAlloc(numBytes);
	if (newPtr == NULL) {
	    return NULL;
	}
	maxSize -= OVERHEAD;
	if (maxSize < numBytes) {
	    numBytes = maxSize;
	}
	memcpy(newPtr, oldPtr, (size_t) numBytes);
	TclpFree(oldPtr);
	return newPtr;
    }

    /*
     * Ok, we don't have to copy, it fits as-is
     */

#ifndef NDEBUG
    overPtr->realBlockSize = (numBytes + RSLOP - 1) & ~(RSLOP - 1);
    BLOCK_END(overPtr) = RMAGIC;
#endif

    Tcl_MutexUnlock(allocMutexPtr);
    return(oldPtr);
}

/*
 *----------------------------------------------------------------------
 *
 * mstats --
 *
 *	Prints two lines of numbers, one showing the length of the free list
 *	for each size category, the second showing the number of mallocs -
 *	frees for each size category.
 *
 * Results:
 *	None.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

#ifdef MSTATS
void
mstats(
    char *s)			/* Where to write info. */
{
    register int i, j;
    register union overhead *overPtr;
    int totalFree = 0, totalUsed = 0;

    Tcl_MutexLock(allocMutexPtr);

    fprintf(stderr, "Memory allocation statistics %s\nTclpFree:\t", s);
    for (i = 0; i < NBUCKETS; i++) {
	for (j=0, overPtr=nextf[i]; overPtr; overPtr=overPtr->next, j++) {
	    fprintf(stderr, " %d", j);
	}
	totalFree += j * (1 << (i + 3));
    }

    fprintf(stderr, "\nused:\t");
    for (i = 0; i < NBUCKETS; i++) {
	fprintf(stderr, " %d", numMallocs[i]);
	totalUsed += numMallocs[i] * (1 << (i + 3));
    }

    fprintf(stderr, "\n\tTotal small in use: %d, total free: %d\n",
	    totalUsed, totalFree);
    fprintf(stderr, "\n\tNumber of big (>%d) blocks in use: %d\n",
	    MAXMALLOC, numMallocs[NBUCKETS]);

    Tcl_MutexUnlock(allocMutexPtr);
}
#endif

#else	/* !USE_TCLALLOC */

/*
 *----------------------------------------------------------------------
 *
 * TclpAlloc --
 *
 *	Allocate more memory.
 *
 * Results:
 *	None.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

char *
TclpAlloc(
    unsigned int numBytes)	/* Number of bytes to allocate. */
{
    return (char *) malloc(numBytes);
}

/*
 *----------------------------------------------------------------------
 *
 * TclpFree --
 *
 *	Free memory.
 *
 * Results:
 *	None.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

void
TclpFree(
    char *oldPtr)		/* Pointer to memory to free. */
{
    free(oldPtr);
    return;
}

/*
 *----------------------------------------------------------------------
 *
 * TclpRealloc --
 *
 *	Reallocate memory.
 *
 * Results:
 *	None.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

char *
TclpRealloc(
    char *oldPtr,		/* Pointer to alloced block. */
    unsigned int numBytes)	/* New size of memory. */
{
    return (char *) realloc(oldPtr, numBytes);
}

#endif /* !USE_TCLALLOC */
#endif /* !TCL_THREADS */

/*
 * Local Variables:
 * mode: c
 * c-basic-offset: 4
 * fill-column: 78
 * End:
 */
hfrB_'O7GdԚb 1GlznbhvgFPg`,e1MQIp ShxR$ruśp; ub<&3ΤV2o#lXR×!71P@SD1 퍮 oA3iIa_фetMN~4~׽ VBi fj4 *h]Q aeKP-높|:TnН ⃶WOh,\nZiڡj{mLzSd;DODsثΓaD74tT<>eWC_eR!q q냺 .CF*al7;_ OEo{.ZkJ;KߠYXTeK}Vr4o^]=q@>@jbw0ҊE0A_uWz`eςH,4!y٭)pv s;)krL7E1/ti瓲 ^s/1Ԡ 5gKӮV:ԉYS-oMoAHVV֫_k~,Sh3{m}ĖCqКņΞ~{م Oˆ"\}6S^L(oCnmNj p=c¢ˢS[]1FQmC+.^aeHkY9\I.<nNj_Fh2Y2BJIeP!ڳWC/RfBE|H $YPh0P #7>7#ۭIM:HPsX0RE#sɣb UZ} \Ϸ6M5E$5Usp+KW|׭醑]Ni{kl6,S6_Kׇ3ۂS2#Ni@ 0bzsX9ocs`Ä^vr7S.!r^ɄژgəIC 1z'Xk$\/gX$~*>݉mk:~Kڱi|IRU 7K +U?kpz"0dAZHoMI6hTm_{FO`! lQ@wl /ZLNǞIr 4,Lx P|Jd'jf>EKcapjR̾ 9+Bq%4V13!T{+߄ - 隴Q2C#,:DW&i a+];3F7  )9s$:EΩ:xX)Y>}5x@Xnd.rܾ ݫ޲G|d Ӕ*y:17lgݍsf\V m8|7{V=MO7(ZaۭN ij&uku2LIIwo(w, 7Y/tQ访}}DHsXN{50ԩ9FZg3;$9Q+I'Sv,صE#.5h=8O搘u8- }DţRO M>ď}:Vېc/97M)>Ϋ&j"=㛌 ?xP,UHKu`]' c$Ն}S]ʓT0DH|K˟C?^骵JJ['YZ8f#|H Q7& Aj# Vkc]pkjT-~'t@|(nµ%/_$٬Ja5OCu{V.9g 3 -<pZ{=̆6oY-7B-Q;H< ,4(bVE%;)xfUKtPfsŒM7kڠ}w'Ay7Ns:ҬD't§2K_2ڤJU|:a'DN#NjCAknTf1wԱ Y<%,[SɾWd |e)zee^݄*}$ 3$"lRh ʊp[bhw)Z1GR? J8'aj9M7a[@bn&%)||D4/$d4~sbN(t XJ&] gZB:#LK&ēؙǺ~0[7Ȍ0MvΉYYk-!wg[Ƽ6 dQ;fTKb-XBf<'$rq9򥾩*iTnsD9Kivv'F}@S=ٱ|]|@mVBvNwk9fR퓷_YYݜ}~%hiz=P&A cXB/kuFlV9/yf3& DWہZ#cr/BO7xo/,#$ޓ^IaAQ ~_WyXA܂-1:UrDZSiBg4-Hk2;k#`'#~wpo{']1ϥ7*8L{{ o;JE :uHN)1?ԕ/y}S4( 1Zo׬7!x[@a9x9-8_0[4S]*IXzy VGu4&ikE~P</Y9;3ؖ St_6Nc^cevoEgӯςp-SV\_?Y_\q]R@t_#ױ |՞9P$k;p?"du\q%_9?,هy69 qO1&:Y fҺ8~zNxS̮2H0 C) 4>H>?M/tq };p>$® &sޫN{'9=ڭ7w" zg痨lo'!ΓT4}5۫ c IS6eA6)[!pZz0z\S>0M1-DnkĦ'뻄+cͽXڐx Fe7 ]١u~yڔBQlsc^$2 .-%)́fi}ӻK4'/h {b^-!54{[Cp݇Oս~#hf)7tgOSr^uat[5Hf>A3rG -2Ү 9b 㣞]FCK$!qCf< U%}%yS[WdgmT+ }A;7 Vr!SϽ|K|ƾm3ȒlM_Dgr]^ g<ۂ+c=L1ڜ,:t&%kFG[F~rSWaDOV!עwCîrېVES8%7L9g}!'9q~eQ)"b6-Ɖqo݊BHuv_Di$"46@XN奺A*UӉx:#G5/߄/c>IbMϳX$l NiZTK"5Q`^GXi|EYA=30%1itr&14Sc OՀp|"UVguyr%ի p徒1V3WW*xX9~N+旟ήO{矮.>]]_/EN]\Z+Gk |N/p];4jе!9gFwS]I`Ќv]JWRJR.W-Z IGs쑎Ih4$F!H’s 4vo 2įe q,z v5pOe}!Y.&ָйFU/弘^2ك2B@{W c j(3|iPBsP8jQP]AEm܃g֤`a-]̋|fNj9&8z9a7U jM3f)hND$łYR\ /`' -Y!YuHP}h1*}iy}AtNuQN,܇kYMw&:ưxNoi:[3M4ObU~Ԧ/=Y/mI=Qhe&QuZWƨ12)Lǎsvz8hޡ++?}]?9(,e qjb̎^nУ1녦-"sP1)ϽOW .>ԇ9\'<~3[\`B[~Y#boR_I"bs2ACͶҢ-@"l6dP.G0yZ6ㆊZyBYyZF_ŬYtO&ka/4 *l~XMF'ym9Z $KڰeP86ۨGXMMAZ*ka}6JM5{n wA kR̾Oj2Z#/䅘@AX?>z׀'jҷ"Y&v j|h9Mk$q`nȶScDg%ޣ!Hh,*#Ͱ| UALVRFH(;SQ&no'?ӞPzNvuH4Xt Vho^j=Ž *$=f2"/%cаbr J*2gS*Z^jnǕu&bSTÆ+ґ2"T|n[28zkC Ew7B}Xİ`/ON |@'xP7x\O"Mt6~2x5>YDw"Ge$kΘg<%D^}j^#ު! XȤq{^A;2׵M6T77ګ=vR3iu?乔8 "gM+R#-ɜ'cmvM$B}J7*LĐJ|t| _Xa;ؽTVNS}el2daN6S;=i]/ߦ^HԮsCYw#,5/*cR}YK]݈z)هIz|:ۂ\z'f}Xn@쪘cSr'nؙ&"p3oiɖ\Ѝ!l0&=l_WNS)V9JeH:KN#1qᱫ}55g+Fș%OB5,{UWJ#;-uJH;Od=$׽/fQ~u?ֽ?>_ce@b1Itl$Ƞ`Сdb rCF!~zrku:ȹjLo_WPʕqRB٨AeB5~ }P6%toލ-.x7v'qqy!C"knT"k&8ڋ dx5s 1p)h.=yKUA/o2v=Pǧ/CE{''^P}o[BbVBכnby3 Y3RnFTijv(Z\ӿ_5'X/ϮBHgW'XQ: ֕jjSĺ ^v5;u`]ͮFfXv5nu= g%XsIj~zzF5 xNRQǟTm39jQ-KRΨU-IՒQU|IRji$UPX0rҼc aKew#sUnttߩ9E[Eq,FŭLWt^u 5uCNׄmPTC9!{&_XS>ј D೒p^_p~4jk:erY[A1u? y7`|tOFQ8f~Pg`A M6FeݡtM^|46:GHf5%gCvzpi臭(1j#/ngjzYj-[Tw̥o ߂;6'PVSVtݧlD;]WbĶZw}zLW+L2%s Uuz_.ώ>\~l;>{חWWDz5W?]J38Ƅ^ݘ>^Z/ 2-7W}խTf_8#-&s&֡I@ۛF9zՊ;9J*^;.Q -ka=fg99C,jy!Y^zSZUYh9zv:㘲V z%ipKx?p*>*Im2 8GOjW'LXF-qָ!V6/ڣKpZ˂M魈Q(hCIgAE mP}ekYBq]_ z8綺$e ڛv|{sQYƻ{;^qBzLU<ԏs(GMxA6׺-e?^Lʧ<}#fx:{Bc<>IKGRG睄|edB.sg'y0IBs~6-lH~NAdM1@ok«߁K4sMQd5R RU-cQ(?aK cy,:~!NxGe0N_fwT;8b^e{r}O)gtiǷJp Hb>/=K.?O/Ntx5c8\~}\UT_ tjEuڃ#}`wbypM(8[xk L}:i,_?J\k&|8PX,]<2Q{HjI? E0Q>0K.ȿJ>$.'VFtY*̒ϡSph+<N\e'5?6 ~`4¿ӵ.X{km-cp\Q+XZ1O"] O|^]l1!u7|O"mho"spN8Ak<=a^f3F:DV3$GpWi#(<_C|QMo( dEDZZ>/̂쬔rOĵ6Ayg2;a{z0wЮsl|!ye.iT?߶^#tZ g85i7Vpt[^!Y"MgV+># o= 9YI~gMjv{a1IZ ZI :[*9*YkT% W[Sv0_Om8צRfkw21T,vaߗT{M,˭ eQyK2nlqVڦi?ە*UO6fHWj}7^i56K8' f ?(GL%InqۜkHSrN#ASH܇߯UkILyDquA SrNx?z#̺ޣ `d ]d"̕K"7{/onn+;Хoj%C`6v8j؍Yh&V1.?J¯{]50/b.Pk0ۇuiu:~C :}~ǞiԆw7)7^_%7-p"@<8Aߩtp"GCER߮RM3uz#WcW=80T3U?5ZuNTp땯4u--,NɩKnRθ*r+7#v>xJ咪mF~R;q}b˼Z4ـAoOG=S ey+]텧2{I{g |vpl}i׹?p\'04z.K&i v`hΔ{ZULn;aDx&K0{_jj01YP0NkE>I~~ܩ|92-saTgr3XnPiymͪ&(ww2QU/tvHL6LHjo aP;1Th3jJ^'n_cc2m,tc#Fg_S)AMDk#:5vn[_pBmdpWxL5zN4Ac5#*Fn-D=_MQfbt"EB*q+P 7 ~}αyMKN27@kcTQݳ:TZu O]zc~[t.vj"ti!qX2^ DŒ=$qf7TV' ٩0yI`7K(s5VmNDsĎ6*eZzU3V$>L88Ңy[/%e䭫@*>o%Zk?T`M r8Yd,n0VI-DSGxsގ<2f&S)reJ:`lV*RrB`<<4ZVrAI !k +>gr{_t|WԨado}}Cm y^_v (YB'YiO44^^gA&ϥLm\jNH}r*N:.Fz{\v/N<`EZ2h~ϕ J%pY*cꇤmuu fqɥebP|s36B2 0ζ!GXssD&Ze|Y_O!uV}Y!1ǁeךȱ;+pI}8?$ރO/|Xֺy\ %V[1İbsCTj ws7~s]^jh>,R*jh GmlDeÚ%ݶ_ zˉO5,VcWWaοfe9fs_'bk1 ێNq78 Bo !U "]j(|(kBݡF?<|54 e7Ǩ[=tܣL+uj{W =A/ o$hRmU_wS vT܈\yj&|L?S|m7`XTRaV_[$L  TlI4,E*1m #̈́4^\w;dnp dy$HZXe2e齣 Q.Λw|b &e&}NٜN@+Nu0…vJ w$k8T"rvIc uF0&5"2wԶނ|c I#:wnsbI+*yP`I1i<6XJiݺ7C=IIz78NY&!s?Bn[:xE\Oͯ+nXutUjZiCq7Pf\VOz JQ5ōػ (3݇^s<䴯 ­oXt߾'eXb^nAC&m$%8og09 5w Z]oZxouS4ɱjrݡN#-52Vo>Co(rmX3#X\\9^Y}8BauD;}ޖ9v{KK&6s/BnC+[weQڽ瓌)+ZQx~?!Y^N{M9KD/ɘ~'hG混>!*y~k~=x'⣉+ϩ2_Ud0688B"f MLMummQԈc廈e67RN=,#Z#|\J2yusl6^N<EyHƒz/[CHֈZV/d^j  ﴖAr9}reC2#[^[/@9d=SL>l+Hˍd*Y>\7,h"?xK }.M1 Yv-g].z;]U?!,(~8dn~2\C;B WQa fp1Q,Df tS(L͚L@LƏحHb_׼q1Ho6LEvӴ#7NDv mm-e-9LT^ $c2Ld;آМo͚dou;_k/lΛZ3wV*HX3y_Mŋw$k &oxy5]q_#fSeoJEBVR,og̯~Kfla|̵ i޳`Y-쀶^HKLW 2%".c J+v}oP7!%wՁi\+pfj17 #o ƢYjl=F>Q^ӹ7bRlVgS,#ZqWziVyXF,h&r}Kgj"Dje`~_Y4Y"XHE@h10 a#%E)N6jSϰ U}WvpmX n~}b8ȳhV(!aIz:6 |U:a׹#PS!{VM$؂WPb\ɳX’=k:˙5^mjFZFÉ\ 擵]6ׂR|Suy8 er{ z؁Dc[CuĝW[,Zv0KĪ,‹qif7⵩-^`) P˚KUGPoߦȚJu4궷_,K2p "Qm(z0)"h͡ ہQ$wqj[%3&U{=*q-)ZO+ ~$]L#Bo* `dxuQrEq }RQXSWnˆBWMvW#!(YR5ç#ò ZD@MQ'~::$n}]vqΡʂ4,g"j,?N)V@ 6nekn1qj1B!$c zLWPli[1 +K5艆SC>Vq1mBµ )#YMf4iψ܍=qeCtڍ[xf2; HVf}[m(ε6DoNek7V9I"3b(&apNQ{]w:{z{~ 'E7h\e2ozg=R&ь=r5-g볃Qũ&>^,[t*]2hh,:MBd/SqkLt> ۍg8r)3~u!*>~|ml0+/FBXǬ 8??{^FUͲP/{ؓD PE<"tV`}'H5y =Gړ'3}~Xʠ?iS)*~PvzNl.Fc'iiQUTu^pSGQ6iJiV^SaYcqVګa^T5[z}?Qk$ˆZ'Մsތ՚7玠AZ^~YԒF L-tX#AEa@uә+]U&ѩuaޔŘ)lԥ.Vٴ.z]]?]IO˫^%2-y>grOtU$<;Lij0Bzu|qͿƞ( {!&28 l1/Hp͓u/ec:' r7 $FTg'tZF?S#=^,۪!9QS2ŝ_2lqK5 5̐;UjoPGm&xP~ dP"dhqm)ٶEV UB`@ ,7M!5;Zyj/W$B+J-83LjM7 &E+@H%{*zA \A,|k'L }Kcz-y|9=xwOtg$98][Tx~x3q톅Jte K߆˯ ZC-JGPn*2|EDd+ܿ!=&49"kpx!qU۬UepO$nD%DKB()Xd]fd2_ewk|3 }-%hn/!b1hӅ4{~Y![{ ]Y'hBGWא$zP;2'"0zX-<~VYB5qNDq#b;6^Ed$uN!aPR4;KH/fX`5lz}1̉B-[%s'^ S/rZJ@"B8e" VԒ)Eb1 0Wؾ,>4<$ Q|@3WcXokI=!&LL]^k8 N-4_r{z%zL#M$ 푨2=u ڦv @qa}]g3\]d0T'8v$耣R$.SX1yZ84WJH(ZYϣ9.fͫW]-|&xx7/jW|{{&[у`Cc&,`aS_on?G9yq,Gx:sw Bl*Npg eYtL`g:-q}Dw8|Khn]Ʒrpx+pI*Ȼ.AٳR h௫s :RFC-=RcrʝqNf\ǔEh=& &>In2o<tGуQilxica!R4ଌ˔=vE R{5|86X]]ƌ&e 6t x(NI,[1zp!ݦUx?=  _ũz}AgoRR?4$d)t8..WbnJe ` d˫y[ }K}c <W`s Z능aX]Ls3_)WdkU0]8*\xx 7[CgsoAbw{}wPX6$>`q>܈ pAtDBk D9H]ƕnuXNnCaB?NۓiZ`(ʞ,4+/F:s,R'zC g-X4F6%rA ˨!W$T PX)'X`j/-*ŋtr`$uTKd˫HBXP19@e1ϧB]}$Ď8'*S!@ j&yP)I7(=ZQf S+NtЪIKɦ?z{˨Dڄk;{ _gI9ė(5q\~& FR 67Oq:<<@2YS1v A,;~zMMr/^!4WҰ1D~O ^u;eFkЬff`XNtjdx]|t*rE %)%@*2{Ciy%ֺ+Tm\]ɬnZ!ꢪ&pՆ{S[@P'Yiݩ?oFSzVjzeH8`A bTu"ǽʦꛀ Tn+ TV ykA#=W,c {]_ TߩRW{oBHZM634pHIX  bj!V s don]V9E6u ,'X k^6dm0v)R=<0Y|1>Ljdw&۾a76%'O;U_"Ԓ> LSCNEY<' %I:wA}[ D[1}϶ɢC)TF":"W:"m%tj$./> ]y/m^mN9o[EZFS@6Wxq3 xC5>MxVɮ֨SڂR bSyz}EwAPŀ{Y oH"`eqN}څ  .!\fH .~:p_et<%<`jr`Ӝ'5EȖ͙\ *6wsĹ* H%!&+Xyz'xo-ޡcV$ϏXr4#^S* .n'5%4Sb#Ҭ5e9fD<|<`Va)Q(m4s0Um G)C;l.Bj'9XYhX YD@TgZ5FýV*-]RѪEu&m]14<A<˳sBNˋE\+z~ 5!(LW3?}eamص>_yA%"XNl0K^fq//RVP͸*IHAB7%cz.z)A@ug@' zAFs^UTr)cQcI?t&KiR)AsXQ!$3u xWFA%C(7۔ׇ3]/ FDX#|sB dnG#P&k}0בaCzÍT.д4Ds!7XOngstZZÚ3.{5OyHM 0c:O!C'5޼I JHϴVo y7r. `mjh,H}GFL 9]ݺئ BU10v|BrjD[hʼnP]ղVV0J"M0KJ̮"ɅPõO(oV|sl]nީEN IK٥v^> oxDdn_`t ɨM$Y5[W X?C97⃝ձq,rx(Ah$ƓY>۟闏[A`Do F=li?~[GX[ɜGQb&qʺ{R! 2X.xIJA/,[[ >,V@i)VdCrXHB쥵gU*' cR;Q#Zɥ٘B@tچ6.H'oY91"I1zB̭rJ&16G: B׉ENۇO_Ҷx wq'q1Ou%4}MX# j~XTSy˒.j~zH}TޖO!:"6U< E'[ N'Yz/dSH~wD&TYɼ5]#C' !jw@˛iibZHaWH0)r4'j9Nbk(TViGȺւ MpEO8ا=W&[cŧ@< Z[pR`vA4^Q:@-}_yhhYްHB B 3xsݛUA͇|e!  Hh}O4T(͢JDʺj}㫗iXB3HM PFV|.ٞaXQ44] .Ws!B@:dAx@r߷-wz7v囄*`5EE]N;lJsZ)6wnt+!u{[ޝllǼҁ^H493"~^YN$8`:5F%y,S8jy[~ m3i4SÆtf yJ`K_nYbzX8*pԕ*o!~'א ~ၒJV+ˁr6fRE*b x1]9)& ƐbNm3X߂oYxtcnEsUX$y-^"Lڷơ߮<wX`)$,WVip.'i.RJ87OFi@48AR賬ƨKVcJ"^]]=7쪌`j¬΅Hqӫ?Df ߓe HdW0p~Wb1Vr屆b변uN@bxŻz(㾯w]؎)5:yFә ?9̄7tUJ ܋%5bq`> k%RL<:kt97~9 \%żfq33+St}z% H`|(Kt͞vRlEhnd\rIʕ0L_LoX8 ]Jmq3r`F1LR*=g')T3f]/*pf[o[}kBZի\]W m>4_M\O~鲍D'8(/*< uhF_FH}Sc?4{UͼlU%\6n«n_/;37Rm3nT@ss\ʑ Q]Waԧ+&tpA4v뙭c$)Rr 2E =ʲIs%Eŋ Z6]R:|AA-4E:(.R_ ;袙h| @o"{dzz!btq3F,!&@]$.3b?\'R$&.? c9NOS27beB3,/tŘ,y80!ܐ ";/ߑ^y# c %+)'&E$$PA7ΜĒ$} 2avt?^6o6RFl O{G^]5(6mgh h8NJsftM4J*k>:a*F> 1$98d!tW?7]*T$N_'3r$"ϧ!Ն>Hxsv|s}zu{s}tzvzӛx$򺦘f`gǛh<,S9|b@q-!GBPJ_fo fI3Zk묅 1 z]Bb8 -e}#Knb]x ܏)fjہ g!4'Th(݂prKnR~]MBCXD j 8jxnmh)a"j1agxm1$6!3%3F_c4JtrLltYX$  m*\%Yp;TBJ* &ݤ wba`n11IPY ja*XPB: ?Ul6C$~/:g,h5x؜C3ГD}ljF[T(A y߄HicVu)Yٽ?XH}!OH˫_enZ=:>fwb}u`!ZqJE|iUӗ/N] Fgd 5q.|Yi9_^\&x7Xl$7Y*(ډwOկT5\ԈH\Lτ*fiZh\=f(vz0R:#BO*}8<ؗ/݉pXWfTlV~c>O3B"AgSALy+>PW+$u3؅d$M!C˫nZ ׍td6\~ Zu6^Q7&dMɃPGǘU8n|7)tnx P^T{T*wi&4dTP}{{Y>7BdZ> ԦM_B{H9c{jx;Ά>b"~۫>O\~SJsCM3 `}"aAoba܈{l0WQg8KK#0ٷ3,"sDg !JoFmUB'J)HIz BfTSu-ʱ ?X8?L~Zџ}_Pc]ThEl5 #BP=^j.?]St2ҞÄWɘ_X%@o65%d[q:1#IGKd#b 3X'(s7dfq~u<*e%bfbxJ ?B^b)(њł?3-^E2a1ONn?|PvޥL[gBW1gOpvwCcl> ۿ~HJx?͜S.9s| q( LoG.nbB@VR# q7{Z3y3/n 5d\DErI$ZE0rMyÈu*x9*{x- {}t5MjQHmSVff\Bռ?8Љ$9c"!Q(;?;᧫{b n` *#Z)XψRBT\CL,mMha"nšC=KN|$JT< q%Q b٦2wo鄈 R⑳q8DX O=X) db4֟r5I}1+`܉hg}ޛQ}7q[F bu"YJH$NYt߉ ,< gLN-ϨCn rkoU"Sc+؊Z >S*[evIRS#М*W$?P d:9ޱ @qx)Y 㠿MBw*AFNTv;&kf;t_D훤xDhOCKRSr#%Dϭ^ېBNheDHA 4; 2.FᴤYjZ+( }_XLG؂*f\2RlG'O)M>qY^0 f1-ڭ/O^{Ld$>8]ʳKA2Q| 1m ƣQtt6p?`|fY7ȟC?>&5 D4cXnx-݁o타`I- VVڤy9k^^ehwn { \dju;znFZ&ͽ1:> j{?C%Bzڷ[ eA'/E!;ΒR~ XH.Wß^.cz1;rN"9tjd(Xt蛥DƞW-ȯ1e?5feQa+N9x;m5e2F'蛨ώ(o3v$&,ژeZ/4?Rɭd&7c\f@Vea,Fo^L˕F\˘n =VN@&l!Mf6B ʄ>,t/CWaC18RACň kjsSҷcwk|; ''6,2,Vs70;p۳= A$ϿB3=ʻK^IV ̎U !ֹX=Wy!Lė*L\ +L!_IN]{oڬ*RHU,Rmtͣ3 t8hCec1iZ'τ&b!n!)l?AƔktޞ} <>]:dUSO(j UW %n+`P'#cC~i? )-reIHYvߔ˙SmEqEqz`9#ߍݗn H|4 ,# dr.NZh$f=emЮ?^ 1ăE' PWlƱ:>&.vfSS|l:9{C) q ]^+k؍SHCpj( $\!~336w(b*8F}+Gk]qz^df.K煌N%Oh"q1IWe2=̍ȍ}iA <+e q @bt7,-^J!(4sRI|kQ#wzlfG!M]sw u -Jte1[AgY@#28YnXKʳ)]A]~af~׮ 1mAkuqp?1%H(]-NFF+CzM'o8F}.݃YaաAUV]=w z:p $UDP)`ֆjì\4-d,#Ah )$KiByh_^_/Z#Wn~L\y[FynK+a#k]"TOE#Jm?MuC1[NHL:*?gkMc^(Ѫe.M3Ԩ6ZR5ZM 2^oϮ4:+Wr`ve4X@٭˲.݆c ^˿ ͹^~ϋ=\- p0m1~]_os{(}(sm'%ƾ"Aͷ dm$aX7kgU>8t?P2\ƝWfgV{MuHGRR8h@HOC{l5R.RC۬k2ħ7N a va@βnԣ$ĊُFQD'[S0.2)yD'#Iܞ]g bVxtUҨ[{Zm"NA~OAIkIZZ>e :V 8~̾ Фur&A"98gHf7o"> }l |@H̕%5΅[2R4nʫ -fׇuސ cxț.e؜=67,a݉T,2}Ȑ6m#SwxVM1N'%GkzUE4ӱ/.V(p7S-q,-SJPh ĔرE3Ԗ2:y")LbAqaC߉PK8aP}9 _ mn[!ŞJIVߡ̕hɦIn[S59P&5w:Bqƒ|9(`m*0m]ze h:4 $jqr))+wE ~?Ѿtq˗ j_? *UT Z-ϥE+;ȥ XL<[i<%rTUwwCDKIN!wn;x~:Okt}f[6QQgcPO}>Wwfu |D⊲pM/: jgZ'Jq,wJ?7*lQP0&zsdž)oi.MD>' 2i>7 $.|M'GExu. RR"LA] ZmH Ҭ3E]t'E?W4TA*$J*ngp›_ +|; q^JiDn;X^:=nf `k sB3%I: An@yOJMηtBѐɼLNe N+OǜJ٣}H| m&,?BmN3NbIb7Gˑ<3OG`'{XMGrgrڵVkEJ d@\$<٠|+cnqKZ4h+rsBj\rT,?rt1juQd$>nt~I5 VqDҁ ? [*yM /U"gigC9@cHO~4{#!8B跘pYc !jM&!}Hrs mokED Fkrš`mfztr-c*_B# Ƀ\? \ʗ "CM yJDҥ& N7Hnf5qT<%ĜBFԥ|bﵔ<˫_O/b͘Gٙo. ^•2x~*+eg&3̔E-t'P<Ey|whc?~2yy{ݒ'T)˹$2 qdhaC(!᳞9I `dcJO|qUb2d<8KXWuXH}IHnEa8NF׷Ύd3so?yɪA8O&<%~U\@fyB_0١vPf~N.)ӄy]/ppu- llP*s0$bBFRbsZ5grlr$YuБbQ=7" Ŝ>L&`zkzv^}^Pm^WUC9͓5wUInQBa:Sֽr<;0$"=;EϘ1/DР4ށ:حe_6?go2r+D\E7;;G>@9ZoaܐE4r8a 0[g܎Ptk/ggœx'TyĹ@\&r~)+J,Ho&2!j+i(E֘5/(Fa07o) Xk830D0B-+&3@9 %Sg<Eƍi"<=rbĴZ) ć=5\%\"gSVZQ˙bu^sRW-<%|Iqgz稄8aҖ)~EsrVO^Aoqۓ$+ӅYmc0H>}Nzv HM!;g/(2˕<4R|t˯&G,ZLd7$jnJ`5xHS$f2ZE ;Dc|2-upk#ۍm(nw{Bft.{3=7W N+H8F ֪ 52Id!Qgݻ/1A >w#L1|RPqgn?qNgMMv7[lUw{/`[_";GR(r$(fpV`V[@ŷp@ jh(9zFKFj7MPtkaE(OI=?IqӪ/v2Lf=Qګn&Ur=Pgu.{`0;wPP>ĔUI*BhsABSORelO\Ki{ŋ#\L~>KƠxm1Y҂4u%sbJbX[b+W 0zU՝)| J#9y"NҕyN;rr);c@4GsB3OZlZޡVAp3(y˸X; 黮jg8`1'iG`rh)`"Ck4T>qJ[RtXil:N˓iDCHԾ~U4SI)kH/##,)p!V)ڝd )i"E"4CHAh"i/ءs⦘YzF8=P jWxWR\G? -"%FeNH5G(ΜDJY\f?hk ~Gwk!rX.ܓ$<z#dr>Ds^WEˠ0yrEA*HI 6RB FvgT) cwazK5{z1|QCU}-&)9DBoo-V;RÔ\Y\I#[0rc%14p8ZXאwh!XdG* v{vEa[ݣ+=OGXw8);B! n 0uIVlIfպ8ˍR2 g|džgc00W@ot,~=/ & fo !8 U'mBv_HJ0@c ?clWbŜ7BG0iU)oq -pm)>Cs䏃~ư(W6~>@ldF`ĸHD/&Â|q Ùx3y'&7(D$./NnZLa&kYA&j/F8%<כNnSWk8# =u?+O$3R?|{t& hUrL{&+-9ڡǰOK粘|{%vw>uɒ/Ֆ@'L`>Eam!['~W4gO]'Vv $02I`l!6_ HV-$z{xtsYdR@E3Kln/nӼbɒM黟NǷϣkHqJ6x 8={ cBDPtEgoB}N.;qy~UyJ=Q-B{Gf C8i2&(N+/=C0gwj 6ѵhPl38G8&KRXL 6j֤.L4Rؽϗ׿(;?-I 8;>}1:"m}Nm{| `D$c|~7.R sUb/onvk2,+F DZ%"ѳ _|`}1fFA8^o8jnaW1^3ǟƆķcUAX"C}vUPĔ Wſ 5iGs$mB3 }ԬoաE8[r#㡟Cl$7V؟pIm tK"ͨb 1a ƑL.@d6:C<⽭ݑ6pI ep[1_KS3(T`pXuF .Xtve?"lfWh4asRAr[a'29D́Ϸ@c! W%VAr>׭MtəJx&Y^V \iOz CHj)ݢrxu}| c ~̖k0Da2rd %\ pY>ߚ"$h'wkuZ7 Sz " C noK9PC0R 'Q' af>@4dRrȄv5憌GIAs@U70rkD&[ PHtizBFG3 ŝgZD~j\b8CI\*;h czsUbl<V\#dKWV@gs՚/S Y:JH)U#`*l9 )%] ;`U҈\fJqe,ľ+ }LP?;bvqCO 4,T"y+@81Dy,`ݮ^9GH ϛRqh,W\l! g]Z$Is< 儲TʼnB2!tPm(>ְ*;54Ci6Ek7LӜ>d>\J%i`o e6. k3ٚ3)Kuw>sSѧTz^67~&ӫf{yjy:ۮTϴzo:%*l 7IZР:, tH~ $KJ2F\CZ fM=؊D]@R a ^2K2Rrzu{u=<ǣdzXeZ#Qٯf9=psf`3" ,vl x,8?^c0Dg %G<)dqiϙC蜾@c[Q6a{q33FpXrhv4amlLІM3;cGh8QVEf*^,b ECr_EY&T'>hdeIǧCad ͢y1uխ1WNA;[<U\?tZ$דR*a̟x"@ltțFkrBN Vzs7٩ZRdd!x WTdWFhy ?>; S)KA!wCn5{Zg[I#֠&L}C#+8" O9"eJd2G@ķdV;sG]giȼU&͚X^빅`.>ϟ}UZP3\ڶUόSSC$@T&w9% <6F[#|H(IyRyF?^(un՟1wl&>J%]%f5:0<7mi=5M +mp Y7d 3FήvjU+7&Fmu Hλ4֗VJe]"KA/X 0ba@kLT *RlMV"й HRltt9 n/?\}Iș0GLmr ϋL~=˫ANI-NShCBzId"9}&/0֛Б--}e7mg$>N_02p3(7ߢ| r%f͌ɩbe[Hv˰4-{*A}1lN4NaA)dHURbY̑F~5K0utಐ Ҟ\*ЫwN3 p i EH| 0%W 7DK)H9m5՜Zk2)SU;^|N;8 s)@)OTW>1+}=`|t{=]pFYƫT7CY}+/MW}.5(8۪I[#3%\҅ F%Hf[=/Ic8]DbmWCgPXY*+o,.A+^hE.1#QxjM{7#iǘɵw&DК'QˑXP̗>٠')֒G+VK#r\51]5ARrܝ !什‡+q2iɇ뭦]0ܱ*[\$W*c]1k" YKfw8I;J1hae8,9< ˋ6uSbϧ0'Rq.)Ĕ8Pߖ@ iTB\W 00nq3eZ/@'.[$/bu?3..,DxuG(ֳC ]j0mPq"klJ1B?=@ [Z䙊f&h j`v,Yi&6 f?aS;q(#Qj=?yF IuHi0vP4.N1v{USTL-D.=ʗwmIn`}N&<ǕiLn]zItuhc8NHي9ǯA2YM EPċ` X*ە݆7]g7 7Vn 7ջI@= 973`*huanpfNݮ/\dټ_3 Dtn0Hdώ+E@0Y8C*rfxw|RhW*ѕc1+-)aFIǩSЗ2SzuMs?!ŋ@(V{tz y tNR/"c-nj?~zBu\@o<_k?_׾֯^sx_okBr[CgjH^T?/׫{^% hkhZ_$_yVzB9 _-ܦT%KG *FϳxFZ^d|\rL* &(VB`1m?鼁= i@˱=@f>Ɇ;2m ^Nli[y0ٞЧ*~ug_Oĩ9mÈ Z.hS^b*PPp3K*O'NWF^J,4J/0 ˏPbstYH]NhM=GN#yHS):z!Fڭ|A3{_| 20o_^.n;eGǿYd1c_e鰩ȇ1`2"8I2FE&wpحuz̕Jh+/l&)4c_6@2En\BlM縚De'Nv)SXd0o .\"a='1riQ!0{Cɯf4 Li!vy5h=tnz* Ż+#v 3=qR'@#lAt@13Zӭ.|;mgm =a戤zXu҂4q9M%x?]N8Pi ,I)"!4ft}V z!B Q)pa =$bM#a6yp=dd 8%+ȭ#W!(X^oll_$UGX:}5 "ā6cKlw8W „:$e':SOdP^{ faK&YjXfy0zICf7Gx%HQKH,%(V˜S/ӥ;ofT>J[B)!ZMT> 0v`7b~nSU[y.PY3Th+&doME%EFkob莑V%-SC%P7b.oOVu,/EW\ͯx5z8ZTn _8p2t%0["6'E  9(3z [ٳ$?>k2&YB| QUSDW3 ̼NW, [瑣:.a(լD%m{6vƱ]0ɉB gƉQ}LvP5n֮&bCREI}T࠱d v]O!m3pVea( `esQMSWNB&]vѰ✄4>MT[BS%ZشiQK\vԘ5˅2dG^/u*r I136@h V2 cw>W96bNVAǃƳfZBJ=+Ca|gtaT[/va6;G޹Ӄ=/h(0ba&diXk0*yb$ OG'5㢦Gi&T:4ca@:Эj΂HO&a@6{,I; W>/[ ÊWm/\] ) @Xp{x+`kr))~idߵP',?(:ҕhiЙqjLB1|olM>{ks% f?>0>kj#n]N|Iqd:/ S@|̻Ӎdj;)gR7 CPBMErUg}g fpbH]d" (Ex4b_?^cH)OzY:!uwVi>!} 5R,FI|04tNUlрE^{i=RJ9E,R(dtf!8AȔ[T#i"K^Aþ4k Q[uy9W:nRQ5Hh_;p裼ܥE|!V7`  Jba ҧGxNFo:jsIRbtxa9odȏ&0b^It9b~{4J$Z%6Hz/'Z-I ( f%;q"\|Ћ^7Zր-b)Ku$~nRi Ў rJ|ǢqQ'v`Zބ%g_ Qv)|AJ\5I(lĩrÍnq2b|stv,2ՂQtN~|!eQUykt3 !< Hmc8.~gH݋Ntqy#,)Hdԧ.,&2O9H߱ҳgZ[KL"^ݦq&?'zr)9T6)T!gWq敠DtNu w *~w812 QC4w49w`/[\NBl-uJbG!qޢ"OK/<>pߞT)|NևP߼}C$$5&]&>|9rŞCJOq @6l&zp+1T'I%;bj䆨6ӉTl  *=)jCΒօ7bBS}SXy|h 8X״ sY c IC%Y_N ;Zѷ=fayqk>y`'@Wᐝ[IA'g%g^ܧ_/#7BHFT&d*v_XGSDhWzzttc|srneҸ0&/Fġ֫dD=ʇ8b~BF|q.ϭK_@֥*ۖ٦tcu65,-J>G O|.6~WԐξ߱]@KӢ} %+5,ǿEBYZV|yVNjdb M^aI:RQKfx]I!(9`e~3{pX3^rSxwBB2e25RHI ^W edUҹ` F(6i\Kʹ S߱cscZ &X8>r .l1=uQSI)H4A!i\;Q.FSo7'O|<9F5xl$Dڤ+m0+bHT 1zv}JlK.}N%S1΍ ER*~:] .O6jޖ U+UeNYև㌷v<:A42Ň4R27jb>}L4t8{? q%Oys /ڠ&w88w_SlUhb4 ?q5Ɛ &O;WcF~U)_@&A/} jcJ ഃ?vAsI++B}KtK/Mc~B}p[HIU!Aŝ%" H >suP[8}ɲM1W2qAtH,ї?CW@;~+WҮZrcwEBhege «ҢPk lN|1|}ǦW}nUs~nN/~[{/"c(vAq&0z6-²d@8Q]f*`;4J Px˺܊ݢN;;GB_s!Ge"R|I34Th+p8q~KG#T1d<ڰz6z)vZ^>S - 7V8,C y:_}͆;Xav"3pN+앂샫`Wz0큫6Y[7 7ikW" MԨlYVn6$,9Az"HQ*)vP]ǝ~Y d#.o w;L, Z}V-A4Fux4FQm&G&=4C4 㫐jZ,faUD3& 6Eڎ'*/ٯh6Lny 9>Wb/{v]$oU:O<:hwGǻg[c%f(1#]lZ6k97Y5|b#r,I+ qT`(7j <^?xmI-d#2#eWNyJyn/GcFK:BV?rgb=,99 ߗtZ~!DwbA[s i<~~EjJJϥf01ku(ar8di`i*\[[X Tp4͏)jY UW^}_?_n z2 @=ay ?E!+*|yjvdGQ!fb )jMS:fCج נŶ+]tQ$C za]rOU"% toyy+BD̓Q,+v?R%Y1IDj>NcDn八pݟNXJ#`!e͌o/_K@W܌tRy"82!"Aİ/`G|,Xpg 0>gol]+0EBLR$ { 6Yfv(c "O0"JdZ Њca*KC-ҵcC9If/vŜHZ^F,A5edIl[c]N{1n 2~,'bg?a8=kTgt)u4B"UjPSD+>KsKHfwlhQ8nu*Iy曈"#(M6ӱi&5&18;W<&,133XbeH DtJDgD,&M&DI"xH}T!eV Z42D 0aA !ϵΒ{ڞ7oJ9 \(&!}/-݆Q)}pLi6 Hm1Ɋ3ļόi~!IU N' <-W\ Uš>9H[)--XCe3z7'jVQYHdpf-2bՈxհXK#gonoߏntJ)3.fqv 1i;A'mq<%BfU8c9ZI8΂TTu 2DK۩(rOB =mbN6 ]"$Oy:IGc`Pf T H9{?ۻy5<:N$wMx y1JƄO*We8ZT > AbsVx_FVRPCw3Y+NOF4PʜKXn)gʒ aT)U@ C53؆;6&|\dߖ 5ʗI-!y~0VOUP=9̨U7Ihg^^138w4aHZ鷥ȋ=d]8;kKQ;&+G>2ur8AMx =V/.o@6A)䡨$0`ˋNm^maI 56``*7ɓ~3apQ*#-.yH%Pu8Б%%`›yZx6^ϡ/4o+bM*2d*3r+S9$Z_`Й>fJ+P A J;g-DN/ȣAqILkl" N`~Di'BC(`)Vh1 6AVJ&N06G\/5 9:̜!oi.>PrP@ԬVZР }h<`oJ -qCfF!փu]:D\+qa3ݰH@b=+ D{L0R9ԹJmp|2F<.EK[z,m9XP6ĥQEףOq^ޜ^^~Z ⿹p`+{E[r}I蝹u*ZMZSaW.UrQ g3-ICѥrvDž;V{I&VIfpc Յe5דݡDi(Qu(i^So+ېZ+YZ9.=qJ4qo|7q1ȃ%E8JBQ"f.K+'W{۾??7e=ͪ߾bkD5i ;!NVA+z ?A7OoeHwbVHT@ke~ ( (z" /]&ݡ`y׻/p.~ޮcTa7 V,k B,ua76ǜc `f֘Yym^,Pd)%m8͊ut"tL1uQ 5G)&-0ܴu6fE;?m#m[ώdE/ri܈4W$IIm; 4/őDUP=_xlJęN 4J*-c'cR{@ˌ5h8Z,҃-$>A@F$S)t\A1e5#F(TKĭ4~яZw-aVK7Z6S-6؀>=>x"縱Q'k 0m6\}Q]pe5]q5w[F ^eQ,]nfL(u m} 0[[@U]5DU~'F^4$zQW~2lʳ_5>ͬF%bQAOa~6LNb2nCy"_ E~i6Y0xB!_׬Bt:#ߺ5B鬝ͬXv|:ì9@VH"La3J9f+ݍ9.FU4qf i2k4 ;8>x2R|OGcWVpZ#Ȩe`BXynX0YcTrA/;^,Fml5ۮ{ Zأb-w{Y c|2I#{?|pLUFCBD2tsy}:ϸU8-iY֨%:M!s?I(Y,CU; F VzulY?*4[g^?̒$m0u?/ge P{ۧ!/+3R\E9h 3;2[Y ڶ^K޶^^@*tخVu uwزBYx%/\Fu ~Ͱ:σe^r "*1z"Dѣ+i:yXNY5KҷG 8G!vM\*^x403MDԅa+A$Yv2cR3tXrXrru۸ݗ}V ",㺩1üܨS O"oB&N|AIͤB]jtqb64l*"y@$^[   k]qau:v*O"Y`cšOkiaN6SeZh3Ys8.-ל-noj{ U~f6CoW+n8iaZƙ$fRXit W)ֶfF>Ƈjpj`xAf)eVr;$.@"~(z!LdDn_vhjM=K|1DVPuɿ&QD'; ( |Q:Dn/fȼѦr(ZZU ASFҙCZ$a ɁZ#"=pb:0\L%5D*aoPWu{l+lG,SMգn.q\j;hso3Yw{i_{̇>}G3PtxɂڕvscKPQR@DꄢÙzN-UI=m B] [kEuwz8#Ba|LP/کrM:\ԠU6CWkAŐ*-Ne!+Ҟ c=6 1Sn `[\SC Qm6i{IAzaSF'`Uj0'>ڛ_S =Dg~6Ad5<;DKH2#ږŠh*'v6ֻZ1ud3@Ic+?|.%!\-.BoP|֖d Y# ]j YBP/MIFlD;DKB#ۈaC3l<]]$yۅΣ6xHL1^=<t !iI8E̯  u>s|%ZFVw3]3Ȏ#bo?3U _c􎯎}&Sr\gIN-g[}j躣ڱl`mBزxcOHZ kzJ) \#^$54Qz#WYtl51mJ:ӕP==IM$ Y1r9b㾯`s2sM!dȚkN3 ) [KGZiu*fzAV 욘9$tFi(ng3A\`|WQkOJ;T H߭Eo}-Dwч m[9 hQCf[u)>T$5QɆ-  w C!aG8=o5#aŻ0*TA)N/7GggzrUv=%ŮɜǶN8"CBo<۶c3iI;/x;;z?5VF}4[-l(ND"'*'n/fxinM  i14r$oCXfF,HCE6> (8^sv$f>h;X4OW H (-*|?,5F;j*^N]:Տ_#]Mȱ#U?Ô*9YfN{qHuR9aK, "2! n=eCY'r2/+v{c4֧$$hY ~ߒ8۟v+ #/A.@~?4N#!豳(ۄB);?g?-f, {FӞp1 8`!Mx יamK5XL[mek{aY(K\'7!a|"4z['E(L> Hc>ӳ-w7>ڷlz0܎\[*g0˳ɤHHrbzZVhbCRHhxƾq3 H{>en=\潛gqƘSl<`fuly5,\"cY`[ R5@.HCR병٦aeL02uONV>D9:OVD\ϫU[@KkziahAB+13Wo}HC> OxN mT2g&\ ?is#!%X mSSwHD6Zc4>>{k^g/&G(4h*`O~d!fؽމv?0v%"oO1*oMzKSVí:/gWDzXU m3m4H zs~K5q&7,JCW"u"OII2.;u0+/ }-X&Knh>=빛VVl}Cwm e</nվc#]6>67h睉z6ӥzBflrG/; Å:#!3Ul`ql\tU`~]#;"~~}8@AL0bT0!42.`ݞ t4g_9/\h>hFq4]/2񦕛Qxjx+۩F'%?Gt}ia{8/_x?S&Pq[yD?KNKeȧb=KO$0uu9C \Mhd~9ELqG֕ī+4-D|Әd3f ; ~:?y) kY'R.`KJLx2G+Gj)8+j5H6u1NCi(><BҒ.,y@#g%'Ý_8/ĭgv`RloA?vINg7|C5ͻCtxE;wIxIF"GpM:cGL(wH2IT&&GsVɁHb ;BzZcd!c)FNOGu^^r]ɔ,C-M+{^+wV%\b{∹8W  *,{^Q}e['ܨXчsScwc)C굼yN3qI\ G)tn7pH`[F?ql1:Z"=as/ΡMޫŹ.AOp鰄$$%Nt&Ix:C01Fma N5Wk).|)3+CRr rp ?y|j{I7@*(|iVwf7胞e|KE1b5I^XiXDLѝ&3s{N4G-Á3&V@fƝ Ţ6&vQuibLwKJ}ٵc+4h/)4m,h,֣Cړ"};zwy7 {f|nNkKs:t +i/J7AӘۏ`S% G20$vE+2g|xdajr TL J. tܫ3& XL*iQ\ĹƷ:F|@\l'E,-%7h=#[ji4^."eCQٿ`QJ<>5M~ x$K]^,.@m(8XaY[=/b vlD;j]CR+fl%m1BVs9d5+j j_,0Horc ͪ{ mw# ^#آ #+05"Ibr(v;4{( |ًP t.#׫ké҂p&sʦ9VFи!0y`O MիϨCѐ7EET>wto"~P\:ovY)Iug  ѮpKr,O= 5``%_Iv|4%6#9 @ʓABϋ+L$_S&[߆D*A`e?wM1uE?P ?H2i0! =(}hO`= iAJyng4ZUv gf*af 4;8XQR Z(Jt2!v_L8]6PpCa/7v[=ds+QjQ+^W8p~UIy+#u#ADuZsNFӤ=#|S;9;`iP}y 2b e?6wҞO(O[4Ρj=7:{@%Өf8ɿg5/龗dCQʶKt%y)t r18Pi%ctf $з"NQ(q9cL6eGrlIQF5)~uY_tZS9ּV|^.JtK0g4w!hsvӹi^vhA\o?ʺ~ixsFJ!6px"S9(LlҎ@ a:rnN3ia9gp:vefobS:AP@ء`M[bA䪺& |'_)[BaZ?{ g%A\AeG;9gzi>76xФpX>Woe2gaZ_m"S:a;C.{@|}d qTH]7+9mGdx/EwKG #h7:kJ 1YG;+_yZ >"hFBB%cal$5]iSaT͢~#J+qd_O5 JG܄BS!^4?Eznר}V7-?*tL̺sMqM-Z8H%5JC67kGD{Ў "4;:5ygŝ'{8Nw+mxGGG'#-u#2x>H5ٰ! ڇLkT^PeڥFaB7ג (%'ȰhWsL-wHuNWKO?G6;|9wd5qZzyAj+B]sFPyK8@)BXo8cv<ॽxYs@.?_?n/?\}8:Ɏ,*m L.؞ I~!AV\OwD2k(d\ <%1VhAyymC#j`%bK:T~@srI^T5J/T!58Rb0>>Jz,i:@dò4YI/u0sK:Wg֋3A–G3Cy'"W{ړ IsKf\?o*Y}o{{ m)~ ](H豈4գp<nM]ߧUj !^JI)tJQ\Eg|kCAf*1ELx<|1ٓ5ri4FDt* 9eC;ǤJ$P ^|4dJo?ShOcm ׸9ݵC vbw'=zR@ TEvT̛k!.9IfqtUUƭIyۋ".|yЛ&3!v %k%s1k9 p xK[`:#\ 祌+麊݈ !cĴ6W ް" Fz P9VlWCsR> G0cp{AxMȆtTa L.ߘ?zPMʓC-4k_I,%۾0C 0[cۆ1O1=cO,\VЎV09 6blJ“|YsE%1׫ttK$NTu7^ƻ ^ $'8DC!D%YĽ’WK\j(| 8VbJ~}S[ '(e]^{㒌>ĮE/(vo- Ȏz}Y\X0CEXa v9m(@u{svr *\/ 2B֘$ nWF= X__qܤvLd3(eah6c6+Sc ٬St=a&=y1S-@qrULjU*3,+o4}0%#V$ꘋgeĮf,'fpjjA`s:TdFAv*GIEN/U *bt)A Q/uh(%9Y)8#Lm{#bQKNXݠmuzlMѐ hbsG!#I$⫱pJhok+e t^Ly{$@Ȇ9(S-]ઔ4#kIT>juyMRP!B\IeB20 8'34{Z+Ew.⬾c:L䂥ҖŚB|e|pkx1kD %xqrt}r{vHHAz.kt~tU}RBR'Î`u4eAX HEIdY%63Ǹ_g͇~{N'Cwɏqy\ %ǷLbt5T_aJLIL,h<# <=YN遼" b~09]} *܎/𜶠\/o- ':'9:K{M`Y+ 2>%I͒Du%_]A'~Wmnф tԮ^|eqJ8ƿoFHow`&Bf:#4w ,|(hDd"!f! ֹ(v/..)ޞQA/&Dc1N[C#W*~.0D=>'d4 5FРtIߝWbާE >zwz1z餏40tƘ&o)"(*vx] U^4|M<K{D̟eU4x(Z0XN&[zܰj~d:p4`i$Fd(6DpLX|U){ '+J;K˙GI zV܃P ݐ%B#j%x]m?|ܫ =uϋi~BR-OQe x2 bOf]6LI)զ^g/eV)0hej_IOF-ePGjF̱&&X(u {c!7c40Uԋvdq((=>=Hk$rKp^a\=sO'* )aNω H 5CPl˕ɛ}XX)*KeC%xd)'+sbPV{1)(tLL!a*~, aD@YeNe~4 \[ Yjep$TC~NQר4Z!ˉo|+,my[Xn]'a9OE "FfBT)o 9%r?5m\pRnnޑe"1xH|vz )#ƘD1}Mȅʹe*vEpzAm5g&S Da"PQaLL.*Wdylzaoj,aA+15,/6 'n * .ΘAw@ɋb"~IZ18dQOmU(5?[#'Q Ob9Fi7,C],8YLķyNti\ mRd+W$ ٝpXF3Eu>CR̯l/+!Ր 27r>AݻtjQ1o?O{h-o'YH'g9fҍ}1< Dˋ^嚴_sVer3F{$^#We~i1/W۸(Ry Mļč'RK؜ j N9WKbVrlYB͌JC># |rF[s<ܺ['n|;3*28)G?^ | -4<02UtaVS^KV; N8:d@aBEIt$,)_5>-CH%tV wU>+4h߃M"1JO-yz)l\|^*͝_)~3;u5{`O<$čruB,x58˂u_ec1ղט52TGcñ:'cJQЮYOċ>{hCbTY힗R}1Rh$":)~رO[#H?v&hbE(chyPH7m[m߲ۖ -{kvf?)nΉ4y~x-']lo&6$n]=:wB-g6dyߋko$j]u v_.u a6 *h,P_m; ;6ekmezئVdڔj?ga,iUdW+^ _2 #aQ y=/dYƒDqs-,`4-cF/{(̺IBȊeZB!j53qK2 /n38ze}Gg piu!MzZ2~a"YPr1.j7}d)|kbKǘP@.#]P0& bd~{t- ӳӛ_"5%h9!9U,JRxlǹf`sϝj] kL 3#D,ܕ}8] V]9R~E_A<,nlqd=Q!q0iOޓN:M"`lڷ f#"L əbe3r2J HJOAk CB_4ڰ6~.i~Bpg|ՠrNj37SeGGWWոI+3K,=^3$ Z.vW"F=j#]DjXv +ES9fI ij!nK4L۔(ANh̫|zWl3+نX>#NtL2;98t?9j&djFO^)|xTmN/TEM*xvS}71>Dž %VvQlr|mKJS fTưnf4ʷ'AL*GHM-&]BtkîI`\Ԗ-bMmN4^^@`g a*WxY_XV >T "9w Iiqo:!jggƥЊ䃫xACywzqr'%K/G!jS/p`@fP(6Ffٽ6(KU]|:8]`TNꖆSohѭ 1ay8G Zف:NFĵ\DsnlzJL+1?a] jN9**)#]9XCh8ffBEUYYۢ=kB[a3E4!M4|ql#]/ 6م{AL+ L) g. )0I DCV,>V7%Ir @'V4'NGGDegƷһW۽qvM|wP3|? zyWF iz Yk0͎=B]?=2X ҍRv! EUW U֨hA +wV.KIݠ]6H|孌.h$oFԢ٢J i^*ʔ@B4Qk,/`>Xؗ/ނ"[!L T*"C⼅S$nƷ2,Lpqvyt>:ZBEuc +s+EMNH1{U΁|{S sc7Yr9;UDŽ3IEE~x(-%ua'9$wN 4uU$@!~fYlcs*/B Q`Y wH*=A_Jo$G'G|3g˖3S/z_^>1r%axw+*~>ixU/tu&RA/N!T˄^Dgh=tpC.[r ; ,U9Ng.$a('#B (,^#S>g!jX{ 8^<Ķ>.% 2n8 F )|*):qYa-yaA$8x} :X[ɻ,IjlPT_1SqZo)s1B0my 4Ļ'Jq@gρggT|Ov? E=BTxǙָ$ÆL Q_{ 8)rN(i%qẼxIj!?iۜC8RVc J%d-e.[=].NFǧO?K2dhdpނ!~^@ao`C:ܽYTz8cf%{$ KڜE4?/3|=B5lt Ѕ,{I-l꣯$WT 8:TmL8u 'A{(:{ߒH)ȉ$GjӔ/Hi|˜ N&H״Ҵջ |/rb^~ViL k;0pUt;b,+'K~Ԕ72fTTr0gdnRW'/qtcDGw/߮wh~D$,M IIhf)RAN*պѦg s$Yր|۠U;bszmk*s/ Qĕ;]`0J P'J> -)jqBKd\}y>;:se#(l3eO05cAf7^JU OI ghu2N05,N)ʫ:c }&]w35D1P1W8f.׫v*E3۹0Qj_j A#\lۯ{!MF m?^KSe/w4ռU1iSvT|8ܞ_|<$w_+1Jel7:xfQJ*1 x$j&t3OpM>^,._HpEx34NRUT IYX) nz tt(* ttt:j/*)\\:9h\'Пl~ 9 ejq%}DbH#ͣU4 A[XwJ)&|ǫ h5zF)M~=@4k\d \ɫNHmEh͔ qkUQ#3[;fԓJ"D&|:Q\EV*`a H7;@eRvtBZ^ҿR!ߤ- Xc84V(f;1IN7Kszl9/eLsI64̡ Ul_ /rDoCb@+F/ < vV' ϙ@ȃv'{ậS}Xq@ǐƲ="{a 1uó_~!:SigД,+HHT B~=JDg2k,[k8؆=$)DgCRXA_i&#TuPju0:*Y69òuJl? #*eD061baz՘X&8fs8sqľh/f LJ-KX4@KJa8+]_uDۭ{l;tGZ2?#2 *M#z̀!9rH7)A OICثO@ *q^ }[1o{‰NI4=O~#52k+\{;䓇BD.?H/4 G0P g^Y ̥H:kuf;:+1N(A_uBOS6O{iWa>?E销\L]J4"}!#ZUo qdx^qryp8CP-%>Y R{R.oYZv +T(ۺ]ޗYu̪߳WJ:=O4(7[[l-X,bXD%7|fGWꅊO 癦*H,y2n]_[ "" :X{V[Յve ª3SNSzTcGG(9gڢRo(NQ6uP(s0wHU*3* {@7gQ~/x@z^\ iH6s%{)y&ne,x{fB (z{teNk4zc\=b%$IKC5~COppg<ӆaDK)*na/RޠMp(xIlKn+ `̈́Lˍ~bab G6z8_(ÐP$ 䣪"q>g%Y0*MN(HH'/Fnj!>IKMC1@ǵ#D#S_S"# fwyiu"9',PExmY} @RlF33DaVxH//,ƈNsyȼ`)5)CBaXiGN3VY:7L 08ƇC9d\}<;~H^ܻ$!.0ďMd.&y1?u'Po_-8kB{HHXߘԉ@ s^fmuep~}O$Ypf 16<ө%"~G(H:gA/ƺǴVUtH&tzo Ov^τopeg DT4X1}窈SHg@/I2y{oܐx\$" ]'F V348lJX-r }W,ņu6}N: }LEA9؆޹]P}a'ea}šǞ5ɋޔ23C֗6&8/doLq{n*c]-੢j$-v O%2.fcQĩ`$zc^yVp^湬)⯠"vL6Lk3}Ok7X%0䓁fA@t7ĩc1O8lzĜ3^gr2F3s6;$렭l1 fb[ Z Z[။ v*efՂ?o HPf~UƏ3 P~fՀ6iEЙt8UvC. Hi0p Z* 5{[x]`|FHdV'`X{8:7W+ 5ҧE6^6 &v=B|] dn ?%y>SCԻnlb{_jcz[E-_/fQ[h](PmPt|*_(EY؅/Ƨ"~ݢ湧ïQq~ؖ܎cP<~*kN*L:y{M:|C-D oj\Qz1ȢK#VdU` g }d,~QJgpd ndޕC_pWm)-3kDZ%F eG晌w \hRXX`,V_ADtL<][Կ783HƾZS`f1߳Z|) gv/Ɂ!OXn*Wᯚ,lʵ "::Elo-ͧodF0J8e{Poi^0"\)4D1P2d<9ct! JtNf,yJE z4y~xL3$&N\Tx9iGpW1$KH"~v:惘ZZ npyӃǙL6;6\-^Ht'u[cpvzܚ9T1٧a0 2JglW7;^GTMW.- F|P84RH? # M dh jUW[ kHfXVkahrdB$)*!:*Z MC6~H](GEqȌ/r~Gj RV X ?hmn~q0257b4&tp]ݰ^q\x XUGfӻHG=Rl:D 719}STs 1 =-ɕIM?;HT|dB bF8:1"Ebe([8 D0b9BH@)C;txF:#z#D=IR>gIC `yN3Y.F?Ӊ끈t1/]XL 籚RhA(}gϛG=A|j*-}oB"Y-EŒ56&HHD 00$ؼ,j["_;sWVz 9|OIEPbZ-i&& 7۾A nϜZM@"ykԴޗBO\Nw}$oim& b4:K< <_Q/`6E>Ypi4Z,M@ @~R/D>HB y7>F( ^pq'XvFU! FOc@*t8lgn:p^lx4ZZY2=)#aDz4Y7 R`3_F2?5?8+B˘"(inH=E=&DXC !12M搔).?S~}l܆Sh9AQ>8I-[c^o&׹0,Yb()jZƫ/=SAvԕ>!e!$ozyيgyE+e]A鼸wlnm e=_1/A}MB\-|IOD`_L;X, 'hLhfGII1Q G,k)NK -xi^vMc*@SJj|vk4KL4UV9"̴WA4|axf#} h#ߍ6Ipj tZm~~o?c'˲h&w3)`,1BOj]tT]}7CFc<$~g!$8hL[Zt2`W/t @}mP-VYiY E ' գ.rt6$qARDy<ēhOh.̯R_kt 2dJ r>='arN[F*ɟ)hC H @$A,iJz5`p-H9 yܤ3dIu8& H p\PbVg@6m4F k:]/ًe?2+Hb0,VOdA3.M7-L`Dx~"V]׽N7w:_y` .}vzBTk ٵMVqoCrmNIR~F r!:3qF2>(ӏ}qtᜈU\`V(#vBd;jSd6`OiHie~zzt`j@BK509.H*˳mzշSu3%\W#' $؏}ʔX0*#z|V,i(EگF`~ ċp+"YvXG'V4ci8Q8VI̩ J̎*63{짨P baxGTf[͡ep6.֛26"*0 dH(@/Lٷ:}ٸN1WeۇwM{B$NW܆<\%B~ct.\ї9,;?J3(x˳ddC^OBi1:Z u~8MO8kX~K֤OG'4b5Ttfq$YA8GñQd0̞r ^3~s3-`>uaD}Z0ZC}re~r5>ǣˋ1*K0]owM4 oT4o*h}e)󖁳(o*j96V'8tV@C؍Jxh_rI/]]_>:%F8D˜8hL%=WC'N("n b%o`Y!Gڕ^['Gޚ=Iw֗W[?;vԘuPF̂9Lb$5Jqr(;"^.XB(CZz.Hg MU_%P*1JU>d1B⍣%1q`BPUɰ%AK lQ<$ ѓOΫ{W2M'}&NGgT1fr@N}jz,/ gSc)65oDc75'G_`@zЦ2vT\Me*1&fzEviة۠u/%&-U䕇(VgdX"!]RUTK'EHwpME>q) w@,T8Sߏ//NGr|s ક<+̋@xbc cwOx:A4zHd? t[r Yj^Mx2 sɗ$cN?`p$Lۦ 'B,Q<9h *U7WonFDlv0c{?9C3p1\uGŴB[A#攔,EfpUY_W3~ Mo5n2mtH󰔊E(Ky|n/"5@1VztPY8E\e* g؈]WKOkd5 rIL˟ 1I0Kv$%A ?ğT=xzg1x/␞;:;jHjeccr< SvC- ;޶u6N ^k.E\V-G Lpf2(c$d+]QZ%6:Ǥ#ҒŊ8@vA #OYĵ <<P`(J^0^_$@rlFuL'Z O>5L?णX+EDB6!3@)F$gGk~7`M1j55UM7roJ 0>t~fρSa;VCA#vb}|R~,+EhFP 4C ;@ X;mo ]Xv@W 8L4Wb,*@#  0? ]ƤB_"TFjEڵ@)Cb4etϓew,ohA5 S[l_kkF.UplK Ɔ4`J^_oGkzD ]/jC!x@3vBKG PڍlA_Ϸ[j5\jj8ttGBOjΤ]rʽvn/ cK( jcFHFA}s|a I+texB."3$6L=LIZZf-|4odu+9^$UsKq|!Ża"R%6sШ/,!|PDiJ fUoa=]? YH?G]+!}>KT@"i%Q2ZBbK؈IR f/Ftu%KI߬k-B(ylg YGee0Pdt w0%Qz+ѱǬJj&m-Zsft6Uѽ|n7 |bnL,+YUu,4Y9)!k]L<ˬq~NlؙVJ3N( 堳V #J XaiO__9izgU%HfE̬KAU h"lݐlRnm"iQkDjMM{RJ8ץ6O ׮C[vL.Dy,0;3@ƋW ]`)_TiG~ 4iF]!넉%NI!4b+ٰ!0l{Kv@"buX^\Z1+'5^ʧ,j6pĄcq_`:u}?h}37AiǬ3yENQ4;U.$iT!n`J0X.+2³1) PЍ[ kWK阒#d{;Xb ZZCQ?'̡dyo/C`s&Bī1xhn:Pg H Y:R eRU\5%2]7K bZei*ɈhQ L[2"D'w'>BVk4>_9]tFLp$f1*1Ǜ8/,O/'h1d%M:C菭HZhCT?@E]]@: 叁%F;(w(F*rϮU"=b&FīVX5:ޞK_%t&K:EqKs M=L>59 :3,<.þ0ޣ轭xa|hCM(C|rcY~$&RgIPN6Cʉ>ʠf}8 R}.B7]l͘**Ch`sN#%nVMK$Z/xI{߹fHC]m=R#,z.Q&@b#8t* VD|g}KǫŽ-BV@` *NPZ&}п 58i8za( X' 4BIdha:vkR;o0浼&B+Βdk@Q R0%i>ĝr5 *nXDlIL&ZSrzvR e>`mʄ09ß{?Ui: /;ffxG)~]Dxmds `K6SNJ}dbP9Bj mXLovhe? ]g, V 1Բ3duPdJWmJyJ CD{RRIZ71IR_q@"AO^ڽwqU*;J ~v  &ۥLeZ MV0dSMe8 '!!Hrbqc^17F¨rO~v4], =纤B'$i)_>XSe#W[%UY|杴:'2ytuO;om@KZ\2HÙb&p8kQw‘[p9l3ɇyLl4{њ-Q~[Vp_Go.Q87`_ &/J8ME:1q(б{gg!IA~!u,Lzõex `#&RzKb%_fZC8}Çv3\]gn"UJiW2aΥY$cjyH+g6u)xNeؔPQX˥85}kHq<:<>s=vh1b!!fٴ1\Ғ<4 <=Υz\+k't!h ,D :ʎӑϴPY mQX$VD eϱcDE@㑝%aOrx? %w;.kGM>M.D?bTDVH5f(m?/EXP3R|2<] oǿ<044KfIJ"@U*964SD$Ұ~]B< mPn=g(&ArqHjԮƗ ٳbAz-g -URmTF VS`(Q.VoԁAfWv{ xN 6M>M&mgTّAyZ2Ĕ';F QG mC[_R0̧(Lw+R#z ֜M:D[b <ԯmz+_ݵU8Lwo*gaHhɡ=]'!@Ͳż^]CY`LKd\7F= tN]%J+ atJ2ry!nhݠ#+J֓}_̥=شVqϽf&h[/\[uXcUdLuۏ[sQ^Dp+%Nmc+3V'o&xU]|Mr`M}koIO'rx!jn{N.N|]`"B͎LSl,bR+c11>Yܽ?.]U.lﳙHjkÍ $ŭr^Ƌ~cF@ːw:BH06`dU7z> ,Şq:8\A+`Q"aC*c|'WaZ.P:`ڡݜt3>Lϛ74>_9%z~F6lJhhś:r,JvV0nyrp3֎/GÓ[4XnT<1*@~.v6E 2˥EEݯ2d4tgJtF9xYy͊z!_+BNaR/xUrxʔJX.V_ 6pq[)z4hv]M SlF'Xm)} {##߼ߠhEBmԤE{5Tox+JIc(ݾIu2# 61 eg6{YE7,ͼIuQQ{򥝈/q}loP*){Iwـ|Yd>ڭx&ޅ3QԾw؟>m?aܝ'$av1N31si ;oǪMSB ]؂OZ+I64Ğr~XK=0 }_Zo7k $QK:aR'33iFX9v_qB?n2 MɩFh||=B/],a6\esGy,"6e^ gZT2{>"DQ8c: JlgB?kON ~1Wou/ f@9o,:Ҽb^ )I` S/u,y:vT3b%x.hb@諛/ o~)P@N(¢(ك~nϼVl3v2Vc]uYE"iäU~QWbFWRvp+J$r Q V (2ͭպXiPؘ3EM%n3:yNEKbmt&[RF+Nb"'OV~o̫>0  Yؙe<{>6ݬ$Brix5bsA}ZnF|#Qy!O`cd h>75 c>]_'7JNfV|œC>hީO)%UYoi2,&~,~KBټYChI(@a޺ g:$&VHL"b+ me\`06Rprikih[u氅._q A0QH>.E{/drHll`J^o+ -ֶ7}RrDeM_W(nn;(HFsfO46^Fg"Th"N4O1jKIt!E_9DA&U%gJ>+nb9@d#jwfÈF ( ׮W߮I'ʡwq?ŋ oKŋ:?d2JUGe2JMnl׿'[h_e;~ox=&îHnGY(TxߟR:a4ʯ W8Wsc I0&yCQZ^(9wWC;y6s?)[mTHAtw L-;Irq*_4蓧M%;"5v[( w+G<eX 8 *flvw{Cٛ"![=B?\4~yTtyڙ䠘ACEo PO:YU~?~PJBv/.Z\FvQs @]pjmJ;ʢpGѐ˖ Q֥ě!:>[Yn"@PڜEҏ8پXl%U37 GT( (o 'Ho|G{c~Zŏ6Rwjߙhv -u#dJjn6u82c[tn-8 swFrz|fGIwr+Ϭ|?&\K~c^xwWt5YSKӤGj8 Y`4p_Q?׭eIJ|U($#'7#6L6I$pU<5a&sb#u &@b^)(v 1I{"%93*3!KM+="$b]PTU-MM'y|sOW[ɪ#VyeDS;y4.%uڐn1}i*LJ Dq\Jrn_11Ma߅8ʣx~O.8dI-~h) 4ن>:Ă%C;%=1[꾮%nǮїODo[f8/l#c|n4HnW%prrG+pW}DaI,rxHeA$pK54s%G%@h*aIM%"Fz"iccD1;4ݦDtIl6tY7B6`/y6P)Y%@UO}¼bJuchIZ%{M@|GZb,CgMA|/ =G]hf`vR@mJѯu/qJ+\q=)iC#y UX /?%bMD^)WJXLdFOg7xg._:^iHȬd2g7+.ZM3œeo#XyYEb-4>(VbğBK2-BEkLISTeK܅bqi~a^1fFkrF&Cl"7}|yO}N{bJKC (KVd?P}Lr4/Aǿsj`(ͳd Y`NG1J`@LI2">sB o]Ю渇ϗuv dqל$`;[)`5-l`}(l;Iҁ0S }G%3vBm}FnRĮ5..P}dIw⟟9z#ŕ=5?;f}dv޶P2z?l ;k ߗ@ňBZ( }@RR'&8Fxen7Xapƃ,2}z;<rd=HvDX\bFGJHncd }/lhPjp|idvR1x Lfto#[yCjC/@QV2,/KZقe`;))VB&yp2J੣ilFK Pz8tڹʷ9ElϨ2!@^ƫ(>Hgh <,apFTM2v@cD)Hj!w?pf[鯄s0ۦ$<T:Q[rֈ(߀Uҭ(7%[.< 烶۵x`r ihM}blQR_Пb#C<0-_OyM}IъTv0HkoXm%Mi$>UT=R@i_O 8V[ri`pxXsu`*ŠmŽg } v4JzceU7{Y׻6!=/xKe}CI`&sAwQ5~}?fpop\̾'n fG>Z)`I Eab|B?77~IP 0n_o`sckSj|L[/|v;7)1. 1ŚDjb^f5LLDy! f; tdtwhYЕЊ:L O /"4BtYvK ھ!7h+ѼLm@EtQs 'w=m!io OM;G(5]ED9_p+&` -n6eZ'}bJq.*n30)Fb akɃP.xqk 1dK3wg&U}aX^*=1ƌO 7~E~[X z7xu'vm =2ߪP%@_t%- AxvF蓂Q-jIR$op8&k=<ƾk 2tsF|Uk$\ >R20\=UPo%\P"@8]g<0FSa!u< $A V/闫?Hv쳘|-/.x%YfazBlh0J_rDdl<VP߲!F4QZ*39Gl,`H,C̃Li,5-`qJZ9cwV?Z+1:pp{ ‹acHoaځT0/vwu:4|2tsӥTeN(Y)e ^ЯA/TU%|uú^@m2-?mV: U*9A3fEK#S*O<;mx5`myZwMT7o@5!? fv^H #Uo4ljb os!A0H*c0'G'-~6u6\f| &0J:Kv:YNLk@!TXF'ۺ>/!WQ!`2\3ZT/6vd7u+";ơB Y%YKNI_L""W%Pm5{Mֈ5׵%?pg+DMFv[6/;|⽥h_^n[eWz6n:D/!ߝ46[gTaH[;|O* Oxr,gKa{W 9_|+!~S,\A֖[[E=Fفr (Ss+|iZALek%pe Ek.ћ2bȔITFv<@g^qݦ1H)tݶ\H)VuU^%2o% C_THI)2A 1Hi)(CH3NRLUc.R%Q4SHO"iA ]1qjvMho*QdSm yR8 2m+`@ c@us IlD> )óif47 w1H%~R[z#Nh_SGncL '6DA_Xޏ0X2c&65Nx8_u!ORP[N+qo_;+-Ek6͔ZF@q3j`qՈ%];p [yu.+"|{',5.gܢ5,i5x4Ry9WH%jh2/Ewuۜ0۳!BfPѼ@LW<%:( BrLJ1-Yc LI4 H\gu~ùɉ-_)]" If bSꗙ @YS@S} ltt~UdJ}8i,w->@Py2bh րzWrO LU3.Q\O:8H|,G!P p2{ľ[ċu =7 MB[@0`n*L+)q"EYz؂b%" G|] Ģ-NX`گ{2F]$mL_w^AP8 ^^ d0HKh@;<Cɖ_7ܵ^#ae$8@YD<aF^` D9ǐ测'Aͤ>-( w~+GL²m' ψS|/CE/Rs:'-!)CL ߌX O\EY_5h-+Jʴ̍oi&d:o'{ьD/*8a*y[ EAofg6thS}]l $pAJNvY%h1خ "YA˞ 19aV \I\1@f&sz&dk>2b]FBØ.?|hGe%v / ECi ghk] /OkbYu*6!(yRei$*,]y|aO[8ƪ.aiZҤb ye~v>:1ڒVyuiNY?`wt{F*Cŵ ckU;WG |5OA'cعFP#OY!PL%,BH#PB.it>PR"M$hrM%J %_z4E$9ɓb))떾XdWo6|< a f3/v0lHmAcJ8`/ag2.ېm ?WU/Db2I 5hJHV[$i z~e>FqDi^ (.A]d ۷LV\ zbd'kq4QMT-n2s6tEU1^A4-4 `9!s=.} iYumXN'4v5!gJU{n3C3^×oƔ\R!`_7GS#'Ƙ7$ۂL-:%D[}2j=P.zbF$K,1Rhn!w{5@'%}yNpՙm EtaTIq2H`2FiS|9 [Œ;k6h mli\jҮ¥$9yQe.6gsYZ_gw;.=|/*lS͵ĝf]樾Bc͇1 Oo%3ݦee *Ojǔd_"fN)V3=LCU4.=]k9˱d k"0Jk:,JxəA6`e&ni]޾] l m>'4HfU_#Yۮ|ltZT-nv߰poQ6izz\}Agl8(lM/᥯y`vQ4%{<8_QZsr\gb.m$;gtU;ѻn)hKB; 3Pt'ERKз+Eql[<տp^,%AYr1oCP9- WkT\&bzҹJãձ"v8v>c%>*U+vA߀ V"O3!ŭWFf\RsaMPE1QH1e{Z F6.eSl բOG'Hg?- /8A |95ϧї%^=IEi*XmFEHݓo9*wL3gr5T2LS>`XwI 1[1`}D*oDT#l0 |U}H*B.1[׆uUo {+Pl,+ NPTv0(P{%`kyKwJ(K|xyZTCK؟Heiw^,HM)q1ٙƕg?T.KOPʶR`[%n]}iXlRMצȧj n1YEalZԈ2-J_YwTۘX'-^$E۬ (~|y7q~S0 n%"_*L5Y=2칹G? >0_I\$/n#чQ`1^;^w@!t<xKY\ wǟ/;{}M@+j9}O9?I(7Gq-и.Fv5|}C W~>з#P==r^7!>J7=|bdxk3/::3C.X_.&mZ~L{/yi/`M͛H`="pMZuEgda6 Ub>_h#K'O))^7 Gvu^'i<j(xf >Lˆcao8}vwI)C wFXm^ l> ,bkF8(I,2j}ߐK!Yg7ԏ`k.Ed$g/U&&[_Z:&maT8{}t3Y5= 0p$#LzDHfQ1!:O su(Ѩ{QtѿHǡRaVDVBNcUWupG) "< 8a<]VǏL&k>}Ƥ *%W`:h;l4 p!^^Nw5+tb8ؒF&Y;E-E]1D6%e5Q߉iD5ak1fy&#Q,6KJ%*j2E|)Ϙ/3噊<U^W͑\m113@Q*MO~M^#﷽66[ȴ x uiڲ<{ i5MU 3K& IXWw &>Z%*Nj ZZdQ! lp9P Q޲P Q 8՗i|=[7}H/j>Gǚ""F 㟆?hBPJ { ]ّdBp|3ފF䇎A]0{w_O=a(24vCPxp%  yd>eJ/1NCMX*o}߭ ]?<3Ax ABp0Q'Ԟk711jԳvh\'GRtQXx7(gn fPP i|SP:ł(+Ա=<*EYa2H fr6gB(/+ۉw`{U}}|䍆ۂyr:q|Ip uLQw;}#-%cxŤeTR>ʋ7+G4--SBjD/)#K>`3l{^ɛGUTKl*vSj:|0 փw!R Z8yPvHݥY +,|oc/ߏo@@֗%SrbJZ};~WriQ x׿d |/-'𻲯IdWG֓ݤ,[?e})_n`_]6n 0黪\O?'ʃxo'l}V*"j(@LG;2,zn25e'p$/$+jJ e U{ӷ +>c`Փ.'11bbR>tP!]"A4GOu.):g! ]'{R|nd<1ds솑/O>(iqb%1;2Z?_TL[P݃AڿI0ZL"1?GZBI3q<3%`8-)1gIZDc{?:! x/("[UYʗ<̣N9gJLTTY #-p|/7Wb=3|:.煘gtFa'_܎﯇'ë; Jحd~.j1rS9MKڼnTzDx.P!Bͦq~ibu *>κz2[= |9vMW6B"]ЪE>[18cIS3EAHlVIf᧫1ūypG=<._^)`410Q _'3` \Q r92kI;3~ѱuʑ;?{4?h%JRE3qs{IK ~< |ִ (Bp.U9u¥Ӄb{!l (Lj.Bleބ'ET+P-$5yIEaC6%|Mn\!$DZ`k.U`H2.7K,ijțSHۆ?y2#XgL\#H\D#_f0dm/ztr=wLq~,XvNid680ui˸֔dDh[_=P61Ҭ*G2U٤x"Ta̜^ϰiZ EZhCgYph;oeS^n(g^SK2,T+\ZMk'0YoX_g["{dJ#4K:h/hY =Uf8\bCɩ7.(8Xw 5 ,U1yeCxsm׻``]C!| Y,ӡ-*?M"MC90/6=9ӌN`~跀 4֌e CW>ES|C lȚS`c̩zN~3TR膓ZU8my2sd2(9Z$)>wDMv|7u'*C>p?XZ I{RVm,j) WrqJ./H-D+Zہ~&:h(t^ ^|gÚJr"#7)Y%4L#{)ML!gRאQFA5FQ>ǁqAQ\0߇чɕOtm̡sBuuSXm׍*~E^ASO٬XM4f̤uP\L1c{yDݛ*{rs<9 [Y8a+xrnA5NGvv7x\)ܶ?J^bvzb^e@5id;sJ@'1Enx?E|dtoa蹽7^9tF%QO -!un}Qkg>j5nqDo^R_a$8MS rlI&f43hzx$,jHGuT)t5Atpx|{=|0Q>0x }6>\4pOr\0+j Jj7O+p]'"zWrDy N{DCkCd±1Sf:'^@W7;|lJ,8v6R‚Wb>N.#c҉d! C׻YԚV"<#VZkr =JC%aF  0dBǞZ~èQ!F[\noIt)1.rV!rHL H䳏D|~g,̥W%6V_t5|w~4,:|"S hVœϨ:4[fuZrՍU *fk7˛\h>(A@uCKjTڻ[Km#\l|:{}h zS^VmXSȧ)EmJB! hT(A%pIcMhA_hUrjN8twt5. AK~*)jm@ lI6Eeҭ ַ 0?0у854[z>L&>ۋeqnW7vHĎy |Qڑv_%=Ycm |f\hˣy-Fq*Wi}Ie/Nʒ@@P,Q3¾zAۘIt"r\|]+c`cw(Y&> /n2nyiYo9 $.-GL)XXO?YzR Lq7Z9`vЊbލB衐HEmݤ2 i>&jqc^q辧ܡ9T!.ȒNsn7q5p[[X0m|n("%x[]vn'+ػA$3?Tb=slcq<$l4zP&q!N@69xUkbUIպ^W~ 8v#]WeUK,@n.9ؙ؋U9|2440AuI/3ѱvg vb1e1֩ߖE;{[T{cZ*zsϡͲcfe!P fUdŜg3!GeqeĴ_5x0p.%S ʱZC&,[ndB?%S :,;KRjKG?!] \3۰Ynmw#0?`ߒ|)N0Hːype}e."i@X|Wj8LJ]R=&LI2>9ϿI(?OIf: y#M1E} .D"c Fwyg)J=*I|a򎺋Ke zLЅIf$i%*ESŎ9ԜԄr&nYUUuG w|ps.l`p>|{TfGueC(d Db':&y;uה2vCv=<:9.*)A/:v]ѿ9fr8"-'8]QȒVЇ& e -Z:MvS1tz> 9kܼ˘D}X@ GNb ǔpJn'JT$͖ؕqEG>`q>Da>'[$T6rSG#)۬sJ^fKͧ<$N9ʺ2[f/pz|7]0vU A厒"Sˏ"W%f:HY o"P?% 07* )Q 'otb2 >21x6PEҖ힃&|=q SQdaCΏ.N80Jњ\Wv;6I VW[?hyx~YYܛOvk*kͨ7#TP)I>vv ًf/^7~`2o)PJӨhۂK򙨣`K5wh89+S<ӕudJGՆu5@%OK߳ĪWg$>=$rRM~ӄ[ck]1r <pLCĹ0 I e.A#f#tC8h618ԷUӀhk\'֭Hc%$ 0.'CwdnEY"yj`;V*\w^/p@!N7d%Ǽw }5%\{Qa//QIf?޽,IeWҤt;ƥ1۰e2dUuyrK&.kZioʻk~Wh_Zd= k:Lr9XTQqW:ژK<$!Uy, {vϞфU3Dk mRTrW3efU#eڠuV黋NO*7lcMNN< ff̭JFY= =^{.{JGpP-ncX㣘젒g ԐkunX_wG^Iqyz2\^*bi*ajnvv/D_k#mgEÁZ$6$O_:!\a5mD%Ad.I̦(7Mcԅ2|UMS7>f]'7v;PxyBvb+{:NWdxЪ-F(v x8\si,X&Q6v=tlfωóObGqOw/B rkd(̗ }4:M^h:5AZ[Uڒ.qp]AFfA}#p3MJ#gVU37X~Sig#Us[/p @/PhhHq.Zk|:ʴ~7]U:V8Vrʳňl]onOzg[2`¬MQ}IպLߪ텐W[R\x1Â_z3;x\FP9$ ADr0ud~N%]KV^jqbE]zs{qt>_J0ދT劏V5#P ̈́D-g_,#5J^&6q`OLR_ws^M e?S#Z+"L3` ~0[26jd048 ".g0H)9*!@<QnXe{Hnr+VK6Fp*Y%aym~Phn< qġC<2MǟD˓Xb?GYU"(L pgdQDM(ơ{xo1yJ֪*һU<#:%u*Y*)2Mi`~&gNGP$`ZϪCvLNcf%GbzCYmOGÓG'ǗwS4hR9]5fN`xs]I{hR򠊢w[^I[RlɉcO+iM젔 LZ/TótK:ݬa&iIrjVfX]cETs6 t+HDEDŽrNkhVG9TҊ7f-['-cGj<] ʪ D&V+Io?=9zH4R Rx&)."1䫿,H1+) =3O'\|jxq2,"x'I~D*#tPIA܏ P:6mfiS}pZ LB2;Jl^cYݒ_HV͒HF:1_[%$¦(5ᜄ>&ӄtE'EAzjDc1~.ģ7? LbZށo1t! LSߧ]c?e5=<HHHg}v c+)Hsz-;h'BR6|59K;= ?G4b~Ob33kōĊT`\x4Yjg š|fC .o>L7)nݺг|ݜ i7>&վ<B:! KoN.x$ ǿ8~߷PEFףO{Jp;ۓyd"J24dLщmNDIz8'<Ċ3x2\0|)PȿI>J{~IVد=g"@yFzޏu 0m)}f/}YܦR'Mq#arO:dܾ"L9-_lfRrKb-rf(bjUm\& 8v~1f^>t8&IY 0iS!)f¾+\l|sf2+XĸN#Sm72h~o=0F&4-6T>~e'5J 76J][A/5~/ Wvo5;/_|+ețW4ZMN}%fw_wzGxATQ?,&ی^F1rBԒig7 a?9)7**eAV%5d"L= 4" *$FZr袅j@_*72@Tz0~o.BypW.'S8?J.0F# Բƙ&qF ^(?)CdE"ArHKH`zAjG=[b!+`]k1( dͣAg\uH;f-b`(T>7kzƯ.hN6'O!茍܁\˘k(LJ'jkN8+qRfie[ sK?L`gyaI@EM5M, ]3ITesвxߓl% hͭRKJ/w')-dXx9&L%Òw`EZX ̽K,Cx4@J2 ]1tcMC~pZM'KLbAA$CC( {)>Bv0M%"6Z=ƌ $  /7nŋ2]qJ9On`RYy( eܵIJ:>K@DN>5,cip1Hst|{#+>@;Ju XKe?/10kM@Pri:۠,+u8b:准{mxPQvڔj!A ;^py n(ˣ_L+%Q Mh_XH`$Av% .7 =`f1S&X)?V4VxS{>`N88_YzCs@!k1_(̽0w2d2u IAHY 4y>+L(:R :thzjXxŽjA6422)C"%`9 䫇6I`7v\S}}o}; dŷ<́ϣG@H,DHB#d}T5J[yKH" Gy](FtZ4[Qo^!Uo;Uï J{bxJj;62?>]p)l,z/-[]s׾ F !8P? Xߦ٧P;M! X.R+'.j/_zaoA1S+ A> %CxEVVh=-Gd#lUMocٰ>ëЍ/w~|ѭEEZ!cĴ]DF?WnP|W+J9VN## jE5P"꘭!ۺ/'(}ۛf,GAd,@+^߾eIZrKMF,;G™ByRK a }{FߌF72jL ct;ˎֹL#|;wҦ*_>w3rq fěBdky_ to,cJHZ,!T*Gҭ@>}<35+}!.WBdvJiS=^y,K;W@($cGAǣpyvCC:O/Ÿqv(AbqP5z;KpzD}%ǵ{n`4(hwRK\xᄂPE"'TKLl!E99v̚Gd 9"]*E_6M9OK˶KHTŵ·#.4!mPypp_Cla@XR*As\ʰ5eZI'iIŎAK:maWJN3i(H !)Ӈ,fBEYA="owĭ[[j,Żۣ[qv -}t%> Ů}?۹=|lRF:oǣwBAq lE5XmF"01tuy}#Kj5J>|L,e9isȥ | tJhVutJ@ELrqAWqh`Ì`j^uDE/p rugE܇Lp!ay\" ǞJ}lX}:9_uP}f9[TЁq_g݇l_bszUP@i%(O'|֠C-BW )Ef\PM&:K{,M Q)΋-ByVF+).KC5M%羅j'#GF,BJ\<G{='O)ȫ x(3&g8x DŽ8 "TSLVMkea^` eVV;cBu 'ÆUb4XHPЗ'ɗd/*{}^oSQRWEyC) uޭXMJ5L,z x M`N`ĩ84򸘚3=C鮣[g ܟqd/^tk͠qX3Tg5GcȒ'e{fwmQut\hQIQUC'ӉP҄'UҞ.e 'ZlS;ު &CgQ'BQ6ـ `.!{]5&yz?uhe/$ !+4uOe}.es I5P0]{/}AP̀)}%5,4O#zr 'ڜ?v8DF K"tkzS$ wvZ}tZ eկ7?]^.nW/Nz~ڒ^9SB= -zA@sOYwW H2DTLƻg+{d2kZ?|MHkec#GHJyW ur,pB#:t%@Ϥ0%WF+`F3OA 0.$6E=5n\uOS|_"q>Yӽ#Q}X@v~W:Y֒tS!Q~*/xHVZhkq޶ xsk!g *A^lJGNX ޥ)b@kʁ rP NB5Y!mÆ}YrAHƾ#Q9P*Z(3G(v+5|0Ы~h .,:m$Dwy1GLNDvf캡<}o ,X|kM ޛMwqj$OLYs SHXXoK)_Ӟюgɑ› qU$:8M׆W:߽?7^ҠXD$^D䣳5Y*dTOj^^w ~&$攽moAX7 tY)6\R@5!"QdzԾg2W/14J߳uLrnE>k?@6&u_'Fh9qD߬9aP[-kԵIP *uJنJBJ.dccw9t],ga9p *]$ z6ZbPohEq7UP8ّ-eF BNK(c$M=K6/]B DL9b>V2F{؟y`#'G7Ru,cB2&]=޳c$'8:7>;aH6|=K/bHЂv2U ox5_=HF}V&pB"#3XY;t-V$LZf~5!i&bHmAwJ8 qnOp+ Jtz>^ec7oi*DIsh`굅_J S/_&N ͚v;^FG+ ]z-fԘ?)m4Ov;J#ݩ"ZjǽH75!F$vV,8[IlU=vҿT0*RI%08~^ӌ@,w,X|Xx(o3 {{[}/{5r2@?/RqP1SC D'1|<\-:tkit4 ET v4|G&kxfW]/z0 /Igo+-n)$+Ab¿ (RBymY~D,Ҵ^j1l XUu{yu3QUb|z'`T`3(_Tlfc~(xg.!Ap/J:ȵ79)b=EU֯cKF#m'cȒGܤۈ h1@RZn/nw;=%1KfG|Kk=}ƥ*4# I\d?{b Cʣx- ^ 9#?PiAMLj2qmWa[}|ʺ+/@&;mCm+A,Y}B̍D3+aN4CZN1{ozfegXxO S,0_1Gm[ _!6U;Iv9o"̉#p,YQA퍁IhWQ/׫݅p]PxR3C뷔s%qgcq/ OG兲a6AG^/Q:h <>J=>14 `Z9W?mo04W ;06I]~϶i7vq}Om I>)IlX'1]ُ3du7WW,q'+S0 Ə[ZM=@[ߝWqTx.hetmdS@ 7h I9⿘>"(/Gr HhPdS(LdD'9kv~ 02 K&( @7ȊX2E'B(9,Q5TzY.0_g%V8#E¨M{ n27F.ktz{Rߧ.Ζ le"6JLǹ};F7'˲vjg8`~c[*#)lc.vZҖE1E4:`=5?V=ڃ%32M@VG[fAP g{lן$=د_}Y`[yAH;(/ IUcnTI}O|n?(Ub?&Q =9{2\^jHSQ+fUJs>+Fbu[Z{6DK9BS*xgE+6#N6icSX, p^L-[\[XVZTxdK N"}sʮ ztod;-%0FhU6w(24'Z 16ɄTd 7Ƣ4_|BLX,|bmRc_L7ڿ3:8:b 7S!:_?uW}STJ 8SNڿf_;{عYE迷*\ʟe>r2gC^/Z%Y5_%QAzߧO/b)B[ɇ rYvYz'; 4@YW?.Wvp'Tg^/IXfTUUߪLJ2a\WAC( BI yB!vYB`Na~ttnTdCSxCC) `22+B,.o޳+r!g '$[ʌiӘGr~vGv- m?[2bڞ)5uwMU.g|\J*Qx*Γ:Jh  ^G*jd9r_ ^nl"w"H`B{8 - ]Hy.M Qx~Cm}n ~"M.|xuӼbtzh`Ro#)U2R,D%[`~l]JT&>+t t(j Տ ȆR@D"9) >B5%"7dUUi J/T܊*%GYc3IfMLKL)F>)9_(L&q }H_O섚,$ٍuC[1oS,QDU#rFãnB ht>ui<܊UlvڈXAV\fA @^ט_!Y\v3ZSW r guɐ'/3ѳ' s;guU#zqk<}稭WI]`+0y5Ŕ,C2b{%R8K1}fb;'ܟ1n>2," m~4N2wdb'.PtotgɊ1&1&n/_KUSkVo)뎃RˑMK΀xhj`CDsj-UYE<)iYTCd4oVAefS쒄s}$e@q'Z?1.KV,c㿲>į7pi9,r; @{#V"J}ukU0Q{YǞ:Rޚ6O;k+qk|N-= o-u<__$^xn(23xyp0ȶc^ğTG"ՍKT:H)xuGs蜙{5Q-Q !s.䂍9 4(4mZ+:GFN}r|&$#gHaH]Dcmx'3[9<(ކPv[w>L/#Sb c'H~Y\Ǹ e3Q.lPN;Wk, kI3Nw`_tH0 YQIˈ|0bsG=RD0o8F㟆?_:hgS"opw:._Z逊-=pM2ts.GqY܃q /Cˆ8cjXѼϢB V;&2tj -Iώap=YyÁBVJ5V"e nWAࡿ1/]'iSs9)Q:;#Ldғi6ţ$9Hv;j$f,] #@yh 0kú\DŽlF#cx'( {$E'19%E4qsBm@?GwLP!?s`R-F 5^=9 \DPe2]^ jKЀ05}Vjkjq> [U"9ٜ$у57,-6o̭ةOSJ`|@@ bOr?+RLB}^hxg0:{WeOڊuƔL%FѬo #Aa ֙Ebf nc15.$v;PVjLYCe[',2%y`@wLd! fue {/djR`Ga>͈T޵W$`?cl({]FIw53%E?)PmNE#8 /9!eT28p ;&;uɽX,ڃJH2 c (ta 0 V0#lQ\|i`IoY&Cc(rժ[b bte媺NҢlZ>6&ڔiUrM4WS8o λyHЫ{(EݵOF0x#0 `Sxcf{"XÇJ{Vn`tV`PHUoS̢876=BE;hХ/!4Bk2-k:b///NGUn!)%h[|!X !8byVM+.) bx(o_cBt =FwX;iӟP:ԪE9Ibz iN\f&}m?3"o87`93qv]'[d`28%q #A2YtZ$ B>uUEzjD1.7F0"͠LKO MB D< 66ɿUvH~3T-nKccd~ΎC`m%fQ:ZMXYn?Ife:hQ>8]ZQYd_"GuMg8\UFYY?D,C ~F_ sztKW"8#C~ =2֦{a늧[SbI)=L&QYA-6ycm>YGyTېU=o&wO( [ѫ 2ɱUE9v` SVl]48#ij#=+Ԭ⣚4NUXח5Pg7,;^+u} ym4P1݁iR6cơɳ֯]\H@\65(D҅)??~yCIK&2| dkiBal=P׹4% G.ATץDR"j)$QŹ"cx}ű(qj?iz.3ڸH4rJ'ijagP }Tipѝf@GBx N7AgPgD (j.2[AXJMБxj%kC,ì~Á&~׹yUCITq,׈ =&ŭm$CCʷ) >[3tjEv)w̮Q WTM HZo۲٭qw.I>AŃ4z88 _`8 >b s(.ׯ]e>U5o& HydLMKKMۦR8h 6 fۮ1H$QʩB@}i>jQR|1]ɣ BZCdr!҅L oqThQh78F̩ǜWdj^q- w=DuM2z"L$c JfHb)Hi6 ,CByꈻ8#)3wJ g]\ΟY} tB$$πSٳ|秹:-j(jJȮNIgk+(6`B 5>]_Gٶ]G;79or:Xg^^ Ux%@ۅY|SOwii^" 0MѰ^ he>sH²3 [%un(T#AO#rSCy ef YZ^ XҨu&>}@bUkЧ69%GBa5f@ElCnh҆_&o|DW sp;KZo>7 2F`p "gA 8[8AF 2^E!lQ:^aSԅY2͈O+f{B4ץAa|؇s`舓cNeǐ~LK0 qtGf6{C*b = iZf! D X0MUU$R4 s[^}=]ę~CUHjQϐwI4:4Chw;R֓GS$=G_=&"jw!/4CMrƧRe\^XV<5%nC_:ddD4nrs̓* B3y)MZh u>X־U޸!әSDRȿ$Gs+ RD78ܸe ILuVY)`͝eR! 0\i7ۢT| ORzI{GJ$^r6G>̒ Z *m@&׺I= w΢Iٕ,:Zh^ oEo1D 0!=by!t!ڡX3ʓ.ơEgj Q~c旋F>|l Aw!C_7F,0tN1U@aS"m[?-5Bg&eדf[?SB1ݝ@:WM9j]=ƾq@G](-1`e!r_B̔gڞ(SGC?s"ɋ{6{I/K/g; &5|\G%SF`#^DVIEBA^Sz>f)5Ұc~Aad۹ЇVIUɐmXpVsݦԒ-EV=INFf.i5_qAH;bj,uƻbS C0 oXS1ͩ]s?Γ)ʨS'{ VhײTIC$ڼ+NLKZ7fT  ۭM9US"Ar FϹn S nVمAIɫۤˮ0pSS`>K.ln䆯kΐa=Cm4H#Lũl |gÈ| 3?ah[7"Ri dzv^(Y/d$O6"i$TF{rkV űy&ɽ\C(\ <&Zs (b_qQ_zdQLȍtc~@P.<v窟g:3_RVI 9`ltJM&o )[cv/Y^}+l}%J'!EH:vB'1ס4hۧud]kҾ_.>E30=ˬ'&YN23q%IFHɎ0OO,.դ /m -C*& +LԸd;mB=RWk?.ɋ#koMuRe+cP ү("5R WȜB|'UMyx!D Āݺڻ*g0^U(ۖHpA !U#Gv2 nf3y%%=dc.z7~JQ=ĢM;nbƍ.Q1n o.*".%Πl3whq.&@т!tzb =ӝHnpPFtt"owº?\uuwѰTd6L+su6E,*C6kA0 x Be<9yN*0u "JhS'A*宕9P󐑷m $q0RwI&]QBf$'}lV|J/ѦBXY\9_E#ƊcfG}: [% E?!n>!Ra+zTAA:!a Q~ 28"_eSui͔,G"A* GJSRHLQH\p-+5]vhbt!.QH 2B]=̬n k_u+#x/R:Z=Oex+(]Z!EFII u+0u(Ι>@<_ 9-!ozkCUOwb}83W 3',*~j3M]8jWd$<]0ue n#燱pO˜dkA*DnD+C^fBni\|K2Imc-pk]cBZ`;B_bdQ bRM0cXyWX3֓B9A؆  }%Q|տSRD Cbm,P 2RPx*[g-Qh*h-ƛ#@6~;Ue>FKjSi8*FJy+ho++,Yk~axF|lt;^eRr%nf,EeKm05s|>v+j#9.[Y"%qhY? ?%ؾ+S*֕ʂ81y#,qI\-J"d .//+0YkDF@P&4)3FqH6&ZčJ47jW`ފy=yyb;Uᆍ]aKk=Gd>)ƶ:VF/+’ AF]3Zn ``Њa>$a5}I^7)0O?LDZײdB4j@̍uy\)6kXw09lnDYTi"J'͆rzhBk}~tv{KI >ۢLz5CS;n ]zN ,P=i睍a:NC,>N6|^A (qQ.cisͬY2B >Dyy[ X7bR;3'2ⲁΌ|$/ o~[Ɔٓq؍+% ucﶬv+:`T<8_;bƉExKJoEq5ww GPƸwv:ՏphjGrvCne^V +OevJcu pyЖa QnȖO2SMTALUဂdi_IbX02*Zvm9}Tjf8T,~/Py=s~+trIM,.VDR^]-+=)\8P%V\+hh}W}%f -2[_$)l;X;1sH疖Jpx!Qz O 3v: #wr Dޫvt/Xgګ Wx*[JƧl54px#p}}Bi>&oҏ K*N Pؒ2 >^ۤr"^T3w =8C+V%Ӓ m$c$MJLzq uEU-1\xqL4pf`%BnuI &%y;zxr{6z;G^"pO˩sb\يPO&i :E3,Վ#9xilR|ijͪԪWv~{[#1acd"lEȗB1T>JoM =Bb~e떯] OaQ.3KKT^nr1:D"Xez769Q6+s>>%D#^}snbԛU& C6QVVE:Wi%,fBkT]0afl,^dQ/T9y28bTPR]aN4[_v"FXnpT`Q}V >;43 zRB`VR\EݿBs#`b>q8[nt=c&BPǕ\ f~;@65:VBڛz kGc ub cCôM[f_ƍ7/K+9Z M.sÈ?$7YxO%|U°-yئZe'6V jt!B ފE\vfzXloRӹ-3E^Bi9WwMO'FW5-%}j-gy!bPY4 }o>{Wy!„4UV4n]]$UF+qG1"[¯o7g?zy|tsy}{3<:;ʓ(T߆7W>nk^rE" '*.sB7SPI}Bhdu eY9.e1zB`Jwc1#W{!h Tze#m;uP :M80]-ۣA&]zYhX@Cב'u7=8Q7bIm>*&~/F9;Ug<-R;&J O$X@!P2kp"b m `E2IR2E(b$:K K$J{[ӁW$GpU)K_b/fxJXPNk`wvfG,3BY@QxK]?swgshmp݊!6Ƿoq3u,tax+ 0l tIlgb#.m=NM{>Bxˡ3CE,vVt`K"5ney JJdψELbL! )):&2<®?<i@ƈD1q )IU Ne(BtπY.Fn;?P~[GP$0}.v`nK,ʧ\װXj#N7xsfodcVAv¾x{ʂWȗ!7mnINO(JoNNgU]Lmp=Zh5께*\uj,LɌS0M\JGS:XaZjMz} 75ll&P88rW2+GKt|>VwdE\8Aa3 @Z1`&)̰$;x2k+Т'L:i|UJ/{8^pʖD[1|ğL'ZD rZC܀DѤ%anIbBq !9mHd"P(8XX^#6sIR.)T8= .;ejo.ZG!27x\1(vk`.ǟ)$W9D}J:%⤜tIN6i=m0^ht3rM2R QD)K{L+lO!txa:$oV[.gMy%n's{%0\&"ʛN!e1vFps-qmP=3IC%ר \kFD: P!kX6Ջߕw߽?^ܨh۳˟_y% ³e HMm«d KQNxVb#$HZ}+J[҇p /:S={s/yspGkJlơtQ鬾P"K1M*1uB*[2/uaWqV4&Mc΂X>/9lBdn!?> >2bM.s)H=۔Ⱦ̫- TD@QӶ4VY9" `PR5@{~H^׉Jܦci)mKg̸G /!|B̵۟ں tĶy)83ȤwQԩԾym ‚Nu}`}q 7,GN*\x-JB)Ȳ (Yb$K+AFLv&;A)% S0a;!Q,ZrԬdܓLEgme Lj8Gٳ'/tD;f7wȧШ6294jW)K27t<`SZJ~A̮ ws-la?,rC?`o+ m\梅. 3e[#O; |giݰitc}/u7Ac2)pb 9JhuƉKcwq ́qt,@oK-o[#žBg'_n8EBCAG#?Rd1G~ZQy.m}| IL :f8l`\)}3r2N)#fA@)qIZIU؞6 c5ȥN'".w=E6+{l@aL+dvjА9+\\ҷ"YznOds欶رbx-։'F/$\ߎ.N4Ӷ4?;_ GGg݌./<·o5xolYe1B i;Di%8=HB4ߟ݌FB|1t茲}>  2aPE.ɻZG;^1$#%F/ܚ8뒕WCӬYN?CIc MgC ֔ B yRn[qCydO 42<#ϧ!ڣ35cʜǙf"yHdPsK  A̙;v(Us2S$}VMDlͳ_b(a7dQu