/* Copyright 2009-2017 * Kaz Kylheku * Vancouver, Canada * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include #include #include #include #include #include #include #include "config.h" #include ALLOCA_H #include "lib.h" #include "gc.h" #include "args.h" #include "signal.h" #include "unwind.h" #include "regex.h" #include "stream.h" #include "y.tab.h" #include "parser.h" #include "txr.h" #include "filter.h" #include "hash.h" #include "debug.h" #include "eval.h" #include "cadr.h" #include "match.h" int opt_print_bindings = 0; int opt_lisp_bindings = 0; int opt_arraydims = 1; val decline_k, next_spec_k, repeat_spec_k; val mingap_k, maxgap_k, gap_k, mintimes_k, maxtimes_k, times_k; val lines_k, chars_k; val text_s, choose_s, gather_s, do_s, mod_s, modlast_s; val line_s, data_s, fuzz_s, load_s; val include_s, close_s, require_s; val longest_k, shortest_k, greedy_k; val vars_k, resolve_k; val append_k, into_k, var_k, list_k, tlist_k, string_k, env_k, counter_k; val named_k, continue_k, finish_k, mandatory_k; val filter_s; val noval_s; static val h_directive_table, v_directive_table; static val non_matching_directive_table, binding_directive_table; static void debuglf(val form, val fmt, ...) { if (opt_loglevel >= 2) { va_list vl; va_start (vl, fmt); format(std_error, lit("~a: (~a) "), prog_string, source_loc_str(form, colon_k), nao); vformat(std_error, fmt, vl); put_char(chr('\n'), std_error); va_end (vl); } } noreturn static void sem_error(val form, val fmt, ...) { va_list vl; val stream = make_string_output_stream(); va_start (vl, fmt); if (form) format(stream, lit("(~a) "), source_loc_str(form, colon_k), nao); (void) vformat(stream, fmt, vl); va_end (vl); uw_throw(query_error_s, get_string_from_stream(stream)); abort(); } static void typed_error(val type, val form, val fmt, ...) { va_list vl; val stream = make_string_output_stream(); va_start (vl, fmt); if (form) format(stream, lit("(~a) "), source_loc_str(form, colon_k), nao); (void) vformat(stream, fmt, vl); va_end (vl); uw_throw(type, get_string_from_stream(stream)); abort(); } static void dump_shell_string(const wchar_t *str) { int ch; put_char(chr('"'), std_output); while ((ch = *str++) != 0) { switch (ch) { case '"': case '`': case '$': case '\\': case '\n': put_char(chr('\\'), std_output); /* fallthrough */ default: put_char(chr(ch), std_output); } } put_char(chr('"'), std_output); } static void dump_byte_string(const char *str) { while (*str) put_char(chr(*str++), std_output); } static void dump_var(val var, char *pfx1, size_t len1, char *pfx2, size_t len2, val value, int level) { if (len1 >= 112 || len2 >= 112) internal_error("too much depth in bindings"); if (listp(value)) { val iter; int i; size_t add1 = 0, add2 = 0; for (i = 0, iter = value; iter; iter = cdr(iter), i++) { if (level < opt_arraydims) { add2 = sprintf(pfx2 + len2, "[%d]", i); add1 = 0; } else { add1 = sprintf(pfx1 + len1, "_%d", i); add2 = 0; } dump_var(var, pfx1, len1 + add1, pfx2, len2 + add2, car(iter), level + 1); } } else { val ss = make_string_output_stream(); val str; pprint(value, ss); str = get_string_from_stream(ss); put_string(var, std_output); dump_byte_string(pfx1); dump_byte_string(pfx2); put_char(chr('='), std_output); dump_shell_string(c_str(str)); put_char(chr('\n'), std_output); } } static void dump_bindings(val bindings) { if (opt_lisp_bindings) { val iter; for (iter = bindings; iter; iter = cdr(iter)) { dump(car(iter), std_output); } } else { while (bindings) { char pfx1[128], pfx2[128]; val var = car(car(bindings)); val value = cdr(car(bindings)); *pfx1 = 0; *pfx2 = 0; dump_var(var, pfx1, 0, pfx2, 0, value, 0); bindings = cdr(bindings); } } } static val depth(val obj) { val dep = zero; if (obj == nil) return one; if (atom(obj)) return zero; while (obj) { dep = max2(dep, depth(first(obj))); obj = rest(obj); } return plus(dep, one); } static val weird_merge(val left, val right) { val left_depth = depth(left); val right_depth = depth(right); while (lt(left_depth, right_depth) || zerop(left_depth)) { left = cons(left, nil); left_depth = plus(left_depth, one); } while (lt(right_depth, left_depth) || zerop(right_depth)) { right = cons(right, nil); right_depth = plus(right_depth, one); } return append2(left, right); } static val tx_lookup_var(val sym, val bindings) { uses_or2; return or2(assoc(sym, bindings), if2(!opt_compat || opt_compat <= 138, lookup_var(nil, bindings))); } static val tx_lookup_var_ubc(val sym, val bindings, val spec) { val binding = tx_lookup_var(sym, bindings); if (binding) return binding; sem_error(spec, if3(bindable(sym), lit("~s: unbound variable ~s"), lit("~s: bindable symbol expected, not ~s")), car(spec), sym, nao); } static val dest_set(val spec, val bindings, val pattern, val value) { if (bindable(pattern)) { val existing = tx_lookup_var_ubc(pattern, bindings, spec); set(cdr_l(existing), value); } else if (consp(pattern)) { if (first(pattern) == var_s) { uw_throwf(query_error_s, lit("metavariable @~a syntax cannot be used here"), second(pattern), nao); } if (first(pattern) == expr_s) { uw_throwf(query_error_s, lit("the @~s syntax cannot be used here"), rest(pattern), nao); } dest_set(spec, bindings, car(pattern), car(value)); if (cdr(pattern)) dest_set(spec, bindings, cdr(pattern), cdr(value)); } else { sem_error(spec, lit("cannot set ~s: not a variable"), pattern, nao); } return nil; } static val tleval(val spec, val form, val bindings) { val ret; uw_env_begin; if (opt_compat && opt_compat <= 121) { uw_set_match_context(cons(spec, bindings)); ret = eval(form, make_env(bindings, nil, nil), form); } else { val saved_de = set_dyn_env(make_env(bindings, nil, nil)); uw_set_match_context(cons(spec, bindings)); ret = eval(form, nil, spec); set_dyn_env(saved_de); } uw_env_end; return ret; } static val tleval_progn(val spec, val forms, val bindings) { val ret; uw_env_begin; if (opt_compat && opt_compat <= 121) { uw_set_match_context(cons(spec, bindings)); ret = eval_progn(forms, make_env(bindings, nil, nil), forms); } else { val saved_de = set_dyn_env(make_env(bindings, nil, nil)); uw_set_match_context(cons(spec, bindings)); ret = eval_progn(forms, nil, forms); set_dyn_env(saved_de); } uw_env_end; return ret; } static val txeval(val spec, val form, val bindings); static val tleval_144(val spec, val form, val bindings) { return if3(!opt_compat || opt_compat >= 144, tleval(spec, form, bindings), txeval(spec, form, bindings)); } static val dest_bind(val spec, val bindings, val pattern, val value, val testfun) { if (symbolp(pattern)) { if (bindable(pattern)) { val existing = tx_lookup_var(pattern, bindings); if (existing) { if (tree_find(value, cdr(existing), swap_12_21(testfun))) return bindings; if (tree_find(cdr(existing), value, testfun)) return bindings; debuglf(spec, lit("variable ~a binding mismatch (~s vs. ~s)"), pattern, cdr(existing), value, nao); return t; } return cons(cons(pattern, value), bindings); } else { return funcall2(testfun, pattern, value) ? bindings : t; } } else if (consp(pattern)) { val piter = pattern, viter = value; val lisp_evaled = nil; val ret; if (first(pattern) == var_s) { ret = tleval(spec, second(pattern), bindings); lisp_evaled = t; } if (first(pattern) == expr_s) { ret = tleval(spec, second(pattern), bindings); lisp_evaled = t; } if (lisp_evaled) return if3(tree_find(value, ret, swap_12_21(testfun)), bindings, t); while (consp(piter) && consp(viter)) { bindings = dest_bind(spec, bindings, car(piter), car(viter), testfun); if (bindings == t) return t; piter = cdr(piter); viter = cdr(viter); } if (bindable(piter)) { bindings = dest_bind(spec, bindings, piter, viter, testfun); if (bindings == t) return t; } else { return funcall2(testfun, piter, viter) ? bindings : t; } return bindings; } else if (tree_find(value, pattern, swap_12_21(testfun))) { return bindings; } return t; } static val vars_to_bindings(val spec, val vars, val bindings) { val iter; list_collect_decl (fixed_vars, ptail); if (vars && !consp(vars)) sem_error(spec, lit("not a valid variable list: ~a"), vars, nao); for (iter = vars; iter; iter = cdr(iter)) { val item = car(iter); if (bindable(item)) { ptail = list_collect(ptail, cons(item, noval_s)); } else if (consp(item) && bindable(first(item))) { ptail = list_collect(ptail, cons(first(item), tleval_144(spec, second(item), bindings))); } else { sem_error(spec, lit("not a variable spec: ~a"), item, nao); } } return fixed_vars; } typedef struct { val bindings, specline, dataline, base, pos, data_lineno, file; } match_line_ctx; static match_line_ctx ml_all(val bindings, val specline, val dataline, val pos, val data_lineno, val file) { match_line_ctx c; c.bindings = bindings; c.specline = specline; c.dataline = dataline; c.base = zero; c.pos = pos; c.data_lineno = data_lineno; c.file = file; return c; } static match_line_ctx ml_specline(match_line_ctx c, val specline) { match_line_ctx nc = c; nc.specline = specline; return nc; } static match_line_ctx ml_specline_pos(match_line_ctx c, val specline, val pos) { match_line_ctx nc = c; nc.specline = specline; nc.pos = pos; return nc; } static match_line_ctx ml_bindings_specline(match_line_ctx c, val bindings, val specline) { match_line_ctx nc = c; nc.bindings = bindings; nc.specline = specline; return nc; } static val do_match_line(match_line_ctx *c); static val match_line(match_line_ctx c); typedef val (*h_match_func)(match_line_ctx *c); #define LOG_MISMATCH(KIND) \ debuglf(elem, lit(KIND " mismatch, position ~a (~a:~d)"), \ plus(c->pos, c->base), c->file, c->data_lineno, nao); \ debuglf(elem, lit(" ~a"), c->dataline, nao); \ if (c_num(c->pos) < 77) \ debuglf(elem, lit(" ~*a^"), c->pos, lit(""), nao) #define LOG_MATCH(KIND, EXTENT) \ debuglf(elem, lit(KIND " matched, position ~a-~a (~a:~d)"), \ plus(c->pos, c->base), EXTENT, c->file, c->data_lineno, nao); \ debuglf(elem, lit(" ~a"), c->dataline, nao); \ if (c_num(EXTENT) < 77) \ debuglf(elem, lit(" ~*a~<*a^"), c->pos, lit(""), \ minus(EXTENT, c->pos), lit("^"), nao) #define elem_bind(elem_var, directive_var, specline) \ val elem_var = first(specline); \ val directive_var = first(elem_var) static val h_text(match_line_ctx *c) { val elem = first(c->specline); val texts = rest(elem); val new_pos = cdr(match_line(ml_specline(*c, texts))); if (new_pos) { c->pos = minus(new_pos, c->base); return next_spec_k; } return nil; } static void consume_prefix(match_line_ctx *c) { if (lazy_stringp(c->dataline)) { const val shift_hiwater = num_fast(4000); const val shift_amount = num_fast(3900); if (gt(c->pos, shift_hiwater)) { c->base = plus(c->base, shift_amount); c->pos = minus(c->pos, shift_amount); c->dataline = sub_str(c->dataline, shift_amount, t); } } } static val search_match(match_line_ctx *c, val from_end, val spec) { val pos = from_end ? length_str(c->dataline) : c->pos; val step = from_end ? negone : one; for (; (from_end && ge(pos, c->pos)) || (!from_end && length_str_ge(c->dataline, pos)); pos = plus(pos, step)) { val new_pos = cdr(match_line(ml_specline_pos(*c, spec, pos))); if (new_pos == t) { return cons(pos, t); } else if (new_pos) { new_pos = minus(new_pos, c->base); return cons(pos, minus(new_pos, pos)); } consume_prefix(c); } return nil; } static val h_var(match_line_ctx *c) { val elem = pop(&c->specline); val sym = second(elem); val next = first(c->specline); val modifiers = third(elem); val modifier = first(modifiers); val pair = if2(sym, tx_lookup_var(sym, c->bindings)); if (sym == t) sem_error(elem, lit("t is not a bindable symbol"), nao); if (gt(length_list(modifiers), one)) { sem_error(elem, lit("multiple modifiers on variable ~s"), sym, nao); } if (pair) { /* If the variable already has a binding, we replace it with its value, and treat it as a string match. The spec looks like ((var ) ...) and it must be transformed into ( ...). But if the variable is a fix sized field match, then we treat that specially: it has to match that much text. */ if (integerp(modifier)) { val past = plus(c->pos, modifier); if (length_str_lt(c->dataline, past) || lt(past, c->pos)) { LOG_MISMATCH("fixed field size"); return nil; } if (!tree_find(trim_str(sub_str(c->dataline, c->pos, past)), cdr(pair), equal_f)) { LOG_MISMATCH("fixed field contents"); return nil; } LOG_MATCH("fixed field", past); c->pos = past; c->specline = rest(c->specline); } else { c->specline = rlcp(cons(cdr(pair), c->specline), c->specline); } return repeat_spec_k; } else if (consp(modifier) || regexp(modifier)) { /* var bound over text matched by form */ cons_bind (new_bindings, new_pos, match_line(ml_specline(*c, modifiers))); if (!new_pos) { LOG_MISMATCH("var spanning form"); return nil; } new_pos = minus(new_pos, c->base); LOG_MATCH("var spanning form", new_pos); if (sym) c->bindings = acons(sym, sub_str(c->dataline, c->pos, new_pos), new_bindings); c->pos = new_pos; /* This may have another variable attached */ if (next) { c->specline = rlcp(cons(next, rest(c->specline)), c->specline); return repeat_spec_k; } } else if (integerp(modifier)) { /* fixed field */ val past = plus(c->pos, modifier); if (length_str_lt(c->dataline, past) || lt(past, c->pos)) { LOG_MISMATCH("count based var"); return nil; } LOG_MATCH("count based var", past); if (sym) c->bindings = acons(sym, trim_str(sub_str(c->dataline, c->pos, past)), c->bindings); c->pos = past; /* This may have another variable attached */ if (next) { c->specline = rlcp(cons(next, rest(c->specline)), c->specline); return repeat_spec_k; } } else if (modifier && modifier != t) { sem_error(elem, lit("invalid modifier ~s on variable ~s"), modifier, sym, nao); } else if (next == nil) { /* no modifier, no elem -> to end of line */ if (sym) c->bindings = acons(sym, sub_str(c->dataline, c->pos, nil), c->bindings); c->pos = length_str(c->dataline); } else if (type(next) == STR) { val find = search_str(c->dataline, next, c->pos, modifier); if (!find) { LOG_MISMATCH("var delimiting string"); return nil; } LOG_MATCH("var delimiting string", find); if (sym) c->bindings = acons(sym, sub_str(c->dataline, c->pos, find), c->bindings); c->pos = plus(find, length_str(next)); } else if (regexp(next)) { val find = search_regex(c->dataline, next, c->pos, modifier); val fpos = car(find); val flen = cdr(find); if (!find) { LOG_MISMATCH("var delimiting regex"); return nil; } LOG_MATCH("var delimiting regex", fpos); if (sym) c->bindings = acons(sym, sub_str(c->dataline, c->pos, fpos), c->bindings); c->pos = if3(flen == t, t, plus(fpos, flen)); } else if (consp(next)) { val op = first(next); if (op == var_s) { /* Unbound var followed by var: the following one must either be bound, or must specify a regex. */ val second_sym = second(next); val next_modifiers = third(next); val next_modifier = first(next_modifiers); val pair = if2(second_sym, tx_lookup_var(second_sym, c->bindings)); if (gt(length_list(next_modifiers), one)) { sem_error(elem, lit("multiple modifiers on variable ~s"), second_sym, nao); } if (!pair && regexp(next_modifier)) { val find = search_regex(c->dataline, next_modifier, c->pos, modifier); val fpos = car(find); val flen = cdr(find); if (!find) { LOG_MISMATCH("double var regex"); return nil; } /* Text from here to start of regex match goes to this variable. */ if (sym) c->bindings = acons(sym, sub_str(c->dataline, c->pos, fpos), c->bindings); /* Text from start of regex match to end goes to the second variable */ if (second_sym) c->bindings = acons(second_sym, sub_str(c->dataline, fpos, plus(fpos, flen)), c->bindings); LOG_MATCH("double var regex (first var)", fpos); c->pos = fpos; LOG_MATCH("double var regex (second var)", plus(fpos, flen)); c->pos = plus(fpos, flen); return next_spec_k; } else if (!pair) { sem_error(elem, lit("consecutive unbound variables"), nao); } else { /* Re-generate a new spec in which the next variable is replaced by its value, and repeat. */ val r = rest(c->specline); c->specline = rlcp(cons(elem, rlcp(cons(cdr(pair), r), r)), r); return repeat_spec_k; } } else if (op == text_s) { val text_only_spec = rlcp(cons(next, nil), next); val find = search_match(c, modifier, text_only_spec); val fpos = car(find); if (!find) { LOG_MISMATCH("var delimiting text compound"); return nil; } LOG_MATCH("var delimiting text compound", fpos); if (sym) c->bindings = acons(sym, sub_str(c->dataline, c->pos, fpos), c->bindings); c->pos = fpos; return repeat_spec_k; } else if (consp(op) || stringp(op)) { cons_bind (find, len, search_str_tree(c->dataline, next, c->pos, modifier)); if (!find) { LOG_MISMATCH("string"); return nil; } if (sym) c->bindings = acons(sym, sub_str(c->dataline, c->pos, find), c->bindings); c->pos = plus(find, len); } else { val find = search_match(c, modifier, c->specline); val fpos = car(find); if (!find) { LOG_MISMATCH("var delimiting spec"); return nil; } LOG_MATCH("var delimiting spec", fpos); if (sym) c->bindings = acons(sym, sub_str(c->dataline, c->pos, fpos), c->bindings); c->pos = fpos; return repeat_spec_k; } } else { sem_error(elem, lit("variable followed by invalid element: ~s"), next, nao); } return next_spec_k; } static val h_skip(match_line_ctx *c) { val elem = first(c->specline); val max = tleval_144(elem, second(elem), c->bindings); val min = tleval_144(elem, third(elem), c->bindings); cnum cmax = if3(max, c_num(max), 0); cnum cmin = if3(min, c_num(min), 0); val greedy = eq(max, greedy_k); val last_good_result = nil, last_good_pos = nil; if (!rest(c->specline)) { debuglf(elem, lit("skip to end of line ~a:~d"), c->file, c->data_lineno, nao); return cons(c->bindings, t); } { cnum reps_max = 0, reps_min = 0; while (length_str_gt(c->dataline, c->pos) && min && reps_min < cmin) { c->pos = plus(c->pos, one); reps_min++; consume_prefix(c); } if (min) { if (reps_min != cmin) { debuglf(elem, lit("skipped only ~d/~d chars to ~a:~d:~d"), num(reps_min), num(cmin), c->file, c->data_lineno, c->pos, nao); return nil; } debuglf(elem, lit("skipped ~d chars to ~a:~d:~d"), num(reps_min), c->file, c->data_lineno, c->pos, nao); } while (greedy || !max || reps_max++ < cmax) { val result = match_line(ml_specline(*c, rest(c->specline))); if (result) { if (greedy) { last_good_result = result; last_good_pos = c->pos; } else { LOG_MATCH("skip", c->pos); return result; } } if (length_str_le(c->dataline, c->pos)) { if (last_good_result) { LOG_MATCH("greedy skip", last_good_pos); return last_good_result; } break; } c->pos = plus(c->pos, one); consume_prefix(c); } } LOG_MISMATCH("skip"); return nil; } static val h_coll(match_line_ctx *c) { val elem = first(c->specline); val op_sym = first(elem); val coll_specline = second(elem); val until_last_specline = third(elem); cons_bind (ul_sym, ul_args, until_last_specline); cons_bind (ul_opts, spec, ul_args); val ul_match = nil; val args = fourth(elem); val bindings_coll = nil; val last_bindings = nil; val max = tleval_144(elem, getplist(args, maxgap_k), c->bindings); val min = tleval_144(elem, getplist(args, mingap_k), c->bindings); val gap = tleval_144(elem, getplist(args, gap_k), c->bindings); val times = tleval_144(elem, getplist(args, times_k), c->bindings); val mintimes = tleval_144(elem, getplist(args, mintimes_k), c->bindings); val maxtimes = tleval_144(elem, getplist(args, maxtimes_k), c->bindings); val chars = tleval_144(elem, getplist(args, chars_k), c->bindings); val counter_spec = getplist(args, counter_k); val consp_counter = consp(counter_spec); val counter = if3(consp_counter, first(counter_spec), counter_spec); val counter_base = if3(consp_counter, tleval(elem, second(counter_spec), c->bindings), zero); val counter_binding = if2(counter, cons(counter, nil)); val bindings_with_counter = if2(counter, cons(counter_binding, nil)); val have_vars; val vars = getplist_f(args, vars_k, mkcloc(have_vars)); cnum cmax = if3(gap, c_num(gap), if3(max, c_num(max), 0)); cnum cmin = if3(gap, c_num(gap), if3(min, c_num(min), 0)); cnum mincounter = cmin, maxcounter = 0; cnum ctimax = if3(times, c_num(times), if3(maxtimes, c_num(maxtimes), 0)); cnum ctimin = if3(times, c_num(times), if3(mintimes, c_num(mintimes), 0)); cnum cchars = if3(chars, c_num(chars), 0); cnum timescounter = 0, charscounter = 0; val iter; if (op_sym == rep_s) { if (have_vars) sem_error(elem, lit("~s: coll takes :vars, rep does not"), op_sym, nao); have_vars = t; } if (counter && !bindable(counter)) sem_error(elem, lit("~s: ~s specified as :counter isn't a bindable symbol"), op_sym, counter, nao); vars = vars_to_bindings(elem, vars, c->bindings); if (((times || maxtimes) && ctimax == 0) || (chars && cchars == 0)) return next_spec_k; for (;;) { val new_bindings = nil, new_pos = nil; if ((gap || min) && mincounter < cmin) goto next_coll; if (chars && charscounter++ >= cchars) break; { if (counter) { rplacd(counter_binding, plus(num(timescounter), counter_base)); rplacd(bindings_with_counter, c->bindings); cons_set (new_bindings, new_pos, match_line(ml_bindings_specline(*c, bindings_with_counter, coll_specline))); if (!new_bindings) { rplacd(counter_binding, nil); new_bindings = bindings_with_counter; } } else { cons_set (new_bindings, new_pos, match_line(ml_specline(*c, coll_specline))); } if (until_last_specline) { uses_or2; cons_bind (until_last_bindings, until_pos, match_line(ml_bindings_specline(*c, or2(new_bindings, c->bindings), spec))); if (until_pos) { until_pos = minus(until_pos, c->base); LOG_MATCH("until/last", until_pos); if (ul_sym == last_s) { last_bindings = set_diff(until_last_bindings, new_bindings, eq_f, nil); c->pos = until_pos; } ul_match = t; break; } else { LOG_MISMATCH("until/last"); } } if (new_pos) { list_collect_decl (missing, ptail); val strictly_new_bindings = set_diff(new_bindings, c->bindings, eq_f, nil); val have_new = strictly_new_bindings; new_pos = minus(new_pos, c->base); LOG_MATCH("coll", new_pos); for (iter = vars; iter; iter = cdr(iter)) { cons_bind (var, dfl, car(iter)); val exists = tx_lookup_var(var, new_bindings); if (!exists) { if (dfl == noval_s) ptail = list_collect(ptail, var); else strictly_new_bindings = acons(var, dfl, strictly_new_bindings); } } if (have_new && missing) sem_error(elem, lit("~s failed to bind ~a"), op_sym, missing, nao); for (iter = strictly_new_bindings; iter; iter = cdr(iter)) { val binding = car(iter); val vars_binding = assoc(car(binding), vars); if (!have_vars || vars_binding) { val existing = assoc(car(binding), bindings_coll); bindings_coll = acons_new(car(binding), cons(cdr(binding), cdr(existing)), bindings_coll); } } } if (new_pos && !equal(new_pos, c->pos)) { c->pos = new_pos; bug_unless (new_pos != t && length_str_ge(c->dataline, c->pos)); timescounter++; if ((times || maxtimes) && timescounter >= ctimax) break; mincounter = 0; maxcounter = 0; } else { next_coll: mincounter++; if ((gap || max) && ++maxcounter > cmax) break; c->pos = plus(c->pos, one); } if (c->pos == t || length_str_le(c->dataline, c->pos)) break; } consume_prefix(c); } if ((times || mintimes) && timescounter < ctimin) { debuglf(elem, lit("fewer than ~d iterations collected"), num(ctimin), nao); return nil; } if (!ul_match && ul_opts && memq(mandatory_k, ul_opts)) { debuglf(elem, lit("~s didn't match mandatory until/last"), op_sym, nao); return nil; } if (!bindings_coll) debuglf(elem, lit("nothing was collected"), nao); for (iter = bindings_coll; iter; iter = cdr(iter)) { val pair = car(iter); val rev = cons(car(pair), nreverse(cdr(pair))); c->bindings = cons(rev, c->bindings); } if (last_bindings) { c->bindings = set_diff(c->bindings, last_bindings, eq_f, car_f); c->bindings = nappend2(last_bindings, c->bindings); } /* If nothing was collected, but vars were specified, then bind empty lists for the vars. */ if (!bindings_coll && vars) { for (iter = vars; iter; iter = cdr(iter)) { val sym = car(car(iter)); val exists = tx_lookup_var(sym, c->bindings); if (!exists) c->bindings = acons(sym, nil, c->bindings); } } return next_spec_k; } static val h_parallel(match_line_ctx *c) { uses_or2; elem_bind(elem, directive, c->specline); val specs = third(elem); val plist = fourth(elem); val all_match = t; val some_match = nil; val max_pos = c->pos; val choose_shortest = getplist(plist, shortest_k); val choose_longest = getplist(plist, longest_k); val choose_sym = or2(choose_longest, choose_shortest); val choose_bindings = c->bindings, choose_pos = c->pos; val choose_minmax = choose_longest ? num(-1) : num(NUM_MAX); val resolve = getplist(plist, resolve_k); val resolve_ub_vars = nil; val resolve_bindings = nil; val iter; if (choose_longest && choose_shortest) sem_error(elem, lit("choose: both :shortest and :longest specified"), nao); if (directive == choose_s && !choose_sym) sem_error(elem, lit("choose: criterion not specified"), nao); if (resolve) { for (iter = resolve; iter; iter = cdr(iter)) { val var = car(iter); if (!tx_lookup_var(var, c->bindings)) push(var, &resolve_ub_vars); } } for (iter = specs; iter != nil; iter = cdr(iter)) { val nested_spec = first(iter); cons_bind (new_bindings, new_pos, match_line(ml_specline(*c, nested_spec))); if (new_pos) { some_match = t; new_pos = minus(new_pos, c->base); if (resolve_ub_vars) { val uiter; for (uiter = resolve_ub_vars; uiter; uiter = cdr(uiter)) { val ubvar = car(uiter); val exists = tx_lookup_var(ubvar, new_bindings); if (exists) resolve_bindings = acons_new(ubvar, cdr(exists), resolve_bindings); } new_bindings = alist_remove(new_bindings, resolve_ub_vars); } if (new_pos == t || gt(new_pos, max_pos)) max_pos = new_pos; if (directive == choose_s) { val binding = choose_sym ? tx_lookup_var(choose_sym, new_bindings) : nil; val value = cdr(binding); if (value) { val len = length_str(value); if ((choose_longest && gt(len, choose_minmax)) || (choose_shortest && lt(len, choose_minmax))) { choose_minmax = len; choose_bindings = new_bindings; choose_pos = new_pos; } } } else { c->bindings = new_bindings; } if (directive == cases_s || directive == none_s) break; } else { all_match = nil; if (directive == all_s) break; } } if (directive == all_s && !all_match) { debuglf(elem, lit("all: some clauses didn't match"), nao); return nil; } if ((directive == some_s || directive == cases_s) && !some_match) { debuglf(elem, lit("some/cases: no clauses matched"), nao); return nil; } if (directive == none_s && some_match) { debuglf(elem, lit("none: some clauses matched"), nao); return nil; } /* No check for maybe, since it always succeeds. */ if (resolve_bindings) c->bindings = nappend2(resolve_bindings, c->bindings); if (directive == choose_s) { c->bindings = choose_bindings; c->pos = choose_pos; } else { c->pos = max_pos; } return next_spec_k; } static val h_trailer(match_line_ctx *c) { val result = match_line(ml_specline(*c, rest(c->specline))); cons_bind (new_bindings, new_pos, result); val elem = first(c->specline); if (!new_pos) { LOG_MISMATCH("trailer"); return nil; } LOG_MATCH("trailer", new_pos); return cons(new_bindings, plus(c->pos, c->base)); } static val h_fun(match_line_ctx *c) { val elem = first(c->specline); val sym = first(elem); val func = cdr(uw_get_func(sym)); if (func) { val args = rest(elem); val params = car(func); val ub_p_a_pairs = nil; val body = cdr(func); val piter, aiter; val bindings_cp = copy_list(c->bindings); if (!equal(length(args), length_list(params))) sem_error(elem, lit("function ~a takes ~d argument(s)"), sym, length_list(params), nao); for (piter = params, aiter = args; piter; piter = cdr(piter), aiter = cdr(aiter)) { val param = car(piter); val arg = car(aiter); if (arg && bindable(arg)) { val val = tx_lookup_var(arg, c->bindings); if (val) { bindings_cp = cons(cons(param, cdr(val)), bindings_cp); } else { bindings_cp = alist_nremove1(bindings_cp, param); ub_p_a_pairs = cons(cons(param, arg), ub_p_a_pairs); } } else { val val = txeval(elem, arg, c->bindings); bindings_cp = cons(cons(param, val), bindings_cp); } } { args_decl_list(args, ARGS_MIN, bindings_cp); uw_block_begin(nil, result); uw_env_begin; debug_frame(sym, args, ub_p_a_pairs, c->bindings, c->dataline, c->data_lineno, c->pos); result = match_line(ml_bindings_specline(*c, bindings_cp, body)); debug_end; uw_env_end; uw_block_end; if (!result) { debuglf(elem, lit("function (~s ~s) failed"), sym, args, nao); return nil; } { cons_bind (new_bindings, success, result); for (piter = ub_p_a_pairs; piter; piter = cdr(piter)) { cons_bind (param, arg, car(piter)); if (symbolp(arg)) { val newbind = tx_lookup_var(param, new_bindings); if (newbind) { c->bindings = dest_bind(elem, c->bindings, arg, cdr(newbind), equal_f); if (c->bindings == t) { debuglf(elem, lit("binding mismatch on ~a " "when returning from ~a"), arg, sym, nao); return nil; } } } } c->pos = minus(success, c->base); } } return next_spec_k; } return decline_k; } static val h_eol(match_line_ctx *c) { val elem = first(c->specline); if (length_str_le(c->dataline, c->pos)) { LOG_MATCH("eol", c->pos); return next_spec_k; } LOG_MISMATCH("eol"); return nil; } static val h_chr(match_line_ctx *c) { val elem = first(c->specline); val args = rest(elem); val pat = car(args); if (!args || rest(args)) sem_error(elem, lit("chr directive takes one argument"), nao); c->bindings = dest_bind(elem, c->bindings, pat, c->pos, eql_f); if (c->bindings == t) { debuglf(elem, lit("chr mismatch (position ~d vs. ~s)"), c->pos, pat, nao); return nil; } return next_spec_k; } typedef struct { val spec, files, curfile, bindings, data, data_lineno; } match_files_ctx; static match_files_ctx mf_all(val spec, val files, val bindings, val data, val curfile); static val v_fun(match_files_ctx *c); static val h_call(match_line_ctx *c) { val saved_specline = c->specline; val elem = first(saved_specline); val args = rest(elem); val funexpr = first(args); val funval = tleval_144(c->specline, funexpr, c->bindings); val argexprs = rest(args); val call = cons(funval, argexprs); val new_specline = cons(call, nil); val ret; c->specline = new_specline; ret = h_fun(c); c->specline = saved_specline; if (ret == decline_k) { val spec = cons(new_specline, nil); match_files_ctx vc = mf_all(spec, nil, c->bindings, nil, c->file); val vresult = v_fun(&vc); if (vresult == next_spec_k) { c->bindings = vc.bindings; return vresult; } else if (vresult == decline_k) { sem_error(elem, lit("call: function ~s not found"), funval, nao); } return vresult; } return ret; } static val do_match_line(match_line_ctx *c) { val lfe_save = set_last_form_evaled(nil); debug_enter; while (c->specline) { val elem = first(c->specline); set_last_form_evaled(elem); if (c->pos == t) c->pos = length_str(c->dataline); consume_prefix(c); debug_check(c->specline, c->bindings, c->dataline, c->data_lineno, c->pos, c->base); switch (type(elem)) { case CONS: /* directive */ { val directive = first(elem); if (consp(directive) || stringp(directive)) { val len = match_str_tree(c->dataline, elem, c->pos); val newpos; if (!len) { LOG_MISMATCH("string tree"); debug_return (nil); } newpos = plus(c->pos, len); LOG_MATCH("string tree", newpos); c->pos = newpos; } else { val entry = gethash(h_directive_table, directive); if (entry) { h_match_func hmf = coerce(h_match_func, cptr_get(entry)); val result = hmf(c); if (result == next_spec_k) { break; } else if (result == repeat_spec_k) { continue; } else { debug_return (result); } } else { val result = h_fun(c); if (result == next_spec_k) { break; } else if (result == repeat_spec_k) { continue; } else if (result == decline_k) { val spec = rlcp(cons(cons(elem, nil), nil), elem); match_files_ctx vc = mf_all(spec, nil, c->bindings, nil, c->file); val vresult = v_fun(&vc); if (vresult == next_spec_k) { c->bindings = vc.bindings; break; } else if (vresult == repeat_spec_k) { c->bindings = vc.bindings; continue; } else if (vresult == decline_k) { if (gethash(v_directive_table, directive)) sem_error(elem, lit("~a only exists as a vertical directive"), directive, nao); else sem_error(elem, lit("no such function or directive: ~a"), directive, nao); } else { debug_return (vresult); } } else { debug_return (result); } } } } break; case STR: case LSTR: case LIT: { val newpos; if (!match_str(c->dataline, elem, c->pos)) { LOG_MISMATCH("string"); debug_return (nil); } newpos = plus(c->pos, length_str(elem)); LOG_MATCH("string", newpos); c->pos = newpos; break; } case COBJ: if (elem->co.cls == regex_s) { val past = match_regex(c->dataline, elem, c->pos); if (nilp(past)) { LOG_MISMATCH("regex"); debug_return (nil); } LOG_MATCH("regex", past); c->pos = past; break; } /* fallthrough */ default: sem_error(elem, lit("unsupported object in spec: ~s"), elem, nao); } c->specline = cdr(c->specline); } debug_return (cons(c->bindings, plus(c->pos, c->base))); debug_leave; set_last_form_evaled(lfe_save); } static val match_line(match_line_ctx c) { return do_match_line(&c); } static val match_line_completely(match_line_ctx c) { val result = do_match_line(&c); if (result) { val new_pos = cdr(result); if (new_pos != t && length_str_gt(c.dataline, minus(new_pos, c.base))) { debuglf(c.specline, lit("spec only matches line to position ~d: ~a"), new_pos, c.dataline, nao); return nil; } } return result; } static val tx_subst_vars(val spec, val bindings, val filter) { if (opt_compat && opt_compat <= 128) { list_collect_decl(out, iter); uw_env_begin; uw_set_match_context(cons(spec, bindings)); while (spec) { val elem = first(spec); if (consp(elem)) { val sym = first(elem); if (sym == var_s) { val expr = second(elem); val modifiers = third(elem); val str = txeval(spec, expr, bindings); /* If the object is a list, we let format_field deal with the conversion to text, because the modifiers influence how it is done. */ if (!stringp(str) && !listp(str)) str = tostringp(str); if (modifiers) { spec = cons(format_field(str, modifiers, filter, curry_123_2(func_n3(txeval), spec, bindings)), rest(spec)); } else { if (listp(str)) str = cat_str(mapcar(func_n1(tostringp), str), lit(" ")); spec = cons(filter_string_tree(filter, str), rest(spec)); } continue; } else if (sym == quasi_s) { val nested = tx_subst_vars(rest(elem), bindings, filter); iter = list_collect_append(iter, nested); spec = cdr(spec); continue; } else { if (opt_compat && opt_compat < 100) { val result = tleval(spec, elem, bindings); spec = cons(filter_string_tree(filter, tostringp(result)), rest(spec)); continue; } else { val str = tleval(spec, elem, bindings); if (listp(str)) str = cat_str(mapcar(func_n1(tostringp), str), lit(" ")); else if (!stringp(str)) str = tostringp(str); spec = cons(filter_string_tree(filter, tostringp(str)), rest(spec)); continue; } } } iter = list_collect(iter, elem); spec = cdr(spec); } uw_env_end; return out; } else { val saved_de = set_dyn_env(make_env(bindings, nil, nil)); val out; uw_set_match_context(cons(spec, bindings)); out = subst_vars(spec, nil, filter); set_dyn_env(saved_de); return out; } } static val do_txeval(val spec, val form, val bindings, val allow_unbound) { val ret = nil; uw_mark_frame; uses_or2; uw_catch_begin (cons(query_error_s, nil), exc_sym, exc); if (!form) uw_fast_return(nil); { if (!form || regexp(form)) { ret = form; } else if (bindable(form)) { val binding = or2(assoc(form, bindings), lookup_var(nil, form)); if (!binding) { if (allow_unbound) ret = noval_s; else sem_error(spec, lit("unbound variable ~s"), form, nao); } else { ret = cdr(binding); } } else if (consp(form)) { val sym = first(form); if (sym == quasi_s) { ret = cat_str(tx_subst_vars(rest(form), bindings, nil), nil); } else if (sym == quasilist_s) { val iter; list_collect_decl (out, tail); for (iter = rest(form); iter != nil; iter = cdr(iter)) tail = list_collect(tail, tx_subst_vars(cdr(car(iter)), bindings, nil)); ret = out; } else if (sym == var_s || sym == expr_s) { ret = tleval(spec, second(form), bindings); } else { ret = mapcar(curry_123_2(func_n3(txeval), spec, bindings), form); } } else if (stringp(form)) { ret = form; } else { ret = form; } uw_catch (exc_sym, exc) { val msg = if3(consp(exc), car(exc), exc); if (stringp(msg) && !equal(msg, lit("")) && chr_str(msg, zero) == chr('(')) { uw_throw (exc_sym, exc); } sem_error(spec, lit("~a"), exc, nao); } uw_unwind { } } uw_catch_end; return ret; } static val txeval(val spec, val form, val bindings) { return do_txeval(spec, form, bindings, nil); } static val txeval_allow_ub(val spec, val form, val bindings) { return do_txeval(spec, form, bindings, t); } static val complex_open(val name, val output, val append, val nothrow, val from_cmdline) { int old_hacky_open = opt_compat && opt_compat <= 142; if (streamp(name)) { return name; } else { val fc = car(name); val result = nil; if (old_hacky_open && fc == chr('$') && output) uw_throwf(query_error_s, lit("cannot output to directory: ~a"), name, nao); uw_catch_begin (if2(nothrow, cons(error_s, nil)), exc_sym, exc); if (from_cmdline && fc == chr('-')) { result = output ? std_output : std_input; } else if (old_hacky_open && fc == chr('!')) { result = open_command(cdr(name), output ? lit("w") : lit("r")); } else if (old_hacky_open && fc == chr('$')) { result = open_directory(cdr(name)); } else { result = open_file(name, output ? append ? lit("a") : lit("w") : lit("r")); } uw_catch (exc_sym, exc) { (void) exc; } uw_unwind { } uw_catch_end; return result; } } static val robust_length(val obj) { if (obj == nil) return zero; if (atom(obj)) return negone; return length_list(obj); } static val bind_car(val bind_cons) { return if3(consp(cdr(bind_cons)), cons(car(bind_cons), car(cdr(bind_cons))), bind_cons); } static val bind_cdr(val bind_cons) { return if3(consp(cdr(bind_cons)), cons(car(bind_cons), cdr(cdr(bind_cons))), bind_cons); } static val extract_vars(val output_spec) { list_collect_decl (vars, tai); if (consp(output_spec)) { val sym = first(output_spec); if (sym == var_s) { val name = second(output_spec); val modifiers = third(output_spec); if (bindable(name)) tai = list_collect(tai, name); else tai = list_collect_nconc(tai, extract_vars(name)); for (; modifiers; modifiers = cdr(modifiers)) { val mod = car(modifiers); if (bindable(mod)) { tai = list_collect(tai, mod); } else if (consp(mod)) { val msym = car(mod); if (msym == dwim_s) { val arg = second(mod); if (bindable(arg)) { tai = list_collect(tai, arg); } else if (consp(arg) && car(arg) == rcons_s) { val f = second(arg); val t = third(arg); if (bindable(f)) tai = list_collect(tai, f); if (bindable(t)) tai = list_collect(tai, t); } } } } } else if (sym != expr_s) { for (; output_spec; output_spec = cdr(output_spec)) tai = list_collect_nconc(tai, extract_vars(car(output_spec))); } } return vars; } static val extract_bindings(val bindings, val output_spec, val vars) { list_collect_decl (bindings_out, ptail); list_collect_decl (var_list, vtail); vtail = list_collect_nconc(vtail, extract_vars(output_spec)); for (; vars; vars = cdr(vars)) { val var = car(vars); if (consp(var)) { val form = cadr(var); val value = tleval(output_spec, form, bindings); bindings = cons(cons(car(var), value), bindings); vtail = list_collect(vtail, car(var)); } else { vtail = list_collect(vtail, var); } } for (; bindings; bindings = cdr(bindings)) { val binding = car(bindings); val sym = car(binding); if (assoc(sym, bindings_out)) continue; if (memq(sym, var_list)) ptail = list_collect(ptail, binding); } for (; var_list; var_list = cdr(var_list)) { val sym = car(var_list); if (assoc(sym, bindings_out)) { continue; } else { val binding = lookup_var(nil, sym); if (binding) ptail = list_collect(ptail, binding); } } return bindings_out; } static void do_output_line(val bindings, val specline, val filter, val out) { if (specline == t) return; for (; specline; specline = rest(specline)) { val elem = first(specline); switch (type(elem)) { case CONS: { val directive = first(elem); if (directive == var_s) { val str = cat_str(tx_subst_vars(cons(elem, nil), bindings, filter), nil); if (str == nil) sem_error(specline, lit("bad substitution: ~a"), second(elem), nao); put_string(str, out); } else if (directive == rep_s) { val clauses = cdr(elem); val args = pop(&clauses); val main_clauses = pop(&clauses); val single_clauses = pop(&clauses); val first_clauses = pop(&clauses); val last_clauses = pop(&clauses); val empty_clauses = pop(&clauses); val mod_clauses = pop(&clauses); val modlast_clauses = pop(&clauses); val counter_spec = getplist(args, counter_k); val consp_counter = consp(counter_spec); val counter = if3(consp_counter, first(counter_spec), counter_spec); val counter_base = if3(consp_counter, tleval(elem, second(counter_spec), bindings), zero); val vars = getplist(args, vars_k); val bind_cp = extract_bindings(bindings, elem, vars); val max_depth = reduce_left(func_n2(max2), bind_cp, zero, chain(func_n1(cdr), func_n1(robust_length), nao)); if (counter && !bindable(counter)) sem_error(elem, lit(":counter requires a bindable symbol, not ~s"), counter, nao); if (equal(max_depth, zero) && empty_clauses) { do_output_line(nappend2(bind_cp, bindings), empty_clauses, filter, out); } else if (equal(max_depth, one) && single_clauses) { val bind_a = nappend2(mapcar(func_n1(bind_car), bind_cp), bindings); do_output_line(bind_a, single_clauses, filter, out); } else if (!zerop(max_depth)) { val counter_var = if2(counter, cons(counter, nil)); val counter_bind = if2(counter, cons(counter_var, nil)); cnum i; for (i = 0; i < c_num(max_depth); i++) { val bind_a = nappend2(mapcar(func_n1(bind_car), bind_cp), bindings); val bind_d = mapcar(func_n1(bind_cdr), bind_cp); if (counter) { rplacd(counter_var, plus(num(i), counter_base)); rplacd(counter_bind, bind_a); bind_a = counter_bind; } if (i == 0 && first_clauses) { do_output_line(bind_a, first_clauses, filter, out); } else if (i == c_num(max_depth) - 1 && (last_clauses || modlast_clauses)) { if (modlast_clauses) { val iter; list_collect_decl (active_mods, ptail); for (iter = modlast_clauses; iter != nil; iter = cdr(iter)) { val clause = car(iter); val args = first(clause); val n = tleval_144(args, first(args), bind_a); val m = tleval_144(args, second(args), bind_a); if (eql(mod(num(i), m), n)) ptail = list_collect_append(ptail, rest(clause)); } if (active_mods) do_output_line(bind_a, active_mods, filter, out); else if (last_clauses) do_output_line(bind_a, last_clauses, filter, out); else goto mod_fallback; } else { do_output_line(bind_a, last_clauses, filter, out); } } else if (mod_clauses) mod_fallback: { val iter; list_collect_decl (active_mods, ptail); for (iter = mod_clauses; iter != nil; iter = cdr(iter)) { val clause = car(iter); val args = first(clause); val n = tleval_144(args, first(args), bind_a); val m = tleval_144(args, second(args), bind_a); if (eql(mod(num(i), m), n)) ptail = list_collect_append(ptail, rest(clause)); } if (active_mods) do_output_line(bind_a, active_mods, filter, out); else do_output_line(bind_a, main_clauses, filter, out); } else { do_output_line(bind_a, main_clauses, filter, out); } bind_cp = bind_d; } } } else if (directive == expr_s) { if (opt_compat && opt_compat < 100) { format(out, lit("~a"), tleval(elem, second(elem), bindings), nao); } else { val str = cat_str(tx_subst_vars(cdr(elem), bindings, filter), nil); if (str == nil) sem_error(specline, lit("bad substitution: ~a"), second(elem), nao); put_string(str, out); } } } break; case STR: case LSTR: case LIT: put_string(elem, out); break; case 0: break; default: sem_error(specline, lit("unsupported object in output spec: ~s"), elem, nao); } } } static void do_output(val bindings, val specs, val filter, val out) { if (specs == t) return; for (; specs; specs = cdr(specs)) { val specline = first(specs); val first_elem = first(specline); if (consp(first_elem)) { val sym = first(first_elem); if (sym == repeat_s) { val clauses = cdr(first_elem); val args = pop(&clauses); val main_clauses = pop(&clauses); val single_clauses = pop(&clauses); val first_clauses = pop(&clauses); val last_clauses = pop(&clauses); val empty_clauses = pop(&clauses); val mod_clauses = pop(&clauses); val modlast_clauses = pop(&clauses); val counter_spec = getplist(args, counter_k); val consp_counter = consp(counter_spec); val counter = if3(consp_counter, first(counter_spec), counter_spec); val counter_base = if3(consp_counter, tleval(first_elem, second(counter_spec), bindings), zero); val vars = getplist(args, vars_k); val bind_cp = extract_bindings(bindings, first_elem, vars); val max_depth = reduce_left(func_n2(max2), bind_cp, zero, chain(func_n1(cdr), func_n1(robust_length), nao)); if (equal(max_depth, zero) && empty_clauses) { do_output(nappend2(bind_cp, bindings), empty_clauses, filter, out); } else if (equal(max_depth, one) && single_clauses) { val bind_a = nappend2(mapcar(func_n1(bind_car), bind_cp), bindings); do_output(bind_a, single_clauses, filter, out); } else if (!zerop(max_depth)) { val counter_var = if2(counter, cons(counter, nil)); val counter_bind = if2(counter, cons(counter_var, nil)); cnum i; for (i = 0; i < c_num(max_depth); i++) { val bind_a = nappend2(mapcar(func_n1(bind_car), bind_cp), bindings); val bind_d = mapcar(func_n1(bind_cdr), bind_cp); if (counter) { rplacd(counter_var, plus(num(i), counter_base)); rplacd(counter_bind, bind_a); bind_a = counter_bind; } if (i == 0 && first_clauses) { do_output(bind_a, first_clauses, filter, out); } else if (i == c_num(max_depth) - 1 && (last_clauses || modlast_clauses)) { if (modlast_clauses) { val iter; list_collect_decl (active_mods, ptail); for (iter = modlast_clauses; iter != nil; iter = cdr(iter)) { val clause = car(iter); val args = first(clause); val n = tleval_144(args, first(args), bind_a); val m = tleval_144(args, second(args), bind_a); if (eql(mod(num(i), m), n)) ptail = list_collect_append(ptail, rest(clause)); } if (active_mods) do_output(bind_a, active_mods, filter, out); else if (last_clauses) do_output(bind_a, last_clauses, filter, out); else goto mod_fallback; } else { do_output(bind_a, last_clauses, filter, out); } } else if (mod_clauses) mod_fallback: { val iter; list_collect_decl (active_mods, ptail); for (iter = mod_clauses; iter != nil; iter = cdr(iter)) { val clause = car(iter); val args = first(clause); val n = tleval_144(args, first(args), bind_a); val m = tleval_144(args, second(args), bind_a); if (eql(mod(num(i), m), n)) ptail = list_collect_append(ptail, rest(clause)); } if (active_mods) do_output(bind_a, active_mods, filter, out); else do_output(bind_a, main_clauses, filter, out); } else { do_output(bind_a, main_clauses, filter, out); } bind_cp = bind_d; } } continue; } } do_output_line(bindings, specline, filter, out); put_char(chr('\n'), out); } } static match_files_ctx mf_all(val spec, val files, val bindings, val data, val curfile) { match_files_ctx c; c.spec = spec; c.files = files; c.curfile = curfile; c.bindings = bindings; c.data = data; c.data_lineno = if3(data, one, zero); return c; } static match_files_ctx mf_args(match_files_ctx c) { match_files_ctx nc = c; nc.data = c.files; nc.curfile = lit("args"); nc.data_lineno = one; return nc; } static match_files_ctx mf_data(match_files_ctx c, val data, val data_lineno) { match_files_ctx nc = c; nc.data = data; nc.data_lineno = data_lineno; return nc; } static match_files_ctx mf_spec(match_files_ctx c, val spec) { match_files_ctx nc = c; nc.spec = spec; return nc; } static match_files_ctx mf_spec_bindings(match_files_ctx c, val spec, val bindings) { match_files_ctx nc = c; nc.spec = spec; nc.bindings = bindings; return nc; } static match_files_ctx mf_file_data(match_files_ctx c, val file, val data, val data_lineno) { match_files_ctx nc = c; nc.files = cons(file, c.files); nc.curfile = file; nc.data = data; nc.data_lineno = data_lineno; return nc; } static match_files_ctx mf_from_ml(match_line_ctx ml) { return mf_all(cons(ml.specline, nil), nil, ml.bindings, nil, ml.file); } static val match_files(match_files_ctx a); typedef val (*v_match_func)(match_files_ctx *cout); #define spec_bind(specline, first_spec, spec) \ val specline = first(spec); \ val first_spec = first(specline) static val v_skip(match_files_ctx *c) { spec_bind (specline, first_spec, c->spec); if (rest(specline)) return decline_k; c->spec = rest(c->spec); if (!c->spec) return cons(c->bindings, cons(c->data, c->data_lineno)); { val skipspec = first(first(c->spec)); val args = rest(first_spec); val max = tleval_144(skipspec, first(args), c->bindings); val min = tleval_144(skipspec, second(args), c->bindings); cnum cmax = if3(max, c_num(max), 0); cnum cmin = if3(min, c_num(min), 0); val greedy = eq(max, greedy_k); volatile val last_good_result = nil; volatile val last_good_line = zero; { cnum reps_max = 0, reps_min = 0; uw_block_begin(nil, result); while (c->data && min && reps_min < cmin) { c->data = rest(c->data); c->data_lineno = plus(c->data_lineno, one); reps_min++; } if (min) { if (reps_min != cmin) { debuglf(skipspec, lit("skipped only ~d/~d lines to ~a:~d"), num(reps_min), num(cmin), c->curfile, c->data_lineno, nao); uw_block_return(nil, nil); } debuglf(skipspec, lit("skipped ~d lines to ~a:~d"), num(reps_min), c->curfile, c->data_lineno, nao); } while (greedy || !max || reps_max++ < cmax) { result = match_files(*c); if (result) { if (greedy) { last_good_result = result; last_good_line = c->data_lineno; } else { debuglf(skipspec, lit("skip matched ~a:~d"), c->curfile, c->data_lineno, nao); break; } } else { debuglf(skipspec, lit("skip didn't match ~a:~d"), c->curfile, c->data_lineno, nao); } if (!c->data) break; debuglf(skipspec, lit("skip didn't match ~a:~d"), c->curfile, c->data_lineno, nao); c->data = rest(c->data); c->data_lineno = plus(c->data_lineno, one); } uw_block_end; if (result) return result; if (last_good_result) { debuglf(skipspec, lit("greedy skip matched ~a:~d"), c->curfile, last_good_line, nao); return last_good_result; } } debuglf(skipspec, lit("skip failed"), nao); return nil; } } static val v_fuzz(match_files_ctx *c) { spec_bind (specline, first_spec, c->spec); if (rest(specline)) return decline_k; c->spec = rest(c->spec); if (!c->spec) return cons(c->bindings, cons(c->data, c->data_lineno)); { val fuzz_spec = first(first(c->spec)); val args = rest(first_spec); val m = tleval_144(fuzz_spec, first(args), c->bindings); val n = tleval_144(fuzz_spec, second(args), c->bindings); cnum cm = if3(m, c_num(m), 0); cnum cn = if3(n, c_num(n), 0); { cnum reps, good; for (reps = 0, good = 0; reps < cn; reps++) { match_files_ctx fuzz_ctx = mf_spec(*c, cons(first(c->spec), nil)); val result = match_files(fuzz_ctx); if (result) { debuglf(fuzz_spec, lit("fuzz matched ~a:~d"), c->curfile, c->data_lineno, nao); good++; } else { debuglf(fuzz_spec, lit("fuzz didn't match ~a:~d"), c->curfile, c->data_lineno, nao); } if (!c->data) break; c->data = rest(c->data); c->data_lineno = plus(c->data_lineno, one); c->spec = rest(c->spec); if (!c->spec) { if (good >= cm) break; debuglf(fuzz_spec, lit("fuzz failed ~a:~d"), c->curfile, c->data_lineno, nao); return nil; } } if (reps == cn && good < cm) { debuglf(fuzz_spec, lit("fuzz failed ~a:~d"), c->curfile, c->data_lineno, nao); return nil; } return match_files(*c); } } } static val v_trailer(match_files_ctx *c) { if (rest(rest(first(c->spec)))) return decline_k; c->spec = rest(c->spec); { val result = nil; uw_simple_catch_begin; if (!c->spec) { result = cons(c->bindings, cons(c->data, c->data_lineno)); } else { cons_bind (new_bindings, success, match_files(*c)); result = if2(success, cons(new_bindings, cons(c->data, c->data_lineno))); } /* * Intercept an block return initiated by accept, and rewrite * the data extent part of the result. If we don't do this; * then an accept can emanate out of the trailer block and cause * the data position to advance into the matched material. */ uw_unwind { uw_frame_t *ex = uw_current_exit_point(); if (ex && ex->uw.type == UW_BLOCK && ex->bl.protocol == accept_s) rplacd(ex->bl.result, cons(c->data, c->data_lineno)); } uw_catch_end; return result; } } val freeform_prepare(val vals, match_files_ctx *c, match_line_ctx *mlc); static val v_freeform(match_files_ctx *c) { spec_bind (specline, first_spec, c->spec); val args = rest(first_spec); val vals = mapcar(curry_123_2(func_n3(tleval_144), first_spec, c->bindings), args); if ((c->spec = rest(c->spec)) == nil) { sem_error(first_spec, lit("freeform must be followed by a query line"), nao); } else if (!c->data) { debuglf(specline, lit("freeform match failure: no data"), nao); return nil; } else { match_line_ctx mlc; val lim = freeform_prepare(vals, c, &mlc); c->data = nil; { cons_bind (new_bindings, success, do_match_line(&mlc)); if (!success) { debuglf(specline, lit("freeform match failure"), nao); return nil; } if (integerp(success)) { c->data = lazy_str_get_trailing_list(mlc.dataline, success); c->data_lineno = plus(c->data_lineno, one); } else if (success == t && lim) { c->data = lazy_str_get_trailing_list(mlc.dataline, length_str(mlc.dataline)); c->data_lineno = plus(c->data_lineno, one); } c->bindings = new_bindings; } } return next_spec_k; } val freeform_prepare(val vals, match_files_ctx *c, match_line_ctx *mlc) { uses_or2; val first_spec = first(c->spec); val limit = or2(if2(integerp(first(vals)), first(vals)), if2(integerp(second(vals)), second(vals))); val term = or2(if2(stringp(first(vals)), first(vals)), if2(stringp(second(vals)), second(vals))); val dataline = lazy_str(c->data, term, limit); *mlc = ml_all(c->bindings, first_spec, dataline, zero, c->data_lineno, c->curfile); return limit; } static val maybe_next(match_files_ctx *c, val match_result) { cons_bind (new_bindings, success, match_result); if (!success) { return nil; } else if (success == t) { c->data = nil; } else { cons_bind (new_data, new_line, success); c->data = new_data; c->data_lineno = new_line; } c->bindings = new_bindings; return next_spec_k; } static val v_block(match_files_ctx *c) { spec_bind (specline, first_spec, c->spec); val args = rest(first_spec); val name = first(args); val spec = second(args); if (rest(specline)) sem_error(specline, lit("unexpected material after block directive"), nao); { uw_block_begin(name, result); result = match_files(mf_spec(*c, spec)); uw_block_end; return maybe_next(c, result); } } static val v_accept_fail(match_files_ctx *c) { spec_bind (specline, first_spec, c->spec); val sym = first(first_spec); val target = first(rest(first_spec)); if (rest(specline)) sem_error(specline, lit("unexpected material after ~a"), sym, nao); uw_block_return_proto(target, if2(sym == accept_s, cons(c->bindings, if3(c->data, cons(c->data, c->data_lineno), t))), sym); /* TODO: uw_block_return could just throw this */ if (target) sem_error(specline, lit("~a: no block named ~a in scope"), sym, target, nao); else sem_error(specline, lit("~a: no anonymous block in scope"), sym, nao); return nil; } static val v_next(match_files_ctx *c) { spec_bind (specline, first_spec, c->spec); if ((c->spec = rest(c->spec)) == nil) return cons(c->bindings, cons(c->data, c->data_lineno)); if (rest(first_spec)) { val args = rest(first_spec); val source = first(args); val meta = nil; if (source == args_k) { if (rest(args)) { sem_error(specline, lit("(next :args) takes no additional arguments"), nao); } else { cons_bind (new_bindings, success, match_files(mf_args(*c))); if (success) return cons(new_bindings, if3(c->data, cons(c->data, c->data_lineno), t)); return nil; } } else if (source == env_k) { if (rest(args)) { sem_error(specline, lit("(next :env) takes no additional arguments"), nao); } else { cons_bind (new_bindings, success, match_files(mf_file_data(*c, lit("env"), env(), one))); if (success) return cons(new_bindings, if3(c->data, cons(c->data, c->data_lineno), t)); return nil; } } else if (consp(source)) { val sym = car(source); if (sym == var_s || sym == expr_s) meta = t; } else if (!source) { cons_bind (new_bindings, success, match_files(mf_all(c->spec, nil, c->bindings, nil, lit("empty")))); if (success) return cons(new_bindings, if3(c->data, cons(c->data, c->data_lineno), t)); return nil; } if (opt_compat && opt_compat <= 124) meta = t; if (keywordp(first(args))) { source = nil; } else { pop(&args); } if (args && !keywordp(first(args))) sem_error(specline, lit("next: keyword argument expected, not ~s"), first(args), nao); { int old_hacky_open = opt_compat && opt_compat <= 142; val alist = improper_plist_to_alist(args, list(nothrow_k, nao)); val from_var = cdr(assoc(var_k, alist)); val list_expr = cdr(assoc(list_k, alist)); val tlist_expr = cdr(assoc(tlist_k, alist)); val string_expr = cdr(assoc(string_k, alist)); val nothrow = cdr(assoc(nothrow_k, alist)); val str = if3(meta, txeval(specline, source, c->bindings), tleval(specline, source, c->bindings)); if (!from_var && !source && !string_expr && !list_expr && !tlist_expr) sem_error(specline, lit("next: source required before keyword arguments"), nao); { int count = (from_var != nil) + (list_expr != nil) + (tlist_expr != nil) + (string_expr != nil); if (count > 1) { sem_error(specline, lit("next: only one of :var, :list, :tlist or :string " "can be specified"), nao); } } if (from_var) { val existing = tx_lookup_var_ubc(from_var, c->bindings, first_spec); { cons_bind (new_bindings, success, match_files(mf_file_data(*c, lit("var"), lazy_flatten(cdr(existing)), one))); if (success) return cons(new_bindings, if3(c->data, cons(c->data, c->data_lineno), t)); return nil; } } else if (list_expr) { val list_val = if3(opt_compat && opt_compat <= 143, txeval, tleval)(specline, list_expr, c->bindings); cons_bind (new_bindings, success, match_files(mf_file_data(*c, lit("var"), lazy_flatten(list_val), one))); if (success) return cons(new_bindings, if3(c->data, cons(c->data, c->data_lineno), t)); return nil; } else if (tlist_expr) { val list_val = txeval(specline, tlist_expr, c->bindings); cons_bind (new_bindings, success, match_files(mf_file_data(*c, lit("var"), lazy_flatten(list_val), one))); if (success) return cons(new_bindings, if3(c->data, cons(c->data, c->data_lineno), t)); return nil; } else if (string_expr) { val str_val = tleval_144(specline, string_expr, c->bindings); if (!stringp(str_val)) sem_error(specline, lit(":string arg ~s evaluated to non-string ~s"), string_expr, str_val, nao); { cons_bind (new_bindings, success, match_files(mf_file_data(*c, lit("var"), split_str(str_val, lit("\n")), one))); if (success) return cons(new_bindings, if3(c->data, cons(c->data, c->data_lineno), t)); return nil; } } else if (old_hacky_open && nothrow) { if (str) { c->files = cons(cons(nothrow_k, str), c->files); } else { c->files = rest(c->files); if (!c->files) { debuglf(specline, lit("next: out of arguments"), nao); return nil; } c->files = cons(cons(nothrow_k, first(c->files)), rest(c->files)); } } else if (old_hacky_open) { if (str) { c->files = cons(str, c->files); } else { c->files = rest(c->files); if (!c->files) sem_error(specline, lit("next: out of arguments"), nao); c->files = cons(cons(nothrow_k, first(c->files)), rest(c->files)); } } else { val stream = complex_open(str, nil, nil, nothrow, nil); cons_bind (new_bindings, success, match_files(mf_file_data(*c, str, lazy_stream_cons(stream), one))); if (success) return cons(new_bindings, if3(c->data, cons(c->data, c->data_lineno), t)); return nil; } } } else { c->files = rest(c->files); if (!c->files) sem_error(specline, lit("next: out of arguments"), nao); } /* We recursively process the file list, but the new data position we return to the caller must be in the original file we we were called with. Hence, we can't make a straight tail call here. */ { cons_bind (new_bindings, success, match_files(mf_data(*c, t, nil))); if (success) return cons(new_bindings, if3(c->data, cons(c->data, c->data_lineno), t)); return nil; } } static val v_parallel(match_files_ctx *c) { spec_bind (specline, first_spec, c->spec); if (second(first_spec) == t) { return decline_k; } else { uses_or2; val sym = first(first_spec); val all_match = t; val some_match = nil; val max_line = zero; val max_data = nil; val specs = second(first_spec); val plist = third(first_spec); val choose_shortest = getplist(plist, shortest_k); val choose_longest = getplist(plist, longest_k); val choose_sym = or2(choose_longest, choose_shortest); val choose_bindings = c->bindings, choose_line = zero, choose_data = nil; val choose_minmax = choose_longest ? num(-1) : num(NUM_MAX); val resolve = getplist(plist, resolve_k); val resolve_ub_vars = nil; val resolve_bindings = nil; val iter; if (choose_longest && choose_shortest) sem_error(specline, lit("choose: both :shortest and :longest specified"), nao); if (sym == choose_s && !choose_sym) sem_error(specline, lit("choose: criterion not specified"), nao); if (resolve) { for (iter = resolve; iter; iter = cdr(iter)) { val var = car(iter); if (!tx_lookup_var(var, c->bindings)) push(var, &resolve_ub_vars); } } for (iter = specs; iter != nil; iter = rest(iter)) { val nested_spec = first(iter); cons_bind (new_bindings, success, match_files(mf_spec(*c, nested_spec))); if (success) { some_match = t; if (resolve_ub_vars) { val uiter; for (uiter = resolve_ub_vars; uiter; uiter = cdr(uiter)) { val ubvar = car(uiter); val exists = tx_lookup_var(ubvar, new_bindings); if (exists) resolve_bindings = acons_new(ubvar, cdr(exists), resolve_bindings); } new_bindings = alist_remove(new_bindings, resolve_ub_vars); } if (sym == choose_s) { val binding = choose_sym ? tx_lookup_var(choose_sym, new_bindings) : nil; val value = cdr(binding); if (value) { val len = length_str(value); if ((choose_longest && gt(len, choose_minmax)) || (choose_shortest && lt(len, choose_minmax))) { choose_minmax = len; choose_bindings = new_bindings; if (success == t) { choose_data = t; } else { cons_bind (new_data, new_line, success); choose_data = new_data; choose_line = new_line; } } } } else { /* choose does not propagate bindings between clauses! */ c->bindings = new_bindings; } if (success == t) { max_data = t; } else if (consp(success) && max_data != t) { cons_bind (new_data, new_line, success); if (gt(new_line, max_line)) { max_line = new_line; max_data = new_data; } } if (sym == cases_s || sym == none_s) break; } else { all_match = nil; if (sym == all_s) break; } } if (sym == all_s && !all_match) { debuglf(specline, lit("all: some clauses didn't match"), nao); return nil; } if ((sym == some_s || sym == cases_s) && !some_match) { debuglf(specline, lit("some/cases: no clauses matched"), nao); return nil; } if (sym == none_s && some_match) { debuglf(specline, lit("none: some clauses matched"), nao); return nil; } /* No check for maybe, since it always succeeds. */ if (resolve_bindings) c->bindings = nappend2(resolve_bindings, c->bindings); if (choose_sym) { if (consp(choose_data)) { c->data_lineno = choose_line; c->data = choose_data; } else if (choose_data == t) { c->data = nil; } c->bindings = choose_bindings; } else if (consp(max_data)) { c->data_lineno = max_line; c->data = max_data; } else if (max_data == t) { c->data = nil; } return next_spec_k; } } static val v_gather(match_files_ctx *c) { spec_bind (specline, first_spec, c->spec); val specs = copy_list(second(first_spec)); val args = third(first_spec); val until_last = fourth(first_spec); cons_bind (ul_sym, ul_args, until_last); cons_bind (ul_opts, ul_spec, ul_args); val ul_match = nil; val have_vars; val vars = vars_to_bindings(specline, getplist_f(args, vars_k, mkcloc(have_vars)), c->bindings); while (specs && c->data) { list_collect_decl (new_specs, ptail); val max_line = zero; val max_data = nil; val iter, next; val orig_bindings = c->bindings; for (iter = specs, next = cdr(iter); iter != nil; iter = next, next = cdr(iter)) { val nested_spec = first(iter); cons_bind (new_bindings, success, match_files(mf_spec(*c, nested_spec))); if (!success) { deref(cdr_l(iter)) = nil; ptail = list_collect_nconc(ptail, iter); } else if (success == t) { c->bindings = new_bindings; max_data = t; } else if (consp(success) && max_data != t) { cons_bind (new_data, new_line, success); c->bindings = new_bindings; if (gt(new_line, max_line)) { max_line = new_line; max_data = new_data; } } } if (until_last) { cons_bind (until_last_bindings, success, match_files(mf_spec(*c, ul_spec))); if (success) { debuglf(specline, lit("until/last matched ~a:~d"), c->curfile, c->data_lineno, nao); /* Until discards bindings and position, last keeps them. */ if (ul_sym == last_s) { val last_bindings = set_diff(until_last_bindings, c->bindings, eq_f, nil); c->bindings = nappend2(last_bindings, orig_bindings); if (success == t) { c->data = t; } else { cons_bind (new_data, new_line, success); c->data = new_data; c->data_lineno = new_line; } } ul_match = t; break; } } specs = new_specs; if (consp(max_data)) { debuglf(specline, lit("gather advancing from line ~d to ~d"), c->data_lineno, max_line, nao); c->data_lineno = max_line; c->data = max_data; } else if (max_data == t) { debuglf(specline, lit("gather consumed entire file"), nao); c->data = nil; } else { c->data_lineno = plus(c->data_lineno, one); c->data = rest(c->data); debuglf(specline, lit("gather advancing by one line to ~d"), c->data_lineno, nao); } } if (!ul_match && ul_opts && memq(mandatory_k, ul_opts)) { debuglf(specline, lit("gather didn't match mandatory until/last"), nao); return nil; } if (have_vars) { val iter; for (iter = vars; iter != nil; iter = cdr(iter)) { cons_bind (var, dfl_val, car(iter)); if (!tx_lookup_var(var, c->bindings)) { if (dfl_val == noval_s) { debuglf(specline, lit("gather failed to match some required vars"), nao); return nil; } else { c->bindings = acons(var, dfl_val, c->bindings); } } } debuglf(specline, lit("gather matched all required vars"), nao); return next_spec_k; } if (specs) { debuglf(specline, lit("gather failed to match some specs:"), nao); debuglf(specline, lit("~s"), specs, nao); return nil; } return next_spec_k; } static val match_expand_vars(val vars) { list_collect_decl (out, ptail); for (; vars; vars = cdr(vars)) { val var = car(vars); if (consp(var)) { val sym = car(var); val dfl = cadr(var); val dfl_ex = expand(dfl, nil); ptail = list_collect(ptail, if3(dfl == dfl_ex, var, list(sym, dfl_ex, nao))); } else { ptail = list_collect(ptail, var); } } return out; } val match_expand_keyword_args(val args) { list_collect_decl (out, ptail); if (opt_compat && opt_compat <= 165) return args; while (consp(args)) { val sym = car(args); val next = cdr(args); val more = consp(next); if (more && (sym == maxgap_k || sym == mingap_k || sym == gap_k || sym == times_k || sym == mintimes_k || sym == maxtimes_k || sym == lines_k || sym == counter_k || sym == vars_k || sym == list_k || sym == string_k)) { val form = car(next); val form_ex = if3(sym == vars_k, match_expand_vars(form), expand(form, nil)); ptail = list_collect(ptail, sym); ptail = list_collect(ptail, form_ex); args = cdr(next); } else if (more && (sym == tlist_k)) { ptail = list_collect(ptail, sym); ptail = list_collect(ptail, expand_meta(car(next), nil)); args = cdr(next); } else if (more && (sym == var_k)) { ptail = list_collect(ptail, sym); ptail = list_collect(ptail, car(next)); args = cdr(next); } else { ptail = list_collect(ptail, expand(sym, nil)); args = next; } } return out; } val match_expand_elem(val elem) { if (atom(elem)) { return elem; } else { val sym = car(elem); val args = cdr(elem); if (opt_compat && opt_compat < 166) { goto out; } else if (sym == skip_s || sym == fuzz_s || sym == load_s || sym == close_s) { val args_ex = expand_forms(args, nil); if (args == args_ex) return elem; return rlcp(cons(sym, args_ex), elem); } else if (sym == call_s) { if (atom(args)) { return elem; } else { val arg1 = car(args); val arg1_ex = expand(arg1, nil); if (arg1 == arg1_ex) return elem; return rlcp(cons(sym, cons(arg1_ex, cdr(args))), elem); } } else if (sym == cat_s) { if (atom(args) || atom(cdr(args))) { return elem; } else { val arg1 = car(args); val arg2 = cadr(args); val arg2_ex = expand(arg2, nil); if (arg2 == arg2_ex) return elem; return rlcp(cons(sym, cons(arg1, cons(arg2_ex, cddr(args)))), elem); } } else if (sym == next_s) { val args_ex = match_expand_keyword_args(args); if (args == args_ex) return elem; return rlcp(cons(sym, args_ex), elem); } else { out: return rlcp(cons(sym, expand_meta(args, nil)), elem); } } } static val v_collect(match_files_ctx *c) { spec_bind (specline, first_spec, c->spec); val op_sym = first(first_spec); val coll_spec = second(first_spec); val until_last_spec = third(first_spec); cons_bind (ul_sym, ul_args, until_last_spec); cons_bind (ul_opts, ul_spec, ul_args); val ul_match = nil, accept_jump = t; val args = fourth(first_spec); volatile val bindings_coll = nil; volatile val last_bindings = nil; val max = tleval_144(specline, getplist(args, maxgap_k), c->bindings); val min = tleval_144(specline, getplist(args, mingap_k), c->bindings); val gap = tleval_144(specline, getplist(args, gap_k), c->bindings); val times = tleval_144(specline, getplist(args, times_k), c->bindings); val mintimes = tleval_144(specline, getplist(args, mintimes_k), c->bindings); val maxtimes = tleval_144(specline, getplist(args, maxtimes_k), c->bindings); val lines = tleval_144(specline, getplist(args, lines_k), c->bindings); val counter_spec = getplist(args, counter_k); val consp_counter = consp(counter_spec); val counter = if3(consp_counter, first(counter_spec), counter_spec); val counter_base = if3(consp_counter, tleval(specline, second(counter_spec), c->bindings), zero); val counter_binding = if2(counter, cons(counter, nil)); val bindings_with_counter = if2(counter, cons(counter_binding, nil)); val have_vars; volatile val vars = getplist_f(args, vars_k, mkcloc(have_vars)); cnum cmax = if3(gap, c_num(gap), if3(max, c_num(max), 0)); cnum cmin = if3(gap, c_num(gap), if3(min, c_num(min), 0)); cnum mincounter = cmin, maxcounter = 0; cnum ctimax = if3(times, c_num(times), if3(maxtimes, c_num(maxtimes), 0)); cnum ctimin = if3(times, c_num(times), if3(mintimes, c_num(mintimes), 0)); volatile cnum timescounter = 0, linescounter = 0; cnum ctimes = if3(times, c_num(times), 0); cnum clines = if3(lines, c_num(lines), 0); val iter; uw_mark_frame; uw_block_begin(nil, result); if (gap && (max || min)) sem_error(specline, lit("~s: cannot mix :gap with :mingap or :maxgap"), op_sym, nao); if (op_sym == repeat_s) { if (have_vars) sem_error(specline, lit("~s: collect takes :vars, repeat does not"), op_sym, nao); have_vars = t; } if (counter && !bindable(counter)) sem_error(specline, lit("~s: ~s specified as :counter isn't a bindable symbol"), op_sym, counter, nao); vars = vars_to_bindings(specline, vars, c->bindings); if ((times && ctimes == 0) || (lines && clines == 0)) uw_fast_return(next_spec_k); result = t; while (c->data) { val new_bindings = nil, success = nil; if ((gap || min) && mincounter < cmin) goto next_collect; if (lines && linescounter++ >= clines) break; { if (counter) { rplacd(counter_binding, plus(num(timescounter), counter_base)); rplacd(bindings_with_counter, c->bindings); cons_set (new_bindings, success, match_files(mf_spec_bindings(*c, coll_spec, bindings_with_counter))); if (!new_bindings) { rplacd(counter_binding, nil); new_bindings = bindings_with_counter; } } else { cons_set (new_bindings, success, match_files(mf_spec(*c, coll_spec))); } /* Until/last clause sees un-collated bindings from collect. */ if (until_last_spec) { uses_or2; cons_bind (until_last_bindings, success, match_files(mf_spec_bindings(*c, ul_spec, or2(new_bindings, c->bindings)))); if (success) { debuglf(specline, lit("until/last matched ~a:~d"), c->curfile, c->data_lineno, nao); /* Until discards bindings and position, last keeps them. */ if (ul_sym == last_s) { last_bindings = set_diff(until_last_bindings, new_bindings, eq_f, nil); if (success == t) { debuglf(specline, lit("~s: consumed entire file"), op_sym, nao); c->data = nil; } else { cons_bind (new_data, new_line, success); c->data = new_data; c->data_lineno = new_line; } } ul_match = t; break; } } if (success) { list_collect_decl (missing, ptail); val strictly_new_bindings = set_diff(new_bindings, c->bindings, eq_f, nil); val have_new = strictly_new_bindings; debuglf(specline, lit("~s matched ~a:~d"), op_sym, c->curfile, c->data_lineno, nao); for (iter = vars; iter; iter = cdr(iter)) { cons_bind (var, dfl, car(iter)); val exists = tx_lookup_var(var, new_bindings); if (!exists) { if (dfl == noval_s) ptail = list_collect(ptail, var); else strictly_new_bindings = acons(var, dfl, strictly_new_bindings); } } if (have_new && missing) sem_error(specline, lit("~s failed to bind ~a"), op_sym, missing, nao); for (iter = strictly_new_bindings; iter; iter = cdr(iter)) { val binding = car(iter); val vars_binding = assoc(car(binding), vars); if (!have_vars || vars_binding) { val existing = assoc(car(binding), bindings_coll); bindings_coll = acons_new(car(binding), cons(cdr(binding), cdr(existing)), bindings_coll); } } } if (success) { if (consp(success)) { cons_bind (new_data, new_line, success); bug_unless (ge(new_line, c->data_lineno)); if (new_line == c->data_lineno) { new_data = cdr(new_data); new_line = plus(new_line, one); } debuglf(specline, lit("~s advancing from line ~d to ~d"), op_sym, c->data_lineno, new_line, nao); c->data = new_data; c->data_lineno = new_line; deref(car_l(success)) = nil; } else { debuglf(specline, lit("~s consumed entire file"), op_sym, nao); c->data = nil; } mincounter = 0; maxcounter = 0; timescounter++; if ((times || maxtimes) && timescounter >= ctimax) break; } else { next_collect: mincounter++; if ((gap || max) && ++maxcounter > cmax) break; c->data_lineno = plus(c->data_lineno, one); c->data = rest(c->data); } } } accept_jump = nil; uw_block_end; if (!result) { debuglf(specline, lit("~s explicitly failed"), op_sym, nao); return nil; } if ((times || mintimes) && timescounter < ctimin) { debuglf(specline, lit("fewer than ~d iterations collected"), num(ctimin), nao); return nil; } if (!ul_match && ul_opts && memq(mandatory_k, ul_opts) && !accept_jump) { debuglf(specline, lit("~s didn't match mandatory until/last"), op_sym, nao); return nil; } if (!bindings_coll) debuglf(specline, lit("nothing was collected"), nao); c->bindings = set_diff(c->bindings, bindings_coll, eq_f, car_f); for (iter = bindings_coll; iter; iter = cdr(iter)) { val pair = car(iter); val rev = cons(car(pair), nreverse(cdr(pair))); c->bindings = cons(rev, c->bindings); } if (last_bindings) { c->bindings = set_diff(c->bindings, last_bindings, eq_f, car_f); c->bindings = nappend2(last_bindings, c->bindings); } /* If nothing was collected, but vars were specified, then bind empty lists for the vars. */ if (!bindings_coll && vars) { for (iter = vars; iter; iter = cdr(iter)) { val sym = car(car(iter)); val exists = tx_lookup_var(sym, c->bindings); if (!exists) c->bindings = acons(sym, nil, c->bindings); } } return next_spec_k; } static val v_flatten(match_files_ctx *c) { spec_bind (specline, first_spec, c->spec); val iter; for (iter = rest(first_spec); iter; iter = rest(iter)) { val sym = first(iter); if (!bindable(sym)) { sem_error(specline, lit("flatten: ~s is not a bindable symbol"), sym, nao); } else { val existing = tx_lookup_var_ubc(sym, c->bindings, first_spec); set(cdr_l(existing), flatten(cdr(existing))); } } return next_spec_k; } static val v_forget_local(match_files_ctx *c) { val specline = first(c->spec); val first_spec = first(specline); c->bindings = alist_remove(c->bindings, rest(first_spec)); return next_spec_k; } static val v_merge(match_files_ctx *c) { spec_bind (specline, first_spec, c->spec); val target = first(rest(first_spec)); val args = rest(rest(first_spec)); val merged = nil; if (!bindable(target)) sem_error(specline, lit("merge: ~s is not a bindable symbol"), target, nao); for (; args; args = rest(args)) { val arg = first(args); if (arg) { val arg_eval = txeval(specline, arg, c->bindings); if (merged) merged = weird_merge(merged, arg_eval); else merged = arg_eval; } } c->bindings = acons_new(target, merged, c->bindings); return next_spec_k; } static val v_bind(match_files_ctx *c) { spec_bind (specline, first_spec, c->spec); val args = rest(first_spec); val pattern = first(args); val form = second(args); val keywords = rest(rest(args)); val value = txeval(specline, form, c->bindings); val testfun = equal_f; val filter_spec = getplist(keywords, filter_k); val lfilt_spec = getplist(keywords, lfilt_k); val rfilt_spec = getplist(keywords, rfilt_k); if (filter_spec && (rfilt_spec || lfilt_spec)) sem_error(specline, lit("bind: cannot use :filter with :lfilt or :rfilt"), nao); if (filter_spec) { val filter = get_filter(filter_spec); if (!filter) { sem_error(specline, lit("bind: ~s specifies unknown filter"), filter_spec, nao); } testfun = curry_1234_34(func_n4(filter_equal), filter, filter); } else if (rfilt_spec || lfilt_spec) { val rfilt = if3(rfilt_spec, get_filter(rfilt_spec), identity_f); val lfilt = if3(lfilt_spec, get_filter(lfilt_spec), identity_f); if (!rfilt) { sem_error(specline, lit("bind: ~s specifies unknown filter"), rfilt_spec, nao); } if (!lfilt) { sem_error(specline, lit("bind: ~s specifies unknown filter"), lfilt_spec, nao); } testfun = curry_1234_34(func_n4(filter_equal), lfilt, rfilt); } uw_env_begin; uw_set_match_context(cons(c->spec, c->bindings)); c->bindings = dest_bind(specline, c->bindings, pattern, value, testfun); uw_env_end; if (c->bindings == t) return nil; return next_spec_k; } static val hv_trampoline(match_line_ctx *c) { val ret; match_files_ctx mf = mf_from_ml(*c); val sym = first(first(c->specline)); val entry = gethash(v_directive_table, sym); if (!entry) internal_error("hv_trampoline: missing dispatch table entry"); { v_match_func vmf = coerce(v_match_func, cptr_get(entry)); ret = vmf(&mf); if (ret == next_spec_k) c->bindings = mf.bindings; return ret; } } static val v_set(match_files_ctx *c) { spec_bind (specline, first_spec, c->spec); val args = rest(first_spec); val pattern = first(args); val form = second(args); val val = txeval(specline, form, c->bindings); dest_set(first_spec, c->bindings, pattern, val); return next_spec_k; } static val v_rebind(match_files_ctx *c) { spec_bind (specline, first_spec, c->spec); val args = rest(first_spec); val pattern = first(args); val form = second(args); val val = txeval(specline, form, c->bindings); c->bindings = alist_remove(c->bindings, args); c->bindings = dest_bind(specline, c->bindings, pattern, val, equal_f); return next_spec_k; } static val v_cat(match_files_ctx *c) { spec_bind (specline, first_spec, c->spec); val sym = second(first_spec); val sep_form = third(first_spec); if (!bindable(sym)) { sem_error(specline, lit("cat: ~s is not a bindable symbol"), sym, nao); } else { val existing = tx_lookup_var_ubc(sym, c->bindings, first_spec); val sep = if3(sep_form, tleval_144(specline, sep_form, c->bindings), lit(" ")); set(cdr_l(existing), cat_str(flatten(cdr(existing)), sep)); } return next_spec_k; } static val v_output(match_files_ctx *c) { spec_bind (specline, first_spec, c->spec); val specs = second(first_spec); val dest_spec = third(first_spec); val nothrow = nil; val append = nil; val dest = std_output; val filter = nil; val named_var = nil, continue_expr = nil, finish_expr = nil; val alist; val stream = nil; if (first(dest_spec) == nothrow_k) { if (rest(dest_spec)) sem_error(specline, lit("material after :nothrow in output"), nao); } else if (!keywordp(first(dest_spec))) { uses_or2; val form = first(dest_spec); val sym = if2(consp(form), car(form)); int tx = ((opt_compat && opt_compat <= 142) || (sym == var_s) || (sym == expr_s)); val val = if3(tx, txeval(specline, form, c->bindings), tleval(specline, form, c->bindings)); dest = or2(val, dest); pop(&dest_spec); } alist = improper_plist_to_alist(dest_spec, list(nothrow_k, append_k, nao)); nothrow = cdr(assoc(nothrow_k, alist)); append = cdr(assoc(append_k, alist)); named_var = cdr(assoc(named_k, alist)); continue_expr = cdr(assoc(continue_k, alist)); finish_expr = cdr(assoc(finish_k, alist)); if (named_var && continue_expr) sem_error(specline, lit(":continue and :named are mutually exclusive"), nao); if (named_var && finish_expr) sem_error(specline, lit(":named and :finish are mutually exclusive"), nao); if (continue_expr && finish_expr) sem_error(specline, lit(":continue and :finish are mutually exclusive"), nao); { val filter_sym = cdr(assoc(filter_k, alist)); if (filter_sym) { filter = get_filter(filter_sym); if (!filter) sem_error(specline, lit("~s specifies unknown filter"), filter_sym, nao); } } { val into_var = cdr(assoc(into_k, alist)); if (into_var) { val stream = make_strlist_output_stream(); if (!symbolp(into_var)) sem_error(specline, lit(":into requires a variable, not ~s"), into_var, nao); if (named_var) sem_error(specline, lit(":into incompatible with :named"), nao); if (continue_expr) sem_error(specline, lit(":into incompatible with :continue"), nao); debuglf(specline, lit("opening string list stream"), nao); do_output(c->bindings, specs, filter, stream); flush_stream(stream); { val existing = tx_lookup_var(into_var, c->bindings); val list_out = get_list_from_stream(stream); if (existing) { if (append) { set(cdr_l(existing), append2(flatten(cdr(existing)), list_out)); } else { set(cdr_l(existing), list_out); } } else { c->bindings = acons(into_var, list_out, c->bindings); } } return next_spec_k; } } if (continue_expr || finish_expr) { uses_or2; val which = or2(continue_expr, finish_expr); val stream = tleval_144(specline, which, c->bindings); if (!streamp(stream)) sem_error(specline, lit("~s evaluated to ~s which is not a stream"), which, stream, nao); do_output(c->bindings, specs, filter, stream); flush_stream(stream); if (finish_expr) close_stream(stream, t); return next_spec_k; } stream = complex_open(dest, t, append, nothrow, nil); debuglf(specline, lit("opening data sink ~a"), dest, nao); if (!stream) { debuglf(specline, lit("could not open ~a: " "treating as failed match due to nothrow"), dest, nao); return nil; } else { do_output(c->bindings, specs, filter, stream); flush_stream(stream); if (named_var) c->bindings = acons(named_var, stream, c->bindings); else if (!streamp(dest)) close_stream(stream, t); } return next_spec_k; } static val v_try(match_files_ctx *c) { spec_bind (specline, first_spec, c->spec); val catch_syms = second(first_spec); val try_clause = third(first_spec); val catch_fin = fourth(first_spec); val finally_clause = nil; { uw_block_begin(nil, result); uw_catch_begin(catch_syms, exsym, exvals); result = match_files(mf_spec(*c, try_clause)); uw_catch(exsym, exvals) { { val iter; for (iter = catch_fin; iter; iter = cdr(iter)) { val clause = car(iter); val type = first(second(clause)); val params = second(second(clause)); val body = third(clause); if (first(clause) == catch_s) { if (uw_exception_subtype_p(exsym, type)) { val all_bind = t; val piter, viter; for (piter = params, viter = exvals; piter && viter; piter = cdr(piter), viter = cdr(viter)) { val param = car(piter); val value = car(viter); if (value != noval_s) { c->bindings = dest_bind(specline, c->bindings, param, value, equal_f); if (c->bindings == t) { all_bind = nil; break; } } } if (all_bind) { cons_bind (new_bindings, success, match_files(mf_spec(*c, body))); if (success) { c->bindings = new_bindings; result = t; /* catch succeeded, so try succeeds */ if (consp(success)) { c->data = car(success); c->data_lineno = cdr(success); } else { c->data = nil; } } } break; } } else if (car(clause) == finally_s) { finally_clause = body; } } } } uw_unwind { val iter; /* result may be t, from catch above. */ if (consp(result)) { /* We process it before finally, as part of the unwinding, so finally can accumulate more bindings over top of any bindings produced by the main clause. */ cons_bind (new_bindings, success, result); if (consp(success)) { c->data = car(success); c->data_lineno = cdr(success); } else { c->data = nil; } c->bindings = new_bindings; } if (!finally_clause) { for (iter = catch_fin; iter; iter = cdr(iter)) { val clause = car(iter); if (first(clause) == finally_s) { finally_clause = third(clause); break; } } } if (finally_clause) { cons_bind (new_bindings, success, match_files(mf_spec(*c, finally_clause))); if (success) { c->bindings = new_bindings; result = t; /* finally succeeds, so try block succeeds */ if (consp(success)) { c->data = car(success); c->data_lineno = cdr(success); } else { c->data = nil; } } } } uw_catch_end; uw_block_end; if (!result) return nil; return next_spec_k; } } static val h_define(match_line_ctx *c) { val elem = first(c->specline); val body = third(elem); val args = fourth(elem); val name = first(args); val params = second(args); val existing = uw_get_func(name); uw_set_func(name, cons(car(existing), cons(params, body))); return next_spec_k; } static val v_define(match_files_ctx *c) { spec_bind (specline, first_spec, c->spec); if (rest(specline)) sem_error(specline, lit("unexpected material after define"), nao); if (second(first_spec) == t) { val elem = first(specline); val body = third(elem); val args = fourth(elem); val name = first(args); val params = second(args); val existing = uw_get_func(name); uw_set_func(name, cons(car(existing), cons(params, body))); return next_spec_k; } else { val args = second(first_spec); val body = third(first_spec); val name = first(args); val params = second(args); val existing = uw_get_func(name); uw_set_func(name, cons(cons(params, body), cdr(existing))); return next_spec_k; } } static val v_defex(match_files_ctx *c) { spec_bind (specline, first_spec, c->spec); val types = rest(first_spec); if (!all_satisfy(types, func_n1(symbolp), nil)) sem_error(specline, lit("defex arguments must all be symbols"), nao); (void) reduce_left(func_n2(uw_register_subtype), types, nil, nil); return next_spec_k; } static val v_throw(match_files_ctx *c) { spec_bind (specline, first_spec, c->spec); val type = second(first_spec); val args = rest(rest(first_spec)); if (!symbolp(type)) sem_error(specline, lit("throw: ~a is not a type symbol"), type, nao); { val values = mapcar(curry_123_2(func_n3(txeval_allow_ub), specline, c->bindings), args); uw_throw(type, values); } } static val v_deffilter(match_files_ctx *c) { spec_bind (specline, first_spec, c->spec); val sym = second(first_spec); val table = rest(rest(first_spec)); if (!symbolp(sym)) sem_error(specline, lit("deffilter: ~a is not a symbol"), first(first_spec), nao); { val table_evaled = txeval(specline, table, c->bindings); if (!all_satisfy(table_evaled, andf(func_n1(listp), chain(func_n1(length_list), curry_12_1(func_n2(ge), two), nao), chain(func_n1(rest), curry_123_1(func_n3(all_satisfy), func_n1(stringp), nil), nao), nao), nil)) sem_error(specline, lit("deffilter arguments must be lists of at least two strings"), nao); register_filter(sym, table_evaled); } /* TODO: warn about replaced filter. */ return next_spec_k; } static val v_filter(match_files_ctx *c) { spec_bind (specline, first_spec, c->spec); val filter_spec = second(first_spec); val vars = rest(rest(first_spec)); val filter = get_filter(filter_spec); if (!filter) sem_error(specline, lit("~s specifies unknown filter"), filter_spec, nao); uw_env_begin; uw_set_match_context(cons(c->spec, c->bindings)); for (; vars; vars = cdr(vars)) { val var = car(vars); val existing = tx_lookup_var_ubc(var, c->bindings, first_spec); set(cdr_l(existing), filter_string_tree(filter, cdr(existing))); } uw_env_end; return next_spec_k; } static val v_eof(match_files_ctx *c) { if (c->data && car(c->data)) { debuglf(c->spec, lit("eof failed to match at ~d"), c->data_lineno, nao); return nil; } return next_spec_k; } static val v_fun(match_files_ctx *c) { spec_bind (specline, first_spec, c->spec); val sym = first(first_spec); val func = car(uw_get_func(sym)); if (func && !rest(specline)) { val args = rest(first_spec); val params = car(func); val ub_p_a_pairs = nil; val body = cdr(func); val piter, aiter; val bindings_cp = copy_list(c->bindings); if (!equal(length_list(args), length_list(params))) sem_error(specline, lit("function ~a takes ~a argument(s)"), sym, length_list(params), nao); for (piter = params, aiter = args; piter; piter = cdr(piter), aiter = cdr(aiter)) { val param = car(piter); val arg = car(aiter); if (bindable(arg)) { val val = tx_lookup_var(arg, c->bindings); if (val) { bindings_cp = cons(cons(param, cdr(val)), bindings_cp); } else { bindings_cp = alist_nremove1(bindings_cp, param); ub_p_a_pairs = cons(cons(param, arg), ub_p_a_pairs); } } else { val val = txeval(specline, arg, c->bindings); bindings_cp = cons(cons(param, val), bindings_cp); } } { args_decl_list(args, ARGS_MIN, bindings_cp); uw_block_begin(nil, result); uw_env_begin; debug_frame(sym, args, ub_p_a_pairs, c->bindings, if2(consp(c->data), car(c->data)), c->data_lineno, nil); result = match_files(mf_spec_bindings(*c, body, bindings_cp)); debug_end; uw_env_end; uw_block_end; if (!result) { debuglf(specline, lit("function (~s ~s) failed"), sym, args, nao); return nil; } { cons_bind (new_bindings, success, result); for (piter = ub_p_a_pairs; piter; piter = cdr(piter)) { cons_bind (param, arg, car(piter)); if (symbolp(arg)) { val newbind = tx_lookup_var(param, new_bindings); if (newbind) { c->bindings = dest_bind(specline, c->bindings, arg, cdr(newbind), equal_f); if (c->bindings == t) { debuglf(specline, lit("binding mismatch on ~a " "when returning from ~a"), arg, sym, nao); return nil; } } } } if (consp(success)) { debuglf(specline, lit("function matched; " "advancing from line ~d to ~d"), c->data_lineno, cdr(success), nao); c->data = car(success); c->data_lineno = cdr(success); } else { debuglf(specline, lit("function consumed entire file"), nao); c->data = nil; } } } return next_spec_k; } return decline_k; } static val v_do(match_files_ctx *c) { spec_bind (specline, first_spec, c->spec); val args = rest(first_spec); (void) tleval_progn(c->spec, args, c->bindings); return next_spec_k; } static val v_require(match_files_ctx *c) { spec_bind (specline, first_spec, c->spec); val args = rest(first_spec); val ret; ret = tleval_progn(c->spec, args, c->bindings); if (!ret) { debuglf(specline, lit("require failed"), nao); return ret; } return next_spec_k; } static val v_if(match_files_ctx *c) { spec_bind (specline, first_spec, c->spec); val args = rest(first_spec); for (; args; args = cdr(args)) { cons_bind (expr, spec, car(args)); if (tleval(c->spec, expr, c->bindings)) return maybe_next(c, match_files(mf_spec(*c, spec))); } return next_spec_k; } static val v_assert(match_files_ctx *c) { spec_bind (specline, first_spec, c->spec); if (rest(specline)) return decline_k; c->spec = rest(c->spec); if (!c->spec) return cons(c->bindings, cons(c->data, c->data_lineno)); { val args = rest(first_spec); val type = pop(&args); val result = match_files(*c); if (result) { return result; } else if (type) { val values = mapcar(curry_123_2(func_n3(txeval_allow_ub), specline, c->bindings), args); uw_throw(type, values); } else { if (c->curfile) typed_error(assert_s, first_spec, lit("assertion (at ~a:~d)"), c->curfile, c->data_lineno, nao); typed_error(assert_s, first_spec, lit("assertion (line ~d)"), c->data_lineno, nao); } } abort(); } static val v_load(match_files_ctx *c) { uses_or2; spec_bind (specline, first_spec, c->spec); val sym = first(first_spec); val args = rest(first_spec); val parent = or2(load_path, null_string); val target = tleval(specline, first(args), c->bindings); if (rest(specline)) sem_error(specline, lit("unexpected material after ~s"), sym, nao); if (!stringp(target)) sem_error(specline, lit("~s: path ~s is not a string"), sym, target, nao); if (equal(target, null_string)) sem_error(specline, lit("~s: null string path given"), sym, nao); { val path = if3(!pure_rel_path_p(target), target, cat_str(nappend2(sub_list(split_str(parent, lit("/")), zero, negone), cons(target, nil)), lit("/"))); val stream, name; val txr_lisp_p = nil; val ret = nil; val saved_dyn_env = dyn_env; val rec = cdr(lookup_var(saved_dyn_env, load_recursive_s)); open_txr_file(path, &txr_lisp_p, &name, &stream); uw_simple_catch_begin; dyn_env = make_env(nil, nil, dyn_env); env_vbind(dyn_env, load_path_s, name); env_vbind(dyn_env, load_recursive_s, t); env_vbind(dyn_env, package_s, cur_package); if (!txr_lisp_p) { int gc = gc_state(0); parser_t parser; parse_once(stream, name, &parser); gc_state(gc); if (parser.errors) sem_error(specline, lit("~s: errors encountered in ~a"), sym, path, nao); if (sym == include_s) { ret = parser.syntax_tree; } else { val spec = parser.syntax_tree; val result = match_files(mf_spec(*c, spec)); if (!result) { debuglf(specline, lit("load: ~a failed"), path, nao); } else { cons_bind (new_bindings, success, result); c->bindings = new_bindings; if (consp(success)) { debuglf(specline, lit("load: ~a matched; " "advancing from line ~d to ~d"), path, c->data_lineno, cdr(success), nao); c->data = car(success); c->data_lineno = cdr(success); } else { debuglf(specline, lit("load: ~a consumed entire file"), path, nao); c->data = nil; } ret = next_spec_k; } } } else { if (!read_eval_stream(stream, std_error, nil)){ close_stream(stream, nil); sem_error(specline, lit("load: ~a contains errors"), path, nao); } ret = (sym == include_s) ? nil : next_spec_k; } dyn_env = saved_dyn_env; uw_unwind { close_stream(stream, nil); if (!rec) uw_dump_deferred_warnings(std_null); } uw_catch_end; return ret; } } static val v_close(match_files_ctx *c) { spec_bind (specline, first_spec, c->spec); val args = rest(first_spec); val stream = tleval(specline, first(args), c->bindings); if (rest(specline)) sem_error(specline, lit("unexpected material after close"), nao); if (!streamp(stream)) sem_error(specline, lit("close: ~s is not a stream"), stream, nao); close_stream(stream, t); return next_spec_k; } static val v_line(match_files_ctx *c) { spec_bind (specline, first_spec, c->spec); val args = rest(first_spec); val pat = car(args); if (!args || rest(args)) sem_error(specline, lit("line directive takes one argument"), nao); c->bindings = dest_bind(specline, c->bindings, pat, c->data_lineno, eql_f); if (c->bindings == t) { debuglf(specline, lit("line mismatch (line ~d vs. ~s)"), c->data_lineno, pat, nao); return nil; } return next_spec_k; } static val v_data(match_files_ctx *c) { spec_bind (specline, first_spec, c->spec); val args = rest(first_spec); val pat = car(args); if (!args || rest(args)) sem_error(specline, lit("data directive takes one argument"), nao); c->bindings = dest_bind(specline, c->bindings, pat, c->data, eql_f); if (c->bindings == t) { debuglf(specline, lit("data mismatch (data vs. ~s)"), pat, nao); return nil; } return next_spec_k; } static val v_name(match_files_ctx *c) { spec_bind (specline, first_spec, c->spec); val args = rest(first_spec); val pat = car(args); if (!args || rest(args)) sem_error(specline, lit("name directive takes one argument"), nao); c->bindings = dest_bind(specline, c->bindings, pat, c->curfile, equal_f); if (c->bindings == t) { debuglf(specline, lit("name mismatch (~s vs. ~s)"), c->curfile, pat, nao); return nil; } return next_spec_k; } static val v_call(match_files_ctx *c) { spec_bind (specline, first_spec, c->spec); val exprs = rest(first_spec); val funexpr = car(exprs); val funval = tleval_144(specline, funexpr, c->bindings); val argexprs = cdr(exprs); val call = cons(funval, argexprs); val spec = cons(cons(call, nil), nil); match_files_ctx ctx = mf_spec_bindings(*c, spec, c->bindings); val ret = v_fun(&ctx); if (ret == nil) return nil; if (ret == decline_k) sem_error(nil, lit("call: function ~s not found"), funval, nao); return cons(ctx.bindings, if3(ctx.data, cons(ctx.data, ctx.data_lineno), t)); } static val h_do(match_line_ctx *c) { val elem = first(c->specline); val args = rest(elem); (void) tleval_progn(cons(c->specline, nil), args, c->bindings); return next_spec_k; } static val h_assert(match_line_ctx *c) { val elem = rest(first(c->specline)); val type = pop(&elem); val result = match_line(ml_specline(*c, rest(c->specline))); if (result) { return result; } else if (type) { val values = mapcar(curry_123_2(func_n3(txeval_allow_ub), c->specline, c->bindings), elem); uw_throw(type, values); } else { if (c->file) typed_error(assert_s, elem, lit("assertion (at ~a:~d)"), c->file, c->data_lineno, nao); typed_error(assert_s, elem, lit("assertion (line ~d)"), c->data_lineno, nao); } abort(); } static void open_data_source(match_files_ctx *c) { /* c->data == t is set up by the top level call to match_files. * It indicates that we have not yet opened any data source. */ if (c->data == t && c->files) { val source_spec = first(c->files); val ss_consp = consp(source_spec); val name = ss_consp ? cdr(source_spec) : source_spec; val nothrow = tnil(ss_consp && car(source_spec) == nothrow_k); if (stringp(name)) { spec_bind (specline, first_spec, c->spec); if (consp(first_spec) && (gethash(non_matching_directive_table, first(first_spec))) && !rest(specline)) { debuglf(first_spec, lit("not opening source ~a " "since query starts with non-matching " "directive."), name, nao); } else { val stream = complex_open(name, nil, nil, nothrow, t); val spec = first(c->spec); debuglf(spec, lit("opening data source ~a"), name, nao); if (!stream) { debuglf(spec, lit("could not open ~a: " "treating as failed match due to nothrow"), name, nao); c->data = nil; return; } c->files = cons(name, cdr(c->files)); /* Get rid of cons and nothrow */ c->curfile = source_spec; if ((c->data = lazy_stream_cons(stream)) != nil) c->data_lineno = one; } } else if (streamp(name)) { if ((c->data = lazy_stream_cons(name))) c->data_lineno = one; } else { c->data = nil; } } else if (c->data == t && c->files == nil) { c->data = nil; } } static val match_files(match_files_ctx c) { debug_enter; gc_hint(c.data); for (; c.spec; c.spec = rest(c.spec), c.data = rest(c.data), c.data_lineno = plus(c.data_lineno, one)) repeat_spec_same_data: { spec_bind (specline, first_spec, c.spec); open_data_source(&c); debug_check(specline, c.bindings, c.data, c.data_lineno, nil, nil); if (consp(first_spec) && !rest(specline)) { val lfe_save = set_last_form_evaled(first_spec); val sym = first(first_spec); val entry = gethash(v_directive_table, sym); if (entry) { v_match_func vmf = coerce(v_match_func, cptr_get(entry)); val result; result = vmf(&c); set_last_form_evaled(lfe_save); if (result == next_spec_k) { if ((c.spec = rest(c.spec)) == nil) break; goto repeat_spec_same_data; } else if (result == decline_k) { /* go on to other processing below */ } else { debug_return (result); } } else { val result = v_fun(&c); set_last_form_evaled(lfe_save); if (result == next_spec_k) { if ((c.spec = rest(c.spec)) == nil) break; goto repeat_spec_same_data; } else if (result == decline_k) { /* go on to other processing below */ } else { debug_return (result); } } } open_data_source(&c); if (consp(c.data) && car(c.data)) { val dataline = car(c.data); cons_bind (new_bindings, success, match_line_completely(ml_all(c.bindings, specline, dataline, zero, c.data_lineno, c.curfile))); if (!success) debug_return (nil); c.bindings = new_bindings; } else if (consp(c.data) || nilp(c.data)) { debuglf(specline, lit("spec ran out of data"), nao); debug_return (nil); } else { internal_error("bug in data stream opening logic"); } } debug_return (cons(c.bindings, if3(c.data, cons(c.data, c.data_lineno), t))); debug_leave; } val match_filter(val name, val arg, val other_args) { cons_bind (in_spec, in_bindings, uw_get_match_context()); spec_bind (specline, first_spec, in_spec); val in_arg_sym = make_sym(lit("in_arg")); val out_arg_sym = make_sym(lit("out_arg")); val bindings = cons(cons(in_arg_sym, arg), in_bindings); val spec = cons(list(cons(name, cons(in_arg_sym, cons(out_arg_sym, other_args))), nao), nil); match_files_ctx c = mf_all(spec, nil, bindings, nil, nil); val ret = v_fun(&c); (void) first_spec; rlcp(car(spec), specline); if (ret == nil) sem_error(specline, lit("filter: (~s ~s ~s) failed"), name, arg, out_arg_sym, nao); if (ret == decline_k) sem_error(specline, lit("filter: function ~s not found"), name, nao); { val out = tx_lookup_var(out_arg_sym, c.bindings); if (!out) sem_error(specline, lit("filter: (~s ~s ~s) did not bind ~s"), name, arg, out_arg_sym, out_arg_sym, nao); return cdr(out); } } val match_fun(val name, val args, val input, val files) { val call = cons(name, args); val spec = cons(cons(call, nil), nil); val in_bindings = cdr(uw_get_match_context()); val data = if3(streamp(input), lazy_stream_cons(input), input); /* TODO: pass through source location context */ match_files_ctx c = mf_all(spec, files, in_bindings, data, nil); val ret; debug_enter; debug_check(call, c.bindings, c.data, c.data_lineno, nil, nil); ret = v_fun(&c); if (ret == nil) debug_return (nil); if (ret == decline_k) sem_error(nil, lit("match_fun: function ~s not found"), name, nao); debug_return (cons(c.bindings, if3(c.data, cons(c.data, c.data_lineno), t))); debug_leave; } val include(val specline) { val spec = cons(specline, nil); match_files_ctx c = mf_all(spec, nil, nil, nil, nil); return v_load(&c); } val extract(val spec, val files, val predefined_bindings) { val result = match_files(mf_all(spec, files, predefined_bindings, t, nil)); cons_bind (bindings, success, result); if (opt_print_bindings) { if (bindings) { bindings = nreverse(bindings); rplaca(result, bindings); dump_bindings(bindings); } if (!success) put_line(lit("false"), std_output); } return result; } void match_reg_var(val sym) { if (bindable(sym) && !uw_tentative_def_exists(sym)) { val tag = cons(var_s, sym); uw_register_tentative_def(tag); } } static void match_reg_var_rec(val sym) { if (consp(sym)) { match_reg_var_rec(car(sym)); match_reg_var_rec(cdr(sym)); return; } match_reg_var(sym); } void match_reg_params(val params) { for (; params; params = cdr(params)) { val var = car(params); if (atom(var)) match_reg_var(var); else match_reg_var(car(var)); } } void match_reg_elem(val elem) { if (consp(elem)) { val sym = car(elem); val vpos = gethash(binding_directive_table, sym); if (vpos) { val var = ref(elem, vpos); match_reg_var_rec(var); } else if (!gethash(h_directive_table, sym) && !gethash(v_directive_table, sym)) { elem = cdr(elem); for (; consp(elem); elem = cdr(elem)) match_reg_var(car(elem)); match_reg_var(elem); } } } static void syms_init(void) { decline_k = intern(lit("decline"), keyword_package); next_spec_k = intern(lit("next-spec"), keyword_package); repeat_spec_k = intern(lit("repeat-spec"), keyword_package); mingap_k = intern(lit("mingap"), keyword_package); maxgap_k = intern(lit("maxgap"), keyword_package); gap_k = intern(lit("gap"), keyword_package); mintimes_k = intern(lit("mintimes"), keyword_package); maxtimes_k = intern(lit("maxtimes"), keyword_package); times_k = intern(lit("times"), keyword_package); lines_k = intern(lit("lines"), keyword_package); chars_k = intern(lit("chars"), keyword_package); text_s = intern(lit("text"), system_package); choose_s = intern(lit("choose"), user_package); gather_s = intern(lit("gather"), user_package); do_s = intern(lit("do"), user_package); load_s = intern(lit("load"), user_package); include_s = intern(lit("include"), user_package); close_s = intern(lit("close"), user_package); require_s = intern(lit("require"), user_package); longest_k = intern(lit("longest"), keyword_package); shortest_k = intern(lit("shortest"), keyword_package); greedy_k = intern(lit("greedy"), keyword_package); vars_k = intern(lit("vars"), keyword_package); resolve_k = intern(lit("resolve"), keyword_package); append_k = intern(lit("append"), keyword_package); into_k = intern(lit("into"), keyword_package); var_k = intern(lit("var"), keyword_package); list_k = intern(lit("list"), keyword_package); tlist_k = intern(lit("tlist"), keyword_package); string_k = intern(lit("string"), keyword_package); env_k = intern(lit("env"), keyword_package); named_k = intern(lit("named"), keyword_package); continue_k = intern(lit("continue"), keyword_package); finish_k = intern(lit("finish"), keyword_package); mandatory_k = intern(lit("mandatory"), keyword_package); filter_s = intern(lit("filter"), user_package); noval_s = intern(lit("noval"), system_package); mod_s = intern(lit("mod"), user_package); modlast_s = intern(lit("modlast"), user_package); line_s = intern(lit("line"), user_package); data_s = intern(lit("data"), user_package); fuzz_s = intern(lit("fuzz"), user_package); counter_k = intern(lit("counter"), keyword_package); } static void dir_tables_init(void) { protect(&h_directive_table, &v_directive_table, &non_matching_directive_table, &binding_directive_table, convert(val *, 0)); h_directive_table = make_hash(nil, nil, nil); v_directive_table = make_hash(nil, nil, nil); non_matching_directive_table = make_hash(nil, nil, nil); binding_directive_table = make_hash(nil, nil, nil); sethash(v_directive_table, skip_s, cptr(coerce(mem_t *, v_skip))); sethash(v_directive_table, fuzz_s, cptr(coerce(mem_t *, v_fuzz))); sethash(v_directive_table, trailer_s, cptr(coerce(mem_t *, v_trailer))); sethash(v_directive_table, freeform_s, cptr(coerce(mem_t *, v_freeform))); sethash(v_directive_table, block_s, cptr(coerce(mem_t *, v_block))); sethash(v_directive_table, accept_s, cptr(coerce(mem_t *, v_accept_fail))); sethash(v_directive_table, fail_s, cptr(coerce(mem_t *, v_accept_fail))); sethash(v_directive_table, next_s, cptr(coerce(mem_t *, v_next))); sethash(v_directive_table, some_s, cptr(coerce(mem_t *, v_parallel))); sethash(v_directive_table, all_s, cptr(coerce(mem_t *, v_parallel))); sethash(v_directive_table, none_s, cptr(coerce(mem_t *, v_parallel))); sethash(v_directive_table, maybe_s, cptr(coerce(mem_t *, v_parallel))); sethash(v_directive_table, cases_s, cptr(coerce(mem_t *, v_parallel))); sethash(v_directive_table, choose_s, cptr(coerce(mem_t *, v_parallel))); sethash(v_directive_table, gather_s, cptr(coerce(mem_t *, v_gather))); sethash(v_directive_table, collect_s, cptr(coerce(mem_t *, v_collect))); sethash(v_directive_table, repeat_s, cptr(coerce(mem_t *, v_collect))); sethash(v_directive_table, flatten_s, cptr(coerce(mem_t *, v_flatten))); sethash(v_directive_table, forget_s, cptr(coerce(mem_t *, v_forget_local))); sethash(v_directive_table, local_s, cptr(coerce(mem_t *, v_forget_local))); sethash(v_directive_table, merge_s, cptr(coerce(mem_t *, v_merge))); sethash(v_directive_table, bind_s, cptr(coerce(mem_t *, v_bind))); sethash(v_directive_table, rebind_s, cptr(coerce(mem_t *, v_rebind))); sethash(v_directive_table, set_s, cptr(coerce(mem_t *, v_set))); sethash(v_directive_table, cat_s, cptr(coerce(mem_t *, v_cat))); sethash(v_directive_table, output_s, cptr(coerce(mem_t *, v_output))); sethash(v_directive_table, define_s, cptr(coerce(mem_t *, v_define))); sethash(v_directive_table, try_s, cptr(coerce(mem_t *, v_try))); sethash(v_directive_table, defex_s, cptr(coerce(mem_t *, v_defex))); sethash(v_directive_table, throw_s, cptr(coerce(mem_t *, v_throw))); sethash(v_directive_table, deffilter_s, cptr(coerce(mem_t *, v_deffilter))); sethash(v_directive_table, filter_s, cptr(coerce(mem_t *, v_filter))); sethash(v_directive_table, eof_s, cptr(coerce(mem_t *, v_eof))); sethash(v_directive_table, do_s, cptr(coerce(mem_t *, v_do))); sethash(v_directive_table, require_s, cptr(coerce(mem_t *, v_require))); sethash(v_directive_table, if_s, cptr(coerce(mem_t *, v_if))); sethash(v_directive_table, assert_s, cptr(coerce(mem_t *, v_assert))); sethash(v_directive_table, load_s, cptr(coerce(mem_t *, v_load))); sethash(v_directive_table, close_s, cptr(coerce(mem_t *, v_close))); sethash(v_directive_table, line_s, cptr(coerce(mem_t *, v_line))); sethash(v_directive_table, data_s, cptr(coerce(mem_t *, v_data))); sethash(v_directive_table, name_s, cptr(coerce(mem_t *, v_name))); sethash(v_directive_table, call_s, cptr(coerce(mem_t *, v_call))); sethash(h_directive_table, text_s, cptr(coerce(mem_t *, h_text))); sethash(h_directive_table, var_s, cptr(coerce(mem_t *, h_var))); sethash(h_directive_table, skip_s, cptr(coerce(mem_t *, h_skip))); sethash(h_directive_table, coll_s, cptr(coerce(mem_t *, h_coll))); sethash(h_directive_table, rep_s, cptr(coerce(mem_t *, h_coll))); sethash(h_directive_table, flatten_s, cptr(coerce(mem_t *, hv_trampoline))); sethash(h_directive_table, forget_s, cptr(coerce(mem_t *, hv_trampoline))); sethash(h_directive_table, local_s, cptr(coerce(mem_t *, hv_trampoline))); sethash(h_directive_table, merge_s, cptr(coerce(mem_t *, hv_trampoline))); sethash(h_directive_table, bind_s, cptr(coerce(mem_t *, hv_trampoline))); sethash(h_directive_table, rebind_s, cptr(coerce(mem_t *, hv_trampoline))); sethash(h_directive_table, set_s, cptr(coerce(mem_t *, hv_trampoline))); sethash(h_directive_table, cat_s, cptr(coerce(mem_t *, hv_trampoline))); sethash(h_directive_table, filter_s, cptr(coerce(mem_t *, hv_trampoline))); sethash(h_directive_table, some_s, cptr(coerce(mem_t *, h_parallel))); sethash(h_directive_table, all_s, cptr(coerce(mem_t *, h_parallel))); sethash(h_directive_table, none_s, cptr(coerce(mem_t *, h_parallel))); sethash(h_directive_table, maybe_s, cptr(coerce(mem_t *, h_parallel))); sethash(h_directive_table, cases_s, cptr(coerce(mem_t *, h_parallel))); sethash(h_directive_table, choose_s, cptr(coerce(mem_t *, h_parallel))); sethash(h_directive_table, trailer_s, cptr(coerce(mem_t *, h_trailer))); sethash(h_directive_table, define_s, cptr(coerce(mem_t *, h_define))); sethash(h_directive_table, eol_s, cptr(coerce(mem_t *, h_eol))); sethash(h_directive_table, chr_s, cptr(coerce(mem_t *, h_chr))); sethash(h_directive_table, do_s, cptr(coerce(mem_t *, h_do))); sethash(h_directive_table, require_s, cptr(coerce(mem_t *, hv_trampoline))); sethash(h_directive_table, assert_s, cptr(coerce(mem_t *, h_assert))); sethash(h_directive_table, line_s, cptr(coerce(mem_t *, hv_trampoline))); sethash(h_directive_table, data_s, cptr(coerce(mem_t *, hv_trampoline))); sethash(h_directive_table, name_s, cptr(coerce(mem_t *, hv_trampoline))); sethash(h_directive_table, call_s, cptr(coerce(mem_t *, h_call))); sethash(non_matching_directive_table, block_s, t); sethash(non_matching_directive_table, accept_s, t); sethash(non_matching_directive_table, fail_s, t); sethash(non_matching_directive_table, next_s, t); sethash(non_matching_directive_table, forget_s, t); sethash(non_matching_directive_table, local_s, t); sethash(non_matching_directive_table, merge_s, t); sethash(non_matching_directive_table, bind_s, t); sethash(non_matching_directive_table, rebind_s, t); sethash(non_matching_directive_table, set_s, t); sethash(non_matching_directive_table, cat_s, t); sethash(non_matching_directive_table, output_s, t); sethash(non_matching_directive_table, define_s, t); sethash(non_matching_directive_table, try_s, t); sethash(non_matching_directive_table, defex_s, t); sethash(non_matching_directive_table, throw_s, t); sethash(non_matching_directive_table, deffilter_s, t); sethash(non_matching_directive_table, filter_s, t); sethash(non_matching_directive_table, require_s, t); sethash(non_matching_directive_table, assert_s, t); sethash(non_matching_directive_table, do_s, t); sethash(non_matching_directive_table, load_s, t); sethash(non_matching_directive_table, close_s, t); sethash(binding_directive_table, var_s, one); sethash(binding_directive_table, merge_s, one); sethash(binding_directive_table, bind_s, one); sethash(binding_directive_table, rebind_s, one); sethash(binding_directive_table, line_s, one); sethash(binding_directive_table, chr_s, one); sethash(binding_directive_table, data_s, one); sethash(binding_directive_table, name_s, one); } void match_init(void) { syms_init(); dir_tables_init(); } Lҧ#Vĥ^Qtl@@CJ0߂hY>R@mC@6`!j?”hFZ-VTC B0HpF :WQyȈ%XQ1k# \tJR:d'Ǧ{f&5QB&xL8$`I# ˗HU ɂԇ:/%݉ (k4#hFi Z-d \w߃:Qͥ % jc͈&  @A[NT nr;.:{wc mI'"&XA̋k>=/!KKp$Ӧް>,/@(u?ܪ+D)ID xVVY>ހ=D'a}{u.Os3IdNhF홚)9c84[E$eh,3 gT>8~vCx<ɧ~:=)j>w19nCsD~~̞T=꾛0mV?7JzEQI\Ϟu$4>t?0QBW!*'䎼/rr&@o47N2+%}3\J44r!94FHpe#UX>GAIDxɒ4МHT[Z:2Q (1E0l>{; v @z;`UTQAAU$LAHDDEb*Yi(Z (i`( )& P7(EV ghMO/`&*hմ5@N$S$+B HLl2kG's9:'w/:)4vQ2ǣކWW'Os%ZTk%ht%UPATiH>k?2w2uJH:ZiJٶi!~=vW|3#Bz!8SA fȠcE`PE\x{ZOoDw|~u;.)z;NrA>}zr,DE H1v$RQ!TPBD` ];yqmvJOJ|!lOՔ>{<5o}npj=َDFùU(A!DT$}>u@qƹL}q) T% ,55">e>_ұ ۓN>}8H#ծc$!n1$Y1Ѽeg!klCܟg_s5q =CwtX{p87F@4CDbdOpm^mH0LcM,HGJIAϒ[bѥ"X;ll(J".EgL(ELEE%Zk5$AAHTE]kIR&\RQHM:5T5R494"s'R9H,%R 62eQw5:a=^ˢRp 7uԑ#H$@1D0B<|:xkgGJ (lG*7.ddR'$ Ik@R;(|{wC8z:oL,A[6}p~Q@xx@0P.~1wQf /["c^_H@qmR N G Fct m!rؔ|wバSp*#Q''b!8j%e;rxaMljKgqŢZ `:2M[;#6!q 0Bb2`d `: 4TPa C}K(O(kϫ__OxNYVMŤN]̔R,LSN)CA2Ѥbxhm5bMQ#UkZ~>AQ%) Dw27sj|pQ./[GwK+~ RpLuGpGٺ#EQrvnd کbqɠȢ~ye![wVBUAG nxے-"qD#+;Uyۃ7=ߔ=+JsjBh%b((fKB'4Dhy}_Muǟ>Uĥ&$J]U A㉀ɐ`C,it:+5*p# -dC;hde2VcjCb""SyƇU5E^ȸ$ɇO@;vDI;4FIe\  C| CƋ֜ZD\Fj'8Z @ Q@( Լ@|({똲bY\$)DJB1 HLMș$ G:l@"{.uJbe>_ 7\X~b`1 ǹO?eBlš#s@3&.n nyME\m N($d)u(pB"hS [{橈dA I dmSLX20?p|lUrE"@H@Ea(LӖ Ph-&,kT,%($rI$r4T|S|^wېa 7]:B0D!%`}[' %DB4D9;OgO(6̡j. > lgOUM[r>Ҁ).l{<*tw0˞g|t  F-Q sعd{QzɎޢ6lK:G`r`>R}pa=pDD-) A8hh^,!;3⁣ߠ(}SjT_=ѮP1|tdD8_d>9N6\gDh WYNfc|ͷ/c4|{=5:Fim6GY۸Q'$Euo.9-tU9ݻ܁"e*?X"O~=ʧ%#OCIű@bàK~hߎ$}sP/sc}LCy 6r>$Rq&Q^Crtƽg>=sط%M͉(F;6U586p?RYIΕGeD'By^c_>SJm˸p-9d"c!(-@h(%fAB0.`#؍GQT$^ H&`;0H#RJj 7H] e"l rAɺjE}Cy?_|ۇtr ɷ+PF (00Hb$E6R9$*|QUFSz.H6B[G'uEru}.)(<p}׌384HcdX*Hr;CC@d" 0D)9O}2ܬvP+M@E9OthuA;!~`Rtho#08Z^IS(AH%E.2% -~틧Jrt1)#/6Ih(@d <Vߋī+g!P"" OTk-?>|=A)2a)CCEQ J iYj(ކ*vE E2U ᤘ*h()f*(**h!@540gG`=_3E 򪈸q$`H[q=nnK]ܜ89E2(:J{4]/PgEhYc t{'㤨ҡ}qߑ$$p I}?ϟ4qr!=^q/). lPD-HD"4.(N B2)"*\N,wX48n O8?%0"T8#gTD(0`@g+xkI|FTc5ydX܎#z },Ux EZ]X1:r$UT_ C 2baCǷK0Mfх6O,tNh˜E$FMyo>xZ3gBpCOn< X#˩烘C:l(}&I BE)@РP*TMn(<ɛw!FB}pPhwgIOq.2e{$x4(ͮfbf̷G=44ҔOzq3.n vnd-NU/0z2#)Jhh& qms?s(59ƲM70u٭tQJo\/v< VKq 4: &DtYy kGH=g#!=y|Mݽ~>R\@Dt˕W6O~+&ny O?K%;Nv^wS>AG{냞d) ?t&y]x=eԮ=~{7vtC~ A5jQp:cY6~x4APɿVx7xuq>Bn8E%>W;6&uc&d:.wn>uuxߛE+ҪcĪgO[lS'W9O?. aMsFǹҘmO"sQn.:f9u9?t{>6=~FbqPDB'ŜS&Eog=nf4!í,*! HFJ%IJ&*4iN[Y\Q\TT~HSCKABLآu"L 2y5hNX?w+m|Y+!&P/&M$뮍a>PvLq{7=^C|H# ޻^U3oq'|yz8ºWf[Qdn6<뻏Rwπu/Shq!/l*yI{7 :]Ԡr#9D.`yc{^\v}tH>PM$(*9cމm \6&heO_\p'ȃ}2MۥVS !L+I;ccwcqʇtyPo8p'/dj(6ՋUetRuJ2ERB1&Q :`(&(IJB*Z !ICAs ĦiJ)2hᱏptw} s{qU8:5I @aZbPܾ;Xeb6x}o{+9և< b8t2iݹPuN,185ǡ?O o ̐jJe%P%B!5#C3&W}G4qcEI 8h* @?Nq!ߏ l/%bF(h܋ >3-ٜk ȇ<Ϩ;Pz2\PsXBtAE̜4~?q4HNdt`aѽ n|q i&"z$CL ^"z;7v"VI_=YOה}E/n:pPG<l!stKARns[8|S0 SKo݌Z8+^[jQ \&d05Ԡ&@d Pd 4,ɻPdtsesu ӃaH!WX! K$ l#1-Ґ.hD6 +D&Wӊ"`Ò33$˜(D /vc"(@ќ߇_ |]}ӏo=wdER)D$J4x2"Of,q{IjR@L'-&'Bd;- D(eīlBrDWbaHQ|ۢItA 6%Bf\AQ6(I-.dLı R b$*"LJةu aC9BTfAU2mbZ"sBJ0!)@x#X1΃e{!`A lՑbBQp||EH{OДBA,2х) b›NY $ ͪd ,,e-dgg1#z崨wH(t&4SGy@D$H$n Dl8{h9 .162ΧU.xU=3ذz{;Y(PM^c8&6yD8ɓJxANN/"١9N!6LL(B~:L>?eMKN d..-k#{qn~{%*q ٠.qj. `(~`T|ބaր.O)}}nC5ca DDq{K9RG9tƣLy0!ٕ+tssTP{:IB+p0UTPQ$BDDhfEUKYZi3To/SvA `ב{'h€3m GTrMu5p}JC= SB hV!Nry:"9.1o4ՒlHQ8Aݧg;"dy'4SSk<_c~bem(%⟈4/2|f >}Btļ  (@>+y`@-4KV#'lN"p"vf[ q ".0% Q̺~0kZ !{cI xC*8{(&i ʆуa % ˻lK1@j hB"")"$hZ(ibYfBh( iH )(I' r?cX֔j3*'!TiШRpK 0&'eV"oCkʞEiErZpU˃ Qs (;4IVbK8>|HH)]3146f9Tʎ]#%9UF$AN\I8ʢ!Z6A_|q¹fW=r&q祺;䐰9:v"(~JXQ9hme9*' }d5̐㞼?^Oy|CҤN@ g!NmȭZgެ _Z[nu_%$Оw8eDU2;w-YҧPr V3RTT \ WiexU0.R]]op̚eEL9R¹Fv $uX$+"$IU6Xoxg/lRp ~Vвc!jTL`gc #]th)` òq{I@p J[5q#,(`~ڈ鰟Ì9Afr^=}Sh#~om}!|~ hm'FcuӶLДA/COC'q9e]@d='xr)'}֮}6!4h:4kPD*>0זwh U)(7?0NQ Ԕ)C6BBaĘ]P _k\U?GT4BC0]$R  V ̷dQ P%#Db}zܾo;g[ω>g'Yv |;S5\r@+B#pYT*~C?ϰ⎂w D&~Di#C EQ0gf)b j6IUexO'8@db*ij (@螄x y>hSrGKcTf={_ʦg~tsrJ]OiK"={>GϝaCpwFHrȜ'w<"^qI{$h 96r}`S_vW}(xi$$d-!@!$r@>.KIB8k9׉L8>s{tg>' +Ŗ#/ﵷյ Ae")AA%*Ӡ◆4ʹ}|C09v0W/j 21'$p'Aq3w9}| IV9\\[FtّЃP9pYZBRgjBDuM>Wć4N:/Z,48r ߿߽ˆ(.L6n;x{eqЈD~+ e1 ;1w[ "If'Wu7\|CDU<$ % ;j5Z7J4`*إ1Ai?%_D~qJY>e<@xGO*Gv8w FEܟ,|\ҸTw韌y8Zq=~< ls8O+y lDYy2h U"Hwm-5mIv&I6.˽Ovr |S7*&zQAAR rD!F0 ȢHߜ`=(RwO w]~x |`~7Xz"T{J-УU)BS]i^1ܺ(^g`Jq*T39լn 7d70:"-JA*uH>1j@#Q[E.Ow@uI}45~!Ǔ{{}d}~#^;*"|aބl%VDs=ԛhݱre-^,[fr~{t;9;\1e'ęڈyn-B&"(ĘBaJ6_÷=x;hFGtގL]=sy |Hw|=߇BQ9'6y|OqUPDym< Jzɸ\fk^as>'t*HEO;xT dJ.@$"~w@8~|yd(r#ȪU(&>ż$ehd)*u/i`osoƙAIf ͠TG5~v:OTl`g$y^.ܝ]6mI(? a:?~C| sۢyv]@rRcWr4Nn]JRqc 6A~Nqk#)Sn=i("N-CiWA|V܇!"t=48jȠ✻)§9kB< yz9rk]!yu󗓣.~&Eܘ@ bF 8^L:Ly@5E!I44sg\uj9Ǯ\(C?{z&߃MS+prC(5R_|0Ϙj"+~B<LHOy41∤fyo(J1FT:?t#b[e NA9$$ `!tݻrt*CVy_ܦ$FUQ:-t6V՘'ee(hEJIFKx *"" iZj-h!@=4'%Amu&Ʉz݃ću7Gp2TJ)ai n"($NxAVP1$GSCĐf 5G!DDUnxչYat5:xV h H jLC$՛{&rNHL+Q B @̩lD%zOPHB@;@ >snA;m~ܶJHYuQEw E#H{rUCI١N[)%7::RU0AtKt ?8y?e$};#O!~ݷ=(j$$T#&JGb ĴzIt8^jaHD` ӷ!؁H%HRv)}),|(33+ay]>~_~|W緹O{GԴK/n;?. ˗|P 'Em@$>N)HEIE@U0C0L(B/bJ&P{HPfHrNI1oݮ0TAð8d l!cG#O:ҔHL Be2914UCHd4(9w*h&ZZJJ IXQјTkR-~R'nwB ?:z$psZP~qAӍǭZC7j%/y)"2B!hOhu[ l~fݏCvȾ;;wɳ`N$[_)BhNG%F> hBJA/I HP)HrjJ qrCWABkBiiJKeM+ h ByO#fyws5Ah5h")<|*?E2ѣ]+Rt ! e5(jԌJj)hMQ)+<^|)9ۑ% .HC@q!#Fr 6[XNݺW@bsw<ZSGIʅ9" ?I4 SIsy18!˱H{Exo;}uX !܈qP^ON2X:41uSkHPR(& A)J5q)& L28rpcavcRHb"WJ{ xzUp6h&J b"!Bxt8XyP()2 :Q(*d edl~<ER> %@ Qp睲jWy%@<+Jbϐ.Cry\HG;H !ϝybMgm& FL:;sB@ț{ўv$LrIO!ܘ19!ðbAm-+R8$M: EК(4RQBj6 PMQ xFih%]s8S`-8<"U*rĽayć܃!Dy]JHq!̮ Zhf'E$b&b5}1MMR!JСZ"-bLm.y$D]s Z(W@@&)BXiihTV |%%F{' w' 'ls C@POrTR6^C%Tpr{Q-ʠ**^B1s 0Of Z CQ>h QL CA^8z;9y^ AI º6@9 " iR qŽ+@ .!4'&2h02'HbW2Y"@lN)Be i51{GnXd"SKQĉՅe4M!M԰!m@ ˎ h#'YAQN?85GDGλJJ1$j`*CMh Jд[4YcC"'B|OԔt'Pm+@hMҝ@hߡZCX6CńD缚\f(Sqdqώs*zy~};d۞eq3adMbtkFoXcĎx9jHɉCQ,"c+EB h$7۝*E!$2!J6U/-\ };63GqbЎe:5w۫:syVRrhb ([ڤD0p$ڎ"D*tD19{$8`:Cayt:GtJ|Ҡ)Ji 6?lO,5Xٕ:ys'O=C@ߞ4Eg8kEbnx)jB;OEES8yR9Zm9Ej@=Aw 1 Kʅ5SM)BhP+Ǜ5 @9@dІuPP?^3:y_ ҩT%PP\#\i(Gi)T&b]4JPЋH41Bĭ% BүP Z lR r堶U4@ Pu:J hh|E!MVP4JMOZ]nf[@Wl:oFۀ4b HGX =A 'IT20Hz߲!P1!b=݁}52k_T|VQpk?l zX Iã5ၶGEQA(QI$P4S T"S@,X8=*=ܜ`5e_*ш@E;@ <0~8_>^~GMmkh~=tsvy$s$PQ P jU҆YAhkJ'85@G'HO>rʚT ) rAl쐂ul(.B B$N6$0ֳ4@6dM8 =ip;P݃JW t#ΓB@p. 4I82O‚ ϣ26SHrz6=*i"D()$Dȉ)R DɰS@8v.e4 ~zLOƠ)MQB @U-O~8^rU]TU6G󺃛Pi%?{@upRP+QJAdxjN'""+4q45Bp?ԪRp;j\PQ,OR+T E" `=b9Ї &(:y).&4IZ2O9 &<[((¹wS .Ny (xچ9|@u u6q(@>dCJPQubB 0,*(*xK6F&--Qt2=zDTRPI婑)J;eCN:hDhBl8Gr /2;p&f ?8@'!iZ;SB܈%WԜ :c .Wۿ _ibʬ9$CQ4̃÷@{ۃ\E$'_)^=q_-/ξ|㟮pBH"hką%0TQ^=GEٞJNo"d# ^8mwͳnWdkMcR,1 n} v}Φ(J&ABuaMNOG癁&yNx5 di;򃸺ɡe`ǯ}Ȇ0;zC!qI00@wuwAoy;A8lTݴrʶ0<8e$ܾkjYwM}y nv(PnJoˈ(o~"񽀜ovw~C'rS2~JbPH!`dy_tCBŐyIi%)O_/*5#Fq๦(دGF"gY|y="aGND,YȉݟH91 !h$;iM+EV# yBa _|CUCK j(5 Q(y"iui *+Q&?M, ~r(Уji{ʏb B%)PED44n~_d% fdSYO4wQQDAE):z?)u9'@r 9)X559< KŨ]E(vT#ԯDp{LIOd(h=?( < $b"e A֨JZ"&>@7bCB9Ř俜rN0s;Swb#)SaN q0SD@U-qYmDIه]Ø/Zli 7'7kd>y.8202XKT#jA?BTDBhЏ%iy x}X"R ɀ&,P6H~R@ o]c|36FpcN:oFLxh ӱ)hn9* IJi#i>JV$rQ(&"ILh䫝w|30sQR:>=IoO@ .@EBn{x!;^64J@|RŤkray Wxr]>Br VI= zB%D*9.L~Ap {{wqow}xsCo~*6jCvu8 Dq0r< rՄu`,*rPCz bҁ`uK v)HpmX6ű@Zl1P@9 pV)BF J սb#S = X1f)(/nԏp@We }Ӕrfu|3_E_R6}18ؠsFsrR,d۽MY Nl]]gRJ֐|q0`!kgycGᬍC)&v+8 2dV_?4"Τ9XH1 GR0 4b$p &(:@ 3]pbDlO[-Er]`ZwrVضF&pj0PoZ? r^[8%(;gfy^eՖ^<r²L  M]ҿպ62oio?e?:MMۚzS>_zL`Ic˹u31QeҎ@;)j JcTf.[8MZhg\(A(8,X!F{OL8u5@0,~|].fKa@$ ;+[eG{ɏ B#"MNjtH=Ni>zPe\Xp( ܌a{Hku5bu&5rEsy3{{ʢ,jKYT"rNSR &|`k[ќMK(K HP%jޒ<V=vj] yq6$9d,ȈvBzXA;p:!qw|/<1p9GyCc_08!㪊 h ^!zd~Ryk9'_UsD.C$ӗB]'} GPDO=th7?Pԛ #Q2PJ SoɚH Gak@y{ѨXWQi("{g3>x2 ٦ Zdb WSd 䢧6I9:ԏHCÐhHsz(1usUX7hBo1.stc'.A&n{Wp^o;X7X;n; o z ^P -% UST2TDM@Q5D1$APTDMPCEMA ECCHRP$@M4oKc AACN/+.z&\Ls0T&e RcCɉ^ѤC]X]q`b$2@K ^|H#`hRAB)Z@Q"gf ͧJmXh@݃')F`bP=aN<ɹ])- H۶檼J<.˛`(pPh˃Q ;t#)YD45"?h*&@˓(D]cH={k~6UdEd*mT8u^blcU8?#{GAK /Zg݊c٪h]b{q|7$Fym4sso hv{O~d~"D qi̞ D*Õ?N1G91KAbW(<|Titnn:#׳F%NXQLd_Mg`)Tױ՘ON2*yP,go]I^q%'‚Q7ey4` DJ  'nv4,EDDDWh0)Lo>sDqskE_{F @I".T5h#Yc9/^1/8胹9p#ݬAC;Z6P~)q.$m2 1}'H:Ǵ?GˬFpDGR5'򂔦:CN&q"÷!cQAC`Riv߭C#GXZ6ߏ&N4 ;'@Jǫ@dS]3 ~Hy-?i}!`;r]uFWRbJeJ.:Di|A L8b'聥8GHq##$|%Z'"sQ|Royَ'ld>kK<%ĂIAGREy#vIׅRBڀdOrd;`̆aI"=n^!^ߊ)"Z hќ\c]ZS* lN&rJ""WDZi*5"`%T^\>I !A0?OOO;AZ -'sѣ2G>MGxR=pqs~Y>! э^axZDIl}Q[XLZqge UƆ՝SRV@D>Ѿ"";xJ%RPSKƫmn@c#rJŰ4ხr "G $/}|zV?k>,D ![zZQl Hv6ቂ-K@838ps%#n5k6z|ѳˠCS=ш;/mO}9J9u KC`,KB3"QqB(4<[i|pkeT'tR;wAjC}JlRWrN`̴r?P?CP1׃#gUsGe8 `˧1R{y? ^o<˵鿂"j)8Dy j,#0 ?R~'}B9CvKVdRPV;Ė =O0O-w.Ώp~ a&-ۭdřY4]r`"ч~{mri()&*I[O<5dXWEA5TxښKM>hЋȈrľM*U{""TBi4BE_2'„p~?>z"ASPV Oě""j)'#(NGN9*Jbш jJ +N:,&U?׸TIBGyr8NNT8lֲLAHHiF9)xsEG!D\; tvۛ~įチȨ(}OޱĴ!K(+.(#rN8_"TrQM=+LZlG=|t$.#J֒i)h& (pQNM8FB +0 T譒""to[ʠi>[\"ъ{O%$TUp8k GRb6ǩM^s$ՓDJe7zTQWNz~^J#0qm<-@NW4 Q^>>l|AG~NU8oqT{r\JVBӫqTq|3U0D5ldQßE✽HjjNa2~A !*࿤>S0‹'ɞTXRT7T&%*]}__u"9> ҹDdS̓vIm |l"tt5'.z9Ĩ,QՓs~;ȸ;Пal*!NIH763翟( efbHRfFÆ*yL J *nlps.AcPX EO~s Ix1اB Ϋ/ ͓kXr80?7@>0=1,07pgcR8>]1 'i2ÉnPvRABc㖂6cG[뀦7,X)Zb6`.X?+Gb\Dq2gZ7.(R8zԦn˳C0QeลrCGbmh:(hM5ɨC&۾\y2"!Lqۡ7lUOQ`hd#끹}{;zs@=%Vi(NR ]ZRGbn ZD(BNPId4RD /T7P5Ϡ͘adir8; p 1xN'Qopx8l=A䒀$B:NDydKV((B&(""02xC5ɯf~~F)#h69<P+E:#!F~ԥ- 54R11KAH?iu;Y nؒWSdm'!õ*YP烿;c )΍,OpEL-(>x'c 1& *)?68 E_vxO} DȢE(Jh((R]k@Y5DI =OהUH^ HN֌ra*3(KQmBc P٢NH&!)o!}娳SFۋt<',v!?=Ȼ`\mGw'nvz}e7>D>f9>Ǹy>'x|x}{xϽj#sQ)Y<{ۏvnEzށ y7>3idw}pG(ꂴk'wpr-X=G旋iaiZ &Bؤ(>>XP*y9O;=N8'P%]rm_/)}gy;n88=YEt]vTJKK=uDB.y%rSH*>N黷D)*A?DAUG.>>}U) 4Dݥ9-6&Pnَ8=t}UAUCOx`L:L`y2.gqt:QT>3 H=;b[bQP>({ }it}P'E4$%|PU~^f]{߫_DyE"I5@S?Q|W}BR% CDE LU"_ĔU1I*~̊ r.EjtY)JM_;'"8O}#$*\KapI>|i;qM= rnT(tl9 ) Cl KTUE ixR:zŽviuy/{0& Ju ~_έeĐlړㄉ.+hDXJܚC `8S#t^M6Qa*MlHc@yBv73-H_RVLvwOq?!͑]pcYݢȡ'(+949#vzДx4E@<БT]ZӉE\rOďp4c3v!- [} `aOҩJMԫJ1w~CMھ? h+sLG;LlLr:dqw'=q'aT>2Q["B:2Ji~X- \$wJTJt_ɡREcH~1~>UˆeӤI8TT/n3qie|ǟ#I(XZ3'r{'IQZ~13T Bi h\)R?M(%h>5'NH`˿>n`3lI=:^r0>]~[tGwsƱ3V&A $0K $Al7"$;h2|xa5Ma`щLIUHPDETS?2=Ya5 'Kw OC  #IM~51nF4G%NҜC{BspC:YPNK) ZEa :#i"  {OQx8OCȘ6 *CBLe$% $#Jr]k }l(HIu2IE0 ?՝ur΃0vA?f?y2M{(6EZ,~?}y@>^7ĺ#!C~N:O"1n{8#>΁x@Pؕޏ0|tr?/@^w TN%_0K%SL5HД )#DCA Z'TD(L}N~nsP9 %&܃&B>1CgTSMT1\ fbJZ hH-RTMQ-؈\浞Ib6O+:6l9C%J1sF{jHf=1KM%ItSs8u{Xkh 9. t rD$I@?Bua@[nY8 &H&Sr/#*Р}QtHJ wb"$d&I|uD5T@PEZ j"& B;4JBBhӕۧFfkat+1(4MQ2 ҡQ 0'q(Jh("&i Jj)@шI)C1;HG ZJP_.^1ILE4R%@KLL!5PM^ lTJ k)R)H/Qga(`;&H=tT˴VN)J~׭RYa4=>\}UDM $ ZB@3|5A/Bk/ikIA5%LC"?C0ȗ`Pv'azi{Ԛ HVt+ z IQp>0op9Ig5PL5?y풅>d;5JnpTsmC"DdMR IT-SHP u:ptlI˻rsx7SHh$%jȹ\ro!1( $˙ӥ" HBF¤9(ST3i" EZpN$v[1 ILLB4"1Ġ@nI4x}۔~d\H9T&ucmɡgeLK%E!9I$U\s p&Ov N*vX;%8BTla*`)aAQMs i1C!09kma`>(2|r~}9ZrD`wn@=G^Y&"gc0U'Q2pdPy C/JkSC];mS s|yJ~'gtǓw\ _"8q瞰 HZ-4#AE1hiv `ZcEKgOԛQz~txR q5V!G (_ܟA. AS|.TC5[/Jҳ0S>ijqn}$MKMVL05I(V4/TC%rR֯pmRvVN11n MK#έ=s\FbR$"xO(Դ9Hԡÿ$9CF8$}ñZBGP^t`!eK$kƋ8dQ6Ð$JjauuDP #nMZ@:rTcKw,Y2}GYOaQY9Ja LΉ7}tqNLН]T*ə={T.dt4QSуGW 8K{g54A6-#mQTXI9Oe fM\4Q c x]DE2,D0$$׻0ƥC (QI QHRQ3 8!nI ن !B$ČK2q6zx\"E㊕xWrr]<W) aXf***F-9q *:Nn"mݺtb!ȁd\_dԂN؁\LJK!C@\p_6B3$^GJ=O2atOchnV F;q,I: a+z35՚v.Ue#2$E0@JX!M/3CVF>H7摞͢eeK`(8AS?NC n>(fx:J)ʔDhDŽR !x=k̴@IR4ΥAS)cILR/T>ާkaDQh%0E6SW rhy݌]A ٬̵YtO`Zr"Pљ`95G *ֹ+2(IT h)Q?p_ jÒ>kt.tdyRaE`?Ҥ0}wJ6YD"sTFzG$;7eS?c.Cžܽf \Έζ ?B>C+q`/?\wXŋ~O٬lI;`\ 2$( $n/O]) 8jW*μ[WRd3Dij-}fʳ!S#RDYrq+V"8nY>]7[%^t*iG൶H@d,J v{I N06 /N͏$_f-A.b;u3L$= TA'ċ[f1`Y"}UAS}~r6?S^% QqQ!p1>x΀7~I1 /fqR a9e/Rمo b[ ]ك4zf JC5e L u vhߑ#cHr 𲪭)8~ TH05㋔ \8)؄7]/ii֣]D_Uk^o|0)#FmCFHjkgJ9ז GнMQd Ke/脎NgH+ x%ڴ%a |SšŹ]s^=*J9ߏ̌qSTu>if|i"qjjhW_bP5f]'55iR[,'1L -+ܱnXGZH;,6šR!Ͷ8syR>%7I^ő,G dH=G\ gQ4@ yr|Z\?~H xu>/Y5:ons'',ObdFѪx'|IΖ$~Ctϟ0ނ 8'ZWMfٔa$6Eņ`vFP(e-.pP4HںT}ԳZLuV;_Oᬯ#XUICKRIHRo$(ʒ=]_rZ-XT D)˘ q,rEnZt5t Z..t@a7ПidzB \Ftd26.m/| vEqd~]&;y]zĐt΁|aJbbDaMU;>h"hH އX:L{w-nqDy 2s$! 1,EhmYn3pHS$؃~g "q Z&` 02\|}GFOZXy k1͖ӎ[%" 'Jha,ZAG8 LbeP*_L8}Ku0sz1@I$KMAG vsOK^>QCdRC7CdllcLeO8,̗0|;5J>srT-g,yLx98d}|A "R "z0P1LŒ'$r}#5&|"A^ףNnu]>z\iO8لY aXm/9,KV !4$F[$z/.0 ɣ1rdGܹ+S!dI=Ԓ Ywœ!H!ʹ&X2O ?-]#V>(kR[SlzQݽ_HHsm(lfַՙXI5J^u0?J*־uiϽ3-\QR= ]< o}6l$>sudH.{ןzш:e֜he+Va):MŬ#8(Ԯ6\:M6 2r2v Zn^0!DR ]s:а~QȒPj 0J"&$ٰ&ۤop@$/Cp4GҺ`>!8{ֽNH\rР7>/zI oobd)5k5avu͟F`xsx^w{V)6:/aP1$T!Tt̛H]~# }gHVN΀9KdYb~%knA@;f%w 늙4sYڑ.ͫIݐuaQP^Δ!dɹuYMf8C )w"-S']MeP]]fseUcy'#.G{ )uQ S6Jj 5F6 fh\ɤd4m>K-($ ]uʧV.8ܠJjhF"H,Ε&U#=òݠE҉;8hh1 n$HiZ!N*L"[JuRfp&kvfsЬzNUܬ=ɀ0/' ɜv@_k5y(]WUyWMC. Pع:ac]k?o̯p=w|!'?X쉁t=XFd܋fp?M:r%^{#5+dݎ^Qا>LpН.TKsLok@-<nZvIdr+c )8j佘& =! dUaP ߙj7kJ-lѕ3d= ZuS(6n{dJTacuGs  o*K '3!SC<I7!@$V BHb Ś I2FL^i&)7$eB.~U)Z9!f)YMTPjD aRQ Hyj& @Riǥ.IdpE&$9I7u@d ][xkDAJ#DtrC ]d$˹6V~VkM55"I&7\=LY34 /[͍׋h}kEgϬH/uk7z7]bO;p ?lvK1 ߥzqF8 b | ;sEƔKQ,5uZk(3b^2a#mJ( c$QTTQ gs, (Q.5Z!W :UWU{{iO9( Hk.R"4,XAR~-)AUC 4~hry ܐ)b-3m.Z7m'q8)}!zU!#\ޝAc'LaK1Іle9v5$־;{*9K[;Vo"&Zr/8,~Nb~$ g8 |>HSԻ*H1LnS5zLs.w+KL`f~t3`,0i=PrwWΖd&OK| +^QŒh)WyӴ֛;H-3 \tQS,A݋M&̟E"Vz\԰A'x鏹BSmVt~QAG$*MQ& dyP[P24CS YhrZ'IBC6aI.w(ot(@)|/.C}e?OpؓP?!Lsr:wHm gr#鏯6ĭ+Dܢ!:I\aK}/ϔ /n_ /ĝk(=A J 5d"- Hu7uDHm7F#H9AP\lddn+ETXf$&vqt.`%իsp@q $72 ^JRd $d`SZPbT$f DJ,7Q" $f5Q8xy8SW냸޵;K@ J-\v (0{|!vvyG]w'nD=qAqPVZb P7&up!+QE%X7)m a/}~ϝ$P|<O>wD[iy牥FR|dGZM&H(^PDǦzEWC(}do :J%KI>V)˛w<|aOQE)Ha?=Р zsF $@Dp>>4ٓ){?E*?<"<(sANdXE&ha TLݠtSJKNȊ|+!׼uf/[|0-rh\;އ/IWߏ ՉDG" &@? #=>~^:k27-gzMI9Odze'I[\gs:7 m+CI=Dh s/t;^ytwP~C2sl0F}m;>_*( y-y?:68>?/bZu" " H9T +JW>4Uߦ}J _P.̨̓Du052jI v`4??qCi(a-&A0Bn,h*yRa}(2M +yZH(^}=븟r,=A@UPt>!:sgrh325#Y2Waq!3P#nU+n;r';zAV6F|l!̧sq͍@6MDs?)I4TDLM12TlDT%_]D.!4<$ұ1XuT4P3</a P*TFCITM B˥ _KYOԛTbP?N̍Ĕ\L |*5ZRE4h/48^+yd'8~.D/a>"J&16ȴ*7N,YDt׬F<<? 'X cAp_((妐"}'&.T-PQETy܆OjF0iQ=KnT~r@EDCA@p"j*{y9mɅjDJRar%(J]&QWnP(h}lG Sf|ϙLx |3 rL;7֣Cp#GX O]$$ J=l(:rMSJ?n3,4B>QJ | 2!*B18E2;ղɹсMLAZwa tHR,BĴAJ/!_y#) Hup/iAe?Kh!|b$2 6ʈ*CJ$mi(3>< &řiܠ!wGSZ4c2(-YQO9< 2v s(!Js=|r9S@ao? d#֝!,o3 0>ݧ[ =N(fha$2ěA#(#HhC9#)pSuCZAN@<9`~3 \8 (ܗbů<>ʜ*ԧRg`>v!<`tsdoy <$8qP\>vv9|ްN* B:/^׷n5N@h`z˗LC v7dPQlSĝ)^-HL!̤yӭ/'xͭk!(HzCȟ}tG+[g\x @ohFѤcWft'!ÅDry*q{:k*or7kz8B"&zFI&/c}"`m$&msb"Ʀ$ %Jtt̓sxjNo>ьvpQ`ᘻJh4cܝ۸"IPepx7A=ph=ѩ@O!"_'OHҏSL¢NA`g])ż(zHr J$5!(B̰=&LCYAދt~=9DYD'?[G^3c妿[>vYa3@a葓 s"z4oאP5&>8R (ؠk*h1>k`^p7* vhV)oX s`h:?x7 eD39(tgaN|^Lo! Wq(ew ul 1#)}?9|2r&*:AaJ5S %Nw L޲d`4>D@^x(9ӴY3Hf+-!F6"VxwĽ\ͮ3q|FI]"Fd`a3mGwVbA7QR[DҴ^ٲ90- ق\x}|3%_+gj|yeFQwUc+ֆgO<9t%Z!3iڛЛz1_ՠ(gߨxcԢ$7mB=g2ǯ64&d0bQ&f|j: Fo'k%Hh+dUX~2}jiazFpqy;).(@jQMf"}[.3S>$.x) JDN9!s ]j. .d$ڟ75)ntwnY$2I~ҩTv et| //|!X9GF*c g3> :5\ GSx(s<#Yƻ#F針Ÿ7vB>CHk̲CGG#D mO[H,u%s[$o  h< Ur\T tQ%q&B!cy[X#ˎ|p'И9pa(%ΕӍzf Ca"Wpk;hx~zc8WHl!!8UYkFm 8mq(ڥCm⇢:#3gcʛaY5dk̩J|JZqNf0L^9oB}/8˥QA ##w( Zn L4y+DX=̉#8VUCd rw2=$(IhD$JʄQ֭\2-stHL<{0!IKg4r10L4 Æ" eULi;ռA=Htd9l*#GeiA*XoFzptRI ]z.3zQ(A1 (Iس =f8kzԔ,*ja0HF,2,Ugj6'$!vFIj358H7'O bSDw:qjEzfdщWjtհ dlPk<`e9 ^6GlY K E̡(TT;Y:cVJ7hEYf*lz M(h&BRH(:!4Ċ#u7[15akУfP"ґ|L^$2TQ8}0j62z,:m҇əHȢU. .Lbp Ef beXjem^ IAg`vӚsŇ|9 Q7TN`PM97Rl#h2pN(;R͕8ٸ6EYֶp򂤊IZKOs";F /̭}^S>#PAvEa8t6- LUcJȹ%1'3Vhpu!.p5 LաʂJ|+2Mb-kPHIV8F8K[7F i<$*{3A7=SF>y(Ds&^`oh:=Y#tW$;C^tDq˲a (RW+Hb1i7 5YI&3 J. t~ r|]ԍ) @D @cзVf#I B5D3C&JSꝿl`i8jQ:,\@K# 1I$v֐ OJ5u2/> ;Y/ݢ *R"1S6F,aY[qt$u( A2P4d$dv`+Z1R& G N^f[HZ Դ@W9SDVnDhŸmI(&< rYQ{MDih=o`luf(GMv $xaSnC1݋Ll2%xqpCުڡJǪ-Ca]6z=r\Iʔe "{;fv\M\17VokƸtӑv+ܩCDI>S/=}q}P{^_}  Ne^VP2MĠD#)`ZL3Sf(DO QO/toŰw!ԿJ9DNr` hwG3yJC ں&zY7d9n"i#Y $ČsmDh-Pnw4WTt-I!"B (z5U9x )tY52vxvY@*="6wOg"g]a\7@G Pf-UR,4d~µ[T*˹gH!ỹ˶V.u`b a)ff)|CWα5‘*Ps g\9Qf.h(2`blU& OhMY44М JS qw|qB:jx#{D Ics %4>lؑ`$Vg X 0iQ\,"U\zBgeX;UG_d92/AOdg=u(#ȁ=PHpX^93D zaD kJ90L{sg5z*Ն>2E^ӣIŴd]EJ.Ju\rٚ.ݺݺvθ2r䧄hb4DI jY(QH/w4}yV?OA;ut}-6- bB%_PT`4AF6UUg|‹iL`t#'ҥ0xPte؄}tϧ18^r52'k’[SlhZw`& cdnZȑPp] <:<at$pC|K Z4,,oPW1: #JқaΆ@hD5$1|sc/k\ncA"B1b٪vz$u[;('"D9P R@΀&@Nw"MYP jed4]sR:;P հBp<0AiN{I9R7#$8]D1d(! o|Qa|Xj|UDQre͐NbvfRXKмX6ֻZK#"JVdZYnפ3bbF¶E6s`^*"G@ vB]mjxrx]qԛX2HCuU2z[-X'ֵu} tЮ[dV6vfdz2xm1c=u>I.H=S'yݏ{uz=돈 #6@C껲x%vD䯽"uEطk}[SG=śyW! '$Yt b' |pô:8==6\dVLEiRQUȢ7}ƬX\ydzd^W/d>s;ȥ`M0*0zv\!"ibX) "JND39'GGԿ/;wDŽ/RaN,z\wwUe<D+dFVL0&P\EAрH,ЂD,W:y{ W;\^O=TH(Sx O6C赿ogHwg~o]ܿ;'9I8q'yߖ;9WdVܘ(|C㸄Pl_:J 9q@88$\FfnX?S">“&J4RRnBurByWAwA b/SA57 1͢ H ("JZIZ%0`\\% H:U5ϜoP@d KyѵCL4Qw)&bB&tq Ny*( < Otwyu UP!EBPLS41#}GF?e \DȽOY\I[Iri9 ϿwY/y?Sh}!A7='6ݓr:A~0r\͠!]Gٿ~؊kfҏ*)~!*"KG[44d()Z=׽9?af'v7y3uo\4fd\PR&G'*%N"wɯVz}wf܉*B֊:h8E9\!_,ɡ -Tw0ֱ9\\?)?8!ot YFÝվ}CāHRm)I'LWPPi)>YwͩI'\\< q8Rr&) W4ER:972(Ч~9/MӐ&07yoĕO:tWpɡ֜ByX}"7ЛLj=~LFL :D P 6f)t!)2zaܘ7l2 l5(;G6{E!H-TU=~ɼ͏2'/ҩ=g R'T)}anE%RS&֪8X| /|ƴ3 q,?O|P 322|%!]u@`ߴ_iZ 7u@йU4?T91_{Hl:>%l)fz[WU9loEFRItk"Ô/̀,Jxֈkzy(J$.dm`ckb& ȱBL1F"4{o e{CzB\ CP rfe-í):BI Eh$"f"\ z.mXbؑG ATe%k]ݝ+q̊?oew|""9Ž}D34QcA-! PM0jL5]Jj)e[v>wc|L/ \@_(i$'$?"~uAhH.݆oADeI'JLQrMg.pn]y9E~5y뻼?|(Uj)B9fe:.w /A:k' 24(8~ؼ='HZ.CAj$+n R[\HЕҴ44Sl`Ѡz&]7 sYЈ) go(z1}Ip0vU~~=yoκn!̮d|9oFāS3gG "Jy$=w K 96E2}mD~y'HeїN_/،;Y66VcC?>!0A{|;yW\9Nq*@Ǣ ‡ON6{=y{lC`J(*;n-4AY]fTG"D% KDtP:Z K><#ՒliQyb7Q/?׏g7?)DyrV*%'q^F9 |!y`nbCJ[/ȶWJO RhWT4 tQRSQ KJRRj}Fw !i]ț5 hGBДJHR'ġ!%) J&MlbDԞTSu-.js0 j2ĬŠweeHndPEQUPAA䎚r/Jcp*E!@&IPg8@^7F V1[I bG{'0}斸 @x>,!! @2}F66v8i+~#сk𒥌._`pF`1DD HDSQDQ3VQUD U:iiE5sk߆fDx@<H{ 檠f)JBZhJX!$HB!)"dfV`a!DwyGƯ*9zGQ#"Z= C_#nnBqPI_7&˪^zзuhZEZPHiZ@ OzW㑎Nsq%`~?,I)Η\A*bb@I^E@(iUXHJ(EhF s '߷ϕDx";BR4'lypOQG E\7^TSh@Fk 9  5k2A>K Ee&MR@[0D0I)"-VKI2N.krtKZd[E .a)(_}}]׼sqg"Sazq%`9(2`lh䖦LTԜ#WTMZ2m 8rAAy `HRInă` W`aD b XҠ i)hi'e(ģ( fh:@cV A&un㐺xrUىLh A$Qe7pH}wA}|7u4 {ח?o1>w=\d@z2C@) Z`;(*IoFi帉iDtuɸ $C|&2΍cy(Ӟ -UAN:Hm(ۘ^6M5@9% O@_uTQ"!)'0 H"RRibbJDk\E'~E3#0y OzI&gqyP;HRCRprjgŠ`I2&D}'VA99YQ/}~#)')?lD`"/A()7*QB@4EӶ 6Fh*JuA0+~032#[{%;>5bT`<;PT=#Ѽy}Ï,E֝|O亞CݶͭeNh,7:Pu7};T4/ms{ڹk_J}$=wlFZ|3N}?,A#'os 1Uy*GV,m~lP quNÈR4T:X5E(D]:9$B@aH= 9uSR 1Bȇfd ooowDz@ i Pc U7˂rb葋F"IY$4#EN%iRkN2k>d簂HrN\(I&r\Қ4:ET*`"4"q! 0 +T\DnShb)BB"V)ZFZD qb=P$TrE{63FechVeh :FAg#}.< &>ъH)qOr j4~ '?fJ$ȕZĉFQb"x46T||W9?isR?O8AmX@eQdHY`q/?q%ifZI 3(_rTD =Ҽ ^C ! 2*%C* J~^<{714^I2H1A)B KR@P@R5SDą "G ȏBT8ݞv'OESƂ=XGlԪPn9@(<>"FE0+ƀ"jFkZVD@_Đrud#K `q.wC!PU2L D@Dgm{ EP `)Jhe(("jRJ ]&(P((JT B~}c#@v2\$ iڑ P0n L3Wrc /@rRt$(؃; ɣ JWA쁾^?\vOB(lOKC? 67)k16]N#+:X;J$ `@̝ p܀?Z@I>J?>`~%=X7z>:;ɿ?;puj-ov5,yZ55NaL4G{( $gI$.$ ʉ 42UEDD1F"bђ**Bh"͊"6"&X#h ^sQl+ ~,(* : z24aByzǎZ7ր믫]$ ds ?)B}?L7f0/VIʏbU- *&RbI$d*}j{6'_vH9Ӳs&hBO]v[{a_c=>,bZ,)+G46UT_ gC:O)w65]ji>_]w=[Q<_{z+bPzIχ/ϻ"/_e_er5 t|8QԈ%ؑ{aX̤5V UE^{QBOc>PGݽ9];)DA4Pܣ8ϒjl/׻lb#Q ֺ7ݭir*y#XQPQpzb%TD˰"z>ZI("*ccSI Q̀^ 40‡2S~6vWn3ij2HBYR is=@0?CRNd}uݦóeYfQfh|(@d0O1 IG:oY$N`,p`t|8 gw A?Ij7epu[l,0djy*8?=~vI!}rJJFݔ #HC .!5!F(j?uJ ((I@RPPRSM MOq\Lx I#ގٙEmJr.{~J@_WIA("a'>(D5 #DZ[@SW0NaZJVhEYדwZ)FR AL.32rFQv{ @q*#V^5%Ќ!X= $6W̸N%`UPG$(s"b|jBABBA h"ɠe8ɒXH={yT #I{F %炓1T%4VGGs"#mmG4 "(yBPrC!@@: PSdtEW2@4~(jHZ&(&dlEf!5UGTh:xõuFe}p۵O7#tGg*22#'2 k4/5^[8&]OA_S UH4Wɢ(/vØ` e i f(& &013G6 *րV(P XhO0(`^P1@ U#JT%EFBERBRD2RLA*Z 1SATk*D ICE DK(R S)DABT4 JDI 2u` bBo4 A8Su|lA];ȮL`G8t]7džA9fWICrB}ϟTc,\CQ hSܧ"SMP?ld4Ҵ 4!hzvy5<%J"0h*; *_,1w[/Jz|(@)( hJ))(iu`~Wѡ\bD%!ȼ1zeD'nhiZ7ۇ;|DMTwIJPҜA7h?mA^xyusG8VGC14̥!@PC%hSHStRHVQw<'rH=юvCFRR4mhDS#sH/2qnJ LG 4Qː4SA\,wmAܿIZM!! M/Nj8]&ZP+) WjJ"`W@@~oo'=F#j>h Z@xQvdG%"Y])a!&[p.?Hw$H&Q\v~>NSO aqgzN(oҳ?h7P"RYX"PD JEAJ }Agz}x;dq~qEbE*I\#'W(}WtX7Ь2)@?l*d.{;.#,?N) r:&j@"!h>9}gM+UPj~(L!)]rHJZRha"P}}tDqQvQ9Sb)@ka?;V^a#M @ LB/+KHL R@LCE!H ` -D%UB@Ra)H D/a$ 1h:| OK^?,0L?TdJ5*HW N54IlLuDB*n!20R ϜT]@'RsH%g~Z0,Q(`OD!4T ##褀}bR:h(iBg6A0!ֆMEl-Щ3òA HI(&-92^ G֘wC"hF4Dl@2ɶ:y"$$(&Wf:ǔĊJ IcA Ro8`N& }hbdHvl҉EBҤW;tȗ"1DnUŠrdO?7 g`@d^*U&76T t3>Fىq| (e"RfӰ?gRF,`A5A8w%td/㼂9O Fķ ~R\~Dzq=f7I0!7溩j"֐F6bKaCАK(RHU8h$blNI!n:MA*LYD = $@-f9+M n(%t K$Mt-\gY&U׾$n,u"vp̔bb AҌ 04^R4nLdn4 }&%@Fb2ߝUa:MAK@ "^7Yl"^lFe(~#.&K B$&Iw9IM('%ÓDN)!TD 5,IRv 6PĘD%50# =FUN(_2H(d=NnpL#'p֚pOrUAK+̿G~ad0$Izy;> 1#RH5S,̒ GPhhd.ZdF 1t/(1#d;Lr;x(E@4Diۋ' R#`>"5"$t}<98`O~vBH$ը-2g I ª9E&MdC [D(")B$whHi>:Lp =9bMߒ&IJX+!=?0!ϧ A73V3/Ew Џ ^;]xCau6ӮPJ7Gk5) DFTqp /Rx | |xѻ.f,\='`?lOgpCB" (&Rf ,]=2U=R!H L!$HXhFJ() NҾ&HxiQ"*(D<.ơK;?@J@_J+~Ow(=Й1DL0_[C>́>H(+$k& }O@X @ qLJwx@ HXP, j6}{UOOp`nݷO%{[žZϮXcd׽ǥ鎎$Jt}{Fg4jl $xCZPgJDwת`@:|eE)C+a[@&itB=v}{ /{WaͼN@p( 3 t kl޳^O|={zP=C-{ E;٥Kw܈+}.p{}!EAez!N'ͶɳU-aN(π}}+ٍnvt[˻{}ϗX==oa<zVUͻ=5="#f>Ʃy@t z}wokl˭_c}eꏮz.;n;o;):+vbrS=zUōhʁ%;U +D >5Z UlPPh @nͶ!Ҁ*@Pt J 狝;qRR͛qT6Pt}o=g=GGNp:jϽ{=ϴי׻UD -(mm{:o}Ͼ[zlyB9;kuݍH.: (ms*7b8]Ce]]վ{q7SZ ֽn/Eu}5RV\A6izu hf{w ]tU}lӠHy}Ǯ4s(}0rcy^1wa PYT J;֓w__vS`UVw=5ݬc"D3){W}پzq޳ϺΔv}wlI5;wkky}Η{}NVLL[0jY:N`3=uZi H)z닛o{mmj}ٯ}w+M:\z(٨(޽ܷtn5l޷RF&6u{1Jvl/@6EZ"Bw=$;mw^.T >ˍܹ9bׯwwG}<*Oj;TcG]k>i2-V=w3`/m/3֦>}n=>NUmT҃ oOvF@=>Խ0/AzNf\ޣOs"4F'zLz}mIv6Oz(_jnZᤧݴ=mWlρZUs@:Yn9y޾=ʪٰnn<}茶:wϖ'vțS%Akd}OlrCkzMNukyv,"׹soPn5Po 5*f|L+e޶Tmqi/ϝMW tW=PXQʼwz➱J;a9Bu݀+;k+m݃@u}jg]P+%޺#tTod>QWdzgkO}ϣ-Yizzq=7b{uu{\>oj>v ˠt)=\rpcium}c=M>WeILHzjYwXyd6w}ꭉdm>>6L֬`nlCtﶞ|q+GA!!Zs׷Et5 J K)@@Ѡh&B03IM)i@hS!Bh$=?TSOPh 2@D&h&膍CySŸSSMP2oT4Oi騚iziSJDAh 0F#{B2~zd򞦙 $db4bM4e i1h $DBM0&i4F5O"cOSHI4Si= OP="OMEwf&`Oq_?ڢC>A@)CNJP$8PaD\ϳok79&qʨC|X)ࡁdIQIE&"E &  D T! I eC6|w57ݼBP!C) U0̑- rCÝ!jrTsZlƫ-wkQx{6ek'8uo'l/VE{HJ ""%)(j֚b"DpƚB !ꅿ]c@A1PDPāJD>M A@DPT4 T4/t^"m!|L0B1/ E14E%w~xtTEQOIJPĔTU%EMTKE4M MPSܦi&RihJ?ri )J)"z)`()"i)j) HR=~łϡ'z}`j"(A7;2B'> J("Mh x^4  BI(l}"mT|i y*U1ADQD0PDED3FU1!SD4LQ5iqX!`) j_I@S'v(YyO#vO]rBJ}UZ9M^}"FuڣMo tk|Ј>)ԋNyfZp(΂jmGUh `*l: aHIY8E nrv佌}Y)~H` ѩ$03EQ}N*=/#+o:vfޠFp }B <ğIn9=Pԓ{j F3kA(|YX"/($LHskNL~2ةkTN>okPc;h#kI&E ӳpƻ~"#]l}p1zC3=$eĺ[b[\J*z>^}ea5C021H1 <' 땵4mnO.g\`%~zbB i )"$ "6 (t; 2j{Mnλp5եsW--79]Q(j5#u [Cn\Ah( (pynbhM˙g3f3j=*~\|521-C+mA0(Wiijνx~h:C y"VUb>愽GC(sWd(9SB4)꥛aX*3(PYQZ kuvi9j)3Gxx5 EF6ubڬcs[jkh" aAaD\3ds RC]Z&t !zSOgr%'LaJNa恉YN88Ƃcw] nS2€g)tãZO(j (:(l%LJ;٘\8bQa7 蜝D哪 &u*( ,f%08I̒TeTp4#Y&9ri͸(]4SQ Huz/4,"7&AXw\P+BJDEEaґC 1 1U0TPADTLS31LA,1 b*>S#۩;W:I+qOH4ITRLȔ4RPB@2CgM&v(9~7/+_9ā̢IGBPSd9c̓Y33x\f hiG'M$ k1WfUPa@2R+Y1Ԟ ]N^i eV & 1ׄhb֢gC;uEæK2: !9'dSʝ̸6hp6FXM3i;\(U_*STEAg[TTS,Q0 54%T0Oxf ӣՄ aa1-_r])2RTn^red<PU7k!󇐳ASJR|<Ύ!X5 z&g4豕F# |p<45yv"Cmۍ޺_fkK݂+wUUUUUUU .w"GȠgFvTȨc@$ʼeЯsUU8ZCLhM{C8xP7$P-HiCxs $ yřE;{OkZֵkZֵkZֵkZֵkZֵkZֵkZֵkZֵkZֵkZ0cf̙ uvfD*vP(~H"(nF c{FSS}sFFmݒvqӳB P$O~@4M :ACJ#HPLH @P45M(ФHiVDT70hht BPU!ABRrLB!MP:!BiCH)F1@5Td,+*m OؘB^kL7'_WES{U>an ĸwrY|i| Mlmraa |n;pZP 3Y΃W[ } z&B Iſ^ 3}]v模Hѧ4Af eh͊TN E4Ps %-HPha*,P(&cie1ǃn9a&H<ڋ2壒c4[>^h*whG4I%0PAU B1I4Z@a逜qR|_׮` fEOwqu7ڊ /0YJ)\]\jumk$bbĔ R铿_*zޒG0Há4c!d?!_@ᇊ*\yF8,:k uε)**2%~0^0oiDXN?sMpëѳ:1ƧDJ(4 K&No,Q"1bI[1WL9bKΆncFqhL|sk5,TQJ#HAU?2r~߿[;Wϯ "ȧJ-1-RWRhh'ea2dʣgCSv}Xݴ" m  (" AkHbjk'/ԱG^-D5F1HP'kDLA"W?'kP cDIA4@ALO!!L A1tp ` AFLEXz#)RvB=Uzy=9xO3fbf@Ed1Dǎ{ٚb"H*VOf\\¨Y2w., isj R3 %4Q*MMB% QRLRk3QRRAEBLBKDQ0APPADLQ@Iđ "J`1)a&H Zf*&h$$BDPQ4_LKEEGMpògǸw'<a?Rk xY˴̢2HDSMPRSIU-% U @RRIR4LQ`ETZ"Xh*"hB!&(hd($JBTbJX ~4)@)LΫWs|W t>_++W+PVoH1Xn|Wp&o'&<צ-t>ۣ|pDK;%P_ nOᖾ^4bGe 䮌Zs}$9HU ,~4~g;8ok'z.T1,&";?kmJ5,JLĹǻEz(? 7̅ FrrA"2$I@M>ȇ@GmJ`>:i[xg@g&1wjbQXص\c-)c. ߤ}g |w "*ؠ()CB16{gw0o'%AEG܁:A:j_* !8[i ZU;~^ NO{B2rH5Ü>T{CslQCO<)u}-Q9wE>-HQ !Xѿ?q2vNAD;S ew$B雚Ȑ_#Txβo?PmCwEC } EaT?.:G_- L-p &C Xn9bo}(Wm*(io(=Ԫ>ETko>:3Scf|.rT9}gѵk!J (" [O"@iS^~}VwOlԁj2 I-MS hP} s>c^qdI|Mpighi|z lh ^r.ПiRd*$ p9y !UVIH+&L-s1e*.9gr}r_gJBuA1QUb)EPPQQUQEP{q]6lUUUUUU9jUUUMUUUUUUUUUUUQQUUUU1UUUUUUUUUUUUUUTAU@UV **")(H"*UUUT5MUUUUTUUUUUUAUUI3S)UULM5MUUUU-+TU I4AD-E55@ST%TTC@0QUUQI1UUUE5UU3* j0UUmϧYB}mb+}_OYIˉ((<y!!"Z%b&"Qr(1#WQ@=lPSETS$E SM!B MC4THMUU!HhPR⤤b5B#@PkE i P& )JJi" lSE#ARURQJD)1SM$BQEU%=Jk4܍Dy& ӅD H"|aBp|SXtJ{ " AT {}->,#" D>"<".*j")(P Uң S2P:@@zVED"@`V /i^Jnx?4|UT2"t3Q@D[V&&tv˰\C< PWy,J" >$D7`& .# =A>$_˪Z;y~4SH=H/ Syǎ>訥IRA2$"3>T!ua2%"(s Qn@uq pbBy!1͈ !ES-H K 2J 7c5_'O+t/'eF1P\n)"hpH`q;iJ()J2J4̈ P҃J- R)@Ѐ?4C@J" y 4@ (G s@qE|Gc _!O=o^f,Oez_4!7yf:8bɘ@17qݓ'U@>;R֭+-251ʄ(̓KT?.cH[eu)cxbxTM,D pt!}z,?4yO/GD䙒'/s;!☃fC||;`8ؽLq2ʃyO_ȤƩC3$~>4˵ npGކB/OZ(agQE,)JQ Aqy}4 Dddʂ Sy7~1iW(}^4KQCzK} ~iT'Og?] z:x\=\Karϯ{w[dzjϼnF o$F6>vӸe $ʾ\j.s\O{}wgEISlZ= PR!f|: 4bTݾv.v2w‰fi:mL!<'& >m{ ܀T+l6;4qy-4:PM砓a5zg w%zWs11)OMb cǮl)̝ yWu'7^5_ƫ_y1_'1NSj340h1Ft7o9{ JD7{)aH#b )wCgQoS8W "o0w(`睦 J@rф6͛2Mdd 7tnrıv:xk\D6rېahOۭC ЛoV鈁IH;\酼7 vu@Coy=k9ڤein&78$8 Y-'Ĉˋ&)yChA9j;nNSJ6;9;z8\@8DiWcLtWRrMxl5^{n(Ob{2hhlT af!Dh{hc;*I"DADQ1DEAbt=}pفsPMeO1&@'<]ֳJRg *o!@w+;0ug T`L;ɡBC O AiXG7c&o2`r<lD/-''0~J*W7mwvM82ET&a; =!1_CӘe|2!a˚R@~ć 1>Q[;uh /ch[@"z<Y o <8#I N.D~3]][L:dhi!~bs'OxPO=aj ~^+UW#>ɦ2)ļ0V#(*& 0}|Ow|GبK">ڎǴt5;KSWH|zFo˲ d#Ve4A5}:Y  5^j3SĊ6a:0Nݑ-j103VLLR'uf;~w`6oۅKO~OR8'i#ry7cR#~p/^.JȈx /ɻ<=2"fDE^8#*fUV6Q^o {j a2i˦HgɈPwL8:_ФoV`*qW6.٠M]6 &:lMddYQivN}xS3J"=u3QF걭V-Xy)#e"pR26+øa4fkU :^:m$Hip5kRb`g Ƀx5L#}%/G(cy w1y6&[6>7-|d!!5"Exă b}ܥڼ_7n&$15"8JDS,dʳfCwr"w+k_OZ']a!&W#6Y03`ogy&^r*8ynucЃ|3!B?~ fòrZ?'L(QA7wtO×e[v\Cޠ,k|. ;R-#%EFvqI9HBS3LJ^ӵ\eƟHۘcMx8 ؾ=R,PBnk3o!B%e!Ecq~s&āxM]Iw'4E : MdTd~/oKvaшbм(OY"Cu:ZGO;t`yxḑX{O/C zN4clFaBZBѹmM*%_ޭ||=''}!P)!]TYUc 1e<:*>?Jt~#+="٣Q$x`C_YZVՊ KP3U$|T:û+ḇofFZ$P31J`ȣk*艰 4=cCSj^q Q1ɹJ$&0@1{>?p/$Kx%!i:P>1s0H3 ;n?.j;xutѳhje AW6`V}iGғo$N޷.,n8~/S6_sE0o p[эPPh\\yW'PC;dGvX3HEJ{<\{7wxyW4M,7MyM"F/~燂&a ݒ:hC)Hl}_ 9Pp򷩎w|K?1q͋RJ#0"1\+|.Xh< -($ @mw}5r~,h7}_3F7$LyO碇w|ֆX: Y=Sx"G_jK%7[Cľ+z`<d6fJgN?/ftyɈM`|fzӇw!c J{THMa(V"~@Q غ=҅](RĿQPr<9.N̉{ 6;6ny!c/!T`7` .OtY?wa.A 'KS r)naץRL00v<Pb .>l1& ; aʍ1å7,˾~eȻ bsl?$&BBeJ,/AڃiՀ7n& .bR{5 ʏ{ޑ΃W7{ Zc5 Vh :jy]7%{_ u.;ԛZ"; # M.hf8oC1)NH27h8fCU-N1"*ΈQsfX=,yțvr,JA3W]lz 2vP|,5 |.t׸7` L561ƹ,\Fc5$HDgU+eDfiS TXXѺ0$I $Ąwh"v9lC{M{Ky]8̒}yLkʷd:b:]($DzՓ=.#DYUJNmLw^i94Xi-Fs}ǭi'#1n&m7svF@M29_WfNjfYZ'28ÎL7NZ5L%lG5@&7ŗ053 !qYLAT%)rkwrP78#hHօP\' f eA1M՝8;I4s1qk55vŤ0Fˤށ[既T|\4 -On*:C#c% P̺{3ա0)jga-W5/&H+88Mɥ9T&q"|"h+>'Z{+x3ˈ&H;1bvaCA9ь. =P"jj<{aOUyM;{ЫN՞BBb9"WbތQpa'M{t![~$Fvps?v~QI7<5kO|b?O%34٢SeLu eDt6GNƯ#QLS9L:=;M3pV<.67]!zDk;K_OuیC#e;,Fl 70CB4^<wL8HF^5{YG O}#!Z`5LآcLi3l23y9t{6,J313 6Tq 8mAZvdW<\R!'m+~lZdXdpJza睘YQ 7ȆDXb"؜ֲF=|_֣U>NJK`(Ed`Eej-k<6(rЄ}IbdXVk=S򙱤hǁ r9–ia͖6l;f* 8[C iL^aޡR& #P@JD[%ɎDnƆyQzi9nٖU6vmh 3lj ٜlVv+I_U}dI xp:.'i X=[rQG^/\}7+>],QS/rM$B ;.x obȭ1lܨXV}aD;I(Ey6?<:۩-<7)͇+rh](6$z*MFfCVf) 15 Ap<:c68` s Fb k> 6cIn pmx40p"f&W3bl,Bd05ﶷ[F]# ,q;;Ƚ<ZOfc?me{t崦<(l2!Fȏ&3/D1]24_bc_C N,<0̺' M",ysb01R_z̷dbaS'F>Ϗ۴ϙ->cZů;u u#LLM:@,C3kJDN%x{!#8 (C2 jI{w|<ьcwٓ8gs|gYig~:Ssv&wȢׂq8 ]yCVRnvmj] dvd&8Eeog dy|0.K~0}1[L`NK2үceXFDau3,*9@ D3Qi"~Ih<'ͭ@DBn_jNi 2!}?^y*^fh /r'!MXҩ VbL pa:p}$0ܿ|Zw{eƵX,00WgZ +ydyn:S.9d6*g(SZ;Lya]ڳvܧK-\OUr8 vu/be0ӉN)i_2GWZA/J_jU+?Xo/Uk;["[:fS+wrHCU/({J{RN( ߻ͧf=jE^fͶf렓ߔCFN5\7zݟ ^xN$A^;)T_ƊyI BDI, N_*V|3<}\Uz:p)`Bͺ|i7Ә;`(> dE^ iUW\UW<̤suslΡE HܮE*s_ޫtuHvyf tJt'0t%G+ƫnH&jǹW1]p:*2gf@LpmH""}yqL}7WPlz{c36FHO1>;%)`f e&Ve h% d~_Wͱ7GtUU*Xj*r}o_ʨ&gX*}oxz]wϋ)rM49=CףUUUE[QmEQmUߥ|I'k޾4Uȫ**r2|;2Ux|>5\Ře$׈v*Ҥ"7 IMe uD7.QUe! 0,:'/M%f&)sG&\cD)>Azu8lثљ8XUaP*{iJE(B)O XeU(*yiWU^̅rU®-WWWʫj[UWgI x*g,><cU?^)#X|\s*zUmY');ڍ=1o3J`􋘦1^n]jZ0ljQ3̫믟o7^Ydl#N9 )byӵ~W7:b&Eq]+*`CQv׏vp"3an!g8+2bݮ,^#WUWU^6ۼWVЫ~sL@5%DJ!-~ٺ/U-9|(*;ĉh4YGѺ bO+(*  3E-դ?>C&m)*\-gWbfirO BưF0u݌a/Lpg^\G(!1uz}4ЫU֫ҶF[#MVrt{>(>b% nsn-$Nb3,ᯋUO'27Wo,, ǯeen||G!Ã7w߫D6rG gz/wG{8{hv-,y)\y1uRi0[]_}ӻ.O󒥚,|6ٳϓggYˌq< ~d`MHy@ȿ|8E`dFgDۣ rDomoIcM!Z_r"A *I\e=UWhçINsT?Ô,) wTJ}Sz(gtdU-J!-Ӳ6.6с=g;dyE !rQBfk uL.˜cc-|]G:V ma;4PnҢ-U)TR[FztƳ}T/gYMΆozK}#<(Rt9)A< S{1|f0Vou$DC7n05[T'~9)&g48X[ּ+p e ŗzx%槦C ltQWuV6eahcSP?{XO>wcכCBcjno| tUvBWx!#tٚwua(zo|{) b"$+-*L% U󥠜A  $aat%'2P|_*X)*85 !%QO9 y<#<8>r+ۗr{BB7{'Z32M:tLfq;?־PhxdqhzZ?| oX2oc1~(sbh~˟:]\g Kf{TčmQvv VݷsZq3-#N# ݙsɿ?)9|CD FNZR|8Unqҋ8[Uk^z4B{v L ;(U˩D|my㻧.!tl!Rns*Y@}d\` %0%hqI].Q=ħ-?;+p7zp7O!q* d-ҥ_j7w_d1/'N)!("N \mE+LǏ7G=9eWN*ԩnR-9Z\b^-3S4QF)O㻩?L3%>WkݟyVI^#h^%wvgo{ڡ]3[l˗ݯ/j1$,;>̕r76`V1Q;32db!v)=l#aeK;S2snZp%O!~!/c)ʻsfuuƍ#\jW;P̄ HVͥgmd.}\N<"(u*1'0jd25$eBB޳.+= A^[qIy7F rp % JQ-?njH䍄 a/c8d {P g|JL.!r waaj ZzQ~%!mj.:-*s: N}„y&Ֆ_vh,1m vbptǿ}`Y eL|}ؾ9{](J<(=! )!FnOqٿ+_sOOwFսw?k@@yV; """"O!')ސbp'LΪD)XBpNm(^҄>`-a p$ʑAI'~L -ndKdbhFx2z3oGwm z8Zi]AwԹr"p뜫 #^vv)KBrTih>ǟ]p/`\CqnAcB%igQ1|MЎ"O>Y.O6e)C7)>5L'_׾4MmUӑEo0b(meQGet6Z_0IB"C)e q!ר~+j~==E=}] Y33W7);>&K#Y4?eTbhC3dh!?.`L:dmw)Qwf#N6㻎BGCw/{wZG)M;]^i-XBE!0YqdG-3b*J6(ʑD~~l^Q^9/|q܊!- M8vfh=+ЫǷ܊pRۖtCN:p=g~&a@XǔKYl+uĮ#ΦT:1L13kC8X$Hh2YRIKEPlJe`9Bsm;<18gXr t9ˍ\gh!񣾽b'HBQٜ#/tkW_sB.Aޙyy| ",~wW1L.-mXY q,6iB$8qUsꭽ?Up2 ͍N괈x_B""Z$@%*"C.8 ~Z"A>`};)ǁ!z$-9ٝ,7S b_v{—GKzqࣺVSdƓ9#k~98j 63ao}NII!X@qŹdw{Ogslb/ߍ\0˜w;C70ɸ0 `nae&+]YV4x”)(B*\)ƘitgD@KqM,OwhFWoƛ=+mccN/Ξ!,pl3K5,qvIM .sA徇LG 2җcy~X+cgJksZܯz-[ddXxDiD"y[Nu(,$n@ah;M-ֵeۇ$Kq \6R;0qj 6?`r:7~Mi=-ph5 4-`ɘj ofmU[|ٚmVsW0ekLoC0?dڕ6T /l t+lwnt~Enmzs){NLst7= >Tʒ'Yt0.'"%2A"&X(7vK<{dīa*9Vw1$̓(wGzXaEg'1-{/w4 ޜ%囵uMg?.MQm{9g<Y3]`SlC.νv\$K?^FLz"(= `pn"  BoaO D\y |tx}ФU$f|v~6)-7鄢ؑB]C \WiYI5sV55Fk#>^S=yW uy-c(qӄXЦlJxTk6g7KeF?X-x̯M\Ɩ%g כ8 <5wm]s g[mFYs#ώ/U[sfbv8 Ϧ&F0¸}^َ\8GN1q &&]Vr}L˱Sy&6F#g3c8zZc6^pe 代,$xcNed Ax !h"ЫU1YFd>Lե?',X>~bɈ·Jif9\+w){FW&rr!<4yn.ؾ3cY.!Oo ~2!ra#;ef3d8zŎxYo\WkLsXok]gMT 1QzL1ݤ:um&oD7mpBb=cvpWitj\Q7CDƱg*y7ͤVpB/hbw#$)z!uh[R0) )%3E5/q3IN:Pby 4i3y? AU[fZ˂I %>2N4q²{|/{ cz4p}3IlpCD3zG[oC^-lgXF\JO{ZdP)iI2g93 }}t$wH|G*"(BI&*;UCg$(Nh=ݗ3Gw)XO 1aďizZmyx_nʪNuQYaTD{䰟 H( e=c[l2ǟw/\6>0/|>|z榫>OLxF~Kb|8m~T՝jtZФ$iKK pTLgPyg'Ix_zzɂUjb9_㩿αUPOdDIC9fZ~t}6ٶ=7r92>' ߓRu]+Y%.NL4?tI=I4;o׬όɢ5 1qybԖV%20WD0_Q5BJ*0;9Lzp{D q: ΝL3T*.M5[ 2Wo)1˧^9͘~{OǞءFw^b\1y5[ ]$iF}sx2+]}q1d/8M0Ma`ͪR,BF̆) N}yxi,7Rpj34};9N[Hh 9Ëq֔Zʗ0nc \BGd&Gyǖ*E )VdL9Đ ޫ]Ƅ7ZG84׺/sRi ʉ(?92lBL&SpˆrHaHoO1~|q\̯] a~uԙy y24@_ Ç"$BRB㙺v{`È-Ky4ά:2R}5!S~5gwƉ \:Q9Eo)!] {-t*b`@#XFUh KJXъv #>P.=_t[M8.ǍD7b *]m~o)U0EE NVa:xg[A uǥqw/[A( h/Ht?CA(ntBfi[;ގh <A4>MEuN⡎ZSUǮI s3ש4Tpjnm {'>9+XB EH#L BPA}JƻwN[GKtxPK՝0a NTLvۄBSÁ@NN Ά*$ mǵ_vCU5$,;0YGZZ+n~O ?=6^O∊I$#a."h&FZx;S #;"}"F0Jrew2d`wkoMgB/h"Ph"i>f7ՠa>W6tιVN)GsވWS5ep9j~|v9BtBgvF,wѽFϢވBrF@>weǔwu<ԣvs۪}(j)L:kslB JRrn+9\pbbJ!Bnv(=>_krϪ#0KOwoD7N陓:+c$Z]*wKJKEZŖs\З=78<6ӾP[L2w-vIw_(TCcu8u1"%w6jz39*q˘>FԿn,γI9}^PP1HƖOrfH١KW܄98 J@I]#nj9ҋ~j5eXn̙׌ qwNs#{"4 nB 0]Ltt!rN2#mo:  )[@ 6l9zM$,M$-9>Pqw*`<8}<d$$٭*ZH.Tu`ѡB|’tXbhA@ \&'"1JU/h7>(H>H!#@6+l(@3k8$et.`q iuPRl'Iz~\ t6"2!;g1(ǧ{K;X0moJr \>3͘g,_˿mbub5q+dFT1Ŀ@g.nNXF 9Lm z?G𳈘:ˉ(YYg%—apKDGH-ŬtV13L օ+Yx*F6L{f̞^kL]5Oڊ%%x)JD3 38?bA9:S1[+_0k @WPV4@fA&mLcD\KdK9v A~y⧻zWyN; r$V &Ģ#t<>r}̾4uA}inR_ ?qyeLxݮ9}inoWFCx D!" I.!t_O ԖA#zNO47v/]g61xeL+*ˆƖ'!'ʾBuԣ&m\+¤}wWBD:USAjԊhTy0ŊxdDD))-n!E{ZM+fK+V+b8eO%\/)g!f%DY]$aՍ v'?j[nM&>WnlQJSs:y 0^5E<NL+JQW:ۭmGƠ癈e4oz{{(`xӇT2W͖ )0SV*V8@~(T)IM7|Jⷋ߱3?Ŝ欋A(G)eK_]'ٻ]M!cñ=>]yks8͛0T>xZJu)uMOMG`gnSɿ>AUUTUUU***y+3˯O=NUkAZ\>Vz_l3|m$JR[H?4]_l^mbPe8{t?±KBsO>6fl߸W;!B@;6f/qX+G X^gj!MDwxSbHŊrlw!QL6Pqj׿O'qXxTⳬN9۬Yw\{L5pxe8Bn5 P| bjRX ov"Lr#LރP ::" e}QX9Aol&q3ݺ;|b)#;A]LbވlqY!E\ˌ),GOwd HH9*M3e<llɆE2L,ɷbqJ YzR|=+Fb+p\63$O?8% ŷϴXq0Cܴ:ٰF;2j]6"&:A0L)T T +~k}o'=o̹ZHfUh_tB3ïזy~UUxM"#iDGZ\usOkvS^ӿF}+Wɨx |xmٜr ADdd&`dkziһ s6u>;Xow hHY:H7(n{W<.=f7bӞw֦ ȑXd? O[ʬ7; 29[~8*T ~ &X$4 Ddfa`C((:(#k%]>+G ]%gDKšugg~u3vWp\ [3, NQW?Z ^H0> wEKp6kĉTG;`8$ ɢ_E>p' < Corefgd4ffh6{ Ip\p:_t"r Jk/=Cډ2,hw9VOp"xF#0 jAMxoײ3gx= C?\4I'A#DfDi҅' !J,e 0OO6A; %4LgBΦ"{&ܘd3#mcz]UV%eeβ \銎[[p&fgkF ֬ S\ gM;S͟R*'*~j|-dS)\pgxۨMp1ky""4}Ru'Vb~ o^#k7f)]~rw:&dt~8%DDNxN 3!Zj*eR! uZ~+9g|&ns+9SoX ӥUGL3dש q̬T\CK(W,{Q2>U+f.g7ze'?gxjs޼Vr}xu;wn}sJuIkxŜ(ZPW z~ԜA`r:hGmN\PQlYA`;36V{U ,uR<Y)̓G빨.ekǗL6|- zVO+)}M .d 5BНzbh\Os`H%ɰ /;}&Qz;zWŷWҜtxrϟXuq{O#%;rJ[?:ahzN(yr0r8U})l~5[َ8y<Ң0-So(xlԩUUTG_Wǜ5aOӧŽ9YI(qꨪhn |I;}pl֓ba'7yKW&yCHu>@en !8p2Yɑ)ɥ Oc:; Fl; z33mNAy$7R Ma'QI,{0ᾲ۸H_|N߹-zm>'ƿG fξrDKo*O'SBBF8kgwG%~Yj<Ӛu5$%H_7|{G4Fin76w-X U09xϷEU{KUbb! KWx-jQU$Ԥ&J,]Hxy|yZM] Q1wt);`RAdS`'&K &Q.{vXP~"#J(e 5]kK:\(Gy0iVo{33$OUUI\0wta I/i93%Lt_0z1 X!]vdff+9kx/̙)-.&MV 3`0g3{m=jW'%Lz:d-h;?Z>\s^'3/|urR0m .'9n=ڴH'{u1<])6F!g %5e+Wê{N oM)ϕeO.tNm+{K[_zEP* |\Y Rԑ^7Jsk? rk].k7T'o6Xwm Qv&30'V eXΰ!Wn3$@X2Y|W=]+Hc-bWtY8U'N|g[1|~s>%ԞHSi*UqBIZXŦ%RN{'˼{Ɩ/wV]-KP) 0$$BaBqJ=tLJ+!*)iwKZip20۔β|.3_ݴ+6#W4P(,5[v~>xwIQ,wثZS֩c3f""S봾6DGou\sO"EXDRDަѷk˿ʻGOĊ@ML2U8J,,=M脶WbjkhS}hM,vHǟ$fȦ\FS-=(I(0Ҍ0/[!g.3q5St®AL//dm^uBB3yƠ1P%a3/?OZ%[i~ E6=8h#)VAT% % "(ig8`"pB@KծvˌbVS%2I?4|_%~/g~~әLr=sRg,vuϮ۷Wqé˅w@ ?腇r^MI<&7{DQDP1 #hs@ npwWsܡ~&G6lZ =K,aB1 c,\v $>]bzetٰtC) 02& w3!e.|vrB?ۣX%<֪JE<B&;H-eMœqgֽ\9xnEJ9sٖP pcgH'2nv>oܐ2`#xyB1D$ ٚ**!(q--)E)E"SI!rr¯l<|yy #G&WU~ ,@P<8|z=?>놼Ļ~gښE^h" m}_h@O8tn<<.H2G T J:<?߬L1t[ǤqڻQI1c,u+kN%%_7O{]w̓ JZ@t$rl 1D$O\9x,Rշ~OO.'?9naѽGo~W{V) }=-Ou[~i2ֶO8L_~s+]Za*J׽kSФ!ubUN-#|-]n5<] yj\,k2Ie|WBdr0Ƹ]|ߞy exW {3ǭ~~\=?~Yݞ4ma.EtF-x-؂͐G|A.0UM;K0XSfTUMcPXJZ4 c|/O2o}3 RpǔXEwie}+|(ί9Z+>s%K Xi9+||Gc|eB.eg׫G9q2¹Nqݾ.LɾvQC*.w礳;F3WWmu 8<ߔ#k59jo ^==zvQQ#y_<RqؐpG!ݍ܏V3! Rn>{wvg/+K FnZC\f]|A-ϗqq)PKBpAFO}8%8TM_ž+{Ơ&&Q`F%U)|P*dP=m~~z?6#`ti\f`EWvP D#n0LD.%_n6ƉѮ3rmW~ӻ qTTDxˌ[XV /&wݫϘNy%bCp|~g0(S џN'x˞dwtC%!}=U=2i/ׇQ<5jT=~~X)jQ|3IIIIMUUUUUUUt*gPh\iEd%aF7ƕB XpB02,A"Nο86VmT%SHUL)1[&*P" B@&.ΧcJ?%*){o=e9;JPN F) L%0ejPhYW_0KLO FIh$8p&u"RFB-X!J4ږ0QPRJ[?Ɍ|߮B_,!{/ӳNñq?vo@ o:1[?L}=sXw={ g޻?o/vH 1;R!h$ u~E[`|)E 8D:5Ϭ8!?S"]#{K })am(i $ @*"\EnK {qd@ 借h "y"d_ϭUhgտgqn۪*[81e ɽ儒 P|,L9}wlU S& -ᥜ!"3[c5 'CߗL ߫W#?`(CI-ga^#}$sw`FtLw`HII>Ur(:M^0l#|_ID)O XҚ'v~zc)||dˋD9?d ЬOΌ3=p?Ls< Iy`g@RuOv0 !B2 9 QzSY\86pA d3"hw5Ńu]Bz`s :O]-ɸy۟jN|Gn<Do9W `?'ËI$pj/i+~<Q,l 1$9pI|z9|"`I ̺usN6(Wvsv(uoTw= YN MNU"$v(>/k0))heJDlIIRpun rR w.Wa+0 AN,'3GfɇoWkw 3o`dioI%UU^5O>*r"A#5w( 80=8^nHniii u;R$L,`HbpN* 2yAC |aHs1NKPfh4AY3fx4ȧՒ7F* |E4c\;RͰ$|9K`ȶpEa4b־nʶ(Bvcsƶ_)R1~68YVLfaO[$PQ#(/QiSt''!ļ-)K<y/3k89BX48Ri$eU1͈;l8z^Xn-kk*湵ht'YtCGEGo`n왷WAdN1rJuӨǦvo?6%w=aE{%ofnƀ8CYF]؊dܪC>?p{/(b(R $t@ؼq:y<uPS,Y"C(Lԃ6z1; p7c~G*,LWdl~?&ȩɻw,yRjB i_PՎrc졔\ ȬIOEqp]gC2B#esXbnEöN2Fl$IoGX! &Y_lLh31l1᥉szOCNS\>\_k Rô.B-tM՟z%¹A@Hɂs~b#aMeu,~Drsd1F齮 2C2ԫň|[s3Gx,[RJC2|aH+.3Evc[퀄#;>饚@'$L>bHyFƎ5!W qH/~בkb(o|9 RV-0_`R4{I^>Uj2܌V'*U=Ihk̠J9W fr?W}Jτ 4.!bQ0<}$8tK-2L7βҹslH3](πo3wBט\!C™BLuZx.L Ȣ#T} 0lA4#upTq/"<=6nRAX5g|gb8]a$cӏUFqRr:(t#I4(2a2lۊGAd황 _cb4n"gH04, 4lb2sR—H}/Ӛ'kM0.KPoRf"%ImaԤQ&LrnQlIL腺MsRjfP#RAxxX1À7{\Z}rwN>PƕěFxcfcɄf2hbnaS1q{2a8]ѥx FGskU ADs5"K?~M/Mo H9>1߱*9drSě %dЫ<& ҅XP,͍N䔑Mq0$"i࡟@+=a䜆Uoav/P=2BI&ת;33 |S_֥߼9ǭDZ$ O  y3l[b6 $@4[25.ơFk+8*>$9_N>"|}'Ԋ׽247 }~$RdwD$IB˲a:WY5BL%}z>=N īgdJXjI}|a҃RsEJK R47) kq @;3nUrX3iR*0S(q 8֕ظBa.lq$wC \I8U JVN&naHYC{R^d 34냆r eޯo=Ϸؖ\rlmEH_̝= !N%ŃCta?i[Guwcz-1)S09N #tFɓu8=gwb|})LONfd_Oe﫿CK;*)P=M-!W RqBPz'h t9]2DE)yw/UxpIC#VYZW瀛ɇؾx L$_e06ȿvzy4c| LEsj?9+zi4t{#?LMn'yľ4Qwz$E 0#IHZH$⭙I b>Bkg{6xq b–\̻{.j3I(9e儶NW}oaů , hx 8R.#oz61̍gwa3X^q&^F1k9؃1غQ?sTk]%"U nɵ1<1bC~uW4d}9D"_tk@ἁ;R!BE_Xq"\F(#~ny2L-YR:ģZ67dNȝ4PF@a /#CQx=A*~.Q Q:lra4̄`W'! LWTwE pt=9'9>fd  Lon*G}{[mU{{;#?1/wgi_)$() ?fKI3EvӜ30^$+das(˰vXVFoBk l@ dZ>iBxE]s7IrL4hFÃн6`ڷy{϶bLoJiTiNm͚K06˶v^hnPFBP¾vx'lMܴ9P%/u28=lAC -$0 ;֛mq|F1ݚ9#kפyn'x^2 +k^99eB&yts˔f` ɮI2eԣ=[7w)c r)I=;CGXьu[\t)D83c5x^NVo qfNse4͉gXKm&xSB5$< MX] (Y,96WB SW vft3|l;%F8c?kb-bM)U=m^1vH4mMW}NS%㎚_}^եϋs䷃\Gu+4JrjF 2v|~쟽5ͣjNy!IV䤕juKR$"#zIa8Ů'c"9̋T|TG8 %\GEFā2=21a)axYhWXR(dLV)S&ݤ`5L0.n4Oe5Pݻb&Ƒ|*Uv>nۏ?_hdlK =r&3 ѡlw5Iچ~Q j`̌ _<oўz٧8-eet{ȇ!b!.~:3cMa. Ѳ֙Xe^iN1gÌy䄎 r=p6#U=߷!SR}>p rnȺ-x`y{0^HIA?wn&)-u+&5Xmda*(1J 8/bNƒ_D'$#SbmkD ;d`DB(1_{on~o}Zɲ'!i7n˛E#0gYVf>8Rv^#R?I -hAFKX>g.)d͎ފ]Fn>4OQaK|9ĈԖM$YB$Rh1d҃u֙91HNNC_r~ۻzn+>zId8qx""a/ξ_CÐ[.>܏{m6ڄ1:$N!`x>i q|tt ƍ 5WyÉ&T(b;א}A-a}AŠWgHVb~qP> (eEݷU~K rh%ò D[1ؚ_vyi |܏Ez3Zɺ]~JJ~rCˎ]jkUU( 33W_WUZs'>$w°b+F}ڝ谠wva(@E]ז֮YHIE^d9 i}4gCX ǔa::Zv.tTuVr) B*'| FWtx_wO پtA\ZP=t*b ZsWUi $^^+E6V<XT{V֟8ĘdƜ|kݭ*vq& !c&7e>uW#`uQ7$ yVR|=K9Uȿ#j1Y^աfŹA~zNs#a2a o(W<hlʻ3Ujpff}h6x9f@bc JmAUatUP:UΌe YҎ_ɗB gP gp`VtwK6\&Wa4-L(3885>ㅩw+jo5/rn#|`ZmKkۖ9&`F{&x v;>b۪)w,U$wUJrC3 Gmyb jep:㸡 ќZyM;Rhw9t+љN2m(0]u?y|̮tC ( Uo_' u.1,*n @MձKs?i+qn<>,} C D!ۢh/J${x́Q xxbHH0 D7;SЛ{)z^o&況F0A|h|]9v|Wpn҅?<.f}4qp^ǫBL[;8jyA97u0h``GwFAYwqh,`7L>r$SD69ldb ~5ﯼvA:<أ~~$n,/G+UkFG" 8(Ubb$-S\>?8}!oy='?QՈӧe` c.3 U`Q*w^kuyD &u]T}V< F 9~5Ram/ź;DZM˒Ä6r&M|q<ghqFEwb1evmӐrgA*)krpt~4/\{ޑK}w0`B֏|49"짗Zr?Up͒q[r^O.rFr1Hw:p~YR#ճ}B\H^c⠐VE#DqN}3+a?so NV!//œWk ]Υ4; +GXA_~y))rѭD`-[QDa^-콘[2Ioi8-d@ ܈ M(:n H5`N\ C+MIkyWz;] ʐ_;6stEЌ$$z>{|HMX&dE_(Wcy9O|`~kdL ES ǥ]?g?с\]z{ۤ"^e]>9ߞ }&w0O,oۺjMey6_>lw] tJx4()^ s`_N9O0i@mji=ь[ؔoyǤaHR1W $)=hpJŧ2uosk*"8OC+;j]M31)apN[E8Qܲńn8}7S֬#@sxW3p0vЫ'ѯ'^!Ggs+!:OB9FT޶qoT4az 2~5׸wEQ 4pxñl5Ks;Atc7:HB-ݏgif9Ԯ&5ov-vf5ƻ6D#[(1 }e+k3nc~aڥX2QmCP"^"UxeuIU~RbxטJfUws挫A!I&7 %Ұ1Pm>pQ|cF̙F4Z8u<6y02*Q%^_s&Tpzxjk6;K$!A kNG.,Lw$r+v1cӍ^3)bYe_{=~YkƠHtmG86HkԁVٲfs zL[ҰJyR#\,;gDe(,hv:Ō^+8 \ۺj+r3Q-I9#@F>Z"´h|ktkA,|z{W XP3kC`NapK)Bv5/4>z_BĖv|D:}9[e|ƾvwAvdoQ'Iz۶yu|2=(^i{wQR6s2$mݏ}{;jUԦ=ӻ}N<0u5L]"iە˝_]|7En! >n)g }K/&w9 w%⻡K իԞ}.M.a9#X;ΜFH;4`G8G~-Zϯ;sĞqj|M[d\櫭 C)=|/t;6,% T۪ͩRH.8ķcqT\5{1/eMB=/l9H* ܌ BI&dҭ_^a IWhl-tO,`Sy\J"STNRe5 &5.InʶaeiNXfj]o<涃@Jf _y/W>xJR5%qD8(t2"pDn֗ ":BcaIҴzeImW|mLt+Vz*=؞N'럞}ֻDE_|N]]o~6~Yw Cpq!@PKZCqx](RfnRgK]|/x(\ rbb5_lki*ZQs/Oz˷ܜ w4{ߕatԅrxƸJ'-q+FB<>=Ǽ8iߕ7zצp~('yPx?GКyUiVegwmlj$BNJSa9"Ug>yE2BBοOGWs~MTZ#{%}']3x>$M`t%D/3J\t"{Q\N?;wQɓ2)իY] *u,:b 7ΤwML8&&Ըt])|5_gt{ H8?=n|Zbq.)3S {M=D1( KXsdg'OڒI%UCϑ zR_^->6Ϗ9ciaaxF) 03=XnRks'B--ˁybݼ#|n&Tdft@&xtdn3Qi2M"v=ăuݹ\m;Ab&c[|dqOE!Ȍf&/@Y"+@AQ^}s78ā@}hr#6L00ϭrʼ\_~/,׷ݶ|6 4drL-M$6gFTЊA.tE~W>">g]#J-% $yRQCfL⏅D \>U~O5K atx˻GF)NLuڳ}\7bmEpvOV4W_2w${X( FL!H>rTvT(og+(";|o0y B3İ1L/gu Cz\soo _F0]wC!sι(txVFpf8VL3"s1uY: xnxIGL;:?<ʹwDyJg;Y(κ<"LxJ<*v=U&MA JѰ'NŹJ! _kamx' *tN`dXY>u/mxስxEA~t| 3UzHW>n4mw;롊eɆ(Y\H)72Np b@j`[Bu $Щ/s dcz|Fjs7urߍcYg‘n3SVm79U)"-'|c{L 9_=kљ`W]@[ytf_ ̋4a\[FF S|a=95/qFkp0ނn+Ӂu[:L¼m5MĐfvXʃ].S 55Ufޤwg6z<2|wK͋za\eZa}u9(VdhG Oj g|}n˿c$p…~WJz^Hp7 TfI 3]3 (J(*<|y ߻MTNZdԸ%NK><9j/MI塕0%tM.鞰IU<>PZ¶%Rl[ٸߺ_ O8 O { q0²m]ϙ<0|QFTG=9SHa"#6LHGjTFm;x#P%|mzJ~T1)5T K׼ڳɕd}wy\);ZJO}>x~}wFgjz2P1%m0ܩF)g(OHÞ7RRh<Te2^֜KQm0AnOqRsxp>Q7 )TzԨȰԢj!ؐ{ R ) -׼)_X4{q̖0hLfCwwao>wMߗKt#N=>vl*;;0,Q}TxZTLkדؾŊegyTuF)Zhu4HiꦚvNCv3X63h ruyo 8<OWerd4ЃR=Vk$fff`eQj_%l9p] G݄#cfcaщ(AѸ{gy37V*c/܆z9b$$@&2ze}&AQ2|\q5_4B'@.*ܮh&R,+hکǴ===NeuUy 7bOo^}Q6mnz7sR[Ž{>h2?^ k8$_qwJ'(\'L Շ=)cpLGy/|5,P׼S /"<ըk:ceinQ g1KsDч9oY!DSJP/fC e|Wk^\7a (ST;pH_C>vST%|ח'i29CIS/vct_]}c8Z5>_}Oٟ J|嫇B9y+͈wiY$3?k2q|GQ}ye$12௏wM͉aX&gŪKYWÜ )(t ƷW c35na:,Ԥd})sYwD KKsM% m%E_:W̘1>d)HBO.Tg"b!J ƕpW^8->;wMu|iڇ^Cดnߤ2XvHsi;+4~k]cJ,AO1/ fr9|O ٴ*BmĢы,Y㓲/=/)[T_%E:,^KrXs!V;3ٶ8 (/w $S,5e6`vӐ8 )7J_I2(x?XeDOu + ?-դ^AKY†NE\dN-ac(gO9x~˫?V$f݇\⛢҆2tr }͐B=4`V&B*XކJ`t2T@:vvYNȋǏ[_XV0V$=BA|>R+D$ 0,Էds@o V9d \͢آFFT#b"R bNh丄 #3R16'4YC"*x^o2$Q{T$C۽ 9 oŝyR2Ɵ*{{~l}ȕUξwB◦)}Jj&W|'3;dח ^g OCg>l bG|_h>xU^Kqzee>1~4=Lh"zGt{}&"C(2мފ)CH.(nm*⧿Q&JAjJ;$VB3ӭl"MKe7a@$1)m"H-!ۃ]t;DL#.J<i\aX~9f 2dVڵjI, º4LZ%qƘ#mp`_sF_ {brZ\:s#7f࿂"M9C٣c.jkp$9 o|Ccg73đsm 36 Y/j% 'Ϡr*EoԷOӟ4WYnWB`6kꖵ2 v-Gw QQ2?DŽ$'%L<ޛ1)̶4ssgiw a}/Cחi-zË7V*.#3+*i~V&>cOϨx|Oג5^YV)eOJ׏ȥr(GxQ=F))NC.{a6eu:SCCwl^~7kX&|A=^~=noUӶ HHʿOIΫ|~~.tX>%Q)KU랲{ ;zRF7yxos}b̫ЬD/-@MaE۶l>j%c<<7|]Oloӥ6wo6WW){MiSCtInEدs7KbowC;LGl+F )Mv5^~]ôXdX7ə4\ 6wgi;v@#2neHHXh}c䡦ڧ$opGjURC}p]D!~-@MVn7*e}v$@ EOw0 "ku}vݢkPbF$Wi[ J_Bg6VPf80RYcڂ GŎM:7pq>zg [þP o#B-6i[1uMfBr&"'wәJ_On Q8ܸ1%#F ơQ$XRj`ݲ)~JaJj 5mI]"Rşf 41Yt!{Nr{vrw#}H۬ nâ6; "mҵgf ʑb^m9 #I :RC  -@ 5鎂(@0AQt@vf<&I"nπ~¡n 1lC&\=LV^.enQ4"UsLRL,D̤POjshAF5tɈr'--om~7JlMXS>SwV[0u%GkTюQ} #(w5$ xbxw_5g Evy\38QQOګ5x6!1$"9A>I=[\K6 BWW(jUiBPĖ_+#BIכ ogkrٗgVBLQei^nV $$u Ylԃn^h4hR*R-!WBT!L$RL2 P(FK|:s'yPq3Lv~A_6v&܍P" BǞg!9/Qe}n3sT,f3'YE;<܂Ce}/}ˎ%|&$*bRAF ۹ < !I.0L0zX)gt4ŋ@yvX{rrypI298KYLu2`>cuO%3~][*4tyw2|T A0+J׆k5Ug9k~{D*/t(y;ihUWz|=}*^oژ}o(Jc%}"ײS mL+ ,bj<tԥ<ƒ'irF* bCA4SS> "{~ٰƬaB7kk5(ۙ 2mnMώ)ULZD:0~TH>?0&]5f,QPH92b!K2zi`\u|Q;(dZЧ q·z[DĦZPaC<汦fv1mX,2/ɝ:prц|y1[7[ȸ)uSA;ÍE!.j=ͱ(Zp5s~fa3 SLwq&qz~^LG{6f^i~U;ӢK  =(PƒW6Ba5#ŠLizo )?7y*LY(l|$c8,I6 V;ᇚ>;~ ]Y~ǩ]ׇO즁st/(碜呾#{T/L'%Ӫo~> vεZ%W|/pYgU>ۑ|ᆱ8L@{R֍iCi2 |83Ĵs#.O-+N4nsqM_> c- mo'#,DMu1`^ZWկ|Ia sNcᩂ<6yu )@nD9# X2MjoS[f!6]sp:8Bi1KlJ AȹG9;r3a(ފ-`*n Wxf3ѭVFw (0$ u`fAe&pADkЃskBRzkc˅I˹1Fϰbt3='!A g5j p_huqљC15XRZ#|iY+aW*KCH>.,gДgZ6ّdvHtβ`YM<f[ZRh-pp13Oo~fADxgAg&NlRc)z%| ̞n+$ t_q㯀C0|Y_Z>fOYs)IМjToeEB{Mļ%3 MF&cd>/'m'U\vO9C%WU@H%1XuԐ vb ߡLks4ڐ]8s;N҂ 7ҲL%X1  ӡxm7whA32=>A3vao~o~Z~T?+LNq`Ac&H Zp$TOpXal.c '`rNંC!? UdJ*)TJ)( hh]h )M:bN)iZGZ )iBh(h)( i(( df|{ Bkb,4j|?r7'$a>~_]VG=kHld~gvp៖J$W&6-2Ooux,^ bqH~p^4o;[^.)aq2ƣ0Nn=Os u:VI]]e8/TY?Z:7CU ͼ@=Qv;Hm?u"BRt BCxXw(Z6㝧vdLxn XF;٠Hi]Cc卥lDV^x4ɠI7P" D u;vo|VI< &&=$ :Af<@ܙ`{6%@ `'OH=޲}5q]H {@qbdP6)((}0O{*ܖtWBS CPNF&Spc ()?3F36:ƸO)揮hBX&2Y|;! aC;,!Ĥ?oq<,#C $dp{,"}TF u08#zOAq[tMq$qc4y8vJ3-[< !.LSRJIBA: ѳ-)TMdLǯ CxKٴ]S<,(4YVmDF0m84$Sc sY"l!TNbV}DI4p`㺆>`% 5r%5L#|,q3}%';&KKKӱ-{h\gN{ILfF>W&`<oӿ +dƼa7\Αꚅ$N" "k4'+JMgA~.gwfAeo\^⨨B?v wBvn`Lho #.:'!ǹ3.u0Dy+-ˮMI#xF)c&Sb#kM;-1xnNsrxZXӊ4:E{GtMwmnYn`v[MnFFmϕ7:@M< 䙝7t+ݩ. آ \ދ4omcAf h:w&_ld^pʗsLsη\ #` d_X$s0|uZS3`X2aGddKx3^7lfVP5z+o5No}_ڳ7;jSQ?ʜngsisG5Iz|FPǻUL&g^S<=xyT/_]B)35J"ڰ,.ק*/79|yD'<7C0qv*y*gFKH>24_=i/T\sG8i02*+-}q/-0Z!eL0!Ml4RCU.!z8)Sp2 _:Y?ZVx][ kMU?G2램7 C$])Bt HGP(n\Oz.|m^4EˆΕg]HB?YZHP[' ^U>F_rD_I XNUVPR<)c.}B-׶*Py]|5 ,l݄Lf#۷Vgq#Yq8Xy[YB=ml3_kxlWFz  QN]/)Ԕ]| pQ/H^וv'" ֲL[ w'ކ~%w4طO}ϿVXѢ󿟟,h 2+41Y!Y*~((sy|>+]7vf5/MdJ)do5ұZd>bwvhS*(3Z )2#xzЙЏTovZS>| :J;|}Xə0*N%  ^6ǷNc\\)Dh lٌI?k#QvyCF+ ؈Mms~/PNNROfi >– t׫5='y5_#a#2PZ`{_)g`(E"C6ȩRGI.<ǽȯED>33Kn_w1MC`V|b:$YOj$v*n5`wۑ|A?*9~l}̶:v>|L(sRq3 Eی[]cT;; A 47=&/Hq!:vݶuGwVTcsZ̤k!b4YXm s[Y) T7@y7ON!xp'xϝ4El!G'\I U Y顢3 A1^Bg D~!/&9yآl Jŀ 2D@C$58Si$btS攡Qshn33332B;;;;; EcDUV**** IZ. v}c@* @?GC4Z@ʔaE_$CvX^wjbi j)!ݚ`=VĔ5o2EHp1NQ|m{t࿪ Xr*q݋:3b0^鬌("ȫ! Tې;`|vB/H%?#${^3G P"AĔ_CD:}I j`^ܔ9!Iql:w[["@ē)Y 3҃C~o?d{(z(>ЇE="D"u_O_^/a,؝g=HE@S A։3`&%9GJN%\|Gn(:F%a0 5S23O) h y T@FJ=YĦɰkG7T^C?s4;W3K3sM3q(166_A W>o1<c.HI7WBJ2i ro5VN?ރȿD{( y#}ʈ%4Zh?iJ/Ç5oC1$A|&"Siv0;| r/ɽv/1r@s˿+.pP .ݧ+︼k8^[6둗9v}D9%)Fb>Yy=Ё||x>*4MUQ6D0U=i;"`xyy-P >bGswk H?:&`]"!y.Ç }З<`u=0?*{}_~/C4B(Q`8>фLJK֞vCg wp0u^$t l47JSڦifdv@.dOڤ᠍c,Bw CNPK@ @0Oڙ c[j 'ͦx_7`'{0^)"/$D(d 3 1x8zEYƒ>g,q<\Ŕ^EM`zt,"/w9ӝv ~OBW~_⿃gz9mÒA`D5$5K*~$(i~<>e9_!9E Ɵ̜`!ݜ0o<݃{:?&9@ 8!0^?Œ`ދ|_%BC0);`j|bӸ7g4 {k^Hʏ\~I-+ yz5OF-k B37$s"0+ϒ,Xtvbѷ?(Z9]0?G?˷G(ydbZs"9?i{.0>ջ{ʄsQ$yD ֦]jw7K?_wߝtǞ>+{vG@L~I1 rSM$D 1l*~?O]u׿M|_L FOu@z!7ܚs@kٰ;0x nhd`8*(~…DAΓ_R-"#d9Mٷ6z?/(j@-TEUTD0U=}==|ӭPx^Y1;~4%&k&oC kcH ^f9]<3} yTM&f0&!.!6qwOMko.Mi% 8bh`_?V>5bBY7qNxRÔ<}L63b靿DFjzQyQr`a d!+eꄕmDtY]u:Izj"Q}X^rsG|IH f?ee렒<ҥ9ΕP#K =!ǵtQ!=#mI@q* lH>S&|^5ڸwߋ*RŽͩU^0/ S K G+ q~.>{\އXGɄ~Þ.1tS:UynBN#{5`c^s){3^q0aDhB"yLI۷hg }D+XQ˾0D'iy I/s·LO9!L'2D߻,KR-Q&^|;@d ވED^@ UUUDHUw㽹N;Bt@0"վa2w[js~0fb0+͗g_Gt-!!Ӥ=r+ٙmOGOLwv^*mYswo9v0*@;6jrԨ[WzZq0iZ0Oqu0#p4֏'s㸋[ǡ 4h h#s+mR'U0)J(ƞԱyl?aF&pb:{&|!Xۚ W#4a?1oҟ;w.xHuBOe_U?)_X "Tͤj *&XB'>E/JWB{b `ΛguH0]毒B Ām5d8J1&!θ"u2aQcfצW0@{H(\|j#%cJ#=:%{p|8B)ɳ֌ZUs\x]7Bag$Q{^: L<\= Ul ŷH|=aȂ#&4c]C0=\zi՞N~WEk||gX?1C[ E GI?+IvF)nX.˶*3sqk&cl+ |韟 6|>3Wt(5:aB_7b<$} o? ;OJZp#.Ki~ɼ?idդ!oS̲}ĮyH _42DD$x^&k#Aݥ/x,j- :8MN,vQ/w'z>b~}sOL>cWܘυ,68~OA=8>g>B=0~Rd+GȂ;;w9f!3iolm@١LjDpF !0Lnjx!W=JΜg<\yzg|AR) cA:hrPvC\7I[ rq߶i5 t744q,}8,VR"pߕ N#8?E&炴Qb ! qGg L%'4!'A.H{I$9EHe)(I]浊oJUB{$@ iD`cgKTnUgLnB\;_rc7PBW7&7e&\ 'yt\:ЁpLc;1ݟ^øj1F~}I/`!8$Ռl@4,}xd&nj8j,ڒ (`]Rfk dLL٠\tD:r>7JMy0a G=(|uUUTK86?TG|"#ֺYP5M:yb#r]N;9e7h|D^C`xb)<\rpGS^@Dzo}uwz ; Q ڕ?r%ܧISwkWsŲRTbj\Rcx͔}9({JєrrCs7E?wۺeF5S3ݬdZ& D/kA 3C;$ GRP<{JS  D P=F|zO臕C _㈼:XV&V"!yϲli ShoÕ(#R D}~iʗ99e =H ^⁉sCM܋?6mio"teF g+ s cmCm!f~FuԲ5G6D6â i4ہ9G(t. e&!#l6mѓ ?yr2, !>vV~gk',2Les@Ek%c y8D<}&KI7`m6mŇU>nq30gܴ~ɋ:/dŪsU6-ҏj'>OyA!= v{ ?,9rmZ*9&%$ !y(DA* Sꈥdvn|gT wq,zO{<iIƪn}lu"3` X)+!ӻg[!N&%8-jwY=:$TkF t3"!f,c.$ArM.n Y7p1Fgk7a',oCnZsW΃2Twoo2K!:qn Mݹ|rO{!AAUdBFYśEv CU1lYEI׶}-fSc|?yҘ1:*,aWZթև)11 <^|0ּ:'j)Eܤ|#0m;d2Ӆt :Alk]5C. Yd"A_g#gY,C\Cn3&Mz.p8cẎ(ε;Q `8۞ /6@t@5GL'UK6FbɏfB1z\\fyaYO[Mߎ&CBd@$>U@P3dhiU˜fZ Xԉ35˫:Nە|O) tY\CndϾ2}Hޞӝ˱4v1$9g3j^j%Sʟ%ES|-}ײ/EYx3^ڨ,S |XWd^:n,T'M,5UZ Bŕr曪74R̢*GNvɐ&2.E}ôNja}cOdw܈,M 64&sJ6lhLcBli&FrxZ4]1[_Ҩj6LJo狥Z\ (P֐%G'nrv=pzWM,4ohGr&2(ueǚ25iKKNHߊ\ DJ &ff35+,uveǁc;h {>7S*Y:tud9«G& f+K rfnI\ƪm mݔCROxƍ7D-\?>^fܺ+9ҕ X8ENq#_*9Gv !CPb瞿m:cN"Q`*cW"T/|W Ӆ۝+/8! YBe >n4[g rQ+kL?Y(|j:0:iSpk &0t d3f d_Պ+t÷je!<^1)Ѽ<~~9c^!Xz\\!6͸k w/ ϐYT?=:WP/"D!(JR! FR&L|tV:}3}>V?=3i40uV~lz0IejB8a1 pdILyH'?Rvh_AKBLzgʋZOgD? [So`)l㚀 -ܠѻ$ b2oЫpKsi.\ćW~1tND9W7Ңys懛h I$0^ey?O+"R/fP"@B|s]HFŒ=ԅvO'cf[䄃'UvtVűE9Y'Rd*NNeX qMyV LbPTK=~Ldlp#!5_Ʌ>o߯||M7X>-uy>䐅'' \eI'.ިiEqhvTG  ` *( k l(3>py}y?G_|HtFC#ry2T{c>2U<7/|OK]zy>̽~N7g.Y#'ͯҝC |޷cx~MPg8oZX_NP_s:|/W߇؃Fh?~s'?<=}.bp?*0߳Y5Nr_ÏVϧe'9be-"vΎXbN琊WY*A! 1$}ʿOxZgh;|9t>!=-$IDL-0E v|4!ޫ* @3U| dm6`{~~AL{N&P!mIa@ CߜŇVHyROkV_~htGy~:k8m''_{Q33#!ـߨ7eIY װ3rBDN# *1V;ݿt6}C]ʛTR>®Zj JSTrm<<'_D9/WK{}jVމ A^}f?S}p x9z&_YW +Uzs9_٤rvxCzUV*sUVoMB?o=y:6g 'Jcvi d'CWVޏ*8oA.E; 3{O͜ʺM'UثU􊶫zzPM_|ۂs׀=1W]~#uuN&_?^ӽWRܩ *U*⇽T֏nzCWu80{@/PʫU]n p{I UWEb]!WU*~0'([U9NCM,xqY[Wc/w_ _WisfUF R>`3A2LL9.CCCG}aGpOTh~.^3v|s_L|/ÝW^ou«i>*ۡz)˓I\[se0s27r~0ۛ JR MAڼ A/@$0ZH~ѪvIU$bj 78Jon Ct_!W{TQUEUEBYY;CѪ Spz`A:wyuao?J>]  $N1d}!j0,"̜@zm\0W>l=9D7 Q ׊KbdO`#vSSuҫA#BI! H TPOvS*x0_qkcU~؂WUH|__8'T>@2n3~,]rȄ%9LɎTUҧ_fW?P\yx sqjUz\r/v!U^VY@n@aՓ&P>cܜAW; P8AIjV*piW hx*hԫPd[ )0FL$ s!?^!U]$U gd}(<'R0;lUbM*mUM$<ԨX* dԫWȂ<6>>؟#pLH'>l(}N 1#yc,9lb|)}]?nI /in333S/$U}O{@C{s0qW>_@ҋD@MA$YR 4Ƅ|ϩ]O8&![Ӱ9,U9LpU5OgAw œ?iWW|GWҼ&yE_ ds~ϴ?Խ?Ϝ1z3/2E0$Szr9z=CwzɕO U @k|o_!V2?=E\Y'#=[ǥW يT£Eh{UllP4~]n-h0*)BMC.1nŢoO*lU濂{!]G¢!H%Y 7[]*W UGρTLTM0 UUXOq58e$Lq$ɓ&L0d$ə&)C,f\hb%!U( ""\i5Яjx$?U`ɷ" c!1R'HӿR~vv6^@ͼdQ+4شg;(㞼z>E_rv|Ƈ(Ho8 ,!GQ+Ug+smbY{Qe*:l?O7S![4*_ Qz6JíWUW9iV\*yϡjr$g#~=M oZyD$ mkW㸞\sjB A$wRWaffOzT 3 "|trB2QF.B^v̕v.*fg)**Yǣ\wERHKܫݙ,|w {H}o>~r|ga?$z}pG7BҐǎ6Ѡ)c, Cxw(5 em&oQko*(RjhUVV  JD|T.A7,3#Q`#$?n@@EQ"N*2hP|[AW' ^C⯂rϵf>u]rp9_oa@*!phus鮮59Ig!,;D Vz^BpeW*ҮXx}aWSxUu@3"Jg2P p5E_""F)AR~D_'{ث̫tғeU{Uw*үV*Spn?_>*w]r Us_@#JjY1|UScWiVjUs7ժg¯p/v*QCثŏ0~W[?z"T)RJVT$!$cvvr :7(@櫹.sbv<򒌠H*9$`(bh(bHҬ6y6%\Vϯ)Xp3&\գ]_0~n ?>~ cX}D74_&ʇnj**~҃T;c`^^a`$BI"Vb ү 0* P: ~SN8U㾁`?,?dM ʏ䀍DG**gfEi9!g/ÑG*'[_=~- IGNr]2TUE&Q"'h~T}߫c{%9oE&mof\ ~O**rpUe{N/'*L̺(WQbux&{_x|\r^ß-OG?3\wЦD7om9n|dv|NOW{aWp1G|{![H|r*WU\*p*\`hw~V~ .,G?>7Cq84?w? x$/u pA}g.A&p%!C99fќp\~ݐn>A Cu˅PCk,@i5Z%@h7`n{ܥҖ֏oʱ`26rpA/d _{>cKm<cgoOşO/=?<=7?.<5"prtνh!^T?|=SV{~țV Aϝ& lØ?BMxC8=F%Yߙ픷k`'zC$#cR 5үA.?*LCg@Urv_GHakWBmboNƿݓ]j$ODU0Ϫ?C骑As& Yk!Q8V6&Ȝgiţ!?H #zPa( *]:|  y׊]葉{pA?sGG(P9"`$LB9"'R-݇AebL ,Gݶ!hL$E$DJpBAv,-eE(sJ=>Swӗ{C~{o.[yćSzR[K]O>,W{]ܻD93{ LzE#A7fufRD_Gr32hz\<3驂>D^}߰L \?p;HLJ(P"-GFs/o͟Ov U Uzzqk\]Oa|̥_j8US2L/;{K }Rqڤ?Xz2݈{ >Ʌ ?/QHffoR̿R2#}A4\#+U8M\isJ_X%!ڡ|@s4rCf8"y7 Z5g?bCXeE2^sP 6'OfҎbBkhȥԬ~Mb=cg,p(N'Q,,eBsc:*8pmC, HY~o,\BN.ܽ+F7PJtQ2–ʑh#8,ȵ2(u .JA;ߕѴS-ޣIX/6IJL_: 8jffhfvZ('3EXq., <8HI(o]/1˕pZO4'ۇ0dؐIXmr@7g"RJi3Q\t5EpqHBƝ Љ 9 ͽ!)N %l$=PQ$>D᥃F1h#˸6$%A$ IղnE0lՒ]D' lYKٱRD]Sޖ:dŎ }Ua;%I'BfBcܰJGuLDI軳"%|۱9:[r~'pWxfXboa%Uճq&zNʓabVf[r W&Ǩ3h2k#Bc" W; 3߳AEE'o=ֵÐ:Z52ܑBaa fo?h 'XO mk&*"#؞ =*,~2|wb92wu |eh㷷[w@Tæ:qzWC>5g;0PӚ0RKwl$lS `b=1ͪ%ߨHNA=s8˕17FA=y{s`͌A/͢N)DP@s0fշq2feyӭٔ󙒮+L+F,daZpM%KԲnR RԢKM{9Գx LhH=ɞp7b&B@v`aAv5fI,Zi 7e-f%1#5# D_!"yvmEi S`r9hre '+=<6b1E< $85AAP6!QwG)cR1fw9e99FU{9eՓ|TL#Bo :H )i/Ch0sX (a18kAxӭ`CQvk$$٘eݱiKFn4U|JTc'ء `z| )PRG 2۫vHLx/lNyOJ#!y9ɀ,0jм3b8ʣ0B ,|{5rMnntR:0L3i}P$5UGq^b @y'H$HckUSH믉O|W+6]}!QTy B$9:ne$w^a#89s3q =&R-Cf&v;mur(4;vu3w @i 6hf0?1iUEFM-! OӌY"ٴs Bn$ø=@( Ybk@ @1CA9XuUO% B:B ) '>},:a^~>0>qrzZSfX1eu9Ywρ̙ǒ3B_~ \$> 6\btwd['[KH'Wj(b`ٖ:Uk0c ;%!f"Itph HGl6a;3 (>>QgD#D8Ġ; ѡGuRO?#Аi$E I- D{|u]s% ҡV>TH(8G/tP@Ȑ]?d%!47#y)SCQ @ޝ-0C$p@bѭA7bcXw",ǓVRD_ii݌] zC+hJO4hMO)%}7EwNhfoB!jW% 9Tq$7K"]ٔĺaٵ\N-řlh[,LE36,G`b0) ,n 0dH9T280Aoۺ'E M"  kF ؛)Ʃ tE]2*)#@nW+_/6gHuyCudR b,`vw8$2C5pZVo[8+L6XQ{ijjeU,xO)^<9LZp*zyIJhb*YJ%`(`"˚EH-/Y mZU ߯l1eL=HRmYA`¤75)a;)CB"H P+HJ4̖Ag٤(M%ѭ.,PPh4z7iE z!=l8$TzLj| 2h/,9m-`j{|D'MzeMig`;N|y,`* G L v)Ģ⩸*Ca@1cIIԥ/s/oq_CrrQ(fgK33y8ċ&skZX2; !BC NteƋ):a8X1ZRFW»P3wSAETeuv8L,Lf(;$=Pʋ\:C&dDKgy<*h@ L xXI$ m2U$g72LYwx| `5 Oubn]i$r_%yG'fߥ~R\.:LZ.~tsFgG֛nֵi8C}w[Q-7VZaUF#G8+宺*S > No'cVOx<#G֟h^ bso~w>t̸k\?3L7t A_=xJŞi/8wiL1TV\\vxoE! )a<F5jLQأ3d~=2rƛa"毜; \e\nNoyxǥ炸_r?L<ΧQ9=c>ug>7M;*qb,FzLyW7>/։FjFeZ)bJ85ZBB1:J%L|x osvaJRs[RfеsH\H9cl_NhKZ9JYύ+9uIFFϿDZwnzY׷<٭mQy ,XGWqV:[6XB@3,5(C4ǰ72\sT)y*B&;`7 ֯z%3f+Ň?9$¹cqܜɴ^YCy){zW+؏m(B c !qna-{ě) nu>7>oyȐe8}B4C#,(u7o۴8sFhźSlIxS mJJ6h'C$_A s,|}a z;A%Ysg]c"eڢ0gQtz㙣\@Py.¾B@4 H~?+o5.;$?(HHDR4 Bz:C <%2}h`ã$VC2|/{U_C%yz]63-EhR(,Hpjg[ %v#1$&C8& FxULc1cDI*]yHF/xC8<.(jLK\:s+mFm̩i :woOFY*zc_BPf` (d9̞}(.̎Kq/XNx4d,@ЭR{UCüwAgp&`C`mT4}'\=# 0HIs$;`Cz PPP0Dɀ̋~JTf90/BEhkAd` 8 0ru`p@yDrEA,t{9A[ppi@."H4;I93i!6ΕQ (d$d10 _5;C]tEh k3ach ȹ$',h(2$2z]_cp h@ & 1PFe< <1o?+wsFwlu aA?ZP {RoY2 @!Xqx^"@= HoW CA=~'4O uLE o5Vh&&eT6n?_MÔY iX)gR pgp:C4Ru(tHVJ NUĞ<٤ki܁,xCN{FLx131?(Rb:_yt6h1d6d*!%VI8~d?&'GܷBG:(F]eF;Fת\^'o/9qc?G?oa)p^A2BGB0 9IUPUUM4O '.mURJ-Tlm+lQFlQLFئBC=o\y˖uTEpPͤ b{N0˦A:l$A҆Pu E4!!aw3D23yԇ$!Z|> M(jhQAV(e?Q~ +ClxRt~(P޳*2v9u"$Z@14_D"b0!EYG̛/ Ff(`,56eԭehRrGCU,8CNY| 0D<5Sn/}{E0s8hnE%RR'? s>B/NbO(\+<(t㊨E+$zփլ)`&07o.oOOSt+y~X1=!8nI@2q4imO `88_!ߙUUVj0qJUJUJUJUNo؇kUUVjl‡Rl;vRS aCiyD}/gp992B#|G{'">D-٨=<D9cl=H"D x>ԃQ_&Hqqurڝ@" ")6J&A͐$X`Û4E[==L({@NOUW:|G G*R)r "Q*,,4|*zK3Rť+P!hrM31d Obu{}$RՀUwʆ&Ͱ$ 1ݜHHg糝ьJ TNIw [=JP24dD8 y^ i B2 E /P @)P"=tuǯAGpwR!ĉBD=pyllOģtKOs`("i pP Nw!YWL94w649;J.fL=x {%N{nNS{WVΝ3GL]!aA)N!R<)Dv P ƙ䉀9--4 0N%rH)yP|%ouӷ dJ$&D .aBY?ۛNcryOOQTQ>u 2R:oOÇ>NtZ}I-C旫 }|‡(`f\ !`$!Pd>ub Xe/? w5E7:|Y&Z02 P- |\ɓqHڂ`J Eȩ+!?kGX $X, k;q~p ܊@]c?ߨfQH^@'n:Ա 2c&`tSNaN~ͫĀ"#!( *d$MA# a fd(( :d"0gs ߗD(OރUP5DT 4R)ZWFF(s {uR Bh*_Q7ha~15yͧE7'" *&EE-eJzuȸuJ7E&c=E\ϴ7I9Na@U&5S|;BU@%Ue5;TVPeSCG2SzC;&DЭ,JL'  A@r G?eo_m/mlqkf]vqhqdV7"PftQcwy̫)ZAIgc}>_yPBTdRSӾ925  ͳcz1ܛGq2؆1NeN'rxiUUC, F0t(ٱ ^qU\%iְs aWx <.7L(H[ : +IT@@HRAs٦ ^ t=j(v%s7FJō 4"9LLa>Z`wסw.rYR 7z);|\TCWoql)恕/4ƙ90; vdӮnt44֑ҧDE2Ģb+y< }rz"tDYDi0A)OQ!P=$& &E5NF*"(Mؕ,x)P1QG6*H%K2c,fGs ‚;d:;3̬rˌI4X F5$,u6Ev. ``\r SK(f DŋR7#&4E;2 Wp#4NکSLo?6D6?<Ob>p;ƄHIX)ݻѺ) ~OdT9㴩 lu9hZ|Z~]fBDɩFl`|`m1놅ue4.LdZ.V`dq)t.]zA(GS :a&dٟ{x1&_O4{a鲂IՈMh SjO4l{aR(OC MI&fzsׇ_m12 $@$j$fK<4)E*IKIJC_}ϣ>sÒv=Z F!"@w$R >g>z.F@ti\XEhDho𕂆pN  L.޶Db@cMsE<֔d$UbUűjCJ1[ [2O?|D)"$jZb[~5UG8PkHbM1AW1li0Sf'I?_E@Mm HijBr4#UUA^\ l rU)O9MI@>#|2ĥ(.=/NsH\=V[d8›j0^9Y*6#JR)53Ǽ2ffSpOCs)R%4\g~G":!Ǡo%$R6$vvL*x}"/re x\ 0QFYIcA4Bh=UB!TxTHR@ (\N1&GN dyFbqB \`B*@C&E1/Ou?D)11y"Eby" 0;/A `o_v&&#sbc /C tdZ\u!Ls!4#> ѐ71`|gO=rD7CxI -gǠ|>mQ5?T d4 {2 2Udp fcga]\i:;͏ :SA5 )ƱZ|QlM[d3,6`f@0TXl6([fy 0 2bz(:uK!upC 3 Ҽ 2V7ŠGVEh-҉N Ę] I>.am!AQ>, @!H $dbA<V3O,y"9j1gVu1LLQQtSYai % 4X$33!n  .B%zI6B3>1#ɏK&seJS[DkEeRmVI -IKךJJ,؊'iHivZgw-pڜ2ɫ9ZmWx, f|~(JabO0ir."61 bI ڠ0Ozz~W%b@sI XњdwbQ)l6 r?D21>SCFFP(rqU‰FaHp#3HH$z()( (@ Lr(((((1!sDDĠR x?G5IJO <+ fXi , (gRڠO K !HOx@ĀN$L7QAe@yqZ` բA/0V"?N&VeQ'F{p˽g;JroSIޭ3i1l"Îߺ0rn42 Dl=o+W@%E_4g򏎺[ǜJ+ΨYBP/s!xؾnzn,BJ8xva$xf3ywB&#HD@Nz+$$xGM6:3bZslA9xFaf醛0LiؖJ4+ΐ, ܺ#k v-ТDE4jʡ20lFqRͬaͅEqLĶY(:ZtȨzjC%MPq9s˞Lp=S3@ꐕ80 B"%;u r2,-))77A0+ >]H` M7SFk !34(IFGش̺R1QD) I3Pk(94nG="u8BeYbű-H]:e0尩V 2IC5zt-aR)(Ӆj}~HwSLɝtcPDQE'Iݾ;YKfo]3$ ,ߧI]DQ$-B%*lk;RM]uD5jMso*_=q)T>RD!~p1 yD]U>b:(e0MdF-WlcbhcFܵVhGѼ1rQݹ3WX]4IN5$4kUV P2}ݲȇp}J*{a޻SP?2N 2,!c 1*EQEEgkOr[`Ӧ3a*^` 'e&%g*fD;o (SqÊ;#jc@8;4|2J{U[l5c4iF2Sd*0Th ъ@ 5)"IC -":qd2 \j ),+ dž.J$Y_ JX|@E*2/L H\?;y<̅p,-)^g Yg's!đf7!P`;=1aMxǢŝQ9@$Zvv ms ="}ӏ4T-lOW̓:ttfpqDѼQ!YN`-I%Dt\2DC2j7z&I? P߁1Sn`Ptէh52rYL oaB TEUUDW>}@|9m?>eRITgh;EH;' 2oe3JP(t?A_^2uiaEB owé=Ͻ핂o` "^ɚI@gש}YD~ 4&JANRlhDFP |Xa\du C^I2lAf)w&6 " *6#w\IAF;+ZxFlry@ 1ﲲbOC->f]DЈ`QUGs[C#|w46Qa᜽#4-qLʹ1-6|n!)vQgPFcq4y%e9`}FtТ0ML'x.!p#7v֖kZfj$P0}iMehwA {\%A%H܈(O^x #UU˩$dMD#bF!ʓ0I!?`31YO].Fi)u:*Pvӱ]l0! 1DlL@!tiJR*.8ZRqeAbFZ" C.tl_Or8@Vj 5jI 4\fE(%{jtO'Nb*rY4|$+{a]Jһ e 4?ֈl`P)Bhzʎ堚%{%ne6s*HLP6J3??+x90jD^ƒmE)!g;bY'TBL(I5c h Z"& s  D,"킂)_%9!.` W~`݇V * UUURRR6@\UUU%%%% |?|>gDJEhZBӔXko=$d`u4b`82~4k)|H5UUUm*T[J+$2U,TU 2O9ɇ)x=E4QEKj1XӰQE-QK=((@GfCӡˢ)'uq `S7P¾#੹_8 $SIC q͌tW< h>yP?و6<p;Z1N*id Pә ᙬn֤fý)mD%…c\2<8mza!c&N3y)RO@4jǺ>;(FH-IS>i˴RHt:DK3"d~r(4|)DMcӺ^/#Sh^,4; E.FEyNEď?H!r$V`Alc@EX*uxATv≰E&|_?,Bs|]]o~E,9XװW` dF8DoP`L3"93a8Nl'[uT{(7eH]K;C߈mub d:VҡFrRTḌHHs)FK\5w>4 '6)9N/sUGBf4r΄4yvdщ3#>lF,R@`}( Jʯm@l{TLEb""(-&mN'X!V*4!F6AD@˂""(8"(E0 #M*1MJ88{=73uBM-(m.xù_Ńw$_g8A(9uq2lGFA^:G?.+:#8@RDI H\SLmk㑼0F+ 3r(>;#=SoXm:$PJ.k4l,D9V3kuM:T$G:8()E{n6p;PJ~%=lg.Ex"iԥݱ)J7ڊR-u([k=y#HȺkA #y1 S+M*^G##2 t9h恆j*'Pz/1q6Hn;LNCaI"=tE®٤ZPPXh %bP钭[Yt>"rsx*1qBsbfʑ:Mҥ U3ZuUɜ=+!=k7u*xMγ=ufr)d~ϟ Qn(_qM-~ +kql"M̥?/=?!"$эg9 cy۵X[o%BB#׳; Z?y5;$s>*{Pg6.Q>^j @Sш[""3H+qsxtqPwuz[;j]r)bћϩߊcN>HlZKJk'YC׾MHvX*7,#03oiPӻU>):s0|mrDn(,<-ǃîxJR_YVcY3>#| 4)-w]I:RUqqڮ{59\]i$=5X%fɈ{ylru$SgƢK$Dy/5:Y\n axtµ#S+m`3Ć  korҥJN}wYϯ8C9/8ov/* |8{<#--eU՞HbxRgssHrם8X֤n{<)70}19~}\7kKS^ˍ)6O/*Ü]^g|u,;{͇<n"uZ *y :rn|c9{93DqV_DᒡALiK D_[pq]dBQLBY AЉ%KOpp:'A~ 1Žr?=|%*Ǘn:.pW[ύ/^c"wÍL{={I4y{}lW"nIA,C7PuG)q[2RFhJǀ_9k!JCGxQ8[,3^t/%97JŮw޽vg5&c+r{UWNjgWm]Voy9τiæS xs~o2210ᦆW/Db ~c0#ء `δgy`[NnQjqg]p~&fŌv5f`S*qy,|8‚DB!TJJ8\ۙ)88@2Gu;}S;ԭy:fj֬/</ m6m|~u\Z- 剠#pb*$'d-G1y; !Ybf?j%L#Ùo@8!% R1}6ߩw"BJB!Q WGْe=Ely?=xH r'LE9e%R-4@ci \\!CD4/Rc(ш1QiۘLB'?1Q P T@ -+ʄ^dDH7idKae- Lm:&!SM_3[g o9@s kys2,< d)eƛ̮$w 4YU*D NHPOٚ ?` K.X9J)sj Ȏ)bbӇ# wtzyf(S&p yǯm6+\nNu:qqbtO<0;HIBk2T]yIuQ9|Lf@w턑y3+x"zׅ(BW 7Ə5q5Y^8e=qo9Vc凫SspTҝ?X9[[R'4bִ{g15u bF5ϯNHșR D/#mŜjJs]:Kn}_~xHLej BОETD !86"#qXurױ~$]9^1Ia 8LB\wsxsr w?5{;׿%Uo^{ A珃ۨ S- !f9̡ev `Kڔw8#7m-&ȣ<NJ$9j`ίj/"oxrqS;E6q֯Bf92!c%+{mUχQJds݆t6`$dx  x"W?pPFP, ?iμCLwH| 4AAsۮJnR"dE (Px-2$\B&K$@DY !D!:zx3~VGt/ <9AI4ERkE-_Rhp"1)EAK1IU0) V &%$gi&L)AVSކ dth :{z@Am M6# D6Xi^D!{  b )a$J h!!(OU}iH*0 aH~TrPDCoT?1y%:+ސ̕kOwHuV)d֡eY05FeuP]6da8,4ܩb*ΕwG{pF0|3θNH=#G E$98m8aEvSjB@۳!$IWrZl?^)TA09^ߚ0s'|u0,+~KNb01uJuK8l%,ĠEv~=3/ϖ,w$:(H+ې0DOiDhZ 234$Q[~NoWsu$0`ȝ>>>W86Ϣe4&&2Q5C{Yd:0=?BHY3EΊIag-=seE8M;(@aj EG@I!{qʋ2%A(Q3:kK:6p?rυZdKQʏ%@h琴R'>G||L&tc94>K6qWs!۽aɋr1"NۯW(n8Jdb""bݛC:R;̥-JfGBY䎊#!.72iJ*oL bK߭w߇,4() Sh7 1w +X̞`>St9BQPDJ19>֛VL&k56:<&Σ1Cl,{z;0dJE.9:=HkC$`BC<σH$1>a쨶d+]RLwv .T:bsPh0,XTd qHռ%O_6 < P75D?᭟s.!I)lb(# Z!1EH}%2[=zOr璅"RQ02.`3rvRW#yg ytZȳk.F]SNL<wspq' ||(>Xt#$*3tNli)qV>\9!ƞ:Z%f l%cWL>Vl%9ݧPqsrJH[R|fozQUn&!wk[S7yNOuN8ZO7f"ήǗEjKJW* j%t^y6,pDMe,ȑhj%Bc#E@m`sUDn 9PJhh/Psw0hC:]9MbH Jʎi.7A6HT0ٗ " ɹ91bVs}>1aћ""H>\p꛽SC@叉񼧁H} /=T\w5A*<3KO D7Oo\')~'{(QP(`(ܙ'0ePƁI3Buoi_ZawJ%58gS;ã;&kN Yc@&d *cλXfy?b[ZJz/ioYNߗ3\yR|zW}L^ݮŘX5t{\]EG\u{R1|/nMĒw箫1l`bȻ9T+Yzⷎ/SW;-8 <-ak>_=\羷s屆tfa]yQ,mDHP!cGe/ޕ[̊*$N NN4²RDȁhU#',IXK3jbu()rUT0y1y@ܦd Y *)" t!@98O~)Z'(쩩LȉQ`͙ fPk$}jtJU_qAOW1(t֪!R z/omzgĶKē N,~~ZP*V3.~W+M&mҮiѤ:9( )&m?61p ",N} SC39ejᏟ`?A֨MAE*PQ 5TPECFTETDKRxdׯ~F2 {tAarC\cNU"J"SB?43 0Q $Q ePH% !BJ$IP`VR @hE%$JU" 2 ~*R"-3Mtpv4'8Sy50VYiF@ 4ĉ2'.HGÉIT=+N1=h=֊}O->C 7ۓ^٧L,y!hb fOd~p$YNO )&*h,FI>7Z+JHgc%hoE&ʱȿ#$GVɇ u'C& @;5:_ CfC^.b_9 G5C8g i3aEQ Bf\,a͈羸ҷ5m:,QK;c %c66xkE"A)AqThd:=x/QcrITZq1@s)qy-B/0 RR ʈvDBڼg盀3t$I""3]y?G(?q?XvJ5 K,Fhd/?65m5ˬv\XD۵=AD}!&RX.Q)H}"#ESSh XBf[)ԇ5)! Ίt~^v\wL^u^ sgĘ"O{xhhXy<-p5SH]uTTRUNJr?cRweB7.Htf~y<顰$ A#JDTx3&Ak ?Pr<ñhnDvg8eF̄}V^﨩PC Uɐ touH*=ӻgl&ZBwMa<Л7Cz<6)fx-=Fq%κߥcOLY-204[l;K'ꢉQȡx=RC^ 7Fwg,lPDbmaMUI>` LbS/G#V\!_`{Y/*Hec\gB<^ 3. :'Hfr?#&~&}>l5Uryv@^MSIpdk c`|507ube=/7wx釵S} 'f+`Rbt _]AW"p7Z!A V d#9@uGa(}OF1E "Lo2l0yC2q^A"dDQIϽyD`+)p& !4""6W!"(FE%(bmZW3 22}tUMgɖ:S(HCHPF4*ӆU䞾US7?"U")e{U0zpyg.f&Pf"E` =3p Tw0rPJ(@r%sP-E1G hn@4ˤ*\l8Np%RQr * _cpjZВlFȉMT/w؏$$Sif̐fM0,&U݊.\âĸ@N<{LJ9(^gYH[":\' P-0dOCuSOLM}=J}أ S8R!b"|37ږm=fM+*G#mjI`|ALOϸ| #d9ѓ䆐+wc;A6oE +{*Vsvg@2t| *TpJ3C}ID(S` |<4KoCB|B_]Ng {Pex,N+=w(r<9qĐn]U=b ˆGȏo@ Xp3 ! 7m/Ž nbw`kFCh`V6-qI =d*Y{_r3+*в&N<O]C{ Dc;T(Yd nduT<;wu ;x•=6εR%XcUU1E_9^AoSяcǗc v )IB'l6ƙ%qìwE~~͒'AmD$H1)Kĝ'Y%'Qg@82 Ⱦ1L=^]VƵ[ 6@5 }Q]Z*<aQJ1~ƷĥA! *vD@EQLjF 8xS 9c<6v#( dupXA! J1qpl>hJ!5%c QΐOko j_‹ wQy'VOQywl\=e<? R?oPF$PBbA(PGx^YOff}v;@AU(LT2?y/: 6Ͱ"cwXS$!ql$(]2}16`bd`|HpL  Yh)ǧ+7./Ç;` Tʉ)`)z> rz3sHQQ,\j uZm7VfAǔ۹gNϥ4Bbd2{a6L}OFpih< rǔ +u 9ǐm!! -Ar4r(mRDH:ɡ6$JH&viyt)b""zM 6R@-8Q0hsn!$T0ʌݺ!C@Bޅx)H&Y 2]憅Dih [O!O <7LPr2Iqw@F}HNbA`9iBa6T+VN ]b gv3YqZxi7-SԚ m+IcQX Q;57psɆL"A`w84=Rݶ;Kْd8Зu >hYo M$  0`4Дu)rA(&΋E:F4tbщZb"rA!xCP© Zq4@n1kg隡h=R$3[gPPڝB$*P8(Yʧu؉[QxpZlcLC)@`r[dg7c{}LEp8Beb8C"%:Lד HԤoe%q :}S g} 9籪-[0QG.fQˇ2`fFd=t$:)*ɍ7?vYL ?;b\6 *&VЁz#Y1M|P$lpآ(ІRDR|0bf}$ii ZA"O:_돑Gh<~zW wtE&^StU`L1Usiid'Q^CbDD"P-(AATABSԮ*j )V EH*A (!ܗAMQCJU ET)E#MJD)E @R T-H3 E%#@I%c`pОuv91pڟ8!EbΌYˆ_[~yةdDJ(JH(h?Lij|mq,P OivR T~<Y!eGU>p&7 ߼NJh) R.DŽO+As~@dRmC܉Cs5n>]C< C:>x/Tug̣y$DD1}x4iֈ[EI0‡y:LTUTDA*EPQSQD{&n%M-!鶱@d`S@HrL.|v7`=f8k4TF<`}*\z:VkWkܓpcI4rhct1|ٽb~N{Akj&P( (K=l_\@Xrh,3_06ԅ7zQ1?Oljm%Mu0btȳ2ǢL"K˂Ax[n3TLN-YԸU|@NcY Nqz&8w"<鼌C6cX")/C @i$Y]9e#MQ^7oC:auØ05 p:YBF=_Bm7sU_UR]TK H`v v&A|M\x 0ڻi7@!۲5lH$%JUZo\nuC} &53nt@=XM+HΩ)YOC$pds5J1߃#S^Gð-.Tr@0y4wf[ə*3Xvن)Il.(p`:xdQN^,tr+F),@V?'>6b)I|A]WgvaXM;JhJI>/JN焄*'K(, s0S!ڦl̸CC["0*&xR82QQL\ ( )1fnݰ 1aQq)s fYG- ɥuhwWHF6\Cwg 4smc v3(c-)EroT%F;fM#bma:MgMkl *)a6T!<KHQ"L 83$upJZ-ӏO5.,yWad8#!GXl?ls'~S{4n1dl?AyHCuadXCL"Q !<[{ȝq]b\Vp_U>ڠ*)#wie"riWcڣaѾ`ULYKHaFX TŒgHd{4> §DCT $* >3T@7ih`]QEKWfg㰥QD^G&@+D*s! PIqKl}1OVRt.ҤHP0H0 )%bbh%Lkb)q(a+$b)A$fP(zuG-$ AIAH I$BP(4(&`#ɃL:{)YAT*c Y;X h5)M.iiZnI6LPFu 2-g 08:y*)H8! BHb5R\v6I8A(];7^髳- cq;I; 8ZH>N! jWcDKW7?a4LBq"ty 퐃@.=Y 憹&X )C]]qI{MB;M~W&qX_PK2pq9LQ0fA@ wX.x_\e)R-c5co0y}?oŭ;7+R*ƽ2$q9yQ9~x1R%9km*g\UoMQ8+#0+7^a(fi$Ձv^B v `!)H(lwQ[3GNy*D8(ADR()C=>Ҫ{+2Ʉ}{|j!f`_Q1(dNIg³bMJ4N!koq0:$:\6Fʞ3M爁v;h;iÈXuQP>I!8Sɐ{)`', .QSfdNtc@ y$) YږӨe$>8v 9BH#RiibA=e:l ps&6?8hԡhnWXS(HQlsJRQ4ѝACnUvac77&N3&_-$MgӅ{N[ՂD]ng -LE "ݧ -ƒm*Zf3"35ފ a$1]g0ԃPQʊY|]zP'@Tc#ͰXtq>'Ca3~GHxXGA*((i)&BBiD(RZ&Q""&"Jd%bh hJ&*" P&hfb)Z(hXR`&& h,HRMLE"* iOj?3r5 92r( oBJp$H^2+2bwE}b$Ox&bRET>f ((")Rb"JT*$"JD )*j* )~!DCBPU$E,BP4QpPrThiR Trs?D72)+F %- PNJTBq"A! CHJ5IH4PD PRҍ(Д~SĴPХ`$4͔&A7O<ሐHȲG|/ij/Z we6̤sX3 +w'j3%[ɘ@OC_daPa" E.cț4\eOs 4DDdd*e\ƺ^a|0 K OIX!di9lD2rɏ<g&@Ü]8`{$A7۪߀`tlPQ@OB C 4(Ϡ|Rs#mkF䖕J)Tqmn2<0_7fs|WћFU[n t~8:]cg(B~8>`l`4~ܬXA'ZgvqatSRB a> DCLTdyM"Jp#(BR R(!~O)+;Tf;D [A AH#Brf#ox~V$iBDD"iS_6!dVV|1^%ߣ3!bff>`)O<>uqID!LOWsSD &7 /!#?K"RÐPe D,Eդ9"Sr^P?ձM\o$ bItQKIOj~'ѓǁJ'8n,JB 6lH#XÚ`-"}CCn:z D2DrAĄTIPT$AAD!M* o~޽=m}V6iJfV&Bfl vPC"4!Bw;pgԄ'#1{E0*dDDn(?rK<]'zr&Z]_GYOQٔ( DS( 0yeœ, "tj7 ˔z; |e#enyJCIgt?l,03P 7wlpN2a"%ʍsau(L(<34ňq\C% ?f\8FҘ1:^DѤ "-醼\!@4 μp9BD iI7~1P* )H>KX"!&%@ 8=9CpH)h9qGnAyRD>hJ) Apa3NFX'h10! Ћ쁈׷+d2nT([,ݏ C VG15p(<'mLiRi=dSVFٰ ȄLl~)TJ E)  tjB!4 `n&'vFmb zEڜw/t:NO 0;M6/9˦tËGQI!@P68VZXGjJLBͲ"Π+8{p$;%06@)auB\baD ltM؊''̑F3G߰go\'! 43(_BtTb"(c6^{-sLpP*u@Ĭ1E8B(=*Ò9' ,*Wgȶ5- %/w<)Ϋg#lj$I(NX(ir4SIfPx4KGCg`+XYRJm, +$l뙐clgUXfni21PF&#{p|\,7LY)hD$MdT33"pN("X^sx0a)[O&|H)0F-Mː:kHEQ6wL/'#pEA__$Cuw)=1QQ @n0=zC,(h1Eɉ77f!?&)A,5t6< |PJ@GAQ!P"1d9m&L,< < yi3)2g9uf:6˃fGb$Q+c$,az'ie![dIJ#0`, :pT9*@"m΄ae#3IjWm% EjG:kk6e$'RbgICi*hꊊ[FwZ)M @Ub$XĨPa*ًtwiuFpx$ȹo1P. !5`rJ E$b!p}=)&M/4. p CtNOQkńYʪw"8vi{*^)P[ETX lau{}W&'Cźȡ `QvM^22Y# tC@Sr @?.:`{ިWBP:+N%:"WBy !q3a/4Jb Si C3<S i.!dv{wuաfS8QՊHʨ,[o2[fc I/yc}z?FC~)[!FJC#$}?CH-RD:@xs#.fɖw"&uô[= eD4><"=4ڹݽ&L; ߱; ~8L|M(RLûj$Lx2΄5(G܆g)q2,%8s?]#)r4@d M,ތL[ɇ,)Bu4$l?}TAB ̙ 0992Hɼe`d6waj#+@Z$~׎U?ϡZ'Rd (ce$r 2;E~ f2rhJBi eAڹk4"˝X8 fO iZ` ;ꖃ-3֞ppX2`?ͷ`UU5DDPj+KIUUUUUUMUUUUUUUUU1A|uUUUUUUUUUUUUUUPe*$"-4P!$RL3 R4EUUUUQSB452EB4*PR1 JADPPE TJQ5E*QDTDБ B D$IfQ4P*?;$Qi(FjG5Ȃ?T*UB'' $B@.9)`B/:Y@Q( AQCTO9bh9{~C$Q/В" ?~Hq"zf!^F>)g˛˴tha[Qi#d_C.ݩ+Zڊ-OahANQwMd veg`wCL;s8e+*br>zq ]&MNEh*InQ=Dr>yOpNh,O$8Cs7O~%: F(ljz;3&{Fq NWU_ZE|ѭvX:בjB2Bs!ϒSV'OzKШ ֲg2)4#<2:+7j 4"{? T(IMCq(nc3M AI&(0>&Hdtu=  A1JfcJr*̰d"5J(9"`R{lDE1O?*(IJ(v1 >Cr"C,$:0TU}H(LLƧ=[he緵?4|6U)0%y_.cF1hZEM9X1ַUpUnq. ̣Mޢ)#纔.sF²I5IT1qYG~$1 _O3 { RtP}+%:T %$}aEDUn$u Y݋Ql3M`)NvI2) u&ggpM82IF\X%+-Jy*$ a09߭I3B3ӦA EvIAřt!ӅL)RBҜetyyo1&S2H:Qn]I36:C8a7#b2n^3'p;ҬNq`!yx!0-ti3;l-n,K@2[$W&3nYy@r8E`ÁDӘ]}..;ǯ z!% `(B N]A@ 2y rQNH[F5$G49X V `R [!ul̙\N.^a4wY6]CHQ&”M:` , %$502Ђ8Uu֘bYae0(b w\Y[&! ]WRl3m3 i mXD TX--K$T1ifR\=!RU¦I]dpb"&B:sxBAtM :L e%6T$&\xe xCe. r^ 9pq˜,rKfBjad2C:L4c2DXV4~ޚ G`{ uH%C.6k2qEEhmdHH< =uCro^1{#Ž\D ae&!?+։=w|0A&Rɤ7J TM80#2AP T!HC$HWEO NZ+`)ˍ^JԇY\CH<$X("u|9hlT4JtGngNw0D.)BOt'!SR'8Lv?.jjBҝY&ZR]Ucj(o/~_{\ä {v$$ATDb5L( 1H|kOQ а]A11ˤwݩA7}=q0vFT!0t6`̜2^-E.A ˮ% DWx20I'*.2ܦ*yz*!G +U24*aơMqJ6 iY h&B¸d\(%8  IEU5C5p81Gt^mPm.N vRGv" AT#Q7}AG':Pɳ0q68pqU"~_wD CqUa'SL~1F<9GQR 4CŹdou-w&0/YՂ,WO:kYyu("DHN^4.T&}Xcr&uL$P1F 2 Y* &=(@ U22FYܞ8@$zQNftN,yͻQi@ C3s\ fs&<`@chkpᨐK K642ȡ ؋ xbŪKD{nތlRC(ڂ[L|y;^bqPzɦKFXuBO@6-P &<y81)h` jMšTPA 21ܡ9ZQ^&܎|\f CDC}!hv%g#uNv4xYG *:\BTp󞎈:/e.p@@@ j^^TVnaqܘiT y ,6$a -"AKpe STPzB>T7_뢋HfJ0Ț )Q48g.q̚Aލkݼvh,0H3V;3:9U7 y0J^b ~ٜ8lwF2xAĢQAy:`#m&:֌ CXde((r(qc<֦ @G܊;}5G qhd=qIJ<2πp*YAb뉔@&bf>4dN sfLDB,ydbdg^/ĽR(WPhLf=4'c_3J?q(ԹS35nI e *v8BVťgnf\nviufn{uRQ1PǽX]K- ӎK|8`i wFͧLjDu:H-G=U9zf܀k&neXL&%) naہkds trSAcδ1ݔjAɦ SF Hٻk%w A)y LXZ&$^ɜ% R历d"mV4bHHfLaBu#/Z84puͺI :lDNxY@8WsC59I ˖D70fMLl3qiiJesMZ\4<n: D fҫ`+2Lq, LPx 18"¦FIa0ֻ.n wa閆ǫÉ˭(Ì: 6dLRFڐ XXJxMqis"]dR D>;캀kW!"!"9 .|jG.M8Ŝf+@)F m<2LruN[2;waFr8Byٞ^G׃sӁrHY *R43LHĎM$,jHvI1E ,&iųvb&8aSzF|~bOEd|C [B1?G0pxd%ɛԵ 8LN3\Ds&-W /yw 6 {Xbj\6M=V݇!>BfP{bȬ}"dS6DW "rU)iQ @G惴bpyr)I&8|5)p GvGC+u$ Rxa:9h0qÔӨ`H] E!<ӇΝc49SWS:[Q΋8@LF$ t(l)Y%Ѩ33ot3:Ş=P4ghjM'j&Tr\(L:d!HkD <`*;(6")(]=+"HfDg\DDSruoiUs+iTC6k NQ!hHF"0|[uzW҆ق{H)`̥iTp X1!?s Rӓ~U_o=vR9"'<Ӣڎ`v`$212e Gp{38*EZ] `l X@8đpGj{RFTJ gpq"?lB'#Oed@)0F1r$3x'Cj$--00B 4)"u4?H PJ" ǁA.=bǎêh!Fv[D3EIEAWV3VbB.Dj j>5!Pn[D ]0ceV8uIG& utb  2PF8hfL1L9Dt#QIAT1]qZ&4!96܌C˜sJj:glPirS'4Am. h@Q";š J&2Ab\d\5!R`ʃS3ȑ22:hFat RiIr9s*E0Nj+.8 OqivJ᥌2ib2 h)t0ĘlXeiccU4by0򠣕hZ9q^;q̹ND: HB0v 6jfmhmrfLɹK[.% $ȅQ,R1!b!'gu˪`P4NF{ &|9uA$ qy,H_F0#K@`+26M&.IOuҕ3}2(?8&!)hRe$HDM05ZұPS!ܧW ;Aͩ &j"4mϔ&RJX:>Xgx2 IyZ8FN521\>}==>e 9,(@ǟ hb ar6-a,~gs"J\s41sa(d R( , wYL0\X7{8ws{cC2'Hʣƽ6SYlf^[ڢ^N0UU:ISÕjAth~M^Y} i(Yh*&]*@ 0A K@),-*4 ""NS A $PKPDF# Y&" 4:FB @ T"(Q0"6W9<ʭ) t0 a,-TF!.pL>tGm Tő (R\ĊU )I@y0#S!-E]DG?iJ34(H(1]L%Ib ' PȇhGոHr4nJt4TRZh/)jJ tp<=SD$B jn5CtFȿF- Ǡ6$a DQ6Mȟ:x)l(խZ?Xx=)QglɟߐVc6tV>/vUZ*eQ|*=ׄ DgF qDDCmX|r#L@e4Cɪ k|~oryQZ;=ɣ"C!8ē[J?[=)Ϫaj `NRE0TriL]@ hCCx4".HSvzl=8iИzf%,VĈ:m܂{' P=U_0J֐t-"%(@W5`uDApd"$#(q,nZ|U!hC"Ue2 _zz.%H z)+^\}ߓ|*$3f8Hџ0~{tI{fX P6H`b@ppTAZ"2墨f4#\!09 D x!|:yသj@l!'(P%"ǃĴ&T Œ23&&"N!("HP B! . zA8iD*$b4C[ aIt~@i Ͱ$Q a6@`̀4##VF4/o"xmĤ@{c}IZX"FE$P ` '";2 ci:FNy"]ŢdA`>!Uz2no!zHqJiT4@ @P)@P~ T0'G^@o00^yij1_/eXKQ?u [>?dajh]qW8Ά+Q ҩ rAMISXct q(K龜HqW֘.R:I§DBeYE0QNLS%C:a|.k$یgNxU7 &&FYpP1t6ʻJT&8M8"X nBP&pWCX .TSTDAWKӍH |d*+O* ࿑z ORHa0ɟ]Vӻ!Z&ȃZ\8^6VY\‘Ef uxIBL%U(^n0ֈ,xq ~V2Y0_ "NMPL5㞙FD%EkAݎg,tCGc zPJ(l48琱R$ ic8u#ŞA @ЀLqYPRdS8(Vft8D-$"&L=MXuxsiZF֏x$ f&} D(o$Tʐ]f['M̼@ 1 c02H1/Cᚥ" rva]23: A>t7sj%,GFk(4|8{MzUhҞ*}~!sLoDFw56S}(I^FS]40(G li"}cҪBEDjTriVd=*'TCq Ɉ*"A%&bJ[at L",PF2I<@<H3PSGG23E0C B{5G"96SL7x091 1HzBR:Kv HĀ%qQ!O}`↩jZh ؉sD==?^C5MRD)1 IAF (H! "1J!QSRĄ\QL% R G`o~h*I@($8U:c[Ns8dd֋')"!4ۆUJ6FSQ;]79aBEA+I <|ovǨ?|9GTOު<PZ!4HҊ @11QCI@LBL*AKH*`hD>SWB~%!$"<8˃Ɩ/APyĐ*@"0>Ex7ڔ"j+i -O$!D㓟<#a&K ު95C}Ud0D Rcڢ#>!_0*Cm"L0@ӎE=Pʰ}_o6G&* xB8`T1cqiJm9݋&1h2VB𳁂F3i 2.Rbi1u]f6Cb캺ITCTerCTӀs#0VDQNtbL0O׆aF$Qg92k+[ow.p.~y]%g|2sV1)i BnH!۲X'"8>H<3 tF@f<YuC6̇ˬ<ױZP'gis/Fz/CD?> Dy'pJfPʕ@dx /CcT+|ކܰ)~Cy&`y)rlw\N 2 /t ¨R1~@hMu?*&@{$}wkb  N єg7D )(3J$"&0A0FPz20SK1QCADO0M'8laV L1Iɽӳ-|'IS|^ ADh2sn_p2{d D&RVQ&Ou2LB҉ X hG@Gu*uplМXޓB9ʤhL >DIs&9)b~o!:@=a xbIan_i}ë %L@y'I$CM*C,TX"I'*|ZPYsc'rI4Ei(U:*J3% XҀvw&(ވ(#kl4GEKԏuO_}{kBIzAp2βYiRM902_^)a( }=FxL^M5TPaYk4!`~ 0,ȕp4,/m<{ck~ xo/l)񘦔܉>\d{:T ?IoC5FPEvܝ5$6F-Z*aEB>IHKB!ZI`{"qL6ˠ?')`3wr`U0M'4VPMPҕ>bAu$ B4VPs2VDXt=O뉜[ Y9x慐ЍOiWCqąF2B X162+ ?d ApxZ0 Z&0pĭs\ϥvr쬧/O4H=la(xãxH6b>Hgg9` Ԇ|s_;=xrE)|@HyIU8*wM^o ;1'!sW+8(_f+ߵ p `ʌUhp\QnxGMojj9jœsUbX윤c3fMY<}Gb$GMy}HuuqJ}םGD,5Sys"T6bc=^~0R+#_pz=nHJ"91#k)ڬnpJ[nn"f*cBH.!.p5`?ݛ^. }} U\=]z!.!'>h89LQcm ˁ̋˷ȃHq8B]RmzE_6@F D"@ Z3X@F6=PY!gH1ޭHaPyKv0HCS3V|pxLP# (wb~n1-ꅍl&8QIDxȶxO9fgCCvWwɂP{*`̈́w0GtATx >0;?xWdZ6WH~ rSIKD!UL Dג};(l`}L|e~Q˯cw#*cRk`ϧydO!XR!Ss1re\˜] k ĝN`{b/WGbHƒ?(T@$(s= Ȧ ѶC JA0-% e&%dZ @nR;82)"@W>!S\D`E \!׷=\5=I$$.*/03sl"s1EQ qS(E'M(DES8>\)'yaZUDQDXϱrilUwSUE5JA+ VLi@,Vp Qyq+N,f |_& $a;]#RE"~LD'3hx'T0D#~Tٷ ;j`hp`MGݯܭՀe H `"9O⧞/_I~ab"jG,V`1?KFkbbǁ(_r^R;P;O⼀ߢmV)Υ78N`G\n2z\4)usPGO6,~|u.yᦼ{˥ӶT {4dc""Bzu  %պu0wi#!`aOiJvVCN,6*CtI1h3wbteG664.04 *EaCD%JJ|0N6Hඵd*Hqڶq&I%͛mUwī=Cf/R) l&ߔI?&=/}te&7fop?@ e*Wrp$4HM W<,}Dե7GAz_iCa#ӊ3UWOG]z'_)ƂG 8D{Ni%(uM4˒8v8DmGѦX[o7 dZP31W<.H"F9EGYM4w**i +>-)-8:(ʋH^`|Xd82n$,&rc4LF; 23 S- >Y[vN!d*C-kuUUᚬ" f}ǹ$ID**"*6f:G?N,@ N cS5%@!G%':`;fuAR3$pNx5:=6D>b#r!("JdD>=H)DO5E=|:s|ٳnӻdPEJfQn-vMwهWV &1P;g:Y!9$CiRi.H#{4AwN**l% ݇wͦZRٹ7 M: iZ* `7hNa;ض@<"RؠCCB}Yѳ\bH5ff9]`HAQP?s'myȊ%s ށ ':%lr%䌊WAɑJFRh r]Qԉ2Ȫ^@q2-g^O!44گ EF23)V]gMЪ*#>To^im:}<< J*VTt*ƒO:T8E/P@(*pR2qKgw8j[3њ5vb=\ARFe#FXNx$3]kY7" vHA92;)M3 D-f8N # ؗPƕt㦈kvcJP07Ephj 3k/Rfezrh1 tE6J ǙbGB;aRi*j((|ë`4W1A&ueb+p)[-x‘jUZ/azZԔ0="ē aQ# r܆Zij_m9dZl="t*m& $i^Zj[8Q!RQt+b5Hb%74)a_* MZHJ!mR`8$4EMpǤ"ʻ )Es.df#i%qӞNZTb"RE"(h' 38pE")-b(9hrʫ3yHڤڽnҹD_i8=DU\  14Lmђ $EU23 WzC4UUVLQUUUUUUUUUUUUUUUUUUUUUUUAL(*j.׈5l0A1=nb n`&&jI+řRaj V* iUL%trR"(8k 3""JQ0%[6h)8Y* V,D᭒AUMfJ1΢J5Ø8)p (͹鉸DM a<0 O?.|(QKbF"faL:g6KٜٸPQuDQ1b &4>+޶A :xːqlMwISr-3c!g>q8t^|DE(1DQ P뫌S(oscPaXv7D󻴱&7n6k|#YLK 4чsL7#/Κ419l&X39 B_B% ,nڅ^]f37)S.d&a(˰GR4hBfn:"r(RҬZ*RIÆĶJ:Jvs USL%G͡whWB4 8, tX_Ē]?D3y`zez-e*o.FL}'{po=)@T9pGf O޼H *C zG?)QnPwSd(ɂ:)! T5{:t')`!:t* ѩoib*X.)Ǫ{xS2u*ݏ(ePIg T&:! ,`u!6P%r˅BR`(ɑQ״hvn>r[9ǣ\YTfCAB  !2R1! CmfJg0"yҜ4QƪqY$n4PQbX@ ۮ6j N)! DD_a h0bvhPjJOx9kNE̛A V8RAhw zHh1Nv41'& ׮23['B}||~}6mOy|P: j.7Q˔ ȥSp?i䁺zuQՁ,6@{@|+=ЊҐC K)JAJiX̐h2ʗŠSYS9l/u?ǩx& fS!bȇ pg8L0BzLQ m#[ ..X%UbjZ-0qsP65mˠX Rr7 .fd+ fcf"!#,fiCIX WᎮ߇Aqf [O>h}&3р!ӿ_2(ȩp($P?ϤT =S:2A`t! y"dQ#"mo]bͷïgW~MX!|7zspéiShH:mݿ'?A TL1 II!ąlmabb0jjB?21"xy }X'!8ąBP1A,مbqɑnڕP?6MZ/V4\bz:cuH% NUu 1eMY 4 4ɤ>rMg݅nڗ AGTpI>v}uJPxqfdFR P&BeY (Cq' PBIV‚|<{UWa '5oR BDHF$P$E Q"E UpbA?`^2= d3.B2r/U L@$0$PD@D3 ʕ,@P|5?zqMzyzDTԴ| Ufb}PAL9XjTE@IFР0; x8 apB\2}GY!UaUDT;b=f+N@u @3`0M:JC|1]s)> I=d g|yTX dJR9q9C'a'[) %6ݴY~G<9 )3sB!T2 $ʦT{n䒔34Aa<*T(U@铄lQWddC* /bWf'NŠB**EAɈiKmJ +.b,E-Qb]fJ(3]<~~GDzA4!րrQi c#Bt* Mᘖ)RS8m Jc!!8E#$P.{Ot;ཾ$8,m,J2n&?g~ G͚1 &5TCQc ]MnFZYCWQ8Rقˎ )J#[S`"{%.rgqˠd(0Chgph?#"#BDQABTQRPN$< d G3$/~T?U|e!aZ[ i>wrysU͙ ~b=.uW(c +Pi7r'\ o>xݟbGɋY`B'TNW9KY̜1 ΐᳮ|U"cqg)(SFd(W1Alߤ01w'sO;HqOr})H]-ur8XOW> 1'>ipI.7k,L>Tw8(*1W.m|7n<_!ܪM,5%i^#ڢ k щ߿0=:}㐬'-+.NP=Mm]OkLL (lTtw EjX{8eL%cD׎Jt L~/qzEo' RHE7mߝ^`nD`\'ƛc)6K3톑#b lXPdR1 ~!#J۹C"u8^o;/eŏ0+DDEhK{ u8κF.1?XfŕQ)+^{c/Κyrj'AYNJ߶gX8 LėhӘ <_'z!fR\MK> , x\qhJf= >X囓 8/['\3O<+[CȻ5汭l7x3wBK-X}AK4Z[1sK3>N_IĚڶ@s^7蛧D5/VQMg5OKI?׼ުnZt BDDz\ɅRr}oD$oMhj܊>-t#"4#/f{V"g5b1>k#bV'x_)C SԄq]xX|E_}gcƼ,ɞpeF SVpni8;%%.}nv,a /qMFqI'̩ `lܸ-3vч G1ɕiK''~]+y:;5лֲŬ=V%lQJ*3=6yu4yr8VR\)JV Wy̺:)'hJ&UWi%cS}7:,C!bwT$X{,,(dYER[hqELY/WKkGz4rY$biyS9s]N֡DR#|;ǥc>څW7i BDn{nn< 0efٙ78:KNGg<]Dipp.< AZ a6MEyw&PZdႇ2 lM:1)(< /v >p_CI-٢%>&%ibT61DQK!L Tb3,E @.͕f JH'T]󴝲\ǴFE`3Ak* 42#ٗ"QnT*u6 1xl1KhBi HaЬ򈬘  1(<DLJbަ1U~E\DLQtW'6z] u!YY@&os39G=3vuo} vWwvWw1>Ys걫V$3w$i:).&eUy5皒^;V-O&GMN 8&N$\jzu,ɺz2o7U^˵zÝKnr][Z{lGB,A's:2SD|+zpdxG͕ ~&D$G**"rӅY7%7E/7,U!LŻcpmCQ-aMGڲxB4bVb0O[;q&#YZͭ3I3[ 2zA䥝aq'R~"9+A7fluH/Ff۸["+ 8N<\`h<]*"%C偅Ofv`ƬHt@el?Q~Zv§洠ꌤDJ""I̤Z1G˙*3.[Vєq(1t/ꐰM 5Jijp^s,Sje8QpDހ qmW'Y'*2+aHL=AIJw"0 7 1ww.ɼFbJ1aZ oVCN80(Sf RT3MbJI)I&iWI54P3~-(? Rٔ`@"*0H?eJYө<}̢y 4BkE Qafb"Z(ɣIiňmRnjf8gYl;I=BXh"1SYJU=HxH4:>[yf&d2vu25sn0 g)bΪr<ф>߄|]hY=)i27d{Ot0?lklQxB^0H~1 QQh6?=wL? x|k%M7kr^ A)4AM7ƩQ\QZPk!O/YW{TάkskbiG@fNOAb@ QNT6dsG`(1CgL?ʟcF5샰۩QMhEueҩ &'n|'а/wֆX7S tDR[Me)?V<^Mmǫ#{OA|ae"H版q[gƁ ġ@ 2H@$@+Ԁ`)QS|>'_EWF:̝SMEߢ* ә@XfH>iNX{⪪ Z#3Ϲ 3GYQ|wj0د 'e0vpbc\BC쐆"~܉{9.abBj?3*>%OSG4G1?@4<-c5&S8\'*(WҁɤLpלkri!N4H/yuy0DƔ`bQHaI ;Rյ5% Ym"{_iax(lи[Ya"H3L~\}m0Bp^߹`f*[lkm:BnaLp@%Ұw) xLNϊb!gx}{2ͦ4dnEQJa6k53/\e@JJr:15i3(T{0K~g}Dyti nK!azAڈcL2Q1"&,($LS:cᢠ (iM$#}NP!Gwr'/GvUF4 !.i3<]X9$TH6Vqp+(}5Ýgr(TDxGLDQQLZHomn'* x9v=D;gK$lo~Vk(r0ܐRmO݇Q?ُ//YЄ,)+,Hf 6<3bPHXѾdf>l@t?1IQjٰ/(d>gH,M?2:"(me<<ʻʇ;yj`~{3g [#8VڬVk Hs {aoJZ2AP]@} AT?&!;"cln|;&CHS9P݈bI:_cE`އ|`i1TL@J%@}Sπρ<s/iMȓ>fpo'+VZ Z8:vDlgim>TٛJRܑKm밗EWP eVvZ ,1k/[Fr89z/0%itNhLZXӉ(A8KJ,6&9;sp8F#j*NqVhh) gV q7X$(q4scYdYi 4npeJFg0: Lzɓl aG0AN\IJHhJi 4rLHnp:'s/p T.؆Ih‘FamXcYMWKRpˋҶEQX) TH.LA3ҥ3 ^̦HA)ԩͱy"a '# I3' )%9kx`20` PH\oxB w7̢i5#҈QԃHT$ (Y9h{|U#b ;OS<2%JcY[^@hB Q(A @+C"zZwA @Dd0{!fCiޮ޾$LE_b:/QCZ{SZ 9EE% Eq>G.ӱt>B;0Hzx\Dne_)ϻS߀ł I1ps8u'ޙ q2(瘣1Yߊ݀GeBAOޟ'{1&,R'ߖ2=5pLKBnZ+m'ysK8H# K_-rͶ nOOz a >pJFD?G}/` b(/blkG>ȟ!ʡJ,{y 93EmT{sh#[lze*SZ∗ӕSHvyO ̍GCHnNYV pn `O@N!d;M/cZc2DuSߎ"N .#P1P"S$IsC2ui3 :CJW~<ܫZP_ ilM>{\~ϿL;O!WBkQTAO+)i?j1w5U^ %aP)姸yݝU%R(_ #NNE10m 8gqr;{"e8|.j mLdZiP4Ԑ+tQ'a#fc%cbJz h&C'\*PL-lY&6roo{#*qI|icSMMBDHᆲ,D?ḋKuVkSu0EL^0?cyȱ#-%㚙¾coəkjE!jbxM!CeDc2Z[4z HHxwRelWOvܿNHˢGQ ȋ@XvJf8aЛV,)4Zd P~aUf& ("!tNv8#TA 7w 0}ߦM۾/t#{I(=^egRu {ĪIc^"]OQ YV,M;|xM/˔Mjj) 0 JbXWkWA;4{R7.; )8Χ^> !4˗*y+Đ**!q e堬>L R-p{DD(qɯ&lFuNWWC7X@LXSNǡ53/㏍@zh !s8c+ey]X@e<1ƅrý0ˠN qgi,@̜u\\ㅵ x#]yi(y*a/ =3+Æ.pY <4!AVn)&z,Dg>TL1'|-*޳5Iw=/޴7xyn-i"uq<-HI_Y^8]5\l\h”ogZsAbR:BBq*|nL}|D*Q}\Μc9n?9lLy+00 1R)i˙DJQ1.i,(9ֵCxu;Zh3. QJTQI bɉ,SaVsvv t(nN$| SZ̘рWsp &'@z H:a$(\{,6jtn Ƭ,k="ѬhѓsXg<h0BYvV[urhdqmq|_f) y'QǍ`9)^o\1P\P#P@Vg&VD%{wn1۩Lu7RRҔpZD8XŸHmfzGybM9%W8S,uDw qUP,ZDjp2'V'5 dg[KU"Mbpr;u5"DJ wTb׌sm,+\X, DJ ׏9Tͭځ— @--ҏ8ʉJ0<oӆYSoRqW 8Rb>e^ACX>!הG$D@  E/b 2:<0PbkQ2D)9"%W6Avi3 DqxNIA& )^ʢsq)O\xג" [:#\hFBɇ=>w"l2LI&m'.9DNa-!1i^`1~O. Q Xx4m@_,+"/C&DDGg bcFaM$*ɢXH.!B#mHpY՞32Kmo;kYrJgyxfj}sj'$wF+'z%RDmrI#~c% i(h& ?N Su;g.ӜTzĴxǟZIfd,IGwDGFn%i J'0fJfDNfabDK)ʈu6ԚT\эy)B(C)opPXU:C37'6Mm$Z,2Te@28Af[6'[캚j"iYC LA>=)ё&pI ⅲMnpDH4EDIA !@,A¿ &6h (A$vMB+@ 2`'-Ɓh!eث]Žk C`d!K0:aWwGdHg!" 2#ɍX(UW2g#5a(JʼnNq@Pt5KAT%,E)?G\8 ֧/WvKL!rdAЕE]|s8G=It(Qs=d5<71ұ.! mo[L덖-W,~/o=h\Z]m +@UAR }2>$`HG<߻(ձD}yڬG*_v|Kd1l9мCs/7Y *|g_aJx Ӎv $ *|:&J'd½L8u{:{{do@ A) DhPB p"50["h"F5b1᳄%Uˮ) 2WKE8znFkE8A Nj䴅 K/x þċ+Sz-)dubPPi *8\L)FU3uj)e4"TMYreCW(5C 8iQ9$5. Rfa(R›as"lЫ:DX̔GC*WP{B(H@qt8wCp$RHu<!PF0$K>D0lǎ]hq&ΜgF$g D%@:-F3OBQ(x! oR*ƷPba0EQ.UI?WmxN݋ %ζ9u 耨JJ^>BgNePY7YD@JsZC[u0!1rAT;5(C̴ (\HUr0phtaǖZߢms7/,Ǐ)7'\%"H*I!$4ǩC jDݭxbmDYk=^(UJzO&(hlր:>`oPOdT~5T}`B{ьb^ftzJ$`JwQE'$< + fmIJth-򹚘q)*f.ۊHRFfѢ01{>`ȂAm$$. : RsG)hr 4NL 8G_ JhR$ Li>(G>_1^n %Gʰ &T6k4J~`nH{ͱiC;kO!Wla|^[v4k,HI E6i5iQW3!FdP?] %.qwF HQXkJ\UObœJSNb%j{=rD͘'zUL5y9o βypñȑJ2^e7*e𦦈 scSSYyR"Z)ZHhxLsjq5qH K)4Q/y.{5k>WD[z P0J؉kWu#5mv%h4;P8bmn m"Svn'@rk>Xl=)l5“m/ LbZsq0Ýa04Lfs!Q+DDxlg4+`ZmvBqjJ9SJٙrYWjc$rd'QKlh]8-)7C6I7,UwVPDY34Hl,S\h! v+ .0I",.:z$BG\[`fd!)*kQD;5HhI͠ @A ;;+e_{ƦI+RW3rHˬ'(e|)jQ{oQD:z>hyϧ]ꨪ嘊b$&h0qCQ z)?e<لá1({1ˇdnh8EDæiQ1 I*.ːrhMiB'5F P.!#TD$AՇ0 w$l 0ТM$@Y @yjQgVCfBoX]VX1m*)-AKeW;ʹ*T[7aF40Cshz AFd$C۪'` Kr=>g:JSZ+@!tE"/Whd;R.y]dT$QIAG{55Rh x|FPPE8eg/ٿ3AVq!X0oY{ǚ1 䀂(CA 4"@{ JIa`b f &B@X$!T`I"RYB (()R $(bHB *!)SOf$( jJ`paI%)"$B*b**Id.Ey!ˇDE6ح:2|aJ/3vR[B0L(4z#Ws,dJ[bͦkB&,Q|4iOCА)XCy܋2%U@ 0Ԝx˧u)h ^+4k Y23CF Z%|}MOӜʩ,PI%cJ(@5:oz )1[CZw0,պ18d(} jlf$˗)aTfJٌ2kL,c|38۾ w]&ϐc)`+LSCoM)93Q& &j]4i6$B8wMLf"@sK(xh sMQ7N@wTMw^h$JXJi(Ls5 '2\!1MQ e],9QgJŭe!l1Q|@ % ȂNni&/!ђ22hL)LRܨU1;{ńe/?Gp__G~O?'Wc~??gzثl MPaHc2`b?!Pd +ͺX$Hzɘ" M7$wı$w:/,7s?d+ŔdS$zq2J7^g棡4dPYP< 7@;LeR &Kt^8p$s=%0<#SfHYv iܝ$L 88çHCREWޏ!4!W>~{@% a=6ykcx/3do7{ZB"ajiB)fQDe#  )DҊbBiR@$Go@ʊ?s2V>x2St? *t)3WQ_7@(>]E D豆s2a20DKY0%U貒H . -}xJ]nDo~98u]` Gdcqy%"fēK,V'ffO+"/`f沗Ƙ1Y{k4K2 sՄ^J) ̡94(a6%7_+iê `\~U@l|gpCTY1H{c=%H)(%dr yRA* Ⱒ~6Aj Ml(c\9MP@lT8%>-?z`,\t>feP6eD1# A3QSM%*+"Rrz3˩tbE&Y:O?5JRS}(鋘} y`r 8 | Xj]'5 ) gؚ*j (] Q$'iwt! ?5P]N*R@ZQ E! +v1hZgbicX45B`5}nff%b#eA(15 U DR Ґ$HЃ0 _ٱT U@ d C$00BH0;I62V|99ͮUv*UQVs?)`b;92*X9>22M*򙜰$-=:3&2pA BbLO&|]:ԒZDب(P6T Pb[0jaQ};GY +q3\0=D~3䩨>ܔU0 $HġȻ2&^U<^=5ɻpb&w"ơkaNQ#5lZ5 eX3i|=0|.&[ ٷY-6&~1D|O CH "RQ>dQ2CC쯄)e$*f4hEp~0c܂a|H& ЯQK+(u$>RS?DQ$@?1Q1-raQo؛ÇhHtXR4J%EPuXDVCA< B mT4fkoxt"BD0C@C1Qd6#.n\# 0 hAΊn7\"lrh6p## ata&J 0M$yF0YP#044RPU&k.Ș\NLrD 47;fSs[I™lBey Đ^`+7"<JDzwMj8j6 Ncʪ5/U1=2D㜷IKz($w VI$KJ#%Q28֤O~ZeѦSEkq"" b5A&fA bA IL]'Mdqd܌`T3fB C)-14KA6ffiLɍ+-YjVQՅvTFG\4p,h \u I(PP̐:VؿyU"`wb4Ň3i.3E`ʅ 3aXؚ)`QfMRIAHSӒ =]W{v^αm`v,P!䷑`[wKUm`]wf{LabAԶK`x8%y%kSXE 䦯 H@tHs`4| /S9cڌXېt48dUZ"˓f11dMzpEZ2j>7rAC$$4RhaE&R:g|oCPтޤ(.g(AIwgx{q}wr{$)U6r-A/'ҡz >]c j}%V36 u$V@l输>i,G/cԀnO<$I?q>3I5!.\ji 6pП,9\Z4A׽/0SP&e !1"AO71Ԝ1iPYӞe8T;-p}Ie':7Z" RC0Tzu ą/Vg}6*}{*ͩ&ZGOWa/RIή~fNZ?y0+_eGIũöT433^^`hrjT@{g`pY\Y9Q!4 O?y;+;!L 2;:_ɟȢ߆NBT(b&f (b@&) 3}]!#@sn\ygӓӰgPG}RIHJ CQK*(M0IM%Imi`.QS0 AX`(*"i!'dLPLP4YI  \vcl dIA?z}C>^KG?TH#3>½~|w.I*hܐ9p}>*#{g&a&?bz~=Nst "$(E[O1|\H?E"Gt}>s\>%=yHwѠ4 ~iRm8{BM4QGF0&F& S HaJZ26@lg5:aqtX2?/l#ag@&t(c=yOT]H" BJ>;G=7vcU*PVOYP"}nT+"X.dˋ*-QE̙rDbZkܱ9LsN^fb׆`ejx6LӭiL2fJS./9{t,u"/ R' XHH' ܴF>γY@)~$X슅:Gm]\d\C4|8XumX,or .C ~H#c#ZI&wFEDdWÎ{+@RCAuT 'hlkx48)<q8?}Cl/464"U{G0>ղt@!@dBtD^PF*gm_m_ʴ7w~Lh :sgSMy(ثU 72ͭ{XɑrZQ 'g nc9߆% AsG{rY9xNGk] ,%A2RZ)6 n乩 ' j,D?XJq^ܵf8A&Ia2ӄ!ú.2I(kO*/i:bHNyctىV3]e$m׏-)ExCk#b$4m2Ȳgx)$7Jw( f*ON1xR:'ԌjAJ]FEj2j0t%V|ofw"k;q4}bIP͈ |0ˌ"q 8+\0XqoDjLK"7dDs.R\GiBPܫEq$*&#rC[45j*/b ?O?B_eoS?`Xi(aNW'0R1.b{G> Ydہ@_LLCI1J04UI5J!@PTP4K- I--I5E*LRAQ/Dİ4PDAKUHP5 Q"B`<) J T!@PH P+@)H L1C̅ 8h_bO(3Q1I "DDLB0P, D^qq G?}nTGAz$E:EStwHR:@TB@RO_w "$D?q䃼A(P`l4P'/Ӂ|w[ V-R,* 4b}ra萺aibZ]ˉ̈́ DlERq,M}P ?C!4$<Ϸxj7 xO6{I!5$fD<ˎ8DKT)3R))B J,JOQe5PTxo QA 9:JiJ_}}N7=M. ۹֫pv=[O}$ϞmwfE{}hY JY`ZDV}yntۧvȍ5H2*}7ϵ,Q$^g!Vhw)y}hnAgfE QEPsݟ/^ϟ\==P"5Ǡ6qؠθ-mfWG˭ufRMwwzhW}btoC]vwR֡c%=zwﯮ=RؾlQv)n]tzyZvj^w{yH"V 6UJ{વap:)h%wsy]@{}kFj[xt$]OV=Яw=)]$}=ʺvѶCϰxt<2DzGlW{p^LFc'@vǠ @ 8G:PРmd tEt5T6{}[>]>{wwW>WJ [e bnΠV[n{}{g}`/Ǵ5Z,w׾<x>(>پOs]+}ݽ{^:SmGv{}=Kp ӡy׮yۛTQ%*U;oezWwf}n6xzzW{Z{甖s'_sl }kaksm{o\cmTuӎ_}Ýxu-_rpƥ+XZb-뽩ڻkS6w>}]붝Wܷluݦm5=HWau< υmi=طhzǐz҂@(;=th=h/}1W:4_!Q/N7{wǵN >rh{oޕMPЪ7wV]mv5eǣ}}Naկ3ew=zByí> z*΀j[AN}(հsyv|r[MK&W Wѵ>q xހiwonׯySf滺=ۻ:({۵fu6o=G˭vz˭{r;}yY\쬭g׽}џ}Etq{wwZV{]smZ슦na*tmYr罺}>ڌV- '[f]tAv 8׏S5{>p1eMM>+;ݹm[Q]Z Of޽uݴo(P4;C)6[ѣI󹫚ף^}>|Z^mwc{wut](֏v'NŦ-}sWzAo}Z˳GmZkw2u =jdmɷޯp5w{4:wx4ݾ=z| ak];G;w{)nlJշNSs;mwGR{`wk>m;5'OmH H7yRq}:@ L&M0D44(! @LLTCS6'ިѣz@DFQm#Oe;YG9KwDk3OMhTJn@C,O۟?s@D1aw!XP5_>]ۻZu9$Z?*}eykuTsf]2xhY@T $DDPHEQUTi^t )DMV%PT 4($!& `$љ@S0cA78DԋDP' !@BG“@ↂ4V1ӌV y7ž?sCg;QM2WA)=l=_-ѿz{#{ ˈP;2vA,UUJVT,;2Vb,DRb&(bAEEBs&!)( F"hhJZiJZ8ި6FKUf`dTSE@PLDDA$R4dA,KLU4Jd44DL4,IQ5BPhi(fBB"jH( hPۂwn0EaM2P9!\˕4ed! E #1UKM,DDDHRQTJ^]uZTTU-U34v$RI1 HxAT!BDR4dH E )FK2Rġ2!E%1%R1I#LQjpZ@ՐL(QVfTE@h2D"Ei +#RѨIb(j b2+Aƣ- H BiJ("h Dq*0TG2V, B DDQ %44TTU!b(PDFweσ/U4|U.wk~Hֿp!i*D3* Ӷo_[\$إ9mTN t!FpME"CfMRHIY ?()Z03xau9*Hn(hƹ ;@)#2A- ? h\4K7AvZ8N%(% ʦ2D 2XZdfUFfhI?[1i1٤3}Q,m*iBWJЊ1PQu4]7gpJ^{r'4rSPjсχVvIᛠ6쉡ZvY4aPJDEq&j"x*wMrC%%4R %QBT+%18BTN-(Rib"*15K#-Z0TrlbZw? 彎GM0ۢp mi-K,pɍIn s%Iׂ@LeFjj:-t#ĚSv[' 'adXMU;\n1"%,x m,JZ5P*a(*+ - 7sTx\ e,2e0 YJ,[B\BZR\ 32af6LD\TC\4]m1[kMk30Gd2IaP٢(\83-JkكbQurZSw ᳮmkLK:Zw5Yu2Š8lF!UJ(*(j&%dX(T6]<sx8"[SQE4RԹi hDBCjbWcL-r&\1F/4S4[qyK416doZio2L_k68s;(4 m)@C ۢGK22yKᱛrSGng[:3cYv,*4jb [6ˁmqh6jБvTCVcfɋyu*hԖRu0nj 4ܣn!/*N.U7!FN%)qpO( Nkd/|w;찲y3& 5Sf &V3DXe.+aKmA,AM jpdPG)E2$*R%&" b"((Jj&*‰*hb"h*`*Jf'wdI`*I֓fM&G}\!CDAI2NH'X8[~"2eFeX`<; @LT )Zh!JYR0TAHJ$dH 2:*"31iiR)Z5TiN?g~oE]JZrkN8Ué <4ւ8fmPa24ɛzN'6{6Nor=С$K^"f b̕J2$g!%Cw`;)M- d#%ѐHFm8V1E.Q`an"d4TKX[5#*&6Q4D]l#(Ҏ̨VQ9`M:\hV(Ȋ²sR.U:Y&0`!i0A" `aJ+h])DZ`9[u)Hx +b>YŘ`"*FZLɍPq/2"ܝ,⊊"lfFzrlT1&p1zJaUF#^%0uÆa0-sHe`YږVЍ tkM eq˖%($8BQ2ד1UvePbmak,Wk&W1w2` V%PDEDQ/%b-TrQ08bw% b58l%Tg"1m噗#N_FIJӋ]q6Ȋ&Iq LM5[lÂD^)urn"@bɬ h6."޾{ۏ2ei} K 8I_ܫ۝gzd~`z] j")%*"ijRIE"> 3C&@(*!(Bd%$ zPcmM eNoq^X\G+iTPsi@ds?9&\0Ӏ|ofq((7M` e6&fF"`Esʬpe(D00-,&_< s bۃJL5hѣ0Lq2*htpeƬP`EhQMѭ9R ?@tM "(:׮9d%`m޾at&zSuo8FDYxkQLPNTQ"sHAi/oQDy.E6E5S ƒ$ryysfÚmtJwѲwpzֵJ1QPѫrхQ3.ZJ `i"F: @ڞt7Ř zgcMV `|5%sɡsaJ3$:FLq)|t&FQ4C#Qz/of`lDSImAѧӉu[o!qx;kcjUx3I aٶ_ˣN5(oSc١'{lh I3o/d8i}.۳S&hsE>˙EP@FrM|,f`4Lff"{7f/+3W7줴٨ieI>`l l@:˙25zoIy&`cP$2x_y_)ωZ5!N[I"9 !tԇK O(pVUn̴2xS ,d&c,P3t|xt9HE|^YH aj`nQ[a 1aB/j5*"j|܌hTD[P36c0m4Zj,26| wv  9/d2v(ɉsGdbdAh`8 1av,.a쏚wJA&Tx#Wv_On&uXfeNm!T(,7%BDۙQefX-ǂĩe/Tk+Ad'̛?xx}Cg5 :{霆Rwo5m+:H0ytlC0Q}yAĞ2HiðQ_ jբZ8 =0VfM~ vm`=(KΩY}W@%F$օW͍ɏZ&f<qczHe=^5>*P?_ GSH+>ரO;ßQ$bM* RUܡJiSF*@X"1[qjjg,+"W 4!K o_/OhP'vjmZ9 # FOy)1f&aF&%k$jX) XZHh$-" 6XBf)T"h1-(*^(@*IWI!Z$9 ,L, *Ҝ" HETbw`қ5 qEB[qrDދ&*m[h!R_!M;{O$N\Î-i3(VV8:#L7I_\cN!DL^wv~(Mlj*KÓgb5)V jRH3VFpb8=y3WʍҘ{6HxCq{Oq CC AT A{8׀|xٔRz_>:' _p49G<[ O7W.B|mߤDO^_//g/x/ ^,//a~A{9R,ɓ0iI~8ɛg(.9l%A> l&'0ˏ X82 .ɉH>J͓-q7߿+[d' (`NHNv( bSJq6ov~묐E[pwi=Yld)ſPnD X$a~Тg67tVY.6 Ҫ-UZZʱWe!uخ^/5vI0HH8VA&H\{\e?tn)}~V*}Ne*-=]!kgf*&URVZ"Q`7 ]>xuaفcBCK֝Y8U7wk#zcLIߺ-}%K;^#J4z~1*Dj&\yW1÷|n;b&Y>3b PK@%zʖKT+R(<Q*@ a=b@: 6BTvȚ:0n\Ywr1ƲrnjB0H/`_7Xfg3juJmj֪EXQUUj J**(mPTUUUUUUUUUUUUUUUUUUUUR*Re,TT\--PUUb*UEUUHRRKIEUQUU:*jj$/MW|ibrʪ bʨ*UݬUH_j*g"***٪{ϖߓ\EV5ֵ*_ނz`@}hq \UT#B B .l]90=p?x@^wr2==1LAt3:cxMtADҘ!$=`BWSW`U@XDENȪQ;ޯO槌SA#w_z*W_[志g ~ o?o-_O:EG~Zγ|w'v@cDELm|~L4/f `QZ뼏sg7O.DNc(^gw0;;ED{p݂ͱcv<>H3`@Nq^w0eJѼav%9=KN נff { * cO,b}!l3Wpjl3Q C DB9(JP%Mʩ@J vP(TJpQ"@NC_;7A+ 0E2a=f~p!/7қ̘"~qvw~GVu`=`8" i"@aDȅBUhF""q5 )nRƢ`(}&Azf.SDԹ:Ce!;B?V/qټi_!I84M vnˊjN$iۏĺEדn<&v Y( P)WTrDhPGPڄ(Q;%R!AK0U((2@S 8DVԊT`iTr G 1@=ІQ C@( (@ (+!yj@2|>ko8[=d#?$Lm?}"!/+/>wa,Qr1}0)nRM#%|;3\4;1'  o4K6cS&$x&\ˆȦlC7?"iCSlZカ\hnh_YSk-; k($G>m9( 6,'zFn0#69h,{&8o7NID ~n?J`f:{w2_ڄ߭>Jd%g] Â2gdĝѴBN1wBF;'?X:4m\)%I=6Z6k~FC?wæ %ޏS/ ߴ?xT"U"&X0DJBLb''c񹗳Cb|Q+c6ƗmZW*P18NLb ht$5%~pb".YlAPp|ƏCVBDM'>QȄ9D~FU+33MvD?\xHW/? F 0$A@ aT~kJwxguݩs˰Йr#1ΗDS>{3 .*;`JGI]M n)oЌD"1K"=2ɀ"Dh^l}-Lńk#e zˏ=Ld2L;$$hih("R iMo()())i(()" )+ &'$$E%%fA0qd---ęƲVdPPX4@>ǽn&E)%)<k)F4GAE2.Ӧx ,P9x߆!"kpSJO,$֨*H*Y.2+!R5S%I5=:{Lskwa' FG|das¢無5k V#"ɀ[-,g<Mp)DdK]$"%$rQ b L[2'1hgؒe|6'_˽Un>Baf`_ @ U(|8^=NJ"2C' 86gdͰLyh\0td f|FTWpU G04z(J&a|G %f kC dAd1*1HG(\ixVf"vxg]ڴvek4aX#Mq!3$*fIS2L̓3$%L32J @!F1"p?S?$lZ"﹵ݖì)#fʐhB! %L*fIfd3$&fIS2I3$2L̓wg}/a%뱺yKԋg5Ѽ ƈONzglҳ3,>iU CxV1iѸ6f8H GYՉ?fx{Ia=99O*v$ n3d0߉HOBlB۵67 1džP 7o6G˭aB'^glmQMN{ڐNP0oNWa{h9bKUꏛS}"rU؊{P$$f`-1" z*0c '{o]ort\HgIwS){n wZp@٫ R[vzA$b jD`16[S^TTɘwoL fۀi<4/DFPc9౽Fw5 2pk92*({|{SͲNfPh8img3}lSvO`{O{0ܙʇA <AELQC0:;GdC~^m f-fDL!0fɈk!}I7vaeOa\@GŇBw%l"w"14.G}!3D-M"-֤6B{@YvK>Oƽ{ hҶ<-5qv]CT1rZAbX\ R!Ա &cяt 8]"yKO}PyhDa$_8&sfGDtϽ00w, >e(@fdƝ8} u5r6( fݒ< )F>(6:=*z6C@"vZ,c/=*Dv :rC ܫӝLql:.ެL$5CI/7Gf 8UܿSeTp󆞞^G\Vr4tKX>$>p3jRHd.~>m$MBJPBI9TAE`RC&'7”d8AI]#z^%pצ.xG`&>LGjs8yEՖg,,}=KgB>PXPf`331ch%{y; ԩ ҕEa0/н_ï wɽ;&аn~3_,xEe!iaFQ49XErV='6|8B+?yrc>0w`H7 ( 5eJ&og~}۷Ff#Ej綥#+!@8Fy.ۧ9L "eP^(>^^v7G͌,@fݗ8yLqZnЊ&_p\H:{|RSX22"ȉh9uޥxwtoۤf2ǜ Y[<ܕ҂ NmnVı/@J|"yog''qb%d[Xq,zO* R7cnW7vŬEjLWlApl}` IA1}fxGX,.Hb`rR^:7>sidwbZ @~FGyCvNf%濡fӽqNI}vqZ286Nj}CJǜwY1`0GrPMH %{fv\b ǜ1w:MA'@?*ڕxQUF; r )~E*f|p5pE"@6%ulXc`vƙat!zBJMqa4'Bߎjn tXSFfn ( WR0pyy9c<94hgz' v>U 9yM.˦V-L' gã!7YR즀g3 Le+6L9Nd~0!wȿ'g>4bwT򬛮/aw~cs{^4H $TJ;8Lrڧ?9>h<|Wkη}~M34&òvsٟbKi|V<"$\c,v%= lgN6]oSj|N}eVh>[um/t!&>u OQT(EvQ@Ѕ˘*͝ {*ކUF l0̫M5~)[iZgGþi0l=)W^Dx|W2pSoLW!rrVEUc3C|$SŬKFDE954MA99A@D+x|,Ɗir>Xw#ΞM4M4M4M4D;*"ʔ&@3 @\`)Y*xmsP O*RzGbްưjcaz& I :! pϧ3u Ez7)z3#\ g$\/ e|=9go KKsHڝ߹ԭ3˳tیHAq#:LNs>Fl9ɦH4X !h6ІZPj`4@)@`T}>:$߿/[1=xl;פ1Je;! ņRMm5ݻM|w Kx0n?lP ĉ"p"]5./w)疍 a7~w / O%n˫K\׊.I0)P~ھ$5JV`f'wA@SDhsQ.iЩ0!3Vc~Ta󮊌BrjFNት~^;|߮ŗ\? ݋~_ov3^6\\rpYEUT(~xO6 ꄦk(,פ{aX!)N1G-/>*SоvWϭ.FBF1d9_(_:o{*ZJٹݧKV#,y)6̕ݎD[щb1Rڥ;|3'1'_{t"nZic?9v4x,TbȯZ;\y~lȺah jɤv`+7/rcؑm߾5~o> 武Rm gކ0xkڔsGf7=75"(ù{qtC 32ly?&L5۾&]h ~D,]&al~j(&ؑ`  Il(c9#+K pI]z~C'% meմ(GWW;N6w xn t<뎔tx'G|6*Rg_^R7 7]J|G=-mk'zդi9y6}pxRGkLe]ofQ /6~ӕ'J U<R-¡wJK(=g% @vea Pgvaa"h.f^P8 2ˑf=աEv  זNBe z zu>>9Eꃆ$;T<"bhk1[L 5T[D\1ۡC{w3ݹ4Z6\`Vgᮕުؽ`@|ϓ_RΙl bn0yVO*1l7n#IfT *7:dc-ŘW6Q-AyMYӷ; nd.u:|5I#d|&!#6t|%v1!ym=G˸f6#bdA&;l#Q,JdR{#{ət]ks`mQ6$@3r Yf+Hn׼AM 3%F] o|&xIfl9ٽq9&~A )bZ )h))*jO?)w_Q<2aETуX++?X;E ^*E˸1BzK]#HLͨ"H: QluwrVf֩vx`,JQ"G!9Lvj&. į_JbJ㑨GjNN@:&.E9@`IAvΡ*cKH" w)~>g" R2>}A{Sjlv,۪J :m4,m8tCb&ɁmYn SzvZo;xΊ:#;g99\3̶$ A7}Q*Ӫ"(n%Z?wb`UrS3]w_u7FG&88r8 _cE.0n6/焉21 -2Qy/Oph'i =H8 bWX7@N([klcUFlS5$:jQaFxO6x˭ XQ$JU9 đhNr0_ϫq-r݃<;ihkNx)7jxfoGN ,rK#Fa\0ǥZfǧ8aP'UʹBnGEdd1i25iasO:t<~zzvU[5k+󓓟oY.csBl4Yp *$RTQO+~W7,78yߋ0 `o(*A8 0w[ g gmN# -xOav$>+p0(ǹ~k"n*f05g Y-o#} "hv>HAƇtPI lq.8ڰm RϾgӓԍv^MNS\YIӣ|0ϩeÄ`6P"3 @ |?hS!P`bh?@y0`Ѱn:&,f6e?aycq7WCz3 uI{o /x]rg#G##|'~TF3$W7Nb۷'ܡS[51!1Wi|&D@LL\p|3Ydu&H4ezU9T8 (s}Sg+3{? SS`Q{T3zK)$%t NآIHĐʜ'cFY煠R<UV7X:\\S}d) v`nxf|-0$<%S }l [o? U|y"//X-#mޭo2u^:/>מ8Y?>Uw *ul_ ;rٛx*Qk nŽ0ȴTSUM|u-=`* *>̄p>rwqzo^Ur᝘)@!|z!cqB͉5 )>o}=38L[CF a0/O]pq}pU9x\=rk8@(kp9lc)#T8Ͷ1Շ>c ݢx*2$^ vdE",A;l⇔??9x3, }ES f b/ÊwTGm{'=QfmTXb"Rc3[+y5Uh_gpKٙ3i5AT}?/y{8Bګ*y8{Up4\t_sEEJa  =c3pP~O}I7/9g UPV\ֳC>yoМ!_ƫ*/c~k1$wvwy#zA Kޗ?xЎc&/jP,$7ee#L6?_Q+wo<0ϖWᘩ.1`6$oe!x'Pbf]chcK {LLm  PdE",AEDQ/$<? CWKww?@y@qv].^PlϻffffU_J*}ޫ ߹W֫Ux8U諵\g׏U_{34A,}VqwB "ffL9UүzWky9sOz `1a$zmOʼ#q5k*D|;y fLuO*@`$,A(!˳Kn t2$R160_'^ (:9.ϼ_b^>ץ'^i y>x:ݏn mtTUUEUhDO^o'bw>Gf wzj Tl=$ظ?EǬ3?V]`\W%]uvfGۥ?I/aj} EL[@(/XAj"Po=LyuhqN\y3v33l9G ɆK{wULLӋ:dǽR\^Hϝر`q8=85aqWU`㿨Ϫ~9gtzS%fl62U_4C+'"!Om^"QcWDŽ~=ǿ΅gr?Vƕ'Ghay1yq;{G?yy"xwm$_w(Ɋ^g5R Y':zy[O~R91T ;!( ez&n;W#2Ύ.8Ffx#8pKޢ։ߟ\ٮ'{P:΢O2EJW9|ocaww0^UGlS} {~s0?gWʗO}Vb!B ]3Lk&K]"0A};Y\0M!(\P7N60RGC$+;]ĻNk5YV L \5HvĄ{ MKeQjɒ]5;] -K'J25.E9m/ۆ vb| Ik|b~S] 3 dt ;3׮C}¹tm.x)iZ."j4 CwWQAN糄]{/LqGzG?X.|ΰhk ^`[=ۊuۈ0yxVݰfӸ<֛oS3C |FRB6c8~37SvN8)) pzEs[lʅj,I+H\զz[]:jvÜL;p1p9>#t&9څH;ܓ)Ȃ:7[Z\9*s&ꮮ!ՒWsUDKzjrDU##'MfL q;xGd`"6G9k]//Ta x1~F (+!@@#z`1/&9l/7T!^溞;)s(O2m86t)eÁT-1r7;0gwh34J6ϫiKKDܪFV6sf0ėk]m5(2a K|HvX-8gx\j}NLNIdMr?:bW ]hdF WBfj, Sf6("̀~\>i>A ,ʠ7^gGo7Hen~O^^C4UQFu׆C 9ÀH 0!iNY)L F%ϟvDF n$u: '>=V}p42"/`Jy 7ߖ0XY0:r=[llޅfo R?Th_FBl8R%-83Uݟ\Smh O_iNϸ XRx#Gu*V#F/+Ђ#yG _>{Xt U% 98Љag,0)L< )ZҚGl TEǹZ ~߆pn/dlgvm*-|`42Ȯ{#,45FTl[zWc7pHn/;:sĈ#jq)XR0^8-`6:Rȗj?Sgz'Œo3[J91-oZC"[c"VFZd|դ{b7Y;dae$K7OcL۶%\ !mɓ&R S3 d%s1XVA` l+F)l)R1*Rب[̝P% 4D`C: E顇 x{ÙօŒܖҳ3d`Q5>֛P1E!2t}ʙEט_~*DxHz/|rr;6\y4V>HA9J%g7rT GLnffn9|g78FP=NT3ljkNNBQ5L IW$ c[ Si=F(a7M ʼnq!6ML9K;Λ쯩Tϩ(W>W/RiK}Ԡ6p_yp&@""[:L5N[JMڢ#k,™5tn!JXx=m^ 8TDF4F: (0ư֙FE 'yOÉo,2wͶShf3L@IϴX˜撶=J3ҿ ;fqL^OZb1 nff@اB@ΩHl+ )g!{(`d/БSf2;Aort"ރ!l V-!N!.D2/5 3&ޱ(t.ۧc Ly " ]޹CE HIZ0"lصfvwᯆ-I+Y^URsY>⡅Eںcm1 9ɵ*jaWX.tNu26kX2liҪ>!]pF<0./ ;y}_DGZ-j~ 3>|g-A ğ7w˧ۧqL\`.|tҿssǶTDXQ܂7t?9jε08>9(0L%>ʓqfļS-LHYH3`s2g1_0󞴼DfȲd^& ]I3w5.<̛7S|zmJ̹6S=z_x?ǁhU_>[vL9f}:u:wbuݾ/;("WUA5p.`D!/\9HK azM"m9( a܏c5I#&u@BcgU肑s5)(T{wGMs2a0Q8U?9Q$3Im!S <ex[v{c~ R]rs †l=v_O;U }3#9r>YXA槇|S~CޝN|ލUW~>9P8^L DG-ve< =RK^~_}äjJS?ߘOy А۱2׿.eH5\yٔa)Q<-PJ!d;]P%`%,I dF$ReZG c@ `LLf.lj-6xaxr;{ ட:XOY{WOz4y^Fa0&GS]^I)ޯF>qtnZ<_ou$D;]5ͫϫ-{;YEY;G;OLgp41$>yifTwwz0qM4&WkEј3gb^,j*Ȅ9Y(a߲(<)E$Je)U|{~?f*z"7C#]*YdߍeyFo@ߋ@/=L]0@Lßef;~*ȳ̻]Ҫѐ~BѤQ%|+ٷdj-_aw3BOl2PzUjFmϽ.7ukł$qL ַCw:EǺd 2k{ ޖ]~&LWe10wMǸy!VG4. dz?vۗmj?(i(J*?q0AJ/f&TIIJA*(*e 3-!ATD34 49ADBQLR$A1.fQAK TЄ,20.@Ud.$1  M KD0cdLD'?<gyOZܻ8oi\O i<>,+q9t%zhk":b Q!m+ B1b"X>)h%~G:xn`&r WOb֔sq3 |7[ZF>IWcI/~#7PfW#*XkiE4܇7f/ ̳8=摷;l^t[HUe| wS]LFG &]j͜`3E.}H@0H*A%KHɒl*Bqܪy3+cZh jKmx#e[* ==v1q`Y;<ev9E Xuy}:9 -fNPH 4)LJ A.o^GMYԓ$MO«<+?SB]"E19pn/~J>PPu B翼/!zpծatO+]Gɓ㏀OUU_}tBX woTjqEa4(_}1!/(~ ? ~U&31U(tW56u"<#VE\-749N&Ry9%135ryҢnmʖ1,`Ly꺈Ȩ5*nמƵA=7k38W͏1s[핯Alg%YhV>dA3o|G=20C `&bIxqc1)XMEIguR8V MB/$ii )B)Lֺ`wm&J3É-3Z"R.]Mp)!MȖJ됒d؉۷d I`<+9p q}gt H`}|z^aR^ѿBέCmaG`GT3l*ϧҠFRtGh&>b! RD;*Rԇ"yr1^F-Z^x (F3@"|dkF}>~"-y=guHE(Ox- *'ɖ0]Ľ[fO͢GBb8$ӭ֘R/P:l CŽA^y:E R F9WsDsnF8 @ʇK|}sjI#A+#\oDEqPrbSH *?0"Fȣ nO~I!gC m;uħ2G~Fzx@`L>/|C1 `5@AL_+|>G-O.;^ZƃJ`6!0CԤqӌݭk #8[E9~!MCtM~FAQJp PP"hDiL-D;CHcPe&$֥l"+kxks t.;!aw&Gb 8z7zFEQkq|d>4a4Na_6Ed8ڙ>τ|^cLLm9 Ft|?5"oM\SΝ&E͠K Igmќp7vz0 fyw?GxqwE"q{5vNYv@*~>aCOۅ␫&!Lf AHF6wN}ى]7~PA lq ((#W0=oG7Das]598!ҞDau1}//UnPkH|0;v}\5[WQ ^dfl}憳ƒF dIe&xgj.u&UL@A8-yKbIUj%~G@C|IۦsTQ҂'/✚"%.}j`9~>RΖ 6t<[G; 0ebt5 )FN75 %]?@Iі ҿ=bً:dmgW޶- %4/%چб|1f&=j_>n|[m=30z/1qR6YCrۘzXtyf\&-K dr p9klUL$+ (0j]{8&F!62fLb@q*k+BASpI7eCh)ߞZ@n(R芡h( !a%(ʘBE@ i()) jQB]I+#~tWVzF.]Z)E8Q+\}{+ILeWi.'kR;_.O~z4j! 8oӮ[o& aXp7ڑ'PFnڢ+*GgJQ.6"zmPXFIO~c/$S_B' a'Q'w1/™ `~>sk995PSH0M^nI'wdZRͥm de41B¨ɓMR U"@Nk6A*-89# RP_OY[CCkL2!&C&5&X>HPqU24X۲ KWPe׿ze=ɮg^ |Ey(*5o癌QhJ3+_ґ*m^=?Y\C-s=^8.ں/Q>OO>}Nu6j3;J"f@Q FNP:,0vh0?c]n$;Ҡq nٽfbQdߚx8ity(2߽F^DO䳫DUw2q_u{)_}LĔ7!> w\Y[&V`uj`;iի:R^<3&7HqeҦ+$?-6`D۱yajx<WxLeEWTq_dz ^Kcʒ$R^W2.tfi}ۨDCbne.7W^'w+NJѡQMކc1ێ.r9ݫLs7"oޅ ]|!m]<טn(W!@۴]bx":@X;LW[ܕjxz9]r^<7m:W[=M?%7]Yb l>j12$s+cilV{#gBFFMpÀ&&_/sm&ād"(C|59X{Pm-8@w pHfÏM MdKca# SEX+˙z<:tZK8zߑβUlq.2>]s3ZU- ȻffÀ5;ۣ6#bBXa"iR9]:Pi2bI+RH0Ÿ_'kM2[o鑸֊3{i 9:"nw? :bطmyϧ$h塘^u.[so4{ǑR^y;x O J S%ݻGdy2aD'I]L T=Zc &; oÇ5ɅA#퍅~0/&c~x)al*YfԲB6@!BV 2iKe6Jȗ>jջ:|`j_@pJ:%)Qqw-G=#,xTH gҲpbcXDťˇ /mA#+*I4o?,_O}`>0d#`g/6瘱H9"7ʠňCtÿSnl.LK,tIvHƠԹRw8XwClm&HK1xљʹ:v Sȼ`NslBW+k'9co!HZdmC? S_\|I*F@)nj9X!S\a"WIu a\23;9IUwICoӣ_p+ ~0L&HF+c/e~繝׃ޭ 5rK@Nk 633~LH0e%bE_>vC/bSD>?EЂ_$3 p=N٣ꯧHI}Z];[dCbqeF@½2o PѲP/J&܌hTȲa?W /)wRX|.bD2Q-LWsz1xlLt"ǦJlg"8F71yIGA9~nM-;}Ya}ՍᏑ 얔gnM$NmPVq1;,JCϲW:\K޽! a;?!/=tLAI096.xsx|.3FEl~oAF)l2GPUdIeq jq/qW|ten\~ڄffы2{̹%=hw$qݵ's2.J6 JIXaN*>`J?J,9ޔׂY v2b.leM'(vJi_U}\'N}`l].i.XŒEp ,2f$@a <4`ek]*M1.iߒ~U_9<h;e2w3e>PY;o27~uӵkFFpfs>xPSA>t ,l'L;ӦxdJqT'i./d${,wC$2bJ N%o_LbOj|N_!-I>uKr20ᱤTUSeLf"Pmy<5~``|vn(2GxnLܛߏ(JowF$おfvwJ 46WRKMId'!*FW;tzpkի}eha>I\` 3Ct? }0҂u8?ٰ|XJ$~E_rM_RVHxw3D>jEc nV۲x8x"8F"8 PX DhvWk }f"A!7qǀIC$ZNa?48i^. \gW\qnx:-㝨2M p61[has|2-ź]Zӓ XaYhI}PcvW/=-+p\ѲFcFC0gW"\A)F<6z~Ug eHVnmtRq"4Wƿfx'%޶Ԓ~ #[KClR'Zois34]^RĆyck}m:$.񆑕VoN1\|J;>&zDI2kiQ%Km<'[hZʽty"}Flɏ6Ol:xy̨S+y]',}KUr\k/s=|c>498I.IkU8w]sݓKfu%1oӕ3~xipk;}/ڞz[T-e$t`Vd#{=gec$9O9e(<:?7OX)q5؊<ߒ5MNq.;LLn}V6FooPݣ]+qz9y|V.y<ɣ~;Ѯ:h\p;cwhvN5:~S<i)%70#l5.'qi>2xF `C1> ZL#9OJi]&s=(l'HGpىwbYߌ" 9Grf?/^l[y0:[K2Rh#YyFX/&Π}ɄfJVzҠb)Sh$o˯]I7fH*&6d0$S:jA̝ \)!tmvBO#yzK? tMPS.xԟ( #Ty!odK@ID>RVPʊQ^GU}ЙlβsrGֆrW[l*JJ-಺z' |#|Yt7L;/Qی?;Dו%OddJG(foz P*!Q^=^b2ӅB~Y(;bwq ?DI,)aPv8׻0òdXuɉ"e^U 㸶isZg)D!6:_9Lb_YH? ȠKk! Fqh-삉$H143lBNZe뙊͸ )\Ishf[,݅W1H4wZrolVɌ4kV*c~u}.`l&-Oc&e.ȥGKsǃa7l9Xc08G3(-4E6CN]9.Pps=6evs(ӗզ4#xC@nD/T*TA1xX:I\IpV*VTǓˆ_{1 X9"Dْ“'j©^n)dGH2[Ě"aIMn=nGlﺭJnAєcbI";oz{gӭlU9u7>y#Kx.F1 VHcZy/ԝ~_Dw/.UUUUYeUT.ʪUrHjhi4; 饙~2Nr21 @)`@ ]LX>Գ:(LL ,\1ˉ()cX-Rf.J3d$[1a…Ls" CJcЮMdƴ1\DBi!kj!,2a5ғ110f `w^I)$,h ]Pul2)`H\X4L!KIb%n7VBȂ-ҩ >֘"lm,tCi(%Q$%24e\֩5 uޭUd "A &APhYC )ӄPA%4+le&! 33!Cm303* ia 0\醠jaf⦌0tͰ D3)\B~ c(>05`#BQ.pڂ"k>[bt i"lT_vw|+u2Ŕ lsmRqi8u`!:.'TVHBmtʣ\8 㛤0\fձaҋ,D3f| 扰-GpF7u 9=|<9sgl؞b%)pĢ9&K^ `ЊTom񔦞QKeѻ8] d38%ء0p$q v'w SPvnLz'\ Z!&rw9< =7kՄӹqz0?X.4dž1D?OulX# |=r{{v7$wn6\Kٷ|QH IJ=1/ F1Al{]kR?ܲ:dkL\K09h }[ ʰmoVv|շ-N^W8 Yn{F@ڦv̟~#?! 8٥F\M*3w ~Q\5nASrD 2W77Tjz)!I~ @f5 &3H9i`N,.'d&C#D& o$eH>NxD 8$^țqm<{+iHϩ DB̫T Ʒh~ћ V^ǿsؔyJ}mhPL JX7jl%d.hC\*( (Ԇ_ ݅މ.T UU%QK4)^QT5@҆*I^2 imb)U l*4*MF%R cZKX1KQY4Iʚ J(*%5RʂBH(J(i#*$h(Z X @PU1f E44PPAL 79EQDK HJBʆd&"(*iJZ((()(Jj$"AHDU!M%.AƐƒ̆_G+zؐXvq/tO0V*ߍ?ŏHddqt\;D8at&>(Pcz"v΍xF LwWV wzso\^9v_}7Nkapz  Yx vy~7Wܘd8B #84W~Ԍsg 3!eRN"OUTj?h#Cȑfj^7mh}x4Y9~ ssqk8mҹ+Eʗ܈G/lTuuL{ ~AN8,| @!H @ (CA$16T{yGI :2dnݴkP_ a1'_aD~JA1- W2șb"*( (JX(PQA!(Pބۨ۹+2Mfz761UM/)>9#;f!Uz? 9_;RI_AK:t&I$ʶik.6:vX->O=y??.e7Xrs ΑG2޼e0{CR΍JRF7եύyu^54~9! \Zkwlvs^t)*]).8D<4tSi2 \'eW# Ό14DB`nsT0 xi)OlZ)YR[w8KUu;(*|\;IBxs"=a۱̿v9,wxQآ)4B*=mzU J61vrHp9?%-)آ9Ǎk dQÃ&X|[&k<76ӻ˟;WOdU::h΃4PwrЌ } =[ocĈ{XvS2BWݫJm??rҜXCB>˸V6 ORApO'k9c,|&iR[,R<7)/II{mbtGx/F^7|řc]d^iwzGsضcAA ZI;ԣ~X}cVۛ?m}ã2(Wi/f.nTWc cW +TOG)&Q:D [o4] DE$_&GtBէ<**#?ɟ쁇` 'w~73pj "'x@d@ ̉]@jxH4 ndV R3VfIRPđD0\ Cpj.Ku"h#8 B!0MZjqXh*R1\` M0c)v0I@?JYE%c> ;كi C}((P.xu $DW^y "@HdhEhHBJAH/l/@^Q4TM311HQ@1 $(( R51)QAPp"! B&'F!M Ԏ *&H H` E2d%"I1BH JA H%I040LIME. Jf&>n ƢCMh([]sJFp/]=t)K,No/;=Nlu֜?ߞ㹘n\z͢JYyb|w1Ll6\9l5ë.>0[Es3ä:}|}b2a$4D 3&c?ןRl + S?yyf`:$_}_\W~>Ǽ<A[Iq9:d7}Up|>_w_~?ߖl?^XqC]~οO|D-/F4` dů7'r&$*~Lp;{ޝP}rH2ǜy]~>_^Rь~L3ol1'=w~_Sg}􅏬=>S3xqߣN~Sd/u)ֿ~vYeX^;jp`Dz4v卵ٷviݒ;\eY0o//0j a#AL0"gYA,BS0HvQDDEIE:Z "‰H'BL%JO rD?҉fch>}]q/h?\U#ުԟwAQI hO d~^GNgn'?Me)Fq\ *;#E r8Gs%QDL_]M3FĈ5jngwtS Ν>3u5C^\˕95ãMv4|v Mqgu(kAMX6!!!}Ԯμ0/7tG#+=H '_!%39 \ا_qqYJD] @(_:oG2sDȇ00d??g/aE(Uk~!PCe]7^HwX Bec4͊*L~fL>dF/Ml5nv&< ݘ D0&ڇxT) LקodrN YǮ[)WL^3骱/j3[LKRBdI-6 !JFźⰶ4{_']0q̿Y?"!$CmrdOzj#)QI}3Treh:AcF8>уA+pfH~\l v A4޺ 7Z/j/ Tw/ˮ }&%A RJmȌ6? ɝOśOnz?S{i?6~`V?]UZ1oftm۶$Ҍ&pW_Ku6f (7;Y#8LGl ,Tp`?.02 qo-DsM J=/Px6HxX$>6‰b @ Jnb|1 pI]D]<_cI}tvA"A'n;r#w]N곫7Äbf ,iUB"1_5Y"Ҵ{.зjk瞙hpA 8$y2D Fz;lJ1NkP 2P4vע9x0;eǔ Gɬ7‘/~1>48߱׻LO*xW{icNv~s0pq!%rS_tm=lT_j'\_uw{P9 _l@s/ ޘB8 }˱6-$6Qt8Q"LtM@j&0q&vDۨMB "M'mL0 >4%< ܓgIK; qg BIcF'|x\v74$pD,IDX%bH%+f 1ffƛkShb~NHHn":ξ]+@حa6tSJv]GkGX%"X$"X$b'FJ\$t3#0ٙ 6Cj(ݬBY՗"T 쇔}7'0$Y/)334d~lfьKNsh&`FmLNc 1>y4*&i((jߧEʙeH'X=~ qC6 ɰ` &%R1| `n?y̳`*/p ~G?ͧjI $ϛ"xm,LAf~0tß+0>;²p)JJ4 Y!3`p,R#mLuBB`/vE{_(rdM~l ')0uaR-,lu$:utۣ|Puk{u@[nvc˖C&d#K ~XBgG9?bbW%CB2w"x6(@䌹 f7#52,vרuvow4e$QYQIf{ӧN7SxS&:0/K߼FF [K;_/gIb LKT*[sLINf׻B.y;1?{X`PGg9OHL&3BoノĨ u&J01x |m.褬Пw9E\ܳ&_5_絓֊3 Zt6w9Jvsb׏ٝa4؋/.wurk;>O´އ<(SyQ?DIm1fHfoc龱3%teKAٞ)%7$p:_)9|Ro'l4pT@EE &?gVy8 (rOWMπ۫0͠#ZKV$fvL!A޼k 7S& dHրzZ f,gׯp3@7}ey@]']X}PDgs3)/フO[ib89J~D&?nDEc F[HgUD \LO1$[:+C1k:D̲|d1; ;,4@qۼ$y$e1Wv~5,;m|Rx)@?Jϙ~יQo2eyiI?H0rvC(vXBNZhVi;zZN8SaOP|4!3n{O\,HG@Ҋ , Մ;t=02 #!'*,W-Y|B0}~{AlvL(9/k_m[>C2=P;FPMB5jr %]Ikv!T" :֦@P&FpDk_o7Q vƎ&?}c6sB(ez.D (<8y$;Z A|_m b%c FټwȽBIy 7n|?{_`W:<;n/GNZ=!]:w9l4_YN~~=j u 5dM E23"`mA>otU;Y(=j42SI@|˲33^Qn ,, _099n~b•35ܣN){6Vи,-&@r}/<|3s}0pCXcM )tLtؐ66-6fM r;[a; (1lOo_5ss=cHdB:bg`PMzⰯ3}[8o ~'+|_;\잃&;{qCu^N/Wff>|ޟI4~ fj@􌽶tKva*B6hyL'gX{p_l|(An !7XfCL|m88d='pcfgGcbpFۡtfk1Tԃ6S|hg]C^>kbO>[:oٱ[/fWfx@{l/]@82N/Wzu(a1+OYx{6,|^\ $oC 2C2nY$b^ޓ.brro_]>84MWJ#e]Z&Pﭿ||PaFfd}`ukCT$= wi:€ʀ_x{=w\v\0L&kHMx8>$~KvۿE/x^c<ٳg{npϜ^~7_z]#KܠE?yب jf_7=Wjض[8}qDyj&c !wܤŇCTBw(] {Q)53C@PrFVH@n0_ 0q髴}΃sctMfWz;5s >V{<I~#!ajR>,3 ! ;N:!u3IH%adŠF.rsI@LLD;[86! "M4:m_۪BorS6oSMa ͗}136-Ydp ^"ao2c셌eL%3|AՈ||rٿ l~c,\lsKl_StI7ϹsVo7@ܟ A!l[&"iC^#r+$7!?1: -wz=A:uBd \.U) 5C<89r ؟#^A|* 7jޢ:jyKB`IFyw{vbA?|]}vl9I8>jf莋 &f4r#Q >r֋G|Fh夛c6p6q7cIyO]K0J$vN1؁=SO34r^]^yR_7uLm~2xͼPwJa^״en;}d ݯJxHNVfk7Ǡ6+fr  ݜf˭'ɬNW;O7}|$lW2rYz&K]K֦\aw02LUMcm:.lUjKxlNyUM#iln?)hIGS/exƺ>pbԬ{MÅV3X 2P Ȫ合ˊkY@sR^9x?Rc{uv.J-~^*Bm߿" 4 /4t;h2krXgǹeǜd_(e]VLz|0 دZ:k< ZX"[i;1\Ϝc66wSF r~*aHCHcI`͐<`^@E4'lW]~GZltF^QW;^R ֓[Di ݴNzUnDeGݲ㷫d"-Zqvn Vn\FThEIeϰQ fQ ȸv!b2h#86\ M_) m5{917 t OT  [)6@FoO>%wD+f`oRmbTFB/29gajӆ1coF}ym_ߐvҗ>~C~?iO~A~s.W==ti26f{~fj}߈ٻF ͻ$I!v?c[Ձ(ȿt]. A>hc#-?=6PfWW סTոpflC'ѝaUrz$~n3;ZF{wsʤ6I|7ϯ.>^~?ū]{9 n#b!vY.&is„ĐbBpFgT J-g=֬th3{HG{0;΃G.ȄH ?ߔvvF'^L8^qW|ScԢd%z*QVDGSo;ݍ/>Ri>r3.cOYx-;)VڳphC>4 M60uuʳaڨd BmukGtD|8ޡTĘ hf,F>,MM^5H×'6#$^n9m͐Cr]_k3gGC_GI~˾<)X$pDȡOʑ LxL5pa2bօ \$L%uCD1w G}??5iQ$c47]ߌ0d+@H܉0g^+~Oæw~_z.oC Gcݲuq🕰^\6Jqj{jS7IɼYQ-Kn9׋_3r1KN0WJ);@ .8Hn)Ԭ٨]KˡXқFV OJu"݁8g_|OILmLxoOmgB6P'G+$#Itd3'w GI(W߼q6*##pR; /y;ğ;sFf{#ލ͒hyc2ہ$$(LF#m?Ѡ3z>>mA}`$Ô__/  |EADQ 33doOi/7 A _fUr 3-rbF-F-hL_>{oHk2WaK?^aHm!3r׆fC~&{Pƶ!FFiƿAgziBGWtaY;lȺ "\cfY|ħ`mep( 9"m-Q{C euޤzc, 04!)h`J샖 eyr\b8𳔊 _"9;3;ѡ7Q{Nz3^Ջ>XM۝jc>jNu(,6$v]j7ґJ8tkø*]Sp36aX^=ߵw2ycr/2qǁlP0km 0u?d'3xwI].zOCB8n|]uWGUWUUUUNk=D k{MH֦pL;= ldz77VS4XtK'ٖͰ$NruGr~#/ߏz;6'0nGǡ8q[F~-BT<&tq71n[wDw>lx5<]7O20v ue_\r9_)ͱ10&>|`}ʏ}-;lhnCGGNԄQeJ#@,wy{m\BfWD8BlLG}z&wSVA5;]+Y$Yv$tiE۝nx2n?*&)_|6HunRpfo&Fީ U87,ʻ\A]N_ w+(0t?fDc]Y4-5묘ط !Jl+u2- 4R41J]K{Ч9trFj](3h"-٥"k9\>\\P84Nխycy\h1{YFv1BL4&h}/33QR`S:]o{ qL1 dOv1siH[8iL!][5KkRZdblYJǑ3кI$!I$IpZMbbr +g$};k+nDh=.頠LSyq2bڈ4fШRXEr$fG?~09;IxL=}]淶 HrcG#1Ҍc:qsdɋzR,vsslSjٷ55uĞ\2DnP_NhUZMiJ ZQnfф{<4(Kۛxaʞh6lG/ UB,|ićwYN5"-]ZDc̴<Ğ{ гݒ;}prЛ9\lz[UQ ;P2ۖILP`q f:a,aF9N+=AHP Ip25IFvvri$HI&0xc]@yP3 H v˱ι5s%3-%[ĥɣ76OQp}6U\D; hRGP:6inF )6a!Lvw˃p/ԉ"Ak*fC',ZuSׄ[3 cy-en+n/}8m3xuA喝]F5zO\ǣcW׈St቙wTʃ``E(f`1`0Φffum$6o<Ӝ<޹Z8RmO_wޏgBrmvþo.z3迏C33#Ĕz 8= du xRٜlEK8XFՑ)@ #=|i6gfO'FNiy*LTfpOPjFC\34xMUqRCҿ$;¦TW11siWǪu;+ˢ5:lnz?9&pl5v׼UuH%''_DKtwJ{|#q;%.a;Ga%7TWI>^j4v62ge1ZaBDNzqJ1z쮦FZ \"%YimXMxJ;٤xQN󧊬W l{bӠZ[dnٸќ]mɴh -tE͐wUYvoݡοMq rMMa`IC,MH!exk:n|:|!y^Ucn xM&R#ǜ,SH0^ (|h5Q27lS8k iPŌj \ű{rEXz%DPWRB<9OV!߲:G ȿ4&C. /쩃9Gd*mwYmcR`F9{F͢kw'~6=h>fhub \~|1M&ꎄ/}< ZI!1MYz-4>o?3[O]Ih#Bsn[|n/ Wvw睫%ZY*BEƇln8h-mtv{!"TZtXI$:I$I,q6a,t +(L%dE{^|sK˷L7;kʕa\m+b7i(W.H nz F[+J 7+2U;x?{uC(#<"B(c]:f8O՗(q&:Liշ)W½s}䶣dkc}У JRʻmRCSgʴR/$KJ2'@d 糫;_RuM=0,iA8W0pL8R`-~è!F뻮ۉ7痓ۑO\퍝A!}HCz֧MK#HJ'#~`I| yo{Ԧd0RvJ׆zrKvpY]sȹnmkuRr#%t% ev\T/8:˻.kEt"#eB j")q7=o95:[f0.cRā)S(=rK!c5XR OA|PcN\!Z~]u^wP{`<ҊRR^a.YuS6#z$:9y =G|!0z%P%B@zCaeE 9N4n③'}%4|1fo=dhxa)|]SqmSdK^sS_d[(޶q(} mֹ0UbFb16 uUsR&f =AMsv|Aݡ]c R%2iAڽ<5v+6j+Jl19J1;a{R'Y}>WFk"'Hm:ǀ=Q jő)ɛ%?: v>Hyqe0m֘zIӹnAKWQSvG6uZmTĐi=Tr!x;E3H뜨y"wG~n#LAZN(;4',Q>-Y\xg 6l DQ1!nhE'RK$'*UV۠q(ޯ׌R~pwKd4J\xS\b ""Vv2WLƙFw^N]f= ͸U3Jr"/='HGDAO  c;\[t1O(v32sGI݋BQ–.mN%)5ܚ>]nC+i[5:qE)WI"9ari`Yw_tK qq6r_ϮV{ܦ#wٌ0~AIbRSY)9xfꏏ1'w̞o1v4Pw:8-m Jpv'!,d..ry|;,J95n,:%T[ 5Vۛ&_OЃ\c66667:0ʭ8&pUiMFhqw}g ;Uڇ 3HP: d=;vDWޮW-IRE!DN$<{53zM $$ Ikov8ncC73ϩJo ZBrZxy2Q>'Rru{ʘOw<BnQM&m| Dul[ct7AuniHrD׋۝>8>WlTNx{_~W}9h=lBM a?ѷ쇴CjvQ*a{1l'?8_;V[kQM`ۇlu}2rLo#D74)hV_K~{3g@;ǟ@!cdzNͳ?J2wڀ$E$DTLA(D T6 )isc[u(*34:hZB j"" 44NcHT1"PRʲ 2 AE20̀k,!Ȉ(OV!f*7c1CNT8Kj"P 8M!8#A$Xn+(JF!ˍH+eTV'=Gu @(osgTL1\@Hb 2612vqhhY. pEwz]G?8(] HftSƅz0!?a*%P((tB(*TJ*Q@脡y$ a`M/OqU]ga?  ĜP$,?O7}lA@2HjLu:    0!!tbB%1P G_@!oGzG ?_p H\,n :`?(GH~Og|n-Ue&}9xt븆~:bdYD2_x|Xf7u$'D6XvF R㩱2_ ܴ''q8noS! 󀲡rq۸eՂMg^kWz?p5zq$kW;{,i o&#'_B%_r'{hx=C C>c bʼnKhAhhpj̊d}.{3@1j1eO?[+~}o InL{O;C=f5u?*>0̫Lq4<'"8pLBQF%7AsD+r1Rsj{HLڷd;rmt()Ew,p7|䖋d;P<([$ϵc~~&C pɍT HSTEP#}s-%ue^4y8 !>f'qbʣ6C2ӶQ=oQoQ˷ؽmK^-qq˜?嫅ִ0N@kRjg) /vHn4 ʵroÅg-[gT8w_]{C0$ƫ޿I oE 㘥!M}̩J(yr%4 %^x;h]-$> mv" zZM M=?.캧:J~2Stq{#Ɛ `HىA!G- y{F;98ws'$¤|9JY,u0/×a'us\ (^W*;dLNhim8}kM@$ mlJ6;E8ϔe#ȅSBзS] YD}12OΚ{OHlD!;gn j$=㷧GŸ.0t脤_y?`t.z}hN$IlfYjKj,q-rg;_''rforR_H;X|ّ}~yK>QH\QkǠ~@Ėդ"jff3AГ HiYٜnͭ73anfnЏ337ψ2i?=63Vn (͓32`2^}Mȫ|onY=0xOC(=Ic>4^.w}?No^KtOr|=>my3{ɯM`A/swzG]1:T'X5X-!/妸;Ўc_xRD?=dPRVΏChIJVjUO۔fLeE+c<)' ll99}ќ%"'ٻbqHQ%t`͈ٱ3 $8x \dni0,b%KwK܈8E#- Qkm C aE{ZIc&/."ޖO,]%fB|ȟ.Vx8W=6`ZǵG R^D!s(hnMEM(M19~~45dg?mD-AOBxs0aFشv ~ GEӺ{WKO.mc$)=E Ȩh`Isjj\D"HYE5rt0%Pۥj ¯vx 4c-'!s@ݳ9O(7 q X\ܩT,*-ҡz$wgt|&,M'Jn .W%ѢpQ* &8#vmS)q !z5%*sg#rv>~}:Q$E )GcsrѥhvֱAE &jJlt4](+昸;fe>Օ$ofQr1wc䐒BI37 hc3/lDblRw!]'52 sO3qy[ sNt h~CG$M{J+M8i3{VWft[R]VF/坴jSE-)S|HDmcAjX8%[crjĕkpJ1wxfU\6hO3vwQs+,Q@Cca*l3HBo߯: 3:hvUk,=(ȣְ/;Pzk_Z_:HFA͜Kd2,EE !=Aէ\0_N/#stg> m 8^1zc)D0v\ȵ횺=8plӮ ~"%#ZZK&bv>T֟}gծdˍB!c^=t}~cbZ!&|jL 86:M/J|ۄc~"_B 9p!SyNb92'{sq iOYF BR̳;xp|eq7(k6P}#ÀX S2I[Dn*F-8 ;|AKXLٽC2DZ1@ALYHKnS+oC _.zۇB36NٜK!cr"=CR;x\| _"('ϰرj:;90WqQ<1ce[7,-ω52&[B}Feq[ L4]:X*W;ɋadKw%H⠓"d1n(m <%0֖֤6R1DWyl`B6S]* {ɍg hMRȝk{ 1zFTT& iF"Ԓ1Z,+U' dhpv!,9ܩ9vؒZ$a2a 0A%b>|seƽQ%fn4LD!%|l:pX bL|16= 4?CqSji?f.'8pϲu]A/^%kZ @;apY+VXMISn_Cfz >TL4vC-ݹ$uȀOC::¬,^j0 L#OJɧ6!,g4gdCꑹ2f ZrOﯥA4;J05En|,1m{;]yrVyTٗft-}zUla_-(\wLfhԤ=|O0z__d[q (k@gMb—@6Q4nXk#^AixFWJ Y0d=NKq *=C.8ȕG\`'ijB)(:A Ժ$S*9pт'{gq~Cuo#"/'x1<2VҴݠ[eSBe\!^%y'G^7׈.Cfc\|=̹p,q{U"8D:8S7%5C卮8ߤQw[WwY]8ƞ9,ϳI8~h׶UPa އYO5jSrHX)"_LG?q6Pg|гK;gV1è,b2I X9:4~xay+~?׹.__6 vfw5u ~yNM`gLt6>(|-kf i /. ITqk1؏,^(QNQPnNAu=']1H-<2,\"m4meYBXz/̛!ycޚkGּ饁ik5 J(̩0I\p4:Th?GOuK'{v0$@gϯUB8.P 6_I@la!>`#^,efQ2V7{(]}&A.Kwasԙg? | hvW :X l7$^#I0-nM3:D~&a tfȐqB"$OlMib^iY>w |C 0l9#,6c5/bh^vt롳Ӫ ,!BE-`M!4l^ JqsF1ؼx 2%xzP4-D:NY,1ͮ]cn(d10\LŢֆx%0geQ nAdh8c710=q YVS'y4i;K&j<ĤZɞI[eB]~d3^}|233;t:f[~XrE$gهa)d܂Ιi:We#gꫮ;$cJRxaZ044 (:8$7lISQaKsmMlA,+|;緕 f$~JAP,hIA5@ Ⴙ6&XNDnֲ`)a^R]H?zfUI$!ndP/Џ>}SևM_ԗDJ{dMĩ Ɔ۲C Jd2LI>]Zv1c#ay= L$D,\>XLW\wS룳#'87bF7$j+!  Y>ErBr0]`H0L0u8" 5|tGkSa Fh$]жT)8uso'9ƟԺK^/N3UM =_l <#@Eqa d44[dNx0q "dfR#G%>@x^a"Fq=„ EB]jHboК!xbo;6 9CZv (i(JAIw_sXL I(z jm8[SYe/Qѷ1ϙu0Y2PevD#9l*R+%uݪׅk'}2M;SmmEx̾SK"v?U︂ϱr,q)3b:-J5=9] u9:'5_' lށu iIm/8okeW!NT”(P%~A']􆢑("=پ'}Fw3A$?Q3ǯrڼ?W9jSUo 9O'l;WG~~ ۺ'~I` 6c~ W~Oc~S`uQ`ApdhādWs^ +_XJPL"`QONO6|kgE^;iNP~T=E/> p/h_vï[4h0Zj]z7(!?x|{Z#m ÿ摩䭽a$IH#.QRQS<`NT!Ny @'|)cYҝ ē1/<hԮd0lf ~,t hQĉeǡGmL蜠}Dbig7߷TԩR'Aע{Maz=߲>lYiWDJ`{@xO"Ee#Lc֬1_HpDH, &_xI7H|sHζ#9fd>\na--4bD$SK#ƩCZee.\] (S4[րnF,b%X\Ldb49&1U.~+otJ((&J((*XQa SgJv!`*A,#`d&͠<HRL^}+|/KPRNJ:B%n>l)Q1ˡ8ݚ9Xv) ȧ}܊ش`orM+VC_7ffҵ+ǂ3ro=;jhC}CSw>r< 0 1֛gh&Q!ΐi/xx30o$JfbySQ1 [gBoX~̡ϖDF 5:D zGqSqzfnb $`07fozrPBsI9zWa3ht͗ Ƞb $"-hضo/+t JnLگ7h8yl\hj9$MlFO-Z|Ѿ˾ɩ:$[ƙa$cw8S'NjWfXg25w/ZDuվjaoO)RHiO؋ӱ W;tƧ5{g.IznLnpNDQhNv (S!zBxV)iT :c={:.^@k 1$حɏµ5X3R#F8D6)=L 3H7.b"C|LAz#78h0t3>UC{!,Q ~POg}|E@2Ls)hEYafoK 7v%)RxvNjѦvf-Z_Զq9\8m~Pۙ)h (;2CLo.7e̮ۈӖp{/D֜\3J& Ķ჻CivKTDV{8uJ&K% [bwBE `ù0C!)mء2j}%U7O6WF1Q7|"1Cy$#ھA|`߀{8&>W>w@v nfouș-x^S~zGSZ>ҲUsP!z߿I1b_pa d35_=+ٝ=@@i/Ԓ%-ŖS#R^%I 9 u']J4|uf]P/6A .Ch[gV*#= "+B!eHE d3fT 7Y`0R/znw"OϵripyҠ]F+pąD&X3.|3#"f2\+q9D :ZM*Dܶ@֎Ω9Jve=rC25# p]Xy6`͛Ý *vz}vϓz罖O->2X#agI}4wR Jʣ0wݟ,Ђ #adB$/#g01KN'|}ϗu}/v`ܰN_S!pB?/H_pKpaD?wl5p?ϙrH79_{bHG #{]2&L$əZRs댍~נ'#Vq@3?|72`JîDJT\-!}ΨUBs S,p,31،|3+iv H#EȵQf#];12]c\i5Bi2Ol<&I̾đ1#߾|@DաKp."3EZ0z-};b&Ŏ[+Q7Mq *4G%ę3C*hw2,$AF_ҡzD6a̲҅b6""-=㷦ɸDEȒ&|VS9_-30:Z4ǾDpvT4XYJPU޸9 HٶU9Q!?ͭByZBxn}HSsufPM/p`S2Xs»km*  l;VLw^%\DyDn5D8R+ȹfy{TGrZ{=s|j1ɾ;4~$n@- [|)ģg.Ve-zfbtLD9pz ugwBlVȝzl6ЁH? sE4MyV8(T[hHl-n}SSc_~/>/^12!P^RNpi/1Bk3=3yLth^ޖ6mEn:(M8ϮMxI{Ȫ{o:ڋVx< 'CE|%6"83[alegfc `Ԉs?dgUxRI>|qʖ ,~1oL9 m-G2cg9~U^bsׂ?'aVХ=#9@#_*xкd j:Rbg%HC(O璕!=g B7@ nb$oV nޗ|VdB!iSR 4{D_7㜶n]`q#-!uLCE %SWD}x #'Ql1? O/kQLmonkoh-a)7spqCJF7UI7ΥUC4Dw( 299 .(1VDWkpB݈%zleHmqj&0jI[lcѶ])w pPFH1fVi? 矤#衋1WDi2U:c4׮H/D^&nj9?%Ѝj%@]mW[%]^AosRQ6QC.Fg !ᮺBUMU*ȓQP4{#dA`#Wq#3Gj,e^Zh?|c#@h7Hr I*7'n zJBF~^|{%f5<>i 'ؐxj_E>zN:bٻZHlPCGmM2rfMfiyOm.ύ'FG7D!˷Mv:~XYqd쓆F|ֈd7EGn&-y[t@sƨ؛hz ts33 t1h'=vG[>EWq1<l_(vh#_ }CMڴfP34'NK0wuAQy /mmYAR cITwLF`x+HÁaɤ ttw`NŰ 97&`Cy*K *؜x(I!'|H*Y6ϛCܳo?vw/??V3~_5~5a/~/u݄7,S! U!9JVZ5zűE:t'0 M3Iv~3^o x@)ƱhM J}ilN%3ml#smHvr}k pJ]dtxodLAv]mUS51x,]Gc츌$I->_|aԇ}S:!=Rsg{q!8F^G;I2zZ8n $|*執 [JlA3 #3Y2v-yWd=]}%*a\":nc< [a ԇ&vBmOb}0GDL2;.}6UZm@~&N<8I7NӥnXrٗF9*`A?ͼhe5߶PVi*Q Ցu D5:8(4FMo;B@Bs4 "9VUwww^|߈xwxkWR*]"5ܚ$Orpeà4m@:WD˂aQ; j`btȄ6*xV6=gÔF(G>E) %t঱F^C(h/|{ޖOZ,^.n5ի{&O>0응xgp'3T4Tˤ0ivg,pzg?M*#@=Oh;Wkϖv 93qHl aدe"faa_a2ptFyg~Ou x Yk0"1EmPE1^yaX1jjxB @ F "͠b $6 9h$Fy&ϓ*{ɚhO/ lu1uؒf{Hk,my)h*MQDQZ6.9CtysC,mxbш^R-^dL#ĞBrkpɮ53$1x'izs=zv)Qq~aE=Zn LTiJۜGc 8L>iJ P! ݋Cn탛=,$H0Io|zw[{~\"22R5#.~` E!Q=iU| 4&!׶]y#kN~88β"S236pgq3GnF@~wv]}} G_+ 0RIFn{uo9|?țr|ZسGpv@w5ᦄ$'9|slblʆG;#{~IOLt3khH#-7e3ߖqHգEz<*0~a|d-tGx ((D$}eOY?lllll~S?!ԧ!ϙUUUUTmI::'۲,>wg;;tP6L9/9<>MbHMt;>,ks(lD2Vnqu}ָH[xvkOٮ0}8fP@Fv(/wQE:zϫOϻ>H ylw[C(+jGx=$bL鿧I@O1؞uergDv)Li13Y~vrӍ>3; Y4 xtӟ^%GfP[i|<7!N5Nz<03,1_'^pAt/ڠGg1 m&P}yvZ3EQ5/4zM\c΂&X$7u=|nzluޗޢAz/l/{X*Z6w\tk|/etʘz`8,k (TE塠gji%CZi?&r o;^ Uhh FՂ?s>.}8I1/I5sxoMK޹ ~ a1. w嗥1EЯOEpS8EfA.ܹ,*/Fd/dio^:Cb=oWϱW)uX,:- &D^7zrIr8{띢C2Qҏ?7_"Q*y7F;fAcW;%#'W__(J]̷Ƞha>:Pxi\^n} "ϳ[jadСwrjK8̆<b-3_ ƅhJY.8'h*Q/ܙ"1۷G7?wK|,7/[$95 GFIGnߛǔTCckksq|a}aDz}߅#8F 9l:DguM7Z` DZyCڊY-kOFyYʰ6' # wsfu6k]mL塥L߿+!|%s>_Z5.p{2%C3 LhW ҏfųe.kpv;k`Ԫ7y(Y=WcJ6 &ch 1/ޘv;GErj)A`r"V -m?, '2%Hy B41 !ɠQ? GD ,( ˘K\ X ѬrZV,Nj)ʑ9!N C!XU-X/[$&MAAE$VQfbV1$:dB.AJ"d;R(-6D65DM"R̎r0%IZh! 4+<3ABZRcl@dACnVp!;N@,2\l 8>wnnr@H!JC@p0JH 9{ق̕Pb%F`&,E r*C{1i  hbz$HCA@"T FZ1KEhrQ1$2`Y02Qb,% !@lopI! 4Ie8jC@ή3%0% 4Jd,#J#BM(-!)d9' JԴ"K(֓4MPhRL r,.B Q6IAJ!0"(P*oZ*wq1 Hua֡t@$q\D„ :@̄,2:1R\7۩bp&@JDC*$H@$r ũ:N%2tG$ [3 M 8Bd@ JU&cf`F`.MNaKIh n2% D!4, ʺ7u';y bdzOΞpSELunؠDq ?c P@ rR_Bwڢ'[)kygoχo`x~= >ar6?W;uD\7ClifVD $J@Ca 0Jc pϧXWo}ta"0s:?|}~o/wy Wa tf0 %SJnPܙd$wok}=޸7lkil5% DȄ }ff7?0A&ff<!M[%/K1/$()"iW8*." :U݉XؚMȀz=6w*W!Z\:vS}SVV$zp-+䫳>8U Pt'2t?$ޘLo4+ ';w`WҫaML>z7S*":0*4AT=`B,:`<&Aϑ ` SKާ<*‚Eu;Ãh ,\CRQ %Հ~dӸN8<Uq9UղJsqP{C|FiHa\X`yh~>9n'}?à $~]M*@ؼӊ*޸ou~-蟟ޔoBjnS~ $P_eFDdRuB &QJ(DS@ ?fe0DSȯMv ;}f|s2ۖBtCЅOCJN@7B?^ vBT'韧(Q_Q.- Xo龵М8s@_WSCrkIpt]x*pVpܫϖ̈u0,'LQK|fm!r?)xNmip&ffț3@{}s4|Qa+,qw6jT.vRI@&T{X"W_ UUvyiP P)|Zb|iOP@0YynOt Mh%^>^dDoN%Ү ֳЫ|`_IO('𽊽p25^9?YwU_O (?{ 4_=^\7súCy[85Jp^7il8P 9>r*Bz`5Wj'Sp*$Ez' O洀_>p,RXqDb(7;Caࡠ1к|:I})cxxJR% Pd!XecWRqMf*We"Du{ӇE]!T A\wAu5fwj?0t_X*Uw^JdbWEEڇWUѹA] :Cgte2Ahs8@ 9Ud*EIS;)_E?@biWP'JtT }JuwuWq}k<\UO@9P'e%Uꌂ:߿7 :x^Ghq'ΖS< ˾rdy6Sw':A^{(X:裘.__g>d#ʝ˱(qVrOC3|CA[ӗH 4, CVɉD⽪WUTG |UFϬ"^>\cTs:>dy6WڝJWU"C!C*.3ul9"ۧE /|@4&<:!{QSN,&0t.WΤx%!t)u7gLT$_f \JCfV"C쫸A؋@ @,V& 0P*V IrQYv |WJ*,HLTPaVHUTҖC0iFtjvX{S 9dI+LBHjVwrhفK l 3 )WjDN;oafm7a㎺̸q@ 3lv!x~ߴmw>Cd^owXj*ep3R. x@rOKCNIW=AY6HPSx)BE~޺Fqߛz튿/"ި|'m W *ZY_}`*;3o֫:}bpA3W}&HEԏdU:>Ty;]Ǣ[“ )z<ݏq_?ΐCα}Pr8/^A@&z9 WIXUkDU۵^z%^^HUx~f=Sv8lPQM3^U:>Dt^XWeX (< U@;Cg CIH'8XmR Grarq'4{m hUj'|UyWJ,=ʴ923|zWCFf 7ÝH%ap#j!MՕc,IrPh(cHϸm^Ug-Nl$]eئv*7E^dӢV@!&@ N*$U>ok fY:Jğk sJ̦UwSO E^jSp{%"NPt6Ä$E/!d1>\OCG$`X(0҉㷜P D"Ki.^zFN΄1'k凿E<}NJ"*U%/EjͳH-G|(JO2{] T:%I%ۿ C!>Xl"fn˲Wf]!bqȳ҂Pt@vy-E]'06ˇ*44EXUW=Њ|9/VS|)@7(0.x*jԫR`L@1 @aIAʽЫ*ԁVCWttH Sڌ'/.ba^3zU35S(w `^y:cfӢhNvzntf a?/_?w ?Ȯ?hSQ?+,?ZUy] zoCu$_[\ I&| P\:&b2gɞJɮ$F-4Þ4Vxof@"N.N0?wF/7I0ǘϗliB{=G|10aHRC7OS9q{fR!P6FA=Z=BE.K1.ӔBXr]S]\Z ZHYo7Xb%aLCTpѝTR:4$V7ep[c/?fӾ|'$)wI?p$mB'0בKwQDGS]K|p0P$~hh37}+iK܇~5:c@~j;R A{٨D-P7"n@`#|S'ӪZ\ygZ65P@9/Y'ۺ渰_y$ITcuS3: _?X?#q3YhHP? zĹ[=ӥ=$(R'3"&fAH:6ݫJJ YQ7Pzj 'F)/vrFLrQޏIͩO>io2~wt[:A_o;r]:tkX. 4OipDevHM Ԇ0[*&D?=;[iETPD6O쐳?g s,`5a"$fA_i?#t[a$V+BJ@6B@o03l;ܿQO/g; !  !0v-@J}C>=e[uٛ4\+b&iE] 1Bk?5Ĉ0ĥ (^$aTާ4ix@Fsi (YnG wq$E >RJg)/Ov*Jh;y?tgֲ7'8;a&$O8GE_bG#Hvdp](3S#;FIЇոn'y?nueI^xoc%$E3bTIZB(T%cbS{JRzyo44vc $! N ONxhgx wRP kdS*Y WVGYy06cjME$xC!GmUVR*kjj+jڪU{$RuܸeUU\0hH!|zUWۃKW!QH#P:Q!i4Si0N.57!M`/wz=l OUzy;;;R9B!o|W|w" Q82fo lԾvD!]Qx붞IIyw춄}}C&AQAF2JjmVi[ luL($ölJ{Ɖd@Z9HvM d+ Ŗ9w[e vI'D"==^ I ?7>& f3:@aW]a gO;z6RPgNRoox3]%fDjju62aK7-n{ܒH9|'y(|!\r⪫WӀu4Fc_R<;_4cڜS ].)Q -f@MsjrGw!yL+l|t=Č֮ՄR 5c;3:Y: ؓ23S&z**qyDp1"@&ȝ{FHaw c/՚ =K+Do$⠌5ti4+"%:GG6͉z jIhidz!>J{!|iWkȧ|zy2P-4 n֏Z+'_[|0Xs=۷`_< AMDv9DWJLW *('a/w~jYo|⥾|V-OxzceM+[g:[w7w3lDVM&S 1qQdOhZ}$ʋ}7E۸ZjpyG˩\}A6iLbYeܘg~=GUU&I|jNU6T=sE>uCbMVبlЃ"OE>1ĬCGeR G"N#4n6Kbٴ>NoQOF0ϩ{agK=TEUQꑊXÈ=T !=zWԓB-!ƀa*iI`>=!Y>B~ݤg}~&Pm?*ϬR0\s˿๘jq/886q61@L 1FI%NvPSÁᑴ~Fo^f%@& o@Wi/D@to\q vvL;ȶ=AtDžA 4 xgQI؂].A|;pt*P׸lls0 }ֈ*U[.;]P9mڜ 0;p^9F *,#8Kt`l`!-<@EMIA8!%;q9pZ =<|eL[ ZK4(B;@z BYtE GHlc7(bI>l>>UE 21`|$"1:̐i@)G /~7`3t=-[F'bs@#ϱˍ_)>]' mD$=;͵G-)عk #-/ ߅|*ڡx3&nPFW",)hL ) T iUڅBHTU1-iakFj4aSDLwjz u}7!`0/k|eLZr쀉0QZf9xvب6%08I&څl\MhjBp}vSoI/{%>,;.LR$o"OpaX{7XvzA1Dא)U)}=tWL˨_JB`Q3HG'V$Y6DKA8J@এ '>@ Hϡ*@v:L gj6J<%`yxc7GSJ2fFewR=q&XDP.Ă|ar(p6mI XyNo5Q6F|s)rֽyp_}M߈;_p&TkUқVf/]L630s[nPUWO՜qO}S00TDCn..͸'1mVvYWی:|T3w ѐmL2x˫/q=B> RzH81.X9Oy϶ɐ:\ u~\lESVL75S,Ԇ'V)U5dYS`o8\DDHWߋ;OFxíɪe+ehB|q(R_nt&r邻c2I'tgk:Ǎu<T 6!!O;n=#EvY3kwD}3*|yRfێ1d74э!(OXmdT-F!Ç]s)BZ ĻIZj+M-Ӥw<.e3Wcr}3B)janrqxG>:cϻUJDpRz:/U}`\986aqeLka*;  J)9R7Nè(d[I~Xϓ<8** ￉wLZ¹ox,.K iʬeo%Wޫ/O> W]>:)S|rg.#Nb^]|Aqzgn&k]+j,}$ 6ޑܑ 19LQ/$$l(qʓp3xo:dzZYƚ |-аb$lΪtn^}+O:ӖkDl.}V%a J8X@`BOڧ O phO^L2֔]z3adI@L̐A@nHAT0'ue䎩"~{=Jug"d[v'9Ie{$B<,Li}RG]C.|0FbXtǜG !g|߷E8[7SN Ng0NŖ8tXvI41ʘ!FAtL!sتtj9sx=]uSI08=B<TvN jEjEQX1Nre=xޘHpٱ$F{F&mP&XIl3Wt`rZfe`N -Qn4MLӵ#Fna.QD@`J|Z"'nsZv |>]RKՁ! G8)8d%\sGsR4$(!P6=8BC8BE6Xj h3xC:4B@歈T8,m݇RI Wq{ L$Pv s0gB@3098DF (_8 5D6Р_ AEND}q޻7x<~vs;y|9*g)h(%H!h& .xyyܜaSg{33͛<`t=pfLNriA0[ 0 6@(kOVR͐HqIvM^2Ɍև'Lp WyRRǁJLl7_"LOYI<枧mnxv1LDF ",x9qtl˱iꙴGb8>610FV:^n |G@`GyG])^6fcUʏ_`C!=c O.3$؟ 0DlϾh{(HC_΄nΊy y[(قS)6{dz AkNi$v`iu_ S|;) ã{7W&)MQS RW‡>Mr ᦐ_J"$fLHl.tAx $U R"<8$%a:Z3}2K!$a#1 `g{2uX0C<<ܓ2< @1Cœ]`" xii@VDUUUJUiU,Q7T<4 AsЏoJ`~A MU~Ϗ߄'L' J&|͆'Gx=KId!"<9T Gqݮ48coxA>d_?4X@OY^0eKl8?rl 21<8~iA=COE(ĘL$2F\1دQ܇1 =< TSb/k+sa Ibf2(&)v$${*&w(Uf{@' M 3#C:ut"MCt4e`A!fSqH+ " 4$#?^m k<amm2V H2@M8fm;ĕ*kB,O7\==ߊy_*}*05+zPA<-Q-Q**xBזإ r``0I7=acT`@[:ATru>U~)|OYEnϣUC (D"FHB0̒L 1\VP3IDp!jIVJ$hPPzTx:JER P@@) _օW!]*ɬdL3f((8x(LfZ7Xyl0R[0XlEҘ@ns>xsH8Qvb^Q ybD➙8y@'a|#C=pi %hzBA Nߗj{n8،~┉gv勽D܏?ߧur~~_PN"$ދz5ş"f "J_RхԉܣJ~bh`On{?F0[ uw44}IqiwPƎTŴ&9:ף:!B!I#DEZ"(j%TKJ)BH͟T9#,j, F 3M ¦S'֒K,`,,0[ʋ۽8:u"3cJS$&* `d41&`X.ĸ.IdH`K+-$aYl-PEVL,$78ݎ@[R#Bd[˵lvXw+qTÓIeY9d2Q);vQqc!rX]|<=@<ю?BoBt5ІւDO\CGrM@ |g>;Y1͆%'| &L#ohxZV\47C)O"O=h JN O}=/sW$ 1,P}-XCl?b, L,#*BD}|ϝsOȏφۓtp<5N]eA̠LQ*g@ཁu"?!d}3vhel]]ƓsB58@{/vuOѦ.&N p!v;; ;pûSIb@@Ȋ'LzͭTϢ ?˿mɂ/#Hz~Kg J|&bB%wQ+ "'X i5AT\N4`0A7O:=Jq 8_ oMCˑ4#}Dh+Ypfn!T?G|9D1jψ1WO /H<)23*Tkqx>h<(nOV!#Ã&9Κ8=E!9l :u3as.FHrjDlAf 2Y3Da.ϾI <Ñy.5IhBd`$aFPt.BY8GE:LL laE V QFJi2º)t3f5۹4̸ h.m*F`E0I`8Oqf({߅XP(}>No{,|t|4aW`l0þ?$xUE"*|}_MEЌ%)0%ʄ1S(0!p0&2 0 ą wZc{-,U yr(T׃ | #)E_4"2 =݂v60݃s.G8I.ABx# 7QW?~EGRU#M,>t RKn M롔D}sk}|5(ʢl~x~ ,wI'=*$"C{dOH}D^ }#D{GHexIlO19INglLY` =wLvLL {P>$yĹ2"eҳ9ܳeC3p# 1 ~Ņ$-XMdM%}vw] 'O0Pijc'RwdIЋv7&͡%`w Y\}-p[p) %(za;3 vٰ ا$tzcJ ToBg6}o?gkЫ|kU̲ɰtRnb6G b $*X\d; Y˞G8d B3^Q!.&PK L`z '~H( &JCqehEU~/|!@~uӲr1vwZ*t|MzMGktju4->?KU>)y]p Ɔ\>08Q4ʹ4턺bt4i7/aB ԽBjk |d(F@JFkRɫL)cI8RI:3&a8Sa7p/aUBe r`%Útw;~~ӏXF]JD8nUNpπQ)eLb &Q w55D;M嚦ֿh0e3s B;0S!s 몱6TA@!SKl;>̟x hjrrP,bI!ju8QGd;76\M~D ǩ7:])>NtXeD,kaf E@G5Y~䁧({ pF64=3jQes\0,W9 pDruPDIțN JPt $h `J MH:KZw{iwvnnb4KR-b:NPAA$uWț'(B(<.h/-P{t??7]\VHò.Czƃ]ȳ|&ffJedž7$AԽk8OI"=%tcU1`wt9F<~ҽ$ӌf29fQTgl)"%d(X0˜bX0-.S0b Z( j-l6dxڹgWˣE$$KER?y~]|U b`*6ڪX`W01h5[`l-7\J+rrW-+\10mkFخN X`$a$HPp 1{t2}E͘jbO3j- UTY Jha$4RC{C] !`hLMj}gqQǍU9) "t@ ;RK ܅^͇ I()((rL`1B@PLJ!fԹR͚`8*$R^IdL$jy e(,I#q%"e0C)$E(8HJDRn\69 `m&]iѤH# 8 dc:ɊK,4ݐG/mû~bt +""6O@Xt @rT™PA}v z;xr Ȁwj`7PYSl|?q30#:* ´{՘mɂc6S(\71I`laAо2*L0M%+:tF9fBs9,_.й,̐3;0pܢ :"c D@HQT0˕5TpwfӎfNQ;GTpz4JoL-l)<@)6'9ToeTL4TLWR2?~! Ҁqp<<, 珞+RS]K숆"|R(ue5.h|<(Y $9t"hL$&H_rP>?m&ZK>n4_tGێ_#{t{19? |/+8 E$MQH1Ml|>EKA@kZH$j0:IȤ|?F6cnh'^"p@>\_gOo#=f b\i;sSaH:)88eZ*0ȶFL! \"k5)`aA(cHX$\HOL g.KnЏU-hIJpej9q s Kf#̣*0gLϵIK]yWX~_ iÔ *_3"|o<;HlU fgX_̧sQI6(%e l~\E_p@=VHQdd=Ҝ%`nGz߾}dBly0^~Ѽ+RҴ&c _Cai4\Gw,GZ=v@y bK06J2Q=y~5:~PCO<׍IAE]4@d>Aˑ !Hg ٵ\j4=KrCH{'цU?%HI Z# =OF [>;1h#`鐐#%W΃A 3[QnM a郃σ÷_lQ |يBy`5)FH̅ ?Z#5YjN;B-wziZb?eFOȬ:'ٶWD~HQPg`~~l6<MZ.0\i#TU  ̵,)L $wfl'MM) زz}ay4a`jK SX@Z,ҟF~|5˖H'|>L݊X  P@R%/\<قe(C(+:3 )⦄+(!N~A#N30ed|s cmhYzpKK̾t>+xJJ9o! ,$;Z Z@pbIƆbBdSz4A?_h^6sB<*/Bɧaej/p$ʟpb~H4Cc}ߕM- [d5m31!hHCj)b(i2p8  Eh/~R∍irQ,V*aA HUac]}Bk%3NHxi,KlU?xa yy@X*hEU.`MqbnH`IWA=ʵ̓TN  Cͽ!IlT#Vf9=W:?h+W &ݧ45k_́._#i™LNM0,&2E=s*Q4a*%8aa0"FzњK\L2ڪL$E4r;iP!O*u58\-Br2!!E%X q5(h2F!h `A83VD$ = Ԛ] t}b OJ4B4bSFtZ L 8cc| ƍ< ϑa]x|3 RO]Z"ɦ^̀rQEF b*!Tfdv ߳ CBd◠.Nf0WF[9Ѷ?l6cr?3B&-:{n])XѩiąIT5lC6ف: Al3z)!xm69mfTh1,DU̔298TrJB6 8g"TiFu<L pSe[dKжs#xZs:G dA@BqSZV8xٜ2ANl1*C6T{`#&@Z|=6]Jx;:J0{MƼTU@ ssB.a@t.PhavRDDmB] $xNAihFZDUzÉ}'TbT#L3&¹6ͷrcf8Z_SclVqvDƩoM` }ss{fnwiޭNtugBO aLP'C%R"w*4J8et«-6耎D|d@@;I3sS2$[`DD '4HL3W60<÷>p=u.4"c$!Utf\ǖ ł4s?Nm R11/AdPwkN^`r0'xXqD"7`<i_G7&IT!'!c`*! Q:gSl:;ROi~$ʇ8!jO q@X(U>"a"P/LQҪU5S{g ݏ|{}/k~,]h[w& QMӬavBUz/wxb %05G8*?|~7|6"9wҬBܾy(IU,xS߻bT`~D<`\>U/9 m &ENGA9QqS (bS>yAа:kB'?m;wߗ~H"O +~/61j%7&˨4`Tuag&/5YRT}2M|hV[^`_ 5}'a,#V#3!)4|p~97 ~A(j"(Qb%Jق 1QJ[(X9D"8ʋI@ x #" m2` g%!=SxJ%)X[KAwaثT0^[ r0@s4 9t=t|ϕ#֞RBy@vI'g?O)wqw;v&$FLA]́З<1:[;4M|?.J2%".iFIM1$V~N]A\<zN+1 d̝A?cG> ]΃&  W AQ`0Iw/ƈH@ߎp!X~ a%.DiϚj4D/W:f!l`}Do̯KU\kl5k"9M  myr݊Dxo[D'~z^==qG 7Fv9u$ @wԞJ-LQTѝaHaۓz.%gHgn]u^b8Z+37}-pŬK&1CRdhvzRZS!s;T5I#N:YbsHÊ{g,G=N}a[]p#mOmTqYƹ^I%$n+Q`7 fċl5;@qD4hw\[LsS;KVڙ- 72=H6]ol{i_1>/Ad)H^w vDZ0f3^=͵Thr\Uy^9$9ZFUI-õ{5('Jf)7'4@g~I(<'V3ao$ 3,CȤ0 Md@W ,={%}ڍ\uد[339e~;OY⛍swQƫOzjX+E _ ֱћ3EnZUQ O7Ƨ:$}0-">/zLz^l|7P#bo9[$FRsN\v⦻G + sϤ߈lc}](k+K޳pq[|3屵4w U YK7RGl;Bmg ߄;w/ o}9sj~OG %qDnOksg|&wہ)'0An{m٩jY{TNfU_ 1Aƥ;: CExۤd6Qџf s׿uOWw>Vȏ9b"Hs\Yeir l!1G:\=z^Ǭԛ;{$Ա#ŎOY"N=l1 ${.gJ4:(Ѷt9Ǯ@vjqߙ5q,֫w{zSC_Q:g&אַ{<*: {X!-L<ld Gʢ&XPUMQ:k;6mA3Ma-wR.re-]p3\4PKap( "̋PEd? @4pa,EWA]üi6Gym-ߡv4po*`}24j`}y+R7y65(V\GZ@Pt!@H$_D*ہ`֦ ڴw;m\//L*k:Hr28|O :txB٨w C+҆gKA=EQ.΍VmeˋMA0vE'xS´p8y 90tb ;!QG}N;D]򟃾;s\+dZ@C%ѝcN{/>lk-1{w0læƇIO2Ʃ>yrr$`%X;Qp͢+f5IcL55<&)2 Σ#90a%!Udtpn[4)x{&Ýu,(D>̪Ǣn,4crcf A$GUs߲8'Zxn %9vrJp,L<px "NcmǍAjOMWw}^6Wڪg^>7wYwZ⹍Kvl]>I pIR!w򂀂0|cL!fbYݑ 6q sy ݄ja|QOfr|M|=F3tMMclzoh;lR7#|>Z]>|y8d&C!v\%;&{tczCEs Bbmp]祭edq6kxqPgR& a&\ϩGй.Nׁ!u`C-%_0r:ؑʥ I/J>IGF x*2] +`Ł@ED4'o(wix\ہ8fB j^o&d7Cc3T7OlH, Xr$&8ـdO"1Iv;{yZ4> Q'ajqB#KHU9Vc5Oo/(+`(LRC5 Z٧HP *T`0h$h PtމYK̮f9$ڂ hm4 `  Y Neba$YBR Km 5ќfbb2B"l0B2h1!hPܬyꎜAp)J$@.*|8B59ѭ)lі( h$3;Sp"R(N2 MS*&$3~qsB-[A>nULXD,A<]_iA:e>wZZ& Ҹ>Wm^hV vvO878(ӐQ%}!s>DxF`.6:͓\:-FȨF3Ca@xfi2A4=8ʚ#e ѻL djJ_|drqaTF" = 8l#@×Ws޿"*oOיj!ssOn=g5]JJz @<\?yAU3f pFBPE҂i%;$EN))o缅 d@~a# g>J4r(>nB{Wi4>AQE>q=_J`IDӦLn $Np> ImhkAwǶԄ$|HdIk0.%Dìr2jh"f`t4p9Ysfpg8{fa7F-+oդ٣;\ o'` @ Ď<My.#OP2Z>@?y@)a'nt;uI3VT ׮'2Dvsz}B1 1,)LC}tr\B,#2VR֍bĦ0ȉ&" 30\0hhh3`(Mi A*cP),22 apWmGh(iT>nx2PCʟ{(tEЁHQJuk@5! Ga+? , H<LDMRPiVeNrroC3#ԑH M$1r咰BڑfRi r4&K%,”ZY`maKYLNk (cHcsot%1bRR6NA!{>1dFj&]4S!a~if^b~)#}F?Rl0a7ء"i<)oN~L낦85U7|S|ci Eè UA(E: xmD6CkG(Đ>?goxY$ ;zr?D)}a͑!00/ V굃݊yL֧;ϰLE+/.PbkM:=ڲ,!4j?tL hKA8&Ҿ|eI16lR XOq(љB*gt!ɑa;:;[,>$}z}|~ B^N B,0t69q%m%p HxrX@€8= ;kݯf[ LCF!8`/2ЄiHr:ըP 0W\-`"(#*׏3~WrgJl0b3S v Ǟ (i(V&$l)\D ۲ |tM R`SEV4>g l39u(3O ˹|bVhDC݊6v?^C@oN8-T6 U_ AHـyC+<"}*Mwch4?Wלb4J~NcL4)Q J!2?NHY x Ml-| !4-%R-3L ԦK&DK(XI ;ٮ@i/UVȥ3թj uDJO4%SH K/ޒrBA3x@2!WLJќi Ma#<3}z\ kl<)ᄎ~B+M*1ls sЅt`e88/<_|ɬg+(|ɗ U裈g`Ï>ًzqC:CX7e{9;2h2@}"PC#FͶZG% =c߯Γw 7WH'6$:|3d)YUm lB :$Luq'!ڃ6*FtL@!󀠚 .~) Va.oǡֱWr`"~䓗L9_]CxSAÆ?ڼ^25ZZ-d iKOGP'SNݞS.HSCܪ}D0-Ք@P8&aΓa dٔNeXe\fT* &٩ ~LJ'9V=_Y.DY]':mA# ~rLj*("("bBV" YP Qu _h~ ~(C eZTC0}gz?(C:!F!UPU(O<~]P) N@LA"edYz=Հ~9_`(b^ :%MPa@҄(£Б%6@̈F;e@,AK?_#txH@a wbfbDPJ)I޴0i3piHRnU[*mѲ$YCˤ&fIJ0DHĄ@RQ1P3Bz)eN'LV*T _PJ h1TEU@QF 6:Z,M+=٦陂.as09H={g!W{ (on+2W3>"< l*2#_C0DD3iEFbCL;θay`n!9&mhaf>({i*rpJ`PV\x>-yJ"/f@c T˜He17m;1.ʔҨyӉpF҅JP?rJ^" ݎ 4a$فbx_=]H>Ї7?@|oi_{1c>Y{IMRv$E2}!<_9}7SLS7$ahj"WKeA1@`p`<[ Jh, !zn&=k J&ӅOz\f=;B YE_'( ݅${L1OOa@$ VٷҢEAՆWt=Fk~-x}6xMԎb!8H"GEkP$x?5?_S7#K uGu5&/W؍Y|G{نΟ3֑Bk)^3?0}SmbzYjjZmTA\3y`Vɢ"r)Y i  D?7|l}p$Vx#rj7ȃlB'Ms뮱&5Jq 9\39Mnrlp42C&n&؆bAO\3sߊW 6KCq9)3eD K% :ѬwG\.̇Pei&sd'Ё@I>;n @LHD<܎'h igu.䈱3>[.7;PNJ EQ7dߧ4d caR`Dr"$ n> 0WCe#&"v6ON/RYSRLKZ?L'8$G8u3I NO'3KDQOWS4 D P}K`S vsUz%,m!H9%`;t4[ߡ(Nӯ;'EJ,Tt7A PC4('"M# !5҄J7%TM[X8NŇN)up ԉiyMߏYa)N?H XT #+ɄD5\W8D4 _*ϡDi  EB͞N^ѱyuoS5*80_ZHGCcA/ZuG J&T|NA M"Ob?ulvNa mjv|CQދEL>ԑ(d$aMh' XbRFBa!&P `hSp̦(!ضbb*Tji&bRh(b)Fi) ($H&(* i`R$j b *f*"jfBi"($FA f"IdR"f"130,ġ RЄ A+#KL v1] ރ$tB#/h Ñ)Z0I-E}U}nmE-X'6@I09(}ְe├wFX64*$"oa +-2ĂD& agNcbq5QSvHVD,UY-t,HUեYE`F,&U(ŨR*F1Bcr5+r}+Ktl{XP`8K(D,A6$@PDTR,EidW2!H"<օ4""u|*¥@hU*-DʬDead2-,d *sȴJb75Ӎ*Q3%aaaX\q,&ҘcSi6?x!h hѤ ,@+ f2Eys83i`3*%R! ,@с4M"Y&:ќoƢ>I'w)"sXҩ+c`~6>`>B;vPA0ͱ D]A+u06SzM&ʬ "P'RFDF!CcS2We^m"I$S5Mv6t9:`ZGY%"5`PM6OEfȘ|T"!J@$B$f8HPDGy6[Bt{hfOT4)HD-P)D% T!E--B4 -% UMR%SMPLU I@&H#CJM%!.HQ$H4U"ŪdžY ( :^QI;WjنfQ9ED>BxbQ9Ha[)I*(qSUT.ߡpi7:BA򀚣!)Dlq@NУt"2\!ъV"Hi f)j@.U4U0Rl~XS staNGxƔMB)m/Ahؼa ?$ h3e$˰*F9?d+읤CL@kf (Niߖ G% /|{5:a=˚A 'PSsܚ |mtŰ=~+?x?x2*i &#?LHm"? uG%뾑 QE~,SsHe!}V }CJ80N+/+ ЖD7˟w{xC'EN#0<$99A% NPIBbQ㇇ 5PDϏ4fȨ|vJlb4a>D]ڠ11Wq.{QFi"s +nO*l r@ C`#TqPGl:K!UbZ'yJM cIh!/<_:uߚ:^HVJ1b>p]hCz ~͵ut TȈ (ifDhPS95 " қa{@(z;6yhv}m΄<GVgC`!/윑Lڏ'3QNHu'K1I[ ZRG_L0E!"uz6[mQ0=YA_1 Os"׷ڈe϶1Pa Kr\SC)f]˴inP\aS&7Y\qـJq 2bC&19JQg8YM a1IZi"002!KJ#habʂbb5.cK\ʘ7>u)!TTEZ؉_rK?/w5ZYlS3$vL13 2"a%<',3[H)?]S M0b5Փ )1j%/.cKD"]M8ezHD?7S*3q $~;D?"\eވ~7HՋ0y)L%y.OXeOlQoC*4wmb! Y Gi1,(PH'(U$@?QO$^y !zI\%a `5PO3dL]!xu*$3'  m`&2K4 MDJD4,B$B%,JD$H$D$"ЈC%, f b d$LTQExUT?{%8 PF `eVRZA(1J@00JDuu+C,e,`N888{aL]r,_"c杛1 $lpWӒ3rTh)}h Yh) V FaN` *TQ x(\C|{M8]!ؐz 0GM׉peHz8?kV{^Jʒ:y% C N*cX،/"2%) 2TTL0O&Ok7Eb!PijAG/$ -?2{O:+c$(&0Tihee>f-sXb0Ł0p0ǕC;5؀ЇfAʃ:t ~=ǏYg7:̈́3݃h~&&C9Qf#X4PV05%a>&F j 0@RAސҠ])BH-UY@b|#O Iُ;? Svlavw DMHѬr 1&(d7Kf0F@m0(*6A񒋪p*NR&P2 3(3'h_P'Y6ax4(`:0bi唭9Nd,;&!*Z/LdSï,654vmK.'s[8gn'I&p5d%M%|Qps xN̄&v;wE6ZD6ߎ .NÜ^+\8P1]A{qjԃ.4w}zxCb: N/+Y4]oEQ ZڄR, 0:Jg9QEA qKs47NXdYgJUV2$ۃ}ɋzɓ獱* :0fH&x9C@Cg QIR,5zfB;"Px|7aO-:&҈4$8$ 7ǝ"A9>ށ00S3Bazi k)~CT >؏77>υHa" ! n{$ÉDŽ>;Cs!DKz.hgŒyRPq vIpLK`N?~V@Xc .M)'YCNZq֙A3%C/CZl|wQ;۱53XJlClA,jG .Rsoޏu5"RMR^s2 2H1)i`(*"ñ:1U'X@SDCK#E(DŒdU4!JHB!. ^J;U}#[ሀ8۸~.JNXNS8h{}Ȳٓe0ȩF=ZB(!߰BHE43T LCD i/L(hb"fFLTS?*E2#RvQPETb+1PJL}*٬r3IzǓ N!-60cL]0Yv~q\{>YSޕ$J!ױT':F<ł!H ٹ &1=РLJ#HMHj@` PdbRF!VB@Dǿ?m`sƆR (I$b>.aJtcZęDYx-AOx'}.BㅒIy2^SY/Bk :ءmot}ik=ޚL7Z G١p), tK$GB+Z&%κnfFjt,z)\M m B \g̞GJgW6(Z8 m9p]X|ȓHS'}ʇЪ=!a*8ͱ Upl'17HX `T =@}߫=nM}r! î0CcD#"2hZq!#uQpjYh۠U(nE]@xhH`.^Qgֹ󂗣x~Ԏ!' O]&_k|}bd6Ӑ`{ ܷwF:&y%qS>:VR>ZS [JaǏL&Ğ>?o~`CM hP (uHt"FXHĩG;%yN31[9IKƿ|a>ǻGƵ~lQqp\'wMkL֛Ɔ)mQB@jT$#`t{ RXo- ^rP$2Vh}P*IJ, 20(JmiJ2G D+v @cD`D@`#ؐ"s 4S!A2(R)B,Hu B8šd)hBUԸp>xPfD\#omB("|9" DĠ YDzH @ Htp9L{2@nb@SQ v θ5!\:.XBknBv3d_@,FM-ZބJF 4ϺgpDFS)jSRN%@eATg\V89+hn4jjuTp, ԣ\r(]_%:<()0h ,8wDpkJ0QN?Fbpy9 %,;Q%&a7r٦˧c_UP6O)[Y\upWXY|"c|#{a HMYN$ &n\tkE[pSL~l\ Ċ <&9R2CD"f(f02]*g!uF&ue,',È %- cXxˡNo.MRu NB`4vP1ў[""wxrry2dm DY1"H= qEL@x14Yq\6/]l0A7$e0H.L<4K@lecZr3٬4C@2*BAYu&")MMk8RA4k%m^ Z7/ [I}4e u7/1wd@qM # %Ï]d.9Fh7N L‡;"q'V!p0v8Q$ ^/uY3yrrf9*Vv }IZ\3 ƪB/̮]=P@Bk`PJ,Tu b AډaЋ1 <$HI^#YGRQȺnJQ|ohc@0I5 ``)<6~$Tmc07'hҏV Yt誽! tM]m9`XIRJPbB2U)!%(L\1*۶oۺje6-۝:."6&1 q PH`ڱHBG!u= kφ}5 A@@9a)?3y E|4tA8mOAo%ckʃ)'B]|>na~(|h]A}) CtDwGϒM` |C׬0Z 63ԶY}~vUʍ*o*0IR<'&z/!D?Pr=gCGǖoHq naJ\nC'8 F0.y4ShRW_Ǭ~\>{ ji o՗^pG}3DJ rpi ;Mf1d.^D6P/L[cu: bqb!M&34iֺNMslpMG PT#F &((b`:ÒCB6(̨RӊPDI`4)%jfR2tXUZE*254R Kٜ?WAYGxҞHDH!\ZI슖rT@:}_7|oTC0k an`2LwhSQA`0;=gОPeŠ&=-fAqjd̂?j=⪱C4ip1l Vi9g1^wQ.Yc" 'CYnU|Ѣ$alQEAM*ʍA69H Rvl.= O4w>sڏϓ;S0(Kcms2"VԦY|]oY1SDAξnQ6L-GӆE A@QJS0 8[!MX_$`BA8O *H"Z#&e$5yD+V?| q~b /`gz7yCwCSJFOPpsGY;defڳVoŝ&O۷9\>6죪QURAD$3oiGBMjC~>Aa@I01L A1I6槢>C.ar7;b3> e]靀wc ~OX&4a6l%Ӌ}6x|'1DC~d}T)>y }k47AywP~&6`z=%_$aƇi 15{ō!0A$X,Edyq_dB:D1D5#pbk*Pݚ]bYbaa XS)IH^V(nh6a?paqAϦ$2e'))!cBbJw:'qxEL(J$I !lT7j([^u*i(|g)@ps7iư06  =>ˑhǁ,C0XE|,/,\)  $GGѱ֌ ZKͬ6H}~aOY=C#9nq@I>'F|-m왊"3p9 *UN&N D<`؇Xg roLCt3N<ETV?&bA0,I*` Z s2Ș, RY,筤b]EV Qb*##"T̠"Vm-*~2QG"ƅaN0CH@-AX"**! æc2(* )2K0H"LBڊXEQ(14Q5Öd9R軄KrYeOG(lb ĩ("XDHXANav\{a&_kzI8x$ڸ1R>Cߣ`j1,&hс0^N6Q4&X[7o0DZAjfe37iI%n܎0h!吚j3*tcQp (Ð6Ȯn V'IչcD9^k9p ZI@$d%řmBM2Q*W. f20܃$DcRpw4N@]`xx+4@qh `!J=>\Du@AMDI$׷{גqxTv^|Dd78pSRmPT~~$zw6ペ&ݙtw,,)0jK Xf b WL>8 CE/RG2lc`͛xK67l}8zmO~ٿ7c_ w&2ma0j' E 0lF+Iዔ"}p(bC|ąB) jn,hDp?ss.!5U|r&2h1WMQ,Eyn+dt$kY,Hgg0(O!oDgubiS(sͳu) )aIJ1"eUT (G//PS Wvܹ@}1T'Ȧ4`]B@B=gz $Ȫ2`'6uzjCI;SugOnnv@HtPD %S)T6$2ey((b$9MPK?WSHt2&8SzGz!"0DU`= WF/^+삐Xy 1J;Rƚ*^طa&VkBtiL~U*2*!}!ʬh.B:؉.DD zXOR=ٞ*2()Qs"c vI6 }9zf"yC,Kh. G >j11Qkε6:Ql#3Q7K649J[T BtC8A*тx,M+eBݩ e#`mǦ nx*6H2n&MYŔhI&ɐ^n'5xI)ax)BVChrtzE008vÖHij)ΑvBf8fDiNV^UM^"A$pr #wJcjKrT@T;0܍7ɘUK>$ebe aIޒ9d@i'0[AΨB90MÈT!1IF6fx8J!Bg #HQO 8Y&`a,"'m4C$֗H~`@9gٜπvT&̎nW҄ihsSKBۉn27bvP#rJ1c3dN &&fE6R-#')2C tK(#DD^̶C9JR ~f(+an0Ԋ9p fip=EA$hZR% 1P& H(Jϔp ,pN=O ~C@2)<+m) x.lE0 ܔX9 ]kt^~GmM4 rqW*|ɛh "o ;zZr:cL3;aqP%"P@c<>GNa{8Ut{*!jNfdߡi‰QM(؞?نUֈѶ"hqt8i6NTYX`K N<:ᰇDVSj {rH`G1D=ϻ}cTgw;zAG0 DK;dup4_0sCPy`xzÝlzF[)r6U7!Gk %P:)&ZCi5AW9"X$toj#v" j a11 rܻ6AOC1;s7usw0U 9N&FЂ R ,vJ$V:M$(-Ԋ(˶,#ŹHjde[7А(I{ F'0e$A*@ǐd>yp˿Fƃ$S,qYeR(7RI'g)l\v!YnbHI2};Z SܙgmѤ&Ք 6-"w4mLk8x 䒔Tc杫lD"U V&7kzd"@˂L3MF8Vk$%hdYa40F$m0ŭZ@@݉d aaPl2AỘsad$MSm 9s04 @3,r#VI7f'&I3+0\2 rQLkSb⦶$dt'7 o(Pw\.0$ ML )3@.y 6JRMSDc>I U4MSnJ33# =*^>:rH4mD PDhr'bCMj8ñpA˱G٪Mt, n촸M,X(LarQl:I8q"($@Eo\~齚><ˉbEQY˰I4E [؅iFX3no6.,LQX(9$vn2.pSKvmv*0CX0H0K}Nا40X..l0 F&+I:Uo-Lj]JÛ3I:2StZʕ`asc5<,v hz`8Be- Ě4ZP7Bdt{RhΙwIBn#"0B 0烾yƑ $[»J M/y0!+ Ȫ) A ROY6hEhp_{ϚB 2@4p F`݀G@cH!b&66KF41y/0bsw`A:Ėt=fx^Y9BصwCơh`%Ȅ!`$p2INnc0Ӧ$ƀ u}h߲a[L _@)<)E @(gAd3|33Tռc64]6Sl6DY4$`,X;D02Kfc2H n+};jvp߶3O7 RjcG>q;ު4'g$ץ}7z[SO>mmdZYt5X:$%kPf> 1yԲC yi%tуG/Q=̬L1^q>ʇ C?$* 2t) u H'qt${>@׹OpflmK}Yomrn3 CZKN!R')I$"&XO8D7MXaNjƓ 6uC2p(_'Iu8/]= HGzq$!1l4ܙ FRVc%F[,)aBR 'S2sJ5 JPPPlQ85pMgIN$px*ĦM.-aЉB["Okջ-`ԏm)UN[`AWK `TlGtM.%X YLJ` 6 l \ \dvI\01Qb'40mS :Œ"("T' MSL80EHW!J6 RmTv"A2˒ MST&`Ѷ(J0$Mh.c^ 0.#4 )*I-ib*(E%̦Mr rUHAӤC HèI)hU`Hp6 A" ?h Y@  r j`m1..%2PF4 a @P* !Z"D@= tE 3 *U)HD4C%R RDEPDDI$PAHHB(-4HTTHb)&" j**}}pi8xVfdf]{l6n9R4-# &0d➘> ?axw\GW[Pd!YT:::g9>r a}% .&S8p.W쑆Ű1j 021f_7=h|YE Qr~ٸ:6%ϲ8ohݏUr rRT> +th7A&)G$u?8  AKl|OÏ߶XF"( r[aA)-h6dea,R5Hh<ޞ.>7_r" $ɢ$bB*$)"J"dJRHBIK H]HBI zU8 J %Vd$NCNBQPqsYJk9LTp@%%l hR OH&JĂl1 LB@R4u."UweQDYheO{ V$ lJ9PO)@R8ծRkɆ0f`( {r7(jhO3'pvC~ *n)G]<1L$dO(C܀q@v8}|>77%r*x.÷8Za/zI&6GA"=2HcfYYPbK H3b##QĽ1ɨEPuu!8C3= \OyyCo+T xKQ0`Jsdg}~4\kB\ؚn4w _HIn&Xl1U}P|!7CFͽA T(P S FS!T~@|EPFKltG::Gnt*e١P74Rd!>jk'q#z.<]ֳ'n(QFm.3$IA.@URF(Ca!&f)FRC H%eXHs*P),-!QHVčVJXXii%IXR*0 , (ܭf4Mֵ:XҐC--*U \Y L!0$%8p֑rLiUiD5QAS`\*]E0B^0MC!ٝtv<$Kt9 =6REtz:FFQ3>QFw [ pęU>oޮg6 SV~\ ( *mD @.eB~XGG˜Mu"'"!H % 3Te- Ѣ ƒs6&<,⧶rb(BL:޽􎻩dc ZLL0-9vVʲah!4Zj1F,2RT8v͐a!4n2h#iTHLnU j5<Κr4H!I)prj4M+! S'(idI-<mliDoz !OQ'g0bɒ1XuHƓFe'{X1MDuyMh ÙK"ڑHp AXCcFmyg7aa}/,-nv;KȆ sjNbm&BZ.TR)K />xd?G(k_~?5 CR3qnA_AHNnk-D24`'7wNqř Ma2:f @N2~S"5y @t!BL D :W(qɛ:`MOj "M$ K E$/HJaI Heb!>p#fbCس nJdX$?#K;ZuWm~]lr? {%R xb0LwpA5YNzQi`D@3(>g /B𭕼{OV.rWP f$Hkj\j{m~"-hp4Pj46SOGJDzxlGx8DH5!aDPg3w ݶRՉLEX 6L\ƫl-Ng@ a(Bav#DJ$@Ϸ^ f bFy=A!r!tC"DJTU5-DSCRSJ"7I>R >i2mцr@i]ːշ31bCrN`>I ĜJj[Ʉԃ8 UOx AEZ^byjܚ7@/, &%"4Gfze>ӷ>Xnbn88Q~]!@'oplӎɉ(1zS]zdd[Sz$L؅z8O6p9I)QiJ@AbQ `! (VH)FaFCg)yXnAb et}4-&"0pԾ37/z$Ozt˃ RRGfO(KjUTPil9+-!Ù2# 4<Or(&ɵo0jAWqۋ?s8*ăaLs씀>=هq@tۻYVL-t,KC;Kt2|$~g^g +s]bjKM)202.$Y^tma5 m0.Fnm:7HM> R 0ЄkyE@EP( QA *4푚qH3Y!v7K ,-70̲&Jʐ4l׊$ٓ6]n9wJ; Oӝ8sJ t I&`6@@ADFGA;tɳQ!q O©r,}'D-Vv\EYI]4-0m&/J(QL:%'p'AbDBD>P/Gc,-ӅqYd~l]\j=y Mch.ՀD|yēwkDO6TRQJ`"3qv> ]{b'&Aɓ0PNR%LXU İ _Cڝs:Yhi))(b A_$/=LE5RB.TE&.zu{hۆ1lK1 Gj 4 NMx|Ap TRulӧ-˂n $;|Rj`wH'T9bBv|[،{lZwP:)i;BHἺSb`@Ʊ 0tw<0d';W~S@-" Q|02#1ֽQjDD~pi0!IB% H0. t<1Q׊kaNn'X /&PffWC~غ?71:0{ڟ&IDf=:psK et>që8K ߇?/{?G\9JlQ/\eky{ջ=+ju gο26D7fqa5[KxgӒZioO>Q0"$$H<7$yS.-~{sӺݍH.\aN)TNa6Bلa@1K'oZ y95"-(s!G)bmm%o>;7k5~ǽχ+ i>{M`fd߃t3>)}Xgk/AjЅ`ά|fϪctv^_S74(\V&l] 7ig(lfG_{;$@9u#BmuM[z*0P(3^:.$|nt<z}ɐ^Q a2H1^Vx8Gf-?0Gz吼7}m:*z)eA6P$^>$4rR9:::%xa%4ثz<WH^؎*IV b7Ao5{7 n(qe'((mR3wv!zxrhYKJ|*"#lfw5{COdo,2du}c  ̿pQ0dS!`, $$TP06UvoĸP6Bg% `ASP@ښChv aɋ#0dI2EvI`$(8 ΰh!I;th@ >=m=<8=<$7+6nM"('C@~ǒk6TaHCSA &#d,6LC+\3o?u)(Cl*lU fYƠ*y'q<*G=sv/ْAQݲZ'@G3lOsUKCLcKs4c ?c.ӀCJӒ,Oa03 !?w䍀G@(=1w(w0|b_u'Fp)M*Ssd. R>:.Ih( A RI!??;<Ƶ`=4IE#؝z#}wf؟BlFjޘk;k }P>#  ӏ`#?[ :SP)I Ra b/BԨD7Ί/!TLd>P8&O!PbŸ cu!at&X :|xmW(uN>'[7 ҦM $Tl%#g٩Ao%f`~(L2f6?30 ysD7q5O4Q]" D% $) b9=h5'3D#׷O{|u3;zMMTAm^˹ۛ3"0 C=s$0KNRyXXTFt áFx{MXG$"0IKYSnz?qݎ=q?K)D0O%+ \MfJ;Ȋ*,!4Ha9KzZ{H^L1ݯ1.n _Å9L\w(PdzM@DbQ]4э`"%5V&3B&.n*$skXuC^Dm" ..lC.ƜQQ61&"0f! TAXaKY4|3 ؑ:p NVSEPj lE'Wg3-=DI~'ڜ\Yd"DKod[)z|@SHoXW|f7E!J/LCfai\_<6@sJFi5QSc\Gx=QF+ώ8QJCb-mAE3LY)H)}-6o6)Pj ~FN2r晔cy!wNHv ϚҘ1qZېդJ?#VKTh6E ``@ԫ Nj}k B`Zd6ͱtUn}OR%JJ^xe: ARmы `u'W~쭞iJdr\H7՟ožq84NgrhkXSQ^ MԚ+S|#l=ޘIՍ*jk9/tજp;:B3G~j8pffe{ ^ I ㄑTALDf8΋(9b!)K1(cf)u>1ap"Ꚕ4<\ #-&4 pɨ"j} WpqaXbK:,J>Y *"hPbD8F f4ї90S)'v6xA)\BX+P`aSaE@Zg `bW)@ۛ/_ )tCɞihev͊UO{qw.;A .4T J%(u)̓ 00䘕f8QK )6i0ge TM( S}-T1\僣]nKJ5Z 6H01T7I `|u}'B$A2RK7Ʋ`ŐQq%-[ViZ `l>3\ 0[)Fɳo=Dw#>!C4e 2 E`\IRP6U2)O6 A` +rT{׼0ۭ0p5( {Qhd mmL" !1Yh)j]x08Jp GEѬJg9TC\ N*HMF5GxA#;UɊ*BD/7 )9dДPi0r)tt` B)MAA1q4f۞d6fd;4Ƈa.8,#|-t6@(Cmix⥆6]B!͂kJ QQ[3I9sippb[##600a aW&4lv\@ӛ-%EYv2"(e7i$!#Lexam,D e0K%P#z9 Y5jbJiB9j)0`TKp'W@x‘XpDP%T0I+%TQNxj-Rjr3 2i'G0^g49RUƆͱ6 H=)GLH .q <ٖ1W|pѮeF`tӓQ0Qo,& 9Ӧ.N} TveDkyTJ*w8unb0o.V֒V#*usJ2Nˍj^&-ii@)Csک2Cܝ]uB(mD cp^NhPp$4ܘ~oJ52ZnfC2 ϖuWlSI`=˶x(sF1XcY=-x0/ʑx\#5KmE][X J310ۥ1jb !5#o#(qvn$Jeן{>SJG3bF8HhpnDv%uܠ OIBvkt]M٦ < ,c2abim$"#9i($U}1upc'(ݔ*Ahq%JMpQf`%Nm];s2 _xI{\Q M8. pIN:p ea`ghWRw*GkQ- ja7-EUh RI{YqHRDC(iak&"=!ݸ[qD@چB%ZTsi3r&p9pJmVNt2Cc>yqsg/$5m+0(Q"zHe3tmMt6JIscϯ#por9GUFL"  s^}$'`Z'F9 P%d8ts W2 YnV=!L 吶' ܇2kl[l<'ރ̄~_/LӸ[W9eM~Ss33ըC&% TKܙ2*$ĒWr"$;ݟ (Fd6]TE\ F͙FjdAdf(+A 0eEb4;3[!l60J}h Ȑk^! u~4! s ! hCpHeON™DrJ2k&T p4tnA} >6O ab͏?XYY O &CkjftףvL E P\ʑ6`c(n `3MH5d>ybfS-,49}%_ =ABC|lAHlGa?H!檪+mnffffffL͊쀇YM# JeY7YƸc2ܔ HȈBe$\LHM&SeR141fRG :rC)Ánw5NN"0¦q0F! Sv˛n hY9)hP1FJBW-9S"q̩r &c16ֳ-3wM em DZηhtɘ,FXTeƣ X~&\5Hd$d!KއԌ6!9J 2Ɵ٧4D1ǀbhh(nfͱHu3P$,!XDH eDMhlZ+*VYī,@j)2ZъE&DFabfY*CM|cl5cIa;= H|\14 fIhŔ2@-k2 L%BGUuXfNP  J+ /Y*  }p ,6:>i! iX:"D㞘'aOI<$ #@AaDD #00040&fd!Wl1LC# Nk` .=b'x8:(G%pY=L5{\ 1$maba>Mqa(Й O$E/0p%%$o]f%ŸI}w O-д0PbA(j(TԮ2dLP8d` TT)⺂t#𙂦\ >8RBa#=@!ANH#0HYADFBQm*+2o0(b\xC}Q |eۂyE+RƎ C""(Hh "d)hPP O@ s;A%>>NT u%@x 0?T^[$Wd8ui{V@>Ι-#Bo 5[D@o$09"_Ӟ< / "|=d~-04h(]>Ф:4dG?q$[Ӎ1W1ض1gzӃP<`تAki rf0E "Ӫ fiQ㽟_c*Q])#lpk]xj\ <0\M 䗱!Ø g;ЈTY(ij5 jrFޡAtxdma3RvķmC(MÒR)Mq&!b1SL@DFDqlvX3y B^cuQ\ߟ7:" -ee 鄡 5(N @8"ĄQh"M D2bYuae.fa HT6d[`dξގv 8h&@y\tt `xa=קHSud0&4D\J3€*`8&Ub.XnCB 5̙rYV#F$W,1 VEC0TUINLң&c hpf?(D|[z$Bi9M)e\<8i6:gSx<ލ~<%ގy M1f[ZlPE -===ķF3@bٲ53AD@IE*%橂{Qދm38$PG|Z18T|Q(g\)> l:*P؅<J N_{ - && T&9 c1bI 9D*i1_,+S=zy6_sn<" 8Gwvפܷ=BXϖA8- /HQ2$_\nÒ-ovޑdMJ ^$ N(ΎWDZDܵ^ yJUKQ1BKl<3j\nt00@Hf#Z)pKPdz`4I(G4]](\4LpFHrr 8.Siwתd3y àwz$d)Yj:eLL 16Кi?yغgbDxx}[~^dh,꒑1Z.!TvzA;"NCH4Eor%f6R.\<'3TmI($7h}."Nf7g,+^,9$HUq"ԋv&ap䗉80~ /j}7fǖ̏|X|fWh4?W 892i&QM'5>nlk?˧1$7ldS|g}Qܵ3X8Ȥ oDI%0PԞ7xe[Վ8~˿>0`F~(Jw獆wEM%n\# `N`SX"rP@*}ce-v8$HqW1e}@1ϭIwj9LgoK1hbmVTDѽ@x[ń; wuӀfذh$>Yd>/ nu-f cnII|NקWcNjC k8BEDg%! gPn'x5J]@y|=xP1L4zLRBc 瓡 KAo8T. 'c:`l=R 0gs[L 9&C;pxl)c{7)g~Τ4!UrXCSr1d(:R%_5)&*[\c=$ZT biZ&J+X  hIivm2/u$!'9dm=Lk^V, $9&' $73{0G_U`y/@j1g n^I=Yir#]oEY ڎ}͒5 ie֟#fd$L_~ 丛o =wek-ik5 ĠHXMd@)$] c ^aQDO>.&FA !Lh{ϹpxC?͆zL$'K`$Մ45N16bdR`NPDִ&<^y!#!dFzHC`ܴQW Nd Ȕk8upJlDAM>8 ΣG3S1:KE £w"̀\ը bJ@fymsߨ`fD٢oLz !$qj(ľ_=ZL4a9y5@7HdI4Q,I"`M[pw>HUo|̋7?Y'()&I#3>{T2 К}*p̒ZAH`46$-:vә5dSɌ"e[ F`Rѭ,6iJ(UEW$FR]Aa$p 4p'̒ 6&堊0vѲܬp0](Ő5&$ۙ D&D(0d(fʎ%MDw|E}Cт}:VT/fjL-1 w6C0,,?=B?w=3hqX*X3g3+d5a,x,Qq8fNWGGX#3lXcPٮ_r7I:~fS LD f[d2駫XVOnJWX{e(Ko>Ɨ‡ qأٛE& fUDP>0Z'oԟ@J- &1e/ +l:fv-%)A9-9 .K A& B!(Cd1#h50aqR`S2|*S2@ ʡ! p!%8>dZYJ΁u b^ w8sFa/w7NT"{J dQ5roHĸ.iSX}ĩC̪(:IH~XMDo>?*'KAP&,`Jȉᯘ 1~|۵w8& )(gRX~ԱXvCj=\3֗yÒg?,=6}5<:X v_OOy ? ѧ^mqEV?;,QCGQgm_w>ɱ K)??cA!,> (ˇA#R:Q@E T,X"Jp@\Դhf H, 5BD {f'f4K}>@OZ,/hOmCAQR?8v]t;}'6>f\Um!ȝ xpD8H2^) "@t$)WჟF"F6(I2(V^ȏBÛ5݇=on b"XC B< {%/y"`z?+ 0㌘m).PS*[L"f26-c8M`E,ß/aaB=NI=p22vq)Y€,;_YBqti4!3YKmTEؖHi i3S7NXtQJdj\bM ja PHtHib! 15ajBTre{x6@epAH*҆ebAUUU-U]sC7ɲū&A.`jnIja]F\cD vS&$}d]*s&Dr5;;WxLBP$Tt?rkݬs\8*]_QMKTh(П)GU2꟮{>B =BE@QDD}5 "U9 ;@9H7>]޺&-_|,(.0;XE|}cs rf,iX!`ȱkg} Q~|kOGD2PI@'F'.T*j%ܧ7E& DQUAC6 4S&`:o%Ia3,0@B3 hIFW.BT{2QhfBɂ,lY g4`ofd>e0.AfR`K tyry{'2PfF)^e6 ʈwtsLLttv &8X)0 :T'LI)QƏ`/vj0^d92<' MUQI !LE *fVaEXUEDS)n [-7}i㝜=fb>k% Hm+F0@)ZLg[(> cctn`BzE߆juC#SSdaƃCx;ڎ! ;"e0&09iF\W`L$-d\a;wi>dGzȶH1>`qG\ΡC̔MJiP649:Zcal3Ñ;4BzUN9垈cg MGLokdy;RjNۍv,(~4֫qzZ!4[G~aO^d\i@xw17"٘wу\ {4: X|3By9n7·7 8=\(Rhkc\|lY620\Yg ZXe\BnAgkɑ[)&"pOED^VZ\;iyBsKYEZre/g%җGj;׎.DAXG'ـб$(8C,Qe?[v>t@j*i&$ۿFy|xkCq^! &j,"#Emdk;g!mx1I L`-KܽZcQ$Y3ѯlJQZ_UўHx^_ĐWv*orPKr͛|05߹4pA߰],{IpFZ9x u& =dvz\opW T lktFZ겸q D $17aLaS!4V b8N9Q]SRfbTjX)uZ׳1ϫGrd `CbE k^Dx>tA= w_#P1@1 V #؅AA|r0`q}MpΆ51i%LpnEvr ;vMhTQH4ݕ7$FM=_dE.a?ld^j"FmkE&fqG?3}I+ @GnՔ N6 c4Nϊ"%S=Mƪ[ĭ8ZϓJ;!M}R g#v,7SrXvE=W֠ C rs*u.oRļ\(UvSOOd3lO;]Aj&ZÖMv䐦)\̹湻f"[SWS}_|olʆ+jk% mM:Ou # sGvD2gd y ZHi!zB:cF(96b%Iv  c›xEbpR!Pv!ىO7E;z;w\'x8ĻBxS3;`tl؎ @ҵe"[ID,R;kQRCi Ds<;add0eA80D6H$m>Q($lG"% hJ#S!;/u;sw@nD$!:7,IK*uBd4DŽ7b'w- 2S#QM\8އ{f{|%:h_(T6)'NTOD*=R(t=2xͤժ N(_^LP)TN)5nHAԐZʉlYH Gm.Q͌&!LLfjqQ2.ӆּ-@衣 pTL r0a5E=x& L=$΁N:{nzp9Z"H rthdz^ /ydϟ6 Lޙ٤nK .e烝sb¢C:$5RaNXb!p)(uq -ZZ,]7MNc@TA,6c#X%0JL@o=)09+RK$)Xb|͉P$LUED;.P$3>v%(@A0HgL5$H"N8㙙F!ZW9ZqOZIDʫ-EFc!}Ȏ<]rg:@҆/I@W, lL]anh 1B5 69X ts೎UK (m;KQQ 13 2`VVH:URjHѯ.ĸ7֊}f%I$ NO'a& "ʇhJV疮VnƺxTXJe- I@Xz(yoffmKDˊ *([h6]Ԇ ;0H!<wNzg~!VVr xvnp@ރa$~4ޜBBh™BRHT!Ò#'R@HY)(mtu޳m.JLe'p$D"RSeݛ~0_ `VEZJ 6HJ}E $R FCJlٚ:A5+2,u/908@%0H%d2s*;xD"JP jЫA~, #@` 2?S0͹7 02/_Q>!gq ʹ9ƸpC"rCi) Eڿ2R̴'8 U8J4`Y8E>)#A=r T~Mbu̞={!APCb@H3!UhEk{)NThis H~~G]g;N 0e b0dAtշـv1jF$PSTi@SF'H9$D>wxz"01U yAf>}y!`xJ 9wNϐjA 9omfZpMHj&2lRM_̛hZߓa (i$>#գgW9.`4{@c?P&F1Ɏ1h)WH"a:@aj֐x?j"" 8cB?N}zw6:Zh^W0Mء,]ZH1vf:hGDNԚ]=8?"ɹmuL{{iΞ %$23[E$6r5'0BZ1sr];GV`C5| csyP@*uíHV2CHcX,p( Hhg,pJbJPqd5բoMEUY>{xI3e^=]rL &`JPHT (Jđ@eFdw JXdS10AP4 DR ҔIER*QJ% JH$cљTEIJBDD$I Pm!` Gk,f FUjA4 S~aWIQSIsWZ"busgJį DftD̟ȶIxR6 $T r-0]̎ުTà}'! ͤӴM&>mBWLQ 6Gg @I|a%}Y-Odf}q}W Su7+)Ǯ:PN כy&]nf $0dL+YQi B>(~ iTtGBEztpԀFk?P?о!ȓ X6+0ABA!{BlM55jf ۼx%(Ҵ( BBUQ@E ?F$p81§LD5 SDIIM)2E2)tI-fu@@'SOB>_4NAy[P;A6 ==7$< zPiS*pOwufq}9vMEM2I4L Ă 6:?VĂ Pۦ]u"ą)(&"2$E u:Eq\ %J}W@/z!!m>蛐k.MJ̓\CBB)\b"@t4 `ϺcM^`DD-" `OJ(xa4xB?&oBiFF_KqLL6aH72'b7dQT7"±JP{5r2&b %s/Eh2LZ >Mis\PІF։JW2m!<ϋ H~y_xi?g/:!h0I p'>o7>2)gٵߋPㆆ'M38Pض#큉cQ3ayӺ( R-Æ4{z*01%0!?8WyZl"os@)Jhc=VJћ2ATeB2PL4yQiHb}@V(A1_P!WJUQrYE3*םqM@'=ҵH=Xs:f((YS "i(˯{a='<@$o삫IWYw:+`CU#J53 AQt-gtž*5!)%a(c L Ǎa:# Z*)%bj%!**(( )P(HXdJX.(5UDD,$-$fy^J~)N;cvԆS n~1ͯo<x@ AOc*>3=l5v u^|T!OO}gawqFJRxg͏ Ì eYeH!lۻ}uv,w{C~eXGGV\|Q*aٮ)(?; `k@7Nސj}HX5v WH;;݄ǯ [`ug?rE"GPivc*0gkeB@`iI%S` tCByfX`lI\  AݮlXub3IoCG[R #3sz{`~4rʛ]AfP9{ -Ӆ4SJagg'T-A $g_asL;QMV -P޿M43bKV_܌s|H-=u2h"&mJnA!wAB $% huT'rӀA ORĕ#XJT̜uAPrC4%tr] )̘ B%ԘuJhYֲ~l%άT"gΗk&[4`T4-Rcߧ!O E?ϻ-c9' K6<"3l᱙LWָ#u HA8~}!75@ )gg`8සG#f?!lk:<,> s{NT(σdvN| qI\f =6‡ JZHChtߠh2N`O`gpv34l;X!Q|YSPNaN.68="HyT0d)&H=X0'syYeA@'VHS |# :V*F&$%D@<99heIYb%WHQb," &Lc0r](pI߿sBn[4oVE)DAuCgYDdw@8H  C#7^d$s.)vS@ 4'CTO!H7qjx4DeX$íӤ0o} p|9ɾ\Qu!ԙ6.VRwFg^%2۲cu;D6o $hAndP2)32D*+v{dzn\L-!$ȥ Ou^3{< 7.5#zȨ8 MheB%aߪW3.*7IQ%V$Mj]a&z}\&q2!S+52=\E~KѦBk6gkL> I ,$a/B+)&v^|޳#31- /&%.ˤI*L!9V;n#Q77ppuuMv䂎xm C9 0}x~_OˮE^ vm؛ N{:}}I TS;s/Ê?{CH{;:@ "!HN9B"fHAU2B!t_= M [DJ{ ĴST@j2 )O#-Ky?7VuwO)e3W#Oŝc 䟢aZ4DGX9[Y&&bh"}7}gyˡs|@N2_bo6TQ5UBUUUH@L`#Ny1 0^y #|]&#CB]C`SlNEBW1L֝q_w M12 I"(JT &V&dQ*UF%b)@`"J((PbUJZY fJ("HT0V PD @MQR'>Ba(("RHCB"} R)Ȑ}54(jDd(Z)XDJhd*FFIT %HH&" B"hH?VR95]k,؜) bRBzF]$YsZU/sk~ݓM5!zgCaD*A>4a}Uj<쉈>)zT(?eQS7ёc#3oouM~7x;f!u6L>{>#V`es|g}Y>ot T#:z|#ƝͨTyxټԩ{/b6`iQ bR? bRUسp4x(G 0`\'D(tc=w?.:cl"pxw&W%-}`{D)).9)(@ P@X)d+.ᤈ RDa @8(!2D-%DB`,&T(Se/ć`$>:dA U DL<؇}%}嘤SPTҭ 98ruyc452fԨN 刦Smݥ&iKNRsbE-PjrYrѩ DYԨD!$NG_?KCgRD9߯77_G?v7Vg>bn?ɡ^|yzO0Atys}.Bh }=Gv/{ dUش?99m[h~̆a B8GaMДM8b 7  OGqKDttDTq] 0*  R9r(`GD':5(+$k=: /~w ut4 y@Z6>u{WZ}6u}o*vUEFיE]dt|_g.;VWGxnyd X&8&G ݽG^u^Xb֣ۗD^[;5{fSqP}.{6ܸsήjp|PCZ`i- C6:UYv=zS9۝[>^Qzf }_{vK(=ǮϾƄ;Uϸy [ov-!mg[7ӏmM /Su{r{f^GG]=ӹxz>޾a{{u@swI_Cunw* X>ϧnzq۸ @ >}fm{ 3adso])ݼ绻q6a oͳ@k={|ǮmyqaZwϸ=_I@:3S׍O>$\h}{}]ǑvW9wSol}Ov]b[:<_inC^xǮkw^>{F|q؀>o%[i=w{\mS_ly^Tz{J]voYw]*`巯jiG-{o4_M݁{ݎzvy[[}uO^/k˛= 8h4#q;MS6pנyLJ@l [Ft:S.pm `t )wȼ{h .en˚W=n7ySW|Ys۹Ciݯ{vp(QنNav V.\yϰ{k)#ݜJ;|wg7cYv@;Ev\Isn[ɥKv(`{xj)lo=Ǘ^|r-ɴo{FuwaxTqi]SԤlKْfm" +VTOmP 7wPqӻFѷV]YM{ӭQ;@Y` QnC6HwmS=kM{kکk;:cCv:N' @{=CE J2r;1؎2[(Rv-@[R5—+ [J; s;Ss]ϯvǷc7 jlyUۺ60v:omFkj)qӐs&5TضNKjnuܒ;)p]{J(P݀U'n 8{y9%w.E@vGCJ0۹NV:z'.:ݓkd@4e`mW UV 5u`ynVsucoZoVj5ݖ]ƅȦ֡d/8SAqj\mm&Ԡww&[("T59PSt{e6]q]tT;;Uw;I 뫳sj۳fNʭw;3ѯATݶcNtQ:a4sJ]W7,5A1M/ZuPPj]/x{V145;^j{޶uݧnqvhs6xHQrf6ŸAI/".srێ5i Zn؜u;tnlۻaܧAkhM,7r}|l Rd&δ>p  M4Ѡ#LCIɣM yLA @  ɡ4dA"h@4M1LLT4L@ 2D MmM20LB2d2M &#hLdфhhF&h@%$A&Fb53Biz&Sa424mڛ(@z$  &jbd22LOFDSQj"2 LM4ѤhS?MMёL6` 1D(RIAUE3QE4SDDEM3QIEEE ILA4T5D1UUQTUELS2TRQMEEA4EQU%%44DMT1Em/̓%x@&LP7%ԛUjRQ4eU*p9EA(z5OOv\IѳC%&k*CC'T0-5jTsUs@74EHW4\i{7JFnȓUSv@Ըr#[&SYW5$@$`Td ǢC'PROaF@X.o .L$ -(G&Xj6pCb" )̹9Op̉K8Jf7 b!+1 03 V;L' iSPSpVRnɧV]̛] I! ̄c`6p!C-ǘ|P Tc*rC 8?TtOaqRPHFSJ1*" >|;: " pPH!Å TʪCi   "T(JD QQLL3(C+HD4K2*,( tI4*0"ȣ ) @!TW24,ԃPBB@AʃP}8l(9D"UGBG DCUi@;2(sqqAGҥ@B/o B {$RPȼtVҽD|mdƦG\|[ J3@d@; %).@<3!MRO®#py1j1^#s0窇9.5244X4o$hz~Oga%*aIr 7hB"J{7 _P&ҔE(Q.j}z nKN >,'Ӆğs֐>h&RG(ufxy.':`VtIAٙFʵ?ei}z1R1 ~ZAު)7qZNV({ZbFh5UT-jE+tP <Y2^-k8Л${ e3%#D&{gqRe$7{WXZ?* c4E 6Ǧ'ecl3G Wޑ =B6c$!z'df 6hlT7KGҋ[iż*d, u=tyX̃řb"jSM<;.2b*.j{R Vnp54<:1*ft)by-(!G XwfJt|Z93,_ vCWE,=N 5!Ǟ=y讼F\dy/`+W{. 6hE4 +ELp*7Ph͹ynC좙 cP)-i>d\&>rxGn"҃˽y5 06۽ho \9^gvK'ӒID PCh$# ]سT~㵈CI-aj `bR/k^9CfSyg NWTM0I0D_)V$^臋ᆅՍE:Z/2tnї32*Co:2z/\3Sn?Z% #Q0tC&䟕qvZ{w=%m߽1:ΠwzLHv74['ˇ+= V[ =vf. 9{6nҡNa̠D9n(FP2rېcMZd_U?ѵC Y2TSQWqA\.)P cDJT,p*QO,>z(ѕԎ<?uz,mTYj?1ů_ʩ?/~=^A~yʗiG >R$ePG/ĩ@u.EdO8DB^݈i[wD]H JJW}{!` SS-c6Aʤ J)@R,@D+}:؈z_FWu,A*wY@vjBi)rJF*mSJTHa)!TQO ]#GVߝx} Y>yF{ZL !v/CQQbtJWࢬPDUXn~>:~j1heRtz>J S?-~u#W6cy(j˹b+]$LCM (T-āC~S84A2Q$#JQIj9CQs0zKˉT-&PM+UҕJAQH;Tu L=_d?S,.CEJ\)IQ-1XR#'Ć6Q%F$ Ah(vã5X|n h(iFSEo⪞Oq14+ ڣT{2|^6Lq63b6RL2RVO*ϥs"ZD\b04C>)ٻ-J'&0Q`fUa䇹:'5h&@~Œ̀#3%Ln#/ƯKО SG[:>,;;(/$%=5ED{? QMB0nlΩi5lf1Ztlt/rFw\4 |^n"h"aĶ5DDv$q5ʈֈ d"|:lLh )igڂ0 ih'1oAۀrJ.ȼJ42T/J)B(h) `FZ0oA.9:̍ #JS 5k^!H"@Uahh);ZF ^ A aJ:<,uW R]/yRpԊE@ *)Vih(JZ  B!y8e/x _ __X|AX.b.к /Կߨ3Y둶zw98(Y?Ճ_ڱ#,Q+9m NK./+h-TO +9ͨcVVDakkz}/yoMآ(Er\0kԼQE0>O} 0bX#Tr:HՀ' yIb*/&`*CQD@(Us0Hsi؋WPZ6b8Ti=2"9E4Z)I0>"T^Rh C\.u:H`Zճ2ͬ j} "ǷlWr;2P S!Oշ5Ua 1 EG*"bo[~QY`qуF 5* #[3: #߫TK_j|IƠHk8R5Pj2T`B(!C )zNj $&oZ`j5 NioTaja48b9:{&#bKd,ޮ#LY( YP@i8I[=@LHGaXkHM~@mVzJ" \9`L0Wj?E괔\HjA%m5? b>ġ'^c8!Oq]ymOPU ,Mg&ԃzOiaUv?VjH#'ӱssal.zO */b'k ʸGOB~WSP?!kqwm |mM>G+uo>;OW^(\={esP#LD(q@١0z AP@2\霘aDðB1YH;n - s_x~8P\"iNh;t<A?rWp-"` +\A׌|tGhd8P(h Yٍ+e"sĠ8Q4 >8CVv%;l0i> $|y~G&o=^Fز(#S2B^Q'Gf#gn^N$`OzjJ* <"w:81NuXIJ3 P C@>uQ,p[l,J4.`ԍG}qP? :cX7@̨$&YZ~=%{}DCO-܆UmJ7siHs'h7FH} "f|UL_T:| N@v'.j{49i;Å18cK)]f#҇dh;n(.VzԽ]8)<+OV7 60\Fۖz_ȭ (Rb;aneCmƦ Y4GOTD0 +Qq%HHdQ(MU!JgT4AUS~Wؔ~<æۃa>?5@ 5%SMLiuWnU ?;Ly2z- %z@0' %(Jp|DDDPHB !û!!{}Ov7't"Op2^slxjyDnKeg^/<5-\S T^oE'.9vYc!,ȄVx}F _/GZO pՌ&v=SC&jtj0(0v2O'w+ 'DZn[w0eCQE\26, G{Dܣَiգ8, b";R2~Ce&W.laXt>|cpvNy ^GH8i@Ytk<Ώ/#sp~j[Qg!Nd-❾zp0TIW: xxL3}9] "PJ*!@uymz p栅Ky6,tXFɨaͷv ݫ<}ke4SA%2)).K+U^yy-䐛|Kq-膧`:[u/]m[.$Ҳn.Mepj>z]\R]ۺUUUUUUUUUUUUUUUUWFU_/a0+sj3ntB717ht[Eqǰxy8֐_vh8].w:죇}:ڢ>J۟~Q+({_|pbk_7c*`rVC(:.|K4ͳĒv*hF jjk(DRU F$$A@\w~D=NٯwsT:ٲ `¯ˉ<gI.˗(a**ㅲo\"4 (sm$ ~H;b-N}|CYH&ˠJ6]gԉXh {ab].PЯ٦'5\F3+ ؛G8 j/L"YoL?j7]v#aXpFԾ}K],k0}i>Aë-)rg_ɯ /. <@_sѮ.>v|lV[>dlr]s3Rzvm::]M{=..%gVG*!kH/Maޛt: [;6UӴnP# náBXθ{/V1@Ht,g9l\z27NN|!mEzgm 4"(R?9fr4#ro3qss oξ݊m1ԻsnaK^/\ =o4d?0LHJT7Q5yd,kl*Yg|?G Gn @`G0ғ\Zxvw# 7V3tj* X*ȫ!wSxOvYpe:$\e.̾94t\g;hmtOT`(7y:WT|wTbb%IM-_d-ĭ-Y5^RV<%\v%)p twr a_G@'_3^>hr $4Q}0M\[=f\6UaNdَ|a-s(P $}qYF9HeG|JӐqi{J:kn)j;,"wz8m,#zQ% 2o{dcd>yhΑ (ބ{Zo m>2]4e}PM/#prΝ%44uɝap?۟]w#x5)q\u W}eDs-T Kߔ%~SwL4gMmo>.s3uw@J`!x^3/)R"t*=[6`26=麰t sFn^qU}E?9 z,FNU_5ȓ6!Pnz|XcKFM]:-ծVX XqQjR>d=;~Klso}Yv?^'TMe[ o:_zϱ}Rp'G>14wx%ʰ{eFYغc]ݬ("9 'R=V}JrN5<ouoy$UUUU5_ű1S5UT?eUQB4ETEDUUU]fb*"*"MUUUUUTUUQUQUU3Gn(,TF@*1 XHHSJ8 (L"ĈKCJ(*0 P0ZB @AM>ǧ_VG_Y _!UslFZQ u$2#CRH U@D㷝""&Ԁ J ) P >=m®eR$2~v*r1Ӻ^u~yi<* T+-BE Ewpn t"@p#ij@  wc??xo _OvOv4 ziB_"F]๚NUjwVK%2&qc'8Gw˫|\ 8Ƶp5&PE@BPK4bR#AML%l:2B(tB8+]1 bF'G.v`CF}tN$aX1gz`8D0_9U."*HmZSP/y'd@9((Gڌa?ld&'I Wͭ%Di]@!{>[_yO}3"p_ACEPz,, B#4 LbAsC;tH@o:Khi}ۼ.[I7ˈoa}88_y[4] cLcͭtUU^U_\c(PIbOHx6kI`zAg"ts@\dccASUqo&G(W\nw_IgB #z&;@#1eHLmE𨀂Nx:鋆._0b=*=s+;ßc>H>I>wgn݊'$tA[ $-`0wU MSBETC ?OƚQ ^i+7h:5})?܎MW}ώ~(%5ET>\L|9sz/s\ _}a}FKXi@{0c(N{͗(^%FN3,7+v)UIvv8_g%b5H[U7tf F{1RO#P%\81b: }!ӯXݭ+(ʖCҙG!Ș1RǙml̐ms/PAE%i*eZ.`3˳vq57h`i;!uA(W=ΐ`.gZdk:O{هG_ډB~ O%o%_v$/&HD6hr]KU9A~O m , W eJYPp.h3x@$(TVK_pu&91-y aǶ}x>P(U_ۧZ.anѕ2`/aIɳw)j n0M %1Dn vh@W&/EczN݌HAty2򞼌)*n ⶻo6OGqr) " (%Ў@ C}@R4| Z8w@[04wīD혎 S ۝jӨL?C;5׺X&$ Puվy <Ge 3A&>##9Ċ}:'ȊA Yu)=!F&#vfZuix# Pvb )-g l~" ,U@B3ݺ.Z26~EGB6;'! P@u&4XZM3ޕW5K %.1^[pkRy5 G7b8cNy$($1Z=^rǬ*&$xW~t#Fl z qK" ~Ä8A%3hBdϥ0EKKcگ{gr1#0ϕP=* B>+/VB}6 i9 BƗ|  'J X+/|Ӱ2Kz!r$3h="h2  A+b| -]eNN!62bgnά+Ye}-a$MruH8\dlOĔ"ʘ<.y{ۖA3n\_ zjGy=e{Xdڞo))Z>2?G}њ$g{F羼D%Y ^ `%Q2-eSxM_ >F40gkbGߔnnht摠#jX5 ;T@yϫI!jH7x mӈ9T~f\6~m\/h2Dbg9H0^HWb^̩bJ5`_KpD n2Ot^z3UPHoOVVca٥Z 󖰷 rMuygt_ơ@@ s(9@~pVR$IST529mYrН]C9M*sic)9G+14LUDܞ*[(aC lʐ#C{fľDEz~/q6E ?:&!GVFO'V)&_/X03a҈i7eS;妓#G7)gV35+ %}):I6}GYP˛C!ԍ9 dlSc6;Riw+DGrުٻa`Al5BND3%>}N_$AH0h}az( ֧*.Sg+\LiFUbTÃwwn `[O_P/H hGܗ,RତHe%{@zE4RsX:Y#· &!)paAEEӝy Q$:_2d{ g5 5eldBƯ(Ea٣ h%uTs2.Ws(thⓨ?M"0ǜ/=`#W_3r{sm!AWׄ+r@x`#1ߐXT8maA+֣*SqDtOzQ@ K0W/@!Hst^aǤ } Ǩ5wpqS=X7gl#x{{9Q`9ts%єx(|\~Qd F<<+ *oa Z j6HW_@;?y}'ܳaNxݧZI- h`E}}i#ӼTN]|qXa?aA-)N&0@371iKIqί:*"J)I$#$F&_/`~q?GVdb"'P^ ÅL0? .B] h`*oqvpLxѳW^.-7a1mw|b[ZG:;_p=/Aχ}a#W>^/b :}4eSbކEݶ`A7'AE|Vq ~ɑ_Ii|$ *TRtξp#+i+pͮvիq3H'ggewNW;|. R mQLJg緙&|[r)+M=^0fGPt< `{PD>0@hn|3xj.pHbu۳XuRn,)H|B9:0`gQ0!4 XlAR(2E7AHDF گ9t~lSwekVר]2gq|b 8eyT"h<B½/ vŴ-va!!\˹ x ݾQ͆:"F<:ұ.ٹ헠 Wϣp0p9>0,1r=)a6;MѦ|߅I Cpݝhl,^x̳yh,2upuTɷ#pF6۶z5o" )0_3צ|-<A~/GwyORAxarĀT&5́Ŷu=wߛ B  w]pDW0'V&0Vf m_)W֐piց:fE!B"1Ii|2Z=?uF/`˥ rc/!\C_`j>.Msk'M(A@؆@ WC8"0Tf G;KjS\kt1Ksg{ i8iȨ@w2"%9qߏЗ.}ӇVƔw:?&AI$?0 P1!@ 81Y.=F<+^-JfH6|'<\> 1J,4O^H Pҹ#rxk-$>\Iy\s4(y&@" Z@h=_92{R~G uA:d6  *22^!6X: \EdIW=45 co>߯'}zӡByw5{ӻʏ&/fщљX#[ ܠ^$OF3H:nWL;]X ]Dzj4 jfO+lX mbGb0 {"vp{;ڲp+I H*$ZՑ2-oDbbt 2Ԗg89YK  Gb+P$߬F˼:.X ||)WNp;˫&{#3ZXNM LUMP51-TKUUgqWnyߞY;*h-] $>:Kr>\؁8%P >3(r;z#kf W;m~}D!Y=A4N!@Y5beߨp,kktmiUu+y#gv!|=e#F pa8ȷiOOThnNƀ--Z6q; 41Lk&ˌyhfCntЪ>AZΦEvDX^/Tp}7 x#B$,!=(hڝΜ|_@%%0Ps8 %ϔf7 3a蛷-/W@PxF " oRP>y@=Ys@E;Ƹ@r=4YJJm>YŶ= "X PhS(* %P hFۺso9Dfn40D I$ |lIt mm4@PwwXn&o!ь/C=6۠Z!T8VIDm.! $ᠻ8U~f2~saʂc.x[) Qj1P# S?X [1趻Qcŭ}_`nR1((#ѐ :jЦ :7ݿS֝}-bMEa`*!^T*Z,֍RNPFH.AYG<9#'DzѵTe?W`r0$~_Gޣ]*?h =ސ_p\w}KB IHT>"?Pz y uLVUV6mXڱ6mXV6UV6.G}NQGG|)>µN€Z7Z-+pIW nȃpD11`GأFso~z=-Nt(wz>xi[>C }Q\^s|j7WfOv1j ~@F]=IUFQUO!(Zt}1FވUA1 @_v\w/ht.qLB~tJ1|ہܜ0pИ/,?&4 Ȍ$//HmJZ&h##w@QG/Zw_w+߳䁯al=]:K[!#̸rQb<CңOnQGʴ$$d)3PVcp_ߜ"=X E KA6ԋQ=7 Qq+N;^͍tEb*k|303w3>I pstoD@I Cݪ= Nޣ y}@/v<@x`"s wWjK%U'l>,j4(Ҏ](j|=VG[6QأԣQ£ex($))FjS(1ސ1ܥsf] < !56˖-3s>ėQQW|=[6G/i ,z?MvOvSIH*FOzNW<4$%j\]Qwm| 1!0|"m{Z?̲uԶ,;is-UUUUU~ªv&PǶӺ}&ߍ9Rp;*1q CMu'Q 4j.X8Qg(?%4E= Ӓ|H RDR>]3,3#0RrSBSAMD}RrJK0{y9l!%Gj/]/NGΣ(/nVǁ].2bE6F5;k{ͶyceBJG't1݋tySU ڑMlY'\0--xGZ"Hl M}-g(2j'@O뇫 >erD>Gz) ~啇Etg~.竂 @Q![zU0A)u#UB+5IvǴJ -J |CƷt윅srs)O7"o2S <'&i݌GÓ<%Ng)?˄|:? :|;x(AAPinN7V< -|/K(B&j /"HG50kUqOAL~;)iī3塂(,5n%(!P'9~-̔~ b 7`Ïړ/{;n0\nlMK1l_ڴC)qR#0< :+2 BhQ(:CDa0Jt97 ,au3`1 &oBիGKK~"[vȔiǑy ,h6:|O-Ӹ&XsK=&%Jo!Ej_%ljP-OjMEٷN"!%U y}7qH;@%,Z M p-3Z]GrU=:^·cA8z9AΌv!"xD;S.MEմ:0'xӪ<j=A2T Am0>e[&d>Nk?zM"b7-\<Ha's! ڢ<"K4䷌'H.ͽ}0i怮WCz7Na,GC3N""{s|8c !hGn9ɐvCbpT UByH#hh+kmy*mD`!OID( N:lPy3 (կө80 SCUFx 8e-!Z;%Tǃt",tSρqcAګW0C{)g:"+@FKP:?~A+8#Pq~#Ę_vDD6 |(c%8|z&k&ey?r>,?C=yaZbŁjϩ}P1>^~((Dw{'%YN4p5 k< n{A.똸~M$%ņgMks 1r|m4=++0[>]qAD/;'C2f,[x[?6LnPi74:q09-RqCnP'áǵ 2cʓ؄ k{0@U͞Ps#ڐ~(O:A4U1X|,>ۭ+g%,$|mpL谆!9 /_>ZH{MUl])c| ^t ?5Bhk+TW/ƥ!B޷gx* pCQ-94gCy%1mwW9Ǽ ɰ>W20x+gZt,VSln*7F975I=-;AqϞZ(j< (w׬yqO EEsc:" ĤmLJPx=TgŁ^>(5>=Lc""KH0rhF2Y+ucop48DY^ x7㜹fn$ oOpEt'Ä݌7JN梉:@æz#v:f|?W7qK0a5;g/DN Y@SZ`ޙ8A2̢0Zhg8a[CB."yT5(f Qt ^B:ypT'YX@rbh0,Gqxy֓.=NiR%*"6h5e~-ޟ^%n&sW͟E`mӷqju_M)P gKClAO)=t,"-\lRLb Ʉ@S'ᆡ4R|O)>~qb n Ue;cbC.FҌ< !ipvovvNi>;xX W( 붇Qy'Q\AB.خ|S$\=CN D@1SBcHu~ " cgR6= :N|&zjF0؉XT)vUVH=2MةYK5Z( m=3^ALW G$݆5ݗc:VMQ;f ,#dpUmkm~}y6.x( ٖ8"A׷fz {Rfq/|7 !=j%U"SpdA7u4U8WkLZ:?}FǷQ`ePP"ZdzV~S vrxk媢bFlIGqRWOM޳03*xD9M:ӓ$ ]y!Cmex,XdP QW@+`mH$CP;wˠAj\URЭgdqBM$H )KOe߇r:[SQʠk+3ȥ[1k*$ʵϿk&)Z?%L'!;CXm51%{HZ" G} 7js/v/-=Iθd!AXVn޿mgM3IыL轎N@owÞP|T끈'p :sˑsPr1ֈЎFmotƵMŬ`<Cg[=zJC1OHڬ0B.fvP]Wm7M@R(v D-ɘ  qPۻ` AXCKDEz = Q&Ub.رb4MrŲ>&L*d>RFMñ`VWϯ/mZ9QưW l[ndaͽ* E6 ^w :Bh#{K~XU0t6G}nM ZT`$D" T '^5;9im`ۯejF?ܧ3a$;0h}u#!4^ IIL e%:xa>pLPS=c$ :u"+l;F:t~x٦D :E0>28 y(=. =bWdgfɰsoZI<@ 7m־=z$J؋Cd>Zvź|-f8i]!Dw!W}GG~HuDID?]gǠ]| UD`|N^VtDuEctZW F?@g`{W b\0#IJDA {_qwD`t(isM\@;>n3́L8+&.ͺTΧMr1E+Cz#(\"DB(}'tk<) R'.HĒd6H89VQp]1MD*@伭f)md<-ѽ JAz@H|Vlmq9 I:tцxm} l}Ҳ{x6X=6ShǬ~QFx_uv|mK|0ßZgM/;lifͯcm*B:@~WqଈiD4!5}|S!ԮoW˶g^![\U>K@),q)z'ۺ;W+p}I/l " zJbJoVAQ3XEz޶GauxOf|y-A"ͺI͙rM&Gs.xCQ:D:"T6E@d2[Xϝ:`sc%orUQU|Rka58tkrqy\|Q{O܍~| ;iޕ#QdPEM03c}/Gz<񙔥)JPӜ9sc zt]p-@Q7JDl*z4i=?\]CNɯ 'N R0Kr f46ҝBt?!AS_7>S߶r8+'<wL~|f4nGjTAԃ f}pgedK _XLq; jG^h/}lDHN=k,i,!n$6\o#-NK &LCS;) 03R|(c)fH+;35d7RL?|Z@i{uhih{۬N5Rz^_勲}V ]WI0deJ__]ml-Y솑T|IrӪS+zCh3ko@ ?Xw?sI?hgU)O@cun?O ޿DX bK>)]6/I|$۶`ڑJSH6,N;ATZmD3g3C*7wmJ9;4:5-hժ tTfȊ c69<4uJ \rjF$S{I"uP %"yǐ''IgAB \VjԗEtvAE5V,O;Ð5O\D=Ṛc𻓠+A~o?(ƞTaב5TUİ> I\Y6p7k?GܙӦm9|.BP;OC.!1VwZ>Ji2!H$3` F{X~m=׎\p-MEp*iC>x|D-7?,`庍ԭy# ,vTzyfQT.̇(H9VH+}pTtXap _|l!|8RV2 ;,|~:[gs\sjYrKEG#QnShR~:<`.XFYKCPl1XD ~Qǐ*"/gcm]m56Rf#Wok#wy,+WeX_0ȓR@Òt.%6 6`+OX!T-%"$g sIz`c7?GBd/ yHR&F)-"H X#s@hήe`E,*+XT(b@TsЫhl9^<|rg3sLhHgj 5:fR>(T#<_RDrC Epkэ oۚGhI|M88\,*=ò{|>1cNs39q)KPN Z[S&ABN?F Hj/ Ys\C%}|E[FyYߟ3UPCڪxN)C֞!2 )4e(`C8]2y`d6 8ioIzNޘO+_ϙ:asn>8ć3Y%\-r6kP{1k kViueAcn8^č80H]L9M *M($ )F jQ_O=~C_P^[M%4xg^1Oɝl6MSɁT#iM b8" 04g*pj脵C"rpЮ: }jiE ñQ!wj֯^;>NI A jG֦h($i5 @Tx_ o|'z \ζA ĢJv=BR:qj  cd5hQ-!iGjm}{"zGƨVr*)tbNX0fR`1`EV]7߾m (,>MXL_ %:zڣQY?Ko6Q ķo6'O|N 8Y Y+{Dppg݄ bF}D:DZN9r?)OBނq("g+ּ~պ6tFM(b6_]mZm֌A\_e.+"`@xb```c_}7xVf|joB:߯BC6f&MdLՎnil֚;bs7w, tP)e9'=P$?\;a:Cz34$2D)H*RRZ!bmTݫulk hqY!D"!D- ͸8aFZ;aL:/~UܯIQwԟO?f(Utp$:!JB 6,] +r(aoOL||RCHY.\C] 4~ Ni9hL9yqÒѫ,2h֡)Fqvh$BҠ {n JB R /=xepr1!8OJ h&waݡ&,;0-LGt\pV6OO&*6̠AAT@q֐sFG(eCm \miMs^ncJ7osqhZ NI^*z_PH( r Mo*ꃰjD ;A?sj1d9%<s$9umo.;V1%BY*)I.0!yVFba0>+%ywT!ѧLChzx%=Z]v_,$x~ת-BטN$}/~y-dڙW&?A|s9{fIg 8ĂMa_9&N6[q~PkE?oB(F@mן##Al %%e:9X " %3Ɲ(CKF'/5D!]K93 V7q"8ӏ<쳒}.$Y-NYH:〯{As$FW#E?~%yQr*F{P;:N Cv؂qyyDq8PbJ:76!ڰ-(*ktZ< d]ن˺ݍ:ݖ2R<5!Kk8؊LL#9CW4_ZP#@M&xpׇ8xH5Md=k y]5n׳ S V+ʬӅo*B%(Udڎajɖ$( # ,~tB^]=]q5}J2UPceV˜Y^i6W>w]IZ$&ɽm&*ON|y=Id"?>/]em^u6eL]<+4H@]͸Y^7K2eX^2l;keQ̯!V,ne[$T&j&J,]cak>Tc5d"Li*HrK8XrJ7b/Sv2&#zo9 ` @uň !u3KAb[s >+L߶f8GQal3(R|1]8PR4>u w -i(BQ[T@f,!(;!snٳefUD r|@jG&d0|T.dO塭hZoQ[/ ױva-*"[5e3rΝ9 4@44*)ICwi xOhlK+8b=tX'+m7r$M۽@7R(v ,^[ɀE%rZSs$<IW2ٔ5G /qEv.PZ:΅~WtYWU7p,$6 J AWb48AV@G k/z6'>)6qzLcNAfxФ4 i)_U$ ,?6' uU9ȊBfv6p(X蟶rB N@p^}A.i0:O.aX3L=wl.P[:8Jn!R#t9f*]py0& R[wZ}:t3i|ǜ1yCOb~-_"%^ A{PrgBk1rSN."R$͋N6NKREʖVavp(#LkJ:(jMh\/TaqUly DLQ_f=FpRu紥??Ý!ak^۔#zz[;R<Tu_XkJ7jjJ UT)]3 H$Zoóa@ĦeF"*\ %g+SYXy@`;rJw 8KBG:0jy !:Zb(7"zD6 9CvD tO#̸c6籎 Nn;+ęs V>J3 i?YePB{)Âxpp]$GÙuVTI%!+.)ERې`rZ4XaKbxxM>%|+Qa%n0A\A1DyqWBh}ar*֊QuF3pLuD^a6Ï}yZ '0j^ x:"J!KtK6d?,l;D(4;C]2!f*j( ZmSҠ[aJ飠[\6> E4\PJ.7X,PER?m~6{&q'!<{]4n(Z{P\; ދ^8~CUOYE,D-g/(a)PT\fxťy}dB|xrлP-i||)zHW,]s&KrAA@vFYBekA7t-k%fqKN겵sK~˭7W[2ycNǷtGqqEvCPyV9٢a(2$`g+\S{I^DKU3|#n|lQ9ax)6$Dekݒgy4 at+hz1}*uf6/}emiBgh <"r b]7 &'v!%%C>ſn߲b.LP;zg#iU.Q! 9X0=A㒝Lw |=Tz w֘UQiɆ.)%aXeihӥ;xMS\)Cs nI6XqclP] nk<~OkHiG_>P(ra99px FsA25N,0Ci2Py X" ;*R!nb"`IV~V. Xo6:$W2A'* þ%=r"C_ϩdO31r?NH iϖ } Mb^(匳1Lϗ~O4`]yHT}b*98 40  B6A!;I7:VJ$dz_^YOz𺡒h}0?VޖTc:ie0 CK9 D~Zkm]d#[$Gp<W'v!!Cc¡X8P_Hqu4;l *օ#!Sp~ceO^tխ `:۝0w }0Uш0DrVQdEX'G3@{P4ʯl Q$FueŪc6)0!HDP`MH$-+*,9[o@C&ןc\9FZgFDK2OS I?̐m!yʾFP}Xt <4k)]t1J 4aq"J!@4D $8VԬtd/hrZ.&B-ue'ɷ()`H%My(SXߩ)Qp>yNktcU\xZ.+p5p^ CN !t٫X9lY(,/ 3ڢd@(yǟO!xd|.D~:yyHDKm&ˀFrV֔V,} }Ŏ= 5I%&Y+vhfX(`z#FAcf"g5[>! #`|0!EJϖײpJQ.RpM\U![hUkW%ՃQrm|mѭ-',ˬREgPYss{Q\]Еyu:^,~),<ЗcYM!$2r1HUrF(z;`sPŦN_XRz٪R*C?ӽn/xL/iWQڵb&  ܃'T,\n^|Zgw콺{_{0Y1P1C~s:켘8QZt׫؄(,޸7|xin5!rW{֗ |kӻ7CGϜ>k"x`GB_6? 4j!D(f .L<̱qߊBϥ0/LoQoXV/ug_r52 Kم Uoa{ Ahu:@H~x$bv{qQ[7() 0j`( Ţ%P~.(QNtJEw"Qk8g=Gv;˝$=P&eRHqW3-P[mk#2erhDz&G q1 ^nD참WoPUBFsBI=vjvK0|5{}m 8_xtp 5EҀ@n2?FK)`D., /9ǯ!=V慨ZͯTtF1u>ߓ18 'SٓG)զo8m8R^yͺMc>܎BƏ}g]ė(*D$oKHA!@SuZO.hEMp)$@U![vm0` BadR4!H-(Dqe Z9M5AR뎕I2k!zra ̨xp2P+o`G8p DoȄQ:(SLr+bVe躢԰VOyK x?TIwLxߒo-zxASLȧR؁b"8(? д/V 񷄀w\=(QEbQTSj]ykٟ '3("H$;~KzW]|=Jּ1H-ԺXA^K( 2O:BЈ: 3޿~` Є;$ +? `3 5h@EX/-8p&&'<.f vi,&Ph !ɶ@=3%DR^Rzֱ6~:)x#ٯz.ZjGyغg"5UwdVB5w1&"' u(+r&D5 [#O?j{inGe›8OcfwC v!mÏb4-mؘ=Ò[5+vD?ώïӍ ;ub\JC;w(*2 vC5.I$3]rƋȂ!lU{AK5ׇlP2x+\Ĭhw 02)R}op\̘l’et$ENef^.r?7&U'b.YzcL::h\(9,Od=Q/9VG@l%NAuOWIsK:J_L6ubML:.1tyyϲֵ[8OVO% UPPvx2'"dChwHCτ犓tϹ|dˮ9::ĎkET .۝y_MpY7>h]xm|s{+zS϶.tv[޺u/A\/`89M|F =\gZucIǮWtJ=Vw݇ 6 W\8{+K7~Va@QP M.:O[jOgEbnxڭ_9r K>_ M'&+pnH Ȑׇ&`C~dn)% \{O%=ؾ z-׎dU&D- unN*;ZgVaaHC'$$^;GHHzs]uGW;2RIqa9C(Hk:iZUUUm$tHZ`>ok:n"&nD5 #5bH2XB s."}O[}ك&yMi.Ͳ(Ah+ IxQcv2(^К?\DDNQJN%Q#d+=;+H2lQ)2r @j{{7튎 ٿ>P8!w7 &I`N`tv8u^Dw8mÉĜha6x`8ʦ7F9X&GL$I ic#kx &q 07kr,r(R!I%ąx4jDI Aid F8Nt [lAS7WV)(Ō_Fya:tOތ+רW٦_ )kW>t@luGzb+ 4UX(\@ӾA$NF4<F>f-߂b$Ɋ)$ % ߬W񹎖u C\EDB}<Ӡ*}S?6W7{r 0|ǻښmnt4̶MQzhwXkYKZ7[[y]7bc@Ԉ'pZv:].ȃZ@uR_OPT* H(MJm= <@E:;0s%inhOdRA;Td@Ј(Rh+{3x>a}|)orJ1OΐVU`g61dg 02[K ר B3EGvx 70so~+)i*CچOÿTyFV~%ɜb >y0^6CB]@կ^f b6f܁@}&>Uءeh H,LL W1W؆q h_S^:8mENFއ0|=@n5߫ #f56wXE<40mU aaByeÏP`;Ь\7/r.=;p00mx$" _Zd;ҜRr I.K͓`#Bq 5BR HְHUuBHJz TPz`:b郃Љ]ͥWZk`:}E|"\‰PtVx㞰e iP,&7F^>`Ƞ]O3DE_7W?DphHذ"!u>3>C4@ٻ݌{ 8{u/X)<=w>)}b~-ѠbXfB,IǷ}tVQe7 6kgu-6z9ONMi@ F0{F-xf)X|:%3@06(]9pٿ˧OB-D M"6r _jy遪&X} G>{[Z1F $ |#:OD:A*|H")g]CT} w\C WvL`b+$LB2zuzGp6lm6RdnMܜܜܡv.Dlٻ*+ZQmUW".Uii5둕hݻlX@WGK-X˸5 {y]%E߄;~m<#QF4O|{}^_7k14J"Z%qX}%2gM1q1NcWZ[&pN6ۚ;/^ߺ`{קP>Z|#vZ@ քl8\5MSYG.F'bUeSM@ DեI)m2m(i1eΩ[Wh{G=ǓU$dh;2뎨_c\"l5Qe[͕GM)ewhֱߣ!Zơw:_0{OToԐ)z(`sTu eB#kw ]'PW퍎ppw_u`!)4`b"Viմ΀ TA2Ĭ5S4EBR@ THO{|2z0~-DT}Q/|#x]{>A}7??}^wVu|;W鳏o_z'οS===c-ǝ~~׿ͷ $N A 3kՋ7=JOHO5Ec :.N2sԿ^ !ܷ/_7~{G~~r^e~ {ű]ƿ W? ?SـN\Snpݤo}3Կ,){=(kVnӍJ6ѷroGĿ<[Y膟wCoE,!^< qF.Do* kT]V6I'A|58PWxdq("T5(f.#?G89qusE$ɘnr(#ݏC#0&1[l,HǓ(R`m.{ \-V+vYs6Ce^!/C\pOZÝS=r-.0F{gj?owߪ1kO?]|먮=HCr0:I]v|r_{_{i+qW΁.jgT[ }&9[c;یx|ٕ.]6IVډdUm f9# '2e,~쵳I 7třiuΐorn1>j4دDpj#vwq8!~Zc:h#_zǝA[8Q???&A[`X lW[b ,j T~XMڱM3Nk6@$h̑%LF$!b*T͞Cf{f#T1d @"aj$"ۃ$@z`M!&Uڽž:(JCcH5jÁO (np!chbZUUUUl@D%u;UUfHt6KUUUUUcj9RܮGYC!F5gtWh %͉xJ!%lf ˱ɮrѵpvBn*iƁV6ۥ@m)Tϴ3yWA\f,#{W};]G{rD4g ZiV&F :qE ۔8'(#cd%j B"!zUatTߙq"A!ij {Q$vK!Tr^5:!s0\-h4l ߛ/L<,>@u ! Jc?x{4B6H]MOP9U wÁ/13xN`;AǢFh"$:?+qS !Sv{SI/Yg0@}UePcP9K}w?NwF __%N)uk}[z>;e9Ғk+YI_ u~//AgӍ\k`M4PšXckAW(}+w_Y$( I(hE8A}w|'$G EUA-@DDG:A#$U,hEP0F B'id,Ū_#JVzy+$5$y{n!&<7B~3~C-'JV !vJ@DE?h# LCHp11Jӫ=놯4\.x' hghNzB.ܝIj<j$?$>O݁ퟋ"2#N߹]?Do*?VBD DA`'<>\hV؉%GR4?x7YZ#h{(toA ꤮Z?Xj,`e/Tc)$[qހͱnsRD]CHC˙w IJw%n ¸14`7hH q.jQFi,spE" 1"iRM"Y*mP>H;K"QjNEŌit|sWL R#, bg=rhN,ѭ SOTt=1ϖPH(t velcEOVG?^U8Ǯbxm2>l6H}OBn$8; ԓy!TFh`g _,9Q l^aFKT*!9UdH:t$i=` C ?pz?!H]9|}e F|5Q!YL]v[@?v|B+#*i VH~h~l2?™Db_iz(CzDޥ+ $y[`e3mo]Dk !xT$@a@#۳Y0H [|E`P"Rʺ5G5LA^|4|'iłN6j?IP~۰v_f tL 3?W .J2 .|`d,rX.ƾz_I(y j,*=O%gGߚ  >Gt"xd }7soTWQ`?G{'ÄHuJv vx~#G=$ }Ny@ 0B{vk;d u"4 !$'n2ߒ P[utH|-M>PaQPz\|%&".ϓwJID"GMo u,V.fXPHScPdDRAa mx EDP}C1k~w"P >#ua2GnD8kI೗OwnVeEqw=! Uj0Ż+z cP= 8SBW4^ n9H&`>IuPJa"1`ez)<}&6;'iԜ}3Gd^ݹODAp#߀GAkc2 3d'ÊT5QrDM6 hb* )H UJ?Y๙.u W%}u'C'"gY, Wyۿ&Ab?1!\8`hLww t2G/LК?_ڭ2*x 5s/'O1:wd"jDwwh틧_B*X\!E|f1poSs7bO2;23brbot ,ߔG=HT0AC4B D!-*HJE%$E^ϟh} h(t]7%NXQҿxksm|ORyz= <&Q`~XKze{O9~X $R,{>_w w}83ZPy.+4Yt6(mǃ|%6QLQ0U,UGPsd[- Y"0c\݆N({.#}wxT"Ÿޯ)~TycA̕LZ>zT9ϡQ?Qf+)絛NaGWU^lb0M`@}'Bxr?rxmOFK8DM)C??SQ: yH%$JJ:Gλ[{K># @P)߳^=:O =t)r;;?7x'sA QBﵿ'|,~l^җ;/nr;<ҝ3m(CCMWEӗ6c4#lwLtz]'iITCʻl)6g6~9'W7|zݦn2J\2:/ko,dZ3%!B\9`Pq  ID%(<l ˃ήRTJOx`tH~T恙R:PzDWp8MC*ל9x:d'UoǹD8Gh*@ +1'923<<+Cm 7 vφ q;=zI9!l>+US x[l$ p,VdOH&}rX>QIGs| w(PJK|>k!!?OWOcT2~~o40r+nH;eV_?fn\oȏÁo2IoQwy?Dm8tnB^eo35 CL } y>V)^AUQE]y 2|qP/c[~ZU Fr@WwQ>~,iyA3B?oOp=]5LQ}ʤ=zjU ,.3 kx?}>>ڧB6p1:统Mڕa7QP$W.gAirU˹q( {ȱEߖ}gSnFg0 T*A?GHas z,tUt Ę@` \$#FDPVs&&/7Щ99] ͆ DcHW$76໰g (ިvM*)4'4 DN|h8Y{$azVǿ6kvE8&GN20 R0̴k Z; 6zeY, Fs+<..7?qsqɮYC|XPpx@GQqM ֪cQP767p>_3 tВqOX~!bg|>sF'p ]P7{#-%y_/4Jc?oɓ|@U~W/[?c'"7u} FYIiP-Dddy >t}9,!j}mh;I>[sN~*Æ_y; 0(ވR# ,- mSMp_"IO"|@me@}K%!GR~6T ET"]=!#sAo{֚nDa>~}Fg xsq00 R?pֆc԰--@bnpjx) NCs*ڠ6sɮA$06`[g"ޥq5;5Gw#'\y~eLbIȬȋU2ᘊk@ \ -O}ol \@5{)ѡ萹Q QLڒ>loV %P9[]PQBuubmA[ED&!dƢ"XlŰWl{|uvT-%2[^Ns䨱m(vO>`ETQ$"G0?y܊ЃjF`Wu*8Xt(fZň0IYqAUBȟa ޸P '-gU'xOZЧg?z}?SnߕS& *C؅iQ-]2;р>`v,VX X!""0zj W,`qT̤FEuѹPJ)1omPa! nh]0s@ո<ɢNsM]?$]T|d!/0ԝ=e"cvE x E  xDPOF]hQDt9UZa"7C}1W'.}CIl4,:C%{Ƨ}u[\ISdwGp7Ghz i&MZI:w:b P'ZbD^)Ȓf?NCöwOOo*d;Ic:ӂ8vR< H>3*"tV8_`rGT0!n$n6O^njuCRVe)F e䮶&|78y3}qG00x @*D(S (N`@LJv[C 1,7jUeA, 946Bnambm@pP$AA7 Sd"g E2BC`5Z8qw_:Z Pc(s0vaۧ+0瓍jag_~!$sdaY[Cg>@d8Gdճh@V[v8sߴь=Nݎ{ ܺsD+hv0=.RZ_]u4K>9h:S\WA+-;Xt$,9+>MKea#h`HD茖+K,|$>**atzf '(ڤ Q}x7TпL tF}Wd>q47[HA a "|?宽pxcfwNvF{P~}BD+ ?E2uM$?-EM;*G8 A]$)$ d+!?Y[錙aQF. iG 3T8 K ;ǘL<;Jrg-:m<8W ),f@GO z @fVc3}/6@QbP:Wjt&@F-zۋ,!j oz힡1pڷ0]pd`@6ct'<t{G K㠡Ǚ!+727¤dW<ʹE8`4ţlYf ~oGc cxϮP0qS_~WR{:4?8AK J_< MLWfAΰx:<,Y+4w#G9(+܌GWp:m4L \ ֿ *=xv= բYAI z;:FPp۝KTE9_g,$50j #f*g IP\R rV{($D (`a`1Q,Ř]{EL_:ts7/JJ]˸w}wW6#Xj_U f++)tC[aֹxDp^;[ǏK:#8_*G&@rja !.;p󧡭]egö=(>+5|u?:g*4J} XuFUv_O?6eǯ׽HR0D*JNQu/[5_%'alrN@N~Ku.E`{@l uEw!^8=5ܺ8Q]$&ZD6VPZuccpn{(4a]n@IpWYC$ݲfIINY;jɐeh̆BCxex*71nlYmUՏgrb18%^Ǐg)'AQd>ʧ  _/e;?'1`pWQxz{Dmaצ<Ѓ-%pG[v|.^CDp>+7xsws xR$9 Gh@qЩv'I7uz|)@幃T(@i1*JTJX@':vV{V F 0WF A:Ve6_vOG'}~Ø[ZRجX9ڬZ9Y5 }"r]]Tsa (F|}c}g}T],A84ڢ>K'\rIL/%OJ[M{~7aa)ODQ+Er PA a% Ւ~޶DosɪBN=JE5BЮXGKz̛q2񣡙~9ykp_fSKJ[Rp.:&4YWRW1'Y'q4t-FQ\/AG6(IC&g πr Apڲթzpt`'EC_$ WbǬWD"&pHD1TI0WF H&Ao!Mџycg(Y$#` b:Ŗ;nhWm8r#V .Sv D;{9hϣڲKa~1;/!{ 8tf99tГ/NggxWcL19\;!Xί3 jY;Ubg Sc?!7o35i ,兣^v N="wG~ 3VawT6ßXe j 2J1^" \nf^=n]1!} nfɯ@~ SFu#l!^vgqY"+u!K7c;&aL0PJPh]^L!Pi\19cz?8UD p-xe=!F߸FW73TAd^w@ED&0%,Nrv۰t<+U$OYU"1iȋX\A(hpT<{GYZ3l\9ރ-|hs^s :kPWX2^-Uzf4*xFA:.|iFje(WiJ\XET^ f,-Iݼ|1r+%d< Er %|$)FȞACZ^ 9xo Ey !7|6Z4=!!Yq𰆒޼?/wNƱqWbuj!6V6VN2. hT:yIypč/]Ζ\ycz½`ܬ+/Z .MBXK:5C9\0YJIFN]%o!Qҫ!(,UiN`#(Wxw{V0d!册 ]@ 󮗍dZdc~y"vFtp |Űn0l面' /b84:Vv!H5iRU5!'<nq7@^ۣupCN~k?NMWT;g9r,$7^VquEr6!i6kh[-tD9('Wa*>]bC bԸ\b#;(ڎ˯^b`WO BAzo;|nF~/OIbkg{7|`t:N!1lSe~ƀ) wIg𞼯;SulX?,EI"{T# 7ms[ L'glՐB>! R?1Ul[I!8D2N{ủ u G'ɤ}T'd1AX%'8%  ʪk^%Av Inx BE PR E)Tכ=]jT%h]lY&{I!:g_| @B'`gNR;]'0=+?~{>CCTҍ< `OI48 yj /r|3'~>u.~|1Q _L~ZeIk QNWCH R'̖oxs?fD~z397uw?| ffGTUK [ANz=ۙç,sNPoh(*6ri44g 9g5@gZp0!\=~nS } idt4?D^>5.GeP.G64up 28l@#vѴSWҰ2 C5j}MR˃\J΅_~!Y!6C3иujՎK`DX*06@$RBPC `prnX? aV*P#poO_vVlsHu9sss3,_[ueZ6XCd(Z+(TmF#DeG]uT^LX^0 '@^gv^:gRu^ =w{;?(qqx?{|}j?(7-ԣԣQǧB:x'DGܣG3wost[kG~v4jBz$-E3D`gђe2`?# 2K=E= wZk5PcUi|U@J&ˉ+GעN=UuK@o"*3CǍ껎0u|[1-+ @P5<}'R1q/b ,m\4#Rdty`)2ɡ 6 k$YEwc2*oj ڈkd@C{W2ިDh?VyTjC"Lj:DhF3fI;Z=4a=jĎC3>qvf±8d:v*oKMR왬 sk }bX"k21v,ϛp7ߧ]pd01r1\-"!($$dRᙋlil@7Kpi!2Ps!K޷#EV,j3/L6ZYJJD6¨<qV$٭bC fJI) ݵvBv0 I#0k>!ӿF$ƱW0́V!OKgJci8=TEXǰM1HeX#C3ŤZ9z 5CXE8I*06-RQ09n'85=A :-)Q$@~C೽(>C`ErEA sD!gEc5؅4EA-~.G Q #=`Pc+IMsDW1Rh~=ZEہ׿ 6[݋ߔިUUUUUZ;k!xDH fQbRHr([^֡LGOhy"ֱBNM;d!֏݂Hi:mc3_1>N hg4 ceH& aEa?v:SMtӛ@$"ɶsLV!q\[ܘe, V=aγ46o-Hi6ZF."InSC^ml-\ p 1P@y(J2lL>@6a+^_0) S,4D[3(wGa/|85Z3^ Q. 5*9'CHL+`ۂA?c0`gF%im i ~ch^w78sn /^b]7o.IĄCRp$c^lM00 @G}x_iuoS\~&@$9!~S:?ksi =#[Pg7>R˭\k~07y=xyL#\ǂ2'_榁,\mA I!ivu Pu>j\ K9P4$ȃPrnIFI Ig" A?90xS(rj2vW Lx!@<r߳й`+r%WɳLxx yd?wZFQr,Ci@""K;vIXvgA8n8Lr9VN,0vr3#%)WZ>]oc"ÀE+O $؍zf&" g?>FX![Sq0xxɈL(=\u4ٿ*b0jM1Fd 0:)ICl+2.s>~Ѕ'f~Wyʿ?T8/Eˉ ZS`?'LzrHDZLV6S?K9]Mwo C?u$+~4mxRD~ȧ 3?fݾ/eNq@FaL!sN0_X)bb#O?`d<#wu8ܠk?j0~>A/3U kODG Ҿ./֟ wW2D٭^. +Z|ƀ+3$HFj 9Wr**O 8g KFZxͽ8^aNL AmIF38q0Dh_C;fl`=dYfamD"p675/w'ծmO޺۩EdI%GEu:$+g%y,pҥXX9%UZ%6o1fVa$7y{() ^ Ot= ,J"c>GOgf/,(:$-A|`X:P{@|qs̓7_9`fzȃ>p>@C vȈqjD1 /8Ac!](f4uɷfqmN[V}nA8+n-J}1|+Ŋm&pLj_8y0,USn#aѪYd;M&O() <Tx'Jz[^ ׂ2Bv֍ݷv +#|>{jfh"{#fL,@'"<:k{F~'AtSS<*PzN;z0VXGrUK~O>:?%hpDL>x4F]m;Ur@vinq v^yge͒eQlk,.0s;6&[N\w $jHYcmlϨ*E gvݨבq ,fhRS-zLQ ,MB9WK(hv!hyH{bԤ(hhf;hcH9ϊv%2T^=aj3w9L fW"vs5Q(ڈ.\T:yx=O|Qrخj >"ov=NGʁ}a xv e tE 1@(09R0}=.Zx+'xNՊ19R6Uf!ɢLu4fJ(p`G.{pn8|ٚ4\l,UUӣVA԰{HˏN4uH PmIf@yL;t7[aLvm=ЀX#PN̥u>~Uq1.jnv2XlٲfUrjV̤Qu]8hNvCN;<{#*<5C3p@, p1g!4צn;lǏP0@ 3P @I`- ;u5w~"#9 7ЪF6`NP9r zˀd4зbapPx=84xdy<`&­(n[΅!8@dpSlHz/jwj˝7ߋGEti-M-FU݆PNf9~o2 j,*ΩbtQ7u) N9ظ0[ ~UbZ ĥRM;}N㞰]ڤc1 ,%P%4U8ణŘ΂{3`\WD9/'jwY}Wd y  Z`,Xe"bSDB"0"lC/ͺl3{ѿ_{UH_'oUݟcaJ+ά?ZK؉~R})b@-jp]qxqcN$^ )U i?5#T37U>wrw#G~yЄ3CqG~"q3|OJ“K̾d{>*ߙWy7Ph gf&ϯ}uY.[w\Hl˯5'kd>*'dw\hUZs-dzuyt\y㔴{ԉ6^bY9]9m6w`oQl e(h]gц<$x רKhtj~d-TB?n,@s&9XgZk?M+_1<*_Xf84i2NCޜ弘!yt@pU]Ks=G$w;Je*H6Hu =$;A!HDlik&kfm`z(BvRFp7HOؘquF }@GhKqsQŽ&M@ !Cų|dW>j.7N n D&"mv+t=Pᦦ[zvgƄrl=d_J?F==*|Kʤpug4֫~á|e6?g η'cR(. b&hf HڏfxB]{>1:<Pw`g|13sWJY3_C@pɆ#=Sǧ>#\p%Gq6ks"ֈ(Fggkt/QU f1zp8Ŝɒo|8ZXH\o l*zZu񑪪o.ݘ*Q{^ӪTfVX V{9g-{w0qGoUbϣMR8=b"1 {3@܎<$:xH}tqa,dS C8Nzy Gr9zcU_BC{?_%VJ_f)sSa!8oMrr|Tgs`QO Oos/?ɎҦ"3K]'-M(/8:-*Sg>qϴRz!P<3J@T)UDC>Qo`nEv@>⁅3 mJ^oKa<К85" f:<{ n(&Y>qv- {e9'L @_*O}-V(!mzvP%UX#G}^N$$$6=ht.UJq`{ RE@:eP)G"!a:[9K  A$,7ǖ>#וQsQ`zN]+*UӄVgsB3EH@)?,H/癏i'8|4M4MM:NzA5Xv;UUVDGqs3y8|!>s@* OC^EZ>eŨ>ᩪnc5zmSDBϿ*1zu: "HGx-oeV |M )pUc2f3سbk(%YoC/Ju"XE-~&XdN0 Cft|]ϖP=\'TM` OtuǏ5Lqc@JD]ͧ>gP{> nuӾc2Cj>W4Q]Rv379s_X8w\ȩTXNH*/Jҋ] I :?&4 =iŻLf uuPUUk`Ԁzc oK=il6fROqH~ ygL(R4`Syo84~:FaI$Nl%P%VłDqf* QaePQb,83ofMœt>Oj$E}HHZKlմ-}x:?W:Y~_11` c/-`ŊHe]#1Cc!_0n\ql+ڦRJhR< YlT MDT?VB9|I7s'`ZDJz*/δ㊦/h;dY1h\̍ wAsqSgj靧:PqRơ@[5o~/k:N1" bkiK-RkRÌÙX=4BdI3*ՁM+8RGf9 6 4ܐ.TtP Σw7w'@t`?%[vTd 1Zֵb舽*0v'" RQBU @ %`Aa a/QX,߬Zl"1JDh !@`84ʶ`$BI1e)92lv]ï K}`dD7AE)iM4ӧM4O@M4٧f ""mPR( E`|9 ?EGf^r(6F䉼D1VB $>פZI#x]HnwuWlTTQ(P%{ќus(\ꪸǧ$  `.w YJk :0u)OvitZGbgq3m`s;]!$+ݚ;|)GWt6@@gmV &v.9 gP" ,YB@Cf 4|DXe3#(]{zwu 6!̴M<0HUDK1l9@5 .k@P(,:_][Ï}MtJXf[a! 3}\`@0%6FXVÊI gD9Wntg pQ;1& 3AC?-T5556 kb8EƆƖkkm`Mm[f4&[llllllllllllvkjE>:{& K[d.(}o*7Oݗ{㡎TƎU! s4x"LI1%D*0 vd:}>H(cţ.( ao=Ql>L'3nn@@p!(8Mmvde=_d~ {/T;>?^pckou -ñ(e \i* BA 6K戮?۞[) voD}(? 2V9'Yv^#)J1/7У7KʔZbɡtUm]2prPEMx^kاݧD!,iی򵭜.NA^>lWvx§}tLvꀶ"_~{${O+.٤QM4>JBv|?Wmscę'҅&I9ǿ.=FWĐ }(E7n1O'grXQa]LR7W2;Cxf엺ltÄ0ކ Ìy}'_w9=vO%+esi~!; _1s~z]h~?4-e˭##t~"I4 Ƣ{}X  $.nxk\-IvLEr:69$Gkc>h dQ|lY,^r78lr.a$ƅpCX# If32l;W#r@7נ7qJ K?u4 v]3@-) ldZ!t"ޣɘ!JO5lQ389>.ݻё87͋/lљ&QPF֞U^|c>sD :3rfE1HMs)w5~G0N"R\xUmӑ97r}oS3rnffM PF42ƶƶBmb[`Ih-ULÕ+8[XT̙Zz>tss>i5drcz<5r@O95Zl"j Hj3j5y]>ć ym(aSgѢ窠@W(M:l)JPE-y)+X*,p3ܑ#ᖑ8e՞/a4U݃NԈ ,(ڡQ8LS-eP"$IKޢC^{aEϯ %m\axWf}On~)_qF.;aE I_\p؀T39 c^C4rz\އz՚ZI~ח˧o͒| Ai=qMqy=q&Zz*% FSʾ{p.&mCՅ<`O~D 0 3Ffe0M?"x\P՘~c>!<8bMa’pE W9qBOJy1𦴂gb;L<(G[^Dr\1eej*N1HS >A ILW>>j"%9i>6UbA%EiP2sslު7 vwtn)@^֎kJ喚XZp n #߹ܫȾ'6hr6=w|&9.ܮm(Q~usJ"gnGJ6G,ΚF%0R`OwyR$Qh2C_(LyY(o34_)|7C0j7BmxGW];WrZϾµb2H\4+V'4yV#ONVoviQQr$]q5!V-Aϐ;دontCƼJ*ysj˱^7Ib$':T+ ;/sd~gs777a;;w(9{kZ*Kص]^(w\!ViV]B/DlH-!DDmQ^eG ڤ K 'WQV3V%Y=!*}D+Z.8w@VCu) P%!Ed U/|eI :+ms_eB:>MMXov4!̘GKU^Z׹gm㻷!$EL4厰 }LR|u]=3=M|hC{;@Uz m=x()dӯ~5tT z&}}jM=TDKjlhC5Ah21DګV0f`OY2&8Çpt*utXF[l<+.hUwg׿3a"SrCoXNq8Çp}F;z^|;ˑ1YGM`DN;BrxI.|{Gi$-d„.> q#B.e^!;3#a,~Wٳ0򹁚{ssӕ|f4jrB "-MLʪ731U+F+ƻevVQ _4y{ 8D2%\W6\(`-Lrܫoc978rLsr7pC9m ywsgT-`ӊ`b}ׅfTWRB* е7hqB[6Mn?y~/^.48vs#!F,mXgշin\ {cI,6Smsn9EG.^nd{YiNrMUJbS"\>5T ]Ɗu:X[3qpΠFx ?^Gu<Ҁt3bdFآFQL;A[hrYȠKpg]~FF|ۙG΅Ei}:ZC]FDط-09 U$~@ |sR9A!N[/PaI݇9czO&p MRvmosX iᶦٍ@&)9999N!:9:::66665]S<gb3MLMmdQYZ@"s~=gZq1rrp ll( -,s!CcehP^::99- '[%Ag!$'ρ~ {ywAn!*$T?,iJ{2^:Hs# +4"I? 55Mdͣp6gD婲Ϻ8[8êQ&:3o<w#{&r]mH̨"P(퀰wuv-v ||8e`Al&<(|!11%SN\6.%ArSˬ8p֋ t|vfc]^`;xU`LvvwhT8Wc&/yMaϒkE/D(V/ vovwiu>Xf#**8+ riUPbFOUixǤׅ9_W"6iÑ 5c˲kkkihtZE'[1c[[[[[[S[]3δ3ssqẽ9:91bc-~"Q8sV3G:iT LbmH 3]0d.˜xzi**Ifdv13ffPLGp/sjGYIfp*J+$I(S:iZ](%c6yL(Ad\|J{`dLٓ|Om+6.O;*+p{=\Y >p$`,Y7vX P bf ~:vTٌ5cKkuJPm6@]B҇<0~ӕ[/ԍ̣_9@:Ӏ1 A6eޅniB7xZ ]p֍k$t 㰙5Q{vGk7rŠΙ$BeMtc]B}} ;  ucC$:n"<38Byes\ QQkyȌLÑxT_3wDvA"k+$Ѕ3X {w-|،GP#3<܁K'M^V\˚j22B UdPA ikjjkh3@;&p,5&ɭ[[[[[[[[Mmml«D,42]Cr 4p~? $KUeQ$uBd+\ƃmlG#t14"7 #$-3G3pYHDFX U} =0Q A 0=AR w@S/q1MULE2AM SIR$J̉)  %.FؑS VP@~'{E__fz8GJۗ%/)RxQa%Bx7*0,O{NH"#|iy05~ܬF=t>y918|`#0q p*3V@puuisJ!4{8`u9C[2 ٯ*img@eFoo,RX` $AÍ8< x]b@v@ M"-D?8*0{l[a.afijGu{$@ɔ cuR?wAunAv-=,>JX8t0li|lJ\ fUٖ8Q@)&i(cHxB\L1hru(7bB8wZҷm?G >@>wqCOknv,?n},M.DxxT }̬sQ1k~"x<̨ʸ3Al=U$"F!1=GS׃l֩a gRha9-FY{?HnaAExQąkDi 18hP'Kk4EozWtƟ !؄}+ʶ߂Š[q#H]CDP0vF"!D:8z~Hw~?:P5|?r/L3իOvͱ|_ݜ6g\+wz2ȼFyw T컟U +(\!וIg}~<8h'(#H(vp{̦( /pNˡd1}MH|aH|踄 NE!QKp7>;(\'yn]ʌ*lț,<'K+-.Zi@^ h$\ "U")ÎKLHmEG.fAXie&j鸓guDEaC E<=ԇ'i~= /MGi 51R1#d\G^L2{vy=rfGjoAH*"rfH5&R~!0^,AqMJψ`5RœdAɛG,RxtXv8ķb<ؔfvQvDt Sֶ:]䁣sz!6|Rdx aTE.Ph{6F-#i` ۽=#rH M}YL}\nrCo.4uv*Hz†06O̧đCۮ7vU7&6i;g˱K?iCk{V/,|j|nY-™).!ȃ1U+%L]kSVcXd0$lHrWzSi 'ɮ|ئȨ@* a (@ CH1a]kGB ̈́1j'Ȓ;o`Xxف 4wmG=1Y>U1T2ڥWD/]Tv| Z[tpuj,3SC{_m0.Oh 'O5Q[Mf@qѡSaNT@%uA `T& LW?K6 -9>LVFυخͣjx Q:m)/'W9[c9qJQB`PYvKyq'3'"q\c Iۺފ3&' H*z(6GkS̩yq(ll] XBQd5A J Ӡv:2Nw}N Bɛ vbN{裫m/| cEB n֫ZffnWa;ۭ9$a@W4<o&NL`Z, NM=I%å=4WzHx-Xbr0>Q @=3;nXYDhO3Ҁ(5PJ )TMd!k'9s9!!!!!Q=GJq@w Dsk[@]FsȁN7>Vj& RvWn;T ^Cކbz9}|lQ5pz+/|Pc-H7S;ò$A^C3TWɥWA%gW#8Ϧ&`vPg8X Aj;(&ܪp`iS@OA(νÒ `r*"m_鍘Y^#a(6޼׾gǰ~p㋦wn%UFF0, ӎVUQ7<^4 9hմe i34|!obclmAgV,M:)`ŤKQ+Uyfش74r&óF6׶WT`V)<ƴ(+Ȋ_M8LZl*#c ifC=UUISn1ϻYs͕ @ ( 5YG % d9FG,2 @PFu\KN!A--jF,8"N?OOZ%l,DK%d?T523 cA'[O_=B0Vm}V:m<>byu!7*U~%_Z{(wk8C &R\E4S!&L޻akI36}_oXKZ`ӣB{X )&`!i` B}v@n 4${ʉJ%?TFS*: ?{wwa9(BE7QJHbv5|,xI X^N劊'w|*%n+!!GbXT"X;crz$\P) zєK&W^5]8OLFOe&!#UQL9cl1Ѣv64: y(bPycx<xXi({t2zEi^]vHz TSk-;7[r"1{/A~Yk,ZfK7o|FEMDvcQ9j @5(ňU%I>LPY@_UdQʺ\Q˲H鴪7??/.CyJiv12!0S30_掇ę`>?/ne >"&N F@b1]&av*R,iK #-a/lg85 /tƋDnʊ5€ 0d~dv pV8{V?k-ϵpV'e4 jaAA'/| ~qF*Ej*`'yLE~'OFeGWz1ּWL?z(7t~?(/'ѡ ?0wBdṭ7?Уg?gFj#!}?r} u6/ ^1X}_6 Tyĺo"W6l8yV:uV =Xץ&n;5j~@pbfC.̓ (L? MDD$ДCH}={cޞ)^oXUW`͘*җY8rzz^܃QoG!o; 0ziGxEvw8TGFw:sV:A]Gyױ;MNҏ( ϋG h27Ŕz3%iW/m!mР(b,a]G\zA."|})ZZJ G}}UV8k1%1W_r2S# <;AOB/7#0?s-˨ODF(ؐ)!oYRcl7#[.zoJ: ;Y7=zVZ͊0$_>VR9<}Po6 'p7flrECݟ/@j wq C%aDrlGifBd"bBi !Y hbbBfBd&Bd&Bd&Bd"hifB"b"Bf&d&Bd&Vfd&B!&d&Bd&B$"B!ib $&BeffBd&Bd"BB B f!&B&A1gp"`8<G ?x< $B G-=]rVbq|kZAPZaF9@fp]]*Lք@Κ]F2ǽF=;醅p;{X"}2YG5G;FoQأ{1toV-kM9(=6P9F32BnHy#5أ2rOj-Gi"pwt>((r<`IIQLer|v2hnsأ62d=gS(E Gm<:ޔzAwQ9Sg*q QDrsQQXqp9@5t:w<c=@$; q,EPE`A"n;O [#~3?(iQKJIPQU% =z"K,2NA)GӆPkQ_={,A%(pϩῘ("gz.qnQޣԣAV+ϑG+B>HC4Ugdlf78\]qj^ 80c0c0fafafafafafafafafafafafafafafafafafafaf`c:M7;E}dbk;%=ۊb:E9cL&NpA>0t 7lsϜ"\T]N5JQM*;1aGr[Ӎ|6Բ.=6C3CNfQ0?ߓCLPKUTJ@Y$: M ӝ8z~,ʮ(F(EsQFڣ ,4_ ;򞢶Xv73t{*{rlnX8e>pǷ!⾕8Oj*jc"ZZH)$)"hmUCPS&&*(eĂYPLE0UD2Hz&3ca7j*_5t|1}C+ym592C.g9`>"N&J7 ]>o[ &X/`"G+]IݏAOCgrq xS<&!y_bmS슍QUkuC'+n3d AGFoM33l]sܣ s-}[(KB !9ch;~clu::n({hI;P2%;7wx`l|\<~-M'WB XrUXoV@wcא|ȟ$\15`ib"o)>߄wn3I@Ki ABll$A`Q]/Y~F,QWSu@b꧍ }.s}Iz ڡ_tmaF8<{8vd%E- e 9ѿx6lcGs$@*Xlh2%U"95 3";S=̼ڋ=bI Lz; yz=lt?A.}`0 xONQ,bhnQȷ (Q=M" l6;Y'lRtع Ђ!b =c̺"b)=Qpm\!^B3,l3묞GY/YlQfn,HV~ >ɼUoQۈmx]d۫^wf| 7){Gݽ&bPrD;Zo@ě̞z xoY :UmN6Xn* QTQlLQRoQQ< 3FoaU%y*5:r5;OأLûE'5|sTػTM4ELI!>8{=rv9TtRdfaub*T,X2H3ŵc,yZ "0gVld'+[,3aKgpcP$TޢiG| #e^ \+鏌D} 333333333S3333333333333333333313333333Q333333333330LL0EDTEDU1LLQ333Q|I$TnIz= A{̹r2ePhzAzAڣ|"miCh >W"e ף;ЂF`JBHbUUV.@@.jhfÉ]@Wk醞u뾤'q% B*0l3&x|R-|VU@:`}((Q/Wyި5mGmgGm]^ufBl@7Qp`ݳz-ezoQJ:(ꉞ.ʔu0((p.RfQO Vt%A;4QVQSk{{2QQ2#R4TTWZ(U-:0FG]'J;}` rhvYhBF\ (|}(N5oyj1FCO@XJ5m1ㆎͧXE3` gcZy|ۿMk#1J1z_GĞ!"ǰ3Ed(R$n7C#n(8ˋxlYã°Wh hp4 69=a!K|Ty 4 5^NXʉawѧd2\OT*0P$)V()FH h(*$(()"J i )j(H)B"()Jf*mUSA TERRDUA4HG qỄcR@ߦy*utCONU~A6g~=DFm]'qE̔vR'HwˈQ?#tf(8 $8%PɆ!ôK\r^+<:: 71)ZC@)F9JZIUa|_P#PP@N֟은A&LflUzoR}:N@Uw=0S5PMT5%w?^9J\s*6wْ B,?vG<7_6 bV*ekg,4vZ$$:]?f|Ũ(ҍoQ"yG;h_51Fkrn8=B`ѫsg * s4Wz`>8=WHT?'_p_o@Yi3f?o)i4T& >w}j!(d` [~o^Q?e߸#: Eu?a}t\ tԃFS3S$r(Kp V$VG"jZҵI$VTr(JֵT0r ֬+T0J֨RjHjG%*ZֵI$VG%*@kZ+ZԪZI"QȢ ҔE ȡ)MY/ d."J_~ $_=*h1{,.J&Y*bJn4v֓iam m{kimo{m6l-6ᷴ56ɶ[{hmoK{kgm6n6[{ۍm6n)J#x",I6w]`Ig4Yc}\"ީz9%Hۖmm6mmmC8mZSSkIvmml54M mmoiڛ{MA{kkm6lMG4۷4 ۷rrilCf^988x\.K%[mkT@%kTr9+UJנ^]Iʏؿn>k<6AYG6;/jc |51XX]%C2Ϩϫ}w.c6>h{=At1c ,S# b}SbbʩN+`0ཤE>MAr~^DG __n?'ON1ᶞGs2KO]҉Rg O7EL ~YSaA$؟_A& }͒}=C &b{Mx =R&(T!DETTQ)5THRQK6[f'blo]+j%)Lx~2YozyNQ:'2L!WMk4eɻT&yeB-:OCjT>N&>㣨Q I=(xOIs҆id֥/L]ǐ/-?fP&h( ?6ׯ[xWߛه_3m\\|W`cCxGqv} fmJJ~Y|eX /? G6ORaA סjw?[@㠭HP @̌!p8ri'P 8b&9}5SkVYG< &Y n39R; $<G;0aS Q!{ &,1?1k `))/CxsĠaǭ u;7'B$ wxn^E 5 ]qT*[6cDECvB+߬ K^)BagANM]_B/A2HQAK<ҸJ^|Xv>ڔn9g UHI, f Hn\D$ycj3"ffd%"A"HB٢ª.Zb!Mo7,Kk2K83rV`{nN4-L.ӢkSëg&ŵؘC*T"; rsН%8b{/U珴{@NwÁMRX2#lUU^<Þ E#VjmmUVڱXڸKX2>ơ̂$&q&kG/Bػ(E$H-1 sAms\e^.&*&3BDK20!9ɛN1h|p9ŵ]@p4 k6/7Gu{04VcXYs|ZScM$D3 */aN=H`QDqHA$4ޱץU_D|[ $wE a㴸n#۳! fpUDAU#fJ+B]nށߘzzd[64u8!QBg:& & >mlIapQrI$RNI,^Psh`KK5Ur2RY@8g'2>^R)(@S-TCEPU(یAxZ/s9-}1/!(T[pz𚠢D,;COlq5Ȳ@i 0ǶWיq qFg><`«d: rr@@$c q~fMBLOl(ֆw;]Miם3; LB.Xt@p<1 öJ: s'ӜP7RT/Zpdfcz#c{{; !qtv.7hfq}8=Q&zxTNt #BJzwcY4 \(<)^+"'aMo<#HS\x= RJad\;148"9DA]rRErl)]j 4g,z#dCl*|jŹ}7'my>}\pϤ<=$ IGݑ=_+  mCr)Ԋ maFA .7"0(6ł"HNh#0LlP<Ѧ &+ԌEFM|p] kF`s}7)Ibڒyr@tn\  8^I4H;:X0S3E,,q,>?>X[$3k'E6Q&"fD1 :vʕ$Y]i lPM^tzn6 ؠAsGнȎHsAY%b+= frSxN%{{4]p8$z3dSA$QN=q+\ۍ:%?zv׼A<Nߟ|4Yr?ԟi>ܟQ?G)&?{ 0xP,%ک_S.% "J'y릿%g[aL_uJ$:#;;/ gri*D>$B8/?cBN5ӓ/?x_^´w#".v:z*xHp8[mpܦ@hu5D3Ǐ$Wc C z`4(b-2d,C#컑4'#%bһׇDBzO6s{ukw#Lʆhyh# 8NI4?czNۉ,M1!C$@džI0J'9y=&E)0Q$R0Y+z4ߐe^y(\CŦ%.Bs u-AsAa:SJN!*et74,'c@%ڶucEvC?Sl ԅ`xR;k6jB3TX(-'QuW|U _Otw[ѴHXд0T݀44f}MD.o*␃Ka} hΆQWXAFVTJ6hM(b@(bP*`إdاQ HDMQb $4$BQ V%he?)GIp&6yʟ#*dDk Sw8=OlxzbfL#b:ED?7q!!dkWυWF!!x`gږ>$8u Bm4P!XY ݇(+XATjq=OQۛGr:N,R_3 'GF\9 gh͍8>yit 4GeÆ nYk~LvCb 8*rdХY`OPaUTu/,b+caxF@ ]x]>g4۴XÖ̞6\ G:{OET%JoM@T~EG@` V{|}ߋG6:]TrQQ%< !|dHg wd&Q^ (#5FƘnnUnPR1ay.лw Q=GrsܪbWi%@RRIHY>OQ"uVlA"Z,6=u-Ta@0`,@ {FN* }ڀ$$ebjz -U@($THEP3TSLU`=hA~ +=Ѡ@;:3rm%⏉L/le` ʪ1 [mKLʙ2ȸB6b"YcR2L6kLۨŌ5`M.*:̰mDm FZJ G-/ $]I" #H]1/ xeRbA]XVvT7W\v^+;i @yHlf44 u Kl ,X=FdIL;N0paCl>Xݵ[tѶrҌ:Flf-^5e$ ܑT2kKE3t;=^$DzΝi-Mk(bTgqٶ-ռ(-.Rl  ێm%.Hd^/N ' Om%לaw >|?Y!N< / xuL}aD1k v=F`O8X8!#Q?zl(FTLjf~1sPy {Ӏ(nJ6:c>vlO50հޕUޒe>>=VCԿE1{8l2"xrq@Z ! 3=oG>#zWOZ(D*e1UTCK0%0 M4"B#@ң0($IFCPAH% A-#ILM"! 90(\`SqI#, g0 ]&J ".Y*H*jB(_ Q") ))A2C +'Ġ>`+צxsEUF2-(~x>@A_&v9$&(}0ؓhJQ]NKJsdF \ ~ѷjˀd0\\h͂t'F|ÙdPBw2yQ7AC?XG:=44D+C@h~;~@r@}\{DД gRj A\7e&M 6 l m{lƔ|z2$="J&9r.ASMQ`!(@!6̐GOpk0g~ܝD6zt :aGOi"껗W>O5Ng TZ`1 [txMR BXPmJI% v̞~BwIR * 8NL{PL"kS!| u!}ӶLwyYS Doe j0G{nI.VHwzQHu5H;wO cFZ"CDƯU L=dNR@y3c{{yTzWFR@xtR*Vl9 "IE##1E&0mj'B!LʤEZ-56(sƵ!S2MU6HǒyUkЗɄ~V`0NK)Aԫè3iH96m.!Hj&mѠ85o(lb Fy=(mюEQ[2ڂ|?|t0XR& Rۀ4M4yG{Āsr4PU1SMR44BgѕD83OŌ@ĺ=(>%aƌˈ.uc#(wZ=6mGQpp-.]\_oYΪ$=E{(13ZKIJsZinʃU< `0nm,B"NCgJ^5 l}?"*{q5$hs (*#Q8"*%A>r!A*loF 1r4mhc$I 0H/*#eI*zNM};^3.$cR'1Ȅ "@UWrMe<ȊX\F"FB9[pnpi_h>YҼ0m1|h.Ik}۝A~ZK{. iQ Q2nPXnT~?f a4(l#Jd1(ۦ/vCdHPA*1j!I ŷ„Km-%@x26(M3%E$S "@) fV6e I%+d&IF>9dRPj]N02(oM(_%%mK&MUPLJ q|@0@|{=大@ME Ҧj3DR }vITb}|*b *C% Pk+@z?n~OsUSueCp8d7#%B2wy@zyZlZ03XT2h$m`pFp  B`Ao㮻>qQYbCzi.D`jz鷗AP! T? _÷+F{n\ܢge9=}>=rځ MU! j+DzЋ8 &ʪM 1 rH|`¯?> "%e)޼-i(Q|SIBlH0=y•}USkٟ=ĺqC*@ZD )3ȋ<%:BaDP W0!a`²{Ւ'KCIAK [ӭ"GX=TH'/5s>ahC-S5QDM;j ^bIU' R( TFAz L>(VB4U. bDD~+l:ch֩_?6d"}e$9nP>uD4qzӘĪb i)9hGtBVw MF38L0Lm|2,hyOnxѰXxP{$ ޣ`@dc|`m 2THŵv4>"QBk_T]Cv40B~ohU穧5؉".)Gƀ řtȽJSU|mmܛ^"*+@@w ׾w+dĜN>pىLhgZ)"80cStxyvnJLcT TEfuڏw_U:y { 9;S HPAE*dkkFM/l0a t4Fqda _W3qA_t&>S/C2 cṅā#&E)8d9 !_y>Gn`inBƐOF 287hh~e3Y E{sГ4ËJP.b:J3)1APQAHL@PB*-)IPݓS̔ERxF!|'&j $*Jb " f$Bwp2NJQV(;lQ2*76d]o$[c0`pBeNO<%逃 ( bѪ  tqg d*%D6&̌!a:~a `BBaج@E,EKV9O C>`oЇ DZXtbrr[d2zZkGm%a@?V+@kg^#kt2{®y3c*.97=uGހ/aDAi{UUU+8atQ]$TD]=(" mͪ] 9 5$2\(?% MJDGA z0؅JJQJ?,RQ{.cKxaWB+q(U~IH-ۇ՟5z |7b(0}| Zܪw䜅1#xeEzBRn 3"lufU++2<%8FdhtGUaN.@ͳqZ6W'c(ŕ^!ŎBKV 6䵣I֪$"ZwVnkRS͹aOPоGJxwyCS"! 2Ns ?aP 2$BH0D5ힴ!2P8W-~dcP˗3cmsRf (P d.I9@pV}4z|DvP>0^Lj0aChCX1#t4ÅfSAm_{͇PzbO-q*6"XUa$c~բThY mCۤL/$2A"BdiSnkQ#ɥ*&P7-8p.m&[,TTcY $5Z f:&&Yq$-H)S+{DUU֛Ahtv'ݷƢ `pJ((ȤY I ]cldx"_2/pi3;`*ħp(Ēey` Bfv109QQBPGpD}12đ# > IuA%Lv&2 Rк{xj򌙎ͥ(@b-D+Hr<>t:|_gY D KL;aIC!eXh]qlp6ީɒ+ip %hlp9:^DHRTDdČJRQLԆaSB`^d k31& B+ 9{K$B c2J%H$}`OQzDL< Ji(*`""h""h1@r DP-n[IUDx@[dozUҫKWuBhr-–'6P}@ ?ynn\oߑϟ߲Vo|-^ǥ[悱"=D|In(asBc5e|۱T/xF`nþ"ϠNU c<G?7 z=Yސ} Bʤ >s}]" 'R<Udl(ҧiNJ!"{GN@6r41!`ăְ%95GxbK[mq8".,yƔJ& IWkrC[яϻ1%)NⅡ$V@ 򱸌 (O½ 2 y]^:M,d^%!Ucx7=)@|cC((jm9|&etጂ+ ZSǴ ih]#_>6cq,j:y[%BCT1+^+`爱@?+D+4ֵg)j}vC h s`9bm#ymX=M稁P)\Սk[k!+t11"hgMSC:]1h:>~9Z@=18vvܠ9ifJ #٨BhvNtw9ţ6r-t P#^:ðwKs^1-:~P @=WȢ EX_ic,5NEC(DŽ!o+{G Kk[f-8|,$5i@wpC1Q3ThDGqx2z ` Tv9vLJ*ZG=Rtǔ>%UQxsef(tҼ(M0-M0h@oڞLCn#tQHi0m..Ȼ۬ @QPGrrU3z|45w#ӆZp8n&Bjl: \܎LAWX@WV{nF8I!gᒢ#RuHMGfÓKEkԳ4SmϝQOv]QuE1XEu$ٝutfN83m=sXK9/nU.:T*U:H"Ӄi"A_@d4R:`q܌n0ji" 承!'p4\UUUrl] <ǷA _SfpRjgմ BUTRo6'Ry(=`3 (.!a`^Bf)RTH}"@Ҥ/KEB؇ũWd50{ Dz8iCWpAH-*2 9>d{A({ ifB!§ !@O)Rącɽ$*qSteufֱDCuLH R@+W^8}'TH>% @y?~0XB. '|wѲ|pvx}0!tJj#+.-alхeRh|2qq=P}pBD@O#nIeK*b !qMɤHy IQ>,g^uwևNbB&WELsJ^߇͋Uw9_7zfE'U(H(sziYCNӮ<3V;pW~jHUVL`,4)U :D >ц>$'|E2I;|;PS5DYDU}__/;8"3)$OOo痽HUVC K[eW~cC׿@(`\c CY3۷pITVA"BEa!0 ָ^עCQ`9*8/x I4H7kQ *`NBʒ${p*.Hlm8'8\1J Oa=>1A/u 2AEeR.jĊw tbː >2 0T1YjԖX  @}gxzz*QRJ(nEb C|  ;y#QYXz xxo!%N2hB (ӣbxC}D'mW}Qz/Q T?R`moϮܲ\Tҁ!#!b}0UjjkymPHk[ ]X&s3ef 땬aH!L`cCwza{aChm98C›XZ4h=56т"җytw&D:"CcHPm;3sZ}7'aC߄>\>੝8cշBgUV6jۓ"[; T FM\VthГ,W}Ā7oL<4.Ɣ9L7|Ew^ \F2j_9+ܳ>ohz5.Nd-yε^rW>QtLͽ"N\[沰i/hFF.Z=|6Z ÒѢל׷!^V*%m_OT{CH^xk;! i%A\/M@tIڪ (QN-2rqj\k;ӷuXۡOҫuC9 nDIoh'4.a覻b}FVek D7CV,7eh/qwHQbCŧݱV&Ndy#`v1rH]ز/U\>2[=$-ý\FP8=PKt7!2&fH`+Zx(ss1IgvӲ6k -V y`%-v8vdrM{".l2(112*N;v-Gd#-ʘUqB7%$ XiG\O1 g+q"tY<,z#܆z} v:oIfq(oqU\|lisDÝ⏼ٮ$#Mc"HxzD_Ƚz\3)@`˧.k3+ۖ,c mwdvfV*8&p fhl겛55f^݋;@QjpDuWrҡ3KAgvoTf1/s:ѐjPU"-qjmA &V$ 9pc{m zv3; 8`^Z`; y4ObZgnZ$jqM.WL<4#N4N*6~+P375Sp>=G]$ _Qtc 9jJX6~o #}pcE xe @I|R{ s!sهw$י%El\'gDnTFtVچ.a`8 t&r#KpY<$τ4{ 0DI / :L,"aZ7 $]w'"I:!Cj-3O=*͘0lc` u2x!spH)vq䇙 Y> {3\|CїL>DCk̙WZɟ>w­xk7©{{ٜ23l<3l:L2(<)uvmZU6)d2MA̫ޢICz~wQ.D޵jv<;6_,"amP x<hy5w",Stn~Nq'P"1%yv2:ې?5#:> uP͸ IYS`Rd!Ҳ=[~45)ܓC=  nH5}re_'<τT8Lc:hMt{W"iդꌣ EB[߇m2965pmCWL( Sެj!ceC1.,dz@`!II5rѝI8=xaG~$qSǮD`b2`߻ ip! *bV D҇%CMwHXFEB@ TzRMr3j=Ja~⧍@@U W2׹y6F.;tz e Bgەa1wS&Q5 칗7]\ _I7u߷y& 0d8d34VɻY$w0t0zwgdnoJ ru2:l ͍gs ʶbkx(^w+J46aH4UZ(, KGL3k8vRHnhn̓0!^ubBdY'(ÜUhKk;+~"WERTY#\D4x㉥8tpHFgm^uiMD>Nc@:BSKl.^SѥzuP*qkkS$Ӹy}uͦ G~= bۑІi$l?S08]tQQ 赝޿,E@*z)S;E=dg4^3wvN2W;Mp:g_WykNP_?L~X n$|9fj$D MȽ"nJE6&p-X@*ӽXˑRE* 1^3pQQ À""00.rr.B Hzkd?;!4!r<XϤ^Q$A ^*=ap6 hn g~w|<u:VqkZhjtS1pitCEh蔗4 0v.#} kw 6ӎ4lm5zXv;ŕ21-P@>8i., -j7% tkHחJ5_$a$tҧxh !{cT f4sSO fRTTr|qMP|| wG)ܿkUĈ}"JA[B`CΖJJJSX$Sh4RD 83GGi9b_zpD1(4!jFI K X l̈ R d09֪!@} `M $aЀFzv y T!=u=pO\(L!,ض wL5.yH,qRe%\ivwDxSpۜ,mI.N4'Q\@ P-EK Hq_ h}"d @wK{@fP;<3ޫΦġ8 .4̊<#vsj1{jNgT't~( iH&z楰i8-Z2<=͎F64wpB%|p7bHFU\F970<%!s^yH  ׳D`Tp[|_$BR';t 5V٫d9L({Zlj}P;y3^/7 5ݰs=:8cqO27.׎68ȱowaȬ8pZ*!Zpm yHԣí̊kGV% ?~%Հ7"XfgGxxrk nyt,XIH\H7n|}nbb<`ςt$nA H[uX+ZLHsrL|:||wI]ho6S&f 7eu .=h݀BA.۞.P"g3Cϸ~PQTjΰAbZLh䢑~>*+SȏBbEA/ao>$Ҕw6HbJ US>9>;]B BSSS `scTP{!ȱFEnQ?L@h]4!Gd>#^(H*HL|t\<fCdv| Et'>qHB@(f7DaY3Kzv-mpNTEhשg6u.7n~G7Bw. =ȗF))`3 }uUq@6Q>"FCҒ$Sۖe@ZPBr[&\^#@ Ru9Y{=҄4 ˊD"I bj9N@_~ 0%3M82&UjLn">x  y " (,Y%|OsM![n8ЏńA(Ȩ-UImAa.! X<<&+TȲ|7*Yf1A㻆 OCp=C5Vd IM,Ze*|ӓ! Uǒ=8m7tF#1&2k&BX82L&aSIu9JYO# R<F|lևd]+ "Q#$\=E4̸vg -e\." &(,\ 7F}[፳ouF+$nno RbyI5`"UPnkXՀ(7[0u\m $0~-$@_%vwHH3/\yTEXۓ]I 膓sl?mB,(^7lG|tƷAVeYWG \QR--'s1梓D.0KhۏNHk:h.% о ~gY(e"^ A|Ty P(9PRH-D٠>$#Ƴա=VB_<ηH u]Qx;yp<7&|{YyExWr23<+ZhB 뫱^d'MӍFfHAxћҲ>₈ 4a z"gW/i BؘZ#8?a! :/EHܵz#UL ΅̽cQa8pɱVӝj#FMȃN#,QaɎƃކ{KF'gJDx#FgDHkz͸n廉UEuߖp9|o4aC,A/Vlq/PK{< uqNtӼ0qC}oشX0jyx1h2QX^uy{*25q^2*j=qU}i3VWA@1м'|ft,0|K@q~"d;Ӱ@ǖ܆pgUng\A猩rL4z*{CBwp؞e)D2ћ6w4JwR"90W'lbs|r%*Qxz{Sޔ_BihYޠjmB'\?/fY:Te,ubH`ѦճuGLFhIhhIQ=ơ*aB,zgJJOXtW,wvj/IT؀0gBC;EqҞyEe6 7NJ9EpjZάeh*:!_XXaQϊzwyg, 1j3,,4=!`О7 m)wpr~sPJ gBBo]Qu#DعB,߷@JEѓ @@en c4t=e%1A~j4҉%\k0 \}W[+sF3#n*!NOف6hۅq05"aؙx1.-hNvI۴tz8p9NafppQEQUC <0Bg$5QQ)0`|j7G'wp"w{tPQ]DMC3I*2 1U$LJ@UTRL UUTUL >% 1@0cUM'S8;sk<QQ+]aI0T`)D._@륢>Y'TLWֈHd\Up:*$J";;O]͈3*pW"KxΉ$GgK Q2UUTQ5TIhV'0E|1KMPVy U laGД҅ ;Ǔ>P|$FA[!W 8<{De.,m~V6㙵CX>(cH7eS`&H(2#5Gg3 }|ˆ 3),"mMY[Yx[Ikb/'HSs\1aΑ` ܱi]cH|(()$KASxτgI`4xF"sSX4!\=i TbVJ5Éh5þ.y|iBf04ԣBD8ڢ m I4CT#\$"ԃ}A`&!e\{HO4>HB!?XiV oNH>E=/Q۱VKDilRJjaf\QBɟuA:7Kz"손O Xmм] Hq%N (vfN0KH#|`N "@Fd cBЁ[5dqR;5_ps9fc Z8*Ӏ$aiR4{9u$rPkNѧPtѬIRUEgQ#m?8a뱞tAi3wI/n6p"#JQҨ&9=eso):Z~#n#to|ʕ 8pš4 l'yY89 )Hq20(ULFٛZ]΍@ETKHR5CHUI8-NѣpiTh]XCN֝i[jKklCA4'Lc5TA8b%AAb''q銅>S`l/ N$lw~ʗh HA>avh!LRE ,";+Xno# okO B,H9nNs$†H iƤMZY 4l,@hֵ d-2r@40M&[cM4׭ FPK@|'i#LRl]. GCkSCE?z?r$u?Ģo!J*6)EG=, "|"uPWMp_^(~/p? h^b0=e{jD5;Hs(Ԣ>R>B!15TQH.N+p"/icҝ; p`Y4\= d "'Tls,j" wƂQcG8TބD6F "PO0w΂B:FܩBɬ!|Lx2Ap3֊,ʷ$mci{FEVQ>/z<}/.A_-̲IcDJ&k\ uuiO2:*pdrήRCSX *n(-rxsݡ78 )L(P@,t(w c 6%gz3~>Ym-iF-(ݮS"ڼ(C 3sF{|8X]q'U A<V5_Hq0rj@c\`cޅH}x)*!rP=".ax4u4 zKlQ +P_B`6Zgi4bBqʐ;V44R %I ?ullP(14tpIXk,B)a`?U~y7ިZ)L]N T !HRPSIt1%%CH~+=/t%kXuVʤS ft$3 },n f?H|ú}L%HQ̘$'B(v~H36Jȭh,:ɇMXEe)3rLu{aaQ64pC(=> x@vX:Њ;MUWq_g\lz]Z}F,RJhgç n!2x<<#э!aNc EQ9y^U}ѽF1hKZGG)6>,üff}XeFdRᢁai3vW24SUBŊ6> {R0y%ڷcM }b/eϦc|L,ƥJʱӏ BԽ1•Tخ}x/"#9Z9;ۦ>H58q'I#'-S&PB'_U$AJG߁(!BAd/0iN}SY*=y>\;I!h ȒCXP6lf@5w`k@; ؓt9 r{FaHtBNԉBDREh>A ) /4/(=A'.>;uayԴ^0 CN8>6)1!|LjF#AG8]l6yfgG4?tk8|,gj]xsQ b`cy\0،&RR "؎4`CaRaF2ýQuܒ!. 0hbb`C9#HŹȁFSnn %(}2t'og(x D0 ~{DL U/HtxpE`8IqdNH/T;JUFp%ndۆe y'6owŴAK=Bb)D/(OmI!Y#$uEeD$L϶E\lvJNƑ1&bi$n)F AF&I4l8ԇ@0D5*yŒt"(}ꢢ(ȁ狁zHϻ8#6~`{=X` 8&ǟ2Tm!sH15g:At\E/nc@b(JCNXi4hJb/z?4t=8f@l jq* yuH@^RJ6&` Xȫ]N_/tZ%Q6\aTAA:J:t-`d"#dΪ֝nqLM!-Z\fR 1`T,$D0jHKmvu3W^Zr0d؍l *9`#MbzЍ,DBѐq.cIIAC;PE@֍DZ#&M-MRDR wsڀ-.Ѥiڨ*:fQ1ņ`]E1dӚ:! SW.[MU1 e!pQEGFqAMb+5Ds9s!3A/}'@'*FlTE`2N:N&ě h "?quD'QƫDa `EbP^Ľp2&14A;9fjcÎDymD`~AUq~:OA DguOd̑1#SGkFi/AT`] G@fEpD tssQ1CH"=N+Zy #F;) z3 4j_rXOn7_#XpL;R@(3`6H?-*>+lsB@ҊQ$Z({MH*|LB JRB#@|BI((h()()i _ZT~!y<ؠxCZ]B[# |)"Fq r[RZu9!O!?b@8 cH[b!' NBҥ'4AA|IY=D0BɨIy/z^$ "*& bF`X*J J"(*))**Xi*di)*(EXq#IMQAH1PQE,E0 % E-L-#IDE%U (C@ҨP%UST3 T5$4DAAB!IAHP4EPЕIT%!HQL R4M@҄@%PS@@TE!UB4BRR-42P@D@D4UP-!JU4UACKMDTRPUET44Д444TJ@P4DUTJĴ4ESHSKAUEAJP!4!M-)HRS$QJ@1Q"h|*oUCXh !)i?[ =.|@C/[*!TJkTFh9Fk4Dз,h͊*d.TU)\rk@QͩyF<0*xa&FG."``S )<--Î2r1E_\I"JZ"U\=51QQR1qԛaN}R1$I *O/z`EyށNwklCA*F aJ(ihZ*&(*)bZJ&Y*j`fd`*dSy )=dlwW. 9#$n%oB\cj [ìۮo\L]N1ZR}%(!^ tb u%Qp&2sA$$$WhBThܰ%(.N|j({_>d'wB0'Mu9B !(ÿe5Jx;Ohp?k۝tpgN`}G\Iz7D=xxdQl)P zbTS@dMDWC4)KsF@21C"{KHd/PXzgxBȒ0;/90s OSHA-W0` CHwM fT3X*#gnspq]?ϳubθ Bϊ,RQl+"~Q2,R0_|P硼6MEXHs.\~Y4)A 7~Q<'O, Et'gYDܬ6m%zLbB-j1v&ۣP?ta:#2'XхLcsD7խhDFP6 )glb1$RPGM3gc\/#Qp99 e'!4\g`5Abn%i1j4Erp1KDd (F`+n4*Ӕ5U8KDXARm2;SxivhPѢR aJ^pΎ8AR UH*KE'hdpc/ԗ,@"X+/fܢ4uc r}VQQ/֕伪 )b%2$/ky,Xv-n7s!q"Gڂpꀽs}Ӡߍ.p:/DpaL')!8tDR1:}Xlm P>u'SԀ=`d 2@p,Y{7sy:]\t/_hw FT6 F( \ܚ!gDrBwZ)R>>8x 9< IP 'Uit;C#;*SSin$Y7c#{R CPr,h(5zcW M0 Pօm )ˤ(h6 h4Oq '6>`(6~?!(NE⍾hlvڋ/r]Bӌy#@q4EYMH1BT`T3MYOXUϚ$HC""%xJg nNd 4zJ!)HaFe!f!DI`n(7:Uv\|ĒFﮇobM;#C:nsnkO뮦_<%+-r c5k7& VpO< 8JksBXf'3i vî^zmD,=Zfi*qE;sk&|+Fu!+̧$p6PxL1-S3s> ]IM5qHR>暭nuft8G|]AฌA"_a󈨎x⦮]1H⫣m[zh%9r[M^)[G ECȢД~5U\Wp$  rbu< ny5M+֛lyK99@ٷ$䏦%D$+HcHWi{Mgߡ@k XԼ&`r&dP'oDͤ2L?p!';2#OH2e*x7Jl bIj Zf+wX2M00I\4j&t-z~;CᷘT "IuBt/Z9Fh1^_r'JUР5'jcD%; (**読C)i(,VlEO>@yd 2+L@Ƚ9}ɼ3~wׅJ  (8r`m\䀨Ȥ^V!Mm7fyJ5eTWkywt4&Z!4$)Vy1͏ia S@ 4kŤjэKiMP0^-) ^YtmAC2y~gw쟹vyrGߎ>4h-A>isJrc>bO=iUw@0M,'dXT+hQP;4DRDT$CT0P5BP%!AI3 S2BEM(JȒQ CHIHĊA|P9@{ ]f}R !TSKxY[t"޽` SLa:\lE}#WRb)&dXacbh=*( ad* 9j"" fZ(IFJj%hЁQ$@4  SBTBNjR  %#`psf jJgF.J*"(" *J"RQQU Q:!31%U SHMU)@D%%4T@LL+@J$ED @,IUIWk[f#c1 UM5$QT4PGz940hM&C sEEWЁHtx?b n\0S P^60"iDh{W(%* %,lra"4%LR Hq]|Ԁ{zc $l>R?ʁ$ @)TieP8;K(n>L;G?JACJTm)hGHLCDIT 4sb*JR ibMQD1Hf@fLDFUAX1J4hbC Df><(.*tΰDl886Lh5uĄT%1M!T/-Bn"iKfLZhĮl6đ%h5XQl8h**؈hH&Kj4%!-PIAIDQNfLcqWSUZ;l~Vp)1k̾@4{KG`M,B2_,E(ua`#k?7W,{&PføAظD791q7䩜P S*' D4 %|𡤡+ Ζ c ۤFn Lp:fDe""^@yJxmcFE+u>f_eʝ=< &S'̈́/|prjh @Y4XaHR¦zfaZ RR[[p tٺm25QH+ @IcM^^f1hOaP/f,BH4=>` 0*P1 ! ߍ}΃v%E3Ơ(Ae8)(?nɖ 'ӗOxA sF4o\*2mY$F-0(=!})i PzỌNHR P,C/_Uhg*O9nYH;ABڨffKvxT)Ɉ&m%UC MXQQ$"^GЇ؝aGpLT~ԚҘϪ-,/mV 5tzAF3913:l9 }n.awE|'=GLp${s(inSM7Yy RRR%*\$6/rU,dd,:lHY,Emw4hT;m!DhfLHJ8:$$$B:53q$t:l7}m>t*`-R(Lp݃ttE!vCCo65@`3~'L:=1U?)$+;#}Ikâipzt/8 h+)iANږ! m '5E6p8Q& $CcAX;j3mdsDfBCILhss@rc)hԢnP%L7h 0c 2Lbd4f';Ix图ah4Af[|7)4N hz&&͟%$KDŽCıLR}`bD%a7@cx G N(8 N1{M%@+ԏz(iv JBU@B|! Q@XPB {lp ?g MVQN߄4/MRP2MSXڀs:0[uDAc1C.%!B!{C QGs#Gz`DY1$ BHȈW&Q]1UAtiǸʡ9!vu&^mRk&fp눌quoKTxA6܄j3eH ^.|a[(35Enרw@4vLBbe{H(`(&(t*`&r3ʴBZDb '' prNsuu<{UJr1,"O,CBvn Cq5lj(4CsEF%`M'hA5-\.66 ;>ehV<!>&H3@ mGsZLBӟ c3*!ѱAwk" wG8 ^Z08aV@*r*ƛ4`~D<$_);XFFG({b7b޻URT-fy铪RrXA_ѓ12 s'}@}CG Pŵ[NlAbg@ j Ė p75&, >h4GC4 .4PK\5 MDspTĪI'ltmҘd(n @ FWN)VD.Zg3  Ţnf^OU AKfD(`, ow\ 41b(+lAqJǎ" YSi:5Ml |E(5QQN֭Eǎ%=r'GG/\]DS都ʢ)' ( u(4 ^ !Z9'0>0Ok{zMj(MP4%r )d{Z`^ۃ&H.dm̨fOB)"ßEA"((u BnT;HO奨.us%TlUv?r8}Ncu{ḍ,c2?T((hGs<8fwja>ۨT-I%@~ru6Fٶ!LRa'/S-v8ՖDz]$U iP`405-ƈ3plH. kAbTHλ]$H\K쥚_ ! Ymp˟88t4 wy·h_P9M $b-8.*cMR2,ヵ}^kY6 sͤؾT@Qf6 (p^/ctHG^|tEۙHqh"Xn@<|Wz TO^JSCHrFg>Fz|( s&8(z5=Z ҎM4z@s߁&BbaZYPc6Kw9:5 gꪙ4w:/p'n4QUwDXKd/5daf)qĪ{, IoE7mӯR[rю{; +΁۔l:c9GLj]lZYxL}Sw\FI*UrGz-œ/iFP$r N(̙F 5(ܖ$ 7s;=&P0q?PL2?XLV-2|K-ǭ#! O#/w_tªlpfRMKbvSۧY ;Z6{Y]xFD+WӐ LB(@"񖑩jOB+%4 R҅$CAI4JALđR\45@U DUA4DUMQUUEUM TEEMUMQCUQ)TERAFDU~؀h]J`dPcb2JJ I߮FZչ#j8C8d$b؆!F"nnPA 1F;rXFlJZ=L 8 fH4`eBE0ƘT"]%X=:TM,Af #1Ls"Jg(TRl$Yú0lTL vu!zUSs Ah(HvHQcFDb3~o}s$ܹRH]Ꝉ0*u{y<}E#=GB~z5B!( C<9Yoi?_՟] BN!S, dGfB/O+\dPH c9}-f)UUUUUUUvڰb0d1A +.탟PA| C+e|{ !lkWyPRgcl>B#&znl>~{&n%/$l,>øN!|@{hMljO?0m`HC.m܎$a@ܣ{!f"TٖHB,K!u'`JCu#l@ 4]ƿͭDYQ1Rz8V 16:qpֵcV)q iDD1Ix7tӬ$@  ySeZA0;ƂH ݔQ*BDg:40Qf LUD0(.y :ݤ=skOU|ҵaD}4Z.ηm"(gm!m YrIeN 8#%^ąVoB©ͺ#R.LhS[\" @@E@B¸ P\J5D]D!Js6;b#C@I@P cA>o)(: =qj)"$)?g!=P5ظw ]7f sg9Ѕ 0cA(#A* í˛38$ihIt+:md8&j A@2b zZ9n ^J4Ilc!xx=<02ty*"n1CD:8v\uT$NuAHE QUL̄`^E11V1ܣE$ϴ)|!`.IjX_d--vfh&v U k}8b 41dK@RuY+8NAAͫ[ xCOWun[gE jmCϿzt^ǒע,I,8 Fϥ}P%Iܶ٭Kڞd8:t΋ @H&%o. Sl'eC'pҔjfLUaI U H q, JK6_Ea @ ;D$d WR3[{G+R2PxBi #8*[%NzPGO8ԲFPOISA٭1jAKѢ;މb z|⤊mX>+"m;Q n,Ub<< P?Bz,hb<',j3\ O)Bat0=| 9S+rVjh)HUIFNj2=Oؕ] `5;”P5Bv7@\^Lr Slg9mcA+<1C \a*f_~"g& swj|q]sFI 6`DUT'ށcBr/L9bL7fUm>[,tr2 :Uy2(9 "pdQ̉H#q76rf G# JHzaf#X0UhjF&x敾lEUڔQ^-ִљ]?1vk\=Ntl@1TIQ K33ܔg^ڦLSS7Q5Jo=,1ZCOme Ш#^XG0gEΤk+y1)-FKgv."1/c 0C+UB\7ݛ DГU Sp.JŨ QĹ:L\U%Xd!Hz*1Nao09?u(F3!f -g.e| a&eFNLˬqUUU~)~T0~"3DiC}sY<Ƥ( PZL-%Fk *?).w!!͜Zb< ZK5:~lJ~6^pe54d*q&3H _LUyQFÎ 8-`pUbI8NHùL2aVh*jOM(4yn1*-Cw ۯ2% e(0Xz"*{74PM̡Q.S~á}&G63'r@o[ BR#-bL!rt¾^-TQD刵l8X^Kj"igd!Mhh5E4@̰!!tj? j*C툒 7jlt!z#@%OD[6؂JB4-m&v;UrdP1]Q<dPPFNG W(I*Tmu]@iHJc8RB4FAUDr[&9zd2RRXh%+ 4/BbVYBH?ήL2"{0_JҸ (VnFD901CNΨĎmO9ϋx: P!2{ޑ!hV94O.NụKlkbK1]&/C3.[䀅UQ@B8aPX}ɏu(Nj \6Sy+(P)p s^ǐ T2/qn@~hq'oqךj}, C06f)0CPi3ޤ*';EM6Gq7Mf2HtJ)- dYFCJ)mB C޹0=:ydiO#-2i$LecچjN;"dzC=> mB&"eOƑR`IB$ 1e=d⢖"*oG 8`KQ!&b\&=euϸ*}(@ͼs@9`D=wЁJP$?ƿ'K?Hd(|()T wKOX&Zi=} Rzy( hCipdz3{W+H4P!JB\0NtpԈf)6đ}I5fة! pP <  "cl,4tUCڡF-h3qóא;?mFe!Q{VD+nT&ƫ9lci(* UIOIc\X`ԅdz+@A#9c]΂FF>3ΐ2("\BjC<<"]ٮz;F50Fwj@jQ)WUi"έGb:[o(JG`\o 1:Ѷf >ޣ׶-Hxbƪl Id188wHz; 9܈]Mp"(Z)PGL^bx`kjea\#t=tРrȨCwN A]Fޮӟ ?c?w8۬k@TF#\m1LY"C Y alSF`$hV¶T5΁<2:1pFGҽ-hEZ QPBMjd̡ a P'K  6,bjf kæ&o и9!sL JJ)RF8#t0r\UP<D/_M?QIZs!fϬ:܁Q 3~:K3)<`guC'4 )JElz`W ?98ďJa} @0H0z46(ݑ=4EM445MWa x+ %D3H$ D44JI L Вǐn-s^K)zOh=tι1[F(`ea Hp 6~ fD&F!D(N9PVZAZIBR$(jh(@!%!Z5gHE%2D@$0 8?s 9M@&&O2*1"v' )ԥ)@P&>GӔ"U#rpk  cB@^ Zh jH)D)EG)P0ψI4 ky1`A^c7Xx ):!~D$T)h8 RwO,k=i5 0`GN=H!B M?5W{|~>+JKy|<3@,xr(D?vT|6$n>LN\ K.'m(h-儴tf*0*=%_ԇtF !~ $}Q|]!h;*@PtCz$I(J( JڒFbBa[(:\x!=rg c@{2XVDcN5r46'#/((&b(LB;2s2Ր1 1x;l!0C s+ǣ(Fa'C`T8=,C(I]o^t ))Li(6B3vAX͙%GaBHAԈy`A Bo4MoܬuEã=` ZPn!HED˙HYc ) :S JP(Sa? JrP? /Y4 MdNH$SB p"@wG38Ac!g 6@:CN֋!.e,AEKj&`2'P$lQ "@rgWj.q ܸ z g$ZU* mPp&*nǨ"'8>S!H"/-ЧS1s.tbY# f]]׊*m#,HD{zZF6m} KmmI+VmpY2fJqmmmeH d F(a"!n y7M`1("fB* g2OFw6"ź,P`sq4F_}}}pu,mģ`vd X0 lIf4RYd\rJ 58z5.cJdMPd"O*ŨrCD 2 Ĵ- oa L݄ωIc2A6ɨwټX M-Zz WS@[L*>NIM3LbBdjL{"wvն4Re6ZghNXfN7v63Iz&҄!O#qڣ#b;)$߿%BEHiDv>5"CW-`|zQ&"`J,J@P h'<!CK G_U~G-+q72cu9>zgtmaXާI'mw"'n_}kiD7Zb\Yǖ$!9znܙs# m/keCf.#Uwџ V2wR+T9 {s=K0]xZ6zuqRkP<;6СpA иMj/, / W&%C bXfmk]qGNaMtg|4rY2g0ۈ2HVLcjzG|wZ묺oP3[ɶe߸%UX^GLJb ڃƼ⢌CӴ6DÓTrOٯ} O< t+4 v`+4\:$c }fvnLiA1 [d4gp͔&:vf--S׷r235̮@Ű[guf:"mf՟f8JI|u1(8 D\Zt3ĜʚN܈ܰG6  t B}}'a~5>rLD=(rV6"`$>f2F|U@[΢8R?g4fXbĕc;~+"  dNUBlNv̡ aT@Cv?:z@D>7駕0k}I P0[Bl1gW 9{ܞ1dp H !CE44Vr[i+MT<| #ir ŀjZWr} p!=V#6E;=؁|`#EUAC` Q! c + !q"/]E={Ǿ@/s `aA%3旀ӰDBjP{(lAȄEH=\$WLdB8 tx|SF)+eXcVj# Xs^O4SF7V_J,!|xx"!" v|7¢5 0q UsSKQF/7A ّ̎h@#iP Aǧ\ my$itY؅m8u1BP_Vgl$mԽ]H$h({0S"|'di8 I .3X}0hc/,JF-P  RG|'NޚB n/Vjr-A!SSiFU= *4'TqE̾l 8i2zph audR05N\7rKS^|*4՘3o65 k̓J(W"}d4ĕTR8mD̓P$JP̓H0UM3Dhppg.i NZ`0iMM1i`'|pಽ:<8P#7sw<N'I^[Jt@ rƤ' dɡ!ohgo˪I_\jd#@=$ꠄMmCg%zsLEwΤu[8ꁪ ވf. `F*[#Fovd@8o[V¶c7%ˆ=.&R7eR9=l{$uܔp6묦&T4-H$F`T lfFdf Q&lƱU R$ȘF:--j *ĝdSgZ`;,kl8"D!GfI" 406W9`j;!`8Fk[5Q2k@{|p4l^}TţRXvuW`X f`Jfh;lh=D3ghۤ:`u##"%W#fjaB.ik9+}ɸsh qA%jWP֋cPԍpuGL0 {ZAM2SEQBm(f0/\iDTEEuq!5s(erdگ)Uc!=̣ԭL4&%Ec`6Cu`@đbnjQ]+c癔Yܭ֨g ״5֍n;Os;M4!arɨ<6"Ѳ*&6U#uH#z;xv Ҹ@C :޵5ƨth)(J6:D3& [Y«0Na:խe(26HbvYV+^VV8Q8цf<9#CM1EYs6ui $h$ ic؂gN spX4 ;pXhre:6D-"V֌faAFʜ5B!"G2Pn-0o|ӵ XaE ̸ 8ә(Bk 5U Z5 ]E6h6)g ( -](cs#UY 61P `R Me0уxC5lRC PR#2'CNQb."Hܶa\mkva 79UiJS=$c{`0U]Ҙ*R6)[NC I:.Ť0#/8hD2|!Wr:~Z&rH6M|Z+-fY& Ɍ1@ȜX}&pqquc`eu4^XΚl J2" ͊VFNgRi44 qLF}M kb`4p҃F)_&>v-k 6HPAZ1PQILBVĜu KG  ##^n0+Bf\,aN\ 2Q 1h‡ov~4)+B´%V4fgkY$#fچL^RfbLfIajD8pN̛ZRPaG9 -oC.D'y`0#H0 A(E@I4Ԑ睸lh@ YMrnPQ0!fZd\^ dsF㟀Ć4B?0ž }ӄXooSiL!6')_ N4@vB-Ff\*"@B d$S`5^m<p41\q%J)I!EpX4L4"$ )&"tw"TQT:Cϰ(:MyOMIa`bZ \.ßQ^u=`9 P,:(EL f|@*׮ IT6A"[4j9bkaj0cz973 w89t-NYYH(*%b!\Z首w dαgK&G[2 lI KEKM;x+bD1E:ቦ@Aǣ$XNLmXDEoVW:,H0 F7l-q c0&-IX17UIYyDZq;I̓@~Æ-9OS!8!ΞTQ/Gk]D&]Mē8AOb>gJkhEOdQBDVWm= 4 O]/aA:oPo'(9HЁ{H]:%P (RgW_:XO yH*3;B _W#ˇA@uaC+FF1ocv;> "Y^XlGR^?koߕ@s\hDmmX 4ӃSQ1UpؠVJ"8..  s[ 83ITcCTڎ4b1#[&{HUc 5Ow9l3\v pAMm@!,B\Lq"OC ?SFD~L.ȢOSxJHE0A'I4ڋ6Ar߲ 0J,(;_| 6)ܛXz9 ǺX6K1t jҔ4ey(;¢UD Ny@ttdT0՟^8N@`_n%x P{`ſ˜e6?847 l,,nyӝEPf ~~qz%"@ҫY K؂nP\@ UbP "JR4(cMq.@ I@$- M$s#b.e0+îM ( ΤB6pdT"a ~u뿟; ]Ť?0 AD "hFHD"f$ )d%#) "*H HP0' *aHXwx?(򊎾=t(tu(Iyv }ff C R 6:[d{HH:U-ʵ%("ȄAHx ݲbSaŰhW%d߹7ЊB)"*m]N~Z BS냼6TO⇂*dp ?` qGkAa)n _>kScF4X\Yd57Sz R '7-cPS"h(⋈+1BCV݄D̃cAQƜ-b$H"~lkd#,r@ܨ,p9c &'E=.1I7`B1E YB E M1L)'%2)!H%19>OӪl`=`I{@:d\#p(q ]Ȃ"H?O [ Vw´d W4#]FT$ܑHnFk뭝8sueٓF%B0r\rդuA岝=Pj +H&{><[O~ɱj8`-^C]:q#'A?[d4HUMPLcÙ{.rp?~h&p:k4:oT}u3yOW,}ȩ#þE og9:2"I󈙂͑g76$hdS _8Ӣ}aḂR8g;b4CWT? (q:fP㴊E'rqs@G%4w aٔ.r#ùI/Yi9PEu5+:eco!f׻Qs׸#ljpHF4*ry.qEismQLrj.^6mT߳oV2&`mWvٙAFϣW55 ܑ ⡧-Li+qGHGM%I=\ozN f} CpD VS[#1d,), j,Sɦ_yZgZiTdDr{}`ם-АJ ;ͤI^gvZH%%>*TwI@fDw( q~4DA?vRd?2>B>t?xBuDY`ACC$#;~|^GgΙ !56N+z{%d=>ozܶ@DFv8$CrKxPBuv>:8 6@tDzT~!\Wmf)xa8.SFw8PQ_:27.?#c#}EU.aKcBl,"1w;ӎT^rݤbSWk*-̏ jh!WJ"#o0%lNVs”_*0;롅y YnsX`Pb瘽Ad*f3IIHK7KYBoO=BB'PXm<OprjfA r(%1 =ZpOf5-<ZX@p> IރA_0 -&$e@Y`ND6}HS[QNV~KlC{GLA'BM8syt;w,y3D*="#cYU_ 099H ܁)Wepq#ar1#Pr'yP k E`DAPdΥlhKI2i$*q}t375d7W,q8$`s|9e2mA.F< d*0sS2e n 0HR@J,ؿ~SvMr߆M6W ٵW8 )hqۙ10obAGp3Q>{,^ԅ OtƦaxp5Eҧ2N.7c4k]zg2&DqH(ɢP9 J|~{ꐙl#7P(ɧ,")̤vYQ6^bioPp/kl%D |ΎV48mbj"L W3Fv Y2lcas2.=&=oZ1;,b D:8NI#zbr [;Fq OF~xĹݮUU8@#ri9@ivs i2P_ :ufꏻ%yrT]jx}'H[oFs8xrΖR A|xрҼ# Ng.yC|`3[\4-rl.3p3|e{ۊO@ 9@h]A컺U$KD1z;Qݛp 9Up[mC3 g!bdHɔquk]&+w77}^j9:K"*qC?lkY(Ybf84 <B.<bfIVDԱCQCGf3 H O gF5*֘PP*j@vQ=g`! \7EQEh jf=ӑ13 8n%mht1HQѳ6q Am)g/*f`uꂈ" puS)e;$Ů^]A \ީkKDi\q2?Ep;VD̨]<gzP5'n⮞&n$#`v/ M 4:NfkP{ |rNr D]y/c|a M i !?zf c>{=Uذw ~٩Ro'W3z蠨3 C[we-¬UTBY,mr>F7t=`ơ*3#&gv:p`ؘam{A` ?SY @w_C@gAv j5"hJG.`pV9kx,&l*'/ Ă0t +za h" }uejRE.*D`u^ñ'Ͷyz1&4;⢪Ld΂BFC;gdx\_# H"tp6. %(uL q%[i=: ͂D掀"? g('B d`|XQ{SܔldCNZ=O rlBIFH E3AoHp>'ŅH `CF5fFSJE-# ) pr!Z ḣ8Lc!.U(,n# o)F !kRpS(\"5uY-%YSǑ1+^hZ۴2d @8!$dݍ*79w WL,d,NԹ"yCq'ٌH+d!`zǺU B͇3_/' gO"_Ԭ&`h`e'i;i:CT+Fe@o{DBG|''a7e(gt:8Tr}i=5'>OiȄAHڰQA L31B (y><È%GX+7`@QBnADHGge0MF08-!&SH@(C0h\~;:x]Ω5ݲTvOqA(m8'}daU\pLv'Ǝ% (QEX),E)ig#," I7Q$JI@B1HO)Kd' 0UE V TUUv&UUUUUUUUUUUJiRzĤէCM䡶" pQFȖ;f cVPdx|NT;/ &5*nYOhY,T?Nhy  `O}mUB]`/7BjVl-S5HMó˲_̚$_E9J sppBO\zGQKBҔb45 a+)qu4K)!MM@ A )G#xu6%^ s-zMGU\N,&LU % .k\wHqww۱uAw(=sa6?*`JH~!D R/9c$`hwҖK+ m FZlp`N3寿vU.s CpG6Ph@s j*Wۏmj<2 ۞d\4#2],CCouhJΗ7PX2AbpBXbCh:mr߈2 o#ddˬ.CAl\J)),G R7UK9|itT5iP6]-1 5a#kTDR=m䡺0'-@LA<+]0|NSIо>higlt=j"1մ|$Qq`( b "t5%:ʿ"pwW.Z%i0$' 6j˕K1e$/O\KZ5^E;6xb6ڢ'W֘ 44{K$6̙*WQIzlxEP+;ƋPe!\X=|k0PD<0 RgBBu% ^G/4 1U.~Dc):׵2Ogύ1"'R vꫨM!!U2H$T}B XeHA`"ETD6ñGDDx^!DJ×spI3 }X`DRIS䁄x;$tz&s<țj1잲)ׄHBBC毹M2bAfWN1Rs/ J?[ۥCzeg!M4=5CpeIJmH DJ@ `|#`rC*0cBz퐬Lث] "j'`emS,lw$ƴ@ "pĩWl!wT1J& u \c φò,P$ $C~i%?bɌi, ~GbكrxlX30HT:"F cU4 [cG犪Z b|8p ^IS`v9͈j1F[qD$EGנoɿ%77iF l@ !T(:ۇސ30$gnm|'=a,63z~XD0I'ÏS8|-) ֿ!! r?>m` )]hBHM % r]*Q338 &6cFBvuin!,]$~caj3;eІ/ 1h΄9:h)܋ 劥Uy6GD$\} !$ĪW`uQPJ,ߛ?>g.E*:Vqf1[jBQ` y, @p4cM(W'_ I͕:G4H.1 `"G--b*YCyɰNNOvP7yR 1$BEwxQeb02 3u(r[7lkM'F*1@=UJ&)DMU * 0L3C"[ODL",C Kgh: A0k?mx_Pܢo6U Iϔ J1?eJdA}Q8=pl4(ᷴ+~BkEGp>?_O_u U%&9~?wp`"A-//!^懴IM @w$1 t4't{)bZk=%MF Zl_4y]}p*Gp+vp'dCE)\xMNp"dxÖB(4L1MnOVzQDD`esUxᡠ oeIr~#׷&S b 'i1d54 DrHZKhEJ" vnk}CHL$(v^RVSt=b7Zc ,!6 )hU#R`rҜ:ACC@" b8*Mf'2n%i d& UH}Sq);TA&/8̵$@tw,\Wg rP'=KҰH v9<)I u>(DpcOf@DPPXK~ !2}A:OǷ%F`j\:{-1(C֊*Kێ'cUAAh˷BO*KcRMHU u'E)chvʍ%4;֘~&WyCG^#T~JRB#5|BZ~ t,3?ǖ`_ -aj&z`vSޅU?/7vKhE'Ǚ݌t.'^uSilBoG.KzVuZYƨ82VM7;˳'=խ (+h(A360y T5A#GFuO@]pfu 0ZTqho(a\T}Uj&g^L(3!pDg#/R#S$Q2@d6U ifWMrK!8< \M]fFXh`"y=R`8D@xkK hǴ΃y؎%8[5:^@B0dnvӠ=#îMrrQI6sMX0 Mix?s >V:8ɥr|Ds1c:0"gfCc6 ]6.:ϊm6'DQDRP_M]xCޔtjE\\ѐE%PaM8LL4v;oB -cH,>#Ná 0t( 1iwCɳ%k&B#)q(8ʒ߸@~Rc̈́ (R F TbR2 ca+믤!AkF]p$5n"tH+T 6:HKjO5cP4 z@$mUi'cdv7Fuo0 D<=)w氰M7P)B1nֽwuj9aց {5!5Gr ЦKfWD>#:LPfjZoHn kj"U&!U ;d8cc. \T*EA,Eƃ9}mh@ cKb(:oB M5 .NnbuW9$]0<7wM>J#nsa̼S ֠؟gp1e3ǜzB3d uScvnP ekBUF|nIqʫs0zivĘZ'BTFV=3DW;|]pU`#9xP .Gķ~yx$+ m,g1e)]!^ Dsv9 Z)׮pw'48nV]za\n{0`ȷIDFסM($ڵb@~[g6D9,Zhh;?mP>5͢g-.5ʮMh8 fb10Lۻ!!=jqvBoHtg8x&8!C_1f͌fI|H >^0nu7qINI&]P!) 08M7LX 2mo%@rys)!- x3~ xBH@ C;4ŽbIvdtnjiGQA*:Xf`>Wޏe;ht¶} ieѽpC\8MvzᇈGBK62HZ T &BD Sa ikڞT̆ef p>z}?6WL2ָy-Upΐx) cHP]۶'4w\zm4AoMp蛦Y+HD_!9>GBݣb׼皛|EŎH,SN13>jI5UbܖLEKM )T*yw^4nb#E%s&^bt >ͣS4)qbğB@W}WMVFcQ%eV%ЀbTЇ4-D_$ (z-% Y >Y닔"""/m(bEä?d!`PwG̊@ i HE*fs!;+*$z \4ϺtxڣZY4iJZ@a DWRzUUUTTvF>}8ܸ3x"%ZU쀽Ǵ(x!&Yb%4G$`U'9EdR!GZPt+f1cBƍ0 3%#Rz^lrӡr܂E8l[vSF.Fh)6q tǃPU3HIJú_v_',<*=aN(D8|nj1uJɽ }d/d:[TmP@!ME(Ad` wƱ4q&\8+XbƘF5%Il3{AŁ0kQN =33N =Z57|+P1 ɢ_( %#Z@QgY "xsb1"ۄl`-wz12{ 6M%g i{@p<^}}\Y&6=f;`rO,0hA1L+[V)SġT DmmlA!iU< m yNC^u$rNEvi9i$H~>oD0n) &۬Tc)>Fّxq_<SЕa((7gb$!BmO68S~:P)&䙼OlH,hTl{q1e"x Jޣb[ϋ.a}g?w#=j.~E &ƸiU aFCp1VX› x{{ \K{i;r45lIPq4 b VY*0BgMCFU:XiMq 7]96iF){ 2p NB# `"Y 8 a6|1mYy-(a:'4xP3iB(JBh)Fh ~S|Ojg@AJH҅-H%%*D҂#@U- -4 AE4)IKJ4J4!CJ-TЍ-H4ДT@AKH KAM(#@"%(QT @Bҥ4 5KJM J @T(RJZ@FiZ:i3كEBU5AT PPDAB4)Mi-ŞJWr-ƭq8V/B,("js ܭ\:|aNm'5'@g+-V},$2@FH%D M>FT8@ҾiNݤ Xʅ4Y!19Z<.6M@SuPQ>a!*!sss(T"},NL%}[GH)<%>Gm.j`+ r fƄ1HZ(DhfCԜqZYGkMs^)ik&Q`ċ'Wc]v BjFNܦ*!Q::xؕ]B;E(\o- qa4FHuS;, f@\&ӻ[ 34> S. k䞤Qx+l#V޹3m0tj)0jI|@w-#P-.; Nߟ @ꠈ6NotC~:Rbi @p Zi+ 9(4/%x<2r1^H&uATbp~^NZXu)uA{Ah4@*-hڍNɤ4(-EkO )ִdu6{!8l&]ȀHa1:9*r&ܴ:]$=f De1QYgT@KH}(!p K7+L!]EQyKr6O8bC篲Ʊj63؈t$y=#Re^@R/C"xynra9Qn L#}ac0n%D#2M8c!1B4fSH=O`3r"P)Ae*&C %S(I A0C T D1*2rg:QM~)wo=` O/g,rRN5deɒDl$!8:Kw*A^W)e &r U'y (mSmE]XV%BiQHd{^V?sD6 :h`"0wg93*gM6W󥣇Z10}3FnZ$sL"m2$}Rꝣfwޖ٦r]hdS@e) m=tD"@ypߛp䰓I1 ia+}ąQph<"w 8{NE.:"\ifzxy2̬-(FH I)BWQYi Y; 38*Қ#C P5'hѶih0ώ0x RMyl٥MM JT*,\vLF.nDVt 袓rL 4E23(΄w2I!6o>6(2ĀPLDODu|n^ITύMy{!|a#(P))zII!Ԡ}#Z%0c>0r8*d ԯ'N#s'$Od?'>dryg4$8rd{OI{OvzdܖK&7?'?SץUZUʮUr"*_'C{{}CKgWŧ'?}G#A_?OSg9D_??OOQ'&5a&l,f Hd $H $(fBC`$8FbH?'?L8`G.sgALb! .;rÕ9[vT( g%_> [(~^33ʸ_F MqdCHC;ZfJ%0>ˆc#y3bu6pU0aPDFS`3xYM!z}0ْHۓa8Fg x5{ҽ1f,#,AHJCb`A ~RgRè?AP_aEݗ-OxW<_ׇbxC7dbRڨEV8\AJ:}>~}j)a '6D'γ[`h O Dh;0}cygR(" \VDDN\)}hy T=^ 3i:W.<z~(QjaHN8J4\ {`&*jNc$ԂT# G{V 30Hh!#t|" lC$dкH͐"o*XǑO`?}VH2nmPzʉE f\퟾5gݵww\,Q,t6^hK ) (I!b$+}H|Q y%$JA ϸ{O(RP31A $ A 31U`}rBb2tDsQ&z!1a4}ءLz)^l$Mfg?C1B)1`/Drp}4@>L:;i4U" /6"hF*avڶ䃲,IA 5vr%P#]7-vc/E A >НQ2I%7oz/oM8%bB) lP,d:\8A8dɚQg @2 0btb=G[ ;,p$ɜTV]PM:Oadp@QE[yN~B( !T"32DPRiN{J%\G@o;bX h{P萈)qv__Ѷͥ]ټ tq_~m}h{CZ#"hv'I [0[ЕEUFb$`"űɂې6sXӃQbIp4"3Y-`F'8"j6*قCg4)1%PLHDD uhJbH?c(Db@45"1J,$  WP\O%i[E)nY !pQ>{gGK`qQhZUYG26We{ɄH(!Y$Tt9y M{_OACGv n$?yQ!TޢjZ u/k6wX5ˢ^Cli{]GbY mbv#%BSKyj.v/Ğҍ@2qTk:aP+/2]iǵ2~oF6bȻm؁&5rzbmU+t%KjV%KreHjBpd,?#;IIƨiZ A Hq" grü{kR56c.[Q)mP Utc:G2MqiTƲArG xBMƞH UcP]0caA@Q taBY؆S8w==5@ tLDHW0F \6[3F A0QE!44)M(PT' h$1aR: cUQE)ԅSC$Ħ(baBhs6U wZ,pˠ]HF81k`90 E|%tb _UUm,c!`$ T Wp|4PRl{_{\,L{ݯ#e/26=$HnTrqI FCW tQqc8ٷ#lJ H/lmo F9W*Qs+uDlhLRD>` 0Ad؁ C0P=|4CڪSUi<9czE{QbMN $rWΒ +R4x4tOAyBz> 'qhtv+\`eԣx@(H}];!OP`"-J2Ҥ jb((o_?PvXi![!$P@d<`=R $BPP*tBRQ8#m;u!uQEn'?Cz 2M X%0"#"(x1wDJ@}k̐n5ȡKTЉO!,|QR( EpvRhk7akkxQ́H?%Zy]1|C=Ne8cʑ(Cd1!g6~=|5Τ}&V&FYm eh}DF#ciEmoT)L9%8k&$R d̄Ub$1Cy.6 ۃd-[*޷QaH8&ei6]BUMD\lc>]u mԴ(ӃK =䠭Sٌ!:|_Flc㹔欗]&Gj*;]65̅=E`(1hCO@{CbJM4R,(  oz8e@c]MF=f衼1=Oo ( !(XCފ oBH+\PT"_9 8f/@+i(O 񯫂gԾ]z"쌭YعIVm(ޏiR4&-oP _r͐f7Vlal!ڽwxȵVd\T鲹T/Z[Pif/ Y# DW68EuT F">HDGU#JF^[ݝk}vJX[M™ 8crky>8cL:ӤV0m$A wd1}HwL YR8ݨ\=x;cX*Ȑ3U!>:V ,V='}ڻqqX.fjQ]e 0Mgw|k|ܰ cȒ!eDx0p$D#UWD՘k噸aX0!CIrm< m[th0i)r{v7f@D1Ȍq`6p`;y[~'FpKM!. enߙ'Poٸ|; I4pbg߯I)_/ЕEf^ٖr,"2]6(֑iYEL-3bQjz@UcDyNC(D;0mRwdj,Xc#q}uY}ģoHX0\UO'$hNӲs;M>cpr8P;T"pU&J,AxDjEjBVC$䖔_9q:ͮлH0u;xN;Uj5_/fpwJBwW" aTCP"T(ad2.{[0H t'<ƟYd)Gr{}Ҟ60>O9G;si9'.]l+hI:@n{ŅM:|qbT@Z(Qw!#!*{JW++IER'7NMeR(Q?@iD)RBR@(P(i`o?\e%@zd'20&SHE 7'>n?)U$03#P p""0F#b2ESrF:1bc"("J(<з_pj 8q#FjDp)A@bAOacmP1 F1p6ŗYA(͇D t}cۺ* wH(.@cukյC7m,T gTKJm> 1='k{A]FDmw*_0`X;=G AI aT`=xAGLUU5_2:F{[}?bߞn(*1(FXT~~32Pi bR?D"gC2AD7 FAS@Ðs`u+@_g?zSQ 4 `@/6(`4G_S@O xgsG Ocb` o1EWdg䨣[$q=m9RmwG#w?~6 B?)$CK/?7_<>(=n(S/{(v(Ph ٓ@%iŅSD{{KFm2PvLOd` @QMknV=4Xu`}qbI({WTR}y|3`hϒ}x8\'*'=owE#aI6֒y?=;"H0:I .E0z@o_:,p*NW;N_:*B ZSW?HpvWPR0iRיzl%  (Pa)CQ>ιv̩>{ k^}4.P^ʐ4)8bOR8d6ҨH9ݰ* l'\:_tU ajNҜsjzV.`֭“H+I\07zMxQ# b a( =CR.@T((S7:U.ZP.xNlgu"dE} ϰO]MRҤ`FSGn${EOWZNq-=d[svŇY!!Pi2n6ͧ~=?>թ^ ljGmijyk:,dVno&R)?#ž%ߠSH螄wakZR瑓hQ*\ Q>%u<_K7Ic.*L3p ;&|}o{+Z.=&)7oNTNFU<=-L'xvG]|4|+^7-gy;ii5͊ f۠ ;d^ݾ x}7a߂?dbN) %n9"﹁`"?H!+ @8(QE*onZ}fؽҮEDG̿TGXV wwr_t_(UAמlӭ[rw*fN O>*2ExX*AR:ls!Όqa6,9"v'[dsbȥBs G-nt~^ zg`>kY}KIIOe^aǻ‣]9?7/B>5ПD(r2k eU.h=i~?&^'Vm|2o!5}s03^tW%Y@3t[w s͍;T]?Apwh$zח?@P}hAvױI_GWR* .4 KR[ È}08Jd {8{Ք}{dq`X>|i ?ݬ/O,}@S/g>#YAR[q9)b~te@n_کxTV5(=*"}vryx%%v ,2*&P>OבeP(cujAp\d?L?Z_J 2~S1`T:W6FE[⾽M4϶j{ʩ,$҈zr3J8]QYlcJaOxT%+1R,[2ęAh91Uа IንKM]Dohic][^0 .'Z%?t;Jc\ :+ou\O\qa"h"t(&5uV)|`4.Aw=|QtrO@@ 0) ܴkjN޾ĿPbp4&?F ECӿ=~I$:ߗ&/h!1z2w)N,&H?śMӡh ;"F1t;tMy]EoF5_ pB%q A}{=^#{q'.'щ#qAKǮqBA@*X]{4#߉g(Nz]ݴ"r?fDt@1"iӳf}/Z DD)@Dh2!]h⊝1..Jeq?,!t 6dgq2eL\>A_gk Z 'VnR<8oiC=c(Î ~J)g,)[ct‘g;Htz:%0!;!٤˫;{8Ӝ}W:',=M%d12Um@ HrWp2:I8#Wy5JqYn`c&َ`,>f>>0S k" u:θEL[>! *Rvo+Yo$vK54%/,bF_aR5u϶`lPKe'hFYy=I;/ r:;UZx;Z ,;d?q6ӚogXzJdF{M֓BهB4.VpUƧ8ΚJ+eeSylDV%-X+24uΒȍ`MG*"bjjX.~jj& "=-C>EaqC抖ƟyF!C@rtBmf1D,ͬU-z$0wtr>0z:֥U<:1i bgNmD1:J .í%9aYBuZ?=,h8?;tdA@|#E-V$ r0:?% ]<+IZp1$ u1YE $佘, *In\K54-njҕ^}d28 EJo'80+&P\Ex}u30=ZI9 ?]Dw1 N< ,-l{5aKwFݽki.4943K򝒰%.\PdFKE`0̈́H])UpSiiuU_ѝ`v:j HRRGC/>+y0׈OMWvtGe(YblHD|䊑$\hED.n-T0~Lk(~/|I+͋KKƂ߭Es$wyB*υ{ީ5?^ z+BB􈠪MU<Cf퉕ZGzAǯ<{=98In Fx]̯Z4FzdU]xr.ʳLJC?DzKSǝg$co¬K;MŕJzo=gaʋ.^JЭ \ l%$3=ζP`k{kz^K4L),"39_>xqFLOQcׁ܇a|P#;WSKJuw֞*GYa` h#&juV̞@Ȓ:rhJlr0Z_"Ë)lyRVu ,-& 3{WČ-9jgg]'<)}G<07sr~ҥ+|(8adwh@Iro$O#X$8xMu\HlT*<6l9'4Hiu(PvgBꦫSpaGPI zYb$aN𨚲B pvv6U_:w&R}yVp;iq[qaCp$16|/l宝:}Ƈḓaavd@AcFeJ Q 9w~ߣ':>UkU^-vϞg/ {Wծ5}2mUV^dіpqW%H^Cğ3fM]4"f +{\PEI.ZԹ5#SZu2Yb.mtĬ#^OXFؿ=#~w]5(T^C`Z]<ߩ{:쐨\/kTlq|:!Wej"6z=pCvu&d[9ݷ_"ƣu`z?;;]1t^vDLJlz3y9. IzʸT';ɒiCTbR_M k]MVu^儰ЩTsE/ Ѣv0i^ćSD<NG/}zy5kUF@ 3U5~ƃ H:xj@0Į * ReiYSkM|J*H[9YgTÀVDyO?ov,#)p}-lGc 212i DXOؿGI?Yp޿/ei}k/TndR?#=kfr]{FÜQ2圚u+.aT4"(Ў9UJӀ'e~#D KKM,MχGCD".Sj )=e)##⽙Z"bw<920 IQ: T:-ZY~f]dDNK]_ndhR{UTf`\4d52eMez1iix!yB1ZkόĵO\ RhE8}yާj~=׬g'icX`2٘IIޗC~&o^0Nѩbn掆OZiPſ?^X^$(MP):#GJx0kr#:?Aab*G(aBw~AԿ*0mύ-~bjZ*Od $buz @h Р7=9ᄑՀ]" b H~ T>n=Bu$-:>c`,QSbT*DY_͘P ]ۀH O}ƊyZ!df)I(@Wpot3 rWH ~S^0Y8X?GJ&b*'pd 2A @DED3?ug? ҵ1 ?J(0AA7!z&\O$>?8˼bPEIPtS4n((C4K j%*P}EAF#VALRLD2UG/+>ރK2RUDTvdPDM_G{p|8:W`g:!TفQLݺ!@0Q8) >'u]9pu'n;v:u1nz4UȪ((#04LA(,DPFbhj DEDRDH C3 boy^Ɵ D%F#hԤ"PHyq<}:SQҌO??[Mp 肔u3Y 5h"jd6Ɂm/ߛ 0DQMRqq H*bgM 1%ut4 ."%@Rv`) :HLO:::ɖXOh5yg$ V%vsh5/le$A$Ņ'PIH xm`v (Ph(i@ҾϥN#;q@=wXl4hlgb~Y <&LU K%ig%F_׃?KP>@-)Ip&.dO`#,S@ ;@Jaʑeљʩ*JV2vˋ?}/M}k3WBRK3 nIgF$,2ʩ))* cX{:1(t!|6k4_Tx%cQsDTX1XVjk-c*`e'H`n$О$&Wyqyu_ZAX!9M&QJaMSH^Jh)޻kY`W%Ix*_VkM mHHR@` ;$;)s>.8Ke08 ١G)͛m”nR\ݎ:C|7Zz:0$0@1{'A:LjRRYSZ'E2s3⟯8}.ISf~I Ot(P4H I:LMșr, l=I/(O,6wTʟ>GRqJ* yokAuTBDS%WU b|G{nJ`(rBM1D5BbaAJ¤+ =zRVXjs=%[ G"W`6*TǣS) KFtDEV^LA^&FQBD207 ƋFq >6ҬEryKc/< *G0 94G>=ç a PEGRYLUJRb`%"-P RTFcX/<0I7ݩ5p.t1*%hƢtt} @v|(呓#d.AI#0q,QhL4ωRZj-%! vf_)A 6N(H [DA2QAAIxj$]$)@J!û.r՝iBSXy,VNZP*# PIB䧩B94q54rxp^<`iM!960ai ̦5e+XĘ lYP XC `MORN#T8>T%T^zf, tͧ(Ht0&f HGȅ*xHX_KgAQ$Ln">mE1@-̐XڪM$TN15ZO-t,5"i *@O(AC;\;xyaKEP;q{ Snx qUHx]} <HkǶHNbS9C y! 0ݤ!|_in&sg=DZ鱛vl8mAGF_7ԫ~u^Ԍ& l>+66F !у:6Y0 ТbBDc5QL^!SCR+J"@ܥk$Z g# |t7sBkŪ$k2=6jQֺCFD2<LqT,A.8y+ߊI4"=ڀ {]}8X(&%L[WݔQLF,u hmv <& X(}L ts"&dK4cAH`ڀOhh/ϋ^G*⢿'?y||5(^v)=/Iڭ5H$.A0F$N'9ytz C2rа4"c-ԢwӔSgև٫qz&tj$G}Fe[Ԋ) EJEs.('9X fo)$# )@tcz,VF 0'c͡s4.s凵%[F] WS8]%ݥHe2VucfDᾺvX>8j&ȐЯO|;'JȈx1DCH oPl"NRrh8)ȳg)6VV$temuR׵>$jgI-pF'ZjC*xt]6C.N lW7H63@/l:bx[{Ri.=n;ηIo[h{<@z~'hd9rN!.">?)zY߭<8 i#_C~,w2I$̗S^PpD0)8~}0i|oW箥aXjBL(ժF c]$oWGPO;Q&) ״-k뫡DkBLcm4ssZ#؇mx/ 3E Us׻򦄘'Һ^'94sf>6*}ܒM iC?& |ʜhMATPQABRPUSH)KSDE@ TR44#IB4DRRH QK1P4(P(E*EH@S+ERPPP |!E 3P֋V,PJT$ )`D³#LV1 aY%QIeN0q^Z8(vK2E%Q%!C҂4-07T9B}! 1lfh('!>!S.SNN$$(~mIUy l6E\V\C#5.mAM@yMX2qA_mE=OXINh`wE&$,̚lu,g֧p tF;~KI@> fդ;!dѮnY3P1a'%5GWWJO,}.(rY5J?uc~ u]>Ll2x{ }OOM"O/)$:jT(˔%Xp*))J@*VJ b) ()Zh(ibi=K4<ˁ:A9tIA\d;_<^S!L%"X*0PmHHԤ *$-T%mX[l BiP lՕ+F[IQEJD,(vchztͅ0N` K͢m`@$ Naŝ]: b_(=epG ;= HxVxWoDC(">릜RJyFcHPw>mj m#'ȌÛSJTB;SJ t8<䞝Nn@U!g!R-ʚjrBOCl $]`d|9<=vԛš@>.~c̡r"*,-3bATZpE֘سl i>;lFQVʭe}^ c<1*&!8cӫ:Tks3PT42 J"JJJ{!xʡu\e4TC1NY.Z>^'nn)v+U@U_)2M"-VT^jO< "`&Ute# s1"3O%plJHw=t$=hbG?}̀,Jijq<=>YJO3S,8rm)L|9p)$ 9oi*v|^` Ru`Jx 9LTRڈFP2Tș, ,d$# 1&[M&ɡLm7:NKŽ'e!J4<8IpQ RS2NHђ@ pڈ d`04[lIfٺcWPc `K.C !dRhP ]q^r&*z(#z:wCENJ,9f;vxoQ$=(C`N!h PNp%.Ȝ~54^tUlvQL@ax:"9F]%)d[F@RdIPd481qc tKx;T҈ Z.8A.d+dŒuCA>Msx| bN4pIP*cY >9 HM (;CTC ̙:"ǜ ,R49dQ .INJ1q/ucAQ2(#;iXTUGmv3Lof\- eZ,=Ҽoqڌ5F REkGc ^ny|E:^ys]K7:7/z0WP452нP={IoPJv@ E ;yߒ漸x<97+;˽@QAUtq 0jOy1LeBwBMi'T56tUtQP{()Rv9 b! $2S *L /eSpM pʬ!jN%Q2))QzC"> D.zξ";ѮO9rhoI(쿏!+DϘygY( TͿFSh Co%0z`%s\O *OFl_gfTD4)Kf` ?3v4;&3w%B~H2 #v6rPACxI4Ń#MIH;a" f"NIJBĉIAMׄkG(U).8uXs0CK89`&N p0J1S_m$/g͜Ж2>o9 M!J=L\X(+EkpEѩ~GNcN9˻^uQ6J´X*ʬJ4FcGs4JEX8JKF, qAe!73 DL[crJTDX}֫7nVQ4b8/2<٘4 _2(Z @GCנ(Y 'B !GB;Y%= ljPI$-Y@PiS"!j.m%K5%,l5  1jgdWMOU];$WWo[VR[b'35SA_.!࿏g$7IrTw` ; )P*ɾeg&Dx4bR'ؑvH;{oji7/5hg1ȨƪL@b IG!)6'2a '54A1Mr@ޠ& Xp5,.d.ʘC{ n! { 2fԚ ["eF2Mj.ꬶ,5 alJCx< NB 31HR q}PM0O椤W쿿T)\C@òVBĤ!\Ѣ`jBU+oԌ%"B9R`J3!3l-7dOf]W`#M13TfDνSDNDZT˙r)#*ZB֎] d(k_<ҘTy\2oj{aqL/ s &I%#ՙɯZ-][9U5mQRN6N ;ZYiRTI$KJGY4HR 5 v a(٢j1eBsn@=~]%DR>G~e~I )Z$ҨV òMpj-P-KS{ld#U_[Z;T3m3ن 01! Q6oҍ('DDpIL 0$ǁc7AHF@ExaA)~P”{(iAK zAҒ2;QXkJE6͆$;%Ґ<)h .89zFa?_|GQbaсLktI7bO_ []X>fjh/4Z~Z3$ab߽{8:'( {Po6G: t緦|6OtpCrͬI^(tJ۲ΗLjޜHtzpj!HܧZY ۹OA盓 gv0C)[PM ϜO0 y1كY濪&!J WIuDBwXCRN4Cr~!2T@TI5ԜK߉:kѱ:l ]2ؠRRMHL@P4Δ8 0&čULL1y\$xp@d/d:@jG;$qLKS4pA-K04 p'3wPKIk8I"=a(b 2ΥP`gꉯ sAGe`+SE8 2q0.Nr49(bCqt3!|ژ(YIā ()FE*|oq6ɑGU )|*N֕`,㵭VrfZPF A Ɔzn@^n0䘓-Ѩ"#m'*Qg#RDǡ,dLp\/0 ` QB,~Bq%as2ZW$.et7:]#NAdRZ3łlIiQgWM/ :Ir 6n=ja|z1yQ{!n `l0i@M@DF햄 P 2!TN'.Hmd7ughxAVR={ݍ׀=J|¤ع71 $)̂e}b|/m>GJeKT8p0%2Jp<q?Py({4ROw`m"><í(T_Y4Rw>{C\MQUFRX%(['yz:FlfBq?4?BGy:e qwRVv $`6&.2NzKT|(Pg< Tċ{)g'gqD/|gr-tO4zAT$1$|#xBS)g!Q) * )aih(&CH0P1TUS!6CЇӟKij}^k':HT+% fݨs, \RϥA eReP;f/