From df66f2fd3d1a5a08e482bbef84be429b27408a92 Mon Sep 17 00:00:00 2001 From: TotaJ Date: Sat, 18 Jul 2020 17:37:25 +0800 Subject: [PATCH] For oracle_fdw. --- GNUmakefile.in | 11 +- README.md | 1 + configure | 24 + contrib/oracle_fdw/Makefile | 59 + src/Makefile.global.in | 1 + src/common/backend/parser/analyze.cpp | 4 +- src/gausskernel/Makefile | 4 + src/gausskernel/optimizer/plan/createplan.cpp | 3 +- src/include/foreign/foreign.h | 3 + src/include/postgres.h | 4 + .../huawei_oracle_fdw-2.2.0_patch.patch | 1036 +++++++++++++++++ .../oracle_fdw-ORACLE_FDW_2_2_0.tar.gz | Bin 0 -> 123775 bytes 12 files changed, 1146 insertions(+), 4 deletions(-) create mode 100644 contrib/oracle_fdw/Makefile create mode 100644 third_party/dependency/oracle_fdw/huawei_oracle_fdw-2.2.0_patch.patch create mode 100644 third_party/dependency/oracle_fdw/oracle_fdw-ORACLE_FDW_2_2_0.tar.gz diff --git a/GNUmakefile.in b/GNUmakefile.in index d37de4836..afca2d5fd 100644 --- a/GNUmakefile.in +++ b/GNUmakefile.in @@ -34,8 +34,15 @@ else install_mysql_fdw: endif +ifeq ($(enable_oracle_fdw), yes) +install_oracle_fdw: + $(MAKE) -C contrib/oracle_fdw install +else +install_oracle_fdw: +endif + ifeq ($(enable_multiple_nodes), yes) -install: install_mysql_fdw +install: install_mysql_fdw install_oracle_fdw $(MAKE) -C contrib/hstore $@ $(MAKE) -C src/distribute/kernel/extension/packages $@ $(MAKE) -C contrib/pagehack $@ @@ -45,7 +52,7 @@ install: install_mysql_fdw $(MAKE) -C src/distribute/kernel/extension/tsdb $@ +@echo "PostgreSQL installation complete." else -install: install_mysql_fdw +install: install_mysql_fdw install_oracle_fdw +@echo "openGauss installation complete." endif diff --git a/README.md b/README.md index 5d42be4f1..21e28892f 100644 --- a/README.md +++ b/README.md @@ -514,6 +514,7 @@ Compilation log: **make_compile.log** > 3. On the **ARMv8.1** platform or a later version (for example, Kunpeng 920), **-D__ARM_LSE** needs to be added to **CFLAGS**. > 4. If **binarylibs** is moved to **openGauss-server** or a soft link to **binarylibs** is created in **openGauss-server**, you do not need to specify the **--3rd** parameter. However, if you do so, please note that the file is easy to be deleted by the `git clean` command. > 5. To build with mysql_fdw, add **--enable-mysql-fdw** when configure. Note that before build mysql_fdw, MariaDB's C client library is needed. + > 6. To build with oracle_fdw, add **--enable-oracle-fdw** when configure. Note that before build oracle_fdw, Oracle's C client library is needed. 4. Run the following commands to compile openGauss: diff --git a/configure b/configure index e72c69476..c41816ff8 100755 --- a/configure +++ b/configure @@ -744,6 +744,7 @@ enable_jemalloc_debug enable_multiple_nodes enable_memory_check enable_mysql_fdw +enable_oracle_fdw enable_thread_check enable_shared default_gs_version @@ -821,6 +822,7 @@ enable_jemalloc_debug enable_multiple_nodes enable_memory_check enable_mysql_fdw +enable_oracle_fdw enable_thread_check enable_spinlocks enable_debug @@ -2869,6 +2871,28 @@ else fi +# Check whether --enable-oracle-fdw was given. +if test "${enable_oracle_fdw+set}" = set; then + enableval=$enable_oracle_fdw; + case $enableval in + yes) + : + ;; + no) + : + ;; + *) + { { $as_echo "$as_me:$LINENO: error: no argument expected for --enable-oracle-fdw option" >&5 +$as_echo "$as_me: error: no argument expected for --enable-oracle-fdw option" >&2;} + { (exit 1); exit 1; }; } + ;; + esac + +else + enable_oracle_fdw=no + +fi + # Check whether --enable-thread-check was given. if test "${enable_thread_check+set}" = set; then enableval=$enable_thread_check; diff --git a/contrib/oracle_fdw/Makefile b/contrib/oracle_fdw/Makefile new file mode 100644 index 000000000..2dad602fd --- /dev/null +++ b/contrib/oracle_fdw/Makefile @@ -0,0 +1,59 @@ +# +# Copyright (c) 2020 Huawei Technologies Co.,Ltd. +# +# openGauss is licensed under Mulan PSL v2. +# You can use this software according to the terms and conditions of the Mulan PSL v2. +# You may obtain a copy of Mulan PSL v2 at: +# +# http://license.coscl.org.cn/MulanPSL2 +# +# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, +# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, +# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. +# See the Mulan PSL v2 for more details. +# --------------------------------------------------------------------------------------- +# +# Makefile +# Makefile for the oracle_fdw +# +# IDENTIFICATION +# contrib/oracle_fdw/Makefile +# +# --------------------------------------------------------------------------------------- + +all:oracle_fdw_target +install:install-data + +top_builddir ?= ../../ +ORACLE_FDW_DIR=$(top_builddir)/third_party/dependency/oracle_fdw +ORACLE_FDW_PACKAGE=oracle_fdw-ORACLE_FDW_2_2_0 +ORACLE_FDW_PATCH=huawei_oracle_fdw-2.2.0_patch +ORACLE_FDW_MEGRED_SOURCES_DIR=$(ORACLE_FDW_DIR)/code + +.PHONY: oracle_fdw_target +oracle_fdw_target: + @$(call create_oracle_fdw_sources) + @make -C $(ORACLE_FDW_MEGRED_SOURCES_DIR)/$(ORACLE_FDW_PACKAGE) NO_PGXS=1 + +.PHONY: install-data +install-data: oracle_fdw_target + @make -C $(ORACLE_FDW_MEGRED_SOURCES_DIR)/$(ORACLE_FDW_PACKAGE) NO_PGXS=1 install + +uninstall distclean clean: + @rm -rf $(ORACLE_FDW_MEGRED_SOURCES_DIR) + +define create_oracle_fdw_sources + rm -rf $(ORACLE_FDW_MEGRED_SOURCES_DIR); \ + mkdir $(ORACLE_FDW_MEGRED_SOURCES_DIR); \ + tar xfzv $(ORACLE_FDW_DIR)/$(ORACLE_FDW_PACKAGE).tar.gz -C $(ORACLE_FDW_MEGRED_SOURCES_DIR) &> /dev/null; \ + for ((i=1;i<=99;i++)); \ + do \ + file_name="$(ORACLE_FDW_DIR)/$$i-oracle_fdw-2.2.0_patch.patch"; \ + if [ ! -f "$$file_name" ]; then \ + exit 0; \ + fi; \ + patch -p0 -d $(ORACLE_FDW_MEGRED_SOURCES_DIR)/$(ORACLE_FDW_PACKAGE) < $$file_name &> /dev/null; \ + done + rename ".c" ".cpp" $(ORACLE_FDW_MEGRED_SOURCES_DIR)/$(ORACLE_FDW_PACKAGE)/*.c; \ + patch -p0 -d $(ORACLE_FDW_MEGRED_SOURCES_DIR)/$(ORACLE_FDW_PACKAGE) < $(ORACLE_FDW_DIR)/$(ORACLE_FDW_PATCH).patch &> /dev/null; +endef diff --git a/src/Makefile.global.in b/src/Makefile.global.in index 23f197a14..273da8a6b 100644 --- a/src/Makefile.global.in +++ b/src/Makefile.global.in @@ -172,6 +172,7 @@ enable_jemalloc = @enable_jemalloc@ enable_jemalloc_debug = @enable_jemalloc_debug@ enable_multiple_nodes = @enable_multiple_nodes@ enable_mysql_fdw = @enable_mysql_fdw@ +enable_oracle_fdw = @enable_oracle_fdw@ enable_memory_check = @enable_memory_check@ enable_memory_check_core = @enable_memory_check_core@ enable_thread_check = @enable_thread_check@ diff --git a/src/common/backend/parser/analyze.cpp b/src/common/backend/parser/analyze.cpp index 68386f168..efa5a80a1 100644 --- a/src/common/backend/parser/analyze.cpp +++ b/src/common/backend/parser/analyze.cpp @@ -868,8 +868,10 @@ static void CheckUnsupportInsertSelectClause(Query* query) AssertEreport(query->commandType == CMD_INSERT, MOD_OPT, "Only deal with CMD_INSERT commondType here"); if (result->relkind == RELKIND_FOREIGN_TABLE) { - if (isMOTFromTblOid(result->relid) || isMysqlFDWFromTblOid(result->relid)) + if (isMOTFromTblOid(result->relid) || isMysqlFDWFromTblOid(result->relid) || + isOracleFDWFromTblOid(result->relid)) { return; + } if (list_length(query->rtable) == 1) ereport(ERROR, diff --git a/src/gausskernel/Makefile b/src/gausskernel/Makefile index c896bf1c9..86b64aac2 100644 --- a/src/gausskernel/Makefile +++ b/src/gausskernel/Makefile @@ -31,6 +31,10 @@ ifeq ($(enable_mysql_fdw), yes) SUBDIRS += $(top_builddir)/contrib/mysql_fdw endif +ifeq ($(enable_oracle_fdw), yes) + SUBDIRS += $(top_builddir)/contrib/oracle_fdw +endif + ifeq ($(enable_multiple_nodes), yes) SUBDIRS += ../distribute/kernel ../distribute/kernel/extension/roach_api ../distribute/kernel/extension/dimsearch/main \ ../distribute/kernel/extension/tsdb diff --git a/src/gausskernel/optimizer/plan/createplan.cpp b/src/gausskernel/optimizer/plan/createplan.cpp index d356ff945..9678c6c39 100644 --- a/src/gausskernel/optimizer/plan/createplan.cpp +++ b/src/gausskernel/optimizer/plan/createplan.cpp @@ -8462,7 +8462,8 @@ ModifyTable* make_modifytable(CmdType operation, bool canSetTag, List* resultRel Plan* subplan = (Plan*)(linitial(subplans)); ForeignScan* fscan = NULL; if ((fscan = (ForeignScan*)FindForeignScan(subplan)) != NULL) { - if (!isMOTFromTblOid(fscan->scan_relid) && !isMysqlFDWFromTblOid(fscan->scan_relid)) + if (!isMOTFromTblOid(fscan->scan_relid) && !isMysqlFDWFromTblOid(fscan->scan_relid) && + !isOracleFDWFromTblOid(fscan->scan_relid)) ereport(ERROR, (errmodule(MOD_OPT), errcode(ERRCODE_FEATURE_NOT_SUPPORTED), diff --git a/src/include/foreign/foreign.h b/src/include/foreign/foreign.h index 2b270f548..369b091bd 100644 --- a/src/include/foreign/foreign.h +++ b/src/include/foreign/foreign.h @@ -285,6 +285,9 @@ bool isWriteOnlyFt(Oid relid); #define isMysqlFDWFromTblOid(relId) \ (IsSpecifiedFDWFromRelid(relId, MYSQL_FDW)) +#define isOracleFDWFromTblOid(relId) \ + (IsSpecifiedFDWFromRelid(relId, ORACLE_FDW)) + #define IS_OBS_CSV_TXT_FOREIGN_TABLE(relId) \ (IsSpecifiedFDWFromRelid(relId, DIST_FDW) && (is_obs_protocol(HdfsGetOptionValue(relId, optLocation)))) diff --git a/src/include/postgres.h b/src/include/postgres.h index f907032e7..40ddaab0a 100644 --- a/src/include/postgres.h +++ b/src/include/postgres.h @@ -78,6 +78,10 @@ #define MYSQL_FDW "mysql_fdw" #endif +#ifndef ORACLE_FDW +#define ORACLE_FDW "oracle_fdw" +#endif + #ifndef MOT_FDW #define MOT_FDW "mot_fdw" #endif diff --git a/third_party/dependency/oracle_fdw/huawei_oracle_fdw-2.2.0_patch.patch b/third_party/dependency/oracle_fdw/huawei_oracle_fdw-2.2.0_patch.patch new file mode 100644 index 000000000..4140529a6 --- /dev/null +++ b/third_party/dependency/oracle_fdw/huawei_oracle_fdw-2.2.0_patch.patch @@ -0,0 +1,1036 @@ +diff --git Makefile Makefile +index 5f8b100..7fdd24f 100644 +--- Makefile ++++ Makefile +@@ -11,7 +11,7 @@ SHLIB_LINK = -L$(ORACLE_HOME) -L$(ORACLE_HOME)/bin -L$(ORACLE_HOME)/lib -L$(ORAC + + ifdef NO_PGXS + subdir = contrib/oracle_fdw +-top_builddir = ../.. ++top_builddir = ../../../../../ + include $(top_builddir)/src/Makefile.global + include $(top_srcdir)/contrib/contrib-global.mk + else +@@ -30,3 +30,6 @@ else + ORACLE_SHLIB=clntsh + endif + endif ++ ++exclude_option=-fPIE ++override CPPFLAGS := $(filter-out $(exclude_option),$(CPPFLAGS)) +\ No newline at end of file +diff --git oracle_fdw.cpp oracle_fdw.cpp +index e75b6ab..7e83a4f 100644 +--- oracle_fdw.cpp ++++ oracle_fdw.cpp +@@ -92,13 +92,13 @@ + #define WIDTH_THRESHOLD 1024 + #endif /* WIDTH_THRESHOLD */ + +-#if PG_VERSION_NUM < 90200 ++#if 0//PG_VERSION_NUM < 90200 + #define OLD_FDW_API + #else + #undef OLD_FDW_API + #endif /* PG_VERSION_NUM */ + +-#if PG_VERSION_NUM >= 90300 ++#if 1//PG_VERSION_NUM >= 90300 + #define WRITE_API + #else + #undef WRITE_API +@@ -153,13 +153,13 @@ PG_MODULE_MAGIC; + /* + * "true" if Oracle data have been modified in the current transaction. + */ +-static bool dml_in_transaction = false; ++static THR_LOCAL bool dml_in_transaction = false; + + /* + * PostGIS geometry type, set upon library initialization. + */ +-static Oid GEOMETRYOID = InvalidOid; +-static bool geometry_is_setup = false; ++static THR_LOCAL Oid GEOMETRYOID = InvalidOid; ++static THR_LOCAL bool geometry_is_setup = false; + + /* + * Describes the valid options for objects that use this wrapper. +@@ -219,7 +219,7 @@ static struct OracleFdwOption valid_options[] = { + * be more than one foreign table modified at the same time. + */ + +-static regproc *output_funcs; ++static THR_LOCAL regproc *output_funcs; + #endif /* WRITE_API */ + + /* +@@ -275,10 +275,10 @@ struct OracleFdwState { + /* + * SQL functions + */ +-extern PGDLLEXPORT Datum oracle_fdw_handler(PG_FUNCTION_ARGS); +-extern PGDLLEXPORT Datum oracle_fdw_validator(PG_FUNCTION_ARGS); +-extern PGDLLEXPORT Datum oracle_close_connections(PG_FUNCTION_ARGS); +-extern PGDLLEXPORT Datum oracle_diag(PG_FUNCTION_ARGS); ++extern "C" PGDLLEXPORT Datum oracle_fdw_handler(PG_FUNCTION_ARGS); ++extern "C" PGDLLEXPORT Datum oracle_fdw_validator(PG_FUNCTION_ARGS); ++extern "C" PGDLLEXPORT Datum oracle_close_connections(PG_FUNCTION_ARGS); ++extern "C" PGDLLEXPORT Datum oracle_diag(PG_FUNCTION_ARGS); + + PG_FUNCTION_INFO_V1(oracle_fdw_handler); + PG_FUNCTION_INFO_V1(oracle_fdw_validator); +@@ -306,7 +306,7 @@ static ForeignScan *oracleGetForeignPlan(PlannerInfo *root, RelOptInfo *foreignr + , Plan *outer_plan + #endif /* PG_VERSION_NUM */ + ); +-static bool oracleAnalyzeForeignTable(Relation relation, AcquireSampleRowsFunc *func, BlockNumber *totalpages); ++static bool oracleAnalyzeForeignTable(Relation relation, AcquireSampleRowsFunc *func, BlockNumber *totalpages, void* additionalData, bool estimateTableRowNum); + #endif /* OLD_FDW_API */ + static void oracleExplainForeignScan(ForeignScanState *node, ExplainState *es); + static void oracleBeginForeignScan(ForeignScanState *node, int eflags); +@@ -348,7 +348,7 @@ static struct oraTable *build_join_oratable(struct OracleFdwState *fdwState, Lis + #endif /* JOIN_API */ + static void getColumnData(Oid foreigntableid, struct oraTable *oraTable); + #ifndef OLD_FDW_API +-static int acquireSampleRowsFunc (Relation relation, int elevel, HeapTuple *rows, int targrows, double *totalrows, double *totaldeadrows); ++static int acquireSampleRowsFunc (Relation relation, int elevel, HeapTuple *rows, int targrows, double *totalrows, double *totaldeadrows, void* additionalData, bool estimateTableRowNum); + static void appendAsType(StringInfoData *dest, const char *s, Oid type); + #endif /* OLD_FDW_API */ + static char *deparseExpr(oracleSession *session, RelOptInfo *foreignrel, Expr *expr, const struct oraTable *oraTable, List **params); +@@ -375,6 +375,10 @@ static struct OracleFdwState *copyPlanData(struct OracleFdwState *orig); + static void subtransactionCallback(SubXactEvent event, SubTransactionId mySubid, SubTransactionId parentSubid, void *arg); + static void addParam(struct paramDesc **paramList, char *name, Oid pgtype, oraType oratype, int colnum); + static void setModifyParameters(struct paramDesc *paramList, TupleTableSlot *newslot, TupleTableSlot *oldslot, struct oraTable *oraTable, oracleSession *session); ++static bool hasTrigger(Relation rel, CmdType cmdtype); ++static void buildInsertQuery(StringInfo sql, struct OracleFdwState *fdwState); ++static void buildUpdateQuery(StringInfo sql, struct OracleFdwState *fdwState, List *targetAttrs); ++static void appendReturningClause(StringInfo sql, struct OracleFdwState *fdwState); + #endif /* WRITE_API */ + static void transactionCallback(XactEvent event, void *arg); + static void exitHook(int code, Datum arg); +@@ -382,10 +386,7 @@ static void oracleDie(SIGNAL_ARGS); + static char *setSelectParameters(struct paramDesc *paramList, ExprContext *econtext); + static void convertTuple(struct OracleFdwState *fdw_state, Datum *values, bool *nulls, bool trunc_lob); + static void errorContextCallback(void *arg); +-static bool hasTrigger(Relation rel, CmdType cmdtype); +-static void buildInsertQuery(StringInfo sql, struct OracleFdwState *fdwState); +-static void buildUpdateQuery(StringInfo sql, struct OracleFdwState *fdwState, List *targetAttrs); +-static void appendReturningClause(StringInfo sql, struct OracleFdwState *fdwState); ++ + #ifdef IMPORT_API + static char *fold_case(char *name, fold_t foldcase, int collation); + #endif /* IMPORT_API */ +@@ -457,7 +458,7 @@ oracle_fdw_validator(PG_FUNCTION_ARGS) + Oid catalog = PG_GETARG_OID(1); + ListCell *cell; + bool option_given[option_count] = { false }; +- int i; ++ unsigned int i; + + /* + * Check that only options supported by oracle_fdw, and allowed for the +@@ -752,9 +753,6 @@ _PG_init(void) + errmsg("PostgreSQL version \"%s\" not supported by oracle_fdw", + GetConfigOptionByName("server_version", NULL)), + errhint("You'll have to update PostgreSQL to a later minor release."))); +- +- /* register an exit hook */ +- on_proc_exit(&exitHook, PointerGetDatum(NULL)); + } + + #ifdef OLD_FDW_API +@@ -989,18 +987,18 @@ oracleGetForeignPaths(PlannerInfo *root, RelOptInfo *baserel, Oid foreigntableid + fdwState->order_clause = orderedquery.data; + + /* add the only path */ +- add_path(baserel, ++ add_path(root, baserel, + (Path *)create_foreignscan_path( + root, + baserel, + #if PG_VERSION_NUM >= 90600 + NULL, /* default pathtarget */ +-#endif /* PG_VERSION_NUM */ + baserel->rows, ++#endif /* PG_VERSION_NUM */ + fdwState->startup_cost, + fdwState->total_cost, + usable_pathkeys, +- baserel->lateral_relids, ++ NULL, + #if PG_VERSION_NUM >= 90500 + NULL, /* no extra plan */ + #endif /* PG_VERSION_NUM */ +@@ -1152,7 +1150,7 @@ ForeignScan + scan_relid = foreignrel->relid; + + /* check if the foreign scan is for an UPDATE or DELETE */ +- if (foreignrel->relid == root->parse->resultRelation && ++ if (foreignrel->relid == (unsigned int)root->parse->resultRelation && + (root->parse->commandType == CMD_UPDATE || + root->parse->commandType == CMD_DELETE)) + { +@@ -1182,8 +1180,10 @@ ForeignScan + rel = heap_open(foreigntableid, NoLock); + + /* is there an AFTER trigger FOR EACH ROW? */ +- has_trigger = (foreignrel->relid == root->parse->resultRelation) +- && hasTrigger(rel, root->parse->commandType); ++ has_trigger = (foreignrel->relid == (unsigned int)root->parse->resultRelation); ++#ifdef WRITE_API ++ has_trigger = has_trigger && hasTrigger(rel, root->parse->commandType); ++#endif + + heap_close(rel, NoLock); + +@@ -1284,7 +1284,7 @@ ForeignScan + } + + bool +-oracleAnalyzeForeignTable(Relation relation, AcquireSampleRowsFunc *func, BlockNumber *totalpages) ++oracleAnalyzeForeignTable(Relation relation, AcquireSampleRowsFunc *func, BlockNumber *totalpages, void* additionalData, bool estimateTableRowNum) + { + *func = acquireSampleRowsFunc; + /* use positive page count as a sign that the table has been ANALYZEd */ +@@ -1631,7 +1631,7 @@ oraclePlanForeignModify(PlannerInfo *root, ModifyTable *plan, Index resultRelati + #endif /* PG_VERSION_NUM */ + + /* check if the foreign table is scanned and we already planned that scan */ +- if (resultRelation < root->simple_rel_array_size ++ if (resultRelation < (unsigned int)root->simple_rel_array_size + && root->simple_rel_array[resultRelation] != NULL + && root->simple_rel_array[resultRelation]->fdw_private != NULL) + { +@@ -1682,7 +1682,7 @@ oraclePlanForeignModify(PlannerInfo *root, ModifyTable *plan, Index resultRelati + #if PG_VERSION_NUM >= 90500 + tmpset = bms_copy(rte->updatedCols); + #else +- tmpset = bms_copy(rte->modifiedCols); ++ tmpset = bms_copy(rte->updatedCols); + #endif /* PG_VERSION_NUM */ + + while ((col = bms_first_member(tmpset)) >= 0) +@@ -2492,7 +2492,7 @@ oracleImportForeignSchema(ImportForeignSchemaStmt *stmt, Oid serverOid) + struct OracleFdwState + *getFdwState(Oid foreigntableid, double *sample_percent) + { +- struct OracleFdwState *fdwState = palloc0(sizeof(struct OracleFdwState)); ++ struct OracleFdwState *fdwState = (struct OracleFdwState*)palloc0(sizeof(struct OracleFdwState)); + char *pgtablename = get_rel_name(foreigntableid); + List *options; + ListCell *cell; +@@ -3341,7 +3341,7 @@ build_join_oratable(struct OracleFdwState *fdwState, List *fdw_scan_tlist) + * exceeding this is not used by compute_scalar_stats(). + */ + int +-acquireSampleRowsFunc(Relation relation, int elevel, HeapTuple *rows, int targrows, double *totalrows, double *totaldeadrows) ++acquireSampleRowsFunc(Relation relation, int elevel, HeapTuple *rows, int targrows, double *totalrows, double *totaldeadrows, void* additionalData, bool estimateTableRowNum) + { + int collected_rows = 0, i; + struct OracleFdwState *fdw_state; +@@ -3813,7 +3813,7 @@ deparseExpr(oracleSession *session, RelOptInfo *foreignrel, Expr *expr, const st + || strcmp(opername, "|/") == 0 + || strcmp(opername, "@") == 0) + { +- left = deparseExpr(session, foreignrel, linitial(oper->args), oraTable, params); ++ left = deparseExpr(session, foreignrel, (Expr*)linitial(oper->args), oraTable, params); + if (left == NULL) + { + pfree(opername); +@@ -3823,7 +3823,7 @@ deparseExpr(oracleSession *session, RelOptInfo *foreignrel, Expr *expr, const st + if (oprkind == 'b') + { + /* binary operator */ +- right = deparseExpr(session, foreignrel, lsecond(oper->args), oraTable, params); ++ right = deparseExpr(session, foreignrel, (Expr*)lsecond(oper->args), oraTable, params); + if (right == NULL) + { + pfree(left); +@@ -3932,7 +3932,7 @@ deparseExpr(oracleSession *session, RelOptInfo *foreignrel, Expr *expr, const st + if (! canHandleType(leftargtype)) + return NULL; + +- left = deparseExpr(session, foreignrel, linitial(arrayoper->args), oraTable, params); ++ left = deparseExpr(session, foreignrel, (Expr*)linitial(arrayoper->args), oraTable, params); + if (left == NULL) + return NULL; + +@@ -4052,12 +4052,12 @@ deparseExpr(oracleSession *session, RelOptInfo *foreignrel, Expr *expr, const st + if (! canHandleType(rightargtype)) + return NULL; + +- left = deparseExpr(session, foreignrel, linitial(((NullIfExpr *)expr)->args), oraTable, params); ++ left = deparseExpr(session, foreignrel, (Expr*)linitial(((NullIfExpr *)expr)->args), oraTable, params); + if (left == NULL) + { + return NULL; + } +- right = deparseExpr(session, foreignrel, lsecond(((NullIfExpr *)expr)->args), oraTable, params); ++ right = deparseExpr(session, foreignrel, (Expr*)lsecond(((NullIfExpr *)expr)->args), oraTable, params); + if (right == NULL) + { + pfree(left); +@@ -4071,7 +4071,7 @@ deparseExpr(oracleSession *session, RelOptInfo *foreignrel, Expr *expr, const st + case T_BoolExpr: + boolexpr = (BoolExpr *)expr; + +- arg = deparseExpr(session, foreignrel, linitial(boolexpr->args), oraTable, params); ++ arg = deparseExpr(session, foreignrel, (Expr*)linitial(boolexpr->args), oraTable, params); + if (arg == NULL) + return NULL; + +@@ -4140,7 +4140,7 @@ deparseExpr(oracleSession *session, RelOptInfo *foreignrel, Expr *expr, const st + else + { + /* for CASE arg WHEN ..., use only the right branch of the equality */ +- arg = deparseExpr(session, foreignrel, lsecond(((OpExpr *)whenclause->expr)->args), oraTable, params); ++ arg = deparseExpr(session, foreignrel, (Expr*)lsecond(((OpExpr *)whenclause->expr)->args), oraTable, params); + } + + if (arg == NULL) +@@ -4245,7 +4245,7 @@ deparseExpr(oracleSession *session, RelOptInfo *foreignrel, Expr *expr, const st + + /* do nothing for implicit casts */ + if (func->funcformat == COERCE_IMPLICIT_CAST) +- return deparseExpr(session, foreignrel, linitial(func->args), oraTable, params); ++ return deparseExpr(session, foreignrel, (Expr*)linitial(func->args), oraTable, params); + + /* get function name and schema */ + tuple = SearchSysCache1(PROCOID, ObjectIdGetDatum(func->funcid)); +@@ -4325,7 +4325,7 @@ deparseExpr(oracleSession *session, RelOptInfo *foreignrel, Expr *expr, const st + first_arg = true; + foreach(cell, func->args) + { +- arg = deparseExpr(session, foreignrel, lfirst(cell), oraTable, params); ++ arg = deparseExpr(session, foreignrel, (Expr*)lfirst(cell), oraTable, params); + if (arg == NULL) + { + pfree(result.data); +@@ -4350,7 +4350,7 @@ deparseExpr(oracleSession *session, RelOptInfo *foreignrel, Expr *expr, const st + else if (strcmp(opername, "date_part") == 0) + { + /* special case: EXTRACT */ +- left = deparseExpr(session, foreignrel, linitial(func->args), oraTable, params); ++ left = deparseExpr(session, foreignrel, (Expr*)linitial(func->args), oraTable, params); + if (left == NULL) + { + pfree(opername); +@@ -4370,7 +4370,7 @@ deparseExpr(oracleSession *session, RelOptInfo *foreignrel, Expr *expr, const st + /* remove final quote */ + left[strlen(left) - 1] = '\0'; + +- right = deparseExpr(session, foreignrel, lsecond(func->args), oraTable, params); ++ right = deparseExpr(session, foreignrel, (Expr*)lsecond(func->args), oraTable, params); + if (right == NULL) + { + pfree(opername); +@@ -4608,7 +4608,7 @@ getUsedColumns(Expr *expr, struct oraTable *oraTable, int foreignrelid) + variable = (Var *)expr; + + /* ignore columns belonging to a different foreign table */ +- if (variable->varno != foreignrelid) ++ if (variable->varno != (unsigned int)foreignrelid) + break; + + /* ignore system columns */ +@@ -5195,7 +5195,7 @@ Const + struct OracleFdwState + *deserializePlanData(List *list) + { +- struct OracleFdwState *state = palloc(sizeof(struct OracleFdwState)); ++ struct OracleFdwState *state = (struct OracleFdwState*)palloc(sizeof(struct OracleFdwState)); + ListCell *cell = list_head(list); + int i, len; + struct paramDesc *param; +@@ -5213,23 +5213,23 @@ struct OracleFdwState + state->order_clause = NULL; + + /* dbserver */ +- state->dbserver = deserializeString(lfirst(cell)); ++ state->dbserver = deserializeString((Const*)lfirst(cell)); + cell = list_next(list, cell); + + /* user */ +- state->user = deserializeString(lfirst(cell)); ++ state->user = deserializeString((Const*)lfirst(cell)); + cell = list_next(list, cell); + + /* password */ +- state->password = deserializeString(lfirst(cell)); ++ state->password = deserializeString((Const*)lfirst(cell)); + cell = list_next(list, cell); + + /* nls_lang */ +- state->nls_lang = deserializeString(lfirst(cell)); ++ state->nls_lang = deserializeString((Const*)lfirst(cell)); + cell = list_next(list, cell); + + /* query */ +- state->query = deserializeString(lfirst(cell)); ++ state->query = deserializeString((Const*)lfirst(cell)); + cell = list_next(list, cell); + + /* Oracle prefetch count */ +@@ -5238,9 +5238,9 @@ struct OracleFdwState + + /* table data */ + state->oraTable = (struct oraTable *)palloc(sizeof(struct oraTable)); +- state->oraTable->name = deserializeString(lfirst(cell)); ++ state->oraTable->name = deserializeString((Const*)lfirst(cell)); + cell = list_next(list, cell); +- state->oraTable->pgname = deserializeString(lfirst(cell)); ++ state->oraTable->pgname = deserializeString((Const*)lfirst(cell)); + cell = list_next(list, cell); + state->oraTable->ncols = (int)DatumGetInt32(((Const *)lfirst(cell))->constvalue); + cell = list_next(list, cell); +@@ -5252,13 +5252,13 @@ struct OracleFdwState + for (i=0; ioraTable->ncols; ++i) + { + state->oraTable->cols[i] = (struct oraColumn *)palloc(sizeof(struct oraColumn)); +- state->oraTable->cols[i]->name = deserializeString(lfirst(cell)); ++ state->oraTable->cols[i]->name = deserializeString((Const*)lfirst(cell)); + cell = list_next(list, cell); + state->oraTable->cols[i]->oratype = (oraType)DatumGetInt32(((Const *)lfirst(cell))->constvalue); + cell = list_next(list, cell); + state->oraTable->cols[i]->scale = (int)DatumGetInt32(((Const *)lfirst(cell))->constvalue); + cell = list_next(list, cell); +- state->oraTable->cols[i]->pgname = deserializeString(lfirst(cell)); ++ state->oraTable->cols[i]->pgname = deserializeString((Const*)lfirst(cell)); + cell = list_next(list, cell); + state->oraTable->cols[i]->pgattnum = (int)DatumGetInt32(((Const *)lfirst(cell))->constvalue); + cell = list_next(list, cell); +@@ -5270,7 +5270,7 @@ struct OracleFdwState + cell = list_next(list, cell); + state->oraTable->cols[i]->pkey = (int)DatumGetInt32(((Const *)lfirst(cell))->constvalue); + cell = list_next(list, cell); +- state->oraTable->cols[i]->val_size = deserializeLong(lfirst(cell)); ++ state->oraTable->cols[i]->val_size = deserializeLong((Const*)lfirst(cell)); + cell = list_next(list, cell); + /* allocate memory for the result value */ + state->oraTable->cols[i]->val = (char *)palloc(state->oraTable->cols[i]->val_size + 1); +@@ -5288,14 +5288,14 @@ struct OracleFdwState + for (i=0; iname = deserializeString(lfirst(cell)); ++ param->name = deserializeString((Const *)lfirst(cell)); + cell = list_next(list, cell); + param->type = DatumGetObjectId(((Const *)lfirst(cell))->constvalue); + cell = list_next(list, cell); + param->bindType = (oraBindType)DatumGetInt32(((Const *)lfirst(cell))->constvalue); + cell = list_next(list, cell); + if (param->bindType == BIND_OUTPUT) +- param->value = (void *)42; /* something != NULL */ ++ param->value = (char *)42; /* something != NULL */ + else + param->value = NULL; + param->node = NULL; +@@ -5365,7 +5365,7 @@ find_em_expr_for_rel(EquivalenceClass *ec, RelOptInfo *rel) + + foreach(lc_em, ec->ec_members) + { +- EquivalenceMember *em = lfirst(lc_em); ++ EquivalenceMember *em = (EquivalenceMember*)lfirst(lc_em); + + if (bms_equal(em->em_relids, rel->relids)) + { +@@ -5511,7 +5511,7 @@ struct OracleFdwState + *copyPlanData(struct OracleFdwState *orig) + { + int i; +- struct OracleFdwState *copy = palloc(sizeof(struct OracleFdwState)); ++ struct OracleFdwState *copy = (struct OracleFdwState *)palloc(sizeof(struct OracleFdwState)); + + copy->dbserver = pstrdup(orig->dbserver); + copy->user = pstrdup(orig->user); +@@ -5565,8 +5565,8 @@ void + subtransactionCallback(SubXactEvent event, SubTransactionId mySubid, SubTransactionId parentSubid, void *arg) + { + /* rollback to the appropriate savepoint on subtransaction abort */ +- if (event == SUBXACT_EVENT_ABORT_SUB || event == SUBXACT_EVENT_PRE_COMMIT_SUB) +- oracleEndSubtransaction(arg, GetCurrentTransactionNestLevel(), event == SUBXACT_EVENT_PRE_COMMIT_SUB); ++ if (event == SUBXACT_EVENT_ABORT_SUB) ++ oracleEndSubtransaction(arg, GetCurrentTransactionNestLevel(), false); + } + + /* +@@ -5579,7 +5579,7 @@ addParam(struct paramDesc **paramList, char *name, Oid pgtype, oraType oratype, + { + struct paramDesc *param; + +- param = palloc(sizeof(struct paramDesc)); ++ param = (struct paramDesc *)palloc(sizeof(struct paramDesc)); + param->name = pstrdup(name); + param->type = pgtype; + switch (oratype) +@@ -5790,7 +5790,7 @@ setModifyParameters(struct paramDesc *paramList, TupleTableSlot *newslot, TupleT + value_len = VARSIZE(datum) - VARHDRSZ; + + /* the first 4 bytes contain the length */ +- param->value = palloc(value_len + 4); ++ param->value = (char*)palloc(value_len + 4); + memcpy(param->value, (const char *)&value_len, 4); + memcpy(param->value + 4, VARDATA(datum), value_len); + break; +@@ -5985,7 +5985,7 @@ appendReturningClause(StringInfo sql, struct OracleFdwState *fdwState) + param->name = pstrdup(paramName); + param->type = fdwState->oraTable->cols[i]->pgtype; + param->bindType = BIND_OUTPUT; +- param->value = (void *)42; /* something != NULL */ ++ param->value = (char *)42; /* something != NULL */ + param->node = NULL; + param->bindh = NULL; + param->colnum = i; +@@ -6013,20 +6013,6 @@ transactionCallback(XactEvent event, void *arg) + { + switch(event) + { +-#ifdef WRITE_API +- case XACT_EVENT_PRE_COMMIT: +-#if PG_VERSION_NUM >= 90500 +- case XACT_EVENT_PARALLEL_PRE_COMMIT: +-#endif /* PG_VERSION_NUM */ +- /* remote commit */ +- oracleEndTransaction(arg, 1, 0); +- break; +- case XACT_EVENT_PRE_PREPARE: +- ereport(ERROR, +- (errcode(ERRCODE_FDW_UNABLE_TO_CREATE_EXECUTION), +- errmsg("cannot prepare a transaction that used remote tables"))); +- break; +-#endif /* WRITE_API */ + case XACT_EVENT_COMMIT: + case XACT_EVENT_PREPARE: + #if PG_VERSION_NUM >= 90500 +@@ -6046,11 +6032,19 @@ transactionCallback(XactEvent event, void *arg) + /* remote rollback */ + oracleEndTransaction(arg, 0, 1); + break; ++ default: ++ break; + } + + dml_in_transaction = false; + } + ++void oracleProcExit(void) ++{ ++ /* register an exit hook */ ++ on_proc_exit(&exitHook, PointerGetDatum(NULL)); ++} ++ + /* + * exitHook + * Close all Oracle connections on process exit. +@@ -6254,14 +6248,14 @@ convertTuple(struct OracleFdwState *fdw_state, Datum *values, bool *nulls, bool + ora_geometry *geom = (ora_geometry *)fdw_state->oraTable->cols[index]->val; + + /* install error context callback */ +- errcb.previous = error_context_stack; +- error_context_stack = &errcb; ++ errcb.previous = t_thrd.log_cxt.error_context_stack; ++ t_thrd.log_cxt.error_context_stack = &errcb; + fdw_state->columnindex = index; + + value_len = oracleGetEWKBLen(fdw_state->session, geom); + + /* uninstall error context callback */ +- error_context_stack = errcb.previous; ++ t_thrd.log_cxt.error_context_stack = errcb.previous; + + value = NULL; /* we will fetch that later to avoid unnecessary copying */ + } +@@ -6303,8 +6297,8 @@ convertTuple(struct OracleFdwState *fdw_state, Datum *values, bool *nulls, bool + struct varlena *result = NULL; + + /* install error context callback */ +- errcb.previous = error_context_stack; +- error_context_stack = &errcb; ++ errcb.previous = t_thrd.log_cxt.error_context_stack; ++ t_thrd.log_cxt.error_context_stack = &errcb; + fdw_state->columnindex = index; + + result = (bytea *)palloc(value_len + VARHDRSZ); +@@ -6312,7 +6306,7 @@ convertTuple(struct OracleFdwState *fdw_state, Datum *values, bool *nulls, bool + SET_VARSIZE(result, value_len + VARHDRSZ); + + /* uninstall error context callback */ +- error_context_stack = errcb.previous; ++ t_thrd.log_cxt.error_context_stack = errcb.previous; + + values[j] = PointerGetDatum(result); + +@@ -6342,7 +6336,7 @@ convertTuple(struct OracleFdwState *fdw_state, Datum *values, bool *nulls, bool + if (fdw_state->oraTable->cols[index]->oratype == ORA_TYPE_INTERVALD2S + && value[0] == '-') + { +- char *newval = palloc(strlen(value) + 2); ++ char *newval = (char*)palloc(strlen(value) + 2); + char *pos = strchr(value, ' '); + + if (pos == NULL) +@@ -6367,8 +6361,8 @@ convertTuple(struct OracleFdwState *fdw_state, Datum *values, bool *nulls, bool + dat = CStringGetDatum(value); + + /* install error context callback */ +- errcb.previous = error_context_stack; +- error_context_stack = &errcb; ++ errcb.previous = t_thrd.log_cxt.error_context_stack; ++ t_thrd.log_cxt.error_context_stack = &errcb; + fdw_state->columnindex = index; + + /* for string types, check that the data are in the database encoding */ +@@ -6396,7 +6390,7 @@ convertTuple(struct OracleFdwState *fdw_state, Datum *values, bool *nulls, bool + } + + /* uninstall error context callback */ +- error_context_stack = errcb.previous; ++ t_thrd.log_cxt.error_context_stack = errcb.previous; + } + + /* free the data buffer for LOBs */ +@@ -6465,8 +6459,9 @@ oracleGetShareFileName(const char *relativename) + + get_share_path(my_exec_path, share_path); + +- result = palloc(MAXPGPATH); +- snprintf(result, MAXPGPATH, "%s/%s", share_path, relativename); ++ unsigned int result_len = strlen(share_path) + strlen(relativename) + 2; ++ result = (char*)palloc(result_len); ++ snprintf(result, result_len, "%s/%s", share_path, relativename); + + return result; + } +@@ -6655,8 +6650,7 @@ void + initializePostGIS() + { + CatCList *catlist; +- int i, argcount = 1; +- Oid argtypes[] = { INTERNALOID }; ++ int i; + + /* this needs to be done only once per database session */ + if (geometry_is_setup) +@@ -6665,10 +6659,9 @@ initializePostGIS() + geometry_is_setup = true; + + /* find all functions called "geometry_recv" with "internal" argument type */ +- catlist = SearchSysCacheList2( ++ catlist = SearchSysCacheList1( + PROCNAMEARGSNSP, +- CStringGetDatum("geometry_recv"), +- PointerGetDatum(buildoidvector(argtypes, argcount))); ++ CStringGetDatum("geometry_recv")); + + for (i = 0; i < catlist->n_members; i++) + { +diff --git oracle_fdw.h oracle_fdw.h +index c748971..a62a8b5 100644 +--- oracle_fdw.h ++++ oracle_fdw.h +@@ -223,6 +223,7 @@ extern void oracleError_i(oraError sqlstate, const char *message, int arg); + extern void oracleError(oraError sqlstate, const char *message); + extern void oracleDebug2(const char *message); + extern void initializePostGIS(void); ++extern void oracleProcExit(void); + + /* + * functions defined in oracle_gis.c +diff --git oracle_gis.cpp oracle_gis.cpp +index 31f9ea1..d97716e 100644 +--- oracle_gis.cpp ++++ oracle_gis.cpp +@@ -81,12 +81,12 @@ typedef struct + #define mapEntryValid(x) ((x)->from != 0) + + /* maps Oracle SRIDs to PostGIS SRIDs */ +-static mapEntry *srid_map = NULL; ++static THR_LOCAL mapEntry *srid_map = NULL; + + /* contains Oracle error messages, set by checkerr() */ + #define ERRBUFSIZE 500 +-static char oraMessage[ERRBUFSIZE]; +-static sb4 err_code; ++static THR_LOCAL char oraMessage[ERRBUFSIZE]; ++static THR_LOCAL sb4 err_code; + + /* + * Structures needed for managing the MDSYS.SDO_GEOMETRY Oracle type. +@@ -572,7 +572,7 @@ oracleGeometryAlloc(oracleSession *session, ora_geometry *geom) + session->envp->errhp, + session->connp->svchp, + OCI_TYPECODE_OBJECT, +- oracleGetGeometryType(session), ++ (OCIType*)oracleGetGeometryType(session), + (dvoid *)NULL, + OCI_DURATION_TRANS, + TRUE, +@@ -1419,8 +1419,8 @@ unpack(oracleSession *session, ora_geometry *geom) + oracleError(FDW_ERROR, "error converting SDO_GEOMETRY to geometry: size of SDO_ELEM_INFO must be a multiple of three"); + + /* this might be too big if some elements with etype 0 are deleted */ +- geom->elem = oracleAlloc(elemCount * sizeof(unsigned)); +- geom->coord = oracleAlloc(coordCount * sizeof(double)); ++ geom->elem = (unsigned int *)oracleAlloc(elemCount * sizeof(unsigned)); ++ geom->coord = (double *)oracleAlloc(coordCount * sizeof(double)); + + for (elem_i = 0; elem_i + 1 < elemCount; elem_i +=3) + { +@@ -1451,7 +1451,7 @@ unpack(oracleSession *session, ora_geometry *geom) + elem_pos += 3; + + /* copy ordinates for this entry */ +- for (coord_i=offset - 1; coord_i < next_offset - 1; ++coord_i) ++ for (coord_i=offset - 1; coord_i < (int)(next_offset - 1); ++coord_i) + geom->coord[coord_pos++] = coord(session, geom, coord_i); + } + } +diff --git oracle_utils.cpp oracle_utils.cpp +index 469e7b9..8d8b60e 100644 +--- oracle_utils.cpp ++++ oracle_utils.cpp +@@ -27,15 +27,15 @@ + #define LOB_CHUNK_SIZE 8132 + + /* emit no error messages when set, used for shutdown */ +-static int silent = 0; ++static THR_LOCAL int silent = 0; + + /* contains Oracle error messages, set by checkerr() */ + #define ERRBUFSIZE 500 +-static char oraMessage[ERRBUFSIZE]; +-static sb4 err_code; ++static THR_LOCAL char oraMessage[ERRBUFSIZE]; ++static THR_LOCAL sb4 err_code; + + /* set to "1" as soon as OCIEnvCreate is called */ +-static int oci_initialized = 0; ++static THR_LOCAL int oci_initialized = 0; + + /* + * Linked list for temporary Oracle handles and descriptors. +@@ -54,12 +54,12 @@ struct handleEntry + /* + * Linked list of handles for cached Oracle connections. + */ +-static struct envEntry *envlist = NULL; ++static THR_LOCAL struct envEntry *envlist = NULL; + + /* + * NULL value used for "in" callback in RETURNING clauses. + */ +-static ora_geometry null_geometry = { NULL, NULL, -1, NULL, -1, NULL }; ++static THR_LOCAL ora_geometry null_geometry = { NULL, NULL, -1, NULL, -1, NULL }; + + /* + * Helper functions +@@ -119,6 +119,11 @@ oracleSession + */ + initializePostGIS(); + ++ if (envlist == NULL) { ++ /* register an exit hook when first time connect to oracle */ ++ oracleProcExit(); ++ } ++ + /* search environment and server handle in cache */ + for (envp = envlist; envp != NULL; envp = envp->next) + { +@@ -183,7 +188,7 @@ oracleSession + } + + /* add handles to cache */ +- if ((envp = malloc(sizeof(struct envEntry))) == NULL) ++ if ((envp = (struct envEntry*)malloc(sizeof(struct envEntry))) == NULL) + { + oracleError_i(FDW_OUT_OF_MEMORY, + "error connecting to Oracle: failed to allocate %d bytes of memory", +@@ -275,7 +280,7 @@ oracleSession + } + + /* add server handle to cache */ +- if ((srvp = malloc(sizeof(struct srvEntry))) == NULL) ++ if ((srvp = (srvEntry*)malloc(sizeof(struct srvEntry))) == NULL) + { + oracleError_i(FDW_OUT_OF_MEMORY, + "error connecting to Oracle: failed to allocate %d bytes of memory", +@@ -373,8 +378,9 @@ oracleSession + sprintf(pid, "%lu", (unsigned long)getpid()); + pid[29] = '\0'; + ++ char tmpstr[30] = "postgres"; + if (checkerr( +- OCIAttrSet(userhp, OCI_HTYPE_SESSION, "postgres", (ub4)8, ++ OCIAttrSet(userhp, OCI_HTYPE_SESSION, tmpstr, (ub4)8, + OCI_ATTR_MODULE, errhp), + (dvoid *)errhp, OCI_HTYPE_ERROR) != OCI_SUCCESS) + { +@@ -394,9 +400,10 @@ oracleSession + oraMessage); + } + ++ strcpy(tmpstr, "oracle_fdw"); + /* set driver name for the Oracle session */ + if (checkerr( +- OCIAttrSet(userhp, OCI_HTYPE_SESSION, "oracle_fdw", (ub4)10, ++ OCIAttrSet(userhp, OCI_HTYPE_SESSION, tmpstr, (ub4)10, + OCI_ATTR_DRIVER_NAME, errhp), + (dvoid *)errhp, OCI_HTYPE_ERROR) != OCI_SUCCESS) + { +@@ -455,7 +462,7 @@ oracleSession + } + + /* add session handle to cache */ +- if ((connp = malloc(sizeof(struct connEntry))) == NULL) ++ if ((connp = (connEntry*)malloc(sizeof(struct connEntry))) == NULL) + { + oracleError_i(FDW_OUT_OF_MEMORY, + "error connecting to Oracle: failed to allocate %d bytes of memory", +@@ -519,7 +526,7 @@ oracleSession + } + + /* palloc a data structure pointing to the cached entries */ +- session = oracleAlloc(sizeof(struct oracleSession)); ++ session = (oracleSession*)oracleAlloc(sizeof(struct oracleSession)); + session->envp = envp; + session->srvp = srvp; + session->connp = connp; +@@ -825,7 +832,7 @@ struct oraTable + qschema = copyOraText(schema, strlen(schema), 1); + length += strlen(qschema) + 1; + } +- tablename = oracleAlloc(length + 1); ++ tablename = (char*)oracleAlloc(length + 1); + tablename[0] = '\0'; /* empty */ + if (schema != NULL) + { +@@ -839,7 +846,7 @@ struct oraTable + + /* construct a "SELECT * FROM ..." query to describe columns */ + length += 14; +- query = oracleAlloc(length + 1); ++ query = (char*)oracleAlloc(length + 1); + strcpy(query, "SELECT * FROM "); + strcat(query, tablename); + +@@ -875,7 +882,7 @@ struct oraTable + } + + /* allocate an oraTable struct for the results */ +- reply = oracleAlloc(sizeof(struct oraTable)); ++ reply = (oraTable*)oracleAlloc(sizeof(struct oraTable)); + reply->name = tablename; + reply->pgname = pgname; + reply->npgcols = 0; +@@ -955,7 +962,7 @@ struct oraTable + } + + /* create a zero-terminated copy */ +- type_name = oracleAlloc(typname_size + 1); ++ type_name = (char*)oracleAlloc(typname_size + 1); + strncpy(type_name, (char *)typname, typname_size); + type_name[typname_size] = '\0'; + +@@ -971,7 +978,7 @@ struct oraTable + } + + /* create a zero-terminated copy */ +- type_schema = oracleAlloc(typschema_size + 1); ++ type_schema = (char*)oracleAlloc(typschema_size + 1); + strncpy(type_schema, (char *)typschema, typschema_size); + type_schema[typschema_size] = '\0'; + +@@ -1211,7 +1218,7 @@ oracleExplain(oracleSession *session, const char *query, int *nrows, char ***pla + *plan = (char **)oracleRealloc(*plan, sizeof(char *) * (*nrows)); + + /* add entry */ +- (*plan)[(*nrows)-1] = oracleAlloc(strlen(res) + 1); ++ (*plan)[(*nrows)-1] = (char*)oracleAlloc(strlen(res) + 1); + strcpy((*plan)[(*nrows)-1], res); + + /* fetch next row */ +@@ -1446,7 +1453,7 @@ oracleQueryPlan(oracleSession *session, const char *query, const char *desc_quer + */ + + /* get the first part of the SQL query with '%' appended */ +- if ((p = strchr(query + 7, ' ')) == NULL) ++ if ((p = strchr(const_cast(query + 7), ' ')) == NULL) + { + oracleError(FDW_ERROR, "oracleQueryPlan internal error: no space found in query"); + } +@@ -1726,7 +1733,7 @@ oraclePrepareQuery(oracleSession *session, const char *query, const struct oraTa + + /* define the result for the named type */ + if (checkerr( +- OCIDefineObject(defnhp, session->envp->errhp, oracleGetGeometryType(session), ++ OCIDefineObject(defnhp, session->envp->errhp, (const OCIType*)oracleGetGeometryType(session), + (void **)&geom->geometry, 0, (void **)&geom->indicator, 0), + session->envp->errhp, OCI_HTYPE_ERROR) != OCI_SUCCESS) + { +@@ -1807,7 +1814,7 @@ oracleExecuteQuery(oracleSession *session, const struct oraTable *oraTable, stru + ++param_count; + + /* allocate a temporary array of indicators */ +- indicators = oracleAlloc(param_count * sizeof(sb2 *)); ++ indicators = (sb2*)oracleAlloc(param_count * sizeof(sb2 *)); + + /* bind the parameters */ + param_count = -1; +@@ -1827,13 +1834,13 @@ oracleExecuteQuery(oracleSession *session, const struct oraTable *oraTable, stru + switch (param->bindType) { + case BIND_NUMBER: + /* allocate a new NUMBER */ +- number = oracleAlloc(sizeof(OCINumber)); ++ number = (OCINumber*)oracleAlloc(sizeof(OCINumber)); + + /* + * Construct number format. + */ + value_len = strlen(param->value); +- num_format = oracleAlloc(value_len + 1); ++ num_format = (char*)oracleAlloc(value_len + 1); + /* fill everything with '9' */ + memset(num_format, '9', value_len); + num_format[value_len] = '\0'; +@@ -1955,7 +1962,7 @@ oracleExecuteQuery(oracleSession *session, const struct oraTable *oraTable, stru + + if (checkerr( + OCIBindObject((OCIBind *)param->bindh, session->envp->errhp, +- oracleGetGeometryType(session), (void **)&geom->geometry, NULL, (void **)&geom->indicator, NULL), ++ (const OCIType*)oracleGetGeometryType(session), (void **)&geom->geometry, NULL, (void **)&geom->indicator, NULL), + (dvoid *)session->envp->errhp, OCI_HTYPE_ERROR) != OCI_SUCCESS) + { + oracleError_d(FDW_UNABLE_TO_CREATE_EXECUTION, +@@ -2142,9 +2149,9 @@ oracleGetLob(oracleSession *session, void *locptr, oraType type, char **value, l + { + /* extend result buffer */ + if (*value_len == 0) +- *value = oracleAlloc(LOB_CHUNK_SIZE + 1); ++ *value = (char*)oracleAlloc(LOB_CHUNK_SIZE + 1); + else +- *value = oracleRealloc(*value, *value_len + LOB_CHUNK_SIZE + 1); ++ *value = (char*)oracleRealloc(*value, *value_len + LOB_CHUNK_SIZE + 1); + + /* + * The first time round, "amount_* = 0" tells OCILobRead to read the whole LOB. +@@ -2271,7 +2278,7 @@ int oracleGetImportColumn(oracleSession *session, char *schema, char **tabname, + { + /* the static variables will contain data returned to the caller */ + static char s_tabname[129], s_colname[129]; +- char typename[129] = { '\0' }, typeowner[129] = { '\0' }, isnull[2] = { '\0' }; ++ char type_name[129] = { '\0' }, typeowner[129] = { '\0' }, isnull[2] = { '\0' }; + int count = 0; + const char * const schema_query = "SELECT COUNT(*) FROM all_users WHERE username = :nsp"; + const char * const column_query = +@@ -2439,7 +2446,7 @@ int oracleGetImportColumn(oracleSession *session, char *schema, char **tabname, + + if (checkerr( + OCIDefineByPos(session->stmthp, &defnhp_typename, session->envp->errhp, (ub4)3, +- (dvoid *)typename, (sb4)129, ++ (dvoid *)type_name, (sb4)129, + SQLT_STR, (dvoid *)&ind_typename, + (ub2 *)&len_typename, NULL, OCI_DEFAULT), + (dvoid *)session->envp->errhp, OCI_HTYPE_ERROR) != OCI_SUCCESS) +@@ -2563,53 +2570,53 @@ int oracleGetImportColumn(oracleSession *session, char *schema, char **tabname, + *nullable = (isnull[0] == 'Y'); + + /* figure out correct data type */ +- if (strncmp(typename, "VARCHAR", 7) == 0) ++ if (strncmp(type_name, "VARCHAR", 7) == 0) + *type = ORA_TYPE_VARCHAR2; +- else if (strcmp(typename, "NUMBER") == 0) ++ else if (strcmp(type_name, "NUMBER") == 0) + *type = ORA_TYPE_NUMBER; +- else if (strcmp(typename, "DATE") == 0) ++ else if (strcmp(type_name, "DATE") == 0) + *type = ORA_TYPE_DATE; +- else if (strcmp(typename, "CHAR") == 0) ++ else if (strcmp(type_name, "CHAR") == 0) + *type = ORA_TYPE_CHAR; +- else if (strncmp(typename, "TIMESTAMP", 9) == 0) ++ else if (strncmp(type_name, "TIMESTAMP", 9) == 0) + { +- if (strlen(typename) < 17) ++ if (strlen(type_name) < 17) + *type = ORA_TYPE_TIMESTAMP; + else + *type = ORA_TYPE_TIMESTAMPTZ; + } +- else if (strcmp(typename, "RAW") == 0) ++ else if (strcmp(type_name, "RAW") == 0) + *type = ORA_TYPE_RAW; +- else if (strcmp(typename, "BLOB") == 0) ++ else if (strcmp(type_name, "BLOB") == 0) + *type = ORA_TYPE_BLOB; +- else if (strcmp(typename, "CLOB") == 0) ++ else if (strcmp(type_name, "CLOB") == 0) + *type = ORA_TYPE_CLOB; +- else if (strcmp(typename, "BFILE") == 0) ++ else if (strcmp(type_name, "BFILE") == 0) + *type = ORA_TYPE_BFILE; +- else if (strcmp(typename, "LONG") == 0) ++ else if (strcmp(type_name, "LONG") == 0) + *type = ORA_TYPE_LONG; +- else if (strcmp(typename, "LONG RAW") == 0) ++ else if (strcmp(type_name, "LONG RAW") == 0) + *type = ORA_TYPE_LONGRAW; +- else if (strcmp(typename, "SDO_GEOMETRY") == 0 ++ else if (strcmp(type_name, "SDO_GEOMETRY") == 0 + && ind_typeowner == OCI_IND_NOTNULL && strcmp(typeowner, "MDSYS") == 0) + *type = ORA_TYPE_GEOMETRY; +- else if (strcmp(typename, "XMLTYPE") == 0 ++ else if (strcmp(type_name, "XMLTYPE") == 0 + && ind_typeowner == OCI_IND_NOTNULL + && (strcmp(typeowner, "PUBLIC") == 0 || strcmp(typeowner, "SYS") == 0)) + *type = ORA_TYPE_XMLTYPE; +- else if (strcmp(typename, "FLOAT") == 0) ++ else if (strcmp(type_name, "FLOAT") == 0) + *type = ORA_TYPE_FLOAT; +- else if (strncmp(typename, "NVARCHAR", 8) == 0) ++ else if (strncmp(type_name, "NVARCHAR", 8) == 0) + *type = ORA_TYPE_NVARCHAR2; +- else if (strcmp(typename, "NCHAR") == 0) ++ else if (strcmp(type_name, "NCHAR") == 0) + *type = ORA_TYPE_NCHAR; +- else if (strncmp(typename, "INTERVAL DAY", 12) == 0) ++ else if (strncmp(type_name, "INTERVAL DAY", 12) == 0) + *type = ORA_TYPE_INTERVALD2S; +- else if (strncmp(typename, "INTERVAL YEAR", 13) == 0) ++ else if (strncmp(type_name, "INTERVAL YEAR", 13) == 0) + *type = ORA_TYPE_INTERVALY2M; +- else if (strcmp(typename, "BINARY_FLOAT") == 0) ++ else if (strcmp(type_name, "BINARY_FLOAT") == 0) + *type = ORA_TYPE_BINARYFLOAT; +- else if (strcmp(typename, "BINARY_DOUBLE") == 0) ++ else if (strcmp(type_name, "BINARY_DOUBLE") == 0) + *type = ORA_TYPE_BINARYDOUBLE; + else + *type = ORA_TYPE_OTHER; +@@ -2673,7 +2680,7 @@ char + /* if "string" is parenthized, return a copy */ + if (string[0] == '(' && string[size-1] == ')') + { +- result = oracleAlloc(size + 1); ++ result = (char*)oracleAlloc(size + 1); + memcpy(result, string, size); + result[size] = '\0'; + return result; +@@ -2688,7 +2695,7 @@ char + } + } + +- result = oracleAlloc(resultsize + 1); ++ result = (char*)oracleAlloc(resultsize + 1); + if (quote) + result[++j] = '"'; + for (i=0; i{h-tInG&K*22ceJp)R|NiB;^DiFipsLdyH-Ig;)l! zoRWjJik!A*F8}HIpLk#9cYL+c>Qxu-GNk7Al$V*OWkfSIx`l>?Jv%vBeErkQca@Bc zCGYA^}u9pYxAD{ki++ zPtA9a{ycgT!FKTH%|E3#W}QFB|8INhzvJigzb6Yxy1dGhvykmvhI~8FFV# zyf>Nalh3&~%U*e2oSnSYBV<;VaJSFWnFsVMrz~avmv1AqYHOFXD7*B;gC*}v_gG{+ z^8I%q#d~T8`_vCYjh&m1xG3FSGBau^`}Ozg>}S6yE>qvTV{?rA!-apnXV^qPzj@I4 z_nU;Nb}aWD1aIi@KL2<9)9E`urt=@XY-K1v`$9t7+PAlFJa}?rUyYUh-~G}?_Rs%c zzhByxU)_B1_Wq*&^S}SU{P^-E-+$}<7S=!8|NrN$yJwwlnI~r+-Tq;R$4QZUwRf`i z+huM4@V-%CZ-wS#2SINi{g1yVzGzwK@%ig56$ie_9j`CGWuGWnwN}8W@S@iJ(+(ge%5>aG(`lxU`PO|uX&YSr0dV>dh3-HJF_y}~!0Y5Ri4)QTYH zw??+?_jIRv$l3@wJqlNM?Mk1;9`RHw{><0OMbp2y*;}r4dN7m6c3zkJT-~Eq{?h~W z5)8!Td;5<1?^N3G{gOr<^X*e9jm@r74Kf}Fv~m&`y3A0&FsnLE_N2wJ^({+g-jM5^ z-sGFvB_5U{?EExE^xHD;^!ZP@You})v_zb5{2$;FV=VXEqOa5YM6y}$`=xQ3g}T9# zv)MIO?y1UtNDrR5v@+=k`_4%VbHt(+ZkGRe^6Z`sH>dcgKMI(vXsK(fzz`KZZ{>+2 z++F4>OnS%Mq_ba&Hutg4(OBXxCtR~Mz`FCBhHy{_SM9yk-v6%g&;7W;zNVV9+9Ysa zm+PGMX%RnH>d53POU-7}<2iJMP3@CQ_@d;vl;4l{Kg?;~U(s>cMX=AoPxR!0tn?pw z1}h}FMEvK1U-4hbt8ePN2sAesiuT%@ z-zbxEuP>9D-B7%8Qg%&mdxB|zTY%Ao-#2W2<(jn@tTvsi@zuJ@TJDtMOQX%lX0KW% zknb_kBH)P`pReCD_LWR?jc(a#ZDUL@UwhJ9F)-rfiW?W+CQWrMaN=%z@_;q$@V@WP zr7I5qcxta#rdHL9$1G0=9Sm-CZ&_F@xpY;bN5#*KB7+?!%EtT~0+;=8>XQgq z6_|Pb#lGo{GdnjnUQhk;BSBi^_SXeJx|)(!|8;eocxL%WL)Fr$0XkD=>YU+d+t~c1 z{ZW;{E~V(Y`;yJgz5S6_3*x$_oMZTOl!@bI(_@{hnJIG8yW2dsi_cO}*Gv_ZpZRXm z+D-TGyihP)Ia9gfrO9z#zfCq*mWc_hpU(Nf&3Qt3Ad7YMt+Q2z%)u*^b~c(!-00UZ zTX!y(C!^(D<-4kDrUV|*iAha3x1+Q(M|d_%Qmci!xCqxCOqeA4$$9I8-zQeERJrVs6H;psek6Zyl5D>8 zO-|jnq6hvyco*gNOSsd-IcS@Qg~jCGK~65S_XM1Eoji5#G|qLguG6gch!l68F-{5I z^JU>0bGiOw9356{9WMmh4|=-puh#Utt>b%Lz%IqbpU1s;^^bope{L6;{4Kxu)_>XG zho%jwHoF`dqIU1u)OCzCsH!}X$HhsY-H7v~+XS0Kh4W@D_5J?Ft#OL+wJB$6(s({7 z-MhQ>Ou6)lZGBN|udnU)-dME#BxC27=4^Jq*H;$)y>LMFo1m2cp^Vpu=1RZx58QP~ zo1gtja%mFZ+OsFJ8Lv*8W!d|qA*vwNqIJWI^NapWk=GFxNsg*pvim1l~tuIKx3PLO5wwTO&Ej`yxc3Aq-ezj-w!F++d- z=DLVeO*=kKDP*A9j9L=anZ-R8>=9-+Lf;<%}ey zFH;n<8)ue0YiV&2xz_CxlvB)hqWr-3w`HzA+eL~_PMovou2ss$Z6_{B`Z&(B37=86 zj?MOBj@i){WnDelN^vE}7e{Xt{r}Wn{tfSy=p}Y`Ra2zzc*Hy~%}Zyx$NhqVFXdZw z%Z5oEt`lW;d@)=nc`Cp2qw1Q}U)g`Jh_6$aXrBHk;Zl-7;%l#or+g1BnvlKjTERh+ z`AZEZDQIt&pY&18QZMNrgV@H87cWKSEBlt*V9Czu5c$XTYCYHV?H>bHuvh511g41Y zID3OlP||S9+Z@$I@~v3;j-8?^XRgS$28y=xI<9mNxuQO= z@&#)`>ZN+__d6<2nmf!pbwA{qvn+?J^!p1NFPYWe-DEQR)aC8WpTxONE%+JN>6;}3Hd#$qO+Ila`z4SU!^Qq1!zLO3O$E8Xn z=O(6qco<(THbqG*#G+>9vd1r@5)aqJ+RRtdd$IFadVuHDt8aff-)C2>hzwn18Yxq= zH}FF3@>48=*XupLJ>GOawsF-<+ok8vmF3UmU+$Rq+BWC4=}QZjJ01ZI{FEm5 zKche7P5&h~>A0qya&stK^Gz$o^lM_PD-|alu4bNo&FEQ>tLw(N+C`~zD_q46aqAW> z&~w<6z_&-L;6~Q-Uy&E=S>oRJik!dlN#@IksSoDG?b%|jA^Kv)$-Mkq zFZuOkYqrJDofl)2ltZU}kW$^c zfj2++Wp0gB#z)x}GqIf2R_cN?CR|vVt+oAOdjF)pnDVY3x*$+1J*nSA1LJ8oIjff#rxOZ38*5-b&{j^}Q^h_29oh59XqAZ$^-Zn>G`o^_iXp(m2{9jLwC4Tc` zbCr?Nd%7=Z-|`}b4N?iqK4yMDW-YjwW6@NuCYujO|D~VHpQ(8>qiu<*;u_5$bB~FF z4fn{!Yd&`tnf^!}zuM-p& z*Swt}pR-M@QbV^{ZfbqsB-7c;6ecczC9NB=Qlr|>L7iJyds^Vf(nGg;P8Y-+ESagI z>tu8F=#KYilm(9;PG6zNG9l9K%hahExA`*tOoPt<;NY@7Us@S)@K&wk){yYcbb58~25oN@ZFz z``pT%JLR&|g)|m#!}E_1v?=VcdmAEPuzR-kUca@Snb)qGsns21^j`C(gkRg5)v$Wn z)XHz0b)Ua`x%1|ep5VHavXy5mPOGI~{y%r=iZ!!UcV=y1b@(ZkqHuGc(mM6r`_BdE zzF&KCzFqK_86P=)X9|U$mfL#m`oaUDZpT*cSaCXF?Y*USA?A;sP1E^wgDpR-#B7G> z&RMS0^4^I)z0&KT{_ADvZMJn?AFLbe4@F9c3)dVd6j9)M*JZTwwd=&o-yX59xczD8 zk0fsYx0l73e2#1kd)hIhtFEzBV#y%`)m3dmQ-${bne+FPG0){A_D}c!StDiY^Xio7 zNxPpSHMcDG?=)NR@>ZBgO;^;`zl-9wh_3Rl>0nsG!usco>Rm>`j775 zC@ibFwTAoZjFT$HACF%UPZJcq|4scHcW>(=i)jb0Z9AHB+sDP`tqP;<%9FASvn@{h zoylmCv=j`j^^PkE`o3uM;%^@>ew=Q~_3gOyuO){X&)di*RL3+{!m z#5lg4*%NmSIZ;9$34mWF$)M;7;dy(^$?Zxs28If(0J<^Ki10ne+Vbe`;C;<|-I;>i67|w%qc4$z`wNV^h68Kj~&w61wvHW7!4Aq~DKf z^J`3JeTn;|ny0v8fr2&X5#y&nCx^Wb{kmWV{?i%ON^DO=fs~$WkS$;6@ z?!Ll$ezQrM?H=c3mj9i7FXh(GowXO6HhgH^5SMV(Qfu+z0<`&Dg&yXX}Uc&Zqb;O**`2gNuq)%8eB&=T>T0?LH;*+<5bmJK;Zt z=kq>MdLC56$zQ&#^PE6QUzB=$OZ%kdf~Q$MBzzLrCmFpf-g=bopWju9z2DQh59V!WlQ@$naAU-AlSGnDe8G`{tou2yu=+gdXcNt zZhxGe>vXDEy~Wx(^|XS&v4l~5=VOK8>{XZlxok~b zDps^=DX-T05a-kDF8|g1xy92yRp8ZHPl31pKkL8T`z+t^`;V`2Nwa6Y6qUZ2xo&>Y znLj}PGQ`7Ratm)jp6kgj>U+B%b?`gDwK(di|Vn0C+c4tr+&!}{#3AKM~d zF&*DwUVHp=%p?BWJ#YGXx#c709Wi@3dp8?z=?kT=A^BqRo$>;{HETOvZfly0_7+=- zhu&AasTSn=b-%r2=xxg>Ub{?_w>Ip4(3G%q@5kTg97?R^kCdpW?R|Z5!)vuQZ*tEp z`6@Mi={XsTsang5XZ^k@c};t&ckbVnkA7Llp1vIKX;tg>MpEQ#*Pf2X1!kwFySZPh z+{Bh#(r{&_U$yfqzPPS(f!&GG9ed?J>iK3)WJbNR}DtumSZ)?v0r4ZmNxx?x)6g-Kz_%m2R1 zSzfj6?uyHtz9#Wfh6Xn4f+7M||J-#muT%U$_0LUNp6YWd=GH|%I;v3dLS6QI)57e$ z`X_?+pA^hL?Rb>Q`}ksrOhj{O`6SOD7e#P0d-Y zFu704em{fK!xzt%@h|OnZ$23M{FlGZE0#Z<$}8uFJUzMJ>&J(5hor4OrZtilGpP8H#w<+qf6Hw~?=O)c{ZOL)$AeVyZu zx!*oGuToi&?LT$d=B#Oden~nnd-vjKoO4-n`M3YkiS4U){5<*G%44dKz;=y|^EW%V zRrV=*R3+;@x-sWqtGUMJxHhder=v~W`_}Q4?z_Kmx5pc&i`kcKB+t!yb7jL_mGy7! zHZ5*F)@R-P%*j^zq1BtbvSVgy-}ApUxBM*C{yV4WTJWL=>#jR|e|NlHMn_y({`R8; zK{l>$X|nf@mGjO1eMTXGGj+k9p5spIGDkv?pVN033tBE~dxWU=}RD9NyiR!z!A}tfHPHr!g)%9+f%C8rEdVht2wEqpO zJ-U?>mQUvtbysrP8>FMF}r^L|C<~$)$!k~ z@B41O-h2E{{rNfdff8D?W4C&~k8JFlzwtQVjjBqq9VwrzIUH{93bZ*K6IU?toK|LM zHUEj~*p##lkEZR^<||a(Cb9D_o1A~Kjq#fEVZR>Q-{$)1GdELQN-Jw$h1=P+*Tqz_ z(^I9~Tw3}wG_2S=m(BXCX7({{>aBCrzMqOcnkRc!tc@e9WLoh;mmdeMti4Q_KirMq zb>Y3j(<$1E!zSbu$fo8(STCUu*L**Ga8P z`CV5umfSlX!yLn`u+RIVtl8_{yh|-XNo>yzcrF*(p5EHabfjvt!nNBQSIwQbW7}Ns z*(;hY>{Jh>bQIZIT4wKm{;T@kv?=K?^A4S#{^0P2rPn8!aGz{>x$S9no$NDlW%Uya zPB^zLeq(H8zC-P`_cPw!)lK{7C~xrY6o2j)IM>@S`liy3M{AF_WUVYq*5i3mu;f=X zpB>+C`IT3+o*2J-Hc)j?-4yC+#(^hyIdf&J# z%*1(V0?VG356fyTWkl4@%``1^Vaq-{*W!h|hw`5O9k*+w7~>5t-F|PyI#pn%4d0j0 zs?!EaEeir~DZZ?6`mpHKUY|CtU#o2R-i1hXTd}$7hqgWM^gVZe?xxb7Aj20+_W8|O z8F0o=Bt^1xu7dcBfBetH^Rr&?l%zU5`U z>|V~p>wHyK9WMU+XHD&;-1p4Sm*4j}e#LfyxsrNPz9Um~#`BniFYZMgEmG57wctSM zmMc455?yy3zwuSTq+`nZtS2j2TP-{0OL}t)r0=y~>hqX|Phv0U-QdC-DPa>!0_IGK z)ttoEW>W8I=(5cG-_%c=Eu$tjtF9KB=5yiTO*d7=;7o4jU*Ya^A3Gnc*s#+<^+-X} z99>hJe+T{^ba|o0n|b1+uH{qHw*RXf+V%7FA8+`-KKaXy|JOg7Z9eC_-cs`H&7b@o z29_@bxfaSVzpnY=ph&y^g|GS7{&=t3@1-VeyLgWM^b>9wr`SbhZkISbVk-&_nQ$&b zx`V$+>$+Rlu`>*ud9s&JPAFjB8*${&Wr?5wzg2ObUC$a`uAh3qU9f0MaL?t~o(^r{ zm9dQ9-Rsh~M0&9at#YOu`fb3BDb$C?)GvQ|;jG}<$1nW~G$UeQ?wOa55$ zb=A4{Hpq0W;M%mbXSsR9ZkhM&)|GQ*k~e(l{ivI$$HLRSymgc8yeAO~x(P17X7ov( zFgRu8xAK7VLFN1P@BVo-sHX5WF<;1QQosFG)lo%>$6wv}$&t!pcY%}{k8L#AJ11#u z*Y4$j}&C?6nYmpx4cQq^pbue?qt$ASvHKHbMCTCCkK1qB`KSh#wSPcCmwM4 z_F7e|(!Eo-+UvM?rKy(6!ex`+v_AQIn_p^gOJ>`z!~Q#x>!eQoZrLWdN;WCP;H&9= zSND{)#f#?8dDU(&J8#bGyXJ2nC;$C(cHzHme|KG0)p@m(?_==Y&)*L2{I{>TV$pu9 zEB)3lifik-`a0j=N`G$O?7gz=f~EBx`}`Mkh3l@>mhZTqDSvqB-*b#VndZ!&_wx60 zmb?G2v%avssNPWXc0;$nY`jc~UtIR_<#&t!-o5!U@cEpW{Q0H39=s^1DqJ^TF7dzK zuJ$imE??cf-2M6c+b&A^^JQKYy`uc+Me164Dc1hLOvOV+8 zTtAt(z5DdVV@qGYiI>@a{!6)ddWuTBZ;ro@#LS2DPwbL;vEafEi$=x?KUJ7Kf4kgQ z629~@@8$Yicm1|6bbS5YPl0jCVSrV}Nu_~h+N#&fb}SN_Dl@40`>F#rE^x5ndjkLUfpUwF6Zpa1Csv)})P zWmp#KpIGFcqF=vKEzi34>-)QRraqhSe}-Sx-;IAf%f3Aem@F5%GmS$w^ZB|rZyN4D z{~`bPkg4;X3n$DN=i6E5$nUYu(dwNmyU&hUYt^>pUz+A`+Tikydy|#JvGWFwyKP>b zN$`Ir*}BBu(?lnF=Yx}hRkm*@%g&0sbZ_szJN4h+z1ZHwmoOR81?Fsc~Ta)hH?yAh!ezv#PQ2a%AWq$k_)?Y~t+<*7J zo>Kp6-?cfdQN?08Z}(k2Z~xRX>igNk=U1N=K7XR$U~#8hD-H-4QiU;qEs)nk`6UiNbMB^E`0GTzvzxo!HYWU#kCzuI$_RJ}*%n%}X$Htruvo`3uGdB?gMe!2D8FBM*= z{WEQSJHv z&7nz*;YLsXeC+-FpL@;!#mnp0{YjrC_Orh5FYom`FY4z%vPe=}$84atFP+cg((brw z%l{X))OcM8*jl-CzPib;*}F3rh>6P0`WmXsd)#FGRGzQg$s5GAPA)va$F)-CfVGf$ zx7Ybx-;d0Tf@IFlQ4XHspks2=#K89C*|!>h8Rq_-(Pfd8Cc{#zw4y}Q?1ROlLdTWX zX&()%XQi2a-T$7yeZSk2{r^||y?CedX8*3ViP6i~wAjUD^X?fspSrdl?#h0% zp}lO;ZrM*4`YKkeyLmxm*Pq^#(%<+>|0_$caL$WqSUWqWtZZ39*!7sAjn2kW0kS_O z=kk5|sKCF=+V<(Ya~?aRukSf@`bnk!_nO$x9|fg0u)O_gZBx^^M}ETW_bdK0-Qg~q zVa&Yqs?zou{t`Pc-%2cwJAY8Lf~mmPc1b4J^2H?|{P*7NpOGhj<$cDCv^OV0+O#sW zJeEpTcRB=mEI%dl+-s%e?(La8Y>pf`KSUijPFW{Vm}ap$ma-Lq+BK1*z_`OH1s zvTTw6N#?2Q-v15$90?ZD@{)+Xe$S~Vi7700*8hgK`xjLTO^)w22siLHZ1-I&lu)4L zCE&d8%jbeqdv{%s&u+2XB_H(m{i@&o=RPg^;m9=Y-|_pKpV*h=F*aHyE2g{%+VsTX zg@N1S1Cy(NwV!-awrBh9-!CsOf2RBQ#1Hw}P0X?HC-L`|M?U$dx8u>5M|V|TzTfcv zZ9-N%|K!>GmdP5PziYT7_`$3ucEP#V+wS?R-%d`OdhPuQiO5^^J+F`1=m|V&w(yPB zJ}K1mMf=`dZJ%vFULF=WB z=l9#?PwtnMPwv=uanDZgwh572J>%{e$DY2Udi%>kZ3dYRNAJUpk8+OWz6vUDos#-t zqq!8{g<{U0^p`9~{9N~2mt9-<`t&lE=->_hE~lBNy3BB1E$!dG==w3uvyAopy$=#N z^ftU#Jl64Rqv5A>!P=ju9FdS<=5|lxTHbZ$b^ot}iRJ&-eCApud_c{?c8A}A+Prgx zMsL6W@42U1zFjB%`ME#N`g0FB#=n(0^Ltufn^Mn*r7Qns>wOiwexCn-mEC{evJXq% zo8C@XFDE;H+xdeRwmne)%Qi8c!KvV)!xyIMN~xYFyH;JWQWfZTSm$SDQd2$GMgRYa z+SRL@(&|@KtgEhIbM-sn?5R?8Yk|^_zmdQ1T331N3MlbUJTd+7{(ZIfdO6pN_g3(3 zv-rE{c3mxpn(@RC_qSJnYF0|M{b8QD{MPv%4u!QxUA&q(|;`$Z$f9x+))hxTU0@DdvHFwp z{I}dj27h&DhBFA9aQD4`y0`qA&g16WJwI}stxkRXak*g115>Atgf#BY%rYEqs_nr> z7Y?#K3ZD7V?#P7MA5$!XCLR5#cHBP0AU;Xx6!Xb+zQr8tu5-nz%Rfj@$#09v6g}Le zaWmILXj!hm!+hq;q`f; zW6H0CrN8|m!!o++*fSk8dgQX)JYTUckNj1u^QJb4xya7rrk>x5xFYO& zrdI2^bun{)ilrTGym3cL=gs~9ix&zfOz~yNP*oeu`*P#N(vnBE2WKFki|R zTs$S=PE>^Cz6&YN(H$T5X3m$9d7k&gjcfP8!giCwsxZq4nMq3NobkRf<+sjmjJxa4 zve;$+q_=U5)s=@9vL)n8dzUCIacHqDo%gW7`No+Us(Y7yS^40w?~XV>%LrF7RcDFs z&sM*q3}Ye)gX1#QH-;(cLeqOXo=a7CL)` zQ+dft=SLI5>lXEt$X{C3dZjwnf0_CA-7SnNm*-uZef2~1)YWS^ngSj*I8P0_&iarm z?)X0k1DDWmtnc{s53%gZ5!N#NFz4=}ooALQ-?=_zZPqakmpI--*|J;p`!rK0FJ^e7 z)z@UT&e^d+a;1gAKJJFq#tVy28!c2=7kK6l9};z1(IUe?AwKZt<0-6%9G_XY z{@ZJ?(Ao5@mh9y__cC{03AJF&*>vL8O{>XIOcF5FxjixuxOFM%$2onqG@hTnIhk3u2J}*6}OKi zgY|2F{v`$;7BQ9rr5)ccNYB!5RI6cYWm4BElCuobU2Hq0R%qL~xi&9XeykOrIZN++ zX;smky*7Em)7Eg!yYfZ!1*4w<$3cMu?$h6YJGLl-W8tY^Vl_ox6QsQuda6>y-p@L) zM_|&9rPoDfdEUy{Z)@}V&31pio1U9%bE3tcyF1R^9hF>gnzv1Vf?!`uRPV9M&2RMH zyGDw=T7CW!=LG#{o4y4JoXfT2{F>wb-Gf(K(;;^Y4}+Yh$%zRr4?;dEo!^AuXfDT5LOn;_ClMZrBgVa*SV-sF~Ub=6u@4@`)-TQijs|}tknfP&eNYvyznG268RkkjlueCHM zXp+KI=hIVH#fnInPV|4qZo56XXr>IONAEG8G!x?uQkvS2W}2>%JGJ@2)JqoErCB2b zS6Eg^trXXnSkb-l`S#<*|Fj%vo*m!S;OlgtDB(yf$4!YaPSpNmCfNF`xKzLExvn zKtROPMAI1GAl@0WQ?41F=0E%A@Q;{TSuCaMM(wLQeP^}h|L&8FFmr5yR62XNQ3(} z@z+G7t2>2_ug|-te{}17UoH#wmaRsbw?1DIGg>U9Zg@f1v9;}2tkpePzA{JgYfnOx zGtaWA-efC~`@w2DO*S{ZRVL7^l4qqZ@2;?YzZscl9nA2a{PevCNBlN!e^$tcosL|oE2pwcP3{lbp0bsP)6 z@LT+d+`4vxJ4^PR3XjbPE}Dq;Gz83eBGRwC2;_06P3@*4UIM2w<|Jw-~S0QFrKvR?dq3i z>Ca!yTy3OjcxV5z?n%GaG})M!Ok|Khe7M?3^Sr_QZ4pO(w3<#-<;+;TZHCsAcQf5X zS2|WQ?PCl5c|fSI^~PDw8Bxsasy_>qCeQH5E2v&mH~Y+{#f$xdgkNdq2?;6A4`t#B z&0HO%xbD5dArq;Vdkd5zW=QSMn4lv6@5XE4d2TB{ti0#AtV7`I9m(fbPBE#Ona6|l z753Ce2r|~Vmof7`y}_&|-=Uvu)ii%!vc~dsEyX;Eyd2@tMwnptM3s++`hvwv^Osm<3DR?VKHC~SFX&O5i{PnY(D#06xn z^}O!&qH(9z1}E-1)99G-vVppw_3=BELP;K3EUn=0dcAVV=E>4B##xEBtSRA}A zz*1!{67VTV=v~pGEH5iLzmwA}u0>?s<@j?c?Zs2Z!!uSgU*2_r|7pmRH9jZL2&pEA zcB*(xVG#GNKEL+Z)h46m@;iAFcKXU}UeX+8dQsxmv`fJpnn@O3FZ5jMzPNpvY}=;d zx>f#h!HVnOo*XWi6Lwm~N9wraV9Oz)l_^XT&em%EHS;|; z&zrOZyq{FOzW!V!EEuWlEB4`mo^#eVlVh1p^$h~*2SW^AaViTtMRD=vKd?F$#JNs%9%1w5{6NOJ&VO~)!NspYXn1hTm z7(B)6kDkliFn!a>1;3q}PpLNSHd5S{^{QcGnUSisRO-Y_=M$oq+9-2yjV8N!C>StRI z2?`puKJB}|q-#;cKB4$IC(CO0D^xFgx8s6BMfl6mMCrS64m-GMghTe8%Mz7D_ynkrZb?$zTpJG}Ir_JUHh&)@t8gxuhPp-tvWcRf< zd7Au*yEfe9Z#-x1Q^uhDdeiyPy#din&lOKy+x6?v3)Uwa_B$qv)c5RATo&TZs`5)eYSN@k(742BXCV$^qc0$Vj z+BIK#O*^)`&YdxzpVQOY{_6dC^B$DfU#|SQ`DX5U4WrFBPRE>$-MC|Z{T2+ON*h5OB6JB$^Ip0r$jBzSbmPmYPZ10^_)1wZprs9DArE+52O{^_N!<7M4% zj5DWhekRezDDUFToS~W*yeck1YtriNZ}-QQoj-4-zFvR#-2Jj~Ctd0icGw)8%XG}Y z_I+cbd>2#9hMUhn?=zNM@u1V~x!-HwmaA=1E0?Zkd_E;`N7zjss|>yA8$oWT-rXK`4BaI%LRV-zq{QyZBi!q>Mh;!Azde1$h6}O<6reNM(Yn> zY+3Wu=ZQ4W)b$-NmoJ@s@hWo&|0VCpgtB&fvaNuoqbB& zrkf>g-RrbPbI#@^OLSy4N>&~0evw$C3wh`N)5%N@KFA=mFNNjS)XZPTx6hqrQ8CpjgoK#gDCY-5fjP zSmKy0*nGlf#xbATxAw~IGbLg=kGo=zh(0`Qe*1-g%Uh?tLPt|h$uKV1VeX1a`mdi#~FA`mS^L{?6Tyoxb;hIygi#FDYSp7;ZSJl=?G@Wqn+1HI(CeyDR z*{9(B!D;^D?z7T|B+{+-y!7>&|8%#4>Di)&1Z%~6N%QCOm_A&q#~~2Bp*Xzu*e_o1 zu-SLaw@Q8PO;_b~JF|BC1)sf-3)wu2VH8&hot_ zCCQPY#bFY%K%=bx{oX^7@vJr)J_qe4X~bR4iVx9d4@ihS73%jU#$Hxar13(Lwc|az z3%d+xqO_^`No&PTGr+HRio|6B(M)sC_ zfR*SjuEe(Xw|~ul-F#U+FT!z_{-*=SVw#_wW0JL=sU7&xBgp#L$4rg+9YM=0mu*Q} znNY8yJ#*6|1BJh}4Zp&!MpbB)o9|HXS)qD#^>abTb?kk*E-Dusreri&JM{=UE8GkE zYiIFl;en>E!je{|d%c_2m`?jUJ&5Cj{5qbxL+h@r{8(nPpYvS2>CdudQ|{}8-MgZlJ>xW&@0^P=OQZY@7gRkt@5MWj zJ7|$5?}|UIm2aQ+b-p;8t?|UWzfby%fu5I)(%pHH%^^?KD+AeXv1VyLe#TYsm(%C| z{pQ}nYNh?_ydN7Cdxm>8W<0MH6Y|h`ICsW_39q+HB`Q1HT&!W$S;W>jW6KKZcRF|O z#I87ad2UzE52codyh7W=;J3XdO}FkAD@3f|Gvdt6=ijl4$=yG8eTZ6XTAjqjq!*{$ zHBal#U6N8OwyDTx(ZsZD&!`T8aNYMBS$riN$!#`0e1Qo&R*J?Nrx-i=Ecw@Mpdj)s z`%)v<+X9B$5eb&^VOL)~CHyysVgJSKmepsb zG{{AI&$FB-H1l&+gY=OGuYdKPm!lohlyVH(|4f*0V0V2G|AizQom~HoSA#hXW`FyA zYevovlPJ~q2fi1l+HC)DQUB*gp}t90R~6a(^BFfuNIKLf&)pYzv~%;-&@0beD?5q; zirV)-iu$ho^1`2q7X+;QZrE2gOME#tsk@+;a~ivdgo4PAGd}*`Z0_uq`c?S+$%F&{ zUVc2kUh(js=tHt)H*{^H3v9Fi4WCacZek^0W*Bx^!~AnODlkVn2JcO~C$B{Q`S@+g?Ubb#XKpbSJ0h`nap|fZ^F7k|^qaRzq# z9MKwAvSgZt8qL-H4sj zy`Ppau9Vj0zNXE7^}?eP>j!(L-iv$7IQ!%mku7Ua1??9IFg<(q-PP2O_hc{V)qA-w zF??yI`e5muXeOB-HTyW5looSlGG(sFY2SNj&c_XrKWlFuT*S}xwc=Hvul8lTtFvq7 zwd-6L_A#5h_xGH=DN2=tyQZJY>ihk`Pmh_GwBW2d-dS1 z-2S85i_%Nx`LSm#Nx9yVQp>tCJCo&xXn*+W&huY#^`6BzavN+6m(jaYR`ELAW<}2; zk+5CQP4{pW990kFRZS{;zKiLcfO+lVPQIgIYFq}-gRc3%tnl-_wB=sv$IzaM>5G<4 zI>6J(Xl88uP5=I`FP~PQ3+C|coRT2A`j)U-sUQ2NErk;cuHK6{y7i;L;>BE7H&xoG ziCTqzHE^F+DB8rh*DEn2yXbWj#lg3Fnn3{}lc#=5Ug6EZugFN+5DADU7s|b`6#5OlQ`v* zh~FI{-WLms^kZxoKSmgwz3QlaH2nE1?dPU!VcZ4W^Oos6lUrq!ys%oUOM_o{Vw%OH zV=Zip#cd2%32~@Z1ZS>jtxe>A)9K4>$E?oCEwd>6MEvd4v)p^!eeg!eEl(uxl=Lth(IAHZy|#N3(rpbov-fp zeidzOmt2w}bU;y7^N^XNZPr$Xz76aRO2?ax{eSD;VqQN(Q{!aC&F~HW-wfo~rbb=~ zb>_=x|4?CDFyVpOwdfeGH~k6^4+p;A#eS1>M^n>8{V1!6oeNi#WM)-*i03;z`zI+d zn?Lp7S@t%s%>kE;CUQAyghftVSrPiSC#ZR;w`RwzfFMEP%-iD4a$YXAemVzues}Rm z9yOh~H|Q<<@21RWhk`$F@-XW9Foe1`tV*47>6-+5--Y|qe@;CK^>o&{{Jm$Uu$cLk z2kzX#x|_0|RqZk3!9+JmA~!HvwTjd`Uwg>stVjO244J8Be6C_H7vG;#kZ!$_ z$Sh>x(A3`49UENq`%;OL<#I-k@_+?{_XR*6!%*0Ppi4pPpMta8B_E&X-F|R`x$aYpSf@KK4P+xb=i^6 zCrnHP{~y|(xlmmC{#_SmjT5X-=H^`sU$oAn*k(_Xm896YFde_9D6JU>3vZo2FjGbT z?NXm?yZFmj&+*;PD*MIx;&GNy_A&N-^RG<(Qvdzg9<7?6UQ<$c23_jen>~NOqLJN% zsF;YKBCF3AwQAo;wan8ho~=1`=8k<_#q|bK3ZW-wdCgW>e1$=5hNXd$yg2`46Mu6J zPG?bTi+}a=tJSgSw|(Ov?j4!*_Il5PxAQDuN|zV#xC1dzgD|Gqo(O??$opARYa}S zMVB;g-&(vRU?z%d%tC#`5da<#Xs$T9FVTMb=a0|DUa&Yhx+D^`#XLjYq!0OxZJHb&CU2Llg{I`Gt-_-+iCB>u%ga&*(Y(c@8Of? z9LS4cDhzMfapHNkuZGoUr3G)4gEk%9I_-9E>dvXFKi;hnKbwD+KfLRf_uc~_MRUh2(cJ-;W zoV(8BENfiU6IGUDax*ONEl6g&`dM9JPwkQ^qC4j&Rr36pw`1AGYta}+CTYc0xnMM zi)_q;O|E3AY_ee1P{@4oZch=<7Cnx2YlSxIJH<@7^L#@r$Lsu3x#COl&)n7&>nE`u zBHoN2<_%AYCUygMOOf2PqV_Ryts=JVe(@j1XQurso#BU(e|%=cBRr_*~ucRIc`ieAc<#*Rr7ZLdK^vUp@;27j5?4v5>)B zU7FL^_0E(#c^glQ{%rd2bWV)Vw+_Q2npY!?OjqeH;ps|xuxv$mGuQMkKf$AY$rHp6 ztWG>)tNKdnbG`6Rt1FfrJ0|(Jc^4d;<;C)}amBQE0VnTxAAHy)I%(IG_kpifB6yrs z9eAaa4_PeNeQ+$mwD55z&%_>H-`WDd>%}uCxbXihR$3fuk#?($L1VA)WYO5(#}8TF zEC{hlUzxgIZEyC5%}LTTB;(ins!k}h@R}^=doyO1`Lx*TnDoXjlWhI8RT?QNO`%EC zH!NURnYhGaRf^A{J$1|`3mbHGT5_2mOrOoL(pAXDUaG54;?vTzzWbJ}J~_SY%V+pnplg3wN2{%hm6G-fU)ZwQIY6zT&Zm zcO#$c-emo{U*_MO?oa)tv*tD_u>Lz6t|)m#N04>r-2I;o!%ne_v_o*JiWfxNmFvor`F~#v;_WNGZmZ_x zJAU_B_Mw-u^I{)4yinb{tyk>b+qQkY6W>2i`Q`hmd0MssZ}ZjSsC}kR0o-pxR;@B> zjd(73@Z*G^ikDTsF1pb?Dbe@j+jG5+b7B`a?yRksmrG5Ohi<>eLbn^SMz zxG^u}*4+l%gKGm9E*H((^21r`|EkP=dXE^l%)C}LPw?~Gmj_v|G;5vF{QWCH_snq% z=C!`svo;92B>u_vx~g;H$>p=rzIyFXr79C7o?n~MH>sX;rnrn`-qegYypN|`d#_Nf zb4cUhmvcW~Mhbh`Pn2h$zC?X`3il2BJvKIs6V5L8cb?pMp~l!gUR8LRkFU9`$IEuE zZtIdx)0zK@&wNX{*YN1h*^u0>y2yyut2Rrc&TVcF%XnaCJ1tRzvHif!wo5M#oweKW zIOvXx*(2jbvtqyAE0_1X&E0Ib@dwisACt7p^9l~n-{kpx^NB*Y74x`P9$6{!?}gM? z_v3GVKdRN!OWx;raFe4=^~PoeWrye0h548EUv5!9!~Kq}U-E>@F*}Z}tx7URGaA<( zVgKOmFqM6+FoV#xV^`Rw^DO>;zoaAL%%&a#h3QM(tLCf@jOqTEyF%?madl^t+Lga7 zwaM-+=M8ydHhXF{X+}EPmaJr%scYVvIH|{w@d$67)pV!%N0mPv(q!JWa7Ti|?*%J$ zlfQ|orZpaq=?gYc>OPpj9x=z=FoF5;(}4adotu{J4dUvEDLShpvO-d<`my3=`R|Su zO|x?5ek**QzvW1brrVx{8x7bW&ayd|EwFtd&xhTI%~}graIE18U!>6=DXjSVm7lVh z_=ZXB%6A2pyt@0W`F7yU-cz=(+E+O)oMV{aQg5;6sKwJ=XUe;-ByTl>aY!*na>)z+mED>4r;r#e3? z<=gcwB1?aZ_@|ltzFhG98*}Ne zz@)7Ow@-b2t|rrR-9X`?lJwGYXP#_Mb>k36sfJY^7InvcS1^QiA7c}9QgyjBTR_;* z;WUc}(_H3|b#9*&y@i%|UOi!VzHL!ZrRVY1Ek2ynXY7tqaZSAF^|e2uCUU+1X1T;T zf2So$Sypui>lPIEdYog5%$txjqw?>#E;U=jG2>!=e$?BDzac_sfE!Lmj$N z;+!>kMWt4se*K;EX{im@)~X2w7g^N#*Qy0sDOU8qbdrsG6aQ|$$%psx=cIlaUYTdg z+q1xOkITzvOKR_2xL5ASbbsN!$QG&XyMNF1ll>ISSN0($ZOzJaXBM5@qfwRj#LH1* zX;N3npA%)KGYdlXdN%20i61I#^?rT6t87-0^V3C5n?!#7DkDFI-pRlkf?VcWr^3Jl#LETIy25y zg<0ypj0}i0j`<}j^POX1kjd#4#Vu2%zj?=nd0Rd$Se`Fw7%ak6WOcuA=|A=tJC}7Y zu(|sEyvZ!JX>%HHYP3&t3Nq#3INM#gMEBv5@Q!oI&x|A775U`n&7C{%?aQ2_5`PYU zpAdiRvj2DMyC=^+nGkmOz=9~R*%7jRO>Ui@l9LQSuANuX zC$-7PZ9!6dZ0Aqerd|B;8+k4Z%!qCf^y=b}xSVn9*_$0pPO^vbIeyhyHaY5Lx?M73 z#)@XCKmM_wr^j&|tGq1YvN?VJ`7J`rlwUQUxWZ{QZW$cFv#&Gp23WB9_$2V9I~%{gULCFcL<{V%S*Bq!BiV+3?S+`RC+0;t9@g5g{i@{XjcZBCUf+~F z)0;bd=WNXA zkPNVEa+2?@5WBbfs&3}aipleysKj}^HecKDuZd4?(!=k8UaQSR=5`%hqv0YD@>SDm zMWVIHdhPW}`ajJ1TW0Q9H}$daO(wxh=QixTd1vW=aRuJ=4MDqGauo_Vo*H~#b8Q~q zb-hA6y^lt{XD{DQKC_=QZP%>0*Xm#A%Ktv8di(OMzbPKv+OPHFUmZ*LUY~Dlb>IQR zX6KDo(=^1ncARWIDQ5G1%G;U0oF>neyrlK1q9$%(Z|;4T#SLriSTr45T)q1ZUj@%^ z4mwlMI8&hVSzpk(qFynLJ;58d?}<0on^Nn%~$;JJQx(r zvh&lUrn*carRW%IyB#&?R~QifV4snLVxfvElb;%tD&UWop&FVY9c=f!WXtHKTF>U=ff zR`!CmfB!_7zIs2ougJ(mt0PUNZeg=M{@W zo~0QaS=Juh`0Ud59;J63R!)8nZHem|TAU^OcJM5}xG~T#?L=|V2Gg*x{B4%(o2I`o zUyvc&;=(fZq3aZjKv8-BP-pf2t8qgkWz~b{-ShNPS`EHDjM`qK zUC`s;xvxo;Q_)gT-I`lfeb=Rc?=Ih}nR>DgR-f6T%`KdKUR`*_MsHaStB~-{P$TW1 zxk?^Cecjg=K411w;jUzwWW_SUgyg^LCkKjsekZU>HEz;I+b2br72bN@7yQ7nn6Hzy z@9Tpf5~n^DZJz2^{7+vsbzV4!=$>!My*q917M^ankTW%CTfk#a+0DgAB}`(zd`Qop z`c=Z>nfoC#|6{KUb}s!SY4m6Z`@Th`Ek$1zTq`m**F3vB{f+bDRb4r|gWF{?njl-C~Q0r#clM3v(sw#8xf;&&AT><2h{^ zr@=y<+=m^8VY7U~y<&^ml{Sb=yuQBoOlp{@sZ3Ax#EV4&>=&-wTd7$?TZ+w{BzV^S(pXZth!WVIy{mzP9?$rQsbS$QF<%3C(9F6BQzv!SB$vUChr^g-{xwbI6w{}-I)ExC1b zqTCvX?$GlQFEzRQHs5&}@78L_$@GbJ`kkg~r4z2gioEIejm2`ZOv?|aRA;|_fBx3{ zd!5xQ_FLAndu?AA=dGl+Jg3>@;H_N>y)W}mdQVs-b7{r?-4&&GZtB-KZ)t2=_aR@b zQ0BJ8amKUn-aJ_rCjRfr(g1ctt4$L>-}|u9VEWmb4(5vKpRE=yau(RTp>}%T_Se5o zzO*de+SdNx@n3S}*%RMH7cb?>ckpQbP%f~MMc`DxzF&cRxi;x!us^ka^6kxTfkO>b zwH~s!=p`h&|6yh1jz|}p-+d)oV4gy~qYsn*>$dng_daB`7>O`C32abO{MR(2`Bb6v z4#sJZn&k!36tY+h??nNbTx^ zvR{7x*$?#=Y)kFj9(hFH^l!@EE%SR;KWs5*U3~H`bHfrA?$f<%ZlotjZ`_=6)BWKc zJ?8yeC&}e6D35$`lzV=u;mgx&E$`0D;7iMV&cNg^d^?a~LC%*Mc{)0K?_Rw5GMe*; zea4%g=T81y>Gg8KpPV}i-nSIEZ#1N4O}LuzVsV?DYP#Uh{yCHEQ?wR}WH$Rq{anAW z`M0KI1v6Xp_4+LNc$qTImYEh$-mdv>d9;UTac)(jfZw+5zh8+mvHdL(c=o0eOY3f72G_`|$?`Pli%i8g+ z@1eLp`OPg+TZ`uES9rZ%^mzLyQ}Uc2)-ck@$L>t!30C3AeHC2lF>DL($G zrDj)%_d$eU5F4(1YEVb^kJ}oV%FYoEj_nIwkt>8QC9`ZTCEWX@2&@BDWM0&O+xNxi0`_%0As} z#OeQZO#XCnUV(GU!xw4XYngU(2}S?-H_gQA;)?h4))X)7;^*CaYN6D!80LL1&0}RY z+Jx%!Kk7Oy|M=0;#;VRxgJs{{ma6?U)Qt~{7gHD9$8)AXgMEhFNA3!_pN&gw*vc5L z2mgzE$Z#(GnehQu&FS{9Gp7IBcZ+ZDkEfN>_w9dvaOeCJb8F&1I(!WO$lP69Fmd^_ zGi(QoCZAdMWL;4)zfH*gnwf@CPu1;DvA;YNDQ5ZeY4M~s&ne3!e{ST^KN@~F&|mFC zbD{I8m5EV5rBBGcWmxXA`(v5Kh5xoPFGO{O3j7bKPh9@bSHH;9H^gS<0iE7V@Bhml ztC?Io{CXkRf)u{BS~9C!KF*x}JoeYydF;>Yl*&IvA7wrof0SS6+d>_4Uhk7W8*@Z+Mju%k1}5O{QOR^5R6R?w7erH_q5SH-1&MoBK{s??&e-Cmnj%{1XZ~->be@ zs`8-9oO;=m#|+{1U8e{Np@NFlKII&h>N~+ot92+;+ZZ&!<1x|9+-Jtd-gV z9ku^8=UI;BR&-4>Q9E;L{)w8Ct0vgq@~acGQ2*YvDas)9eCNfkVuvgJSLS=Zi>nLr za-aGB$G$!5^>%h|)^*7_eEH6{P7kKvvpm0Vz5nHNrkA;C{j+7qG*%Ufw1w|jepQF{ zQ*q+@h*zK5=V*0kGPBg|xw2M%%BJau9lNC5UOkZw>aTotV{?aJW5cyF9Mc`V_*iqVPw!)k@CS3fy*WNheZNvaWvYeHuU&JFgan*1 z$-CJkc_S$4)CEgNji&9NKJv&seKuSEMXc04w+xAfH6gm!dvdURUnp_y#2){zmnAM`dYEzSTXWT?L7K@-#$7-& zLujAR{a15x8WW3NFTH2?vyyw$!VPmQO=A0ke#D9MZ5Ime%5ZA`D)=q^(ww;L`E$3{ z|FaIiEgo?u#zGQIbkpgGz z;#Akn30s4%Z(>@V>R$Ky=sG*2+0k>G*Rsv~vt_?)VxspO%jhR;%pFqoEDt;!4&PfF z86GxwtNV`&wJH;0WtpZf?4RqH|B3HWzwf0WtC@Wq`)blR+^Mp*fAve!E#~>nI2S9^ zC5?fOXWEP;v>xtL{Jos*-1+(~QF(iBB^+UEj!JcGzL9oPGPQNn<6^Fzl?T6XipYzJ zI;&A;+4w|q%abfN?`!<-Z!c=>vEFN|@}%imkNc(CZ_B#B`57J3Ir?MHlw;v%MlMwJ1)nW9%$EV)(t!-Sh< z*Az9^*7R~Oo8Mh44?Fjn22Np@jc1jt+T?s$Ut_UZ^CeEV%zox2UYi(Hw)b%^t@1oE z`TPNalR`T`tUhJ?!1c-W?`}8j1QzXFGEL5yW8K_Hw>K)D6ShR9O^A$qHKQ+Es_pr5 zw-=JGO}o$koA<_>>&&{2&BoupH~qD(JL>;Kw(jARN4nP5R%z<&f8_o@s+>Nzgzw1B z^ZD;pe;fF+biRIZ>xe{z=L*)j4!zR3k+%CqIj7IQ36oGyl$qkVJnQTfeus7Z7wuB6 z*tER3c!}BS@zdMCf4ARVSH}`PKO<=M&R6Hy;?jJa7R}_yG|iY$5Fzw)()$NC=YroU zy3X%Q4XboLKK(BDKHFFS4f?Kq%$;wr(eIgRXZGy8thUbiM?6n&itd|zi(hfW@%TBH zw3=oenso98_o?2!*48!G?U+>$o?UWm&N`_pv%OEE|r&;<;j#~;oNalI7$B+F%RofHiW|Mv5&)4`b(B8~*nZ=%a@z%M& zmrCmiKdBUYu!QN8sq1!)qaV(?&wK2CD&?=BeB9%YB`tr;U5?1R&2>KX&n?U$BG%sM z(TPIi<6b)UCArq0?<(j9rMHIMJKmu5f9L&o^ImV=8!g-+^I^ePt4Zsm@?Gqb4k{}# z@A)Mo%$)bO%Fq5Ai$!t44ZF6QJ8!ImR(Jej^L!^R^kt_Q-@UuHndKkHN(!7j{b90V)O`9MEBw!uSr&9JnU7WKYe+-pv+o77KF$-FA8M;AJL%AhotEXt|6VS)S2i$S z&GSd^RN&pu%sW(j#f=5ogwqo&Q)fMLJSep5L&1B$^|Iyv7G?Z-WtHfB-g-t;$C+P| zzn^?nWSGg*wn$$+v(56-)62`<*Bos=y!hMEkCyFbUz6W{{`~Eq^i$Q;lI7_#HH8aI zFNrce-Manl{zs{o7)zrvs$Wf6vEyJHTLX9B&If(B`zLg8Ue>?iwNOLBcaPczSu>V` zd;_1uMmdKU?(gsGc8V{aWPPaXk0`Hz}?ITX)|o zzpu!(_}~i<`}*3-UwyY`uec;w&^yU{lj8jSmNtox4oB|3Z2N?9*)OyIhxSkUKUYrv zfW~(X%fHvzqALDPHF1$rFZs5_asQ*bMclLQiz?04AUSDsy*YWhhdBeAs z@hh!WHnlr6p7*=Y-TChB&6ock9z1$;;jVd2x2E-GSXgB}3;b^6Ub^?u<)9ZHd0Sg2lL9NQG^;w9W8=jj^S+n<>ic_<#h!n6POhoBU!Hr5;ligIW`BJDulP&5ZOv{RpUumAzblIIr#?^b4L%`jpP1{Pb^15RbWZ)j z{VVfHtooB%Nu5GxVrQ(l=fxkBDE8)ypwq%{w>MmzSj&B6t>1JlqXhLUynh8`)O~Jj zJD@&&!=FRSPgWFPvklkjJbys=f#C7tBBhESAFVIN)~#)4ds?&=ku8C`BY3vO+V&fKUJ(XxM!>1s34m%>(F8ei8GgtgYQ9@Fgjce>@hV(XN9 z4qp_`X;(izbNQl2sD8n!`r7I>`TseC?C-z*x8j)biEClDG948^B1+gD|LvDbsk@OP z75i|b&%f=j?^W>ryzg`POZQKE-P2#pf8L+>Xu+5N4r!H-TVH<8d>}EG|8vGHW7ZQU zxe*h$oBwM}+P*^JOqQwE&PxxTeO>U~->LUT`qubIu11F)Kbh}*+Op{Kbl=6{kl|A zy87kIvS7Pc8**&EOrKr-@$J!%mCx^j7To&#XKkI8{bHH8$%p=n1+hQdV|iZn&dQ!7 zy#Jxqr~aDgyzlxWprC z&YQiQd$AzqZsEx(FZ(VU@ZL3&s+e1I#Hd8N{$}3cW7ZX}+g?vscZr-O#iIJqT5Q`J zhuM68TCaJW=KCvUqk5a?nXggp>@6NuKEHf#E4)3_<8VLbM_+He@y67ep3*z2{+)?4 z^vZg8eP*r>V=ZZz*>^^BW-Mo4K*=VXl^-(BD&!dK%${T~_Q%jM-P4Y9|A)A}`{tf! za1QKwSk!-8ZN@*L0`?Qh|)894Et)y&LE&jVZdzQW3{i}0o zE39sLR+*QybNpU(u{u38GM!1`>s$8HFKWCSXSKXw>}}SWGX1Z~npa98hqP7MoL|Dpm6!)~^KwOlG@v%kiKmKLS*0pfanGybsTmDR7 zvy6kyiO8?lrhB(C1-|CL{Uhbgu3uXp&0DS+salft+4VgC&s*Ue9#6EZZe3_swprQt z*VD|34|eXexSySUCAHn+)5|bcnH9UGE&hg{oxf@Q#oXR^StY^A)w9@y6-&SOBq<8( zG*5kGC-(Bx^8XA)moM1=wbFd{Pr&8Z(^9=}d1k4*&GXq77iKFIJW+6tsGP0U_At|AXd#d;h)X>^pkeU_;Ow5stbGtGKu3C+aQI-E@1;+c}G`znx}Kl503qW4(*> zUD4bStt$(v*6+J3U$-cfuR?hWHYDs`o#~$^VaLnocC#x z*8NSKrmg?16;lhQZ}51$(T?%ELe1)XA18hgde4@_;e?Z{hFqG6fm$+PmviVew}jXuF^diQ_qR8RkJ+GoGS z{GoTu7B;`D-icbj^Cc%9YJGCD<(!43BJVdL84;7-=^VV8>zphWUgZupv-~jI_v^M7 zLUW~KgnHfT4zw>b|JA?ipk9O5w3s)&lP`YwCe|fZTsPUy>)GT|znRYWybB+0uhE}+ zbB=NI(da9jv(1iAJ+ZXe=k5BJcTevw`E!5Phpqp7J6SYs*LU98`Q7H*#z%%?;ghm` zSHJ!4<`b={)#*K;?YijSImMN9s8^d8hlv#d*DAy2(#cyz^k&5Q@L z6WNxDF0n~p^5LiG4!66_@_i*rmWRLZnQFxp$@==ae8cWXI?Fjo;GDu z`rDKc5rO$jp3QCZJCaoyxI}ippZY7gpB=FqvaIxWCCIFDTq<=&=tE1#-fs+D>jk%7 zZ@Duq`N+cOX$y0gE}Xl>@6x72C%kR!Iepc)gzuC@-35Jc6i+KE?6kK*DiB@{G6@*nb#wqJd_GnT`#zDpH$8&7lnOF{H_Yk zIUSKgOUtALS-5z$KODZ&6MNfGSJ@}I(}Dk}^sIRvZyK2L-#v7fXDeQ+V_i8%ubtQV%H*xx!J-*Usw-Zck6*Rx_~ZVmi{5N@ zzWnp|&FAci$q6iJQz92;9_f@`=9tDZEi)}mV3(te)xpOb3llXzXt&4R5ufT*RuleY zw$gNq&qo%{PZJLKu_nZGvAn$8+}FkxWuNk#p6ma-RbqOcPxgBj| zxgYh%T`3p(b8=aVb+qNL1hy}{zie)96#LRyv+3rHWlvky8k{}xjJcEF$GBrIOMpgf z#c#)qh{xYPM`T3j{ce<8T(Kmri}6X~sS|6ivzK(WH!pFwty|z3THDzlSj_g>y`E*A zCeM#M7r8%kW$iInN&^J22veOnVUPH(V1?0d-M+nX~cQD%ZSWVFw92t5C_ zPkc>)=*mSIcKjxdOWPIRt~$6)sB@=LP?VsS%DSmZj~A`^Ab#i=uhphx-5(jZJB3}# za&CBP=k6?%IWjHzSLEqUcMP_zHRa4Xs^r`-@wM=yu*L~N(}K^igkHMiRahKoR=qj6 z?qu@j;B}HY;`cSX4?XnSSQxmjc5`suO^~Q`(eyi->6Q(f?j(i!E$G;5l)G|LXO8JR z1LN4Qzs>|*j$a%7Lb>pB_k;V3D!!=6)L-~NS7*i?sXbflWmKwP6sW3i)tf(a_UoYV z%dwY|r@fZCDXMGT%X{2+@)<*0?GJ}k)I47P?987!DNgSEx`i6QS^w(S{h#+Q>S}{w zcJ+B3W8a#|f9`+cQU9c??uKNiS5wXQJ^$kk_xI0s_su(W{)+sLdl&Mnnx)DLIn$Fq5#K5JCc;mmK`3i{Y*`8p<&sBmd@uprcIWZCcS0Tk-kY5zC!A{N$)NenjQ-Kva#!x zj!Bcy#gKkw6Bfn0(_CgZ87;pdwCLv4%C~1{Oh4n{>vZVPH2Gbf+0mIz*&& zd*ox9(34l3Mq6iPih10cekA8puG8)l;l*2bB+Ofp^5l%}id6znB|4ui2yyi(nJxaP zI#6dvct=^q$qZ}dOB??we|1}3GE+_`{)Drfwt{c`6rHn=t6QW$D#T6rE4X=mg@QH* zv%c3HVQyu)xaKWeb~Sz86zyH?;4K&^Z)59g?Imm6*QC&+bU)v9+v{7pyHkI7xX9j1 zZWlEz*s#LU^}4KS`o+(OOiWuFCt0N|h?(CgW$gX!`T<_t!=x`Xz{kOsJ8LVcpQ4!t7^>|t*OI*|lTJ#DqY-OHte}Klg@R zD6%>3`}f4hOIP}twTs_Qnd4@ssC9I~LH$)9zv~|U8l&v7R>$=1m5p~VY}j)oFEw&T z>qf-HuHycX2dPdqHRp?Zt;C%`mz3Mk{NURzY~E=7ODSs?iAcm*>ZF% zxA9UY z*4ak2LO;uMWTwt8V4d<{kN-3_)@ciieJ_2UUbACbjG7&z_P4mG$E72t;A&(GyQVx+fAp_1fH?Jp3pV%k&f-T&adT%7|*Mmx7@3K z=H5NI(-|>O>u0HNsN66&HI|R}{+XKVUoRivS$yDgkhWoTo!V{5x z_zF5sdoK??#bmYX@cyy~y*DQ>sCrPSe`nFM2OIZXd+*0M-F=r{2`kqZ5U!8t10;RD@jSTl*~BbMous%|Xvr#a!A}U=V4`<-E3uS8Dy^ z6N?LH>)d1Ooo_C+UPxRdq^!s@`0>R8n``oI$BJtrzMuEoeb*~}{na0J_Dr_(g%rg@ zZ)&ahxu$d@|I|s-Lr+$9GH2a5Qa<-c+2aceH^g?g#2uNL@4C`@{>^Jy2Pf%W_ilb& zvp#Ebb?EFXt7rX;d@i#tx9;@A?Q<6Cmt`A1pVz)TP{Q{zuT!2tQKOx`sgs>V&VH#Q zb7uP`HqYQzc&79B51Z?J7FT(m1M$3F=X}>}aJ=|+!HY$kZYUqLy*{^n@ry}y%lnnJ zy%)b|X8f_*@#4;vVrCjv+^+YREq=Y_ly}kQdb^wdekNS_n>8VL;;Q$bA0D}oCiQ50 zZ2ZD`D+>O++p?>>(%s%|U97<4#|9kC_l2dptYMpS*Q;(Zd@G-`RHV7b#jVti6w6 zlJ=&*#?D2xTi>ld&vy0Y$AXssbF~jod-UYG|2nzFI=^i%v~$T{PIrQ`BOcaPmSBM z`K9=KzFW`REd!J$^M6#+U-`TuF=5r_D8rcxugdu3pHSVMX|?QjRIuzDcG=f@^ZrhF zJTq|B^RkRztgSD&ypDIYHhi_^JFaz&S>p1kCDq%_nxn$ZE8d4s4!-mI)5deY$9EO| zdec^zbbOtxb>``Uw-)~9Cp)_>xwY=%#cwJ5XMB9`qL%zrJ^ju5)-#t*`TdZs zWAy6nKGJw*>i4N1UM{UazkAWNc^1Ea=59Uw{^Co?=$U_f*4irE;jTIDXJl*;RW~J~ zEwdsmW%gQy&4&#>o=H;joX7aBWq!w;4eCbLI`)>y_4+BdBFYZE|G=GNr)xJ~Y`%Z@ z+2u!{Ul#hDd3KJ!_nV|?8Up7ta&6^>)S0(G<%gr(mtF zt;k*7?+2G0=i)f`YOdIIjvvxZL8j}w*1lND(eJ*1-1K6j zg5sj%;_B|3&Q~sS>7ThI^IJf=;EJ7(YjtL>IV!*MZEZ?+vnho6y{A5IEfkq#Sg}riM`lj? zzURLqo%EvD30s{z6Eio=()zyE!LO&2{{E7S>zcRb{XL}G$! z;%T2=i@wia)mOHz)jGP_()g(H+Q~-|9}&*69ULH4;DR$nYiK{_K0`ZENAQ8~f6iEqhy$D6-s9 z$|6-}o!i5h?P7{H-hxusH`d(d>N(;qtX`mdS;1)aWY(2;i;|tvPg|NwSGIRHvtPc! z?3c*juP9ystB}J85_7wy3o#pPMW=PQ=^is%}eX5qr7$p;+Yc^?iG6#U@|( zxaY<(H@;=x*%Q%Q7v{(RiOA&L#asD%@8s>rl|D6}l=k_R|7L#8ifGe~+9K?APEqE{ zyf@me)qYIYj4F>m`jB_+@4c6I9as8Pl@Ytq>cggO4b^Jtc|s5JgOmQQ>bT<;7ppn( z^WAr2g7)-PB{YqEhxv$1IzUz5IT0$9r#? zd%{7xdJP|CTbdo?ur2?4+tkfQG;h6EbhuhYcEB}VD^2OtyT!IkCXl{__oqIP)!UIWPX$$TKH6vtsRnlGWkobgf*a zpWgXwV|Hriq37l;?<%#Phd3Rt3)OzkWs-Mw*Up`-jpi)xZ^}zIh5z{Tm?JLdN8Xd| ze>6Ih?|U{anaa9OK4RX(nVnO0a(f-NMD90zv~okm)@vPEpPrvnt-r6m({0{_Ke=B@ z&wsx0;`Nt1U-SE}R%@}uP2IQ7=X}`ubw^H z$5k=xbKg}yZ<*8clUwKH>m81}T#I*qi@bQaP`KFU`$K+_{jK>4EP*lV@;Ybvz9hze z6)<0zIQ6*9F86EGgZDb!N~v1YF>mXcGd(&AeA9d-R1O(zT_6&dw*8O==i>z)=T~jk zc)q*T@WsUQA%R;~t$F=r!sB#iefjQ*M|LhYja{62e4>1$->p-3wunY1PT1WmleNOt}8?YSHC1hXz>J*6nk{l@KSOJ*5K8ZVv~ znmJLDTQgYn`AW^6xbtnwwzJ}1*KheFmMzMeldxUsa#66cSJL^un#-GdEc|TlpFMOy zbwduT=PfU1yZy_;W?U6;aDSKi$*qN3@=!|YF3_^jG^X|0YnJ79Ocr-4Ox4&dBRXH% z_rS4UdB_5U)X$3<$B*a|Dl-P`oFKkZxeHv8!8tHpO_ zZ~1d?;q?T=xLItLv!49-?VhXn=3!}5)yXG^PcuZml6+!X`bc3zj=tBXE1w@JoM}2@ zGWW#kKRRDBU0*lt`5WM*Eo6}V>uJox^REj&HFiwn(%RyG>$v^@w*gH2hZGOVFV#4; zS-Rqn(DB+29_Mm6`@e-V^=LOOwg0=rDdCscf=t1JPbwCb-3`HWZbhaY-zL0t;mh_3 z-3R!bm3f`bjhL-tbuA{Uu5VawpVOEBQ9{WjF74#Kc8e+%&}hc`yF_7_WnD4mpkQn-8mDpeR}`B`OcQIdWZ59Et%tc=Y8Xj z`SbF_o2!}Ii~XMLEHUvjO}P2EPG8nXFP|gk&XUK5kMCKlyDzsFnCQgMp7{UW{4?u$ zT=fLFKd>_{y8V)crH6~H%TxK`3={L80)7rtW`CRPG*Lov{)*BhJKpJEl2%XY`Yd%w z==Ih#*?+G@qs|v8A59K?TeG$3+0BjV=VYFK@lwp?RrUS#@?Y5-jzb|cl9_XPSvhcols0IUMtoX9Oz?@`trkH)xyBph2mn;yQa;GIP z_^Z=XKewwKk0uw|&*{6|CO7eIaEwpelbr_(7R67V8>PGC+lSZ!KgVS!cP!*zX71m0 zL)zH?=|-_9+hmmaY|XiIwRzvFlunu^>K6Ctr)P%M!o7$7e%^E1JfP@UuT%ir+ed3P zn%(^5H*B|Ks}sK!TikWf(PC!bp?^j(8LsR7Z#@@J=smd3_;B}|CsF~~xgKAyCIqW8 zeH5+KV3G`*ljb?)R;G)9hRK=({K3X$xyQHk81$+#t-T^qVQ>G-V8-Ja3k-i;_mblZ zIdr(UOKRncJ8IjOeksnkQM@fZf5WT^FCIPgJ*AV#{Wf%d`l4MLcBf;ko_)M9zy89# z?dSbCOmAGS?B{gtaNx*uoO-E8*If37*tWf)hI0R8q{Z#-38?zIzs$AoITp507TvA=dGbJxo3pMj@8E8q8uYJBS& zIp;>5cA3rn@;^a|cV}Ac%4yn{I`ialr`txqW-}kuVAMLIF2Nk)N4jEun!Nt2x(1i9v>w{ilA<(Y#ix`eO46`;Tn3Va01$ zYnA5bm@Uh+Ow{%<-t_ZF-h)|b0@f+UT#JtKzCX?OUZ>lxzjfQwZSpfV23_NDkz3Yt zrmEIqd4+{X)#Q5x24Sl&dFGd9om;?l`uKxei@vUI`PpLfSy}R)@Je;_iDngRSe>KW z-b&^PE!&u$u2vDz-j{q-Qt(mC{qL)cEY~ZA?hRSt(9AMTu4&6^w%cAR&rW${x~`b8 zBdn{pd()wK4r%ijC;GNNSe&cwCvtORqWan`Pj3|pMEAW+*F9Zy_{O$tDjN(FP9;A1 z)v_a0Vab%I?>yJ;47w9DGF% zyQ5luDw1zO!k!rqS-Nh_uG=TO^s(VYkJ3#pPnTbRC~_-(+N^(Bcb()rXUDVr51VT4 zJ@?Ah<&hswtjoBWnPZVRE2ZycWTUv6p`+J%|C-YpZL0G6Leuwn%xiV3U%T{^-WH?N zKEn4^{%^NA+*xzF`_hpj-R_)U8{ditXNG>iHEX_o;?aWt0qUVm=MFpm@B1@3XpdOe zvZ;%|=16^?*xUbyRg8Tv$IXt#Q{P`$eWP>#n`yh1?ySFB@alDS_2e&~S(FwQa^A>4 zmiz45qJ33diB;Cch5(f#qZ>_LL*^RjQ0 zy}GsSVe8E6TuI7C(M#UKx9s16uWfagrLS!0_O=k7T)x>(w&2?IEmM4s=kI@c zd;WIC9kR6>POO~4=hVFRc;SETq%ZTCgX3M(vx*{5?7H&g&=t$8nep-cm$EmVN)6Ew zP_BA%L$G_Tdz9D6BT`ag<+DMBar{Le^f7OguB5S&J6;_pKJ(wx~Ze zBz>Xal#XRpG7A+sUT#ylB{IeG=rn<|>ueOZd!;Q=Q%tNo&42gE*0m<4vX?&{p7wlK z+@lI(&Z4g@Go#L$aI3uaPBQyxwlMa|YM#UU(kGl#Rd(0XeO7E`D0J2_bd~t6+mCWy8) zimRUMY!&2R?-&*3F0_29<$|RhEBNQlTPC}-Ptx5{z-{9D?Mk;x-%h)0^e5=oh1zf5 zmu!0NR~oeRc|&H_I~CQXmmGH5F`K5TMNaxTwJ4YW(8)4+z5Xqydc2K=4NuDW?EIz` zY-~Gcizn~RwtZ`VRdCc=vwi;DcH-~4&O4JI-Fe@0N$_BaO>cqc%7ZU2x0g&YY8GC# zY7o zS-$YTPHaiXmN_gFXCGU8rN_v)^RPu}kb2o-ogCN1iF)T2v>)nvwjyi`m+1|0*Y(Sl zyI-reO?{UoQ4Q*+UkYUAtv{{#=lFkv+4En{-<{Owx3PY1+??WY_I)lJ97{_-rLAUF zFMry)m8;v$?w|-m$HX5Gi#`SK_$6^^htR4YOEn(_xiz`&^vKp-a^5`3@$^R-^RLRs zy@T!f)|}ZITqO0gWravH+x`{D?r-P0Ufip&b<>qC!7FwoN5my<-=uTq(2WTp?*os# zlYA`N?enMCMCUDwWi(@XE_*fOpX*tMvm2f3pJ)VKocwp;5sn)+haTN(oq0*5UER*n z(8oJx+RTh1$yo8k%=k zXS}fa<<&1U^{GIir}HGq1-jX66W8jvUgtS<+OqAr)x!BKiI0AjJ&{!0nK5hO!&$lu zvhVS1yIeg-^a*2Fmx1A&3!9R)OPo&|INO^w&&ZJuyt7Hi`mpZd@Q8DJ7Eiao{LyH^ zyf{14^a-XMAJ%02sFN0ATP6Oj`v00U{rjZ|4iO*K%h8m6rLj`^CEw|diBebpUp%1m z$3O2}(t4?-wR_F4ZN@W3Y{Yf~%NTK-iOjcPukL5UH*9X4+oadtmY=ro^{>o?w!jCK zE2qxTHRrHBoOQHwi(a_o)Tvuj__yxBZjyzp@Su2%M_U^-Y>kr4?cm~*ha8X^w6#ge7?sfU{ zhSSQi({*A@FHJpFt*hsKuIOkN)&b(FQ)_%zFZE=tIa|3R{3N4}cE&lcMah!$p8wQs z{*V&*BJGL0_UBq{A1Cz8>znIzYbrh=;MF=?`G!q=$CJ{O5K0&zTkPV(vwA6 zw@bw)MK9I+wlL_^Cap;QLI>X2Kh{mYktZX?ayx1Ig>H+_Yc)!r8{dx7jkxr*Dzjkj z`_SB?^;wgvLXGWT&pEvHY`*26X~AEP=IK7W^ZA1b*W%1wjwg7X^e#MK?skH``E7Xf zjN;3hIReFuN9HV@e}BP?$qQiPzn!9H8oT5~Vnf8LRdzhz^|?SK_R{+=g(<0-BDDq# z^`;tD=2s7~xu!3Cal52sZdj#f-naAWx9#P5cE$4+X$5_)wVNYx%g6c8w%6KMghl)A z&kZX#eE;J3iLKm8H8O08531W<-kv6H-S=GZ%Xi)DAA~P|ie9_u^#}j&yZQdNv@%)* z*qBR&u030ulrzJZYmU$?{fHBJoF{93Cax(9){~Kba!=v=bf`Dra(y567pL9`n)Bz^$*ajzQunj}3V4|O%jd=6HqHtb-y0j4wUgMdb;`#x z+!YNyYV2HIdzh~#I%@Cwxq=buTDDV+-n@Bn`F4v=huyph_4$_$rYNQx{C#xS@%JAC zcCVCAiuazVewESZ@hJ_{Rx{o*tNA7G&J=Us<0aAAtD65VNWOb?vwV?_vDeo-e7^e^ z2*f(Rl-MY+Vc+qG5l5>SlA~spyuX$faQYS7`@dO5UDfe+*LJ>)2=|+R*TC=1jjhS* zxsvN-cLfR^*S)?y`EtRU3;I^K=DiU&{x|nT%9=k-zo9-#GOoJ?kyw!?*|0Ws_z$Ui`H9h>_1>W98d9tTScXI@863 zJwNemQ2*odq{VjP&BUK4C4W~dUOu)-xUM}u;dAE4pId&^M1jYOr_J!sepVBeB)-|D zvBE9;_0I_wk~?(66E^-$m=|AcC%J8xu*S{aC+zc?|JM7J)H}Z~Zg*q3^W(ZP(`N2T zk4)9~bog5L#I6^$+Lz1T`LsIoikGauSIu#w(@Vky?(lN1I~V!d+D*!O;(Vu5D#y!D ztU1<_-k+pjob)(b_28)*uak|FV?O<_EqYx0{7A{WV{DPz=C(FxV@jqrztH0Yn;)2Mc&6}?%l3(s zAwx!c(FU2!A8UU<+%iSk_i}bxvUi%t?N!fjt+Na}omsi>YLWDW-lb{g+g4p#Jn_1g zT$xm~k?pNN)5JqM&dmuwI%)Gl9ex{&)RQ;W>)fBTX6L?K_#$s7znX2BLqXX4Ej!!} z+!vU#sxmak)!#MX%l*w)Q%vM=8SYCfxr*Pl`8@4kKgq{dZmwC%s;oFs z^J>fW(uFzq7K+*)->(*#9lJ_Kzi07;o`c1I5BMfqf404UUa071(cBA#Y0qA5Id$`A z80WfpvDeqXe+c@LQp>OJxboWff^#z6M{Dw(KRq(I>|FaPamq65`G>6YmaD#TT)04A zXU(h@>G*|5t&ex_V7%2WEf#UG_2BUxar<%~x22g1uL;UJe1FpGNqd#_9V%-M-(36r zC-<$hN4+~%dz-Z{jk%I*U>vnfG<~L|>$cQ(-NPKr+MLm8Sw{-zthe{n%?Z_FuxtmAF|JjoCBVCPvQH@pwB;TG%T3+{&9LtbJr`W*n0%;HqZ$Qkqx#IlbZboGMX| zh=xWpDztlj_XS4Z);q?Q#giH8XA8X!cYR{^>6KUKocUYUgryx#OIkiNJ!N4k z+p?DuEAxN$C9`=8TSoR5t~GhL^1=^6lXHS5e*626)y6;iFmJ-8+#bRB(;E%lUhI5* zf1Tl@l?BzIw{{sFjBehPchU2v#_M^nHwIo4wfmpTwZXsjgun8Ebr$>sY3up?mK)Dkt_W_8s5`V`-sHtqu621=t9I|4+PKg6*}L!FAKzWQJ(FLdvisPC z*3Rr@eeWYZliKo}TAXj2CmsL3_&{!DqNY^J#3u{2)hnk-|K2#WDlbEQ*~DXUk1E4* zmTY@#)%fz5<*pk0lf~~8E5+0+&nbJ}3tsrKDq^?L#OUrvc^56K^162Ou3UV)>uSk; zy?Al!%va7e+1edK%ACPPkA5thZ?!Bp+A-qH%43>E%V(X4+}tr|XVSiRD+MY-Z|&sT zw5=-qp{sgoaz*XDJ~EDzFhC;@3@nupIV;eFJ50g@3>q1^5^U7i`U!> zR{XH)OKED=wyM&*i;6b|Ubj7;ym;MhgHr#FW7&zX-c3xp{>Wv|ilYrGlThLc!xY<8?D8wq^8$Kec*Ma^70~Ny?e{ z1kbqRyq9!m-QIe>ORjJBjK@3q>lggctzlN~cx3f6A+u}&|LaxlJ2-h)+dR8qyJ_E? zSE85HE+@NwS(BQUmcm%LA?J{SVB1R8r5}uTiyrfoV0Wzwo9k+Me{Hv8f6cP4MWLy& z%iCq_r7M0$^r)PZUHei>*Shb|iK0tk&z7w{!PUG*RLXIRW!@3VLx0)ZgGyMKJU;>uWP)z&qR34TxH?!oA{;5 zOy=dqFH!#&KiwX&+9QE^x9H4ivu6bgRhK=PJuUS};iI2b*VGqMB)+I`wMxlQf%ad?y~9=hv*c6BplQ zEn}eeP~)v~K~6X4jeEDHmtHTlm+7y+5V14slV03`sH;z=-u_@EJ9&E#+n-rJ`MO6>^TgQ`#Z;EPbcuVGzR+JgO8m*& zcA=<=4U(7jpL5m6wNK`E*%A`4u=bMOzn}T-LKOmhg8wvJ1Lxg6@OZk#yJq*IH1CQn z`-Ku>1a0{`P%<79kF^7!G|yh(LFzYpIoae1IM>)WrBdV(x(*2-6;7^KH|mtsUYPMt`o`Kb=p_{@we(MGh_x4(iWuTO42il9!|B%kTXGAs=L_ z5)C>(KJ>o4W6QrSv#aNu{p>SfyS{kK@BMwL&D*a(uK#j!|FVtF`~EGDeJc6lN8Y;U zr+c2(<|jm-?mxCI%yia)=qi&nPtPg5^Pl`hcH-JPm1d#bE1uUsoYPNf;wsaaz8Cr+f2;_}bYqq0cw`J8khZbmwxOo&T1{mNLDVBJ+Jw zpvA7$GbYvPugaMn^S{-%>yuGtOm5b(MI~x4&pOWf%El2Xa-r;~>__Q%R-q4%r!R|| zog8}H==c8}_7xY*-`)N%ds*-8|7}lmzWrCXIPq`&-lxB}{0q*v;r(4zZsc3#yx01T zf1|<+_q}zu7&d-aQ#pTOZoIj!(vz%uoju8t%hq1>{=!xNM|IzY5}xx}ro5ldI=)Y< zGJfpIJb%lXu*+8@&aTY;8~!0{|JM2+S~oc3EZ@prwlOGcV!nLGuxH!G`$i{YkN>i?xLWNx(;ZrNY_;=TMki}knO&YhOXYW;TGTNZcS z``c^Z@87=Vu;Za$3--R_U%X-cU+%xRRi}HjXV=U-ac|Dob;}nE)P2}n$@6!o>XF&D zOa7kTFSF$0mtW?0Hk`D5I(>(G1ao2goXM}#GwpegudLAi9=+55en?&Bf2UvbU*~W9 zol{U;<-bjS>F@5d(ZQ18n|=3vF}!m%ABLc&y0a+k|7MY@<11ELDummQ4>!xG_6Uscs(6BK(tC=meA@y6moAva6$Nv1Cf8y7+_&fh~Pv3j<-@nkt;h+5ivumFVN_64(G19 zUA()5W6JvFd!HOXYUcT|wx)esk=u&%o)we(@()}54ZQTk{_V5(XM{ck?q9aK%(3*# zWxK=iSA_m3ximcc_cnKOqDAPBd#i(Q|64b0_R3%RU1?drpPtTT{k(1a50j^H4<}FE zT~Sv)`(H(YIS1$71h1Y$MURBPob4{`n!k`=XxW3~Co{aJ?XQVF&Bze6w&c^}a#OPx zhkAFl@cq+x{i=P!nnNnGr6-qee{%Hy{JrV*ez$M@O8*@GX2<2u4+8c=<~ubr(>M~^ z-zR-wowVh0naQRt4QftGQHis^eXIX}&T{vpF#QAP9)C;p_fC*cKR@sLyx6sOuD|AZ z>Z`v$+biEaDCpj&#tHMCPW06N?m9B3Df7pqD>e4~Hhd{FTdyVU=(*GSd$vjZr0%I# z>)GOJVmJQ#UG%8$nqBf!@3N#_+XcTHu4-0P?%-US%^W|&>~5*>^Lug1_cS%m@O-bk zz*=_4z+RvC-b1cgM}@CWc(8q4N6W_-as_f%g#+KRZ+p6R+UY*g$iiUP^FnhzORq9~ zYJTanaIH%p|NoM#I<}W*e)iW}x!T{nWAE`o{eABJ(~J1RJ(xb^74G8UT=ey~D*u=1 z)7@A3@2RXVXIOQ9I^U~*eZg0He%~*wlDz%l`P_t?Z9kW1CEd#gN>`xO=@KW83@+Hp~mW$7QI z1KB9+Iy^L7Vc5Bnmr-fzB)yt)7UIr9!3-~9aS<>mjYF51}I{S5#7 zM*~`LfY%4$gc^W9%P|@&i?b+!T&!kV6+pMU%DwKV{t}C47TK2l*)Tf4BCLiIq{J!{lfgO)49d`I^oKhFRn@qU`S?UHWG#g#-&-h7}q=%B{xlP6{6kBaN6_~?Y$toYyd;;-XR`6>S$ zfBsiGwSN97{~wdy?UtAOwCWwIw`O%MpFC;W&$&MzrG$K6 zb@I$=hP%1?s*^%@zgecCkvdy5{^Nqb>z?md+4|o6*tF00{r&fyw*UYA$&)8vo;>_> zJ^aUSH`~dFz6pDq-e13T>5>Wi3-o6s?hKn4F2DBO)85zC2YDT;SeKr@FiTgbOxd<| zV@zk|-hfvg+dtVdyO#uAcTim>lpyNBdfJNT!2-j_YpkVWd(NM&dvAI>{CwnT_gOR4 z&D&=#^hufflkpzI=1+5L_f{{r&iwjI=#WA}q{6y{S0^>!nM4R|D&4>}GlJVdJR)=T zi4N-v=lBi@T)7@C|L*z6-7>tlbL7_u%rN~BYVh*M3t8@EIns}&dU$Wpo&Pb~M5WroisOMjA-ILo9F{hhxvrL~23wfhlLM=7yqxuT{;|pLT0M1NU15pRIdaBh zsiJ0C1&f7*q?`KGVvbWie^1I}>}R^i_)$N4viX49g&Z%JSG%*X>G@Rg^87vd zt+sPyS3i1U*?++G=82QGEG#YDmYW~c+XpCV+_)?$Q4BAFj)lepK4Fd3*D>CFU|3vSzZ^XGz*gSY3NL zZ|l8pS5-@LuFTyd%X>`c(e}W#rfL0pZF9FPn7n9YTig9^anycOi~8GE?>CuA`$w(+ z{bA|V_vO|V%)EyZ_8xqC+jDbR^V09G>Q`B~ojyuN?FeeI6_kF)=TzOesrXHN2>zIL}& zU!z{~ow9$mb^D9TG?AdvrQ3r`4^K;W-EfC{?bAu^K3i*A3|4R4x6MX;7wf`CvscgK zr7O}?tXi{we7#wqFQ5I|h3Ql?*R+!R2CBEYS!&q!>CX=rIVL{C`=o*irHwbE|;)S-r0Kq_~Y6yRAK+*~pYuKWDy{=^ORt?~2k&&Wpud+m79seQm+z^CD_e zM{ev6+s_``zBp*%Dc^$A0nsh%PO-mB`~QCS&&l=DZ~t$ee0lQYMStz>>Nfn3fBgQ% z1LL?JkLet*gPQk${}yz&O6Jg`0DnKuT^*IpcjUZQ%ojenII8keu=YH?w1sDy{cb+B zT-SL#A^Ob0+uYwK?X{@u5|3Bu)s_B!yYJb>EYDgE-H@ofyr zLf;F>PgHG6y}Wr<)S6aN*Tl@bYg65Ca!J2<&AM6ndijsFug{;#o^C9hxGQ{hNBFi4 zx`B)`+RWz{zuj?4tn0B_(VZU4eQP&vITStn;%Oi4=${{zCr{P=a7KOB!&7WKE=EOm zvL8Ro>XRW{`!VQROzMV+hH3$KzWHr6fq^IUr_X!(?4;E7xaeb{XQxefEiPF0sPh39CFQeBdc8$I7nA?=lN6#ZeRe7H6tbECLg{`2XW&6IctGa75`W&=g+n$aW zk(hC<*^%ieGxJOT=2d2af;*Rra!JYlGdy`oti(TGsMV%jF-?E7DwD{8Ss#_lGpC1F zH2zhL7QT7#6NkNnebI#s!Y8vXwto^!fvL7zi*&gprdH(70voBGsY-KAX> z?%MHv)8r4m3X*y9v1!GEi<`=}Z93g$yW#BA8Tvn*-c?M$!pMBO+qK~F^SATY96sq} zu{mN|DA)ZcwLIPMt&B%y&KT|fppq`WiFf+Z=R2H&0O9;Dzca*V4z}iQ|L0E z<%(S|-7Y0>-pSe>_UyB?Tc1i)t3XWK!KS?yfB5dFHunU4@M4q*=z6bRn48CRsQXvm zS*cgOax+h6bKKAWc7Dsv$7k=Iyi;h(op`L|=|)yN#bZ^;#XN@(O66U7`*_|KwQ1MY zkMmCQwK})RGih0{SK8hy458~b$7fZu)mH!Ua$78~PT+sk6#erEfmJJe)MUD({D{Oq0@7uH6}Pzu!9h zW3A2aif;w-+aF!EntAQ`k?q>&YPWGPtk8Zbo5?P*=)$K~*V8#awdAXWJI}6bI*@$s zka28;%F^5${6P;U7Z%>EyC=O_l3z?fXWdI#p@jDpN5Z@_oZO-y{3#$WO=E&k z**)2~67|LN11jn+99cf|pt{_V5>}lL4hOhjEYLfU6*4zlLBmr`bTY?5(Rnk3KZUT| zaQ(rg7T~R{5ccp?pNQo7InpctR3x>Q?FuY#E@N;A{6BlE?SZ2FeEvFT(`DMTk66tK zF-XmlZ4cQ$bN9CxMP{wNX%=ctR;%7Ve8b^(!hYSI35WOm&ses6+66hjU&+G7^8_AO z9BSEmFvmXlekJcT(eF>c&(+@f*H^; z-??%pRqmRu9j*R(-R~_O=dQ(UsWbWQe55S#?yMhf8*=`xxc!QU{qOu6b`{4s> zZtl%FvHtJF-|swX<>R+79FsR`l2qOFcb&%B%$}9nAv;;Ta}7fO&#z~_%Q*92?DVy6 zf36ADWc=M5(lxQ`LUrG#(t4AS^%0LI#U%?_?`4)+y2REiq4{L`Rn4b?H;ty9yc^}s z>APXZ0+X<0U!9eCa~fs3Pp;dLyz<`Gy;GjYMjsE_xwiJv+^;)o*MHo7X*FB+QOVt# z_PyM=evA33X?guicxIMuVB$~Wi11(yR#uMtsvH`n*ZmdL*Vz&8Rmt6)A;y}+cga6Y z#+3d3wLLMeQC>G9A3F6+d>eT0tX~cH>x+?R9yGIY^v6H?C3^Krl2_=Y&jsOkwk@$g zV4St>>2JrDhIIlJ9Z$csoi_QuhMy-dRCbfFM0=1`qlnS96BEuG2y)~#FG~#Cv~p(T z=A$VAg%W+dSL$`H7>k_om5))l%YKhh_oK&C#XJsO=kHR}WVZ;4u2w#iB$IfHS(@Wl zTY|dbyh-K~s?50wpZuKG{z>?vr_?5?X%p<-{2@ATy-<~~k8I4N_a6;bq=a$`lvrM1 zxGy6m@K(+%n3>7%58mepX|lx9M`ZXIOLh%W?c%y7KGueYv_vxyn0ICZu01J^b?B>Q}QA zoRh-MiW$^gKe4HXtzo!w=FsEYhB_^dkJwT;*0yRe3a!slxU$$xM*dcls>Y70b`y5P zDT@_Mj>czoEnL;q(`=$@(#{m|a>IKz5f67h#-5&E*LniaFdluU7|#;uWSV(KKw|G* z;d1Ljb*{_T&;F^&{rh)5Z`;P%ebI~Vb8gXSkl4X;ZSF$V<);nj9SNT_k@-?9bA0eI z9scA~ricA^W?lR7^4E`h{x!~8xj9o4Rl?mG+N(VH?yGv+awyBSNid#@nC}qBpn147 zdTK*1~e00}Ib?yD^n#`_lWp#>Xx# z-u*%-i8q9~iJ_s!=GgbFw1P#)`5!Hn`)&SQB6QldO_txMF@@*snBewiq3S`W^u%M2 z9|Q}jL_W6(vJ-z>`P1g>&W+R5nVz|2$uulBVGx{@&nmhu|Fce!$leKOC$A{rKYu-D z_r+Pq4o=w-viydN#y^G%^HZ0n+!K?(yovGO+qULp#r_@3lz$z_RLW`)oY>UTq9$=L zG$ruTge%-f=K| zx=H<{$7Xnlb*wSwp`t<@X>`L@53owvuBH`ZQg0QDAvD1{73)Z14Ua5jMh9-kb9S` z=5TBq+dr>^2VOC{T>EU$%hSiSC~H1<>88|K@p7w5xmxC=9OP3;`VkxLBQfJjP}vM6 zwwjqb+ZY?CZt8wMU&?2C+LpUBp7zgg>AD`t}Q$$^jIL8EwY8V?4rWut``kC#kQNT^b}q< za+8{zd@sHB);38EtI!L&CnFS!91=e;slB^s_9W|_!lao+Kb^}rN|*m$@hlJMB)zRbwr;Ibs+8B%fZk=gkbEe&vo`A6z(mr0t~Nn9j?WII-YO!=l(K z*V<{Xc9wVr=I#2lr*B>U&sLi?Yna%7teLgSNNOd=d(-)E*?1rO*nM3yldausT8C6J zf6cr}opNt8KfQJE7JT*VoNaZV#kN~3ixpRgv|KAnvbm@C@k@Kvv3o!IV**u=$2lA- z?9M8BT3UPOrp1KwZ)Yp&g$PM@a$kKfQm=WI)w#-XXRA@|B-1S3_D6RTY-1KTNF1s% zmr^~{!P8tIG<(LDuA8UoO;?yTExM&7WYlfgbv!^K@qtkGl4t=6yUSzLB&$&s*= z>1&0VyLZ>QdET^$Qs{mVTvfC4m*go0O<8+cZ||J_jj8%SPQ77Tn)KN#kU1yk&temv z(k9WHXWv{)2(?*Z_Ss9(GfL)&v?M3XOu326t51ZAd@~bSby>wUMpQBIkK*JrA1kJu zTfE=}bNqAJU8i=>IhZ7!qQYXw@Z{~`eoc0t!|`jEi7GCiweC#8rNnExfqH2kHR?M* zdP@i~u^&0Iyl3U{w2vQiyi{4_%lhVfCq3HTc184Ku@1{EL57mwA1z8k?r8AL?`L~) zHB_y2cbdqIuJvv^=Pa4aEg8q@9;6;(may7l$+ixsHyY2r9-GRzv8IiEp#gK3iDu}m zQ!-mbmK`cvl6HN~r3<@sIF?%+K5TtUD#2-uY9-s0c4&RSFAtICd!rJn>$YUl2TR@4 zw+-1Zt4($|cX5KJh}LNzO?8%h*779^9M0~k%t9xom9Vvn?&`h%NU^f>(T!fSYR6@s zl_$d=xlKHhWjXn%6~70|(?FZOH~4IJOwnEvS%Jz;&a~d zS>cSe4QHACza*9>rkJ1k^lj0GsXKWui#W{gnCKKR=UhjA>FYX%+|1cWb!RO6b3@g7 z-6{1H-Rd)qHeOjdht6E8HS1l!Reed(an46NZ27wo(^gm};PZLo1Q5L4b)p(sxZ9((Fo@G^{hpamJucu#~^2}^I zOW1$0AEArx9j;bk{C>wF^z{=ix!2WKLyaU_-svpAC-6M0o&C0!bY@R@xV=;0cPW2` zqCYJM5=%`zXMdB~7U3-TYnl`98SY&xqNJWP@YLU%Vtr0E%5L$F=d<#5nTf1j^7n$T z&q__F#fvt3o}1`i6j?Cy&DCi=D|u(eU-zWo@g^|=&O><=jvIh zWU#+fdDj>3AU0#qpd($rSLfR6{kU@P=Yp&Kmp@5XvRd_JdS{1QE!uZ%_qqlBpQ7*W zXR%x3rL^b`+wII%u5;!znD98QywSM-)1Dvf4j*zabFce!vT8bjh*@Qq3195*Fvm*mrAa7U->cP_KM&C-~6qP zmv-N#&-cFmVd$2v^0$S=SPCY2_PqUhQsMTSgAaOL=J-rn+&@9;MZ^lxttn?xYT|we zzYg2JE^jM?`bz(fzWeWcLcwa^><6d#er&n^W`@0Y z;|+;s)m;}FOs{Qx?Y(sEUR#dz7k}S(uKM+~?)Q$qBB3L~OL(sy@L#R1ZBm%F=vBb7 zi#=K2H~&7|8)bZbb6Uu9E~#6;oNcaGamXA#q?cT=e%~4H=E?UD8(X_X|nJ+aU|AU^}syQ4dH8NyuUWTI!%k$=$Y;Hgqm;L zEniRmXZ1a8`3vtYA6fPteqNclYk^pkl)+TJw@`9iF{izDs z<@fePI)~4$fBN;LdEyKGzvB1GE3I4q8T~)?+bli%!u)6VD&lv2<2CkrUfA%tXu4v~ z90PB`y8XcwN*(5$b2+Pmjh^0H{xh6=%imVf%c^2)X2gk}Tl0PC|3xv4@85d+C+6pR zzwf;-9e+~p*Q9$Q^`2cHFHHZktblEg>&N&fQD?F@a-WO;@O#0on=;ET+)ll6J}o>n1hIN46v^5V+6! z_o0STXt3@9Ns6CgL!^C#Q z#ZYf^`Na*4aset@-O=Y)mxb5f3=S^)v}|8z!D5AK&ka{LpO|8K>;CF|(;F`{&E+)f zWR#wlX{3262^QGaZ8o#U5~N)}nt$TF>$JI3J1q zv0$Ff?K_>5mVa}3=h82y%CM#9#ny(?tEa!5DIPTC&z{6X4;HcWH>{M2@q4u}=*W`Q z8`s%~|6f=U9r{phi;M5t8_q2o=EzoNh1vYPSy{g7*$>-)KRFq5GTkb;Om>w{?lYc~ zTl8#ih?8-}uk0ret9NDE7KHZy^GdrobHAv6>>7)*H=Gq|k#qhqKX~%-=poMMnJes` z{s?ras%Q{mXrQmPeu0bIwUN`WN=PdLO8+1 zY5Lc`drE5=ZkVyDikUo?64s1dG(SYXzNydR_o14@2d%iA~jb2ywJKx%WZ9$de^$QX8>*DfOJS%&0#P3}7gB{3 z^k(RC(}-7Z)_84vZLvBiXHJ-A>%=pnrxb5KZsKLzeJ=m(r@c2{mGys*pQ9n?`q%E_ zZ{zKbFS}Z6gHl)js-C(%vS9VH$NE>^)G{`={f_bdA^!Law_Nnrxu+NI6fM(k^^)?c zzRb(Y8{?BHD|b!qk(9uiqw|X;zn%E@{k2W&3Pq;{^IyK6qwhY;E#!Vq$eb$9ymba& zg}kFOKP^6VbNQz(Kc63s(jtqkzwo>`t24JhW1`#zao?+(;#|HyI(~NkLTmo|TQwXL zWMcH!EVH>JYS+7M&i(U?br0PCTl9MN+vA@v&M$o^KG*&N*RkgUaivn{*D+`$a-ZBU z8GUu_1NNoimc0`Hs;^5oy}grHUiRbFyuRSj_iAD#-Y5Dbt)$aV-gV+-aBPc@WA!k$74HmRWE+E zU3zz6y}dib>a#E6%ib27q)ZNv?L8G$9#ggVlSUO&#wPV?>0%k&Dm`p$SsY$ zsq-bO+;#8%=bTYh<)P31>+aiMUUB8^UK=aRJD*hqtkK1g14W5esiv*v5CIsJUgU$8i94zqOZi=ugvqOL2JJ^0Hvv+>gB zUva;Wo?N|lS#R6-mafNBo~Q3->-K6bOfAdZ@o}yfH}AoaE!);VinQB1(IGlFVCG-r z1|IL@uRA2ybv*tvNw~66&7;;Z$7#Vbo~`R22Uy&}mRzq`&ZdG0={MS6_ROujAz!t^Q)plPx!z4|Z#Mn+UghyU)u^rh*^0$^Zj<*Z z9eyRhmACrGcCELW#wDgvjcSv#3uf;v3|jKqn(?y37S+X*w=Ra;vAgGU zj#T}5`R(Vwg2TV;O?|lU%$@G}wyQX{^5|XXyWuSUYq#B6@mqF=ZNTSCrmTfeJk2D( zu3xOPH)Ol|s&BuOd3Ou++pAnI>3JUTAu{5m*oQ+;!GIlu4@t+ zw|^aITG@5&#!1FF>uVg94N_EtFKl(I#a3C+Ss?8i{h8o+=t6{UrX?iw&YN9Is<` zcHa{*2@8<9xJ>MW0>?EqF7@4~EwV5Cy1w!A4wp}cVw?Ir=GMRCf8Cpwa;p1xf9%TA zl2=!r{VFca3}DzP$NcdqTY+C`XzWdTL5YgMLL+2^`l z+Qhjn@&_mXy?<>Q1^4zW^UT|rtNW=p`zh0QhNqF+R*81Eg$Qo*el6}{ySuLY(Vbm& z8(eOe8gJcQx|iuj`t{t4=eWLhN3qO(eD!GYyk&Qw@lq|fX3Djbs9RjkClX5Qsevzd`MZyixxbn;rhX|-R!NnJ%tnpwrCDf4QY zpZ}QuzsJY%)VqgMj=1+rhlWaKr8cr#zL1rlTO!)e5VdFVT`{k%Z{L^S&S##*>)kO? z`S2O$54@~$(xzc1t{01f=B?-ZsW{hOrq@Grc?bJkw&-2j|+eeQp-3duk)H1-^uc z-DH@W?r9@+sq#{W@#?7$(=vQNKV0y|hQ)?iy`-`GC*LlW;P5M(IW3PrbK3sZSo;C@ zk%rm{+;1B6t2{0QuX=A_Emf_jdA-;1w%ieoN5QLf`M zH~4kE+SbT;({a)>HrHU;g17F~QLhB9oGM9UnW%M@smr`!mgc1M{u~bdAx^PudBR5m zdl|*f9zVIhc%@73qJ6C&QnL>%o!!Ox#9_wQ=Uwmmj3#Yqe9kS}DCDKYwy*h3!X9@6 zX2z_ub~6o2^&Pw|FBmp0S;3{y`I1{t*6|D1<2#A6zmB-RkK5jVnnfky^_|THQBRBkZH}y3NoI_e;gBbdp}sRBb}_?NADyK3*` zCV8(Hw;xRsS+skH4EuFau{m=Vdju|3(%6ypHqOHGZ^o)^$yJh9^(KApo|XE+Il`sf zI8E%B=8u3^;%w_olHR2yPnI^E9?k2T>>6{hRN%7ooXk1)W$G6@&SY)(zWqzAW}3VH zwbe81C;Tc~6s0C|CDHx#f$V$pKWs~>_{RO4IsL}Mn;W=yI~Tq?aaFWW^OE^X^=tcY z_;~5_QRnN-jS+du*=N*Y@IGby_%iB)rSFI%H(fG5+58Em7 z3Pi18dF*)SS%IsgCq|30U|1swccTrJw zji;yWyPOYtlyp4bFhiteUTH<(Rn2bk37yQQ^J=^Olar1M?R8|SW<4(7C4c)zdBWs1 zt1r)5>b9eW`PGBX{`>ix3vXwi+k1YJ@#cd9n*?eO&7Q-|$YYz88s!!7|Ka<$vgf7= zGe0YFnJM2gXHvo99}{X)4Sd@iUVi`5Qtf#4!5m4Kvp-gxV;wm94C z$$~72lv_Ef%SD~yenncj9SXdZ`|^RU!op)-D^JHhSiY+^Cb0D3>PYsUv~oWW?Un92 z^=m&abDO%&^qf_!KvmKU{>e8sbG~jYocFuET_8e*OW}or0YjkK{A07`o7DQ9SYgDJ ztF`a$r`^k}N-STlocH~TyAiuc!lF*T1KqD3GhQV}IlgPyHusk9p6f5ZD{sAiWy9-R zR~a9c?YSFypu}SKx4P)Wh#c57AjGKKaAZWvakg zVTOq>4(lw)?df1px_UbG!Oo=$Cu(h$i106(H#6O!pm*u9TQeM3Wcjitzo|( zJ9EW|?8saZUgDbi=vd1cv08clD)GN-mV2jnDWpI7V7Mbpn#V#g>XPVg{w$vFXLekl zUw!q#(%%mpL)OnWWM{1Qk)5@}%x4Ny-;_J5zL$?3ocPQmls9zIh8T8BZ(S+#!+KH< zoNGNj4kj|~H}O&VG(}^#$A!kZUm7fwpWN*0`+n>A#cuf$A?B`MjecJBA@9HQ@4nCA zzh>Ei+Fi0Wzf%9LtYYGn4zEyJYp&1V7qw9TL*;_2hbNoAef;x1GM^ z{&CUmRjSSVlRvljY)Q-A(sqPz(Uk|nY7cTx6fnHeTVFA+s`tc<@bC9bTGeLU_2@Ef z*D6}O&vwGX?J}>}>MnGNOp@Gli~U;5rSw@d%sOWk{h8^y=Zfj#Ulnz{(;kW6WiFWi zK)q#wY*`7Hd3<-&+`Cd+&*;frwZEHvdHX^?r6>OUnqP|kHio`;(f{6WeRuY^?o}2U zp1cC5PEGxg*Yv;W+*;0!tYL0?C$y7`wtYM9Wy5mfNahmtxLoUXiP!4+#dTk)8|ON| zUYuR`DKLmN@w{Bxvu9zwg{;qWy8SO~sFS+Awc#~K$b_^bkB)qJ>n5_d`{2B9r)7dV zFN89B2B|d^t+kux5_!PN=jM5f?(|pIC-{xzm7TR^+N|!!u*((SO?mTCD#M)dDC;xF ziPh<>GYdtI?pf@r9e%_;qVU+UmGVOK9(hGY78XSR+l_WI~cxpN!7Nzdt?CF#`i_sAlb*}A7^{@bQ=&}5p*WusJP ztJmkL{d^YZFtbHs0%&w76&ZvU(JWYrSU(p&6r@2;EdX`(S<%F?X@YdtvTnt$|GIQ)m9EnffoVUU=o+NQzgao;-8NlSt->EN z&CKEqJ}fmC!jw4IeENUxxAN*eVSx@>kDvTuN>+B*|7&7N$0Gs7bpkqj8EsV>IW6@s zl*h%by1nFd&b@cD_sYF>5?k1#SAF|(>gcm2=st7jjEyrmMES?2KwR z|NHXyn>5`;((g|%PM&wu!Fx|o`>ze1S#H1AYV6CF>$cEQb7tuFzA>l7>}~pt#B95z zD|^13f8sM)P3qYx%=D z3)kJWeln%@Op#f@A*F^-6AwAA?z+>He8KhQr0Z9gT{BoIx%ZH4;Zm{o)y(n6nx}IF z+cpFw1?lLPTc{-*O=kPUn;~wQs}oYfQssK}K(*`MrIV}lidU7!+%*pHayoj%&{Hcc zzB6vwi@>{*y_XKA?Nun%msFpa%%?kH>A}an4Rhxm2{!0mrJZKy`c+`oLgURZZK|2G zT}+qkb}TY~@s@4l+>V+&ZYkEK$&VMiXt`7!W$Ku$HFu(#4zHQVqD%8u-$*kxeAaHd zO;vdB$yvoWjTZ!;*PC!*-lDBfbL=*4y?(+~B*tjTI^ApX(tIaZDJ-`>b}~rjn*N+G zOcn=L@6o!^6Q;fX?4B3ythTD@e&(l^@K?RC+tJr^bc6Y;!*T|Tk6S7|ZkuFtduo7s3Scg@DbsX0NbeG?8ZY+EXI=}=@+ld^19lh&q0mDiUP#CsLiWHg>((pmVv z{$ly26AQ00A3A&WtGdzNsi$u54UtgiKea>BKT@3QjgaCgzDUCb7WXb^Z`}Hd=gx$A zQ$D1b@EE|y8n8KuDayO^l1Ud#Mb0?eO+$obtt$f;D9V!?k4lqPm6!QpY8m9 z+A$SlxAXI+lyATKOYCF0V>7ExO8-^EHyRvP|93JJelj+YI>V7%oqo07bIF=43->2s zjm@IYf7RXzpHDurgh}0;@l4s{8#-@mHa@Lt3y>3&%z63b`NWpSlT4FdS?+z%`N3^L zu8{KK^xZOhBc-{n>N-iqJ>S4=8=&U{+_HwC}+6R+s4Jxsz6leL2_1^D6DSaJ1vX8NYgtgyemk|34{r^MpmCCzT zdG!ZlS?v3Ag!no3JNoym4B{-GaEfC$zt4hKhpVgqoc(j_hjZdSv31JIJjM6tK7Ltp z@1du?{R3=S(#~Hr^s~)|U%la;-iLK6u68H6RMrIh9(W|TOdv+8ktK1>vbqfg=eFvVDg{mMaTO?d zS$Q*8-rYy8@ZhbrcduXkcyagspu1vUS(5g>krcYGp=ueqlJ7&Dww2};fBQYxQZ#A=&0w2px*l|2_pK;is%B!NqJEA0)eb|#e{i^#*R+V!Fj}%jy zC-U-qUvO4ySKx!37iaJOXWjX5P4vykGv97}{o};f*CRSP(`pVs!;1-fW-Zn>In+5> zZ`S`srd+lRH(vgn@-A45M>E}QOTO+cF_-mR?VMg+oD;4xNSR7T{cD}m-a4W8;x~=s z#)?b6+NGa%(QHh!&FbB>rSqNx50mpb`)T)O&n=f+w#z{AWLuJrTj8-db%`Lwo*150 z3?e;g;U^hHJQjonCpE8>UCu2V^K$CC*4Q(t_8E5t=JEJeZ*dP?^5YQW%t^k6s+Eg- z4!nM?XCW#Uzv$uu$;h6it^c^&c(*aEnYhE}-2WNb0!u6|%gs^?zYyGN-|&->ovFxF ziucB?w_gHJ9oQxvv@Ps^sjzyKo!aluTu&t$U$cC5Et%K+dKq8G;cW}291QI+3-)|? zNZHAC#|Ac;POkceCpXUHxKw_2##N(TdTPhwb{+^|R@Kp*yQDzwPgl2A?jqwYD>SrR z!;HJ6;`(-%>%UNbzpT)NF)+PuncEJytZ!)uJ?FwWs;)jwzI5(-ZicLa~PO7gxXkp1yWcKPY~R>siOTw^_^19D-(|j z1+dO_{nQbfD6{bbPwqd*R~)f76ZL*Q>`^w;d*r>s!>#+>p@@l$O5Mk68W~PA#5Xyg zo>TZY*etW_IIm0Y@j14Q9m2(P9!$+O4lccRCgRK9%#C^9CMvLRTDJC8^qWl!{yo3U z<$Ne0TC#In&}Z*8Iwd00Lqi>6=ETT2sBey%p`tP6$W~FG@4MLU-8}n()x-S>`?1cb ziw~Nj)O8k>Wg5i4>D$Kcb4kbXg7c3_b3YxNC!Q+tRi(QBjKD1k&23UL3$AX;dVe}s zdqwY)>;9@I`(=7F?G8`m^I+!dwe`7j#{Zefo-6-m~|DiLmt2QzG>Nx-0(}ecP!Z|J3wZ zjKfLuXFmI$2Id%+uGN^p+p8_GG4Y+fT+gg8osaC+?`}{H+WdU$G4>O?X3P>S{_~=7 z_FDV!oHr{UEt0l;V-mN?b$MjHZ-%Z?YOb* zF!zQ{^LJ0`muD%v6T^AJCfl>?N8PFgX@MtaHBLQn&vD6+kh)jH#}_vO8!DKA^>%f*6u?KWR?yENUzPu-|d$X>TZ zZA$TtGO@t7RU*fGUtIKM7cPrPyJ)yfa;e>UhUXp;a}2HrWtiPn*}QUQ-V1(RN9IZO zZ~G@pRxK({%B|knn(4qi$v1#^%iTj&4+HlW%}sUV$S&hDP~>>clB2_7`rhr#jCDr3 zrowxUDaw|<4%7=^d(V4S%3zayUhcmffql;=tP?v_dy%fXJk6#_eGV z)nbR#B6KEyj7bkJTJt#I@>ah0<(?u3qh1Op4-b=RpJ9APtM^y15EtzxbpBBci(pbi-p7_`D*j9L2`1r%j*}m$6pvZulJrAo#^%Jq9n`wS^gWP9+> zWU_H`gpr$Y$p7&3pPfRc&kcFD-P$VVXnWgjp81mH`&p)G?ungti=olH{s!BF4H=2i zo7NnUe3!%RZ`fYPbtXizYih`6tv0F2iJ8GmQV%tUZ}q&eA~P|8@l*0VTm3@~TfD3a zCR{7-<$39|nN=v$w)}(A+UJ#P{p^x;l$LJzTz);_tGw2}?+X6}`d{((R_@*uI-~z` zgZP5=h9Be9ro{T*uz!^K>ii@vhxZ?gz8`6=sfvB}?f4WqhD$-q=7{X}GyAK_zB>B} zO9tCSyY-JFo0qZ*Zacs!_2t{FcLh;=TYj89zAdU#HLYpF`IDD7u{)SC{(I1Dp&4l2 zyL`m~*K=1Vt=2mJO+bRXp{H+p!so5FK38Q_m8BG~Iw~%Rn2`NeD%bEvl*irHTV4Do zMclp2B$v&Pk`k2USlDO1xFl_+O|skd!{s|BZ)j+E^E7;g!!^gB$JVp-I5%)4%nkqH z^F5h;>D!lj&m|+fRUdbJ<@IokJg;@EiS33}wTZOok+!8%c;DPT?U`-8>2TkLf_cge zO(FRw&L;QYIZ)=}#Jzl}i+JNYqaD^41SR)huy)CLTXkjDhdnL+e2z){C3+7MR?ppU zyKIW%v9B8+9(D@6-r~$9zu>pzih9wV%8rwZenA*ly2p<_voHAm&Qq5@ zWFRlQPU!)5gPb^=f-&eA~`8-TKhFi;>5=&AHjOPmJHg zcGY`%(@fn<@|6=lz3RJEqI52)Z*$x$t3Q|aeO~*=MrOjZt49;n4_BY$w7c>-vxuvv zWRe{gn&kk&wZe^4FTDhj3qvlor*XOV7z3#Lrsjf_Yv2gNt*C|J*_|6Kx zz0|5z!OF5C(!}S?0lj_dXFjbtcP#0Z__wettG>K7iqwx->LoAnL!dNbn+_;cDb78$;&(T>* zxzPd2SKlr)zoH>G|GeHC!^?(laUu)uloVc^?m11a*2W;XUyrS$4NaWY$~?=HUgu5kC&))daScPBeIu@pQzao2a+WcxWGigUKj zy?W}aMNj(Ql#um%udHBDt6KEZEoYa?4C%=&9RfNIR^2uIW<@(yt=AkYd^VY5(ZNJl z)=!x|ntBzBBTDnH@MIQFYIst_v8Qp))ayG9w#w`=U`qE}ml*#nw(Mx4A&2>y;@#h$ z9S|=6eM=`zVNq|R&+L^amoCvU>YKs6tK?IpP)5tb9Y$5ob!{(_F7{}=I=MJC*DAV^`%Da#GNSjUfiINrb9U`Wl-sdy%ZOVU*qes64M6LU+>%=Y{7cecb zsG6bv=6dDaRm+O`%C~gCWIrjMpmw#KJxn9iRV8)Tt=W3VlbhsKj`8UEY;`=E&no^o zAX?$G%(SX+N;6}>sUO(0?yTO!_^)Rk8En{A^j)uuQQ-kY;l_LIHhHlsE8N>JzPtGF zbo1Z4>&#Yt(CSrucv3_1Ow^N~3@7s2gLafxl-&5I)6!|(zJ2mt>o&7b6ZJKmy;zHj zHCS@g9?mRqJ3eR5lT$8t3S4+^FJ`M1e)`_E#`fuoDLMyxo@7~n3)p{=IarA2{lVrY zA^TmXFI)P(Yo9b}>@d?$I<@ZNe^HN+gg;^*_AHD0tK-eixoh8T#%0^&jVu^fOKtt^ zvT#ep{(~A)ic7ntIv!2S(a3%5wALfvDqQ^6i{=&TYwKQzQVafBV6?41t zEbLa73-ycg98bFLZ!U5AEqpf^P>HW2HldK zf$l!FG1s5WFz0z9cWi>QRi}T)=Jx+gSv(fuhKvVW515>ve)5dq9t}gwg!PPUy-(}B zfA_sUba%U8;oKvRJ4%&qO$mM}%EKyibCRQxbnNR{0XAZd{;PsM-#gwRb)>oXS#t5@ zNzoQtCl{_tT(jz*Urk+m&n2cg0>Vpm5<^6ptegC=?zMJX5!uM65UXe~}`XfPY zB7Rj?Mq3lvw;fvNIKQ^>&hm+yb$`mdWAACse(|Dzh2M96x7LrbERkDl4oHp_dAw1-53O~)bY}ATi$?Ax)w;%#m78AqzpYtwLhfRz@5cEP%+{=XwkC1j zsn#$duI>}>FMs#gvi3If3eH$fA^zL_8uK6hd#Eix^-}K=(K&M4olL@4S4AvvDd`KS zJ?(ZSjAuouQT*kD4nCR@)*g$^=Q`~=YRp#s+MV5fRrD*tf7N%Yp08Rdw*6F~^@4R) zR(W4{+3(5yzCbTjG~4vw&+`l{1+7vu7O?GjtJGHg|HJNU2lw4dTdQ|9*+lzL*6Fh@ zd(60hUZ|>*6H%XhPNIbCy?(u9w%^x9QVM?;i(NWzb8hl{^@`%(vODJIUhxs}YQ3tb zAG7q#q129lQdhGsPF}&bS?Q#tcxYOC&U2#`(L!=_X0JKER5g)(<}txt{txsY@lRNO zOo!nWr^3}=KW??mnk4YtW2=bpEACy7UV0n$CI>uZwacv%+E@0eWVP{$EkY6cnhOG# z8MH9okab&nR*lUKC?MH`biF8S=9?&ha_b`H~{#+jCjJKcV{SuI@oD`Aq* z>@>;5f@S$47uI`nE=@c0d2d0)jFX!$*JLpt5mGr*ru%J9_e!A$oRfScnpi`#`0@WtEVkYvz+uV z+H_rzL+uwaH;tPzW1vmvwprfz2ws;i|rm4<(3^4SG*V(HFr_-`MsV!0Wp!U z3;c~tM8tQ^58T&zX{SM()w&f^69sreH{H4OoTo12@x~99yLWtcZc*buvfxxk%m3B@ zu4&O{59MrUsY{Wb=HRd6WyZ5c*WB$dO#9@69E{^^h2++LE_Y<&etZ6Hs$t59xyz<*6*jkSWayqY(N4U1 zm-^>jE10)(?sAF9Jk5Q`?WRO}H0VxYI} zjX=vHuK>mJSefvq;5A1UE>T~vBIc1>_1EwGd{MK{`NB4vf)vAAm>u6;E3UeHtW4AP z%*67(i=G0fzb=qz+v4}Q*x}BF!noOAAFP;Ycp#)mf;DYl)|(B_CANLmk&tt(-SM60 zX!);?Jpa7|L#O%nskqB^UoRH6%RJszSa9Q_=l8ds=JHuy>&~2C8~w3dH4b&_&+_d@QNwRX&mUajc3{`;4mchB#8z4)}k9|gmU z59JNhHLEtARe#0g@3x4mMe*+Z>rLA6_qboQ?A;b;*;Sc-nyv1`s=IGX`u)pxU-Irb zwODJxrsPjX(=;Ck9jm`rXs{(VqG^UBtM#dGIx64iJ!-VxvrOKf=Pawm!(~&$ZtkAU zvTt6B!i};g{KvjeIyg!Dt;*-7o5`YA9%b zWhmaWSuQm;q;;!7cC3Wpl_hnX_Fgz~VQq8s;=6vkZ@=CXSpUuHcYS_&$-a3FoSEFo z-??YXPtxsNc*A_76i5G-?|n0MB!0iUcw7F$yqEV9+m>srsfnD&WZ9DX?we2!+kM67 zC3R)S^AfhI%<*!ny>nVt{f%4r?z3z+?=gpJ7Ya>YY*)bN;2)@aAo!}x^tK~686Swf z-(jlbpL>e`K0C{n)xkQ`T^#iPu*gOqSiN~;@KV+fe5oq!S*`om#7QN$c_@Bad1UVY z`@NTwgy)!Pvu$6P{BK{e_T8qv%SE-gJ^w%7czLQx^wog!X03n8D_3uL!0i>TRU(}n z>zP}bJ$HHNwSWF*Vy(}um#wo<=&3xru`01}Prx#V&y)3Eoc0m>)S}g+wcvk;_kY3Z z{}Kvc8f!BAb5(6(5)EW<^*I}B5H$T}`E*hJhd1+uug-k`nrWW3_@3(Gy5GEdGV4#t zDQdHaeef5N$cg#RG_P8(X}QqM&y(h{YaC3#MfqK4jpyUMYLoj3$;32$N-bB?ZXyqlVS=+&yk`bwWww}bv3J`?z)aGK5L z&+mCUo15Jh)TzG8sXcdK=9S*-%-L&qiN7!2mcU@t^_!!Lx3F@8SDD(kAHS6!=yN!m zZSa+5bXvQ8>dnfkN+0v)wwg*T)@{m(w$t&Mnce!}%lsyUUweQme}kJzzSN_x@SfheMkU zU!G5yHE&hhx~Ue|#JAsgT_VRj^-A+X1)pbiOlvyk=Y(`O>Eudp{eQ=9{_}5&fv?N9 z^Ha|Y|Ld2fs*$~KYA-Y%v35OSaVAn`*%Psz0@tkQRnGP) zGZg1uKXK~h(Kf3Rl~7mrlhq#o>}IRUUpdYlBvTtVJ?38Y&JfT2->>mJbKZ6KTZ~@w zq`3Q!biC|5DvrHgJj+d$<;#s!YjeRKz6DkcZik$fB%d)`HjCxOwdESFH*y{%8b~b- zXKGqIEqCjZKy^pSO}%woGLM~KoLkTEZDV-<)cZ#me(bcoaOR40Q>jCc&<;C;$zsi4 zT@SKoWKRlQAY<#_GozKGwu|$IwUtf647)uOiD&OmiN*56E;u$b=s4+l|R(*Pq^=$&R?&6 z>x~X(Z1et=>@Lne-N@nZ>;vZEU)me|)~;OZuDzY@Tl^pIkNSVU9AEo3|DeL3=r13Z zpKZUW9{S2>Z*TjDpm4=^K0dcY6${#o_8;LrWh1Dr)qIilkLHXm2Opei5)83BWK#0# zW{MR53;k31ojrVpTe=K`Wga>xmw!~uU}_Uj&Xi8jR~Hps>*M~;cHg24zKoaD+&}QU z-L~y6i=JzCqo{wk>%VS}FRE8m`#+^BT`b6Hy0}8_{nq$xetf(3-d)_>ELL#V)`#Pf zMP9}mi%+(P(=AT!xnX6(`p4Px*u$TuOPb4k@4nHvD*jXEbmZ<8=j^|?e|0l1vU|w; zBqaB(!8-Ykvw2ijyVP=bCQlbGNOM`w_08g9$I?3;%QCFLdGq*$`>a*ER=W4br8N@{ z9F6~Q1Z)b_*8e9^vYeUaP{pZ?I@rFZh8e|sKZ zIg|faZg%bMS0(pkW#31dM!O^zzI`+K=+9tX3lCmKSCx3-H|O5H{x*9WAIrJ>I~*GG zYvxbm-Ok3cG>xt6UayP$<}BmP>ua|a@)li;5?#0EN6PE`x8H8h4dv_a*|WZJDeHu;Oz%-4Ka5%z0ufUmZV@e7{FSKQEr{3~|H{IxTbo46>-gJWAmq@{xX(jTj? zJzt{n<6O8J0r7qQ-{Gxj-G zeW7huail2U{beoTvwL5dJ05i4c=_|lt_BBQZqJ_c)m>KKrg}6a?!LLieuL85i<;9d zR|MD`He0IXGDov^W23O?@0OLj9~Z{fEPk-aI%jX@cK&jH>-^r+S1S7K(sy;mWi`s} zZ(Z`{V~F+r)MMGD^)}Ue*2eGHe{H)C%fmVB^QBJat-ft#QFXPMuk_xwvfE9ZiOJ=6 zlS1l!_KP=kEaYGGYHx-7tB;23j?aHz^R8%B*@a6ttDh{7Qn@XrwN*+`_bwNEyMCq3 z);T{U{g&H(Hu3V%n4w)Po8HaM=>GCTT=)Mg3|FfbH1^GztDBcHM^CT$OkSYB&y0Wb zpEGe>dZSu$?~?A(y$@~%Ex!<4=H0IKrue;>(6yycq@)sN88&~BoB8&Z!1>!rU;Ubj z(x)suqPgx*hDYI3p39j@?HtAn-0w?HoBi*qhSGs|=NoxnyFbsg>S?*#`{-kP%B;SN zza}2tJTqZ^#2Nj%3X4;GSI+OU*)H-Zwej*(Lz}WYeMes1_-I+?!{@bf^@L}A&e@0V z{W)xslwTrv*&vtu_&kLxnMn=y%b0hktNaR{;2JBP({%ZdL-z~*EgkT`?-2nOWkbaan^nF~`dI`23vXY|SYp+{EL#)#X>KV@Dx z8q14bE(p6EwRqQVkMk81uXu&UF5xkj4$OP*#oe;9gXu`?6OBt-4$5*#Y2H}6j9V!^ z^1H)NAJ*T8U&pTxY`vmz_3$*=-pb}6)-1a_*1NRo*R7Ro{_mC@$Xz(O zXvyTj8NAnDDY3I|Y%rM|xaV-n=?6=lBJ^|~h@9WOY_IouYyZNpl5JPMcDVCO1-_c{ zU~-}ZpUr|59!sLFPVffB+H>02o9J^{bDDeBFHo8K>u;iS>C}9&MaA`@#~*jv2q~!b zias+xp1FH_b8KO}-n+h}7t5|Mn7F5Odl`RUT+1$&g^k=*%x}VT6Pc$hpS`;2tXBD^ zqhjLQ7cRM9F^i|fcvkN9>pNr5=EuyweCF~C?aZYcX1>{EFSW8dX!~QcBVTiJ_1174 zxm6q>JN4S)?_WawZBAl*DaUaSsJ;mt@ZW4PY+gH<<;FC z)vqtE`}?NG+w)v(LA5O1=FhwT9=`UGzbw3aRfuWNs%zWJOBU%(WEC~K&Z_Kf6jGtP z>d%g^dL=>eB6A*y>wjM={B!Zz*IM@)uW#P5e@C#?o{cSjD$^e%E|O?H%cgZ+L7myA z=ikJ>$47l%Ecr0?cA&KSg@DV;q|Ps1FWnVVx7H)|t8MPm4xoA#S4 zhgL_<+2vz>rAlmz%%KUZmd`z?Kf$ZicF|JCz3eltUHJ6+z=B-`of=)YB+4awQY!dv%@JWVM@6GoNqFJ@mzHwT&{Ix%ssQkii>#nrJe;fSS${B9A z=h)QjU%N9`|AWNz3;73w5_YsaVAt4CRP?ntXWCNXbK7n;&oA8`&3j*7=?TNZQ#nFE zx0bW{uK8Da^M6O>=P%4s%YXWI-q@K zdHaQP{GTK=*>?+gSgEe9ocv_@KP|frHthct^c#$O_x!5-%jjc0|Ge>mEgyf@u=q%O zS8`9;?%d_ITC~mpgxK@LT`&<^Hcta@*s# z?cTlqEo-V*(9OrrHBYjg^0$2drz1MW`GnZqqgL|Mm#n@RoU&lq5~0(Y-p|V1i%M>^ zhJ>fR^vKFGvNe%Vy=3`6D5!R_b+h&3X&;Qf&1CZX#QuICW6z?qXL(sXg%29Wv+TBc z^6E}ad0GF|HEr2}o1blb=a=GKJ}>-i$yuxEG5w~CH@!)7Yd-q=bK$ZR#!g{prEa|a z*)i*s|CT33Q>0lL&RqJwtGVWa5ButCjbu5IX3x08u(jXS8lZStbC6P_LT?JKT2$Ll=HvxnY(kE`-F&6;?_Wyac#?Mr^D zykt&z87-OQ!RE#Nt5|L`>%@i~wry(nqob=VE;lmFQ{S67v14gnC;KHajsrXH$-9ej z1$mem_+9?IG4Xfz60X^)*-|RsPSvf~d+j00v3tGQj7Q9iGp_sX@pWlRIPyv1jo5sN zM?X3@#$E1NSa^0>tfS7Cb9b$Bq}_J$TTYrV{aB{(AG3VXj`yN!hxrvxcyk}sJ8aA( zx|r#-1s}WJo{7Idtl*!5w2H~^M7RB;Ow;)_n^bC@1z(6X+(-=+xqZ)-v3bhvlM-_tto(WO zr{;2LHI+Mue$Af4d`V`1^Pcx%-uLrzl4F;@n${$CPRMTc!Y#T10Y)XUw-`5EyI68E z_C?I5FKbqQp0%u|z~$|MIdco@a#_UKTn`%j^Eh(J_t0ze6~P)&HzTi_zdpa**<+Db z#{M%M^PY+;2|v6t_oBx1b*2qA?>>o_)!wLgJG0d=>aWNKHerhyKewvS=wN*rugKZ6 zYx3~|O?lZjil<$!Z(3iuA%y?Sg~FgM`%vv1hb=Gvu^OGVI?$IjVauFb zq3Q)PJPNxEcR6XBO!l9DbGDqANA!l;BLN!w_oY4$s}|cC8+yJ>tj6=h(tG8v5{=e; zSZcL#VgA*}uJW71JpZUFRQtNG-G03`CFtfV`MBEp#e8?V#nrE0uqfug@KP`6!jm*X zYsFPktImgAyYNe7b#_Fwv%G|C-lWDXfy-MIr0h0-onb8R zA=se!g!=O+<}8(i|GUf=U;4}T%i^2xjynfGw%5E=G2bpz>sI_?3;(U%v3sOme!k2W zDPXZ$Cn?u zqscw57XRp3^!e?XK26T0i>9dwTBll}B+)>h`OMH5^f9XOF#dP37?mcM154$s2H8p#hg-tFXWyBzc+*67{B==o2% zp2R&{^JZVumqiomq?v?8|C|1Kb^LgL{jr)@k&iom8n4*FxK2z!B&2lfEkC^{{mK)M zvK;;{dv;>V&H($XD}}VukL~;?lNM9EYE{UiRjZ2BCBi?N{3`pL-LcBxYSq^j|7RSL zvWiJ8{P^|x$KxkWCR;}wKl<637AFn80=%m(sFvG5=bl2|+mTH0ORqOx$Nd9jm$(+Cb+s@J}%BqjFqZ$PNX2~9Z zIia%7KQiBK{rZMt5zn@g-6>zIqIvIKsK0WpeaX{h_LV9JCOBSvzcTK%mhF_>k3Xws zxNB}-ZqyQ>xAWe#(~~t`oeXefcZ}t~YVGki@Y4Ac&R1Rw>{ArhOZYEbrfSoiJ>$gL z2|n(@4EmQ7)*M)WQS`>G+s$il|Gq!@+QEOP|9&$J-=&~@pWT%+=rDhS+q3ICe+76t z9&XtEp!d`DP2vvDd1ZlnRy{8WI1uXV*E!k7FyAW8D`fZltMAjlZ$8#`%lp+jJJx!Z zg60cT)_87im)kJaSbExzpjmAX|KHuE+Wu%&*4Z0eSeRW4@i7p;-0)9idz zm~OCq;np{o+MeFw_71Sw(H_m89c9|SRAc(8sVs|sBx`jY`=hvJ&Qbl)%#9g zmKH0YGQXC4;-9!S|Eq2LN^b2x5KXDDX=UjDLuM$VqD-y6au68F#f*Ijnnwx(kH_Z2QbcU5)j&E>!Q^xF)rGpqRo zyf^a%1T9MQnlbM!LThc<85@9$%MBxJNWf+yvWR`j)}JinqE zd!n?TY!@pz9ul{C>(d7tZFh?0iKbulyTt96neb-91n#+ol`Rc%%Dd!D-P1bf-Po{X z!-F+~=SvRC9^G}fnr*rGyM>*l{A+z*#Mmzp;OW-fv)t0f(C1XX(Xy5Ni`y?cCvz)@ z7&S2%|0vw?vt9F7?-zE4lBGvFN(^TBfBtgo@}USFhj%WQIdptm=c>$ja$>FT2|*jj z7qU8OyCqiqUmZP1xBkk8+_*RS>o1-Y`P}NJQX009<70Y91M@yZ{>?9B1g5;Ww^35? z@e9Q-Gxyvm{cKix>uo<axs?u>l6Of zExWJGxcWQkZQZtStgJk%98HzK2V7ibdEVx_(K)3xOaDAjeRlfyx33(p3+L5z9RF2x z%OJB#^?%R9z|9%S$;_-=e;#-IYxH`+WmtMawsrfwiisPO%xAjpKeJi#xt7|?SwEaC z`0iA2vj|tr5ag9Mj^_Nz%XpWo@K?>eAe$p0&dnTGFFv%cUHBn;nvT=<{Yr^5a(!GB zs#Grg*|ufLvTubGH%z#?dtX`}VT0QE@;>S5s~vtPe8m|Ze)8)E^>%Gjgx(tfDc#+5JMC}?|h zmBYDezBxy4RIb#Rd6Z>+kW2JK&7dL~l?CorEB=Mbzuw}MHtQwR32YX5to>U^2P@x@sEEn_*^a6;d^*_vqghy%f;i2+lKA--1XgShp3XI{ObM-0WJn{>0ULeQZ(Xv%gL_Xd<|D z+PZ6QPo;QgX_Rsv?x`|*B|gD5Y<8#oyNm_j+Zf!rlbO7W&Pd&;J@P!nd%f+>EnoBP zv#&1vv@G}r%b#2Rj4y?)9@=Fm)O${M+B-+ch2vkF}hCp|g=u=>EKu>;^MSi?&?u_9}MdzpET^&NtyIk6psGs4rjU z^K_p~msuI9UwfV>nr&T30Ozm08CfM#=hr#ZIy@0O_B`n6gphOVTr&^!-mzrcpdY^X z-W5gr^;uov)~qfc9^Csc|CN1_B-cmNnc8nZ9a^_zD@S(HzQ$MgzNL%j-Z*liZOy~F zbwY_7Hg910WXZjgFT%REMA>f7hXmHT$RkziPC{MWELp+3xJpinOuHb`xDW^vA}L+4LRy4;MlloLGJeYL&* zpRtksq_DSzizpAx8=gQ+#Hwnk3TAyeQ^sEUeo>gWmJgjl0KGu za@HLGq7UmVVmV|p|J>>ePZlj=+j_M_vfrHR?*FX1px+gYceU-DD=sT;WjNUV%Fs+< zlI%y8uL;Son-`lZl;nT&xa!(6!9U+NAp3Go-jq*9&rX>te?MUN|5w*7Tf0{!9mXrm zw<}ppihuC%Hxr-K-WPey$C=(ZIzQT0le*gO*P#|WXLE8q?+edn**%v`3pz18Z$|IROj>$~I zMn1>+)5Sauk~T7IZIsQE-IcnN$@kI9S2t6abx-cpo_W!1QsU$mj?=}Brx)*9_0Dta zo$EzAZyaHt;a~d7w=hiLk>?h%nGvT>vR2G&u-@p}IYB&B#p=+1!JT?VE;nx_)%a^2 zYdNs!Gn=-sf%@KWg?~BoR`XAkns|rT;Rw6<$&3^J5dqhG58S;{yY`)0Kz31g?~C=T z7acpmcjl63|Esqj+x?yPYP%m{nN(B7ndx73^N+|U@r!d-TJC#sQ0VKg&1&B_Ilg(s zH6?tvNb&A3A#eAbd~LL=hPQXp>JxUG^<|Sf9eTxhWrfG zH2k9M>GfRsL6>5c-`e<9vs=WBcf1c;%y%R!Cr2XOqU{b=A`+eF&Kx?JziN5G!d3IryRN89e6#PH{~-OngD2B8uhq$A%PsEtEoa(n zrV+WlRf<35#SOtP|6LRMPgl%X!FW}sjP*~tmyEaB$U>CBS`0s#9Qs|oJibwgP z)@Z*K+#DdDIqT@JWiHDqW(B3`B_7yn(&z0yd(sUxyZ1U#(@smqukj3-c~&KE;d@P0 zK8AKHuTP8l`d%G*aOlIIhsI_8#s4i|YAKZHsHTWaY+oeyHu+E4xxR@`(Gy+Tz8tMw z8GgF1DL1Gb64Cv1cZe@i5x8S zOp1y9(Pa5CN6dd#jOYZ#d1jM0cZZrQHM#L&&WVLPkY5@#w=GUxy6o3JC9_FhI8cy+Fak|`mwmktYMMK3IhjKmbu#9 zi|uCLyya~g_-pQl?QyqD#O{>2UMf72m1(|Djn&oXsn6{erNz2$7rnk9vo5lM!!>V~ zkcIHsIWekUtw$d67VOD-x^da%N9PXZm9F=BWm9$W)u|~QQv^9r^VqMu&$YaN@2!pl zKNT3KNqSz8oTGpE`+~cEp(gU$QKmB$mg}!P5ENY(@FglYB6RPLMUg*FPoI+QqqZtr z)-S_y@$X}AtKFzvDc2kX+3-;~hELi%aApec> z*Y!3vOS0xy{&{%s&p&BBlez^7{w^28zU*Dx|J7ai!lIqMHzU%!roV_$IPNCG@T2NU z>;#Dg_Cm*)7Ovu47p9`eGoM!@^GTf8Rgun1|J@IKN$+M zm-k(CmlJP#((>wtCi^MQtLqD64_MCDE#h~qvGCUa&D6id?#v0D7Y?%{CM1;QKiQbP z!&!sx$NXq9IqRo76?*9{e{N`IAH04e_36gx4zrE)sN3Dd;iukd;8yCFA~<*-Vwa?Q}*ehBgMV-&-+Z@`xfvAKAk1-{%XPB z)AwSREUt*2*GroAO8=$59Pj9Rw)td@+j3#%c|G>)cg|B_5;@Y< zvEoVAJ#pRVypDC;S8qnVi{hPsrK`eLla>FEQ=9UnpdUx{mr1f~vhrsg6}Owge1XH| ziRc!!$t#t#ncY^~%$+~q`N}1Odpn-iuAlWMTE;)1bcxDN%}tU|l=LjM?yNbb?@*Bb zKfP0c_eb*PnMaC>rZ_n6oTa>Gop+Ey4*P05^{&X{m0iA_ufK(+PMh8Tz`V<5`ghUm zo*{vP7Z0aZZ{BiTc3u12<)t$=?AmI{H;v;@lEpcv^PIPvZx+w};iUcU#%YK1tj`u7 z+u_K}E~etuldN*f?CsiuwpIR99=WD{U+T^K<*;&SllhqoGiSNXTK~&OY0}J{dP*~w z+HUz-9O`b!dw1vTbu3pOUHzTFA$8R4b@NA|h%*cm#I0_BHJ!$#?X{=&b@i-5iGwzi zk1o^{cJE!mX3d(kA>)TBd)l=HS3bN`GvBPad}5r0M}kq;Y_Xi_1}p1b7eCmLymXe0 z=kMK%f0}r{F6Lao{e0uoZLLcaBeLdhl647Eo7=MMtBYq^MpF%2U(ze@FT%U0&ab(5 z_C$H@uBoSM?s>0V@XKb!1mRi+n=aGyN99%J&ZpTKSvZ8X`||cOtx4!DWN|;=du@Z# zt1Q#+rF?IX>KmlVEIK>az;5F2Ir34pNn5sV-BcGW8Jcv~?xuFB@!?DT?h|J^G(OnK zeAcS4o@<-OUA=eSCVJY>UMHqChD`|WSad1;k;mB`3NaFuM*Lk85hj%>cbM)KuKBoN zeQCvlJHgR!Y;SfoYC7pEJ$!IM)xI}ynZUVs1%Fr7zs*cK`1c9tZtEpa)CxoX=kE*s zcfQOyIwRnyfuCfucF-q}`z!A0a#+N@z7_Ad?(qX(lXnj##cEfG7Qfyz?>vX#k*{)& z+rI=Ky%;mm-)y_;6sB!qjHTt7VVutU9)J3^tcdd`OH2RUqdLD&dDX=S-BOtN{PX+c zAE#<WntU7DTJ`5;Z~ocp7*#~*P{WMo;U@^RUcPjg=U;r_RV<&sXs z=EeV zSEscko@vcwzQ47P|2u!Ys4Cx+>viiK#J9Y)yS2DEVRzm?2kFV-1}i%Dbl(g7%H<(5 zOUqEu`Eso5sW<1Ur~e4(j#&k4r=~XTkK$Rdb^WC!ZGKv@&^8pQj7ctoQbX9nQFM6e`-4& zlbgQ5W`f7By!!ROcU`Zoz4PvX>E{gZ`1-#eO{*jVY(E}v+;zKiHEp|Tee0ecF zq3!&o$a;~AC3^oAZQK+Y>{|bn7;+feeh~>Y4;Nm4I;l;PUC28|?A`)fyIdbw|4k3oOS1yayj=ZhPOF%Q8I6kx=x!4r}a)Y zzBxZ^|Hgc=oN{P=<-28)oxujKn@y_cAK1Hb-_@R&Hzi*WO7}dz|1@XM42chqc|u=& zV3(QtXv*%th4m$W`Ryw?UA<>}I`#V)dwL|FDdK+pv6bN+;}Z67p36Dfyn`>!dYMx@ zrKUsj_|z${8}wVUmweOQm~|yTG@Dy(4fBgt5vTRS;?iSs)33NOZFdttn{*w!m? zmA4p}>TYp=U8I*|Bc%Pkhwb##6IPyX&SL+Iro5lGC2x71X58|$F9%Nl-IN@9_}eVz zFc-nYnR`Q&N{UJHGOz-#Gp7Nc-)wIj78nx~8yheO#wh{g!uMSnTdf)=2@cpP4RT-~2Gk zdw;rF(&glJb;)eq4KsQkGISSTx}^0rPcp#R;^T&+GwbFo4ClMI>WN+a(y&mW6MCBe zTHomXS;Aftv71{*qkE-YrroNk|B5;v6%@{hym&M9=ON|3yStgRQ)f0SB>-UjCf zf=Y*GFS{|9`T3jmbL5yer^{%aTe;%F% zZuydP20SLhd14GAz6B9a_@uV&&Yb%*d)KQs@6WC=pXr#DBqC+e)%4o3PGH^S+fTAt z+rBThwpMwjoMg^%m1TzBrU}<$7A#CY;r9NE&H1(i^^TAECI#I;mD@1+EaTNB9*+67 z4VR>xLYPuF1TD2#S$$>EgN{U-*XjxWr_?(`ZojgbtG2n@yKuQ(ur>4Al{x{rJS&WN zk7jii`m087Q@+*c!05-7Yw;d#dBt&R!B&yj5#jh1)6bpX_RJUuG^kxw3oJB$0{! zJ+U)o)ZXe-vEpSIn&dfoQzMX8Xx zJvrh^TQwE7d!GwF@m+|?Ler>P);{EcnY`gQT)kLrQ{y6i*=gUf+&!@!Syq)auH7P@z<5d z`gfaNP5=Gi>A}F$`Yq@8ab78}__VBc&;Hlbp7rM1ZY)oKVfb#HL%d<*&Z?^)6l@ZC zC3j2~?VJ`?o3nPJ-)+XW(^4}kv*W7FyEfQA=BVzQ`8Z-z8p|B!BgKpI9xP;I5DVQq zy{~D(vipn5ja9fkmKXdzd!qK#l5Yx?6Fw(yc*?f-%*L4BJ&Uu|tX;Qk%laKJEPbYu zTk$IM=e@2DbB;xShSa?MZjlgjKIw3u>+_#Cr%|ICM_`LHtpDhikK5{!X#c z@mSsx8o{Y`#qyYE*9zIW#~TwO4sKcd@8#lizcQTe`Wv?1@nSzKy7uLkdfohAADZLe zfBRXpp7CqalTG58R*TvfSUqpwy>im+O^s8Y#s5;hv-G~|-@nQg?DkiJH(peqB%N<3 zcj0+M_;R@m{By+Daad=S2FnF9U*pbHX^8tE^Ldd{P2;T#Gjg9Veeif~>i#|vWv92N zRs0?om+t3nm^AV9;;gF?X%l*Ha;7ML)H9na#q!Q5qG;T>H<{+~JkJSIPZ=1vOaR0iMY~O<>$)4Nj{zCR(!zI>CajtL1KXL-NocE}H;kJ45 z;FF=-iV8`o+1qd!}Enn!Ip1Stj$dKu>%)5DcUVlFw@3?QU z^|RZ)HWCF zRZwqIv8&9=L4xIFhbPD8M-Q(4_RRj$yKMSprq#;}k1#BB-5bs%u)FH!iH|i|I`Px} ze>pI#Zrwil-b02d@4n4Q?poWoyY}I_C<*C5Er!~z)1Gh^O`AW1vtf0>nIn@=h6Vpk zx9&=3E_|@Q>va6Co3f1_`NgrxdCV3U+mGJaZO752p)5P~^tFnknOdtf_n3KpDtQre z%f)&JQ};9DYi?HacOA>QbIH=@{nS>5r`o9kPp!IC6=m0zT|33t#q75@m{0X%j-BDn zr*{LT>!&#^XTGxSKqix*ex8g?K#*aTwf>q&^Y}M%v3FRiZ1gX?C{{h`YL!2GEK%C# z*4L_r4feMUS~V^`Nop2QeyW}SOm+F4`%~Wdp3ZM`SZbZR*C4pOeJ@AosUxdSJU;bh zLRMjC`bEiizyFCcF`^xq052i3oh;aTsT|X&y{*GU3i?8`@ z^6)IX^?Xjm6|KCWx?3|d-rIJ6(mvcA6@T5cKhxoc=2`XN^s^oTnmT7n?Ty=>ih8bV zc4qKjwfp(hSoNfQ?zcC2W;_XfeVT(uOmVVW%wv_w>whwL{#KN6dbWP$ijT6sysvrJ zFX0M3Wb~}7cwxe(;1%L0ZY!M8oX5PodTP-+U&ciyv%`N+5m~o>qD1AV&(*hsmR#gn zC-SZ|aH+0Fx=Hq)#xRAgy5GOfd;0$n>-N*$juSr#wO`e;YB6eM-&*iHQ;D7X;`~KZ zId}SWJPmlmH+jjKsQ*e;&x3iZe^1Z(uxldAQsXIQA7&+AUiEaPp~(`1xk;W$M;7U( zJ$KQWekCAm^XLDfp_!Xb{y8Y@Z|DYi;iz+Qh)t*dcysAbG|?MeQb5v_RF?*H{W`>FOd7=w>-XiRlsxp%TZg|HVLlC z*KPe|bpLSrkG*S~8oRMXo%H}w5ZRUDkt<$_e<{7H7$5r;^ zFKD^Z%e-DD%;L`4<@M+CZ0o;0e{=n^z4QK0cdMSfzw%SF>D%El*4?#YvFaZ=7Mwq@ z?f;_MInSdHKaSOxTxY@3l6L45kA}>~*XjXAySBEvfBpaOeyi)dP>s*^|KC4a_AXTO zOTE~%9s4&NX>L{h_w(o>rT_BNH&pN~I4bvTcHyS2GCXbv9;tS1R_$}vjk%WLc5Hb= zWwP@9;G>Ls(~5R^t#^r@WPGO9Nb$lf&Pp*`o7xwfk1Rhav4`I@Ud6{CZ-bZf=_H4| zl_o|-o0rUzJ*@P--JQL8x;_`%9Qlnrm5u*2YZ_nvee-p>&y4-^UDu6#=0GF zoZP!V>fmkl_d7O61zfql{mGoqCzgl*`Rs6w@5g)HkfRFQ3!cxCxV!egx9nr{ACV`|e+Ht_cA3is0sXv!rQ4-Dm!y3=Rxb++VM-isq3;%7o{BPDb?kSqz9ei5;%=tERM*7E#TNb(= znBemF&M&j?Plc=u(|5PnM@N0x_$ydTwdLsi3rcg2JwG`k=fL#IA`?##^XgSVmG+(+vvi8ruvG0fQ-1t?%{l*b zk7w2hAN9TEBror{bmvNyLq{AR{u_G?J*YLC-Y~|3pC%&!`U;x{Z57M z`@F+kiZyDiLOq)7a?c+gUU)!eg0S|%th5i>l2LbLWmHZ-Sy#C-$p7J|*0MXipJKX9 zBd)reI;bq^TJTCdzu9hU(ubInuCmEnl=;FZn#{O&W`o_MU%VH)1D3dd(6_DR^S&2i zGqYp=Ey+6#-yZzGk=^oYLI2}jA(wjO7Wi-YHQnaKR#jg%-Ft_tc%Hm;Y<+r>%R>C} z7thVt{zOh)`(*Egoqw-=EL>lEp^jNxtYq6lcCj*>vMkj)&Sveie@@7UxiZQg>`D{u z-FM(v-U8J}XV;4_Z?e3zrhO5ghqQofQo^p}^)n96*kH9KAtWvMr>B;otzxdUb>IZ6 zE7P;`)tI^NF-Nf;yLs&)|JUW$)Xz%`rkZUrTkO^saQCWqz?wosPh*qbj~Y>>S;l$_ zZ8r8ItV~bT!gV|U3jWkJ99co(ZxN*LuHCH$8mPN1aXk{OpsT)4mq{ zwVYF&a92b#c>AY+5-V>78cng({lLT#-eTUk>wB|)$F;?3JJ>HSS^jZ__7VI00&WK_ zyq!2RXWFPf>3{x;>8DarRJeBf*{_lEm*)v?+`arS*IU`b#d{~*XRZ3{9X8K%{e+m6 zH!j>^5_(mo`{20E*;mQ_YX6+7C-0nc_?z_QC?m{CkfaJ|t%pxM`YG--_U`qEorF&q##DYBArBIl^jm zW{P(?$3HK_BFBrz<9`3%e%xVRW0+FsH2wyGpwEZ5u!pDe=c(<}zx&Ws^R)DX4Og1; z^&b7ZFkfi4O~{y2HskZok^1dw1fJ6OKz#YB;BxGAPNoNlQz! zoIAu2VaeB+G;8VM4|n&s(ZjAchFK5>CNLqP3a|_S&n6WXX zpLhPkxAFfJ#6C)I`+Zt|qi5l?J#$a--ii+Y=5zg)v3W#T=6C73%S=lZ6zue(-NoxJBpGP8h-mH;(rz@tiFl6luJ#!C(o_mQ05nlx8PZ*=#HQx192tTMW z)9~BE$jo5ff|s>d(%;B!?JvJ=%dr2({k!2;HeG#br5hT~7x4Ay8s6_>Un*`Xv)oP6 zs{Xyl*6tSX>Mv(5OnUe{;L%II#X{#Z*DjjR?@-oyrR>$t=Z}RyT#WqiaZ{kT+O^-` zKbkjIWhdV#UOemSk53D&{$9>mxVXB0LYT&q6E7Y)ZLZtuber3o_fbm7$_Z9Sx=+V` zSw6x0K}}iU%A9(G?$z}ZoU|5k9ToH6q*TOxn&G3w7xC$OSrG;rFAUP_^=?%pzmg^;#mU z0-jxe`AB!|JRhw$uX5^E$yFU?+R}Au=4YO3`61Gm-8QWEuK2%0<;_Yi*;z|%EnbJ7 zViYQxTEsFpZmG%xt@O?Ro<1sG^RlLOQdX1Lv{~BQ{C8!7EH?(C&2`njgEb;Mk?+rQ%4OPkm=MH9r! zll}*63=Q4&VE&7vq2+#YKT5+VWV{Yr(vWj=!~S;df6*dGCl+aE>8E^MgZyW)haRs5YWqj~2axh_57wqb=x%&Pw$#|zhc9p1I! zHuL>3=FIta2YC9guKQU!?_AG(nJZrwuL_-5P?W)7V(u~VBWS1RBh4*a_Pb8C4K>_g z=5E9Eaho~s8ePkkHLDytk4PRmBFt=bd)LJBMAPIQzkl8nmz@%GGA7}^l9tgm^SY2T zQ@?6fFFk*HYM_kYQ@NMNVm9P>7OcZe@xuXI3rXrL?$`_!Xz9y5g; zzH;osHk*y#S6|eL;^5oDKXrkSo+wLkM8K7%5{)3<%=Pk48*4)V( zmuiPcC(4TMoUz)&z4647=gm$s{fT!MJ3L@}wvS`MB;~U9M=am@;|=}X92MF4Gy}iY zEfd(S(6Q&@;(L`VViik%Kj+(NJmK>u#R*o=uJ#ETZa#fb-u-02C!;st+!wFim1kxy z#kDju<50E#{UhEpO;psh>JRLDpZxQqeSmvyX&3QpJ&w{JbA5O`+WCw z_x$SJ>c@}2J)FlM_UfdrU{qE}B+>c4iYgl}~ zJmxsDB$-E-QNYzx?QzK4hK%YPOlqcK3g20-o%PpwdEe{dGnPw*S?ayDK0lM*?3jEx z`^X%Z7fFnc-_}{_pBG;0>+UYqG4a6~e@}xRl_}4;6V6U%TvibsTYUK6ni8|PSLU04 z<@wFc(yX$WdnbqM$D*)RcUiCh{xp5}zO&+Yo;rk0+jIQsqp<7W&g#E?q%G|lmU7Ed zps!-{k&}#UlY^$T^h>T%|1?|h%9niJ(@ydSINnd~Neq%}bx>cCUghj)!y_TX}O<&FD-1V6(N)FVlHN za9;(N&Q z)gKD7#}52?FZXt9^`Cu;tSYG%{4@4AE7(_5J$oDLrL`{Q;*3vkkI4&4q_64bRQ6`S zqvGvkuj2Ephe7x3fq>c9cs@3nbLBFIeseGgO@93+=IuxIGsmOMzE#bQtK4{andkgt zx&_P63vc(IDrIZ$zuZgbm$H=Hs-r$4`Bl$ze|LZITN_@*T2oMbcGzO?f5Joo`#3!^3OdT{mm~=E(JOndOH0fnQSXPoFz3YF9qFo$WB= zp4vC9tToSKWlqg|^!-HRyFYt>Z9bl|bVGPqQBp1-@^Kxy^;y-ESs z?ysKCr`CGkl7IT6^4U9ozPue+FEdZS>bv##6{fQq{SWH=6u3P%SSIt&#`>8(mI*VR zUi@BWU_9G(u2F){Pqs50n}4o+wD;J}roQLrT9fv-t$n#O?(UqH^ywNcP7!x5co%TK zKC-yNfO~tg=nhw7yGJe#W^p_^fv$0-f1QiYKKW~#cgct2nBMgexz2ab7CWhaE39IT zYJVj5`DxzO7aTbuscT;{ZO=T$_T5#RrN?t7K1uk@bn(7N|0Pw?{o zi|>`h#kbo1ja{bBt~+5dPi02q{p^?bR34lE?QgX;USI#buC_k%4EHB%Z7%5@?f2eq znp~9oKd-5^jq!xBzoJUR(-n8QnYc9a4r>);_Z?$Aqm_^)_9#g=?~QH-XZ-TTi8i95 zHR}ww_hjZ21>W3Kz^$*pim|qs?PbNXHtwzqF@5=0rifQOI#7QyIl_9~yr7``Z_;e7 zza<2uPuv!doy-2$u%3OHnQ7k1ce!_}E}cH&W!~p`Z)YobWqdL@C_L@D zgR{_$$%n6XHZ%J;=Xkir8F}S=x%r6kX32z0av|t*uVlwRD$} z{C@f7<|*%jO6oaoq)gkm#_^uctsaXV9qjK9?q;v3D~oAzH?cJ+U2}%*v$D0;+?kwe zcWQo}`)J>!uj^Csx72vnx5+wXYT;{Vr2J~R{iR{C z;HQn`tB)c)>P1mjmX7fgVw?;7PAck~biYVtFOa#irsDGt-P@8+`gg6reca~4h3a`P znzkEVbX}jii2L4Wm*UP{lKYnI3E@tWlZw~+zVq9zESBZjHv4;)pImUNWp3{!JGJd| zmT*31N`Lx$!lk%rZ&XWeYToYt-M;p*{Hm$9tgQmCte!Yu?=kC<(i!2mIyL@0n|)!+ zTBguvE%TCETi3jOStG{#*s*A($K#t@&i`9*aODv#h5zp@Q~rguxEr*Eg?sTcZC};a z9->}#DlqF^#m$LY<|<_?xNQHceTjL{QS_VbPlte~+i@k)T*-vrKU}8eiLBU|(zx}s z?^L6^``N!Wh?YF=xyZknbN`Y9v+me#6JF? zbMnCCf~gJp{2x==zBU|uF1b}<_O|*JVU_j#e7s*p8M&Qja)i zMP3B^qYGh&AFtfJUo!N2QN`7nijyu${=eGO_xR$)7TaBZQy(-L?s`xvwsvjg;mhaW zXkL)ZI-vMU(7t=eysyu{uv_-3uIilI;4J<1Ki99d^?Uo*ufL>Ok#wbiO+m5$d0@Z% zmyEOvU(bHl+j5`z@w>;0UgbC0-*G>CzV?h(h{BdKjTH&ZaR-b$<&1W|K3~eP<%~|Z z@jmsrYqbsJO6zi?jFyV?zj`L>?)#WqB(#w$fS=W7ip=UcUxW9`Pkf$wx6;qyW_NW) z(sPN4#WL}g(PpU=FMgCiUtN7`b!uXd`yRnrTkfc|M9*eEaP*_((R;I;76b{l%U4U^ zRxT?mf6C~5^-XM6xz+Pzt8njni&K2RgsyB_zhrCRHR+Y?1s#oZ4(>AfY2m*0aI@e0 z1*Jb;-3-?JzUNrT(-X^%MC_8EyZq&ZSsM>clTVu%lDy*Zt66tvTge(`GM_g%K6}M% z`+46SblB{-rEM{j`XX|A%GdLcdFoa^D*kGI&carN~*i%h@$PTQY#Yl8qg-^|0j zGi7^(&S)!hSO>NpH0!z(_bt6kFF-(0$57^pM>)&(&7zXCW*@xe`TePR*^WIk7e~E* z@X>7Fy~wleFP>*-&42Ul-}79@*#DPr{fZKeShnh~Uw(D*=hKt8tXG{8GA+9=dgbf) z>vxaezFNKgzU8ah&u7E$f7_?EBLDjX=}@+=J%6)qTJ6`1>Pe1$e*N^dpVOPHZZDf( zAGz(^BHzvb{jNurKK}DI|^} z-6FJX-`mtz)iD9_$FF>^nE9*A@Aks02lc0~-0-3!Liop9qpzZ}{m$8rW+0KAJr*x! zNll-1c+upI*|OW$E>-(@n``$5t%a4#t$vhV)RCKC^SMksE__{f_V3kaAKCt0rtCUx z<%Sm*Rx;~|hS`>c?0Ru!ud(f#s#hyYE^f@8Ef;pzC}h`*JEi@lt)b;SQ}wLMyKKB$ zz28WL?s^h8iEH|8vs8BftTk2IfiD*|f4{qM-Gvy>)j6`Q2R`n56n;{m` zj&m3M`*r$PrV;4opue?^k%p%8Oa3+GXQ`yO92ORHRqt4oxJG$*tQr4|=Qio?RqP!$ z#p#Dvl}eodb#g^qcB6v*bjKH`jCCLNU&`4QxOv~6fJJqCzd2jEKQwxL;GIZh#9B^C z?`tww+7@Iz&f?m1T4d{OO$LTYnKia*1~IaG-+prud0@f8ld>`5myz8qt!d8}a_Y4* zP4Q%!x$qYAvQMv+Bo*fD5wbNjd9lU5qTf?g($pdO;)iL{$`LblGp@81`kVf`@gT_e zTy;c{Zs5Kzl{S0d^j~FzX{`(r9t^a;5+!lPRY>w{bGP9TclixView^NP z%sM~1{rBAKwqM`>d)Tz?{Ib(qYT2ee>Yh}%-zHD~-M)8wZSrK_Z4)<{+cP~=>XG)b z!f6k--DEuh)BZEN5ljnP1AUoG-q4UmneVW8bgxi>LlyieL6N z{#Vw^$2=ju_eD(p+3Rlo_SSEAd%aFZ?WQXy8u`vWd~r0D`@^FhU%%H%)PMQ*Vn_9- zS1eY}{Ni8Itm2oMU#^@sb^YOwp6uTl|L$J!@n+ER1he`3^zEDOPJX=qpkPb=?e4OJ z_Ig#j+gEK`uVrQ*a3n_ea8=t$(Q}h3IJASds9MeNd-$}jTK`t<-u~Il|6)y)R|R|R zirW|5^=y*ZX8WeN+GrEU<7@Z+efRHT;%kTU)wgfex6dv!U9#SK?tD|--m8Cen6H)w zWg0(j7@A@S|Wk1YEBe_TS9cWjDsR6ie} z|NZ{qA3QZrueQ$9*z}Q~BV~Pkj?47F-woS1uit!hqvu+vw%Y1a<6lB`=j8Hd+ic|g zle6Ny^t-1s@?Aq8Y;!swaL}#jgO2>)SCP9{WV6TDURb;FF4F^hhU0vtpSq%hYQk*h zU7S06p6i1X=iP+1crBTnoh9^B;K$0f60cqz^K$vkySnq?^urd{Ei$FT7yfw__3o{b za7(I7!jyUG7a!WK;5XbN%V2u^)kQT4_6w@5ubroUkDJ50$n?+T-mt^Lk8VsjenGVB zQuv*wQhmwL!x@*JRzE2YsV)9GdD6r?8=O`+XwCkznWyx+`5Nzi(|>K*_oeOY%i?2S zC$9U~Hud50AmPnRg+F94|B(H%WmSZ+jE_YkZ}x+j{&3ry9Qm8A!dT2^ajdL5{r8pL z>`ki~Lc5_qr7dEYB6Y6-L*GJum z=XsUB_5a#uvkvX5-*)Y*nDXVR8x#MYd*yt5#;UEMl54jfeYdEdNiSfl(~h@dAr;F% zw_lB2cG!Bg00YCjb>;6Lzg{&}c1icNu#H@MeWqR!vS|GMQi@@ZNP(c+glxzEA65Uh zN^E&>#mPglK+gVRYv(e9Q|B6NnC>h!)DUvxWPU3YCvH>!EOO4nTlW_F|CpctBfj+2 zqkazN4=*OJn)RabrN;KKxwlsEpAmia#ebvuxg4>@xl4JyZ?Vw zdy?;eHL5iKqpii!6N!BJ3w9=%USya0#${4|uv#@_-X1=ND=XF?x#*d{;GOW%mCKB` ztUi4I@)xfBe`@#HByOzlIx>CL7x$j?QpbX~Eli%hEl~ERm-y+EMjNY7KiYVp<-(a7 zJ?mS|PQ5aMGg6N_iJd>iowM6+@?`F=w8{|Gl-G)4%@Nh#O1@TB&&a#h88v@uozwpN z%U<-QFPO3Nv+ar1%sZbOd;bxr*!<@UL+VNk%LaRudGlCgmR*&ifK<)Z1EG-&|V%cWLnV>+w;g&L-_bw-!z2v;I+cx%%Vb^0myDt~ni+ zYGvM2_&~bvjKg}H|Hh1c<+W$IShjsTE}4{%V`w=8;Yo-5k3$MIoKsqTfxRwpwYN(&!yAKAt8zj9dybBV_` zw+#lD6tBzkbV#Ng+ST#mtD8zmFyMf&zu#7OCKA$H83l!cswWd zPN>GFgG(eCXVes2UdS;$!@^yB*^gwK8QHqquA~M!h=u*^UD);~X1mhW*E8jAnQ}cX z$=e~}Hs>*)cl->I9#NCC^X zX{()ly*b49LBaV&ztU&@cj#6*^?zNiS96-AW`=Q;c3g($MTR!@H4G2mntEOCWOmM2 zt$b+ytz8`n`BNjr-hF8LC&U~V@>Hn0$YdL9+dpQA@Gxu_u-_ZAA4`@^J%ZYazpa;$Nrh$zkmEHe|6i7&O3X3i*9eSo_$C! zaKnbDT-r;SQqMRpT)xHIKw2d*`_YaHmi|R+xtdMc79C~Xza~uRYHADfsjN*wypmrZ z6vs}TcduJQHTq-fX$Fm@nR)m3J#nbplxL!o8yi2(MRec362@Cr)5PB7tyr;C{`VY~ z)4@wWvi@)~$)5jwOVc!!>mN3Q@5FfjV#)7sOS;`E^_lLn>kBrT%%lZmZq+ zeTV1CzCXWCFVa7_T-j2(`Q5u03H-^v(fQviwNA_|vVYz5@0>6Dl6f9eT&0z`_Bnq6>zxVz!Bee%f&!u zwhg=Qp|uvwXUaXgF3)GWv~w3rf^%T5!PZrWQX0IxuX@xk6IKzhx|Fp-`|Gw$S?7Yq zTPq&8tymS57uCYid?o41f6oqey9~FF34bej@&XMQIzMljRpG20-Q9T3Q1h_ArWen& z&tHsQuhe|m|7zo+kX5@oSf?;HGIX>bB4M z6SmjcZa(Bav{=a_qi0r1-t$-)-pPs))fPeTtWG`SESB48n`Fj*`-=|O_mg4MqMwU! z_6c|KMy5Pjk(9K2AA9rSbJ<>Q+=W$Po4e+_ozxNG>8;FMBNMyro|I6)!^aW{idXJi z@2oiL6O_du;|xAqZfE_D`?=Yhc)o7`wrdV2tGN@y-W4WV`>wu~d%xe}B~!|QgPg~Y zWzYYbQp0v}l40*Wy)t30`DZU_rYbG`xx!THkgnGzgA@FIHcFp_dgHgXSNRn&2fX=q zd$Hg5tA)ESXYaSYReSfhyo6=hOUJvjR`uRY<^PmzerUbk<-&`z6aUZp^@6=I>Dco< z#R?Y2_wN5G+EG_uJo}$;Zl2x2|IXX(GgL2Zd{MbY@~d4m)%;m_r}_ra-ETSzvoV8Tk(TohR-SQc}$a&PI!j1Uymxecz)L$ z`I?Il9cIUv{C2M@n|AcTyp{EAduM90?&szcyk(;i?qTMoKKZqpn@`3!x2hX|*>5!z zpT8K^B);uO;=zqq8q^nV&b<25dXE2Qi|tlRjCSiRxis@?Y5sXV?>2Ya&0-;M53%n$ zq%M-vmns**{o20KbxHa%n_GLh`E}Q{Z0>dP+t*mk^S^S@|ILNpr{x<#YM! z9e>-!U)D&iQ8*dS@L7B#qqY6&*Hw=DI^^p2?&Lhc{7Y~$-{0SMVvUZK{Zg-9uQ#8* z#PN{yy^_LzvD2UMt=utP@$I_|OOAPYpSA|AV|!^j`MJ|7odx_Se@6U}VXS9z+MISW z;m3!y7bIOnuYCQ;pmmLNO?~v&&&|s|Ulcfdd(y#62mDtm#$P+KHD2iI>?NCmE*w2~ z@x9;=_X~>`?Y+hy_+8`GmhyhS?_bU)tbJnJH~qqI@8@^EO^TITyy7LpG3})94f76# zRQevc*TNFHjP=Hhcfwm$@3Ln-dU82>v==G9MwasP=UQ=HbIOB!oYX0-Z zwH5EaKiql0{dt)DyyA$C>08ccJ)EiJ{A+q;d+y8f52t_WNk-3CP5#U_>q>q``=hqj z_C3j^H#+7`y)~(4@jVs(_vzo8P2MWLng44$@8;H5@yT&6SCfo4o$PllRqDPJ!NPXl zd4|V^_KUldk1mL?;<}(G%2L4dxT5L3XBBh$#Lt!qz2-kP|Q3CTroE2etLXqjXjO?cxGSSC=|otV<9 zm-Mq@$I+4tEqYlyvv#D3O$eH(;y6u$Kw3fgpjP0EH=-&eMp=6w>zV)Yvf?wu*qTkR|T z!u!=iBW|szEleRvg{mn=`s>}MYOd|by+8Zu+KCf)?NI%?Zwr&r>rz{Reb>j-`@L>`zQL3K^S@a!-skj#e@T>_PMOAZ z>W19C&%sZ+ep^XfBYH@GUp=$QM=N11{`mdx?L4IRGwUOs6OIDIp#s@yth zp@iD?a$D^i4q5(d;OVToX6pLA{o>QDRV?SO?=+v#mu&NRd&-@Vp56mpx97UfJO1U& z7pVrrJLg>g1~Ui?9+RnNJ+i#`)1%+l^0r_9x32ca+pTdjvgOsUBsc6~O}!_#y?VEM z{=GNJjtVg%S$D$rEWMl}Yb?x=!M2oXn_J}ymfg&u|5vP2S(^1W!uysypP}od*k9Au4hgd&)!^>q7>bp$EW2T3}p03$D((khT+r*Z#iS3l7g7h`D3HMlH zSgx6DzMSGLv2g9J1D`TE8s<3%Klzj6KUvk(N)p{a9zQ1Z(B+PPx57 zD6#s(RsW*%7jN7DzrplhugY`AeSe+ky-!;k_Ay*hyP%`Ly_I?My!G-2T28-eU4JUe zHgE6Y^Sbt}3{|y>U+2F2XlK5_S=Fm*QB<^v%ex8Y-J)(g7v#BYJZ`1+e5MA2!8U~+ z&zsis7ffXnGVU?HP>~R=7Pv(qf&IabV>fK_^jR0}%GnTfOm^*Dt(1#NwNbhSlAKjN zEwXMk^@6_+uWH_7&9gIL{WZ19c0TQ#%x`M4YU$VWk3Q5iHkZmieN(WDbKbd-L;HoD z{7$*O^a+@m-Bow!{VeHsEFn|vn3VTUTC|ZP$*{L=!KagNqz&(HWQg5zBB|U?^5}`e zl90V!4ngvt^mjZ>n=+Z#^pSqL{>zT3Q;%LMGTN1-$$3@ZbX{TS92>%sM()2Gj2D${VX*9rF&|Zb8unFGCq5mWeI(1<{B#u=bl&lJoBd5%!~b@ zA9ghTozU}qquI~s>nHo8?GLN--?!i5^JhuoOtt9~{<279tbTZd>-nr>H}yY%tp0L& zciL*}buG6(zwQ6%V95V}@xAS7S=aoYZ{D%4yz%&QEA^h8pVGcG$adYxd7r%Q;gJNT z=B9Un;U8Xn*!SfZM}O7xk3OAtmv`OU)&1+(q)GSf10H?seeJ% zw#Dbzd@uD5y@LA9E0w>yPBp!BtBLXCv!#`1)jldP%9<6VE$A2iVbKw2@=~>d-8d?x zk3;3Zg8otGn;bd%Y?t<0KX&ZriaEGw=hSJMAGaR+$^CqC$Eiu4I`5WlG}>Hid4(r^ z*^bwV6+2Z*{3kBj`0dBT#qE1~5-)4V{m;l>o5i|u?TU%nj=3JeV)G-no#m0v`g-p% z=bAav{yP}*RyJ()k+x-WGp3m%(X|34j@WkNVS2Wnl zdETaK?>=a2&bCng*4pHN=ldLvITK@QJ{gL37 zh>%IkqW1oakblPe@OsxW`PVg4b8I)*+HPI;(){k$MOE{}uYJBV@7<%H`+m0EKihLV z_+PX2?Mb`!{65UG3f&%R;<=ecIDGk^1ey8CVOiz3jw*a9_`9%DY}WpC$J@mZ&8M$; z{@p&%|EqXS^?^yPX9B+LXJY>S;9tSte*x0dnPg8#?-OlbzWVElbu*^_SX+8jRIqRF zTR+K%1#6Zz&iwgVrttW)=!zrU-)^7n-u>ZCAyT=VezwY1q=Fpe@K}m_x z4bHaO3zSoY^>%aXXm7l|)n53o=1snDbrYm*CapPZ$H^4E+qco+{+(XV2{+C#_jB(T zjIMf6SZM7zAw%`?A^jU?=G9C6cyva;CT;p|RZE`8C)w9Nv2vzvG!ICqkDeO(m2;Qi z!L3{McD&6ApYbH*qf#)G*fhiirkK0;gWzo%S|7r0ryWTwYbr*7eWI z#W@d7xqCrs`kE~&$tFdm9NFu>=*m9sR>l?cA4T2@H+M5Sd}g;{ z&YgYN-ew%--1*G(-o96Fx9)ad>nAR9Ts?maOMmOud%A~0R?PjofBR9+dRe(W_pIOj zxhtdW($vl{^@X?3irJlVlh0VQ`RUqgZCfydP2M%$XzR`%efG)O>GdYc>N{3`bf~|s z^P5L2*J;0_`#RN>zq<7jQC9AkV+$9m^v&oke*f>=qS^bpE}!1zw|(2qo*S7rb7b~T zt-l=Az^c9L&ZMMO%nh=a7%ywKt;=dP5&j<{P|hx%HecWN&>`Q)`pw4d-?rUe@|#sx zTr!zoR7dEg_xuxibNUU>c`3Kuim!bna#O;DJ@4V=Cx2|_UF)~Z(>(O2Y4`Lc6J%rf zI(z=79o*A;ljGR=GA*AZ=Z1`bZ=4D<#=18BVT@{zk2oB z_pW*t8d!B+0wt;_38xC5wk%Hgbmjj;L+y&*A5Xdsv&v5>?piR(t;H$GUH9z% z>r5}s%zp89?ZgjUMyHZz=gq5**}}D8@7Y$?i+ghm4Zr1UXt^`53*wy;?YhEY7JEeV zzN6ciMQ5r_5pzp0zcI(BLHcp$E!EANciBBX`yzU4_&lG0iy^!>#m(1QRM~JaEH_hL z{p+@mPoCqVBa*u$ceLH!clhzj^Xb}$bDQ5!lfJn~IqI|LZ_axz=1OlT6_j6_KkvA) zfpD64@b8#ScMq-m+`3Ame)-+rY3lzttGDlrEStNJd*{K1q+2I1XU_3exVSFq-`0z_ zjb_Bfs=RXCJ7vbft%-vv))Cm)_X1rEeJXq@M?A2#f1ws9EBF` zZp~3*RL+{k$M$)pL0z8P>s2Aa7CmSGPdIbGKjm53iTUkTyQE~7On7rIeS(rb`%az> z#sWRT6Bq9^p4A<+A!+{AtoUQK9Ql^B`z@qxIr7&yGpM_%>~el9kagbu>WBNt^UKa( z>VN!Q&r=IMok;8YXuRl-9_8NOm!xR zi+zt^FS9ZJw&(qQnFZoWk=$Q@Ms{R#M^Q@!VQ{RWo;pcQ_VfTD=e8wA=4e#^%Rl;jD{ijb! z=9+V`bgQ4@H-^;)XTOE-GuM52?2VB3qV1v&Hj6TDd1{jdD613G(wtS~lSJc>AlChRmJ48Zy^X#}dwY-X+nB~tVUwSbkAj3yb?^tiX;%+h5 zgW*hiD;S}k=x9?T$b-Q;OdMtkw7e7D0DBpbltvfumH?8tyWw!9&(K=I8 zX?oEuCHW@L3)yo5w$}^|V(l5yR2 z8wx6~R@{HKQ1SSb%woIpJsH|h*;OV>%4qR^Zu1VUo%vvYmilKqwftnMIi^J-eujyR zA5KUvu6OmR&Ei!ZOGy{d`%Mu?RJU1Z`|w!`7p(tYWd zt?G_?FnH`6>%pgP7%2vc|9|I<`J2T36tJ4OI@w7V9N0NX0btIUEa=nH|tAp1ZkK2S#`Lv zdG!Wn-*|>Kc~hRnuc}Y#$5U}5&E2(Ir@EK26&&(v z{1<%Ugo&kpg2=y&wGRy}66QaDv8rEY*(#wuN`9C5vve6+1Y4uD!@WydGqhTEoJsby zocXJDW}MPmx9!U;)=poW_u65}lR~rL^j)3zqfg#oH)y(h{q5cTU*qItC+~jn@#O8i z<@W-NnNMkJtkn+xBJ%q7!Kx>77GI4s?A-Hlp+mmLWb=^IW{R&JuPxsC?qFW=;X11< zDYngvHpt(Mm3ea5jMICG!+Wu_*K%$wn1AeL>)B^7av#*`t$grX@Y&2>i`na#SBSkx zspJr7h<(Rov-r`eYmXTJZVkC`?)47)gB1%i*#3w5=WN&_`ETRmBzCtyM4d)@|`$^iRP|oRwKxZT1q|^e|8J$3J@mKSM{1o&Sbfi&8R3p?Z_D?X*Kse-ey^? zJuGqD1%@k6DsHc7yX1VCDe-0P?v1KFP7m7ZrE+r*{eSb$`HZLukNc*$_WzrXtq$DI zV$gB(+1f@!9}A7QK8rp#+;v>~PK>)yeEty|-S`tOVn1|$ewOWcTH4gN%2j%1f%NuO zF)soRW^322D0&c(8MH4BzxDUc@>!8Qi(`vrAO3q~(Z^JlAbUP8=NpQtI_2`uV4ysOIkPT#=Ho{j2I)j)7~m%CK%2Qt~zPB>y50;UI+JE<-e=%Uf=uf z_2aVVTcvI;)-Bq-g+-{EM^*D(wWQ?d&ehSAGm29#TwBon$@x3iO=s@tdjS;4PC}}P{4vg0&wvTO1`qsaYgjc*nXqAM zSFqwGnF$K4)@-wHOgJBs|H#3;Y{{HS3_7|i=V=>Cq)MbDrqA4XV`cmSu@9$%{|0g- z>QsGsA%6NT!=sYrE3NWxonNWxz+3Ar%Pq3RZ}U%$TT17f9i(q5GW->8PW9;2F}*pD zSGDkiJ zq$o_jacsMG*29Pe4U7xiI?p@^xO6^dJG*CE=PENZu>})$JKk^no@L|AWUbI!u z;8y4S&G(E19$c`V9=Y*bed5-vwkxLV>^I83(&|0Z5X(4o$LGDrkMm@hJ+oUN!@A;q zaC&83=FgK0=Kp^fc-^WjO#jQD6 z)ZglP(xsW%hdTK#%w}lf=X+F`q3mK%k!(7ze|4Ych0yXPVf8J49o0T}y;nKq(=E>L z;N;)9SWh`K zeO`xm*j@#NQ&0I8IP6?-(eXeFN7}PQG0&{_*BQ%FF6=lq*ZJLtwCw&91uFmVSNsq7 z&U4?>dHRBV|9=aJ7~VVlwf%wO>GRu`D5xGzsBM|mGb_paai-CV%-3;W>ejdz%w*m2 zFZP>y!3DnG?TH@JS9gE=_;1~{?+ufrm5#0`RJ|hi?YPj(EGF)~PCwuMH(j-Mb)ABM z{h!sMtk*b|_%2$!lUSl8{;~T==b77=t~}|hpRsCV2+O=wi3Kfh9W^AC4op9mdF0#TQ+I>$HXrITb}ROzpz7fVYS!)!c{-||1tPJb9GR=vM4K+ zCwgktigJxB`{g`8m{w0&6R=Qz@ANzqyJb`6y!@5*I?VeU_llORW7~_uFJ-@Hn>ImC zdgIMq4{Wke^Y-XIpEfsj;moJouimK%H`p{s`Zw3C@Fx;srt4-HN2f&vE)NSm;U;Li zkAKdkFXyYPjpiR!lYh3+sqV6aS%g>P{pAl5Mf=%bUYOBk^Xq@v_tMuE><%k3vOZL9 z|63bgJcH%N@@uYdw>){XtGsfRRmAelqswmJDYA9AJ$p&!raSYFPG!Hn=;-%t>)4VE zKPdaS8AQajeL7-e{CI=htz(xjByTB+(${Hle!cSHc1fS+Cl)6-5ASWOS-Ah4u;0A) z!%6+SSGLJ*$k#sa@qLHh@2G~7E0a#m-|4)|-@|tmU+=+|nf0ZOU0F6)o%xl7{+AUx zN2Iv!vwyr`H<$7)Bju*IFFl3IPnF!X3QSx6p<&Ls^XCp6?=3C+AI5cZDrZmVWaFl$ zgy%;aG&_8X@|VACPmxG}v%@X8Z&iI^tFW;C?76?bF`8cQ`KD!ZbCSuCaQj&T%5Ae2 ztq?Q0aaHGY+=|_$=NDHuUOeB`@!_;dh^#}|g^!ZAS6rX5Q+2mg+oXv<#g`xARXppk za^AecMl~t#_x;a0=6-!`Gxw;i>HNo%^FB|?6PsHF$q&P0BSqc8$~8aQ4kE>x-*C_s!D0Aa_Jy>m${L;n6oX9e4SA*=Ozn z$=!RFK2WNe)?=a`dV0aCC=;IptIb(guiAR@Ft3$^-xRYy&OM)(%kpfvCTH^V@$75g z^W*pCmd5|TBho1K?4?bZ_#C~^{d?XWm4D3mFC%LH=Q*1s&KXTvCnV<6UeWny&HbdB z^WqYZlC^T&{QB3bPTp5(_wxA1%1JAIU&iTv3h`aO?{IAA<-%D<9?0B2sT{Mtoc}~N z2g4;-CPAmO9X0blH`)g=r(eG~wPo^$7gbzIVS8p;23lL2m_PgZHcdT#zq$Rg1837u zT=^LJYz3?Iv}H^G7BUrz?rE0}d!%wUBszFQT5Z2$->ay``WzQ+Z5AVW??RdH#ktN` zju@>imbH01IW6RZV649Q$?t4aD&CnW*l%AU|19|>vzfQN|EIGhk8WmjecdqU&tD0F zt%BCS*H5|gS?&6yueEcdeofuC?z6bB@Jgk%i!<+d9@4h?XP~ye)$Z4{h3`dviLTb2 z(c?Jz>ghUJMepGMH#+K~VprDJd^^J%$h`9H(Svo*OY^_K_^@FwcVgDX_{9Y_(HlNY zE;uUlyX;O~^#|v~RzJn%i}b`STi(2IS8uP58=yjXU+J(lYPeH>L-(qo>*|;rqf|@mCdYIxXl+GvpO3S87psR znRh@~O03PkTt4XPB!|A(lPYpthgSQHAS;1`S;$VMZdxiF$St^`Kh?Z zs^RJ~(NFHpTNH)XcJ=V}yY3f^5vVztob}|T+S!n>(tD9Pmkt@EwXNPJb@S{rW@Q=f zYtO?jFNzJV>_7VE19(Duh^Pn zd+598;ox0H;xhBko!{Oa?mBr(q)F46r6LiV=l1VAR`tsDa{n)hUm*t8PquFL_u0bu z<-yguc4mhIQ>Gl``j{N>Wuuu~(_+PWR`XIP?%3WC+ffqQ=__8eb#l#y+wE-8 z=Ja{`lL^yp)#}Xms=Qw5cvjub+QUlx{nl@1;;tSG+Yl(Be7-?#<+A;Ajy3a}E>blO zsn))^B29uZq{}hC!mMap#EjLshfJd?t82DY->ACW*6{oAxoESuKg4|2=Wb;9`Ho-W z;!?3!%&RuOGP;~5DK*9R!0}B_`_|dZJGba1+*$p+Uv4Ac6${UXaOSf&nE!ItH&oc& z>U84S^`emRf1vK7+OwJ~1In`G>ZmcWd3;1ckFJ zm_lD?{twBO`d)nRJIjo@uapli6nUStt$bnoy{oQ9I}WVB;>Plc-JMm4$vsOdgkNIG z;TKtNg-hN?rbNCyB6w8hiSCK+&h-7|W_zk0l?Klb*}XeGOH_3I+A0Q_D>a8AnzYL{ zm#x<8YM*iD3(GZ^hv%($?(C9T9b|IaBy785Ro)(TMJKwy z+g%+&8}jQzxx07pRJYK8Sfl5k-fWyx1jIW zuh;tjyYDP9`&)0m-F*MA^=psE*Z!Qoe&4TGulMJye11FncK`lg>(B0%&H7Pa%pe}% z>vy>%EG+M0b$!8qrT@$YIzF%EY(+NfNPSzsOyI2b*5VLB^B)CMYsIS`39wp*nQfC> z7q{&2&kh|qp2+VX{+oOGwV%9l%acERxnbHAhuiuenf@hfLui}NtNBWW&&dKWvbAJ41 z^-HXGc|)A5=?!ziPc45E?7ZD>9&>hHnVzRWNL>No4;Yx0wQcZ%AB+2PJK`)?GVo^&={3*;CIm6H#HJ( z&e^$T-)uj4v_-zNf_v!`MW-c6TR53l6g|E2)GYDOWqxnD|2O2%RIO-MSl{DYU=e1U z=NA2Hy>}_YtRpL&`9-hm1(kNet(51xz+ZY?ypw>>C# zf$fjUY{^?C`~R99U%bZrm3Q&mkL?-0qLVt4e=BE%ti85WY=7xx?XS}_XK%Yu$aBF< z;y3r|x+jNO%uZ_RDGOM%gfVTn-%>v1z-P-Vj5RMCcpcYl<#FBYZL(v9x}2tThUqmXuhx26DY~@GGFbI$ePWS)XZ-=K zH-Q$d3;lNNFY8$G;_%GFJ{yDuRwR0!{a8`QdHAB<d{;j<`rI~+s{dW22$kWdK-?v%& zwe$7GSqMM+>lPmRo6)83*Z#ftx=ZrxlQ~L%Ukve;g_l~}AU-mV2 zvm{>GEB0Wv)V>uv*M0DH(lz|J|H;i08||L&Jh$uhp>w;eQUy))J@i%QuVlLXL?q^) zMy7gQcH-wJyYgzY-SVVVj{ls*_W9ob4~ji^=Bxh*xRaAvU>P!f|Ey{Ek6&NNb!F?? z;9UP@CspsrugbXgq@$K$?xR1duO|IUwX2h#C)C>_65)G#YFtKvlx1DhjGB#n1`-;M z%a6UE$CS$&w37W_fOX#6NyiI2&IJVswsaf}|7^HJ`XD#UqA3~)zq**7^RDuHw>V{u z{m&wGt$!J^zqx+Azh&ERwk%Whq21k5VHcTu=h)e0*wtPytvFsNHRH6V%d3yFZXfMe zr24Wvf1Y?uZ)VB*NSVGJjqH8pKLV=RyPdmb!vFhxpB`-Ok-Nn(^lCt zqV=JE?bO#Y+rHf|*=U&={M0;Ealz}?tmzsC+Dih{yfrrHTn+WP#w`BbzvJ?xB`06` zs&ooVoMb*L7BS(i*ruB^gGDOcmLD(dIC#f?&6bm;dsev$J+S`d#iHX^e}=_TivQV` zM{KsQ?$cQfU;l<#hGmOXo1`M{I38*abWB$f(pwykh> z=5kmxX|J;Giv;BtJGvjrYHr;k!6cL5z4dhX-Ty)6)sM^z!F_&_vkf*R9((+8fqme1-}<%-&6_@& z>}l$pRsNL6d(X+XmF$-o>ff^5|DIsKCevyE=2gZn%U>Pa<)krLMUGc9FD{pt=eoqC z$*WT%toMf9E@ZO1!t3n%eEQxBk@#mXGt&Lvwl;s0KKgI3jgaL=$(6Bu>1*3=+Eyq1wwE%RmSM-6i>fBB=FQ)J z;@I&EOj|eZ5LVW$m@+MnH#O4q`Nu25GK)=xmpS^&xO2G+UhL_)<@%2;^S4*;!P0uc z*rwkinUY6uD6r1<4_tof#>9Dw8yEgdkZSA;xVh_kdYHOs{m$%3d;tb|E0&y74TxxJ z{K|d5dZtK810%1&$*L(ETk6tIY8+d!Il)%ez4S@AX`k^mhsw~|uO1j)-8TPar}eBO zk6R}{H}u)0`fWn6MKAZh>9P}e^&XwByBwFi*HYtlaLb!FssEGt|8e*qIDT@)e38hvPN9hZ0gLq)nzsua-+6>FsblXVyG!Rnj83pLy>by+c4fjIKAB5>r}w3?ZhL+5 zka@?P@PZcMt>ycb*RrXxMDBj`f0AG2Mg7Se|IOZ{^{L-8o;Uno*dY&o`Ihr`tAdwy zF4}mn@N(NVE*oC8tmrLfX|`9V|DGOTYxviDu8+m65}BXo1rvTmUn}VSTzyDl0na+g ze@)_9#r$jLPZ8|%UpVP|M*SmyRey7>Sicp0Ti2`g&e<07AR(jHyXmphQSZe^o4RN8 zujLZc=56BodW18a>wS!HYDkUYUAu~fJ8oHjJEWiag8yTv{=4&UV|IDJioKP*Ys0!# zeJ2-kdC6qneNizbifnzOjC816rMXP9lzK9?ZkOrFQo05 zcHS?!_tPae-Tx%XvNt_^g6Tw2p9T8_Tn&D0>NsvBaQyre|IMc=zZm318MZGl*xB)0UZ|($ z!mE-Z?&SxVFL9nHE;OIL>M{e9~Hg^)G(>ek+WCnqa2VNrPfFY(Vs|0|~Vi2ZtMerR(AW&b=~r^xb5HjqS?bHW}H4V@m1FA z4_6yk-aHdf9-k&UuRisfhwS`wAOGDu-F$6z#^=Xom(_oNz26_V@6DFo6RZCEKKLsA z`ImR)+WY6P9(=K^eZ}Q9i|6xin*D13lIL?w7Ts5vBi&>wkmx^k<>6-0g2aXIXnI=Jr@;L{j?RHa5Qq&%IPkqOf4p5i`!(*OFyg$<(_{=Cvg9+ zmz+nYe$pw7&)lVTCdj<>xyP}n+Oj*5dskZ?s$)&-xTVhTI%oAINu{gX_D_EC^3rV1 zBk9@8JWMVwe(rVl$i?Pk>9_1J%slXAPH&LYMEC8c8@Y70&;7RH@lIY<<~5s^?^$^& zSIgLZ=g-}{c|#0b)7V+nwJls(qWsuyoc@=>B+vNsG}p!DIrqafZdPBey3KrDC$wZ1 zk9mmh)~gL0y-z13blqYM?veVhwtGvTLxj|3QIF|!mRhf#zaaX>neEA9A##GhULSW0 z3I88i-{-cjn!}cjIe4kjS-podu3X`8cjUkDJ;3*>LpbNYmXjOU3%*NTn`887BKNn6 zy`qZOuBugSnG@$;_1NT1W{~%fM^99DxVuiMnicKBd1cLs{$*FrTL-CG{}r0`it+Jc z*8hCxRwgai;F_v?Z~EWD|1qDe_TGH`=fcf`3YWr3f!xh<^YVkdu6iw47%nigLayI% z2um%`)!O5gtZ#jYbCp-=O<#MyGDz0Z|<(}>TdVk4f z#iag}OR=XHMO+G$@VYstB6hm_!Mep8Z@k`J^Pn_FPW;=fZi@fD_j zqC%XjJCmM!pJkbv)%5R8dj6xjW#^86_*PnaWzW5JVy-pi2mjS9j=Irg8?lKg`myM{ zplDtDXLI)4<D6*~(oVZ~N-|d@h%jDiXGumyqBXAC%(!E1( zf45(~v!PmbuXVtj3vaF2x7JKsDIGh1`QzO)Y}ULmF8RpIQhfKK(Cl6B>gH~Iw>vT? z_UiN5=d7d3c5jO=n>O>0*mC87rdFjaZVsu8P+tr2Jts6|T3alFHZ@(=v_9)U`Ez%q z%gz-BrN;%9a0FZ}`Y?UfdoROHa}Eg?E2nG}GMakFQ{}VJs&~piEM6ot%8A`w{vlRa z>);wg9T%Y^CJfTS9!kC16_-pq8ky5;$!GVQ{ZKetWZ<7awdSDkpq{R7R0uf3*i5OaT+ zvLu>mtqZzgK*-u25VW}Z)9>6N6Dt7Y}9f~=n( ze|vU*xz16Ms%wqgR(4ux@rf!ZY&@&x6LIao!1oJAOVs!`wB2Fjp0i%2HcEN^qPw$L zn|`uz`QO?+V@kMyQo@(;(#2P^Vx&~Ewn}_r66f0Z{!6%8;ndf*$=b@jp8}bdF8b|! zE_7AL&RcRXzwBDJz4h{}Engl#J1@OrvmtewPK?$i6pWxQiA2T!*m#-?hb|%vBSYpG+OA2+XuGaj0>%Uc9&_S-KueFO?X*1`=B;`Hl z-nQ;=cxgSkL*e7z&C6uI|1`L2%$qL#TuLeW!;gy_*BzWcr`z=5( z-0iV#`&Hxf_uFNO;w6vzzg_g!ZWNyP@rdWtZ=DA&Xb7@SJ@n?&gvh$r(We|-`z-~p zO7h*ylDYr%dXDOj9Bo(a<0q$N-TYc{?f;3%v!<+n*s zS8YD{XD3_hoaV;mjSWu^7|e5@Er0$;y^YN8i}Uj%ZW*oWtFNz;J3ZrtfR?AfXX4`@ zrzG|$)P(+OX5ZM*IAhb~t$WVhf7g}1+P=!AMYLy3X|0r6 z>&|)6AEmd1H$GE8qaB`XeI@3!$l7VIRtEB1+-;o3UHGu9_z6R=k$22z<64F?o6AP~ z^53}h%Uz5=bm}1gHgo&xV}A`fSO55`vo%P3V&gga*v6>8{sv}Bw^@}J=gyO#-ORRb z?rF&2aAav@4k5IIOrk?nV=i6`$-dUC-D=11S9#yOswK@Uug~AS)mG`a z3`?rTD=+`bz#83!(|O}eEIWjAna$#t$**x)uu0UFeYU`a?QYka{T=&!K1kNtY!TU} zc1!xo!UtbhTs{0FQ@+?}xu4mMACFtoF281Cte*H^udYXrKY+Qw?aDGKRS74~-&^Xr zoCE*QJzvzfdspeD=-JPtrB}B&>;AgEsB-b2MaMQCxZkx}?ef|)e0nxXXD9H<%sRPt z?c=))?yf>Jv*d5NeF@+EF5v0pKV}@)SI^bVi+R85oZgw8tq+;pw(eZVHu?T6Uk|Cv zA9QZ5xE0a4gQ>c7LD-fg(P_sE)~PS~vnFEV>m6^drfN1%U%4)!#_j9wnEPFBuU=G% zhi9hi>ZOI0?n*q#@cK^os}ioQb&K+Zt&VhwWhmuun&Hj&+23q-$C1xmc>zp6H|yL_ z5ju3ya!JYET{7=&H=oS((|pl)q++l1|9Y9b!rVt2Eeb-|?#yS7lvhib%yg*9hCw(_ zX5#(1%PvcHGb`?TSE!)&N@srk1%0 zV;3kAS3jJ4@)7%k zN$puT*;PEY{+_e;I)}l{nnO~4O+j8pUdt9q~@hEtJ}F->c-LR`d_ukQTe z_TZ19@AK#47FOond#nFGl$*DrQt5$qzzLzS>9gwY7Vf;(bou>VUdwGxFKjl|9kccB zy)yg0?3~EJ*$4H#CVk`yO0ki3w(Cjnm)^he*4cGB&sG}Gxz&Gi@!I+2Os;!BR^89J zY;JI_`s**Tp0-zY9~2J7zk9w!@$Yl{*SDv7=jGmN%YU=3clBNk$OwZ?2@Ot zRBXQ0@N34$yWPKR_RS7F({MX#(vb;$2{Km?tc&4Za&lknhYG!dJL0!5XBMqHp%%II z^LMLThv!G0?nx_~->agp;LG#sX?Xl%mk@)qlHu!{uAO?y8a%P=*s2KszNy=Or|em( zbxmxNj8E&l;M+!}V!YQ&9irDwZ)HCJvrBi~_wyH)* z@Bd)QH}i_m9rxGFtEC$jU%BFY+2UB{I>}dw)2jYD^LJdHQ9Xh2!OW=n7fa*#E*RJJ zhfePDT&uDm^Jc?a^LHGTqN4G3{|pZPcQRP~e~OdL-9D4WXWIhn?)l!W(g@l4;`o;v zwre-cbgv97Pzm6DYt?vi=7KE}_Z$WMgUxh5IQ!%z%oLoHdu*Na9)=6E4_)43QpBCE za&_AAecs)?8Y`spc6l9KwneG^V`znAz??v3u65q;RMQ*+7HK?rb0I%*{lU8}n*00X z{`gmKUwuEbwyo!0nzhuf8GHq<7jLbrc>iR^g{a-f*ByuYhhnLfW~J#wkFKyGr^9Gg>L>NMlE9D1bry~9=~c>G#g9`LmA?rfF2 z^R4HpN^Iel2sO)3oOg#e-Qok z{0>F6@cOgmmoKhpovUL#Kkz4K>-Dd97a#VUuJrc0)GE){b4yn}SialQ=Io`|`I0iy z7mm$v2-8@Vx1h~8WBot9g7A0K8p|3(KOf-Zy2fk&y!ChR`q|r@YPXe67CUwQOoh@N zg^ueNW9Dz3pe47>(e=eniDNasB|Eu2RV$B)CiMi1n>c!A$a+j{k`3WsD^|99;k|jA zBT`a|Yl`Z#i!X~E+MYADPb_R}$&TFpVmpKP*S@J+lj;%sz&oC8&umHK74{ilu3DX& zbup$kwfyYVBc(If7pE2}|M6Zh>yN?ypEifz$jH8VFWUFv_W8>ii4vk)|46!2d+^%w zo&5UTZNvVRyZDk^b$YMAn(LA*X?yF>m(w0^?9MORS|uyD#`MUxS3+}k+g;1Z-SQ~Z zZ-0rO_4m~g58YVa2|k^qe|5#nNw-By(sq4#oTX(L`){?^E4|o1uUGBT`Fk|}jed#Q z>ci(w-rnwh{O&ioE{U%zq)j!LHc0>dUhf{^8}f6?%-lIvv+vobZvFr6n$vUb>$1+T zqz+z}dZhDbmgBiY`mE1%eq3XiE4n{TW^+QL%&o``Qyk{C#=l$b`2YKyO%p2h^ZmNJ zrmtubJDHhenk;!-;KQMnhmOymym#%JAJ$Sv@nQtYh2|G9sE{78R$+AGwiU+%u3bj7rD%U?Uc^r=@_&#*%1%=c+uw=Fwr&2MyU z^ZGUG7Q~56?RvEHR*I-@o#4xF8Y~9PiWOxOecGS-PS!ecX@y(zy3G4qk4p=x-Zt@U zwdklWn|dpGq1F-mFnzsO4uUJXe+M6a>Gt3H4~z2gf^MyUe;z;Ec9G%KOCQ|&diCu&&pna`7h*lE+?H0C^K=^u z233DwtQ#{?U&&wT=9b8JXE&_b7<#Dt-WQW+{2dzS>sRIe3t>L~W`0(G{i>@@Y$*v2 zmfVRmPu@_otJK%OTokXo{oq^k);)7y%?Vs$a3eNg`59TcU&~)>nVP0f@voM#`0u;Q z`%YPXlZ~dU&r`soN_F*Uy~uT>TtmeV;9!7$JJKXI}CvpyfusNG%dl8>mDHBMH8y{es$W#dFqb#V=e(}?eU;z-YB)Z- z!YiZn!^_X8!ro{UN7ZWap_LbZ8q152Nz z6tN|8yqT^qy}@4ZiqQOd%j89GT3H7lpL=I^V)Ti|J6&?Fx3f!s|H@di@fzF0{K|qO z&#mI`dEEK4=hL#{mv>nnoSr1Q{d&y?QPWVpU#Fv1?s?`lYkM0<@w+LBtc4T*E|F1? zT6@oEU*N)|=wGFrfk!wN@)|nc)Bbeg*^*f-^L1jhe@P|nYuw|%M^ZKS7E^irlTDV| zs(*L8D+|tFJH2JM>n5R#Tkjk0tUtLYP-G88+~ssoBX=FKf*)fo1o4gQ0rlbGhk?7u1>+4r< zHEwn1T^J>7yLNltANjJ!-QRK4d9SzVqYchT;K zg>n~Xko2ht52m{g*N$%vids?i@SHoZZ^ZkC_39tgt#}j{MPAy^wC#54$)-2unol`z zwrf@L1iEDYbmZwd@#bvMrEikEOJncp*2Z~9aylN&d*+&Ud|$9AK7 z!S36aei{Bg{v$R%ddoZ2Cz8q4$IGh%1!|Hf?ELnpX0L|ETr*{H_MKN9OqHH2bXouO zhq8@}+15R$a(@XN)e-R#I3ytaKlDe{>6*8k!mGOMn6e%xZ2lorlO|bhBEIZzhvxdX z+OM}RnRYdUIYs-uU-B~s^-TS4^J&+++sdwY-ifKdxn{z@ z_iqY2+rD)!cXzZ|KWpPWZ|C#;O=`pK2_N<>Szh(r&PaOS#LJIP$y&2|8P%@Z?qzb7 z<*5Cde7ZuCFGs3M`s>6HBGzUZrc zlD7Q9B|@Fk)m|PoxjVh8b%XV;pSROza|rxQ&Gh|xd!bSGYl9<+%?-=Krk&g05N^9{ zwY&J|icmXu&x@9a;=cOXnoQYx+`jo${_+(z8flZ=IXsne*A)3&@49u)pzQPS&e+n} z+G`r??mheb`qH&sUxen=&nb?bSpVE1e_zzr+-p1CG-DU1y_&0K-u=8hGcuu(|9bD` z2Q8Ab&a1>uo%#6H&*j;>8XNZVsb94Iv)%7Ou`+kSb`)yh`y6z9T@g{rKlg06MW#{iJ3I14jX~~bK5Bk2F z)3ztrdf)Ue&wW4d@RK!8<%?XlntwPu)5q>?`N`B-j$#J0xcePKpMHCOA+Omt^JS`5 z^zx&(-dTs2_lvJ}tZcW9I=I~=sOS7Kr?BLv>DQO${LHcNJ(YV!Be^5mmnHkiw0DQA zdS|Q6;x=YtpK)$cN4f5GX?FSbGo$hsMDCk?rM!Gu+`itB0K3htYaCKjO|HeC;COI5 z$?k!1!S5T7=C|EG@1Gpn=k-E#J6lNi?tsqII|b{Dk5~Q64A%EpSb4=jW4`~>{_DqN zU;aJYxXZG<$@GqGanPbS-?xO3=UiRNC87eamz5i^_YkJFdJWm^MXCe?ow{g%<`8fFY&T#pSJPLg5KFVOyS3# ztlaB$@kr|P)51$d81p-1XEv>jHp8BGVPPzI*46gxq(Psxa_-tGbL(z;tYPQRa48dH{*dJ+R#*Rg#WI&K=N{dBz~nJ6M>6KQ)@?yf z9sNs9r(0I+T; zX&*Y&cA`q=j)3cwzkb`Bw%_~sse7*S`)A8ny@;Q@@AnM?=sK#dd&Um|C^G1 zD`NYv^@}rKw{VdOzb6xV>-euNmo6?$cC*y;`E|kAQ#jFT^2{kV9UGcmHX`P z{$0F&&esy3ZBNcEW?Aoi!l%UcuTYA&|^E(~>U!An!hO6SYEjR8|^0dTX@$KZF z7E-nSb$MXOhedVw1&t0IYCOgn!6DPZFsbHio|656IsMHST~3E3w>utRc=+RtOQHAb zd*r5-oA~Wqb@$^bqi>OCRDaTwjgZGAsN?NM!TmCLJU0U~GPoUR@W6DRZ|MR}n@#mE^ zI6vR^+t%CM6Rcg%W=v*?Ghn_f@H@I`s@xSVt!oms7i*HQcDz@89G)5aBz(VALv_TD zyW7gm{P&nWo6Iq{cunsoN5k5?DF z|Cw|t{#I3-?H%|2FE9R1o!Y-Pf#ts5H=p~ntPievze{rVwTo-3%3Jgt9!P8s-|XYD zN__hA!FTqeUVAbfr|p>L5u%v?7Ba{tHILwbl>4G2F#CDIHRZaUc9a& z6mm{2bs4|0`AnumWw(}Wc_XcS?D_Tb+U(=X&-~2P)3>hO(m$_RncZ_u@5=U9Wd%=6PAy$y zmDR%7w5|5Xk-aVn5o6iY(zQ0@d-89$e=)N7U1-C!tCiSlHv(0ehP~Cs^iOLcF zkmc0|Qd8Pq8E@!aXX?|wW6!EDM^BzU_wW8~ixu~>Z*0FKBID)9{g>y^RJSLek~+;T z1oS?|+`Z5hx~0uW|Junje?Bb#=v+9RSLDG;N3MXxvIT0INz*y}-#rY>Uw<|CDA45o6GoLT-)}mes=ta-9L3CQ>B|{Z)aR_BEJ6b(|SR>Ps@J4{}#V(+qV6`FxIHf z?*G5(Z~W|X<0GH`pFJ2JVQT4nIWlsm>-)b4|91a*-@Wzg?qBm4rK-K3`$lR}@8yuc zGRbkb|LM$1pVGb2&tfY7<_z%7?X_=Im|-#^yOS#fFS`N>n{=DJSNPm<8QRrsSqdc~^0PhRVX?^od0D%JE6nxgIF zIyuuSK!s^l(9(OFmPUI|1+X(uvPkMrecbu#{~I3rCwD}CMf(4X`ujfO={!KIqhG`+U+I-prY8pxhEE5^$wWq2~OXBs=Du=slv1S7j17a;Eh>+Nh!7 z@w?xXC#5CtsPCDUimJ8mpI04zw{&OwqV;CxOC?S2M2oj+e*N4xC6L8Zh{;#>;gs&J zYo#9SNYi94UaejHCo$aj8qeNO5tXm|IJbnUUAz;(&&PMh(WtKffK=B{=YN*_=B(JK zspmCKL_cYgR9m6h47JITR<7I*R~GVIx*)Q#d)bARUzg7MA7QA|@OHii-`aZ52ZuLo zsOxoKVS6FoFE_&Ufyhf<)#V{Z-!%3r?Q`QTw~{~eqgMJy{T9VZN>k_gIY=*kHZ@g% z%jM=}*?|5}Q(dwZWL8)kSR`ic_XTs_((aCZ&C(q&_h~&dds=X`;YeDYZFgPrysm${ z_dWeDI@54}pL>DO)}P1onA0O}e2R3R*zcLSKvt^eQO>o)EgO4fm&Q$bUw*y)RcYepZRgLd54cslIPms@ila4w64|&3T>XW`}tZ#egZM}qjbJyNFlH>Qqe0kNz&f`)X`?418 z%F4g?Hu1vV%PC&p_%9uC*?;bG zo2T?)z-NP#6|<|a&K3{3yhv@&dC&8?`ApBN*PC?BSYNnl%gdI28{Z{iUY6|pBrE4W zn#?Ktd~qjdLf|fygB&aO?=HTw`1G0kQx!JvlD+g-Gvi1IgY`?9^NlI&ho{8-U3rz` z&C%ek+pD^6zT~uh(6jty!ncWOKU|s0j5Lmao^a+sL1Vq+o+#r-C#~kr_uX;gR#g1k zgg+Za*ZNMXV3_-?DCn};9L^oH)Ef0vllQxyd|S0;f%Ct-0Fx&LeADa~m7HF|Q}(Cj zl<~iwh||p`wf-l5R!ZrMi`-+(YQNBX=XlD72_Ka<8rAn-W!B!jX_4?}!PHxQYCERO zH@!FO$lemkuzJoxB!>3Y?$5FPX2HSnS^!kpKN9&!lI)zo*w&q;gC;er1mDVp~Hi zE|Zg%`d0F6yEpe|bt=Yh{(Wqj={@Q8HJ0yp8N{xdE`R)6_lG*8JI%!#{m&F%HM0+| zk33)N#b72dL-y#7|34}|KUedU%d#pJ|F9>;Hme&Q;^1E|h;Ru^e z*rR_Px%@BId1TMXtiEEKo+~X9lrFcTE8BGAze72RW-MRVe|DO-zj33=m+iq0_a8qv zalXEoaqi(H@pT>+Mw9j_FkW3?_2k4IruP|7eZ}rRyZBG8X3_!AMLyr&Ckdrrxv}<> zhWMkvIo~GU4&ndsuofQ=-WWkHp3Y%Y5F?cS--7;!^FH?!MnXWnt*ozLI;Ut2(B3 zr=2_b#zmQ>(9gvyJF39PQE$fa71|O{o=^Ecah~{nMK|xR(zAY!Txrkh0*bl1T&5V*mnQOK!81MfK&_@JaTkrAyZ+Wy|I)U7M$)q7;g?y;RwlAvdCIV=wp249ewn0O zZk*(*l@`KpCu~X#Ut#z5&3>kq;(sCXVe05*3UhMWJW!e)}jbe0A~C)7S5u-(|=8OXSv;B|lgKSW`sJqoes6ZpQKJ zgd5n1?~`ndzgtvX6&Jn#wb|BXN-kI5{M5O>2BdF)$Utbffd?Yv}~d3V-_h&=zQH5Cr-FBeBMOrEy$(@V?g zDRrMF9}fO-W9Dpb1Hl8iudL_HzT5d>Wt!>^oR1dRN)Exl{xysOaB^wkk47e#hT$3r-0d1}DrF+n^HNq^r5YD}y0TdE+yu+vb^1+TCLn{odN1jyS zQjPJ}jcFDc2Yvn4rwYxBxNUVtNS4Xojdu1XZu6>qVJZU!|Q%>etp`Io3?#N)1jHm*Dmv$cZ;#~-Wng4Bg+peZ_)AI z@nzf0`L~~HaDMT9ogii8XZtYnt7QDjND=0BvS0rvAB}N~sQnWBw(eW7@ALkk-FD65 zo@Ijk*=J9@Xk1~GziDg!9p3GSyI7JUR;&Ik4qGFZcmG+*oz0>T%4b-y{FDu3{Co3< z>}7qmj5LjVQ}bPN%C-MJe9SqQ|Lt>5M>b%pl z78dnu{>a2p!3`LX)~5woZB%kJI=T3;eOXUQu|eo>S(>TdDauUB!;j4QQ+mQ zfYoh6$9%ik-&;I6bwulxPh08Tug|**`qCeqey7NL7CZn;V z&Yaw(J2&h0yY+mS_Fir~pY{JVotQd4@%JAO?79EcZMo=)+>%*;>$ld%rLNP;E!!#h zE@$!P3E>KBORTCM{5Pw+KqCo^AcD%#dvu zpuIT6F#JhWg!(kWoT<0(-#YhTX}Sx`$3LfBwsO8)zFA5;Xy3#h6c zi`Ab!|9G$4d@kGCBXPe|Uq4y!d;O}AE#eQphiKn=du!Tc=~a@ReI+*@?VjSiMN~z- z@H6LsaqD&6%d$3py|r3#!4=WD(E+Ph%l`P6lNGxNC88n_J<3hXN%t1M7AaWs|o+J`e*UXW>%6k=-!D-WqtCxbwFT2pCGqY*a9!Q< zlU;?tRo@AE4(9oZE9U>r`7Qnb_W4n7f`{T}m1VzQ*{Qy`oOy=% zDepw%yWtz|7Q5#q?p6O>EBbqH@`2;`*D>BVsw!X*vk^|u`sb#bDrIR__t?20+b-$g z-gLi~+OHoaxA13h#tSNCL|cdba=N1T_3sAeo~MuGUVdm>*e2Ads~vsp=$yiQrQ_*x zD|a@pPpz5#CHb`S$+|ZZ`{#Vxe0t{QmO~z%4pD7+jw^+w9EBO1IaoH#ykN-bz2Sq@ z*6aV(%~Mjuzi&R`Y!t<8!(6jkWA2e;>nNksmmHgJNW7SqA1KECUn!)}F`!%J34`+F zt9?hNOf0u~xGi&ieLY*PzRoJ1-OoZ#On9w!<>cy9hpu1#9`dkhWv|4nQ?bG>nf}Y7 z`ZN!>-YhhK7`geCLw@ocRkgrJG0*#M)n>lg^WEmziUoIq{&{_23|?E~`$#tEhD+)8 zWm>wKZrbvV&#ztJ(2Z?Z&`UGdrPLCL@m+2D!&LuxiQn^N9`?s<2d`R9{1N|~t7G%-(js@=}u(g;5fZ5B(N6J?T+M;E8)B>pVAcl+n@eY#nH)9Rbae8bs3j*) z-~T=L=gT#RuJ+6H2Tx)3*3Dd1E&IXum_%=V@HGed{j*XgDY7~Kn)vv0k@5#iX69Xw z3c03O@;RL|jCp^2y~2w*kq_nf-}_VfeDh|$gd0JR6dp|9;gqO4Pl-R9A=u1oy~?)R zJvE+Tk5~4FJl-H98Y#Lv)6Yb7(ORo(Ck;GI9L^XwR`|R1I_fB~y!3e-c;`HaOy^bC z5P$WwUo1h^5fW$by_w&fH~B)WZ-Bh?bN)56|Ln>Z87qqUb z@80DexcqDE@3(?1((JEdx7Knxb7@J-tXTJ1tE26dQGeO}l7kvjmVYGmjAQg2Pltav zv`KBzr0?^tXP$kw>a)em;18yPX}){j+@9z8JX$MedZFd^?MFmDvP=$FxqZXJNqT+V zTiwbVf7f0A`EbMSUvXZ)YYz3^U}>Km(`2~9c7afp7rs~NBdKn*1wmNE!$<$R#-nNcFBgYmZM?(wtuciaL*HtojM}?O&Ti4QM+*i4I zrj)FZi0E&4er4s3H|Du9>bxAKejNS}Ol4xf*?+rGdn3rhb8^EBbII7}KOL(+ZL@zH z&-B<*N#S_zAAyN?7brIEw)Q>NalT!3+akv@v%M_;f~STpNtnP9GP!Cx?=NMI<1-rW zJl`6hsd1*+Om>2n6JN_afp2kJrtu`7=-gzsdtQOySMjS0RwXT{Yy26r2J~e z)Gp=rE{UiK+Q$1|FiT3@d*a)Byf>ZohNFOrp85pOCV~HLdjhvutM&@c6laz{@%Y(m zhI-RkBIeHzr(FKdH0j*uCsBT9-rUSR@$Ny@i{)FC&e|BgEnqySvEYZwUbcBt1MQa1 zD$(SgZqp?oD)wRBmZREN3Oi=MKL6@klDB?YQ+~FzsZ!`d{jWBG@quqQCw!W-XjiJI z!*TVc@>i|iHh;?tm;E~ZxO@Jh-rim*V|I=YN3S^KuKf9Q#+2l=vhDjqdV?QsicC={ zOcUF~mL25OJHuNde*gJ{y}BNEo_FaF3MU)H+Wr`E4d_s*la zhTLowiw;ehzB$L@lG3*XM&)Pk`eoe14Bj4@ba$TV>o;=m_h)?XB~o(7(N|4y?F9r+pzVPZw~)mb7Sc>-xF-F^#8K(9T9CT{?6W@ z{O-q1x0;*PzbsC;CT!9`EtB%ZsH={S%S~DO|Vf|y!k{jTXtqZn`LOtU(5K0 zs$FNLXO(^J`?tYv<{akw#FgjI6?eM4y{%NR?vsRNO;^nX8HJmDTt68qyye-F8SXjJ-VdW#7akUY1Z}-xIN> zUY9wgrayl!KB->7&LMfG*>&~v+sYO_d1<_x?L_AkiTMio`-^wqYkPhwvUi31w`8ZC zflhzd8CZQ{{q}luU&D^CtzBQzjkmfzx+<=9(C$#`d;QCag`6!}`v3mb*2Mn#=3F0g ztNyFpgQMQsFBx0kryGvV6#=K&A_~!mwL!n+?S(WgokJd5Q{mZYM_hn01 zQ`QUj2`mM7U04J(jMsHsE3EWcYr9^m&olOAa)4n(m!aj~F1?Inmfu zdwAEh-FGb4T)0$yJm|vH5Ax;l+wX7r*ZZB{|NY%u<+V;<%qE$he7II6%PrgZr1JOT z%?n>V?0@(Aknhq}Z~4-cg!|6lL6puC{fcX_6* zQ8k_5*4+5&+@uPVGw%u-j~v@j&|5X7;?w=K#t1hT)xxb?1Ft%>8D7&qyhvvIy}LiV zI@T^{691aNQ_0|4*6W47@#W?}cb)olv%dPyy}Qdde5&7k^SW?AF6V_?73G)vuTJ%^ zP2XPnA%Dlq#0TCd8%#c*KXT9ev{6sz|Bj;_J%p zeeQqT7vG}v%jYM|54l^we&slC-*etC9-)V`mMu=6^x?z38=4w?QL-sj^D>>ww}{oQ z{Jb{0E^V3f?)CliclhtS{q}`k-F2&Jaff#NeEx0I-f8dOZF#QG*BAGq?@<5JT`cl% zPFyeeobW5)(lN8evt9-EI-O#h^Ky^B;kqeGoPJt*HCDQLSEWQ>Yg}Ds>*3G;u2QML!CDc+A44a`E?uU%y>{ zSFEh{pa15?*(3`oPWHvCI1_&=&Fyb{5M4iOj{8T6v$6)p#U8I$9$`Kc27JvHm^_SH>^WGObkJkP*z0^N{#_<~+Nv^9IQW&Y?Ow;_FAj6y;=kXo z+$bHbw{@e3$F$p%?h1uG6_T7NDJd!GeP^|C<#YD$w~HR@*8bfWrFn6lU`2TttKju1 zJ1&2ay034dl$o>f!uh!ArW?|)o|3+#s>3W7)?~%q zuxw2*<08r6Uu!-cBeQ7{0i8Z=ewDIe7EG^#(5sMciXnPZ#vx-oA!6ftq@JeP}cbp zI|Z^rxVujjC<*eesX3&?_w#Q1GoHeWjCJ4N@i^}JePaouvdJp}>E?f1t!H&SU7Vk% zZykNOFIZ^~pT$$HhL%8w3#YtqE-vtw-F|!4H#PR|^GV*<=ILksH@m%C;V{#aC0{pN zw>>_5BGl2X=WEN`3b}{v0$i1g=Q14GA-n6pzl6#vIj{SB?X{OcJzJON%kAqV%!=}tym`Ec337*?Yy$X+0a$yIi*3K z>N7QSCY-;Srug^u`sRh!ivrf||HrldgLP|j;C+o0hPB~UlMcAm|NXinLf`WKKHbnG zMVmOS6)T?}&e6Jl^4;;w2idQ?7@&-*sX6B<^ zTf(1Yu3n(psU8x!DA26DsQ%UFoxLl=i!D{O_MWr&$ELw;z?@*Tt;}lD=e`3^x?akM zSZ?F}a_~sodxK+JYTtHm-zPY=Q~kxcU3#x_H6xZQ-JYeu{XAS@o6&|3!D|9$2%bE% zT8(FzaCK|mDh*+8G?B?Z_RYM{KR7@}8PGJv{WM@!1(G?j!qy{mK;Ct*l$*-#33-2G7+6ar+%bE>zb3(b8uu=RBkiINiy|M2Z+rWJ+ghTIQN8AbXtni=uD9J~8tX0@ zHw1WVUemXJGGlM6E!*6U&%bSWclw)-`+r|f%S z5!nlOzi~zNyw-Ukw`EHG1?4z4x6ku3xXyeN*p#;W{_5(ql+yXmH(^?-}p1vzAV^t@Y{A8N+k2|j>SDTp!TCO&Kc;*{h^~1$7X(IEPydo-|N^5Sv zFIU2FdKq7A$HL{mw)lUJ__aDmf;si$%1!+rFW8ws-2X_5|L(TyUoFadnob<>c-Y1E z;#F&lS@V+6=a=3}&RMfu#F8yxN7Ls``$`_)+bKI?*WHQN)8b1Pyt}VBqIK?!VR2`Hv3;FT5Ul%e^l7+g;UU*Yh1BXSsC(yJpOp zbs%gVkHm~m32HC9zZzW(p8a?Vze9%n7m=AC<+i4_3QjwyZnAU3{?CtQUkaS~A$E<* zJPD_ofMbbjMHx0r`|J*#f3~}Pwz~Sc+uK{;HkUtT7C0X-Z-27U=u9`C@s4eaj?c2S zy<6Y(n3rk)p9QA3JLJnB|K85t`~JS|%ZINMb-Ef2@@-C~&AavEkb|C;&Cz@P^KMNL zN#MTBdHmlKw}VVxPXw6SOV*lfepD08G4JJ(*Oil_ms`Irwy^K~Ra?0F%EROd3O7D( zd3=3Bdguw6kgE$rraoX`y0M|?$vX=@k#D!|Em^+hiP|v>PFY4)1+CRR8w1YomUzfI zv(NPWB%!D)Dm~l!t3+y(+8@7Vbdlf3^l+Kysj3WKz5^c+I^r`!#1_)!^D7Hr&v0hmgFzdu}iYltUXoQEEezjzS!_>S>QjHr*_+xB{3~v zihmcGlb~|4#oF<;fGgrsXZ+m3QR7I9+j#d-!!ltAE_~=YEuaDG{D9E4t|&*9W&nVT*#6 z?6=Ua4=xJG&cE_;@3o3cM=a)D&zsE0CE=y4E9%}Xo$*;?zQvT&D(~L6Gp#z!aqF4- z_NxzHER_~Ae$}FXi(&KKeO=05rJA#HW4>5_VVKCm|Ec4nUt?YVNnK$DL;u8STp+iJCwT9zQIIH&7wB1_r({th%zD^7H{_n} zZRe)<{8?A?U;8WYxTWma@3F^y`D0`0UMcfEi&-CkJ-nr(|6lp`9bVd37uX$T@a~?R z?&sk1ZPyIRl+I61y~i2@nrA6UK1Z0)=DCI3mD%+Xt)IA?#^uRDKk$I*?KWqH>{ygIvX^4C53zXa~D;5TfY$q}{U z_v2E(kD8O~eXZ6$yzsVMW-d z!-<{{;Wz8oFMd4nz{2;x+h?D#;!`~#*RA|%N=(=PSv@u1jq}8{_K~V*PHa#vi;w$kSM9)^l6jqjQyKc*)#>WI0^p#n#;-;lNhvj z!L(-+bsE)~+q7BJ=Y83x8gMhaKW^EZwX@?kEaeCdFH79!(stpp_dS-B`U!Va{3bkA zcg|`~>AvKmUwdt?V}zmOl*eoDoCvsOY!~+QJ8y8*y?WuFleXz-+hmZ(v8p!n51gw|5A;pE|DKt0-{o{0o5&tEA7Z zjZ=7Lo|@{`;M1xwldE3IC{nGhUs=pPpyTK6;3MhmSBmuRaNcw6J}BsxwEtlDhi~W4 z3CM0o%Z~MF7tZAVd8qpT))svun^R}qGBZ#AJg@X7%QeE=R7NP_>~8z^A6{)IK8uJO zvt0kv%)PG4@Y25>>A5X-8;_MUC{8ThH{-MV)QH0&IyO3@wQ=1*rfFFt6!OSke(q{H{TAE|Typ8fHx_nws0 z>AAD@mff*haYNYjRZQy*>B)^BBfssP{^qnBbH64-aeuvlriBJ?ONHNoZ!Sl;FEMP^ zY_O3`HYh%&wEn1dipQO~>8d}!9Xn>{>eSm&@;c6W@uZ!CxoU>F`bBQjKOg4*wKw|5 zRk7|Ejl1ERIZdE+t5}RS}vYGuoSN{K%f%!VqHqJh$d0=_o{ZQr%LkI4XoZI>m zlW%kXma0;SWZP8Mt^WR8%~{QzspI`jP||HEe2_ubMtbXctF>_diNL&oXq##1DunU3^cfA-G$ z^6J&M<+uIMlv~`&W_$IZ@|$wj%J#rp$!oZ-l+V5SN9ZjV+vUz#+BNT*D~qDmT0VbY zIz^CoJInR=i=XeX@AX%D{HE*vk62ytp05|Ra>R3r>VH1tKI9!%b&bdRjP3o2?wp$f zcf_9*-D$s)ZKJI9;;s#%mTPY)t$XAvsA)E#<(cVm;|WiMqOLqH$T$#x{`ZAfDP0?< zB-RTqwh~=-;QX1Nd0Ryv-Mn;3KbU`e75~{U8UGJk-?_jxxpdB^JKwhlOgI@K-D|Q$ zpdrKOLs`qYrnqZot;9<J_Vlzb zm%hH85*A>VqkZFgM8g6JiAhScX6~GNRwDFy#T|<$0ZNT$7rwt!^Xb<7BgW1@Wm|*z z*A_m>p3y)3$?Yaa-Nnylx!juIp=Kx?^wit3=-m0!>Q_H?w&-ylO$lHSj(3_=DZK56 zX~o9o11rKx9Xy_2kC*-L%q1^T({=CzlOglk7}ITk7WIVJ9Q<%&QmgZ`l?T)(N_((q zEtn*`L3EeW{|~KygRhI-bl2&$?3zFK#TmVgzd08jP-*adv7@%jL9pGrwd;bQ%_D(* zvyy+Dp6(?v+3@vTWxkI~>O1Q)k9Iuk%#^>HylO$kvftCBSI=0Kk|kZdBL3*cIRB?l z&xaL1J5`ka`@+og;+Hh$H9ok-(;C{<{raXs*bNz%);C>S&Tj1sS+cB{y<*;J$;t`Q zugj*~RlK(EP|WuL_IyXHJ&cDwtiEEi^tKPXbIq-ZbLQ~=X%X7`Kl4n=$6e+XM`@(-%tn;cikSJApb)opS@U`t%)&?)Ky40#%?7FsO z^A*XND{pGge*Rv%{FB=SC+mK$CkxbW&Jw)z*F&Y#=0{Mn;JsOD?>1h$GH1`_tl9hT zNCZCox{Ph*^{9%CE3YooneIDn@{=1;iWkzB-b#pPRY~V=H7Q?mr%3v8;`y!WRWjeX zk1Sgn?{!*OyZ6P9xWHG<8@?Uja6D%Hc%IRz%@01@XlnlR>ukj;N!ugc;(d1iB>YVu zeLt{7n^{+|xblTzt9wh2Rk6xv&rb@9e7vSEqRv_(M>p^2w446p_TsxDPngSDSb~pT z`jaweMYYZ1zYl+X)4ecxw{S%34S{Oa4{vG<^{*anwv7KH)?=U1w|mW*P^q8Of~J(L znHKm!$p6TR6Pd@dFFpIYk|kE|RR?pY$=toW3&eFy-Jc)h`=mdQ{i-Aa`Ksj4 zS#a&G^6m?7)JuB{PuQJX%a4m>A3R!nT+ZykBv*d9*@x-^HoRJvd|h#dpUwn>J$k?17Hm@OS@@)M zuh~8Ezy)F7Oq2FZnbghv%#A_JNi9HGl+AGN!F4(^hkvg~x>gf(+(i4{h9#R17tgKV zbZpLv%1QGM&GUSjm+TU8Z_%nb!r~Td^RN8U=xbWnX18dX?OdkTQt5+Mb=~T5x-Tcp zd#@??@b8SRD(eLz@+&&=is zeVeg~D`)-h?aN(5o(t-{NwpJW>N_XH-FW0>JYP$1NLP~5kFjXEep@AnR7Mv>z6J&U6E{ll-lTb~YW|roi#SWd}&sd^A zYL_iCIdf2|&^)k9G9XW()AZ5Tz&97oY*g+})M7u!FllZ7Oufa6Y$bZ{d|Oh!I`aLQ zoomG^9E1*=OgYL{I7dKJg-1!-@>SgYZHA)4&krqrkbS*b?q1fZsmgl;UrETYbTrRr zGk^AO+U-p));0kXw^SWiZ#K8cUg58!bnO#oTkAy+PW(-M<#=~~K<_=Ky5d$Tm-&Jj zVOu+{Ij^xcv%I|5L0?jEZ_eL;N3JDok}*}ywcGNlV2R|~56gwsWOEE@u=BJLar zaJ74VrPEPN?r%uhKdEalhcBOKUoO3I#`Q;^kk$4vn?caxvc>&9j=OeVpVrgo1^cudT!)HO{E1<3s%{(e?0e~fJJ?k)`PUad*_A5 z_Z#nHYB>DSp3+VUHVRrC9AYN1Xl6u20WYTrFoR;S!Uwf4NspY?)5o6 z^MI99ijJ&Jd^Ak8wX88e^|*9r z&5RxFKgxV6l`0>_?+ElxN~vd7dt|=y)H>@|4f$&Y=e;|3-7oL&z14@*4*aRk6y&>p zT`Y3*w8DwI_H*aw{k!dUjyI)DMO8$%%vVlPZ<7hj+>m8^=k1aw#L?bulC#Byx6U)PVRt$leHoG!mMzuGZvCEJgSU+4XM6OdG% zP$jYRcG|r+C_0udG59r(8vKM^sHF^D=S$}q3 z{k&#!fGERGoA^`zE%Z(8r>stQouk_Br*QQ_p5CT=o+~Sg!fgMs*_n79@4e)?BB{<= zJa%i)QITWm>Bd&NBHtFjmfNrEINw6Q8|A9sjmb*4;lp2W%;G-E;1l6wyCMY;kX^kwW% z%eB$F`qJZW%+JWCSJi^A{~m2pIkVy3@-xDXtG&FHDqYoq{g-$(DM@UM{n> zxqF&*(~9UEf8nPG1Ja)g{_+SkS{wF%TB+m;mBRwpnI)t{nZpdHc_m*m58C8^=W$8b z-E#}(&$+PG__b)yRymXE%e%JPiirhqZT@Dl^zMg*XenPY3%P`&xzql;R$NY+?^jgc zTqkvXozlM}%gqh#M8DfKOa4sFeEr}=a=+CjhAA3*BfRXw`2VW3o&IvDsEs{Gm^NiQ6PUg*w%!fA|kTl7jSGev+a?FdHFE~E%8`n1QXQ)0)O562oyH)85mJPRb z)Dx0je}2_Eprg`aJM+lJYY)$Fm>wwgaF2!U#=Pna?%^xs)_jk-5aYRBCVBOdYi@Sj zi!9b(xb}CB)AY`BD;LI{P&RqNd#l&^evIZ{#Yy&dn;LT0@>>Tmc(tCZKYF_H+(8+` z^Y>cAC#o6kVLg3?uOqxmu;m)hnp>L>vg%8Sc1^22nQ-bsFT=akU*{fksjs|I{;->O zZH1`v!J_M)K5m!mtPlDf`&++rvE#9atIbV*bEO6D*m3l=tXGtF<q zs&Kyl-U8b>Jtw@Io-mh%Oo~~(NOzgYZRu&}BJ!7gX?w6-ly^q6-1#SLEw`3szdG=_ z*W`PZhtm5mkEUMU<-~UN$idVr;w_2^=`VhCDBB#qbmHe{+m1U;tMio$V$ZHz-j)}C z+5cnz1wWs%-?y6X+_}eeX(eM-e7V`x)>QSlpZpdUt(H-;yZ-J}FS?)QT5@t#`?*;g z-26(;ytp5GT5hY(+KExGFFnW(I~VrtTZi-ZXJ;x(*(2N!`aGJ&b60TY<}bOvku1Fb zWPbD?vVD*NiPF?UR5l!{n=`#sCG*~fP7y>;VnQm(J`&Rc1% z7u-Mpcw6~Y`kd4H9PZLr>GiU6KSkb{boH#a`lgko#mSdH+}G{9pu}ia_s~@OgqYB| zBX7SRYuYcRn3Nz;^f~i_@|F`>1;-Aj)a*S+daM}P0!o* zblUZXCL068*}s$HkG(&#N}ZkQ!HUeJQ#tk8e=h}DE=x_mt{hgMQv9Gm*TQyD=hl_d zvrk6}gzq^0tLoux*0_idooW$nX{x6Fr&AcJX5VZO7Y@2&uf1eugVNFvtHeY$7SXy7 zv5SB1i?MQh*>b&Rt)Bm(bH*>0YD@LjSZ$xQ=QfkX{u+&M4wr9lV4w9=<@kfD`EyN5 zt=?p8x7vL4R`nb28SNTUOWsC`PMl!v!ZcN}_3VNPM}MfVonZa9`K6A;;kfkAaTVe7 zH--j(d;j$Lr^)vuzU;{H4*Iq4$TgYf&H94z7kA9sJC%)(_xP0P@60(Y25UCR2VURp z)_d!!fZvshmI-G>CQbZ4Yjx|9>iET)UOKf`e{sGK`?>l0_4$=YPfbtcZd+-`?>1S@ zHsI6l{h^rww}Q@kaECp;V7T&KAH%y;cbjEV8#6mf{_Ix|jtul?tzyZ47^?x}5gHhE7k!~Jtd!qQe1+_9YJ*(WqX>B#kX z>(;khJ|8++d+y@-moF8k9eydGGkx>vrz_^<6#r}b>9oUfmT6(S?ygQ54-LF}2 znY{6qO1r1C4eG8$uUdQk(xHXECNp0YMVPW_AO3aT^Up$BUf-SVl&k4P-L7^*E;aR02NubJH0U(C<542sU4J+~~V zH2aw#0M)yU%t@U)$6wF67yC zaqZ0QCe{{DcW5U6P>jFvUwzGiWj&4i%jND5!|zG3 ze{?=rr}ggGw8e!fb%BS9H1=!UwO(#^X^x@DvCDJ%J{~xC(*C3IAr4W#Uyl=&c4f{p zU6mQZxvH>Y;?kQpMY;}^Yv#x)q^b6=dY?TxV8YLh^ACs}oj*OQVc+bUPn%XL+_inm zu6MrW$B)>{_wL^-+!%LgW0--=d(kr-DxqP&1E;-KTjkB{{dDdn$tx!;m!9ejUK70b z+KX+Rrb`oh-6bl5*Sh?8{n}!w;1zy_75*yw6HsjdXc`dkARc?``Cg$_l;M<`MTQWVdlx%k_g#L%*t?GEG}INniZB zx$5cMEVIsdll~>XP+gWcHy?=L0 zlZ;OqS@&%8x${HdXVgL&zRgAE?5kXh*DO#;xAeMcDK}N;-Rbuy_}AX)D_mKmw4OaJ zC8F}ylfCO#hqx?oKVAHM-NlQul6-c#^lTA7_0L2r(l2J4%-)F5TMk!0%1@la?czV% z_muSy)gwhW*^9k)Y!5$lS?y8I?$1YW>du_^`|$VMO$Uo2f2S>ZySZig(JPwQwj?eL zl;nRA#^<}`c>2rqbzg*~Ul|l-uCuxE@Y6-U`QLs;N4_|`qxGl7rB!R!a(S%&w%UH? z7OAq^mD9rh2Rw<}~H%R%R zjcDc^en+>pFXuZRnadzpI(KP_?XJ}Z&Y^E>Po`X1=aO{(x4@Atd0A-_ip`UJH#r_I z`eL%TRU?b>lj`Lu)0WA-b`A*9yPXzLtlu;%DBH5AXsLka(zW{YdQ8r>D=gflGS~5N zIHS}mEtdm_-tY#UYJ0Kl){jY?$G@4you7RsNd3;tqLQVy%{jjrHwFHDDkdAoIkE57 z&q*)U*nIhTO1_#aZOjXfzqZxm!otkL{7?7a|8n7*YW%f6@%@#VdjB_{{43!1Kb~*l zw2v?QH#*M~HTJyteq-JtpN?f0WFA?wn4LS)c*%F>jqu83^`C|-n{qm4&(*7G(L8@b z#_YSljFQOJaQm>PI8o8lEyu3C%9^_7?h6?q`L3;xw;zpCdi-Xo?)z9nn=Ai{gVrp# zQ!1OOcR^}-pU0W3&h9gr?8Rr#=dg00$!u;jUCpZ_kfYo&&+TXI%6l67s`)u?nfJcT z=w8$uZhGn5{kebS+9z{h&bvA6PuVk#hks>U5`P_<>6_44 zd1Bu6V;}#R-Hh$VXf&Hs*)i2bsCd?=oq+|#E~O8)GG;bWViS7d!lZcUMv@UPvocPn7Z2@6XrMpC)Gt6vw+w+1SwE7I$D4^PiWI zTW`$hWYsdvuMOwv}`MIBq<)7-V*HK-w>F^c9WAB@vd7MyQufrE|tmuwtcWjGHUDL$*H)OkfR$kxw z;`Fqu8X3NZuMAJG)X7biF*)(<{1m_5Kb(#d$yx<76efP~xOS26zfI_dlMWA-J=^~D zShT~z%&9l~VqI9n4*1@diu7V!+!s(IQT5QvMq6yd)2Mq4Do+<)y#9Q-Na`Uu&LH^E4c1!>pW_B`)bC|qiOS4_sIV~`DK^?gRR^vPM^Ln=FGEgNf*mut=84Q zQ`2MS9lkxKx0OX__1PG``KM(USj&3Oj_uiWNV7UtR@5giyr@z0#NC^p3k>#%n&<3) zA9q@E(#POQMh!trI6ej)?$+^1_J-1eH@x~WQ$(t4ieAr*}Q@C-y!;8lUewDA-!{+~y zYuWCDyW~HtI9C_Vpiuek^65Qi)d+IvlAxUm|ECeIls`bvTvi*nc}yh?{hY| zuGq{N{mr!2>|FqZbMh6Z&1X(N-{+t1pyZi-OX zIA(n6uTWHp)Yj}#G_|f=@}sx#$a&LAA%+(N*e|H~S9&T+{g~XV`6EN0?N|0g|9SRI zOoCgEUSR*aZcknIqx7PU7h_(OuDtL0bL$Vg(lz{n#!fr*ihG-+57%edC_Z{8w4Al@ zSYgz$um&+xHE-SQ4U3dM9&1Vem>JDlIc?q4oDY|8-I$y7KzebX!Mu8_0v`CRtR zS8&h$D6{=ngv!3X^P>(v_$J@iFMa=~=v)1c{Nu;B)cBw(a^U@#x$er;L-|Odv6wGrw9>Wya(7Yh+>4K5!fmI`(k#t>v|M)%3)`cw4d>s?Wl5h^ znZ_=|?R0+8(@x3V%N8vto|m9?D1}42nB~;dR#!nz*C#)UIqDqO)EOR{uamdBlU<18 zc~XJo!V5`)-A9&N7ph-q>g{gu`1~YQ!kBBmB!|62*ny0QlEuaq^LBIooRD_fKw^RZ z264~JdLOyYF06|CpDz0S)V*$|&Dm$okJo;_xnFSR^G2u5J2&0*Fj%Xqsc2GutlX^l z*~ckoW{JIfll9%TdatzUCWWg>SNF_`t)H{&YryY1J=ybat>JJNIH z;D=3*OVfY*bJsmJO1F6OT1I%uIqCTkZ`qfuh{&CJ?w0#zjm1uDCvr*4#rEpIJ$knG z^;h0{zEXqv+a|5PsTiZdrRy$ed~|*PoYm8=h4AlMSz!LM#L8}`&*jCgVYc}utCycG zUs`^3R(`(FyY}0{=9L0ZZ~ndB=k@*K)XD?5FY(OK(Mw!Bcgw!qea{X3Bdc|<3tZE3 z+$E7@q{u0Fw(}F8@9dLnZf(7D<^7#y5xH9zE1x^%bG%XR*T=b&Je7nGe^?Z@eDO2O z1T&9$&ar;dGmFdc}SeywZ2=f>M@4{n_MQ$owB-hqU!6b zw?cO=X-&Dm@73}b6K9o7oW1($r2Oio&)a4me>?Zz+({g1>tDQxy>$K_^Q)B|FIyR2 zx0qgZ%-wVG_ME+9HAk=g<&N_I<6R!~G+?>W z$HIRGypxiPq*UJBEz+~ylRtIC3Zw1I#al}+J9r)S$?Z+qJz>lGFLTp)Q}w^j+$Jl* zc}nqdMe2Jojjm(q4>z4sIUE1OV%6QpC(5#q<{w@=P5WU}MuC`C<+q0xyHY|nr^_q- z3cr@L@X}Pa$O$)pM*Vl2)Ry8H9%vRV;<25deMV=?$pywuUY&X7k@;8nYCnE*j$Ba5 zwdeSS>aNd@-R5&-^O|nT7=C_o_Jr_Jo7oR1ygs9DKE*Rw?c|T7YTGN5TN)*|sLzkI zn_@BLL$r(3i)5Agzhu8}_FA~L(D1F+%Jk&LtWFlSCz+kU+%a2cs<}K$>%enCDd!&% zT0WtC;yrJs{gbm?`C+#SvyVF)f4aAJ(fYYxJ)7S+-(w2d zBA#*IfGsETEYu1;RPX^W0zOHt6rsE}tqSG_uoe=X@%<+QV37bf-e zROLyb{IlM-zVkDmId!T;e@~Xlj&D}$&g%uVKThwhy?-=kzpiCl%jLgJZ7(I%c=}h| zlG}Q0#$1&Xht~XSZLa+OIH6eL#@vc&%PXd-HP7ej-mtlPed^vamMdZWo8|7#iiuA2 z_Oo68mpjlu_p{gf;}5vF{c2V?9*bDkxZ~(XIa|Z8U!-?W<`N0xlsdBH*aoe>sre6? zTjptMnx0ssYhmxYSS-WTtgKezzt)UBcKf52^K);^vDDrvf8o`)Yo<)>Mj zdbB?rnd8Iw^-%cyC$|Kc``$e&ux(QQ-5sU!FZZwhdHeb)^79PO<~>gno^kSH!0H|H-)j-?Lh=efQS#A36T+T^Y|`?r7`Qy$pZ3fBt!Q zFJ6wdv%cup=e)>w%wiYPr1SX=YFC;CZ9ODXtR*?=T31k*LvO2+_j&-E@{?Y*9g5Zf_()zkG_ttKMH+zWv=2EAgW6nJUkNGvCNW72k8zl~CUHbc1@t z0^z$Hkq=d0AHV9R-1+k9u{AsW{q}e_*q^P~@bUEmmm3;ar7LaouDvTi^MkE6ym7JH zpy9ps=V&R_x|fY%(wn@YvtZEeC1c(KHTrvUHvNNNYC!({{~Ct>Sp%H zdadWyew%e7NGoFc( zfx0WRIE|OZ#&VuG|GE6;Pj7xZYpIvsLUXsTymVDy*_?ab9jB*jU+`;AXUH*izPTu& z*-~@v)B>&qE*0CK3w2ipt}|I>w)?ZeP7k&fT@b*{Fup`lTZKu z7qx#|jsC+qt4t#PO!AoT_3y{eB_TGIv08K0W*)PM4mx?~TwnB!x7*Bi|2(()?B2aK z<(JRC&B=XMzPGj@PM@&V&?+LWlzu3Mur_Or+X8X^@M*H{w&N7~VTjxoN zPistGz47$>I&Z9g&TWo)n2>J$JF7lBef5Jq>&=%0$UVEiHn_l!ciG~No2NGC?zVN< zZ+zqSo^Kfk;+KASwyxOpg}+_z&HE>H1yw5W7r|f-X>Eu zO<(3o(TDw&J0lOwv@A3GoK=)}=nacw8JFX?u{(i{d@M$KiB5XKlV1f`gY-#*`H(b_wBrp|JSSDLu?yg*|&%P-`M>C#i<)cHuXvb3T8UkUDxYZL{CnD;CRx-H%PIZC-OicXsa0P=`Mf)jQ65XuqDc zR)12}llnQYwqBmq_34RHu3i77;+3-+*G~RsI4z;%n8o_y4u;r+3mw=t_vxLP(Gzuk z`MfN>w<51QrcL3QeS1-|#4HOx{bQ2@SNT4i^6m1DSCfN}CBI;Q(y#o7HPz&2k)>kH z4wEeIhu4#q%K9Wc){EOuxfh-o`1oPhtcNlSbuA7o%;dW1sIy6v z@xVzlFWarJZr*(T=%YE`l%;0kw=X7X$%o(Ht8LD)VdLvnQs)2r1?*~PPrA$`}L5eK;>8QS}WPB zM}=jr{U0biap_rYvG8bE)#o~cc`%-!fUruM`X7=UaD? zXNRfRf8)3F*_OV)H(&I$sCsG4TJu-u7Tor=?!U0s>Fm`7k4ryFH5oVtFL}?T^ov=0 zN|blqQoUu<&(({4E5CG6owcz)h0`}6va~BR%6Q7D$St=G5=sra+2*cdk6nH*uaPHS zrZ;N))kIDX^>0!;60-7Nm&|DmEV(NfdBdwLebLGB;;w6fo7qvL1QJ8d`BF z=fvjb~i2ym)Bh&N{I#d)80AC!W|KaaK>& z{T9#ssl53Ic*DO6JF7)~ihrtUtMlm9YNpzjzr1$&hMT|Hc`LZhyUOhTX3Gh|js5J^ zJex1ZKhJ1l63$a}OJhTaGxvn&nK8HB(hhkp*LwUVb*A_Ega00=P35!U{wi8Azs2i7 z&Y5ia_1hMHTO0Izktti8?Tgi_iy!-)n$;ch@~@LcY}`_FcVF>4^=yH& zR94Cz!3o#T$6uG;dc{RSn-e3C9E;4?MX4stG zu~+(Yc6a!@AL$ngzy5WfC#!VoVY5Q;dUL-ISKqyR7xlaT-}?_`y_bZPtz%!`IW*5A z;`jXj*S}vd$XaVO!{WNcdI{Bwrll&exAULgy1S=(<4o-xt!LkM*OY&Lbm(kuUjF;? z=-av$h40?2|I2ZFR?WHzw@>9hejfZI^7qC~(@sD8$o?-cU-X6klvB^Ias7s|{UD96j^oPLiecQKhzxMXem*V`~FIoRX^Xi}6Tl4q(|3CBP z|NWf*UwXIY!Hn#V%6^r;ji2jo6;>xdmoC3@ew|};?Dh|@u73OWE-i2Q?%g}*-oAbB zPWkt{XJfD5J-2;VwRrRe#y&;${ho^=nLQXUF#Ws5QnZgL-~a_R$XlQbp3a@wSRmKXZqaDpUkKIm{^v;oj0Y>>+zM9qT2ahJHis` zerc88(Yv&Igu>I}O#CoK-Nsml)Cq!zk$S(xJ4^&$;S-KJmH{gAa~V|a7( z#9Q0*NA6du-Kq(FCj80f%7%q;Ys(#f&#`NH>=^a(JrJ?z_WO;2+*bCiHdy0IDr?I5#O!ev(h`T=Z zT*BTt;)y4Dst=$3sBe3PulB2`Z;Xq}&nuaGGQ;j$YdEV$emQ>7sJ!j%mXF&)1bKbe zMz9ISt$RCn$*YI!Kg551!_pimZ}9zJc3YoseQVo-!i3jTdA?6N*c5q0@?Wm}q%15^F6yXr#nIA4rX*=$&TmAmd zx3i|Kg&##C=QGWC*LL_p76bp|_9MKuGX+mpg?~|xY&p_e%^w)G@47%{dcf7SYZG^G z__nf?b<*=+_s(6Dl1abb$QkyiJm{=v!1HD<`NOhS&2>di=Ocwx7Rr>a`24Zxl~i~7 zLK81`smm4B3`T2?Z~HsV>Q!HCN7f%H(dWlqW6o``3QW_#{_{`E>$@i{Rj=%PQdqbs zOMKhsUxs_zdw0gHHt#U7naTI~d?f#^)%{B+_qxWfjPYDvd{v5XqSj>pDPrN7F1(^g z4X3NB&N?E#wr^E8XK8Yd>;e(NpMB5x=C7~1b%N1OzdW`-iaYS)mOb<4PB*xiuWqFA zLG>1A>NA_x&&yAgf7LfE7fycKxm`KG;o;A-4z1i<|70Ji4>1m#<-8~Hn$z>ylson{etG-}zIb2`@|!lxywZ9DL*4;hi6+ zZr&Y!;%%qi%Uzt{pV!*i-mtQ zQ_8qLq<8Pn{XAdx-{#Zx-!5GU=<0e~l(}L{>c10*@0LXICz~52HCA#jIGwt!e9l{0 zhnbt_o_(dlxW;=H?7#=vA>#(~+uqBuM_svE3K3y>q6+TeDV2YeuT|2|%#>gGF z`e(?l@L-(7RCczc<(u+^F4tho2}d62%KVzk^zWp#LH`2pKW^_Yy-acNK9}t?ZS!*f zOGS4MTy0+STxfmf)fU~o)%SnQ;OS5Z6lJow60$KfSYQsL+RD3I);|n)l)YK9<>tqA zGq|@`&Eh@Ve(R9R1ckXho9YzHL{b?xH_Sa@S{lH;`qH z^8csB(TV@(@BOp+&vyxX?}~?4`tMJ>C#q^IJIioib^Kb>Egh=sg`cdPRB-Op`%}C@ z-RfTgtrcYs>AOyRacHenXV;-TmFi~ckA;EPzuug9`|%Rz;mAxjmPsEoXyk zERX(drB!B;zh3!8*#Fqy;QA=~f$igs#*VstSKG=ux&1f2c=1|$m6TBWymt}dlhoZg zc*2tN^c4Eq*P6MxdwsewiJe{fd(eJ^`D z@Z%deJ7ni`?o5(2-?W13(bDV3|5RIe&OLe7;oZqaCFiT;PhS3eZpj4R*Ub-8kA2^& z5M&i{h+BEZ6|=`?A*;bLS&-aL2=%3?M zbuK`D?|qA+&kvo#A8mF$)|h+A<_%BGHOpj{`fR1U$*Wv=U+n2qpDYsfVe-jyd(}?c zS}}xtjh_6HgRkFvO)rOrma9dc=y?f|om)T6U-B+k-1L{*O!cVhsIRl)Qrz=qmM%B3 z&seP0`*^;N%aQXNHPRjzAJFqVVcGq$nB{BOHKPZMpO>khPzpbFbB^5}$61 zSF-lwEzy4qUbb5t`Qq~Lh3yr?v^sW!KaTs$yXSTGu%CS#-q%*46wf{5!}K}gA2^g7 z;@8Bb?XRAn!Mfz4^Z(Vtrd8V~dJ80+KFZOQQr{}bR=xLjq{Z&6+Gon*GB+Q5nYU=( zG>i3)ck}umw(Xzw!9eSa^uIYSzA7hweF*I5QuBHEfz!dDT5l`o`@a*;u48kp^vPkd zRc30xsXSB8>G`(Lrrv)i9^YE``-A6!g7P~T*#3$LeBo$#@btx(CY$^U;}m(ndpw=Z zt&tM*;+my3w-)fvxvXbaykc6uO-_8KcV)xsw{aD93(h@067Hq?FZ06d1s6)m$w$ZZx%OHteD=?-ZU=AjA^{225=EY_Wn!f=QaZN0dFuYc z$2x?s$7VKmvt7FymQe6|+J#let{j`Vr8#fshN6dtX3igyITn>}zE}Em;_b7K*Bn*5 zV4>nZf16W9ugRW(GXo^8JDEk11gWqSr2}$uyp3dg7k7gS9!bwc&7j zPm95#=QmHhU6@<2{i-wTJE6>X0m(^~?2<~-D{4L>IJ@$d%Kno>KiqK}7^u8K zyUqRwNUi(b|6<+Q^=-muCja$(sOVUGNjp_+^{YzLKPi7KXchfXs)ZII&oY5njiqas72Pt&899cJ8}sShinC-1TU6v1E@ZO8L!CU>OCUz;Gq z%CElK^Pl$~f0Z=htWeh9?@VSs)0Ukrn;1Ib!2jb~4NqA@i+$aagr~Z?Dofmt{GOMR zc6ZWCr>ISx8F57x$Nih%Sjh6zrak-jTR>Va!ip!q}*rHl(l z?=a1GTerLN@~%*xNx>Yqx~((XoI_d^?mGqmSbFS2xt{rG#)&v_0<7g`or|LTb73taeTU&KE3fQfAlr}ILJ+cvETytmk>+nq^E zXurPm=U;*w|E!R{ugoag{FME{iEh3ZftH`ZysO4fT#tWV!Si!sLzkIloS}Q%l|SDD z(?2RRiuOKWPdwS(_aZP7q_q9n)%mVsvKJP2iTAUF$V>}AKUrM%!s1U)+?lj4?M*zY zQyCcE?0)pUGNWkc{pr(Qy%GHQd&Qm~6C1h?zJC?@ana+-kgz`<4o4M!GM-ZaIbi8_ zccxS2ij`qGQ!ZrAG3wm?_nVSj+T%F0Q+~FKrGv#g)Sp%@j&Xb(9qPD_=a{5VxVt&) zsii4%mhSG23%kQy^=8jp_va0T`Z-2-Pj74fQEOGOlHsOANAu?Rw{NZI%$>I3Usm>i zrT80#pT*~Xdw1<<+`fPlTW`<3yLWEh>#KeX=W6eHwc~f5cl18C-Yd}=<~eKn&vtWv z+LocXMZzbNDQB5#o!}ma7txV>k}ZmY#19r7JDAsy_~)4L`&FiaAAcKM*?PP9Y2DrC z>2Ejcw>Y2|&5FTPR6%4#nq>aBuA;`TUCU3kReWa@|8EY5|OuIKng$(_lX;_!Cc zGFzVx^LY|4lNwjQ{ZU;i>ep~42)b#uJ^-K5O Zw~jjZ`8;7L|N8lV=1g5#K872d3;-Q(UETly literal 0 HcmV?d00001