/* * options.c - handle pre-connection options * * This file is part of the SSH Library * * Copyright (c) 2003-2008 by Aris Adamantiadis * Copyright (c) 2009 by Andreas Schneider * * The SSH Library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or (at your * option) any later version. * * The SSH Library is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public * License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with the SSH Library; see the file COPYING. If not, write to * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, * MA 02111-1307, USA. */ #include "config.h" #include #include #include #ifndef _WIN32 #include #else #include #endif #include #include "libssh/priv.h" #include "libssh/session.h" #include "libssh/misc.h" #ifdef WITH_SERVER #include "libssh/server.h" #include "libssh/bind.h" #endif /** * @addtogroup libssh_session * @{ */ /** * @brief Duplicate the options of a session structure. * * If you make several sessions with the same options this is useful. You * cannot use twice the same option structure in ssh_session_connect. * * @param src The session to use to copy the options. * * @param dest The session to copy the options to. * * @returns 0 on sucess, -1 on error with errno set. * * @see ssh_session_connect() */ int ssh_options_copy(ssh_session src, ssh_session *dest) { ssh_session new; int i; if (src == NULL || dest == NULL || *dest == NULL) { return -1; } new = *dest; if (src->username) { new->username = strdup(src->username); if (new->username == NULL) { return -1; } } if (src->host) { new->host = strdup(src->host); if (new->host == NULL) { return -1; } } if (src->identity) { struct ssh_iterator *it; new->identity = ssh_list_new(); if (new->identity == NULL) { return -1; } it = ssh_list_get_iterator(src->identity); while (it) { char *id; int rc; id = strdup((char *) it->data); if (id == NULL) { return -1; } rc = ssh_list_append(new->identity, id); if (rc < 0) { return -1; } it = it->next; } } if (src->sshdir) { new->sshdir = strdup(src->sshdir); if (new->sshdir == NULL) { return -1; } } if (src->knownhosts) { new->knownhosts = strdup(src->knownhosts); if (new->knownhosts == NULL) { return -1; } } for (i = 0; i < 10; ++i) { if (src->wanted_methods[i]) { new->wanted_methods[i] = strdup(src->wanted_methods[i]); if (new->wanted_methods[i] == NULL) { return -1; } } } if(src->ProxyCommand) { new->ProxyCommand = strdup(src->ProxyCommand); if(new->ProxyCommand == NULL) return -1; } new->fd = src->fd; new->port = src->port; new->callbacks = src->callbacks; new->timeout = src->timeout; new->timeout_usec = src->timeout_usec; new->ssh2 = src->ssh2; new->ssh1 = src->ssh1; new->log_verbosity = src->log_verbosity; new->compressionlevel = src->compressionlevel; return 0; } int ssh_options_set_algo(ssh_session session, int algo, const char *list) { if (!verify_existing_algo(algo, list)) { ssh_set_error(session, SSH_REQUEST_DENIED, "Setting method: no algorithm for method \"%s\" (%s)\n", ssh_kex_nums[algo], list); return -1; } SAFE_FREE(session->wanted_methods[algo]); session->wanted_methods[algo] = strdup(list); if (session->wanted_methods[algo] == NULL) { ssh_set_error_oom(session); return -1; } return 0; } /** * @brief This function can set all possible ssh options. * * @param session An allocated SSH session structure. * * @param type The option type to set. This could be one of the * following: * * - SSH_OPTIONS_HOST: * The hostname or ip address to connect to (const char *). * * - SSH_OPTIONS_PORT: * The port to connect to (unsigned int). * * - SSH_OPTIONS_PORT_STR: * The port to connect to (const char *). * * - SSH_OPTIONS_FD: * The file descriptor to use (socket_t).\n * \n * If you wish to open the socket yourself for a reason * or another, set the file descriptor. Don't forget to * set the hostname as the hostname is used as a key in * the known_host mechanism. * * - SSH_OPTIONS_BINDADDR: * The address to bind the client to (const char *). * * - SSH_OPTIONS_USER: * The username for authentication (const char *).\n * \n * If the value is NULL, the username is set to the * default username. * * - SSH_OPTIONS_SSH_DIR: * Set the ssh directory (const char *,format string).\n * \n * If the value is NULL, the directory is set to the * default ssh directory.\n * \n * The ssh directory is used for files like known_hosts * and identity (private and public key). It may include * "%s" which will be replaced by the user home * directory. * * - SSH_OPTIONS_KNOWNHOSTS: * Set the known hosts file name (const char *,format string).\n * \n * If the value is NULL, the directory is set to the * default known hosts file, normally * ~/.ssh/known_hosts.\n * \n * The known hosts file is used to certify remote hosts * are genuine. It may include "%s" which will be * replaced by the user home directory. * * - SSH_OPTIONS_IDENTITY: * Set the identity file name (const char *,format string).\n * \n * By default identity, id_dsa and id_rsa are checked.\n * \n * The identity file used authenticate with public key. * It may include "%s" which will be replaced by the * user home directory. * * - SSH_OPTIONS_TIMEOUT: * Set a timeout for the connection in seconds (long). * * - SSH_OPTIONS_TIMEOUT_USEC: * Set a timeout for the connection in micro seconds * (long). * * - SSH_OPTIONS_SSH1: * Allow or deny the connection to SSH1 servers * (int, 0 is false). * * - SSH_OPTIONS_SSH2: * Allow or deny the connection to SSH2 servers * (int, 0 is false). * * - SSH_OPTIONS_LOG_VERBOSITY: * Set the session logging verbosity (int).\n * \n * The verbosity of the messages. Every log smaller or * equal to verbosity will be shown. * - SSH_LOG_NOLOG: No logging * - SSH_LOG_RARE: Rare conditions or warnings * - SSH_LOG_ENTRY: API-accessible entrypoints * - SSH_LOG_PACKET: Packet id and size * - SSH_LOG_FUNCTIONS: Function entering and leaving * * - SSH_OPTIONS_LOG_VERBOSITY_STR: * Set the session logging verbosity (const char *).\n * \n * The verbosity of the messages. Every log smaller or * equal to verbosity will be shown. * - SSH_LOG_NOLOG: No logging * - SSH_LOG_RARE: Rare conditions or warnings * - SSH_LOG_ENTRY: API-accessible entrypoints * - SSH_LOG_PACKET: Packet id and size * - SSH_LOG_FUNCTIONS: Function entering and leaving * \n * See the corresponding numbers in libssh.h. * * - SSH_OPTIONS_AUTH_CALLBACK: * Set a callback to use your own authentication function * (function pointer). * * - SSH_OPTIONS_AUTH_USERDATA: * Set the user data passed to the authentication * function (generic pointer). * * - SSH_OPTIONS_LOG_CALLBACK: * Set a callback to use your own logging function * (function pointer). * * - SSH_OPTIONS_LOG_USERDATA: * Set the user data passed to the logging function * (generic pointer). * * - SSH_OPTIONS_STATUS_CALLBACK: * Set a callback to show connection status in realtime * (function pointer).\n * \n * @code * fn(void *arg, float status) * @endcode * \n * During ssh_connect(), libssh will call the callback * with status from 0.0 to 1.0. * * - SSH_OPTIONS_STATUS_ARG: * Set the status argument which should be passed to the * status callback (generic pointer). * * - SSH_OPTIONS_CIPHERS_C_S: * Set the symmetric cipher client to server (const char *, * comma-separated list). * * - SSH_OPTIONS_CIPHERS_S_C: * Set the symmetric cipher server to client (const char *, * comma-separated list). * * - SSH_OPTIONS_COMPRESSION_C_S: * Set the compression to use for client to server * communication (const char *, "yes", "no" or a specific * algorithm name if needed ("zlib","zlib@openssh.com","none"). * * - SSH_OPTIONS_COMPRESSION_S_C: * Set the compression to use for server to client * communication (const char *, "yes", "no" or a specific * algorithm name if needed ("zlib","zlib@openssh.com","none"). * * - SSH_OPTIONS_COMPRESSION: * Set the compression to use for both directions * communication (const char *, "yes", "no" or a specific * algorithm name if needed ("zlib","zlib@openssh.com","none"). * * - SSH_OPTIONS_COMPRESSION_LEVEL: * Set the compression level to use for zlib functions. (int, * value from 1 to 9, 9 being the most efficient but slower). * * - SSH_OPTIONS_STRICTHOSTKEYCHECK: * Set the parameter StrictHostKeyChecking to avoid * asking about a fingerprint (int, 0 = false). * * - SSH_OPTIONS_PROXYCOMMAND: * Set the command to be executed in order to connect to * server (const char *). * * @param value The value to set. This is a generic pointer and the * datatype which is used should be set according to the * type set. * * @return 0 on success, < 0 on error. */ int ssh_options_set(ssh_session session, enum ssh_options_e type, const void *value) { char *p, *q; long int i; int rc; if (session == NULL) { return -1; } switch (type) { case SSH_OPTIONS_HOST: q = strdup(value); if (q == NULL) { ssh_set_error_oom(session); return -1; } p = strchr(q, '@'); SAFE_FREE(session->host); if (p) { *p = '\0'; session->host = strdup(p + 1); if (session->host == NULL) { SAFE_FREE(q); ssh_set_error_oom(session); return -1; } SAFE_FREE(session->username); session->username = strdup(q); SAFE_FREE(q); if (session->username == NULL) { ssh_set_error_oom(session); return -1; } } else { session->host = q; } break; case SSH_OPTIONS_PORT: if (value == NULL) { session->port = 22 & 0xffff; } else { int *x = (int *) value; session->port = *x & 0xffff; } break; case SSH_OPTIONS_PORT_STR: if (value == NULL) { session->port = 22 & 0xffff; } else { q = strdup(value); if (q == NULL) { ssh_set_error_oom(session); return -1; } i = strtol(q, &p, 10); if (q == p) { SAFE_FREE(q); } SAFE_FREE(q); session->port = i & 0xffff; } break; case SSH_OPTIONS_FD: if (value == NULL) { session->fd = SSH_INVALID_SOCKET; } else { socket_t *x = (socket_t *) value; session->fd = *x & 0xffff; } break; case SSH_OPTIONS_BINDADDR: if (value == NULL) { ssh_set_error_invalid(session, __FUNCTION__); return -1; } q = strdup(value); if (q == NULL) { return -1; } SAFE_FREE(session->bindaddr); session->bindaddr = q; break; case SSH_OPTIONS_USER: SAFE_FREE(session->username); if (value == NULL) { /* set default username */ q = ssh_get_local_username(session); if (q == NULL) { return -1; } session->username = q; } else { /* username provided */ session->username = strdup(value); if (session->username == NULL) { ssh_set_error_oom(session); return -1; } } break; case SSH_OPTIONS_SSH_DIR: if (value == NULL) { SAFE_FREE(session->sshdir); session->sshdir = ssh_path_expand_tilde("~/.ssh"); if (session->sshdir == NULL) { return -1; } } else { SAFE_FREE(session->sshdir); session->sshdir = ssh_path_expand_tilde(value); if (session->sshdir == NULL) { return -1; } } break; case SSH_OPTIONS_IDENTITY: case SSH_OPTIONS_ADD_IDENTITY: if (value == NULL) { ssh_set_error_invalid(session, __FUNCTION__); return -1; } q = strdup(value); if (q == NULL) { return -1; } rc = ssh_list_prepend(session->identity, q); if (rc < 0) { return -1; } break; case SSH_OPTIONS_KNOWNHOSTS: if (value == NULL) { SAFE_FREE(session->knownhosts); if (session->sshdir == NULL) { return -1; } session->knownhosts = ssh_path_expand_escape(session, "%d/known_hosts"); if (session->knownhosts == NULL) { return -1; } } else { SAFE_FREE(session->knownhosts); session->knownhosts = strdup(value); if (session->knownhosts == NULL) { return -1; } } break; case SSH_OPTIONS_TIMEOUT: if (value == NULL) { ssh_set_error_invalid(session, __FUNCTION__); return -1; } else { long *x = (long *) value; session->timeout = *x & 0xffffffff; } break; case SSH_OPTIONS_TIMEOUT_USEC: if (value == NULL) { ssh_set_error_invalid(session, __FUNCTION__); return -1; } else { long *x = (long *) value; session->timeout_usec = *x & 0xffffffff; } break; case SSH_OPTIONS_SSH1: if (value == NULL) { ssh_set_error_invalid(session, __FUNCTION__); return -1; } else { int *x = (int *) value; session->ssh1 = *x; } break; case SSH_OPTIONS_SSH2: if (value == NULL) { ssh_set_error_invalid(session, __FUNCTION__); return -1; } else { int *x = (int *) value; session->ssh2 = *x & 0xffff; } break; case SSH_OPTIONS_LOG_VERBOSITY: if (value == NULL) { ssh_set_error_invalid(session, __FUNCTION__); return -1; } else { int *x = (int *) value; session->log_verbosity = *x & 0xffff; } break; case SSH_OPTIONS_LOG_VERBOSITY_STR: if (value == NULL) { session->log_verbosity = 0 & 0xffff; } else { q = strdup(value); if (q == NULL) { ssh_set_error_oom(session); return -1; } i = strtol(q, &p, 10); if (q == p) { SAFE_FREE(q); } SAFE_FREE(q); session->log_verbosity = i & 0xffff; } break; case SSH_OPTIONS_CIPHERS_C_S: if (value == NULL) { ssh_set_error_invalid(session, __FUNCTION__); return -1; } else { if (ssh_options_set_algo(session, SSH_CRYPT_C_S, value) < 0) return -1; } break; case SSH_OPTIONS_CIPHERS_S_C: if (value == NULL) { ssh_set_error_invalid(session, __FUNCTION__); return -1; } else { if (ssh_options_set_algo(session, SSH_CRYPT_S_C, value) < 0) return -1; } break; case SSH_OPTIONS_COMPRESSION_C_S: if (value == NULL) { ssh_set_error_invalid(session, __FUNCTION__); return -1; } else { if (strcasecmp(value,"yes")==0){ if(ssh_options_set_algo(session,SSH_COMP_C_S,"zlib@openssh.com,zlib") < 0) return -1; } else if (strcasecmp(value,"no")==0){ if(ssh_options_set_algo(session,SSH_COMP_C_S,"none") < 0) return -1; } else { if (ssh_options_set_algo(session, SSH_COMP_C_S, value) < 0) return -1; } } break; case SSH_OPTIONS_COMPRESSION_S_C: if (value == NULL) { ssh_set_error_invalid(session, __FUNCTION__); return -1; } else { if (strcasecmp(value,"yes")==0){ if(ssh_options_set_algo(session,SSH_COMP_S_C,"zlib@openssh.com,zlib") < 0) return -1; } else if (strcasecmp(value,"no")==0){ if(ssh_options_set_algo(session,SSH_COMP_S_C,"none") < 0) return -1; } else { if (ssh_options_set_algo(session, SSH_COMP_S_C, value) < 0) return -1; } } break; case SSH_OPTIONS_COMPRESSION: if (value==NULL) { ssh_set_error_invalid(session, __FUNCTION__); return -1; } if(ssh_options_set(session,SSH_OPTIONS_COMPRESSION_C_S,value) < 0) return -1; if(ssh_options_set(session,SSH_OPTIONS_COMPRESSION_S_C,value) < 0) return -1; break; case SSH_OPTIONS_COMPRESSION_LEVEL: if (value==NULL) { ssh_set_error_invalid(session, __FUNCTION__); return -1; } else { int *x=(int *)value; if(*x < 1 || *x > 9){ ssh_set_error_invalid(session, __FUNCTION__); return -1; } session->compressionlevel=*x & 0xff; } break; case SSH_OPTIONS_STRICTHOSTKEYCHECK: if (value == NULL) { ssh_set_error_invalid(session, __FUNCTION__); return -1; } else { session->StrictHostKeyChecking = *(int*)value; } break; case SSH_OPTIONS_PROXYCOMMAND: if (value == NULL) { ssh_set_error_invalid(session, __FUNCTION__); return -1; } else { SAFE_FREE(session->ProxyCommand); q = strdup(value); if (q == NULL) { return -1; } session->ProxyCommand = q; } break; default: ssh_set_error(session, SSH_REQUEST_DENIED, "Unknown ssh option %d", type); return -1; break; } return 0; } /** * @brief Parse command line arguments. * * This is a helper for your application to generate the appropriate * options from the command line arguments.\n * The argv array and argc value are changed so that the parsed * arguments wont appear anymore in them.\n * The single arguments (without switches) are not parsed. thus, * myssh -l user localhost\n * The command wont set the hostname value of options to localhost. * * @param session The session to configure. * * @param argcptr The pointer to the argument count. * * @param argv The arguments list pointer. * * @returns 0 on success, < 0 on error. * * @see ssh_session_new() */ int ssh_options_getopt(ssh_session session, int *argcptr, char **argv) { char *user = NULL; char *cipher = NULL; char *identity = NULL; char *port = NULL; char **save = NULL; int i = 0; int argc = *argcptr; int debuglevel = 0; int usersa = 0; int usedss = 0; int compress = 0; int cont = 1; int current = 0; #ifdef WITH_SSH1 int ssh1 = 1; #else int ssh1 = 0; #endif int ssh2 = 1; #ifdef _MSC_VER /* Not supported with a Microsoft compiler */ return -1; #else int saveoptind = optind; /* need to save 'em */ int saveopterr = opterr; save = malloc(argc * sizeof(char *)); if (save == NULL) { ssh_set_error_oom(session); return -1; } opterr = 0; /* shut up getopt */ while(cont && ((i = getopt(argc, argv, "c:i:Cl:p:vb:rd12")) != -1)) { switch(i) { case 'l': user = optarg; break; case 'p': port = optarg; break; case 'v': debuglevel++; break; case 'r': usersa++; break; case 'd': usedss++; break; case 'c': cipher = optarg; break; case 'i': identity = optarg; break; case 'C': compress++; break; case '2': ssh2 = 1; ssh1 = 0; break; case '1': ssh2 = 0; ssh1 = 1; break; default: { char opt[3]="- "; opt[1] = optopt; save[current] = strdup(opt); if (save[current] == NULL) { SAFE_FREE(save); ssh_set_error_oom(session); return -1; } current++; if (optarg) { save[current++] = argv[optind + 1]; } } } /* switch */ } /* while */ opterr = saveopterr; while (optind < argc) { save[current++] = argv[optind++]; } if (usersa && usedss) { ssh_set_error(session, SSH_FATAL, "Either RSA or DSS must be chosen"); cont = 0; } ssh_options_set(session, SSH_OPTIONS_LOG_VERBOSITY, &debuglevel); optind = saveoptind; if(!cont) { SAFE_FREE(save); return -1; } /* first recopy the save vector into the original's */ for (i = 0; i < current; i++) { /* don't erase argv[0] */ argv[ i + 1] = save[i]; } argv[current + 1] = NULL; *argcptr = current + 1; SAFE_FREE(save); /* set a new option struct */ if (compress) { if (ssh_options_set(session, SSH_OPTIONS_COMPRESSION, "yes") < 0) { cont = 0; } } if (cont && cipher) { if (ssh_options_set(session, SSH_OPTIONS_CIPHERS_C_S, cipher) < 0) { cont = 0; } if (cont && ssh_options_set(session, SSH_OPTIONS_CIPHERS_S_C, cipher) < 0) { cont = 0; } } if (cont && user) { if (ssh_options_set(session, SSH_OPTIONS_USER, user) < 0) { cont = 0; } } if (cont && identity) { if (ssh_options_set(session, SSH_OPTIONS_IDENTITY, identity) < 0) { cont = 0; } } ssh_options_set(session, SSH_OPTIONS_PORT_STR, port); ssh_options_set(session, SSH_OPTIONS_SSH1, &ssh1); ssh_options_set(session, SSH_OPTIONS_SSH2, &ssh2); if (!cont) { return SSH_ERROR; } return SSH_OK; #endif } /** * @brief Parse the ssh config file. * * This should be the last call of all options, it may overwrite options which * are already set. It requires that the host name is already set with * ssh_options_set_host(). * * @param session SSH session handle * * @param filename The options file to use, if NULL the default * ~/.ssh/config will be used. * * @return 0 on success, < 0 on error. * * @see ssh_options_set_host() */ int ssh_options_parse_config(ssh_session session, const char *filename) { char *expanded_filename; int r; if (session == NULL) { return -1; } if (session->host == NULL) { ssh_set_error_invalid(session, __FUNCTION__); return -1; } if (session->sshdir == NULL) { r = ssh_options_set(session, SSH_OPTIONS_SSH_DIR, NULL); if (r < 0) { ssh_set_error_oom(session); return -1; } } /* set default filename */ if (filename == NULL) { expanded_filename = ssh_path_expand_escape(session, "%d/config"); } else { expanded_filename = ssh_path_expand_escape(session, filename); } if (expanded_filename == NULL) { return -1; } r = ssh_config_parse_file(session, expanded_filename); if (r < 0) { goto out; } if (filename == NULL) { r = ssh_config_parse_file(session, "/etc/ssh/ssh_config"); } out: free(expanded_filename); return r; } int ssh_options_apply(ssh_session session) { struct ssh_iterator *it; char *tmp; int rc; if (session->sshdir == NULL) { rc = ssh_options_set(session, SSH_OPTIONS_SSH_DIR, NULL); if (rc < 0) { return -1; } } if (session->username == NULL) { rc = ssh_options_set(session, SSH_OPTIONS_USER, NULL); if (rc < 0) { return -1; } } if (session->knownhosts == NULL) { tmp = ssh_path_expand_escape(session, "%d/known_hosts"); } else { tmp = ssh_path_expand_escape(session, session->knownhosts); } if (tmp == NULL) { return -1; } free(session->knownhosts); session->knownhosts = tmp; if (session->ProxyCommand != NULL) { tmp = ssh_path_expand_escape(session, session->ProxyCommand); if (tmp == NULL) { return -1; } free(session->ProxyCommand); session->ProxyCommand = tmp; } for (it = ssh_list_get_iterator(session->identity); it != NULL; it = it->next) { char *id = (char *) it->data; tmp = ssh_path_expand_escape(session, id); if (tmp == NULL) { return -1; } free(id); it->data = tmp; } return 0; } /** @} */ #ifdef WITH_SERVER /** * @addtogroup libssh_server * @{ */ static int ssh_bind_options_set_algo(ssh_bind sshbind, int algo, const char *list) { if (!verify_existing_algo(algo, list)) { ssh_set_error(sshbind, SSH_REQUEST_DENIED, "Setting method: no algorithm for method \"%s\" (%s)\n", ssh_kex_nums[algo], list); return -1; } SAFE_FREE(sshbind->wanted_methods[algo]); sshbind->wanted_methods[algo] = strdup(list); if (sshbind->wanted_methods[algo] == NULL) { ssh_set_error_oom(sshbind); return -1; } return 0; } /** * @brief This function can set all possible ssh bind options. * * @param session An allocated ssh option structure. * * @param type The option type to set. This could be one of the * following: * * SSH_BIND_OPTIONS_LOG_VERBOSITY: * Set the session logging verbosity (integer). * * The verbosity of the messages. Every log smaller or * equal to verbosity will be shown. * SSH_LOG_NOLOG: No logging * SSH_LOG_RARE: Rare conditions or warnings * SSH_LOG_ENTRY: API-accessible entrypoints * SSH_LOG_PACKET: Packet id and size * SSH_LOG_FUNCTIONS: Function entering and leaving * * SSH_BIND_OPTIONS_LOG_VERBOSITY_STR: * Set the session logging verbosity (integer). * * The verbosity of the messages. Every log smaller or * equal to verbosity will be shown. * SSH_LOG_NOLOG: No logging * SSH_LOG_RARE: Rare conditions or warnings * SSH_LOG_ENTRY: API-accessible entrypoints * SSH_LOG_PACKET: Packet id and size * SSH_LOG_FUNCTIONS: Function entering and leaving * * SSH_BIND_OPTIONS_BINDADDR: * Set the bind address. * * SSH_BIND_OPTIONS_BINDPORT: * Set the bind port, default is 22. * * SSH_BIND_OPTIONS_HOSTKEY: * Set the server public key type: ssh-rsa or ssh-dss * (string). * * SSH_BIND_OPTIONS_DSAKEY: * Set the path to the dsa ssh host key (string). * * SSH_BIND_OPTIONS_RSAKEY: * Set the path to the ssh host rsa key (string). * * SSH_BIND_OPTIONS_BANNER: * Set the server banner sent to clients (string). * * @param value The value to set. This is a generic pointer and the * datatype which is used should be set according to the * type set. * * @return 0 on success, < 0 on error. */ int ssh_bind_options_set(ssh_bind sshbind, enum ssh_bind_options_e type, const void *value) { char *p, *q; int i; if (sshbind == NULL) { return -1; } switch (type) { case SSH_BIND_OPTIONS_HOSTKEY: if (value == NULL) { ssh_set_error_invalid(sshbind, __FUNCTION__); return -1; } else { if (ssh_bind_options_set_algo(sshbind, SSH_HOSTKEYS, value) < 0) return -1; } break; case SSH_BIND_OPTIONS_BINDADDR: if (value == NULL) { ssh_set_error_invalid(sshbind, __FUNCTION__); return -1; } else { SAFE_FREE(sshbind->bindaddr); sshbind->bindaddr = strdup(value); if (sshbind->bindaddr == NULL) { ssh_set_error_oom(sshbind); return -1; } } break; case SSH_BIND_OPTIONS_BINDPORT: if (value == NULL) { ssh_set_error_invalid(sshbind, __FUNCTION__); return -1; } else { int *x = (int *) value; sshbind->bindport = *x & 0xffff; } break; case SSH_BIND_OPTIONS_BINDPORT_STR: if (value == NULL) { sshbind->bindport = 22 & 0xffff; } else { q = strdup(value); if (q == NULL) { ssh_set_error_oom(sshbind); return -1; } i = strtol(q, &p, 10); if (q == p) { SAFE_FREE(q); } SAFE_FREE(q); sshbind->bindport = i & 0xffff; } break; case SSH_BIND_OPTIONS_LOG_VERBOSITY: if (value == NULL) { ssh_set_error_invalid(sshbind, __FUNCTION__); return -1; } else { int *x = (int *) value; sshbind->log_verbosity = *x & 0xffff; } break; case SSH_BIND_OPTIONS_LOG_VERBOSITY_STR: if (value == NULL) { sshbind->log_verbosity = 0; } else { q = strdup(value); if (q == NULL) { ssh_set_error_oom(sshbind); return -1; } i = strtol(q, &p, 10); if (q == p) { SAFE_FREE(q); } SAFE_FREE(q); sshbind->log_verbosity = i & 0xffff; } break; case SSH_BIND_OPTIONS_DSAKEY: if (value == NULL) { ssh_set_error_invalid(sshbind, __FUNCTION__); return -1; } else { SAFE_FREE(sshbind->dsakey); sshbind->dsakey = strdup(value); if (sshbind->dsakey == NULL) { ssh_set_error_oom(sshbind); return -1; } } break; case SSH_BIND_OPTIONS_RSAKEY: if (value == NULL) { ssh_set_error_invalid(sshbind, __FUNCTION__); return -1; } else { SAFE_FREE(sshbind->rsakey); sshbind->rsakey = strdup(value); if (sshbind->rsakey == NULL) { ssh_set_error_oom(sshbind); return -1; } } break; case SSH_BIND_OPTIONS_BANNER: if (value == NULL) { ssh_set_error_invalid(sshbind, __FUNCTION__); return -1; } else { SAFE_FREE(sshbind->banner); sshbind->banner = strdup(value); if (sshbind->banner == NULL) { ssh_set_error_oom(sshbind); return -1; } } break; default: ssh_set_error(sshbind, SSH_REQUEST_DENIED, "Unknown ssh option %d", type); return -1; break; } return 0; } #endif /** @} */ /* vim: set ts=4 sw=4 et cindent: */ ]Fp8 _;ozӔdxU]@HYBv,h3tr7|yଘdM9sAb0 g)V6}&v]LdqW>sdYK"y߅e=,G1^( ߲6TO@/@Q[0.P,Sڶ[J_)ʻ6 tuhh~En}-(#+!Au S|k^0#Ie4cLF̔YHSAqp21A7#<+u^=}t;6(T}+c? Hc@7}:h8la)Bb쓗 0%A8̿TǠN1p>B&0j-u~GO=WV(;,Gԃ@ C~7Ti~ۮ(a~PrNXM{S/.xT㽗1L_Bt!|A/iA޾[2jsB*WvFJS!f)ns½+ l^U:*aS<c: n\Đ y|ִbgQ殡 1*.?y['u.#(?0ԩ.PF C&vd; =iXɧ Mg~&f\_@xvDwwlazÎO;g}S X@?r+ZíCΟ*ߍ< Et>"L})8kW^RӔў SokwF0%zJT%6"Qۑ躽 h[~0!h}?'0:y/w BE+.Cve3r(Y&iy $\ T (8'Dˏ<6)}<.^ӗcBunLjQ$`iGZy0O&E-U X+HߤFi>lb&JQVjD/գCxt6V ShoRݸ+E1rBB0%|t J)8OΈGjXpPttĉ mMQ!x~"#ѹV. ">l>76 4R[ ZHQғlyC 5f?Hhm_qlIJh'@T e-o7=/>1 ߀33l*3m h^X<$jSv}i?(,)[b1 /# +{ʩS9Sw#7QGv"w"&#8Xų"/I&ɜYnA]ఘS! CA1yhhQԐSò{1P0b֢[K=FMt%E&Ջ +YV!~ʪ(&m=Hd9/ZrCrL@ؿ~%5eK=cw;w:5<jBs ؚN k.ܳN'F+RZ~#!?gū1j<]њOp>jrSPwC{NQۢϫ,{ȡOctH~/Ymx1i"WTҰLbɿ70w-' ;?/,TxL)eu$53w &x)ݛ|/8 #!cYA(o!IUQG EAH͌{dt0'2Yk%]1{VoS3"^GO^e/ N^) `u;DZ j-2&yZKAǵ/(1R-LWqm_bڨ~/$Ck|&Ά5Ex}A"X!g TKe4| Xu&i@-%2)!$7T > ~^OwFɹɛڅjmJ80lPwsDžj>T?z'WBS"<2j*mOfNݭflXc2(.LhPأL o6W? uNTE_Mj3 SFsF Z!AL6]KPVmߪ 2a8p^E{4Q,\(GG-:)ޤ/>{:U*\%C(q%O 22Dp2w?!Z~jepiï Aԉ\x:7VtɗRXRsgT:exʕb{HU-偉]/o^ՕJyvW ̐$8chK<-DG^}sgH9jVHYtQ?=I'+q"!VRh]X!d}h:LPzZ8D wK cҎ(_x2r՞qjaQߠ=Pk]|FiPl%LOK(ѐ"~UCT% ]v`yCrBfض~O9&SP$(mYC}iyn8EOIN~ow|"qmd0;"iZ! ~*xK5Վ8aށE,C6;@5 cEBJqǮb:y>36" mc a-{$yTM e0cN,s1[]itt=L,3z%^nuo6pm({+0X) zO7w tcЉfUA,/5sỾlJnޠX 7msjA)T)f h2ݧ;W*m >Br@FْhsCЂ*ɐ8(Yȋ^P3,d1ӢD=apjja;e'BNe__^0qN>y;dmA`=c3 KuA07߅l InHDCYsT'蚏Gو\VN&69S[5Ýd9#_a낌>sZ.E]Bg$,(n~3r#,vM`! PfB|!jTby- nf1p,mS qJwB3͖'CS6=XMR4slF 8H3eiF̈a¼Cȫk (<0A#^dиEﰍR+=zPՅiPs xT_#U4Fc@7X[ɱh-"@i O+J,+jlۿҵeK"AvMOx&QyſQCH-~ bA2oA`z7vzhAqe@^b{ ,z3 LYmizE:8ٔ&% _=W^ڲAIک+8ɨ^!m9rU 9E"RJ=YSs8@hna=ǧeXiI#Sd;چ`+. )5oM̳i'}=}݉wV$H0WDEL=$%^K$I*ǏhuKTnhT@mfJ^iXD#3e3svZ9mJ5rꅃ^&jWZgr# ԉ@,ss⑩xm$u+;6 Hz R)`ۍ:MWƊС,ybEʑI&Z%x= Błż!c ۃ?|BÆ'|R#Yjl&a^|VqSFXétIE㛋eC:yћҳ,jYT^LsA(_j#k\7UMSgw2,9qܔ< Qe.-b̷6N˹nDPN^xd/`WSgC[lb/ L+,eݑC>=pw%%?4<>4;T+~Q8 0vAZ\X2XwL8O@m\ŵL5#mLWsxyTSkKxʻk'VTEF4]6<(Ô*yjz+a39.}ϕe^VgGc.Iư*E]ߔ#;VJڢf7$D'sbQ YS^|Iga]۟,ګFk@.7PėdŚz]CF0Pc{ؼ͒ʆ.G)tcħwZSK؎< ' IwZe$Y)9WJޛm]}'cQ,醸t2P#,|pŕPfY6/0~)l=P>iN +缸qhxUEԹĭV8tb4Z R DcqueznuղKW7 cwSvԿwê)Y!pcF#$'5w5QL@CF;![V'rYJ5Zs,cj]$hOȋKF9_]uO~Mns,1cˢ ! w]{;0A}3_i9nTN &wx%(u }z,;Vtodgƺ~d7WutJ]䋗B=gh9O!PĈ߉E}6~ nܐ^D DE:5=y҇ӂ}{%}XV!QER1V-"^+t!jrt#Hf"WsVY8~;/rP9K(C^OW[Xeh`Neǽ@^BF@ gQqWFv_I&".7c,a)">Irg$c H RK^rrͻrBp7udt}p;,F$܋k 26 Ֆ8x3@ 2DF"- Ǚj8 (|+(#/ǧB*yaVF2Łm/毷(`_:7<{*z5,% BBBŞ|UwAIW'_΂MW"򙾲pJ@ݸ ]H%޻1^-Oa۔r(DS?\z{d6O56wdETb<l#g .;pm%Rǔ̅q9vs VơT՚JZPQ2"n Þu۪;W,}tx~G+aqo3,`VʸoW i%i)HۄÉ@&4l0`D(AI|\n@xKtPn&m,J; " f"4>4rfr;jl4U,4O_3g2g-6Q9BĵfV9ZV"du%onm21 Vt=rd28 jic™CBr c NťII9h)ij1,[hţ<&\ERѼr}FGp cChn UC\Q:yb׺~Τ[G<.Z=4J0Ev'q(@uTɖOVWXҥh:2)nl=1}*c)p/V>O!>i`=\bk(Qy|^7 p'9Zu9Pn<}g惱T/zZZ-Y"q셱9.}U?ktI|M_DH>KȃJ#-pO|I @lJeq.'A4ڢEGi/QiWLgvtX3DRZ(OR!Hƹ$ifGMYO}]_73i KZ'H Ad$nxy@u0|G8.xOT B5%Duuh,2{nVKHIji XAMH`Iub٩~~r&&32/m": E51+F:ús_J6<]^'SHi_p `(n)n"Q6jC~ >̐!qPɿa# 7?Fnw֚iּm G2E&&S 'n&t$8lCIS dz˅[Mrz1*a:۴ؽv##pcQBhgGU3$^-[{M5;yЫR]4=HSOKLWE&Hхl߈C]n^ Xy(ڣƮe|ȼPvLX4u3XBsOUݺ'x1=rܤ3GXNR ݩ펕/q1Bv3%X޼!DLH1OpF-ڜKs~,uyKWF#l679g~" ]"lWN sxx1i^RtrLfxQ( = @Nk| c(&+u綶iAڲǶ}7e}T =_L` .:5LMd|ȁ8&0R'R6,oaFuq+TG52$cP]H\d P lXE 2#WgIХsè]HiP{M5fF 㳕k&`tP1+ܖ3j / K҇0#+9eU9ỘÍo=)Gnƾ#DŽA)kAcY¯KA( WgKy('s'ZTlͺ.SjUT2i-RZ_Wf glc@`bv&\b&BaT£c,{)f5EUp*Ґ DχMxOmٌ*ddnVmpCSvϽj ,0_L22XoiV)PUP%=^ڙ| ӂhPU{A F?$7+V9̝d97^g{07rd_m=YPՈN{x֡'zxfJM6 0I!(l&{\MAMڋ<]X!ZM5X ٫b2T[Ov&ŕw$U@1{_)MXT6圾ncb{b\鷮P Q14WF=W<}Xy2ѡR xEˤAl#kCUFzC}]Qp0†"<®j\AXpTUcPf'b}!NnʒpTZgkӾJ{Ta  F/D0<²9[k.[gHVY%p@er_6?Ep jzT#_ֹin:'*EB7]B8CZ>9):5@~{;BȖQ*iռ>Bu]2y} /ceJA \Hw: G}1P=7 zݯ@cUHsvS/e%:ϣ7 äs7I8TAsե^fU5OV</K/wjȱA1.g%ym&fSWrXT #^_ӘC`O"/DY9?T6;S /Y|* x=(q x⾅)0a!f.t 3,o?߳!XSw˲G;ˀ1/Ywמŗ;_e rvZ an%'kV&k a또1I/Nx8_lL=2ߎ,##,>6.,-*8 ^# #5ڬ#Ѿ3" گ=krspŬZ}Lmws&JydrB {!Lx4]}tin`m̤?@.x7"dzHdK+=bs>~\)m= 'mzEt!0i\uzZ7O%|:&L{y,#SBJq$/T% lxkt>zg?׵#0&JkT,`C]g;eί?c6_W=bO/}0cv\!8 ^  $ϵy~,aS=aGr?<;쳕|+4WjW8&c?-l- J#I}%O.;Qg-o}5M%6?Iz/:UPX˨^dqoW*#ae|Yw(L)uUu iм[xA?w @)#Lc,8+VGKE^DӪDcx!q7E)?|y^\{c#E$=mjÖFbNk#A}mm/x ClNdاBдhUc_˫i&컡);.5Z~vm [1k衱Į/4qXu+,HZwRGlAk?Lg41rlL#o/Gr#Bޜ:6Fl (#`ӊ8{#w;*ͣ+$O-WiS8֣GШɕ<K]PU:f=x98\tۚ '1,r|::ޏ #jYduc񸷀w {/4@@oHez G Yk:Y'w&[2خlz-̙-+2|58n@Ž:YS:O599;1ilޱҭ؊R QSr1hXpeq g~~;1Z j3VHi. R%r`7HҒ:vAeC5ǧ*N0 @LC D{dT$O'HU/3i?PTx3Y(Y Ҽ#|a F Yd߹J MW}njVÌf6L F !}[ɑ~W*4ǡ4l/6jZ}vHliʶa ɋ﹇:kLぼJ]#q-,z&J6Z=R|C(+/|ӴɃ=nUB}+ uŔW Dm#r::94! ۋI9Mʅgw\v=$njFCBAo;zi &ۦ.T}M%TGaqqc9n{Z:Oa3g"5)T24Z!#9DUˎr-&j=sOA?rk<(`GCD7ۏdЖJL仍m^ /S 󃹬M.7>&Xh3@՝72@9>s؆-$~[qӮ|Ic}|*?qe u8}hG7KQ`B1'9YT6; OZw_~~v͗? 1;2CjS6XK<Bb}8h8Wi` [cJgND#t^+ݩm2uwAR`tޔ}f/xpJ 0>vF1>C۹/pD}a6$#E҂\gP<XeUY1n SPFTqBPd )RTdim6e? -q2 V=΃SSoB,R=+!oiU{ED,ౢI aɖ_ :(B#H}9<)Z4,8wkN!sTA]t=l[WES;EX1c#` ߝ܆xG.<^omች @lD[hceeE zp T 'Bػ>NT̉FPc56pCɡi dW= @7J4qf^J l{0I@|C ,L)g!2Ft} sɁZZb"gQo`ytf-78u(F?N;.ҲRWcΏ}N?l_PUԵ!)EMM a9ʸM27G͑$PhiWD Kb`Sxci q=mN$K#zC+lc AAWaxkt63k.VQ;hZ*=NLA_vW9^S],0%Q&#6t5;s/ r}pIz|-Q;g[ /ɱ3%Q!#2kK]dH"w#bʍ }DйC1Bb?U⛂WmN L.˝1zfƗ 0#*-puvjBlIi"m:T~ _s LրQX CS]`1?K/{ ɞ6g%I :V p(bݨh+ &A_N,Zj6n;_mi8%X0T! yy{wsb#5VjxA (dh lx7o(`D8*vsViNʬ^NKTb*L$0n.ͩQ&GY#g}~I FUZ+4/v`wawOi~s' LQT<~灠+Gr,M\opHkyK8V p E>Vw&ќxʪ674dZY5p'x"TQ5ًd/Np U"a*+ݺ)/@@Z; D=h+f؅ee5ZsyTV2%mWE~߸8 9Dtu~p/V,n )Q0DJ:c(6TQ =Y_fgsR7O4d45vI쥩~(֙X +qT,2l;0{"TW}PK!)o' .4nbp=7 gPسʭqP] }k(;qXHW%JSн/|oОQpDVAj!ՍTtQv3P%8®E5" [B”ߡ Jr>1+W]aW Z`W^~X8YXz-|lÎw!'%TwF=2uC' 1mZ#u5"T$XIY`L?jgE]d(9b Wv1?4]9Q>>AL7ҸƞIuVӢb(_F`` t QPf>m6e 5qPq~`uRm[QʭylПڬmB-ٮڶ",ߧ0dd87(WV+I׳;M8j;Z]avu\f, 9ω ';4`mt$w'[{Hj⏔ʠJg v@-OfVvJ 1F_BlʲtgD l2x7*~nu#:bϳ<\˓|tYu~G{Ya| ~IFկ/s:@ b2I`g F0N=5k7Ö^XRw6o,ijCð5>OC}s`3\}Wʕ >Ёk{~$Ibܣl06ᩇD(d=l{}??&ZJ-4!3?9 XuIj;K 5`ofѺot3ǫz3Q~UY&躵ܳk(KU[pz$PZXu po"7͗>^ͥ92XOۗ9nB߻~-gvI%IwPv\fW"M]$?vpac/bA/[Kph؍zi? #^d&Hok[,ǚ: &=TKSw#`46W,e|.bngx?\5o( NR.r9@C@X#g! b9\N +ܻ_# ō3eH4 /vqD}@oR6~VUp5T+`kڠ/"&]7}>WX0&efL敾\yDNmPVgOFg I37~O&J ։Ʊ (ۗ52kZ,*5P:]TN^ 8yX8<{UIamYcLYk&e TU5es ^:zwpٞ"x+g?ѱhq5[XT-XHd S, 9t-Jʞ+˧ߟ[ II=ڧoIL)tsm{Մ_y2D)vj_$,Z8qs]P3y 3hyޫW`Tx!Cc|-Yyfenx-ĸ_H&0 h3 ڦX1:tB&O2Lƌ^+#  t||^r+.:6Q7+a_jWwOZL[SPt/̇bPsV6Ǻ\_G?5DHttf֓䁗=OGI8ί,vEU`!Fu=::(} q Iu:!t ^j9(|LxeB/MjOMpۣ.QpLrq?4jTz%TPrsgL>YfnkD"_ؿTuvb7ҰJ+h@*1' P4{H!ȪR pp9τy' Kbt$ׂco-#o zI#1QUɕ)៴hv|AP3j@ $笸#7eahl'!xΣ*_r=׸ֵ^'}nifA\u#D61."lyF6P&3u5!v*˔NxW?fT,00nGH7J W]E߳hH$u8%d jz&7R.^7cv9Eୟ,J8PHQ]EA!5oA Iz¡Լмqt>pnT?]J&+GP_U@(q ?,mH4SQ{\'%5/UMfA6lDCzNi4p$G4?1mYh pvJ@QP~x0$cXsÍ̑ibc , .+k6(rdfQSY&lYoK.m(qp:0xR"Qk- jAZͳS1x%aJ-ٙ/WA dJMN.wrCs%!1傹[FŇa7Vsd;.$3e1]%a2C/AqD" '׹kN">=X],N z=P%;R ʯ׮ى_NZQf& ҇Q?ʁVөH|2

EuhM|ƕݯT' -]Uo}Tk}H 0E/6bqguf?cz $iuF{DA8DZK #%'Tm#|1.)u Gp׊^ 7Z8_*E"ۭmN'ak`;p gI: s = p@U{ibIpj[#NJSsQX3 iqiRI(,MԤke֍vݼ6UgiQg>+ F{" !Qo""q_GaDB>DF]Rd9SV+vՎX$G'"3*<'/Lx|CY C~8NvK<ai+,3>,sۧHX3#&6蜶|`^v'V 2 ٤WEQӈI"f2/^ۦOuf31sG*`]U^3[}FFa(Y 8Ze9dZXUQ=jLv>* =pwYh0ԧZCgW_8 Q"Q+,-RIvni'(ʆ @Fncy&fcA3NV66eRN yݏ`800,'y񸧟#: U6˱ot%hs7`JӔ#x+R?dk U@DI9o:iQ@#S}y2>udeug%q' ̩kǚ(*Jh%Rs:YyTY PىślrmW)}I$'!쿯}ӰG;{:VXߟ"7?\J v㳻:k]l0C|ŻH 5.Ntx5rl$>;O IǑ2XBWPc A)bV!H#}2ceITTZ[ b.KEmN}NCe@^?Y>-;m]~C+i!j܈aE hC f]LTjj2 o9f]uRCcReo*Z;s`3G9v~Mtָ1aIkBS8L{9Y/wԚ5N zM㠯_-ϭ\i؊ʬۄPrUB<_,XeADLA J,rM}ptłYMy@Ẏl  ?.[5Hx/# c!F"Ĭc-ND u_Ǝqָ_vcr 9G4 rGwf#~]Sm*˘!jAoP<F| P ؼ|1=G, GQcuڇaw:GX$dD: MJzU'xq9'xBgIĒїÖA?M& ͈ HN`7< ^M>հα_9BVVYFzb]g/,<6'B->@&% 4uwdQq섈1 IvQN*E$T gʭ? 0>Vj?8NT[uzs$x <> t|:fЯ-N_2ZF˳:7ƲGI]ޙr<'`~"u#{2#en(-rԋ}K/}U;^>Y5=٩ޤɋwW B6V6ѕ[Ϯ^z=3NㄗqcPT\D;@wBH?݀Z)#Ug_ΥۜRcHo(wK%y ZՐ*ecȪ_-R:A:K>CMzlu&#\$$Jn(t+4h`HK&1C6D펙N?E0D7YVRR[?}`F˓GɇIXgyS͋|g=%M(*'LՍĝ vM !qV3|>rEP%Lu5P0L81iZC*?$05eh-ˏ+1#@nUJ(&7B[UۧcxN/P:[ѳA%y'u 3عQµ5x^.Ws9*rzum+moOi$PpLCmww v X`s>2=pl#_g햽 &(xF/p=)( zMz|zpg\8!>AX5 &X<%ÐbK]& ! t*]'Ytvv"Dl/ xMX93K#B4.T3w!ڪw`1h7/ځ,)y)b#DH`XM{#vi< ,ڍ;9\=/ؑȁe+ Y&Ik[Zsoօ-}"qg˖:ym$M錝AGk ;/t:3F3RvD/|y0: O}g|`GIO%i|t19g YB`5 zZurZχߒTc:[ϯ*{=omǻ,/8(>_mqe,#B֤3"./dzNDu4 `uא^+`Dvb2@x&hk~ nJ+i-˅]z0'W;l 3nVe۵w'% ##1So*bP Nt@4{5yÿkEbv`cՓ,tG׌G, .?F%gO{HqTEuhBjOQЛU;G-^0̏*rϭE=չ7dחOh%ƨ9pFG\AHJVYd:iz*ss\WҍZ.E# bL(a)$",0Sǃa+aTŇqvIr]gTeh{ϦϹ̓j ZAUKDX 2,L\ƕx$ow_t[ "v@*a G2pѭj8XIQyp7va9Gu/{Q& H}Jl,n%:c4&2c^'tn.eW+! eoH600<ʽ9t+cR= WqQ\RD,M/Uؑ9Y Gx;wV;.ϖ ? |3sV<5$MsHq]s/MS89^DUSi}ބ1'?l.G4RơQܛo7-m"{ۿ6Ӊ7YUh(`<_KZ1C:7&bPLm6|$k/Ħ^OyTv:Lv~iؚPAi<}9QVKE&הS/IۉnLQXxUiZLAfyK%wIJl!gQ"}f?.NO+bI]I(7? cL;E4~@>RcD'eQ2Z.^C$qIz~_hy/ɓq+wWDbQ`xjXi(j^9vc17".&2'ҩr(Ғ΢{IYz7, |'FNa1NT@'0w@b86HywN߱XE|pn+^`}rF{ #yd_4i9Kvj.[`-afVw ۵_yH"d fϬ&d }w;QU8#y_esEҤqCeX ty 㐺*ROFrmБna6QJ:>! @L%JSG1qP$Wpf1 B 7E (ɖ oR ɜ< Υ0S(s|1pp{iEniɤt7ͭxpc+І4Qͬb<מmP~ߵ_w@y69#O$6e6"W( OC/˳i (e]:q?z%-{[0pQA. Mb3GzRxd0p"!>FUl%0c-y*pŞpj{a*hd{? lj6LK j%I'}+y>n-؉lvi&KyN,1䛟~q9-Kiӡp^CN層,G{RLUqSA'vv"o])I_HrǑ#EqCqr7Pʽ*9)wٸh#1mxS S׈r7&3ܴ D~кf䱦nt-b6a8.zMP ngXgE%^Ȭ6|mQE(1[$޲v,|G4j ߝꄭleꝰ'oZ-BuID$uPE̕M=+H&NS(mТ #ߌőw˃#I_ H[%#qRD͆ f̤΅"@.3`j[=α0dzة°zƞ83ݙ~]ρ*]z:s:cO@M\Z]br}0xIRęKaN;fK/`DJ3Y㦦.Zjg72|"AyVjd܌;zr`VJJ9qWt,oRs _#l%,]pJ4Y^:vk GJ̛-p yT sTщ3&>pex뀉1;;Ag3s%۔2=!o 5YOQ o$~u19+ٹ5 a f3׮e=NF!B_I[< sX?Z~㐲0)>˛0lk HO U+7#Xb {]9Ͻ7Nx_ L͓q3<4 u:𘈥HN0%1hLu2V"/?=`vAiGG 8R6T:ϊ0t EǠOMWvIRWa {UAwy JYnJeFA99F`1l\⾛i]teڶ:.y$>RJk=uwUM-C4{0/`Օ=v9\z>W{ө Ȇ}߃y<ayd0Z|h/$f@ecVVR$?jț8irqЋlOu@;] @Zfan3SS0{nr:Iډ|sfBUAv@1P2}tꁁPO /&]#ygy\O{̶A'JX{N%up뻺٢ }T9*H.VY Y8wTԴ dk(n|N ku6[ƹ=A]+vaW(hWlDmIӉe)k935ꪣ rZ .Z~A'{_qd_~BZ^oUqcӬ(p,Ʒ`rD+!L2Hp Y(7`=I5y|t5*ГĎDGSRzHK=ʼn,Pe"={ 8WLF˘F[fAo9 0/a^\eê cwh?(r,u):YjxMO.v BAU5myn~ҝρ_&zݧMrpa3lD{H)Y\WBA٫{-)I.va͡ݐ)%+ )|aE㽁m?"wGGPvA=S)",?3Y!wrb*oy`*ɽ%5^VjEI^8=:y`3s!x9oj(p7B1LO\wx'4DPDkŢ2Xo-ܩX% a𽹍1:vCVpP&`ix:>`H7r#vh 0ųϥ{7t(f됥RȅXnL~Gx#E^|x<ԯCh#++)'@ %/LF0VlPe|TQzɱO^ QoWa0RFO_)#yY.<ٰ\;!~%]o06Mc4*J;NKxʕ҃Ӌ/ڄA G$H&̇E ޿p g*OԡOR w I%^"̨=0{HThGn"_sj@8Rh[L,,c^;2ŠM`Uj1Ud uJ#S>}0qU }w9hU䯓$}Jw{ehEEz/@༵!@YSuD,44ĄJ'NpvN3wr\BT: q+ׁgCjn4XIy 9XÛK*g<GٙѮ6 3F~g"d0b?E *Pm4 jNzD:plvu=#8 s;®޷*Y'9Yhq4Y7%PFqcK}r* Ae.TV]d*pջ0Qٟn1Q2kC]k<6Z~ߨSZePgFNoшỺO`5hrbߓ'~&.]mFBjZB)t夔:H-L%K˿7brI ]àDʼN_D?G` @˯Ewd0 .bn-/m/8JEDMeҗg |:%hԓ }2ީOK>6ߏ ]5t,E\<Ɣ<ݟ\F4R+ n^)q۟p!z'+b;yEѩ~H0bZb_ljݷ`{>'>|s;BSTuIP4XP߲qo/X7?oQ;XqUՎ|de!e 5 !yٹCM^.d0H*/W(KE5oxy+u*kShi>fr^緘LBZjvs273(Sܐ1{X}O݇E1j~5 檿+0aLڔ8o] 6wqTt>aeCEa̢r(Eŏ\e (w=* \N0U3:LtI?-I%H}/dKWľ@#;M ^jnqp /|>cvż.jCf0bEV1lavs'ngX۹FLM~翓l]6o_$uIsaű K p#pbH?|tx<_h4MOR/U_*\"?ڡ fvuDqf -?}DY-<{J_t_Dr?jAA4O|<8ы iq|F9-7C~m^sw3#e؅hdWH8D@nc|QLgol154*eI}-5S%QЪV =[ݶJĜ9\Sl2 4/wmXJBS`D)Tl1OqBbEG#om_[`(orRE% hB,HƔػd9y+oWƆCg(ǒ=InGzIi)g3!vՓU`0ۖ3bM-FH:(\Z GJDpM¡^{r|ķtR].<&κCͯ(1(ȱ\n]Lc;A:ș Am ȁ蓙"wI$Lb'VhpA#=z.w1cj婛s eC2Nz֟B{7U-t 2dpfzm<101YM\h7BcL6xg2x?%.y#9jN-J)5lGUAz@'J&fFN8ji?믯:<㌑LkXNf֑hk@-%AWC>Ȋv|O˧p}Ӄ@SE?ƒ ;Q o>ct aixK{ LY^f0AMw[4vUv,!G"spf2h"!G5.rvFsc0#ʏ"~ѥPbTgt1F|rT эn2_xAUKx'S1͍zV( ӫQETC݁T 3 3tlOepWgDù(϶tzˣԉ^5*13HmC@ʒ;*yoJrD8w dCA)  bv 1 aH&Uͣx\*>D?qn1H1Th XM[IaOCw$ukj/;boZdOr':c/P@j6 J7m'}&Hu$ 0+>0V%g썮y]8aBdJ临zE2>pY _v#c'@\1V_F0n_ |~ƛusQ=W.|6EKv62bqB$WkK7<іlVoJQlg&}M^v)%=v #*+i]R-Dt z03.淫6|w%)M%O^"S&s]AHTv!ށ5l ܋U;@ LM0EYS:%)BYVmti-Ao545+rgwRغs/4b[/#Ϧ hεG rLw*NyK>hdOG E4o?94\'ʞ)mE}cvʼd,\!h$z`+㇙Y_JfﻼMCASlrHo'lmukOskQ3#s-|`zR 2Qz $u&aY^ԍ5l g'9YGO9v@rFQz?$s{d%d@K=_ք0jslV12'mFOGp3en Y%_UoW.K)P6ojJ݉Ǽ0XcQ4 p?Dי2v[lq [VaQf#scM{-[Ykls,.VԂ Xp?J@Ry$ψ WPRWP%I-gB;^2o1 2fY} ȞwFA=ctRk>hg UKV8:gDL ,gWWW/őgPWr=BȪl[T2hg2&|'[pR"7Srv[F,Ht0yUVXq9ǝ&K\G"U|V yފ]W#s j톛g:ר ^Gdk|[P,޻0?I3:,\c.hk -RpU 1K`&Ѹؘ&FȬPQXM}(C)D*ؓqxz͸qif~U2Des"i9~n%uY*k4, GmW^C_.zfez!;|q5}qOp 0g\nd(k{SW{j9vs3:bh'}ä ACXLэ,\rF|}*[E{90s0_{۵]ku} _U&bnPbEQ[Z\^H <3b1_LlsQ)n Zr9EWi0%c A2Fˆ$e6jT?,(T/+8 $ QD(K8V3$eZtT,3//N+y7wH7WI5uht}GRlr. 1x΁TPcPӦZ0uA.E#tM;>O%~:m9iapSIS&`Gz>)2-k?Ae1F{Eñ*$n)A [9W4E.ۛu8۞ @4X a֪Dc-L%K3{y W1.R8\ۋ1-rIU|\ygkx Ԡ٭8 4MX%<]Pr X3 mIlCj;ʚ&U{[1e9e ظM O#^"$D:՘KƻQaa (΍b.L,=4UTnmQ7-nq`lL0j۹;/`cj=|܅DЇ返0 $YCV@(ؖDl{íUZQ2M//r߬DvI!/P>?)f0OX DD)%Ms m{" _wλLLϞ #X̶D%)1}EV[K6dS Mn7\w s+] b]I-o]ji/<˲3 *D+7Q {˧-OYܨD 9Ihb3})lfgԊGI +K3y15u.$tU^n+_D^MŻe!M0]sH}XX`91nƑoN Hǐ 6V'Xʫ187<7V+ {6w'gc∛l ^v?b2=Z:hfo?#{/sbGNG>_6.> q$Z>_aϟu6k:*hIS|N\68 :==c4h|Ɩ&I4 C=h?<&vl:&?>n$s@؄cRrbWLoJ@~lAgBv.IeT(j;y}{܅_*o.{Ǟov­k\cYl`w?eMTƣU>rR)|_ >289h|;壣Ò $ofs`A4-B`ݺ&>̋u{W\9F[AYlk@f x_ =|~&nXJȕ ɸWGMl,`" N7E7tHÊ2rO~z'ťU½V :)|:%sQZ[ۨ/w ҝ^<]1AH T\B ɞ97]8:xG&e]JƣU(4HL+$$G8 MDg#U;qʊX`E&uj XDKԌ۷πGeX`yݫ.xbF :,H|IDuE7r3YQ(MЂ>*F6EaLbdty)z P.S`9,yK{zt$j= xdYqW2Yuǟ*(s PJﱰD\bwŀmxkc TdS^6"JUvCpxy~qb M$6ߏ"_aҺZ)\ RdfLΙ!`TV Ið7@ rQfY$d21ƯN$q4{τ')^zzP3 nhr{NдccHN_zsolA[-.qjq*ֈ] n^%9;$a&[zΡnL * +̋'8I/vtĞxƐiaP%MszN""z~TX:2$r5&;1ݩ*K*JZX}C0+\q! A> x*$&gX&Xo8JHҫh|%QaH ~/ibPt{%;Y ulͫ-`=E->ͩ]4=(uJY| MsOrN侮&^q+ȠxQkN߇g"~?3#rwMb`" .k7!1{ptv5TX`st7 T#'B ɲ옺,;6Q`W=ka)1" vM)#dZ;L?[C끞O!1P9'%p A?L0zr0J-E=kNLdd6Roې$R ª+p~q`-&QT DڟovX[!|3GR!n)&÷)0)V'3 H+~TTYi`)HuA'8̓%bR23%aWlM\GnN)Q .;&3A,%ߚn*YǾ5ϯi.220nkHAJOC6w)*@_cZ77VUX. ӬMŵ9G%^c)=qݱNxC(WJgَNβ#6DxOׄ"l[L'E+T-HqĚ^Q$1{jtsA|2H) ݸKۣ R@D|V7yY3y8n?mM{QlzQ H߯۬:0fӸ;( Xtq(`RȀ!WK$Amd^WnpޞOVUC{;@cwp7ChW8buv:y^ k.h:8Ϥa{b=>$+V0Bryl39]p׊qq7oH ]q4"1}Op Pe Q~h ԁ2ը`4k!RPfn_!p"on\VY'd8 җ(HӈncHY(k„"$gj81<Xȯ?v L[ Xdjluft][J* +cxBvg~̕:I Q[?% f&rwt!G%7RtQ' ͦÐUL(eæiUۣ[TE ÍXl+JB;6"nPOMƣm,1f^X/I*~^9 j9fPpA)K'sΩhD|:c*)c`p;NmK,:wDf|Ab= 2Տ\K)I0cD16І;φ=펦Yy@ d2Z ٯuSy<ۗ To912=~YXxz,N?%aj(Pe~w=xzhf6ǁ3( 6pr^y)[. 8<= Ho>"e RO):ܰ5.kAD0 Kq]/FPU0\ 8 E0)Mcҹ!xw`IK|cI/'3zC?H].Zv{ Av3kSh9]d~!5ަzD x.]GHWj̿O~%th*J6Y(̎>" 鳌 nܚ‘i>Uo=oqh_eyaHȪ#ZVO \7pOx|CWS3BVWmVjL =.x;H)rGAs\ +Pf ׅ,Hw-Sqn2fk y[2yodf'" nڒo+\f9 Dź b+: 5aŗ#-|j:>Imqƺcդ{9𲗆8r*ږ_{ÐE`(Ż} E!x+KMҦ\(~yLM^$Cmڹ[ !754 k+PVa2Ru,u{R-Gmy޶eRy`No @ &΋x/bV#o}F98]?x x+ *9 Hc#* uPVcf`ŔyH*!ob.RfA)LVmaܛ#1 VPn W&P[գtKtg١Ӿ{֠ա`M(Ϲc>p Gr|S`{1xdcbu47d`:yP'Ԕ gGVJEMkǬѪֈm"gDuVyARu+8qΞ;C^8qTB>*5"?LQ-f0 \KLǽ5"iluwev A9KgOSJ:0LrtoR.qO%it}9v\37Rd8e|\X˞ lBFj\/>V=w*b#WE&yУH%v1cKPg4F4heXZ]sN`exs0j~|F>D]*F8WX{5%N9jy5j`l[:;0:~M`3B5&2l.5O>l.?நf`W 3c 0吖{I>"ˑo=R*ߢP |pĬݠV{(et|?CPx~4蜕T:oBJ3G/fMe e8$.5XпZ 0YVQ-A׊|eR~jþJq*@1m3R,M+n2~nGl0!G>{ַR_&eONv7ٳJW4G:]B7]Or%CF+\:dyy-5XEzpmpK^'!c8&ې;􉯊6tI&ĜDs+Qoj.eQ]%ӳ)^| 9'$ ř OzJVdD{&#NQ% EA7λڋ\9"'|8AxS&v1:ي@LqLrG牷J$6nQof Tn >y%[z<@}-/sAr}r$s^J;.aw|kc hC_M"۱3r|pxLz^cNkUɜ4s g+bVtBݵ'>07L3Ԏ L`oVwfhLjyR2thg[;) Ŋ2al^Gm@3G`0:mITcf) 1ʼ\mO !Ս*ږ =@s]j@QIΏ`Q5Ń_>4MC s6sl:dİ Q˓>KW`F1'̑4*u+Ep Y2G˟Ft,~ W~,en؜mH&I>U°#^(Z|֧R l71ywy2Ů30sdiZP_SϏPt(O`D|aNw6墅w9 :1E/QjF05d J^"wsh)sM`w2#r(Y41`H+)B(lBԚېWgR}(v;_-Jцp,ؿj]#ޙ?+CNwVR>PϞ2b\72pZ3 Z'Mʱٱr zG>Ӄ&Sd7ޚSHs/YlrpK7mFU ,Cuq#BRvkC7z!wҦOUx)-)nQhE 1/{UEҍ0jp/e\BNcGUh[DWp\H>1Jѹp4PIuu-\5'rjW Zظ4TpjI G(\ v <-fIhb$ ~韙GVJ)Җ:V\tks ?*H xE^Bl9$ +饒(g.޺/qP g1c_H';`YՓM Փok^/E@(6c/#\%I yT:$ń9EڭEpm|+ߟz̟K"֗$@X:nV1!Y#I",b.<ŗ+mGG<jF/ggGw PВtCq.9d"+ 'p3e\!?ͣqqA@f*eS@504_ L"Q*Ӭ4$C!Mp[~hXy`o뚼pv\őe1J`܅8Va0^˴D]NOxL,^n@X<@|y5ZPzW"W$glXAH,i$S]Vљ̬ms7@83yWT+M@Sݫ|yBQoM0u5%Anamg(#6ֿw1i$G3OF Vɍ̬֑WEf"L 'B 78{NsA,Y!ݟ2SWP~|9{F h+ J($х8U8:V{xGYlG=Hl.F"\ØBO.鉡vβb+p͑"ZizVC\aeKֆ/ZKrnZ]C}coKi_&pE:/E٣mER&i($nV4I1qP%UKqBkX\ .Hǩ}@^E$4z=e#7n2R4o0"8!Gk4-ĥkb_9谺ooD ڔWPٵ#f @A,"Aйv-[IM@oh%3OؚmgO<!Up3E72G 5FPֻQXnP eX1D_k8h2#.QzΌTV->ErBŬPYDϥkvu8=-K]c~:ht+9e;p뼚 *zN_D(1cpUA砛.ońBFr{=g9 )ǩcT@/>דܮym(٦( p1 Ȥaf9#moq]j5l;WlGsk M~8~Sx0Msa]X6֥֚ϩ,m@<\7egIWց},]? yXž=1v?s6xz0vȮjA'3YpRA}uo]py6WvVѨn"{&YX1V &pn \[Q??%0)3NG6{Kf͵Lpgby#p7Av2u&CU6AU>WL>8Ro=So- SG$kY3WHZ\z Av L*(Lؒ}.z`/+OZw )Gϝ'+cd0Ҷ#Uc%SRhi¯5b[t3ax~ŖdyjpE~c QFq44g[:V>,0,o:ţJijE œE˱>i5A&LC'fקJi[XĄ*#?LgYQsnQl,}KQf?/ ԚG m͌@d@-@KG6p:όi;K31M;؃OY}|"T61*#F['}%DDcxWJVU^=}xZY]X(cD*]b+RT.z×rP] 3ǖM JFr叾M뺣8&AF)AZgydvT |Y/3=cJBgå~$f!VCKMJ%YC:@SHF&~1q1 _f-$didM=~&D5C@O20RHȸŞ\-=}AG{\p G'OY? "z")vxSԅ^}q*TGXP2Nav=X2Kj Z->M7L } q}mځپG6 Bacv%#1٦k OЇ"EsU+p`٢U 4`sD{ T MU]"zms,UICĎj̣+Dyu$Lh 7hϫlM>e I8:0 5uhG+KgP# |`Weo!Fa۾heP$4iUBF .uSo_iagZy)Y~GarlqLQf׬<Ҿ1j00-cmc{ȥ - nO-zn!rp٬Dّ;msԝlYqhCG[V"AnVJ`0ɺ("Vmnц%)aP͸SLrVr>0sz c^;y}k==< b ku}D0,3u@2$X-uuZs /H#Q/wDfWPJ{- '& N"<ڒ܊ OQ?,Lȃ=KSuʟJ_=!U:mmRaLu(k}qnwiS߽Ye B1źN7pMٞFۢk>ױ)~\^Ob\_c[C]̏iʬ͹m>#!Z{\c7rVjo$5̾t)i<)ˆ oOUO(sw,1!Jz^rm8=j5\nj& \> }.V( ePXjG55@EJz$"ә>okS_:tX㣸obёvMN%Vn Kk;oJ[3nOT6gX{~4fVE00_O{ۜANl3J ]Wru{D}~2zn\!lomK[qt EOL7!uPQ3[eBr~ AG͗3*v0uHu1%#wͶHG^0%D6C&%k;Fh_k5`?ī9Zz 02v+xJB-#B.~Rw zR.@Ӭ(r %u` %F¥mn1\BKL`d5i:jX{5D#HM>֌kekT[w&jf%DtHf?EV.^R+o<&ݔg->Z uǧP=[<9NF14b3:?܁4ԕQpN&6݃2$HHΙt{Pɵv3\7)\-fj7]S d7"+_ /)94cl <CNaǶ2zХ77}£!&X~,\5f.鞉l "";=Irm$`f7'9wIVU5㷑a." p{u~DhdrtpɵʼhC3)d9\tNP;!ˡ82"Sug|`5NVv4jh~ONCqZ_ڟ17m80[ ׊\ ͻ ".|QߋT @ro^jt[+QBj0Ջ[ĽPV1үԦ)xj(iDo䓉i$x5~\6#oB}S 5\5G 9nKw(ޭY_0ȻJp5(MU!pA fJ|lRm!yt> T(,y!UuM-pz>yT9zq蟈 [=g:/ヂmMQeduxҏ'͖M)ՔP0 !Cctv'6h ~><k1@Wh)/+(]5"OpA)}dzѾ+9K~ 'DdH?T,zXXf;sL]ش^B9HTL柔oX-_$:F3R'>: ox0YփcsaœGU&u$]#d.grtЛT.ӞmT| kQsR'hK}ۀpt&X+)Au4>aZ#U?r #M{&4r2ZPR>ހb$} x4LK:IxgXzzPA?h T+o 쎿,74a}n]V:_06>9# `q1[(#F6Wx̂&31[z#CIo*e w4]^h? 1,WZ]5U| Mֆc ]-lCȶJ(SDFtLZ 35Az]VTby /Da׻N!\ٛτsGLᙻD8ƕ/ 2΋nu: U5fM{*t$ ׽BDl^G+ã^D`kATF^T`ّWĻjyim'$1eL[\ƫ[n.Iںu!OGy80<%#y5Ɓ&A7E6@ w\( hIeCmmRc]Ptj|,( IįЯ?psVݰr-}PRy-(gfPrARwۉ8O'l̷!X>?ٿTlOء,sJNí^ daBZ5;eV2mPZ;+Sk%HHla/XqptfؽgLi[ˋ#ZF~WŴAt&gBHRkXq7=K6 Z~BLau y.+I4T[Qt`^,{*okON?Qmn+]5T=&A&+- iL%%)rmAeP` ;EA:3$̄*'DZG* ^WFTPC ,8ny =Vu _ 耭dӵ)$df 8J[ꑥҲrZ(BW~W*5e40h0x&/PF ;lK"yCUXh ,>XP~!wBYz ɍź |;ts࢓yrdvH^mМU3JO:MDK2>sj^j 6c&ܚI4ɤi.\(ƽ =ʄd,J9 ۂ*iQ\զUjAn2],IǷI]d1Bt3qm]5+ػm/osTAG{s޹蒅ICGlenT/WK9ݰ?憏'dERظNrF:ި2 X1ߨ#8 ]!\(rϪEX*ލfO Tp;IمvWKΙ3TРrFo3B:rot48{ DҧD mC2P,kgi2W!W-70Dح_fh|PT(fS3? 5c|v~/yV>+8yR/5%cXJn,a=;qdeii_VSGOqWn~\ARC  +2U D"X.Uҟ؄/bZU[:MSLj]lTM:T}N)k>LJZ]_{%Mg!+pݓPR$za=J+HL>?i<[ ~{BeucYJ3.0}6Fe@*p3w̳M!d;GI7J!2}^~ɇ&}Cf׹Jf+>1RoxMC\S^6V}b wrk:&M\-79@a t!)o\bQ`'K$ۜ\.G8 ǫiOh ؎@JY) um/CA5{-}8cā">xiҽ\q¢UXf93uM=&E'&f};Jb?zR3E& m<<&,nSԄϓlΡ]WC0Wօs݅ӊq2ekEXsbv(|/M5j_kJ5l i坁砇|4e.cT 9(tueۊL".D{fy2/w}0Vͼ:_K *6ن%W5>lvg!JȄ㘃.N[+#:9!Z~`T/3;5b7.fˣg3y&;x]SRl:M}?<ٺ￉_O}=1Y>mu\ǐ8D}QJX0t5m* қPcp=,E]DZ,veBv{'\"Ps 2Yb\NC+6 oY(aRcz?W~&,_ݐ< Gzpzai@&l?6OrL.qį$f:l R4RhjSCsbikBB}f8 z)>^Z{e+A᫠IȶM4":)1A,].uFԗ.-k`S>@^x.uv3# ˧-S,x@bH'Dg-llS(*ndu{t 0HowAH wB̔m?O).P-~vՙWb i2r'q __iCgK4 $WbˉkDUycE0Q8v33}V3%~8.7KNq(Y.4{gET Wd>۳cɨ\C{h9y(+/@@* 6cS?X2^jތB-ijx[iȺ? h`&6OM+ME}6 qrע鬞Đʏ13q{ c?0%Gh.ڞpїv:@)(7iF@05PӃɬ⚨n+![V+C8@,|tQ*J5CExZNm[~jh}bexaLc5Te5^y T ~nɈ/<_1E01q4BhIKHk@ ' '85&3cϯ s̱:8D4 w-B`„pU97RZhtt( Z| iDt Wt/ pZ D (S%mpkzrb/vzX~CgGG#/igVn5P!S =P KM){TzYw6 ̋i'8@=Irà .UFhxé :(M;:Ff:&H#.??*0hò9k864q< ,ϖLY4é+]M ue :dL8Rp476ih\jƲ&UYN`RXæ+{iӝ%jc\ |^QS3D\+IaOԻ%k\O24*/wm g$mBuM6 v- JB&,XQP!ӫa4f"mܑ51XmJm ung؝<"nnZ`j?xAJrC׽=Rv Q hi g|bR[bt9'\gfFkE(W12ܜxƞh&>>RZ/2m&2\k]S!`peȿeATP'+怰GmNGE%c/כ9XtzAP KS1ڳ;Kpn \Ͱ-3)E" ,`;ΌLSjϪkY]);m Z!屵/Usm8,$ϕg >>i"H @ 85'6],k zuD5~5HѸDA]# VZOlNg RRL2|8cwB^c$௚W_|M$[jӏXSg1ńP[3Lٔu+:.^ĸob&^$|yyw T::64]$N?W LՇZ9F/t=J}S}m,N`syvF %f}Ee7;Qo,{I/ֶN2#MW*2rgPbH0G?$'i+e2.d2Ѓe4 ՘wX`I ]Ex$]p߈LuG $xP>٪CWoiD7q "p _ 2⎲Q[AFcqēZ"o='sD_4%6PXgD[#2Yur*]7D/<^}zl sV\ԩ>Qi/CmڄLMxGK'Sjz %yȝjZUV5 ޓ)A=c^*>u|dOJ^s|AזB?ʏs틔)P%.w3TtqžD)#Kln.i<tu Hceq=v%uKҮ2&й|3@ YȜoIjrd) +~x@-_L@,Ѳ],x R F1G&Mؔ (W!:X9nho޾Bypg\ĉ2e-5J6k̘Wd4{:hBsZ =1UUu;k)Nd ‡ۡ#ـZG2"GӐo`elJ:K.Qs>5f'T cy [7?*:;"nl+EhZ=%<"#3FӉp-BNvd/g Y2ImN /c iR}T:SH]bt1ɎWޭ10S*AHA*z̲ s#C.T fDcPͩ||w]ssqu`͚01TXV/b",`~s(2$D)gRk՗HzW\PS<=[$?TGҦB) aǩ_h |P" qOg۬&!d -@^#ӤuoC8HuVBÀ\|D׹xvU#M zU/HT5~{0|! +0f9&* `a>^߬,.)љDɬe-z@ct =Dt^:ՠ獧QH D,|ֹȑu šbR>[>(&!rۋn 41 -E%qv'd$ HgG"1Z}! uF(GYO &TT 8'yJP&wEl1- GвՖΨmq3jN4$܃$)42\ %D* mC?7O33'Z*5np€Cie1Ephg)KOt[kb+`CאmϵkS1u&VRT5jeӘOa$&[cM#/[ZF<7GT)fHN<vPZ yې:po847|̭K[3qk/M_!˽;Dk %k)&ZH-F=nTG;=,YCpB:4s0ƧC!g+o1BxAƂH%x#6{W<%LMzݱ_T 1 >RP璽7we6ܳ/scVUrwS`'?'FBA'->.qej BFgzY\}  \`-\rNQ~u~iiO8UO)Ҟd2DR2l,x{W͸nj 96*puZ-1޽ъZ`8I7#ب^2J_c([5 ߑq+#WFC5jf5{uG_pe#pl'26[#&W+r_a[ &;&3yE,sKOWC͚(qoܰ)<~6`+?̩Pg_}W6.~YR &C'+9$>dT}H{F͘5:'Y((\75+v`Qձ$Q51`M(ɔG06 8%әURR#=:XE/X28 qauy־0%a4n4YţV&lUVN{c9,6CW0|Y\ّ @ͱq6h9?51,\0P\&0KMë*@al_Nh^x9@[TnqijEEʇ"(uoNƋx`Ār|'Au!c' Р_B*W\|VyTU6L..^υ ͐]"?טs8X3}`8[!4XSZ ڂ0fPosN3wXN +&$N O=$4V#o5 QKGB_kuW@wڢEy*v@ ۬5`PkRwgV"%UȱuYZH,Wc_穳vWo6 ZU6Iu?K7}fj89aϮؒF?"oX)Fu1U8!=T) 9٭)vcmgKNsz%j+CeIb%IijA/ȭ3YpICB̆Tr(zNؓ`G\D*Z{,11?΁ru6Pi^q fk#}y&{l<,8h  s_O1; RĄEH蔨2< #o|x EgVV n6?g-( h(nyG<\xHY:֩dwg:XU[ `V`5`C{s؇?bÃUGy~ۋTlW0pR[?Ed5L {te/FR"TxL˔"kU4x4MM},,aAN^=-f(?ԇ D^p 9 O9C_0Mbޤշz6K1mypBI+C0~ga^Am9NLF*ņTbX =V?}4姿5ߚd2[`jbw?:F $Qh%E};=}]мYM^Ɲ <D B~AK]]k"~XH)ԏ::7ޚjw2-7Lq3w@C)x`n%V4'jF7/ޙ.v"IbmH|5tAK_@M.R K Px0WbTL0@Vሃ%a7dneJ.csƁS'}e{LcktEVRFU\.?%Zly d$*/uB'@A<0dw r+WF;88mEc'pgZ b8J~o^l*6Y=&"K +brdYvQ[S>w߁* 7:<ޚc-rQQl5Dg=ѹ(#qvH3 {]@orPV+˜7o@-j'/ngyI@a7hۦ3M:=`A ofF9ĪENk Bdk `vHcIEc}/,_p o`|d]]Xω@]6R>wMb/cvQ{qvk?_gz@vL.Un)5 <(& xUZ^JF b/l9Ip OƼg+VŬse2vMk\…Z6KqՈmpV>4]z|9!@K%Hdgbh^UI4 ֳb:s~|sqgeI ;$tˋw# pT~hl,a~]M@KVfX{z;GH֯W<CL i) @EqgIٴ(ecŠiEze?Ig 7҃T-2ebyDYU gF @N@彠i>E4r<\k+0Ll+ $(NJ  ܊HƧ5^_j15 =xw7hR8ayKϽig @@t#<4ʕ @79.96JkZ-DtHvge8@ڨz* fkt:ND*F2DZ*&3#dpbT- ޯkiaw*1D~_吷uz9άפ[{&ln;uBs|?"!LL遝d!W$S$! z+ |pM aXor !ZkdC><ŰK-;EHW?Vމ7*uy6͹vj[-P.2)!_2[b.@Rw2r6#YlWx[6ABŹ$]kn).Ip l /2xC||_h.8E1/"^K432ԁXdcDgL@^61:}kGC5.XYǼ>pl(da>=IDFꢯ:{lfTtplH{;>d:2 y;h://ǚ{9#Ge4"=VO4r!OZ`P%ªti 0<ˮ:v%[ݤ ,R !rSo|;x!4iCr(mИI2@W$nqS 0+:Fl[q*,wzGycLWE@p[C{y @ p;תet_>b0;2"n+%s:U~`j2s*o/eMӾRwY95--֕rkm{54 :OH jv[PЭy@x?Zo[#S#z .ƆL߬d@C_[uW zX9tcB;fwi?۲i3 syZ߯f.˜[fS/`Mx=q72uV@ו\. ̯?NEü%2l6N6iQhVrH)^qBÓ7_`nhJ{TɛŬۿ~k87۹?L&Q3צW5ttAs>2kWyN DфZq#Վ >*PG9S?oje 9>i ewLcg.cu2; sJM):fwMQ|0=?445ua]MɻpȑQ6$fICxWQsOaeDCZ}x!&[WT~_32X#zHx Ȉt)7fנߙ+Y{ԚR Ȉ~Ap.`6V>7ܟ7(#0"K5ʇ%VU8'&˒kmy(nw?Hz?C!_f)_'f5]3"lHg!ҺLv'gcs&o5VcPZt%M:pgGczdFk<* %|!Qy6?M 226cJ.WPi!\Yu#AR50֚kӲw՟SLھ.Cˋm4NkqI >i$]+_1BWRXZD>;"=jG|uCY׮'^*51!S~$|Y7F*ƻu[*"U#gFWc04m Oq|֧;t HL>vڠŠ=v ᴡ1W>*ӸV 6@|b" /M5qek{7Idj :Fk=j= ڪݼS|%a* iKoH!+!̽9 l%שy-}ccXfXsSK}%><=]O%JhZn .;s!cPd[3]7~񑁛 ENZ: + SnLֲ!Q"Wq8qC³ʶ'lWI2] Y2%X/mG\z9\IK|#_ȎS4pn I# &?vgKlHI  A0}t2XkŸMZD̻p#ldsfy1)H_`cIv R?]$oAB}Md:mXT R? |L h|ZGL59,tkqr'R #@j.HA=, NzB- zJZ&̌51 +nT!~2ͻg;Ji#w nr0jekp[wTq1W3{cQ30X(b:ouysRpJrAAyU'ê/ޮG|wbW]]AX 5}R[% (tK70b vܔp`v4r\ !>HSgVy\\(BazU$;FSih]Rptti#6%~>a ÷_N6"/;jq~%!0[/ӹ_C"A&-<} _Vp_"$IB@ZOR˷Y恩tGQ7w_d]o#nUNi/Sh&= FXrek 'Uw{4wrki8mM#i A#갽8zbuOY"Tvlz7-zy_%kţ  F)uh OKg1ELo Va`<6 pYǗE.!o@!! OBfcƖ?nGH8KBʭ0&\^ ΐfzT+ݞaIU[TWք]Yx[ mxwVν翠v,4qGpi+8A0 ?_n&lLNX7Fq /j/fC&MsLNB ZPSቮ\ ;C}n_alZ~f^nQK9[;OS}#q*8T[{Κ Z(/"vA3"?냝m^۾E#NUT$|ĖQC#m;5Hx#x-KLOMT|9FGycp!NPG1ϴsT~7Wձ>$5Veܛli!17kn=Ti"@/OKgOwIғV-~z'pc逘-ы߹[lD|3yag:F+gIIQZAh5F:37u2r@w`p=UGfW+W`Qe<c0ȣU%xh5"rSlt2>)ne/onu?SKZkhש]> cl,3Qb/?OKg&:B4T$O &kO7ʭ2 gQ5mwCe҃`5bz_r{ R-q8M\<"=?jEEӐkc"HO8ƵZũ𫾛#qJVnc!w)f8L]u8'uTey4B,:@m81B#1 DlcS'ZHXl3c0)ƀpR"m cxˍ٨1VA.*L|qP f3ݣ.9$Ū+wL@aqo]H}CME+XvLr<ΝjىJ v*ZJA Gk}#yFzXE.;@B@&}ݻfw7^[K$kkhֶ5e蛑h `n؊RtKȡ.~=De*yeqtȠRol/j'GO?/\DKo|QRXk:c%qSQYRЁ,"] ;(yXݚt -Q6(u-{@ P$sWyfVx|w[֞6PVo# ږzw1f f?x_Ifq G C|1*夎U#/go:vp649zl<3LUj+m^7Эco8;^=9 {1'#&?SP2  Wc4mA< 'U\qEg^ǽ&2ZnGA(Q3$]ܥ7>͔+n.O8gA4+ݗByʬZq)Co)_Heqv3d=>!$$ |خ6hpW uq[^m;XG*OeRU| k8k9|$STb~s`5|l3o1e81!^C]5|WωZ8D/ltPWGC5V#BxĐsEr9AT hx-F 6W>/zv_59hnjs724{ɷG0 J Zo?;hޡ rYHSHbN5Sc3Ӗ!ʓ]X-!{*<8 Ɛ3e^qYw(JekܬElGZ-M-4y}[*L]b^Yokq] {/ՙJ gLK5[>pw;hlQ TKl'Q>Ͱ:2ثT$Ӭ_e3P.Ot2?p]˩"`/Wp^Ձ]kb&d$.tiT|~Fť5idd2n^.0V=h\"ݟպ­,` *Uj_mv--碽q|n`YVHk 84 "@8LeKLfD߮"uՎuFaęAi"QNM_ix-P~xaTb@kNG1zuK᝾ vm?#/?h-EWJ8 l}!ȾM sƬۗ4.Kj6)$<с;d,eGGCdcnk';,ִ"(s0\!5 i||=yIgCKHlC9 $s,ΝP?o`fv{f)#R`U[P@ F\9N? ,72]qAFᶟ- C/c$qAbk_*C!]dFe_HK_XEJ Ry$AGTaf&g"\?|uV`]סw@Í<º5g/>; +Ԧ)$#wh)2SO}VPġ)KAoce8ZyA6M2Q8ik9c>ZHB[k3.ė({`e.B glք^xsgW]l};0M(JK;wh׳.!KK) 6R( w "/O_Ffs%GiOL{0];rvg>=f#+u':Z&#PMOJq%(fN9@qs\['?g0#Oom'l k}І~D ٨-dڟ8LCTa0_j0y+ڢ;d!\naAdN ϤJٺ i >jKr'- O]α%z;E-з撇~)70{\P#e'nivQSk8$BqvmᲛ[t{1ÊQe/K4ט s[f_zE N /l^NzrK3'ˀ31D5mIꎢ%rM 79ټ'IJ$6I-l[/Pe'joHDžoSI~R{Y?^QFSZ~T΁7ahYģg.-bũ҇O`1^~3繜1Bϼ"(>B^[ü54+h'|f62F}@\R}ɩB@ Y<@mF [\"mvό+az-PCL'=i PtۓAD$qkR< B~y_Z0IԷdoOMDAG  vr*w`BO;xwSY;M$~nYyD|ddy7l4XoxpDx:1`? f7GoȬB0kĻT=c&} mrre( k@@"F(=hgx,{qNvpu閐q R#iWf;oԥ'?{↍B08c#5?mZ6B I tG9L jF&?4Te+u/Vq~3Р=y8/ 1̢%LטԞVW DȄW'udgpET jҡ y͍>AmM@d! 9<ݪ#{;n_8>yrXZ]ffDˑvf4}e,f9n}NL;8́|(_*g0̂v5Z+kGV뫯JߍSfb\4-zW,Q&1G]mwW]b2+[T2OFR\}|d444FJm>2~)Ms|-/F?Ř+"~}cQ0ܨnD]VU[߸qҥDZqN똥{Xأ_|E?|(7>ZQRvwTz//f\ࡃ#7<ÿt/D$BOf{]lywKiWt߆說"Q٫=xo <0 wr#.%ǖCn?jyQ{|ˊ@}~3Q.zsR1D~SryR߶aDŽA{Y PiWmGй:fE4XyW=O ʫ[BV lA Nx#Cu ;_MN5Gqp7ɾ#mrXn2 =:+׊W`8*7$X-q ſ7Ctzt//uv!J#IODM'I 2Wgz;$u ϏG\8P(fXҮͭ3T>)ȴ6:ʼ kܯ"Fg{p dO$}!rq>N|r2|mF_T#75EhI#Z7^U =J eTZc)MNcU1~_2bە/IOEVQL GBEǓ\dȂ(Li5I)K*L3#j;خ W_e8'A'o{mowBAfF&Y7 bHj>_9Mo.=_h뺍dzbEg-BXviChҺ7Lܧu:X(9ݩ[>cMmx 3$V輸޼hc4vK:/WugMZx)(GE%| D4|]_t8R^+BNAÑp2^ d;l yZ1_.0Z}I+cWGcp;%E TFi*q-_,Q~R58s| RV7X_l< ߪ0KXSNHĩy %96R_̑@kcZ:Y# `zjc~w"y2)@ ̖A4GJ*>*4i[ 6('{tuLm,6Rumbw3*v\9m"h<-_aVǠjݤ"| A? m$e={]g ɐ"vw5\>)Ds)@iL3vZ%=fR`Bߵڅ4#C EBZstX1 Y9ԋJ܉F#H#fadWͷ  !rђ[@R}b_Qc#= Ďz7K5S))X PUz '*:!MCgcG7<J*y7EI37'jK=$oo]&3Ü)3z9z0&co12Q& !GL'e+pIZl5qň*^d&Wk9Ҥ*ej>@ vDBV91JxN# Ha"$KC/$J,P{p#emoBB+ o堻 sqU.+'K #MALwHIKۮ0GΏY]'Naչ08"E( nj /jd¦QVۨ Bg0;a@o*n~1?; ?,e3[a!NީM= +>cmaٜ2Y=ƀAizr[j8wT&1s[>(gFKl_^!!͕3&$|ɮ0/&BMn*N ތm~#fTÏ~w;a+! /)kVgB1vG.c NzM_/qgp־&.VPPZ-*%O GƧ`WzӑOw#pV.8XkJkH{ 88 ?F6<2ߡ; +e6/o15 $! 'R^*%6)^ Ev+= I1 [7 ZU\Bm5/i!xk HjbSRZUM v9$ysؼ|X4[Th!A|iTt@x4_3@!P; l"O]NѲ)XnBh2jxgrx[KǢA$>B^|J1n?}Y텙7mC80T%WSg`HGQ!0g7ԳK=Wf+AKր v&i'F_6E;jڙ4| /Ѷ/"`$E}x 6~L"Q\!uO&o#\* P6mvnC9~z$D#-Lk2gP]Bwnog"LP~l[ |TqD>wC3BWKgnQ$רEHQn LYk0}P&ue:] ZʓGvszGP4`Ufo8!mSxp Ԣ3K|{|7\pJ6 H%B|^Ӭ4 ȩ7;pA$q4;>trABFަЏV/] 4/Yh7ly""{ѵo<\{sVc1o?>CGVޫEkq}x\\ZU AҲ";hI )'xl1@]D.̾}x%5݁|f&rݻ ^<}.jHә/H2S@v&4.c &MXu2M'F1YWQ(w1q=xTmXLES~ _J9Ud &10L9k [,;S{pH)!#i3e*EَN!cMVv"Xs  @VYl슊aY3&AE^*ya FyZRΉxed~kV`FGɨoP{?0qi#%im BCLkzz%o >7s~&;C >IGVA 1PlИC3puj1CVoVJux$wٴ',z*%rt}FiV8`Np|>3-^#@ }尃z|͗Q]vW @49ހ⑗wq+!nѩ]A5cm}%J"jw~B{৒yVO rR"gP {:xN2zuET"ctOX|tML~R()2(w."A$~T~ L xVoWNJ| Ml/rUȵ=6u+2y -S=1|`94[1TbuDO1E6u?ӊ0wN3/!:S(πY?M-j@N UWJهg!ܔ/iI e2T@Ě"DY$P[cVw0f=_=b\Q& 5 4ҖFtaHiAϧb )˫^7`ؖ[7a~VkB3>RP%A+ӼН!߳aOMXP.})ʆ эJt^uOMaeAi)(8[k NQߊ%SǴrhqhXf&$uKQO58 5.(8ti _ bw?.u#c-OhOXW(q=]ؔbl<[qsln!7JRχ[->Y7aKy]p?INݓtc%gw7Nsg=):?/%K+)ԚA%zl*]ZPWL@Kp#e"J lIX׏HA~5VvѸU޳:crQ'eo;T+DK^Z r#Fa=cż+ѥc4hwV9/gl-- ]ćYcV4r/5:d;`V޴:2n&r ֺcUGƨ\PA7O :RQSliFaEzٳnEBgmjg".SĿ]iߺDfR1˷K*я1굉>G[66߶43f']DDUΠ \Ovh ]Ha4} \ayw/cGQavXy}ur:N1w\ >^/5bD@7cYlݨUibuK!<5`ؐw@P|O8f&T_9ULf;ìYtpcD"\XlQ~/yD$Cm޿-f`@;h SJFʛ{ m~.>MOp%۸su_p~m8(?k#[)Rd;׿S<6]+Y~8t$dƙ(c ohvj>]ĉ'`a  u*| ,~h)U`]Ԅ:i=WJn,z$3 3(TLwv כ[bW} JEQ=h@{kS R`ks2eض@dA>HkwJYY>XFtJjĩGcgr)p}qk߈ *r_ZHvq.v;5Ee9 %?:&BuaM Tkq5\YblXĀ/MeVkdp$$yǛrѭpWnX\AtNf/&\ma ${k6@/sw8AVQY0?5Q"eqr k_D.]1H.9yvT2/)Acߪ(QflǎHC!-iP^y#Ζ6יEZ;$ǜJ6"u+OZNz>'~ꈝ.D36{߯4RgKr+vmq4Sn)H9Xkn27UrS3jCr$ KI;e"D,U#KSh6r;NC0:ąd C!Ev+qj.p4´yY>-h6@r9yůz!L"5֦tY5bHIє_U͐rf#92#FP*|k؆Aw³}z0s9q`ͨ$e뱼%9𣱨Hg.?_D$Ǧ2^l{3V:@ovTM3 Hv:+bIݼ7eX#[Z{~Uqw habl=+q.OQ֬]r%{A"RΧSUm+lTO]5k\RP81 SJՁ{gcýAcC5>qz\ֿ7]QΈ^B2IubOhHdFb^%^TU|۳IIŞϲy`M"Y (0d\l#PU͟WƜ嚦cizJ5dtrtf!NyF3{. S(lC%9yi˒=c/rsݝcށO( QVXx2۴[# X{D@91$l۷2w㒿O(@88,cT]YF.Uq=P04[P6ef aMɵ5)T30+,k_,IDv.:m wEV݀K2!-ƎL$uλ f, )w}cDM2oN#M~JHk-kQ0Y!ŧ\/H/cwlpgZuݘY]4x8w>b1;6`LREiak3p'mhפ -ê"l3'94|KZA07M/_g_SGFλ`-z0\C7*ΐn[V1pM{]l&\aIRyYVl*3 8SÜ[T9K|JVMVFUH>SfUzP㢇[>e78yw!(*2tmdzF٧vp;jc Ki/k'\1[St<%;PJxKVvG'h5]/`ZPWg?lF6iiך獱K/(E p͉x(G?:^ b򈢻) h^-eB"Hg+=Ӥǫ#H`Sȗ @GmWWˆXߠBhς.q74Ί켹YTFT7?;$Fq)_gH3(Ez XL 1,?Þ;ieOX&Ne݇NòfIjy?xdBu6O ,}r5e3qoPqFI4RC;7 4ɟ (of;?t(3QU#~;弰 <=₷jyE;S]z;n4%,F25#['yVȁ,5v bg:ܹձۡ |ތv D4ħ' 3g -\9%Q5K/4doeXM!:Gm4O;SQVQ8z 4 {OQs*],%=R@[Τ{[n,(l\dn\v=n0ƘI֮͜t%U̖XK&ŝ/xңn68hhk./J 4w`9 ҔE)=Ìa: ,p)#)u ޡ &{{@SM_5.paD+vrMv/9L¯DV33L Y{t,J &'¤Gtt M|6bQbe'RtBG'wZ?F8w>ߦ)>-rf){! =_wv!H\qI#!KSa"ǬM.eI8?qRE%Oso‘?b[]> VhD9dK.@2i\WVqKVˍ9ǙSM{G9 W ]EnL糐,kk9֮hXTyRyMl"k ʭFשI5^<ʖ2zCnj7x&j]# byj$dN@{`V)УCF?h {8Zy-|<s=$!_pC۳ƿx&4+m`9C0hnZz|4Vcw)}7 q Ù̯Zω^{̗[VMbjJxe!;ҩMZN̖4͟@"ך>P`Qyike2ih8%B@+p#b`]!2: !q GFs5M1&fC Lpe[݋U'4Kl Ӈ-mХ6?cCFH@僝V+q02[ դ>jʤߨ 8s~CmuZ7Է&,ȭvRHI85ȭ tw91O3FiU7\jj=b8jE%jN3QV|k}CdlAڂf*BIR5ƪUQl2Y-=XG 4/]A lxZ?X(Y jyngk؁IRw/=.P|?KReN+>8AN W8wf~ [C,S<ֽGo &|Jd&q`U@FE4S9 F`ZE6!Gν~t>-}2 }&)Yy}e(Xt&N+ft gi_"dc. dkhњ:WLdgapxEug?(K' - caf35]2.yp d9fҟzkB @eր{Cf)lg9ĚP7KZζPj܌ 4;eQH6kJuDr~ 潙 #ekwCnl㵖YWҏyB'Dr0YNV?  x]l8KYV/`# V]0FM+/ }<4%/[|>3Ň2A?بYEpbswb(gwUK+ݸNrJt|9r>1Jt i _lzO]LWu\G|M~#-0<5+S}ZyI4-kT-nw3VOC)s[ ta2~!&pCf+ 3J j8ow嵿?EwasJ&inܠ2eEMkXޔ2 $z`8)j7t4=vCѸv pc”n=ɐ'f}pfSmïQHX%w#)>)Ƶz4R'0}ǩ^r$ע$#~^8r2΃${maANHx?hӪ{~omHTG}OIa2(+D>ZbKFZj9tҝ6=N4Ϝ1/ l)tTJ4҅(%73N{RC1u۽z&VSVZ\; v15 q) `'H|zn( +tAۘK-DP͂T v}^N0&e /;<#7g)OU zrk{ZP.TQ5Z=Sł$Pz[Ӛ""V-V ۩w}8 VbOv ^\|v|N|_YN[ RyuHyΦ-uzcX 4xT,@ljgoqyhCP.WE=%uT;G moz|n3iCMm*UDa&zj Qc Q83E>{$3nha:[H!*4I@A )ߐ=9BSmvIhh:kgr=Uʄw$t`HCR^ 0|B/ e̞&K/j@k>Ϻ%1 jteEH ` u3{mmaAD*~_>.1]fJ>lj?%ZwC[W3nmB{&AxG(HzrA+froP:j,j5Gu-IwLEk&TG3Bgyk<µ6- a,(rn2d\sa ᕈ#`$6Fz)1"7~n1ɨ0/WAaƵs˕΅5 եz6 ')v9űfj!oM>qixb:2 ⴧ  l'wtlJ)բM8ڂ,۶wlZ\zu:]]γZ9zMsJ<4I.;d@8HMN;&5 9.oJ`'/*F\sM<`jNR erC*~bH8}F3_?hm.7<׊?'Zvf4ܠjE/ aƞ jPO*n& ;A-Wv>3%2,h=[g;Ś"B~N1&)&ƿz3'~$; Q&XOӡMJ)GP&^[.*O\*\\M!H\7m!Fw꿻_y:2 {pr$W0 egD,Jl~sJPORDKºnt5(4!!BSDK&w+?+R7~WIv/Jrg!k'>1+;MꯄX}2B8|}8t%էdtiPkR]gӼ,җ4~4x۾#߭60wrKc2 uQiet#z>eAS\fu(N ޝC1;K{=p)DF_5]jgO #=[+@+mh 2k$)uB^G>O hd|Y4Ӆ5eN£.zdqDefQx`]M}?\od~/ zIR])q/_X*YzSpǿ[E݇it!Z7ۭݖe}H闀W^j)mpp޷>BdZ8̰sn3 ;ZŜdVmErGgFe\f~l >r]'x BbI O pf㱏| ь-E[>L>tcY6J-  A=!%bتPdQPv=}x\+?224PY\MA4gkRiw>ez šs 0Uו(J١ c1Rd²q @ϗ09A},!5`YBL fvn G- 1 $ Gn(B,a,86܆_CLEْS8Zi(7`G ~4]&T!;qTVЬj7O4X[Z`cALXpdTmu#}n Y J,i㓶8BqccZ$$2c}m)$rqi' Sv(g:$rSb^o!j)ŝ@a? ^!g*eLά mtBV#:aByZJ `jm \ܹ4.V eWl*{bW<>G֊51p Wy"|cûFQKmV;yH񗇕\w)d3|1³JԧoԖ ,tjZc5咎cvb5Y>﫠zJ~LԖ ~O7@$m+J߮DW*U_~in~8 f#a?Q_ѧsL, \-T9~Z |H7k&kJ 9ZkmqPB7֞C%F4b~>҅U@azocI' Ug5*_! 9? :<|ozhkPg[)'7Y頖?/'[/s`kRz?y:twb:!?{h`ljl6Ư?Uv6sSa16y%A4/B+Ym10nWR0_*o!Z?[C}J=``Vo$ИC82ts߅ PIP7 hK\E d\K"]'bk=~[@EFQ]s,aea@A3"'FahnajHFlYnBsc!ԓh&J 3+BWeM ֊mǏҀ 3qlrm2(]YTc!i/t p 'sq{]<%-6o`Sc~ LUкkS~Iρ|,]÷ѧ cis+yVU"E{iUvַZnqӸx^M@;T&0UChu{R- B3Re6m9@[+G+z)G Р̆ƻPF(AQ"],i.}xHc7 xFd\/*Y7R4JpH߻ ;F}l7Ṱe,#qcXҵ:*$2ˡvq׭Qưl^S#u{ɝ-rK4sp*ܹuGX(H.wq*U'RlvJ!gғ̚ѨPpݟU؉.HU[~/R!>} ^ٰϱ%#ѠLP "$&Nlɲ@=lMm>S_8.eJt’ MbRnSB|Q;4Vs${Ꝧl.X><>ݕAV~ItOi ~LW gzjn%#f)'G]oF_:fis)$(q=s1eD$ɉ"+Ed. zasvĶt7 tA+_+K:ؓ㊎h cJ,Pgٖ k+α2{}`cP:I[]Vjb"d"Rc.-v[P% Jguj(Hu_62[ˀ ̹BUz S&|1Bkz rVl^󛋘礐=Q_=O>ϤZ7IA4Pn50Ɵ },&v5Oi`!=R6eSH=GYVGm ms8y(bpIWרAӽ ǡFB A~8OPUء+ 5}q`9=(9#VzBK,zFCP*L;4fnb%Y g8% g;PMl]7>E0ZBqr\v "cVF$\Dk*am+IsVO_> >f(Y$]ZC1hŒ]QnY^2ꌾ-ǫX4(/3Nx]Ӈdma4pDvP@&7yYsǧ%d>[IahSdi>A!MKI>nXg'[K  YT?NǓG`"f 7-YvGvw̠plϰC1Dp4BW%8霣 ;T/g!-d:CD*mUygx){˄F 2̙QGJlFy0 E#㹿m`dy3[^Tԉ>SV*JyNSS9ҏlHKnO~ }+j(s[;abPB ְ'@E9_$TmbW<#ܷ# íbH:1VMR}N;.T/\e%ߊ9E Pɍ;im\]2ow 5ا(*ۊŬҌ@2Rʚ`&9n{+:I^GQRU٣Bm26o:Yt`8t{,pØب,>4HM">e~>GQsvcj,锦p0:3 vy4̎+պiv;4Yg {Cڊ~1B"7%PԎJ:I[#}n&r֪97Y*ςFP6l-!0TP%מSp`àfV-I1E luc٥ݲK"]B exP#5@3X{ZPo3 !$23'_دq*MS\RE%!X<#ߏ6WJ0&ʉH3J_f-l_y%~*1O#B)>%~.gly\h^ *l㻼Jݤ+ @EJPȱg~^RfR)w 4';S!,uQWP}`~ 젽yjuL_fᷟM+ow?% CO<<0uHS7)zXJvy2hYL :3rIᦱ4ٗt9#E qUAxFQ+-5#Gp zNӘ Ƙ |=1lQhem#x Z>/l"ϰ{e @1lgֵq+uMO`$8[OZ%.Sdch1|4?{q!BѿמҤ.F dQtP`c:&B/xWD`O*L<$yή!&ԗ4!*-J+(o(uIل_"헻P\vBEFл6$}n#EfBTbwM1خ @UiUÌkDIg}j(f >t*3Z^hɮYTU=l ˁQڕǶ> jv (Xgl)yز7'ƮK+n('Gg]Ax|3Kqe ܡL aE })db"I3 i`Tt_gn=`k2P\?Y^lY5)FB؝>h1 e*de唗FBz(&3d lgLX6᜿Ps e[Ltr^<`<tBPI-Q0b& sߨwb(@)BKkb`K]"7L!1kCJЀp#7ך@9CB^)%KG,~ Dv$mmeD77e.ITG1Pw'v8=G~QPϥȤi@} ģU^&S# ;B"3^7K:v}v,i0/{dw6ҩ ~~W4ߦBi@W ̼>wϧkr5(aq ;usFZS27pYŀ =?1Sţ4v~#dyY"%l ^gLJ?r{<r/CϜAþbHJVX"L ~i| _Oq ("TO6R'Xǻ~U]]ZoR' $b{U8v{#R@-A;vy jlɥfmiVUp=7R &j"t%)1 $"U4m gL[|UzDa+M;o:9?4^#Cr0+8JߙDz < u@";,ƅڭO84.jm_uLrH+}I-ܨ_eS"1q:)5#`WoJtL) 6M!D}M XSY Yxu3OLI[G86Jj`挽Mapo{=;[D@@6P3+ "˕Tv=a6vUvtb&XOl`@6vZgdP `*D .ҁUi"dJ)BF:e.jr}LיfY`/0$H(Z@|j+;Xz2To05o}Hs(ґ+suqјTObJa9~zy\~Cmʰ'`dH&矃e܈ 4+KI6_Lnzz6G蔠LɤdX]Nɝ a9}6ΆT,SDE>v[0:UQ0 r=BH2ѳlϘ TcAE* (!B4-gh]U$GeDPpȷ^%(UU 󏙃F}=g7yF!0'Yru=nx`I\:glI劳ل&KD.BN|f%dsb d/nǝcK|Rf-50yڑV"!!1c;5m1* / U5Fv*P#M5h _|Iwsq06kc -)B'es*a_ŤBHIw2&.*4$ok7jpF,#_@'^0BU 3K's.s=`=u,n=׎Cfe)򧮥2p bi0UA44z)+t}ҭYPbPe NTy0o-@W&ܤ ;gfk|(\1`E?(T ]T[;b]Ww~î PFˢXl gKV߼^"Epu qMYvh۵s{gn2r`g_H7=uumo)wXSu]Ԗ}sMLj%PQɼ_ŪF>g˯ǧZ3ϙ@YKKmYEw^1ݎO1QLpRg4bHL*=&U7&vwD/\ 8۳%n mh;=r@:ǛLܩ`9 Lkۉ%-Ĉ'jn$ BEi<&A޹&kA~`-[{}*@2, J.OP2k5d40 p59D6 e+Z~R:Qyǐ,0apCEݛL3|s^Ē5f嘰CkjKMp֑RM]%YU:勌 V* Xdž;{v}{DZ?=qKy^|l_9A f:6:yFx/UATl,%jt~{{h r)  2ui;)aD'DTZ[92'+Xe';=uE 'hq.*P՛c3 э˨0GA @?A䙻r8m=RS\R Mg8"ԆC,9Q a$7h7 m"~?@CJ ObpݢZ" 5*Dr 蹺gÂ}"HFoO9 _|U3٩@hSm"+-VN,g-*/ q3Vrf%a)4R z6H(,̡`"K+G|zo"v{DxzҘ2)L|^qq l"~O [\̦^#/<7 C_o;t䄨Az)H5F-}TmڋރBXt4MohƦ#O;,i-]I9. ߢ9Ȉ?1d:,A NY zK,eɪu"ɍ AxB~E,/'EHF;/~ѲkK:6< qlYIΒ } }>v`qa!Pq>vL)DPXuia&L VL3۲#z#h$_5kGѱ(MVwQ.[ˆROZD~jbk5Ą#|4(aQ讳~2_ր0nej'm%T" wzDPlJmAj!ME!uw O<,ƥr{Uz]@Ld*z7NXU4+/)wP=)Za>B'"jed {[HVNfpxkZsJ`GKAI>;k Ō+~)F_n(dAr n*02ڟ~cYzUUxޝ1a~2|2xdRf%HOh +L|a{Ŋd[<{Q④O9XEɆTc0qaU$L͋n&cQvvj֒XLp[B?)VX~|;6.لK"L' wG廷(Hr%A)y$eUzu2ee3;1_5htZazP|dŞ DfFYReEx!D;1JF34=ܔ!ƞ7dTޞ>q )S7}T,Yσ$JTu;Cg.wW/c[q_L:n2#\TSÕ,RR /{Buɩ mф@ HkCo w\ٝ| ѓ"8|Wada pCQփ-S7'|d-pSWpc}\Kkzi<$7Nn4![r̓ǸLɋGj-m B@mdWHnO{8\)z Av8cV?@qm%u,BLI%~+<ɸ %,@!]dU?(""U{}X35]MBlJa0>_~&ԝ tM zW&eX.e2Q Nr|9(}m*!U >Bԍ^ /ں" @'A~뙶]%ǣwvEVNQki>'&I-jHH+n 34Er!fFʐM 2Os]0$@!YQ$R)<ӯr͸_ A(6=tr?%>% p34=&O,Z 3XZ^Qj/ﮓ GZW:6@͢L֏\ÎvḐ7'aKptʧ Qxp%G`\Js/j< 0/v Z rb{Cbu2,6 JeS>~@%VhmΙxƹGNpu,qWׇ=jlSsskecx4JyW~(|ػxb@hN0$;Pt6~(F b%\3]ZAt5NݯTH.)ڑqp3ӟfj'0.JLgqLN7tV5ȝ`LG2ګ&PH+ O" \ڕzlst;2Ҩ久cgJ"e Vhtϧ_RlH,tl嘔8ZȫVߔP9zcpjE R6jJ^ndbZs #8buEB4/=&(Ѡ>woCO'$K;OChUX_x)O 1yS4B`ZKv6nmrZlTd5-4WsUaF<3&™$=#ЁÒE{4Bc f0w@%A7K|=䡀2*LCI_,(|=dX7 ;K((:ba2ހe;p8;jSY6-BȏGVA̶G8.+ d /YwFC83AZ[֐\}6eI[;"XRke QI4Ȁ:m Zgg3?KkV_ГP8L!ƷB,e2`D.*MeFebVD0#];YϝqVdKyWO)4( B *U Ӧ,o6oM|S:<hcVvr!EO]aTxÀt a\t|0r3G1˂)ZŅOV uE+`m8xVB4N Oq.x)ThXt|q \_4\}PI+2 5wh? ^y%390S+汹?SLg5ibu8̿0GTkDyy+}Ӥˢ?FJ*ZGw{:n3?*`B );%@Lc5;rn|]]a[Ut˱e;c>™ Sk|\y m@-?) += ٷxV|T/{'h_uj^ln{C9BtoRm}Z7}yf^tAܥT`J>*>[5dq3ya1zL\rk{՘'Qfqu2^$ y㡘^⟵zn,@ %/Nm+{KqV bprc 莙W:ɶCN&Lr: vZ^*A8HNn(,ʘ1ѣ }Wh(FI:җ`*ڕQ:>6U78:8Zvr#_RHnj-0(nNX"5 eD*ms  o(9Imxdt;*N=.]^1-Ĕd *%a8q H@|AS> |Wk|EAj`:+G['M)I"q KP\ nOpgu"Qw-rlɦۣ,I jZʴ>JeTe<;NXd$=l|dQ~zYvH?@'aKإa[Qd|ԷmR8-}ϟGK :dZ") g @F"ݽ9eU떺4*_hI@?> .*"a{ GΰZ,ӽZY{QT Aw\%8!goݵ!u@щrv̴ cnکWV1ip]d [XS$"7I`| M?R羑AIbw'+e]{ZV'_" we*8x$%t[zZn+oN :ٔ;6"_1->4nwH? o ,5CMbqdU; uLk'- 򆬜Cx9=_wNdne3g{% h#n,ʿssQv~?DɈE].]!BľAbstB[;۠ZFFP+kYm42V#s8Lˀ{FyU8#8`=GĈs&ⴱ$-ٴ_ϡ#>8$Up]ft6;!pjTj*ZcG¹|?Bj$=/N\Ǝ,B\ ^a[i5Їq_qv8k/2C<{^*d @,f $#1!yX*:%8vXsiD+l^.g!RKU<DRuq.RzxDuĦHhz$o["bdYelɨ0V5_tq`]4kO=T"ֳ'!+3HJo^k $Fn/Y(=Ä`>R7Z,դ 3Ъp͗:a540hM0 v%OЋRlK\GH#;-ly=}R}{KY 3UdBY+ୠyRr!8`Ln$"\%HA٢A cs6 gB{8Ke i7:FB͗Hũ".rY0:ږT{KQ;FQ"K]ʰT7PLߊKE ʼnPZh0*ݬ+*)t`O! !p>*LP@04FqhvțAlaڄ;oX ~6ߙeT' #S(IJZ0UøF5K~[>$SB]z٬YvI"<_̬;C1Cm%֯\X{_r$D% >)9NLH]SW?d Yki')79%d<#[\ ωUxˮOޘ>GjN2ڭ #gE_kEHa!oIj  qChQ.l752qnB{yO3G37:Qùg#ؼ͢󆉹 MI_׫]-*$^ТEAޏ^zuH'scW(GԲi["i:cY'w둾rY%oZ?1 [VTܱls]+do,WGSD=5\q(6g{ %W6u R'<07W> ],@mJL t^S^[/$J[ _ v{)D5~CW!z0sfwu"["JK6WZ&A?M=8_OO4FbK7twAf c_(U0bE:pĭ[I'<zW@S+yd.hsR(O|v*zgMI?ԃ±; +ГpHU~$a}Xn&>RnMlee~ybtA8bSd8Xխ#c׮K"J`ټi d7f*yy9Jw2n/mcrֹh78せzaF\ئ粉Y/;+3jwLL9}I{\MNMG'M'-&[$}\J5ܑf0̙B|΍Kr;mmt|iL䠲JM muWQ!] 9oɶG* exlZDmjq TF߀g<)d!;UaTms-$[74ke -$-iorlGiFM- z)cV'5xcZa}ʾ)䉗ډ]wa9@hŻ,ZtoAYNM+Ft'X1-yfX]MNL+Hi(No l>b?y3C?ʫ*3`$q Xz?ϐ[p1: \(ˌuSǖ.P޷'Rm5Mm=<_%{K F>ڦx:5H3rXG9]iA S`u{I"D7jy)Қ%&\Ͽȶ.Klyrˑm3gL~r';Ih:01pTr^#r#rbO|Wu:ZmV5E8+&q7@]J$Z929W_)(˫aY#}RwI42v3b򚼼IC%TU-j\5>cN @A-ݽU鳁H1FyYA, )|Ѹ%#Cރ>;~py+ 6vBxzetBz$nGMߎԮ܌{pn0c] lw [_DQΔG9D2iFuP}|;տ IWP3P>4fzl'J+芪i'j7@2o).q2AϹQOwiʮͣɶ-ĸg  i:_[}-yrSiLjȋjb&X]B ](#KxiI{i埦h[ՙ $KNb[+d$Bw:҆"ja! ʛS^ Y͋=X-A1%RDkE0D f~=z ۵$aJ/O(`YZOKvie- fbmAg[vufU z̷1& .c[*DgxdR=!}E. 'VK5 s{X}$Cs9'm,X9R;ʂX=E6#$c"$ VnCvG'kvƒ֍|QUq~T>űv]Y|OeTƮ,uj+`(#G~Fㆎr+,5p0s{ X1'I6䷵(!9ٞ VOgDzN8!l%x^}ֶN؁$=Cmr ,Sիi]P*6Ɯ %(IEP&U#%]3Anps%/QH.m@.@ZX$\KY$lZ4!%bio2'ިǫpPMyMuz RH[Qdcc=v J%nG;g0rFf'&uH5ܴZ7+5$LjEk7b*2h/}`75I"o fP*Ɛz3CwZR5ilxpg'hhrv3[F]c#8ȯ'hw&Mf6#fB[T0wE~g*1Fb~D/AG%#HГ.x bv`iVKF45%:u W R7(3=nl9a(?rtIlk_#meuvk6)u/a*) iH͎::8q7 `qT.lUPiPŠy}f i*>Y}qMb{AujMݺekG"i{00cyq C'R~f 4&݄87UC >*OR FE*HO($•VBIf@wǞ3@ K89K~⿹<+Sy }+(MxqS: KU Zbd %紬 g)7T K|`nGhrk{؜S ! RGFRNWN1_et{,ťg7G9n,nX*lFЖq^?ѧ3CǡVA7p.W۱RRx/m+Gup594}:[e:EdpKJ2ڴ~"e!'DF7 &Y|xӌ+G+Z;ڌXWqPPG9A$xE(4o=rW(0|"y`Kp}C{'f"vCNh'hI$>U!~X1ͭ0&jYyv;4fV&{bMsze )¬ToEĀ^e2bn)6˛ffEdT5ňxI)Ű|fY8ԀWoQrڝF5s K(15',`BO0_4fjְW"bMWN+W`֘ny+;9XH8"TcR&a.BoA4ڜ:KQǁ-i<@\4͑HWBGn(qgԛ烥!~Z"2h@o`NA;#;oQuFt&AS2#L{ثD!>ؒu;uH@ԎB]EWM bx"|L..hT)薋]|H/X;IQRp9] ZEW%Y[w#*vEP2_ vjakȁn1־g3r։gUx3WC^];joƘz:]i@܈7y3c F / ^Juķr\;{S_>Py9*HOmժwAS|but2$I<ۛvXQ<+wzU{b2^JTSJԼRT6<[fjHB V7<:K?Qsa|(b@ WJy|l3 Tĺ)rbUsr&r^C[_VԮ o&C5 q7u7ALfZ&ݍp[ot;JV{Z_uPGզB l,C@F)[j.#Z;QN*aarS<:> (B57`BwT~'2W|cik, Me^ ydq*qLg˖7al+ wfXkj{d^KQ3:~J|ЁPCz&҆*&O kؼ} 4=gZR "2DVQ?ilNVX]vp'2=\= rhśr* J4[㑜=TζQ)+.(mU2nogygR6ˣd,FdIޙ1G?W*ﰋlVXxͦK]7_oEgOk[Ja'.?,!.IhUJW,i$CZkZ?Mrdo3һ55X3֩I d/lh=ӲB庞l6uBL`j|Ɍ8Uⲷ=Svg#5o팅fm\/JL$m>kcw-cEQ8 >֞#50wVX dQt- }$]*5Wq5 &.z(rM u)h;tu/.[jɘ^isn,j 4YDG {YPujCxzCW;V0]&sljټOQ&xw Vf1.tF.ӊԋHm57/[О{U9 I-:[m b,]7i&nSU?-onJbiWStKzw0~Vzl\$\S=\_֝=4M[eIIc0Kgi/;5SLզʲq6h:j uf?l3f6fbbtKy [XSm8(uđ &J^ ̝%7q{SBFXs!K8P\R (CFu6B!^~AEK_Z 9FҐ%E.'$4Y0=oE@k44G)Fpu*pI˩s @l~qnEoNzƴI4uKܼb8qL(u-AZ2:5gmфg{X=my giq;CK|~ JGIմ;Q^X LVt%4a#@:#_O.CSu4p\(t$[EM Z3i6pai IY^4E/eI2 ;nlyޣwӷnb'픇 x!uWE܎}{ĒL{')VgB\S[lR >I$ H"IJM Tc~,gI_32EӤd!).T3w-I^a/—)Yg-Q̒f F}.=U@e p V&MwB6JmJcUV* 7T&Y:ox[K^ڶLK,F74_ geWy / wUp 3ԋf,7sOzĉ"{K`ʆ]{SH'dilgZ=Л[v4#|q xC ',Wזֽ11,?<IZR赉L<^K_܂'ѥ׸{ܺxo2{"5]d~Zw=͵}E^P['.I\YЕ⵰%Au\qCuϞzZY;b`Mw"Jň (=}j9ï=9<$בq "rU|6MUԅ7)AcWPﳪQQPLBV&JrZ:MS%ƑHpRAbPVEgT6o{80Hu9v ]1+ey!I߼ԗtCb>NOӽqꊃ\-rL~ߨxgi]9e7I]%ȶ(vpJ?۟Y4m_jX$!1BɢcKhIevd{f89/x"I+gG[Ţq^Ӑy(Ȉx() M#Dj`>!8a Fa@$~Ҧ9鮝ZnkPK|Hz#}IJ߉g*rbnX 1iͨoK֞p s_ZxK4A*HD*eKzz CBGtDv*f ὗL×"J|4a*60N] /TpwC#@lOJkgJ3Y:Rكxwgׂ oH+4kޱȖ R|yCsy~SM~7.-^;cAYgaY wἠl6FZ uĆ*F~s71_0q`W{"0xLc[_ЮrSП}98c)J&FZM9~KQaL6B@J'}T.pخрDį"!ӤSרV]WDԮFOn#.Fd-d'A]Bdz:ljL&/pyC9+oTE剋^%JAlgΌw4;;7FcEY%sjOsiNTvno$˸fX~p!L Y 8hM2JhgjeZSv5̋c_; (q% yHp>?Hɗ|-q~8y` .č*d8WAD^tN{2I. v^ݑs)-C3t{‡z yoOxɆK u%6Kxui~$52sکa]QVl)!)~)B~V@Kb{CC"M #ًSGުig$yڥ5,)ǒ.ZA,i/ry="p{7{SA"{L>R({JWu9eUg- <>F+:SP#m,$ ٭)VEL+v^yxq֥zC1=oDo#^gbxۛ( ~y@m7,ȌE}.Hd^/vxW PU)//4XB_Xg7\qQJ1tkĥJwFŖe;`[';W&v[bL@}Ak<%h6c|-Nf@V[A*P@. 6\YÀA`oFR,#X +Swgo`Eu@WL3 gW|]=qV-7ƛ5ً6Jbw|ճfC,3J~Zx GC0\~Svz"gyr@k{si:jVΘƣ?_)E-!a:ḥcEó5zȂXK>YUN9Pk؉no,N+>OOl24R4#Ո^ qbhP~kLg{]Q&&_?u@"D=C 383^Uϻo Ţg62SdkLx C^y\ٝN,H\e|GdGB |?G+5s4Cq}S`0GwT׆'<mLt,cҦZ#59I8˽qv+ܛg`6"W]qW)S@\zihYZ8䲽s!_9D`ԝ:EZDJg{c1JťfX0XXj9:"Ӿ|C-I*E$O!]ǙKX^u `U)v o(O=`INq@A>Fp*ElCmf06rۖ嶉-MjGOx1 p_0UR>8LLΑ՜r! !1G* h~=>rHt4H0i`Sg`K˜KXjȷS=h!OkѹHI_W.ۼXIrS%¦0%BtO3lEC}HV M2`3lݷhlLiVu/[6/k|̏Hs9{M`Zup$2W\*Hmř!dҨ=l!b t9 EOs@^lܦҚ1ڇQ+ ?r}?OBu9´dĄی &h:շ`tXKI .e&+ Q~:3R=u-lq&9i'tmyT &Aօ\1!l#vS.@o3^`-r @ԟ1VlE+Fs6 #ϭY2I pk.H!پ4,5ý?J9 !tt}ѩv:|.\TDW#WmGfGvsKnq Z_A7u6Ç,8ڣ$6,Y)K<]"3$h(A>E}Sh8˴ f#AwYIIy%SFTmpF=MӾdPP`,V K L N&Y5 Z!ueŽ[${&a_r˸K KYU2)9n!~dz|1^efPNI<(io5$M4@?̟|M3go~$ ouɅ_ J;,fbN$u[om Z5do#"Zȩ&ФZCAeM2W35Wv;x?cR?u?MC{>rV^+}ݍ ;hX+BOB?b^%Ɛ{]*ra9> |坓h.{ 1Ocͺ5h9l=B70x)^^h}gj d|;&TD/zr^?ciVnǕЅh$Q[YnLa^|@D^t.aTn{Tg4j5[K /aV{,؍5o&&_߿乼M*'= ;>;?0TL܏d33*7CF̴:~|%t$@73Ǜ{|+{&/7k%zхmTy9׺ΕsrZ!3,wFi[gD}ISibd?"&hu(t O.TI!8CMBtv+)RDYVcoƅeWwKW.@"NI7-K#wiClz70}@Fqb.dڽ>?5a띊~嵦eSs&QGZY)$!鿍 bɹ=eyQﱲHA5`_W^.މ&ا fSG!K֮l XM.zol11To:,g!N}ja7Z;CљUqt">k9fP vilzzfh 5}tX_6ԴmaCH6Tml&\:G=_϶8^fôuZkD̗"*/F7vE[;,p qDq]iK;ۓ`nΪJ^k)z$߽ $j4*i; ^HI P1Էʇ烈/AM߭= ذu|JVOMIs&myP=VfңQE :/nSa F9$NU{u@ ?[7<,>'1̩3P` ɚq$gJE#^ٍTN`RtG.T,mre4KEs{M KVU.VC 2&yDLV(h{w8m{| /`i\0\%64FWu LU当Dk#Ycx@dSͶe妌Uxl%,ٹ9-ekB`o%k&AQ>c Ժ%,5]>e0"uXhJ.|yG#ڗ,43^HB[Ӂ"\W'럙SqS !+b &A BHj2ңShJjoOF1|Ű{׭!xuP c~_h,~J )f Tc9=C4A9j"ЩnJPv[W浵ؤԹW cXhv>9‘ɡ7/#I}3@mԁ^u}z]cOx3npZb`mw; {d _\گ7JJ0Hr,Ko mSg>PgA}opFO&ZI > BӗUC|yOf?':/ocH+;֛R[twfaͿ=u-> !W_wn2$qk]>>2°˞hP~4 ' IHmBIc]khvIDF"F_NJ"F$l7R{;:yURGk/ =╵r`d @me GoIIOAj #Qh"+ɚ}ߘLI\he =(!DV M/*I " w66RTHBuo~V6Vٕ,@e9L>6.Y ݛ9cg#Ux <]i0qiXO=w5~Vo/ ҸI<,΋fguڕM&+B/$]up:2!?o\]!h Į;4*qKL/cM5ʾ 2Oxf+,8:ÛoŹ8\|RHÇ&&$@bp - ^;0†|RvOi~(k-A9L8uv"9VFU4maˌ\oAAА;C'Hq3)oukRr~ZR^4gSu{ɌIcB7Nz'FM$L:S55z? X 4g`pFo {mIpOĉ7MECP.PA_hq}hH_9N`v+ fG)!T"& dxGcz*N+.ῢM)_-lg*D0xD_t-G;=Enfx#s2£v3&N|o\z 4{VoK4l]Ts%:K7sO3b'#H7K+ 3߇Pa<וdBY$S| GDʻhMu\(\[:bA)$aoйr$ dgB+KP;]bg-MmLfخ2叆16ڼ)_ʪ:`=Rpʉ[Utf%3a sC\[p.{>Zr 52_tb#. Fj\J֘q1탩|. V|p⠣= gLDr[wz>HX>{'{˹l=b>-Vd 5t$*,s-mI'^dž6iP FըL7OC6/'W&2غى.兤ԑ<K|apãm5*F2ijȃ ڻ**{L>FSxeLeh;TěCK,k9::L?| 5ZrtZ:{V^ؤd*1LjH 3GyDWC.Y Jkۊ*X"&PdGF-&(JhP>B22 zf_bK-\|2E-f C$f/ll)uтJ(;&Cjc TAo[Frc\P%h|۽]KX\0Y^DK&|~*|A!eH%SWy%" LAE_*] !%cvΆFa⮙:}##w ze7[| ˆsD3u"uʘv_O:y6 `n:Mzv8j_&Ҷh0?Qu|RnQ¥&zgax+agpTs7C d6!G#+e ʟK] 48Bhfd\U\5:- 4%LG?D0$d\@a)'\?Un{nco١cb_p%@F/.\DH$D:|x.xUPO1@?h~v#`#Վ+$[4,TR"Ȣl^<[^ 2'C8bNzKEnSG] {E'<̶8uC/_ۡ <ˋ,3tt5\38ޚJX?VeaUzP0tƸ„;U t$n_#xފH.;`e~^+G'k\qZUMfw)妟fvKad7d_hl6I9n~=Y/f2jm"4I"wTW 8Y̖~QnWI"^q4bbh}-G"I& %/^)cƾް>qS:ѝ(HS?XmmKC/fWi'l6RuZJ6'd7 1+,ĀaC5RGQ0d9Y͸4hkm敟nۛx7YufgZbjNT1ӌ=9dP5qvoM4PѪE\hnUipCO^83c}Y]q| z 4 *"  ˋ1Σe:jgeQ2i<(G~IL+w)AL/_;A=r=Wl]]dkARNTA\j66[J=z)T 'r # (9X DLѶ7sB&(# ]dq@!FQ(6=9 "n q6 B 23 cDh&u W5.QˍGK,tVHvHЋQsٺ`yґJ\:Qٌ@Ֆ\L&Zcgd.n)CȾ`Ƀ\sWFW ˲!o6B6a5u^Zy', vYebF'T\k9.Cr>oU!1)営Ctm|֖~4,_m%s2->:h95f7L9Õ zU!'c׫PdMA[~ǷA-8ʈ3^ nsdjtRytC^:kH7)ϟ "n^>ST:7"Z(y ";Y^U??_`J 5e%%?̆Qpǐ{5b 6]JG=;މBH=)zղWm4G&kUcgYȮ25BmO/#0uL AiiC_kl ;_@uqL$iA&Ef峪h-#7h JvdYά9.1+bf㣡 BCEl@Cz?\3U=ʛe kO r,tc^!Fb%c#~dتtR֠Sox0$qK远*j\f?@/oBs^-9@>pP%-83;R( Ђh)T9RY~w#y_Ysf!h5$#`OPN%WQ5fw_g"drr@HBoUQJ7[c䣜YajN_}t!w!c;XbvhAfELYUtT]8Qp:Hec v6NZqq )̎6ĕ΃ΑRǺMkJ]|%֗f_;-Kgb3=~l\rK2].J o8tԃ>VEd$m{1yT͆pzG-{2W)"K3.OCUbk:0٬ 1izyEu E ch9 hk2SF}gOOO:#TՅXI\P_waV(48 S5 FRE#L&̳w5驘>.Ԏh=i3A'YHR-Ty~fKc>qYw-T&QB*s4.05ihvle9F$:xrƬ!.cs+ǻ<6 |j  w{Ó¹ C]()D`H#_}:}13vRN=Sr#R,;T*mοY@?G>%OlnKJ6MmAC=(w uu,UelakHNӭfg]S2H>=vῗIwfXZ{j}R8/>x;Lf ٴ/AC#$X;.@,t> .eu|6ϓ׶zE8Jb]mU@>E!y, bfW% ux_2>& ;bLB(Qw}DB|r i/y.,Vٿ^_eNj- sN4MiVR:){ܱkyq9I}lT"\BGNJB{Qs|I͇T~.XDspc$Mrϩ9/(i DR9xIUQVz/|4IwB-վ‡h–@o#k%b9Lj\nu 909J8I l g&@.+,1NRdv2+P-qm JĘ"lj~<0f^N"I%g۶!J:~ń1)+E& xtoC)Je͖r6xـN).w⌭O\.O9gL L~KY3 !cZz_JpShmtW72:d]}xg^-%x̧2/&ǧ+~ZkuƱ[4`TNH2PQȎZpNgÏJ@GVpX Sx]Z0pR`{/32~q"qpy^A+ڨpk : J=R'g+Rb]3Fap(faBP)){vP0/1؎xzG &V/4~jL48},緲[D5*LYGxAY\;$7苘 0nl.IxƧbCkaff6}&x+G fm t%7LvoȇvӸ5 wkE swc9-jh>7`;ŬT*X5a;Hx1`_:@9~;V ')ݞh3 .1ߊF\M;M+5O3 n[3֚ #3@ƃ+|/%UGoe+R[E3 f 6ҭ}URE W<gW𫩼[AW&r3yh¼[slZtlRؽc;.mCJ#Jo:HA⏽?V:}]2@gpVj^o$8+ l>JSp;#/ێ 澔tix5d]s H#cW(AEz'H,oV+ݹȮQ> Ц4\[g]`1 Ž4 3^-jrҼ WkWc) |rNZlnKYMoVy vf~?YPb":J", 9>RʉVקN& W0$?* Ԫ*10NZv[ƕ:%`<,G]8EnLw:v(C74@C`8^- e Q<5H*ΓA͛nCE#^v'qهx~s A@j3@̥H$sWw@jd w X#l:wOF$ VdէEf6ZR8dr0QSB"Z8"Dp+]0J5?O Z =_XM_it&Ysͥhtb?*# /J_)\p,|E:0"\.ކꂇͳ/ئ5+ӱjNHשy(WޭX,ksq!bTy.* =04ZD=Sfv^0I :ȋL =YzlfP /Wj7ev"VicE B3xG2)'N~yFm ~X Bτ7'ΗC#zc],*7GdPŮ&sGT(T 桟ӛ9G%^|TLw4pW)ͧ]o%Up_8ye(Y6ǗNB*|~_ +'fƤ1uxJ9 2=(=W%ceiVl4e:J7&g'"q&,ʢWmySXg1Ss.YriGb&nv{Җqypig RŭX6I-e>aҪ R]7|UݙA;{r4BkO2 22J88 6(ER7´cU &! t!?܉ZlBGl&`>d@hrr9:?+Գ<pB3eTv^£W_85+j䚉ui"\~"t5.?S_w|]*- xY c_G#MdH̥p=RrTs3Y,玴88p:__ c6%bKʙD߹[(+C ߟ!٦KA/"{H=T 5D)E<?zLb'Ҁ*+M3r=w{#a KbS*C?k%͸tBc[̒w w6 `C6a= L*Az+ [yr׹Lo'GsFcWYPG3{K|,AQ ŏ0@sd2.wxPY^Ig#?y heNPljuː0E;vLQAT[4dOnV׌ٛ%j hS ~BwLn~jU~BzbQ gVݏծZ}@[A6 M\,ZpӴ}GÄ׳HG}S\_UV5J&TM\s)xqr6Rjw}/>̟g]Nf-Lo! A^W̛Bβ<(h:@7'+Ɩ=!L:kdu #MeG+11Q< |h 7C»l lff|Q)">3VҲФt-yQ5e`e֡;n|Yd#K{T&n6Lv$ 1&;.2G)Kue{Kvn(Ie/`}ͺC8k3K4pn1lt*$IȘ^}nTJJPźᬞA*u l7;j$< yl(H~Jx{*病UC۸'_^ˌ;8uv8?bOMSݫcޕC ?ѧ[: pc #nޱ210oHul{.OQؘ~!*f B\Dfgz㷴ϩHdɲPiy OQ9L'l?Ro/Euq.D"loY]njuLNl Ui_D-ix\T;GE4jvlP/IRWț43'{ hp"ۍg}tA%Nf0ET#wQ{o꽫.Jec26cمp#goN!#9ӏM kvg,120]u/+}NL8\,K =JVF>nPFm,^YA}"lV/$D~|f(7moLZI~x{B= t}Ge^ɸ*ǿˠFJ  i= W\d\SXst>Ź=2,7#4_d5k2i+m׿+LȠxhHرь+V ӧyĚƕ)/l(U 8E8Y+H̛JjiQn)U+7AcIOꐋ|Ou{Tf`wwð{-8Z_nqm>`5E <[j+qKpZ%)D2{jT“|H,ʌ[ _Xk9%pSEc`ߚ$W:7YA $=1<[G o4HM3 5rnܿ*Eŋ.Jq2OJYEP>C5^+#iFA*k98PV&_wO9asRHbӮdPe73 H +v.EjO%'"/PKUO94kgNo@ yd8oK@knK$)~/N9cǀfBLJqVNcOzzA$M bkj? K—!%XPq?C˜x'Afzx֦%B< JG:2o6TRO/o9s*$xߠ](55X202\I?;AO܍hTr HU+29J?CZil+ϩT\Ӹֆi[8y[pꯈ,=̨ڢv+A]o}>Fh;avG|t`1xUumBeEۡV~3Ӡ/VVFJE-Mg~L7w,'}&~]En"7l)2!҄N@*&"BHC\HQ1g8sxKop1LV^+N+ gpŅ ~D NQ&P ?4>qQ$M V/+m2OՌ'#_kf0ʂgl4Ͱf6uќ&ܹ_`DKs2Grqk #CsB*.X"RM((Ξ~.<#|21Պ 37P>gT2 L?@SrrH`T"/hPR'vQaX,>;K^eН8V8~z P592WM%Dܥ˷oDٸb_5|ЬghXe6ɨ= <=7Yd!ffoοؑ!<c$.@Ăӣ9|3pN7j7 fksEj_]%FɋՇ~1 |:z?M=ZDsoDeԶnx}c S&?LX$/8~:mݴuNӫ;/WutI3%ڀ[;h,UD{9c455-br cxIKÌNᝓjdkV.73D*UoOS O58u|BǕu{Af(Q 8 qڪwJ•1<%+gOLQHO[MXp.E[N2 bp[fsYƷ@N,T$lh `0pRaQAAfYJ@gzs3͘Cs$t5G_|@%ՆcMD\WQ'ksoZX )}Pҿih؜2A:ؖ@ GM2̂ ܣvΊBRd>94_) KᎩ48ncs tmEoUģˤI`+{ "F*rVB_!Vb9IŘ1H=fpFFṪC`Ŧ#:{KfjSk CZmN ,075 9(v&ĄWV%fǢ`oH$^s:cLLX>ݔ' gͮCҒڻJzkKy".Jqt*[0omO NDdsO=v'7t`>n\(SJvsc  ps-s>c@Wk@]. 6.C7mPT_c+Y3;QfTb%|{T/_ $LQ|ʼ? &*ɭ+u*`CBW0^,U-|YkhY^d5S+T߾W԰|AyAcd$Hd^mdj~wsq&Wtj'27 fsVEBh!L|4/⢪7' C>έY>!ްVj"Zꭨ6|TA>f~^jW@6} P#QS_\*^~I>@c>)eQX'k:Zy7=K20險^W9I}=a 7gӔ] ױägq]ߤĄQk {RBɦPf:JݮQ9kۡ$Hۏy2>]}lXE nYeMȄiFL2q-8q^r*I$~ȅ0FƏbE_=,, byq'Ƈ@ϋo]ϒ|`Kq!n_iZ/JA`* ){3IF(lwKKD=PU1:WH<'(3 c;OY/)D dnA!teP\a[?b=+ ne2Ǯaȣy7pĴ.f?>j.m2+y|oet<ऑ l_yyHct'A"ؙ6_jq?XnwK)S"]zlbKܑ52,piȽ"Ǒ5U^ڊsN0!( LJؓibYܨdӺS˴nSӹ%"Ǜo;aV$Ҷ1 ܝS1ކM+k4x n^ܴR:3ʙ 7bJ'erxދo?bok+t\HurLt:2;<)S!sq0,H 4v{[_4LHDZ:9]i\yUS3;4ϚڣF-E^'fF0:ZugD_x~X"7GHl>Tqp[ $PV!|'p( cF"hࢃ#B-cC7ґ'+T=i{]͂Ӹd9YG %PBᢙxp<jf𬐵 Vuu3o-QzQHXpM<#޴xmsʸ}bo@ȓ1A$ ГL'oՓ&/^},E{)@|%Vsj9U@bg,:enˎVEZf"^qj/SkYҘ*xʹ;~EKIA"$":#$-m 'HZ'oXqF ,pmH 5ֻ}Dc SIg"H|5U;"~9EPEǎޏWכk$Փ96:ܳT_ndfйZNc8u%f~PWax@B/9r{rqg$k;IjHp{=S3v&xI:T2_?0W}!ܳ!ԣSrt+#pi"vwrRw )!JN DV:rvKܞ > E5ZH#=F=@ވ*V(8ƫ+nO0b`d-23@4BU.' K:??@z Vt'ndz0Yuy,i*MOOqgtgc{nW!Szȧ [p(G_^OtCΊGb8܎ y\mpT[Ë1,\;J _w?&R/T:()+Ƙ R 1Iz j7k$< W m0\=VM4lc{~>= W]'iU*-3 m9ڣ9n^z|Y=z0"L=R,ej m=Z9m-x">?W>t') N۵U! Pwe-s%8&.֬k逅 t!`9*]OyiB2XP27DxJ%k頻CPlK mjQ@u)SAPS>F=3>p xs> XRϝ4E' JvlPs…Md_LY/Y?Жg@ߴ i`EZ)2oi K-cJhc` _F#Ʀ:yyx(N C~AH~~9ܷ#<JMΗM(۷"08HYskR,_u eXӍm.o#g| (TA\@?vˢuٻviOA}+qwg5&q+<>]ȂN&NZu&lD֜eɳcllel۵`@U@tsX)b[E6*dG=tnĂᇣ3q58:ߩ8Gd6*!'v(!&MJHA!DB8{[D9 {H7v(Jas\꤆T[@NSO8:JzBWFPFMje N$/' }X~(eM}Hsu$W͌SLdx״fθpA.k% >yq 6ʾC{Fw9ˍKɣPdpc )5f}R/X4F4(X^i>c0;5\y01&ep0!<tLK~YJ'.i$|!6{Td+IA |Y@8~L] V`vuӳS` WVOD%t~2UMrh@5y]mE#YocvBaAή6n71ܒNIpq wPⵀ-X{ѝyD8ܾ[-iW%$D8.K3?XCwIIs²ͥ7S,GȸB(As6(f+%vE/6Bdo<TCT).?CL>K|bH:m3?ׇ.נ(aM 7:*Bj͚ur!ͫ)