From 4870eec35ee27b4746f03016a1c42af4feb71dee Mon Sep 17 00:00:00 2001 From: Anju Bharti <66729219+anju15bharti@users.noreply.github.com> Date: Wed, 13 Nov 2024 18:45:22 +0530 Subject: [PATCH 01/14] Revert "Block cross-db 'SELECT ... INTO table FROM ...' statement (#2744)" (#3109) This reverts commit 1570cc67db8f76d87d6ac04f9c7340ed2cb899b8. Task: BABEL-4934 Co-authored-by: ANJU BHARTI --- contrib/babelfishpg_tsql/src/tsqlIface.cpp | 16 - test/JDBC/expected/BABEL-CROSS-DB.out | 408 --------------------- test/JDBC/input/BABEL-CROSS-DB.mix | 280 -------------- 3 files changed, 704 deletions(-) diff --git a/contrib/babelfishpg_tsql/src/tsqlIface.cpp b/contrib/babelfishpg_tsql/src/tsqlIface.cpp index 958c2a6f1c..073ea06b30 100644 --- a/contrib/babelfishpg_tsql/src/tsqlIface.cpp +++ b/contrib/babelfishpg_tsql/src/tsqlIface.cpp @@ -1920,22 +1920,6 @@ class tsqlBuilder : public tsqlCommonMutator if (is_schema_specified) stmt->is_schema_specified = true; - if (is_cross_db) - { - if (ctx->select_statement_standalone() && - ctx->select_statement_standalone()->select_statement() && - ctx->select_statement_standalone()->select_statement()->query_expression() && - ctx->select_statement_standalone()->select_statement()->query_expression()->query_specification() && - ctx->select_statement_standalone()->select_statement()->query_expression()->query_specification()->INTO() && - ctx->select_statement_standalone()->select_statement()->query_expression()->query_specification()->table_name()) - { - throw PGErrorWrapperException(ERROR, - ERRCODE_FEATURE_NOT_SUPPORTED, - "cross-db 'SELECT INTO' statement is not supported in Babelfish. As a workaround, consider running CREATE TABLE and INSERT-SELECT statements.", - getLineAndPos(ctx->select_statement_standalone())); - } - } - if (is_compiling_create_function()) { /* select without destination should be blocked. We can use already information about desitnation, which is already processed. */ diff --git a/test/JDBC/expected/BABEL-CROSS-DB.out b/test/JDBC/expected/BABEL-CROSS-DB.out index c57fb1821d..39e9e14917 100644 --- a/test/JDBC/expected/BABEL-CROSS-DB.out +++ b/test/JDBC/expected/BABEL-CROSS-DB.out @@ -1003,411 +1003,3 @@ GO DROP DATABASE db2; GO - --- BABEL-4934 Test blocking cross-db SELECT-INTO statement -CREATE DATABASE db_4934_1; -GO - -CREATE DATABASE db_4934_2; -GO - -USE master; -GO - -CREATE TABLE t1(a int); -GO - -CREATE TABLE t2(b int); -GO - -USE db_4934_1; -GO - -CREATE TABLE t1(a int); -GO - -CREATE TABLE t2(b int); -GO - -USE db_4934_2; -GO - -CREATE TABLE t1(a int); -GO - -CREATE TABLE t2(b int); -GO - -USE db_4934_1; -GO - --- #4934.1 It should be blocked -SELECT * INTO t222 FROM master.dbo.t1; -GO -~~ERROR (Code: 33557097)~~ - -~~ERROR (Message: cross-db 'SELECT INTO' statement is not supported in Babelfish. As a workaround, consider running CREATE TABLE and INSERT-SELECT statements.)~~ - - -SELECT * INTO t222 FROM master..t1; -GO -~~ERROR (Code: 33557097)~~ - -~~ERROR (Message: cross-db 'SELECT INTO' statement is not supported in Babelfish. As a workaround, consider running CREATE TABLE and INSERT-SELECT statements.)~~ - - -SELECT * INTO t222 FROM db_4934_2..t1; -GO -~~ERROR (Code: 33557097)~~ - -~~ERROR (Message: cross-db 'SELECT INTO' statement is not supported in Babelfish. As a workaround, consider running CREATE TABLE and INSERT-SELECT statements.)~~ - - -SELECT * INTO t222 FROM db_4934_2.dbo.t1; -GO -~~ERROR (Code: 33557097)~~ - -~~ERROR (Message: cross-db 'SELECT INTO' statement is not supported in Babelfish. As a workaround, consider running CREATE TABLE and INSERT-SELECT statements.)~~ - - -SELECT * INTO t222 FROM db_4934_2..t1, t1; -GO -~~ERROR (Code: 33557097)~~ - -~~ERROR (Message: cross-db 'SELECT INTO' statement is not supported in Babelfish. As a workaround, consider running CREATE TABLE and INSERT-SELECT statements.)~~ - - -SELECT * INTO t222 FROM t1, db_4934_1..t2; -GO - -SELECT * INTO t222 FROM master..t1, db_4934_2..t1; -GO -~~ERROR (Code: 33557097)~~ - -~~ERROR (Message: cross-db 'SELECT INTO' statement is not supported in Babelfish. As a workaround, consider running CREATE TABLE and INSERT-SELECT statements.)~~ - - -SELECT * INTO t222 FROM (SELECT * FROM master..t1); -GO -~~ERROR (Code: 33557097)~~ - -~~ERROR (Message: cross-db 'SELECT INTO' statement is not supported in Babelfish. As a workaround, consider running CREATE TABLE and INSERT-SELECT statements.)~~ - - -SELECT * INTO t222 FROM (SELECT * FROM t1, master..t1); -GO -~~ERROR (Code: 33557097)~~ - -~~ERROR (Message: cross-db 'SELECT INTO' statement is not supported in Babelfish. As a workaround, consider running CREATE TABLE and INSERT-SELECT statements.)~~ - - -SELECT * INTO t222 FROM (SELECT *, (SELECT * FROM master..t1) FROM t1); -GO -~~ERROR (Code: 33557097)~~ - -~~ERROR (Message: cross-db 'SELECT INTO' statement is not supported in Babelfish. As a workaround, consider running CREATE TABLE and INSERT-SELECT statements.)~~ - - -SELECT * INTO t222 FROM (SELECT *, (SELECT * FROM t1) FROM master..t3); -GO -~~ERROR (Code: 33557097)~~ - -~~ERROR (Message: cross-db 'SELECT INTO' statement is not supported in Babelfish. As a workaround, consider running CREATE TABLE and INSERT-SELECT statements.)~~ - - -SELECT * INTO master..t222 FROM db_4934_2..t1; -GO -~~ERROR (Code: 33557097)~~ - -~~ERROR (Message: cross-db 'SELECT INTO' statement is not supported in Babelfish. As a workaround, consider running CREATE TABLE and INSERT-SELECT statements.)~~ - - -SELECT * INTO db_4934_1..t222 FROM db_4934_2..t1; -GO -~~ERROR (Code: 33557097)~~ - -~~ERROR (Message: cross-db 'SELECT INTO' statement is not supported in Babelfish. As a workaround, consider running CREATE TABLE and INSERT-SELECT statements.)~~ - - -SELECT * INTO master..t222 FROM master..t1; -GO -~~ERROR (Code: 33557097)~~ - -~~ERROR (Message: cross-db 'SELECT INTO' statement is not supported in Babelfish. As a workaround, consider running CREATE TABLE and INSERT-SELECT statements.)~~ - - --- #4934.2 Following statements will succeed across same database -SELECT * INTO t3 FROM db_4934_1.dbo.t1; -GO - -SELECT * INTO t4 FROM dbo.t1; -GO - -SELECT * INTO t5 FROM db_4934_1..t1; -GO - -SELECT * INTO t6 FROM db_4934_1..t1, db_4934_1..t2; -GO - -SELECT * INTO t7 FROM (SELECT * FROM db_4934_1..t1); -GO - -SELECT * INTO t8 FROM (SELECT *, (SELECT * FROM db_4934_1..t2) FROM db_4934_1..t1); -GO - --- validate the access -SELECT * FROM t3, t4, t5, t6, t7, t8; -GO -~~START~~ -int#!#int#!#int#!#int#!#int#!#int#!#int#!#int -~~END~~ - - -DROP TABLE t3, t4, t5, t6, t7, t8; -GO - --- #4934.3 Temporary table should not be blocked -SELECT * INTO #t1 FROM db_4934_1.dbo.t1; -GO - -SELECT * INTO #t2 FROM (SELECT * FROM db_4934_1.dbo.t1); -GO - --- validate the access -SELECT * FROM #t1, #t2; -GO -~~START~~ -int#!#int -~~END~~ - - -DROP TABLE #t1, #t2; -GO - --- Even though this is same as above statement, this will still fail since --- internally it considers as cross-db statement (This behaviour is general to --- all of the applicable DMLs) -SELECT * INTO tempdb..#t3 FROM db_4934_1.dbo.t1; -GO -~~ERROR (Code: 33557097)~~ - -~~ERROR (Message: cross-db 'SELECT INTO' statement is not supported in Babelfish. As a workaround, consider running CREATE TABLE and INSERT-SELECT statements.)~~ - - - -USE master; -GO - -DROP TABLE t1, t2; -GO - -DROP DATABASE db_4934_1; -GO - -DROP DATABASE db_4934_2; -GO - --- Repeating tests with AI collated database --- BABEL-4934 Test blocking cross-db SELECT-INTO statement -CREATE DATABASE db_4934_1 COLLATE BBF_Unicode_CP1_CI_AI; -GO - -CREATE DATABASE db_4934_2 COLLATE BBF_Unicode_CP1_CI_AI; -GO - -USE master; -GO - -CREATE TABLE t1(a int); -GO - -CREATE TABLE t2(b int); -GO - -USE db_4934_1; -GO - -CREATE TABLE t1(a int); -GO - -CREATE TABLE t2(b int); -GO - -USE db_4934_2; -GO - -CREATE TABLE t1(a int); -GO - -CREATE TABLE t2(b int); -GO - -USE db_4934_1; -GO - --- #4934.1 It should be blocked -SELECT * INTO t222 FROM master.dbo.t1; -GO -~~ERROR (Code: 33557097)~~ - -~~ERROR (Message: cross-db 'SELECT INTO' statement is not supported in Babelfish. As a workaround, consider running CREATE TABLE and INSERT-SELECT statements.)~~ - - -SELECT * INTO t222 FROM master..t1; -GO -~~ERROR (Code: 33557097)~~ - -~~ERROR (Message: cross-db 'SELECT INTO' statement is not supported in Babelfish. As a workaround, consider running CREATE TABLE and INSERT-SELECT statements.)~~ - - -SELECT * INTO t222 FROM db_4934_2..t1; -GO -~~ERROR (Code: 33557097)~~ - -~~ERROR (Message: cross-db 'SELECT INTO' statement is not supported in Babelfish. As a workaround, consider running CREATE TABLE and INSERT-SELECT statements.)~~ - - -SELECT * INTO t222 FROM db_4934_2.dbo.t1; -GO -~~ERROR (Code: 33557097)~~ - -~~ERROR (Message: cross-db 'SELECT INTO' statement is not supported in Babelfish. As a workaround, consider running CREATE TABLE and INSERT-SELECT statements.)~~ - - -SELECT * INTO t222 FROM db_4934_2..t1, t1; -GO -~~ERROR (Code: 33557097)~~ - -~~ERROR (Message: cross-db 'SELECT INTO' statement is not supported in Babelfish. As a workaround, consider running CREATE TABLE and INSERT-SELECT statements.)~~ - - -SELECT * INTO t222 FROM t1, db_4934_1..t2; -GO - -SELECT * INTO t222 FROM master..t1, db_4934_2..t1; -GO -~~ERROR (Code: 33557097)~~ - -~~ERROR (Message: cross-db 'SELECT INTO' statement is not supported in Babelfish. As a workaround, consider running CREATE TABLE and INSERT-SELECT statements.)~~ - - -SELECT * INTO t222 FROM (SELECT * FROM master..t1); -GO -~~ERROR (Code: 33557097)~~ - -~~ERROR (Message: cross-db 'SELECT INTO' statement is not supported in Babelfish. As a workaround, consider running CREATE TABLE and INSERT-SELECT statements.)~~ - - -SELECT * INTO t222 FROM (SELECT * FROM t1, master..t1); -GO -~~ERROR (Code: 33557097)~~ - -~~ERROR (Message: cross-db 'SELECT INTO' statement is not supported in Babelfish. As a workaround, consider running CREATE TABLE and INSERT-SELECT statements.)~~ - - -SELECT * INTO t222 FROM (SELECT *, (SELECT * FROM master..t1) FROM t1); -GO -~~ERROR (Code: 33557097)~~ - -~~ERROR (Message: cross-db 'SELECT INTO' statement is not supported in Babelfish. As a workaround, consider running CREATE TABLE and INSERT-SELECT statements.)~~ - - -SELECT * INTO t222 FROM (SELECT *, (SELECT * FROM t1) FROM master..t3); -GO -~~ERROR (Code: 33557097)~~ - -~~ERROR (Message: cross-db 'SELECT INTO' statement is not supported in Babelfish. As a workaround, consider running CREATE TABLE and INSERT-SELECT statements.)~~ - - -SELECT * INTO master..t222 FROM db_4934_2..t1; -GO -~~ERROR (Code: 33557097)~~ - -~~ERROR (Message: cross-db 'SELECT INTO' statement is not supported in Babelfish. As a workaround, consider running CREATE TABLE and INSERT-SELECT statements.)~~ - - -SELECT * INTO db_4934_1..t222 FROM db_4934_2..t1; -GO -~~ERROR (Code: 33557097)~~ - -~~ERROR (Message: cross-db 'SELECT INTO' statement is not supported in Babelfish. As a workaround, consider running CREATE TABLE and INSERT-SELECT statements.)~~ - - -SELECT * INTO master..t222 FROM master..t1; -GO -~~ERROR (Code: 33557097)~~ - -~~ERROR (Message: cross-db 'SELECT INTO' statement is not supported in Babelfish. As a workaround, consider running CREATE TABLE and INSERT-SELECT statements.)~~ - - --- #4934.2 Following statements will succeed across same database -SELECT * INTO t3 FROM db_4934_1.dbo.t1; -GO - -SELECT * INTO t4 FROM dbo.t1; -GO - -SELECT * INTO t5 FROM db_4934_1..t1; -GO - -SELECT * INTO t6 FROM db_4934_1..t1, db_4934_1..t2; -GO - -SELECT * INTO t7 FROM (SELECT * FROM db_4934_1..t1); -GO - -SELECT * INTO t8 FROM (SELECT *, (SELECT * FROM db_4934_1..t2) FROM db_4934_1..t1); -GO - --- validate the access -SELECT * FROM t3, t4, t5, t6, t7, t8; -GO -~~START~~ -int#!#int#!#int#!#int#!#int#!#int#!#int#!#int -~~END~~ - - -DROP TABLE t3, t4, t5, t6, t7, t8; -GO - --- #4934.3 Temporary table should not be blocked -SELECT * INTO #t1 FROM db_4934_1.dbo.t1; -GO - -SELECT * INTO #t2 FROM (SELECT * FROM db_4934_1.dbo.t1); -GO - --- validate the access -SELECT * FROM #t1, #t2; -GO -~~START~~ -int#!#int -~~END~~ - - -DROP TABLE #t1, #t2; -GO - --- Even though this is same as above statement, this will still fail since --- internally it considers as cross-db statement (This behaviour is general to --- all of the applicable DMLs) -SELECT * INTO tempdb..#t3 FROM db_4934_1.dbo.t1; -GO -~~ERROR (Code: 33557097)~~ - -~~ERROR (Message: cross-db 'SELECT INTO' statement is not supported in Babelfish. As a workaround, consider running CREATE TABLE and INSERT-SELECT statements.)~~ - - - -USE master; -GO - -DROP TABLE t1, t2; -GO - -DROP DATABASE db_4934_1; -GO - -DROP DATABASE db_4934_2; -GO - diff --git a/test/JDBC/input/BABEL-CROSS-DB.mix b/test/JDBC/input/BABEL-CROSS-DB.mix index 65519d0547..05ebc64454 100644 --- a/test/JDBC/input/BABEL-CROSS-DB.mix +++ b/test/JDBC/input/BABEL-CROSS-DB.mix @@ -632,283 +632,3 @@ GO DROP DATABASE db2; GO - --- BABEL-4934 Test blocking cross-db SELECT-INTO statement -CREATE DATABASE db_4934_1; -GO - -CREATE DATABASE db_4934_2; -GO - -USE master; -GO - -CREATE TABLE t1(a int); -GO - -CREATE TABLE t2(b int); -GO - -USE db_4934_1; -GO - -CREATE TABLE t1(a int); -GO - -CREATE TABLE t2(b int); -GO - -USE db_4934_2; -GO - -CREATE TABLE t1(a int); -GO - -CREATE TABLE t2(b int); -GO - -USE db_4934_1; -GO - --- #4934.1 It should be blocked -SELECT * INTO t222 FROM master.dbo.t1; -GO - -SELECT * INTO t222 FROM master..t1; -GO - -SELECT * INTO t222 FROM db_4934_2..t1; -GO - -SELECT * INTO t222 FROM db_4934_2.dbo.t1; -GO - -SELECT * INTO t222 FROM db_4934_2..t1, t1; -GO - -SELECT * INTO t222 FROM t1, db_4934_1..t2; -GO - -SELECT * INTO t222 FROM master..t1, db_4934_2..t1; -GO - -SELECT * INTO t222 FROM (SELECT * FROM master..t1); -GO - -SELECT * INTO t222 FROM (SELECT * FROM t1, master..t1); -GO - -SELECT * INTO t222 FROM (SELECT *, (SELECT * FROM master..t1) FROM t1); -GO - -SELECT * INTO t222 FROM (SELECT *, (SELECT * FROM t1) FROM master..t3); -GO - -SELECT * INTO master..t222 FROM db_4934_2..t1; -GO - -SELECT * INTO db_4934_1..t222 FROM db_4934_2..t1; -GO - -SELECT * INTO master..t222 FROM master..t1; -GO - --- #4934.2 Following statements will succeed across same database -SELECT * INTO t3 FROM db_4934_1.dbo.t1; -GO - -SELECT * INTO t4 FROM dbo.t1; -GO - -SELECT * INTO t5 FROM db_4934_1..t1; -GO - -SELECT * INTO t6 FROM db_4934_1..t1, db_4934_1..t2; -GO - -SELECT * INTO t7 FROM (SELECT * FROM db_4934_1..t1); -GO - -SELECT * INTO t8 FROM (SELECT *, (SELECT * FROM db_4934_1..t2) FROM db_4934_1..t1); -GO - --- validate the access -SELECT * FROM t3, t4, t5, t6, t7, t8; -GO - -DROP TABLE t3, t4, t5, t6, t7, t8; -GO - --- #4934.3 Temporary table should not be blocked -SELECT * INTO #t1 FROM db_4934_1.dbo.t1; -GO - -SELECT * INTO #t2 FROM (SELECT * FROM db_4934_1.dbo.t1); -GO - --- validate the access -SELECT * FROM #t1, #t2; -GO - -DROP TABLE #t1, #t2; -GO - --- Even though this is same as above statement, this will still fail since --- internally it considers as cross-db statement (This behaviour is general to --- all of the applicable DMLs) -SELECT * INTO tempdb..#t3 FROM db_4934_1.dbo.t1; -GO - - -USE master; -GO - -DROP TABLE t1, t2; -GO - -DROP DATABASE db_4934_1; -GO - -DROP DATABASE db_4934_2; -GO - --- Repeating tests with AI collated database --- BABEL-4934 Test blocking cross-db SELECT-INTO statement -CREATE DATABASE db_4934_1 COLLATE BBF_Unicode_CP1_CI_AI; -GO - -CREATE DATABASE db_4934_2 COLLATE BBF_Unicode_CP1_CI_AI; -GO - -USE master; -GO - -CREATE TABLE t1(a int); -GO - -CREATE TABLE t2(b int); -GO - -USE db_4934_1; -GO - -CREATE TABLE t1(a int); -GO - -CREATE TABLE t2(b int); -GO - -USE db_4934_2; -GO - -CREATE TABLE t1(a int); -GO - -CREATE TABLE t2(b int); -GO - -USE db_4934_1; -GO - --- #4934.1 It should be blocked -SELECT * INTO t222 FROM master.dbo.t1; -GO - -SELECT * INTO t222 FROM master..t1; -GO - -SELECT * INTO t222 FROM db_4934_2..t1; -GO - -SELECT * INTO t222 FROM db_4934_2.dbo.t1; -GO - -SELECT * INTO t222 FROM db_4934_2..t1, t1; -GO - -SELECT * INTO t222 FROM t1, db_4934_1..t2; -GO - -SELECT * INTO t222 FROM master..t1, db_4934_2..t1; -GO - -SELECT * INTO t222 FROM (SELECT * FROM master..t1); -GO - -SELECT * INTO t222 FROM (SELECT * FROM t1, master..t1); -GO - -SELECT * INTO t222 FROM (SELECT *, (SELECT * FROM master..t1) FROM t1); -GO - -SELECT * INTO t222 FROM (SELECT *, (SELECT * FROM t1) FROM master..t3); -GO - -SELECT * INTO master..t222 FROM db_4934_2..t1; -GO - -SELECT * INTO db_4934_1..t222 FROM db_4934_2..t1; -GO - -SELECT * INTO master..t222 FROM master..t1; -GO - --- #4934.2 Following statements will succeed across same database -SELECT * INTO t3 FROM db_4934_1.dbo.t1; -GO - -SELECT * INTO t4 FROM dbo.t1; -GO - -SELECT * INTO t5 FROM db_4934_1..t1; -GO - -SELECT * INTO t6 FROM db_4934_1..t1, db_4934_1..t2; -GO - -SELECT * INTO t7 FROM (SELECT * FROM db_4934_1..t1); -GO - -SELECT * INTO t8 FROM (SELECT *, (SELECT * FROM db_4934_1..t2) FROM db_4934_1..t1); -GO - --- validate the access -SELECT * FROM t3, t4, t5, t6, t7, t8; -GO - -DROP TABLE t3, t4, t5, t6, t7, t8; -GO - --- #4934.3 Temporary table should not be blocked -SELECT * INTO #t1 FROM db_4934_1.dbo.t1; -GO - -SELECT * INTO #t2 FROM (SELECT * FROM db_4934_1.dbo.t1); -GO - --- validate the access -SELECT * FROM #t1, #t2; -GO - -DROP TABLE #t1, #t2; -GO - --- Even though this is same as above statement, this will still fail since --- internally it considers as cross-db statement (This behaviour is general to --- all of the applicable DMLs) -SELECT * INTO tempdb..#t3 FROM db_4934_1.dbo.t1; -GO - - -USE master; -GO - -DROP TABLE t1, t2; -GO - -DROP DATABASE db_4934_1; -GO - -DROP DATABASE db_4934_2; -GO - From 86f693bb567665c76bb6e22818802b963ebcd362 Mon Sep 17 00:00:00 2001 From: Rob Verschoor <91290800+robverschoor@users.noreply.github.com> Date: Thu, 14 Nov 2024 07:08:03 +0100 Subject: [PATCH 02/14] Support for T-SQL variable/parameter names like @@var and @var# (#3073) Valid names of user-defined T-SQL variables and/or parameters are @@myvar, @myvar#, @#myvar, etc. and indeed we see customer T-SQL applications using such names. Until now, such names have raised errors in the backend because we can only handle variable/parameter names with one leading @ and without # characters. This fix adds support by enclosing such variable names in square bracket delimiters; when using double quotes as delimiters (as is currently done in most places for regular-named variables), a query like select @@V will produce the string '@@V' instead of the value of variable @@V. The fix is partly done through ANTLR rewriting and partly at execution time elsewhere in the babelfish_tsql codeline. Things are complicated by the fact that the ANTLR rewriting logic is very fragmented, as well as that for some variables reference contexts inside the body of a procedure or trigger, rewriting must be postponed until the body is executed. This means there are multiple code paths where these variable names must be intercepted. This fix also addresses variable names in some contexts (like a cursor variable) that previously could not be longer than 63 characters. This fix also solves the previous issue that a variable could be declared with a name matching an internal sys function, but was resolved as the intern function instead of the variable, i.e. DECLARE @@RAND INT=123 SELECT @@RAND would return a random number instead of 123. Issues Resolved: BABEL-2481 Parameter declarations containing # characters not handled correctly BABEL-476 Support local variables/parameters with multiple '@' characters BABEL-5384 User-defined @@variable should not be mapped to sys function Signed-off-by: Rob Verschoor rcv@amazon.com --- contrib/babelfishpg_tsql/antlr/TSqlParser.g4 | 37 +- contrib/babelfishpg_tsql/src/pl_comp.c | 10 +- contrib/babelfishpg_tsql/src/pl_exec-2.c | 206 +- contrib/babelfishpg_tsql/src/pl_exec.c | 9 +- contrib/babelfishpg_tsql/src/pl_funcs-2.c | 51 + contrib/babelfishpg_tsql/src/pltsql.h | 2 + contrib/babelfishpg_tsql/src/tsqlIface.cpp | 436 +- .../src/tsqlUnsupportedFeatureHandler.cpp | 18 + test/JDBC/expected/BABEL-3092.out | 2 +- test/JDBC/expected/atatuservar-vu-cleanup.out | 167 + test/JDBC/expected/atatuservar-vu-prepare.out | 76 + test/JDBC/expected/atatuservar-vu-verify.out | 3856 +++++++++++++++++ .../expected/unquoted_string-vu-prepare.out | 9 - .../expected/unquoted_string-vu-verify.out | 9 + test/JDBC/input/atatuservar-vu-cleanup.sql | 167 + test/JDBC/input/atatuservar-vu-prepare.sql | 62 + test/JDBC/input/atatuservar-vu-verify.sql | 1842 ++++++++ .../JDBC/input/unquoted_string-vu-prepare.mix | 5 - test/JDBC/input/unquoted_string-vu-verify.mix | 5 +- test/JDBC/upgrade/latest/schedule | 1 + .../expected_create.out | 5 - 21 files changed, 6849 insertions(+), 126 deletions(-) create mode 100644 test/JDBC/expected/atatuservar-vu-cleanup.out create mode 100644 test/JDBC/expected/atatuservar-vu-prepare.out create mode 100644 test/JDBC/expected/atatuservar-vu-verify.out create mode 100644 test/JDBC/input/atatuservar-vu-cleanup.sql create mode 100644 test/JDBC/input/atatuservar-vu-prepare.sql create mode 100644 test/JDBC/input/atatuservar-vu-verify.sql diff --git a/contrib/babelfishpg_tsql/antlr/TSqlParser.g4 b/contrib/babelfishpg_tsql/antlr/TSqlParser.g4 index 50a974d5d5..99fcf7bb80 100644 --- a/contrib/babelfishpg_tsql/antlr/TSqlParser.g4 +++ b/contrib/babelfishpg_tsql/antlr/TSqlParser.g4 @@ -358,7 +358,7 @@ raiseerror_statement ; raiseerror_msg - : DECIMAL | char_string | LOCAL_ID + : DECIMAL | char_string | local_id ; raiseerror_option @@ -2004,7 +2004,7 @@ func_body_return_select_body ; func_body_returns_table - : RETURNS LOCAL_ID table_type_definition + : RETURNS local_id table_type_definition (WITH function_option (COMMA function_option)*)? AS? BEGIN sql_clauses* SEMI? END @@ -2031,7 +2031,7 @@ atomic_func_body // CREATE PROC p @p INT NULL --> this appears to be accepted syntax for non-native compiled procs, though formally not allowed procedure_param - : LOCAL_ID AS? data_type VARYING? (NOT? NULL_P)? (EQUAL default_val=expression)? param_option=(OUT | OUTPUT | READONLY)? + : local_id AS? data_type VARYING? (NOT? NULL_P)? (EQUAL default_val=expression)? param_option=(OUT | OUTPUT | READONLY)? ; // drop_procedure_param can be used in a DROP FUNCTION or DROP PROCEDURE command @@ -2640,7 +2640,7 @@ predict_function // https://msdn.microsoft.com/en-us/library/ms188927.aspx declare_statement - : DECLARE LOCAL_ID AS? table_type_definition SEMI? + : DECLARE local_id AS? table_type_definition SEMI? | DECLARE loc+=declare_local (COMMA loc+=declare_local)* SEMI? ; @@ -2842,7 +2842,7 @@ execute_statement_arg ; execute_statement_arg_named - : name=LOCAL_ID EQUAL value=execute_parameter + : name=local_id EQUAL value=execute_parameter ; execute_statement_arg_unnamed @@ -2851,13 +2851,13 @@ execute_statement_arg_unnamed execute_parameter : constant - | LOCAL_ID (OUTPUT | OUT)? + | local_id (OUTPUT | OUT)? | id | DEFAULT ; execute_var_string - : LOCAL_ID + : local_id | char_string ; @@ -3098,21 +3098,21 @@ set_statement // https://msdn.microsoft.com/en-us/library/ms174377.aspx transaction_statement // https://msdn.microsoft.com/en-us/library/ms188386.aspx - : BEGIN DISTRIBUTED (TRAN | TRANSACTION) (id | LOCAL_ID)? SEMI? + : BEGIN DISTRIBUTED (TRAN | TRANSACTION) (id | local_id)? SEMI? // https://msdn.microsoft.com/en-us/library/ms188929.aspx - | BEGIN (TRAN | TRANSACTION) ((id | LOCAL_ID) (WITH MARK char_string)?)? SEMI? + | BEGIN (TRAN | TRANSACTION) ((id | local_id) (WITH MARK char_string)?)? SEMI? // https://msdn.microsoft.com/en-us/library/ms190295.aspx - | COMMIT (TRAN | TRANSACTION) (id | LOCAL_ID)? (WITH LR_BRACKET DELAYED_DURABILITY EQUAL (OFF | ON) RR_BRACKET )? SEMI? + | COMMIT (TRAN | TRANSACTION) (id | local_id)? (WITH LR_BRACKET DELAYED_DURABILITY EQUAL (OFF | ON) RR_BRACKET )? SEMI? // https://msdn.microsoft.com/en-us/library/ms178628.aspx | COMMIT WORK? SEMI? | COMMIT id | ROLLBACK id // https://msdn.microsoft.com/en-us/library/ms181299.aspx - | ROLLBACK (TRAN | TRANSACTION) (id | LOCAL_ID)? SEMI? + | ROLLBACK (TRAN | TRANSACTION) (id | local_id)? SEMI? // https://msdn.microsoft.com/en-us/library/ms174973.aspx | ROLLBACK WORK? SEMI? // https://msdn.microsoft.com/en-us/library/ms188378.aspx - | SAVE (TRAN | TRANSACTION) (id | LOCAL_ID)? SEMI? + | SAVE (TRAN | TRANSACTION) (id | local_id)? SEMI? ; // https://msdn.microsoft.com/en-us/library/ms188366.aspx @@ -3135,7 +3135,7 @@ shutdown_statement ; dbcc_statement - : DBCC CHECKIDENT ( LR_BRACKET table_name_string ( (COMMA NORESEED) | (COMMA RESEED (COMMA MINUS? new_value=(DECIMAL | FLOAT))?) )? RR_BRACKET ) (WITH dbcc_options)? SEMI? + : DBCC CHECKIDENT ( LR_BRACKET dbcc_table_name ( (COMMA NORESEED) | (COMMA RESEED (COMMA MINUS? checkident_new_value)?) )? RR_BRACKET ) (WITH dbcc_options)? SEMI? | DBCC name=dbcc_command ( LR_BRACKET expression_list RR_BRACKET )? (WITH dbcc_options)? SEMI? //These are dbcc commands with strange syntax that doesn't fit the regular dbcc syntax | DBCC SHRINKLOG ( LR_BRACKET SIZE EQUAL (constant_expression| id | DEFAULT) (KB | MB | GB | TB)? RR_BRACKET )? (WITH dbcc_options)? SEMI? @@ -3175,12 +3175,17 @@ dbcc_options : ID (COMMA ID)? ; - -table_name_string +dbcc_table_name : table = id | char_string + | local_id ; +checkident_new_value + : DECIMAL + | FLOAT + | local_id + ; execute_as_clause : (EXECUTE|EXEC) AS (CALLER | SELF | OWNER | char_string) @@ -3459,7 +3464,7 @@ set_offsets_keyword constant_LOCAL_ID : constant - | LOCAL_ID + | local_id ; // https://docs.microsoft.com/en-us/sql/t-sql/language-elements/expressions-transact-sql diff --git a/contrib/babelfishpg_tsql/src/pl_comp.c b/contrib/babelfishpg_tsql/src/pl_comp.c index db0d3e0282..7ccc2380fe 100644 --- a/contrib/babelfishpg_tsql/src/pl_comp.c +++ b/contrib/babelfishpg_tsql/src/pl_comp.c @@ -535,8 +535,16 @@ do_compile(FunctionCallInfo fcinfo, */ if (function->is_mstvf) { + /* + * For a user-defined @@var or @var# name, + * delimit with square brackets + */ + char *typname_fmt = "%s.\"%s\""; + if (!is_tsql_atatuservar(argdtype->typname)) + typname_fmt = pstrdup("%s.%s"); + tbl_dno = argvariable->dno; - tbl_typ = psprintf("%s.%s", + tbl_typ = psprintf(typname_fmt, get_namespace_name( get_rel_namespace(get_typ_typrelid(argtypeid))), argdtype->typname); diff --git a/contrib/babelfishpg_tsql/src/pl_exec-2.c b/contrib/babelfishpg_tsql/src/pl_exec-2.c index 7bc268f911..ec02108b0b 100644 --- a/contrib/babelfishpg_tsql/src/pl_exec-2.c +++ b/contrib/babelfishpg_tsql/src/pl_exec-2.c @@ -132,6 +132,9 @@ static bool prev_insert_bulk_check_constraints = false; /* return a underlying node if n is implicit casting and underlying node is a certain type of node */ static Node *get_underlying_node_from_implicit_casting(Node *n, NodeTag underlying_nodetype); + +/* Enclose a user-defined @@var or @var# name in delimiters */ +static char *delimit_tsql_atatuservar(const char *src); /* * The pltsql_proc_return_code global variable is used to record the @@ -1365,6 +1368,7 @@ static int exec_stmt_decl_table(PLtsql_execstate *estate, PLtsql_stmt_decl_table *stmt) { char *tblname; + char *tblname_create; char *query; PLtsql_tbl *var = (PLtsql_tbl *) (estate->datums[stmt->dno]); int rc; @@ -1389,8 +1393,8 @@ exec_stmt_decl_table(PLtsql_execstate *estate, PLtsql_stmt_decl_table *stmt) /* * If the original refname was already >=63 characters (the max limit of PG identifiers), - * then the above construction of tblname will be >63 characters, which will violate the - * max length of PG identiefiers and cause issues down the road. Fix this by truncating + * then the above construction of tblname will be >63 characters, which will exceed the + * max length of PG identifiers and cause issues down the road. Fix this by truncating * tblname so that adding the "_<@@nestlevel>" suffix will be exactly 63 characters. */ if (strlen(tblname) >= NAMEDATALEN) @@ -1401,12 +1405,20 @@ exec_stmt_decl_table(PLtsql_execstate *estate, PLtsql_stmt_decl_table *stmt) tblname = psprintf("%s_%d", tblname, estate->nestlevel); } + /* + * Add delimiters for valid T-SQL variable names like @@var or @var# + */ + if (is_tsql_atatuservar(tblname)) + tblname_create = psprintf("[%s]", tblname); + else + tblname_create = psprintf("%s", tblname); + if (stmt->tbltypname) query = psprintf("CREATE TEMPORARY TABLE IF NOT EXISTS %s (like %s including all)", - tblname, stmt->tbltypname); + tblname_create, stmt->tbltypname); else query = psprintf("CREATE TEMPORARY TABLE IF NOT EXISTS %s%s", - tblname, stmt->coldef); + tblname_create, stmt->coldef); /* * If a table with the same name already exists, we should just use @@ -1475,7 +1487,15 @@ exec_stmt_return_table(PLtsql_execstate *estate, PLtsql_stmt_return_query *stmt) oldcontext = MemoryContextSwitchTo(estate->func->fn_cxt); expr = palloc0(sizeof(PLtsql_expr)); - expr->query = psprintf("select * from %s", tbl->tblname); + + /* + * Add delimiters for valid T-SQL variable names like @@var or @var# + */ + if (is_tsql_atatuservar(tbl->tblname)) + expr->query = psprintf("select * from [%s]", tbl->tblname); + else + expr->query = psprintf("select * from %s", tbl->tblname); + expr->plan = NULL; expr->paramnos = NULL; expr->rwparam = -1; @@ -2494,6 +2514,179 @@ is_char_identpart(char c) (c >= '0' && c <= '9')); } +/* + * Check for allowed chars in @variable name + * ToDo: support non-standard ASCII chars (Unicode ranges) + * and align with is_identifier_char() + */ +static inline bool +is_variable_name_char(unsigned char c) +{ + bool valid = ( + isalpha(c) || + isdigit(c) || + c == '_' || + c == '@' || + c == '$' || + c == '#' + ); + + return valid; +} + +/* + * Put delimiters around a T-SQL variable/parameter that is + * named '@@var' or contains a hash, e.g. '@var#'. + * Without delimiters, the backend will raise an error. + * This is used for the parameter argument of sp_executesql, so the input + * string may contain multiple names, e.g.: @par1 int, @par2 varchar(20), ... + * This function calls palloc() to allocate a new string and returns a pointer + * to this string. + */ +static char * +delimit_tsql_atatuservar(const char *src) +{ + char *s = (char *) src; + char *varname_start = NULL; + bool add_delimiter = false; + + /* + * Reserving twice the amount of space of the input string: since the shortest possible + * parameter definition is 5 characters ('@@p x' , where x would be the type), this will + * always be enough for adding delimiters. + * Note that there can be multiple parameter names in the input string. + */ + char *result = (char *) palloc(sizeof(char)*strlen(src)*2); + char *tgt = result; + + while (*s) + { + /* Look for start of variable name, which is always '@' */ + if (*s != '@') + { + *tgt++ = *s++; + continue; + } + + /* Start of variable name found */ + add_delimiter = false; + + varname_start = s; + + /* Name starting with @@ */ + if (*(s+1)) + { + if (*(s+1) == '@') + { + add_delimiter = true; + } + } + + /* Find end of variable name */ + while (*s) + { + /* Check for allowed chars in @variable name */ + if (is_variable_name_char(*s)) + { + /* Name contains # */ + if (*s == '#') + { + add_delimiter = true; + } + + s++; + } + else + { + break; + } + } + + if (varname_start != src) + { + /* + * Do not add delimiters if the name is already delimited. + * Both square brackets and double quotes are used as delimiters for variable names. + */ + if ((*(varname_start-1) == '[') || (*(varname_start-1) == '"')) + { + add_delimiter = false; + } + } + + // Add delimiters to the name if required + if (add_delimiter) *tgt++ = '['; + while (varname_start != s) + { + *tgt++ = *varname_start++; + } + if (add_delimiter) *tgt++ = ']'; + } /* while */ + + *tgt = '\0'; + return result; +} + +/* + * Determine whether the passed name is a T-SQL variable/parameter name that is + * named '@@var' or contains a hash, e.g. '@var#'. + */ +bool +is_tsql_atatuservar(const char *varname) +{ + char *s = (char *) varname; + bool is_atatuservar = false; + + /* The variable names we're looking for are at least 3 chars */ + if (strlen(varname) <= 2) + { + return false; + } + + /* Variable name must start with '@' */ + if (*s != '@') + { + return false; + } + + /* Starts with '@@' ? */ + s++; + if (*s == '@') + { + is_atatuservar = true; + } + + while (*s) + { + /* Check for allowed chars in @variable name */ + if (is_variable_name_char(*s)) + { + /* Name contains # */ + if (*s == '#') + { + is_atatuservar = true; + } + + s++; + } + else + { + return false; + } + } /* while */ + + /* + * The variable name should continue until end of string; if not, + * something is wrong + * + * NB: The assertion below is logically true given the loop above, + * but kept in the code for clarity. + */ + Assert(*s == '\0'); + + return is_atatuservar; +} + /* * Read parameter definitions */ @@ -2519,10 +2712,11 @@ read_param_def(InlineCodeBlockArgs *args, const char *paramdefstr) /* * Create a fake CREATE PROCEDURE statement to get the param definition * parse tree. + * Delimiters will be applied around parameter names like @@par or @par#. */ initStringInfo(&proc_stmt); appendStringInfoString(&proc_stmt, str1); - appendStringInfoString(&proc_stmt, paramdefstr); + appendStringInfoString(&proc_stmt, delimit_tsql_atatuservar(paramdefstr)); appendStringInfoString(&proc_stmt, str2); parsetree = raw_parser(proc_stmt.data, RAW_PARSE_DEFAULT); diff --git a/contrib/babelfishpg_tsql/src/pl_exec.c b/contrib/babelfishpg_tsql/src/pl_exec.c index f0dae9ebd7..efada3514d 100644 --- a/contrib/babelfishpg_tsql/src/pl_exec.c +++ b/contrib/babelfishpg_tsql/src/pl_exec.c @@ -10110,7 +10110,6 @@ pltsql_clean_table_variables(PLtsql_execstate *estate, PLtsql_function *func) int rc; PLtsql_tbl *tbl; bool old_pltsql_explain_only = pltsql_explain_only; - const char *query_fmt = "DROP TABLE %s"; const char *query; bool old_abort_curr_txn = AbortCurTransaction; @@ -10132,7 +10131,13 @@ pltsql_clean_table_variables(PLtsql_execstate *estate, PLtsql_function *func) if (!tbl->need_drop) continue; - query = psprintf(query_fmt, tbl->tblname); + /* + * Use delimiters for names like @@var or @var# + */ + if (is_tsql_atatuservar(tbl->tblname)) + query = psprintf("DROP TABLE [%s]", tbl->tblname); + else + query = psprintf("DROP TABLE %s", tbl->tblname); pltsql_explain_only = false; /* Drop temporary table even in * EXPLAIN ONLY mode */ diff --git a/contrib/babelfishpg_tsql/src/pl_funcs-2.c b/contrib/babelfishpg_tsql/src/pl_funcs-2.c index 12774b168c..618db9ebb5 100644 --- a/contrib/babelfishpg_tsql/src/pl_funcs-2.c +++ b/contrib/babelfishpg_tsql/src/pl_funcs-2.c @@ -405,6 +405,57 @@ check_restricted_stored_procedure(Oid proc_id) } } +/* Determine whether a variable name is a predefined T-SQL global variable */ +bool +is_tsql_atatglobalvar(const char *varname) +{ + size_t varname_len = strlen(varname); + if ((varname_len < 6) || (varname_len > 18)) + return false; + + // List of all T-SQL global "@@" variables: + if ( + (pg_strcasecmp("@@CONNECTIONS", varname) == 0) || + (pg_strcasecmp("@@CPU_BUSY", varname) == 0) || + (pg_strcasecmp("@@CURSOR_ROWS", varname) == 0) || + (pg_strcasecmp("@@DATEFIRST", varname) == 0) || + (pg_strcasecmp("@@DBTS", varname) == 0) || + (pg_strcasecmp("@@ERROR", varname) == 0) || + (pg_strcasecmp("@@PGERROR", varname) == 0) || // added by Babelfish + (pg_strcasecmp("@@FETCH_STATUS", varname) == 0) || + (pg_strcasecmp("@@IDENTITY", varname) == 0) || + (pg_strcasecmp("@@IDLE", varname) == 0) || + (pg_strcasecmp("@@IO_BUSY", varname) == 0) || + (pg_strcasecmp("@@LANGID", varname) == 0) || + (pg_strcasecmp("@@LANGUAGE", varname) == 0) || + (pg_strcasecmp("@@LOCK_TIMEOUT", varname) == 0) || + (pg_strcasecmp("@@MAX_CONNECTIONS", varname) == 0) || + (pg_strcasecmp("@@MAX_PRECISION", varname) == 0) || + (pg_strcasecmp("@@NESTLEVEL", varname) == 0) || + (pg_strcasecmp("@@OPTIONS", varname) == 0) || + (pg_strcasecmp("@@PACKET_ERRORS", varname) == 0) || + (pg_strcasecmp("@@PACK_RECEIVED", varname) == 0) || + (pg_strcasecmp("@@PACK_SENT", varname) == 0) || + (pg_strcasecmp("@@PROCID", varname) == 0) || + (pg_strcasecmp("@@REMSERVER", varname) == 0) || + (pg_strcasecmp("@@ROWCOUNT", varname) == 0) || + (pg_strcasecmp("@@SERVERNAME", varname) == 0) || + (pg_strcasecmp("@@SERVICENAME", varname) == 0) || + (pg_strcasecmp("@@SPID", varname) == 0) || + (pg_strcasecmp("@@TEXTSIZE", varname) == 0) || + (pg_strcasecmp("@@TIMETICKS", varname) == 0) || + (pg_strcasecmp("@@TOTAL_ERRORS", varname) == 0) || + (pg_strcasecmp("@@TOTAL_READ", varname) == 0) || + (pg_strcasecmp("@@TOTAL_WRITE", varname) == 0) || + (pg_strcasecmp("@@TRANCOUNT", varname) == 0) || + (pg_strcasecmp("@@VERSION", varname) == 0) || + (pg_strcasecmp("@@MICROSOFTVERSION", varname) == 0) + ) + return true; + else + return false; +} + /*********************************************************************************** * FREE FUNCTIONS **********************************************************************************/ diff --git a/contrib/babelfishpg_tsql/src/pltsql.h b/contrib/babelfishpg_tsql/src/pltsql.h index 4868f81ac5..1dfe40f816 100644 --- a/contrib/babelfishpg_tsql/src/pltsql.h +++ b/contrib/babelfishpg_tsql/src/pltsql.h @@ -2127,6 +2127,8 @@ extern void pltsql_dumptree(PLtsql_function *func); extern void pre_function_call_hook_impl(const char *funcName); extern int32 coalesce_typmod_hook_impl(const CoalesceExpr *cexpr); extern void check_restricted_stored_procedure(Oid proc_id); +extern bool is_tsql_atatglobalvar(const char *varname); +extern bool is_tsql_atatuservar(const char *varname); /* * Scanner functions in pl_scanner.c diff --git a/contrib/babelfishpg_tsql/src/tsqlIface.cpp b/contrib/babelfishpg_tsql/src/tsqlIface.cpp index 073ea06b30..36a8ce4e22 100644 --- a/contrib/babelfishpg_tsql/src/tsqlIface.cpp +++ b/contrib/babelfishpg_tsql/src/tsqlIface.cpp @@ -217,6 +217,10 @@ static void handleOrderByOffsetFetch(TSqlParser::Order_by_clauseContext *ctx); static void rewrite_string_agg_query(TSqlParser::STRING_AGGContext *ctx); static bool setSysSchema = false; static void rewrite_function_trim_to_sys_trim(TSqlParser::TRIMContext *ctx); +static bool isAtAtUserVarName(const std::string name); +static bool isDelimitedAtAtUserVarName(const std::string name); +static void handleLocal_id(TSqlParser::Local_idContext *ctx, bool inSqlObject); +static std::string delimitIfAtAtUserVarName(const std::string name); /* * Structure / Utility function for general purpose of query string modification @@ -260,10 +264,13 @@ static void rewrite_function_trim_to_sys_trim(TSqlParser::TRIMContext *ctx); // global object is enough because no nesting is expected. static std::map> rewritten_query_fragment; -// Keeping poisitions of local_ids to quote them. -// local_id can be rewritten in differeny way in some cases (itvf), don't use rewritten_query_fragment. +// Keeping positions of local_ids to quote them. +// local_id can be rewritten in different ways in some cases (itvf), don't use rewritten_query_fragment. // TODO: incorporate local_id_positions with rewritten_query_fragment static std::map local_id_positions; + +// For user-defined variables like @@var or @var# in the RETURN clause of an ITVF +static std::map local_id_positions_atatuservar; // should be called before visiting subclause to make PLtsql_stmt. static void clear_rewritten_query_fragment(); @@ -489,10 +496,11 @@ attachPLtsql_fragment(ParseTree *node, PLtsql_stmt *fragment) { if (fragment) { - const char *tsqlDesc = pltsql_stmt_typename(fragment); - if (pltsql_enable_antlr_detailed_log) + { + const char *tsqlDesc = pltsql_stmt_typename(fragment); std::cout << " attachPLtsql_fragment(" << (void *) node << ", " << fragment << "[" << tsqlDesc << "])" << std::endl; + } fragments.put(node, fragment); } else @@ -1410,6 +1418,7 @@ class tsqlBuilder : public tsqlCommonMutator std::string db_name; bool is_function = false; bool is_schema_specified = false; + bool in_func_body_return_select_body = false; // We keep a stack of the containers that are active during a traversal. // A container will correspond to a block or a batch - these are containers @@ -1935,8 +1944,13 @@ class tsqlBuilder : public tsqlCommonMutator throw PGErrorWrapperException(ERROR, ERRCODE_INVALID_FUNCTION_DEFINITION, "'INSERT EXEC' cannot be used within a function", getLineAndPos(ddl_object)); } else if (ddl_object && !ddl_object->local_id()) /* insert into non-local object */ - { - throw PGErrorWrapperException(ERROR, ERRCODE_INVALID_FUNCTION_DEFINITION, "'INSERT' cannot be used within a function", getLineAndPos(ddl_object)); + { + if (ddl_object && ddl_object->full_object_name() && isDelimitedAtAtUserVarName(getFullText(ddl_object->full_object_name()) )) + { + /* This is a table variable name enclosed in delimiters, which is OK */ + } + else + throw PGErrorWrapperException(ERROR, ERRCODE_INVALID_FUNCTION_DEFINITION, "'INSERT' cannot be used within a function", getLineAndPos(ddl_object)); } } else if (ctx->update_statement() || ctx->delete_statement()) @@ -1967,16 +1981,20 @@ class tsqlBuilder : public tsqlCommonMutator } else if (ddl_object && !ddl_object->local_id()) { - if (ddl_object && ddl_object->full_object_name()) + if (ddl_object && ddl_object->full_object_name() && isDelimitedAtAtUserVarName(getFullText(ddl_object->full_object_name()) )) { - // DML target can be an alias: verify that the alias is for a table variable - if (table_sources) + /* DML target is a table variable name enclosed in delimiters, which is OK */ + dmlTargetAllowed = true; + } + else + { + if (ddl_object && ddl_object->full_object_name()) { + /* DML target can be an alias: verify that the alias is for a table variable */ line_and_pos = getLineAndPos(ddl_object); - // DML target can be an alias: verify that the alias is for a table variable if (table_sources) { - line_and_pos = getLineAndPos(ddl_object->full_object_name()); + line_and_pos = getLineAndPos(ddl_object->full_object_name()); std::string dmlTarget = getFullText(ddl_object->full_object_name()); dmlTargetAllowed = dmlTargetIsTabvar(table_sources->table_source_item(), dmlTarget); } @@ -2057,7 +2075,13 @@ class tsqlBuilder : public tsqlCommonMutator if (table_source_item[i]->local_id()) { - // Table variable, with alias matching the DML target + // Table variable name, with alias matching the DML target + return true; + } + + if (isDelimitedAtAtUserVarName(getFullText(table_source_item[i]->full_object_name()))) + { + // Delimited table variable name, with alias matching the DML target return true; } } @@ -2202,7 +2226,12 @@ class tsqlBuilder : public tsqlCommonMutator PLtsql_stmt_print *stmt = (PLtsql_stmt_print *) getPLtsql_fragment(ctx); expr = (PLtsql_expr *) linitial(stmt->exprs); } - else if (ctx->raiseerror_statement() && ctx->raiseerror_statement()->raiseerror_msg() && ctx->raiseerror_statement()->raiseerror_msg()->char_string()) + else if (ctx->raiseerror_statement() && + ctx->raiseerror_statement()->raiseerror_msg() && + (ctx->raiseerror_statement()->raiseerror_msg()->char_string() || + ctx->raiseerror_statement()->raiseerror_msg()->local_id() + ) + ) { PLtsql_stmt_raiserror *stmt = (PLtsql_stmt_raiserror *) getPLtsql_fragment(ctx); expr = (PLtsql_expr *) linitial(stmt->params); @@ -2358,6 +2387,14 @@ class tsqlBuilder : public tsqlCommonMutator add_rewritten_query_fragment_to_mutator(&mutator); // move information of rewritten_query_fragment to mutator. mutator.run(); // expr->query will be rewitten here } + else if (stmt->cmd_type == PLTSQL_STMT_EXEC_BATCH) + { + PLtsql_stmt_exec_batch *stmtExec = (PLtsql_stmt_exec_batch *) getPLtsql_fragment(ctx); + PLtsql_expr_query_mutator mutator(stmtExec->expr, ctx); + mutator.markSelectFragment(ctx); + add_rewritten_query_fragment_to_mutator(&mutator); + mutator.run(); + } } else if (ctx->set_statement() && ctx->set_statement()->expression()) @@ -2371,7 +2408,17 @@ class tsqlBuilder : public tsqlCommonMutator add_rewritten_query_fragment_to_mutator(&mutator); mutator.run(); } - + else if (ctx->set_statement() && + ctx->set_statement()->set_special() && + ctx->set_statement()->set_special()->constant_LOCAL_ID() && + ctx->set_statement()->set_special()->constant_LOCAL_ID()->local_id()) + { + PLtsql_stmt_execsql *stmt = (PLtsql_stmt_execsql *) getPLtsql_fragment(ctx->set_statement()); + PLtsql_expr_query_mutator mutator(stmt->sqlstmt, ctx->set_statement()); + add_rewritten_query_fragment_to_mutator(&mutator); + mutator.run(); + } + else if (ctx->declare_statement()) { if (ctx->declare_statement()->declare_local().size() > 0) @@ -2399,10 +2446,17 @@ class tsqlBuilder : public tsqlCommonMutator } } } + else if (ctx->transaction_statement()) + { + PLtsql_stmt_execsql *stmt = (PLtsql_stmt_execsql *) getPLtsql_fragment(ctx); + PLtsql_expr_query_mutator mutator(stmt->sqlstmt, ctx); + add_rewritten_query_fragment_to_mutator(&mutator); + mutator.run(); + } // remove the offsets for processed fragments - selectFragmentOffsets.clear(); - + selectFragmentOffsets.clear(); + clear_rewritten_query_fragment(); } @@ -2584,20 +2638,25 @@ class tsqlBuilder : public tsqlCommonMutator ////////////////////////////////////////////////////////////////////////////// void enterLocal_id(TSqlParser::Local_idContext *ctx) override { - std::string local_id_str = ::getFullText(ctx); + std::string local_id_str = getFullText(ctx); if (local_id_str.length() > 2 && local_id_str[0] == '@' && local_id_str[1] == '@') { - // starting with "@@" is a global variable (or internal function). skip adding. + // Starting with '@@': this is a T-SQL global variable; these are handled separately return; } - // keep to add quote later + // Keep start position of the to add quotes around the vriable name later if (ctx->start) { local_id_positions.emplace(std::make_pair(ctx->start->getStartIndex(), local_id_str)); } } + void exitLocal_id(TSqlParser::Local_idContext *ctx) override + { + handleLocal_id(ctx, in_create_or_alter_procedure || in_create_or_alter_trigger); + } + void exitFull_object_name(TSqlParser::Full_object_nameContext *ctx) override { if (ctx && (ctx->DOT().size() <= 2) && ctx->schema) @@ -2646,6 +2705,20 @@ class tsqlBuilder : public tsqlCommonMutator void exitFull_column_name(TSqlParser::Full_column_nameContext *ctx) override { handleFullColumnNameCtx(ctx); + + if (in_func_body_return_select_body) + { + if (ctx->DOT().empty()) + { + std::string local_id_str = getFullText(ctx); + if (isDelimitedAtAtUserVarName(local_id_str)) { + // We're in the RETURN clause of an ITVF, and any variables names @@var or @var# will be delimited at this point. + // Downstream these need to be temporarily replaced with CAST(NULL as ), and to make that work we need + // to record their positions here. + local_id_positions_atatuservar.emplace(std::make_pair(ctx->start->getStartIndex(), local_id_str)); + } + } + } } /* We are adding handling for CLR_UDT Types in: @@ -2824,31 +2897,35 @@ class tsqlBuilder : public tsqlCommonMutator { // prepare rewriting clear_rewritten_query_fragment(); + local_id_positions_atatuservar.clear(); + in_func_body_return_select_body = true; } void exitFunc_body_return_select_body(TSqlParser::Func_body_return_select_bodyContext *ctx) override { handleITVFBody(ctx); clear_rewritten_query_fragment(); + local_id_positions_atatuservar.clear(); + in_func_body_return_select_body = false; } void enterExecute_body_batch(TSqlParser::Execute_body_batchContext *ctx) override { - in_execute_body_batch = true; + in_execute_body_batch = true; PLtsql_stmt *stmt = makeExecBodyBatch(ctx); attachPLtsql_fragment(ctx, stmt); graft(stmt, peekContainer()); - clear_rewritten_query_fragment(); + clear_rewritten_query_fragment(); } void exitExecute_body_batch(TSqlParser::Execute_body_batchContext *ctx) override { - in_execute_body_batch = false; + in_execute_body_batch = false; PLtsql_stmt_exec *stmt = (PLtsql_stmt_exec *) getPLtsql_fragment(ctx); PLtsql_expr_query_mutator mutator(stmt->expr, ctx); add_rewritten_query_fragment_to_mutator(&mutator); mutator.run(); - clear_rewritten_query_fragment(); + clear_rewritten_query_fragment(); } PLtsql_expr *rewrite_if_condition(TSqlParser::Search_conditionContext *ctx) @@ -2895,10 +2972,13 @@ class tsqlBuilder : public tsqlCommonMutator class tsqlMutator : public TSqlParserBaseListener { public: - const std::vector &ruleNames; - MyInputStream &stream; - bool in_procedure_parameter = false; - bool in_procedure_parameter_id = false; + const std::vector &ruleNames; + MyInputStream &stream; + bool in_procedure_parameter = false; + bool in_procedure_parameter_id = false; + bool in_func_body_return_select_body = false; + bool in_create_or_alter_procedure = false; + bool in_create_or_alter_trigger = false; std::vector double_quota_places; @@ -2956,6 +3036,22 @@ class tsqlMutator : public TSqlParserBaseListener return result; } + void enterCreate_or_alter_procedure(TSqlParser::Create_or_alter_procedureContext *ctx) override { + in_create_or_alter_procedure = true; + } + + void exitCreate_or_alter_procedure(TSqlParser::Create_or_alter_procedureContext *ctx) override { + in_create_or_alter_procedure = false; + } + + void enterCreate_or_alter_trigger(TSqlParser::Create_or_alter_triggerContext *ctx) override { + in_create_or_alter_trigger = true; + } + + void exitCreate_or_alter_trigger(TSqlParser::Create_or_alter_triggerContext *ctx) override { + in_create_or_alter_trigger = false; + } + void enterComparison_operator(TSqlParser::Comparison_operatorContext *ctx) override { // Handle multiple cases: @@ -3006,8 +3102,18 @@ class tsqlMutator : public TSqlParserBaseListener if (pltsql_enable_antlr_detailed_log) std::cout << "-leaving (tsqlMutator)" << (void *) ctx << "[" << desc << "]" << std::endl; - } + } + + void enterFunc_body_return_select_body(TSqlParser::Func_body_return_select_bodyContext *ctx) override + { + in_func_body_return_select_body = true; + } + void exitFunc_body_return_select_body(TSqlParser::Func_body_return_select_bodyContext *ctx) override + { + in_func_body_return_select_body = false; + } + void enterFunc_proc_name_server_database_schema(TSqlParser::Func_proc_name_server_database_schemaContext *ctx) override { // We are looking at a function name; it may be a function call, or a @@ -3148,16 +3254,21 @@ class tsqlMutator : public TSqlParserBaseListener in_procedure_parameter = true; } } - + void enterFull_column_name(TSqlParser::Full_column_nameContext *ctx) override { if (in_procedure_parameter) { in_procedure_parameter_id = true; - } + } + } + + void exitLocal_id(TSqlParser::Local_idContext *ctx) override + { + handleLocal_id(ctx, in_create_or_alter_procedure || in_create_or_alter_trigger); } void exitFunc_body_returns_scalar(TSqlParser::Func_body_returns_scalarContext *ctx) override - { + { // If no AS keyword is specified, insert it prior to the BEGIN keyword. // This only applies to scalar functions; for other function types, the optional AS keyword // is already supported. @@ -4571,16 +4682,16 @@ makeTsqlExpr(const std::string &fragment, bool addSelect) PLtsql_expr *result = (PLtsql_expr *) palloc0(sizeof(*result)); if (addSelect) - result->query = pstrdup((fragment_SELECT_prefix + fragment).c_str()); + result->query = pstrdup((fragment_SELECT_prefix + delimitIfAtAtUserVarName(fragment)).c_str()); else - result->query = pstrdup(fragment.c_str()); - - result->plan = NULL; - result->paramnos = NULL; - result->rwparam = -1; - result->ns = pltsql_ns_top(); - - return result; + result->query = pstrdup(delimitIfAtAtUserVarName(fragment).c_str()); + + result->plan = NULL; + result->paramnos = NULL; + result->rwparam = -1; + result->ns = pltsql_ns_top(); + + return result; } PLtsql_expr * @@ -5087,19 +5198,32 @@ makeReturnQueryStmt(TSqlParser::Select_statement_standaloneContext *ctx, bool it add_rewritten_query_fragment_to_mutator(&itvf_mutator); std::u32string query = utf8_to_utf32(itvf_expr->query); + + /* + * Add the positions of @@var / @var# names to make the logic below work + * for getting the column list. + */ + for (const auto &entryA : local_id_positions_atatuservar) + { + std::string varName = delimitIfAtAtUserVarName(entryA.second); + local_id_positions.emplace(std::make_pair(entryA.first, varName)); + } + for (const auto &entry : local_id_positions) { const std::string& local_id = entry.second; + std::string local_id_lookup = local_id; + if (isDelimitedAtAtUserVarName(local_id)) local_id_lookup = local_id.substr(1,local_id.length()-2); const std::u32string& local_id_u32 = utf8_to_utf32(local_id.c_str()); size_t offset = entry.first - base_index; if (query.substr(offset, local_id_u32.length()) == local_id_u32) // local_id maybe already deleted in some cases such as select-assignment. check here if it still exists) { int dno; - PLtsql_nsitem *nse = pltsql_ns_lookup(pltsql_ns_top(), false, local_id.c_str(), nullptr, nullptr, nullptr); + PLtsql_nsitem *nse = pltsql_ns_lookup(pltsql_ns_top(), false, local_id_lookup.c_str(), nullptr, nullptr, nullptr); if (nse) dno = nse->itemno; else - throw PGErrorWrapperException(ERROR, ERRCODE_SYNTAX_ERROR, format_errmsg("\"%s\" is not a known variable", local_id.c_str()), getLineAndPos(ctx)); + throw PGErrorWrapperException(ERROR, ERRCODE_SYNTAX_ERROR, format_errmsg("\"%s\" is not a known variable", local_id_lookup.c_str()), getLineAndPos(ctx)); PLtsql_var *var = (PLtsql_var *) pltsql_Datums[dno]; std::string repl_text = std::string("CAST(NULL AS ") + std::string(var->datatype->typname) + std::string(")"); @@ -5188,7 +5312,7 @@ makeRaiseErrorStmt(TSqlParser::Raiseerror_statementContext *ctx) result->seterror = false; // msg, severity, state - result->params = lappend(result->params, makeTsqlExpr(ctx->msg->getText(), true)); + result->params = lappend(result->params, makeTsqlExpr(delimitIfAtAtUserVarName(ctx->msg->getText()), true)); recordSelectFragmentOffsets(ctx->parent, ctx->raiseerror_msg()); result->params = lappend(result->params, makeTsqlExpr(ctx->severity, true)); @@ -5269,10 +5393,10 @@ makeDeclareStmt(TSqlParser::Declare_statementContext *ctx, std::mapLOCAL_ID() && ctx->table_type_definition()) + if (ctx->local_id() && ctx->table_type_definition()) { - std::string nameStr = ::getFullText(ctx->LOCAL_ID()); - std::string typeStr = ::getFullText(ctx->table_type_definition()); + std::string nameStr = getFullText(ctx->local_id()); + std::string typeStr = getFullText(ctx->table_type_definition()); const char *name = downcase_truncate_identifier(nameStr.c_str(), nameStr.length(), true); check_dup_declare(name); PLtsql_type *type = parse_datatype(typeStr.c_str(), 0); @@ -5287,7 +5411,7 @@ makeDeclareStmt(TSqlParser::Declare_statementContext *ctx, std::mapLOCAL_ID()); + std::string nameStr = getFullText(local->LOCAL_ID()); const char *name = downcase_truncate_identifier(nameStr.c_str(), nameStr.length(), true); check_dup_declare(name); @@ -5417,7 +5541,7 @@ makeSQL(ParserRuleContext *ctx) static bool is_valid_set_option(std::string val) { - /* ON/OFF option and other special options (i.e. TRANSACTION ISOLATION LEVEL) are not incldued in this function because they are handled by grammar */ + /* ON/OFF option and other special options (i.e. TRANSACTION ISOLATION LEVEL) are not included in this function because they are handled by grammar */ return (pg_strcasecmp("DATEFIRST", val.c_str()) == 0) || (pg_strcasecmp("DATEFORMAT", val.c_str()) == 0) || (pg_strcasecmp("DEADLOCK_PRIORITY", val.c_str()) == 0) || @@ -5654,7 +5778,7 @@ makeSetStatement(TSqlParser::Set_statementContext *ctx, tsqlBuilder &builder) PLtsql_stmt_execsql *stmt = (PLtsql_stmt_execsql *) palloc0(sizeof(PLtsql_stmt_execsql)); std::string query; - query += "CALL bbf_set_context_info(convert(varbinary(128), "; + query += "CALL sys.bbf_set_context_info(convert(varbinary(128), "; query += param; query += "));"; @@ -5672,7 +5796,10 @@ makeSetStatement(TSqlParser::Set_statementContext *ctx, tsqlBuilder &builder) return (PLtsql_stmt *) stmt; } else + { + // We get here for other SET options that do not fall under set_on_off_option or special_variable, like DATEFORMAT return makeSQL(ctx); + } } else if (set_special_ctx->OFFSETS()) return nullptr; @@ -5697,7 +5824,7 @@ makeSetStatement(TSqlParser::Set_statementContext *ctx, tsqlBuilder &builder) { TSqlParser::Special_variableContext *guc_ctx = static_cast (set_special_ctx->special_variable()); /* build expression with the input variable */ - PLtsql_expr* input_expr = makeTsqlExpr(getFullText(set_special_ctx->LOCAL_ID()), true); + PLtsql_expr* input_expr = makeTsqlExpr(delimitIfAtAtUserVarName(getFullText(set_special_ctx->LOCAL_ID())), true); /* build target variable for this GUC, so that in backend we can identify that target is GUC */ PLtsql_var *target_var = build_babelfish_guc_variable(guc_ctx); /* assign expression to target */ @@ -5709,7 +5836,9 @@ makeSetStatement(TSqlParser::Set_statementContext *ctx, tsqlBuilder &builder) return (PLtsql_stmt *) result; } else + { return makeSQL(ctx); + } } else return nullptr; @@ -5892,11 +6021,15 @@ makeExecuteStatement(TSqlParser::Execute_statementContext *ctx) } std::string expr_query = ss.str(); result->expr = makeTsqlExpr(expr_query, true); - + if (!exec_strings.empty()) + { + recordSelectFragmentOffsets(ctx->parent, exec_strings[0]->getStart()->getStartIndex(), exec_strings[exec_strings.size()-1]->getStop()->getStopIndex(), 0); + } + return (PLtsql_stmt *) result; } else /* execute a stored procedure or function */ - { + { return makeExecuteProcedure(ctx, "execute_statement"); } } @@ -6055,8 +6188,9 @@ makeFetchCursorStatement(TSqlParser::Fetch_cursorContext *ctx) for (size_t i=0; iitemtype == PLTSQL_NSTYPE_REC || @@ -6382,7 +6516,7 @@ makeTransactionStatement(TSqlParser::Transaction_statementContext *ctx) PLtsql_stmt_execsql *stmt = (PLtsql_stmt_execsql *) result; stmt->txn_data = (PLtsql_txn_data *) palloc0(sizeof(PLtsql_txn_data)); - auto *localID = ctx->LOCAL_ID(); + auto *localID = ctx->local_id(); if (localID) { stmt->txn_data->txn_name_expr = makeTsqlExpr(::getFullText(localID), true); @@ -6428,7 +6562,7 @@ makeAnother(TSqlParser::Another_statementContext *ctx, tsqlBuilder &builder) for (PLtsql_stmt *stmt : result) { - // Associate each fragement with a tree node + // Associate each fragment with a tree node if (!declare_local_expr.empty() && declare_local_expr.find(stmt) != declare_local_expr.end()) { attachPLtsql_fragment(declare_local_expr.at(stmt), stmt); @@ -6474,7 +6608,7 @@ makeExecuteProcedure(ParserRuleContext *ctx, std::string call_type) std::string execKeywd = "EXEC"; // DO NOT CHANGE! int name_length = 0; - // Use a boolean vor convenience + // Use a boolean for convenience bool execute_statement = string_matches(call_type.c_str(), "execute_statement") ? true : false; size_t startPos = ctx->start->getStartIndex(); // start position of statement @@ -6725,29 +6859,47 @@ makeDbccCheckidentStatement(TSqlParser::Dbcc_statementContext *ctx) stmt->cmd_type = PLTSQL_STMT_DBCC; stmt->dbcc_stmt_type = PLTSQL_DBCC_CHECKIDENT; - if (ctx->table_name_string()) + /* + * FIXME: the table name and new value arguments can be local variables. The grammar supports this but + * the processing below does not yet. These cases are currently caught in TsqlUnsupportedFeatureHandler + * and a polite error message is raised. Consequently, we should never get here for those cases, and + * for clarity, the two Assert(0) statements are marking those locations which we should never arrive at. + */ + if (ctx->dbcc_table_name()) { - if(ctx->table_name_string()->table) + if (ctx->dbcc_table_name()->table) { - input_str = stripQuoteFromId(ctx->table_name_string()->table); + input_str = stripQuoteFromId(ctx->dbcc_table_name()->table); } - if (ctx->table_name_string()->char_string()) + else if (ctx->dbcc_table_name()->char_string()) { - input_str = ctx->table_name_string()->char_string()->STRING()->getSymbol()->getText(); + input_str = ctx->dbcc_table_name()->char_string()->STRING()->getSymbol()->getText(); if (input_str.length() <= 2) throw PGErrorWrapperException(ERROR, ERRCODE_INVALID_PARAMETER_VALUE, "Parameter 1 is incorrect for this DBCC statement", - getLineAndPos(ctx->table_name_string())); + getLineAndPos(ctx->dbcc_table_name())); input_str = input_str.substr(1, input_str.length()-2); } + else if (ctx->dbcc_table_name()->local_id()) + { + // This is already caught in TsqlUnsupportedFeatureHandler, so we should not get here + Assert(0); + } + if (ctx->RESEED()) { - if (ctx->new_value) + if (ctx->checkident_new_value()) { - if(ctx->MINUS()) - stmt->dbcc_stmt_data.dbcc_checkident.new_reseed_value = pstrdup((ctx->new_value->getText().insert(0,"-")).c_str()); + if (ctx->checkident_new_value()->local_id()) + { + // This is already caught in TsqlUnsupportedFeatureHandler, so we should not get here + Assert(0); + } + + if (ctx->MINUS()) + stmt->dbcc_stmt_data.dbcc_checkident.new_reseed_value = pstrdup((ctx->checkident_new_value()->getText().insert(0,"-")).c_str()); else - stmt->dbcc_stmt_data.dbcc_checkident.new_reseed_value = pstrdup((ctx->new_value->getText()).c_str()); + stmt->dbcc_stmt_data.dbcc_checkident.new_reseed_value = pstrdup((ctx->checkident_new_value()->getText()).c_str()); } } else if (ctx->NORESEED()) @@ -6827,8 +6979,9 @@ create_select_target_row(const char *refname, size_t nfields, int lineno) // Add target column to target row for assignment void add_assignment_target_field(PLtsql_row *target, antlr4::tree::TerminalNode *localId, size_t idx) { - auto targetText = ::getFullText(localId); - PLtsql_nsitem *nse = pltsql_ns_lookup(pltsql_ns_top(), false, targetText.c_str(), nullptr, nullptr, nullptr); + std::string targetText = getFullText(localId); + const char *nameLookup = downcase_truncate_identifier(targetText.c_str(), targetText.length(), true); + PLtsql_nsitem *nse = pltsql_ns_lookup(pltsql_ns_top(), false, nameLookup, nullptr, nullptr, nullptr); if (!nse) throw PGErrorWrapperException(ERROR, ERRCODE_SYNTAX_ERROR, format_errmsg("\"%s\" is not a known variable", targetText.c_str()), getLineAndPos(localId)); @@ -7769,7 +7922,8 @@ post_process_declare_cursor_statement(PLtsql_stmt_decl_cursor *stmt, TSqlParser: static PLtsql_var * lookup_cursor_variable(const char *varname) { - PLtsql_nsitem *nse = pltsql_ns_lookup(pltsql_ns_top(), false, varname, nullptr, nullptr, nullptr); + const char *varnameLookup = downcase_truncate_identifier(varname, strlen(varname), true); + PLtsql_nsitem *nse = pltsql_ns_lookup(pltsql_ns_top(), false, varnameLookup, nullptr, nullptr, nullptr); if (!nse) throw PGErrorWrapperException(ERROR, ERRCODE_SYNTAX_ERROR, format_errmsg("\"%s\" is not a known variable", varname), 0, 0); @@ -8094,23 +8248,25 @@ static tsql_exec_param * makeSpParam(TSqlParser::Execute_statement_arg_namedContext *ctx) { TSqlParser::Execute_parameterContext *exec_param = ctx->execute_parameter(); - Assert(exec_param && ctx->LOCAL_ID()); + Assert(exec_param && ctx->local_id()); tsql_exec_param *p = (tsql_exec_param *) palloc0(sizeof(*p)); - auto targetText = ::getFullText(ctx->LOCAL_ID()); + std::string targetText = ::getFullText(ctx->local_id()); p->name = pstrdup(targetText.c_str()); p->varno = -1; p->mode = FUNC_PARAM_IN; - if (exec_param->LOCAL_ID() && (exec_param->OUTPUT() || exec_param->OUT())) + if (exec_param->local_id() && (exec_param->OUTPUT() || exec_param->OUT())) { - auto *localID = exec_param->LOCAL_ID(); + auto *localID = exec_param->local_id()->LOCAL_ID(); p->varno = getVarno(localID); p->expr = makeTsqlExpr(::getFullText(localID), true); p->mode = FUNC_PARAM_INOUT; } else + { p->expr = makeTsqlExpr(exec_param, true); + } return p; } @@ -8126,15 +8282,17 @@ makeSpParam(TSqlParser::Execute_statement_arg_unnamedContext *ctx) p->varno = -1; p->mode = FUNC_PARAM_IN; - if (exec_param->LOCAL_ID() && (exec_param->OUTPUT() || exec_param->OUT())) + if (exec_param->local_id() && (exec_param->OUTPUT() || exec_param->OUT())) { - auto *localID = exec_param->LOCAL_ID(); + auto *localID = exec_param->local_id()->LOCAL_ID(); p->varno = getVarno(localID); p->expr = makeTsqlExpr(::getFullText(localID), true); p->mode = FUNC_PARAM_INOUT; } else + { p->expr = makeTsqlExpr(exec_param, true); + } return p; } @@ -8143,9 +8301,9 @@ static int getVarno(tree::TerminalNode *localID) { int dno = -1; - auto targetText = ::getFullText(localID); - - PLtsql_nsitem *nse = pltsql_ns_lookup(pltsql_ns_top(), false, targetText.c_str(), nullptr, nullptr, nullptr); + std::string targetText = getFullText(localID); + const char *nameLookup = downcase_truncate_identifier(targetText.c_str(), targetText.length(), true); + PLtsql_nsitem *nse = pltsql_ns_lookup(pltsql_ns_top(), false, nameLookup, nullptr, nullptr, nullptr); if (nse) dno = nse->itemno; @@ -9350,7 +9508,7 @@ handleOrderByOffsetFetch(TSqlParser::Order_by_clauseContext *ctx) // Do not rewrite the entire expression since that will break the logic in the mutator when there is something inside the // expression that also needs rewriting (like a local variable @p which needs to be rewritten as "@p"). // Instead, insert an opening and closing bracket in the right places. - // Also, do not add a rewrite at the start position of the expression since there may be an '@' for a local var + // Also, do not add a rewrite at the start position of the expression since there may be an '@' for a local var // at that position and the rewrite to double-quote the variable will be lost as a result. rewritten_query_fragment.emplace(std::make_pair((ctx->offset_exp->start->getStartIndex() - 1), std::make_pair("", " ("))); rewritten_query_fragment.emplace(std::make_pair((ctx->offset_exp->stop->getStopIndex() + 1), std::make_pair("", ") "))); @@ -9365,3 +9523,121 @@ handleOrderByOffsetFetch(TSqlParser::Order_by_clauseContext *ctx) return; } + +// Determine if a variable name contains a hash or starts with @@: these need special handling +// since the PG backend isn't able to process these names otherwise. +// For predefined global @@variables, these should not be delimited as the backend handles these already. +static bool +isAtAtUserVarName(const std::string name) +{ + if (name.length() >= 3) + { + if (name.front() == '@') + { + if ( + (name.find_first_of("#") != std::string::npos) || + (name[1] == '@') + ) + { + if (name.find_first_not_of("@#$_0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ") == std::string::npos) + { + if (!is_tsql_atatglobalvar(name.c_str())) + { + return true; + } + } + } + } + } + return false; +} + +// Check for same variable name as above, but delimited +static bool +isDelimitedAtAtUserVarName(const std::string name) +{ + // Check for delimiters. Both square brackets and double quotes are used as delimiters for variable names. + if (((name.front() == '[') && (name.back() == ']')) || ((name.front() == '"') && (name.back() == '"'))) + { + if (isAtAtUserVarName(name.substr(1,name.length()-2))) + { + return true; + } + } + return false; +} + +// Set up rewrites for variables names containing a hash or starting with @@ +static void +handleLocal_id(TSqlParser::Local_idContext *ctx, bool inSqlObject) +{ + std::string local_id = ::getFullText(ctx); + + // Don't do anything for a predefined T-SQL global @@variable + if (!isAtAtUserVarName(local_id)) + { + return; + } + + // When this is for a table variable declaration, do not add delimiters at this point since internally the nestlevel will be attached first + Assert(ctx->parent); + auto parentCtx = ctx->parent; + if (dynamic_cast(parentCtx)) + { + TSqlParser::Declare_statementContext *declareCtx = static_cast(parentCtx); + if (declareCtx->table_type_definition() != nullptr) + { + return; + } + } + + // For some cases, an @@var or @var# name should not be delimited when it is referenced inside a procedure or trigger, + // as it will be delimited once the body is executed. + if (inSqlObject) + { + if (dynamic_cast(parentCtx)) + { + return; + } + if (dynamic_cast(parentCtx)) + { + return; + } + if (dynamic_cast(parentCtx)) + { + return; + } + if (dynamic_cast(parentCtx)) + { + return; + } + if (dynamic_cast(parentCtx)) + { + return; + } + if (dynamic_cast(parentCtx)) + { + Assert(parentCtx->parent); + if (dynamic_cast(parentCtx->parent)) + { + return; + } + } + } + + // Delimit a variable by rewriting. + // Using double quotes causes SELECT @@V to generate '@@V' as the result, so using square brackets instead. + rewritten_query_fragment.emplace(std::make_pair(ctx->start->getStartIndex(), std::make_pair(local_id, "[" + local_id + "]"))); +} + +// Delimit a variable name directly (rather than by rewriting) +static std::string +delimitIfAtAtUserVarName(const std::string name) +{ + std::string str = name; + if (isAtAtUserVarName(name)) + { + str = "[" + str + "]"; + } + return str; +} diff --git a/contrib/babelfishpg_tsql/src/tsqlUnsupportedFeatureHandler.cpp b/contrib/babelfishpg_tsql/src/tsqlUnsupportedFeatureHandler.cpp index 097444d5fe..fd86e02bc9 100644 --- a/contrib/babelfishpg_tsql/src/tsqlUnsupportedFeatureHandler.cpp +++ b/contrib/babelfishpg_tsql/src/tsqlUnsupportedFeatureHandler.cpp @@ -1333,6 +1333,24 @@ antlrcpp::Any TsqlUnsupportedFeatureHandlerImpl::visitTransaction_statement(TSql antlrcpp::Any TsqlUnsupportedFeatureHandlerImpl::visitDbcc_statement(TSqlParser::Dbcc_statementContext *ctx) { + if (ctx->CHECKIDENT()) + { + Assert(ctx->dbcc_table_name()); + if (ctx->dbcc_table_name()->local_id()) + { + throw PGErrorWrapperException(ERROR, ERRCODE_SYNTAX_ERROR, + "DBCC CHECKIDENT does not currently support a variable for the table name", + getLineAndPos(ctx->dbcc_table_name())); + } + + if (ctx->checkident_new_value()) + { + if (ctx->checkident_new_value()->local_id()) + throw PGErrorWrapperException(ERROR, ERRCODE_SYNTAX_ERROR, + "DBCC CHECKIDENT does not currently support a variable for the RESEED value", + getLineAndPos(ctx->checkident_new_value())); + } + } if (ctx->dbcc_command()) { diff --git a/test/JDBC/expected/BABEL-3092.out b/test/JDBC/expected/BABEL-3092.out index ef55195463..748c1074f0 100644 --- a/test/JDBC/expected/BABEL-3092.out +++ b/test/JDBC/expected/BABEL-3092.out @@ -356,7 +356,7 @@ EXEC("SELECT * FROM t") GO ~~ERROR (Code: 33557097)~~ -~~ERROR (Message: column "select * from t" does not exist)~~ +~~ERROR (Message: relation "t" does not exist)~~ EXEC(@v) GO diff --git a/test/JDBC/expected/atatuservar-vu-cleanup.out b/test/JDBC/expected/atatuservar-vu-cleanup.out new file mode 100644 index 0000000000..3c57e1c16c --- /dev/null +++ b/test/JDBC/expected/atatuservar-vu-cleanup.out @@ -0,0 +1,167 @@ +drop procedure p1_atatuservar +go +drop procedure p2_atatuservar +go +drop function f1_atatuservar +go +drop function f2_atatuservar +go +drop procedure p3_atatuservar +go +drop function f3_atatuservar +go +drop procedure p4_atatuservar +go +drop procedure p19_atatuservar +go +drop procedure p5_atatuservar +go +drop procedure p6_atatuservar +go +drop procedure p7_atatuservar +go +drop procedure p8_atatuservar +go +drop procedure p9_atatuservar +go +drop procedure p10_atatuservar +go +drop procedure p11_atatuservar +go +drop function f4_atatuservar +go +drop procedure p22_atatuservar +go +drop procedure p12_atatuservar +go +drop procedure p13_atatuservar +go +drop procedure p14_atatuservar +go +drop function f1_atatuservar_extra_long_name_here +go +drop function f2_atatuservar_extra_long_name_here +go +drop procedure p15_atatuservar +go +drop procedure p16_atatuservar +go +drop procedure p17_atatuservar +go +drop procedure p18_atatuservar +go +drop procedure p1_raiserror_atatuservar +go +drop procedure p1_spexec_atatuservar +go +drop procedure p2_spexec_atatuservar +go +drop function f1_ins_atatuservar +go +drop function f1_upd_atatuservar +go +drop function f1_del_atatuservar +go +drop function f3_atatuservar_upd +go +drop function f3_atatuservar_del +go +drop function f3_upd_atatuservar +go +drop function f3_del_atatuservar +go +drop function f4_ins_atatuservar +go +drop function f4_upd_atatuservar +go +drop function f4_del_atatuservar +go +drop function f5_upd_atatuservar +go +drop function f5_del_atatuservar +go +drop function f6_upd_atatuservar +go +drop function f6_del_atatuservar +go +drop function f7_tabvar_udf_upd_atatuservar +go +drop function f9_tabvar_udf_del_atatuservar +go +drop function f10_tabvar_udf_del_atatuservar +go +drop function f4_atatuservar_tabvar_in_function_upd +go +drop function f14_del_atatuservar +go +drop function f15_upd_atatuservar +go +drop procedure p20_atatuservar +go +drop procedure p21_atatuservar +go +drop procedure p1_xactname_atatuservar +go +drop procedure p2_xactname_atatuservar +go + +drop table t1_atatuservar +go +drop table t2_atatuservar +go +drop table t3_atatuservar +go +drop table t_checkident_atatuservar +go +drop table t1_trigger_atatuservar +go +drop table t2_trigger_atatuservar +go +drop table t3_trigger_atatuservar +go +drop table t4_trigger_atatuservar +go +drop table t5_trigger_atatuservar +go +drop table t6_trigger_atatuservar +go +drop table t7_trigger_atatuservar +go +drop table t8_trigger_atatuservar +go +drop table t9_trigger_atatuservar +go +drop table t10_trigger_atatuservar +go +drop table t11_trigger_atatuservar +go +drop table t12_trigger_atatuservar +go +drop table t13_trigger_atatuservar +go +drop table t14_trigger_atatuservar +go +drop table t15_trigger_atatuservar +go +drop table t16_trigger_atatuservar +go +drop table t17_trigger_atatuservar +go +drop table t18_trigger_atatuservar +go +drop table t19_trigger_atatuservar +go +drop table t20_trigger_atatuservar +go +drop table t21_trigger_atatuservar +go +drop table t22_trigger_atatuservar +go +drop table t23_trigger_atatuservar +go +drop procedure p1_cursor_atatuservar +go +drop procedure p1_sysfunctions_atatuservar +go +drop function f1_sysfunctions_atatuservar +go diff --git a/test/JDBC/expected/atatuservar-vu-prepare.out b/test/JDBC/expected/atatuservar-vu-prepare.out new file mode 100644 index 0000000000..68eeafe85c --- /dev/null +++ b/test/JDBC/expected/atatuservar-vu-prepare.out @@ -0,0 +1,76 @@ +create table t1_atatuservar (c varchar(20)) +insert t1_atatuservar values ('row 1'), ('row 2'), ('row 3') +go +~~ROW COUNT: 3~~ + +create table t2_atatuservar (a int) +insert t2_atatuservar values(123) +go +~~ROW COUNT: 1~~ + +create table t3_atatuservar (a int) +insert t3_atatuservar values(123) +go +~~ROW COUNT: 1~~ + +create table t_checkident_atatuservar (a varchar(20), n int identity) +go +insert t_checkident_atatuservar values('one') +insert t_checkident_atatuservar values('two') +insert t_checkident_atatuservar values('three') +insert t_checkident_atatuservar values('four') +go +~~ROW COUNT: 1~~ + +~~ROW COUNT: 1~~ + +~~ROW COUNT: 1~~ + +~~ROW COUNT: 1~~ + +create table t1_trigger_atatuservar (a int) +go +create table t2_trigger_atatuservar (a int) +go +create table t3_trigger_atatuservar (a int) +go +create table t4_trigger_atatuservar (a int) +go +create table t5_trigger_atatuservar (a int) +go +create table t6_trigger_atatuservar (a int) +go +create table t7_trigger_atatuservar (a int) +go +create table t8_trigger_atatuservar (a int) +go +create table t9_trigger_atatuservar (a int) +go +create table t10_trigger_atatuservar(a int) +go +create table t11_trigger_atatuservar(a int) +go +create table t12_trigger_atatuservar(a int) +go +create table t13_trigger_atatuservar(a int) +go +create table t14_trigger_atatuservar(a int) +go +create table t15_trigger_atatuservar(a int) +go +create table t16_trigger_atatuservar(a int) +go +create table t17_trigger_atatuservar(a int) +go +create table t18_trigger_atatuservar(a int) +go +create table t19_trigger_atatuservar(a int) +go +create table t20_trigger_atatuservar(a int) +go +create table t21_trigger_atatuservar(a int) +go +create table t22_trigger_atatuservar(a int) +go +create table t23_trigger_atatuservar(a int) +go diff --git a/test/JDBC/expected/atatuservar-vu-verify.out b/test/JDBC/expected/atatuservar-vu-verify.out new file mode 100644 index 0000000000..81724023bf --- /dev/null +++ b/test/JDBC/expected/atatuservar-vu-verify.out @@ -0,0 +1,3856 @@ +-- simple variables in T-SQL batch +set quoted_identifier off +go +declare @@v int = 2 select @@v +go +~~START~~ +int +2 +~~END~~ + +declare @#v int = 2 select @#v +go +~~START~~ +int +2 +~~END~~ + +declare @@@$$@@@@v int = 2 select @@@$$@@@@v +go +~~START~~ +int +2 +~~END~~ + +declare @@@$$@@@@v##### int = 2 select @@@$$@@@@v##### +go +~~START~~ +int +2 +~~END~~ + +declare @@@$$@@@@#####v int = 2 select @@@$$@@@@#####v +go +~~START~~ +int +2 +~~END~~ + +declare @#############v int = 2 select @#############v +go +~~START~~ +int +2 +~~END~~ + + +-- 63 long +declare @@v63_7890123456789$123456789$123456789012345678901234567890123 int = 2 +select @@v63_7890123456789$123456789$123456789012345678901234567890123 +go +~~START~~ +int +2 +~~END~~ + +-- 64 long +declare @@v64_7890123456789$123456789$1234567890123456789012345678901234 int = 2 +select @@v64_7890123456789$123456789$1234567890123456789012345678901234 +go +~~START~~ +int +2 +~~END~~ + +-- maximum length in T-SQL is 128 +declare @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int = 2 +select @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +go +~~START~~ +int +2 +~~END~~ + + +declare @#v63_7890123456789$123456789$123456789012345678901234567890123 int = 2 +select @#v63_7890123456789$123456789$123456789012345678901234567890123 +go +~~START~~ +int +2 +~~END~~ + +declare @#v64_7890123456789$123456789$1234567890123456789012345678901234 int = 2 +select @#v64_7890123456789$123456789$1234567890123456789012345678901234 +go +~~START~~ +int +2 +~~END~~ + +declare @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int = 2 +select @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +go +~~START~~ +int +2 +~~END~~ + +declare @@v128_@@@$$@@@@$$@########@@@$$@@@@$$@@@@$$@@@###__##@@@$$@@@@$$@@@@$$@@@@$$@@@______@@@$$@@@@$$@@@@$$@@@###########@@@$$@@@@@@ int = 2 +select @@v128_@@@$$@@@@$$@########@@@$$@@@@$$@@@@$$@@@###__##@@@$$@@@@$$@@@@$$@@@@$$@@@______@@@$$@@@@$$@@@@$$@@@###########@@@$$@@@@@@ +go +~~START~~ +int +2 +~~END~~ + + +-- referencing global @@variable, in T-SQL batch, procedure, trigger and function +declare @@v int +select 1 +set @@v = @@rowcount +select @@v +go +~~START~~ +int +1 +~~END~~ + +~~START~~ +int +1 +~~END~~ + + +declare @@@$$@@@@v int, @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int +select 1 +set @@@$$@@@@v = @@rowcount +set @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 = @@pgerror +select @@@$$@@@@v, @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +go +~~START~~ +int +1 +~~END~~ + +~~START~~ +int#!#int +1#!#0 +~~END~~ + + +declare @@v63_7890123456789$123456789$123456789012345678901234567890123 int +set @@v63_7890123456789$123456789$123456789012345678901234567890123 = @@rowcount +select @@v63_7890123456789$123456789$123456789012345678901234567890123 +go +~~START~~ +int +1 +~~END~~ + + +declare @#v64_7890123456789$123456789$1234567890123456789012345678901234 int +set @#v64_7890123456789$123456789$1234567890123456789012345678901234 = @@rowcount +select @#v64_7890123456789$123456789$1234567890123456789012345678901234 +go +~~START~~ +int +1 +~~END~~ + + +declare @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int +set @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 = @@rowcount +select @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +go +~~START~~ +int +1 +~~END~~ + + + +create procedure p1_atatuservar +as +declare @@v int +select 1 +set @@v = @@rowcount +select @@v +declare @#v int +select 1 +set @#v = @@rowcount +select @#v +go +exec p1_atatuservar +go +~~START~~ +int +1 +~~END~~ + +~~START~~ +int +1 +~~END~~ + +~~START~~ +int +1 +~~END~~ + +~~START~~ +int +1 +~~END~~ + + + +create procedure p2_atatuservar +as +declare @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int, @@p128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int +select 1 +set @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 = @@rowcount +select @@p128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 = @@pgerror +select @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678, @@p128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +declare @#v64_7890123456789$123456789$1234567890123456789012345678901234 int +select 1 +set @#v64_7890123456789$123456789$1234567890123456789012345678901234 = @@rowcount +select @#v64_7890123456789$123456789$1234567890123456789012345678901234 +go +exec p2_atatuservar +go +~~START~~ +int +1 +~~END~~ + +~~START~~ +int#!#int +1#!#0 +~~END~~ + +~~START~~ +int +1 +~~END~~ + +~~START~~ +int +1 +~~END~~ + + + +create trigger tr1_atatuservar on t1_trigger_atatuservar for insert +as +begin +select 'trigger tr1_atatuservar' +declare @@v int +select 1 +set @@v = @@rowcount +select @@v +declare @#v int +select 1 +set @#v = @@rowcount +select @#v +end +go +insert t1_trigger_atatuservar values (123) +go +~~START~~ +varchar +trigger tr1_atatuservar +~~END~~ + +~~START~~ +int +1 +~~END~~ + +~~START~~ +int +1 +~~END~~ + +~~START~~ +int +1 +~~END~~ + +~~START~~ +int +1 +~~END~~ + +~~ROW COUNT: 1~~ + + + + +create trigger tr2_atatuservar on t2_trigger_atatuservar for insert +as +begin +select 'trigger tr2_atatuservar' +declare @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int +select 1 +set @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 = @@rowcount +select @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +declare @#v64_7890123456789$123456789$1234567890123456789012345678901234 int +select 1 +set @#v64_7890123456789$123456789$1234567890123456789012345678901234 = @@rowcount +select @#v64_7890123456789$123456789$1234567890123456789012345678901234 +end +go +insert t2_trigger_atatuservar values (123) +go +~~START~~ +varchar +trigger tr2_atatuservar +~~END~~ + +~~START~~ +int +1 +~~END~~ + +~~START~~ +int +1 +~~END~~ + +~~START~~ +int +1 +~~END~~ + +~~START~~ +int +1 +~~END~~ + +~~ROW COUNT: 1~~ + + + + +create function f1_atatuservar() returns int +as +begin +declare @@v int, @@v2 int +select @@v2 = count(*) from t1_atatuservar +set @@v = @@rowcount +declare @#v int, @#v2 int +select @#v2 = count(*) from t1_atatuservar +set @#v = @@rowcount +return @@v * @#v +end +go +select dbo.f1_atatuservar() +go +~~START~~ +int +1 +~~END~~ + + + +create function f2_atatuservar() returns int +as +begin +declare @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int, @#v64_7890123456789$123456789$1234567890123456789012345678901234 int +select @#v64_7890123456789$123456789$1234567890123456789012345678901234 = count(*) from t1_atatuservar +set @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 = @@rowcount +return @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 * @#v64_7890123456789$123456789$1234567890123456789012345678901234 +end +go +select dbo.f2_atatuservar() +go +~~START~~ +int +3 +~~END~~ + + + +create trigger tr3_atatuservar on t3_trigger_atatuservar for insert +as +begin +select 'trigger tr3_atatuservar' +declare @@v int, @@v2 int +select @@v2 = count(*) from t1_atatuservar +set @@v = @@rowcount +select @@v +declare @#v int, @#v2 int +select @#v2 = count(*) from t1_atatuservar +set @#v = @@rowcount +select @#v +end +go +insert t3_trigger_atatuservar values (123) +go +~~START~~ +varchar +trigger tr3_atatuservar +~~END~~ + +~~START~~ +int +1 +~~END~~ + +~~START~~ +int +1 +~~END~~ + +~~ROW COUNT: 1~~ + + +-- assuming @@servername is BABELFISH +declare @v varchar(50) +set @v = @@servername +select @v +go +~~START~~ +varchar +BABELFISH +~~END~~ + + +declare @v int +set @v = len(@@servername) +select @v +go +~~START~~ +int +9 +~~END~~ + + + +create procedure p3_atatuservar +as +declare @v varchar(50) +set @v = @@servername +select @v +declare @v2 int +set @v2 = len(@@servername) +select @v2 +go +exec p3_atatuservar +go +~~START~~ +varchar +BABELFISH +~~END~~ + +~~START~~ +int +9 +~~END~~ + + +create function f3_atatuservar(@#p1 varchar(30)) returns int +as +begin +declare @@v int +set @@v = len(@@servername) +return @@v * len(@#p1) +end +go +select dbo.f3_atatuservar(@@servername) +go +~~START~~ +int +81 +~~END~~ + + +create trigger tr4_atatuservar on t4_trigger_atatuservar for insert +as +begin +select 'trigger tr4_atatuservar' +declare @@v int +set @@v = len(@@servername) +select @@v +end +go +insert t4_trigger_atatuservar values (123) +go +~~START~~ +varchar +trigger tr4_atatuservar +~~END~~ + +~~START~~ +int +9 +~~END~~ + +~~ROW COUNT: 1~~ + + +-- procedure call with named/unnamed arguments, output parameters, return status, in T-SQL batch, procedure, trigger +create procedure p4_atatuservar @@p1 int +as select @@p1 +return @@p1*-1 +go +exec p4_atatuservar 123 +go +~~START~~ +int +123 +~~END~~ + +exec p4_atatuservar @@p1=123 +go +~~START~~ +int +123 +~~END~~ + +declare @@v int = 987 +exec p4_atatuservar @@p1=@@v +go +~~START~~ +int +987 +~~END~~ + +declare @@v int +exec @@v = p4_atatuservar @@p1=123 +select @@v +go +~~START~~ +int +123 +~~END~~ + +~~START~~ +int +-123 +~~END~~ + + +create procedure p19_atatuservar @#p19_atatuservar int +as select @#p19_atatuservar +return @#p19_atatuservar*-1 +go +exec p19_atatuservar @@max_precision +go +~~START~~ +int +38 +~~END~~ + +exec p19_atatuservar @#p19_atatuservar=@@max_precision +go +~~START~~ +int +38 +~~END~~ + +declare @#v int = @@max_precision +exec p19_atatuservar @#p19_atatuservar=@#v +go +~~START~~ +int +38 +~~END~~ + +declare @#v int +exec @#v = p19_atatuservar @#p19_atatuservar=@@max_precision +select @#v +go +~~START~~ +int +38 +~~END~~ + +~~START~~ +int +-38 +~~END~~ + + + +create procedure p5_atatuservar +as +declare @@v int +exec @@v = p4_atatuservar @@p1=123 +select @@v +declare @#v int +exec @#v = p4_atatuservar @@p1=123 +select @#v +go +exec p5_atatuservar +go +~~START~~ +int +123 +~~END~~ + +~~START~~ +int +-123 +~~END~~ + +~~START~~ +int +123 +~~END~~ + +~~START~~ +int +-123 +~~END~~ + + +create procedure p6_atatuservar @@p4 int output +as +set @@p4 *= 2 +select @@p4 +return @@p4*-1 +go +declare @#v1 int, @@v2 int = 123 +exec @#v1 = p6_atatuservar @@v2 +select @#v1, @@v2 +go +~~START~~ +int +246 +~~END~~ + +~~START~~ +int#!#int +-246#!#123 +~~END~~ + + +declare @#v1 int, @@v2 int = 123 +exec @#v1 = p6_atatuservar @@p4 = @@v2 out +select @#v1, @@v2 +go +~~START~~ +int +246 +~~END~~ + +~~START~~ +int#!#int +-246#!#246 +~~END~~ + + +create procedure p7_atatuservar +as +declare @#v1 int, @@v2 int = 123 +exec @#v1 = p6_atatuservar @@v2 output +select @#v1, @@v2 +go + +create procedure p8_atatuservar @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int output +as +set @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 *= 2 +select @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +return @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678*-1 +go +declare @#v64_7890123456789$123456789$1234567890123456789012345678901234 int, @@v63_7890123456789$123456789$123456789012345678901234567890123 int = 123 +exec @#v64_7890123456789$123456789$1234567890123456789012345678901234 = p8_atatuservar @@v63_7890123456789$123456789$123456789012345678901234567890123 +select @#v64_7890123456789$123456789$1234567890123456789012345678901234, @@v63_7890123456789$123456789$123456789012345678901234567890123 +go +~~START~~ +int +246 +~~END~~ + +~~START~~ +int#!#int +-246#!#123 +~~END~~ + + +declare @#v64_7890123456789$123456789$1234567890123456789012345678901234 int, @@v63_7890123456789$123456789$123456789012345678901234567890123 int = 123 +exec @#v64_7890123456789$123456789$1234567890123456789012345678901234 = p8_atatuservar @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 = @@v63_7890123456789$123456789$123456789012345678901234567890123 out +select @#v64_7890123456789$123456789$1234567890123456789012345678901234, @@v63_7890123456789$123456789$123456789012345678901234567890123 +go +~~START~~ +int +246 +~~END~~ + +~~START~~ +int#!#int +-246#!#246 +~~END~~ + + +create procedure p9_atatuservar +as +declare @#v64_7890123456789$123456789$1234567890123456789012345678901234 int, @@v63_7890123456789$123456789$123456789012345678901234567890123 int = 123 +exec @#v64_7890123456789$123456789$1234567890123456789012345678901234 = p8_atatuservar @@v63_7890123456789$123456789$123456789012345678901234567890123 output +select @#v64_7890123456789$123456789$1234567890123456789012345678901234, @@v63_7890123456789$123456789$123456789012345678901234567890123 +go + + +create trigger tr5_atatuservar on t5_trigger_atatuservar for insert +as +begin +select 'trigger tr5_atatuservar' +declare @@v int +exec @@v = p4_atatuservar @@p1=123 +select @@v +declare @#v int +exec @#v = p4_atatuservar @@p1=123 +select @#v +end +go +insert t5_trigger_atatuservar values (123) +go +~~START~~ +varchar +trigger tr5_atatuservar +~~END~~ + +~~START~~ +int +123 +~~END~~ + +~~START~~ +int +-123 +~~END~~ + +~~START~~ +int +123 +~~END~~ + +~~START~~ +int +-123 +~~END~~ + +~~ROW COUNT: 1~~ + + + +create trigger tr6_atatuservar on t6_trigger_atatuservar for insert +as +begin +select 'trigger tr6_atatuservar' +declare @#v64_7890123456789$123456789$1234567890123456789012345678901234 int, @@v63_7890123456789$123456789$123456789012345678901234567890123 int = 123 +exec @#v64_7890123456789$123456789$1234567890123456789012345678901234 = p8_atatuservar @@v63_7890123456789$123456789$123456789012345678901234567890123 output +select @#v64_7890123456789$123456789$1234567890123456789012345678901234, @@v63_7890123456789$123456789$123456789012345678901234567890123 +end +go +insert t6_trigger_atatuservar values (123) +go +~~START~~ +varchar +trigger tr6_atatuservar +~~END~~ + +~~START~~ +int +246 +~~END~~ + +~~START~~ +int#!#int +-246#!#246 +~~END~~ + +~~ROW COUNT: 1~~ + + +-- misc variable usage in expressions +declare @#v int = 3 +set @#v *= -1 +set @#v = @#v + 10*@#v +select @#v = @#v + 1 +if @#v > 0 select 'positive' else select 'negative' +select @#v, @#V, '@#v' +print @#v -- PRINT output not captured by JDBC tests +go +~~START~~ +varchar +negative +~~END~~ + +~~START~~ +int#!#int#!#varchar +-32#!#-32#!#@#v +~~END~~ + + +declare @@v int = 3 +set @@v *= -1 +set @@v = @@v + 10*@@v +select @@v = @@v + 1 +if @@v > 0 select 'positive' else select 'negative' +select @@v , @@V, '@@v' +print @@V -- PRINT output not captured by JDBC tests +go +~~START~~ +varchar +negative +~~END~~ + +~~START~~ +int#!#int#!#varchar +-32#!#-32#!#@@v +~~END~~ + + + +create procedure p10_atatuservar +as +declare @#v int = 3 +set @#v *= -1 +set @#v = @#v + 10*@#v +select @#v = @#v + 1 +if @#v > 0 select 'positive' else select 'negative' +select @#v, @#V, '@#v' +print @#v -- PRINT output not captured by JDBC tests +declare @@v int = 3 +set @@v *= -1 +set @@v = @@v + 10*@@v +select @@v = @@v + 1 +if @@v > 0 select 'positive' else select 'negative' +select @@v , @@V, '@@v' +print @@V -- PRINT output not captured by JDBC tests +go +exec p10_atatuservar +go +~~START~~ +varchar +negative +~~END~~ + +~~START~~ +int#!#int#!#varchar +-32#!#-32#!#@#v +~~END~~ + +~~START~~ +varchar +negative +~~END~~ + +~~START~~ +int#!#int#!#varchar +-32#!#-32#!#@@v +~~END~~ + + +declare @@c varchar(20)='abcd', @#v1 int=2, @v2@# int=1 +select substring(@@c, @#v1, @v2@#) +go +~~START~~ +varchar +b +~~END~~ + + +declare @@v1 varchar(20)='row 1', @#v2 varchar(20)='row 3' +select * from t1_atatuservar where c in (@@v1, @#v2) order by 1 +go +~~START~~ +varchar +row 1 +row 3 +~~END~~ + + +declare @@v1 varchar(20)='1', @#v2 varchar(20)='3' +select * from t1_atatuservar where c like '%'+@@v1 or c like '%'+@#v2 order by 1 +go +~~START~~ +varchar +row 1 +row 3 +~~END~~ + + + + +create procedure p11_atatuservar +as +declare @@c varchar(20)='abcd', @#v int=2, @v@# int=1 +select substring(@@c, @#v, @v@#) +declare @@v1 varchar(20)='row 1', @#v1 varchar(20)='row 3' +select * from t1_atatuservar where c in (@@v1, @#v1) order by 1 +declare @@v2 varchar(20)='1', @#v2 varchar(20)='3' +select * from t1_atatuservar where c like '%'+@@v2 or c like '%'+@#v2 order by 1 +go +exec p11_atatuservar +go +~~START~~ +varchar +b +~~END~~ + +~~START~~ +varchar +row 1 +row 3 +~~END~~ + +~~START~~ +varchar +row 1 +row 3 +~~END~~ + + +create function f4_atatuservar (@@p1 int, @#p2 int, @p5_atatuservar int) +returns table +as +return (select @@p1*@#p2*@p5_atatuservar as x where @@p1 = 123 or @#p2 = 10 or @p5_atatuservar = 1) +go +select * from dbo.f4_atatuservar(123, 20, 2) +go +~~START~~ +int +4920 +~~END~~ + +select * from dbo.f4_atatuservar(345, 10, 2) +go +~~START~~ +int +6900 +~~END~~ + +select * from dbo.f4_atatuservar(345, 20, 1) +go +~~START~~ +int +6900 +~~END~~ + + +declare @@c varchar(30), @#v int=1, @#v2 int=2 +set @@c = case when @#v > 0 then '> zero' else '<- zero' end +select @@c +set @@c = case @#v when 0 then 'zero' else '<> zero' end +select @@c +set @@c = case @#v when 0 then 'zero' when @#v2 then 'case 2' else 'something else' end +select @@c +set @@c = case @#v+@#v when 0 then 'zero' when @#v2 then 'case 2' else 'something else' end +select @@c +go +~~START~~ +varchar +> zero +~~END~~ + +~~START~~ +varchar +<> zero +~~END~~ + +~~START~~ +varchar +something else +~~END~~ + +~~START~~ +varchar +case 2 +~~END~~ + + +create procedure p22_atatuservar +as +declare @@c varchar(30), @#v int=1, @#v2 int=2 +set @@c = case when @#v > 0 then '> zero' else '<- zero' end +select @@c +set @@c = case @#v when 0 then 'zero' else '<> zero' end +select @@c +set @@c = case @#v when 0 then 'zero' when @#v2 then 'case 2' else 'something else' end +select @@c +set @@c = case @#v+@#v when 0 then 'zero' when @#v2 then 'case 2' else 'something else' end +select @@c +go +exec p22_atatuservar +go +~~START~~ +varchar +> zero +~~END~~ + +~~START~~ +varchar +<> zero +~~END~~ + +~~START~~ +varchar +something else +~~END~~ + +~~START~~ +varchar +case 2 +~~END~~ + + + + + + + +create trigger tr7_atatuservar on t7_trigger_atatuservar for insert +as +begin +select 'trigger tr7_atatuservar' +declare @@z128_@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@_____############################################################ varchar(30), @#v64_7890123456789$123456789$1234567890123456789012345678901234 int=1, @#w64_7890123456789$123456789$1234567890123456789012345678901234 int=2 +set @@z128_@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@_____############################################################ = case when @#v64_7890123456789$123456789$1234567890123456789012345678901234 > 0 then '> zero' else '<- zero' end +select @@z128_@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@_____############################################################ +set @@z128_@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@_____############################################################ = case @#v64_7890123456789$123456789$1234567890123456789012345678901234 when 0 then 'zero' else '<> zero' end +select @@z128_@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@_____############################################################ +set @@z128_@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@_____############################################################ = case @#v64_7890123456789$123456789$1234567890123456789012345678901234 when 0 then 'zero' when @#w64_7890123456789$123456789$1234567890123456789012345678901234 then 'case 2' else 'something else' end +select @@z128_@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@_____############################################################ +set @@z128_@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@_____############################################################ = case @#v64_7890123456789$123456789$1234567890123456789012345678901234+@#v64_7890123456789$123456789$1234567890123456789012345678901234 when 0 then 'zero' when @#w64_7890123456789$123456789$1234567890123456789012345678901234 then 'case 2' else 'something else' end +declare @#x64_7890123456789$123456789$1234567890123456789012345678901234 int = 3 +set @#x64_7890123456789$123456789$1234567890123456789012345678901234 *= -1 +set @#x64_7890123456789$123456789$1234567890123456789012345678901234 = @#x64_7890123456789$123456789$1234567890123456789012345678901234 + 10*@#x64_7890123456789$123456789$1234567890123456789012345678901234 +select @#x64_7890123456789$123456789$1234567890123456789012345678901234 = @#x64_7890123456789$123456789$1234567890123456789012345678901234 + 1 +if @#x64_7890123456789$123456789$1234567890123456789012345678901234 > 0 select 'positive' else select 'negative' +select @#x64_7890123456789$123456789$1234567890123456789012345678901234, @#x64_7890123456789$123456789$1234567890123456789012345678901234, '@#x64_7890123456789$123456789$1234567890123456789012345678901234' +print @#x64_7890123456789$123456789$1234567890123456789012345678901234 -- PRINT output not captured by JDBC tests +declare @@v128_@@@$$@@@@$$@########@@@$$@@@@$$@@@@$$@@@###__##@@@$$@@@@$$@@@@$$@@@@$$@@@______@@@$$@@@@$$@@@@$$@@@###########@@@$$@@@@@@ int = 3 +set @@v128_@@@$$@@@@$$@########@@@$$@@@@$$@@@@$$@@@###__##@@@$$@@@@$$@@@@$$@@@@$$@@@______@@@$$@@@@$$@@@@$$@@@###########@@@$$@@@@@@ *= -1 +set @@v128_@@@$$@@@@$$@########@@@$$@@@@$$@@@@$$@@@###__##@@@$$@@@@$$@@@@$$@@@@$$@@@______@@@$$@@@@$$@@@@$$@@@###########@@@$$@@@@@@ = @@v128_@@@$$@@@@$$@########@@@$$@@@@$$@@@@$$@@@###__##@@@$$@@@@$$@@@@$$@@@@$$@@@______@@@$$@@@@$$@@@@$$@@@###########@@@$$@@@@@@ + 10*@@v128_@@@$$@@@@$$@########@@@$$@@@@$$@@@@$$@@@###__##@@@$$@@@@$$@@@@$$@@@@$$@@@______@@@$$@@@@$$@@@@$$@@@###########@@@$$@@@@@@ +select @@v128_@@@$$@@@@$$@########@@@$$@@@@$$@@@@$$@@@###__##@@@$$@@@@$$@@@@$$@@@@$$@@@______@@@$$@@@@$$@@@@$$@@@###########@@@$$@@@@@@ = @@v128_@@@$$@@@@$$@########@@@$$@@@@$$@@@@$$@@@###__##@@@$$@@@@$$@@@@$$@@@@$$@@@______@@@$$@@@@$$@@@@$$@@@###########@@@$$@@@@@@ + 1 +if @@v128_@@@$$@@@@$$@########@@@$$@@@@$$@@@@$$@@@###__##@@@$$@@@@$$@@@@$$@@@@$$@@@______@@@$$@@@@$$@@@@$$@@@###########@@@$$@@@@@@ > 0 select 'positive' else select 'negative' +select @@v128_@@@$$@@@@$$@########@@@$$@@@@$$@@@@$$@@@###__##@@@$$@@@@$$@@@@$$@@@@$$@@@______@@@$$@@@@$$@@@@$$@@@###########@@@$$@@@@@@ , @@v128_@@@$$@@@@$$@########@@@$$@@@@$$@@@@$$@@@###__##@@@$$@@@@$$@@@@$$@@@@$$@@@______@@@$$@@@@$$@@@@$$@@@###########@@@$$@@@@@@, '@@v128_@@@$$@@@@$$@########@@@$$@@@@$$@@@@$$@@@###__##@@@$$@@@@$$@@@@$$@@@@$$@@@______@@@$$@@@@$$@@@@$$@@@###########@@@$$@@@@@@' +print @@v128_@@@$$@@@@$$@########@@@$$@@@@$$@@@@$$@@@###__##@@@$$@@@@$$@@@@$$@@@@$$@@@______@@@$$@@@@$$@@@@$$@@@###########@@@$$@@@@@@ -- PRINT output not captured by JDBC tests +declare @@y128_############################################______@@@$$@@@@$$@@@@__###############@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@ varchar(20)='abcd', @#p64_7890123456789$123456789$1234567890123456789012345678901234 int=2, @@#q64_890123456789$123456789$1234567890123456789012345678901234 int=1 +select substring(@@y128_############################################______@@@$$@@@@$$@@@@__###############@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@, @#p64_7890123456789$123456789$1234567890123456789012345678901234, @@#q64_890123456789$123456789$1234567890123456789012345678901234) +declare @@q64_7890123456789$123456789$1234567890123456789012345678901234 varchar(20)='1', @#q4_7890123456789$123456789$1234567890123456789012345678901234 varchar(20)='3' +select * from t1_atatuservar where c like '%'+@@q64_7890123456789$123456789$1234567890123456789012345678901234 or c like '%'+@#q4_7890123456789$123456789$1234567890123456789012345678901234 order by 1 +end +go +insert t7_trigger_atatuservar values (123) +go +~~START~~ +varchar +trigger tr7_atatuservar +~~END~~ + +~~START~~ +varchar +> zero +~~END~~ + +~~START~~ +varchar +<> zero +~~END~~ + +~~START~~ +varchar +something else +~~END~~ + +~~START~~ +varchar +negative +~~END~~ + +~~START~~ +int#!#int#!#varchar +-32#!#-32#!#@#x64_7890123456789$123456789$1234567890123456789012345678901234 +~~END~~ + +~~START~~ +varchar +negative +~~END~~ + +~~START~~ +int#!#int#!#varchar +-32#!#-32#!#@@v128_@@@$$@@@@$$@########@@@$$@@@@$$@@@@$$@@@###__##@@@$$@@@@$$@@@@$$@@@@$$@@@______@@@$$@@@@$$@@@@$$@@@###########@@@$$@@@@@@ +~~END~~ + +~~START~~ +varchar +b +~~END~~ + +~~START~~ +varchar +row 1 +row 3 +~~END~~ + +~~ROW COUNT: 1~~ + + +-- table variables, in T-SQL batch, procedure and trigger (functions are below) +declare @@v table (a int) +insert @@v values (123) +select * from @@v +go +~~ROW COUNT: 1~~ + +~~START~~ +int +123 +~~END~~ + + +declare @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 table (a int) +insert @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 values (123) +select * from @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +go +~~ROW COUNT: 1~~ + +~~START~~ +int +123 +~~END~~ + + +declare @#v table (a int) +insert @#v values (123) +insert @#v select * from @#v +select * from @#v +update @#v set a = a + 1 +select * from @#v +set rowcount 1 +delete @#v +set rowcount 0 +select * from @#v +go +~~ROW COUNT: 1~~ + +~~ROW COUNT: 1~~ + +~~START~~ +int +123 +123 +~~END~~ + +~~ROW COUNT: 2~~ + +~~START~~ +int +124 +124 +~~END~~ + +~~ROW COUNT: 1~~ + +~~START~~ +int +124 +~~END~~ + + +declare @@V table (a int) +insert @@v values (123) +insert @@v select * from @@v +select * from @@v +update @@v set a = a + 1 +select * from @@v +set rowcount 1 +delete @@v +set rowcount 0 +select * from @@v +go +~~ROW COUNT: 1~~ + +~~ROW COUNT: 1~~ + +~~START~~ +int +123 +123 +~~END~~ + +~~ROW COUNT: 2~~ + +~~START~~ +int +124 +124 +~~END~~ + +~~ROW COUNT: 1~~ + +~~START~~ +int +124 +~~END~~ + + + +create procedure p12_atatuservar +as +declare @#v table (a int) +insert @#v values (123) +insert @#v select * from @#v +select * from @#v +update @#v set a = a + 1 +select * from @#v +set rowcount 1 +delete @#v +set rowcount 0 +select * from @#v +declare @@V table (a int) +insert @@v values (123) +insert @@v select * from @@v +select * from @@v +update @@v set a = a + 1 +select * from @@v +set rowcount 1 +delete @@v +set rowcount 0 +select * from @@v +go +exec p12_atatuservar +go +~~ROW COUNT: 1~~ + +~~ROW COUNT: 1~~ + +~~START~~ +int +123 +123 +~~END~~ + +~~ROW COUNT: 2~~ + +~~START~~ +int +124 +124 +~~END~~ + +~~ROW COUNT: 1~~ + +~~START~~ +int +124 +~~END~~ + +~~ROW COUNT: 1~~ + +~~ROW COUNT: 1~~ + +~~START~~ +int +123 +123 +~~END~~ + +~~ROW COUNT: 2~~ + +~~START~~ +int +124 +124 +~~END~~ + +~~ROW COUNT: 1~~ + +~~START~~ +int +124 +~~END~~ + + +create procedure p13_atatuservar +as +declare @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 table (a int) +insert @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 values (123) +select * from @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +insert @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 select * from @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +select * from @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +update @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 set a = a + 1 +select * from @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +set rowcount 1 +delete @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +set rowcount 0 +select * from @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +go +exec p13_atatuservar +go +~~ROW COUNT: 1~~ + +~~START~~ +int +123 +~~END~~ + +~~ROW COUNT: 1~~ + +~~START~~ +int +123 +123 +~~END~~ + +~~ROW COUNT: 2~~ + +~~START~~ +int +124 +124 +~~END~~ + +~~ROW COUNT: 1~~ + +~~START~~ +int +124 +~~END~~ + + + + +create trigger tr8_atatuservar on t8_trigger_atatuservar for insert +as +begin +select 'trigger tr8_atatuservar' +declare @#v table (a int) +insert @#v values (123) +insert @#v select * from @#v +select * from @#v +update @#v set a = a + 1 +select * from @#v +set rowcount 1 +delete @#v +set rowcount 0 +select * from @#v +declare @@V table (a int) +insert @@v values (123) +insert @@v select * from @@v +select * from @@v +update @@v set a = a + 1 +select * from @@v +set rowcount 1 +delete @@v +set rowcount 0 +select * from @@v +end +go +insert t8_trigger_atatuservar values (123) +go +~~START~~ +varchar +trigger tr8_atatuservar +~~END~~ + +~~ROW COUNT: 1~~ + +~~ROW COUNT: 1~~ + +~~START~~ +int +123 +123 +~~END~~ + +~~ROW COUNT: 2~~ + +~~START~~ +int +124 +124 +~~END~~ + +~~ROW COUNT: 1~~ + +~~START~~ +int +124 +~~END~~ + +~~ROW COUNT: 1~~ + +~~ROW COUNT: 1~~ + +~~START~~ +int +123 +123 +~~END~~ + +~~ROW COUNT: 2~~ + +~~START~~ +int +124 +124 +~~END~~ + +~~ROW COUNT: 1~~ + +~~START~~ +int +124 +~~END~~ + +~~ROW COUNT: 1~~ + + + +create trigger tr9_atatuservar on t9_trigger_atatuservar for insert +as +begin +select 'trigger tr9_atatuservar' +declare @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 table (a int) +insert @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 values (123) +select * from @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +insert @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 select * from @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +select * from @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +update @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 set a = a + 1 +select * from @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +set rowcount 1 +delete @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +set rowcount 0 +select * from @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +end +go +insert t9_trigger_atatuservar values (123) +go +~~START~~ +varchar +trigger tr9_atatuservar +~~END~~ + +~~ROW COUNT: 1~~ + +~~START~~ +int +123 +~~END~~ + +~~ROW COUNT: 1~~ + +~~START~~ +int +123 +123 +~~END~~ + +~~ROW COUNT: 2~~ + +~~START~~ +int +124 +124 +~~END~~ + +~~ROW COUNT: 1~~ + +~~START~~ +int +124 +~~END~~ + +~~ROW COUNT: 1~~ + + +-- @@rowcount +declare @@V int = 1 +set rowcount @@v +select * from t1_atatuservar order by 1 +set @@v = 0 +set rowcount @@v +select * from t1_atatuservar order by 1 +go +~~START~~ +varchar +row 1 +~~END~~ + +~~START~~ +varchar +row 1 +row 2 +row 3 +~~END~~ + + +declare @#V int = 1 +set rowcount @#v +select * from t1_atatuservar order by 1 +set @#v = 0 +set rowcount @#v +select * from t1_atatuservar order by 1 +go +~~START~~ +varchar +row 1 +~~END~~ + +~~START~~ +varchar +row 1 +row 2 +row 3 +~~END~~ + + + +create procedure p14_atatuservar +as +declare @@V int = 1 +set rowcount @@v +select * from t1_atatuservar order by 1 +set @@v = 0 +set rowcount @@v +select * from t1_atatuservar order by 1 +declare @#V int = 1 +set rowcount @#v +select * from t1_atatuservar order by 1 +set @#v = 0 +set rowcount @#v +select * from t1_atatuservar order by 1 +go +exec p14_atatuservar +go +~~START~~ +varchar +row 1 +~~END~~ + +~~START~~ +varchar +row 1 +row 2 +row 3 +~~END~~ + +~~START~~ +varchar +row 1 +~~END~~ + +~~START~~ +varchar +row 1 +row 2 +row 3 +~~END~~ + + + + +create trigger tr10_atatuservar on t10_trigger_atatuservar for insert +as +begin +select 'trigger tr10_atatuservar' +declare @@V int = 1 +set rowcount @@v +select * from t1_atatuservar order by 1 +set @@v = 0 +set rowcount @@v +select * from t1_atatuservar order by 1 +declare @#V int = 1 +set rowcount @#v +select * from t1_atatuservar order by 1 +set @#v = 0 +set rowcount @#v +select * from t1_atatuservar order by 1 +end +go +insert t10_trigger_atatuservar values (123) +go +~~START~~ +varchar +trigger tr10_atatuservar +~~END~~ + +~~START~~ +varchar +row 1 +~~END~~ + +~~START~~ +varchar +row 1 +row 2 +row 3 +~~END~~ + +~~START~~ +varchar +row 1 +~~END~~ + +~~START~~ +varchar +row 1 +row 2 +row 3 +~~END~~ + +~~ROW COUNT: 1~~ + + +create function f1_atatuservar_extra_long_name_here() +returns @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 table (a int) +as +begin +insert @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +values (123) +return +end +go +select * from f1_atatuservar_extra_long_name_here() +go +~~START~~ +int +123 +~~END~~ + + +create function f2_atatuservar_extra_long_name_here() +returns @#v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 table (a int) +as +begin +insert @#v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +values (123) +return +end +go +select * from f2_atatuservar_extra_long_name_here() +go +~~START~~ +int +123 +~~END~~ + + +-- in SET statements that support variable argument, procedure and trigger (functions are below) +declare @@v int = 4 +set datefirst @@v +select datepart(dw, '2024-10-21') +go +~~START~~ +int +5 +~~END~~ + +set datefirst 7 +go + +declare @#v int = 5 +set datefirst @#v +select datepart(dw, '2024-10-21') +go +~~START~~ +int +4 +~~END~~ + +set datefirst 7 +go + +declare @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int = 5 +set datefirst @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +select datepart(dw, '2024-10-21') +go +~~START~~ +int +4 +~~END~~ + +set datefirst 7 +go + +-- SET DATEFORMAT currently ignores the argument and will always use 'mdy' +declare @@v varchar(10) = 'dmy' +set dateformat @@v +select cast('01/02/03' as datetime) +go +~~START~~ +datetime +2003-01-02 00:00:00.0 +~~END~~ + +set dateformat mdy +go + +-- SET DATEFORMAT currently silently ignores the argument and will always use 'mdy' +declare @#v varchar(10) = 'dmy' +set dateformat @#v +select cast('01/02/03' as datetime) +go +~~START~~ +datetime +2003-01-02 00:00:00.0 +~~END~~ + +set dateformat mdy +go + +-- SET DATEFORMAT currently silently ignores the argument and will always use 'mdy' +declare @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 varchar(10) = 'dmy' +set dateformat @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +select cast('01/02/03' as datetime) +go +~~START~~ +datetime +2003-01-02 00:00:00.0 +~~END~~ + +set dateformat mdy +go + +-- SET LANGUAGE currently only supports english +declare @@v varchar(10) = 'dutch' +set language @@v +select @@language +go +~~WARNING (Code: 5703)~~ + +~~WARNING (Message: Changed language setting to 'us_english' Server SQLState: S0001)~~ + +~~START~~ +nvarchar +us_english +~~END~~ + +set language us_english +go +declare @#v varchar(10) = 'french' +set language @#v +select @@language +go +~~WARNING (Code: 5703)~~ + +~~WARNING (Message: Changed language setting to 'us_english' Server SQLState: S0001)~~ + +~~START~~ +nvarchar +us_english +~~END~~ + +set language us_english +go +declare @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 varchar(10) = 'french' +set language @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +select @@language +go +~~WARNING (Code: 5703)~~ + +~~WARNING (Message: Changed language setting to 'us_english' Server SQLState: S0001)~~ + +~~START~~ +nvarchar +us_english +~~END~~ + +set language us_english +go + + + + +create procedure p15_atatuservar +as +declare @@v1 int = 4 +set datefirst @@v1 +select datepart(dw, '2024-10-21') +declare @#v1 int = 5 +set datefirst @#v1 +select datepart(dw, '2024-10-21') +declare @@v2 varchar(10) = 'dmy' +set dateformat @@v2 +select cast('01/02/03' as datetime) +declare @#v3 varchar(10) = 'dutch' +set language @#v3 +select @@language +go + +exec p15_atatuservar +go +~~START~~ +int +5 +~~END~~ + +~~START~~ +int +4 +~~END~~ + +~~START~~ +datetime +2003-01-02 00:00:00.0 +~~END~~ + +~~START~~ +nvarchar +us_english +~~END~~ + +set datefirst 7 +set dateformat mdy +set language us_english +go + + + +create procedure p16_atatuservar +as +declare @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int = 4 +set datefirst @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +select datepart(dw, '2024-10-21') +declare @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int = 5 +set datefirst @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +select datepart(dw, '2024-10-21') +declare @@w128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 varchar(10) = 'dmy' +set dateformat @@w128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +select cast('01/02/03' as datetime) +declare @#w128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 varchar(10) = 'dutch' +set language @#w128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +select @@language +go +exec p15_atatuservar +go +~~START~~ +int +5 +~~END~~ + +~~START~~ +int +4 +~~END~~ + +~~START~~ +datetime +2003-01-02 00:00:00.0 +~~END~~ + +~~START~~ +nvarchar +us_english +~~END~~ + +set datefirst 7 +set dateformat mdy +set language us_english +go + + + + +create trigger tr11_atatuservar on t11_trigger_atatuservar for insert +as +begin +select 'trigger tr11_atatuservar' + +declare @@v1 int = 4 +set datefirst @@v1 +select datepart(dw, '2024-10-21') +declare @#v1 int = 5 +set datefirst @#v1 +select datepart(dw, '2024-10-21') +declare @@v2 varchar(10) = 'dmy' +set dateformat @@v2 +select cast('01/02/03' as datetime) +declare @#v3 varchar(10) = 'dutch' +set language @#v3 +select @@language +end +go +insert t11_trigger_atatuservar values (123) +go +~~START~~ +varchar +trigger tr11_atatuservar +~~END~~ + +~~START~~ +int +5 +~~END~~ + +~~START~~ +int +4 +~~END~~ + +~~START~~ +datetime +2003-01-02 00:00:00.0 +~~END~~ + +~~START~~ +nvarchar +us_english +~~END~~ + +~~ROW COUNT: 1~~ + +set datefirst 7 +set dateformat mdy +set language us_english +go + + + + +create trigger tr12_atatuservar on t12_trigger_atatuservar for insert +as +begin +select 'trigger tr12_atatuservar' + +declare @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int = 4 +set datefirst @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +select datepart(dw, '2024-10-21') +declare @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int = 5 +set datefirst @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +select datepart(dw, '2024-10-21') +declare @@w128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 varchar(10) = 'dmy' +set dateformat @@w128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +select cast('01/02/03' as datetime) +declare @#w128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 varchar(10) = 'dutch' +set language @#w128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +select @@language +end +go +insert t12_trigger_atatuservar values (123) +go +~~START~~ +varchar +trigger tr12_atatuservar +~~END~~ + +~~START~~ +int +5 +~~END~~ + +~~START~~ +int +4 +~~END~~ + +~~START~~ +datetime +2003-01-02 00:00:00.0 +~~END~~ + +~~START~~ +nvarchar +us_english +~~END~~ + +~~ROW COUNT: 1~~ + +set datefirst 7 +set dateformat mdy +set language us_english +go + +-- execute-immediate, procedure and trigger +declare @@V varchar(50) = 'select 123' execute(@@v) +go +~~START~~ +int +123 +~~END~~ + + +declare @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 varchar(50) = 'select 123' execute(@@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678) +go +~~START~~ +int +123 +~~END~~ + + +declare @@V varchar(50) = 'declare @#v int =123 select @#v' +execute(@@v) +go +~~START~~ +int +123 +~~END~~ + + +declare @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 varchar(500) = 'declare @#w128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int =123 select @#w128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678' +execute(@@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678) +go +~~START~~ +int +123 +~~END~~ + + +declare @@V varchar(50) = 'declare @#v int =123 select @#v' +execute('select 456 ' + @@v) +go +~~START~~ +int +456 +~~END~~ + +~~START~~ +int +123 +~~END~~ + + +declare @#V varchar(50) = 'declare @@v int =123 select @@v' +execute(@#v) +go +~~START~~ +int +123 +~~END~~ + + +declare @#V varchar(50) = 'declare @@v int =123 select @@v' +execute('select 456 ' + @#v) +go +~~START~~ +int +456 +~~END~~ + +~~START~~ +int +123 +~~END~~ + + +declare @#V varchar(50) = 'select 123 ' +execute(@#v + @#v) +go +~~START~~ +int +123 +~~END~~ + +~~START~~ +int +123 +~~END~~ + + +declare @#V varchar(50) = 'select 123 ', @@V varchar(50) = 'select 456 ' +execute(@#v + @@v + @@v + @#v) +go +~~START~~ +int +123 +~~END~~ + +~~START~~ +int +456 +~~END~~ + +~~START~~ +int +456 +~~END~~ + +~~START~~ +int +123 +~~END~~ + + +declare @@V varchar(50) = 'select "abc''def" ' +execute(@@v + 'select "xy''z" ' + @@V) +go +~~START~~ +varchar +abc'def +~~END~~ + +~~START~~ +varchar +xy'z +~~END~~ + +~~START~~ +varchar +abc'def +~~END~~ + + + + + +create procedure p17_atatuservar +as +declare @#V1 varchar(50) = 'declare @@v int =123 select @@v' +execute('select 456 ' + @#v1) +declare @#V2 varchar(50) = 'select 123 ' +execute(@#v2 + @#v2) +declare @#V3 varchar(50) = 'select 123 ', @@V varchar(50) = 'select 456 ' +execute(@#v3 + @@v + @@v + @#v3) +declare @@V4 varchar(50) = 'select "abc''def" ' +execute(@@v4 + 'select "xy''z" ' + @@V4) +go +exec p17_atatuservar +go +~~START~~ +int +456 +~~END~~ + +~~START~~ +int +123 +~~END~~ + +~~START~~ +int +123 +~~END~~ + +~~START~~ +int +123 +~~END~~ + +~~START~~ +int +123 +~~END~~ + +~~START~~ +int +456 +~~END~~ + +~~START~~ +int +456 +~~END~~ + +~~START~~ +int +123 +~~END~~ + +~~START~~ +varchar +abc'def +~~END~~ + +~~START~~ +varchar +xy'z +~~END~~ + +~~START~~ +varchar +abc'def +~~END~~ + + + + + + +create trigger tr13_atatuservar on t13_trigger_atatuservar for insert +as +begin +select 'trigger tr13_atatuservar' +declare @#V1 varchar(50) = 'declare @@v int =123 select @@v' +execute('select 456 ' + @#v1) +declare @#V2 varchar(50) = 'select 123 ' +execute(@#v2 + @#v2) +declare @#V3 varchar(50) = 'select 123 ', @@V varchar(50) = 'select 456 ' +execute(@#v3 + @@v + @@v + @#v3) +declare @@V4 varchar(50) = 'select "abc''def" ' +execute(@@v4 + 'select "xy''z" ' + @@V4) +end +go +insert t13_trigger_atatuservar values (123) +go +~~START~~ +varchar +trigger tr13_atatuservar +~~END~~ + +~~START~~ +int +456 +~~END~~ + +~~START~~ +int +123 +~~END~~ + +~~START~~ +int +123 +~~END~~ + +~~START~~ +int +123 +~~END~~ + +~~START~~ +int +123 +~~END~~ + +~~START~~ +int +456 +~~END~~ + +~~START~~ +int +456 +~~END~~ + +~~START~~ +int +123 +~~END~~ + +~~START~~ +varchar +abc'def +~~END~~ + +~~START~~ +varchar +xy'z +~~END~~ + +~~START~~ +varchar +abc'def +~~END~~ + +~~ROW COUNT: 1~~ + + +create procedure p18_atatuservar +as +begin +declare @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 varchar(500) = 'declare @#w128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int =123 select @#w128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678' +execute(@@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678) +end +go +exec p18_atatuservar +go +~~START~~ +int +123 +~~END~~ + + + +create trigger tr14_atatuservar on t14_trigger_atatuservar for insert +as +begin +select 'trigger tr14_atatuservar' +declare @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 varchar(500) = 'declare @#w128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int =123 select @#w128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678' +execute(@@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678) +end +go +insert t14_trigger_atatuservar values (123) +go +~~START~~ +varchar +trigger tr14_atatuservar +~~END~~ + +~~START~~ +int +123 +~~END~~ + +~~ROW COUNT: 1~~ + + +-- RAISERROR, procedure and trigger +declare @@v int=50001 +raiserror(@@v,1,1) +go + +declare @@v int=50001, @@v2 int=1 +raiserror(@@v,@@v2,1) +go + +declare @@v int=50001, @@v2 int=1, @#v3 int=1 +raiserror(@@v,@@v2,@#v3) +go + +declare @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int=50001, @#w128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int=1, @@y128_############################################______@@@$$@@@@$$@@@@__###############@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@ int=1 +raiserror(@@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678, @#w128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678, @@y128_############################################______@@@$$@@@@$$@@@@__###############@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@) +go + +create procedure p1_raiserror_atatuservar +as +declare @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int=50001, @#w128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int=1, @@y128_############################################______@@@$$@@@@$$@@@@__###############@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@ int=1 +raiserror(@@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678, @#w128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678, @@y128_############################################______@@@$$@@@@$$@@@@__###############@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@) +go +exec p1_raiserror_atatuservar +go + +create trigger tr15_atatuservar on t15_trigger_atatuservar for insert +as +begin +declare @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int=50001, @#w128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int=1, @@y128_############################################______@@@$$@@@@$$@@@@__###############@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@ int=1 +raiserror(@@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678, @#w128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678, @@y128_############################################______@@@$$@@@@$$@@@@__###############@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@) +end +go +insert t15_trigger_atatuservar values (123) +go +~~WARNING (Code: 0)~~ + +~~WARNING (Message: No. 50001 in sys.messages Server SQLState: S0001)~~ + +~~ROW COUNT: 1~~ + + + +-- sp_executesql with named/unnamed arguments, output parameters, in T-SQL batch, procedure, trigger +exec sp_executesql N'declare @@v int=123 select @@v' +go +~~START~~ +int +123 +~~END~~ + + +exec sp_executesql N'SELECT @@v1, @#v2', N'@@v1 int, @#v2 varchar(20)', @#v2='Hello, World!', @@v1=123 +go +~~START~~ +int#!#varchar +123#!#Hello, World! +~~END~~ + + +declare @@sql nvarchar(50)=N'SELECT @@v1, @#v2' +exec sp_executesql @@sql, N'@@v1 int, @#v2 varchar(20)', @#v2='Hello, World!', @@v1=123 +go +~~START~~ +int#!#varchar +123#!#Hello, World! +~~END~~ + + +declare @@params nvarchar(50)=N'@@v1 int, @#v2 varchar(20)' +exec sp_executesql N'SELECT @@v1, @#v2', @@params, @#v2='Hello, World!', @@v1=123 +go +~~START~~ +int#!#varchar +123#!#Hello, World! +~~END~~ + + +declare @@sql nvarchar(50)=N'SELECT @@v1, @#v2' +declare @@params nvarchar(50)=N'@@v1 int, @#v2 varchar(20)' +exec sp_executesql @@sql, @@params, @#v2='Hello, World!', @@v1=123 +go +~~START~~ +int#!#varchar +123#!#Hello, World! +~~END~~ + + +declare @@sql nvarchar(50)=N'SELECT @@v1, @#v2', @@params nvarchar(50)=N'@@v1 int, @#v2 varchar(20)', @@v3 int=123, @#v4 varchar(20)='Hello, World!' +exec sp_executesql @@sql, @@params, @#v2=@#v4, @@v1=@@v3 +go +~~START~~ +int#!#varchar +123#!#Hello, World! +~~END~~ + + +declare @@SQLString1 NVARCHAR(100); +declare @#SQLString2 NVARCHAR(max); +declare @@ParamDef NVARCHAR(100); +SET @@SQLString1 = N'SET @#a = @@b + @@b'; +SET @#SQLString2 = N'EXEC sp_executesql N''SET @#a = @@b + @@b'', N''@#a INT OUT, @@b INT'', @#a OUTPUT, @@b;'; +SET @@ParamDef = N'@#a INT OUTPUT, @@b INT'; +declare @@p INT; +declare @#a INT; +EXEC sp_executesql @@SQLString1, @@ParamDef, @#a = @@p OUT, @@b = 10; +EXEC sp_executesql @#SQLString2, @@ParamDef, @#a = @#a OUT, @@b = 11; +SELECT @@p, @#a; +go +~~START~~ +int#!#int +20#!#22 +~~END~~ + + +create procedure p1_spexec_atatuservar +as +declare @@sql nvarchar(50)=N'SELECT @@v1, @#v2', @@params nvarchar(50)=N'@@v1 int, @#v2 varchar(20)', @@v3 int=123, @#v4 varchar(20)='Hello, World!' +exec sp_executesql @@sql, @@params, @#v2=@#v4, @@v1=@@v3 +declare @@SQLString1 NVARCHAR(100) +declare @#SQLString2 NVARCHAR(max) +declare @@ParamDef NVARCHAR(100) +SET @@SQLString1 = N'SET @#a = @@b + @@b' +SET @#SQLString2 = N'EXEC sp_executesql N''SET @#a = @@b + @@b'', N''@#a INT OUT, @@b INT'', @#a OUT, @@b' +SET @@ParamDef = N'@#a INT OUTPUT, @@b INT' +declare @@p INT +declare @#a INT +EXEC sp_executesql @@SQLString1, @@ParamDef, @#a = @@p OUT, @@b = 10 +EXEC sp_executesql @#SQLString2, @@ParamDef, @#a = @#a OUT, @@b = 11 +SELECT @@p, @#a +go +exec p1_spexec_atatuservar +go +~~START~~ +int#!#varchar +123#!#Hello, World! +~~END~~ + +~~START~~ +int#!#int +20#!#22 +~~END~~ + + + +create trigger tr16_atatuservar on t16_trigger_atatuservar for insert +as +begin +select 'trigger tr16_atatuservar' +declare @@sql nvarchar(50)=N'SELECT @@v1, @#v2', @@params nvarchar(50)=N'@@v1 int, @#v2 varchar(20)', @@v3 int=123, @#v4 varchar(20)='Hello, World!' +exec sp_executesql @@sql, @@params, @#v2=@#v4, @@v1=@@v3 +declare @@SQLString1 NVARCHAR(100) +declare @#SQLString2 NVARCHAR(max) +declare @@ParamDef NVARCHAR(100) +SET @@SQLString1 = N'SET @#a = @@b + @@b' +SET @#SQLString2 = N'EXEC sp_executesql N''SET @#a = @@b + @@b'', N''@#a INT OUT, @@b INT'', @#a OUT, @@b' +SET @@ParamDef = N'@#a INT OUTPUT, @@b INT' +declare @@p INT +declare @#a INT +EXEC sp_executesql @@SQLString1, @@ParamDef, @#a = @@p OUT, @@b = 10 +EXEC sp_executesql @#SQLString2, @@ParamDef, @#a = @#a OUT, @@b = 11 +SELECT @@p, @#a +end +go +insert t16_trigger_atatuservar values (123) +go +~~START~~ +varchar +trigger tr16_atatuservar +~~END~~ + +~~START~~ +int#!#varchar +123#!#Hello, World! +~~END~~ + +~~START~~ +int#!#int +20#!#22 +~~END~~ + +~~ROW COUNT: 1~~ + + +declare @@v63_7890123456789$123456789$123456789012345678901234567890123 NVARCHAR(1000); +declare @#w63_7890123456789$123456789$123456789012345678901234567890123 NVARCHAR(max); +declare @@x63_7890123456789$123456789$123456789012345678901234567890123 NVARCHAR(1000); +SET @@v63_7890123456789$123456789$123456789012345678901234567890123 = N'SET @@z63_7890123456789$123456789$123456789012345678901234567890123 = @@p63_7890123456789$123456789$123456789012345678901234567890123 + @@p63_7890123456789$123456789$123456789012345678901234567890123'; +SET @#w63_7890123456789$123456789$123456789012345678901234567890123 = N'EXEC sp_executesql N''SET @@z63_7890123456789$123456789$123456789012345678901234567890123 = @@p63_7890123456789$123456789$123456789012345678901234567890123 + @@p63_7890123456789$123456789$123456789012345678901234567890123'', N''@@z63_7890123456789$123456789$123456789012345678901234567890123 INT OUT, @@p63_7890123456789$123456789$123456789012345678901234567890123 INT'', @@z63_7890123456789$123456789$123456789012345678901234567890123 OUTPUT, @@p63_7890123456789$123456789$123456789012345678901234567890123;'; +SET @@x63_7890123456789$123456789$123456789012345678901234567890123 = N'@@z63_7890123456789$123456789$123456789012345678901234567890123 INT OUTPUT, @@p63_7890123456789$123456789$123456789012345678901234567890123 INT'; +declare @#y63_7890123456789$123456789$123456789012345678901234567890123 INT; +declare @@z63_7890123456789$123456789$123456789012345678901234567890123 INT; +EXEC sp_executesql @@v63_7890123456789$123456789$123456789012345678901234567890123, @@x63_7890123456789$123456789$123456789012345678901234567890123, @@z63_7890123456789$123456789$123456789012345678901234567890123 = @#y63_7890123456789$123456789$123456789012345678901234567890123 OUT, @@p63_7890123456789$123456789$123456789012345678901234567890123 = 10; +EXEC sp_executesql @#w63_7890123456789$123456789$123456789012345678901234567890123, @@x63_7890123456789$123456789$123456789012345678901234567890123, @@z63_7890123456789$123456789$123456789012345678901234567890123 = @@z63_7890123456789$123456789$123456789012345678901234567890123 OUT, @@p63_7890123456789$123456789$123456789012345678901234567890123 = 11; +SELECT @#y63_7890123456789$123456789$123456789012345678901234567890123, @@z63_7890123456789$123456789$123456789012345678901234567890123; +go +~~START~~ +int#!#int +20#!#22 +~~END~~ + + +create procedure p2_spexec_atatuservar +as +declare @@v63_7890123456789$123456789$123456789012345678901234567890123 NVARCHAR(1000); +declare @#w63_7890123456789$123456789$123456789012345678901234567890123 NVARCHAR(max); +declare @@x63_7890123456789$123456789$123456789012345678901234567890123 NVARCHAR(1000); +SET @@v63_7890123456789$123456789$123456789012345678901234567890123 = N'SET @@z63_7890123456789$123456789$123456789012345678901234567890123 = @@p63_7890123456789$123456789$123456789012345678901234567890123 + @@p63_7890123456789$123456789$123456789012345678901234567890123'; +SET @#w63_7890123456789$123456789$123456789012345678901234567890123 = N'EXEC sp_executesql N''SET @@z63_7890123456789$123456789$123456789012345678901234567890123 = @@p63_7890123456789$123456789$123456789012345678901234567890123 + @@p63_7890123456789$123456789$123456789012345678901234567890123'', N''@@z63_7890123456789$123456789$123456789012345678901234567890123 INT OUT, @@p63_7890123456789$123456789$123456789012345678901234567890123 INT'', @@z63_7890123456789$123456789$123456789012345678901234567890123 OUTPUT, @@p63_7890123456789$123456789$123456789012345678901234567890123;'; +SET @@x63_7890123456789$123456789$123456789012345678901234567890123 = N'@@z63_7890123456789$123456789$123456789012345678901234567890123 INT OUTPUT, @@p63_7890123456789$123456789$123456789012345678901234567890123 INT'; +declare @#y63_7890123456789$123456789$123456789012345678901234567890123 INT; +declare @@z63_7890123456789$123456789$123456789012345678901234567890123 INT; +EXEC sp_executesql @@v63_7890123456789$123456789$123456789012345678901234567890123, @@x63_7890123456789$123456789$123456789012345678901234567890123, @@z63_7890123456789$123456789$123456789012345678901234567890123 = @#y63_7890123456789$123456789$123456789012345678901234567890123 OUT, @@p63_7890123456789$123456789$123456789012345678901234567890123 = 10; +EXEC sp_executesql @#w63_7890123456789$123456789$123456789012345678901234567890123, @@x63_7890123456789$123456789$123456789012345678901234567890123, @@z63_7890123456789$123456789$123456789012345678901234567890123 = @@z63_7890123456789$123456789$123456789012345678901234567890123 OUT, @@p63_7890123456789$123456789$123456789012345678901234567890123 = 11; +SELECT @#y63_7890123456789$123456789$123456789012345678901234567890123, @@z63_7890123456789$123456789$123456789012345678901234567890123; +go +exec p2_spexec_atatuservar +go +~~START~~ +int#!#int +20#!#22 +~~END~~ + + + + +create trigger tr17_atatuservar on t17_trigger_atatuservar for insert +as +begin +select 'trigger tr17_atatuservar' +declare @@v63_7890123456789$123456789$123456789012345678901234567890123 NVARCHAR(1000); +declare @#w63_7890123456789$123456789$123456789012345678901234567890123 NVARCHAR(max); +declare @@x63_7890123456789$123456789$123456789012345678901234567890123 NVARCHAR(1000); +SET @@v63_7890123456789$123456789$123456789012345678901234567890123 = N'SET @@z63_7890123456789$123456789$123456789012345678901234567890123 = @@p63_7890123456789$123456789$123456789012345678901234567890123 + @@p63_7890123456789$123456789$123456789012345678901234567890123'; +SET @#w63_7890123456789$123456789$123456789012345678901234567890123 = N'EXEC sp_executesql N''SET @@z63_7890123456789$123456789$123456789012345678901234567890123 = @@p63_7890123456789$123456789$123456789012345678901234567890123 + @@p63_7890123456789$123456789$123456789012345678901234567890123'', N''@@z63_7890123456789$123456789$123456789012345678901234567890123 INT OUT, @@p63_7890123456789$123456789$123456789012345678901234567890123 INT'', @@z63_7890123456789$123456789$123456789012345678901234567890123 OUTPUT, @@p63_7890123456789$123456789$123456789012345678901234567890123;'; +SET @@x63_7890123456789$123456789$123456789012345678901234567890123 = N'@@z63_7890123456789$123456789$123456789012345678901234567890123 INT OUTPUT, @@p63_7890123456789$123456789$123456789012345678901234567890123 INT'; +declare @#y63_7890123456789$123456789$123456789012345678901234567890123 INT; +declare @@z63_7890123456789$123456789$123456789012345678901234567890123 INT; +EXEC sp_executesql @@v63_7890123456789$123456789$123456789012345678901234567890123, @@x63_7890123456789$123456789$123456789012345678901234567890123, @@z63_7890123456789$123456789$123456789012345678901234567890123 = @#y63_7890123456789$123456789$123456789012345678901234567890123 OUT, @@p63_7890123456789$123456789$123456789012345678901234567890123 = 10; +EXEC sp_executesql @#w63_7890123456789$123456789$123456789012345678901234567890123, @@x63_7890123456789$123456789$123456789012345678901234567890123, @@z63_7890123456789$123456789$123456789012345678901234567890123 = @@z63_7890123456789$123456789$123456789012345678901234567890123 OUT, @@p63_7890123456789$123456789$123456789012345678901234567890123 = 11; +SELECT @#y63_7890123456789$123456789$123456789012345678901234567890123, @@z63_7890123456789$123456789$123456789012345678901234567890123; +end +go +insert t17_trigger_atatuservar values (123) +go +~~START~~ +varchar +trigger tr17_atatuservar +~~END~~ + +~~START~~ +int#!#int +20#!#22 +~~END~~ + +~~ROW COUNT: 1~~ + + +-- table variables in different types of functions +create function f1_ins_atatuservar(@@p1 int) +returns int +as +begin + declare @@tv table(a int) + insert @@tv values(@@p1) + return (select sum(a) from @@tv) +end +go +select dbo. f1_ins_atatuservar(123) +go +~~START~~ +int +123 +~~END~~ + + +create function f1_upd_atatuservar(@@p1 int) +returns int +as +begin + declare @@tv table(a int) + insert @@tv values(@@p1) + update @@tv set a = a + 1 + return (select sum(a) from @@tv) +end +go +select dbo. f1_upd_atatuservar(123) +go +~~START~~ +int +124 +~~END~~ + + +create function f1_del_atatuservar(@@p1 int) +returns int +as +begin + declare @@tv table(a int) + insert @@tv values(@@p1) + update @@tv set a = a + 1 + insert @@tv values(@@p1) + update @@tv set a = a + 1 + delete @@tv where a = 124 + return (select sum(a) from @@tv) +end +go +select dbo. f1_del_atatuservar(123) +go +~~START~~ +int +125 +~~END~~ + + +-- INSERT/UPDATE/DELETE on table variable in function +create function f3_atatuservar_upd(@@p1 int) +returns @@tv table(a int) +as +begin + insert @@tv values(@@p1) + update t set a = t.a + 1 from @@tv as t + return +end +go +select * from dbo. f3_atatuservar_upd(123) order by 1 +go +~~START~~ +int +124 +~~END~~ + + +create function f3_atatuservar_del(@@p1 int) +returns @@tv table(a int) +as +begin + insert @@tv values(@@p1) + update @@tv set a = a + 1 + insert @@tv values(@@p1) + delete t from @@tv as t where a = 124 + return +end +go +select * from dbo. f3_atatuservar_del(123) order by 1 +go +~~START~~ +int +123 +~~END~~ + + +create function f3_upd_atatuservar(@@p1 int) +returns @@tv table(a int) +as +begin + insert @@tv values(@@p1) + update t set a = t.a + 1 from t2_atatuservar, @@tv as t where t2_atatuservar.a = t.a + return +end +go +select * from dbo. f3_upd_atatuservar(123) order by 1 +go +~~START~~ +int +124 +~~END~~ + + +create function f3_del_atatuservar(@@p1 int) +returns @@tv table(a int) +as +begin + insert @@tv values(@@p1) + update @@tv set a = a + 1 + insert @@tv values(@@p1) + delete t from t2_atatuservar join @@tv as t on t2_atatuservar.a = t.a + return +end +go +select * from dbo. f3_del_atatuservar(123) order by 1 +go +~~START~~ +int +124 +~~END~~ + + +create function f4_ins_atatuservar(@#p1 int) +returns int +as +begin + declare @#tv table(a int) + insert @#tv values(@#p1) + return (select sum(a) from @#tv) +end +go +select dbo. f4_ins_atatuservar(123) +go +~~START~~ +int +123 +~~END~~ + + +create function f4_upd_atatuservar(@#p1 int) +returns int +as +begin + declare @#tv table(a int) + insert @#tv values(@#p1) + update @#tv set a = a + 1 + return (select sum(a) from @#tv) +end +go +select dbo. f4_upd_atatuservar(123) +go +~~START~~ +int +124 +~~END~~ + + +create function f4_del_atatuservar(@#p1 int) +returns int +as +begin + declare @#tv table(a int) + insert @#tv values(@#p1) + update @#tv set a = a + 1 + insert @#tv values(@#p1) + update @#tv set a = a + 1 + delete @#tv where a = 124 + return (select sum(a) from @#tv) +end +go +select dbo. f4_del_atatuservar(123) +go +~~START~~ +int +125 +~~END~~ + + +create function f5_upd_atatuservar(@#p1 int) +returns @#tv table(a int) +as +begin + insert @#tv values(@#p1) + update t set a = t.a + 1 from @#tv as t + return +end +go +select * from dbo. f5_upd_atatuservar(123) order by 1 +go +~~START~~ +int +124 +~~END~~ + + +create function f5_del_atatuservar(@#p1 int) +returns @#tv table(a int) +as +begin + insert @#tv values(@#p1) + update @#tv set a = a + 1 + insert @#tv values(@#p1) + delete t from @#tv as t where a = 124 + return +end +go +select * from dbo. f5_del_atatuservar(123) order by 1 +go +~~START~~ +int +123 +~~END~~ + + +create function f6_upd_atatuservar(@#p1 int) +returns @#tv table(a int) +as +begin + insert @#tv values(@#p1) + update t set a = t.a + 1 from t2_atatuservar, @#tv as t where t2_atatuservar.a = t.a + return +end +go +select * from dbo. f6_upd_atatuservar(123) order by 1 +go +~~START~~ +int +124 +~~END~~ + + +create function f6_del_atatuservar(@#p1 int) +returns @#tv table(a int) +as +begin + insert @#tv values(@#p1) + update @#tv set a = a + 1 + insert @#tv values(@#p1) + delete t from t2_atatuservar, @#tv as t where t2_atatuservar.a = t.a + return +end +go +select * from dbo. f6_del_atatuservar(123) order by 1 +go +~~START~~ +int +124 +~~END~~ + + +create function f7_tabvar_udf_upd_atatuservar(@@p1 int) +returns @#tv table(a int) +as +begin + insert @#tv values(@@p1) + update t set a = t.a + 1 from t2_atatuservar, @#tv as t where t2_atatuservar.a = t.a + return +end +go +select * from dbo. f7_tabvar_udf_upd_atatuservar(123) order by 1 +go +~~START~~ +int +124 +~~END~~ + + +create function f7a_tabvar_udf_upd_atatuservar(@@p1 int) +returns @#tv table(a int) +as +begin + insert @#tv values(@@p1) + update t set a = t.a + 1 from @#tv as tv, t2_atatuservar as t where tv.a = t.a + return +end +go +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: 'UPDATE' cannot be used within a function)~~ + + +create function f8_tabvar_udf_del_atatuservar(@@p1 int) +returns @#tv table(a int) +as +begin + insert @#tv values(@@p1) + update @#tv set a = a + 1 + insert @#tv values(@@p1) + delete t from @#tv as tv, t2_atatuservar as t where tv.a = t.a + return +end +go +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: 'DELETE' cannot be used within a function)~~ + + +create function f9_tabvar_udf_del_atatuservar(@p1 int) +returns @tv table(a int) +as +begin + insert @tv values(@p1) + update @tv set a = a + 1 + insert @tv values(@p1) + delete t from @tv as t inner join t2_atatuservar as tv on tv.a = t.a + return +end +go +select * from dbo.f9_tabvar_udf_del_atatuservar(123) +go +~~START~~ +int +124 +~~END~~ + + +create function f10_tabvar_udf_del_atatuservar(@#p1 int) +returns @@tv table(a int) +as +begin + insert @@tv values(@#p1) + update @@tv set a = a + 1 + insert @@tv values(@#p1) + delete t from t2_atatuservar as tv join @@tv as t on tv.a = t.a + return +end +go +select * from dbo.f10_tabvar_udf_del_atatuservar(123) +go +~~START~~ +int +124 +~~END~~ + + +create function f4_atatuservar_tabvar_in_function_upd(@#p1 int) +returns @@tv table(a int) +as +begin + insert @@tv values(@#p1) + update t set a = t.a + 1 from t2_atatuservar as t2_atatuservar left join t2_atatuservar as tv on tv.a = t2_atatuservar.a right join @@tv t on tv.a = t.a + return +end +go +select * from dbo.f4_atatuservar_tabvar_in_function_upd(123) +go +~~START~~ +int +124 +~~END~~ + + +create function f12_tabvar_udf_upd_atatuservar(@#p1 int) +returns @@tv table(a int) +as +begin + insert @@tv values(@#p1) + update t set a = t.a + 1 from @@tv as tv cross join t2_atatuservar as t + return +end +go +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: 'UPDATE' cannot be used within a function)~~ + + +create function f13_tabvar_udf_del_atatuservar(@#p1 int) +returns @@tv table(a int) +as +begin + insert @@tv values(@#p1) + update @@tv set a = a + 1 + insert @@tv values(@#p1) + delete t from @@tv as t2_atatuservar right join t2_atatuservar as tv on tv.a = t2_atatuservar.a full outer join t2_atatuservar t on tv.a = t.a + return +end +go +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: 'DELETE' cannot be used within a function)~~ + + +create function f14_del_atatuservar(@@p128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int) +returns int +as +begin + declare @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 table(a int) + insert @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 values(@@p128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678) + update @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 set a = a + 1 + insert @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 values(@@p128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678) + update @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 set a = a + 1 + delete @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 where a = 124 + return (select sum(a) from @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678) +end +go +select dbo. f14_del_atatuservar(123) +go +~~START~~ +int +125 +~~END~~ + + +-- INSERT/UPDATE/DELETE on table variable in function +create function f15_upd_atatuservar(@@p128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int) +returns @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 table(a int) +as +begin + insert @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 values(@@p128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678) + update t set a = t.a + 1 from @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 as t + return +end +go +select * from dbo. f15_upd_atatuservar(123) order by 1 +go +~~START~~ +int +124 +~~END~~ + + +create function f16_tabvar_udf_del_atatuservar(@#q128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int) +returns @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 table(a int) +as +begin + insert @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 values(@#q128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678) + update @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 set a = a + 1 + insert @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 values(@#q128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678) + delete t from @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 as t2_atatuservar right join t2_atatuservar as tv on tv.a = t2_atatuservar.a full outer join t2_atatuservar t on tv.a = t.a + return +end +go +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: 'DELETE' cannot be used within a function)~~ + + +-- THROW +declare @@v int = 50001; +THROW @@v, 'Test message', 1; +go +~~ERROR (Code: 50001)~~ + +~~ERROR (Message: Test message)~~ + + +declare @@v int = 50001, @@v2 varchar(30) = 'Test message'; +THROW @@v, @@v2, 1 +go +~~ERROR (Code: 50001)~~ + +~~ERROR (Message: Test message)~~ + + +declare @@v int = 50001, @@v2 varchar(30) = 'Test message', @@v3 int=1; +THROW @@v, @@v2, @@v3 +go +~~ERROR (Code: 50001)~~ + +~~ERROR (Message: Test message)~~ + + +declare @#v int = 50001; +THROW @#v, 'Test message', 1; +go +~~ERROR (Code: 50001)~~ + +~~ERROR (Message: Test message)~~ + + +declare @#v int = 50001, @#v2 varchar(30) = 'Test message'; +THROW @#v, @#v2, 1 +go +~~ERROR (Code: 50001)~~ + +~~ERROR (Message: Test message)~~ + + +declare @#v int = 50001, @#v2 varchar(30) = 'Test message', @#v3 int=1; +THROW @#v, @#v2, @#v3 +go +~~ERROR (Code: 50001)~~ + +~~ERROR (Message: Test message)~~ + + + +create procedure p20_atatuservar @@p int +as +if @@p > 0 +begin +declare @@v int = 50001, @@v2 varchar(30) = 'Test message 1', @@v3 int=1; +THROW @@v, @@v2, @@v3 +end +declare @#v int = 50001, @#v2 varchar(30) = 'Test message 2', @#v3 int=1; +THROW @#v, @#v2, @#v3 +go +exec p20_atatuservar 1 +go +~~ERROR (Code: 50001)~~ + +~~ERROR (Message: Test message 1)~~ + +exec p20_atatuservar 0 +go +~~ERROR (Code: 50001)~~ + +~~ERROR (Message: Test message 2)~~ + + + +create trigger tr18_atatuservar on t18_trigger_atatuservar for insert +as +begin +select 'trigger tr18_atatuservar' +declare @#v int = 50001, @#v2 varchar(30) = 'Test message 2', @#v3 int=1; +THROW @#v, @#v2, @#v3 +end +go +insert t18_trigger_atatuservar values (123) +go +~~START~~ +varchar +trigger tr18_atatuservar +~~END~~ + +~~ERROR (Code: 50001)~~ + +~~ERROR (Message: Test message 2)~~ + + +declare @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int = 50001, @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$123456789012345678901234567890123456782 varchar(30) = 'Test message', @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$123456789012345678901234567890123456783 int=1; +THROW @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678, @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$123456789012345678901234567890123456782, @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$123456789012345678901234567890123456783 +go +~~ERROR (Code: 50001)~~ + +~~ERROR (Message: Test message)~~ + + +create procedure p21_atatuservar +as +declare @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int = 50001, @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$123456789012345678901234567890123456782 varchar(30) = 'Test message', @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$123456789012345678901234567890123456783 int=1; +THROW @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678, @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$123456789012345678901234567890123456782, @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$123456789012345678901234567890123456783 +go +exec p21_atatuservar +go +~~ERROR (Code: 50001)~~ + +~~ERROR (Message: Test message)~~ + + + +create trigger tr19_atatuservar on t19_trigger_atatuservar for insert +as +begin +select 'trigger tr19_atatuservar' +declare @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int = 50001, @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$123456789012345678901234567890123456782 varchar(30) = 'Test message', @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$123456789012345678901234567890123456783 int=1; +THROW @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678, @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$123456789012345678901234567890123456782, @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$123456789012345678901234567890123456783 +end +go +insert t19_trigger_atatuservar values (123) +go +~~START~~ +varchar +trigger tr19_atatuservar +~~END~~ + +~~ERROR (Code: 50001)~~ + +~~ERROR (Message: Test message)~~ + + +-- DBCC CHECKIDENT +declare @@TableName varchar(100)='mytab' +DBCC CHECKIDENT (@@TableName) +go +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: DBCC CHECKIDENT does not currently support a variable for the table name)~~ + +declare @@v int=2 +DBCC CHECKIDENT ('mytab', RESEED, @@v) +go +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: DBCC CHECKIDENT does not currently support a variable for the RESEED value)~~ + + +create procedure p1_checkident_atatuservar @@TableName varchar(100), @@v int +as +DBCC CHECKIDENT (@@TableName, RESEED, @@v) +go +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: DBCC CHECKIDENT does not currently support a variable for the table name)~~ + + +create trigger tr20_atatuservar on t20_trigger_atatuservar for insert +as +begin +select 'trigger tr20_atatuservar' +declare @@TableName varchar(100)='mytab', @@v int=2 +DBCC CHECKIDENT (@@TableName, RESEED, @@v) +end +go +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: DBCC CHECKIDENT does not currently support a variable for the table name)~~ + + +declare @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int=2 +DBCC CHECKIDENT ('mytab', RESEED, @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678) +go +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: DBCC CHECKIDENT does not currently support a variable for the RESEED value)~~ + + +create procedure p2_checkident_atatuservar @@t128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 varchar(100), @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int +as +DBCC CHECKIDENT (@@t128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678, RESEED, @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678) +go +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: DBCC CHECKIDENT does not currently support a variable for the table name)~~ + + +create trigger tr21_atatuservar on t21_trigger_atatuservar for insert +as +begin +select 'trigger tr21_atatuservar' +declare @@t128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 varchar(100)='mytab', @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int=2 +DBCC CHECKIDENT (@@t128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678, RESEED, @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678) +end +go +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: DBCC CHECKIDENT does not currently support a variable for the table name)~~ + + +-- transaction name +declare @@V varchar(50) = 'myxact' +begin transaction @@v +insert t3_atatuservar values(234) +declare @#V varchar(50) = 'mysavept' +save transaction @#v +insert t3_atatuservar values(345) +set @#V = 'mysavept' +rollback transaction @#v +insert t3_atatuservar values(567) +commit transaction @@v +go +~~ROW COUNT: 1~~ + +~~ROW COUNT: 1~~ + +~~ROW COUNT: 1~~ + +select * from t3_atatuservar +go +~~START~~ +int +123 +234 +567 +~~END~~ + + +create procedure p1_xactname_atatuservar +as +declare @@V varchar(50) = 'myxact' +delete t3_atatuservar where a > 123 +begin transaction @@v +insert t3_atatuservar values(234) +declare @#V varchar(50) = 'mysavept' +save transaction @#v +insert t3_atatuservar values(345) +set @#V = 'mysavept' +rollback transaction @#v +insert t3_atatuservar values(567) +commit transaction @@v +select * from t3_atatuservar +go +exec p1_xactname_atatuservar +go +~~ROW COUNT: 2~~ + +~~ROW COUNT: 1~~ + +~~ROW COUNT: 1~~ + +~~ROW COUNT: 1~~ + +~~START~~ +int +123 +234 +567 +~~END~~ + + +delete t3_atatuservar where a > 123 +declare @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 varchar(50) = 'myxact' +begin transaction @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +insert t3_atatuservar values(234) +declare @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 varchar(50) = 'mysavept' +save transaction @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +insert t3_atatuservar values(345) +set @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 = 'mysavept' +rollback transaction @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +insert t3_atatuservar values(567) +commit transaction @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +go +~~ROW COUNT: 2~~ + +~~ROW COUNT: 1~~ + +~~ROW COUNT: 1~~ + +~~ROW COUNT: 1~~ + +select * from t3_atatuservar +go +~~START~~ +int +123 +234 +567 +~~END~~ + + +create procedure p2_xactname_atatuservar +as +declare @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 varchar(50) = 'myxact' +delete t3_atatuservar where a > 123 +begin transaction @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +insert t3_atatuservar values(234) +declare @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 varchar(50) = 'mysavept' +save transaction @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +insert t3_atatuservar values(345) +set @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 = 'mysavept' +rollback transaction @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +insert t3_atatuservar values(567) +commit transaction @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +select * from t3_atatuservar +go +exec p2_xactname_atatuservar +go +~~ROW COUNT: 2~~ + +~~ROW COUNT: 1~~ + +~~ROW COUNT: 1~~ + +~~ROW COUNT: 1~~ + +~~START~~ +int +123 +234 +567 +~~END~~ + + +-- cursor variable in T-SQL batch, stored procedure, trigger +declare @#v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 varchar(20) +declare @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 cursor +set @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 = cursor for select a from t_checkident_atatuservar order by n +open @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +while 1=1 +begin + fetch from @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 into @#v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 + if @@fetch_status <> 0 break + select @#v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +end +close @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +deallocate @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +go +~~START~~ +varchar +one +~~END~~ + +~~START~~ +varchar +two +~~END~~ + +~~START~~ +varchar +three +~~END~~ + +~~START~~ +varchar +four +~~END~~ + + +create procedure p1_cursor_atatuservar +as +begin + declare @#v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 varchar(20) + declare @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 cursor + set @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 = cursor for select a from t_checkident_atatuservar order by n + open @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 + while 1=1 + begin + fetch from @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 into @#v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 + if @@fetch_status <> 0 break + select @#v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 + end + close @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 + deallocate @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +end +go +exec p1_cursor_atatuservar +go +~~START~~ +varchar +one +~~END~~ + +~~START~~ +varchar +two +~~END~~ + +~~START~~ +varchar +three +~~END~~ + +~~START~~ +varchar +four +~~END~~ + + + +create trigger tr22_atatuservar on t22_trigger_atatuservar for insert +as +begin + select 'trigger tr22_atatuservar' + declare @@v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 varchar(20) + declare @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 cursor + set @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 = cursor for select a from t_checkident_atatuservar order by n + open @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 + while 1=1 + begin + fetch from @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 into @@v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 + if @@fetch_status <> 0 break + select @@v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 + end + close @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 + deallocate @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +end +go +insert t22_trigger_atatuservar values (123) +go +~~START~~ +varchar +trigger tr22_atatuservar +~~END~~ + +~~START~~ +varchar +one +~~END~~ + +~~START~~ +varchar +two +~~END~~ + +~~START~~ +varchar +three +~~END~~ + +~~START~~ +varchar +four +~~END~~ + +~~ROW COUNT: 1~~ + +set quoted_identifier on +go + +-- user-defined variables that were previously mapped to internal sys. functions, e.g. sys.rand() +declare @@xact_state int=123 select @@xact_state, xact_state() +go +~~START~~ +int#!#smallint +123#!#0 +~~END~~ + +declare @@error_line int=123 select @@error_line, error_line() +go +~~START~~ +int#!#int +123#!# +~~END~~ + +declare @@error_message int=123 select @@error_message, error_message() +go +~~START~~ +int#!#nvarchar +123#!# +~~END~~ + +declare @@error_number int=123 select @@error_number, error_number() +go +~~START~~ +int#!#int +123#!# +~~END~~ + +declare @@error_procedure int=123 select @@error_procedure, error_procedure() +go +~~START~~ +int#!#nvarchar +123#!# +~~END~~ + +declare @@error_severity int=123 select @@error_severity, error_severity() +go +~~START~~ +int#!#int +123#!# +~~END~~ + +declare @@error_state int=123 select @@error_state, error_state() +go +~~START~~ +int#!#int +123#!# +~~END~~ + +declare @@db_id int=123 select @@db_id, db_id('master') +go +~~START~~ +int#!#smallint +123#!#1 +~~END~~ + +declare @@db_name int=123 select @@db_name, db_name() +go +~~START~~ +int#!#nvarchar +123#!#master +~~END~~ + +declare @@exp int=123 select @@exp, exp(1) +go +~~START~~ +int#!#float +123#!#2.718281828459045 +~~END~~ + +declare @@sign int=123 select @@sign, sign(1) +go +~~START~~ +int#!#int +123#!#1 +~~END~~ + +declare @@lock_timeout int=123 select @@lock_timeout, lock_timeout() +go +~~START~~ +int#!#int +-1#!#-1 +~~END~~ + +declare @@rand int=123 select @@rand, case when rand() <= 0 then 'too small, <= 0' when rand() >= 1 then ' too large, >= 1' else 'correct, >0 && <1' end +go +~~START~~ +int#!#varchar +123#!#correct, >0 && <1 +~~END~~ + +declare @@trigger_nestlevel int=123 select @@trigger_nestlevel, trigger_nestlevel() +go +~~START~~ +int#!#int +123#!#0 +~~END~~ + +declare @@atn2 int=123 select @@atn2, atn2(1,0) +go +~~START~~ +int#!#float +123#!#1.5707963267948966 +~~END~~ + +declare @@datepart int=123 select @@datepart, datepart(yy, '2024-11-12') +go +~~START~~ +int#!#int +123#!#2024 +~~END~~ + +declare @@datediff int=123 select @@datediff, datediff(dd, '2024-11-12', '2024-12-13') +go +~~START~~ +int#!#int +123#!#31 +~~END~~ + +declare @@datediff_big int=123 select @@datediff_big, datediff(dd, '2024-11-12', '2024-12-13') +go +~~START~~ +int#!#int +123#!#31 +~~END~~ + +declare @@dateadd int=123 select @@dateadd, datediff(dd, 3, '2024-11-12') +go +~~START~~ +int#!#int +123#!#45603 +~~END~~ + +declare @@datename int=123 select @@datename, datename(dw, '2024-11-12') +go +~~START~~ +int#!#text +123#!#Tuesday +~~END~~ + + +create proc p1_sysfunctions_atatuservar +as +begin +declare @@xact_state int=123 select @@xact_state, xact_state() +declare @@error_line int=123 select @@error_line, error_line() +declare @@error_message int=123 select @@error_message, error_message() +declare @@error_number int=123 select @@error_number, error_number() +declare @@error_procedure int=123 select @@error_procedure, error_procedure() +declare @@error_state int=123 select @@error_state, error_state() +declare @@db_id int=123 select @@db_id, db_id('master') +declare @@db_name int=123 select @@db_name, db_name() +declare @@exp int=123 select @@exp, exp(1) +declare @@sign int=123 select @@sign, sign(1) +declare @@lock_timeout int=123 select @@lock_timeout, lock_timeout() +declare @@rand int=123 select @@rand, case when rand() <= 0 then 'too small, <= 0' when rand() >= 1 then ' too large, >= 1' else 'correct, >0 && <1' end +declare @@trigger_nestlevel int=123 select @@trigger_nestlevel, trigger_nestlevel() +declare @@atn2 int=123 select @@atn2, atn2(1,0) +declare @@datepart int=123 select @@datepart, datepart(yy, '2024-11-12') +declare @@datediff int=123 select @@datediff, datediff(dd, '2024-11-12', '2024-12-13') +declare @@datediff_big int=123 select @@datediff_big, datediff(dd, '2024-11-12', '2024-12-13') +declare @@dateadd int=123 select @@dateadd, datediff(dd, 3, '2024-11-12') +declare @@datename int=123 select @@datename, datename(dw, '2024-11-12') +end +go +exec p1_sysfunctions_atatuservar +go +~~START~~ +int#!#smallint +123#!#0 +~~END~~ + +~~START~~ +int#!#int +123#!# +~~END~~ + +~~START~~ +int#!#nvarchar +123#!# +~~END~~ + +~~START~~ +int#!#int +123#!# +~~END~~ + +~~START~~ +int#!#nvarchar +123#!# +~~END~~ + +~~START~~ +int#!#int +123#!# +~~END~~ + +~~START~~ +int#!#smallint +123#!#1 +~~END~~ + +~~START~~ +int#!#nvarchar +123#!#master +~~END~~ + +~~START~~ +int#!#float +123#!#2.718281828459045 +~~END~~ + +~~START~~ +int#!#int +123#!#1 +~~END~~ + +~~START~~ +int#!#int +-1#!#-1 +~~END~~ + +~~START~~ +int#!#varchar +123#!#correct, >0 && <1 +~~END~~ + +~~START~~ +int#!#int +123#!#0 +~~END~~ + +~~START~~ +int#!#float +123#!#1.5707963267948966 +~~END~~ + +~~START~~ +int#!#int +123#!#2024 +~~END~~ + +~~START~~ +int#!#int +123#!#31 +~~END~~ + +~~START~~ +int#!#int +123#!#31 +~~END~~ + +~~START~~ +int#!#int +123#!#45603 +~~END~~ + +~~START~~ +int#!#text +123#!#Tuesday +~~END~~ + + +create function f1_sysfunctions_atatuservar() returns int +as +begin +declare @@xact_state int=123 +declare @@error_line int=123 +declare @@error_message int=123 +declare @@error_number int=123 +declare @@error_procedure int=123 +declare @@error_state int=123 +declare @@db_id int=123 +declare @@db_name int=123 +declare @@exp int=123 +declare @@sign int=123 +declare @@lock_timeout int=123 +declare @@rand int=123 +declare @@trigger_nestlevel int=123 +declare @@atn2 int=123 +declare @@datepart int=123 +declare @@datediff int=123 +declare @@datediff_big int=123 +declare @@dateadd int=123 +declare @@datename int=123 +return @@xact_state + @@error_line + @@error_message + @@error_number + @@error_procedure + @@error_state + @@db_id + @@db_name + @@exp + @@sign + @@lock_timeout + @@rand + @@trigger_nestlevel + @@atn2 + @@datepart + @@datediff + @@datediff_big + @@dateadd + @@datename +end +go +select dbo.f1_sysfunctions_atatuservar() +go +~~START~~ +int +2213 +~~END~~ + + +create trigger tr1_sysfunctions_atatuservar on t23_trigger_atatuservar for insert as +begin +declare @@xact_state int=123 select @@xact_state, xact_state() +declare @@error_line int=123 select @@error_line, error_line() +declare @@error_message int=123 select @@error_message, error_message() +declare @@error_number int=123 select @@error_number, error_number() +declare @@error_procedure int=123 select @@error_procedure, error_procedure() +declare @@error_state int=123 select @@error_state, error_state() +declare @@db_id int=123 select @@db_id, db_id('master') +declare @@db_name int=123 select @@db_name, db_name() +declare @@exp int=123 select @@exp, exp(1) +declare @@sign int=123 select @@sign, sign(1) +declare @@lock_timeout int=123 select @@lock_timeout, lock_timeout() +declare @@rand int=123 select @@rand, case when rand() <= 0 then 'too small, <= 0' when rand() >= 1 then ' too large, >= 1' else 'correct, >0 && <1' end +declare @@trigger_nestlevel int=123 select @@trigger_nestlevel, trigger_nestlevel() +declare @@atn2 int=123 select @@atn2, atn2(1,0) +declare @@datepart int=123 select @@datepart, datepart(yy, '2024-11-12') +declare @@datediff int=123 select @@datediff, datediff(dd, '2024-11-12', '2024-12-13') +declare @@datediff_big int=123 select @@datediff_big, datediff(dd, '2024-11-12', '2024-12-13') +declare @@dateadd int=123 select @@dateadd, datediff(dd, 3, '2024-11-12') +declare @@datename int=123 select @@datename, datename(dw, '2024-11-12') +end +go +insert t23_trigger_atatuservar values(1) +go +~~START~~ +int#!#smallint +123#!#1 +~~END~~ + +~~START~~ +int#!#int +123#!# +~~END~~ + +~~START~~ +int#!#nvarchar +123#!# +~~END~~ + +~~START~~ +int#!#int +123#!# +~~END~~ + +~~START~~ +int#!#nvarchar +123#!# +~~END~~ + +~~START~~ +int#!#int +123#!# +~~END~~ + +~~START~~ +int#!#smallint +123#!#1 +~~END~~ + +~~START~~ +int#!#nvarchar +123#!#master +~~END~~ + +~~START~~ +int#!#float +123#!#2.718281828459045 +~~END~~ + +~~START~~ +int#!#int +123#!#1 +~~END~~ + +~~START~~ +int#!#int +-1#!#-1 +~~END~~ + +~~START~~ +int#!#varchar +123#!#correct, >0 && <1 +~~END~~ + +~~START~~ +int#!#int +123#!#1 +~~END~~ + +~~START~~ +int#!#float +123#!#1.5707963267948966 +~~END~~ + +~~START~~ +int#!#int +123#!#2024 +~~END~~ + +~~START~~ +int#!#int +123#!#31 +~~END~~ + +~~START~~ +int#!#int +123#!#31 +~~END~~ + +~~START~~ +int#!#int +123#!#45603 +~~END~~ + +~~START~~ +int#!#text +123#!#Tuesday +~~END~~ + +~~ROW COUNT: 1~~ + diff --git a/test/JDBC/expected/unquoted_string-vu-prepare.out b/test/JDBC/expected/unquoted_string-vu-prepare.out index 8025a74a6e..6c8e5b2547 100644 --- a/test/JDBC/expected/unquoted_string-vu-prepare.out +++ b/test/JDBC/expected/unquoted_string-vu-prepare.out @@ -119,15 +119,6 @@ go ~~ERROR (Message: column "@p1" does not exist)~~ --- should raise error: -create procedure unqStr_proc_6 @p1 varchar(20) = @@myvar -as select @p1 -go -~~ERROR (Code: 33557097)~~ - -~~ERROR (Message: function sys.myvar() does not exist)~~ - - create procedure unqStr_proc_7 @p1 varchar(20) = N'aB"c''D', @p2 varchar(20) = dEfg, @p3 varchar(20) = "x'Y""z" as select @p1, @p2, @p3 go diff --git a/test/JDBC/expected/unquoted_string-vu-verify.out b/test/JDBC/expected/unquoted_string-vu-verify.out index 12969bad57..3143be75c4 100644 --- a/test/JDBC/expected/unquoted_string-vu-verify.out +++ b/test/JDBC/expected/unquoted_string-vu-verify.out @@ -713,6 +713,15 @@ go Position: 71 Server SQLState: 42703)~~ +-- should raise an error since variable is not defined +create procedure unqStr_proc_6 @p1 varchar(20) = @@myvar +as select @p1 +go +~~ERROR (Code: 0)~~ + +~~ERROR (Message: ERROR: syntax error at or near "@" + Position: 87 + Server SQLState: 42601)~~ -- should print 'aBc': select unqStr_pgfunc_1('aBc'); diff --git a/test/JDBC/input/atatuservar-vu-cleanup.sql b/test/JDBC/input/atatuservar-vu-cleanup.sql new file mode 100644 index 0000000000..37f2c4171f --- /dev/null +++ b/test/JDBC/input/atatuservar-vu-cleanup.sql @@ -0,0 +1,167 @@ +drop procedure p1_atatuservar +go +drop procedure p2_atatuservar +go +drop function f1_atatuservar +go +drop function f2_atatuservar +go +drop procedure p3_atatuservar +go +drop function f3_atatuservar +go +drop procedure p4_atatuservar +go +drop procedure p19_atatuservar +go +drop procedure p5_atatuservar +go +drop procedure p6_atatuservar +go +drop procedure p7_atatuservar +go +drop procedure p8_atatuservar +go +drop procedure p9_atatuservar +go +drop procedure p10_atatuservar +go +drop procedure p11_atatuservar +go +drop function f4_atatuservar +go +drop procedure p22_atatuservar +go +drop procedure p12_atatuservar +go +drop procedure p13_atatuservar +go +drop procedure p14_atatuservar +go +drop function f1_atatuservar_extra_long_name_here +go +drop function f2_atatuservar_extra_long_name_here +go +drop procedure p15_atatuservar +go +drop procedure p16_atatuservar +go +drop procedure p17_atatuservar +go +drop procedure p18_atatuservar +go +drop procedure p1_raiserror_atatuservar +go +drop procedure p1_spexec_atatuservar +go +drop procedure p2_spexec_atatuservar +go +drop function f1_ins_atatuservar +go +drop function f1_upd_atatuservar +go +drop function f1_del_atatuservar +go +drop function f3_atatuservar_upd +go +drop function f3_atatuservar_del +go +drop function f3_upd_atatuservar +go +drop function f3_del_atatuservar +go +drop function f4_ins_atatuservar +go +drop function f4_upd_atatuservar +go +drop function f4_del_atatuservar +go +drop function f5_upd_atatuservar +go +drop function f5_del_atatuservar +go +drop function f6_upd_atatuservar +go +drop function f6_del_atatuservar +go +drop function f7_tabvar_udf_upd_atatuservar +go +drop function f9_tabvar_udf_del_atatuservar +go +drop function f10_tabvar_udf_del_atatuservar +go +drop function f4_atatuservar_tabvar_in_function_upd +go +drop function f14_del_atatuservar +go +drop function f15_upd_atatuservar +go +drop procedure p20_atatuservar +go +drop procedure p21_atatuservar +go +drop procedure p1_xactname_atatuservar +go +drop procedure p2_xactname_atatuservar +go + +drop table t1_atatuservar +go +drop table t2_atatuservar +go +drop table t3_atatuservar +go +drop table t_checkident_atatuservar +go +drop table t1_trigger_atatuservar +go +drop table t2_trigger_atatuservar +go +drop table t3_trigger_atatuservar +go +drop table t4_trigger_atatuservar +go +drop table t5_trigger_atatuservar +go +drop table t6_trigger_atatuservar +go +drop table t7_trigger_atatuservar +go +drop table t8_trigger_atatuservar +go +drop table t9_trigger_atatuservar +go +drop table t10_trigger_atatuservar +go +drop table t11_trigger_atatuservar +go +drop table t12_trigger_atatuservar +go +drop table t13_trigger_atatuservar +go +drop table t14_trigger_atatuservar +go +drop table t15_trigger_atatuservar +go +drop table t16_trigger_atatuservar +go +drop table t17_trigger_atatuservar +go +drop table t18_trigger_atatuservar +go +drop table t19_trigger_atatuservar +go +drop table t20_trigger_atatuservar +go +drop table t21_trigger_atatuservar +go +drop table t22_trigger_atatuservar +go +drop table t23_trigger_atatuservar +go +drop procedure p1_cursor_atatuservar +go +drop procedure p1_sysfunctions_atatuservar +go +drop function f1_sysfunctions_atatuservar +go \ No newline at end of file diff --git a/test/JDBC/input/atatuservar-vu-prepare.sql b/test/JDBC/input/atatuservar-vu-prepare.sql new file mode 100644 index 0000000000..00efc2b954 --- /dev/null +++ b/test/JDBC/input/atatuservar-vu-prepare.sql @@ -0,0 +1,62 @@ +create table t1_atatuservar (c varchar(20)) +insert t1_atatuservar values ('row 1'), ('row 2'), ('row 3') +go +create table t2_atatuservar (a int) +insert t2_atatuservar values(123) +go +create table t3_atatuservar (a int) +insert t3_atatuservar values(123) +go +create table t_checkident_atatuservar (a varchar(20), n int identity) +go +insert t_checkident_atatuservar values('one') +insert t_checkident_atatuservar values('two') +insert t_checkident_atatuservar values('three') +insert t_checkident_atatuservar values('four') +go +create table t1_trigger_atatuservar (a int) +go +create table t2_trigger_atatuservar (a int) +go +create table t3_trigger_atatuservar (a int) +go +create table t4_trigger_atatuservar (a int) +go +create table t5_trigger_atatuservar (a int) +go +create table t6_trigger_atatuservar (a int) +go +create table t7_trigger_atatuservar (a int) +go +create table t8_trigger_atatuservar (a int) +go +create table t9_trigger_atatuservar (a int) +go +create table t10_trigger_atatuservar(a int) +go +create table t11_trigger_atatuservar(a int) +go +create table t12_trigger_atatuservar(a int) +go +create table t13_trigger_atatuservar(a int) +go +create table t14_trigger_atatuservar(a int) +go +create table t15_trigger_atatuservar(a int) +go +create table t16_trigger_atatuservar(a int) +go +create table t17_trigger_atatuservar(a int) +go +create table t18_trigger_atatuservar(a int) +go +create table t19_trigger_atatuservar(a int) +go +create table t20_trigger_atatuservar(a int) +go +create table t21_trigger_atatuservar(a int) +go +create table t22_trigger_atatuservar(a int) +go +create table t23_trigger_atatuservar(a int) +go \ No newline at end of file diff --git a/test/JDBC/input/atatuservar-vu-verify.sql b/test/JDBC/input/atatuservar-vu-verify.sql new file mode 100644 index 0000000000..dd7e1b2f1c --- /dev/null +++ b/test/JDBC/input/atatuservar-vu-verify.sql @@ -0,0 +1,1842 @@ +-- simple variables in T-SQL batch +set quoted_identifier off +go +declare @@v int = 2 select @@v +go +declare @#v int = 2 select @#v +go +declare @@@$$@@@@v int = 2 select @@@$$@@@@v +go +declare @@@$$@@@@v##### int = 2 select @@@$$@@@@v##### +go +declare @@@$$@@@@#####v int = 2 select @@@$$@@@@#####v +go +declare @#############v int = 2 select @#############v +go + +-- 63 long +declare @@v63_7890123456789$123456789$123456789012345678901234567890123 int = 2 +select @@v63_7890123456789$123456789$123456789012345678901234567890123 +go +-- 64 long +declare @@v64_7890123456789$123456789$1234567890123456789012345678901234 int = 2 +select @@v64_7890123456789$123456789$1234567890123456789012345678901234 +go +-- maximum length in T-SQL is 128 +declare @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int = 2 +select @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +go + +declare @#v63_7890123456789$123456789$123456789012345678901234567890123 int = 2 +select @#v63_7890123456789$123456789$123456789012345678901234567890123 +go +declare @#v64_7890123456789$123456789$1234567890123456789012345678901234 int = 2 +select @#v64_7890123456789$123456789$1234567890123456789012345678901234 +go +declare @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int = 2 +select @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +go +declare @@v128_@@@$$@@@@$$@########@@@$$@@@@$$@@@@$$@@@###__##@@@$$@@@@$$@@@@$$@@@@$$@@@______@@@$$@@@@$$@@@@$$@@@###########@@@$$@@@@@@ int = 2 +select @@v128_@@@$$@@@@$$@########@@@$$@@@@$$@@@@$$@@@###__##@@@$$@@@@$$@@@@$$@@@@$$@@@______@@@$$@@@@$$@@@@$$@@@###########@@@$$@@@@@@ +go + +-- referencing global @@variable, in T-SQL batch, procedure, trigger and function +declare @@v int +select 1 +set @@v = @@rowcount +select @@v +go + +declare @@@$$@@@@v int, @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int +select 1 +set @@@$$@@@@v = @@rowcount +set @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 = @@pgerror +select @@@$$@@@@v, @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +go + +declare @@v63_7890123456789$123456789$123456789012345678901234567890123 int +set @@v63_7890123456789$123456789$123456789012345678901234567890123 = @@rowcount +select @@v63_7890123456789$123456789$123456789012345678901234567890123 +go + +declare @#v64_7890123456789$123456789$1234567890123456789012345678901234 int +set @#v64_7890123456789$123456789$1234567890123456789012345678901234 = @@rowcount +select @#v64_7890123456789$123456789$1234567890123456789012345678901234 +go + +declare @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int +set @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 = @@rowcount +select @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +go + +create procedure p1_atatuservar +as +declare @@v int +select 1 +set @@v = @@rowcount +select @@v + +declare @#v int +select 1 +set @#v = @@rowcount +select @#v +go +exec p1_atatuservar +go + +create procedure p2_atatuservar +as +declare @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int, @@p128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int +select 1 +set @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 = @@rowcount +select @@p128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 = @@pgerror +select @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678, @@p128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 + +declare @#v64_7890123456789$123456789$1234567890123456789012345678901234 int +select 1 +set @#v64_7890123456789$123456789$1234567890123456789012345678901234 = @@rowcount +select @#v64_7890123456789$123456789$1234567890123456789012345678901234 +go +exec p2_atatuservar +go + +create trigger tr1_atatuservar on t1_trigger_atatuservar for insert +as +begin +select 'trigger tr1_atatuservar' +declare @@v int +select 1 +set @@v = @@rowcount +select @@v + +declare @#v int +select 1 +set @#v = @@rowcount +select @#v +end +go +insert t1_trigger_atatuservar values (123) +go + +create trigger tr2_atatuservar on t2_trigger_atatuservar for insert +as +begin +select 'trigger tr2_atatuservar' + +declare @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int +select 1 +set @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 = @@rowcount +select @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 + +declare @#v64_7890123456789$123456789$1234567890123456789012345678901234 int +select 1 +set @#v64_7890123456789$123456789$1234567890123456789012345678901234 = @@rowcount +select @#v64_7890123456789$123456789$1234567890123456789012345678901234 +end +go +insert t2_trigger_atatuservar values (123) +go + +create function f1_atatuservar() returns int +as +begin +declare @@v int, @@v2 int +select @@v2 = count(*) from t1_atatuservar +set @@v = @@rowcount + +declare @#v int, @#v2 int +select @#v2 = count(*) from t1_atatuservar +set @#v = @@rowcount + +return @@v * @#v +end +go +select dbo.f1_atatuservar() +go + +create function f2_atatuservar() returns int +as +begin +declare @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int, @#v64_7890123456789$123456789$1234567890123456789012345678901234 int +select @#v64_7890123456789$123456789$1234567890123456789012345678901234 = count(*) from t1_atatuservar +set @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 = @@rowcount + +return @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 * @#v64_7890123456789$123456789$1234567890123456789012345678901234 +end +go +select dbo.f2_atatuservar() +go + +create trigger tr3_atatuservar on t3_trigger_atatuservar for insert +as +begin +select 'trigger tr3_atatuservar' +declare @@v int, @@v2 int +select @@v2 = count(*) from t1_atatuservar +set @@v = @@rowcount +select @@v + +declare @#v int, @#v2 int +select @#v2 = count(*) from t1_atatuservar +set @#v = @@rowcount +select @#v +end +go +insert t3_trigger_atatuservar values (123) +go + +-- assuming @@servername is BABELFISH +declare @v varchar(50) +set @v = @@servername +select @v +go + +declare @v int +set @v = len(@@servername) +select @v +go + +create procedure p3_atatuservar +as +declare @v varchar(50) +set @v = @@servername +select @v + +declare @v2 int +set @v2 = len(@@servername) +select @v2 +go +exec p3_atatuservar +go + +create function f3_atatuservar(@#p1 varchar(30)) returns int +as +begin +declare @@v int +set @@v = len(@@servername) +return @@v * len(@#p1) +end +go +select dbo.f3_atatuservar(@@servername) +go + +create trigger tr4_atatuservar on t4_trigger_atatuservar for insert +as +begin +select 'trigger tr4_atatuservar' +declare @@v int +set @@v = len(@@servername) +select @@v +end +go +insert t4_trigger_atatuservar values (123) +go + +-- procedure call with named/unnamed arguments, output parameters, return status, in T-SQL batch, procedure, trigger +create procedure p4_atatuservar @@p1 int +as select @@p1 +return @@p1*-1 +go +exec p4_atatuservar 123 +go +exec p4_atatuservar @@p1=123 +go +declare @@v int = 987 +exec p4_atatuservar @@p1=@@v +go +declare @@v int +exec @@v = p4_atatuservar @@p1=123 +select @@v +go + +create procedure p19_atatuservar @#p19_atatuservar int +as select @#p19_atatuservar +return @#p19_atatuservar*-1 +go +exec p19_atatuservar @@max_precision +go +exec p19_atatuservar @#p19_atatuservar=@@max_precision +go +declare @#v int = @@max_precision +exec p19_atatuservar @#p19_atatuservar=@#v +go +declare @#v int +exec @#v = p19_atatuservar @#p19_atatuservar=@@max_precision +select @#v +go + +create procedure p5_atatuservar +as +declare @@v int +exec @@v = p4_atatuservar @@p1=123 +select @@v + +declare @#v int +exec @#v = p4_atatuservar @@p1=123 +select @#v +go +exec p5_atatuservar +go + +create procedure p6_atatuservar @@p4 int output +as +set @@p4 *= 2 +select @@p4 +return @@p4*-1 +go +declare @#v1 int, @@v2 int = 123 +exec @#v1 = p6_atatuservar @@v2 +select @#v1, @@v2 +go + +declare @#v1 int, @@v2 int = 123 +exec @#v1 = p6_atatuservar @@p4 = @@v2 out +select @#v1, @@v2 +go + +create procedure p7_atatuservar +as +declare @#v1 int, @@v2 int = 123 +exec @#v1 = p6_atatuservar @@v2 output +select @#v1, @@v2 +go + +create procedure p8_atatuservar @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int output +as +set @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 *= 2 +select @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +return @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678*-1 +go +declare @#v64_7890123456789$123456789$1234567890123456789012345678901234 int, @@v63_7890123456789$123456789$123456789012345678901234567890123 int = 123 +exec @#v64_7890123456789$123456789$1234567890123456789012345678901234 = p8_atatuservar @@v63_7890123456789$123456789$123456789012345678901234567890123 +select @#v64_7890123456789$123456789$1234567890123456789012345678901234, @@v63_7890123456789$123456789$123456789012345678901234567890123 +go + +declare @#v64_7890123456789$123456789$1234567890123456789012345678901234 int, @@v63_7890123456789$123456789$123456789012345678901234567890123 int = 123 +exec @#v64_7890123456789$123456789$1234567890123456789012345678901234 = p8_atatuservar @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 = @@v63_7890123456789$123456789$123456789012345678901234567890123 out +select @#v64_7890123456789$123456789$1234567890123456789012345678901234, @@v63_7890123456789$123456789$123456789012345678901234567890123 +go + +create procedure p9_atatuservar +as +declare @#v64_7890123456789$123456789$1234567890123456789012345678901234 int, @@v63_7890123456789$123456789$123456789012345678901234567890123 int = 123 +exec @#v64_7890123456789$123456789$1234567890123456789012345678901234 = p8_atatuservar @@v63_7890123456789$123456789$123456789012345678901234567890123 output +select @#v64_7890123456789$123456789$1234567890123456789012345678901234, @@v63_7890123456789$123456789$123456789012345678901234567890123 +go + +create trigger tr5_atatuservar on t5_trigger_atatuservar for insert +as +begin +select 'trigger tr5_atatuservar' +declare @@v int +exec @@v = p4_atatuservar @@p1=123 +select @@v + +declare @#v int +exec @#v = p4_atatuservar @@p1=123 +select @#v +end +go +insert t5_trigger_atatuservar values (123) +go + +create trigger tr6_atatuservar on t6_trigger_atatuservar for insert +as +begin +select 'trigger tr6_atatuservar' + +declare @#v64_7890123456789$123456789$1234567890123456789012345678901234 int, @@v63_7890123456789$123456789$123456789012345678901234567890123 int = 123 +exec @#v64_7890123456789$123456789$1234567890123456789012345678901234 = p8_atatuservar @@v63_7890123456789$123456789$123456789012345678901234567890123 output +select @#v64_7890123456789$123456789$1234567890123456789012345678901234, @@v63_7890123456789$123456789$123456789012345678901234567890123 +end +go +insert t6_trigger_atatuservar values (123) +go + +-- misc variable usage in expressions +declare @#v int = 3 +set @#v *= -1 +set @#v = @#v + 10*@#v +select @#v = @#v + 1 +if @#v > 0 select 'positive' else select 'negative' +select @#v, @#V, '@#v' +print @#v -- PRINT output not captured by JDBC tests +go + +declare @@v int = 3 +set @@v *= -1 +set @@v = @@v + 10*@@v +select @@v = @@v + 1 +if @@v > 0 select 'positive' else select 'negative' +select @@v , @@V, '@@v' +print @@V -- PRINT output not captured by JDBC tests +go + +create procedure p10_atatuservar +as +declare @#v int = 3 +set @#v *= -1 +set @#v = @#v + 10*@#v +select @#v = @#v + 1 +if @#v > 0 select 'positive' else select 'negative' +select @#v, @#V, '@#v' +print @#v -- PRINT output not captured by JDBC tests + +declare @@v int = 3 +set @@v *= -1 +set @@v = @@v + 10*@@v +select @@v = @@v + 1 +if @@v > 0 select 'positive' else select 'negative' +select @@v , @@V, '@@v' +print @@V -- PRINT output not captured by JDBC tests +go +exec p10_atatuservar +go + +declare @@c varchar(20)='abcd', @#v1 int=2, @v2@# int=1 +select substring(@@c, @#v1, @v2@#) +go + +declare @@v1 varchar(20)='row 1', @#v2 varchar(20)='row 3' +select * from t1_atatuservar where c in (@@v1, @#v2) order by 1 +go + +declare @@v1 varchar(20)='1', @#v2 varchar(20)='3' +select * from t1_atatuservar where c like '%'+@@v1 or c like '%'+@#v2 order by 1 +go + +create procedure p11_atatuservar +as +declare @@c varchar(20)='abcd', @#v int=2, @v@# int=1 +select substring(@@c, @#v, @v@#) + +declare @@v1 varchar(20)='row 1', @#v1 varchar(20)='row 3' +select * from t1_atatuservar where c in (@@v1, @#v1) order by 1 + +declare @@v2 varchar(20)='1', @#v2 varchar(20)='3' +select * from t1_atatuservar where c like '%'+@@v2 or c like '%'+@#v2 order by 1 +go +exec p11_atatuservar +go + +create function f4_atatuservar (@@p1 int, @#p2 int, @p5_atatuservar int) +returns table +as +return (select @@p1*@#p2*@p5_atatuservar as x where @@p1 = 123 or @#p2 = 10 or @p5_atatuservar = 1) +go +select * from dbo.f4_atatuservar(123, 20, 2) +go +select * from dbo.f4_atatuservar(345, 10, 2) +go +select * from dbo.f4_atatuservar(345, 20, 1) +go + +declare @@c varchar(30), @#v int=1, @#v2 int=2 +set @@c = case when @#v > 0 then '> zero' else '<- zero' end +select @@c +set @@c = case @#v when 0 then 'zero' else '<> zero' end +select @@c +set @@c = case @#v when 0 then 'zero' when @#v2 then 'case 2' else 'something else' end +select @@c +set @@c = case @#v+@#v when 0 then 'zero' when @#v2 then 'case 2' else 'something else' end +select @@c +go + +create procedure p22_atatuservar +as +declare @@c varchar(30), @#v int=1, @#v2 int=2 +set @@c = case when @#v > 0 then '> zero' else '<- zero' end +select @@c +set @@c = case @#v when 0 then 'zero' else '<> zero' end +select @@c +set @@c = case @#v when 0 then 'zero' when @#v2 then 'case 2' else 'something else' end +select @@c +set @@c = case @#v+@#v when 0 then 'zero' when @#v2 then 'case 2' else 'something else' end +select @@c +go +exec p22_atatuservar +go + +create trigger tr7_atatuservar on t7_trigger_atatuservar for insert +as +begin +select 'trigger tr7_atatuservar' + +declare @@z128_@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@_____############################################################ varchar(30), @#v64_7890123456789$123456789$1234567890123456789012345678901234 int=1, @#w64_7890123456789$123456789$1234567890123456789012345678901234 int=2 +set @@z128_@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@_____############################################################ = case when @#v64_7890123456789$123456789$1234567890123456789012345678901234 > 0 then '> zero' else '<- zero' end +select @@z128_@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@_____############################################################ +set @@z128_@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@_____############################################################ = case @#v64_7890123456789$123456789$1234567890123456789012345678901234 when 0 then 'zero' else '<> zero' end +select @@z128_@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@_____############################################################ +set @@z128_@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@_____############################################################ = case @#v64_7890123456789$123456789$1234567890123456789012345678901234 when 0 then 'zero' when @#w64_7890123456789$123456789$1234567890123456789012345678901234 then 'case 2' else 'something else' end +select @@z128_@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@_____############################################################ +set @@z128_@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@_____############################################################ = case @#v64_7890123456789$123456789$1234567890123456789012345678901234+@#v64_7890123456789$123456789$1234567890123456789012345678901234 when 0 then 'zero' when @#w64_7890123456789$123456789$1234567890123456789012345678901234 then 'case 2' else 'something else' end + +declare @#x64_7890123456789$123456789$1234567890123456789012345678901234 int = 3 +set @#x64_7890123456789$123456789$1234567890123456789012345678901234 *= -1 +set @#x64_7890123456789$123456789$1234567890123456789012345678901234 = @#x64_7890123456789$123456789$1234567890123456789012345678901234 + 10*@#x64_7890123456789$123456789$1234567890123456789012345678901234 +select @#x64_7890123456789$123456789$1234567890123456789012345678901234 = @#x64_7890123456789$123456789$1234567890123456789012345678901234 + 1 +if @#x64_7890123456789$123456789$1234567890123456789012345678901234 > 0 select 'positive' else select 'negative' +select @#x64_7890123456789$123456789$1234567890123456789012345678901234, @#x64_7890123456789$123456789$1234567890123456789012345678901234, '@#x64_7890123456789$123456789$1234567890123456789012345678901234' +print @#x64_7890123456789$123456789$1234567890123456789012345678901234 -- PRINT output not captured by JDBC tests + +declare @@v128_@@@$$@@@@$$@########@@@$$@@@@$$@@@@$$@@@###__##@@@$$@@@@$$@@@@$$@@@@$$@@@______@@@$$@@@@$$@@@@$$@@@###########@@@$$@@@@@@ int = 3 +set @@v128_@@@$$@@@@$$@########@@@$$@@@@$$@@@@$$@@@###__##@@@$$@@@@$$@@@@$$@@@@$$@@@______@@@$$@@@@$$@@@@$$@@@###########@@@$$@@@@@@ *= -1 +set @@v128_@@@$$@@@@$$@########@@@$$@@@@$$@@@@$$@@@###__##@@@$$@@@@$$@@@@$$@@@@$$@@@______@@@$$@@@@$$@@@@$$@@@###########@@@$$@@@@@@ = @@v128_@@@$$@@@@$$@########@@@$$@@@@$$@@@@$$@@@###__##@@@$$@@@@$$@@@@$$@@@@$$@@@______@@@$$@@@@$$@@@@$$@@@###########@@@$$@@@@@@ + 10*@@v128_@@@$$@@@@$$@########@@@$$@@@@$$@@@@$$@@@###__##@@@$$@@@@$$@@@@$$@@@@$$@@@______@@@$$@@@@$$@@@@$$@@@###########@@@$$@@@@@@ +select @@v128_@@@$$@@@@$$@########@@@$$@@@@$$@@@@$$@@@###__##@@@$$@@@@$$@@@@$$@@@@$$@@@______@@@$$@@@@$$@@@@$$@@@###########@@@$$@@@@@@ = @@v128_@@@$$@@@@$$@########@@@$$@@@@$$@@@@$$@@@###__##@@@$$@@@@$$@@@@$$@@@@$$@@@______@@@$$@@@@$$@@@@$$@@@###########@@@$$@@@@@@ + 1 +if @@v128_@@@$$@@@@$$@########@@@$$@@@@$$@@@@$$@@@###__##@@@$$@@@@$$@@@@$$@@@@$$@@@______@@@$$@@@@$$@@@@$$@@@###########@@@$$@@@@@@ > 0 select 'positive' else select 'negative' +select @@v128_@@@$$@@@@$$@########@@@$$@@@@$$@@@@$$@@@###__##@@@$$@@@@$$@@@@$$@@@@$$@@@______@@@$$@@@@$$@@@@$$@@@###########@@@$$@@@@@@ , @@v128_@@@$$@@@@$$@########@@@$$@@@@$$@@@@$$@@@###__##@@@$$@@@@$$@@@@$$@@@@$$@@@______@@@$$@@@@$$@@@@$$@@@###########@@@$$@@@@@@, '@@v128_@@@$$@@@@$$@########@@@$$@@@@$$@@@@$$@@@###__##@@@$$@@@@$$@@@@$$@@@@$$@@@______@@@$$@@@@$$@@@@$$@@@###########@@@$$@@@@@@' +print @@v128_@@@$$@@@@$$@########@@@$$@@@@$$@@@@$$@@@###__##@@@$$@@@@$$@@@@$$@@@@$$@@@______@@@$$@@@@$$@@@@$$@@@###########@@@$$@@@@@@ -- PRINT output not captured by JDBC tests + +declare @@y128_############################################______@@@$$@@@@$$@@@@__###############@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@ varchar(20)='abcd', @#p64_7890123456789$123456789$1234567890123456789012345678901234 int=2, @@#q64_890123456789$123456789$1234567890123456789012345678901234 int=1 +select substring(@@y128_############################################______@@@$$@@@@$$@@@@__###############@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@, @#p64_7890123456789$123456789$1234567890123456789012345678901234, @@#q64_890123456789$123456789$1234567890123456789012345678901234) + +declare @@q64_7890123456789$123456789$1234567890123456789012345678901234 varchar(20)='1', @#q4_7890123456789$123456789$1234567890123456789012345678901234 varchar(20)='3' +select * from t1_atatuservar where c like '%'+@@q64_7890123456789$123456789$1234567890123456789012345678901234 or c like '%'+@#q4_7890123456789$123456789$1234567890123456789012345678901234 order by 1 +end +go +insert t7_trigger_atatuservar values (123) +go + +-- table variables, in T-SQL batch, procedure and trigger (functions are below) +declare @@v table (a int) +insert @@v values (123) +select * from @@v +go + +declare @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 table (a int) +insert @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 values (123) +select * from @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +go + +declare @#v table (a int) +insert @#v values (123) +insert @#v select * from @#v +select * from @#v +update @#v set a = a + 1 +select * from @#v +set rowcount 1 +delete @#v +set rowcount 0 +select * from @#v +go + +declare @@V table (a int) +insert @@v values (123) +insert @@v select * from @@v +select * from @@v +update @@v set a = a + 1 +select * from @@v +set rowcount 1 +delete @@v +set rowcount 0 +select * from @@v +go + +create procedure p12_atatuservar +as +declare @#v table (a int) +insert @#v values (123) +insert @#v select * from @#v +select * from @#v +update @#v set a = a + 1 +select * from @#v +set rowcount 1 +delete @#v +set rowcount 0 +select * from @#v + +declare @@V table (a int) +insert @@v values (123) +insert @@v select * from @@v +select * from @@v +update @@v set a = a + 1 +select * from @@v +set rowcount 1 +delete @@v +set rowcount 0 +select * from @@v +go +exec p12_atatuservar +go + +create procedure p13_atatuservar +as +declare @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 table (a int) +insert @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 values (123) +select * from @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +insert @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 select * from @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +select * from @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +update @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 set a = a + 1 +select * from @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +set rowcount 1 +delete @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +set rowcount 0 +select * from @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +go +exec p13_atatuservar +go + +create trigger tr8_atatuservar on t8_trigger_atatuservar for insert +as +begin +select 'trigger tr8_atatuservar' + +declare @#v table (a int) +insert @#v values (123) +insert @#v select * from @#v +select * from @#v +update @#v set a = a + 1 +select * from @#v +set rowcount 1 +delete @#v +set rowcount 0 +select * from @#v + +declare @@V table (a int) +insert @@v values (123) +insert @@v select * from @@v +select * from @@v +update @@v set a = a + 1 +select * from @@v +set rowcount 1 +delete @@v +set rowcount 0 +select * from @@v +end +go +insert t8_trigger_atatuservar values (123) +go + +create trigger tr9_atatuservar on t9_trigger_atatuservar for insert +as +begin +select 'trigger tr9_atatuservar' + +declare @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 table (a int) +insert @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 values (123) +select * from @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +insert @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 select * from @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +select * from @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +update @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 set a = a + 1 +select * from @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +set rowcount 1 +delete @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +set rowcount 0 +select * from @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +end +go +insert t9_trigger_atatuservar values (123) +go + +-- @@rowcount +declare @@V int = 1 +set rowcount @@v +select * from t1_atatuservar order by 1 +set @@v = 0 +set rowcount @@v +select * from t1_atatuservar order by 1 +go + +declare @#V int = 1 +set rowcount @#v +select * from t1_atatuservar order by 1 +set @#v = 0 +set rowcount @#v +select * from t1_atatuservar order by 1 +go + +create procedure p14_atatuservar +as +declare @@V int = 1 +set rowcount @@v +select * from t1_atatuservar order by 1 +set @@v = 0 +set rowcount @@v +select * from t1_atatuservar order by 1 + +declare @#V int = 1 +set rowcount @#v +select * from t1_atatuservar order by 1 +set @#v = 0 +set rowcount @#v +select * from t1_atatuservar order by 1 +go +exec p14_atatuservar +go + +create trigger tr10_atatuservar on t10_trigger_atatuservar for insert +as +begin +select 'trigger tr10_atatuservar' + +declare @@V int = 1 +set rowcount @@v +select * from t1_atatuservar order by 1 +set @@v = 0 +set rowcount @@v +select * from t1_atatuservar order by 1 + +declare @#V int = 1 +set rowcount @#v +select * from t1_atatuservar order by 1 +set @#v = 0 +set rowcount @#v +select * from t1_atatuservar order by 1 +end +go +insert t10_trigger_atatuservar values (123) +go + +create function f1_atatuservar_extra_long_name_here() +returns @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 table (a int) +as +begin +insert @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +values (123) +return +end +go +select * from f1_atatuservar_extra_long_name_here() +go + +create function f2_atatuservar_extra_long_name_here() +returns @#v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 table (a int) +as +begin +insert @#v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +values (123) +return +end +go +select * from f2_atatuservar_extra_long_name_here() +go + +-- in SET statements that support variable argument, procedure and trigger (functions are below) +declare @@v int = 4 +set datefirst @@v +select datepart(dw, '2024-10-21') +go +set datefirst 7 +go + +declare @#v int = 5 +set datefirst @#v +select datepart(dw, '2024-10-21') +go +set datefirst 7 +go + +declare @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int = 5 +set datefirst @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +select datepart(dw, '2024-10-21') +go +set datefirst 7 +go + +-- SET DATEFORMAT currently ignores the argument and will always use 'mdy' +declare @@v varchar(10) = 'dmy' +set dateformat @@v +select cast('01/02/03' as datetime) +go +set dateformat mdy +go + +-- SET DATEFORMAT currently silently ignores the argument and will always use 'mdy' +declare @#v varchar(10) = 'dmy' +set dateformat @#v +select cast('01/02/03' as datetime) +go +set dateformat mdy +go + +-- SET DATEFORMAT currently silently ignores the argument and will always use 'mdy' +declare @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 varchar(10) = 'dmy' +set dateformat @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +select cast('01/02/03' as datetime) +go +set dateformat mdy +go + +-- SET LANGUAGE currently only supports english +declare @@v varchar(10) = 'dutch' +set language @@v +select @@language +go +set language us_english +go +declare @#v varchar(10) = 'french' +set language @#v +select @@language +go +set language us_english +go +declare @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 varchar(10) = 'french' +set language @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +select @@language +go +set language us_english +go + +create procedure p15_atatuservar +as +declare @@v1 int = 4 +set datefirst @@v1 +select datepart(dw, '2024-10-21') + +declare @#v1 int = 5 +set datefirst @#v1 +select datepart(dw, '2024-10-21') + +declare @@v2 varchar(10) = 'dmy' +set dateformat @@v2 +select cast('01/02/03' as datetime) + +declare @#v3 varchar(10) = 'dutch' +set language @#v3 +select @@language +go + +exec p15_atatuservar +go +set datefirst 7 +set dateformat mdy +set language us_english +go +create procedure p16_atatuservar +as +declare @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int = 4 +set datefirst @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +select datepart(dw, '2024-10-21') + +declare @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int = 5 +set datefirst @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +select datepart(dw, '2024-10-21') + +declare @@w128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 varchar(10) = 'dmy' +set dateformat @@w128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +select cast('01/02/03' as datetime) + +declare @#w128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 varchar(10) = 'dutch' +set language @#w128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +select @@language +go +exec p15_atatuservar +go +set datefirst 7 +set dateformat mdy +set language us_english +go + +create trigger tr11_atatuservar on t11_trigger_atatuservar for insert +as +begin +select 'trigger tr11_atatuservar' + +declare @@v1 int = 4 +set datefirst @@v1 +select datepart(dw, '2024-10-21') + +declare @#v1 int = 5 +set datefirst @#v1 +select datepart(dw, '2024-10-21') + +declare @@v2 varchar(10) = 'dmy' +set dateformat @@v2 +select cast('01/02/03' as datetime) + +declare @#v3 varchar(10) = 'dutch' +set language @#v3 +select @@language +end +go +insert t11_trigger_atatuservar values (123) +go +set datefirst 7 +set dateformat mdy +set language us_english +go + +create trigger tr12_atatuservar on t12_trigger_atatuservar for insert +as +begin +select 'trigger tr12_atatuservar' + +declare @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int = 4 +set datefirst @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +select datepart(dw, '2024-10-21') + +declare @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int = 5 +set datefirst @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +select datepart(dw, '2024-10-21') + +declare @@w128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 varchar(10) = 'dmy' +set dateformat @@w128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +select cast('01/02/03' as datetime) + +declare @#w128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 varchar(10) = 'dutch' +set language @#w128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +select @@language +end +go +insert t12_trigger_atatuservar values (123) +go +set datefirst 7 +set dateformat mdy +set language us_english +go + +-- execute-immediate, procedure and trigger +declare @@V varchar(50) = 'select 123' execute(@@v) +go + +declare @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 varchar(50) = 'select 123' execute(@@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678) +go + +declare @@V varchar(50) = 'declare @#v int =123 select @#v' +execute(@@v) +go + +declare @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 varchar(500) = 'declare @#w128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int =123 select @#w128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678' +execute(@@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678) +go + +declare @@V varchar(50) = 'declare @#v int =123 select @#v' +execute('select 456 ' + @@v) +go + +declare @#V varchar(50) = 'declare @@v int =123 select @@v' +execute(@#v) +go + +declare @#V varchar(50) = 'declare @@v int =123 select @@v' +execute('select 456 ' + @#v) +go + +declare @#V varchar(50) = 'select 123 ' +execute(@#v + @#v) +go + +declare @#V varchar(50) = 'select 123 ', @@V varchar(50) = 'select 456 ' +execute(@#v + @@v + @@v + @#v) +go + +declare @@V varchar(50) = 'select "abc''def" ' +execute(@@v + 'select "xy''z" ' + @@V) +go + +create procedure p17_atatuservar +as +declare @#V1 varchar(50) = 'declare @@v int =123 select @@v' +execute('select 456 ' + @#v1) + +declare @#V2 varchar(50) = 'select 123 ' +execute(@#v2 + @#v2) + +declare @#V3 varchar(50) = 'select 123 ', @@V varchar(50) = 'select 456 ' +execute(@#v3 + @@v + @@v + @#v3) + +declare @@V4 varchar(50) = 'select "abc''def" ' +execute(@@v4 + 'select "xy''z" ' + @@V4) +go +exec p17_atatuservar +go + +create trigger tr13_atatuservar on t13_trigger_atatuservar for insert +as +begin +select 'trigger tr13_atatuservar' + +declare @#V1 varchar(50) = 'declare @@v int =123 select @@v' +execute('select 456 ' + @#v1) + +declare @#V2 varchar(50) = 'select 123 ' +execute(@#v2 + @#v2) + +declare @#V3 varchar(50) = 'select 123 ', @@V varchar(50) = 'select 456 ' +execute(@#v3 + @@v + @@v + @#v3) + +declare @@V4 varchar(50) = 'select "abc''def" ' +execute(@@v4 + 'select "xy''z" ' + @@V4) +end +go +insert t13_trigger_atatuservar values (123) +go + +create procedure p18_atatuservar +as +begin +declare @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 varchar(500) = 'declare @#w128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int =123 select @#w128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678' +execute(@@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678) +end +go +exec p18_atatuservar +go + +create trigger tr14_atatuservar on t14_trigger_atatuservar for insert +as +begin +select 'trigger tr14_atatuservar' + +declare @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 varchar(500) = 'declare @#w128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int =123 select @#w128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678' +execute(@@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678) +end +go +insert t14_trigger_atatuservar values (123) +go + +-- RAISERROR, procedure and trigger +declare @@v int=50001 +raiserror(@@v,1,1) +go + +declare @@v int=50001, @@v2 int=1 +raiserror(@@v,@@v2,1) +go + +declare @@v int=50001, @@v2 int=1, @#v3 int=1 +raiserror(@@v,@@v2,@#v3) +go + +declare @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int=50001, @#w128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int=1, @@y128_############################################______@@@$$@@@@$$@@@@__###############@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@ int=1 +raiserror(@@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678, @#w128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678, @@y128_############################################______@@@$$@@@@$$@@@@__###############@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@) +go + +create procedure p1_raiserror_atatuservar +as +declare @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int=50001, @#w128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int=1, @@y128_############################################______@@@$$@@@@$$@@@@__###############@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@ int=1 +raiserror(@@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678, @#w128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678, @@y128_############################################______@@@$$@@@@$$@@@@__###############@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@) +go +exec p1_raiserror_atatuservar +go + +create trigger tr15_atatuservar on t15_trigger_atatuservar for insert +as +begin +declare @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int=50001, @#w128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int=1, @@y128_############################################______@@@$$@@@@$$@@@@__###############@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@ int=1 +raiserror(@@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678, @#w128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678, @@y128_############################################______@@@$$@@@@$$@@@@__###############@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@$$@@@@) +end +go +insert t15_trigger_atatuservar values (123) +go + + +-- sp_executesql with named/unnamed arguments, output parameters, in T-SQL batch, procedure, trigger +exec sp_executesql N'declare @@v int=123 select @@v' +go + +exec sp_executesql N'SELECT @@v1, @#v2', N'@@v1 int, @#v2 varchar(20)', @#v2='Hello, World!', @@v1=123 +go + +declare @@sql nvarchar(50)=N'SELECT @@v1, @#v2' +exec sp_executesql @@sql, N'@@v1 int, @#v2 varchar(20)', @#v2='Hello, World!', @@v1=123 +go + +declare @@params nvarchar(50)=N'@@v1 int, @#v2 varchar(20)' +exec sp_executesql N'SELECT @@v1, @#v2', @@params, @#v2='Hello, World!', @@v1=123 +go + +declare @@sql nvarchar(50)=N'SELECT @@v1, @#v2' +declare @@params nvarchar(50)=N'@@v1 int, @#v2 varchar(20)' +exec sp_executesql @@sql, @@params, @#v2='Hello, World!', @@v1=123 +go + +declare @@sql nvarchar(50)=N'SELECT @@v1, @#v2', @@params nvarchar(50)=N'@@v1 int, @#v2 varchar(20)', @@v3 int=123, @#v4 varchar(20)='Hello, World!' +exec sp_executesql @@sql, @@params, @#v2=@#v4, @@v1=@@v3 +go + +declare @@SQLString1 NVARCHAR(100); +declare @#SQLString2 NVARCHAR(max); +declare @@ParamDef NVARCHAR(100); +SET @@SQLString1 = N'SET @#a = @@b + @@b'; +SET @#SQLString2 = N'EXEC sp_executesql N''SET @#a = @@b + @@b'', N''@#a INT OUT, @@b INT'', @#a OUTPUT, @@b;'; +SET @@ParamDef = N'@#a INT OUTPUT, @@b INT'; +declare @@p INT; +declare @#a INT; +EXEC sp_executesql @@SQLString1, @@ParamDef, @#a = @@p OUT, @@b = 10; +EXEC sp_executesql @#SQLString2, @@ParamDef, @#a = @#a OUT, @@b = 11; +SELECT @@p, @#a; +go + +create procedure p1_spexec_atatuservar +as +declare @@sql nvarchar(50)=N'SELECT @@v1, @#v2', @@params nvarchar(50)=N'@@v1 int, @#v2 varchar(20)', @@v3 int=123, @#v4 varchar(20)='Hello, World!' +exec sp_executesql @@sql, @@params, @#v2=@#v4, @@v1=@@v3 +declare @@SQLString1 NVARCHAR(100) +declare @#SQLString2 NVARCHAR(max) +declare @@ParamDef NVARCHAR(100) +SET @@SQLString1 = N'SET @#a = @@b + @@b' +SET @#SQLString2 = N'EXEC sp_executesql N''SET @#a = @@b + @@b'', N''@#a INT OUT, @@b INT'', @#a OUT, @@b' +SET @@ParamDef = N'@#a INT OUTPUT, @@b INT' +declare @@p INT +declare @#a INT +EXEC sp_executesql @@SQLString1, @@ParamDef, @#a = @@p OUT, @@b = 10 +EXEC sp_executesql @#SQLString2, @@ParamDef, @#a = @#a OUT, @@b = 11 +SELECT @@p, @#a +go +exec p1_spexec_atatuservar +go + +create trigger tr16_atatuservar on t16_trigger_atatuservar for insert +as +begin +select 'trigger tr16_atatuservar' + +declare @@sql nvarchar(50)=N'SELECT @@v1, @#v2', @@params nvarchar(50)=N'@@v1 int, @#v2 varchar(20)', @@v3 int=123, @#v4 varchar(20)='Hello, World!' +exec sp_executesql @@sql, @@params, @#v2=@#v4, @@v1=@@v3 +declare @@SQLString1 NVARCHAR(100) +declare @#SQLString2 NVARCHAR(max) +declare @@ParamDef NVARCHAR(100) +SET @@SQLString1 = N'SET @#a = @@b + @@b' +SET @#SQLString2 = N'EXEC sp_executesql N''SET @#a = @@b + @@b'', N''@#a INT OUT, @@b INT'', @#a OUT, @@b' +SET @@ParamDef = N'@#a INT OUTPUT, @@b INT' +declare @@p INT +declare @#a INT +EXEC sp_executesql @@SQLString1, @@ParamDef, @#a = @@p OUT, @@b = 10 +EXEC sp_executesql @#SQLString2, @@ParamDef, @#a = @#a OUT, @@b = 11 +SELECT @@p, @#a +end +go +insert t16_trigger_atatuservar values (123) +go + +declare @@v63_7890123456789$123456789$123456789012345678901234567890123 NVARCHAR(1000); +declare @#w63_7890123456789$123456789$123456789012345678901234567890123 NVARCHAR(max); +declare @@x63_7890123456789$123456789$123456789012345678901234567890123 NVARCHAR(1000); +SET @@v63_7890123456789$123456789$123456789012345678901234567890123 = N'SET @@z63_7890123456789$123456789$123456789012345678901234567890123 = @@p63_7890123456789$123456789$123456789012345678901234567890123 + @@p63_7890123456789$123456789$123456789012345678901234567890123'; +SET @#w63_7890123456789$123456789$123456789012345678901234567890123 = N'EXEC sp_executesql N''SET @@z63_7890123456789$123456789$123456789012345678901234567890123 = @@p63_7890123456789$123456789$123456789012345678901234567890123 + @@p63_7890123456789$123456789$123456789012345678901234567890123'', N''@@z63_7890123456789$123456789$123456789012345678901234567890123 INT OUT, @@p63_7890123456789$123456789$123456789012345678901234567890123 INT'', @@z63_7890123456789$123456789$123456789012345678901234567890123 OUTPUT, @@p63_7890123456789$123456789$123456789012345678901234567890123;'; +SET @@x63_7890123456789$123456789$123456789012345678901234567890123 = N'@@z63_7890123456789$123456789$123456789012345678901234567890123 INT OUTPUT, @@p63_7890123456789$123456789$123456789012345678901234567890123 INT'; +declare @#y63_7890123456789$123456789$123456789012345678901234567890123 INT; +declare @@z63_7890123456789$123456789$123456789012345678901234567890123 INT; +EXEC sp_executesql @@v63_7890123456789$123456789$123456789012345678901234567890123, @@x63_7890123456789$123456789$123456789012345678901234567890123, @@z63_7890123456789$123456789$123456789012345678901234567890123 = @#y63_7890123456789$123456789$123456789012345678901234567890123 OUT, @@p63_7890123456789$123456789$123456789012345678901234567890123 = 10; +EXEC sp_executesql @#w63_7890123456789$123456789$123456789012345678901234567890123, @@x63_7890123456789$123456789$123456789012345678901234567890123, @@z63_7890123456789$123456789$123456789012345678901234567890123 = @@z63_7890123456789$123456789$123456789012345678901234567890123 OUT, @@p63_7890123456789$123456789$123456789012345678901234567890123 = 11; +SELECT @#y63_7890123456789$123456789$123456789012345678901234567890123, @@z63_7890123456789$123456789$123456789012345678901234567890123; +go + +create procedure p2_spexec_atatuservar +as +declare @@v63_7890123456789$123456789$123456789012345678901234567890123 NVARCHAR(1000); +declare @#w63_7890123456789$123456789$123456789012345678901234567890123 NVARCHAR(max); +declare @@x63_7890123456789$123456789$123456789012345678901234567890123 NVARCHAR(1000); +SET @@v63_7890123456789$123456789$123456789012345678901234567890123 = N'SET @@z63_7890123456789$123456789$123456789012345678901234567890123 = @@p63_7890123456789$123456789$123456789012345678901234567890123 + @@p63_7890123456789$123456789$123456789012345678901234567890123'; +SET @#w63_7890123456789$123456789$123456789012345678901234567890123 = N'EXEC sp_executesql N''SET @@z63_7890123456789$123456789$123456789012345678901234567890123 = @@p63_7890123456789$123456789$123456789012345678901234567890123 + @@p63_7890123456789$123456789$123456789012345678901234567890123'', N''@@z63_7890123456789$123456789$123456789012345678901234567890123 INT OUT, @@p63_7890123456789$123456789$123456789012345678901234567890123 INT'', @@z63_7890123456789$123456789$123456789012345678901234567890123 OUTPUT, @@p63_7890123456789$123456789$123456789012345678901234567890123;'; +SET @@x63_7890123456789$123456789$123456789012345678901234567890123 = N'@@z63_7890123456789$123456789$123456789012345678901234567890123 INT OUTPUT, @@p63_7890123456789$123456789$123456789012345678901234567890123 INT'; +declare @#y63_7890123456789$123456789$123456789012345678901234567890123 INT; +declare @@z63_7890123456789$123456789$123456789012345678901234567890123 INT; +EXEC sp_executesql @@v63_7890123456789$123456789$123456789012345678901234567890123, @@x63_7890123456789$123456789$123456789012345678901234567890123, @@z63_7890123456789$123456789$123456789012345678901234567890123 = @#y63_7890123456789$123456789$123456789012345678901234567890123 OUT, @@p63_7890123456789$123456789$123456789012345678901234567890123 = 10; +EXEC sp_executesql @#w63_7890123456789$123456789$123456789012345678901234567890123, @@x63_7890123456789$123456789$123456789012345678901234567890123, @@z63_7890123456789$123456789$123456789012345678901234567890123 = @@z63_7890123456789$123456789$123456789012345678901234567890123 OUT, @@p63_7890123456789$123456789$123456789012345678901234567890123 = 11; +SELECT @#y63_7890123456789$123456789$123456789012345678901234567890123, @@z63_7890123456789$123456789$123456789012345678901234567890123; +go +exec p2_spexec_atatuservar +go + + +create trigger tr17_atatuservar on t17_trigger_atatuservar for insert +as +begin +select 'trigger tr17_atatuservar' + +declare @@v63_7890123456789$123456789$123456789012345678901234567890123 NVARCHAR(1000); +declare @#w63_7890123456789$123456789$123456789012345678901234567890123 NVARCHAR(max); +declare @@x63_7890123456789$123456789$123456789012345678901234567890123 NVARCHAR(1000); +SET @@v63_7890123456789$123456789$123456789012345678901234567890123 = N'SET @@z63_7890123456789$123456789$123456789012345678901234567890123 = @@p63_7890123456789$123456789$123456789012345678901234567890123 + @@p63_7890123456789$123456789$123456789012345678901234567890123'; +SET @#w63_7890123456789$123456789$123456789012345678901234567890123 = N'EXEC sp_executesql N''SET @@z63_7890123456789$123456789$123456789012345678901234567890123 = @@p63_7890123456789$123456789$123456789012345678901234567890123 + @@p63_7890123456789$123456789$123456789012345678901234567890123'', N''@@z63_7890123456789$123456789$123456789012345678901234567890123 INT OUT, @@p63_7890123456789$123456789$123456789012345678901234567890123 INT'', @@z63_7890123456789$123456789$123456789012345678901234567890123 OUTPUT, @@p63_7890123456789$123456789$123456789012345678901234567890123;'; +SET @@x63_7890123456789$123456789$123456789012345678901234567890123 = N'@@z63_7890123456789$123456789$123456789012345678901234567890123 INT OUTPUT, @@p63_7890123456789$123456789$123456789012345678901234567890123 INT'; +declare @#y63_7890123456789$123456789$123456789012345678901234567890123 INT; +declare @@z63_7890123456789$123456789$123456789012345678901234567890123 INT; +EXEC sp_executesql @@v63_7890123456789$123456789$123456789012345678901234567890123, @@x63_7890123456789$123456789$123456789012345678901234567890123, @@z63_7890123456789$123456789$123456789012345678901234567890123 = @#y63_7890123456789$123456789$123456789012345678901234567890123 OUT, @@p63_7890123456789$123456789$123456789012345678901234567890123 = 10; +EXEC sp_executesql @#w63_7890123456789$123456789$123456789012345678901234567890123, @@x63_7890123456789$123456789$123456789012345678901234567890123, @@z63_7890123456789$123456789$123456789012345678901234567890123 = @@z63_7890123456789$123456789$123456789012345678901234567890123 OUT, @@p63_7890123456789$123456789$123456789012345678901234567890123 = 11; +SELECT @#y63_7890123456789$123456789$123456789012345678901234567890123, @@z63_7890123456789$123456789$123456789012345678901234567890123; +end +go +insert t17_trigger_atatuservar values (123) +go + +-- table variables in different types of functions +create function f1_ins_atatuservar(@@p1 int) +returns int +as +begin + declare @@tv table(a int) + insert @@tv values(@@p1) + return (select sum(a) from @@tv) +end +go +select dbo. f1_ins_atatuservar(123) +go + +create function f1_upd_atatuservar(@@p1 int) +returns int +as +begin + declare @@tv table(a int) + insert @@tv values(@@p1) + update @@tv set a = a + 1 + return (select sum(a) from @@tv) +end +go +select dbo. f1_upd_atatuservar(123) +go + +create function f1_del_atatuservar(@@p1 int) +returns int +as +begin + declare @@tv table(a int) + insert @@tv values(@@p1) + update @@tv set a = a + 1 + insert @@tv values(@@p1) + update @@tv set a = a + 1 + delete @@tv where a = 124 + return (select sum(a) from @@tv) +end +go +select dbo. f1_del_atatuservar(123) +go + +-- INSERT/UPDATE/DELETE on table variable in function +create function f3_atatuservar_upd(@@p1 int) +returns @@tv table(a int) +as +begin + insert @@tv values(@@p1) + update t set a = t.a + 1 from @@tv as t + return +end +go +select * from dbo. f3_atatuservar_upd(123) order by 1 +go + +create function f3_atatuservar_del(@@p1 int) +returns @@tv table(a int) +as +begin + insert @@tv values(@@p1) + update @@tv set a = a + 1 + insert @@tv values(@@p1) + delete t from @@tv as t where a = 124 + return +end +go +select * from dbo. f3_atatuservar_del(123) order by 1 +go + +create function f3_upd_atatuservar(@@p1 int) +returns @@tv table(a int) +as +begin + insert @@tv values(@@p1) + update t set a = t.a + 1 from t2_atatuservar, @@tv as t where t2_atatuservar.a = t.a + return +end +go +select * from dbo. f3_upd_atatuservar(123) order by 1 +go + +create function f3_del_atatuservar(@@p1 int) +returns @@tv table(a int) +as +begin + insert @@tv values(@@p1) + update @@tv set a = a + 1 + insert @@tv values(@@p1) + delete t from t2_atatuservar join @@tv as t on t2_atatuservar.a = t.a + return +end +go +select * from dbo. f3_del_atatuservar(123) order by 1 +go + +create function f4_ins_atatuservar(@#p1 int) +returns int +as +begin + declare @#tv table(a int) + insert @#tv values(@#p1) + return (select sum(a) from @#tv) +end +go +select dbo. f4_ins_atatuservar(123) +go + +create function f4_upd_atatuservar(@#p1 int) +returns int +as +begin + declare @#tv table(a int) + insert @#tv values(@#p1) + update @#tv set a = a + 1 + return (select sum(a) from @#tv) +end +go +select dbo. f4_upd_atatuservar(123) +go + +create function f4_del_atatuservar(@#p1 int) +returns int +as +begin + declare @#tv table(a int) + insert @#tv values(@#p1) + update @#tv set a = a + 1 + insert @#tv values(@#p1) + update @#tv set a = a + 1 + delete @#tv where a = 124 + return (select sum(a) from @#tv) +end +go +select dbo. f4_del_atatuservar(123) +go + +create function f5_upd_atatuservar(@#p1 int) +returns @#tv table(a int) +as +begin + insert @#tv values(@#p1) + update t set a = t.a + 1 from @#tv as t + return +end +go +select * from dbo. f5_upd_atatuservar(123) order by 1 +go + +create function f5_del_atatuservar(@#p1 int) +returns @#tv table(a int) +as +begin + insert @#tv values(@#p1) + update @#tv set a = a + 1 + insert @#tv values(@#p1) + delete t from @#tv as t where a = 124 + return +end +go +select * from dbo. f5_del_atatuservar(123) order by 1 +go + +create function f6_upd_atatuservar(@#p1 int) +returns @#tv table(a int) +as +begin + insert @#tv values(@#p1) + update t set a = t.a + 1 from t2_atatuservar, @#tv as t where t2_atatuservar.a = t.a + return +end +go +select * from dbo. f6_upd_atatuservar(123) order by 1 +go + +create function f6_del_atatuservar(@#p1 int) +returns @#tv table(a int) +as +begin + insert @#tv values(@#p1) + update @#tv set a = a + 1 + insert @#tv values(@#p1) + delete t from t2_atatuservar, @#tv as t where t2_atatuservar.a = t.a + return +end +go +select * from dbo. f6_del_atatuservar(123) order by 1 +go + +create function f7_tabvar_udf_upd_atatuservar(@@p1 int) +returns @#tv table(a int) +as +begin + insert @#tv values(@@p1) + update t set a = t.a + 1 from t2_atatuservar, @#tv as t where t2_atatuservar.a = t.a + return +end +go +select * from dbo. f7_tabvar_udf_upd_atatuservar(123) order by 1 +go + +create function f7a_tabvar_udf_upd_atatuservar(@@p1 int) +returns @#tv table(a int) +as +begin + insert @#tv values(@@p1) + update t set a = t.a + 1 from @#tv as tv, t2_atatuservar as t where tv.a = t.a + return +end +go + +create function f8_tabvar_udf_del_atatuservar(@@p1 int) +returns @#tv table(a int) +as +begin + insert @#tv values(@@p1) + update @#tv set a = a + 1 + insert @#tv values(@@p1) + delete t from @#tv as tv, t2_atatuservar as t where tv.a = t.a + return +end +go + +create function f9_tabvar_udf_del_atatuservar(@p1 int) +returns @tv table(a int) +as +begin + insert @tv values(@p1) + update @tv set a = a + 1 + insert @tv values(@p1) + delete t from @tv as t inner join t2_atatuservar as tv on tv.a = t.a + return +end +go +select * from dbo.f9_tabvar_udf_del_atatuservar(123) +go + +create function f10_tabvar_udf_del_atatuservar(@#p1 int) +returns @@tv table(a int) +as +begin + insert @@tv values(@#p1) + update @@tv set a = a + 1 + insert @@tv values(@#p1) + delete t from t2_atatuservar as tv join @@tv as t on tv.a = t.a + return +end +go +select * from dbo.f10_tabvar_udf_del_atatuservar(123) +go + +create function f4_atatuservar_tabvar_in_function_upd(@#p1 int) +returns @@tv table(a int) +as +begin + insert @@tv values(@#p1) + update t set a = t.a + 1 from t2_atatuservar as t2_atatuservar left join t2_atatuservar as tv on tv.a = t2_atatuservar.a right join @@tv t on tv.a = t.a + return +end +go +select * from dbo.f4_atatuservar_tabvar_in_function_upd(123) +go + +create function f12_tabvar_udf_upd_atatuservar(@#p1 int) +returns @@tv table(a int) +as +begin + insert @@tv values(@#p1) + update t set a = t.a + 1 from @@tv as tv cross join t2_atatuservar as t + return +end +go + +create function f13_tabvar_udf_del_atatuservar(@#p1 int) +returns @@tv table(a int) +as +begin + insert @@tv values(@#p1) + update @@tv set a = a + 1 + insert @@tv values(@#p1) + delete t from @@tv as t2_atatuservar right join t2_atatuservar as tv on tv.a = t2_atatuservar.a full outer join t2_atatuservar t on tv.a = t.a + return +end +go + +create function f14_del_atatuservar(@@p128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int) +returns int +as +begin + declare @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 table(a int) + insert @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 values(@@p128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678) + update @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 set a = a + 1 + insert @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 values(@@p128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678) + update @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 set a = a + 1 + delete @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 where a = 124 + return (select sum(a) from @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678) +end +go +select dbo. f14_del_atatuservar(123) +go + +-- INSERT/UPDATE/DELETE on table variable in function +create function f15_upd_atatuservar(@@p128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int) +returns @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 table(a int) +as +begin + insert @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 values(@@p128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678) + update t set a = t.a + 1 from @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 as t + return +end +go +select * from dbo. f15_upd_atatuservar(123) order by 1 +go + +create function f16_tabvar_udf_del_atatuservar(@#q128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int) +returns @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 table(a int) +as +begin + insert @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 values(@#q128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678) + update @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 set a = a + 1 + insert @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 values(@#q128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678) + delete t from @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 as t2_atatuservar right join t2_atatuservar as tv on tv.a = t2_atatuservar.a full outer join t2_atatuservar t on tv.a = t.a + return +end +go + +-- THROW +declare @@v int = 50001; +THROW @@v, 'Test message', 1; +go + +declare @@v int = 50001, @@v2 varchar(30) = 'Test message'; +THROW @@v, @@v2, 1 +go + +declare @@v int = 50001, @@v2 varchar(30) = 'Test message', @@v3 int=1; +THROW @@v, @@v2, @@v3 +go + +declare @#v int = 50001; +THROW @#v, 'Test message', 1; +go + +declare @#v int = 50001, @#v2 varchar(30) = 'Test message'; +THROW @#v, @#v2, 1 +go + +declare @#v int = 50001, @#v2 varchar(30) = 'Test message', @#v3 int=1; +THROW @#v, @#v2, @#v3 +go + +create procedure p20_atatuservar @@p int +as +if @@p > 0 +begin +declare @@v int = 50001, @@v2 varchar(30) = 'Test message 1', @@v3 int=1; +THROW @@v, @@v2, @@v3 +end + +declare @#v int = 50001, @#v2 varchar(30) = 'Test message 2', @#v3 int=1; +THROW @#v, @#v2, @#v3 +go +exec p20_atatuservar 1 +go +exec p20_atatuservar 0 +go + +create trigger tr18_atatuservar on t18_trigger_atatuservar for insert +as +begin +select 'trigger tr18_atatuservar' + +declare @#v int = 50001, @#v2 varchar(30) = 'Test message 2', @#v3 int=1; +THROW @#v, @#v2, @#v3 +end +go +insert t18_trigger_atatuservar values (123) +go + +declare @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int = 50001, @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$123456789012345678901234567890123456782 varchar(30) = 'Test message', @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$123456789012345678901234567890123456783 int=1; +THROW @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678, @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$123456789012345678901234567890123456782, @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$123456789012345678901234567890123456783 +go + +create procedure p21_atatuservar +as +declare @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int = 50001, @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$123456789012345678901234567890123456782 varchar(30) = 'Test message', @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$123456789012345678901234567890123456783 int=1; +THROW @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678, @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$123456789012345678901234567890123456782, @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$123456789012345678901234567890123456783 +go +exec p21_atatuservar +go + +create trigger tr19_atatuservar on t19_trigger_atatuservar for insert +as +begin +select 'trigger tr19_atatuservar' + +declare @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int = 50001, @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$123456789012345678901234567890123456782 varchar(30) = 'Test message', @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$123456789012345678901234567890123456783 int=1; +THROW @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678, @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$123456789012345678901234567890123456782, @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$123456789012345678901234567890123456783 +end +go +insert t19_trigger_atatuservar values (123) +go + +-- DBCC CHECKIDENT +declare @@TableName varchar(100)='mytab' +DBCC CHECKIDENT (@@TableName) +go +declare @@v int=2 +DBCC CHECKIDENT ('mytab', RESEED, @@v) +go + +create procedure p1_checkident_atatuservar @@TableName varchar(100), @@v int +as +DBCC CHECKIDENT (@@TableName, RESEED, @@v) +go + +create trigger tr20_atatuservar on t20_trigger_atatuservar for insert +as +begin +select 'trigger tr20_atatuservar' +declare @@TableName varchar(100)='mytab', @@v int=2 +DBCC CHECKIDENT (@@TableName, RESEED, @@v) +end +go + +declare @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int=2 +DBCC CHECKIDENT ('mytab', RESEED, @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678) +go + +create procedure p2_checkident_atatuservar @@t128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 varchar(100), @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int +as +DBCC CHECKIDENT (@@t128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678, RESEED, @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678) +go + +create trigger tr21_atatuservar on t21_trigger_atatuservar for insert +as +begin +select 'trigger tr21_atatuservar' +declare @@t128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 varchar(100)='mytab', @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 int=2 +DBCC CHECKIDENT (@@t128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678, RESEED, @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678) +end +go + +-- transaction name +declare @@V varchar(50) = 'myxact' +begin transaction @@v +insert t3_atatuservar values(234) +declare @#V varchar(50) = 'mysavept' +save transaction @#v +insert t3_atatuservar values(345) +set @#V = 'mysavept' +rollback transaction @#v +insert t3_atatuservar values(567) +commit transaction @@v +go +select * from t3_atatuservar +go + +create procedure p1_xactname_atatuservar +as +declare @@V varchar(50) = 'myxact' +delete t3_atatuservar where a > 123 +begin transaction @@v +insert t3_atatuservar values(234) +declare @#V varchar(50) = 'mysavept' +save transaction @#v +insert t3_atatuservar values(345) +set @#V = 'mysavept' +rollback transaction @#v +insert t3_atatuservar values(567) +commit transaction @@v +select * from t3_atatuservar +go +exec p1_xactname_atatuservar +go + +delete t3_atatuservar where a > 123 +declare @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 varchar(50) = 'myxact' +begin transaction @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +insert t3_atatuservar values(234) +declare @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 varchar(50) = 'mysavept' +save transaction @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +insert t3_atatuservar values(345) +set @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 = 'mysavept' +rollback transaction @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +insert t3_atatuservar values(567) +commit transaction @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +go +select * from t3_atatuservar +go + +create procedure p2_xactname_atatuservar +as +declare @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 varchar(50) = 'myxact' +delete t3_atatuservar where a > 123 +begin transaction @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +insert t3_atatuservar values(234) +declare @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 varchar(50) = 'mysavept' +save transaction @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +insert t3_atatuservar values(345) +set @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 = 'mysavept' +rollback transaction @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +insert t3_atatuservar values(567) +commit transaction @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +select * from t3_atatuservar +go +exec p2_xactname_atatuservar +go + +-- cursor variable in T-SQL batch, stored procedure, trigger +declare @#v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 varchar(20) +declare @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 cursor +set @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 = cursor for select a from t_checkident_atatuservar order by n +open @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +while 1=1 +begin + fetch from @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 into @#v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 + if @@fetch_status <> 0 break + select @#v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +end +close @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +deallocate @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +go + +create procedure p1_cursor_atatuservar +as +begin + declare @#v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 varchar(20) + declare @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 cursor + set @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 = cursor for select a from t_checkident_atatuservar order by n + open @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 + while 1=1 + begin + fetch from @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 into @#v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 + if @@fetch_status <> 0 break + select @#v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 + end + close @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 + deallocate @@v128_890123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +end +go +exec p1_cursor_atatuservar +go + +create trigger tr22_atatuservar on t22_trigger_atatuservar for insert +as +begin + select 'trigger tr22_atatuservar' + + declare @@v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 varchar(20) + declare @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 cursor + set @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 = cursor for select a from t_checkident_atatuservar order by n + open @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 + while 1=1 + begin + fetch from @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 into @@v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 + if @@fetch_status <> 0 break + select @@v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 + end + close @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 + deallocate @#v128_90123456789$123456789$1234567890123456789$123456789$1234567890123456789$123456789$12345678901234567890123456789012345678 +end +go +insert t22_trigger_atatuservar values (123) +go +set quoted_identifier on +go + +-- user-defined variables that were previously mapped to internal sys. functions, e.g. sys.rand() +declare @@xact_state int=123 select @@xact_state, xact_state() +go +declare @@error_line int=123 select @@error_line, error_line() +go +declare @@error_message int=123 select @@error_message, error_message() +go +declare @@error_number int=123 select @@error_number, error_number() +go +declare @@error_procedure int=123 select @@error_procedure, error_procedure() +go +declare @@error_severity int=123 select @@error_severity, error_severity() +go +declare @@error_state int=123 select @@error_state, error_state() +go +declare @@db_id int=123 select @@db_id, db_id('master') +go +declare @@db_name int=123 select @@db_name, db_name() +go +declare @@exp int=123 select @@exp, exp(1) +go +declare @@sign int=123 select @@sign, sign(1) +go +declare @@lock_timeout int=123 select @@lock_timeout, lock_timeout() +go +declare @@rand int=123 select @@rand, case when rand() <= 0 then 'too small, <= 0' when rand() >= 1 then ' too large, >= 1' else 'correct, >0 && <1' end +go +declare @@trigger_nestlevel int=123 select @@trigger_nestlevel, trigger_nestlevel() +go +declare @@atn2 int=123 select @@atn2, atn2(1,0) +go +declare @@datepart int=123 select @@datepart, datepart(yy, '2024-11-12') +go +declare @@datediff int=123 select @@datediff, datediff(dd, '2024-11-12', '2024-12-13') +go +declare @@datediff_big int=123 select @@datediff_big, datediff(dd, '2024-11-12', '2024-12-13') +go +declare @@dateadd int=123 select @@dateadd, datediff(dd, 3, '2024-11-12') +go +declare @@datename int=123 select @@datename, datename(dw, '2024-11-12') +go + +create proc p1_sysfunctions_atatuservar +as +begin +declare @@xact_state int=123 select @@xact_state, xact_state() +declare @@error_line int=123 select @@error_line, error_line() +declare @@error_message int=123 select @@error_message, error_message() +declare @@error_number int=123 select @@error_number, error_number() +declare @@error_procedure int=123 select @@error_procedure, error_procedure() +declare @@error_state int=123 select @@error_state, error_state() +declare @@db_id int=123 select @@db_id, db_id('master') +declare @@db_name int=123 select @@db_name, db_name() +declare @@exp int=123 select @@exp, exp(1) +declare @@sign int=123 select @@sign, sign(1) +declare @@lock_timeout int=123 select @@lock_timeout, lock_timeout() +declare @@rand int=123 select @@rand, case when rand() <= 0 then 'too small, <= 0' when rand() >= 1 then ' too large, >= 1' else 'correct, >0 && <1' end +declare @@trigger_nestlevel int=123 select @@trigger_nestlevel, trigger_nestlevel() +declare @@atn2 int=123 select @@atn2, atn2(1,0) +declare @@datepart int=123 select @@datepart, datepart(yy, '2024-11-12') +declare @@datediff int=123 select @@datediff, datediff(dd, '2024-11-12', '2024-12-13') +declare @@datediff_big int=123 select @@datediff_big, datediff(dd, '2024-11-12', '2024-12-13') +declare @@dateadd int=123 select @@dateadd, datediff(dd, 3, '2024-11-12') +declare @@datename int=123 select @@datename, datename(dw, '2024-11-12') +end +go +exec p1_sysfunctions_atatuservar +go + +create function f1_sysfunctions_atatuservar() returns int +as +begin +declare @@xact_state int=123 +declare @@error_line int=123 +declare @@error_message int=123 +declare @@error_number int=123 +declare @@error_procedure int=123 +declare @@error_state int=123 +declare @@db_id int=123 +declare @@db_name int=123 +declare @@exp int=123 +declare @@sign int=123 +declare @@lock_timeout int=123 +declare @@rand int=123 +declare @@trigger_nestlevel int=123 +declare @@atn2 int=123 +declare @@datepart int=123 +declare @@datediff int=123 +declare @@datediff_big int=123 +declare @@dateadd int=123 +declare @@datename int=123 +return @@xact_state + @@error_line + @@error_message + @@error_number + @@error_procedure + @@error_state + @@db_id + @@db_name + @@exp + @@sign + @@lock_timeout + @@rand + @@trigger_nestlevel + @@atn2 + @@datepart + @@datediff + @@datediff_big + @@dateadd + @@datename +end +go +select dbo.f1_sysfunctions_atatuservar() +go + +create trigger tr1_sysfunctions_atatuservar on t23_trigger_atatuservar for insert as +begin +declare @@xact_state int=123 select @@xact_state, xact_state() +declare @@error_line int=123 select @@error_line, error_line() +declare @@error_message int=123 select @@error_message, error_message() +declare @@error_number int=123 select @@error_number, error_number() +declare @@error_procedure int=123 select @@error_procedure, error_procedure() +declare @@error_state int=123 select @@error_state, error_state() +declare @@db_id int=123 select @@db_id, db_id('master') +declare @@db_name int=123 select @@db_name, db_name() +declare @@exp int=123 select @@exp, exp(1) +declare @@sign int=123 select @@sign, sign(1) +declare @@lock_timeout int=123 select @@lock_timeout, lock_timeout() +declare @@rand int=123 select @@rand, case when rand() <= 0 then 'too small, <= 0' when rand() >= 1 then ' too large, >= 1' else 'correct, >0 && <1' end +declare @@trigger_nestlevel int=123 select @@trigger_nestlevel, trigger_nestlevel() +declare @@atn2 int=123 select @@atn2, atn2(1,0) +declare @@datepart int=123 select @@datepart, datepart(yy, '2024-11-12') +declare @@datediff int=123 select @@datediff, datediff(dd, '2024-11-12', '2024-12-13') +declare @@datediff_big int=123 select @@datediff_big, datediff(dd, '2024-11-12', '2024-12-13') +declare @@dateadd int=123 select @@dateadd, datediff(dd, 3, '2024-11-12') +declare @@datename int=123 select @@datename, datename(dw, '2024-11-12') +end +go +insert t23_trigger_atatuservar values(1) +go diff --git a/test/JDBC/input/unquoted_string-vu-prepare.mix b/test/JDBC/input/unquoted_string-vu-prepare.mix index 62d7b5a6f8..3fe27c23b7 100644 --- a/test/JDBC/input/unquoted_string-vu-prepare.mix +++ b/test/JDBC/input/unquoted_string-vu-prepare.mix @@ -109,11 +109,6 @@ create procedure unqStr_proc_5 @p1 varchar(20), @p2 varchar(20) = @p1 as select @p2 go --- should raise error: -create procedure unqStr_proc_6 @p1 varchar(20) = @@myvar -as select @p1 -go - create procedure unqStr_proc_7 @p1 varchar(20) = N'aB"c''D', @p2 varchar(20) = dEfg, @p3 varchar(20) = "x'Y""z" as select @p1, @p2, @p3 go diff --git a/test/JDBC/input/unquoted_string-vu-verify.mix b/test/JDBC/input/unquoted_string-vu-verify.mix index 1f436118c3..cf5b7a68af 100644 --- a/test/JDBC/input/unquoted_string-vu-verify.mix +++ b/test/JDBC/input/unquoted_string-vu-verify.mix @@ -311,7 +311,10 @@ go -- should raise an error about column not found: CALL unqStr_pgproc_1(aBc); go - +-- should raise an error since variable is not defined +create procedure unqStr_proc_6 @p1 varchar(20) = @@myvar +as select @p1 +go -- should print 'aBc': select unqStr_pgfunc_1('aBc'); go diff --git a/test/JDBC/upgrade/latest/schedule b/test/JDBC/upgrade/latest/schedule index 4db9a875fc..ac99e617a5 100644 --- a/test/JDBC/upgrade/latest/schedule +++ b/test/JDBC/upgrade/latest/schedule @@ -498,6 +498,7 @@ alter_proc_recompile catalogs_dbo_sys_schema-upgrade unary_plus_op_string tabvar_in_function +atatuservar BABEL-4217 Test_ISNULL BABEL-4270 diff --git a/test/python/expected/sql_validation_framework/expected_create.out b/test/python/expected/sql_validation_framework/expected_create.out index 6abda76486..3f8259a134 100644 --- a/test/python/expected/sql_validation_framework/expected_create.out +++ b/test/python/expected/sql_validation_framework/expected_create.out @@ -116,9 +116,6 @@ Could not find upgrade tests for function sys.dateadd_internal Could not find upgrade tests for function sys.datediff_internal Could not find upgrade tests for function sys.datepart_internal Could not find upgrade tests for function sys.default_domain -Could not find upgrade tests for function sys.error_procedure -Could not find upgrade tests for function sys.exp -Could not find upgrade tests for function sys.fetch_status Could not find upgrade tests for function sys.floor Could not find upgrade tests for function sys.fn_helpcollations Could not find upgrade tests for function sys.formatmessage @@ -140,10 +137,8 @@ Could not find upgrade tests for function sys.openjson_with Could not find upgrade tests for function sys.openquery_internal Could not find upgrade tests for function sys.options Could not find upgrade tests for function sys.patindex_ai_collations -Could not find upgrade tests for function sys.pgerror Could not find upgrade tests for function sys.remove_accents_internal_using_cache Could not find upgrade tests for function sys.role_id -Could not find upgrade tests for function sys.servername Could not find upgrade tests for function sys.sp_columns_managed_internal Could not find upgrade tests for function sys.sp_datatype_info_helper Could not find upgrade tests for function sys.sp_describe_first_result_set_internal From 79a89b8b037f514e7b29f4c8c5a776b761d7971f Mon Sep 17 00:00:00 2001 From: Jason Teng Date: Thu, 14 Nov 2024 11:36:23 -0500 Subject: [PATCH 03/14] [OSS-ONLY] Update antlr to 4.13.2 (#3067) Update the antlr version to 4.13.2. This dramatically improves ANTLR parsing performance for certain queries, reducing their execution times by up to 40%. Note that this will require developers to have Java 11+ installed in order to develop locally. Also update the github actions to make it so that previous versions of Babelfish will be compiled using the original antlr-4.9.3 version. This is purely a fix for testing. Task: BABEL-5371 Signed-off-by: Jason Teng --- .../compile-antlr/action.yml | 9 ++++++++- .../dump-restore-util/action.yml | 5 +++++ .../major-version-upgrade-util/action.yml | 5 +++++ .../minor-version-upgrade-util/action.yml | 15 +++++++++++++++ .../setup-base-version/action.yml | 5 +++++ .../setup-dump-restore-ca/action.yml | 8 +++++++- .../setup-new-version/action.yml | 16 +++++++++++----- .../setup-upgrade-version-ca/action.yml | 10 ++++++++-- .github/workflows/isolation-tests.yml | 4 ++-- .github/workflows/major-version-upgrade.yml | 13 +++++++++---- .github/workflows/minor-version-upgrade.yml | 8 ++++++++ .github/workflows/pg_dump-restore-test.yml | 1 + .../workflows/singledb-version-upgrade.yml | 1 + .github/workflows/tap-tests.yml | 13 +++++++++---- .github/workflows/upgrade-test.yml | 1 + INSTALLING.md.tmpl | 6 +++--- contrib/README.md | 12 ++++++------ contrib/babelfishpg_tsql/Makefile | 1 + contrib/babelfishpg_tsql/antlr/CMakeLists.txt | 6 +++--- .../antlr/cmake-dir/FindANTLR.cmake | 4 ++-- .../antlr/cmake-dir/README.md | 2 +- .../antlr/antlr-4.13.2-complete.jar | Bin 0 -> 2140045 bytes .../thirdparty/antlr/antlr-4.9.3-complete.jar | Bin 3508089 -> 0 bytes contrib/babelfishpg_tsql/src/tsqlIface.cpp | 8 +++++--- dev-tools.sh | 4 ++-- .../isolationtest/specParserVisitorImpl.py | 2 +- 26 files changed, 119 insertions(+), 40 deletions(-) create mode 100644 contrib/babelfishpg_tsql/antlr/thirdparty/antlr/antlr-4.13.2-complete.jar delete mode 100644 contrib/babelfishpg_tsql/antlr/thirdparty/antlr/antlr-4.9.3-complete.jar diff --git a/.github/composite-actions/compile-antlr/action.yml b/.github/composite-actions/compile-antlr/action.yml index 6938167584..5e46480f94 100644 --- a/.github/composite-actions/compile-antlr/action.yml +++ b/.github/composite-actions/compile-antlr/action.yml @@ -1,6 +1,10 @@ name: 'Compile ANTLR' inputs: + version: + description: 'version of ANTLR to install' + required: no + default: 4.13.2 install_dir: description: 'Engine install directory' required: no @@ -12,9 +16,12 @@ runs: - name: Compile ANTLR run: | - ANTLR_VERSION=4.9.3 + ANTLR_VERSION=${{inputs.version}} cd contrib/babelfishpg_tsql/antlr/thirdparty/antlr/ + if [ ! -f antlr-$ANTLR_VERSION-complete.jar ]; then + wget "http://www.antlr.org/download/antlr-$ANTLR_VERSION-complete.jar" + fi sudo cp "antlr-$ANTLR_VERSION-complete.jar" /usr/local/lib cd .. wget "http://www.antlr.org/download/antlr4-cpp-runtime-$ANTLR_VERSION-source.zip" diff --git a/.github/composite-actions/dump-restore-util/action.yml b/.github/composite-actions/dump-restore-util/action.yml index a2090c93a7..f2be167391 100644 --- a/.github/composite-actions/dump-restore-util/action.yml +++ b/.github/composite-actions/dump-restore-util/action.yml @@ -33,6 +33,10 @@ inputs: description: "Dump type full or combination of schema-only and data-only" required: false default: 'full' + antlr_version: + description: "ANTLR version to use (based on Extension Branch)" + required: false + default: 4.13.2 runs: using: "composite" @@ -45,6 +49,7 @@ runs: engine_branch: ${{ inputs.engine_branch }} extension_branch: ${{ inputs.extension_branch }} pg_new_dir: ${{ inputs.pg_new_dir }} + antlr_version: ${{ inputs.antlr_version }} - name: Build latest dump/restore utilities id: build-dump-utils diff --git a/.github/composite-actions/major-version-upgrade-util/action.yml b/.github/composite-actions/major-version-upgrade-util/action.yml index 5d969dcb5a..c7de884d34 100644 --- a/.github/composite-actions/major-version-upgrade-util/action.yml +++ b/.github/composite-actions/major-version-upgrade-util/action.yml @@ -22,6 +22,10 @@ inputs: description: "Server collation name" required: false default: "default" + antlr_version: + description: "ANTLR version to use (based on Extension Branch)" + required: false + default: 4.13.2 runs: using: "composite" @@ -34,6 +38,7 @@ runs: engine_branch: ${{ inputs.engine_branch }} extension_branch: ${{ inputs.extension_branch }} pg_new_dir: ${{ inputs.pg_new_dir }} + antlr_version: ${{ inputs.antlr_version }} - name: Run pg_upgrade id: run-pg_upgrade diff --git a/.github/composite-actions/minor-version-upgrade-util/action.yml b/.github/composite-actions/minor-version-upgrade-util/action.yml index 9987f20f65..4a4cd3241f 100644 --- a/.github/composite-actions/minor-version-upgrade-util/action.yml +++ b/.github/composite-actions/minor-version-upgrade-util/action.yml @@ -16,18 +16,33 @@ inputs: description: "Server collation name" required: false default: "default" + antlr_version: + description: "ANTLR version to use (based on Extension Branch)" + required: false + default: 4.13.2 runs: using: "composite" steps: - name: Build and run tests for Postgres engine using ${{ inputs.engine_branch }} + id: build-modified-postgres-new + if: always() uses: ./.github/composite-actions/build-modified-postgres with: engine_branch: ${{ inputs.engine_branch }} install_dir: ${{ inputs.install_dir }} + - name: Compile new ANTLR + id: compile-new-antlr + if: always() && steps.build-modified-postgres-new.outcome == 'success' + uses: ./.github/composite-actions/compile-antlr + with: + version: ${{ inputs.antlr_version }} + install_dir: ${{inputs.install_dir}} + - name: Set env variables and build extensions using ${{ inputs.extension_branch }} id: build-extensions-newer + if: always() && steps.compile-new-antlr.outcome == 'success' uses: ./.github/composite-actions/build-extensions with: install_dir: ${{ inputs.install_dir }} diff --git a/.github/composite-actions/setup-base-version/action.yml b/.github/composite-actions/setup-base-version/action.yml index 0aa7fe5d04..87f0a90446 100644 --- a/.github/composite-actions/setup-base-version/action.yml +++ b/.github/composite-actions/setup-base-version/action.yml @@ -20,6 +20,10 @@ inputs: description: "Whether it is version upgrade or dump/restore" required: false default: 'false' + antlr_version: + description: "ANTLR version to use (based on Extension Branch)" + required: false + default: 4.13.2 runs: using: "composite" @@ -42,6 +46,7 @@ runs: if: always() && steps.build-modified-postgres.outcome == 'success' uses: ./.github/composite-actions/compile-antlr with: + version: ${{ inputs.antlr_version }} install_dir: ${{ inputs.install_dir }} - name: Set env variables and build extensions diff --git a/.github/composite-actions/setup-dump-restore-ca/action.yml b/.github/composite-actions/setup-dump-restore-ca/action.yml index 1ed3e2dc88..770004d8e4 100644 --- a/.github/composite-actions/setup-dump-restore-ca/action.yml +++ b/.github/composite-actions/setup-dump-restore-ca/action.yml @@ -40,6 +40,12 @@ runs: is_final_ver=false; [[ i -eq $LEN-1 ]] && is_final_ver=true pg_old_dir=$(echo psql$(awk -F. '{print $1}' <<< $previous_installed_version)) pg_new_dir=$(echo psql$(awk -F. '{print $1}' <<< $dump_restore_version)) + if [[ "$dump_restore_version" == 'target.latest' || "$dump_restore_version" -ge 16.6 ]] + then + antlr_version=4.13.2 + else + antlr_version=4.9.3 + fi if [[ "$previous_installed_version" == "$dump_restore_version" ]]; then pg_new_dir=$(echo $pg_new_dir.$i) @@ -56,7 +62,7 @@ runs: type_var=".\"dump-restore-version\"[${{ matrix.upgrade-path.id }}][$i].\"type\"" type=$(yq $type_var ${{ github.workspace }}/.github/configuration/dump-restore-test-configuration.yml) - printf " - name: Dump and Restore to version $dump_restore_version\n id: dump-restore-version-$i\n if: always() $temp\n uses: ${uses_file}\n with: \n engine_branch: ${engine_branch}\n extension_branch: ${extension_branch}\n is_final_ver: ${is_final_ver}\n pg_old_dir: ${pg_old_dir}\n pg_new_dir: ${pg_new_dir}\n migration_mode: 'multi-db'\n database_level: ${database_level}\n dump_data_as: ${dump_data_as}\n dump_format: ${dump_format}\n type: ${type}\n\n" >> $dump_restore_version_dir_path/action.yml + printf " - name: Dump and Restore to version $dump_restore_version\n id: dump-restore-version-$i\n if: always() $temp\n uses: ${uses_file}\n with: \n engine_branch: ${engine_branch}\n extension_branch: ${extension_branch}\n is_final_ver: ${is_final_ver}\n pg_old_dir: ${pg_old_dir}\n pg_new_dir: ${pg_new_dir}\n migration_mode: 'multi-db'\n database_level: ${database_level}\n dump_data_as: ${dump_data_as}\n dump_format: ${dump_format}\n type: ${type}\n antlr_version: ${antlr_version}\n\n" >> $dump_restore_version_dir_path/action.yml previous_installed_version=$dump_restore_version done diff --git a/.github/composite-actions/setup-new-version/action.yml b/.github/composite-actions/setup-new-version/action.yml index 2b1378f4cc..2138d1cf41 100644 --- a/.github/composite-actions/setup-new-version/action.yml +++ b/.github/composite-actions/setup-new-version/action.yml @@ -9,6 +9,10 @@ inputs: pg_new_dir: description: "Install new version in this directory" required: true + antlr_version: + description: "ANTLR version to use (based on Extension Branch)" + required: false + default: 4.13.2 runs: using: "composite" @@ -21,15 +25,17 @@ runs: engine_branch: ${{ inputs.engine_branch }} install_dir: ${{ inputs.pg_new_dir }} - - name: Copy ANTLR - id: copy-antlr + - name: Compile new ANTLR + id: compile-new-antlr if: always() && steps.build-modified-postgres-new.outcome == 'success' - run: cp "/usr/local/lib/libantlr4-runtime.so.4.9.3" ~/${{ inputs.pg_new_dir }}/lib/ - shell: bash + uses: ./.github/composite-actions/compile-antlr + with: + version: ${{ inputs.antlr_version }} + install_dir: ${{inputs.pg_new_dir}} - name: Build Extensions id: build-extensions-new - if: always() && steps.copy-antlr.outcome == 'success' + if: always() && steps.compile-new-antlr.outcome == 'success' uses: ./.github/composite-actions/build-extensions with: install_dir: ${{ inputs.pg_new_dir }} diff --git a/.github/composite-actions/setup-upgrade-version-ca/action.yml b/.github/composite-actions/setup-upgrade-version-ca/action.yml index 9ebd3b7ba0..98598369f5 100644 --- a/.github/composite-actions/setup-upgrade-version-ca/action.yml +++ b/.github/composite-actions/setup-upgrade-version-ca/action.yml @@ -45,6 +45,12 @@ runs: is_final_ver=false; [[ i -eq $LEN-1 ]] && is_final_ver=true pg_old_dir=$(echo psql$(awk -F. '{print $1}' <<< $previous_installed_version)) pg_new_dir=$(echo psql$(awk -F. '{print $1}' <<< $upgrade_version)) + if [[ "$upgrade_version" == 'target.latest' || "$upgrade_version" -ge 16.6 ]] + then + antlr_version=4.13.2 + else + antlr_version=4.9.3 + fi upgrade_type_var=".\"upgrade-version\"[${{ matrix.upgrade-path.id }}]."upgrade-path"[$i].\"upgrade-type\"" upgrade_type=$(yq $upgrade_type_var ${{ github.workspace }}/.github/configuration/upgrade-test-configuration.yml) @@ -60,9 +66,9 @@ runs: # Appending upgrade step in upgrade-version composite action based on upgrade type if [[ $upgrade_type == 'major' ]] then - printf " - name: Upgrade Version to $upgrade_version\n id: upgrade-version-$i\n if: always() $temp\n uses: ${uses_file}\n with: \n engine_branch: ${engine_branch}\n extension_branch: ${extension_branch}\n is_final_ver: ${is_final_ver}\n pg_old_dir: ${pg_old_dir}\n pg_new_dir: ${pg_new_dir}\n migration_mode: 'multi-db'\n server_collation_name: ${{ inputs.server_collation_name }}\n\n" >> $upgrade_version_dir_path/action.yml + printf " - name: Upgrade Version to $upgrade_version\n id: upgrade-version-$i\n if: always() $temp\n uses: ${uses_file}\n with: \n engine_branch: ${engine_branch}\n extension_branch: ${extension_branch}\n is_final_ver: ${is_final_ver}\n pg_old_dir: ${pg_old_dir}\n pg_new_dir: ${pg_new_dir}\n migration_mode: 'multi-db'\n server_collation_name: ${{ inputs.server_collation_name }}\n antlr_version: ${antlr_version}\n\n" >> $upgrade_version_dir_path/action.yml else - printf " - name: Upgrade Version to $upgrade_version\n id: upgrade-version-$i\n if: always() $temp\n uses: ${uses_file}\n with: \n engine_branch: ${engine_branch}\n extension_branch: ${extension_branch}\n is_final_ver: ${is_final_ver}\n install_dir: ${pg_new_dir}\n server_collation_name: ${{ inputs.server_collation_name }}\n\n" >> $upgrade_version_dir_path/action.yml + printf " - name: Upgrade Version to $upgrade_version\n id: upgrade-version-$i\n if: always() $temp\n uses: ${uses_file}\n with: \n engine_branch: ${engine_branch}\n extension_branch: ${extension_branch}\n is_final_ver: ${is_final_ver}\n install_dir: ${pg_new_dir}\n server_collation_name: ${{ inputs.server_collation_name }}\n antlr_version: ${antlr_version}\n\n" >> $upgrade_version_dir_path/action.yml fi previous_installed_version=$upgrade_version diff --git a/.github/workflows/isolation-tests.yml b/.github/workflows/isolation-tests.yml index abbc98a984..af8c7d3916 100644 --- a/.github/workflows/isolation-tests.yml +++ b/.github/workflows/isolation-tests.yml @@ -53,12 +53,12 @@ jobs: curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list cd ~/work/babelfish_extensions/babelfish_extensions/test/python sudo ACCEPT_EULA=Y apt-get install -y msodbcsql17 python3-dev - pip3 install pyodbc pymssql pytest pytest-xdist antlr4-python3-runtime==4.9.3 + pip3 install pyodbc pymssql pytest pytest-xdist antlr4-python3-runtime==4.13.2 - name: Generate .spec file parser run: | cd ~/work/babelfish_extensions/babelfish_extensions/test/python/isolationtest/ - java -Xmx500M -cp /usr/local/lib/antlr-4.9.3-complete.jar org.antlr.v4.Tool -Dlanguage=Python3 ./parser/*.g4 -visitor -no-listener + java -Xmx500M -cp /usr/local/lib/antlr-4.13.2-complete.jar org.antlr.v4.Tool -Dlanguage=Python3 ./parser/*.g4 -visitor -no-listener - name: Run Isolation tests id: run-isolation-tests diff --git a/.github/workflows/major-version-upgrade.yml b/.github/workflows/major-version-upgrade.yml index 6ab90b1bd2..69dc58b3c0 100644 --- a/.github/workflows/major-version-upgrade.yml +++ b/.github/workflows/major-version-upgrade.yml @@ -38,6 +38,7 @@ jobs: if: always() && steps.build-modified-postgres-old.outcome == 'success' uses: ./.github/composite-actions/compile-antlr with: + version: 4.9.3 install_dir: ${{env.OLD_INSTALL_DIR}} - uses: actions/checkout@v2 @@ -136,13 +137,17 @@ jobs: with: install_dir: ${{env.NEW_INSTALL_DIR}} release_mode: 'yes' - - - name: Copy ANTLR - run: cp "/usr/local/lib/libantlr4-runtime.so.4.9.3" ~/${{env.NEW_INSTALL_DIR}}/lib/ + + - name: Compile new ANTLR + id: compile-new-antlr + if: always() && steps.build-modified-postgres-new.outcome == 'success' + uses: ./.github/composite-actions/compile-antlr + with: + install_dir: ${{env.NEW_INSTALL_DIR}} - name: Build Extensions using latest version id: build-extensions-new - if: always() && steps.build-modified-postgres-new.outcome == 'success' + if: always() && steps.compile-new-antlr.outcome == 'success' uses: ./.github/composite-actions/build-extensions with: install_dir: ${{env.NEW_INSTALL_DIR}} diff --git a/.github/workflows/minor-version-upgrade.yml b/.github/workflows/minor-version-upgrade.yml index 873354e4a6..e94fa56b08 100644 --- a/.github/workflows/minor-version-upgrade.yml +++ b/.github/workflows/minor-version-upgrade.yml @@ -29,6 +29,8 @@ jobs: id: compile-antlr if: always() && steps.build-modified-postgres-older.outcome == 'success' uses: ./.github/composite-actions/compile-antlr + with: + version: 4.9.3 - uses: actions/checkout@v2 with: @@ -115,9 +117,15 @@ jobs: id: build-modified-postgres-newer if: always() && steps.install-extensions-older.outcome == 'success' uses: ./.github/composite-actions/build-modified-postgres + + - name: Compile new ANTLR + id: compile-new-antlr + if: always() && steps.build-modified-postgres-newer.outcome == 'success' + uses: ./.github/composite-actions/compile-antlr - name: Set env variables and build extensions id: build-extensions-newer + if: always() && steps.compile-new-antlr.outcome == 'success' uses: ./.github/composite-actions/build-extensions - name: Build PostGIS Extension diff --git a/.github/workflows/pg_dump-restore-test.yml b/.github/workflows/pg_dump-restore-test.yml index 0807cf3dc0..3c59a9eb1e 100644 --- a/.github/workflows/pg_dump-restore-test.yml +++ b/.github/workflows/pg_dump-restore-test.yml @@ -74,6 +74,7 @@ jobs: install_dir: ${{ steps.find-branch.outputs.base-dir }} migration_mode: 'multi-db' dump_restore: 'true' + antlr_version: ${{ (steps.read-base-and-final-version.outputs.base-version == 'source.latest' || fromJSON(steps.read-base-and-final-version.outputs.base-version) >= 16.6 ) && '4.13.2' || '4.9.3' }} - name: Setup Dump Restore Composite Action id: setup-dump-restore-ca diff --git a/.github/workflows/singledb-version-upgrade.yml b/.github/workflows/singledb-version-upgrade.yml index a35d90dc18..67bbfd9f94 100644 --- a/.github/workflows/singledb-version-upgrade.yml +++ b/.github/workflows/singledb-version-upgrade.yml @@ -23,6 +23,7 @@ jobs: extension_branch: ${{ env.EXTENSION_BRANCH_FROM }} install_dir: ${{ env.OLD_INSTALL_DIR }} migration_mode: 'single-db' + antlr_version: 4.9.3 - name: Check Babelfish metadata inconsistency before Major Version Upgrade id: check-babelfish-inconsistency diff --git a/.github/workflows/tap-tests.yml b/.github/workflows/tap-tests.yml index 368122de58..e0bc7704dc 100644 --- a/.github/workflows/tap-tests.yml +++ b/.github/workflows/tap-tests.yml @@ -59,6 +59,7 @@ jobs: if: always() && steps.build-modified-postgres-old.outcome == 'success' uses: ./.github/composite-actions/compile-antlr with: + version: 4.9.3 install_dir: ${{env.OLD_INSTALL_DIR}} - name: Build PostGIS Extension using ${{env.EXTENSION_BRANCH_OLD}} @@ -116,13 +117,17 @@ jobs: with: tap_tests: 'yes' install_dir: ${{env.NEW_INSTALL_DIR}} - - - name: Copy ANTLR - run: cp "/usr/local/lib/libantlr4-runtime.so.4.9.3" ~/${{env.NEW_INSTALL_DIR}}/lib/ + + - name: Compile new ANTLR + id: compile-new-antlr + if: always() && steps.build-modified-postgres-new.outcome == 'success' + uses: ./.github/composite-actions/compile-antlr + with: + install_dir: ${{env.NEW_INSTALL_DIR}} - name: Build Extensions using latest version id: build-extensions-new - if: always() && steps.build-modified-postgres-new.outcome == 'success' + if: always() && steps.compile-new-antlr.outcome == 'success' uses: ./.github/composite-actions/build-extensions with: install_dir: ${{env.NEW_INSTALL_DIR}} diff --git a/.github/workflows/upgrade-test.yml b/.github/workflows/upgrade-test.yml index 29b24c9715..97732b3789 100644 --- a/.github/workflows/upgrade-test.yml +++ b/.github/workflows/upgrade-test.yml @@ -67,6 +67,7 @@ jobs: install_dir: ${{ steps.find-branch.outputs.base-dir }} migration_mode: 'multi-db' server_collation_name: ${{ matrix.upgrade-path.server_collation_name }} + antlr_version: ${{ (steps.read-base-and-final-version.outputs.base-version == 'source.latest' || fromJSON(steps.read-base-and-final-version.outputs.base-version) >= 16.6 ) && '4.13.2' || '4.9.3' }} - name: Setup Upgrade Version Composite Action id: setup-upgrade-ver-ca diff --git a/INSTALLING.md.tmpl b/INSTALLING.md.tmpl index fbd0bcb795..3d2311ed94 100644 --- a/INSTALLING.md.tmpl +++ b/INSTALLING.md.tmpl @@ -55,19 +55,19 @@ export PG_SRC=$(realpath $PWD) ### Compile ANTLR 4 -Unfortunately, there are [no prebuilt C++ binaries for the Antlr 4.9.3 runtime version](https://www.antlr.org/download.html) for Linux. You will need to compile and install ANTLR manually. +Unfortunately, there are [no prebuilt C++ binaries for the Antlr 4.13.2 runtime version](https://www.antlr.org/download.html) for Linux. You will need to compile and install ANTLR manually. First, define the following variables in your environment: ```sh -export ANTLR4_VERSION=4.9.3 +export ANTLR4_VERSION=4.13.2 export ANTLR4_JAVA_BIN=/usr/bin/java export ANTLR4_RUNTIME_LIBRARIES=/usr/include/antlr4-runtime export ANTLR_EXECUTABLE=/usr/local/lib/antlr-${ANTLR4_VERSION}-complete.jar export ANTLR_RUNTIME=~/antlr4 ``` -The [Antlr 4.9.3 Runtime](https://www.antlr.org/) files are distributed with the Babelfish source code. Use the following commands to copy the files into place: +The [Antlr 4.13.2 Runtime](https://www.antlr.org/) files are distributed with the Babelfish source code. Use the following commands to copy the files into place: ```sh sudo cp ${PG_SRC}/contrib/babelfishpg_tsql/antlr/thirdparty/antlr/antlr-${ANTLR4_VERSION}-complete.jar /usr/local/lib diff --git a/contrib/README.md b/contrib/README.md index c06c57a5ae..04b884c351 100644 --- a/contrib/README.md +++ b/contrib/README.md @@ -72,30 +72,30 @@ The following build instructions comply with Ubuntu 20.04 and Amazon Linux 2 env 2. Install ANTLR - The `babelfishpg_tsql` contrib has a plug-in parser generated by ANTLR, which depends on cmake and `antlr4-cpp-runtime-4.9.3`. Unfortunately, there aren't binaries for [C++ targets available](https://www.antlr.org/download.html). You'll also need have `uuid-devel` installed in order to install `antlr4-cpp-runtime-4.9.3`. + The `babelfishpg_tsql` contrib has a plug-in parser generated by ANTLR, which depends on cmake and `antlr4-cpp-runtime-4.13.2`. Unfortunately, there aren't binaries for [C++ targets available](https://www.antlr.org/download.html). You'll also need have `uuid-devel` installed in order to install `antlr4-cpp-runtime-4.13.2`. First copy the jar file in `contrib/babelfishpg_tsql/antlr/thirdparty/antlr/` to another location: ``` cd babelfish_extensions/contrib/babelfishpg_tsql/antlr/thirdparty/antlr/ - sudo cp antlr-4.9.3-complete.jar /usr/local/lib + sudo cp antlr-4.13.2-complete.jar /usr/local/lib ``` Compile antlr4: ``` - wget http://www.antlr.org/download/antlr4-cpp-runtime-4.9.3-source.zip - unzip -d antlr4 antlr4-cpp-runtime-4.9.3-source.zip + wget http://www.antlr.org/download/antlr4-cpp-runtime-4.13.2-source.zip + unzip -d antlr4 antlr4-cpp-runtime-4.13.2-source.zip cd antlr4 mkdir build && cd build - cmake .. -DANTLR_JAR_LOCATION=/usr/local/lib/antlr-4.9.3-complete.jar -DCMAKE_INSTALL_PREFIX=/usr/local -DWITH_DEMO=True + cmake .. -DANTLR_JAR_LOCATION=/usr/local/lib/antlr-4.13.2-complete.jar -DCMAKE_INSTALL_PREFIX=/usr/local -DWITH_DEMO=True make sudo make install ``` Copy libantlr4-runtime to postgres/lib ``` - cp /usr/local/lib/libantlr4-runtime.so.4.9.3 ~/postgres/lib/ + cp /usr/local/lib/libantlr4-runtime.so.4.13.2 ~/postgres/lib/ ``` - If you come across the error diff --git a/contrib/babelfishpg_tsql/Makefile b/contrib/babelfishpg_tsql/Makefile index c78039e504..74cdd1097c 100644 --- a/contrib/babelfishpg_tsql/Makefile +++ b/contrib/babelfishpg_tsql/Makefile @@ -90,6 +90,7 @@ PG_CXXFLAGS += -Wno-deprecated -Wno-error=attributes -Wno-suggest-attribute=form PG_CXXFLAGS += -Wno-undef -Wall -Wcpp PG_CXXFLAGS += -Wno-register # otherwise C++17 gags on PostgreSQL headers PG_CXXFLAGS += -I$(ANTLR4_RUNTIME_INCLUDE_DIR) +PG_CXXFLAGS += -std=c++17 PG_CFLAGS += -g -Werror -Wfloat-conversion PG_CFLAGS += -fstack-protector-strong PG_CPPFLAGS += -I$(TSQLSRC) -I$(PG_SRC) -DFAULT_INJECTOR -Wfloat-conversion diff --git a/contrib/babelfishpg_tsql/antlr/CMakeLists.txt b/contrib/babelfishpg_tsql/antlr/CMakeLists.txt index 4a6517d231..f6aae70699 100644 --- a/contrib/babelfishpg_tsql/antlr/CMakeLists.txt +++ b/contrib/babelfishpg_tsql/antlr/CMakeLists.txt @@ -3,8 +3,8 @@ CMAKE_MINIMUM_REQUIRED(VERSION 3.7 FATAL_ERROR) list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake-dir) -# compiler must be 11 or 14 -set(CMAKE_CXX_STANDARD 14) +# compiler must be 17+ to support ANTLR-4.13 +set(CMAKE_CXX_STANDARD 17) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC -O2 -ggdb -w -Wno-deprecated") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -O2 -ggdb -w -Wno-deprecated") @@ -17,7 +17,7 @@ include_directories(${MYDIR}) # set variable pointing to the antlr tool that supports C++ # this is not required if the jar file can be found under PATH environment -set(ANTLR_EXECUTABLE ${PROJECT_SOURCE_DIR}/thirdparty/antlr/antlr-4.9.3-complete.jar) +set(ANTLR_EXECUTABLE ${PROJECT_SOURCE_DIR}/thirdparty/antlr/antlr-4.13.2-complete.jar) # add macros to generate ANTLR Cpp code from grammar find_package(ANTLR REQUIRED) diff --git a/contrib/babelfishpg_tsql/antlr/cmake-dir/FindANTLR.cmake b/contrib/babelfishpg_tsql/antlr/cmake-dir/FindANTLR.cmake index 968feded7a..185ea3cd2d 100644 --- a/contrib/babelfishpg_tsql/antlr/cmake-dir/FindANTLR.cmake +++ b/contrib/babelfishpg_tsql/antlr/cmake-dir/FindANTLR.cmake @@ -2,7 +2,7 @@ if(NOT ANTLR_EXECUTABLE) find_program(ANTLR_EXECUTABLE - NAMES antlr.jar antlr4.jar antlr-4.jar antlr-4.9.3-complete.jar) + NAMES antlr.jar antlr4.jar antlr-4.jar antlr-4.13.2-complete.jar) endif() set(Java_JAVA_EXECUTABLE $ENV{ANTLR4_JAVA_BIN}) @@ -18,7 +18,7 @@ if(ANTLR_EXECUTABLE AND Java_JAVA_EXECUTABLE) OUTPUT_STRIP_TRAILING_WHITESPACE) if(ANTLR_COMMAND_RESULT EQUAL 0) - string(REGEX MATCH "Version [0-9]+(\\.[0-9])*" ANTLR_VERSION ${ANTLR_COMMAND_OUTPUT}) + string(REGEX MATCH "Version [0-9]+(\\.[0-9]+)*" ANTLR_VERSION ${ANTLR_COMMAND_OUTPUT}) string(REPLACE "Version " "" ANTLR_VERSION ${ANTLR_VERSION}) else() message( diff --git a/contrib/babelfishpg_tsql/antlr/cmake-dir/README.md b/contrib/babelfishpg_tsql/antlr/cmake-dir/README.md index 0ebe1dd51e..3a4436258a 100644 --- a/contrib/babelfishpg_tsql/antlr/cmake-dir/README.md +++ b/contrib/babelfishpg_tsql/antlr/cmake-dir/README.md @@ -31,7 +31,7 @@ include_directories(${ANTLR4_INCLUDE_DIRS}) # set variable pointing to the antlr tool that supports C++ # this is not required if the jar file can be found under PATH environment -set(ANTLR_EXECUTABLE /home/user/antlr-4.9.3-complete.jar) +set(ANTLR_EXECUTABLE /home/user/antlr-4.13.2-complete.jar) # add macros to generate ANTLR Cpp code from grammar find_package(ANTLR REQUIRED) diff --git a/contrib/babelfishpg_tsql/antlr/thirdparty/antlr/antlr-4.13.2-complete.jar b/contrib/babelfishpg_tsql/antlr/thirdparty/antlr/antlr-4.13.2-complete.jar new file mode 100644 index 0000000000000000000000000000000000000000..75bfcc397636c512d9bc6c7409f33f2667b8c4a7 GIT binary patch literal 2140045 zcmb69bxb8r5G9NFp^Oe_UL3+(@E!GS@7$&0HAGe|2)Fn*1JfkA*N$-=9}vEQ~Fg`eqe7O;%1G zD^%sDbQV|IdE#C5!a_0HjUL!gEG7_&dD8fCSBTm^;bcxkZUnQgoywxczmn<^Z-b>~ z^G(!!VNF|SpDK2Zi;N%O-P$F& zZW5ANPCTlDp15uuG5d_OxBQu4MbbTt$8R0eKK$2LSpkCIXgvbHCxcW3DgDgcV!kUe z!-r>)cw&AyViV!|fLBKXYF}4^XVTxl7!q+bn8-L4m-Z+W7Wdeuq*_ZTzO0C+jMb2) zJ(I~ zT5&oY5vDdrMI;2k4UO^+H=FGpO*-uDB$=ZC>b@x(4#}EZL~T8(ZE?0A}7;*3@ zyg75JAJ+fH@=SNqC8@j&8(gwYa6AXSxl`-w9ur;2k(!rOT$(<|LY^^m*yVYW5XM~E zKg5-Dl5Ix1_0k!Gt8XY>=@b0O`bQ=4uUxIN)RWf5Xju#i%8jLMmA+u&g~~rWUM=-2%0LIfXw8Yz!TZkHY@tS z^=@uNbz11Bi8v{w^x7wCBdPEwo6}Qs1qNBkIAyGp zlFBic;%aLj*;RB`0B$#NjGrhcI;3tvz~G~l(GAMiNJi5_mSXXb;EimyVN6psQ=>o3 z%=W9pa^o7ch=jCFx$@$?P30?bxlvdRDmWsdMo`631XE=wAPf|~cw9{6T_dPtOkE`> z)M=K6%9D<$OI7cvONawj@WVdE#+HaH4_^> zl(nU8REaH=rg}&Cv$}3SCg$?(k3s(wWAl|RK*D^;Aht?2#=rQJRQpWh^fnQF96Z?( zngAMU0*+8uCSxtH*JADQ#go4JtNf+;t~31HpnQ0#I|Pn?o-tqP6eW}0<2&uJg{o)C z>)65_V3B^+>+_SP)D?$)nvp=mg%o-|#7^gv z(4jm~N`C@Xb^Nx=lMI767FklX;8w|#4GljwOaV*rq$?4eM&Y80?!3f7tnH7-aq_Nh ztG7NGJ;PMgD!*#+uTpGI#9?TWT`77t&=y*b{BFTadZe9KlI81j5DNU^-+JJagu4%P3U7&?&v(I9nlX09{|rt+ticWBS~XoUWX69hFy$hd(tA@jfOI&cvjfBXguvX<&jowK z%;Pbt-@x$|x&K9~#jj-sj%+R%smXj0h=39YJmRLruZ)`UJIYa- z(YEZ+V5ytLFn z_?vHz{6?^V`oP=%BLu}=0UFd_M&v!t<^l2j<9}2et+yFsM<_5bc!dAAYD4tDm2gEz zS1Skm|E1kY)AsX1C_~+D|61bo*1`f}5kiE14@ln>p^1<{mJ5-HPvwyc?bb=Bf>LZW zn{*=aYamtBA|a4_L`ls#m1)(=ml7?^Ei8`TC&#`%kB=F_;%91|;F`yOiF5++J#3?{ zXzR-+_|2|#JPq@D4Fgii@WOo!nAF;QJ|bXHPTdFUR$eXTLM1WR|*PThoXQt`O!?fQ^ePXXXLtriqK%|?laP?!K1AT-44+4esnutCA00V1- z_xsTeuT8KU^>YyWgLgWzzRI5o`&cTppVCMH1`@1v52 zh!js8RD_~)r@2&tkNh619l(t>&-qjy@}VORqqnznUiP_eJGltJhugt)H$h2A zN{|%ps|#Vkh0k`WCluE$KH!kVD3Eflk@4&$;n11n5$$k0)2Xh%eq7H{kcTeX)mX2#v9O?}1)z3*7SHk-|EbIJyR_4@Sn>79Y^ybj_e`<{ z2H|ls70o#8o% zg7GXRi3umN_nFL?@0Dbu=H6e@g-pFYL}HPJ5A58HS%F4f9XER`|W z?DJBOg23*iuh4CLS;itFjG#P(JcMScyuL=zL5#3^A}?~N{rq(aBqgZ+n5Q&dF-nfK zB?En$A&jKXzLwD45*n}3eSVcNUT>nN+@f&coq=jA+TB727lMaq94)SV@JzU3()Q-G z2Y;Y<6>oV5_LC`eNxb8Jp^O-#(1!#lQOH@Q#SOw?J-C4CTXzR&-c3v)z9AJMz5%km zU=0Zmoxf!Nr;43^3|_PR*9&m|XN&*Oo*Dapr(*w;c3HY`zG{P?-;)#T9h;M~uy8*# zs#7v4WHB(=3GhgytkIYvb!nZXIYwm?W83kO8Xv1Qs+zHG@;${E#?nc47zV8`cl8<@ zpFoS*OZwKcAKl$v4xE{wA0O|%UiU|nA4i-!P;yZ2VHJK-8%Dff&!qpzn3Ndejb!!ZVZ9$|qYhIkjdiZtj^ zyN|Z4XhQp2fS`wSZFDpc*w(r-If$-%v1`nT{odl47+uohnGtOv_ga}Yw62uHdUzkR z$f4S`Q$*vw@2~nbBP)If*4<$_M(kC#@^y!X&6s&N9JBrdsJ~13HNX&XRs?)y^?&7F z)}O>69$jwn%nI+=MMXHs{Mcov?z}|R95c9?+uB|B=-k7;<8S^b((E7)7#w^r{%`{h z@sFr}gh}7)K;QE=fAB-R&MG7 z3Lb8KAM6=yJUJj=rhShlf2Y(qUDnHS>-tX-ckM`j56g0oAiS`s`qFprj`xPuhZ(ffve*@* zL>P(DzE}LoHvKpoj?l;ZYs|%XyG0cXQb78eWNVB7e7kaH{kOQg%(GvNdNmT}GDSly zf1LQN`If0}f|~Bm#q_T-TPe~zMC6}jMCEt$d(=YpwQHh;pfH&h)fhJiRX2<1RWW@| z_1y@tQ?aFp9m=ir*D4hPf0m)Q9zvqXW|@|s>Yu4m-#4oYskqTX(CsecrdtC{^h; zIHBH-X)jI@G9D}=;Cd#%60xdp$P(XY@NQVM7b;XSFKRP>#zuA-RGBpC9jIeh$g(VQ z9;Ow)rAq3R1Mg?L7Y;Yh;fJndRP_#vrVlxq+wc@0?TEbPfvpF@|LI$ETikYyM+N@N zt6p>4Y?ZxpMJDbOgS{Ia!m6FVTYFnD`>t$Fo2uV*)soL5bYnuV9owRwegb*(t*!^_ z;T7{@r#`dTrbW5DKC_x%PV{7P+cur=*^jGR66}m7WG|(2*NSl5V@V~@hS`egr!X-6 zPPll;r1hZ5%!v*V+$Yo2zKGPk2DhK<&OG04Sg-((1+oXayWB#`C9heR^QZ4YHl`Rn zIomNVKRMYE-(O0r@*iSSo>@^{v+A#GwaYzL>hK?9)*G=5FfQB|d-qm7wJ#!Xo&{=l zmiiy4GnS>vKbkayh3Y$1D(a33A6ofLPw~Y@cw+pJgYid$*wU=eWLJ%JMqWn4jrG{r$uD47i5?{ZLClc$D zDf(C;qAYy0S9g|i7pflQOb3LmM#5@_T+fKI*_(CLnFk05PnQC#D(S1L>2$PpG|W6E zGVraU2ZQZy2YXYIgb4JN-6c*p%-pQnkQk~;xf(hpl;ZfcB>6T}bW!65nNv!rHWsjA zJj8xD`*u&WA`jYegqen~ukr5P_suH#@uBI3L$@1nsqhJIpozo_C&YPf12tql&BkmL zRAC_zhD6=<^oRx^=&Gx{3+J(#Ns>+ESI~qEETo~vF;`8~2pXG+=J!ZVHYa4^h!ZZ{WfF_em>PI_i(f$XuNgec< zrd>)6?3l1Kky%R$Jd-x@wG3L(TAbox8wE={kbu5LQgbyaAh{DYcDzH0yepoogbdA& zHY~Y8ELtgoG7DL?9#mCY<_Kx#ufji$omy3eOgYe7Gz+N^J_bOL zl_yY%7q>1g_Qa6;hii{8Yyoj)8mr#HJpn&QU~6Lumtx(E8XM$G6CDwTr<0q`1jtK; z7Q*a&Ik_%-X(9EAb3%V)3ZmI;usYmD6&@x~7{D|%G>c7$@t zF7<&lxfQE9lcLbqRvjM_SW<*i;D*^$c=$7fyXX4l~GKZ8u`q^ zP;xUku6(O2T|&Wxx3K@zK{)<)U7Ikuru!L%_n~;e$gusjKF@x;(uR6|sOH}fq%phd zxt)Iz!CL+WW%I7hqGb>Rn!)6J*c#dIOqKG`!R2|JxS>6lOfBgRP=Uf? z{~{j7B#9MU->rTzy4*@Z{r+fc1zXx?>@FlSU!--6pKOlXDd@*bGiSY^NzX~r`miZC z1ncFHb-Sz~2@^y}2i==0xn1`c29NbT>_1W|#3s5~pi=Z~>nR%14?PthMe~ zu9#&RgeXTX7y*2fv6#6m#fr^%biDK37CS{97!1sm92ls>q2Z_H>n>m|0oT=&fG@8x zLe<3mEge?PPSO}kbBK(A@OCEOkl^j;=+}$}Z9fviX5^P6;V2k@fH-3;<#kr7LLTv{ zB$B<=69?9g(BrN-9vFws zg+1E@eV+9P$pq3cfx`|i>5gm-*(vH%h;dIdjGq!w>YZF?%R0+paY1rz^;%}CmAV91 ziLhJ}vgT99+L!O`29jg(Kff@h;OJ%_i*gWQ@5U^dZW|X~ays~vHQPubbC!-$LJB*6 zQs-AD9&t-%BD2ZPPk@PaDjR)mh%+HEsXU_iF=_eSnD^hsLRsxe?}1ahJgjQcX~f3C zck`d_l7vb&NNsDj;R#ULp}`Eh(ISW>2c%vmIRh!PVoPV9gB`_68&h>!#FvJOGgje^ z&{p&_q_g=^11J)4a{i!WP;1V`LFB{H^Oh7ELX3UP0GF4{X1R1|V6EtHPeD5K_^ik8 z!Oc}m7M^dF*bdRG=lM zJd(1fJ}h5(^eT2Tzc9|@^I6M4v2N}Ka1-*LGU-!#+cn|rH`u>R#gsaYLl^wjp6Ze| zER=uwpjsWwL3w!|_@>T0uE?9BMlUQ|bITe?8-!iVc-FC%NRJ9^r4FJKL%>6J59f@L zy9H6ac>n2P*k*PKAu+?txpzxP07UiDs?I!uyv4$sYY?K7`>B!+;zi>-`@gFC(L(?v zQ5}OW@;zsL*WfDfc1esU|B+PZfG_4+O&|Z43TD(GooGiMga|-@LJu^6um>lrPw}L4 zhvij4=^vZ1^3%R~VBff+$Q!_dXoNebq!i3euuisZR|6Q#BuA_j#tqx$&`nJ+`dhr) z1c>)UUZR;a|3ldnF)Y__gPR@(CH1*4GCsmm$8gI;m6|p-j>E9ygum|;-ZF&d;e5;Q zuQxpi4ZPahvj<-7?&)7S=d74UPJVa`Vk0}w(%37K6nW|4#X>JL3o_h7I6)9x&t72n z-9Cu~rq^6Y)aCu=bTDWJ$>R@Ww5;P?g%qqo52(Znr>>B?2MKnn(hE@qcZ{R8dy2>3 z9Ic%6U;oyYi1VCAgBkGusb-jM2HxI9pH;HnBc(Q=6a4KmIUh#IojXj z4*wd01xnx*(3`LY;F!FSI{a>u>S2jvAJQJ;GVu+H@M~V&7=kq45*z<(`YW|XTo+>S zXH(3m1d#Svdk6zG|C0$mFSX1(RSU2X1(;w;i8jUpFfXDtvw#odrdkm=;Li65??dj3 zK|3Xy$qf?>jSkTiJC&OyNLTK=7A&wFG0n6Nb$kJcNPrEd zwR}^F`#9f01>49bPbpeMzWadrUxv7c&{}(nd()}6h)1G$LJ*fQ%(<*y^lZ1Dw|Qo2 z5u9)L8*y-|d&1+Trf+Jv2n;3(E6ExXDx9^RiS_ga+8~kDn32X&yi2ZaYv_uaYd5%tS*F;h>M05= zD^aGkokJ^K@ZC~vljT#L1jd#BjAoJLG)~Tr;B9#|#-vDenz4agA2VHYV++5~SbMN= z86kJ@5x4mHRO-xdCnf$$>Kfu!0J!3m!#4$LV>BRSZGyRQQ42O%fTnQqc+B&GRTqEK z(ub_af0g~nwTBKnD(O~$x}!CkqvI&d$fdNYPK~#A<1Nr{^!8|+ z_ukc*t{15Hj^i&#Hv0&7XtJrJuc=O1My;{ut2&!t#Np;noh`j~zRQVrEXKH;brCHV zLl0xSYQu<3!SZ-MabNi?LeQgJ+Y2zqKN2OcJYCkxkfrfk&lytrR5eJ-`JK;3HXRyc z)&VQgyfKfdwY`DyDtW6>!;Nh`tI+*_yUU=Dh)i;V<6lGk1iXc{24&JYW*Z2<6M|#khaggKb8r8cxkho)?;Gu-%2p>Rr5iy|SOncQp1kRBEyFdvxD{&zl^!bZ z!=%;@dQRB!AyFR=Cc6)>v@NA1q&oUJOjiw=bht#H`m8rOt&>p8%dtTWb=18US!gaS zEdu%KE6eS#g67K0>)?Hvu#=}VH8nyL*17+HJayWz*N{v~tS;(efCcMp?m9#0Lqr1B z(akBI@+LKA7pzh+u`MkeQe$M4-lRE}`e9_|e<@{)5OF%9jqqn5?cr9E&e|zR znwb2=vp%`Jt2E<-fl99MnmUff7HVA5W#`alQUktD$EFzv9#6+Fs4#C(z7r|$UUB#GLna|aE_-VGOe ztEzF&=A4Qb&iW=;ACrS$6XZZ69A5>W-d14{zMFcBN1h-MR@syjksADTBr+7K8ZT&c z#zrBhnyDc6m!ol%O}{yYGlo-spJCin$N04$hR62+grqg>+7*dnuY26=;t(K8_WV#| z1r71ho0>X6{Zn5A5#Lj~d*^R8We3`CX>cioN;ZgRNxaX<%Ve_d&VWOQhWOpsz^+Y4 z5tX7wR~X)mUkRd!{(j)alY!j~7zXH()!-_^VOaZG+ds%5@(x0y`vw-KT)nXZ_TB*j zme%tNWC5iG0**h>7KMKdyF%h+$>LEz>jcnuA?@F?8<`q^IcD1FMSaNI5sH5;)>;h{ zdZ4ikgKfJ>ferMT4`z_teB^~(-f;#h@229QqoHUNOreH^*%_pPtw0Ct;XyH0JZB6K zP`EX`LMe-o2JF=b)VatS!Z)NBoNYOo;FI}Hm}Sh~$oxKlN<=;Nrs_6lxjE3;?Ez&8 zltr{cTt@2roJV6rddq4uw)4L+P9onTIKyP<_CvFVzVKlH5su=rJG|?AjKWQ1S`q)4 z$UY=ckB<)B8@zzdH^ON%6k!2p$Xf)ZMF!ikf(E3U!t0r%sBw3Zhdv_D>CFwT`p2lY zSaQq_j&9eXK^zNfTYWf2yM*5J3}-OI?=__JxLp(@aL*WB7X`~Ys_k69s0)2H4xcZY zVKX>)_wEKQRie@C5@(r0P1SOzh9bdI5vHHDjy94A?Tm;~kM)FMEV|dWQSIQekDYn@ zcs$zcd4Fzk=*TlNz*eSp5cz7cPQWsge(|lW38*8FBGNBDyMZ?WAs_s*lKv}Ps$vxo zLoj5vG&>HNL9@`MjoF3#I1X``)T`N4$rm2u^n*BOvH(9{tDFiPrRJ`6x}K)yJihFe zV?v)6CEiwC-$L@60o&0{Ibkh7Bqpd>zKt#SoXTU+`WaJr?T$5Hn4Cg8{y#j?n&7Xd zyC!Q%zQ@D~GFSPFNbgvW*k{jWYP{c$@H6%7EwpT$bI|n@?Xi)(Ubzngzng*Y`G3;P z$^7WR9T-riP$6t7R_LdIHRTKy)wETmbQRV5zhdRga>q3{ayUa;2c2TAnt6SAH4CL@ z%>TKZ(2zQ~AYQ`AY{$>GCxEab@qP4BsPW>Ni=bQZ>Iw9*6EqtZR)sPVM2Efc0rgjp zxQTy#xrxa*ZZ5NDLP40e>OpW&QXU6el9DekCB;o`9cKW6T-ZTE_R({4hRAh^YzYm_ zca#iX-VAgu@RIj!ue%^Jmq6*CrPrQ>Z4`cs;(40gdIrZX-q3(rh*v}YZRJ}VIV~YY zF1~1(9dmuJ#l5+xJ1;jEx?}ZZ&6LFy4c6Z~*aSyr4Iyh8Eqjq}l`-7IL88=YX(gDq zF*DkKF?^13FUA1FDor~s*x7pRCl_mNUWbcrhwN_m<8)(&NH0~^Ms}MYp%$8xE_V(- z*)99{p6u+67GmUtOxRu#)@PcNW|IA{lV^XHgjoTSP3}eo46=vxLZ_$`IjTH0_PhCO z{|#u|*v%T<*vHGQWz)bBFN5a|t}Eeghg>yspu2KMBaNH`tu0KP$7Y?FH(!0+y`T&( zsvJS*ovx>)H&F!|yT299+%kCn{A}r$-WP0`rtGrSk+TlILRloR@|P~YZ@okA7L28 zFnSKJwcF)+{N!cOGSmgMGaz&X!kMjTib1CM$Fd{2=1c&F|D{h$!BkD#br<}$B#yO$ zeEd-zaF_fb*#Zm4tudRX%Ed$AS7;AS4k?eSdim}Hi}qMcmOa&YPtR4F5$6t>Sc_v& zk0Zccw-U2Xc5adBS*pC#QP6@F z>Vl%XHkS`066!sCM0sg-W|YPF=)SNah2SIDRhR4F7=#Aq_E%w?Q1L={NwiU89b<9e z$<4S8g(RyAcVhYetbF_^Ws(3nz<&%_L6!{!2AnW)dM3o*3z z5N_Bi$iNIyp65?k{=Hd=lCd=}+L#QJjeTK(yupFXRso#%YF#3xERrrpJdsR9jSrzU z^LAQn3XezTL%MxV^p8{I;nl3Y{hu3s;%4fRC&8P+1~2#p2^vWG3fyh=&#nof z7&wA+>EMZ6HPs!?vwdf4bzYGM2P87`9;eigT5xGgqO3{4r!c&nzba9%BMQF{q27~Nj`J}e&KDGVur?lAtbf|B-= z+nN~-wr7plnGR-bjjER7`zI~qb+QH6VVl<5l_baV-?qo`5C1zN^U@=oPe$>Q2zyQ3=Bv7(c5Z?Eceg*5H^O;@D!!ZI@4jw+tt znGwZM-7;&60Q%XeK1)xIk6sHMdoI5TRiTTM0FUJnSsNPGZ*D_B(@~9ZS7$$A;Bh8q zNgdJ1FSsa2+I*7n!tUHXuV$gFPQ!nY(q0E&$i#ASN@jJ{mwv;B-M4^?-BPdD`QW4o|*FsI;XQIscdK2<4e z=yTW(opUml`i`R@ptG@yC#NIoDr{&g?>LKTTRW>$dBQ4Uk0d1e-c=RwbD&=s1QY;k|x_W6O#JrGV9B^E>#-V}%b>^Mere+K| z2(Lv+nPNJ)Rw{}w;+k$>Yv%^|W8phI^YMN8K_dzMC5NqrFt!I36+w@2_OtoJ3=w16 zOO+vQ$H!5MS&MnTy^Nr;=d@rcl6D2RVcg&N>y7!~Zq;CO?tHeteM&6+XW$EfFL6o! zTW5R@=*{QHgj4TXQ};d!@7~9)yRB>@#|*lwu%#BymzmBo;R$2*w4?%aH9F{Ou^q;(e%1u>xe|NZ zO60&W=O@9R7{#myCB&=1eFlyx*Yq@N`|=`h1ABbvy2NiTRlNTJOR63S*A$v(k+c=t zPl(RY-od;$%)nA9vmqTQNf6N#BTJNdUwS; zn`8EjA~;}MC`rxbE5MX!>4Ua0NvEX8Rw(59-zTf986e)!b${!PlM?_N7fJ#yDMw_@XXnCXt%bYaUD#TF0`b? z`un{Bg3JX{FlURNLQqn!qC+Mke~YNLor)NPitXjJ>e-C*uTG7Zrx<788~<8mio%yV2M>qoz?+UI}#OFW_4vi zXU}QRoI0Thh-~gz(t*%!m$Ulmlc%aSFTdSFE9&~x5VHomI+r!oz>9g?JXP}*Iur%5 zFc!ZtW?#N073}IqdWKID@{!+iQYMe!LyH6sf` zVidJD_&x9yQhs_2QmPTLHwZTEQrIr!JYnf+&E5(!^Txk>1Co5BJ)LVl;B+G6ezHq^ zLw5>_)okYtU!SVRe8&jn2S3z~6bnZ8K43Hd`=W(EaoFQ}YyX+2xI-z3X)!A}X#AFD znHv!8_CV}J<40AU%Q(>JsCIst_BPQIw{iR@tv|r#6#6N8kZzB9W*1hE#-G+7 z8sY>3T5$QPG4&}*bGHfulu4@}yqy}zwp3l~&du|)2%{#NGuOv~hhrw}9m|(MXG5Ir zgCvZo5Im`E=($JxFQ}2JUat?sfjqH<@l@=;CZs=&Z4jfIX^=OYapa%LT+p=TfyKew zzq`W|(h`~F6Ve~2c#r~JbXzX;=bRvx=Shj`KqI+8{T2tY*u3!zwCnds$Z0O6}`%4~3LcQS*SVV=j3FZy7 z8(g2CrG}V>z3iYAk(C{AFwO0BrCtFSFx7RB4;$5Yvx}uZ_} z8>Y+dIiAG2i5b+QBOmapfd?;~wl}%cG>S;j;sIHpyuXWqn3UE=hyPaO5ivu3V7Zkk zZH)@Rw5BAWv<~YRbk$K#ikXr)K+(XHe03aVYlzop?wwV|Ra`RO!dz9{MfvPJhTG=_6*A6&Wm;ykH3!jCKyy2+cOQuKCxm zOiwMOUM^Y&u)*qo{4$z$x9Rp51r@27SH%_Se>NZNO8B=u0}EEDPcjk#21C)h*TpuR zN?!tRQ+0h7r^W_D_HESz7loC6uKW-!c?0wh={_gzL2V}zfw*G8P5x69nU=p_d2vGZ+5#T?ALbg z1^Q>3hntY_{fMaFwj@26$vnty!76?J(Ojm0g_FLYY?+0|Jp1t(aN6w!`XXG0z*mPO z_=Nh09dAAm=_-?vbi*F~9-wvXNC}JPz@uEV%8!_HB9owwL~`^;WI(YgLsKY`@kMy^ zrP2Ed46bbj*X@qF!qA-G+*@yeqB5oaH(OuYOq!u3l$J2>q{jdiSL>7 zhjM{HOJp*&Xm@R~mtj_nYxujj5Ephz5EEuF?N2|{1Mr_Aa^Zu>+SSB6lzb}4=kGo@ zVaE|5OzR%q%hXx%wV-S!9d{t(n6RAdx4n0+ zOaR`tJhFBDxOoqAhkv!zczf#r=1uEE1pmVyB&C3|Uz80weUd&u*?Mrj377xn6;J!7 z@@TD~*a}QAXqOZHUTO2);(sWm_{u&V=M!@AOOI5*8ZS!SAO>mek?QEWlbls)nZM9? zT;~l#@(ah;#J0m?{oHg4`F04G1(V(6MBXzO@(X&Z9U;n960z@uy)5pZa37~JT8+}uR0}FIZnUGWicNK zN%ARVkGj5iSxjr>*yyN0R2S6dzT_AVegV#3u|p05LSeq~`|`T`!~8{#d%8Iy6j9+n zla`_a`uD%mx)=n4Mc;$$vA=@}1*Ni>yx#{jAM%qQT*^-5R~nEFQv?$A-yrMW71PCY z#tBGC(}qRJ6octCMo5ioC$Ps4n4GE!fM*BH+Oj)lr|qtB1bIc@?&T@uM$xQBvvdbP z7wDzb%Lrn%vCztPodMRX5jam#+oEr*Cj@PxZ>YR~8?fG-D;1=GB@qM_kJhvlz65K! zdu%)s&-W1~2?;KOOBE^7o!T_RE+{Z<^w`}g=(*I~`PvE#-jCd&hZG9{(o`AV*;@hHH-`eLh3t&H-K~)8Y zY8%)40wJ#$bJv@uvX2LwOnbN!vRVj4^-m>_-02Cahv!C}2_}>F%On&E?+;8-8cA?# zb7FE2FzsyP3j$xt04D_IMdrNU%_}1uN-AggkOfv7dFbbreeS?o98-(K1LZEcp;- zvcm;z2fSdcRaiE%1_arm-2D%n-ztWtM4f*QV}yi61%RFGJi@(9%{pT`IAHMj;4|8r zK0LS&$Im>WO`ML8&wQD%9b6Y{mczp*$bW=*)m63I3BOGFc%5z=QcU zuw@N(G#aXDh1i%>v`c|p$EER1;*hu&?|NFLR{3S>6;=O+@FPX*e7~oyJ<(&UPyM%u z0xkqf^;1vN0nxq^RT5t&%Ykv-0U92C+8k3W{V2j#y&}n8J!&t@-9eeqFXJ`(Nrcc- z*#p439chc{yvPIAkzXNv2%o^t0QY-(6XTpJ!N$QCeNV!q{x1fcR!u1Cnwm$>J5`lf zzLkB}=ehHZZ$#dL@fnT}x14kFP93ng&QT%e+tg%!@Y>kL^I=Nd2}gsletYPVyp&Ns zkNd4$S=;&b0G`n&vlW`B+l@OpV{GvJgk+;mWJdfEN>Mg3GS@_THHysMJtl@^>>2ph zs53K!puZe{Tivabu;&_CWR^#f+Qh4i<((1j5^Sv6btQQZDH|01(T`qq9@;u|=etoe zT2MCrmc=?T^OINzyXv|kOeWONrV3}CKr)CCJSfh2UzoR1b3bXYi2KTB7YCDKca8~` zzzl~OR;x^{H5#TUOCTRiUm(h_aOJBYHd50D?Y(#BkG4IUtxOT&iB|h(3CD0>NHUX- z?{5@xObs^B&j-UhZ?8!@)Qfz9i(RLPbhb0rD6D!BCF}N+a4X7Y?GO*~`26_pp`bU? zd79-Nk8+=HpSgcd#l*ZQHgKM}sW9sxyc3W_B$)s3CiVjXxWDb+5TmhNKbpH@?B587 zk2W8Cnz{|YT^2fiTl?9I0Xn=Mclik@Jm!h7+=32(+U>z#EeT=g!1fdJoO9u^4M}2h zq1SoVr>Q=Y&&gHYnMXTg9rY`N?A-1?&zrU`MdX>BUDvB+MV+`V;g92&nqbscB4<~K z*o5t($UBJ)Du*D{)^vrWW~J5+%-`2`fAZE(dGC%@#vdEB>_c=n;&P?|D>fe!#wfF3q=uQ41r7`AGr~g*mxkJ@J`^9 z#eZUu7O-_{$g!awwI2TBNLUSq<8Pv2F^iSH{`-(E-OX|ep}JHTJeYRWs%?I9LufRU zF<7driCnBa8u#(Rx)Q)4mpu7(48maywA+>pFfn@bVPQhTSj!{4*rKi+fEk&?kNDTf z%}jO?W}>^NJ3nM5I6eq`ljQVk3;&8#ppqPHQ-xY~EeS|zi8f@i-w^+PYW0{6D8AK~ zL_BfwTJpg1_BqXaHX-fp2j^0Mj*re?;=rHlk)Ho!`;_i*0j)O03&3D^ zm;RjiG~guE4H7yVAImTAnV&~w-%Pn4v63}I;&Kk-BU z{*p;fQM3n~V)M-vYPtaec*xBVb%;8YlopqaO)#x@S8`(_ z81CSeqMuqbYjfx3t=T1WpGX{0bSLW6 z^$`p^9-qjfC-gSmEo6K0o?Q@$C$v(f8f^DZ=3BPw{6DhkcYwBB-0Ep_`y|~CKD4VVCxc0=_UIVNqSKy<_~u* zcTAl7-|X{*rBgnuTL(ZV{5Q$2`2wpSbqJQY@9*Z`UwtBlMe16EM4Ik=VVOC{BFlfy z%D=~QjSq{_4vSP$q}gdRHA)HOx2=DLiWi!)?qN2;PfAzJ{ENZQXk3KhbNmJuBaV80 zIiy_x(B_rZi8uA-R0<*G=Wz*_GfR~K7GFI645b^72%8%1cv*YSP?0Nm-u$kwH^_pW zN*7Y+@Kc!o!B-lNqn|??iAo8yzi*9lk4{ivG}yynEkf+o%}o=4x?oyB8B=*>6GJRA zS!Bwn44a1=gIOaGwJ1eZE0UNaJ5+=|A0|t*S*FX9OF9hwN5z^dO{-2_rgo`BgV3;x zGnoqHj0|poW$UpnU`chB{Jnpc8F;;dcpw}Dl(3`Y6Iu=B9XPS~R)z|^Uw4_;^gqfAHssr~jjuDuhlIIt>Dl~STlx2ew!fA*-Ss#=UDwmU< zd`L*AB~yhGs#dis%n&zGrx~yW%4=H85HtqTs&T7Vu%eucT7f6w)%n1qNqNRj!=HMxDun-6jVR;;Tp~MG9A2P9)6Z3jzss9evR^@ z{e*)rZj){Zt+ylQyiJu#4XkYJ|(}M?~%vi?6_8F zX*2S#cMXn1&ioB3CGkAYn-o>_zT<*#wMCN+;b;LW4l{U|hnQfUKH~58u)75}kiqgi zEZ^`RxA5kljs6}vX;#xmuW^iqk6flCc|dDWL_$x7r@Fwm^k#QYt~IY(8cvX{+p? zGwIfmbcz@}_|L$t7Ebrb{0wTbT#5p))6l=JDIyrPHa>zP8)B(#=|iPDCv0wX4C>9j zmfLcOXK@tk3Zj2K+c>0U6FLkkH+OMHuniaui^FVLP7l)(Z!r(gb-+eDVh!YKg%H${ zsl&=*=ctsCG4DKzK|6vX2PYU7nE&u^pm6I!r8;t#9*VMliUp_5K9sMADci0rur(j4 zN7&npuJ$-HfCqD=3@Gs5j}@Q7)r!(clN3^_5PJtVDqiUjmU!LuuWm>*%@4s1%!g>{ zyiSpF`oJ2;p`1`|&s2h@(Lm*s1B_0-y2TSBt~DQ3(3rGw3VBVkCO0of)Bwr zmUvJUE+mdM>WlQm@~bj<7fwWD8-E`t!76En8-jvKMV3jC1J77lcYlSw?PBZYC|?^^ zC}$hiFjRJ91PZCk%V$Aazo)tsFA%9a;?7^fNp*xpnP&;5%F=-Q)gW{l{iejH3=^0j zvMy1oyjL(zF>ELmI{`T#V-|!oQ&TonYmB;3{n(%QoU-syiG&mF%R7KH&A3 z%g2=ErrhPZTasYnA}^>hG@bA49BpR96(1rKOgyepnA?V?w_LFX%(bq6aJengFG|-f z5mG98nq_!1bfzLGtu%9WrXG@8j1w4XI#P}5)3cHixrRE{Gg2(&Ke|fI7`~e*nbJ~F z*R+pn;PaL5L(qm;51<&U`kMLk3OQ>@BI)jtce6p#Hxu8ohbtq<1E1EX9)>NtM$YG+ zKwJ62l4Ky#wRduzk@C)DDUjulBW)Es7uG2@B>kpQoZKRz7(R5TRC3cHy7I^;|2&`a z6V9$l)*T=5lA_Zne<&P9Jn-Dd;HqSj&u-CD%`e*4OrxlFx)j*Dtk*<63~PE6dbX8U zXr>ylFP}s-xr~i;7Fo2>O`u4-TrzE6v}&iFMmRkTcX+zTGXLx5X&{ncTDLK6y#C}t zYTnFlpneqb$u+Ov~_^w&NW|Q4tt*F%y4}K^DtD+HE-zBa@7{hHJ?GT zan(-UMxQ{r_BasgqTRHOI*HK84d1j0x@wK(Y2cEtZrF6ZYHjf_)Xi-lx5c(@)6FLT zd6wPgO~>n2yWEY0&&1XA%7G=@cyNO{^_!|JzKPq7J2lx{CSD|MJ`QH(Ceky@05$z*hM% zNw`?xZ+5yUu);#wgLdx0GbUkEaB7Rir+PEMsGdc$x+Q|=ny~OnKBHt-Yip}TR_Ut` zDKFqd$}-~R!_@o zbO3t(&*^|*oeWHvaiS+CLYQW){3x!w2cBL4_oF?G-o%hDvL2}sn;z{xD--nn22kvt z3vi|fZ(pzAAhyZUfo%2n3DC_bFK{=Q-SMiI=0$mQ+x|834q*|_ZSoymZnyksmqTB$ z5fdgioe}2F5cI9d=B<&lo0PjB9Ur0qE8gCIQ1puk@XyA2#>?4hN8AL9x6UB>?=feLRVHze;l6ad!kbJkypY+Z(t2!1+ztMv<3oE~kMiddvb5jFPWl8HRH6~m1_+O zYmQ783E5@~cxsKF?&mEU@75pvJX9RYJWKs`r3rKPUhes(899X~$~o@!uqkaRGp9)S zkk^jb&X~)Ge+71|z;p9!RWV7zQZR~xCgkw6$Y6`~iJ|E$UnH)HlC2L-!Ypye%vFow z26_%B1s?vXD#Vg-Wnk8PL@w$i20D*l(r5WvJdT^3-o^Q{E7}XcQB8_+Yz3q5+ZT#Sp~ry}|etZ-lnFkpSdbtIo!1I+GfgLbH&=zYp}UOZ)c2yaEf{FHCZ z|A-X$kcut2GX|~At<>+-KV=E>BH&0>ikO!gZ-Ev{_HNzf2KiAxQN9b|_iA6cJc*Y6 zXjUW1u>Do-j%!Yq4DrW$ozEM01uSUbhF`;6b;|Ol7%0U|(xOc&t74vOyQ$S0IpU=k&(Kb6@uk(inAB6-YpRuu z$bG;VTr+#%woI6!(zVMiIl;e;Gu76)_EhVLM?ZN4x=n*D`Y-haZMu^G%lT6FC>^gL zgaKy)%cNeY<`|&-W3ir(^cwHiku5`3eb@MD_r8!m2dkCy*tyIzn48+(igk@qaB75z z479=AFx7rDJrRTwMt|y81~H+F6--%UuyL}xCt*rk6H}cnr#VD z_V%Unx(3+H*P%K9ti)^^jw{yFwtIFYjl8W!W_yN$oNs9l^WUjJr-L+vG6 zPntWJLrBTm>b9Er*|b7`pRF76zNOv*Nfuoi8kHUfc!VhkdaPG@d{0)}Q6DEF-HvW)!l= zhA;x>Z%WmyfQl-AaJF)-8gmTuenA7O-n1}~NjN}TQVNT94ZdC8I%ih5`&W%c)@uT| z^m0y6S&=0W=cgag4)dL8WzwBGf&f;r7hUX-SLA9UBo6T}$?>oFGx9h_cO6(5!i9Fo z5Q;IJhe{CXhRD$>q+yqGtdI)2m3TyKPejf4RT=y(|X8hlv; z<-~Nx@Qh|P-f&Hjv3YTXcaS(E*T+c`=-7c>zvFc$imTtQr4(98zIX!nlfcQcgF*q zqf4dW@wqC6pq6rRS`T|xy-1gKh}8qV1AokNqTP#$kDN8pjhbOm2-n3erL#3*!1UY# z3;(nfQn&EW511Z<=0ZD~F;`pUC4pQMjur89ct*bcCF!AA_& zegF~W>)$m$&-BWru`juLSjrQ&2|Go4hh<|`*Y%%sYNXP7Jmab}%c)yazv2y0WgY2d zb@`{%*QIemZi}7RzR%&<^ZbPxq2z}g!yWe~@|{vP87utoGIYtwIXz5uw6G?{vB?m0 zQ5~-y14^LUQ|T=FWYm|Bq7G+SMb< z>IX8Hi1t5~!i@jNB38!4)LF^I$i>m=2P-6E;%s8%Z1>-2xEl3Kb(K}L?;H>NjQv7J zQx;-F6%m7e8EjffU~;S_2__z@@Cb_}9aB2{XGi)SF9=eE#AY%Zz*7#N#BM3AjS+sU zfMr*zwE9QI*OvU(Qp+c?mb%qnZnMxa3IfflsF4hx*&Q=}-wy}Vf1a0d>cBkF>l|2& z<%AgGkU@+r1a$+^#9CXh6DAsT#Ecpox*@t8#2DP6HNRtq0CCN4lV?AM|Vr%wk;q*}vhd@|0SFz==<^Fh`-+!I=yIemV<}z|wy4!#l5ZnK1O__2B zBd-^mVevQ@{@O;BUQ5M)g2iQb0-I|aor#Uew)qS4YAla^DAtLn;mReA6gm30+F%S4 zI+t?Z6}!u4qId4-MQ$|~!@7xfh(F+i7x2&jSUVu&mX&wn;y0s{*{_u}>O%X=%E~k` zlI16`Pz-x08Iy{_ZO3W?;`yC=XsxQCB@P0_bNk2Ar&-78o58dE^JnZJHu;;GPR=1b z1|I1f>9B-9!$hH8Q_onj2J&yId9#_qf>8FWoYvq!AIW60u!9JEAKZfJVoKo`)+$cD z0Bgin2Az=%XW_n0Ke z-4NQEYVK)x&Aauru0sHW#%zPdTXHB3tovKvbH!BS#J(qCP8!>{uj;SvpIxkN4W2a8 z$|}AaXDO+|jsvr7(w`R?F&+-v3QVGxWU2L#F@J-;edz$BH^XZ=+NPaqoe5GZh?U>- z?;jOC4&#|ij}MX@3zC4b)-c9p{zTeXxkr3Cmne`FXMVAKtBkGNx53pP1IFF$=jQ5- zs1CI|e`D({D#DGkNC({0^;R8vz4eCTpZ!O5dpOo!zR!!xKOhh0x?7?teO!EK<}N@VinEJmGR~I0?>x6>fd^fj`wodxYYSHt(9`Ly>!3qF zx{jHiTj0IXskJ+AqIvvvQ;6LNuvxr2BF>s~GGsBfi<4^6l+n9#emL<6IEt)`^KYG} zVTH?yp`IIcIkuyt*ZP;R(C|ly7qjfBOW5K?up`nJ@8Kns8~&XqGk29$2BVeU=sEnf zLk|Om%X)IP!ZF-t%_h21+>UXlxBqaD)Nk_w>nydWndGF;oP~9(!g?b4%-$x;eKLTa zT+U?H1!Tz4-C<0(4ENH196j$cw_xP&9hzQ_qXKP3Mksf^{{4Oh1w03GF6Tw;qQWxb zm-Af8^k{k-<8EWghLlyoEE_9Lj^E?6xX(uTzFXF51;ask+{X!NS}LmR-G?D@U$@xX zT*rv&_(BOE=W)Alv@<0B>EwQE{q7ugAaP^J2y`|UvJ+OG0y^vi~%4^JNdZJzZY`NXE4a?~1gP*lHrffr*H|$1K<6JTqnH@EL+!n@&%H?22tqB#2B)e9M?SjjlkdSP0~aakMkSY#9gT zjOginPx#Bkgv3544ZjB=4H>^Tj7Cb2xV_}sghJ*uh9Iw~C9#R@As?pvdT4WUDzwC` z^Bq^NHJPJW$2?L)d89f(<;W3Ii z#1UF>4bcqjnbm}JAr?mqyGJx@=m2Mp1*XyyPHWqUVC};F)JPFgB1a_V8K_ZbzpB)w zT4K%+_QVZV5^ZYLyJ%yWAiEe!oo37>ouQS)l?xSRCbqB*i>Fj4G}noAE{$I`qyYLPI+Dx%CIL~5|*X$yYr3UtB>s)0o9>AQttTT&)vEFWvRV?oy)uD`3DaA zy|?W*sIvZ>xKx>@10F{#TZ_#6l7iU-#H^iLtSfGh*BMYbYWogKYo@xtqd_r^{dAB{ z^)r@)ttYC`bCb!)*DaRO7_G-tJzX(4t%>*QCEkkim%vv#) zNQY@dWy+YSc=T!U_<8;mrf#(h#@(Jfu}#aGsxcvPUdlq=a!csrL8y({%CrZlVjR73 zh<$rvCIB2pf8iu>$p`BZAk#C6(=(FO8~sYU3Q(8mDP>AD5OKN6RTg28im;j9<6EXo zf=QRB`@=V}g;&&r*y0n)HVCc1ZX}93M|b9)$^}oQ_taO8j+Og?kjZk@88IvythDsf zEwuKA{~u|868d^H9Rdhw8R36Q`z-%|(!Q&Sl8d#8ptbW470m9x$XqE(yLJEt)PFY= z$thfHI9cJF{x*i9C=^XZ5v#84L?!NWbecY$sdHURX(?}R!&7HRK0gu6JVT(1i4 zPfXdQTkq4I+@GOYzt{IK>>e-|`if%PpMnOtD}{lCKqD|&ur{=2nPyoISk9XfdUQKX zjktn?2u&WuMbY0ACBJES7!jNJ@*v|1miSMlZ#=j1x`sHC|9uh)=T!4tV%+e7;-!S%ygUL@-1`8^gfHFEZd$nF;b}g6cRYN5CoY$R z)enDS{QA2arg7=f47kJlnH%)m(edT=eHnIzK_giCUWF>k%a6&Su-N9xP=5dy8*GhD zYOUTuR#0((tkpWXVaEQ!kC@3?Pt%W+6GQoLc!ru+G}jk5`j>?V!*b$pWjGg_i}sR@ zi|*uH{jt{AW0sq3iNEtum;#JppSC>PDyjcUn!a@3Z!b86$EQl9)N{{%WD8_sq9%v6w#bL9LAbz&D>srU`$D94%A?@ZP4>%FQL4hy;1 zaL+%qHo-PW%p(4TFb8Kp9q;&LUFr)U`v{O_b}35NQW9fsAroe9DX%uQWaX^noZq(E z{ZIIFb-(~E$`A2v?tjD%a{n)a?mu==Jxv@*1eKNLh5wrhr)*<~EQsif4i8_uif+EF zWYrQ0z2sOJk3|R<+?*gG1yD{Lm4~oBXB|t}f{FM?C5>XmlIi;*j%g;(H{YB&uGiSq z#QZqT?9{~X=ko>p2m6?V#2D=;KCOYoNI4*q+;B6}K#%Y+^^RgV9#tvnK3TBwEny6? z;?lEgAfL@9iyLmrUiXH{x-C>rpV@lOu~{(!KJ<{N+McdBJ1uXr}3@kb>W-9$#_wy$N(3Vl%T)bG<_%}*cHNPwT)HKkSLiY$j`C3kNs_fuf5^2IQDu|mMrqrS z{Ua9Mj80f#k5STJ#MPNz8~0veiT!GZ;YwaB`v|{pqq``sOq@>4v1dhOxZ((%rb%5G` z_k%XoV6GSV*B}Mq3_kwZyE@$BPfz&!OgGRM?HF&?1Y*wYWFjx+hz-!Y1h}O~cbtZ1 z;SiBTV3RsW+!p(cF&70aquIXTuAU_v7J>hOG6eXBiv;*a4Hbakcycf-&v*Z0jU1z4 z8xi{n*W>>YP{{hf57+++)E+G;ca`O5{!o6;laNo zgTc2#k4Q1or-wBaHab_dtVC_ls4c5>Xhz;pg%=K0Sys>z>basve2>pYIO5bEl+1ithnHjQWWAq}?*7 zoj{n~Tk;?7A*j?P8YNCX{?J!9%SzP?9fSgh*SRny8q}gisF%T>NqJcwJuIu2-U$QP zAS@Z$AX}3d(hZ7YY?AkE{63+ZAS`+8*iT09wh6h?AQW_P^Pt`td3r}vUq2k@uivV{ zZIj(EKriR>>(KV(ZeZrjZl_McZ4*n^f<&=X0(DQil#eJ}gPguLOBeprWNH6>pMw_s`t9!iQ zyJmM^;6287pj>|Adrh$a>IV?8KI7y6NdV=0vk0(1jvblfW8~ff-VJj2k@A0+mGr1b ziaY-+p3Q?68od8G%*?}iXJ$HWQu0!X{8Hi}V<;|hm&sI@b`XdhE8(CRDe#`P&nu6? z@)_Lo%|U=c5ikBKUg9HfnS;p~D|t_zm4`6LpidiRZhX?rxC0C7quAC@JSd-?12bp0 zLznc?Jgt*BeN^&h&AU0S`|&M#_t8}?3Z7lEn_Out=}^`CaZ7l7;s*6qJ-&iG)tj%= ze){D2{kcN`eS+Me@GX9n=IWb1sJvj8#Yuk6lKYl(UK&Sr^1V4k~NPe@2nhZ zP+?K*IqberbEY$7LOw5FM!jiB4~*FyUVu(9aVM}e` zh7M;ykpU8MJk*KahsH-H9u{X?&xJjtT|>ckjpr36!j&5Nq_NDKVC?n$*PevYTBleI zSFW^DoqUj&cV9$T`m!(qS?gjCY1ejS-Xz2;y%dfpdAr2r56H!BSKU5Jhw)zkhPn&5|(ZUFV+^8oCx5`#anR$na}kxgC`@Yx2P(G@}&VVJX~}7tY^~>$Q5U-a> zX~eOUqlcM+#5j!iLb8PKL%Ay@76Lk#ajHCvD3xysQv_YbDK(sAsg2O#!Ocr6LJo_H zw%dzVtmBu+X|VkZ1Kaq>LqkqbkBQquuc zts9XbBV(XIUel(MaE3T|-KIXNEx_IF#f|9tLZ^fUiQ9`mww4;GSveK7aEP~alP0}^ zAvf!-G6MBIgmT`!9yZ#tZqCK`CPZ#FE9!3Hxg0p@bwrY<8skPrNOX7d1vazhR>qYX z;a1h!wk>7YAKYt}l>rblLawzB&PBRR*h^!vBu=1g+6Ty}GqlVkv%!f{iqbbC-R0$Z z$m%1+Cr$O3!w3M_awIi^_De3oUds2u6MaWaNq!@JZ08>TVo>{14&3Yui;iZPylW*P z&f_KJB^Knv;ujF6Yo$pBxkuzPoYP~|pE$WdXuwBxx#kwqWH;pFGMxSK*v~1T|M7kc zp7Litq4L6cgAZ>d$BM0v5f>`b{rqjZF9DODfC&{%H}^1AbUNiutyC2T$R9cf5k9r04Ro43=FFVytEf-su>nqqmO%vf>Bj_e*kab^L>=PHa6KCKrHf%&G zWZ-Wn!9OewESXz0OI=IZv{xr(ZDQ37EK@dgl&b(ICaO;MWOkOzf#!b*PW=NB zSoSEnh_36c-UPXs8;ab*4s|neuX#>Ufh}c&jV5N@3&lx5BVA*YcC*5t+FvIfkozi; z*W)cL%>==kn_8S?u63??l)3e*0yw)9P;gu(1yT(yA6t+YcEBKSh;d^Nt%ip~trBV+ zU1V!wuves64a{Lg&svmdm|8|Qkd?J7b^lmSHFGIz)3u;&fGBHIV%GvLWNlj13azY+ zU%{2T6spXKw&3I_2gk{*WNQ?)$*F!e9k42v&3M!sfGiV z)vgUG+29?z?S7}o+9a`gh4VWPrB?LFwpuQ4$k;TQ>n+%i%GgA)&CSyVnE4A2PD{&P zGkLDh(_!d4jM%3rWg7>{z>i4HN|*lOUmWYklcr#5sSi~#nM_BDu@Lm)VB=O@!HjT8 zo`~s$Rkx%@N*!QIi`i&Q@J`p_&YM#CBCAuDIqfTf`EBhvjFxf!wD3p3m4l!rG&!3h zwr31(rZYooRKlgeq{vu*{8Q=04X0KGu3^WS3cGM>^7LqYUClWR<>qqy>7l_)f~}EZ z6(^0E9Dp!;cpYD|q88oZN|0A?x2sT^h?9|O1o?-Z<$?ft_hHKp*$h_muzN{mN_fOl zyGP`Aud6*FURx8->f_iM&+%H*eGL1sqKt&qyw`%WxSA0!v&XO`G31|;thLy=om7Y( zQnXH#M$D6pj`|6gvb#!c;=B4;1Iycbkk zx6tt6){?~R(xjdn8QhQY!30_LXC~d$%Sd+nbjCVt;n$tS&FLrHhd=YtFf$}NoQ~bN z2TWWd()Nq}24R$9se9ve9BHAYE2`L;1f{CjY%F$==D1k#eGE7;sUu!CC32}F+*9_1 zbVe1hauo6GQ-@ReEL>0nDIsBek+~};bE!DL6RX`bk8rk72#Zx#d}OR z(T@@r({BUMRdiAJxit8u?IxkTH*0ce4KakbE58O67>Yq}hz>>{B!x@OjJhRixU;R5 z0HI54Q&EwYus(;*DHHu*D!gA4O(h{bNX3tZ_q7H9yhkX#C^xA!+M zN;Pt-P-=0WfEo3bHrS|tMo3uE{*OaR$qx5Qkrtq>2NGT_yd6x zI5`i2zxc)wXzX{#9k+6|Aii1DGCyF~f3xv%CKk7OM{U%aw~Or!?oZm^LG>KNSq3cN z#gz;qNlFAC&a~FFb*|!KTM+*21z+T`3Mo5v$?CVaVW1DFxJXq@_gfiR)UGiySeKtF zo6Pl=gM}^7N~=Y;42Km}x43RRxJj7b&hu@!ZD-?3Sk8Z8Zw^K}kF9i5pnNe5$%b=?|gO;}i7_@LPPxfljF07z6Mn zYkyHQdUT9u@avjrQ3G(2k<40WkPjXCM!4~k*)L$*NTq8;t z@$~9~O!ow_JD{)I8CnfC{GeORHkilY-G$L(6Z4Oy$i)&h0-nmj6b%z<2@j^ZNOwYc zq)#%%7cKB<2@63CJ$6VuhB*Y{s%{0jf|-Ik#eB+n8LPMXt9{aA+pozLKeqB;PA$5- zlc+l9=9}I^j}+l{?;pl1dc|{m@`~uYE_(xgOHa?MDEdMNxE>NPh`p!;x~?HDY*HX7 z>+*PD(YsT8jxLFDjl{I^-w_o5q#i&JVS&-|>tS*Xmrm!vcG>7!YE}yQ4 zmDtU*N2pwD1I4Mz4wqD9Lej`D{}Mv*!G2zhkPl2&FZ1DgK6@&ZL)fbWdEdt+t59({ zF{>PZ;mlY~!OWUlJgT%9mtzH?Naf`>{XMsaE6Zaq)_rD>b&$+CRFsxR0QDUNJT@v< z{XPHW*ir-Z847j5Xv*cm%e?mAwZ#EjZ?^)kA8r6!sx)b zBhT-|uygyzdY<^n>FL;DuIn5_ifU2dKCRrN;rsfD`Y-E}2mIMLI8}|&Zpy=5T*~T@ zhF_S6?-e%`@)z&45Q(bb&MIZ`;-?AX4=g0OAljPmFwe%M{27taX7Z=BKK)XA=tDvtCQb3R+r^D=7sS zeJk*`ZvQnKxGDmAU^HI@K3h1P&kq9nKz!l=<-G~QdlimD5YCHLK)$~-9q#W!0tVZY z`^cy3@6z>m>jJuUe0D9XYU9@Fk?r)vc6oM<4czUQ3xRh2)}CMCHyHtj1}{fmMp#w@ z%OVdm?`8|dgZHrMd7=z?f>R%_h`hiM{E}7}FH(p#kZO)^#Tfp~jzJqBTnDk~O`Bbbtb3zq*;WQrE=a$ZTSIU=a)}@y;NwioFcMs79 zgjwMk>z!cuwEK9ZZXs0l#g6|tx z(W54ObI)Ydwguy4dZDpiP$+MVaX*Cn`;WVH{(P{0U$CPkNJ-sjNHG}>fUo%j^ZY(W{>W|^_&1K+QC$4t<&)P70Dmo?|NfU}$kbV#6fxa^+^f-QABEWi zL-l3d6TA6<@70~#(r13J@_DFy@VR+xp7c5XZ&5s0(rk1}%Na#_-L?EZw3oZ&eM_?~1abyxOHR6iqi%)JrdO zxrT-?Q@jE^7o?c-9OE)8WvxryNA1-q>65zTJGvGu(13az87UA2y^69Wy~y=Fc@>fxFRmPVsN^`s02QpNx=>1 zruw}~yS+t%ik}32g10weyQK#i<0C0q7~9$eT*>E&U+XcZxQJAA+mA{zyfZq2OK(k&Q~zJR5IqX;-!SdVs42y3GEa$EAkY9o`fhtq|Zk4 zHY?D=@<^0c65M2|&Zb^ck>+%|CjFHVuc=e2zUqY4<#+3g@}-Rdom!MUWTwb7o9D=t zEF17izRzF@nyLsqoyV%pcg>YvWdf-1W!)S(nIq(#f>&}Eq=*X4kcYXteEW_|+e%=` z{9}h+^sZ)6m>SCMB9KfF0@JM^IaKA4C)$O|EO71((=Vg+cmL~d#I%>Qx3iYp@7d4@ zrciO2n%{14j=FFQh?}?W$c*&eEhl_+#}KFjClcrft@B$nV)u}{;e8(p5bzGwK%fuq zsw@GbFNNw3p7fy18NrxeH=jE_zDX$sk}!TY4e%NTo5k#Lrju8B!Oi#3xw?pv^dK+y z&oEn)VuIqTlH1pW*@{H;F&otV8+g0JZ=X)=?4-Su6u{>xUsKjtPAJ^A=Ae{aE)Ofu zxp1!Jlue<;{iBMJbPx{R>3Thq4hnyxD%tm8nom_nHMf04ov{*g3$;ZvYMCH{avskm zWDTRyu^6Y{Sfa;c6mGlbeJ>(zh5`QfqE*y9s(+RDzz9#QG_<+X5cbLbZm{mBMs!Dw zv;^L`_$bWBddcTm$%J|qhUdTYVKo!)k&G@CHg0(yq>@-e?}?a^q#SmD5%v&-KR&N} zv(d#KGHqu5iWeC+U1s5CBUnx#{Q9&AajYn&6y;FhFq^Ohd+vzZ1Go&)7to#Qmj6nXtp3>Y3E!KuJMntQ z`YGA`av!rbcY8qoZu*b3FHHW97VFU_GtbR})H{qVJZ}L?J&?4h5g~z(OJfeCNR@k0DQ*n$#k+bk+7-nHv{RrrN%n z4cPbR7Fqg8^Tve0z%|i?7pdh-&kfdaXp+RY^G8DjQlVX|a65@qll(kS+u`pN{4#G``1-eBy48<5 zDh@{D21O;ftobwtIqHFb&-K}HpUR;}BI$fttRwRZTl=XW{{ zb3Tg?l4OH!2%d8fUAfbBO5*Qm6&s{3q$lH58_ki(#*@-V9pxk+jn4k2K7rjOA5zzF z)?r+7rH^>Q4m*w-rJUIB6vJke20ojn*Df>zFJ@-+WbHCuDif%y7f!FaY+XGQWna#lIgb2}dt z?!kB#Fusj(e9tPxIQM1vLxYG9A(&6&@ll(O&1!q))Qnnj3(G7hiuE|^J2bV-4%j?# zb7Oyb%w=Lcmr{hmNpo@qt8M>q@jAjnJl%P7LRMQBG&+{f?Pl_vQ_>a42L|%W| zqkMd7rM1dlf?F%H!gGV^Fsk}$rR*vkNBx%rNH%nf!~+`$Xr1eS(m(uIg#NQ(?|(Jl z{b`~5|2TmDU$V#l(m$v;8rV9S+Bw?%-;HrgG=I92EiZrPO_11`K0p#$^VvfMA_@`Y zm%9kC1piWMN*Mk#4;^Oe?UCrc(;F{-ttW_e?zWW};& zrDvsbnX2T3`?Mz`{+M*Qj^DS#X{YBj*XzaU=D30$-xs#OAy*PuX2i@_W~|TTO(&H8 z(;eFjYy0*^4ZC>sCfwrq(s@+;9mqZV zOsYo+mzmUzzr< z*|360t_d{ms9HDzDHQB+u^82)pOWN|&V{g~gQH4{6EY!EpytIvpv}>fzxuZ1rz}G9 zsLn2#vPqm$e8nmfbC#i(-x^Xa(X=S1@lpG^Dj$`3S$~}wTcTcB;@2Q=lpO&(Yx!T_ z!G*}Fo67gWuck#1sZbUPgl>k-3!Lp=&T+lz#7+m#VR zHAx@Pq*<2DA+bP7uG3cS0(%Dw8XUIF8U>n3$bWwov{l+RWcl2BsR4#*O&94Gg{0j% z8<5Jnh)U56q3XR*hY&=pcO>+twD6+BE69TvfeVsHbfb{4)3(OwQbx2iJ8P2)OXaq4 z)y&i2KDuj&R>PUk_C>a#N8GIEEh}LfMlcY_%SE2KJ8VYtO9ur=#Ifw9JAf>9 zm2(H}9_XC1`FCiaCKNWUS?$(}_3*MF#_Bre!R6LA(@lF>o@bNbm~f<)Y7_z(zR*R$?V_>;puKE1UrVeC$J*8Qe@3_Lvbb3 z?THkVXK$S)j;UB?BNQ{fgCAlLqhTbuVsQ$*l+eN*5&)yKrJx<@6K$3{vH7jTS1 za~~%f+qIM-mUM`NzKE~c3w(ywN6y#;Og6TNDmX`Y?dpTXi_pnVDZxG2$eqHmZR^Xu zn^m=lAoA80L+ogC!#~l*@ANUEL=EOaf9mmId5K&c%>B8RO77OTIFzF5B4M*CVqZi$d0QS`$L5FZsA_$@x;QRCYTm0FU#vl&N!)oi+Nwbk7C~S!3aV=Rh zVjdFNE*lah9=ROxky-X-kyQ>ckyZ{lk(UlZk=XabDRjj(IKMumsA3=nsrNXg&sXS16V!t@6^u4x<^!9{OXsgxq}{)glP6 zHqhI(0Nmy%hEsvET4>EntE+HhH=c(oH(9E$@EetLx{XS}wlgWjta)MLwoR{8*EwFw zP00u3h%5d@v!;E?91;j2Nw>!GiUC<@Q5Z@}m z?b$2US3s`vnMcY$33|#W@)W(&G!okz)gLc(q*NV1U&Rv+0oHYc&_upu^}KE?8Lu4| z8LqovepkgaX-DbICS`}vRMWz#x)|V<2^YrPo!s}acM*w(V+R%8~3jk0C7vv*-)o&RSuO+7_8;YtIF*k~Ub`)plJ>7}eJZ^%#0cHXsC>UlfZ3B> zN^Eft^p|*vPvRgvW&>XNlfGakj|{8Qx%7o9Z~l(+ERIHoD#C(m-dK?*6VJ}T3$_v@ zBt%^Dr>Z=ecslu15#otYOJ}jC_nXA?+kNi^6l5~32#70VU3ly7Ebt?#F}C3B01U)l zvYWi}y~3)^b+gfM3r3fOy+}T5xxLxenR==ZI!P30(=J|k8T&2-$5WJxLt`b+Lm>E) z?%Gw9Wml)+SDxNX_oA1v{-A7V!fUl9+k+-ysLfG1Y5s=(uT&?D9178ew0-5bZ8% zT^k2b1jn%k-33;mzszz9%9NA2q}ey6J6||(%UAV2#}#y*CwdHNBk^6PLXllX+4n@V z@t2)>NSw>|fyYbw_5>bfvGp__YxUVpYx*5&I8(cFMhWmU8MZfP=&Wp%o0~o}4do*? zWZWid%w`Hv6LVDMzcb|Y72Z%R(5>_EB|59;A!G2~oY@(#(p8RfiOshs{I`{eS)JaZ=Q zhfIJG>yd^*(|bL%Uz^*pT?q|nR_xRtL9;=dOr8Wq%R2CG49-pjOh_^|kC<0P-_HaL z*^uZN+ntOm5E*~Hj)cNvuScN)|m>F(uQ|Z3=bDH||ZG4E5~D#+qSu z2wTZl=TF;FxUsktTHs4<27V{%EZ{d(>)vkUoVuLLs9u*(d_Z3pCyzI`LtD5)Xrqq) zGTw9M(ILL#y#Gi=ZknOoH-k4D|GK3vg1+G+chID6aNq27ozg&egs!x0CEe0@1usI! z0Wt}Nl_U9h39=Mru}m*9;7zEzlxc+;At>5VYxKi2vM)ie;Dae{pus!Ik~pnvZQe9ouHdwr%^w>e#l;j&0kv zZ9D0tlgaPC_fAdC)O~AacGdoO*Qq*tt?%0FSRIh`keN#yuz)G>MOf#-qRe4`;oN^d{=%U@}Upjjy9M4k{F$C{V;fHswX zw9BYMZ4#h8)(ULbHB!sO`6oKXfFD2{eu~T4B9iGMT`u&;H*3(gzphyjGFrn{N4sB) z3dGLd_`-$diISXC4qj4TGV)Lj@W*z)@<4344Qb8(C;L`msJP=PoU(yqYe;zapKUa= zHso^}lQYP^wde?n(8Q$0O}3K17GrLS0fLf-qZi{*KCiTEm5ThqCGFT9q6t>no-}v^ zou!*i%SOxcA3GrZ?D^Z<8mPWRR|h?B~B(3jv%U6#m_t;f&Lt+h{$;r?nhrdkGiLYoTb71fW_&Kr4e`q_Vr*4 z?5VkY`Gqd5et;7qNdWNJw41pxIQ85#nAr&j>^?zN<;~MWnw3L7zSg zDy{vEiXH64vqzV;;Xf&7!q;P?dlq?jAVK;E) z2M;Z8BHW)m5)zaPx7k;_-qIYnf*0dQsE%ir+Q9DIYtxk#<6bWIcq_1zOET&wxs%bc z>mm9Y)K=PVU%4)4f?_>494 zEA@L9cVIZTcyhx#vth9SnCL#M@u9M2;MCgs%(Q9U)=Yd;f`Zj(uh%RJ2NdC#2oFo0 z@lO8x1O5$gCoaRSSjbg(%R+7z#QVuu4>N)feWQo~1n_K_gfG$T0H#OqCI(>VQWKzEdJQusK6iP>dNVh3}0un}194?O%w%!sR)xerM^TsRB=BvbtT=7^r< zaH$Tl|;e)@2m+C0h z(I~>>cnu((Q-M}vlAtP6-;T=0t4cy@ov4u>a`C4xs=K~c0?ZaEqOF@$ZaZ+;ASUI3 zG=_Tql_Ol$@mQF%7*#fE@$rY6+rEl_W0qW2$r0l#{7rl|r!Hl6-N6q|HQdaIpe2yC z{95+3iX&G6Os}YgVSoZuQt6Qg{t@KJi$Qi_IbhwLjv@S*z7dRq^O473G$(yMh*Zn% z>6*4){z4@4l-#~+6v-3I97xjU_S%es8$^_HSh38&Bg!x@eXBE=CAF^t*PU;;0h!jo zO+SqDqzNoEHkjI`&ngQP_2fXu8y54v=b|=w>z)`PE^rH(UoS5qhC1i+< zel!C>_W-cb^|~}-ZCHZ4Du7m(HnoPY*Cwt5Xl(mzovG|ftsNk@f^?lRT^ANwL-l&Q z9&xSnSm;X)hxG+tH0cDPleUhG#Bs z32(UYex9_+;O&hKeUGPEI}$Cpx>J=R-boKXWVK4%jWOA!#1cpyF~HF! z`7${{0S>m?fpmgB0y~?54T0l$Q(s8abt6t}Uw;Ml_49IT-k7tE3Kuy%A_>emk}UqR zZ_UW0G#m^A^vXFI&;#p94(n0z`j2ymLUJd_^(Q0fOhr=~6f0JvDpvitGpnPcF%6xD z)_BQrPo>y{TGg}QRfcRw>^|b*+ahqIQ{9(lI2UdyIwzef6S`4+n{=ngLOv%UUT)vC z?_hW=A)M-~Daa@=9iXioBgE>4KQ+bne1ZctU` z3HX=g>GrJ|?LE9^xp5BSJ@5`wyn37*h_)TMcDLtgIqn5})v~El(C@bylpLFa>I_cx zyYa?_({?aU)-9a7g{!t`?1oEm&|?JI8WGbu73{~I50Yin2#3h&P|v>DoC*cIKJh1% zs3Z=W@*ty0JnQC^B(UL7dp*CX%Tf7$kN(if^lorQ4Q0=Or0()n4!&RJ`kpL41D}+* zadG?_d&5lKkmo}59z^k;GapX28GdokjeXd0+izi!$KceQIP)0?&z&3n2`#MIjBP%!F%imTHrZf& z1p=;pbq7M;j(POHo8NW$z4WJ%)jM}S($zX$@LL1X<5Vo10YJGy`p8$Ccbem|TJ1mK zZ8v2k_Ln`Uz5e{iLI8C)q5+Hs1a$CC0aB0#1w#XZf`S4PNe0#Y?kxV#>;D7|xj5U~ z8af;PKY@nmzMp6BX#U-!bhdG1_@`ODKoFzXgkBmN2vherPS6@{B2Xfjfk^VItMN6J)wv zoxjoARIavR=_@+t0;b|R))Rj}4nKkJIlupbgvOvtc0@u3 zsRNjDAKZ}oV;)SI*e*q*sos6yf}Ijc_MQ~mcH~%NEvhJFa_)H8G8A8!UZ02qi6aee zMXWHwtN_t0Yf@|6FR(rcG7l%sP^{vA|8|?Kz_$inPlYzW$_60xg7acIFA_pEtkEtl zkUfd}QfC$}(6BO75DAy78KsU|P6ob-EPq_r=>n+4y80Iovo^VXU2v9$TI5yo`1C5I z@j7+ZT}EP|P(=je)_yx-soo2T21W|_lF?*YaO4!i;zAcXeWh%&;D_vYZ?5!9y^GUZ zMUp%0w(`Z`c}-TcC2CsnviP_H}?iF!#|6u01WrPIt$QD`J8F7_(;QZ+|ddtF^ zj&EHw{rT5KGFZN4VB9PyiiQF}BeFFt)mptT_S-53M`s8HaCHELUK!6H1jBy1{Q>;X zD}KxkNhS2{lBxT*E*bLwiG<7>i4DtB|-qpmK0lT zm?O{05~)>-cnU^*Mpd|C6CvBstmLxLBo;Nx)aKt)WfrUGWV&;sC*N||HVk?qcr{c} zC45&(LcZF=68ELz8-I&s-eqcn=eGbW#pav!aZ7+hy;B%r6@Ia(*!{t}6T_YxX)F1I zWYtI1kRFQmQ6h+GfKE7T8H+-pNlrvDrNf`PN!KK)XJn9lgGk{zrGYvzhlX-RQhMJU zX(qh)eN`NpI(36=F~v8PGAm*ONhKJC<%6uPVQHIZIRQGufnPz>u>8;npd@o|2B#{C z2Pa9Z6}23TYOBu|3t6Jf9bfFyk$x`OV7BY1zpLKcSz_V>Qqytf6*wWOi+B)J@g}{c z0XzJI>gJ(mi&?Tf>->Vk9=~dj6pu&Tt!8+;Go{keYSZl*%KJKH0MnCCZ|g(8cjwQ| zSCLZ6U1ocwb5je-i*~NvrAlJx>+cc}Q8MavH;=7+6ds$1hS+0Z+CP*6i-8B??}+=T zbL%N8MOoq*w>^Sh=Q9pP`=RrO7u7yx6o{NDkNzlFbPWQw%r(QLAuKBsES|ilJ5}rS zPPO=$#^?Ct0tP^j_UyrKa7DmKEOBg{AcYVk2AjKJGB{ZQ$`GX_yzu65)4iI9JfSwA z4g@2Z2FsKBLDCQm;;!liZxzVXeQbd%dtyNk5SY7Wq4vll7>C>k+MM0+Zc$rXP^rX? zB->sNJG+6SU&4HdfweYR1bxPXXv_%xNIubN474nxpAi29K}3jNSlxFJTtff5JWu)W zfPHh=>zeHE@H>8zUDL5E=xxNrl{Z;?bZ!s4F+<&=Lg0uiR(e{bQd1xr_KY ze0ApR=4k4d&h+0-t{?k(K_0IKi5ZaYP7;HLkOWBzehiX>)v@;OqmobruKN?O5vck@ zB;K!V$gxuHaN_O{twA+~xrzLJneQGfKlUggJXlB#$#V|lVgN<*l0_E_#5wT}$T>$5 zKPmP(Lm%KN=6Gkkb`GanNNI-~i1iE{L<+=eY22HJ751v4Pp^utR-w*{H&T;v;w64N zM_0SLlzDpGCv4-F=xUW&1xeFno=?E8Flkf}+YXX7uwyNscXVj6bxGR7&&kNylIDdh zmwCp;q9#^m8!ofnW6=&~8D2jIU>_=ie`Fw&pm}nb|1^eKj&2mf-PB@TE~?nmn1vFP z=+`VGi%Oj1A4{tZ2R~C6?zw`iPBU8!f|uQ?4#Aqv%FtD3#Gu44Cbp9))~ET)J!Ya? zj(nOHHYP-iJuMfAZYjH&)i)SN8>iZ#x>cRxirc4PY0EgAiY?xmtb%CGLmmOh3>c}4 zY+puSt8R+d1{)#Ys>+whYvA5I=1>Wg(Pq2~PZJ@XH>`hlVq=y_2b2ZP&Xs@%FroT$ zur;Vc7bwPDgK;{^=wub@{Lan2H0mfQv{QQ~GFB;a;-- zG}t2ANx9EMtcP-^%RHJkL9U|77>zA95Q&_P7UnGKLWgl6?(FjiYGgV%ut6PcK+qVR zD}4n{yO0Dc^RU^f1vwv8k32zTA#np^9Ltws=$ zVT#+3sGVI|Y{CI;I8iEO6>;M}1ybJYYG$8Ex&^~-QZ8;7Wt3%cxUWHhyjQtj1}1;Q zleUwRqODqWGbJ)`EEAludj@VyKY)Fc?$|jdd0tTm`eU0*qkcNwKYiF#2jw<0ZZV2* zO4UG(v=`2W*;&}aE6S?3<(+2()8T}sh?A%FNV6P6b`%g*Nt49bO26)Xhz{%DRY&#g z-7tUp`$oK`M)@B6B;HQE)9++BAeB=v!%bbBZC8cGBIb`{ic)5lGZrb*>cv7eF*8(4 zU%M?Cy<|pB7dDe4kHCKV`H8WgB3j%A4bDY zI2xr*z3jVx<%fOnUX4>0Lp}081S*l@;#V|wcoz*T{}FvZm{&ww4A)Sq9B}eyRZBG% zAd-Z_uE2*gRVf=Eq|Osy>~P-|+>~gjWQD}DsL|D&xL6x9CBIF16oh)v6rp~a;gH#! z_}pkMR;XEP?qLn1ymI+brrt`~G|_1k1$&R{$+)SPb4Y*3HU7&VLAB-(Nm6I&^e&TB zwXpyK&JJ9iQ4M!3|4h{?D)LqhP`KKOYwg}WNilkNAv=&#R4&$B28;Wp+aacM24`Op(QVo}I|Pg^?1wTMXfCO2o$jbCDQIgS)L8!BQBm$0)886oq(JxTPOqpBj?m~j z<9AA+lx=F`c|915G9<@tukS8vj-Of1s6*1ipL?@N_&c&`zZ?|!J?u0BVwJR`x1Xbt zQ*bC>|CZEwB4^KaEqb@hVUDd;(!L&xYg``&eONe}L7c7C>V06Me$Z_~fmsbVcc%A= z>^Y<=wX(HoGSF_&%B@F-C8Z>W;p<%)JzK>_MeYRJE(UG$YxWe2L?W8$tUSpTYbH%7 zL^B!NY5^swxv1TFwfI8K+2UH`{#Vhgb|MB!HwTRmZf@%qdahJbl<1isn=VC4D>%hb znc~iR?~Z!bj~pi|Yj7bPM4llYA_g^4AtGXqKHFXp&kqKOFY{njRSobEE1aqj0bf5A z6<#Q@pLT5n6?BU^;J6rbISq9oVs8K|od}%7%%BMeuDgU+I*#du?wIW@0wc#( z3!oG|jaZEo%$ETzeP%G+F5=1v7bw>dy*={nLY{FahgX}3D#Gc%Y5FFv5I^27Bf1Fb zCx8wGTfGc#a6Rs@m^0|)CB@^<8nnknVt=nf#61BKM@*3*{Ma~Az#EBghz$b-@1Kfa z1Kn3bzB)88Mmt!ZiBf%&e>vRUOzKHQWH;n4k<@p` z^F{muY6xWvMfrt0Qkx5(u1o-casr<>BM4>kds`MBOxmhiZ9N4CV*vK!=RW~cC3WhW zJObQJ_Y1rGF9M<$-c3Z=iP~fH^SDkX3pp<|MG1O|bF~492KpfhhWk_#jY*~+^}Okb zdD>&QCeeFiYV~bFc%PaYDHmhN2zk?q(pNb0a+*05Gl^bM=n;owxV>v#8aj)J_CH|= z#gU&P(yuIO?V8>1Ar$xRo2lo2q`X2ZtV5d16KEd3<cjfL_XhV0uJJC(6`902^md7dxk4vxcq>sm97;?3@a&=UsU4EvITrF&B5;9pgL~S_?r~?KEb{5x~ zW?d5w|56KV&CbTutswD%{qz#d=+fo92RN`x)Y^U_$E_~1OWa$2 zPpdEZB8XRq0c{t;kjf5CEni$CFf*8Zle*Ek#evNZ)vk|V4`Gx3viOc)hYD{Hzn|#x zNO2~`fc`8ukb7}JPRlpTSxZ{&d?@(QQ%8DDuo%*g#FDB$G`v3C(<7)AT-^Y_9{R=e zlUoQOUwdQ=v#0QCL+HBvom&8UHyMGofZhqAS!W+O<#^qxLNNOcFF* zf0E>ZHL_M@0$-|O^8xD_xltz6FD!oK80AqUODilVkwNAVra=CA?3)1}lxD;FQAUig zG&dYQWOP8kQ2~~JfDQ8F<%OIBiCV#!r(QtZZ;@#)T;pCSj|K``&kPgq6;YC+k1vuC z#@Jr?l}7E~&1i7KCD8+ELt+Y}D-;WXIUUW3Ci>xD6jB9tUDC$fh?PG>A~Rz9)vYz< z(#tn189Qfh|A5#_7IdoI7CeCP4t4I*V%F-_P5Xe*P~tyEcjD}{B>1~UggP))#TJ9p z5|sj7GiB@c^SjsOD)o0IL0uPuIs8=H{{j9<|o<+{s@#&tde5}ys$~hN@C)c{;tm7i&slh9XB$)8ZtA5T2qSF9`GNoPLp>i>4Y}jmq2Ia^Mi}0Y*><++ z_I?_5g1Wsbgt*<$Re3v?`nf^3PDDCxUWww}JR=W!wVr!{cg_U9JnZoiY)+6}KkR|N z=3x@{0|OI28)6{9yoUM3I{x`fP{hZ1D2$G9e{7uf3Lxb7mxpohjfCPKqRKsf=Nwf; z^tAjt0KC3+0tN@x>;4rCgxBfI2t;wygO?|(^rcGgtq(+x2iqHM3_<`i8x!ut3xs$h z54L;sR}#1sE8_WFj3Kb6P5eBufJ#}ha7t=kr*GF*xt(oH2Ag?cUwV}$)1{Dy+Oot- z=^sl2ju z`V@jzIwaAb%t|(3@;d{FShH1W4y_?3pI-yW1w>&zdRA zuh9i!_Plh%d#J)~#v&h|RS})oCy?o|SMm_7>d^*6Wb?bQF#Ej?xCZ(TBH-AFSA-A| z-jJJ!R{{d_R_>bRlq9K*Mbs4PfzE&c5=GRzUp5$bpxdVsVc(#h3`{ zozcL=+;`T<^7|YhJ`<_l<#8j9h;S=c7A_x8c%yEv+`Pxt=Ww*(($al_$eIL1X^I-_kV&V|d#$$uw~ z?k!kvoxFQyyl#c^ANO!AmY+mQO*Ds|KD8ur7#zYsc7BKHsdX!|M1NNHN5Zi%sP|As zkeD|&HHgRDU08ysGKd3Ob+`gQ%BiNhzMJJPb9~waHr>u;=u1iW0SPuy6q7#E*~fOm zF&Dp>)h)^iDukL?PFzcrFc;XAl~}1emCO9rTeL5(k-uv>)+O^?uJO+wp}88r7`Ce_ z%DXwVjW!Q2?7C~UrASSpo7GV9v;#)ej^fXM@~tX_U9nLPWi--z5b6?p*!$e$Y4$b5 z=inPZ8%a8n@5$ol3a@mM50yQn{c!-J!kW70&%s>kA7b)H47+5_-+91sIG8+cQmgqR1t3BcxU;DE~0g#Z!^8}xY!%x+w zA??b3y{pQ9STu3cmy!$*6-A0&U8LZiIO%>zibTS|6QXUyJvPif!H;@l+e)V@Y_2Tb9*v7sBey z-x<&yujMJ{|8*)VT9xRoJu7C*Gu0d)mH4NA7P?m9l@l+26u=p)InJSkTblx@9Pt1R0{x9B+0#D*1{pF~H}rHzom* zcwRpUM8uhjmW(;YIhhlkglWpywv5gdNfnAz<&Z7vfuru&2(yAT4#~8n=L7_t$r(mt zBgHB5Tir}yuCHl3Nz9a!F}j3Edf4pk7q-j|mcg&@U%S@}N6!o;j?v8=SOLM580L|j z>U5-ONqb1$V70|A7R(d47QBe3Q$-yOs#8_Ith>h_$t4Ze?F!+v@Vf~x9?Z(?Ujexb zGda-@0oz-^U!&Cok3arH2P!Xg16|S>y@f{UqB(1iKtvYe!8-WzI7kSpuQHA%(88yU zCvvs-VgYjcr|7bd)8e>8PHQNYrT<$}qoPb7h)!_u?>=JMVWmZ5Y_bc-OCh@U+Jx=R zidsaM)!3z0+?72jN!}m`-l!(`B)N4K=i!_YPj*m_+P3d@_#<>ZHm)X*)~Z}%Jr;W% z!5=-Qx?sLA+%?!!1BQL_XO!l;mD;VnAp~(O9{dMDLm_+x-o_6u*Lm0!!XmH;XnT5B z1B%TcXUy%WOv}ZwOcU&s4lsvIO#wWD`0-db&j$`1C8R7yY zcj05d1xCPC<~p*WFrkcia|VbloU|Ai9$@-oRusOdk2^tDDmG<4*Nj(Sn*EQzH?9Ul z))_24Dx+~U2F>iRvr1VshnazL3Iz?Z8-|N=3Ir9i8>Wl4e($KV6{-?#4ThqbPaA%S z%Tr&6Ojxa;ea0}7$BxxCud5+@w!*#Uj%3V)dSW+>7EKcg3SspY(U1u1CPgRW}s@sriQE^>p!Ow_*hsaN{yQ6DAhp8qIAwn;VSTY~ArBlGfxs zV@?;Fb)@BzJtN>8B`YZ_RRLu8auI!QKO{r)C90Z~ z8-tt7adcMa4OJZsOH8Pv;vmm!i*a;LG2srL49s2MfH@-i$FVC)D1!?+A-=BKj~y~W zG(0i`m?A&HA(r5+?8eNNh!eKWpqAJ#mp&~Q`kRiG$=FA(D(ehjS**FsSPj7_H>OhM zUwzi5daO)s=_3&4BER%c-V9CdGPJ`kgeR@KPi-=sQsCB9@OQ%=mjT$aaCEA>9(t=p z4)|B63h|5aLM;(g_%Cs40R0hAnF}m2i4oz+Q}-ZEbSG|t!sz^$f+|CcYVxl7I%~W6 ztUvUXS^0H8ZstF8j=h>4x%hHuGH5nfOGkwsv$kh}tp1222HDTm2F6e3aupZMK$BZX zDD@^^op+;cx`}QSghxaX5eqN3*n+yG&4D6q=D(g6ep{?Q&=|RBxiiCAPR*R(jVKI4 zMcikF%mZmU1Jt;m5`Y2fXC>Uo)I2jNX`$Bww4cy9<`lOC!es##)yxt=M3|H+%=Dm= z=Q!(|uZ<){iE%r-#k;*q#6Dm!BU7N^`{d1e=I~GZT!Q9;DchN(bWpk)1Gh9pdNOS?<|UM% zvrSHf16Xw*X_%X&fTfQ>NSA~^34|_6)!dYk|0YjMZULS3i*WRB+=Jpr{i0|UY*7|A zVb!rbYo!_3X@JVLB&sm!rKXE&eV+Rd+8vabr|kW=gz*9X@1p4cq}~0O$SiDO==d!% zn>sp)d@I+&7N*A5%Fc$)E>8ccXDG-@3kjm}70T<+=)J}N5ch>*u55EFP#vXSBQRME{b-vN==pf(Vq#Nty4b6$Hf7y(oMc zvT7WLQrMJ1lgM1lFU-ew?Zdqwg|K04D7s&i&4N~=TD}P{oIiKN;RPqS0Y@g>R;ctA zCkr{xAMRfwS!Ilp@6}H|;~V0SOXJ9OgT=E??6Q781df@`@=bI4l5HnjCzv=az6hE) zR);ID9bb7EM#vm38`imtR#KexoeCvD6q|%AFLX3Ym(kDV5L$qV@>>wph zGfU?5+tXJ_l~6GITC9$&JaaI|l0?31(-YJhpFZ9ipDx~4SJJqgjTrL#HBv9ASn*uZ&vH~{om)e|6cx=F?Ba}{9k4OnEv&T z6es_cUl73hwhQ5!HuSnH0*fk+SB$G{e~%2IrA67TrCeRqeLpb91Kqe(@4Z0yH2oa*JfExVW#Fq!kO^JfQ&Y95zcO zqz<=rid^Vfxadh-tJ|0paVsO18+C#*yz~)shFc8YT+Dr)F>bTtxO4^VvhWC}`T*BF z^zfmaz5y}AyuxzD#x~Mbe^e2?MMs}+L`7!!OpUJgoGp9I!Z!8O$*nwZhH=1cQDNryes{|5R7_@*ogF{KlHFmc|j0fIp$*^4P(aK7vfz(+59UZn4 z%5b&YMn#VDRx#}3?-&MEJC+JsI60RW+G2Z0+;T^anNyXbyUg>^m=3G;NtkBztJScS z2~)?%+Xk+x)~rbx>xnfPDTY}L7|;4P8MO&?4AaiUS>Nm9eG}4Z05f%L__D(!N$NO& zk8F>>7_)S~%n~~As|@MgD_pg-B9ZYU*Cm;WA^&ElQ)lx+T|TU3&WlFQz9Ygtk&_kZ z2qIqadM<1u=>{nXsQ}~l32A+k75IrAnm#DyB z!bbkX4qt!^ov4yLD$5XluWra=JxI2EgiH;9V+2KiKD5OSPQu^++| zmgiN7OQgXMi`t^h<&k}r0vt++Ddo$2 zp4NDndVG}{oPam;=&lJWc^q-%ej=lPOX8I8e^6+7!Q$v1zZ0D)#J>wCq5oE^{oljs zpTwtZ>a1Ys=w$j&#xo_AwKw_C5u0KaTY1!P7;TE4mu;KUZw)O0QQG+crCDMtnk0j8 z(k5HaCdmWH`o#u3y_DC_W}(VIOcuAl&R38o0wn^ zH$S&kS;+-&;LEzS7BW%tl$5P$L)v`w{yC3G!QtW}Lx-UJbt z_1hjpA5A4BIyKPj3E#1hW_(qq1VT?{-BBBv{=7u(y!nN-WB3IwBYunaXa#P`hfYS z*{{4s=Gxg-Yb+5B!nfM;F_6aG2-d768@DpXg&0Gns(Nd&*+sGMmC#?B7@vvK68|K9 z31D)FCKI8|U%U$)rf7!*0%KO2Z-CH(9z|4cAQYB{1Q5X%n^vEwea>COI{u_exE5Kc zm6;1SIhU!K@PgD@$hWJ?+2VTqpNM@3u>DNL&BMX<_djE*tgOJRvWy=0AcWAiD?Tf=jj*@`Q-Q^1={Ro|Y zo0->mI||m8XmwqOPB02acRz(Z3?4c|eU14(>xHn58Q^E~k2RGH`8;(b4}`_`aB1{)v$*V9&y*vMVhR`UIkOzD)&HP_2#>;q5F zL&q55*T*A`pHC9X?41!FN+2)X9pmJH1RTQ|*3nTN*t8L^e=1XaFX{9dXRZK5&F!rf zo_O5%_R==6?2O|=7QBw$?Mi`x*LuhM5T3%U@_4soYpBsEQ|xJXP1Oo9RdGFm%zB1} zfRxN>StvLYTXU)^+Lp_r6}e*7sV16n)w9aG>b)p*$Hel(_35T*K6OMG5ppy0QmPuY zJ3Bm&)e3HGw`vSp^rEPZ+nNLCRE{Y_G%@$Z@89!0%2sTn1lnp#riAvKYr;AsAyP+vtS|~};hnlp zQo}`K8=0-G=>92(AFf?s zJP>Yp#^LmJ>{}C_DdX_S{_cY)T9G#;cBeGuF{UM&F=jQKG3LdoS|EX%RpE8+eTbf0WtfdL z6hfcCY+8(kI*LSQ-jf}C7^3u8C+9makkcdW2?yP=@3S$)+BXh(g)Vznc8-{dE8!AO z`g{Tw5v(~p`|*_PoMA}!_=(_w8-MG0V;`qn)@_eGw~Q@7_=`i)4R!!HhJVMsE(b_4 z*S=GO#kf#lF!OBPZMOd+iTJWlhDZ>~P5_ew`ut?@7<2GA)dE95U)wuc5D@u!XLo=y zh3y%NXdk%+o+XmeyK(@Mldl0aqtr;C^rugTe&q<|P->Alf@1&upn<<;;jV*5?A|e4l2kak*KeB*9iHX28WZ0RY#c!c5 z%>0u{aosrZmMfM~?dz!B{ngJkMc`6j{F|D!nyi+rv~8=jnx54}?tSgM?Q2Xpz}~;U ze7^K2E+@TNZn``krqdRlVFitY z8(||Q^2_?i+33(qpfdxlTzU9u@DSpuoj>D-n}ExR@p~3TLh$bg1?ZXaS*auQ;f=7` z$?H8H4ea3N24__$F}O0Yj{Q)WvT#Yl$m1)*<9UfwYxmp`0$3ubM++mcoa;a#A|-W_9Cl1(Wn6lRnPgEH*qDS-ixD)4 z&A5B1%$R;3V4GscW=##@$!6{PaWk#>n@6Hv)#^<)EL=L$A3ylP&|`3(3Kt90qD3+T z4@x2^l9i{Er|K?-Y4Ny*CAMjf0G+eV?IKAJG3T^x#t_x@)8hMyPhWY!M5ohu|C_z~ z4cn6^mM790SQZT5As_0_58=3SddO4Orgos%hy*heZ{Ow)R5t6tk47ZSJbS{LYldhV z)7%s!f{@!Gvo8QPedXu=K5=NPhK^Aw;zO%P89o70Dge-i{}VM6e;)==jITVT>bgl( z?HXo1*rd}D6M2C>fC1T@V!#|2D-v-tsRtCd1m`%+9c<=nv2G`^UQ@XK+K~0W3vT!L z&d%&$4gPJs`vUp){NM({Yg+j$j_;pn@@+t``KC|c#*NiJAEYGoB%;l} zTgEG&`d1t^e^E3T75_eyuL=I2L~{OPd*9=IRC@lV@EMzZ2A#iIPam+d-eb`{>x1g- zcO03o9YImocA2lCQ@Fn^0FZ&(Kl*zknyv-9I8-hWz`CA@+(skg z_U<^mR@^smI;*be7KI1IRNp|Yr2_K(YHVdkFX=UZb`^CSD)#Qo@n@2&E~==nv}RCS z={&(7Rfl*6J(ja!|C~zlMJMuoVIA zPdF3_mQ=`cXbIK=ne-D7*B)ItrvrqpOOpptjKVQ1`agQy0I$-WCXakHR<~tGxHxq?_0T zCTy9KleVaeZRH^%sP7;-w08;JB=>-?4sI0lH9%Div_=vmj7A6&6)$G{?4XJylldTK z2(Qk(Eqf~RFzRq$d1s0*iBIxcMt)clV!Icz1S10UZ}+p~uafdaD@`y5Q0B1X?| zJMerai>K|N*d>D}`b3hqkek;nL1x_)I^3A8M)N=`X(Y$>l2uj=pUtLyIPyp1R=> z{i2AV-lA(HjVx6KXNl;Bag&ae{1Nb#rkQIoSf@am1)Ek0#O1t|MQXcNqWW*}EnBizg8JcJBh*;1jLBBiQ~z*l?p${IEWa@k@(j=bA6 zonngE*&Tw3h&4E}EQ3>K63WvuR_><7B^IKPCN>!VG~YL9^q3?YvC^&O5yq;Yc>5gI zGs$#U5l=9PI6+QPiV#_(Qm9A~VfW=VOnhowQ9}Yn5~8ZR`Dt6=xB6u&Qp?_C>B~Uh zvjG~<+zk>vuWQaT>?_mV)}H3YQ)LAU`_5ZWfxX;`2(uDqDu!JHA$y?eh;2Td_Jfg%arup$v5InQc0N$i5nk7t#k1BM&;cVwij1t7QMTw*> zI)0@W|Lweyt!q_FyKJL+^7imO7xDp$kpY!j>ZK&l8%_Le_Sg(5ym1yYhrK7Hh^5{jM{#OtB-8`b?m$L6oJBLBZOasv~{_+U$|nc>m)P;NHeHGkza(hehn9b!tU{#}K}J z6P~`rem)5&Cai0U3%H>aWqt1i?r6kS$yvX+M(S(6YOr2?Nc7W9aMPL^LAM1QfZ4v$ zy_0`q43y@i_yeO9zjv>dc*l<6q}M^*49C?Ucc&b`HUwp`Oh0H2$Sp$7Mh9C3+sm z8{gDeemaa%khjU1P#>i7I_)^Od~D0a&DJo~4qJo4a}0j5|OOCq*dv6CZzKQGkK(~rN#_>hL| z&}NVCMs5zaO&z);M4SpEc+@5ljps^%8{wB2`RXNb5XfmQH0cq0(G>^_EIyNw;n|ylbaTG+{hBy$9n` zPo#~ojW;kEm!=25Uvixy5Bg^kcyv^oZp)CNHwEVD|KbG!r7y$Q!aJopo_bky5;m9qD?gM z=kihXJ-P0-j2gIp;s&cnB)$DnSxcS3_Vf^b)B!|JOEC1+VD70Sk6yvSFZUjLHzd@f zC%9WV`fH<*sgE2gfBGAdl1I}Nuz}z zyCAYz30{rQ=Lyip6iJilqf;j_5c}E-m*FxhqGoMWwIg-J(n?4%s!jiI6UD1s~}!^&on( z-GfuPi6zbN8(f}qhZCC*u=qPeFG%@&P1R$0Dd*p`rOX6W7MPkc?wcvv}~?>>14 zP-MKHBn0~IXg7vnw1zz`p>&HhlTYfJAy44RuoJ0jY^@y4W80}t_c!TD z_vHM5Gur#z>v>iXJ_Y5{VNUE71LL+u?&`=aBs{G?dU{wA*K)4fsdcrM-j%bu#_1gw z{{umI-ggddigpLg_8*2-t2e4Klz zYy?qm-`+>_kZu@{yj>aptEwAXNuxLWz2qpa4sY4O;LD_|UGW{*d|1mW6 zgg*r}!ITfGbh(&IX{nBa!%I3vJ(Oo>N$?n_%Z9~Yl5+Chq##%;&J3lfXD;c}N2$oA z9MzAOebo1Qe$BL~rQ;>-MEm$}srXM%BH)7`j*5Ku9-9HqO}|4{x#;?y@4TPMfg(^tm!M039Y9HCjZ z)1T93k9wWwF4_ZUba=rxQ!4hKyz?79>?NGNKxq6EW&a49QbKctqO9O=Vs>^ycJv9- zx6WJEcg(^0_%g;FO`5H6XU|$sI0Oy3{8OWhxBS~&jD#i~G=!yx?bu+Yp7DqSMP@2d zT!@6~BS5j(b17m7&(?T6qbG`RI)-equ|6E0KDw*~F)tG=96oTwb#9jV&YJ2+M^-YW za;%#+DnqODA@T^pI?fZ-IvXDrySjRPWv$IV)x;sA%(88bAHz|SYp^&oCQQyxu`YFoJhU2507@ z%NW+zlJu_hjP7r6-LbB!$9`e)Oa@B?Tl=!M!J`Y4f*|pxkw2*6M2xW()c>ypfXD{l z3_A6Ej|!~3b+31vEhzOv6<{;AQLw#HRm?J02ezW50{*ZjKs%3N|8^@c zD=EFe#~S$Gwb>2zMFY?3l$@|84+ zvmd9IkU2Two7++JuQb@Z-c4H%A@~U~W0N$1&qGc+ykG64PCEVBdkv$eGP$Ok=H|xX zCXhgoe7xF1>qhF}D_$wrKb6n7RRGQBa(~A4B1#ya@iI!GC_k$!B#=OL{K&yG*T{l- z@N<-7_~V z$SZmF@c=RGHrW zK!F+3@x!yx(0t|ceD#}Kd~!FH3*#I2lKzq*8+?R3j|yNgP*uBN;P)@`t}U$c4k_^F z^KAQ5b5^~E=67!lKZX|`R@@@QaZv|;aaDWe?!PG?Uu>vs_b?EJd82~9N3tlB88^nh zhItn;LdMreS_GP^6>CdGhZ;aQ8_{xz0h~IQZmX`&eVoO`vWZNlrK4$ePD6V;Y*N#i zAMR}Oo^?t^dwg^2eY&AT%2E9sAvpIQP*(YO((>oCgAB%Vh&mpMi`V^08R^+3?mNhN zvR@Jyk0-c^Ol+cl6kOJ-J{#?f7({9;81_%Cfx*FXwxJr}u|@{Gl?VN2zAu_By6xB5 zZ0w|Z-KUA4Ob%38ZTi!lbe|V`tfkN^Z2V10h-sliS>^6<@ys{|i?&8*OE4bGkZPj< zX&a7~{O&3DESE8!!D~S$1NjDea=3Yc4<}0~_dOM*L>+^>I60I%$5X#{&}vGyZd>c9 zuCmTd$aBg+mw^$bMC$(kcok?I;?1jgCOY0Y89zh3M#sfFHIk#GRhq?dv>cE>j$t0r zEoWANKUxGni{qS2d&dT_TS~w|R6t&<;8&bqTH#w+s~DN#Szmw4l?r5%PLQzdM5ypl zl?wnymHfEl3t2O~6(C@P{ab@Yx4>T_aoLk)BF+o|8jkza)d-y7dzSd%h1RCG+`^Fb za}ZAupeYZ!8cH3|;scjH2gNEf$Abow)NgSc1;Nh`Wqwr4TN0%`7vK zq*m-lQ7=*T$_)7whQYGOWpPS`LDxM*HUzN)8&hyAshg`6-6+N2tJ+~=5D>?~8Uyp7 zwhbHc77M~-|1vkiv(~^pi(npVNW2>%4{B7F%5V-YF|Vs9@<4POoh&hzPK&xYyAL() z<4*}ob3M$vqp`GspjBu7;Nsy7B~!if5ZX4>+-`Q-=OJ>;y!b zMtcl#6Uz4;bQ_7v|9sYkT==7(=pfpD84@Mct#gBojyppd`cj4-5rmb~4Di z8a$y^F!&h!HhX3GXf*hSO(~wKz6GgT5N@Sxa1n9}mdQsm9gYKIzKUN1YYev*o0ew9 zql1-dA7VT@oW+A%=VYB#M@&UAwhGzI+iiGt(VL2L8~EGNR|G4HM%~Mh!P;;Q+~ETb z8ze3fsX`bf7j9{fT??c_On_b44&!qST*NXQZvY-?z&aU@h#&TRm%}nBK$y-#7_SPb zO^yVb3oTL`f}9UY&;h%8VBQGY5GLONIXjBChrb1Syf5IGpM2ylMWKi0gqofRakwN( zb%36HgJ%q*Fk+?l4h`IQrKh;;0N8S){Z#hCj8!q@7*tOfOTlSG9(9JK2(#3(6D9Ft ze>4NxjyC7cDRqml5`)@8gQ*8KW!&SE%#$k7ibxkZ^GKBEW~Uc|kVPEQQm5esP*k%% zGHX>WBHRnBW)FjNVAl??BZMmv7l%P$m?NYSlc6M3Yqu;7%;OR!QRtjdE(5^F8Qq43uhA ziHW&JQeRtxjNA)}8=cTb1_zN_0!j+bTH~}_LNb!&qCPz9Mr?m7>5TC8s>ZYIzyGtU z9Cb}3K3?pQwJQqGkkp4wC8bq7g3Ya&0hShPfe()BJx;NrNId}a-0W^IUiU3B#ZDifA#WPOeY#rqgp0zv#5WO2K! zW4fh)vww(LH3W5J@Q|`h5zY1}IK{KA5T3SuuoA4v1inW7l$M&5Bi{`Klj9DPaoYxv?2VcWM?m39;!L;% zWLUH};}m@pdzds|=dw4*8LkU`d5f8Dv+9$uUzWx+R7Fwa3yany9Yu+}EJO3*dT}wU zLD27lejyO68{&m`WI#|vQReh0yC;Oj03$17LiJ;=bs}<+A4D`bu}!mfbgEhU)>NJ`K`3_ zNYxgR9(@!Elb7WR6LL1r#ha|!`5U?FUx!)|43y)4SU}~#66dI34FHM3hN`%MH|qOn zQ`?%+ZIYU|B97?jn9X-f+vnsMbkBn{?^YFs@CtOzKrMq%)FJoWUc7Ag0osy1O3r*^ zFEIYNXLT(Dc6v-k-AC8KPnB1l#4(cv zNx&ZQtCM3hP6Luo?=;stj7(w1dKiNUUe6Fcpe_(6?ZY9nPm4lxut<1sNTc~yD7V_a5W?9Sw9$All59GfW{mp z>K*v=*FI0qPb_7LTA_ZI*hCG5vO1}QB3wg z>Z_1#1UB0k*ArRH`Ph%v&9H2@ehdJZH!pZNWorg(xOG&$!MSN=@-m&XI=ffWA!O+EJW2lXF#l;_YCum5QFhCXj?713> zwK&!smwL#Uq0vcr_T=OOEE^!urF~5C&Dby{-Z!fo1L{}{u|F&hT~+6~KS7F;cOXk_ z(Ro3z1ACx}fU+`u3p%6mzBkoVa_`u_BQ|F0dGLs}4viJDAA>TIE@}mHC<&+~H&7gp zuG$pa@nFrZAl(S{kHqwY#Lk!f z^A|ERMl-2)Tezfs&q*e@fl}s7id8cSeIqK^>SHS__X(c77$BV}0z`xjyv3Vz;pEjwu#{@*n6 zos2|6NA{W@76#T`Z(fP3Gbj>TY~@8oxVWKe=-$|1%S_>f<=B_Va>x-zaFFF875Gs4 zLsN(-dSqkWx$Y)x2FAS6ygCG98Xnp*s?H*P|H!M9gi9xn!)p=-seL>5p@DSPYY;YC{m3*6_s6?5pD@z#z zs)cKG84Qbk@{KN3nR==rtA}p5ib3351)3QE>ZM9Yn*ViwR%3_?1ZH3-6g(;A1>*+X zQ0QNY!6v2G&F&j(j4S6$+-mL0UV;X5oBFmf#Pp$1-{eQn{R=nG-xE77FziHLwxt;Q zns(S1#lIZ|$^vPaM6+3YY3rw@PlFlCR`*#Ecnq4&H=F7_23?nW4ol5a?zV+TrA_%1 zpoUrwc+y$p!Z)4=6ExE{s9DU0{7p%7dXb?}1=7T?L`~LBl1-_?a;Z=b^q4_y3PEgW zW`(jcHKAQ-;tj=TZFm^NRH^-+R9bp4HIc#bForaivN4rCTO_Q;%rYh3fGVJ4qcCV( z`w28`;>j1p+odX*YS|7iK_=W258&WdrWT89=*}rrDU6Qunjnl@GKL%@>#T`?(IvIj z2V3J*S@?6*?3jhQN<#$NbghPrR^frQwv?9x3`y%}l7j=K>VQzCq^ivMokQ3r2d;M!OG!q2Hk zTL*%Tm^%UX65}~fkYw^sTU;@XQZvZsjT40rO?S!I(Hslb&mYY{fil0<-L-3fH4*!; zwFLQ`UbW$lYS@u1MZb-h1m0?KfSYvq5dbEG&ylYBTa`d;X-O!hocSNUxwvzwvL&kNFoL~ z=@lkL315BG$C%XV&0b~HM+)US3}s!q*p-N8|Iy6hw&Np}m}$B~KuM<28kQRm3#4V)n2^#R(Ak1yO;^xR?Uj{PK!0q`~975)fM7geQI zc`s|Z6c1uw$M%`a&lWgCPlJqPuhgs?`Zv@x`88!x)}3bN5*%c;ZcBY zi+-?Lj>r*-El(W#ofti7*OJO4t!0+AY?LY;sik@XA?qRhX(li`?w$JrqC0d`1T_Kk z&nvAn`+bH!;EVC37}D-CSYXm9E&C|C?=btHp?4ArbmyjqVB>LqW;w#aDLH{b+j`9~NWfs?!3#A5IMnlBd zSlQm*HhliTUNkmXj)fP>Ndv+OGv9=CHkx==C7KF$P=OTy)xQ3f%d_;Cjr-!!F@1C;6)uC1+Xnljb_)U)xS?p4_>9j% zJ&Te6R@%4$%!{L-JmAwQuj+awEx+gms6KH#o#;}JN)Jng5SUanUf9wo-3Mf+Tozda z>_4g<($^jGnCDLn8fF=ncQaNZu5?eubg(`KH){P^1O7lZ&>x@GnDerk@y*XY`s``u zF$dEAp;^0*Sfi$viCH;WGcCSCANp6m!lmQvs$nf#Rf2YbRc3OW`Jh*&e7X)`V2Yf+l|3xp_D6YUp7IoHcERe(Zs{dJ4lXHV_4nmHf zh)Ni^b6Ym-k5F(ORc%(%}*BFJ0zw|AB z5T(<{_2aGq||l2ITxL3lJ}@}7Ds ztdCK)W%%nLJXOq!V>LIMvpoj_rHZg?l*~VV6ugrn;VR`n!bo8C!p~76vtb3f?FY~W1`0XvY15-5QN&anXdQ6{Pu2fHP z7sRg@1y}v>W?pz#6k;Ki($+93F1|u>+sKz#xk>6+dQ)mZlpgVPWUVz+{^+aL`cV43 z{U@p+%L%$oWeg-=o_ujlVWw#aqbJw>Zxab;>xG!Y%ix`>XYF*Xs*$9jk>lWpZl2H z)b?Q+BX&2kzX-N5JO&F!^l!pC@On|66DfXUiEKq!?TfT-{!GEJC5{<-F2dB3FgR16 zTzFOD*=na)Y%h58FMC5&*|DjdO+56T-H}}2E z8DAgs{UUdv7 zhE>PC$=#846{X<|qy&4a-GQF|1?kic^#stKJ84?Fa~)cC*k6kTvHx@*))GZgRG1$D zEArg~6k-ym>vSfoSt13-wvG(dRE+C%Iw!umqn!{iScfYLCqGmJOS;2$UY5zhb0 zr$xLyhO-|MIYJYmNYl!81(YRQRIMh5RKMhUiTCp6fl*Q92ari4H#JF`nIlY3azmh< zY<9ood#M~zSQ+v4lqk`d7#|6t|FcEs*SOe%v)QxTyr_`+a9lz68;S3eG`ooHgY z+M6VNNvO#z^kpbqPPXd|yOV$)V%&n?xpC0ml0IsmAX(bqFb1~`6+0?=(u0!}{s5)l z7i)|b66t!uhKf=g|MZ1R+h>!B>LqT!r@#sA8_e3Lv&8xr8nEl6T+Y4 zyt}jiPD{Rn!m`Des!~$z*AEC&EkX^5_%rOuG)*FLEY9p}Y3qw;TWt+hs5AiopTa%7?Hvj-j{fs$;_1z2pqj#MTOt*7WCSbqMVUW z#U0d_j8FHgk?@7qNN#bBVwRG@W?)dFQ8h|x5vgkt3vm@L!3VL=LL|%r&6o&Ef*3Qs zOB1*~f-&SeAd>5~=X}+HH-91N_8RGCAL$x6yl#C^+x<$NfGP4{DnoCoUc zP)mz;Y~a+H|JD(#HZ5$PF@~5pW{;AGW^hgzAk;4T(y7jap~ewXQ1Ly(n1&XB_gl-G zhFjnQTK5WWOxYB?l_BXsG&7OT2*cP-^o~$0DsPEHbN;f{zb158VCt~;##~EHaHDeV zt&x6pbHKO05bC0nZ)zUI=>_o)6v!Q_jTdFI6l5}^Stvnh%M9|SU<<^kJ$tUp4O$Nf z)d;_!eWVU~=y=oe2No37xAjXhtjgd${$YtD#ykjc3{U%K=v$tscKfek8pD(7(;o^+ zipQa{1IlB(?%o*)eTQ`Ckw}I~r%M}#rbMrN2wClW_8;gfqXlA^_8UM91QM| zoCB0e#=HJ)++jn|+S+38qyjyljs<}Xy&6qmt?RMEt5a99(&k=?KK}2$=XlHIhdoqZ zTfx5{E^|KH_whd)o)57ihytP`QTM|`%Pd+`i~=0~mt*!6mb z{|4+9APMY~-Ttum%VorjQCtj@^_>(dINevY$0hr!jhPc**YF(>3UG>%9Wm^Dcj$Uq z6iXT2c|9iTdZ~yw8}9SmY1rDgxsB5WU_!q0&yF~2z{?3=E}1yHo~f! zF~r{@M>s;(+`*Bn`{UeMJp17eicExp2QD?SW#W6b;1f(;SoVr%%jos^bTGlXbZnem_ov@yipPP5*v`x8q zDn?2~{s_%NN6~lhI3*!$%P+ul?OYH`n2_({UlZdyq};ycm+GipJ$&uz>6iBbhJCms zK?`B|oH%*0G~eq2Rw#O|+TFaW7@6+po9~OiO5aT>%FJDxghH7xS*Q?M>7L(yCV~r_dC2ER=VHG)UtgyKhe0 zx4n00@tjYTBtW;cx@3gOQaqaC6&?z)4NAjZ{G&*M0i|CF4tqoF>+yua9tm0}*iKd_ zcrQLNz)7~zUteoJv8mbb+;54OG$`H5JjfAZs-p&6-mVu03bu>!^uA}gzYS{eamiXV z=n3;*&-U&)+RRxb6Kf#}{7pgOLKL@p+Yhh-PD5GrDq}R?y+)zoyuGrZ#)kTl9T1aR z6ks-%CA>Ih;8~|%qs3%ZFurUs0&)LtlW^7Zy(1` zQR8?R;qY_L)(|S$U~EY1)_1TX1C#_b%4x!UDSIP_q>to(|B5T8>X6&s zECN2e#4m&GkDHJ?KZ}%@&6?=>AlXM2=HxcI(%n|3k;lWWp*DXB%QAP&u3bEf_)|Rx zIa=YV`TuSx+aLl}69RKs8=VN|;!=pqfY8fnU!E`G3jim3$n6KZEJlMlhx7k zBc4_DMmf$TR%HGO<~yM^HWh&0OB>+V2rCnT5W}_lo>tv-3mz{ZE{rmQ6)(==r0j+e z&bwI{4N}28a+Z|1gOsYH8)C;{sbOTs@#b4c@97piN^US|(Vchd^KM`+@}hz;(M#Dl0>UZGc`nPq0xr8+;oTzh7U%f`ZXkw72i6$NKV zmziYFu(EGslMPi2v5_q|wOTIt^XVhIQE57c+ga8t|45aIe4}`@o!rYO52e7m!t^BZ{?y2B%g_+leF64!9wyZGWq*_EE-@7yT z77D!ZNiyAh+xFa6=86X(365DKyxV9$0Y3ti!C%~yR}9(cTSAR&^hV$$j{Y=2%JoX- z>=d)rF9A?vA0KUL}Q6t>HG!Ey-xXCJ2VMhma!$-xTMGHj*HNfm5G%ITf+Q`ia@#tnT$Xhrw&{UGRhrG$D zs_!q7X5yS}`VKM{6~F|6gR;$d^Vxb`_W zB(kfBLu56&u~BulEkOcAe9!hT4P^3eV#7$DjYZIIp4R6oI_AP-S1eMRGCiKpJwV<4 zS}TVJWC*>mmldTylMzw4z}DG+Yd^bTFW^XV4Nd2_#xcQdf(nB4$kN}Wc5 zMKP@l9FAV$m^4kbSKW|v^^WQRkO!Q4>i+0W+~WP)n}3LF|1fHfj=p|~Kf1guWcG~y zgIi}0i0Mn?3Z&%J^-6sh3Y&mQ^)|U4R%G@)4Qjkx+od(C$%_j@W;zq*#9TNOSf{aE z;en_V+BX9Bq1$$Ygs^hjx&uUK<8ltzHGQh=;E(I)_K_BMnu zqrDVENGLt)H^L0~!pXx$=#MZ25pjb@gC^Qr3$ry{les1OlkLvgx2)>_6m zf&(daWA8=ROdmGurmS48WJR-O$S6^57h2akfah?^|0a!Aezh$>Xz;zy0ayNl&Cs*8 zOWE8zG*;`^92@}DuetBme`la(l^CqRjt<))-*Gt;CiwOuuo(RKtxb$9$5#H)(NR=} z9Ym0*La`#7``8=L{PWQ%sHnh|}IzqOq%_w{wfg3XyX-VIm&s;^UE^NZ3sE89C(_qgTqS`>Dd%_s`c<;-!hA3CMLT}(h{ zij~IOqe2ivzNCoo9&r2s(W6$zKV+w(jRI>1+mdf-Q@)*m+e7pDElj2$4B@!We4k5+ z&v$cv`<$7Ny`hNkQ|}1g1%k}O*stGVRd!&)p;$OJX*li!)myX3zv2XlxX6KaYHz_3 z+THLD?NXe54W}GNB2FOLowC@;Nm9ZDLHHI;H=tAYN-}uKaAXI$WTd(A$7gjU$#di; z;I(7RW}NCIk)#0Vg$CtZJg_ckK3;JsC_<*Hp!A3W(d{*t&yBJ0Vq}Bp~)B^M!ktQOgiMj-l%MiYL}fZz$r4 z@!s3Su(hyF2$1+dNW1(}DsDhgQ>%@Q=p&)Rbv&YOPHZMYwwk?l2sLZ7oy1jVYpMKnQ=%~uLC1khKFy|%ZF_~?s@%(F)^>j&z@DZ6fyN{3JsN2HO#BO z%_>IKheQL)pe_&cTJ?h8^2m7y1QyuueG>IBoEp8~eX)O*55nu*7lB8fl9NZ6YV1Li zfCTx#?lqnyfNF>1z3Q0msRx?s`Fh&e})F-q33Z-NW?isln8X4I%ME$q<{mGY^k z7bjWk#!S?&Zpr~-=2YN!6MQvIbyOF>(RjdA$hgIu4zX7@3DU$+*99m0B1CY@OD4y@ z0~l*|sC?NRM;%iy71pQg4Cp|$6=J9hcZL{wc8G;8b27LU96JzV!#R~Ud{7l(CJLeP zH#~{;H3xzrw^Bjs?XQO&3TltSFl4bM4(?JHh(u>oMW?Ke9wz59DOQAqt>;|y5q>cU zPlapVM5Rp@_5`hhST&*%GBMdTfLJaSC+-F@r5V(8FekR(?jL08T2A(|SBoT}vXGSI z(Lh5UdD5ecvQ{3h&ugfBML!Bj$wn_&?56+qQ}n@ z#lx<>OdUSt_kg)pzd9m>Of+zIaIYV{f!fS6;wn9giA}7rFqFf z<7`bJ-iFk0?7rF)BZo;@VTq473&s#}g4CoBz%G?@W4@`?6krE1%~&!#%jPCGH;D$e z{%b*R5ehCvfAtWesVY?VBQMSDBVS)wECeKJBTi&t&%$yZ-Qdt=GfVQ^k?G^vSRS<8 z+NSJCYvdD3PAuM1ji`omisWSCt5cZ^hjYT-Hge+JB~J3bb=>VMHYQBm&7VJ#iA|;H zPb8T~Q-c}HD#9>auj#TAdf36z=+T?f93Dtu^v9ibS~y)~Pb*i|3&BiE(I3HOKL+qf zoySPrmNdQ7vxu|(8pe$!{;7R?wohByL5HcX?qbR;-o(GRy;|B!=W#}x*kzmK$|5@rc@w_ zyZq=V{YjZ$x^lFeRKrbWnQZ(b=jTygcGKi!3Z(w0A? z%`}>+AGjOCFDGY#9m?$#h3jhaGEbOC93g~G>i}0KXsp(y8}HaIou`OEW1y_BqoMt) z%~?X;%6z1lRd^mda$9=Qx3>E?fsSStme&#GvB?B@BY8)2DGp->6EEd=Q`HO&gLf3z zC>7U=(W8_7q!byUKySQpbm!USVY2*%ieUj(A?mYWU4>q=9zvW-bFHj2ljs-b-7~x zb~nzNu;H;3N=(qJP{uTR(OiKJKQ6OJ1mnHnR_e$@4;~$!1b;Ok4I5?>4jO4eqc0@h zw2*c1adPwSL^mfsKkx}$5#sRHS;dOT!@>XDnUeL&Xh?170`zB7M+|0|S)4VA4c7Bhe@k{4JOB&&yvY&A=7kq!orej3QjHhOX|8iwB2iAz)Fj%errAeI1 zaRk|EV-$4e>B>+QIJM>{0u5Os8rS?bDn0UaIb5{lxim+De)GEZrXE<7koCONBdhjZ$hW0 zEJE$d;dfqQa5ea;vUPSe+4PMtxA!p6K8An`VV@2p##H-X$NmakbjI>`tCTM2Tx)H0 zho{x$hI*N~YzBR`PM5or_F-~LR)`;rZ?dv;gsFxHc20CDEglRS=igwrzB!CG#0Iu? zz2P7CY%YrDPW#+t*Q%1ezZQ;mjLLg_?VOzLX_4|(OpGNCrh9R)5Tx5k12bepd!#c#N_0bTD*d%Aw<)~lWK)9Gydsb&e{SGz! zOq|gPp1Y~u<2pLq0Ibh~4x~H2rCa02m9<-O!oCrlvZpHUMc()p2==Qw9vTV=l_uQq zM=L(wJi%@x3y!@1yuB8ays5(7fINB6?d`udym^A+nFuZWUQ%dx$F$@DBRTS3 z=ave81FL72J(M?=yk7Yx^8Nw5+7jQDWvh`S+? zrO$q$%zI{m8&^-lM;+4#62(XD$AkcV^g}4`+iHGutUprVxonRc^{i~k`#f(6(edg- ztviqD4Hjn#aaqE0xB+GtPd2687~=f2u+E6zZ!JB<`a27~f-@+!T$G@4xp@8Yoe-?3Ej7w0gIEL(DF6Tln>E zX@NE4%rD(+!|^_qd&bCH-`xGA5^-{2ka5`&qV45tcLdvAd2%{?CDC&^R9GbDWQ~9@ z<^W&02{+ra0DxP>x2}+IMZ{2r_&5XUTRrGQaD}uhC0eBHN}nymI|1v8VJsaxCA~Q` zQ3?=nTPhnA$%q1Ui2};#Fn(es!rzO!CL)SlTm|#vk8)$Z_@@xxECsDxqlr4T#S-shn0Wd1v#sk;eaVgtHMp2O96p7EDEDeW#6@*NkjW`NzL=;H@sOQ(=0L4D{@aiE$bI!y=2&q zuufTKy&lQTa@QzU2B}6}0tQfA0`|!`BN8A#BYPG9v}BdfBi($7Wy@-+!s>&6c4KCH z64*fsU68PH-j_@Gd6QP~%mV?)9Q2|EQP`ktcU_1Kj zhd-4G2Z<@}=07kG_h5m%QiP3-IU32c+4OowWeO?%QjY-y3nu!2{55%5d37vC(v)T~ zVj~r&Cu@-XQD-bMMa3;y_@c3x$$`a@U|Ki^OfF0v`g{Z64X zU5d;TtWBs#6BbDzh-e6@Ni8r}CvKeG&Z+RVD$i{F+s{ z!U!(|S&^zXSE18z0`s4et%OXe;DiB&3RSssIe^L&c5jI@Rh_5!D@}RY55G{|qA~QV zp_u{BkC2ySuyj;XMWC)MV?Q?G;Ur#bih{I(4c19BpFKmy?{ryo;d!q*QI-{*bN%_4 zOR?{|VUUw({PL7alXy)cUEuURFT976JXRgMP_DI~<6)6c+FBTrkCj{9+Ns-R@dl~D z&iR(KP0!m9r{2Lbq9SN-#RR-DzT%v4mcQuzi8gK7r<(K}oo9`ll&xpYFuS8}C8nxK z^(u^1Sa@r??$*;HtVvfUXl+6nzEf=`Y^>}=UFi?#`sQI<_%&UY(Wv8G{>Hr)=SN** zr^5$EUeovzBc?oU-OR&v37hVd+K=Eopy?JIT#z=PAZb15gyQ21&i9>z_ywW#+FTs3 zftueUt9#vZ8pUPUDR4ky>9q|^gM~VQi53Kj3B6US6P)BI+AH0@VF(UiO0UWYLUtLP zS68z}VDFE_qeMNJ`E-nHgZ=57nLUkp0c;thMr|EJZ2IQ;WN_cJhkIZ8@33$m0-vgd zeND9ai&EpQ63^fphjGnO5KJ;ln3Emzc})^ zzy6qJpXZkcvUtd2oT~LSdJMfRUl9IZdOup7?5dcN!M4WqSxiJCTdPY{W}_$*&#IAPY5L=} zgs3rONzNQ^&quh2zLsA@iVtRnT>h72H8C07u%~i$AT~T$mSI*c??i1#>TEcWT(>jY zwj{M6usy~J`N{yWI3dFlN{x27%Ik8I8cjA~1BlWU+pv*RE)qsBUNkr$kKwff$ohDR z*ix92j%Z!*Gsd4;Jy}~RsW+&oR{KmGIApkK3+z`T;w7_I1_=#EsefN;|NwW!pCs5D?3f@ z(0bauQk)QkV(U*~=~vC#hwGdnBP*sk#GQldjf)YZO3aN9?<0{`8GhqirWedFb-$%=B{ecfS(py!i&P)pwp+sU8`(o%QIGH8ZWTknk5sWj=O>0Yd8l z(PYG%OjS572nB?wrl8o6dyOsVMyMCRi*0ZPHT7`#1^Q~KBizuRlOg{OaoEb=v8+Wk zKVlZSnMXH_Vq42>Q!kO5=p%@St(9#ibU7s(S1e@I&{Gb*DvurGzJg+y`@WoPSu z&6JCO_xjo}Q)Ju8ENiD$j`$yKHK3y%l4M)RjEQ6y$Fvf!Xs>Sp*X6NCWr^?0+q&x zn}p(XW(yHXkdf;fin2;h+C={eaQ2EWBdvY_~)6N6m-z{B|hH(A3f>kQfmVnST$VbOwy#X)GEoW!% zzm7v>05B*_B>AM=9+<|W!}6{MAJzhE!t;^K#WD2*^=p_~2YS-oUDG)Ap*U;CqmM_i z=P?hZI9)tqikVJBL!>lSSX_hZ+u}GT@Nwu|AtCL7bnQX9?PLKR;F4!Q#v!jn9|E}i zG`GOT+T!dnHm$llGV+n17yO-sev=cHwht$q!rvnMF%UxS5vlv~VBr(O{xMqH4J0=k zdf+H>V=-ZAb|cV(32-B=k85i){b%9pwy@^Dqk94$*{ohQ>TdBpAP-EytXQin6zJN) zgtcfz4hbYGH504JT}eapcy0LxE>g+~#;$|e*nee*yO&r=3L<3=B;0MSp*jC4vbaNi z9*7Ov5b1CszOg{&9g;y9^vdGOrtegaT2|<)ng7F~S_QiY9d#S4JQD|R$8250cBEA# z!C#atjj%Bb35jey;_GQ8pv_M(^ zbM!Kr@WNW1d!+Nl-M|&v3lbQ`Ffi>~#&q8b`KN>c!DI2q>mL?f;(msR;#cm>D8R~U zmnA>jEzSn_n7Q9?1Vb(tpB4WuJ%O2Cm*2CW%SneD!L|dP37l7jn=5NRg_*Mi>>|Hy zORSYkfAY<;l60bx01Rx2`=3AA8Qa1&HIGi86mUbghJ3S(ve88mKVTN;dYq`-5|WlapX%I#eoB1=wM8MF`ro2lVh}C4?6bYay`cT36|4|4 zjbj=yJWYJbk-{>J2Hbi?E(j%deaXh68b;yYwr0{Ju2UYu4VxagW~5PGNg1 z>rpd;*&Hv4?VETiVBM7~s$V98=Vi4mWLm+&6Eh+2sEE9g2>ZcSOpp@Ho^SRLHkC$A zO7o0R;}+$r>8%diP~Vyq3FgO&jTelN(9T=6GBOH8q7QRRmE0b=5f#QZoSuLK`Q^}F z+5RC#EN_q+pmgsstSjJ5^)imd(NMc;MI)$a#<<-LhP|ueGJ><2xLTHCQ)b#j5?ncsR!;N|EfZqbO z&f*0+m|xmq_2aBu9?i2)FQf~|wgEo=i)u*is)}ywJ3IiG^#=i?Lvq9Hhu;PZnpxKM zFXg0821lGr9uB5|+hGYy+$vN=D(>2{HfMfq?)7#47iDi5R5{?ReFB3IGPt|D+riyo zaA&ZCySuwPgS)%CyC2*g26q@>u;qX6yIZxp_1>+`hg2#_C0~;6q@V8RSLejEa^W`b zW12!0hlYd{*&qA*H1|!sqk9vRcG@`ZeHSwWH<$38Tg?+ajoT|bWWs@44OpJUS}1@1 zoz5=5x|4FH@`T#nhqWz7R`duxgY@2_g+4C{NK&1wGEP;hl$51lbEg?OmhRk>C7(9Q z;~c{mYnw2-;LDSypL~BJ-yXl67Ik9W&d&JyGM}2rH0;Je^Pi1bVhXcwvH1@H&#{iU zji=JL{0kzMpD-JLN{45110qfjiawe#-rQey>nn z3ue5m^u8#UF)7Bm*}5PT$i`2#GWWe9WIO)yA%`#QgL?2GBpTFv=n0_aT1{a9ZMBSA z7&X#Rn7{WWqn25BJm)7S)>_kei0d-cC@IfdNK4agL5#O!Dm&u%=#0x|B&N;h+&NY! zMuchV6UwBfop6m!itaOK*B%}vl#S_{nYCkSX^M^ zA{Et_BRg!R*3m~zJ6C9NF>S~`k8MsWQc_Pm-1Tb(u2|#GWypi$Jry;ybY(e10?Ms8 zDKzEFmd%^L)p`XrUp-Y7T(7>pvr~F~Kh>r>?Q`D5m-NMaFfz00XFNMA(5n~KRijGU zp$K~;1Wr^^OWL;F_sSh&a8-EP7>N);8CF3-wAw0%OxCKJl;X$^8H5jEzM9zL_OKXi zXii=0r5f3^&61&3l!%OGVuAr*~9h<$fV&zJM#b~Jfn48GgGK!&qtvvWKL3~M!2qE%WlK8En!<|l91+8?j5B8KeyLfsMO@;&w z$2RwjA)0qdmM_VnfdSu*xBY9fwNn*VV46C<)0|=d7m$DU?85h}+(ukwOSjvZ+-XSg z^fSOa>(4~DDrs(>@(cNmSENFc;zGJ(E&<2%ktn9xMy2o&4-ra56ufzc&x31fNOcjL z8vDc(iaOb&fC)yNWV|ajcv%fnJ+e}M#lIMFDLCy-k`_vhfcvD1K1V+$wcVGxCVZTC zb1)Qxx&;ezCT6b?zB@I|tChT=+6DR- z=;<`Od65?#ZTg)8qZbtNHyeO-kLZzkZG5lj+Z*HCkz|v0PZ;+%He^(f#IsH! zpCi{_DQ8|_K6IBo92M8X57~xKOXWR8g|l`~+139Dm6bhWrjM+K2KP~b6}3t^(gWuT zO{TiSr~67QP#=Sa7EN%k#!9QhNWcbtx-f*{H@f-&;M%kIRpc%Jly?lyI;kX)Rzf_dv zGr#&b6BT`|?o{(*jSSZwe8$Vi%(W9A?YcPqS|RV}&;umgam8bGTI%2gKPTjObx{0# zb+TSr4_97X%JfC;_Jo0(t6f}>H|nTMh6EW0j65idUEFETk-1euHYmnbCEGOq7oG`k z3vMv9Vw8`$d_LL`+dh@1899Tb`WMNoRrE}lW$R3RPOBo<>#wDa$qK>7JEFMf_IUyl zU&FAZh~Z1s%GlH5Hk+CZN?(iDCoM~?g8Xzlw>jRq8Sc<`M=~ccmiIfPrZl{ZDO{|9gms zvZ1XRP{hvB1nBsG=Xv~hzh$=CmJ`~4+`7GOIM;*(HO-S+{KLsn!l}`V!i(~SnC0u> z4B(Yp$2s*fE<&eEPJ#}i4uS@s`)-s8gXbLF9q@tc17l@uGdBf_0*`_>aR&G|o0+TH zd5>glUzXiYGyG3(e#e`gy?h@Zl3*|n9R9ZW3H4BR_72HWT*g%jbU66nk`OGR!l(yhgu6os#>B&rf@w~S=J+mwd`|FsD*HVH_0cyM~or3us z1eGN`+D3A0bpPsrX*#@C6q2oYqvLEtAe}jaz?6(-S+>e-1f)H!?D_gC%l)G2CCd!{ z2d=a&c7nnZDtw(4G@45F#wmz$(S!O=@CY1)Ou0$vl`}O_rrKvXn?DVll@t|CfCM+| z!72o<7+Q*aU=EEEMB3n5Z4)!A*fI|oRqRjJi)SoJ!&Tt9%cLvhLoyJMVaVAq8-l}* zo1Q|Mu)(&Ckl$69Vk*(xQI-{akGf4#IXAYTRnajvy&F4H#suL}X_5AT2F-Naml1t= zluW%ES`eroj3L%`a!`;P1#X?fT(b+oNb8P;h0{_cTo5Sx`{xZI^%l7d`~-2h3Ow!a zR0Ha^XdEcDMfBf!gU(flJ#bfZVUsY;e ze2vl*{J@c38DA^~{Cr1XjyWI|b7c8zDskAHyzl6?3Idy^uuYrT2)`xyuG&^^bX*+0$*5jg||g=|x(j+A&;|5acuG z*ly$Ti}8dAHskiaL;Di$gbCpHac54!glP=Q`9d?+(}V-Ga+UFVlL}_mRI`&`R+2e! zE%%B_yr#_=?vXjB{;#L}G@5K3(qjen$D4F}MM4(pm7I^8=%TZhtZCne8+p{}*t%io z%y3G>10LZDWLk0|41sOvdQbkdw)KBd7)^3)Kl4|4tV`p>xO}p@P7YfWniPCVhF4bz zUpL6M zrO3JZf?^(;&xos&emKuvZ6*7m>62g2sViIz$@+u1IVss=XDHZXXBpUIL1gT)bFv<8 zBOu&G5uNpuA(KkJiw z=!);9TSH6i#OY#(KMwJJ)g6nV$mL2)EbSV`8Eb3r{HdPi*MpdLVcKZri@3F~KZE#E z!I4-^aheFvPdYUkk7mwiIsi=bd1OAE?`@$;f# z^7!(}#-gRMlkMYgiR`1_1Bk7p*L)wxWm@A@-CwiAmB&Nsx;0F z`rzT2-+*?!zUx@rY>6pu?9)22#nJ9qu6&#W2Yg6p1%y-QC)Tbsk<F<6Q1YqFZb8MPPu1|DWPH4{pp~rgiQH*PDh(DV2XCn@Zqq_`!(Byv{yHG;JTviLjEO}| z;l2VmN?R6-J6qmSuS|a$3aqh$sw`Mbj@2=_tURIE8V6K}vKN|BQT`<5HDyEK2ms!2 zw^%A$lEuvN#DWO6Sm9=K=4!`43Xm^bP1@)f6Tgd98`alltSSMuZBIKHlsOd`Y5_z} z@Qisn!VqHI?zXA$n9Q}iNQv-Qq+`s>Hxr)e+P+yefnNB87O=I)ZjM3Pn?JftG+(wb zoGL#sW3-5{kCZ1GA~P5BocbZ_6a#?tw3;IRB#Tv=*w7!y#YndHFPgeY@?A_3j6+9- z7v>z}NBZa-_3a}d(M*owogIO8k@;I5Ka^k*t3Ar%MUi4OD$$J=AolXTXDx&oTwq@d zwYEQtlv94xA4nfpUFE~}v8Myl>NINY;#KiwtQSbk2*SQcB?C|MOaIJe-wZO1U2(8( z^v6X|TeN_X`}>egB$Zs=$oL<)gZxIzhaa}5{M(6-@je7DLTk#(ypUKOkKH z=S75#oh|HaRUHj&ovaPNNQ3163&NG6qVyj?&_`;jz7F!2F5(YAA^criq39%NWECU| zS4?5k4?{Th*V6)dR;Qu0`gY~{q%i~A7(uX)2$*Ffg&QLwW!r1lv$dAqp4m<$*qaUE z9z4x%%A6^J>qOIFYwoeo$H4H1gWkNYdM`FW{F^KSp89=t?dCS2V14j~HlJ!h6EuY^ z9Ev8exM=5!u6Dn3Vjkq_w$BnxaLG)b+ZI6d?~F#Ys?Krj#||n1Agk(MzQ%d4g;&Gy z2Kc3%TF7LOD5FpHEGJb)WM?hSb-DtV_^*!bmfB(GHMJgCoy0JuzLa>YQSUyQ7PO9l z@VC0o-f_KFz!4Rq}AS{Ff0 zW0B4xaf!s%>g(6|GSxqw#eOZyUBwzYctj4rMgj&NK1<<}qmiYPTSS{gnmAGm8sXFE zil%ahiPNJUTi|m>5EVqj*9ZBqM;Nz>0Lep#yGGIXu&XPZ{>1xQ#E)+O0&{?`)hl%% z&<4Ue4QA8R@6$BQ4~>zZeoh%5txYlgCqoooGz9X0J(z3X{-+G_|6*JG@1D#5{?4D) zhVxckS`s{-zB8p%Oih4<{_&H{l%k*wN>{{08c{e244Q#iPCqfgkaDK0t}UJ-I|WESv;6HZ+RJ0r*osbxw^&m*M+SW%0I!UZmo23(Zy>G3Z|!Rx7l{Hmt3dW zZl+nH%~y7m?3yL0vZ!|e3`9}=j-pDt9APM5EbRdcpStz|1Yb_jJV5&x4xHB54=2q@ z9EX1z?TAJCINm;k{<>t$*b%3@Pvu)vPF%t$yN6ubD1rw*9$4+cn>U}vnRlSGDf|-} zaF|w5!zm`tDoAYe$8M6lD;S#M-+LN9Nz-iF>V=6D;@p~h96&Bk9>+h9q-!%YVP&1x<2YIr+&pf6nMrc zR%FH{zzy;Qzvt)i3>e342ed2_tL zs|w<&E(vYJ>=o#7D5&!6PGHMvSOvfD)saBGkm|9EfIiVKwjGFvFi)17B=}v}@g6rj z30!-yoY82y177xObSk}lYYW`KKQi?Pwe+QzoUt}CdAMwkNL zxruol7+Miqu!`UB%rth^+jq6*56Va!bUQgoEE?Tg>Y$BphuUvOQs8mUScDrC>$7dw z39DO&KOhdRa1|XfCoQMCHkw_nJ?GN=rYGH=Q#b0yVZzsYY6)LT*Qfo(i1mj>4YSm4 zeWY#1*&1@7U>FQwr4jQ2Pl>^GMA(v92#O0F`DF zWR*wzyC`8Sq#=wL*slWe%IMK*IY&mK%Pa$S23LcgwN^%PHA2BtFd4{oGG2s%pza?G z{ZUQGU)7%}5d+f^Z9v;lkF!vnmW}A4p@eTJ=X~tqg&uS6i-1fEX|-|LSo5{BBYV+C z$HCQQ^G$2K)w*Rl*U*&_W>jl=v4Q%dJrmV`GkH1%;ip6UtgBhPNqg?JfBO2(D6EAb zgw#T2zIwu1 z{73@`PCaaXmWWI2Il8Sjv$jAL9FX#GPT zaCbDVb86oL5UjW_b@@PW6vr)7NX*be01dae53)3h9%o`j@TgT+$`tp<4hgXuF-FVi zsq1UX&!EOi+1i*+XdB5CXRw~IT?ikVpt-5A;%t+yZREk6k^~XvE8;xB4fNZ0_Q%~K z1znM4VH0t=Q(d#3`2OQw7$T{V$c91Oo>s)}3VXusipv#S^CkBR6b^bz?pM4wL-du< z&OMmLd!zU3-(|Y<4a!X#O?#e%=2!eR_u>)MEAm>ul&Y#L>b7nR`qnhPTYI+qW^1M-aM{Fu-*|n=lsfH*K719Jihgs%3)T!Z|e2E*FC7vJ8ou z19g#i{0_ARLj=FLy%g-3B&85DFr0mU)d0&%0MYcl4C%Py33fpRDv?v>AF%Vrv#o(`Ej>rH<=R zYdn@#G_xoK!KQ&T#Nsc?bSL)LBc* zLuO&2MzHN7ps=tNj(^U*RV(o?>$15CI=9$KX;nYW6#Ivq5}u6JVqjV9yuZ_ zqJ=_GHE>z2sYl$IvMGVw+=!*Fl+vj5ZpNk@1^i`FNR3}GWR}4?g_BiY@GOj{=CmEd zKXW&Tc`7xE)%s-#;S@H1c9V(PxjLgeC7U2Hv{rNj@!6JOwg<)}33goI_wQ#Go5s8G z9h3Uc7fCkPnzD&*H|dREjEVmS$~k$<)zxZ~I}w-Cf2!$CF}@6@qlIy8?%0iVDzPLx zON{GdofqV3gYei6y47=03&nl3VW~37iBy|axr__oYl`{*f>9=qBU;FMf^u;+GaVWG z=qj|eBV~Aef-7ktdx6GG#0v7ET-LCI&ZFqK`bvP>eopp7*>Teo2$L5C01G!)9zm^| zNZi!p5rPD_HEeBK99BXd1y&DyIkBidwjVakZ`xG<9xBYvFdENCCFtf1)~A@krNj0# zZ|0ulkm&{z?9+3Z2j#P*6g7Khmpo;3{{2h!6yQd;*jB0*#!OX_e;4j8-668D5iPXS*V?UQdYbqBYx+jOZGC!1OyQq3(Z`i-S?0!Gt#~OyQcisK#m0PU z4(GxJX9Ar<`Nb-FGpTZhdSHXHlDch{3QaT}Tl8#{M3sz(bH%$}CwBk!RqTXA@v7uB zU&p?1E*DhlENd-JgrP)ydk9RH;U9>r2opDULJ5!yf&<*Iw;+@9fJ=BcH>^$fl7k;K zK2<^fs%8UgI*NEHulHI!T8AfD2@fdCvCdwCHFOHz?D zN3z`py`)Oc{lF`^7Y0Jh%EWcaSN`!XAI&&$>g}A`9g$#cBlF9AP}{H<@7Ew~{?Ljy zc%(ME9Sd|m_za63Mi7vYiQ6RWr%`LKYwVpnjMRNwkki`STr8Mq4yO^z7->E&H97%4meVl%2q^Ljk^veN_=uH*k9_oqKV;O_9g~k@NE+`8G=y~y* z&-p%FC>9S&4}$8TUaC?*rkJE_I`g;ay{j!XoKKI~Bi58T@`b!mCoyCM}7r1h2&H@Ghr z@vaB0H{DphThBfd0<=Nw5?0fMfJh7JEkfKuW_8$@dbwFpTg&=CVO&9}evA#IZe?C6 zNjsQyod^yI1{^XX8-MKEXzWqLaw_vUPp`-ZbVCJ(%VM7&C(;iH6u-N?uzPcryPCMn zs}z6${&xU+3&X3Hy=SPvG3>ia6g=1-V{|@6@cU@=+2)bgLZ;A*NdB^-d`Eti-BX0H z&kXmCGkfm=r{DPe@4(&7?XA5gu&~utP|avY0bqzVjo|U55^|P}eRq{li)dOs@+?qs zTCpMD9OEg4-2U{FAV|1-D~IAT)W=yF>tD_md*>V$1iPX>%H0LI+pi@SbKfI- zj;%kBZE)j`Y~!hqGwqg`*}`;FmMyre9h9bRkdmN({PU0P?V2f%h-!lo=T@McTPAB# ziFV6rS01WUNB#WLgPOrskjpY?g?Tn=r}6as0kQ2^Tj(P5fdP938jGmt2+*CkuvnGf z8^h5fy3-t_>V={zfc>Tg*O%=qvtHzsEX{JVC0)ASmo!5Nm=?FOAT}Z==H~03Q|ZmU zS{F9!(=)p&8WGOmJvS^~ig`A~0EjKzvSA6*L0RU7=p4K3Jx#^yAowg30(1&7Hcmud zw|MSsaq%sB1-Rb-nY_BFAf3K_nN@md47vm@W)V8_$OLb;KpeOKIC0@1eF~JQowmxK zo~%R{iO%ZD#9Vub!}!U>D6-|q{m2`slFPI>x~f{ubH_BU@I-C${j)`)cDGfXp`}S_ zR!2@F>eM3&nCF4BpB}$9xpxOReBl{;Jtkh^A_MG@w;?hw=1aHS?e+og6^Q|##S$rpR0ih!)e1`!Qxuw&{c1$j>V<9b>Sf4FT zl}Vs=3jZT2M{~(cdVLf19PfhI5^dMnnbSZeDO(dQnu8X3i}3=bK_x_vm5{F>297Td z>Z&6-{dXFx?}E4sm=4HDw^#3$J$cEJM zw9v6(N18CBJ1~=1Yk(XLvo$a>E_}@JPe1dIV9LJ5r|Yp%VM8u4EfDALfT=a0=_|t~ zE?LC8lhXj-qx72QE)PX#1+MHl>>LXcs)v6$AM%UaeL^h>TPfzi<6llt5pWhZK4~tBr&s z^dlJ-)wz=9;pCO@&H9;h+Q4FVnRVQ)$JhzZNKzS_SC^bS-f}Olbgk~off|v3r`qRt zu8REL!qjJ&?xc@$XMv4W^1}Oy=$T4ZK&>O6&NqB1O8X$u>_WD|Siic*{e!$T>js_s zNBH(9QgOumbgE0^awx~F3m5j~CndX@mNhZ@M`5?I&dh(fJ`+1VB7Pfc%jfJ7AKyHX zK^_m#&GW(?$w+f4KUs7zt*1|VISN0Qqd#;A-isgU)G!xG=7&%TZ>&|hZvyYfCny2W z-;q9Gt%@8BW<9YRu{FJx`umkZ-#;VT*J?O34_J{9%D|jdpuCbn7@S%XClLmg-`~yt zMI9h8VWPFVUFVhA@Rkzmtf9G$-=9HI8STlV;)FPpc`Yvm#xq)i_Pg^uFIwv!&hO|6{n zlI$)PPOM-p_PPK>puUCKTMr3dps65_>uYikXL3OugxLo=15L-x12sPsCIdcj!-=tT zt}YImd5&^QT{|Ip6av1j-R&R+;J^kLJBb*0N*tepv_y7k#KGAb-j0?~s$1&qo6+jl zr{>k~>ofV0COT4h!;vlu<+&eieY2E>wCrVX8u*>tqtvC2BX?8QW|nu=)@GLa-GIC+ zkUKVRtW}Br44U0k{8Vu2E2g|UK`TIB4VcuXg%eyvfGcbWfQ?3H&U0YXtB^8t`M~=zE!9g})6t`l4G}>~wC?+^n--9h+Cdi7xLqF;bKIG9S(fP5w~cyP>2T#s~(n6cj6{JUfKxY zfUlTymG^XzHd)tP`e^Tf)Aq!534k?N=O}wT}p;)Cy zQF|~YHKK~)qgc=W??QegOLRKbfYDf+LW>1|D=`ks1cO9oC|<*5nA&bB%W`^c=!;ub z7HiQhBg6btjXqP;A|{ZWicNB&p7h`Z}W?D>qC z-$2T=7{l7*m#(xEAYOoT>e#<;aJJBy^Jgk|kiU#shH3ZK-X8=lF!`Q>jZ-7~3pVT; z1qMgF_?5OuVt2CO>+%|vG7Y%g=h5I^39`;by>$lzO!3jaxA*W9FwPD7Xg`%v?ZP^;$r-|E32=%v4v^4;n3lwJrngO!St31Ic|mnh4l60?xGa2s-y#N{ z({BryiOpB*oEu#{Jk<9$f?}a*@}`B|>UikG9CmidEQo!P&TXVZ^@mM=#97#IWd22x zE`t>9wmlbvOXP~=Er}Ta5Oq(CpF>GvkM1#Jy=Tz+$L*XN>EPox@j_g(kIEp^s66at z9Bgc;*ZJZ#)!lTR?IcDqM;NxP039IK1-!A*T;x2Urm-) zqw2nIyY8{K@vPD>n0(~@p!i^3cQmB?kXX0fr0e|ZHxwlnHc9|#6W-_uF+59OB@USG zupfFrFPwMc?XQ7Pwgo@`2RtNFP+YH%^&Kw4?sZ-#_{=`6y*JW~*NEG#pomS;FP~I9 zw#mt>3NvX*QTqTCq(Ld-5o(wN(yo4H#y#yHBMe9*nf4)ux*@GM5k{M%rRI{+4xub( zHJpaJLFd+6;!%0C&TmLFTYX!?6D1I&?9g1_SWMedI)<6IL!S5$dfe{uuSX0A?rl+< zCG7bS+4QSi&&=7-8Pp7@)1_pFm5*;p+|nhrSJBmD(|ql zMg()1IO|QF>%p#A9=c6&_J|Z19JbC`@-gW zl)X)??y8R9RvmOiiTiB-=$n8y0vap~0?Z>!oqP_t=cWcyk1shZ<2-c>8B!V$bGb-` zt(ajtKO(J-HxGuM9LRb$Y%tcQ8pE6vccX-IO7RJM&G>Rkxm%g~oIu}l%pe@Rwu9OT zU~dk+`tB*bF*MDB2k-HF{{C!~cPZJ`B~FL}FBSR~`+o}LwEw$6F8UR{C4sg-E$o5T7Pi3u4&X8B<4)*6^iLmtvjdS>fDp;gp|J#rydNH~KNxeV#SBD0HA`aFNS$nRGMn=+H%)X=f$!__q17lL4_ z?}*~b2)ne@g_X{{w)m4mrs5}`x_w@^y|#MaypAQobZ%0RG0Z2$DgNHx$}x(V&x*tR zeYFRJ@d!~%^9cE(E*nQCkQ{VKhOaO4jcvJCT!o7y$n}<3IWLuUi;Rae$}WV zD5#=cuMcerAs|HsNP6oVbJ8!-p~Ei9rbah2;B@99+Ug3=4%vX69aDW~3(k}T2`}1_ z?}C8%*TPiuG71H#Pfe&~yj4-oc7@u#?4N^PHevbhp93;7i8V?=GvzCwkRC=eu;XE| zQDuX|+<;C@Eyq)m#giLSl{J>tGgM&C&yY^dz*|Vdl%&ghD3@kPmN+uxFIRzw@R&ML zFcg?(KQJ}+9;++6vVnNfOU32cs-e7qG~rV$kNw?I>|&YVz6hFa;Ao9!3uVg${I$1C zYGY_T!O8d z2rhql{8Ky*K?NFPaRq~jl}x*F=2{t0{b0p|00my9QiocJu4>qfAlv^V6c|m7J&c26 zhSBAZg^@Mr0flvw7@daEH857`E-%dQO6{JVAGKP!ix|2+L;+>T^1vy2U3b$t)jiep z^!u-XC=v4miIdtNnU{#4<$WL! zUHg-tp4ClghevSJ{Y;@Iz5gb7v*Rr-U@uebR0Qd zm|o>RWWlExV~cG+7$X?8l;}FRX;w`5>lgEu0Z2<5ZKaArxV@{1@M2q2Gd1KYj2=yJ z(0nm&V_OqVu`13p?r0gv;uxZJjxj;KZ6l>g0$(wi)U z=dMab;7K-}G3+@fNeUmuNY5DzwC16gv!c%!BWVn!s#bDcxU#fe{#Bo#Ajom5OfSO2 zamZ>p3x84IVO|J*NiGw-?i5c+EF9wz+r+5M`>UAqBQ)a?uzUbx-KXdd-)qeFk>_{* z>W+(CrzTZ~<*`bVYEY^f!f*5qSBxK5ocC|!pgGFBIR^Cl5Yz=)8i=IEp!XRQW(W}< z-EEG>cZB2?uVa`WAJeZu@-3(k)n1Nv#9=%RO&P4B3EW4Sj8yrHY0B*E1!7d;w4y0} zL{AgLDawn2v}wwJ)r^*h^q?jb6z>7ok0ggW+UuI^7Iw_UNoBLsL_jsShx`rUkZyt>aM-+(jI52M|Hk0oDa$Q$NKk9^qaiFQM(dmp&XPdYNA4w)u zd(q{CQB6f0>g~COiajL%V}}$j2|~(<>-~u1AX;xB8(jtw6Vx5GtPFS5hUax5zLKbK z&S0L03ybH7i7OhjD*Mp}Eld0^IpSo}`5$*Exxc5>e&HcSD@L`T<*!Z*%* zCT@v5AV>5`C2Fao=b3K|h<^y)mUrFQYT0leueWJDO-N*114?Eea&n7!M5XlKRrdI?{mI?4`y2s7Uh6j`_lf>Lp1y>>~H3G z7>3+ix%YJVYK+)hyN6u#8YXfpiTkk{C)l5hdA~c${^r4=u*Vd6oAyj6_<`$p5Ek2; z(%hT$=epQKKEv;3Fe=ylSyHg#RuT7OEe`ih7VZP%vt(}v>V?X;YS2&WK9}{4$>Kw& z>_gJi^2!hR9QyE~=qZ@8ojLC%>uKi{*T+wKieavLQb;P;k|;@5OSBzW+>lP?uI=n6|XA zEYc#I))rKl1H>%9&Pn3QoZzlgGiSavrPnN-061~=n3& z^kkLNb}QtQV|zkwMaC;u=#uqCJws>+=n zmF49*!*TpHx22?{TAxt-&nb>5uTl7^!VgTdO}nHCl(2ad&MvkH@zLlp$i2VXZY|P= zQf5~~JQK%V=QW#u4M2&jeBX5TvV|MJMQ4tbU4&fi2T)T7;p3KoBhbj)RAvaU)CR9v&v?}PS!P6p|(_iF~H^4{WFjTkN>^~_gJXHSZ4hX-TD zhEIPpy?wRghOv0sS(2f}C+oUSg3GcgsXlHP$FdJ$c%)$O6?lAZ=|ty}wkf;ins`Vk zgE7!`G_l0JkkOGLi&IT6o|vI+szM$kN?nDarKUd75=05pEA{Lvx=)t53!AjoKUe4u zH|@dhhRos|ol>7RQ2&P{0ELU5dj!{J3@){R4q^1qH|}rFPo*$71@RLu7#Ae>f46ey zJt$y z;&dGUOzxK>u6_ULUv=g)S(n5blX8+LRTx#0J8?$SUvwZc)!gmToH9DVRp~C_AjFfW zf0~~b=nyZ(TrXCkyZkdirC7FNfqV&knx60tj)|hu&$cb*Bp@1*)Qs~0}t zkRK&qomOunH_HZ?_ex{~T$EZRV4OR$Jt6HBBoR~qBPh!#{o%2SyGiY;4aSK{2){Eu z;ap@D!3X9_m3kFmPLT#&WTWZ_IPwnIo}mchcGFzE;gL_-rGyF0+@-D)w+rWa$-763 zxV~1!Zlw=7@!QPxSXC1)!mvKot~Zt$%!=gN3fg#tt02qEwd}0w=9Y_F!M0KkoRNlc z<$I+3vT2%POMyiPa2~^0SDXk3Bu~IrOzoL7a<@*QmkU7ddTu-qC3~`CE}E?6UGKQz z9G3Svu&vCgeOm4M3_)k4v{2oB-dbHrzm%C^$s&*xAdiY{OpmQ`qnBNBB0#|8fXpQ8 zq?Vyk^n&57G+KG_f?gWzr2M^lnbT&tqp;9)v0*UEIz8J#yA%gdazIM3auTfYWXyP) zoDMEonzUHG@D2NRE=Z0wr=x>llm|fmTdeTu>_Nb@SApn!A8ThzHF^SZDY!<<*mP9qDh#`UF;r-Hu2Sc4&%8)ho#=>!> zqH)HUOlmDGb$MJg<-QOED{AW)Dk43jOYK(409nYz*r6;<*Gp3R@zH=CDFlVM;ETG( zc31EaJY)@Wb?tKbRediveTk>zk@YS}>#;JADxEdrA-oO&(NL9Y8!hf(iZGnGr`Y1e zUw^b*hYsr9Yf(5xRPQRsg$*_M&(}Bp{reXbwgCe;jKH_XJGp=*yt+6!$2R}|7n$BY z)bx(+t>X>843`d5NhO%Ewe*xvdtE)~;C7Y8qv^u2@e4q^tej&jvR3DAm`VSLaf2H1 zQbV4cRHP3*9razt3pcz9&q<)qQ7|~T*2n~akE1s1=J!w5K&JuZ3lkS069P1AN2pV4 z`B7>SS-?c-L7c$0Y zl93Ym@O9}ld-+va_o-B$$+dvuVw#RrgHg(lxvFeB2hHOAPLTLnD>+_U@X<;Kg$TRR zX5u|sI`E!{X%c;`*@GHYR%+`?Y&$=|7OCrwt*|X?!dgJ)=(^b>D8Ms9XB>faX7Mls z{T|=OW2A9(rfRzlN39nb{Rfa|SLAa%yNcsqxGF>LZWV7YX6($(GCpc2x;;dNM6S^s zfBkB(wcK^Aqoz`Xx-aoR?+#R?(09^P)`CJ5w)! zT*0_!*}MI{>qq)Mfgz8q_|J7Ak|+Q94yU}14lQ)PsDZ}F>HXzOOgxt9YFjjb5v0io zbUp#-8JT(B9z|T}*FobAWLG0dJF+4wGAGEcjrk`Z_jkXjW7Np7^E13ZKj-(W|Ehbr zs}V6){k^k11-j1~Yc)Sv%PR3(IUxaeMA{(?5}`|AL0YM0hJt|lEQ*NGm3qqEORLpb zFjoUITQM}(ea>xdDqCSL?Hj@iWnOH9MrikU>{zxZ3Ee2PHX_23+7W5KzRt@(+d=NN z7lAQmc*>p)X3G35mf*6Tc-IH|B-^u%DSXBUzQiG~!XxiLYO5i-rz6oVxQq9iLNPzS z&ue}{c&q?MnFq-d+BBzL>g7*SM{J>18c}zb$jrcA?LtZj%*oDP3~aE_P@~YnmYcW z9%KINd%^-QylsMgyhN%uc-F8mJ-=57M`r8&!JhmGb4{-xJbv<$ibj)itEJW1{$8pv zx&9>>hUgRXXl3d!-NoI@y7ptj-Yg@aQW?5tfN8(c(oF3cUto3-ctPA7%tZZ7FpvoV z(Rvs8)8ic8te#~<#I00oEVF@G@SWhwCz{feK1rve+!QnOWv6+K`iVMOCX=;zkF_{0 z3xwllQ!_czzM_`N*52H{EuT3UWqx1Q$=STd9a_m5_h;EODwC7!Yv1oqPM0D&EvzIF2HZ zYm-+G#H4#%LYhS<5_grGahy&+ykwd3IDtFKa^egIaz?3f4tU4FzjBMe8ADtiSl^M+ zgY!lzhBC1DAunt==^j@PsJTy*h`Gqzm_<_DRZz$4_9?wm6HKz2E!8+M@PUo5uP9mR zov@AhU+nq7X0TZ=-NM7m-S~om+Zh({t$u{u7u)Su9uNqk(+ctudWcl2>W%cZ8liuj zpyuMm5bVR8>^0UBNW4k@n4vT&G8-}KZ$XcnJtN**pxtAUPQJAQN}M{z-D)J?wvkD5 zwuA-QVnFNZL&wl+^uLLc;@ZdAhmi5M8$&mwI+11?x1heW;X>Ko>=l=^>`{*^-ecox z1WTzFIgTFgpj&$XZ(pwFnPXUXR9EYHhb|Yls zaRg33kZ zQNLquYRj4(ZkT;_Y?^3H_USu!Q(I|lDzIUSS>aUg`_Vd2(OY=xNv>OT4xXj2H?!6@ zXWAU~Tu!d1kA1h3K1|%MtF5nZS{-}#r+o-BKI&;+(7adnwyPq<=*fo|xKz4maCU z1X;)k%X)*<2V9#9wn3{(gHAVE^SSnAnoFpdm{qn3_eXK9N)KOZg1Boh7UV*KbplL^h+6f=W{BfAP@)c+4_Z6`_V4a5&hq&f1ia z`~!)}^}Dx-W_hdUR=KX^mp6NUSOX+FdrhO@!faas!{^jL5C#gP87YLCp1QhWdnf>G z&U9t>B{%OFiEvmBsp=ej6r0MfuAKtuRg?o1W|kwzWfnp67H`!cA(baeXq(-i zhL?tO-j6ddX5G>qt26u6was7S@lwe;9cSsxzk)cgU5kfKU2EEI;TPhxXXl@(=)RnG zVv5Fnhwds9$|;iZG`LQ2{@JpLHe6@Uwz)J(f-{f?-kc67T;nlrauq%>aBA|~@yvYn zy7H#%?MmUa=Kt%I%6rK~xoLltZN*`00HH7o7J%8X8D{XS%L*}xfXEUsP4s1D+ojX9 z$HumBZ1X%^Q-zb`$uzWxSWp+ft5ZZMiLRHRUsi1{w?QnRKZ(+BIO1tGnMl_-Q9iQk zh?Jahf@6stZfDe@Q=+}OR(Z$&2{V9`XioNSn>NLff)K4MqUhX|Q95XS3Ey^kG&Ij+{aT>7_Q+)<{*!g?j9O>~EcM`?ZJ=hiV-`xezLjC57U z;`jkKAM9cUvG8ww_h-450BljAVhn4eVW=MuHUYV2b z7z3DO=M*EoUb&N)vU*!%Ad!tg6Bd;sqhKR1xx}afn1bz2zl1F@NV2d!M5@k8`Gl)b zOg9kp7W|q^1{_8Fkb3yU84esWxI-x(jTu?Zoz@%e?pWD8#rmg>um{|*=e)S>AG0lH zbKqriR&sw6r2f?o>}F*A3WoSP>U{)Xtn0l-}NDNxzeQ-b=w=;;LdVQAJnJizhM6ZD@ZdD32XhPjY%NeBc;8s&3`Qw^$zk6(X67A|D`~QJs2OBPj^*M>tN7; z!-137y;Eg#^- z2gdnlr++m(Macb^B2+@`+o-QhaIQXgm@+)QFuWnTO#d3=nYm!$z^nn(XplX)DJD)V zntt${zc&1_eNuuhtPwuL!wAji9kpNQFhNb|=^cb$C)Ti*d&a;v@@=*M3#NL6fz~FY z5|d;LD+{|Dr72bjIu2`*vnF!~R=HBdbgfrWw6zQsY0T4tm;4->QaxNXZZiB9Gdw^^ zCIrE5Qet}iu+rdt{vCEb2>!9O-SUa~5~yrgX%pEuA`0i?prST?IG+%amPpPP&pHgR zF+WVIbhHyaYo?>x0GG9WNs(wlRiZ(*4KKlrl}@o@*$}a$S6{D=h1iuc%vS}dGUi0G z@TxssOy>e{SsBw&*)WhR3q7Bb*zY_kly=Wmc)kK`A) zWte%^%3NZu%ox|4_gPE^5OoORkBSf6vp<}Fhu)tf0dz0_7ce9Y`%>bRmgD z(f)0h^w#x!+dih1khkHKU(&^lSncj5kM(H)%WiNeqk$#wf%x54x4HNy09S!8qL)Gy z{)i&HA?U~*b>h9D#MK8R5Iw8_4bojB2!7m!ykdf{6l7NH~`V(rbJ4M zO;CP}JMiwpbBz`!*jK5+mDdoS2f8^lwJo#sd0sv4oOjvY7h>D}kgyR4`CdBY8AFLd zs!Vj`k=ig8Ok@Z2nebPT7SYeJ4NzZ{I~L!)SG_ZJpW1?~Yszf@gY?1~&oU*xIfHJi zuViuPldYmMY!|93nIn>fqm&dw&QtTnutC7MOn8>c9f3bFxns+TGMDGRlI7Ge<42Sz+Z2Em4Y_k)&fY5 z(QvVcaS$z#Q-dY3N!LV1KtZGW`F>W|!@@tSjs9&9-##VoH+yEtFP>PrwEBgiuyNEA z1Ao9v?lSe4Y|#z;y1-zwC1{vFPs1Exb6}V{(+>SwWP>O97V2f(%&RFy2;A9#Cp*vP zw8)>JC>XaukHDq(Kq8;u#9{u~Gm+P-FTwS-T(SXGZWrm!dH$7g>?>$p<{x`bep9v( zT{gLHKur-+HMDcVi0;SFwFAN5=OQFEevywK);s0RZgDR79lq&&g7}pP)iZdTt!DOT zB6mO3+WJVc^|@hiZv`Q74>#Jw0Jfjz(ERGX3sn12c8&)#9{XoM?uYGM4;b9{&n~~; z91a-1&sHCXIXdo8vtJcRJ8xlE-#cKxPZN%AH#T3X5IpawGsyP{)I)nc z?)&{uq9QX*ToM0XMb#nyw?swppAwafiMxs8{{ec7iUml6F(HNQtW|fktA04#>i+ut zb1jNg`Ix^rQ4U%3;vB_RPmYq1|9c`~w~t^q28F^35g#VKSLQfv>?6e6x6AJbrwE5I zSkx%!I6|$jyHrP=s7fI_Zuiz%!=p zivD(`hLao8B76G1qrAhK$sSeRCUrbs&viJ3EPaA{hP@&V5N}%#Fzua(c?@!`ZTNw8 z-BSr+TV8`zs2{i9u>_zQHwpE3YFtz3CwUq1oA{W^f04)3IkWq9e@}uKm6Ad*G2w*IEu@PuI`M$d9sdH|92#6c z0{1sObo>qcY>lic2m6x+(ch?lhR>PxpHOV)>9OJ8qDJ4Nysyvrz8>~hj{Cp$yt;9a zr38I7*q>T~dI@_qUa#=J3%f0wsdvqx$9FvQ4?G;2Js7h8^lu5^eOH9pJ}E$M&GK#- zY}1Espe=52KGitr_Ij{B-2#8xEAjbJe*I&7B? z^BJD8eEYBMH8-^4Ef)Cu$v%b{aYha9rxaQl?`-jXfHs=Dc^kDem2h_}Z=;CrCcb7K zuYYkwE|N+6;*S*UQ^ml-iq#^B4tGBLQX<=4+;i0d<#6dF&`NCjEfU`G3IwMGBDVP| zv9dW^HnAwSMa~%P8gk5Y`%x*pJyq1DLSmP~^vgWy?_i(gG0UD*Y(zQ~KXHGH!Ru9@Fv*^N_^kJ|Kux?i3*1Sr}G1(b)KQ>2iv`qoxLHy{A9cS$irC|Al`Ia-TV`rY{}l8CGMt;GE8@VkD8H}g z_t_r}Vqnz(i0)n6k7V8AEb3*m8IU>p<) zn9~yBd+==w2n;|38j;Br^&{tVj^BuVM`i||PS64*2(hKUn3?(K&MHdyrui2x$5f%9 z-q$seK>Gullh-to(ujFdpgN{k$^l&%xTDQj<&CpUOQwvAy7o@J47D3+2r~wSd78+w zflP5MDo-g##x7{)0y27|<1&U~JN_WfwaaRb?k4FOfsLkSj)V@5C5)Fq5t@{cFTfJ~ zgg-k2Zh&v`3)(%-XVq0IYRo56SB!->#O;!2Y;f-qt{FuIt|AKT0_H|Zdcl+L&krb2 zuX5|@^h^KFmDja3(HxNW9r9maF2Ji^hA$gXV zL=WFcbIc@^yBf-pM7aEap$Xd#g@kjJ0nb`zikTK&o@Y(i*Ci%DvqT&mITz>Xm$Bk6 zYowD&eZ(uZZP)qW=b}wH$AYXA*@AFVpn3x|KP1o%HbCpi1711v2>v8Hl8$-OD%F=U z30<)h1rqz}Lp3qL+S~$Dh;EA?SKps) z-ZyMmn7jequ7v}->2p-n$#+CcmR6aqz3aOny5}*F9fNR^@HT|Z@tSHwQ1O=d`<6EF zdG{|L7mO%rBR5uAS&BmDJIj|K)6hO8sg=-#6;s2CF>{z(wC5?-yMaC`&t!hUPSTwT z#EYY$&q(Ymxl=WRSw;audQp{Yt0nfeSQR8HB<6)#tGyHq%g|V}$B}J1@sy;Q;+dR6 zTqZBgPlb)kR57{i{U7`aZRyOMs<;E^3!!Gz`D7J?%gQn?vgH8XITMC|UL{a&l+D*d zR|}DBYQ{P)%>D2hMHvVTI!#|i$Ls%oYRPI|Fo=e53Um=v*RDxETEv|^VD9Y_l$!=5 zc62v+!uDg>2DErT_=(6ycke|=AuRrJ(n`~7QS+u(<_SC9{0Fm(n>Hn^YNq+t7F)X> z&?eNo0v;m0;ctr$vCjTJAmFv_2Wb;siSzeaf{@ZB$O=`_tbk#Ybf`QiK`2MZ05>7L ze-Lyi;4E@~l9xs;on)CA#)SA!eUo9Wbl0OXig#bEeaM6077%$mo&Y##qAX_HSf;E5g{a85UDy5Ha;b; zc#jPvU1K?ZYOCdIJ~irn#kTnvbM$EY+nCoy+B1-aRtuszbY1C~ z0y()og@3!QS9%M;5M`Xon^)5guyY|b-LPe*qhYc5xWg8a<_?RvyuWNJ@oQy)wb*!P zaiU*Te0~ZZ9LNIC4B36XG&bYn!lbq4N!wW|7 zF(+nK4jt&GLm`lPr}~;K)SHtg|4P^W)4L#RBjXvY%XUWb_@|7R+OiZOVdj`2-Lhca zxW11*q2}NM!0zGC3z60tGQ+%N+B778l77zX(w#@oxD;|J$R(|gEt+23Til`*Hx}#o$QGF$-SD?3_;peod>{ixMoxY7>xt{&6mdDY>7}^hw%X0=0er8^%Vt>udFssbH7v(iloR!qzr%$5vE(vgc~O->ru3!#MZDFH zS3Z=ezjk6;vg^yF^m*;VCM5Q6z7XRqrT85!6z(a$%(u$ds66GY;1}VVs}KBBM47Hi z58IN}xrdZ$MX;;e0+?WBE55^1QiQAE08R|QvmbvNXaQ4me9gF-S_*qZd zP(vQ)`;itR#n4pvmUyHW<#M*_uj#e(43hj7(N*7pa9;dog3O-~NH$S9(^P1fRhlFd zeU(*+--;oD6!EzJVFxdQO_LIo@hMST@=AR1Eo&~yUR}c^6O7~2hXBH9=y=~f;yveT z&BZ!dMsUZ7q$X`Kewf;B%+)fDQMQnxK*$b7-UH}?%it|)*+se{iad0jMG-9ybPVm_ zMmYI9yJYVVsA0Y0fq#ux#@Ea$dcM^qNcN3>!MWUkC^>Y5CTzJtdHO<9qIao8*9pMA zo#<*m7GR`QG>^#9Ey}q)iez{~nz$YMksc=!5T<4~PA;_(VmyGKy_e7}^()B<39`qz zzV$KdV5T>yVd}`BU3d0bD4oQFUJE;RaQ|P}Xyeor+H$qVyr8EwEb)edXZLPmsq%q@ zHBr8S3leyuTfGy~TsMJWnDDD;R1>QMHlnQ0-MiHf$_fjhh>uOwU$QCB65;_sHk=w^ z$V;^Qgdj|*uMfQAIK(Pf@c)F@tmkUy;ve(ZeTufN{7 zTvg@SS!rT*&}zBx2Bg#zX_5(6@7s6F)iiAqdIF=KfuvbTsXr!%q)=+%1-Y24FlF?e z2V5WVBEno`+Zj*oL_rulM8(bR7=6H%ZtR+EXny}FHgZ$&n#f~XT#qirNN!if255RH zIpV`jv0r#0E$t;E5K$AqI4N+x5w0nHX(_5UJ?y6X5;&ITE!3oXT3GhCh=*N-V~}tZ zOPOPFn`o7*QDn{$ATZcM^W3~Kz=aC$4XNKXofa}N4?tZE_ujrqqto(wt@RH{TUDgc z@piQTJ#4VT#!hAsiAsWQl*!EMem@P?sQz6b=Vrn=CMm!((6?8w?YHpMp{g6Q1?%-A zK7${SD6`;ImZz3p210g};4-eX01?xe%#Y+Yer#y{`03JZ|4BaTUeZA;NfN|R2899M zA9woc@?Bt$3pi&LMLM8(u~ZHjqe0v@WcH3g4qkV10-Z#c+azB!-r-~=Thd*i>z21& zTr*pGcP=lW#ImFgK69(5Da@p(x)5I=3f3#(gV|pX9qYQ-;T7G}7>eo+)>-Z8-@}=Z*CTEdF0zn{q*wG z4i5Z)%T|x=*M5Q9i#>L88?RLY7kKY@**zm0V&enm`StZ%gC<@QRqFtc4$2;xt9($8 zU-=6HB~}=16UEoWGs4(^32t$PA+nni<($ls=yDAjV>_Lh@dSYuFiUd;cTJ0bWN+qk z!kjN=cBAiJFg$09_edk-6ihWJj^wV2iA8Bp)nS+-%q>t@SrDea9aL(t*LO~D*cRGj7uqTSPOiw0I93#XRfcfDn?HUdLjl%RECJHfY< z#~Y)>B&|3Xbg>mw)K%xch4zDW4!5=+#D)R|;!7kmMQnN1ggi=wp(+T2mRJL(gGyKA z`LcqS*Ipki(2xJ*c}9Nv^NYY552xMD{XQjO+yg1}oA2p8XN0=nd1R_po`ri4`iq#) z9~M_2@g#5@48b=8fyaER6zBWp1h6?TW_Cv>g5EH_pL`@;_J2RfJnuXA~KBv+y8VdJ4xM*gf(b^P>Kd>|s zxa%f`vnrq%S}KwmX`omjSUd*C9Lq(=!AyfU_DPMT2gY1;1(d=2Mav9%pR3H=#wmOJ zU5F)Uz(eInfq0p>tFA0=IV%gPsD^bhQ4J!5k>Kc01RZ&IaI_W}?M6#NzPOm#uZMzb zL#Jr&zJg4~raI)p<)`-?nJ0#hrtpI2yGZ0yE(rCC+Ij@Xs_#0Xj&&@b z)=Rd%FsICJ2^iThICB#qcAHmkhjqBOHNV$Q2k;Qiewfp3#ZbQe$P(TOb>fGr@d&dm z&Ptt=lvBdsla85nTC6J4l%tQV2z?G65TY*(=Ka%kswK_OA1QvW?ny}h0OmL)cyZ_- z-3YUjbELqF{Y!OWNwV${ikeqq1iP_k7YR+v;8Dqv(Y#ua0-N<_hjkD2s>H~>vZzA{ zLqAFAZezSS8HjBdkcS{uwgjV*xdL#3+1FE4(OKqsYn@P&}mbj8}z@ z&+lq1AAj`hG^MDLCA=Gj#F5-~FbzMWyDVl&?FJxY_N9>(!&?HDe%$!Wa$6Cg*_L?P z{f%wtI0dSJb%BMxI{zbSYzAVh4O@dTo6mo39j2U3Z3lFe6?L7F3 z`%r6((|m>^2}g-~Qb^dAfzIss{Z>-xPBM>e1L84531&H5COw}08w>R8m_GfSTthgz zU@gG6(J8AZMDS=sW7u=v;A+hJmH4RhOdpnBu9HHLohX(s$@qDPe9(;mayP2UD=KAw zju6OSP^s$`dF!5-laWVmp$#0UcDwt%M|1*!-Gk&KLXJ=kbA*AemimwEMBEP!>sF;saBj0d@dm87kojkcWVUY=Z)$v1KwvdM<1?^JP zy1Z%Q7E6;D?i}EvD*F=rV?cW_q?G?|8Wa-{xntzcJt#QK9Pk66NMCbI;!eDcMz=5N zO$z@rtB5zPWR_6=VxKu1=Ik?b`oxizK}KGwas(d2Mz>mk9uuY>Xe|+DLtERnD|}~($cI^-Pr2&;R$|?; z2X}UJb`L(ad)!$L{~2LI9>IxSZ2J8+O$ds0N$G<>A~1C3<{qRX#JdQW0UoXLw%Du- zxf+U2j!lBnaM@z6s`r#!Lwy zF@UQgKSD6no&No;JT|bs_>Xic4EPw8L_x`e!Q!Y$;g}m9 z?T4{@b6&-SdVZH;iJD}i+WBL-J`2X`GcS6rO zQPzY!li#3{>NTeHOsCXfOi)%C8JkG=D7u!=8d+f;qPvEFRGz$rBeFh2QBdSGXV(

yqd}Z&U0+z)5`sf8Fm4YMpre^m^dm_jVhwZGQ{49q5PR z^`!^fOR0z1Cus9)9uc1$*mDp9s2>5uQlu;75=68(SP=;i;AU5Uk*O$x*CDVfy9m-P zr)3HC*sgYP3qE9eH#fRs0*!;HU#9YJX?vA-74LB05l>I)GioJ{-{FmaSBieNLbPF6 zEcg8NWcXJN8IUpY`yA=hrz5<7sv+6_1=%la>|v~G>SFEmKPmszM^AJql+hy!Z9D|@ zsX1R5{8$M`E@%iac|?k_AlLO3u6@d{U*5~R{2uoM zO>-W{nDe`HbFa?N&*MQyhQ041;<_iYX)n^;KoPttC0;R1s)!Q~ATCw9b>z6|ZDyrB zG7FSEsp^oLX(c-nd#*X2G2bYN1Ss}Fdb@ad-V3G4@%c}6}-C$yzynR&)OX(zm; zM;}WCK8YukrRkXl#y+VhoTbZ|n?`)IAS$4)yd!(}AczU*D}TlA-v=TEO34$m`wxI< zftK?5?Ed{AN}#5^A-n$|$Ud#-`&DB~F#>K!Mjd@?)!0}c#V%4S#@ToLtCqHgxN_Xdzw;HH>JgabdrX{=>R^8*acx$LeW_M-={-0` zjai>7NxPz*AXF4~&YX?4T&49nYOutUq@#}!vS3D{6_9#}N_S4epRz&^jD0NIZoqJh z?bz^=VS{&7yLZ^Ghiluu%F3R>H>p>4kHZxdmoYf`xD^TO+!0*L`&NU?g9B4Lvzy{T z9anh)mB5z7oW~FZvW2H`KxMFDD48CO+N?P+*7AO;ONKS&3hPUsw6SQ&23qVx%YNy( z+dV>>>5~N$jh&JuQ2!$6$Ex_9SeH?H$Y)*msgD=6gn*)2&N>VyqmbmhB_5am=b zhFIo&j;?LQEtO~?E~~cG#9AN7NXO~>X(2YH>mOHedel947zV66F!4Cx;*;a}*I9ry zz3U%AcDe$|YXKFfrxYYR(x9qyt}0YDcb;o1N0}~wSG?xID!ZU@X_%O${XQYTr=?wT z-EvHwo|P7A$(J<{w$zSytN3ZP3H>|EJ9dGr#W+vZd}#)a!AaXnuPMB8k(!!Q5Vv>6A3dc_K*RnJrJFo&hFvLm6OodM(ah$zJZ39eEHtxa z6Lc=|OB4+?w*9dtjIbE5x{(h1kkWteR4B&lJSY_c)HNOGYf-Mb24?g$_bj-q$u_!;m+W3F66Q`0PZ4|TNFQVEqrKFgwHv|WoOdpms>z?8`E@YLiCAM zgef2MXwb6ys$oe>&xw*t+dKf_M98IZ9{_S<H;>HKd*#7;gGtNXax%)`V$vM?i=Z=R=TcVlUPlgLmDYa13j(X7fNn^2){m}- zQJ0QpTJ8Yr-h^aGmoxCI32u|zU?9E;`cB#ym~MjEq%_*qhQPOvE4y^xe-#4YtgNCrBG)9zweTWE}=h(|^TZ>K8%^7+eMV4$gEK3Q0^XAph)E4(O=RbAhI@cK+MI zyf(ZDxN#H_s$GW^2>w`PYUjG z_r#_ANa?rxZGUGKU&Nmwxh^RfNf_y=e`~P!@!iqczOQxu*#;)Ry&WfhkFv=MnwjGl zS(g62uy30}5Tl{yT*IBdP?|NNhy!9wo%YCwd`KPQ9zNjoRpbHDWd(q~G61T$c(Oo1 zR?ca5BlG`zhIdWfQ-T!~*|>TK?-{}NiuGK*1OIu3j{>)?pT9yRK#5tRR?p!O4bW_s zsP%IwWD+${%EX#pYNr&k!5wI=>QDbC2AOV2b2_;Q8TB-upN)v~O13?vpypXVgH~8U zkP5yP=rx>fwxt7qVX$iFF?h%HM1Jqsj@f2@MAUtEbRf1 z$;FmSQ=}#Dm4ZN131_hCuNCAZH`gkSGA5I-)kugqOo4TRb!+a%Q+<-DGREz0Ul)T> z=ZW+FH915Bo~8wHT4l9PP``kYF<2d!L{@Tfm;tikw}VMLSQRhm{Ha%<|MgQEFF{~& zDL*#6V_%*d>gm_n=)Z}jTzu^1e~!NR9Zx!OB#?%4;Sjo&KC(7Vk(+RoztD9He4Gr(r)jNG60m7%Zt5nu4>lPur>An&us7AO{6 z@p^F9_Y5;GOJ3&Jl}2Nbrkr7E#weYVTMCuN-wh4Obe;Gnq+~fXMXlnwa1H}i$&zSb znB^2AwY8k97gh`q^8J2ozPpU$Y1tBF2GeL|cp?nyj!Q(Q=s4%MxP{udo@q3w<4GKz z-pOWImda*0>IlwBR&$lmB+&iRog`JKWi*cR;pmP7u64Z0tB}4|U-jww78kEyYR`Z{ z>$(w9fu>8J)#c%CK9=%+5j>COLI3FwA?b>!JWNyn+e?6Er; zY`gx+)T1s^UPx%EL}6XQQ&RxK$*|Ygsb?@b16|lSteK9qR`ng9LNjWjoT*i$nEY&p zd^L|B76?`reW@3|+E2Y_X*N@A(@d%}u<{dr`!3d;mvHB}>@K zSO?}BF&tNN3&!#v4^)%M9Bq$WQp%V<<)mnQc%=oo6OWoA84H02y>pjA7Q3h zd6-t6MvqH8rVfK|o_a(=V6b}EM?42y%;ITgYN-+C(jSz~Nw|8={pO8&C$iBrrur>m z%!2*A^GH_V@9?6_OtqO|@M2kAqIJ>RVx1Z!YTgMA%d19d?W#8t8q)gpvo^vTvMz^i znUi#g*C6P`pzSg?elld?4G}Tt>X5zQavn^KE$R=*nZ3XFWLGT&Fm!+jY9D!As&+)X(Pj{UEm56J0>draI2OLqd*Kd7XcUDK!Ils4i zL_{91|6sgZwOgcR56xUO#b;ac0h0C^ULy}MVO0!Q!`3J4^C0!$)`Ry~MsFhdx9NRS zcc(+!5w{tk1O=3XK-^~NP`G9t=!U!cw8_#T<5Is{x(nqXkS?)uF>`TyOkBS2#_hs{ zHisg>l3@qPUYiZbz>?tvC|~4f!A@(sn=I_3Qk|74sKPK;vh87?OF+Ku!k3&rmgBTvucUMAp z5QCT=^LBrSenxzwe@xw-4gHSz#`tLPA$asNrtDr3{~NIX<6C;+f45k?M+YjeoiZOzQSwZ6evwGjJD6}xrNKJ|cTeX!`?7G6VcNH% zwCzZD6E4*8EjZu?jM|g#Eatl3Ek|kDT$*-|GV10-x{Vd~DPTUaELg3=RksWC0(@bP zk|d(#y9K}k0KYa;orq7ti>wg)*@|Ab;iEtPzcFA%^szyk{V@uSBmLr+1X*iJo@nu4 z;#P~Q^W+Z3VU1_HZ~nIg>8AC$jNP(6X9|br^S@rzcRCIQ>VWOHA{n1g?RtMkjts#s zD;m}{u{eVH!I0a{#)s_?kH6HFA@?*=E?peoF!+@5IBjKSE;v4V&yW;b8QLA)AxzXc z&wGSLuIP)Qa!N5-pDDTjfwY?jZInHPY{w0IxSku-2KZNY?`lXCHyL~jizV!`ZkfS9 zHfeuvJ1ww;3Ib>4{p4uo|3jiZ_&L}uG@m|SVPP3ENhW7S&FQo@sb|!-%;Qf9Tsa+< z>!7FoY04a}wkjt~s!|AHLJd!-k=+YEr}8Qd*q9)4wvNfu+2Qk8oOp5_k|m^|%H^h% zPJ805^-^5d;D}b{_$J@imUYRF;tQh&zMH}lUMLMNk;u2)p3=IH&UNnp6CWXW!ZHy!UPMu9 zS$F<(k%Zxx3VoC-drdR58bsI16b8Xh0c~S}L#RPv^)oM_kAQjn8F7s6sAE2Hd%}w! zNjusGoX95({cqM0Fk3fB!<>e!2LT(F$_RJR;0Z)(+Xu~#XBUr-{s^}?F(1B7vN-0y&}&a~yl4Ql>hRDU>Akj`oXt_1u*K)O z>n@W0+O+8UrFc=^a5Yag??%DSWVk$llz8TiTl>rtAj}R4cN7o~Q05h~6Aa=#PQVeE z24*|7QElaq1DadtbGEj&>ituuy*$f>Jo&~i2euPJF8j7m6}!6mvg82GB6%?WFJ5P2 zj=UQi+hE|@&h{ro^{X$z{=dIo%Jekx(x`EZXm7lkeq8bf*S_s8JY?y`oAvz2y=^I1 zuMyA7KlZcrGgztX_@qGSD)9&#pKY7?&Drq#v{0(_U{+Z&;G(ZIF)c)jt4@e-QWhtV ze4?8Oq?wFLWzAv7f|ok0dwx1IsY~gbp?u={r}4~UWV*nRvYP3>Jx}1X)k5I~8n|^k zEnnZ>N>s>m+y0^}Dy`*80YYA+!)s`$&>+DEF6fFx0g%+~>xx~6nqW11E{28{)N8&* zpm8l;CZP9v4a8~0e`|>QJ}&(TO&}ib8fz*gMU&=ppPCTjVEwXcEk^5HR2tv(aYGk; zs==arkBa95(b{LoxuC zeN|=V^R>h~k)z5hpYp3LuB1FSmDl!NWPT~zR|$&$>;~DKK<7_I)xg|N$?437?+*UP zGib>^V=6XR93ayoT2;*GMYh-Fzg@b9m`X4;_%6?#U3F7?P55W2pD>3@%B2XB3c8_g zV)<_6z_y=od@mx;)CgFB=y1YX@w+78lm>m)B^oh5+FHxoOFdPzQd#bR*$#dvR{8EF zfUp_#%;hfzIHQfL8*08Go9*J0$Mw{x;$$I-}4cI8RL<|(LALm3O#mz`1n1yDCqUapclaA?iSEy+k?@PyMV zucJ=am!Hv^9GhHpbIb3F$*tE;LRpk|E9%Ow(WxGr)Pm`hxDje=*h%#tX48FIu%soX-ot&1MVsOv9Tc?s`J7}bK_3xc z6tRk}A2VG9?|@W0v^+k?5pn3hbCcOVP$K*d`C91w2HqK65{|VS+{0rFZ7zPT$5+`m8$$p>$#{y8t zu*2w&0A}yodc50Ha38#8yZsrd+ra);jbJFIAxil|?v;B)odC|e^e7kFf+VEwOd(NH zJlzfa4Y0O8>fM?0zq7i$41PTqk!&$$8J}ahUncAVZi8+fxO=ITt^j^`;BMgd(7iF} zH%D&)1RaFI9+(7?Q1s^98umzmV1vH_MF;QIKww4dEYT5<3jh6$4{%2Bty`6nCti z(ZSxpzR~+Y(6_9h{(A`!8ONV22%X|*%Vz@c1#}tt|Dp;mQ4F?xCIasO-v;hgK*1b; zav&U_zw9D2_a@puWh8Y{ag`RX-W9+~;oe)NmN6;{&QF!Kr<^D~a>6}uYA zgpH0#WPdlW#nKAeV-J6AO(X{?1sQ#Aoo|MdXHHX6A^V6=kEy>n!c& z&KM}#1jzf}=+9dx8aCMj02TQUZOF+a-0^*~Rckl7He3%{E2jus@fmoXVis4~BcUcO z-H!E*a2LuO%`i;2VW4L(DI}57_Mbiveew*>2#(s@!%;2IaFdShA7p+bAYiE_hW%hB zGU_EX-wz3?82zo?4kY!$8O<%0%50*N0`G!({innMN%fC}0MrAB|tg^SxDt zqI<4}gn<|iXZ%)o>2<7mTiLH)00v^F1BuCS?S#HPb7A9vfryx54iF3QV6c6615rV( zYd3R(mjCW>{g3|8Z_3eXoA}}_%P3E9A&%6XB6eQrw${8DotB56f(O6a?dKVC(X%o$BDC|(4F(F3B{vZE=NZo-mNU&g7|pB`gIqd#9ZA*4*in>>Af9v0p7B|eGhJV)3(4Hsz|3lSCm zvYrb!6F9vc`%->0Lr20Q2*ao`D=1Wx;3o;Xngay)To*-Dh84!cSlk|?z(Xw7ODL~_ zLzvBZxw3c$koOwLfcGQm#)!<{!jO0fm|YzlyK5~k_-vIE{*sOKy~ff)ki~UVCoXOJ z_NECV9U#D-bL94Jh|ICOcA6zSj?#aV)_4d7ly}0y0g3Nw}~(#6m~s0L`4VomFE-||KYT(SQ`)n%bgl!_v}8!F4#HMW|trB%U8ouv2t#s1+F+(YoRPr z#t+AwvOWFL;da;DxNBbf%hsl4a&UU+%oEYvaXFUMZu`A50#xMO$UCIL)9W;*8++B& z;2tph+85s(Gkl66tM=U|2DBW18`ow7wk?@4jXBz{Ut@Xvj$5MlTuUXT!q;nEn22yK z{&y{Hgl}8w+82KRn35IIH>hHk>cC1vUz-K3&R%+!bS2?v+#srTiRhAxp)FxC?RE*Z@4tS7}? z5|}?6Pnf&pGrvEcRCftk3_&R)HKaz{HP?e@O+MUJ??kOh#WC&W4n=bl=up%SowUU9 z0oK6lj1e}dEr(`K3PN|g2s-2NF0Br*D`T`SwcH_Rr38j-I$wzZTpen4uzcgV4RURv z(@khS;`;s5Za6+=4hZdI=q}aguS(1mRGSosPsbhZw#-oyxSE7!G6n*RH1<%qm6R zu36_NVM<&d&D-5y>hGMBC|4PHeM&q+GCab3A@5Q4zDfzeue%YSW8$4>V6IY;oQ4zTr2BND0LQH0e2Mxi5A>#i{aFTvq#W`iKk|H@>pm^=Tzv>G5>n$C znZKTN=&;?=y2c8&YRb1AwSoaJ1E|0W;}53~*u(c!*nD_4Sn)8Uqfkx2s-8Yhcc%8} zWeHCsf{o+3m_D9=)bc1P2(3}Z#^PLU9os)Hdk@Jjfy>DCZDGKfY)jes%T@dk)cMVN zoikk)F!`@K*N|cIU=Ao6xj_GSD;AdjfuPjzwzc}t+++rV&p(zdJ0}yOdCCir_r+1H zNYrK@c}-(rdB?B`D9n_x2^<=sh9s2oE$EU3u-2GI`VaKc%eO%t^5vg)B;~7KZ@Ry0 zIO6fJ!O!>5tTpGI9$#nxk;whn8bY*9NtKFfzOkk}>sIxRdC2{tVm#t zJzqU-g4oytlOYO< zCRWeLU>#uJ$h{}Xnf-r*l_A9)%V$#XZ{Yt0R%U@g1NRCb6OKRG5I)84md_;ME8tuI zy$t9x#~&bs?f=FopFn>bD79m>kg5@@>8tUpeZ&c3ur%xB(bCy9fyDxS5H#JOjY0?s zr@NHBHHF0yi&Q!Z-IQ5#=gCIrQJ__yl$z~2sf*(G6EiRH!P>G*7FS+~mE-u-W5x=n zSk{Bc27%2QJlA2qRzr^&lm9A|LXm2w&04p>g$HL~)TV>WYPmLI+t(8=oQLSpNb30J z90Y@A>`9Gxa$TF3zaDb87i~F0J@3zTD+@ldYMQb4xQ?Tz%;>-LjN8{T!z2Yaaq0G|#*MM#F&luW1>L_SK;5NlB}hTY z)x=rEf5+{^=j#g?yCu)Dw0A4oN^PWuJjzBOl&~JubD6-S5$4lCaz3JUYwp6xo1KJL zr|E+c^v?^07`&W-qjGCa{PxpvYoYA#E`7D&B{C&hEZg=I%NnD$w)E^I1p5}h6sNLz z>Me2Olo;6W8bXFEY>)ZC9qXqsr#4jr9XahoIV~}7s+>d|=laiX2=}b4%S+ya6OWNq zidAV<@{DTDE)L+_WreL&&E_TI_)}X({t-E=Arbm2b`&^1i=4jnUoxJ{!<+(9y9&z- z^TQ!}%C3lT{as7#xuF-7?InMt=wNXC>973sX%^$w5)33K+rpv*tkA7fz-LW47+A*1 z$-mFdYT(Vb-2?gd#hLQi9u6HG8+UWwbVr%2u5E3LR&~aFyo`UhezTh4{b>x)J(jJR zZJtVXA-BM78IL=AY}1g0dIJ7fag_Ip&xSh5EidJa+YUDcab?~ih_v&wBO3f!Z(jW} zzX;Sb|7~xY<2pO&7c?h!2u>M{y0E^Ma{$aOlznt`xu;n#*BwEnoop&e5CB+r4Sh9d z>9vZkqxv*D5=8LO@EG+5Qk}BDDu!eF=2-$MjD`d2UWMvo|NI&sbrnwu@$=v45=6f| zJHLpi-QG63Ac5{TqAv$#+AbgJP`F4g@&@A6V)^mDHH7Ip2JgDq){07e=AY4JVZ{U> zXGiOoM&+Tf$<*+oW`1fBWWCX!96wbq)oyOVb)pjSe4Steq=-1YTsNV9<8TmYI|PK@ zAzBn;P0qlt;h(h+5fd~F9zfci(NgH_{WC;gY-V~KHTkr^D;F0PE2HPNsEsbYWfXPN zOQt|BY+}#R4f3teIGqo+Ldo!z56qS(A}@b%AZBiS&X3?vH;B^|9wJslz+kgd z{8NljYLvwF-ot}>Owi)T%wcG)WN&eT4yCgneLVs@`{HKlKj4XR6`W5#>)n&8CRd3S ze~v1T9Yv2|T>?|K5Fo#0-4H>}d-VZfe(2Ekbuglu%<#@@^T+!Wt{#1cY@ANc8SSo0j?`sim(QcKcPbnK=Q=ZxHQl7SC_L^?R zytR_Zs^MFbI{&7q-!yBNyT6>kQVXF5zm?;bvf>-st~l}>W*8SE$Y!pC3{NHU9Jwm~ z7GU9X%|{Mqv;|fVt9nK)Sw4YmZvHNpSU&pZjV4}W>Q|U>scRxii;noLj*L=a%aA3K z`VdiXkTZ!9IqQ37Fa8OcxiFy9NwA&McDNgT~>Yo*1< zk|HZic^P3DhFJsk%X8+EHDf{pV&e*ARkEF^IG0A271n(?M^uWsM;{hLwf*gD1W^Q( zc$zH+Bjaw+ph0bZghwU!9)2TPMR}`z%T+15_rk;elswjBvIP|Rc5c66Q?>SKt51OU z%u`$QzD8<>F}n|_0}*He zqPnyw{iTav51T&LBuPQNKJXe%ur(=Vg=3shaD`y4z``$c+HY5ha6EwwHTl3EE5LMo zAsisI{eTB`{UjT{XU$mJ#ngjgO}BCZ*1%;>rkmCp!Yz*rHW)95F#%vY)a&4h0932= zIsLS2sC6kUyEqFU>N2!l;vL{}EQva_>)zL=*$-3$ggTVHzMhq#ZIZ8q=u9fRl$?Ly z8+USPK7ZdXE3`_v5(f2TZ!(hX@~$BmQ|0ZpF2Ffu{@F$EeD9D7v+J1x?=8;<^<#&2 zAAanRK@YodgY7Z)>+f}=TBVQ~2y{a|Ps{0N?IhS_gE}_ch=s{%vob^*3^;ei#zVjT z_<*7C*+&w-pOgUB8T%jBpMDEB%pN(nvCSgzL2hwW-*GZ|aE=Sq6hS3}r%JOlN4yv- z^;lg#+>)J9_<^}>x`Nf9(&_bq!?Eyq&Yi<=n|k~XrkV}$as*{*p)iKNRhLCap)<42D{|lj3+HW0f9Vor;&`U1e5fjsk z5>wL~LTyu=Vj8W$UJdHW3+#?Vrvznh`*Zc`1V@cy98uFf!Q9Fm9=yO8!;T9a zWzOb!zjXiZeY&eR`Ac4G;1b0|4v`s;WC#+74w!H5mkl8RSp)Me{PH1i zAUvS4xgQXM1JVH+TlnQc&_H~^ZF9dI2tQaz@rtu|)FT=a2*St`1w2PVEI=w*qL$Bb zkUQz;&_0J!>cI4}`sVw1spfxVCDtj>{VBxO=l0&Msj4<)aogN9!$CjxTy#{E*sk

7(%uNY-`sO9zq%}SK_X6xY;f$Fn*U2Ms&!{n8HlZg&aH{9Dy7H}>O(M?54 zMMx^fFuH^yndJ$RrQG3(Rmf`NaXr~9Vpyp;cQ+ zocJv+nU7O1Hk~j#Nn=!_#R#HXONq?vOnzjn&PLf+ljZ zp6w!BB3?Ps+=|f+KN{xvESq>397X6%e}wHZ}Q<;iCB!i5~!+R^q1696j|!8 zWO7f4wA+d9)J%V&ZW@P0g-s_h`rsfx&%n5BU)PVUfSU8g>xw8 zOj+3-d1G2aHfWy{`uN(95Ml-Y&fc}y+{7LIwaKa9>FXm`-M2zy)+yljt)Tn{Dca{nrZ{Am09 za_7Nj;gVw@k%$IZM8@jA=ZaRin#+fCO9eyGM?cflI@IVjJ|*I4dxt?wR$dS)!lE^i zRp2!lLp(;&vmL|JCA^C`ikte-ya3xY1y6K<+n{#zwYikQAqCf^4JyK#f;%1)ZqU;o zzy)H&FuyyV5O>LM38{rjuGnG+;GmK#dW8XA=p{Yn5PDaC&zhXRtF8yfn!2>>rUz4( z)VeFLhftUDYuC;eVMP|9L!0;O8Gx$8Sa85=4c1E*uS3jjS9%TAYXa9L)d8*>K$Mkw zv1_&V-YGe6S9=Z4DfK^YaJftzDhBZUx6&)9SM!~-n>Cx6lZS&Fn-@2mwWsa> zufScp|LOB{2 zRZ0m%@4O6W{o@m|j_9XS!f35-^mw$>aPwb#DQ{C@3Io$gc*f450JVt_w@>IR4{O}fi~Y#>$=h{J!HS>bL1ydT=G&L3mC$s{8__q6*`itvMc2Wt>JOWrRxj>%EvBC&l0;*=oLJcbze z57)&YCnm>ZsY%WOK4hB`#(eFdqgNN(@2zV_zAR2-%Cf?}>v)+SZq zWzc15AdeR-%0G0$3kd6$qm?r-$^D52`uk3Wb4ZA7W^C_q_wjt^fIsN>r8$WM4VQqx zarbdP*^UTb@awNL=XX}u@ey2EO=|s?SYTSwR#!MK`GDo#uMZ_PdNfB4_*w0)I0a0u z(<7eD^yes+LAK`el5)F0@*PlDimjMcYlM^hZ~ghUFvNF^jHvM=jI*XuJWS9A$-8M? zybk!w=ULucaID|JD(i&K8SFSZ`Hz!yZjq~3Nb;<$rpOhZquT&}k>j{bn4QqXq5(mq z(?8|Y9_vt>rS~qCy5F33w`Bo_7k1 zvO5L|DWIvN$r8&DL%(44FKI2jQt`gs0gNzz(Rj7Yd4HnZlO#uN?7aXEgE5H-{&cDEa^2y)%t{(97hg*Uoi>M&KP5N9E;;Ql98uL_q;xl z_asH{uN(?pDOKJ<9h`B>NLKMx(rnQ^g^&u{b;-25AsCqx2kv(GX4{FLTDbJtFjqoIBKgfoP6StBfhcZ!Ijb?IZdo z6enOYmSsaR+rDx2jXRG{?`rF$59b0df9`#dHi2Ok9Vmr1D=qaAcRpae{8MUd zN3ZFx2d$jlhQ9Oud+{6X|HI?@uZJ~W=gFH$2j^`hLpVh^-bl!+hItstiE1=TWZYlHsXt(`C>BgbBoR*dK!ezI=T$g;5LE zj0#d58MO=$55=4WaQpYGlE}DIFK$*^d;E4nT1tMP!VG}1QcqRoE4FTFbnw$}rdzTN zON;!(RYWMGX@K_^MY14gq0(YD%63+IDb9X%KEj}+Sx>~TpjMwj5<& zGMc0CnZ918cy>0(Z*Be@PNb+dhDD0S$-Cs+FyZVSy>=cq7G@hx^p9UHmNsEl;@8Jh zwn#rIMFsLRB#yXg#H$oc!FoE9S4WfsJj&ar;SaLf?wfsDc7|B46+n(fIB*{!Y&@zz zY7FdxpMH+8t*;py5~74a39TV`87_1TX1LGiX7%L0fzCf=BcLtA6ugc$d=}y=S<_#bB!Mf_LsB{uuLf>^rcbg}sLOEm;F6GWoE|6SrY9-6 zfYo3wDpTKv+@q!nf|Ak7TqanYaiF(ry?C3ark*Wng9>s*9-1K)+EiI9WOR zRmS>l`f06sqS#~Fjb=rvDQPyB6ryZRxwj9G&hEK~FW2g6{%#4K-ABR9)|%wJ4`-~A zWC6S8h1VL?#c?6$58zn_$PK&~X4;=b?hCD-@KGLEamnb@s!}$)tqHB)Cqgw`8{Gf2 zeh%BZMY$ND!8|+pm=Wr{FNFD!$@V?0Dz!>8l(VmT*Pp+9SGWr&fQ(Ic)wec{>G8cA za>npN1PU_iUP|}~Cmgwj)Bwf}6$D5*Ps>YC_ zZ{J4gq+e+1zQNNNnndCX3x6WYIX@#KNSQP4%S)@;)9b$RY(+)tMg!;0>Zeopz+)$B zo>*801pVo?voKc{gw_h22`GvOP1+sL##$L|MLn#w`K4risO!w0>5YKzY$W&FnDks4 z;XD=45w4L2iQ@|7o?7vEmtbK!CDw?sWUF7~bf|n3VpNtkVcRTqKerNVYFTiz?V0g+$zO|*tKI2rXNMU(0Jy>jy><8gTIBFW@rpvKx@ z=1oi%UU2GMTc5!!bJm@{nA~g1y-fdw0zI^{C-kpXg5ojIw*4QTAzni(k_p&vx2T zA-SV{K>K)^&1i!TM&I}6qdAX6KWaPT)i(`25h^Jbj4x~|CW@Z9(-Ppx$nqn7N#Eup zvm0mXP?G!ujz1y3u##s<(4Tj|qDt$i3N1CFmW`4&SWRCz_dwHG1vKpkzmPNlBm3H<3Opfu6?E9h`^yLZx?IHy@k?Rl%C> zgujj(`Od$GBkmT>6d8q=ucN5I3w3Nq!*51dZN{@-QXCq$6ep@(TCc*-#fqU?AZqx$ z1M?^N3P-^Shs*f-2E=6!jVAwKnA%0HPne~MIOh1~p4RmNhK(v-$L4US;hJolK#DMb zkEJP-7yVlLwESqpMd;GB7}S6uaxm6{Nek-!SeW5g-1TkT?kM8gxVVbaIeQHLM2zVZ z8YVCi9~0Uy+F8yX5*C&0A9+U66S2v(8vE(;8f%s}&OB~8%OP&RK}W8Bul7KG6KOg1 z`_J#PTD{UtO>rG@as_$Z>>w$@~1L!X(_X2|%S z5v@U3^7>YtaUuf>r^t@sIbYWF7B>9bynC$A2XX^i`NX z$vqrB%$))(_injmF9b!J+S>GHkr=e71NlL0_}UtkKYXB3I^&NmSyI6(nnqwxB z;qF+&*5~Kwu|^I#THJPRjz2ZG)A=pApJ*hbIjpPsP+R8^CB*T8nFICB+8DK$E61|q zuaFh)#DqHai#f>s*>-WtRR`7J*w%uG<+;kKwcoH2AmrgMV-xMrvJw1PffoSxvL{e< zmkj6S`aX~ui*Qk~YgAMtJhnq}jTlM=-d4m;8Z!(M)+H@y4Zd%zo9|2T6wGrfX!G|K zuiGb4>CrSqAgbhb^3ld1+IBJ@Mqy8+`tcnK8xasI5rtUip_N6+P$>D|!$`{i;o$u1 zfIxA8kLJ>^zjLOg7>_$B#WPd=HRCERI@eW(WtY8-~M20G9yo!B^1afYs zeTqyYbQ6DvbuIs{Ty`$036mjH^^5cby@WJ^Dvg=M2rRqSHeNp!r*;n3cu_8Pk}D?C zn2&&-e>pxU1!A(<`xzzm*YWql%&BOVh^85ub{b{VX_!F9B^n=1kgbNrSY>1`2)i7C zU1nPaZXDIr{%qgcZWi6tf`av}TV>2gezPfqgfpFGpj(?;TP) zk#mkSpPIh#37LGugXOQen-qUCeWxNT;z<*WDqQ}E7Riimn$FB|F!+u&xeUa8+Af!a zVe6huG5NtJ{ZOpKGJ=5#O%Eq2_7HOkQWn&ySo~g(g=O9T*EF#0Nk5lHRnO{0CFV4%GPwTHzpf<1UB$@XR%)m|aEK9N9BMGM#>Jq|2n^z|4YI?gp>9SFh z;hxt9XUPp?IX1<rJtCMAb)yno_i=>Tstgl+Ap`?d+jyD|+XnD~P3Jnc;Oj^2WL_ z&Ru4HK8YOCT`RwYX~=$@w|gRJLZfZ<-WA!?9o+5<6t<| zHZe6e^)$7zE!&0?oLr^HR}z`KvPi?(sHwv^lF@bZF~>(dx->zU*Q%Js9#5*6L6Blxs$C<;BSR5 z6PJo^wWbbcGZ#ZtDb-=b(#S5l1*5n(QwcuV!argc70-W37>f)?+fLPZbn75VP8?JR=3Skn-fZ72TWfQC`BR6%sG{DfjCM z1Fm*Ar;`>eetS+c3m|<9mK*N)^skz3B4}cr`WZ3Sn)`<{;`&peK^24!c%LNxxGQj* z|5EANAJ=_z*xC#DMz3H=W%S$=fA`$p=4QyxXcf-LxYr{*wMK}a=c3uy^hJ~F8kNQ& z*0LhPiIRoE+*9HNw@^z*M^83ZO7Z)<^86W_+~REOHV*(*W4E{p!(7(6a_efcfoit* z4A?_ROiqG1PY)aHliPMp&|~wH)}i&9!O>~?2-nd0r}jl4;R?|$hk__8YFTfWsQ3eD z?Oe%#&w`NZmisa(MnFhXo3&t>cfaZ|A-a)B&*_EPA5RAUuCaLJU^=^`9^>uLNkJE1r z=qAsctm_J<#I#G{Q|eRMtB)%;O~#k&J;Fi(8$$?9K^hUuX5qvWHBqNrn;q&jvdvFv zxFC6_HkX{bn{{}0+GWn$^vK{vnGM^gSY4X2Qe!K^#9 z9*FslrI1YwWe68fzZb9>D`7mfs98d`X44>TKR{B|Qkh6(e&V=nI$-c!Pb$#8)p!C% zko_FZcr^?%8)IX6N`GBX*%@Us zQFx;aZavWQolg3$ckAuDmBferh@r5(IPlr?I)mnK$_mR>_(s0#pFBbn>i+VlrxUue8J!=4@n6GQCn;ctiLXSH8**PY`!HzNBaQUR zgm^j7(`%<3CiDnlT~$<4k!QUzE|Au|2kuPB10`|dr@IVR_huVBG4&U>U_$E4!; zYV`_KlA2d(M97 z?x!!}dtP(SHOCrQ6Xe3V-rKE~ZMbs1uSZF~b}?sKB37EZ^wGEtr0!TKZZ^}2uK`u< zZbX(a_?#7y6O63M!lJ1r7cYDH5~;Zhq)jsxf@7>H``o~Uyl$E)RmfEEgXQdbd5AiFr(-)# zV(a8%LHl zRm!MMai+wP*CViq(TM1?%o#v1_A{|q|6rnAJ(czslHlR@lMQ@cI`!z{OHKre3nqTm zXe)r*Bbd}?4tE-*p@Y=qp0Xu1ie)E$hK(-rCFY(4s9j8WZ!3trczJ#Zv5>b^yCYL1 zIhKpt^PIFH)=M)U1&ESaR&es3cx7_*XGXI?xdwA;2aMI>)WqmoDT+d^P`P*wx}qTk zjm1P5*_?KgNL>Yldb?TOwpNU(=DMh6+H#vx`ENp{#yqb1?73r1JmZY{1^&nG^+Ey$ z6Ff}>T&7xEmQ_tJq(?z1qf>^3LT+=7x=Re_7(vHn6RvJGR4*A?5{;{1e5ux#-a|gJ zm666sZL<(PM*Onk1rAn5LR+=tp30=|eeZs9EQp8IXIy94T5XZr^|^RuU>LhZk$NZ2 zwG!v;4`s^qh$^zS6zWzW64`)wX-2|7kh%6+udR8_+4KNPY&P?GdR6n!IfItWIlnyq zj2e`M(>uF}jy_a9lPf{F8GUaBTV5DG4nZ;G_(sMBx1w7qRmxfTQCI#>>kbB56i?FA zHh|n0=`a>Q|8Q?{`Vd7LJ+CH09c$cTfkFXI zSToIm6_YlwwCKW#N!*9`JET4u$&wZ-EA#VF;GqE;jTgMd2ZqfQf3#vVj`G>t&U}AqNQvaRw~{CKDT?B~b6uee z$z*0b($7cgrE}O@bup=a{yMOEmE-~>^wHpjb)u$X4fLEh%8pcuqgaOnG=zg}s3!tom>{bseLW}pRtblT-_a=Wd1r)^(;W{t1RL-46Ul^uCoJ60^PxRh zh@)1BM%0j1Rv42#@72#nLXR#hseRZ{T^@wk1lR!Ajrgk=#9UP^O| zEaD5qAB8cDn}k~Z7ocCWGO{^+moBkK!?URmx_uYk=||IC#1z~9wKLM)k~cclEs4JEzd zrc^Nl6-rn`d9tc?irNok+#4&!f;yEh7cV^F`nE&Oc_2>m;8>b*%O4x?IK$?$*;y`5 z`^}rTaFwYh2w1iKuhn)=G;$3C@;hJrtOK&rIUWJ3%JpsOWUu{wBV4A+9xwZ=j_PdL zEG(nzW~H7tK=Ceh-c7H1)jK*f^c~@*P;nP9*0{uO0H&%RLqFjRrdXpk!teXO!0E{@ z&Ih%w76Nx!%h2wfoE~;5BrScaFA>0Z;4*V`s3FedvhPbT`amyI9t*Ajsg)bRFMk)* zbu#N4>$n6>*7>5HdDfS)!n1nL%4-UOEVDW{-}eC?TGmS`KswLIqAY}xjA!vkRkY+V zoc7s`!e;d7a7#dE#y>U!vqxVJ!yCBah*Ux|RjJY!EzxJ?^vk!U^*T@pomhlS%X*A2 z!ep{BNN-61w?!g%2@PHpNApVDdq$+ZBCQ?WH%;=*PJBs6vCRbjy_IS)ci^HFSQ` zk2`n2BVu8M2Q&6y?}hjL6XBhz&*uZccgUUz_JA+vOh&XW^g3 zen{?#yIzjx0x;nR4a0p0E856nmp9rI8|Rfu*bd*4Z5}3gsGyH^ zd({;f(30hp7E=v^@q8v)qr-W~)FA52C=tf#RU=mL6>sr&8Xkz_zQ}x8y!A+yKbc!X zA~x~%4vZ-0FH0=w!%xRet-5+JJ`%Zap!>77X{A2n(vL8WGmR6B(**w8OkaGF=Md|H z)2-2{PT)Ev#b4=v9-*oajJYGa@9K1nuUR_6yLZXIWPLqkM0b8s3|BIO*^aS)WVUyc zAl=Y$0Dsqe8*sVO8U9(w+TE4yKPi^$H+sr6c(3TicO>;0%ZY7CwBknc?GZWO$TSrInk%jciYE7B@h(P59JbYmxxhvm&IId9tvlzLl1pSjZK}m6sdS=YZbbL)- z8j9%_$jB$wsPtZH+7-x1%D@qHD+bSa;|WZ4K#y|>Ujf_e31SFS#b_6vgeQ24kaX76 zQMi2xWk3ki)8u``puw3B3u%f_Mi1PTKMxOFO~Cnm@78+@Qn6UtjAz4ft4RslpM5Vz zP|jR8000eB=LQgqDSq#2T{r2;x0d;%|HRDXF?@%&z34yWG9$5kpUK~z!WxSgf6A8v zSG!4#FfpC`Fn*iK#;Ix4jzxB=%jy2bYGAh?^L1vHAW9X%oXj@Zx;F$q7U@d%o z2&Wz{GeaF!SAClQCyRt;Rf|=r|1zOCOMo_LmvL^(tEh2+RtI45Ld}dgK`l0o`2`JU zveE8-g<3TgGm3liYG-l5_$Fh>#P+5?da`S$IeJp`rftZC=_P*XNKyBuF#5Sb9RofS zFqdYL9npQ%%zLvC(|d; zn0Oz6U!;Z|jd3AwdV9PZldYattUB3GLDtZ4^@;oh{s!2w zGy}H-^e+1=k^2-vRir%S+w{Vche{!4+K(VYZ4^BAjJPgA-{G!WV@8=3&;BFO~(Vnn(!!kR4w zmBn{v@K>NpyG(UpfjB{U!qX%4MHy&beK_UVf#tlbOC9g8X|a6*du~H|&5JA75$*!F zx}R{-X}_=}ut<`umFsNxIbhLoH{zi76u~q+KKnQ*I!Qh=`Y28xlS!*{ToMNNWZ zH;`CicUM{>iTitf(*-+i&1n@zV-6p~F(ACTU79=UuRBe>PG-ZCrY0Cl-Ua{Ks;5yT zf3q^6)}RN8`3}|L!Ynv3EOCu$FPfGmABlKX{5*ojB$07zXCG_HI{x8ATQK67U*e^a zw@$($@B6SgQU_%6QIbZe2u81?)a|8=$55>ilFcxHLWnpIBaCEWWE2|7X{5+3W@CDy zP3nT5zJX50Ae{WfC{P%o(yB0^ z`-K6xr+zn(z2iVj=sRt>$x!xpp$_*nHoT)syj!6yhOResTioY4WSMa%tpX%o zP6@e}GJo0Iz7G5F=kX$fo|1{pG+LN(qcFyx zlr15wRGBDqsOA@w+TW=~W>*s~qa?VqRb`mM?6(1aLK7G!1MMivyAoH+@Rz#YG9z(0 z3?9rUQKl$Wm-ACM^t!~;o0T^^?o0?VQl=2rxl=oVt_ils3Ze`VQN+~12T~*on$jBJ zg8KyqO3dJoH4Zmd6Qt3!ln{A2=5o^}^e3ID-X&p5eJj%g3$u;!vKH-F^9{|JnM@pv zg}Ki&J;nX0v7dKPsn7_vNS_T@BQ9z)@R(}A+te6dC%jWNHyvyfJui#?4^ z`^l4j0u@$fR8B)zp;SG?{g+;ozw`j6cnk|C0$Hh`!%S7>^zpL=Kn~dNtN26|g%}%) zE6f=Zkl<)+P7rWWCx)2Is{|o1xWqnY8(S%OMgO9gS4 zxNLBcJrnphu!V9NO=N~ekAZ!WYam0=P;SG0@PoBDd@pM(X*dZdx?$ii6A}JTt)C+)uU{KgIIZ;&@M*wR+D_{07qcBGMvf_wc`5IG2qb@zEQ<-|=Sv z8%%E)u?q$wP>xJ+gC(R@$z|X5Wa(FORd>^yniEy zMj@$h4;cyTTd53b~z<`nbM|<4#*!9GM>8uj{sk{KsZN2eR!Z7^>XmZ3? z6L)w0SP^hw2bu^>Z8~~3jQm@}TODtsI7?QEcCc0anb?lRUkB-(JS~3tl}>6B4E6H6 zFavOw|HAMu%aQHn;n=dbn?3-I$H7^g^KYVeLFG%$p4)rE?af^nmK)}yZCO6Jg(GAF z33)`ATvdli8zE+*wzk=XH``hW*yi*xI(^YomOGn@$rolkWv8h&hT*w`rIRjkm-Db8aD~<%L?I;XA%4awNO`wr$K5s$E8(~&|YHW!IYGAZf zdU&}BYi?n^7i~kEpyIvD!wCfsQ-x^rZ`c!VGP+Fi@jEx^vio~=t1J|EFOEkQCU%@o zl}4kZ7t3RDmnUTHfMZ!!C#Dr|D+bK~iJ=?Cs4{St1uq4Z+FXXL%C8&7tF-rz!>tdX zYlD2w!VO3sh0C2osy1>1v>bP6O$U2Q5T{}onyGVG^C+}@&k(or`5!0ty`913xEx#s zgnl&UiR7QjO0wCASJXGdLz!R>b==%0k6;&KP^LHQmmw5!3{@1N#gN?Y+u?!=nyH?a zGDV)PAgLEUTM@!U^tS}QnY?|EFN3| z$D)ua%$2Rl_12=y&U~$RFl>q?BUm953f)=NMAC|aPC_;B#&rp?oWV#;DidQa+X8ud zv}hoJea=RkFD+Ooxdu6>>ZvGW)GX|t>t5hD9p3 zYJ^J*Mhppb%qXp3TmQzsA+yo+S2K(*=E_?dEx~4H{&)JdSOtWy#k*33eW}407UhX? z?wP@kIV7GOrP+NP6z_=)v2u#H7M9pG#Rqb_Sv5h@F~uf|FBv&ndEu?N?lLV7*_uMZ z?3ks{9CB&K>U;(Hh*9y{Qf3cYVnfJQKtZh&wa^$P`!cO`Lf5hcZYAPS*?8A)`#Tv0 zi4hhNNwW+|a6uX8dFE+_CTz;EB|v?i+vyu9ivmtg@GkRwl_uN;FhG1g%6b4hN=oh_ z3L8%Zv%m(_G8YEYihwD`8ny@aWND>Wq&T_QsRjq6q`yb%>c*NFr3_L#*2Iti>w=Lb zBX|{=1+V#r%BQsnIYnomw9Akh@TbgEb+HpypJbieA zN@l?!!HF)f3{{EwAu{OeXiMxYr8JnFqBjDM%&*SMTmgE6g4FlmT#Z7_tThX4^=xNu z?3#TtCQ76MzH!vOBkJJV{+^kDMHzl}0BLOJkpaWpd0sBcXLSXP645qHqSTuT=?mjE z;@u96i>{%D%IP-2L9P(XB%c{BIL2KryX!v^Xj&5vmi7{4k|u|Gn^oxA{sdUdv=P zp+gqaYDDL@Vn)DVod@Imw;^+=P>T(gIp*s0%PvcVkY)caowDC_@+qs7V<)0gA{d** z%64Za@}%1|dBj!Q7L}b?qnVY~!E0|rm=v5cmO=q#wf16{kddgJJiY!k&H$>=By55^ zG9!L$`?MPYzuQ^h%qo91Ek21<9zx4@4g#%7+BW-bnE-b}iuL*bIfyaJWa_7vPJny|F|Tnvh|4NtZ(jRlL~jx|ac4)T14({28L=3s@W$Zm-@KqI{pe?*-w8H^R~fd5aSa7!Rq$R%`=o z78mi#FaOUpTrY>o7zc5OE;0Glr-9jz{S;(6ZoHRj!aItQ7Y3Oh%z=Z%LGp?A%T`{h z`LFwK;kih5GGtw+RA)|W{;9*;W5-uQ<}35HhcItm-25ju9a73>{bZ;z=`c@M0(+T~ zmZjA_*(}j4bCUjO&sY+hLKH42G*iiSZq2pPjvj@J9(TIV=>!B+#_*TSOCPtTBPI9D z&8P7PA1*gt_*)^T17vG~1#9mp)!oxu+vjU`iQ`r?Ke)9Iu55w!?tYAmJ6F!Y`_J}l zfz)r6sU0BSzf32$&zylgU%aL_7T>{B_9LD8FNS2Ez!6=mvlazcU ze1u>Lc&M=T38c%JGfuzS-p_}lzTTdn`2aQostIB;v6V1^T8ejhq$`a@1O3%w)-l<) zV)Y>$v0a(H{Ms>@Cn`w_2_iv%aZnG9jPj6-SMGZ|f5a8`C>TMg;H(?6E4Wd!1{37C zi^hO7!o;tqSi3vI+!{%#q5UyW;$Ci;TwS14H_3`nPD!Cj&4_kBtqFVNlmLU0RbNmG zwk*HzqE|$t%OVxQG#69Mk4AajpnBni8l!$Y8vU!*$cjFNhP})jbh)T)cpswAN>lh? z(4Y8gu%0|z$~~~EU~D$Q?4=&g-WWpTSE7Cg&WZ(u66XD+g-TmPf*RT3kkjBiW@}N_ z`pTg9ZZoyOn@W+fxmrN)7EE`EB{WvxW4%LhBFeUHe zEyhyVvLyn_g(D7`eFTBM@-jQ_*$a>^<&7F=*ANjbVSNmvm`JFwN@#cnEOe|h_m4Lp zFcM7S@ZS^*PY7l@)~Y+pw63WbCK#7f-2QaKH{rkpB8S4FM>zsiSh*=l0}p zJa#gEH&pCGNy7HG@Ja$@fdyHlr%#4!j7Zt67Br8C>-gbB-#GoDaNrt z3&pyDyF|$}e6=-rk7>l6);=P;i{jF3Nd#FFCdr(46BTYO5twe`weg}yu2h+Qv{Ku= zV*F~e1)-GbGMlBILQ56G)%fgEbPid#c4tv-JWbFuy#D$cV&Yi>APfmUnOk7%B6`(y z61gL+0fRU}wAKV2PVUh0>GB?EUY7=Sd@s+e1#}4K*|6ZHZduQU*JKkHf|`-{c&<09 zZ)^i0LhCc81>rY#PS8A>C!4+Dr}XA;ds^XdzHT=-rhM0*>9Rqt^f#YUFkh0`0qip8 z$R1|VM8aO+VYd+V+4x;*=C0ZBj_4wghECPPyECm496o^(2|(jv2{uVh`%RgBI9UXm zHFrb{#5>nhyWGZn09a@@tc!*qDjk8ugSkCKMR6r7%L)S`T7u}Qqb4x^JPyMgA?!7F zAnY(Pl>%TNLP6+TgUzY}r`vH`DsL*MLq50X)eR9ZebBs8ouDhG1LP@!n=k*u>9*Xc z^-g~v5z8O$>Hkb0#QpDJ5oKdXCq;A9e^UoFpxv|I{DGfSGx8HfqcF(2dQr32tw*kR4{ zNGQzbit_#C*XG1Bcm?Og_JFSVp08?LF10gJ-|tuN)0mh{k8;x;ua42S-H*`ynjLDx zU8FJH)`U?=&+E{q%^a08`R0z)tz*pZRjgwy?^&#KD*KmjhXuU)2kzYn!uTNfw&h`Ll_`TC^Y8Y_avkg=vnlo+=u%_oT{o>3j?~G%OUQjo|U|b*A zXB>`eC3P9$C}AGuww_`!@_|@%)28QI>+Ec|b^Ycy-R`;SIxpC4_vHHP0xdY(`Q+2i zqfZvP{=VtN&CwxCUrm)f(c&`Kxg~3aBk*arhKtiY-}yu?Hs6xu^4iS9?ca=CR51{n3_o1^QC= z<5R&@T{;M-Vz5zDQRW;ckH$jJtOvhNvBBVi^0e%hE!kn`tjwxE^9ML~VtYxfbQzLx zf9LhWo!-A#E*JiI_l&l9+c%r|B^8-d6Qz{yw-$wpUb* zR2oUko?_>iJ_6IWp``h(JV0^@Lz0!Yezi-O9UbpSJ+Ts&eI$YHsa)5x0CH+I7ahxa zsSS$gYzatlL6!yV-l|d`q<2-WA*S?{w?BF--pSEBp)|U5=>BT4?B?D3arY+doUD1~ zDE64X^hVShaMxaQo67^`6*t~f+XZ-lXz>|4%+w-Ro<9c$uCnH9(J z!|$&HM!n2qogMU*foxU!_DM+r>O>8osS+zC(<=1Qy$@ zM>I#4lI+_O3B9zrfv5z<6cvJ;Mwhn`+;n0|saNJx)Z515l_XTege!L1N65vj)b}hJ zs4;NKWw_HpmvyPTeXSWAq`#Z3nXlR^)XI}?$~vbgFuN0z2 z)yK1%vmFRZsX|$bMVkUjsh;D*-=5VVj2bqwCQ$wH4^vaF7MGZchf#VT3nhrj0#tyOvCv5>%f`qzlRrt!d| zHD4I*o7Z5(MapF)I_1a4g?g3b8cFNsssW*su$`tA!&Tj2JV!F+$wiq{8bL|QV9sDP zk9`dWQZ;GQUIfs4^VEs5`m|r7f-2N_U~kc)Hm~_YbY13%dYxlt9S?7k)Jj!Q=t(^R zK7)~hLTcy$l@tS~gv2m>Jm1Lpn?j9aJNlfuRRva=aoL=uFCow&li>RAflF(D0^A6A zcwQrNWS$p!E(1?NACT>{ajh&&9}}t%n0hf63|*&EdF!zAoC|_?I%T?ARF=md6be;j z8J_SUCMz;dLl0vbLUW#MQ#l8|Yq>V=p7zFlRE24!GvLdu_qqyi{K<_yDo#v)B ziPFc%#O0}V#g;hMl=P>oMQoCVn#sdlsAh{ASq+Mrjm9hmp3VoA!rH*zUZp?Bb`4q6 z=^Do=RoNqHclxgoVu+8mRgNsW^L*TIzwBL!zab1ATJy4S4|9-2P|?w6i>6aWs551` zykriC8Z#nY-x@bKGF_(p8$kqRNDhk8?%O~-TR;9jP*WaVpOs{vPG5z;W~MObiYnMl z7tnIGPW-BDstdZ5t^q2U+x_VDZma!7Zct0@xRW*2{t{8jb+Wm0&admJA&Qc!@k5*YE8tcTGd=OIgoKBJWz6IgK^ z&F{|oyx1+=G^0%fZ)mv6)#c=RlU7&X2PfQ$N)4g+0L#qr_zpHDX)^tIeb8gImeyxv zhh&rNVwAEE#tZG{PdJQ)M7T3fOv3MYVr7HdjnMS7Bwp?Sn=!VKodPJJx2)e5>=I4I zwWtq!in6!klxkm1 zOz5%ZlPhQ5cN}Dxo12}Tjh1?@$4fFinl8GtJTsdtGmX`$Kva=bhl2i0r%OueYMgc$ zU>YYs6e}Rkg}&Bm;s?-Aho<3iV;qe)^fl3q z^4CP$Qsc;Nu9;lb++QE_HQf75?c85SSzoI7bbVW4WK4$0L@nh&n%ht4+Pd>v^S=SD&_r2(tI6qm&~$8^4%zL)=BiViYr@ z2wczlj}5CTm7=`R4qskVBPai)v z211fG4s8DxJ(k3JWcrP9*SJGGTre(6{H89jgy8^}|6SvRM9s~FgL-ev1pqCx5}ip< z$5GKI3G(1S;lsZ@@{wJvOVYx7Pz~qk17dIMZF}Xa8^arq6?^29*t)H3<4w(m>OGvG z76M}{#$t+pu9*|ige|fdQ!4*S3`ApP(Nu07Po{51S0qC>WF@y+tW1j z068(U9kOvP{e@e;H8aQQyO;>EsY2pY8{hd_Jq)|AiT&gNU!K!b6*3}}wt9!sb(K4G zLAgQibJr|xHU)BoTd)G45*{>_j=3l*D6>_jBi3ubfdDy~nNfx%Mu^DiYSD)|JSA@S zwGhM+Q%RT)x-~#(aZgXJ;+|h|QK>FBIaJS#sBwTWnM(*IhkzmJb#(TqvEer@n; zUCMmcWuhneVN>$W6$RCRW$IXiiB=E<&C!JB+eHs}DIY6UpNe+a`DEbnq|Zf5K-dWh zH1o8U=HV>)K^5+4pAvgu(MwM3R^sZ#*{UD71q?19t~=7lD;%42WEY*I!w=_$)n(6k zBWU@S_ahB^o48Nb@7i#HI830tKaN@N_YppAWSv@yL9TFI94ql5VbK9%SLL#TLkgM2 zZurwa$5(qg8Ht7+6|9|(C%8QpLNku-&Sy(@SzF*dn%!>#S4U2v3fUfdv~3t!{3wr^crM#UrE(M5ti0Voq#M+;v=Yn3=c3V0J9R* z**&0|#jc=(bkHnvdhXZkDb65C#2SnkXJrKZ8o2^gdHCTVIfD^6i}~W;AZwgJGJrAb zuFB)~ClkTLvl|LTIL&kVacYKUB=JuGw9g{7K%4gm-u*BLZ7aBM-&unnX80r$8^12*65142e~ z{En_P01Fcc?UP^8RC}glo|JTfA!+uk_%q!=t;3Tn*qE5aC&Sz~l&cp|>JDzmKqpMN zZa)C;U|vhCz%7=vWw*qLcSeU#Wa0J@Q43z88$8`E(+dHw6u%EFpRrppUbL*-qdAcc#aN5PhdWn`gNi zPAkom$Kyd~LdNz)BRqR+54|yPpz{2ibZeT2uOtnDC3@2{LKpB02TNBdrc>znDF<7pc`Ue_=lnrdONq#Q&Y$jTiOt zKNS%`nVI%kpwTr5Xqv28D(L~?j5U~#St^}bRG3$0@}~+b+##@9^!W?NPsjt_)4X;M z(9+s(#@H1?6H5OMskLf^J&Y=<14qCXbGkJFQZqL@YKv@e3J(Njc@IAojXk(XZ8ZyN z6)m0j%>IYR-;&ghCe;%621@P{Sf>Mhng~5V#rr}tbmk{2BuE=efdrgT%V0$7uOKJ` zsVeiPp znrV7tPmG{HUJ|I{=n_kh#}@8AzNXyI$aVIji|cw%)3a&=l>>E><$%OMgvs4;U- z(~O|FL^a)#T0EilUfJzAWQ)*ECy^K4i4dNUwGGN2Altpuzq_`2pNqh@(V+R_L_4UV zZ-^v)gUx(ZR1qsN>4av!!RnE_1L@!kYa6VhnG!5U4N-jHy5RyBn9BCiIK*nvBnK(s zPWK*>PgQi};&m<`y9Ugl^8DNJ`tcYEaUW{L+}}bSii>~EZ>w_K5WZ{)w);<#>E-Yz zH`}S^-CA4G-?aGS%=?6cDPCCI(3>Y*BWRqAzerwTJ`x+tx^+B?8 zq;KbB>p(2Jrzuv^mP7g>0nMZSp@CMGhgaq& ze-bhVRQTX8Qtd({hZ8~ab}%QqJZo6Lm_q!Z;>~>7117~6Ky-f=!?>1)Rt>xBv2ihd znrc1X@H{qoIC6r<2W9!n_*J?~O|V$1K?o>yM*? zW8t2=`Q48MW-{A2F+*9Al8e1e-#?S;7<5_fnRQ&5qW#p;NZn#;vyvsC>wM z(rUob0dHkvXWNPEyd0s)c&S!mI(i+#K&WJr)*ff$5RfoaQKI`3^+b?0)$uc0p&B22 z7OQZmI4tbhvtKpGp|SO?9faWP5tBi0UrO2sQBaDV(!I9QHB0m}We0z+yA4YP$k!LB z*h?e0foO3;muUj&uZBP+DW-AAd8C-_i?H2Ddi5qKJZDk#rxg{yO>vQ|Khl&ojEOAL zoV!7-^_uy=8;m{%hnRA<%@h`*N#H#g&cFR*UQTbBtLIJHoG&!QpgpAZQu z(^!I3n!d&TF6Lin@ahV(GHg)bn6|C<|0XK4rP3-Bzo(_CKrJdH@USvQm!QjC??W#j zDgj;~g_xCTha*O8z&n|-$S*}xGjEPHiG%`lGO@k(H-1JK3wehBk}QFLJH=5O{|wv3 z+{A|h9d_OTSdgBZgCy0g5YWJfDXgb!hyD{e0;qv*hWiCVbB7UsgQfvP^`;7nt-Ro| zSuVg+Wbo^8O2X!>66_fagM>QyGh`{&j4SBL18=r4MEQwjv?IKu7#kKITK`zMJWv#0 zV)&LEG}}T^nuQ{ymvfX|u%~Uyh$!`hV2^mg#Yr*U6DnCyBO1fVJZdKPkTqOlTw5!@KGI~9xf|wHNMZS3&N3Gk_Ohry zm|iN_f2u>l|BrR}Z`?2O+7gKYeYm@IY0D#LJ!}0mi|0u3v; zQ+j>Ic*B7x73)R!G?GF72JR*nF}Fx%fda*2_|QGU>wff}JJsv+=@izhOwM?Nzh5om~&3>F>1yu4l1OsG-+lt>9}`4%=D zGMPv57!ja`L4N z+va9Z3Wd;$fPr$`5!I;LxUnDbu4URqTfC1v4ZTw=D^ph}9kH^F!k2{FRC*}JRrwJR z;|r0b78@kES*GPtTb@M^*!L*ahDMdS3Y-Ksul;gHgEHJsWp;!a1xs0^4w>rLytwS` zvKE$X;*g3SNpoPR@GUzhudx46=8Qt7kyd`B<;efhP)zFo(=aOn;Z ziGxi%V{Rr*z2E`wd>O8Jrhn}Arn01czh7UWd)SW>%zEvhs_7HVhQ*mgZ~517OHNoy zb`_v7Va$E1^tpqPVOsBm`;~r8Gjp5jq4Ge($P^g7rX&19g6W)(sq1u(z4sbykivCU zeZ_tD>canN?(09z-R^%kclqB=oelb9^oF(*1@ftoNhmVMM++KiRMK`|N^+r=T%)F0BL*y7oW(6tCsYeW(b=^Sm@1 z$7yD(c?vA5b*>Kb5vo>`WE>?BT#l(+*E02gx;vs|x-@e^4&ll|29}!$ucgFd_HhLR zwSM^oXsKCy*I`m>OIZsEPGa7tG_|AdM0?lFji4A7r?V45;XX+T%f!jZesT;m?fFSB z%~_99^!SyAd=;`)*Eo)Xo7#bjerrq&kO>BuY@_G?i$L?4M?k7-1tZN}g=2R#uf;s{ zs&dG~YJnnCb}gmQ7tl+Y%MzsC@omhvkZ|Vwa+<^w>uOm`G*TULhg4(* z!7021wkF0~BlIsU%uXlt=70<^gf{bce5#GjE5%4ADA`($5W7xEi=x-!s8Uks+dl|OHo&ddW^aB+LS~tKaqLhc$E@L` zs%wOs;NqfnzI_XlMD$|EPu$6e&N%!0IEKg@65VaNz9c-hK@q~67_ z*_JT)qrSYg;8vd6BqOER zTTK4joF++6LeIQ6g`ZD0fgrmfo2Ic5@H^RuJQ(T=z&FXwgf&8gz-NS(%ar!o{V1!E zX}e3;7xV_~oOjGkv6qJX@n%8{VVY-wo7(fYe%U1j(zzjx@VW93FwFuu10p914iWS9 zU;x1hIf)b1kvXMeNCE)^hiEu%$c9H~;d1^|Qv5MtQ)K?2HB*vnQG!XTelvr_#sy+a zG7JPangj`K!+p-ouscAc!rZZas-^kx{%8V6GVEZ4sKoN~;8ynUkin$LM|LAHeZ6=F#?*O1n){{F4>lg!I) z6Q7|6UGi`8Q77FCDb4t^=mA{~>O&WN#d%r9eSH>wKMw%BzvV7UqFu2~4e}bI4p%&omLf6zWFXvnMm$qAg z*4^yG`%FvI3tdudayny4tnvf?rj;tNs2TdZ+3`pjKWq*1Xf#f!9So1CcICMVZp@YH zjx=bx9m@;QVisO;$t1Imd&1q!tctl^Tp&^ii~$ul1!26jkQ#rjarD0t>0VYh!oEq)R3qV6FPWC(gu4wwoy zDOZ)7RsJ?j`#~9V+7BIcx@{kyv~6r}gswa~P92vo9@qo7nyjyuJWG!4V|Op=k;E!~ zTqJk}G-K9Tr1MR&b(l7~E;Zp=cjqyLu(eFmeq7Kn4#rYJ z{uWcU%4~1En@n;;SRc{I9T|RZ;Uqc;s+SG#C8W*664%f~S7=|^jv(uj(+rTQlRc)K zzRod(Xx`oqGC2-d{k8$2ne!-eLa!nFiInGNj?OW6jTZQX=V>>0ww}Lk2U&He6{oqH zfl5!ub;#ItFb`|oa_@QmFrC>&6`~NeCy#q&s4#?`2hGI=FaAuGH1vM4fKe0O*wq#b zSxtPT3AARvQWzu~i~4i=u*tJkCoGf8u|%sDY(J)(>G_3;=6zD$Qn=@cQ)?hJOvPSl zh@{Ec)e{h7y-~~?cHP(7q9(qhYgonucXr~=>FNOFl%z1LfU*ZwbM_l~50UnqJrB?$dW%O{+*q@^=Cipm^%QcqUep`bftnP9(E^nF$~V(y}O@(=9<0O${QctYhO2xPz7P`_7* zv|$m*tio4{A_q3mOei9w>x8zO3Vy5L{I`7&H?clb;7te}h+P9#xyFT_i6~|v6|@Wn zBk>1?SG6La7)Hdp_JnG1D1yxJ09d%?Q44tAIDnsr4%uS*h*Oy`UtVc57NDg*sWIg_ zLy2wJct!*Yr1-M_6DEN+gtnAVV5RnCGI=qDP@yubps^5lrlKcJW=-tS2?!$>#FpHZ^va7btNWBDFI4YSD~M$GR_$S()hA_zVV>@W%ti3G?r3Xp0?146B! zA#!^}oJUFUDn`cdfN;RQmAxafOWYHWMxw>H1Ri_aCqV%7#t%v71bIDr>+J<_D@pET zk}laG8Vuk;G0+w^5C1KRcFPz&4&h_bdqelnNFufSS~~t2NeR&ZY2WxC_x}G&ULj^| z^Rwgsv;C{;JDC5o?2EWL{m3ok9c*39js7kE`QLj#aFX$|3Kf(O5tIeR$|LXx5ETR^ zIiW@Y+)(JHi=t|(c4KzI7m!Z?Uw@jJj2AucdtsER3l*iRxk1L%MtZB`bgSu=b+^y^ z14a)?lJrH0Awgs#Diph^1H0`m&`>i=es$zpTT$pZPm94WCFw6|^$u4VI1%9GU(#4< z2q&tQKGrW){5}j3l`&Wq_%2Js*%q6wssuZ-MCuwD5^R9=VCe zeos$#`YL*#A1n*L{71I|{D=*T{Eky56x6|*2-?ZS=@9*IP^vo=fuX;29jYR;>fzk} ziM~%gax<+Xm9_DtouO-X>xyPF#M)-7aTH|U4Hv4E8;4Xh5En+UZS}s&OiYE2-7d0! zGq#ux&9wh;wh#oK9NLbR=2?ZUMfNPy%|s|flJ?qvO&Jr^ffHsfvJ7ue!7RVe4AE-8Z`M& zd9Jy|*3^SBmak^3Z{BR#5dM}}5Tdtd7r>Cdwk?3!L+`#Y_rM#5^nljhkm+C>I6va9 zN2vuQYW865SfFR?;4INE`vhwD&$iV(vn2bI4#dzi+YPp|C<*|@ zl;C#AkTGG%o;U#tRc(Bn3wJ35zx^-9Ag@lS1kX>oD*Q*v5AFYSgZyvG_1_c!U+!Tj zU)NT)DZ_{f{J(?Y^%xvPA=NFy9K#ExLI zWWVQ!n=SnMZ5O`FPMYn$Hs*`M> z2lWk`ytRf9reQAG6NRO<>h+KQ!0Ra^u)GN;D8G?3@KWe62}q3z4SL@F$rm+k{!-cD zE$7aM--muP__HfWT&NXZ5A6)i^ zWEdg9e0U$|TbAZLM(BkRFYZqc7V>y{-Bw}UYpqFPrOxVuV8gV+OiPiH zSTif;_+eyb--8HE!)Pr$rdWADhdBvn(HcrIYDxQ?51SESntFn-!cV=jW?F`Hq*d0S zSjLWZLZmw>r@N5dXNIDsc2uGmfzrMHw6UnRmN-jR#E6nQEecN?brQaq#;GUlmu7$1 z6`4h`l*g(K4jv<4MQy9Iy5US?nmDtAkpi3RKy)EQnR#48(XvFL&8ei<*49z2y>RZj zOrhbDesV~Q+(5T4(YO}H>}ENZh-yp z-<4hs=NYDiS$JkMR{6q8Uj#xMS!weUmsH9EEBoB#k*nkp>WLGHVWZJFnGt! z&gpQo{S}QQhDt+S-8uAehF{R@{m4YDzR@iu4WvbJ-cv!c<+dHp7V7LeFv}^zn+f&I zn+Xm6HI5pFp_S&?qD79TT%yI4n`$(^xy;FR2@3uE97*=^t1BBRu`@K;E7W_~fai?S zF4@yw75wLywYfl7rDe25vd9O42PR_M*|Eae1-0Xw8OY^bvUp+=T`g#N-O;#2R-!2v z_acVamrO9nNR3q!uQHjx9G9~7)qe`^${k}{z2-wl$-9ZMY}ID&G<%T{a)fia$tHQq z1VYS3D>&qqQI=$gA^=@B4PgNw`$=ERLz0>tQD|JfD}SbeI&A94rtmzue{{s5sAVNQ z4$`z-+)##l@TC?l@5IMx$l4>S9gSV;Vr37Qj(+L8c`{(LugQ+SdF*e%Qx5PGgygHvZKb=Dv}`{1hL)zXcAyCp!UlHWn1uBJ&DgO1c~t*;j_9 z9;0fwj_jDNI$hvnW|UCm*=OOY+SklHvc8RzfMO?u$C3qM%M#bZ!YqFR!o|E7%v?O{=D2VHM6!N-v*NZAvdI z(`+j@cv-L}bXw5XnM`0n*vqXxssQ8K3SvJ$<7rYDJ|{VA*>#nrol~VXTQF2D*_YcG zbcD3D46jZuH!-@e7}%R!wdSIJtlV!(6kFsLWtB|LSLp+SU0tLAP`eu3_)QuLD4sx{;!N)U^eZ_zO~=Ejg~LsHi9XMbTDZ~$j9=7b&AARq2Aa0h)(ynRW#<|OO-9pm zW9(9<5llfu5^sjECZ{PEO|Zpm(-baGAU(x3CY+b^C!g2XP@C@Pp4MHY2<&>Qq~i09 z4~io;4C~+&sVBowPZEnNFr5n=IWLmFi?z5hPi30KI7{%!hRbz-j*h;Us#~W_%UQ&9 z?Ao{ry6=xVNB8-dR`-Wp8eQY@G1CDHDXgKJhQ@Wy4Heml*h%K>uB>BnZwRjxO7DX< z{Hc<4mc`dfP{|o5k;Q7Ml<8ecxx51YbS6J-J*d0rnV@P|ouxP>+5W9{j}bJ^sopj1 zNKT@YELWQs+ZsV;O(14FQ)l+@J1s(--VAyyr7$jHm}v<0b7D@L42^w^xS_>5L517l zk0D~SQRpW*NsKcpjz?i#ZO#Slg_+ymKipr&2?qQgd+YMLl?tr@BlPTHH&+Op^UQXv zWqZ1zmWtirjA@0!Jcke~&lAv%=exxy-8q7^-;3VWf|&)u@YHYmD}LM12KY!Q;~EIo;aDQ`Ifo(-O$Cd!_& zdo~Css6Cs(l_i!D6B%f$hG9h*VBk_i#e}vai!@@$tb4>7b5YTmF|gyr+M|RbjJ$w? zWxjuSV3?$g`UOdXfZbb#F-NJ9pI1a;X-JW}BZ%A$-ui6zEfUa~eclefy}WD*7}pK# z*R@e;rwpi(P%C7SVT~My4MJ2z_yrP-qmd#Z4qK8mD(;XGA&Sz4M{q{Bk_(iX14zD# zteFE!gGWW_fhKHPCHgpgu5Xf|e|#}e=4N_Z#zOYZ5A0qU)JD!3@~8GcyrA8e`{dhT z=F>VV!iTxYuEEpW0*9_l`i4^Li7}hgF>uHB&5v-`{lPdQiJcFAakps87pV2S$Q!`t znZz8sm;O5WQei3_5KQly3vT}z!vb4SmT;t3+j+~OR`obGaF(D^P%D>Fb*Q65PdvQr z@^{3V|G5%o0^WXkEtiK*yCOpCk##FwKZ-9h!a94+s05#?SQQxrW@!y&=@%(-SBOjV z?_`^UGqtw*gsBUInfFwN_cTb5LI*GL-{(#4P`X32aub8&l7RhIY29oR1Qb#-goD*I)(aQpFCISF(bBhG<(xZI!ah%=~>O&myumnyYv zmZ@`!WX{aY#xTr#N=E~%&J3dt$>9Y0wqTzII^F3WWSS||KjQnXtObOE{*rCTKvI_; zq6M554@4B6lYwfvgV$!5r9s)N+VcmNhAbmDm@y7ts>vH*{&~TSuUR0IN(^}5PMYOv zR?xH5I#lW4w~J8DwkyQ(WjZ+2o+ugT17sc8I2lxyo{KMjoEW{Fl%{tF3cYH^*St=8 zIpiK>_$WTV_NFbv~jxO?4~Qij|?6G>2*t6T+qsPy1DTPyB|l% z9qU~Z{Xd&Gv{o)R%v+qMaSJ{kQDyE{Q^+%*JI1%1*tcv_z%sa;*N#&|3ocJ~WVrE6 ztU*#kVwe=}@L9hGnX%3Ot(t+4JN_-N^Wz8Ee|*eC{(oxCRZQIfcUJx%$!DENM(92P z6p>@AiSnc6j-@YnkgLrn1D5;3)Se@a4}7iI=L8dNSk&97QJ9goQ7vt-dmWQd?Jyn=84nnX_7BW=^a zKW6;<|9>V75dWV(SIxr2?OXHuf6QuplxJ=KEec}QqLrsnI=7@I3Rb>}k@51I(ZUj& z5k;1Sg%7@6In{KPwH@R|i_8*P)_XaIX$zCVCh>-W+s$^0^LZ+*z1!FC9cTyhDLJ+` z84jj})_PsSV0Z|3qse|+XtmD=+-o4Pp5Ei1VsK+tOuQN znJz=6x+zdOZpeed0ZfRsa!5Waj3QQ{k0yOPEPV-+Kh{cUwD(O;;KbaX?+zxO{0G&2wU8Ukedm#Ge06IP>Yqq0u2A4l>D0 zpFo_8EsL?dg%d#puOlL)jy$^Piq=chNxp%?3B^+|aVAPW=uEsT7y=$Izt6sk6zP#l zDlw3B1wL8PgyK{ATqVSpg{_Gt-_&5amzc+NCEZIeBvTQZL-VuPi;hP$F%8{fOa!Vv z-oPlD1T*`gz=7DC)90!r$s>BXqM?LPb+-9i7KHzgL1*6m>lY_1b(ajE{o!L24D2BF zLE!w;_HZA3R0Y@_Dox6K@*E2N%&!pPRaC&!X(h9(%`=R~B`{15>=Bm_a}dydY>~!3 zR4~q6BlAYjno3@&qF-Z9vmUY&cHsTB&hu>WJEp+jFf)mf=Pgem5E zh!b*)xqLwooOQYkRE1cmFF}6~{y!Tj`&~dVi3xY{~uUP|DJ1olrJs+A(|u% z6w0>PR{r9jTU!&8&2P;GLllkmH6O= zcfFd(a+?0kh@)Zh#`@8>9eQiJLddCGhr@^KRForo>^rct5oK?j8?4B>uKw+ z9x$oiJxMV7G^l1XQUiY9)Q%i>5?k#`8~zqTZ&&aWEzY&v=d}Pkc;bf7t*6D!KHYmLYo*Z7Y4$In!CF z7VwJ>O<<6ZW3?RC-glq_ZLo%@ zFf1upvFLPulbFbWXyx-%`OBL(SV1yWi z+aQs=4_|jm2NCkxy8^4z&V4{mqKtCl3cvZH6^Y2rL@BbBcnEw|$TK}BR{*r}DX4r0OH0k~ib`WU8 zC;}exlbWDuJ#wsvjQ@q5aDo#%q+cli=oC@hPPERX)WUF^9Zk4(Ic5DDJ+Pai+P%Cj z)(eV*rns^jH3k(Sm;a!LQeI1$(zK7Ea(E4vxZ2t>|J0TxbL3}?(jLiBT(&44wwDTtgz}XOX9Wy7jhGQYtBpP)h&ihgGQst; zRtTK-Uig^AepaFcR5Rh(sUkR1=vwZl_hk)4lm1dlS&Bo~!MLY_a0tLW1H>W0Mscex zTn#{IwHUe4ML&SnfVeb@hft3CXKoaWGNoSg{K$}`$(%rB`-mOby(_s!k|;9hl5C&6&w=^^&7GruY;&j4!yl zT2ZH|v&%MPMcCtyS+CkdV^pZ#7{?~)LYu3@-tN&~G zu>3E4{)gk1>{>=$6);4y5zT$A@)g1 z77&i`&++wksu_x~H_O=dYJ>B6BF*di@9X`g<9}lb4AVP50pPO%(F%$d~5sS_E(oO>fVC|bcu;W#jqOJ?m*V# zvmHUG%e9_n>Y_pN<-8|$E~JN@7OecU#*&=FcNe1tig%yG51VjeqC-k_prcKeO{T5K z&6;pAIXw9tOc#2fz$S{16=&>CFp%t)<83LIHH$H+%1Rkyvt@n!AIA+TiR3l+=Y4F3 z$3QKPjByHxvSp`!t>c69a@jXd^bJ00rT^xA*PVV8HuaFU+1y%Ww}UA!}AV79!zO%q_jH(@r++JkM5;hf4fg(s>vJ;L+JS1Xasw z^5?ho^on-&(b8{^*Pa}Qv;R4wya!rD&6Vb)&H~ZBNwyew6>ErLHVY})q0jKE`u1a*H=8d>u#BdTJ}^3UHK;zy`8Wl1sjsdq4)P6u=^rYv&a{)AnIirx_( z()%k=HO;oWY|Pj+PMFjgcv$ro0{}ewAg{eTs@8Wm% zf0e*k|Bb*T6)oj?0SsPg5K2OcKkh&@xhm%VNJ&J{VJW}><#J{MzEIZ^xME52RkW{Y zJ3e#z?fGfHXpHFaopct;%U<)`dQx+1&ioTiL zowg7R+tSuD!NE*GVhG2P>V{HX?jBp98tbLT;@3A#W{1zjxbT)P_5g>Uw z*Ny}Jd9L~NJu|wXDu3W8JWlR`nn#Bv3wWBDWG{`k!Lp0#!)KflqhkygG1b~3cds-yvu*q=5>Qx}D643U zVT&X+=09ylLh{{?864@_rXS`;Qe7zsw`>4X_Ro`j5;d|ODj$SL(i0kVax!fk6`k*? z&|GK?($3-zyWB6{goZgEPQrGo0jRjo_BnaaprW`4Hwxmvq)NUDG`Q4?MkNx$)g6LV z_x$eW>q1|@whedRlldW*IU1`?6Jg0W;^Y7^ zjiz?R4mWC1wafji%-A{RdybYWf74zNclppLCVvz2LmN6Fn-jF{AwuMob{1@!#TKN` z^J$cx)g)S5crdFiqc?xYIC+?F33Tq+(*ON52V=3zLpL{O4;2W9P$Su%wN!SBB^0W_ zW@c$VP1bG1p(#8}xFBkB_QP7CjL3I)|>8+0|8q^y3t zTJY5-C}*q$4!Zeefe!jvjMNH4vUFrZ2VjZRSy(V6T3SM@R4s4B)979^xn+Q6&GPqt4Ps)Oee6J( z377;S{1uFzzS8-{J>)&o&^~>B?a|Kj`F^bT<6Aao*AblAT{?j}U3>B1lE(B_4(r-f zaiEE2tN)Q^YZ$^}VKvu~_aSxve7(sD^a8Ah2GEuIZS$(r(7Kv8V|ZT8KrO%y`I1j0T1u4@ z(Z6>=qVtjiKzZfiBAEO{QzGsE2)fO}5CKb|NruR&ujUhbo7iClllri?Vu*5c%7g>7 z;MNRuXr!a84f*#(ZA3FkyYYtGX;ql*ImRiJT(9E_lB!%&$Asr}M8CHCq2 zCLMha;5kZ9x8Bw+MHT62mN?k0R=aq^KGwfpBKMuV1v$wrWeKrm2kU}m0oe@r4&G41 zeQe^m88~zUT{l+I5WikE?p#g8+lV&qN{OYw8-?Ja$w>NVMTqh0s=~O)IPffE^m_MK zX5EiNTtmlrYRA~MONt&=?n*J8$9*X^0n)F#%&hKaV)t!jf4;^rDnk@hU*R^3?_u6? z=|^#Q#S?89>$pdXEaNsqZ2fO_^IhRJvDT{9w32*^3I+suLIqS*B{TpgQFOxa>M{+b zwazsphh6*X=ZOTt6Q9^SzX&EV@c2gZND0^552AsS1DaPe1R14GKP8^=Mj>kGMM*p; zZT;}0C0lTg^%mhuWW$2WM&>d4s^vdpWHkgkwPR3bZV#I8_R%Q?r!CM8LGv4YKo~hCpKz@H{sb(a zOg&~19VzA}?BYz3<9!K@4ZKv}5Q{mY&CcS@@fvqs6I!{`U);XnT`Np*Z}f{GB!sva z$0VIML?g*QGAy=u#+_&&%-4A*HpUE!4L>X9h=%;&8$$64;CY7=ed1PI#c%A8-)-QZ zHJHAk^|Gx`kB%ePJY5IVF6>aMjp|;$4XI{y*cu@1H_*sc{vw~mfcf~BG~`}a+ED3t zu>}2(2hsl)`0W2%Fm=8QCJHaMrLrXjzNP4^3ZPju9G`-s)Eo?mny+UkG8#d;t=T{J zk_2XqfA(u9a0+tjW(VO$oO4T-$w<+-k-7c(=xD=fdMo4V86RT%hs>S@_Znk;sdsim{NYo-C~5?9I@_%Ss2d!g~|BtdpfT#tW}%qR{fErlV&ot@eDqx)Tes?g-FAL?IKuz~Y88s{*?j z&Y-?_@7#4dCmkY_P!TfS62|ZLLMuEB*qb_H-jV@5I1}Qv<-I#KJT2WaRzGmvft(Zy zeJ?WAHlk!Y=FWzNdY35;sZ47%*d-&An5c(b41i4vPN=1EKA{cOBD2+E8KZ=8o3Y!g z4z_sEO6}zhsTNl%R{-n4YzWS>*qGk&57y){#^7k?hDC2Gc5{76K3MTQlM^0O098aV zr$l6Uz!gSn5iOv0AnU*A_W7~6G$&09yU^F1|Cg_F$$y4mlfm_bHfpM{ZG85i&6nJa zqs&+}z5^NoDi+a~)_b=cyg!Y2AW7Hs7813*CnUl|&5)ygkX=;t4PKoqszX5$@Fzp<~-~CdPFu(V9)b@Ly>8PwNB!jxnXO|j=9yMCL6!!L2uuE6khw2 zI41V4Wngi$m;?B4Iq8G9k1)sCi~$k=`ndyD9g1rassDuE!U%&0FVvu|sNNYJQ%C0w z;YaM{44O@&;|b_wdIvW{zJ!^FHA1Dg34+)w^%~!~it~In89^k^!=R}}j*|Q?tY!$$ z6d6kmluhg<@WODZy_-t<80N77md^-wAfg@Ll&pKxa)i@> zH{Y0{hvWN9PGUMyZE_s3qcA#$0Qk#8#!ehs@1LL-P;jCJf{>BoQgL*9MgZ(S%PQX8 z8sgVc?Qahxhu{y`I_)CXzsUa-S3NHT6y)z1gZ_`SRnq^m>f`v|Wnb{OmEF9+Pu_Fz z42+b*Jld3>o=$|4d1_!t5~8R|dHJdoNGcxNh1A1~uC!H`L2e{3c!g>NcrQQrpc$>i z$6#8UU3s0nk0wl>pL24$fA9>uqOx7J+s~Bu4T7M{R$^E!_NE8AKw!hVasiP1hW)2^ zaH&Wix(+0XkV2AlEBk*}sGRA4&_Fg&aLful5HljK`PE7H(i5W=dBL7vQnzOD37hcq zp~5!l77jSLem^z{LLecG(&ag*pLQ|+pwwUtW~@wtdFNIc%A7*Ev`HBF#4z)ufF~+Y z%usBZen~~X6N59!6ru7apHuWcGeAbbtj3QZ@xdl93lzsIzu}oM8WqOIMbNSKaE~Ns ziKDhOD9vE;KcIr$LYNw0D7rG836&|!Z&xcra*+p#gB`z=n-21Wj)z*r!NE26r7Jx& zmE?glm?+}U=BlcPicd_5+#AjF#C5<7g_W0%aeU@~T=_+kR%na<^@v~LjEp;z*?Z=~ ztk;%{R^_ol(kQls_X_UNuJyf$xvuRx%;dUcbI|u00$v>lgMr%s{$8FldZO2{EP9IK z00auW1eF@;7@k3rq_s0F+Qf$60>I9#s?Sjol{cXe87J0T6TIlI_H?6J9EguKgHU61 zy#E6KgBhogEY98UQQGYrH~;^)cpU%lQM!RfM*~fZ4-^bBxV(q}1`rTHQV7Ja#E3ZX z(n^!S)H)Hry4jaN-}P$6fXJHu0`j3a#Jvs;YQOGm>iM0OkF&Y&-=|~rewZ?DN4st; z_2Xi*Nudo{r&6qA3Cm*tD0_Y5@|gL+($WQjQnxe5*eiYMFUB> zCmKRtG!Z*7SqBH+fMn|s;;kytm40FC*mPwB9^|YpybZ&~L;CPVW`6bo+pk$a$jMbI zSqCJnXK}%=N{|2IO^=orNwY!hlrF-46ZT~36#C9MyS6MM>*zE7u}=&4Aq2ZMZgkD4bvmXqnNbPuJO?E6y; z_-z9N0M|KhhoC0ZmWM=~364_EYOOMu6C&njMUb41vlRez=59(LylXv+60gZBJS{m= zHx3(!8D6Tli$^|p)6JHtswe4;Jkp*V-^EIt))H;|n+z_q*-tjcPC|7+h(AJ(@O;;+ zi=<`CGXQW#pJjP{E+VA^Gr9xLOOFkUYn}%oIRq3O;L4ZP{*Za)To9_!*;w8q5$Emk z0a?l809xTc|CS+=l*a-1aBX8byFOH_8C#OO`c&#xxAcx* zq4ac)<8|204{IeAg;CXoX2L!=S`o9EYG0>xWZ99xTDC)yJL=5i=iC|jRHd%kgno0N z#N(herke%_aw}#5(?qjKsUBD!n?jv_o}~dACkQKy3lGE1Odpwb$ne)L>Slby(zBO% zzI?!PF>q80t&YG@Z1n(IwRUCZU%PA>+c;U`0ylcrw+*;VQ*Q?*aek+fPKgVArb_ip z$=-Q|6Pw8y=>n;@BcpE0^aoJok$G`+RCS6e#Ur>u6w!t!xJtDzz=GMYBE?*XXrdVb za9JVu5TYung85c}l>ifVo?gixQHR9QoVz6R<}hrQA?s=Rl}gV`7^PteeBygbPV{?| zgg11*Ta6MPG}}G2%aXdp%|N$nw_zEO!=CX2~W@P862$^{=b{x=G3{v!&h{|gF5 zZS0*rB#rEB|D9N);-uxV8GjCcC4iy{nY$;=%|XZ~sg-sSI7lo?i;PQAs)9kM=w=SC zVc2xUEfd~kd7hRjA$)P))pL>Z$l)1+)Z} zaNRU}1(MfsUo2b7GS4hp+R~^f9;hq6io7bxQ9mO^oYq*hxJ4g;y1a;K@Rqymrf!gk zB}B_2wrWb$Amec6LfupsJ4C9ceG%@SI~cB7UbU#O`t2~@t6!O!Qt~$8a_=D2XN}0C z!ga-UwUDybs#vm_we+VWRtP@JytvcXGSMNbeTAI*T?f}Bis2zcQA7hv+@6YzCK`y- zX%v52P(A3(fvYy|t@QKgv7L6yBbLFXkjX98l&(h%4mp*?n%~^5PkW0ijtotY>zK+> z^hC*6c(Ql4YVk{@A4}?^_JinS40UNEr}H;&Z}N&<$0yWVZ+;LZpAXjIbgHQiwvGU5 zgEdr)0{zY=FkMpjm#A;2c(U#2ABfn?x&t0G=sS)aurK&`T8L+{QQ!wlL}?GkJ|i0D z-9_Zeo3EQQ$_nUnGmj=!p6N>%ydTrEqpf{Y(F?Mtzrb~*&ZNXmC{!D;4u>^GH}_4#-I9QC)23U6yFzAzL5&o4A> z8qd^zVRTgV7z`;NO1WS|4RbOoSoca|)Q6S;h6F(^sM)%87vP+6jWcvu`U<}Us)!~Y zG=H+S;)PJEDpw3Z)Ip#=1-l8&uT=;2QnqU`lr&2+UObo9_@U`Q(ND!<5$rfL(k}In zgMr42>!CV@sIZbU0(~Qm%_6H+mjY?RkTKa|1B}JdE;S~2Ow;m;N#d4|AlCd1I@y1)3shHu3zDOY}_0U_Oaptf1-`QV2}#zO}u` z-&NRlll(^jXdTUzE5`mpObkshPo7BS0dlJt@6fINrY3s*rpIXtZ4L8)B`wo&3;lsr z|KkoKd=hhqL`EUC>LxuFz{$#4;mx?Q6Us{9)6Xk74BbmR8c+D zgG$L!UP=B|f*7TlJxvdP;?nAWH{sz*`R@w-95dWs?TVEC>l;N*9DLGKlk~|k^Zt}q zR4%Baf3bKwcO12b|IsBh*Bzih~oo<-S|yci{E6?(UBK7#7)Ov&&)Wqjv9d z7E!HnKXp3!w=f`ssZ<5^`5>+I_9@l*wOv=!=v29c`(6IfpQ$6OGZ*Qt95LZz|0|?% zZ8arn~#uHpot~vf`>Z5FMc-)1KPvgO0#3NiDIq;-uIo>|b_2deTUVo{);9 z@v?pPQ^G|rp=SbnE1_r62^#vLWb!$eG`~BPd2I&{-r?wV{w__@ZO~Y^ggm2+^fj|q z8XcxBB|yvzNO{TydFHRi)JSDkdY*(YB2dk0`NEl!+rESwuBBm9_qLg2`S#$U9_{$oOslhe-Af|c-TI}`-hs*;nKj#~T z#yey$&^^IlbgzimmIw5$&ST}SP^VF?`miL~94tr~Ipf?lc?TUf>?!M>g!5D4hKT=e zzbxHMG+8>k)492uuJM%I&@mT}l1<*451}>KyfsJ^Ud7&8XWSZk@yNM8(YMNWxCj~a zOgQ%^I!~@yB$4zSSOJA>{rGKtB(uO{o7NHjf6en`~7Vmf$LXsas3y{3H|5UN8T)4_C9X(z2>(S{qcWP_?T1nEG=) znJzi4y^a#GzhZ@_3~++7}gRigFIM(zlmv zxr!@ucY1tH*$0+odve>A`s<^b#=yGr(uvj&>h9=m0cD@fG26ZETsijg4>A~)+YHJ- zq)FRj2nweJO`FAcc1pwR7RYWI_FLSPuV|!hijM3}Tf(EA3txQ9-P>bVhoL9?K-BFy zei`xCGskXa&MRZx!}x`N5oRTMWbXM4cg0@{5^+dJq7^AcMj0-zTa##a$dz6t`Qpd$ z_tj@rV&>sntF$IB5~9|Y8;ezC&W2O?V2)T_5&ylspS9*HTU$N zbuo~hIUM~o#q%q`4XJT=2k%^`MU@uwFs6(NT$B06Y@|*qiV^~oO+EAZVeuYn?ur}~ zl*N~Pk)Xs<6Zs1?N6N!Y)bAoRxyE^EpL0}WgG3b?G|3uiqACg&WmL(t!;aVtiYCF` z08}-1<;p_iB)Ha6rU=&Z(&FSM7NaOC%c>hZyAsKB3e6J0quPsrb#9EO)D%lZl<90P zKuncIb62@;6gnqtvem^wZR`vIekLdIp=l6Ys8PS5P@-;;rde@XO{#fa08y2V0TGgW za?e^d(O=Z>$^%#bKt`71irLV*ysTv~6=ZL(a0BYcfpCN_n#o==qFsTBe zT}e89QN5spV0o)TeMV~-U$@NYV4}7Vjz=C9T~TvQ>36dHGok`ERyerl81MjX`9}#= zU2~Pmp^2)?)Ff#StGq)E^}Wiv$ey8g;qeLVdCBdq1Gdq#X8Ew@mIDMx{kNc4#P*@( zoy(tJpHp3YDLH~uY$e;57dNeEApvxD_6^(YJ6Dd3BNZ-}u1{V8EV+ZMD7HO_$suo# z*uU0V78aRO7wog0dNhx4V3QYLc=-HK)xgA~QWtmb-BLI^1!KCc^&K?by4z_Se&LuG z`NK_hcKsy?#C(f|S8u6_Jmam`g`aQV`61oVzJ3n-^p3cZKL4nPh!EJljqUv0W~{eb zVTsziwSRSWyCXldD5?Q1;<|$G>@|k90rabdC(lwyIm7L}qnFH#zRz-g*ei4Es{SZ< z`|`4QQo+l~z6OH3*0aE`!3*D)N@buSV$Ty-?Pu%eR992=PVV@jjXhi|4^v6~y17aMnbo4p`-no3izs8`fNnVerqS0UxhDT%}cZWp0PEo{A^eFK|P#@g=v z{w=0nG67zhqTDq?tL57#NOg5vwJmVKrGBiImfmKqg^!n&kIi_<)1=nf5^IZHrIk^v z+WtLwKv=(xoP0M4f9HM(m!vf#uZ`IFlW~$wU6OLt*xH-TW0Q;48aCVF0Gm8>dduQ+ zlcAN9tc$RYwbvMQ%QCL^puVCa5nSd~&#_Iva>Xqoz6ncfXLa%4E%=n~;FZYe?a&dp zhAhQ0P_K=!0*g^jlZ*v-m05A)v76wWtJjQ_M2f*vSuVM;MbhLmX!JNH{ z^Wf&$<;>6z%kdo|S))MJ<>AuwCFNvCJ0DeD*7u1u$?8(}Va z3j4+@3=`G2Wp7Z*qa7H$Foo9w@mjRK9z0XH@b*T!XGS*BF}N5$uzlGZZg%ct?<>db zkUmIa)_d!pyWKJ@N{)ruy@YA+#y0MWQ}D?7Nioz9;|LssY!3U%O$|k7ujCU(Rjob< zH*$yMGqM|YHbqb@Iy&35dWz8cp%sf4=MsMHKy@@Eh|A&(jd;dYvc7*-{^ZKa6_~|K zq7*kKIl}-tc_28{!((N}pRhq*9d8|Lyn{BX*MW^dVCIZ332d=Rr&1%)1^y>kGC6ox&Wv2hsw2?c zOaVU3Jo5ylycMym&9-!Y5#6~URb^0CLSr}SP?9o825G$w_!cc{>+wrhr{Ol^R3pTVq30!vrR~RnWTcERq*;kHW8VYche|k%m_!^!lyz|B? z#iFHmrw<=}y-sRo>~uVmp;9vH<{<@Kqd<&Z?UvTLtEcy7{L_#!-kXfDiN7Fd!^MP) z?*h@lCrCXejLs0x>L_>mn}U!uDk|zneYp(!CY@bLgg*20-V-}_I8K96m9X8<^CBea zOA>$o=Hd%uIOjJXyqLcRF?#Ksb3y$Jy|t6+KM0$=$_r_cVBb6s$(fSuX-9pkZmNO(`3n_s*o3Qg;W9t=<2OE|cDeQTg$9wBK$##%t%cx*xXU!i6~ zv?O#|LpB7Jwn=0#WMc3z))Kb#H7nNF53yn0dVnx>Y%OXMLb-)7f|i^lxNHD^VV@G1KU|mojpx zd~0GlpLEW+9Ye2o@G3fHA}!ZfF0SokOHbEiV^`%R^ojit4wA-OE_D%=X|XJl2VEQr zm7p$J>g;{Wvxe6X?T4mu3c#P6rJ6HGOKzC~Iz`E;xa@?oGiB4{igj{N zxHl|43G&Qb?|cC@)4?mLc-i7(@+jb0pT6~7V@r<-#L{=j$M+{kuMY=0R*~=vtE>lS z7YOm)s;M1LS+jYohxqnxbE%~J(``hU^3_6n-Lk0LDub6Cy)RxEM!+J1J)FPW$0WrB z*PR1myP~MBVuP$S>M~rbTtqaVFow`Pe6!-AO;?OM*&gN<%_Y*PE)8n7 z$k{#6!N=p-WGG$~le{;fB1uOaKdW`Oe_K7cV&EC3bN`(0(O)`6a0yMc>kWE6>(nW9 zCS&N*CC_(ZqDsJ|#)xc<#DZ*D10Z1)1p)#q`s2`?&CW+50cBE2h4|66D~9Nh5UVG( z1v>QrBrl1^!E44fUUmjC;Wlj!vg`yriP9O^BPc)cJwDYy<`Lu!c2@!0tZ97oVXIX8 zV<^N7EJ$HS{|1ueGlbT&b_L%*quR-T`AVQd&am}c8BY%TRqsUx}y~= z*+cWJ4l%9j$j@~?>8*M=a|0kMZ){{8**Rr^YxBMKJq9G%`drxFC*A>*_#Xjecqj-K z9lxh%2KqZhkz*7bMR>{q1?e1QLg^T$=;nK^9R5S6FXENq2^^_D;X1hhL~!PzXl=}L z1>~6UVbn)C6SvY>U8B13xy+G-916Lh6v_+CS6LXHRgM&x6-m70E*r93vR6So-@^3E7=Y*-;(gW4l4BF`zVgIE>j_)W7Vm4p8} zfO@5OdVNLlOCiATIF9)W{}-pzu1r*xv3rO$7?Wupxkgd=^B}}aC!nic(ivqgN#NAh ztY*ETg=yyjTSUQrJczad-6qJT~qGFD!T2%0g@W{}fa+FWb=MUC>b8ci0g*i*0IuXH6_L=kPlIk^{f=mwpxx-~5@L-*xQ&noO9c{_o+@QJT;f=EVzY&%0L^`^*XDt! z(^+JpgZYv)KgP?^d`dM^RJf~K&!LUqQYOsZ^MPFs=!>O*VoD1st}EH*SiR!sg>GKD zW82U6m#;u&saO;9jR{(Fq-f|7g>w?wQ59fy8dsy$nZ2)6B6T~CaSp;n% z{m2gmXjYSIr9#Sk$R8$MkvE#Lb1)+{u;v%aPx!J96octX`HAIY-YAn&Y2`FCiNR8T zifNRjShLG$;GImoS0t5_DNs#KD5Ydf(u!%+TZ>ilfpS$8S)nZx7OcZRx+US0#r=)c zEHj;YbDb9y2f%|A2CrP-z1ZPeKklRil+`FBSWQ^{*{%rbNNFl(6D>`uiWexXpkSE# zECiPp>+}`IPEzGx7@{zubtUf+r|U{si;`s$QamCw%ZPC*=U0?3EZRtD`$^R-#yo|F zz?-Kl7c!EV6*VWt#bRUWY*TutTtC~CB6Nl-trrr(UHvsJ3MDgGOpvKuOd1@~Mk{I4 z=PDaZ$JEAJ%B0RMp1LDNLi%s`O{I9K#zdpz6e`*^y=) ztaxE5ig8^nc$p#Nm}~%xvO6+k)Zp0a8g}nxp%~Gmgm8xYnHKWXN4yNO*RN?!akwGV)os9~BXz|7V%Ql2fX_Ny!@l7`4Sg zp@=%k5>?C}QP>*9KWR`o1ZoR*fLh))*!>OH0jZu5uuvdj>mK}5*Ns-Lz>m88{@pwy z(Q}N6Y>5?mxzeVG7oWhlozb^8pRh85tH`U#0<9cAx`s*Jus%9T3i)oGrjZ?BJhZk2 zG7Cat-I;co)}v`^DKy$7L8KP9p73OUW(mPx&N}SlT4zBL))!6joNIcI?UC!7ec_xl z6eAn{;0qs6yONux$%F-o`7T3CBQ|VTyA4J=>{mPeh(%0-SXsh0p86#reUrY> zVCbY;6va|VO?VBBQPqQ=ZNw@$*ywR^P9TFqo|*n+m=`J?OyhLv?4GJ1Vl6F`xnT#< z1$d0H_^m1VzxHD~sITw1A@)HOCwZs%aIsA-tz*#_EERn^{YBLiX8;MI^a>kqZJoAf z$X=fXpaETco|$pZ3NYC~kLf(F6&=k8WBG^=%wPd>elsgMbOCcCn(IP9C$x8#>qLah z2J!`PgN4wEb2_}w9H zWnF1yRby*eR%2UQV_R(}BpaTJiml^CygX76Iyq!Y^lGyRr*)oRu+Gjp*qs?MLl>UZ zN{Nw(9>wj2)YY#%NocNh*4#4SANf8{7;YE0^Kd@FiHz3KmauO) zU$$-Awr$(CZQHhO+jduVxvHnn`<=O&neWU@X0Eu&m3b8_Vn4C>{yi9sBBzjtH$yL; zlH1A2wT$XX($6wE)mmJsio(WbGc#S3$os^cf#05bzZD)yHtk21)r?uDu-vy~d&-cshn8kCDP6ObT zZf{YFhP@~4UAh-$;{GZ59hJnxoP3Y7O6OjH;4Waka*Si+2H!C>KRcFS_~&D_R}SM) zojN&6j2DTqLpjWC;=HKG4<-02!}3o@eBHosyu+B64N6|7%pXa`{2{arl3LNF{KWX1 zj&WSC+MkT&2PT&a=4j-yy|Vk-E|P<%X9(TwT-4Io_6m|N@?eKm(Zsc&g8HU_N$#J; zHA5v;sR}z6FyM}ThBoGsXtI67_P5f#GCZu@g{|7hKi*x?J$(j&(g+*izAbG!9;2YG zl1xE6W&Iizi@Q@=?fPTOi+ z_>$>aweM5&`KSQ__c!PuQG3D$j+N_2aJ9J`DDY3J=_zmsh;szGB*UcNU@+(kgwq#F zoF|UnuYl_ghxgy7rcJJAR7OWzj59U6c|QUOygM%vcZ?N*M-Jeu0A5C$^w_q=K;{#D z4BinTw^{tvExECSorVQo+Q8D#?*(kHm{O8@F@Hn8Xqn38AEChQe_2T2i{+xe1j73H(u`vYaNvoAK>@QbqoC%Fz>hEilE+Zeav#n%ZBrkef=6I9QxeK zpMW0f#ca%(1-$2u<5mCBaZKG(2!Ww*6xhtSx{#S5#SM7sjI$rUBJV7OOkpW^@KUHS zBPCBX5-AaOPw`O6n9h>2?U?1hrlDY>=FMZQ^VXF(2L;B$P&$WG0{`bHSf5;Eqr!_-*rk!cjb<-v6K;kS&M(Glv3#n zXR;7&4DSe<31$MKF~9e^@NS;Hen~^?0#EpWREzh2{bR1SA@$>E7@u@Q^|Lq5HtlQL zM9*Z$_JrD|zO$`SJ>81!nYG+A{LU5gYg_b-Yy9aH+p|0AHkrHRg*i*sB(Iy+z*rqb zdAp5z_k-?tANS!8-`{22r$2C)pLu0|yN!GAgG)1b=V^mje*$WdlK2%!o6Z#$$Z7M1 z2^r1-PBvb$Vw`Y<`Kxr+5%oIGXjM@H3;Yje2HvItCwOIstI2_yIl4 zAZY{or=uFM54+6xKa={neJQ!}<#f`1=mIsMjWt-T=god2Yd~qX19FEVLZQ(rY!ySm zBe`;v!f(y#x5IuB@;cemjmvm(h%zvPSQ)b8`9bD`Qksxv25iY})F)=-$G?DdfXq4& z(|aMC4yHBSp>hJJy-5mW)_Q2x#fz=BIa=yCF2oisiFlkX;(}N+~pf{gb^%g};C!RzT1@ww6ogcL(M8<$WP}w=E zO+sbN9uo5K13PcAh+>5el^vBE*jYkGT^yXNQn`_W#+{N)MWt7d6(GZt7o-T5j@ohl zdcwjDpsr9EOL)Uj(ZX}1hLdY8Uowbo3Y}hdba?+&ffp!hJKWIWq||5WY1WsOzn2Lo z?K9o{yY-aw{pvRlH=BX0nV*`UoS$A_T0VYIDQK#%5@Z@)P|cCg@{fcLlL(IG2WCzH+@cRMj2VD=aKJrChc9|hY=?&5wB^q6L zm`!zsD3hZ%AvdhFCWo}ln`(`z!Ol5@bYn^c^;=W*hH65z^}X4;F)lbF3v>NpC9a{> z`8q-DcH))zM(a&KKxt>ko-2ot;KjZ9x-mb>-JzTtNSX@Q)I?zaRNq`5(d31yTk#1h z@mR9}C)o7>&HEAA2@Kj9$U=y11Dh*N;Pk>M< z(ZF3Y$`Tn(YI0e@6(}u@2TV1UtoxFp#seLiQvaPMhv*30Mt3o38-zl3?xA>#+H*v!yD3UgryvfAP`$KTMDnKK|{w2)#}w) zNqn;FTMEPMnsN9=<^yUFe8wq1lnFbDyOHS63Om6kGLQMvj}4CSf@- zY@Tk0=}i^GH07-oWR{y^mu0#TZL*uHhDa#uxRt!;kzESc=t~N&wPzgXIC9V|C;F8q zx?AVW6nw51uhdRADFlDa(lI3dOtFLyBrk5T5oF;2ZyfLoBcO8pP)bF1eK>jJ!xuA< z;9#F%i2K3#jXdf1_yY>h2Sx^%U)0pAc@41NT-Bjy8^!`*l zfz1|N$xp&68R}g3jGG3N1iZA80I|vD;N36)^}vwUCc7duWyg`{jhl)yna=v;oq@X% zJxoiJePg$PD5llsE=MyKkz<2*gGu6uHrN)1LTt!{N`=-ipYWiSbZbTPlsu7cx!7eI zSA(~zTmIA?`92(9FsDR8_y$NAqALj`*$lH(%5g(!V~2?r{8Y(=$s5>BN-|0*RxIS;2E_qhIMbUhxJ*g-=qz0fv@R$mINOrn z^MlK8 zbR?^B3gT{i#y30Q+Z%>2yuvLe0TQ1CDwPZvU}NSCaA3p1H$=mBkAzgr4a=;JRcFY$ zQYlGB3JklgJfw=18MkJ}(X=W|FBXm)v?VGvfE&DNWlHT1o>~rl&d3*tlkyAAs=U(4 znKegTF5!jHi^0Y^;d1WIzvf zCRX2A4YFu=;#+os(v$e! zvZSLdXzzN1_y&@s#`=ha9mIn&g}tieS$r5+6H%KxCh@!C?h>bz5mw|KW}YC06Zk1b z4(*0hZ=4(DKEO(XFcju`DD)54n%j0)yfDIHtVqtREjK-=w++5Fy;?LB2s?={Irx869u(W{j(P;MkS zS4>USL1k^~Pau?*VW-I!YKw+6>2j4tu$7)x(LXbg@2?;o+`XQ_cm$S`xveH;k@vIFyDM%TjSwkm7Hky=y+9e7RnTx?0;eQPc zu_PWK{9P3R|t@{ z1kr}B+GviDR0=?oo{Dv7pcMA7a-B-r$%6fG&LjmnNa1q(<$n(dEOT~1$|jUk1BI-L z@e^S>rN9pFjXY@uQn`}~wNQ=GPes?{nn#$RY-}J%0)of#4Ck+;Dcwo(7G)01;|KU! z+WS`&Y`O_SF}CQq;Pvfr1EaUa4wBfKJu&IolPO@mbmp}oBd+D%3`o%SS-|S*C*=M+csYihFt-x;s+mWD?#ib2iGsC+*?xn z7OA)FO59z@Bo4|rm6O?j;L{|+wJSiNe~>y<-8c%|8g{XD|al9jn8s$T#sDBoIDf@EHJHZ^C<@&*B8J>xg;;u{7isOkI%FHoHx$de^)Pj>8}0M~On>(>L-aPPT_1Oh)Y>Z!2fskWihW#Sbjoa&~fh z4nKS&egWZq5~OY9O@HOWVwwD$m|#>;=t9HP(3GQ@^Bd=rKqUy#RV#TCCU^aub5!#t5>| z(VNJrP~|=#bHm?>W9A7!#TTOU3c3v?C@%k@ey-dzNFVIJfqsk7g~~7VU@0`15zenj z*qxc$_@x#bcA9A+VQ1)G)cH=k7N}H$a5@flqxal@C!Bxj$D&3caLE{h{RsFyaeM>z z0`P{y`VIF&?2RMsZ%W_n->lBjpzaC&Njh&-|H!;y|Aza*-51h3r{1vt%%MEYd>ZOpbmkY~;>=$A8`eiX$o+NT@E`~xcu zy>g7rZ%$9V?$$7m7^F{_55CzAIZhuy6RZAkUu_^3gKOG9k_7hn2=_uwqltvVd$Vq0 zOGu}+X&rIQG9rQZ3HM2B)QjDEeD9D3I}#P!JLiXxjM&tFtOr6NOc%i4@b50F>42B@ zwmAhvJj7l!|2cUdNJm=Im`X6pqF=kWvQvb;B-)Sv2vvq*iI zO^{!MxKZBhruu~W4xU!+(D>Tn(Fn(RRa*Q2!|T1t0$a~gMETn)8RYVB`r8xrcD-#qUif}OhEULtZ7Aiq z3nJA7`4yY{ z;!*z+Rb}}X|GZ&VZID~o`#|Gto;So&FO2mC+;gR-8+@XAd`cOh2SoVHWp3sZd#K&JPzu^x< z@1AxjMK84YNfDosgvFO=b@inZ#0c6JAS&Y*w{d9cfFWfA%~Rs~Bsj{X zxK;^i!WY?5%sGMI?zbf%S!78=oUF-mLj;$K&`Uvj0~P%#w*}bzWrod9RF*Hn2>NR_ zeD3{xgrUL{>Bc@q>98S7GHuFK z0^f)1!6q=zwV|`HF^Q-RUI-zTAc>N8$1M3OIhh%3ChqP?*U5rGx zybV>S8Kd+FB0?IXs!g0D`OC9#ghl+*L}4jcAecovj!^nG4sv(5a5?uM`c}l)Hvu^f zBdJT}nJ02UPLR!^7c4-67N_Q!8xOqld!wOC-ITGFC^{2IJfjqDIxcwznqfvMI|bT> zB-0J33|p2Hnyu_IHl6Zjp|V}7*h{Lst6AVsTf!(f*FLzi2hQvfPhrq~2-?pMcD42> z%CA4*XD>GCYGz{^aI3_vWCeXBPAEQmLdE&x)b4rGEDM$#BX;qZhT^8|xNTTi`NkqJwSdtvb3nEivsDLX z66Ywlqnz%f%x>bu?xf_YAi;Z~@@2@VruxJeDchf^O{+9mKjJwhifb_Bt5E{nZDOeA z2zzZYpUU!)NwX+b;cHId z!bn`$k!@P+*goVm3Dn3lc3hJWx*TOj&VrVAkc?!U3PC+9rsz^KhaaK#+LOZ%A9Y$M za_|PMV;W{~h(3s>kD&Ds4stLyVi(5%{|x3`mN9R}2t*406xkTI$pCy_=v~ZO=9rV> zP~_xC$bOpnAxr)h<4GWK$02d*N!3mq|1kNFHY^{QJ5Q=Sv)h;M@UfQd#%l%PW=h#o z`NoQ*+V{O98|}y(g=@&h^P19b20hVn{0;k!&H)AAoS6uoBZTOmw_hgF!4wJh!Ixid zfJg2J%)1bZ`SD}g z17_HyN@hDYCb)XIO#`y<@{Jl$`$T?3VW`YRQszXZNItZWR5Rl#wi{uUoKub|vtu7; z4zB>F6ZND6y~p8%ss8X}9?WAsQ&F;crU-ttSS{YQ@i!Yj^XE|b>|Ds(L=z0I=WNbm zI+v*U#!V;;E}jq_9-gsK_}ysaf7Pa*iQi=tddnA17B$-gAr$2Nkfq&+JIRv7Q^08u=Wng-j9S>CZI z#9>j7geQ&`vCzD}0cMY&`J&1Xof%+8c&7aM#~h6PQfWl#$+?|<-izPpVdsC$J8q4fjZHZ260Q0#)<_mhB|sD^GF*#|Qt1HMpxdHTZ&xMAb= zX4OjqOQ;cx@yS3-uxcesG9;x!PLM-Rlp6yH(bGUCWR(P*0Dyn*mjtYkK>)~+5|j;u zq?tGg&#?nmNWlQ?zYvN3{h5xFuoEf(673gb{4a^_UlSkyz9I)s%0f+moBTB?4+;SJ zmB|85*bN|r{>GpQlc8Y;V!S5P)g-3TWNgTYeMRUZ+=^geeGmgF6Q0NbY^h=J!$ha1 zQtV)~B+6)U3{7q04%;k3YRh~8(EOLeH> z6NzpR$;yPi7XeL;!fFtk36^HSRf`ykG?o`&Est=Wq#4Vm$s$b_0_hux6|fh(7ufri z7Dm&M*l6NtB~7Ea>*EHCOPeS~GgihyoN#^2V-rJ6lR#K|Qy6wNl|Xc(@uK=Va1TjH zw9Lx(|8Zk5wQ-m!HRp*a4xwn%2;tC#HB$`q(1gx3(u6H&gDhZszlsbcs98AEes?o| za#0oCU4E#cvV2t~Y9sE7lao;`h(u#_E*CwMTi(AJv8ZD?E{%&zV`E`<7tuROkr;(Z z;2lzHGaVAoe6S+x;h9n6g=TFbi}s{Z4g~E|o^xd5hj^;AFxx{2*W|1=>HN}p1Ckq3 z?0~Qf%|7@C%JtTP%iK67Zo@9*i}7UD(BwR`eq5kptRLjTc;+X-e3vBQw>o*ne6JPr zOHS0UH@8XKn5`4Z(iy2Q#yw2%AF+Q!dej~*f~D|I6?|sPPmwVdtB!aqr$kF-(xqKC z%WRu;3745qy{!BDAEMLfd5NbqJrEF@+5glCjr+f=%y<6pqI~stW!!PJAFp~%Gl)P9 z4Np>lf{Em`Qw<4q+%M6@(9jSNNGL!IDZwz)fW-8Sms{GfIy~o;?|wQSces-{Ks7*E z^|!WC>i*MwNfJlBci5&i5M?4oRrjmwtGB-Y{Y75?-*b6?@CU;$#i1Tp@LYCwlN}Mc zF<@A%_@NWoJa+o0u_IZ*AX<_zVte#rjiVt`C~79`$EXl>QVsx! zSfSsJS~I)&N>72}kUCaPIHavMpAeX9qK?!1-)7zG{J3h^Ma|tvUi=|eYRnVoX-!)D z>oUQ~FIFgh^96jCIIYP9kXaTRh%C&w>-vWrY$Fc$ea~C}w@L`)lb^19Um(nOBC^*6 z1AAjSp7KrOW7uSb0})|7KSA_4j5C&CqFeogv6&#=yw>L)Up;0P=~mgiTy_Fvm>Re;|PE+g~9lTv>;=Sx&ngWp3Z^;WCGnGu&|ZhFy8f_wjlEd z|pO`E6+UEBU_Y1>=dn>-rx}f|6JTQLIGzrG2&YX~Z$~VqCiMP-o z{Udc~zu0|-o9!^Ix{$V}l%V}1_n!COpl%J-2i&^E9^pX(j-3$x#go^hqv&P!k#1Xg zQ+S4vc6bJt#qM~_7w%WnyoHTS#=SII{4Guu>KiVIEhZ8Xl&7@Llb$?$`PG$H-6a9g zjLdV=TH4la=aT{Wbkb5nwEgMQb3^H><1Bq()-)R)Q_U-A+Sm%P@Sftz-?Z@KX!J<0 zxtt#R=R0RZ7IN=op3+l)%VNrVluptJ9j_yt#C+Mz(JT0StSJkSB}^Qlh9`BUQ|U+8 z_GMwbh_X9{Y91_Bp*30SW#>>jg!E>Sn~wR;z2?+?c@J?i%3H7)BwHy&g?AJ^p;NKK z?D&J+C@gC$19QuYwbv>V$}ZHl|8N7kRPP)!`0C<<{!&&PyTbe`xll(Z003U8~k!y$|sz{ z1ybDFydqvYBi=4ZIAqDNC%MMaX@<$5YzC!l2ucZ%wj99ap?u7Bee6*>k*>6>AO3_c zPdcc(!+gi71^d8yPwxC;8WPO=*Kk0n&6`k5C&7nZpr{a&H^#ZtmfrW9^PvG^CozXm z67B&}HXo@0LJ}(6H`c38PRboQ*0owy@DIT7iq^U6q%e7>;D`i5m$CxDUNP0_ z*?)lD4r!dRO?(_g)ValX{#MiAzodD&na=y!G#+=;NYZ_i!Z2x?fs2hRB5V?9=d>PO zkE~}$-WQ2^s_rejdfxQ8$`s^Al zAHrvap8Y{05;hqYZ}70LJA0$Q6&{3Gced8LgF};#syjxy3wvAr;eyFSq=NLs<||!X zYsg;E&74cQw$ObcZNMB{%M+e`*hcQ_-^E=Q4IBMo2q~mZ@ld!4q+1x&RdD!0fcg2Q z06oe#I$ou~*XBtPvEC4|q-~dJ+P@5cj|?`lp`)D2jW)hvJB5s1LGifcc63mKF~Ae5 zN;^LrDeWf|wDVzKLV9B!`7bJ`;JryW192jh*RV@4z9w2s8qXi>OmAHQ2OmVTe#;f+ znW$9fzhM8><%iP$u?Y+b1Qd_3%B~I$_D(MUO%Kq3@<2Vs@-uJlX5NG~X`TdkCNcmv3fA`zxPfp+C@&X>%Uy{@0aKH!kj*5uS_9hhC5(KY0d@W%sN&B}>J3D~!b?)Tt@APrR*d+9A8LQ+LSx z`=*&`he({S{P2nRMGmd|WWdhTNgW9K?(tCXhH^-6M?Hk^Ci&104FT1N3_sf0e6}z%k zjK`SDK^I9;fi;c%b-_?g!Ao>o%(!_GlO35i7Eg^T?SfN3&|Q%RsW}S`b!A?sdH_$( zExEmeHjQDM*;m)hDs~Z#oOB`W-%)9+7!}zk&7$p}u_fp^8|gAH?AQ=Ac~(2Ug$)d8 zaU4-!@v?sY%%+Ocrtub=!{(#8B%C+yVoqQxw!7u^)5kB^uYOzn|~cIr$?Lo1&UW2#XOgs}++NKVS-C&|g{ zY>j=P{S*dad$KN5ndQKsx*2dVG<)u507|rbHYL8Q(HAM|O5R8Z&x$Sm&SHyb8PvBJl`S26yGbA`WxRM|goxNYz(}!3Gz0~dkBrC+ z>v4lk5)4YUg+8eOEj!jD+|rcsIzqw0@4K=<(iB;(X5M9h`Ap;I!LpGCVweG*lSdI1 zC$-XGj3bqq23Z`;G!6}m8r?od!lbt3r08p*g}+PzN2D%JRHLTA zL9xWwR$AM{vNyJq5&qEqPa_R0$W+E|ZFu6bq zQr&*0%gvyDv3*!!FjWC;$X4W|&2lX#nIOJhxR1GnN4mwI|wh|u6#YNX1M(WnIA1Z02Elb6(-NTdXnYo$~t zCMjkCip4`JvrFe|w+zzPHk38tFIRDFL?}4u<>_&~E4dWr*BgD_P=00r^9p8&!@gr= z$!Fql*19uSr%|^YhKzZ89hn!6UboX3cx?>1mr~}wPRm?+XjU}6ENdvmjH6=y{NC;! zB~$NF3HSJTz3fw0PvE2G`(T!hCwO*))1tOT+dIUH$lMlLX8I^dirRViVTgIe)Si^K zGNG|8mnD(#9jKwV?R-3Q-c5EozF8TV&YKJgfk^tcBkiM0OH<@|Qi<9Cb?DP_T+HRe zRXvhjJG;i490ugOkX}yKjLng!J?1xKS+Cp^iVWsDjG#q8XKENY_{9#-_!t@^nt$Tm zqx)WT@w`#w?4+z&+UPGmYHP~Ot*WDZmNweVos>&;hjWeEO<_4@Jv%_xv02yJ;f(PV zH(m-gBf_V*imaN*M#MOG28q`ndLcudHp+~zJD-dxb=zF~zjP`SV1ufmI}SO%KKAFQ z;a}et z(`VO8A0(F*P`v>~3xrZVp9hY3ke#NtclaU(kfjh#f)ATk^n)TUF_WfnvUaC5Q@akA zHbWNURO0`#6Z2IwcB70bwf?|^Y_CS*9?q__e4>?Z`l~1Kst83oNv}Sw;o3`9FNYEl z%?r%lkC2xD*Dwwk%TK+Ux|bx@3$lBV2MP#b!B@HVp>Wx}g7JQ1`W}!C+-F$BB|90? z(GCPYIUIZe%5rq`bt?iqOg^(~xUTB&z3P|4paO1kW@-l>qY6KRH<3G=R$O?RXO#yB z%VhQo*ITrYngVx3^BR~g3RUzdmw2G34=xT=mIEY|Hv%tFKssFM9*( zutwQO18&Af;mimGYSIoh%3)W|7(2k4`ms^k38Tz>UDX2t8UGNVfAHhpV2L*cr9tr` z71cbjKyeFOYa&{Sk}QfOL^iT$u^EzA*YGtmsa>I{NJdePxCS-vgo@+PUqQ$2ujC3v z({qKr5i(JAk6;ekRJBc;yiM^heCSOQjxB^w`*J*y4Ud}EPk2naOP&$yiU3U>gZQ60 zUig7dJrz>kA!XMCM5=0RboKjxBwPrgz$!tG>;!Tcw*Gd`lYPdBEV5UiD4yA(%!XR1 zu5gA-^0|{pT?%+lJUXH-v1v1~6Mpi10bV-+5Idvtj!ehCP{;1nP$wK?SMFjL2v{=* z6gNiY?#xo}2Dn!y67NUJ8Pg=5D}rHE$aM1piVML(CKFpdvu7%YV5XRJKse_e`33>e z1_9}~;BQ>Ab)w(AcHG?qbFQ{)2AYxFa(UeUP;4n+i&CAYHqO&F7^98M2Wu&Y$fIbY zJPIT6l}q_Ci9aJjR1Kx6TW^>{EQ4d3;$Wf>^4$YrV=TQ&Yx>o@vc)w5;w#jsq>H+o zOIMJ|T_hQEd3>LcZ|L1H&YczN4=iSF^I1tOQoN}Bg9F)ktP!t|0ztSqA`rhfP&fL}4=JA^(0#()2ZUrgpXU3?0;+l*N zfU0i9y|o77CZc7Iq#=JtHw0NTHtZx0+@UruYfa*#P3{>`=?pdi$q7@vT0Pd>LL^WP zJ|y=ISDg6ZKEW3UoL8>g5n_iDBf+yX}lBfnAT*f`T3EIFqCh|qQh?X#1nKVVkaaAVr@j}`m( zKTIg`SM7)Jf96A@|D!VazcK3m6W5D68yh;9Dw{gGn%WtgDi}IBTiTfeluVuf;pzY? zo(})*-J7doE5EFO>UXzRt4m2Qm%%WAk<%2YJ)~0SBcggJ&&XrxKO;_)-<)u@d{T1(n zIDE3&9!qNTcc7=qRoo?;E6D?eB;Pu@ZqrVijQRYt&EQgTl1}qz=sg1VRii<-+d~SG zt0-FO4!$VFy-k+jP(yYdmJ81m>MV4)QbUg3!xK!SX!|nNv+9p>W3E{DvF2AMEwsEo zRx@EoMBmW&f#^1ZiH$`E5&U^a*to|~!wy7unB@uU%t2k4VT=_f3UR1nSmE?6Bh8n- zU)ZKUtU-jP+;-`jcylKVbL}0019ib;jo!{brF~k@#gh&*XHU13id*zaV=EVN2DD_% zn~UrPpe3U~lrR9cWROW>71p9@g?WKWWESC18f6e=!v9zb$se1=_XA6OsLo0`<0Ekc zmpmXze`uGmI;Yqf%UzIHCZ}YgA(lcQoS&7?CHDJDcfi6@vp(VEu|ci!prm+ z97^Wh)7`rhfOjo89kt z-(?>E(VzGG#v4$zF;5s$!Y1QOI7?!gUaFCB<_x6`{-?-II8pmRDkZk=MwZsB(n1odd!@p^RoSJy6@ z>Z7atKcL9|i_f_2Oeos<$z@WQOYf7!&OHa6w}mNOdAD9Ubq@Ji1=Z z-JhKS%jkybMv*m~N04n8x0hF6PrH)ovLfOgv4sbPsrYwVXM`;fMOt*29`J0Qr- zlanktH5_#tcdf4>?bi3L9n5-{E4OPP{|-C3wpN16j;%GkWDRmS&|Inl$7$irn>weA zKL_aAY}yrJ-7^zU6uU>SP&SR@-Cyvdy%eT=>xdSivWAi;^t@^kHcNhsur^%l+ivbc zI#gMH&N_^Eu#IO=t8nwy)7f$VzI;|#h;HJEw}avD*nR{7VVB7nEsI>{Fg5~CCfgg@ zCMz>xiIs%2e)@?~$#@2-teNG{!YV?^biNtNEInNLOV0F2x5wX9~0AR{Hb zn6VPUlrr&@yy&&%sjJ1x66cnC#|Jng;L^NCzd-Yy&uFca?`Un5&&68kp2ScV@FDRt zl7l(7oEI+m$#+dd7)v9TXlx#>`@16mxc`7#arML;T_JI#tWu&Vx>DjOx>|yGMHRqE zmLd5l3b}0sM-z`zxt~xq8p)ztd$~3rp=u4)^@ilH(h4By)ndL#ayo`2;fEKPE*e1o zrEe6CCe#~5ypCLhl@>o>m2&N~@?oEs21Ic7H{=};`EmG*fT6u+=vCq(99bZ6pCsoE z-5M!Q=wd}rj`%37PR*ReAatRUSNQKQudf8!Bj~bFSldY0dgLpv&R)4Qwuw!+rrya_ z*_8L-ucT|3D0(pafhXa;Y2d;5Bjvprn#1!BZfM?bR1)wRe}`~?HSEumVkGxe{Ebb> zPSuht5G53%%E|MRIDB{s*{bB%xI_z4iKCUknXU-Y(`XJ+{<#SgpQPqkM(q8JkNi_+ICkr@NNNGUlMRqe_C(uh-2;fDgT9_tym4Ymi z7ny*6Jt~UurMnrDrgJgs2Zb`Ua~2p96aggtaUKQI7wy!Y5zW>=s}@9ZM1lf8FR(&o zCJV-0b8SVOp$IF)2JDw!W_4x{?rpKn5P~{erW(qMEUyL{xyjH1QW{|;tw=gklCadE zvHj^_z?_vx2y7E|42cUa%*qfmu3$}ANzfp%C`s$bR#8M%5_9SkHV1h+2~28PdH~T2?qgSCu;4F_(PTbx%NYoHh?pgbO{NOmT>;P6=ccMghy>-K+mbhawIWL3AuC zOXiP#&aFKhmn5@O@VXy6I4=xYF#8ZH4)<11EitrE>L+N1> zbC4J_#7%sp=`z7RtzKuKBBm4`#3a4dBMwf6F3n*YT6nbRFfB<)D>S0!cheaIB@?w^ ziaYFxfo)=PshcLEKL%x|9Y`uO&q*w`y$yOg_7ls#)ZsdFf zxJNBy;bgAjGnCW1l_J&iYjg?tXAB-1|&U-QPphh5;J} zj!X>Grxzr0!a#(iHHlI&;mlNt4tm@0NFNpf_El`icSy|3xfbm2=Ag&t@h7G_Iq;fGbnFqW z3R~2ZgMPrtDdIGvX1E$_lygOU~hQ@b_%}f^2esvGfC^e!=8DA6GDT zzxOsQRj(e=ve!tB6n=0xfiRM?3=VNE*;bPN#t9_662z9pTZ+f~M#MR}ost&7x%k)mf}rMxC4~*Kcy=xJVDJgu ziTgBU+g-WDCp;E@OSBWjs@4@m7xF7ub*S1K`|p2zMkL4wJMR8Pn}B~J>wlj(0sKF1 zBw|kgOIvv=oBp4flO+BB;_QyjyR`dTQc|dhjsyjjYHP~Mun0-SKqZ!}hO@EuaN4k& z7TP#&+75N^ixPMcDN3*~_GP|hMm)~6sYp;aW#@7`pYM75Ih*@`|9s&6gMP~q1$Lqy zbzqEt16XFtIcO;6gE^obX`n~caMvHz!CHolbOro3?KXfnn~t~YgLh@Ot0!mCdDo|G zrQ5ESoL9QeSH5Y@^$GRuyk(WU{HB??zM{ttitQ)8#F2GrQun&m29)@+t_WV_4jnhec^oyD8kz?wUTK6Dm4p}PzBa^ ztm&pwC{7b7yOOppCw}z`nXFoNDJAg88Ha|2IyEVNM9BEi#3VmW-Fg~KSgoUe$W42f zy0cf5#(Q$&Sq)KX#q&t(J)@|5e6rP2LR*#~P8CB68+bMyU7|QFjM9@D9wBKv`z>9t z0mSINpu!C^?8R_{EfP+kU5>G)YTeQsusI)QqF;$`_KrbbfDb2xmvaoMPHzEb+u{N2 zh-z2PIVNO|o#_Az!VpDsy8$-OLHn0PM;t)&8mLyBOMyKe@fDy(`7NTtP2(HpC()0u zMgV6l7MXa;jb3%q?a7PAnmu3=!4-sS*HEW4x9C(xO}`NTF`#S%=`jH~Wg3}!oKy^+8TlK7q==S)6~kp1W)6X=?WWPkyiML_bmWpD?QaA1UF) z|BusD{2vM00`Ol<=>JadDc{Qdmv`zidK#VdJ57bc$#!XK9RVS9>lh)Gq+l`|=9h7p zn=*L%u9>^^koMa)#6vrFVnrmvfiTwn&6?0JoaV`1_q!bL`A+8Mf6lyrp$z`%d>0aw zaao#?LSpLJ!h^IZc#|$i9QTq=YQ<>iG}Ikq1*@+KCy!9Wf`)m7PD96TtDcQr_URug z;U0=Aw%6;rNkrOIie*E!stg*&*IsbrOzqoX-9_4G zo#_-Hm#MwIgXXj=G4{nPXf?LogmUX({it~RuNd|3f^3y5bO~3eI@Ps{3T(2Mw_Kzd zo3Q-i`DuH0&l+KlwLS*Z)Dhi2(N7bOdbHdwZMJ-9 zN&&cwCKO2)?ebGTcV4}LrZDm=8qY#QkRP1ylEsA~CQt9pc-?gTNi4O-YQnHEoTsH3 z!!*O19gCOlc`9SfS8))28J#?l=Ty&`2Kp-Gco~lRI=gg73cbPN`suD>kNy9{^C94Tv>m? zlns8u#Gk;pToe~6qLdk*VB|sXsqpAJNIgm0M&>Otivmd+gR7V}8)faZ7cuP?)9kGi zy{MP6pt!^n3E@+g(+j+WRI2<0^OJ4~;T!5Bf^73;tP^t(J=zf#k8v%g$^!olZ+Ld# zdSku^OV}iJsA?sifVcmgeVr+jFqHh8^Nj!FVF2F$e$M}&F}=1riuymh*LJAM0F_^% zMYXR9(T&i9z@@Ddvce@HQ69GmF$~CLE=+|+^e=n+1_Yl*1Rn*~nz|{iU0WCgA1EIi z`G-qe_cI}h5(4TNn&&spb3ZSq+@Cjx_5S{!cmnKxkcRAJCMLoU21W3<8L*CT3?YPb zp^TwVOl6}-K^i(Kj+7w{KsxY+_$Y?3$59-O;njvdpsX=SGZ94Oa!*4!WF^+FEX+7# zxGF@KLj$Z>>!vf(52jI`vO!E%m|2_(3eu#tfI)kQ^ryCGSJ(f8w6_edBS@D-Z80;W z#mrAIRIt4$=1uQ4MH@#cg*O(8f5yjm9OrSTt0I;gP$u)l!~dX3Cg5BcXaVny zR6IJ&4iw6^J5uX{urJsp2*9ZcSWa3*WKhvdnHiUME$YrZKQ@wQ$WQ_3R?wvjSj(H+ zRHi@Yy(L+#-|XPIO__b8;)JbBn?gP?Fa7a-r$AjXa%FEN^;B!}WTTm^H(3?+IGBuR zoEdmuW@!Gq)H)qscvMb&ZcKyx%omc;lNc5574+$-KH*e#s}Z@(t9Kw+vN0{2WH-+0 zAS&{6QQ7&neF@GLb=%UK%v$(aMtqKxDmKa$Gp@)n>zR&ZRQ8AT?*?zzSW}K%bQBNA z`Sy#W0?V>7OtQ>{m`-*2wkEBE3}akKTzE7$yHHOCn#qCT}b+c zJy+?PCe9;|55Z%*tnw@3v+XD^XD}9I)FFYITF`*9Nk1 zNPoUPYb#{2RPRg9&k}@7^`tMC|AE+4i}^*8Ut)ktENihvi)}csst5)OQ>95W?VH7B zhjv&Tw=UYHrTf02MCJ-B3y!DT{E*9=m?^bVfF^!C$+>+DyDli!W-uMWCH>`c7Q z^uKgWps_{E4IIQ?*(on=rRnrLJXMlq1D0FJEdPxoMZ;FrU(nX{acd+fd#sxWX5%&q;?&rMIDYjP*rBmrbv%bQi+WSmS%Nczjnk($N>Dq zktW8Lr6P-a9&FmyCbSjYVG%YTL7zg0msEyd2&gOm%GAcI9Ww}}P&pX6QJVWBgoM6q zEGRE+NY6*!{dR7GT8zedb0`t|?{@L{>Y+y{@9vc{7+yXyiMaZ9st?R%_0`617Ip}C z7?Z%X94}$0qB6nHs=N$iAg|+^F_>g1>Z0%V+2J}yB>yi#^hoEkYYMHO$S58chP<`` zC0`uxrHr7XR&C>3bWFme zLUQd+t~brEJzROw#Q(Io;1aW^O$Yy871!Fl`M!xggAr$INvh@zBsCPjV&m&ypR?OWI>bg z3&)SINS_j(JnZUHF<7Q7g01Uoh^KH>6{ssswHQXw*u{Ul(G<=P%#KN7ojl=yrCVmq z9a%_KO6H zYrGZLFtk`R-u!zJ%U~D$@E_Jm5!0WOhG4hDt(cB!p^sAG*`X?!{wY#H!{695`v1x` z#bQB~Y&+8R3V#-4RD4i(FDIOUR2gL@s#}G96emgP1LN;VNknWw^tNY2OtHuXwUW&c zrjsb9)6gzUdi0vNyvX`-kLsC#8^4IM9Gyj_QN1mH`iz<{pW*F;g8!&3^3}^ce{$E) z2&`8Ho`_p-hB*r|WOpQTx@*{kQufkpkrx zNh8b}wFI}0HR@a)0KMNdY^sj<>s5|ZXti>KZ-l4649j+Y00MYB&v7foji-1la8CW0 ztVW~sNilCVyKTz|M%3Lr!|^%Y(*`AeF4;U4_M+GAzy+a8B7g(4xw5Kmf0m}KZ$tCi zM$2>xAr|0WYzjP%1B_B8vu(xZsThW;9eKa`C!F&DTBzzI5muYdox0++jE}aQ!2R8w zkVE_2%R9}v0m0kexnpj;+B}5{+f7y+gcs06j{Ik|meH;AiJFLOXp_lPc2+@q4Q2Qq zh|UveWO!!;lW+orJXkIkN9IzJ6s{(*O0^}sNEfUoQ*pB_e$rMg$s-QzjlK}?QBt;` z6$L*TpmZJmJIC*#`6tmb}AuI_CuSsHgv>` z7h8=TCY0S{7U2%Aoeqm@k+j1ZjE!}Yphmuf&Fl+3-HuVV$Ci?zEb`8?H@t!QsjU<| zqw+$On~5^{o*i48CE=73_lLU-%N+Kr&pW3-(WMAg)C{)cG0p_f5%wkNk(|OEJLBW5 z&$EDk))A=FzZ{L9sWBex4HJZn`l^a8urgSDiGIof(vRu-1}u=xBO<{i)GZ7DMuFJx zz^`Nfjo1hNUtnGmp^iN66WHYaM_@zwZ-I@1lZmO5sfm=KvjxD=;a>)4y}_5JK;{4Jqm4)vnFphD^CAVM(U04dZa<)~s< z>VCnOw%HLzL%ya4QP_;sRqi;Vbx@Dgkv$>y_) zUn>gEzypRF;Kb{<>8X!aSRbuh=Nb?p!Lg&Te=lJrg@TyUIOa5!Q6>P%82w47n0a&J z^=3Bg*alqux&Cb9ypKdTUHJ7le4GBbqGFzh%Bn zSr&a04#%vP>1-0Sy=xwsN^cosWVGhF5sM}dvnkH6Lf^1rtt}ZNc72ZHW`d69mw(_* z692p2(j=8x0IiF#P;^^`X}_dq&C#dVbSKeg5y&eYPlHX7s$OVs=nf~rn~QCZGZCRb zTW%Z0AVy0cn2 zmZA*3p=>c~Etx4nT?@2dHQlYE>02VsYT#yBVvay1YSi7RwS7~yiwq`d&)bnj)Zb2{ zcW3uT)EYNX8^{V~rKLqc+%nMb`znVR@*VCOE-l9pP7;q^(=I%EZO2x#WJu4AOrsH- zd^FW6yMiaUlGinf8ME_^KvoaF>PI1|d#Nb2+sd2b{LQM=y0%fu2q2q|0|-yj9Dd9R z{?dc;>Z#G7gnTy`d|kQQDOeD(upUj<5|uwYkt6HW!aSMm7-P@CP(ZO>eM9H3o~vy3 z(cCF90WL=K_2)Ai_45{rr&I6|Tfa{pW7ty5C_19aQ896T0y}avi_;f$l8J(`??KiL zsF%ns;jXM7Y({+yF5*|lf4*O&AvViH^QT;@7Mywn9NIogZ*?R~M719OI$+@s`^mF) z@CJ5~898Lf1oX_#gy9BDu$$mSJ%!I`dJYZ%P8!y4s@ z_0<@Qi}{e%R4E6;v1P4f_@*o{cLk<2eqc1jDAow9i759x z;uPo5Jb`!MKjSkLU^oEiDgaxP$RBSM{825a=DNhY5pMn&@ppolVgjR^UE%3=F1Nx+ zw@+Vwzm_#B!GE=46=FcU&t2;t7Mxb4f1B|4D)sIs)3XvxEPk&sd7U*|pUoois;%RG zNfTHalS2UxR@<~Crz$cD7TIy9yh*M@#-sIOy*yVxAgHg#XFJuWiXxwGjkPuu3%Xjq zs0b*`o4-KNUHBw-xsls#`n;!jGHu=p{-e=~N-p=#^vNYa!2YL??7yeIfG(Cc&g2r7 zHZK1aFXakolkXEk$pA#?!=i*y6JiEgHbcR}q9CGy!N&H=$6wUQCspp!Z)CnX()=Ut zv(`;aw4d{K`fPmZ@dCXYagubLECWrXxPg}6FtvlTE?GoY1$6J#cd)Ua6tm}QT5wsh z3^mN$^Pw9{lDwvYG=&+uXWlrQdsu0OhH@o z?3Qs_bTC=%o)%2H$o@G4;fh))klMc8Znz?&Zs2X{JNCE#NFN5JFUPO8cwe&EZ+iQ5 z_(&fku6Pj(K3{lXt55FJT0bxGV%ez<9C1VfH5 zi2s;XoOZzj8=tk1{eP+!%m1zxphu=p2qQy%u0XoHl1iZi)PSA*>zl^4GBuoXuCAbg zZcZ1#-N{5epUAz(Jh>{5*#)K=aWtFPo${}%Q z3(2dxT%02Ir5U~z84Ap#5p>$jhV4x@UVWRgRGQYEI`a|-ffq#33WLTW9z!h}S>FOcvrb z%IwEx8oFCSFlqUn30AObd-EIZ6$#=aq!LI$s_rj`H*08N+%f!h>9>t5WxgP-goM* zck&QH>!wq(6dw3B*XHjC3}~%B0dD`ntO>T0eyd8A#IGrAzyr_~lA{ zOuq9&yCWlqAR|2pJpbw3yxR2n%JQuyXG*5PhRpDiZD+0s`%0iUf1_4x`~vlg^YMj39STHd!!bLHHwNi%I+v7 zqA-up>s*6xVZfP&7dM?$p#CGpmQtC8j%0e7K){HAgJ(y=sKPi90#sX-)Jp*;g%dC1 z5z8OhRP$S#6BEBS@~A(DB{A5wKTK&f=>S~wFc_JTCEsm{4-%eEz04~OpXD7FOg8Ka ziyDxsA~9RT@Y3sL@lw+O5O}nmt9>d-CBNTENNgx9Q~`%Ik8a<6%?G?Wwq#LJfivZ} z^?~hAUa(hgphgvv2cPID5N6AGm6Jp_wZ%9qBtxn6339y38W{T5#)N5164h2%P9`rZ zQ|nEWSUZ9DHdS~)XD-yTS<1=djcmrkz`lj?pJT+EO%GYY{j>Cu_XAZZPT;A!*ET zQ~}4xNS*(a3jQokW%9wEvIJ>TUKJyPiTUoLo%E8Xh99X~>;Nh3HrR{cG)92}UihU0 zeGks6hQ*uax0BUTnugS{rDG2+#-k@DB8oolDkZ|`ZAU`v)BqG=U6}2eKy_?^?Im#`i&kpX!d93tR^20` zulD2K5;s>O607u^n_yD0(er=O}5ml@hsjVz202zvt00T%>?RFI+TsYRYH_NkcUDpreo z9OdHa4xD2lW!3BeRIL(rdjCS&az!{pUc5Y-E=8X9=tfyMQB|mQKP!Mw3A;o2($*+7 z>QRO;IZS}?_h{pJo<26O17RkwB=dpC7_5a~t1MRK*jY8UhUf9H`BprBiw%T1Hk8zM zgS+*iD{OrOp#j=+8ng*xVo?!t;krb1tEWMZ#i^!|_OV$_T?@5%cS_!zhRfRFg5(ru z#{0Y~pM)G>U=q`oeeAZ5l!7h8HlSa>06Ynnh*>%6z&czRL$8&hHbSX9z5a1-FbUIh zT?#RE$mU+YMOXk~o_t9tRn}D8d8=?dCo4abDuh zJ;Eb(X(}uAo1WfCiOvweR_uglVOL3c)0t`ssij%g=wer{RN7B(;g>C=lTQ`_UEOKT z*{Rk8zvN>(`;&ci>5!%NS;)>eNZMSc9_d5lCEa=L zdQp+$5%yNN-AdA!947puqA??=k-(Kwjl_Bm?lz(4e8)K{DU;5}{;(0%xa$7XoL{?mcNodU=Gd6ZGshE7KZJ{XYV-|A) zjYEy;MrVR)8;mg*b3tmBhpWJ5W#M%pPoPHdsUvtIOdcdO%nTjN9~uwZoX#u>NR9X! zB4|f4mJ5{=4`NZp0ELPcA<9B#)~3Jk(qONMA+$2)CADf0iz$)+bAMavywe{#$+={!660`D$?0zHju|vl79diQTGrp5* z`!?uLYrMtbFWf`zMg`L%h~~9P!n@ViZCEz3`lEqymqkL6)wI(WaMpZ7iia)n*j=bM zo8dQX7FE|9K}op7Gy%1dH`p#Om%Ti=wuHr{M;jhrkXd;N)-Jn^q7;ngFAWE9w|@jS zZ7GbM8-CyT1?!_Z9%DQn#f$sB7>CE*`S5G-cmP6G2#(%XAyYxuL(G^}aPfHMmr^=U z86W=s``u>Epo2b-U^u|@{ihq){@T)&4PVG)ih&J3_EbJL13}NN^q~q-669d+58>bw zEM@5~JFyXQIJgprpSi(>czXT3DA7jY&A%W&f<9;NAeTU2zGHIo^4 zcrLTnB^!uQt!|k36={`qO*VJmG7SVR(*ZU6W%2-LzR`we5Xd_sn0HdOMKc#Bwknq9 zh80LegU+N5qU_T1TMKn02|uL+zTr&e`T~RB7jR#eOpf$V7Zcj|w09}DPD`%NJvz#- zV1H)?hN+_f1voeSl%KusY1B|+^@Xzn3L_#KBQne+WLo{{DR49&JK&!1bp}K{$UMX4 zyt%#XN6$J|D)D*RqeaNhTHy254Sn4xe?* z4G<)x@aL)NX&~*mqh7bMg>LPT+ByAsk@#KZ;p{k!t)Tbn`gL#3gQhcX>CBe>zML&a zww4sUg$BH(^ox@Ul#`0Up0ZLR{4@XeW0B5{a~00TB0xL+o==u|a0-&T~lp_>PKxw>JNf}QkebY0jaWIk z7K2j0m^C?^>^!-WSY9LA3L1xO10(Wjhel|L4d-ytK%a3XT4T#Ed@d8N0|{Op@>Oaj zK5STIXe$0@;&k%WjBtjQW!ji{9b!O21Qw3Y5|O?-Y7~X`E@pZ;El=-tpstc`SAm^l zX2(L5g5gr>=aEQmT?4Zt#!k(?Ye20@!$egIs{C^JxzyiQjfQxBnPk`_j&p0yoo#DP1^IHfJ~2!e5&B;Vai^iw>lQY}!ud!W68b zY*+nra1g%il!`dCm1`)Q1XUJ@LyJIm^4*zbo`=)qqZ+aq z2WwH*jE3a?zFINWXJpug%>#kPTJn(9?IxPS#`YT5g~Z6jT?h#G^_gWYukw>}zcTtd zTJb2{bP@`+y?%NpBc@bL0ZKvv#&EeUYU|0-yNvicKC1g4QIj_&^d9g|c=@$a0BJvA z_i^=Zsb|YbCtl<9zV?>fwf_0vOwJEotsLCe*8Oga*?pko@3X9e>)Z3W;6UBGO=DWe2mLP6U&c&SMy+~8T<gmFoYbWUGYU7o7a(VW}dP|-Z!U;k7EI=pHJT}oSS4Z&0D_4}YhJ1}F1 z$Ppy*ME}VF<$FjQJasT+fmlisjyrAg;D??d*59UKG=9rZf`f^>FPk#@^U5>)fg7O` zde;(QhfOMq61wsi|V(92`Mi?`z#=V2ZQ{w*WYq!$7sY4Wa< z)6wm6H1CHw3?R#9iy7zXs7h20qDr4V`R>WDN{3vvo$-|l-!o$O0gDpCA7on_)!gAG zw+o=D{xckC`@00z<13%Cihp)j{xilz$C`2D9cMB5ZG)8t@qrf)@;3oWvWuC-d__AwBQZz$4 zUNAttn_@%(LB@@T6z3ll@KoB%2Jd;L+&i{1%AziO6?tdtOfD{)c`V0~ktT0IU$z`B z%Fl4NM9eHe4Af`WW8xX;8*P4^KVMyh+{l zMb^L@Y0XDxMrCYLC`0^1)ZuSsX>~7iQIa+{wnKJs9+?DS=6JJvUDaSS6YTZ}IDe{; zJMHuwzD3I$GVyMSchpJ4y5t|j!Hq~7oA#m1td&S7&gU|&0{nm#1eK1&4VW5DR|20g zUFJU!Q+vCq5^P+m@~4NB%oiT51nxY+21)Zm)v5|IWt%CnCje=VIpvO2Zv8!Ztw*AZ z<~EJcCHv989&ZCqC4$I}nww-u@l+}|FCDriM!S1E_sAE64xFN`-zlnPM#`0M$`aaB z6M|U|mFgc8gHlI(U8&%26DS&_7CCZp67P6C0#^^n$+-Ko8&7KQXv*S)wlz+;UDM;Vb zlnPKR6c@ZCsOmqI{bS57Ke_N!yPMsqbESEcnzE3ZJU*S4A={rw-G;O)yQJ$N}z^f*L>7)UQ#tm`rn_ zecU6qDSy>0BU8#L1KO!xm#m(%6Ie5K1w}aIG6vXxU9@k)jTFKZd?f`?iSq_-_Yj|B z_JT@ETo@Ota%IB2k7cQv+r7rhg0XaIQk)gde;?Ey%Cuz477oiEP7|##GLv=>S*{Sm z^bXXc=AP3w1B6$P!<&6QS2Phg={sHt!l>{~!6WK%Si3!zJRz^jh1>n_U#&EdBGtNc z5>uqg6#HX zE#Mhv)m}52w)s!`?Je7Iq@0fqN&Y% z2;;wN_%8gnzv~EhLUzhZY|0XgzZ!D}UJLeoNn++}WgL72f! zAhVe99F1^pvlxBV^u^CD(Wm66T(wp9Y;=R~tn@iN&wg3%l8zzIdDwKcF2h}`HCe~; zNda5c#{BN8sJX7!amMMFOn28g$R*DoYoEb2CD8@hCyjSe0@0fb_(yS_8JlzIN7ye= zKlCqi^iLdL65pwR=3M3@-_zY$zjfW=zxm$9`eZWV^Sn)ddkHX{A&w+%HA2WMm%x1+ zNfGkpberMG4}UizD2|SdzXM(K{510x@?{gqn~Jo)bKkALLq2SLBVG@&@>z@S^S~+D z$9{m2;65_3BhA-&CngP)j<~tP((5siu+!O7c&3TqGve6nQI*h}i6D|QHnE~OxMsS3*?(FZ^ zp~uiCB@cW8a|u9qJv1sYP(!LoZnyho;2qT2vn9P*%{;mw`^qMFbB`*@HBdrbKYfLT z6*ps^a+y@4n$xPE?dZ4GzoBh%)f8L0oHOec;!qxa<<;i-A&`GbB={wKS@uw?Is4J4 z_BMC*7e$or=vK`u$EdL=ZnXcq?>{;o3~=&PZl680hfi~!{}~R_{QtpnZ2tx3lB^x@ z7chrD)U`&M=#OcA_DuaThooOajYA;7qF|}(c3@0Kq+~qE4KU1ishdp6Mo5G_8mE;< z+k&t}SZLCu&94v`0$`89QzjeO_C+mu=X#;dcrtyCgmR^6`toC%KkCcBj|;^=_3?jf zwU|dw^0#>{+Go5zmw#E@O{H}qJr~Aq3R|TdTL4OJ<0&nLwaU-CDe;QwGMzvv1?1Ub zB%(H|%*T}I=8emoRY?%^$^WU;WX$#(196#hPwwwYGuH2<^OI1M*u(qKp7ax&a8tIa ztydJRlF6$17*>~{A}?5A4#uE!Fk0n-ad|$SdLpkXp#UqoO&}j=n!~;7f({si2A4g2 zn%Uy%q7HZ;D^D|q_u$RUsk5Rej1PR+y8LqaS9F@1m2!XY)7R>+PAVLPt+3QPs}vbf zPUK#1>pZAQG}x&y_wKgIK@yG~j6dxy%d=%qo)HulQ*sI<;BF+1m=OmZorE8`YrDKu%v-jwRYtJkvHdHT1!GoQkqwA5O}N~I>w z!5b(~?0JH#2;j;(qjOg!Ch{@S_yHwlIGpTcN(_K@h#Sf?F?KE4@I$NfAnoaivwR?T z#>nI&#*#25`L9QCZtVMb;KB>s`grHWIa@vzhd?SZE0_6x=h2+59)qn?Nkn?kPSQ14 zcI}&9MGvH2#Q=le-5+HpJMrc4HHYr-HPaT+Bwo`Ncz3UBM9of`G5)%BI{dA;{k6Jv zsxfzmF6^y=H<`pmm+E7rq9Ms~9g<~28`xm8|ZrM*-H6e`aMth8BKlLG~eX>Bn%QP$FE(|cNK0?+O!jcQ{UX4O_b zvN15xaHMP^A7=;8D*+>l8V`9p;aVM1h4C{UTL$!LQRJd5JQewN6Q&_g0`@X@=%gbB zcLK|;J>k$-IoQbChD=1U#ebCe4hBBWcbJHV&@rFayH?{+L-r3_cN<-P>HRGS?}iS*%aQg=F-k5~S&iS;|!8h}+auzg_Pg|~S-%Hd|b z+NZrP;23+s7?XWGM!FkiV8i zA8FCGy7pe#53PlkkW~$i9mC^Y%r(K=pGZGeESbcrn4_fHZ&Y7m=`=_qdobnekhG$~ zNMkzMA!ysN$qrqt#+58Sw6jv6w7;m6pgEiwbw)7ta&vOH))6Hm7%i67qN8YWH~(Ja z5#!3BpSd+tKW>pVWqNSC+g^Hp$S1A++mNQKQTH`l1QLuDwlqW0+hWPFBZeI@#CxN* zrSd0K**Oe>ZMoSW8+ZtFgN6>6C4_Z$OtzAO(lo!2q90Itcv}ds>_4Esrg^fJJma!) zJD@Htlt8^+=8k?SJiT4!PkwyGd;JiJ|G?3D8=Bew;9C4E*e~(ni*oJT|Ka&7M;DfH z5UN{Qxwa0&oQsXl^KdlLeR?#jzUZOYS@0Aq`2(FUb7_;YSf!bOMB-Zcu{@$2A_7@` z0H2W+FYB<$v47O?gQ021(8UEuQfX+MQBt9UZu*&?HZrSka;oIFN?VCwPG{sQ;En6V z@dWNfPzAe`uGCkO|Bk*44DC)pz%Oh!8QgG`SJLt*C^$5 z9@dCX`j&Qk_x=qWgTO+0m$5+Cka|MT)iprf<_ZJ{3x};nNrS|LnL<~C&ye&8c4+BF z>&*`|1v^B)AXz7wmTFFQXcLO5Nk-v;K%Q`=z|0w0Zm2IHU~jWwm3;~|o5I-3I&aJ* zqmY_tp=k#=&tbevsigGcv&Xv)S5jPMP4u0HC^9@SQOJe=Y#S#|zG_%juyq?xy82S- z+-r7tPC7PF#ri!xrg9W|^dkpzCfM&8VT=!1=Hi?dfXbR9TIi7^Lb@5}+4+W`7|yvX^7zD)_u+L&J1Jin$tx0&7|9w?%FgC~$Y@CI zHi8;KurdbDQ-pU!3RWuN#bl+)8>JTlE%0CbbvT7vHUlmv&_?TLXdCBeW(@ww&QEs0R1cxX%$x%XGM8L79_&R_zDALQ z5~M9#mp=c!-ElClB1P)D--#%eCq=w=+N{oHlAP?Sp8pTnvFt#5c_5_LvH}zYpUNVz z(_Be=^JiFF<$59<&k0?WQ4n}V{{l0^*J^`(Sqsl#@MV8BV<_9GWBr`B)u!ZHT9gVd zo~WGswS}hPdsa0jrw%iKSZcy$ZhHKU^Y>T%?tMYO9AB(TJc}i`(?)Q^b1@P80TFt(A!kI5w&HBSN#4$+Ew%?`rI_844=pJtuvSaak-V$!t>}llhyMaO8 z7qng74O@aa{EF%xB-L7eA{!AL#(Ze^{Nz#FyB#dC652g4hm$$c##8~*QUROo8fD_^rF^nYZt{uo< zAHP!bjqm94?QkTd^1|L-!5#SdyO*1~8h`&w4ED=sRGO#c)tOWu=T-I{GqxJ!z3T_} zUOC#O^85&8@d{0Qn?LHy+TG_%c@;kTVJp-C>jQlDMF`y&#DRI3hV)|ZRNwD9PI=;` zco#My?s;?R`5OJDr-rqMgM?XuT1*G*&#!T3W2M|O5w>r@qXhGk-u&9juG-u|xkGa%MBejDQk*oF+@BESLK-JW z9wcQ>svBB>b}T~Z#BeodilXg@M z`kIDQ0upv{?WBaVHVUN-wlcz@z(B#R3Pb&DZFkcvNts~8&Mafw6A0B|$DDb^4kJrF zTo%jcHGuyu(eWpVLKjz^z#%mTD%l8S;uM3>dUru`Ih))>L#h#Z8Z-ku$`uht`L0Tg zlx0R}n3-}WaIvKc$wIm*VSyjQg+-_dZyXzc)&>v=N90cWG%?Dj`)zivzF@+jrS3vg z9?T{J=hyk>ae8Qs1!5t^%0Tqwb)iy-v09{`{Y?-%3b&sWSu7>#gcue&ckHmVSQ3h+ zj0tY+zL*+{ru3c(X?bXd$et=`F)DZFFs|4nxf53Gg4iUb6H=@*C_{43n-m+RC1zM$ zjFHj_HdYqsh)XlP@AJn9u~0{PkCxOLq*EE@n$|3VzGSt-1JJ1k-KQ<*fbiKJ^C>y4 zb|?Ys6(B%bvpD)^$~-6FRTTYWzW+R}8Jt1#RTkYH&!~P`|#I z{iSZ#M_;4y7D7i>eu^1&Q)w1ON4DNU1)RPU`AMJY>rQSlnb()7RdK>$7Fy-cazjm63Hu|N-jxM0R81%?-{h7Hw z-!GZ=q=DYXaSfsrSm-xTd(uJIx7d*dco%}IIj$oqI~V%h)1LIu1ub?Y0j~w1&uIH_ z%J)i;KF2jN;B2N}5Aa$9+Tyqlp?t73>Y_xlfU|&`!>FPWQNaK>T83$>r~+o##g{Nd zRru0&780ldpv43n46SQR8Tud}0IcG&gvt)JO*zduwM{k6HHO=C0t6g7h@8bCk^nf( zo9y?yq^hdSQ4CO1T3QD3^B+l}g&T@C>JGyZi!7qiuP+W5c8aQ zLSu(j#DS1gW!Y)=pAFl|yXl?vHyU+fVXmm?twT-NF+(vgOh`<|N{n#BQZMy5J_<`} z<$#(=VC__0)K$}vFXd^}S5srxN@Bse0!zIR&XvGOi2fe+E7>o2DIoy^D;YH^Z~S_| ztYc<54#G_)Vw{Mp>esJmKbf4GPb-(PZZ@aaP&mmrVoe=^JppQ%dP9k@0)~6<6NsWtrLJ~kmx?qSD}*~mQ%jLmYjhgEoPmLwflx42kui6> z5R%M9&wj74p~l;&bVQbTw4tqlX;F)(wz(#+!2x5NZ?B}nK?ilLB z2=ck({HBy&>)^(6s58mtCho(_P8=qWv~;$<3*r}trVXAA4!BM%Gy+%1POPm@Pe)6| zG@XrsHCTmrs$7`r45e1|x;iRB@nh^~sV%qu-@!_w;N;KZH&ASB%0?NfX_y!j_f;(A zdrx&W(uyjoeD&J75|@r!!^&O`SfSo`f_l&cRycZEpI3$zT{pZX{X9)`J#1ZdW%-&R zcJ*+P)zs8D6#13VI5|{-YS7jwf649a5EeOrT{x@EK6)G8*?wIOG{PVIsGS zKZZ4B*&mvrF*c!vKHElIq^Dj#LRLOVob-^b8o9F&X`ka`kEf@i-vR>-b6T#$&bVxF z{|kE!UlXXpA-F8pDPr{F@fbA?#x;PqtF@{X_mDPLJ~K0p$TF>4ygQA!B%-{v%8l=(n`HatdK3#cjBRrNy?XpEawo)%ump`KdFsgxjG@E+!k`GD; z9**_muZPJ^Ii6VK9+bLXoEMGxz*;XlO}nv1YunR__JAm?v#oHqgv+3oKQ*k(U!o*OXSlHLgHgfGrpjXRjlk4 zWG5!%(-M}}I+zdA&*>)}D~x+tX%k4N^5o?G#(ZFbN3QvXrDlEZKcC6H2aS0*np<(S z%4|PGJ2OU4(xyYXmj>ICkh7pQ8IicOHXg5gR_R)CrshM;rXLlmhwr3WIo@ezrXLTO zo60vLsYb1zsLHXKQzu2Dr;5u<;u3u>DwkxLTgwSA?2_B3|BbO$Nnx&V5bG@Wb7hA% zeMEyRk!(wHk&d4{EU~G-AV8c)m!8ARrRB{0xGMGw$)(()ihM<@)kuE6fRl%t%drPd z#0M z#@e|GCDwRTObv5Y#H5C@qj0pL)#VER+0|uBH_U_z#R;7GVOYkZCRb?LCP4VqMB_g5 z1mEx9nFdipRSnkpi<=#>m72UF^+H==?~9l}MPZ$a9G)K4I=TH@Jl)WX1oj^4(Z@+9 z5=F}fRR*C))p_7u$-D{v{y#u^3Gz;`=PDa5hX+6 zK*-0>MCaHh`~&fh3BwD95Y1|B9p1VhKCaI3+}Dg6Ebr z^5*I_xKkF?GVtQ96dx36SLNOA6PVk|n~;6i0Rd!B@f^Nh0%vy0f#cQ)lhu`F)^;P4 z{N8Steddqc-fmmND}FE)($%o;Qtj6$)+PHXG1ozwxjGrO;AvR-$s6H;>TyeRupMq>yJeC zLN=b8kiqr0))%0`cyEWGz5oD_A@N6|3+G_DOR?Ul;t!8Rxrel5Xb*hg$PF!jqD^&Nehy*z zNNJrJZP2W4SZ3}WpoKY zE{ttaIzeG=(}5xiddX@D6v#b@qJfDb)vPkOk=n=G_xBTk=6E|C^@a8vA3K!@ZEks$ zu=Y_L)8?{>d)fgw`7o=F4&>T(uZY%iYy1;Sq#3OuYW2v{W4lr&9Hq)g?m@irG;A(q z!VA1r4wV8=VdFPxr_SP;e%9NvQ-2N)*%91s?zJ&sm7zWoK`1#qAo&p|qQG3Cnl)-q zQ&>0NMMIx1Z)SwxWEZWPHS5mFe^wM2^+;PNlbYNmy77qRi;3M&=4e?$bmO0fN7wP{ zeX^}x+DA28qhMt3l{jJ(Q6_gytHM2mWZ%L6Shux&sprG1`}9Tkd!#c{SCG+MBCeh( z=_)mDUS0dbKW+eoNDH5V;p?YdKHVsfC;ZRW=QYswk>0S!9$J==;V2gDPn3_VNLY`0pQJ%RTL1rDs%Z5{1~|;v;de z#;%trgP)=LYmP37TUmnR)@r^-b#dCJ_zK};b?NNqkG^8(7t2O8ofGHFfQebbTxsMYBSh+*7U-Pe#0^VMc`&?vfr|t*yjGvkcT%aWJ83NpiBKn(XP5Vd(M)AK#80WH@o?rNt=GQ$N*7qbeTN6XdT zsQ5p#NaS&N#fX#&jT2xl>Hm!16G}um>taz;{ zbFluTyrhbY#?7)zyy)S;nVVy?v}@ifRL$bxr7&wuJ2|-&P$c1%PvRvg#>os@osMb8 z0;FDcDVVvu`jqgm$hF_uw7TlkoPN(}zR3UGsLx-QvWo*Q%wp@(5DcwRMslXed8UoJ zR07XwSzzWBY35a5-C1tdu4B*uD-XrG9n_5ct$cpKRTfo8S+GotEH~j)!xm$?cU4Xp zE)d}+`n$%e6zH3Ab<$xy-*)INL3KI2y6Zug)L->nMIO-uBf8-R3L83iW#sfe0*7># z=ZQUw_@9D0@oR7&Bfk@Vd-Gqc1c4Y5YgRr2Q$eqUDBl~^CsXrG_Wm$uSaV`uqpbUj zIG=?b8g~a(2&Bq?O3XGf2b6~G!exz9U=bCy7XUH0l*)$ohjM~aJki;;QZez$8f$;e zZsATBGeDHjD*WWfD=*D=SvUlu_5BvsQ1_J<%ysfE@ad?Z_7K!$+&b;hUOQ)Xk)1c+ z>2z8vP&q8)HyTq(T8x+o$HAeTns^ugdWlfMRw)eKtaMrEZo^!o{sTL|^e4#TPDlP& zxYrV+RbJpAMC)0@++hjbTe=Wd>xF7_fHYIN?Gj@l2Kn(*Lr(1Q&-=%i@W!t6FG{}! z8sZiS?wr^)6jWe6)cHe>+e7r(q?=X^z*Qwtv};;W+2K#(-k{(^Av*%p5vQAFho}Rb z>iB^Sw@N*ZxN=^-lio|evcoUq7W6jhnA5#@Po;Vnw5wlqII?XnMkRa^THO01oN9(V z-*YG)71I7v&kI$KqU~%Ho=XuKB!);vGNe-Rw-v-cm>%sDE(LTHFOI{o_>!L>}y|E#2(YNoHQ%-QJ*%EM>OTQK82v|oscCKIAp&kWGTjFiUSIQ*SFZwslzo2RcOy=+MN~{>w(fpU}aIT8o<*mN41|KFg5@ zMeP}NX)y~$QC2cWf&AiyTA3;4M!8Z(T?W)%Hb#XWc(ZUgSEvXm?~q;p)OTbna#1dp zZVVJE`hgweE>p-c!77J1V>e|yV4N3ddNq{%`R9nUBqh{+Xw6^y2MN@@Hkt2{V*G5Z?QEMtm#Ywf(Y znEWT07Avf@^!{XGqZ!lPEy}DRifEhzcq28(_;pc9j~1G0|AFgc%rZ$vafHzCc1)Eg z2^xEabJtHxTe_ROZL)O>HhC71GL06Uv7%gUTbXC5#hHOwa;l=0pppi?zHItqG5zAK z1EXQ1My>2N4qlUMg`4SH+VK5mK~KP(3Bg#^PxtRQS&!ZE2+LD76*h95@< zeUzVq4>yoQqx?>^KsFdAX@R*P)TDVAed?&n?z`5J<@`5@L+pfJ*g$xgyf~hdK37yN zz8k%vZ^!~Dw|+1NLG9~5aL5b}`ZyzP3EPpKyCJwqg!+HrqjB>(u>*&Z{m6hR1YU5! zQsgegTNfCEA6}&p`LSMU5c$DR8Zbggx2MQ{&_H&=Cx)Ra!Y8|-W1bs84CWIC3sRA$|3YZ0Co~QISlC%df@|o z37!mw9(ixxBHQ?HAR>v~b|X-)opvM8gn@nhXu@ZG38Vp=Kk`LDB@n`4Pu4I2(6>#< zAOheq;S@1Z~6f|wuJMHoN2I-+pzzc-!%dbJSEdh#$=nZ+&hY3Kr z^+g7e0v`#VOoxbhZm1)L&4_<{2w8NRKSf~$j0>gg9cw;?rM;J81q}D3?{PE!Z2*hx zb>9_@>~-DkkL>l_EsP9w+65mH=DUF%64n8|*|ogJV7+eu&$Z}5328l}@Q-ruR09=m zZN#=92vxMd41XUibl!wY9E@aUj9-&1GP5qez&wxgT&bE1?FZBMnNJRHk+5h0EHo$B zSVzOWsVz5=K(bB^{Irco5H52iq#t;UchOe{@gZUgj;dCs ziW+loGP{Q!yH^69A!^x9ptc7;7R;H5qBX#xjZnO2Llb^p@cF7fZ9SOH9yAY{LvX1R zdv%avqw-6E*)vP#`LEVRernxr41|_Vl5ZpHRqZgQ1n2o9-M>bHrH!Ln3r=61Na|xw zR^q(Zt$K~^W2NtKZABVyea;Lsyil9@b&g=dKZDN?gR&XY*!FA?+8{>uRu>;l6f^uQ4s$boHOvSgV5!yf3w8Hljy#I+M`Y!i3T`*3 z^c{%^vp^7j7V9eMk}8LD{jyBwQmvZNF+z`ZJ8x8%z)Yu`8RT5^`feZ{7&)7GhrIfz zXRsdfLY+)0xYs`0NRdY}72gk`Eot%#{_%V2U`$KkSeI-B1b z&q|Ip;c{@}TJEt}YQZK<6u~>G`8icNOXGJDm{>QsdXYR^3@?3&Eic8N=UjAj*g6;E z+#D=?D8>CDU!4yDXp*Yp8zi(dgvTT4+FDhF9YWjDC}TICo6xxgD`Y#rxjY2PL+Hbt z;oZJ)$;7O98c{p)%{pMLu=(L7b+Azg!%Jf5a?82s=+C1+nj4~YBp;8g>uHuR7+ho9&U{GSSLaG0HLpIiM(4{$#Ri!JntUUCs0N-p#pr+t zOmBR%b?~a3LmEmcOm%Kv_b{GQ4AB*KHjs{zeuBfPXoKwc7^sWP3Cby6WBU6N7H4`h zM`T8&b{M+BCs(WJnSIC`K8b!N*aGU5=xup!FJhdM1S5fqaJ45yt!ri{;}`g{LGF6U zfFRdhY98W%k z!ArdT+8YC!|3LhOae8=<0km(Nc~M>3ut!tg$%0w2aMGZDH4c-tzZVDoF#8&=P-NU8 zWp(C^31wGa+;Nq5V*bd{4T273Z}8M1zBX2G*wnsf(=!OGHK=zQ`<7dWF))Jj=5YM`Bkcl_HK7K3>B6odGnZVm-gVgeLd=<}Q=-~Z zD{|`MYeVi91(8WxbonawEqteR*GOxO=NbeMS0D>Dlz-#t`JRRX+cJ=iDTHd20LYe7!q1%x)CxHo zczS|8vYY7H`mjdum}K$-5$@f!z;nk20dBk>(HvfFTHs@Dn^Zpq{p z^fQD$9weCpAtLqw;1?0;$Ag&LYLH;m39TDqet*9&HqtJyjOC0t@unG)3G)EU16%A! z%{Nwua=KOg`owN1#r77Slx_serpG<_2Qa;1A<@7~gw^SuP@Gk*8=+U|9`l`kp-nTI z_I|5~6jAO?m4iKO6WrI_IHOl>w2hgvdI&pgCG@-YoTWVpQ7RsYZ~F@Oe!jPQ99?0v zDUVbs{dn$7*WyzB(IoMYlE||HPCoUMA>VY53W1ABmf0{l)2~@a{bz(nb2uu1g~7>U z!n-G0#TG20%<%oALYJHo;tSS!=@5QoifG2+g>W}aq1i~)+${ZxSa=x458t{b{isQ%Y00;lh^2IsBRL?HS z)baqQZ%64GJ%)eoiu}h&cC|GM8|1MKjzxzC#R7)^7BU?xrhL0NC3NO;QX^U;y1#yj zWXYZp^~=1u-?~(!xO#`srqm)RbVEVw(R@M-6A;GU#wLEl&147PoyLVXXy?V*500Pb zDMLT7>`H*T_LS4&bZOjtqjwS;!hsiI$7i#LxHypYE38Qc!BU(HrHGsj2HuO359@B1 z#{kLnS&S!-IT)`Cn$DY%VHc@Bkz16}F&xQ{b#pAE&(sg9Yg{=Z;TiC&A*22WNR2Dl zFnoIbtJ`Aj5bq1!^3Y1-FvzDBGPmUrB;_I0t7vnA`m-2DjN^=Xs+*mKE7YWVy0Ge- z->=fDg(ntyEoP?^n}o#Lcd)3FNERY^RZmkL7dJOIF$;+rMp$b`^=e(27>#uV$B@10 zZVg*y(-R*jTJZy${L59IA&aMQB9p59hrctzCGyDLC!r9%7;77d@H^4_F3h#x9t(ZF zgiG!&6Z?rn{oY|?2hB~t20|a*SUMvbG+v_&i;@yEy)r{V?=rARZ8PW?)i}dXHZAjD z&dk|1?5;=T#t<}{Gc32^bQ$}zvn_H1r4?NFCC}>(r4o;41DwJgz1vHKTHL7_+Z^)r zL!FxqPVIB!oj1j;9b)q(xR+RJP5jVCtP2-d4A9D}Qyy1mGe4zt%tIusrUzMNxK(H3 zW?@1IF!s9g!uu647&l-qS+$L~>-n=De4{t7pEt#m9h#OUs2nrDxV3QUliz4X_maGS z{kcCA9+Aa+uIN;Pq&|2Ai7j0}8-67|4M(%dh`dVaS14vYQ)7sPDqJ{JAshk~_$`Tu&T40p0suKoQP0z0ch{Spo{?+Y`-PegX!BR|W3m#4yV?iPRtUVcdW` znj@{4iunL}=c<*hb-s?o1&{XN6iQ1c6k^HrNtgjUy*bvngkYC|pUn<9y&MXB*S=yXj4fq4G4Qvbg()H+By^Zlv8z43Xh^~ve4=)V~SN~9ZqehRQr|BplgEx z_0Y=)_?F=8T|w5>?7|bp&qz^?-783s+$v|aS+{i7zlesoHbY5ase*p>stK)bR?*Gw%vE9R8zb(?u21E6V1b_o#3 zuUQ#t)X`m`Dvlu(cHe&?aKy~v#y@&MuZ zrw|?>%3h?fPb3<#WrEjlLqXs^d8}6|!EM6_{%wdf$eQ5R(rL)B4=oT&8pKI(yW%|L zxfj_RM*dC||MbcOB;Jh-j3w{Emj+=F+$uW{^^Tx@U`vC132yV9h5|>>c3dOT@{JOn zZUg^DW~?V9PY=i)P*?cLx(vnW3TpG38M={3qP;dSBk%GcSXKR+Rh=VIjA|qfhdV(B z;%==a;;&EjH^7&{d>zr(fxKFmzZxOL@|61$Iu8x7P1vL)^OO~-t05xyJVa|hrvT9N z@?Fg*bzY6>W4o*%045}_UI^(uG02@VXaV?vZktF_SK%a{gGrsLV_Q}SwNKiB9Lyh` zUca|Oi}!0W0rcWmROFruNu79O`Zu575&Y;BO77fGi0^zJ+X6qR{cKa@O6ju*XkL{` z>@rEZX!*Ep)`(nbl6jVsd0KuJQqSYh7S%snWCqal^Ib8CUNK2tEt7a^k$avecK#h5 z-)e^4^rrMYlpfuh8Y8^YOARFP{1CgklDKLmqW4@NcUn<$;l4d---zE74B8Zo-4qPp z6#U$Gt=^o9?9;D2aG0NSenfY9WOI4sb9uyedE|0=>~C=4UN~~#HV|pMv3Mzp;@{~L z-;Db`qWE%uvR8wH@9K2?5fKKWCcmcD?b+_wuHqkHh{du zRdQk{<^dBH;5>TMoPgf5>GO9hyKtYJv`>g$`H*`0Cw0D$ZGAa#7;A9BiS5(3{H^~o z=gf@`pqIFcPV6)}a3J{X{Le0l>eDy;t^ZiO?*Q+@jRnYw+MJTQ3Le|)GCizi1NQ{X z)0GkBep@8*Y#G~v8{0BDxRN+e4zZg5Y1vznfO?|iO z&2N&swIQF4&pCTSxwJt8I==!su>qaPfX>^``vT_&zqkwc(@A?L7N8Re&Vjt8OIri30P}tFjVz<<4^+5o!vI~TrLI9;Be63 zqJ{IL(?IRIj5uu@FiPTSn$&qarjO^M6~Cz{sCjip?sS~w&wX+7QVR~qiQAl#ygDNH zL`dvh|LlHJaL={mPA2J5eGHeC*iA;!t8{Wt`ovE4gtSf!GN%pc5C+3DgGIegb#=y*2&`mC(f#$)$}5(1`}vh}_)zB+ePu?%D!@glKn5X-MWW zD(6I*lTkx7{_28Sj+Y(e9C{bP+%$GO%Xbu!x3F@zU}kbs+* z&9(;&f6o;WUV+1&yemv}`0ouov?#mtnv@rVQcRd{Z3GOBpBID|&1MVQyX;;L_PaZ| zp7dabwJa%_d0x?9*k?anbBIyD5Wks zf&6eF3QQTP^U=a=*ZGjR?%}?Q;O-F8-ZO{W3J(iXA$xxKJgqQNMRBK<6=C_FRb(#U zoAKx8ST5jhP-!p;o+tlJ>w}V+8swbezffwrjA3ME9}<=$V*EHz)Kc&oeqc&!xNRIi z!VnVA69+;lPvUp}x`s%%Zk75<1lxWc=Jn{Gc-2E3-rhDS^9aE*@&+60dL3GECB3Ho zXj(n=Mv-$KpsC;@Oii~r6BBloF(mgm0Tg(o2ckb#0bL$-fpU-hK$}Njlj2wZ+n`s7 zhQV%Kfzx-1u9J5)CH1>L)Z;bk&e15=E}guKJi73k;Xh`csjCCZsmhk%zHFmFSL%n9SIdXaSDY)4kBHIE#~Y4EgYCgL{24XxlS}?Qi`<=J_BTO7xov0= zp)S26iGrcl>I>i0qSnK{G3TGN!OGp83Kx(FeVQ$g4CSB(Q?gumg&t%YD1W>V=fqg| z8?&!WoQZOk&_nIli5`u&3x3YN02K@|y3rmxRo;hU@k4Ob4c3YUV-AN>|HTIG+?s)j zov9o5*Cx|vV%1=GBHpNYo@LeG&O<9ms^NkZou*}hV?8?}7dI*-*j#r7^72WcEgt`3 zfes#5h-S_NCcZl7xrP&7S&eUvP5sM~;Z!vcf>Aa~GRdO_DF^c4vKsao6qTH(P8pu; z${OXrJrU;#uW={s-s1aPoNoASPp3^2>w$@*Bntz|2jw4sEel5pIFf6o;VUaptIEVh zE|CeB5M{pkinM0K`7bfhsQ3 zk~-z{VG^lD3=Z0m3RK1iD=*F66#EcdsKyxOe@BE_+{e?B*QxwIGQTKmm&q3wrxkKR z;Evp>QDe4JdAFK-=J!z05p=0hwPtD~=&L69L$H{u!E@2PuqjyO3;WaW`K?v(Ilr{n zx5x%{GX{JEVEOpn0t(->^3IfU(`P-d+=d+2bD{?@msNZ?5JtYlW! z#%IgC4$u5{4lZd2f`>er)?J8C{mieP)}8CJ?7>LA(%xQTO76IbHaDWoO(=UF z%1REWh*m$g%ndGk-rPzqqnK7ds?3cud!CP@)OI$tR#LqKS-G_cMb-G#clwl)PbEC}715%xDl&jSB!$6&HrU#B4W3tYuga8Cgzf&|l_L5k* z5_`iPHRYzLGUOG4PXz8_Z&j_H)Jx5@p@0j;ThkqNou6kiL&uQT3Y1FbpG*a;^GO)9 zh-`C+&~rL|4OLoc3rORmRv|beuPD5vmRvg5?+*VcZ@jf6JH+2+|9x9{kGLh1w zU_QkVbxuO2dBk?HyS{JV8LC%6P8rxix!>`<^lTB7tuJ?V7{Lsd(Dw)#hnG8Js^3cR zJ%V>}ZV*^4`ouwG6`uCS2))`@WZ%4E4atxZw`nQHGSjo<@Fcs=MD(Lyx$l-1kW)16mM8NIc@bIIgPN!f~WiRTQ`HPbCue``Wo7xTzzjkI4nTUGxq zxKYYk@7aQ}3bQVIfnX2!s;@haWRI6Huj!QEnhewYO~8OZ%yVApP`_oti}=z_NQys1 zd3O3BrFqG()kF5g_e=d$>mO!&`s*)scM~OP<^2mFm*?+)n5usEBYker#=I|AnIlrB z0M6L$E6358r!*I?)j{l=Dl^8{HG&?^<)V5#kWI(_&`Xn>(hiBbw?ORCiV9;F2By;s za@KU`07(Gh2%?^Y#qIesn}%%I%kS_%}!Y_09X6`?x>n z3PcNociHa-&2QP-)qtcw+3$J&Uvjrjnng42e7WxDFkHahpZ{hLJ3H8nDqbQEh_vpP zc{H*_awTon1E!F2HtyNB4rZQ#n~Rl9y+I4)MN7X?;F__@_Ogi4BVBdwPJ|*La9@t( zP?{U0I@LW0ugotGk-ctm=B6LZicx&_CZD(6UW|8g@}4u=(;=2VpEX+0e)GvVFoH(* z=`7H#!Wm|Y*(I@TR?AsW4+(G;Q%}n>nF?OBm^GWxzbA!cui5gSog@v#-hrWREl9Zv zp(J2y?VI;{(OYh`Z|p?bQ??6X_<30iS*Q=ibote)swU!L9a?6|L4+76m07rjh}6!* zVf_*MZT-?I-2>)l-4-0Pb&hdHE0$%O{Y|F_^R(55PEl*f-`PAP{$^_Dbf4(%O2G-C zg*?+_42N!2dJ5qp1u9%{3o+Z z%O1Jcu+Q+XoVta8!#10by$!crl+#$@!p_5s7DU0}9r1iMqh9U16nMo8y?~H=1K-;K;-mTTTd8N~J#J>%Yk^uq7+*Ki&&tvMFdyA^1xFaIliZ7$ z9Q{?7HiTs!A7u#7(GW-HEgNNk;r^zwVStYFti^z3sN>|ZHuFhf#)++gV^4f9|D0Ca zw%_&pl*EpJk3UZF4E4*`(@Xu>tJJ!)b0NA0#j8tqVk`jTT-)lp`Nk{gFtuVrTEy+t z<~4rdHlAN8%q1uGc2^2F@uVvCmhL(4!w;`6?fQ9T;tB4L;0M*`fhhdMaRBb&I^-6L zAkJvS5iq%$@K4N_uJLRW#Da{b9|mk;v`@J-2`E z*?Le7nTX}GgRvOrk^k^dfQy?BedLaqvAuYn+9Mw!D!AN%$KO_RDn+W}-&Aa)M&@7R z-%)V*`|iX7nmQQ2*{r5T1SJ^H zM`&^`q7U4kW*QS}wi+ek+Y2m@Ix*bw>F8cHD>l2P3j|DxnA^6ds%P4Fnhvf`NpyCbcdv6$}Hsu@U<-^D0 z=Sku7sUwOzSCp!Ovc8Q=+8abOWW^j|hCl3nF}i@CA-ao*$G-@?+Z=&Ks3W9_MvX+r<5@-5)ph zZQG&~t?o_sTXwqK8_QFz?p2rd%13)U1+exgd>R{kt=&;QKP}&y*sqjS9D@S096$=H3&1WAxGpM9G^K4pqKa-nD#Vhkn6PI5BL*eWT|R`N&3E>a`sF zo4;!JrlnbT{rT{7$7%d2H@EzwzxC{O)gz=K0x_)H*6PA`(5M&Rel37Ji=8}$UdoWj z{@^xfE}{JE+w&LGFT~b}2m5h;LMynFGpyk^Eh8!covg9fEYSyx&ZH7e-|B;RNV)rt zMIp+SHP03Lu0cwG;kX~y&lcW@rkuJXZ8B|t*fd8^7nYdv;Lo47{OI|LAa)sg;(DHj zj|bcWP)0UE1Y;=+@$k+du7J9qcFE4cuF_{(S)L&$!+o>HWhA9x5kADJt&3eS=VV^TiIc5iaX33?`2t062 zk)Bp$8vdE?;C|s}`k}19E8Lw{ZZ<^U45#5i0s5U=8DGf%4IY~cfBVCAXg_j3otgBm zrPbTj{|az2)#2>xXSUH#u6u<+&ipvtL00|vM<7KNzF|ZH7FV5QIuri)2nVjULWJrF zL#D~(4@N0UJMN#uldQAY(pq6@gV zSI~!*-30O6T2`9i)OUnz8A1dP_0}X8-Vr}2#7UOBq$wCfhqKF*CtoFcc6P^E+yjR+ zAI5L+zgy@t#aS zS*%MkB1sY(({HW^R_Tm|JM!JiRu2gx);-Zt4+bL^-ze9a+)kq6!+iIBvK`8R%^^&G z#QvAA=YaHx#nbTWK&Ug0E52@)gPp0tz5%wQoh9uEM0MwFWDPfS*p(GfWAo1@@XL<1 zVB1rcu#Hfg(Wkt@^JZ}A+77);ORrWUS{Zjk;W0LceTR1+$mmA}PjAZ$)zbb$d_Yc1 zasCm(>P_ddYEr~i?`9hQjEMBU&WVKp3}7Ti#i|RkbYy~M%?qmRtK&xJAGOh1zie?O zZW=<}>)-kHrQVy#W$P6!A5+CYJ~Z3663zX0@3dV;-2R_gnn*07mQ zP;2@0+N+lb1g#MsD=0V5dRHhubmu;T8b*XLy@fTra5;QNq45Y;ih&_$e7 z>F(G^IWU6MTW@S@?(Y2kq5gEoxgs|hRkWM@^tDni-*DW$4Y`5rJG6$e7rZ20O8JtN zCvmbb>-_WAwYf0OWGgY|1CnXxM2@YhF`}@&@B`xz`aNk^;1h6?dCy$R#B(XBwgfMJ zqY_)&uC9ua`P-Cb~7(KxN~>YVBm6T@GV+weFEWKhpQ`S9atXU4U8kdKp;C19J+oB-uQ|vk6qGL#6ue zyFfXcB}^_HO>UI3)xy1||B52L@^!Jr9`}`S+Rcq=e`XzjCgSP%FsWA@k|DKM4N^XdS1!^usaH3W zBWe3~xGkJR{T=|)v3}1bn0viGd{+v8n!+muNgj6FZm)T;{V4brix zkmLzvBQKEjNf|#t?#2WEip(nlDWBqr8Gl>;MhSmhx!9q#5X5nYjh`od!-QW;;?;)q z*+k18L-2+jPk`&{!m%;rb%QZ;@Z)+td;hB)E{RvK>ATHmlpQ8effe3Fpm>jSMtk*= zHY{I2eJ(I}$}jJ^I;A}R?>&P>h#6V|}^BU)bSzu|d-eYOlQR__Cv;m4Py)nj~N2f`;G z+g7KV&mZ+(GZEU?!|~+O0izVOLBrvkH)5gC$o|ulcDr~=AjMt>b`$aPI=BpeQ~{ut#ZKm?%tVs zrHKsj@^b#5xQpKgMKsw(Oq5K#)7&mXEwu(24XQIkM?c`cy_7r3PLt7Myv<*=;g=C9 zKLR_>(C9)DPkltQI`+pz?@|_#zBZlx{mOHHBLo-Hr7T+bXif812x6gYX5CQjH1suO z<>}moGSB!lke}wD^MFqfR_zJ@f^&B{24)=0E_tC}pabeIh}#BNd~HYI>zXG>zp*!{ zu{W}@H@2}iys0_02T( zO+59DJk_6j{2gxmop$^kZ~Xn)knVLun*5bKFyq3o@WQb8VyEarxZq-^@M5R51o>Z58jgS z5APD94+NR+cbp`tXG5{Cmw|ZJv9Yh9I+D0j8~=chDj5j2wz$c-lvDe+I#T=NKtgNZ z52lh^nd@L~kmELj;}(?T>rT>VYU{_Vu*d6Q6cF+F4f)3?n}6E}23|l1)V7xus@(mW z{taME`NRpLc?&$B+Q>zWDV?VHbr_~6KI~kfu$QFJRrZ8g_Cyc;g&zIImiC@o?ZmNk zc1O0bH$&`$BwodqBlx_;LG9K5fS;UDt~E{S^o zAW=-djZgMS=FpkPl;xLSmz>v-?Uc)=vgVdupuA+V4lfY|`6gP7d!+|5&*#1GBwD-% zN@wqXKv*+>2$cZd-(-AWQAjQ^jDkdWzL?@3K;e!S7zV*1zQAM#_XmA(HD*y+7Lb|u zlZBDzlbA0|MowuKncqu}Pjo9O2}_Poc55yfmHkd}iYq%R_nqOCM^>JKkogo+HX)-~ zW1dZR0%9_*f9Q)kYbK`ASLhT7g;689AUs?JBo-9t1@Ot3{`)U614dFolBO)|eI_iK zSVlsKbl?owA!}eqqa?USV2DSM+W3fc5Dds60I+53kjgK%5&d0XY!muHUt&g$M1$P> z3i$faS+sGDqHr1D>nRXzz^lojTfmm#LOQ<4j}!>?sj*nW)=%U9L^aZ9u|llZK+FcO zriY%gNE!x95ATlxTSf{=0cRi#p|seZ|8gGR-}q&s&&WIIZ=aE5khw{{n#cTau=KG0 z$}i_ST%6cSNh`wx6=3O#d)68>*h+25GqCjp@H2?@2AFx~7Im$SGpz%z;0k5=_(t8d z0?d6cDqcN0AaM3}mcAD?uOv8TzqC(FkB2$}MUHt&3#h)~=<%EH%>Vp=G zKT8(%(}=aKA-1gTF@^8Q1v;Tfi1ngu$;3t>)_KO_;C8=a5fSRavp5C%q{ha^7^{0Z z59%!gmyl~?#zS(7U-}7E-;8w^zj)EukO-i0!Wu+=g|CxB3TZ2b z-!1;NcS9K7EAgtAcfzf2U$o;wDcO4|7ZWg=M)+1+6?pGk8+?+WS6n3Q5f`(4Ntf_G zgf-+8aBunW{h6t`?LA~x%UORj?lWrwN-01pZ2sW;DU3OB*930u$ZM)K8)R6Zm@UFb zY9N&s4)WZtu^W0Ngb(6edu9B9rT{JxO!Q~4Ts4PS*9nuB0V$i)bySckK{7Else9h7Fqk)7MlX}UoX1?tMf3Du>H$ok;$Q5>AyW9={wok_;U;?o5SXVQQm{z ze*w4RcBLhTA^?w*xvp1&8PAU&K=eLp4n54`%;yo^|=y-gwAaWS)<& z5}mE`Y2UF#G)ABkpw!j()!!jrBVIddP^of7Qsn>fm8J2;tGGUA|FhuLCA>ZNfqlAw zN9ZESs+_5y=5{(lTkbeq(`(cVdvHTmtkw{KoKVkAX+*SCjdsaN{vNkE;|nBi0@}n3 z)maV&CiXH1Sh*0j#I{8Gq-UrUUZ9tYJW-Bo{gXM-s!3Ni_EYg__frV*|2=ae|9^{I z-PF;^T*=tp{NJG`{gxXNK@I=#NatZaYrhUAYbUsf0g9qQ_d|uNT0qy$W8| zkfbk}Hv0BTCV)*PGjl!FC5T`WuKEw|@H%EQMTtK{GC8=zyM#29Q%W>I?PQ1jszL-~ zli&0$7A*m(=@xs(zGI~e>8)9eE%nWyjFxa&4<;rklrWpS!DYZbW6M^!QY^D)$fE!A z!pV}xoPPXO-6|74y!7QVqcV!M(O6T^jz0`{+O7X8Uh( z{~P5r)eSiaR#d@;jFxj7+ipWqv}&>=$s19$=v^qewALrO)30aaT(oP|JEbJ>LQh}; zsXU$V26ROzS-e?4*}@vf46-L>g;9am}7>%HZRFvZbe-3ZN;HnZG;IA{I0z`(5={v&K1Fr0I{OQr^$_ z<{G!KwDEPrbX@B7w03L(%*sLKb*=d}4UZf?t{wqc^tw`I3~mgzK_h*s2N~(*{@@5v zOo4+vFI>qi<9*>WJWb&fDow5vxpyhMp+dWolCnBqGqc;r5$&S7$+-_UKC=jua27!E z$$Xr;(zeSvicuRRG)t;lMJDqg`9(JxORU;@B=#A`j`8kMj#rVPUS+aZwX$Err01=2 z3OlZ{4o0TJ9cFZ@KF|yYAE1x70i$&_GocyplZ?z?SYpiT#6jqhm3ZgEmL8S6&p;?*;;d(eH>#U9nqA_EOJo zX*rX{J1EpGBmllT936#uG%sVaT~cpkG}nhNu0~Ibw`^zF0=Q|e@(PTw-SGs#atNyx zZD3XEIbN{FUh(G@qu`>K#_$_T>Nip=Nwb;0xwP(}UjbB<+ya@Y{-$BD zD8OrNC>1cLE*Ad5t;U#1sRTxoB;HT=em#Z5k};^|x>(nN{B~QFr-x@>fq#oWJU?Q% zOoLiO{u10dV0*VGQ6Hq}8~nJ(Z)*0!ch-bT(gsQnH4Wfi6QhdF|&j4p1Nu`xVv zcugR{Li=O4YIZ?M>kn8Hc1I(2${Ay?w324Pb?mp7DNKLXV(|bPD%cdkXsRuq!xP39 zZxj!4BglQ$wCHC`?a&%9FpRO0IICjPTSlqc-YCQH;Wf6XJ8>XCMNiD<02U#&P&B2Q zZW>eJib|mnh`PuB2Qg<#B4qF<;_3g0Sm3`xZ0_P<>}Ks@F6rRr;{9(UIXCHFtiwMp z`&V&W@@9g`R(j;>`!a#&eh0IrMPl}uPJ_!z#DvuNv85d1xHjy;$&sz zf_A2bFBa|w$%8m2*JVrvLNKZ9;8U>67!=q`V$(m(^~pIE&bU{0n^ya+e?m;(jUeN9 z#zKU&GidRZvMRl%;l#;9+favB>d*%qeM))bDkk@Di-Ko}*l*!CHe#J~&ox5&kjRo-zSpy*WRJ zoT@)f_RoJzHkD%ZnUI;m=Zp*kTS;rK6!nSx^gkl!{{Myi-)N_Ox@6%0xMb^Rt!Y{Q zfg)&Tf*cZ}D3T$pK*TC3b1orqSV`E!u_%j^!>TmtiwEX|6s^@Oc-t zNNPDL|H2k_Y&Ks|S*v|1bQm|~cFBEX^PneVFPUItDGxAWVBnP@-#5Zd4}m+tZT-0X zY5b;MEN;FTe<0{Vd2dEZ^)2U}5uo$l&98Z4seZo|i|k#LNuq#FyY9B1THLmHgt034 zgEV$XgYM|u36@_FTq-FJe@+tu2!puwH;Nf%c#SNI8fGX#=KfzJTgXDum~WaLx7-ec zTGk6O%kv-1UrdH9{~6iq{}D6Ge}UP}(f;4~#{D1ja^<)4H}Gg9dJ_XkV$4F!E|H4) z^d7nI;#-ZKpA$1N=@T=2(QXLwu5?sW)u-haGCMMJnLa?g`}1;-XoN%0#g;ii8t0ue z5F93nAdhHWTxzCWMYnZG#*%lW#lJ~&=#2I?pd{=XLEnMn5x4QxVK*BhT%%!;%vw@E z(XHzYx)J-?z9OgSQq{b%l5fBk?sDWY!DL;pgLE*GWn6e=UV_iaNhw(5ESh>iWqyCz z6UV<${P)B^UKh4__q(J*Ky@w0)X=+6!+ky&yu^7FeZL@@+p~2iHGlZHhqz=1Im*_m z<@-e725XjaJC(R=wV0{#T0e^ma$`M#f>E;Z-A6hem(XuM_}Fv#ccm)nylUzaDe1qz zN5*&T8|36CXD#pu*~D2TGrLrqKfUZx$E+#odVX+mT-je5dhOxjtKQT`n9n6>aqJ{L zqqCPNw^Ic?hE%tUK~G>6`M{k3rNYGeGS-v>omlnOs1z!J@Xddj?eW#fjKEL0!~YR3 z*Z((M6FWy!+yAG*{$~jPYgL89z2;zxZmRoAiVIF9#6t!}oGJ$UhAKuUJ0>n_)`;x9 zZ$ULV4Gq%5E(sI5hj}WNyRHrUPChI&*=>3C)AbrK`FG}8_{)XymL$CHgD zJWL&~%d*UGm2)fhBeAvFn`eB77Gyvq!-vt38=XRx@T#RYAFPJa4x1VN6shdSOKQnP zuE=i(0mA=TSEa>2Nb+D($z1iu@cLp)ARemzdb{%+&yK+$x3|L#@%)v_aj7DaL@|D~ zV_-2Lk=)i1qI6C3qpW8(xQo}+8s?Pluhbpsghmt>n(Mz-RSQ;R|5{anK$QnIwVlt{!lw7@ zqtyb(sRcuJKC>v3bQa!{|MA5B=#&BvLXT|)BS&2USr*>Ru1SN7=~fHj~IQx*7UL~oCCF>!KEja%%y(nbd32nC@~Disy9 zlKCWMt^IzSc^~ZQ5)y=1m70^nX7@H@u~pA(`ZU=;NKKnl5ht)pH}oJ!RzMap_@#bK zVuK0IpRP933O+v~K>vTS_7-kguG{voN{4iJcZUcfD4o*X-5}i{0x#Vi(jeU--5t^h z2q*#qf^^sKd0%zyz1G>s?RTB;Zy48{_nc#lId0bd5fb61+F7ctwkEPIiC!dQ?(Or*&fqACp&3l?UKi+yjU8n8_!-_ zx6D<15+>a`$@$7l!^VPOkbp72uAPbFxw`mA`0rs^qjFlrTLhMi&e#@eBpy{OT}e-P z43iDA7=D!WMCZLj6o*QpaKmteFTVA_unhy0^jyL;c~&(OA0Yv`mYroKi@-{8GG`I94q#DtzzamNzo$7fkOK` zd71;a%=7zOx(9MRZ`oty8LxMk7bYLNkGV zill|nC+{@GH7r>%w^$qzAq3)*?S&*{9=jc4G?c}`1Slj`J>0)UeOy^978|rn$J9%@~ zwszd9jcKHZHKwVZv^4Xf0zy>j&rCsSo+dBjYNG+4Cyd zRcz~7NE&c&Dv6G>GYu|Q#_%@;xxhfjUPtJJcxgyVsHnY(OWRs$HUjxP5?&eIjHV5x z?=p_bk>z>8>od%>?5Bgd`OH-)e|3|RsB4Vy{?h^42=kIh2M_tm+d?uIdoL(L;1+rs zB)oC&xOf9Q1Gob|Q$>-9&(pj}eaTu~0WReP8rG12|N1bq|6wWr1L8q2#NIX-{o%PG zSE;WsUJ74PxXA~Qy?YiM3tcgZpZ3_EgZb%GU6^(WV7&zI%<7zoEa(%$YOTdS6_?mI z*N5lO`cR^T_%fz3eetpe3ti!X8lc(Nf z*w)?8tR7!6OuCVv!FtX$4R=a?xLGmSXF$f z2hHsB!CHDwezCknqS;|C?9GPY(|0&=_?N{TTvrTSIEW~h(az&Y!<}d#eAU~}DF&bY z%W^y1hzD2P>IRbP0+d~6U@qux1#lgYqwp`a#ezP{%b?RZV%ZcwUO#84xxVKjodtJ; zkdPY4_&DGV&jZ+KIoJsSoz*ADAH6X3T*Hn`Fru77_F^tsZnxI4#4u;^`r`Qgh)mKR zTXgvkv^@aBYyDM=8(hZ&zpdlP{~cZGMo(M|ke3HWZB*@#x-RnVRkP0UK zh*?a}Ye|!dj#xhvP@bwHN2!|k%;&DD@>PGGa_^OOit%fa5M8-Ksoci*(E=~|#Ys7+ z9t|^BlU%47kE#&M&35T(6&IK{_h1#bF@H=1)@C2txTbH=$fC`R{Bljtb6Iz#shtb? zVZVhxc3uNEXR3vp)B;vzGWY!1(pgrDLMcJyY%ekKZPS()7B$yNfd!H-%&@@f{B8f} zw62zW!n7MTfjR08o$KvX>takYxl){;zzLL%eyXoDe%nLNz5BsbDFOa4n3c-?MH)EwLa zq8~gk^&ecgp_OqPwsn6P}n}(Sjslu5YaYf`XEjvktAV+Zp zVMqAVRk;Ai>%FDl0{sU}r?H8(iJ5_uiMWG-jg5iB->`o3izQJqGMe^iM+(h4>GW3c zk`JJ8^Ha=cZX2pcVW$S5{^ANe%&0!ENP&kLn6p>A$I{FAR}UIbCV8b% zbEFd^m9L|VCErRmWvAX(>tj%mhWRRWwRO{Kp28@IliZZ|ir-|j^(c@gZd1PFDT44M zoL{Js;qsW8uui^FEaYjH&epwYL~X8p$`N5*G;=bkH=C-jsinh+UpOB3cJxsla?%@* z_)Q$*%c85*w-agf8v0pMRlJdgMn)68_Yhew4Vv+KlRHk^KO&WSZ#rQRv>FZcbe?9p|b@T z&Ia>*Ltn|>+emx2#K@AU!M{w|CjPzo{OusGjB%-?jEOq|WjgVOdU%k68w|LlDMZGZ z{Q#tYPjdbNN%9Y*9se`bnm?ibwBG5Bj*XQKubZW85mr%c6GR}1Id6T<0;90siMlTi zEhv;O(kZRd6ZD4niRah|{^{q7?<5_3rbNcyfp z8xm9nE+g%F!+B3A{3c*8rjXUY*p#Av9b_X_B8*d#*$>J634>Zb!LGea>P|`ueNjh_2+o10Cwn z5g$B!!YP)fXvYbJMNvUm=-FE{J^jx*gsa3W=^J=ADcte|BOy09Y{ z9Mt*{JAH3#U!M6c`5}TniB$24{&|BJAbVB^RxsL=-H+SA@AL2Zkw4h2Obl&J|Kl9? zlh!V?nwy!u(ve5hB?%AyGi!kNqZMYb9xEy zfsw(r^c2puo1>G59VCf1#%yV#1dfja-I0)RaPTL^qz5ZCQJetjf`4?+r4ivlRM_~w z5wn-xreRszdp5UE40A*rd9yq$5}JtR5~+;MQmPc~yEt41%-g+Et=dncvRRI6$?R0MQa!4r z47_tQO=v<~D8ECW1y~-{^hH<`Ff7)QP0G5j^<^Bj7ufb1gR(=BMadWR^D1n$+T(Uzm15=WTsmWUXS%kVF)#DbUXJp;Gz-)~fZz>k1o{#zmc;zzb@7M*82DjHr>xIG^U z0|3VAWdO6C0Kl^eHmcS0K1r|X&OgDOE3ED?6qZSlayWAEnmK^nJ$>C_DuZ$&xDa{s z*zAkIlBZ~&-I;r-&9M(aKxUcHZ&-y4!lgw5MCjtK&druM3XmG%~Nf~ z_=-**gq9d{??9F*@r1$96&zh9bDkz&Y^9C9hj?Pf(mHyU7D8os>74m_0*4}K5*{CK zcUNC*K08#bQz+6Ak*~Nxiz6+el%=e1udm`Axi=-!jQtd#IQgzyoEaAZc4P_FSu5jR z%=_!8I~NKL;d%xr$8CV(toCPeK;ihoj##-3BY#^lCT95JLVcGvBP2I#sMxx@5)-j{ zXHz94Ei?6l9g+OWj)>cBm6=t-JwO06UpSGU(Od)&@I(b{MZO>hlg7N;!%Twfy}$^0 z3)>?naT<1a$s4kj%3A{J{tYJj`Ih`G4m} zj4=>_4 zMW~K@DNnwB^kg~O_i{zmM+##>JXaJU(bGY3MA;x_f?q2m$51a8FQ84R_lx)$NEq~(R_Uzb@bS1) z8Cg^U-shZGLX$3XT8;-((X!z<`#$Ef1vrI|X=rS2cMB?HWU3d;=hDRKxrXhy418Zi zSwGP-bFVuTM3Uv)m3hO6Pq!2o^oDa=lcl+gj$LQrOlc)waHIUKv0oKz@2Mx27TgMd zc=o0NR%8%@45D?*N>j&>U5sSyiEu2G2PZ;dN{r@G;d>XHyCo8n+m8?K-hJvWc)WpE zBOb}JLiP2ytkMO^zE>Zbl!F0xIBFly6Y7CLPCWN&9jIpxuhEOzhX5z3m??t*V}w|4X{g#u~n_&;g{Fk?)(;gH`9>&tiXIH28_Q+)J?E;BQs^Mq$Dd z6JWKcsFsYEQfmv!76^)=7XYV0;c<38+5-jhJZc2@1j&{j=4MU|}rv-?AZ(CUG> z`ox3}D(c3lY@WH&7!&3ZJJE&$Nqm zJXQ6$fLdkr$L1d>(*9^gsZYcNuP)4N*W<|?(r&OmOl)tap>0)lJ`sEV1kttkOqL}p zqvlan!dDw*-m4LM4xiv5Z15}nzMRJ}3_$$%J_El0zGnRm@qbKYF%T9Mv|=AuI$utZ zd)gcmnsw0C7~`RU{(2l0UQ+UP1BWE4y@@NpfnGLaiB#c&oh6esR@pWbiXK&8(|NB1 z9GAPj?hbZQIs^#r54q`zBCtL{VfAh~JkZQqV~XhzTl`R^ywIzfu_tLJ!=$pkCSDRN zGOy~pubbt7wlzSE=(ad&Bo;NICYH1iQ}7}Yc@SlqZR16&jTnP~>Z76e?WxqR1o;oF zu#|)roM~A&_?}j+ag@Mxz1IYULX}jE;pLlMvm9%w>KXi6PrbuQTLHI+p2z)bu)R`g zi=)08mI)?i+uDQbTU9$K@6FfV5g*H%iXW2?wa(opx1@!^Y&?l?lB01JSPn=Q=N5tS z2{xIAIlb*~>6o<}FYZj3xrs@s%L|0}sz z$J>e)M=1NjUZM;vMcZ;c$~C?gT>blXs}#D{ux(u*d$GKpAkAqaSB!Mb?H7CwqVZH` zRS6XLIW|*fiA?&;e!2{g_l(}EhtN4>Z`|=nw&f!; zi;6n`0`;#gE8L{iUdGrRLm1M-QFG2A`?U2^b|3iF{=F3aCl&2xWCH2m;tqDsFaHMe zUqWHK$C$ zcw%e$tc#DvE#Ggx^ES+jh%nqoiH|j<#ZsV>tiPR+(@K^&RLs{cC!x;QI6ojb+~mqH zd&>y?5Oil!WDxr%3<(f5043U<#ar5@p#TsymdFltuesd0(K(Nmjg8NojfqFxHlHsG z^AMpz;Tfx6MY)4|QAc`)V3`M3URe?iSuzw~G|7TYeMw*OdaM$)KFN);Rv3|&Wub3! zT8)qMZA^fx)M98FPm?N2X@4zVcSiG!G;~X}RvpeOs65SX-zm zuTl<)+bboAO0YS(yn1j{K}p=m^B}Nn13eecbillh*kU{H%l-K_f}W2>4YGx+lqR`5 z*SQ)_{R$M7Qg6v+wT+LnC%cn(Xr)=|G|Aj5xaa-VsS&DP?zxI%nqbD3y=Y&$NlvIg zNDBM#mWN{Q{hXyW_g>8hj^P*6%0MHJxn_HuJ#N3amog1Hel&DF=abSJ7XmXxEcG$_ z*W;ZWgsYG44A|j;4f}}JTxmCleNZbet#5i%v~^tO!(?B(_$OXLrw~28{rHXk$5a^I;=if@k9R4(!wp)(9{BMN3)Rq!29W>#iv0)UnyH1Yfwi@}u(g4+<3B8d zfZ73&q)&|id(m|9$;~~{{i>HZ3@iYhA^^}S{wyY%{RAm5j5*M+8DSJ&eg72L z!ksgNQJ{RpgU81MMf`yoG}5(-uF=q~RDGHN#ms15!Vrr> zuz0GsF>efRyG;yj{1eygE-g!qxv^&mK2xu!+!L=*3CekcLFffm)xk7jt2IyS0HFT4V{| zZ9)2+)H#VuqpS62mG{s;APoet{{5i#2fCKo4|?=}p~JyOvZ+4vZ#OJ-Fj}PABAsxe zbTF*)#kKhr)e+J%l5u}~xs~@7(Y-%3?(%Y)B`3|jHM@7E&Kc7wgkr&zYMhA7M5t~c zVMR^dEygU5g4=eA)jt1)51yYzXjCqK^CX~{OA8J;H>iAXn-Zj4^pVDr`yGX4+s0)z z$qAogok)M~kTP>+;2h3S#L=0drd~7o4X=OXXj?67!gS0bektclQt@^OTYSL$4Ff=h z)4As_7jv_$%3}w4M)P&YG$k-8F(uqpk0Ez9t%|*rJ4X@RbILC(vVP<*F@N|WLIqbK zVkxo{dA2IWL~XiRyZdpAqYa@J=r z(z(eRG&Z^!LsLy3DoLRc$MHhocG&tUAYHP(u7W1O-7|=(gS{7?8_ktd1{yfSYrGNj zA)>)$5Xm5+5F|T!b3L_&Wr{J)w1FWQ#qS=+W)Vso?Fj`g=agd1r#=A0zqgwFImF8D zFaKW5f6ZpB;8(jHH~w`J9IgW31O#j~Y}9RyJ#DfjRALNR@<9`ZuG(4l+T zY=GolTL~(@;x|HEsxoLbs!=r^z1f@>N(@?DPm5)g{SyJo%;C$GID1*eQuK1VuJ~0w z<4=&40FYM!kbCAYYzr6xkQ+_azI|m^&hI2y8+(~oA7>)8J%eQ6l^=_jI6X5fGctDK?K#|q3tx8Wx9 z=@{3^d`y6aJ4BU1geFKa!wS6Ch)M`n1e}r?q8Zha>0AJ*vJ4r%W$r_ffpx9lgUs^Z z7cL9qzl~%OF|yFS2>hFniJ_{LzP@CdQhY+w#|R zn>nOt&+q6iT_RqHxmB&4jq&U~Ibu4xJ_STe)NeEx>N4b!)Nw=Ae%MeY$o6G<#vh8^ zibn%WhY^F53*4X!&}Y`h21hH+WwG*8Rv_;jjtG#)m|77^rZ zjZ-NdXm&NC4WZ1DcE4+@_Xfp#I~V1l#1HGgX)0GX5kGIsD_fNVWyrU!<%6vUsQE+Q zVj;ce(o4bPju%~Y`x@2GB6=^y-`V)g?hGUrRB4<&n28m48A!f$S$tt`DxsQRA;+&r zs9qB-GSu}L8Hsa%ZA~1;^uuj+amS2{+M!<&&f{vFlx^k;akOuDq@l7NZP2asxl!_k zeG-`XDsigm9`BOq1YRx0;&qD{=YQ@)Vw#-ocqN&a>%VCR>T<)l7s@VFffXlc2w`zr2@))xwX5{#S$URg+wlZ!mV1e)R1x5o^pAqF0Wj%Z#P)3hU}-X58N~ z>J@`^1dIoN5u#w@fmOmY*LV97lh>wEX=L)+0iaCt&+bA=+YwNp&%$%Aqv*nxMn|!E z>shjs+PxRwT&*qpw}3(MaIo}BMAWAE#U9Caiy4) z052>Vzf_^?AruswR2(6-O95(n3^<51hyi;ELvO@rI}@j9ZTUNNZG`r2ATVQ|L%IIj z^E@q}M?d{4D7zFnh)k)1pE^axg_B4ePWBCK2Yf(-=W+|s-8aHHlq>Ht*1R2<6{{1Y zx687`O;vsDB2_MDk#D$jg%jxt;Nyft9|1<+bLN^8co%Vf_*{g9P$L~cmln8h1a=)1 z-9LB=vTYA(eQw_-vO0MG07`MCS5Wqa0fPZx^c}1jP=GkbB6lE;u@9BEabOMW_jLCk zY*#-)7X44RIKTK3c2Z!}Cg6T_gIo*mqy3ntQ&%04y!Pj)O+~Ugv}2w8=7bdfmI%fo z8_b!|9qcfeN5ro}X6>sHchsY=hi5Ra&de|AKD%R!w(Rq^9PbZxTR~>+y{4)+5+>>O zhlSKSL{Ch_nCpWQPjkXmiL=NJY3V#x#;uR1Qy?!oWE2} zdJci+FA6lA;0!1#b7q3Mc6}$YV(bN(8m9^TK9#T=KhXpxZR;yLK_y_)-d(O-yvs;% zIq9_ekjq2PGoq%cvvQu9zs>YSSzOA}gywK@GrBKw@s{kxZn8j7%Gtu3L9G<^tjXM- z-M)~ceVS)5Gxto~?&DNZjeCT<`_*ZU6!Zn64_akqT5f;M>3p0~oxRZx_la51K4e8_ zzrP+lX(#=fv^Q9TIaxN?GNl{mABzE#Hgg9ic+#%IKPPg0d-f?#*}nNSF6{ z_8`o(;|yZPdZQoAn1EHNwxH+p0R+Lt1 z6@G97EjsS@@)k_rrHG_ZIY)@FcFGQDUgIDP+794O0O>NfXIW(*9sQ|{tE`-g zEB6sZq{ch~+@K@m5%g(YwSo9ZH9y>-PEbo5T|81pVGnIzKLgyLZ55(#DV-WsR}42- zPQBjmu;r;rJ&gSh`<9B>;i;Y~@H%fdnKKk)EoD(F3;#40jUeHR#ka&am4<%{+z^q* zw8-q_J@zhg1y^`pM1^e=xWXBo8$5`FTaSe?56$ZGi)gD0$Q6zf@T7go7A;?t-2NIc zg;MIH0WWmf3}qW&LgG1at^hm8B%%O6+1_d<@M}bBWglC{8Uiw;#M8yULnu*q0o66| zEza*r@IUYf{=)ii?{va1k6>NU2Rxe@&G)Yr_g{YYAa~1#7u~;?FQw(dxcF{5-i9JA z;#?hoIS}=ea7Y|oVOg-Qv8l`9P0d{;YlYnVdoGp6l>RA1lgV}TBO1vKl^xNKG^IcZ zmRV1<&&4c!T1REk=zh2aPXfxhQk#+IpT0jE5fHYtX%(IH|MWWVqWJ5u=Cqac5|)kV zn-I%Sh%*=vmtZZ}C793>)08vP_@j%jUMZ5&0q&w#WqU8m15l_drc-AwHMF-KR_+~| zIOkc=SjErH-c?J)RF=QP0e5k^MIEq7FoJBdod4LcJ&@JawvVm*r7URUF?>XzC|vgd z??9IWTOR8vOgeSowhi3saEpoN39-0@)DTx^*2Q^qCoq(-dcHgrnRY4vT{i)N;x9ziH-3hr0 z)F^-k)u;3?0x+(pA5l-PW9x@toL@a@!}8#Zg-_#Pgdz!U_GdWF^S1GPP46`F<}a}2 z^Cl8yrH>?<-i}G6vNrpbiuiy_*+Uthz9eyfCE3X4yO_ z*spZ(dCNy4cv6PeUJVZ9PIT@?imYmKhJ|5E!~-cai3J%5HP6H@p_O6b*tu%uRrR>~}cWrBX zA1&7gErp8freWLxCX@$fOOEq+A{>P`Cz(P97UJ9oChY~_Lc>o08JM(R2zHb2v|zFY z3rz;QY@@H_>@`VWPcpK^OYkoMWnHWV-lzI7W*^hU@`vz4EM&q1t&mZBbgj$;EKN`U zp9eB<(-s0-y#HRxz(7X%9PKH@CP<^;+Ug$$cuf+4(>jd-*p_F((imO|W7e4BPo}cp zifixZ0$9Tdc0_5`n^L$9Qe2L!ye)ZO#3w3v+vX#zGkZw#N%Kr5vMBKT%jT^fz2-MeUr!~ zJE5pduTsZ49mDqA!I!~wR}zgKE1@NNK z;8}=Wj637)${I3_;w)8L-UVYHU31SM28rk`DR}zc%gXfyv!K5p%>IA{g_N|g9bh4| zH5PSy`41NK-)C^J=>(b;752F@z zXN9nW#X18``PEtzF-5~q1y3{Y*gSb@IGqxV%~74qiDle3g=U3miBP>a&D5_ly+IeQ z*&*>KX|e56LkeWW2t|r>%+*{sSMVd_;%1v?!0Cn{C zQU{5D@TAUy15P)}W@*|)`%iEWq?#Y=ksUlsJ4Y$1Slt6&>EucfTlyOM8i2PX=6BIk zh*T}3GYtiPrGL+T{(r>#e_lxc8{WW)4htQ?m>f|s{IrPT=uwwtm+#QTj)v~NUdjEp z>)GO;CpshehsW3Z@cP(FEDm^slwk@-@hqV&);9Q)Jf2`3DOJWJusnEav@as5;QKJoVVo6+o{_+4vpInsdN+kKdM z*?$SmT-Xe_-MFI$ZZ{b3>(J#znAhPPFfWw12UlqJ22zAvY4x}ccmaMgUVp!M?%-@L z)ZCzI>2#*gwrhG2I|_n+XiM;aMf^`^@Shd_KN>m|J68IK*}8AVb;}i5@VX?(U^5C9 zgdaOlnS3;zz!hVydd>91JDA%8Imf!J{3>H=_F^OYYf?Y$J+0)km~LYd4Veq&f~O;H z$tDAQjMUwR^B*4JF3=BGJZj_=vq$Ik(FX=_Ye3R6-CRO&-gLnSI{91UB~IpQlmuab z>V8XZqr-*8-dk;f=*(c9oW3$x`UI5{gic+Nzr@L<(lA!)R5gR#88h3%fG!#JJPYRM3s9@H4s$*tha>9xf@r&s``qCF@&6jhN8e*gLJxKC<*IUmy zOm<;CQL*piB4gd!uLRbhj=PZ9!YR7@?s7Sqe3Pw9bw0#g%j!lXlosS@PH8KqU##>S z`H}F5vyN@%$}4jQ&{L{pzDV~tWNkS8;ruR&AIK4U_Sg+m|6ZUITG@&k zxKhR>TO5F#wRAl-iXUE3%pU&M`+@MZ_oOibD#hIo{c_O%Ie0ev{rLR{qQ<{B@_!f- zAoCekDR99Xp4*3a27}ePu1~7WPbY+?O(r7w8a$vy$~5J_6^8%~Sj)s;2iu8tQd6uN zESHoQdFVv>cr^l#Hl&enL<5cdr>X&IT-?OxPkR70>YCHSu__FEWE0 zIiPBsAZT0-x5XwDE=3ox5Zq@EthNpPB!MR=&>m;uxgCVu`%G7=rp%(44s)j|E_dqK|yPVoBwFYVvbTGRiD zO!?Od9$+z(ou01OgptnL_J^X@e~vD+8T7+rCds-rv{MS4>Mv`SzV(o z$&moeCzZ5p4Wy~##PC==4KLIeBHOEL7Z4sgPnk=&WPwr{!``^%9fwpKxZEi*HQE78 zO5WD%9XMHZ{IlLz=`wV9lnC<0Sq8~q$gT!gEmzBSkjzKGE> zUyZ`CS|#W5JXKSsD9~Fj2kp}H^SNTg}lEtYzh+6I; zsbjgF-Oa)*FNaxMYU9PU<8mEsNs(;1j>{masIr zgccHTqjks-cZ{KCYG&f1dZ~tZ3lFeos5kd-6!Kl?UZ)02kZvqXim0v@xL z=iTD?tc-L9onI?A4F+g6TUMNnx6Ug#y&y8^lK`pFcvfq9eB4k z00CWqP}oJTgo@mBce&27*jlK1{(Bu?5Pq%InX^IAaE6_I2MJgx)obWU`!BGDeE_S;ywS2YmmYjCMD#-Wkhx#HA1Q zZu3Bg`&&IQl^-TN(8XM3#A4~|`5L#X8P_XE+q0rTguBAi80<0T0s89hnawHms}f8*d{C@LSR!7-1#CXv&vE*rkWbX6hep z;^J0No8Dry&?^)+c)fPLJhD(jW{9VJsF^BNx>hiG+ZzH|#Tsxylh*XW3vSG)ccYDn zDXGgeCzarz$5kV!D@^hRR9okiKYtO}&cyw!+R>i+9fpDb-rW0qyP{oHXKSxUVyb1N zOd3{dLr`RO_)d9bslOyD@qnj!(3fmnZ{*=S_V;XOekqS@pDP{mkj1DfD$L9!8JlmP z-A^u{9h+$8yd1#kMV?uU&5@>k!F!RU<#n$)Kj-0_qWIJ$@%_TnW#~;I^44G+E5E&Q zm!pRQwt+~ZudlQ|c^bEM3(Ah^lc_v3q#Nzt%-)Hmk#^=etN_wh(#iZBhf$`IwhJ4GAdg(VpqkHgY%5=1R zzFbO|T?lyAYP!-h@H*}Vc_<0}`o!)T$|`C=0EXdFbAojCgF!}cs0~I!G1p_ibbOs6 ztpkeu!v#In6sl6%a%k7Ux%K|tj2&~!G+9Aq;>JCZ$X(VXTM;(l0v0ImO}K@Q*g)iJ z95H=$JaIq2yD6UT?YBaK87`Nx?KS8#!P%z$?NqG2D`rM1%UrUkqnniCSaHg6&qHYd z0&P>z;|3g91TAJ1pW5iDuB^3p&!O_m^V+HCbCi&@`v+etKa@wi8A^CXt!16RO^Zto zFQS*}cZYQ!qG6{m?vM6{NY$z?@4kYEwEsJ`VrOLVzuxAdJzdnY4zIUtoeNdmKl~I5 zwh_`p4z|1#Y_u(Z-sVA$JAg$SxZx2!HZU6-%K$=)e%|KAhH!0EOBno!w0Raoo}U1i z|GD*?!I3uS`bj?{ZB%pSFpDRxcR7twh~7^GArGEJJd!NArIvK$?vFdEoQo-@=3`Nz zu>x-M>LHOf1;^k>n|Bjh<2%w%wwU9_Kp!Gk#D#XIh?%2RTM?6+?+*6h~AHiyJyEEjw-N8$mk3;S}G>j$Sog8*yaN!N1u}nf{Acigra8e0S_Gb zfTzs*i=vVPU0TF@;Ewu7mW?D#9rnZz1K}y@>B;T|Ooza%tZ`+sD1kIhpa~QstSbH_ zxQsQBl!K7;nnPE<+Y>{x;AU^oO1WjoCzyVFWpF%xKWWTBwceih{j@4892Q}0e9*xg756$_>14u;D3-hW^3p4Ke7=1 zjX9Z71?N(|R>^Zm|JTVSkZz(gPeYw{Vg>E{{6{hsoxKZoi?YaHWEsRc76OBdFJltZ z_ZKk=-m#ceYAqZgWEt#VWEnt=mh;r(T{Zwa7BNWK{v;r;`7%7OF|-0mL*UA{2sV9| zFcE4S@<{|w5PT?q`Vkc$6kqRbA@^gw%2u4*fd%k=n$&i=iHIo$q*5`|eZfmzXLUGS ztIfBeVr0TqyQ>!Q`$>{L613DENCZf-xfqKM2k@L7c9A!QmV8FlAHU03K zEI@r=1{iP}Wri``PDt`tfY&6DJoe+_^1KPS&5Cm?759po1}Bdx(NO_jU@CVEULfvb zG9W0%8!~utVd~+7EBN=xV}IZ%vV$0bRSm42|M3_r=txttV?DLk?2pWKxmljU#xigw zMFz5JD6pRE098CW2T){$l5w$v=YX-l6VCUQpi~PdV!3MK3He#ZM{u;s+UEn{+!7^` z0*hTw=)N8$;))PcfVwfA8!dIW)Jzi#Zl6^@Ykgybs$-0s&zeXDt#g7Orb3@PTQPCQ+hCn7V*yW?_K4`qh2X9btiWkW~t_1SA||O%Oqvi zzBlPt;RzkFJ{Sc(EsRwysaPaIei~n7oHy5VC99yS7bq5ZWeCc z6DnWRIVI+AyhRgL-VQa#d*9UyGMOh`Ir-K?44)-4DTZ(M(VN-zW;W=nL4(**m5T7_ zdIG+fJ?N7kgQOH$A?vhZetT};D6|Tg6dt}lTaBWDOCHnUOddTVqM;M-p+_ST-$DRa z@)%-C`hO2Y_=8IR0rcMouAh}`uQgX*0^z&?`S;)R11%mpo212C*Z;cJ`H%U5ov}eo zrVa!8v$U#jv`#T8rlKnHs#LT`a0 z1Ps&}VS3(90f4rlvc0~o@nCctm)G4vYjSo9TNUY>uZH1k^SK;GH#+68%tz%WQ;PE? zTOYXA4WivfeN)wC29Tk!@#l?*HE_cOV55&FQ0MyT`ta&+jZzJE{cR0R{Oi~3dcY2E zsbX&Dpm3&}WxV0z1dU5Qv7jA!C-}H0p(GG(qxk^Lh@tue+Qy6f0tR;xugKS?#A@ZE z&QZL1R(jG}SG_`dzC2y^d<^!SxUj`k)37IOScJ=;2FH=}hks-QgS+B4R`B2R1OK>+ z|8o)oBq0)T7O4Ob1AN%9KhTo@I**rX0yS03N`ak4p+C;!|AVv0+Gtr6CC=TLeO)ox zh3$)eBDqyWJaU+cO{z8>A%Rb8?+=KB#A-Fc5EFxze?&yqRC|a`dV4>g%y!5!rncqI zD+&{nNQkLE6?LPLiT=0}rs0V%a$Eoy`5B7q@_lU~1b1XYtf?SixcJODDR55Bvv{S82Tn#+`0kH@xjm-l6t7UZQ?EUuXXN!RLGnWGawN*KhZ z@iUyr!72*y9e9jqDi(ckgo>)1BL|4jT6CKk>NdFny&LIL*A1J!!_B6Ko#p_D_ir7p+3zV!EHLW$&_FKwqM?EE7``kp*EiUI#FkxCj?FnY&F7 zCP0b1eHChKJ@T9ySF;^p^I=w|Q{g^b3ykGc6!7;3yax&VfcJoEaiz8A9;+(2mPc@4 z#iDs?=$)VH=2zC=CYc;kS%pM?%Ggi4uAPXDET~sOqF5ggZurW3wLUwVkxZ@lsaSU}R zLh&HEXxNK%hdn)qFW|Ka2$NH^EU?vAvS~+P3$^ACP9%7>$2Ps|-|YXgUShxJo>!EJ zATV$ttQpNv6|C|{Ae)47!Oj>-{5aLNeN7SYiWJQdd~P?7vIQEINq=(!cm)G>&!Mgr^38Yx zi>pLiJ~)o0duQ_Q8Ibtic-`BF!NzrG!j9>#mNw|^EcWLHr32%a^`qJ?fZ{ekKOt$* z3<7lNOgwfxcqJ=W6g=#{| z+LBz9oLeZiZ8xdn7`$B7+?OvT5!^ck^C9&BAL33#bt^4rx<_LO3MmNRDFXNqXH-l& z54w&6Hh&G!`@Nd?`&+E$K>zkzqs+q&s!j-9Xd{WuAG#CQ_b1_#s{qn{jj(Ez-CUMGy3Wp7>(S`d82`_R$bL`=bfRLg(R^OD zq5ezTlDUkpfVbPHSfrg*xp9JDKbgN)M~jrbCp4ciRJ8>~ zbV_A0p)PABwwPWMMYdX{f;pWrd*|g1d-ylPMKdy{Q0gLOnWf|611ZfXh~{;_r3D;jpu}e>m2!6<1{;3a zQ;KGihaTy$F8P1ihz-`f66yzDQOIzuQftegy$~8jTO<@y(oGeDe7kq2Vbp0x% zne_A2!OH@f&y7|4l!k)c?Mp<$EDiv)+hGz)JcF3DPyMH#fSY#D`oJ{!Y3};1#pDk{ zs2mJz&Hg!B&qH#?2J1|9WLx%LQ6$sxvAzcUfDcH(CZYE~p^0Y6$!(fPR(Y8|k_7+{aq!kFDa>}>uLn_4q zc4LEB^Q2YHmqD-xai{rUe(NE?Z@KG>zc_k|3MN0YQ<0BjAmj(=2l;{g1)1<}f28uX zS2g>sjoKlq?o%h@r!?Grx7ZhS*8;f1$59qP1E?^704iA^fNGPa^%g>Yd`^}c?V@Dr znuWVhIneKKo_YU(7=y=q^($cXm01k|Y`?KLtC_kl3^{(}ehw%AdLRXV=ne!~esrM{ zPXO89=TH5?bL;>Rn9m`(`+uLR|DFD@Ec;4H_vdQ)mL8%Wh%;s~F)WIbr^j@Hl=px!EPBink$D_@P#KrlHiN}2bfs?-}j0}<%Y zXQs2du;|@cA;KDmHd!-`09PH_`9xVNbqO2@X?#h1{4)UTtH)#tOQF9@}%>r;ie_4MLW=2wD@A~U$f?Eo568jDjI>>2`S%r!mR zpSkM=blk0&Zpxl^_b$O#Rf@!`Pn?##Ff*M)k*G0Hor8g^Dj;QS0~w?Qxt;93XOfis zuiMEH`!ykOy6f*BP5hJG)99)fntc9zlTIM(`=V=uG9?p|c20YzXwa;*9z`cgb~?#jOCX(=fX^P-v! z3;!;|@{_fNGaZ%(qwfX%aXd}OFDuG0*oP;MseZ?nBcipN9Tv8ReMW*tl zmQS^SYu%xc?<>7|ZLSYIl(HFz%j@4fTVVi-nO!|8gI1*%`#D*NBbzmFbVKIexKL>| zhpxPs3xxPiBsQV5*61)r)V%OBN6n#q$Jp|y-BJL!&8XHm6P}4Rd$GoMX0@X$Vk)6# zlEr%cj8MHHTCA^&3K^+pfO7|YbTbwu2C&t9v8W%oDdvDAlXcg@(Y}?XDoMe#oIO*g z0nA=#gKCM1Ji@m`t@$o`9V7@c`V0k%6PK?t>on-dept zw$;W*Ytgm?Q;p%AsyHV)1(-iI8oTV^cYD7^nf7VBkqbW;Z~J(Z;OSnFAL7*Ui3rYb z`l=1^ZTIxKGOB@n+YBcTCtNJfRh|!cYcwaP<3vLlOMEp9+t_qILSR- zZ^Zz3diM?c16h;G``LtjML`=9fqh*q{yu9&$3P%=I6CaD+zRq=CL%FR-#3ZdF;#>z z8u?KbwKbE^XY=ZLJfoAsfa-+a%Qa&hog)jVPPa)qp3u#?6oG!w`2~(pL6%>MJID|R z$rg&h*F_-jafieEQBJqb9 z|A(ZSf3<51qiN0e;{1MPxGZ3{8tVWWaBV|GC#t3R(SlD}zsq**dmVvQz#(C{P{3wn zFxy203FA%#!nhs4Vcce6Kf|~ufjd}m7&qJTUege_Cvu3_=k&ZQK#>T7gmJ4RHPLL7 zI0Iqa2RF2thQusei0$u~6F+^G0VonZ8?KBt*-(RF>zYLl zI0+tgV2o2Ir&mQ)j{@6EImABHZNh&?m|1&!Vl~e;U0>o;NO(9NL1fmh-GttWyj6`n zQbme~bc8ZF@OU$5T_2hkg0U5VF~gU7Dql0k09C`nh5f}J80YZFPW-?a`WMERNt(U@ z#yO}^>{6raqK}oI?A?QniGZ7U0Z<>uOD-X59^fo)aZkXu?F6=M`&A_q^oyj^vdhfV z&`6%3aX{PyYMPon{~hB$?AG!>R;a%}$^g{`{!9Uood|5o&a|G>yScwahxr-FozD!& zPGD(q6C4Tom+bW1=HFx|cW)2a%Ba^NR2x$g`ki@|=K6yj9Ku52pA;B=j?c;?leotS zU6>L-)}^EdxWWG(x&HrH`^um=v~1l3x8UyXF2UX1gFB78OMu|+?oROF?(Wb)2=0W& z9Rh^pH92SI-nsSO-1+gUsNxS)QLNr;@Aa)u{sU6bYrFot%>T*}`LB)*Hfq+h7bFp( zv+8ydMF6t}=>9gaXkq3`qIPdQB7irf|A$wz8rZ+$mYkz8`6B-%-0x4RV*wblQ)P*L z|9oJF{L#V+g55vA#_hhK|2;VsNVNWWV4KLCflK{>yL&RMp7f#1HOZo~g~3*|l?q&H z!efOG-7QW^p$&sKz8r-tcKKwVA*AzYy|H9Qh1JzyCjfPE`dXDy6d#SyHJ*;kXi`|b z+h6TU2Gp?pam9Yc#4S!+TugY*j;cC1~2ZHN-u*YnM6H zPId*k3&u7#2&ILJ%2(ix-2Qj5&3|~L)&2xp{f|=r<48wa zFId^ucrv|Gc>kN|`KanOGy^Pp&i*eOIZ7;+n*Va7`6IWvSLI9`(#MCN%ErV-V#L=r zm9YW~+iix`iJ0}zXg9a^R&NNIKfVgvJwoZf62Kyvg}2zAP=x&$u}CffTttqzD~XElWiEtye=8oOT8-a>HwpEgw2F|DlZS zge%k~I1@bw7dh4{vl*rjp|5BwA(6=DP{o(V%ExMDMD zXUXMPD3yXPq2~WIZOlSx%GVM3-{YG9fkEKwY5tdP9sAEaIUMZZ>mvl#v)iLRNc|Jg zRK1k?gJ^;U?fL(W@>7L%Wol_**&A?g^w$cR8G%|&dx|`gDtX{9#k1_I;<@~}ax(O@ z!LXxe+r3|Uw8#ww)stUgWz9XYxX;!Vp>Fa;xxoO40krCzq;LTVR<1#?9L2He46o~VZ_CZW zzv53M`y~(>ttr_o)iSuj!A6N>6<`hsgXZ6{MxNRKj5S(7t6aA_XG6O9E7oXuo>!Iu z{Nm!!98GSnTX@B`nB848x3FJhjhcR2QQtLVu*Ou)rOFu^(Egd5X#Sp?j&cIHUH;5X z;O;zIq*mkqEt#R1$(@7Pv|0OU64!gcK|;$(%gf$>wIi{mtYzg=955+P9`< z5wmDs5dQ+6n;KYynnF!*v8fZxmVcz%hBYf2{+XK|#`ps7aBY@)Y8!+F=RDD{23duqW9O2sKfvV*HQMtlUj6UAr2Z3l3tZs;*_Z#) z$mQBk@np4KyrtR>yO#vJ=#yXfklv$n7N9tJEU_qNNX;vdt<-+C^b(5(DRLQW7gE4lA+*`Hf1 zPawngSAD=u`F9YQ8*nym18OO;iAV#(TVQj~*QWdj-m(V6TL?sWIShZ`tzB=mRH9dS ztF>pX4I2z^X@LFJEzvZF4Y_#P`P8^~p`&cUJ4GH7QC6o>%#yXduB`m5#Rjhxg`!`ScQ-Wa zxYSnvnI_rZ-Pr+C7g-jKzNx7?mglG*WfcXzwslaRQ*guohBB>{K*E@rF1jS4~v)q!~9{?6qpAS z+2j+0+(g|-P)SKvR{i_vKtD6YylTPGGoBrs*r!{^Z7I`||D~a; z;fZCEGsB}yN-j(e9xoU*AW_2qkn{%WUK<-t4))U-;?k%6Q$H_TvjQNy|`uUj~tj+aoov zrDLgbI;t?Pf-(DN7v~)qVzZ0DPg>;%v0fEySIP<>1E_y-G1oS03vf{Pi0rigC>@99 zbXg*p`u@mN#?$%g@fdq7_}Zr1ysKMZg){#it`=fLHYE!VLPrGNkxwb{Kz|h8;9Bk674mRn%mBf|vS${e& zVgQR=U+w;8&C0*^M2yFSMXs64Mhx~pEkBV19VC>UjLP2&+iu8wQ(19@L0kstnvr^3XYc)fvt$u1?b8%kdb)et{6lwNX=k)# z{&eW$&p%r8)oH1#=@e+ZVfOyAUnYC_L*arxnd5#n9r^cH@PEM3a|5{8zq)|^%L^+t zQBfW|4~K32;pkP~>4A;@M*Htb!BH4$mylqT+Us>7rd%1bSa>CW5dVDpi>yDG=MPO! z+`@upmj4;~`H!m%EI0~d$~*Hv8PA4iRP2xmR*?=$n~y4j+G6l}(otpxc++ z8&Gw*f`!ar)T26O5uhAWNNIf1nQRMAsgnOHRqBDC?o(>{=CNUQo->K-!_uo-J+O`e zh_;SVIjx+f)c`2B{}wFMx*tgJJRQ*P$`OVa2F}8eeyuSduGmsPDI=^IuI2L2eEYDk z%7Jky&VJ*aR!rCCOo7KW+ga6^0VJ_hK66Oj?8Wg&stT%#zi3y%4u5+AnX#`9e=w{$ z1&fS5eTAz>5V)d3coGbEkr%8^3l#omIIqnbgt0~OmElz-g8zSoebV2bt5C40b-hZ%)aI@tSDk6o^U%Z&=Fl z9z5dn-QI$J!);>y5v)r`ausi*|Ce0-k89_9HcN`&NboUkqEpbxXki`vbBse9<`uzm zbzA@X{#Z33uw4CFw`ol*-R6!dY||bbT!bucWBmxG>K(_F1Or$SUgc07%=ki@VG|Qr zzar-hKL)UrO}FE)V@|byNH?jW*!Wwp&I%T+-+|9^QFXxGJQ_Ij9e3g2DyL5S&=gR5P5} zPE6za>%sS7Y1Dfr=9E~Z3kR1f_aSh?a}U~C3+sW8S#)6lzeeGP$yiNoZi1Uuexh3m zI=znKs-iW15uPfbx(E_27Y?KB;jqYTb}++a@mRiM*GC%W^Phm{-zs$09u(k!XWHIP zpCdR7`M;={m{|vT;9A?uu8n=rF*JCdV5cfFh^XC8RAKU8>`DkMZP5A_3BPZc;ltdM z)sdL=O3iG6?Y z7yC%>=Js0*vQAM3g#t32515*{(E9UCLrTyEcl_EuOmnQ@qh5_|@DI+TkbpG#`@_*2{J+1A`%}iYW z)eY>Q09SJjnCx@+5gYTBTwU-ASNB7PfUVv>v>bs^53tEd4_G7N_5ajJFlLUKlzn2f zP(*Nr`TmZP)x0?=$z&K=Gdx=4Im*bLMx52-B3`4o)(=ZD@A1dt%&$0x61TC3tpfWb{{=ms5HR5kMrf&g%XV_LCCRmVB)ImH*F@ZUkzhWCa)W0BPb&O`HqxY@bH9W zb}#|Sa;5j=V#yVVckPaMRLnXLgUz(BTE_}EH~^;YRsL?AuDhpGaW3et-M_G+xCc;# zW;u9Cen|5ti3Rw~5&qS-!N#n=XtVw@X1xQa3xeBrO3`A@)+fp4J7ic|~rf%kazd70Hd63V+(aGQW5T^fAc{~Sf*f?|RI@8px{Nlb99Fo9p=|kz` zPw5jVnF0#M#v|??Bj@x{rSz$ni~)tJ!nISPcQ2Bw#_5O699Y~&$=u3Cm)!JKor1ms zZHqn`5=0tWN_}aSQM!fU=wL?g2F7ffCvHY;*hx9E6}M&q*QP*c8K=lo7fNpDVs3tz z6PGNLJe)qfP?FQDBFhujQs@6q{K^vqj9 z3?FX4f&$2a-x8irKwW{(j#5RAI_A{xr>8*87Ps~sPjPsD+~|I@F+E_FDhO6P0R{L7 zC(D=UWlQ-~kM{zV`Ozj39LHgDdkFeyBGoJLBNgujf4tLYnD*H|BCtPqLeftv9lMj4AeDasvas)jSCA$|cfR~ddiK$~&RB1nyIiAw-Hegcb zF1A%jTQP4dKvptKk?<{9tDjW>@}mj05diIduYDH*hBz$IQHdbhCq{EKGdmod(sJL2kEzf@Hk<21b{_)L0p0HTOcuBOjf8H3d()l%)x-8i9r5SP8$macO2h zU@HdS%iK|XQ*MS019F}v#nPMT^(h^ZcF&eE`-pYyZfuxj%}+BTZZIah{U9V!OB}Z_ zaswPbl_V4Fl@K~^6WK7cTR1nVA`XOHASgyONQrVI3Z(5eVuHJGV3nw}KR3Qc8m2^; zOYRm0r0ZX1b|W2Ci|+b#%VHb{DARP%#VXT`blU^2U{&=JJW&@k^7CONc41(c-qp}c zke$e4dz0vN&o<`8%wS6Jvzan@=yQcB4zm{ITO_h1{*s^a>9GE4yiW`|jhsPpvnb*~ zoK%VKS&`X@JZdRI$v6chZY7RijFli;9|NuXC|&2carXEUZK^8LP08*@P-QyeB^6~5 zW}0OLXVr|F?~Z)5_AWb(}(1 zwt1r<69bS)B1<#Kr9^k8LS<4ronkc<8CBl|_*JG3pQCrasa7ni3fK-qly=M)b1pGZ z0}7t{(h922IM$xIhjCjX1OIqkH?Zh4X+K@gHnp3B)FC#~$J9jJ8402j`BNxC{f=ayc<1B<$Itx3gEr+le879>7wVL$Nq zpX-$`={T&>dhKE__4EvUc*BPxRn4UO#BxGL2@->?ysnevHcg7n08*6Qm0Js1=*DL+ zVPuqGmP34 z?nGmsi48DQo{9~mCtLzrX`1||L|6O9f-I~FTD*C`ve)fY_VFdYafMN`GG*Qs;01* zLXk$zQPN0j=shEVl$r=m_AJ6WTPBR}t5mMd8pw4{Ry<3oWE1>p$a0`FV>{AT$TC^Y zlt~M%P^nqv1>K5q;`n*XEJw-~+^IyabhAPIxUEltAG3t8#o#B&?TPRJ_pf@-h7=ph z^6yaP9%sKIJWPkc|HbULX+dd;;ID3udCUS1)Lc>A^++i2|8Oyw3E)_=Nl+1P zh)EZ25~#YiN-@Vh&z>%I5w~2-2oSv$ThljvPtU=OyGNjw4jPS}pgo z*XX*JKsuLz7^$K+Rc=VZ$dEKE?r8o@`j)k#B}F}Pykg9}(ps70>^vcFb+T&t78? zZrD<%l4;kZAtDfCE#qp$QcEZ|b~t7`X$6jSPgy`u;~}9jwU+A~0IK(e%JY-%4wh6uh@A+zc{QP7sC?6)Vg=tCYm!*HI8j*l20ub64|2Q`!A-TE*7%5Jnhc-z z(w|m4e4|2WxycFl<|WXzpS34Q#_muI@7004?}#);-&dMFE5w{hbb$MTgr$xR6nfww zdhWa7eZ^3p6{&8!{BY!Bz%xY2i5RSnUt#HY;|ap*A;~g7HZ}dAnNm=}bu)|fAp+xm zDyS2of}f3O>T?xZAiBO;MR4M*u_45F{qUJP+@;8R@Q0^_Tl?6Gl4x4?TcNAjP|vuU zS=Su5nLhYF>eFLv#;lO9|I}*Ad93&Bfpj#)^B!~|a;St9jC9_xNUxw4D!Y_@->dNK z5F_nw3ogFu#%j64nIdRC9DMsBP=d*8pC&EjHxS!Thod9$ze&Z~?p@Ds2BCqwA|6S@ zqF9W^n|>>?or<89K9sn11kTd4j#h*nRS!Pr0c2vL0F}rLv9< z1GV+Ruor%=CF+?NEPKF`nsYM@GKCj%Zor@3D&SZ_o7`st_1gN23_x#0(@Tp0B`%X= z{_wf!Xy9LgGh{o{QhXLJd&#oyb+Ad#T*WH$NUbn1v-y^}`mW5QxMIW3rZsEztjyzc zMGbdzr=opu#fGiTL+0vB*?mEUpt((a#;RG_eMp6%wT*J-Do5FUPKBVO4NKOleA#_e z#mng8r{CFS_bnCOwl){ptKnt$^%Z^&Hbz;i-^%V|EBq{Ngfmu^%kHBqUMy?^GFFYs zloSlu+@}}csdFoCu)B{gE+`5vEH)~3r&kiksd}>K z!kHpeV5$-?)Zk!?yZTBOJ8%QgLzAkZnd}i!Djm+Oj5vC`E6f1C3{*;rwzlfe`)MOs z3|Svkl2&>eO6g=07Z&H6swe`pZ4MrCs%^ zaB>LX40l2;-~0wl*TgdU>#PyzrE_{)@uf9)Ti27!9v>F!Fl6yn@;c_zQB*iyi_hz> z@tF&lxw}plg~p!wx1Wu~wE&3IR_5Jg)O}M4Q@%D8xI4d03`b|9Tn#jMOZAHoz`sPb zax#DFU_nT)*V+@ai*$1GQKu!w znN9NSx?ooTY#pJ2Y+2Blu}lod>D)}WgM4W%tu@GD^#aGZ4dl2yo!v*mAhveZ`$?9op5DJ{F;%QG za)R9}Vb)n{DW_9u6cD04!D(S~M2IPB8ZlNsVANlQBd02?Uq!aDc^7uT6vV7MzYOH8 z=|&q#F{;=sgsY%i(>6GK-%_0-H;0W$8$_F-b8*mBLnAIB{X7vm-=;m_YOUSaMMuWk zH)xvLw;EhBwcQ-9OqVXWv+s&vC?8HBizc7c5ktx(wh035UOBJErMJ>`l0xA zS$#xL!KX5<3yuJ}=_Y*aIt+=g3Zh2Bw6fDvE6whVUBW3PVH^Z+xUy8cmATBCIXEfB zy+|U%7(X>}*wAQQVdF2z_0i9$PPC>pLV$Ng|pK=$&JHuDW9;DJc`HX~)h_$V{hmWJhniD~uz zo^Mb}oXui3W6)|uB)%Y^M;K{D%-!_aalHym1tt{dL8R{Nu|^BuKMZmuCWR)dZXZ3 zCn5U=svwi2%7XniioekVw(tb{Y(YiP7U4EAA{%bdPs#R1EFm=62KT}Sn?%O3x|$vXsk%HbRO<(@mA+{xb0#`dRNTYwtJu|;%X|;29yyR-Bgmx6 z8Xi8Gi2I)Atghk)DcRKH4ZqCKu$E1`LPgkXTO^S8#yU&^+FQNz;iJw3ck4|0zHb*{ zn8y|+AZIZqjqGw+_VSI{`y5Ou{{XaTGd{AOp?FIKZd@bG@LLLrk3nGw3u$+Kh-Fi6 z&}P4SM-)JPKM)b!ru%`aNH_K99|Ys3!_!f;J{yd}ng1rcr34cW0V*(I+$4!TfruXw zo%!Hk{l=X;}2OSlrs+PIgV#KI!%EdGyT0eyI?V*EE$b+Zg|I4 zR9Q*cNF$!!8}#xCpWWaF^Jh#zsJ~LuwUkKB4{$BoeB%w1-m5yRd{uFnSHEJV}YVbux)y0v9{$Bw#8 zhY%PhewN+4X=EU*u6~L95{f?NWZGFOYD*lczkwHRVg~kDp%_kmrrQ_?jhbR~*4MJ9 zo9_8Dy==si%8q;BiPS%bm}V-z!J>aCUWEp~y24brE6l~ESM^Y#>Upp~8#SQcfReW>ol@Fr zk5R;s9z)^SHwneV4l5h;V?;fn9Ctdc?gR3W){hC6re}yVS@C68j<~duGv(z$D00XxQF)@C#ee6 zU}Fn2TL&!{^SpNAEM%QQmqz_{5_xaHvWGH+sAQY<{<4}ZNjtw|%t-2O{WXHM^O1cA zlr=p9l`9M9Tl30Kk~Bl*m?R9>mgXQCQVH54O0A>`AfU$zfskj+yh}L~o{vZ31Q_Xd zC8pzc!~AX-r*ug2cz!!FQUafakr^S;n}$QQ0U@9epC{G1LjU|~Aj&I(g8u*kIBYh2 z(1V+-)PoLk5;`MqM7&Rw$6;Yqh%_P`4b@BDM$>_?PUK8|+^m)!L_mw*n=l*m2rD9G zh^J9KdK=_KH5e>2rzula+F?#bPoEM4*)w~r+9rs2M~{40<|~sPqQQPEm`GR#j}mvj zlKLrxI5lLE>*b)%OVv6w-@6=AAgjTFr=fUE!bWG!eYD~rhS}u{^P?ysF8}wnDbkK*~P8CPYpwZ}|P#=^d=dim}nf)>L zl{w`EA|Xw0_GC5@5*7vqr9imhfw6NvUJ1rbtX)>h#LBKZ9<0h`WOIFDhIfv0P@SxX zaq6g*Fc6X`2TJSj_Gj^6varB(?5Q%IF<(`2 z=9Rt?RK;A@yJFsgl2t+Iq`c-cB&SPPP;_pkmid%cG&$I5he2wR%~2bPBM|ToZ3Llo z8mUz-ma$S|l{C?I&Ez+rfKhT$lx#_DO#QMYnkuHg&*n)JN~a=AKP9PXo!4y|o{?PiC1;W35KAG) z`^sIRA(&{W{34F=*L@^N}Cu)plqubf>Hmrtm}!hT`axv!G-nOYd(#yfZ0^ zT1IxNroBewVX}V9P?F10&y7h+M=w5ofLvYzMSCh(JjEe2ATeKW0$OL2h&;r3l!bA+ zDI)i%UFBZU{v=~ja)*F~|Hw809 zb6n|kUz5mgTcsD_nhJ>)SCxrW?&!DW=Jw`xGYHP3OUf1Q?Rq0WX0m8b6AmJDJixj!fMnFa4;1=cgDU z=$($PW4appjC)}a?r@wE(WW*<7_TN8CAs0MJJ*cOF!s@oIHGSJu9s;QZ;uWyU5o)1 z5J@%Ph&YZ1;mi@%PAOIrCC<_27Y!Y{3)ke0M%5iEtS{VKpe>I}Oe%{_%-QJ7i&2U8 zTodu)G2~BU+KVW8?c)+E+~7S^5pQ>t^*-)&Ni%jMra;HuHPh{j%~66hD)O(Q#ZhHe zeuTSH`2q%h2^Kv0kkMT1pY(xSDN{Yt?Gvibnz2b!Lt)jY?e99;hnOp&_rCnRaFt13 zLT#&_LEa)9*prv;Sb!K55_EEe%KD1=z*#`sGQ?7ftkl)Qa;!OEt_eT0M%>9nmt5XP z9!`)2qeLt4#P)cGqi>oifaMTg>RWOyuz%~o-5DviF%$gakFEa^A`jC1!UsX!9<>+W z%#$;4T+u`zZ9WTUC%2Jv{CwE{GiUlhO$}x*WG=Pv7;5f^EEmgAbW0d5NiPeF>pQY@ zt`n|Cd?ywKSaG~BqX%IX8*$FbaOPigg{x?#ahqq56_G|5|R zLxT=rvt|UxlX|jfSU8=+5HABpG9=%X1M=e&xDVF}%r2elsTwgOBy~B^RNfFM07yP6 zvJ%tqHI+&pgzL=MGuV0y#(WYC))~E4{en3-K!7lc(6Tcd%)(ooUAQP7+Iwno)pa6{ zp1R_aw!;akE@!c5NV{6G>UT>;L0^l4@JOwausW``BYzW}ThHf8=*wTTsqf2k3wS0* zUan?F&|}}R9K6xx;qPN&^@tLKs2k%_Z-AT%mKbJBmx&>Z#KxWM2u_;MTjL&|Y`7|- zGV7ws^w#_N@I(8&Sz%pk?_K2Q8VB1e3;OTH(4M>;AD=|jv2en5`*TBKzQxi-{^~2{ zV~g3nF{`Cvt|U?xr3=xq)_m8NyZhsT{R&e%LR;Wq8o?lF$X>6U<9tert)^TlZHkoE zU4A{zlWD9H#;DE-{bSzA1W|e{i=7zNrx7JMS)g}|mOkr)cw#sJPuqDstOx6`OMt{0TSuC90+OBi633qkja zYHp{+6B6bjLWk8MYDJ*1T1IX{i~*bSEfE82JW7gwHN(iAzWpO_rQRXBp``_E+=?hn z7X({9++dA8vD!XPXKt$M-eg9-Adae!Fd|;eCfhY=w z+5|xaJJbUIF9YDbY5S-%$=o%C`n(_fMeGJd+7(2ax7?Q;*c9KlSOR_O(ayEl zdlePK=6HJNc}$zOZa*Pm)_Y@ERfB0h+MR;4A+p?X&}T)6ep`@lnmPYO4D+(3HRxH4 z^whSyI48-Avw&fl*v+#FGa}UTm;hWi!!l$Dv`*+3?jXnu=i0TgtsK=}ZA|@?@OS^o z+N<D)vlZQo*CiOqOvBiP;yT`0AsZhsf= z;wfcHEwS6*An&5t`*AqwrD6sPB^?EL=g(vIF-lTi1`8{FXEK-riX^DiS2Yr&xNAV~ zUiO+j6=3v(pVWcDHJHjUY4w^J9w&KgcvK$Yqi7JfoAV*$EGgcQ=sr612QsX4JEv&} zrGpDZl9j%gM^bIiw*XXR7WA*s0H&O=*5Cg=<`57?y-#I%pj|x@^&eYuVG_Lv* z+RHAlo%1K*8p^wNWn;2+!8)>MzYkNcB)9ub#O*Z?35$7fp8ol#7JgfP8eP3RRm9X< zZm|PQ?Hp!%8^O?Z7#4S#!OiNy#cX^Zue5{L3Inyj4-YA{Ezi+I?Z{{26OZ({=Xq>j z{*X>-UKi)?qf;m#CQ=zC$tn6E*i`;|6oNW?M#m21&HL|6s?P8C&SOJTFWZS+r30kO zby46lu$KGDixqLtfaMwt37Vbu}1&iS-=^c$$gzGoxTSiwZz< z2(D-?Uy^ph>p55@B`+S2+^2DU4d;ZNQPl~)#L`C73p_&9(|HrU{lNvTG0C^-cPE`n z7$NbXUvLhk{dU|36h-$Ym|mqr_%3o)NC$EptWJn85qhqYREBTdNJ0TM-PPX1QQw!S z?i44pu0~*c@sd_$lxc(aHtgf-_xOH4c`zD+?%$_-oc>UX3vZc4(!Y$~F{P4s;2`sb z@O90|RQ}EpvdSdRL|ZB^i5Mmf1472Cg^pHR43ce=c!XZYWi|})7g-?Fr3so8$A_4{ zDCiSc%sF?4w}H5*X584rVK49&I~w~oERMnT6%Y3*p=eD>ABdg$S;!R~PxA4(9+%!a znF-dEwv*lb8W-Wa3S4b%cZvV=hZCUf>w0cpKJSa@>?XYC+1mkzU zCZ6Uh0oj}Px^>P@DzaMvgD`^t7Xqr_Bhsf21RfbsvgG$Ef5AfL8cC+9Pb)jWjAZ;s=SS#NtJ{x zlaVB(c;9ahbgI3kt-Zvr9e5`rIp{ISH}T+Q>ScKTxc8Hfrf14Le#@@}N*J98*OpCy zUkPpy(Tdno%h&64V>mWnT1-aP3PoRH`-x)_R8cLQ?3b_Gp}X2<3hg+LUMnq!uu-Tr zK+sK@HV;(rd@L7$Oqlc%n}#LIQ_Mcq5kW#JQzV6l7dU!b>2@TteNHwC;V@^zqp!~A zliIV+L}?6C=ALeRj+1%D9Z*seXImd*jT4in0A_i$8wMOisZE^p7v z#bMkw1Tzf^-bmV$AfYN8U0E>2DOYW`rd_VBhxTeopGVY3Ux0FwWp#C_11fC1h-)tG z{COFd__y?>qyrL49|ez#sn?I(bJb4ln3SP4w%sFr4NBy#O^3e8o^y|o$>I1>jdKek zqlnTD9U8yDyy%W3b`NW0y$Z&!Ozor?Yl3`nJ9J(jF0Duv}T1P7Oj|!;G^U_d<&UEaKx1n_Fa`MJpi1ONG0$%&s--SZ}@wN63XiiAV zf%ZxlO5Az08ofH&y)mD7hNC+4h=c;PNE<nUKPFPjGmGy!xFE1kXKe$}R1x zOYSB5l2|T*gP1x^9Cj4D`W^2YD(q@D0T@l($WfNI;SXq=rZ-A58+ddiCuPqkT0KAG z;B<24$tPY)#Oo9vH+3sKBQz%f4%U)#3^!1DJv~Ev^PIm6vi#=hImdRrL^A10ou-#W z*ga3{`ZHD)WskU>M?Sl-vCEKTNjVEpbFC0O@({C7OW@EbK+EhJcwrwU&1SZF@>qAs zy{ED!cp@SNW&-p#QoL>B*qQw&yPiz|`q-&pdGBas`ws}3IGSpB#l&*k6`Be3feAn) zM0JNPkrwNrPfIc3#qT!>t$K+Qp&jPEHTx~3IMaYUE9Sj>PaS6)oZ}8N!D2E)kiEd@ z)&7V4CDi!(&P10i9{w-ypm&~v*x>AhN4t}CqU#Zec4nK_68Y z${uZtR())IN0-|(2LJP?kASXhUJOnnrYFKW3VT|cq}!z=+q^KdIr<3k492zzD2n>H!meg#(IC_23P9mXEl3vB1JNP$j@0xalDRF@B4TU$_{R)r2i)~Qnac7{+ed}b^>Kehfx_mq5TllB*IFCRNGAigb$EJGu zf>B?qZ$mV{Lk6}6Lx$dMMk1($rX_LBWVzbm$(D!q!k7cn93>MyV?3*m z@=R!-;3gx92rn>uoX(!H5I)O4Gf3w{Py&Zlt>)gYIjTs1k#aCv`(0Y%X)370!26_8 z5Q!8Y<8PX~=Uoc`laug>-^wHvW6g8Rc1d^cNybW%u;*q;rHgk+ieM zD3DNa7dH;WSwSw$ga12ZevVU4xfyTVSzmy)lFx)0>!q2?PvFPEXX`iF#k-SltO;*~ zkP=Fa$9v30-~(G+*a`h$-rp$ru~Uh+tQou8+Y`-Mc@3u3XiLV$B_ElSRoO}BhgRDp zYIgjPg-Vynk1fnRSJr%tbj>kjU2KXLoxHtOp?OS)CG=wE%rU2X|oS$DyYax=QwkhZ3n+Y}AQ*e{=zkI0X#D0Q zhpqriX<-Oko)%a`_+CwV&i4V~6L}|CUfiZcFEUfRv~Ej9uAF?M#()+HVwYPpwoz3& z?X+K05k9M{z<6FA|JWswK-nWjVm7#)NH_kti}UVZNqPRft%IkjjUB*5KyQpP$0Q$1W7+ zyYF4TQ24yvj4otk83XI9{MlPce^#=Z>6ncUlup;kBjDrt4dLzZPylCm@t$`v-IRvY zvO0OQu;ORoIl{CLgwH@S$; zjF@+QT#vJ;h`Dr|UwNM-$1Zj?By^KJom^Ud<5#b{X517vMgWLTh6X`822nK))Gp=4 zMq!!vB|;cmHM~y;V}}U)uGaevi`r0I>AX*=W4o0p8dAF`5{Q{6LL=-tTqq8P`yeff zHQTv%?A#NzancD-I zkIf5}OKK%QKVFS>x%Exl2v3YB^utJd?$JPsnwxxgg?J8K=)0*_@a)kK zK071ba>L#-+9eAHz%|82xZc7hJby{tf{^b%H?rQ2!Ou43hl$tgZYMMNm5xN`uO6B_ zmL3Sx)YMEA0%_%}*U1@zkhP8=5D|M_&^`=oEx4e*v5*dc^E;xhHYXV&_JINpP7UUQ zcsN%_S4hHeTDoAWqP(w4OMMChdjkaEm)h$F?DT~iE6l9dim>p)FgSAC_Aq&em&vK( z)T44HbNuNP&M(EGltVga->$n;i4(o3Ru7ti1mb2eKyGD4F3AQ55AD&D_d4*9Kw$n5 zV~c53ET=T@lX`?uZj_pm3(Mw)nOs+0E^eGwAJGfmlvfhGw@@^maJW?|?m0;F8ja(bB55oL3}rMF!#49V2I8Vq>f6aZpT_-SXZMB9)l#n)M!#V3eQyUM zolO)sSvf#7<$eCWJs;rHGy*gl{NV5&1vaiy4XZ_y4_^>bCZjht{AhS;tCGy|rJKwgV`Vjyprx^%eay2ZZ8W`I0 z*yx$t_?|k)9tGVtr4J$Z*JFo~rFO_QI-bI19#!QK7+0_~9brkG4i*hQAf{X#G${H> z|HkF`36-l1d_-!*?i`P05b^sMXOM%fc;Q`2vq9rNTIuG!0PGd{Wn?OD%BR;dp11a^eW~icGcJtt0D3Ylef$ zwc8z0?3p3{3qR#=fByYOy$`icc+Yn;1!4Wyjf>gC-F!)X%(tty)Ey%@SEQ%|)w&vg z?%$xLx;!e6&dx}f&FVIK_JxEMt?%Cixivsbd1j!DO%a-)xJV_=)W~F~;b}HT1-s(C zg5)qIK0dq(J2@seZ92SPatiw8F8ZM(ZXt=0F^zNMQZ%r+hRevl8NPf{%-?C#enDOJRr&wV9UsjCf1Vp-;q5}s-m z=7XGD;l&zGxW$h7=H|sF>2+l&=TY>30CGT$zxH>G0?cb5PTGB=`#HuSL=ub*?1JfsqB9Jg;mB!t51g9)*`F_K_QuwN=0%W2^Wx^FcE=cj3`ZivWGnULmn}f< z1~?WRyt1(c`7H{t9)+w&qcaBgO?P#6>)G<_=CXuij72`8i1hOwYhZ_G~J>Jl<2!w*VawIAETI3yZ0>cXuHmt zJt65q|D) zQZHb^CHXxJknY24l6|b-{cQ#O35@m*{8(rbqHtZtC;pBEyJoR`<%*?K+2lKwDB3hkG?dTMKP3x4sr>5z_D><3z`1x*XvmNnrC zHQs7WOqGOBvI;VmyxmP`;K@tDtYJT4k_tm8SY&DAidn#d-LTmgui-YWU|;B5(b2YC zi0|2LD>`Pkw=Ha9AAP`IIZ3f_*(=1aoJ?w4*}AB)y%{feOiNa_?#6Ss5m@$I7;;ma z+gEh3TJPQ5v6SB>DM&s;yv~D?4zQc^0Tk zuxZ#RgwC^^-JOY)#DJ793_8FLWtRDH@hP8zVdIC5C|K0g0j&*jjU5HUXaOAt?Y^w> zpr*-ftqU7FP{OjiOpWZjOXW%C=k`0(`>CpUvZOs#Nry4nbO@@Zrly0su_T~>YyMw~ z+yA%%W?8zuZra|Q>c72-Fqf^6TmyG%_p>vlx#TsfK77ADM$C;kRk-gz1q>aZ225y3 zCrEi`PHkKW?XV`|OvT&euvEdD1sBO}DiZNC1%B4PVhE?)zTFc@$bW1sfjrr-j3u&| z+}P4m-`vqOKH^NHWS5l6221Ge(~*H>IH82lX(S&n;t~SzBJE;AwM)RSXqN(hnS@^s z_!Sa|0KZkjZv*^x3BLpIJ0<)s zz}HLozW~2m!tVimgM@Dc{9Xy)1o(Xtz8UcQCHw)vAC&MdfIlSR4+H*)gg*-SV-o&2 z;7>?+C*V&?_*TH5lJKVie@4Qe1^hV)|2N>zOZW?bzbN5dfWIW+F9ZIHgue>-eBmm+&tD|5C!g z0{m+U|1aR*Ncgvae<$JJ1O9`A{|NX`6840e2)k4e)dc&j37A!m|L+mhc?Fdr5dM;CT|> z8}L37o)36m3Ev6ueiGgv@BtFOGvEahJ`nIh5i#9s@is;YENKOLz(3r4n8Sc)5gE0A4BK68J zbd&VSC@=9wJ%iN(P8D#PfYSx65pWLy_Y`o3fHMW0C19<9vjyBsz&Ziz1#A#-j(~Fo z+*`nX1e_<}z5?zi;Qj*sL%;(BoG;)%1#A>>fq)AITqIzVfQtoOBH&U1n*}^jz=H&A z5pbD+tpc_QxLm-41#A~^g@7Fbt`u;UfU5;OM8Guy9xC8r0v;~l5dt15;86mu74T>Q zj}h=#0gn^#cmYok@I(Pm67XaJPZ97`0Z$X~bOFy0@Js>E67XyR&k^uk0nZcgd;u>I z@InDE67XUHFA?xk0WTBqasjUp@Ja!%67XsPuMzNC0k0GAdI4_`aGiiR3V4%%Hw$=+ zfVT>Gn}D|qc!z*@3V4@*>jnImfOiXckANEl+$i9^0&WuUJ^?oic)x%T2>76YTLgSa zz=s8VM8HP{d`!T{1$;ulP63}3aI1h%3HY>t&j|RefX@l|Zvmed@C5;16tGLcmjrxS zz*hu(RlxrU_?m#P3;2eBZwmO9fNu-5HKR3DPUAUOF&ydN5C`z(*?{BFjK%R0kZ|n5wMqlxdP@1 z*jvCp0_F?YSHPVF>?dG<0S5@Uvw#Hx4is>ZfP)1bBH%6p4i#{ifWrkGA>c>>M+rDu zz%c@j6>yw@g#yL|j0;#KV6lKD4DLy&QEHTdTMpPbSlz(-hUn@8gx(1r#i#(+V1XAJ zmEby@z!-1r3XmGR852a}YN8PZVA{x0n~5@SBT+XJSYfzKEEahMFu0O2%Hza>5&CvF zCSv~hW>T%O)@4!L8vjss1}({033^Ej2s0Sg)6X*=;TJJ0*1%cV5SdNV5%`K z+@K@xCT6%nZ%*2v(~TODc&tdQttU=6?X6N;%}cw7v8PBoMx<4<)51w_lai_;>Cwgv zW2Q)2gDjEVU7>_`v4kUeq*rZf%ra_OJT+z;d$C5LMx9X)jh~Tu*l1 zKng}~AOkD09|z65n+(<#-9rZFXMy@8LpG3IfMzJC8CGcoX>#%nL4)ZsB8kaDjhD@Hv*tWg_CZ2S!K^EQzgy2xoAF)RDz_t`S)PMG+2s;ksBAR!R0hsnG~y@SE^ z>fH!Io`ATZ=a5CyJQ)9LFpgMLD@=(jYN z{y_6Ub@Wyuw2xxZos_=<2OX)*q@$Gs=oqDmmMI6) za^-khshmT1SFWNHm3wHF@;IHWJWHo2@6xHtM|8UKBi%#!lkTZz(wS;5tyKroIqFb4 zPc5eVsnv9UbzeGPT}uC{E~Aa=D%zs1p-t*xbg_CgU80^!m#TL_*m`=PdN;t0bQy|n zI+hH8HaO3i3rqGqXo-`Iy}{R;{y^p$`(PNz?mdio7^YkWI$>X9Kkyw-t~T~J{z3B8 zr6k=r0K)Rr!$`3)-}oo=E(mm?3QYAbqtRFZlemw1wXqQB6w+6{(pUsaK_&gw%Zw)Q zX{12C*jQ{V0X;fcy}(!sK7$NZ&o!FC7a=3mvy215XOhwC>Bd3ei;{8bDMkzUED~2w zG?szSCMD`|Ml0mukaG2CqYZp%WSZJ;EH@4&>13|D&}au=25C|oj1^G&OwyrN8y(=w zBFCzw#!B#IlXKKz#wzgTkgL@`#%l2Og0USn4gp`Tu?E^~B&?Nsb7XIb1f4xKh2>Fx5C{=QPCwu%#6lL(Aqz|RJL(#vD#QrB)Xr^)?{EHZe zMbuNap^@@GV5-YZBgWx>k|``^x4yml{z{rAMM%vd5#tEWIFeZo6y!q|eo=udez1j1 z=o_Luvzg2U#Xl>k_-g}--&5+dQK?5fbT33r53NHqYLr^OUg4Ug1Z5DKx6Jk;WM}vr z41c5HZ-iEAts{eVbo(3V_TEhD=Vdn-Dze!~=2Y7G_Lf}hW^UIUBNP(y>j!_A0oso% z@txO`xvmm7nG$Eg`RmEvo*s&NdT5^nJv7hNLw1558oin9J1;XoU(4PPB>Dau$v-@u zu+KX38P90+dUAl9er++eawBec-Pa{uVOj zH|7a400SQ)`-0aQvxzLCV6AKFJ)~(J$q-SQ(-~R?#tNDzLKj*gU05sWLd(~M`=Bm# z@*S=VXDcTwr@>f9_&AL3)09UTd|c^7$aNw44b~F`G>u7*0GWFfO!=cpUl?2c>2aih z9#00-6G)t%NUG>bWHvpM)YG%bT6!)ymYz>epcj#o=_TYedO10hUP;cOSCeb$wd4kR zJ$a1YL|&#hlQ-zCpxtf*jkb~eO7Eq;KywYG571rd!?X%C*cAFCokO?M{pizl8GVL! z&{yah`YJt-zDBR6Z_@keyFmE?P<{e2pVGJJcl3SwJ^hpZ2s-T-Wf%H~GE&i%awVeF zD5i3NVk<`|4%9ghYMh~*p=2uODOt)DN;cF#4{F~F>Yt}PrSxXYg=;|aUJGq;v~div zX)iK{=@Ofs=lTA0eNgvTjblOkSjrhfzgQ?YT>YXv2KwbV)Gx~2u6|M08^?3~qTFGe z!1arAt8pU4f__nMGEM@YLE_3K#>t=$BBV+=)i?!wCiL6k#;M?oGC6-W$=gQO5}V1( znZCRXh{ha{2fD83^xp>k-Xp1Il3(GUFN}Lkq01>i(iW$f4_yQQb|@by1UMJVa++~ES1;OZ=w2I!$)20ZVo)zjg6d^y zcwK3hnn9&ei>q&}j9B`Dsv@{E(jWfH*m{?MawY^%HFncV&2?m)j_wEp-N6xb`$l=Nia+ETQ9HY!8=PGsN0;Pf6uk1s% zD*KV=mHo-f%0I~a%6#&TvVeTAEXL0l(g>_2(v*W}Uu78`p)7|rMhC4>R>PX&5Lid7 zq4mmPbb)dtZBmY*?Xc!pqntpGQck3&DJRoQmDA`I%31UlAVm#-6) zU5xW^oq#f%%psZEV5u2pf@CoYkDy)4r8UUwT}sQ#%S*PAQet*TOK4I#bG~tbkTYLH z_E}I3nB^-$&a4W`nbpbnuRM$O5VTmW;1-tcp=%IzJnQLD+;>XjrWQ<{}7D)hhfY= z0;Byg80U|J%y@!~RyxUe%KvX#tJo+3+?=RsDy0CM6LkQ1+xGnD_3%aqs1mCBps zZslFFS$U5D^inm8UZv*J+tuE5i`s|2qzoAg&+aa$r+^Cz$;Q2bQYP(b`&yTIlYWoeChNx zAs^ClVtMi*1LVWSC?DuHS3b}`jZ3(lM}IRe<#rzZ*|-dRARp)t#^qc-&~J?^AVmaZ z(AUP5;4{f+`h{^7_@ZPyebcxaEIy0uL7!zi1vZ&SA2hB3p98&ihjA^GDvimOZ6tjg zISNHEI zc8F7QDR`Z6J(q%@f(&R#LPu;S$Ac6+At(h;3`oJS%0J27A>Xcb!i9{ro}4Vi9>&9J z?i4nGIoEt+v@0Nx@u{5gY1_A60&?N>uv|Dp$b~cD??m`J-IEKEk!X(yxey7-g%c&Y z5b@>087LRbe3Q$C!Q^A|88jq7ItZHeGrBWEI*1NoIF}1Y;%e5)Qneplzyoz;bOklILx034<+Vsp0+=F1mi zPDZes-8o4I!koN;&B-ipPG%VE#GG`D8@bM=QR61Av#DX+jB778n}!l~8#FVbGlw9CT+VSG|$M-Jv~&`HcryyTjiAf~S@QP6A)*+MI+g6(Ga#8SU${!zjNU4sqjoVhY#3ud$O9> z2NSZHF@8NcFX_yP2-{htU6q(NvYwpp>h{g#f_eGcMsguL2ZD5_NH-x#o&(mCi(Hk@ z=AZ868s({@iBs(2@D#g5OtDMg?`-(H*qdV8-HbUq`DV-|fz6oFLiLW`uIhaoS9IzM zm|`6;#a6)-I|QcK8kk~-!W26Urq~f=sCpzBp&ms>tH+XY>T#q+J&Clbr;v8_bh1)C zlN_R+Lk?5VBS)$ilB3m&$#LqXFy$^M7pqs2d(~^nsqplWYVP_=h>s`gG#)!yZ)+V!5Q{gvN{-)5E(K|ESx{PB-t9rNXN_MGG|sOS z#<^^|r+LQiRcNcH^J&t5J-IqytHV^khEMft!)AB7Yj*3U8InDpnVXrJ$qae0?2{St zEThczQP#oVga9flS_SilqdyAngF6f30&g+%!Y_l4AN zL85#I66FVwC_jNj`57e2FCbBV1&Q(-NR&T7qWlRGL7N_SY10kY z(TFyLW@$rdFKq7UwuimL6eq-p<9Vp^k8tj$+S z0aj=Wn521%^ddKrRs&xIWI*>UFgAfNleUt*n4zCZ>&d~)(9fWM3h9%96VsDEMIe3d zV;cd3y^Vl@#%8ghJHWVKZ0PP}Jiw)o(#LpEYy{*QTlj&Yl5IT1r4LB6hnb;2PH~J! zz-N&OAk7|ShW<>DQjal1e}DQ8Gyc<{Z=W|F$At*n0=7unHgW^WVDjhEu>9GM)!&Cw z-{{}Lm6ay zs>^$=rP17IX6aR=1%q@RWaV0!)>S0RwpC{Xl8IXxR%RK5u}#)pk$4lilaf-Kd+(w| zSYW2+T3~1eRHh-8Yi}a!VOFPYSw~KS{3iS_^V0+QrOWxHZ}BZd)3Xe5Gcnf`cU(S% zKShY~e!_oy*f9LpjxCYy?%oj0j|7%T_qdFE*x*grr`?eJT2shW4T$NDVKIHL5YzX< z-yQI`F|~c#JCg6y-iu;7BR>Phv_U$^dCbQCkZKg0bf_{#na1{QrzmTom8U63Ft}DZ z2BFxu%|p9iJD8YSJIT{JNFQw#>8q_K{k20#fwl%Jc^Db09YscHYe|WAG}%=znzd6&hjuzSLOTP*_F3c{?HqEYb}qR_yMSD;T}W=#E+Qxzw`iA; z$F<8ymv%XMO}mEhI!wEZj@0g^)3tl)9Bnh* zU%Q_!&>o;|+7^1G_AotDdxT!0Jqn`xae9yT1l_E4(kHd8^i}N{`nvW!{Y2}cUu!SX zAGDVhs=caYYHuk6w0D$o+PlgW?Q>Yn^c2BSpa`C2ilEI?1j~%)gd#Z5__x>*USd2ic7zuhF9=1@XuODKC^I>4 zBRSj19AR?a7FcI8nMWy1zchUt8BUz-&`^+s#u2}g4CN29Gu;vTUj2V3XG=THN$9(g zvR%eYT*{g!LACnANd4z#vI(T@eL*R^x#ydbRJt8`g}5Cl??Y#L=>3Rh1+PP9>!mr8 z*zT3v3vU$4Vl+25H?xR|%p4S>xqJsY7o{zT)|`MC%?pcB%M;tZ^LuZp?8C%p9v7p1 zBr$4vVl+2DcS~*#6QlG^Ns8{o{d5(Vhr6vO54hHMmax7bbfs75vSYS;*-z>z=(Zu`^pKlVG@MiD%H&zzF8afs@tx@z-;X31-;cV+cW(E_ zH@By=(D=^tjPE?WeHbvlvnAs@&%c|9#&@=7eCK(__aokY4`|xQL}88mEEM~ry;?jj zA|m;0cWlRML1!}ZfckhMtUewQ>f;gk+YEnCcLVwlJ~m70Bga=CkD&U< z&(BBop_9kSN8|(O+tq4+wE*TJ!g(p_&Qte8DAdL(yiKe925RGXP#a+QY1>F& zosj-IB?Y=d2J0#rs%vC~u9MMvgpAWo64#@oM7Kz}Zj zs`nx%=(*%{J&#f@-b$LVmrlve0vba%aiPSq>v41GMEr|(7=>Q!{HK8d#Llj$0L3O!t(M$gjs zq}S*(=uP@8dZ%7XH|VqJqk0{ER&Sus>wD8KeI9*9-;aK(?@#}$FQz}}OOy<~S?Q;@ zDkJqaWp{nKGEF~Nsnu5~d+Qy_f%+eSTZ&Bm=t?FC| zo2TEd?g#Jyo!vX90+|Xc!h)ixDTkR*V!e<>E0#B zsm2@PlH+9KO>xO_qVX1Av#7fnZ-WmnIaV6)fDbP@mKpDgOOD0Hd*YH~%y^%zS>ozg z;{)*FCC5?5hvJgsaN{F($#J~8i}5k|(#alb9$VXFka=o^9c*NhrOGeHC*aE>tCi2# z)y8a8jId(O$F&W=4!9|>9!S0_2(Jw!&Ds0^!$eY*{VLhgDaTtn<^Dey<3j2O_~$RA z{$Jd5nOk64^(*PKjqLgVEvs@L{QIAkRpJI^?Stk=&fn(PjeYW|@fo*I)Or}p=`bVD z-b^|{u{;^HPqubzpCs8>PFqi&O1g$&o6`AaU=8zhN=p%)uiS)2cXAz}(d}GYti)uU z-pkYJ&$v1ra(dRyX}gzG5;gjBu0{_iw10;c+Veu8Jr93d;qTv`LbFHW3kRXl?2tm+ zDk(JES7^_pLQ8`sFWa^n2aUfMbQr=@ppJXd6B#^(o`z6tTWug?U^)K~G4+Q@p8hE5 zqdyLc>0gmo^smWV`hP)jeFKW?JF-pxkt+HxRM&q4 z<@E>ct8b&j4N5Bvh0Zb@x|gBTdc&aej0jz5nDj&lJH@c*X#meO(%Aas3>bVDfq?&< ztvjv*0sjT~99l2LwT(m5JGVL+#PyeKgL{p)!M)n}N^Ed<7+;GG?t_j0iVf~o;~TNT zeUR}j-(sRmjqk(;ca!lw-(sQ*j2}>3vvtQr65U457weAB?QFM*?V{Y>Q0DzirYD_h zKN>%Y4VQPI9KAq%U%#2W08{P7;8g4Cc`y5=;9mC2!M*HPf_vG_{7?7LR}szNgWFzD z{^J_gHou0F=}$8@vF3}DFT8WTKjC+-_ZO#YBgLuOWN8(Vm7A5B!KP;BI_WUMD|c;>5{}xrZ0ZpM)8xApTot^p~?cK z2?jC3D`4O@DVH*Mg>n@_VMkkJ5+O!EVjBHPp0P9OV+L&#ub7c$fs zMn)LJ$!KE)8E1?n6O2)0rZJlAZ;T-a8Dq(zMlm_nC?RLVL^%(*J_!^4C1W@8hB1M> zZB&u>j49+Rqni9+OeH@XHRLyACi&CYi)I>gXm4XK?QiT&M;h~Jv9T|mYV1d68VhKH zv5@X-ETT({#UK!t&|{3HAVAvb8O92Fld+O+Fb<`U8Hdr=j3elK#*y?}V=ev3I7Tsy zW0n5Kamone6lJV&hO(=1mNL^gTUlUSsx%qrDNBs=m1V{S%4*|65C5t{rnwZU+P0pj27{9XJ^_$4?%x29}mI#4|JF?e% zTPc@=!26ADrJU|c<;@iaqsXjK9QI%2CEPv8R4`gor)$H4!TI z)K^6mzNfA%iKu)}UD+q1@jZ2=CZh8_b)}Noo#`+JK>FeCKiggJg{Of}k}M`7Ur2FB z8VwwtbO7<6%izvT1N?0Y?&eJZ){&*&W17!B1z~!RS^iEo`C4K=0a^S-SQdZsf6ToHm=wkKH+)X@%v4RzX<=c> zu&`v1oO8}W$&wX8K!SiENx(#sph%D$1X&Tp6+sb1QA7odC}O~XAcExZRaN)Q^vuq} z!oBzXe>~IFc6W76cTb&sey22Ee2Q;B^X<>vjUXF3GSO^0En>2ug)ItHJZzUDmn8~DcbEu1nP zhl{2YaK-d9T1>xiK71DaroXYQ=^w0V`WHKyuHXZv>)3+=4x@;psTIdl8!n^{Tt(gZ z4)x<+ng>6lsd$p+!%MU{UZn-_IxR>DEktazFeyumlM1vbsl?kVw1niXi@1HfJPJT5 z3new!$wDq!RM<&le2to=>-xGbN1|Gkqn0=IrWVOj3r0C=8ntR1HI>>lj+#R4nsYix z9TIj@l=!Gq=15c`MhQS+{MWcB0Vpc$q@+k;9cM&?}=T(zo%?0-y_GXa$uG&>eiU$Tl__P`49GF z7M$kH@~?PidFIYK^4WMD*%zOT{kKfU&Phkkr_+%OXTrHS9hoz{f08piu4ft(vaZiZ zd5|rlq+W=?@N?2|Opr*?Tt$TcjuG>?vC=@%W*vSY9i0Qtnu8- zd^^LptGUyE&m`A>FAJXQ340>?Z!J<+>c6$f<9t%qC8K5gI2kWmP5*TWgb}R*j8=sJ ztqvht6H;g`NTszQjn;uev@R5-^`Hc80HtU{C_@`TE!r4b(k9T2Hid_1GkBb~fv0I( zm_yscBH96#(vGl^c7``-7jA)eg+ufKI7++0x3oL_Mtj0P^g;NS_C=)q&`JBFhYrHx zbO@HAk6~ED?db^YN=IUUI*Rk*F*t&b!%=hsj-^lG6LbbHrn7JjeIB>b z+4v!ygJ08m_#>T<7w7`KLKhJuT}mwU6%wMWNC~={)S_ERUAm6cr|Y?nxPi2%8_8&X z>~Z=k*D|+|iS#wer;mUi{)H#0M{2nUk5RAGfwyUXTQ@G&{I)JqU#Iy#8RgSsIiL1P zK0PSPrw35K#;5zzfX1hL)1bzud(e=k`946yn&#Vurl_7-(vjxTG~aeKucrCdr>UCe zTT$ka2+g+$%_q{vx#k;)YQ9uL$W_fZEHvMLG&S*b9G|-_0y~mW?$-e0w;+5EgK#eW z1pmai^xY3()DMv@$K>wEOU}{r(=;vLx3UW9!*f}1jdS$t@f`g|jH5?+&P~CFP4Qfr zavpX|<6-eQI*FN9`DbE+N=Q^vF{=Shv&KeQB!{C%Tqa&7f*c(&AzLGClBpV!iz10| z(F6fNBLX18MMrVYg-Rk9MMH#(vYff7IXwcRY3oJfPBckADspl)j%pSHBg#SLUW|j9 zq8!v5;h?DKIVjQu4vLD(L3y`raD%rrcL^OgbR0C6(1A)E@U9ka#;trpi1rUrg$Pf{ z_76NQT1{*Hh$|>ScXJN9hjY;PI0t>7bI^U9gYM@X^Z@6WA99ZQDKw;qp&9)QI@2$p z7yS|*q+h{M`ZY|Y-@sG!I4q$*!b*A)*3+M0JN*Ur&|f+CJO!W7-{2ei2mDM=!zp?e z{-EdJFM5r0(d%fZH!+1NSezNKDKlYPMzJq5;~-|m$Cw)*XMUW)g1DH4a5F22TUj1_ zo#n-yEEV^%e0Yi<`-7$7Y2Kb?g`!!z5Ar)IAk!s=!Z<4Gf|{|o2AVOWT?5T9d_9&z zf#;%*&fhurDCCU(&)Vs1A?NB3gp}XSAr~er51ITFfNy9JTOu$*t5Bik*U6 z_0rN8t_kXm5p#qq6%sHP9aqY^vw^`s{1f9oId?VcyJiEiC4wilsTx@!9>5z|-9@$IN$^fI=igYU#A z$HozmE0KWQ8UeZaX5pJlt>5!nbbeP85f)Y+7^?sQRtZ9^3Z$~CP=i&2)~q_TXEmT3 zs|meW0~o@Z!Z_9(o?$Iu1#73P(zP-&JK!ZgJJQAM;C7liJ5pgf6*c7)`KvnsZ*l@b zCSI`eW!$SQMKd(?&*vKYr*9T|_^b5Bze=CRn2nW zvWQU}i?|hBQMUpO)7^ffrn=6A?0IwT6Z{J3S2=Ou_IT;UzWMkTit<8Zy5R8|FEqyULiFi)p)tk_!*Rf&R4jmn`EMZF?)()L#`|U49eava zn=1>T2>*$D^SRQ8&y~J>uJnf#Hh|BUhars(fl}-dsKACoRrV+}X2YQ+8wEYt80f>s z!6Y^jo@J9^KAQrI*;H7=ro%Qi6Lzp?;e9q64zfA$8Ji2=v-$8Bdl9a&C1_(WV*$1n z3$x`|l&!#0>=mrcR^t8qSa-G>d-ApqQ;XzvPUB{cX?elT^u$i*6Z_uS zetxkZEk@_XG+B){COmemdu_b#WJx()Sh)qd)8PvRX0jLe?C`5IZCQO zRipGO@kT19t3+Kg(MS!&%HrkM4VmUobJdVT=J)3pLsp6p7-1=Oyo^MH)*nj-E1(;% zpueE2fE=%Yzd*9_N~`0QNlf_)L{h$ZAGO*ZmP;&-7mgIiQ{R^(6U#>fO^X+=$nOd);9}_ zy)3NO)zx|jRu31B>Y4IHxUi^zw_df}-P^IoVn|Vs%fOXe7q}9qYlcI*2v}jUr&;~{ zuliws+)01*q+gs2#GMR8PX@%vaNNmo^kg^^SSuV3Mh~Xw^y9)}FQy--MD^psQT;fs zJRjCdlnGjSKHhB`=H**0DH8;#?Zny$oyDnWp}sufJhD(9Rte|P3iahl59f(WjywsH zBd<ch%+#bGus_pa=ghU z$6H)-yv-%YE-pFV;gVxF6k>azD0>%5u=ltW*$ZXZ`%s?kgG%fJsKO3Fb;h-9_7T)& z2ca$dm}?`Sz%X`*OO;PyHaiT<*=O(?`yBSLFW@jc0w>rpIL*F=8|*t&*biu8C(y%w z#4tOFdD+icmi>nH*za7cK8G#XKiGwx=hEZ?mnIi+47-XG*)^QTuH#&G6PK8cxXf(A zjb@6OW`=K=EqK7}z)#IiJZg5~NwWt}o5Oh4oPyWPc?dD*B}Q{T5;7Mg`OSq$5p!Wu z-dvQ_Fqb0r%^9SrxislyE=ziu%aP&c@?@;JBAH~aM5dc7lX>PUo3a z0nMWgCi7T>$2`#xG*2-UF;6p8HcvM+H_tS5G|w_TXnxu-(ENNb_vNDDxb{ zc=KGtbn`sJ27c^S^9zP8yv;N(l6iD9pqS!^8`7#M%uPi%t;FSU9`qHo1Lgvx+GIWrh9uEvNG@vc{UtXAGs7PD!zkD#; zP?)xs8HCFXKH5f)#HLv?dkpNIPkE(m_5;g>~K`3+r(0v2MKfSWnX) z;{Mx5l}%i|Qq}i<$`OChS7ZE^?z!+C^?`DRK+2nQU8PYtd?U(NZV|VCEN^*FnI% z0Yc_YkYaunQq9{S-TW40n6sd&`E96U-Uao|d!UQ?eduZ42Yt=^;ZgGem}ou-lg)=< zn)xuyFncaUX14)2=3hePHQaNPVm{AvCZuA5Jz+k6py z=Cc?u|BZRg=dh^xA8f{twKQMA*1T!@P4G0dqg~~( zh0uuJFD<2j&Qj_SwUk6$H6CuR$22*wh^ zo1?ObD^Pq?(kb49_SBL<7x9~P@*7!`g-!VsZx%nrniWL%xAd|(=9czjHNEtwA9B|mInBsr4{zKG{%9JCisY@DUPu;!zKLK zGD{0w!P`}q*3ppux6oRuFn0c^L#4`L!+{!s*u=by639|cAiX4kJQpR9XJ~IN19T?s zqh)|jrw?iwpi^jHHGGegXg{sQ!35f0CPY=iM`X&A8Jb`ZIzUzv>VmDLvS5{D_5>Jj z!CNX`44cNwokaN}{G+S+CnhX&cbQRt8JByPU_(-R9Y_ah^lIVHBi>7|ENsu|wL?6; zc1&J{_h?)dUN3f%`9&%T1~aj9_8PdH0J}s9lSYzhuxmB~ygx#K=9~#oW{eBte7#6= z(FjmIXpxjgvr(EQN@-o=DD8nnO6#goT35bxd+x-9agMKA5rVDVrfY| zl)syNbf`#(ku>wLpqZ!DN`Ba0H~DpWAe>Z2@lT9YZrj_a?=2~0UQ!AfMjzEEbFJoe2Y@@PtoJWdqk(k~l@_D>#p6hv2VG5A$_qcKm(?_#IE94n6W1|*VR zKaKSI@vR5n1|)b#?i5GF9y%h_#S#0(#Sxq1B%H#3V$r_M-`o`3DciU49noq;xL@Qy zTDEW^e2o)fCMUveoCx3GM9ANstCX*mIBEGOZd z1V>p7ILT_qDOM9svr>H8%J2oN z8F%tyZ(FVS4sYMJI-*2844$CFWejmV45uSx4ABkcw8-H!UF2|Yl$^6TIgga&yfI47 z>*-^f2Dyfg(jtc|>1Zu-IA6vKO;8)B(pcnhyNDbPQ6qKOEqUZntU5u47m$i?vX@_9ja06P`(Z3+atNN z%)puyS|!`25eueBTIvv$YA)*e{e+7sLHV;!x%u`_S) zxAu+3xVpq*TyTYs(_&nI(ecu9%cry4x<%=(1E;$QlI|Kr>8>7qLZiFdbYj$Ut0~|` zkr>y&xEPnsmscO+ik-}1f={APY7;z7o8XXz!}tV$G=72)zfCDessB~X#1ToMds>A! z9ds{ZvW?7Me9olKLsRxi_*mj39HmXdQG6TDx5si-p%I7cCSj~XBaTX_(71~qZYtX= zAZnOilCiT?7~Tu`AXW;Tmsm zT3?PT@`1B0yZ!cgm87-fAQ##{GsiuwTNSr5Vj>&Nhl^%GccJ;d4i zXPmN*a*8?zUt7O|6V|WcSL-*NrGE!EtluM8e?-Ol6Pm1lq1Ac@i(3E23f6zIuJs~z zvR=X-*2~!6dKDkBUc)D?H*mW37S6R9aiPtOt8G@?ZnNP*TL2H)oOsyg!ecf!p0Ig{ z!4@FY<|Ag_+HC5|7n{J%#nuoyQ=n7f73fW8@xSa?S4(KMV^J-k)rN;-o(tlLCbXJ3 zl|L;7#Kow9xImxL?5uP2S)9>`NFTF0NOmw1u;4?p))>}Q}Y@|!297`US(j&HCSt+zvE7q8TFTC%RtTD z7|HqCeELFmc{qjhwW;xZZQ7mWVS!AXewXs_sk@PfGZHCzrbfv#`8JJjGjb;nrzMw% zGw)R%+KK|R6@!4S1cYoQA;ne-Qf;Ln%~l2q*(yOSGJft&K8wd>Oq?jV>*noEeA)q zEh?sF$4&0JiIaP_Ho0f>?HRt!%~gp6d`369Vs_SgpnMp?8=`486*Uy|)o zT#iwUGH2Mu`Q+}&CwDJCx%=?R-Iq`9etdHG=aYLNpWK6>sBJJ*vONS1Y!5?w+i>V> z8v%oDkHMq1Q83yz8m8LD!gIFAVVP|ltg%gljkf8q-!=ojussVu+MeT+{CPClW@D;t z4wkSj#L~8xu!ikrY-wAHeQfKnpKS#Wu)TsqY%6iJZ56)6k1e&W!R5SNXv86mAElvB%;(w)!(t-$pHsnJS}5BE{iX3jTMlz#Z}Fz zy(>mG0!I7XGlY+a<4<7xg$*T7fCb!xSA_RalR{xss67u(CHszmkkF_JHOlEE~WN~EX{DIlApq9V)^BG89pXXk{OG%8|e4Z1penhUY9 z5-UyS;wNEh1sFtG!}o;+jahQBl1H0xeUnXSXxAOo1RAgxVKF${n%FrPFAkLB2TM&b ziqke@Y&ZLPpf$1(-M4>StYYuUK%yU$1qA$XW3_ zGTz{1)O-RRTlqRrwFa83V>PTz+5ezJt8W9aE!8INsI{H@oU{VqvE%K}IB03JAVDWq z?S5b1uXC}|9GYVP#yIG?Jmr|^s`w;VF0K;~pGr3aLH2(!F&XpE;hem<(hfdT^AlFN z0STz_E!^J&WcGEkqTb}3mby7DR)3n*+hZ+^uM_VzMvfY3w5Cii!(P)(y*SMx4ng{bV*wi z(TS$o&^%oBG_|s_h1R}uJxuu2#WAsk7qafTgXt-kVRap3`BMA%#MctroPPP4caqq9 zgNT-RG|2$%F*jK!e_~ux4i*=D4lGeEa%zWH+)o<^kMVXX$v`AN;O5x_T{RU?ZS?zKX9R`DSt*g3As&*XCjT8etWRY$Mc>OAEKr7Q ziF(_fhSKGD0sFHRc|bKs8_t&jRAJylF`+hTR>J7 z(#`|Z9}_B~$o!8=w7i~wqdpqz)Qy?!EeDQ92PSZp75jbcM(Fq0Nz6PEx_+~T84j(~ zvfF9m)^^2;SFE!dY)&;#dU+DNE=?UBEKRuxR2aDPEv^ZWdjvN2uOEE?@vaCr5rr4J zC#abU2*_3tbJp?=g*vm4FV$wK;U5ohMWLL7%2p`lRCsf3nEFCnteM*RXM$;8P7AWX zJ2K3C@xV4t2k$<$GW2)-LSM(|b9g6GGt`BxUf1=vy`+t>7R&Yq zDOzDS(0?bh>WgM=zTZx5w!YBJFBRIhri2YdQcln{J(*V*zsxIGiil66X`C_@ z4_qjduUz2z(f_n8P|doU6R(8zCbuBmr2m87-^kfPsSgjs-q4*UPGKQ-`-mAyaw_Hq z@r6;`aqueAe)`*baVPsVV!B_~yNhO{*YqR(mf7bR?-wSc{Y#SS9#vg7=@Z^90jw!7 zWItMbmMzTbY1HL)9Gb(t@xNz0ti4GcT6Pks;qs&k+TR$hiOMKr1Di;>r~eLF7RLs7 zp@Pcl0L3!PKL$$DQ7-Zi83^U7B~KOD>PAQKRNd!RCsC#&+pu(lVnt6E)rtTHNj%)a zmyPjDKsW-zQPoGN><$MAIWW(ong+*;JjtLA3K*BfJ6WL-=0qYtiDl* zotiST8a}hEP+ka|iHx7vzdlewgKAmOw47d0!CJ{ys%cn}#_Laep7Va;tVZ2^_4n7N zcw2ljD5veJK-#MX`)V~P%?@(JV<_2qUy`a43+rVp^onq1%TlWuF6J+x02BL6ev2`GwCX$9)Z*9S*$^p>P501Z-1{PuGFt22BidnXB(5ix|P@OuT%OiYAnOCgnKza^T+VS$96`z$Up>g~W<4CF2~pYe5RHp%PSOjMR5EnXLo zc4Rv$DQtRH6^cuPT7T=vS)75ijR0X3rm;j#izs54P$~_JP%RX2>RD%YfzBiJ9F|vW z2a`PaY<#LtJyrNFe5&q+(3NN*ACobYm@tV!ONq17;oeO{X&IK3z&eA_5LYLTU={>p zGl$R^r@ee4W(J>e^w7;xJAz@^&yM$m>sH#U<1$$dxNIElw3TVtKmX znm88)ZQOv_b28Er_>^gBJfnq5(e#$@!W906Wv&HyiOa@RqzR(rsJ>sV#`9?qM!i|ZhU*V6CM>_#!i(<%;h zdw^G|>~8hf_*Gan$|l;ja2Gk?D$KTCVbb-R)pfAhe!!k5mZNL&-@axS-r@S~Mk{p` znJd7{v-%2p*fK+-$-%-sQ)wLM2MLuKLKJYi2oer!%KM!!J>p#pG7o#s4AmwpP4Hpv zydZ*e^Z6@81u*p9GDg%mIRid0odFrrdsQ!#t?hf^ z?e>6!8BPdS5%|vQld6&3wgcb`)3@*>qB>P$umWXtpK0}8gxiXpz#(V@;qQC`4@0Z( z0_lpwf!BD+4F2O3p7fIj3i|r%6OED{SIIB~z6lixk_9H~SaR&~!EyY_L6odtlhb}Q z5_DS-AF2y;i7%E!{7j-Ru>`wTBE+}N8%M3CyXV^4v@Sc>tB#w7j~)%)h8M1i^ngSfB zp3EFw25RnoXpX#oopZG76PXTevaRLu>iS2nEQ)unthF5cv@8C?G zwk&gkM01$#T~E2Yt-Zo#+4F^CWK8eM9N!n@IR2*G%Mc2?W!vQB#~#!yK158b#bi-d zx}638WJzMdhc59Iz_*g~O_a?Rt6}6N&EzvRki}P|O8cXj!d$U!B*LQGK$I5pRb_&S zO#UgvQ~}!|@_j&z^XkbjB?luS%v6jo!gtLPiQ+s~vmF4}3 zR_&V|`{vrjqt^yo_AW!W%~Udy-e4Tlo9;iJLtz_68}N}wHN^yZTNJjVNCtRRQ^!r^ z(~7)KQ1(m!cq%J;ZX~BDX%R@sGJcg98d9EZuSk_vulsCUjs7h%!tI!Tz~tFu7RB3rs><`YZu_?Nc!Y3~R5A43F^7B92}3=)Sr%9=dA| z7<0*s6XD;YUg}(A(+1Co!#VV1Oego)0esWV-7hYTuA^(drhE5-0kY%}p(8i@ zl|*Wjgo6YcK~yHBNxQB}6;+p7qgW4AQ#s3a;GI#-CvY)W8xvR$=p|=faH8DJeW1tZ zH7l)fNu1k(l~c`n>5dq%`caT%g!+Ag@0pBheYgh&A(5Iro*fK`FprXonzjRcFIQg}XEdf0|{6fto^?k&3 z#Hc1SE%A3qLQVQR_E%))i~{W)xUL?ahfa-)7IbuJ4%}RlW#JwTabj*Wk0@aPO(BNz z2t%sWH=4xJfgR1LR_GBT6;a4d9xBi*uAqaTj-s{L9djp*mDuPNeHf{~sHM8RuV|z| z?@6S4L>JGp-wvD^p=39j$rW{9SHuqcLnobos%g_IbQT{&i@=_DZWng!f>4^OzMT0S`jsxl$&f#l1JzCVU10pn60EB z>Qzn~qh>ukQF;CDC812P zip!X;VizFuCBRN4E*ju8c-x+gt)V`me53zVqxl*h3&tRp_LjfDT<)4HCm4v!@kh)n zBM7wX+=I5I4fUhH(3va(@Kv28L}PaRi6W-XxF%5z%p4HaBYzM{x>HweuW9OvJiXqiw^W?N?`>v6F8|XEG5uE?P|J*A-oa|U2i#F_-f1S2 zE}bq?PGvCwDhJ$hW?xv(2dV`}cwhlbSw$9eW&v$pWgASkPn%ce3oweO= z$(&xlX=5F~3AxWXYrOuD`0s+wGw#CAJMPlY^LlsMENa@Sur{jBgT1QKgZFGKM(mh{ zP?`s4W-nQIPF%2tS~i2RY@+qMxQ)~1^EAGi_dGGWB1^w5RMgv={CA zwC8V<+oN{<+pBiV+OuNYa4vKmWJT3kcOtNnue;bo`#^V;D^Aj zWQR7driMVSs)p*X-Xp);@ELR*U76iCc%{v+vWg_Hwu;`a_=;3*s?J*9(?na|Q$<_f z(~H_6(vDgn($U-T*=QXR7%N?)8LS=nE!HO1E3aaiMpl8Ld$!a1EQWd4bY<%xspc&W z;E3iRhQ<&}(ieiA6-k|A`|SRd703>jzLICCK~>M5Q!Ri^&*6N~huldS@$?7C%XTi! zfUcDRFt?(#$~UG}`qK9_3i+dong<#gCT^HPfbtj{{oi0;bq!=9$BN90nlfUh`@lt8 z*3KE|{?IE8G!9j*kO3DncK%iflEIPbOqG8SEJ`LSt1)L}F55z!2R2dMY%X$-D7(^} zw;EFBh&)v{Nzz{$D}tIJT5vEk!tSe>!=E2r$Xpe^Vuod8HE^k=$&@ciM5S#~&^3ebHywJhZ*fex??Th7I^z2JL?^YQ<-I0f`L zpqfU_M1;mAI|-y+1qED!Z&q_?ZHcSxQ)}>(4f=c1JK|_1n#Nw zEZnu@Ld`l^{~XazCCRu?3vp;oe0XtIeIOL0UoKQ6f>MW)%qR8<6%->IjkkWphy#T0 zlAAbk?$@_c8OJS{u_f~=-h~~E7oi_Tmjq>Hs3=rVq0ho1+A5PiLN8LJQ6DZ=PVfCY zkaRbM!7PK$XD_on3Rl9KM^+i~N*hawwgu`cEJd4r^)t&=uA(0mEG5xhDMXX(-1Mg< z$x)&*glUTL5>&Vg@-E9`iA5zFd|^SgrssPMi@mD56nXondT*wUdicDd^tZKGu!k2< z@CqwtFAJ*lN*|$Z;S*TesT;I@ zQ%cXz6N|=$K4kFuBrOb~}5o?G<3R%#%6q9nR?L^2F}C zhvzC&ZQv7q>v*b9v2xA^M% z=HEMLmQ(h?{Z%%k0)r29NJmMWUwEoK~q30tCkt`1F2|4Ot==w2GxJJ z3QJic$6-mcok(DgQ!{4MM7ePfjMp%1`(3=kL7fGDGtc}Zzw8{dRY5wey_8oM*E-JI3f?Y^!T2b#)< z8M;3aZ1(&1l-T9?=+=NI0RJWzak}}wOD!O1A9O%dFF$$Fp1DpS*M!j3fEg1$P z<&iBpvll>##%Xi&XBa{8&&@)`JRAkt=XKXFBFCS&M-2qa61)j3W~g{Z^^?iks~J{; z=6g2kSr+Dac}xhn&w{q=SAyzQ0z;EyWpT&OS)4}<_rNv;lVh&9GLL%XrLAo( zMss;?=;h0b;^>)2!@uYGJI}j$Ln`O1b#@v$&f94hSMgtvV;@6`99 zaj2#G@vM8P-IJE*oBvHiX=C~ALHB$e@BR!u{P~Pac@p<}`PI46*rmDbJ0pLU&F?G(7=)PIqpnhM98JP zmUim%I*c|g)@e9=T)GIJTY6OT!8R5 zh9BcJ#n+LTV<>BqRE52kLF6&AC2+EuoLwkutW*Vg>p&W8A&*i{uqjo;jdXxb*6B@+ zDSEPoTtD)(W6jh(kJar&FguUqF7q_c%UnI8tOt63b{0mflSW_RykdiAQto&?a%UE6 z%65H{REe|NSUpg>8=C?3H2THa>R6!?S=577|7_MJ$6`H5_MOo#%`|sQPd$$A(?xG$ z*0Wu+DgD*G*WVCcd=F5CdZUD60MnLZ*u=w!?2-EyK{>B)oJ^MQsOq%HUF|W`>zZRg z#@&W;%5f6%oxkEnxTFZZN|^_(BwV$S`PomSj*j1j@yq2rCy&(qo$d(|Tgt{!?Adig znp*1Dv^iD}=*mqVFqGkgCMW+mWeAtAtKAAn9>>e(FeN-!G4oJ32j_(qhT++h5Dk?LN0&~Z_Dp^>!rq(2rQ2tLtTaEPD%+_Q##!+hQG)U~By*^L z+(M#Un52^Q23m9&H<0&DdSHvE2KjkkOh*PuDUQJT7CL&x*uj8?*ejDnXNDzSBJ!(H z=v}T)o|jq9Xb8Ahd4Kbp!mFMn2C#BGLJ{bzycjvYG~??G0sKsQut+WFH=*!)NOuVG zic*tzO|{u0D`}@niv|DL26;h8PSWXoh` zXdU{^ZT%0wt!K)?CG51vb;#=$#Eyt9yW06B(0XU5esMGY#WQ>$eP_T9;9Boxm>ag2 z8+UUHNo|1}NXku2U*g(~<`^$vvD2`YoPTMU8~**yk3a{KDPIS){WQ%6K=~^Ah<2*mEFxDa}x-!lSzNu4%>dHYoC|F zcc9{QgxRall=(@0S?1xIvS(_mqtCSY3AqfDu6-6qTnNwZ;n*#FJ0$+6xMwl1)aLO{ zezBiIC-!7HI7R89eDW~t(w`&wQY5PXHFk1c5mCucRksX^C zmgQoOwdhDJ7?!D;KQ8g#kwGP~8Ql_@|B-?9e}IlVExb`K?B~{815YL@9UqugWq52u zO(xDekE#nmEGanFqU}as9MvC*qMuHv3naU#&al4sLFzd8evCmL_^pgV7No1P5!-JD z2zvYx5HyFG(|#0x7_l#PHZ%^m;VIvi6!FPXA%Qcw5e3Gspvvhj`+wmGLW6a(uMYj} zrBe73pm+%oy#z>H7JHP_FcuOMmpQHUHEsI9bo(kYw?jvbCyX^&nMW(j7(SGmM}RG| z3>jEp=Xc12c%;9vh<>GAXtWuub2Oz$c$8h20_qNrBy7L3nD}HRR78n;m+C4}1oF;>2l~#8{tUr0)ua)d@+Udj56%HH z6}}UdG|P10n79pRSXyN}BmSJf)(Amt+YJ%T0e9{G>toMQ*eu)DP_qvyZc*wzT9G*q zXFIoD%d(q4>wQ?)m}H<wsxZy~l-KPHnylfA0nM)9{%yGN7Jqw%k0b1g9tGVdWLkAinYi;7J$maRpnr>s0eBCK7hO}| zMO}N=Ek6^lUcZOqK4cPhzkQJ%dw)}%w3igT&{2bV0}}4KEXTaNa3npqWeSV8a~>Yo z6L)=znFg;F(O)~qsC}~UlK8Xh#_^S1-i5~aeAQkTvhy;Ihw0w#sgm72C$n|OI<^V^ zfw49&1t+sOg`(i}!Y@e#m#p=QlA$L$#-KB3we|jN=aVzmc4R~r^h#3VTo&L?7;B3N zYYCj>E)|k>_n}z0!DvwXxO5Ab^W>zgf++UU5x=XkQ|hzFWmdF{yDGU1qoXU>2xppq zJ3y@qan1XL{@9NK8vUs>cdth|vMQ%6pq@{wFG+<@A7Ly=QzYC%B06P3(L5T%o1*ds^fvJpQxt{UVAlPihJR|T zufg0i{Ac9bm)6%-;8tu$ahd_`SPc5znEtQ7YAkfcbRS9ZcX9@(bj4Sq-ma-QGh}f% z^0M{M@mkP!P-|ndcImRh&cUqGWjwG30V;>RovJdY2D&D(y;>(csMS0?87$faL?Xch zLZ&0c$XxNi3Tw+W24_GiA|ua8E3xxYc)~{8K|gRvlE8hzLvwri{}`AZbp6{5ZL?Kr z@L6o!Z*)r+!`MVF0Sl)}loH#4u71VSa(5Gle)9PM)dc5Ne%(?ZaYaj!H%kO%K~(~R zBUSk$6kG4SfXEs{Ad>SLZne2xGvcHOK``lzqjS$m`2H<;QcNzId(a)GC{gV z%ZAxMyHkksSV~x}KIkWr$G_{<4MMX?8F*&(E*o2q77cV>lcJwm^^rEpq4KfP;(GYUumaS?iuxeVDtzs*Kg*kIx zv`Nt4#4uq%Zi8-gZFMQZ|YNPdc5ayzL}uTEYoGAi5Lf{4|s+TbmXIa62Zf?6I* z_Gql;7sYG$YnW3Gkm3H7+hviJFqXiX3yWW1XiKQtu|Tw4)&JGz?@grPlHyIL0q4nz zp$haO1#+M4_qQ9@*BFgpP!~z@Gm&6Y7Yq9JdY?rXO!B2%K*iUY&eZY`z}LD;dBIQr z3!I^E8xj5`y$8uxiR083y!%yCkK9-4;>b1}?=gV@te3H(HGOb=bPem*EizfiC^~ZZ8#q2 zE7YjwTY_nTKN9wyUqtl9G|v31cog=#-YC--eswQfs_FGO*7cJAHN!1CL` zVd$Hvbw@XE;im5M#{Ju#O9x{+)D} z>)U)+=o{^@)(vPq^WB!8`S#1L`2L$)`Yj{`_!bNP`jUes{s@6X`5cB-`qahAy8AY8 z8~QHSul#23XZy|$?)<6`2KkZ-4*0SRp8i~h(|xtY^ts(;%7Dw+&Hlx>0ZSoj+oJ~y zAwARuWPyuYgFOs!F%$}vY%kGcs)cofvkU<|bmxK~o6Q`BEU3Ct*EGPR4pT}1YbTLJX2)^XIP_@FBELqN(`jyrg< z)u`*4m;P|cE=fyaz|SzzWY~dj86!vp)VUwfP~vcgm+#O%)$nl3aG%R_iM?TsSzt0% zJE-)>xF^uF!lr7vYxc*qats6P_2}-PbPRlN9v;IaeC`e}u4>5lPEU(HlX6=%FO$LvWV+%;ti3Qb81Y5Q+VWgMrj%`!`PsFt_ zk@EuiN@%49R1G+pAFTxmpfEbF7H>@8(M@PIaT^@fX(=av*^7xo2=3mV4$yN8_Px49JE4mN`Js*w zz+WHnMZCWpZ(RwwmVQvSZQaZ1Q;qO{&&uUS+1c_3QO5so_M%T16>@~>^dctq@9O5T z;qqx5S7Z*Is$of|?FhqtmFGxz&SOPF9|Ki%tZCLY6v-bwRRDp$&l)d% z*DflrzRu@lpOy36TWyS2OCWEW2q$$V<06q_ax3-g*K0kj0pncB5@jQ~yX{1cl|CK4 zM05qIMsetA7}S2o{|YZB(pW3gI9urEZbt+2o;UVVaYLUDLA_DgmJ+O++K*oq;;sWIUt!(plnb)`5@S=Utw! z2H{5wLnxpJVusM}*BdxrFp!^|p70K01e_Q2JaEYFdynaj;||OVvmNLZSeO5~pY06h z3wnUxehTsnP&k;Zp2rUP1ms5q8c4TZW>0kshaGe>n9ne)AHSW_4(t`=N2Dk4@y&gY zI}i2?h8#HE9=#v+i{=iO4&257jsS^!fT$wTi1=bo>H>m>_<2rd15Dd!fB*s(?nA6t zfDaQFCV^4_;hk2^uT%^gaW)8;_zFF!JAH=C4`dpNFSsN{1~nZKidF2 zTur+SePn(%QjT7R$Yy5$_<}_RuscKf`D<@2Ih9Ljdg*{gE8y?(fNZg;JE-c+L9UMr zl)DR+%Zd;$NEPK0s#RERWwo+9)q|8e8V6W#3i1``pcp4rLHgT2NBG*Sq0gFm$w;Uic z^r9~VhK(Qc)S)fmk?IZSk}q>|*X7xwW{c@G{5|%k%S#LHtb|bi+5!;?H+`5t)NZXE zXP^XM_$ctX0=fTr>k^Jq>GhbulW>#ZF1StGZ)sGaZMyDQxifM~wclp!faZ>6c|9xi z$0p4c6zSdRY*cqx#nwxBb7jbrul;@!t}Tyj zvOA?hvb(^%vChtVy_Y9tT8z2e!`InkqG|m5sO~>%rrQ)n&C+2?<%WF@l_jO25tj@m zfrd1nIdLOLuxtqQ3^>0XEl99qA;}vsaX7la4LgDqs9LZh0rY~0J5n~L_QY(nS*xOWBZ zFt7uzb68*KxcuK4eC_zrp?>%6^~%*6+%UMn`vh+W=<03nAmQSEKo3K7_lEZFw~)LL zSHWftJoaYWdEQ`bpzs8|`4cK5D!mv!tjFV-HLl2>H9uD7G14`ne&=;Svx>+GBQ+w=ruhP+kLMmUiS%25CW^nd zbq+)WsoUs2kS~{I#tEW*r+d~YWw`Zpze60MEVCO?<7h;TgSBc=% zmm+DCQf|g1VV?4|+?!(+13F0m?}8T--6Pm`u`CKht2VS~d1!R}F!+b~L+j|DK`{?yXz_-@D zV~&4bnpT9(Uvrv^a*h=n?y!Fg3Wrw5tx8p8_Dh-+1)FK=0>@92_YWWD1`?4+>Ru9& zf6iy`eYmv_MLTvX3I?}v2&$v0D$xR$V;z_>;Z7QHq?PWP6$R&~Vn>-+{4Z%EOF2u^ zD~mDG;Lw1WEKPw;1Hp(J8C-tduaL(-PF$~S`lD(RPgd^GzUGfu-FVe7=Wk;SR;L&a zy}jr!y2;_dm5ZH|3pEh zS{XAg7X;o&grKZmiCj~AmlIAc$s_oPW}fUCzYUig@aw?~AbjGtD&R1ylff9j+e+s-$VNGR%)=i4qDt-z2 z;9bXCqNu z6pbunyR*jIW)m(Qi=j&i6;%laEz>B@rxJ=NV}mYZ3XY^wDeN&y8Nyd=xW0i%2UoB2 z4srD%msH6NBt?JoS6W1pRT<_`@g6KagP=g?f+`f^7YLe}mM4FpZh-y-+7v9-7eAp- z!EFPb7xe8{%5}W4I>A@N4qkAcroMZ9Okk4=(sj`_O6sHIlRCsc zzOnd$qGZb)$@dIs37Q|laCgtz`Cna}e*~85;nLK9^f0yBYedjj2Yh>9od1m;X`!C1 zBkSfwcO=Q@*p^42rqrRSDbzEG1SP_DB`!Agd7)GjY8NS@CB4eMO25&RP(dC3F*0_H z!`P!r?}zYm4Ya^bnj}eu8hois4>2Z%>@QV!{YC1`0ITbiu}mylMC*^ZnIz-UffW1u z>SB&K-0J$wVw8N}#D?ecUs$ZQWo`Hy-Xhaz`s|u-9rP0K_W9KJi_Z4hnMK8>Wzv<7 ze*7CAR_eiJ$-br_$*w(En=Al8eW~L*e8n0Sdm&*&vd$t}C!;me%-c$BmZ$5d z0hlpL*CQcnBEpi88?0F2s0?i)%uZsnAqs2Col|S@0AZ9Klq5ui)FeP{5|CVhFV%-A z2+A}l)TO|F`V(4%AsOT?Pj(Tqw)?9A9wOJ21K|PcIB0eEgMnV_7kVH}|DK(K8ZsTw zcpvF*q8+#uOtK%|u7e$k7L*ShAh^3vW%t^SwdHqJl;lqFVAkTm#+t+x}9&z!BfNNP61<={NDYAuIM$8j;yn zPCN1R-#Sc}k$TN4F!qKq_uf`&NWI2d>wBiTJn@Wjx#yMheA6k&_o|*b?E;+QZofPE zU4yhuG>28)SLW)zEzMSYD5>YB@BKh^3*hrh`))HSlr`GC$}HxbCv;@??IXv-Z38 z(M$S$`tQ1mW$UMIbS;SAmY`{jjw|7SirdO=h0Z3zm}!_6q|$GqZ*0?Ojjp=0v;rnJ z=76t3XRI3bKH@-Gzqg@Lu8cX~>g>{sl&ERjnvgo-ZKWbCY{;-&_3wqfx%bDzJcsTo zvMB>S`hAnp)W8iK&Tfr*eZ&ds^ct`rF*8Myik#tPSktmt>`~k1+J_tub4{}+<0pR2 zPiFKj`?jWb+<(7M&VaqVA+YarY0^KUxm({53ESAp$DCsngsHU&XC?oa!U?tD3L5t}$TV23{r}gk z=a*1wXRm1S8fSH=af$Uv@D`e&zdb7>pAKZCa)aH2B<+W$nQn)s4Ki+(Bp4-f52Y$c zHWZ^mzn#Od~;1C?W9y0no#yHbFi4a}kPCgL!UZAh)#s$1`(g2y*fUub18d zbs1{dF4GQp8H#_0YgbH*JY&GQkMbuBIrqu6$Z`an2j0sMKEp&jeuB??VdzI)Bhx&5 z!Y_LPc8adCC2q9I{jb3(kKRKPQ2mrqph_u+;<$*!&cdMzVoykA294&lq=}#Zofb5z z1va2~lSn0qV=(?{3!}oKu`o(;!*JK3k=Q~Xk2y3@k0VYZP9K0a%2rFgz$lM5G@y0R zsF0ZobskZv{T+#cGY48rNlV05Ogf0(P`47dgmGOMIpER|nIgg+if7JVi-Jetl503n z^`KBoo=LbRcO2?{LR3rdt$iT|2m?8_uxHq$fzO8+*nJSY)%Os<6|()ep91hoFyCWQ zmCopq{D-2>X^&h^C~LAAv!vve@hEyhEsOAYPc$f)TS<{pL2LH2sAAnPAts22g+DYD zM0=xd9-IiL(LeW!CZy@->V`P`kdw*W=Bl{YwAZxG-1c8LIsY)(a9Ky&NO_-d0b}2B zSrHjJbKtJDHc|~=H$MM3+prNjP6yvgC)f(CbqU@{;%UW40yP=&Zud~D$-`Srb$Vwe zBIYvOpOaduQ13LETno;--FSKcei;94Q>_irMd_oWMK&AI`ta*4IUx4!u-xpkkJAz= zN0soUC6djoNH(<5_&{bou*2j$R84r!JJHY-Ef zmLhK{l6DkIx>4UpHZyIzNhRJSQSH*I^!+!k0)>$)iJYe*aalvfxZ!T%?;$DbUnq&J zkf_Y^Q_P%taR+qVGWTHd3vm^=6dWhkJBj0IhG0$)Qz%=Yj(A~5cMdU!CspaLzwN8q zq!ijwy*1bhuI;mlBqoVuo3VZu&C0aqKPGaI9?6UQZiwo(##zCKJc#W|>HH2|`Xy!! zXNMYHeZyg3`KwwzebTDZM8gvx4vuuAfKj}D0&nCEa$7r(=alW&go^OT@s~Z4-5zrc zB_D*yAjTh5T~Ku|C}n%blf7|yEiVwsP}@F`J!DL}JPp)sKd3!VJ4r2Y(?Nutuombq zBuDYEmSD&|F=4c2WbFyk!NJIagqG9J~GzFc@`(>eJcsZL?t z6xuroGk_1O&mR1O^^d|+_-}2eX~wU9eb(pJ zRn1!Mkx!Vy6R8cp`O0<}bC)JAUQCzsD}mCFpwp#ExOV4dN8L4>&FGfTC2&0LNxYf@ zChbwY2Fv;Coi3(=I!aelOm9^D8oXkNjo#*_mdWtEXH*U*$%&%vAf~1w^}HDB6I`Vx zHs{f$>Q>u}KH2U)IM3KlwxhXgg{I%(36;Z}Xse(eeKe!!Xq7m&m6>ynCkRMEGd4;q zKjpTmFj9VW`Bl=b)_KRd!);EqyK55Ej(I~-y`#DLRZ8`imyhh)j=E+~o}mPIj0=YE zIvAIMkn&)+zNp-Ir1`Jn6La6WtS9nYj;LX|T#AwST?+AxZ&lO-34B0`1MV80(aP=obzr>HA@;ZOmz?)b+>^COS+i>jOmqbB?FIDMbw(Qj{zktW9X)NK_ zs!^aXJl3^ulJvtgdHg5L2+CKGk>59E9k{vWXZVQ60NmGcpC>zcZfL9FzQAQe_WKfz z@GO3l<92Egg^Qr>{Ak>t;1zpM+|&%fKYuIOWREw<;wQrTh50zU(&FZpewWhX<<|d0 z*joU%5xi}liJ6(1S!QOEF=l3FX0{`-EQ4|e^seR z(v)hZ`={saS2NvDQ+}3O9mST&?LW*(9(z;v#t?IS8@Zw@)dI~o&L%t6qA-M6F(cKWlxYx8L)qGk)0SKl^N~Ki3GBz>X zENOf_-74!Avqo0uX@dE_iV}SO#Vg*vAH$B?^*HSK0aH`n?nMuDL5rm0@|(JnIgD!2 zVUqm!KTh%k2aCYY4y>i{ zUr&qI53r;NW4|l|?teMrU)<;a>SUqGzlwV#!Ui97T)_4F3+b{NwLt#`3eN1h^f*tm z&G3iT7xRq(BSwXBwju&XRPmcmfG+|w07*?0ontS}HBrqt4c0ls$<%N^WjGcw@@}lK z>n^&`^g=YlIB{=igg=jBkM*Iu|1^{*@*!K_stZelkj-D0#k@Xz@s2<6!k^ttx`QB@ zu7eO6g8OdNfA!Bv_QwYt z{7ZZi#y_)??hoF|QxP$O=OC)uw<8&W51-qF4+#9TUoituUbk5vO1Hfq49_z`u{k#% zz`Cc8GD%ZT#UI7pDWdO55w=O`X-P@e(Da#0sj4TNNiuq}fon!dCo;0dYE-$*X_rNl zrKaw=>fwPD8by9340jdksfH=1^V_8acc_&#J>-j~E*J!~ssWmcRg(;4nrTzlfDS02 zi5A@^X1)g`7&FXqR+vLz~cA9Xkf_Y z9sVV3bLprkfAs6`hP@L~pIAZd#fDNt9PClqdDZlRw9c{ICcr(#hRwRF($POFz0=AK zrMA+%q1?uvza*Dd)rqh@Gr3$LZMtB$4L-)!WRgEK5d=PSSZKF`H&#Uo$AT;l74F>H zN`C~{J=bmAjE4h`fOeh=Bly$rq}^O-wURMa~F6IS$m z#4T)nYy^^SRV|!G*@mh*7k@4pOxt)$|0fWShtktT{)iRsWHh*Qb68W!qXrHfqs}wW zDKjn8`sgRn`RF&f&x)}q3@H*FF3c$W(!5J~);)vB^~ZQ>lRAD_vYH7;@4DATy%j?Z zF})ePzF2e|V24$PtzOIuC|S^sQLAk1per3QWhxCHT$&3)+Z&Jrw6>sAIxw~_(3L)X zPGv3)PbG+sIwlYdc3lXmu{2gQXF+u^H&yd(2ekoj(*N)zuYI9y4f|Fpgq7MPn!+E< z3LS?(0UqSR4Y>=XsLgk(%3FFxJRMwc+ z#WDO~pje)vwxee+rWJ90J zrcIc7q{pt$lFDn?lM8F_U&H#2%|^Z_pml1QW=rzj~Kq7f08YA3mFT>RCSx$H|Bi`9c{DT(zUfy(!(Zf!J{bt`y z#KSd%r=&54P`nxDYAlYG`HuMOg2zVk_s5i!AWip_=(Qf6i6n`xUmvzkDW#!U<% zW-d}(#>EOmlO$YoKY194MGrjCQkR!2x_f~K_rwhK5*6Jj#kc&y6K8Y`^=1{_ai4F# zrk1KHEAS)tlyb~z@gu&M8YzPezPo_yS!Fxne#xiru$-V`Fd9(Hg1L(1mZO;86&U0` z5*XO27Z0>m<>P2QEb>|sg-UwPsRs|#*~JuT|L!B*cIU`$B?g#hG9|S(<=dxFHvv%+ z>dj+`5Ho|&Ywx!(;>fGBmLIRn$l~5;9=l;5i_)1*P z^7^n&rbIMh+_GwFk&F_IQEF5AP}woZn_e9Jw&w(oOqi_{M`G?v4-%U$IyWiQIMf!p zf&d%amRxJxe@1R63m~nyy+?sdn>njHxl18&f*G3H^49&Be>ZHI^2)R^nU$Ol^xq)E!DBVI0aKStvPm4{6sX>yudde?43_mgwZbAZ(Z!(rJrD}>U&8*}aB zutUj*{yW4fY+U3ZIis2cZ<1RwQ;~_d(o4D8#8g42~8*s{I*9|6y}}S;G#a% zAV2WRd}#F0D_^CuDKu|FkInXPqB(_KB5Wc02~4pG0uH1lV-$wASW}m*$jS6mLZVJ@ zm7B^P)GdO!^>+ywqRRP7@Jh7|(P*TEbFkleEg9chR;N7)ZdcBImzi7?W`gy6Z1rCs*C@8G_3}_PN(7VSqUzBiRFpl*=k}r;AQJ)K* z&0m0!It6x$x1rzej=oENz|%3Y6*Mh~CPaanzM){5$rbQ2;?VUoK*=>Rm3W|}SU!?_ zBBpSJ1WrnPUjP;QvooYolIs>Wr1Yg)%eJteUPN12~mqAeCGtW%CAz{Ms z42g38{;haTGQ2V@6b@j%2p8Wx5qe~%b6~;u+kM`W^G6GzGW}`;alM$zAkSld9ns)# zZ~ueLq>mHZ#+m9&uFcnotvXyv0>DyOP{1<;_lbAzugMvd%^&&+mK|YknQ;s+bu!on zHGK>yl5sV=qA3-`0&cJ(miKe04U2DoRq29#r6XK0ten=?J^>Io&6h-A8cmX;oL zGgT-S^tAq6d5wtJOZxOaeySr*ZKy08>glOJ<|HkOxK!x%FjEJL@klJhvnteiP5bu# zYG+lX%$nI!)MLL}WD6njtBIQ>7$NN^N}E=Uimpq0twc7%EkH9Xqq0LH7g!gdM}kJk zV6(mxSi|`4IMR_=qbx!Kb}qjdQqSSQK&|yBh~gljx`&QJWc@nCQv2mj>v!3{vuU^*Ei(Bo&wRY6-O(SUSH zw2V>k(K6&|U=9;2L1E^KJM_1z#^^qPYbG5M?QfdUhLqV5P6;fKPD%41>U~#Z`kw^e z5lNybvG7dgE+Fg_)S42KHv#&FHBLV65Yeo@5X~ShJVk<=;h698-ZAQX(b;+eXFCK& z14zF&V18Xw*V+eUSlolC(;aj!3SB%|6Gk(vOi+mQif#JV)Cbo9@R)Ed|Aba}l%LG4mQ?5rj;Y z$iyu(FgS`U4lFqK5R(vHezdym4Qr_fEv)C`o(az0m3g$9=b48Rdpr7}%eVX-NO(f< z2X?WXYIm`jpXh7i0QG*#{MHmEJ);a#k`J??xtFzy)MY+K0R)p#3MYHn!7qX{Sy zGoyckpV>{8ohw43zGIjG3Twz`Sz-R{1-0m z$B{CFGa7Us&z#^jpas<*RtO@(M0*ELkboDV8FJKlmo%ajgxSFFjL-)44;B_eq+baX z?ab|rGXp!*U)tx>f&LU$0g9GHeUtk^o`$54z{4tZb=;-NPZU%9XQ9emv9{%ULGBOZ zy4vKVR%5v)gwdidOrm#hmQbtd)9F$k19|sv?bXvR%_SKNAv@qkV^bnNb9-C3-EFJA z-4lrbNtrowb=;daWfG~~76VDRzrCH-tCQyBlK{Eg`XMGNCW;rm<&%~~++u=W3s9Jx zQPlB!wK2p^=zBqHF_w=zDun!3+STbVMdCNwxeyEW9DQMn9+lg^VHaPG6=~Jp+2fnB zzoVC6Xx3KxkTZTt%@#TR$jT#q;ObANu1NR3OhY)PJ8#!#~w; z^NH_r#-#CjI7F%8#%FnRA^~Vm!_zUx#Ft!)K4%Vd+dG~3)MoxVYIT%cvgH<1n9XQp zDc3>Mxj{n28w>u%GxyN36w&qt;j3a{LgkRC3N?x(HHmo`q{bgHEkR{{*-+IVxVH4N zbE>l8_Q3C#a{Nf@?8X^M@WrV`*BQGZquBU3^az6G)(ukhDC?;h4bt?;uPN-#+VqGb zbO$>rs$c6EGH9WwKO5WaKz7)Gui~QgKR3!CCGqYYB;R0_=u1N{4hh<{)qs zlV)e)a%$c_pcM64=0sjt03R=+l1eHc$Ot!(9;lIZ)I7ni4+@h>5gNx9T$<=_xTfS z++IU0q4Hh&69mBLw$w=3MOHB5rnaA=xrwzmTN>nPi`9v9GL;?~x>a!aU_8jyQO()f zziOj23yj@%k{%&C%HDI5GM~adR2{$jmGp>I?AC%E&|ig1B#f>Lpe7iv#D;4eU{gcz z%4#)5*k!D$a4S@d^~kej&T0}b%mN|??P=~F6K``(_bvbGvKy^T^vYFv>SC^-BHs>n zvKg)EwjZrQnz4vg9^{T&Xi#t@Y)*QRGao~+BfxJO$O4AfG;~cTV9RSA^VRrBcK_&l z5WRQy_|=U8C132{p_%Tybc-UcubM;7d_h@fwWTA6(ltuF4Q99#Ymau)u{HosnLHk1 zZiClKJJztcdxv>db<;4l*Y8=mMhd!u^)JaPN~L%Qb=L`MxJVSPt#J)G))kDI z0I5W!rCGc!>aKZdw#4WQ>?vtQ7KymX=MisOX%B3Tq{PMrwWV~Nl7LqH)&-meRXr7X z2Wh}PzHKFOMX6^|+FF>dEvjv0kFw@75d+<8LGLYei%M^3-b5f?l|N!~%9U}aE0iUJ zw2FKHsuSJlj>7>|jhbRV%>kz^qrL>A)lP*gNgU&^KE4A8ebvA)#tG^H`XDrwXUx_G zE>+d%=oGEGWd4cml1$g+7G-*y(vbx2s)##H%<(T=$w->f3HVjNE>W7kpc4baT_R?B=R$6?Bbifv;q>`MMD(qC_Q2 zs22zQE_hShW-#qJAzS{8932P9)@IP{ec#wae=Wz1=u2K6>18jXS@tOl?38xb0+M1g zNw~{NMIB5Ybjyebzp@Z}cP+C!Otv>e8eSf(uYY9$JfnE_O>X+95nqEtudHFaIrjxt zzp~sv&6J%r3j;{o7m>VeBq059Id)2E6?U&U4Duz$MY>lHzzfvDD#0hnjC7$~4Ccy_ zCoM=n87V0ZF82v4j9~T{8NdgMb!cbZ!SoG;d=v&rSI4f<89;+)$F{l4A0NS3Z@WrI zO%HS}0+I+9HP(d}ivKD}@c%k-dMdGbo@2ylWACxBr8uo(e8`N^l7iLv89GZecn`N_ z!q~cQ%gnuNjxnyvN?Et%YTklAR#qb86n zYl%n8ozj_~)$gKm#fLqeGMVuiq9^&+v*x^i>GS3cUZ9Sf7}Oxn_ITiZ3$_2nqT6P* z-XugA&m?$>IQgJgD%!{tVLvMmGF=U~=PCLzC4Rm4hr0Q?pE}7BC!S7m{WlXwaT9TF zv=U$R47&?+u2lixjH3|$`x*gnE3$djMM1^dS4l2J^H$0VTiUrrW@Y^gn9_wyWrd5c z9*cQ%;up|D3tMwq7my(fy{!7gU-lMZO|tmm@-$!v5l@x1i%>$m7SS8@iQ%gkRT^Z8 zk&P5drqyp0IHPRF77Y_DII)n8!MaY6G z8R;vkE3^z0s6B)LwTEE-Q+Q5Fdv9<@ifz^nK`J7PaBgf2-jy2g^}Y z9i2-TP;TQA9fM~A8k@BBkJ&fs_&(o^S{JkGzbL=$Bl}Lv;P#Op)q;taM~|W!{RT~^ zR=mb`(lh_rYH9gp;B5g<@m18;weRm;0U~}8Y56K3x9~AmtsD%5lKj6f#o1aq2#|v$ zb+3bV793)CMnN$udz3G36#Lrw)_hBoX=Xjw$8pm6$2dRQ|6Y5}ZV#?AQdBkrbYwLt z1#p&=bmucRuzW1JJF7;hIr34~&t!^t%i)Ah#{LJ7oSoI|Or1bwGD zm9?(^hss|eBBpeYbf*>+9~)TtpR|CI2v-} zESw=~8X`+Yo*~!Wk5mN3A$wCGHvtv0e_5c|6g)hhU~I!qp`G{*MUw_GL}M(;n5&6h zJHG~HiHsD+E@{IU&?Kat{T9>mxBt`oZ+EyLb?>iW9lBM7TYJ0&z8mxjxtD~_8PBn( z?=9rC`fOea z$if}H7J0V9tb`yZIpeef!F>6*Hz~S1i8iK_Q*FfqKp_(kWL+o2mZLTj?E3X*pWQY6 zqLi)1yz@Op%5yIa(rd3&lGKOmgkvv+)C0*3~xu9(6@q=z+l`` zH1T2m2uq1a^ywS4Y$s=h`MEzM(Ov;?;Osx0kfi?xd8SmgrVQwn&=$HA-Jbd?Kv*At%fO>}Y@DjyEq(4x9)S?O^4O{SzN=#1K?I zRb@YPiH$S54ZeS#JAAJU42%&4W-v=Kem}Lj=d}hq&l7v$q5&m88iaeJQxk$nV;DL~qnm7=VDbVjG9cT8Lp$!9L-mta zmV1Y4H8RzYnqbZvNtts~}1`WiO5Qjg3nz`nUwh2he+gZJ8LtSvrk7^D;$4N1B; zs%MWV{WQwd7IyUnAKuG}ug2r4vn-Y~E+p}{qr8vnLNYKZ8z@B?Er>BrVTNFd-eu)^ zHPATLAz+>;U94l?Jx#H9gBLPd9A=it_S`)76f{loi#%Fi66a?OlPk2&KB{?Q^%%v6 zC||6oMy$9)te6`Bhu`jI&S=lLC0teh?|?r5-*8@aM?xXgBkK#P-ARMal zYw7f*-X#9w1_Nojw9Vx*fF!8RV+(IO=I-R$<^&>}(-iUK(URO*=9q|ZxE(Og`h?Z%h{IJCqU0?{V(SXsYj$%@U z)hS_ak`Xdbgc+lVO#l*5Mstec*u*h`F?9Ax%oF3rC~6adYh=+aKpdM0CNR2A31pLu zw0WXpm~kSlJ`+3T6a~j16FXxNj!z956MJ_4o@HX?7{xq=j=66?)2(EMmP(X_p+joF(g`ixPyB?1pWcd$T3 zPkA(sC7a-6;#wv?e{xw^Z-N_T*};Wi(=M^bF4lk)^<7Vi%Wqg+{buae)MN(5&BG|5 zX{=;vF$!;QsOj0=cW7nd2BDXbnj2ga1}Ec(@HI+_@)|-fG=Z$a3T+O@2Zvn6c$VB7 z`aw`Usn1YU24^K2jvm4fo?OE?8XXMvz#dH2poIp8eqay}?=zGb!&*6m142E(h^v5l zqINJ>^x%s6wxq5R?csx|8cN}s`nJU2;LZ)8fW}wk6%cyiXjm(*PzuJ3Xzrk%c<1y! zVNp7ohE%v==r)AH&^}i*IRtwyae7d#7+vlI?>{EW22}J3gmcPJR|vgmWkcgLGzK_( zA#ormAVyi%_$OQ{blca$AAQ1N6$}lraEnlF@P(ay+>{GwD>$K95U*H;X?<-J3pgv> zq5Kf*amrf8`Q!_jD=48a5bIHMqQ+fl1PJy#;*_8ZF>9uV9ykT42R?B%(1nCGO#=(s zB~IkcP&VSZd?*gYdi<-g`WSYoCPZzBbA2BQSqsjJSSUBdD?(vyU$2xkE!y7v zIwBQLVTkC5=orQdkIv^U|MY-t;^zM3Y4EDo#ZuE?wU|pnoOa1B3iuJHG9_DmMxpAM zM#D29POpT)QI!k!1U6cIP>kOuk-tmY!zKRogk*72p>tcocTT}~Oo3pR2H7o{#4|xr zujJ+u_C3RILGrPchEGOBrz8^vJd0zK_BzDp2v&0hQ}CSN^PKqb9Ccrk(eyyo5fo$3H~@IkdFbiu0f`8 zdy>C^u92g7s}y`gW|0BJyKGX8GWngWUe&Ld?On338%D=^j|ZqfrHMTgf^kktUT;wn zaf&T_vF(~+1QPe5l2--p32hbuhxFBl}W(U z9g@@oGL1$Vp^Xy5%Z~@=M}-*Yc!CQOt`P--Ga8{&8U;`N-Yj6&F3EjIHs@x*?zcy} z(NngvaG>rn*Jist#qwr}7xAYJzYO1{O7&*((ogA61H!c( zlKZIaeZ#Havl}J3j$jg=@t(9|qYhc4F4^r4+3il*hz+W8rW&inKpr&$8-Q-G>NG!QPy;aU^vn*#V>Uv;|#G8>ajxdk*?lPJt;fooTikwZgGeL z+an=MhbljNKV?4+&(u+NW+N#Fny5HSuVnXandCQhXmpy~!&SqpTPbG0KMxO9oPJ?MSwaa5It9d9Dlq5UiqGuJ_V8)q7a zo@A^?zO6k#f}P%1(4~rxFtmJobHpYtDZ0=|E&58wFTBchOKYPt3j^@}7Cop;AvicpSvnX@i8%yJeYC`z)!F=Pj9LrV2EJ0Y zHMOy|Wwy~j2s^l)ORS}>M6H!KBDU5xI@zq7F59k~dD-O;2i9LizALQbkG2@NWUgIy zsIKL8bgpf6w5=Vv1hfRW6t}YMTG|?o^psr0`xyzKwF3q49#bDQHk8(uU4m@3hx}Td z_B1ZKo*32&pSoHHZ&ue5pZeE+Kgq5=-YD6O?rtx|jn>aA4qg2Yj1(z*#|u&s7$3GS z@1R(-scU%6q#+T7x{VR|9>2zo$#tn>uE>b|B56u*xcEHmHA zu2BnD7#vpH{`x!J%IL3kff^Y3Kr5otH6c=Ku$OKfbaU2v_GWki6Quu|{j20X8LfKr z8(o!zIDRhG!m^FHUoN#^!6;SCZ!=8GGZ%Q4vm1Cu4`!3<8Cw5hTB^4iKMcp?s66w{ zv)^}AN?by#^WsW3?(=Fw68D_5SO(Wj;CUhWd!*S>-?AgOp2(w6!v!~;N9vIi(;}ru z+O);eA(+mb6){w*hxyc@#?CBWX;hltBD<(+cOjSTK&{<&-^QV4-!{mpW%hkpfHH~;Fi6n-pMQ%CvU zm$>@ImW2CGmoW8css{CVf_Zxs!TLRp;A-EV5~7|!uxF1L*vogY#Lc(3B`K@k?!6zip=@!@bY@hU=dtB?TjXr0K zdAPn^iN4-T#-_xo)O|sq3~5fFRItiR(MR2%O{d%@-fvU2w1U3Gi@wLGv0RpwolG{aXli1i*d zK$)OkB!%WAWS-$z0!(lwG0%T82!=TwoF6$uEuWs3F6pU@|E5lJpQQ zEcGRzhU|DRboZrL91zg$T>md)PClP3W{wtN{$6(A?~A!frZ8}&LWJ4BPzgJ5p&UN_ z{^Z2v1@i=WhksIfpLybOr-L>qVll*itMoS-E&uz7J%e9NtfhpG(Nb!wRjjs$X4=U& zq;=6s*SsuV1f zE6tJc6=9MtsiIq`kfUV4aInjN1mECZO<-#xu&*(uB2HKdUL@>few;+MQ;B18W6O=0 zf1M?fI1l9|Xyn*c9%7CRK);eW|B(^9Lej`+N;%{hxrp9HnFc%uRZu=iVxjqwk5E3q z-hz790@=XCklN+GsPY1 zkE}(HAmf%G`k_tgf@kV8^e0kmC<1*RUHXgCKS`n}Zxk1-UACd$k+A5bVjHo%FfM>y zZOOgf5%S*fC%WDF$USr`O5t#8!BO}~Gc;NX6zQDM&!e!LdJWM>>O@MlU#CT?p%YRl zN?@UvQD^{L`=wA=6&t$IlA+bbWKHHO-*%AyGs4d2-s)FU;kPht83tk*3nBep_ z5k5xe&eIc1!%k4~UjeOKhsuCd7W;)Xfwtz_I{-tELzia*T|?4p`9pilWd~?e_1WU2 z+GFuLtL{CGp(!5vC3>q31Fv$euF6AqHgzjumRNP9%20wozO?PRoAIGp1q8`>FhI1* z#aLJE{yVX^UMBCQy?DGLdW*c!j|7V5;gLSUzRDQ*jO@@3x$XuH&a}Tz-AMG2?ws}) znrmC%ANQy)Cakh=UQINL&-d(3j(U?Wu)#h}8i%=lyPm1EmV0D3o#+;YZ>_%c)V}A?b_mOrhGia;`_qIEMDZ2OzCo=$Fl(gAT&s9wydBWXBdg^Y*2%&iJaky+)2ESF~$QjSGbq|9 za?^8d$rw)&*Fc=)t{E29eSQ1$oroCO-?~znl!FvQs~NZZs~tP? zh=>J|1$PO&E`TF|Ll;Mp9n+v0FQClMWECJp`!$ig(~o*xJhY`i=KEW}vpV~<>f~g$ z{t@*H?#e7>6f$f!N*mtFNcE0O2^58K1!t?zbw^Y04b2e=YAuP& zWKXtZ^$e_L_R+2TZ4zf)Nzy|WxsU1zTZyf&Oz?1-dJ%Tq%YeI&NE02`{r6WPM|1Vr zEc#cv@%p~;oh>**f??;E^?)e_GK#Zx}ryib3zks?0m z|G>d_(u*ERBCO&UVbkMO-0l*{Xl?fy!c*<2PDxJRA*R7~sX?SQit|M+W@rrP<}CkF zW=5AY%RY2Xner|NK z=g4qI=xAo+F@BlnOZf^tS*!-39rqIc%Gd~vL|cCdhz0M*vKX2B^pOdjc(|O}iC#MF z$nxdW&_SY#gky)_s>9+>tCT<{C7M~8J$)FkK5GdoqYzAW84T4irv;hr?*a$)2}J;e!XD02{Dfe->QwvEz) zMa|h%#pt8|6uv6}Ju4g`Hnx`HmX4L^eKNR^fA5Tr)s;@a_;bo6)>?O=YcwAa2 zCgVg`0(toA&;zRazA}A^lzy1$gXFxBH`@OqHzYz*rt?Y8^uHy?{vXL%*jqSQIR2mD z6yzaPu!LsoRX6~z|AHY3Q=GZQqABRakcPs3tb3o9(pYYdW%G!ORBOx?k zy3CIrZn?1><+*KlUFFw1eVJ*@m&PE(;Re{lM@EGagTBdEHOfPT>6Oax=;K3S!KttJ z_O_R@*R_>fwIRh`$x>dN1(wrGk1Q*tuI@wI>GMypX+ex9pNf(#UXLPFXW-x zOdlL8+IWx#6U$sk-g|LakPtmECdre~yOocJ>cTJJ;%3MYEAIzl@?U1STO`iv?fV5* zNH4fkEP``%f>PAz6E2jEbpwr=&T$eX40rBCP#{|Q3?e3YNmivWR|8Ns=Sm%?&SKx- zbyhHW|Lvh75WRIo_Wf~^;}s8%N4z#j6n`MRVdVQX<{9NmsOu3GyS4&+=Jn2^k3Ann;@t)KdBl0x6}mwBQ<*qZwprm zCkF=;M{}UJv+Mt+yIf@<`Oi=pkXa_!rAe)JWN7OLggVwu&|d)LcL;^ze& z&`WOXo2hyd8lphYija&&kBjT?G`9ncr1au{8dcLV8-G~bW}pU4ayscZkEhxiZTWmu z5vi3g)OMZrhG17Ji$k0GPJY!u=~fG;>()~yZK02&M~K;4C!B@Pd(UK_f7k>=Vm;M2 zQ$F455;0Dh&wyOduy@16zJ48*(_|7Xp6K`o5RFCm9`mhR6Q!KZ*4`s(q8TK&{U1P_ z77OUa(qjf5Z#?oq2I0J5OSuvV}ChuH_&Gj>pu*jdEH5(!jYHFo<3%*qXHVceKZkSjJw+?XQiZ2+gzL|@8O()W zpN$R+XEU(NOYsR{>c55XpJSPuhpDTFy~Y0~hX2(GC0AFs+5FE=DD+kJf9r%W&+4XT z;NENUf=OP!zE>PyGDNZjbZ_`w9&ET>PQAbRetdC`3K3LYX=$`D%Lc_doU@x}3F5s3 z_y0tNC_EL8r$A>@*DdsQ_bCWCP@FMvbm!g8>T2)t4DsVvXE`|8$F|X*6g?#jU$7~i zHC`MfhsV)lM|0pHfLq)PSt(jT5W0N)ndBm5r~4wCWJJymY2klU5X#M9TmfKaJ!HUW ze9cY#r(AJMk>57vB~dK+JE76mWu`{xFTB-Q8?YqXq{QKzZ;X7_`GFKR{4}TTTfu=$ zhc5h|2Rir267X|oH?V>#hcP;I)8ML0HU3LveRmhW5 z!WBjkH7^#2%Y0`af{B%!=-28LHEnrq>Ka-fNbUoSLQYR>=JdNCV*!x=Ma{L=A>=>D zvj3brxLde7*f^Tl{~y@?SGt$n(Mhn)q6}vZ(TUq1LSaoN3CBkzU&k&BL%f=c+}!+C zWb*$>_m2BVOS?KN>rOKRKfFJM6W7Duq}|?NVv-Ds1=w?7>FUS&_Zx3BP`eKvsZddb z>k2G9GHZQi4*OFFjqs44nZt!gmcO<5yLzsoVZunMI#{30Jl-xK{L|7av0y$;&VARI ztYs873Rp^v@^kx0m*&1ElLIyBjfm2n4Eyn_g|$%=>2eu)L|>Ys@mEx-2uA0N!}kZe z#{q3rpc+l*Opfo%7;R4B3VNbVSYl&?S#c=);P@{lyi>Q{xYR_Db1crlJ)OImk-M6q z6JA_cm_c~4NFc@FzxZrcqPMb83G?ILFS$5;SXPmFvMwM7o?4LqJM?*`C=Bjg|FBcL!Rg$$&Lr0UFsTs_aZL8ZdHB_6a z$?aejus*od-V>4e?3eeL<97u@G~M35`uqIx>YaZicttYnzwLG$7W5#3@`e5uL*g69 zkUOfg$}tF!Z4mO?6zkA8)ML}MFnS=AWwt4b#VmDEM&GmK45hO8zCWTK9hW42DN{iT z;&J5$8a9bF1H$0bY!Mg@k=_dZfQfquLxKqz6Zc0n-HoZ7{^z~ex%pC)H=o80v~-_> zq>}E%c785pQInS}JD%=&a(Ffx%xWu^N6u)P@HA2O_s-X-iulYeda72{XG@y3D6$|qF zYJ`u7zIDzVuZl`9FZXp+EN_^cVRx0CYun<>&hX3cscldY9a>g7}5@l-lP66-avxoBEoZ zr-=3x-6snXgvkrsA!Tq~3+cgDP3L5V4>!+X;zJMqPF0|irKkk+HTgTRF9b5#6$TL&OV1p-ZXD&rO~r$(o^uv9=~K=HK18HZc?CGw{P-O(6nfR{q~SB-j-#b zJ>HgWA2IHkX&*oSka_-n93|^KVLXp@RgK1P&3rcN+$WisYgL}cZ`iy(^Bg(3$EN8c zbWl%B|A1+uLa_>?3WNm4Z$^h>)5^8xy@bLoy>{Tlb` z5-4+h|Kj~t(D>$*WIsYq1SMP4P|=^*-P9omvr{7yUeDNd} zrJaqdEap!n2>%3qC;tcQ_pKne?c?>gqK*Gc%Y4BdD$==PB?TnFOj}o65YkE0#zw`* zSJngwRDli|Nd+GKjh080FH6PMU}j>mK-1LL;T93)s-&x$VxrG7QrE?ou@fvVu|Mp7 zD>9ZV{t?D8ft!W}jrqfN(MD6X1*!{>E%K|uUGp#r`T#_vWU<;^1kM?F=FAxzUp>NQ zW;i!c)#fkv3bgQXIm!8oBx!lc3d0mF=IyIv1GF%)Ip`Qj3Ihfo&Wb9@vy4qlqqpp= zgeoY=lP0F|00gSZI9LGLO`PWw;}cU#E(CgeTx+zK7 zNzl-N1BaMyG5;Kd}9D)T>60?P;Q}+kS&G#*>$`8=7qs~$jtJ#YhY%L8*V$;T~ zDgMrvA6Vtdo2yYpSR9mCSSe98;m5gX8?HGARZp||c^eYMiEG65XCiCi1Msvd*=fH` zjuGUQV(6M`YQhM$4kVh#k|bxBgZ1`gn$Aboc4C@1Xw9q2)^^1i2DT`z$k$Ca&o}Nk z{leBTxo7|^Y5*D7b8@}Z(=pMwndz~TBgHXPzRYLnO#C{7)0n}TaZN%=b6g^cxE=xn zm*64G6F0=ks7tBE#F=^~rusWt&(YJLW)*B2LO2358X<9mUtkhZnFI}b6Y678ws2xj^1;ZiWILnC_O;Za+B$^{0qLlbsfb_m06hUZgEdt zh8;~x*J0(JC6ULlfJrN1Y0Ki_7I4!wJY+3Oc9DF}EN(vLgJ#_Qo6-G^>w91a%(Ksr zgIBdm2tR2x7eeu8l3@iFJkXv>0Lsu$?EScjsqy?Y5gIivHn?^p>SsTa7>kiZ^U}S# zC+agI7!^euuQ;7Ml5EW9cx*q$M`;G_eA`O~;t0mxRmC-e1V<^f-gqS+5IA zm>H^R%g}H7!-Zok#gTYY>`A%VBHT)V4QGt@jo%W@uIJErAbv&;fn;94EIYSm8IqBG zD?U{ojMm)gv_RzGA~F18JV{>sRcL0-$q~o%!}C(Y*n^S%Lo00a*vXtj0!0*Neg|x! zBZ~Ro9JkI(4K?5Vbj>0uSyj-Fz>cdFi4nvxvlBBiN|S1T$40--GUw>%X!fRvMVvR? z^7W`-r=>g^rYv+hlUH2~Obl$r7e&gU7-;LWS66f= zv!iHl6_b=(_u6bzleeF4D?0kN3HC^l#itY(;WMIE@BPJTcGIieBeSqr0b zm30iYbyf6r^rZmWpshqonl4OB*t|xTiEpShpI@s!ykws1nkRIWznF23rB#ES4lmrA zA{J55X|WkDowo$!hy>ZN%NZgr|43zFs%6SETJW=Wq1F}B4^30#8vd>x8?&u!TTCja zO-Q?J(n|0Qe?!+noC6U?Z5<$w$QX@_y~wlxyD0v5EueypX2c8@ATH3rf%yXESHIX{ zK!%ziO2>Ks;B%wNBUca<->&y`mn{j6T9QrTf8MQZR>^ z_~F^U+McVrnz|}q=f2l!6c{-(GYi*gR4MrqF?aL$>iZa1H>(o=Up2dc>p z6XD1yUg9ozekHz`b+7L>bKG2g$Cy=aC%sj-`uJwIYVY;)-?)`^$p^kvI>t5&9ROwW z$%~hoo~`4e?n|{)Vy{@M?!3HOE)+v4)gIis05oKvPAxmV)w=dCVPu}AdL!rA6jD9L zeD^CI52;BnZs^xxS{TG|graJ)6SiNn(tk3|2pO>^0*5|+D=LOlhNt9(3Sw!5#9x@> zUP1j|l$}#>CSCOIzlm+zww;MN!NkTJ+vdc0V_Os3HYR>!+qQM`uXBA)om17-yLxx; zuD6ZZ;do| zzSZ-&^Q0(U?k@0w{?_rh7{T;j4V!YNNLN>7fD2i$he!De-4&`W)Y75pl*{fu&)l6K zBi*?+za=W_<0I;j^Fv5YHy&kcg4efT5$MxLk@E6K%E2^dGAy<)$|!TQYRa^wNLnf0L}SCTX&>H6*1-3Gs*oz?<`^YB)F` z^|I-=DKzs1gW>oNek0V@*0&b9yE#H;yTD8sff|cRnDn->hkrC#AqbqIA`lt=b9Pu9 zbFY(%E5afj?V%ctlz&Y0#avnH5g+}erI<~YU?CWR=~(O87{gfjCIOXvMxI|$ztPs` z_5jBIUP#TlC=ferBk*53Qpt>pO--n15WTREV<}Aot%#6N@RL<>oM7rbfdnPOe6*5& zDhMSzJT!rmMXZx0Z2Inm@{Hds;8>f3B%sP#n)>e`dNt|@H|j`KNG^HmXIx**K?$qh zZ&{=(ahCtMni6sEYr3FGsbe12p;5;tYkK2H7Flm+hA>-W*^df_>C0K&2uiRaKB=CJC6%dIy|du7cLW?qvF7l;9hjbV*dmLw2og^7Cuc( zLLcDrb*ZG3BpFFcy6vT<1evCZIQO4R7hXZiwq$lLv*`~udQ?U%gp1HRMxc_NgBsr@ z{@xtT9!uEIFmdy-);icPG3$i1D3NKXu-*3HVJjmF1DA)6H~~y>sabzK$NK7=-|xr~ zpJ75%G>&h3pK4N}k*CK=>wB?((BAm`Afb|7Ca_SV1~J^r{HlKsx=uCVDHj-!Zj1d9 zY!vsFK(}>OfPHj9+XIJvv_V4$hxL88jYD`7+Z5sqhu{|R{(Bf?b4g5XrxRptaF+aE zCM;Sa0ab4p#+R7ESI_`fgv@8~b7;CyW2Pi0K)mEv3Ho1?e(R)K_Jop$8{y}$_;W=P zazO{P2y~cQ|qiIO3e1-Yo05{%@BpT?CPhSVXK?l2UVW<%vS@6oosq$ z9xw1dC8_p@I-P8Zdf`ZCD=!=Ryz)p-w?LmnjhHws1hSxZnySuD2U=Q+8Uk7=Rtw)@ zM^8@!Jh^6q$vizVxM-0E&`sI#a2&6GI{k=;CmW}G^~BvRhR?43H9$X|xz4Jj!Ewk^ zZNzwA=Sf=iJ6h{CP2B73Bz6Vm{-kr|(^t5@{UMG-!4lqEGXEjYJ30=H?ui8E$aHas zQqG!=B@AQ>MU$p>`12KFx7Xtc-}%ns-#?xkf8^;2#d(7%tbU}hcyPe_U&b8<^K?=9 z01N{4x6#xBeaV=mKCd2@*9%O?PBy~pr{ZN&Dq$RZrxVqb-W1ve2vJbSASP5}Ke^$6 zpeBo6%F`2z(U^ycfmlYdjtprat6}k2UntV*McgE4Tz4+$`qm~#Rc8XMGM+1OShkZi z>fl9RC}XU-y5k%t$y3cKhvDXyKzl_O3;>fQS7=SDT_EwUf%GT!2vu&9I%TXR6b>eu zk|n0s0}Q=Xx{TrOHbPv1j3s>*OKH_pT!EA&xt9ZM4i*C~O~mk96wEQGP|%>EPog~V z@R`cBH6B%(yaI9ftrE`r&U!!`qSBDEy=QgP8idZ-)93$MQKgybplH*>r1HARq)>G zzU*Rlko^1TpRc=rprLet2~l07fTgmkCa(W$8xM@W>;&vL{t}ueVW1ksw{vqwFCv5; zg#&sZC&d5Gh=8?#YRRl}kMdsd!~HCcWNsKZ!d81H)&=;eaMR-Xg`kP|d+Puw>CtDx z1bl-y;8PGmu<}dci;R#181s5@^fZ_z)fo7AFm2gP>BE?m=NvX$KO3e6$_XoAMG}7x z;6%Uq&s2CJoy?7sL~`0mdhV2)iPQf9($v8IAP$rUQ`X-EB2-5YqlN13Cd(a!=x=6^ zczF`Unt~!t%c*!2Vk%;Sz3hgHXghDoJnK@QwgqPP`DdY=j4m7CVY*x1vJO1WnvQ3e?l;w!;+Jek{Bfgb(hk^ z?hcVKQ|8Px7=9jAcUp*Od77GedTQ}z<7QuwQg9k20j9{Do+anim@69V`_Q*QlD?(< zbJ!`ViS8XJ4_bJHouhVIr}L`mV_ryrpbgV(qr>Wkjdk23?8$Efv?+7fdbun8;uSFw z37hi#qU7DnCjL7Mi|qo3MFzewq>C>8(4mWt1Mn2lqv3+Hz zwDed>L}erh0d6X1?dzAnI&8gl^F~N%-avbq`2cm(a@XU{CT<4@b|GYjmZs1+@Azn8 zL)JCi&~u>W(L6U?>d{jTl~s8xsj9(DepV7I!h^$p|14w(`;lqNEdG4MyPw`1-(UlO z*UoBw%r2xUK#o50C<$w_U}=;7v?4p^ZPoVn-{oGO;9x1TN=_&apTANrID;uR7yx^w zh34G2D7EcaF0OlCf?4X74cnJ@R-^S8Q`+F9phoo73fmWPmR|3^N!sA3K!en`D@q@D zkI3{YS!C}tV;!e|R$wpbl^xX$d7`6t?^R^)Jkvt%8y3}#e$t_Pzaee!FoPezxnFQ4 z;?)qf`RBfi=~bwxLihedT6nvFSp1a~`-5fndnLK__sUqZt_=wd@~#1iD{-&Xs7>HK z5q1~$i7%6v@GP|MJwTe+WhR!~_n!o@#;_>-=suO%soESE6%Ka`*BO$XKa)o{)xNpeTQ_(KC z=`3;EacunOpaikhs|xl9?rd(yF>~DKti%`gNsaFPlC=L`LC-g|4f{iIR=D+;IR0}~ z;w$=|ndw!d$lrOUhx{Wf>J$A0o#~aiNU{C6Ctm2F;7jDyCGN14na6pCz;dU6ayBDs zF`i4eF{1IHKu|iY?Ynt)hp8QP7O3X}G5brm5&1+Kn=r(sG0HB|g&li?-~q7GWY^(;~4 zkUfIvzT*Bag7r0-Sa%l5n4+E&P0gKdBn3Bz$e=gg)}A00LV?~sa6*B9eL;jiF+pKG zJd=H5gjtu{2+-zy9%(^g{2swU4Fm$SeT4*B7uz#PQ;rVRK_fiRy3j|wJX?K`NJMAb zjz~mT+ptJE$J;VUIp^DV1Oh{S-!Go*n|L&ZA?fdJHz9Se z^qmp-MD;TU+~~Y`1-Fnc;CB(-dUH6UfWi|>x4s1t5leUcC|(y}?+Sj{#*$A=3J3CW z0U5~sfIX!Da$BJXiQ?A4fgY-dlgqt)3rZ>-wR0$fw)>f-{_Rvw8Cei`rO5n%J+Jd0 zjF0~vqXPg>0d?>bhT}lhbR7|HgAi%W8f|;?CHO|7gGL3#%onWl%p30)Uj^Z=EYESP zS}Vmjx1~l?!&S9+zY;selIm+uD~+xJHMLgt^B*OrZ9E7M7dAHQL=b{*fh~`fT)S{K z{Y@PsoE5dbmHl81a4N59V(6bF{xCXuhfl_q4|=9HoWWP2l6A*N97Mz&=wwuv!BkF* zOcuW(CmR5JZek`3R8l))E||xK-UO@Fbj<;a+bXTx{fi(mqx{e%_f@tnU&)&@i2>T=x_#L;9OFi1xBqcSFj=RRkD3sMT>%%L^1Goqlf#V`K*rpS0ti)3 zs((Tg?RoX(xWeP!@({yJ*jJ;&H(=W3xe9<`^O2jfI{WYE5)r)%)^e^vm`y;I8p*rXAf%<7&+N@=G?#@|>E=e0 z*ou$Z!X#0qIWkwU(pzzH&Nk`p$Z`{D7us0<*-r*voWT5 zp9)Vb3LIofR%JO)bewexydlyyswx_|qfGX@dCj|yXwWNmO=%NW zV~Fentb8WygcCLb8f*(b6I#E+=Jpy~GooLE&+V9-^$Jgz=$q9I!|>O^V2xzdLL35u zv@q~TGU_83LMIIwm%$bj)M^)PP_2XNjQE@Xxb}KJ^lG^pwKP=Qke`L#odq^T4ZS=V zE>xDF{qc6-vL?w?c{kdD3A^5S-Zz3*s(rlfDrNEu#mp)|Mt%pEd-n5z3lgybD}fmd zU`UxH9-v0|3wYy^AjKLsN0lu_NI>dw>n$01AWqT%Ot*fPg5+oeKhAk>fnuya!FfF1IdOlz{(t~;yeHL}T|9Q# z>C$muAWz`8^{A(fn3F!FZNV>{dYuFlDF|_X2C8!q9J<6?d8oKfEN}+Apo+iXSB6N0 z8-&iE>UPB)d`A=Px--n~_$t!#@W-+n25_$id7R$R zJ|!*!HZ3f9!$Kpj@j%%W_|$rz)-23kD=w@{!#zXv%>UGE$OQgP1r6Bn35=NaDyu^< zH}GEL(T6^1@%jv6^*c7hbel)**dq`t?6npw|D|ai*YbA5JsYYv{8&!5`L83?v^JR` zS1*dJ8&2Zg%Z;cbaMFl-$LF$F`)rxb4L+qC)A_PjYa{fo9bDx~m8^>hZ{UDtRw`Mu zS~A{GIl{D?eAdW;0P8L_sn;L*?s;6c)w_W~L8K$bnP|{Jt^WgceVEpPdxcG^$kq5g zKza)g<;3+zy#Ba>yZGyHfV6>aRHIy6jT`K(D%!q0%Nd%q9oX|LTaen}}Hb zf`}W2G&6ygz?s!6z)B2BgX$#nczZQNgQc7_0ql8@W^=!h^8+^Tbqj&a0M^pE)p33+ zCrus=yda_0zcNy|w3+d#W1x1Sqyl3zbxJIDoZgUMOUGzsXt4H1@Nr-`17%*!yn9W) zb~)+HWt*Z!4=Q;D>8QG1p*3RBh|ux4C5~yJ5ye-B(a%b20wDq^S-m}!Q6fg(iG>*M zRco7oNDKR5bMPdR$kqQO!dGnr%EH_20&c>+Yy()s(YStM73?FjU?}$>vivs_fEX8S zaSe4GVS(dS6CP?G*c>joraFaX@rTA9J(yhdBVs_ZXIR}{t7%?G*n9oMx`JC!QV1Mq zyl*7E0SjKPg!X53YH!gk#b7O-y1qYXwc4?2Aw~q*f`rlCS4h4vO)_j(dPd@IO&P-% zPJ=vXGvtzP$ErKAw(3|D9w+o#-!*}D1w5|-TA5G)LjT^mfVI|Ys#(lj9Z}2yg4YIF z-o)F852+{oBFyO#hrtwDc}EbbV%exQSrArd8CBJ7x{v8mfUcwP8p9h^--x+S=iJmI ztSjnZCTMNBJPz%$kLxJ+rXUc`DNp__U36H6Yk2jJ!AC!87~@WNm&j(j|&u zb;1}P_{I8Y8|uh3RK)10*S=fcc!ci(9bL<}`|2{Za1wnshnZ}|{g;I}lG0>FL1@smr))A1hg%rDCu1HgUP`)h1(X!I`lS0NKH z_#s5Aj35oZiL!N6st|LL&~MTz*6|Eo%EJ4~%b(Pbv3ytfF7}CfS(9piKn%zTyQOt%CPc>-dLjf@>c%_6Skkz089i%5H!PVe;qC4C_;5jeA z;Esn6SJMIcKn;7pr_C)zA;+lYEFgKN|_vFQ$`@r9;)={0oDF=j+!KPk}|;3Lx9IRoR5iia4q}S zIjEi*05JLaSVZn^7Hv76gN=AW$ivvrG0M;KPVr8oN^irD`xk^(k{K|k(4S zx}Do*5+dZf6J3tHFZ7{OCEpw}r}q;=PIU_z=x9YgZt@S!D$UPl*vX|w-@;M9Wxkf_ z*F$obT}2RfHB5I68;4xwrpvm?)=<0?G{sZdCDTs zBkdmO6@9PqgG(z2Ai-s{^MjmljN~8g@s*VtD7_UD78rgAy`2@&P5S+d+B;{gnhC$H zSD0BgD9Rmq{jaDz3ZuqepZmEMo+WAAZJvSms!D=fO+JQpNbQba0u>c-agf z%Ohn~ndIVNQw#pIqpaRW<*^%t%6q_4+>Xb?YV4~Om`MwNg;+!5D;HF zA!$0oYm)(-g(wUXkb|2%B3rWwHWR-r6jqh!q;M0l!+b{SO^cW~+;En9;t3`Y1?=hbT(Wx_+z3uAX_b;D=eg2xRK2Z_9sL~n-~F;ri9 ze3HrUPWPH%T%6E=hNM%ku?>ZG**+6i`!uuGHM36b-`&?kMyJYfBPJoI?9w%_kUyze znuz1`z7S=gqN8m%8mF8a(chW94<@J`-!ct{GoeW^HJEA+#}1&gom0viRD=FzFf2sY zu9qlL%$Fhut}1ubLLLWW8zK(1(NTa=!l9$OOJqU2m{=T9^Sq2AT}u5Z1Q;(?95k@L zDmid}hVpwf200UC9VLxZGb9SCodbZ|9ejNN*=&fZiALadL>_{N0H6F8gt|*w9puM4 z%i1(z!~fTC>r9R^!y70Op z+^<~4aT^D1GoU4>n_>m4LWNwgRRLq27APec+6I%hapzuoh~O2IjL_7?lQu(%H(5+5w>5q&hx?kT*jp8N!r^CPdX9 ztF#lGQl29UGb~9c1=7hakWB}I_JFpTGk2r&iueM=kaSIEuaM-UK>?sOTcATITf2SZ>H{V($+cBY ztovypuA357A4FCc$RK@x7)H=$(;=}K|0nEg<48XI7e@QtG|2A@d-p}-n(Pb7_72%1 z^DCHJxvv}8`INJLoe$c!&L4>F4-gI>q6-dV!~`zGq4rf{|5}DZ9lb=IvB|U;E0=(8 zmTNRq4Cgx6nn~$mSiOrc04FAIzaA~X&!ud?lOT&>#uR)}E5J6OMSG!}N!_CP{j427 zW{(N}a$(HkuZgg;HmLNOjx*eYI`E=s4Dlrujq%$AUMw0FIM_xeyC3mb@RK6Sv7jf7 zA~bx|IE_bfKdQ{QI*sWtLTi^ynL<5+cNeOND-x|vFDWv+Kv#f~Zm^=@cPArOq~ehA zO{ON@C&qY@lrCA}(BJwdO{R{Bano{5Qs@ZleVV%8G3ZNUw7Yz~a+L|#;S0CMj)k2v zmGRtBI{SjV>TNnU-*S4r+kjRbAyTe?h0;9?-+D>Z9@1tSIS(AN6{wL^SabS3>=F&u z&TCGAk*{Kuc;?%q+tE+mM~K6m-)+eJZAK`}HM?I*wKT{)o3UXNd0RPSsi2%3$%R>6 zB8%m1MqPJ#I=hbc0M|z!QBvuS(7t7S zmh43AiE>Y8>NZSyP78@p)I@j8Y7%b;K1Vl+tt!^GGP9e8c-}X zVC^f6q6MH1&E{OIGfX6{!aqb;|j?|e21o0S0_b9iO83;!0ngka0yE_Y2OO`}lg zr|G9Y~|c4b{WVrsV95il@oh%CVyJA==mCm1es zK~j=h8sQ$pu1jb2NNQIK8FD^f^imrrcx~4@cWD?rDb{~f-He_r=(9`7IXNB~Dsik# z-JRn}iGiPqLR99-HbrxLzQ;n47I_c%d4<0{srgspPnP>#p8bH=-XU^BDarc|=)B~R zEWcd^ISktof_|Tb{ADAkP5~M=*&tY(Lf9k;c}Pq4p{`)$Br|URT0s*^soM5l!ShSB z-DX}%!L1j(8;xO5cr@!WamQi?Xw^pp#NrfE1+}PlQQ3rgJ1j*uO$kBxN}b~wk;9Sh zdwQMxY`q=iV4eK(;yj(1q!|z%Ejay(Vqr>~50Xvq;8O$P87?*#x|m^iRt_d!BW%~g*@?#lYkM}EVY@(&=P0PAbKs`KyHG38ST%0dtoFsLsT-|Y<=QWs z`nL5}=6Z#RU0BBUpnDD#)3sVhsJT{ht*qO&an2hOTb~NU|L2LcXqyaK6x)i0BUua- zC@Z#PNyGQ+m_RoPWhxnmF0LAr+;EjvF#&z8aCB%+-WDl7>$j;H`(T_gCWx8`lSH7;E}mH&*3*q|>Pw7-S|54(9Rc6)e8nsxKP zvr&{xZddseOA4BSz`=hhZ`*hgcl2dX(o2zb=c!n$16K}U*odsw!Qg^@{V)xZ45Bk^ z$M657;#yir?d_#DH-B6l=yQ<01#C*-QV@rc-lCWQ;siB>e%$S&YBJ@D0d55<6PSB# zZzVi11||q^IX&dNk)#gruj_r#^%L#;SYNn&D7Hej4$K`y{a~mMq@rb9{_LAq#tTf5 zp-7EQV}4BzPYRr_v!<~?*r8R;i`a4LM)Z+)39!IC8o|hnbW-bub<6~&LKjHr%pe_m zA35w#J^o9aoC!JoSq!nXt?@7xfUwS0iZL_8d&x+_&Mut}Yt}1ZN_~D7s@ZOrcD8Ps z&UyENtqB_Q4_uJZ(}akc_azk}-d@vX5bmW7CFQOW`j0+dr>4qMznc6GEx#k1A@hgU zpTbASJIzYp{$xO74le>ZMr2H+)v=tu4h+p#wD*{!- z^b5aNylh!I6#2t!mqKfOwek21Ol!@XP|trcM)_6(O}-W+>kJwR9y?M-{;KyP+JeO{ zQr#S`s%}bT4x=}o_>`*uyKBPrDOVqaZ!*>|X52r}#;uvhx`uCpe}*fnS)_ZG9js`S zkgci;a9Ad0sld;=!zaAh_L-4*8Tt-J7TMz7gbv-*+CDv$#ANt1T*z}XG@t}6yI1WK zUerqO+Y@CDqn=eBPmpRb5)|B%A}a#0O7eTVl|qsqWgwhBw?NTN8YQ%nz%0BHCPb{6 z`_juUFA4FiU{rq*kBwq}^}!X{Y1t84N#o&sa2D9)%}LJW&GuDp4%Ff|H4>d4x1tbG z%Pp+rwvaHmd3Jiw6gsH4K02s$Sz$c*^R{q0KWo@;H<>U^C3H#)HdVmTeT3^4B$Jf* zVv)Kt1bY2AJ!@yp%`oMQ;GzDq#Q$^KKndT!K6dyZdb3intijx|Sm|+}S2hVgn!qNl zZtjQZYA#x^7}qJR>irAXRd>8D6bxxktUETZqLVHOl|;KCQY2a0PSjyHm``UGQi(=q zk#!bt5oI4BSIFo}4=B^Y9q&%AJOBS0gnH_~cf}2XZ6}@^_V*y+<21Eg5#MVFXQ?xw?dI9AYgQ^i8pnj2P(l z`WqXDUAX3yjo@-B?5ceq6CjgQ;d=CG?6tnCXXXJ@$kW(IFk!_DB*PHOF&s-1CP=jd zF2hH~Bd z0q4pWznXQtqXdh)CZVmbt`RQ4b1HlXsV#`_?!GM~x*u`1|4qNJUC?*yzF{#QJXz5C zA1+z;+%BvV`vBekeA8}j=`Jw*mG~#OmLR`WQ{Q{qhyCXeKU3{)RJ>YY=I|qmy#O;Z zu_%sS=%_VsgCv5o(V)!8Q7>m!HG4|g`$glrO-bFd7R-u!H)G(Yz72>!68d3kSGlWV zIe#RA`krW4qN{|b_z8{p9ULt%u?(kUs2$@zZA zsZvN(VXUe}DS|=Z01z&r$ z6lLQZIF+#s9L5xjv0aHZb^bO5!Uf0GxpkKRqr}&rX4ek&kB_4}N#X}KqHyv+?DhLN z?DYih`a-4(J8}H)x(@uS(7w@34E&LM1>kZu=;QJB7gKI{H|zLq4-2=@>ioymI1p~t zR4$HNZ4Udk^*z<>$5Y6kSk(t2(?-+G6BdrSJ+-}~MY~0eG19V`$^$#D?UlG6ifUIj z;+bv@n_~NYIAcMqNzecqT2(D*qgqC4DDUlgkV2t5)1I`fZFraNVZaApA&YilVi*7Oz2HPMP63pAn)>pc zzBt9`$gdh9N}G$*IgK~)Lc+^6?4`nwz&^3lQ&Ta+eq`vaD1?~m?eh{vbH=7&(Yq~e zsVl*ct`_9`PwDLttcT&qo}YqY9#ilyP?e$z%V8hBV?GR`gi1X_G4ahPPmymYzP|=> z{zknG`Gp`yiUkw)>^eoWi{wJohLSXI@MVbdv$Bp+3G_& z;a{1j;r`*7Q$&0~`x+&n=N}O}Z*W-n zpz-4Jfy2D8b%1?#bz}YT^uqT6=+^%Vwx5Z;yLc_}iT&giF7@w2J~Oxhyt*H2y!Q&v z`X7!w7`z<4UcF0wKnR!RVzm3oYC@qiA~3b%ir%ww#M>Mjml}mL3}CE;O38EMMf@h0 zW#G(+z?6(`UA17eV_yyT25LI?%*Y5>x%Jd@zdmJWvw zlB(Vf|9VsqIO*v^50eP}5UTRfHTjRUblnWGyF9Y;Tb_AY|AOhJTlL5k85Kp)0NoBpVl~olVm0WXcMJqm2DWzykL#s&I~Bflds!_m zy$Rzft|bB-m|dr@FJXB5Y?G?`D<7(k%$XY=U-=JDd=SDt>Dk>d}-`m^&`Ew_Sd zUWAUPJ|eW7j`HoZpY-0-nwO)!RRi68uJ~TOZ_~|J;0l?41G$Lbh|RX`|LWu=2bnW0 zk?re1y`9;*O5X9kBM9#nOqrgoFuHJzK#qhQJ>8f;qv~E4JH-)*8t{`$iJ5YUAJSz} z!^7}*tJ2bOv-}JG6<91u%E4{+Qwl)k!fhsEPzVEs(_j?Nik-s|xuXRT>ac53?kORe7-c1p3;oub0|-fRyq z*i_dg=o#vcGl_SuYYr{qRje=$18o`{(L1JF(*+GH0aDRA%Xh;U=V^}AZ@sNizJbp= z0Pwew<-zp2bZ)lhYbr_1Ztue^3r{)-c)80DhAy>)vNp8ov zDJgtRShwJzan8AkU4ug$xdhzX1?;KZ0B_Qthn{uc0Y0>az#0?hJ^q!UXMLpa;)7VU zfoaA~CV|;IlXLtO`)3kl_y|6AGN;#%g6)o89f=x#qF5;3ol+bbcT$_2J;rpKDwQb{ z=WKMepueIKIDhp4&#@{~hF=huIx)QZ$y4q9OJtea#n?FKo6o+Vo0=T_6p|I0sWn-; zu#=|d@j;dZd}CN-*tx;-@P0#N)KCh)rVjkWS*J7@tVvRY${Vi?FIA^vFBYV4t?qw1 zfzn@~B}s6V-TMXIFbbgGU&#S_7Gg!b2EI(qPgO^7>)Vya$_yv|$gG=Q1oe4oLJ3W`UH z&kSMo^SRer)t|fHz4yImV0JUA7NKYMqU3Xb)Qh3pGk|#=D>w-gFgV6sf%#?_7-^G6 z^|;`36Ie>d&7o`!gh`o%hWRV7DVaA8A-GXcY)I-Ef`*8*XA}Ak@VgIYqTB4nmvNN0 z$2BAQcO07g^u?Mxuk1ft+CCAK5Q1F=LoS&BzqDy;8mD5@kFSRK{nbduJ%zW!wVVTW z;`i8VBY*WaZT_2r^+F8N*_(Rby~PDZ<;|Y`5dyy$A*tOW&Li&fldQR$P5ro6w-J7O zMewo&uP{uAF{}(UjOMKk^<h&5q6J4!*3vVg#!e&qh+TP|^PQb;6m!w(%>SleyKz z7Jq}xuyC}>O#lz~-Xi05{Kb}oO+(JrZ}*ET4Z#K4JR55#cK0SRkUxnUBelM^7rsJq z(S7Y!74cNM$~lP6g9$V^_rQ504-D8_iKD7U;JDHC{Ut!07j5N1S`>2s6JF}fdS{4a zp%_me&ayxvymz$*(*_!Ru|LrPXX#1|t9q)iy@BC14VL%)$0th!+wKUe&;&BgJC7t` zEVPXSU6-sS(tmbH!4A$S;u%5tZM+bxX_hprV)?1*NM&YFMd|5EmN5Ymhtir>F`-ct zx~+o~V)0Br!d#136}ET#em4jDW~8UAoj-0g@pKy-5) z4aA1~bC0K4>i70fz%8yLoz&h&mUb|&swU!S(;K)&vn9C-#myn8pg zqwQW0=&zV8dHGR9%$<7>hAM2@jq)tV)WVaZ6c+SjynV4Q7|&;S+SH8XY2c?Foe$YC zUB}tit2$tVkUt_a?g4G@A6kLhA)N-vw|FVp3E{{+61IpynGq_9TzL0)j7nb9EU?6o z4S@Dl;R~j;wjW=ma;4LTm|Y__D1%e}`8PYj`IOD2I4vAb{Ue_5%FINTV>xFM6%u;q zAfo?C_EY@Co72DG(3{b};L=;rzhK9k+`r(2KSh{T^rFRz$34Pm?TK@O+qkp&?8CCLGNOXDdiB&ZB3OzW!dk?12CzmYx(KocV?8-TK z(#L?r=JE~ADEg`gM(4R(bb0oPvtPa29;NxwH>wtR#UE_zyG3qu^!CHZdn*=(|JhG; zdFF||U!mIo#qIGUvNr09J6O-Rhy48T4cy3mD;EafON}!8@+rDJ;ErabxU~i2{h~m6 ze(?rv)Op3xA1nQ*cT}&z)VZvA77eDcHUN|8={5N@e zh{aEeI}$vc(S8)fNE3bWAaX690%tNUa&a*-Er7UXJOkJaNO}=M*^AT6z&y3;B1(jVE}`jX65*&e8Q%AabS%Q83iUv;o-2G< zyuLYn3TSeHav)Lv7=BBx74}YOC?QUN7;Zus!5>QEE?%$jk0`#9{Z@+NOca4loE1hy z{zR6*n4CVrm7FNTWFta`OpC!$h9ZibE5bxDT#-ym(KtzZF^Y#W;ekrMuHwxG!?KV@ zlwZ?_LT-5+&AnFW6M8+U+gs}vDfDbpQE)qo>TO|pLhcVD;)M>@{-PZ)rDRx+j zHkS5j0_b;YXo@zG_GvvRq+OtKH@Uh<#%)$D|F3!ol^*fx`zfdhUzC3HSe9>Ep`F&{ z-dc1`8$ZKE&f@M&Pe$dUXiYS;N3d~sqq^wCZ8j7Xi7!UKiOyHem@o4bO0|KVp^CZs z{?VigLg0T11SKGcQVA091y$vD3885_>Kro(;;k+|f+9OaGq>=yt#ajD%*re$o7o@3 zQhXU2hl29|61h`OHYFm3sQZvL?j}|j#ksx88GolP%4w#;(2y(fE~(GO)l|GaSf4+soxaewXP z>Kq5@{P{AG`7HShJDET>VMV#BStapjLDEFib_k;)Thp)!TSJp@Fk4-!Zt|2Or-3i( zsgh~eyP{&g(yqR3L2p>Aj%^?^QKgc|DSknvy3uQtziQJd6O%c&5p6$Hz2LoOK`N&) zp;1!ZpsFjml2VIy)uAGnYxJ~cvgLQv!Qy|mRh&v4(|AP}4N%t1+D8_-I%18&RUCp7 zc;)W(vkw^bV#JoFrz(|3uVB`#ej%KqJws!&#I=&Av08=q8kII5t(@9llVhy%^h*|& zKvplUBRos>9A(1;eCJBAJyGjQ$1cvPWeXs;n9 zA@vB(i46N+4YE~E6%*~V+J;pvOtnO!r;Zia*>5=|4mHO||A5CVaz;XM@# zZbj+C-#He0^(IbZ0BY=2&xFeKEKyv6p1<(!$;%hRUGgK(yp@%^*6@& z28KtJY~AxDrH_3|BI-HV#a;ZgEM0 z*~-+v53?N0%hn~<7oDW(Sl5!cs}#QqIZ{_WoY@#T?CWH_g!tbsT!OMQZPydz$Di47 z5&zw(TmG4ClxdL2sG7A&EZ!JSU3-Z%X;14RyVv;J_B-QZR+n<}yYqm2vT61_?$8>k zJEkW`WN=IRFxw|FdV^t-`)`{>##h3j&g}Y_i7K;p?;xjqb-9_pHE0jH`udx=3AB3$ z)T=V-G(&L9U=?$m)aWQ{b#!{^J(Lf5EsvR0Xg4|-xo)tLCZ?%Q`kbt!Wi@fSE}R+X ztk%hF6tu5Os3kX@^+yxRmtiy1R90yzsR#G)mazPV_nmd3o@%Z1Nu)yrCuf$xykxGLGx zQa#zSiLZI6wG|v6y?W@SI0vVgr+f^`qiij!OSV+~%H009DCsY!6KAQp1wDL--zDPw zP=7e7FU<9ihM~M`zF|mZ70bqkE*X3rbKc(S&VE?sX>=OrZJ%OUihb}-->+>=fqhtK^g*w_4D8c_IT`J>j_rYapdB`|Lty1J#d z*a9)Q3|iii`c6zU@SkUhgf)6?`Geh@hAl=U6Z|)=XM)#$`x;hQZ@0>R^Vq&~9bYrj za}$by=XhbFvPuN;px{T%A1l&j-XF2kN3aYQHn)qOK8A6a-K|uy{s7vT+2gJ7Hl!YR z9VG*76+5E>z5Z9u&PjX+N1^2m8nXDfd~n!_@|Fc}ouZ&*uH2=iXaE~fzOj6m7-2*H z7ce|)>xh7W7qqxvb;Iq^(ibFcP{GX+cWK$*82UJ5%z`Ml3K0OCjMY%_U;ici3%#zV zt?5cT+s~mn30#}8pcepTfje=h1-(|5_C%-o%yF)6<>CPm(JlRsR%sIPvj_&s_Jgt zp#BxPr8jreaYkC9C|bSgx7t3si{9D$tOcv8a{HB;71C4u>D`0 zy;W3P(VDKEkO0Ah1$TFMcdBrAcXzi032ueEy9IX$?(S}dyE`2A?mquGd;ER&=sp*< zYOITOQ}6pptvToS;E>kc+{j)pW2a$DZycAU*i~j$s>vnI+3H2t^`}^W(ak8`>N?!uD1e3o$XBMBXb@t7K8PH_tWSa8M=RZ zylzYpuWNYL+RPrA?~}N2!GXw(6J%-6z6D|?-W z3EdU_-Pu1o$>QWwUR_)V07>#XCeAiDt&2W&Rv8K+({;!?{RZ>Y>B{B>FTFJB?+JM2 z5fNwO5Zrpu5jf)v5fE6j;qBNhPO&Dw;c(^lXqzwMv&;Bx+Q-w0!Y{h>%cXl#9M9y= zns;>EdBQsWjX49~3HbTImSRIrh{6qc?PGx-vnS*`IOJt=)g#Q`{V40Y+47*Ub(MT` zH^u*u@ymoz);Ha66HGBFk8$cYE#!#}5bC`D9G}(J#Vc3FQK|qIF6fi>1+}KPW#NC) z&^`he9Vp-seCJ|(5rG{pSL96mWeVZw03Ae=@1uEEtyN3U;8vp&s5Z^pGr|4%T_6~3 z$G8KI_pf=6VRl6|zInL)?}b_Pp1|ed?wVZxB_p_jVbckoM@ZlCApy{y*c+4mY&eVS zG=9s(5W}UMeKwo~i5YE()E_vK6AE;6rbv8A{TS4j*&%^Ei45NKU~VpnR0s=kAPX=R zc^ZBv2c|xAkdFl@%ILcUmF;FmJfgoro>}NR zIsIY7yr`qSf#P7}s4FD9EOUJ;i1X{~Y`C=hKF^$sbBIjVY#O>rjNz zYVMdfNrM>E8iN@6?d_8?PPc`n5QCHX8>;Z6J2|Au{Iy{HX_NLcjfofB&v%Pmde=X% zSrw|OqGd79#nvJ?YjK(EYY9rlX1PzylY}6&9JOG_@TrgdyuqovVVPRrz$aiNYt z)lFltb0s7d_QlHASe>4H-l@kuHmEI86qTeYMG3?$_(LY=R||PPomxGN^Mo!!_GZ$q zL$3-rxz}I(0RpxIPO>9W-R`~{1-kw=DAdC)8fir(4kCGtUA)Hlz4w~G)X(bPLsk2 zP;&<`zeo8ooGW_Mja5`c+H3BTUzyS_RP0iOGd0a=>LTTyW} zy??j(40p+h_tuQ>Clc4_QrG;)4%|zJCYP!IwET7b#rTIxW?^ALq|iAnPA6m)Uv@1M z!m$@Vx;&LXQEa$lae{yEEEI6+$E23gflc;`(ZPt29p@+ibg#9J{Ztk(izon#LpM1NtXv&Tz}`5cOfSq;`HRVN!@F zRqJw=0$6=JnWQ89?Ppq7rs@-vfB7Qvow3Cl{jm)ybKeW?P!I91^e*BvPx2-^GtT}N zoz%c(F?SviYE(-o+Bje={fOcrtZJO2AEp)J(3k@9tuDO^4H;cMY1{F~gC?WMc+iDm z#8{KVEI1SNjlD;O!i1r#caq(vbrx5}JZ^MaaB%$ObUloEy&K@#5&3eX;zq<$aHL(Osu!+6HE&Y-@!< zw#WpFcK;IPY;jx%!E$!IdQ}7VM9g*dpi3I9nR%kDlW<4@<=L;y@bLRME4}ExT2GA^ zeRBskdbRPRusP3oK#eaa4*Xv4x4p1$d$3em>ilSi8Ub)qdWL985i4>fd?^``aVq_k zqdyEx!wCn-`y$21Np8$TP9I{D#l3r7|n8w9{6ks4pq_A)f*}=4SRV}U>$joMPlaCsm;1e`bIfw~@AmrHl zQNc>F%Rj%QBd?`B9ki2+wXl={^XN8>OnTHu6!S!damvLAb}~TUpZdy8@KD-^K%f6u z_pQCJE`mNAN)zHQeNe3i6e3M_a>AcXm7kZEf@TPOvQ~!{Eit;e;RhVfFzvGVo@wj` zMNpne?2~#HBtGz(H;V8fGM^mrgAtfH=O&TrnA+e3d4J&`SG-wPZxCuG({ zeuW|`MG#WPi8NRBH)qFFutv;PM<*T@3!yr;mpQJ!qG{TtaVTmuck6%~_u@#uYZn~x zxuI@5wrZLtxgg37=W3ch{DwENy~)iPXKHAM)HE6U8eXoy?@F3pp6|PCkQ` zDIa_u%L4A`KjD$wEz{ULE7I7V-^Qg$myf!Q5eK{hvRzz60||%3avhD)TXl2_wctsH zGggf@?C=>`GP+HyMyzU5dQO5agoP*c`rOPSD06{y+;;#h8db0xZ*bz_iDZA z&I7d@s=qf}?Lq^eK&Ut56f;`svJ#we>s!K}(Pq=Z-uSPP3o{#!icf)GZtM_R$p+c^ z$)R5{I~4WZ;(by4*Uqcc{+@mH-kUIn=T$Q>LlCn?6p8gQpmel?M;nkY{JrfkY~cDi zp!xAJ1uNidh$rvJ>0A0X^5Zolab!KGGB@U#E6*><${j~I5u>vyKHKJSQ#mORCFdA9 zvVAJvX?ilu);CMcC1#t3g3k`Mw%!dD;d@aN4Q^9QeOL*6=>Zqc=9xpOX25e^Jmk#X zL|iF$Mn((*Dt)Vry@+3NG%LHVAvsN}Lxz;}jaEs8;?D9QlT?-!Ea9bM&UlxpHqMAK zSwf#uev4H8lCLYJy%aK$nX{=zW3q8^nzd_=pU*Vfg*bTN*DkpdaUaee=lL(Z1empQ z83cV`aPdUMop87IzBVrk<{IQoMa-p(qArO$Ey<2730eK3MB<_PTT&M}a{zRmLCn5W z?M;LJwd#{DCU>dNJt%TOkuGw6CGVMaeSjIgiH1Mop*={_{LO|*ZWASQY{wlddcQt< z{#w*_m$?H(aY@G;X}5p4+J%mN?e)2GYV|7)Z1*MlHPoWwcZ$rxq`$fTpElS}9;9w? zIhCNwX})Q=ZsvE2Ge8>L-w#sz4<7hJj6BeJ(&LA&?z$ZmbT6}SdBjY+L-_x-I%qav zaFaOMt&C}3d_V+~*=_cN9@#l>IP|~KcO<-pWUBlnFp}AiEyG#o8xk*wfE#6fM?J$} zZnIPg-0r$94c#M4EdMZ66kFqi65s?`YgxNEE$gl%aaY}R)yR6$PlC#s`)lF1^Q{d+8;vT#Cp*u>xYE~aIiym+H}`m=}^)%6VnSk{Kj z&~VORVB9kitplBcyAf+0xu}@bvzLt1;~dU>OSxuoQpb!k)#h_*1BA@V&qCMiL&xkx*zChH!I=cXnU7oQ>_f}!L+tEB&1?(kNoTzFLA|1d zN6#m?jlnRxZR3s1krn5Qd_x zgRww(rjoA7L`%r9LwDA#h(nM}pSg?#KXYjiFpCjPFL?>dMg?1i!Kj&SeCEQB+`kX% zx5{S}{>k(pi|1(lqI2NHG3kyp>CQ0O1a01iWZp(#e)1K&6N!~S(7r9n`-O4sZ}g~%?s`8Z=@*&-zff_{gO1jO;X=j=<8_YFg@WvJ}D!Q`@GS9 z1;{O5O6de8-zP;W|J-t*=14;GPk*~5EcPu&J`zEBa*LcyDh}nJ`sM@K_axvvnZW$! z=RC>gZu_;qmZUfXUFZ}ZPZ+XZg{e40hN?a1j&m&bZweMF=X39w07=3HE$#}r;WDc; z>dt&Fk-=PyPn{C{-u$HIjD|GSvfykp1C4!k(BwDBJ58nXL10D9L1ZCDn zp~4Fy`lUi@mtQWoZ&Ko=SKaT8BGtD~^amm>i2_q$JQyFn2kh(*(0O!jUonPgkl3Ku zTb@esrnoely1ADm0)R3`hAreMFDVPq4}&XIIn%a1QOtV=6!@T@vk|0m5&}wBf_V5O z;ndEHS{%cf#w-U;#po6jZQ_8ld-!At#bbP?jfL}JY%8l6r{r!8GNmHHCYp*AIuX@y zJax9+RYdwbXH$6KKf~9^ORig{7`BHGpE%SSbml3@hOQ0NqlW^*^Wa;|r!pj~3du|; z_`Y$NA~eH<_B=j3u9&q&qxsM`K^Cc)_NfG0xKo8oJNNe$TEd9a9HVaT?`ty4uXgf~tHt7% zt}4Ba#V8$m375WXp?dOhkIAXI<(8$6WmuN+sU^e8&8d~9IT;m+Wz_XTV``_RnrqqP z3T~xNb4Hdq+}TI7G?ua4viznGPAXTRO@(#ji3w>;4S6&>_`$Kpoe z{pJJLDXMUU&7m4Li(5v_v?TO9_pqg)qczb6dJq)lTygh!M*Kd$w*n&I&C8g@>c|2C{(t@)vKS-9ByFCNQ*l4(Wd0_a<1c>wWagH}CPEFOTm?Qf@Gw z!}s58slRgUwVI-GEFge&oIGAMXk?{MLPfeD`4s+y534|{l&oEhcx}d=2MBazX{u1v zm$cWZ@JTNeOB}e~Qm&QY7qyp$ud6*DqTZtUA^$;EwC6fM}5LI`^M=HbN8BbRnH-ULCtm*Ce{LOx&x>1~)5bs$-s!1ikLHPH|z zd&iMB*zp-=EXv+oe2}j$pt+WZJVRGlV{#j(DZR&7!A>#NGrYf)L^(f7G3bfKM(KQJ z?uemI$w#tvcH_X{7Wq}sM_T7d@232T<5lxDcwHfDy7h>~{Lbm=@8%!}KT@z^O3*rt z7-Mz4fCFe=1Do0}%@?mq{(YrhJSPB?Z%_V+3H(^d-B}y+av|Wkuvi3Lah~DUXH%wo2qB?OdC>pmz!7=h8!^sdiI_LXidaQxUtxOGbzzG08*xHLKv;5!PrDki>X=33 zWb~`ItWf5AMLNuyL=^2uDtay@OWI+_9oQJb`WQp z`Dxz*qSbjwQ=*ki#m|Nf8j4sB;g`>#E4**kOdVgrm4T~7$8o0EBSo=j2XDga8Ro77 zFl>g4QiPfDI`Wf0^$O>!Q`2V&U>F-o9xK}o!?=rSAYIfr%qwFrUhpRc>D7g+ewTRD zRm^KCWVeVEoWPm>nhEJaUmt>#PRP4Pgm@oS;k#R(KkxX98!Ym7OE60uH(hT+fBcNI zPoT++&rbtO!$ZKoI`LKx~jO94DaFXf_{$w{J$ffM-g=GCa7wi%w0?}BA zTi|_8Adi~T-!A2`=H)Omh0psAzJp=4gT#7C9~~oAdRRtfEmjQ@5Bidi8Sw6&@Hva< zSJIOeq~=Jm_q8^_=qvhh1+%{yL=pQEM;fiHE<^F;i~d*I2t|H=EWlPsY-Iilxx z;kyZ8d6UrRzAH3C=@m7FbgCB#Y)rz5g;WZ>uCy+(NULz?WKJ=O*p*!cnOvoh`LN9XTiQgvygwOhe{9kMK(^Z!wGQ&=i zGN_iW3BCA@B{~eTV3s5V?;r;GVQZp)pBNE7YsC1RSS0w&mJH%^D%D_!+@TEeRm?Zw)((eBa{P!cp7-$xK_w&6us64CovEf1xiFzEM;t6QPrm@;*pTblj_7{S#!xf@_Ltiiv!u zhix;Kw-sC>NvNF(W@(=swp1$-_IH@`I1?$TL&Z@xPfs>e<#-ESn}FWY5>~CH~hdMjn>bVx|tFB3_ZUAV`vOIi6Zsv+>YEBlTo{&8B3vZ4=$j9m{MIOD{tK zf0l@lJCFbQ=#_mZfIF&j3abi<^UW;oH!=F~qV)T9#=C3B`$nAK_1T798)PJIYvVv(X{1#Iq|J0SxX_OKl@DO~sRssR~tQ*jghEp3?(NA5u_TDoh4t>P4d^ zvGQ76fAV(wz@H%+sWXnsnYSEd4#LCKs^J0S3TX}UXPvVwEgiGeTF6|WCiW`t#Hj^C zk6Rddrb|s=6c;99H6u}FRUXG6uznwnpqf(Rq2HMr6iC~w&ckQq@S@3{C{fI*YtBg+ z0aj*j6t1+)Bg5kh3*#Cr;r7kx_B(0OvUby(Y?X@TS&n-gpfU+P17ws5^D^{ig8OFc z{D*H4EuS6&$NqppDaA4#ohr2tvC$#7po79U3}Wqo_>Bs=((UdQCcHVD8?NX)J{vdL zg20(CurxW$N=7SlmoG+F7!mQ~S*+xv@dwlSCR4Q0dAfJeIZayXcd9)#T+^_s`UU`z5ESevsvHKKW6hZC5qNn*!%iL*3PcSi^x3EiZoe))l^lRnlPA$!_XZ?JzXMGBg_e3IUO=f1fN?ot+f?Wab zl3hKV{g)yB61#k!@B?VPQ52Y}ii!7$v3Z3BXtP)4EVr@4{`hm0oEOS|fy6aR!0jiLQLO0A7 zy268|u*p6Vwzf28b>WCz6a|47P=;7l4b+i?<2Xa%1#Q6TON`u^iVV}qs7;Gs+1>## z11A?*lB}pd+PDRX3tpEmE_7vYuP z;MdRe;=nLLF(OfB>DD;=Sg3=rS<^0Jv(2zs69qJwhgy3H-2e(W20GqwLrrgu2aA-X zAYm!MkAk|<31Yz!6^;0IV2XA~O!)xs&rWCpKZ1gnFY(t%3Vi~?Z10!`Z!p*oMdo{1 zIgx%*vTu-KPP|fG7oqQgJd&J?^veZ=-1|H};9^d9pNQHY1<)%q+Xl9@AZ*qnTwHZF!$aDxA zEobZmicL7@`i_tq|2;1EFIt*;=cIEvWr7O( z%KytH-w4sN%hNIudLkPgCq#-VvYoxA#Q~Rp*y+pCvPs$|mqfn&_&8Cw`k@|W3F$PU zgm@=U_~aIE+Sq~fJber1&n)W^7>TX7e{!jFw;MLHKM1-4aR08D^8VNRr2eb?Z}?yF zSu;Q@z+T4hzu!-~&gMNeCnV%WXW^Vks44wn@%0t#G3>~+b~J5J0ZIg77j$T%U2p_{ zgHei9zPq)5XW&keerLEw8d`ZCq4}vI-Arki9|0k*18aoXk0;HDRvrs7C@htUgEJB7 zu}f^8;|3Eqcu#~-qL`Mc>X{uZepA-xz`DAIqX;}ZU=j8z{RIjJ%*GVbV-u-RtDJ^k zh$a)R`Juzz5r+WQzSaAw#NEwGreXGN;!%=~$x?2sgY-{};;ak|hZ;MxTac;w7sx@T z4ZDO_`>aZ0+~X%N-Fi^igi8fY$h>H!L($kt(~ZimR@_V-s|bo4B%L?9K%(E%IT5EF zQ569IB(iuu=f9Ve!LU8U@BRAfFHkbM*53h{>&S8xJhH+b>4%mb9pr9Ke#ib6E!V_+ zU&RSL@{^0wX_cHU1}tRW(J`{R@F|CKSmG3!+~A@e&y{}C-6kNta1Ss1UU-q3 zO6--KJBG69Ol%9(Jj}K)1^G)bVz^Q$HZRUjWYV;c7|JZdeF!$h7C)A8#rZQ#OMwHL zlnL+5i;P3`z4e!<`%AkFMu~g9Y>BP|k}Nc*_&A#| z`cuw|!_MyMFN<_!cn9P8%Ek;Al=u8!4}|<&zsoE`Y~<|hVZ1EE-rFJb&O&UE+~e3T za0PEkv-wY1TXrlkIhRP^p)Gqpm~u_s3B@kV>(pIP71;O36TYEB^t6B=|Tj zL3#NB#0*8+?pgKPALnwKFxWeK+D7?HuBsD1Rh}DYlGGg*uzR;3 zzoP{l%UpWJ3?J1SrvXi<=)zqfDku5z;IRl6iKMMs?ui8Avf zd7`P!5%u%|Jd3ocMMeD^ni7J4WUu;#WHFJzQM9ps$>|d}+piZC)8({i>5V~2c$Q%1 z>J4W@ytZ4$fYM-CT%_w_7H`i=%?+#}YO?mf^CB%n+}dww>ZBOpr=jAJb@ep#QSn18VcJDGjWJ@1cMnW7#EQCN8& z#-dJ&eJQu`o+jIH8a5WFkQ$(`7k7_iLGSN%A!@-%?vWgD!M z)|%Ww8Whk61Hldp67)%8ejhXam^1Xvg_T&EB!n^8pD09fPBtg*N< z!FHO|WNRHv>#*yfW)Rvb82KKw*(c1U+GM(hE3yt4@6)h(McIxBr{bl`SuKAR?{#s8 z{;M>a7_fMR`G~7jgfz&p172c}%ZiR=koSHp^fTqZO=2RA%7?h1lAOM#pZ7bGVM6QFg$&UJru`5lQT z?yXU#AhMwcim!g*!vFBWW;DvVG@O_lK_EYPJuS`2cATiWwX+%W0zJ!+m2p87&&~+( zoVYFeLMR&_H}%DRR>buYM1Gw?jBMLY`_^`tNnrywMr`QUE^s1Z3S`e+LN0BM-=_h_tN34YFM$uYa6 zBWiI4ov*?(zCl(+4HMWHS#B8o*9_(t3*Xz+sRpnYXw!{Gd4`&Kt;)4Uv>loJG0@}F zB3VeaDf~XUhlW~y_rfE5?;q?#y?P|{FpL|jf*w>W<|9LDZT@`-%ND?)lG(?(pUmV^ zsh9KkPZF}sd`;p%TmbcNUBLa{cfkjjTFCle>Fyc-XAWR3Z0L`Mr6WEHxF)_8q7uzf z`36f4u9u#-XmM~AH#L0)1a;IC(miY<9Yj;Nx5AS3Lth%4w>zExqY&IpY@}&@YE?&2 z5Gwo4{6hp*>T}|ka>n@f1kjewz#}0@4_lf*DU}B83KbOalc}824CIXwVT{8hHQNbjeQ!S7Z&aq54*vz+an6#67RM zEJBtZ$LcFkxud8~@%W4RQcUeB6Mfl-i9Ny9<^+5C2mG~%t%;4%HI?Ze3_FUNKTS^X zM;QTC7r8F7r9|!ykS?rx8ehB08Wv|t?ng&le_j_Y&i!G4EfmPbishPVC)l~@CK(9|*sU2YG-^2=sk(B}%`(k9%9r??wU!k4>eQ3I9 z@|HDrA;nQ=pNjJov_A9ue#VgQkbqHX96It1IhkBJ%d6CEX! zndexFU;jx{wz_L~27M@h_HT>8|DX%_zYxj)q5eN(-we+Ux7D}4zJiYOLwyfqG%Z-w z6KL8Wt9=U~JiErc6j4wFgMa6caP?&H+t0V+X&$AVgC|0t!FCRgeQ>78)$x6F)+hE$ zVj)x~I#G9!y*u`fMuf*NN>1WmeNir7N~9-cGj0AO_8-Sfa^-D{R=lVfpQt%J-03FO zHTaB=D)|g8TjOw+8N&ISGmos!q}{9wZ*m+x>N{=4x1`P>3weY1WFS*6h7>3>kR=5$ zMQqh*&O?b-IO@}>_W>PK>>tFh11^&nvtw9CDG{~mes_5TYAGq2vU?`Bkv~Q*h5tzZ z0(a3=aI3N{4bE8YV>G8uZqj;Hk`PAE;2y7Ik%)b&{z)KH7-t_^A!Nhb!pFH$fl?Zo zK{(Ky)X?yXP|0C-zYB}k@KfSB2Q=KvmCPHWKSmjNaWhrSN!p!)OU-Po{`|XMGiH}N z!mg=vRQ&M`!za|_at6aJ5wIO*bDLNPCb`@hqlamTcTm60l};Q^a)koYW$}3Q)LuFx z`S#OiO}~Fe{^>5EMf`{U|Go*}`R_-*vz@)Mo!h^b|Nk%a*(;Z9+4`fG<^F`2v0(`mQq>n&JMXsJ%c!neap3Q0I-4hL$~0`>hM|giDvajctjIxTgS)(O#2&D1 zE=ucwyoQzl`BBapvP)qCrH8VyjsoRyDp95xgIb}t$JJXUOoj<3DL(yoI;|#+-pK_YGsoK0j zwdNZ_FaV3K-b5vtygzM{9qo!4I|h0Og@#jr_42?^{IUDugA2vHWC9$`{*NEEzmK`I z8-DjEBmUe>@!CIQ|5*@l9QUF9<-d)6+W)rp|8X{Iw;kGBx$h3zw{X?VjH8uwN#>^v z1ZfWRR}?})%8w5rDbwe#3PwLa<&Y)^=IX1Rz%~?xgrGx;!B4B)EKTiSFSYV}ouiAr z?T@yntr~Nn`MkZoPwc$EvKZgu$b+wx1PNkEd+dG6g;~W3`@2SHKJqcgAB(E2)X2QxK7+Gb#HRz#k?i`XkOd6a&29C5ig24kgLMAfzeXv68eV3}sGZ84# zmN>BlsuuO$#+xC8+GRsk6ih~@$=E#%3Y&s^TUOY$wsjdsa{`?t$2`dz+zs$cJhD)<5*GK+ zSNagK`!m9j6kbHgTw}XisS;FQeTk9eo$&L8k9dpM@X7FrFMCMeD1z{bt|(&%iaXfw zaq|aCgybmKBe8Gtw@D=Pii!=q=q~Fp=*dU0=`t0z_2Mrzh~LStaAV)Udt?s6iR#w% zO6fNJ)^v<1Upvpgf@E=SP?I6Bli?s{!mICt- zZ=gQ@8jKe8CB9-oe+wt`RWZy$>7=@BMS1?%3t7#BwvxT56K11mU2Aw7wpO&r-sei$ zAXWX0?j>IxjP_h)7)^cGWGF}7pjK^$=A~M_kLIOYje+i^QLTpVrBls;?xj`jhVCU- zjfD0rSuKb5EM3ij_6)4HLwlC3CO~@zRO_Lw6fK^Iz2f)7wp7A%-Sb6z!fKE_Fe1rvL>3n>t;#GmtqS9V0+S38QL`>7bniT6sr*P!RA3l}0(337AN!Q3@6%qsYM<90KAWCn%B9 zC0=n7&&2a)l2Uwk$_3Rm49CUi*Q>~?IYMnohszO_{{ho}Ie7;#@aT-QBQCx__x~8c z=lmYEzx9*3-;u|dQX)TZTacP!Q;sEcyn^KK} zaMQ6;?PWqZkhSP_ye}<-n=i>mX{G1Z=n+|DnEP?*zKSw>A_JjGzzpnOA_M(7UuT=8 z>-ls`>Tu~&09Hs_?i9Q_e$4i+Xus&Y}>eV>DDmHlZ@44bH|I7VAvC z4dSlOz6Q2JUCM?l*-?2?jst;GHsMo7Kt~0*46Z;roIDZ`rhEUM3>8j-0J$C6+{ zEl5#5?gge#j7)PKk!`3E&MKOYdN2)C6n^v*uLR30B0WmFuMJX+#OV|tNK(n!NGj(h z$vrQht>j`%NP!kPoM%r_7u?-89qN&%oi~d$M^8KXMbsK&HfQoIvT{+7xi;2m*ec{) zd?}XU&+IB+HL2fXeIfg zElrZWR?mU}kRB#v9(kb?;*r2>aUoICXe5`Bq z%vd_-kJ~91#I6PzTI?(}bxl>x^rCRgu%0Tht<+$HR6x)piGy-C%dxq(E4HW-`5t;y zHK1&g=dmmv=mdKcL08H-{{?Lct}gSxGksYegj z+OQ#F`Qj8K^STo%1%GthG(AR3W7|+$2`XxB{#tJX9T$WES;#rITCW{N&dx%&vE0&@ zVMz4$V@qmkPdQPLRZ(|WL`HRSAr!_nNbH(sa2f0C$IN?O3M~3L_-P$6hO>p%$`()G z^Q+~SbtB7R3|h*nA-aqZu0?C8Aq5ofP{tr8Csi&R$@bJjO?6!*ttp;11?h6Cs?rP< zo!ac&!npOnl2~|@WyO^=E=;x9DUb;&^o8D3%)V(VMLEQ*T^6=o<-Zx{#bQZtAa|u4;#|}gsbqPEt7_4JZviY(aIts z-!+vOr;Dn9Hol0Ai+KbNcsjRaWk+_NpkC7Er1%fUEGfWsq&~(sSV7A5U1T1_cR@&Z znzqy^hWBJ@N)UzUVr#gko4_n1eF@-ekeQ^mTG5}0}tki_(7f@u30uLV&P8%ec4 zyCc#j>f@!p1vG9=$D7X+UfsvFM#p4PS6no8RODXgeKg?S?_HWT_HOH;J2V!i=Fe8g z61q#CJa21T)VS{22YK3+F)KIU5Flfs19^JlNa|^KpoONas)9zZ$=IH2YWR5bxZGHr zsle~&=pjRP86`hIR+4{(G=o5h!=KbJaE_%)?en&X|O(k{T;p`ybh$xw!h++%!;Qd>d!_59bAWgnSbzo&t%4vC{JDfOtkFiqZT)M{)FB z5~^`g-5GySRI|LvnWl{Orr{L}^vhu;lT~Tiv1HtzDCZB5Mjm$pO9m>8<%xzOm)~B* zRccCcrAezxvBN|_C7Sy@O|{T4dLK{O8flHxp3Sfrw{$jq#TO=yNy#6+#bnjwlXvK7-=s3V;hEby1D z_rR==dsxQqAk1B2I=K(zM8|~$U8fL;ji(XK)*PEZ)Rz52f`|mDCS6>vBd^P0gjo3( zU54CwT(3kfS7vkkn8;pQkgb7h{{n}FFV|^}MoM+3++{w-*VE*%NbQI5vsHs%^4Pq! ztNYqeL&29iXF<*>!7)Vm+5lD_%Jg7$&8`@{hkYEPVGBpiCutEeEKaop&K=1byrEAx zwTxogN&_sYbZZL-Tc)OBg$E0)V()`!U(yOO(PD|qEa)_5H;O&n6?u+=G3eHQ7dkAR zHGQThr%4~#U+k3KxCzTISX%CNy5xSWmR@b_i7NrnU{h!qDVf(-P#3Ff{<4MOi3)QN zLpXI^jV(`=$wJAN4P#${*=4&vIAiBviAyBoiP=?`3&@^8maa2bsdjux!|zDX?@?9l zB-dtN%a|sju@VGd+(n}0q$KZ-FDB1q2&R|aNGkLYpUO5+Uy!Kx^GAzNzriZH5uauXg53xBWB zG;8XeNMo~M>hP-V@S4_V(z@N>DkXFq`W8twW*E(ynN;GMijOlR+CFg?z3 z%(YKj494Rkx2sazGGb!uf;9odCMxF5yV6;Ebk*L1mgBEzAHp*48cq6}p*WLBx%nC` z?;6>!mp`4{p^2dcZPa@SZ{?%Erp9|Pn)tM(%iRz4Il=_6$66kIDT$uQW|ew$&*Bx! zJc=6uI}&68YGxiz`S}y~StNNv6ws7T7q@42vEaG!#tovDJqn}Mbqd8!}59*#kBnG6j2ljjrZ^yzsDrFTEPuY^62 zJ?mp#qUi@p*lIDy+8m)$o2}4RlvTHuHPx!?Dz!X~0EcTOQy9+=xRz6#QBjiPSpuIK z4}1b85Vcn<u_5{=2;_u4?G=R>=M;?BUlD5%-eaGb|7wYGx01;A#qE#9n zM|8x*HvhqdD{83Iyp@W1yoy9-oiRc(PioxHK$5DQ?Kh&T+o9t@Otq0?AIHeHE|8Va zm3T9v&$fV<`NdG0Jr#&!COx7CO-!ILX4*WlaaifH>1jXxk{oU+hfnsz_BBh#jFa{5jcEFFk@+O9h39-#>m0JghFI8%B zc#*ca2{UASF_1#;&d}^3;c3>J^H+XkB3>cVCwI18T}iNU>HrQ{{HUxoWc4&I4a~>i ztg$|lJ<)|jVB!*Uo0}{|NEf!wrmRO7%S{{}LQ7r~IH<@x-%}s`O>cpsaq!vOv8-)* zKrUxnc6WxZd5ofQ1P>l|8rP2Bic->$(0|N8~qZgF6ukUc|0d{#o=BH-QM=x}FW(O@50LkR3mjPboWW>8F&p4<^8 zRw`6m9PCI;6S~@U-s>cOU8a)mBtktUk*UXpibrcCsjD!=*g{F5;%rR>1&#sqeM@H| zP7fg@o{}&gzP`=m8wHEfF(?FV^Cm}nXu$u9{>dVcsi&R}02uCsHV|9z#(s(=jQvU+ z8eaqGBDImpM~H0@Jt!bb6s1}@WL9!c8Om2m9bXnQlbPeLFLKUsZi(W?YrpN`R@%0; z2|4c$ag`%lPS`#;#hnlM)*jsxW!V1B6V-k`Sdu)Jmbk^kd2aX#`B08DZSYemyM!8# zq#935zH_>Xh-2si0s&Cejj?^DTiiV8w^fk1WzYfH5B9KO%V}oNUaV@bfje!iH+8Nc z29vCW^rTosQIjySm}poiu1J1hSVq1|da+9WJKY<8*a zv`R*C8TEong2JjZF-yoOsiKgm+Zru#ZRjYGBEXnF)6kLlbRG2T#`dK#d#9a!-E6v^X(Co&edstGGnE6~{SJuNeEEiJl%{W%0*W2)3-5U!qWl zLPdNY#Xc=axmphEcgpfjoqhb137A6t^HL0L>6x#lv~aUl@>^2(XPlm)Z2CgS;V#SG z+#KPQRRfn)EBN5fE!0s}FQTCR>aRk|xu*J;G%*@PS%VLX}TFlJM%*}>3t*sr6zDsNU+{yBX!vu@oy2ehD?5TB@_BB8#tTbJK@Je)bm6pQw$Ht&C2f{ z=gqbM+W$x3QEC)DyO>(2p2jZ&sVjwH1$`yuA9~gK?@|Z+a;K%1f-7_@E%>3;Bz$E~ z?{aT)?+#QtR>ZXq)dIp*VT4l(oLnAI-_mj*W2SG)p`fN=NR~0Y;&66 z3*{d>Cuq$lF(dsB&_zZoj5WHNY`qN?1AYRVkxVs}g`FqCf@vamtf!gm6h4uswFQ~# z#)>&AN6#AL7!L_5n_2A^g+dF3*jz(&`dVvO;t&T~ziP!#kh|aa))YPN%F)w#eLH|z zMSwZrJVK^&I)gyk-MMeV)6x7yPGHB3H^pE)qctZ-%R$N#_KB;MOR?I}ukv3%za}^Z z`UwUP_`G5FCymiJow~_;xrmvb$86Ma;9cy53#T^M1sE|!Cd%V+;qy#v6;*_`$sefA zW^Zu}hUYBKelNr^pD(7&*AyzRXmN5=1Io>nwEX--QUA7H8ha{?H%AI}w3}5)D*0Id z(ioP#!qm51eFul!iS)dt_v*EG>2U2%-rEnfmwac&@#ne8)_oNkv3I+EBsaL+X(jc~ zkKT-W<;LkHdM0A_qq*tSeYM-WbiYO+{V0gu41SehemC0tINl)K>A;e6oV)OJ4c zB>2w*dqZE>nBR%^HeIhjq~3*aK7?;b+MZAnKSqH5F|Rbt?<#vD&e!=AAED77=+Cvf zuS+BTyF0y7?*cdQXKcN84|FXDvwo^i7H zNz(eHEP7pmUB^32d#TZnq?fMOY$JblyGWkZnT4^Rd2vYMefoefiHZ)_kt3~c*R~1v zr#liOH0@7-Jr!LafxWfPC*+Z`jwjB&c|D)6djjoGQzPz<*LsPU2Roe<`P)0*q?_|V zl29KOoK1pfVP;{BXGWY&oM%7g9+8_BX1^~t5PGkqd(OJAhI`>{PlY2W&exy28U6qd z$wdZ$pRw1J=xGQU#dg+-BeZCcqfZwITo_DwZjf=Pr3-g=&`mw|m2L6~9mgQrr##vq z=2a4>7xP($`CWC7=JdXuNe{vz=Y%wGfa@QEIIo`qkOk{Ol-tqpG zPYLt7x&C(KDQAbCUsaTpe-D`OZI$EzPOEY6=IWecv}ypyuSE``KY!+>{iw&JhT=Z0oy&NyWbG+?_mY1Pd4fwkJ0N=v~P^^LwPIv|2iQajmgs?YpG|^KE|x9PdOzcUTpK? zo0%aA4AVzG+K-SBTu(Fke8`>1{UxuXYPoM0G04Az;AMydwWk2(yTZ~4M^+KeJ!SPh@r55=K(zvFgEH` zhwBC(875o!M_br4=B&e1FNq6=?x|bMQ_yf@c6#zO<>JF;2GMUK%TTT*FGpdra{o}A z3)nL7KKoO~#!IsQ4k{Ib9OYxDbT-yf(B-g%zIK$lpRproqKUMuoH^jXx*Lf^0ouE% zCY|2bUl9;9=;;bMscMHE|Xh`yuIzm=1hM_wYn#D-y2_0k7)zG+OC?t0E z%qW=y`!0Q^YgArS_OXxq=)lhXROxiYP3OWbAHRAXi>bMj^u_Q_5pgWLPZvdNmN716 z8EL%?zop$Y!Em}=tmQr4zG=!VB#|Zrojcsv6~UIvvz6BB#t^}(!B_b=;F9OE&+Dij z$;-?pxY!BvH`l%J5tX@JsJ@-4g{j3^EpJX0$NCV)6l;SF4@cPw8BNN`@l;$An=xF>bh;bR|ZQF0*l?)dVWia!KHYb>(4m>XiVcW6|GB0?1+p`T^Kd5pW zs|{O!5Zz!n#olK(!O*Xd>^3M;8GQQ zkCE#Ykq-1`W8;>&8`0|kcb~8u&zZR*J4oNiW5^6WehB)J10g;ys?~&8ILq@HjgH6_+K&-jfHBj5k{_Prl+jp=2hDI@$~%qBtB#mFnTQIyPMi$b!=@CYPg5;iFYKH9{@7@3$x?2lt|>$@33 zvFBoq6;^#aX!xPkM?Ge;OzBCV&8Sh2;fP0@e7YiYW2esSUVrSwl1*k{jCCW#t>ZU( zFmkE+GjZYoU#kiTlq?)p522P!=#^0swa5ofM8}d$LX?_Gh63|?$lxi zLqcytH5ZF?SIoL(4drUy1yc z5p+H2@g+9Y*BG%EN5att|080aO8YZk-r!J&6|+x&ddDRZn=(Gy9;n3N%rm%Tm zc7(w%T*A(>CGe#1XK6J{_L-S6ULvVI<1=+Iz|D-QmqY^n$7JX$7$V-xtZpC4Py(FZ zM7s}47~_%M)B(zM`0SK-7RR#)+g{*?8J|C-g#HM-;$FOQ2kw!*!fw3L2n@s|-K!(w z^E1XTAlL|hKp3&LSQL~aHYLx;aK6iXC{-H@!Ba1HKk{FrCZ;IG)p(}^YYe#)j8~+n z2u!(tauh?PehS)EFlb$Kuau7(`=mKsmB_bpz;Egc4b~*&f^=^HJ&H|mJ5d7)ytL+w zeGxD}$*0!M5|3H)`Y!9|dEYJknH@^jcMBdwQ5Zi%6&ODy3>aaGghnLj+A!i-H@`bB zheHzf)CQO^=rG&x;z!B*wVM+o56<3Lc#8{sf*PS>HRy{k!FN0PYc@1^+h-^gMQ4;0 zMHiG5`0hz)P05;gWR*rV^*Oncp_u2C@Jlng%ke}!@KcK(#5GM7Qe?VvZt zv;-*4po9DGNNNc&?2Pg22-Pdt7STP%=r0oI%L<>V6NMDsxLytZ1GEpYa)9`L#0TD- z;k=O4GrA`jZ~P0h=|1EK7LNd-XzPpK`Wl|P()6t_-kEr9ai9jCI?z(x6ptpsL#gm& zYQY0c4xi;LYxp5$^f2EuOI9-PWiB5a%z!hxAIh}MQ>uvd=P~jl`=BIGzPr!)OSY}$ zJmJg)Gnnz;A)5Eaq-&w!4-9JBqQyH!lgxfKN4$u+BJufR8nnStt7 zI5DW+2cH=SJ}YGLo#duX&?0RCV){80Nl$fQ*YT?8QAh4D`P?DqfkjB*xXeze8qQAo zF*Dp}V=lp+Mh-J}AdHf2=sZkDWmnohe6%nl48SIz^n3;wR)`&6Lsk**2?Owx?-g5e zyV4NSh~BcLkWYA&tA-!TL>X!-uIC9DWpUVBTEgDGN*{P+!^sdyYHcg<_J4Ua zb|M){@`1_ucDtD@X4k~=AvE>+82-xn;miA%W#7E$ye1@_vu8{jt-*s^&V*S+ew>bI zlK=bHZ^srSr7j^U$cg!*_dt~1tPhE@#-;FSQkZ$4IOkggU6P)G%x9z;l+B%&D~K8t zk>qg>KajX6}TczLV!fpi!6Uy#;m=s^N*~GvRxM z^*D&qg*El4ne*mYg%JNW7MwA@)g0Ibkv*icBAz#;u&cKM>>|(^_O6rfqVW!TG-J6I zK4Zumec#d&40}AZeHPt_L>Zi!?Mgs7RPkiakK11HL9E?2ssCI+Fbv-|dV=)^DE2)N z2UjxUG>%fB6-Hw*PU&6zHJI_lxI!v7478j#I4z7Iav<9 z;_#2`MI`oXX{_Rq2^~75m)fJBI4J7-y)WJ1#@&(y4M*mcrd((H63zta$5q*^sNv==6lfVNx3BSZR z`6?f{IaHmm8y;NB{imGiebN3($M`Pw-u6ANvDzSxeRa{`JBiiS&1YdqWT6sFUP z6~C5k2lVIHw2hJ5fV|f_d}C;=))-pT?p-m&PMmKhDSf)y*ubz@vkkBOe zqt;YY9+s(dK9;L<{_nQ-X)8uXIzqiTHUT3yUSMI1KSpa0ftLB%R<>4$^p5jLKw=r) zS|-v=#$cF5yHGC9E;oD^VXOsz(*egUsd*vYlr%+7^Z^fvYmHcPrIbl!Fntef+7-|N z+5jBqT4md;2eItZX?b8e0LIbMGbA6%;Hq&}uPfl^ZE6)qZ-nbUPGj*CmCctMJ`YL! zAP-K1pJj{JyieK6@$S$5{lYhZ@w z&oJ^t0rbOQw9yVu}w4k4xpKUHYlx7sE3Id^HgPd{gMpW+JRc zlZ^fhWl6Cz0F|~Bz+f2y+--E#8U(1^qQ(tiN+&KdmX#l0)@!WiL`#BQqs|R;E4mYp zkkt>B4yiv=Kxj+b!^<@COs9hC8OO#N8BfLWu-S=&OfG}>6}`r%iBu_ytjCZ> zmzIt`Wg~$~D5U|3SsRJ1bKCgOBJ)b|^Jzh|aLSS9-@V57KAIujihWB}@h8ZX@A#ZK z0Y8fK0@B(QM4i`Z3fh$wM91&oEV{2dyM^@JHP_}%zxD{}T}*hpUY*NGt>i6y*m-Lo zTWs?^J?urcym-9NJuK|8>9aZ|)xy_`)PJoL0lw!~iD+=vh&X<&TN!$@=O%EpjoiwSQD{=YNk2 zXuit);1q209d&|Rp>-<-IWJ@2KRQW`n0TaulAj;({m}zXn&peuf3_^8jv^mz7TQK{ z!$7UwDzM%2T}zg_yKlj)VL;tlN85>c{QP?)n!DJ$-&VS3B5JMKtNu_5c2*)qb|PfW z`3bA>zt$ALozs*&P@Ftq{P+u3{ua^k7P8H!w!Xn-H>35_Lf$h#I$FjhOt=?RFIVse5qpwxRL?M|PfM z8AlAvj$g63qk2Kqw>+AB{>hWu_VvzBYiIE9%$;E$>3YMPChk{{j*ub%`4LHTK!I!fC((BZl0pBy&{rDa#E*&bXBOVM-Wx0*5(A+B?$Xuf zGjUITFDc@C3#;QDlM#IUH%$FRa$`xFZH&x;_{Ev;a@h42NRGy6AZ9FEAUhiRVKk*< z<~Qt0NpHu>Z#X)v!)~)$XXtuEDn*q~x-K|>rBKQx74cZ&l7yt}S9IJ&-fle*Bl$DZkRT#nhTE-E&RAFOlKvvIMUTr&!!F>U84L_C}BxVpEG22E24wSSv zTmKOid~9OT2(L0G!8}mXBrpT85HSk6-_b1A&#^eeHU%NBnzqbJ^tBl*M`d7^=qW~sdMy3AATOA*eKNIQbJo5rEfQM{WzUv(|~ z7@650BV{KbcG$;h)V0VQQ-5n!wKM?l)e|*Mh-mEU%nUu^+Gew8>{?HTyiU;_!<(gT z>bRpitGtKS)w`DgLW~#n8#s^JB2i56L%w6^I%*xurR+fD-v(!@5I|-w=`;1z9k6D( zGi8P$i4&*mx>ZtQW%uZ>zZI@CyuJz65ThwpXaG4*Os-k(Q$5t*NZ-$mcK8&#p5n`* zJvNf*^sfNXI6|g7REpIekyNG}+8#Ox`_F>D1M3jEF3K)O85r)7nf52@tQr^}i z4tN)*Y{br8Ey~V!s?lF2&mH#1;t8btHsvdRla0UTBa@KeeGRgfJ%P->5+o z3FpREfWH|kfbfh)fYpR4JCj+pT>J{T07#HQ04T`P3GAZk{FIyK@L_8RXVEiz_8RHw zNo>fkm3(-VPlE7K*%RI5%-q#sg!!wGYT|P^THg~5=(*(P+t6T%_C*;r@gW&Q-%M{< zcr4D@TVtX5ySs?Hgb2h*ycg#P&QN{8>Xwo^-U&T-sFWG^A$#==`fj zRH?t1pC;k2D|pos@&AS;`;7H!9V5@d)93O=NxrU&%yUG8W@*M&!+l3d{`)Mxc{Vu$ zxk99KZBYveKwy*md%a4eY+8xGBDYH5BhBT(4e9i3687}08%?%wTBXB-r)X+3d8#L= zZYodlNnC-Xvc%hOi{m+7HP1EPXLWIzxDC@|eG^3)NaCyL6@YNuIOW?_XGH_@TA^dBFR};pVgY15@|%?(-^Jjn~T?qCZoO z@8{`5To-J3{x9A;R2%XfNAAXZ`zwl<6@=FN%IlY!4Yrw05tT1tKCCka%(!8%tjqpI zTewzGgRk=;eM*dbFJ-Wig}k`?`61Sy>>Ma2uT*Uf!iZqFhb-vWX@ntg@8E^3DPMq} zq_Ce)^C>T15m>^s2LT`7(1HuOS$~V@KCv!fA3RwS*+G$M?kEnYwqa5B!}}`@85vLw z{`RBWVM_tG_U(-ffZd6EfV=<=7My(%49-=+*>EoEia~o;mu~b|MxUPlIHE%t+?BAh z*^Q>YE0y6T9CFYB1wml=1qa3)Qd6s-`1^^rhjo? zKdiB?zfXZBjL8l7$Hsq#D?1R~^|1XpxvjF`yDzdef=@mZ~j(E?>^5dTH`?73>sx1mT&H2}DkjsPmeK;g9 zb_r8wdzHfTwX9)KG59EpIs-R`pleE)nxKW2jIDoWQvq^uP$m+t^xXw~5QD-V)9ZjT z4E;WJSD`IV%*|N(slVloPf9mt!l9?E0OybMDr$O08-}_wZ1YMZG06CSa8Yb?@Au1i zOey`7@(Ek{32${6j^{kNFma=4(iT4}mhX8z*t9PqqXRX$GwNc&hi6WGi#?36)A!TdJDoX0Ga%~!AX-i1Ii!~`6Ot;L8 z`dBY099Vyd)9|<)+9slKYO}IDW(NogSt0l^H3j&RG((+D?)|dokZjs|px{iN@X{pl zwA~EK^oSpk8<@X|8`Qc+Ket@jY49}PYdph-uSd4jLz;h=j`&%&`Lzzx#-ahT@5sVr z?MbO%W!czM8T4>TFTcsEQsq2II8rbSJ%!}l*KTA-VAWZ6Xf_f;V1yzV(76VyY1$o2 zJfLR7MFOTX5iAN6JC7Ew2`NkX!vFlDX6jg zeDgK77k4EDL~7Cr(lcWa=hz^uaBS21c@1!m2H75X+d{dNB@>%W`z*!mV1)6vrb$w2|QwXU3hVct$moD3==7>{kon4j4AGY#-22c>F$GSP8fe^c?OAY z^p~kx`yecWz4y7Fa1;g)_n18-F2dsX->#~CzWAki<0hl9(UBOX`J_PYnJ_8~k3x@` zFXKKl60m$s!tXnuK|YhXh4}>PQ5pa=#?qImpV_@ddj^P8Ya6<6xE`W>a(x*$4L3(y zd6O@%FrS$fQ%SCbZzP1({f5d$6rT{E>1tE*uNn3ZUlpE(Hp%?AYRB`R!f(vqQ(sd* z$Q~mXZ+K>ZDsnoBFa zT2Mxa#7N??YmeJW6RfORF#IJT;~V&vL?zuI*l$5|NIE?dWN z>2rYa?D2ME-DAObtxbaP>@hRxr0Z8!ctM1ADH&4I<(>^}qq=r-+|wMT85(#hleQqv zTcceM=UT_2=R##OKdT8=e{M7FiC=Z%AjZm0w&4?VRc$_yu5}pOw6^hrwmE_8A{2=H zRNtijKBIoZYf96u+bGAp+cw9j+d9Y67m#D>8~pkR;#-W5=*4BYTbqR_ggA5RQMQV; z7H65&_K)YppqCFL@@(DQ+k#JS}@|b`(Y;x>eQOf2U687Ax?>II`wFq?os7&M zyX6R&vCga>WiR(zp6}TgPj_)(L~PkIwj!jx#N1Ne$Fl@C(jRuCd{OwPny1(s%mr1_ zEv;;}ZgR$QIgip;B|yg=w_dpszdFWULfKN4hVtd{-! zz9w1QL`2Me1SB7xRGJjoJpy-LL9t*#*y4_LulqtK3*fQP9q#$Uim|KtiBbK1B*b&2pZBfF1 zR{%%#B3Pejb&)|U*j^O#?T$R|MQ zcLxn#MPDnL;l|fV?kcBQ2~K$tC>Cjn0OPnH8u&o-XNbF=ZY|g30@EI!FD3L%Tk-81 zydA{4raiK|O}hqrxP;9`a7h~SW8#-DLBoGIg%62$RfvO^$DYJ{zxpvVixX^PiS_pG zg`QtE9R(KR;tm}go2vDra(`v1Bz{P44582RManm!)#dd*X`S%5^ca6F3u~R|wf`&- zIHugDJ*O9?zY`WC{FS>arBY?FFDASAf*he?U}|gAL(a8f3vyqJN5I|f4=mg)IMUF? za(JeV>#@2+%Y3Lndt`Y_6ZxgrSxBrA%OtN6`}ZB@vas?j!8(hEihB0-VdQMa>w%Sh z!}V+~2IO6|Hw4h-?l@U7k^OoUVrc2mW{Dbjy%&Nxg?796^Xk zI=4(qO|yIpQ|j;}p72|q*9>_0N6N6f>BWpj-6ajCoWc~3mVfLC(CPykOq>KS@_>? z2>!M9c@LRxCAamTq84=iB?s?9;?q~8X|z8w?`YjDa;#MR6@6}meLy1QH2yFuE! zWZF9u+B*)~I|$mlc^W@l8_)nN2eQ+o2d*i!VGLe~qZzmyD@Nh64bo3Df()CM&~h_) zLi?6rJ~QuM+yVt<8PMaCE^U2hu<4n(hRrK@cI=&f(Pr)*z%#Jg?Cve5MwBk=htS8# z_p3xcRADaXEd*!S(4FLT|Lc>IDb-sJuO&ZgFr+N#-OYhk2+1&Q~HGJ7vpFy8pBieoP6j*kE z^drmqC%b)`*e&+TVwc)MR_iF;!Man6XMB#iU7FfK_YG&G{)WW{4Nr#7e)j?Qb4ldag z3g@!t`e(&k6}f9XkdLXKk)N%fwVw%9=B9S$LG7Z$Esu4|b0-(*kG(wihbRNoDPgo0 zjus)4n&zX{oY%^ygqU{Pedd0>Uvn4z%1t?Qn!$aG@o!!R1uShitBTZL3QgLTx7FMy zUX_j7)~-sYRjRI?sioW$y}*-SE#wz<9Y?3#8ihOvqD2LpJGRr%d^o=6T8xOlKTpd= zVar@d^<3MUnv>{K28ciF>~ogg&ZrKPSfQ8=$06S;?Ab4Ohp2BwGBomkBtw~`3I8k| z@ifY;f*-%KIjc7X5ll3hF8*@hx0d52BCL(Weyfi|oly3LdNXrK(mu@bl5p`t%=c0g z%JYJmDc4vh6uz%;-BzjXAoDpi8uPmvF)d7o6S(zttyHDxkH0)~0APO3whv zVw9VWDZ{{76__xK&u~r_z!S|syE%xOeL!%vYQZ)6G|ZyvKaC3Ay?F#z7h!Xp!4ZhM z2;^;#PX)K-O6u^p_+t%s1%TWK{Jh^4M+*x25pFMvu_p%Dy1>clxZB74i(YG%Ejs^w zhyo1{21Ii4QfSeEZf2KKybQbnhiz?XS<#Kh-VLNXIFy;Tjm((@9TdAJ74BBZfg$B3dze z--k)Zsk7l4zyO?L+zD0GBhZN}kXpzq@(D=PgK!OG06sD96uDuA6^@ax#B0cvS%8oj zcg_UOh|{QFkPRfBQbH^xLIcNLb7w(5(wpr_i;-wTEV)3#I3Xs$6CfkTy~_QQt%WYO zS)Oi_`={e)sa3wbkNYQF3mw*KsVX4*2V3Tk1R{wROxQ#^%cwL}W1S!6wlWyDvRMF~ zIlx*{Tr*Q-N83o4F+p5?A>~Nva*O1?B4R^1Y;w>UZ^)<{(lGQ2X9%5`o8Z6#sQ}nE zuQz7tibEF?&9Z}WLT-c-Hoz2?25LnHc3(_Aj#X%+lwzVzHWLrPfl6;$>x!A?P=U-? zX|9HXtl$;Ev^k)FA(5197q)nR)&#($F*k~ubH@8zI^M3I-Id?GXOxo%<|=pP<~BpE zCXUoend2y?!ky^~kT?H~P^b}CUoIj}ED}yEs`~aRRUQgzm&92vf=evN{u-6mA&Ik6 zq(VNmU zBQdSgW?f9|yI$!>=sGT60b1_TW`Fk3^~|C#BC8y&0ibi{+3z|{6b+!fe| zi)TEQ^)!WZS|hCebBiMTg#JvF{@~&%9DPB zUk|EEjoxCt0=?>-es;A|TgSefdy%K28lApGyOQ#^9#th7y%bitn^lKZEp|Eb33zHn zjfSOF@^=lC%D5A$-!i^c{FS~H(ZjVJUY~*#iUz;eIkZhfKAcfO$QBH7g&*S4jwmIO z=!k)S(8o|co6G&nwH_~MLGQN^x^kGwN3HNzHV2_z%dks*gtWnltY3C;pKEtrivY*DQ{iK zT{%i#JICXO^K?#o1*6Az7N}blrA~?bXsOw$Ny~I z^-i;?fi1aMjyq3>+Ib$R5jCC^s)G!pZ!u95nDia59DRd!m!`MV<97RLUg_GFc}22j z8@LikKAkp^cDI`L+?PCAdZ+GgRSDCu-$@)Tf4HgemF?Sa%NIx%DX67CWoeB+ehDT{ zm#idA6}C5j3|0JvRD2nuVRf_0>eKZzAx%}YJ!Hj~SL({-ncnZT8%(kF-?Bhl2ySS$ z*Dhh?PN80OHaK=IiW4;(PQNe9ZooPzBXZIHEqb-`DubTbC0)erI)1BL8~(Y2q#=|% zpMKik(MHGhF(KBZbL!=`g+sUzAYg09f1g4$KO4IElbQP=imYsZ>R zhk}EbTIf1E5z>#wuF~@nX;E`{4oh8NQ&{bsN5m-SfifCx&gWh+|7`K!tC(%?%(W@2 z`FoSuC&^_iDBZ7VG-G8s(LS~=F?mT;3AQ@#VJ|NC9l<5Hq3)icoA2>@z0sC_?JQTa z%ugoCj&ieR(~ez3siRuYNw<0tB$h+0*wBHIyM*)IU*xu&zN8ESGIY&cVj2sR4x>fL z+z7Xg0}@W9LSe^#sH$$$>B7}t-1Le|9e<6u#OnOk#S86f`Q`hi#Bs%&_^(XV6BaW{ zUV8;Zd*Aq3ijs%8f^&IB7snce?iYvy>M#xPc($X@lrA%Urnz1UeWvcc6Ds3gQUVE? z*+>|d(x+CK8-@BS-kQWd#x$h@e5szm&;YZ{4P}tQple*TZ*n6dW{*b8YmKVHo*;Sb1LzcCzzxisYG3W(2TX8^p+lFunt6$>0j5zs(R5F z@dUDz4yr$h{k>+|NzMnbgWkZ?)k>U*4R9V01f=Dqd`$a*weT|zZT3Q^O3I-cj+_KD&b-`SI&7)0Em*bD8?<9GA zn(IwRb3tcmov(R>eTHdR&HV509Xi|_X}1M|i{vUk1w7|POLUyPz2E>6D*@F5$i)Q$V@%8Q+@j&58=aANsts?7%L zW9c0s2Mbz{gexl|U|E z-~X7}B2XyQH9%77FO6c-q>sWa%%d1`w~V~8{c)2L30gs8Ym#DFZ%spZOxb=Z7oriBU_p2W~kX!JT50 zejdikj2pM%2$A?~IJ52OM?Ta!ItBq(XbCRO->%uxl0fVd^jV{TsWNpZHF6?Q%W{NJ z*v78F{6^vR6WIo2>Aj%)pKjKkVnvlj$Ceh^J90A%b-UHManoSX&F-kMFQR>@xof8( z-o8Fdz4$E-Rn!JU2uq%WkoFqq&FjLGPehZQmNPZauhC1qmv;=Fu(y<2yVfwnwC>%@tKp@7Nz&86>i#*k9yKLDUPy zco2KXcQ>emq@-NR;WA8dYYptahOhjJKapI9^+~S?nOq(zI=4v1QbXyleX5BuIp6F0D>6o_pPAKY+VM;7ao;p7ZY)9tQVnkFtyo!2 z*8Br5g`OldlI2%^*N*eqHSY%R__ezvvJ%6$MdIWx@-m{bGIs(ZNLSsWL(W-bCuEY} zW6DgkdK87_;Pt55MA1YAHLhH$ywn%5h8d`v=_B&`N%2)hVXxf{hbTvzI4CbHv`O<( zZd9^=PW{Dmd6AE=DP*Z?_ILaX7-}q6?;$w%cC?EZ_vj{91;n56erwCdk=w(H-&w~d zTM$srD)h!l{DJi2%j!eD{vtj49etCHlQb0jPuVcH*qWdWlj7_o#LX0Gv=-yMXIB}6 zABz~{4zX|vu{Nz+N>f0Nu27Ku465`El3gMu3owIln%8YV0N3q`si&|h$A=J1kaClP zF8v+s9|W(g&9RMLkYB#6!u_Y=knKMYhfb!Z>Xy!ypNk(#Nog?--v1gJlMNIx#4v%= zN(D{KN{*;lA62l+X(Cd}VoIoi;M!ue+hUl6V@gX+od7p7&{Lw1QgUo0ir*KJle8zGUOP0-nLY^R6x!> z^MWmwEtX^5Jj!sr?UKtVL+6yYEj0%Lcx>ZF4YmafZ;ih2 zuM3OD8aMhq7tF4t3LDzptCta*y)AHg=jY5>M=+RY^ZN-ndOy-U^xo#lxZ zq}O|{MnQE|FyDE4Od|#_@%k>iD1bZ3}zFE5Yfg< zUnDrqdJE_zIZ{0$u<0XFW$4YtHC44Gnv^Y35{sO;C5I0!{CJL8r@q`kp*vyN-cXhJ zgxa--61T_3_{5@>vr@aWQpskdcecrypJ}7(l8H;^Xi7>haew!N=>9qy{_94+YWGjs zi%IrM(!NEG+L|yvj)cL&@AzzG`Ca_ql=t6uDlJ~2{^2QK7n3Z@TXQ1=FLG+4LeAKT&4JF zne+2ArqKS)V-7Dr z3g)OqNla~P@1qC2+rECXNrO%*PfEEa2LLAzzro2ZD{TFtsIV***-Ppl6l}kzyUR@P zRj}$E} z&)@%y3g7=vRQ??fC3#s0HdJ5B)^#`AYIR^^L4ir5rLHTL!?sO>3H&w8*8!KM6N{c!7(}Y*EnVE(+JT z*E4f^jIoMz`ous483kZEWux3&N=lYxS@+L%5DeDn7%r6xw>Vn}v+#Ded^y5r& zwRD{d7XJx_*hsxTW-t#YZmTeq1v@y8WqO60%UD+!))bmGJYnJUKc^D&pm8tCPZ+lT zBNYDwSMdMML2O)1o$QQUEZt214?OkTi9N~*n^&T)Ys>zTZE~i} zYV-re*S837dpHtKa|uM%YL%5Auwlr@a0u^q@2eleZ_|!@N^6wjb~K*xdo3bV&k!cu z@?_qEwU93;Y4E;Xs)kf3L@p)qM){6d(M-lV$3xW%Z%xTo)bXOd{oLv+hOh4tj0RIOZ|8kGxr50;jTQxxh_|;%2 z^3EB($C1=T-$eFyx2J@#@a6{CT|G%rj6#52fL`EgD)*`ZLW-h-Ie2QI9(|x&RV=>g zvF@zu6h@wlNoT^ST+-Cvd?TQUCCyCY)MhQFOrsC!J_kGaWZ|cOM7k)j?UT3M;mYh{ zL@gf9eos=FWg6v7<)r#)wrXjAY+*A0QD}zl{E-D#B@nS9YOoOCH+|$V2oo3LQ>+J$Y--6U(8`F%RiL4`265v=2aSptB?^i9Db8poy5MotFX>=*IEHZ=B;D_MR z7*$Oieb%T)zlg=LsMwk#m?NWLnCWOyR}oR(u=W$g=j})y3k%u1(PYN-WMYx|SzZKZ zDa5q_`L$ETEC+tbBz;!bAmfkO-`3YFF{V^e-(S9MPQsGQHibbIqL-U);Om#fV>Ybi zY5$A0w+hQ@-QI^4ctJ`Uq(eHTySuwXy1P>(1(YsH=>|!W5>cchZUS~) z=bYI9=)~x(Nx^#uoft^K#2~3vE72NZ-X}=UG@D%Ek-D51=2>PY6hH}Pe_MwCaMJo; zo~eKTh*6xPJoq)61&6Vs=!wZPZ(Qtp1UFS*l~(L;_eaI`eUlxC+&O2MS~AXAl!JqX zUy@QO<&kYjz7I(lvTHwtt`1xGAC?KjOk3rr7ATpo82BZtZl}dQEON;neZE2+sk7t7mSoLAF#Oge&3$Tyy|{@4J@J-D#1+nu9@Dvpu0g*q^k{})1$?8{ep`$` zpBb0M_?NHD{M{OM4SL|rIKG@29cZ+I^@ZB9QyTd#vT5cI17DFY%kC|r?MX-0l`rPv zu?D4`Q11?+d^z>^LvRiqM7OAbSR?4*m1NoEe{T};aSCKq`8cajHN0t)|5cYyl_McB zlwl`3+JY^m!0lYU;?!^F)FEN|)a9{a@z;;xNpE{@a6FAx9ak)Hi{hjal=q6~5X!Z_ zcWaQ67soI`L0$H?nr%haaf&Cdeil-wc!p{Pv%8SH-H68?*}7WJyf!$f^64umcm34 zuXpPi*$d_mJ^#Wa5`yu(*ELs9w7jQWXNjnmx|^KfE{Jr)>t!YAfP(yfaPa)`Lj^6$ zzrIu;q^g{}f>dM>w5ZfzQWalo`KJk0qR@JrWwiQ&mIXuU_^Eax)-c6epy`zp>$ z)@KwNBZwoYHRLM76H;gFL7V3t3S_sY38{ujZ1aKs(B`=84@ICq3Xsn=QNCq)!c_X$ zCO)uJ6QX&2*mp}ZM1!yRv;lCd63Q>DN2PxEChsjh4K`1aO;1o`->Gk`KXdDe6yd1h zrP?&WlX};Fbk!WI-wHj1IxUf}+rmg+oM3GPaH~4D4ry%b65$aq3urE@am#K8PtBYq z!g{KFc*-2J*x%w(!TwPG=D6=$bY&F!8@!VbP1i9{yDF8hr$2frt|dP~Fl%AdjkF%Y z35gm02Avp2R;8M^fkMpvKk5!MYZFID3ww2E3$tI!k@XY8t<)-C(p4EIc`q-j`dMuc zRu0YKqvohbb^Kfb<;*!vY&IO)`L)0#9spDMVqiV?IoO{ch=XFP;^}CWH(C)&5e`9L z3rG9zB5K6O6vK!v2*io_<#3=L*h_g*SkbX(1p&`hvKGz}8vbdM>$jAF!pWoQXx!@9H;djhj^UH?v5Q<*$)YUrpjZHg1>*6XD=$QrytP z5kJu~q)`UnD{3%rTmcbhf)bVC;h=V0TX7iQ`aoN(pPkq}t@kp&9$TN+*ri<59G3Yi&JG3O_ z4Da=6{%dat|8Z|zmBj5|Y9c5PEP(+T2ClvM(bQ25IXQIismU;F5Kpg@OJa`ptq~3M z%^6M4^yyf(PpmS(arf7j@GrU{D}4nH{`c{9urvO|44b_vOo z0Z6ckr!ve=JQoLWcV;F{k8;3WO1C1RskV8ez2_xM1J*{DyafuCV{_i=P{P|v4C^^I zs|S&;F*+Q#ERIF#m$4Y80-Dq&<6EE6D<)^@<~4cFS{?7D>cR$Dr>}AqF&I|NUD)sk zXxLE=-%135F1e@v4HYb&ixWLy@t9ic+Da<0ie-G1D3B{#n$a~A^_1`H7zI(ztBbn= z9UU~TRcBqc}L}EJD9gu}}p;^F>!!1ZqOPD>^T1v~bP9R9NhO7J4Om3(Q0e*Q^&L zc&si`q$zbsHfLrk9A1}=ieGE&ak7?hR;hPh#n2Z$#xsN+xSMO(V`4tdHT1GcZH+7J zc5nn^qeg|K0R5lg3D7)pTRfW@<09X zcI8XH9$nDv{mgd7EVP;_5qzAWp+IWn`u1fmb|V@}!EW(`A1p)@$D#(G6B9FRTFE|4M1N*UnCe)T3}hF(qUm58p{E#tWkmfbAmPVtN;y15O1|1+z@ z6E9m{$C z5QM+fQ}iJG9rX$FwyX}10Lmhd%h?sp0=xN0r&H>~tVG?0zRo&H9Zfgu<`ZzXUqEco zz$N7Tw^jM`r4am{C(1x8{(J`a%JRVuu?QYNMxS+<^@C~5l5D&D?_nZe_N*z;54W>0t&ba2Lm0E@ z3HohbC3-FlnX|`|T(MV7h(?~Zbs4&u95aO2@FYJ{;7dNa`&!Oh z#VAKUU5)L7C4LfTV~p6^BawsITduH7Z8Vlg4<_emM&Wi6CR}QhhSXg@0!88WkYHcc ztajXOw6Fr68%sw~JbLc=FQxpxNepx)lw{fFzitxwvgk~$f zLDtV2k3NmA_~6`52N7)+*_|#oN#VIJyhC)m2R54(T>4a393f?&pXuz(aI;^jf=s3X zaepE3HM>G}o3i)g7=!gw9nEcb8;>AMk%RApncW@R4%EF5OSI&2geXX>D$p>VWt8O5 z4_`c}5!uz>VZ(BlW2=^18+Az;zO0HDP!%MgDlA}C;(@C4<{^}|Sw+ymQ%PjneW@N3 z&vH3PybpiXDq7H1u~dpN;}C+PFIMMjCa_gbfuH}(_Wp+t(f!M)ziO3VM*I&j3^s{y z{UwWH5JkfHH;aN0y-iK^gYAWGCK28s6m|lkaN|j;_BE^NXw@#QP{&Y*pji<@VrIBL z>29~6zTx?J5vu~!=sI^%$0A%r?dIDp8odU*SqD!|sRXQ9hKoXhCYe<2$;7ap2RwrAm#$Nlz?}!1<@0>4VP33op*^Zole*#m15vdHG`U{_}K}{ zzkgGXN~8tkkj0yqv!wcxe;-Cwd6NVBLAt5Cl%EXkS@eN!y%CN&MY%C`sK_+ zS@@v0GYsMLganWDpTKe82c=e|R-o4RH%D?-U3Wtw%DH6Wzsz1Ep$Cfc`xg0g*k$pf zFfst~Yj5HDkJ9`_#d8uw%MD#p@n|n@UMHHbsI_r7_o5ycfDi0XTDK~cKt))4Q zYs!8BVTMGJx{c;YAgUdxRFMc$*YEXh*p;r+&FISu0rX@*KIe=meb#Miqt32*Nnm-D z>d&_(ugu@*>tjsxG>t6kqjTE+#B!zt_o}AXK`gbbdiQ%0iBL}=w)M^4FLulR_ba(< zOOP|a_v__cR5msp)93fpG1GVE3lysM64F?9r0#t0Md2^myNeAxUul_y?X46ZHJv=ig;T9s)zfwpUNQxMEA^0|8s{OL9HvP>GIglmtujd+hb+gWl4{(Zt@~ zN8H}T!|fju$T*^N#7I%j|r< zPzuv_w|uYxRCJkCKM<}WM$66daN)CfoEGy=ONR-!^8~Xv_0)7Q((|h9wu!c~m5?n? z(?%^p6uWi`uQ5q2Qg0R7!e+5KnMS+yq{BS04uC4U_b?Qc{=01T=aa?W#1t6w=92#+ zv=^#gaV$^ehaOvV=pZAdzp{gSSfaRx9D^+@!vL7!lH2C08&fYVsC0C6zUFr}saFq+ zIU`ukqwEe6f-F7WHJXiZS~GSLnwKdeI~w?_Zy|jM57dMDUNXz%5HpCsW=xCE=t*0X zrFrI7T0C0XdO@J|txXQntT!Yxwj`!5*0sR5pT-U|NNCoBTCbpPI;(3xXGj@6#jHmx zE&ow1swz_f^CNYPb(z{~<-0Qv{kvpD?*;}xs;y4)3x`Rgxl%zk#pS*?C zy^f*)`HBWAUu{9q>6uoYN_$L;PI7e#$jE*-bQflApGgl!rVio9ELhVU|d+>%Em4@Brz< zu!TUOTjIOMK)I7oM+OYzUz5Jdr+&S*g_@+Q%5$FDAhxdmHtmQyx91^q-) zr8x!Wcjt-tTs35Y@xoN(R&rHxcsPP89|gn(5p_h!n$pp>&`J;;{V`SW;B;#>s#8W7 zH<54)!(a8fM0|y+DEy(t(3$`H!6NX-VC=Fq|CAR&U<}1!MT!|(`T$F;F-$Tbsi6W# zcY3|>!Lvj9cYGUi2~2SMht=vvPw*bgkS_e&~D++*NnqixzvXA)H zX?H&D98 zd4}eji(?BbHCt0BN5VLnOv-<^o{Z){s^)-6>P*Ka6Sq$S%$dxa}f)K$_ zvDTuN?wm%2>t$+8m3#nJ z1bDo_iaZzu9xwXCbDOf^@0!qxEJ|Rk)T-i+lq^Pz^QUGUpPPpeC#|d>6jQE<^m2X- z1|F|Dyb`PHRNe`8UxqJ444n@$?uV20BuoT1glnlz)lf{}Da8a_Y43VS_6#5y`FoD# z&rvb7BH~U!^250x*Q(kE)Vr11tMyO1?iji*cXw{nL zhtV&8ExyJH4E$(=h8W9iV6gC-D~5}YUk(=Ak`f#Spf9%X}rl6ba5oIh$H|#63k!9LWG%K0i5Io$VpPH6M&rL z#1K~J?GQ|up@z&yMyggsfTRL?B#cV9h8Z`hC!dE`00X59I#6C@8AIu>-%Be0V@duE zfn}-uv_L9iUwOIWBT^TU#cs;>Xj0dV#LvtO^AmmppD^Ko~v(D+(fjFM2gITS<3Jj3~X z0TQu%Z0CB4sq1-ouhlko`qU7{NhR=tsX4{%85U$U5;4W*g#j~Oe$u7F=aqzdBEgfr zPb@9INFR85y_N8&8|TjH`2C0FD^*CDKwL|iP})(P^94u<%lvTRK%5uG@N)G!YzzweIuAr zmr2LY8pnf}K~4O_Uq;6^rlqO>u5$hP@(AsctCIXmNM>E3Vml#b-u#hUHMrOuVN*AP z;WHNTLZPUbX9Ex(AI~A5Gck0$A~jwX##~qG5JPtP0gI3_w zZ3gZl?tF2lVOQiq z^(eqqhK*e;Xm9vGbhgckq;;+(T0sioC;;*Ca@zE}^D#;LJj%O?06sRNnkqmBR(#Lw z+-$g{McJy=*Ij&@!5IK21}7@9hCB(QCu!K3sd1Nw_xOsetgn-&VF8MS`r9wri~es# zQuDC4_`jI!$KnEbw*f{B{^~(PQ$>UK7wI8KZ0a+2aCi5jIUIry?0Eb6@6}~P)R~~U zJfo~C{PInUh>2yJ6sQ-hU>J{4Fnu2>=Hum5rt>>4j+afdTeck(rv=|yR1!*u)@|X63|a>XBAP_F9)q=h|n-E8M~kla28`{*2S0& zVo|53kMs1uYj@nDJ2lI2k+Gs~oc~7mzI_ZC`m8bAZwf%YM!6?wW?`Qi)9X6Z9>dU- zk)^I}t9B4R@MQJ^kTQ}!Z7)FR%l5=4*o{H}q}+0elqmt3Ma?1XSit z!q1g?!pQd=oc+IFD*wmL1+2_J2LInvCjHixV^{(LIEE2Ii4x+<6-@JQx3K4Wah>Xd zZlg=fFtEA&GG#)e0q+<52Aqz1Nfv;|(!h%3seEiARI@&c1}+gOM0WcU^cReIu@ftE zKpW;;mMqRJs~|dB-Q&yG%m@0KK^GVP7t!@ctkMrdtgCnnH-bG9tV!5MIt#k^fpeD| z668cpkF4AsU0)9_q<{Bo8%8?1UU)uQDD=`7u&CnvSX?aIWNG&)B3w0rUha~g$=Gb<#5U207i~Kcu)$bO2NT!QWFqiy4SF1cduys)&&R@diL< z`D^O4=nw)^AIt9NsejJUr1;;b{-4JifF07r{vYH1Cu^kLm1~%&%=>SrYCUvYN!Vf8 zNAv#6iw7uP>~{_<*9Ke3opxECg7Jp@M@KiZZV&>n*h~?Sg?C9609fo*4w;2DJGvup zl}>G&;#|n??3S#6lO}LMul1_!GfXAr?w3p3aO;(A*pU>CXinBbT+G#n5-+MXCADBw zVdXV=vTlyAqV(iR0ld!*vJe3Nm zEooII8U~j>sQ;dw@C1Eoe85JiP-bCVIe?naIFc{Mo!tU)syivZJ}nw~!7Cih^0cd_ zO97Xt#PbQj)hD65RII+)yuAsCTQD5Af-)+w%QWjBwuV#xtUCIBQb!{Litu~y_Mdb0 zPEg5F%f#N}*IN8#lz2AhX;?WK3$@Z402z}jY6Y;;i~myu*4rC?=$!@?fkVH1^S!v{ z9Ih04?H#$N*fv`=M7-sK0ynr=?CoifexX$=$`M0ha=Yb?m>8^Z+qVL;;aYcXczfz1 z>&;kYEljx7{*OKZ}WqM;aE%}*9;OeeoLtT$^!pP5+Dv_Z(fEOs`& z|Ay`f@)l)#9YudAu|6Hvr9%>j2|rrFv3Oq#N1VUBDsjmSB|6Ccd>$}JvPcn=zy1FRm_lkQ!otM!gzcg*^${@Kxe~lPUb37%2t8kjE3$U#=I~hNPqqkP8 zz(3vp%PRe2 zqW?v)yqmPW44v?5e9rOy!A07j63i&}QNFua{macwwj`-wyw=9;#3nuuHAkBAOW_k@ zG-Gfi zE0aV53Id*c0#OHBFzRqY3JYk#hDkHVYD};#7V~UFn1amyiDCNtLT7;lK>%mpcmTLn zU5V@l%mE|!F8)%aC?ZC;9&<_t7>*+tHtwXD4YNbdqIjC$%WJ9pmtBHm4?_(U>3{!b z{jcrvZ(h~Es_{>Ez0ReZ8w{RYSth)vet5m0W^Ul=T0S^JeTn!?e7puDhtya-$0N6X zKNaREVkRD_odND)!|~ID zeyDp`e;_XkcCZ5(uzC@|#8lSm_(^BDoao=b3Al$RbC5TY-bM^m9yO;EY!RKtgu0H*+)v ztQWgqsIt_H1&EZkdzPYAkAN#;VxTUAd;3wQt`lZd>qee|ziCG@S$5>7J#pzlKf z`tqv(ALwgukn<1dTdtEpfJ6gC9-z`ZlY)p0C<6bUgZ%TtIJ;W7cv#qrJ2|?!yLy

7^hWUk1BG_-Yej*uTii}aKE%o@CO-5ZL(_jz9d+u zi~WvD_aqU+`YwLHb)3vPHrCtllur~k{$e9bWPM;9B@T$AsH@o)0dbUPKy4_|mF$&j z_@=@Fc7fW6G8c%r6=b&84}{`rd|mMEiw5H;TX|vvLs*>5K8e$o{xd^Q z2CBo5E+hd*%ah)w4nvJ&k+usEc?I8h%fF>nHDdn$oHFOljaKs}^U56cNliu<)HL-) z^h)Sj(pvF$?7#EF!2PB_3|{}UHowAQusGtZ=z=y+k4+l%NGs(fMO*e9;UI;y5KYZHCE5v}pQTM2dQeP>04v+QGZgglFqdm~3T{;YoncUp<5L|y zd+Yr4&pE{aVNyAJay@8M8#XF>3Kqu~H$1W#N4ku2t>MhG=bY=}kYLg~_`0&jo@r`ggyKQk zvOOtX%zghO#5{VEc;7|FFn={O1ib zQNabJn!YB`VhX=S1%I9@0)nVkzoNFE5cH2RWSsL${t*Oi7706V?*5Gmauy|_);-Jl zOY0txVgapto}hKFsfOC%MiQ7}Nq*5X22&YS;|uWniddZT&qqm~H^~)6DGaqoB|AH{ ziXf$_&Onp9wq(f(R8M`k9%-; z=cCP{(-?VFb_B!)SZT?Zbow9eNdGYIq3N<{02`$bmfg?sNBj%+59B}@exE7&b8Qk_ z?nR-e41Rgz{wDUh?Kr4G7bS4RfL0V+^oM{Ced4fuEe}Ai@xA+`RL6k-+u#S~0*%`Z zcPoX`^IdPg{tS))Z`L}HPDM~49k^z2EQ(nFV75dxdk{x)RbW-t%Ni?fi1K6J1^(o> zL{AvvK6Q^|Z-+ra=<7BIzHV~s*y=;!DI{h#{&Ju9DUD=Y>0gkiStJw{j4SZ(Fzr0G z=fjJj<|>vj+h;H4f5=d$519q3;i{es|U2WN>&wT1NR+0uiT?(YB zt+J+g{$m|a>_NMpKWNwM0UkF4;Bh-a`uythaSJcLf#3K75eUt*=(6Y%TBiaFzQOG^ zY#y-#WUwpX==&-`x6AK^$v-E+z;gUwR`Ty^By#>mfCVE(A;4bQDS&D;^Z#89?m!t} z;)t>=UHbF}FE2`TN=2|~0T(4I5XY73N6s~JT3fhrN)C6T0h4jP>TAX_|T#ql;cZ1V61sjh|%mYQuD zbl5QS;oj)x%Gb%-dhdMDXnA1-44Z%w=&;do0@nPO9Tx(S<^{3K>?3lX0jKFPAQYSN zuP1t*uLLtCoxVE&TrNUaE|mNx&ePX1jIph41UFB{~>B?smvBNo#~iSGeeCl7zc0KVwOxh>75o3?8|5|Bv% zXvWE5QsIXtAc3s5M9yfP8`bc(T|T@npC(7jSSU^9i>zLA3fcAVQ`JkP^;p*GDJ6FN zQ(k%_OwgJb05wSkYLeI-Ab(N=L{{`J6B2ey20Z2+P&-A3Hej2)!B6}70u0Va0rKpLE3-`qU$#6<<63fir6cuJ%r=K^i&22(1U_K5TN(#uLLGYe7|)Oi=vRb)r`ks z2`(@}hM^P0o)e4*uUy50p#gd(wiDFA!~C?2s}&~c^Z;Bb!-?!NdnpjgvH%M{HI)RB zoe!(8be7M7{C#+KV1*F_oD@M@Iwp^F6Ax}hD}(RVy%^Y8kb(LA2J`1M7+8y621jxn zbe9ZYnD%U((<;{-DF@E2+>+=B`6)VNZO%=XXnz4-zqv{d1>-3iuVwYJlV0**bX-^( z)wuasW`<;Z+>@cmL49Cf%({8$<;-zwq3zq3*;EwKS@8vMtACV;r(1ez&M9z7f_OWccku)me-Aft65*V8FC zv{Mng)+#swJeNZ9N%~!c$b7$2dl}g(c-PV%J0D5$bYMMwvV&;S;JkaHZObiPY7eBqe)9zM|qUx)Ew3@bx-p<}JHywUoi^37@S zu=ZxaF}&MV)1i<;RB{5c!W!r<_SkQH@c_rL@^w8RCO;`Z0ncYK-$?+l!jPDeuTZ<) zQApAb>HkAW>t^BpJFg1VlS*<4X`60{VzYGM{iGtASaLx*M}$*VTi_~Jk7Q=}r_G|W z^0brKDeh~6+nuzz!~j7rpW|Bh}1v%)W~FSN6FHPV1~UDk*{xu{Q( zXhg%0xZ>U28Fy;*SckPW_d>V+In9yJiF))wvvK~?mDm^=F&WWjxphH%>?I#38W$%VFJu&RU$xKUq-2(asjcLHuy{U;@?j{aCG zR=`Ov)oQL0MqA`91E^B+9SUh@KDR?}di);J{`u?V_OA-!-;5*lbpkyQazDRLzn;30 zHu~3-Tv+*!1_8}V|A%HpN-_vU89~iT-0X-}em%X&HXG2aeh|Po3?JsbgHqnEB~g71 z2N__Fr%nGVBxAMBia5($?i zW0u6$qiGL4xbaR=Lj|}uWR(Ya>!i|9sVCT~4c4+*k-Nj7ow2c~%wGKfGte7c_F}G< zJt0v6w##L&lKaQ9#|@|A#1vFOLeECEfB>i+Bty1(hcwFU7;>CSnWTP#L1GiOxV>dwBBrtrz z|8nmZwC^r4y)A}mqMqXdm98d2UYCkgg3^^0AYHA^fYOy(6(w+X=%YqF-TqTkruT$z z-G`I#%fZ7#Gz`NpKm}2A-VWaPQoKs|OT1!K{~=!Oc4va(l`9}#saL%FGUs}jlOmVH z3vAxJq!jiIs^W%=D|Z=y)gmD2oiQ5|>_M$H!D=Z<@_X-3xc(#OPg0EWaLx~w00l8N zAcS3aO{5J}5c7f~0`h68W36i)17WOdV9<1#N;%#8p2y(Cu(F5!c&0oLx<>x{t(!mJ zyxpx`oxJ{yjQ`u^Xsw`80f8uf;0hv(QhbSagDxRXi)-Cf>ysnka{Okf6&xn~a>0yg zC@WZ!;D>$d_&Y$yi;((}_W_PNxM_?M!^h*N@fh4hSkD)g7Kv75jw$dG>iNdeAF=joDl_Bo zGCh^0ip-<45o90omVaQEF$8%PIY>LIP2KqZE?$;U8MHeNxF^3{Yk_vh#h6CUS$P5D z5%tJuo!DBf3+|RnM}~xFFE{b`UU-C`E^>i!(mA{ctIJ5kol_AYPMQIYlMV(qglVZZ z)^z-Qk?UiET;YFr1^@Z-?GE0B{*S>Q=&_q;m&a}%KP<`l`(}j4@P?yW?ab9)AuN{( z?%t;GmnoA=H!z$&Mwt%U<*l13sk0X%9v8;c=qNxI3!p-V0kU@mc&eaeubgEcK!p&% zpBq`h5Id3fD&S%-@a#9S!&KS<5fjX0i_S-5xgK6>_)mD61QL)}*%DI0OsTpw$5`6& zd5O8)}-SDuxx_0wWMdI&kH%GZ6&}%oB zd!BG_$SDxHKBS=Dn;*E7c+zvWzD0On$ddwYBXlDi2**8PsQeZt;_S_VRdREH7$}I` z8136N^J3TR+ELQ8Y@RU= z4kmP7-uh!037NfC9H89}i z;l<|Hnecltk>8rIGo?GeG~WwCOE^T1Y>Ehei25Cq-mNs33ad?Fie>8PNN7VshxiCJ z$vX_Kc}siqtEQ05)YHi$JO8f@Up<=d30lnOY;k|hDZZCjx=`VC*g^X}MdRA{n@{c) z-@~(b@348Yaq@MXtu5KMl|{DwZXg*>#;Gy=vr|#Sh3$|JUv;VB_1)W|?~qO&RZ_M@ zKi+9Rzro6X<4iS5uxKk*9q?!i$kr6odZ$lYDZmA2O+8^Z2|gE~Y8UBcQM0Gf{Ek_} zf^~)jd8$?|KXv!^S3Zc-Y4wV(hCgzR)8<$G@bhPA^oL$08!btv*;VbkA-3OPO@+pf zV*T&L_6>|R#tn2QeM5XBR5)#geU@o@S7lp1DnPR4Dcx~&)$VbJDgBG-s(t;wvzXxB z$nQbHq#oaCNXHX3+L(^&fRAw;YKvb)n+Fyzq9L6Zth6gsK43cKhWOD=%XbJjzj%w# zjX7Fl@bVg#6h0%Ot88000cKfmoN8=%9$^`p5+_H(sK@KQ4t$MIC@qs0=H@XRFYK~tI=`QIp^NjaTpv%!Ae-lN^m2PTA z%as!Bg8gVJ8c}Fkmdb0EiY7sW6_OZ{rBFkM%`g&OD&(Cgu~08r{IScOv{jx?SBeh8 zPRkP!%!XvCrjlJy$xctpCC_cC-Xv#QMysXRL4>rn*(E@_Oa$7^7{NvE3>tI@=+n2hEWN>Rw`eYT;8$&(&zMth1@NG#vs((KY2TbO9w z%;XD$m?_i2XR4gHXgw&0sdT_xQo6QED$R!zZl2N zEwg+X<0K}Ln^Qbbf{`QIRJfViESWnGo|X>=JelI4$~`QIu=*Y{q+LyfdEqom;(Rz-IAHr8 zy?eXi1`E>g77f0ij4cb~LgoHF;eH9HCl+i-lt|`s>a;2z>Iba*<^#v(MM^O6kd;kE z(!%(1ZYI-rsuh9|Vt4kL?w&-}cZq3q*ae%G(xmSsdt0_wlr)&5O|$4G!%TsH;Cf`q z9pzD+g8*4s8Z^Q_EXqNH1kjO9IVRX~BdCZ}%@Ij-7|#(cnJuV4O{R~yFe6Rqn4$N=w%OV8X7*Gv;F$fpo_a_Ir`*U)&PEHTkeZR^ATkyB}!1ZXLYi z#67@|a-bysVmyw8dj&PzzmWW{L(de!{!zGpKKX)uPvfn9hj9M~!(C%0V7$(KEy z63KEu?0*Y^V5crunlyh9Ju5u-&#wQc*3Tj=QLpD9;RGp<#E7^ zvwea6r2ehH(GD!qVGy}7jr_~oy{B()n9BxX21S^bz$fTlL+@eprcA39NkWr&bYG!1 zB2z{eDR!0)g&N+Rx~#VsiR)E;-D7osDx`P1@KPcYFLAD8dnNmkV57wla+HPrHJH!vW!W87i6Z%N$LeJ4ZK_+> zAu^tQ67!-Sed9}+V(?lv;vwxet^tZ}b?s@QG=Xh_VePqvrWW#sX0KmS2lkg0!Nc2- z_YNxgKEMqei)s!}_oaDbTV|uP={0?Oh3eYg9rs9BDydOKLr_NKf{`BUA{@A^dZ zF-hr`+tsA}^*lP$q}1bKQ>;xcZ;-GVbX#iaDm>${?5!0AH!E_B3LQPFAz8MzvQIyt z%BCZxCP}M;WW~1msHJt{sCQ&v#9<62 zU!9A~TmoO9iaK4Ao&lk$3msE`I>8i&cIDv|yoa=Fawei@39*)nI_U~O6S-f7FoB}4 zW?i}0c|*fJ$F?ySo=wAsVqV^{bOP;46avGDcuIajB%}&!1ELj1OfSxI>U!bQhJIV; zqKOCYCHXQaJC?5U%kk&oaRu1f*z}V=tg}m_>9`m5MFjOV#t)i9E#L@~XM4_g8;kB~ zR)5$b5MOUbN2;vo@1wp@E&q0u$eLehqvnRGF0Sy^FemC46j@UF6NG~g?+-*u_l5$Jg*t_GZv!d7~_de}%dDL7(~+dF<( z`S>OoxnHhap8jD!t^AuZ2`$+PbGZ@c3Q0Ll4-1+R>aqIwGMVZlaYizIa{V0n@%l7 zBOOh)jOn2sB_<{oW`+!9dp!H)@xCRS>*H0A1uJWB>31L(o4qai{Kyey;3E|ROQsrM zWfF~hcf}|j_Er!RT^4V7UPAFnXG+qnaa*;t1rHzgLH|F;6@RVyiQiLwtjfBbbz`p_!`S5}4ro5uMJednE?$gJT#;xA)S_U12f+&O>52do)Uf1B)^{qLlVen93 z-@U~V5RVtiIG3ayGNO(|^?A9lTtCgZaB}A&Pp~+U4v;@&XU#_E<_l9-WOf9Ex>cxxK zXb{ZHcezEeLsFcfB}n}4HSn?6fbuGyl7d!SlZgtvwWF>LQ&qy46 zQTeE;K>2H0I3F^?VDYkNNcCr9ChK&xj@Hs8K4kC_F01YU{s8N^+HMuL8gDE5qBawH zCp?AM9LD_Yh0XZp zdsU|B=%ak+Wp+76655bLz6iDF?q?2rH<^j}3-e_Vx3TC63H67U!wXZM>ecitNMyiY zq!%^g2KE;0ms*@pocoUVE>UsTQxRj#<|RK5{sKE#>bQTlKFK-Nz`=#O$gg9c87qzZ zl~BLTU?71kgkJ+sy$(0clS^G)US4>A$KeIOHV`rORgkH{(sMp}(D1=G!lplG$VjECylim}+B-g~0w-XYy-Qw zDQTjaXcWV$<_0p@`=B>zj0N zr`faur0;m?r5q>;M}jN-?H5#3U$qfOQe$inq@AB|Jl-@?Lg>4weODE0 z;}Rc88DjElM=!L}9;&QVZFHhfrb0%~j#hD`rbWr}X{F!?sk$q+HAj*o@8y*Dtn}lp zx;%(eULJk3N@2jOqlp%esA}glp8>@8i(BbR(ir6$tEvrdsN~^W|sb~fz=GE z0q27KhXz=0XGTIJR}cn;&1Y_6F!Z?N>l&jG)5ot8oZmsf#ipo4McIAy{Us4a>J~w_ zNTW;uL^7@81CssCkhGZ&DXGISN+g@w7UGrz<4-qM5D-{Somb4QaNxebI2#d&dy)y%t~DxD^O2%1o86z7 zt6uRKNOB>~&B~;uyk7)ZxR6V|_9Gm(S3ZPUnRz)uy9;f)Bas*Mt>S?vpm||JS(yce zu3kl$o+DQ1S~Bd%819B0W6R>Zmr&mslI!vqw(ks@Q&v_^UU=D%T-RzE+B`?1D5y>T z@Dehwxm9Lm(=5t%dx3}-ZBYv4xF(2$+!V|&%nI61#CyFE(VR?FVXnLWXjO-|DJv&8 zGq^RX2`v#`VO9=#^S}-;{L#v(Bcw!OZg2*MzR8R(j`|qp77x64jV@i72zYL$%gCtR z0ii&tEWYa)5(O}dC^^LeA?l|0yJ2!!x#R%{yTt;pu_GjDE7&)}48vp!gN7*H6hsOY zW_tq_xi;ouX9AJ3Mc$R>Wo5<yDX@y*Jky<)(Xlvh-T<K20eo>gr`(NW?uXi7i7A2R>I@Bd~8+$Iguf;!9qk`v)Ui@N})1&`>&3s zOq|u_y4H5r91WFmx!;I4aL&jJ51v&}kQ;1W>69q>F?>Hijf<2n+&@~8>nT3$V34*| zVuT9wTo2$i!h;7hU8{3*&~H2W`L6A&Ys=H zl^G9A5jo}V;gj3RC2t&fL>6u@nCE)0(V$0zqp=P+3)ccCGF^`# z?v>WgrLAh;n6uE9q1{7Fglu}skJ%Ug^wB+vb>>O97So8x3+1dG-!FIdu zc!bJi2lu$4CsW+IoKo4@g|6Ljq!vOXT|3>7mpm>Z{>T#-Tux@ZP0Vp`PGeR~ektG; z_?ck1Kz@F_^%Z2sEtwmXjNGTWC28ddI9zA%%*QJ`H#j^GILxHSz*tU0f`)!^1|MBpc8-uWs3S$wE5gHVs_bTyJS(xn!Rg@Fl?S-An zy4Gxgo}HhQ8DpOuRX96n5~WijB(n4K-S4xUgNHDo!W<8j!U7KgI^XcBhHvWkhf+XB zlM!?L!i2Np=vhIwSC!dOpP9mha^k5fx5%R^+A%x3neysr61bpPOZ_cV#EDHa?ka{1 zT@dAjv!%)JA4O-uv*>WRX$%8pa^qq;mM*Jn@Y`q1)isOi`6)QPb(~w%R7bo>R9cqR zA^PC>PMYbC#Mruqx|Z=cK124`oN{bL6>>Ez#tfayK&@+7xvC|!p8b_!P!%tH6tPNw zZR660x?^yEw5+DdzqqOeb!fMvnW7Aa#$Ad*I~<5=*Hx`F8i^>5I?>3}6lnwlD$X4W*+ETzi;{e}#UatpyNgN3ctG#a8R^iD&(FD_7R4E3+_ zq6`Y+C==Okjs>4G}if4u`Pz$eA@Oxv}f!i>UI&bN4@>WE9pN)x~AF(^Jv2JM&NbZTBU%RU>&K3Yranwnb#k6p0yoz}J!*9mM-!C+cE z0~uG#jn#Al&Tqo_NcDjllK7^>;THR`MSeaXur)R}**=41kg~MCaZyb@joM;+)5Bod z|D=U6B zz%rQ|R?%4R-i)WVR@E)V-TSI0w1idvb4!S;5&!?RmVeW=FpKg9XDNdv|ARq@tJai& z8z>8$S2DQ#|C%pIxVaDiKV_T=H@|~D#x7l(=+lOm?i650>$JSlI*pAL1zaM#7+uS$2rr^=5gJ=F@Q^&+(esHP35AVycJTD>jhRO_vM=L--2#g{hXiG)#J)merNJ^4R2v?+FerS1q2Q{R;NU_@#cpDJ7 zOe)$GEjfxfgN{+8sWuX>b}n<$Py0|VG{F(E6WTcvHlM-;CcAEGQpZpxJjo^I(p5-` zt*d~G<+=(olqL4tCgnJB%9zPtd>E8&N9}gIRt4T}_bTB4igI?eBTp^~xvqxK_aqRW zm=-E3?wE;@iA+xA;#1wX$VhuA8{K4i`XufV9f z5;{0I0sXcQzyuOf9Ff3{NHMOVNgYG=Jjvcnr-mq7B(`@DMMAp(oZ!0!vBIxfF-UhH zBlGN$h)m}r5lg%*>^_SSk4#PtiU)2miGhnq3l|hB3r*?}6mv8a5DHOMS>W!6+j?z2 z)iqNb;FREman;`t-hFN{At|ngJ03aMa3?7(LX2(~xb+s2Y}xZ8(2^uREkc!0?3@J) zCAbrWX@wl)223j~(XL9Ih>EHl&ec07E!aC(5{XR;9+?VFg{AO5Ij5|m+3p0}vDm}J z9ZO&YgYbUdWCz>t=%dOX)DQ=DC-{O0!Uc-BPpr?;F4 zw3<{j`rkA{E}epHFvO3VvQdi>zW|~$qy4=J4|@G7diga*H+SNAJ542z6oJWLQryam z^`mA|VZ-X07+NcDoXcOKpoej5P4?3!ZBUc~B{fa;N0+$QOfg2;e2lVbjFj32VktF; zr{+-V#DCwBh+?TT>zY^4djCyoh|f%j_7(E>6$X@vY|+0!G+TntP@@xTTPRTBffvO|M5oQQAx~=K z;%-co4|fPv6>(J+1yqIXn16+tRO^0BjDLPdes3g!$r`mVsw_VdpBM546mpxm>BwA2 zyARrgWCjv4gCmJ{snHKEX&lV@;JbnN=VSN>aRSZD zwVRhq&Ep9|p?upC?~IKCp5)vw;v+&DB~>W6ur#~B&m(@;Wb3+FH(yFb-A$4G$+Mf! zw+(7-15cogY}+ofvz(6R+miWCLV=x7;3O2<358BVk)2Q!NXWLQMRsN)gB#jtU*K*W z9|^7|@^rxqanw$^iJrXVmSwnx$*3^#xg%S51^fvt^o`GixK$YSb4o&)*|zOwXFL71 zjU$^I$GCr4Lvr|!9uwJ3#P~kcnE3Y%u@T(LM-wnav?zGC5_kbNKJNBL`^*(qHTK^X z7fmBGjNj3Re1R*0&24zOB-c+n6ItpaKMR(?QWv$buf_GoFoEq;_&3V}W^en%?A(A4 zp@g`1P*FgA!TYs|v@ha2Yh&VXMzpe)`&Z+MY@ech25wCJ8>Q%_+t-J^bdBF-Mg3Y` zVC-!FpY8a6N{H7}#R4{)g3XM7#SQC(*Qw`x%2|i4?zI19ojpgJxYR^gV*&!6GT}|lGQ2gc` z?aQp9ak&e#0uk}3n3Eew$c*2xW7LpTaKJpK=&VXAh zbh))6Cz-ryAelUouf}x<8o#%z3I9;D=xpF+POkGZCpRmQkQu+5iw57mKI|Mef!$`b z&rOd>U{e{RJeo5(Z&Qo`xlFw|aKszG*@S)`TTH%OVHAAbh}Re*kgWQUW9J0DLRHj; zi4o38*egW9B`tCvcgOE>BR@T!z~g7s!al$2P(A)>5b<5~1Rn3Al~ro^DjxsavzqV) zJU4e?Q6Q2Zh-3vKfjOBQ|EsRh8hn9YJJZ4&WawMDi=68PMF|e1za`AV>}4|7Stco= z;D8~0&8~Y5@sDl9ck+dT^8@P4chs35|ENbpWs7k23;p>aZ4831Uuk;~E>IXEP?X3^ z_(hSs)Li>vCf9jSnrFWj&C3iVk7xW+~3?X(@$5iu~6Ur+%d9$ zTg+f^% z42H$0K>pcitkHbgQc9GmmVCZ^K}dV|Q+VW3YHFsXPE?CSD)jt`DT4vAYd~WwUR<*h zE1-70VwtaE9p*0cH3l7m*WUQwo3YH-%{OpH29qlmE%(>9=;oW2`Ih-MgN{*tBWtN+ z)Unv$$lv0YHmq)}tsz^gu4!88x}{>7@0joE=6ja;zWIS=eyHMFkvyrfv8B1Csb;19 z6W-)2Um5iAn!}cQjf!SJFs^zmUc{z6zfnIYfCM2ulbLq9EPmcpfy@*6}CXVjl` zD?~5rGto)=d>ZwqtQ&V)Y}sn%@~)+EcFgja2<7cId!;1n`)_d67bl6bMMPi z?;_kI3Adht6=V!Yp!$>sirq~$6dd4{Ela(Jz#9p7B{h1sR%xmC5@h~?UBI%`Rzf_A znl>L}>U{)ObintdEcJfEYoZo5QwtYphg#|b2^db~jVDXpM3^nq#zUx$4<;}TLT)Nq z>O+LIidwgtf;AMZRpvA39o^+RzofL(1uFJrGgY0P_|+pz-9j}VO?{}P*fA7aqMc+Z z{~_73e%OZhLw?$++Hl(R`w zE4AA!diZ`sf3{sA8#4 z67;2ndKsafpq^-{PbDxvL$01!>eB>wIl-+bxMvb@9Fg}&EcID}+dyzv5ZrT#IN$Kw z9+vt%p+OX6Y3GHe^yM}^m336uw-Z#qS3rl^8T*%7_*kja-5tjN2 zHSRiU*Cd+N*ONUyr9Ew_uO{G3!ml(~>Mnx4fnaYW#AmhVEcG=)ob>N6A~5I?!-v<~ z+vV5QlPq-|2FguT`3u^MmU=3sy`i2I_Z*9H*}ziYB;cC~_%H2mOMNQ=%owNtmijiS zYa^-a76N`vd)-oQB|EuFS1si>ioKJ-432hkZ>jH6CAU*0cTgqoXzyC;dkNTKl*4sP zeV?{^$-WfJm+I?iDR&a`ciQ)sau>$*;ra+mxtp4QA^HpDp8YHm;&{bf4QLvqYM=01qB7S{|r94Wp!}P-~^^*j~Iod(CrG83{d5rKM zr{D<+o}}O@3ZACkewKi{jXYkq)X!-)orZz0lP}Fuo+038DR_?1*XtcD<#}RXpx{MH zJDo~=L31S$YYRO`w$v}FYdZ<_B??|9tyy|IOWmMeVJWZh8KYipsb3|qn8rBxwbZZ4 z#ePFbxd(C-YpJ`bwXaee`|15HWf#Q?^g>H{jbelKA(rwwb>j^R-lX6y3f`vR9SYv1 z;5`c7r{Dt$KBP`I>G(MCZ343(;y~3>zoXWDM35g-@CgNgnOSI!rOZ|Z= z_<|6>B*Yr^GE4n20ddgvn!tF69S2#OMt~g&s}luj6m+Jb3k6*XUr*$bD%x?3r5RL9Iw5w$z}MN= zCH!^%{?BJD^&EYzrI`sVywT24EX_v^=}rwfM?Ke4dr+(=1-&TfO+gcgD4nGYDuETB!~ZMoq;*Fu3>deecfWrR>zi9RF0=FrB11sSB?>7?3`IhB*rL^ z7*sMv{eJs)rkFfT<)OwyiH8agnJdK(bqpmtU1qApIoVD_WQ{?4W^x=Og+iTDeGF#( zyZU%MqP8Rkoml%WlxOjh9ePmMj`ETzNTDE=0^ESkr1Kc16H4g5u9h#|*UeJOl?qFl zrBpEJ%1Tf#3X^yxGLQFQiXmIR?!F$DGFz!+(2WaK385Z5-h+)%WCbOvNW$X%U`%R{ z)KaPmTBACTLuWLHYMZOf!`dR>cG`a^l-_Rkw3N@uV?{Z)3jI`T#(oaW!hV#G;}ZID zGzMiu;yW6Q_IcY$HO>Cuxf}l?Qqg|DmMhMo++TFH518yv)uH2KtB92P{B8M?oZ#&(UBhXaT+tMN!b?_)&!7ewh&WRmEQ{llUz zA^mZGan?Prk8W=9ub>YWG&MP&sI6sy4?k=g%=j-L`&0u(KO~c@p zK1=Ev7WbjGp%3fR*wlxHqK|!=v8u`6$4{0tx)1t;E-Pw|qw(%JSl}g(a1h6*xD0Mmd^yYX{+IA`i(&BvG8o3T(fv_Si=J5c!+R+%j)V;qz@VT zekKK7J6XYh_8||UG1i*=YwG9{GL89M?nV5I>*y0HefB?YRG3zYSv5`khF|X?UiGF$ zW>1-l*4A-V!%B2XB@MMWVHXFsT+zNBG?e~Sc)uv()s1r+n(LM}_!m!JRzufaqL-eG zV>o2NjG=RNUmwf-#Mhs}fS{PY5D979XHTuE#f9}~-8YbK{WLZnNxu-j+>I>?*{hj- zF3>!{mW<-gV-*bddr?-|DBedv(Dxjx>RS9`bl)KKh;g+IH$eNBgT9aj41kS>bh>Q= zfb>H7B4F~x7?@%*Sh%YkiXu=-+=s$ zF8(IuZ+7t;k-x>o--`TgF8+4p?{M*VB7c{QzZ>~`T>QPrx4QWIkiXx>KY;uu7ylsg z54rfw$Zv7+ZOA|D;|3J@jH=!$;H2n{3|a0RpfWM_}7qs-NnCw{F^TRE#%*J@$Vr2u8V&U`S)G? z2grZu;y*(EV;BDk@}Ii+&yfGz#eaePmoEM*Wnf4TU-k>BIu_ags~i{A(73Iut421{2Y7cV2PxOf$L z&Bg1;8!p~N-sj?zkhffXJLKED_zuV?yZ993Q(b&VN0EcHr zpXuVWkk5AUImqX__&ntEU3>xZg)Y7b`Oz+Z3^2NUhH*wG`J7G^e6gUDMEYbbM|29O z3SD_b+Etl`asp5K0r}}+e5s571^F2+{&(aLa`As6U*_WfMt&yu^Ihr5ozq!@;`2GD zRf1NF^f`j!V>hi2bQO=&Lj+wQ=%IohCg|aUE)?_#L2CqEBxtRmiv{%yxAUt`T&tphpXOjG+G!^jJZU6ZCjN zPZ0D(LDva-lAtFGdWxW@3VNELrwe+9pl1qtmZ1L?^lU-T5%gR^&lB`~K`#*WLP0MQ z^kP9T5%f|)FB9}~LDvhqLC`A%y;9Jt1if0&YXrSk(CY-fUeFr^y;0Dc1ie|%je_1H z=&gd@Cg|;g-XZ9ng5D+Q-GbgD=)Hor3VNTQ_Y3-fpqm7JP|$}2-7M%9LE8jfw2+Xw-<8dQ*x4#*fb{6SDNQuPPG$WR^t zGXtL?d>L(!G(RKbL9iZxcEOsuVS@o~!|*<=Z4;!xgV4ECALtLa^P2nEm`=?DM9mb- zRr9c2OwCsdL>op5ohYr)K3pYtx>TY#Dk)TpMA;Fdten~*yy#u7qOwbyqean7Y6eMX zum>Ue-mub}U8Oar^cZ!lC_P+MEJcjsR#!>MDLGCZFG`L@<LhhCcCiS?sZ-PvwA37!tWH&@ zVH$SYQOz2m8j8`LQ^NX}s-@}-Y}G-SIuMk7*aUnA$;Jo3oZ|1assTJxhp3mebu`OiZvz-CYBaCQZZ@Na>4OS^e zy2`sfZ^hl7YITkm*gMg|I0Oe%=L)cS-eB*>4R)|M*n4q<&G%OO`_a`dz!=>!_k#Gq z17d-CsDLQNe@Zln4>?4Jo#`66!vb9rBS&e6s|&H~jDASqrKyi%7(`7NETb#pUSOZZ z0Gkv6R_m>^&th2nVxcp?H^k>LAeIP-rRp-2Cy3keUs3=2)`Yn}wb|A1i|_vc5}3PjL=IX$BCks?>Ovu(W7|vLOoZUs#M-fOUy{#OVPLg zAb+fP-@ZS9z8$9??`6h6#4zJ}$9vEOBQrihJ<-bse~e*+1VJ{qPCdyB;-?r8C#$D$ zh*P~Ge)fPk%^Ttu4~WyfA%69MIKz8vevdIWXF6k3FUIC9^}k;2`6EVq&Q#Cl?Kww1 z*UJR|jA4Qk)bk=taIP@H^SxX4mq*Jk@OFNG$AS>f??P|e-Q!`q7pWI}LF|nIafx~< zhp166^HT9YF;skcl$CG2Q1J%!3NP4wF<|+zP8e*xfW1n++QUE@#4ylsScQHU?4dm- z#n9fhyz7d3oi~K+0dc)Igz5otgExfc0db=@gy8{klQ)Fv0dcc8M3M)@MsEnq1L78M zi1r>3w|YZ#@PN3@8zRL6;&yL{R1b(dydgSyK-}pKk>&w$mp4Qg4~V&|IZ;0+55Ut)2Jv|`q^M>f<0dc=KL>~``2fQKrdO&RQhUo7B@t`-v01t?Vydeg8 zKy3Dg80-PD#T#O%2Sl4UM1}{%!`=|XJs`GvLyYi%*yar}$^&A%H$Lcr z2gFC-5Val{uhFIbO@u@e&G7pH)ydmm5AU^k=W=DEVvoE|M>OCO7^zKN5 zM@PQ$hG_JF_}UxdC=ZBlydj!AAa;90w0J;#>kYBW1L8Yxh&3J%-+M!>^?>-n8{!xb zh#$Qn{^J4hlQ+b19uPl!Lmck`@ryUai5?KYdPA)9fcVWD;$#nq-@PGD@qqZl8{#w% zh(Em{PWOQL%NycM4~W0LA_`D&m^MFY5hPZye5KObQb^>BPDE!Q^ODpspmT^A}Q8vR+3AR86zm*pR=GQ*i z&Cr=`bRAW8alpIqOL2^18vUe3!fHBrS2HYXHMe6mcf?suik7UU0Ka!4eT>x@Sbj#l_#Nn zy7CB2xF04`xlK@v;*)Ig$@4;_)qGX7cZvl0TAG$T;9Ag>d^JtIo%enejiUJ15n)Pf zn5m&K8$qN0_uUt0;56P9&F+=c`RN;>=V&z}UEKsTxB$ft+6cyIJzd{E>>kwR5H^qv zfl^M#VYNfpXimqm2}H%!p6g)>c=&eE{FE z58(&)5$t83q5*%wWcC%)*f*>L+s(SMAF+LZVe5Wj8SGb<$$rCj{)Mgl1Kar*o5bu( z4V7pcn_-4Vzvxoo2^g<+#F)l1AX)3ArO|~eHbq#P!NzKxwJt#4?HI0g?0+XpqE@|&N->GCK3ul1nIpIQ4bKO#e-1nI2R`^|?@-S=YU ztW) zw&hoaTYk?pMY)dbzgrtr&sXi1&fyk)io!PTJ8mP$L1oNEIh@vk2{2sPzmaa(_TQI{ zWLcTD(2s>I{cU z-C%{(16E4C;cTftTqX^K4bl*}N*W5cN*VCHGz@l1BjHmi8@`cp;0Gxe_DTf|q|wZj z#;`8ZSk_G%&w5G|SRZK;>n|O|MoQHzODbpCQUxoJX0eILPnIfK3DW7(9B%hZ(5tQh zS?iw@bv=7<|`<_4( zq;z(KQDH9%38lf^Y*}iFt?Gd54APRb$@acHYA9yh6-7!p^G+&+CDCi|oAG(7d3E zVwgHjVPWc1*fehHQ`mg$+B7zo)A?)xQDN#^0Eb+vK~rCZrtU{muR~K`4o65UV3E`a zeyItTN-eNlS_Adc(a|S2`2!kul&m+=+bv268PsC8{n!aTX}T2Pg7wm%-}a+j$HRA*bq^5`3d z&0+fkyBSA%Sq$8QbFGxqtw5Kdw{W@@wsUG*Oamo?@Zrm0~pTJ?#=ja^2hBeYRaICZ&E#-T3lt00F(l2nK^cy$ZwTp*pBp3S#w5t29#)-+`ELv4js_GqpS-)sg)F-=>KUSWjTeclgiu%x~FT)Pnp($rYF zM{k7ms2RruoBto$H|iPby0dT8!`ID1_yWF0EfJ+1&eyPq(|wF_>M{*E6%4r}be7Yg ztK1p7$z7nQ+zp1v-62!%0flluD3$v|wLAd)@<6DU2SJlO7*3Ff!ddcgG=~xJq&yPd zm2=<=c`SS_=fiHf0Dh7SVGr{A}n|A2fqJ+V8=4TE4yC zgWXzzz2Aecv_jhNK_vz4Q-;n|xx>UNY| zS^QiGMydPof$iUwPx&|HrI}H;n4`5Z!hbEnG`jVAYa1MkW`10#nIBIEay&PX6NZWC z{cz%DSjRB;q@brt?r{zDb+Ns!K@SyV$6O0th}{e)Ga&PpAAnOfLTVeFI-l9g@M$xL zZx7aX`bOv);ifcPsnHT;bOqXj+p&GX$w(pEpP)??PDaHv`t`@#ZEyx^|IASB zpGEpOi|gaRw#Vq%3THe1!*(S&1;)E};7Xd3?4!-LlH7xqj`2Nd=@{W!Ia1KqoMZc% zb0ap|J?wpUciLwsYk`fnnyzj?MZ%5tWnpWI-MI6juPIu(7FbiZ!4AHrY=c*Ue&qKO zr?0|moZ7>74D`b2Y85_f3 z5k@c!lJ>$_9Uq1FLU+bkN_RcwPr&KiRm|NpVr(r+w5h^47T`vi-g_js!TD$$7laze zg|q_E7+lE5;373&ahU-=V$s&YRPvRLFc29u22&-btG)Y8cDBEKoYE9~gS{@w6W?-Y zCA&Dx_MBzx6892E375Lxya;<4K4KGGhNj{OT^GE?>F7JdRmV-UTPhZ^F6qTd-b!8*Y=|fj0SFT$A31=j9J!r~D~=D1Qc@ z%iq9{@-Og<{2lxze~)X^4@{GPVW#{OOG4US{?%EZju6jk8VrGFv}xR+a$&1BojU`Vdqx%P|Q;)x)yff`% z6?YytxyaSvAgxT890-5(dK+v≤3+9E0!^=o_DMgMiy29m)YPFfd7tPbkg)eH> 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

ccv3S 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