/* Array manipulation routines for S-Lang */ /* Copyright (c) 1997, 1999, 2001 John E. Davis * This file is part of the S-Lang library. * * You may distribute under the terms of either the GNU General Public * License or the Perl Artistic License. */ #include "slinclud.h" #define SL_APP_WANTS_FOREACH #include "slang.h" #include "_slang.h" typedef struct { int first_index; int last_index; int delta; } SLarray_Range_Array_Type; /* Use SLang_pop_array when a linear array is required. */ static int pop_array (SLang_Array_Type **at_ptr, int convert_scalar) { SLang_Array_Type *at; int one = 1; int type; *at_ptr = NULL; type = SLang_peek_at_stack (); switch (type) { case -1: return -1; case SLANG_ARRAY_TYPE: return SLclass_pop_ptr_obj (SLANG_ARRAY_TYPE, (VOID_STAR *) at_ptr); case SLANG_NULL_TYPE: convert_scalar = 0; /* drop */ default: if (convert_scalar == 0) { SLdo_pop (); SLang_verror (SL_TYPE_MISMATCH, "Context requires an array. Scalar not converted"); return -1; } break; } if (NULL == (at = SLang_create_array ((unsigned char) type, 0, NULL, &one, 1))) return -1; if (-1 == at->cl->cl_apop ((unsigned char) type, at->data)) { SLang_free_array (at); return -1; } *at_ptr = at; return 0; } static VOID_STAR linear_get_data_addr (SLang_Array_Type *at, int *dims) { unsigned int num_dims; unsigned int ofs; unsigned int i; int *max_dims; ofs = 0; max_dims = at->dims; num_dims = at->num_dims; for (i = 0; i < num_dims; i++) { int d = dims[i]; if (d < 0) d = d + max_dims[i]; ofs = ofs * (unsigned int)max_dims [i] + (unsigned int) d; } return (VOID_STAR) ((char *)at->data + (ofs * at->sizeof_type)); } static VOID_STAR get_data_addr (SLang_Array_Type *at, int *dims) { VOID_STAR data; data = at->data; if (data == NULL) { SLang_verror (SL_UNKNOWN_ERROR, "Array has no data"); return NULL; } data = (*at->index_fun) (at, dims); if (data == NULL) { SLang_verror (SL_UNKNOWN_ERROR, "Unable to access array element"); return NULL; } return data; } void _SLarray_free_array_elements (SLang_Class_Type *cl, VOID_STAR s, unsigned int num) { unsigned int sizeof_type; void (*f) (unsigned char, VOID_STAR); char *p; unsigned char type; if ((cl->cl_class_type == SLANG_CLASS_TYPE_SCALAR) || (cl->cl_class_type == SLANG_CLASS_TYPE_VECTOR)) return; f = cl->cl_destroy; sizeof_type = cl->cl_sizeof_type; type = cl->cl_data_type; p = (char *) s; while (num != 0) { if (NULL != *(VOID_STAR *)p) { (*f) (type, (VOID_STAR)p); *(VOID_STAR *) p = NULL; } p += sizeof_type; num--; } } static int destroy_element (SLang_Array_Type *at, int *dims, VOID_STAR data) { data = get_data_addr (at, dims); if (data == NULL) return -1; /* This function should only get called for arrays that have * pointer elements. Do not call the destroy method if the element * is NULL. */ if (NULL != *(VOID_STAR *)data) { (*at->cl->cl_destroy) (at->data_type, data); *(VOID_STAR *) data = NULL; } return 0; } /* This function only gets called when a new array is created. Thus there * is no need to destroy the object first. */ static int new_object_element (SLang_Array_Type *at, int *dims, VOID_STAR data) { data = get_data_addr (at, dims); if (data == NULL) return -1; return (*at->cl->cl_init_array_object) (at->data_type, data); } static int next_index (int *dims, int *max_dims, unsigned int num_dims) { while (num_dims) { int dims_i; num_dims--; dims_i = dims [num_dims] + 1; if (dims_i != (int) max_dims [num_dims]) { dims [num_dims] = dims_i; return 0; } dims [num_dims] = 0; } return -1; } static int do_method_for_all_elements (SLang_Array_Type *at, int (*method)(SLang_Array_Type *, int *, VOID_STAR), VOID_STAR client_data) { int dims [SLARRAY_MAX_DIMS]; int *max_dims; unsigned int num_dims; if (at->num_elements == 0) return 0; max_dims = at->dims; num_dims = at->num_dims; SLMEMSET((char *)dims, 0, sizeof(dims)); do { if (-1 == (*method) (at, dims, client_data)) return -1; } while (0 == next_index (dims, max_dims, num_dims)); return 0; } void SLang_free_array (SLang_Array_Type *at) { VOID_STAR data; unsigned int flags; if (at == NULL) return; if (at->num_refs > 1) { at->num_refs -= 1; return; } data = at->data; flags = at->flags; if (flags & SLARR_DATA_VALUE_IS_INTRINSIC) return; /* not to be freed */ if (flags & SLARR_DATA_VALUE_IS_POINTER) (void) do_method_for_all_elements (at, destroy_element, NULL); SLfree ((char *) data); SLfree ((char *) at); } SLang_Array_Type * SLang_create_array1 (unsigned char type, int read_only, VOID_STAR data, int *dims, unsigned int num_dims, int no_init) { SLang_Class_Type *cl; unsigned int i; SLang_Array_Type *at; unsigned int num_elements; unsigned int sizeof_type; unsigned int size; if (num_dims > SLARRAY_MAX_DIMS) { SLang_verror (SL_NOT_IMPLEMENTED, "%u dimensional arrays are not supported", num_dims); return NULL; } for (i = 0; i < num_dims; i++) { if (dims[i] < 0) { SLang_verror (SL_INVALID_PARM, "Size of array dim %u is less than 0", i); return NULL; } } cl = _SLclass_get_class (type); at = (SLang_Array_Type *) SLmalloc (sizeof(SLang_Array_Type)); if (at == NULL) return NULL; SLMEMSET ((char*) at, 0, sizeof(SLang_Array_Type)); at->data_type = type; at->cl = cl; at->num_dims = num_dims; at->num_refs = 1; if (read_only) at->flags = SLARR_DATA_VALUE_IS_READ_ONLY; switch (cl->cl_class_type) { case SLANG_CLASS_TYPE_VECTOR: case SLANG_CLASS_TYPE_SCALAR: break; default: at->flags |= SLARR_DATA_VALUE_IS_POINTER; } num_elements = 1; for (i = 0; i < num_dims; i++) { at->dims [i] = dims[i]; num_elements = dims [i] * num_elements; } /* Now set the rest of the unused dimensions to 1. This makes it easier * when transposing arrays. */ while (i < SLARRAY_MAX_DIMS) at->dims[i++] = 1; at->num_elements = num_elements; at->index_fun = linear_get_data_addr; at->sizeof_type = sizeof_type = cl->cl_sizeof_type; if (data != NULL) { at->data = data; return at; } size = num_elements * sizeof_type; if (size == 0) size = 1; if (NULL == (data = (VOID_STAR) SLmalloc (size))) { SLang_free_array (at); return NULL; } if (no_init == 0) SLMEMSET ((char *) data, 0, size); at->data = data; if ((cl->cl_init_array_object != NULL) && (-1 == do_method_for_all_elements (at, new_object_element, NULL))) { SLang_free_array (at); return NULL; } return at; } SLang_Array_Type * SLang_create_array (unsigned char type, int read_only, VOID_STAR data, int *dims, unsigned int num_dims) { return SLang_create_array1 (type, read_only, data, dims, num_dims, 0); } int SLang_add_intrinsic_array (char *name, unsigned char type, int read_only, VOID_STAR data, unsigned int num_dims, ...) { va_list ap; unsigned int i; int dims[SLARRAY_MAX_DIMS]; SLang_Array_Type *at; if ((num_dims > SLARRAY_MAX_DIMS) || (name == NULL) || (data == NULL)) { SLang_verror (SL_INVALID_PARM, "Unable to create intrinsic array"); return -1; } va_start (ap, num_dims); for (i = 0; i < num_dims; i++) dims [i] = va_arg (ap, int); va_end (ap); at = SLang_create_array (type, read_only, data, dims, num_dims); if (at == NULL) return -1; at->flags |= SLARR_DATA_VALUE_IS_INTRINSIC; /* Note: The variable that refers to the intrinsic array is regarded as * read-only. That way, Array_Name = another_array; will fail. */ if (-1 == SLadd_intrinsic_variable (name, (VOID_STAR) at, SLANG_ARRAY_TYPE, 1)) { SLang_free_array (at); return -1; } return 0; } static int pop_array_indices (int *dims, unsigned int num_dims) { unsigned int n; int i; if (num_dims > SLARRAY_MAX_DIMS) { SLang_verror (SL_INVALID_PARM, "Array size not supported"); return -1; } n = num_dims; while (n != 0) { n--; if (-1 == SLang_pop_integer (&i)) return -1; dims[n] = i; } return 0; } int SLang_push_array (SLang_Array_Type *at, int free_flag) { if (at == NULL) return SLang_push_null (); at->num_refs += 1; if (0 == SLclass_push_ptr_obj (SLANG_ARRAY_TYPE, (VOID_STAR) at)) { if (free_flag) SLang_free_array (at); return 0; } at->num_refs -= 1; if (free_flag) SLang_free_array (at); return -1; } /* This function gets called via expressions such as Double_Type[10, 20]; */ static int push_create_new_array (void) { unsigned int num_dims; SLang_Array_Type *at; unsigned char type; int dims [SLARRAY_MAX_DIMS]; int (*anew) (unsigned char, unsigned int); num_dims = (SLang_Num_Function_Args - 1); if (-1 == _SLang_pop_datatype (&type)) return -1; anew = (_SLclass_get_class (type))->cl_anew; if (anew != NULL) return (*anew) (type, num_dims); if (-1 == pop_array_indices (dims, num_dims)) return -1; if (NULL == (at = SLang_create_array (type, 0, NULL, dims, num_dims))) return -1; return SLang_push_array (at, 1); } static int push_element_at_addr (SLang_Array_Type *at, VOID_STAR data, int allow_null) { SLang_Class_Type *cl; cl = at->cl; if ((at->flags & SLARR_DATA_VALUE_IS_POINTER) && (*(VOID_STAR *) data == NULL)) { if (allow_null) return SLang_push_null (); SLang_verror (SL_VARIABLE_UNINITIALIZED, "%s array has unitialized element", cl->cl_name); return -1; } return (*cl->cl_apush)(at->data_type, data); } static int coerse_array_to_linear (SLang_Array_Type *at) { SLarray_Range_Array_Type *range; int *data; int xmin, dx; unsigned int i, imax; /* FIXME: Priority = low. This assumes that if an array is not linear, then * it is a range. */ if (0 == (at->flags & SLARR_DATA_VALUE_IS_RANGE)) return 0; range = (SLarray_Range_Array_Type *) at->data; xmin = range->first_index; dx = range->delta; imax = at->num_elements; data = (int *) SLmalloc ((imax + 1) * sizeof (int)); if (data == NULL) return -1; for (i = 0; i < imax; i++) { data [i] = xmin; xmin += dx; } SLfree ((char *) range); at->data = (VOID_STAR) data; at->flags &= ~SLARR_DATA_VALUE_IS_RANGE; at->index_fun = linear_get_data_addr; return 0; } static void free_index_objects (SLang_Object_Type *index_objs, unsigned int num_indices) { unsigned int i; SLang_Object_Type *obj; for (i = 0; i < num_indices; i++) { obj = index_objs + i; if (obj->data_type != 0) SLang_free_object (obj); } } static int pop_indices (SLang_Object_Type *index_objs, unsigned int num_indices, int *is_index_array) { unsigned int i; SLMEMSET((char *) index_objs, 0, num_indices * sizeof (SLang_Object_Type)); *is_index_array = 0; if (num_indices >= SLARRAY_MAX_DIMS) { SLang_verror (SL_INVALID_PARM, "too many indices for array"); return -1; } i = num_indices; while (i != 0) { SLang_Object_Type *obj; i--; obj = index_objs + i; if (-1 == _SLang_pop_object_of_type (SLANG_INT_TYPE, obj, 1)) goto return_error; if (obj->data_type == SLANG_ARRAY_TYPE) { SLang_Array_Type *at = obj->v.array_val; if (at->num_dims == 1) { if ((num_indices == 1) && (0 == (at->flags & SLARR_DATA_VALUE_IS_RANGE))) *is_index_array = 1; } else { SLang_verror (SL_INVALID_PARM, "expecting a 1-d index array"); goto return_error; } } } return 0; return_error: free_index_objects (index_objs, num_indices); return -1; } /* Here ind_at is a linear 1-d array of indices */ static int check_index_array_ranges (SLang_Array_Type *at, SLang_Array_Type *ind_at) { int *indices, *indices_max; unsigned int num_elements; num_elements = at->num_elements; indices = (int *) ind_at->data; indices_max = indices + ind_at->num_elements; while (indices < indices_max) { unsigned int d; d = (unsigned int) *indices++; if (d >= num_elements) { SLang_verror (SL_INVALID_PARM, "index-array is out of range"); return -1; } } return 0; } static int transfer_n_elements (SLang_Array_Type *at, VOID_STAR dest_data, VOID_STAR src_data, unsigned int sizeof_type, unsigned int n, int is_ptr) { unsigned char data_type; SLang_Class_Type *cl; if (is_ptr == 0) { SLMEMCPY ((char *) dest_data, (char *)src_data, n * sizeof_type); return 0; } data_type = at->data_type; cl = at->cl; while (n != 0) { if (*(VOID_STAR *)dest_data != NULL) { (*cl->cl_destroy) (data_type, dest_data); *(VOID_STAR *) dest_data = NULL; } if (*(VOID_STAR *) src_data == NULL) *(VOID_STAR *) dest_data = NULL; else { if (-1 == (*cl->cl_acopy) (data_type, src_data, dest_data)) /* No need to destroy anything */ return -1; } src_data = (VOID_STAR) ((char *)src_data + sizeof_type); dest_data = (VOID_STAR) ((char *)dest_data + sizeof_type); n--; } return 0; } int _SLarray_aget_transfer_elem (SLang_Array_Type *at, int *indices, VOID_STAR new_data, unsigned int sizeof_type, int is_ptr) { VOID_STAR at_data; /* Since 1 element is being transferred, there is not need to coerse * the array to linear. */ if (NULL == (at_data = get_data_addr (at, indices))) return -1; return transfer_n_elements (at, new_data, at_data, sizeof_type, 1, is_ptr); } /* Here the ind_at index-array is a 1-d array of indices. This function * creates a 1-d array of made up of values of 'at' at the locations * specified by the indices. The result is pushed. */ static int aget_from_index_array (SLang_Array_Type *at, SLang_Array_Type *ind_at) { SLang_Array_Type *new_at; int *indices, *indices_max; unsigned char *new_data, *src_data; unsigned int sizeof_type; int is_ptr; if (-1 == coerse_array_to_linear (at)) return -1; if (-1 == coerse_array_to_linear (ind_at)) return -1; if (-1 == check_index_array_ranges (at, ind_at)) return -1; if (NULL == (new_at = SLang_create_array (at->data_type, 0, NULL, ind_at->dims, 1))) return -1; /* Since the index array is linear, I can address it directly */ indices = (int *) ind_at->data; indices_max = indices + ind_at->num_elements; src_data = (unsigned char *) at->data; new_data = (unsigned char *) new_at->data; sizeof_type = new_at->sizeof_type; is_ptr = (new_at->flags & SLARR_DATA_VALUE_IS_POINTER); while (indices < indices_max) { unsigned int offset; offset = sizeof_type * (unsigned int)*indices; if (-1 == transfer_n_elements (at, (VOID_STAR) new_data, (VOID_STAR) (src_data + offset), sizeof_type, 1, is_ptr)) { SLang_free_array (new_at); return -1; } new_data += sizeof_type; indices++; } return SLang_push_array (new_at, 1); } /* This is extremely ugly. It is due to the fact that the index_objects * may contain ranges. This is a utility function for the aget/aput * routines */ static int convert_nasty_index_objs (SLang_Array_Type *at, SLang_Object_Type *index_objs, unsigned int num_indices, int **index_data, int *range_buf, int *range_delta_buf, int *max_dims, unsigned int *num_elements, int *is_array, int is_dim_array[SLARRAY_MAX_DIMS]) { unsigned int i, total_num_elements; SLang_Array_Type *ind_at; if (num_indices != at->num_dims) { SLang_verror (SL_INVALID_PARM, "Array requires %u indices", at->num_dims); return -1; } *is_array = 0; total_num_elements = 1; for (i = 0; i < num_indices; i++) { int max_index, min_index; SLang_Object_Type *obj; int at_dims_i; at_dims_i = at->dims[i]; obj = index_objs + i; range_delta_buf [i] = 0; if (obj->data_type == SLANG_INT_TYPE) { range_buf [i] = min_index = max_index = obj->v.int_val; max_dims [i] = 1; index_data[i] = range_buf + i; is_dim_array[i] = 0; } else { *is_array = 1; is_dim_array[i] = 1; ind_at = obj->v.array_val; if (ind_at->flags & SLARR_DATA_VALUE_IS_RANGE) { SLarray_Range_Array_Type *r; int delta; int first_index, last_index; r = (SLarray_Range_Array_Type *) ind_at->data; /* In an array indexing context, range arrays have different * semantics. Consider a[[0:10]]. Clearly this means elements * 0-10 of a. But what does a[[0:-1]] mean? By itself, * [0:-1] is a null matrix []. But, it is useful in an * indexing context to allow -1 to refer to the last element * of the array. Similarly, [-3:-1] refers to the last 3 * elements. * * However, [-1:-3] does not refer to any of the elements. */ if ((first_index = r->first_index) < 0) { if (at_dims_i != 0) first_index = (at_dims_i + first_index) % at_dims_i; } if ((last_index = r->last_index) < 0) { if (at_dims_i != 0) last_index = (at_dims_i + last_index) % at_dims_i; } delta = r->delta; range_delta_buf [i] = delta; range_buf[i] = first_index; if (delta > 0) { if (first_index > last_index) max_dims[i] = min_index = max_index = 0; else { max_index = min_index = first_index; while (max_index + delta <= last_index) max_index += delta; max_dims [i] = 1 + (max_index - min_index) / delta; } } else { if (first_index < last_index) max_dims[i] = min_index = max_index = 0; else { min_index = max_index = first_index; while (min_index + delta >= last_index) min_index += delta; max_dims [i] = 1 + (max_index - min_index) / (-delta); } } } else { int *tmp, *tmp_max; if (0 == (max_dims[i] = ind_at->num_elements)) { total_num_elements = 0; break; } tmp = (int *) ind_at->data; tmp_max = tmp + ind_at->num_elements; index_data [i] = tmp; min_index = max_index = *tmp; while (tmp < tmp_max) { if (max_index > *tmp) max_index = *tmp; if (min_index < *tmp) min_index = *tmp; tmp++; } } } if ((at_dims_i == 0) && (max_dims[i] == 0)) { total_num_elements = 0; continue; } if (max_index < 0) max_index += at_dims_i; if (min_index < 0) min_index += at_dims_i; if ((min_index < 0) || (min_index >= at_dims_i) || (max_index < 0) || (max_index >= at_dims_i)) { SLang_verror (SL_INVALID_PARM, "Array index %u ([%d:%d]) out of allowed range [0->%d]", i, min_index, max_index, at_dims_i); return -1; } total_num_elements = total_num_elements * max_dims[i]; } *num_elements = total_num_elements; return 0; } /* This routine pushes a 1-d vector of values from 'at' indexed by * the objects 'index_objs'. These objects can either be integers or * 1-d integer arrays. The fact that the 1-d arrays can be ranges * makes this look ugly. */ static int aget_from_indices (SLang_Array_Type *at, SLang_Object_Type *index_objs, unsigned int num_indices) { int *index_data [SLARRAY_MAX_DIMS]; int range_buf [SLARRAY_MAX_DIMS]; int range_delta_buf [SLARRAY_MAX_DIMS]; int max_dims [SLARRAY_MAX_DIMS]; unsigned int i, num_elements; SLang_Array_Type *new_at; int map_indices[SLARRAY_MAX_DIMS]; int indices [SLARRAY_MAX_DIMS]; unsigned int sizeof_type; int is_ptr, ret, is_array; char *new_data; SLang_Class_Type *cl; int is_dim_array[SLARRAY_MAX_DIMS]; if (-1 == convert_nasty_index_objs (at, index_objs, num_indices, index_data, range_buf, range_delta_buf, max_dims, &num_elements, &is_array, is_dim_array)) return -1; is_ptr = (at->flags & SLARR_DATA_VALUE_IS_POINTER); sizeof_type = at->sizeof_type; cl = _SLclass_get_class (at->data_type); if ((is_array == 0) && (num_elements == 1)) { new_data = (char *)cl->cl_transfer_buf; memset (new_data, 0, sizeof_type); new_at = NULL; } else { int i_num_elements = (int)num_elements; new_at = SLang_create_array (at->data_type, 0, NULL, &i_num_elements, 1); if (NULL == new_at) return -1; if (num_elements == 0) return SLang_push_array (new_at, 1); new_data = (char *)new_at->data; } SLMEMSET((char *) map_indices, 0, sizeof(map_indices)); do { for (i = 0; i < num_indices; i++) { int j; j = map_indices[i]; if (0 != range_delta_buf[i]) indices[i] = range_buf[i] + j * range_delta_buf[i]; else indices[i] = index_data [i][j]; } if (-1 == _SLarray_aget_transfer_elem (at, indices, (VOID_STAR)new_data, sizeof_type, is_ptr)) { SLang_free_array (new_at); return -1; } new_data += sizeof_type; } while (0 == next_index (map_indices, max_dims, num_indices)); if (new_at != NULL) { int num_dims = 0; /* Fixup dimensions on array */ for (i = 0; i < num_indices; i++) { if (is_dim_array[i]) /* was: (max_dims[i] > 1) */ { new_at->dims[num_dims] = max_dims[i]; num_dims++; } } if (num_dims != 0) new_at->num_dims = num_dims; return SLang_push_array (new_at, 1); } /* Here new_data is a whole new copy, so free it after the push */ new_data -= sizeof_type; if (is_ptr && (*(VOID_STAR *)new_data == NULL)) ret = SLang_push_null (); else { ret = (*cl->cl_apush) (at->data_type, (VOID_STAR)new_data); (*cl->cl_adestroy) (at->data_type, (VOID_STAR)new_data); } return ret; } static int push_string_as_array (unsigned char *s, unsigned int len) { int ilen; SLang_Array_Type *at; ilen = (int) len; at = SLang_create_array (SLANG_UCHAR_TYPE, 0, NULL, &ilen, 1); if (at == NULL) return -1; memcpy ((char *)at->data, (char *)s, len); return SLang_push_array (at, 1); } static int pop_array_as_string (char **sp) { SLang_Array_Type *at; int ret; *sp = NULL; if (-1 == SLang_pop_array_of_type (&at, SLANG_UCHAR_TYPE)) return -1; ret = 0; if (NULL == (*sp = SLang_create_nslstring ((char *) at->data, at->num_elements))) ret = -1; SLang_free_array (at); return ret; } static int pop_array_as_bstring (SLang_BString_Type **bs) { SLang_Array_Type *at; int ret; *bs = NULL; if (-1 == SLang_pop_array_of_type (&at, SLANG_UCHAR_TYPE)) return -1; ret = 0; if (NULL == (*bs = SLbstring_create ((unsigned char *) at->data, at->num_elements))) ret = -1; SLang_free_array (at); return ret; } static int aget_from_array (unsigned int num_indices) { SLang_Array_Type *at; SLang_Object_Type index_objs [SLARRAY_MAX_DIMS]; int ret; int is_index_array; unsigned int i; if (num_indices > SLARRAY_MAX_DIMS) { SLang_verror (SL_INVALID_PARM, "Number of dims must be less than %d", SLARRAY_MAX_DIMS); return -1; } if (-1 == pop_array (&at, 1)) return -1; if (-1 == pop_indices (index_objs, num_indices, &is_index_array)) { SLang_free_array (at); return -1; } if (is_index_array == 0) ret = aget_from_indices (at, index_objs, num_indices); else ret = aget_from_index_array (at, index_objs[0].v.array_val); SLang_free_array (at); for (i = 0; i < num_indices; i++) SLang_free_object (index_objs + i); return ret; } static int push_string_element (unsigned char type, unsigned char *s, unsigned int len) { int i; if (SLang_peek_at_stack () == SLANG_ARRAY_TYPE) { char *str; /* The indices are array values. So, do this: */ if (-1 == push_string_as_array (s, len)) return -1; if (-1 == aget_from_array (1)) return -1; if (type == SLANG_BSTRING_TYPE) { SLang_BString_Type *bs; int ret; if (-1 == pop_array_as_bstring (&bs)) return -1; ret = SLang_push_bstring (bs); SLbstring_free (bs); return ret; } if (-1 == pop_array_as_string (&str)) return -1; return _SLang_push_slstring (str); /* frees s upon error */ } if (-1 == SLang_pop_integer (&i)) return -1; if (i < 0) i = i + (int)len; if ((unsigned int) i > len) i = len; /* get \0 character --- bstrings include it as well */ i = s[(unsigned int) i]; return SLang_push_integer (i); } /* ARRAY[i, j, k] generates code: __args i j ...k ARRAY __aput/__aget * Here i, j, ... k may be a mixture of integers and 1-d arrays, or * a single 2-d array of indices. The 2-d index array is generated by the * 'where' function. * * If ARRAY is of type DataType, then this function will create an array of * the appropriate type. In that case, the indices i, j, ..., k must be * integers. */ int _SLarray_aget (void) { unsigned int num_indices; int type; int (*aget_fun) (unsigned char, unsigned int); num_indices = (SLang_Num_Function_Args - 1); type = SLang_peek_at_stack (); switch (type) { case -1: return -1; /* stack underflow */ case SLANG_DATATYPE_TYPE: return push_create_new_array (); case SLANG_BSTRING_TYPE: if (1 == num_indices) { SLang_BString_Type *bs; int ret; unsigned int len; unsigned char *s; if (-1 == SLang_pop_bstring (&bs)) return -1; if (NULL == (s = SLbstring_get_pointer (bs, &len))) ret = -1; else ret = push_string_element (type, s, len); SLbstring_free (bs); return ret; } break; case SLANG_STRING_TYPE: if (1 == num_indices) { char *s; int ret; if (-1 == SLang_pop_slstring (&s)) return -1; ret = push_string_element (type, (unsigned char *)s, strlen (s)); SLang_free_slstring (s); return ret; } break; case SLANG_ARRAY_TYPE: break; default: aget_fun = _SLclass_get_class (type)->cl_aget; if (NULL != aget_fun) return (*aget_fun) (type, num_indices); } return aget_from_array (num_indices); } int _SLarray_aput_transfer_elem (SLang_Array_Type *at, int *indices, VOID_STAR data_to_put, unsigned int sizeof_type, int is_ptr) { VOID_STAR at_data; /* Since 1 element is being transferred, there is no need to coerse * the array to linear. */ if (NULL == (at_data = get_data_addr (at, indices))) return -1; return transfer_n_elements (at, at_data, data_to_put, sizeof_type, 1, is_ptr); } static int aput_get_array_to_put (SLang_Class_Type *cl, unsigned int num_elements, int allow_array, SLang_Array_Type **at_ptr, char **data_to_put, unsigned int *data_increment) { unsigned char data_type; SLang_Array_Type *at; *at_ptr = NULL; data_type = cl->cl_data_type; if (-1 == SLclass_typecast (data_type, 1, allow_array)) return -1; if ((data_type != SLANG_ARRAY_TYPE) && (data_type != SLANG_ANY_TYPE) && (SLANG_ARRAY_TYPE == SLang_peek_at_stack ())) { if (-1 == SLang_pop_array (&at, 0)) return -1; if ((at->num_elements != num_elements) #if 0 || (at->num_dims != 1) #endif ) { SLang_verror (SL_TYPE_MISMATCH, "Array size is inappropriate for use with index-array"); SLang_free_array (at); return -1; } *data_to_put = (char *) at->data; *data_increment = at->sizeof_type; *at_ptr = at; return 0; } *data_increment = 0; *data_to_put = (char *) cl->cl_transfer_buf; if (-1 == (*cl->cl_apop)(data_type, (VOID_STAR) *data_to_put)) return -1; return 0; } static int aput_from_indices (SLang_Array_Type *at, SLang_Object_Type *index_objs, unsigned int num_indices) { int *index_data [SLARRAY_MAX_DIMS]; int range_buf [SLARRAY_MAX_DIMS]; int range_delta_buf [SLARRAY_MAX_DIMS]; int max_dims [SLARRAY_MAX_DIMS]; unsigned int i, num_elements; SLang_Array_Type *bt; int map_indices[SLARRAY_MAX_DIMS]; int indices [SLARRAY_MAX_DIMS]; unsigned int sizeof_type; int is_ptr, is_array, ret; char *data_to_put; unsigned int data_increment; SLang_Class_Type *cl; int is_dim_array [SLARRAY_MAX_DIMS]; if (-1 == convert_nasty_index_objs (at, index_objs, num_indices, index_data, range_buf, range_delta_buf, max_dims, &num_elements, &is_array, is_dim_array)) return -1; cl = at->cl; if (-1 == aput_get_array_to_put (cl, num_elements, is_array, &bt, &data_to_put, &data_increment)) return -1; sizeof_type = at->sizeof_type; is_ptr = (at->flags & SLARR_DATA_VALUE_IS_POINTER); ret = -1; SLMEMSET((char *) map_indices, 0, sizeof(map_indices)); if (num_elements) do { for (i = 0; i < num_indices; i++) { int j; j = map_indices[i]; if (0 != range_delta_buf[i]) indices[i] = range_buf[i] + j * range_delta_buf[i]; else indices[i] = index_data [i][j]; } if (-1 == _SLarray_aput_transfer_elem (at, indices, (VOID_STAR)data_to_put, sizeof_type, is_ptr)) goto return_error; data_to_put += data_increment; } while (0 == next_index (map_indices, max_dims, num_indices)); ret = 0; /* drop */ return_error: if (bt == NULL) { if (is_ptr) (*cl->cl_destroy) (cl->cl_data_type, (VOID_STAR) data_to_put); } else SLang_free_array (bt); return ret; } static int aput_from_index_array (SLang_Array_Type *at, SLang_Array_Type *ind_at) { int *indices, *indices_max; unsigned int sizeof_type; char *data_to_put, *dest_data; unsigned int data_increment; int is_ptr; SLang_Array_Type *bt; SLang_Class_Type *cl; int ret; if (-1 == coerse_array_to_linear (at)) return -1; if (-1 == coerse_array_to_linear (ind_at)) return -1; if (-1 == check_index_array_ranges (at, ind_at)) return -1; sizeof_type = at->sizeof_type; cl = at->cl; /* Note that if bt is returned as non NULL, then the array is a linear * one. */ if (-1 == aput_get_array_to_put (cl, ind_at->num_elements, 1, &bt, &data_to_put, &data_increment)) return -1; /* Since the index array is linear, I can address it directly */ indices = (int *) ind_at->data; indices_max = indices + ind_at->num_elements; is_ptr = (at->flags & SLARR_DATA_VALUE_IS_POINTER); dest_data = (char *) at->data; ret = -1; while (indices < indices_max) { unsigned int offset; offset = sizeof_type * (unsigned int)*indices; if (-1 == transfer_n_elements (at, (VOID_STAR) (dest_data + offset), (VOID_STAR) data_to_put, sizeof_type, 1, is_ptr)) goto return_error; indices++; data_to_put += data_increment; } ret = 0; /* Drop */ return_error: if (bt == NULL) { if (is_ptr) (*cl->cl_destroy) (cl->cl_data_type, (VOID_STAR)data_to_put); } else SLang_free_array (bt); return ret; } /* ARRAY[i, j, k] = generates code: __args i j k ARRAY __aput */ int _SLarray_aput (void) { unsigned int num_indices; SLang_Array_Type *at; SLang_Object_Type index_objs [SLARRAY_MAX_DIMS]; int ret; int is_index_array; int (*aput_fun) (unsigned char, unsigned int); int type; ret = -1; num_indices = (SLang_Num_Function_Args - 1); type = SLang_peek_at_stack (); switch (type) { case -1: return -1; case SLANG_ARRAY_TYPE: break; default: if (NULL != (aput_fun = _SLclass_get_class (type)->cl_aput)) return (*aput_fun) (type, num_indices); break; } if (-1 == SLang_pop_array (&at, 0)) return -1; if (at->flags & SLARR_DATA_VALUE_IS_READ_ONLY) { SLang_verror (SL_READONLY_ERROR, "%s Array is read-only", SLclass_get_datatype_name (at->data_type)); SLang_free_array (at); return -1; } if (-1 == pop_indices (index_objs, num_indices, &is_index_array)) { SLang_free_array (at); return -1; } if (is_index_array == 0) ret = aput_from_indices (at, index_objs, num_indices); else ret = aput_from_index_array (at, index_objs[0].v.array_val); SLang_free_array (at); free_index_objects (index_objs, num_indices); return ret; } /* This is for 1-d matrices only. It is used by the sort function */ static int push_element_at_index (SLang_Array_Type *at, int indx) { VOID_STAR data; if (NULL == (data = get_data_addr (at, &indx))) return -1; return push_element_at_addr (at, (VOID_STAR) data, 1); } static SLang_Name_Type *Sort_Function; static SLang_Array_Type *Sort_Array; static int sort_cmp_fun (int *a, int *b) { int cmp; if (SLang_Error || (-1 == push_element_at_index (Sort_Array, *a)) || (-1 == push_element_at_index (Sort_Array, *b)) || (-1 == SLexecute_function (Sort_Function)) || (-1 == SLang_pop_integer (&cmp))) { /* DO not allow qsort to loop forever. Return something meaningful */ if (*a > *b) return 1; if (*a < *b) return -1; return 0; } return cmp; } static int builtin_sort_cmp_fun (int *a, int *b) { VOID_STAR a_data; VOID_STAR b_data; SLang_Class_Type *cl; cl = Sort_Array->cl; if ((SLang_Error == 0) && (NULL != (a_data = get_data_addr (Sort_Array, a))) && (NULL != (b_data = get_data_addr (Sort_Array, b)))) { int cmp; if ((Sort_Array->flags & SLARR_DATA_VALUE_IS_POINTER) && ((*(VOID_STAR *) a_data == NULL) || (*(VOID_STAR *) a_data == NULL))) { SLang_verror (SL_VARIABLE_UNINITIALIZED, "%s array has unitialized element", cl->cl_name); } else if (0 == (*cl->cl_cmp)(Sort_Array->data_type, a_data, b_data, &cmp)) return cmp; } if (*a > *b) return 1; if (*a == *b) return 0; return -1; } static void sort_array_internal (SLang_Array_Type *at_str, SLang_Name_Type *entry, int (*sort_fun)(int *, int *)) { SLang_Array_Type *ind_at; /* This is a silly hack to make up for braindead compilers and the lack of * uniformity in prototypes for qsort. */ void (*qsort_fun) (char *, unsigned int, int, int (*)(int *, int *)); int *indx; int i, n; int dims[1]; if (Sort_Array != NULL) { SLang_verror (SL_NOT_IMPLEMENTED, "array_sort is not recursive"); return; } n = at_str->num_elements; if (at_str->num_dims != 1) { SLang_verror (SL_INVALID_PARM, "sort is restricted to 1 dim arrays"); return; } dims [0] = n; if (NULL == (ind_at = SLang_create_array (SLANG_INT_TYPE, 0, NULL, dims, 1))) return; indx = (int *) ind_at->data; for (i = 0; i < n; i++) indx[i] = i; if (n > 1) { qsort_fun = (void (*)(char *, unsigned int, int, int (*)(int *, int *))) qsort; Sort_Array = at_str; Sort_Function = entry; (*qsort_fun) ((char *) indx, n, sizeof (int), sort_fun); } Sort_Array = NULL; (void) SLang_push_array (ind_at, 1); } static void sort_array (void) { SLang_Name_Type *entry; SLang_Array_Type *at; int (*sort_fun) (int *, int *); if (SLang_Num_Function_Args != 1) { sort_fun = sort_cmp_fun; if (NULL == (entry = SLang_pop_function ())) return; if (-1 == SLang_pop_array (&at, 1)) return; } else { sort_fun = builtin_sort_cmp_fun; if (-1 == SLang_pop_array (&at, 1)) return; if (at->cl->cl_cmp == NULL) { SLang_verror (SL_NOT_IMPLEMENTED, "%s does not have a predefined sorting method", at->cl->cl_name); SLang_free_array (at); return; } entry = NULL; } sort_array_internal (at, entry, sort_fun); SLang_free_array (at); SLang_free_function (entry); } static void bstring_to_array (SLang_BString_Type *bs) { unsigned char *s; unsigned int len; if (NULL == (s = SLbstring_get_pointer (bs, &len))) (void) SLang_push_null (); else (void) push_string_as_array (s, len); } static void array_to_bstring (SLang_Array_Type *at) { unsigned int nbytes; SLang_BString_Type *bs; nbytes = at->num_elements * at->sizeof_type; bs = SLbstring_create ((unsigned char *)at->data, nbytes); (void) SLang_push_bstring (bs); SLbstring_free (bs); } static void init_char_array (void) { SLang_Array_Type *at; char *s; unsigned int n, ndim; if (SLang_pop_slstring (&s)) return; if (-1 == SLang_pop_array (&at, 0)) goto free_and_return; if (at->data_type != SLANG_CHAR_TYPE) { SLang_doerror("Operation requires character array"); goto free_and_return; } n = strlen (s); ndim = at->num_elements; if (n > ndim) { SLang_doerror("String too big to init array"); goto free_and_return; } strncpy((char *) at->data, s, ndim); /* drop */ free_and_return: SLang_free_array (at); SLang_free_slstring (s); } static void array_info (void) { SLang_Array_Type *at, *bt; int num_dims; if (-1 == pop_array (&at, 1)) return; num_dims = (int)at->num_dims; if (NULL != (bt = SLang_create_array (SLANG_INT_TYPE, 0, NULL, &num_dims, 1))) { int *bdata; int i; int *a_dims; a_dims = at->dims; bdata = (int *) bt->data; for (i = 0; i < num_dims; i++) bdata [i] = a_dims [i]; if (0 == SLang_push_array (bt, 1)) { (void) SLang_push_integer ((int) at->num_dims); (void) _SLang_push_datatype (at->data_type); } } SLang_free_array (at); } static VOID_STAR range_get_data_addr (SLang_Array_Type *at, int *dims) { static int value; SLarray_Range_Array_Type *r; int d; d = *dims; r = (SLarray_Range_Array_Type *)at->data; if (d < 0) d += at->dims[0]; value = r->first_index + d * r->delta; return (VOID_STAR) &value; } static SLang_Array_Type *inline_implicit_int_array (int *xminptr, int *xmaxptr, int *dxptr) { int delta; SLang_Array_Type *at; int dims, idims; SLarray_Range_Array_Type *data; if (dxptr == NULL) delta = 1; else delta = *dxptr; if (delta == 0) { SLang_verror (SL_INVALID_PARM, "range-array increment must be non-zero"); return NULL; } data = (SLarray_Range_Array_Type *) SLmalloc (sizeof (SLarray_Range_Array_Type)); if (data == NULL) return NULL; SLMEMSET((char *) data, 0, sizeof (SLarray_Range_Array_Type)); data->delta = delta; dims = 0; if (xminptr != NULL) data->first_index = *xminptr; else data->first_index = 0; if (xmaxptr != NULL) data->last_index = *xmaxptr; else data->last_index = -1; /* if ((xminptr != NULL) && (xmaxptr != NULL)) { */ idims = 1 + (data->last_index - data->first_index) / delta; if (idims > 0) dims = idims; /* } */ if (NULL == (at = SLang_create_array (SLANG_INT_TYPE, 0, (VOID_STAR) data, &dims, 1))) return NULL; at->index_fun = range_get_data_addr; at->flags |= SLARR_DATA_VALUE_IS_RANGE; return at; } #if SLANG_HAS_FLOAT static SLang_Array_Type *inline_implicit_floating_array (unsigned char type, double *xminptr, double *xmaxptr, double *dxptr) { int n, i; SLang_Array_Type *at; int dims; double xmin, xmax, dx; if ((xminptr == NULL) || (xmaxptr == NULL)) { SLang_verror (SL_INVALID_PARM, "range-array has unknown size"); return NULL; } xmin = *xminptr; xmax = *xmaxptr; if (dxptr == NULL) dx = 1.0; else dx = *dxptr; if (dx == 0.0) { SLang_doerror ("range-array increment must be non-zero"); return NULL; } /* I have convinced myself that it is better to use semi-open intervals * because of less ambiguities. So, [a:b:c] will represent the set of * values a, a + c, a + 2c ... a + nc * such that a + nc < b. That is, b lies outside the interval. */ /* Allow for roundoff by adding 0.5 before truncation */ n = (int)(1.5 + ((xmax - xmin) / dx)); if (n <= 0) n = 0; else { double last = xmin + (n-1) * dx; if (dx > 0.0) { if (last >= xmax) n -= 1; } else if (last <= xmax) n -= 1; } dims = n; if (NULL == (at = SLang_create_array1 (type, 0, NULL, &dims, 1, 1))) return NULL; if (type == SLANG_DOUBLE_TYPE) { double *ptr; ptr = (double *) at->data; for (i = 0; i < n; i++) ptr[i] = xmin + i * dx; } else { float *ptr; ptr = (float *) at->data; for (i = 0; i < n; i++) ptr[i] = (float) (xmin + i * dx); } return at; } #endif /* FIXME: Priority=medium * This needs to be updated to work with all integer types. */ int _SLarray_inline_implicit_array (void) { int int_vals[3]; #if SLANG_HAS_FLOAT double double_vals[3]; #endif int has_vals[3]; unsigned int i, count; SLang_Array_Type *at; int precedence; unsigned char type; int is_int; count = SLang_Num_Function_Args; if (count == 2) has_vals [2] = 0; else if (count != 3) { SLang_doerror ("wrong number of arguments to __implicit_inline_array"); return -1; } #if SLANG_HAS_FLOAT is_int = 1; #endif type = 0; precedence = 0; i = count; while (i--) { int this_type, this_precedence; if (-1 == (this_type = SLang_peek_at_stack ())) return -1; this_precedence = _SLarith_get_precedence ((unsigned char) this_type); if (precedence < this_precedence) { type = (unsigned char) this_type; precedence = this_precedence; } has_vals [i] = 1; switch (this_type) { case SLANG_NULL_TYPE: has_vals[i] = 0; (void) SLdo_pop (); break; #if SLANG_HAS_FLOAT case SLANG_DOUBLE_TYPE: case SLANG_FLOAT_TYPE: if (-1 == SLang_pop_double (double_vals + i, NULL, NULL)) return -1; is_int = 0; break; #endif default: if (-1 == SLang_pop_integer (int_vals + i)) return -1; double_vals[i] = (double) int_vals[i]; } } #if SLANG_HAS_FLOAT if (is_int == 0) at = inline_implicit_floating_array (type, (has_vals[0] ? &double_vals[0] : NULL), (has_vals[1] ? &double_vals[1] : NULL), (has_vals[2] ? &double_vals[2] : NULL)); else #endif at = inline_implicit_int_array ((has_vals[0] ? &int_vals[0] : NULL), (has_vals[1] ? &int_vals[1] : NULL), (has_vals[2] ? &int_vals[2] : NULL)); if (at == NULL) return -1; return SLang_push_array (at, 1); } int _SLarray_wildcard_array (void) { SLang_Array_Type *at; if (NULL == (at = inline_implicit_int_array (NULL, NULL, NULL))) return -1; return SLang_push_array (at, 1); } static SLang_Array_Type *concat_arrays (unsigned int count) { SLang_Array_Type **arrays; SLang_Array_Type *at, *bt; unsigned int i; int num_elements; unsigned char type; char *src_data, *dest_data; int is_ptr; unsigned int sizeof_type; int max_dims, min_dims, max_rows, min_rows; arrays = (SLang_Array_Type **)SLmalloc (count * sizeof (SLang_Array_Type *)); if (arrays == NULL) { SLdo_pop_n (count); return NULL; } SLMEMSET((char *) arrays, 0, count * sizeof(SLang_Array_Type *)); at = NULL; num_elements = 0; i = count; while (i != 0) { i--; if (-1 == SLang_pop_array (&bt, 1)) goto free_and_return; arrays[i] = bt; num_elements += (int)bt->num_elements; } type = arrays[0]->data_type; max_dims = min_dims = arrays[0]->num_dims; min_rows = max_rows = arrays[0]->dims[0]; for (i = 1; i < count; i++) { SLang_Array_Type *ct; int num; bt = arrays[i]; num = bt->num_dims; if (num > max_dims) max_dims = num; if (num < min_dims) min_dims = num; num = bt->dims[0]; if (num > max_rows) max_rows = num; if (num < min_rows) min_rows = num; if (type == bt->data_type) continue; if (1 != _SLarray_typecast (bt->data_type, (VOID_STAR) &bt, 1, type, (VOID_STAR) &ct, 1)) goto free_and_return; SLang_free_array (bt); arrays [i] = ct; } if (NULL == (at = SLang_create_array (type, 0, NULL, &num_elements, 1))) goto free_and_return; is_ptr = (at->flags & SLARR_DATA_VALUE_IS_POINTER); sizeof_type = at->sizeof_type; dest_data = (char *) at->data; for (i = 0; i < count; i++) { bt = arrays[i]; src_data = (char *) bt->data; num_elements = bt->num_elements; if (-1 == transfer_n_elements (bt, (VOID_STAR)dest_data, (VOID_STAR)src_data, sizeof_type, num_elements, is_ptr)) { SLang_free_array (at); at = NULL; goto free_and_return; } dest_data += num_elements * sizeof_type; } /* If the arrays are all 1-d, and all the same size, then reshape to a * 2-d array. This will allow us to do, e.g. * a = [[1,2], [3,4]] * to specifiy a 2-d. * Someday I will generalize this. */ if ((max_dims == min_dims) && (max_dims == 1) && (min_rows == max_rows)) { at->num_dims = 2; at->dims[0] = count; at->dims[1] = min_rows; } free_and_return: for (i = 0; i < count; i++) SLang_free_array (arrays[i]); SLfree ((char *) arrays); return at; } int _SLarray_inline_array (void) { SLang_Object_Type *obj; unsigned char type, this_type; unsigned int count; SLang_Array_Type *at; obj = _SLStack_Pointer; count = SLang_Num_Function_Args; type = 0; while ((count > 0) && (--obj >= _SLRun_Stack)) { this_type = obj->data_type; if (type == 0) type = this_type; if ((type == this_type) || (type == SLANG_ARRAY_TYPE)) { count--; continue; } switch (this_type) { case SLANG_ARRAY_TYPE: type = SLANG_ARRAY_TYPE; break; case SLANG_INT_TYPE: switch (type) { #if SLANG_HAS_FLOAT case SLANG_DOUBLE_TYPE: break; #endif #if SLANG_HAS_COMPLEX case SLANG_COMPLEX_TYPE: break; #endif default: goto type_mismatch; } break; #if SLANG_HAS_FLOAT case SLANG_DOUBLE_TYPE: switch (type) { case SLANG_INT_TYPE: type = SLANG_DOUBLE_TYPE; break; # if SLANG_HAS_COMPLEX case SLANG_COMPLEX_TYPE: break; # endif default: goto type_mismatch; } break; #endif #if SLANG_HAS_COMPLEX case SLANG_COMPLEX_TYPE: switch (type) { case SLANG_INT_TYPE: case SLANG_DOUBLE_TYPE: type = SLANG_COMPLEX_TYPE; break; default: goto type_mismatch; } break; #endif default: type_mismatch: _SLclass_type_mismatch_error (type, this_type); return -1; } count--; } if (count != 0) { SLang_Error = SL_STACK_UNDERFLOW; return -1; } count = SLang_Num_Function_Args; if (count == 0) { SLang_verror (SL_NOT_IMPLEMENTED, "Empty inline-arrays not supported"); return -1; } if (type == SLANG_ARRAY_TYPE) { if (NULL == (at = concat_arrays (count))) return -1; } else { SLang_Object_Type index_obj; int icount = (int) count; if (NULL == (at = SLang_create_array (type, 0, NULL, &icount, 1))) return -1; index_obj.data_type = SLANG_INT_TYPE; while (count != 0) { count--; index_obj.v.int_val = (int) count; if (-1 == aput_from_indices (at, &index_obj, 1)) { SLang_free_array (at); SLdo_pop_n (count); return -1; } } } return SLang_push_array (at, 1); } static int array_binary_op_result (int op, unsigned char a, unsigned char b, unsigned char *c) { (void) op; (void) a; (void) b; *c = SLANG_ARRAY_TYPE; return 1; } static int array_binary_op (int op, unsigned char a_type, VOID_STAR ap, unsigned int na, unsigned char b_type, VOID_STAR bp, unsigned int nb, VOID_STAR cp) { SLang_Array_Type *at, *bt, *ct; unsigned int i, num_dims; int (*binary_fun) (int, unsigned char, VOID_STAR, unsigned int, unsigned char, VOID_STAR, unsigned int, VOID_STAR); SLang_Class_Type *a_cl, *b_cl, *c_cl; int no_init; if (a_type == SLANG_ARRAY_TYPE) { if (na != 1) { SLang_verror (SL_NOT_IMPLEMENTED, "Binary operation on multiple arrays not implemented"); return -1; } at = *(SLang_Array_Type **) ap; if (-1 == coerse_array_to_linear (at)) return -1; ap = at->data; a_type = at->data_type; na = at->num_elements; } else { at = NULL; } if (b_type == SLANG_ARRAY_TYPE) { if (nb != 1) { SLang_verror (SL_NOT_IMPLEMENTED, "Binary operation on multiple arrays not implemented"); return -1; } bt = *(SLang_Array_Type **) bp; if (-1 == coerse_array_to_linear (bt)) return -1; bp = bt->data; b_type = bt->data_type; nb = bt->num_elements; } else { bt = NULL; } if ((at != NULL) && (bt != NULL)) { num_dims = at->num_dims; if (num_dims != bt->num_dims) { SLang_verror (SL_TYPE_MISMATCH, "Arrays must have same dim for binary operation"); return -1; } for (i = 0; i < num_dims; i++) { if (at->dims[i] != bt->dims[i]) { SLang_verror (SL_TYPE_MISMATCH, "Arrays must be the same for binary operation"); return -1; } } } a_cl = _SLclass_get_class (a_type); b_cl = _SLclass_get_class (b_type); if (NULL == (binary_fun = _SLclass_get_binary_fun (op, a_cl, b_cl, &c_cl, 1))) return -1; no_init = ((c_cl->cl_class_type == SLANG_CLASS_TYPE_SCALAR) || (c_cl->cl_class_type == SLANG_CLASS_TYPE_VECTOR)); ct = NULL; #if _SLANG_USE_TMP_OPTIMIZATION /* If we are dealing with scalar (or vector) objects, and if the object * appears to be owned by the stack, then use it instead of creating a * new version. This can happen with code such as: * @ x = [1,2,3,4]; * @ x = __tmp(x) + 1; */ if (no_init) { if ((at != NULL) && (at->num_refs == 1) && (at->data_type == c_cl->cl_data_type)) { ct = at; ct->num_refs = 2; } else if ((bt != NULL) && (bt->num_refs == 1) && (bt->data_type == c_cl->cl_data_type)) { ct = bt; ct->num_refs = 2; } } #endif /* _SLANG_USE_TMP_OPTIMIZATION */ if (ct == NULL) { if (at != NULL) ct = at; else ct = bt; ct = SLang_create_array1 (c_cl->cl_data_type, 0, NULL, ct->dims, ct->num_dims, no_init); if (ct == NULL) return -1; } if ((na == 0) || (nb == 0) /* allow empty arrays */ || (1 == (*binary_fun) (op, a_type, ap, na, b_type, bp, nb, ct->data))) { *(SLang_Array_Type **) cp = ct; return 1; } SLang_free_array (ct); return -1; } static void array_where (void) { SLang_Array_Type *at, *bt; char *a_data; int *b_data; unsigned int i, num_elements; int b_num; if (-1 == SLang_pop_array (&at, 1)) return; bt = NULL; if (at->data_type != SLANG_CHAR_TYPE) { int zero; SLang_Array_Type *tmp_at; tmp_at = at; zero = 0; if (1 != array_binary_op (SLANG_NE, SLANG_ARRAY_TYPE, (VOID_STAR) &at, 1, SLANG_CHAR_TYPE, (VOID_STAR) &zero, 1, (VOID_STAR) &tmp_at)) goto return_error; SLang_free_array (at); at = tmp_at; if (at->data_type != SLANG_CHAR_TYPE) { SLang_Error = SL_TYPE_MISMATCH; goto return_error; } } a_data = (char *) at->data; num_elements = at->num_elements; b_num = 0; for (i = 0; i < num_elements; i++) if (a_data[i] != 0) b_num++; if (NULL == (bt = SLang_create_array1 (SLANG_INT_TYPE, 0, NULL, &b_num, 1, 1))) goto return_error; b_data = (int *) bt->data; i = 0; while (b_num) { if (a_data[i] != 0) { *b_data++ = i; b_num--; } i++; } (void) SLang_push_array (bt, 0); /* drop */ return_error: SLang_free_array (at); SLang_free_array (bt); } static int do_array_reshape (SLang_Array_Type *at, SLang_Array_Type *ind_at) { int *dims; unsigned int i, num_dims; unsigned int num_elements; if ((ind_at->data_type != SLANG_INT_TYPE) || (ind_at->num_dims != 1)) { SLang_verror (SL_TYPE_MISMATCH, "Expecting 1-d integer array"); return -1; } num_dims = ind_at->num_elements; dims = (int *) ind_at->data; num_elements = 1; for (i = 0; i < num_dims; i++) { int d = dims[i]; if (d < 0) { SLang_verror (SL_INVALID_PARM, "reshape: dimension is less then 0"); return -1; } num_elements = (unsigned int) d * num_elements; } if ((num_elements != at->num_elements) || (num_dims > SLARRAY_MAX_DIMS)) { SLang_verror (SL_INVALID_PARM, "Unable to reshape array to specified size"); return -1; } for (i = 0; i < num_dims; i++) at->dims [i] = dims[i]; while (i < SLARRAY_MAX_DIMS) { at->dims [i] = 1; i++; } at->num_dims = num_dims; return 0; } static void array_reshape (SLang_Array_Type *at, SLang_Array_Type *ind_at) { (void) do_array_reshape (at, ind_at); } static void _array_reshape (SLang_Array_Type *ind_at) { SLang_Array_Type *at; SLang_Array_Type *new_at; if (-1 == SLang_pop_array (&at, 1)) return; /* FIXME: Priority=low: duplicate_array could me modified to look at num_refs */ /* Now try to avoid the overhead of creating a new array if possible */ if (at->num_refs == 1) { /* Great, we are the sole owner of this array. */ if ((-1 == do_array_reshape (at, ind_at)) || (-1 == SLclass_push_ptr_obj (SLANG_ARRAY_TYPE, (VOID_STAR)at))) SLang_free_array (at); return; } new_at = SLang_duplicate_array (at); if (new_at != NULL) { if (0 == do_array_reshape (new_at, ind_at)) (void) SLang_push_array (new_at, 0); SLang_free_array (new_at); } SLang_free_array (at); } typedef struct { SLang_Array_Type *at; unsigned int increment; char *addr; } Map_Arg_Type; /* Usage: array_map (Return-Type, func, args,....); */ static void array_map (void) { Map_Arg_Type *args; unsigned int num_args; unsigned int i, i_control; SLang_Name_Type *nt; unsigned int num_elements; SLang_Array_Type *at; char *addr; unsigned char type; at = NULL; args = NULL; nt = NULL; if (SLang_Num_Function_Args < 3) { SLang_verror (SL_INVALID_PARM, "Usage: array_map (Return-Type, &func, args...)"); SLdo_pop_n (SLang_Num_Function_Args); return; } num_args = (unsigned int)SLang_Num_Function_Args - 2; args = (Map_Arg_Type *) SLmalloc (num_args * sizeof (Map_Arg_Type)); if (args == NULL) { SLdo_pop_n (SLang_Num_Function_Args); return; } memset ((char *) args, 0, num_args * sizeof (Map_Arg_Type)); i = num_args; i_control = 0; while (i > 0) { i--; if (-1 == SLang_pop_array (&args[i].at, 1)) { SLdo_pop_n (i + 2); goto return_error; } if (args[i].at->num_elements > 1) i_control = i; } if (NULL == (nt = SLang_pop_function ())) { SLdo_pop_n (1); goto return_error; } num_elements = args[i_control].at->num_elements; if (-1 == _SLang_pop_datatype (&type)) goto return_error; if (type == SLANG_UNDEFINED_TYPE) /* Void_Type */ at = NULL; else { at = args[i_control].at; if (NULL == (at = SLang_create_array (type, 0, NULL, at->dims, at->num_dims))) goto return_error; } for (i = 0; i < num_args; i++) { SLang_Array_Type *ati = args[i].at; /* FIXME: Priority = low: The actual dimensions should be compared. */ if (ati->num_elements == num_elements) args[i].increment = ati->sizeof_type; /* memset already guarantees increment to be zero */ if (ati->num_elements == 0) { SLang_verror (0, "array_map: function argument %d of %d is an empty array", i+1, num_args); goto return_error; } args[i].addr = (char *) ati->data; } if (at == NULL) addr = NULL; else addr = (char *)at->data; for (i = 0; i < num_elements; i++) { unsigned int j; if (-1 == SLang_start_arg_list ()) goto return_error; for (j = 0; j < num_args; j++) { if (-1 == push_element_at_addr (args[j].at, (VOID_STAR) args[j].addr, 1)) { SLdo_pop_n (j); goto return_error; } args[j].addr += args[j].increment; } if (-1 == SLang_end_arg_list ()) { SLdo_pop_n (num_args); goto return_error; } if (-1 == SLexecute_function (nt)) goto return_error; if (at == NULL) continue; if (-1 == at->cl->cl_apop (type, (VOID_STAR) addr)) goto return_error; addr += at->sizeof_type; } if (at != NULL) (void) SLang_push_array (at, 0); /* drop */ return_error: SLang_free_array (at); SLang_free_function (nt); if (args != NULL) { for (i = 0; i < num_args; i++) SLang_free_array (args[i].at); SLfree ((char *) args); } } static SLang_Intrin_Fun_Type Array_Table [] = { MAKE_INTRINSIC_0("array_map", array_map, SLANG_VOID_TYPE), MAKE_INTRINSIC_0("array_sort", sort_array, SLANG_VOID_TYPE), MAKE_INTRINSIC_1("array_to_bstring", array_to_bstring, SLANG_VOID_TYPE, SLANG_ARRAY_TYPE), MAKE_INTRINSIC_1("bstring_to_array", bstring_to_array, SLANG_VOID_TYPE, SLANG_BSTRING_TYPE), MAKE_INTRINSIC("init_char_array", init_char_array, SLANG_VOID_TYPE, 0), MAKE_INTRINSIC("array_info", array_info, SLANG_VOID_TYPE, 0), MAKE_INTRINSIC("where", array_where, SLANG_VOID_TYPE, 0), MAKE_INTRINSIC_2("reshape", array_reshape, SLANG_VOID_TYPE, SLANG_ARRAY_TYPE, SLANG_ARRAY_TYPE), MAKE_INTRINSIC_1("_reshape", _array_reshape, SLANG_VOID_TYPE, SLANG_ARRAY_TYPE), SLANG_END_INTRIN_FUN_TABLE }; static char *array_string (unsigned char type, VOID_STAR v) { SLang_Array_Type *at; char buf[512]; unsigned int i, num_dims; int *dims; at = *(SLang_Array_Type **) v; type = at->data_type; num_dims = at->num_dims; dims = at->dims; sprintf (buf, "%s[%d", SLclass_get_datatype_name (type), at->dims[0]); for (i = 1; i < num_dims; i++) sprintf (buf + strlen(buf), ",%d", dims[i]); strcat (buf, "]"); return SLmake_string (buf); } static void array_destroy (unsigned char type, VOID_STAR v) { (void) type; SLang_free_array (*(SLang_Array_Type **) v); } static int array_push (unsigned char type, VOID_STAR v) { SLang_Array_Type *at; (void) type; at = *(SLang_Array_Type **) v; return SLang_push_array (at, 0); } /* Intrinsic arrays are not stored in a variable. So, the address that * would contain the variable holds the array address. */ static int array_push_intrinsic (unsigned char type, VOID_STAR v) { (void) type; return SLang_push_array ((SLang_Array_Type *) v, 0); } int _SLarray_add_bin_op (unsigned char type) { SL_OOBinary_Type *ab; SLang_Class_Type *cl; cl = _SLclass_get_class (type); ab = cl->cl_binary_ops; while (ab != NULL) { if (ab->data_type == SLANG_ARRAY_TYPE) return 0; ab = ab->next; } if ((-1 == SLclass_add_binary_op (SLANG_ARRAY_TYPE, type, array_binary_op, array_binary_op_result)) || (-1 == SLclass_add_binary_op (type, SLANG_ARRAY_TYPE, array_binary_op, array_binary_op_result))) return -1; return 0; } static SLang_Array_Type * do_array_math_op (int op, int unary_type, SLang_Array_Type *at, unsigned int na) { unsigned char a_type, b_type; int (*f) (int, unsigned char, VOID_STAR, unsigned int, VOID_STAR); SLang_Array_Type *bt; SLang_Class_Type *b_cl; int no_init; if (na != 1) { SLang_verror (SL_NOT_IMPLEMENTED, "Operation restricted to 1 array"); return NULL; } a_type = at->data_type; if (NULL == (f = _SLclass_get_unary_fun (op, at->cl, &b_cl, unary_type))) return NULL; b_type = b_cl->cl_data_type; if (-1 == coerse_array_to_linear (at)) return NULL; no_init = ((b_cl->cl_class_type == SLANG_CLASS_TYPE_SCALAR) || (b_cl->cl_class_type == SLANG_CLASS_TYPE_VECTOR)); #if _SLANG_USE_TMP_OPTIMIZATION /* If we are dealing with scalar (or vector) objects, and if the object * appears to be owned by the stack, then use it instead of creating a * new version. This can happen with code such as: * @ x = [1,2,3,4]; * @ x = UNARY_OP(__tmp(x)); */ if (no_init && (at->num_refs == 1) && (at->data_type == b_cl->cl_data_type)) { bt = at; bt->num_refs = 2; } else #endif /* _SLANG_USE_TMP_OPTIMIZATION */ if (NULL == (bt = SLang_create_array1 (b_type, 0, NULL, at->dims, at->num_dims, no_init))) return NULL; if (1 != (*f)(op, a_type, at->data, at->num_elements, bt->data)) { SLang_free_array (bt); return NULL; } return bt; } static int array_unary_op_result (int op, unsigned char a, unsigned char *b) { (void) op; (void) a; *b = SLANG_ARRAY_TYPE; return 1; } static int array_unary_op (int op, unsigned char a, VOID_STAR ap, unsigned int na, VOID_STAR bp) { SLang_Array_Type *at; (void) a; at = *(SLang_Array_Type **) ap; if (NULL == (at = do_array_math_op (op, _SLANG_BC_UNARY, at, na))) { if (SLang_Error) return -1; return 0; } *(SLang_Array_Type **) bp = at; return 1; } static int array_math_op (int op, unsigned char a, VOID_STAR ap, unsigned int na, VOID_STAR bp) { SLang_Array_Type *at; (void) a; at = *(SLang_Array_Type **) ap; if (NULL == (at = do_array_math_op (op, _SLANG_BC_MATH_UNARY, at, na))) { if (SLang_Error) return -1; return 0; } *(SLang_Array_Type **) bp = at; return 1; } static int array_app_op (int op, unsigned char a, VOID_STAR ap, unsigned int na, VOID_STAR bp) { SLang_Array_Type *at; (void) a; at = *(SLang_Array_Type **) ap; if (NULL == (at = do_array_math_op (op, _SLANG_BC_APP_UNARY, at, na))) { if (SLang_Error) return -1; return 0; } *(SLang_Array_Type **) bp = at; return 1; } int _SLarray_typecast (unsigned char a_type, VOID_STAR ap, unsigned int na, unsigned char b_type, VOID_STAR bp, int is_implicit) { SLang_Array_Type *at, *bt; SLang_Class_Type *b_cl; int no_init; int (*t) (unsigned char, VOID_STAR, unsigned int, unsigned char, VOID_STAR); if (na != 1) { SLang_verror (SL_NOT_IMPLEMENTED, "typecast of multiple arrays not implemented"); return -1; } at = *(SLang_Array_Type **) ap; a_type = at->data_type; if (a_type == b_type) { at->num_refs += 1; *(SLang_Array_Type **) bp = at; return 1; } if (NULL == (t = _SLclass_get_typecast (a_type, b_type, is_implicit))) return -1; if (-1 == coerse_array_to_linear (at)) return -1; b_cl = _SLclass_get_class (b_type); no_init = ((b_cl->cl_class_type == SLANG_CLASS_TYPE_SCALAR) || (b_cl->cl_class_type == SLANG_CLASS_TYPE_VECTOR)); if (NULL == (bt = SLang_create_array1 (b_type, 0, NULL, at->dims, at->num_dims, no_init))) return -1; if (1 == (*t) (a_type, at->data, at->num_elements, b_type, bt->data)) { *(SLang_Array_Type **) bp = bt; return 1; } SLang_free_array (bt); return 0; } SLang_Array_Type *SLang_duplicate_array (SLang_Array_Type *at) { SLang_Array_Type *bt; char *data, *a_data; unsigned int i, num_elements, sizeof_type; unsigned int size; int (*cl_acopy) (unsigned char, VOID_STAR, VOID_STAR); unsigned char type; if (-1 == coerse_array_to_linear (at)) return NULL; type = at->data_type; num_elements = at->num_elements; sizeof_type = at->sizeof_type; size = num_elements * sizeof_type; if (NULL == (data = SLmalloc (size))) return NULL; if (NULL == (bt = SLang_create_array (type, 0, (VOID_STAR)data, at->dims, at->num_dims))) { SLfree (data); return NULL; } a_data = (char *) at->data; if (0 == (at->flags & SLARR_DATA_VALUE_IS_POINTER)) { SLMEMCPY (data, a_data, size); return bt; } SLMEMSET (data, 0, size); cl_acopy = at->cl->cl_acopy; for (i = 0; i < num_elements; i++) { if (NULL != *(VOID_STAR *) a_data) { if (-1 == (*cl_acopy) (type, (VOID_STAR) a_data, (VOID_STAR) data)) { SLang_free_array (bt); return NULL; } } data += sizeof_type; a_data += sizeof_type; } return bt; } static int array_dereference (unsigned char type, VOID_STAR addr) { SLang_Array_Type *at; (void) type; at = SLang_duplicate_array (*(SLang_Array_Type **) addr); if (at == NULL) return -1; return SLang_push_array (at, 1); } /* This function gets called via, e.g., @Array_Type (Double_Type, [10,20]); */ static int array_datatype_deref (unsigned char type) { SLang_Array_Type *ind_at; SLang_Array_Type *at; #if 0 /* The parser generated code for this as if a function call were to be * made. However, the interpreter simply called the deref object routine * instead of the function call. So, I must simulate the function call. * This needs to be formalized to hide this detail from applications * who wish to do the same. So... * FIXME: Priority=medium */ if (0 == _SL_increment_frame_pointer ()) (void) _SL_decrement_frame_pointer (); #endif if (-1 == SLang_pop_array (&ind_at, 1)) return -1; if ((ind_at->data_type != SLANG_INT_TYPE) || (ind_at->num_dims != 1)) { SLang_verror (SL_TYPE_MISMATCH, "Expecting 1-d integer array"); goto return_error; } if (-1 == _SLang_pop_datatype (&type)) goto return_error; if (NULL == (at = SLang_create_array (type, 0, NULL, (int *) ind_at->data, ind_at->num_elements))) goto return_error; SLang_free_array (ind_at); return SLang_push_array (at, 1); return_error: SLang_free_array (ind_at); return -1; } static int array_length (unsigned char type, VOID_STAR v, unsigned int *len) { SLang_Array_Type *at; (void) type; at = *(SLang_Array_Type **) v; *len = at->num_elements; return 0; } int _SLarray_init_slarray (void) { SLang_Class_Type *cl; if (-1 == SLadd_intrin_fun_table (Array_Table, NULL)) return -1; if (NULL == (cl = SLclass_allocate_class ("Array_Type"))) return -1; (void) SLclass_set_string_function (cl, array_string); (void) SLclass_set_destroy_function (cl, array_destroy); (void) SLclass_set_push_function (cl, array_push); cl->cl_push_intrinsic = array_push_intrinsic; cl->cl_dereference = array_dereference; cl->cl_datatype_deref = array_datatype_deref; cl->cl_length = array_length; if (-1 == SLclass_register_class (cl, SLANG_ARRAY_TYPE, sizeof (VOID_STAR), SLANG_CLASS_TYPE_PTR)) return -1; if ((-1 == SLclass_add_binary_op (SLANG_ARRAY_TYPE, SLANG_ARRAY_TYPE, array_binary_op, array_binary_op_result)) || (-1 == SLclass_add_unary_op (SLANG_ARRAY_TYPE, array_unary_op, array_unary_op_result)) || (-1 == SLclass_add_app_unary_op (SLANG_ARRAY_TYPE, array_app_op, array_unary_op_result)) || (-1 == SLclass_add_math_op (SLANG_ARRAY_TYPE, array_math_op, array_unary_op_result)) || (-1 == SLclass_add_math_op (SLANG_ARRAY_TYPE, array_math_op, array_unary_op_result))) return -1; return 0; } int SLang_pop_array (SLang_Array_Type **at_ptr, int convert_scalar) { if (-1 == pop_array (at_ptr, convert_scalar)) return -1; if (-1 == coerse_array_to_linear (*at_ptr)) { SLang_free_array (*at_ptr); return -1; } return 0; } int SLang_pop_array_of_type (SLang_Array_Type **at, unsigned char type) { if (-1 == SLclass_typecast (type, 1, 1)) return -1; return SLang_pop_array (at, 1); } void (*_SLang_Matrix_Multiply)(void); int _SLarray_matrix_multiply (void) { if (_SLang_Matrix_Multiply != NULL) { (*_SLang_Matrix_Multiply)(); return 0; } SLang_verror (SL_NOT_IMPLEMENTED, "Matrix multiplication not available"); return -1; } struct _SLang_Foreach_Context_Type { SLang_Array_Type *at; unsigned int next_element_index; }; SLang_Foreach_Context_Type * _SLarray_cl_foreach_open (unsigned char type, unsigned int num) { SLang_Foreach_Context_Type *c; if (num != 0) { SLdo_pop_n (num + 1); SLang_verror (SL_NOT_IMPLEMENTED, "%s does not support 'foreach using' form", SLclass_get_datatype_name (type)); return NULL; } if (NULL == (c = (SLang_Foreach_Context_Type *) SLmalloc (sizeof (SLang_Foreach_Context_Type)))) return NULL; memset ((char *) c, 0, sizeof (SLang_Foreach_Context_Type)); if (-1 == pop_array (&c->at, 1)) { SLfree ((char *) c); return NULL; } return c; } void _SLarray_cl_foreach_close (unsigned char type, SLang_Foreach_Context_Type *c) { (void) type; if (c == NULL) return; SLang_free_array (c->at); SLfree ((char *) c); } int _SLarray_cl_foreach (unsigned char type, SLang_Foreach_Context_Type *c) { SLang_Array_Type *at; VOID_STAR data; (void) type; if (c == NULL) return -1; at = c->at; if (at->num_elements == c->next_element_index) return 0; /* FIXME: Priority = low. The following assumes linear arrays * or Integer range arrays. Fixing it right requires a method to get the * nth element of a multidimensional array. */ if (at->flags & SLARR_DATA_VALUE_IS_RANGE) { int d = (int) c->next_element_index; data = range_get_data_addr (at, &d); } else data = (VOID_STAR) ((char *)at->data + (c->next_element_index * at->sizeof_type)); c->next_element_index += 1; if ((at->flags & SLARR_DATA_VALUE_IS_POINTER) && (*(VOID_STAR *) data == NULL)) { if (-1 == SLang_push_null ()) return -1; } else if (-1 == (*at->cl->cl_apush)(at->data_type, data)) return -1; /* keep going */ return 1; } 4\MYmjB6gP5![ ʔ~SLppοj_G!R]fM7փDT)=bx%)sqj8ov8՟pO}} >RAX1k[POߑgG)~fn@Y<~䔉A†_j?W\YUAfC]cK im Ηv N;縀z@]SMٛ#k: pyUzJ^'Ŝ%8O= ՝^ʞ*\ k7-f^]V&Zga.(S ;8SɏQH5[Si|AG@Od^w'6͏cB˿\7w_8qa6$H!"qWvL4lGmf "$ ݽ~ըkjQ Sw=9:*=~$O^fC D&Dm qv9Rq>[ҩF}Dي.|zCXJe Zz"2uS!ᙸ'Š6rB.օ]iw)? Np8t.ɆD#nk[e"IlJDUDf`*le A9 dXܤ9` B;W(o(mv^4!:Bx~|)Psr&(R~}0GH-g{D!;4# T:)L%*H:5(!-2أ&W"%GTTWY0Hn\b՛!7W Yg`\k6ŝO<:a h¿mTxgDj EK5/fF4l 96k ~/IOP|4.W3BU9 fs^V7MXV,ÚT(;RQJPAS<6ȫOM& A}iy KmjJf`#[RwSq2>5b~2vaSDԎ_/ggpKXzX!a*"ڟFӆv"mOeD`0O\R16*em]D%:}i[6߇D"߂&Hi.VGߕ^[5>M5΄%+ Pi/O+[ck%6쏴[Xu3t%I=s'_tRX͚2 %,3)gd$G5:*4sN`Xe1!2$SrkIAsH8Ȳ#KW LY=nRkP?%cFG.m6maP_Ei<@$ ni oAR,UN-*|T/NaKŸqh(0&5~ݞ!'tMĠVe^Hڃ I((߾Rǎ;{;<%Q@QY{ap[Ⱥ *Kއ-̅.Ԥ 1ShdJ `B|,+sBP lV*)bU'}Ʒ0wΈS=~!F)iz]I'CZU.̈́ BfvmG|mzya<̨ت\\:_*eAX&Jv; 6EJڶ73o QTVh6V1P5B7ƛ~˩ң91F):Vd#q oQYvazDeNsuβ1IK39\/=b?N)R1bn^ nd\k0+81zEv@2vĬ G0OxdL܀5)z jJHiF0=eC{l%&Q=;*|ihBCU!o7m30ew_咨n75XGqX?+: 6cl O&cuiʴe<_͓أ*NyQ (؊]^]Px+zH'3*02WUdUk}ś[] 8Fu?+T5VO1".-7 -+/T91j3$dX|Y\uTvtRP uofI􁟩%L<۩3fY C9YR}Օ_[YuM%SП:/2r)2{6|mj 8 ?2a!R@JC ^wɟ% (?փ9cFZG؜,}Y? j};zbW46TEu972%dfQ~ Q͓6q$M "Ǝ#NdXW4 礅$B w&͸ <"D`'w|6|lq'o!CݟQFp`\gL15Αv z1T]506Vk %9ރT)]-9~n(g(ZVn'y^HNjXq,5SH)Lxݛ>S1 /#Ua8jz`qP1D(cr8mc2G(A0< L!tdz,0HeF, Go,Nׇ%W ^ Äidg/ThTcxxbVc ,M-Ս'mM@"Iȅ.T;y4>Q8^^2I҂:0aї:&2#tbDy. |4BSVF&(q;ՂlOBN[Нu؇\mGwSot%ez&ƈ ʂ1 iqasYJmWԔ) G] NJtB@ɋ׉Qw |%A^7v7kV Xh|`0ſl$M%$iǟ OW,@g9?NBhe۔[9Օ|]@!Q> c\oJM<3?Ոu-Y(wlG?zBxs?rCOs+_3$鈲3VgS~bf`!$ٲ-C;v Xl-fwh?@EYi3q -6CDieӾN BUD w|(gt+D[.]]ZH7v8֭8ûG{:E2Cn8>b3гDZ#]?tq&wgr4ԛ'rYg\hnЄ!`g;ӹu&-K33l[9oʨe*r"j$J8M(7܁ţO#yMnF[ "kDDR߅^\wi#ULh<4K@PLVi+Zsܼ=~1f}fVlAQudjD6$HqlO f?]l%'eI rsٌk̠$wu<0]v+xsG>doEZpTKv'Z#srU"3B BjZ$͖ǠaVg5v!{E堜[x pyA2)yl?hk|zRU3}97V0}+B*n/E}9r V)82A4K&"#$m.Ƒ=ݖ?MТI|L8n@[ٽ Y¶&qI96.|dVwvrq)f(V 5;WߌR~5YbJ 9}L3VaT}p#m eeW;edPǢ&'()20`RAWLOIvi2'wh /W$QpE :ΕgU7mCY5T{ǿS0i,qSMQYS@ !GǸǹ pdX ;|u=EVkzd9ӋŁV([,31'P5ؽ{ u-@5Y@/T8ʓ0 !6(ߕ.7o\`?M 4_tD>(NZҊ%1#-s/ouNWDbЗmnR~eq^D!ڞ6ڇv=p8˫+;hƿ`M=χb({hf7tt)"~5)?B@To6'sOUoB8S .x(o&,0&͒>+8%HZeamn6Ҽ0 1])2h+ FIVa q 8 7M:3%!zh!\uAUI͂j\*zʴ`>Es\`=J" #CɼB~cG^KlXRCr.?[MVOvŏJ=D2qVG{ZŶ!J=ZT Wo~8:EʍRivh]c\n$&SW(S3m-~"6OE,q%N۳2Rh(k:\י{5?MƿmkP?^'ߘT`N=k'|wzCaz/ !sc{>VPd+`S{%rW'O8lZ @&Vxdh0X[kuT-+o,7)˘AMVZ@(`= 4JE+bd\2:f` nql*3 ~U@4$*E͒`ʵ $ef`TiOvOߎx(FZl7gLmot!|֡R0avN!_XC,5Ἕh1vx8y5Sm%>~+󫍡O?~sriEs,Vp(1)@亀VEFʏiܢ$ݹHkdpaژGuNin ~ /z-['6%zkN {{$~JgR<4$N`4^{ۤa}w"CBXYfG/\MԈ]sx;"[!T7Mqr{B4GRs${9T$ANH$:#jw8acrEZۡ/9iQ@}밥4rm&b>Z!f'E(i_j`e 1~1,$r`5^'NE +Ze}'@nH=R )U%&zHlv&Z4X;n'gug18lIQ5-w }j҅i._PyKo4UGE'þɪ~|hi^Y#OQ(fn*T;cm8Fb! DFxTOWJPSI;E#"\RBmH&-tR?"0B`~/6'w5Si>L^4Nxۏ!g|$J~@jIsձRe >ӘmO$| 1gtѪ6!][mu d-t z3?欳7҆Б!jbȷNu`8ݫ۝Wd)Di\憽y6O\5´QިQe\`vzA}F;yUNeMfH)XgG[(]Cd;-R* a')5}8D>ChIoQȒ֎I6((4$ȃTMQ` EdwS,CˍZ8줱{ɏ$Q2Yͻ *#I| a?yjO3!zj/mdcXۇQ7d:~;+Uf7 zR+@V-~EVSyǸ_aOoJ쒌l$ρ; H姠ruQ9912%̕vd-[x3=<퀅zZNw4)Ït*V 5o62ŕ<O6 zFXgMrW: Ӄ'4~{{f=Ys;,YC"S:S]{H%AT5nʧSmlYxxfz$%GRM爪{G:A|#q4!E TCuD9W#k'% w39m V 2. HDEG@~t`}En&{%y.U-R3A&g(og,QYJB!M Aљ}Tu% =28ɚ$G9`dz*35@䡩GW%Y3xT4S7IF0xш]q(WS#'^)sYׄH |sACY-Y3ʎ+jסgxji6IdDDS#L~5ϨiHKJ^VA)|np hpc@5cX(X!Mޮ7G,mHÿMiwu!,quí?9~V,Cq||·Y 1{4WՖ*a-u\"B ]料au^j⁶xч7T^ E%FӨ_d'+ikPc b"0| 63Cb~_v.֎#bhD> }K9+Goϱ{ {R /nic Iw43HNZ ţ ;V.O<3q$:Oe5?~,DSA >> .LL/4fT뉬V]ri-IVXVێ؊36EU#~[7DCZH|qu{fP8z.k~-%.rb{I6bhHc {SQpUy;̷C0\bv,8!ZcGxX9YĥW3i47;gqٛrxJ4d2NC9joZuĠB8 6:G-u11Y0=:SꟻEZCzz5FQgq U^fv0pߌ.5poOt,pt ;kLa߀S**V>&T|M ^]he'LZ0>Bl\1EwOodƺFZ8 oЮyphH[֐)fps$IG-W*ԮJ 벁Iズ=Sh_3l1Q[Y/F}ڍaY ˲w%!w2U8ȿu,)NM.{#8M_Ogl4qיXc*IUx7ZW↡mtWR&mBkm":" 2ݸ~i'2ः~4Up^WU2.Jda*d-䭸gid;&hOecqظ= [/Ty/.#>.GAVaVCk-vw61:g{VB3Ivx{ hnTYXˋAQϕuNGi MA2y`N[S.š1BY9)Xvۂ^O8OqGȫj tsr~rMO6NƯWg?LmF)uLSG {`2:-[-̪hmymn.zP@yx%,TI۔A۠bbŠ9?Τ-fyP 6+& /Ξ}|`~bO*y+|F`,YM@q:]۩. ?rK~t@sb!+l=|q H7M>čE;lm*0NAt=2%-|:YZF^΅5WG?FĠrʱþpجMEꉟSc3aգFJM<;("=lgR:B،qy~w8#ڣF>ĥ0I(c}*F4QraK˙*#,3!?_7[ԓY*,jI_"{ikBT5tG <qwcVHR\ޗ94%~ Oim֜>sm~2!W7R$d4Y?0Tu=s4Oh.$얰y3s>H=ep{VQpDkWh@/`Ud@a/!v.߻97_dž1):޴Nai\{{ δ~C )<"†gހM'|ve.^<)Ceұ2N Fhg,B+@)30[Cg U:f/9)d1y<\SVSqg݅/dhBƔv^ LQmE?s]6.SjǮ4qm !>uh~KkO@ Z_6OFցRZC;V j>ѩ4/#Z,s|Z,a!&ͧ=&YL.qDԙ Qp4널<7kW|PrMpkwI[L\=[/;ϥ`EV8P=r$]`uCw!ůʃfY0Tmw`OI6~0Dj0ːhG<.{(-k!u+ZT=fc |p-M Q;(>"~z)D:^h\+964(ct(x:j417v,-rV@cQ]yF <.yY:(zHCX<2*/LhR&u<ފ)e S!T8QwH!- 7H+!sy֠!u ." Ku<.-&p f;}Ѿl p,J1dvUf;D3=C q+;zЋcI[tF&es&=2jp fإ\֘Q8^Œx*(+?krs%U\F>Bŏ*t^2C - a(o!X0`6NW y↠ozV u½k)h" rf^(,ؕΘ#E=g_uB3 (v/xL؂CRG_!.ÕPl2o jsHm]r zkgK K:xkaV587Yᯁk[ W?X2+wzN6`TTuAGuLn_@b3_.t3ɀ$)>@k*S[TaG;=&+EӺ'p񟔻 fAa _gKH ԠoҴr"¡cpok  9~ڤs$ L7>$j1! !w;‰d+cxl9DwZ> %vT_ܹz?dnSϨXDZ/FX: 6y08C'ӴUF-ynf]Y8WHҮKE̯q;`U*$50ms I(mEBmLl` W<|9{G"xZOev("HfqP %(ḗgq9Ka'ivP̈%E7:wN Itj#[Pcg\BIe0:/W0.zg1rDa:|o(dza@dKD/F_BKfŸK-9_ThИţ!֓xїJm7}Ps&9Bvxy(PǴ BNph=*cYȁ&~v2əYVE_Tԏoʴ809d^K-^[,llҊPg.olqIԭFʏaCBl@yc쭲}eU8 )KL @nW mʉeVym f.m(3K@iiM XǗ1ԃe~h,PF8VZrU"Al̻=o򸵈fu2NIXlR t4,:g1hJ f_YZ;oK^b]gtR;{X n[z"6W76a|s>lR .O=)IZ+7rϥ:~2JUI;thr%u+9;xG`,( {NWWg@Kپ0z51(&[Kֿ(銥;Գ$g%2Ļ 6u /po=TKϕy&h?.R ?5ћ[:FYAb:_sc 2ycW#,[tDIpȻ?%-"!6E'DZƈi9%F>QBݓ 7 ȉ6t+ hrq,07]r,@$3[7aB_@2>,̾ Eur`e"BRfxrS):h`Ր= IpDZ9D]~sQ4$ ŠTu3ghxu1#$JMAԂ=Joi |LU]B5!C`UBmtؓxV{7 *Rtk喞pJAu6 )o@ۤ< 8;]\w77kTJ6-8hG˫t2w VkJ/,?+pt}9'5z"9~J9Ե.%l5% :3mqBkG( G7 :ຬR>I7\~ d_ C5p e'ސ*>.ȞP$ԽUJE? hɠ.@ $k[ g{Bk_(#G=sԈ4|enNĞY5A@*X%ξf)j^Y>֜s⬃Rɲ|߰4=SLƐZ_9lr/ʀ6Y^ԗTX9ژg$A0'b%"(AEQټlL`M~}NƁ=ƓNn8_g#4$d+13Gܿ۽2giavs3ZjP"1SXWy)xdaW]N?$9HNeUwQf;-,:#1mߢ*4߽_'o95`ڔg ;L#mJvװM.>=h8]Tq_Re [bAKTx뫜kĐ#/XRx|)oOާ}] I5 fuA3mptM\r,:R(W vzÎ/=nۛ%Ic$? 1 @;)V`~E|E^N{OSDE!XhJAzT\A<ܛNKF3mq/]oWo&11Q N.Ѵqa"Pɍ+R }(\96Mf lp AjB9|pw)z0M;FˇE1%^zv5o`ⵘFQ~!qt꿛<ݒOs D,.;&l6v303K6Iӊir.eiXC_zW^;cWОq]CC(ܱŮYomDnTHMN kXgͩYe_9R A@CPQ g ɧˆ,$m h*ok$ӳUl/e  [p: ?!d[8wc0{x B?d[5xQ`PSS}b6EߌK35 [e/V|!5*?wRwWNK`k{2r\ xZE[9 @4 g%s$u8Z6|vUK.$-jS%UGqܩ2;i@Y`M/6Km ~zg{4y-Z[|zkƭU\S>#eo9כo"[oݑo' XC r*-D2HCI3țխa h!Pp2GvhcqNgJ&dIM9AB@#cS הp1Or%g᫗w/?z#q¢Cl 䌃5qpc|a4T;Kz"h2QoM\ ,(jeh>K"-1.Bګfa!M\j]5s,LD2Sӈ 1Q܄P 2B(NbMg\`AKo '͓{fweX^FvRl#QgtT 'SQYKo;f657?MU$TԋkvN)*aL z\)=zY ׈ꀏ& a/|40W8;m52ޜ;Urq(EBk Yp[X A]0S ?:BM5'P!{ :4zUp Me4UmQ"q-go<}G睊1 -8:`x`ҁn:9D` 5װ W6R?߼zlB>6LVUA4_1G^f4+pUC|L"_@ӕoE6@C>{I7> 0zOԌ'YYΏ& X, Z]; @1=jda3r)iFyEcƪNL\1`` kDXGa `1;}xSt\,"6}0Tf4hNb^[pz S{يlG}b6@C*&K_y#pUH6~m҈ αyau1PS.Gnfr9Zmj:qN 7髷'_F1o3Vzk9{;Q@c"}`7>,%TtD}t5rdu'',NX}N&@ou88W}a[&L EnO80"Y`ذNuTLFcD)z rXq&P|/4,rq^*d :{U!BYEL02=j~oHL2ͣr+%"IT`^[ Q*&Xw{/lPθݮO`&P=>71A.x 1X\xd@8DC>$JۘO.v"o[!CdRx#Ӌ>E7lp(xUB0 ZS ~uF9\z:%Ky騢9maH_y'2ޗd2К1w%TT+Lٗ҅A(Rw*da i%3)70ë]n̫)sԵX܄[^Pڻi M [&v+j0oKȻKh.-Rh/~͇̲BM`ڳRZhv_oj =oIv;D.G@G1KIŸԂLx+~lS* tڷP$=gtyRFPHFF`!%y(]yV86L *M8!NԮo ҇ a>CJtWjΗ[ỎLO׿n 6Ӡ&T'|]{\K#NވCi +3XCƛ%NA;%ƣLDԿbQGd)<Z~Y&xUg{hJP 5 5Vg^ sKڼcjc&[ zakG K5:Q+RʁCQ;3kݽ+6tGXD%%g $5g|yU3hjWsڿ{tp?@,+qU}qQ;};dup7R4Dt@Æn]+2'_;Ue ^{jņ쏨Le$Ќs::_ͤ)ȓu^ck,0G!.G>NEs<5C F@f ?geŇuo ]Xp ,~+TH<0ڐFwԷ)<Z]+Nb5s|P|' %م-xQE Г?XBo耊Q!D2sECCZĻGx^Ȫg%=肱M 1(S 6_11bA!nǦ(t3&9[a7@[Aiy8ޏӓb |=zy$Yqe4:p1|+QF!*%R0ƚ8ywz9ݚL?P F i4}?:gA,orǰnj1|2SVR8{s>wsx 2 $gGF\4(˩O>:(O51Owr)q < B@NJ76DYq.eWvAJ(rZQ-:wmKDQ a,&DYoFɉAIXxZ٣@Bc=D}Ou!$Gz|h8eW(Ye<y%n9(?:g.{+艏]+: |-etw"ֽ82򁍦RS;pA .:gW`2GK "hY1@? l ˚ȄO ffA1]uWuZyxë7'73#lK9#{j*XiZʹbds r"' ,Bb;%;ON3톼"F>Wϣ>`7ZpAWΟtƥ8;**0CA.yXʆؾ:z12egjI_EEy,Taj^V'& pk%Dl뫄<-{wau3Dر!vZ>u}6z`#zXՊU@06܏wE.!zy8T]!⦘,(f:vsB'ybE{SV3I8[$Ur6Xr|ZjvK͑"gaH#`E*hk"2mYwOr*Io^{9>_,2k> i5Rr5iRUnO?ϵcc-y,D(a[nE쐤"w I6,ulwԃ4^~K FMM: ikL(?a;F>BWb7r2 R|#GnݘnͲek_UO}k7+cg[y@;k4"Pi`RA5Z B މJ=NJF/Kç1e-}gvS8ڠ)z+%y.*j[Ӫ`h2("El!!ۯ~ND#>6lȧ .}˦H6~)P%o'q9JC`4\n.sámE`[O45c5\RlrrXHN}~yB-,R/a5"w'@XX\E}!t-7c$J;뢯rP4Or&9)8==-MƘTQ6JfhI]|~hZV_eOV#kxN9]o5AHG&$DĈgE dmaQ(4g}ԞiIz]u!TU٩FTwj":%ؗiF`BaZn^#JhGς"2)Ӧ9ZPoM|h#~hVIm SYvl$ TV%HUVx]٫Ϙt^Z_n2jWwo #3 #JDm5&$ ɗ>x"5H MjbVP eIɧOn5N*{FyBEqjXcec?Uxaو`tn%eDYB3r%WŝJG%6'97O/.} Ѣ39i0b-uPڶ^i `h>叵NcAz˖fgkz%GcxDn**[frc/#ͮ[%%jusa8x4A@oBќ3mmIFYԂuY-D[:A{m|jk= oLOĤ'P*Ϡ:ϴ*O%vgW0ƍ\08/qo7",eq\ 8mN@:nHOJ(rTR2+o6dM2#s7z u1iGH6e 3|1;,T_~$-EU~vXu-A4\ODNA%.f֚Ϻ/Az}mq9KiU>Be5Vf+$ΆFLGQ[<_4܊HbJ!9Y"汋ba[ӪHQv pxAΆOƘg`ᚩxqB4Mze&߯L'<&ɤTVZ\ͅ5SQligH刡e FYZk3n ŕ2ybu}:Pvg«~UbND^YU5LkfI @nʲ29.6~58l<Ŵ$]E Dj-M`hxBŹ"s<|)[~yFJ*n+\%iĽݡIi4T}N[:ka<3:˰$lNg\ψ CY[G6EQ;gOח!gI2?OѦuBK$ @^mD s6@D{0s/JɁјF(s ) u2Xy9 !MjVkRf?R>~w.2>vtrSW|Ǧe߷wMr~96V[-v♡=}eXdcdGK I!^cҢ/fehɪZAo&XWa纰W/`݅)vd0 >2$7ǤsGӖ[*~,RzEuTC[ǹ/S]շQ1s`I]+w+_ q<9(;7̿VSNrv~:\,IkzK1jݻ:%>YQx#v81S+%LIP𭴺2úk+) @k(*QDH0}1~$hL'XqW퐸LLEL"p` 2w2?Ջ\v[w Zl S>]y4>ɑlƽ,i:3^OZ+WZSMVP!"CQ(R?lW@*VS|Ml?3tTuwp#n8f>L O*ĨQ J^ QDy{ޚnJ<~?r!rWSek8kyDWǠ~ \c @Y=yzDӬf Reœsh0;8f$oF"*r1}, IF^ߖdoE6ӫxF/uaП ۼ %s:3D&ŽJEO咓k_9p_b`'Dr'ip[U Q\%'VҺk,mN<9F Vm 3ƻQ@2gs Vw\7t$v.;z g@ܽӑbc U0kh/h8 ǝV1N*L7 ͹'eJvkd0"^k;1ҫt|`Eao:V@s+cGlco Etak3Fؔب3ݹqJ[hHv, "MWhk u W?Ħu_Sp"IMբrY¬nq ւGˬbs0|\miB' 6M/y W`tuDQ;3؏hWM ѹYp$?#,Lcړ.Q%+6Hb* o?g%#{f'()nE! f{Ϗ$3?6~-A:V¯0Kf_*y 5ǧj)[,AR[Cu }xN;ӎ{եt&Z OIHK^G"Q:S 3Q뱶 qv!#$HFZEGZzsɷK{tȯ:j]{] eK2B.EM?ةKx@Sd mR^2{X菭J;B5:a$mϴIWqfzF$NN5:lI'"k8Ƌm V; ǾN]& YQ[-\7a"|K%iAuDV^$r)0Qv44FO S#(9'ВWYٙ Dث-OEaZ.M9ʓݎAdvel Td@􎩳a.F[> I," FeX#djmh-EyK#ӬϮbJ_pُ^od"~P芞T]9hʓ%c4E Ȇ=8=P8È܋Z[H,=ߍPѨj! 9ߨ$}bئ Icn /,u0, d囘+$l܊]J*!.ǚ 5Cє5%d]qIܴ}gmn 9c/OfL4\av(]'>;ԒUr }95Fwm+u;{ "Atoט&"9fW"\Z#]4' 9n 7/w:lLz'H;OiR[+lQl"C C 60 #LAoCChJwyQ MHeq{1YRH:ktry.ZIˏ*JjҢ#?䈍"$ī !CXZЈLahC8cPls"l@4>3(Ey!gIogqrbӍ8b_Rٞ{V9@;.f=`?+) gǓ:UuW{TҪ7a7 Wbm1JN$ -ӋB:\eiԲWO!و ʁľ0yhԅDP9q oBT]5]4D/s_3qGXkOI\0ƃ'}Q3 b(B\w[2ʞU5ogi7L6U3*(Rơk|Ĺ ]V.QWz@N5IͅYZ7Y í"PM+jJ?'6Jg[Oocʌʊgx`i("ԢV7k3:1?N@ꐘėT +yuP)X $ת":-|D68n*B@49&EUGt۶ o7DT%-cX69nYZ5?76HF-ZS_LVMI%Bpd)0UKDE)@tRCS^ne!!&|p CK}vWA{QP,G<^ZXuEr}+m%?* uXuG;0H ˋPu@-s˗{+,'RO$Y!kA? 9yъtٻv7Mim /*,Kų  ? ~qƎjyr~߽ (k\YC&$D{!Vwyqk\ -(pr[cX+#l$92낤)l6^~驝6c$Xd d' X4AOP: Q=.\XA82AWdf?ItF>}ޕ"eB`d~p>`'W(N`oy!J>mDY$r0bQ3C{2 KlOYy~o{uZYL%Cm~.!~g^"o1b:buu(}H1 \uY<M;!>0!x@GfjJ}f]p%(x;\hM 8bRYWrݷNزfK\% T'; 4;(,cw-(&ACZAVݗu(A+s[S-+.oyc?2sʐ]*2}{9~)C:j$?eDSyN֏VvSiE!kܵα m;]TaY/i4U -hAF£2'f>صi sH1fKA4it ` iٙzQBKߓF>[;0>=*Kp!.؊`RdG= ͆lv┯jBpX;L2lcnuœmA"@JX-.Xtpd)l2} v~WYtYʢg|q]og!NLSBUDtxvI>kRA$9mcU λ#z dؚ̦ &*NjL0A7qt!+èmzya>l>IU{C{Bs.bBH KXlY}'-Wu+e}? &jAL{'1mgt#7ɪ}]SV8qR`mpD>XEq -Q*ziY0FWn(B$-,m <1${hE)/|0: t O`#&ypk>,яڊUTK]"Ǧ/h#z[Sc-L|vgFtvU[ НDG`ucy0nzFLD,UPR|sչc oҁAAHT#~W(wj"z1,zz.EyRJֶ, , *m BБ$p/&DǡF^{ݢ]#'zdH]fiߛ݌ N-*.'LۣS!ލk,sf ]1M \uIIx +b5蔜]waX|=?lwvRS"0&}tc$ m?vV¹B]y8SF̹\#j>Fq4r?eƦg[bEl(2p Ek@R ܲ%heY̬-!oRvA\7FTm=W&ڕCӠ%0XQzg,Vc0:JêUa=B/mM5R+Q./Y/R#7ES QyqLŋ|םx*5Kq9$0ݮ̠BI ُ*~p8!yUJl,dJLp} NX!Ha NGx]BC(+;}-؊^:fmM>(*}_OXtSPfIVCpͳC~pz1 iwaE9E˿H61ϟ{+-ŢfdBJgȳ6rVpWqǥ B#i>.*{׋ qW )=M΃8MY t1C&@0l>2}RSƼ刮=F[=pEs}?a{X˂bj=Z^ f_狡)?GI>seX:ggDON]y Gh%/V6 fjѾ']"N Q3zk6b| `$&ahzHLGʲm,pc`.a?I$$4f:cz5I,(-9P*e|?CƃT1nK~vW(*4\% +~ &.)(k;`fip)@i>U)hauI9.<X@x&׫07c`h!9) Hk~嶎 4, NH:#6oQTN= xӡY-eFI+~&`hGwy> (Lr8fSik)[\Op.'m}A2 !}\!{E<>d/e^錈E!i7uXxl9{RÇM$z;(2SN~ rV. d3 /WIaSzX)*W5䗭EkV 1\$t+9rARCP%Q4巵_Jљ׷T3/{ӳ(@kZdT*Ӆ}9L*;;&:#@]oGsک.8%]+; `UBlu6{pOHȤ~s2Zox|@9A}|X,;7+Rhu9iT|c7ZPnY9j _A>Y;x 1r@饸%yv25; 7]P d@[#n\sQEjVbJ{%Ũ/j8=ܕ'F3OjOOTkZL`z-ܟLÌ՗Bw>vQagѼRq3th6ҀB@lMŰafu@ 0dQ-pCS뼵ZХ/R cr%o_Ƨ`房)UCs9;׬Ӯq^˨\ '7uQ/# r`at [[LxOd)HC;4?/R҉~.T!SRU.07\ 9"bQ20Qek脳K9-qBn:܋^p35Dx?r uq|>v;i4#6YH!;Ȳg#:[վ!T]_|B%R_S F 7A9gq4m##a4USI{"$vBUր:PYe@vT$Zh _Z779 _Z@ :g9B`yGƱ? Q`w`JC`bSfOo-.|O pH/gtiF4HKp=Ձ(bQ@LE ȣVuOJCR'1/x Io;PhVBfdYt:jxA#ZIm& M=C`nh] jmb/>lY5:Q8 lƥQg~(;anrv\9u)5J7Er6Ri@J&7n.ܥ2ƺNd]DX.qͤX 5OywqJf1& (1GZ*{-^7@_|=0N^QxO<#_aA }*<̛YIOk❃+T#R/7 N)x1At+ȏ$hm.ߘ‹sk^8ZdXOLHMGԋ  4TuMYX1Ck,Oҝ[ pY$QeXdaHi9ʹ!@l6)8}Wxi# eׅr}K w['@uY6~l Ҟ46m-1nQhRH*<.-ItבP6c/OTG>.·z}l`_*:a pnB9dt2 P ,BJ\|ňxOOSb1KRȅ*5gn<|r76'}E{2G$ ay?buԻH' EκX[~<߳}re%6a9ϡbǺrIm[>lcwKJb@X [.!G:Wz`96)v[>YBz#zA!g90zk^lȽFFظa7:;W_m]`Ak[%VB؟+JۺY>L0S`th@ lh;"4аazu#C?#7|6/0+N9[96UE3&Q  I4jYZ裥[`s!UB"F7/EvvE,#9&>_+B9,MZFFg䲼 8) 4ylM" 9JG Y j{ |-XW3 {WfQ\EhP-UgI԰s[U…PTj-1$jFٝ{mwphL%[nzs`%esxblb!{ME'q|UPXۍ'&tr׬b6{&`w/ٶEw؏T+gRyhQZDݪ *nėR,-FXkj%8>ŕ9+UTt [M53iwUdO`YOFO-J7kÊ lVdPZ㫎O1$;5?gr S* %k`(v_fLYpNl7T"mu~nt֌35ޚJieTYD{ 9rK$5%l"\ѳOޅ/j9D-F-+n% -&75k ~UMI~d8!B~~ET}@kmF< Wzh4\ ՝2uO Ks^'Oe7QNMzs j"\%G'S:[$tI┳km+:%DIM"/ŝX3_ȽzLj%lͿb\nDEq)ͯGr!`"ydF yJӯl-DZpx;x;WyuC =RגSN;|:OySHN%AJ뜫H9芝4#Wq6~΁g19j!Ax=D1J%cl5*կ\Ba벂H5U~gBLE_tґ*n"9ghZL[MLtfYjUBfRNx5E|ve_8Dlz1/Y>lt}xzK1Iv{,{Og)&'ߓ4_vd 8zטo߶I?=Q>;e{3ȭ ƵڨPf8KJcAXۺ8j*Dڊ4rXs7NJ/UͿ]G9$ /Kh+} ]$ї%ccGum^ pu@>S/:MW8M >F[o c'&'&ІB6Yv ĺ7ne xO$7NvkVau/&)QgCCA~\8^?j { GV&*'!1;_ }\`vKo='%a/ƻت>Lb'l;ĉ5 ^n]Δ$#,c*x }%j\ɏqu+JaHY# ]^}t rɤE0igOfK 7H W J ,)zr?e[-UBzn닍W}U jE'⨞]QGPʶ8ݶMrwť$IBɛСZSc8@ Z"j!V@7f`r{|8 gJ؏c@A1(*;EߣLgCy;HҢi49N0? ٘&GY6R?̍Gtig+]>~aW~m@ z/9Ԫ9ht\E0ҺZK0;=ȃHv3<-,o&ٿ"GZ$wq4yD];lt|KeıT1n peyO]OM-ezAaت9߯ksBD~#.m4*dUL2vV6qhx%kH*UAz92'`)dHb #$+D9o@jn&>믷P>Sn $ֵ{Fǃ+O>[=f]&bCF]$2Tr !qQ(Xbʴ)+.~&Fӯ.h0Y+7 MvKR_׶ ېu$Q;Rjk:oیaզyL:˷֑{ I Hx|Jy5奕`ڛyG Af}jA _/ 5q՟J_wsp8&+X&þ )gu~TS;gi4b*'`WعVkj4]H1nc3j. mLE6PB Z:O`snfاk9 lT pp3OJzFI^5 SqU}{͑a2#Efۼ"gZ3݌y`@T!aл7_$> dKtړlH0υ9 ~2v ~kϰr)˒a/vJR ( ~RqQ3BLD^iO(!?&'+Y”PxϤ̟O M؁فv3]}(R ZQt]:af39ȸ2ch2kJ`LO3%C#nycwgE'ZUf㥯޶rHet:/:A˄Bʂr"_jmw v g$Y:"N\|gJ6Sw*pDˈι2ƚ7 3PX?3ZFETw_X?Xfkro gH( 3pG06ݛ -3c|W6\ʑDTϋ) 7rVk88̍0 ΄0mK2VAnl2,}KT wihƴgAc瓧6GeLϴhjL$BɎCm^*u#ݓCdJdJ/|Ԯߜv؊K!8D[p4X7Xco2l|Gє|ao'"hoY[pI9 #F ӑ1 Deѿ1ڲ ܛ;Ҥ ~̹ g[۾2}`319F65 <Xۍχܛ-ޢBH_IOnq KrЏUXiuT! ^A;-Xyyʙc#5vxwV6i'ASy)wGB[#ͬXY0/v@RalD.~iAGA|^ Df%cDVBV)3Uຶ ]$OYqŝI:Jtʹr2WeHm,ܡܟu J (wZ1./Q\7M!A,L,#gjgUPǦɖױ7aZ'aiHiJnjQv0iӤ[\okκPqKلJ;'DP%%@wxo5x460~}yT ӑ,i^Cl; Ewo˄Q8  8<ؒ\E[bNsIGBFw}yKD %6'5 4nW޽gVB"\LM >5=q 엮ͬOѣ8Fd9&A8n {a?ӋHyUZ-QIH|UC9`P_x@fE0|\ E QŮ`iQK `R6x~lh['-)/X)DNxi%NCPx;v %D ʾyAtM;չ}e- TpUIObԕ>lDE&ΠBw>g"\ %CFT3wIg8qYIQ)Bn;!of{ERwIHiAo$,]V>3xVh\M&r:c. op72R.P4 @5]3WoMz( B&>Gqe?YdZFku/",pJg'?FukRc]̱ciy;8=FK$~s4BeG++a~?^uXSoX0)ĨԵKLGI"z~ a\ 6F &4,\qh͆lI\|2w6&GOS!yS{n6/ްbSû{Nnn&FgPcZI1/AtӨ6ohSGh"MPՎ=`V{iZlP  0j/\6v-. pݖsMOr>O;d"=RMj%1MPHU=;N:^‚ שps\9%SIf)Lh̲x:3][=xyαwiۄLj3B\+#P7F9=YND?aTYI",~71; +O.%&` b֯óC2B9ɮ4[_E4Q(눙# ٯ'=\l^-aieح-55 g8&@$A }qzu%\έ{8g>W uw,Q*7jN'9<E+ ,?BP䉡>~.26\d_}Ad@4Ώvsq.A,lDvTlP_io~P66qוi7;SQ~z՟^gowXH|GtZW }(g <%m,O8yӾr,'WDPCpJ]<-,vR !e>m1UD+D.im/;vjwȄXعfz^M#3Jflɸ26>uF|y2Da-œ`!8k4s7nCЋ;_K9AaTS-VS~H#-3V =,׍ #2U{Pi;d姷BzoI|`'c@!eic$\'nyKW4)1SF?A F EmКiB/ˆ mSWj>;];ER6NhfHq kE` n*>Y!ۈ19A9@>MDqwJ: }T*x;QF_9 90❁I_?gۧ h?IY?z S*>3e,}'KUwT^XJԁj}qS0n\!gxߝ0t ]z) d"}!&>h[r}4G9aףVuF<ҥ̣5?]AUJf _ Z_?7 %^- Z-u +vqY>5b*RVj+[h t,IP?SuMP5( Vv5%%d. uM'@w J$qC .r@J"Vx`s}$oʿcdJi3)_ET1$>`ҾA: J27fke JGvikE5_FM)vTZx,)C97x5л'dfܳ6], %!wZK p[AGu+O }@ ne}RxrF!gQ\Oxc%qEBi2WKD<:jclU2(Fן@e&7 )%4´rēHG=W=Usk`gp' T_^Ԋ^jY2'y5_3aD^ߥ~֏o$4!>[Aţ'jn8hvVFI 7L1*O,E|@+@pns[gzV!IՐu&픫d_ӓ1V. r[4)5}𼉔SnS Ԏl˰\1 gdYF<$?hwH,\K}n(D, ~$Di5s.Em\P\kvNC:ωXrCn.L^pj w@}` O ~HDTd+P8{B?N09L9 :F]m:ϊ`1&@R"]wp6_|㐊Π'dd,Π;۠v?ߧ3} 5c}GJ"j: a}cp56.6],f^qN੾/ugǷV5@7iHD,;рoܹkE!xϨ(o0~zʐH/BBRwqƕz'ĽsFB/%?H8y=6%FWn,skY0#31jBKwn/@'q1nF!gut p4'`%j).늟|?jԅ:)-fT/ݥF>o@y"4[ogNʔ׳,Wz(2P²*k *uVx̧].?{&٪ӷ&-zƒ0 dz$5N1LG\ I! T.-TO LZ6_R pgjhA$] WJ+JqBb"t__BZ~*ˑI( fYo+ `qĪ$:mY%H1~.Z67BP,}[:dÔic !Y"ũ]ȠG6?:!w8mæj}ﱬ\ Uٺ,T%T##UûUtՁ\+ƹ"Hh_Ԏ 6hvڳAHFVL>u\Un(4 YE+NV)ODlIՁZR}/r۱q!%hssn^K@U0*} n}“P`dw;]T͹,ʇb\Z k٨7/*Vo o/ҏꊖR`Ekn0, 18d^eړ"x*:}(cOʹ}l:֋ <ԋ!7q{*\ U7YwYɾchv+x'bwm *r-tZȒ,[THuT '3|Ioiu[ct&'iJ&:,oOgj܁8*Έ"y/J'%!z{e\yyΦV>5xbf7`CcQY~,@ʱOwu{*7֒) |,nܸ$^=ReH27I_̛GhѦٺg|GsG(޲QډL3?NgC-G3Ȓ*T~O0r\H\$;CKot /e$y/t㕰^X2$So8EMaM}aDч5'?\ma+-qRO&f2[wu@M<=+3eOmaumt߽Й/d]K'8t{K}%Wc#u:K> \( x-qMh !S f=i_شC*19 4m}nN.|,d%nHl>f< #uR5=wjnrݧ{>t3 ZuE7 )ϓ_Ǿ$#(*ʄy՟A\CGɫ*$NFbZuiV{ Jg< 1vg d ÷s18Á cUAk P?U1Ew'p<=b#z+n5φ`->نhm5Nw*fcdu ZNBn8*z<WMB1` 6SÀAET_[ZU %|aZ.l1a4beB* =[/TLJf'\!;v;QZnQYw^rTw%kn:tQb+>7?"O9`~V׈̬y"EPw;,XA(NNaJYMM+K 嗢֫cFldtO/+x3u;V-&Pì()0L fj#&I[J-=7TK]H+7M[!H Q[!=_z=Ƞ"P/ɰﳪ@pX w3% Kz&˔Eߔ WN*gz٫P2bȔMrga<{{?bP 蛐-"ПCz0Q>AiWE]u#Ah:|ZO'>V'#K" oY'|1.&4R @ou3 /@GϮ"$V`"0d.6ȅ5$M,E1{9 =*et:y }EK/L4i< Ѳ%Јv+č1Ɇ Ijَ.AmEY/^L7µZDW&;ܠNv VS C;8U['Z[塓,VNaƴ B 6wK r؏S+`eסsLO.ȚD~Hd! X <3Q2W{,VD6˸OkNYF#n`Q[AZ,AHBE(w > ̺o_{2Ǭj2w䗋 FBy$ QH@ ?3+`$rC`*J=/R*)ek. C WV~5ӷ5`rd/S6 :gFR\|钕\]Rs-Tq[1NPM`#+[n?!˵)7AS?sۧ=i~%uҤe_f*+ͰHeSsr4a[A;tTR(5>Rdhg 8 °y"k<.m=w9t_߳iK,͐<,Ԕri$5RqUAHC TNabLX*Lt3GBCfݿzƴNVqM~jv#ז->|4c<l _d. MkCLnle7[ϞHiЀNxlL%mY'% OC=c\!lq _5#o>omRHq ȴ1Puq=zc/J}DHle_dst5(sEvw o" E{̿Q^!l뜁a p.5\I̜UR&8ű%Z&IZ]y_Y2jG_~Qdp 8I7v>hſt?x8BY8JX*EY@!SE! YΤP¦6߼(,mcg#=7yR6l{餚Q$*Dp3Cp Y93N Oyj'>8 8~]/ ߑjVYY4_G,m3d28xf{NDFzsӽ}EyZ5gZn;G i\@\Cl < )܁{bW:mxF+Hhmλ +nG`Xg-B)%3sqtqDчʨwslr*HA9)K0*۸eCKm󦦴݄8D, dqM7ԘBrZ(p$H.zҭ v'&"p!IוF@7-P@$C$[uRhVfNfD JًV;Ɂ6Hw*ˉd qEK+VonZvټge:b$[MYkH֘-iϋZjp)/i$FxmZ]u1˲37`\ĭU6"*UϩaU Ҍ m){N<2vzfBn!VPߢ9&sRG#D4.k1c&,Z`>!aKI*'V$$=j:.Ց ސBq@*/w/hs6 ( &Q_p_% j~–ԭ|](ϘVTϡd4DE5(6Y$Njd6触U_u\^Ь >?Z*Y"ВRAˑ?GxlJ.X@j+nM׷ʼnqnVĽߖm[gX=/-7jPlZ 9 +n͟ۦ+BUm(+4YZIRTy65lk]{wrdA opI{~wqﭥO[S`WF8+x64/:"vx5tmBV;aNuua7B5{C/k4:fq1Lk0B=01yL;Œq W=WK1|Xq^҄(ѽ.,[lk•t{$er!L-ޭײ&,cme/ 깉XZ=.(;; RO "B-%,[ $ ZpECoeWŮýo[X_2#yxS|N9ܿb 0~Rzff/ҠRnH#[saZ zOw< ʛ<|?ԵT덾 ?s(yW+{W6BU{`aD=#`@]iUwzH5Y@M{9uUT(#f)ARolVsoKMWLA@*Bb@ 4%h9ŌCߏY'[#!+@գd\5}RU+1whj`^hNw-VfSChz_+ =^q)b<[&}W糈[_r 銼qv/[tS5I>#sjVߎ!۵ &S+Z)*mWCս+Ш/hf։3UeXpfw jvNd7:3fZQ/zhJ{) t=8kG4rzm.)b'iE43+ (؍cKa`35To44rGnkVDJ3a9 ڱԤT tc٩SnGl xcT*NxPI  | R ߖHII+*ٱ!9b _̧ Thx- auHLy~V^6qX1 vRW.-=NQ xj r-5\3S 2+‘M|=1˿S#.GKX'R0 4sAu<9ڱowu zըHE|l6&F׵.M+/}QC!Ju Э~+_$/iG] n7TFi듽hr9 `"Pe nT~1AD Jeӊ]z-ytE/#iDQzӺa ypXKMIO]vdi෈a f.NrHSK,*( )>ᗕ,;ii6d2!W,%^}uiΰL ^@=idCVI\]+[)-, SxԀksGvh;fС KichBA`QcwDY*mo79.7?2 |'YĮBu"?_2 0M*P{B?u1dh(%ҹ%ZCI3,;&fJ>DZaNg߶RʳU] %xBK^գ(&HTe,}~K9?eJ1H+L]\Vvr.ZʖgׅрMyN[FA`9b-],װת@]_>3u_x5|hO-y&'s 9R'Ojz7 ȞILvI}7fI_03ZN_.;m 8 P.`C<;b̪ys#e2G9UatrJ4a‚`e0+146_!<]/}c&Pt"6>Fhԁԩֳ\㼓<+˜%pXl`\$< K B}:0z!Y eiHH%ؒQr)yxDZ[/=2zP#鈈h&EC#J 5`L9[D=lfrv1k^dM4gS6 m"igg]&MoN -Ed'1Ҁh#boʮ3Zև#}նlfF/g218RjU{8LTu=z7=ޚgZP˕5,X8>;uMsihd[ tY?46*`5ojЙьx<]=Յλ'3}f$ߕYXN%h~&\~QE{8| =~x>c.pF 3wJW؞CSZ MVmJJUbV@c/;m^0ʼn $M!]9A.*U{ul0輯G+qw"*>Jk yaaz7F(B$[#+x*=gӡ}ŬkF繗®E`V*rUؼD.<裤p@pnHAPStw*%g7՝tgarv/hgK?B:\iI/j rcP}yiMRMf`BA0-cd?Ddz~aY s+=P[4=]WS">߆ J.G/cTX 57λhцusK]jUe̙ rgj$A'(qzk((t ='ֆX΂dhr`G|セu$E,eptpiuܸe՜S6iGΧQ)BQvL0}?U!GFF6D57ӛ+cnӅ@1p4mkHxc;1UZYP] !Sdk`(%1^$znPf/q4״ }:RẽJ”ƛ.g"=L);/jjQsQ*gbKk֏"LuZu?۳qiU\d |2||yŻ6MUh%@I 4%Iyİ h=$s{Up yx:Eg[C'N vFMATZ#G&t= bx$8t |/N-nZ:V;Hv'# 8Lb$kxj?@8e!HGTX@Wf?=\.2eeS[dNNDH"O!-f?o-Zf*E4q{O;pP"_ƕLeY}>hf'(`7_u(,)mɬdlT }Y29nn6+ġoH[h`TGpdl2!7/1^䡱hc*{Ee h$Df%Ne NnsT *A~;pFAck _! rb4A2+QJz1yONjAuNI'3 ( 'IѲ 7x z>q[H:"moIALK`?Y&C8hMn TLEEIQ,z26Zb* Mb(tvJN#\bȏ+B VN*@ie4GcK"87dyU S;<]Bb&IP{$b0*o:GHYvĪ֑Ll4V=!u>>LW(T22]7^qyv%! @wןdx]a:K&w pɷxƷUfM4yت]}C_G`pϧB`8D,(=Y\N1ҩ+N'Xa2gyҹ"ۉ+JT%*!yʂɾT&PK[` F&=wJ5k#ҡђ6~>aH" ͩSU)vIXel%/;V`up? ^0!Y6 4µ42D*ѴIb}knƟe,|&hL}+[r-b Xʋ&9V _)Ζ8&No EI+K{4J6p.?atoiDy 8]atc *D­ /biEir1 Lw'ο_.^/!3 TAdt wvJMt "m없= 7;} 'I|s-^?w{7WggJ j'Ԑ*^o÷gsz>vH%{{J{2fI9L"YWgV0)kha{de e=]l7?DW,R32ތyT9~b3hO h+EpS5uO9 jeyPi;pdqƄ[ 8Gv\|be\ RS9+[Ja8O1 \ ?{ox]Aut_g>lMOCrݟZ{O]5{K:H12! =l6YYNXL)Z}N7'?kBzr$%ݿM}UvlԸN_XFz!<5F?knm]z0m#[p/LZ*IՁ/?p{JqY$w߸'&kWlI,Sz$~{/eN쒳*l2ō"bN2MTৢ!`Ъ/.FgQ4s7p{7]:hiDu.r)TMq;ˍD< K°82l^1?jju\ H 2-.L.$܏"bvOd8pRhɥБ[ e }XʅKђkXX)ЌLV`jr`'Jbd4#<.쭰[abӼ iRuWj skBO;wqRVB2rr-Vd]D-]k@x;w#ƀ5i̝=oʳ7 ۛ-::~[ :(X}:\.Kvj}Gp `r3(?*!B\?":xK$E?5)<1NŝXp,]``[_b 6`z$ qv?אo$qf?`W0<ޯtP&31E}9Հ!,`/uE¬8p :h8Yl[*':+T~Kznsʣ H¾BWA.Nn m4tž|jG!זӒ7JOr=.Ip^;p/آBzFqĬ7y|]A^ ɘeIACPKPFU2% ,zB dvrXFd f,,՜`2%[ՄG }e ^G@K:Â78j {XLZ^Cvhb4B h%yَ?š-K~)G>Aޙoޫ\6qԙŐɄ'Ji|BNǎ3{QM(XoO '~ rBj9{Sjz4+/!A@zoW{_W-C <{d}g-*8@ACw A1O`P5rTͦ u@+Ul~Bnj:T@;L% wS s\E، Y@9݊^]N\g#>]ޠ731p 9/ZBNQU󖤗g֡9&ݥIiׯ9Xc{~ၳaul4 37H]]D˝4-mQ~ljzS,q 4Hd_EN>^#&^Vwbصb}rdý$ID@-}v DQv7P]rOB"y5@Q?)|x1iv*n7΃ui.+ŪQ5ʡgg8<$'5l T=LiQl}Ƭ+ z &$CפOVxY)}*L2 Տ%F:_93,wW[{f8c+ Y{Ga 0YPSyLm;vL^bF+0V-:AVA 4b DUٔDu)QzSٖ!! ļb |M[Wz]O^>:\ \/ﲂw*7PZ7L>}*PzψוPw}?|g H Iʁ$M_ iB%4#0ʫ)%"a+J R"rI E Nk-HQ+D5 ~}+D B =b,Dnwf`*:Eo:1Sh+;gڔ܇D ;m1`5@r8K01UH3YvR\DNdִtwuc|}OGuuWfĿk:e)(4k8$5#I1`P'π?Xu0YSlV.3=0`r|ie678iF3n?݀:m_2>9KG~W{ޞŭ,wd]D St%`bKLw< :hd3;vDu7йoEX8kG' /dytHjx<$?^W&,cEVԉNT^`ܩm24FȚ\6_FOZ7)HyLQ&4FH1i>{ގ- w\׾BR@ K Eܼĵ뒋-אȺ<_u~*86(P,ᵻM{dRy{B=Zlmx #Y6rzHi18QZ ȵ?n%6( jl3__,cJw*;m,Q0ߥݹL%<&DS gXJfsLт:f-IRPn6r;ēqa UJwmثbg$\8AH-h/ߖ -\ZT{?' M6LPM1} ,:Y |oܷ*a-z^p>ycL`ȉ=@ IϾcGpz[a@ttt:;gD UF񘿴">L[Yퟙk e1 ݶ$xl8 $G8CH-wp:d*豪?J,#tlbKb"?Pt?S".ok=ɻ3ҿA;'~ɚnRZ1 -ڗ\a_'dtI^_(Cj;ՎX >gi;FEYUڮaY {i?I}h3/$Q@|qwWP?y76VD0`1a!1&# isdx]y~ASߓ^l-%C0ʋzy(yh= zKA[gD>`c.?r(5nQγX; y@tXGL]u* a q9$)Oq=Zu@ij30>dԒҺxT^}Z'Q6&,ݗCN.0T䦷 Sz4hguv~ O Ѽa{;`ƂQPE3?Vy0Mn΢lD.R#`nsnV\` MaP `7;νpȝ]\b3f@cw`I|߬4W*p%:-\^N}D'ZfT BkpG_fX>•A5tgҖ{iLW8,6yHW ~ߙܡSp  6&w+CXJ.No\=Po]dЙ\hĚo&ۿwU Q6L9)ր'G M}P^W~Kz<.& G1SVcd'&`~Q&R)0@>.IJϕNy :Xfo}ukSGP쎏 90?ټ"dͩyghj`h].n OLܢ6PI=bGnԀZ:χ7UVM+yW"!ԍF҂Hy9 U.4 c* Xf&Ǫ}y lXCQ;ō-ܐr"In v*$]@ H6S/gգ/,/-v/<йU>$H[iȔh(0EЂE<+!虰ZKe)@EDpE{C(fîRo)3loū(ugQG-sWOo,Q IoJ%X>0W)ñ̓e8~d][ֆǍL"[/ܳ'\{ UF3zE= D#7N'I"ERHH!݀b,6pr'67~]4&0bVl1B7sSd4Bt9dB>5F)`5b]REX~'S!T4#\1qۢ2E:hPL]2 5գ([4Y ,UW7?"w)POIGdB(h& pNNEt%~+TR=S(vYB؛U݇m`3=_;+s@-94 /a9Ǐ( :&^ v]Y蒙q{OtB G,ㇽƋ+7Rn U &CEߕsp3W;0~AJ1tLQڽHu7FP~IWlj5:\t{wJ'c%E]b-ϤB2%5ƍDEOsS}*z~$VƘY>F;鄀2MMPYGkۙdz]*=q1\c/= E"+ix-+)e]z[RxG:9Wq1>7]4(^cdYwىk}?!jh2 lhIUu 0|º9x_߅zrύbR-.B'g+0 #J6l8@~>&i#hJ Fa[no;m(&MƌKh|RJ,-!mj,Xi~hBKu2 52|^"y %wN+Rhozqby(4ْZpbx#$nOc<2Y}~h8gϥ5˒pGkW{חռ\kNrm$uT|S>vT~43l(/?*WWvdtL5KtGB$qWuIYG_;}ks _囆XYvq4$`oGh)) D(*?U6?%:fJ53pCW!;#)| 2AIUne[|?˘Aȕ6I>_Iɵ-~,^Ld?baBr e26DGNy~R Cb%5CUXZJAI쥲N؈EBLJŏ$$ Y֏z&`/Sq7# i?f/_4NP9E733J$^poS,CYzzN+@s# ]j 4B5I+mz7BKWu͛=P$:ݬIfY( ]D+NS]9y(G)q\y<;-$v[ns?$aOX#IF(SEz/%Y!E:h WO V5mM!h%uaz6PȽ{Ggfgȕb kv`( Œe#Iɹ-01g-dj Zh&\MKTS!,W'eKH"\ mILg8 okuS'pX6+l"uU.kә=Sb_Ӣ{q`H/2 n/C@^:)N@C^aihf/8w[n4-gT c-m3K/.wWv݈8 ˇONˠAOYR{xC@:]ZlZա&Q5!W]tT,jkK*?+rpt4 JR0زJUVfԍ<78HwLʷ|o!=)ۺ0\ïJFwv'&pH~lZ˯!<,̉:>%EnV蟜o4VZK'~h'j @kw"Y2EqKs`- !"˅zZقzrf5>|SBuim@ҋF;\J-|^nB&0"Y|7C>ϖzK$:#xA3{Ѽ&8Ax*Z8NU&# vJ4g՝$8%M%!Jn=@#S }$1n;~Q"(GSrcwT*aUU(uUFEM ğ0?;eG me] ! Iad!pY|ի_f$&%Od5| jEG^OlTFՎ}(Po)OLu$# |2+!;\"jyWU8^8x'xE Ff}ǖndu~]Q K{4-%DevUbt@WN)MtP"X*]A.!<\1bן"NVlHnq[˸syyim],=R]H&XY rdi3#c`f BS 6 E#2 nwAk%6c[tJj:p{ʴSv[ڷr8b6mw W_;4R߸hmӤ"}NXL7"(WxkXOWq8uCa)Bi)b烎 Z}/cPL+Oe 1KTMmj$?zFH<4ywCXn_~4|Bz7.s3=,xfF9؆ cs)6+VKM9$jQ1|@L|#H}hnc G϶j`E|D~Mjꉻ`%TG}X[)!@0e%rߟ$d<⯫Ȕav9T,_!kTwrU/GPnG;uGЙv BC]2ne7Fǝe 8Wu>;j1jNi.0IE ,/x2( j,0ZbPn˯0)w|*$w>l@ِ*V?W7o)'|ڔݖFtH4.y%-aհ+%7&YOޕk—CW\LbeAj.+ ]nG#BXi&+ Ģ* eDP|˭2%3 M5i n5QhQlxRB$:8/pg#B5,lRqM`c>ɅS7aBXD*lI<,;(ʚ]f@嬾:RN@-g*d܅pt59]@R5OlG ?ɆCX(Z'Zm[ Jem%Q:ի ا[R%Ɂ<\\)XCip2gԂ V~tc VaMQ0}Ja,yVxFj5~5\nrBN8ʄQ Ǽ`=T'A9]f79S9nMGMz']XI.דo!@+2(@AsxAmzw|N [~˹G5Ww6 jvN_" '=Y9__HR q˃ a'*m͎ՉN=m0|b7qS(= ^5״`0OcHX5'ʆ".OKIF8 e-?tPCe@1 lsකߴpOK^5lוwT_X\lƋmFQ:M+:V‵ea;qѡD&UWDʵ=Ak#!I.ƭ!Rq±29?]P"xV~̮ŧ^2J^UdHfmT~aD8>#Y&iQ!"j:<`ďK{[:k#ۙ"CF:y&R{ZJj oNL(a4[yrc1 ؠ=q"uqQ)Ź;!bQrd6 u l'[E>e4EΪZX2X9Hwn,DșNl<3 dj㪃[%@Z=;;ܨ]X([|?cξNtOF9TQlј94ɬ7fӭGbAv"ie(*7bŒ;]ʐ8SG _HZH@Y.VtϡriI5]U= yL)!i);dѨ7qS-(|!qxy4XN>E#2r/{o{\Ir i*:$)f@  $4HD' Ԓ %}qy l1kmAzܨdvgv%6z[M5aYKoz̀PXG bDp?._lCd|)Č֠2ţPVIH;"HVȿ$횛+G`e857OF%6{ӰY9$:zTN. E)\[yUm'l`c+MwV5YU @ 02k . (OubüFQ3Lpk _= gj9g2Go15G~1IHRC@!%VLuż#xtU&l^x35Խ$oF{gnKm ({4CSHɭS1.ٲ\@Oox]&,3;^eI$QaA}*ىOdTH!}:S 5D=Cr,PrqgL9IX7E!融?d_RW(Xa(^=96T9;ɭ[O?HaFx%4벉C+hPB(eZ~u."ܒr9VylI?ߔ+ڎ_ Q q8 SAOY!f D(;%}fzr]Zϓ^kr$h?op;8־ BT~^JXH詹ͬs )-V^D?ebh=Pzl,$aw8x>0 6-)UAfnOIَb C}:kj՞^`vBGԖʼ4@jEjT_y-*ܰn.+h^<pn6a2O3ͺtC Od.POΠ>O|wBߘ⢢ZWVIi!q碟zTV3i8i5${`SXN6kIABpۃu {[Ѱ z st2~BfgID29 *tTjø=A&9B)Ҫ%襓<  3,k]>c12_>Z@P~" ~ͯ։w0[M <N#߃seӊ# 3[K^_JڐLr+xH-cBo50v"n&nB CQOzU>>SSn5~({.> g;WsXMC&FĭQ_ *f0REoN#MlfN 87%`]O.K$a.T\,"*03[M٥4C8B:I1WVċ` (і_[/񨩃#omzlnjmUЬ$  (y~"03W\C itѰ.[ʐ4jz+Z[ Ng2Tl:89{1n8bXJk85.Scotyߝ)Gůg1eP5 th?'_t*څ NIn E -HH14](OwxI%rԐ`>߳C꽧N]:`c&t@;X5YDŽDlca﷧O5BnlA84RˀkJEFf6PV P:֏8I]a$x+ޝ^M/S.r]Շ<t!bc;C->yhvI`)_*lək*g~bOT%ճ[+I;wk3+lȻJksw@ڕˊq7VlM5w<'cAO#\k :y DًXÈ> %Z*5 V.w ERjlh^LqE[6ȫvs +1bx {pTNĬDzDc~1瀯%'q{l^Nx:D{6gGLN*aMLňw~`V H7!&U^V {њ>r"W%Dپ 3k>rS^وCИF: BD|oStNȚ} .MN6%q}^r+uM!N٫V?j 9v1̇5PZ* FǶl()U_}׼ ?@E ׯl+oM6$3H!]X^߻ûFΆ3ALZTv1aty{F%nF[QFp}4ZAI X]6+@~ 4tQ f/ۃHLrXh VmhB$@,$򪧞4ZU #Ae]~D?=Be@FY SXtO )14CqTݹwbl`#ۓɸTp߫3Y9Mgef\u(M,cyn=tyR@3׭q2NJx )uDbZ9+qj&*[ t.r`CeGT%cb)6D+?JGQ2 (K-N~l 2эam=>}jxysR|c h%)Y% o"e]|D\*5=iX WFQ+ft@ʽ7쟜Zǣ/|,y:鋘1*B%`.]cDq+yB&%=Qta6gJ{-IbRRSѤ5& Z0Ru'ο:(3,jLU zdiKO*y^!:^h/kfrûFA2%pƪo3RV;L#JB6ANxq׬U!!F ߀ff9ox6+,*ʩKgoQsUdi۰sphv~ 1E@=HBzyRo `q9aF1, UrEQ՝͡#s>ދu-4 K {L Q,{nWwQO&1؏ ;H߮=S 9[u *_f^DMJ/~"g^uN)pq=pI8!HdP‡.V.lWux;47PہuODzIdWE)&]4v%5( H;+E9%? DaT'yam>ue4ءX3tg쀼A CWDX"u*9* y̹ѢW r{ڇ() ];g$~}qG '@=b҄ @QŁv4o5Gr9KJ m׸YUgnvƯ넺?ugb UOj\1lQ׀LT&+-[E9Ua#QzeoAɶND`+}VX s}~2^3!L44ɗ+JBo 3m,RFXom:Iʠ \`:W =^=]#_$ݽ˫#bgQ@űʴ",%B'< 2(6F0jaׇ>i/H\ws+UO:,S8󃒿mQNM8kO{OcߘiM gc X *49)F_^;jO>7 wA} 5}zJ,,{w/ ppt,̷sL@愒5QV*pڰBXv1P\((YJ7pY  SA `E\,?FVsi](^3 I (m\DAMLD! W-> Jo~C@' Xֻ@66F0E]h]ae)hi{GwNOϙՉ db,CW)1r&?G,4e66m/-wSKQ *!˴pHyq Lx&RV~^O~ 7l!<u>dfHDw=! fF/g>ihDo1;mS'2}n^whl|_!FEu:am7T3o;zКܼ|K.)Lî٥q)e*[4rIɭʢ(|yP;wLѮ/]#]NH0y2U(͐D';4b5<.GJBL(--! Or1g\[\Y^VtEH WSvPc؊mC/~ЄgC  EBUm]rT3xYKg TgI7OҀu UÎaOvOfs+ó)i'/ԧ\gp¢RJ#j>XKWp/:SpbV1nOQ(TQhnR`O;뱊!j6̀/m?+ʽ@>R᳆$m&ʙ+Ah//Zs Ku6lm_|_bEV#e&52pf91 +`t!0͖xWO4IRhxOcR:{ZHDjLp#-QoBݷ񛔈8<4Cg"':mޫMЂP+]CNX'/ XEEW+.]4rug~8[tq Aн,2J t-׃l^Z=| q /7JE3/ӊ6^2Mׂ~^SM/*Qgc= yT&nkZf[$]`$}RP۳/ŝ5T pTb%laL@`%Pc2E/Tk>ߊzvE(ݱݟD":ll ^E{>:`^A!qdfq%R;% R.1e sᨵvH NG uFOi}*_Lo T3Cat/7TU=?-eywicçosְKȉ<9u4Sa݉Adfo0sIۥ]Q߃d Jy"cݹ*sjU 52)0r/ui ؖ{SI4Cā/ST:`ż<4²ˌ_6% ld S^ΩdDPnR=K=Ø h8Z:8n>^=gڒ,ᡝ&C^/A窱uD:S8TR E?o9j sL_Omp:' ;qea(7c\#^ npW,A7U}l6+؆sG·3wWaWerH\51[xzpEr)1Zw RojpgnI5=un}M6nqT8Dfm@]o^_dɮw:"]xڗYZϹޡ4ƨ/d%$;"1S')sD)g*:\69f{B`f"޽e|!Oh_H{.Ph 52=!*aLTOPlgZ!ΐ2ؽCi2*Dp.F Kdv+#a=S64YP,J<\o?P@Ne8 :X9H37 6VA1( Y_NPErJڬw.պYE$Ak8!KgSыTѾ;ݡQna뮲w)h/>*3MoM|xff[?f| 4\4V֤bdL~\^î9< {ϻpRW_6P۷.!9b7f+n)ndnaa -ړ|}Q7cT%NBҊH`R$s- )7EJW\N%?~;Dc-b&3C}ө'># l\aP^2:|&Vg҄ wzsr_pHB/e!W~{9C\dGOBfclGi"PÏ6ΠTt!m/ 4{n(aB8* ޻Ɲ`s*7>4(RҡE }^✉F-6ABƕ9p6H%eMa=%eE3L3X]2z{/!^ QX39V8TnqG#Zv'8̦(ŵ$q!YEt9~״0VzB_wjEљە];$,Q{zC`J@^Ͳ$"-Z <;Pd3hkK*)\IRU<:'֤.cF c͛`f9AV 2iKn b$Km>OЄij |M;VK͜ŴK;8_P"v8Lt[N_?Cۊ)YjdL3*{R28%G^_{?Gˋn|p+taEG{k^m *&ࣵ2c޷ Pռߦ#xb(eupy*~Lqi ؿ$"Z0!{(ލ(PH?K>fP$n/ߡ%/!z}' 8|'5[/ MsD_"߁ck®WXI{?l&f1n~a[{p68t$ds+ jM\e H&'bpiғ7\,XG]3极zXaryLHtvz)Tk"!-2IDZQSOGȝtd4DWX0cΨl|enHŶN@afpP`3vFS2\{2ZL.Ӣ4rnɈ#-_h\ʑ`Uk9k}t{5-BecQaa_gS&64ڶС.M6f@smɣf NĎ)hlNN>#bz/hMHډ`}[T{MU[^~fpHi)7vJ38G$ ;al>uѕ0)b3uCd6;;Jp;/^YJ|YG)^3ӅJb@(m=|s6ߛ0@%w˼SoӒwfd*žM88AP3~i!IJ!3:0bk"McKUG  'bGKhjJ c<;v~`TZ spsw3Fnt imM 9珓1κ2 q3G g'j$}ʌǑljmfRYk :k$qd yu+DDQm1u@ȴsq㌷zzm/ǀbU`]ÔƦlj(Hq/[2 T )r1D܇X N'5 ;>|²)Jyg" I Ivov'p?ɣ[8ġ[!8aR/rŚ*zMi..|nH.tsg9c @T,jUF*1qqY]Vw*tms3.vUrTqEoH1ߋ/o`>E<^x{u >,+̲)epfbl2d\Wx#<=/t"468_]܋ЅݩR[!_u2}UW!m06mUaO2[ow;t/ḢnaGX,g ?W׶-44ΜHxЪIL.ٺ%Fly`Oɖ^zuglMX `8 ;C<>wQScЋw{DԊ6ž}DRc$^YAA@^U;'y3|`{FG20wTlEͪɤ vKzԔb{"Ǥm}2;oN B GU_ܤwß*\ =s\t'J;H. vXD6B)ƙbW(kQy\]rjtݶh UOϒ␌9yyŤkxIAt;mevM]'v0>QexE&Qe-Cѝ s}N^G`(!<(i#WVdƏ[š=&| kбϷ)bX΀H[Yw/*eVn* vکCF3bPAUUg=NÕo+XOq5BY+H>=ǟPu 2Nl_|1mI3}`zW+_|'ψ9ljF~Dq)lzi!Arٳo Oܬ4ٗ֏0V4*t<.XQ3bt%r@@F$Nњ؋-Ue 5W;7Xkt uyֳМ{lE;{Dp(- RzD&M4@EGD.bYDY 4黶M'Yln>˓RS5NL{S]CuCgi*)r_Rslf$|c ZĒڭJ:h5WhH^@!ᘗ5b tm@$}Wr`9z&6@o![g9T#Kd1Wc-k<g4N6w<Ϣ Ge)Cq`VWuҭFSȅQ-+@xEbqjL l"w?Ly(qXEB5jGɛ)NM).Ib8PT8~ff>C{/ua/nWȷe2LYXWVFة p$zCTfXrAqljs` G"LFµ K6@jS1K;iZ>D?ua](uԘgʗ^nxXTei+Y&՘ZsZFh_LnĄc۞$HH|,__I3235.D'MؾI4d4y0ҙG33b#EkG!Pf}jEo]4tBηD@24G|~!YKW9{ل7%T]w1!*]j\]K&~#'iRj(Q.lM_(hߩ<gaXrET`J)N1Iޜ [.S-}ߝ8R1i\@vxG'm r?c 0I-Q!>R9/3S-0sb; m7= "5e8;6 J Ϧֆ0F&hn Ku Fy)ׁoϟ@> W>`7o-lXaITh_#2#"r.'`T'"׷|#o0ķ;teoXVȬEMiGCY(8ru9sEA:e ;Ǹѱ %/k9>V9gZ)Xs7͕ʋd>yIp{| =:Kv] ,e;WS{H3aϰWF/09)uޑ HNKexqiEMq! C:5,nzܮ ηֻeJ1ܫcY c%wNX]K c&6RAslCCCuBhȓXTWMmd5yy[diogSƐ>j4q@X@ YImӕZU盞 Gwo:AePYaP-=RB/!js+tT )f`o1׻Ҟ0U%wĩ9V^|Pu[3LY:N i)F`F bNQ_{;(>OcAcGOutX8OV$q%-vCF:ӈoJda7bjɅz3xJ$|n9%^'F~|= $֯죤UwIU2 }70n `_I#+%e ︹+ryzcS'zL.8P!^ 6h冇˼ͦZ D\c'6gx*íY^aFM:99PJ$_4cHP~% M]x†r(ݞi }&$Б< @9m VP4B}Hc$y%,:V*TڪP{YɥGtDAIV1Lcu|Ep!M= NX.y)s ,[𩨞b#54ṫ];Þ)RHV*303U[cLlbcnGϕQ>)[G4D!aT .Ȳ{><&XRJj: ~ߡ2F+$[>$ L!k]<@ $<ދe@W6C9WWNkR\+.SpiqH`]0ozm$z߂̼?/KL7ʨfq!Vu`Uf&!` DDg*cI4rf6&lI.L\FRZ/8+rLʅAWG4V5jmqe %dQkYU#N޴f*Gl _ʒJS. TJocc}\u,x|U~hLTޘ,͒(5)ȉk.34Sb{`2fh[kf*lfmM0$z΅gS( R^C$ ѯtL?Q曢I랳&!r4l**^"_Jp{Dô Ok#@iD'Z+r1EYTR~qyfD%^VNlm-RiUOPsi @ٟ7 &\t_u{10TWV<^(N~t`c۶vo3$K3~9)VzK/NLS s۟wVE1XqfoxY1_K: ': ǟiHTU<̄QRj_O4_+ԡ60,ӑSUrWe7p*96 p{mY:+ޤ]0ֿK"Nϑ'n~9nkllXD",!/r9\usC[2aXuFS77(yfA{K]QaиO79ID,K#SXɵh(Vo9~Sfg}Qt/%_3 I_>T-GIP)Vp_vz nmɡKݻTeV}q'޼y8쇝l#2rcp[:M 4-YI1?X⨢MD`!#/qZi DGFOF"?/PAxJE*:DPoDHsr.O*jJXV진t<HkÑ4 JMJĴ|`ז3^ڤ!*G>^{(3&(ywv8bIGA'LBR!@B٥aP_fH ޕp0L<'~gՒ+:[ Quu5ouďY^1T^S%BC{S{/|-HyVUg#=aû`4~r$,0vw%xjgU%Ÿd%_S R"[MɬbTTwWBmB)Ɠ;gbY>!\HKz<ʇ1L PJR_>MjTK&+Cj8%GQdDgu hm/]>ȣ3bF;x݁UdK~!W1ٻ!cF:>:2˩s921 1r. Kk!c%~h)幖8;jM 玐<PĢ Aiޟ>={8~,SJT|E+(Ac JOY}pɥ= GaQI0$iNHߝ؂et+Cox*zKQū녁Yl浴0'͖b vJ!WTwܑ#:4Я)h-BTzVa.>/r, 0 c@**W\-%&(Nr#oJ'M"#Brϙ58a"|L"KGQ":vu8rzçuJ%;:iF58IE]r7U{@ܷgM\36nnMn4š(~{gwbl&u $ C*KV9,BV΅i$Jт1"jwY6ͶԻWday`3V'4YzOX}%=;ר9q&R~Y%hWg|E=.^Y2Sp]=/xF(G25љf.l/hSutFgW:2Rx%; K.ǹ/8 Sm̹ /RI!%gz)[CI,'3r=0;MׇtBR10+A@|)8CTPX]ޡgFX?5c-G68'ZOH .?3BUB;ύ7U/F3KXoZWf6_kJu\c1M"If;! ؔ?H$1&-&8EZ=4ܕN`̪;9>Ɋ6@H'o 1.yXD wj;%0cTMY~1o)nheT6gF.\W&1}A5^=%RAq "<Տ #wog emtSp%e\gOyBР`":̼M;$|dScn%4><^ v1SߞF5쳹U&rHBe݆ER2ؼl.i*s@ԩ$` _bV+ؔQOݰ,2ty.`phGJv(Xg&DҾhC!;sj-G ݦ ejc8$tbJppӖ̊*Y`3㒲pV6 a-M߶KOģ-$,TzErH\ήҺG#55rx d#Am $L/~H7M@XHW{,a<1#;!iK|Vl3>`=Y:cdqʫ"}" > ⬝uGս_~|FgBڢɮ4v_GGZǂG+\VںV7N|?13}MA|H]}B gb\ȠѰϗB(ԥQK $Aw䕮sHpO}A&Aqc:aK_S+ưVƂLW=mX^ٗT*ч0T|xxjJ]&[MzM(7\ pF gP32dLE ~p%ˉ.{1xLh0n;m@ءlXAp6CI%yT%xNdsq@Uc4.٥9=Y:XmSaw眒>%0^2vR49 h[8[5YC2>x7z4]79 rf3&ƂkJrlY7___gG@& ]2^N>˿76C, U@yf?B4@8n:K \l^<֭X9k/y2iR%DZvAOh@jI?p 칷.4a?M4aFb)yk湝?yʭK8=Ht/do#?0DSDo ZfU4 B2e:(2%ЇZ)Ǟ@s%.- -ևT <)E M$͘oK`׳"̄#@]wP {VXP540>4" %# x; dp"CϯlpgS>VA'Ԕ54N³xA,7טXؔ)U?+V$fp̱^ɟ<@W Z54N=[F9Y!2MΒ&p iprŠiQF 55N 1ɤ8+X9C`w܁ ]veӨjIK}7l]x(Qm n:IB(K -@Np4l-lЎ{R)!8/Jvճt:mi{_Z7ObRfVSe $V.c癓/R6lECNodm"V* @'ApzVb *JR7)G_TH2>R%D$(Q?.BYr.SX̹5!!o vuׄ}BWWկ<ýrS!Dq_6X-1=w+:R ޴XӠ*NB_ ); @Ïd6.Z Iit/Іe K29J+` v5 BJxc95 DF-XǏTФ6ȭK+ͮzm!|qbAP-\eRX -`o~ ]ЕC+EeҗWiWw\sl >mR< TEbmȵ^:.q%nV:KkW2XẒ^j@UWE^<8d+Z$!cpTz9%)_z!ћs:X!("%{JCڵ1kNqQ^r9vѰ\r,_2gT q'\x8q5V mF)dC (ypv]# {unlku#MxQ$n4N9` CNg(g 3!̰?ier7\=%,SFo .zwfMʜsI IBXʜi$'񥦼xqVA8 {9lN.PQ3?.6!T cRUj%*Lik/KLMdPO gh Tx?-Nsph uVd=W\NG?)<#;ӑpß{OsPz#y&6e~ٓ7?. c5Z"/=swVk{FiíXBk_c FqtK^.M j ݣɯ4Nڜ /jB@c1-,SK<7|F͠ⱑ5c}܏J`;zawZ߅9̱Pw|MᭁY! 덝&_.m g@2a$N)K@옲k,ss(`?FNqI_>ɜ:FnÁbvkC\iv% 9(!1"K|s8@و4?Kgh-Tѓ&Q{oawA{&9 {2'.f@i?ZVKM]sQP[+XW;6w݅V&ɦˮ0듧"UP@>wҋv(]Rf\B9QHoߩ!w^pw{]aJp<}3\&1PnXN M;.lT3C]q1,TΝF ;78ٴ#ȎOk}k4@[>Xep, ,W_栒1K[ T;o lq&ֶ\:H/κ?fS,8c0"MDPL,cVڇ''cB>SdD!M˻[]g(lmOO&N bU"Mq9 "p7} Z*dk,Y%̴,91 V|Hi\v<0SCVON͇"ŵgI^as `Yo[Z%(bN[}'C&mP\ RS x焚_CA"Os]Ͻ ^tmrcڨvEZ#V;!ku,5Lj뾧wꈉLmNC ӹh |ѶL:!^$eGa;p*؋]Z1> 0Henmh5^ݲ ~C<:48pks@wuƵ٠%}}ҢpguvCut"cp!M6IJ6,pKv<וX&أ<}s'4'[?Dn[unز `JT^, ߽1J( }i9z2H~L^Dlb? ZtGǸ4<~$ nIc;4HYIdOf,ܩٳ9[H/ ov:z'CE}ef[uё]}N [*(W1Ӹ)|,{اΖUpkrkRZǭC{`.O]*[kO!rS/nr2F0`ϰ!YRp,~^?3'`CȡDmi@SׁZ[@Yy{4_]|~z"9~hJS..<#B~QtHHJ+VquWL0sXQlH$PYP:yM< cb5t.y/W/ч(vMMI 2O^'`$y S8mhY.30/Y"M.8wJ9W81ƐZ|q]kw~HrDDN3fQ oUgީ0FY`jMR.y-_XQ0V^8)<XVFڱҘ pIeB\3?T8ޔ F\NpەӒs9w7icD NZRl߆S?G_+w066@\A.ޤ!/B7+}>T(;6>ae2J:tK ,U.]^;ONk!3z}Nlx#H 7r;+<}Ы~@SeBDF X~~s|bۓ{M$pVO{< $bStҎO}ރ}ӃQݞ &Z=*p]:5g|ꑣL䪸 Af&I̳f }[?W]b ^-|ʖ)$DG !uhȃM̼̲Ok_I 7z6kJL~E=c`sl+_ V|@f {MD+Knb%.JځO`%!O.^B#Jqzk2O:ϮIXJ?MaUo*Zؾ} ͸HtV`Jx3ITvj58Ep˵xL{00L \VZ*6aRH_Ti$Nl]6OU#3+*ڙŒ #j٩"oI w 5x/nC 5w^4Bw5Yr&~?d4wbH|$~<'۰0dV"o|Ś`Vz(?g cʎ 9 YK5E'RlF_0jk#^b=[*ga=*|ɱ6[T|ѹI?{Ͻ2W3 ,|46qx^?;Vӱ^ -7e6L~b#6:|x)c(ta]+GxmYǎ/̡M$9—o`3ΜfQFMWBġS@_n" 7e<](E@g9 m͙ڈI.+#Hq@ ^%(`ς[}A/I%2bȀtx]_1CVcltsPc/Swf&%dN{+rJ(-;:lO988LJ)OJAnxьdI{I\˃Nӄbዱ j55YGZ4ۺ0 ^ I%ιPu<[p+  I\ԕ»Gh"ʊb8!KW8_btvZF:<[y\Іr AلKkl+ddAkK`ƪA~VDu{g ^5YxyS%v7UˮVJC91L8jkLgMk, Ⱦ?Ŷ}8L4E5LO+Th΅Wp 3=c qjzdk>WA(?E=vUvzHlcWdDdnA!'oҬg20%)Ը(1A]l{ W R3TA4 koƩ˜4Y={I*}cnBRwoaL&:hŔ;b3Iǵ_#('@9Ɉ7L̺C"Web+hZ.Lf04NE.j?#BK-m[i~),KHp@tq?TˆA_ڻb>TVnN,IN56rn^OрDkO" Q2а Re,i!3߀2lw6"GvrChh vUvC8H!u\9C&w]K+ӆ&pAMףdJ nK?cVhÖQ; t@(xo!܂e#Y?[~>[dt K7hy1-E3~'?о!MW}ˁ`VIO{,|ӵ!\T7ti$g^O.p4'81i_ Cxz.vAH ;U ٛo*aь 7[*HiW |W(bUf88,I!fRUraԸaY:jL"G?l'=3Vlٛ)]ve)6^Nÿ;0l""9,O8ǐ%f9sX[uɢ[(p_A.MS8MH3У Q XNV]9齘K.WnY )#ymiY zt fIaEo< .xn -fY.Aԯ쪁>5(v:L|-=39'tXmⷄW,(_eHK;``/mө{/އ)SaE R9n! 4]c(ֹCT/MU)rἎ`l3z;aL,TrJ):Xa3,ֿeiXj~+j4m"\0UXD<IH`/6%WL#*/Ɓn\V`9)O;Ҭ a2`R t8aAX4n ^U9noM `wWhgLQ*_,%Z0 M?C?U=5nܱ-({[:i*eQ!W=TƐ iCBfDN u0 e3^sҤ)e1Șhvy&=}[XEgi2bԽ1yǀ">`&.l&\\+q> B k-d 3^E^G3u 2gL.F\#9}Bbd{T|lmݑLOfo=<<H^~;|oLN){-H4%JL@h܊3Tgotm 7=S?L!v9FdxJt1 svz5B)CC ls{]nzJ6k8>!m(0E8vRc8v,RN4[ / &MOدdNVoԧt\IB*Oc֊;+W8aa<7Pa.`uT׈Ճ]#v>?CS"r *Qar^.+#f02 %˻zBH|vs09a5U:~ TqN0zdyEY~Z;A$kҷY$i1j2phF\JU+!X|^u+OG ^mZޣى$D\Β mhM 8%aPLeSQ9i:)wm^1 ݿ}J&]K?l!cZXܙN С[9)tDKd_m49XEf;L`{gANgL=/]JTdh/9BJe5"F\] ([c+ܒD6\CHm]O--H Rߘ߻QDT4 : <˧S`z8#zĤ鶽Q/q$|OmYav CH`#-Y<@fl:p !襁(RU}podqy1 eF=˿j"tucJF"{K+СBù}$-KԍdVXn$u! $}sY].4v2J7%;rRSߐZBw|H/Eω<$}JSjʉUNYIn(%\?jtj D.CsbA"TDF%)F*>k%mkh]Fx_'Q=?fpM |WjPbaK[קP(w sZQb m5#Saԫ=˅rcpsKn&0 M4{Dֻ$ֲ|0>N(Y]5"ߝI%E:h'~i&;`.6L>,وLȎ_q1v3w(Ē*针Xm=b0xO"?}Yҁi: )BS{䚳YEk?.CwqI&pU#Mi(Xs`b(v E/yKS4SmՠĎ/ײ^}gIxeexu=-?rnIxE 3RiTkH7xN@8*η;8v.tՆ_ Ov1-XAM%d NF5ttfG} n1õr"4`F=i%UhsA"f{PIw( }JiНL6oecKedΡ*|LgrWp Z\y,b8 JiMPV(gcAuVr)o" GjЩӽ.!^o@({F)dʄ3t`:6O 5>.BM3;\UJX7,V%'> %D}/T+U=E8 vL@!:Lڶ6rw9^EOW2 [V:E'V t-r`CP&r(8yގ q$R2 pr- "isHPIEF$@bLܩ Rd$O`tRײHR껚!o[.Sl>t^x%{Ylsמ={{۔"ʒo^OEƗMӚ$`ZXӛCL217!}]X'm t!+STcP:oaV:_Y8jφ.+@o!: ͢!jB } m; lp$Ly-X}z:. <ߖߡ3O6M+eJ)oH},8vSV-9ͯ  _Y+V8wA1_&דQv HqD2 0wo9}dDI3bc!(|)\8ύ[_'YS~KjLbj4~FKFLn|O8a̯MgYҪ,M&9 ,`8$xjIT琇MgLsA`y\LKCz"K]"C<3?;RGEG՟ W2ؾLd1\71|?z!2 \8kⲇ0 vx uWỵ:4e.DžE$CߧwVTw{1^$ ){8N MX[9Ng?C L' ƚДvj$l6=t('̠s=c$a&CmU<)n9d2`zvFgYؑ9̷p?aW*4mӌcTBm4.dN(&bCgvaޫ݅f{h\f3Sn`@N2Ç1} phg&| frşyB z97; :yPh ˅U!ȽAU ;U_ϺI?r}flATu1xP*ږU?S٩eK<?.ȂIuDṉL`,^si qӃ[*R@^,dc_!MDb7D`yo4Uu)Rjm'b&/qLd|GXZMU?Oxh3HE.\~jsL}Gs~|-b!D存3{·ߩfZ 8 MQ=P<8ڧ3G^^t݆(QZ.t\:Yr۩JdȿL9 sO)krGgj a@D)۲}53^T#E,t}gc%;(dIQ*2C#$Hvn!k ^@3mw(PZ`,Sb$gDHۓ;ۥ9= 5 ! ~lҾ;KI6aul5;QVǂg `>3|5-F<,֜s!{ޝJtLUe+ S,f#w (3/bicJPHIUeUFǂnf9ܯicÖ:(QW.}Mc9k60>\ks3e[R[KY:=$ɹ/MIJ i%>>?{!Ru'MUǂNYtϨ?62Jm°Օ$VV@gq#HRN a 7#j7̊G鲧$4flVwKEo,il&{B{K~zд"pvu_X@s7U_fJRb>؂kOg8xhGF+&Y;qR)t4#[e*-g'>**ܖF:T5[a>V+IUj 4eqO]m|tI4FcOv<7fAjx-ir271T}7yG0R=FdH=)j/SgJPPI\pƄJH=8jmBfa>]EbaQ}` +T!'6^6/ 8^Ѱͷvqe]O},&o27^9{y2gAe@ܾsɷb/(h;u9Bh|):&wmVJnA/3Ы]ilm$\e 4Ud[&bk#$o  '\r^:AriaiTX!יsv0. sn1*&Ū7浃 C{3;P~j˙-UCHq$!c9tYx{˲5?AZ6ХqAync )5D2@c&&}M, :xnQ!DPN*qTA$Y,lkQW=Ĩ,KT9 >K^V_C|m"dgҔ@c @Zgj+u#{}BCNڒ@;GU^ 8e]L,ΡmȪQV+CPq5擣 _<X$&2ەXaj1j/hj8.C]Sl{XۇzqS05M?D䦕vzk<>O BLL.G ÿ̜لD)1nv=HXH܇Gc12v߮2L1Ś}qF!yv'f; TsY"i)B-H6! imY%^?״ (D"~}ކg1iv_~ùI{r-c2`$(W'$_<Ov|zzxA`r B\n]$sxXߑKFQD!(NR%5o`9z!A5oR•S oZl%imGd>7kLL ގgA29p"\1/tzQۧ#p5o^.9Chu"]rd)}JGm;oB|,,/?HO8=gZmb93]B"C\aAURГUnI#R5[E\ j"y4uOO6G]ҷS\#ZjQa9>4xXIA W?b#A]|ZWpv.V+(>' >a?bD>w2kEV-:0Aisrkcϗ9kaWT}d~6Ce25fnt bcJyRsUB=Eןx97b~4[ƬuμT>-m{֒|+ĥ{CK|G쥽`GĉZ)b>(cr:*egѯsU)zsQA$Lmo ;AsY1/zGI˛ "u6%7Nq_%mC5>l(ؾ6FTDD+jkbj&Y9srɲU#EhDsUu(VEJ1<ܭt\lu2g$۞ GQ6?{I*bϯ|a0LTyu`>!Aq)=]h\MQ,GkÃKK}G%l ƻ&-7/xPY[C]1jU"5Vo7vQmJaz49 ꅑRfݸejSg Z\rC}Gw*S,o;MlXG̔"D4~?Szɫ mvGFjƄg~ &N $9ey TUv2XWQˠ%!97ڻaHYz |F&VNPޅnB^s/}K.袅>1F+dQgdDÜq̰!{"e{`ndՑA21Yp> rۜ۠>ԁ7)Vgxa<&dXd*x[WY2JFNs1W䵋LrZ=F+\9+yخhI3MX#nDepg\.\&4Z>KyJrթqN,jz׭dpIо6,aق`99(Dž/ 6w`zX<-]_#pK _Z[Hb5W Ð05NaNJ${T,zƊ(r̠;j#-#x~*'r#I-e5a)t>bQ:6Ȳ׼8}Nȋϻ緳xIP))Y2{3i4BfI,jtOԔ*c$@[}.: ^q[Æ_5oZc6^#/:* <=FK244:aw@CGu0 7e0|1XgɱqW:\RNmLb|Hl9!ct sZ>Kߐ,eNhIPGF3s1ixe%&b %?Ta/Mt3? MQ:4%Zln\c L(í]^r1]uE|jvd+V=Bs >gu!>,Z `D?0CAhC*> rd:avw uH;<-hQ$"pH%ؙ%+OT@ 6(^̔}5d8&׋J*??XtHTxj89O<;r{ G-XM hMOKuX%NV(s_ 4H*`/-WҪ?,s~O>{((2P#91UAJ#ޜ{3()Yo>;|t: 3Sѵc.t" pZ4Oէns}S,8ͭvm?7<'/gt|L@\98~yL2D\{tn$_B+ ,ʘcqv^\ҚaĎX1bѵ?+>T{ Ȯ>XH,dXn=c$3HKO۵o(; (zG[ G|[YF̯k;8Q)V1P.!W>pX;VNE:}d⡄t\ eht6bDG1;F/P#wؿN|%yw=(X$NPʽ9NfêCJ9>'kwO-坏. JSr6$DJSS)J_B8fN3_wDZQ(WΊqΑXw2Q?&җ?K#B%& 08MoMa|tå߇9j'Y.eE.jڡ0PJ]~IUB,@j &[ Nw6ifמSzz9/Jƍ8bdBxh^\}k/^2'T22&ryb= 'k;9کTxOjR_8Rȴ+ur?Zy!okZT<@gʕ/Ã=~Z0w7:P:zͥZ4 /=G5qѭI)Gg6nirs3IHU >y:X~"N 'm矇P4|܉ p|ynHAKd)Ztҽ,I|H * H"4vض只u9t!h6y>BG~BǯuHXMd_U9 25t }fgL_GNNp:Dy(g#%dOu ¥6"$ g[;&ḓQ9ʨ3 ֢l!q+C;K:/ΡRIohl}S8å&:e:TwdFo'A:H7(s!*)=&LUNMZȑ HVK bNC])cŏ"De~S÷}CrQ3 sc@H/$&v랟LWbWMz˾|*XeѨkIJjv^4eq|=QWd|aaM5&y{N|9e1N)Lg1u_:cfL9l%n#0W1 Ra!]X0gytEض}`?-08<8fINᰎxņg|gh&te+x*lĻpjE z[?R:] Sk5[pk8FDM9۲+B)b5hɩlt6<:\ʦ|gq?) "S?[3= ,6Ͷ@ ,G tl˳+ao{##>~#)ٶ F-fvko{AZseGkP խQ'K^#D)Fږz'Tv%qsOyH)l95U?c¿ ƱTcBQe}Nl1!QܓLa[|i=ľecv̆dxy̞|)2Gb%*:BPngL{G*ik38X=~X×z%x%? ֍A{$ԒDy#]<,u(Gi#6&ٔ| %5F)ֱQ]@%UKD#.Wpt|HvVE P4sNޙ<0[K?eb;PKC+mE_uۓo) \ qLG9n/ٱ-+1@&P>#x/i.iʫhƃy/'y.s*Ab|? 9#5.C˂Yjn ذr65B-o2'C?*1ɋ6f48ch?͉"8B( _X/u|uhL7DTsi,_AUSP/T7.M,[83/-"x70P>Qܗ/y)1`MTgt2mz"q32𓌢C{m|zFhI+E%O=iCl ]ԕ<;d)oD/h6sKZ`'j5f~ Iy}klVo/$P<uD3'!:wEy<$׼>z&F.6{^.35rU&nϕiΝE"z}b+.ũH"a̫R9ֈaAlX[$|?Ce^,,X,#AFdq"9]BS) 4>K*>lclrO^7'/S$,^EO7yО=zmӋS i+,,&YMcmo3%zb ^j0 (["5QJ]*7ɥXۍrD**GҚjU~3]`3 M}4~&z(@mc/~:nwY9u(μ|:g:SBu7A7E%\Q88R Hc*a7\CaΖ ||J6ٗJSC ̧}qTCc2.4Xx^cD>4,[[+;Jr!Mݢ-ְWhե2f#nt"vI4Fn͙~F'|7Pt\$Ƀy lN@Ζ]RG kCCmf-N/^~ GԫWkFc}!/dE幞ya6>@vTɒSU #d$ɔ߼bMfJke-j i߱@{'j DR Q-bœ1#tBm>_~;61SᜌSq]e1ހWLC>Dm'8E`y %c,AK./ Fc*5k̝̓Oqmsj(X^8t- /wqIσx=-VoZݗ~HB'P0*}4b#%Qs=EM?ys36;)bקoǮum_㈭(Mjf/y&9C~ p'a!6nzRݸͼ,"מ]`">PkTҊw|%0'J5bڃPq[%<3{ߦwY*ib1ɐii_S/}H?4dc̃O/^ҍרJ6SS7W>T^sCxN K0)9 g6uc 7ZDŨhL13fr2G`&dge4%]X'0)b SE;xqplԋՊ̔QӜtJKbntph*6bQFuP dfHHJԏm+[~e4"|NP#G3Wj|C+bxC+7{#ͺЕށžuPL@YM/:Q =ezB~s"i.}!h.D&[MN VfAo H A|U#xFpu'~Ŋ AcԚKsEfڴB'NC7Ug[3C\Kx," W /]$"0Z5Sr{98$5(dH~-ɂ/ckǁ˃BN*.ub#qL a>/bꏿ'I^p,`e[m!f"}lS+b\E9jk,%E0X v[WZf]aV^8K}i<_gž/ 6m@w-1!d뛉ebz\Na#Y/OBOg`${Q}ed={1S 49SM,4J]J;P)29rxI<*枠"A)lhwU& Q!᠕xMp|iM$tCFŭgZ]Of qZfZǏւ5ǟG {\PR>\Y7d?ofv`ܧ4mϡ:o؉,& ۠5y12mOFD 't' .w\/ !Z2-aǤ>-$V@fȷ(xt;)m 4? /[A͝}7 x EdCF4C'J/~_˰lbީ Я 4B.nZqU ;*Ӝ"T&~Xg5q~ ȑjgݞW[%TG4dli ^!A܄>Yٺzef{;ܱbWK4V) 17kZPKۑ>vN*SzX9*J;>:,(A<88鞜8CJ69eޘl+`JܡpD CyL\BGYPp@V1o_J C ,D+kp~xemCo]%zXG~ϊAXt+IuC5m 棹5+RVoX6#ہqqT!LH%Kr+܇J8)<ЬDjf+TQ> S_bx - G* "@PK\4y n^Xu ZoݞXbvҪUqZYҐXfK;u= ןE^ z>18JH|A˸(eT3[L)9,P.Totʨ"G ܁x* Tq?n]#M1AM@Nfdx=?M}B1|2Jc3gtI${_C f0$,5V!4k?>-Kv|\]=@#+P](/l?3ZW[΂\ Ħ Ͽq׼ İNׇQo wRzPWūC:Z[;c.QVk{2͍W33`E'1ՑK%xЈJ܅Dnnv=i&SèզQEBOl h[֦n]=fv5xg$YLqI͹PG(A&*8wyMn-ֈq~ K3FPhƎvŪ;[Ξ|`&3{wcE;q'Ny2xj Me] XŪ!"$"-&? NYwlX"Z|̠nQ.ȌZ9B1hf*=C{4e0d.oěp6+i@MgɅh)IGRg<s֒4 i98y,bS?vϛ}6"$UCxŃ-`b Dhge'&O1)$+``&ir+ZÖhȨz˃w?4[%qtzd似RP4_% )is5$U[[!G Oz2a-ʛa`tZ"pXDl`fz_zЯ|쯯@b0.uYi7Gߞt})Px$ 0+9Nk|`7Y\{" 4uX<݄06_mT^G1o9A'0@A4(Lmǁ6< =t{ ⨋{ZU~ۥ?8d9 S뼻K4A? jZ9=7,]+?p.6?fם#~НR[qq$e*/CKKbr3 3DǍȨZ JB4g暥0w=sG}H< Sm>@!tr8f0&1#uzԔM!6GK)\'X_@zAhwR^,)8dN@zutid} l O 3?)F-Y癣ok,Ǟ_Ę2hQ) Pv݇V?`T,̒tTR;)/Ht) 3 ܳ=5&4DSo $O>q 6J4Nȅ.$14&/)KD#@i$ڻ^& `-/MO@ߞz= HJ0?[5Z)3=l$`glBmXyaԁϦgߎ18AnՅH1}nG4ZBl+~0E s"5FD U+.峐x-z;kW:ƫwPgaD ;qeQ kѸ9{+FV)''ՊNP(H'҉d2wDٺ|mJACcЙz|X{֭:oAh[HDȦ,T;8L?H؊?kz#ői}/`@k@ !Zw\ݾ%Ŕ)_\t Fsວ/T`K_8Y~5Btp# SLt. {sIOjo~:* JU;t~upex3J;/ɩ 8r'd 6\mI1[~O%)`~hf{uO,ŦkmD~2;|el62|>>vL 5 L4LGT>,򐞍W{ 쒮S̫ O7b54}Բxßb6lH|J&y WR?VV,Kٺ+nw3ڑu +*G7 ̭5:߫AN@ԝ:t KY`Qmdb3u$?5p{b32uTrsQ~vx(UE_m@/$"(>p| Y3B-S\LxfóqΞKUe| h\_thx39DLmRW@}!1 Q =jս*ɿh{> MI7ޗ]:[T%+2w)h"[,4Q;T_ `$yP]YEB.J-s1qv`P>ɅX v' MJ)=ix¶ttzuj.|R䶸4{l`Y.m D3M24%hU81\ koqD- QxSŀRQ֫@,&ͺ.{ ?rwykں;z%__v`õsQSb3AÑ=[8^Osm}ĶGpͫ~RrU$?1._ ᬵi$ZbaXFރjAdЇ ?QeO|dD,d9Nmscw HukWѓ "0#DfC&\v|BwoUyAw8SIbzR*k9YdiC|։ˌD"7>tII,p3$^%- 1QO!=EGN^5 $ux ? IfgqK#ݣ}`q&Fr;N5}xG&'aN([sB0r7e!4?ר LKrFڤjjLe>J' ҁaV`ׯE ZzrnƢ#E^C@Y-vorYqw4?9˯{5 \D/:Odaէ 1@{C߆p{IHjV:3 _8("7N=U! Ñ+5Ɨ/u sJ(EaG=d)514䭨@Y#&-R^~^=(h6%P ,hDS2oRdR4#Fs͈f"B_ a~Tyssb]cn:v;ޣqbf 3m!bqf}oh<-O:Z#{J}lk9+9$L|q[B0Cb2(~(P;S-AjzfUion>pnhQ +P0!iˬ`L,8SB/'m<✇˕Sw3#mh~db|0sMq!% WUc7L_ G^5 #Y|Ѹu,\^\͝Un4HyGK"vdV 1-)QVMݎ_5Y&C^rܮZ1O+ p~uP؜1hѽI;젷 tCgjdD%E 6X-iw"3Tt#Ž:@4A]'y§б?2Poy]x- 2σ3NkJƓ>Z7ަnyOw;xX3IϔK URx OO[~YLJ^5[@@ڤ6uO`C)XTI\[̋:QKQd% BkP74s?HD.Ә4{dbL (t+v:N2R=a`Iz ze.=FaK_+x4Q&=v= hlwOrusoԁ!0 m=T$!pv p/erSY8WAGu9?,O/lSYJlUX𷆰C~h289pSe'SO fEszx>UF/%pVǡ@-Rx-HaQ=gК]ynWt&irU`}/LآzܛIP|Y/Ob9E!&g/;ܗO;&3A Ng'o3>|/n6.g@PHN!lh3X?$U1: _>gKk~ȃn E= }$)0 ݃̕1 )̖:anbBc>nGh6 rNBbZ "6Q.WŪ%20D2}ߎC/SCAZg\8ħ;fw?j(? Im (Emq5r6gpM1JPa*x$]g૑[q_XU)Dx"o9߈3In1NF@hV0N$ѧހp1]Dt)ށ?TWLp1g|, # M{ȻVk?"^Opz)d{ǠBE|"&sꐅ>Ӷ7lŰZiѹ}83}Dvd⇐/{OxT@gF%s¿GhJa#^nȴ %`,ic;[B0Y[Hyem$>.T.s3gRytUwP,LsU3Ur3*P ӏ/i"u/:ɆFM~Apۻ\M@ `[*_Sh?[L J/|Q$FcרpV'䁁W%XvAA>|ְ+9D}3~Ƶn%Z8ҽ3gl5;BDQ|P6_O+Lx3Gde5LsR ;ZHы56lTYc vҞf4MȝR0ҶvR'R\T9PMڽ3g`Ԛ~q%x&DŽt2 I]>v18^8(EǑ|_1< w Р T47iFsX;VgM>=E<չ =9/;@h/7o7tf㘟H! j}׋uһqy@Nb 7/EQ~ #U LG_tUM>i䁮T6=eKoIvK`XR0^rPxّ4i)^T*!B`R)+ 5 gdon)]hYʹeW)K7NNWB7ΞY}='{^m7~O .Xa7ԡNY%VQAL\F%'SO=zfh>"x^@aTCM86қDXBHi!s@Ң9S[Nlifww\Zfz.݊J|VΒ)؈##ynV U7$aMn-*I}mZ힎Zk/jmG;3uJ%EkO^`QF󆥩WdRV AN؆3x/nKvd@P_*V~5{4e#׏t0qNǧXz,x!L^{D…%1ئ95u|>4Lۯ@*wPg_KyDE+bh3ѽaP"-HlYȉ60QQs"I?Wr+)e5p)&zVLҐbA`r]ﱖ$^,($k"tn %cJlޔIp俜b+|2<0vros7u UȢ=8ܧ9 uDwg6~4,ϣz:J+7Bl[+P>Ûґ(#^CtB% MLGuU. "n{Z)MqtBz4y'5Aƿ ٲ"ڐIh/guE6V~+x6kE$Gp^E6}UB cIJ O`Y`U>ܛ<2 ҘyF=@m3Pt0!\ՆpK@bB₊i_O@N'h͉s 2fh${,o(WUFl3Ki /(;2֫*(}J]rwjwwCj6g`| VIF~N8k^PhrgƎJ 17Pb #0 eۧɅcg71.eSO0%Ce-;Veta-m3BQhz&0w{ܴNR|t iejt]}1ץJ ʑ"s Eו!5Խ܋jru]7\KMWJyNp7~qNB\t4RIAej%SNB͂p  aeJd6eϤC̕HtK{-ύ|c'Y\Vu#HLW(`7k iuG{/F6P'"1KpCos%fS/DcGu y}_D>uO'C7JSMD[rs0ix^ lϽukViƽ5ґ1cQ8?;H#|;i t\%D-M 3Xa.}h;dDzS5FfnY\MgyإJ ²Ĥ* H11 wJt;D/xaj}C^ < d|?{^)U|0S\mXcY?WQB/(,_hUL,A=&r$rg죏lHv?WݛcOq=AzP >qPj'\(QO#m42lV #3~6 R0tγGΜGF NlyNc^d+6JMKM ?2A[eQ> C]_D"Rkc zDVqGzfAU:X5|V2M}ItڹBoDžĺC[}YC{? M$ӌv+C(qӔite:/X:wY9J+)CC9>'o9#hLe:lE B,z†īb{کX$MC'$P0؉L󁇟*i7ߟLBjԚp^+ؗ7F<|(6ˏ^\ƽ"c⾉,4 z5>JJ5{ʆ'K$y2Ur87 bD<1E+>v?x()bx!o鋸ʜ5em) O7x7!;2ȐDElx%t`$ֽ9&Cu- 'AhIhu򱓷zmkek-z}Gy"'lc5L}km P))r`Apc]\"Ł'[ @b Vxa7% P `@A4fї~mH% ̖tn Ҭ TçF0 VzUn}T ˧u9x!Y4iE&w% wdUې)LA6N^ Q+GMo4]9z A˞q_,{PlNʥB %C9 xcQ{1Z\_Jj݋[>=lU|-,;,2h )dn"mAR9W.6$7FڬE@fL[y>gi/lQ(voF ^Y&q@ceEgc U/7˥g*‰EG#Tp istM(0.&WFT(HC4XPj_ebvCF3TS?_\R%wuXUn?j/%[i,X):oSH@xbspZT.dBkW^B4/gYG AÔgD>JR \"7bwP1vM:s{a&3 ߍ<G? i3$Ay{{9u$]5&sXpc&GaCA$"g΂MI|m.WΫFrp%lX|v^M˃^n!>2L J̾GO]I 2W#F==cflEZ- xF& 'M (xYg8P7HL/u\<ɇSTݏį%U64ZǪO19pl]U(%8[#hFҼ1Y8"thOW sGDbG\bB4n48?eXtF 므Z[ ԩ D*yLKಡ?%9(SkP^,+sd}m!(1 ǀWh`ˎ`{,*uPAŽCj 9QOF'宆/,#G(Ʃy"boѱmr쌡*8WY JGɿE>cZT;oMy!㴤M"iozGFlf9C 'Q(',{nF Mc/͍$+a|t^pz*ؤO(,&Jn7spHHV^&A,f$nf`Hʥ߱Ԥ3bfOjw&NX!L[ST/5BHvxkyqgGq\*|? @|ݵ>Yʌ+ 51@JMjyF~vqDtI(F_~կlcKȹ6QvUi(jL@ ʿh T偆A/~Β3)}Ix*Al`  Wjo r|abmSD:ANDfIQ³ZǪqqY -PF]V M<KiPΛ䵿NCXΡk}Hphg l.헳F_F(]7ʛ(TvħqH!ҩATVi| pxR|y7O2pOekf`&j_UH6`WX4=YymkZݨڌw&AZ`t#G ʞH9"xPi;$tȥKҕ(b-D+ˍiGA7T@)=*UUnhs=VwLҰ;vGe6>]e=2k2Gtu gó05Itg@r|Mʵ/ԦoܭCيh~̱]R/C-U=X&- Z~52QԼ{q $Uy6҃wp ]a֨TT􎕭%JZxv7#_ERapP[;!V ` h>NOVw qm)C-%i)٣ֹ*XLbAݦA@d œ[J~C<нJ\(KF  }|N>"o ϤØE9]sX(I ¶?s8 bT8y׽yE.c46iel |D!0pjYž|N%느 kgY%keN:]e6qÊ'* \š:;߽+E\]xD)`A:rCLŸ.CҎU 26bZ֛MRt_Z[F_*li㳪 _S7kPa "cKTpR:WR،uT'zdFT]aK1NlWJ: jg崩x}S|Bۜ:W;:p3 ڙl.}+j -6O[&ѫexvm_fA3,\;&zŝE꿾Մ$wh)uoM+ eYकd\xSt0c8mﳉ"1̓Luձrbb%JϷ^K ~cP,V,Ӫ)3{/e[1OclN{מ"R ƴӁf6 %Krj?nlϖzC,=7NRR[t5Ja)i xn [>O>nx7 )5_ )CI /-M7c*A nZ D\Y",EBLn`@`|eA |c#u1m!'M$;g8[jVěqUj WIƲ)WmNiU+7B|K&C#uWeȍ.{RYH[-e`j$^%<"06Gi{[V70ٍ]c%hkKWw幈I3q|-bC6ᡳ_6'ؗ>,P9 XzƋ{V 6 I&A@yOB"hcmf:O/dw|Y/.H04ÇK.5cn!oV2Y;EHE]朇/&}2r:mr4Kˌ 4cgr;Wd;_A˪\X#G9ESuIa-.1v TI`pV= JfVNw ι64mB8RAUWkDBWEGd܀o[Qfr?B>`q|_5yv_;?lp4qNCWgux_2O}]pkqزXa% As-ND\T:,v;!G> %'cw!JD ECEΗ]Z,@{6D'm\.|E~{mbY^/lM+R?8C}v*SRpˊʵXɣV:BTZ|\ֈ"8it]1ol>][oC=bpp$: PrWJ_ uӥ >O9&p'/!nW&cY`=6+ž %5 $O{L,=,$~؋M`quPQѲw3MQD0wbKŝk_)Pd!m>/ڷ"r#cuʂ%cz't []T]x \ ̴B MTrP^9; :Q%r niB%݌ムqqɉSl,iB,[D~'Qܛ/L^5 bTbVj0^Iȧy[m+b :}p44$K¸cI$?Y0$(w!렓TenJ|'s0@mj-'!2 9P0T#Y[j5j:x&Ut:+dWG 3nZwt㫳m.gLB1J?Wk~t94^h:!{{mqp^y Q_]Ə)mehR "n_*^rEZhK 쨮Ʀ+X]8[ Meo uonr/IYqH. &unW[]u*ӫ"cQR^ Gsl2/Qʫ&Є#`B? MnCKBJ:CkV&Vh]6&Hv)L*i0'9!ƨԽ,94P|Mu f+&G}\_.lFMP-%궭j0s5'&U޾Yl5}{XJ),QӑSlT&'hAnV0i(S{JCm.g_+|Nk7U9N<0oxv=d&763jFzu-_)ktuvF@jK D֢⊺a=3TdDP!K0wca+"&cdlwWN2?̔XouimݗA}\~E({r-o!iS 5K|01`&t #ˋ=P$ gwu6Dpxz]r7|8dR<܋ZFgA6A›v|bmuLc&/ø Sij?5P:35GqskXܟ(O`ib!W^τwO'$FHs4Z:M5c$_Yʖ˯1!ʕ8\NJfNi(OM'{6co\ΒGQQbUB]zL}i2ATP]=*>3h *E*4:[laƽj~-qNEt݊悈-`H *5NG!G8~lR=vXi 5vӬHBP5֮0D-)5 Ȁʻ6ہ{nn#zw?^@HzEgqJ}޸0pDrqҽ2-ց2' _Z}jQ܆& xZIӘzTo`BxW\^ mh#ɂA佂q!ZS:"c( Pg"v` `%"2LV5oLE(rruUqGAΙgyWpڸ /qُbggnsȈ}c㽧m5 +[Qv[ȴt◄%[rSog"ocNI{&+D;<9uONjT! A -٭^.:#8Ĩ#8MoB HVT8vK@ۛ(la[u! T˯Vnˎ9ji>+KʵN/N'Zg2* |6~K CS^p&LoQkU4u]74w?EiƁNikYas3}gz{;򙜗7(@[)XI| FQ`YfZJg¼t=o)R(y ^a/ y X `w]N pg^LۙGU"Y)!cL9uU  x 3h EIo7?te{h,!¸-&*ڂq܅Fx֡ IGXW'MSGx=.VAr`2i<}7$3\B3R.֣[*ep42@I_41{ vJ zJUQnM[ZXV%|\g+Ӏ[(8o}b_6BzP 2,=aaoC/w3EJ#Z PgF{dV{?3T3xEȻzVdkR V aiVh!.-T2#z!I+@F 'յ7,R@~,aX >)Is?IgN;t;b.0 Aoȡu"]_=KE>F˝ ׼i]Aʯ0f_#G [zc|=Hexy微U|BhGzֱHD2xB/ҧ?^f+~Xc1I`e%Dr'cs &mR}ۘI*Z+"+uj͔SrtRdmfOP<ڎ a]t:8 Cpت"á'wl>/Y |HEq6F$L#x`֧eDnYS.{=gv͏AŴmC:G07k) g!(9:Ak`: 4c ,n;?NJj tlG:9%S14썸4E6 ygݮDn6,TS$Y,&! 0Z@ |7u}yKnS:2.7سb^ ?,ۈӅ?Pr#p=#hDUQCmn9,w?B$#P)l(ͽI5"U\1u-sCD|Q~K ,rD~ ƿXA[k@ 7L&6a7Y28xibaf<C4ΪR8d|PR<8e&f9;^$Rj/DHPu&"5piʉZp+p[? PO% *MxtQC '~6BΥBkTeflc?b8kB55|^{ ſl2?վw~U(BV |>6Vw_j.Dl!n-ze/il:3N7_>2_ɖm)'^t%ݤ~nt`^k}F @̓)-Y_n`'xJo7 FW|4*gjr )'V6`< $-Qb_O)~a, ݅|ow+#jزo8VGb@(^Ċ[.\qؕR[dX,un8v'|HN=#3#evMOz^~ea`,U0, hyJb;fDomȵ|c?Dt=O?b @R06{ZbFaF\ oᓿ1:R<X`D qi 5f 6wF?3E%q6D#;.P7$YDE'cؘy<[IJzBs\i%.%sW i Ne)9B1Y/Y+()aJOS=bH_,(BęIqiCـBM[%6:,]9ūYDUTX8MjLY5 A_WBA6qGS>[zX3:%Ӌʒ;h&p<|9qͭ$TbPrpOɥ.;FQ?L]nsO*:(`&l(EQ0d۩ tnS@G \(G) hH:c6cT{nT\ D9'h@' 2` Ar|h2SڟkJl~^ I.Yv-Fy2F)aQzLv`2h!]Z{{ó5qL 7B!o',B0!A[t@oHpK /{z&^ЈےDx =~ ͏jE!I'%)THC* 2cEdhNd3n:hK~P`v-&vP~\:j\6G /S~SR<l q*H9\ 0kWcdRcA<6Y76 h4`,10/ǍYr (֦"e?9Ԡ{#\̏|lW~G$o@.VskPm$lԵJ5vڠp2@[Q^@ݡ%֢saxٴDM.V>hqQZ{Icǯ^^b*f.3o{xWA*Zl'čp}b:PY7Ym˶/iYj/svvθeiL)W6{.x]!Ltt7ZGB V_] Zg0+x|TjwH܇|wqfzˋF\g\CӺ7"C? _g)^kt/<%Zˆ k~ZkKiGvYCM{gV ݰ歄0]y~iV{gXE'Ǒ,٭] Kaq61U`ր`f£JحC7[QؕolikhQ Ǡe~>M S:p +k2KX^z؇oS鲸nr๖|*jSKV-9lY#<#SU b5;3ȻN"ѩ&&F-H ߬#C..#'o܌G $I}]>ORJP` :"|QNQ(lac6# N_/ Zsf8Tx4<^M.3]v]9ksHCm*ssqSpeu_k$iwI sт]0XӼCA@l?_VU>bo0P(J&)آwδLmnP#Nh¢$|$YZ>s7&/Nce|!ٷe] ^l0?[!45zKހ,Mm~>a3Gj0? b"/@董itҍC%*U\*8N5mӻ<1η^R6Pcr-O [v,%Ճ6Ov`v[*#{砱 (G[3;i7й9uuk9?<,F4РBxqE/z5+%Z-=3~Tb`ĩ%vPԑ$*.ɒZT)PWשpo^>@' [(333^Ɓ mveYel֗[uEL4!EC Ya\]^_<LrXlBG/5ӏ&šZhT:k')mZM53忔 wU5Xt`h|VzBnDXQ#AЋ8 G栗w6QJkd!ݝf_ ~t'.s:ɫ],4gQ,R)'kԩݪNPkZ)(-tu‘) `\[{qm#L{L Q{v˼Æoh{v94rfn㾼¤&"c0+xkgMpΝVP87U 4%(~tGvPuDF-2U$<6 &9䒙؏c\! anF$ N0OzJp~o,ic/vùIW؋QMgM[n!c#۞9KĪ۷Un=(1J,jNڌci;%A(ƖI)2 хf7 װ[ȯ> cE)9@ךӰBu*ԍTdMB 8 O,d"qZ15fTNMƴRApi\MP :G`9Po)3VnB:RJvBe:lsAVLk<F|ȇ95Jy ,}'oGBOG -L Y]2c:_ND%zV!GIDC-hrmaq17ydx1O ~;D@1dM[RuUCg M'4\SrXkm\?&Vh흱vn2ƛe0@F}u_5ɖhޝOExn;kWc2BUR2D6-bևQBltA`D~?e 9Ѷ@ z>V9ȦB]O6u$,3L=RYC̍<Çz >"}l"0o* ˿ʔ)˶ۏ8SտG4(a)_0 ɋFx}Eּa&6HCZ:LBm\N dbCg5+vw|uAama= ; $=?k޵rXvAGFSI5OO\%1M-Nb~ L@v>0b*V.wR|}fq ba+{G9ET\6fT&Ē &”W݊ ;x7 KWB BmA1}UQ"0j`RIT&Ud4 q/O FHh7 WRaJ5+'noIKQg"i+k/CB5w>zA~{b#7 wD[Zj)ΣW.u@[ŕ4뀝gäޢJS0zF5DAx$ ef}^FRˆ+2"x6}m[f̜JTѹ%fL5ǜ?QtCrgY!O\U6*^\`rmIh^ 391Ap( !^^yϳuaNg)nXA_#p? 68lgT`;N 8)'V%׷ *n p +ޕbّ9C'f 'I~$ DbSo] ⸊F^PB|v e80/ǔxMq0|F\N H!eÆ)>`b"Cnh!-3_URW&^Y~ls(l 0ωnp,uk&y|xS}GL1C\\;V1ۑ!^_2D#j9̖:Iѽ͉I 1ѰmDKX$ cUvifz{el i<K~Vb냼Ĥzg¶5~WM7vrӚse?<<(6nc9L85T;n>vTTI8m-_ Is2Yƫ Դ{YMEfRy`VaUfVu?6ܫ&_Oay;UcX})7BkqUjX@˶x .0^1u# &V3K:%j%:s6}_)<LzEqazJޥUdzC>A|Y8.GV־]g=s.QEwɄ9Wx-e$[/ѥ? |Wa^g.tJg)Wu@[&*n0@SPNL{#gA- JD֖±R„=T$LO3v*Y* ,gNHF-N<J@*,ͯLDiPAFl1%]HT?M^<B:hg#]) g>]˂WfiW%v1 #4}x#گUT^+ȳ|Q#ŦOx2ڕ n2ݖ 䲯"~e2y%,VϵXL 18*q{ԥq@$ASCݗLbC -,2}<*.FL*%/PVp_2ʮ+DPQŁw.OGdY٬fDEaF)%1t*+.JE^+lQ@/Th =VTO43LW+\X$˘A#;+17[+cm XV%ch)0j: v%- @Nu|vH3~%0+h> OMxY/}PGdZ]u,o .m6y5=dM8H|خiBXM~< XsI&ŬMte'G`Sj=!@)>YP`䵏w[DfܙpAڷ#c/S4$M 9dXsza@, đX+Sb(a;I_+U!\#E$H'M] 3ʩ|8ܖ&"~,r{1p}O#ŇXc]{mP#HX< DI"Mm#CO9-*}"8l' ]k >?zZ\,lPkFy[Fm9.~GAٻr8r:X|Fqo&Tn"ōD-1v>Thm/GujrD>@']z~[8î뫭^ڵ0fzTnRyGMռw N u&f's@s?H{̕FWBҤ{бORIT{3M$q~>4 zK*{XKΥX;d!n/*B? ,%5][!|;|(L%^ky\n̿}T4f^#0n;aZayE.ھ̖g } w2OUKCdV%s VɭWA `f.vAr|3ގPW۩-ppPph@Id/N|k)+ksQbTJ"_W yO+}t3@`vO1"L۞/CČ ~ny &\3F/31Bȸ+Kd7p $gߣ;Ӷ򬹮%uUr.<{cyYx?X"ݝ@FqM+ 7=tY೺W_>"6T%oesCC{D"tmz9 2„Id~T=U[%Ӏ<] nz<4}&wKT̬xg+ *\Zbl?RYQcI=}~J`*:ZilOvO2YiY @08 ) hjnt 9txʎ%vrOd1"Pf/ϲ<>S MŽ!T^ 6""e)bKq_FUo5m:{+ |)IX$/Lj|a{lyII$|㵉NAvK,xv/KxS/EĎ [L_`7DE M!G|)ownz.z"KJO/Nn{6acQNt}t69CQA z\e ϱ]3ΆvaYEo;6+uoV^^ #ĆK@|Z3(-AhxC̉D# ^Y -EkdO!nP!-|]P|6 F~"SJIq]j Yq4Ru_+jY=$w %ܮ6*y;@X~c|~2t]kD=tMmL:p]Ku]u)&NCd7( ɛ-?m%ĪA|'#jه*VݣaH*<#Xrr{`ep٧ڈ׎ `HTROݬ a%tamxk4b8#{ U;\ϊZWN4f|`v9ǽHVY^?e, ,Rm4,9iED[?އ|Y#vl6$?e1Qk=5|SH}$(Y=kRnCgiW?5YPEv΂'yͲh7BqJ"[W\5~]>eL5FQ462=R iu%@/[7I k`X+/iG KϨ<7cVa,by# 6fl@$q*1?gojx;W )饅E*g m·v^Z;q)/Pb8F- qŒ4rzKΐ9[#@1Qzb{CV/JI3s{0Orz:}4x3! '7>S^|4a{QG8pϵÀ1֮͒=wG#{7ߚ8 I1.l1i;l/q2q̩2{Y,Цԏ0zPv1vNØYʿ\Yh5,1X%0" ԣYT4eJng-г 12j Mݝɶӱ]AØ£@H'@fAq'ЙMF' lw d9qCڠ.^osäcͼ +o-xe :5v&+H"C8ad=Bw#VR]˛Jv@Y1_5{/q0Fc,jx>ů+e>YN `&5xlԮFMu| .&F Ǎ&S` # Fm"^IPso؁7!DG;<ז Yfl":?:9q}2o0=ȷ/@IP?Z?ʋkW/*<3eops} Nt%ZU$h7`(k){_x<#8ڼQ쇠1.1L+STUZ򏒤(#ȯ(UKj<%a[?AL ֞r%NNmy-pt)L l',!d4nJ֝n-bjf}ղ~LݩOY|y6C- [nU96z\u][ͣbDY3Vᐂ<@Y7o.0nDwl|R :(^1ꌍr4sI ұ=5iI*T=L;/c~ȟ!fcDtHuz*ng| :lkNT +"zoLt{t*;x8EFr0d|v֒Aw'}{JfEVNjqO30qPxO hL<=6V8 =YM1WRֽhC+j¢NHrn%+Ô.:"dvxTsRp -P}]iߋ;; wf߅ hX|W!CGPnwla,E2ʧPAxE.êXݍo{p#uy(爘xKWT:?8ʙptV'j'2MnZ`6νg>8W4!pTTpY*fpf,nK&{=q u}"@#I==!qïIu͹H ={I^XŠmU7₦\rP=*cǰfU`{*UENқ0w"E* JTS湐oDޱRF. j @sM( _ *ud u6+9$`" (֚ʣ3Vb+'gyg%> })U_7/ k]ϝKG8I{mSKpS.4{MIq= WFZD3CaXKw|A*"Po_f%ݦ[h:oФ u;'^2p̋" %(U;#U1ʤ/5GD_;Ί h"J5ktvbP2u,A-{V e s&ƲrBl2|&L@:8t;{XRL@er¹o˦^%?juxcf !%]lfgխZL-NGk7\hZOHQdSo%j}- ԳV>^5|>2M` \:m6(:ڴmoX77-}ϟMP$OB]f2r" 1,dz%1`wdP.Mn~u8,t@izj\ws_c*Mcn/*67[rKR3_bvw/EL))B_h(/^y}6RAs_H[m9yQw6 <{wQ|-kU$[|ގ?=ܡ.JP' W~11(xj g z,Yd| 36_oYꝚbIF_B+bzWU~vKRy]Ymawk&B*$xBdQKU<4H%6\VO3")A 'ԑqb&$YQ&\Q'vPJZAMR}.Z=&q3}6b$C%x4<0 _%@ˑ&2D?WL@f?~g:M"W j謾 ]Ü{_إD@} aŪBVZX ;_ y`dô|İH852J`I%>/V.G&2=+b!fE\?wg Mץc ,Oy`w^sd\Ppf|8FRGH<B=Mg2~i2ā }*~"^XAfS =h˾(A S@\ܚ5RJ+5SV!)?fv;ٍ lg r/PeFvCV^ulE %LyB$*dhY n|HNվȢQkѻh.Pr=Par vs K ; g6"?bvhwSO㈓tBE{F_>d%~aUQf. Q=#Si߈"NXyxW^)9eK؍+ _tHh콐IADCB(d_iV`CB ;O:d&uāHCٷpN Pkӱ#`b 񌄜 ]Dx.ܞ,q6>Nc0:ܶ1C WMtV I F 1g>Y".=.Eՙ5xAY ZfLCͅao޹(7VyA^)2;$Ti]փ- x^q5r F#"% \_ eDҗ$޾)b}GN1_,>Nb+L}uihxkfM 1P|@S5*7qR_۔k׵l1Jd6e4"©==4ۚjxy]w[|Fim~ݬ4>0 ss _of u"ojNr%Qh"`-u&NeS`>xF㞂."ŎaU?(gCmJCxvTK_׵&柺6կTN|QoKc2L|i!gLG;Fw`eѝ=`'QT3d+m{ʥJ6 h(Jhc_Jԙ f@cB%(K_n}=Q#r͊bдr teؚyz׹*1=قAb ow^丕 ʙ2b2*4RsF¼XPjFB~ | ֮.{oL_IVc@ _ν]}ftQ)$'tTXd sFfjW2;z][*u۽LUd+rb4RcIaCV57E)^(fw(7zj|uWjCX?qbF,-Է>@c+, %I! #c:cq:\8.D#"dzm?X|*NQ*Tc~a=K*Ye\:`k|k) .`~S34["r?j{1]Îڧ c]Y6 FxL)OLyd,;]R}3+w9L3#NDCSN-μ٬f&i?k\xlMLonnx`VbJ;HH}]oTChV J4E_$Z#U%}B:.CvZu68^g-ґleĚp21MDُMY]K E,M鄄ep^4)>c;Uã`q!|=>JV$ras{3epQJu; O.(,#ڝkA :9 ˆ2\ͰSj!L>*m>/9”[FPf #64 Hm<˄HXoEiZY4S}Vj*Z OyTE AޫTwFsئT9ɯ ;U[BϿ $ļ!?Fв`/%?P]aBLQuzn"¢DztQȧJy4;i+6%HƎ92~>L^o#䎽 8&~bu۠ 7-To4J֮D2޽8X ڬY.pQM͞7; kGPaRi@]B8|;5M @ g◸!Ύ^fQ gjܣPX$=XX\%gp4C sjwJg87Xn0`w$21kx)処Ӧ,wHvpT֋ dZ|bAEHFe܄*[/>ܨ<#SW r$GAՎ/>,,xo@QbKq )̒$-I[HqV,1^^~!I5B=ޞn%g9%2{cZym \(A'%Sh4bfD]/Q"VV;vq ?FtV1 ƽkn agv)4cL;U$M-_kY9(x^vR$_M?Z!|m7"763} F-|1xӫ#ʝ#a0YOI+|< ps60R$tSɓ6R dPM#IԍY R)Ϳ?ƨ:". 9` ?L:9v޵ήf |7ͳ!Z'#Ps?˘:̖4k0\ MX#8?7 pn5a[~)w<&В Vҧh.}Bj}& Ҥs z᠚tչG H] gB>ͥc ]v~dhVpI8T\z͛H@vJɻKP \-=u9tFjhȳLWtjy&@3h ѺZwhX~dZ%?G (>~ӁX%2/d͒T[3HSjmp,Zg1Fy Y\2ޟxxD&,Bf]iOY j3hWt |/&6 pQŴ% ka!Onᴁ FHMJu_cV 5kJC'amCfIj%;D**cv|ک~'o3Gh$&|BP80BJ_+@-o^dlU˥wCjc.3eUg~gwO]"o':\Bަ{>Tߞ'Ƨo"bUbk,iɔc!ʟF6I ^0n&mQD7zoNdK6p -mbΚ2Bɒn*d 6y/Nea#G% @mBqֽJv#3]ӢBMКeʰ$8ڶMxkC _0 썤lg&zEvX;>[<6Hx> TVt kʾic+I;"IwkgA/K~{RP#lf[y8#Ӊ21c5 \+ckLĶ:oR{^.2ZSނLa[ZfO eoKgy)t_T)~l ގAW^rpShP#q'Xi* G湐$ ]&WwԏI0/{gs^QsjUw?Ē_.Kq _\F\!sX~@"MpL NC,ǢP1!7 ~r֣H~u/X[ Z(k@ @fƫY/@ˌEEM >Z+J_W7@@sky7Tuiv ilOxƲ_Lk}!MzjqAh PՁtk&"ȱ{qa~xaDÄ"J; B6M $1޻:"5dbVLwR fޢtq.eg?g-z`]i®h_9m}x|茮&wF{6Ř^2|e~J6}6V(x]N13 ?' `'WF7iQs{H%d,@t~[u6^VS i/02fo[V-v٬0,UAҩoA"Iqؼ1.M'j )|Ape#!!ܽmb\=yT<sZ?cW{ }#QKGX<ٝ+My49lp@LZM@%%Vwf< X<]1Vb:Y;cY%xEv7%h ܃A;TUa]9e3H](<4Hse9gBQg?`FtBzOc?lLd!ͧ"vԶz#1 h-UN󥆺86wv6z[?(^9?x7-ps{AWFٲ֏0% u^^ lQL%9o5~yD9fW I! Ji*(X nEKz & ?״]2o !aUW~naSGBWo.\q泍lZW*RCzo,mT@>Z2R<T46l9N)Lxs}:N1N38}Z݋m޿WC |y0k22N 4`0X |-1: J({br3N̕zYă5NUej?;ziF'<XgcbVg{%6OƢە_(En)v\p*|?fZx6h@NU|]^qT (z}ImQgMRom0G.uS3-J^P2.P1X5 &aRF~ii13!3*DZ>smw63I܊`B]#Iݿe@蝂^{$Uk6LL\g??3Su:!S2ר$Ol$n{P^yo hjN#{[Y1]f'(>1jB=Iվ*}o9ݍ(W<Zj+ggW)we|<)2= rXNRu~׻paU>B.suHfwb"pl}q@iZT62@@]"Ƿnj%z`h+ߦ~Tg;%9)dv-|j=!,VOPkVP1E b֑.*l{E'+1ph=,y>BS~C8m9$Y@?B֐$di/ `ڣ npDg,No4iCAΆY?1>Ưr =I%.f ;H^HkOS|0 O 7kn{4K1AX%J$m9b#%Z,ChQ |ufFEӪZ] Hiw]uSl;B;5 BJ&9Iuubl@Wn%*|vfՋ1gꊁb]Z/YԵU.1!H`eT𪰞nͿz=[dуg:{jJJxD7F?"X ۫6S ;^JI"^,T*4]bB!J@u ۩&# !cgkkt\ͪsvNyw:e_Oo-IE|&` | b<:KI1Kmdf]"1@c1kؒKm"dI:QD4G(߹vH/5P-(Y PTY"c P^nkԵ`yUhm!S6d( Ypyeꅎlg`l8$ vf !);0.W5`d%0^߫?Ҽ7Wj' Ü?p_O0,ӐEL!G5g($!]rU9/^_\hA9+&( =B#HՔ"RcI8#(^yRU *mHN9ő߽B(pODm\FR w)Lp$:g0HII3P[kvĿ ߄׬*ݾ6h}YX5EtӠ"ԉcaj*D p>'P|pj=j';ᖤ ܍VUi 2ҮQ+X%0*1Zc4 5m<Kn=:W2%o&h%$p/$zDG\ٷ9?|MMlߺR?v 5fhvtknZcKni?"lr|߻iL"[Xssy zKIBm@7D ̮$4 Dݗ:@?l74F'Ϧun '4UNYf,ag%a&5/ ޅbѿgl%Bl\Od#CE/ul5]jtOCrʊ߱ύ O/.ߵ $r( $ުgR_JX#f5)RxF@/;u\VkzltR"3.(O'p3etx~ ؚ̲OrVTZV8]]CV3(K5L]^9gj]myU筌u>62k>i8cԎ(v7L28*cܯSB ˖R~L>j  lzd$:LjP1aךC߉{9éeӃtj ?rёG@SHZt"\ҽ+rя!VKhL^}G=q9'D$Y<y=õ\vA)U&'HGru[JyrNrm]R]J*P+-!hW M^T!(L&d $d+0ڱÅ3p6A߹,θ1uJB;]* !.<h'3 0vsUj `{_ i:fIN"(zQ?-y$I)[W}peG؝SNyLHtY, /Go*;3F B WS4IH1 }@i;RL6.7d%]:;eZf`z?ef@~Oz/n_.lL9懛H0ZHg;9N{+:`FO ϲWЙ.zV2g+OIBnT΄E~I*I(2m2N¦^LrPİ (}'jNƋ=g0* trr˜:rV*h+Y;Z ^#xH/8!JRl{Hi_e4Q$ ]!,p֖h%1 ?%?]ѷL-?MDG̋!`u}$%u1zL:m)mQ߄!qGpʔnyH@G4\9xȡReRslVNǻAEߖɒNh|D}1 v* Vڐ HWwաI v K'od\h4RErr'V@:K+&vadoyШ؏v|rvƏUOpbtxcmK#!rG#^$'vY#wF7\G ho:|⪋ePӣ݈Wg:^ˣmµҧ^P וGHpzq(xy=bcHAԏ8ZFOLpӝw,+*VHilR҃ xMӷs5ɠ+wV&3KnYDlEYHwIF?n(H{Mm) 6DQ"?}ayBѪGΝIރ{`9s_(1g=U;mib *Zt˔ uxSGTSxp GDJ 0xhZ̓lg;CMJx}"5ZII,/=lS λv_ͣ{%\3VTfAMp'.Xr1q$I^P+G.P8z=HID;U?5XhbYD`0.#]a0>cF->n&ގ^b4@3V.sG..z4H Vi=%۵y]W)<-f™Pb,+S.-uk`X=7G'[ ,@42a u0o% =iD+gڥ>91~1м66 +'cj{?H81C>/K_4P 6OeDjȯ&c16V^7LOU1?DA%Mٙ61@^z'[-\"?;>$M9y@PU0%sx2\Ǔ?co.b@E!;d F:NrZ'UūYX|7x 0W:Zt"V$4 $S;h6 hfPoT~kL5TP3P5ƇRve,kx,!LBrdd獚&f@QvќB9kmo#64Gf* $ް6pv_Sَg3qC:텳i ~O[/h-oy:o< k%0<~mU ߑxS4@G =>%wp gM.=Dca%]E'*x6u hW`A;t|_vX9 N0W'#45d$QYPRm%PEPƩcj*Ct\1u⋝$~OOY4^YlqU\CoqʈoMH $rTِcySc B-beX(8F+с$7kݟe\6*/HIlmb)|Tl~F+{H&ݐ㥯7ؖj8/a=`upC̍)᠉16^h+,9PClvhȧVֺA~呍TC>OYx.sB_gpxNQu)X@jN<Λ菘cr=qq'LڮOI`CAB1x!PyLi|TdJM M ,^ ;6,^(A)˪4}UN*`8ȯ螭o1Vi.W\7+ @x|Z3&?xKi0-_Vn?BjL( ۼh1yC#.VS7T8qWQ9ޓẓ[F^d Vr0Epo}UoTHͭm"e={۠8ʼnNT\(ӉNs-@ZuR FK~*Sl/)Nƽ=%3_CH%ʂ_R't=)2!vmlpsokgL ޽33i^Y>z9=w; ty8g:ܓ̚揨$`b0YrȏL)Ig -Sܹ:P~jqVai3wԈ.ft~ kϴ2g`@>^z~xԐ% 1(9Ye06R^`'P?ZU|ʀ[WuF a =$FK:ist<~P ?m+5_o4X85,FYz0cB%ְT4K{|7x%9z$xy mdsM Yxeܺv@KAP~$/ tLpUe}-1*DVNϯ[+>0o>hrzuKoHvihY$>d6uPGPW\j o}[X=#Sk[9W\ʨm?S-45kC ưpɍp,ؗX݇oecx^2y5Oz -H P3HLF<)+sZB(6٣/''/u(VYSmNv!.P(Vףk{ne׫(#?έ3GdGİ GKZ%*H TYo.h~_xtdkh_#WumO '̚E$RYP' <*(@6JvoTAEطwQ7B@3biFQwŀeydo˹?Ǎ!ԛLn8yJ LeT<L8#7p+LjK3q\ ַ/?0Cuj.=14U&W^863DF}lB7d-=ϯ!~jv?2=ѓJo/y)kw8U30 BvfT.ɹAVw6ϽZ"x?v& {VZQ*Gu(XS"dh6z $3(0n'e2%*#ObTC$"zQ¨rbђ!Fn3^5ofDZ~IwQ~Gŕ Vk`SW%;QBijA܋rzi\/Ɗ,D4D-u3Y׸ƺw  g5јLwdcF@*U]ɦ H~* "TrA]s/̵ !De T:9?yU\\c/y*- s-ҺY{X޿w{/XC՘)ڹS- h$\r Yv> ӱ#}u"1bpqM{n.r B5l@Ed= gpuc1(u 2b40gb6_x>QhYיp|b&MH|%zOԊ9KMu[ȚZԾfO+xRLb0, Zd"ZГxK1ι|?k=|@+A^oG* M&/&\n&uHHV_^`H.aY݁}, pDPX~˪/Lx\݃'A_CHVu`hc{.3C k= :৆ wÎ ezCهZb #~9dA1 v\SqVrVb\@"gn i$ۢF%Q-ڷ}w ]Јd+ 5Yلq.p2J.6'e*t8itYQ?7}%LnX&`-vG' sxěй`HV]ʍ*G< &Snhe,4 ~1~>Č \F.Iڋ#UG3 E {WM$ƉeGa;qrqoFg.fIx^&%gCY>_  nT'RɎw.u3>sj~ sܻ̱kâ9jM&8f n#Io <(@W.YP'PF̶y)t;Ss(Y`* bW?2_-s;0`=la<[x _Yk@N-=P*0FQ?s7b?o?#UPPՑYf Bؽ LϏ?B7́ N-N2+|TH^JE1& bv3n50=.pm}0,1lJúK怰B (LDd fCWv%L\k4 ,PY4݈W)OkbqN;ҁg,D``_HLP%rUCLxge9~"g *wۯ=W*[.j#* OnĢ,tpy^pY,*JbgO$-S+;R]ׂ\pONk[e'^˕9vID(U7H3u|9|.ܟRSaL`E\:xRۀCWA8 "$mچbO aDb?͔/S ![Qf*}LGR"d0DjKNU+$kOF3mXLap[S$Ѓs(9zYE"RJNSq\8}HR "9ŧU⮐S˺wT 2PYqGfRY(hbPvÎ: k8nk۴`Tg۹Up( 5\m(K z#[Rin#| t /]&鎍_w\E=s_}ੰd.~Q1V`fE*wb0njk&%y& QF 5qw/BVulב=>"L@#RR@LWϗdkw~Fi#Z/H"jqozzDrdrW,ut0շ~8 $%nD}u rb+<jMU3YJ_kʺ|C6Qwks^'(j*`zsEwQ7$.0s " KKz v ϟq,K?v]SŅ[q?:o MU$q >,D"7 6X?OX:MwtT05Б_}?LAųw:5ee fhr3D;$Tg=Ǹȅwg^t#OjG wP^INv/xC TD$<Ѯv tōcdd"v8k00m2_xH[c9 =*P;Jy/L/ڪ*AaKxv Rh́$Rycr T, H E!Ytv2c 2Uk5U~ݕL`z4l٭+5mzxBpe, zeqdTY& }Vr 3wRM֡YpvF {+|aEϾSަğ*9@(AA4jB;4[CZm<ɟ 4v]LNoM0JίO./ɜnqBw 0+BqX@~hXB8Z1&[ߕε엉mN! fҦ;80aV sL)}hl%RiQVpF5,CqCyEI58똪ݚm!-2NܤZ+Pu -|5\=k8LNh,J eh-JQǾ`*V!:t,q=dJ犂6Τ3TwRH` UUrmN2?~HoCcZ̿ ө Y, ǒQ9kƇ >W'Zn [Z9/jYRߘh,N3WmJ]&Lʚ2:SQ{FfZ3v>4 ߌHц]˹ճ&Ub!JwUЭ Q][oߠ^7B;8]5gV pP:4:'0Q!41\h3MhjvV,)pŎ+IF CCl;qU>0(u#p-d0}#`bf`uiǓre_ln#Q90+V)jt&9M Nf#Y&V"챌O꬧XZlhі '0WCq &O ?+X-rNI=qg8kکdbgh͑f!K&o6K:\ӂ #·HELUU. Ս8z2^LV9sΖr' jT)i!@`u !י!W nZk*wS;˗ӝ6 PGC OY(!^ʧԹ/x`丙^c$[(%M"__kNxb = z)@/̑g976kJ=7nӓGsUeh=OXMXmD(4OkB,l<^u'hk+"4Lf;Uie!&=gSj8>%N/:4ڙ[k|+'mIaݟc1H@üeɐX%4 HUlF #䥙QR٪ar֚L*_s?$z&.R2gw`A^Xl$Zn )~MaȝiI.4;g%p3*^܂bB!o.JW}"fyR"7؄ uy8ҥ$I[J2 Y5 N&NL8Dy*1!@>˞>͕qiWW1˔\ޜ8-p&oHR YyW0,sa=L"9^q[=&\Yd+gnX~pX, 9&JTaRCZ-Dk  HxݲDmׂQ ևPO'+.O`53''Ogz`7(xqHFJd 2.>='DcӣoAmxw/38 ipV[$sѷԆE#PR0jOB m?nt2$q4wϻYp),HꪪbLXM1NgU7veK"Y0VT #|%54oi*Dpua-#t7qh8ߥ5V&pB/spd \l-Os2k'&>{`P53,Km+8Fyk8B KD$SøTX.Æn졣MWX`PyvZ@TχAoZ=B[SjsKc5 OjN۪ *n{]p5dM\3RRVg@YWw0ؠYw r:Sϟ&mCIhǞ8MhF{ͩ*j!t Ɠ.:FZU͂JA=FKnύHԚ_Y9\DgjMl0jhp`/!нT?swF 8 WT"{6ӻk5@i}0Ovy=>&yHX]D2w+Kw,)NBWm()+u 9Plgj*$>,u?pԇstzlrhvsv'ak h}DwbGY FQ(̊7i0#˻{'/v?AAg8MHvA< 2Njŷ34K/_|bnl@@Ծ+RS?m$i Z6x*BasՋ[9b%I'[9_NJ\_X:}W[^qp0`?6+\ ƋWk\B%rw@/~jF㔥-ov E Z&&1Tr'VEUOޥ^2X\-M ] 4KVeXFZ-TŔ v g2+i%Q쯩Huyiibeq>ZVC%FGaW.J>u.腨;/du{3=pU1 cV*C>si) 6ƍ/x-jUʟ~пr,<6`΢<9`ÈV8F\Gkx]>/x|Ӈ;&YAEC`ZxNE08o?H$&. ŵtQ?Fz ᆸ)tY7԰!hV'p+#J_>\ a}emjIJYU "'f=#=yZ N!#uN?%T sTBL_ V~(]m*N!/U侴vY4!rc;SZ =ߴ3 ^*ڦIZ=3à<*B`i}wF_سYBa]$Thӂ$rO3 Nl

!?_2ZF 66 Ꞝ * BV}t}GqvL_#*i}36Pa8ffh!༱ ?KVm#(hR~Y$&*<ăqPHMn\LI^Ȗ6zt^T K-5EUj7(y&/<zf +%ĩĪ  >j`:ԝOY<@Ԗ λXvMv7XtB1rk>?ڭ +7nG Kg/eAO$܍J+f6g_%z[ NlsʱJ-Mbv2G ö&ҰV M8m]K ˹yjNEO2uw[5|vp}y$=OD%gbՀ.Jڍ'^oTY ~W>g! !-( {jeEbEeR}Xa0ngD1ܖgp Eݨ)lAV`ƌp jOw I\Dm2y zzz*4zյ梅G_1A9~ղb/TxK-.ڲݟ9x69%1Jʼ6 Ԣ%BU6u% D+lQnC(㐮 ؠ$}9ɑ`吒L%/aݠ~+-#Jli5= TP0cr6E;3\0KMb)G\:zg_fZ&C4(Wd!&p/~Z٫Zo lzw6%tʏ( >hW ;Yx3[=g918 '|<\R&/j'jt!dp3+$*ץU pEԞA|&~-s( ~% jL(`6jO [=YgZM, qDPi,rhv6XSq1*ZDR!wܱm֪.) zkHDvPE02,6ꈮI_+?`90giFՁ &8Gt~32޺afp;^Sq16"(5v|j4ֹO'R6O_9x"CI웅z=WgV ^E9l }afӧ%L$xN^ik&e4ek113tE_Bb5e-4AcJl s]x 9vYB)K )5dMmޣIȋ'SD1d E5~8đܿ-q X)t fޅv̂/)(9bv `}y+pr9ٶuT'qjl03ݒ3 wKFrl76UM4ʊ$s"!qDd{q[]hZ4*5KsCwF&j#j2&<F.;VH>,˄ǿnItڣ{4893M|ߋk*LM$P.|e"F ԃ>nujw ՙW.:'VWf+i;qi ~?,lvqO(F݇ߒ*9;רEcdiط9|&~U I!vL"${G??Ci.8^ |,o% aUpYi7*qΎ*8w?mͻboj}A 7 ѭ{u%z#tx d;\)#6tbc3ÅʧQALUp.qLv B9uD] `"4n<] uwz[PZ;<fXq~?N:zn$}si^.v[r_ʌ zR'ږ'ǧgUZ 5C"2mfvs2K0Yd"rbh#hԭЙ6xx喜3le6i 3"s+{pM 3<|wa}S|K p%:fk֡`9WH$oWB|3R+ g|Ofv\ eAKƵ'^&VCd)pKkj\Ǜd Hm1r|)~J4Ym( R 9S( kwYsoS9Hen=m ]{ߴɐ Df)ƹH'25SEwV/dPb֨ )n2S0ۼK=*(Ӡi8 3̱?%Np\1zQ'>)ޛGQ+AˁHBtog{liG _ijX48Dǀ7^!iY5x ~`['{{:2ƤXQJޕ3ο3M ұgn+Sz=}cAh$<9xk`(.&*d @uA v{RuĀUǀۗm>j~? 9?$t#\u ͍zI,p 6&169AwMp,itJ=@UVmH <l_QPgPwi}Wq Ԥ_?)S^_<ٲ}m}$-`1P}"1Cv|~EMR"ܣm #iRChan9f{8$\6YsG`qb&&ᎻFVI"PpD%o obMaB+X { rďT/BтDZVz[1{o<ۿ+@ -S2)e)tfQ|]i!sFE.us'hq!+'+Q Mˠ66V]^ i R%g{;k;=̣PBSA^!L5C!HCZQ3ǑwzQ2 4f#)3weV̉'5ށ^N`:AS)s!*ܥ[_͊ZagC*2TE]ى@S1yHUY1HH/p%ya77[OiiYBgqz`apRw;h4'E .{H(j/aS."2tyNkTuO?Bۡ/L~,ZDo"!rDl Lr1@["ְYK XXXu,4k_{5wcF]߁}a[{ysc Nj'UحolFi*d+o"$y25 n..Yi^ށcp-Nwלrvr2spd0w+tgA7FMl g lgj߳c) ѷx>H(r%l9Sj>qFv<⠪BSAy;m;QW qKDp>1 v发>U51D]{xs0fgćZ\^7鿩MkT& 9^|\iW>w쒨e<)jfVV3YXLA=Lrʮ3)x{v7Oey|TԳWx;oD"Յ{Lzb,$mړ; TPY0Ztԕfr^j*CHPޣ}~YDQ Ss5yxYy%x~ ab+2ZUE4Fg/iM0%I\^#@KPei.jl'L>G;$p9]Fh|ZMԪ\в2x:ޭ'],H -)ax%spJK BتJ}YgItu[1"GG+BEEEf*. ,iL9Us/r-*,k{2ORab+ C kͭyE](Ck3%99W/vvnq(6Ĕ{D5azG*sp$v\O^·Υ> 1$(x(svݧ-鶟"2hZDIՃYOMY{CJ@A(EF?>H;0˲![ צ!DɛV7Twc{lM1(⬯#q$uLP@QM5`d=@t^8H1qoP:g@1G4 %ko^|too{3|ơ$vFZ d9E]DvȻp[#>.@"E?_ew yhv @t[(uaGVsPj4V6("[[fzRS+ދڍ@B(3سO4*󾾪aޘY'FShghxGM<VU6LMW[Ɍe_]@H `HvNa޿=;`ɴU>//PFof$fŪV3FC%o Č:P$lm iP NAv7llСKo9axFS]]( v_粼7&Ѿ3?ff'uz[^rV zo ¤':0ftHwIV>ցصRp=DoAfr,s64;D('hێl0tDm-Cԑ"a20zc/Dlh'8ybQE6Jn<^'Ĭ]b;* 7e~:FRD^_;JG͵""eZ>@\1 h;#r;FSOO_lxSBZateM˂$Gf``Ҕpj _ JP1)z3l LibۓFv2[.^$pwdƖ,BL:\KAʖ|iL`lvIOl1cOwEN3zס$D/q b8׎#J3[y{w@ƺ22 _RǢ\K#+w[ TU٧~뎩R(u} .(6I;o{(}-5, I_行JWf{ !KGeg@]Dagw:8d@\qbm窣v]S| ;'~ ]M2uw71ϱ&}Sܱ,]h1Q,ʼ3E =+0k1Q@9&157=:ұPz_< $7::<3$|42sei~!$:H''E$;qMyWKVrYX x.`G l\عƤ }S}Fkuw<ơ$; Do˔nuD! 2^/0(+ )|WC܆ dqZr-fR F֭P5N^;pR+K934eDP Z\ 9rRF#ba%.W@} "ȳNU,fN?m-PI9G’2NJ#iAX>bbq Dq{{"*R4bg٩R'e@R3/;}PDJ*EJ<3~j3q|SiV"U]ƥucupQ^̶ߞGϤU_hY{9%sII:)x8J^I"`Hb7gJP_53N5Y.20 sZoF̄HEm_F 0Ipc$ zԶKc۵҈|.61c{s"\&.T%<1Aiz3վ?yENoB? 0H1-X]wm>,+$lu99V6jDk+ XxKoB݁{,oD4nPo Sq )b rQ)&oUMe64t GTL+ޒy_Bq7z@n3%(dPu" =bYE4bq [liݙzj&IJUuPF y-IߊI-!+C'B5cݽ9C&4S5bm(ux/(VUZ2wF& ǂ8 l Mhz*φǹ]'nD:,Dd-_Ò?RUƧU%[hx?`R (-Er}6ZKˇR9]TƲ+FZVayxwig4 MxN46.*%oaJ͹!K|!|ҁ.M.$H$j meū cc$zyL&.\5&&#rQ$ay;!tϺۙ׫(R!)w!Pђ9D~lsb6ݙ$R~")Yrfz>^ZX'" ^C F'vstD^09\+HwssSuc(MG.{1hh<./Nh) 16V oj Z-NF13}3#<@#4KPiD;[ߚev ++kY[(獬|D[3{䔱{Psj8 _ZFdg/¥'/](B3\I/#M*X`MÂ&iz[g-/3: `*3rUr8K d~P~G8agKNz,"_3fLKqI vHْf@7@i|p.Sq9*dvKuRzO_bb{wo2gu!"@49ԠEz gpJ AGʑcP@!3kF`5827)USm6<څ;'n "25(1 iN%89"rImA--f!O8cq]eWu]Hj3E^jn.ڮ*RvWun)%Mwg+7EXszso{ mAc'O#H*M F:88kT"{w2fL:U:ހ7Uige Lp.sg76K<]52bCJ>'p;Q_X .?i_\<&0:sXl$9ხ:eXjw^5c=%1y-( Ja15T<䙶X9B 11Uܩ_S`DVn4BbC ^uܗ,*J~pQ:!\XQE:mrϠHTk5 sJ:ֲ̨5"BZdg&: 8y,ep{r i(`@1&a f\2Ģ.1$-zu&6q3b3~"pѭ0c P!z^[)pnjgpJo<~ЕUnanO\kdh:כA0.[i' uo0& "uW1Bsq_q g9'O~H< JjjF 0Jx><B z},dzOnvāp-ǒˍ71Yt ji^S^z^7D.\sQxOQ֧!WdaWTXAEB(I_$oصc`w3 4VDxO$ vXkYd+0s [ &WS8dlDS&~U%89HlT:8^.5H3Lv`t3 O싿26pɁ}P믩$^pWx!摃5vX%]r!s^,Oz{(˸qι5!ɜ>XXjSmU:@ax8d9nF%E&-2[QOi7fM\tHdJ%V>N<3-\zi7νsoG\ptyky*$`0w7KwF|`| C8 7{/LLȕ5OѼ^2C>US(SFiz*v< @:69CB 8['JHOR_潠L!űB| ȑR{b/wN IT"J]5mAm=]LJ[ /nXJUp%=y_KRU0i"*V,ݰކ$~PWW3Ej[(T| 4U%vN0?>9q"t/q2vMXPOM qD}2O)WL2o0i8Q $x9PU/`J*-҆`*f塄jtNY AJ%2Mwog HPy&,Eҳs/0T˸ JjrYrڿ)!4i]n)kg+7l)"b"Zq#cVF=b/y;iGRkahj5\fr›LP9k?_?qd]yڒ p-metv}TVk䨉X&Z)'!?'+rbޙ꼦N1#kȸ~npS$qY[bѵgms0IW҈51 1uåI;\QF)'aH*e{w˪M#Մ%HLtə{)=ȧq LINdHD]{.N O͆lnt:=IvS Z) S!mtD #Xư-U8j?A|yU&ӂPqĄtzx(S!ڈiOpM͓J10gƨ T$!T/d74 Niu8X߿FE@&Y[.nl*Fk"_ٱQ'#\pC8rEp\0i"/^nǪݫԝT6/ӎ]}M^B7=!qE pi2뽘.Q%/@toU|}(rѶ< !@סO_2NǖFAUA灾ˬ'w7@ک`i ~%>&"54w"{78}gߏ*!vߪ-lc& oMʠ^ҕx|КmG7&Kz Yq#;Ѯҏ#/5PBh\w8pu_ ,w 9/(A3c '/cipքs:|(5? tOMu+%}R+͘opO uV%@gg{4ЊD]mԷ-J5YI$x]6BᝅfRdrr5+@0^mB5cCi1yR,,غ<W*̵9~uɝW&v[18K 4v?guy#G;*ltt;]߳}v';,zZ7,xT,P59wP5A&j3NTR-To3ҙn3< Ȋ+|];f=hX- pM2x9iu E}p(U ejkXoUFbwT(x܏ ?=]FVȞB]MiNﺬ l8$l ^"di$ܰ&pKQ}R*56LSc \ǿ wPk5"'̼#\v,*+m7JLpؒ0!F-،ᮁѮ98\/x wMx|@S} JDG^ͷ]ۭ`e]A c HmOʑ  =opLhwV%65 0^Ε05a4`> c#r~vJA$iwBx m@Yxv $*c6Q oN6'@WşX.ac L}MIdW/x]2@˘:& ykKJri!n`V!;=;BǶ55{e, :}9#{z 0\eUWS\NSRXM@%M +jeG~&l5NX( .'l2KY'N|i?ZL]*dÂ3/ި@Lope#TLcZ:\s>h̯&p;G_L2_?OмMZϻ؅)hAiai-*DT~dꦬV0f@USssaչN#SGVgtG`Q^`:&;-pWz$)u3]w|~]]di _r s#ܺg.O=Z)]晗4@r=pUkI{V{7f`?fj1vH,?0G#(.Ev~x`As[-8oZf!?4ĐUo;>LiP1XSXpu9}k1󈄗.g^'+9:7#Xuv6{\/iYijNXAĬ\bQUMr8ة+' mzbPeuBneJ2TbPDoJ<ʕqy(!έJJNiV $}qlX@::>aW?V'D˄QCW,q<Գq1Kg@&"{n@dvQMpdw|[ƍ;=̈́竳I)7!&p*_06FмuARR]g4(i9h4fV޾ȃ԰s43V;? H<~,n%:q%0r>x%;S:ɭ.U 5mxۼY PMJ[wYĐ"oQ`$ A_W?w™RA YV)]:qM5%V,m5׀ɺ:ꁏ0I 7g&u7.3&ԛB۵'5xg.gkVY]޻4 )]b딭?^(c|qW(IW+cܬA2{^P\j 6TvByמsw|6uCo.?9_u}(V_blh={ѧ Jw"}WJ@FJ)4;yōOo=Ǟ.8;']quKDìq4eWp[[XU ȱoǧ<4!,ۗYm{B&:yP/Gx@yRaw3\Ͻs (gGmW=/8* ;t[;˹ yOkʺ5^<A|>.Z'rtrUUFa>"ZPf<&&|S[:D0 bu$O)y X]T3+R,.Jf~_ϴF X^2A,RPCZW_%Э{FM3zE4jґw5n܃a#1{8P{=.[ݼ"?1vb+,CߊG =ײ+nNPB?Dc$k'k`/sKٕ ]B wT _;&} [rfK417Q'8]Qcq?N*H{/0LP)V8>(O9mu Ìo=Vo$Xj#K)j\uh{ޮqk!s=,(!Q +c6x3:S](.|T4x w^:pi[f2 *e %TdޘQV٥rWs!!qŇl]ϯ.H[p7 [1))pNAnq7 x/2eBUuIԇDAr."$3Y̓O`u7&Ty,ErH(DKP-=ɕeҸM~JTx'*FRd YW>;'總%IᅰQW_}O넧H\v zkcti`4X giK&I;)X2ᤦ& gZŐfza"C"2ɋfkͬ!_DTdn&M)??:п<5diRmMR$]x.%X%=!OиR lK!)oq 3T]Q|z)_ 2hz}ѳPΔ3oqQ<">I%OhңEU]Rn9C;R Z9{?*uOQP(AsxN֒'Qp6-enWf/ :(&-%vvԵq%"Y)|y(qgkn 0gkQl2%H1n ">$9]nVbkMVwae%(C9Z WR; U,y5p8Jf 4Xbc+p6Y/A;?Vm}Mv`zNB#s7vp6薹`-Nt/M/(RS1/=*[Yv@)-4Ӄ}eVQ*M- T 73LOo l1?nW  ԽAͣqYB{q{` Lk7 y4 mr>3/SȌNYK>B| &4]A|OVHxGPPr:Sxw=Oa@m)Տb⡬f]`x)\Cxҝ`rUp) -3dNYݽu y*Z!/Ɂ=%렐eD[ul{a$mf}-ǿ21 2] r}Ddð9eirmWAE̬(lU{d#EٔZ1hMȹ-1ljh)(\vg}65bpP4&qpE薡YE;Mnh-HvսPJaO@Vi3+\L.Y*ig49,4o6aʊ6NㄓRV>|:M%;=˱Xǀz0ԧ!ND9)ة|gbyQagCm`ιcr/vHI-Phjߙb7k$#ZTc]XqC\n~uQ = eJR {OېǥNw'|Y՛eݍ4/Yꈏ2O߄nW42R^MN͙](b@~ 95$ɶABx(=b7N$@p<(Ncԣa&td75@`**ƢXؐUPyU0 /= !`q^q=,XH Di@_i8Zi un &)E\qyNkU-7!"$g ukn!rFj:j;f?Mh'P3h;o >GJ@X.rė"t6>(ۗX  bB@* ٣Ed TE)gl-ok1JDKOf?Q1x2Xٺ"hB\o :X 3I=72Y||pb!5 ~Kej}EĘ>aB..~󛋝w\yqllY04i\ mE\2uT_SqzXNGN(R%E pgQ腐"`L5@'u9.B6XX~s:`c'Z#i7~ڦ4dbg/ u9i 部ч ~^qɿm/K,-6t5 |&}o:P6/sFHbF&Ϻ6f r[co$o}be_h]V&~YIUJofnQ1v3;gE nߥ0t3'GVUZw^]5G?;iA{0 /`2KEndzF G!@~zK  UvPkYT~xI|0n|y0OBKЋހ@&Ջ*vKAIW2'*@-MUϯ92F:W8x Is{ 6:Νvb12t6(^=EHpɄ2gҴ8A ogߢ\3/u:IGviyY ah{~wI/ pBwo/(N {(4-%2TN]3|k4tH.u5J19o+#=)iV!yJd-.={#Pz q^*)}xbu_: W?ƾأl8T#Qb `#> ?eZ@6ni֩xxA:?k0"6mT9X+kla,m '->.3(+ fQ2=S#D 5qq;; ! _^Y >ze\ }ם^u2?W, 7WVoeH''Z^.jW\{h91TT/6ڸN*`;v8r)6@|>l'2S4!6:=qeر~7 WpZ͌ykr!䓪}3SK]!+]T`gH,;."$8BG@d`=3v7_(L prAD^D{mN-:#j-2W'k91-⃑xPm؜`}FE.).M``uCFɳ> 2wOP[ѭq}'#J0W[" mѳdKè(jbkX6Com$u -:!rD|U7^rmCR>_Mэ]R ލ;Ee"m Xެ:Eu})i8pȞecs(NēC{[fwz|"g< EڔPʘ *{[#}?0&i.ҽ.QL rB)8"tpfSyf3 b߫c*eQ Bx2?s&gVUsbR6Z^QCBEN r ;|vY;UQchFBsJ:L\2Ol m $znJ&48ƑbK4:H[L Rҹ F!UtǏMֵ@T4 ޽@L=*Q`h>j<\94hz[j:trB̙@E5m>A7.E@`;gtbisO>HC~lʷ;rXa+Q(h/Z]u??RhS=Pd5 ;a6 !ݜmgXc 4V.N)%`jvSµ˅0ζ}4<( 0$o3u* /-ʀ?(C|f x1LKO$qjU^oșu\ٙCX;R5ԝD:J[gS8qVPy2ܭ@]M|F+~XB;pI1tހ^r}'NQ''ˎ~'B{-\ ߔGJ^m'slX_[՞+.@! WdXf"٨ܠ0:~g,tx.ǕAosK9vՐ\*j~$dP$t fg~ 9weY+Foݫ#0OĒl=36y.^SÐ.#T,_ݖXïf {';HRqanצ$Tq򨕧",#{>34lT}A"p>c!IM>sFϷO̴xag뢜,Nrk@˜%ޤ2Nf谑3y/Tr3=hz1JàՈĹ/>9+jS:S0[ I"V?2CMm7j)taI 3c\ uqAK N\f#$5G SzL7o='HSؚ Ra' m8xYe~jȪc^h";ʇFE_dut@zȒSg*u޿{k]Opup I#M%>mpva){ְ[Raȫ xw)݀+G"GI!M6ϢGJSЉO{B7@ WQ'a?G?˖{Vc~mF c 94wڱfej`u~/9ȸA& I-n@7 #~x"[ru_S}7Hڝ*P:| h5GCsE@PK*:BEBiupklFtAK3с0!; juvd.3t+fS˶c ì5SNѳAWJ^5i1X2):EnWL<͇ƞCtvs(݃vWrdN L[IugQ b;iu=x՚{90E # oJWmz5O^kSHLFan~xnm0n+Y}Ε=1BÇ F-5bojv%vP[cJd#83I C cZ,l(p4c|| }`WF_SmIq^ I o]Nפt%Nӡ2ͷh>OAa`%7 9)Ɠ%A%v^!L:e!dZWi#JBjtCuU +N$^w'Hy:98vQ~y˺XA^Z][1Zua#7\5=Sm^G/>^QNa+'UU4H*b 'l3 vZmR,g-7 d@2n6ޮ3f#xw -}/,5-;<"4Tu0b;Ղl EZLΚiȐ]j+5'֮c+%<;RE?V*e|8j?W82\!ߥ2af y'FûT>P\bkt.@5ljzT7DNih׉kDeo&UT9)w9=Ϙʺ.gC˦z#ISS~*e&*t54k?M"HDĘ|<4zo}r!(2RJxEōt` dתּ~ !Js?`[~mX}#&\# ތyT]R =1 /b#A`kdsQ^` M:NjܿҼxp3f mrrBw? (":0H6_ǣcG&2&@v&u˵͌NPJsy$9I/&7EYTR 6Tl菗&Ym[K\RXb:SuBSe5)!P UZLRAy :OLO!m5$Sl [ŬӷGdjjĿ~3jS;chG)a%Ae9py69rJ dJXpJOy.E1? qa?M{\翽{DKգ !4q5Qѕi响Э|DNc X u\9[ MKTb}k#mL'\m>{25/=2[G.YIdդ]li*7d9wɈTit`Bb\|*i婛'dJ6]MU |RG\63Ldj[95rl 4+Pjѕ޻fk2TPC8f*t,)Cv]4Q2N|-o 0ߨ֤q3n%pҶ!rZ,3h4^8Oz5MzY8{6yT,κId={1}TrqWDMd7*eM5uĿb!pݩ'\G9Lư[B8=(}SQ]2EG~nfPw(F1 MLzQS"xl1 -6Ku˶3SB[K+4|ǥh79E @+) kMgnC|Q'{vM!/oZ E̓8d<m0io OmOuj Yc;`ERDtXoeD!FQW(ZvMUoVAޘnX<֙[@"HR1;]!뢐K_!PJ&u*kZgo5yêL\_tbICN9#ܒҔСR$_rf6uRtsNC5dBpL11 ThD0tlu YOv8%||ؾ|%*45 jv-wE8qxz8bf$ $Ό j'4CfyǯPJ-KKTה/_<7| x)^6W95çdId\.Ǫvu]b h9WW"k,n @kn`*Vjt2-WM[#tĐW^@˼y9p %&u[%ܦ~d8Jð~.Y'K8: e阢,GK/8W5r/ܓ0N㼰<:6UuYPFv~/fgwj@Z0>=^qcg^碵39>n>@7hPD*UdANRT.۫4CK2ϐG cKh&F'BgS졹*sK9ΗVY,!,BbYF2)a:GJ-6T`ϛM%v7*ڔU]IqڲG:~C̩ .\H/ +Sd^㣐[#o-1mUM?-W}zyi~YZC3\K!yo._jF?ܮ_:Z\ %G-xFPǻt1c=a!ÏORfAt]Ag@c#K"H/ІO+Nu{  Z䈾g?~9832RjM}L䡃Gx]C1\X41KfIr 5z-]^IavxMۭZf:JW*6G P>(@gŖyG58LH X8pT/2u=<;=gu9M s*4{6XIH[vsN8uiyX-k`hXA_}ۈG, jD\w ^,|#7"AmԅS5N5*UXg4Oj]@8t#\uwӚٵQ_ΓB{-ݢ_J[*J֧b$[ab#)nUS8Ei%#xr|oǽWPluj[H½h|r5M*q^D R'q !33E\͟n%0|o@7c#P=$h4\?5ti-  L>7cxoZ "^9ރ–T<ڙlxݝ ggq)fzx\d1 H8hcM>h-F[; A[C'B^,d!v%ȬIP}.pS~eĮ(/ O5Z6[.e !@Hc8ZhN,/79 '/G?Zo<})p`0x$G|5+ƶLCoEzۦĥJPYfK[K͒*oqv*I~זXĘ hoPNչֱw(r2px%ӹxKjT#D]0ք]Xqp_ #y;:G>dCj9EfsyϘ]ۼ@ ¬#x$J،ȧ=q0 ()n(?8>Čy"KқG2\rQ|^%'YSޖB/c<7\5FUpgX1'd]pMDo[BftЦde=Zrfgįn #vp*NlY)I,vySjɫXsz&JSv֑a<1|r.73nv={qw/ñ]b/ 5il+,GbkН*+l!r$~/g e.HR_Vdd{o{,c% <1DCϿ.,StJ1R6EjPgҿ&-C;QTPӶL(`;&Zne:8 BV 'ӊ“U,>;'ۓO Ԑz Q24\4gP[П@q ʦ$)r'׏quTq~vcw`1%US*͹ɭR)~xfN| yV6f 殽JѤ6q}HM3U̖ܻƍT (Vsmٜ2UfF;B?uÇs#{L5mh!;РUɽG#SVuop>j6zG |̪ 6XFFly63%aX,?vT:87=}Awye $k|^s`bů|i/w4NގՇWxFRr1y1 W^0 ~جǮ*WI0ޫpPn<ߍWRxDf1 m%@V~3Z$21|lhuZn/#"(|OR $uG4’ = J(d0Oz`c&:w I~BؾsO|C <$y%a$- Q#&vs_Hn%l-nqTNe1X?T^@*ni?P&vq-]&S>rO_EK@A*M^hzH7l]K[*Z0=^zπ tWq3',if5 BUݏPtbBVیZ&9D}]-Ekv%{v:e/A/N(_B6|0۵Ŕ+Fڂ hNJѢ^ 2Ua"\4zQd917|tԪrqܰR§?kĴk*9 BXAy~}c.Z70QTJd>[LmTϘ1_+eMWzqĨ=bK_e0=% qZ qAX%8u/|::εFsrh0jrtt/ȉ8ƈr8z}vmY}l/v$RD 5VeÔ" &P|PZZ;$ޢxܷ]3Vӈ Ō$ Ұ$)(,3LpRw apT/cȿ "^bQ1=z<ᄅxʿ2qLA祳,CʿE1Ys-G80#6xF\&%&t>[ @EDDwf)R6x4xRvhc}h>lzi%.J(I 3+RyήugiX&U6qD%̤f;W/:Xzе'Lc;/o'j/f}1:ݳUaTp}5!a'!ޙ~ yPVta)*7oX4ȭ^,r#ؐd_e x/>aJj%Tކ?Wa.^DCKKYs rԱ5ݺ&gϯ]\x|Z9ƹ:'~Rxp F!osMj/nLP UC5͜gi$ c@S9 t\*V)7=}*Khļf5Re9@-JTP<'+AJ# z|ˁ1OmR%uAg0 AbghO}wmHd#CgÓ+n;H6ʬKO3v@`8 4Ns^b a$ 11̇ R0m٘6j=cZpPn |k.朄!&=gWezEST x`ZK,p.5,gSrHZR _-Zڱ ޣhpjHCJqjbr-r-*髒sny6wNN> bTZ.>{:!uw(K ,I7Oe'W. 4ԅRARl&'m Bb(%W]FW@KOv`]9 y參 B=t(3:6Ă pb}#5SQ<ݗֹjM I݁ݣLܰ,= =l'tDUŅ@lu^QzkͦvK+۷/|{ kտzH6y;t~X*M><Lm5wk&KcTm7> +rAۚ#15\ٯLPG/ t(b'PJz q'M?a0YpsE 5zamUF#/OVtӎ P*[&uLla0=.whl2qL:Ydޏ*EKDD$#dǃV@z!8RJPk~H""R@HVf8@;~yp}7^EtaQYӏ7g:ڦbF.vauN:۽=qޠ?// H l)讉?1C%rݩ5lJB~EgQz%T: D<6>bƛx % qbF i_G:% g_5esoVذf" ICW$sOVI<9"6,s 9gZNdHqD|kp4̢*}WhdfAG#hVG UF_FM;\.lf8zbhZe#єE5t wE&4,TYԝ"&vԃ|]3;Mw0ڤtmhCQVϦp Ҏ_E6g-2|3ԉ;6d1Unچuk+JYGߠMtDAf6#Kc[/ӭS3޴:X]P%*"L'pwDo.mZ4x=1Gǐa|/XӵZ΀Iis C^si{ Ӹ2l*`sh=+-X\<] G1L:SA^4?-̳:xԀ*50yi}g -<6$'9|qиZr5*.*|Z)!-u:SeuB@`Pla'r!p373YViXi"7厚5-Ej7z!;zH_x=))][";•E/;ؚ`OMEdflq0В"dѴo| ܴM&HGX7 oB0:<۴akWYiRD$m-nOz $FPU_ Urqβ6s( =(CfG9 ٠u8:ډe} _;ԝ WcFc*L|('g#$>r׀4Az!a86%$a$Ɣ$os nfts* UgPI˞s=W3A'xS7cWy>&al8s-*ΝI}Ϳbq~#UfvZV%xb&_=`ָ(ۥᤊBxU6& 2poZh'T r"3Ж0I"o ."3xβShPq>ɠ|3P|2J&H fHS_Fnn^*K8dfE?콞 Y,NZpYq JWf,GON[=)D2''6&xMC'W\~>\A5N[ :qֳzi_5XiR_RFXx=|(#m>qVX,{ {.Jf͙k/A|kT"Tfr@o"l eI!QB VH< 1 bϠ<"y=PgR %̜%7 i/S9 +7cz(I.FU\Kz53  :2]RڥWE7yl Mop}b7ض(vƯw+w kR1SA|GY<µ5kvW2kOV>;O{0ΝA ,_ <~W+W6< ʝ_G.#rM߆/ݜD{NjeATDصӺVMI{|_oJV3=A'=]a +m/坉> S %u L{DGsQKyU<;;Yx=Q,S|E&TTz$ݛ. ` ]Ev9 ^c? e&j+a[a?p@?8xF4 D'ox u-jD,l[z)P^y [1lEy`Rl Ks =+S. (1 |^6RDp퇉8EݓCk&ɜM`E7Lߗ! 51u_'zgQ ǍINQRt$0*҃ sskiZ:uTS7-VfNE*;42%g3N7 n|]˂~]r@u&މrAOr7뺖f-,{mj9)_r .8x.l.hjP+wHhqAkwUI$v҈>HsTM@he;3x2'LLج1WfJjSF=]N?zu0Y#q4 Sᬜ-[d4ٗa/b Xnݲ Tgb%V LUL[Zx"P>i(M':8}h{j*H^l|_Ke8B,[PkaN<$"Syby,_tOaM )1E%)KNo/F4!KŤe5?7vX/(kC?N AfL.7Wv&KIo̘G=9fkOODə䑾's3VK/ͽDHvy:_{Y\!Oq%ey?pyjqC\r["8f'b!8+{5ىv|Ɓ H CsYGȂ'.hȗ}+JELۡs /F5΃Fǂ68}gd U7q}#קy5pLZN6ff5W6Zf:Q Q>cP~5\:JEc "8t< Ss97 %mM R` ؅mfv\v܀!9\ƴr`qM;>{~yLmТZ&{}ӢOVK#!1¿9E?Tf4A,lNr!XMP ؃..l+k!<+ؤu Ee;R#9 yKUY Bi.ORɍgw#gPt-N/QcIx UG6'/a| b%?5D wW(yTg0l'c筎АFTn XA,LIp' RꞰTحqnAS>[8ˣG;=:P;;|?oށT[fkbOIvvbL 80_l ^>x^s*uʗFZ+"]4vhaHr$AhɕT3|B({%pa.,j ʕq9+z83"Y$,yK2ŀyڴDUP\wo;'C+;d"A I# rS]>?q;gbM~tw攺P~U":hgi8:6p qG͑t a2\[#:/c{Gpߵ l_pP׿0 } +MBˆpթ=9!ԙ.QZ$f *$:wj(hRa2&#%(@  a)^z ?ɛMB"Kg\,z{Q^; i'd{b3ih1d1wHzz! n~wЩ[^TW(xBO@FgENFpU` ~Cd`b2ї?>MAV=p%c]Wx=^ҚMOݚ HJS~LBtֻKG?U?3rQ U,.NV5&0afNU=d4t>db"&3 >-BCHNx4;Aw|HzNŒ ?>hMFn}Px 0vYjr8@?/ѷe:uaSK4H"LI< a-ٳcmKyW$D" :Zc ~v#3qX}G_x3P?Q k|D#:Q^nr ay\N·θhX 21RAS0Cb~|N_yOd';#631vV!ƹ!Y`xg,KKVWy!P+GTjT>[7(B1[縎#2TNrz ɵZd6K#b @I/del݅>'oӓ?7o%&Z?\F%jG\KrB}qC]6({*a/=99eM[Ɂ> J-8ntک}!b{mY#r@Bv!RT{Q ! Q{"nK?.G 1R(3pODW,T<8.PeQ/ZX<|zݎFŚ @ Cm?V!p##7Գ}|rZ+?1!9Y`M CɫzxMRNƷi yˡMl{~p葉 E82w0A9JE!ꏵuiHYلFD7&S"|oGjLy/!9Y)=.xH^3;@3uښ9UO;0䧚-ISebjNUvxw[U]An!V2o3 *Kw^cYYm e0s{h)8nbծQu6}^Pj7~-g.!GMj VmEGa{]хuZPE]xܴIucڇFlmɉ-e'e̔}dHێBs{ub犩\F~0[ͪ)ȵ_tORޅ9":aǘZ=.u#ĝjcm툑'h"|Ad@oCޗa kMZ\O<زP`&xM.=mJWZ$n/ѻ}\ٲ?'G` 5ZTr/@&PS FbP-`l=Ɓ%!E-2/݀ޫyZ"V nwU2!Iڽ[N"5_VLO:: Sy\+>˄5QFIȑY~^|y*0ġ')ȷ@iVw;6u*7yސnȔZMgݯ^/>z:dT#RIXnG&H5ԤfܕB=\f+ rGA~P_$X6Nœ:55<ţ R$ DIRܨ(ʹAgKh"8ҙc{-@i mԾD v _kd\q˰ ǭ%MhU'ܮX5x3>'u0O3,gadh!U\[ȇb8_R8ufOkW{[`*?\`˿D}ך+ٽ>=YWlB>zL@|Z,V[/e.erq'q4 E>J <}kxV SӍz.4y3=CxJ-fb)|"K͙"jԔfDe "m]]?Fd/"|ڸ&-DDeo|q~]bAlCy@ŷ XF&'z+{cލ©jSjQZA̟/QL D_Q8a(e ( BŦg\n/[z2.m?Z ef69?%:NbW1=a{Ž4o* pdR[a0]T&Q! ,09MH ZcYk52OAPEV-[Xr4k꽱e Я%x^3MZB\n &VOpSb+;swU]`dB1#z =9AJ,Z@Fh `96 p_-z&`lT@ Q󷋷~/dʄL, hD>yveEXGL Ml4 p擰r )wxtJ~60HWY%(թXڌN;)cCJ:Xﰂoea-hOcm.. [ {,tߙ(LdE@Nd*߇k0m#ͥ!m>KcpGn;xjW+>4II`G$Eqרw*#F4{ik rKb  p"SKRvDFkdBΝ\L@fȪsa h9=.#@={Sd)lDž./^n'Z/a[H'hqcVa9ɬjԈ B|'y][ 1a$QQY eMo't,I ˯2*5d$v Mn_kG>B"tc l?R(> +9`|bev"p,UB/=o[Ī1j|)GmwHĽp4'gO[siy&=Vu,(K^w<UW9`7oߒ\G'GH^ _72(ΐ?}aDy ץAUN撌II%ҶE˷,DO`GK"{ Ǵ *^*W$U (Ɔ}dLZ@U4ȷod(aI^kˋ~ߴ]0\ [LIRs](Owކ.b> AuĨFwBxMK2*Ջm (ѷFS|ՃI_3ɶ ޕ& z9o.߰$mk@ܚ#g%xjCԪ*"UBR Z`!u]QJ%J@#=5Oa]rIN2Hb1LMz†Y}]q=hl_}] OkN:0^Cl@dNm =iz*8ZsNo2QJLe!W:Ro~ ؄Ce lbΙuO_ưI ۇ5SћS0U"7c"a$4fyiqݑv?Di'(7)72ZeRbKE+?p4~dGP ]GSӼS_J\2uHALe,u9iIK忰p. lq9HӀ Vgdu_pߕrӈ^B 7DdΌB:gljV`AF"oO<#~v ~PF@=v꟝n Zeu,.6Hl_M-ݺRD)lN,{Hѐy*!5 5GF0а PO+塘AH ct]mp$.&x߄|TGSb-i&_R{ :T!kt`a)kTx' 'z(coJ@>X W!DcV 4I`ަ_ir߆U%\82A#~B*?&o<큽TS9zJ$\|ܔ£pOgMDb!}b0-ԭ&| ]뼭s5[euߵiֹ/b /Z xhm.g!;3>[ ߎCcT fioqb -yշH w۩#0A - ]ٳMtPH:oH]_(]?(Ii`[*ݙdhN,լedUرa߈6o4ީSJrc1샒PcӾ8u>pX4Iv~5vtَጉ pmN:d y6wJn3 n$IY(y=nTАgA5ĄM#f==1><nlGMM[ EXژ̘mj2ck#޸В6B0t)nҬW (Z/iD$&P !ö \{O SxCde>oeؙB^f22_ uKK9w9ןع_|Uص 7٫KV)T3(6]`>{;)-2r۶Km*#e|ʎT>jsb>^喝I*'C~=1?ȷ}- ^z1?;# |n ΩUeE"Yu0^6mTtdGa1u|R]AH&l=b6`?.˹*P\AlEδ.7 R>&U`ˋcuWrd?!ޠ azTHu'E(SSvES_99VS*[ˍp;<8YR k=#oɨR$%R?{qJuGu kbUuSѽ X*,"x2Iy LlQV&"D\> GLΣK0-'Fئr`q,2AC}R*៏U18~|2VL%fFqHTnRGȀe=2:ಀ%Nٮf<@{~AF5g.\us.gml\vvg4984;ON0M3Uxc)+/} {MόM][~A?܀%$wo鈅ڰי]@j+O??õY.u A,P=3 ,R|g14RtAWNӏh+pOm毴P8G7^˵7}MٿmȽ]eY(9YK)mൿ#shQ5 C.O:g 9GL>ÞŋrǃJDLdUxd/dITZ !^#,<Ѯ:x[hRc \.ػ0GΠZ:YR *5tDU~{im q^b>HP`?iVk]aT_֜Y:q41*^ )XlގپjVZ|b]^*2\FFM8"ITҗit|&ӡ8K :8Y?C bn'06Ls\{Cp8'TMq5Exw:o#׸^\   59?q!x N /fFSw$?l)#Q+WRdjx$c]Rs f\cj^9%྆mO>/ǚvASlJ͇F^E參 F7sfӜA),*qO?S{ww r|oV7)i|V=ړ!Ni4>;8{xբJ=?v{矮2uCiUskvR~_ qnmB[EP42fUs!4=%]hOT4t)/yh+'X ݏ{Vu]9/'LKEI=p_TX[Y%] )'h6hLVUgs J!!ocU=ݫUbP?cz|d O)V"~Xt@ `,QP@$f2_9Ƥ7km!0YZtk ՕvVax9\s.7 {C:ʀ!F}*M9.Nم`WY 8̷-baP"_'TqOZJGUo`25¶2ٓ(=p!^/$\)oǔWr398F#vAi+$t Tۧs^Fks[B^MJsןm6vaL/Ә;y2)cqKlhC$ATq CݛL}4fV% VLIkT)cG)Gλ>֗"H dX D~5%AѠqNTya whּ3@p}*:8\d;_ƻ[Ad%p=8ۭ`(fXѓڰ ˲~BX`WU.uۗ !dQ'*tt/11+: *9N}1=}0F\1eBLd@2Xeէ.̉ x\wkT'Т{M"]pA8(`4Fk|CC˧:Kgn!rjhh;&}#:zٽ}6k2 [叛ĝY>NoakXϥW@Y7 uuD%MA|Q9N(^?(_r&`uPrHƟFZai)呻`Dt< ~yUR0Wah朴[ wN?IvzQY:VgG1 /Ff~46;Oۅ4X+Jah|J'*z R&<|  C8k5PNQ^8m0 a?9c"lTP}HSڟ[#!ؚBQ#]pMjˎWܰiF@*Z`˕B= ?[xN3vPq/ߊɻef *gNGaQ^Wz*V~$,X=6?P\^71a !e38 dZH;N(1c66_~Wvvݵ, p,#,^깸aQ*MӚȫeAr9e%K(r6(G^Q`vAXL0tH7 ŸQQh |l-+YNیm%^(k̯ qyyr%TzHjq1rV֜2(=t^yļqOiZ"J [%RsqTٮxe6&! }ҘMv9_v-`Q#"o 7a{Rbȁlo鰻 [cߒAđxtUaWc`Z*lȕd2O)"/qo&k% Aw btjv?6MSZ$1͈6R%Ƀ'C{O*Ss(jgƼKZB6:af<˂]Xg.,  7 a@|qIׂ{ٸ.{dx曍/m RNk\@Jl 0XC?mӛ?Qp`aulPRCdyʁ+"@mA@I#'ȐNE;`v{O+jeTG0LvIq[):X]}je{Kݮ˞,)k4ǔ`pV=51 NS}Z'5k 4KD)]-N8t_5o߃{F3*FhF}5\djGf3Aݯ M -&jìP1w?2$Z+ E#.uCINpGy}N4g׊t+,qMQo*Xф)y#?,;$NqXƽ8߬ԭYѸŴ h ^نjw u.kgP)F_!Bf70O_@s`qؾ{߁/zDY= D (@&9t:S>aϢ%w<XI/Ś/9u혹”γ+)2"Tq$$X ’g|NNad4z׉zH_uVV-ua{厰Id.zT.s邒5?Uz2x} ʣ/Qb_ KYvZ}Ⱦad=_9B J~0@<}.CK+t~k^r]p3ݒe@ɦK=SlJTzXED5 -%=|_0}[֙1?7D,f\,V3=5X1uoY m:1oQp)PjdwW>MF7?cSu)gmb~J@V=B!c9EСL/y[FMuf3dI< -V\E;;){%Ti)2WNǐۑVIQ˜JDR60ȿ_[e9Vώ"T$#?r~yqmzbAXS5-K6ьZK{dqD|0̮+{(^45"]:pRuH97 F!,Lik,9'y玤vSGie9I^YzlD 4Cz4=&Hx@a6Xyo-i:)lr@05ё2du^RPL^T,%DN:=fAo+8L{s?6e)>VdR_ T=(2jJ}ke߂M!2@U?)lQǐjv <3b]5$ybIZ$[F6~2G6%8ZX>[_\Nb2"{xTp7鸞] ̐ݶ%*J2r, nz Z);'bYf #Tf2q9h'#+(%aie}1J%QwoNج u;DP [%Tj,+XEإYXes3TpXb/Rvj3W?}X$+b`b5꾂FR]K %O QwAZϮD,WD&zH7c`:eT$x\A!م%#Z/ y}IjY/֦V^`ݹUx%:!⑰ I:: 1U0= , awPXnzV5Uw#*#~!K$PsPol6iKzhR +Y OR/+ MM~lJ w5[[ {q\%JL {"^X5A-!5Ȃh;" SaRQVjK0"!H6Y[GuaKLi6G"Y_jA^z&se;]TξHXt1 ϕr{L=?w;ۺXmv$>uɸn9Ih6چ<1࿺P&GIDJ\ /&Q/9?OS\Qc:eF慄(/9ȁ+UHql=y9;ƃQ % Jp7g U{DٽS^a3-*ŋ6ʁrg7XZ7sqҗby6OZWJSPI:+MV/\Bo9-W3F6.ڐ*lOl.) V5Cg3KFO%:I#x؝drG=*/\ȑ/Țޒ9% .{qvuc} gf2R H ),͍"[\uD S˂H&0T-}]r7W?g(5RJ*HXrGx;1yaǧ٠B [xOg3;thc\/*to7 \1 D1Me+;sX ,؝uP%2҇Бt[;)۝ٵg ]|_#"P/p.*ȩ{E+~$nwbJOť?hw8ܒSfYB V33'h[~/* 7:l4DpKB+x?jcDtP{pک@+U-_/Ő%_I4SnFN⮭T&^;ԇV"&+[ D& {8l*C2r)mr3SQ{>];/zΪukC tsO؆DŽV<WI4Kc鴝3ނ&1\L[ }R§@ #Vw=kҫ{PQ( X_oỗaM_]: J$o D`F=l$ʕuMSjEvNp60TQ[f TߢMBQ(z7,#"/Ǘ!{. 2y4ڷFh X7uؤ?yNsÁk;0fYP='dN7>L$w483QtNXίRiKө.Fte3 ?)y.iD>ҜVXR%c5v]=%r۸HZyO3|Z ? et[)wʬ柲Wøy^pǽœ?>qٴ%,×{8hҎZ3=Q3y)UJؽ|!FfW_ ` :"$J8D/C=~ @TO+< TnGOvZy^ [O&& s _2I5lgۆ hos} V< ǔ Y|仯QWLH3:$ۣO P6_r:Lv+ͮmUrlMQeVx@xnxgLڻ Q=4㟩@,ez/F|צ<.3fPj![S˅/;F&PG662 nݬE+Weo?Kdzm,wiOAם~dJrh}jo'pr)s}R[P9\gYBאIYtd*+2h4U^fT@ϺӦ˿ESY0=.SU,ݳB@d=Z/fus0 8>yshM=Sj4['ɶ[a`s(=@Aj+=}`UҸfѲ՟4H˱q僖]:k&#Hv!܎eH7&l v-eJ@ꌻۿ\[.Y1GC:UDK؞;F> dUeh(W%gw(LwD]g|sl5;kh{/oZ5fRŒVd/n|L/T?1"BC\f}g,GqM}nri)Oa>%dViYt!^(.3pz0P6|EBmUBשׁ5rJ˨)2M (Ci08AF )CaPL{O6 '_w^e;;>Weӟ7y?h|lAaD0XJұDKMȌ(}H:ղ>H#_+JFƱ,@QEuӍ a+\-ɚN㰟'6@ <(eQ~@}^~ 20* ZZ5ӯu]Lx96Ņ᫴aGOQl(1F[A(w g!w`}<\dk7RfA5 wә>-ۤϊ7]tMz`Dzy%f gBj. uט3, X'EKP&^ȠlsK-Ӑ*Gp;0-nЁEΓ7Ɍ0qt]fstǴ]ڪ_3d}/k5*w8سN3  |:Sz.((%@[⦎Wj4;mvReաax(^kd|6JGB&FAF7` .:~2yIVɢ ~C\u( v޽'C@Bz?K_Wӧ:[V'k&F5_@ZEH/ $2QǺy CE$~Z$r&{M2S| z:*j{\I|ԛLSbkJe a:?KQ=dbBDb~nkUߧtGg]w:KP ;f0Rw d`ku!2`|*h).S~{0vH=p.hN?3j#)vЊq[YUyk!4s`#P"Io> 'H~i03Fq*kJ]V2 Z'QUnhX |OxVQ6XRؙ9~)9W6~”k~%0xkZ_zY<ĸD))<ǯOyD K20דjhc޲}ir Nbvn" q7#Z(PŅZ\D_?`5@=O[ OLj_ܡ4m9f&*šW7`ô(duݐw92tʮx}&~28˲{ +Np8KgQ.Xzd JD:#:n4GX4ǸwRݧf'1 {Z9_K uy$-H tpPz9ﭾRnrM&l\X\vB>wh@:RSJ§Uc#ڦQ,u'3Q6Tkzg7Z@U(@D4+Ct⇠=m>(! 茯fv> @ FJgL^@1US#m%MKfP "y$;oyZ,r)Dtʏ9z䗂@0: w\G*>_. oP!݀hXaL>W(m ծ00?՘mnz1eQd2ހ>%|s~Z2$HZ}YqjCOJ$m7]l]vmz4-n1;-k &0tPo^MT^̭hHpU`%!1v@( i@(4;6B}G@`s~>[g=6hńKjf5osAe4u!gsV=$},u"Vg&̺~?ew m/@7``FaP$a \])'gۼܮ|ʳ3BXG۳wI== * Ej*<=)uƝ]xu$rmLr=|BXxb3]T ͚h&Z׀ǰcF$wdJ ptx"-t~0 #×Py?eo7?9:RR",[ HVe[,9?wTZ=l81OGx)ʬ̞`:V>6mж#ބ͍NHx̋obR+f;i,[JL)|Dx7CK]L6`6~mYtY;uN @-Z$3n`}1(CGLb+B_PO:=C9Py|"\QJD9ViWE]6K7&FvBG( Z.vJ#vy!$vc5E7 U~׀:ik^5Ҥ C S| +CؕB!J/D8c_Da8bOu9lvB6Nf/ɍX[}^y"m}<ƛ!(Cߔ4'Y.G! =h{)BԶnlO3`sӜ~7CuP6潜 M"%vڄ; *n}] `@<="rƏ;Sq\b.0ݥY\3 Yj C=>$8(St2u'Zd0oOkQXm?8jBP L4{$me"U{vQ8 q^B|+N E붙U->t59w4ۿcBZ8&TuNZleFQDBHBb9w5> \;t__Q= to|ܗDʚóFDx>'KnHcTj s+Ϥ 6@Zpm}yJ8G5Id +E$GXbXoY"@V}y(.WɆeVޟR>nΧpl`*#`5'FN&Zy~Z{?J wbJ*YϖI!9 ;8VPL.#/) {BpSKd#jk5]ricF0ܻ{pYYzj;P,1y\-DL%i$U=+aDR&ޅ lIe"YrHcU¸rC[ZrL{A=WC!oۙO3@3,!ox]ϟɔ3SG'8` p_գW*%4|.Lj2~2/sF*hN&N $XwIaA e--Ci;X竭MрL=y}@gBz'rbxMe 7ҳ)=l".~.mֻo8n8\_ן"DBܽHRK7s=g"mr6!ǣX= ߇`+*p'M~Stxe)+sﰒzlp \[ȐLԔ0#+ثXڃpWr6m*!!oAiҞL"F_3CEI+oG;ZrR69d !膻4_yOO*FAUnͱT;ǜ'(x!X2{{T;rHVt]2Y2\{+=C66«a&y(D !b(_P?֡ju @=Lz"WS>ľQzS?2cA ohö-:<@g7šʎ+j (ć%2[Vnl\츳Kl֬x4R1x(lyt35&j3AHwb.ρ-Wb`cҺ?VL4@tE*D2[ׄqq YWib)u;wNb1ڿAm"g6SD;9O 6|&[L)XDZw,ݽ+zV$@)cvc+om=liXEH4GW5/!^yi/'Y9|3 sđGƫ1ꦹA*;kb2n#.+5nn>kAYf48,/ 불lfɃǗU;Yђ^Must]m5bHU'k!gQ)3QXS_l?gٱvdC^dl1PbqgX=7o[$?.P5$U1.z0 ګ/ ^JQw(ov^nf>Oy9cЏ[ `mb5Š^t[$7<o,_Masf8ZV8Zላ%[iLk4cI 0e ل 7 xPe,޹*0(VW C`,שaKǚ]-H\`j6 ~A 4}A[}~>$9?yEb9 .3dcY&$'(W--g8'gPK.F^zcn!I>K&lsL)wȻ)Tu5$DzsH$9mȐmVzTS^*2!=6mJ1j:+p:lG)%;N6Y}eɏ- ӓo-eMy}ISb,$o!Q ,{~՞Ps*{.Ky =v$N:=|[81b1SEo 8;s׀g*nnOHFKΫm#F+vJ. 'Uf\xBt8_S2f7 ׵{3%ﲨ=!;}*dlˑ>S^8sFRTqI(ot{$v.׭}(W zK5TmSڌvKr\"2ED$1<4[!8eϙ4b |<0hrG4ݒT]LqU]/֒'ǽG#A:ٮ^C-A<%Oh ]"} ]p#됏0ӍmF/,xswm X +宙ěaфxVHU7b)krN *G,<29u؇+-GKԦe5xQͲΦ7{N_DA*6[d-!2Ǡ;L;N~sУ{DF[գrkW{HA@ DZP"&f&RnZ]SKٽ =r_!9'*g&CqUȺ:\Naޫop'#oWFkK6ɵC 74wQ==}UGAAZrP= xSWl<ə;4 T+(ގ53-FːBlvY6{Pkx-1/^*,"#̀V 2kc |v*3S͟M >bjGgb9IXo:^RN\+~D. 7c~bt_-$53--\u&0aEqn=Ns1.X.˔:FYs*dM6>E>{sJziY`ـ2YxcxȸQnbL+t ÊهhѳB/j}=XRQέ0<d>xep:"BPގߏsZ+Bž).IZG1ԩ~ؖ|}EbfC2b~LE@pK@z[A;nO]߰]׃`޳j\UZ#010 86ڤP4+z ݅5bHQXm٘>sM!y*PY0-)ҲfMR+8Xc;gu@L|s9-( -/Ylp&=,O;#.KY?b eQ̵8=Z ;O rB+Jfi4_1Iű€ŕ4L356G/9ex,6gH\46xl%=as!,Nf)&dWh|C0D ( laQ}4U[W_;>|ADU7*K t,CT{ kzI(1V.HO5zhG lr}fUVH|wބV,R! k=7YYnropK.3k*X1@Qs''z^0y/ !:au@e[9W@+uq>NFה;0_GKAO{ eAhРyCC€"Tl:^F IexCS3(Sp%G_&7q@%#^ڪۘtl! O&6{.p@1b68G2zxΪ +y*nPa<ى:<*eHJv"b/̽fe-5ODE>XdJ[T;@s UEZB|p 3yacq lw6vO0X[.[R2 J"͔[>DJ{VOb;ꑨs%<1 tf hk0et+)Sxߠ 22fa9q~kgI=gfr&l)jbVќsܛgpcN6q翇X W`FϩR "\ȦRdL4#J)(W2M{ nh,ާdHǍ_Ow}G1rlJpwq`aIm$LD9z9:ɯ{fT4,zR?ce.0"5,k G9,@blu@kYZ5 ͑:^9* fA\H@up1j$5eYQ@o#^YL f:Rg4n+ )UKsq ƅ^<2[Ƹ:+v g8ڦ=yǀzS'  5@݃b: (QӧАz7O:? v8,=doP./]@G$v=6ػ([ٲc9|]~8aei/`j` 'TLVjG+WuM9ie} s9NTYA% KHHIZ6gcT~L[#ޛjo:?Yo288='$,ru:%)h9^/)D9tJs:Ҥf{ipETjW~Ϗ_xZ*hT;4guM\_Iއઔ 3j t +bL Fv*8:E3>|h)TvHQ:<b7Q'-ߩS)]:w?r[fGhW\֡f\#J y~ P#)l.CTY+gi?Y'=@b/dh_M ҡ7iJtp(^K]Nv}B=*(LGf+^L.w+J*g댚\[CmT~{g6w#QLi$ mSC7BJ"Da˥-YgW ]P5_"r"q5j/MC=#Jf? U.aԥj7rЬ&3~Ⱦ93 %'T`@ӷ"<t80]PJ CJ~VSD#޴BX0#C&,aۊ5âhuP 6Pb<8<{ VLPGiZoƼ&S"#t&.s`{o2Hco;rRk+=ts|Gsllڕ> 9CO~7s*ݔof/w'{/W,%Ԗwe;mٍ%戮SEi˫m qH J) )lNSb?S?V#G;]-Y?̔^hdƕ9+ v }"4FpeAAid|%b`<.s4y+: f_Hd]JUSH_3bFa] V,na rwR}kQ,b+x ak :Ӗ,(kW%ܶ n,64)( J8>XN4)XhD;h:#|'V8g;)GJY߫^mʒTˍ7,m^scmn]} UlW^PFckG'J| ؚҏiwZ"d)>{T6⻢wNtŬ %٥0Unee N|:Zkobr"N 9Wm3`k.t8'! KJwGs`hzDZU5<7h%d*9Y4xfF:T 1${uuF3E2Qy}>A0s ž= U6ÀhН12DQ"AYϕ]NfESBhV4)y*Tjjr vqL6+}dR\Ah¦#/kP%&rW85.6Reww^\_΢֬̑w#Da~@B<Zq8a-ꭗxK:3{H\_ nr8Ws͟+?K2=^2 Q-hA Q3rZp<40dּ%ZИl.Ddժe99e0$J,5zcôB5-shvkaaOGd0%+"3>=#bp$/5eOؐrq@U(X?nv} `/B,uQ!TUWY<i/>0Zwj9Qc:ǔ-ՙv`A.{!O[h#-K+i2eil1,oa6fU5#+ALwמUAEvQޟ굼tXVTEݨ#@`V8oV.A&AG7xZ]^Zxh?bcq}>bE|Ԓ H[f S VMQ> 6}_顒$_ڨ;H^S*Gh燋u@ #~Am/ (xI}Eᅰ( 77GM9Cj*STq7KTM %0t=I?Ei"ϞWwÄ_s 5WI`ȆbD\ƞYu]QG?lztCw4k۳9-.Zlvދk@D~lqנ\Q|dZ.$Kkǫ̣K\\ԹVKA?B{93fbXΕq;kRݗ63䕘g5vWS& *j$a$~ y`fxx :5<2=R* Vt;\ gOEUoK۬n}Yאָ#X8{lʁE-@*aj)xIg8܂hY֌ j:"KސeS57ANi@/pSՄ$rMW* VאXX~1I4Y[nBr"{q.)Q#xRš"˗Apc87fkMO32\}k!>6b%0ȇ"rY?6lz2@Kp{/zN< FRRb?e`1DnHjȻA^|TGC53R-qlvj}ƐJWoV,bd 7ҞSJL`Ny^Xپ:E[9\ `b\<^-R#`2c7v ۗۢ7U;wt-IiZ:uz[#vg1la*BCvq!; ԠC/u1㰀8qJMb@)IXͪ׊2VɒT]A~mӲ'r)j4jW?THޫzbX\C圀'T BAf"lfC#o6Z Wy} a}$zQfxiە]Y=#̒B8f!sjdToKY8T]|T!*`!r3<وp=9"L=y~3=K )#0)k0}X]IV9[E<%;A mjqEt YC6-kdF u``3tR1VFiZ,͢c*aj%g!u1 +vGŞE|BΫ4Y~c}-)O-hwSXJ<0ufU*'6( ޮVFBxNIu5ݰǣOǤ&aU2FZPM1^cͷ22 Z^a$ʙi6ƀitq K5ϫ^CDXD.M4=ÿt@AZ-@.<5ɊV])ViefAYh.j 4y^+2%`r*RO>=RPnz' YnNү[Fg/UmИڻfj84ũ4IA<;K3L!?`-8 |mB_VfQKMDpaF,⼻[1?)&#P_bj6A![^@IX#!UAF$9=}mO6D1`h^?+Z̻ YgYW~⻫jK,8P"!Y`:G鞾_9OB X-xM 4# n |Klҡ:єa;K dkMCߨ#p =,ںȰ]7IWqnHm.vmy#FVWlALxs5Q?Sg'b\lc̪|+vbU6abۇ/͛l߉FC^OkhtFD ۅ gw'?2_m@H{.a >bGRswW5]Ok9# ߹'GؿT hGzK<~IO?ft"ϦUo$p#$jtۼ۬װ#n;&Rs5ꏢH@61# Dl=;V_2Az 99{|ȹґH>׉nMJ>&SOҙ8ZbP)^d s*O;`t -%EX.(i}ZVaӷ!=Ck)@eF}9a :94O inl?oN&jj4z@&̙, :_`RV 5u=r뭾0 2K>\vHGbcAtG8gH&3^ j:WnTLj181LHEIPOF젼kõKa0D)UJVPt.S[R1Щȫz*hjI[7.j%+ {rVA4L6aT#oV2Z/9 $A{݀!W*chKc{SO_ELBtaF mɕ2 .4C)d@8't'it`LW6 <AфnrJ9i( R*OX8("AF.]|(Zxx{VچD!\QYCe_`H7Au^2o |eSɔvJӹ-)@E|pï3>!W«ᚆ$? p:T6]\NsQ(\#NEVYP~|cR*+B-Yh_ٜoKxҽP~1"Azrppą7mZYӶ\ڑfSܕJ*pPA6:}毖+uDzx$IL3ѝ`Ϡb(>p3_a8|\9).cCHFS*Go$x+@?(#T ntd*&\i&dm&{4=ifNO0{Z#7YS#ylt3ҙ: NN}&ߺ(sϵ.U6 ^.7:8?ZƆpK [ RbWz%D3`Ӊ<^=vE(*?YC,`~β9)Y2u x"sbdx1'5&#4cC~n8X0fdCNbYBev&Z<fWv10ȏ (&Q5j,/^RH`*גWUW9=K CB_d(g-z/:Os.֤Ԫ(;?~j a=MonktGZ6tGM=Ç2%2y0̎$ NxnPH=S|sXh%oߘې:en!KƑCR$2ʿT9c;Xt:6M=uΗ Z(GXQiI ;8ԌAt\t&cYegr"HQ;ύ@` 0jʜ6px);8}H `[ s[iDQ(.H3jh"G(\{Π#-iߝUsŝC(#GB_6D/h|)L'N{K.!31Wʛw$r Gefx-ӬGj#[G5"8p*6Ƿ`to^r@ [n}O^c,el2vN>j-~ϵT||hL%-l9@sve\ʢ U*)(+FGXv~Ǽ ! m78֗.e's[+zD{1 j/Aw_}B=ɄCB*Fhg=,iԳb!\8z7!X;AB' ,ĤV-G~'qPc5~ͮio}Fu|ݯǰzNV!`h@v'3O\^m! sX*[7/K0m*Yn\J ߷X\^~A&#›[ '6̶>1Z :;:@w8-)`zK??}ݏMRW{tOHixYTF}Ӵ 469m k]ձ6TkK[ /XY}Hؤhm!G+P~?=P|N^/ଭK^FgoB-nx>8T9,5<yX|U 3)]s1RI0ڏ'‹9#}*r#7|쀨UPA@rNKLgn(!:Q&j+(a e~.l/RVb^ IK}ŕs3=ϱ:M@`ڶYi='&ۜDRN,m0<пcÓ$႘CnջY,{ $4pN.5[7gSpa9q3H7RRW:IǺE-+mo~0{R28jʧMZ#w]|1RfV͎L*k~Kj~eJ x!:!^5y) 2p8}riPܴTG-򨫢loFU*CWˆ]įD Twtҿa|s@y\b?%e&l555)>؜ x|VDeȽzYh/ڒx*1RʢQ 1,S%sP?* GdY4!ݷF̄ۏMʿP {! )_y%{HZ\ cGHWX\ط89O޳}d- $_ "ReD8NS1*GI0raCe&!b]8?5[vc /d*mMT%x29+7iPtfMt{H' **#lϙқ"8Ϻ}SQ'T!\UTSed6U.rOc7y4I_Db\ң ~2baln>19{d,زċٳI+kgl'Fz5Φvpf|Od7[/*WjYJw_9Mb,(0ϋu>Z\\,; Hl%?>?)D [2pD 9^Z,p F$OQ7y38$`*`yFf2W4_=؀-S_6~:!HĚxr=!Lعd >A-CcXx/jl't~:7mF_"]QzA=rmniNb 'nCD"!F[ynS nC.OMhP=?ad7 % Ht@WAj0j2FZAG1?ָr?0"6n_ jɡɑ4%)@^_I stXev}bd}fAuvpR s !lj<|y?"|XtjQTc"1I!Ƒ c}H:S2T`ZC@X-:Cدh/RzwROX n~5DLZ9k7k?VE5ik~FplѢ0"U2. m`,Zl' (Ɗ*ѓyKM/gN=5IJ%ЉV/>GB=Sڙ\ntBM>jhM3v^jʃڋpvԞs߹T @HcNt+)u UJ,2Ơ7k%2oNE{z uE\k=/yf$T2Ҹ0YԴ$s,3AISC}G7ן$'Gc!Y0H^GHx!WJ]\cwUjr\?<]">a虑ql"SJQk-_bg {g/@/y?k?ڋs!ru"qm@iA0`/0?^:QNE/8j? jiZ Z x6f5&ޜ9xK{wh/Q3W !4ߓJ./C.c/S&Fq\v{B.R*\jqFit͙_cǍnj,dwIjքeʮ3d=TD )uȕQ)E\U_<9GG()9jN.=B^H =UX(]Z#jQZ[?zTAӴOxpnٶ$ϰ4T'ێGuz?Ĵ5YkYx,Bo؎;^! {pb#DxY MGkM-Í4H4RNXLʞ <4]v5t) .2PEuA0?gDvG#1;ecD ?MR| w!;`~qR=A2hgK_[:nS[f^8DzRlnap3Z!ޅ>wϘ)qj~^5CNi)(v XйTtÊV`(s#F"Z̀!B^зro4c|cFL;Z ʧJ(t'm j {T {%TZ!,lw)9OԻF'F 1$]uёY&r&|?3 ie5LS$\f.yOUŧ'v8\ªNeoqd&h8yM[`6;4a"w0IdfRX7.p r>oϒ7Y:Sb4X}d#}Y5QҠ-S]oh+ÿ}!Z*o4jvY\cQP`s?ءYmBT8e5*D&̟ޙ,qmrYLjTjJ/ЂaBz̽2om-m(_}=@ұYW3 HocT[M9;a+VJPX`|$}m?~ ;Ӷc+!^0W\/"g00~G}PJ+[p*Z^3[p.pSEI!(U@d&e܂X 8OIT(azvŀfNפ#7Hx2I %u0 F 5[Q̮B骾A㝤7Żhj\֢ X[B\]43!!VW3d$J`M}C9o#*eX y0#k17*u,WJ^RO ~y0%T~#ՠ  L(⟥]!76/&4!V>vȉ?񢩱|?1͜K8鋝/#ɣJT/)bړ9Ipү,b)y vQ;؃V ۪m$6`t>| >goƶ>EmGkM) F%m$Cw;uX߀xn?x :RcnOV0 Dn6 遥+watLZ40A[$9DG Ԩԗ#XiύWM#c}gojdS ZQݵv40Xr ?k3T}7 {Y^UJK`>{jѲB)P4JW@/TJ iiUf茅?fQ햣# DO8 B3V..~Ns NĂW{/&򹅑 fa-1# xem:E:Ńv$%z^hۢZ(`V< |}IL70`߯O d _Nb16TQ ]<6ã^ 7AHYFmsHPiZiÜ~O7v>. iؔHEd8A% Ae ܀r1NVоhI&\@|M0#NlnWڐuW>jP}=LzUO}oOdwq||cϧ|A#M#Y'?MM3̶X Ʊ]m,5m1Ph4Cvr&vɿs5x^EޚYiI9o%,&sevUW뭺T;(C+TPCu#gW 'WG?izQ6\iJ'i)v3kr|/$ؤ,q8 VuO`uㄜΰmwk+B:|a7Ӫ7a6BL6T I_/HhbAJ}\ɘu`rIB^EhJLu]C( <hj raQar҇mT Qxs4ug\2#]YjJtM[&ֵYot:bɓ^D$=*Ɉ˘Lxeuu䪕 5 ?6*&|^"y:u{JU3YIauT\0\iMF vqk;g-om@rH5(9a '-%aaB+ z޶XeyXJp͡eDtEmMɟ2iȔ0~^H+PeGx6O=iÀP[{.2@pbX3dg8-)׻w1iyP{.`X j 9Cѷ GZ7+{{y4,T>@JayI )# tnB "ν"Uj=)yO%*\CJ7ڪoSw{hs̤[ u'oMI+>j9 G CxdlaS:Z-rO䅊YhyͻL 7Xr y\aFvU=f洯Ϭq)aJDRDs-;ճҒI/oѠb!V 5xrV(eFJ<>g޵ΦP=ZH{`Ԁx|Az!'tWi]7 U(:"h8G V:AGW}h/S+ì=!s&J2XM]ah/8Ƽ xMB=mq ~cEO%ڥ2N2 `1.p#B!5zW7Qj0]/`Z]-[wvu VTG"gh@=$Iy`W&dgkuie-"$ ]c@U}ӷO {a'f5+JtS|$\di]?!^l;v@6e#q@K*O߻lDIt X'}}H91(P@ 41fJfD&c;$a~ Io,Wc+7fYw, !;g|FYyl\ӰNj3y.L7GVhpRF]({IC-܏?,dGmzgU{8e%+7ɫ6n}fͼU1}伋 k7M  }0Ib'e`L 0zjAKlA7ә{6|v%vZ#It|զSqZCE{A`trK4c8ŎBjdF*PHIglEGic=+ґ.aasBőD5B9atrߋz'dw}WϬ%j*GnYq8`rϏP`ԽRk=G@bg[, Fu\ܰs>~|q?'kNNp F Ư#dc;G(] v$ic%rD&|OxFl,u;!0]P",E##;Ä緀X)l>tA D֭aƢ .R3d h6!:;ϢR `j=yMPEFp$9?2>Y8CIvj WwlMkNlZ~0b_^ L܇ rSYQ+{qOt(RwnU 3s]V5;w[l-b[Mq 0v#AP(ǝdfҢgYNc@(l{Xg `K$Zf吤KӚpOia'C n*JgB Rtje3=Y,MmPwjMnG5Xo͆=׺~(|3KN$G,t6!"E& h(FH= L;g+N*Ai?A{OedZݸuLZV0 rrgpQO]Șr.s.rU5عk?\xT?7Ƀ'˂\Ut-KEm1V4 cQoxwHR/%PVmT22pC)}C]*G9aR<6VZԫ{3LJ^>R@:XY[F~c{iElhNpTc?V!g{8l/3$74 LgH54 PNȐ&$n8oK oe=U9<>0f D77$X%z8hu?d /`V=1]QB6ySҥÝs &%?7s B{ N"@*h k)F"S#Z+ c\XPzmK rru4C1!G93f`+ ٠q Ԁ_I[7q.ᐆ]sB"KƓie9WcA.a Zc)>wkȀ, +#Hж ۠Y.D2s|lrjhzm-VƆXsV?ۣ+>x1`53.!YMdAPInT K@[Fr:7ч0^ʖrPwq~PJ VvDȄ ϵ%Y3)^D>I'<C,d@H'e؅iLU5vH\2Ypm\0iybj"sL&Efw*œڐ\_O1R_ 7QI$7AeRdG"nHW$/.ږ.GPzyg?$֎9J%*0Պ{QUdؾ} xdGĊ@U]3zl/u\ǥ4X0Id@%kTs]j RﶠNIsJ$&|Fu>D ]"jE-$%챲G2Q)"^&MYt\?Ƀ#x 181%kH{/,ű֑LԬfZDdRnWtg0"B,Y+x+Z9T{r_8*yv9sۣU[#"qjmB}Гk .8*n%6UTpX0BK*YWl!E qAc*ҋB, ) 0Eܞoa=MKȮq"(%wF=@+ٺ5e٦k#` w~(ǡЕ\_\LaM/x?'=GQdmXeAG]@(+m9@Ewm {aIJie*Rܔ"#_~cB]8P#{^OΤˏ϶QFks).;Hǿ,Py/(dQ\>y5# szdb̫͑9gj\yF|e+f?FF>#u}k4QTz,U-[y]5z]8̹\ւK 鷒iwL9^PN jTT9||fbfT;9i={ʗC;Cja6?3o @7v=0{CRD6M+KG"n*JnK/7_=mlO !6`36X~S[@z;F BP+883[GWH }\WF\( uX넨̵HIG,w$).]qS2\\Rm%ejKBo=(ƏAxp-OS-4e-;r#`y~p|`IT%y8ׯ`:uՠVb\a1U ve7VumYf{tmil b|뀤N*|{VyYBwǵ(cԍHVڼ ;{ (PPي՚.UJ@g{#2E,9+Bd5߀ԇ)@-&)ݩ WGcfK| IF7k-a7E#NHFx T0k/N{VevkdKld+3~;/̸Ɍޒi ®HRcF`M_IT"AGc'ɓrًqCIB!k$s+ƶ*@=UO(UF $8OprDe9 ԐD a#&[1^]t<ܯe*XN@;#7)A9bbjއp_x9BsE@{}f^p9 4 ޹^ {P âoF $ 5sIlw_5k^ 8ZQLUr6'lAXtA)GYH0rO೴r廆t>ֻUplgl]"\ܞV'{O1 @Fld Mk\V%m`bsPS~}pA1^Qy?5CӮl|0'ݯ9YҢ^iΙI~ρ7*M%,x'=7)#v+;LOc=o6'! PF>*`|\\7XuE#NLv"Q\ZaܖO1žo $ A iWP}_1f'R2f.ܹYxaG 5W ;؄=̑lShlͧy&k#El P\fv$4yOm̆$a?6;C.#.pTYiJɒ\49F JJncKC!;NQDa !}]mJ.~Dyw~ 8KHiU²fa_,jOF ՗Ao+m +WlNE`B!uCP&8!Fܼ߬u9i$|@G:ϒi3bE$ ﰜtMU P"Ȗ95@v u;KZ@5pDQ Ȃx~lHHwlH7A]&׊ۂ@jYU,!hϭikU2RB+" ydv[*Ug$/~*@&6ƪ!5Ca4+'3o4/Fk5ƵeB7 ~m_KU5y09Ժ.ߘ`,eaopRB`pCŭK-^BEf7L< YYj%X1x^Go+JdQMHKSmDڋoBrvfِo[dXqV)x|ωjN" G*jrQ-;i ~N} r]VQne8p1_17% D#%C8#7\c.je[kfIL|m E~.i2<寖2in Պ~]U J4 s-HŅR_ נ"9:;Ԍ 7?UC=Od՗=a;v k;#1sj10؁h9C lMq7{sN -7npi7\zϭp%.t)\Q@OD`ZO5PyұcikcFݼ)ys []:`pl"byLy*'ZqM{ Y)EoC]S\<`Gb8 إiYtq,̻&Ծ>Z021[9..JqM_HnL6JFxdw}<&O)9b2X5玶LhuHDY O%{SFs` &'4Y6 F.BԪ!OpPYzD/sZ+cQ=xnX&k:/ PZBO9, a4VRi3ۮ@ۂX%怡Ǣ1\:THw TɠJvԁ {%TR ]J!<;hN* `8V|Exʏ 2FvR>7e]coWQ+)(jUbWQ!Pp zIи7K׎]xwFC5h5n ʕn#nU6ޭ/\s#JD\PF4s! UeLL=;cI ~eS'A\0HEzSnþqo -Qk`I׍ti:HTI,2=T/rݡ;안,Xs (׳ ~TUd -u ,<6v.1zPUKɹ?} PH&w;IIav~C? /3u^&VF7P|ǔ$~ r_oX}r :,XɎ\EȺ"%́mC>]Q"2'l$oLڪG)]'`&OOף7-ip 4 mv3ı9=,QE;9vD,c>s.e@ &_\H\8`lk(_ⴴnei$aͤm,h0f|~Đ?-C~VOW6,l9y tyZ<IR;Hgb{8 -EM{@Q}&M,F ?N{R$ *JTR_ 豀v1C@{;%Icqk_wg ڋ|Y]00M~&Q6JV(2VwF2Xdv5횣q&{-p )o4b/ r|׫c{})v{d--TlN;&v%\8Vu{Irtm4(P.,ufyϓ'FS꤉zsh%q-+S0mqlޑ$S((z_B|\w٫s[GްA k_^bU UfXz1R!"\&AژP?'媐CNtWV0J 4a5ΑgP̋3 wNyq o*iU,t p5=6Rn[, ,Mz\+j Y26b $\;oXdzy76IDU^Q 勚LH.68R!c;HHTc9@`]vIy{J1ndBF/PYn+s9 +dg`1TmamU˽[1Y խjQ ~ڬ!P/Pfȴ( #PVhm!&Sk0L.)g5@ĺz$Ki4Ox/Rn7 :5}ZQQydzL%%i`c:%rШ/AGumf_tCي 2 ].PTQ$2 L*qJDUgNVKfV^QtzVH1yu;pHu[V+ňʘAöH TWvjXzmYQK~\?1`! psԩwe}_RT+Y(֜HGPW͝pMxW2@mՔ1R6 ~1Ɣ`F}$ø9n!K|vW&QP?^ԫ8;€I@ol~tV JpCٮ\ퟹ KH_B$K>(gX:G ]fD4~4{T"8OԒ nSC0nҥ2,:[` }W¦P5GA~n$]pS OX@&1`#ZQ#ͽ;eZ,`n}xjl1vw wkq$oq&21?m=Mw۪M'p6mZq*S*ɦfߡ_)uReDZp¡$rl߽;ir\.U($a> nǶK#{z;h5-Vw5uFS.غoTR,.|OIC9ʊYsjR Zt𯂭Uぅ%xJp>}u'yj5B-W)P]v- V=vd\[dhظIp4s[?.îK]v9-"Y=HzQ i@_RHMA-FJ?.e2[qEhL} )`m;e~ 4Rt,:aڒAqi(-,tec 7WvM-m y|>G(nJԴ?/TJɄ[yW$LVN6Ň/֝SvRni8H撻<tC.GX먆+U]sʎo^μ:}6 PP 6&emPWә"DaM'  .1tT9dꉰF?,za> 丅^9=ԮF;t '^$t[?I{O7&< f}!XVЖtr])T^[,giv#Fu(. EgAA2㋔7_%ᤴo+Z,sR 3BVl3hl}^|R?:%<:Kdv]`0n>DV nAcE͢|N2,@}~FbHRvgXWToƒ6&Iu `ՄTѕfɚDE_*2ڜQIdS%+=.GL~P,1Ɉ`]$ {[ &c4'@r"WE6ٰ+dxwפe&h|AW_lٍ@ȗwOdStw)I4N@!棼)g΅Kcv7 JŇR BT ! `g ugnĽz]q.:&ܮ<|iysk mNCVҢ4}pM/ hh =;uj2;0d_pB,WlلaH";v5jOު>, ~] {'1R+9.G2a$6HF߶6tO54 ;+H2prĭqj`p`e`{*S"a].Z؃PC:ŒFKJ2Xefx\-3-q h;mB Vqyw5gaо Pacfg-Kˮp+1ҍ%- XnݠK,reژk\-]=I)8ZL; Q/ Li:s pŎUVLfڸw(DT2^'mGϢb֫m1/a >>_$硂\\L: qhlF7E>q*KC*n*f 1(&R5V<ܧ\Fo^ wn.طdn@J6nvdE*ln,Υa,tR Vg*?Gl$PYmJCDT>#Iolz)ŒdO"0WYCVW(mz +7OS*g%agqZ6K~2+ȀO@%Z`g0:2 ~kG.0M522"^6bId"Dn^.5R_׉)SU`5f,WݥW K+;VZ3 p3 lc. +j2hL5J<ۇB˧JyHp/9vwߏIX7^:CEԘ\+gb| E+^(fM7}ZuQ&? C)+~v],J]>]xW7뎙He-lVZ$V >]П܋ 5rzǟĕLc16a)e}M1#o8D]p!:FeA6#G 8,Р}९9' EĚ!it }Nc`dlxV6 X $?q%(Cqp`:4#gdN,RK(Ӭ`l0 Iiݗ#=]>+wRX@;[IpuJ&YH%+ !`!0v68|!c<WcȌiޠlQf$!y]TX˛'[H|vNfG*,uU hmֽH4:g(R0nZ &H*a(bO}>C'b]hPO=+ Tc/w7Y_Sk/ť0,Xu7@;eXWO mVNuh'G9*M.x^SLn`QqMťrY^L4ʳH^Wk_T %Ez.Q%1/Bz$loSyxGP5p?S0UhxY?c%eJ^Լ*`JJ OSEsڬ@3ISWMOϾ}CYR#}ٞ&ӊh߼M=a3'}l+"s= jl 22+kvxTj M8hA| Ců֩ ~-oOq:ګQٝ+^'sA 8-Ä]7@BIK] *1WYշ_~_ :Q̉ 3(g |܁3]rȬPpUaE@zO6<-MXh9]eafo=WgZXhͅCۦd]G>R`7fj9T)|u0;kuuDNKմ.΄Vݖz"r(|oCe+eEtVؒ~ɊS+xҙ¥fK1,C֍r".BG:~ ]rx}4(cS$z-ޭh#ll;k ZC/lzAEm'o=HZHPL,mԑ @*:C80 pQ>GqoLФM4mݳ9E1it幥ר ?B.<+󢖱J'9Qϣof &AJ p X~MX~uC?VΤm oK'ڗSYb F)kK uy:EpkQ:}Vnf>Z-fthЀfs!7p53TeG/(l bf0Z*W:?W 0M( _7k0G:r R %CV;mmO82ySoK9|-]ᘘۢCP,_'ip4<_}Z:hb/٬<OLI4/؎Z~V%Tᮈ'>Mr0@/zG"s@1e\GlĄ:xym|˗5@]D[X '*+  ycp7s{{!>񗱴 yf^G>DF(~.urLFkeHTa6_C®,KwvFqC>t-(>&Om٥1H]UP..Š)0@ž!J?ds#˝ g#f!}+%t4U[Pאas:VH&=BwVC.5|ܽ7%DyL^9& V~g]Lm7g}P;!xJOnpD^ňj^'&\+.ю^OxΎhY#5#̅\ѢӸHHS>(,8j~G:JGp&5@)`DC2Ο|WKި:=N*,ٝwٗ14]'r$y.8S]٪D*T?'ĝ4āiF<[l^@-9MlUh׍xOr& lXk;MAwRpSNsme|P79ߤGdNmzy3a@ފ AuZґM㸹"xr`a>\j gle99u5& pZH@jR꾄>֔K= Ó>pA,'.>-.mS/~N~y0!ܒpFoI7?L5FRl\[!梃;cnw3k)#8<|sN\3UϣtyU&%aۊo9DxI~Ц*+qi5NQ_"S#tά!_ eR1kĕOnds/%x95e׏-7YZ0x *v<z"#ؒ]amERL;MV[8#qKgn8} .v89MsMior̀XJ$;OV="jB%½W+w S:syIE/m@"~z1)s^c5fPl鐯L.4q? Y?X_<JM_n{!T<VϠg~_MNjkcfʵgY-69WZ[u8%n\uf/Մ?LcSg GES^1_ 5E,%Bb5° uȰS5^ u'(D b*X|OEuI @j5ai~,mVcBUzi䅁t}ɺuW,3k;(1ъ? jjXlu;}qlk# a^gd +-9z=m4x'A)a2sA'6 irQډ&XT:3qqW_ZG纩K@I:>@ԐǺNIe&7}jKg#IeU73i8~6rК' R\ꮿchP1ۧJ`rHtZ&=u1f dqc+-h͔%$ۍނ6}l1Cݲ[+."v]/&@hNKNG=)P4+E.v +_pݝpwB]\qĀHq 3#-S WL}t'u# 6?jiGT\g<3oqHݒ |cZZCpu i=U9^eS` 7-^7!،Rԍ"۳VEUFwfͧ2 &`wvc]ID9۠!bfc'gI0ZGIu>T팫aeJ91Oֳ'8ӫ—E/ Bĝr#A]/`TQ!kZb*k1} U k΢8 n2? F+6ZGj&E.T$oZn68I 2xltkJ ;e!e5-]VG/K C͛.$ EVsSMeɜ:(>^iO8 ֗eLW_5bꚹ'+v^p̑8FFIXϸZ01uL} y庎µj01u2+ vfRh2亠gv'%X^ZHkYlm Rl08s5*,#ex^@GFB4CD$Pfi m݀5VxeI!Qሿ(nv·Ax vO.rs*w?Ѣ]`6Դ]1OyooV@$I\$PڻO(]7(CT:^9Wah 9 Qyc ^~&4j(r7{[j^Sb-zxvwM|J,*bD&'xHQ[BiZ'h+j{E\ Tfu yX#\@Le+ZCoVyKbh,܏Ot>[ `hhIσ*lT.dnD5!wkcNONGngh JA^weJ˪ʸGZw#Wi x Ehj,hH-)[HNscnΠ W+jD1ոTjxGxT\V V=9!i91e5 Nߵ5%x5?5b̑Ȧ0Fk瀞"c<oeq%x;C_X+ k2$hׂ!I^lg[9W_0 Bї_&P/4bjL ֻA4 4G4[ 5HL!? T9 !ΰ4R4uo-{Vd9-曝 7j$4qcKAOw'W7%xP$ G'/6{[GnAıe`Ȓ FE_bv_v!9pa{@&qE]Yl:Am9?dU$S݋WmuڰT| 3VTy忆[*4/"aȣ))f|ꎉô%O~A_ID < uA2~K83j'/xz+gk_] tcD`,x9ȼ۩3,[tL`i&ul| Vj;tsZuN#ezYB #}Ezn 2%\B^0_@3=Reᄰĉ4£G.Bokz46{ƑpʓmK$!UVH|&pQj;敥b&S˒frC}/V =f}?j*GwX2M=dF?T ?0xtFkSr r /FDKBvfq`ҵK[Ysؗ ۥ;`$FkPal1 [2i3L^_b =}}ښrRBI FR!S_hs#|rQanUES7$23X%>?GvE*t.Uu qye ĥqۊ% 5ғ іFrz~M؞b0m='~!9x3'>O"v̿#"fxJ3|}SK298}|R90Y._؊\QDZI"IL UߺBp-Bs^L&[w6+s>] JY$r{qYЩF`]Y~tkA^Iʬ[+֗F#LYP |b ep.%4qfX43SJUU^k  K4{$8t-O<1qJyo}oQ;!s'%&5| D~vk|FȈba {s) 0q浮,+ omts0cΖ l.SEg#9MD\SH5A ;mesOb/8x{ !%*V`&UD@/Qe%PܯQc1-Gv"GKc'-ԤT硄BXpҍoiX&0P7" H@ Bc?C᩟̆^VQ#]Jeeo_ "luj"!K{LgϢC궃 oj4gΔ(kggp-~lL#:\s9f[:j_tLq[7tYAqzC[p [bIfvM_aoئJNl75&gW|nBdjohNԁm>2=ﯕ`?ϤDONu:bt 7:hsm\~جgK5_*1~!F݃EILx^tP)ܘA*lqLq9lգčPzgϨ~=,?U3 e~[V?ņHJ=5D&K^4CoDg ]2:5Ƿau{F+kC'33QTTʓArEF}-)K$d)Xkpݦd~rFaED2m۱)X1մni-q3bz fAWr*YSmv%M3ϡF/%sa8,4:۵pNnL/Ѧᗓ D5)lÒ}UźV˷{8c҄ÖQJvK_w LwxreVcV{RS';Ȗ"}~U0@U08b?đ!,x:&+ֶz4~@[ٶB3kr}s9׷r@z=\K.4-˰12ͼ^{bЎw6!%w.5'm2YT*ˍsYOp)/)Op&Chށ ݈LK,=[I'IOZu? t)|?OSWo%X/꽪N([m/n3]}V`x&UF5E!߻α4URhy'eBS:п^~*B>W屢.'|,ʉ毒Z3,,Qa""aֿ=#;lGZ:@AȲ<$gfeo0clɁza=1.: |$";'d|7k xUv "ΔI'Vx U8DjV ߠ<5/o|<(!bA¹4fwSb83~Oe{5<- y71: h0bԒ߷JlM|:t'|W$?^G侵&BLRM.R]qDA6Ū GvL) `@  -JЛXq||5i`^L#eEܧr==U|k&0Ot:#3knrȕ08 %@^K؈y*hz)M"C+|3z{=p(.5u8mb D ZEBԭ5XwHaD 1 U1Wc6YCG IU$֥܊!? X Fu {a Ur`VY HmVk^}n'{jj,KϊUڄ=wq&]ёz +e#qwTQ (>DNߑVoK *ZV jp4 [ZPH73@cn nHK ^$o#ӊZǶ:t:Y:e|lK@{,v uG,ϩOmWk C_uep6=OEڦWq0\0P̲uz:* 9.溫z_w&MY0 >} . ? yi݁_WqG8J{Vd#Js9!z0NV(/lULWR(7:Xh`U(e#^~VLvs⟜R|li JŠNӱ,y%3N^Z]_ l&kK; =I7)7X=gzW, _ġ姒φ5ODдFfm%)Lw_o49)Nێ=ϵ Hum&tt۸W}>tTz4ϑWIa?IƒC&<0޾n'Ƀ(=٩1/̚dWA’ !ӳ2`wF4Y}81cŘA=~HhD lvX t6pO'%flsGSO:e<<23b 76,Drm+{5+eĥV_0ˤ#bu6Vh2"AxrLυR:Ͳ\1rS0i~QZyDii hÎj=)ytn~úr@Ywa H=ølRcQ' !Nl),5ӱAEmIJ#*k-\ &-nm~R{ѧXy e@NAsЫ. 1NJʹxIGH$S{~Eʼ8Io?0eA8T/ ز6ٞd}j /7 g}; G+I x7v;''J|Ty[ v~4+hʙ@hrӺ{O3uE%-'W.~(&*2[L7WS6j-DTJ'hUdAK *.@! &ijmMc,ke U.H_ WAN8I mĤ;Y$ `5(J nM5\3 ^SD㢎( iNkW2F5K A(W, |(}Z,7 @;9l$ąW hWp_<}"Ļ|6#M&p[vJjƧ;*-ERm ܹe~/Wv#F/ F9-DQ«dC*\ ?$0+OOˮΓ=<ÝN"c ~Tx6[U)(suZ:xyڹ=FRĎ'7D+ W" EQD<:?ٿJ tE'^Pvrz<}FfV+Z^>-<-?}&="d"í,A "}CjaIޤ)Bx'>? .rY*J3gAs)ZɠY JnoIȱWָcXN;U7d76! o6c|\6ڿ)~L6Pz2ex=M6~GKRѢndV H hKQUISQ8Ӝ…L:έY`=,^%9]2U*$G"8} j+YI}0ZxGxo3*vS)Hj+bפuIՇ"khCo0*t /`,F%n6X}H#hJ@ꈝ蚡Is. YPPzF' وטC0T'~2h+΍wZ[j#~ˍIQ#/!t= %h2ޯֹATO¯9u/g(齯*[Ez]kۗ|ۻ3H X#FF`G%E,f AS̭tx [BdbYkȪT)W2CoOI<>Oz7⚤<8|%|*>F3'Dk=eLOBdU7b=݋δʎ0*0+CmZ.Zio  M7yƣM\_Y|_%A@:,dٰMb$<_:#`\'\y̟)*wX!IysM:c l\y*A v >U!\3}6OX6\I2Cr:v"Ӄ[@Zt) †.- ,o6DrOWOCXY )8KiHHi^_DbBK@E`ܸq[u*3rW P+*i>(:5{Lq'֮?8`u1]v彈&Qz>g!k#+8N Kr3%yOP؜z]!(r\xRnq4hbhZd-&O˭t+ݚDZ(~ix Z\i k㠗JK`O)P^aYӛ=;shVG#U:,/b=1Qb*#AFBGZv4aQ (=\4nM(`!eϠr :~칮L ՁҿS=\I/xg  Fnu2ju0]ac.0plF! ~%g+u'Aы_y67%_*=pɮ4lߪѪ`dn8qQf*bk}YR8QYPqbqt #%n,o}'kd}4I{t,:|&}3>]w #5#;hTGaYj#ē8Ϛ}γ{}J7aiyp^N@E,030ΔSXu &+J/]Pz?u՗r1JkZ}eq#7EvՊRY3kELZ\bԝA*uq =$c'X"o`CB> p/Z3a>1 " rszWR[J*nT-.)_` pUx1&~HhP =b9wjˋާ ]󞿰t0d,:gtȳE<n..`m(`ɖ  G!#.TԘF$~ &d*VoLcӎ07IjVqo@68ޏ$<Y: Ax`İ8]l(GImA"ҿ>MYM`b+wL_{J=.TL@V$INQ8QYex඀ZR1dunwmx}3T:Rd{vLd絬 얧KzW$6`tJh5']*Nns0-Y-~D%qlHKn[J%0hqa'7sXZ^+˶QbbhإH4S7IHETP urJ@Xj),Aͯ@Yɵ8Ȯ}B끮@"qnadJVAYYX1(omm$M`J#82=gUo.ńg͎0b< 'c.D闵c9fzFl="Wlx Z\ !ME"`Eyި&k3l">5e,u8͚prkP7ܴ .{u$~U*u3Ukeq,=Y[%pC]|r(7i2f4x',ư6nhb?irQfqlt7|wB.*D-!A~w}\2VDh<7;5ڟpxXU9zj750޻ Zs:U u@Bl |)}ݬ_äV֗(NkiO7=H9>&%&M'"UFD4}?`8 ${  q( Ѕ~AEn+u3?Q=+.5lb?/Ml'RxZڳ9ʈ:Z`(^gŇ-h1Αϩw3VDxൟA[ #OYiDSu3~G(`PoghT~*87jz7$y =ykqxaZ#y*}G{{J/wMlC%udIWR(NDkp+-+E~ׄ|@L%qض5zr]՜GE6_9(`NK'V0r<Ņ5;ȔJt[ ]]o8Vvmc=Z"IJɭw_V/ 2_X.KEID祢B<@ XF@}NzpsRs*Zy-0X2Ap'mZ dW6t>qke4dz9D+T,<ݘD-z,M4ãhkF,CKHU1(6J<y q!=Aʯևc[Q7Xz+LpSAZ c'aи]:6WsY˒9 a:~7}ӆAMYӗP-mrCً}9G>?vi?*Bv9ov%NX"P-rac}u *?M 'k7 9&Z% dM1nEQ %`D,ȡڧ]N=5,=W i,y$Ǒu@\k40 Epd DY5[cYm a!lr'2+ @Z<&ձΒ<%*4#_߃5!N ~ D'M: ߣXX'V[`F?5,|v0Ġ! 8(_!ME?knk%qg6߯+hpx;iܖz /uKnUIQ+fuCdChjno iUݱIϾ 9H t JwToט5Yq- <ÚwÞG;, a{4ԁuq)\ATZa‘mYd%,x\ ³)Vi9m ךVM╾"8[o}4G颣#A0̈́?٩*1ޑ[xJ褬k9fܻF%`\0YVo-|*$zGql]iC_eү1=gKOKV* uCR A;Tjwn'"YPZ#w0GTiv;{y"fxpg7Htq<p@ F{͈`{9C6RZkcQHk^srχ&`ɬ=ɂO nX4cG3cs4?Y=s&#ت. %l C}dCw0id1gϒJW;R2U#k< p~vUh5' tޅl$W5(*vTD$D=r/WTE94BQU~z|ࡏjoxVq%:WӺPugK =Psޛ7 ^%\%cK)ja'kY yʥ#y{q|T8I @&So2Pt-VDV/ި/pHgz]'B"R]=W??q yƒt+>&3E9SZ/nA#Թ2eRSxu=K!A!dǏ!$ 0"ڳ6:$ Ku2xMb|ʡ˘JxNbEP+kԖ} Xv"bN2Eѿetv_B#y$ZL1b+=};o]űzZV~,"m .UD9;{W]O=+T:P<\V Ei19 ŠQO-#f.4έؑBf{rr}NT&W"/v# q.7]fGv B92p̧yǏBYj:U>2?DBNXXs`f|>*.7> Xixml. @öOYCa [Kݳ /8ESSr$E|Jhذ糂'Bt'G.1OQ6U!VؤMW"7-L?/¿⣠ɤES0+P|ãƪ^/2,(PrWuk Ip"0a^q&XGYLCojo#ډpyV` ~>COp&K!O6h)5q)6|,T77Lcgs24\##^V-fXNHWֆzK;[֋V*!|mK{%kMtl2j.ݰl[(𩮦 C.;`2RCmzUHc~ M!5hP""T$?^A4cK3=$ܥ5f!lʼndJ 7z0!R+H2X~}vP3zB J; er9Oolh~o#_L S944zM֚RJ350L:u:_TSjO@AP{-<}Y>_6gd y JT;ݰd&XZ7(^ 8zriҨ9qbB-E+䀨6nGhh n Q:bKR+= .c H;r&D!LF+@]UHP"{p.(Z2ݖkZlrM,^JY"}@R凃_ a\e^ˎɰ'EF8]w5uB`ᤨy[GdBTVW08ʻyհ[efz g?.!^Ggؿr*GmpޝhUpf3xI쬧<9`9y+mLr.\Lli6jG愃-jJj! k'R4/|D}@zY@^^f.uOJuٚ^Lj*dG[t%@?['M P?RYcbSt( ܁b{أ@/^!)!\|t߭cQ*b=u&HTYkNW= ilo}[b$,m6$2q:"JUۤ;e&v6ILg>?b;P[c"26(),ln܀!/n>qheglc"t;4KGQ՚h12ؐ h>.xvR8lH@6y,rՆC,mk+O޸]c]@hXSf` y7$^٫rp"g[#XKvf]%XÑoGUHܪ Ls}I6^ ef37S&ӵӉڒ$)(eرnJASrmBq)dzmF%@hV3OR=Q $2HxQB0LK`筇Z5Qnޖȅcp,/V:58bŪ(䡎;cūRpSuPy0GZO!x敏Xq_63X D43хO?fX6q &v.z.1xO؊䣊3K?"{CNK󺛆hbZDKͫI.I POwiBGlʉCtuxnò>"F[]itosQ!n%S;AGgјX sw7 D[:XI:8f- /h}DN`GWf/'AͭP90G:{-|:ߺ5$3o2 w@փ@ZT[Cf--艻 λCC#TBD@Z`SɄ;S =JP2fe[sG{0GnV d9avsaCYTU1-'Mї˪7Juk"-Iwh>6ƽPO5_z}y;8 ّ&]Vץ5TcFsDZO=U-/NsR;=gZtk-ќR=T[7؄2tr &K<XwSI @X]Ku_ܱHd_zنZ2W>ۮ,͞Cf*fw8l*t'⿺8#+Vױxt*Nt_ H{#*'7(bvIhqh9 s\9Ŗ'@8c;uc0$JRN: -zVW6vռMm*î ]Y!]/axxd)6eޱV&zw.CUfB5Qow\HA{;m3g(Dñt]=GiAM(JuڌTc^ʯ=Lcݰ-F<2㑤?7e-|w g(.2t7Y}W~gu7 Q&#@lelC |<iqYb|{:x'h#-P+q nɣ6琮O ` ,lF^89;J5HVߑP;^Ck49F C}:ϳj Up:uuoVizĜS6!{N}h7Wis4Ɵ!| !뛆Dd w\jI"=]<8 9Ay֢V"7I̔ѤkӖe n,]_ iTep^WDËZJ9'",#Z"ZvYvoqatoIqE }4Oi BD*0NE((c}Bۉ֋u[nFeu%rTR'kh DaPt/p.f~XB(')^s; "C: / ^~@m]-FmS[ BYp02KQYm> ٹ<%+0V @'Ng9ܟ?iYƲ6U 鱩)d<>%MqtJĠl $~m6.Qz$ c{(KLl}=d%&Ԣh#5kG@#%9PK(yX)HH=}>jeXarjNisyp>]~-dLBL)/ޘ&9Dm k׫K3gп4U#2[T#YNR]$-a5mNBD>yuO. [ A0vtIC+)85+IDdXg-&V@)0htþ1M6/6m#ҁ-h/¥!nيɸiOcW!&g8~Y~r&d:ý"6@I˃<@V-85 241->Ǫ2cI7Eg a/` y75FcAݠmb#m(H7jB!:+KFfoJ}onS~TaO5E  p,%}Xw?܏5A&}`m[zt:OBUbE x:HOpf}WQz<ިy\1M;;fR<ұ=<\SڛTKЅQvZ8[+FZ]yokܢ:Ot+aιzԱ7^wگލq ŚM`d-~sUmjx(QSؿi~9p~MQШBɓy7ːfӴJM 0q)q-;>'9>FЋ~?)Ä_(4'0U&bU}uM- [oD @%ꗳsv @EmcFͮ{sW3$=";`4TV<ZRIU.Z/3ZZ!WI؝x֘hi2X Ӟ}7*U߹}*v痞F\Dp=H$܊6 *T&?120m@20u*y(S.O3 Ƿbls)Kk*Щ-r\rrz4gw!: VG@LSl)[r[ qp(^T+KU@^b9b#]ː׳">n} ∏{Y0V̨ު&~}-M66$jbbiN|: (1Xd4a$e$-4ԌB 1}ޞtlz#{Ap}?[uLr.+K.w[ btpBf#߉WP&)DPg0,sM 4߁B^L­cGZMwnv~e߲\,=L{=CCY|f@;+d ɠ2W}b%?T2kg!>-2AxjRDq#:Em %zHdc@dM3,ChNY4 ?Ɔ)Tm ͧ?XdyƗ.ҝ{p<9Zmx8MRwU"AK샩BuC-v%s4@H)&i.pY6jR@-k?T""OhT yjQBiEhzn! > tG=5 1rLsX myCJrTjuL]YͽN)HW۞W/S)>bRNEJ`cvZHYet"SkíÍvǦC[DM}d-F\?䳉q B,˸.@d}qQyqoKϳ쒂ڟVtRH`;Oϧc&/ e4ྪ?],i!(%qB1Z7QǾאAiͮvy꿐Ժ^Вp f0. K%Njάf~g4lێbxV+Ce;*[͸&3*M%s>[7۪7FEIDŽ { Pej>ib1 vCUCw#zW壭_LqMȵ~fPÍ>~l.EmL":TfzNS@١I f y6vX-n;Zd;YDwy2{_{_>PF"Fjb-I3 Xׯo#ЊtT,,(X${Xm5Fo 'hIhm2Id;\kօtb'0*ޏ?~"#$Ue4sbegE nYFD/>}{檆V'_Nw,Ul(Eŗxoz-lp,[FVTd,ɡu!Qa{u kpuakJH^Ivm ?vխT\_;!@A^@N GWIR* *`r W?  mYdY%~q(hԇ! Wdťh5g6HēR5 BUtSrgKokiٱ!PKWXY*(n2tjjnڠ,r: y"Y[+m+:ECljBop*~z L]ŧc྿C#> p#'A UfW3oɳoY2n;_z{*3%@W)ѭe0N J/OtK]* jRcpX%]CfPMueGG7gf}gK:L`f>j6B#Qg3:R%;7'ZR%G脬?2-Dpܴa`r A TE۝ڌ qގ7_cОg/WWn^7= 62Gh#ӻfYh6EF6ckR]zr9ԫ=Y>@8H 52J2+wKɉ I]sY1>kz59DfP,ըz=IP~|`⫒HAxV6&I YbrPwE!Uqu l<קkX!KDY@A4CʪRe:@z/挱Gn u7Pa.ԓg1ZEŊ9/5CՎ : 4^%\J6cZGQe]Re瀸 ڈpM%lc,~pxΛe41f %'>Nihu*t"m?_ |˚rlOb*ASFףi YKO{3rc tfi Ϩ _}gZɥ;IӃi ,VU+E{7}Ox9tkf"Ggڟ,g6loWbf_='d.J UxJ~ԛވ):+گ *g-`#3W#Bڽ=zg ADL*WQ6DS;PuS6YL[e)XT02j8ưNF!lp MQ*,Nnu U)WO`4|t2ڈ>uJLK*uuk n4/C%75B" ֩%A:uCNɯDh=g2n~L\ i"cFlxer3TSW~QY%8+C'Pdpu?mʿ2pC_Y&C"rzE6(d&W瘿HՓ6I7 Y^:Do04Vl\ݣ~JSj@Yqsh(Q j9O!f]?.x=Ռ,ծwѱgR8  lw:EeVqr;2-Ĺ9AOca){V]ˆK&5'zR ? /?j)u7bӳkrTc?l!m;Kk1Ǟ 5~_Sz,U/{GQktS_* .3R (mwӆ IXb6;M%>Fh`q "W܌o,FǨ 4Ž~Ϻp@x^ť1(|XX5ò7EP烮tARƒeH?d>\VJ:Bq-,Fe4+G'&F4Tldo0x; ~UBK_׼%i1+ɒ3) K"Ao[c,Y h4*.-- ދ`o`Sd2Ոb=?4CE0- K%mxFdT1Gs1"FT?hډlWAb=$jk;ƭ|e`Ytxv2HժL f}B;xKE)T<뼫DC+s:wSn{h]*EMZ}wB'aBI~(5c?Q)MR5?m?i>wuk5䜞֗ ċYa3e-Ɂ;.Qei "ZwSA‰1E*&g'e.guV"^(/ BSyϙ 3C+UŐi]coR~[%+5Kx[sGZ^}G|ԟeL .%%?G'h|4 wY6ogjz h%ICX1]muY0R[^% _d,=>`_M[WR[=Xc@z7O FPDYQ@%9ZzsxPKp$H3KYhI~۸ m M?@{tPN%uTHo> ۆ )ZčE,MvXQK ѵ7 /Jy`yT*V]ʷ.}m \].[?Ŗ>criθ y}ӧ扡 C eI-^hp{ZnD?9g[,-bcN9=[`*cȪPPCNQ y!8`jim÷)q#@]2;+rE %n&O6c.!<>1tY.R'QÆ[="|Q;I##ǡ1y;n)@DPUj ,LREt|A8pR*vtqiȬe5;20 |\V~ uaω4nFTB~ iKN FOnB|;[k3Sq.Ļif5Y xz/嘮@=Hpn6_^G$tΟ?J&{Z[י*=:o+QC#c4۠vYMV1+߭Mh#0hΛ6-_ :h ){$}6ܛrEnPT+͉* -;Y!F(5IZH!qo2|yyAy6ڴ{{{Aò SE[ M,!2`5pN"LtVnEb=.ty̘%NEC],u@@"4/8Ii sW'RTu|!UxKZ&KL'q}>=H;[ڠa*.eQki;G K4ّ`հC) >8e@w O{Ј]L$'=`:!}f5Ks#aTT#p0M-_A&Ffκ~zcg`$Z .vJDΙm, `"'hS>UvB쬂BvkMnFC)Lp5]7t[*ny,7&!|^5\GBF s1yъ#/]h|M>J }1 GiES`kj^{D+ Ϧu7qs<ɠT![mzÔdͦi"mZ@E0FXPY-cV#{z`$1U( edC S j\U]4U뾯<1?`Ü[H[ɕ:eү.1y7"hNzOvE +{7+&Go6k>4ſ`4(uzX"@RkD-Xm[X[Y7ao-"dNiJ6>+5$U'ϑž70~ؠqդ%D.t#,O!xx>I^/Az)sN% vG-Z h-fb8opo7բI=6 +X Qq/jᄋ荗H8d%>qK\mn#m/+Ē1g$+- &6T$j+0˖&Y3ߙY2Ǫ`Sh ծ%nU+Mm6~fMwR_3 h1Dzs{uTi"Xk ҙJr4'% Ȕa@UrmGW 1r ulJ2/1:ybϙ_\R.Hdu %DUk_`tؗ;'1fĎ SZK@ɲrcI"! &ję BdȒE[6'ۭlG-w층$|RM͏yvV͞-Y}_rǗ[nEuUvaZ,mUVZ@Fz &^TҮ퐿zZo$.ӅY0Y$y5ùlAZoQ-mZeR^8d<"t,oT.JD 7cߛ=VaJn]K"΃%#tզyUo] xlΙN]II2`dB 5_K(|֠b$P+cw1J^]>@]MZ6b⤞9ٔ4LIwm)>Cq^U݅/F5^rM0s VKkk;˝Oi]*h' md$M{I  tD qD+}f5>{'n"&6ɶkfń ]͒7d)?HTr6PЬdM>bp,dB5AZ?v5Ɉ̰G %szj]1 ӂ_l@zM"?DƐqw'".sNR -f91 MyPXd3}]U)$ۧfrq؅+G qp :CάXiCK}O^37fw4(ԍNPx;AZD6N vU⭬wyV@|| k]EXnADixҔVحT ^PewWr@Rr@\> dEI/t`EHӳPP&Hԡ6>3KDkm2t13WyC\7%:vnBo[`*6*KMOCqL; Wsy X;yK[r> <ْc.QN6Uܱ(C CKV,}kE'3QƄ\ /~uU|:a*10<^Ž0o4Zz鼻Ik`oi-j81)~je1k 3H.UVlj3C*U;,R<|wZL\k!rNsu6爂wr(g_8)K \wUͻWf/g`;[h).%x`Zp _I̪]|CF~U|%SS26ؚS3}^cDh4-;%*em N@頛P|?t WxV!_H!`PBlv$ĭnz^ my"z$sǣ]ӎ"F*l(/&cca.JyH~Hn:z=\4G46h@ƮEv0o6ū9ePc=,A$_ѫn2V[kV!+\ДS3+;g%QDO=ޯOӋ>ae=zd_#a@|/#=|Xlo/1DfkFyCq,Qy 5!`: R5 ȝ`(յbl=]^I rFp_J#j18(p}c-Þfّ.HZ{/B,9SKV$tTnVb9frBӟ5RfzɄHgnMf /@muj7'V֢jXvJ#nl+IwUq&Ğtڄ ~u`&(zDQ}.73 zK(?-4$<3d2T/ڋWtohC wD*Ty'd&vƽ7x3fI7g-1:I.Ԯl*;Q=Q_b&Ah@X!#' A}yˈeil՞ꎚzR}Pl/m0m1T 0w!Lv§>+şN*MJZ4 ۮLP]O2̹e.2tl:+7-be4!$<*Kֱͧe[eeđby hC#ujhੰ wy=9opE2m46\J-(7kBulvbvC:GO0Satuw:.> :7C-`XGﻔɰ~}y LnH=?7hΡ1<"x2v[2" Sm"JI(1ncsk_F?^#$S&Vbq@&i[+35Q;F1~.AV\=^g%f*)9CS[9SYFT3G<@]MjHi;V/ }:E}WA0eF7lIsbZ*G+3;l,Аgt֌K \,}̀ȟy2d0ՒtsH`%HN!Z鞂{3;O,x M X$5#ⷭ3=x!:{ɳ%e?ހ.2X ݦehSf%5یW @US0(&ɝ4Ήz&iѝ}i" _H+^p3+gAgW(y/+-C+Bo=zt=ǘ)۔x{,Y$ȤkЏ̾p9?/ q؁(\Zⶤ&SL;l4hX([Ij &['Ek׍AYvS?+Lu#kT}\F= {l^jIPÀfztCRk$@ٱFq XJ.$ #.V5Sx+#5zSbKvCI]";GUedbǴk'ulb ow_;`E3 5N@cރ\,Xƽ;u fD&\eг3\i0stVyK;818iΤ2=<(ⓑM~wQJ/_R;s,p|`T9(-K_Sk[=$T]\̧G+;Gͭ_m8IeBpjz:# Z̟PsR+**M6r^5[l)#l#;T=GGsS'KZ/4 #nlho/Ry r4XKZ`藉g8TAlM8ʜh"|.7{umNr騾}%e2Մ8T")e_)?yh=o K̯b<"Gin^GdQU]t$p~R)װ#m_K]oאT%13~ǼEJ#L䷗ni1xaNѫckڜ15 O#h}@֫ &c{(Z.XXeueL4 wHYQ hŧO,,o<"!j|@Âk̑%!{+*uQ,R^c &5G;C6A]QFo,\`uiڅvhnLbԎ^3H:H+]>fjH1v&Djh-1?xh2maa1^5{Ȑ.FscG`$H,Į }Ɖwbam$ٍlrWxKI`eWY~K/0x@~+SvyiKs`=f"NgVZs#MOh\l%ɸj82S=4Reړl8"i:h,Wӈ_v5z6P.2E&Feq^=#LvCF4\ ]v?4'y}LG^)F:eħ0E=4Ɖh.R:v:z.QirFmf:|>GoqΩ3zF,VM|Sw2 VЌuVqVC{mdHW7 `RjkL5Ɯ# ZHjpwAa'͗ J!Ki~尀ؖHy> ~o}bj"J`;1~O6{y mR1fa1Eh[pK)mξDKg{XlM&:6,8 Hh7nYa0&Z/w mu9$sfivvTJ(&71^84z; + x4x5ќ[M80?NV}_-w&we璼V&5S![ڡ4yԌ/PUF~ނ%ݗ'DmռMO3 xKuT!8nS fCK|t5`$4!PNJ5c`UyMhEX|1 mI{]ώ2K _N d5VYEֱ(Ϫ-O%~r_!Ik{Tk ϸOvdPZ? o @mO]s. V"xn}I$fȌE#A4}$PJmG&#FY@2"偘o} kDӑfsЉ 1}N+q5.\sٻQW^HE]N0ԑ֍=R۔%?נJ6ۜٗX=EFJ͙_oY+*8dU?KN'cjCnci ̈́ ]`)h$F77#uge._0䫥z%w=+@RxíQ5c LQ0esG3C Ω8Srĕ'r*HGrIw?J_^kֺ^ZAtnKKpz)6YCAFB߯ nipX= @ϐ'2H W:r!}p M_b3PǰVΣ7<Qg?u7oA: 8"-]h2xxLʑi \k.-ULǪv rck9 3fOt S>HGn l^H"ivՊY^AG)-(Ãgw()LQT ^qY.VW:MV*uhKIIMc{5z@i9IEے1zP>[ u;,>%,;Uj31QjK8>WTqw@lqE\& c>U@V͎_)T:^z%姱@CK|DpFv%q?@WYq^ͅd=i+w4 5|XY§ Rדg̓;K·EXE(n&O6ńOXO8qwx yۇQ|0tkL!M8-y0H:̥4?Y:q ',,T٦:5OVLb9-XY'M?ĥLk Q-¡~mA$*|'_ds#G[ڤqьœ}t|wwV/mh:Ŝᵞ kme4Z!!Uty-bEUk CV!Y~M Cw/Ըw4ǜ%An0!K \a/)ecw[d0 +`3;H,1lj圾䃹{S;}3Kʲr}EnB1b0kG]o+x!_#t#S/Y9RJAD`yꗊkcYSjtE?ߌryXSCS r_^qm)Iw izphU]*%h 1rKDFT*j$\dِkƻ wJC:Wկ&^" (mR"x.Hgn(1v ,[TTJUY4 Ycgjԓ!nN87's18a~94D6_vsJU?a (ג5ȯC c(M,LsǛIK_[H IMXLh34֎1$`JRqyXe#'6c[|d$ݘ1x{- Z89ޑ&"*hpJ`nK۲BٻB#8Ha 5݌HC؄ =+a h/SeN,ɩThKˆ,5S= k߸Enj=7=i}W9_u57&BMaPpG9䞤x-b!*y M18yjz߭,c̩l^_N*# Z pQCKT Ri]@u?7UPu~{ WJ-zуLm}KH|@_q}kNx.X:cH6(&M臽9շ0;8d}sRcfhCD0J,ܥSf)hUQĝ 7 oK$O\H'݀zDZ]kUbY!z뙇v bk 3k6IJp8H8IbPlGs+$~Xw%iOTV(;z\=R͕D?rm$p- OgM;3bC)6`)րh{/;'$k&\*}ͅ5`puW gd#51+#O@nj71,Do_& R7hyqf:kɛ20,RP'ޒ%mVN`jҍ Y\Kv20ʿk6d5ʰcX' ^Xczf xpMw2 ZHyI"ZQ,G*vȞ"ܗ)ybr 1@Z"_<|{c9^ j+ыc:h' 2r{荃)_;`:;}#wkD#a!|Ѣ~$SP3 TNQ`1^ׁj@Hͩ 5sD'1GlX`s8cVySRXl;b30#7/ ̎ @gϨs=%:gldbTYQ8̴N5D~aM)R]ߗ=˨w"[owzGٓ~%ǮTgk;D]݀-5P| rۆ"^D5lʖ}UR6wa|4~O L6iz-mFxgz{⬂Ps|4(`@=-TsnFHNHpzC/jeIJ m. yהvҕ|6jٮmiWrml)n'ܑ2zڛX',Flo`Ee5:G.oYd11LxX*R:dH9] ɴD+\ l/2ןHySߐ؆"yC,/'^!+: g޶E ¿,R]@aCw!6HS HړϞdg[*1K )3Ju͈WC9x~>ʴou(|m*bďA6?/fژ Y]جmχsA`B̡0F.8̦|x P^"O Kb\nЅCK*X0!t#>t}KwC'4nⷈ^ QhjΔ)r5zxVicKc_x"uiL;ln^\[:ܞǧaTZuh]iFP`frpY>ܻ^JczŨu6vNFf)͡"wJkKOi]22 Gh>ZglM 9:7x6zS9oe b|:_ 0vX 4(O&hGW%%:l:~Ku^ Z_,7fމ =.6g^~|?I_P[m|1FOTHvAX]|>;sW\ (@@\k}SU!YEש,ѝ){omC%9Ri$r,uEf]-c eB'4]0H=376ev8onZ:!(d杼xa!*4FFjv[lƂ`mЊs}.:@1ݪA5kKm}HX05g;Hjh:k̕~[ p_Z%E0I,&cӎXIs``ٝ_*[}A]>˒,4x3ႚ61pib餤' },\=hUw' PeKP|Kq St!,A9DzrІrO.X#L |"6_wRqD Uӗ^]@X$Z)pdJF.X^Z `!0խ%sU#x}N-]JDԈ :͉Kb`KHVmJNĨl TsO EYL#SLKmݽ1|7aƾPckIqFea,'ZZvs*q8$1G7iP]!YRv)&'fiWb8SZ|wǜװO"anQF7"YJ"DFFq~z"-$g&\_X$O=kp_[ *w%iW@e \kxHk4~(yet {\lsD JsѼߌ vՙAҟ_:+#Ne~P boG*wI1}(̀\NHR:W\>)+dވ$g#P#bo 79[n`>eYGzٶk<@u:}i9_a"#R@awMӤ޹w2Fz; =:].Ȏ6KJp٢?}4W>-4*"*6Ivc &(>}OzŢ@Zz]6gm4kDt>}'|)ι3ػόE= 9אU||N:0h@GD*^3m,[°?&]Gy|.!30 Zʄaş{u]٫cٿ/u1_ٞ=(pi-YźZ}eG~W?7+VMIɵr\=P nQI ^t2cbCy,9Gd`Y9 #γ1'gf֏ p _!j%MrNJ5n[-.̌j)g1((Gn &ʐ9 r/&@8퀥ȡ=UNX˴w!RSHF)wc9%*?@错O-I{kby&^cK4!  S=vcm2 D bii[',nYO_20O_-/20;sH!=р _w@-\(&"'^)$fP * gn Z7O\yxS]Acʺ s"]WN e_g. Xn[ 1i.1"b1鑰Hlٜ[2)i&ato,?R>rX5ْ㨩aHLxgĖ1M*bd5:JO1޽0C;ifQz 2G&~ (nDqv >^TX\c1(et}L<,h-_;^K^W{ai{4poZ8AHQjX;,de*J 2ϔEۛQ:G/s#9UnEC1GS& |U+. !Y0:yEA|t 9Ggt*ZYp%,$v1Dxɑhr3~ɨШSTJ*oLhX1Zu_Q~hCǓB[6N0h ?%I;/-O 'aXkv+RΟi'G ?¨s#KxU?8CkdE2+(prٓ~WCH&XqRxdSJNxi=o#{˽TEA:Cf;G7NRY+]y5:~0<|g>c9p0VV%S1q}5,_թá-=T(.fgb[I PժeaS=+ (vVCѥKpxlBx3 T;|"#r"  59/s{bŢm}Gb}?;95]>KV ( `_a DUD;7'rV 4Sݪk-d NS, oupl\FB%zF}U3-}xh~䥣6$ K2<][:Q†}~Wk &ɂIO@2Wt6z#:s&A@ޏ<1H#ʙ@x r%g9+@9I/| oϧ?alyK5`##b@WӄUG{[|m" ] F=bG />迥>N; C >Z˼DU ~,!W8[pؚކAGVPUUҎj)_/,ۻ6Bn'U=[)Z E;RSSXw44p}=>a=U吚1C deTLW]'-ުu0毜9teuOl=,#bێZ@\ʹ$A킺7Y D3XWp&VZ3{|-9QRъJuawSR"o(`k3?^=3,$nBLѧ֘q 7*|c~jgr_Z"<H2LB$Ye8Mx'VF>P)JR\2X1L9Z3OH^4 )='4lJF:Hl+gE[yNl$D⌑[s,~2qs\WC_#] RV*?wyWz1~7WDPN c,uL[yszHc/.p6ҝ;fb_zN1P_Ӟ$1#js~GV֕~988[:̲~4?*%?nдsm3cY'7rS8/z[(hHqԕ6-KG@Q+~Z#U Ww$f>8u'TƱ8p. e+w0_9)W[[+Ӱt{$G|yL5cQ%Qڍ.U<4qVl4),cFCo t/Ikٜ̋]m}^n-j&}S[c\>x|+=}v륾UYQ˜Y $oؓrvyH vBK9iP O,Ӛ/ A6prN;w."QղDpȹʨ;D}}2p?5_'$F:Wֆ}5sWoˤלZ2գ h r*zw[T$̑_*0d@d3 zK\~p[B6q2D-qs]֫.VwAc%Nc0hu H{KݜC 0NƹcQI6ہIӱZ0;yo5thχ I,ً0a]O鯾ÆƢ6Tfk<r2ۇ%R_'3P DeVgpMMW;Ua{F܅ PwqX3ݢ"X]3`}ᮊ4ỴķJ'yuP*`Oy*_FQv;h/ %se+`葳u5_>.xۮ ϶wfU%#i67Su iSA:mgކU:MZ5;!L206c-6Uꌡ7 e{Qi:'R~rؓVW ,YtF-rJj+4蠴kfZ 1csVF/h Y0W_)@۲n նbـ7U-ʄbC0ckՋ&6ZgY@_YNRvEM0wDǷ=,6\(%@)7[5= -k^!Q cy o*p ZRVsHrg Ϳ YԼ&AA>"?HךR|A\V(S&ť[q-k5XΥuEbamZlP+}tTp ʿa6!U@ Hn'{yƣ1S۽=LxP7T~IISptc[aiKX]N-7T_ZC J);G/\ O_lr\)P(հtׂ5>=Az%y;%ZfNԾfDK,O!\Uy|-Y0#'fb V PyHy0nt}|3@{I,'n4gPd1{.2>zf,Ɍr?X#ˬDZrU3!<]tdϜBA7Q*hTDžt3%.FBX; U݃B͟+>v|`-n̰qGrhy猪ܯoa ;acUT ǐmv)|$Q$,lWt3D9D>J; avss_Ks6aʰ˺E G.hnyQwQd9S73O@F  zKo;ϸ5F;}kޏm Gu6h.`XΩ;} u˥/D |AtgSAppQ J| Fv?VX3>'̶ N:@ @u{p߬5LhB6W#@I vGM\e>ɻ8ҋX@)2A\o WtHO7sGs&4h{4);c)@5u =<|E~AjH1&t{Z BaX(2TtM83 *ͯ81cP؁'1IyUacr6{4Nv]&8|ґ}G~%'[P5{4=Bk$p2u ;o4xGGRv|}1hAlrb"B23l׹`@ǔz/҈+7Ca;-~&# `1An֪n]2y^aȞLlۏ/~pMa 'tCj|e/tbt,mRzƭ%.ӭ$s䖡ujS RR^W{a{K yώ%3C:yj;m^ ^:In24tYmX^?D {hObB撓we[WM{#@FqJ _o*ݠzQή\oP^-"r?(L׃t޵e]`!BPF\a *g^=IP.ÏA\4ՆLDi#[%&ZrHLbB9Y:de:?U7uB a <6;(y` [5,p3m+gGC#&b%|nw&8?fw-$#-hbz":r} 1SQnf]4?@QDKh4*h-F=t>z/)Qx |jZW)Uy 1g[#:nLӾ7լch$vXTc@{p 详XUIbf =ݾi#̱w$L;|߶[%$AܿopvZ ¯o#OMrn܅a<dM}ܝ(Z)ɋF$vmN5Gd#,++*J + [B6h$ MVZVXp(D48^Z{漽RCkТ5/3_ [2_U|Z}7Lu!鳓%_$^~'{]BuQ=G f:LB;s8N>RnqDL lQmRSCI&Qm૚?1ֻqX> Wx}wS&FS sT hrds`j?ȒυK"m \Fٽ DAd{bd-6fY #=FTjYTM;'iͱ^̦ KFE3..UeMRqkL"hn X!#|7bT b,;Ymoe8 |JV*DeV;֯9}Տ2M&]g \ncEhߥZ e5#gsp1 `AUlTV۪ꑲnJ`qHu>C[UL:; >aQ= o ݇"4V1)FhjV@uaj/Y 78:Ӆkg_za񀣏7\wwQ z55KP ÕC2"7?M }۽cw10ӧ-Kս6׹'y^:=S}Wnܼ.E8ktW9Tp4!:ǂ29w_Ű&R C'Ϥ̬@G06u6b9d]ylVNUdN+V֣:&bއ>C>E | }#oyRM\03s2ϛfp7&CTK'5Õ9/IS p| ?8, d*hZ LyqdO&[s~X!z3Δ>nh!`.RIm'>J֜6+g1O:_믓|vmb <~~?^i6X@9,`.3xRsJȀ?4"yM 7`4~OdKJu*C`ےJD*ݻ^8gu0Z)iGiJ-bp.zuHOV=cIΨ*SPjN USqI $fXXMhn1|G i):qMdFʰF#?%R+x%Qۘf`n9qBSg\ 5ZS>& gI dp*[.>]XeS?d͖ A&qFAYQvw;)x]H3K^ss`E^4 m!3$JVtYQ<Ȅ3U&9tbѼ N^B-jg ~Wi6_@>2v t@>g 5ׇ>D sJv^в[(o)~*ZT`~(f]ylޖ>wvR95m_UmRD3}ɂJː6S(l MK8.(W)RCY/4o"SNћRM曖]!M63h\S#iduR>A@ːq6qtrac Iiמ-vf"ۊ}40r-bO¯-3Py|7#7ŕh͒x ܜBx-"`Ac}`[e K@QXO(T g9C3(gsЌ_{8Ir%7Ipu f fluJ7gLn^ב {X"hQ*(T gynrsM3-S9=a<C XM}n?25fYw wyIj^NHQd ")09 {Qm :i:x{U;npdnl/jVfn(p c֐ڧ~Ӧ34N.FG]!埇8FJ ]ۀy ^+ SASלp:+f ]d6 aԕɄy@ozz27u+b1Bh1U~f4r[d[T̗K<~ toC< &;:FsbDN] 4eq3 Xĭ nř4@x5k9BE5aNb]Sڍ2CI5h? %h݅I l'}\OOxWA(icOUNѿ "2bxh*&w6|<U^'+tGD58Ͽ{ DU.ujAm w$zxtn$NM4R]1^Z8Bs.Ax;NZĪQ3iK}Wk6T9QPC𴇚6m9/+QE"~Ƌ_g,vWЄ(}{e#R8\ 8}!z(#Y{~rsO%R#md֏2&sVډ `v_ȋ!M#cV' K1#)Gk"&0 }@O?qpEWSʼ.T7a#w_Yw!DeH)|Mܷ%bR}`yֹVg u.rQ9;f6& IlE;llӘlPsPPC{/X mU}vmtA[Rx->K6(b@M3?.[N% ^,l;n;iƺyxDQFjqgJ;ZRVCEJf.1c \kTNψg&+#VB,unn37_c%.N2~p~}Hgq bdPf̿C&q po[tܼSb{v*|Bb ^P)浖W.nX/IT e_s`[%iϱ(-t[dNG6rKEWjD;=Zx[XeP]Z})J4iN׼O̰S)\*4TG:%*D ΋޻ 0{RI6_ ˋ$7Pl/kcBY|ʏRCR.'gY[صx!0Jf>2ͽK+17xXyy$wG Fzn-I)3_{aWivvPnMw0քx39pCGf2$5`O5I'dK$1-5QBCoH2Q'M]ؐP>HxP ͆&<$E(U^or_%ȺM6I.D48QoVWjjHL_]|:ߓarεWgv7#9oC3j=cx[7??V_n>ui2:~ }+Xo%9qE4ݖ'D5* ̛evI6+5jv&¡t7cF| הּQ~F'VfxZwG_Lߧ5la"cLw(*~-0]!CTc F'PXv6F&Yhs~ Q8b"iùd7ifi5$ ! ZlˆQo Hf 2hń pK(T7CQA=Ę&C5 L~rYj2YF7?\qgc\-3,(0@m?߇!ĩe}ǂSHÜ2 +@r."Cǟd /D 갈S2 Tuv趟дQzLqʢt @T:d/S>0ڎR4&{pE+j!%'DbrIg3g O$dTvuX\Ws9}?l1Sf%t}uK?XVrCo E۱PPy@Htd""oڑӨu|=FͣC0>]x] } J7. W)fref7҉IR~{dK,-mǜ[Wk(3CDC_&ՋO%'Ks5Nي^"< xK>:顄΄a sy}/[k(v|Fd#랗g8\%K-i&@PX)c JTO1l$, /?>nzWD[+ó!C( ؒԨK RG1niy )VڣY,`.62=Ys5}Ue6ZF6I-ԈzUp®Wʾ!.FҖ=ӯ7[E}D^ZC4?-ѮЧfLL,0e`ȮH{PN0*|;.q7Pt}yk NQΰ5=:=E^IŬEBlI֖oM4fK?+9#\OdEpދf}I).V:wz2&!7_{0X~+2/$Qe&|ڈ9ڤè:#CiՔ%':%&pͲUPQx4&eY>HaMh bT]gZ~,^:*MdF o( Aٙ$_Ȉ]ֲ8ӛU~@Tb{eq$兿kr䁻lE 8 De۴f4>mo};U0\FvIE"H[+ޑʋqZ},2\_܏lx2 48>^vr,ܐOr?@(C̥4uܘo`8ߜv!Ų~3d~Sӭڑxq|Tri esaWmgC+@gQ#0#]m8آx+Xе#0T߹ڧRCyuk㑸s^l:LA4ܲ@MSAU!~LGKrq]vZCםZ/n4)#׃Z S~7 (>N*U9e/G ߯h8n!ԯ/Ќşr}Ahj!9jj$+.i[W52"%ZeOЧSh7>u#X(mѦ'LwŠT3־ MFҚqI 9qW HCr{QKL89JsTAW9ws@A]Ï{X0-1"ƪ}bN`i6^U2eRRv)q+NՐhfsxǺ L ؘB