/* * * Function graph tracer. * Copyright (c) 2008-2009 Frederic Weisbecker * Mostly borrowed from function tracer which * is Copyright (c) Steven Rostedt * */ #include #include #include #include #include "trace.h" #include "trace_output.h" struct fgraph_cpu_data { pid_t last_pid; int depth; int ignore; }; struct fgraph_data { struct fgraph_cpu_data *cpu_data; /* Place to preserve last processed entry. */ struct ftrace_graph_ent_entry ent; struct ftrace_graph_ret_entry ret; int failed; int cpu; }; #define TRACE_GRAPH_INDENT 2 /* Flag options */ #define TRACE_GRAPH_PRINT_OVERRUN 0x1 #define TRACE_GRAPH_PRINT_CPU 0x2 #define TRACE_GRAPH_PRINT_OVERHEAD 0x4 #define TRACE_GRAPH_PRINT_PROC 0x8 #define TRACE_GRAPH_PRINT_DURATION 0x10 #define TRACE_GRAPH_PRINT_ABS_TIME 0X20 static struct tracer_opt trace_opts[] = { /* Display overruns? (for self-debug purpose) */ { TRACER_OPT(funcgraph-overrun, TRACE_GRAPH_PRINT_OVERRUN) }, /* Display CPU ? */ { TRACER_OPT(funcgraph-cpu, TRACE_GRAPH_PRINT_CPU) }, /* Display Overhead ? */ { TRACER_OPT(funcgraph-overhead, TRACE_GRAPH_PRINT_OVERHEAD) }, /* Display proc name/pid */ { TRACER_OPT(funcgraph-proc, TRACE_GRAPH_PRINT_PROC) }, /* Display duration of execution */ { TRACER_OPT(funcgraph-duration, TRACE_GRAPH_PRINT_DURATION) }, /* Display absolute time of an entry */ { TRACER_OPT(funcgraph-abstime, TRACE_GRAPH_PRINT_ABS_TIME) }, { } /* Empty entry */ }; static struct tracer_flags tracer_flags = { /* Don't display overruns and proc by default */ .val = TRACE_GRAPH_PRINT_CPU | TRACE_GRAPH_PRINT_OVERHEAD | TRACE_GRAPH_PRINT_DURATION, .opts = trace_opts }; static struct trace_array *graph_array; /* Add a function return address to the trace stack on thread info.*/ int ftrace_push_return_trace(unsigned long ret, unsigned long func, int *depth, unsigned long frame_pointer) { unsigned long long calltime; int index; if (!current->ret_stack) return -EBUSY; /* * We must make sure the ret_stack is tested before we read * anything else. */ smp_rmb(); /* The return trace stack is full */ if (current->curr_ret_stack == FTRACE_RETFUNC_DEPTH - 1) { atomic_inc(¤t->trace_overrun); return -EBUSY; } calltime = trace_clock_local(); index = ++current->curr_ret_stack; barrier(); current->ret_stack[index].ret = ret; current->ret_stack[index].func = func; current->ret_stack[index].calltime = calltime; current->ret_stack[index].subtime = 0; current->ret_stack[index].fp = frame_pointer; *depth = index; return 0; } /* Retrieve a function return address to the trace stack on thread info.*/ static void ftrace_pop_return_trace(struct ftrace_graph_ret *trace, unsigned long *ret, unsigned long frame_pointer) { int index; index = current->curr_ret_stack; if (unlikely(index < 0)) { ftrace_graph_stop(); WARN_ON(1); /* Might as well panic, otherwise we have no where to go */ *ret = (unsigned long)panic; return; } #ifdef CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST /* * The arch may choose to record the frame pointer used * and check it here to make sure that it is what we expect it * to be. If gcc does not set the place holder of the return * address in the frame pointer, and does a copy instead, then * the function graph trace will fail. This test detects this * case. * * Currently, x86_32 with optimize for size (-Os) makes the latest * gcc do the above. */ if (unlikely(current->ret_stack[index].fp != frame_pointer)) { ftrace_graph_stop(); WARN(1, "Bad frame pointer: expected %lx, received %lx\n" " from func %ps return to %lx\n", current->ret_stack[index].fp, frame_pointer, (void *)current->ret_stack[index].func, current->ret_stack[index].ret); *ret = (unsigned long)panic; return; } #endif *ret = current->ret_stack[index].ret; trace->func = current->ret_stack[index].func; trace->calltime = current->ret_stack[index].calltime; trace->overrun = atomic_read(¤t->trace_overrun); trace->depth = index; } /* * Send the trace to the ring-buffer. * @return the original return address. */ unsigned long ftrace_return_to_handler(unsigned long frame_pointer) { struct ftrace_graph_ret trace; unsigned long ret; ftrace_pop_return_trace(&trace, &ret, frame_pointer); trace.rettime = trace_clock_local(); ftrace_graph_return(&trace); barrier(); current->curr_ret_stack--; if (unlikely(!ret)) { ftrace_graph_stop(); WARN_ON(1); /* Might as well panic. What else to do? */ ret = (unsigned long)panic; } return ret; } static int __trace_graph_entry(struct trace_array *tr, struct ftrace_graph_ent *trace, unsigned long flags, int pc) { struct ftrace_event_call *call = &event_funcgraph_entry; struct ring_buffer_event *event; struct ring_buffer *buffer = tr->buffer; struct ftrace_graph_ent_entry *entry; if (unlikely(__this_cpu_read(per_cpu_var(ftrace_cpu_disabled)))) return 0; event = trace_buffer_lock_reserve(buffer, TRACE_GRAPH_ENT, sizeof(*entry), flags, pc); if (!event) return 0; entry = ring_buffer_event_data(event); entry->graph_ent = *trace; if (!filter_current_check_discard(buffer, call, entry, event)) ring_buffer_unlock_commit(buffer, event); return 1; } int trace_graph_entry(struct ftrace_graph_ent *trace) { struct trace_array *tr = graph_array; struct trace_array_cpu *data; unsigned long flags; long disabled; int ret; int cpu; int pc; if (unlikely(!tr)) return 0; if (!ftrace_trace_task(current)) return 0; if (!ftrace_graph_addr(trace->func)) return 0; local_irq_save(flags); cpu = raw_smp_processor_id(); data = tr->data[cpu]; disabled = atomic_inc_return(&data->disabled); if (likely(disabled == 1)) { pc = preempt_count(); ret = __trace_graph_entry(tr, trace, flags, pc); } else { ret = 0; } /* Only do the atomic if it is not already set */ if (!test_tsk_trace_graph(current)) set_tsk_trace_graph(current); atomic_dec(&data->disabled); local_irq_restore(flags); return ret; } static void __trace_graph_return(struct trace_array *tr, struct ftrace_graph_ret *trace, unsigned long flags, int pc) { struct ftrace_event_call *call = &event_funcgraph_exit; struct ring_buffer_event *event; struct ring_buffer *buffer = tr->buffer; struct ftrace_graph_ret_entry *entry; if (unlikely(__this_cpu_read(per_cpu_var(ftrace_cpu_disabled)))) return; event = trace_buffer_lock_reserve(buffer, TRACE_GRAPH_RET, sizeof(*entry), flags, pc); if (!event) return; entry = ring_buffer_event_data(event); entry->ret = *trace; if (!filter_current_check_discard(buffer, call, entry, event)) ring_buffer_unlock_commit(buffer, event); } void trace_graph_return(struct ftrace_graph_ret *trace) { struct trace_array *tr = graph_array; struct trace_array_cpu *data; unsigned long flags; long disabled; int cpu; int pc; local_irq_save(flags); cpu = raw_smp_processor_id(); data = tr->data[cpu]; disabled = atomic_inc_return(&data->disabled); if (likely(disabled == 1)) { pc = preempt_count(); __trace_graph_return(tr, trace, flags, pc); } if (!trace->depth) clear_tsk_trace_graph(current); atomic_dec(&data->disabled); local_irq_restore(flags); } static int graph_trace_init(struct trace_array *tr) { int ret; graph_array = tr; ret = register_ftrace_graph(&trace_graph_return, &trace_graph_entry); if (ret) return ret; tracing_start_cmdline_record(); return 0; } void set_graph_array(struct trace_array *tr) { graph_array = tr; } static void graph_trace_reset(struct trace_array *tr) { tracing_stop_cmdline_record(); unregister_ftrace_graph(); } static int max_bytes_for_cpu; static enum print_line_t print_graph_cpu(struct trace_seq *s, int cpu) { int ret; /* * Start with a space character - to make it stand out * to the right a bit when trace output is pasted into * email: */ ret = trace_seq_printf(s, " %*d) ", max_bytes_for_cpu, cpu); if (!ret) return TRACE_TYPE_PARTIAL_LINE; return TRACE_TYPE_HANDLED; } #define TRACE_GRAPH_PROCINFO_LENGTH 14 static enum print_line_t print_graph_proc(struct trace_seq *s, pid_t pid) { char comm[TASK_COMM_LEN]; /* sign + log10(MAX_INT) + '\0' */ char pid_str[11]; int spaces = 0; int ret; int len; int i; trace_find_cmdline(pid, comm); comm[7] = '\0'; sprintf(pid_str, "%d", pid); /* 1 stands for the "-" character */ len = strlen(comm) + strlen(pid_str) + 1; if (len < TRACE_GRAPH_PROCINFO_LENGTH) spaces = TRACE_GRAPH_PROCINFO_LENGTH - len; /* First spaces to align center */ for (i = 0; i < spaces / 2; i++) { ret = trace_seq_printf(s, " "); if (!ret) return TRACE_TYPE_PARTIAL_LINE; } ret = trace_seq_printf(s, "%s-%s", comm, pid_str); if (!ret) return TRACE_TYPE_PARTIAL_LINE; /* Last spaces to align center */ for (i = 0; i < spaces - (spaces / 2); i++) { ret = trace_seq_printf(s, " "); if (!ret) return TRACE_TYPE_PARTIAL_LINE; } return TRACE_TYPE_HANDLED; } static enum print_line_t print_graph_lat_fmt(struct trace_seq *s, struct trace_entry *entry) { if (!trace_seq_putc(s, ' ')) return 0; return trace_print_lat_fmt(s, entry); } /* If the pid changed since the last trace, output this event */ static enum print_line_t verif_pid(struct trace_seq *s, pid_t pid, int cpu, struct fgraph_data *data) { pid_t prev_pid; pid_t *last_pid; int ret; if (!data) return TRACE_TYPE_HANDLED; last_pid = &(per_cpu_ptr(data->cpu_data, cpu)->last_pid); if (*last_pid == pid) return TRACE_TYPE_HANDLED; prev_pid = *last_pid; *last_pid = pid; if (prev_pid == -1) return TRACE_TYPE_HANDLED; /* * Context-switch trace line: ------------------------------------------ | 1) migration/0--1 => sshd-1755 ------------------------------------------ */ ret = trace_seq_printf(s, " ------------------------------------------\n"); if (!ret) return TRACE_TYPE_PARTIAL_LINE; ret = print_graph_cpu(s, cpu); if (ret == TRACE_TYPE_PARTIAL_LINE) return TRACE_TYPE_PARTIAL_LINE; ret = print_graph_proc(s, prev_pid); if (ret == TRACE_TYPE_PARTIAL_LINE) return TRACE_TYPE_PARTIAL_LINE; ret = trace_seq_printf(s, " => "); if (!ret) return TRACE_TYPE_PARTIAL_LINE; ret = print_graph_proc(s, pid); if (ret == TRACE_TYPE_PARTIAL_LINE) return TRACE_TYPE_PARTIAL_LINE; ret = trace_seq_printf(s, "\n ------------------------------------------\n\n"); if (!ret) return TRACE_TYPE_PARTIAL_LINE; return TRACE_TYPE_HANDLED; } static struct ftrace_graph_ret_entry * get_return_for_leaf(struct trace_iterator *iter, struct ftrace_graph_ent_entry *curr) { struct fgraph_data *data = iter->private; struct ring_buffer_iter *ring_iter = NULL; struct ring_buffer_event *event; struct ftrace_graph_ret_entry *next; /* * If the previous output failed to write to the seq buffer, * then we just reuse the data from before. */ if (data && data->failed) { curr = &data->ent; next = &data->ret; } else { ring_iter = iter->buffer_iter[iter->cpu]; /* First peek to compare current entry and the next one */ if (ring_iter) event = ring_buffer_iter_peek(ring_iter, NULL); else { /* * We need to consume the current entry to see * the next one. */ ring_buffer_consume(iter->tr->buffer, iter->cpu, NULL); event = ring_buffer_peek(iter->tr->buffer, iter->cpu, NULL); } if (!event) return NULL; next = ring_buffer_event_data(event); if (data) { /* * Save current and next entries for later reference * if the output fails. */ data->ent = *curr; data->ret = *next; } } if (next->ent.type != TRACE_GRAPH_RET) return NULL; if (curr->ent.pid != next->ent.pid || curr->graph_ent.func != next->ret.func) return NULL; /* this is a leaf, now advance the iterator */ if (ring_iter) ring_buffer_read(ring_iter, NULL); return next; } /* Signal a overhead of time execution to the output */ static int print_graph_overhead(unsigned long long duration, struct trace_seq *s) { /* If duration disappear, we don't need anything */ if (!(tracer_flags.val & TRACE_GRAPH_PRINT_DURATION)) return 1; /* Non nested entry or return */ if (duration == -1) return trace_seq_printf(s, " "); if (tracer_flags.val & TRACE_GRAPH_PRINT_OVERHEAD) { /* Duration exceeded 100 msecs */ if (duration > 100000ULL) return trace_seq_printf(s, "! "); /* Duration exceeded 10 msecs */ if (duration > 10000ULL) return trace_seq_printf(s, "+ "); } return trace_seq_printf(s, " "); } static int print_graph_abs_time(u64 t, struct trace_seq *s) { unsigned long usecs_rem; usecs_rem = do_div(t, NSEC_PER_SEC); usecs_rem /= 1000; return trace_seq_printf(s, "%5lu.%06lu | ", (unsigned long)t, usecs_rem); } static enum print_line_t print_graph_irq(struct trace_iterator *iter, unsigned long addr, enum trace_type type, int cpu, pid_t pid) { int ret; struct trace_seq *s = &iter->seq; if (addr < (unsigned long)__irqentry_text_start || addr >= (unsigned long)__irqentry_text_end) return TRACE_TYPE_UNHANDLED; /* Absolute time */ if (tracer_flags.val & TRACE_GRAPH_PRINT_ABS_TIME) { ret = print_graph_abs_time(iter->ts, s); if (!ret) return TRACE_TYPE_PARTIAL_LINE; } /* Cpu */ if (tracer_flags.val & TRACE_GRAPH_PRINT_CPU) { ret = print_graph_cpu(s, cpu); if (ret == TRACE_TYPE_PARTIAL_LINE) return TRACE_TYPE_PARTIAL_LINE; } /* Proc */ if (tracer_flags.val & TRACE_GRAPH_PRINT_PROC) { ret = print_graph_proc(s, pid); if (ret == TRACE_TYPE_PARTIAL_LINE) return TRACE_TYPE_PARTIAL_LINE; ret = trace_seq_printf(s, " | "); if (!ret) return TRACE_TYPE_PARTIAL_LINE; } /* No overhead */ ret = print_graph_overhead(-1, s); if (!ret) return TRACE_TYPE_PARTIAL_LINE; if (type == TRACE_GRAPH_ENT) ret = trace_seq_printf(s, "==========>"); else ret = trace_seq_printf(s, "<=========="); if (!ret) return TRACE_TYPE_PARTIAL_LINE; /* Don't close the duration column if haven't one */ if (tracer_flags.val & TRACE_GRAPH_PRINT_DURATION) trace_seq_printf(s, " |"); ret = trace_seq_printf(s, "\n"); if (!ret) return TRACE_TYPE_PARTIAL_LINE; return TRACE_TYPE_HANDLED; } enum print_line_t trace_print_graph_duration(unsigned long long duration, struct trace_seq *s) { unsigned long nsecs_rem = do_div(duration, 1000); /* log10(ULONG_MAX) + '\0' */ char msecs_str[21]; char nsecs_str[5]; int ret, len; int i; sprintf(msecs_str, "%lu", (unsigned long) duration); /* Print msecs */ ret = trace_seq_printf(s, "%s", msecs_str); if (!ret) return TRACE_TYPE_PARTIAL_LINE; len = strlen(msecs_str); /* Print nsecs (we don't want to exceed 7 numbers) */ if (len < 7) { snprintf(nsecs_str, 8 - len, "%03lu", nsecs_rem); ret = trace_seq_printf(s, ".%s", nsecs_str); if (!ret) return TRACE_TYPE_PARTIAL_LINE; len += strlen(nsecs_str); } ret = trace_seq_printf(s, " us "); if (!ret) return TRACE_TYPE_PARTIAL_LINE; /* Print remaining spaces to fit the row's width */ for (i = len; i < 7; i++) { ret = trace_seq_printf(s, " "); if (!ret) return TRACE_TYPE_PARTIAL_LINE; } return TRACE_TYPE_HANDLED; } static enum print_line_t print_graph_duration(unsigned long long duration, struct trace_seq *s) { int ret; ret = trace_print_graph_duration(duration, s); if (ret != TRACE_TYPE_HANDLED) return ret; ret = trace_seq_printf(s, "| "); if (!ret) return TRACE_TYPE_PARTIAL_LINE; return TRACE_TYPE_HANDLED; } /* Case of a leaf function on its call entry */ static enum print_line_t print_graph_entry_leaf(struct trace_iterator *iter, struct ftrace_graph_ent_entry *entry, struct ftrace_graph_ret_entry *ret_entry, struct trace_seq *s) { struct fgraph_data *data = iter->private; struct ftrace_graph_ret *graph_ret; struct ftrace_graph_ent *call; unsigned long long duration; int ret; int i; graph_ret = &ret_entry->ret; call = &entry->graph_ent; duration = graph_ret->rettime - graph_ret->calltime; if (data) { int cpu = iter->cpu; int *depth = &(per_cpu_ptr(data->cpu_data, cpu)->depth); /* * Comments display at + 1 to depth. Since * this is a leaf function, keep the comments * equal to this depth. */ *depth = call->depth - 1; } /* Overhead */ ret = print_graph_overhead(duration, s); if (!ret) return TRACE_TYPE_PARTIAL_LINE; /* Duration */ if (tracer_flags.val & TRACE_GRAPH_PRINT_DURATION) { ret = print_graph_duration(duration, s); if (ret == TRACE_TYPE_PARTIAL_LINE) return TRACE_TYPE_PARTIAL_LINE; } /* Function */ for (i = 0; i < call->depth * TRACE_GRAPH_INDENT; i++) { ret = trace_seq_printf(s, " "); if (!ret) return TRACE_TYPE_PARTIAL_LINE; } ret = trace_seq_printf(s, "%ps();\n", (void *)call->func); if (!ret) return TRACE_TYPE_PARTIAL_LINE; return TRACE_TYPE_HANDLED; } static enum print_line_t print_graph_entry_nested(struct trace_iterator *iter, struct ftrace_graph_ent_entry *entry, struct trace_seq *s, int cpu) { struct ftrace_graph_ent *call = &entry->graph_ent; struct fgraph_data *data = iter->private; int ret; int i; if (data) { int cpu = iter->cpu; int *depth = &(per_cpu_ptr(data->cpu_data, cpu)->depth); *depth = call->depth; } /* No overhead */ ret = print_graph_overhead(-1, s); if (!ret) return TRACE_TYPE_PARTIAL_LINE; /* No time */ if (tracer_flags.val & TRACE_GRAPH_PRINT_DURATION) { ret = trace_seq_printf(s, " | "); if (!ret) return TRACE_TYPE_PARTIAL_LINE; } /* Function */ for (i = 0; i < call->depth * TRACE_GRAPH_INDENT; i++) { ret = trace_seq_printf(s, " "); if (!ret) return TRACE_TYPE_PARTIAL_LINE; } ret = trace_seq_printf(s, "%ps() {\n", (void *)call->func); if (!ret) return TRACE_TYPE_PARTIAL_LINE; /* * we already consumed the current entry to check the next one * and see if this is a leaf. */ return TRACE_TYPE_NO_CONSUME; } static enum print_line_t print_graph_prologue(struct trace_iterator *iter, struct trace_seq *s, int type, unsigned long addr) { struct fgraph_data *data = iter->private; struct trace_entry *ent = iter->ent; int cpu = iter->cpu; int ret; /* Pid */ if (verif_pid(s, ent->pid, cpu, data) == TRACE_TYPE_PARTIAL_LINE) return TRACE_TYPE_PARTIAL_LINE; if (type) { /* Interrupt */ ret = print_graph_irq(iter, addr, type, cpu, ent->pid); if (ret == TRACE_TYPE_PARTIAL_LINE) return TRACE_TYPE_PARTIAL_LINE; } /* Absolute time */ if (tracer_flags.val & TRACE_GRAPH_PRINT_ABS_TIME) { ret = print_graph_abs_time(iter->ts, s); if (!ret) return TRACE_TYPE_PARTIAL_LINE; } /* Cpu */ if (tracer_flags.val & TRACE_GRAPH_PRINT_CPU) { ret = print_graph_cpu(s, cpu); if (ret == TRACE_TYPE_PARTIAL_LINE) return TRACE_TYPE_PARTIAL_LINE; } /* Proc */ if (tracer_flags.val & TRACE_GRAPH_PRINT_PROC) { ret = print_graph_proc(s, ent->pid); if (ret == TRACE_TYPE_PARTIAL_LINE) return TRACE_TYPE_PARTIAL_LINE; ret = trace_seq_printf(s, " | "); if (!ret) return TRACE_TYPE_PARTIAL_LINE; } /* Latency format */ if (trace_flags & TRACE_ITER_LATENCY_FMT) { ret = print_graph_lat_fmt(s, ent); if (ret == TRACE_TYPE_PARTIAL_LINE) return TRACE_TYPE_PARTIAL_LINE; } return 0; } static enum print_line_t print_graph_entry(struct ftrace_graph_ent_entry *field, struct trace_seq *s, struct trace_iterator *iter) { struct fgraph_data *data = iter->private; struct ftrace_graph_ent *call = &field->graph_ent; struct ftrace_graph_ret_entry *leaf_ret; static enum print_line_t ret; int cpu = iter->cpu; if (print_graph_prologue(iter, s, TRACE_GRAPH_ENT, call->func)) return TRACE_TYPE_PARTIAL_LINE; leaf_ret = get_return_for_leaf(iter, field); if (leaf_ret) ret = print_graph_entry_leaf(iter, field, leaf_ret, s); else ret = print_graph_entry_nested(iter, field, s, cpu); if (data) { /* * If we failed to write our output, then we need to make * note of it. Because we already consumed our entry. */ if (s->full) { data->failed = 1; data->cpu = cpu; } else data->failed = 0; } return ret; } static enum print_line_t print_graph_return(struct ftrace_graph_ret *trace, struct trace_seq *s, struct trace_entry *ent, struct trace_iterator *iter) { unsigned long long duration = trace->rettime - trace->calltime; struct fgraph_data *data = iter->private; pid_t pid = ent->pid; int cpu = iter->cpu; int ret; int i; if (data) { int cpu = iter->cpu; int *depth = &(per_cpu_ptr(data->cpu_data, cpu)->depth); /* * Comments display at + 1 to depth. This is the * return from a function, we now want the comments * to display at the same level of the bracket. */ *depth = trace->depth - 1; } if (print_graph_prologue(iter, s, 0, 0)) return TRACE_TYPE_PARTIAL_LINE; /* Overhead */ ret = print_graph_overhead(duration, s); if (!ret) return TRACE_TYPE_PARTIAL_LINE; /* Duration */ if (tracer_flags.val & TRACE_GRAPH_PRINT_DURATION) { ret = print_graph_duration(duration, s); if (ret == TRACE_TYPE_PARTIAL_LINE) return TRACE_TYPE_PARTIAL_LINE; } /* Closing brace */ for (i = 0; i < trace->depth * TRACE_GRAPH_INDENT; i++) { ret = trace_seq_printf(s, " "); if (!ret) return TRACE_TYPE_PARTIAL_LINE; } ret = trace_seq_printf(s, "}\n"); if (!ret) return TRACE_TYPE_PARTIAL_LINE; /* Overrun */ if (tracer_flags.val & TRACE_GRAPH_PRINT_OVERRUN) { ret = trace_seq_printf(s, " (Overruns: %lu)\n", trace->overrun); if (!ret) return TRACE_TYPE_PARTIAL_LINE; } ret = print_graph_irq(iter, trace->func, TRACE_GRAPH_RET, cpu, pid); if (ret == TRACE_TYPE_PARTIAL_LINE) return TRACE_TYPE_PARTIAL_LINE; return TRACE_TYPE_HANDLED; } static enum print_line_t print_graph_comment(struct trace_seq *s, struct trace_entry *ent, struct trace_iterator *iter) { unsigned long sym_flags = (trace_flags & TRACE_ITER_SYM_MASK); struct fgraph_data *data = iter->private; struct trace_event *event; int depth = 0; int ret; int i; if (data) depth = per_cpu_ptr(data->cpu_data, iter->cpu)->depth; if (print_graph_prologue(iter, s, 0, 0)) return TRACE_TYPE_PARTIAL_LINE; /* No overhead */ ret = print_graph_overhead(-1, s); if (!ret) return TRACE_TYPE_PARTIAL_LINE; /* No time */ if (tracer_flags.val & TRACE_GRAPH_PRINT_DURATION) { ret = trace_seq_printf(s, " | "); if (!ret) return TRACE_TYPE_PARTIAL_LINE; } /* Indentation */ if (depth > 0) for (i = 0; i < (depth + 1) * TRACE_GRAPH_INDENT; i++) { ret = trace_seq_printf(s, " "); if (!ret) return TRACE_TYPE_PARTIAL_LINE; } /* The comment */ ret = trace_seq_printf(s, "/* "); if (!ret) return TRACE_TYPE_PARTIAL_LINE; switch (iter->ent->type) { case TRACE_BPRINT: ret = trace_print_bprintk_msg_only(iter); if (ret != TRACE_TYPE_HANDLED) return ret; break; case TRACE_PRINT: ret = trace_print_printk_msg_only(iter); if (ret != TRACE_TYPE_HANDLED) return ret; break; default: event = ftrace_find_event(ent->type); if (!event) return TRACE_TYPE_UNHANDLED; ret = event->trace(iter, sym_flags); if (ret != TRACE_TYPE_HANDLED) return ret; } /* Strip ending newline */ if (s->buffer[s->len - 1] == '\n') { s->buffer[s->len - 1] = '\0'; s->len--; } ret = trace_seq_printf(s, " */\n"); if (!ret) return TRACE_TYPE_PARTIAL_LINE; return TRACE_TYPE_HANDLED; } enum print_line_t print_graph_function(struct trace_iterator *iter) { struct ftrace_graph_ent_entry *field; struct fgraph_data *data = iter->private; struct trace_entry *entry = iter->ent; struct trace_seq *s = &iter->seq; int cpu = iter->cpu; int ret; if (data && per_cpu_ptr(data->cpu_data, cpu)->ignore) { per_cpu_ptr(data->cpu_data, cpu)->ignore = 0; return TRACE_TYPE_HANDLED; } /* * If the last output failed, there's a possibility we need * to print out the missing entry which would never go out. */ if (data && data->failed) { field = &data->ent; iter->cpu = data->cpu; ret = print_graph_entry(field, s, iter); if (ret == TRACE_TYPE_HANDLED && iter->cpu != cpu) { per_cpu_ptr(data->cpu_data, iter->cpu)->ignore = 1; ret = TRACE_TYPE_NO_CONSUME; } iter->cpu = cpu; return ret; } switch (entry->type) { case TRACE_GRAPH_ENT: { /* * print_graph_entry() may consume the current event, * thus @field may become invalid, so we need to save it. * sizeof(struct ftrace_graph_ent_entry) is very small, * it can be safely saved at the stack. */ struct ftrace_graph_ent_entry saved; trace_assign_type(field, entry); saved = *field; return print_graph_entry(&saved, s, iter); } case TRACE_GRAPH_RET: { struct ftrace_graph_ret_entry *field; trace_assign_type(field, entry); return print_graph_return(&field->ret, s, entry, iter); } default: return print_graph_comment(s, entry, iter); } return TRACE_TYPE_HANDLED; } static void print_lat_header(struct seq_file *s) { static const char spaces[] = " " /* 16 spaces */ " " /* 4 spaces */ " "; /* 17 spaces */ int size = 0; if (tracer_flags.val & TRACE_GRAPH_PRINT_ABS_TIME) size += 16; if (tracer_flags.val & TRACE_GRAPH_PRINT_CPU) size += 4; if (tracer_flags.val & TRACE_GRAPH_PRINT_PROC) size += 17; seq_printf(s, "#%.*s _-----=> irqs-off \n", size, spaces); seq_printf(s, "#%.*s / _----=> need-resched \n", size, spaces); seq_printf(s, "#%.*s| / _---=> hardirq/softirq \n", size, spaces); seq_printf(s, "#%.*s|| / _--=> preempt-depth \n", size, spaces); seq_printf(s, "#%.*s||| / _-=> lock-depth \n", size, spaces); seq_printf(s, "#%.*s|||| / \n", size, spaces); } static void print_graph_headers(struct seq_file *s) { int lat = trace_flags & TRACE_ITER_LATENCY_FMT; if (lat) print_lat_header(s); /* 1st line */ seq_printf(s, "#"); if (tracer_flags.val & TRACE_GRAPH_PRINT_ABS_TIME) seq_printf(s, " TIME "); if (tracer_flags.val & TRACE_GRAPH_PRINT_CPU) seq_printf(s, " CPU"); if (tracer_flags.val & TRACE_GRAPH_PRINT_PROC) seq_printf(s, " TASK/PID "); if (lat) seq_printf(s, "|||||"); if (tracer_flags.val & TRACE_GRAPH_PRINT_DURATION) seq_printf(s, " DURATION "); seq_printf(s, " FUNCTION CALLS\n"); /* 2nd line */ seq_printf(s, "#"); if (tracer_flags.val & TRACE_GRAPH_PRINT_ABS_TIME) seq_printf(s, " | "); if (tracer_flags.val & TRACE_GRAPH_PRINT_CPU) seq_printf(s, " | "); if (tracer_flags.val & TRACE_GRAPH_PRINT_PROC) seq_printf(s, " | | "); if (lat) seq_printf(s, "|||||"); if (tracer_flags.val & TRACE_GRAPH_PRINT_DURATION) seq_printf(s, " | | "); seq_printf(s, " | | | |\n"); } static void graph_trace_open(struct trace_iterator *iter) { /* pid and depth on the last trace processed */ struct fgraph_data *data; int cpu; iter->private = NULL; data = kzalloc(sizeof(*data), GFP_KERNEL); if (!data) goto out_err; data->cpu_data = alloc_percpu(struct fgraph_cpu_data); if (!data->cpu_data) goto out_err_free; for_each_possible_cpu(cpu) { pid_t *pid = &(per_cpu_ptr(data->cpu_data, cpu)->last_pid); int *depth = &(per_cpu_ptr(data->cpu_data, cpu)->depth); int *ignore = &(per_cpu_ptr(data->cpu_data, cpu)->ignore); *pid = -1; *depth = 0; *ignore = 0; } iter->private = data; return; out_err_free: kfree(data); out_err: pr_warning("function graph tracer: not enough memory\n"); } static void graph_trace_close(struct trace_iterator *iter) { struct fgraph_data *data = iter->private; if (data) { free_percpu(data->cpu_data); kfree(data); } } static struct tracer graph_trace __read_mostly = { .name = "function_graph", .open = graph_trace_open, .pipe_open = graph_trace_open, .close = graph_trace_close, .pipe_close = graph_trace_close, .wait_pipe = poll_wait_pipe, .init = graph_trace_init, .reset = graph_trace_reset, .print_line = print_graph_function, .print_header = print_graph_headers, .flags = &tracer_flags, #ifdef CONFIG_FTRACE_SELFTEST .selftest = trace_selftest_startup_function_graph, #endif }; static __init int init_graph_trace(void) { max_bytes_for_cpu = snprintf(NULL, 0, "%d", nr_cpu_ids - 1); return register_tracer(&graph_trace); } device_initcall(init_graph_trace); r['R5[\E&`MHMto6B+%]pj,)8)ES"0QG: ['R ]IW6?-EFR+*p/ܫ "}t,&{Հܽ D@T2MxtvW7%Ο;>ܝYktZ֍'P"e|w+6qܱ!,(<0m`&ZI鈩PUlΩ-lh Q!A#¼@P %$61f ȸV)#^12fY"l.-Ҡu㢴Uǝ~Ժt֜\)0 zb /|%yMIE~/ qKj7 }#;-q[ƅ$ֻpk= 2:1L5KnUAW}12L%lu#4@ `e 7aZalc&9!TM!L>7 0-{ҹJ܊7H[$F%:a+y2oadvM'm~3 SL?s2Wnttt9 ,=EXPw1MX؞{4S0-Aj8@}hI0қ}mc`(?@ɦ:he /r ٥^yU5f|#,=4)\raL*)$0 `N;%A{L[FbR4p9  E`ʰWŅ754dLt־ҼN]Y% ݃ԔGG#y3<PKaO(EW e:9n&{QTvW^9eJ@gX*11mg8 *|6D&J{#v0\ZjoaƑZOf59Q+C%yA<[2 HhknP!˒w$4j꘭0r@L.FQhS@5SpOjv[y~⋠>PgS](df0q`lw$QѷtwF6L?Wj2g!|9SPm1S~1L!1*ej;yMAwX@nuǢ764캡>Ep,SߌIE] W $tNh@o_8׵<>da=vg!tsUa94 η;V
6X?Tq׾:v̴X>& },Z54ѯ~lKe^ S)&G,m ̖w'J-j4Wκ-GA/Y7zk+D^3')kj=)|Ev>hF$Eܨ< 7"%2+TxaKg#V!4B5L1]{}Hq.N[#m/oT=ombMxzj_ٰy(Wgb: q2߸/~{eJ5D2'G+@@cYb#A+@ <>|N3:tW"MƷt\z^I2PvNJpǒ_>BC#"Z{-RmVNPߑERxs(d Li W`](q;A*`2,cgŔw&r3wn"Jʠy:8d9ٙ)mrJIYڝC᳅@~;Cl~ +V,I𧊼*ƞ55DdZͮYRG?[Ԍ lwN6ܑcl8E*Vr>Fjh5mU{nT6ïm05{e%CKh/y.QV)wzeHrqU6^EjJS0>p$5LOԤE_m.53 3 ~:#! .XvYXbrX) _6M3&$~{C' ͼ"8G7H'wmݥdGat%$x!-݈)0XhHMdB05XyI.N;Q:?ƺN|Vc /= e$e y^L餪vq-GʫẦo7_eJ vs#;/z6^( yA/ɧMVtd %4no&.{&elh }27e^gN~/G@K])L Q@•WF_U+u4ȼvQeeһF̞Tݨ03 *j~";)7bg\ĭ7}(Oj_ N=*`ٴ^gRcx<y qP)ȋ BP6Gn'ɫxf`g%:XG.IH.q%o#lr-~j4d5üNxf.&يea"s;'C lJy̓H2GTZሎ=.ZTEk2L¶?۾clm6qUj ~6wtCWDB)k9+- qwV dʑ/ױn_ f•5!̙xx}ǗYNd<=9R=)JN9a;Atftl "s2R>LjY]w9B))VɾքR iSQھVEş%ˈyNz.2ubSVx -$o6L:Y:(lcY6Ю&Zn!Mʗ5߳P ͥq [}!`ẃtI} 4+mEޔ+4RDEBx:Q.a 2ZDoZl_={{S٥OùKHL򵄀bzJ?Zn 3A|լ&sR읜;Qc8@7BH MdA?y i7&Z+)PnU?sJ S]:#geE  ՀŴ0UgGXB'2t|y&ל!3lYsVQpXդ8+cxKa R ĉ̩'VS?P HBsZSv %!t,px1Lڞ,=]բ7U͸aBb#dC<:TB t.way K*̽PY+)ynݍ;"rS3Gre*Fmܦ}xK"1WV͡D lݓQWWesn9nX_U!&Bqwn%^a,) `;_xpt8: X=3Y0i-,o J@eyڱ~O()Br m{dҘ`8}Pt_T 7)զc˃Q@sj9Nhi&;M1oГ#'jR_-- x]cќ iݮvqW#҉s~̀"^c6GD3bbn‰rme ʖkHیJk iAJɾ\('3"޾P+\{,B%nTV όX5+BsϢ#ŭ HMpJ[QFzܵ]A(ЄGgu u#so4 ^$pTѺ>dֶFG־^湍Al~Bz>Ψ˓{ z9OmqƏg0jE·X d1Ƈwh &E#,ZC-{xjMr^3n7 2HKr(/41gʶMd7a[#\fn Ɍ_;b7o, LawPrBT9Eetm7W%èC@W]gEl i Ou1TBy?!)F{gSad[LCAQLSR yOb\YH?:j\%H:C`ߥ0J ݲuyLi=.؎*26y/ Oot.tPw.+.֥Lv&Gęt 2户>9{7њ{n>ogK'*&g,!~,#gZ+,K-JtU27sc[`=^:-H0}߽H4~(Cç9N;\ZR)GuD+cѲ۪ýD}ĀX+s&T@B<#?QEcW3 6R"?}?t/-sGa%ucF^K5% ÏkĘ G|*7 ZT]^NDŽ @CTK MȈ* ĉ?-:5 \<9>3yS*b'-7LIjUxJh`qog?'ۅQ yz70} ^]k7E,H ,!C ~>Z^@_*&nVnC\Fhj@1L.hƄ/At/buՈS,jd }}'_u;Kqh[vA'yiup$1}`YJ_LbBO9L&v_jŻvbJOAD?ywOL^\b K%•l>fS8f,dc\T(!V*Yqq 6$Eq.4O\Phg̔MW#.tJ6x;SqfMR7ݡ7@ПٖZ^ vJ%n zc{T φRgJ7H$[ŭq d~@ LS9B,ڭ5HJ^/Bc9MWw(ψD˺<~Py|d.|edYjVvL oIvJH+MeB޲=[Uu ry҉w5nw8EL2/ /ۤ!n[>_=x3)E)z-&/Z$j1 ]|oORB7d?Ү%D**8[Sq]\X(Bn[ tb4@1Z!"6k/v.T]*JwR+ˆ F:0 ( %$ǖ#ז5ݱViy]17bݨhqfJ'ЩĪх0l 92!L@nۇ룓tAvEeQH>ke8`Csm'dQ MF ;jJN ذk$Sۙ?b +, ˶DAvTN?3 uh߂6I4ߙ)1;?;{_L1K@'`zYH8 u`pdehI[Ts#E8ECm$Ѳ)YOcZNeEXQА;.yQ̔3@u'ѭʥd1ϸS2r&/ȤYOraWJ<λ^SLCib6`3'g}Jbee<m,Ɂ&6v,%+-/?LdZL b||Z&z8dNrޟ"qGĹ ڐo {P% yaAys9` P?(qM_CXز158b׭SnX2fC74K{X5M kMrLtxzoJ{d ڷ޽MYZ;7I  pf&`]f3)fԕLM2Tt},އr}5y5M?@MXٱ+V+hJ{FjULL0S1nʨ9H*<hKE"=UmSІT Z nwJKoJOIONR|HWG6K7-5(SVvB( ]FXFksV5:ߣo!TYՕs,#Ը+CNʚa)ׁ65S"b*b[fݒ]0}YEhfH~A:szڶ[ u~ڜ%cIc "%a bAj䐼H6vpu$U _}ꈊ]ښ/YIL.S+trHQ_ {w{tO{ښ3/h_^,Zkm)dü2}|?=玟`#OL,ˊVsdsHw_f^!"#QGiq/rNwYp~SamyX8k/0P]16@Kcv|$1סAZauM-+t%Z Yc[]b2 )f_75yA$7k_*J~*e.Ð,g9.i)s">do%̪<ғ m8]f ;Trkf?i:U0Yz^ ͕ȡ0qᴳ*jhU/\gT~pDU6W]e٘!|z,]w,gyQfL1ĊDM#ad׭XH]OD6k WW5TAfD7ݟ'9N;^t!; y~d.&=J<H({Wux$ aJԵ AN)G]=V#KI%|D 4davBՖ|Nˡ xNdBM*%q棏ڨ4EX%7oGzW `#}^fd&EDk;-`m@A6Š@n籗 9T=0HiO8h,Fp&UF)I-5ɢD:\B6J56:;8wA@Γʊ9U `ܒHCPh:A(\E 4=3-D Pź-ɉzSbU؆&TgSUh2zp}~ 9mӠi`ta1)y]{Н/rTCϫ'Ұ Y=2?À8wh%D^ >Ⱡeј6+B/LJv&bs"n~rDX鮥=D (%,cT/iS!&uX0RSZ-2EW/YE^o)q-[d]9$ٷY%F-k}o oIQ+9:-k0JR'01V76?IDkkb&V(_d!4rcߨF̹~xQJ'5NØ>% `;CmgUޚC+)oTnnfZN&KWULR#g$UsBxy^c13;lwZ@E9=zlhnht33 /xNuYh::ۏ@tLd|ʎ]V"W3%emP 4ɝfSRo-8oWlaVكm;+ AV\G 5cy%E⸴E˜u6YXIYXUE"<|ӟ*$0X})jr}6}`fiZ~ZFUu]~+_ SLFF)'?&M;=V& bC: /VC|у6CE=K褔YOCQL[WG7VR U=7]ֆNTטHT3m{(Ҧer^JN>jM3<#Tm0Bҋ}']l nnKj@NN:l#~b'Ufӧ$7hZR2ܞKX2s;\}s. דy+D=r/}}9lW*.CJDb@0_H\ 7#T:*j@\[A}r?:ub MDk&ޯsy%6`rt:5!^]Kd2[m!ҍ `WИ~D<}H .ym釨oü?J2 "G{ oI>sK^"v͈H88[)SB7q 5t~Ou$NsBk2M6JQBT-vY߉8pZ<'h>[LxNmgdXx屹΄HhBT)bYL&Yʑn}}{DwHangs`' VMbUWkLJcu>N*°Q#& $df)jH)~U6*v'+0#@tHywpMLj m0^,[LQK:kNK.7/x "\ +;O:Bg54 F^j/vWĦ,C] C'4>}YTa <=B(,ALclu~$"&E^q5W.$Es_$oR†Þ,1p6U;0 B+j]MY· b%"aȞ \6m^Tl8 UDhC= x'""n!PyO݄$jY1CFe0at@Y٨` Tezd5VQ;^߆ jw{3ޘxEq9ůPmh\g]ҪMn}Js_|}%0,R{kFp[0^rILUY$A4%y Z[cY.ˡo )ʲ ͽm2$CGX6\wSbf ;`mFÈhwL_sMᒄ0x^ 4mlamҀDP0/޶52\u @>Gh;pWc-=s?=glA&Y$4g,IN馛Rz?j8]Qw@f`g+.Xݭ!ä/}<@dZтuYccgu PNqΚuINia:mTڑe | *hH׭NRQ>m[ROHӍoSe]k-K~ TV#m%NY};in0å!f:6qc6yvCU}WS(7 #*aR'8 lr?fn fڷ|yY$`9g՜ej/k^2+D7aF rK$HsgEsd(M&#d/H\Ⱥ:'{ZR9GvE id8u;C42 |`a!WOSo2O~xna4gԪǪ6?#Z/ȃaYF¤ȬOYN$W,Y)'o32q=Y2Ա8SH=QO8 ǿ;aʨ/ ҡi/&/Q@@%we6)",/|l!kNk21R/HU lUd;_8[DkNEW3ϑnYpHZB m(@h= ?хE,.ۣ.tǫe<N,ǝGțアi<P \brQ[ZbFqoP$E,;R܍PXR"B TH'E]ExS&K $Vp$2|7YƄre.BlTԳ}W\!cQ`?u~Rc1_?q @=-v`a G~\ ;*IYc8p|CVVϰn[~zrqAC?ɜ $zd.IEXYBF ){+\?UkQKy/)cKd2YZqN'#΂.Ps(\n!R4^Y㚪U$i-%? j99s=#W"@O]- e!eVI4ʈh!'t9.\l+g9L"[?"ÿB,\8aV3K/)W+?\Zg3sQx:|y#B$ g;?m&LNbфIt\$# r^{zrk dȕ(\9O(MS^~7H5^L몿uxt#~dipnPNFk f@5FE.ز@"1Y̸.q3op`䳙.ѶQ_bﻢGaH~ie n{?fD$MMEe%Kg&~[_$Ls Rrif ,_6a^fՀ0_hcD Ez0]\Rbeqz(k}WԱwƂqlЏ 1R[8̉o=ީp]е}q|Y`5ru2z{ 3MF̗[˴hZ^֢vgV#|f<#tT>(5eQj&^DZDj̈pE*rj\=Dt~~Qx:qO^($q;#;?^[_'?%f$xJL MIu>@Оnx)}0#v\iEy)7gL$Rkl=xH1+9}冭v682|z5SU~Xlzy5n>+liX4]NPB겇nf=L0rM^Bm$Oi`BbL?k=v[}0Z(aj;ljww{Qc9Ɛp!Q@?m"m˱56 k?juRJ74띱"8; ZSǕ,Cjrʕ%723 I*Ed$ ;+ y8~?ON6 O`y#Lאr.!⣚gw/0\,,txɐ=5G, Craw26#>Kc})K95Xe>Jҵ2ڮ"?,4Mmxq[۟JRxNUz?W"t:񑬛\S;~'idzD @^0()YZ_h3Š\]"%M'b} D4p6VQsGEVm]3ZKS+]ؚ{bŰאRҾb;Dc5a| RpaqN-xM9؊೟.\OdA\m#Θ\&#(̂ R8yoTFlo1 sݜLUif}f*Sl*"laY LO4 VرTj9SBI߶3+j9jϗL/i( 혵ahu6`!R$4%Wc07`OpţRN6}vSf 6ץ{4f8ʧ`bpŠ~`x&DܜeDƈSKWTʳXB:Y)tLs+ɔ^} -QF0g=nW8 '3D-aUdo)Z9ty Cp}:+.vhٽVOPct,46.Die: ǵPDPyrVtKP΄Mv$oG Pk dٗ?}7U'29<9-z%6ë=c~} xL?a0y"bF.p~F7\ 3?99oPzTgf~ge6lE@R+WQ:#R9lGh] ڣ=FoRcenkQ JiH.W>?౭=3^""Bzc̹ŷZ3 HH.D+dq=WEj7}f`F[\_kP" 3XBpYFRP+Lʀ;x섷WnZUTF8}oGY>zGe$hYד1 l4E'{V UYbēdD C |D3уbĀX*3 9$Rxe%%34u{*1 U?N3xldf}1ǦL.Ni%1O4I*9Ȼv׍@3`_.cl,-ij[.eȳrGZ?Af'd_Om,ּ<$*cb-P^&KGVr@"VVG9Fب{}y(]A  jU|v(&%ٷ_,)Ptut6R"W.ے#\o)'C<|N8ߝ jCxJnغ10Zȸ,` ^(ד_p0>F~Zoc_'zlU\ya!Yq泋%NBXǎa}=Mab ZQ S8#20d^Yك+Q((B89Fdz_"N#(IatNk/)DbX2=$TP/189ooc3^Xd}b=)K˓1[ ]M>H3/2PſzTzs XPAZ5[J"8shQ cb;{ @?HŒ J`Y=BOzu zƸ߸NiК'/Qe-afQ4 bAR YSSƇF!r2{M(ߎI)8I$2Bi]HS8c{O9oYU}X.\ @v);Kݔ5ɼQi)z>];lBI%c' C!3˱dX91GாDb6GL4)5OV9fQ@_#/p@Vr2 B+0ބ ѐb_FQU"!dS YAkeA q75%ŰCZâ ]yKU'+yr9F;{B}\ .h~tGrb2._.X|06z&F3dIasf3v )q O<7$͔%7=Zb6Ϗ!;S.]_)mAꝼlKc!|Fc_5LU deS}Wu?_+Cj<,WﯮFxR)TD~E胪NL >] tnsH62u=7H32〄8pw BNIѧlxOq|#|Y҉^qv D.%OPb V/mDVʻy:&' NCgEt @"ŝs1RbT'>#ֽҦO3: V+|CGy!7ͣk`yr*fv V5*uAc:7He0+& O =TZi'&p"o1pM.gJR/ :T. V#b J/@YXj' kG&m>zN[Ks+`yJ⏽9&:¼rQ3^dqG:mЅ>dk>S%lC?5n]#MƏ IjnYk"fzpsT#ÃG @q;B\)Ό̶` T"R92B,`8x,YH8?bqT P߰HLEݬQzt5iqΙn%gyjX/Ȣ-,߃o-] 0/ `զNig#H?74pX@P6(9R 9 ;_?ޙZef&WPvx8b,R&#[X%DҗYޑF\Q lXp*>Lإ"0e)끑<;sB]c·+*I0+7T^%Kh^43"ӆXxRE o?6?eBKxFow:X"V.mY&H LC+_SۤůQ .~ Hv, ϟ u\zhNK]xӘxkL`x/5Ed;pX$!͍ "o[%^\#rX>ѺuAz݇M_}4lDR=I|SRi69>AA.LP>nk0P5kK9g>ޙܽMwkmJ, ;m$Y7pa.XNE8:"+VEӺu),W^sI[ Y'ߝGrGGY/XӨ@KA\^E-~`@dCSk"Wcas⍷) L7nyb|qMѲ6qѭ=ŲTIV82|殺WPd4dktyE} b1MCk@FMKΉӰÃG{6}7W9DYn)GUG-áa(2;Ҫ<>jèYU -)]2. @xӔS"նxmP1ºdY˩Შn*x\vҝʤ=5UEav+?x*(8Nuwn nkOh' lo*&hsZj3>-XmaHQ-D(OuB}:nd785gmұ6* DL{(mbNJQ׈?yBИ,D&ék#V̪Vef| F (1~Z$,6%b< ?1sS$o(Mʳ}]6MnP*$P:%v 0g/6,`*RV*3%v0((Đ[Ŀ%BE p=ibk+QG)3|4 8߻f3(ԑs18DhQ;$߻< 9gyӯ,$4ďkη.)ԳPS^|qF0 j?ج5"mW^ ͕ug勄v oaBy±;}/x\ 3oB /deU3_2` U7*Aqm>ɿצ" x}A d{C46qv%eN/3=p5[Yd7rn~%,Ҳ0_SX NWGQAF6jf2蘨FGJ~f[D뱫$ Q\am̘ڌTvrF$X> b{AH&5?ڣfB +jݠ/!* xG6n.\U}aZqXYUtm:0*nz| ϞNKbJ#E899X$DI pFRVF$"3;T-C#L?7ʉrٹ2]qP 2D}"Nzgk5ȚA_ޒG5lʁ~6xdb?Y3>]Hr=kǏ2t`|;qkt,ۺMۭiu`B`E P2c,iYre%2̛ 11,S߱+)VVx-)N 8OegѬyC(Cz-!J(zԋA;+QO+(V (48 Fjm2MJU5;r'1zP)"uׂX0h̿~oW$\-YCOEm}V#Tt%nj{{pA Th3 (tƽ8 cAYN+4ا%|xR3'"і]!7pM?"o{%hOdLC,Z~A1~#ß-/(|V臿xD3{2S透tvjQY Bѱ.^ob{ w&Dr.f2qś8.ȺƇ(xMY MfV[;[Vڨ5l4~/d(iOg/S7AsOM+8M1v*<$zT}3h)J@Q 2=/Q.# <@>5!LaŬGriXž[cRxw<1JCp#&1BjbOMfeuRb8)ةBd t7kpO3Bn[4Lʑ;IAn~3yO)l<1+sZgU;w۳̔>pmF3B_jC6&[17&y4Y3Y56kpZ *UJ^^S+2s *08!%ҺΙ V10آw1 °Y 'v- $sɐ$d"jfу mj`~U Yn ݏRfD=N!jBPԣuQW$KA~׉^5RT3/Uj';`]vXIg:AIDvӤ=6ƆZL#qzZSGP-xW>ցn2,ge*$*AZ):$~:]Rp8.j>mⷛWAf";m@VB@DNJnzՊf캂\0F\r9rڢL?lQY‹d. $R}lTVX&ҋ]vyOQ)EDiRCxB'x ' rbVѺf0-tDbZWsUWsYH,*niFx-/p[Uu4D랪2Q|*50d̂Y! Xr9ѡzsQ+#&KV#)g.a"=|p֙ HhSYjk+ʫh O`` <6 ͜9lIZp*Rwҙ7$eh݆~]SƎyB33h==SutݎB^A%QaqZ[ͶI3C!@PA7@X}=c;*@~R-Ebo<*r C 7N2@) kpVp`]5oj.m)ym+DV'+b!}6R ςۯTuM^Sz2SsԼH(j4/Do(TIwR=QB7vMemNԙ<ȏ} K-,=vA,oGiia]&#՛qc/U3ɪ}Lf^c`tBZv?MP9$cA+w Ic߈+bB_=fyMq\GǬSz5qn<<ٮ&p|V?NC{r4J!ȧ={ /(NUPadԯHfʠ3PX*\Dc'}bK nmY6CY@Hj9Zln(@>M6R ז`g&!]30r#8\ޠjWG/>l 5V=s01^wޟaYbݒ0 oP OX5P 0ll,>+-qoNxH|0  _f"`i??='g}y'Ԡ%y}EF>c< z` 3:rLa?D5gP&p@a>@@= CLVJp*o9#Wot  DԿQ?W%eksy྅ϪFi&ސ`wtQx2L?pbh5F9Ca1WZ&"aj:ʍ2Hdz(7$Txh铞:phVzpiqخ#o4!FVI\8[FZP݊ $υI(x|Ar* "|("ɦ^_Ӧ!C15ځ !)$٣9.8|'?I-@Z//e^KYR~,!N'0%&ܵPJ]E"C>:jV2*=/ \!exSxzm8i:_"HUVit/F✣gxwKl Ht4 Q }Twy|nSEQ:$q,bm9XH ANo$i~lf0%R5 jvx|7ԣ\Ed"PSfY kx삖[5GW ϑPoSC6tptEk1ϸm$Y `KYO4+)1}*I.髴Ɠd)kb.;y?퇚:YJhRi_1^(6F~Bns)$.MjuG< Lt bC[li$oǟ M;-E<+LGF)(~&v̜uOd⬈x)OYiK=7RQ2o'BT]nFwziIefRd(}ަ'0 ϳ[yD%jqũ3u|_3tN3MQ HH7\kg̀TeI4NJ-HoLL s4ƓwCP{d<<fh|nE<8}zc:0XgY8/Y}26{?T;>x+Ĭa 7݊c&GPEnӞg1YcvE1 |{ҧ+r`Zt_;>Dϒ؁̆@?kEbQa ,0 OL$\aV`\%:\Kt*7 >Ӎ!YXvh 2ơM gﺙ F Xp;utDc>7gmT9.HCl<\D) r|GSGXb\M]5,iD_yh=Ar F=s<$KxuMA 60>OmEQO,vN8cy\`@z}lSu9Tcv'Bgכ@KU[ >H8<휭i P5XAl7 ޝ0.ǷF~6n7k Kb|qx-%R{ǕW\3B2fkC5 Z-[ݹ{" a?V9-*#ɦWA3q>ycx+_Y!"Q@"9:fvb_ v ?9JgdsڹT+Y֪rr]\Npk]CQkqBa֍C"kSF~b='{CVq oPXUB2{πLoK|F_7T=#8XVzqq5&v,QKTm4܊CP]]M (wdTWbE$?0*VŻ(xS=0 z/e|*v>Lṭ _licZrd eƾq -r4k\ΓE)Pe<q;F8q!l#7c. Y[aqGt`\οI/J$=Ð?M+H'#_/o$'dqo]L,oΘCO>œAWij7ћ; ,`RD:T3{r%E̼𢓝 Ouwnoz ^QӋ'^()Z&ۿ(x;F~ 43w*UvvZRoq#97n3RUZzA_346U]26}~)mf{rnzJG.Yg&٤]L!,+DNBV;0,҇ fΐ ~-VOs;8953,_L 0NmBx g[ԢGcF5YL[`N QKZ{ZԫkzI6q{0Zy08iks/>Du&`FVgUq*1ʼn&UpZ}! $PQ [j%vJjP@{e D(yOe[yƴ`Pt{o&+#W?#_qO8ݭF0} Ј.3_K!uRx\SYTGFY~;}<HMR{2ϸkBC2(f-U+ 20bl(:{PHG*}7b~W _&,PMbg)05HࢷgY;?MXye~O( A&(\CQA+N>Q^,ΜHXz&sW2F5NK1ɶ5w` u>wZh -$;s,$~/JOc@PަaZMcb|Q˞cY0OP T}sҹӁb/f Xg$4Ӿ$`X+ `*t(A|+NEt]WzMo~wۺ:V͗Vo6ޘGb3Ub?p(l[#Z391>8%Έ/Sz\x prvȞX$n;pqGQH!̊̂}7>G[t}>,2B3nb0ڻ4MzX+ҩ+uZ!i|lb˚B'e(PbAAĪGTcӻQB9] `&E9M_3(E82 :uf8u4g8g2*98^t>Ħ'DuNȓ"{"|AA5,ɟtlXI093wXԔ~Lik-X@9PFĦڄuA ?flҘ̐X 7ޟG! -䀯q|znQʬIL@'_ Z8w0<&]N3 )wMԃrc^,C *yqTt֘ܞy+lQ^e[.;{M6(;\TA}gfػ@L`_rBS$@r2x"= H߈^p*>Aqmq\J0+Y,0wTV~L<Vj 5\qs#A,v^ybKU ͠.ë%vX/oѴVon7q 7ˮ' p*=?_Gkq'$s-5rrΆ]iB*rgwR\蚽IiZSq?-@>W-fbbx&uy*$E+{8[=\p}L;7̴!UofWTp ~#ʣaW뫊q%յj; GnSmDdV=R݋&&R>[1ᜫ&UnuѼ>k]nT}m(Ŝ5^#-:sL]hrmVA˳˙N ΁VCs;5ס0.vh吣! ãˏ{wnn,4Y=_:pCx6h(Tw,3 K"o0;8azMګem~<ĸ A_x`Bk˚Zb))|a:*ru`[·42䀾R9 P;JDTD'S&Hw]wd3{:[=Ϧe;ǟ3TwsO6 dNl6J?Cx]{ORq}YUK>(z68H@*.֐!'#2hNM7vf[ljMڅ'-"4ڱ~AtYNlT{-W6(2x9t=X6h)=ȴoߧYA)47zGT'zn+v{AO_4:G"OLm aY^&~ky$O|Z*ҽoz$`<$%BiāEcؗXb̛I}4fcUcm no->P )20GUeȫ$`Ykvof֗ZbB4* ֊,O=Ҝzwoq5р3AL4X ?R&]K}nS]yECʥY1/lE8}_Q+0} `Z tv!QvLZs 2>C>l#Es51b5k؆Fz< #,L~(^8UMD 0RmC߀m`OjK{eUY'= OD[9C8Ё()i8G4lz*LDG2Llį n𜄿P7m̙5fuj%ꋜMmL%6IWo`*cqmN^Qȷq!C#+Է;Arq(jEa}ƙܢ܎G%yvG@g]gu/D7q \z`w W5-x:;K'ӾJ:m쮴I<>+i`Dt1fӻSDDTQ 8V@8?fĀG-l\l5V1,>z3IemX3pAI Bmf`["TmDzʡf9€u@ fNT "6@4dY&gREf5+x]rϰUIiqp WlvSh * dq%u?%m-2 ݯIln{ q[`HiT_4Sr3՗[yrHhÄŦntcYlt@}5#bz5\N@Q `g?j0NyxL-Bs'Deq0g3ےXpϏ$LJe,`)8,1m ׸&Ej(0UV8O4%}d{JG$vUyFghL>»^鹋^ѦI4 ߭_g3l*c K\8l'< Ѳ'Go҉c?A4'BIz&bFS.>UoKݛkϜY4B ә KL9+#$L,3W ^dFdB2^Gx* "6$F0S#ub] ; ;t]m{~eʯJV;;_BAˈ.}h8-K5x5hЖqy+sܗN0Lo8СqB&I x `e\km`k^h_ƿmF˿U60;E` 2o7"RF粞 TXfQ\d'2ʎ30GqOҁڠ`U)f "y]8.jaehui0fY;E533OƦ4>v~gQljהr/"Wn' qh`<2/(OI ĊSZd- %'Л]w ;3țjqKmS>l 4_L&P$bS: @1ޤcMP[ӌ{vbɏ7ͥL*yHC|ɘ\ $#¼5Q鏌V sEE2I\ 3iUm2 HcXj 1I-Y (#է]0 AH}Yg*YV3=:ȿuZW~~?QWč1[ %FۺaX94Dfޑp \zRLMca\DC{ 1k9WVzQSې>>S5{(5LXONIہ5q\k MQtffa ɚݟPciX5dSVf/h9"$i<?xt6b"1Sâ xǤz.$pvg Fiy%:[}Κu昘Hѱ8 0zoX ](2=989.j?(0xs!0ZA9&@Hc)ԻIQwS) xd5a<EUN3(u.ڷTgb~Vl܍ ŏEX}/.Z,)gZ$oMD .[W{D?VjS2"0t"ORxXXeNeuITc/"8UÜrpᎲZ>mfn$WW__eWe=t" Og낖pSE8f[@u*()9Μb.Q`^Ttns`ӔR5[NA]&WUo_oÓrItqGÁۖlI獵ojլ˖7V~#hSby'@~ +RO|pQ,'Y4CݮaòfD2xŇAK|{Б`̌a.x.e]UΛl$"UJ rF>%ռt5E~ %$]!?34S"j6G~Μ(JITӟH8-!aJ’JxJF |Wq3vCls\԰ }mÉץ *\Ś0)tdKE 9'<pmp'Nzܠu?@Хߝ|ژ{೚v3 6$vSqA繉rX}Â5^RiYK3(( A@R/l-$W8`yIhQ7´.Jw.7T~'p# *2 "gG%ϰeSBǛvnxkdߵ(H$q]%S?L_ߝ6~h+(B' Xu?8^Hk%S`jb`` ̆3]u,e)3DЦ8%6E\Dd2i* {Ͳ-KA^^nE+dKZRhk@}s|2|AҝJdA0!8(]2%c>x9@ uD  k,Kq-e)ֱև<͞*!3HDβ}%OQx\L`C:. {nRO̿(p#QFWv ļi)NJ{sw~F-b A=99B^Xع /NqU[ָfBb'~C$ 1]$[jjRz Iz:.m n3jzx++LGiDFܜ'o Et`XD}7Q/{B ߒɉLۿźK5toBl Fd8 i"6 lLBe S726KsI )O#_D[YpvEy*eZ2kS&}y-Z7x`ĄAaGZ1XsŤ;&aP?SCI{cz?7V<-ә\r6A4NXC|%HcpY5(RASժJ_EKtaR 譀{?Fr\ "2[%6YN;. Ad2X#QغHMZ/f40yJAb\nB:9>`8xtp=)\1?#ɮHz7_{Yk_}Ũ3y f@ h >==f*t6H?Μ( *}G` vRZ ]#dwYKES4b/uvÀԊ^%[xwϻ ]ty}ڕV5FlZ%gH$COM1*c9Eqv2l<0U7-IqQzO8nTϕ QtrO6a,BOθ'p }@ykj[Y1#cRθGT26ŞtSOv48klL $E;|D;)Sf}OA *mf&qB[aݧ8,1h8Մ| ڍ4!j:΅a"<*bߐ4QpE鑀ʤQI)qolևUF<Ҭ[-r YoIMK"KSx׬V~3@Ӏ گs-:붠x+ʺaI qޱ)$l;y2ը:ӡȚ)y>B{׏{LBM3jr 0ʹ)(0e;-_pջ/^qoG[!n݂V qm%.S*^7 fwojǑY=cU}12]gL_c8+us Oj#) l4Őoq*qVנ[b؝t&574r T]pB@졥䛄l~'?T)d࿔w,\O2SOI)h)1AYG2mR= -" jPXf7^ty `^{Uu0XTHx ۉk\  I'L 㽯yp\N#Dᨩ#RgEX}Ad4&F~UF5`eG6D[$'Ѡ0v~;D+GJyj7VxK1\ U]Lji~m债!F aTW4P~M髜;=t)R(d@+ j-HN^,o~ U_K 2}8ais09ˮC@%b浾tiU6 SEZ*-8(ZGKs~^O"k.A_ٕкT+گVnjpk]gާ|Ⱥr0_K#O0C2.IjK `8I;8 NvUy4WP2)C O ,`̃}KNH^1@c2E)CEpZMͿ)Z>g 0K?ŤիEuʟT}@3wruO.c$ȝ5Ha&kW*~k$PՈ_Ch"~>JC^`e]?TU)㈠N֞>s|Ȼj&G¶9C]eU5īOm&Q F|Z떹ǼDFOHJŊ3ah}ޅ7NLygAa԰}uPA  Be2͞!i?"2tK|օI5)_!ІsQk-~af(=L9O;`m^#Bp;N j:#Ä=dĩ; zRp@P(m{xzXWp")/zot2Ls#M*0X%t8x8y E`rм# D7XŽ}y H@-g,Ana]cBZJ)-2t25Cr ĪG-D)lA J$} IIyϟ+[B)7YFl 8 5LӠd3rSpx^FZӘG:apq]p=p L3610!N'x i%6S+M>BG qo轗ēuJXORBn"d <<DUg|䙭O|>%qF #KkK7iY"1{ﵳv $!Y7_zNB_KϕNZ#m'5tQu .y.Kf~jLziX<*xq6e^iS+nhDK~ s'銿2NKn.j "S }K Yg8/J)c`!A>qed#=?(ڞK)/S_Ń_" "9"'|2VC^ }6s`_Ƙ6}f"dz"ZSvF]3zn&$uH Mb3C"hOizڒSGKO4dy~=?XTƜyCɡfGuo]_q>aRdp#3>!Sxww>S{ݦMg|JQ kc# 5YB@ =}XFA&P6& h,h Y+" c,c +l.yF-[2])QpPbIg% =ׄ;;mHXp$p 3^TgzRhl,'ʻ" 1qUx⛥P:|6^{b(IB͋T-f|JkAӓYrsj tr\o xqZm[9Y)]>oʪKzш.CX_`*7L[T/ sa^x_怱BKc~g*zNlA۷zzY?/?V_-)Up#zKt^੍:%Pq+(0`jΩ"㯚GR:o+)cǂKcz.ShGB$vX~;$K`pepvmAiƵ@ǽ:Lmʊ|>AG~Q,SKb2n[!O'57X)CXh/RKt= N}$TR,xwoՖfAK=řg=s‰H3k:[3;C@[7h8iB <wi}&v'p+ x D8< @뼎.D,v랶?$/3`pwOM}I wcq(ّ^HaKMhAQwLp uRiSȃ-ew'܆lXJus42'%#3C\揇_ /' s8H {_>q5TUBONXKKXH\7×nc 1;3bԤP %&ŶٕL}>v琩&?884^R:鋠{D0W(g3ɂfVZS@QWܫܼ7N.+MGEq)$E6p0E Yq$GeƢX^`"ge½eROakPZIhē{SV_(yb4x~xg$72bت8lDF-~,gj_&T$AR #0kėzD2 :aI`+!@̖ wC s#c#"ٶKYA0[=`Z[hۤ."RS2ݭSZMtS4pcu-p;ƪn[pG`K BQ{8e$h~&;}I;&7`]4 nlj2=E_=v,%H8 8\!R JH3k/ʨRѓ1;D_]&8k0u |K PJCUCuӏiw'.e2룫sU&3 )5dݻFl}j`o-~6+> X [VT[tqk6d,<`-HaZ2f#HUW0*_,#bgkF|GŸqvTwD`f) hfy)5'ϵಒ K'1dW^\%ӮPTaJ*g̦cLUeԏQe@a(Lsh:4:-:_[h# G <Ўl&ݷ`=,Y!8ɋ`-(L@6*`="B !IxM#J9 5 9 jءB>HEC- 4Tv7}J@dڶ Û{oȁ?3cS;C>+ѸjQW5DxDe1 iWJ1ͦ.M&jIA1u|[l(lD4OC "jwLV`Buuժ.3h-.yCBP p^7 {ɉDb2*t= _S:Q.:sfƗ85eZ)zSwQ豶B] ?)F,77f PƈG!j,cWzp> 6 9X˖}ZB~MǴ0'ݭV}1vJށ9TmNR ci|~CfgB/6xY fl Ćذ@^#Yn9[tv=7 g`JAA|oRF~DW2T)Fܡ2~gPǿkT>sGɫ#ư On'!b6x{,)5.fCp %T 6ϛ9]].@h)T﫵yB_ttR)jQ~4FO~/IZD ] dּ`)Is5 ? "t?D{qD{X; ~[7l Jlk4v.s2Xd6lun}F^jIhcUC?xPP %˥HDjv-1A]gnwC2Ym 82@]LIQf-qU_FsǀIh'+?㨈'=o[CDsmͨpZ)[Z$ё{}'{M"P٣$f: [4Kٴǰr $0f*zRp'>6:1gӶnѷ P5nD^]՜'8 RRjg1Obq|3UB*q꓃#']iË]2!3W5Mc.ԞA1l Pkb!0Ii1+P,ʔd{RhN`nOρx^BQC;;</Eͩ. F 4,?7wKU\ xT[}#$RT*%Xٴ*l¯%dN4)s]os[=2'ЕVP2@VHHoʙ]vh)fOi2z2Eϡ+9Eb5^q-τ#מF%8oI҇'f<<"yŨxEuAN NҠs叛Lx~, tLy),g~lyQVRɒASP+)⸏|=gs0W- 6e]LmluqY즐YȒ:*Y?0 2z\Dyhc`}B<t.<$z/_4lG}y6^FV[a#Z{]3ce]KkydwR~ y Y<Rr2|HnWR~r+\פM!t Z<KmrӃ\_CrPߑk+.Y累U:]k)$XDN7A<ݜ 4dcOB{5ὡq#0WO{t:/ʐ2m4]6XΠd8 L.Aި.с[+ gZz^{ \ tyKL$e uiKGʪC+zDzˠ@IiX|CX}`zDKYMz=om# pcȀ0I||D5v1Th3ܨ&pzutO]=$] t_vT#kbXY@Z#`CFtWv鈘w]f/?S8"Z18rţ|~\5gCdadRtﰊ"FSVedi%"C)q*Yrl6 TJ 8<,}Pa(L3E5K9 )F6)g~L~ux$6,Cd@Q;]Č %!oXՌcĽ!e$21!@eF,"O_Y*-C|ߒjzM%,bj.\eKqPn;Q iŋZ0Y*Rx.ceJ43i2dl*n9'qjwo##FIŗzy8|B똢Z'JUF 7b >B 3x9LwJ@4(鼉vÊk !Sb S I9n9``ޫ3. bI ~4 -{pzLn|-my9^$w# 2H{HE=xZ/t.EScG.90ͮѬWtJi'|ƬBtY7\񻢘6seSWTc%뷞$o7P,-YBK; b5ED7$tؓcn6mej=blY^3[ۼ=H60VEVLx>uW2&Dr3AO5Krwm |b,Mke:ފlGN`}TC ue/:p4i_RnWaO=}=ۑnN<ko-mƪKiHs0 W+ L1Բ*RlHyp'b]ۇ+y]D#;_#~OX9Gdx8Vaͽ#`Q@2a|xЌtS͏ԭ{5g]qu(I{[ytةMo7Gz(lD&xL e݃k̞o Hcޡ`=Ѩdh)%Z94])+ZgȼUǞXrGM5Z?% pŀPVZC FN|Dy4vJ٠޶WOAR]o4뿲1m"_ 3q̄;k O Wr`4BA *bI-'YI˙Mlx cɴmPiBT]GH.} |mQ%LFȁYY uea\Ũ \6`Z;'g,z&zp_&TI3//M)+ ?Mޯ 0(;ı.L'5M۽d]b~j\S[j&,a׮T~ƖLUr.m!-usF獰U 0)kbrFuYAwo?_.flvٶeղ)7ZrkXn EڼEM + LEڭQ.f>Og[kZOT~6($ۣjw+:P'vDUIlةPL $Fٱ!1iQXb\#[d5` ]G" , T;qx+ NW[,>_ezL7]te(f$D{aM<FFO{\j-3 {ͮM6oF('Ct5?Z)jI0)?:&D%2š-D3T\K%$擡2iŀS:#ɺEui5K)]S)Twl3F#KN&"#nB )lVu.Ir9F[RĎXNp@T;4h'LI HJ %Tp!xQ#͡L_Ar T!Kg 7-tX+xB"c^BSѲb:0_&6n2ˋ&Om[YHzv_6B8Z:z%]F;+X4y%Z+_ l{=|Yyʷl%|6WjUwq0nSChXeBȤ"vpA\N dTN0O0; Uk.#@wWcݿs##jW0`!+! gݰߝ%bW5+K;լlg^Jd%Aܺ`@zy86ǂ j0D>?;3X0j3j[#eVQۀA!ˊ^P= L쫲]5Viv\. 4WAU{<!,)a 񴘕#G4PT{"d;lhq*z2o*R4 ޙxTUϖu}K )yavS;>kUَXY`-r;Ӎ;ExM A\1.\ϔR`as'V8zZ}[^=QH,cүa~vr6CD|E S+1h3$a + 2xBrݓ߁$=T>BTa$H)= J!?e-2`:;@&t?4|u\yRΒYL"==`OqWdu=m`+ tWCZj SW* }:2y W[lrزwU7<U7aفuH0DowPƧ&83Ywst4R+}gsU&ѧ[EDX)w,"}U'E+|O[,~>˜9" mt4M`Rh22(~ZC_Z<+`If}FDmF` NwSbl-!fqLrL 7N{iV3-lLhޓ;i}e솋v՟uW3V2POѩ}.%6ʓz~6ǙŜG=+Dk.m)!@@ L\:ֶ4 P)1DeX>5'D!z_,.@.tVlVjz{K,Jg'+cĴ<ދ1^$$o/Zu./Ix= ϒp+lp[:Ѳi!]`ŗ$J͗ U}dIdr%]/>z-piYW砝 qV/أ3dBhy*iwyԐV56Ww Zu$;.Ov %VB]ڢ([{V=yG_r´ 1 hG<-;j.^t{$خ"fr \ޣ)0iB/ & Lߤ\n/SrQ^5ZK:Pf(q^AJx~׬Q9:$(+꜂RLPYx6562{_վOWnrһtśgQ4jrӕ@{O ?2hjSr *O"dLKV~Z3ҹt>P[.h$ABT{b`m˗^۲a,z/[9](5b6$Z/7{0b t!qo{Xf=g2CEz@@J.A%HS) plI[,e 9d(i*㶐жTM2xrHaưFd)Ǜ ;ׇB1+.R Ɔ]hKu:aC&~p&杖MB _yc_@nĮ:>S4$y7a׬^Kl :SeU>xtAޒOT,kH#DP7E|!}MʭmM?^^dEĪ&68xE#9CʊooYш Hzg$so Uv:5@~pdy{irC! G  ϋq{/7<-i p47ZmVFive͛ESy$e溭So}7vm}T; W]#. L"]"L;e&/ĭBz?Úl[ÄZQ*k',6EbkBVs,~Wƪ؉kK&kSHͱl?N3$Zq}G@z0;elV ?"4-BY|K)4@烬ǰ<(n{Iҙ-Rˆd9kaÕاnU+[<]]*pYDC4@Y*͎!#X~\r}'fDgaUs͠](Qwnm{(0C7hdÙO†(-R. SFLWq#UtRf%^ 8lnkh0uK;S@9 [AQdO}\XK|!3bReZ^_KBo"p3 3.QOoD#X[0;'0d͕' Z Lǻdf'Ɵ#~.hËoR0J~OM* KwнC_T?qiC- 1n52hGOR}3(,Ys4ֈԶaɈ*.@C̩Q' d5Ny 9dzj8_fAg@V a2h\tM-~u#:i̷\b0B԰|8D~'6;DpK^T7_d*ǟ 3H/T]#wgL >_z+>la9/mA^5K-B#\oݖRhMX n2 $A@B:c3t(T\ҦxM,!}#+B:;Jupb2JgHj (]AumC{\| RT_7P: 2goHV9 ŹF43&^ (W5Y Dֲ$M/~ rd.S>ֽC05FC96"6^kd'٩? i"LlD,Y$[ӈR6s 4(:,=k;0,O1BY/m|;A?ٮc[+z*5_J_΋=i99qD1:']J tc{áq>q"pdh3FLJ?\Dy#8YԒcsDst4d٘_}>ul#w+ҡ#VGL(% _\A<mi-UW=yRy59[{t H[lx@żC@bg:73t%9c#Th"ŖK~4KD{:) \ '+2D=Xx`u93a6U3rJHNnxltrW2c$a8,cJq#  olp{g^p֐x:^j.lMLNR"*<bv"RkKʬ_g/LW_ƘlHj`0xA+Dz}ücR̓# 7*5xjg:ږ>YW奃3WߙT|i)*>M7 &E5ޮqfӍE ҇ėAfU k47Wаl 3L ҽۦWXfl=_wp39X8jZ~@~=ĄSٞ;l?e~&/b8#wBXt݄[G!J1H9E;j'FT=#r+C] X0gёrA'X1ΗI֟nx՞Pd^ Q^]/JK-oӽO *mz" tsTE/zH(0Svѯj 0[pSh;Z|1sJ yؾ>DWQN~_@ +=P.6W~]B묙QI&Yτ* }I΍GvD;g[iW^%:5- !U}[VR%OGmc[JLP#0Jt,l 0Ŷ?0Ji53?[b*l>6~.Щs0L/Yl\5PzI  n2OTS_dLD,hs{+0ct (-1qQbI+h<-2$r_5 'f?VKzj6yNɣϻf83/'uP^7> ]f9\`[sv]xjuK9+L)(k jiTNQRqD⥲$2,`p޽а<2(DZbN;!|dxjUm,`AscR(R愳jJe% 02pY4ų:k=땡aˇWKa,a)Fǥª+>Ь{fyeձWfqeaU܋46 oIFpaqW#q7 J0DZĚp9A'_GLr`MCΏjҦZfh#b4GۙM8|KӶ$UVe{e .n6ZҲh)y\8"ooBYqtO`9c6HtNH-މH/IcFlJ$w{f?}'^hwQpi*_  뫺\&>\tԛ1 a;g" I58@CUGO>_-h#ԏw;K,.Ëۺ4asYT!XlS"vgL>Wg*q2 ~~vgUKNˁ҇?gGA+AAp/H `ߺL~f'TCt}nyDM S߀b:p@o`/*ya%oLd0G;!~zLi~#7CBy{`"7R?M }.:cRު^d^0]$_2wfLk-{[X{.e`z;TX[&9? /g3C/caMk:gI>\̫f+L{N{âld!o@S#jySlXyzc4 oէA~8&gv*2VǕb:qFiePzf zA~d@J52p{\2OdF%p ~=u0W=s6۫èu׷/VוxHk"߬nMAc7++"i {1I|<ܤ)櫛 sDxATPߟh:r({1lƀ>F*- W*@)>({ *i}r-C'|?fŎyNF% :L[&歂v"Bˇ^mW,o8S.4H\xuUqͥl T_`v+!O.=F,Un#Y_+.&s9{ $7;VoL}O:Y6O  tQ9Ds(|.z-@uDaΥ9-a6grtʪm(,Kb3mZaE Jt#GU<&53 ?4N@2W =GbXpX 36_l0Sy -swg2&$tmVi̠=Ph*ܯ,L\Ra3Bj?n_&Eӂ(~;D* ݏhFPGC78Ro8 =6a+ gD=4zyY:;b醜z"Z"O)^P8;҂XMgfgg-1X]Ev (Tn}7e<8ξ'M678k6$G0xCjZjx+@3}ˇo9AdZ1{'PQNbعTElF7I/ӺLWäd1cVpJLi8=P9O;LX -\$о J#yJ/zSmZZ ۍ[qurb5F2Ao86&R z/` /q% 5 40 VdY2V7u=` /FKX cNn2S8P蟐\cNL~I &t洲ZeĀ=nSQ#fUI^lydT 蛭hP D/tEUyxr9rXS}e>&vWA"E,+!v-\~r#TNJљ`? #36n4annh EfNdJD<:lYbWأZpo|EnRZ`;M+THv9g2oǹ~OTJ~L's\^!?.u0=A.\ŵ$L ЪץDvD>BjϿZM͎&:vBD_MMf:Y'f@pNRW6ݑ'SNZ=\O'^'/QS< `9C?cQdx Ӈ(s(Q[dFP Pl66=h/)`ejD݌ ˾V:'.gvA3a k FvyW|Ühh1,01 7n;eȔdتM_efq$Ǩ0H'DE%?yє, @@돶QZ:Nk`55>G8QX N4#&E_Y'N'/MfZTg?C(BAT1$`Ym[#L{J{Sy¤%_e !]λ4c{[e٤MдA7Wpq+V1 i7na(A@+2+-Znݻ]󰒎t״Qokf}JKSB=ߤylE1 P'kЁ_((%V)II-n +&^.=܀@%gWd;Xu5bߣBhti E}AcMwXП_?#KGsXT(dſnl -޻GJ^D $Ǡ__$?f, eWE69P"*z06QmK7̀n7j]5Sޥ2l6lv-3QJƾo|FK=~t0->rvB,Ww? =MesEyǣVj-VaXý23oiX%2H<Rr2  -suv| Lv:=u83`Evf6;gX-M2ʹFԆZ+N[bhvH9f';q=u-Pظz>%0_V\zCV+V|xazkf;).M>wADK`QxqaHl(yHsa~^07(;p ơOK0 [I}pWXE^錣d1)K r q9 A\rȨ+)/#ɏz\k#?z'+hVQS`{De=vtڎ Tއ5f(#fe,IbrVlmB~Mg+ل:u=z07upx%lҝP\ݷJ\kRo:ڦ)MkڹbB>w v~XgU\ "Hh6|kGE3RI|q<zy'sŖ}p=Vy3q!1|l6W ١&s6\m,,WVn?tYK5aIX z%fd>'CCy!.y|R{5ȏxtlxZgdBV@8EMy{wU4LOQFnLnQsWAnz9hhF9\.ah&18E1$s` TG::ruD0ˌw ?s(/M MBB$,RFVίOS^5"lPVV恵="P=D㫵FrB߈j ]0F{Fϲ&be$QaU3QDV8>‡uDnԬ7.}V28a4>D}2,esqBe^eE4> f(H=b9_S^4q0zGJL<$'b4Oa3 ./R,G4d&"J%2L/+Gtz(cӈD?aZ z, \ƼldEj?o/U8mh6 DSy`/e)4XG}H,KQL[T,qh{xݝ6B6a2zqO o޺՟=鋪[KtY_$&8A(cur\s E8Can٦%y#T3'TWpց@J{)+|{{gz $z3A8]) "!HCC][wO툮y$Bf#>nF۩TNdJgˠ~3]YЇuD+ PCs[XԽDN I/OhНp| #СJt*g}pOk"\Ėkc1>9g<UbǸVklgg SNpRU(iڍJ[Ŧm\rp1BbZ*tj8I7pgZ[U2QP׸Jb3V=B&>~NX՚%Z24sP]N/EU%b?$QjjcK=puAU4Ȇ 'Ư'7 ?"HIIǣX)?f_ʸŤR''nNÜ=C%!(IDդ𿄊ө yvp3egzq S|'sW*ۡ[əl@M˫Czi,mYMKNq=4އ* ٙ=`UE18~|*U!K> M"#Z贚 ` 9ꞪChwxmznVj&@Zl4矷:קPvN]q8y@+܅.LW-%HkC?9gnw&ą@D S( Y-!uzRsZbJ (؛f!࡭4 ~wYl5hdq&Lca36t}<9ɑ!/$A /ɣuk -{XIfqF3]e4xpz5xOnlfAd9DHmvC 6mws$RK8}Ad?>IFHIQN%6:C+Z̗Ӫ󧗷R6 ؊6  0|,#XUϘEզ>p4F6OQuʪH3L] "$/ ug{2H8푛B^1.:zPzàqv #m#]hKB>q>~NVlRqxOAjB a\nt ͒$r@0g]yӄPϓXNО{@=Q $j՞tvM|:k*d^L9~wONÀAxXI,#O<Z6,ϻ%F/~&ZX#brz;~lP# (،}j<;AzZm(&fuwIHVo{~׏x\Jhz}B*\ _p!hC!Z>@ݕO 4,WMNORaD?Fp5_/;NY_̒.C6"ՋAV۬)Hq6ˤJ+} ²7Sjߣ *St1~X؛푷l~ p? )>>sڶ́YDK:EM~Hװot`׉QQ`f]АZ3HU/qi:qYE%./UEAMubLTٷSJ$\H%e!9BE\˳b2t3m<;ufAl+#RG d%u1v9sǽžD%ADG 9{slM*ť (+!ocۍ*T'=8J<-ֽWbs]I\pGGW3D[tlM]SᱥFTFnobMc2TR**%.@IvpMa۽mj3۔+E~s ? &fеS{#筆䚆)@pHqNW[FN :Qg̀Iދ(֞e_˨OlӳT8*, H0lGs M۠i<}oR>0fq( ˢXhfN|S~p XԷs,*|q>Vu$+ 3k0PNrm$겝rYA&pNrѶBFA,5sUR)ůvz0 Cw6Q/Lzs*7QA8 )}P' Z<Cm8 䈎 ]y:<($nb&Ya#g`0UDY2 v)*zFMFպ5U>]9AO9~?h?u2s"iD#Zc(S{U{DZLLhiv=2$ϫ{'Tz X?(d,ke ji"_ 4!7p\p5XrBaI8|Lx~B ^Y+Yί  ienԭd1j[OsDEEELSp;>3;Pڐ:9>1BŕM,UN0hـ nk2X8Sm ʩ. 4"l>m[Mo=S 4gY[Q'йn#G$щOӑΡKu>%,v$,E6߰cL)G+rj-L;VA w{ȻjIbOr c:`uߌc>&lb]%/[*ap(B\q٥Kc9reSbv7p)zU$т`);d5!ePp`D"I3ސ'$ñ5@1(5gG<ЄLH)N~|JaF Mp[U_;ۋ7%>&=mA^ktt!I2^MtdP~0g#_yڮy^U&α XY!^CeEzUtB6*[ 8H:k#`N{P1sr`{jk'`*nD?փA?^)5Jc?k-)wD/'}YiX3$a_Is*ͣ5lDtRTL׍/߄aT.i*O=3C)C@`/ι=蹬vTK;CGX,-DI#rl_NĬ-Fu"Ggv}ûn`Ie+Ȉ{ATfH-M: a[#o2nSƛ.l2V6a4Hoj\C} C]!J+oN([q9d+zе;,.{xr #0Zm6u3eJ&Upms$kfuG(z "DOhӒSzo ]6A: E %6uY9R;“bXW,cњTH"w$\S_M4Fś$7W&%U1khG<=n D:JdBc@WmHDYֻ{n[ڲ{'fa3Z/:W90W(Pr 9؏D̸N[CFՍUFxI/6Hu6YG)Fhze!q֮)#\ܦ؝:P9ޡ& Pg߇i=fLNVy}q\6Se-KdY.\d*媤=srQ9pSf ZLmǣe߆m#E^_0j )<%n6K覎 Bd}Gm5BޣpwMPTio.w ~|lR-ˢkɭggM>l١ܟgɆ‘_-9KW >KO]s6 K#TKy鳆(wApP ?&mXQ[hPZVR n|z*흟zmJv31]|[0tbR\dq[ biEe>K4N?=9 E[9JZ*&D<9jFG|QLJ'K;ح"]DE;n}aMڴN"4suSv%ܱ>*AL#,6GX†]Ԟ) Hѫ+b.G&kla=ij=._G!ef%Z~aQ/V^vNBmT'A^ZnkAMLt/MzwcPFG4?ԡp ߧr>`;/6MZxfl CĔ=L+bу\s+9ebOj"zINlhG>!Q Yv. S즯H%zY)YAP},Ng q#O:$}hKEC \/N<>>Ds"$oF} ;^% GdzO7Od))D5j$VA%QX%bd/\wJ~Ip݀7`l|4΅\Q=+$/9=>f,=~ nA~xRnzǏV_G"dfbͮfiCR!߲4ԏvg@5V\U{dje#Thch#lx-;S!Y[zc޻Y ?zfi'Ezbੳb2eEFC & l#|,#gБ`[yùGǧJbehhB|#R3AK%JZ5mCjæIb2?-<$* "O{=Jԥ8Rt UL,v[_ NݗK\K<[G9b/!V>{SR65}L%ܣ PΩړKoB`A`KC#pѝ:-}]$`q?yG4TS_NVj+xuQssP}^: ;$KiWUoOՋjQ@!aui O(?mUu+ʜJT] P)utw+  *]&ˎ"!GfR^VA '`Rh,C~ s4Hʾ饫d0\-Fwx~#(@96iIV`PYŨ^s}^Z-vr39LPʹ,V"Z3+>DyCN.G_wU^{5U&F1׬&rNkl&I2ۧjxnqaF+V1I3=$>ORDrIēf'e)he(Mq]_m|i/ dMaW?lKl.j7-5#m-̷%Ed={"LU?F @d46٢ќۼB!ǵ!s,w ?,)z<{VIv0F \K,ﵯ+ٱE%pK Jl?Y+DӲhi+Hz9`- BS*yZ&;W{ uPӸxVf;m'V"[%Eunt|#I(bi<)~0< Rn0cQ_TLIS`Gߘ%:bԤ]`lK>ijP_^w_RJsѤ$JlaѾ غ!R@DUÞF7D{YZ|{8 t|ήBiVßgbآz:A3]gE7P !j.@ix}iq0lA+s<Mf][n(tV_"Cz,!&N3QD ?,u5ƥ`aY:"5&)&o4E37o3%Rfb8Atj[ _LJ׻{݇l[WB2DbtňnuxN=l7AV7wFXaf8-% jXr"TuʽeN,&f"'Tc~ 0?MWh t|U-Ua .k 25P޲ᣦy7#},m'y39h@z7!S3@T ',oMp e_G+0}#TS18d#U,t]p~<0rlfYG&Ihu4"K\Ikx6ftGJF7F!Cn\#7FiL~7K'R8>>;uÏWsSW5?Ft2Buy`o_~dܾ}Tu&_(865fUnA_2{J_%O~d,v/EDYnɈpZ^d563yZR7. #h@-M!3qq;H>7 g9ŝGbulVӖHR^pD UI rѠ$azylJ?#服}?@X{M% (M9l!j&,M\%1YoG' $wEWxs sI8,n6k˜9k8Nd.$o&FʟUG*p0#=Êyu2jbǏ!0@ E5։8Oc{q3i59٧nT!4yz 2UD7++4'>t-%-%'ܶlc1N.@fOFS u_NXuak;vUMLHuG(.I|m b"el-u4?}veAQ^=yhc\MGTҵj j kf|Wf_?K&jO8 Y ^`%Pj,idȇ2?һuŌ=2ɞ6!+Ao1 >ӯaQ w8Qrf mN(IIcßBAP:?9Z^VI̸$US eWҵ̃M^b-i*"Uxi6ScU_H j/GXFHQ7*ʜ-I`viY(;EM.Iy-wߞ9 Ew/zt[s0A 8Sc 8Ʌ^dۇRN $ۺ_J ~rm]x/*g s˺.'&p׬<DNsZa%\P{`\Y 5HnFbCA3oԌ.q˓f0Ѹ_"Ơ]D3)X(0&%/y&M @9^*23[R~P7~^0Fuf#(>Fg;qHkxrLv~o6uJü7O\ePS/[ >׺xtᴝ` 44)&@C JEagmNQƓ*sT~Ls7ka*PEqܠb;Ӛ{9`[h\7ki!p5hT{fsN]MYfOE&qHJ_ 6!&hż s*Pu0WkD{jrsj]v>]D4EG~:082yOzzS8Ȁ~rp[F,ZocBsy^!dP(4k]du˻?xs }qf+#ӑyv)dSrJsxf%Iܭ2Tj9AC0nJt>nhN1y~d}xap]|fNYmMo#y)3 d(g}E$u"aYuQu1m,`Xdu\ )gTpr즶Jm{Pra rU I ]iS}\_w[5iXU'8b_E 5Fh+PIcn6'xb!+=63TwP4̟qo乮C+tćv'3ʱ/7ayq==FD(oLٲ:#Meq O ~ofąpUUfdFLh6 "d{eԐndx}cгOp@\Ns)C /n;p@%4pz7q-bP]A[(3KeTVe7yeK J&*WH, ŊHLOBn"*X|i@:JfmWv5XyّCxbBSѹcy"_ ϜEɔKvD93ApόwHYC){6AۮG[;͏i/|vEFz _]hT?32؇dsl9:9'm(h:׎bpi+ɜƸ#L=]X ƍp\@E}2I9,v%t۱vbyQJVGv!Zž:Zת o3h~ UՒ!;sْ 38"3oBosID&zee1\/kE9AOȞ ؁7 QL08#νh3vad ͹Q>/ob#5z;ᨀ]/c6-FXmt\牬hMP]9oWq\fh bij 567w,K΋/2: )67VfnL(xcWes3h"{Q3昗l,n폇Z`jRU8LY JoIqǸsf2Ӹukظָ1ɵY^*'Ig- ,֒wmdw%ڊK%،-Vᐧ9tK&7vRʰo ,{!6NTӻ2귭ovԕLIZ2HkN -_ ۙ$G)Wn.)ER3Mg \˳\A] H1*ZBɒ%yh8`<%ٙNZ}Z%M1_#w@. h?l'vpȍo+-9'1G#P{n]l:W¯cPN~jTcQ0kd/H߳?H[m\寉5X#|_,K{qwFt_ZA?o$cT={cûk:-"_QxmVA[SzI)'z' w|PBP'f ÂPL|VS!P#҄b /n@gQΨNݶ^C~wqw̵?q¤TӀRI~I!,L?!SЏ¾N'.iixҵ  EDvڀH́Z)|m#C "|aGMuѥUC=Ò j\L S&3*V{^4;jg>5QwUO*{qIEy^{M.rITQ70lкURsoAri'˨˾'7Ab/8`jjΤ(SOO60R!|9| D+5)SH }A lxGT5T#Ҽ-)) $2,,h㴈(3KH'\qW]f:{:xFikXf+Ð nV1 hxaٞ mY{| ̸~/Ē ,\}H%0Bɋ~}CLmz &u;xG-*\ NFmﻍd]XiT秥(ehsa_' X*ЎiB] M6}>AtMVP[[yX]]TvK !wĚNƠHh-:)792զ܊Y1uU5ظ _1z#PО%PQ3ܻ \z@NEsD_eA",//'VsR@[ߟMxOQ VNs(muq|Af4l+S{ ޑ HZyx,I2) ;zwWP6<)$ %f|av<gh%'|o)1ܟf_dg ~*`ƣ~VÂCQ9>Fl:Ⱥ.Ƽ>j'!Iն)2l9v7^ĀU1z8'P$eHAcTLzp1Hi8]e\Sy(ulKX3EE~mP`W*4OW f^[*D^y|*5%pw]:m_لvek3ɇJ.6|!p} 7O JwEL:q15Φ*E>_$s)dwHd:KR9>%=g]iRۏo 0vQRHIOة +SWoTxյmgȇx혿1Z",78Lлu!&ou2b:-#4{{2AHԌ9`uMSW.,؄h5Q6Tր1GQ!6sowљC9A\«g/PTp䴫Hq1OP!H|!L}~y:LC*0YBKG])˹LO2r, 7ہ3?uj{P^&3܈@S_,X z-;T%Vw`)K+{?lrbvX 5`mU*JO-fJE#H^?WPO?Lm|^g3LZ?&I.:R5Ђ;|m'T%4햱 3,#Drc}=1{cxc1G6nfɬr=Bq"Afݬ܋KE}kR gg""H3#x%ёzM h1Ѓnj4#@V)aR1ewStRܘzMc['^'<!;,YyXҷSrK?Ga W)y0^U(5/@zzA/|&7:Ok-:LoHVvH,[oB{p\'?* rjR$ylb)}.>`tg~5"-KQq-_^X=LBzP(a-RskyD&{|]A,v+,-ܤL_V[شE=:dZzv܄a-Z&тVy1 sShe_O! x@e ᮍ7Nn{hmɲNϨMKz.j&'ȒSA$FWIWmMJӢ7UK.۝}(-Мn>$Sr&T5Е9xc.6eGK@ wIdVE8H9&"SR6 ߟ τ5Uq;Rb-BnV"/WJK2gID@)SEKc`Fg mk(~N> !LC 7vv)}y>Eg@\i=*Qp94t%H:JMT@kR޸ Ne:ޏhpma)e̅DLuD"Pw _d!8Xiq[;vMMM #JDuR.yN΢@$&s!!sEWqhBQ-M;?kv^  kڸ9H&?߹?E\BDk(tgE`AӔ]|b;WiKC]$`G1|hcEhB5\6Mn@Ē8ۼEb8K`PhƤ'T)21rB10Bo  A@&7ÎB U55 Q]4{~\7̳&!C1187‘0o;F\Sme d@PJDxCs\ё[{~6ʴB''RIxC交ڝY(p&I#)y< B;S$=:PA2NMJ5 xekΝsryHMJ\6=&9:b`Y8n1#o,kD=(]a/Fn dH( Gu'ʉx@m&< @uo =8@&`!Iƾ`* }ߕًQ@u9==2t/300ة%u6S Tf3ϥ9ҬFD*"1q>};)1x* %!Cc_(Rӧ@<0Ԣ#Ӆ** *id@Q}U&<$؎柈p(eԼFlhڷ-8?8Y׉Gmx޷)k ]{Lk#:m):: I0J'V"`V;ۋ7nOg6.(cH`='rq||. Du^%iV/i6l+t8p7CۃTxhz[20Ec>GIIUKq%)<,'c -f/c5;Ni[֎|KVah;fJxXp){KHoA9 gtk0Utfm}ee?ݼ'=ar iP ,R6>J]B-p{bD9`y/s֛U5R]?Kkq7_sqGl&_;A}8Wmm7LMVaAUؗHف4b=4)Ú΢> 8MXZSDDm&SzlVyaANd,nf r 8b dq#I~ioS1pqlGjQ15DTI}tnKO.k~()$- 9 5)%t+t65[T>Zz`-5U!>GofYѿ]@ ?7.RxvN^:D#x?܎FC!BR $HP#,9={}٥rż3>g-#;ST_D\)x}^S‰HPɤݼ0kま" OQn ml%JLz+wt4+!0>@&/%gVX!m*R0pSZ7;<+|I^_fe"cES"-6=<,YX^ j? F}xC ~HcpN1MT:Ⱦr&Lۑ˗kn QȞC|5 kGU|$ݛf۲9[Lb,]e* ~jkF]{r~|EtB;Ot#AUMPvճLhˤD'o4-n.=lJ4fcCf1IK; O)E(=FݙXM#?i]s};1h^RG63> icI3x${i$9t0}SBz.f0g;tG"062sqm#@| . *aYdUWh W(`)C$~\L}l:gԾ٥-+(%+dl|18(#t;52v"awS);E&05~ 6ɗ>"D~t: Vg8mZ^aRLg!AXMfӸGR 63]ڹ(/OuHk1PZ',R#H ѹĊ(b> ތ"z aZUmbf Ups#UjI~8;D]dI1R.ޅ˦|5^ 3 utq[Sr2 {q4J߭Ӵ'O@;,a B&Rw;n䟴c cQi/WzSd X-- qsR+Vb+^|nBk?y?@~P%8j̇E9'{"Ѥ( P7$XM$}r!\ 6`:[$b݈07;R @UL7x$ي'ŵNX^. ݛB01\azލѢEh=`5X?~\kY{+ vw)ZBkVH%gۚL-`Do9]$-=p;h\Ec.UHNyjr[HP2+( .=%- fRFCH#|f1XL*3GCvaqe+0GWYR0t m\60[e_n`#@?WeZƱ ]C:/4֗R$2-' /+CO8saWڴ9MgR4c?taf}iț9y;w&%I9O&4vTGg T L;LxH]w`W|3=l^cdM7\$~*| ݐ~_Od7>}aJe=-*{]`jt+E] *ߐ2;15&@{"Վ妓ZA ݮӓdUH7|p߽kmQcc@ٰ) Xy] Y)s$Fn{l;pؚ%}TR%n| AMb?s+݊q`+ϳ&W(Mx+""Ps>AM쪽vd_l5u{m\BG0JExȺXʋ-r(ٜwe=z5AOwY˟pv jv]0^\KE67oA4$(! /A p>u 6`|4y%jw>&Q|M`Mavß )U8$vU\h'@V‡7: J>׳='FJ(niC.\/ȔsbĪ2Y~}eYlI \<"P,MHݦX3ŧ ŲaeĮaځZ~dJW,f+Ē}hEl3q=#*O3y+g3Bs$ |duJo6;\t(S*!c Aƙ ;V=[+G;Q>d4vAx)e כ <_swo}J)C/bb`S0nT_S=aohȁuw>us֏Dʣ3Nٌ̎)*GubU(_Dodtzhqy3M=D`?̚nם6&wo}=?SpA<0^B OկftIM Q^@v#ElJh"ma"<V9!u@_vs{.74(ڦήpTV#Vg @+{>*Cx d KFwu(<0uHMe5*JrBpPj\Jbtσkpk f݇rri:2,y͗q/w(0z^iΧ81\8u!fhq"J\sh`'ϷFtFK2 tSLByp,EMh]+?MXa,;~#ji:V4w 5^ȶX(,:ܪ$AؑDt(~PGo@RnjdlK~jnjf{bdȷZHxrmZ[ς&40qbSD٨-tFiUgz%dm#'~TYUpɎ~|zWISw|0G:LcER&('-vƔ=5ZEׯu 0&"~×LO\~;߀a<@ },1.=K㜕`Lpλ]4wX>OGO gP,mΥLS]$ z72(ƷsoL@sDv5MlttsGc4b_J\8KbH2ͽ@gB_Qg`h3X80Aʊ#8/H^<N^(jVYc)Љnnv3S_)ȪDyZ~Z 'hPmlrU7;!=`}Gt%_&kVz)*TKbGγu"n^q o,*L+Wq;j jqniu@W[˝d< N5F~3~$y.SmP`a=򌱪, Bg]Bs26q@wwF#`/ЄnM 'H_o% Y~@%(tG?k&%e^{ni>]i3]=SvH5g\w!-Rnz> K6`k}c4)y=|z @!ZprUc4-W0b:8EȌ$8:4Wi)?-(C(OV2iN`RܰNa{5iW1ægu|)dwa38Pʽi২{>.q(wYUUs9fnVHkGfX@9rkrӣ 7biJrcۢ/!c\+&,}CV2̼ ktay:7xêO7ݶb12lK*\R?Z$Q4> [K4 bQkCrT{n[NXgN"4X)d[d9油 P&Qn6 u1P/I 495/\g- +OQE zdcKKݢCYi3J>_2Ҧvn3 8x^]>uOЇtPz Pd)>?B!aK9I&P,>:(90[Mc[SS (?Vg| -6ruZ Ep1cxbR opPk{~M,2lMDDY JH6T[hZJC 'D%/+`1qʻf)oر= s;e30;Ji}#=/M6iӼ1sV>ish6y\?>U! 1U(&vo+i%xjsН!GUBEfre_NDp~!.uW*Sy]=36Ƅ-.1+bYuͦ aYm"066D1I$Dw;i)fh){W|Ugf{4.ָiB)?'Kv {EӸ+n&0UTE+w % CdШv?sw+%ĺ}Md?uj9jԛD/uj1,zEg!t|Xp;uI\&'H拗i2O?hDdc0VU_ {YBzO ؉IںIlsC!V!^jtL:(f:r ݐ|5{5JsMt8 6n(p^ʉ=Tr9^ ֧(o o/ kN@1{l]CyP<$:KffтTvb9m?0,U'^{0y)rTv0tDNFгcsdyF>X=2 +Nc )VzR(P+fûi2JShprv3X} |>k .wQK `}2psA\cv F$YkV.GӬn+ŽAH(%QJe`?O=`FO.ŶMxOQ5(ƮwȸpOg{P_&A1Ç;ȇ,Q%34q 8Sl=3ѥз#N OxQٳ+d,jXڜdo*?qpbav1wKsqNqe*5j bcxjH#ϚWhv֌كHK_^i}K$}:.crlH;YZ,ؤCXUAg=#`_4/"p9I:,o_Dʸr-Smٟ U&̚ oh>YPɄV>5"-x,E79}*3_^˔S+p|CPr !3:Rv~#{O80r|bBUa'u6._C}`KCsa\sJPSMewKj^7.ń-+-~ib5rJlTM(s54V$h3Y8-heY7إgy$$KA 7B/e2%鹃z\{OWd/AFIW;4C vC;<3N(X]c3P0O̅B,n{vhj"0i^ w4ܱdܰ{6k^~' Σ #ݏa$-~`paIM*ϡeRc+n{Jd,сFk'3'`6Cm\9aIRBzha ^X~~.}>z:?5Cx%*&#sn}-iZmB)EԲvmB`mzFQJ* ;_c ks?JtݥaLJ5hsv2LH Ë(~'gg2?4b|F{,Xn^1(z%p]-sBcC+Hr.-o^-98YT=C2F/4QDITjcH$TDouGKeH= ŏyYTafib73q}D]]  |rr/i_&MV@^߁'WX}i R3 83hG;ة#Lڀm]T_%ɤ. .̌vt \:|5(56X❬$W]:虺x,,Lk)P7:& X1˄j.;Fͫ5;ssa{Vȴti2S}ůGt!FQYPưlCaaYhv,,t+N ~I 67 ˃& ? _ãgu܆.%-DյG=$G8͜ԏϟZd-~DxiV,u!9u Ka*mo?Aafq? T3]aŵ%o4I Gv9s-H~kggGU4j"(xQhp=I}I, H~",7y)F߬j*L+G<+OpDoEAviVz.Ĝ M.Rs5gOH@\Y%6BE,4 \vxBe^wo_߁WkAc[ut),,V~巋Y)TTRUSQy@ۓ[ML) W`2r#Ыh59՚T@loq/X|&#[eRCGqؕi#*T53*mɦwc{fbW:LEd5t5MN|"NEҰULT/S|[ g؃ZueI4Fj>Om4Ѹq`#T$<+9˓#-\y)~6J (N hդϰ*9?w\b]- mFabC4a}1JZf̈&`0I(Y۞9xp $Ķ4Up)>8Dg/dwie33! eLH5枲`;'(=(k>x_*}Vid5LPwzB˰@rx6R: hf@1 Gs,Jj{fUE>?_-fDP|9b[Y R*( &zwmvDWʞd1mEչFFN\`)@;U&V(_X$H{@P35_/)tqZ[XF6ӧN.JNlJ\߲'$jER3u7p"vfي hB᥌Y4C}"CuW cٖH;?k4\J=#\`/}Ui#z,';PMU=ό`w"%5}T%ں^emx'I\&$IZ_ْ,M o> os\qr÷/g֗@1oSM# üϩoaRvߪR(h02g#:.7|GTTM~B}ןWOQ)$]GԮݟ((q㞀FABf4x5-:\*I E2_(6- <-3o+/rEKLH}![d]2H\.2cL@xD+7URH(*+οw[dG 9[-dHXJpq{fLF~J~U!K~h ̬AtƉbݨOD^rUҿkF#jrKRG0d!s!~e%ߜr/7nN̢rfHh0b?}KU*əL] D#KBfO(YQv;Zj+2gEa%fkA[~k; nJ1 ϙOr8UV5'lxuz˗mOV2JZ \ueUxi&pmtCz`2ǐm ؤAᬍFpyH! xdG[{7L+;ĝ=bezku' w)،êbd?1'2yэ5$ ׆Gz2*"d\#6ZE$ՖzK#OY7#<^Uja ݁e3ɘTo p`y=%rFeR_R@$M&g[> T4qꋹXZF{,|T^\HzHW{/?S~p 3P hQ08? ~sQѶKN_wGJkwZ@ D,rnwF~*FfyJL S7, 91xk$B.+QNދ$I~s߿:ޗH|rHҫ#.GԈ;ni̮XNIÖL8aP_r})S!4jVW_V+szT|U%E3ӺoOig$D]t,*&QLQ[ #`{8A-B oCskc\>'$_~! @BFK:aʜ#2C}-]s~D"7?\/8"{~#t YHdK=F 7z82TQV@t nOqAmrZw'!)䨢FoMJKcX$~S b: $CxXl+M 9#OEhVgz&/ݯӧ$6 xn#+{9 ]rz 7V>6|a02- L2G8lrW4yw8Kz!d.Ag*jrRDXiUt4%)QpZTsuMr6ӖDR]Z#KB׉.y_tUO :1O֚ w<v)pG4څQ7g=A/Q5x M VtU jO )n5ikL6ѳ6l{Nn~Tv}<<`TKд R)7S_OwKz+6f?v[k)Qmj M.dNDq}&-V-un7Dc:9AH}SA %ت@O`x %+`U0kMjC2&Qg}V׎Z@9bWXׂ*%9(3sJ'Q7yђ(^Pg/A,K`iY*Yj/I#apCFjo{, Qw(K6w#-ibzv k=fqJ}9 G#^$ 8? ~ΏTEYaClz;Z@< g RSLM٩MI[1P5N L*cIFw->Mmdg֦{7jn}w3{k1m',"AbhO ~ߩ_)s18v*̂P4#"MYS*f_! ܈nx ΚVb馍~ś{SZ@ b˄CK|`$y8nP.͡5'۰rη^Z8e}$U'eJSNJZ׻X4cH)&uΉyd; ~R?25tRa*}[+N`"{-qU}J:`3~BX)%Y`72:ēX?|.]&7_AC)f!6P""c*YO >}yIXAIcj+#ѐNTA_~XS_SE8ͫM~ .7䊘3p$3"ʣo1h5]  WtƕS6-gFqd(/e[a>'vOA#Ri=t :G*1~Y\9 7xG5v|>陊m:A>\s:̇O~ Icd̛'b +ڳ+;F[ɲT`S"XCp܌wbviyt0o|?k]Bo3NWh&ku7ƠJa.g+JC/47?&FKiE UZa-m°Ҩ@7% +ȍzXU~y22?%Ug&?H\G13tfC!b .gKoDݾtƼR20C_q/mHleȞ ȂbYTlsm.uoFir BG+%$Eݼ+yBT_[.pCmrH1ᐖg-U] F++)W 7#*P=]P2G)b1JmDgZek5HyjY5uaApGȑQ5ݶ0e:9I*U893Խ?HCӍ+/]u~>>a4Us2%9r/-`|"c Kݞ%*,"qA-~`:E1:#/i.96틹MJسn[hT%:r*UJ\gP![n*d.Q '}~q ^645w>\ג$uťa ݼg\6m["P \T ahOѾQA4]9DD6g$Q"XHDҧD08 `uJ"u  v 6X,`EUl" Z{RZL!@VƑ-@dĿk} IҖ-_Ҡ ]L8G-Wu_Z^m Bed?%wt,xawmb+g7?!}VrI\ԣH8a; KP֨3?ŋwXּ_dt8uYKRƥl`䁸 2L(jPT̨ДN_7Cj3G:1Ӓ1ajpuJOqiF#TXuPN XȁtD O~9U$tR.:vJ2ه8z0jĦnU4e%~Wf"B/!8nRf7tpGu*k=38>?X)OO?WO~1pFK \X6(^ []8+>~n+!l͊XNd{ޞ VNE<@Nȭd_F&}{yovxpltGx2+bHwWͨ~l7d$ādjxƨM21A_JD=%<Ǻѯ; EY |[гzHGF[ nvJ #3ȼN%Sk~R5iBWGCu#k$Ǣ;V*zmC|y(7 @{VcNU]P<PMDp?g9"(_͙o/3Vd8bC&{K8௱ &lv6oүM+~:.Qٍuo% pCevCWc[>dVCQkX ک5o 7<7eA[P z fDBTH#V 7wd鼀uaC%`{MwxEa+(^)kM沙bHR -o@Z%LCckYpM{'dϷ\,f6:,o(l$(fgJhIɺ8EQMKpq+ (.f87 +U51DS#eV1@ a_+i.ٮ+?~ef80G^)hp @}63e %mtlÐȥA-i.uEˡo1z6ce0at[\9؀SmM=H_ WKLq7l6)@\ASUʌ]WʳGQ09#?R$l5Tfr%/&w9 gGzOnhvMSg:4lYypC[ ?JtLâ5IKwh',ģG%oP~3$Vb4Ponx2(%p۬Qv)5r+#bnN! ~LIHy B9*+@d:J!"ܽM褷9rWbC A#~;8u<8{u(e_o0<zz~,ԵZWq*[_:@u٭be/Y#~fG%:ى~rݦB'30}p@NO[S4GlIkA\@L#)xb;j(p? ,<`cKu,Ql~JSî+EK z'MՆ8h\Gx'aWtnXt`|bo$ 8N(FPybsF_ⷒY' ݶ2aRKQBv]8i}s>m#yP^]%>G> lU2kY\B&BfzH1L *6}܄ӰrT&!Fǒ_.ݜja%>\GV-DXs |m q 9 ΐ [崷"![ SխJ) 6l2ҢR{}CU6]cR4xnzȨ{RujVa"LbC] L4 *s$P'$dҷ'Q"*ÒOEj0؁rj*&T9lGANPPX0rG'h *m[o뀈-*b>ׁ'Niуl?0)W70Y9a!9@'łʷQ86HOٽ0؅I O(2C/?L_W9FN /cdNǰFrfDph. 筎G5ݭmq)Ќ݄AaE#U3P3B$ Ɛy kfP5 '[;[NULJaLBM%?akm0Ky` Pa0kNe9έ%p-Lh..Ng2'X!ӀqquIhnfeXKkt rEV RHU4Kש9 5Ӝ!>7b&[{6Kd&D.ۻ*Pܤf/۴^#$ &:"HafU?}+!!XjfqmIɹ "Dtz@_8 /`)&b m)Z}Hģ-ڤ?N/EîrJuX1Fh~mv0R(5.zJ-r2ȧ.r0h2 ݵN^YsrÀ֤-Z g$UrPQ\e뫮SxptS-_x.I6ᲰQcg%#DY9;3Ylx(HL16G}Ia2>d묳Es۴a I[X#eO\BC6Nը1Wd pHb~aWP"X?ߛC<_|yӜL Y9Q4SXb] shh%=vHyw:hLC\Q<[I6RVT4l<Knظ:k^4[?wLfS342wb13-if@tO%w_}jIRk%}-I #х٥c\Z,;q^&;D.oi{maW@I,WLc=Sz}Qg1, {a8K,9NSBW7=08ઈO3l}&Eko#ة*x8_3BL >~ݜwv0 |M.B/1 [YGO2YzF)%D*{1$l{?D_cɚ-liB\3=hrF0x \'n "wLH6W}jcE l ټàkrѱ+*h`7va|3/[4ø^ܱ(nDVjA`cKyޮ#]ۓCYktkdK cEC-7%l>5fx2"Q$`ύh~cR vXq+9$kLŌAc/7,ms{4#({R T.=0(h+Va9axAfM4 sb_D>ʆIֽ-PI:k)U8?+б7Eu&<5c2QPơnSla}_tնа,q0hWCNEo>uUF0n`Lr%Ԕ;b'Gz %ehٸg(&v9շ\Jz1D<&1TR*j)%glQel i_x&LyF_Wy&~lKae6XpN^]<= l`S$n)t\LXs zh68.w5x*dg8G е Rc* 9rRvXӿC:A735Gx_ZVJyHe/!\޵Ј\_x:uA9vF`HfnYWjزDmC@\9JIY8ƉJ QK|G5x'$4\cKykL5An>wHpMN BHԋn <Ʉ4oT) @@Po5Ec+-mEQ1zo($ͪWRMKיA#o|&P%" p }G<%[8c𹖫i.k]'0#.Td7{_&3)Ƨ'#{iq*p ÎF&Fmd'id݀2bXp%z:Fn2"-l4c#g4/Tژo~yw5kL:i5ʏ!yG!oGy<2pn5ȏj&B%Y|yҸ1J3!b|,:Ԭ\^WD8*;#҈2<(kX3tT qH쫃nll1;_̿;hz\CAp=i$(HhY|#k8R$1ڋy+ L+52y.WUݘxU ^֢OLDm=9hNk 0mjm,H5zLq?t+8B_5n Rdx܆<9mw=o!ԹS"C uNNm;/ Xv5)Q uC> MY/ŠW $ SeJ蟉hDȑh*Y W)Y 4@-I'ϗc*tsܾ5Nq *1t;1-2=d}i'Xmy&&*ċ?]n;p͎ԌibCNGtFsA3/@;RnڝOYt7NJ։6#!2:櫉XMo$M~L!*H+ΠQ=bnAPz9q<98QjT$ͪ53M\[4+=x8@8>A#7w$扎Ah6WJsU@!{f9ؠNoWf7Ԑx9D_RnIAgզ~˾xz.o˲f\ [`isP|sDWI <C+"{;)irJpdVL-| lm6\z^T3m=J)MZ5W2*ϣN L,jK ;z/.i]v3፨^יctC=-ZNW9&u[y%v%{Þw$mY ȹi\e.i=n)=t kwz[Ȍsr^RK^Xꭅ?,V;PVB$F 91H/ <.f\%" ORhh v0j6 &ZjkÊs{wn"&`Vv Ws%zJɡo!DXh=do퉾ŕ8+YYZv;\T˙ہ7yE*x8/:Qe븲>++{v?U-w y[e-G2ǿ 3R֠dϟ{:N䔩|U?4 z7hlX0?ZL`k %R,5>)o_V%O_hJcRxV.ƓQ}`]1&?(SNDW R%zQh<"ڮcAWZַ$[0fw;L+ٺ2f zova*%\!{Od?  Yr2'F^4[5rM([<݅@_녌Y7O@{qPP=H8bsDm}*jgXV["{;"ef&nMNпS`i':(k&QLVDDpi&\bsS| CDkQ5<Qi٘nV1'Bl<$Jmh$yߴ;/2IT,AkTnatp7wYDoa6lW&bAn_DRtzVoJI\!-Ypk^"kW,v*_FdسnP$|Jl*L<-UA}ʈdDqZP&_ GzFSgq}h:>h %`䣬0ŞsА1(r]ENrF=B@ O ķ2K6;jM(u$σLx0{.UrR_[VѪL/yã1ފ)Yph^8@s(Pe"pP` U>JR$(*-)|H٘L59r{K}?6{{DC t8B{ZL6ɻiŷbTX`[M#^՘c0K\f{]93.`Kc!aN@oBZ z8 gYD Y|c}Zff tl=\͙}0vj$bDX0i^]W_%*{Y˰T1B.Br Hb(4 .20 *kp7^K9Fܙ9 +&RӖʐ߹ٷ҄?@Yyu0XUɦ$\)U y΅.cwY?r)1!,I;p:pVmZ템 Fm4z+ +7FVX)a3&NA\}[*?Ӌ4$@=a(7 ^}*+"Ij@~3k) \ڬ9:Г"*C(eSar 7X :/f 2nRV}@8sY'[RzkUDٺWh=`/Z!KWޭ%wf7Ʃd:%- P#dw1B>h'&S^w?잱]-(T3;nĝP_;iOn=AqJx[”X_E?g,hcy{~+d"s|%mHPt/^,UkN1\sR,eRBB&=Yg-5O* R$k_@]n(Ԍ>n rg"j26@djW CuN~LoywKkpkb{\`KN{\ KP iB),Ց ;G]) fy%ږn'ˊ CFD"~K$m?Q"Y+M#U6T69Mx*칓HDZt T'gLτF6VGeYi8 6ޘM i AjAVhЫDy\ěgM;&QQ/QLf@ X;D{6+sԴSck{5\iHMS S:&|+>xDa 9 U7rlL`+X 7&r){/BWzk.U+.[s!*n^rweM4ĩ{ (*?)Ce :bnkݪ_QS!S}XNN&*3aF lsQc"5][ClgmTR!$ec~I V^Iߤ̱ gٞ4%!Xʣ2&,琫{c`\{oM9!͏j]_fYU7? jJ.vPl7`*Vu35z-y2 ƿyX„TSlAJVh~JR5 h&h `teb26CMZcV5>iEV"xњ{+G'W1Gpt@NQvG!kL?AC{V4,>T/J/?o2hd,4" HMO8tT^oP*miw]?OR#,EǪ26mrx\@TQ0!_<n_-*h'LVMzאhW#w=|FRIpJh--; 8uz u]o`Gr*k%Њ+f!u,(QBrE'cɔ.E F^8:8Y,Yעej* *E2[bZ+Q6k{W$y*n TLMл-~$a5UXDe䜝effTFD_rJ y->H7LLb"ӳ_ҿ!+ZbHcSn_z(R}FZjyA TM:{4w˝_ϖ$ZE}@jNƕݾHTNQNݦL.?"-C+/ Хsi[?F_C3],#qsF ?FIm`>d2kvr!5$V5_Q&2{0^I^i,Qx+ 5D{.:sLNL9UNBɦؚV˧jtkp'IL.Ƌ:m0ez:r/*wjd\Sz\v' q_`U$iq( {8&$@^;Zpeқy;vWK<"kIq}x yJr}wXv/S)%"|(1nk$jkؖeYMFzL1躋]JX Q*DZѶL Y#_/3ds oK}5"ᨼ:oG&Db 0"`xga}.?:>l}qXDBxUi\y~ t }p3锟Sj16Ǟg% y ;6_!pudR華~4=tgyVeM#:$dz |Y+@ .{ꋧ(Q}5B+UBP-O|RҷrNɈvKƝKT#]2gU$c(HMlgfH5Ҝba="ﲛ[{==d Ҵ;5;ÊӦ60 #1td[Wӑ Hş䁵{;k YI\fQ.|B9UD}{~LoZAcNx.T|%/=⋄T\\Ft&1-)UγudM- 8gul<x.ҡnW* t _v 7yW͕abC`؆2_p4*ݣo/R3.o΂"+٨*fb]*1φScrJ"cpMDڻ6ww4M`l 'Bϕkؙ qhu-Gv˿טPڗz:I1<0ڳaB%R, $=oN(RʹHXu K71 P:X|-oa(]P Fᶪ<\nCk"]kl,7ʾl&| Q=ac}gwX;$dA 7* |7_;])o+dvBS5,7)w,@ */h>thBfN?EU| |΀YǏAw8Bl_ $ߕ#tG8@a;FT%Ltݞx$$Ed/ͅ8ص*[ ©Cjxf~󺓕{$)99 e忌E~֡U==B& ,?8<<6V.6( hp|H,.ĥ@ WWҢZH/:HE TGo=wnė{T搸zk:0C Ll@%8 dI$9[UWH*_.D;sF VyB, /DEe7]Α&ι9V_{R'э`(yH~v~ V@xj 5Ǚh;!Ob&NeQ.QY1Œ9kJ![d q$VWjU9Kap1δ#QȤ`R]6&z!w'YmIUA^Ғ b}!_m1BTp$U *1z]L&D?>kyys axḹF0(as0Hp7Sb[np%ݥl9EGk9Xnm>;" X$CIN4|1y{ +8-P\90lrG[0g};wGÚ:ݗ/X=ؗ>PhoT]+o|BRdE+/ҕl4NP]j+^cM .6^l]Qq"Rs\+2+ yB6yd0d?2_ 8Ѧ1fWdm %=dR(6pn#zVTfyG|v&џ@v[li<~68*ht@2C,PF0oNj|K, Oާ w]n?SJW)wlO̗Ȫ@rR(>%+*8oCb: # Vŭm9c1+g❦Ey88}qyI&uAzIQ-) l`QRB):1IhXt9QLTD+uQÕrFzKֈ_&p4@3wiG`Z譌gP{":ǿ.Aȝgm|*wELA`Hg7!SUX(KH+=e{A1/1o@oYǤFyڥ !&^%yÂJW!sꊤG~.P-0G/1Л6QỌ?uQk)W7062eYMLuE>+w(/QݗSay2 `  !_g)jOdEJ< 2]aB '֙:yPƣaPlD 8kK ]xӖ`up]T<+Ѷ_?LItI&z+wf3ʔ u$9~IΨrm\Jga}7b. >[>ыxm"`QØqk *p.;&1yRsY>ZI` {" c~~zZq !%]1RlP<2{^FT`0o[,݅Z X+ agk݋B.[P.ěV4\5$a߮~R3Jx vl4®Ee| iߛ&HZ|Odh}(W!L L}!䈿n-S4V! @tkG޸v)]9ҠIc,ʈ#B&#Lyϻ՗1iᛲ@MIH=Ͳn]U{j.T%j kg_P. ZäfHgR׈zp][紽}LzA/=<[[tUp/%O1?w[[wcϓ7YX0+Ygnn's :%%7qMPXΦv:xYp;S XO4 |ZcǑ׫dž =8zԻWʗA1!䎤#us_oבU<ܖYk(բ || *OCj8I';Daa-VoZT Gmv`8y4yVXT^r^Л'HkM.L,Ln pM/H9Ȓ߬+`_N xru9:_$gu@E̕|Ժ dz-fX E?䬋o(dM@+ӥ'JE>yLY(q܈uEh>2RY9n3,|bqT碠oֱ!JyϦSg$zB)QI?<JR+vk(jX cBBTCc\Q1!v3^M-c;i]6q]nBmn0`Vʋ S))G =tb6X.N0,\<\[h'@R I_⪌xq)A]qQh};Dݻ=ͅ)늓ggMiUx\t-n[[Ԕ=]\x,a0"uBHi!E|`+Lm4jLgI$=ǝ`995 (PǴ#_;28">i $ >%A!*\nV72hFbIO2u(uN{޸5#Wź0)Цy z_N&?v{bō)ٶY_eK:'׾O4Xf'녂[5,]K~~Yp#`l/< XVFA2SN`vGt!$8nPQ?WrV @)< Ѷ2v|{Ƀb9@E*|uvz|k j\MNeK 1C?} ܫZ#VI* 8xq5o J0;qGhrKtG2Xlp tI|8,Mȍ{>*Z0V@O|nRDF:H3Q &Gan}iYQROeP>9^{e8L]y/"ܸ %ʂ"lsS DWqOxM*y `_͆ZrWEs5P&xZM:,#~EoC`Isgtuqe:c.:NA<ocU{{ WNm1?!GdEr`cJK d),4ZїKIGؐYzlxu%BZߌV\Lkh4+Ƞ$6Ry]o6!=[\?)Y5so5ʲ)r 0Qh}kfzVˤU_SEkwu:%] y?4fy6OL*3vהcZlXnݬSȉ^ⷀV[)ٵv.ТNQμ$ b0 Žt 4e&_4M#JهJnύ O>ޭ>Ҥu)GCnKt'Vv\ҷ's[1\!za 9Uݙ>I&\'44$l2Y^iC-'8ݻn.av7 M~t4vBҡ:DO738@h- 0lѓ<>qmj-f)}ñ4nҨ6ǫQo_{wB](Q. _sD>]< no5Z/ң7cK DXQM&cD%>u;Bm?G[?݀DQ(0&ZOmE_}ϋ߁ 8ioC -$)sozPؿLHo}P^YxYp@3X7hu*,?vdH1yYLw[X F6G;,/d[l#>^uS>#/S:+mo ib:oA_ #R",e -f >?{Ѫn5j켍즧ڤlF߁l[3jn̊J #fS^³b_Y7/R{U;i 1Vtũr=Zv`z $uHUu֋*1@@[b~ _p~aȮ8ᇊhFJSߖZ?*'~|{r&1QkW3y<ߵrV~U jO#cu.㛻lߨ+p9]èYwZ1E?Ax>ɝ˻,r;LbYmn pPR]S.0([ YE'~hyEnގBE8 aڼv)hj.*me&試?<" CV왋kh |WMs)8%d4ڂ;ǁPCg {0S鴼&'.v񇔛_~OmP̪Rƪp$W:lts Yuur=AU'/]~ &28+OpJԇX9D*IE5UWy,+tkV8zx|wB,2`ס @YƸyu,-ޖ"P0nР &)_{\ b{ޡգ/vᤳj@&3'7ZĮ5MnŲhG_D.?[r 4PŻ_uH5X13r ^p{F䁉RFP2#')Y*;c&~8' RX{:UO5rR,xŎe0p6\-1Je+tm捚c⺚.Ypv$8SB1=p4l.j/+A F\:gi&ӢiO& JFغV.KxtLvV Ja۟DS ޼z6 &z-7wY)iWY-'*64}HI 荦A 93 wȨv-!4 S7`جs3N֫jpKuJiݫ4(DBɵWm$mQ>-ԑxu4 s/}L[Bt6fPEf^aU-vu fVsKkNbjŌ*~p#Ĵ YJpN8ri(P '!cWn`|yrGM8x{vaLVo 0)"1WݜƇv=3.u A%D.[.[(M!_Mx> kf𞈣f9yb i*F/ 2<"?۬R.F(dolgG8iVƴcU>H w):@{qrEB5 )$\v!, <}C5ROZkJ)oeӑgsL$Y%]Ie3ΐWp;PqIT\o-1쁞eo> naTRȼ 2^p4OmOs6\qul@A:fK&L4EٺEjF+'4}AEy A25BO$,Mw*4ݭKF5U4K Ed#éYXQhQ'Fqfn2m\qBCLX_&,vMAXj' }KM }v}ZϏ~sīFt=/ ))p\Nj669]ur5q 6#ۃx;+PkA\{[>@ZEnG1eĺk߰lT(e|+tKdxbO /w>L.zb:|LzYS@hn)sɴBtBJх*%7.Uȗ پO%(2⦥I덵?(,ǍZ0cMn"xt NIfA͊jHlgo96͜(Z`&:zut-֪3))|8 kۡEYθ2a3R?̨&?dl 6@.wi&H:jsZأ?i &P໘A>>Q_81d׺?9 aJAAPtI,%4H$5#9{@0[<;l + +@>`6.^iHP3naIϭn0gfI.[ 1]`DlZuWdF`(Df'<>^eKDR/-mo6/2ekG]54vu"1J1Jxo1O| ,q,˥(v8繃ѣcܮ,vv$G,PN,xn.zx`֭XcOE7?_üx?: fwv^v;bf)T`]_O.ޱ3E)ũ8ŪWS>ʖhd-Mc@:٤_=h$R 1g[3ey 8wVijt33->九 g(D2c*w(Rdxt:2̛4|'6 9=5L}|y4?qJ>X60;/ lD}74N2]eD`;~5ފ;i> y<}g}ivT&gC:նF+-SA.VeASecKxV\;ϧo)zM5ȫ52|xD>Y†PQ`|8I%fn|ӴN`(K0Urk>t(,]( %nW.(!LHt.Zz]f$sFGgm)&ŐWI(oMtxI,f%*z|C ,kaүQoj?âթڸƱETzD{cN R3s$yV|A1s mkH2ljL9E!_6/u5rփHwwX2MmIEOh{20 >"|dL^%ŁHHx,l艄>ztIB*~* ~`zS~MՃ^_.H;L1dg M= p? ۬?4i Ƌa^2)?ŘyL f`Vf*1̪]\}לr }& b]\'o:9Nj۫GTo?) f7\η19RyevHI1 Ǚ*gEF0)U8^!-Pi[[DMR [|T#ΖUkЅOC}Md!1gο.C^2w[$xZfZ]udR ӌמ{ӶP >tÄ[^GX.qvtR"L˽O!˽# ΃1lD3JIb&xxv{,@L)iDŽG9^9T(-EK%^=ְq=^h%˓įТi|dmu[$)J\Gȷ^GlZ ^:R@Z\ _F*JJ0HUl6DwIaD?/~%x}iu3jISuuj:? ,7f1QVCS1q06m{+H MV90N]f7xPNswk4^KTUUT7H4K봳8/+SFN8k .iX` WN/UAɒ FEjZ6%vo9萺cXu;ek]J-?HBF9lTTtNEdipd)r?Mx[9QÐ̷V/` zxKRߣP8qILp磢 ;3m{&%6ɋ,F[O,Z0F[0$B_FEi a .]X5xb4D7kEJ3_^*63 ^ʹ)ڃ=I*< bQ.TvD/ųGDBG|V"mZI,;("h<+9V \TXs6%jPdOe\ = u\jr#\=/▰)}]^ @\ߏ Ñ[bJϪ]:JIӎCNP1l JC5BUs/Q /[7~D-=UTOw98.񓎍xa^r >^L|B6β<F"GYE g,dF:,̟KWjx-ٶgE\-Γr?O#Y, 'h^hZ"74tKxJs~{ScvIJprKϳ\Bn-BbfM@"IJg#3;GPΈԈvo?^ͺSmw:QnӁ:$|af`4МM utlxYfIUE$KpboQo:P B>5I$׶4 nVJ1xNehϗ>h 7X )m5JQbK:է\7ېNrP:H;.x'(۳FHsk҈_ȯɳK8bX&?݌)Ϯm^68ͽD3Q%a7$ze/23Ʋ+*DLҊ7 uqs%B8qOp0}IÛiv䢂/,!v,אO7tE˪Աq@eHqN@|yW )G __(5^M)5g'{"Tw; *d>[ #{!H(t;J$ck}E ˧jʅe)ƦyW0lJGN$o@o4,} DgUS%M&=ϏP k(fo ~;3'=ƣo&sᒔE9SMyoY#&1j5gph0U݋%U ,pEJ4IߵŧP~ܗ{n :a(dJ6{ϻh[t*t#Iw~+sXeΊ|(iOdz夝}>a`z*{;6\/ylHiK-t 5ċ =+dksvŲc)O0crg:1)xu;^(ߖ+C[yԘwi,\eRPnқ5f;\1 *"RjM9I4t[u=%HZlx5衽@:Skl>VlЏZ!4.HZ?G00;Gj!UqfPpHzVx~=Gl Fqg3$Ϭ~-n,:S:plJʈR# -N1Ű$'@cxɈ`>zT_wYX8M~~୚tIim+6Y{_2TpA?2tHfh%1]6nbu,~ݖ,t4.9c0+v3a&68C5ezm%@A VN ȵ_ 9"EZ/l=JU@Z]~jR]X= Ěn|L^+7rs,vɪgۂe`1/tJ'Y^9d OR<oH b}df҆sLQP6*w ͇37{(>k"&P /hcrq}gZm2G1K 9̳\=V3OAkI*FIRzf`uX0?nMAU2YVa?00]H9凙+$7^"G4Xba 8O{o T; 1lnyܗ3o/mZUw8P@e؉Qq~xǪɗ> -x(ٗ>my  bnkH?4.}68IAY]LтumDF ^B[Pj[m 6aO}P`銎jnIZ7#?y'=sS`7xbMˍQr r Jf+.9>ɭő]A6ۓxO˰ D/,MYlr`hX%ҥ?-9{* HYQ}!7ÞT5#ahZId-,G='5sOPN'Dy#lKzo ՎBĂ`D7RPTU<-<խg{ZNˢ7= ` Vq^WybJ虪'ovv)Wn=T^wq8DfÊթeGd^BMqbZ&^(zgm7GB`ti~(`_Md(2zl NKN VʶԶ/Ka_vlOL?#U3!L֢?_ h$V[71A1C`H vF xnB$+Z8][8o:d+\d]#=;3b*_V6q3K,* F: _Ԁ5ge pV `G1cvUyy%ƎhEY۫{o*tioQ += +sѿ@P0+5':g|~'ﵳ5ep%IZHH4L|Jq.οpRēoIÊ'6O]I0&"N,l?.J떡 rVT`o{aݎ\o3c' q['v# yBeQC,o$)x~8@9 ։5{ܓ/ze)I%\,\Rϭc<\+pmV.yV} j X}2`ۜ8̈́_yKnq<.yuS0sdz/L'9bP{@=**pOySG⤻ _uMj-d݀^1gv\w  N]SONRvT}]W-{3S; [$Ѵ>|@8Y]!&T^{qH߸ИCcΛf1-Wt)pBcfHp?Dc 8*M~=Tۏх^]U,^SuFΏQ KEͰoJ滯|*Js,NuwkdPm QW;Mo\HŐI ZQѱkóQ*U4G%/SNJjVSV=Y-FW׵ JV7cBYFТ?X䟕60t*b8,o#C&/}?mHuaΘ4ŭǷ2+=͵ K⳼ ܚ=f08I+Ƹ/!ΆNzRFw:.x8?r= 1mi=j;_8*E>ܿ}2<u,E.I(6[*\FR,ghsNRR4Z ?kVg& ?Cvv1hoZRTkT9 $`_TBYԃ:f6Bޘ5Zy_HhUl+#l0dqiRU~Ո ˚I*~6̂KU,{hIit١|_~ kƿxIcivsɻ¬E13D#y1>ZTI+D#Cxf'!iz6IJ SdTƂ}^bٌ6y61XuP(U~#G2W N+H5wvc%Z&[4Љ`6lCH9J;|w-6HvHc#Tb.WfT$0o;1rǁhђ maf^XL]|pG“C瓯Z,@t5Hb rX}̏ :f~G?0N?)QX4PB>?"-I]`2Yb#kt,y~_T*i0ߎ2Ėsʖ+egyƚ>^ #wGҔ\+= x4JTw[;{UHgwn]$mOF;^+f k?+@ݺUO o,k q|'ir"zt0Ԇ+:pLpX  Ry%³ݑjY}oX2-p895jNoH ̏@kek1sC 6+Ss=D {%\$yu:pZ?D-QtE5Fޖp(~u${'/{I" C+{o:j:|qK<3IIkB"カ70@~šT.Ա":w9 ĝuCq^ YRF6' %bn upx/d?9ZeX06lq'5FptZ7pCۘ.#Am8Y A7`h/U$9X= 'WaUϧ*8"V6ܡuXΏ8DPf?J|9xYsX%casbT~)`P\ =",ӣ45dTbgD }]3=$̶E&ĉ0Llt%|,`QJ.-=H'U)ug2p[~K|~fz,1y_[B)Gt3 ㇽ3^NGSO:@~b>oAӣz..9L#H{'q;탇!戝&.6V/ew* Bt~֖}δ_Oz -`Foq62^ݽ<&Ac`wREVp@ <2b%8k*h~8>mf +AڑpѿC0_H 5)˶NVݾw37)\$&5zH(8zyY Ď,pg ϐ;;L[CYWܾsD`I.zq&@ԜO`>YSTRy3a9p9}^oԚz_ UnmҴΕq)[tc@קKӗNήȗr.E? 3s̸9bKw)PP:ZaYbb>`5w)Z@!ϒ D0+-moו׈Q}Ѳ_ ^/?v+'4+1|;*])rTJHڐr»38ha.Ѽ. A,mgFr3qmRhҘʭѐm֓rojibkE'$4sۺ|܀*z03ORǼTf >]!,L4PyMf+8CW&Ph8 uL$Cވ](̄;O!iɛ٪"7Wwf) Wәň#J쬻 %@37!e aHf pE6>!O0e9uXJ3M>:dE쓦Ǭ`Sr%䪿$z>3fAt ZG1>$wO& Xhƞ ]٧<` y vX$E|OA fspjߖ r\3tIihrD{Au`خ*jAr-T&}u;ϗ0 bLR{BωC]Fm0#kc7eǻ,y&IO2=uWgR15]7e0eLZ]$zҕUH3uСŎbm]SH)dQgm&0Ys _B~Yl"* <! s7A7<=Ɉwv`ˣ5y y}B_i\nۉUk̳oJ`\t ?7fHQ2&>/>5|+OTzn-DՃXk!D>-Ш􅞍l>[tb23KI[7N%6Fͯ8KȮx|aiYHv{|jSQR5 h~$*K6$R `S.Rj) 7f*(feep}NB8UW8Ē[ ai=M׹k{GJB[RKH C-*MqXxϨUWA S`MvJ᭦g؝l L >KBe$yO3tYZ=b tt˗cŅj t4^jGv?akIFM-3ĉJi&wMH8;7ڎ=u2.=jC~grC, :[R+au 'goK['˴Cucx-+đP3SN6cG[ܻU 2RA?7J[]"crkѺzh [Z "UEp%SL`ͨ$gJ8q3} >:iM:e[,ŀ3-Ɛvklq`:JKܳx*&p.M15r{Of7 Lk曩S?zm-lSٯDr,l"9vB)_s6My8J[5A/) Zrv#8t̟j+Vm6r8Ʌnq{RYhӾr{paF?"iı|DtlcPsxaW͐)Nhf_2fM6i6łA$Ny;[@ Joq''"lGtaUSLz`T] M aT~҆xԩU: 9x':wrpq!yM@v^1⥕V^ k)fsV8^&4ScX- ?& Ƀ;hkW/O-j S>w`V7IT]}M|N!/@TdFi\;D`ƒi~ΗS!O, Z{3##Y|R"uFa̿ImeFvt+Xv>>$? ~-*W rs$O1E*V<_Muf6mɐ!,k?H{Ltvx *JZ,ؖlV 1 ?jf`*vPɝL#2Qʐ|ZhE$ݓdt,`+wNbZ~@8ύk5&BZWT [bᇋJ8F.GW#BM\~dX>k1qPi՝+7BCve ,c T2!xd"dU;/3Qj(r,>1-͸Ϡ 'y%*+ϯ'lEst /:Kdl%-[Δkyyp+ӡQ˳ȪkatSg.UCNvd+%^iw"Mxby`,!9Ӗ7S2gIyF-)jR NrKel ܇(X*#U3?ū.D̈́'e:-ʻiv"Lܨ5؛{t4PWw KDgψAj5yEa%KXuP®L<J(4 7ꛐ'FV idWcN-yPFݚDha[UbI2D|+ Ec[d/bI⹥@Ï6d l4͐N{sfmՇJJpfӳcZk;N5!tdؙ^PB@U'ELi664vh "}d[`Uu<]G<Ȱ| `|OOEiH8Ax,7yPHqdJU*ϵO_8٧*YOϳ̂3g#|媲]0tzVJeлI^g_38fe/҇ ro x_\,Wm%)^v͐%Γ}֜ j$H^U%סT#P=芈8^H M#ׇ%(1ji&V)Jb`bG}NҫtgF3E|7(8XñJ\p5`u_*^ viXݴ n!Ms!nqv:r ufo)"R,g /ӦmëS 阻zb2jǟ"PCCj ɳ"v߂T`T &T꡽{ t>x]g/%Ʉd JD> V`6$yk,δFE낮$:Ǥ8ĵm3fSƐN` {-¥5Twgmc|r.g}_7c4`u*^톀*hMF_-ůҟW}l*V^3 U%xgcC;2&kNjMPiޫXlYzPF)v!)jKx*G˜kqM!FEv2GG# w1~!B8G'UO`(ͬZcNT2\AվȦeFZuZ~(!яdm -Zͷ`͘&QXA/ ͣSˉVjVF M E2$4ah9f3ƥ. .x岓@[Wm;?q > Mb\ 0f(/myhbVkFs΀"MdAjo%6יz`t/ˤmKzʚEjpyw<~S9.yPw‹8&鹾Qzkb^qc圸oB +|ܭ O\ݐ&&OMo]\n F%~ Ltek{΋<[~)/sTjԬ.-JMnw,Ƙ*½3%2Hǚ8R<*BeֶEh aU gp* ҦydhVHLZcem ~V| cՓTV#xG %;#4U~<{myC\JcW6mӱM8zs!KHް[*-Ƣ'c_Zզ_iwrq~f} 4۲l*wiw,3j.^(Cֺ$^̵N.x kwIJ6 z _Q熫h!9 [^|Cc $* +5!+~dDI94-.z!𣌬[TMZ!|vjB"ű+ſu'06SiIseڂ@:3ҔZOH(\Q.aM U ٤%w3nLU>񀥍Mvp_5f[lX\E&=+2B@3Ftׅ>3[līRÃhz|hAD9/5:FĂgY6BLRU`0r"gϡ;uPD LI07S( Ly7_z'`QOZ'9T:`Ϯg$EKלݑƦ;C|!M<;yh0S2U1;|EWڸ'G7ti\&uo (Ta w~\y~߷]ZV>wytJ=ТXQQi#YjzFKa'>&O­b8 Cuj]:"a>T Ko>d>dFU->ŝ'aIL"5ƹ)[,tʄ Mѥ4rKD*&}/kQuJy'#@18qr5wq)wZ?b14  pý>V\glu!eB=6u_ߪS+w4ya ‹h7<7cAAeK[750{Hc2-C5&ۂU#Eb;Jhi_nd?o &7]szUvwmT FJSFiKEw[&а RCnVtG-T x8,{HΝ'ev !rBF98 /ըڀw4CiTZNY*Zȝ)XR;TL2#/T>AXǕe3 *wp&*wvkL9ǒ-/ἒơ)n@AU,g`u=8/6[ͳ.W`"ɞ'ԊN̷T;Qc$XDdFv'\ #;d|I{Ŗ6|rV"T., SF^oi! 2d. VI9_TLELm 5bSjKLTP2Zm=PR#yQs}1}/mm>ү 6|-|I=S#czAKp"n(/-}NQ9+nm=DvһֈrӠޡh*v19b>81T9p:c?,MrEMfXU(!uukT0?VJpOM | -xP%nyHiu\Ӧ EaPs$U1J;̍P.CӂnbO_#64.}J',dת'x%"WW#l ›`N>ܒܒ]1'/VRRoQ}d߾;ػʴ+FnIEgM6ZU8Fι9>FkīՙNm 3 ir<9g'nM;0h2<6#jam+/\$HX~*5TW8٧r疋:w'9IsCƌ"l5zgmG^qF!~)lD?%thsltu%J5޳D,JccI6Dx~sa >PiN|N3jK&HX Dvsiϵ4]g`UcwOy򘮲רNZK5gqP] 47:\ S_Yc&=[ rvvnUG6e\D#*b: n@X2m-KTt-:X0N|y2@tQ_+?XjeeOTGf X&@;x7:]j=zjveHJi>Z>bjsѤ-MD OVG&=V_&ҹ$0Y{&[8i,*J/4m TyVF8?]99v,8O GSYAT|{yH#EOAV7qϔZVh2w+;Ez|ʠ )8C0 !xDA}$ k0@caȢ$*-]6Xmr*GS: uD,V]ٵC>|jYbSmkzTn@FM:.Ԅ9"qfrt/Q~T7,yV 7'6"Vn!P*|d>;4%2$6SZҜ6~Mƣ)Ou^)Lï!Cھ1^-\cBF5o%8*rP~ ?O/ )ioel2*P~s8 ӟEo t-w=r]{@rɓmLw^zES=ssi,<%]~PtC-rp._.!Q~|׶Ԁ_V*/'I@L_Q^iO ~0 `oM93;{>fwiwR M]2vl֥7. \LJ2`I -C1S8 =Q`uYH[ >*6҆ a׫TeVY -)xs8!Dkphp ZR{~EBD!.ި7RՀȃ{,8EJxzi,kSRLv 3%lg|dJS+8N#Iӷu$0b(F`kgekzDD%+ %uOH)A\W8N&VHPσ;q[IR C=̓P?և/ըܙ3ѥ!2l5g~dsyhBqz;7Q]..tX"aRA5%@w,o? ohE4 z:RDG o%GρCӛC@ihߢJ-?)Ea=rSI,B2Ho5}xؠd/B{B\kV~ritXxO) Ae!k)vNe*t?>>frU^zjߵB[QW~֕eNv[t7qIMB[]=!\lF.8^,\: W \5T~q!n(WJŰ4+|gmDrr J,#wsT&@Īh(dؚSS~ԇR8N%JL0BkH"Y٤p.6v]G.+_@ eJ/7rwKioRD邁 ZT坟KzM kkY͞-cַ][@ ąŘ䅐znS+mആRe>ҟS\ڨj.'1?P؅z[ٟ)%^ վhgSp(hlLjLd16{9ꝼm3G 궫p^T06z1ԀQ9d)O[}h:h0}b|\D$"z\\#qהώ1O|BOolWa+j\nؐ0:D ;o-_rDq@+ulT@v@0ɓվ>`T/d/I7F܄C]hOǚǦ~[-3c{07/xBPdyIjDaB='FƅeP\nh}AA27XxŁd$bWMFO[Lj ?n_ [|?A]gwp>kbn0Mf]g} ǖ n}Qk*JmnQT9,=]B~ЋaE`&:|nq [|(,uLtYEyع:@)V>UXg9zj)7ɿ& d=^FB9JB*uA]#Uޙy8XV&W ΔӃsc^|T$]9Bg3gP6Xݝh2CEUARv[&__͍䕵, b*ܿ1?#^7S5DmE! L4zь3л*QX(;.4NJ5v xsZP|}^t|y(/]vc]BZwfFN;%Uuo]$-Pxc=]Qg<% hG.fu-P#u D f,)i0(hk 9xrgDKZ;cJw$"Ai ":6 (^[6}IO*|NI ꗇ~;| D,^>?5n!XXwQG0$~<>ShgpQvށH0+aԃtZ5QA'K$-zP3גMB7V\\nBvWn2aY(jǿ8`DU}U[ZA24b&q,Zo`x>P#?ĢQ־QV~1Aڬr2ckg8c*IlD'It1XGT2m'dQu@%S;Ml:g}_P7r]R,Q' ) ;;MFG\Ã"LT;@l:tJWD^7꺤s֪vP ˝QOU߆%fSg9{~*x (hGd]Y֠_B Q' `x<7琦^tGU+`Egi/[v 9v\VM`=!z>+ē+L9ǓŠ .r"˿/r}n Ltч|j՗ƾgX zGڗ#xqIvE[ D,C*x*-ݺ%Ppŵu Xf&ʉfRwQĄ&R!@⃻2;~C_fs+X{ X_Hio`qդӪ.̯>]PZI+,e1+!4%":D6aM>҄0D-Nua\Fo9BrUz gߠ8M&5{AZ%OkKZs!cw7_-`x2Ĩ9a 1ԙҩS9Хf,֘=QSSz*%=hߠ~1vR {e39=خXz-IƥGqBdW>qaubKvf}{I88pWHS(0~O3z8sŐrj lv <3?_3k;^Ųyq\o#m<Ű:.a{^G_1Ej|kk vǒd[Y9,Dw`j2.dsXv},&,ou$ʘ@Ej>QN}+QYuz랙Tgg VT`!:l)tضiV\B [6VQ`@7ͤAf{ /3 rfY!_vzBMБ ~ծGȓ|e |]'+v'.?kPl5az3?)8z%d<]^:Rϴz =7 (\&*_&'޷[SA (fuε4WŽRZݔ>=t2zl6m1z7CS>1jo7szvAӵ&v}wFGMp5':JMONw*^fơK0 CxPzW|0pT/= 1 w?%BE#b$^*7ltS)O\3# vD[[y7{> ~9^2i 8C+Wi.)M"tpN!8-ccWbbUe-RLx$QTQIlm@K'#E&-l:cf3$㚒C=OCh׶==~o <1^|+ӃLy WXU5])yq*G0H>ߒ_ͪ:ÊӼYd*OaZgAkc/>SCt|2F$Rاvu8dv!pmX^܏B5!ua ot/_k5$r/o;&Tk#d0DT9i?)&Ce|XuO^(lG@51ZrurT4%^',KE!L:XVcIT| Nn.w}<ap.!a񹘊> 3Pn)%fbN4LJ%_'RKaG@q|'c=PC<@Ee1X79/q `Q.O "eXX8yPoqqYdȥ nW8ih{06-6UEOS I1E8A񐲋`;rhxi o,It(m~"ZcΘ,*ݪwP_sY\[C͐5d%;(PƤ݁(%|ĚE6ȪX$ 4s*`#.A㙂T't<*SƵj@tu51=ns|Ev my;dU5'~R?/W]J匍j+c&np.gJ H+KN[tsm!4j8Su)lyQ$ȏNJ^3,ڌTkOj\w5f^$ٯz%.)u0/% oD^yOuYv~Aj$c-qF۪dy")J4>J㺞X&zok<^N=[N.SS<('x8;V0K>m7҃({cuarp΍+&۱LϷ+d}iv'1Pׂ"+^8TH(O&@% fnũZH-_IR%zqg2Ysz;0{I䁙9(^sXY[ց}6 2%]<:%tU:y-AzLߍH/f/e M0`Ķө825y Ut9F6;`ƙcߜ^Uz̋<; o@hleh#bIBMVڈmi:ʔ'f]U퓘T3_r㺲!8mm*Y#]l L!V%܆/cL,m\}TB{$۳9nMh$F x}$%N560n=$Ae'7bهx|D/7I]4![[@ @A\K'@!!58_y0?&cJGm\`@q箹2" < dV*VDM51UġvSX5ɿӕPtnq%[ 9z-%Fyoc7HӋZ$Lxb7x>+M24DKEDX#˒D4 mk=!?HQrJ:R*8. s]uLŔEh= Q']7:V:;s޼mPLM.+,HC)dl)؞C֢<迅h2>KP!.'U oJ' @+N=Ai Kٚ_/ x?o 6~.G#)c$k[08m6rf7dY',9Iq&ez."=reU1֎oQ[҄I*,-h\J|F4'uZo YfEi i6b+{KV]beqb7lV t3 =p@ڲZ[S(؝;z6 ĮXc]>*F d"qft(㕹=yǜ_`i$P%d 0{ǟ:Vz5Ȏm> +fX[x]u%HA~mG*u$$A4eYB9Ruh֡@~Hr82 -gs=Fa2Zl>B&l3`W@UjXz@0B}z-%<||-K8,`涶Gxz.-F/>@ wi8z躃GE{+H=n: !#FKƩ˵2suDdRb`2@6Wc_|()=8F)*^+ĭ!wlҡxP { 4ID80H'ـUD{.QS5C~9RBJ3X ~=%+QN=3:q(XZ0oE`5.>SKH'C[OfÅwiCWmk `ك} 2, V-".\T,\|qgI@0^'m 5xÿp2<մRUߥX&MGf? v$jo1/SXrSvS1zINU<)Ʋ e Y®ݺf,dVàOxz1ц!F pfx +ib.qh7=DuW#E/ (~4q* J36BUEl>= _fsu~Zn`ݘ?*V j^ 6?NDE0>~6.wq[>P:H\BvpͲYǭ+b,3"a4vH:qG8]wq!';dC=6,6k$Y_1SG m"p jn*lbw>h7jiA<E;H 5\v/5HlAOX/L,̏JءqNC Č7ﴱ10eo-RhJFGN) H&%IPh U)rhfC썚ʆe!"gj߯]:hKw5-sb\XQKyqtDfJ<ۅ|S ;ln< n7W^2&^tNSu K A$H_)2^jv}c[zuǘnPFUINn/|ߝ<o_*XI '~\xǴOR.uz z)J5H6oessu̧+(+B,2K9!R@S+rj٠v55e7%g~ɒ7V ;> gj~pkqy)LVYT#}LMd=o|hJb C$moWPk:`p͑A, #+q$Qx"9ބ5*4zy¿wlZt k@Ŵ  0$+:#hkV`RusSZ(/%JTa*6{="|"c0N8mu\06ʙ ܕ(kl `sEmJnH*o @i.-F2{zr}6,&U C2:#lK\:E c9=*uBimLXhOt?҃mNSĻVHtaʝ&4 f\* f:dvR;VGer4>f<rh9eFZ34ՉT5Ǔ͊'jH%Ilp(vLKPǞBX K>Ф;5? ?z1~pMckVN-Vө#@!s (q";!Nd$015z٥;t{\F@(3nrvGl~Kxp~'iZVPo i"/ťU0(:9ўwpnCLN}>P{28>WǰszWW~Lt'AG_NZxgViIfcGTzm8m~>Aq$9#%e8+WUV3+bc*87p` ִfp x?bv$8]Q2<ӪXdK -b5mㆅ:$>?Ht>_& |"m\f:_ԕv}"vz* hy-BFa^C?SIy;X@,Lr⸆H&, PLp9PFRj XVml?e/H7V$yH QDKw5<07|`S3\[@ wZxn[!| ԷHė)?\w`z Z/"O_9rL^=Q?/\/$,Ѓ7TfaŲ b! <uDrSudC])Ԓ|QgFTM]VsҽֽslD=utre8oe,N"W 4MUS5=<)^d@Ղ@OM׍3:ܡ@*Be[4=JӶ)#aIߏnعmZ:.Z$)ʷRܘ.Te6M*Z_8%Q ]Z8/HN1Y XWW2˥S=bffS C82G7)A49.qn,^)E~nU+P0WkS]FFO4@5놫cHB+Qw. ̿.Lbe=fh|%1EV59ɀ>oZ;Ѣ .}H~i&0l&$?T -lB43WlzTxCsNÐ#w8JB)Ќs!9] %Ȋ ?Ϫ4hBf~ӄ{ǔPoj#V~!.C2zOϣZKGG-]H6FQ|"m-1zCy"jeG4拴Qɿo6v`Jx^M>3%z)̻1U3@eOD(P"W".dۃlffB&(q $=pl泉yAsJ +M,S ~M f5z.L+p Vp>af&)`^"mW(RTڄY.-`OPՉKfpQrl^ֿ۫GH7-{&,939`K>pW_<[R_bvɄX `'/B*Y_hAw~w04@; Dao/^E+ Ii@1nS;vGa0aYaލcYؘ6^M SPh)C:w󦂧Qe8C9\+dxq;CAGd9T# vVf׳,]o<8û G3:#(KWJҺXf~ Y[NS wP5V1*ܨ{W! R^8-CsC 5Y8ףu"ұ_%qqC; UޣaDr }gV G+u|Ed #\l;8=9bO24BxGxkB/9c䥭ǣ9cq%0ru& !Ѿp*O1^P= 8_NT^!U4 ~XW_^,nCrFÚ6Cm`[ +L}Plj تv kb^g՞q6Â$|ݫ<ƒRch!D4 !KP֯pgGYڷ7R }=K.xSߓ ,Firs.3ytnjcCO p`hL>K$ n>wȚ( /eыMNzW}ϪCLm?F/C,$Yj֔bK8dbcR3?mt 1xKl1jpbA y2ۍ *Y{)`ICC@ n_h ġfؖ1[)Y:y [a֛ )Be{X0GE/uMݺ*0冡i2A/RZ6Y9訬yNlb&,G,YAwXE+f߂(}jUE~*'uMئT|08K)-ܶez~Hcn;PT"_p;2;$l_r*`!΢gJ1~erM{L9p#_(˅ѕ1Q7*^I1ƀmZG;(; 4[!YM?Q`fn]dy?.kK',g:)"붘ON+:e$XZ|2RՀ:(I5i^9, d0ǴrAlJ0ub xW_tB~aiphظCfbo\'"4N&su6p,m2:+()oGhb zpUSlW9b{Dx/q]4sI$$0ވx_C Ĉ? 2\y'%o秷&]3>5x2dId>-ZY@!RvRQ79XȂ,Ėm\dl旛 +- 9( ¥s}shK1_o}Yh6G]`vOK绤AXAVcJYG䝍T Ea1򻫉:"K+/']dn F+_GD΃4~HA1^wX -B ٗT #pOYaC_Ãރ=0HW[ H+M $E(V`톈uhq;˃v7F }2M@N)&R wаB ^O m}vu^NdHP Ka2F1P ?JoSWlTy[AϷ,jTaU(1 7y cWAו4S uh )p98h+< S trVS8΁ըjxo% Ϭ.61^^ =6fWFahv0.钠27x~h6 RQL%v&_;Z7q'5i ݁rx#zXW3: [)$3;ar4 uQ'1vѱ߸6y; Dqs2=^gD QY6#" 49I0^ nP 4wud|gYJ}"-;Ut9UJSǪv$`Ѻ)DHLdcmؙ(`WG| @z-R)qM Ɲ z(AbfW*#F[Y!P96mlF.[(lw-x]w0WXDȞzob[=ꪅ6Wf t+}SQPgtX$N9)G- b K ;9OFz#,"T|n }l<2B#Jo% N|gbWąRXiAJr2}]?:|xujwEQ W\he8bW/*/I! B`Dnxb}W*{v(\D_⩡,~ d jZDwbO_NE؉rs+hDx[D1>όYG %.f-":r>ITvg^#5\jUvvIZx$N|5 %RM̯hitvP3GժSUK{n kb(w 0UPg7G{|4x82L#mI+ߨ _90S"39|D;V?ƨy l`xL