summaryrefslogtreecommitdiffstats
path: root/Python/codecs.c
blob: fe57d0dc42d42d974deff748ffee30020f1cdcbf (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
/* ------------------------------------------------------------------------

   Python Codec Registry and support functions

Written by Marc-Andre Lemburg (mal@lemburg.com).

Copyright (c) Corporation for National Research Initiatives.

   ------------------------------------------------------------------------ */

#include "Python.h"
#include "ucnhash.h"
#include <ctype.h>

const char *Py_hexdigits = "0123456789abcdef";

/* --- Codec Registry ----------------------------------------------------- */

/* Import the standard encodings package which will register the first
   codec search function.

   This is done in a lazy way so that the Unicode implementation does
   not downgrade startup time of scripts not needing it.

   ImportErrors are silently ignored by this function. Only one try is
   made.

*/

static int _PyCodecRegistry_Init(void); /* Forward */

int PyCodec_Register(PyObject *search_function)
{
    PyInterpreterState *interp = PyThreadState_GET()->interp;
    if (interp->codec_search_path == NULL && _PyCodecRegistry_Init())
        goto onError;
    if (search_function == NULL) {
        PyErr_BadArgument();
        goto onError;
    }
    if (!PyCallable_Check(search_function)) {
        PyErr_SetString(PyExc_TypeError, "argument must be callable");
        goto onError;
    }
    return PyList_Append(interp->codec_search_path, search_function);

 onError:
    return -1;
}

/* Convert a string to a normalized Python string: all characters are
   converted to lower case, spaces are replaced with underscores. */

static
PyObject *normalizestring(const char *string)
{
    size_t i;
    size_t len = strlen(string);
    char *p;
    PyObject *v;

    if (len > PY_SSIZE_T_MAX) {
        PyErr_SetString(PyExc_OverflowError, "string is too large");
        return NULL;
    }

    p = PyMem_Malloc(len + 1);
    if (p == NULL)
        return PyErr_NoMemory();
    for (i = 0; i < len; i++) {
        char ch = string[i];
        if (ch == ' ')
            ch = '-';
        else
            ch = Py_TOLOWER(Py_CHARMASK(ch));
        p[i] = ch;
    }
    p[i] = '\0';
    v = PyUnicode_FromString(p);
    if (v == NULL)
        return NULL;
    PyMem_Free(p);
    return v;
}

/* Lookup the given encoding and return a tuple providing the codec
   facilities.

   The encoding string is looked up converted to all lower-case
   characters. This makes encodings looked up through this mechanism
   effectively case-insensitive.

   If no codec is found, a LookupError is set and NULL returned.

   As side effect, this tries to load the encodings package, if not
   yet done. This is part of the lazy load strategy for the encodings
   package.

*/

PyObject *_PyCodec_Lookup(const char *encoding)
{
    PyInterpreterState *interp;
    PyObject *result, *args = NULL, *v;
    Py_ssize_t i, len;

    if (encoding == NULL) {
        PyErr_BadArgument();
        goto onError;
    }

    interp = PyThreadState_GET()->interp;
    if (interp->codec_search_path == NULL && _PyCodecRegistry_Init())
        goto onError;

    /* Convert the encoding to a normalized Python string: all
       characters are converted to lower case, spaces and hyphens are
       replaced with underscores. */
    v = normalizestring(encoding);
    if (v == NULL)
        goto onError;
    PyUnicode_InternInPlace(&v);

    /* First, try to lookup the name in the registry dictionary */
    result = PyDict_GetItem(interp->codec_search_cache, v);
    if (result != NULL) {
        Py_INCREF(result);
        Py_DECREF(v);
        return result;
    }

    /* Next, scan the search functions in order of registration */
    args = PyTuple_New(1);
    if (args == NULL)
        goto onError;
    PyTuple_SET_ITEM(args,0,v);

    len = PyList_Size(interp->codec_search_path);
    if (len < 0)
        goto onError;
    if (len == 0) {
        PyErr_SetString(PyExc_LookupError,
                        "no codec search functions registered: "
                        "can't find encoding");
        goto onError;
    }

    for (i = 0; i < len; i++) {
        PyObject *func;

        func = PyList_GetItem(interp->codec_search_path, i);
        if (func == NULL)
            goto onError;
        result = PyEval_CallObject(func, args);
        if (result == NULL)
            goto onError;
        if (result == Py_None) {
            Py_DECREF(result);
            continue;
        }
        if (!PyTuple_Check(result) || PyTuple_GET_SIZE(result) != 4) {
            PyErr_SetString(PyExc_TypeError,
                            "codec search functions must return 4-tuples");
            Py_DECREF(result);
            goto onError;
        }
        break;
    }
    if (i == len) {
        /* XXX Perhaps we should cache misses too ? */
        PyErr_Format(PyExc_LookupError,
                     "unknown encoding: %s", encoding);
        goto onError;
    }

    /* Cache and return the result */
    if (PyDict_SetItem(interp->codec_search_cache, v, result) < 0) {
        Py_DECREF(result);
        goto onError;
    }
    Py_DECREF(args);
    return result;

 onError:
    Py_XDECREF(args);
    return NULL;
}

int _PyCodec_Forget(const char *encoding)
{
    PyInterpreterState *interp;
    PyObject *v;
    int result;

    interp = PyThreadState_GET()->interp;
    if (interp->codec_search_path == NULL) {
        return -1;
    }

    /* Convert the encoding to a normalized Python string: all
       characters are converted to lower case, spaces and hyphens are
       replaced with underscores. */
    v = normalizestring(encoding);
    if (v == NULL) {
        return -1;
    }

    /* Drop the named codec from the internal cache */
    result = PyDict_DelItem(interp->codec_search_cache, v);
    Py_DECREF(v);

    return result;
}

/* Codec registry encoding check API. */

int PyCodec_KnownEncoding(const char *encoding)
{
    PyObject *codecs;

    codecs = _PyCodec_Lookup(encoding);
    if (!codecs) {
        PyErr_Clear();
        return 0;
    }
    else {
        Py_DECREF(codecs);
        return 1;
    }
}

static
PyObject *args_tuple(PyObject *object,
                     const char *errors)
{
    PyObject *args;

    args = PyTuple_New(1 + (errors != NULL));
    if (args == NULL)
        return NULL;
    Py_INCREF(object);
    PyTuple_SET_ITEM(args,0,object);
    if (errors) {
        PyObject *v;

        v = PyUnicode_FromString(errors);
        if (v == NULL) {
            Py_DECREF(args);
            return NULL;
        }
        PyTuple_SET_ITEM(args, 1, v);
    }
    return args;
}

/* Helper function to get a codec item */

static
PyObject *codec_getitem(const char *encoding, int index)
{
    PyObject *codecs;
    PyObject *v;

    codecs = _PyCodec_Lookup(encoding);
    if (codecs == NULL)
        return NULL;
    v = PyTuple_GET_ITEM(codecs, index);
    Py_DECREF(codecs);
    Py_INCREF(v);
    return v;
}

/* Helper functions to create an incremental codec. */
static
PyObject *codec_makeincrementalcodec(PyObject *codec_info,
                                     const char *errors,
                                     const char *attrname)
{
    PyObject *ret, *inccodec;

    inccodec = PyObject_GetAttrString(codec_info, attrname);
    if (inccodec == NULL)
        return NULL;
    if (errors)
        ret = PyObject_CallFunction(inccodec, "s", errors);
    else
        ret = PyObject_CallFunction(inccodec, NULL);
    Py_DECREF(inccodec);
    return ret;
}

static
PyObject *codec_getincrementalcodec(const char *encoding,
                                    const char *errors,
                                    const char *attrname)
{
    PyObject *codec_info, *ret;

    codec_info = _PyCodec_Lookup(encoding);
    if (codec_info == NULL)
        return NULL;
    ret = codec_makeincrementalcodec(codec_info, errors, attrname);
    Py_DECREF(codec_info);
    return ret;
}

/* Helper function to create a stream codec. */

static
PyObject *codec_getstreamcodec(const char *encoding,
                               PyObject *stream,
                               const char *errors,
                               const int index)
{
    PyObject *codecs, *streamcodec, *codeccls;

    codecs = _PyCodec_Lookup(encoding);
    if (codecs == NULL)
        return NULL;

    codeccls = PyTuple_GET_ITEM(codecs, index);
    if (errors != NULL)
        streamcodec = PyObject_CallFunction(codeccls, "Os", stream, errors);
    else
        streamcodec = PyObject_CallFunction(codeccls, "O", stream);
    Py_DECREF(codecs);
    return streamcodec;
}

/* Helpers to work with the result of _PyCodec_Lookup

 */
PyObject *_PyCodecInfo_GetIncrementalDecoder(PyObject *codec_info,
                                             const char *errors)
{
    return codec_makeincrementalcodec(codec_info, errors,
                                      "incrementaldecoder");
}

PyObject *_PyCodecInfo_GetIncrementalEncoder(PyObject *codec_info,
                                             const char *errors)
{
    return codec_makeincrementalcodec(codec_info, errors,
                                      "incrementalencoder");
}


/* Convenience APIs to query the Codec registry.

   All APIs return a codec object with incremented refcount.

 */

PyObject *PyCodec_Encoder(const char *encoding)
{
    return codec_getitem(encoding, 0);
}

PyObject *PyCodec_Decoder(const char *encoding)
{
    return codec_getitem(encoding, 1);
}

PyObject *PyCodec_IncrementalEncoder(const char *encoding,
                                     const char *errors)
{
    return codec_getincrementalcodec(encoding, errors, "incrementalencoder");
}

PyObject *PyCodec_IncrementalDecoder(const char *encoding,
                                     const char *errors)
{
    return codec_getincrementalcodec(encoding, errors, "incrementaldecoder");
}

PyObject *PyCodec_StreamReader(const char *encoding,
                               PyObject *stream,
                               const char *errors)
{
    return codec_getstreamcodec(encoding, stream, errors, 2);
}

PyObject *PyCodec_StreamWriter(const char *encoding,
                               PyObject *stream,
                               const char *errors)
{
    return codec_getstreamcodec(encoding, stream, errors, 3);
}

/* Helper that tries to ensure the reported exception chain indicates the
 * codec that was invoked to trigger the failure without changing the type
 * of the exception raised.
 */
static void
wrap_codec_error(const char *operation,
                 const char *encoding)
{
    /* TrySetFromCause will replace the active exception with a suitably
     * updated clone if it can, otherwise it will leave the original
     * exception alone.
     */
    _PyErr_TrySetFromCause("%s with '%s' codec failed",
                           operation, encoding);
}

/* Encode an object (e.g. a Unicode object) using the given encoding
   and return the resulting encoded object (usually a Python string).

   errors is passed to the encoder factory as argument if non-NULL. */

static PyObject *
_PyCodec_EncodeInternal(PyObject *object,
                        PyObject *encoder,
                        const char *encoding,
                        const char *errors)
{
    PyObject *args = NULL, *result = NULL;
    PyObject *v = NULL;

    args = args_tuple(object, errors);
    if (args == NULL)
        goto onError;

    result = PyEval_CallObject(encoder, args);
    if (result == NULL) {
        wrap_codec_error("encoding", encoding);
        goto onError;
    }

    if (!PyTuple_Check(result) ||
        PyTuple_GET_SIZE(result) != 2) {
        PyErr_SetString(PyExc_TypeError,
                        "encoder must return a tuple (object, integer)");
        goto onError;
    }
    v = PyTuple_GET_ITEM(result,0);
    Py_INCREF(v);
    /* We don't check or use the second (integer) entry. */

    Py_DECREF(args);
    Py_DECREF(encoder);
    Py_DECREF(result);
    return v;

 onError:
    Py_XDECREF(result);
    Py_XDECREF(args);
    Py_XDECREF(encoder);
    return NULL;
}

/* Decode an object (usually a Python string) using the given encoding
   and return an equivalent object (e.g. a Unicode object).

   errors is passed to the decoder factory as argument if non-NULL. */

static PyObject *
_PyCodec_DecodeInternal(PyObject *object,
                        PyObject *decoder,
                        const char *encoding,
                        const char *errors)
{
    PyObject *args = NULL, *result = NULL;
    PyObject *v;

    args = args_tuple(object, errors);
    if (args == NULL)
        goto onError;

    result = PyEval_CallObject(decoder,args);
    if (result == NULL) {
        wrap_codec_error("decoding", encoding);
        goto onError;
    }
    if (!PyTuple_Check(result) ||
        PyTuple_GET_SIZE(result) != 2) {
        PyErr_SetString(PyExc_TypeError,
                        "decoder must return a tuple (object,integer)");
        goto onError;
    }
    v = PyTuple_GET_ITEM(result,0);
    Py_INCREF(v);
    /* We don't check or use the second (integer) entry. */

    Py_DECREF(args);
    Py_DECREF(decoder);
    Py_DECREF(result);
    return v;

 onError:
    Py_XDECREF(args);
    Py_XDECREF(decoder);
    Py_XDECREF(result);
    return NULL;
}

/* Generic encoding/decoding API */
PyObject *PyCodec_Encode(PyObject *object,
                         const char *encoding,
                         const char *errors)
{
    PyObject *encoder;

    encoder = PyCodec_Encoder(encoding);
    if (encoder == NULL)
        return NULL;

    return _PyCodec_EncodeInternal(object, encoder, encoding, errors);
}

PyObject *PyCodec_Decode(PyObject *object,
                         const char *encoding,
                         const char *errors)
{
    PyObject *decoder;

    decoder = PyCodec_Decoder(encoding);
    if (decoder == NULL)
        return NULL;

    return _PyCodec_DecodeInternal(object, decoder, encoding, errors);
}

/* Text encoding/decoding API */
PyObject * _PyCodec_LookupTextEncoding(const char *encoding,
                                       const char *alternate_command)
{
    _Py_IDENTIFIER(_is_text_encoding);
    PyObject *codec;
    PyObject *attr;
    int is_text_codec;

    codec = _PyCodec_Lookup(encoding);
    if (codec == NULL)
        return NULL;

    /* Backwards compatibility: assume any raw tuple describes a text
     * encoding, and the same for anything lacking the private
     * attribute.
     */
    if (!PyTuple_CheckExact(codec)) {
        attr = _PyObject_GetAttrId(codec, &PyId__is_text_encoding);
        if (attr == NULL) {
            if (PyErr_ExceptionMatches(PyExc_AttributeError)) {
                PyErr_Clear();
            } else {
                Py_DECREF(codec);
                return NULL;
            }
        } else {
            is_text_codec = PyObject_IsTrue(attr);
            Py_DECREF(attr);
            if (is_text_codec <= 0) {
                Py_DECREF(codec);
                if (!is_text_codec)
                    PyErr_Format(PyExc_LookupError,
                                 "'%.400s' is not a text encoding; "
                                 "use %s to handle arbitrary codecs",
                                 encoding, alternate_command);
                return NULL;
            }
        }
    }

    /* This appears to be a valid text encoding */
    return codec;
}


static
PyObject *codec_getitem_checked(const char *encoding,
                                const char *alternate_command,
                                int index)
{
    PyObject *codec;
    PyObject *v;

    codec = _PyCodec_LookupTextEncoding(encoding, alternate_command);
    if (codec == NULL)
        return NULL;

    v = PyTuple_GET_ITEM(codec, index);
    Py_INCREF(v);
    Py_DECREF(codec);
    return v;
}

static PyObject * _PyCodec_TextEncoder(const char *encoding)
{
    return codec_getitem_checked(encoding, "codecs.encode()", 0);
}

static PyObject * _PyCodec_TextDecoder(const char *encoding)
{
    return codec_getitem_checked(encoding, "codecs.decode()", 1);
}

PyObject *_PyCodec_EncodeText(PyObject *object,
                              const char *encoding,
                              const char *errors)
{
    PyObject *encoder;

    encoder = _PyCodec_TextEncoder(encoding);
    if (encoder == NULL)
        return NULL;

    return _PyCodec_EncodeInternal(object, encoder, encoding, errors);
}

PyObject *_PyCodec_DecodeText(PyObject *object,
                              const char *encoding,
                              const char *errors)
{
    PyObject *decoder;

    decoder = _PyCodec_TextDecoder(encoding);
    if (decoder == NULL)
        return NULL;

    return _PyCodec_DecodeInternal(object, decoder, encoding, errors);
}

/* Register the error handling callback function error under the name
   name. This function will be called by the codec when it encounters
   an unencodable characters/undecodable bytes and doesn't know the
   callback name, when name is specified as the error parameter
   in the call to the encode/decode function.
   Return 0 on success, -1 on error */
int PyCodec_RegisterError(const char *name, PyObject *error)
{
    PyInterpreterState *interp = PyThreadState_GET()->interp;
    if (interp->codec_search_path == NULL && _PyCodecRegistry_Init())
        return -1;
    if (!PyCallable_Check(error)) {
        PyErr_SetString(PyExc_TypeError, "handler must be callable");
        return -1;
    }
    return PyDict_SetItemString(interp->codec_error_registry,
                                name, error);
}

/* Lookup the error handling callback function registered under the
   name error. As a special case NULL can be passed, in which case
   the error handling callback for strict encoding will be returned. */
PyObject *PyCodec_LookupError(const char *name)
{
    PyObject *handler = NULL;

    PyInterpreterState *interp = PyThreadState_GET()->interp;
    if (interp->codec_search_path == NULL && _PyCodecRegistry_Init())
        return NULL;

    if (name==NULL)
        name = "strict";
    handler = PyDict_GetItemString(interp->codec_error_registry, name);
    if (!handler)
        PyErr_Format(PyExc_LookupError, "unknown error handler name '%.400s'", name);
    else
        Py_INCREF(handler);
    return handler;
}

static void wrong_exception_type(PyObject *exc)
{
    PyErr_Format(PyExc_TypeError,
                 "don't know how to handle %.200s in error callback",
                 exc->ob_type->tp_name);
}

PyObject *PyCodec_StrictErrors(PyObject *exc)
{
    if (PyExceptionInstance_Check(exc))
        PyErr_SetObject(PyExceptionInstance_Class(exc), exc);
    else
        PyErr_SetString(PyExc_TypeError, "codec must pass exception instance");
    return NULL;
}


PyObject *PyCodec_IgnoreErrors(PyObject *exc)
{
    Py_ssize_t end;

    if (PyObject_TypeCheck(exc, (PyTypeObject *)PyExc_UnicodeEncodeError)) {
        if (PyUnicodeEncodeError_GetEnd(exc, &end))
            return NULL;
    }
    else if (PyObject_TypeCheck(exc, (PyTypeObject *)PyExc_UnicodeDecodeError)) {
        if (PyUnicodeDecodeError_GetEnd(exc, &end))
            return NULL;
    }
    else if (PyObject_TypeCheck(exc, (PyTypeObject *)PyExc_UnicodeTranslateError)) {
        if (PyUnicodeTranslateError_GetEnd(exc, &end))
            return NULL;
    }
    else {
        wrong_exception_type(exc);
        return NULL;
    }
    return Py_BuildValue("(Nn)", PyUnicode_New(0, 0), end);
}


PyObject *PyCodec_ReplaceErrors(PyObject *exc)
{
    Py_ssize_t start, end, i, len;

    if (PyObject_TypeCheck(exc, (PyTypeObject *)PyExc_UnicodeEncodeError)) {
        PyObject *res;
        int kind;
        void *data;
        if (PyUnicodeEncodeError_GetStart(exc, &start))
            return NULL;
        if (PyUnicodeEncodeError_GetEnd(exc, &end))
            return NULL;
        len = end - start;
        res = PyUnicode_New(len, '?');
        if (res == NULL)
            return NULL;
        kind = PyUnicode_KIND(res);
        data = PyUnicode_DATA(res);
        for (i = 0; i < len; ++i)
            PyUnicode_WRITE(kind, data, i, '?');
        assert(_PyUnicode_CheckConsistency(res, 1));
        return Py_BuildValue("(Nn)", res, end);
    }
    else if (PyObject_TypeCheck(exc, (PyTypeObject *)PyExc_UnicodeDecodeError)) {
        if (PyUnicodeDecodeError_GetEnd(exc, &end))
            return NULL;
        return Py_BuildValue("(Cn)",
                             (int)Py_UNICODE_REPLACEMENT_CHARACTER,
                             end);
    }
    else if (PyObject_TypeCheck(exc, (PyTypeObject *)PyExc_UnicodeTranslateError)) {
        PyObject *res;
        int kind;
        void *data;
        if (PyUnicodeTranslateError_GetStart(exc, &start))
            return NULL;
        if (PyUnicodeTranslateError_GetEnd(exc, &end))
            return NULL;
        len = end - start;
        res = PyUnicode_New(len, Py_UNICODE_REPLACEMENT_CHARACTER);
        if (res == NULL)
            return NULL;
        kind = PyUnicode_KIND(res);
        data = PyUnicode_DATA(res);
        for (i=0; i < len; i++)
            PyUnicode_WRITE(kind, data, i, Py_UNICODE_REPLACEMENT_CHARACTER);
        assert(_PyUnicode_CheckConsistency(res, 1));
        return Py_BuildValue("(Nn)", res, end);
    }
    else {
        wrong_exception_type(exc);
        return NULL;
    }
}

PyObject *PyCodec_XMLCharRefReplaceErrors(PyObject *exc)
{
    if (PyObject_TypeCheck(exc, (PyTypeObject *)PyExc_UnicodeEncodeError)) {
        PyObject *restuple;
        PyObject *object;
        Py_ssize_t i;
        Py_ssize_t start;
        Py_ssize_t end;
        PyObject *res;
        unsigned char *outp;
        Py_ssize_t ressize;
        Py_UCS4 ch;
        if (PyUnicodeEncodeError_GetStart(exc, &start))
            return NULL;
        if (PyUnicodeEncodeError_GetEnd(exc, &end))
            return NULL;
        if (!(object = PyUnicodeEncodeError_GetObject(exc)))
            return NULL;
        if (end - start > PY_SSIZE_T_MAX / (2+7+1))
            end = start + PY_SSIZE_T_MAX / (2+7+1);
        for (i = start, ressize = 0; i < end; ++i) {
            /* object is guaranteed to be "ready" */
            ch = PyUnicode_READ_CHAR(object, i);
            if (ch<10)
                ressize += 2+1+1;
            else if (ch<100)
                ressize += 2+2+1;
            else if (ch<1000)
                ressize += 2+3+1;
            else if (ch<10000)
                ressize += 2+4+1;
            else if (ch<100000)
                ressize += 2+5+1;
            else if (ch<1000000)
                ressize += 2+6+1;
            else
                ressize += 2+7+1;
        }
        /* allocate replacement */
        res = PyUnicode_New(ressize, 127);
        if (res == NULL) {
            Py_DECREF(object);
            return NULL;
        }
        outp = PyUnicode_1BYTE_DATA(res);
        /* generate replacement */
        for (i = start; i < end; ++i) {
            int digits;
            int base;
            ch = PyUnicode_READ_CHAR(object, i);
            *outp++ = '&';
            *outp++ = '#';
            if (ch<10) {
                digits = 1;
                base = 1;
            }
            else if (ch<100) {
                digits = 2;
                base = 10;
            }
            else if (ch<1000) {
                digits = 3;
                base = 100;
            }
            else if (ch<10000) {
                digits = 4;
                base = 1000;
            }
            else if (ch<100000) {
                digits = 5;
                base = 10000;
            }
            else if (ch<1000000) {
                digits = 6;
                base = 100000;
            }
            else {
                digits = 7;
                base = 1000000;
            }
            while (digits-->0) {
                *outp++ = '0' + ch/base;
                ch %= base;
                base /= 10;
            }
            *outp++ = ';';
        }
        assert(_PyUnicode_CheckConsistency(res, 1));
        restuple = Py_BuildValue("(Nn)", res, end);
        Py_DECREF(object);
        return restuple;
    }
    else {
        wrong_exception_type(exc);
        return NULL;
    }
}

PyObject *PyCodec_BackslashReplaceErrors(PyObject *exc)
{
    PyObject *object;
    Py_ssize_t i;
    Py_ssize_t start;
    Py_ssize_t end;
    PyObject *res;
    unsigned char *outp;
    int ressize;
    Py_UCS4 c;

    if (PyObject_TypeCheck(exc, (PyTypeObject *)PyExc_UnicodeDecodeError)) {
        unsigned char *p;
        if (PyUnicodeDecodeError_GetStart(exc, &start))
            return NULL;
        if (PyUnicodeDecodeError_GetEnd(exc, &end))
            return NULL;
        if (!(object = PyUnicodeDecodeError_GetObject(exc)))
            return NULL;
        if (!(p = (unsigned char*)PyBytes_AsString(object))) {
            Py_DECREF(object);
            return NULL;
        }
        res = PyUnicode_New(4 * (end - start), 127);
        if (res == NULL) {
            Py_DECREF(object);
            return NULL;
        }
        outp = PyUnicode_1BYTE_DATA(res);
        for (i = start; i < end; i++, outp += 4) {
            unsigned char c = p[i];
            outp[0] = '\\';
            outp[1] = 'x';
            outp[2] = Py_hexdigits[(c>>4)&0xf];
            outp[3] = Py_hexdigits[c&0xf];
        }

        assert(_PyUnicode_CheckConsistency(res, 1));
        Py_DECREF(object);
        return Py_BuildValue("(Nn)", res, end);
    }
    if (PyObject_TypeCheck(exc, (PyTypeObject *)PyExc_UnicodeEncodeError)) {
        if (PyUnicodeEncodeError_GetStart(exc, &start))
            return NULL;
        if (PyUnicodeEncodeError_GetEnd(exc, &end))
            return NULL;
        if (!(object = PyUnicodeEncodeError_GetObject(exc)))
            return NULL;
    }
    else if (PyObject_TypeCheck(exc, (PyTypeObject *)PyExc_UnicodeTranslateError)) {
        if (PyUnicodeTranslateError_GetStart(exc, &start))
            return NULL;
        if (PyUnicodeTranslateError_GetEnd(exc, &end))
            return NULL;
        if (!(object = PyUnicodeTranslateError_GetObject(exc)))
            return NULL;
    }
    else {
        wrong_exception_type(exc);
        return NULL;
    }

    if (end - start > PY_SSIZE_T_MAX / (1+1+8))
        end = start + PY_SSIZE_T_MAX / (1+1+8);
    for (i = start, ressize = 0; i < end; ++i) {
        /* object is guaranteed to be "ready" */
        c = PyUnicode_READ_CHAR(object, i);
        if (c >= 0x10000) {
            ressize += 1+1+8;
        }
        else if (c >= 0x100) {
            ressize += 1+1+4;
        }
        else
            ressize += 1+1+2;
    }
    res = PyUnicode_New(ressize, 127);
    if (res == NULL) {
        Py_DECREF(object);
        return NULL;
    }
    outp = PyUnicode_1BYTE_DATA(res);
    for (i = start; i < end; ++i) {
        c = PyUnicode_READ_CHAR(object, i);
        *outp++ = '\\';
        if (c >= 0x00010000) {
            *outp++ = 'U';
            *outp++ = Py_hexdigits[(c>>28)&0xf];
            *outp++ = Py_hexdigits[(c>>24)&0xf];
            *outp++ = Py_hexdigits[(c>>20)&0xf];
            *outp++ = Py_hexdigits[(c>>16)&0xf];
            *outp++ = Py_hexdigits[(c>>12)&0xf];
            *outp++ = Py_hexdigits[(c>>8)&0xf];
        }
        else if (c >= 0x100) {
            *outp++ = 'u';
            *outp++ = Py_hexdigits[(c>>12)&0xf];
            *outp++ = Py_hexdigits[(c>>8)&0xf];
        }
        else
            *outp++ = 'x';
        *outp++ = Py_hexdigits[(c>>4)&0xf];
        *outp++ = Py_hexdigits[c&0xf];
    }

    assert(_PyUnicode_CheckConsistency(res, 1));
    Py_DECREF(object);
    return Py_BuildValue("(Nn)", res, end);
}

static _PyUnicode_Name_CAPI *ucnhash_CAPI = NULL;

PyObject *PyCodec_NameReplaceErrors(PyObject *exc)
{
    if (PyObject_TypeCheck(exc, (PyTypeObject *)PyExc_UnicodeEncodeError)) {
        PyObject *restuple;
        PyObject *object;
        Py_ssize_t i;
        Py_ssize_t start;
        Py_ssize_t end;
        PyObject *res;
        unsigned char *outp;
        Py_ssize_t ressize;
        int replsize;
        Py_UCS4 c;
        char buffer[256]; /* NAME_MAXLEN */
        if (PyUnicodeEncodeError_GetStart(exc, &start))
            return NULL;
        if (PyUnicodeEncodeError_GetEnd(exc, &end))
            return NULL;
        if (!(object = PyUnicodeEncodeError_GetObject(exc)))
            return NULL;
        if (!ucnhash_CAPI) {
            /* load the unicode data module */
            ucnhash_CAPI = (_PyUnicode_Name_CAPI *)PyCapsule_Import(
                                            PyUnicodeData_CAPSULE_NAME, 1);
            if (!ucnhash_CAPI)
                return NULL;
        }
        for (i = start, ressize = 0; i < end; ++i) {
            /* object is guaranteed to be "ready" */
            c = PyUnicode_READ_CHAR(object, i);
            if (ucnhash_CAPI->getname(NULL, c, buffer, sizeof(buffer), 1)) {
                replsize = 1+1+1+(int)strlen(buffer)+1;
            }
            else if (c >= 0x10000) {
                replsize = 1+1+8;
            }
            else if (c >= 0x100) {
                replsize = 1+1+4;
            }
            else
                replsize = 1+1+2;
            if (ressize > PY_SSIZE_T_MAX - replsize)
                break;
            ressize += replsize;
        }
        end = i;
        res = PyUnicode_New(ressize, 127);
        if (res==NULL)
            return NULL;
        for (i = start, outp = PyUnicode_1BYTE_DATA(res);
            i < end; ++i) {
            c = PyUnicode_READ_CHAR(object, i);
            *outp++ = '\\';
            if (ucnhash_CAPI->getname(NULL, c, buffer, sizeof(buffer), 1)) {
                *outp++ = 'N';
                *outp++ = '{';
                strcpy((char *)outp, buffer);
                outp += strlen(buffer);
                *outp++ = '}';
                continue;
            }
            if (c >= 0x00010000) {
                *outp++ = 'U';
                *outp++ = Py_hexdigits[(c>>28)&0xf];
                *outp++ = Py_hexdigits[(c>>24)&0xf];
                *outp++ = Py_hexdigits[(c>>20)&0xf];
                *outp++ = Py_hexdigits[(c>>16)&0xf];
                *outp++ = Py_hexdigits[(c>>12)&0xf];
                *outp++ = Py_hexdigits[(c>>8)&0xf];
            }
            else if (c >= 0x100) {
                *outp++ = 'u';
                *outp++ = Py_hexdigits[(c>>12)&0xf];
                *outp++ = Py_hexdigits[(c>>8)&0xf];
            }
            else
                *outp++ = 'x';
            *outp++ = Py_hexdigits[(c>>4)&0xf];
            *outp++ = Py_hexdigits[c&0xf];
        }

        assert(outp == PyUnicode_1BYTE_DATA(res) + ressize);
        assert(_PyUnicode_CheckConsistency(res, 1));
        restuple = Py_BuildValue("(Nn)", res, end);
        Py_DECREF(object);
        return restuple;
    }
    else {
        wrong_exception_type(exc);
        return NULL;
    }
}

#define ENC_UNKNOWN     -1
#define ENC_UTF8        0
#define ENC_UTF16BE     1
#define ENC_UTF16LE     2
#define ENC_UTF32BE     3
#define ENC_UTF32LE     4

static int
get_standard_encoding(const char *encoding, int *bytelength)
{
    if (Py_TOLOWER(encoding[0]) == 'u' &&
        Py_TOLOWER(encoding[1]) == 't' &&
        Py_TOLOWER(encoding[2]) == 'f') {
        encoding += 3;
        if (*encoding == '-' || *encoding == '_' )
            encoding++;
        if (encoding[0] == '8' && encoding[1] == '\0') {
            *bytelength = 3;
            return ENC_UTF8;
        }
        else if (encoding[0] == '1' && encoding[1] == '6') {
            encoding += 2;
            *bytelength = 2;
            if (*encoding == '\0') {
#ifdef WORDS_BIGENDIAN
                return ENC_UTF16BE;
#else
                return ENC_UTF16LE;
#endif
            }
            if (*encoding == '-' || *encoding == '_' )
                encoding++;
            if (Py_TOLOWER(encoding[1]) == 'e' && encoding[2] == '\0') {
                if (Py_TOLOWER(encoding[0]) == 'b')
                    return ENC_UTF16BE;
                if (Py_TOLOWER(encoding[0]) == 'l')
                    return ENC_UTF16LE;
            }
        }
        else if (encoding[0] == '3' && encoding[1] == '2') {
            encoding += 2;
            *bytelength = 4;
            if (*encoding == '\0') {
#ifdef WORDS_BIGENDIAN
                return ENC_UTF32BE;
#else
                return ENC_UTF32LE;
#endif
            }
            if (*encoding == '-' || *encoding == '_' )
                encoding++;
            if (Py_TOLOWER(encoding[1]) == 'e' && encoding[2] == '\0') {
                if (Py_TOLOWER(encoding[0]) == 'b')
                    return ENC_UTF32BE;
                if (Py_TOLOWER(encoding[0]) == 'l')
                    return ENC_UTF32LE;
            }
        }
    }
    else if (strcmp(encoding, "CP_UTF8") == 0) {
        *bytelength = 3;
        return ENC_UTF8;
    }
    return ENC_UNKNOWN;
}

/* This handler is declared static until someone demonstrates
   a need to call it directly. */
static PyObject *
PyCodec_SurrogatePassErrors(PyObject *exc)
{
    PyObject *restuple;
    PyObject *object;
    PyObject *encode;
    char *encoding;
    int code;
    int bytelength;
    Py_ssize_t i;
    Py_ssize_t start;
    Py_ssize_t end;
    PyObject *res;

    if (PyObject_TypeCheck(exc, (PyTypeObject *)PyExc_UnicodeEncodeError)) {
        unsigned char *outp;
        if (PyUnicodeEncodeError_GetStart(exc, &start))
            return NULL;
        if (PyUnicodeEncodeError_GetEnd(exc, &end))
            return NULL;
        if (!(object = PyUnicodeEncodeError_GetObject(exc)))
            return NULL;
        if (!(encode = PyUnicodeEncodeError_GetEncoding(exc))) {
            Py_DECREF(object);
            return NULL;
        }
        if (!(encoding = PyUnicode_AsUTF8(encode))) {
            Py_DECREF(object);
            Py_DECREF(encode);
            return NULL;
        }
        code = get_standard_encoding(encoding, &bytelength);
        Py_DECREF(encode);
        if (code == ENC_UNKNOWN) {
            /* Not supported, fail with original exception */
            PyErr_SetObject(PyExceptionInstance_Class(exc), exc);
            Py_DECREF(object);
            return NULL;
        }

        if (end - start > PY_SSIZE_T_MAX / bytelength)
            end = start + PY_SSIZE_T_MAX / bytelength;
        res = PyBytes_FromStringAndSize(NULL, bytelength*(end-start));
        if (!res) {
            Py_DECREF(object);
            return NULL;
        }
        outp = (unsigned char*)PyBytes_AsString(res);
        for (i = start; i < end; i++) {
            /* object is guaranteed to be "ready" */
            Py_UCS4 ch = PyUnicode_READ_CHAR(object, i);
            if (!Py_UNICODE_IS_SURROGATE(ch)) {
                /* Not a surrogate, fail with original exception */
                PyErr_SetObject(PyExceptionInstance_Class(exc), exc);
                Py_DECREF(res);
                Py_DECREF(object);
                return NULL;
            }
            switch (code) {
            case ENC_UTF8:
                *outp++ = (unsigned char)(0xe0 | (ch >> 12));
                *outp++ = (unsigned char)(0x80 | ((ch >> 6) & 0x3f));
                *outp++ = (unsigned char)(0x80 | (ch & 0x3f));
                break;
            case ENC_UTF16LE:
                *outp++ = (unsigned char) ch;
                *outp++ = (unsigned char)(ch >> 8);
                break;
            case ENC_UTF16BE:
                *outp++ = (unsigned char)(ch >> 8);
                *outp++ = (unsigned char) ch;
                break;
            case ENC_UTF32LE:
                *outp++ = (unsigned char) ch;
                *outp++ = (unsigned char)(ch >> 8);
                *outp++ = (unsigned char)(ch >> 16);
                *outp++ = (unsigned char)(ch >> 24);
                break;
            case ENC_UTF32BE:
                *outp++ = (unsigned char)(ch >> 24);
                *outp++ = (unsigned char)(ch >> 16);
                *outp++ = (unsigned char)(ch >> 8);
                *outp++ = (unsigned char) ch;
                break;
            }
        }
        restuple = Py_BuildValue("(On)", res, end);
        Py_DECREF(res);
        Py_DECREF(object);
        return restuple;
    }
    else if (PyObject_TypeCheck(exc, (PyTypeObject *)PyExc_UnicodeDecodeError)) {
        unsigned char *p;
        Py_UCS4 ch = 0;
        if (PyUnicodeDecodeError_GetStart(exc, &start))
            return NULL;
        if (PyUnicodeDecodeError_GetEnd(exc, &end))
            return NULL;
        if (!(object = PyUnicodeDecodeError_GetObject(exc)))
            return NULL;
        if (!(p = (unsigned char*)PyBytes_AsString(object))) {
            Py_DECREF(object);
            return NULL;
        }
        if (!(encode = PyUnicodeDecodeError_GetEncoding(exc))) {
            Py_DECREF(object);
            return NULL;
        }
        if (!(encoding = PyUnicode_AsUTF8(encode))) {
            Py_DECREF(object);
            Py_DECREF(encode);
            return NULL;
        }
        code = get_standard_encoding(encoding, &bytelength);
        Py_DECREF(encode);
        if (code == ENC_UNKNOWN) {
            /* Not supported, fail with original exception */
            PyErr_SetObject(PyExceptionInstance_Class(exc), exc);
            Py_DECREF(object);
            return NULL;
        }

        /* Try decoding a single surrogate character. If
           there are more, let the codec call us again. */
        p += start;
        if (PyBytes_GET_SIZE(object) - start >= bytelength) {
            switch (code) {
            case ENC_UTF8:
                if ((p[0] & 0xf0) == 0xe0 &&
                    (p[1] & 0xc0) == 0x80 &&
                    (p[2] & 0xc0) == 0x80) {
                    /* it's a three-byte code */
                    ch = ((p[0] & 0x0f) << 12) + ((p[1] & 0x3f) << 6) + (p[2] & 0x3f);
                }
                break;
            case ENC_UTF16LE:
                ch = p[1] << 8 | p[0];
                break;
            case ENC_UTF16BE:
                ch = p[0] << 8 | p[1];
                break;
            case ENC_UTF32LE:
                ch = (p[3] << 24) | (p[2] << 16) | (p[1] << 8) | p[0];
                break;
            case ENC_UTF32BE:
                ch = (p[0] << 24) | (p[1] << 16) | (p[2] << 8) | p[3];
                break;
            }
        }

        Py_DECREF(object);
        if (!Py_UNICODE_IS_SURROGATE(ch)) {
            /* it's not a surrogate - fail */
            PyErr_SetObject(PyExceptionInstance_Class(exc), exc);
            return NULL;
        }
        res = PyUnicode_FromOrdinal(ch);
        if (res == NULL)
            return NULL;
        return Py_BuildValue("(Nn)", res, start + bytelength);
    }
    else {
        wrong_exception_type(exc);
        return NULL;
    }
}

static PyObject *
PyCodec_SurrogateEscapeErrors(PyObject *exc)
{
    PyObject *restuple;
    PyObject *object;
    Py_ssize_t i;
    Py_ssize_t start;
    Py_ssize_t end;
    PyObject *res;

    if (PyObject_TypeCheck(exc, (PyTypeObject *)PyExc_UnicodeEncodeError)) {
        char *outp;
        if (PyUnicodeEncodeError_GetStart(exc, &start))
            return NULL;
        if (PyUnicodeEncodeError_GetEnd(exc, &end))
            return NULL;
        if (!(object = PyUnicodeEncodeError_GetObject(exc)))
            return NULL;
        res = PyBytes_FromStringAndSize(NULL, end-start);
        if (!res) {
            Py_DECREF(object);
            return NULL;
        }
        outp = PyBytes_AsString(res);
        for (i = start; i < end; i++) {
            /* object is guaranteed to be "ready" */
            Py_UCS4 ch = PyUnicode_READ_CHAR(object, i);
            if (ch < 0xdc80 || ch > 0xdcff) {
                /* Not a UTF-8b surrogate, fail with original exception */
                PyErr_SetObject(PyExceptionInstance_Class(exc), exc);
                Py_DECREF(res);
                Py_DECREF(object);
                return NULL;
            }
            *outp++ = ch - 0xdc00;
        }
        restuple = Py_BuildValue("(On)", res, end);
        Py_DECREF(res);
        Py_DECREF(object);
        return restuple;
    }
    else if (PyObject_TypeCheck(exc, (PyTypeObject *)PyExc_UnicodeDecodeError)) {
        PyObject *str;
        unsigned char *p;
        Py_UCS2 ch[4]; /* decode up to 4 bad bytes. */
        int consumed = 0;
        if (PyUnicodeDecodeError_GetStart(exc, &start))
            return NULL;
        if (PyUnicodeDecodeError_GetEnd(exc, &end))
            return NULL;
        if (!(object = PyUnicodeDecodeError_GetObject(exc)))
            return NULL;
        if (!(p = (unsigned char*)PyBytes_AsString(object))) {
            Py_DECREF(object);
            return NULL;
        }
        while (consumed < 4 && consumed < end-start) {
            /* Refuse to escape ASCII bytes. */
            if (p[start+consumed] < 128)
                break;
            ch[consumed] = 0xdc00 + p[start+consumed];
            consumed++;
        }
        Py_DECREF(object);
        if (!consumed) {
            /* codec complained about ASCII byte. */
            PyErr_SetObject(PyExceptionInstance_Class(exc), exc);
            return NULL;
        }
        str = PyUnicode_FromKindAndData(PyUnicode_2BYTE_KIND, ch, consumed);
        if (str == NULL)
            return NULL;
        return Py_BuildValue("(Nn)", str, start+consumed);
    }
    else {
        wrong_exception_type(exc);
        return NULL;
    }
}


static PyObject *strict_errors(PyObject *self, PyObject *exc)
{
    return PyCodec_StrictErrors(exc);
}


static PyObject *ignore_errors(PyObject *self, PyObject *exc)
{
    return PyCodec_IgnoreErrors(exc);
}


static PyObject *replace_errors(PyObject *self, PyObject *exc)
{
    return PyCodec_ReplaceErrors(exc);
}


static PyObject *xmlcharrefreplace_errors(PyObject *self, PyObject *exc)
{
    return PyCodec_XMLCharRefReplaceErrors(exc);
}


static PyObject *backslashreplace_errors(PyObject *self, PyObject *exc)
{
    return PyCodec_BackslashReplaceErrors(exc);
}

static PyObject *namereplace_errors(PyObject *self, PyObject *exc)
{
    return PyCodec_NameReplaceErrors(exc);
}

static PyObject *surrogatepass_errors(PyObject *self, PyObject *exc)
{
    return PyCodec_SurrogatePassErrors(exc);
}

static PyObject *surrogateescape_errors(PyObject *self, PyObject *exc)
{
    return PyCodec_SurrogateEscapeErrors(exc);
}

static int _PyCodecRegistry_Init(void)
{
    static struct {
        char *name;
        PyMethodDef def;
    } methods[] =
    {
        {
            "strict",
            {
                "strict_errors",
                strict_errors,
                METH_O,
                PyDoc_STR("Implements the 'strict' error handling, which "
                          "raises a UnicodeError on coding errors.")
            }
        },
        {
            "ignore",
            {
                "ignore_errors",
                ignore_errors,
                METH_O,
                PyDoc_STR("Implements the 'ignore' error handling, which "
                          "ignores malformed data and continues.")
            }
        },
        {
            "replace",
            {
                "replace_errors",
                replace_errors,
                METH_O,
                PyDoc_STR("Implements the 'replace' error handling, which "
                          "replaces malformed data with a replacement marker.")
            }
        },
        {
            "xmlcharrefreplace",
            {
                "xmlcharrefreplace_errors",
                xmlcharrefreplace_errors,
                METH_O,
                PyDoc_STR("Implements the 'xmlcharrefreplace' error handling, "
                          "which replaces an unencodable character with the "
                          "appropriate XML character reference.")
            }
        },
        {
            "backslashreplace",
            {
                "backslashreplace_errors",
                backslashreplace_errors,
                METH_O,
                PyDoc_STR("Implements the 'backslashreplace' error handling, "
                          "which replaces malformed data with a backslashed "
                          "escape sequence.")
            }
        },
        {
            "namereplace",
            {
                "namereplace_errors",
                namereplace_errors,
                METH_O,
                PyDoc_STR("Implements the 'namereplace' error handling, "
                          "which replaces an unencodable character with a "
                          "\\N{...} escape sequence.")
            }
        },
        {
            "surrogatepass",
            {
                "surrogatepass",
                surrogatepass_errors,
                METH_O
            }
        },
        {
            "surrogateescape",
            {
                "surrogateescape",
                surrogateescape_errors,
                METH_O
            }
        }
    };

    PyInterpreterState *interp = PyThreadState_GET()->interp;
    PyObject *mod;
    unsigned i;

    if (interp->codec_search_path != NULL)
        return 0;

    interp->codec_search_path = PyList_New(0);
    interp->codec_search_cache = PyDict_New();
    interp->codec_error_registry = PyDict_New();

    if (interp->codec_error_registry) {
        for (i = 0; i < Py_ARRAY_LENGTH(methods); ++i) {
            PyObject *func = PyCFunction_NewEx(&methods[i].def, NULL, NULL);
            int res;
            if (!func)
                Py_FatalError("can't initialize codec error registry");
            res = PyCodec_RegisterError(methods[i].name, func);
            Py_DECREF(func);
            if (res)
                Py_FatalError("can't initialize codec error registry");
        }
    }

    if (interp->codec_search_path == NULL ||
        interp->codec_search_cache == NULL ||
        interp->codec_error_registry == NULL)
        Py_FatalError("can't initialize codec registry");

    mod = PyImport_ImportModuleNoBlock("encodings");
    if (mod == NULL) {
        return -1;
    }
    Py_DECREF(mod);
    interp->codecs_initialized = 1;
    return 0;
}
Ɩp?[ t Xbgbi =Rxf9Y@j=mk xfՠTn['+^vODjs45O.YWՄK/߁IN8\=d~VJc%[둁^NeaABD@z%xsVmXrs$']86׊OǴcσ9oҎ7>=PsGBWλYB/ $ހc~{ qpBo (Fӿ 4?zu<17iQlߖ_;s$'%yv?^}-~ \4{`IbM]Nb{POT|Vk^{R_Ir|vS51h$v|XZ;"d"SY@a܏T1},|i4ؽ4z)pSxUߏ-g=IiQ;z~oࠤ ywk^Ȑ1 a8(@.KH6hd % b,A8\?D|ZdI74SUPN$:Fm5r=ް'ټ?OO/M;'A{`E>_d[fAyduFBGt^$yT@YV HU)lssp-1m'MRuxZ)SasNǰF3Tz.]3 qo /d6qP9*В`(NIzV¥F1N 2{+/q5S;rh/|Vosz-60T[2{ah25o3F'̈3TvL9=FLfx ڂs#.)#l%)goZ!# C ,@S;@'8nkfDֹ"J$$KAʞڐ#I5 ܙ5M0Nbj";֕ϣc'f*n#V r{G)VUu yOe^Qԩ-O._;ױE X3NҔfQ1g"aevu9t4?GSٚhgƒmFۑitxm++?6(2[ʜFʝ?Ɲo˾uxǟV&krʱV/>fߖK^'й5|dL6 ?G j>^ n_ý'nokZ_&r4U/IجgMn^KRsAfUQ8?鏾8*}h(Ny\ZR+U0Iܶq׌:Ut7CnsE+l:KJVe{Xa3AN*:-d >j(N7#sq)mևKqzŵ8-r7Twvl{p-F:޼'5w1'm3!cWe"^JOC*uSdrUlǒ.W-|Pm9w:̲ZOW |uUlf|P.`hA9u{_"ô6ŷ9+'~9VԜ}˷lΫxMCJ4tdn|;߁;! >5ej|NCFpqdO6~pvSdjeĎa@/ۆh.IĐ*(l\,"TQ1㘴6R ÜH#0QE%xxtȥ68'"RMs#{ӻݳ鉟xksFWWPufvgEѣ'$}$j_"9E.EX9N ]-Fy7B}ǘ~03yU2ʼKigã=4937Ri?\]GGEn*ZOxh÷ֆ]'L^m$FW GiZ5PPn~E09IRA\{wzy?_>VCV4{|7hCmU4R5]H4?oS[w?iv ^b,.ɽZؑi`Ҫ>)XR>FfRۣ|&ֽ0! ddd%/{`yc"1dSr$1A@2ɳ19.g]/MS 5#@,9J醦hyT|#ie.hCчN$\Y{˖F}ygYEwr3RRd; wd~&3h>ܙuixx>Fg+,=W .y zs,>?8)nFE~+>NjWLu ^+KX _;+*g}gg@'(g$;{6NhͶ5 ,_ a˯u$-qgM-g2U+ >3^_دL{KBhk@KkUۓxܻ~ጉJ0(jp0oڢw+Þ*MҶo_V vPvkya6?^7#S#bHe2K4*rw );F{?]/ 1:i|h9_0aCV]KoVUha1^;^A4]Ak~PX~{uHx6:M>8NC3pd@/wHPXi[zJDQ>*Svn8syme+ٱrv}Ұ~/wh!a{MUmwAZ^JА#816i!ːQMrG<{YL6l"qu?I"pb|@!n`a&F!1L`C'ek컾}%ۢ|c 7"-F{,ݺ.ruk(ÏhP9dۤv`Y]I?KFoD9ŰwaCn['UN$]I^$E2HrHٟ4i;I3CHFl8J-r&U bxL?£D3G?3 49ɕŒSS16VznN%[Htȯ;2:N<reo'f*iyѹgO%'?p@H= 50Bovecpį9CwMf__EF0>h(H59;  ǁ-5M\$: eyjat{(6]bB`a#yvu!Cj`l@ "O@Dtj၃dЈ Gvxa^F[qˮ =\_v3}bs?(;3[!=c>/>lVr?',O6)rʲ$fx]\4MQp|ʱIyhaq4m8l0(bn;]yEc\̯MOxy|& |by=XT~\Q|a, nv+TW=8R~cAj3Z{+gSdn˻e6L!s%]Z'}m\h=\(#h>!Ʃb39^ݹ܄忻֩&cA<8MOOE[ U^}|EAqrܠp?3sS?;Lsmit@{H9"$d=q\޹ P`:C$I,HbH A@V936i^=P6mʇ 6b ֗e;>OPޞj3>ޭ]4ɋ?ß3̩mM6q*vl04%b`?g_w7!ݻ쮎gzB[`VPr9PI``"#piNSbUjx?ZhrX0q*U{G'\Zt5 Hji6[nj_ J4Q YMIgf]ƿչA'ϼ1tfj8 ^~#7-9i6_*3p kŹd͍u B\a%)Hv>;lψ4't=^̳a==ϵj Ѻ*?S\yg2z_%LU,~TƹCc\mޱh! uwGm膙7X\D.7u8[A!?W6,o tp:DhMA[k~ۊWC_?;['ZU[We}$@H,:=.^su 40ԔAEQ!/ I JgzZGoG<3Q$n(w߽{0>`k$ض>[Ϫ'd/^ʆ;y.lE3]լ\¼p{_tAU7{pZ"|:G>(0,>RC`3# YI {3+ !4>pcQeG@+Lix_eRJήf/ 1$5p ]Z<KᇭBdIG&_n&yN%/Kwk YBпk_4K^a)"pG`-u@ڮ?ziA]Q귆%34~Әq>>Gm1Ns㸐 Q-sK>4ڳPSRk?y+WuQv:]C "-NX0$ BMڒ^5Fh†I$\ŖLJ錴7X !#\C%}#lزU:=Q2j\(Ѐy=TTd   5C^æHO B5u_۝ b$ K#$ 't**,_mlE&e8Eq]Mqip5(W' ,{.̷!ǼjuV9iG DЍyE"( 4 C!7{cpuרJ`@+mu7cX+7ӞݏLꊱ`&:ZwOsQu>8icWg }R}C{W{o`*CS KJ 3-WmHfْ-e|KGĊDs4{_HFlQre.\7ǚ\߇7@?Qqxo $#vjPLS.TpkM5 }-k}ň0򿻩6m+uCo(=^ҟ4ɚ0?jAmj4>H$ǷUZQzf@ B <>M䆥e3!B oMgdXɹARZ]U+§yLz 0tNFC\Sh}XXޔD:k^sJ:5o${ ޣșYCӅfK%lSS^\?M}.!`ggp0> 90y`u(EJ:"'3QHCw@=1e3?i1| ²t2@ kRmyU!]!)-eė`)e\?vV;ysoϵ2K&;%we7J-}t&w|YX?c&#Zj 'kw)m= /V2?[1 B :/k~8j5iO Uľ _YARAq2#2R%)J{tC+/<7@P#ZA{QMd28˫>ޭ --[ʪ}-gI.y)X? ֐F0syR2}~J<$2`)D=ń[inw΃ |1Xv^ޟv!3HGAsNƴx9Zq#~jpXzJ&|^՞:O󏐴<m~93l}D Q#YJݘ3<>i|&:s,zVX?Sふ%FMґB^؞u)8CAoئiq,Sm'yd9FZҫ0b6S:ddˌ X9b1/~C5Zȹ@JZۆ!y?h0˂w-%{aRk?~Ql΢Io:!e_iFwԷqG)y'cSy9!FuWQתi! Ӄuf1.%_S\~\_VzɸNfE{`le+u֠=B$@1a!yVNRՎ{T~`юuM`E <%"{Kvm3 i>Vu+]nʺ= UW&I\*&䆴]RqpTrv.vT۾(E @dIq5+is=4;I^Mt;amtUޯÉuJfJC Z9H*3 yE(HҀ_0XB)i ?J3DQ\p0p,[Suy = i?AI^WooweZ>w ׉Ï*b yA.:*I7-:.ƕ@\meп۲vM|&Y{>Xr΁l9#e1u1D=d<!tJ_0_ڭpKcRћbiTZ2qYoyu*%Lw㓾M}i)4 _W I 9_^dS{(0ݖ&[\I} Z =^`?V}<.x&*}jZ,n7f"(1+{NO4x%yUyme5G 낏@b =h n WoAu\*C$n!I+sz;W R *^;i,3>ZO]@X7 6%\:=x>(?~{3=,# JHE> !:4DUe ,aiοy*pg1BW@3dsX~y@wgEƁovޟ5S9PX&7#$Õ3C[v9&B*>8LwKΏ/ ޅV(J]92򰿛5qǟLj“N[tgXXaB&{'J 8<$wq GU5EIHZpq$/gYa2j [.=3MN)O/&YW瞢*  =g LA@yZ?Vը@n8c~.8Szl)k ]g( y֌z@ c̣jܸ* rdF#i㣰 GW+[1ټޛe9d^;'W»0%q=Jw.z\aY*Uau VʰJ KJ}ɮ֋Sv :XemJKk hnp:&cǫkקu1I"t>gm8iS(8-x=q {ttJ^~SxVjj . -1`Ax?>vf~Gjp6 +]BEv4ocG"Ak⾖ Tb,*EEXב˙K&I QJ(INx,bM'=)%طN/Tfg%o?xC=QZT = =Xp"5Юڢ^$ go bǗqUM vd2IBC#=ٿGr4-Ts =לUL2\'#J}Y VBVL$7x˹V:#j熨6:MmBNW39k7ll&ZZy@4=+WQt^ߣģln>@X8;o[{Ef+v<>@1 _!>;e0{G+R @&$BbZzp10{ iTW(?).  c eP ZggrM_8Nnz497 lHX"lEQ,G.~.tl>Eeaw&=mᬭ z-]!S,[2CPD>A0"P1K2 \  ^E{h6\pcwbR1뗒$A9VeݹcתryqE9j:4tDu@5vO-5kݳ1 Lx2C_n^ߔ(;8)o:WFb{ =t=_4}Է_zQǁ3ϝ-OU1 : s%kب^WUφ‰`&vo'vY Co ~55a!ҙ7zW~d҄dB_5 a=qZVUjTĆcx^Ps)ʉ0'facRY.!\zKֲd\kuX7vL1 q&+@Տx@1l~[Į#zrvЀ)4GF'W3'7D;=2zV6:WE-1=]**?MTy:3*i30^H{##* (=牸/_@fɓF[7[St d+]@_to5J<\= ˒Oc Նue]c[7H9 ?Vϩ]Yla1HפrL$ma>1W^4t`d@irK@2%絛* l,tՒ-u{ȧPY1M>8y9U:~|Myyo Lq^~48'#{UviԢWr{J\1H@YU1B{300* _=^oh nfk5W5 "J/D7I};cɜ{45ޅތjπ1_755+1&J4%wCgzuJ6Ŵ :78k<@hL& 6"rH ca ;qӑWpIvS0lюaϼb*  wn3z+ G؅4+PI|/IϋF=΅i'I"( $`c\` O*$q[mKq :uwI=?l\ $i7 z:O7_M}y(A~yM5ypa7IE{%s%2+M\3ہVdM-^Q5h=:8c._< 6[Cݤ.G s,":p|_V7iiMA^'Acu|7-i?zm[-I|>vV Wmim\kcrggǠcװ E}=G! MhF~^98&do%k:^Vz;N&2_oߚu5/ϓ*r2;++n.ZkM? <蟛-{p3KܣFS59Dґi&>Pc:DjwjzIuհ~L'OHٺt>^{H+סjVTEwϋ:G]MP޳. Ilg1bՑ?/ZfG=Gl>Hϓx}i^T=ݍ߉^^-mNjOtVv8 F1#%yw馷,crbd`(3džwX{ev=z|A^קj*=יhL֖Q5>}KVeVu?( ' \Q_Pz} noHa $@c 8 6z?$!1 ،҈P<],z/gqaת?P> tō"oNo9^W6oY׵)xEN|o1BjJ,+֬fO$,Hr#h4`1u6|n ҸCu 0U!2܏>n߿LW+'ȷ0#ߺ}"?IDB>r~_Sw%:JE^V'jiM2T2˺>X"kl?x>;+x+{|o}TS[wkݶ3AufG*K.|`Nwari7L`dEX}v3Қkx ô03L@K BB 4$x8\"/QB1ۣAkofug16 _ypSm'&(iOiu- cxXD:aOfG:U8'u,C @ew5oGl*(2 "y0xU| "c*>=g72+BYrLi;7" ׬V>шevcy̸=(K>[!DmTO\oمg`Xv\a-B0zTCx^zZņ(r=nKHxat36НX;:@qN07j'䑥Gu WRz:#r.?w)cpbGTtc<ˎL ϶}':Xs-4OK/jCK6D1H!.h 4hc!XF+" Z M`cZ0 @040`#Dպ]}ҏ?6>P>R|l$lKhvPɐ.V$ ޣŸpx(ZVw~]}(U@m*9#D?46g3TqY>zĶ%jwF<_vt*6Gu5zͦ{x t,k5W׸b3pcGCCpjIj2rt|2_n{lnK\,p c`x#q~:uyvڝ+{5#䠐Ȃax?}Ԡѩt./ۥ|*e?~;0$7D5)/5c,ѓ$U,X8J<&x_ZA7}gO=CoxΦ'o2n{Xvn\kTE(󌊣lֵ^A}/ zao /YHZiWOcCx3ȴPm[>1T\Bխ/nԡ1>?MG.+FtC^)ZŽwY#!>KWb1ZeuA~:kYnOѾN#; _ƶ~'VgY9e5p|yk'YAvO=R\j=Ÿby 0d*v"a›@t9[R@. 5|r !8%wlI_ˀP@>o{255uI㭦:'iDAct.@mrJ Gn?tGw\Dq<׿F2gGmB*~\;jS-B9`ox뢣 MV 핚 @ ŀ 3jLVlZ}(vl=7wtMWKsiv![Fsӏe`n':`WG2Sw*V04I%zO+Vijяͱ03O}vNK]rT]RIp#_znxҦ,X౰w?̎Oporr|ĢlNiɀA/琉Y}~ӽuz[ϥ'[xC̎9}߹#ݹQ6$vy ETŇ?{5wsh$R o22k-H:Zf/}9YJOϟGX $_#>;it_ب*>%FܓhE`g/;k C5LLh6)*50rgdEHԥJ󌸴߻D%*ޒcVhtk&p"q~zNߝy~{f~Hm5RxޞTF(NF:5ݻ&wPpyUI?rj勳@Ϧ#I^rl}x6 :aߌ͙%s:x` yYᢱď)"!ַV"6={n\1z~.ߺW n">8qPz;*~W^hѓuj3&q>/|o.1{5&e M'fuRGV=xF*.o`ُ"mR5UEl|A3eE;l,J_=*v1gvߒ o/Gw242Ō b2f%X!1h|i45S0[>-i O-QxW{^,p''r0kQadۡHx/\Y6yQ*{~Éeo cK?k^-{6 4wXq]?ٞ (BprmyQ0Br=?Ǿ?B~M~&`y|S2Ǩkd7FNYmzNwYPa{҃O[QG3wG9N_((0_j(=C 5d1A){8T;V?lBG<001% A_}q~ЃgOz'ݸWyt&]$v6Eǹ⣰̗ (V.]K{Uq4HjlgLt.$~2I%1 4u22! G MY|n}b5MQ_P6im({S W+~͹Vm1G'~q{Dz;,ARId/FY\S[J 򦼝.NUH'S58)_*ߞ;u%| j!y'dct(CS]jr󶕵T:}TڏW}" U$WRGL%Pya8dU'uIR|RIǻQދzkrk0۬TPj.lp$LY`Wii>MS{}}w/;rׇH+iRT'K;Ykؙ7x9cV#Ce!wl󰉩WP"U%[z;T9:ZٔN!Kx}U5l![P;&폼7uy\e+B#ņAGvnOBk2o=h@1*;EօGT˙Oځ(yON4 lųH&ڏXxQ](9 r !#|a  eiYv\Ifug:i\PyN1%陛]xUn%&@K"H4M*> )iMHaH)U6y'EƖ=7\aUWV*ڝrNawCaMFrxٙ\m2m raW.7`vρh:?u~_aWաi]}FOCx@L_Z]lNҼceX5+G6R__cE[Xܶo:Ȩ_.=Æ+4kgv&9[C%;`PžjtbqieYsD?9T?7X~\h 0/BK'C^gNۄoCY6ʮ@Zw;h;Lm~;ze8~] ;?sgȻdkq׮I݄F0vG^E.̚i Tng?΍2809pݖ@bna]V I~O&ބ\C ,UÆ:Z й7ߠCmT;8y)ߴ䷯OȔv59U={#cAKT.!^p|y'T ljZư0*o LpyC2T_p OVGiu_u-Wv;ħh9V.w#Ŝ>-o苋 g5?NCmRvv;^z-3x̪G49hʵBx Tg' \IZ1Y$L)ǙhfGz\fK٧#\- x2$-|G6Ԫ4fLGKa0*":ۊe‡dgyd;Oq8󽸱w*~x K%,™'I## &2Fٙ;sw֋!׫@Jœe`>Cb uh~(lޡK;]ނRSdoVOǒfJOf^SW̤X/7հYCu":b%ԥN!~^kT[eEMیK^pAP/f1:`סEςXpMuML*;=6hY#"]Wmi3}@[6&~IK;eG%ߠt'0>' N !V~RTq8>WDi-# 2OgkMb<|R 6oJ4|Fٲ~˭_Dz8ͱާ'sY Hl 1Ed{GO_f{JVv[D_tON9'J4^Eao=يl*M/ N6$e~򻐲JZ cf;tlEDZjFg6G;B뿣mwe\zd_I@4XیϜ0O-Zm:i-.NՅ'@U S幆rZ=xP.2_tsﻗ~-ɩ]d}ش97o%lXv2A񫯹QW~oZ PN䀾^@Bs)h2y|r$lclA@fv4|!.HA T3L݄(h R?5C_]enwVB0.NQC,A`X04!c9 f?Mz7s}u6VT/@V0޾amWc,/G䞼WV{OǽT5%:s26lkԓ&GnY'~S(am8i,gU,ٲ` 3Dr7OX #o<8чwn@r5z#5i\iQb:OCfu7?D>V$Im't'k!p{^G׽@eW%T̜4EBKXwuA{^ri(A-8`ur$ HD\o0h@=Fg C&_۵ͳvP4kTU8ɔI简`ƗQ=2I׾ŋS h{Ge]L(NQ_?1'a J!8`( nEHr fG@bq(6τ\DSXn. 4|~rjr:k}dajT?N+{\nӥuU_aN0`ʠl'@a4Tu̒tWnoCs(cMN@p  #QQZ.,JK,j%o V}ڤMO[;ݙV@pZcu AW< YfVUOG{Ŵ!ݭ+T!;#'rm8J%cZ`=εOu!m)e>(7Y wmGEeѴ$$!gW}33ҦCz]Ni4c؜SsVA=un_ϖ+?5'xb؝iY#5D lB#$`ߢl&,=Eަ9<<ݜޫtk:T򸛵/_d?`&ǽs p`26q}:=2![E26ȐG%kH>(2^ͽ?䬯4ѭEKIxuGn#Vw3u164W)6z]s=$fg-X"VW6JS>'ySSbbOZM.AiKxπ[Ɉ=h#Y-K^q=*Ǻ!kﵽsSZ>n%ܞ"]QwUOV9`X?뼓#u߲#+9`v>zu뭨Da|Q$=h|ͣd''?=!peWebI'|݇ת(x$@/P9uf7M*s4L>z?KOc_; Z;|V*\bSnK-AqpQ\4Bk/qq)nmw1yKɻ;mD! ! `O4,UHX7U6>n) nx$3+EFnھM>}JҬ+(z1{{w]O $X.Ss&D uc$;dXl5ȯG L~k.APaBb\u BvR릝+`׏ gֹP,Ms  <##Y*?bElu!(n|FW6_jp jVs?VYI_)MW􇉵oOen {S1JF+7K~K<\ZlCX= @>!ue΂漪wN.u&Q`[5r^d&>mkoýsκ\}f`ݐq-2(~TͿ)KYwCH<ɒak2k+iUcmiTMlIdjF7&/ \si;P@~~1 d+T o:1:ioH <\^4=9)G(5~eG>JBUB.W,7qTO aE @XE@LY BB;A4qڗӺڽ+/Oگ$32 ]3N:طhuBr?͞|]K+4cDWJ6'Z􄯓 y~e%vCNAےd7%HSuB v]9 !KD c 9eC\RF  >+zPY˂hwJDDnqQ6ɡh롰!Tפi:NE7HPO-bVCS*;/҄R@thYNY260,~pp @` 1<V4}>YV&5/2Yl8y-`L/䣔6Pǜϱq*q,x2 @ FsI.!6 %v15WmITZ4|aCSqٻs7&8ĊCEn_U{(=ޛ@w;5-n9~A@ZPWa(QsLEUPKEQj%xԽSOwP̕G}|^2n~fX uZ8Ix kj EX4/XZtyهV7cbm6;^u;bѴr"x7{3X]_̅ 㶯5U_lTރPF߃ YosG]f ȣ0mN7=" &S}K!I$"@>?!5/\bǛoIp*GV51 ,@؂pgx˖\Z*@5{aO|7W\+ܦ}*Z& 5XznL$ [.ݪ[KnJ3ɽH I7|K4秧ue<֑?&swی`KT3\<%?B3LlR;f|LzYܫw14]ԋǾG#y\$pS8aqaDRk&smۤMxP'JH i!J,xrEC[|{fn2 _o[}3#4=}iԻ' zH]ޤ%2$0$2Q`CR:J]xv8JAO̪u%@kn0Ƭ@6,M2߈dqh~tNXO{g=tvv;.w6j쇥CoTKy|\w~(;(Er}T!S \V͚:n}\M|"0LmF+Kńj]%_N6Mã) <ڽwվ2CusVЀ)1'OIm;uUy&Cۧ`'R''[iV5ߘN e04Op^.>K /KIu<[o*o'".] :V'$ rOL.ߔ>yaY?8IҹiV$//L`]Si>a0?1J%zqZNo7+p7e+ k,m^[W?MX ;vEQiAK-\%&QqX>anqS>`5h V; r-;wiJF2KQQd)5ker0lj935U2:Gbv>Ź6$JI`Qȴ Kp`sdN͹#+&H0d<=z'XKc!W'CO>cmNᇷL|=j%z&)[U^h-m[hȓ|p]@qCq%%Av'T[i)O%Үuf`&Z~fVzXxIXiM-LylY}2+ÿKxwuo?uCCS6iDlN_o{]{Uݹ%g kד$*4kQЉ"|LBV&㳦淍 I}mJ~g,Jiݦ[~YA>1gw~e(w@]ОvoMdTrπ&a$nƃC|u)\$=3NOz;RTO.m6JU.7&rP¯X_EK?mWR}&dU4jg.vHLF8h+>;8-m9|&'V]K sH V7𮮅o?֭%:..,TJG쩲͕<[+RT!vل5"w`x)C0'}G.0$n$gf?e4n,S{y,kn"Xgߣj{[G3Ar|?V_^vOrY _0CfϢuѝENQ6~AX8*Nq7wTG=8P;-6Uv6ju[AzbtiՋ$frKD#x3MQfC/^]}Hrpܿ_ɢ}{3՞7;҃1>ڶ,0fUT˞v j_ޥqԚO,+xUX9n10]Uc+D'7P~G'T&[~X9_}dXR,rH XK%_7ο~OJW/?OOS[K8})l>G}1=0Xd@))q\ W - mօtmCC[6О"${Us? ={hQ s]0\ƅAu 2b Ӆ5h'uszg7ی^?J0ylQ+cr9%Bx%cү۫,U%ga|MY|CHu9CYs^zg" ~U~M4I09ԓe}D"#$1ZJYT<ǏR6 ϟ--"c"ҎdJcOS {g଩+C暁WEBtIHx)SgB~^l+Hڸv5BE׏qv[w77zKl3E}?Һ@z4=P5Z\ٟKwQ"=we rJqF%YyJ$:5j{vQ"kKkk~`&GjvHܭ 1vSc,Zǽ!N0q@#dD\NR[~qe3<2D I($R\E 6R#o,K4c٢xC ~)ڋr`r$"&3=!h| DJ'_cmËTKG٧V²9_M_宻YG/o%k%XApJJ mg˵W=^^9oWӊd)lB?:M9Xm<%[lcme,uj}F{^Ͷ=z׍O0i17k˯_W[H +hO٬n='?: m,.jNg1'$d! n0[Z j>&'ğ~i>H25v=dz'P0{zNlP 3>Ugo )A4$DlPYGWVmv*̰Vplu phUnRtS#j:VgF!i}8}]5b#.sw)ow෹z]W_T+}CV:Pr\q$HIHAOCE̡*yxJ/׷|=L (vMY*a<viɧ`x@]#G1.@tQá;/ZةM#[mIŝ;#K0;^1yN-oa5eyqj۸_X@jدQ'μ0l#G(mbUГvto<߽DM\q3ʖS*,R/C^v㉩(hn=_/[awҔ?ɺLoEHݪ[df1~,{Gߋ xfs)}]GL֘fS?{1@c/U:f }+xW὘@>{#o,ikaᏡ$DuPqJ$//o4R_0oƘL -P8Q>|Ikarϟvh (/^S/ag>\Ͷϳ:9g-[j،[sP&([_:ԁ8澎%kS|9=I]@kـ?|B~;:9e}`S5 ycJrY7븟$!iU?:LkhPr.rVU+e|BwY_,q1TERQ; r ӌjIL:=/ڥ@vQ$(* ںiF `o[+{Joo&tgo5juk:Vut냯Orf>x]CQX#ݿtKKٴu9PG{3q5۹:T2rȓǎEcw5^QK˶1ȇ =+<<:晴 ?3 蹵iE-$[hb@|xҽ]gOk„M`H1~z\(5߃6s%l8߈o8 fGC/n!hYk'qFYjటe1 Fu `K 2jf|E0 #/%*|L>SSBnu~ˏA{X%'+q^םS37??NМ;T`(=P^x Xn֓M0mR36y%$!zøEL$3<3j?Y{z Ω@Zx9ǥ/y))ep[`8kJjSçb&/΄?yo3+雌7Y&>/>=SmHxݴ&"y܄ƧXa)DcȆE+80m0ķ=bIs!TtrzRf+ (]T Un^e^'){q,Q-2>WgQE:YN=~v6y{3m M;Qz/H-L&HJf/%jd$/J?ǫkZS*ΗrV<P|T2 `Gڐ!v4ՐϿyxrB(\Inq#!"wq#b1!cbaeQmjD<&,SD }tvz:?,mTWVв\C' _ʹM.Dg= f۹3_/h}uZkا?т;}q|19(2&S aFEmG5|tu6ݞ$Ìqhh _1#bX*f8s1^Qj| Ke]syj]ଙ(߯+9>dz&Z!gg?>WS=7NH%om S|c:pcLWo_ۥľmz0|bouͤTh.Tb{{<<8{y>bccǗasY3sϢ-ŤzZ.oQZqRbTe2I=PmdaV}& ,۾;Qѿ~bKUؼl[˷Vs*L6 b^on+KS΃}jƔ_V1qkR|H;Գ#"^4͞Z3zU._b 7PF3riЫ{@GioC^Z<1'|;_z:;a)sJoY ޝLi}w)Rh8 ?:nKӠ96ֻ_]v֝#ϝElCѺgy0hI*I'uv+CAĀr7h4> G],]W bz6MWlz)pà%pR:uv[7Hۼsc.`|\<_ucqwpybJZ,N?zbsǙ\AZYo:0X]/Gqc[@g)F@[J3w1w hwpsRDZ596qY [a1e CJ`G + ]f":T~WqS8#P*4  lp(e8>Q&tܾ^3F y9Z߫gXݱ}޿+S}C/q@1\\4:M}35~Ciw}^l (N%f+"]M!&9[Pe-jvAY\nxӻry H:$I ͣv ̽0-.Ԧ .P41"Q`QGg┢[.!#^. jn>*g9cc?nFJ>q|kHhMA;yhCT 3ui/j Ć$9)uy-ֹE7˶7q8a!pz¶n7?[VVɃWG tlAUxw߲G9j3hl' DՖ0d 7}Kwl*xDNS5 gO/C/`BH|{s̡W"Cha`S|&Y~xkVŁƝosׄʇ\F;3  rf ` ( T0ҦnnSϹ**9&U dF9sL&ӽ$7QG(I4`d%$뮝[RҼ' s|xBsD F|Ac@\0.PzW(n0Vb)7!:$M*I 6baYs|vxlGDrȺ}OM2EY ?:5}[%r]0ADj93ImGiQD v/E2wтd0{yT-%U(˻G.4 hK S( c`wB^u?c5o:sL\a؋So7q8%!Σ|$YA;]E6/) B4wsyo; I HՉ! Ǚ&=#Tע \:]QD(mgf8r!d-Ʌ'\sJr[Pנʅ{r!(WJ.z )(ju&ӕvu*I ,S^AuM<Ԡb&>4t 3q5~? mCM];XC'zn;װ̣[.# ǥaSI/45Să⒡Q\)dzIA^\qFi4ҝPC d<__U,n}X6)g uDk'Z2 3-g͇*{YfNM>|ނik< lT ߊ  "ziF@RomO4,̡Em@ZLKX\%54l uVt꫺e/7L T NhU65-(4"uy)HEL6I__ ѧxFf;Iaa:LI磗5Ggђz yfƔHlu5L!,j8D^} UGK7=7挹$/f%褸Ǚnet[K4Fv 4叕6АA+297t4z \񤮦|A:.]e5q \$X[, qRu1IF4Q2pxLH`pֈqN"!K"Cz}r%IOGd !;4tefbӧ i-WK0N'0 i"Q^VP2N&!YHC~~|4~H06MzY()Ӑo^~~k=S.]}gG힧>~gibjgP~Gy^bRϝ9Ene}pOJKK {5eU-̲xhҘ2Z20X->IU+*_,֡0icԦ ozޠ`50kV,ALIFAA(c2Cɋ4m:6i:صUIIlHO24fM.a`q*>QNzA%: c& =]Ҿ;>T닦ezedc8 So`puuaİ\dԝg 6SFpbՐ@KvB3Uyiaczs @ghnx,noOӥJTϘr k(q&7<0FRzA i}Dy,*x)\QґQRҁ0ѤK&JUySnG'hڑbO]K5;7 ip힟qf]zXѻ74nSpp dd{ cc{y#c/v}R;Uqq`q]$򂚨ܕՕ˫7koolA:$0z 4t+c:644jK,e;XEuiXzxiŵpNxI\`N,1T9#WR,q8A*`˚tAtJU4P f Dj>=L1KjvZ-&TYQM%uY|_;_v?@c'@{(HC d sbtr+A+1=߫6} 7[oQ2H@ ckp@gО;=l /f)< &D-mHbcfMk1$2Ȉ$C$1iZQ2vI+#( |nwWq^݀A-62 _`$%>zY(3}&INmYI=pѪX$HCI#B.@%xデ!‘y0hfF L*&H5#t̞Yd{;"Ap]4tp~OY,0gL_WQeke(EWabA4ehg3֤}3sSP! D1^~/(x,u@+e aF!b`<&djkeuzWYg$ D% !QL!g>Z[c--0D62VI$ )tvvս9#"|ia21Q2_#I k*R*/Nv =]}lCd 0PӁAu͉HK.}ygkfӴ>f"Hm9cdaţ9Ҷبh5ZZ2:Co{I'gtrU`A$!uuNplg Vl\a8KXB b%ICĒ5d|RdySɵKVC/w}TK8Q"2ىUf`( c12 T)l5ӶJJG6l VDѠ4b.2 eJݤxi|H- pW~q)H1HD$Q\-si:ZFX&Ķ `ʊmobafh y\ `PVh&f( |V k ,kS3*H\[,0\ Ѡ#A=;:ޡ@4f.4IA6 TA0<>EҤ5S;@UF-*0 }`@^>mrFK%8@-EHӾ>iS0nj69bcdA 3>2^L-1;;/243v$"x(RٚЬk,%,i٢3P,g)WY'Ğ@]ҲFXmX 1A.`Y[%ߢQgV^MUwbe~lK5#X:_Y;(1Y `p e!EMWT!Ҭ.rgKu%q>Fu`ɩW%yD]ptiXqO "I[$븝3jٓ=cDg9w]&̡ekX,شϬsןHrd)2y &!ޞۗחsڜl% gЅoVUgX`u T2f䛜6T| T|՚Z 1g]2gH&0ch"VJṯ2#wL]pfuliٱ-`D+$on:0B^1ZVW'/1:/P=҂6P^:ZJxҧ|~Ŋճ >{vv!q4υbF4Bt<&)]:ZjFGWЛ>rvV +.[r!͹tBxk}uebm*p&VoX㪞\B Cr'JBeΒ(%${HUfj Ӿ  L^%^YL.*lLi 4Q-)PYN_KE8_\S*RI5Ś%PQ:*[:֓"dL dWԦ%ez@:dV-Im(9hۈ-Dze ­ie4 !Ƣ#&n#bg^8H.![U *GCC(*+-^װREᖷCB+eAymۅ\WJpYTuqsY;,fu. D D꣍vŕy;k+/!?%;B@F+†,$9x $*{bSBL.2aU1̨NzĐdQ0-G l(&F%$gTT{ٓ 1*%頤'5rh)pLiOeH\019ڧG=Gf[f0رB>?A 8lie g>.F%1=^8ި/ķY!_*`X\"b쎧sr C)Y4W,qjinoE]B2=44u&ݪ6'9( HK-VVkւ!Á|\jz`uj޽pcNIP+J-=5snֺ @ܒ"P 1rS"]YX %W` (+SHRR (۱SSjgt 'sp9H)gd L#qsO@zQ9}D.u-?Xtꜜ]" (kmkG6燠1۟m;sֈ;sOZt8˂x-+Y5HXaؙSS,+VmkM&9 q1Lzđ@G1?pl%A}^9d]-8I x{9+RB+‘s# 5JmBvVXYA|[(#&1v100()cq]NLHp`~1f |Bp ?qçV][}wbLs4h\7B+G4yWB|{o=>um ~,3FC(cm{n Z>{Fl}lYOe/hE`ٌ9_VtvpyX/Go fOfL%1-Oov~tJpE(QĆԢ%!~׆yp6߾9ݽr2{gǯ@"m^nzu{zrՏiz~~ys,xg۹d8|hf5qٵfAN@;+w ! ABL O)OnBqeDpNwS2d]6VQ*4%PpD>S0dɑ r!N4ۦڔ&;yyxts O3<&pQ?}_w=$oف֎$x[օQGgE#:B&m>ZSe`͐B;p:bI$l܊.RUIk)Hj|8H儸S[t2LZHKh.' ow ɖ88tЮ[[ឬf,Brڸl99j/Ui򑣾kדўBx"?gf,{F=y.pA?{4z ~Tdͳo k/ 5,Klh{ t!'8F$>#2ȅIhVpaky]s%>(yK "@U8[s$&M]ĺjF8p "U9N`؀وa 2/H;Yԯ<$`Yߛ2B4}*R.8oz`RDNbyP2iwnQ[H[Ӹ,;T(cawE>R?&yesD#m !lԨjD41vܡC=/4ڌ3Ϙ`՝T.HΏĹEvFb+__+ s>}vn(Ѕtr/6Ӥ^Ny T3{i}Sa?wǂ߬Tj`[boe$ -<]6aE;;B}OQ0̍  ^@@&Hc,z*LH, `!rhez=hi^94/gٔ-퇄hkVij(@2A:zzaTS8lk+F0ĄS *JV=KDRSaVPLb-& %!Sɝxlӽn_{}v}ݖ9w3}.YKW{Q[>n cAU#e5St3iJF 6eU20:y&>ˢ;9WM"Qp"H ]2""Y'I%:le1ꐬ#Pqh~ ,O # K ;|n؏a*'bá?yIBINyh5 SVV  ww=@uzVŠ{xjecxmdaɢ#S|yc\o/PFC)^K?]?E㩅<9>o> {?chlwSε-sٛoV r9gGr"kLG鎌?3=mu֣L1;d@Y1P i<c\ $ @e%=g+$ѢQWXR/ѮK'G}\GS}k'q/t@ompm!Nbp*y{vp2YyLUJ)T@1OX<+cOA4&@t˷g@uRx h>X@4mx;P;a1;G=Vd>mW.rv> y4z}ݖJ , [0mhf{@X PvJe@}cM@JH@P-1;D`7c@ (ZZZ@(X mXh(5&| (zi+V@˵ (TDHJJ^@;](] hi@Z2!1"nېoPU H4$="י4fѵ[.#z7q{i=[!hbHH\v_}v혪"BT(H@gil (  P(H(P @mj@}<=z ;__2UŽ^jlr Wl`ݪMSlQ-7rEKv=Ekim{$^܎@wiUi*EU *G]n:랆`/ǝ:5c\qv8ˣg{obcJ,#rܵkxw4X:AۆͯE/w6[muQ}>=w(`}ǝEVVZjR806wth2HE:h4mo3eۊ=q^|xr[v>}]Y7gs'sz`{2ZSl j*)U U4**YUuV b@}e>yv&{ m&ѭP \ᄙdSnmtѸwWvn4;ն̴l)H ()#Lϣvٮt6fn}G}}SlmvҫfjS8US8,, 3 RA^խͬۮEN wmmnt=j5m+2VtAmm\͚vڕ).fCKƅQJF-.ϷwfwNth@c0 'U g 6bEҁm laJlhDHRv3@݂@ ݅쭚͚gTQul*;;;2;]mSKea@ FVal8tӢv`λ IӺn37]ͰCm]p@B4ٕ퍣9rT{=GJmCZhIy6fʱ1Mڶ(C%խ(*[Yi;¾4]\zPޚ 18tVkRvR}*EH2*ƺnM@{jRP /7hik *mwmU\Wv6ljj٥mݛ$eL& ie0ݻށMlL /*ζꮝt 4 4 M5OA6M1j`"iMO~*4(=GP C@%="!2L&d(ͪijzz C@h$I4dѢzQT5OO*~mҚm2&x=!@TD@ LA'F!FhQ TD `D22~)Ih?)3C@b']©/zoϽNU ? cgqnN7c:2KP:@ ~zF_ , Hi]~?S@J`]CPw¯ls=/G-Ե=I|֊*%UJ ;bSe SB0s0{䚔i?XZ:ӏ{>l&$c8({? {g$c݃}KHQfJh-Yܺ( ɨ d[AbF?f~R:ŚcWahG d´OJ |ƠP.FRɇ#"H%ǁz$դTkʊ٫2Qakwcep̊JQHC Ll1}!dr#H"{.lؗ&n%`S'{Ȃ7[.y||i? =EtFLe>wd{{fTUhcθ*[J9&Su#s/QHPvavnj:RR&̒.Е]ئb|s!YB%T/IŲvmQ@P?v~d- ??t9aːF sF]:Q>4пVh8jpMεzy5铩}?y5?IG_U|u6ʌHJ63"Ks4ȹԸɷ<`C3{ 'ďOtk lqtTu"53FbC2NjX!8c/MYDKYoxT7ĂK*WDR 43T誙+2#[Mm92r>6奁 :R3^df 3 ݗ:,5VKءj*Je eR[eRP\Hw^rX[%ܫk/+nO^=yrc߲M65'\56(D]{UnIQ"{KDZ+J *L +/2ac ϛAq;stHiIϹtG dTܱj@DX(xֻ0 *pDΪ{|+>qv騕O8VKtJ>SOZl;eoZΐR-)[0O/#Xޮy^kľEa\`vǏ@ױXJr#'Bl {ڤقށ\6}iB0fpgu IsIGma\]s#$cbz״0߮_9kJifǟ]j?[\C7vُm׬u&߂AJBrYUQEyIXZmoÁjɃ~7Bh,?nWLoG}T꣊uV+^bw2:>(pKIw!ڀw ^1n[쐈?: P ķNMr^Yh4oٕMgw=x|xY:ǻcxZM<7aj^§2m(m2`4Aa\߱DN?~$DRퟖCHk'!_"N\*'VH3ƇN]~nřI#vĕ:R@e$>T7ov"'>=* $(ѿzvo_tCYM]o=)+fʻv/}ߍIppH*Z{ATjlxڦ9i:n1Ճ68(hMK+Œo< )A2As +YDiyL&Wb%翇;߆7J*B|1V؈Zd! 3ϞN~n\FE.MnOS+?ߢyੌr:R l6Ew&?,*s_ ) @żcټюf~]c^w퍑5H>{PYqwՕq͝VV'$B4Ι o᳛'郌#BuhDL+*Ȼ 'LM2#{ERtf@HgUiL?;($^3t"d*7Kd' Y4~-N3E;Kنf2X29P@W䡸0걍/>+?ڭ쉀urbERh"<2wdDb_ņiAy8IB_ Kp ud]|Ub]ivV08ZEN,"*QPiaI!4%t + a\ Y &{vґc@: cᓾ|YJV~#ſpa5=ݎ;琗]WJ]tT3$ `BB7ǝJç I^%U>yX Ӧ ˒HXi8յQUDDSPU )bJhi Ei5Me2 Goû^[Ȫ'K,}|7|۴7] @Z\?b#=}F9Q+bĨ{\*J%ᣚ\JQ߄4䵏n,|wY#! s7BB$K7rXŕ$&ZU)G"%R>*?b_2iG  w*A&7aO\Q}fO-<(QTjJF^J7Oѷ?ʭG..7<q^_1wgvצiuߢ2aU=Q]oƗ=Dzk:o/7/yi($$P܏}IOیɆGAC":"E[2o`|2y~jFNڶګF161}Nltrg8T>dDA㹀$ {7^1ү"bkzꃤ1xWwqyWv_e_: G4e DR!TYlҁ}q22(YT!H@yk YiN3d#ȪZ2GPĖJ3l.=LX\1;3&~Aۯ+{.oz%W 1&Lͦ.m#G),,<@ZY$7$ ovu,]kjcc:p<}CjnU ywg,[*hF{(CQAۃI,9V1˒׌ ZB 31׃TֵNXqlXIu'CMCGr#bXb+y^Kc(NWl'N*~٬RP%ׇԾFf Djp%|+ f)rJk6Tϓ ,~:P5Ƹf[_knktY(+oڐគ q9r@}h/؝у8\7_&&F1)dseQCIWxMfD (x ɶ})`fx9Z𣥅шWU-7YFVaԤ){ݔ;@/vT>JK:[X6P+u%f406}LI{qv.L󹬪21~//s("v$g)SCtR:t=[ZS؏je[P$|%ε( ;Z]p ngۭxnz/s׃FоDwOTB.NL^;*YߦSWI\HRкЛ )`uF\ =cP#pFSl"&(/0hU!H+!52ŵSe B@JKR2B0 ƀURE-MT.4I@DPēQ%AR+ e*fJPJ +@k  ]*#ӠbCf$f -$$K4%IK p&f/tHhA"MjR*Ď&؎I]g:h,DDPQIW%U'@a8$fl,4G&AL#ƅ #ۤsLCM '9U!E*(lnޜhڃxJ}Oolf򣰰wb[ٳKpa'iwU2 NqG)C .p/>  |Rjd)|wJ*9QQ4\<@yiKx7ÈUz#tlΦ]vlNCY5rk: %*kv.hQru꼚F3'hS W!Vx?xm\ZfwY+O ViLJԫmLZ=k$wlk-vɣr&K#ߴE}~Ǻ[a8_ :#=?"j@oU9Ya_bX}vMn[73*T4ͽiu&OQ#7ՖN@U)XڋKNޟ1IQU5S[n{\PҀ_8묮 dEvP*Cc;p[J;ÃXhw}jYG&y?O{JVC@4N2j, 3=[nb;Ux9urfoABٳ*y~L<9=&3Cxdbtnp%c9ʙt\|?Keɲ|HǪϗ]~xme\ot6fH^<&VVT ~?2_E3 0KIA PDh%cׄS+i}}<+=Wj5D,.YIRRP/s >nQ}zf7re"T}z!HmoFFG?p4̌lj³uܡ|"괓'3H .2СX$ﮅ-P7Wwϗ=cݘ`yaB2, tdҧbЉ͕,E_3ltq;)Xa+1bOk|YBݞCz8uc(L_nOݜ'w kh=gٻ~cURA2LP~=2?W fOadhr\*A?L/=~7eO?؞3v<xZ[zܜZrO#Bl~:={s˯h(D#T=RIJ% $BדflpӒP9$By:yޮ%C"D)P߰>WIk<N[ > ^8q\y6mx_o;9dDnnyv/^߭c\B|J%V K4 )KF"RhZ*@4 :G2!@4ŌPCJ"R4 -1%G@T>]g ^dM~帉rk^ 6gMAԴ3U(UR,+7@mʛPi ͙jQoTDn͔=`d]6B"4pJeF鶲$?K'I(g$\^O_~>Cɏf'Gv +N~/;yUi)m{{$ɒߌ i3[dZFQ/-lVk:zj'zb3*(9( y(gFObȽ$yh*:'I"1V/:b3PHZt@SZ>`EMK1TqR'@*h?2K;8sfN}|cx+/M~Z+HQ%mJPI}U $x쒔A-&bH;k9ϜѣĀ2V׆?D7sƧo^ׅ 2ԝMw_AP&U~HNWn2!/Ք隊}#.~b*ƯۂWӱ&7 "FR a^Hvl"NP^q~Tݢ 3ұG8VY;_\ޜ&Ñ؈!>o.I氼+q/_eă3?%&3b*Zǣ2jqH_xZK"d#͞ikQQgJf!i.iBbT}Wex PrFUiB UJ o|gح"|~c'BHr@py̒#esŜ)-$M1Gnux,~s=xٓlJ?x (!{+JV޼gwX|>p#"1*m6Q+_FAs|5ƕI~xɪ'2X1d]'P'{)*azrK݆}tJSvHi3$B袒Gg^wCIjKb(6%}-M7} U %㹉 VV \0`#KkXkl$T쪍b-'N1׻ z:ltS" -}Q96< B` :kz/$u y>?쟿Ȭ 38jM /nW|0<:ӬRlT*HDvġO} WH]t= ? 0aU EVNm3ݤ`h&?k)0ߦ ]qK5"yɜūML |ӗUѳqHJre_^Y#Aދ.ƔV+ 9ƓSJrTȹD6b(,]͖\lm{ JC4 -~ VD7[fa+d(IS܃.s:.-22 _!AJI32>'\(3x?֥:Е6 fK /U|e 8u6!ȖP~ӿAl@r3FWg@P 9)!Fdq] _C/}kBoи܄A$ ^K =D٤zJQ~GTf^g¨fDm5#@U:" ~ ^<ٌ Fƣs-a& /FL \Hy3T'8li˖aĸU/I~^RCq%}f/lon4*yӆCf@U}M{; 'V5ܨ?\*CeCwhS DXhUDZ|$ޝy׼[xǸ=N^Mk 8C>8Y>QQ^x*(4p/yfgzM idׇ߳7ϠkMGlD`5 MZDZK>yuBQ9K"R^Q+B+z sz|g;P}E΁YK.rQC˱#e^P$@G|PJ%IH X1 CwT A kIxp}<F6@|V".O-0TA$T ExRq`ve HAs5QQSVLŽ)GUR,;e+J>NsۚBӹ1)PS s?>.ۿkwm+ij܎u&WuCJLV\tQ(h94 ꪸ[)_?NNƵgSy\n=_`Kgڧ7EDm̅F0 tM>n6WupܿGnZY)ʷㆱXVQ-N\+(XUmŨ.pOKT] ?#~޷my~riىд8JY{ rm$I|YeMBu=뜂윤獨?/&# af>e̞7Cfk\Svq<\)7km'1Zm/9fiR*OBYJT5G}s};vɳiPuu9oPIo\8x}=8jZD3yOcffV 6[+S y=mظ1*tO&q<7AbFkof`[58 D1m~T[?מBY[DBp:)h<).P:g=g׾"M uǴ@aN7%9OsGB Z۶q2f&1f=$s.`JG8V4NKmČ-[nk]ئc*XB̽_2ϵܹ4:IY&t:xUF{,$>|fb_Ή/JJ0߾z">C^:=^BWϢjMOkJ^)'U^sXIѾ@ג_p5nYt3SnvSwl Ԝ1_5 o}_&l/0 4w-6jdU@5Y0ZDxD/Kc:)~` <էCXĢ*)~E6"(:2n/vAsҞ./9֭מѶ-Jp1+FRg\թ6w(ѧk֐h OvGJ<> 6^7T#~ 8f+~Qa T&C.7,+T!hRH?)I7tqL 4׀:HXa)u>Z!fCbs⒕)"5K.ɵln ͟Pai\ \JR+U#t6K4.̊J6F6NE"-ƃ(FQRZYGKbT-&D/u:Nv7mλ!Ò)9KaGE 2(3#!]ƨ,7,)CóU05]i}F }+m؀j VYz]inIB,!S_-hH(9eE?P LSCg @eL!WGNuQP6+#R}ft}0 h Xp쓔]*,&b%]  gGĜI[u6M{PlR(2 ՕY_ߝZdBD3' b̫jU}:VdRtiTܝ=ozY* ?ǑMIU@DO]]B pI/a+Ap@\4;tetUViX13(qY2I#WV,6yGCXSUPAh񪑴1u=Q0ueQ%'ua'cI[/ H0uf*ɤ+mjM8($PCEL W MbjûH)G]p{WYgey fKo_w}'3Gt˗ssS\֞sc=L.ncS57oW?t"{k5͒iʛ3EKr؈5_}{p9 xcv`( (&RJnU]̭a.rfu'RBys p)܆!C+pb겕4I6U~k]9&ÝKܢN A"qYu#`C5GGwV`Ʉ()qvoZJBd p> ƒ8(>~V2XIKUJ(IXUly<7o쌇㻾|]N&PAbȞ7)ύ=._w(G5\Go=zWgQx>? 1k]}L\5ݐ53k2%."2y@nݭ|~x%>Rʺ i/PSB"pHRyUcFto_sR34j{ ,"^Eʞc㕵V9m`NnoEt+erp 2 l%4M\>KP4XNđ<٦AtD =sh8}..YJaf'Rh0mɯ%B($0A?ئeK@gO%J&Fhgj/ '[%fd)v,e7ASM): }ě<``3ԓtVmj3P'{)}MF^ /wWѧxJQӚ1}P&˓0R Fm<@Y{I .>\g,:z*$,WJv!Nzk%0z4aU\:-!b**Pc6Ux]f]HN]jE ,lRpiȦ5Әl4]yWgM5jurE3yr<}ϐ0Z[2%FP#6 ^s8b:64:jXmc.Ϋ;N*Tu9M_D*AZ,PHY3Wxz%o~a(?8gW;'ޖ5:dM<]0M*zY12:xpm<́(VO|q˨CZN'RO/S]|W#|u֠6zz?<>}E.Ww:3J5Z FFIb^"$[H+otG @P}2~=$Ǵ2Vw"c i5zqa)ݱI"~L% aR'45ɺڿء D`m3i|d:2דԦH"͖Zpd3 neI uK|}7!Ha\9 ث)S0풼S}<Hv\kJHGVׇnqO6pi{:Kѽyƕޮ5mSüV@sdGҴzM&Ə5 @";|Ӧr ծGmg;[Z3&ׯ1RУ*˚,/AEbͻAEI:yO>o%IIu}wM=cm,;M0I{o򬼳Tsuw7̫)hFVӚt]OTʭY92?u * ǙUu~d@7T5Ab-Ypm;ȂVO~5\U4#Qˈ2}i^8vuvHsם]ܻ#Q|e"6i([6PQOwۿ*Af6N@dqrNn*"g0qOmݾ/mqt\B =L;.5 eL*8zYY\ /hH:X̷AOby[0뎦:>ʫ6L ~TFɕ~͑ZU']ZCmr8oQ\>RRǿ% ƿ1F'6s#-}~hi} }_=ّ9ϖ•j!XPl\?*Ѿedpond C0Ìu)%L L)C)?FЩ#P5ۓ!tp(*zݶ^TI% (DYT5HtG(5^P5-{3(\ݟ)eԍwAN%(TFcxB :tq;mN&MͅxH<9c}ah@F2 N>ԨKSBi2pI;szz.7Bm{ 4jո3_f'/2*J)ǫ%v@//~N>0ǫ5uN4, g~ v,9ɏ`bf2ϙ+rkTO3QD㺭厳oV8>U"@+ RP0 -w l|i'_#3RJqqT[|*ez{:4$CIp4\\]VήPC/c\2DB R]\fwKM}̵ȓ"qr4R&@^alC8#~65Eg5[ K\CZgu`g#- !l3{%cJg^ޥPc@)R hZPPn\p3֐ĺf*`WU2iȉ 3#3#Mp] *U﹙)F?_1ξ s)/mOKLZYO_>/MG;]9@[уO)Ъ;& |n$lp$M IvrP"ꛚ+bl`)X_:"LkBKacV792@&kT庢ϧonzgy񎮧<"*n#/~娦m<0I$0c|z⇢Oӽ^IMY~QT^T7LmŤ]͙hA6 Ťh<7Ѫ\2#bGneUbi8ίP3E,FT`{!܂˾JC!W[+PK)}"vI;梗0RBVrᐆSB%!ȌvȜ,@ bAyhL]"5N J)D(ٙm.]{He4b C_͘v}-XԪ a@E)e;SlO)#)KP"0XW1%.^|בi;;JbJi^ǜ^8B7*mmmlDYMMlmUUj6cl%b6mmglmmm ZkmY [l흱lՐ.v]՝*[[;cbj[;cb*(ՇlmY6Ū;a[gblUګmXګ-lmv,흰U*mU[mm՝ص,$$d^nUɡwg鳣.k5ꀽdf&;Q7]^=j(9y93hCFSZ2V|Y#"a7"{ MV2.!ɒ1,GҖQN.(p %v`&75xW)&ܙŖdTPĈ' Rk+N{2"L`2jUEK!>G9{fČMgCt[zgn AEAs龰:*Z0\Ժ؆QY?d+C0g5yuHs~UϱnL*s02I"7&r}s DqcElD$EKc1nb̉uGGo4}m#{ +BcZ#]X-OR G,;}*qZD 0P8XmX4tۦt[';܈a3:v *QegM'#ŻV3VbF{aAWțJ{ƃ(!?1풎arslݵnsa &k4^=2PX~jNѱZlT nfJ1…GR[{Glf7 )GN<׍z?Q%$q PYpsӟ.v'dfg%+9Nq 㥄ފfɒJEKsADYwa^JBh? M V,RaB8C;yg[$tꏻؤ:)u"_Pt@^ٖP6k🦜mi17 0yhV:䨴P9w ¯u6W\Z38(=5k8ƺ̧m ƣZWCv4f {SН\jwY/-swR钉!|o럷?fR=!љ\D$u\ 9iֹӳ3RyZen+|qrGڼh((c䦽jEOR*N<~>b}q^ȫToSn_{=..^-O[L'$|Db[RL2x\Y{7jl@iбE]+TjEr`ÜcqeaU'vs8 |wiSדD`ׯج{@Bl\4bI ywޤ\0%x5q)wA)ob(bȯC@2/'5/227әAG#.퐱f*rv eDNꉳ+M\luG@@̀kĕI7(-jE%0ЛQGOoh>#w)LThN}ЈPjhn wN-6G",9p̕[oGPT y*Ѝk\,IgGjȴ|L@$-z]ˈGfb!bdVrI<̍>l$RʝH|Q&g{ <&> gߩ3BZF` 3!+3XuOʫqz,.M !6lKG錰4YxY?/ `z 1RRCWY^'@m p{skƒ!%e&C/&M-䀔&'ˑ3ČYBAl{8@Tl\\i(`j R̒xr$UKqIg^JtʨII"f7ud1eE=]  93l"|M-Xe6sl֬t K+)Vi5TX)&%FZ+,v~٫M W]޼k,*,_Tu>7W)4ŸP%Y&>)Ii.dVH@*#i {:p$q*љC3!=Fc6y~\d=ã }ryRA@=saɕ'"  ?7. lhŔRy} g_KHnKEUD9߾ 8+,fsuJ /*?j) e)nJ!h7-N\> :S\Nק>[Uګ]H L{re dC\rmn%!DrT8h)O)h._-1QbL2o^/vӆ͔< I7xVXNLHJ#~v= +eP&KkuZNr.b/6WImFB]]z۵Uў̟hNY,#2jfuAsFPyJQ JJPUAކ-)@Ê@QM-C뽖eSJv׻Aϴ'=}DR坧M"~>7~G%(m7~EVR9~'VBUq޽FtF kRµCY<Cd\PdEJtyRQ>jIf6SSi'Qp 6w{& Rfv}i<ȹ WyJ1YnKLA2ϑԯebw$uQg y.A7i?4hھ2‰U£Uzv}Oµ3/N'F1EE?Bzu$vźuVwf/S0ͱ>ɮ*Jjfʰ Ȗr|s􅶺RqzDA'5ȫ9wkDbmYچbty_Y+0] (Mvs_%Jz诟UCޡCQ:w3H{oWeI-Kg" E†o?O1+uzY,=iG7ˆz:֔}OVYL D˲q&Eѐv8_!8DL/ŦW֣E˖L"]_,ç3YG<]qLA&cJɌo_:JhcjҜ*LK2ʶi Yxa9o! [O}=J+fteH>;*{;DZ៾Rx#wd2XV]5^UK`OkQٶg*{%bצnӏQFBarc2Tl`y:KkUHI߻pA6 AьzݴWLk'Ҹ Ӌ- @o4xs)1U}\sZ(K,˫{r^||qB04qe|ڙe `xjGiH4bմFvX>%ajUK9 NlToRaTU.S?OdX )D,֕m d73U(M 6"*QDH.,}D&Zn;}vq=]m[$EԷ\qO^kĈ|$|]XtN7=;L|'yMSX %UP'k1~: MIXqo)G"Gsb$w*Zy4T} L`bq5H!u;cEq3C= piKkI vj(T|Bq%Q5|ezF:PV<ͫs@`VҭukZ(*@!Z2д;r 3˄=fN~2 AYE*H k2/*IDM] bM+4љJ)9$sAhgPL˅X"\9gYxwEdD6`ЩHBtg*2d~[80o<5^nĹWfzCN,>ij ;}:᪌K톿fm!Q<-|.7/76k]\ܯ~ gQ.R[zħk5TNјQg.MIO*a.,79C{/ %Yﮬgi;y<+U^Vc-c+Dr%f #Kzjam +B^O^!Vgrn(}0TNLgpUպ vgpVj&:* *ѻj{5NA j#j2OOM´\~wKQƨ$E3/!) LcYiEMirv3ҕw\j;*Hvm@sf @!UB(J5qNƲjWgQT cL=:Sj)FbRB}Vc@~,rA:[t(Wk48r|e)tucgJ*p|z"xQ[N&&sp{+jIO쇹qNP*fTto٦]d۾Eޚ-r ;ΈBɔ-{ܪH6&NapVfH@S˜3<U@z:_apP'%&~:A'_NB(TKcS]  ȃ3xT8u\f8IƯ}}ų˿/z=j_NgNnM'D(ev$ kP 0Z -em5Qyq.ň2,A v)Jn6n.t!W0ܤVm\}eVv"=1NS uGp@hk5i!k4w2Y:̀_j7Z@fŭuI3u71ÞSMлHRJuq{Ȍ…%qv_Sadcyľ AfMB6\unt?_\݇5 [iMcZb4jm'KSwPOl$ &[nԠބc"<7ټ!1yԂҼ4Swj\k#WjGE[z6fa m;k ~HO(}\kNpk<}>Š)AR)Phׯ;9r}9TVWHSa3UFzzC0&VрxZݷMD%!rA pNkNϓWb9<Ok~;R3Lv ȡ@K-Lٷ*$(6o ?~F(1fM4 ͒ ~!3s/$l4_םtcW wْm\>lQjKQ!2|QPc1ei%RE:NK)!݋O󚳭 Q G^DF|"8v+sƪ4)j4g"8̡J :^Sj!Ѯ̋Ah/6"I\g `vdjmhHOK悻$#K JLVio \'ac}G^o>j8+no|GwMD<4] Z Vu5J[w‘=m.Hb_'ƎYGAr_4eT"DŽȍͬeu,3G¯wHIYbֈnغ4г1MԔRv@$8Tl#1:ΎlVnD.=%y9QrJMVxvc.+rk&̳3&Ipc%Uf֜5uLbJgEPJゥ6s-|?k)*,:PTԯ/0q8MM)G5⊐iRʦeQO}fA鐰vSP[TnN CQ !g.D8`lAYږ N4H[lڑ#1 9aCoY/_4~]ʒzq>w]p*%8p娓zJ+X]UoKW>='*߅Z 2=}kޮWYsÊVk+g] <3*7}0Fimir┅ ٨2!7. ̆όS\3eԋ]aGQ, +̓Hn]8Q3h SkaV]M\ajئ}<2v JR11 P\-1"Su*ºvyM/oPSPY6C7VpGf˼r>`٨`MB'`Š|)|(2'Jqj.)J:g jf P CI} n)ĥ{ #I$S"UYҊ=(b.2d3eպg(OURyzܽwrۤmM^raز5sgZuZG *DDVdIl)odAu^u=AF ^>n2k|T(¹˵t"`&f &ܕsd?Ny/[r'CɄ;Ր7E:@Zd4oyvK}#sRQ|N:r9qhzuɣs"E ]mLG+0IR8 9@ITo!>xʊ(V+cz,3'XA`z=CyoSς_)JDvyEnZj3ܾ%J 1 iErf+B-3*5w#Ek{-I(q;h9l# n=yeUğ@^n*)ШɟHJE03 |'5DO6فjl FD2#9hʤ'QF$ PCi={яL (?d(A՟R._JJz f(9+:HՒpW3PEr>1L߭/r]o(ej(Cν5͸qkomdEo|;Uu;A,^Bo}5k(`LSxPr;;:`h+z *!kcu=WV|!bDofMW e3e2!ܤ P@ޡb6ち;.$ث܍p`9VsvK+=@.E8& fW6 jen?;I GfMh qwxأ @V>fzs2xGOpf$k&I&j)x@^59'I:•I_?wR)Ϛ?]3Z`)뇹C#e~J±N10D+5ety !z#<$m JrK:=7A>NnV$#cQċ D#\l߭kОn]q7!?a:[F 괠͓C)L Se9kSZc-3!֖Cv;w/Y5=s&C)Xy\09W[xEVt΂V^}k m~36vȑqrJ41.F?)ڹc&wSXqk,NbZttH9U' F:ׯ7okzB=|O>9-RND)e^8MʍRGQMZJ z4[o=0YmDAHp>B=؏+\mOĩ!HFCFbxYBlgga||:\>uTzjE @1j`,)8r\\c.dģ>C`:UuA&2N <>j;sUnȠN{k*ty87-MU_'Dy19z3I6!!iR&Pt/vBJ% Q&5{-|Ucsn5_%zίxĜD6JyY&pKgvgFjL]9zAܐYa1fnLBHvI`n3Z*0#z9@cDV{Y(6mfbnز}$П&"eӧ~= ݍ7]bbbH2f4!NR^*K8 8]0 3R,tpKX╪ A>5߻tu#ZF9Y@+^53bg쐜 !5A<ݿ65&+Hj G8ܑrӇJ|!ajH(-B`s"Y-jS9ƞ} <71˰87K!Y"Rv8^Y( k%b( (`^]OYqLΙXb,( s9)K%]8T3yRTE_u_&o֔bn \nĀ\N#sRS ER:GaYE{թ)yT_txeA1cv8XFeK`*a@Q{wTNJ /˅oKD #D(e^4Q 4"{Lj+(Tl"l `U)L0{4j8ڷگ9 H")U: c \䬡NʮD1ySڌUkF`X!{V̐QUAEX啤H/i}o_K&7njf!l}sVj?iF@*v^ _FwSǝ$ d"JrmER ZSa b+A:/ja;c+[<5H̠IΛ-O-UiALyGى) &H]F]U(*Z}PYO1ᄐ LJ PZׯ5Uまze 8f;#y'8!b?3PW|_ߕ%Uh:7U!V5fOjRS3"X6.dPI@W2qXԣM!(|^.ki $DIZwЉYj+"ԞU[J+퉫Mic8ƴֳwEXc \ĈH[ X;yaq6cǠ[djt)Nɰck[߯{;@V ]iE֋~_O}ָ DCAl"*gLK6Z3C,I춮$<TB @d$mYO6KaZ] lPP!cV?*1CպWݞVMS~:4b% ʽ@8FwvOl0Tkrp-pL 7OEzWg.10Sosvùkr~0̗gƪ;Li:mO2\.!/˹q̲8P\;-?$,"Ӡ$+A_lnTo]~m*"SPnV]]R*~ri5G}_?ADu)ǪWjm4"hޡ<57~:3 ͎ٛ r~:fg3XY:˚:Ի=Kǫdly:1^׏LGxry I_hk!-T3K87_tl15L$}BWnGBw0w0~7-$֙\nWɸZ;.o^5xӫOIݢF_oۛ.2I3=k\[ߋIB7Υ]􄐔oE32 WbAYYK(jY vbi5 HsE`fUA@u˲Am%"o!+d\u ^7a\4d$RWQX2h5rWs9H+fK:{:,"csSf?&&2Dу ReOU9-76U7قI` XrLCxPH5:ކv5|'= ^`@"uc`TVMPdw`џf>릺/Ҿa D1&ug"te% Z,hXXI.BG݊AXADt ) zVS)]jaUHU;ږ 88l  w`hXŨɟW)E['Kn,@y3nG"A."pQ'pGL_&JGͦy7\*\"meQzPB:1xkhGC6dZRh=uYvl ߪCIfBLWskEm_u[d7`ڿY^W<߮\ FÅAŔ2 D{SB 6~y%2ֻٴ!Z5EIdN bS?7EZ4 ,#p\- - 9rzh?l(i!x馾y~ٶx6Fb*47:!sޙu"j5< <^ʅ;nFiIϩ|K2zl?Ps+zA#}Oce1.|Gï{ZAI|RnR'HP;/JR]v:J=p zz [BP~94U;jLJu$^LÄԎfA4ȳLkZҶ.S&Ms"x0)掓[3b0eݽdwTɤ㹿V5/ie'2V1Y,wV. mViMx sa U XS*/5ELɦ ͠{x{Sw35mU>bݵHj}־ވf{jDӴHT 8x2d|#ikCu( l;fXO“=.\t$8\ǂ( 9FEUQ=ڛ'M֑LNk',ȅm=0*B"率$bJͬz=yyqi ;u=:ϔ{;'8Mu lTR6 H$&&FJ_<5=_*yO$* (ca8̈*XL`0f7g)ݖ'% _2=W97ۧ=4jm%T@qFGu,B %1zZVg&eH0<dIvrWi=> ]! yiYZ7K57FI+g/uP'A3ږ9g_=ˍ>R u[gw-Xy.`&A S#+zvʗ"N5h7֛z8֒ bi*ϣU-,?V0?&.ݐZ[V~ S}MS Jބ5AFYR BkΔ; r)-JL$ \Ay-ђǵj#UYUFF#TBt_lo5($,;(7VdL350C8j`rhm֬hYA,y+esJe ztfO kiU yjk,۩>&w+_vχ4G.5zƻ@<5XցC-6%Z=Jn$vn+%qN;a9E Y!!290@nˁBdPF,XR@9L/> aw,Ⱦ:Mp:)<=9܎Da1E&`HuM0xfZrEC}{.u??}z-D1-RFj!MϦەeNq$;#f#0S:bj^?,pX(2GO4 y-bq Ey |n[+j4_hbD ,KS$<=J@M)bRu8Ԇ{VaO'cJj>Y;W h2T԰d%u-KxpUL{cx޳:x*u]o>RKEipʕN p("O;Tx8 !CS/Rgޠ)$N`ㄽ˔MYUfI ʪ݊|8g'GeZzwę3\2_HkH"aO#Y5 B+D"e߿ 8#@VގC颛/LWQX@YEi IY_|Džn[* y=kGh.NzC'R`Jqxۦ9f\yv 5UU[(]4_K&ǢQ~Ahnn; SE_{ŏqzefdkUlÑl_`$ 8 fٓ2ga_=sr5t]Q2(+%vQNYmQKegeW7@唺w]I Ya%*e<_Sf}7^}CW墧@̍43+im6{9w9M&8fޕdMԖyJp\357u/7w,yR¹/[,r^窥8dީ"= -eaڲPRk3c͔!9ȞB]G&P8^Z)q2" X.ݲq׷ 鿛v]ׅHa$&VՀd 6;1=[`Ң qʦ-B2!2Rld"_X IW_/!ҋ(̼$D x6 5 2J#@JJ}b϶s;Hhʛ,X"U$]3p#ULFq~ D^5wP3J'<({AȆ(T̋g|:!@OXA?(6͂>Ȯfa^R9v?_D ۳y#@M߆RQR;:3 uPNn?2fE2䩑ZWi?."p#7mj X  &(`cE_,8Ҝ俳[-i^3[|?8*fۮ7aQ2i J/_g5Ӷ?sPtP`WĈ`S +yN~V #_)e(0v 0Qك}Sqr &wgTȧUfCf|a^Y5ˣ'U@I Uu$)) _iSgz0($eVI[WjSî+vZ0j;@KrN\-6,K{=Ou#Ow;s/k^5@R CUUOo|(_~K?U BJJ_6kSGo@'S~ G 1;QbHw,P rHG(=Bϗv?nZ/t y<R+4~T韈}V4/9k@QU3 YqKX5s]5O78HzŧaM6?ݿ\ 8*N}VlEfS&Jub 6 <ĘBė6vzHg^o=mmNv=)U;L jc/r@#1Uc:ygV+~C?%q1 s&8A2%P8Ie tV|yur(I3fq\+=a"ᙺ jO:՞eI#/1:* x.ͭϋߧfݩ>XwpjWcPk+R ڎ}|Y Ӽ}dzfhߘ6HZĊ݉WՃ$ \/eDXYhm*n H bvE;-خC1,؋_tAwO@Q5,Qq]} ̔d]gϞϕFsŽx"'Y@#zUU҃~W^Sb}:o#LMd#>(wA"Af.H-Ujǣ9jD͑an&E|F@z=~OZS<<x2ƂRu9w@r;y:`U7JLX֝úhEwNڨ0%@[zS@D: ȝULuٿs #"]`Z ϲB#^Q%ǏUdj6"fYќ;NDNa;G(uهL( l@ا\(lyy{jJN5h (z Cٖ)-4I"adRbѡ\ֈv D-j0 288Ǒ_@)91ؓġ@^1`8 _.X[8]zAf"T&'FE`G%Ő]TѳiP)褨3) ւ (F1Z 4D ðFZX( zu}f+ik\JK x_&jA pdRbM\Q`}*KO!NmdE2lUֵl63[u\&i\9J tC^FqR!5;!刋ǞTD|F2R؍UBs~MrS`2ᚥaXZmKR%"ξz @a.fhRQKM`AfWz"L(D tq)OTn.J PqbO}} UK|Xy JPpb<%L24)u<[R>ڨ.DֱPDC! HFљ\/oqj֌zڶt.P/ڡ@pRΊCf0 Q7 Jd4%LZ6͆xOSna'K \u0!YLϥ4m%;xYR ~AX,o2rǽ&VG<ڮGub\BKY( #<ӵh|9o |$p8u ie([Bq7B𸪻?^RA.COcTCR*70Zҫ9DPH6"Qut43H쿔\ Z+ʇ`E" 0 B&aZpΠh:JTnܶU8eeGe5waԅte&.z7ҎˀfJ=&`b&}et)͑d% A ]' P8{5t2t6: d\HP4!X˱9zSńK*JIr!o~) e(E5ZWUv}w#ʹ' gW/F? *Eċo LIٞ"v6tOc2̸KIs$L:2ìh͚Qj~-,NMRHDT$D I\)ˬ$ĔOW 1oB$ŗ:ONTZ .FHFXҹ@y"w3dJ߁u }CqP<P UnuŅ+el&-|;TbxȨM(@5;Sna>e4 fbS.n5UI$܊?_KF:ukԝZ d㔞#'uoN&VuJ~JUL 0HU2u˛w rKRM7t[;C|Rofg@R5 & &Nsb?o~j#EʅWe{~^SpEFESM#RBM'_?{~^s:ܶ$eJGp6!LW$q4E ?ECJ0bawQEZ *IB - xm.k;ϣ_{u̔ҊKGrXyCwnDݰB}@|:ѐQhTZPX}q?G2dH/lU]h Wu㒽(a 0VS'"̇z 4zVِ²K[APH0%\Yhezփv\1ĉQ7 ^gLnUeXi8=r1٢L±Y9rGe?{$u/ׅlmKkAȡn#ںqg*9(ZOg_v7-XW!0fXÉnvP(@oZ+7s S0)ŧBu* VFj|ÛgM|y(cDmZPEier,>VsZ`Z0G+PȤ#)KA˵Q^O޻K u͘(d6{m=s6%X{&}؝,wPLUNs Dٳ3StBRMG[qҥ,otsErySb;CBx0o /qX@ g,Jq#{⯿mIJyƹ Y]\fbYN՚#ʍ:펇ylnVg&!"$'eUkŷ˩, 3NzyNk!j?ePNCh(oVaIcR,}PYu8(ϲ}SҀCѹS"'Mr `?i1[w+dGx`ΦHg $*mu.д^]/X|WGU7Q]E9T,[*wyd-C wu[=D8{NO}[nޣ [_mc2UeN}Y֦evWޭ>"%fƢFkmv+D>йQ<(?Ͷk_/W&ݫR_~U/C|e33q^\=M>S@&$E(~DFZW#⼾[Gi_S&>g|UM4bTĩܿjk#d k+ HR>?W}\Oͭxؾ{vt: /ZuAYyKn(9p; ?L?ߏ$vN7W5GPIjRAI%ρ8!ؒ5(@ -iGdLX(^娱%"$ioq5򴫌Ӡ# 0TXk몍+I:]5?:eiw4KΤWv'kdl3ȶ'FkK%ھK*aA(K K'"uy?tpa$2 kw# KkFm% 9hm%; ԇ4 Mwa*+  /˾/ A'W y4| վKfm#dGyZ@pH/Vݺ`23=KA'%A=ů%_h.-WڌD*:LSC\/O_r^ An (λ.dce؁'Z.a6GŽWuW|8P; zty[Z-$adԤS2QhZqm~EA:gZ-ng~mxeΝ\ ad%F( L{8HP缴xsp$* Vpt6 زu(\s;$D9.?7ՏM=$"sBsF jS$TU?Dƣ}9ML]h)2 V%79m_?2AvKyZS_ƭf:nH+hhB+y.Chhri@2\*[c*K]W֝} p3#! A@K*~}"tHNcU!ě5un4zee ^C*5:c{.VWA6جg9Rdh{KeN=HthFԘ=gQhߘK%i11:U9̓/"@GόޝzL,BjC(QRJ 4^$ {*)F&";[.%7,r *ǺOF VSޫSNctlSmNu"J5-A'g妔QNPKӬ4իxO#lYi5mE &E%h`p@ Ϭ( DE;N2wu]ƺ@-D+I2{-^}^[AA,fly)Am3"P. +PjT f{Ni56l+io!Q}TN5Nq9$#2xrAn@ZULLaY;z>lQʕE CXM[Vq\lPgeV) ys/R n ֑^^vE2ߦCX\ӔH{?\+UZTXxB*5FT̬ԝ~g6cֺ݁ﯤ h@ 46p5!+;/=c(_Oϫ;GgYD-v_j=;iU6=u(xHҡ>QJOoݛOyQ)>E, P'{XofiGIÏ3c?)9n _2i[} A ) 4Cnƣ j}{QÅ{:%*zU[i7?M}3f8!wfտ8v}bOM|/n_>^s#ߧZCzyvgV\%PyzNvy{蛵* d[c9kߧ|B7oX꘢{=va9~ڰ%#9D,T#2,5D7tg|YݺP 5086ޕAPk~_"|s77v*I+SnO~_xN>B cst;V~ ~va2޼}s/GRq%6>u>vx]5Z[^ `r?oF |œAu=oጝe훜z~WQ-vD"\lؠ:nÓ ]/ ޢx}}ێ`<GVLq(h w?tGz>OP23[<'pIc eba`jo\OWi܇?Ï_?gpEpOf+̶m^XHaS:5Q趥Ӈn廳K>df +tzȎ3}맾ןJ:}ի'~΂@Wg>[ֽ{`7?6GВ`Y^T;(m Pu$jb$ Bѳ4QBD0fHXZDwwX`gP괵OR f%ݚe]b"""%։`ΩV*Pdժf]^])d34L;HfeWfXzg2eT RJ謉8Xzy9*C30M2L%ԡݠީQdQº)RE1`UΖVirC[[4ʬɜS,BKĵL#˻1;,2Q$;R8wIIfU3e 4"TUV!ݚ]V)ᖞVa^ꐊVf4̪ĴR$5fuTZy(YD3 R LS.ޚޢLDCC,9=Id'3}vf7Pco9wSSFD5H}GJFβrVϙ`ܹYUK{ˌy.^ٴG΁Fi~RJ@2}Gm>/KRdWm؏ͺ ?־GϼI ܡ:uȏgPKE ;#m>+^C:}1 L ~oձN3 &H}$&W!o7~||Яnol69FUYp{Ws6u#>= < g%oh~xۄuOIV_o^eT8_L|>O=7pۃT [9ݯÅyaz!,'S~T; ~?]?]tf:F6ڗی{;nu>y5 |ϳϷOʙ@]>mSwL>o9n~'zAM%34*_m&k/wLJLMGϫu'z)>_1COi)V~{B?W)NvyG/i yWYSn8#xc50~sΛ}!z MAM(_;~ox>]i~Isϒb^l+uGSQVs##ը3Ĭڧ:y_ՇCxEco)mumH:Ȼ|*2FM -&"{+n{ҲOGd^+^sqIϻ^V8y?}{sRZnܕru Kl}S4\>br\7]v~-AkU)U$Q5WG[n%OЁl* ϋ*T@IAt:Nqj>_'.E6{y6ᬦ ɿ^O۬IHp Cx}Ӫ6C|bcYΨ)ɑ?.?,Q>hS&8Q/A>\y=Wu)4a3:_~Oς4Ⱥ~, f$ ?7=T'C” ADNFS*~}~>gy7MF|vS ~bh2€Qa,=`Tw8p &?/G}EӛO6d##&̮Pb @)|ޡ=r?/(؝mz=΂_1Bˡ W+w/:z )! DHb{(g+{l9,aw+ډGqE(@$xq7 s^ Kd'}e昕c ':!x>=}ͳЇ~myO`n#CnP@lVӌ/TJoݵroq>&nH?b,h?guٗ}.مh$A,lT#ՠ{/vP"_ )R/;˝%.HԞ=ܫ<֓AHfȒf\P TxVY*EUNFy^2yv7}p⪼L/FF.Cbf'&_?ϳd1iJk"hODwZջ/d!IeVp9Z?DZT x/̑t&8ĚS5Iq6,4ٿR^Ҵ FDj)GY"R4כT5yBľ l}^߷?J٫(G/M{uzt8ƅ #Y!: pPֿCQAP?~c 91w0_^6|>CO냆luLvV࠯:e2>R>g8/^5Vr-)ߗi|mrڑ~ir b-ha(h ʪ7|YOFûly\ҟB5CCTL[.m/^_SL~P}dGEH#^hAA8-?aJ1$syN=: rK{`;E_I06_\m}<&4p;_8Hn(xv}"ض wV 8) u#WQ䪼l9 .OUtYàkﴧ}j_R<֯?%,I6V, R*Wж"XykU.w:VYǽ R,dBy(iR? LtuAmz#".ʴU$mЊ>Y-rĶ^)320y1ypqnƪoKͅ]A+E`NK uUJ3c[xmxNjEctðpcr*G5Ll?k5Bq],IfߞA{wB=$z /?OnXt=B',BV[I$zRV,87i$UG]jň{T@ARaByedԠr؈@@jsaj G.[N Ŋq~?O=x괃K%)acRݚrA~}A:hlCšYzu g\}Lm]Mqk'T-fS\7{hwFWa)l+cHEiKp~I$ AFh$¤;}N%_`z9 ig&u}줒U0رBUV[:c~QM-.vå7>xPɳ =G\U*SF;r3^ޱլ.L;{,5 PV]ˌ )sm̥T`!+|8F/ NvFVS(w/$`Iuy ܀'< zn&#ƅAk/ /@3'kVd0E[ ,A?#'Kʘ𴲞mSI,Cd-}?AM17nvlLUtεQUdb~;/ܢQl궢BsԥeDc.RTO6]䀔O,%g"2@ط\'@e|!z>)ͷ'єi5E34!)|p;_D!!/ I40Bc['T2Z|Oz"mB!Oɜ ~O7sH1i?|30hSGVg7RZe W.[ U\ww|6P)E3Y;,9ǕjyI;9ƫ[nTwε|Pj4iZk9Uj5B,@gfBu3/f~M?dVJZԱ*h>K,RVYz)'~WW\27m:,jf'VE/]VV. +## nUH2uhmo^g#76\2_e:LT9e fa2 fM 06Y0G [KK`; ^*HUɥkTVhz#[̫olΡЪ*f{xe >Rg O*J, yrz׹:̧?ӆ줘*⏬vMȳp<)&ݫg܎?4"\ b f}X( e'&DM۾tehUp7 -eR]5O ?an>RmhL΀YukV=ʞY;N\*d]0-H<#˛:D=Y#zH>*cȉ[,ٚa0l,h-..:g0k;ez4h{_z^j׬;tɪgjףuΡ?[e}.ffWх:4_t85 ,x,%:r8ل3QU_(W3)^bnɟ @orZMUi~;NsAJ]kv@|ZX}e? H~^.3=N=|:n,i˟3xOZqÉQ чcN3%k*6\y&luMʤTݸ=83←켟fٯMA:yJfp;ec={Rjs![pV;C':NK[98;n3EmUwR)Ff+'.FٚIܵo I0|1NI@^t9p.8K!z` qY%\(_̕0=UbhzEawvO{&\džOU*.l{gCORPQ2/P9ny{g۰ pL_ٟX1BUnf!9yksZSSlJiM0h[dɪOcX|ٖMJ}ŚҟXٺUؖw_M 76P PPIKPTP1C%1P0R-LAKQ4+JRS4ҳ RP T )M-BDIJD 4 BХS0 K2DI5 ВU P ȍ4A@JSLATTABRD!0%% @RҵP QDE%ITT04%  6\m>~(s};|w 5_liӢ" iS@ qeAE@K yΆS@ 39Uz ?:{uD"&D5f,sGq\"hU/O>ǬgN7D  !+c`1<rnaCSLyvq-y/ [X~,3X`8,d1[߾X|"""M7f*34*RVUY 3!JidUDHXDzXdHH+v~r ki'm\Ve3:Qs6=syͶ4e&¶tK7":[i*%?xP80Fb!*x13n%"]=G|>tm^OG_x߻pytrΡ#>{BÖ0KT.GfW6JK:γ#,xAƏlϪte r'id)|U?xڎo.X{&~VӺ}|s0s ~:d B}o"on | &i R@YRtN%2kat-CV{/XXrw^1 !N<F-=haR=Oz~zPݻ5ɭ.M]&cPt52lOåV۝Fuh'BiP}z&-!!Mό?PRXnk7D!քmO膏T5dzw"e.]p$_ ;XJ0仳*(Q|Px~cW^3j[$ە}oM,:w\+3+=P"kU1 g9OҨ%(wsE_Y&͍3=; բ;H+93 _ϧ#$ z+61.GVKlu]ђ#rg3+DZ2:pB%"3ob9^[^rfƌ8FLe"_}x-y}DH݌ɤ*Z$۞\cu~~nVmFBgg))OU4$cy=n\o-OW[*FjFj,#IGvٻkӣQMyE/L؄6[$O~3P^m\<=V9Ͼ2R ^+fRQ(6=|kkk3v6oΓV5 HĕЗ5̍d}lw_3z 8Έ_wkޟp\ ,flUfEنc&FS*V5PlYJW iAȋSzo{Ճc0.茙tnt:4>gpxioDXz69# [+ƘsquS"9dg0Wu"]fZx&z&.Q+}7g9dO‘ME?gdˣܕz]Y>k+57M%L'H$-a'ш+[!=dg8kԍJΓqxg. $)@.Yg-$Jp'Idd ͱS2^{g}}ZyF~Ѥ@;}v`u6r5zȴQή(Qy,ucwaS3Oʉ*{e>JrJ胪!Ybw&|rjr\[t.7K1&eyߟ=z4A4 g-?uͱNO9^ϕ~XwZUmGγ\ʹٖ~\ܴy|Ш.FwZXݖu\ԙvwCUv%\zGjd٣ϣuYֵi&H*,o:-Qr Nɟ4F!7dray%r$;ʍl#˽-Qeֵ_ZMV̇z3N$sܡO)+>Am޹ ѮyDr2nw^u/!q{|cn?R=[b!9/U jD#|hhaWQHz]Lġa]n$SK؎w-8="Ya;vgZ24;q[Q{6w3&IstS{>rpmۖyΌkPwMeEXc[%XH0Zh'8O`#. G/헫&4^Ɉ_k2j@}wӇwR2YVӬ)BZUaڕLʒeٝ) INlgEFwLc;#Z~ܭ(Θwt7}Ɠ*ůW[{lܺH|9nO|hTH` BUU_ڎUUUQZ5UEQULDMUUE^؂9"3GFCk-|7ܩ<8yJ5P2B_|ǖwc.disgg?u&^qtZg lV9(;~-%"|O */eľ,ZahV2 }lS}'3(<zw9%lh?=Lƫ7f;$!J.-9\ Rl)6Sǫӆf|걕׬m`4!s>o&(r kbGG7ɞJ :7Q>|TIˆp8Qgԃ{qK{' sr\9 OvבZCnm"E&[JN-sqKPhS; u$n=W[w/[ݑ$/Rf>gE249_z2;jBNH,{6v+7UwZXC5S8Skf2֎H巖`uҕo[PZWvZMׁh]|DRkN K8λfAM}VPhrr6})}]᷌*үk10B DBf$?=gsr@,.k>┽nUGoES4C?zQtҜ.7NߓXo=hTu/Y!u,)s7و]˙j*e_楎բQ&~D,,@枨Yk yPv4T;>Acw9I۬C8c"D65a_e C-Micits%}u8WŬs1۩nyOfsW^+Dj@< fw; i~944) {a?b{WEOFD\וTP4{Z;paI.wFW fLf!hVӁ'Fe~%0WLrwrpChϝo]vKhYz#?XUZz}|o$ B~[.n5[,''Kac fK`%EgxB_'3/cD hfZ#{[CvvdgEI%Τ ֠uYѹZ?g[ ϙpJ_}0Nvn zlgy,Mͻ7FN.6u%٭oKWs eHWg95_G٘0nK/]\76\]wu'N2z`ϊ#)"kfQySg4G8t7Z@m[f(k~5i3;6%~! mVv@8s,wʗ}W$=-KɭU?iי{@w 3aBu=>j5q:JwDPDlg C|Tקk*nLg|;egJ+7E/Xyܾe4OPeHų/d ESCB& 5 ,!). g3Vo5T$:JS%C4N( SI RCVX0k6¯8_m:Pxݿ"{[c{77\ZTEnϫ'(}r~mUmVX^kKwmk^ kqU˙%^ %2Hjo;-ܢ$ h zfL\ Y趒5sZ.髐YgiE7bӯyZbTgStkg~#{VMMnAL,.e Tgֳ_jt? wP'U\}A'[J.[:K:Y왈zNg~0y+J܏o~Qyc=cqKU|fa<㼞#g\<ܾvuYٗ׺4ͰyYvfA4C `zHgfW]Ҟ[]״\Z$vBcr3n{+vL.;y`;yHiqyQRO1Fݮt46y{ϧ}d);t*JT\4x/.[5:o3l!T׾ fYiB*z웼 oGn!+vʝ ns{}xb5gRL5;]ۡwg; lv |Imvl&S"b&~1ˇo1sJq"!ݺVLY$*:;"@E.k51PtLkUXh4v"uRR|5Z} w;ZJJfykH3,RYX[v|^?-5}Pw"JDQęuNguM2W~K,PBy5Ζt@<3>$<^eP0mKvgJ s%#NPeJTE6ʬ (Ci w" 0Zzʻg~PnF^8@žT-PQn)Y_Q,U ޒ4J ShzS6O:쯒Ec*Qp6w\n4|\'VoN6vnjvC5|}r"VZ.IVe`?+DZǜʐZZ;^F*啝{;k##70#HgmjuOʛD>+zgWSEY9,Q"|Bms҉kEU}Z:~Z9嵔pT5=G'3II;eWfsl5KG~~eѳu<ݡ)ZcP}.wzU8,<Ƴm Ra]\ߪW '%mg'yUjIi ij2\e˝kZ[!w)]tǻ |2S狀(n<#_i7!G,~6ukrɪl Sγ񜹎1Yҥmo.fcԏ~]'1wḁ%I־ZeNVCKjWZ/a3yuRdgh/kvDϭǷޗ1YԩD4$4[?jb5̣Ţ(+D nef_/~bl>^3iʠoUk{v;ʄ[V&vqU=2x=cI]uwjo'TV?2Jkƒv]ϡ٘&J;j<3ȶkgԬJMUL|i>TU'ϞȲ6e%BXڀۊA)\[& 浻9 Ϸwjiοv$x!u!rJt7e5Yd5޳oKh2M<"K EP2wYN>ȨwGIdc"]}ߍ9JG}'%3|f~m[2~f>.PI#]eZzj{l36rKuIϿ}nuL[صiT*.q.,}c'1EKJqsF4 _9|T9 fCǏlH >R)šn\9@Wqک6{qF xsYb1khxMBD|ygun}^U$N"+2m}U~6oQ7P`oqakS],[=Y7(J{kyBkqw yֹwM_<*HJ տo\"9Xm!9mMii{Vbg=jj\/w%,w'ýq.'^6ky5 > hwkF/k3Aʈsٮ 9x8rn#֌orwJo{E`ȥOr<2f=e QPM-V<ɯ3Hi\ZvHX*iS{G-Q)6Z{=8jϴ~ GN몂f6ߠ X}ICjh J"4SL$ ʪ1 fm+L.P+P0@W]z2R(Ye\ĉleJp)uĶң^ ؇_>%ߍ{r"7w\˧Zg)j9#R= Δ4~N!],=iEgm)#[,aѢ[o!C$mSMm4u97X1&&ԣ͓}abgO׫aR$A5f!#@? QwiOXg J_u& Ct _͞ 2?P^ErRH7X]?>pv>@K$& ۟Ȯ7zM\6)yVby9 ;ߠ鈮=,-<߸ B|b=hvi0 |GkgIvfT1xq3e8>pVbƨB;MK!vgoXk?nZpst*GRi#'Wc-}JAI Ņ\_k]>KWxkHZt>?=.JG3~R|G!l>V Ű}ePp=dpetT&Yc ޯE_:9{ܳl &9|=]VTUMef}2je6(QV3̢>^cƍL皝;'|DѴқs3;ֲʖ7s'_js`bJN~G-2*''ͦ-sV]J2Fڅe>_On,F.-n6ma<̦.%VnW`Ԣj^hikCLZ"F{9w3R""٤Y_Nw`Z:)ger{C#94y¦%"|neϡ0kݟ{9C![|9yg2.'l+oW&u"QLf_渚Nƈdd&dE^:;u ( ;};u5:} J##ڛϧQdwߪl{hn;ݒS>0F׿fzMd~BAC.m,6Lƒ{Xٙ|ʹpol}3M/Pd5kRϸhKJ]}2[렴wyTIwndx˺֔ǂįʻ ;^¡]O~!&*EfrHfftjpnNLosYv']5BҠtM4>~Ӵ>rA C>}Nʡ錞 $"8b!ZaDNҶy$; LY7urּj2Y5E=Fuؒwڱ͕IU InsliOdL6̈B9HOo:r\R|)|N_叟N~skH6Pݕoffds2Z3"*3.~ Iw_ik:dZUGʼwnjLmPB&ƍKWُ>smdE*U8IE~ig^FSpd)N^Ʒ%RJpyُW/ BY+?~tpvmE5: 2k̚u쾜kJeӃEvXm#9Bwvjȶ!m'd`Y߼ }x,ۡ}֩o’_/|'*}_/m|)1=#H/O?nҒ_o)7feU᥽""VsKKf &UJHnW`:YaM52=058r h"%JPXLˮoqf'g;Bs'+o9EP}~}xrɗ۵zn7FʃC =V9k$w{tpDSZt]n̕CN|kʊE [>OeDks/$Q:"+DtZ"\)Y" ϩCтf@kEm.-ryYy~.~Egelֹ}kֶúfNo߳MCe&|}Pg zbxkMWIIv#P i}hu~O`onO)P,k+M_4˒nO掳B:w\L98uvN(2GE=sH\v'Z}ok)=IZk_7՞/Qe}#n[W9g9V`m:ҤKZ:odo=x[V}m>+; E=_2e =gu:3Rn'$zts4 {jKǗ٦c{7[󃚭]k]R}¤̕ώ&++O[-:>^ʉ7' ʦ6]IZ?M#~O)yK< L*_7]i}PYz9;3ͪϷ_͑S発gUgE;َ9׮ty}[3uka-jRW?vg}yB5…y'_`CΫvGهQ-E~"귶5XϴuQHsu٦Qr>AIH?Qɲ67QwoM9 A %[|έh8wgъf(3"""%hN] NЧ3KMrˉ&nlVr&Qd%q>W4FnoI9I!9}}dE<?rxbVO0vuc%3/"&4c"2_#u'[ |f_963Uv8>}At7\EiKGLZk"%\FO[FQFYe׋/N[[ܢj7W)O+t+2mTL9~\SDm6R٭Q"%xP\7:)G^G4gYhDmr?'6wdymh2EG[Qݶ[lgU7TwmeGy9`k/]ψ 2ڟҭ]*3Y_[ݹ|y.Jh;蜷kyޏ=z=B2"*FmKҗ;VƵ3"sJsDzO>3TxbѸAP}'WAO}5F9ץ (|_wWY.f=9_*ȈvvM睩 GV"+sr"t-rk6%%ZS\'O I%zۓٵ YDYʡvFڹ$hA{nMd;zў-5}\%9/ys< ~ 61nd̊7VΜ:S@JYy}wv܈qu&Rzk "+V}b; -n^J$8Y k'g{?=nwL<ͯʍ}ѫ*lgXїgh_n? ċKTꚃsj;igε7PIM2ߛdmLԑڲUMOyݪН|f.9eq^:w8z"~'L3~reR[j:<<}і 檟"x5,`UƟLn0m9N;_L2#3=I*93~%;-D%3׆7fJ;R$۩ַaZh*d}f[32"ބQ>΁d#ݐĿO~buIc٪k;u⋭γ;;Kӯ\<:\0JK!H:T%#*g!\#Z@0%Z)#Sòe6xyV:'SyDhU $9 F 4<&߫zo]//C%%Pe%U\)&%|Hq3'aryIĺj)`Ƒ35xk3_gB.辣URm~&ZCQ>Q%Ru" j赹ޜ2Ni藉~}iԂ{ԶM,hp5aoENI/zq'ygm6'|wyo\ֻc}ro3jt~YmZ^Xx<,/2k_O/oyy2?5s4^\!ҹ}$_(3ZxѹO/\xs^ gnF]ϗпy";ѭ@e,e&g9 QyZl5g|,yަDVzПG[}HJJiJke|q ?P^w$"?~jzz" >3>签bbӊYѓZ^HM7,^㼋_-?Q;ϊGG4d4*d_?<4DeUc#?B]ToLuNR5EHDN'TkP($!.Q i=93)3"/m>Nִ8N!DAɢ# H]櫅;͖3R7̬P˦ :Se9>9`CR&4y}sA1*{gʄΈ[۷(dfTf\=AgIBCm2DJ"S{*Nх~U"龭i>f[uyhI-]LɞhH U oY2['RN|S~Ekrj1{;UrW"-L'U6&k@o`{D 4Y0+޳gkyg'?sw9SfsͳTM}z?Cd!kɽoCwVhg_Y(3"ޗR6ҨḥP{ragv3&dE6awH Y A;qun cpIt*'!_둷Pv^QU%bsNj; i۶}3(Yuw굿\eZDd>{)^hС8 QaŢgxTC:7)2u~dRwDLҦʏ]))cPC=63*>"sŕK*|i%*"ɜZ $nk}y1xL?6 0 a~G{}Mg]❽vuອeĶwjzYefdgC(!Yut}̷烈+ѫϿG˹dFm8HkR,VoLdњ;=utw d.lpTӗR̝%iPC7V?JNd[OǿKk_ɮkw;^Zn dM/O֮BC"74:U 2)/q.%Rٵb6L>$g-I49IϝK(R]ϒ_.ҧgAVNȊ ӛ`xs.D4-#De9:O/>Tu5{'뇂?l۲ےCaouɣjCk/}\wA?I5ԍdwv ;:#GQZfo[P&MfH"34@UQMqiե76Ύ:T+ֲhd[*قY_/ǩk|lɄ: ~<rzBÑ]ЅN_(]6[3gga6FhS~!zL>w;\mИ_8g| ȏMut^xnz73UTSSzGC:;K/+zVO*+TQ4c4f" @5/*eѷ)& jA#i #D$R=O]pi#|2~q +ԑf=wU/0u.~DU; 6:OSHffH!~W e7BpHĂ@nQC٤@B$tz(p0$LN)I3bj&*W:9iEY^JsA3vu*~sn7pt'֫WdU"|Sk2 29´xʤ]/UF{pҽ/^η΢$ލ{l-Cdli7,ߡ063,fuBDa] ;։cT} `jRcMz绘ΞẹS%''l@w9wq-&]kpUݛJQ\ܓB^5DbkMC_lgG_kd캖$qևpԊ+G| .|Ŭx;vEjvί^Zɐ]~;Bԙ,J2D9TB:23*wUXeF2iB)sE/䡗Y,w K[h-Rǵu=JJzge~ɠdt )p 7/$9~)湑='h0gm#-4~VWrԧDxmhfFZ˧.jlˎ)N4RDEDk|n!x2xDzD ق|DޕqoݿLhFTYHtڃH"|2J{smwOW{u[z^׎Z^mg/rk\q6a]$MdSz3z0dsS, "Kȝᶜ-<%Aٯh{/LeASwwkhbsG!{uy,+·"Wb=xI)"vS7,ہݚ^Sj+SiJ>K[M|iOH ){Rns爈ݬ_Ocݓgʻ94C/]8A+jRG9\ֶq<=fLIYԨoKdr~{V@\Ygi^úo-Tsi|Svwpmgy-?9Γ2%fs(*h9<&uVf6#]K]ٸϗDzhU8fm4c\!x{6ݵ4alAWMs wZewʝ5=u.<9WЫyޚh͏H'>׋jQ NGOgQۅ? hﮝbfV7ڎw \+pXo U廸5RHv1=y?L)^cӟՍr4fZꢣIddvdv ' G񽑤HZ &n!S>~_ܚ%Ʂtx7[3H\'+i|מλH#+Z=Tvκ"6>i n|SžPߥ2+:LB<.zM{!yO;%T0+_ ٮ|*^%fudDnHCm=\ĦΦ| Dn&O%g*vα'}m,zdsb"jDۄ5ybJ }+Q93mEjuœC}[:J;K>]2GD,OId$>3'0< uyhJͲ8}s~qQONr_n-w&hv&"cf\eĺ rhR4Q,8Z&`r 3aGS"z['.JMx\r $ҩ>Ļn8ҞVnZ[-\0U|M'kݭdeJdh&{ҥ:n'2<ۚ w|ks7yHuiM8?]ܓVSՇYoUh=4?z(H'SK93u>'plpHN>7x7u6ț~^ݛynm/WL|pw:jᅙ7PPEUD5=;TFE+K'( 2U QVZ X;0z b_~o:{+KYnF]fqߏ^ !3 ]]fv pX7/=[=".T;hWTNYT1t9GOkcFxq{v S8\eϴ#N0FD^Cl.144QmSsK5-)6U:|0#[NWHܕ(Nr7{٫5ݵKOܛ}fN7,# -r/ܪ#RhՙFmEo:j^(֥B;jT時w/їr! wT9\ν\wőbSjw){oyم3iوV=&xP8X/ㆪ &ޝrڶo xyXէl*xx ÁP^*\SyOkW崎Z^.#vڼUce^mzHn>v-9K5߳.J=+tQIZxPo=8^1M=Qޢ!\0L%ܤdTFd6vT]I'>q6J_(K̢|mDFvTHηlh$k=y)PYolY{u^H pf!wt&\AF:+iDXd|gfI_P& ęM޸~[ϸOq Z\y*{%ZyѪ^D#Ty;ɷ=~f/0Ǟ"ʌM>5ʄrK<)j8D/ KTGՆFE&(uCwp P{@Ut,1{̟{ٻ7QI{l&s:VC ǝ"X|W7VHn5 ΜJ!(&Mzշ6a+q'٤bQ.]> u%6\0VEM. 7HM _k79& uhS"P3h흂5=(&[\yjOr R 2{ n@4Iye;K5)&;7X~wGzrk~|2+5%s4-6rI$*L+3sfiHir4Vr6w5Xtj2 lFQV  d*ʢxPE1LR&JR(/ /BomuWa a _/繞m5n;"4>5s3w"!i;O\8b_s>u5ʃO9CYr+~3]/[ۻ%TPYQ>z1<\Vk^zYϳceh<🉓9K^׊zl~mٞk,ѮFblm5nnk'{Um5z˗X3%6D:ssJtfl>y2=5-ɦ]7ͧwӮ ]8CPKC*6$uirj^7u*ԥ)iPRw˶lGݞ0FBXM^gwCCU<_9&-*:m {l\#q&y~k!hFړ{=cךs4/ks#Saf82^錎oWdA>V Χ-9mkj7[rnO>z8ܓu1l"#֌,T\vTV{l$q_C~3}鋄k){TPQ:3Gu姧(ܨ&gUsK , g=mZT9+;'WHvDL=g ^ mo+yrg9{0]gf3c~,j!-XuogghQAe-]փeׄ򼫽̧L_E8#wYgN>J.2-H= 9k+AN༌="_Ν iT-J䳑"ubY2".~T͋d\}(inK`y` Nɂİ-fw٫Ns NiNefIapνkMYW Kk%=ɮThL;ƭb%LTd608*5<H+lj͜%7h4ixKlkV4$Wv#{ƠͯuU5R2w0/dJZ )Ozs/Z}Nbډl7k6jQ]|JPnB & JyMe7*p*Y9kƥzxn _gyTMgAO1Sr, n\Q2S>kVc+SKZ7a C]N`CVTg̼bDD\Z۶ehkVM鸓_2+ʇΑuK]FC''r$6Py9[w.ȮsIhֈKrb,o h(:teFX{"!9iƛ]eZ]-dZWL"3D*Bki[\gfRQ3Ta֙vTUݠ4HyNRԻl!C I9v歟5\+#3v-(5%0UI\ՓKVMЃ橬DSxv.zyrZ +2v։}کG<3 kay+AL.xX۰$Ş9ږGu >bxL:=ofe:`>r[7M/`YRld::NDI4a5'GDplʄF%g 0X rrbH]V` ;<:C-$!J HfEs-%׽Aϵ↏i>l3~46{})"8uGC#9GЙml)V Pզ5ڛaP>Kow5O3 tgm7<\/\̒{҈&\ӯf3{N~5Xސ=З nZ*֤$"Rk= dxc -okթ{?> Zѽs,ǐMS3u\~]=i{i7\lZ>BhkM/=u=Tmxu6;NlDܡCy-نK=Cs{3M5sҧrܤ+)W\sI|* ]n~9gyNs.z̑5P"S*yhx#aU1{WڃˉkJNZ*\ϔRk?$wju[U`EVJug[Sb2w2TiY磅-n okXf|2C̺ʅTE&zTyZ9wiwvfUvXC9C0QII*8v~`d)hy[R{%sW VBXmE^ VMU~YOl축:SwnʕQ? VƤBR^˷2{˟$5.l[ 5EYΤ(D& \7h6Ԣ7:66NSj6rVؽ3!pY;z?IJ)ϳ\xKl|ɂjaBcb'(I.vgēD$ڻntQƍ:ɲI|H;E74;0f-,KD/,BӪrA&%C6޻~e7T>nFVlδe]Ȏ2fS"{foʟgzZd9t@@Gj͈/y7(,߲֑zѵRw4N.sӜ)"],fJ (N}:ݱj].VUM%g,}C}v׳CUp3QMmTg$e=O6)swswR#g(H fa[wV^u}JλD9ڒʨ=JtfLy*f8T#s= tRZ9l+ hh{͸.\AGkzDwYU|gnǩw<7^w:zag+kNCq^IXAo;h6ZoEk:ݰQfW\v$%NfaRq D/ZyH[;Zg^ txM?Gwm# ^׵iW;EI3s++u|.E[C7~nY[@urjr b$5I'MaLe6Sk kV{gizz_*nގgIW<,菾oνI7=kRpUp'b76Vx9g-b$ΡMNgN]6B]7Q٦ݳ!kb(T—*UdeVvf{w9 N9GIDwKuˏ+|GJrW˗܈>3-؇ґ;~Fsy />|ZHU5")Lj{vi䟫C19OJEhnU ОMRc.n+.(:7\ohS#bԪ!1ӊixQ|\yړCb;ӵ]f/ $ #?] 7إ;j zzU$Bq橓9D?̧5BV_̦̖[-&kx;z?S=j]Wf׽s߭G+svMح%o4$Z1&MIx!й.Q+Q+y;|jEtj-[ٸszX^`2s%16I*آ `TFG AT)̩+$ $FRP "^Id+DK*PZpTg2rlҤkrFGCPuq"Uʀ1xf~]tu'NYeH"}ܱCՅ6;?Yd$ܕsu 9|G\'.3nlRNI]27VWؽUs̅j#>yPD4u;GS'zr nyMՍ^yF YF m/ǵof- r\ߣ4ifZCZJ{")DVOəHSZ]>^!15KXWD8<{F(d܋],xZuMo4uI5H9 /皑UY(f~|$4ܝv#|=|A:ly=0B*BnA<:]y#Fu,diM&go'tÙS_vl{ixͻ)1XkWZy6!|#k9lxtϙuq>rPQA@WRA27F+oVAԨ+)zkT)u<)[&ҩ.;g?>>c}QѸ۳)|ܗc90z 5\DI]=8դI/B]8?!g\ &W&9,EZZ_m ~l k[@]>YU5%(ߖUAC_Ƶ~c)ăA'4PT#H*mիzْ~%Ofs~g2}@ɶb)MyuمDhA y?&ލF5CE BbUOS]` ш׸NZM2lc?&0W+Gt=PAcߡϋY-/E"%Ea9suh34HftDJ)*!ѽηDvBcoxK"A.I ,I *DG,ʕ֦ QKQ5uhr% %U$DU!ܪ' oEkM'drR,AЂ ZWlNpnPJrʲO&d!6VJ5b̭_kԴV }eLv~ƛWSd߇L{ށ~tvjuMS5^?gƿ!cG)PJpoUf%%W2ґiIE(Ƒ&h']A GvA?Ux?aOQI7#7ɍ8(?$o /Pi4>*UC}l%7'JNxPN@u"h)m ]hk! EzK[bCAT 5IrOK  hun;ǘ7dk!܇GIΚ'T{)gH3vc CaS1:#?T0 C} Rt#ZfƢZT)h#NO_, HI4T̙ JZQw9 ;AH&Ihff?fqBP4r(YUQVpy5KAAHPv:N2)Oyk/ǝ:ai x4(s rO &a|PByjzydtȇ< /M@P !=rM{("P *, L(8ko4iq凟n:kZICBPS@P;)U) ^B{恆I> $!GMV0" 0r%("Bei"bJ "LDC$H^ 0qU=Һ&H*@U(4RP+0N)oz&vQE6`x7W<*PCkU۾͛.]9Tev$TR~l^~{ڠ#u M0J|˦d`Q&yK +)˙_޴V?wG"np!xU,N?g٢C#!B'?\.'{_ wٮBU@ JKq9P$)GR0v!*B6$eBR|Ő4M;)H4h^~-)HAC;u:@Rh*YAЕ rF8$@Q xw'v? yC՝| ٔAРjH?f7gyg9LKg&97cu~,')!!@)y7ANY;(ӫp_n*kxux&Am]zq0d5mw4& rx;Ns.% )h]>6A/B@8G0%_eUWf=1TT Ο4 'ěG<R#d %g1 jh`LRg?2h؇>]goqUSc|8 A٣xp t:1G%roֆ'0KJ7 :iyEa.Q"8=9?۩}!y9iX(() h(Xi*fjX A)) ((h80՛DIhH7|^H&(zhN:hv@9SbCj|N|N Hlb=?VwM^{7:Cv 5ȎLd0y4DԄс\Nbl}I#C*GbI7s_i0<wdt q ED(PD@R0bD)(6p|,n? WE9 ?? چ.lnsRsi3g4r4[:>MoODŽ9rfqcŵL Mrƚ7(*PC G|Ndл6jJQ~%Qug;*7n lNO!h;Ӈv;F4,C@>rMnOgT^1R,,Oi۔L@=$k!y<nDS>M$7c|b):KN-B͜I*7O^8()OeQ,3N`>(O`7~EQԓ *˄io;:IPO B h%?r|Pc?QwQ(]/y=BvL}r9b k8qSW+ViA*{pP92^={ Mm;yNIKyx ` 0a:c ٣:@x4:s ã(.D8Íٸ~`z[g̫QF eBut&@ڋ=TڄL灔˿a){ yOnYjD֛Jεt܇w|Ӧgi]w#lBy٣UuTtDv+;hfBwy![2nGF~TewCR0<{׶> kU-Uy;{taӮ^o`Hvdu^,"zcæu1W8#ަ<+pp;pΦ4T^C8CM>!Dp9GsR?<ݱ=)Ax $Jgߜ;#rDE?i/L1d?~Ւ"a #0--EJ(ihiBA?V6Y6 :g-9va=3) /]Fr= !/,WRJ9ADB~V{~9?WӊxT51"QQDSCґHU( 5QBU!~2V*ZRiHhUhi)iU)Z*C-DQ$1LA-~8rqfq dWe`e5$x$(b)dd cg3TӔ^rH=Pzmvu ?5Tu*~b?n4Wm {e)}0hb( @0@`-#ONy Q~F#L;1{ݜȇ"1yҜÿ 0\sg#@9:ٌH;|r?a |rR){풮ȪP4; hOœ ^5nxO*қYWM 1zKk 2yS凖\P`֠Y<}ف:AO/ KˮIKOƎLj$IICħbr@O4CukSѴVC5~;Ҝཞaq'bz~n{L@7 h ߖv5yxQy()vzZݗ05|<_-;c^ÈJ6<@N9`)! &[G|ТyW6pcD;ygC9Ckm^総?w S2I)4?yNty_ͷŮ 6ILAERqq) Z"k0HCJ9 /72HBjy\)+fzj!(C4GACg׷CĺČq=ltDaQqM.8%4Qsl6zaɵMe7S9B9T_x݇~9Q"V{O/Y@5NCp:'-54Q$tGy-"X)DJD/YZ̈́6ŖFO=$ܗJy748r̼ waQq״>8 ioۀ &2AP#16f gzQȆƣ7`=cpy9lKBd9h= H1t`T2Y+ٲL a =h Qt*&Ĵ%xniKd쯷%{gi c)KS0E?}|8Χ/l#7`2W R^(ҾSɺ ySf^GfkyXpҖ:l0B%`2Z ľvC<ژH/t>ĕװ 1`۔M6n 1 abD.a&|;q˱]oTIB C[a19MS$CD x157gCZ54t"l`Bg}n7>K41j5FՑߨݙ8#><:8j#Y=M d=E~ז@v܃+ay';wFkg6|{Cs&nwBxZJ @ym:+&Pq"/Ф݀3>S']=贗>k>a;q4}XZC!~8a~G$z}@t\g!K? ƽr ǃOW'JD-4WɹxT::W;3}<<8p{:N:QHl5ڄ'b's{ P,Cag~CJtC*WɤycdsoPC<ރG'`_g} fH?˞y܃_ę%5d~o w$hX ) &f)=gqᣍ;l ~H+HОWy2y/O}@R[IĿj ]U{@un<'W#؍޾XqUDקNjj^~ҼﶶhT:߱'򷹨E zwG[~4=1Eg*@&7=Оd{OϦçn' ǎd$?َ`wӣnh[O`&\?J2>WȩBHRJ ` HE#I ^SN gh1 lbV#808wHw" u s'$68p]M ux"v B +"8me0,E#iw*kaPnOҵVq5WB))vI0w~+R\ ?dUd6B5?~#bժ5H ?`C[]y' ICӡ(It~Aҧ˻҅?NKY\EH ;`4-uO"N]hHI6tjd,@rm$ir .م['~X0K[ϟŗ0?xc_UN4@#߂1G˝Hl&Sro:\ f$%C`݂6Dt(qDL5(9qF ~p^i(H M_P&! t=k. ~vA y!;~*.n30qˡ{ #Bb˺5:(m6&ڊT$;^x\I~gX=˟^c_˓]|@6~qט`\g-Fz%5Tay&u 2A'lf:Gq>8ZM0͓|`g-3ڢJ*C)JB( iK1F+6yܝOѢt VO/Jq3ߟ0b4cgRҟeNyDihUhE(ihĴ d HhAqa_Kꍁ;>' ~Cevp H>VNM㦹㲺6qa0oτ KRE-!%-Q]joݍK RׁfRAEDQ@f"{/w!H0b v]l&HhJQ(oǹq0PBb]%ceh^gaB,'ACHulj8Q@[OCٰ} `$&) ! "- aU4 Le;Hwcq݌!Ը|>G.U(חm"f,fmM ?);$wN:kOX_R_ӤF#(~Eۮ|l۟O 071jO~nܳ7;2~_["~|?bXcd$kwÊ,>7nU6|6?٥Ҏ5ۇS;fxOK|:Mi)MH.<Jq06t?_6vjr[<>;,eI֡I!+~KCUWx)`@r>ZkM[#{}=4:ֵ# #=ϊ6}= gGxZ!bGߚj6Op=4?5_=JކCEw6O$)`rx\s9XNmMZXg91<7iʰ@*?Ng?W Ed,]b+=|{*y͵T]s59S' >9"`~/gٴת@;7柳WIAu%~@4'.?&R J!2LRcxʒc, AtjFqTA$R/%̙ʬ[I^[H؛ӐP efu۰:&뷆܀sHjT* 5 8Kql5H7TI8\T R䝠 "~ _>09YX '<eAZ}?X[+v>{legAx`Ř({'D~_@b0#~ yҮ\}򏐯 |t ^:uީtt0yaq$T=7AljNj ?2* >ykrS{⓾A(GY)4`+lPa3*b NhYwGS!L$J Z_L8 0 9R SrT2 ,]B?t yiMp|Ӑ+^*ҐuڜNM*SRkl_Kwv[݄O*tM=i]Izor㕽nr|Խ&w󍠷ތU3*'Xn{ce~#0^n{lyNU:QЌ}giGιja"|JUN1浜窶Y(>ȼtsz-ֳ$@#/:\.aw|V5CW[:7eݏ~7k<Ϯr}֟C>2#n1+O.Z|.o^jZ3>[*ھ?X<-&ϢgN-;U862kJpһ/9t{^֟/RsԔ"tyuͯۓ"?7GEI>7$f:'տ6He)tT L}-y5{UDKߎn<ٶ;P|dZ`Nld=O҇}x8NzS"[6e{=wM52EIKvV,9]赪{3ƆKlN Zdlk72&y׎^ؚC3.urұ[ۍ$w>>< W M{\nl[v.˨}RΧ1J>m[ rmzluy˼"-K15M?czM'y}ZU9ݷ\dLZK}Z,QCu8 uӫ_ٝwJ15\f7a" [x{Ksh8umމ̳6U엄մjLی޴&cqe>w#[7;(w'ͱeP|\ g=~x\jpэs:'ހIO<D vڦG.]~1wx`6[]g2{T\`f9F4IP5g TG[\'g剎sќo+gJ|tcs9W?>ʉ7N}TO7᪎.˝J{,شk[٭wYx鮉a4{f E996c?GqU^`={sr7< 0JDL>yɗa9^!ש8Ix̤vr9uN $;Ŭi#CE"J,cP՝e7 畵YV-kW,QH.v *Ɋn-D@;j=1W`rRL0t?>NL/eǧMNJW/S[VChGz,|ɮhdV^_}*v^\NٟqvHu0Z#T|OhJc#iӼ$ bR%<I2322Z0,ulͅή΂$(M8 IҴ4Bxq86s $OÓ+oPhxBꂺG s^kN_-hb~b"|N1W! HYWn i4)@D2\~x(J7MϿs1rȀqH"SM O_y;:#=:f. t]]*iG>lf3J˛)M|;G}rz^}Y ).$ӆ>lUIgNXzFU\GBc=sD?OH4tۂ1忕͢kʚ"hP}q#*&N<.8ٴ캴$?& CD~[f2>Ihv=t>OO("-h H.~OſԴ/ohk o/tZukS52 bOO?BDOf~ӰÇ>}smE[zLeT\t{\&QZjn\' 8z9RO Nʣ;rlCS@UfQ;yt^,-D6Gޗ[ҾU'U0|Fk "s9/qs;4.\nP9iq2N!dK`d<%I5d*̣iRʃ"@% @RV\ !/nCsud]GiT4@L*wW9:8r]ӽTQjQԟNm0YJwA dD/$hϥqA@zqVO )8u`=9>A)@(N藢K A87 @܉As s0|$$h CLς[ur8]TRҶՔ<%(Pw1@[ѳ"[}- Mp҇PG,Wgތիm--1$ƴ0jN`8Qyh'wkw DA C**uN4 )l` 5 Y|hM?kINJ/J/,m BF G`#S 3t!R&spPj\Jh <g&Pk GQ&ΠX02 ld\Dd7J7烠 ],`hT)B7 ]Suzyn0.~b!fauYS!Q""1h?Q?_dU=[="Uf nো|1#腙>Y6>T Gsհ7r, 8(}ٽiŒ?¿[\zjپc]vV6xq SQexi5I@`@u.$) MuB{xPr'wL@7~h@(JP$ aeCW?@cF1ܡJ hF9wJPh(iGr%-[b5C 'bDi mh62z@;+)uQ´BYBnP_M22vFJ " kYΓAf=#p'8#TRRv3ݍ&hRh l94'^yLFv9DT=]x0" % `utBg41I~`S:2<46),z !hF 3.{BPWL"Q)P@IL_#WcAmUtZc[kZˡ}u ֹuM'.+D$Jƍ؁KZF9 [,/QLjNXN^ zT{*qU$Zd%ê]RT3;RM?tF7y'KIuX*B2o؍9e3e|,ADV/;liH.R]TKJw@uߘnų'DZhP AN JvNQG0*x^8IZ 8t}^Kl*tơ{ <.҅i;TSAQ2D!B :'=۬Tht"ОT'R֒jy 1g> <8(BMe]4"|!2y_ǰ w@:~ -[<5fO91y"Eo.˸mUs7q"do'Z j?++z/Q[J7 e+p*<hj @\Uօ & *"74jV8sɭ%4KǗG)a@}Wi[jH. ZOQy% ABkbl L! ěwZF&5W )KVeOi? QϓRY'5rUG8j;uEMY(&0Z1^[2Q$wwF1wGYTW*Znmґ+]ĕEZPdږˆHy{l[s zh̿3UMŅo+ӧނVQwu [excN7|w.ndTԂehSX'=#26cq/))k^X, 55ωI2ˍx4#f*|A֞úA=<7o;ػdE_]T̊4y|dIA!>ml!̲sOKhjA烳}k@QHD@mud_+_;8\ &7[(JUi SΠnāGeEg&#%WX/ #Q1m8!@@mwP N&;={ن}_Iѓd/Me9/:__ wgx/_ūYZQi+#+*|Ri<6UU ~}<<;hS^ҡ@}Ǟ\vu iJq'zXMXh'YNOJs]']Y6hWafZ+M_%(iYs,KiRDk>v5WB=VHVr^bץTát(}%DgY]U4YϤurrMXH/+u޹?X|{;K)q໗fr6]3y3V~q5k+g7gWXn٭lOsFi{??Μ }e8gYE`|!RN7\j<ܦ_v-o9W]2(xsDn5eM-?2M[sxݯ;ٕqGK=6,Jλdk,ޗ[]/JJfz IuiY!bQ/QY5B 5euT$FmZٮQPcO=9lNS}{6_S;d6zIfj9r{`IϝλRh#sKZżXYWgU*qoZe.k22 ,%^[^k.-DvP&m4ϛ9W$4ETVR[( ~`ѿ&ho\fsحXer_z{1wZ-z;6l~]/$Ҙލ Dl[w{sפJC1h;_eE7*9BWsR"+l-Mk|A]l_u [5kA( }eQ1mNa!4w䆻^_Ӱm>R>aL薎=v>>ܶ&)W;}ќ&wۆ+2My7z.72q _am^brx"KW+ZSſ.ɑGb8"ls6=B'ӮWMg~=TPmηWk ' 8dsƖ]dFyYxFC AL@}C'rx<|z^O-p~òD?4`MY tu;_O[}NpiW.sSPqrÀTN&xճ@Q $)77WV;s 7=*k)Z|7ُwA+Y;Qف4ѼÏJ"߳^%mp jOy}[9GU3mH޽#-<I=>vK]xpok;sAz} o5}yMlòthݝjl{S$@mmYDij3勍{hg%>SW{vεceײH3ytsm+Qr۬E>;KiE;OlۖS޵BRo (2ˆ}6svL \at3=4r+Sb\H& X|R㓆r=i؅ #BBP)*iZSKJH@J[yk : kjk.mexZF[.y>Sn &O~*263̍^ NUڣ:RgE֪a\hOt!܀ߤ>gϞcJ~Do6Ӯ9܂yd%q Bt"J*XA_U خ(P_g'odrIϮLgZj}kKϱ+K ."~s4U\>W^1.{{Ĝƛ:"X]'U03YY+⸫//Dv1G ECHd(&Ͻ@ 8_v5Cw4qWv.RL?in!퓘蒆OʶN"uD5CŊADDLTRPh@P䐣JrDETvCEk0Svi(?d!?0IPv:H0|‚IMʔW P6:™S ?T1C .MMG0׀5wϔ a VC"t gdWk 4tEg` 9@~T'1sh+`c: 4C?gw/.yf̶aGuubݟ?WO[)vAO,Ùvw@0ۥ xMNcJY.4D*?/p?2 >cg3'BzDl,G?Qu%tAZl82?!ҟ??D20JB"T "B`7@d*SJ0T5vxPVQ?+ v?}ve;^Uխ{4ˌdDILRL%Qe9Yq@<ι=y&NI$p9!lHB/r/S{ҪhצJKF-Yk]{Hd%j\S U^BY*L$c{ ;fe]N,7o3b0R5W&ѝvAʋ}_8f$>K>_ .ƓKvS5ޝj<} {B'}D{ľTfF5HY X,*v"knE(XZdgfmng{V0;{`[,֋hi+A .n]^5CVz4o6{׷sJfd4* uyqwN~05=;իߙIGWD{vRO:Nc'qX/f}S{n8mzߠk;)s0xz6dok#:%bM$v;%Zt4MHﱂSmPt6x ]ghYW7;=o]ѽvHyWso2t7(h^ l]Ga#?cn<K-Z}JKTA{|3whY6ٻNHQXw0d g9ln4kYքMN 1q5qgms[3ڔipF/K:5F<q%zܱtZze&sRuFlRD uǻ緇MoTF)ۜ5z[ԩ%rӻx뛳Lr|^]A!V˓=Úe\kWkW|SY ,!Y7|%-n]_I3Sf2U׈Qem X5!FCz?mTn73\"y;w7Hm4qm'=nOh]2֓ϸn~$G]'yϯTRYNe}X=% Dbj N*5^  6d_*p.i$hD)) TZbȑwx//?z/DC/(bE̝P"r뎁N=]Q#"]Y.%. Hy@=[xzES5{3 bv(iKaf CJ!q"$;:yO ;՟=9ץ#?=/Fq[Vo;D+\W=2- M%#LqL~ΪV[DS/p|:q-y& wX?i2@H]mi<?^aI7Vll#m WhuCo?C퓷ᆪUVH-E{qmRh^`4伳ّcWf]()k* rztPsi ֡@ @"'n;N|M z_E{Sa/*OѾ9U2c|Ҩb2QMz_k;޿1?SH')٭#&|4$`fYHn6ڒYR:Ķ`ʊeUgMiHU{D. 8Qɰ6"4duPXi\Ɋc FSJEB! X^77  : PÀ\# ڿB;ݒbIr/8F{Ya*#k3G#pʉDAiWNkVi$Ĵ%^BeJF"H* |;cqGTִU}"63& -nԚ5@Tdzv`1+>#8y#Pb!S0?_:ѓ&'>pau9 xMP2'<$Mt< DД /AdCHJ`%}0yKzy!a?**h!{?ɥ PINIh7g.=8(~sp9ٲ#S6=\RP)P)(8g'GT&@$ n=3^}ōIeqBỰwcOl:2Oα8Z]IA9+yh:OKxf݋oɬffQ;m @Z%$ 5ñ 9Cڦl>xs&,\ &*iy rxxy^iݽ"W*.I$ -!o6CHlj<)><=h&sLN.ȮE|=2X%-Z*ګ- ~2.CB!j]0D\4۩PRqkEkTE)i7[meݡ! (o&6#`f(sb"XI" BG.~t/rBԫ81i4]n,$դ]ŤFQԺQKq"#Kpi Bo7p! MM|󸤩Ճfy|yc׆&6Ɔ~`p -dϛ#T]yW5G %EIKꂈ 䡢ɠ+l%v{^Ɗ*J DVŵѼ:L )Mjg: gʱ-ƺz:)&OG4XO0;-[`QNãD+A G-RP:B nq|;{nׇDT7A:Qj#&`4>񽸐HZ iK j&k4ii$}Z(Ji ~G0̮K;CO` <Im|#7jJr~?ls0Y>Iڽ.H|y`J3SC'+&f)(Wlf4[`GJM kEnlJ* *T6</"1*9hXS0UК\2]<;E{^;jZ h(r×0~{"Y@|MXD91YˣW ҜNN$b'js;SُqK(* AP'c"R(ѵbR|9Ϡү]X [ۭ{kWWrc [=9^4+hY)2i.9r#Iw/k|k6(ɫo̊7Ξ_өn1),[U]M8r9C pzz7yp]0`ѻgoVy瞽hk3CS:$N򈩻{jM{-Z?-Y"Иk+CrcN v!gzޓGb!6|~|lS5%Г{)sV{?u$naSih7eR>~\.rmұSN6y7~T^ٴoAlr 4+>!iP3oK[hԟHZ^+<$٦ʍ.]4}"hx£W[''m+*ӃZtQ{O[Z% cnvF03Sp^z%f })7禂f9 W<NMS|u+3T,'vҮK1+B8ZuڝZsg^yOs7h\J8I9{5Zd&{y-mj˻PjW=Q3T~ߖ鈍Who{TKnI1\6z׫$"1o>sNsWB4'wk! >ZyiӇ[5nS0z4ɳ]4_uMut*b؂g$H#XВ+Tg= {>W$smU,W<ͬ4r~ia3Sk^@l7eztל̍.]K !tyyo_VwN=dm}!|~:?Y{R?e:ځ<ٽz/4Ƞ5GebK?}U2M1E51TT- Uvv|N:ysa~Vj\^.VsA%Vdz e:ɼ'do <-&fr0 ,4_=E_e׸%y|ֽw? ))|쑡6BcfJU("ZJbJ(ij)iV**|hП߷ト|Za1 {σH28"cHP@Fc$m#5e>T%GNߏ[Tfr]Q5oi_:-XOh}xG'D8eJvU%g6=]jݕ ]0a6n_CH7vu[Pe*-ϝpBy߀)BSf8`68!5TSb ؈ "tS@P 8'!rVBD!F!5 0VVQF4ò$FxxNms@LۯXt@ycȼ^]BJA|7k)"a0$< d㭷N1 KRm9խݚg˯ӆyc:9޿n`YG1Mi"~8 OHF&c'07pnn(XjBppQTMу8hnY* 鬾]ΡAs3tTAy*Q+t s8I@ +~c6B~}WPٷ5A+,;6i u?S] Cuā/(,tʒYYmbT!֍V@.@gURtK,qN myJFR(}(R$RE Ve}x>iWIhW# BrϿY=%)1 Df P15Knpo?({ h>Sh1 1.\ݓ$>|[4AQAM)Hg0*/8ѦHYc6[A=j=I5jE}.mGk$µ[{yd͙#{xc! _uwV된rnq%Pm/p"R@@kޛ@m/^h`UU}8w'"q\E*z'JD4MJ-1P1? K 7_^d%؄'.zØ|\AZs|Gakyf2keY 7rLoqi:ꞛ7U͵]<޷Sd5[yfkZefw#nDx-=fDZ1""/}\ ga1_s\4HJ7i'4(r%5c9M iN3* (a$ iKJAeL"r#$]5J,|.g͋{`28 18y_:*?Ub)-6hi|_`ό= =Ǝ9( SD H{%JdUIIBKs=B6d= _7V ѨȔ\ "fc]`߸5d~qHs07+Y*L VQ Qa֮Љpf* +* nˣ5wT"P?;I:.EFM̍ !Z,eILL/Xݠw m @`8aa20ҋJy/ǂdD܏*}lX+m/mV^ ^l^j;zVKr &-ƈ>*(2"`z{YtoyRFFQc[JCv3@Ή6Җ@cd!5jtG mla!",L`" 6nK #%7:22%ݶPс$֙')l)\XSg3G\2*h^J2SԭMQg݇a;7̀k ިz4F 0xDd1dT8lZ_(ztc9;?nYrb 5I Y`b`7X+:b<^2qE@4$Gw|Q9O)˪S+\#1Hr8@5z#d﹠μڷx;B>9gbMOb*Tk@WIAb5 p@_VgMmXu:-I={Dk;vrnWDᗜj5=lOӤ<@T(&LleFN!Q?bdBuAO AjPJ*I/,ǁ)Vc! Hu>S×)0+CFZvA4A! !x,ѣ0ᣣǢ=4Ej'_͈SEQָmgxQJ0TL1Fi䕓3S9|7(G4,}J62˥cOr,,M&LݑN5V3y7lWW]Uġu!xo\ȴs\[5,2}϶ ,|\n 0 kzG\c fL!mLUT|+/$:BW4Odܕ&cD,1_ G!O_7G"¼!̎G@JFv]YMU*Cޑ eHFjp;/d&u2&A͞ dBXCb-5 ӃpU;MOWQnp#^Qrk*f Ħ'4uίC&Q")"]Νu(yS572wsSմoY@Yve\=(MAs HVA R?fWiG(4N|7{5idߎC(Rmʴ߱0O|oˮ۞=IJ8̞0V|Lc$"8-xY5CS3(,J״U|v\ɠ-ou7_PWɻ&xzwZY5'x%w{g/ƉwtFJG֓={>\޼I5ATaIGY{3~||ԅWHF"=޴XB ׇ<5wihB6#/ֹ=Q+-0\hQQhxJV6ndi슾Ҷjq=DPx|jt"צ^Vvˣ';Nos>GQ t# oeAI_ʞ;`*`dg`u9qlE<74c6vjaA3\ S a«(CNPeR S_R頂1=_yX==ro5K[+,#TL 'ONd[mz6ְ<-hT܈QdS+$颠]'{YaK]7GE<)EuI)*TX9:8`6 McTX"|o8:*X)Cd2b'*[*KM'i=_g{k* ?0}p\N=3̯dL(xhVKJZzZ-tg[ߨZa*yRz 5f2ph?80߷Xy~v}]s7wU.xŮDEzW\#?Wa; =I24HY/k#FIpD !P F!_YTù9c&JdJ@CMHW)kKNba(JIpEE̓ +K|išvfxx^_mlĔ{=*PYaU犽2>P8iTbLw<k[D\Q-9.+$Dxtf#B3 9#Ccx6*pln0\TZB`ɕ: . ٌJ֨c XF﬍1m5y5Umfx{I 17<ʮȁN*<8R?2^aFo{5+] :t|NY h ,^='UM `ȗ'+_ MBM7~ uJ5[|{ejs{u- X,`(?;b' X/Jǔx B)%ZFI;GO}1+FW֘dq4e !J:,aFBᤞG$)02Ao9@$Qe]e4\~vrCWwUFYk\d"-5 ܤD0 @0SS}9ߵ֛yB{eVHϴv7NqsV rUKn@W%kMfE/;5oM%<:nV\OWzݗ@YF.i\s! 2yvr(!8Wxhʅ`)T"X .Mz3˧Nt#&˝<ݕGΟ(\ݗvFm(Rx:;-bgu]NO+OZ>w\i6Q1jZ"|`{Im5&n*PA82lvrThܖY(D34Q;f4uamq a9(hZ'32ͤa J*<.O7uN]c&OW]CMnil

[_m5\|o¥#Żu)G6?󰜚Ub-CJZNr2? 4e\O^:?yFtY%ԑ阒*E<6e:{Ò.mjt #~˯qx=|aD^½ :?Ci֝zBW@/}$Y$23Խ>(<^~#S^A0nx.gzp {<꾄>{i9?s3w~jۻ7(?6IC*Y|]i:{~ݬMyOr+mX y;-pWLFSPj-“'&{`|upo_^(lC[&'<*>!:YVۺҒNbd2 ~ef9ctMh~ZZԫ[W[4Ti7Lu?NdY^x.~?drĞȲs]kT oemSܣ>Q:)_ֲAv j=@[4[L,x~ Dwv`yI=| Iuz9W pi;U=BcL.=hU0ž_mf˰s1i}r/ zm%GCA 0Љ5~m^֋\<+%+&RwioZd_a5B*S7&E K\M\$K:%U8'(ѻ^-y5NsyanqݖZ3JaYNkL9)SB!Z숝j]:7r"cieuQ79 g4ʻ̦_s,r}S Vٽ"l}sdce+l{7܍zl+l]WNs5T3 `b_C#>PC hMST ͪYr tٿ] M (2I׶AS(sUo[4"o>{7;{y<.C?@ ؋UM_ g`d#N7At% ̠_~{^v} 4f(œ˱a^ݓ7fU{JiF@bEg/3MR9X?]$t#[X4 RP)T`+}s}j*ja= " !Oݵ{:4ŷ_7o/\ÿ!Kju'q!t7M{9m<'nkI~>O^oMiu6V[;e{D %p:: )+VWU1zć'NP'4q4D6\ui\Z|u-ÄuϪ3J,ڊIo_Č* Zq 9Ik뚊/D &4?v.a7xHLcjUnK: iZl^80r)mJ ;ٯ'Oʩ}uϩN z%av}xvv@I~OJnz+QygcƹѢm)iS(F&9k Tkd8"H\3M.ڭHe">qrRl*N۽]@bFX&z3KM"| *tARThitQA|JT0䠸W)A`=ײMD-f󬬮JÃDT9r vWu)>ʳRCp@`1D<vo%X~28{QSk06i'6f#̒t=ꨝ NĴB4\+oDc*j+VRFoijaSE-T]x7mZ IY'd䗿0mo:1^ڶxƸ;) BGzb$7@7ĭs ff0wyG#Rr(%+O̡>}rpy|W!>g8̪Lؤ{f8^8&5/:jdKV<cKCڝf7~~XWG =!$ l@뼙=;KV+<\4>ڿ|#JܐETlo%XѪfgpT&74i&ݽswr(|fz$G52ɁJd)hnE0"\8ۗY^YٲeUL|wAEmOnlDƈ *\ԈuFrÏԶ-]zԣThV3a~\^r.ieA(oNN;S*͒Yݶ8`,VB8/"˱P.TI9fЍ>>tt ֍KqݚC5Ɏ7F]J7%Tt W+R*\UrGޯI@9#P 4 0D!YBퟻ🚓-h~ r0&8_0ߘ1ԓɸh[V|ڴuЛ~t_ļ=6'bwKŚ5kYy꓎Ԍd6IC@r\barldDdv 'r֥hLabbQq7YkE b zLL2-ΡΛ7ɢִ3D0%CP즹 ar2-3M~&!mB{}8Mgƺhe5(yQke/'+Y"Az x K׬ad ng-IIHepkrZP1}oBA~sM<3i1ƹfd[  lj6vdW29}ekJ  a^\Ƶw[ {Jxa?nbnL=,~ J*j}DZw7tC.nw;˵Bx߿M66E˴D e;oWnNnL'WK>_<@nOh z  \up@ A8>b'eCj[Xu3`N9GX (*M)pKe"jƔ('^~BQ]sYg %wde%{V[ޕQ8eŽ^&C)^_`CNQf'NOb%}LQFE";1H !7R@xB"]ა [k> 7Ujv Z I<{H[\`2e*`+r1'၊hH@Z0ZkhlMkvʈ5EblX`lhMsjl8f RX V1U0 $˱GNyeLv.%:E^ʜ uD%B ֙,OCsOǨ Yex#>mlp }6pŻnӏ8&T+q9A=[]dx>|/eˈ]d얚@("j&  ) b))wG)<Na4~ r!)@:$M,"<2%<`R`(Ƞh)[~ Co\C&zwMD2rE-nr)PO? D7{jrTQZsu']8%ʠoS~hE i +&r`!ՕH @IOCY"N ڲpˍ(n,ER"PG_@T YpG0Aށlt62 *_  \2 Gi8xs' A@MS R:hho=pmJ%s;]`ɩ ְ7nPW5u@&5Wop+"Pm;vgP$Q#/D$MFTn?QQIA2a4莌ty븮2ȡCdoP;}`CuQ>)-Yr]>;*)ΌL^Z ?{"}>Ј mdyiZAhhGȄ.0P"{ DibZF%@R(JǓ֞z_~Kg|Wgw!?76L}$x4Q hb\ԲIz cVIYUN%V]&rз.UC%PQLd ̶lsa dj 쁈J۝T}jpTiO2.''0/Y x $cbJCTw/A^w8J&R=Ɵ ~SJKZm3jtuU˭WT.`6˙2@:WAM HZhdxЧh#¨xʔkHti !8-p@FrLLC 1 hC&λkrNr ݻMJ<ʚB"RS9y'Pҥi_"1E =ӄ1Bq#HI'p/:q5^0#R`LpxΧE!?y?o!q>,Q-aqC^ Q׵ w0B&DKIJ $:A$$vh 19N#ݯ#EwK,9dnF<Jo+ <}_e'gi5Bg|N[Ϛh[9Q4-$Zض!3f$em!e9XP?EYIheҠH0I%= |[y:eۛ&6%  2&Mbwc֚^" AOO@$cq!S(끂4;uaiukU(eo%wN꠴h@k{UG];3Ś-RGLrB.@ˑrY3XzTt{ǜ06$h{TAaEBph5 ޹xjG]H;5]hipEOj WR^[_Xxy^+&[;HB,J*^K[ݜ2T^5sZDֳeB}0vN -ERF.9 OZ,}f}fMW%%M&qz@E@5ΝWta-߆ j|l,՝tmrP4A0 Zugz#˧[O̺³!+!犮&]ӱ Nk͎-u3%$N5ޯƍƟ7i5_(Ny٬WXWQd/pwT"rltpU:!iq>zꂦQ@hj$,Y*j&b Z]OCT|RCqz*)Ii"+b MCB@DQ!I05A#e%$PPPĴ4@QJPDTQKPL4-)fHA"  |?ցu$Srs|h`r2TV<@O=/.vINN_/Kb#%ʰx9U7Xu  v=AN!l`NׁP7g'>ΑN:v]>>ž[П:g)T:KX<ܱuc^\`Wk_'sVn,QAI̫?zO葠%!+6~MSEEAMCD_)H[q }#-!7.ӻDir\;Z<u"*:]$`!=Y^ a]]_綷y9 G5EBUPtٻ ' yIR(˻ )(8٪i4ɉ@?z+BwOW_%۷v/xj a'sW D3У3a w#5HPںi8PI<8ǐ%_/E)!IhQL^h\%+7Clj&EG2"4 {9ћȊfbA`U0\H̖:0#FeC\Z]pJP I,/%$zb6:"*Y 2”aBV-"[ c ̄a0Xe M]51 7(&S43y,˼@(3# FnERt%Ima9e]]_L~ALF ItHJ Lip vHJhHRh0x);**" _l3PÕ*b ?a>S1τ2FPl-4,I/ذ)(AFhN{oiNtk/mf:>kJm6M,2&!K9V౒ ѼQ.6W%1Uɴ!뗫#Gf(ܞljxѳ-Btj&CFӅ"q0**̹mwE#\S6^O Dr1%`urF4y%G")R(8I MZ&6TBX5 ;|u^%DF(4 A&@$o*q>s $Ѣ$k( ϱ 9LmfZhkZd͈̦ A(wGbv+$۱-#! ڸLG}yChg߾53xg45;g5oF:k5Sߞs'/N%B3ubp*R0XbӮ"I4V1Ce fHJX2d0 h׎hFG196J褤\wV7kb"yVa VKe},>ʚML#TV&$ Hó 4۪"!R._p~m\<4q-_m{Ei;ڼM%Zkc)$%:! JMlr-%g#y}D"7)I(A7!v _np?qE~M}}ҏM+ry[;isWbZ4 :8֙D:/uD,BSJ&k)٘ e>x:,3J% 2 h;Ǩ@PABSB  GeHJJxFT=9TPl.a1'-kR9skAgtERDK4="O9 wy|W0(f[RIIG;~@85 ô÷ "&E. AMRU  bHSgDQQ.(!4bL]@ A=:_) ]/v2h(50RiQ9<IIyd&9#A ;;6ML34̱! |_p cò,ridCf`0|Ӻwڔ!&2퐠Mb0y_HaRT^ ȗ|N4J#(cl,gG7FgE`~k WdtF agJmc Q[,Tyfg;d;*cg)M%j۬m~ÇV:teiMbuh"@K0Ѡb ЎU  k<o\G}3^62iX:h~qh]Q{L*Ѝ<*6ndH6|N$=б /^I/H%c$l~/},iu֝6֔Zֺm';t\ˎ4)2>G3Blmi+C_#T&]8*b\`nȺ< K2i5Hh62e%! 4#hh\S '] Ѕ m)qֆ-]v!nUH=-[+8 ӕҭ( n݈z g7O!@$ /: ֖/ӊgr'##}Wjc[ue&}/:z5<3*:\m^h}G:/|\/C*{َ}aem\+m3*?;݄%lΖJ+eZnwW([į3' ܉Ur\ 2;y$oR m7=׺$|wM|CH}ֈ{Nz/:C Z)kB{ٵTI/s.-1?w-咋Pq,{i]S9뒒E/t濾~ W"㞳.Wʽ]=5ڪu}{,g]i'H4S}m7-;x~T%{r #)Ѭj!d2{ƄkQdQ8.6G{ݚҶ+IO}mƒ_ /.W[65+Gvv+o^Q豐ƙvySQﴋNk2v YSj_mo4[*moYt Qyݏ)*kN5{_6LCj{:[T0sO7}+ hqAG^lmmYњp˥/ 鄫wLѽ!@MfZgzVfOIZΤn_UƷZ,30TZ^qw bA+>s?3;4$(Br+ :"*l[$trH.owsqڅsK/\uH|w`(M}o[kZrg= "U>Bx=r8ӓBǎ||15 t\ chr-<}l2=:[Ai\\+:Uw<^ ?`|e\ʮ:̜tmA<|BOBa=~#0`C# \yz3=oóݖ[?MDfE՝g}Wi) u˜7WS|N|>#lx\w_Lbܻ ϊ yv1gyF|7+<фcd|&eVCֵlB]g)[RCb0Z;y]Ͻq(Q23ɏ/Ŷ1Ιv>6/H,s8ɫkJD>993zfq sD0sogm=ҚKPzgELdkB9{' ߞe7jF|q$u%%*/wY?lj>֌{mH/#:ݦ~9U_C !4(r/N#c }-ۛ,RGm~MkH#.&ߍŒqM(G,Sls_lcDS0@4" aL7k|esu{?TDz˗YB ?FD!@Õ[A;$HTBR%RY -H3 P4{m;x` $8 (pg<`rCIz/::k ?q ׻g4tY;ceG>N`\guu)&|/+f&X Ĥ M.I@4wߒG.JDZct3J֐2QG;4wn+Sx֌( {ۍc~pQ]y/I?^W=h  7I8 N|~u4hĺCGN@H&]ȡ-9)JD!+҉CM i(DХСBBH)2:\TJĊd& >_٠0񘆟:N$#Gi^L,ϓv ɮm Bb(ḯS04;K')+Ll1!r8hZ^ģSF>Pq''<$bYl&@ӎ)݀ѵXW>VFus=sY"*Eʘ O }q[A{Nl rK} sP9 xGa.dy  `)4ܿi=:CHPY{&+TcrspH B@܇_Ѱ^yxa !{IB  (å@5C()t~q$VAw PEL:ј6@)>@ni*h&jB83?rPRwLTSu_6(&b"K6M` @﵀U ѥgbE 2P@=୍z*e Bf4 IBKĢnfMAҭ:RKHW|Llwe (퍘жf]i =>C$O^*%eDQ8o& (KN 5./uq FPSOOyRx=M 8gG;3nISvP8> o2s'@~ H~BhRh4;eMA?!ZPyC@=+@Pit hZT:CTHJh'ߓ9j#hT?4)QpQBPĥ(/vE5v;4l"- Myed%i@(w&HB'n凊d<dɤi=x”Ht3;^2% oBECFi)-BJH!Si"OQOi.BSpzƐ]ӔT)y7B6;#U߫u6ZDC0|;7ā N1#h?6@-A6Kq`$i `H@n  C:_8 "!sִj=9+ "0\b` Qs^` * RtJLUQw켠BbWk:BZ J_V6uD?~ncu>~՞{ss+VVD~%Vk_0٣./rd.Ţ _wK $(kcoZkjߝXWvi\k5kZ8%~msx,aIy&}M-'oX=ܚ>9Xl1" : @lj Iv2DѧAZ c0DކOoV9bjޏ1.7|4ٯE20$2SA7EST0Mk,#dAu =ںVy7r O{*-'ຂB)ןXjniLE J`Qi"4Tq̌/wlF KGi ݤSneDu2"#@|P$M(@"TTU!RU@R!L%+T iR% +@Et-% ЀR4CM,AITIE54SJQTP$A DP h "%ie)hJ (h(P)Hhh ))UR)%)@(B)H$")TR` J*ZQ (bhJ j"ZjB" WҔA#HSJ!HЄQ % D%%- P443RTPAETҴJ@-RP@-t)Z%d&RJ(@)"X)&Z!)BBhjb))eZR)" ZXdT! PxyI2@N=P3S].GdpIG#J2D0A1ဇ%(Cc|~.^ ra)9!퓳99 ]y ߐ1M+Kj!iB**#JtmXfts 4DJ$ӡкZ3RSF$қlhŢBi20=5<9c]SRB_x"$p,8*,JzP온0:ΎH3/@S*(j9#<(bz׆thJF95GDQ<@W2 Nxwmp'DS{-=a-B41)ESy.)&hZ%& $`"%h* ")`jb*"(*bf9e=܃bL>zν &3+k .GtD/Y4DQ L2E2|7l +%߈Q`2 !J0A3*(_Ϸ{߻0fQ KQ:=_ΩOD8hiyg>Ŧߟ61p|$.*U~@JX#Y(trtlm2,FW` 2əhc_d,h6z3Z리Å_wQL|ɕ_U$8 O풥ZYrH(21U=~'%{Qcc[-xxMk =7wrr'n8*jQm99Xכ/(G M*vOp F@1~2A 2}~}1GYgϷpO~ eØelI>,Z (RP^RKۣRoWB ذ3 A?rP2ףLCA9c2?Lf,h'vf,btxY*e(() 聡|Sf_zW}w}@<|f6Ыpy<:GቃF0Agp C`>Q BRд/& q)Bq"Hj@#p܉ JC 1z2Q҇JxAvt>ˤC( m:Ҕ:N Ƞo( &L9$Vs4UK?P% )@4*P3"U!Tvr]iC(f F*J()(Z?M eaJ9_;0gTE<]@q)#9`b(>9D@CzϓMy}vIA=pn/t;;JɄ4ێӠLQȾ=h$LI_C l5Ōz{3%*ܱ?V& 5]@*|:l|#w!1]%G'=quvu%-"~J)@)^#a-tHPXk~M9qQvBIA`0n Wu#;y0r'X^CS/8SS d@f8Qg2sINRCJ!h`<22?|! )p.px$2F* O)@YOt RM#JL:7"R G|H eq9=֢7B:馺멝r!8hѪ7/PM5GOXʦUβk^3As_-oqʾpO"^ǥF=$]u) P~x9~lrjˌPPGPќ`by3- Fr7 nݏBIN:ۼ * Hqi"Z&!̄hz&2Q^>A_Ud!(,a6ۄێA^=-xH@ "CHHH(**~SC}cV/$=tQ';7[S8IB`3`R3vԈ}rX̿L 䃗yqFO ODhdsn,1 ?ٹcfx:9'Ȕh/B꽺=XIjOt%QHO*YX0G"D--`3 )Zi]E2Jq i"Z R dR4% CT*14$ґ#J Ҧ iT PE!@%ҔP$RRDJDPP#I]-AM4@UT҅RP2@#S@SM JP%(RiR@ĥ% (Uքq4(#S!AGB KH.ҫPбBB( Z-D4KCMR4MBABRR1 H@P*PipAJҁh0‰ht)JrG? `dA+p$%h} 0 [n5EzI"kW!a_mE?ŏyP,X!R/Hr>>h3S;»]4vcb ZFA>nd1`{ N#$ ~ ~!1"RP^(1C2RI&Юd&˱~B Lb:ɟ.* @LF)@"PH$J~]?=揼JL*&(B a$JB#@d"1C~xٺÓ^dk߽},H8Iy6O{ l{ټVuq A:ƼYO+OiԔl4N44ĴP4bO$,*"~9\䔨4Bd-Rf1r4*8펷AwNY?rA&NAq;%Gi"yH{BˆeCJ1lLb\$\#ݜ./%~B{t+  X, ܢ4jt9nΆv2GR]C'AP;zMOޝۄ_*Ҕ9D^ ~Q֯/r>󲁮N^,C_u{Opdڈ2Ɯ*'%CmX$i82u)YzoqMb)AShjf)cPQQRâ?qkKCZ 0ɤ*(")T?lJ 4bH$YiG5:/W\DN ~T'a q1ہ6-'4W_Aֲּt:98~v̑'B6W4n )#z94?6WXrؚE]TSDDUujj!f+񎨚HmUxd(]4#BPH4 (i hZi bH(4 P?1Pt 3 }̩LI>Ƀ j5I H(I-8=7hˋRĈDV d#c//z{|DcxfN)2AC B."Oē2.Lx?LO?nAz#m[T,EXKs[yƈb1H3o^6hKi- ۮaɯC`fgnיvD]<.K˶]bmVciR/3d |9tW냠~q07aBۻ(IR[*^34rޢ]3Z)q2Ylh4-SN8؛5PINQ׾ui21a^TFk *9zbӳni֥QѻKoZP KZeƵY6R\ 2"(48yٴ(V_:DZr#$l}nb).J5Z$-.AN1$P+C&{S^qŬ ]$kΠoPTFZ(.5zlII<^IKGXՠ4bi(u]'MEP|~~ZNt6a6xx t(oMOwp[l|FWT"3@ AI$D/O9xg/˔!&J`Y6I#vED fwQ CT6p@TP5kGpl$;;M!n:  ;eTk Gy;:mw=@ ?KU4?#x-R@ )ZVmWKmɔ;ېz"X r@\{=APCӥ|ҡ {[{4Ԕ "cQ^ώn8EЩ4GU3 SA$QPG\ # ȳ*U#˘qYt'%y#PS>rD U#@QJn5M4'NH b挏%CHeR ~~IwTtAȀgg%_&Ɖ(% i P!:~I),ҕN_vƔS[V!KFS30Vˠ I $[5Ys5I(BúZiF V E"iV-oB$ 2A3O$@J<"R0l 䄂2iE?mRHTP+NuD^ 7" /p~M[ַ[,%P9x`UQ2/( Yz;w@wwۇ?\joW~gY+E[+N33Z &tk2MIy;t$utF\ ouwkfJZll=8ޘof;̞p֟.%0qaѭYvZޮ,eJ5NR"+UIY*4dSK\229w- \,(FjԕfwYi*ju /Pu/.apdfQVi<W@ cBȫTW5{Ϧcyq)7N]`[͔Q-- %Cy\62@R4SÄ3r LZz$(f:ˠ"- JjYJayrD&}u5pw?y+C!Wr2n"9rZ|%PUrWEZGvMS^/g^يH<$1v{)(C Xahvf(zڂ/{xgތSCHEF( !lU& !u14DTAvzfF)$x(! S&D"ZJ(4\~7Akyht`zO*r AG{A6w6"rWfN;3ˁM A!O'lt{w@: JJKl (3 zzc/cVk~qv54Z.MA;n@ǼUPW2\,Yus-.B00 '+)] jjA2M.de›>f?g44z!uJE98%Zf4FˬnBa\;M`CTRRD@K`B`@ih)DbD"A JB ")@C//(,Y؊;vm5+yڌh;ukn-jCfGnaK$Is0r`mAYw!,F۸:<]W=οڮJV$mXb4H P_SE jp qم_ $ >_[ࡾp{?r>{ tG`YϠw= =8́IB5#JBgc(*)PdʼnD2?ђο[X[`mbf.!SE6c#uR9%B*(a )BGO]4]CmT< 2" H} KxK0s)J2w;$}D&|P2ƀʃ!JzdLJ(y 'sb6*BD*AQS! +Z F$Z ‘VE Z ) &8_g7?Frj)$V:(U_`AX%.`Z BDUhl1b8ư%y=# '# z]ÑEy׍h\>|;1䍞d7Q>_ceb*Ht]s<Ǥ`Ʀ Wlu.F^]) I K˻F>F[,I+t~gc\N\LDYr& I [y P[RB@b2 &aw'i3P`cKŵdZV*z?MjXiuHt2q w+WkuWdh kQ5kl].(/ {Ca?+tALG_8%vރ:M0BW W-C2hddSr& [Hz[.<%FѸYr{d+wYrlJ,.¸5F9 [y¬ ĹQ:jow;'py[O5n<2NXԯOck!blP]yGmIC/boي7ZDn:hpG\vqmkm h@BUbis.! 1rSrG#&<[0qz UDO'ηDttf+1(4MnEH[S@xkS6lz.2LIܹBɒ!k$R"0HeunL$amLѾ{5M48U $hĢbȦĬZ4lAQ$iEvCMZ)Po_kFc+B:1i=ֵ-+VĈѬC qCpJqU!ʇ&ZyuƏnrwgI=8t5s 'qU;8+,UVFBPlr et|1w=-~ǚ`Ҏ 68$iZQAҍ7<.k)ww{'uDDEiS3v撜bwwlY::8uÉ2Ey'^^Au87j%۷?/]7;2tB4s R]9PB>fpK!m81}My `{C;c;) F%q4j\b*6hFRU X̹qy4UB).嗄J.E0BPR{`!Ѥh4@ tѶ Pt1vM bӠ S!< "h :% Oi%iN!*)J&LcӰ @!1OgU)栥(B:1cZw)w#)BՍd䪪"6>~9j=01$Oi4_ ޡݣPa 76Y +rSACI MR/@Z 4}o.Ȓ>F%'_ 4A="o5[m3hhQSI#Ad}B|# ZLMDF*4'RDaH iWʟ[+jjIebd #]ٙe>KݎIǜ/?bO?-Mu~K>~m̚\rP@CGyZ/[j!Q[rt"MUcThr(-WjI1~;²BCMAэ˖L%%RS8O8j .ՙImSWw!F-d*:JjdOt/GP|ڂ/!IѮN11P)M!J+̽Q C^֋ԀPd/Hik%V#ٿ/~xj!CE^ |׀4G.NHU@maX%p~~'v eO@(|HDQ=Cbc`P jKc .HR)I(^2`E27uW'Bsp(4c\R?v9${!LO-vʛnt/vpK?d>I7 WDv_Z&΂%&QiАw| '!|<QCF%!НRjQtc (LKәAHlS>OS'u>&*E"-HHM0+%#o_O͗oU Q {(pt8""Ca؛$ 'vhX4Qe)#lUVgThN!y *a8r*'Eę#hB"J&"DiYi $"hhZ*Z)hi$$)(Oh̑6` &"|QQҕ(F;N|:A4G1tlay ]*4J BQ@jl% Q{gFqBP&'<<џy2 bHV3@BMDQD@kU$Jҁ !Z@(^15 yEF%5 l6hC L@ I;X\'҅@!JJb$ )nX<1!(V"4h!HC 4%LTU }F`4*$( #1UH$&X@'IBD%%QE5HDLBFM%#P@#{*Cp=`+ ! ti Q8\*ڢ IL%!d#K]~yP7`cjCϡ](F@C%JO((*m6룞<ya=8GۀNP1PWɅ}]Q/ӌ.$4TJ"qĔ%+] &Cҥ*h.M%Q5U)W`ӶCBSHPKAB-!E'J:D .DB IBLQ%)AAS*BAEA3K4P5.4@E% I1P)HRIHR%B *B&ˠi*%^$4鷗Jth)F(/%8NCڒ@ 6͈%_cM1^(>l& DQk{`h)(`EoVH6a>ܫ+0TOz)?ZZV)a&'ß|ʴ lT4 C0aUdi=זH t+DuP!ۇb"R4QB4}4pxH<6t52B$"hP>pwUSB H% @ "P]QNIʢ'(̂ лaӸ5-RTsO.$4JDn9!A^<N0FZ6 r޸si='_ IDHSN lr0>%S{>,p'<}1"KY%C q#M ̝p {yt)tDiGCT@4 = y  2A(\4{cOjf;Džh FyjX" B (K %R&yvm<q4}qo~Д!CHB!nIESTȃjMcK00$f]&1=y {WF$$z䃥upH[t>@kyH^ S[zC>wϤ@E Zq^TI(%9A9U{a?,C/))LdpzID&8`6p0ƸR>҄JLBӮMJ4OzH O p#:Tҁ4@yyt:h">y9BNħN+̽aԢs7#OečRR~nɡT t!=d; "]pu$4,E1IM0M;F=ߙRxڽ/\ZPֵtuD:k "[^ kNQNaF!GVD O|Ql/hJ:B'PW'IÈGtGytt}3Ü&X9y-V=|gmqUQ0):|+0/U JҶC9N{t\VUz&FCϣ{xOI1@>H.D~x5ĥ:"#'!ԑP8i8~(bĀqTDtTD8 ZJ N B@B$TAB#@JRR-" @!H%**PP1E48'$="?U5@RЯBBJ)JA(MP{=t]""j 5J~Ggؠ< EE Hp"Cl;C~Dy4{ą P$4 RP ' H!ClZVFC@ĔJ4 aM-" ASȮBn͟Kݔs'y(JyfL' p|IJ3G¦Cx?Dǖ >C n?U}(@hC#+J,SS}r 4՚lb" IO?u~\91a391Aǐ2_ո:!|}֍/5C |Tiu̱~:v>U9ʉUƯ0%*lC):\"QHЫBhgM!U>!O/հv%bZ TMbZcb"K,/t`@ZVih⡱D((D(E` (VOHL@(bb@B h@A*ZDib(BI[ӈyd AJth=J_ӅMl@X; JozҴ{i ĬIH\@ FGd`>"@ R fEL SM! "1*mΘ_q)AJD=pq y>lБt@m(iQ>:E=a4! J䧙Rxi'I:7(QJL-]@tFH4-/(J? ^$b!vƔP `삌$}B'4+9 pdC率ɀd=||3 N8tfj|%C=[cHPeA)Dœ;R"T%^9P͆€" "'CBl' FaWD Ae1)9rICtʠ2 Kof"{A0OBl~] (PP4$"("^ )21kIIA-BvF%Ow'~ܔT4Bޙ_n|yHiAޗ{]uLDrW+ԁ9J ,P5l>WT}5nxxy^@ !W[uetlmx1"RѤ X-/7Թy2,ew];P@ms@^_uWt>LH@KH@p_Y!Xl1 N@9bӠOHuZ;z:XO7tr8 d B7~~}?Sz(d030,Yf B֢"v0Ⱦ8;DFU%L1k/LRRR8??o1`=n>!!>=|t`aInK, CV̺hiMq] Z?SLEksRjQ ۩ut(Ut4RdSN1 0 KA)%8(y:NF ӥF\VʍjR=y<7d:ӈ<)1MyZPiaܠ5NV 7%ad[hp.L-7sVЈ@5LX8DN6<JtD"4kTf;nYqߚFY-=,]A^Q!AtaIi-$vh.!hxJBm(D xa˪+su&1ڈւOJe]JO͒NG8])BZJz4EH(jwN&J8s,8]!I4_/)0cpW<'Q;@G׳ݽEQ-0PhW3N{%t4f;>v)h.'DӀ)**j%}j;@mBHܨ>N#M#eB(J<;N6ʅP5!P "?|~_0#VVH]1KZf 22{Mޛ5U j#)Uhr=ZĴ%PL@%kM_--RNT etlj c2UR Ĥ%N R'o1F@THRЇ=iI$2P.2ɪJճz7Oz HB)uƼ4ho\/_3}0@PGԜl"g*!S>I(m܃O L1 QHRU4 A<ǿ{vw(D+2iUzA.P !kM#g_.g|qZKYJ ֣t~x&H5wzQ8+IS1ˈ"0@D4&/M]=p & ;ȯT$Q0Q5QE%TU1U!bA)MBHvuGv6 0lڈ* ?i0L#`V0"Rg"HB1X"M R!%0T. ˰nŭjk<t_ 'eT0+sx;NZ Ԡt};Sa2KcAf x˂b{5e{_o f\qдg̈́bU8H u桦L0 ߯|h& O>biT)PR CT 4(] Qn<ٍ?_Yh-bhf u"h-Z%$ebfI) $Fy-< 0&q0.yDsF5ZXQwYyQ @B:C;7D^AQ!_MZae B--/l 5Q  4C"xPj)&00p~Qʻݖ_Wגxޜj+Ft]mU_ V=ܭ4m* ވVҏSMw磻-;C҉ZG2W,J4!JDUѤ;U 1昴xkv^WׂsahڣiV'?/X_׃>^xsw:^N:bTkca8le @G,d)@}ߟbJ @o'G_v:q;NG*ĪDҴ@SCBDқxwx9KicgHbq| c~@wmܰm**4a:~ w7ggh܁J/7tK# {QĴ4u`(nR\.gRZ?7m| !KwMCICZ',׎ sB㭜NnznH)Ӫ'tg*!E-P:)QzGYZDP}9ݜgϘ{5\@/mSzv" F3>#ntꉈ@RSH QI\"Al;hUhTޛ9zWݏ?* 98Lq䖓qN3 Jn k7C5hO=A7UQM1Ia)0~wb!I7PӢ%ATST6s>ԓlt* gB^y4fhEzrMtA/"J$ */.)t)V`gGwPd\'t p:@\/)&&Avb!9":4DQZZZSV( =."xu T$SH)O$8D_"+X *l4$dCcTLAFaHb@ }\yi$tHLII6Lg00o2V#AMHV#ysv`6z8!;d'N7:9b d"EZ8$DMe d&J♼Wԁ|JJ ? -JDKBDRհXY8 8#wPڽQ4N8XXJ|2C:}E3 =P^Zw"iq<@no<{sw*P 3&)d5^oշ3!:}޻]*'w83ËbUuMD$m^wXۥ]>^]!^Mҵ{s(a5x(TE^clnlcT]UE'EmݍUD`AtNTDԿov;@'Je =V/T?O/Sa;jNyMS!{DV9  i ((t$IW'EiFJ&&U?/A H$RcΛ '41 d.;ƦI?")jl\QHȍ"",Ո(HQD]۫DA%(M1Q!(Ƥ0T-MDͭ+TPKTBb,Abb"I)Tɡ D B jhZ8 !C E#^x/9hiB ƭ4=ttXbx""(Š&%""j((*R*"?λai`>A0lA옒(ͱ)JJkHPD@IMPHW Va1E9w$T&󴗛T4 D,ih-PM>l$ATy"J4hp$ QDי[F(&͋8΂$0U=EQ]oO-z *!|-EMDSRLLRSQDBDLFMSE,M)q)QUM%`htb'd"LAUX֭bIQQ%%ODGdww PTV'A0E5AEX%%ݵE*mQT@PHPE]iHHb "(iFd)Ѧ !H )b" l`6|" %/Ds @nbDtdUQ$Cx^BKUW`0UQUECQ4CSA)Jj*("$EMDQnLJ($ijX")*&ZhAZ@ZJ*&ieg:Anԑ=d4 I& h4I1 W^F\b?<ULM&vBBZ$ɶ:ɺ%gՍ m(ݒ1/ɤܙs f)"{di*QccF砫qMZ# "$_2P^kaB*X(bHoQRz`}Z-#B#UavA$ac!EEL%a}z_ 辨αHn%Ci>zG;t;x<!K"TT=t65nޜ8&cFfhAh he%!! %"bRfF)DϧH?imfWi.)ZFvB)|+YUu{K)cHWBR#d ML-3# j^6~lsfKJFt,suezdvIDAM)f|=aJ#~bp%(Q *[Xħ+^yu¨(kULQVvY <b<6RKKz JUSE=-s>~XF(!AO(|ej(&W>^3ݺ=v!ɕ1Ogi`:B|ġ:=:ePk n|O0 RЅz(1eAhOZ*@ (!O5;ܕ~/BJhh3$ED̈́YH܏|Ɂ ĕB>+H( ' ?DzpE<ݺD1 Q DHh{@uhsmatPvW&/-+ /z'"_˻kps{iE!WrU)VpSXcf?x (Uw$q>U#ĆEJFCƢ`_`8x0kY6^#iCKiOG)iiR!tRC+$S)@ P (L(UDE%D 4~qEHR-$0D@kg_J J'h4JLwʇ7B)ÿ:&7Lvք@`ẉ7)B$)p 3=Ǘm8S5\ Q  Qj4PTBhJ!Ji*6ȧX(h(B7>yp! 1 V!?vӉ4)DTTAH"Fk^[jtS"R|dP=7"%`) o;3eĸ˞lHJ 0T%C!MP,JwE@^zjJ"ޠhE̾sy蔟D+Uv@4P,Jyʘ|vt4b3]Pb" 2RҺi(t4PRV%PQl*'ZHNC&*J)&N41 4y1,CE)JR)R4Q)UQ,T*26("t( D Ҍ=;~C߇6c Dbͤ 6JQAZ&B,:+l12h2Ei "Ec :WJQ`2~+/窑k 0L+jX\Z˜mb{)$mljh$2AHqQ`ۘ #BwnO4I]rN/gW@ S=@pxTnڄ;cm/=cXbv72ktL:Д1|v4IR0̓W_}-xofN˙!/9g4A~f ӿ֖jL Ԩ*d)IR _+dc  O4t=]U븦tgm t^f$pVS|!jPnF #k.&~9*)S]H˾ ĕ!Z@+:8q8&EMJ阨T7H-::/-3yUydzsΪU캿$=Wn}@;܉sSjD- W `;7u:g Pflżwwp :!y Xyh33\j5HJDnh 0&@`%(hmx,G,˒ s\':,3TC܁V4{Ǥ X3,+8@Ur>c<{)gEG½3kK5)TU" `e$t>}Wl gE*锞d_VLvSsI++Ε0rP%}o=77e2Z1ZcP̌@42 HaBraU@_CUTQUZjQϝ慚KP}z˻BnCwFcMEcwX;X><ϛ͗S6cw+^(%ni14It՗H,ihHrneo,zֱ2(qX3SS{U P_n!XVhQQ_V*:붱8ʂ:a/v;=?HGzʪ&Rb~q:<𭦮!90Eav<غlFJC6}:^Q LIJHQB2ZY&`Hr,7a30.Emw ЂL,i#n)Iu]r {rCSB~$Ěs?j N̘ Evg~5d$vBYZ,vG2} |9F!@\y?wS>oe@@%N'sZ2 g[MnAB d$X3 slR*|K)qRlGB3bUlJ+BCƹ<ֵ+)sدm(i_3扒HB@Hi=7'iߒ9YC;0kܷ  hdtFeiJweGTt -ZSPt=ل[PL~ ?wMQdVLC%/i-p^.rSN"FH'X}>[7Tg\Cr(QFb `KϾUCur5{^0V J(O'߲arlBP !J #w^UlA8*Vy'*˛ р"1 j2 Ʃ_ nVwPs$!>ّ"*`_-Nѹa)G꿩 “.[6-+ɑ(ӇÙ0 # .pICahfG<.VlN4`wIE`Z,$,"߂?^aKy8ATJD֏3*ݶzAwt5]a;V/aAF6D5~A2̞ؗ&Y'5pj䳫`3N?̈_F!ņ-ޗTs e^9/>e`@ٳ# HV "O6p(E]x|RI.C9Kb'5GхȂQRrGB/4hAkPh!B!{DM(һ2L"d( `B9!6 ǶgĿ4df{ F%NE7?^2yԱn> hZH|PɞܓA _j' D!L 4 +~zi!5_o ym,{fl|e4R|_UyѸd5aqYp鬇1D1F˳j4I8/_y֚ mvujD.]5!{owGեZrf.O>R=s/ǚˏ [kngjV}kw:N6KtU%X\jW+ig~2e=+<37\?\u?͞ %E$nzh =a;"I~\QMBd36Ti8 )ђUN>yg#Xڿ n%σ;i3ňzL]D$7%n(bg/0Xm`A~(v8QB#h?ZTU ,BXA[uAhHG[2uN(Sꪏ@!H/,>~"sXg2\B"">y|VKwܔ`ASv+`BOm0Nz.I\b7z*u~DmҔ2ʭ HߐP shfW;^!*XUQ(g!Rv*<{{\/r"4n^KN_+xHlDS}8u9ELDQua᠀׈Pm He0&2¥) Nf:C;gt5UJJꞬONTTJ*;i6{(rt T͊D^"hIa>CQ+w2uZ`8l7j]LRDgAS(Ws)# Sw ̣"4̈!u<&95%%ƹ[8YeBEC٬epnrO {N8W55uU~6 }RE W0.@f6s&@ "3,Q[s/gæ({dWū>jbirtŌW^['2a"LYfg O3:iydEd!vrP)AĦ%Χ=Z>,@[<|e,ㅟz|U7xnEGeM2tPq 9 #, ^? ْwcFؘS.c,V/1P]>R4^r3Db@ܱU%m`XrT^IͲ>5ϯ\B%#ex1:<_ CM1dz/0WǜN94577f}xe#!I\J`:\$2-3HqU;/2 irU83㓀XpPJ@'!`:cH\k$ ]d:EN ?>΃{;3&ZAY!nTUZxu7sWG"wۼtp_&xe=)'ol',]Bun>w:.!YG9{w6F{Mӭh׋e&f 3!r@,(ʲtgWHq(y+)&d3YB't]q})o+"͕E.I 6* D%F(U(<#ܟ 7 zqơ %sۑ˞q1w k>IHb !SbRw*!Θt8קp00+ T4!m$*V78o<ϑ!CA i⎖tl2ʈ}F|'I~Vs`gbvF;_xZeAO`}>褈 NyHWbJ- 7cHFF$H2O0axø5Ĕ;c)s3.!dc)V{hGGy>yyA8;;iG'WӨ L E[ۺt8w1 H-9jX rB$XP1mv[I FS`FHrjK N1&0^tyoFTƮт@"n7&hpZlab4Vw &9ZGHW66$yػVAL6S21zq>$4Pw`lrN#GsS'ri0Y_ҹz;`Dw?φ ɹuu~T4c)z 9ƜIh'lPXl-mH4*yXHJ hYi!hD$bی+f0ɋ8bN*O9EP_?6_fg%+' OO\:EPvBSTTdx_jkd5o#G2%* 8@Ѣ)>qŒG{rY0GSPW8EPPs8$*[à~siѨ7 ̯:);~CA@uydul⤡ ]4~>wg UDGQES×w9joIz'nL7U%}:{zC<|"dy|aΞbL9xʟB#L5A^aMPߡ~uFJ^nߨxζƶkWVas:Z%rO~w]m+ӦN( )LJ1r׷RԫLK䭙u1ʓSHZ)6XN-!:#=fb$6DX/MJj֐>*a .PwKSԫM$2#-*-*5^[5Xm#ƍbZzK; P>\|0o; T]드LbOSw{P CHZhtsFE*ҥ.}esʠ:κ<v$q>Fw&jۖrhpy_Hs ryhz߆oz׋cBd.7SHu!vʭ TKXÄDZ5L(ͰAQ (*2$c09m8*&hUhx0RuW\.Qh q~jǎ<<5CpGYtEwrK.sFw^U W$oyѓӄCO4A2^?뽝Qu؞]xĺJ<>vlQV n0 1fGVS<6қIVJ!xF H'KYvG%2HÞIFYwi}q7Al$BJΜT:- r>.Σ}04&On6t9%m'9VAkJSrs+,Tp5bX!neLXƁiU  0f5Vy8튅YDOFcRa:ίȔufiy9œ\g&{SdKEp9%5TUY+'A* 1|rxu̕Vwĺd*&VπC3Uࢇ*vX #w}l>K/ɒ.#頨xQ˾AN>4)|bĢ։D,EzVuES4@pXƸx1P}aVJFb$@< 6%-p!c54I88dt&X ǜ'.1xvq{ɦ齯%Վ7w ̲;uήxxު@L5Ak<]bpjYNF ҊSTQܛ20{"fp Aa,RM뿶g Yk`NIa8vEY:Xӎܪ_1fp26 0 CpEaCBܲp'9h4||{<M.fEu٫Cpneyjz$q ydTbq*4C0(Z-qFZSFc~ X?^ԯ (4-h41󇠾o(HLpTEI A|hۼ)NnqXRa>Gҕ@"-`$<&mUjO]gNjd8^h3jJi&/AUvIȅ0閛!Չ LeTТLʛYP-6I竿а;Gh\׀KL z)4b;ѳId155OORm#x1^MC'vKQzeES^5w"q᳀_ Ԑ$0J?W􍶍&mjJ`4F6qMkAThәE-+1Ě*^pie͈i*왘袚 M W 1;i2-2P)E- 3P}w`Rײ̱z)e]ԗ Dd w)yK9vp7/fӓ? >Ī9KgZ}pN]~6t[m[;c!O2ICZ:H J txE/_aviiIve p+IWb2輒<ao`ġ(G1`(O" F`hQ:UQQDPBS@OĄ5o m)*!@%L|xu@ h$\ Gj?;7h1I gDLȑ&) `^pFW4#)GܴkV5 Atmjpjzczi3 Z.[EXa(-*3Sd< ijoPxOyx}vH4^2Z#>^^ah_T))Qj"AsZ'OlxgQə,ԍk%eL dA^^c$jl' Ꞵ(D, /ͦ%jLI]oV,^YFu c'Tn Ux%bV9C$0'"C.Юj$Dea{&n_WްsUpu*'pfvy32u"FUTZZQk80"7}.WGG4ՄTI1$0em?[nXaކU^i:-kd3 K,7mrR{Taj[URfN浗%]8"\Vؑ%S}z뚝laiBN&ARmB^fhA<1I/:Ƹ1u&5wZJ[ʈXu^L$d慯(Z]h])W.զTxdCYYR`0 sZ5wSZ=f֨4xt[Q[ҙqƳZy8Gޜ(+>BR~4tRU%%U5TP+>B(F ($z,`|kyg*ws1%Q;1AJ7zwH7UC4!VEU7꨺,1(B\xPTԨgX+YAGz s"`PJ5ufOM*w޻(VUܺ!_ySzxHvssFn(w(xo1M.Q h@Ӿ [01œc,8fpPؐ18HB#6#%Acix 6YB_WXt&tw~ t%K4'" !$IbJ*""P5GQ߫&o$>Pڮ!X1DekYf!Є~>5[gF"jj3)u,:Zqbpr)݄ PfkF -a3*h7A,Hͤ(=6t2]ly^ N\e0 ĠTC2Ho 4RLE wglD(j2 h0uIZ9*nPy]&_IdghiO(Y?@NAHb*~ MJ1"|;n>wv؆̥% gE@m4viZU&:H Dp4$DF1 w'\=BH K FWB%&(C1")B(Q}(PHҔn0P!P(hZV%(J~J:A@>CAҩ҆< ")S^(H~p(jPw*(iM%E4%-+HP)KC@*j2@<@M- /B"= @/|g8#dMH4LBI!J B 4R- P!KM % R JJE) ZZ $t @ҔPĉ{(ҫ M s}_ GpҕxG2&uH=\&#L4w`5bЧa7-RցoDvA٪ʼaB)tRArR@P @ӥ/tR&~/ޢ<TڛGɀ7{'w;Fg1΂PEup0 c1BHHP}BGndLb=}8뇞1E4PT$wD wm'09MlCQ{:ϠT%Bz Tꪏj5'F̘n=hPs0fQT+IgClJӶqJVmd9]ӳUgdxu[uR|GOsx(d%7XX #eUzL]YFʽGv2P,; 5ȵz Dqy^[ya5o. Y,u9 e Xmc8-6NہHbD4lGOQ ݸ-B8c&qgzێFv˼:1XvFַ[\0Nⷘmqk݊bjխItwD}5][FP)AHiitimw'UeA/%jbap\ "w[a` 뫶QlRiX "8yɲD+M$ ѣ1M@BIUѮ$1w\TS;G ěX{aHBdI!_nof14GcvGf1q.jVū5TQۮؐ LmWGcAW[7Wf:hӵ옓tݞ:! pJ8t sGqp^lUxl[uh1vΪ#;Xb{M qAyYAn٣tdTnthuѷql1PSgJּ<;ˇ-HtuHEDVHN0>P$HJI 5tw52؞h앻bnwu5pcWnmkQXhnEEĚN#qlnv5Cvv6-Uۮ;ƝM:-[EvJ3/&+&K"#6ǛkyA5~" &n  'l0tm!R\hvzl-e1.ûb96CX#ӌGD)RQ٫%P?0q[*hi>GJt8"V36[Mm?ȴ  L* ur"jKJSHPABS2> iRC4СB-(*RUB# M4.(B=RZ]XZ8Lh`PHԍR'B(( @ߋܥ* BQʚD </J*(l`IH4,F8g3 N| >2b;a=c(q~qÌIrCݽɡ' <+{SDx9YWw/zXgGRqӗyχq;0ѨZROߍ-C |c$M<1S"iJ9 H.\;óջ@w?F߃Azf6b=ccšH:ߡX BpUk{;u~)nSmp y`S*%(|~n3Ӯo󀉇z?`1h7ͺ Rvl U?1_잇l}osf(g|&0((=Hx'$A*RҞE5)v Q$0tiO PqA @ѰM סۢz񌧲ăC 8rh0MwyU,zt4{:$gN0/"bv0H*`ɉU@~ j@ QT*HC T".i O B6)9ihLp + 󽚥x _*I%UO 4d]o AEDL47y(&,M%G H) hi ""C &-8F44S KH!@G1IzThA%t7A:aJJCpv!)@ " h%^rZf("Z=S֝7gM)0W0x>9V!Hؼ@JRЉЉTҔPD%D (R%^<P`pдz=i}, rF(,? g#~0huSUm X~bF%=1b" ~4UD^죡fT~'M LRP4QHMLP&3qdàOv2C[LF!7?ir i .'AÍbdA ",)Kr!aZO>mǙ<!~Ƚ#˜FLPSC3%A@ф=ʺ4EAكړ qW n5E>BnŚgbn$o!N?g.b]>TɬV֍( d$- tWkjji6ة̮j!*&%h ] CmAE+S$66&kd֤h,Am&Mj6%41iتtkVHt)  ldjSCGf)0q(Tmx{:Birr@y ?'NO<Z8>S@ҭLTEA%D!H DOFb)(W<rtCO=ڦ]m1یul] }mP#$EP,zDW0 =@|L?8'ɘ `}Pq]o)De!W/2y$wҒ!2`꿳יMCNh vXδV6ň~Ɓ rg~ɇUER($RBz6QlO ^_9& (* R**B`0Ɉиd!we"T A@SL~`Z<ДP@P6 ")IITV(R!F>l2D@N*R(d!Xq5U 0pb mӴC=BZvoλ@ LL?&]O%S$Пt (?47m(H!HҎ