[libc] [llvm] [libc][complex] Testing infra for MPC (PR #121261)
Shourya Goel via llvm-commits
llvm-commits at lists.llvm.org
Sun Jan 12 00:54:07 PST 2025
https://github.com/Sh0g0-1758 updated https://github.com/llvm/llvm-project/pull/121261
>From d37cba9babada00b2686949af7e2eefd8e829974 Mon Sep 17 00:00:00 2001
From: Sh0g0-1758 <shouryagoel10000 at gmail.com>
Date: Fri, 27 Dec 2024 14:26:30 +0530
Subject: [PATCH 01/46] header file for mpc
---
libc/utils/MPCWrapper/CMakeLists.txt | 0
libc/utils/MPCWrapper/MPCUtils.cpp | 0
libc/utils/MPCWrapper/MPCUtils.h | 286 +++++++++++++++++++++++++++
libc/utils/MPCWrapper/mpc_test.cpp | 34 ++++
libc/utils/MPFRWrapper/MPFRUtils.h | 8 +-
5 files changed, 324 insertions(+), 4 deletions(-)
create mode 100644 libc/utils/MPCWrapper/CMakeLists.txt
create mode 100644 libc/utils/MPCWrapper/MPCUtils.cpp
create mode 100644 libc/utils/MPCWrapper/MPCUtils.h
create mode 100644 libc/utils/MPCWrapper/mpc_test.cpp
diff --git a/libc/utils/MPCWrapper/CMakeLists.txt b/libc/utils/MPCWrapper/CMakeLists.txt
new file mode 100644
index 00000000000000..e69de29bb2d1d6
diff --git a/libc/utils/MPCWrapper/MPCUtils.cpp b/libc/utils/MPCWrapper/MPCUtils.cpp
new file mode 100644
index 00000000000000..e69de29bb2d1d6
diff --git a/libc/utils/MPCWrapper/MPCUtils.h b/libc/utils/MPCWrapper/MPCUtils.h
new file mode 100644
index 00000000000000..4ed06d0327749b
--- /dev/null
+++ b/libc/utils/MPCWrapper/MPCUtils.h
@@ -0,0 +1,286 @@
+//===-- MPCUtils.h ----------------------------------------------*- C++ -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_LIBC_UTILS_MPCWRAPPER_MPCUTILS_H
+#define LLVM_LIBC_UTILS_MPCWRAPPER_MPCUTILS_H
+
+#include "src/__support/CPP/type_traits.h"
+#include "src/__support/CPP/type_traits/is_complex.h"
+#include "src/__support/macros/properties/complex_types.h"
+#include "src/__support/macros/properties/types.h"
+#include "src/__support/macros/config.h"
+#include "test/UnitTest/RoundingModeUtils.h"
+#include "test/UnitTest/Test.h"
+
+#include <stdint.h>
+
+namespace LIBC_NAMESPACE_DECL {
+namespace testing {
+namespace mpc {
+
+enum class Operation {
+ // Operations which take a single complex floating point number as input
+ // and produce a single floating point number as output which has the same
+ // floating point type as the real/imaginary part of the input.
+ BeginUnaryOperationsSingleOutputDifferentOutputType,
+ Carg,
+ Cabs,
+ EndUnaryOperationsSingleOutputDifferentOutputType,
+
+ // Operations which take a single complex floating point number as input
+ // and produce a single complex floating point number of the same kind
+ // as output.
+ BeginUnaryOperationsSingleOutputSameOutputType,
+ Csqrt,
+ Clog,
+ Cexp,
+ Csinh,
+ Ccosh,
+ Ctanh,
+ Casinh,
+ Cacosh,
+ Catanh,
+ Csin,
+ Ccos,
+ Ctan,
+ Casin,
+ Cacos,
+ Catan,
+ EndUnaryOperationsSingleOutputSameOutputType,
+
+ // Operations which take two complex floating point numbers as input
+ // and produce a single complex floating point number of the same kind
+ // as output.
+ BeginBinaryOperationsSingleOutput,
+ Cpow,
+ EndBinaryOperationsSingleOutput,
+};
+
+using LIBC_NAMESPACE::fputil::testing::ForceRoundingMode;
+using LIBC_NAMESPACE::fputil::testing::RoundingMode;
+
+template <typename T> struct BinaryInput {
+ static_assert(
+ LIBC_NAMESPACE::cpp::is_complex_v<T>,
+ "Template parameter of BinaryInput must be a complex floating point type.");
+
+ using Type = T;
+ T x, y;
+};
+
+namespace internal {
+
+template <typename InputType, typename OutputType>
+bool compare_unary_operation_single_output(Operation op, InputType input,
+ OutputType libc_output,
+ double ulp_tolerance,
+ RoundingMode rounding);
+
+template <typename InputType, typename OutputType>
+bool compare_binary_operation_one_output(Operation op,
+ const BinaryInput<InputType> &input,
+ OutputType libc_output,
+ double ulp_tolerance,
+ RoundingMode rounding);
+
+template <typename InputType, typename OutputType>
+void explain_unary_operation_single_output_error(Operation op, InputType input,
+ OutputType match_value,
+ double ulp_tolerance,
+ RoundingMode rounding);
+
+template <typename InputType, typename OutputType>
+void explain_binary_operation_one_output_error(
+ Operation op, const BinaryInput<InputType> &input, OutputType match_value,
+ double ulp_tolerance, RoundingMode rounding);
+
+template <Operation op, typename InputType, typename OutputType>
+class MPCMatcher : public testing::Matcher<OutputType> {
+private:
+ InputType input;
+ OutputType match_value;
+ double ulp_tolerance;
+ RoundingMode rounding;
+public:
+ MPCMatcher(InputType testInput, double ulp_tolerance, RoundingMode rounding)
+ : input(testInput), ulp_tolerance(ulp_tolerance), rounding(rounding) {}
+
+ bool match(OutputType libcResult) {
+ match_value = libcResult;
+ return match(input, match_value);
+ }
+private:
+ template <typename InType, typename OutType>
+ bool match(InType in, OutType out) {
+ return compare_unary_operation_single_output(op, in, out, ulp_tolerance,
+ rounding);
+ }
+
+ template <typename T, typename U>
+ bool match(const BinaryInput<T> &in, U out) {
+ return compare_binary_operation_one_output(op, in, out, ulp_tolerance,
+ rounding);
+ }
+
+ template <typename InType, typename OutType>
+ void explain_error(InType in, OutType out) {
+ explain_unary_operation_single_output_error(op, in, out, ulp_tolerance,
+ rounding);
+ }
+
+ template <typename T, typename U>
+ void explain_error(const BinaryInput<T> &in, U out) {
+ explain_binary_operation_one_output_error(op, in, out, ulp_tolerance,
+ rounding);
+ }
+};
+
+} // namespace internal
+
+template <typename T> struct get_real;
+
+template <> struct get_real<_Complex float> {
+ using type = float;
+};
+template <> struct get_real<_Complex double> {
+ using type = double;
+};
+template <> struct get_real<_Complex long double> {
+ using type = long double;
+};
+
+#if defined(LIBC_TYPES_HAS_CFLOAT16)
+template <> struct get_real<cfloat16> {
+ using type = float16;
+};
+#endif
+#ifdef LIBC_TYPES_CFLOAT128_IS_NOT_COMPLEX_LONG_DOUBLE
+template <> struct get_real<cfloat128> {
+ using type = float128;
+};
+#endif
+
+template <typename T> using get_real_t = typename get_real<T>::type;
+
+// Return true if the input and ouput types for the operation op are valid
+// types.
+template <Operation op, typename InputType, typename OutputType>
+constexpr bool is_valid_operation() {
+ return (Operation::BeginBinaryOperationsSingleOutput < op &&
+ op < Operation::EndBinaryOperationsSingleOutput &&
+ cpp::is_complex_type_same<InputType, OutputType> &&
+ cpp::is_complex_v<InputType>) ||
+ (Operation::BeginUnaryOperationsSingleOutputSameOutputType < op &&
+ op < Operation::EndUnaryOperationsSingleOutputSameOutputType &&
+ cpp::is_complex_type_same<InputType, OutputType> &&
+ cpp::is_complex_v<InputType>) ||
+ (Operation::BeginUnaryOperationsSingleOutputDifferentOutputType < op &&
+ op < Operation::EndUnaryOperationsSingleOutputDifferentOutputType &&
+ cpp::is_same_v<get_real_t<InputType>, OutputType> &&
+ cpp::is_complex_v<InputType>);
+}
+
+template <Operation op, typename InputType, typename OutputType>
+cpp::enable_if_t<
+ is_valid_operation<op, InputType, OutputType>(),
+ internal::MPCMatcher<op, InputType, OutputType>>
+get_mpc_matcher(InputType input, [[maybe_unused]] OutputType output,
+ double ulp_tolerance, RoundingMode rounding) {
+ return internal::MPCMatcher<op, InputType, OutputType>(
+ input, ulp_tolerance, rounding);
+}
+
+template <typename T> T round(T x, RoundingMode mode);
+template <typename T> bool round_to_long(T x, long &result);
+template <typename T> bool round_to_long(T x, RoundingMode mode, long &result);
+
+} // namespace mpc
+} // namespace testing
+} // namespace LIBC_NAMESPACE_DECL
+
+#define EXPECT_MPC_MATCH_DEFAULT(op, input, match_value, ulp_tolerance) \
+ EXPECT_THAT(match_value, \
+ LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>( \
+ input, match_value, ulp_tolerance, \
+ LIBC_NAMESPACE::fputil::testing::RoundingMode::Nearest))
+
+#define EXPECT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
+ rounding) \
+ EXPECT_THAT(match_value, \
+ LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>( \
+ input, match_value, ulp_tolerance, rounding))
+
+#define EXPECT_MPC_MATCH_ALL_ROUNDING(op, input, match_value, ulp_tolerance) \
+ { \
+ namespace MPCRND = LIBC_NAMESPACE::fputil::testing; \
+ MPCRND::ForceRoundingMode __r1(MPCRND::RoundingMode::Nearest); \
+ if (__r1.success) { \
+ EXPECT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
+ MPCRND::RoundingMode::Nearest); \
+ } \
+ MPCRND::ForceRoundingMode __r2(MPCRND::RoundingMode::Upward); \
+ if (__r2.success) { \
+ EXPECT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
+ MPCRND::RoundingMode::Upward); \
+ } \
+ MPCRND::ForceRoundingMode __r3(MPCRND::RoundingMode::Downward); \
+ if (__r3.success) { \
+ EXPECT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
+ MPCRND::RoundingMode::Downward); \
+ } \
+ MPCRND::ForceRoundingMode __r4(MPCRND::RoundingMode::TowardZero); \
+ if (__r4.success) { \
+ EXPECT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
+ MPCRND::RoundingMode::TowardZero); \
+ } \
+ }
+
+#define TEST_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
+ rounding) \
+ LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>(input, match_value, \
+ ulp_tolerance, rounding) \
+ .match(match_value)
+
+#define ASSERT_MPC_MATCH_DEFAULT(op, input, match_value, ulp_tolerance) \
+ ASSERT_THAT(match_value, \
+ LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>( \
+ input, match_value, ulp_tolerance, \
+ LIBC_NAMESPACE::fputil::testing::RoundingMode::Nearest))
+
+#define ASSERT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
+ rounding) \
+ ASSERT_THAT(match_value, \
+ LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>( \
+ input, match_value, ulp_tolerance, rounding))
+
+#define ASSERT_MPC_MATCH_ALL_ROUNDING(op, input, match_value, ulp_tolerance) \
+ { \
+ namespace MPCRND = LIBC_NAMESPACE::fputil::testing; \
+ MPCRND::ForceRoundingMode __r1(MPCRND::RoundingMode::Nearest); \
+ if (__r1.success) { \
+ ASSERT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
+ MPCRND::RoundingMode::Nearest); \
+ } \
+ MPCRND::ForceRoundingMode __r2(MPCRND::RoundingMode::Upward); \
+ if (__r2.success) { \
+ ASSERT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
+ MPCRND::RoundingMode::Upward); \
+ } \
+ MPCRND::ForceRoundingMode __r3(MPCRND::RoundingMode::Downward); \
+ if (__r3.success) { \
+ ASSERT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
+ MPCRND::RoundingMode::Downward); \
+ } \
+ MPCRND::ForceRoundingMode __r4(MPCRND::RoundingMode::TowardZero); \
+ if (__r4.success) { \
+ ASSERT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
+ MPCRND::RoundingMode::TowardZero); \
+ } \
+ }
+
+#endif // LLVM_LIBC_UTILS_MPCWRAPPER_MPCUTILS_H
diff --git a/libc/utils/MPCWrapper/mpc_test.cpp b/libc/utils/MPCWrapper/mpc_test.cpp
new file mode 100644
index 00000000000000..e295960024cf56
--- /dev/null
+++ b/libc/utils/MPCWrapper/mpc_test.cpp
@@ -0,0 +1,34 @@
+#include "mpc.h"
+
+int main() {
+ // just a pair of two arbitary precision floating point numbers
+ mpc_t x,z;
+ // different rounding modes for real and complex part
+ mpc_rnd_t y;
+
+ // MPC function begins with mpc_ and store the result in the first argument.
+ // Rounding modes in MPC are of the form MPC_RNDxy where x and y are one of :
+ // 1. N(to nearest)
+ // 2. Z(to zero)
+ // 3. U(towards +infinity)
+ // 4. D(towards -infinity)
+ // 5. A(away from zero)
+ // where the first letter is for the real part and the second letter is for the
+ // imaginary part.
+ // MPC functions have a return value which can be used with MPC_INEX_RE and
+ // MPC_INEX_IM to tell whether the rounded value is less, equal or greater than
+ // the exact value.
+ // Results on machines with different word sizes should not wary.
+
+ // for multiplication.
+ mpc_mul(x, x, x, MPC_RNDNN);
+
+ // for initialization
+ mpc_init2(x, 256); // Real and Imaginary have same precision
+ mpc_init3(x, 256, 256); // Real and Imaginary can have different precision
+ mpc_clear(x); // free the space occupied by mpc_t x
+ mpc_set_prec(x, 64); // reset the precision of x to 64 bits and set x to (NaN, NaN) (Previous value of x is lost)
+ // mpc_get_prec returns the precision if precision of real and imaginary part of x are same, else it returns 0.
+ // mpc_get_prec2 returns the precision of the real and imaginary part of x.
+ mpc_set(x, z, MPC_RNDNN); // set x to z with rounding mode MPC_RNDNN
+}
\ No newline at end of file
diff --git a/libc/utils/MPFRWrapper/MPFRUtils.h b/libc/utils/MPFRWrapper/MPFRUtils.h
index c7a57819f68b79..bc65f87c6b5ab9 100644
--- a/libc/utils/MPFRWrapper/MPFRUtils.h
+++ b/libc/utils/MPFRWrapper/MPFRUtils.h
@@ -21,7 +21,7 @@ namespace testing {
namespace mpfr {
enum class Operation : int {
- // Operations with take a single floating point number as input
+ // Operations which take a single floating point number as input
// and produce a single floating point number as output. The input
// and output floating point numbers are of the same kind.
BeginUnaryOperationsSingleOutput,
@@ -87,10 +87,10 @@ enum class Operation : int {
EndBinaryOperationsSingleOutput,
// Operations which take two floating point numbers of the same type as
- // input and produce two outputs. The first output is a floating nubmer of
- // the same type as the inputs. The second output is af type 'int'.
+ // input and produce two outputs. The first output is a floating point number
+ // of the same type as the inputs. The second output is of type 'int'.
BeginBinaryOperationsTwoOutputs,
- RemQuo, // The first output, the floating point output, is the remainder.
+ RemQuo, // The first output(floating point) is the remainder.
EndBinaryOperationsTwoOutputs,
// Operations which take three floating point nubmers of the same type as
>From 46b6d8ec40327401cac6e35051b4b35a5c126ddf Mon Sep 17 00:00:00 2001
From: Sh0g0-1758 <shouryagoel10000 at gmail.com>
Date: Fri, 27 Dec 2024 14:28:36 +0530
Subject: [PATCH 02/46] mpc testing infra init
---
libc/utils/MPCWrapper/MPCUtils.h | 117 ++++++++++++++---------------
libc/utils/MPCWrapper/mpc_test.cpp | 55 +++++++-------
2 files changed, 84 insertions(+), 88 deletions(-)
diff --git a/libc/utils/MPCWrapper/MPCUtils.h b/libc/utils/MPCWrapper/MPCUtils.h
index 4ed06d0327749b..d943656ce121ce 100644
--- a/libc/utils/MPCWrapper/MPCUtils.h
+++ b/libc/utils/MPCWrapper/MPCUtils.h
@@ -11,9 +11,9 @@
#include "src/__support/CPP/type_traits.h"
#include "src/__support/CPP/type_traits/is_complex.h"
+#include "src/__support/macros/config.h"
#include "src/__support/macros/properties/complex_types.h"
#include "src/__support/macros/properties/types.h"
-#include "src/__support/macros/config.h"
#include "test/UnitTest/RoundingModeUtils.h"
#include "test/UnitTest/Test.h"
@@ -65,9 +65,9 @@ using LIBC_NAMESPACE::fputil::testing::ForceRoundingMode;
using LIBC_NAMESPACE::fputil::testing::RoundingMode;
template <typename T> struct BinaryInput {
- static_assert(
- LIBC_NAMESPACE::cpp::is_complex_v<T>,
- "Template parameter of BinaryInput must be a complex floating point type.");
+ static_assert(LIBC_NAMESPACE::cpp::is_complex_v<T>,
+ "Template parameter of BinaryInput must be a complex floating "
+ "point type.");
using Type = T;
T x, y;
@@ -106,6 +106,7 @@ class MPCMatcher : public testing::Matcher<OutputType> {
OutputType match_value;
double ulp_tolerance;
RoundingMode rounding;
+
public:
MPCMatcher(InputType testInput, double ulp_tolerance, RoundingMode rounding)
: input(testInput), ulp_tolerance(ulp_tolerance), rounding(rounding) {}
@@ -114,6 +115,7 @@ class MPCMatcher : public testing::Matcher<OutputType> {
match_value = libcResult;
return match(input, match_value);
}
+
private:
template <typename InType, typename OutType>
bool match(InType in, OutType out) {
@@ -171,34 +173,29 @@ template <typename T> using get_real_t = typename get_real<T>::type;
// types.
template <Operation op, typename InputType, typename OutputType>
constexpr bool is_valid_operation() {
- return (Operation::BeginBinaryOperationsSingleOutput < op &&
- op < Operation::EndBinaryOperationsSingleOutput &&
- cpp::is_complex_type_same<InputType, OutputType> &&
- cpp::is_complex_v<InputType>) ||
- (Operation::BeginUnaryOperationsSingleOutputSameOutputType < op &&
- op < Operation::EndUnaryOperationsSingleOutputSameOutputType &&
- cpp::is_complex_type_same<InputType, OutputType> &&
- cpp::is_complex_v<InputType>) ||
- (Operation::BeginUnaryOperationsSingleOutputDifferentOutputType < op &&
- op < Operation::EndUnaryOperationsSingleOutputDifferentOutputType &&
- cpp::is_same_v<get_real_t<InputType>, OutputType> &&
- cpp::is_complex_v<InputType>);
+ return (Operation::BeginBinaryOperationsSingleOutput < op &&
+ op < Operation::EndBinaryOperationsSingleOutput &&
+ cpp::is_complex_type_same<InputType, OutputType> &&
+ cpp::is_complex_v<InputType>) ||
+ (Operation::BeginUnaryOperationsSingleOutputSameOutputType < op &&
+ op < Operation::EndUnaryOperationsSingleOutputSameOutputType &&
+ cpp::is_complex_type_same<InputType, OutputType> &&
+ cpp::is_complex_v<InputType>) ||
+ (Operation::BeginUnaryOperationsSingleOutputDifferentOutputType < op &&
+ op < Operation::EndUnaryOperationsSingleOutputDifferentOutputType &&
+ cpp::is_same_v<get_real_t<InputType>, OutputType> &&
+ cpp::is_complex_v<InputType>);
}
template <Operation op, typename InputType, typename OutputType>
-cpp::enable_if_t<
- is_valid_operation<op, InputType, OutputType>(),
- internal::MPCMatcher<op, InputType, OutputType>>
+cpp::enable_if_t<is_valid_operation<op, InputType, OutputType>(),
+ internal::MPCMatcher<op, InputType, OutputType>>
get_mpc_matcher(InputType input, [[maybe_unused]] OutputType output,
- double ulp_tolerance, RoundingMode rounding) {
- return internal::MPCMatcher<op, InputType, OutputType>(
- input, ulp_tolerance, rounding);
+ double ulp_tolerance, RoundingMode rounding) {
+ return internal::MPCMatcher<op, InputType, OutputType>(input, ulp_tolerance,
+ rounding);
}
-template <typename T> T round(T x, RoundingMode mode);
-template <typename T> bool round_to_long(T x, long &result);
-template <typename T> bool round_to_long(T x, RoundingMode mode, long &result);
-
} // namespace mpc
} // namespace testing
} // namespace LIBC_NAMESPACE_DECL
@@ -210,40 +207,39 @@ template <typename T> bool round_to_long(T x, RoundingMode mode, long &result);
LIBC_NAMESPACE::fputil::testing::RoundingMode::Nearest))
#define EXPECT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
- rounding) \
- EXPECT_THAT(match_value, \
- LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>( \
- input, match_value, ulp_tolerance, rounding))
+ rounding) \
+ EXPECT_THAT(match_value, LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>( \
+ input, match_value, ulp_tolerance, rounding))
#define EXPECT_MPC_MATCH_ALL_ROUNDING(op, input, match_value, ulp_tolerance) \
{ \
namespace MPCRND = LIBC_NAMESPACE::fputil::testing; \
MPCRND::ForceRoundingMode __r1(MPCRND::RoundingMode::Nearest); \
if (__r1.success) { \
- EXPECT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
- MPCRND::RoundingMode::Nearest); \
+ EXPECT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
+ MPCRND::RoundingMode::Nearest); \
} \
- MPCRND::ForceRoundingMode __r2(MPCRND::RoundingMode::Upward); \
+ MPCRND::ForceRoundingMode __r2(MPCRND::RoundingMode::Upward); \
if (__r2.success) { \
- EXPECT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
- MPCRND::RoundingMode::Upward); \
+ EXPECT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
+ MPCRND::RoundingMode::Upward); \
} \
- MPCRND::ForceRoundingMode __r3(MPCRND::RoundingMode::Downward); \
+ MPCRND::ForceRoundingMode __r3(MPCRND::RoundingMode::Downward); \
if (__r3.success) { \
- EXPECT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
- MPCRND::RoundingMode::Downward); \
+ EXPECT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
+ MPCRND::RoundingMode::Downward); \
} \
- MPCRND::ForceRoundingMode __r4(MPCRND::RoundingMode::TowardZero); \
+ MPCRND::ForceRoundingMode __r4(MPCRND::RoundingMode::TowardZero); \
if (__r4.success) { \
- EXPECT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
- MPCRND::RoundingMode::TowardZero); \
+ EXPECT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
+ MPCRND::RoundingMode::TowardZero); \
} \
}
#define TEST_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
- rounding) \
+ rounding) \
LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>(input, match_value, \
- ulp_tolerance, rounding) \
+ ulp_tolerance, rounding) \
.match(match_value)
#define ASSERT_MPC_MATCH_DEFAULT(op, input, match_value, ulp_tolerance) \
@@ -253,33 +249,32 @@ template <typename T> bool round_to_long(T x, RoundingMode mode, long &result);
LIBC_NAMESPACE::fputil::testing::RoundingMode::Nearest))
#define ASSERT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
- rounding) \
- ASSERT_THAT(match_value, \
- LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>( \
- input, match_value, ulp_tolerance, rounding))
+ rounding) \
+ ASSERT_THAT(match_value, LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>( \
+ input, match_value, ulp_tolerance, rounding))
-#define ASSERT_MPC_MATCH_ALL_ROUNDING(op, input, match_value, ulp_tolerance) \
+#define ASSERT_MPC_MATCH_ALL_ROUNDING(op, input, match_value, ulp_tolerance) \
{ \
- namespace MPCRND = LIBC_NAMESPACE::fputil::testing; \
- MPCRND::ForceRoundingMode __r1(MPCRND::RoundingMode::Nearest); \
+ namespace MPCRND = LIBC_NAMESPACE::fputil::testing; \
+ MPCRND::ForceRoundingMode __r1(MPCRND::RoundingMode::Nearest); \
if (__r1.success) { \
- ASSERT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
- MPCRND::RoundingMode::Nearest); \
+ ASSERT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
+ MPCRND::RoundingMode::Nearest); \
} \
- MPCRND::ForceRoundingMode __r2(MPCRND::RoundingMode::Upward); \
+ MPCRND::ForceRoundingMode __r2(MPCRND::RoundingMode::Upward); \
if (__r2.success) { \
- ASSERT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
- MPCRND::RoundingMode::Upward); \
+ ASSERT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
+ MPCRND::RoundingMode::Upward); \
} \
- MPCRND::ForceRoundingMode __r3(MPCRND::RoundingMode::Downward); \
+ MPCRND::ForceRoundingMode __r3(MPCRND::RoundingMode::Downward); \
if (__r3.success) { \
- ASSERT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
- MPCRND::RoundingMode::Downward); \
+ ASSERT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
+ MPCRND::RoundingMode::Downward); \
} \
- MPCRND::ForceRoundingMode __r4(MPCRND::RoundingMode::TowardZero); \
+ MPCRND::ForceRoundingMode __r4(MPCRND::RoundingMode::TowardZero); \
if (__r4.success) { \
- ASSERT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
- MPCRND::RoundingMode::TowardZero); \
+ ASSERT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
+ MPCRND::RoundingMode::TowardZero); \
} \
}
diff --git a/libc/utils/MPCWrapper/mpc_test.cpp b/libc/utils/MPCWrapper/mpc_test.cpp
index e295960024cf56..a5ce68d276a02c 100644
--- a/libc/utils/MPCWrapper/mpc_test.cpp
+++ b/libc/utils/MPCWrapper/mpc_test.cpp
@@ -1,34 +1,35 @@
#include "mpc.h"
int main() {
- // just a pair of two arbitary precision floating point numbers
- mpc_t x,z;
- // different rounding modes for real and complex part
- mpc_rnd_t y;
+ // just a pair of two arbitary precision floating point numbers
+ mpc_t x, z;
+ // different rounding modes for real and complex part
+ mpc_rnd_t y;
- // MPC function begins with mpc_ and store the result in the first argument.
- // Rounding modes in MPC are of the form MPC_RNDxy where x and y are one of :
- // 1. N(to nearest)
- // 2. Z(to zero)
- // 3. U(towards +infinity)
- // 4. D(towards -infinity)
- // 5. A(away from zero)
- // where the first letter is for the real part and the second letter is for the
- // imaginary part.
- // MPC functions have a return value which can be used with MPC_INEX_RE and
- // MPC_INEX_IM to tell whether the rounded value is less, equal or greater than
- // the exact value.
- // Results on machines with different word sizes should not wary.
+ // MPC function begins with mpc_ and store the result in the first argument.
+ // Rounding modes in MPC are of the form MPC_RNDxy where x and y are one of :
+ // 1. N(to nearest)
+ // 2. Z(to zero)
+ // 3. U(towards +infinity)
+ // 4. D(towards -infinity)
+ // 5. A(away from zero)
+ // where the first letter is for the real part and the second letter is for
+ // the imaginary part. MPC functions have a return value which can be used
+ // with MPC_INEX_RE and MPC_INEX_IM to tell whether the rounded value is less,
+ // equal or greater than the exact value. Results on machines with different
+ // word sizes should not wary.
- // for multiplication.
- mpc_mul(x, x, x, MPC_RNDNN);
+ // for multiplication.
+ mpc_mul(x, x, x, MPC_RNDNN);
- // for initialization
- mpc_init2(x, 256); // Real and Imaginary have same precision
- mpc_init3(x, 256, 256); // Real and Imaginary can have different precision
- mpc_clear(x); // free the space occupied by mpc_t x
- mpc_set_prec(x, 64); // reset the precision of x to 64 bits and set x to (NaN, NaN) (Previous value of x is lost)
- // mpc_get_prec returns the precision if precision of real and imaginary part of x are same, else it returns 0.
- // mpc_get_prec2 returns the precision of the real and imaginary part of x.
- mpc_set(x, z, MPC_RNDNN); // set x to z with rounding mode MPC_RNDNN
+ // for initialization
+ mpc_init2(x, 256); // Real and Imaginary have same precision
+ mpc_init3(x, 256, 256); // Real and Imaginary can have different precision
+ mpc_clear(x); // free the space occupied by mpc_t x
+ mpc_set_prec(x, 64); // reset the precision of x to 64 bits and set x to (NaN,
+ // NaN) (Previous value of x is lost)
+ // mpc_get_prec returns the precision if precision of real and imaginary part
+ // of x are same, else it returns 0. mpc_get_prec2 returns the precision of
+ // the real and imaginary part of x.
+ mpc_set(x, z, MPC_RNDNN); // set x to z with rounding mode MPC_RNDNN
}
\ No newline at end of file
>From b6157ef707632a9086827a469bbd3906804b729c Mon Sep 17 00:00:00 2001
From: Sh0g0-1758 <shouryagoel10000 at gmail.com>
Date: Fri, 27 Dec 2024 19:36:58 +0530
Subject: [PATCH 03/46] add separate rounding mode for real and imaginary
---
libc/test/UnitTest/RoundingModeUtils.h | 2 +-
libc/utils/MPCWrapper/MPCUtils.h | 134 +++++++++++++------------
2 files changed, 72 insertions(+), 64 deletions(-)
diff --git a/libc/test/UnitTest/RoundingModeUtils.h b/libc/test/UnitTest/RoundingModeUtils.h
index cdc3699d156583..88978f6b780925 100644
--- a/libc/test/UnitTest/RoundingModeUtils.h
+++ b/libc/test/UnitTest/RoundingModeUtils.h
@@ -16,7 +16,7 @@ namespace LIBC_NAMESPACE_DECL {
namespace fputil {
namespace testing {
-enum class RoundingMode : uint8_t { Upward, Downward, TowardZero, Nearest };
+enum class RoundingMode : uint8_t { Upward, Downward, TowardZero, Nearest, AwayFromZero };
struct ForceRoundingMode {
ForceRoundingMode(RoundingMode);
diff --git a/libc/utils/MPCWrapper/MPCUtils.h b/libc/utils/MPCWrapper/MPCUtils.h
index d943656ce121ce..0cb2d24d60501a 100644
--- a/libc/utils/MPCWrapper/MPCUtils.h
+++ b/libc/utils/MPCWrapper/MPCUtils.h
@@ -61,9 +61,13 @@ enum class Operation {
EndBinaryOperationsSingleOutput,
};
-using LIBC_NAMESPACE::fputil::testing::ForceRoundingMode;
using LIBC_NAMESPACE::fputil::testing::RoundingMode;
+struct MPCRoundingMode {
+ RoundingMode Rrnd;
+ RoundingMode Irnd;
+};
+
template <typename T> struct BinaryInput {
static_assert(LIBC_NAMESPACE::cpp::is_complex_v<T>,
"Template parameter of BinaryInput must be a complex floating "
@@ -79,25 +83,25 @@ template <typename InputType, typename OutputType>
bool compare_unary_operation_single_output(Operation op, InputType input,
OutputType libc_output,
double ulp_tolerance,
- RoundingMode rounding);
+ MPCRoundingMode rounding);
template <typename InputType, typename OutputType>
bool compare_binary_operation_one_output(Operation op,
const BinaryInput<InputType> &input,
OutputType libc_output,
double ulp_tolerance,
- RoundingMode rounding);
+ MPCRoundingMode rounding);
template <typename InputType, typename OutputType>
void explain_unary_operation_single_output_error(Operation op, InputType input,
OutputType match_value,
double ulp_tolerance,
- RoundingMode rounding);
+ MPCRoundingMode rounding);
template <typename InputType, typename OutputType>
void explain_binary_operation_one_output_error(
Operation op, const BinaryInput<InputType> &input, OutputType match_value,
- double ulp_tolerance, RoundingMode rounding);
+ double ulp_tolerance, MPCRoundingMode rounding);
template <Operation op, typename InputType, typename OutputType>
class MPCMatcher : public testing::Matcher<OutputType> {
@@ -105,10 +109,10 @@ class MPCMatcher : public testing::Matcher<OutputType> {
InputType input;
OutputType match_value;
double ulp_tolerance;
- RoundingMode rounding;
+ MPCRoundingMode rounding;
public:
- MPCMatcher(InputType testInput, double ulp_tolerance, RoundingMode rounding)
+ MPCMatcher(InputType testInput, double ulp_tolerance, MPCRoundingMode rounding)
: input(testInput), ulp_tolerance(ulp_tolerance), rounding(rounding) {}
bool match(OutputType libcResult) {
@@ -191,7 +195,7 @@ template <Operation op, typename InputType, typename OutputType>
cpp::enable_if_t<is_valid_operation<op, InputType, OutputType>(),
internal::MPCMatcher<op, InputType, OutputType>>
get_mpc_matcher(InputType input, [[maybe_unused]] OutputType output,
- double ulp_tolerance, RoundingMode rounding) {
+ double ulp_tolerance, MPCRoundingMode rounding) {
return internal::MPCMatcher<op, InputType, OutputType>(input, ulp_tolerance,
rounding);
}
@@ -204,78 +208,82 @@ get_mpc_matcher(InputType input, [[maybe_unused]] OutputType output,
EXPECT_THAT(match_value, \
LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>( \
input, match_value, ulp_tolerance, \
- LIBC_NAMESPACE::fputil::testing::RoundingMode::Nearest))
+ MPCRoundingMode{LIBC_NAMESPACE::fputil::testing::RoundingMode::Nearest, \
+ LIBC_NAMESPACE::fputil::testing::RoundingMode::Nearest}))
#define EXPECT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
- rounding) \
+ Rrounding, Irounding) \
EXPECT_THAT(match_value, LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>( \
- input, match_value, ulp_tolerance, rounding))
+ input, match_value, ulp_tolerance, MPCRoundingMode{Rrounding, Irounding}))
+
+/* Rounding Modes:
+ 1. N(to nearest)
+ 2. Z(to zero)
+ 3. U(towards +infinity)
+ 4. D(towards -infinity)
+ 5. A(away from zero)
+*/
+
+#define EXPECT_MPC_MATCH_ALL_ROUNDING_HELPER(i, j, op, input, match_value, ulp_tolerance, Rrounding, Irounding) \
+{ \
+ MPCRND::ForceRoundingMode __r##i##j(Rrounding); \
+ MPCRND::ForceRoundingMode __i##i##j(Irounding); \
+ if (__r##i##j.success && __i##i##j.success) { \
+ EXPECT_MPC_MATCH_ROUNDING(match_value, LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>( \
+ input, match_value, ulp_tolerance, Rrounding, Irounding)) \
+ } \
+}
-#define EXPECT_MPC_MATCH_ALL_ROUNDING(op, input, match_value, ulp_tolerance) \
- { \
- namespace MPCRND = LIBC_NAMESPACE::fputil::testing; \
- MPCRND::ForceRoundingMode __r1(MPCRND::RoundingMode::Nearest); \
- if (__r1.success) { \
- EXPECT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
- MPCRND::RoundingMode::Nearest); \
- } \
- MPCRND::ForceRoundingMode __r2(MPCRND::RoundingMode::Upward); \
- if (__r2.success) { \
- EXPECT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
- MPCRND::RoundingMode::Upward); \
- } \
- MPCRND::ForceRoundingMode __r3(MPCRND::RoundingMode::Downward); \
- if (__r3.success) { \
- EXPECT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
- MPCRND::RoundingMode::Downward); \
- } \
- MPCRND::ForceRoundingMode __r4(MPCRND::RoundingMode::TowardZero); \
- if (__r4.success) { \
- EXPECT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
- MPCRND::RoundingMode::TowardZero); \
- } \
- }
+#define EXPECT_MPC_MATCH_ALL_ROUNDING(op, input, match_value, ulp_tolerance) \
+{ \
+ namespace MPCRND = LIBC_NAMESPACE::fputil::testing; \
+ for (int i = 0; i < 5; i++) { \
+ for (int j = 0; j < 5; j++) { \
+ RoundingMode r_mode = static_cast<RoundingMode>(i); \
+ RoundingMode i_mode = static_cast<RoundingMode>(j); \
+ EXPECT_MPC_MATCH_ALL_ROUNDING_HELPER(i, j, op, input, match_value, ulp_tolerance, r_mode, i_mode); \
+ } \
+ } \
+}
-#define TEST_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
- rounding) \
- LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>(input, match_value, \
- ulp_tolerance, rounding) \
+#define TEST_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
+ Rrounding, Irounding) \
+ LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>(input, match_value, \
+ ulp_tolerance, MPCRoundingMode{Rrounding, Irounding}) \
.match(match_value)
#define ASSERT_MPC_MATCH_DEFAULT(op, input, match_value, ulp_tolerance) \
ASSERT_THAT(match_value, \
LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>( \
- input, match_value, ulp_tolerance, \
- LIBC_NAMESPACE::fputil::testing::RoundingMode::Nearest))
+ input, match_value, ulp_tolerance, \
+ MPCRoundingMode{LIBC_NAMESPACE::fputil::testing::RoundingMode::Nearest, \
+ LIBC_NAMESPACE::fputil::testing::RoundingMode::Nearest}))
#define ASSERT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
- rounding) \
+ Rrounding, Irounding) \
ASSERT_THAT(match_value, LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>( \
- input, match_value, ulp_tolerance, rounding))
+ input, match_value, ulp_tolerance, MPCRoundingMode{Rrounding, Irounding}))
+
+#define ASSERT_MPC_MATCH_ALL_ROUNDING_HELPER(i, j, op, input, match_value, ulp_tolerance, Rrounding, Irounding) \
+{ \
+ MPCRND::ForceRoundingMode __r##i##j(Rrounding); \
+ MPCRND::ForceRoundingMode __i##i##j(Irounding); \
+ if (__r##i##j.success && __i##i##j.success) { \
+ ASSERT_MPC_MATCH_ROUNDING(match_value, LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>( \
+ input, match_value, ulp_tolerance, Rrounding, Irounding)) \
+ } \
+}
#define ASSERT_MPC_MATCH_ALL_ROUNDING(op, input, match_value, ulp_tolerance) \
{ \
namespace MPCRND = LIBC_NAMESPACE::fputil::testing; \
- MPCRND::ForceRoundingMode __r1(MPCRND::RoundingMode::Nearest); \
- if (__r1.success) { \
- ASSERT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
- MPCRND::RoundingMode::Nearest); \
- } \
- MPCRND::ForceRoundingMode __r2(MPCRND::RoundingMode::Upward); \
- if (__r2.success) { \
- ASSERT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
- MPCRND::RoundingMode::Upward); \
- } \
- MPCRND::ForceRoundingMode __r3(MPCRND::RoundingMode::Downward); \
- if (__r3.success) { \
- ASSERT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
- MPCRND::RoundingMode::Downward); \
- } \
- MPCRND::ForceRoundingMode __r4(MPCRND::RoundingMode::TowardZero); \
- if (__r4.success) { \
- ASSERT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
- MPCRND::RoundingMode::TowardZero); \
- } \
+ for (int i = 0; i < 5; i++) { \
+ for (int j = 0; j < 5; j++) { \
+ RoundingMode r_mode = static_cast<RoundingMode>(i); \
+ RoundingMode i_mode = static_cast<RoundingMode>(j); \
+ ASSERT_MPC_MATCH_ALL_ROUNDING_HELPER(i, j, op, input, match_value, ulp_tolerance, r_mode, i_mode); \
+ } \
+ } \
}
#endif // LLVM_LIBC_UTILS_MPCWRAPPER_MPCUTILS_H
>From 7dedaa6348bf46d965ca6d461642f7887416c962 Mon Sep 17 00:00:00 2001
From: Sh0g0-1758 <shouryagoel10000 at gmail.com>
Date: Fri, 27 Dec 2024 19:38:43 +0530
Subject: [PATCH 04/46] fmt
---
libc/test/UnitTest/RoundingModeUtils.h | 8 +-
libc/utils/MPCWrapper/MPCUtils.h | 128 ++++++++++++++-----------
2 files changed, 79 insertions(+), 57 deletions(-)
diff --git a/libc/test/UnitTest/RoundingModeUtils.h b/libc/test/UnitTest/RoundingModeUtils.h
index 88978f6b780925..980d4823c532f0 100644
--- a/libc/test/UnitTest/RoundingModeUtils.h
+++ b/libc/test/UnitTest/RoundingModeUtils.h
@@ -16,7 +16,13 @@ namespace LIBC_NAMESPACE_DECL {
namespace fputil {
namespace testing {
-enum class RoundingMode : uint8_t { Upward, Downward, TowardZero, Nearest, AwayFromZero };
+enum class RoundingMode : uint8_t {
+ Upward,
+ Downward,
+ TowardZero,
+ Nearest,
+ AwayFromZero
+};
struct ForceRoundingMode {
ForceRoundingMode(RoundingMode);
diff --git a/libc/utils/MPCWrapper/MPCUtils.h b/libc/utils/MPCWrapper/MPCUtils.h
index 0cb2d24d60501a..2db4f7a8b1f87d 100644
--- a/libc/utils/MPCWrapper/MPCUtils.h
+++ b/libc/utils/MPCWrapper/MPCUtils.h
@@ -112,7 +112,8 @@ class MPCMatcher : public testing::Matcher<OutputType> {
MPCRoundingMode rounding;
public:
- MPCMatcher(InputType testInput, double ulp_tolerance, MPCRoundingMode rounding)
+ MPCMatcher(InputType testInput, double ulp_tolerance,
+ MPCRoundingMode rounding)
: input(testInput), ulp_tolerance(ulp_tolerance), rounding(rounding) {}
bool match(OutputType libcResult) {
@@ -205,18 +206,21 @@ get_mpc_matcher(InputType input, [[maybe_unused]] OutputType output,
} // namespace LIBC_NAMESPACE_DECL
#define EXPECT_MPC_MATCH_DEFAULT(op, input, match_value, ulp_tolerance) \
- EXPECT_THAT(match_value, \
- LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>( \
- input, match_value, ulp_tolerance, \
- MPCRoundingMode{LIBC_NAMESPACE::fputil::testing::RoundingMode::Nearest, \
- LIBC_NAMESPACE::fputil::testing::RoundingMode::Nearest}))
+ EXPECT_THAT( \
+ match_value, \
+ LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>( \
+ input, match_value, ulp_tolerance, \
+ MPCRoundingMode{ \
+ LIBC_NAMESPACE::fputil::testing::RoundingMode::Nearest, \
+ LIBC_NAMESPACE::fputil::testing::RoundingMode::Nearest}))
#define EXPECT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
Rrounding, Irounding) \
EXPECT_THAT(match_value, LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>( \
- input, match_value, ulp_tolerance, MPCRoundingMode{Rrounding, Irounding}))
+ input, match_value, ulp_tolerance, \
+ MPCRoundingMode{Rrounding, Irounding}))
-/* Rounding Modes:
+/* Rounding Modes:
1. N(to nearest)
2. Z(to zero)
3. U(towards +infinity)
@@ -224,66 +228,78 @@ get_mpc_matcher(InputType input, [[maybe_unused]] OutputType output,
5. A(away from zero)
*/
-#define EXPECT_MPC_MATCH_ALL_ROUNDING_HELPER(i, j, op, input, match_value, ulp_tolerance, Rrounding, Irounding) \
-{ \
- MPCRND::ForceRoundingMode __r##i##j(Rrounding); \
- MPCRND::ForceRoundingMode __i##i##j(Irounding); \
- if (__r##i##j.success && __i##i##j.success) { \
- EXPECT_MPC_MATCH_ROUNDING(match_value, LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>( \
- input, match_value, ulp_tolerance, Rrounding, Irounding)) \
- } \
-}
+#define EXPECT_MPC_MATCH_ALL_ROUNDING_HELPER( \
+ i, j, op, input, match_value, ulp_tolerance, Rrounding, Irounding) \
+ { \
+ MPCRND::ForceRoundingMode __r##i##j(Rrounding); \
+ MPCRND::ForceRoundingMode __i##i##j(Irounding); \
+ if (__r##i##j.success && __i##i##j.success) { \
+ EXPECT_MPC_MATCH_ROUNDING( \
+ match_value, \
+ LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>( \
+ input, match_value, ulp_tolerance, Rrounding, Irounding)) \
+ } \
+ }
-#define EXPECT_MPC_MATCH_ALL_ROUNDING(op, input, match_value, ulp_tolerance) \
-{ \
- namespace MPCRND = LIBC_NAMESPACE::fputil::testing; \
- for (int i = 0; i < 5; i++) { \
- for (int j = 0; j < 5; j++) { \
- RoundingMode r_mode = static_cast<RoundingMode>(i); \
- RoundingMode i_mode = static_cast<RoundingMode>(j); \
- EXPECT_MPC_MATCH_ALL_ROUNDING_HELPER(i, j, op, input, match_value, ulp_tolerance, r_mode, i_mode); \
- } \
- } \
-}
+#define EXPECT_MPC_MATCH_ALL_ROUNDING(op, input, match_value, ulp_tolerance) \
+ { \
+ namespace MPCRND = LIBC_NAMESPACE::fputil::testing; \
+ for (int i = 0; i < 5; i++) { \
+ for (int j = 0; j < 5; j++) { \
+ RoundingMode r_mode = static_cast<RoundingMode>(i); \
+ RoundingMode i_mode = static_cast<RoundingMode>(j); \
+ EXPECT_MPC_MATCH_ALL_ROUNDING_HELPER(i, j, op, input, match_value, \
+ ulp_tolerance, r_mode, i_mode); \
+ } \
+ } \
+ }
-#define TEST_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
- Rrounding, Irounding) \
- LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>(input, match_value, \
- ulp_tolerance, MPCRoundingMode{Rrounding, Irounding}) \
+#define TEST_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
+ Rrounding, Irounding) \
+ LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>( \
+ input, match_value, ulp_tolerance, \
+ MPCRoundingMode{Rrounding, Irounding}) \
.match(match_value)
#define ASSERT_MPC_MATCH_DEFAULT(op, input, match_value, ulp_tolerance) \
- ASSERT_THAT(match_value, \
- LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>( \
- input, match_value, ulp_tolerance, \
- MPCRoundingMode{LIBC_NAMESPACE::fputil::testing::RoundingMode::Nearest, \
- LIBC_NAMESPACE::fputil::testing::RoundingMode::Nearest}))
+ ASSERT_THAT( \
+ match_value, \
+ LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>( \
+ input, match_value, ulp_tolerance, \
+ MPCRoundingMode{ \
+ LIBC_NAMESPACE::fputil::testing::RoundingMode::Nearest, \
+ LIBC_NAMESPACE::fputil::testing::RoundingMode::Nearest}))
#define ASSERT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
- Rrounding, Irounding) \
+ Rrounding, Irounding) \
ASSERT_THAT(match_value, LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>( \
- input, match_value, ulp_tolerance, MPCRoundingMode{Rrounding, Irounding}))
-
-#define ASSERT_MPC_MATCH_ALL_ROUNDING_HELPER(i, j, op, input, match_value, ulp_tolerance, Rrounding, Irounding) \
-{ \
- MPCRND::ForceRoundingMode __r##i##j(Rrounding); \
- MPCRND::ForceRoundingMode __i##i##j(Irounding); \
- if (__r##i##j.success && __i##i##j.success) { \
- ASSERT_MPC_MATCH_ROUNDING(match_value, LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>( \
- input, match_value, ulp_tolerance, Rrounding, Irounding)) \
- } \
-}
+ input, match_value, ulp_tolerance, \
+ MPCRoundingMode{Rrounding, Irounding}))
+
+#define ASSERT_MPC_MATCH_ALL_ROUNDING_HELPER( \
+ i, j, op, input, match_value, ulp_tolerance, Rrounding, Irounding) \
+ { \
+ MPCRND::ForceRoundingMode __r##i##j(Rrounding); \
+ MPCRND::ForceRoundingMode __i##i##j(Irounding); \
+ if (__r##i##j.success && __i##i##j.success) { \
+ ASSERT_MPC_MATCH_ROUNDING( \
+ match_value, \
+ LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>( \
+ input, match_value, ulp_tolerance, Rrounding, Irounding)) \
+ } \
+ }
#define ASSERT_MPC_MATCH_ALL_ROUNDING(op, input, match_value, ulp_tolerance) \
{ \
namespace MPCRND = LIBC_NAMESPACE::fputil::testing; \
- for (int i = 0; i < 5; i++) { \
- for (int j = 0; j < 5; j++) { \
- RoundingMode r_mode = static_cast<RoundingMode>(i); \
- RoundingMode i_mode = static_cast<RoundingMode>(j); \
- ASSERT_MPC_MATCH_ALL_ROUNDING_HELPER(i, j, op, input, match_value, ulp_tolerance, r_mode, i_mode); \
- } \
- } \
+ for (int i = 0; i < 5; i++) { \
+ for (int j = 0; j < 5; j++) { \
+ RoundingMode r_mode = static_cast<RoundingMode>(i); \
+ RoundingMode i_mode = static_cast<RoundingMode>(j); \
+ ASSERT_MPC_MATCH_ALL_ROUNDING_HELPER(i, j, op, input, match_value, \
+ ulp_tolerance, r_mode, i_mode); \
+ } \
+ } \
}
#endif // LLVM_LIBC_UTILS_MPCWRAPPER_MPCUTILS_H
>From a22292b7c967bb11488320c01e585eb9f303fc43 Mon Sep 17 00:00:00 2001
From: Sh0g0-1758 <shouryagoel10000 at gmail.com>
Date: Sat, 28 Dec 2024 01:52:49 +0530
Subject: [PATCH 05/46] added MPCNumber
---
libc/test/UnitTest/RoundingModeUtils.h | 8 +-
libc/utils/MPCWrapper/MPCUtils.cpp | 221 +++++++++++++++++++++++++
libc/utils/MPCWrapper/MPCUtils.h | 22 ++-
libc/utils/MPCWrapper/MPC_doc.pdf | Bin 0 -> 333085 bytes
libc/utils/MPCWrapper/a.out | Bin 0 -> 16592 bytes
libc/utils/MPCWrapper/test.cc | 17 ++
6 files changed, 249 insertions(+), 19 deletions(-)
create mode 100644 libc/utils/MPCWrapper/MPC_doc.pdf
create mode 100755 libc/utils/MPCWrapper/a.out
create mode 100644 libc/utils/MPCWrapper/test.cc
diff --git a/libc/test/UnitTest/RoundingModeUtils.h b/libc/test/UnitTest/RoundingModeUtils.h
index 980d4823c532f0..ee804b09866ae6 100644
--- a/libc/test/UnitTest/RoundingModeUtils.h
+++ b/libc/test/UnitTest/RoundingModeUtils.h
@@ -16,13 +16,7 @@ namespace LIBC_NAMESPACE_DECL {
namespace fputil {
namespace testing {
-enum class RoundingMode : uint8_t {
- Upward,
- Downward,
- TowardZero,
- Nearest,
- AwayFromZero
-};
+enum class RoundingMode : uint8_t {Upward, Downward, TowardZero, Nearest};
struct ForceRoundingMode {
ForceRoundingMode(RoundingMode);
diff --git a/libc/utils/MPCWrapper/MPCUtils.cpp b/libc/utils/MPCWrapper/MPCUtils.cpp
index e69de29bb2d1d6..0807e448f8169f 100644
--- a/libc/utils/MPCWrapper/MPCUtils.cpp
+++ b/libc/utils/MPCWrapper/MPCUtils.cpp
@@ -0,0 +1,221 @@
+//===-- Utils which wrap MPFR ---------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#include "MPCUtils.h"
+
+#include "src/__support/CPP/array.h"
+#include "src/__support/CPP/string.h"
+#include "src/__support/CPP/string_view.h"
+#include "src/__support/CPP/stringstream.h"
+#include "src/__support/FPUtil/FPBits.h"
+#include "src/__support/FPUtil/cast.h"
+#include "src/__support/FPUtil/fpbits_str.h"
+#include "src/__support/macros/config.h"
+#include "src/__support/macros/properties/types.h"
+#include "../MPFRWrapper/MPFRUtils.cpp"
+
+#include <stdint.h>
+
+#include "mpc.h"
+
+template <typename T> using FPBits = LIBC_NAMESPACE::fputil::FPBits<T>;
+
+namespace LIBC_NAMESPACE_DECL {
+namespace testing {
+namespace mpc {
+
+// A precision value which allows sufficiently large additional
+// precision compared to the floating point precision.
+template <typename T> struct ExtraPrecision;
+
+template <> struct ExtraPrecision<float> {
+ static constexpr unsigned int VALUE = 128;
+};
+
+template <> struct ExtraPrecision<double> {
+ static constexpr unsigned int VALUE = 256;
+};
+
+// If the ulp tolerance is less than or equal to 0.5, we would check that the
+// result is rounded correctly with respect to the rounding mode by using the
+// same precision as the inputs.
+template <typename T>
+static inline unsigned int get_precision(double ulp_tolerance) {
+ if (ulp_tolerance <= 0.5) {
+ return LIBC_NAMESPACE::fputil::FPBits<T>::FRACTION_LEN + 1;
+ } else {
+ return ExtraPrecision<T>::VALUE;
+ }
+}
+
+static inline mpfr_rnd_t get_mpfr_rounding_mode(RoundingMode mode) {
+ switch (mode) {
+ case RoundingMode::Upward:
+ return MPFR_RNDU;
+ break;
+ case RoundingMode::Downward:
+ return MPFR_RNDD;
+ break;
+ case RoundingMode::TowardZero:
+ return MPFR_RNDZ;
+ break;
+ case RoundingMode::Nearest:
+ return MPFR_RNDN;
+ break;
+ }
+ __builtin_unreachable();
+}
+
+template<typename T>
+struct MPCComplex {
+ T real;
+ T imag;
+};
+
+class MPCNumber {
+private:
+ unsigned int mpc_real_precision;
+ unsigned int mpc_imag_precision;
+ mpc_t value;
+ mpc_rnd_t mpc_rounding;
+public:
+ MPCNumber(unsigned int r_p, unsigned int i_p) : mpc_real_precision(r_p), mpc_imag_precision(i_p), mpc_rounding(MPC_RNDNN) {
+ mpc_init3(value, mpc_real_precision, mpc_imag_precision);
+ }
+
+ MPCNumber() : mpc_real_precision(256), mpc_imag_precision(256), mpc_rounding(MPC_RNDNN) {
+ mpc_init2(value, 256);
+ }
+
+ template <typename XType,
+ cpp::enable_if_t<cpp::is_same_v<_Complex float, XType>, bool> = 0>
+ MPCNumber(XType x,
+ unsigned int precision = ExtraPrecision<float>::VALUE,
+ MPCRoundingMode rounding = MPCRoundingMode(RoundingMode::Nearest, RoundingMode::Nearest))
+ : mpc_real_precision(precision), mpc_imag_precision(precision),
+ mpc_rounding(MPC_RND(get_mpfr_rounding_mode(rounding.Rrnd), get_mpfr_rounding_mode(rounding.Irnd))) {
+ mpc_init2(value, precision);
+ MPCComplex<float> x_c = cpp::bit_cast<MPCComplex<float>>(x);
+ mpfr_t real, imag;
+ mpfr_init2(real, precision);
+ mpfr_init2(imag, precision);
+ mpfr_set_flt(real, x_c.real, get_mpfr_rounding_mode(rounding.Rrnd));
+ mpfr_set_flt(imag, x_c.imag, get_mpfr_rounding_mode(rounding.Irnd));
+ mpc_set_fr_fr(value, real, imag, mpc_rounding);
+ }
+
+ template <typename XType,
+ cpp::enable_if_t<cpp::is_same_v<_Complex double, XType>, bool> = 0>
+ MPCNumber(XType x,
+ unsigned int precision = ExtraPrecision<double>::VALUE,
+ MPCRoundingMode rounding = MPCRoundingMode(RoundingMode::Nearest, RoundingMode::Nearest))
+ : mpc_real_precision(precision), mpc_imag_precision(precision),
+ mpc_rounding(MPC_RND(get_mpfr_rounding_mode(rounding.Rrnd), get_mpfr_rounding_mode(rounding.Irnd))) {
+ mpc_init2(value, precision);
+ MPCComplex<double> x_c = cpp::bit_cast<MPCComplex<double>>(x);
+ mpc_set_d_d(value, x_c.real, x_c.imag, mpc_rounding);
+ }
+
+ MPCNumber(const MPCNumber &other)
+ : mpc_real_precision(other.mpc_real_precision),
+ mpc_imag_precision(other.mpc_imag_precision),
+ mpc_rounding(other.mpc_rounding) {
+ mpc_init3(value, mpc_real_precision, mpc_imag_precision);
+ mpc_set(value, other.value, mpc_rounding);
+ }
+
+ MPCNumber &operator=(const MPCNumber &rhs) {
+ mpc_real_precision = rhs.mpc_real_precision;
+ mpc_imag_precision = rhs.mpc_imag_precision;
+ mpc_rounding = rhs.mpc_rounding;
+ mpc_set(value, rhs.value, mpc_rounding);
+ return *this;
+ }
+
+ MPCNumber(const mpc_t &x, unsigned int r_p, unsigned int i_p, mpc_rnd_t rnd)
+ : mpc_real_precision(r_p),
+ mpc_imag_precision(i_p),
+ mpc_rounding(rnd) {
+ mpc_init3(value, mpc_real_precision, mpc_imag_precision);
+ mpc_set(value, x, mpc_rounding);
+ }
+
+ ~MPCNumber() { mpc_clear(value); }
+
+ MPCNumber carg() const {
+ mpfr_t res;
+ mpfr_init2(res, this -> mpc_real_precision);
+ mpc_arg(res, value, MPC_RND_RE(this -> mpc_rounding));
+ mpc_t res_mpc;
+ mpc_set_fr(res_mpc, res, MPC_RND_RE(this -> mpc_rounding));
+ return MPCNumber(res_mpc, this -> mpc_real_precision, this -> mpc_imag_precision, this -> mpc_rounding);
+ }
+};
+
+namespace internal {
+
+template <typename InputType>
+cpp::enable_if_t<cpp::is_complex_v<InputType>, MPCNumber>
+unary_operation(Operation op, InputType input, unsigned int precision,
+ MPCRoundingMode rounding) {
+ MPCNumber mpcInput(input, precision, rounding);
+ switch (op) {
+ case Operation::Carg:
+ return mpcInput.carg();
+ default:
+ __builtin_unreachable();
+ }
+}
+
+template <typename InputType, typename OutputType>
+bool compare_unary_operation_single_output_same_type(Operation op, InputType input,
+ OutputType libc_result,
+ double ulp_tolerance,
+ MPCRoundingMode rounding) {
+ unsigned int precision = get_precision<get_real_t<InputType>>(ulp_tolerance);
+ MPCNumber mpc_result;
+ mpc_result = unary_operation(op, input, precision, rounding);
+ mpfr_t real, imag;
+ mpc_real(real, mpc_result.value, rounding.Rrnd);
+ mpc_imag(imag, mpc_result.value, rounding.Irnd);
+ MPFRNumber mpfr_real(real, precision, rounding.Rrnd);
+ MPFRNumber mpfr_imag(imag, precision, rounding.Irnd);
+ double ulp_real = mpfr_real.ulp((cpp:bit_cast<MPCComplex<get_real_t<InputType>>>(libc_result)).real);
+ double ulp_imag = mpfr_imag.ulp((cpp:bit_cast<MPCComplex<get_real_t<InputType>>>(libc_result)).imag);
+ return ((ulp_real <= ulp_tolerance) && (ulp_imag <= ulp_tolerance));
+}
+
+template bool compare_unary_operation_single_output_same_type(Operation, _Complex float, _Complex float,
+ double, MPCRoundingMode);
+template bool compare_unary_operation_single_output_same_type(Operation, _Complex double, _Complex double,
+ double, MPCRoundingMode);
+
+template <typename InputType, typename OutputType>
+bool compare_unary_operation_single_output_different_type(Operation op, InputType input,
+ OutputType libc_result,
+ double ulp_tolerance,
+ MPCRoundingMode rounding) {
+ unsigned int precision = get_precision<get_real_t<InputType>>(ulp_tolerance);
+ MPCNumber mpc_result;
+ mpc_result = unary_operation(op, input, precision, rounding);
+ mpfr_t real;
+ mpc_real(real, mpc_result.value, rounding.Rrnd);
+ MPFRNumber mpfr_real(real, precision, rounding.Rrnd);
+ double ulp_real = mpfr_real.ulp(libc_result);
+ return (ulp_real <= ulp_tolerance);
+}
+
+template bool compare_unary_operation_single_output_different_type(Operation, _Complex float, _Complex float,
+ double, MPCRoundingMode);
+template bool compare_unary_operation_single_output_different_type(Operation, _Complex double, _Complex double,
+ double, MPCRoundingMode);
+} // namespace internal
+
+} // namespace mpfr
+} // namespace testing
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/utils/MPCWrapper/MPCUtils.h b/libc/utils/MPCWrapper/MPCUtils.h
index 2db4f7a8b1f87d..2ba683f21374cf 100644
--- a/libc/utils/MPCWrapper/MPCUtils.h
+++ b/libc/utils/MPCWrapper/MPCUtils.h
@@ -124,8 +124,11 @@ class MPCMatcher : public testing::Matcher<OutputType> {
private:
template <typename InType, typename OutType>
bool match(InType in, OutType out) {
- return compare_unary_operation_single_output(op, in, out, ulp_tolerance,
- rounding);
+ if (cpp::is_same_v<InType, OutType>) {
+ return compare_unary_operation_single_output_same_type(op, in, out, ulp_tolerance, rounding);
+ } else {
+ return compare_unary_operation_single_output_different_type(op, in, out, ulp_tolerance, rounding);
+ }
}
template <typename T, typename U>
@@ -136,8 +139,11 @@ class MPCMatcher : public testing::Matcher<OutputType> {
template <typename InType, typename OutType>
void explain_error(InType in, OutType out) {
- explain_unary_operation_single_output_error(op, in, out, ulp_tolerance,
- rounding);
+ if (cpp::is_same_v<InType, OutType>) {
+ explain_unary_operation_single_output_same_type_error(op, in, out, ulp_tolerance, rounding);
+ } else {
+ explain_unary_operation_single_output_different_type_error(op, in, out, ulp_tolerance, rounding);
+ }
}
template <typename T, typename U>
@@ -220,14 +226,6 @@ get_mpc_matcher(InputType input, [[maybe_unused]] OutputType output,
input, match_value, ulp_tolerance, \
MPCRoundingMode{Rrounding, Irounding}))
-/* Rounding Modes:
- 1. N(to nearest)
- 2. Z(to zero)
- 3. U(towards +infinity)
- 4. D(towards -infinity)
- 5. A(away from zero)
-*/
-
#define EXPECT_MPC_MATCH_ALL_ROUNDING_HELPER( \
i, j, op, input, match_value, ulp_tolerance, Rrounding, Irounding) \
{ \
diff --git a/libc/utils/MPCWrapper/MPC_doc.pdf b/libc/utils/MPCWrapper/MPC_doc.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..ebd0777b9b1a1aa8ebd2492763724be7347b86ed
GIT binary patch
literal 333085
zcmbTdQ;=v&x2;>Qnq}LzZQHhO+qP}bvTfV8Z5wy(*ylXlSbxOc_l~E08zW+Ty|><4
zW|GJYi_$RAvOto|Ee)?hGT_tW+ZkFya&tq{Nt at W3Ih*6Nu(RR+_X9~MYGLhc;)qWt
zYHi?bB5Y!0XKVt=%M0n`>}X<O1L?kDqbw6w$PeHBNaYDfI at 4dzhwLmU4NrVucWBI<
z)lJz%8vz8!{dU``mvS~`3YVx>tLL^{dE<C at Xv7uyaG@`Dq7o^$sk%zqSoC(<^8yxB
zJW+$D<$Akv!g{N=$#y at lyuRXUh+doIqTx&@+eO>>$kN(<@mpBJgL14C$Zgox*ejNm
zgDFAoD&po!C8x+vjE&gzHOXqDkYXp;ElGh>Px;u^kw3A5waXOYkoT#c?BOIw1}lC;
zLGwU(d4u577}Xdxy{WaiKH0&os*4_Z|5wYp^F(yH%l%L$X|t4E&hYHQ;r>N))hudD
z&@(Dz?0O#Okh}YqPBl6Y6&I>g%O<2$-2qf1WwT|+tYtlo>@q}=Rv5h)YBu$q&x&cs
zf!#MnG9)e|D}?Bz4*_9*3Soo2$_HLisK5+1iv&qNeQBQp3D#?$8L*ykz<};40Y6`;
zWKb8KA7_YNgHkBug+#_!&+x@;w=IwvElhfWUKdCXz1IJ)b}h&YMpA~qePMvv)MuY|
z)$L&zyYGn8&^S{pLT%5Pm&`{_kgNk63^k=?1uI~kDb0n_kpL}O-;uy*F##NBfZXtP
z?3^?TJs#k!JDtT at p|K#Q?KPw>vWJq=o7xo>36EE#M57_hN8uXy at p7ac%CpsUYtZK+
zpwSzvw<$=>J`)Ucs8>@lxP7n2lX0fw_u8e at NdlF4`sj}TD_Gm4|7HJXk(xj)02~JJ
z3wrd`2D7cHIiv+8J)DRIUXZ35i|c$GY1i*4f0IOaFG3qD5TuE%@&BRfpVfa6$@m}0
z<Y52*PbSDeWFpi5zsa2H-St%|ocV7uUAil7T>pzq&7<Z1*r`h7yq4-38B?+QS)Xed
zFo_f$x|XY*>S>#u+7`QmqVk67>mhnwvde}u-E4Oq(^D&3ujOA6DKE;2Fc6m^do#Z{
zR<7oq7-HtmLaxqcGfj4C2&lxb1{p2o<1G1FMM<$@6I?Ykcbo3}>Rj|!*jSMaw${P}
z0I1vrLb`?<)Oohfw$g;IZ%ZyOjkM8;C_;uG=O~+1?}Q>WyDkgIP2^(<=<x)jmemek
zEoHQYtXUD;I9sCC&Cegh;kWjL&xM=H7D1(|H4)Y0mg?6Go0sEp&xB+rgpkU1v&pZ#
zW(qUx*jdH$I|e2uw;^bEfg!^Sh-<DYVE6?CF=-rDDbjp;sxTi?>=!~lzy!qoIy6vn
z_=VC113Jh8SfeZI6oR7el874`Q@@uOrs8#MN{K=DKime{K%ZA?K;Y5k8S($1`F9Gu
z&zcqDP6(Ut0OQ~YVKjV^%%@hv=QLl5TP6q<1x6(cUcC|Z2l*L44N3pvA2bVaodbDM
z;=BS3D&pTk?~<J)guqFV7VgZIo(jv at j*I+;eX7N0d4`K6G=kd6Z-Oo?hyOzUYCfLt
zeKC8jtSQN at VeQAWq=)TmLLFh&n8aJTyGnJSw<3*JeWARDZ1FR~!5Iv2I||LfIE)Z{
z4&@YY3bq2HVaMJ67&llgwyg@&CF?@%NGNQ464g{<YCILK?*9J8->B;9z2xC(|2L#e
z{{d1)mj6AZO8vG6^zhxMR9)c2p80FA at MVO>@%}>wQYwYZx<cG@;(Nlf?02uvQ}B_h
zUgA$*Co!inJh)#UYjKE5c>2galJ|dXd|XJP7j{LEpuseBbm{av-2i|~<NiT(aQPUQ
zlR>(5eMNOU3eC>OqX+X$<rl4bPk9~h&kDjI_D`&9`@~~{u#B#Y8J<^Z$Y@|4{y3h!
zjmjolfo at 51uDVvz3fj{K*r68>!wn8LmDN^v8GC*RzlA|XLuc)op04*|dRK2Vj&{q7
zI=BP%NFMK+>y2ovZs7e4hJ6Z81Odmx)XxU9S>J^q*klR4{S(&v&Q26m_`MTRoV>3U
zzquxrtHKJ{Mk#qe$_t19^|9j6yeWo1%kNNWwgWq_RLOu|8$?>JI=*bU_(|>@`Vtdy
z at n~+k7xy-OKqLlbAqxVo(X#Ka{Oj{X?ZEpsi`oD)2BR)PF1;>MuA at VQ`$&4WNH9~3
z`^*>gJtRy8sAm#|(Sn&ZgW%K+;zHeX3SXYO!zaN*q^v+#nObJ2034<9HweS~5{1Rs
z-<dkJ;nSqKT!hCz2OOt~p|Yx`#Rb5rR!_C6M+T9(Dw1EJPgi^-)0r%5orb^4YDIoL
z^XZlKHK{$(y@=!JEC`qPjOV6jr1p&VmUxY-x;c+V;zcq>p}?vd?$UlrZ0RC+JXt>s
z2bQgWdH~JFP{#hv7VE#+Vq*Q at vlXHsBR5D7-TkU|v?fkG<giF8hHiui#4O)_=ddQ$
zqN3S3Zv*keBinf64_~He!ZquAyWWTF(+4>X8MR>8Z|YLmVcBWS;EqjVKV$+{G9G`x
zXHYo$hyT36FBH-cP2{H71<+lC^mJ8~soL1K%HWuAY!YR>u`0VU&Dr^P2o#mH8w>7D
z%OeST^5~m6wr>REJm2hkI35{u)w4w$moSO}I at vk0ZYWSvN(RD+DIz0E`*;Eg?H~cU
z@#&^+M{V=Dp4;}jYC|Q9v@}RYMlKJ*LrZ2;Vv^t+k`m*H9~Fj1M9K_*25+YFyBv#H
z@~jSs|H3u^u#)IyV%B at QS>~_y+-_^V6jim5QY#C at h7-;gM3Zr>EM<eBgtM3!+H}`*
zlFrs%oyJEadaT-V$A&FMz|yE<`vIqvUW%w~JOrP+yA``-!x8;8mym&@`sh`Ah1Kp#
zQtA6MYe*5vFE@<%X&v7*8%S2F=)eCR!+&TDtgQe0xyna*+;;Py#_&lMoJ*ds*k&Ol
zXQ2pAv4AhWt(%E!91;7+oPn65{I`b*n?f<LiC!NTZ<pGeDfy25D>zM at PC_NUVu<Pj
z#m)TnEWyFA8Ied%j54|j=(D#8KQZADG^#9*t+LSt*&{FvV>Y;T-9QteQhs=2GkJ%u
zWqor8&KR|k)6P4i!AN)Bcfid?Y-ITwj<IK3$D5eyZ%M-@?X9fcTQigz%!@pRAZ!kW
zwcTcDi-^|Xd>(_cS(uLvm=?eFFp8I;+v2n{LWTTWFPq-}KmY(&AypHXy?mrj<^cap
zuuVXoKh;2{1g!~sy95Fx#n^2jkA9?*8Q!ZobS#MDsKnL1{CKoG=z*D)ymf(5z96h2
zojIJg at Q`;kyK?3^bRt*kkv8W&dnV*GvyjrPIdjo{G$~W&jQNWp<c}b{q3CgR1xAb+
za^QY<kb0N`YRp7rxn_idf=+S*NOw<nFRvRfBh2Dz=8nRm<)+du^QvvUz0Z~T0GJXY
zeNz+aT6l2Imon2>X^C;kb=Zt;To8fePO=%h8YWoL3vj>Y>fyqTtWni>a_LY}GRo+N
zJZE5>j73L;)ec4x;KT^LW?RGnO2mwPQQQco)zuV)UXM%)oU;{sXMKo;XV7be(#xXU
z at +AEs1N38hWl>5K$9(AoIMczTSsk?}@|XRVYRhg>G35#U2Qr9_8V{zG^iAZ*_Nyx!
z{w2omgYCG5K(Y57XpnIpfE=?|sG3A{Y02{j%Eyt|&Gbpq2yGLEyg%>Lz0=UlADR(2
zQLed{94q;1dQ+5f(WFoskvUco7wT=C?O53Y`hHPUxr_*U)<Ia5cJmkfWLKV{!w~GZ
z<u at _7`zupQ(Yia})b5W4jc-sm3CrmJfI9oX`xHAP)BjonV^n19{!0V@=~HLoBts5@
z124jr3k`+H0&|epHv}Z1nvj1Yg%Eyy&A4Gpnif=3GBem_A8iJ4 at P68mz-6-`=n(1~
zH+0{@s at Y)wG=@>xdf?!@&ZM`VtGJ<yz`l0(?4HVYxEA)keii#Yq at B#zjcoUx&sKgu
z9g#y4(m at Wh6}4Q+6(sfT*Q4E$56!8I%sqN9(O(Q2 at 4E_P*Z)1o`Qx at cgOZJ-(ryvJ
zs1{Qp8H1s_a=?Xy;4Xok_YUQ`f(I#i*gCq>oE&^+x!oo(0BZ~1Se42KK=y}=Q1v>Z
zaY7Q&GJ|S+>B3}J+_4z5!PsP{+A^^f<wL(+6VFCjY9p<^>RkKL@{p}z#}cvfIRxf0
zjIy2@*Zn(ONyDg|<pY6N-k9RD3g4u|k75b(7#FKDg}RwosPw#3D9|^Bqnu9tD8U#B
z84h-v*tnDjVwP at 0h}<5;`L8p_BvUq+v&>z%1gNdGshzv at 3T71u!~>j)uL4pCTH*93
zW^=rO6vFqRnD0uw_mFZ$ce65AG at Pp}XY>Rr=qQvp{h)$_>A9JPhYhYh;D>;H4`aQZ
z8W>0;<DE~Qw=E2bkA*gV*FZyHpK+AYNT@|GxC%0HcREb{P<QI3k3)=nA3i`quju*V
zBO!?iy at uw}adu<BHEVkDWL7Pwhd+k$nQ$;clHD4$Mxv+;n1GF22%{FfDEkJ8sFu=c
zW{VF24e>(Wjam2(kDz?^*PbggZiy6QCIX-byCm7`BS(PH5#Q_>Bfhm|?981XXNQ(E
zFR|SwAMTX7?BcNX2Y2tQcvhAR^8RP$oD$&JIU~M%2lQD%H?%mX4j6saX32(XvrE<_
zsZz*K8$wH-)P_qdQY7!<+y>AGYAF2;bX0K&VR0%|IYeD{bZoUglRm82LS3~v^Dw at C
zq(CtZ*s&7Bn0XXKaSJ*UfLhnUDgsNk&!yIREoN6`rA&?uk8y}~Q|ZTKMSE$k`PtL(
z;;hkQAE&~?W8s^hoZsY4_WZfpU$-AcJx-SKZr14=u~sj3>@J!1*9y-?nlkn6?kP!#
z8&HN{Q&pNzCsjOOKH8kjsxH<izWVDe;D47P<9`?z*qK=WKa`=A-6lJH&#Bs(I3R+W
z_gTMHbW;{+2RY;`@)5sQlZ<j|7jla2&o?ZG@<qoEDZTy-bQsgFeNTb9>Oh<c%xtFW
zoGSDBi at TC&<)#_A_q+RGq8?!EaK`EO$4MNVN=kiVg<`#R_avq6LW4@}{ff?uxcg7j
z&*h2lH)h!ZN_DZj*~;)|+7ivIx)4XDu{ch}9t%wnYC}U;nWX@(qiCo${lRuRTAl0T
z%BBNAdwDpX!}r^(8ZxhsE@)GlONs^oyG at p|f^(V*(zbwkM9y5k0?#q1-Pl>z&J&nS
z_cr^r?%Z`}<4zVJ3RnIp<ns2JB6VxMF9$F~&iV$0;Hb_eoY>(tYAf2OD|fEvqg@$c
zpJ{eQB*7KIDNRP)z8^4vmZ7$PHDx#t*k$AORUI6u1U_{T<lYCqT|CdmHalE@)JaGn
z5gabjTKu!QA!J^mB{$$7EXLQJTr~jK$64#VN64=aXV~jQ*tpLi0fUmIW=GQ6FxgJn
zcyS6ML;~XVsg_%Sm*5NU$dZv*r~rW=e;V-pMKkAM{Z$>}Ht)AU(yKxiB#}%ISV>Cb
zX(SnUDXn27Pzz!LGQW||DNwRqzmsk53}bc>FcGi|@l}o2Um at WY#bFfFHoqAoEWHPH
zLkQIrW6o$NyvPK|%)gzJ??y2GRVJ!TA|z9jx2JaZv@=_^(LW}0;dU-_WOmqs3E?*g
zwJ6XIo`L7Ga;{uF+h8(@Njq51WpoKqnM(Z^ZiISWyZpWw%!F{oig(^u at C3Sd(RE-(
zoXn%Vfy1!;BRz5>LV>-}-g~zFDiQjGAxJ`s>TDUlZc)%)e-;s$0umWP6=TJRE5DT^
zLp3iNN>#>pFU%hP>ocAo3C~3M01?H6<KWb}xs9T)=3QB}EB`91TT)#`>TOh5Qer;O
z0HNNpLAF6-LbZK6WbL0&yolOIAnZSuxO?iZ6vT9)*dL48gwZDBEZuR3EYp38#lTTX
zTQ9ZdixKcNl=YRlkq?9OLUg}K$(y;3WEfZh;Dhg+?+n7<!nIlXXp(8~x9{|&9fPvO
zO!6)x|0+>#Vtg+yX4C+#6OTPj<JOb??9uDdYssadeuJ-gzc&24CjTkFf2C_oO#ini
z|L1hAT2mu#YXre}wRVlo37|gB=PvOYzXhHHa&IVJ6)u2~e9K at KngG`bSF_sBr=p|7
zgGQ_q5*jeGM}1l6dwG4b7U*rX*3bckERlq<XG3ikh-m}2w(R~S&1|dY(V&1&>-}-M
z at lwseeHb_ujH0)LLpy{}Um!8|$@Zc0HFwLW?R~VdcRM;*5TQYSoXpXs60c5n2qi9K
zuRw6c9TK4)z-vt9>We;c=Mv}jqGooYp)8I|Z=~RLl5bbxaCKMrU}Yr?qQ;v-9o>=8
zxlyWk^~xK?@z#}mB0Dn_lGT60$@<T&FBxJjhWQ&GpqkC9(rNPk(rHdOj|@?FiTd10
zcwclW5h7ULz0$U;h|;3|82{Llz at p~I at O`nC`gD2Ta-+ at w!o9S1-BQl^Kd<Ws#3*(g
zF*tRq1+{QlBhL@`GOpkrW`7u59)k;u$E(V>3$M<oIbVewpxt3x_BeByboC`pezhZ-
z4NzU#m>Vlko1dLL?<`!peziv?=+ at KSxDVmC?>4l&j2C5B)Y#Y8@)Qv>ss_7Asd385
znw09UDSOQ%J;%%s0AR>d!O-32artOr$89Fbou9q7FBVl;EOe^mLz~uLpKjUW at ZE5{
zl=H0j66m~@tDcdk)ppnDRVA2FD&?mrl&=>ri7SiOx}Hr<dJ%QntBuI?$^Q7+>Tc_~
zxv6v-iR_?ZbTu#c%4z<*yy$v;EZl_Caiam6`R3PF+h%|ODp)J8op|0+!DJ#?B)i$J
z_HBC&S*VG~>}E=~zxoE*@J9qg4-vM4O;WHb(cV))#N7vHZklOaf$gb`qFYnk at vDAT
zhg1NAmWRw at TdKTD+F@iA)L*Rrh!xM<JXtecb|Unn6&QvWSUb;@Tr4bQGiMEIs?XW3
z!+a&}E})wz94*?WGk1#??iU(228aiU%7Kh(@4Z}M94`|%YZ9D0wIw080<6-XE8f2~
zUzpk(N2H9}WVO0BjXs$%{&RF20Ek%Gfo2*;Amw4+YGxN%1R4<t<tV2<MMO5oYZY;m
z#s at ouXE2cgq6Ox3^)|XvVo#9~{_aers+?US5e<_XjH-EX?zOJ<9?i98h$BLsxF6|+
z$cXVkV)X7ja^<<Z6n4Pglm#CR5NOe1_~(;f89nyTG%~&bioXW4?jOt}9UwDuV2kgF
z452;!!9xDinkaQ<T{?NDm;qf~e~z21mbnpjNWijj&(EAkansP*)diqN=Rsdn*oho4
zs*sb<;%kwunI*#2Fl%zJfiZ7G5Zd;F`Av=Qvd3Y at KW{aB3gH2oz^5RwG8W4;>O1=<
z+Y<2HyB(ZDJFmBqKSy|#k8yl`et6aHe1Y6Q4K{j&ZQJfHoj}n__=(Hkfy71lU`jzi
zkw6`!*c2CCYi4C>Ym?@TbofmP`V?oP7Bxe_WVqC<x)@<MvLl&$WMCYj`lk?D_5kVa
z;eEns at c2vk#`ydOiXOdE$UC0MVns1KZKpn9Uy1B at 9gXXOJ7{5E*beFxw-!6rKv;Wc
zlLV_v3}_Ki7Mzmv^3!~+@`KIpz|74)0SW_(CA8*vAStfC`#z;!&jAeEG|XqZYHYWg
zIb0y=Ga?{k?E2iYq9E#nx1qnp{HmuypNDX7zlZV3e}eK|U?he!B##{V!jTFHp(F|f
z7s$~w at FTjTNyWqqLpjwCh9FblB0@-5W8Mc$jC-KpV?|E at RJa@7Ko|k$QFuj)OVNRP
zMTBjGi=@0O_^0k7y1_ at 3rNxJ1n>(_gU`)vpi#(7~8{0nQMya(q4OX^(NX;Eg1*=8I
ziRxqwNsGYCO6EbueJgaxg-0&wlb3kS;Lpx>WcG6=@H>!eO5&MfH4i at F+wkzo*Vi(D
zcDxt<o+4-M=0x)B{6wT<I0eUObzD2RaWqTEgY<&I)C&Q}w!txhv!tbt&+C7%;!7Y)
z9hh5yOGP;xMy1xd31A!}?d4_;mXhO>s*IxtX~XGw>9BrQZ6S(6WVmr(JiN{<U(^bZ
z0M*FT0w0QWy#<$zb=VPUuoHi6Y50e$GmibH<xZE}2$tm5G;S&?WzkA!;W=)wd-eq*
zV4;8(!iZL`(Yd^o7oE)QKU5Eb!V}A$JUFT1ZU#QYg0oAiv*S?WZ9owdpvMfn6?DDS
zJ<4UdAu{GhYtfhfkv7g<T#+dbjFI4BO$Q1?Mg(pKNxMyY^LC@{UDesO8J*kG4sIkz
zZE$sV;HhO`jzdD^W_5(|c$!DG)Gq>7-%On{T`Uk8oTtzWqPvN_5vD0pr`KT>!vxq%
z-S(z+NXbh^^cwUmdo3e&-7m1A6l>!%ppCn(&#p)DjjuS~NC%cUV2!i|5`yqWT_JDR
z58;0<MovO$I0zlYCUd4f%6<s3Ojl-m&|MueQ4J6%YT7WaoHc1_{lsF6?171Cq^ar~
z1LaBp5G3W{y<NAk3OaKJkhouPTZ8wCvSy#vq1Ompv`YfZAGPG>8a|LP7qqvW&&V(6
zJ^P+ZIx*twt!=E}H%EVsX;+4KXCu>D<UX#JU at s&qm;?4ZRS%%`P_<@p at sOjBBS?*S
z!z5U4UrIj_-5c6GlwTifcM{6PJY6A`7*Xp3px;SELLWA6fYQmkY}tM(wq_Iun-qUE
zZpX=7(3D?b!yYKq)9PM(ClH3MjcmC at pjY7hgp@)g2Ezn!*pL?h(f2J}cFFS8>gz6g
zHf1Sw;LdPh>sOYo)cy&%E^N(HL^!<KqJVV?a%v}~Z-AmR9 at -Nu1u*+{==Bri7`bU!
z(6A{sdNFWPlwIf>F+c`=k+mg~u{qsd)_O0dhCW8buD+3eDR(!Qtbd|#W`#pC^s$ZR
zXN3dGBrw&;D=@K4yn|Yq1|40qfqjx1Z6881jA6%EemFejuE&mkNGhoOIwAU;aKyIj
zDF{#ys|(@;qOY9$BUf=ieAFYe)w)?93W={Sg@>ZjfT-eH=Zi3%rVm7Y1vFa>aUe)f
z(Kk+UAJZT>Ssh$2P-a7zk<L%uLC0z3m><VR3i^RcDW>1KtRc~83|?T+8&+07(dQ$-
z3^Q(G!$-!f6;X?FX5G1?K%#w6IN->)F@@b?Aw)~>T4{KpU5gY4NjqOvbD$2y&I!{V
zs-v$T2cxAHus$+P?>X)c3QjRvEH$wf3R9<QW&{#TY)bm_9(XF5zc2wvj&2kLESjmc
zOx#FUf=U>2v#zY?brDYzHj;c%pxylKTr9B3fXB_>alGKxG1N`r*+5@~dLuBe1pJfx
zltvA%n*s;~?M>SdF)vEWnOO}3K{Y<$d=tXQD)d`_$;Km%+(?gZLuE;33Q+0T%b)GP
zjHp--(Dkx9`EA?Gr`4lyqld(T<zAV?5{gb{9Eo|m`$B`^V0-Bbxxk9Pq#+ViYgMNh
z<#GOPb!Kok==7PHgu at c^xYut*DknYvW^w9NiN~><S%yS!c0(dmPp&J1$woRL2e4wM
zbt?`(-wP)a)z9?8_)%{F at 1kvj>qs(%p{U54P2u at b%~;t-7{ODuz{1mPM-fq?qCYgx
zyM@|JvC$X)CxMj-YYNv)!cEtibmv+&U+DdC|AssyxWrqf#&>m{`#jL-O;Y5tc=FLy
z771ihv0cONI<9aE2ka?LiPgDrXgfKi(^tCVoM7Y__)rP at t%6)(@*vdHGvl{XPI|m!
z3so>Plh$K98}hTkC{O!33#mj(al?7M_ at Yvcz;UR$(tENVz+{iPho%30fMoU#Yxb2U
zqn5`Kf^ulMf{-5fxh9{CGUUk&Z3X7${Br+(+JcD+=S$0fC!)GJrR#pKGO|~~g@{8+
zx4>zMhXvoCO+C=Gq!Tt8hBtVO{SKdU0y>u{sab*2x{H1I0YxSQnWO{6LmVV{?{R9P
zXZ2^9=hQYZmkL!j;n8gfFy?DBOjLK6ffx%2QKK*IAg=p-WBJGWeI at HAvTS{HQpvT{
z7}J$V$3-4Ue`sN{+mC77D)@AEu>SLIi{fB@$N8<#43Gdf2svTTh;GTYp09f6L0u}b
zM!1olSj0xDuHOFd$lnF7Bwy*<D$5F3xlD?`oaCqzV4v6`V-X67+fxzt_OyhW-E^YA
zafZG^f8um8lu$+HQ&A8V%vF%IK2NT=<%|c}u}8`(ma?#*iKE^QhyRRgu!H`dI1oUR
zfhD1A?jeZzOTO1hdtTETF9wOT9;cm|9zIc=0<OkaFz5lu#gI+VDx>^OyL=C at W&~El
zsbW6*$5H7w{l%G;jj)5k`byH*@s5r$WA?+v7j)A!*XFeu!cdEv1dcJM&1OwJKWGaD
zJr-H>y at CvKzO*L=Xzv+XPQxCESEnANO=``8G&SCtIKJv%aGuc+d;VQ3A-peH4aYa_
zPsZ~dv;skJ3CP=T(%=D-`!m0qj^=lL3*09gtds&{qk^~z^!7krC(*S?x0D59*I{%V
z)}e7~ef<l-0>@_bZ(qgC{BK{yz{>i6!jAvhS9Pmv*lmi!`@YuBX^|6aJJI1%Kr-_t
za>f`DsRRL7%*iiE8cHPq#j*dq=B(=|5(|llE+Df`?R&D1vNbj`Ns-}x%}Ml;3XDmN
z1&tee9h@&4 at -Pf#p^+^;wD+C4vd@~5{hckzmX8zG6((y`QCqU+ at VL#kJJ2bKET80X
zTU#ur3U;n(Xoy^79$zv29=_y*cJT4yb;-E(T0&TaYfK|cYgBDFP89FQGq)J at 8QKa*
z!n1yfAPZq&r(JngHBmz4MA<-OSE;da<Si7z at 4JP(<M at LPp7UX}x{YF);@y(Xqav6X
z4+e8eM8pJ0tlY&M`LLW0MiG9b at VITEgZkH^Cw!3shY=r|P~YSCiI~Kn-Du{rOA&&%
zWQM0Bbyd`)bZJ4|QH?l-F^bC_B$l#8LW9&pRr8W at P~AqkT>gE?BpQ(x&}Kp$M6TK;
z1KCpHSfo(W&>DI at 7;+$Fc1{$H_hH{od>}kS4!uB0?PIDvqXQX5zXxRCy)EW9!||d_
z?2R^Oof#1wUnRw8$4g&aoDdbGoGHFYT6Z`UUN*z-TG4hHKqH7R-;Je2HV2be8Jb>W
zXX4D;GWnyh5*Zot&rKhs5zGxUdLx|tgTb(<8FLQ%J-ZEiqIF8#xPgBQ+6~kAkYFOj
z!cfUwQ at OWpS(_#NShSI5sqT9*4mJG%YC?(up#IbV>&j++>>}Cps1fTTL?BeYx>rjl
zD2H+T4si9cF|?e0 at Hx!p^AQ(<4Z7>(a#^zfTs+ME6GYJ!eJ)tSX4GksIb;;+FBmh&
zzE at J(`vEcnkABB&od3Cy at 5G&$fBRRmH&*%+ekK~k+-4<hVH-p5*gQdnKolikc!ikp
z9-IQtUJx7>b!05TB at +1;AEA_36jq7wRfxKFK~<zYu8gA2{bYqU at _5Y$kPf*Q3F0mc
zW6%XxYRB<?(FMSW!CMghj`HS{zC}!rs%F at _R7rXD-It5&HzY;C8Q7;KzYPljDli57
zw<SMOu(DI?gfI4AQv<YG6$@U;hJfUgs&2ezHP2usPUumB)dEG3s%tr4AW&#WLlb;>
zX2M*EPcolPiF^vTH$*lcq?#iQ&t3VIovs>J_X$;>KH^Z7Vo4!{La&%2@*CVw1SizN
z1#@!@G~zuQ=lv(u&!8EX=1EVgHrv$BV_KOjR(^iUXOFJL{&vx@(JKEQlEN;y;Om2t
zq%~7hI<KE1YTaVW8PP>{V%}HqQm3;{@7~rdTIGrj!vxLf2M%VVg?B8*N$T{yWErA*
zYtIT$QM06UZ<eUk<<tld8xmvqr!LGUv?y+&7Z;r&6)mqSe{lZyU0hQM4IE*l4s(jo
z612?+eq6CeaNSfj89<%lXGNM#*?c|w`D{YKH-NNXtVm9&Dfbr}`MEH|`Z2eNhIZyr
z<PNr{vH)bLM_<SRm>mF*IaT)j&aAyTdci*;htJ%CSsuX|9!IUzqwj~bOpl`)ImJ>!
zJE-s6Dw|<b1Z?c=pj#fU&o>bT`4tzZQI}f8!8Exg8aY9!6Y*{m%?!!1FvQ;bGf5NP
zFIQI+lG#}a)fh$(f*7#L&C>Rt)zg7HJ(~HHR6PDxLiPY+Kwx(xqE-W}8g}%YDY4CF
zP<c7dCpIP{N2*XNsSXZyukAFwB^93QG_b<x4S$(Lwz9jsxbwbUe4HFSx`e!pk;%79
z_@%&QWO8k$tu}AP at g!9dg_b^E-V4)$3hb?)7t9fZW4Y_ERRLgNo3>0hir}{7FCJ;>
zsxWX`eP4#%^Uwy$g~DQRp{L_3zB!y)BqXtKdCZWs22KET^WGu_MtDM-#!0#(1NaZH
z?LY|EBD9=Q<W7i(3($YvTwHC!-D;^H&)?7HvEG6gS9V6@#Bv at 0<5*kLN~Pq7Ys4k3
zCXN{y!T@@@U?R+<wT at S?yFH}YP#M;G8vKCVM(Dgoj{>0Ke4p_|ZKR)Lg#_V6g>QwC
zwynxe?XF at _0&xAA%XdM4QDvcQxQ}HEq at xN4smYzBd%f*+uVjE3Z!#+ib~k?h=qb01
zU4o%E24h6d-lvLv(8JfwEL{(j*OyH`q!9;klT{jWcjv1^&6h{k;5nYUm4v?900CjW
z^#}h+A1$zZ`|!~kymnm^yV(pC{B#RGqi*#{C5!H|P2TNY2j14j&0W5H2!f$|nIKJd
zJd<StWJDDJCW~uZwC}`uL2wHdd~JlT_(2<HAZ`2)ipKFD6pfMXf30XSXgYC+%y&M1
zBD?k_HsROB7JHzu{pa!QIk7;3*oZqrHbpW?6RtI_zquH*#5Qh&kkw7Nv(cxYL at 80o
zKSzb~QHDiHF|?@5_p~wUt$Ofx_t!bbJt*`wHSD|Aw>>`;vuKPm6HUoc*R~0j%o1$J
z#CBSAKZx%Sx7V|7e70l)?Gs7di@!>jW8Z?$qBO<{<QZmVnBDT1#KTyY%abZSD+fh9
zG-{fWJ0Yc;!0JZ_({-=ri%yq|!;+Q8N_E?}u6;cc!;6YG!hCxok at n^tqiAo+*w8z?
zbSebY2Cm<8%OIGXxS>3NGHj4WJFT~VM0;s)eDHIua5HUxk42-r`jREHHLbdGK;m0q
zERzPpOznV>rps0eZq19JzNm at M*f=Rw6i*Vdzk!?gjH(OqhKV(-XktrEG2d?fuxX;v
zU3v7NmRd{;P2LL1k%gV-W)wN#SN#b_7jgAz^ZgrqABP4KsqZAeCBOd*Y~WhMH&gCO
zU at pBT4Iye|Clo4Z80j23{zx<ttQC;3uSD5clM4i$BTp%^&<cLZPB~J~Jvg%YNRD!`
zh;%JkgZeWEXX9hwdGrdWZw{y(aB~`Tt*c%#Y*Ea#f{-ccu(I!K*KfggIhLnRLC%?U
zDK$Q-IBtwk6pn1iFd2@)Z2*na|G^(jx#Bo9Y)^P&j$1_UyGZ{b9P7C|v>~`u<2J-J
zK{gHAaag8(VL%}gGR<&q0N^c`TIrGz;ij_;E5FSII`7QeRsbop>#*?|3*-UN&cizX
z-ZHb at 2d&MR*)0Om?ZcDL8G_&3Lw3g66#hrLUQf0<;t`nEtU}n|5UoT%>9X^?mHpmv
z{wmzH9K4O+Q3C at fh3Us1hA5>kU)10$9viSvgRiN7@%YI614OHlc+^@(?RjRMatbsV
zOK<Tm${>&*vqlzr?wdu&$i1ZPgrjH$J)IrZ?C?Dx%oyy3Ia{ZVAME3>+ at hKYQDo&E
zEGhD+G$@fXvkwBLy6<s;bqsYAY+lVKs2QZu8!OC6+2rk7$k at Q@Ds4|1B`8!nXw-!n
z>93zVQ*|v{lB^<3bb^7N3UdDPX*&rRmNW{|qZ;;7x at P!(m9utM33i_JfnOdHT$e|x
z+<~3e;OnS`#ays0=OqEZMrzb;LC0TYCsSKe>S)GX)m0{+or5ZD8FWr2N}UXjD5f0b
zigfDIhJKgys at 2QQi~g8Afm3ZV9=xR7?HS2p`4Ol3JXYlB5X|f;=h$OS`3FE-P4c5u
zS{J!f5drVfsBC4>6OOePXCovXQO7G&5NMvmpCZD^yflt7V{nEOrsh#AoYOExX0Va|
zatnJz`%Y%!I6QVaCG2?gQAr6OED>b%@Kkk+U10zHzQv*P2jo|Lqp|?=;d{ZpN2Sca
zBWx^L%eUgJYT7*Az0kZn at Sa;TOg&DGq566n3AoCW>-~?FIH#M>h10q^O}qL=Ut)5S
z=1tUjnAh$VsxF6>{hzm)Gc2U*?d^tXj6pwBxoVvg{w36Us-2WIJx2EfdgzuqBeo~j
z_ at HEjPVR>6h7<auS*bS&aM-|2tt{!j%>~tg>SIi296|S=LR)x6>a-hUvPqPXn=u#E
zfYs+OLF-zCZmcg-FgC|}pZQs)_SsxwU!3VZc2>Azi)k#ebrf-?AG9Wl;ZeV?!(O<&
zcRZ at AwiNAAK8!yn?`XexCfon+r7Zu!9Wb(UaQydH=>O~vV*c56*&IXo#~r|Dqd{^R
zt{Fc{=33iztpl(^o3RQYf{VgQ#Goq`rxsr&`1xE|;yT9h(9>UaR#f(MXsTub{FKXJ
z+AdH(G?H&4kD39-yu4!BcKse_B)V{^w`o;*dwgES)gHPR0r9~(Hn(s8bNJydh&pek
zlZNg0KJnVm?)T-2u60qs0sXT+HdlPP<|ot{)mHf;jB-UB(++{u*Po}jqP3GfqD!x3
z!s~O>6|JQH^<<mMwu at Ov2YPJf88mR3cEOi0yVo3Z4gN$|1108sTHWp1pD1HhRYfC(
zo6Gf!2M$H<M-bT{m_l&y356}P#-hUTs5(Qf)p1DR<g&$lrX>53K)$0qc-DB_3|Y)K
zF|3b{!IK;1r{5)y{xONXe)8*D_Hyjg1zFQEtpW4m6IDGBc<)E!Z1BwVuOMF>%Iy&q
z<?STuirY8YRme`7C->dkwrdzt%V#8CDUHpp12_t3Pi%_G&EGt2G<nSQvFpr2uH1{#
z3-At!y>F{55nVS^!odPAHbHxW5%^#$QC!r33B*a_o$~=HIUl#(ETY-$u#WCi(u=U-
zBIheBl7T-NRH|;s5gkO=EYCW2p8h)_pKhrj)Ql$Mqk>t>vRImba|1MU0Xga_xsi3g
z3_7sWLtnF<f3w+&B+U61B*L at YT-hKvn^wwvLQ)Yt?OM5xT}B~cnGQ4VGAtD^*2b<`
zfnMb16m(5&NO~JkQUJ9$@V+3O7nR`vg6Z$YOHU73rT<`-t3A_R2a24|2Ore9B>+lP
zdI#2(9I!*%Vg=;Ihj_8ar~|4$9l|uZh=z|c4CW=3TPR$(c;R9s*nx4#rT^663Z$W}
z&#Q^>_+#zS?or(I(KNkwB5Co<u;JmQ4Cosad*@U%C-^`d_^;^-6xB)-jS+0~7x89(
zc94|Tc`<&o_nC^Q0#+PWBV-VGOEO{dM%B0(sG3X*+q0vModtN|&|{D8{PwBAbhYAU
z$BKvfmNtYCeX#RhgfFZk)K^LfK-R_X)2ujqm1)yM5b=qVm33u3?Ewj1jNS`Jb!ppz
zW`>oeEO7-n(4qv5%sp}&0<!rZm{8H;+Jm;+s0-e}lYT$~Fes~@QZb5c_05=6h4oj#
zrI{qC&`H;OK9+b&NLuWX=^Im(#ZUY~PXb5a807l9T?JqP8cynhjq2Tp8Ni>Mvq0M~
zRO_T1`^KL(y1sskF$1>7BI(=fM(all-m<ix<(6Z2>Yk-6n_rmf`;KMn+jm4*WWuHh
zrG^WR_Ae@)`e(3%>@+k}-N<<9ZA0W!)#vvDhmRXOJOxEQZ8mRa$w&olYK5D+)4r^9
zApE&e*}S9;?7MuGJtx<r5n|9IlmlED-{|)n1!_3=@8ODyEYc3rk2q{_RFGAI&`8n+
z!N- at 14qfg8hrnft+FElDVZ!l?*jqOA-)zTdpB`Ju-Ip^M1f2dOBU`}F$2rCUa45;7
z{Mdel8`KvU<X-)cLLl=?RoWL;rUYKoz_sK=Z)xZonXxML at d*9_KQB8O_`FC3KUZBN
zr($%qztn#XEeL{&gR%nK4B9f;Ic(s;{yP;Wcs$@aOklRFP6*phgJ3OH?tX6i+2Wi<
zFchFZ3dJNHxaQR#Hmex`YmQ87t^fke6iH3?grX})4g;OOMqslEwdPL|)**}i6MPSX
z7^@1q>(m6^PcCkf)LbEk)o*>bcyvEh_a1F>l^Iw<#Q0IOL>^yEUN50ACNY0W)A70T
z0W}t+%VLUNF&Y_S0t8|jbt5c<8Id?>w~9C>*v<xv;+{Ko^WMovGzU4Nz3Nz3V5IrO
zIFT<P3l>)-jU>jt*p;8uy?@oiG8$RFFdl+Tvn1lN{}Slbs|4Ic{=`$IPpL`IbM!iD
zSp_9Y-6TW(<V-7tK>@pkyx3W55=jXHo;`^Fx at euk%H9|XpH=x_(hmxexUaGlN<|qw
z&`L2wR1Xt5%Is at +((tmmOT3{F>7b|+MEM~L^8qJ}DZaL)AP^`H>>=3q6&=C$RvA8j
zhkVqHPgcV{&TvzS%55`f^xa-Qwy&ss%n+;6-UopNm9MWxU%-t;B|5G<bNI(6)LF*Q
zk5}@Ahzk_J3-XCwzV+`T`PKUI9xK>xNZY0m4L^{XE%iW?nb<A9a`MU_2nbEAewoE>
zJ=8iaFE9Wo<n~bxwLzwnx}|3%p-Fk^M9604hqb*W5bvG7Zzx at GDfuh?sv){=khwkq
zOyD($R$e=TTGHVle1%s7Z1HBG#_U){f*73yT!fLcC>X^7^V4nTy|D{GV7wD4Sp~X>
z28cs~5zwbv0rN%rF-qthI4IMg(fjW0*X|GSSEcX8=;!iss6XE|n1o~AILA^_+__k0
zrg(3ST=2FOKSWG!PP~;0z$9>N&wpvm-UyDjS%L|{kvhfAe7$qbv~<~Bf<LbIL-(KX
z>&JW<F!4GY1{kNlV-wyCDo|^vV;Q4fiA(#uajDK3ERn8Zdh_1TA;1W<+a`>1KF6JF
z8tFqzXG%TAt$|^O<YCa0&0&C7HI6p)z$W5M{VeFN2qAXBysgr!OgK_%?G?%?0+5bn
zTxyOIjZZ-ZPm|PpnZ8vKlyfb9wzEd1;OHn?BioR5P;%(1M<s!p&Z6;B5XWg9lE1-Q
zDM&^b&Kvncz&@4Mz(jM^Z(|`O7LMxydGKgw3s1 at 4m{v;5DR4##64In=#pY=He#3i!
zB!cVePjOfSdM4OTlktiIVdaaZFDhm1f;h?!4>b}0?(o5-Oi5Q6h24e6BsyV=(_$zx
zkLOih8r{@$2Gz!C-G8tvGN+t}v?lcKo!V;WPV!DpXXGQ}HFn0S0@}<VH~T;lBflIp
zhEAM+>fvLZU(j+J;$ha)VCcrvR=}RAzr!v!)#ytM9XUIUMSq24!7UI|NNdd;UKnRt
z2GJP}^9NlY)sap}x_Ex0eby&tYvcy6tPVy5VO&)n&mbBxW#16X)}kul!Z^BUl=ur8
z$Nx21k!2gcdgobsR&HCdfH^Nw5>kQ|x(d2fkx&pa at Y@G0!vO;T$k3Z1xi$kb(1~o8
zE^Te%`h*V}nav*}r2xh<WxR7IXc68?+TW~0x|TH;V`%cV39Dx$ZY2H;Rp;q=YLYGD
zhe&Ky?$+0vmCu9N(dI$Yd?Dhoh^!5WGR2>Yo5LZ)BfEiwrRORm=ytW#_w*P0O2P4K
zhaVL+sh={<ovyW6qnIQASgB!nAPNlOG0{xkQ3 at ppGSMLFSWgI`$(1HxZEX!5RzZY!
zf3%hA718&Kc<et{>#N>VKv<GDR{KJQ<N+!aZG+p2uTb7Rb?o*{T-J7Xj4CNx-)Yk2
zA*_lUJxvE^L{Vp5(xa+!Q at s9e&V1u+?fdGZI&lX=x&phqpFIA}Z~)kS3J#T*K&sEN
z2J^J+&+8{yl?OeGZI~XbIcFdkula_E_AW2q at n?ctc at uwTC;THz`cB!BdQlS$zEUHk
zcHEv92$05-unhN|*-)FS`eH@<xvRv(&7<u<w>t;%{h`2H{xJ%kO0F?Rtl1qRJbvLq
zB3WE2F*L1_&<C*hb|&5TFa?)%-jCoI6L-7&^JVWq%3F_DVR4S;nPG3TGZE((FL><B
z{QD8OXRq=&0e6b_chYE7nu7dqle=5&?s at iR%}fk1Uredf?$4dJ^c=?s at t&9e1ic}z
z at 8ejIX10vlZ!1^Ka(P~PWh(`NVP3bi9_-iV{%XZ7E=k&mFa7or+pEk#JD6wkSUHDO
zrR}_de}p2nPjVg5&fz;-OCBCUwV(LA`Xd|}(mTy>t|WHx?jgV)1Jm7sgc}<ZFl%$)
zYh at 4DOoONyvMdHpcgObHujQTJFTVNfe;CpKQ{2J9#`wP-(NolI?6z2;e|Gd7c29sE
zb4}h|26?MAIE~dC2_?b|F5 at Y9cSXu(dDVML*K6 at 86n&$VoFU+)kVzE1J;Za=LGQ>^
zE!rfR&dnHgP{Py#N?JZqU~2q)Nz(0rqq7iBFE`b8dm;`~AilWAhA&*%crRQ#KPI{S
z<VS0)SFtEc(0p2VgcYv7y`OU->~?b&_nH|y=r3i`Ps;BWo_AY&yE at vgK}QX)Miagy
zX>eZE$}mZN;l+wASE~l6yoUTLwgVX%$GePN4itjY#1(Jzt&AOvb^IWNl`ml<<c1n(
z;_OqVs4lB(Uc0(Wn{Nt;1LwU+S-1-C6fXk&m$-25hP*h#O at bm*k;=<Q!JDVccTzXu
z1gO8BNn;gnSH}65H5Usw`kAp1K0K(;T2$5(^!D;wwo<AK>QN9lP3#fk{#x~2&8dg9
zbhTN%g$Hyiqr}8kT+i62dsXbrtVwGy$F40cF3P`Yu3h%4<1Oi~R`_7bK9iwAo(tNo
zWDt`L>(|X**jGs&0k at JFwUQO&4Wm=Jq6zP9KQGJq^_Z<l1P|5Y^_!Y5>xT-uln@}S
z$UDfs7$kP%EQ~?$3%W$C^rv7tU$GDPAMQ5T%t=d3nF{K1ntOV<Vea at 437<^j=X^YQ
zfJ}~w&=apyEB9-669~0AkA)VWML6E(kvt06k{DcBAJD at 6)$;Q1>QJ_kU|?%COAX{9
zYJJ5 at WQ-+G*SyYpDJm#GsI58Q<T$3KqouV^_PAYOC(JzW3$%9%&R{-&MV?4*+)f^N
zgcgbo?U8mFN%f6CQ8IGcC@>0Evw(yONKkWLMv|!lyEE~F1c<wCIjEQM(!L5RBoNfX
z?GG$ju2*`E?Oo+?dEdo^&PKQ0sOMHSEYw<^O3wEV>Msfv))FTHD+J*e%!mzzP{Ta@
zD_ at MBaNDd!=fRJjvewq(j%;Wt8l4v*C9}jG1Ev7gS`?DbfrsZDPzjez^- at vCjSe+8
ztc!tq>+m8B?H?5Y0Wxri2&;)E at V29rDWI6`&|<#=-4eW4il63f?jQC8k1&q8$Vfrx
zuN%VJVF0+Yolb`2rZt}POmtHPNUW~B?R+?7m=S19%6qJaS|fZkN&bhSmp*}sZ*n~*
z0Wat~X|7Y(4xheLNh^uMPw#X=X}MfmQn5)6%sifnpA{XDz(28igS}1#3%pZF$Jt&$
zXc0W5^`ogJ!iXZ0mu7P0{x8c=Ws1#T^OU(lBG0Qa7aIgOM82p4z-TlC(c+#lPkX+>
zL+vADbPjUK#tyO|-R1!-U4vk=3t+gibT-jLoj(YB>U<DM7UT(GI?{sxg5X~q!f<Jz
zm*%7~fVf6r0J#oc;bh@<H)N5vn4#UoQJl;}^ydk=X`k{<8u}95c+qh(8V5QzsRex}
z0>R6Jr9SOsWzh4nQpYThNE~ez^;I7h>9O9#1tiACu-!qF8zWuHZAJFlZFIG?KW&{o
zb!@Kh-&H5#d}tY)A+CCmwEI#7c{o1rFMinFtF#aEnt+?;Vv9eXB8x9K)@8K~fFuP-
zDfQmvLjbWch~R%=f2&S02vLMA+SRu6VXi}N3Ip}8T5r*-aejPbsw$XAY?Pj_0MG*I
zgMkj2E8c~hgS(4{E}Bsa7GH*xDk*)relS072y)6oP!=daj1?ikWC_p%1<{WgA8q@<
zKK$Lw43x`TE*SKPjra$JqE76&T`&ba<d8*91EAzmxU!auYA)EHU>@<aOjh>WtZq>S
zqy at 8*U*^|>%tB!ZeaPCwLE3yrr9yiE1NCs}*3r|jcGzQ5=%wE76JO%cCZ`?o at FeN&
z=#pkHguuyy9?5IYX%`c%OwUY~3XUqEaMwFe3$M}b-}5Ub5Db*Q5#J<Srwp~c7O~^`
z!olgZYN2McwLSV&njv at vhkSFN+g#aE-9%U2MBr5Jp(`G^@r1C$3(O61I(n4E$l(w>
zHB<5|Qfdr(Mq_Gn0cI!H(7_nGobw3M-w1tej8We+(s>AVL&w;qPJssKApJGzg*?wD
zmhU09A5!zWrmxN~3vnWVA!#^>A at dgz^r)HJ^CotnZc=z2Sf`L9TnPF(dCw6E3J+|p
z<>`y`D={F<I0gFxR6USon0x>q$zpWy#%|hqBYzxH+sGQ7$CMwcX4 at Nip*}(boH{Xg
zyy#qF23%tPxWv?Isi0X=RFyBRaq+FMfQa&Gvgq484MBi1Y_PKOpKD1yqI8q|HKr7u
z&kIFD4sEv3ihzElVFyb&JO#kDFC^s*0+mMG;j;X;Ct625lLeV(cCu>*MA}RXuCci_
zrH8&l0gk(sIvL at 0FHj0hW_M~XEAH=Z#*Z5H6hsY9Cbcx8PBqZ6m|WK#5<XBFp<x-J
z;e6dd%YXsSUzjC36hb9}<M`_$yDGJu0W9a4#@4F<l6%UbuqEV$VD7h!S6z$SOksl{
zS#P at r38aixSy2?3;HlhhO?eR3ynK at q(InQv30odEf{;=-Zb$6e`#lT_SE>lX*i5Ba
zly^CCPC)%7sWW{JmD=A*f1G>f*Aq}sI7{AQ+~;p<9w9 at S?PlP!b=9Z*oPA_{<a1-K
zPiz)9o6U(;5S3tBydb!B;lW|zHi@<s(>wVCPG-@)`tKQl^*_aQZ2$Ly<NqAfb!%SQ
zZHdDE=Jpyo<herK3O_E0U;oujcyi<qVm<v#1_|h*+O%|4i^Z+a8T`H_3B&HLiotP4
zK(7;hBn&%>=ToFYL--mGQG!Y{PcUy?yUG*kY3<OIKb)?eC7#t99D3G2;hW9l at w2!V
z6eWyNY-jJ)R!4~-m+1VSX^m=~G=Bd1+MU(ScEi#z31Rt&P#(MjFGgyPmnFA=NgPos
zQx|><Rlc^gG3x#*+1kB&=v>z1YV>ZGd~V>e&Mf3!8e2~OHLqW(pG)Q7>zy$uSecY*
zjbfdgv<2r&-QBKQq0~6Z3gv9LsMtOYLwRChp`oC&DC?i`%AJKC5&}bxmoo;6b_aW5
z%YvK6E}}%Jj~!$VP(rmr(K6WkvYHdDINF1zluhgH`JrR+{rpC=?20O;X)I;eu8t^a
zz^}1zx0m(qp0U4roM^o9Y5?YONYP^TaLKT7FKeH1PYX<29qw5(L4iv%*bqAT;0Z|j
zqOASe=VwxkSfb=q8O>6!j$sf`>UI?0VN-z(V|IIT)lgj`*8o;wog=Dd5Yo9UIW62i
z{DsmTq@=mv__j!aG!y&CQpp=Q5%$@jL>RRd{pW<ed$Nqe<2YhVnQ_KEaE5JG)%i$N
zX08^UzfjNd`Ie8yjVp=eb;}O|v3X1{xy|5ECV%q;U$e({@Uc<9f}U at hP3HD@cIu7@
zYX?oHReHMcq?=;a!QMIrH^JGZ>@!?C)oebKioTi_X7xmBW+KNxPnWG5O!Iv7R}vUW
zb_<vj>{S2QX-dq#AnN+Ctz?4g)73udAX6Ps4J4ySORObH+8By9=EYhO1y?@xfMqQ&
zi+o-LBBQ<a+ol;|7^PPA at dFsE@Xpag><9QN?5P>bExhfJLDWVcE;ldlI-`Y$s891L
z6m#h4VC)xc>O%WH%Jt|i0=oC}!7$XuzMI)}HZgzn^fRwrB#bs^mS)SeaHH&86XKl<
znv80EKZ$o`-D{uIxZ-1E$K_?i_WhF3y8LMi0MR@%sI5&%;K0xS!`L}?XBKViHg8n1
zZB>jnwylb7+qP}nM#Z*m+h#=-C%4XR_uJmBoxA?SYI8ng_NR}N%STgn1Ye at dTDHZ1
z1!W(8yt9*j*f)(e`YJlviYSI+a~OUxbJQv%&f+ at c%Was5J8?R_fZv$wH7_X93+ogi
z#2Nm`B~9zIVVr6~^$e+TVlaEup#-_Ax<p!&{QYNL(*{$D^tw0mm`$v`E|4YJV4X#%
zOXUmwl<rEo3hXAww_rW-(qR_v^E4atcf4E8+qoasbAB{zKd;)e$4sttenYw!gqn%n
zEN!*-CznVp8eb*MHBW`;Kyw`Q_juas!B)z0)xU2>m at cevW=UY0P(r=|msIietz1#D
zDE#*}MjcciHq)w#8>60iv+Uul(DR_{;+F#6P8&c9LE=jb!;6R~D=;)O>Y#F%>~ay<
z*@dvTqxv2?q35oZ!bXi at 6kr5G9TI@{-~vW=yW&xFa05?ZH&+KMa@!0|brC@;ws(1E
zen4%!gyag;1SekxY=2xWM(}}t88jugKnAC)QP3%hDGt*1TRZxyFbeq*P!*3vRLUfn
zq|7^L;LudOixeerCn?^g-d^G3cOY!EEIc?;OY}iNz}Px&3EEotq7mkMr4wSe>KiMO
zWm-qYf!L;yQ$8o*V)S1F<aP)`6 at kXTG50`m(o|vbwLAyV_CF`i at t1{te+=M);EUBy
z;h+8>g=Scb(+PBd(3k66HPZB9E%Q$Ij8_8l+|?#m*R2G3YbP!9u0ikwv$;r<DPmBd
z10NH#g!T^SBk}Xm&(04>o49ME8AxlR at sAA-!$5NJ{E41a9v^+7ayxmda5J6v6<}-E
z`UFz!W`SS0_9kajr(3lNB<IZ$e51A5E=fpmG5A~J_BsLPhXG~cDz5?c3@?;O+iOjc
z3Rl(ZPNgV;H|M-%U%t7_fy_d&ZYZ<Z1~Wvxt*1Qw&|I^eJpH7(4`{|gryp$n#72ab
zoaYulq-1l+_-u^)8Oo6JVhse1^GNsvri4n~Sd39Avb`%`t|YvNx8QN3Zq3i;M<PT<
zjcQ*d&KL(MKbPmgu(&Ve3CqAxh-f*y at +<|s(&-1P<T_1c7(uxy#q=>DK`rZxZo1FH
z88V86MSMlf?70;W1$JIolydqdYMJ215tZ2>r!5LURp|}mG^V2l#gd>RMhl#^nVO!(
zeMBhvL~7b8AuxXl at 8Ns6!sHR)BrSokJK1xPu%^M~Ty at PE8v;gxB!@vho^}(kFC;S7
z>_U$5V8or6g2<{7ohX_Af{?LHVLgx+gJo0KjrU>6;TS{`q18yeqWq9~N(Y6gM4=*a
zIao448tD}VSt3U!T2BHO*pi-j#0A at Xi7x_iUxJVnh=;D at a1_+NQMtK9*$)&b>bXmi
zw^sBpZ?v$3sf^&LbFK!ReS@^wtI4e8q9a8~dMp`qf$O_yy&_#T;eBd>flGPZ0)c|3
zeVfof2u)G+eo#lo;c%+ih!?uLa0)&=h7 at Vd0frs3lY4n>8}wi)CvDW5wLKrFrrwH+
zy1?jV7r-o(+k)NiM1fR=3 at wRpw!Jf6Kh^RWpNitsYnQK^sUP8E`qoMp`*8QTL6CgY
zPw~(qArg6&S1j?*q++2YL`!#mKV%1$WLj_uEIhS7+(hR-^G`4T%L==41Mk=vl(<Dy
z-y(Lie)(p%?VVXnkDd{=>2>#zA=~E$(fGb4Ac{@g!*JH0f3myzv7AW`!$wKRwjF$C
zwI?YLQe#Zl!uC)10?CKEt_=rw`K|M#eE94uzs~p;;L@|k6rmW^25+{F7z_`t!uiOP
zZr{f*6KXuhzfYB}cQiv&jQ?a7I3uP?v6^39)G~E>7=@W>ou*yW(^i((_ou9`?^kMV
z1;>Ob;On;9EKiTSJG5*zap%PtK(C!2&nnM9VsC%S){nd5Uvs|7GcKDok*fv`uy(m)
z$kL{*|DDB{d{JAHL$@@Cdl_7<qTX!bYyVpXb3>2w?Ly*RHc(^jrt-GoB756;aH#+2
z;=7p~_LOyX(m{`C*2os`bL8oVIWqm26h+`yFdwg+=5oXA at F5k?O7;qkG3FgoWYO>D
zoDX6MkxfK+NII?OEz|3Ivx$~rAO1u!3<YA$hetys8K2tpCc+`O&kGo$CZ&k}%1U9f
z2$)>E{h8xqIpF9<s}P%)N;&G^E;q;zF8TX0{hQRnks1Iqz8EjtkJ98*xb{m`p9SYc
zwo<^(5wSpJfUrtA5j5up404wPFBF$4tbzm#I4JvX62UVu_Az>1{9P^fAfA9CA9~e_
z_hZ62aYu;$&fG at v{m3<2w0ub+(7&q=N^zpT&J5?EF75%6ftn9|nWWxjW|y6~lG0!s
z+!4eoFRI~*Xqu@~P-M}Q4Ex=VCs>cJV}p}(QaOFcV++6HiEBN at 61EgFw&6~IO|!=`
z9USpEZzC|{ymvy7AE0#!hROrl6XT%&S1SXB+*iKsD)80XwCn?uLw8YJhmcDh1(WXv
zLKSM6>u<L(uIX1c=Kx_onY}V%j}-(DX5l2GDgXmuFCA7x6%gDZY9JWD^UmNRf$s;0
zWEYw3TPIlbMF9Z1Ql4k*3;N6iKGO^uLK%S$&J}_k&Kw%`PLfx(huwjLkF{Lzm7sjg
zr{~E@?}{LR3XbqI&*{9ed}WRp*yYXVit3nc*IJ!i&6i=`FnT4A#9Sedw~{hO>{)(;
zW(Cj({paPFo%KI?AZAX+|0j_6-!I44c<Zs7V|Uwn1>&;$E^mB+qW&@UxYqvQS<L}t
ze{jGw52h&NMd(Cd-`<p6lF%eu5j1~G5`cmc5d6NVyy)nRvKHDW%);VhR7IkhGVbve
z{9L?uK%w`2eSlSs%j)mbFgwcI>3aE$laj^y8Oz1y at h}JRWXkBl?emmuQ`Oa#1x;Lf
zf#}9ewfv}3zf*HBx4$3frYiHC<<U&b*4c^89ywXj>GgcVz~Jk?`0IBYiBu%)owZn=
zpel|q8d$zIYNc`Ciw$OhTlkL;896M{UsSRDS(23>x8^Uyp6~KIc9Y(|dfWR;fAoF7
z)78E-K=LizbW8R5tg?2$rO<z$I&6E8?Kk8YBWzWGj;?6wC*{oG5`3<p%={)FNg~A(
zFWl`ZN`mNmn+ygWvAmy0)RqHRSm|4~ynh?swOV;RIf+FcG09_9k&Ql&Z4!Z9*MFrF
zt0CV?N2sqRZ)wF~p24ff0gra at pB^~NBk(sqEnQZM#dOs?S*PZiV2k==-abQ+mR0?M
zmuuJ90HZcM7*K_OVkKFO3>N)9)>jguw=A67z^(uM<AdS0;IOpQT8A{$svG>(Wbqh3
z3nMFy=t4#|jg|fd<~!A+nSuSa&{s!U4#+i{mqM7<+2t!^HQ^eLXFo(qA~J|WP-jVm
z%rDmG+0Qi9MtY)k{32Yh?M>ImL)|}>7-XG`qQA487(V1ERqTvvL&><LL(!;>0!tHB
zXG|&>gMd()5^6rZAXCL*-gqUa^+{h!BZD%n8EZX>wWuGHVyW at opzw<IATZvoU7Rlj
z1mfpIU;^c!PJde^T9gnWq_gCDOh#p_X8yvKDT~PXMa5CSL`EzHBiyDBR at k%ce$hCh
zWDa57<a78M)r!>F7p&jl5793lAPY4c71sa0F)&cHkr*n-D1AW|p2uS*nPGkRT{l(e
z4|n$aU5f6_pDf(0v!VaRZSEg&;_thP`)JO=)@ob_`9 at QJA$tR*yCf`uWx#nrR%~lc
zr4B%nONWJw0xBaTK&m{PKb!Bn>0h`_j!tv!Zb7q&c0~uijE)O`pk`zbRB9fy!2)-A
zj=8m|Ey at tX>Y(i!@r4jqvp$U4UhK=3ShTJmJmpoEg4F8fqGtC^+ci`ttsxN1kqM?Y
zq2LV)PB&}szMuK-$0l*GaK3bM5rbHPXG8glL4FA%xzH<_^Nllq)a%$lE;8=8p5dU@
zC<g|HH}lvgHSBXhg?JFVF1dJr>!oIiW7QZ_;Du!M!bACliHR7f-=&8kyGqcD<Cb2D
zaMtl@=MlGJ^IpQm#dCviT<`-T3O(QA%Dhqktlw%%G4(3v4a%x<?fpGOF^pk at IU5ny
zf04CPOUts%@#&~FOoXDzNA%Q8R<Jk6-(-AO+7mGAL+J=u28{{Hhj9$WhZG(Fa0)2Z
zkB*JWd>&lQXG at 1Va_e1VdY~ajv^4i0cIq^PD32`?8ikvS(XN`E1?rEqXul!&tK_x5
z-hj;iT_6G!X+_<A{Su6S2JyeMgX7{NEI=q&$mSVFI&QJ5;_(X<BV}$_t`xZOj+O;+
z1cUW)1qJF>>+pbFxkv<3Y61_sO*D^s70KDlQT2CQOcc;lFni*&-JQS~;?4aOmQAH$
zkz|0u&DMo1L3G~T+6-zM?QhYHG?v+}ysr=-y1s+Pzk|WucYf at lZNC<2yXp%?a}_HK
z-Wny+L#JFdiGcS2w_E9|255>9xnl!Y<1gw~987-#AyH~l%V4{X<3&LDKcbF>;Q+9<
zi_H<sZcpB$#@eW+8_B4P$cP-2b0p-0Qb^Y$W56K&(U at d|KqeWV+%U4%j at U7q`%u*W
z#)948RTZ0c;<1Igbl!@qiRk`(@~VN9Q$}6u$hUFF#ppY`Bj+9lL3-)D=w;Mb!0z|Q
z;-vkuVHo>EHRRlUFo-Sw9;<76F6juPNx1xPh1bj3+8e#^KPO*#&)<<X`NT~+*Dh=f
zxKF`N;`f5C?nBJn`=oTk^E4gIxs?Pwm(j5tm4LATt&vJZ1D+vMyIws3j>3M~=?Br`
zw}%@O)Fux-ShXoQDkQW6r^hJFgt=%w;Xx$x(RGrj4CwZGm33D4Xko|h$tv|aJN=(I
zI2o#hG?0w;LaEY!Hd3K%YbMP5ocoGb1`FYXX3SVj>SIhTFp!*f6H6TAK>_8Z`4PDG
z at 6j<O=TMS&)t_q{Q1s#Uw9xo}yl!PZos+Xfja4g%Lw*hN0wx0J9jisGG3GrL<w#;z
zq3|(y)OSyMXB4c-Y!ubq#ykdWc)TDYZrZAXivKqLI#nqrc$CMu#G<STS2>{poC_P~
z_TmE)_N*g6O_3exahRCr(J=P~*_FaJNhRC-^R+7#oR<oe(@f$f<#(%3 at 53RUA>1wp
zE{$-_JNpYM^{8*uD6(7#_6h{AOc;`K{cFh(1}BqOo_u?w$FVtR9QFo9L!MC~F^Uyv
z<ax#;0Oe}f>R~(E?&^w{;E=B7(SLEH3j%jj7E>4$`Bzwzgtebk=HV4t9Dvpq(Rq-M
z3w5&kg%B3HaW)Q{KcYkpL=rV}Ao+Pcf7dYjAVpURLZ%8xy3Ur9m2ZcZDWLd=@XOSa
zRY^O8^5~g?QN>8<hsaSFBqGvPUooFcaP&bpl22FjHDPr#jj9M`FG7hyBn<pqjri=%
zlcVUv*PK~61MgGR+!=6Ks;ryg69sh)s*jTrf at w{*m-s23m?#E-c+l#hIztkA*EEQW
zZG)s1EtehSEf9D*Gr!R}PQlxw)Zo9D-cQX{fS^icSTHB at AAp~D#Bo;yG?U`FXZRx_
z^e1B!K}#kh(GU$56A9Z-g}*7|-TB3XPLNfjMxs`YPWGuxnDu!@9epuGCO{ykv8fnL
z2w_0MkoI|VnAR%uNzs}RU=W<O2^v@`T<zB0V at W{w#BDZt3Ir?;knhL%TW#gu+>zHn
zgYwj>T9~3Inp=t2j<FUHDT$mt`kFVpv+)PNFS#R-hmhWT?JRAx at Pd}K87-1}8elO7
z{*0Z?enzBv2{wym38v%a8-5ZJ4rN%Zj-5j~wBYu1sc}G7^^e*+*BSbFeH0Q7hO_=v
zh^hIell$oDV2?a_6^{JN1%(>8xKMY*ORekjoc=>4a%a5CID~sJNj at lqJ2Z2-<V0d0
z!S|<ZrUt$k0VYhKluFwmGxNEQlJ*bc#}ZnV>=RmtfzcLaJvGK-BurRkGYAVdUL7Wt
zAFB=(Fpk at 8<offBCTM7>edlD4`st9gR|!s<m=$<BjNp~A46(&axBDgeVv0*)e60Ue
zRNC%jNiq}tWrZp|5 at hZuCP&$I`w0o)6EDZFisVp1Scevh<OV+HH!EJRdWOEp*U7R%
z2(2hgrPAXHX36qF)fo?$#NZTXQK)-y%R+<3gx^KWLc<GC09Du=yvZi3sF3K=+STvB
z-V>v&2AL%ad^I2%uRK32e4|_<0gb`Ggiu at 4edB(f2ZL@%qanfC&_jQfgQInOr1_KL
zKyhX(TbM4#<C?Q;qSQ?MAoguNza&GPEen)E%9Q}~!Uwc2_JyUtGZUAz=i=CM0!>+1
zSE&hy8=s)(FhLW!;3!GW!a^%4`jpPelBlKI at aaI*UirkLC2!scCQhpc1v>guWR=1I
z>d6hbO9pR|m{#l%uxE8dN&a}T(HKS*l1kwTi5#iHFvR%sj6{bLj7uow3x9rL#hzx2
zNDZijiO)N#FT44E^K-xTI=d#vaB*`bB^t4lsY*?;&=5XvLne$Ra=L_0M at np1B?$IC
zop|YjO4H2R)s$&`qGXx)RE+#`6LnYKuD1wMZpB8oZN+v?SKcS at A<Gulo at 7u*@i7;(
z0&aU4Kweeiq%e4B1XIX9?1F0n`VSFc60xHVy>S{s3O^$SLtw2w#1Ylab$%8cU!AJt
zUSEu66;2G!UfSZeO(22-+%%f<X1I2FM8j;9&W;W7H6X!{k+O_si%9zjz4HK!R0F%u
zx%qDfzkzMqGDgxWG0w81B)ckgsy%kYPLaZfH%9_&+ at 3#?*YUrO7gc&TLn!)!Wt~#O
z(k`uIt-UpEFMbf-wNPR{Z96LP0*qoFuYvaxo!DxSQ?{)kwVgWrlw3jm at j5}oDZD_i
zge)_YuR6VE4mCg;j+u7Ib&o|;;mVIGUOo}eK%;|bJs6-_a}8>ZGsentx2C;<9J1}b
z+<KShEAb02l6rzpnHkOCMlIo~3)(x$pbaJLY)2?^S at _((p8l3Hug7v=XPLFuGrFy1
zIif)dIrALFC1lwyl`Dy~W-Gr`<j0oE+TY-valfO%S4bA`r#lPI(bv2Ixs#05UY at P}
zXW@@s9jxfzrpGnDYaJlo4?U)MJy4TSh<eMwsHcCX%E>nyWL?w!zceF68jn|wtAbM7
z5eyD9CrO|^cJqG9`B1kFzT(Bb7J`{#Oq0%eOc70Bc;`_10^~|03T;z&V-Ue5Q~oYa
zY9nbfuj=Rq`>szFM9`03&V>`NOY8?NHUOfeW^A$Zt_K{G*k%X;NONv(oT~;OoE014
zvnjLgEMBJdXlaS{oU=>y`eRIrqq58+tOB7|dUu)eTB}4QK3Wm=ja)7 at f4!N#%(9GS
z!Dwq0zZKjxM@|l`f at AnM<k%*%EeYuqqL~U7O_;jqHg7o(5zh1bQgDv|p;ADe&@-7Y
zzi21fB$0vbp}QaUfmiwf5=7(A43z_My)B3+#Fn_XBBDF`b~^>3EsloJ?R>z21maLk
za=exhzFbl88Vt=6UGg7i%-})hI3{?y8DvO{Gm|Foq>;R0h}klYs-!uRIxgAmHJA3e
zu3*~fgZZu=lx+KFb&iKq(TpxfT)?Gid at B%WxRSfUVyMo3`0pH2XIJ`^wDW4gc&09P
zVn4g%SU7PYr4g=Qoi3?odRZsww=*#Lg at bMNNmWQz+&0(YiB08bo$VKj!sAy)B_{+8
zjud=vmro`MKG+Yj$r3C9V0 at DAI6#hup`c2fsx0Q$amn>z=6Nto=T at xh<_nZG)55qT
zPu0SUWm&s0OU#Y|mrw5ew*3Js4Y63F!eUJxfc~rBcK?qPYRl+NTP7pah2RY8RKz+o
z0S{jLklHy0*s_%0l0!4c0=g4!>u-lBR at p#={PK1OU%pD3P at hfkTZ7O^@;%I#i;jWW
z2(}ixuvv)tz2HC0U{r?Yk7n9>NJ3 at l%p!B!REv;v;jexmzYgx4{xh6&{5P!+D?9N2
zmtI-c+D_VRLH2w8m(Fzz3tq_QUEh%879|O?ExZ@`IC60{3vbruBbca$UBBM04EyB-
zDaOUUN|T~RQThzs>eoIEFeyy&zEB%QW)hX_m47xKAHv at Bsy;J&zC7tMh at 7?h$42SS
z658s09E%&71~QN4q;J=}7u%{ewmzsKuG{9RvBQ=uZGAkM7Bpw{QWLsmeW3b$+>xt1
z47#>6OxXA|#zUuh(!Wf1ZszHIJhbF&N(@G;Vlr(!@(up}g<=Yhl#=RD6mi_ at 6T3r9
z2%MS;)}O(O7{tiL<&RwqH|*@~r#g-6Jl4s%z5Qx?4;s<f$(!LcZ8sPD9Dzq%(#h*E
zRh%qcJVa1VoJot};%j1pNn;YPrXg17YrTE3hOptE<*@(9Bl^saW*Cyo?pZK<Jsj)`
z!UtjhRFesK0b{)i0+;MHo2XuZw^M14x?@mGm0ET7l&tCs9^O7If=u}0NEPE64 at O@M
zKcsbT*UWaL_!Uu9lPp#eO2r<-LhV8u0#K7CWzfJoW73i^OK&l4K|<k*Y)ma<b!rsx
zpI<YJAa62~vXqmuN3XW*jFhoZA~$9lFOD$YgMf6>)xR8Cb{9vC24izJ5(Hx)?VmJ1
z4fH%V);$^A4zoKk;V{eWwCIAHLy1Z85oHLfH~u0%u|!*}$Pyz at 1OCAMV9J<+s5zN5
zR<xLC`$dr;89=iV(WYB!g@<5k=8-d4Pi0M-By->ppW4;8E5k&=nZ1+zop)pE)B2@)
zGeVw;ZA;<6E+IXz^0IMbivPgU_rNm1u?D!eH0W8Itu~?;W6G5wiIJjHKf{!8iU|Yo
zR6L~+jKHi_c;X;}H4$-X9~hOUv%aK%74I%ghM#xIKzxh02Sx-dq;cT5?95AG6$(mK
z36g?<<u!AL0O)_0l{9s;==-*pRgiQhQP2W5l*Wp>O1DGqW%jH|?#=(~(92RJh(9D-
z5ZCDBS#8CjWIE7<F+Nv!Duil~mN~G)$YsBwxG at h`_isN^e0JQJ67O}TS~5Pe+uie4
zs!u;7a`KINq?qBpHBDB|sn>M6T<v4PA^mk{Mkqy(1;m<j{jR!a6qCXsH`?=+m|#kK
zYysd2pJ1C0HR at bh9W=X7-9*`_`Vhbn%gxZSRO^)W&X~uMx7zZ&J8Gy_8G6YvUrh$k
zqn{nsJx%uyLExodj}3jMzf#9l4trc;)qWwHb^nS!SqS}E_lk+~HeR>Fe?(}fUs)}5
z!&3Jif1OqK=e*mD+;6Pz at K)5L{LIS=#1+^GI at s6}g)R;-Pu`Hha?{zXj9 at FL{EmU`
zo>qG-2-nP#O_xn%CI>yZAhY3CnSV-^SwEU`M1*FoHhmP<t)Oiw|CyKdBt<Je at yH#a
zsvGc>J|9px<Uo&&RV^LRmYy^{Fc}eZ+J~64?QRVCtwGzA_ at E_%`ExqUPjjbF<Ar#0
z=kzgzBP?tW%pb6!_t^sIlx*w`SNr~1lxLDuIKoz2F-ZD_D^m^QtLMM#W(dyw09q>i
zR1B<~F>3jdKzUrl%nR&zGioW?3!j7hjeJ~w&l)260o5V&jb%vbD(E1DxqR!0(yVd$
zaNr{zKgG|7RxESCxw-U{H(+514?QQb(CRIE1C9>>>W>}Lt&_qKmD%t*rixAW$I74Z
zuf(j~Nus7b`bBTZPJya_<U@=GR&toVrmFALpUqqL5&!0ZarE_fS%T~zv=I_$9C6^T
zQc%AL(oihyOLUq66~-<)TXx;JL#pZ?$vE&H!uN~MK<ufdmZboK4pX_x9W?<8Z(A~|
zmd?Q*o7u)uE?WJZ(?jYo)jf))ENtjaysPtbYVk#{`AdQ-$LR3TxpNmJ7-kvNS-V|#
z=z$AO;iLDF>sGW_k3*9J);Ei&3odYxRoB<!x*zkq5DsqZK0yD&i`b@#L)St4MYCet
zH~Nhk<cu(IuX at oy4-gm}_0gx%)ZIx#R-RVtMjN!PzP2W(k6D>GiF|TmNGpygVQ at cF
z-ys0ULvdS!TA6q(qxO$Txgd at pfX^8{(%|rc_68zI*}jIM=3X<yc$Y4_G~;8tR6W9k
z4<YFfMsZh#ht7Y`dJWidHz`?b=5xE^${FN*N!$v2bP(<kCuOW~5F&qQ=WaQ`>Gmyt
z-dknE<N>{TATuqF;vwOPyLAy>@dn*+Rt&s7i3Oq*cGr*y_5uIqJy_m-=25p4^2vr9
zkxu?7WN5$XOz1$}ihgaZIfbK8H9L|VG*6OHK(+rfXaRtk$cA5f-ZRwEW$M>*+aE2+
z)*x{5V$oX#zXP102m$8Rb0pRRCF5Np_WFQs8{u&FirH&~rS>Tv<9Ixkb)L6FP`+xI
zJ&j|Py;qY*5s-Ht$*Db&xtj$AnUF?!xi_dR^1l*{T{e at vyhnrxqUy^)pEF&y!Ac$&
z)P4VrFe~B}kypV+yEnSVY4Shz<<M*S)S2Tj@{Y|gj641m`=)1!je})|O3?<Ygs;E@
z;*>s;6Xmhp=CMftbF4W)0DRED#2Z3i7 at 7$3`$$E0jg%2&I{W6vPekNUfFq<18ES_O
z=%{1M_ES)D4=RKNsw at sf7hTNQ+^`907!ujYKYMf93 at 2Qq&`cEiLXZL#?c>>=M<4M!
z+yRbglbRcd5C at i)HArpuSD!1KCsSi5*4 at uYK->x>{slM2WUoZz`)q=suoFW^ory;~
zC}=Qw<Xjz+tBo at I_e78yF=SKciIm*XG9s*q+_J9#G}1k~J$bXcX?37*DUtweY>h?y
zeQwJP2QnOpO`*om?9RK6QT>%=CLDIS%LW2Wh*vg~H{)z@{L;G0BndFCWL;)n3wr3}
zdG|PIVHbxkH4ro<?&(TOu>AEHYvN2273e)4_L#rQi39#s&CepSk33Tn;LK8dtz?Z<
z^Kl0?u{VD(`UYG(Hiv%W&QQw8f*YXQn+dvt at 84&z<NAvt#08%&ABXr;(Qd%xQ&Auf
z9>@Z@(MWCQsM^4oV{Q~5A=NH#H2%U-L(n5DJkCRdLQmc9yohK&{(&0XG52cnJ%l68
z_8B!BjrQ-WDwSF8EbkC~1kQklYO9P9RM3wvlh0O+iE{iE$<?0poxjf%X$LJ&seDv!
zm}~=J1g;*-dkp1&??}Kf;O}i78Dy^_ez;=OyIY);XDK83K5!Bu?p{~GVTKu{$)IIZ
zCc-jlul at V$eMttFDYz!=0b0rXfnh~(X%yerOxg>Msp?)9u~n;|5wvQHRm?F));A*g
z93ZEeeID|WKaR-oc$)49ALNK5*6k?vi^>v^6fjWs{Fvs^i+!3Iism6>2h>4xP7M9+
z6E!$A4WR}jZyw|+GffT_U8(RIa{VCABcjHLr3n*fc85(RL6lt<t=-<K*$}HU&Spra
zMU<^A%Eia6)VpRXPB)h$pn>={Bkg(ev61t`ogdf4CqAmDY4-TkYWG;kIW&{7brd|@
zG772UR#MYHO<pBUOBz1(7wj}s5xGBCdB89WN)XF5C+Iu&S|wOxaLQu?Kbha;TWj7Z
zx#37A=#>_kj}!c^O1%3Ac$Nzwo at SOR<md=C*V~#bZF*zl{N at gVe0oSu7?lrr2w?Vv
zvz`n8y7S5P-6&}1O1hKsl24Bn@?*UJ$fpxYM<uv{g}Kx6yq<&V;niry6zhweke&;_
zST?gsd|8r_sgKm4n5AA3fVx}&PnOt39qj*gRzg*Kz+9Hc)MfgJ+6pv>!hn=xI;$$y
zGZ}0a>{Cb&!b)crOGY{UP?uLgNopo`fu60``XQAO|6Kox3)&V_mufTgQC5yFL7(Az
zP_091ZNY2aJ^Dr^D^}{i7#3_)Ul^*=GONorb-GkCaXDxzM;M_6HZ(zvXcTD^EnZ7z
zKL&={RURGp5M at 6s-~h7t1fY3}ECZ^1QEA<rdu0L2)Mjx;JHEc;U%fD1LaP+tjgOE=
zhWJ4oaj*iMKvooI^ncI&&)G4kNm>|e;rqmcEdG60VW<DDgT%5YXf7425By<wvlT+i
z);(LtLB7#$I|~ld+Nb^z3lpuVD0cX)kJBZvqM_Hwm3)07dF$%GC^MN*Ft at X{*I>n7
z#&2$ZTexRwsIX`92m=q^ig4oNmdVfaSz<G~?}BNpTIQS`@H&p>vT=Z0C-}V@`RCkk
z=TpDd8lH!BYyQO)4?o2`t)J$GX=^Wb*3W`xWb$R3vd<8Ifmdhu3a?C!#U7O!L?7M%
zHqMYi0)vhWxU<dfk<(2+_vDlG7a^T7Sxzrc!t#O7T)4GeVA8RFnR9WsU<TZ4(AU9B
z_=+f}vu}^K(K8=1|JPqg#3qcHzp}7=akZS?SE3Tux7^t7yvQl2lf|+Oe?}uvco8go
z&{9{#|L(r3#d(CW8?m9Kr)jvc7EP?GH)*mN?GzRG#y-H*F|>>11YJptkx9g6EeCVE
zHRxF}I_CP3xC|t0FoOcDbyVY)&KO>>;x_6E(xl?=<fGwToDPD`dW%b=uITDd_$b&E
z-yqlyNcp;+V~e&E=VI at OHX&nO%lk}^Aot9jj!sFB9_6ndJk#i$9-}j7c_EJ9(3B%F
zeaZ)%2{XN#DU6Low|5THW|v5d2%$bor+~8!SU6-c;YZ1txVn9C+eA{hnw{0<pl(){
zP#XaZzjL*gm7fIk*8}v2;dR?5K9By%RTf9N!e+6516y-A=9Z`?c88h6^}NfXH^3;i
za at 8FOvcaAGYtX_nr=e`(MDZQX=L+1!8R|AxY`(w?WP0rXGeL6x7xs~b<zKG+zu*7<
zyxXm16L-{- at YU067|*bIxUKp^tpJSxWjGXo=q6 at Zd&{>LDz`YDfw4u`Tw;4`YtPT8
zQoR7%yfg#niV6p$Q&3KzU71u;N$x`aLtzKwqQsHIsk3$Ui$TQvn!xt#V6(R;e#;IP
zzqK*f&-dZrSx>`@R8%!mai^<2FUhm9_toIxxPVK~+wC9IXm>?u+d8r~opych{dik`
zSEW_PzG~`Lv02)?T`5G_m~j8MjQ#udfWdC0{&z#hKTr}C-;<w7E6uC{B$IkJn3d%a
zheF{bYe(<wVBtV}Z`u2+5;+46Mhupr`+y$VB at 4Y0%QGBqrDpkLx*v7 at y@h)}WxMHl
zNpXHQPH3a0V`+NuZ}i7nlZ#W;R%jV&O>LQ$yFDfWsoP!uj*(mI-E@!H0DP at J)<ez3
zYo+DiB{TJ#o#)P)9#WXW#`X8Qo~+;X8A`{~s+HAEi5M+*gWR2$<BKdbTaxP4l=ddj
zE1YQ>>`W)lJ-5C$4BI8$w~E at dELRD5o~tsPwBt~%ub1q*N|S!y*Hw1sFl*EX0ReK$
z$S?m$+z5?Lg}9D$29?H#TBSuL#et7U;K8lFH>pj<{ccHV8W_!l<5 at Nt)O)Vk25=KC
z=~F?SnAzmBDiCcSy&4tA#1Ts^kY_Uv;gCruRvZ54dr5gZFT72&Bzv=3`4Ci|UXe#3
zgYF^xMHT7z`mOl)xD4a3jtl!q$NJanl?_>!>St$IFT{qOMR;=vCF;{;fn_GDQC?`r
zY%HWl^%UE)Cqfa$!V69lcD>y)3EVXF4)5su6^XP6#o-1-Qu8^)I~=h at n2?74R8SRc
z!fbBD4eOox?Fyj;Z#iD|#k28d at svel>j9&9r}p*L&WnQzVyG?x7mmjOdY+w4;cnrB
zAEl0a^hI<5HHcbEQ6-Z7x<!%>gH2q8U?YGh-J!zwmMR9!T at bbY9-E%gbF8*>3 at iU3
zX@}>;joYA=g7(U+N-w!MRN=p4qBNvj5OW^SiMrV5cpsgXw{A}rT#CX$BS2Z&wf4EP
znA8DWj$I;A(!F5`oir{^6&7l#M8;7}F1c=W_;5^ty#UN;<(WD#6}N({3^EzTq7$Y9
zNP6b_P~ELnpw2ZnTXV(F0`I*K8Qb}@4E at I@WI}e&pX!Jvq!4M??uOq|jV_9NB>T21
z>m`X9G{;7v;4-;U at DXiEr)r76$7$|nB3z7qhK$4PlOzRN;mW{J!?%p-tH|@u)$M&6
zs~c`s!>_?%!@g8{D7bTGV&*bkx3Lj{pCW`lmYa4HqQiB>^9_g+YA;6I>aXlY#Hr<l
z#4NQ>Mu)bSlPrSyzZt~F`M=36Qj<+#l|`>eg6w2m8EyCV`3Lm1-}pij1%0LLOo}#L
znxsZKOxiP(!*VLHXE0eht{&a|@cw%V)j>8UUt#A6C?ta?sUh at 5VfS)}WP)jIWVaKZ
zU5qjP_Un4R8Q#TC6D6fCV21aHvw)t=Zu<ih=^>YPyr<z|tK;=+nvk|ti5U~$y%(&>
zqriuBQiD<AlY~`<7(_JoV!liaz({>RO!QP-Djf+WPod77)aE!Z4bz$5(F1{#uL4c9
z=X3=~&zkZ#74e!&P#rA_yqrvC$}>?WeV}C at c03*I=<F{Z5`z21k71bMytjdo0m6b}
z@#glG7>xT9B<(=BKJs_KSTwdt9NzQPQ|yFnE7X0_DY#c+5zRrr&_-duw0cxl&;c?I
z8I)xmP13w}vn|QwgCV&UltstijVtJEv`JP- at 5ZWkkY|sWies!bmsc{|Sja0IpA5ka
zBrkIyLwizvqgT0KCp<BtWpK$l%347vDg=dBFC?`Kqh^aj7Y6;0IxkLJCo%OS?pq5G
znBRSqH6em)RQQmRbVLH#*em!Uf}Lbin84-vF7W)oB2|{Y9lgpotO2%cm|({<vpMYL
z(_<F at q{1ofo^Ww<IRNw29Oq6$`T%Q4^)f_%2t?eQi8SnWWes0X+0MDThR`F)@gfF{
zW at Ra_q+yDoEh_&Xd)S_14bI`robM-1x1Q5+0?2xMSk+AjP&>qH#tJ%|z4;@13X>5D
zKz<^np&)!^(xpH02OQp!0pcC>ChP(CTN$x<;-&Lc+->2csYskUvM)p1`Eml=P+uy3
z!T#DoQEMySCh2%5AYj0yd3TkP956V*D}qXV<v;nQea*9>yyg5S#SY;-ea}~b@=t1z
zif)b0;v&2>25o-t0u%x*hW?9=z5up{lzXVvMYkTgKZ^i=6>;ej(qT&6kzd<`>k4<m
zmqt8U*ON^;x9qVWlGpx}uh6O%TJQlO&vd8yuXza~vPp^=hqKQyvNRD22J!4JJ^PH|
z{F at hFMg6q^W-Snb^noL2<dh(nG>jl|VJ70Rrp1I?$T4s)ED?oJb;d50`RlD{0V~bG
zyXH{eRqr%VZ`&O2B at aPuM$RFAP}vdz3WOdnt>>=XHz8s81xfXRA$mX~uO}#~5LqK*
zhC>lVA|-A^wkS{igGvH~lovk;9$Vg?*K8{I4!Wm-q>wHXI67Vbs$Hd>qUu7WOotg6
z<t2kZ(hm~NSy1F>=zuZ$KFes4o^;T}uqS^JDY$@K^muP at BQVC4xOeAg<)xj~?>~fv
z+GrvLwldJU>KJ(#JL;g^64Gn;34ctr1s;|lrVO)CJ;Ic${n-TkQlHH2Lr3^rcu7+=
zBUY46fBTA!6&YaXS>V_ByP(~1EfB|n^ql6I$b%i^b(%5T{lpqjSK}wf0Idv(fQLQg
z1YOc$qGzgOzZv}0Iyi>rD~J*5(%zTjd?T^mXg(^hj4$0kL5X&jo24oVmCYV>dPv4;
zagvHr^vQ4ef<rhzXnz2)2ZgYN(Kju`wyuUSr^ZlUWA8NDR6-ZAM;DRz5VM{!7{K3_
zKZnE(OWx{tdXtSRSRqy1sWmIacf(%vc_3B;<ATO=ujJY)Ar(myPjyZu727aEK(T`g
zbn$lEZKmi at 1k?2oXHkRhBH9u=jTQs9LudQtK-zNSYSUWgjMp6PAcPmMfo1AQAcrvK
zJd>fGpFLwT7%c>XfdBSZ&`(<#aDG)PH6P-6eHq3jk(}!PLH{^0ug1%-wx2-U1oqqr
zg67pQ_j9EsB_uZlf|~8zVJa~~TMSUP;T^Nwn?32mNmA8QLemg!v%BghE+>oW>#RL)
z>;IU%Lc2Wyx}ThcOz^Kv@<`ZYrB{TMMpin<l1AIMt&qY<Sa`Tq%Jle1M2Yl)vU|vi
zGTrjbGgW^<0NRcBvaL&qK$eYyta^h%39TWo?}*QiT+7u9k<@?~8k+0g!Qlo+95^66
zNK4SKH6bce`$!xj&EN!i#QNiicyLosjwkl$sRb<NuP3LThm>+K9k4sjCc^lORbNe?
z)r^hcjJ}-UgN@)y+)pq=1Xb~edu;b7y@<E<<ZB7oqGcz}H05)SxZVpeV^D!!%D+b4
z7dn?A51M}O?=<`MFyf(F8k#(OMT`f>_n!oNf~%b)umEl_MM#kAYS|JN5MG&MJOPnL
zP<2LQj3Arz`$yBpPFEvpzuYl?$J8<|rt{3*>hSHci8u8C@*Z8ZA72a_ at Z<gOGCNFO
zXvMupuLuF~`!4G7<Jy3N;=pIL$zQ+-b8hn5D>6vdJI2FY|iT`s8kgoTKzqZ2DnI
z{LM!pg5hzbN^O4-W0bf+ZcRD(G<(=U=8mzNbK;emsEYgX(34nk at VGH9ZmKTt?lZU1
z_Snz0X(3im&few07100#w*?1~Y-0W1gEkVF7|JHh{azUfjP8>60L)G+KS4rlT|?8o
zryo;LMGYS3H((!qrOsmVLGIk#9Zz9On$z|P3O%@kI!SgLrbPVJPEcgcjT!2F-K8cO
zwp|o*@QPABe|Up#T5yNjPV5W$n^q5VH%cvkZf&{k#9j9Zkpm(fvm3VRuW)nFSEkVk
zBdRTXz<9?<W!tGhu0ZGI5S9F_808p;%I;WF0o1|Ee<hJG(7<Oeq{(&kKrtcjj%l;n
zLa)oXR;b&;&O?-t=52q}IPWlACRB++3DC5^*o#eO+MSSpnrINS$Okt<(dznS*K;T<
z<s*+P&IvbVGPB}{JlK+FER*Rx0(0C{HwHc?%HC4X$mH0R at j=9eIWWhu_C2G-QS1wW
zwXH`tbea-f!+vzn896qM5TUGIp7C62eYHqmE$I})L=<}vxQZS<Tn-eVi1q;qK@<md
zwI2r|;)MI5bfv35Yi$8+U(dilen1cDsDJVwUayINPQmxv!G+qzojBYf^!e>Ou2dt8
znK=_K_N1}vOE&Ierblzmr71#ndj)lr{@r372+=Hm=<t3Cwi#kW|85{-emYW*Uq?s;
z^?hB{_e^9L6Xc4XcWNZh!bDy|iMyESS5 at uzB?BR2LR<K`HRiZuWDC81;Ef~|uZ>9Q
zmf3zBn>$dH;kD7XP(X;EbD3bCx_bHh`?w5dY{4L>pH5&v+!!_k5(A_B<ZqHXg=~g}
z2`C-UW at D~Pl0GpR<(C<Db03cp&si_WC3(Q$3@!DVUf7%+EF6?ByzfXLymr_H)JM(F
zKmm>hZC*{hfHQ&2vnG%^G9-Vng#a>>w!WxUHj##{)ar9;_2>n;8r{xw5YTpZP3pB5
zhvftz at zD^`nxsfO%n*#9%R-e(;&x?QXrWfgSuk*|ubPH1(H^#2jVMax)trO^A`?y1
zuI07s*##iFvctMrwZ?VUd}ltMp(c#{L|v+;f%*&W9>Mg>6ZPs)<xv#~-^ewm8I;%6
zj_9=xw75)}iTzH)W<V-ICNas{qzto+h-58|Tw>&q*ptAY&%}Z7TQlh6deq1Osaukd
z`RajS!x at p^Y)Z at S;V4eL=v~WQd%WDw&*GKTO7NHuf{$BnIvh>VvT#AfNQfX+NCjVM
z6LV-xjTejv2FiI<RTvS8j}`D!YO!1Y=<=L7GD0219=Z=1)-m<l{sy_x5l+tPb`a at R
zEo`PXQ&G5_sV3?6 at sfbWMmum%5?SOLtO5LjQ&H;z)IdzfHr8I&_=3Qyy+6moj+2Eg
z`q_9GnhqI)f#^xD#IFkI-Gq!D5(j@)ym#>~^(f_~09y9Xugo*cQ<Ih>^{_x!p}X-z
zHfm;6+Ha6v-}wBjlGImuG=jE%g at Mq$;q*p?jEst5w`bo`A72Z~2ClbHuvwJ#$lk*Y
zV2MH|CV|Ui-cJgtNqdQk^YbWN>l5LPSX9BrSnDKdj3AVH#F2(Yg)m2II)heo#K8hi
z+{9TY6zh>w0|vxR!pksWq+ZfR++Xf?N at dn<BhKD&go;#>Du5pjdTOMi$7f)mAIBVv
z=+0uagzJH_AN7d4i)rF>JRQW=(j5f?4B)v4a^LkX_iYJ0AH>GDI*ho8TAhq~y--~B
zEM`&&$1x68d0NLAo)-zVqIkV at QthvsXArI~w*l)!pKV$Y;0w<NMh;g<xZfzT(>YYQ
zFiKXlgX@%Cux3R<#Ef0KaIhT9 at P6_7Z8MT(NO!IhgOUoN4LU>qf(IhtqWTkLiH00D
zRQacaPgn~Q_NXiOH*DVY^I;yf<qVJkGnKEWs>Y4qd2p}Na7>)FA4N;0--eX!yG|q2
zO+ArXr#=y(-WeizHE`l!rmo`p{bOzxL6G~m&Wb>|`h$^3qy_Pf`e%LpK+|=3hn1Fe
z8_b3?);u?9zbqnj>$q5~l&_Jo at wL@H`<{_xo)`^<Me{IP%+5P`^KE;rdW%xGE$dvF
zI*Zrw_RNyKW7Ek(V;fa^BWP;AumkOvE7B72;SZ~hQcL^iEV|sq^}k=MRd#1>djBfL
z#$1G-)0*1;2Iy|kg!#N?;2{wKl%D`0Jr^&jeHtyrek4xKoJ(n!>i2kaLa2jre*I|m
zB at iKKhK!(4e`^->D9IY%Q1*^iYN<j<Su7 at FmEJ0B68z6&Awn{Pu!1 at 41q%y=4a!*e
z*N4evY5{G|0sYs!n$)`6|1#D2FIEd?cBcPtXn$GD=6|?=uN%FBaS9!yf+1YNrX&W*
zoLKIdEb^~8Yzn8rq;hUH6c6GGj+xq9dW^kILAOLXmyHOD16U}1%+6W9&b~WQ(C at nt
zWY{FhRLMs5TRpNH3#ZQfsN1i%z;{;~^ERC3kNfK=e&63uffQ5ZsSG=|qdMK&v^#XY
z9h0}6h3%S>RB3N=YBVK}_f?*Ly)?chVS0KdjvnPJIvQ%%%Tnng<v%gi_<KG#qtxu)
z>zn6fXgm%?gfA&fvr3|I&y<R3=Oaz8PLu|tQ_v<GEIYgY$u;*?%O(eTWq?{MD(+r>
zXJ-vN2f+p3&RhIx7-Dh;ziKXLE4$u^=b_WcxWaJ1GQRDZ>X&pvZ at 11&*SFDG)>f)$
z*oyaQr$t^I{d#*sHFR5bQ1M5AgYP3mmW$0SB5I3vO4XN}mDZnQoPQhCB~yU$HuVRA
z8q?<wdNl&V|6pZVlgt9Kt=p^*cpdA at ZFIex3mSve+ggE`;eT_0z3CqvGc+Hpla|dR
zu5N!scdGRjy){0(DgUik at zJoEaM>B|u(xz%?ptP>ETpc|@^s8&7Y&gukkxAO3oXmg
zJ)!HixvcA;G(IRnCBtV^+;|g}NHX!tJ2d{IvA$4LI<~s at u2bLtv(a0_b?IQ_39e%c
zvnTJVW(@bOx^uGA;q+g7&~q2fMvF^2h}=YUmI4&bcWuE<W4R}5%TFcXuPUm+hvGb~
zLcMMUP^UuwiF&ClQ8!GAE~->eug{F1O#8Iex%=P|Cv4=s^bA2(<)!w4uAN7_bcr4=
zy>>t5`-FZptapzI^Kr<kqWsJi-rs&L>{qL7cN`tud9)Q!Z|*y{W`6Pw^Y(V425J)G
z*<=-?lTMc={e_QVTwtpz($_4fFt4FXC3F3F^Unz*MRJ9{M&YO~6u!$7*GcdO&|qk7
zwFE(|O_9VPf^qS<XdNK4Vjm(##$w*+C{{M*nCE5JN3N5^E%z2-Yd0qJx&6+)#Ok|~
zMPC8RUo1Fs0p_PbPF&=wgV{b9<zN-xcsuYKEnpK!jKL^;WiRssa?cAzrj at sP)%>NG
z!$05bl21E7;V^2D;QMwO;))8gn=8m5P!&2D#F2lLuuiMv9qf~A-ejC8Fntc-DQ1k;
zpE2<!23UO;B-xe{m;vPVmp4hI)^elFv?qz(x+=CjqA|MnGE~MmK?Fx+W=``!<+^)g
zRG9F{mc=r;f at S~Qa{w`NBc$~wkJ~}0Qa!~lpx`0l_}wqQS5_29GAYQgg|}Y>6jk4M
zJk;Cf<g6bp?O8|nIx(fAGgIt8VumzY%-)Sz?~faVu}6YE-UtjML%L|c3Q~X7a at a1=
zY<}o`n}eTckR>M{U at m<_L}vN`apmzh6neURdb;fGg((&0&2-SRP`4DnTLLH+%UPF=
z?&EvWLa!Npl4LRRH1&>elC01)9e|y^=qeBfNPljjl2yPh&auhrlZ(Xde5TW~{Xy|Y
zd#u2`)mi)$V!EdFZhiS0=I4#bgaKPK4{`C4Gzu~j9~#rAML$u~v76BHKS(FzG6;;y
zAj3l7vfIVxaHB3&Z=i5&@uj3wi(C(BfhkY$O|90}AP;f$p-RZ1rU52|Cj&ixAInS}
zDu#p0s_BRz0Dh5%WK7H>jZBN7!<6rsKtjx}yjdT!0zA!jvg&2l5}xm|wrV&83`&>K
zV7?vB;@h9Cm;%i}2&W0FH;d(J(iH|bguu})V0L<_5(G-$0uJNW+Fhxm07EQN{xlE1
zI3<LJ7cWUGnwL;KGH>AI38kjSwgUpz6^LkRb>H6IHCZu(UT9!MJWN<}Os3J^bzIE&
zB{G_vxU^&YV}XkrJq+g6HrrPZ^v0MlYm2m<_GH_lzsV=s{K++ZarQIG)oNQEs77rF
zbjoE+K82cz2hh>>D0yyNAJ@#{2+pETOstK=1B()}NXgAJuvK~B-g~GzXX?$cI`q0D
za{bdSa}gYEE_M)09jVBbIOouMfpwMsJ##Yda&I%p-{nilihGVi!H#L0F$)0(_tB<c
zXwX}5ki|rZtLf#n`WY at 4?Eoy^;8*1~N1>f$I?qBD942?}N=lJn*kpqc55M>$?@9$#
z(%kx;-BI}okR^DQN3vK!hnsPI|Nb3XqVeD>K|W?I_0peiK0o#GD1NXK#8{$g=MLGL
z;dvD%FlNv``e7#+lK>EpB1p~!$?on7LWA7Yc}cftTPrVHg8dx6sIgWlkkvhM9jN-@
ziV-J_`%s1+qG8j?XR9x1B$pwgt!C0)T_ofQ4CeY2mXVtDbFzxyxIWLm#2Yc^(f^e?
zjY5+hQ>ppj{cd~4S7m*M{M!tqqQv1S*)VDFlXyqn2 at KX$1;mOls3CM;yPN~H4yg&&
z(0{bP=rN`n^%3P2=aUF(A1dkR=cAW6`I8FqBwPJDsh%cKrMRk2z^<I_hC at uxlpS@4
z2S$e!KxSl=ERcSoSWI3y#(XUBaw$Ik0xzG5ZeN2NG1Y=ZB5B4UM?wZiOFXAIO1A{3
zO2~5gN~$7LVR5UL+B1 at qE;I_ at LyIF4<$69ckjfh+2XA3a4xMOI-{K37ZdYeUDK);B
zATx5d7nQ7tsU2K+l8=jn%MnCiu2x7U*D8gq);#T5&F6G$?4L+BYo=2vld-R){2WS*
zV)d!@g*}74AF=ECym))cQv2 at sx<Mb9e>2aQt?Q`#ML7-6nuK_lpzHT=CLthUohU2g
z)B>`TwJEH}-Pn^)=wvN_uKrSPjpQ*Lye1qbIBdd>CN|HS at XO416NFG8wc$bUNLF0U
zg{M~m4{{<`2)jR2nM~#cW3nf9KB-(KUF7Q}T>Yl5EPtLuTqQ#DOO at qGLjSf0vTB#K
zo=SKgC2>pRs;kU~?%#IZAs5Wy*)Z?Z1Hr(}pWYE8G*=DOwhsx3`=c>b11%`p?mwew
zDY5yYqG*E+u+`+Ku;EhVlqAl))SBp?t}9P}O%|>;jK#u1JE%uC68~Ez-%W_u{xKdk
zn|8ZBL&%4Je>3i`?qaGr#rCgb4SNyaV0t*v$}-8|0B?j2 at 67nwbkI;B;YbVVSeoKP
z?JDEtD3(Yqo;nFHG628bndy4L#x2$4SFMG&RZ70SWXoPuDE2H{Pw(&p at yQB2b=ND}
zfAy0b-nWgaAc=6R2N-6&PDN3o18~2T0p;ue<TX2ve-R923CiD6d1#zpp~e7=X#<~X
zA{`KFgj(n=ve2BI=kjNVZ-ttFmbHBTg)ThK>d-o_Vqg5&A*Mv<?4wd&yL2e|Ka9Oo
zbS6>PEgajnZQDu5wr$(Cla6iMNrzADj+2gU+sVoIjsL$o?-=K;`&}2Sc2(`U=9+T`
zJ0&VZ8?@<d9<+Z!l!x@`dE$y-=_j<M+%DU>8bk80&8OSHv+W)%nqj*4?L@)qc+N%8
zKl}aZ+YZBMF*^4c{^`+*GH#{!Sjp4MErZ}@HsU4-JXkl;RWLVfrwgx;SW46Pz3lzI
zq%;ZIEL-@;7?huN&`6KMRGc8ga-YqSMFyZl`7)p~kgU0x3<D!D10?0A8c83jhWVYk
zIDf*XGnOP0#q>tX26h18FQZs0V-^`V>Ix^!-BuFIh0?J9QbIvxa at zIqx_&WtREl%D
zb#(_C{wOF0K#6{AZ9wi7b@{_CHNST(z<C4JlgAoj93We;qjn8a^<zWD7}{NBB=<TX
zx039|P~zb<X{;AG(9^8`ctSy$wQk{8%+`@D4+Foe9sY)0fy`9M8u83m_NQT?i^!sj
z$eAEca7K+Y`zY5SPIZ=*b8K0spkuog%8C}%#>Rqa;~fEIPmbbFhb*&d0HN~)nw%_i
z=OMSBKynJ<ONpo5 at soMJBoHZuZNlEbr~a-6qj)X(Eu97 at 0k#JgMQffv)vqV<Y02=m
zC+m{Mg)Hy86JJ_L_5RUTb9V&FPeBmPC{8vQwKZ=Nxy^VAodvgQK9G5l;OMn}G1J1e
zc+Y%q|8Ictqt{OXx%jltbiRsM$UeJ}OQ3pi-RX!h{PGRdn4SM7G+Q1w12RI8f)~~#
zEvy{TmuwB)i<exaYMUMS5O3905?&^-XUZL4dClzw10M(#wd2bJdC|Oua^CS4Gap|j
zp5ek;zJ<3i?+@>-l9B+K)csDP at QBq*rW?QxwG!Ao82d!UanSUs8^;g=40DIDYfmH(
zXFi+s{erNM)QAXi?hb_ny4=F0NRrUQnW&9M*&0$A6A5 at HxH1!LjukWmbr0b$`G_nr
z*lP3AQ#UJUhmR>M>+r~RjHMi8C!3c0vb&we%#+M0rG*Lh8c<;G9uQ+fs+-V&Qzve2
z97GmnIQ2U!&==git95o0^~flmMIj!rZoV^`kQ^&EeD%b1DJnKxOg`8i*AB at 1f{Y>F
z)3DoHm&pdXDGZTEmTWrYADOWoC3}*AVk(c{!u(UYl^rqzc;A~w_CwaAnv at Afxv$><
zo=QOc0`_ulZ|*tNL+mK~@RJCnHX-#KfDO(cy0<jN>u6kXY?1Z!ZSP4}GXt7CD9mJp
z9xd_MHqBd5^xQH#U-euQsPWXS1))#GJYVFJwl1iA6}v1{)Oa9Q(L=CcvZzq-xL>E8
zvHFuD#%DVn%l(Dupra0Qs{Y0}6w{Npg-iKXl65x2AB6GcC9sUQJ at TXak^Rn%iupo-
zNXtm|*2 at QTI@AtCv+n4}!K2jLJpA(Ol8bdHy2*UGq`7Zvyd0Wm6HmLmUT(~pa_7jD
z>jL5mOTX>wQNW<f7bD at LeU}l)Re4Ddc`aPGGe(9MPP1l~6*3y1o^5K4psn)AO)!n@
z!%gUgH`kwZZx>qnZ4gftoe6Pr;rQzj5GsE(eHj-2fNzwHbis}U*&=hl5sG~T$&j}f
zMDNey*TI)w(x=`TC<d}vqmV3N5HA6vfz|_fFoFXJvm at _7#e^nYn2jt7i4AA+_z;Al
zVSERt1T at KF>)tgy2LQifaSjdIRq~*o>3ud_h at 8%v*d}X;{zCrP+36ud932xU;^pNh
zTB35B382@(SpF7-uWiBozu_%2(|;1Bv;2fH{g+b<n>soP`)%m{+XlN53b at VP1~3oA
z(4D{_WRjfg<z$+ccGI!SI__q?UF!zhE|L?Sv3zOnTm-gE0Lij3m;K#Q7f&Nrm;hVz
zmnlu*8m8vMBlO48rA at l-9~u)q<`F~DX|C#ZdR-&Hr*<(`X|KYhxxL*^*+HY(;Anfx
zqDxeNlP(m=<?%T?EXDfk(!E*dm{4^09GCWJ)Y*%w?eNRIAO6t!@6fb^Ltnt-OgrUP
zG;L7{7PY0`dvMD<RuLA`VU{9!$XH(s`5XLUpt<)5mXoxTZCj%1t2<i@)x;otQ;viC
zq(_(ayN_jwRd#ym5SBXUYbp(nR2PSpR0rSO<^_Pjy|>2hb~`y3u7Y`@dnedQ^*Vj~
z#1@>eFJCE9Zd%}_Dm#;C0>@Kl#^3+3-ZB(H#++P9*FDZLk|x7lPNqe%)p5z4vjnJl
z$XP?<jppGNrSmDUp5??e+;vYJsrDC2ZbxINNU9Uhxb_AsjZ;y|Nu_JA1DHoagj5lv
zW~}0hS}~0Vs4P0=aw&73B7~(Zhki=+^|M|CP at l!zNbc{B9fU|FR-M4sTw`Q at AgcHX
zJbJq$El<EpaDUlx-?4vS_`s#zf)o8RK!^3dz=Jm at lk6{>+XU{((jZ47|AxetL$q&l
z>hD#5k9-YoV7h(#FBg9-Q+o2>@aJc64iYa`Lcj~eBHebq%rvU&CVwV0gqMphteR-5
zEIWYBVSziO+%{pmR~q^2cC6&vBEVJdKlWL+cNHyczjg%}2X&5QPJS$i-(Q?`j&{vF
zK)0(qT{{TbDU+gM#T7$2PgE~J`-?tOS+p=9cTliN9*zPGIal`3+jmdnLY?h*Yoqsm
zt)4`gVh{+L3wm21Y)@z(8b_sED~U7|h3wLLu2iP460Dy5qkd67T;=Kh<^EP9qat46
ziun;ecmePl#Sn7JmzY1<%3FQI5 at a_A*%b_Hg6rh><y&m!Sk+T9Un=jdVehA7p}Csi
z<M=YrA5I{Q7PZ6p3l;LGVc)DDE3oF>HaX%C$Z2SkEn!|`(nTc5p%R)WuL+0EItKT?
z at YKF(ji?Cvq?0Ff<>1r|_7Ex&H|LNtzBP?8((jj#Y+J<5J|yw!zB-|GIsb~ER)|wA
zl|>*oxQ*tXVTDhYLH!&tUILEj{`#eN&+yf&Vv0xO36#Db2&AK)CoC|U|5(*OOZ1IA
zaFvl~wSo&jj65GYQR$sO5PU0`=7pb-rWs4}yA7aCpm1(da{S$ecaXLnwO^><`-Rnh
zpH=2rzx?=m2{>QAd-8?vC)NjX3)rP$BC+n^ex)MtqUSNK=YdF2;T45am2}TV(=0~I
z;mm|LeSSW5=z}M{`XgEgengPy)C-0UNHQ)W at B@|3F&B<?k at 6Mi-O#H$-(UNGcu3@)
zYzlrnyvaGvy507Q^o3!uhNJw3;c+-62m1bNobp at k<mmhb+wBE3Y`Xg05RXa^e;;sL
zjI>t7xVR5Cd`lSca=JbyC<>C#_oY^nhK at 9NYw1n+Z9nI~v(PSQ$-s6qX3TibMYXGy
z!X!0X#DY<1;$3~@K_GRj<L0q(VB`-^9y!#`Ui at LwCM?naYM9Gu<iRQi76zF3N5P}t
zJE>mnF=}kdCk!_T?+}4+X(wva{!8yF#*cK3#4vdl$Gdjji at q`p+L5M3qOIO|ju>qz
zpJ|I;9f_=F;F&JX=N at pcnMZ`;Ux at 9fyL3RR#5C4ahP(bNYImOng64HpG$*VR1^gzQ
zMUdnEW=m*nHWHSh#`dy$Vp;cW90j|G))42oBt5$gq*LC4*$B$+=%Nqd5!tmIYa)^-
zl!<gNAqn{7u>2%K+$Heg8;b-IIKKIcq$fFDiLJt(_S}kbV83P-Z$1H9c1;BGEyQ=4
zyf+*fbYcEj%Z6@$m>kz6kz^=EKEzO)nK!^EKSGHLIKh?CKKdpm6JX!YaOd}e3<PGN
zEooLO(T`KJQ%>mpuPsJ|*yCn~N%Vr`0r5|Kc(-H~M1Xy at M+EUEkrk+_)vuAH0XW~E
z<P{_n!4r-ws^T{w4;?*-j<J&EQp||AN0`#TV7j at Q(#CXdgGbDIj8Ae9+eF%|D{QQ#
zktc`>3AzShFcNUQzL9e=LInhSY8gRi;Hltn3a~Q~u*|crZ`yF04pijqiP_xj=G5T{
zn$gTi$j;m<s!09Q3u(r&;AP7TMdq%1xxVBO`1oXUg(#4cO|f#SR$V4mYA9KIEqNlO
zh3LrQvdfYA3zi at ANe3WF8)Vv&V}>nf*32DEWWXt8v46;9(aGIIeHb0#FF$yOj_H_$
zKSVF6k4>f0yw~R}G$<n4k}5HL at FVJy{9Cm_mMDp1LmH;A6k<-%kVpk!jcO=zPRVGT
zARB{os^-u_ts>5yd!Lf$^l}JI$e00tC4{ZvfLgG_$wK=xKqF7hiI4Hcr1ywC6MN^9
zH$-`^J0xR72k#pIY;_eGY`XAu4IY^SRy|s}BB1g9$GXmJ6{4*+1wqDQ!V`I5 at PQaB
zcf)f;LDK9vvI{58`*E|oJ(`2gB&{+<@jwfjqY`Ju0+6;`Tq)bMxnLXvB2`HcHi2mN
zT5*6ZFj>;Y7B2zDMLH}7>`DCtC;Rm=6qCzCJ<?(ZJ6zxcsN30|E~+u0PBlTfYX?E*
zzXY92q^|Ps3IgQ14DCxarn|&;cpHm}FJFMQgiFq_?%!5H at 5RJ+DV6ghpSPb&^WwXB
zKSDJr+}~+QjQN~pvz32wDbF5sqfB5@&xV|uq)%B!(X1CUO(fzZR7S~kMbA7}-Fr5E
zlh5FLC0Qaf9c9gtyx=qKNEQ7mDLsslh at n=Ep4$_P%Ols8EtJQn|B3JuZW$Z-6 at x6M
zA{HYl&C5)pE!)o~7K5K>pl|H0lN)212WeeGjG!tB!Y(u^`L&_Q%Es`g)sQk*3_m^`
zL#0)UaB@*GS*R3sF?RmcJE{^XS}`&#*)T3~sDoKCIoN6_3uA^6(VD61&t7!L4&J<A
zE`&8vOzS|8r|Qoto~q2UxqOFTc!+S!nN(K=L}~0lZ4B at gC<wc<nOKNrWNKSPc>l4q
zr6)Kzra;7DNTVH1UG}{ldDJ5 at 6s#S2WXcCtfRMw~#t!yLqlq}5jw}&1L-ijrj+EKC
zwEN#2sv3j9_F)DoGC`nt##9!EP<WC9>^njcr|FpJKzKP4VBs=T(qzG42y$eW<M8Ak
zQNp|`0>DDbs(g8$Qf8F(RnAumdYlyiyuT$LyS3cHys<D$gPgfqhqh=iPRrtj7=q`-
zCveT+>5B#oX9Tlbu at Xh2Y5mw(n0$EGcu|xTapJ-fTnaJTd4_&&!6dqXsgZfA0q_IW
zqVh4KWyezDUwc*^d)`s%q|@andhbO!fhc->eG^Cj20JiCj=sv&X_X5fF21k`n*}NI
zI|N5YY!jl)eQb$K`S1 at 3d8VUxb&hMS5X*cpeaKbQb5}bU%P6$ZrF7zl{WbOWrbI0l
zdhE;6_&eQB*CHHoTh4H%k<45 at 6rB3Q`hXqX6`bC{G><$q))f!nILFPB;D42XBd^3b
zQ2p$(EybJ)l_J{yK(2W5InkXZR*EifxNYdPHG=@T0kz$p!SQ9Evs^<2A^x|6Q1-jK
z14FX_`;!5IDfpy6G7X5x`D&Qg#WZ$=!M&#Vvl02nLI%joJEvo!$gq`{AMeG4+Vcjd
z&G+v$-S_R}rhd7KO>g$45A6n!lpNf9MU|W<(BaL=v2_uz8>`gIFwdCeHc>I at f+7%5
z|4J;c?Z*f?rA4breER-^Mh`lY?nI0$gxl6Z9L&BBRk2~hBrZ=5dcwq6V>wv0 at Tvx2
zD at RADMV<<6=~p5XOW-v9I5iv`G#w(j$$7dk_H8W%g00gC*ny&>nC8cnY4!_gYsarH
z|Ll?)L)Q%bN5H1b0orEQ2^7rZ=KWQ=Z|;i6^d5heW3mcIdVNz>^mBDY2`Ex=yk4mM
zs%B}LQEs}&Zm(Z{g=#_E>3i*&_?>F=R>4Ury=NS(1#`EDKBGxq=GcvX&s at G!Ct~D4
zO##6lbPoJ}&e6w5B)raWsWgcGOtR&P^wAqIo?Is1EcqF?HpVdN$JO3(no{2Nbdk6>
zTZ5mMeddXL7w7MjUfU+7Gb7y3d)~FPEd0Dq)@9&%G~ATF1*%Y>xB-%1Hk0oFxe+LA
zmt}(^6n)36WCD{%Y-!v4ap&HH1pc%l3LF=+MgtAAQwn2ZfCG*~g{EYfC7_~c$Zrm7
z;Fk8iV9O~bs|zqf#Tt)5L=tSNbv2(jW+F&-jZGjZ>Dpjr+Lt-O`wYb<Onnh_mUI{T
z58#KH=|4DfF){tumi0 at z>(1+3D1I{<CrWvGMuAr&c7z_*7S%^a)$WuIQZ%KSEz|UR
zczQ|W+YX at JktvcfErvej%7<fYs{kvIV>TT4%BX_?Yhxp0e3%G#=Pqx`{iVy#l9!wO
zfL at hDKh|ES<&OL7>+R2v>Sa{&uylR7t!;L>9s^kc*#NH$!K>!WX*lHaHwR8u68=xK
zW^Y~d05r^i9w#pT8i(gs^PaBEpj081U!3_{-%nSB*XM2QmW9xe?k%0~A`au)h3L58
zq$OoVlZ09PZ)k7*37JvK12*uxjo4E7`N_kmuigQuSvhqC4ubUvlQSOcd(5QSwO(jY
zs{9X1)>=5va{FX~)|1r|Pm$SM>RT_`qN)U;y9^O^#lb)~gOuD_H-rJ%l2^HTz6tGh
z6jUwEA6DG2pPPL$oGn?ZTQF93>+tU=!FF4xq5U}h?)U$|g}9$Q-DV78(tRhd-3bMh
zfydp2K`g+ilEF|sso~;&wRoxeMFIrDD?NAZxK4x;Z>4sKx<<UPA|(iK0Z4qllco at S
z1$!w<0M4qI{RBxSj$xBEUCx)WQ7dFw>Zrq6ZAP9fHu;}OVw_eu_4ai<rkxo5+`s3`
zfyY*QafKL5Q)umnlBr)|dso}dpSR$xba(g`3pHknUc$(xbFXsc_-OMd_j8*pVA6qX
zt%bg+mz}o2#jdUbO?eHin|RAHw*ARsZ>Jwm?#+4!=kGVw=jRP%{={!nyOgtDBCnma
z!N0(#9}KenFdo2-yxUg^tlnQTD2zUSYmusXWKvR_+O*LcM>BT%@ot;x;Zu^^VkYGH
zl>3|A<LIu>eEep3{Tb4eA#JfZAN&ZXJa4}trOmMVPDHnD&90x2*|u-V{F@$8bI>RX
zUvWq`48Mb{<hXKm-nO7em62A38**K|$@rVQ$*=ZnRibk0a#~jI-q!DZe+0R&Q-~i>
z0>QwPcvB at B;;{JO#ggMOtv;$PVIK)I2!w8~FRm_M%$-Q&Qwk%qTN2%tkz0?sTTWiB
z5k}t!Asq~b$E>u^BnF>#28ITOD-U#AV~UhZAqr%v=JtK%&;L*6(*ZXZO)_JMbF8;<
zq|JAs(wl5mJquZU9_D(qH-S?1`lL&LRW!|m0CLcD2F63{S)>co6j76KW7X3-o7nw0
z>TEhtS2$D1J*)oc`PIAkQ%P5_=HBl$Vo$_>h5irKPQ{<mAP*Rk>NPK~)d%n9yxQjX
zR{=(@97r;(tSb-;cON<ikefJuj!D=)+kbBB*RKq;q|%Fcw^ZxP6;vgyd^e=z?2UC-
zFxEWc at V-6R>^JrNJ?+Yx$KvAfO5P&fg(@}*^eLCvCQ^wjl_{f5F5I>pO_6+cG2!@}
zXGQe-D1EsPShR^<Ss<vI!yyWB!w;b^JC3<P`URe;V2~imMMWI(Ke<sX0~KsrqP1Mo
zIF~)=B_uUM$dL7kS**PtQKqf-Oa}eLh-PHn at 7@^>lP{hNQb&A at Iggl@O7}c)f7AIw
z#$%|*s);wk?5>n8!K>wruR3+64dS|55Wa at VHqdRc{cmdj(1MpmcZnN&yFXPSqT&z$
z at j#QYWnoHl5un7%Fk at 8GJ>`Spq)*J3gh8f~rT?s9CAo}*R;L8a^*Bp80tIl~fk~8~
z07>^xMzhtDgst$*d##Wk)*!>E`jn8R=3Ld_^^L>+DQdtNcsu-FG>Zt6 at R&kda5!Sz
zG^hJ_U+7sSxRn<>gjxw3lS1TC!&ADaMCk9Ix|XH1>%DsP+^xwp>)NdEEF)NDAdUS^
z^<(EZDGvFEu~awd(5O`AkE+y at H%9j7c~mLf_y(IcwJ;a7Lw)LsXjN$w^r=(dXC)=&
z!5p6iLw at 8V_u11(IRGWt{^5p?F2wDwVe9bu+*V179GYyC0&o~k>8Oz1)V7kT#0nD6
z`d)OeDv89yPs|vWbk*5^iB<D}>a5=ZBh_x+sE7kDr49a+Ew*X at Sn6Ue9g%CwD%+ZI
z$zUEikSEG2%0`+r%tP%9MTaTKXU};n$AHj&h_27kdOe-CN<-V!)U_uq`O;#a>Co<!
zzbEm`feLA|b5WX$X6W!H!%N+r({eQ+A5Bws?KG6sIDMdsddQ-)ecu{ihBs3BZ+yy<
z-86$>aXgQfIA%l2{vnfgY(IV};~_nj&)aT~{D9>9$+}7sj}=5mjyR at 2P3-xoDFZ~M
zG=`M9XAy-3yu=!s8)x3o>PM&pMg^1%AZlQ?*bbiSxgRV9zwMTpuSy$$$KGQ#Wk at _C
zvk6GmCvMJZru6EuA-(=sKNkJ6R#PX_lLeGkG{Ll?owe6BNds5bG~q;9!i_J^S&OyC
zMyoO~3?9{=+sjMEm$37f!@+1#j>pr5h|JhHNhkBdv~e*IC_<)|EEOSDEuBmr=>oLl
zL4BP$JcqL;HCK<56NQ<;p&aBOppjB_nNVh9RCOtYRM2%1Lhil6(=EGaPv)88pi8l>
zp%zLkTTQdfi|fbPtXTXbx*fdkS!9dl9&AvmjC3Ly0c?~w(=a_+h)b5fjj5314Lgrg
zx{@Dx_y8u%v-3d&EJ=va#vU?LK$}RLDG>J0&B#K`ivt8$I at Ws`u!(4EirGw&o-P5s
zt{Zcu^E-I&<77dg{c~Ixa&L4J=$>SOsuBbtOyrS#;Yo2#10-d{xNX1G5s9<WYST;?
zY#-DReLlXgXutW44PGCpL~lxcKXcs1KEk_yt>v&Q+<&|0VI&R^Opeu)J7aR>h(z)K
zuzGImdSq-0rG}Fg{geaxI~_n0pb*K1Am^b6I^jmrdd;WU5puzxqG?O*My~0$)`oQo
z`+SS)Ov7<*Tdm~Twz6x&<k?6xVGOsrTyCa1<k<%W8 at vaIMp*<`$M1J5S5<Q4A<p_0
zYc01s+tdNz#qeJw<=(F`(5vzM<wxB)U+z%JG{Mj|#SyP>0;;|3hT)H at aSbQKqUzS|
zCf)+Im4bPyP$3^qy_ at OBCOn_}Ym2;Mj&JUosX$>SXC~*t>n7;-UM%o~<80HM2eLc&
zjFUARMF)xfyr~&i#|G}>ZB$*x8;TlbUML`4N at q5(xE&!U|I%WP2e+;aGh$^T&@w=z
zPJ<#Jnmv121)=20Kmc)2hn4V!5&N&y`4wt*AkA?<iG64@$Q@@D6AlXd3CgF_zB4V{
zwBoa66Q4tZqcag|FIog}o9^>8VSZ2 at b#?ia&*onL2(?PNuC>!(++`q|Q&iGvKGl46
z6jX&VBC>Ht?J-|DXf><uXVsK^c?2NxkYPv`6r%UBoqAU5lE4AEDPuOK=djkQUlS>1
z&2)T2Z6fG70fRd$LwM#evPk at Pkj6!>C6U^aO;Sum-olhf-jZ|B`rIW}i-Ao3E&FwR
z%QU|SQG9v<`Gu87ef=uxu5#*Zq?*5rp(`0NZ>21>YyMqG=j_}n&uEn^MoVFuaF=JT
zB4)<OhVGiFEh+EorbZoC?X~iyfQBQ&J9DUwjUM3P>6w*l9*BsP^wHGuh-$NbEwJJC
zQj4A+r;J*~>-9)WHSgL$7nD1OVHPNtRwe9*VKdU9Bf at lZj82I1qp5)D&}lhf2D~*?
zXG0}(euz(N$|{h>8(6B?4k4g4^d=Fu=hl><hbEF$;@VaUOKp<XVn}VO7YFp>mq<c(
zX%vIboa>Y)H2`OW6mU|8phZeEU`1Ghq0>c7`PS}zIjj|_#b0>ZlieUUf`m72KPV|o
zSD{i7OJ(EiVZ!S9GB!7;9W9OfFT365mUR?zx_(0}9g<hyruWrWJ9(CU^Oi{dNp{#3
zA^=kSXwN<Fs^FP@#@DHHoIm`;H=B9(_-E}B0Ganj!WdJGS|X-NAsKS2=CwhFM-4~$
z4pY$^`!3S)A(3gLxndzd0WY6d4Ri^NEIMbt*fCv|98BD!C6;!axp=1|)jLE=o2#g`
zbl?QU*J`9L`uUYu>(gr*mm{B+6$Tt~nqgP(()?QFY9Tp15|VpgT5<ID4HS^g&-tIA
zz<*G0vT|~8{kJ^GlCGV@&uQw*zfXja{Gny_IUPcS2tEr)7`9~^_%jg?M61k>gymFG
z+1Fz%;d+W;TTZ&9)q<33M^<U^@863lK33jlQ&^bqe*-sRjlr5m80+txi`(?}n7ey@
z+kHldE;gQyo8EUnV8Hh=R~c43syLp0Yr7 at FJD}&q>h*H-Xg3k9x)sT|@~cx at rZR2&
z=ozu=z at +1Kb0YeXd7WUMZ@qqbLy;j}wpO6~dv{uJYo!HULrjX<sc31z!kjjaIJ*CT
z9eOkF6fUv-0A7HZhhXNtl)abc){=?u_;7=gRiiMn^k>9%gSv(7fZb8H5BUWS?&HX^
znzyANA8lvX6#_jJ2Cv82PteFAhW1o0|7tJOzbKex3|JBn0dGQ>D>s{nurSRkF%sVg
zpCU+R at Vb{6g1xT_)Zqxf<iU{v{t|EzNuUe<^C<MD?Cm50SXqMq!-()daMavkU_1w=
zvox57YwpFPV#iRHN11ptD7=E=?n^yr@|eFraLCkwYILFN9Ie{DB%0G|wg_9tvLv=z
zp4?Kigi2u8^m8-M(=W#khFsJHOG<4FFlp-e{p6XuiaDM}7^|kl<m(|OE~YWr7a_6d
z1U9-`$}5gDRrl_?r6FF_Y469g?(D#oR1Zz=bBBCRa)U}ol`zD!1~zJzn$@4e8Q-XK
zhj{T#J3 at 3(x7B0)Hjh4imLN3ngcg#BizXo-&*cn^Pl349m6icJbgH1avG$!<3#0=0
z0_J%TZbHX7qdCp*ZOEe*`Ln;7x!GVB?hsQP?eorjR-%{&a;gY;4n#qjrDAs#QfqjT
zWFwcdp!~^t#4CPl)7LBZ3+%S)-#J$QD|tUVM=latvVK*4l~<&{Gf`LBv~Blt$}P&u
zFA&j_kX%}Gtz-)H&`=?+ZcTN49Ypp6LGbI-22JzsbIkpc&6Ir#S{=j>v{eo+1oJH@
ztA-sPHKg)N1Ebx5d>?lRwj;Poax9kQ=yGfwmj+TWvQ_YMfu(>8h*sE*iI7u at Q<3(U
z<i;{2Lq8shK`2;`ALY$BoYhQ|to}=dGs{}#Z>a*?$w at n~swH<WYps$(0^$dXjl=Y-
zO}1U132Q%*DfF;nMC5FqrIch at v%^p<lVvSfConXN at w*45qu^$n^y_#5xR~h9qY3?W
zzqSF#@pk6JU8N+V>%9<LBeE;}pL|Fw|1ax|6W at ldZ*{zI-KbK-`s74ySs`mIcw;~q
zM8;vm1m>`$Itq9YcKokD{Gc{xlftdYVm8QOl=gImH)Cvh+F!Pb<gvu%A(cQti)&)L
zpk(4e*u1uI#+5)H%?$B3p)849(->Q3NE5_Qi+&1x!G$}mswU(nSkb!eL};<<U at P?0
z23G;R-h^SCF at Y$r#J*shf{{{*z%1`#DsPEHVSX^aLJjb~T)&ZbSVOV7F<)BtCZ9df
zImdT3P0?4kHDEq=uQY|Xkbd=V;Aw5yJq68E7*>QHOek)~`8V<DSd3pDC4R+Qri1M>
zez1W+dD4og`mP5l2F9Y8FTgP3W(<!`Mm+5n&Pe^%01f5Md|rolYOX0bAz=OkcEFSt
zQ5fc!C at Z5VJS${lybBQh;xa{m5E-Uu>0&biO}FZIqm3*<9$=73rAKP at r=z|&H?zfI
zLn*@vp|r<pjGaC_6&rct%L|17SNzd`Xd?rkZri36l|%tCkig(3;TEYS#QmmILWOq6
z467;{l2^KA59V4bJ6~iF;UZ=OYp;QI#I%PCN_aJMlwL-nv7=)&0d|DbB)h`voa9i=
z3_&lLN+=EW=4Uj)1BQ$1M~QgR658O2BY(uBbjc;GcORck%wTrnbs>Do$y8Zf<T|I{
z)qYs<`S%yRjLj)c3`W*!DwI4(6?KgHm6GXUb0;U~rt9qYy!2>4?PQoMAlMC4o9BgS
zmIO}*mY{!rxET&V2h)NFMg}h at J<WwX%j9Glf+>q{D0fgD(I^htmZ0rj6Tj35JzL}B
zw>lD}BX;pyh>6uCg=#>NBK%=K!knPND`Z^2k0tM~*li$Sn>{SSSTmtX1u1=QX2PS>
zc?XKO4ci2b6Q~Z}eu652u+*r20v- at R+Mf%#XRw+&FvM7DFr#FWcS at Ff-i6{iWo7A(
zWhFAQ%23N5+5)405jh~Ru1b+2%0b|rf3!WI*F;16W1|tCMloAF%%IU};(KUCV;k!c
zo{%-G0R99LE`Z*Zw_U&0f__k6rSrUni=eKmoHYi#++iO{nu=7X8v^kbU4{O4ELE9q
z2UI_)?gWePd;_}bbP&Fb$mAuNexgUO#~J|$88vmmIC8h!<=x{TJyB30LW>}<HY)G&
zDeVHSI*4wxbmy{aqj;vssp1ZtjI at 0foXH|ZdOf-9ll+CH4KzkfYej$sft3O9Kj)*z
zXLOPV)i9iUF7LK#XxOcL_Oy45GOP=z4O2&762UVsCwRo%RhK7buoE^;rzd7dx{2}&
z6R|>^9Jz>-bT<y05wON2xihPCcjUO0M0iXKpEWSEW1lrs)SX3so16$5!LP?w#}2CZ
zjs}p=lgZg(B(-BhA-A&AXsg-7G&SMaRhpZ7`yjz7vxWfqSDgDPkUk@}9LKSkk>Pgt
z9IbVYXBg4VLUhnBC48H+1asfeS)3Z0dz%}ip4!2uURMW9yg^E at BqUFqm3-IMnWgNX
zl&`&JNM3ywtn-8?FGnV+tg^bY0QqP3KK$PvM$ZoifQ3H=Ge9Vp7!V&=Ys5F!B^Kay
zOQH56(&u5)&xh8cvr at n6zoMv;^eMrs_&kjNtRli7cK6OM1qNUrpy&$QfuW({?ad#4
zH~gMU at KJl(-+*T>#Xl+M-HwwC<62qycRI#PoVP6b3#Cl+F;`K&7U8M#BB4vP<4KMs
zP}%GrW~)kFhED5MX8SIfGs_MBM7-ZqmT}(3+u&q9 at F0O&a%{WbFSM#1jbA at 0oF%xz
zTaCN{QzX+jpP)*IbBQ%ubaR)7j1s{s^3Vm()Uw8C$1bDQ%pxuhrP0{sN~U$`Wvw7?
zK|RF8Nb0V2-TLR3*Sa)yK&|XSPDT;`Ygg0}z(djH3)ik8Eyor^$`7nAd}w>Bx28WH
zg=DMkQwmOSS at YK^wwvdQ;$b$sDPoHb(Q0Xsb6Fp{(5|b5TQb>8%0sObVZax$pdQAE
zDE#wCjoyt8W01kcj{*ZUF|jJmVc*$Co-o=p`>IjqhRi3{vT9~rwH2JumkMkz6x*kW
z*QpnA^RS)qNOVqvsj~P*(Y~U7x33K`u3zO))Zz|pDPm-&_^uFNK>lr(N>zrCM}w5%
zwlI-G8K?b6$~krtbNS$62JON!AukvqHVl2g#{0>vS>^s#-dIARNs at 0L1(HNgU35cC
z1}-3*p748+1OXOSDbjjZ=9D$eLyL)&NU%v=o}ZQ^8ytH(J87C2ig2pqEQe6nG<&e|
z<`&i$>KF}=pujW(ShV|hO at H)fde<8u^P39=jtkTo(;^|MAi3r!_aX#=eEm#p_zJa?
zU?Zxi4jpV4E<2ZMX2kIU)T;&Q*uBV+Hil|-9TG|jX=UkeXqy>Y=zyf(zVwTCMnJ at E
zX*LRM>z!0a6jX$+<4y$0blYi<%8STH_CFOLf-fLjAzKI(#P^%tf1wFyH#VeDb8C
z%zw<gz at w%%VLcTcyHeUqyajEY9(DcZum!!ijs0zARu^XwZnRs}Qwge&vJQ3weso+*
zsny&M#OXnuXYtrKGtf@{VYxbIYX>Z)?S`kl8+Sqn4VBG_2n|tHoNh4aZH+2`NRJFx
zYm at k<cz5y4Hd00k)OMLN9!Z((#mNN@#gZLmqT6LYzfWEq_kM!FDE4k>n?35p(zfaF
znlcsf<GAi at oO<?%l8||o&gZLo at JigrZGO7DP>_E(Pq-SbvboQMgU-ZlVz at XtQH7U4
zzfVu+KC!^4`+MSVJR_IEo>oWMefXcMQ;fP<kJQmrNP|uhqd4mzQ&BYb-4R!)Cii at W
zn5 at TZPb}irBcLPCyykr^|6H+KQ$Rl&0qpV4moO;9#_Bv1yCMmmG>?B3nmIOAc#H^|
zv6gN43DW2MEkp<&<c@`Q_fPl#&oeI*-}zcySS@$21>oJQ;~ya)#vaDCq<|>U?b*sN
z-r129^x0U~fKjczNZ9QXuuK4E)UiCS at o@qS`Bk({wT-ZwPa|XNAMcf+%D-Yo&OsM`
zH=^;$ql{(=hhwDD3BzEt5m+)GeqT&T2vDB0yCp_MwCdzgKqmV{zqEg~R}|Xu&}QdU
z4QsEJj%?<Sy|(9JzfHpuT%*199<WdL at 0q5cpdVsA8Vdhxp0#xG`8Ix+)4Vr!YRkT1
zCyT$+*tU-bD7UV&C6`WP?VMQT1`j`fc2Ir1tl-~7T`bbLv!~{wLU#?;#Zy^_&ykd=
z<5P%xAKcnGC|No;c#~RGKbf8KoG>prTVD!Od-XmQcph&e1gBb|=!e4bahI$=+9eJC
z3UbKnceqNH`*|Mgz9F8EpM4+QpVPnZC{gXuSK+3izzU~cots(P>SOk);yTA%VXZaG
z$A_A85>h`~a~1#X=(;tOUEBk~YxJbu66q{}6R|=Fz1*R*Vg at Wr@AL9E+bNp{39H!k
z0~NB!aAuV5Ta3*s38-_ZbZIr>lzzZ}$3wkzO<xnnLo$k}^!bekxTJ3%w at am|?#5#V
zqJE)kY-)%EdESJHVg)YhA>!weM|5cCD4~?u1aVGCtgcrl*1RQ_ZxjKEXgq9Ub<?`Z
z|JL?XHGq#RBJxYJDA!>$_GVo?+cnHR7yiPcFv;2<&n{%<L4DnKAaxU5UBuajkNeRu
z#b)ZldwfQILGA0&V#Ngy9R1R4H7Z3)9Acj)4WR`mvE8agm!swwymyeg?N*MJZ?Bv$
zQsNVFzHxiyV26Z#9CAu&JTvhk4+?wY)y;bD8au*gy3`m=$@qZR4xq<vcvSuwmSH}W
zoc1 at +dwG1m=6Lz_F2`oJ)}*k`Sb-fN0k?Pi4eZU~0{9O=n1%U2aANE~!H)lX{l9ID
zrggQF_uG(v1_BEus2h<sB$T}xa{sB-X{YaRcANIJ4yT at AtGUKXP1qc-lxG8Z!j}?z
zFtOHoAw>cQU5N+y?GWiGzL>xcVvfKVhiTa&)LZK5Y|#1cjyf1L&f3GnujHl~^!Pod
zJEUkcN#nWM-aZ}MYdEyWcudwiG<VT3s at o6`DSx`PrYY0+3E*Eny*l*XWv8M~-aDyW
z%8xp?9)&yqG4+1 at y7Z|3dTqnjar%{lh6){5d#z;i8Z1Rpa`aof4q9zqr8-ilHuY$-
zot83f`0B`&5C5*}pIxAOaiBV-j&{%h at q5xh2i(YEup+T<{dFf at FJk>ExXBQ;+CpRe
zwbJ*<m1b>X#Nn>}ec=ZFCvVmh8GV#1P46wL8r#D~C%?=9c|sh52a!S7hS=)YJX9<;
z5^6fEDERJ3QO8zKc?|u>eHS?R{NkR<=0gLLm=<X1=iYR6066*y{CI4bu-zu+;S{1C
zIEHL{DY^ETr0&nquSuX5(bTZGfoJY&;0rCC^h`4Lew2+USYlT2|9^r9k;$PVhoIBT
z!v*dn!;=|^*nxOS^b?5QcQ;k7j54<>p+qB9{hOv=U{mqp7Y8(KVIt`ouXu)GgVZ+I
ziwflALX!_4xu!(YArB&U5o7(lCnVdi0=6fcmjuELPKX at IFHi@<JYE4D>B3HejiiM_
zq`rFZC1xk&6(<cUb`rz<ekUXgPyrqC;wuF=1`)s^a)0eW7(y!+C;Gb>ISS-7jZZ1k
z(5v8^tZ^Cp(22I!OY+2H8t-UfTzm$$aQLsObGi|bj?{i+U^quV=Te6q=sBFmohHH$
z^hzOEXP8F&{rB`($(W3E<c|-}VtM$I%IqAmbkN<sQ?>)Y*{Zn<O<UK#9MJ<C4~APJ
zQ-u%8HR4FW|NKa_ at 0waW=+SkwZ!>Lw=j)qOFMth)lrX7 at WMu7Mq#<fUJWQF2FjJ{Y
zDOP$BZh?|Y+C&A9Opd1IE>Pc*(-Wkz6tEZW)9?XY^4gIKC<a(!8O1u0Jv*{&`7ZcI
zBk~oirxk at A2xGEtXh{+mZE^!Suyj(Em2D+7L2x_X5*5-S2#2O%TSt)}il>gH<V&fq
zsVTiM4;G$~!IXZ?Rz_Q>Q?j{gh{y>d&$va2vR4>JDCKS#Eu_ggG)m~fLI~+_g*sB%
z>v7~wu-8S*P18Aen9_v2ThBba-?dOR7b%`7GDRetFBPg456Q0h2Bwq+n<FXSC6(*&
zewAJ|qn}2J5ryi?E^JlL4C>;d!_pT%;Rt_Tcz;R8`53kXK6m^-rvrB2{dl|yWq8r@
zcjDZ at 6_hb0D#;n5_Y6h}LVj1WO3??!2w5T}I1+}K6eXgR>gqR=TC!M*IZUhmf_^ml
zJ=8&0?u_x8s0#1TI&v@`k;z_W!WI9CDByT@$2u;blqZ!8nCY`RK=He<PI(nX$71|*
z3*l60KI={84F*_uud{C%T<q|r?qS50_F+VXZHRXekfxEC- at Zg&DDcVO6G$e2aDXn1
z6-iFXaz62NU{D<&FY<%gZ<Yxnz9mE|!3tuTB8GX9Gsq(!l#nJFt;qF1V1#LW?tS?8
zvKYqFtkjN}s30CE at TNVA5YS$_nqvSgYN))1da96!!GVVu;{Tn(O=A)-oHa#}saz2u
z5?-Ky#wB7B(MyPNN-pGTWQaQn1(9t0Q{=M|P1b=(tn2{KM+(JW5xHz71m!1;^LR(~
zv-3j+r1<!e;ZSdojsBVK^B}0e;W%+Ac%BAk*xKx12SI7&nzO(oIY|j;rb8No<lzv>
z at 0~^kW&|cc4Kd)Z1Z5b{LJfHh_*^Ulxk5ni4LwHvU3)H7vysVh at 96=?PaiFG>;j?x
z*rYYl_pPD4Zy7b=c-ii7F=XRt=`F;!I&rCsk&|0UL2Sc$C?)s0f;%90(V%jCajzEk
zXvg^wAtw``g5wZoEU`_jiJdy at xrD6TSRhkSc_Qop1FaZJ<%4iucpc&Ga$G!>iftE5
zZKsL49qA<tc%`BNSD5ou*gv(3^?(rwzP)O6TJogCX2ZJ99C$A-WnB$hx+(`Q0*57?
z7gPF|&c at hRkr-SK5t;1iO+rMmLkiM3IpRiChQ$Wrly~!Gc`EC^Td}YJGzSElRt`*Z
zrRMzj|9v<9r+P>~)eHKc>LLA9FX*RwGZ}w{vK|e2K!G{0%UK8Jk?hys3{hpb>#KS0
zsYJ~r<wE!Oza5g&^<fuU3O;kd4gMrH2S&>Ih+CYEB%NPX4Oo)m$~^5+Q%kB`UD9r5
zLyQ~!Ej`s4!W>fvU~pCDljvX@*sz33XP=Fs<*~8^68?<@AH1d7zo2TgJSk*6e3;A?
zWk;YOgO<Vjh!f%!j4I8Hh$U#676Ha3fhGiDu`ZO$Pk<d+MNShZ6mn$xXS>Tk!4bkE
z1Eh6kdx#w*Ne>5D078D7SMKFPLTy+Cazc?&02>1HWfQu%b3%`#hKLi&q3m`Ql1;DW
zBSZ=d(bAA|jMUq$x`y3n0+v7yU*Ph_!J;rEEovAYVMi;&VhwaGJ0VD~grbRR4N-AO
zXGMQ91d8QEUE>9JD+}%-bgQTxmZShlP3P3Q*~}=#;(4 at N=%(k<`g`27JstF+4<l*h
znD`_z05o3B=F&{E at P{pU-(x0=gd207xIkRKgDrT~HDE<N#@)HoE3r2R(#W~a{7Bda
zeAW*a@=eop6n=tDvEe6smiX~!?0l)Fb*d+^T9APNxjgRea>7yXm!rrq5wh)OU|Nr;
z`=(lTK2<3&x8V|mm5)!`gF|upZIoRuf+!TqcFi|3kfch~Nb at RQH=4_>3{dP|IndA@
zyGSH``>~(8><0`GxHvJ at PGP<F#m3m-O!?<msPXp!Be9X%l+by(-f6)7HVK}4M8U@@
z!83NPK7m52L(5Dv3mU)ay_`G4pkmiez8!%#kG<%&Qw@!B>bLXXr}yppSX~8@%b6_+
zPsnSIaWnNm3c@?<_DV**p#HJ at -4)ynbukz{hkBk at z$mWqzT3L at fedO0!@EJYP-n}x
z*Rz`FX*zuAHE5;Bs@&E0=tZJAF&!2XbKKFt7oO=522u|4la=h`aubczUPp}_nvAn}
zyNAb!nl0XEM1mnplEHO}@AvyZJeXcwE>*3RwKgm<cuSOwAu6Myt8TGP)xqgAXTSYQ
z+sBO>%f=APm!l(Agd`j*Ps(~XAl>P8?`aEmRt(n=O-guQvouyA0W%%%Vb3+pQ6lmP
zJx-22x+(+xVtiM7Ss^$527z-Qha&QjRTX+DX<+D~e^&WQwTLv5ut?``f*MN}`~*gd
z<w1emqe?7pfxdj>Jasq5!I^Cvv>wg0@(=|UoeW<bSQkkwL;^w7w47W7T#FjtG2O_G
z-U>5dul3ncySEQZukq|O9M}LH{}SxnE9|89W6#9b7l`i}g}PLjafq>mEpZ)sfCr7z
zeYTYu*qp>Q9cUt1u!2Hd2c2jI2;?OJGUaNNfyjeEW!O)G#eX<=yR#8k6<x+l+H>^J
zh!R*9uLjsQ%!zYQ3f!>l5$L?>anAsi=r0hh0_uP&B%;t06S^~JCYJ%X!8)gbQah2E
zxei%3M!iozHnC6)Il_&F<4=Y3J-QO&+UncK00R7_S06b<cv?pIY(F}McNg at L7q?Qh
zA1Cnc>7$PvfJ5Y;hOx7ES&##Sx~G%#0r0v`$T)s6OgPjq$Tn}w5KUaZ08ePx at 3HpR
z01rtNfglf^_PIhdcA*g_Nb``%)z`qesQ_<SfJ(y3u={DX{BhNW-92#TiF32Oqo#&9
z-&<Pij`iP6rN at W{@2a(?ur~Y<{RcIHhfppPmEi^w{ie12ZkCNOP9pyIC>E~`HEysv
zz>udQq8SqiaYMVD;mikTul~yOxpaYB^7Zp7vtaHd1pt#(;GR5LjMZXnTqt_R4Kklv
zCe&Q&YRAMNR$!dvX?oZGf|nw(4YXd$Gmve-YV#Plyr`y$hVb?St`BoGDVF{QuUyIH
za7B at 05w$<k5`XJ((+L#IYFROu{f$HL=$E>V5bSODH#ecjjxJ&b-rl~uhWhZ;{^~v|
zP4L9>q1?Ta;Q2k$2R!eAn?fpMYN9<x;nQZtHyX+f4{dvZ;L)6r at 5^q}a`7!Jtx&G|
zKG<XT)-PvW8HBp_z`-wMy+IgJ%<HyVV)dI|`jUzh81R-EnHE795}=g4A~_a+>)z~n
zJP5_bNzGvuC`Bk_pp at A%6NxTScNK$)ztP)%a*^;ikMrN&3B1eON4jX1M{;<~+9wN*
z8hVCb*#B+>tUEMsPTeunv&lexvUgd+O!<Z~G>@SNQBcDB%m`>^VRwEC`P{46b=kS|
zlhvdjN>RIg>2~Pn+8gFIH}VFKEhy%9RG4<X{2XSFl!u_Xozny5=f(}YkRDf;E{wEs
z0;}187{~vr7$>ggX#;4xVfdTP<7WUX)zvgOdiUhI<>2>fqKgTLfS2uqq~ObuAsm_H
z%2j-MdPFoCa;7E<v+9OTdNYc!#5dU7x4XdD^!&hyVBHCV5Jsp2e?;^l!ZwO3#JJ{O
ze<ugo1^AAGm9vR_#l*Y0#KgF3zNwsBIozEM)_W;2w#1t&!ZitTPi`(FpILEc{dV$<
zScR-*A)8Iagzx?PU;@YBgYxmU-Fx(iXz(tgt5i=p$T*f_WHkD{=*WNld``niGzc3F
z at +}nN-%UI>^GV35zAEw`z$5E_0FNx(tp7EO+KRJkzaf6NX~2Bm?Fc02V9<TxcMB7L
zNtD#nwAZ?e1;TzX<v3^};%sa4J7K%3?ueQuiG&_3Xmi at wZN={)5<Eh%@#b&<5e+t_
zPxDxzL#wt87AL32n}luy21o;REFe$t^*y1k3n?dz4=v_?8fnR^`{e at fy2vkCbuv|X
z!YQ9#L%Zv*Q|5K^0WbYm2V9B^)v}y6#-lU2A44nY$6 at +?eqJ}<^^<$)q;Bn%=Pbrs
z+QJ!;=~@`6OoEff!f(NRvGb~rU`QZO2VyW-Js^;mRE*x&K-81*uKgH9#+j`?FCXjv
z(G&UyX-Oesg5a;cgJA`S8T)N90o!EGa*x#mqm*tRC;yMP<8(s(ua9qv<ImUC>;;Wa
zjZX#<*4=7m?slk!`wZt#_iQv(wOfFdJ2Zmt at wxJwyz)}PaEqcn)ZWr5BOB1i14Yxe
z_`^Sq at m?C?dr*tqMK^6*D?j+BS+QZ1Wn2!4&<FDSt8%)+nUwN1h4`a}x)u=W$GGl4
zT2f$`bSLD<=(iV@<okIZ0mDeqtoUH~PcT^ZVXjprTgB^+D2~KrVHYq4&?pE42LS68
zw=WfSiH3sE<nmuybG$xN!_u8uR#$QC4utGBDF6ghlu-FJ-(jt!T{a@@L6&hYOEb8T
zAfBBx-K513+#!6pp-Wylep-iNy|R)HwFOEM;NO#tTM#Af;ns%0_pVGBoXA$GTCnyA
z^<I%QF^Cz!9_a&>Q at 6;*6}6Jge0`Vm>`BeV3Cl{tAu^)A^Zx1A!fDJs*3$1At1CpC
zqRX=+jz00UG^Q+YIw1F-Z^qedm<E@($FYH|hv!eA|B|qXMUUJB`lItr^RZa`i#^fV
zA8HW5;j`Ez2n$-=AR1a^iaOxE`<x3|VFNqOF`6HmqN`}L at Xm%9j>lG at uw`O>IBbM~
zL7k*D6V-L8D~QGT{!JXZsnp*43FhAw`v8CMMV76wLmTY%8Nqw%T%IwTaQGnkv94iK
z)zJ-<f5%sWsP1FS>A3IwYXE}8hjm0rf1sNPhv5FVd8JY4dW$x5>nk5$fF`@wAKuMH
zpAEJE_cymaT`mPfT(neOJ|~z;Rhit>q at x1gP(vH2ubq8b<(&<ZIRvbhtxDOIrXx^0
zR-s_I1NHQ`U3NX}nss&o5pq4YDpO<=Mw(DRq-`}-IW&%N7WqNsOUA<Xym<sfaZab$
zujC-t3A!@!eNRWnJA@~$vfD9lr+!TW1cq^?d9q%bB0fEd%tAV$QZT$>hY^?I7NtHf
zv4r?ChZg7{_;{y{y-u;`KoEj?wqt`?CdClNn7AM_t*C3OhzuYGC*#Xf*5)AeQ)2nM
zN+3mpCAp+x5bTJ~SzYGShyrE;Sb)U_=btg at AwKrZ1q1mLlLQ4&bu8C at 45=2wFGs}b
zk}Hle(nzHzvRx!;=rRy)=nWIGontRd4Qc>C2nk#uFO(0`ow?-$**!l$k<t`S)dLvn
zE?FgST~dXxl=TW$Dha5_x at _Bsk9Ld*P!c!X*_fw}XDfB}2A9c4Z&|rpDN_>+>#<;}
zPXZpnyg;AHNEyxjoL5V8E4RcPtB)c)b=i_oM*(l%g3Q0%4maw$Qgc$*f)>9QLTS%E
z45Pi*<isrt6VenEum#wLN%uEC3x;3Mnd|qVMsnpjE6^0C(%~t_fQ278G5!oS$)A-G
z3!TSnvu7TxM40c_0x#Q=%7F|3F4bfzK!b%ap$x|5z<~Esi2*9Qx5d)?;fLG$2dfSc
z2PNOyxmHVlq3nAWkcp4O&k_ba06+r+WPL$<(<JsH+l5<UYf$T7Knq!eO5=*vj-B8@
zYt9RU;7>13>6%I+RkE3adPMt+TP$*M0*#77qQoqzJu(w3a_7B*w)np~9{{MBHYW1D
zuxj2F?=+t?XB?GA)88^~>+k8un1qZ1)7&_O&iAuD>5SmdNqUPB(-fZq$51_qPV`q-
zPz!u(Tj5t%|Ein?BYp)+ntCF#3GL$%K;K;yUWspj-na%=YBRDzhY6*1vP%nPg7CSH
zdi&br1;$|S;!IND6 at mYIn!VPWk?<6#aA{CPO6Jor8a=+p?2X(d$AVn=+RF}_!ps2O
zv1%HAr~J;cfrTa<3qiqBvO=B}7UH(xfM-{2zEk3W2OYV5?UEDJ-&S@$Nb--RCy)HC
z;Qk>-$03iG=cHV|KHv$Q at qZXQhb~coWZjmnQ?_l}wr$(CZQHhO^OSAdcGWvQdu!bu
z^iRk^A~L?%8$%41pjwvlp|=@ZW3My?Ma5nDXjHA)l)KMLsOKGm;Z%n;)(Y#=KvP^R
z1Nu^Fv_wN$J`wjqKsQQv@(7?=T7oEcu~fDZw&>wEyK>ip9vPDg$IVh3>BlN9q at Yip
z)0h|S_2`%VtuxzUiHX02C(gA7UcS_Q*GwrGA<)IWr;kx|G6PTg+EY3(G4lPVDBhnH
zE4)t<Nckszh6Q0vT)ea*2)LY6m}+)Z+(AwT7&?4X*d9#WrBPEK7(>>X=Us!M0ETZN
z&=Rb`!OvQi91yde=^S`)$+Y4!LHiP?6G7^;cau7UzvRY?7L=g(pOcR0YO(XXw6nZG
zKX2qxz!c3 at 3;r+YT$+fWa>if<w{fazJ-8;@3N*C;HZ8hW2+GmWV=MFtBl$V$GA}7{
zWK`=m#b1W&1$l0<rOsiRQ}!{QlL!G;p3V9~TcI?anUdxB#HkDfb_d&PxgG|C`k29d
z8)UFj1@<&ks?x8HIrh;yb#@9L7`}2QZvEv|l8?qK{W3LToJ at 2DksRpZSxL`CFYG!O
za`25>dWKBq6D`Yu&5n)RlpWj!XwH#W9_Q%xP;h at G?Q1QyNPQ06TX{BStu)XTZPd<e
z7v6Yf at PZ#FcqkL3WRX4Jy&?Wjct<`?0QY|(e!-oQ at 8Djp<wy+ at CHaj>E$j-go3J>+
zaIjH_o824)w at RNTVTd*LDy#K%5VUOFbA_<AuKCZ5P=`IaM&>I<pqD69I6lwhol~`A
zKuV;=g84l$>%@3{<4_%n?ZvefJ2({qetiL5D}lSoZ27hmfFL2CaK_JCe at Cb7zrJQ0
z$r6k`8o`9Y0U7?bZ+{<$Y1pD at o-6@)-I~}1B#-CT{mbFqZzIA!9feD)??NY57eB*l
zY+QA^{-DV7JKQZX&LNBpY0Yd4)`9IgX`F$atM}~1gE?<Gvaq$6*tnIQVCvft0!n+?
zl`%gPIIzgpQ|YQtIyz2Wc4$jwVJdjWn@)utcb-uMBFGEeAgvjr5$!+AFf^>}6j?(N
zKIcDR*m#PYy*%-p1WI{F^8n9i%NNb(V*TU#R8U>zw8*S at _Hqz%r+LI<#%>T<%)6cr
zY%z#&6r*KXdavpe<oC9?0frUU;7hOeU79(MS00s*Kvl%)NIw?&Qaw<EXb;<bv!CQ&
z7K*{}&-ByMXjuXL!gQnn6p5o|#Tpz|3kyI+QN|4jw6AXd!SM-O!nIt~b$&8-Rdyz8
z6Z7HS3<7)sGma_3jV{Ffn`H>80(CSZl05CIRlknpuRmBTUMr)Pr<7ssEA~fmBPwWm
z?-d0=$bz-{R6$ezH4mPW=Mi*+366Xy^p%43Ub+LUfxz<W7^qBns|}VD8{jhbZ27pr
z;`O|<VUbtG4WpbpsnQniY$5<W*=fO0WwE}%T*1%~c;m~{UQVA*TSjpxr?7eVhAX^0
z(qejxo%P%#vqZ+LYL5czHMxmr&ql^1sgXG1+B7dUfK(2QUnFt(JK^u?2q)KY6M>Us
z0WfBdplRbaEQarR(7>^=m&lq9!^sMY)_4LH>%NkcO&1AMm;;Zv)u6%Z_0h;!l$#k{
zoWjtrmy#3Mt+dGN`pU`diRu~)+dwlzt3_{FGV6&m;u5?!E6s4P<cfvN20L&*g%xwY
zXn;dS-DWvKegin7w2+C3qK1CjIm at 08mCWkUE*8p*J-*H+Yq|QR><>8A0s`NEd&;x_
zmp%~dKU~EB*azy-)UZ1m{ZAi=0H2O%O{fW8*Wp1QJT?J<6;aE#F$R=HNJ86*T{E#s
zlVjX(R!!_Ny`&lXmM}fc!j-M6s_OEsGV_FRbXME=g>XtIx$DZ%&Hay)otqay3|_B~
zf%6V3Qd?7oo?g$}!L5X&!9jUAw3CC2Qvy0($xPf+?F$;8owV=!<uae1w-bw^q%|VR
zj?Z4B!3&qw>C2#T0!u_$iv<>IjG<?t$>NkvV(0W~nyC`&^zn+x#7R{x?hV|s{B3xN
z)6HR2jTDjD(Kp_utJ=Jk?V^f|%1fG7(>xqf2l)^7^_ER<$<M7{V!-XsGn>U#>~+aB
ztB^*Uetwy3AB9PE9sH|IiO#hy=kDB7rB`xUDesa{i4ga<JjFl(n8gj>&Y9-$z at H@A
z41p#Osji}HbS#vJn^R0h06f+Sw!UEr at 2heh>rTh^D$c7B#FEZU7L;3LCzvylG%dTs
z>1CbmsV}cYGq!P|v+A84B)~hpIB!<TCR}GkVuQzNc^5Vk$W(NWWad`|+#PLFNb#Vb
zqVE32f&|U9qH_=Qo>UYUwB>zqBf^ny!(Y{xJ|ajJq2>7S93t1dTQ;_`{iTSbGliMX
ziz5CZL4oSYJF4nbE|O<e+**yUa*<PkUxaezjSB%U_bf^xl^*9>Ptph?q@>A5&altz
z=P3gjF&$KoEAi8YF9AQjZ$zx!#6fx~0crEJ$;pQ8A6*x*ZGg+hY_T$!65D}zIU=jY
z`nk#;V+C9^gHf(5ymZJ7r{3PvVX at Kn_0+tzh6u*XA?A6=9kd+yWF(-5iHCBBQ2Hdc
zwC;zMQif)4y}XZ>7*hx2&x9!3m>}**rM@*X@=4zLcp=&8Pqys$a`G?hp=~6tmjo%X
z)U{~DZT1x-qkI~bSDodmmgfbs%J9+Rf?)y~4xI2FtNmInl#q!<@@diI4<8*=3Esw+
zRTWB7N$H2`1NZE+^2?*>zsIanY<V?_RE1k{+}{>4+MH~VFIwH#;BTHKXQzt=OcKUE
z4bE|OE2v><Ze~(+7Bs28Audtq*y??qNNZ7SvzC}|jT2XUIc->uOEW{-dU^Q^5|KhH
zLS}L&Dkv6{wHz<l%ySgA+8-K-jE5RUZD5tTd|u8TM>?JKqJ+?of#5!agX1$%O*V8T
z;+ro?$a(A#PNQpyqk?6+HJQs-^c2-46oZ+P<=uU^vB$B-MTrM{P#n1*ojuDE2aee^
zgzlqe+_6*S$gbXw=ArhN`G*JL!V(tMwx0!*uZ-k?JVDyezny%nWd#fKsuE1T<r9Z$
z-|L2Rv8~p)pY--f?)sN}EJ87CZb(&B?EB at o)kejDoVtI8I3kRoVV^x3_M7~aUX|p2
zKa>SW-c%wuvJU4i at vUHE>UTbfh15eh{XTIdj-Ada!bXy{|A75$>UxQ*Ge7e;RDZ>|
z_Y2fmLom~iq4+wnBPuN!{)%_$J5gjqK at lDM>dnd`@|XbyTokjee;LKka{+}eAy9!(
z<RjzHPFL|e>@rw;w4;81$W-i%U%iwEFR?_m{vlcoJXOvAYhPT0)`S2cA(2+dZF#dK
z<1aZ at FF&GtvGgW&XF&r@;2A1NB6gL4ei!}pwspbr?g%pHEN}1XCZ>59FhU}D={{_2
z=uxC<yFrhwu4YyBGTE-5n(}xVTjmO1JC29y>f}Qha9lr^ii58?gmbdBW8vmsDBxG2
z#DlN7yy;j5g3ndnl<3ngr0D<Zu34S_0kY2Gl~Hp_1n(w)P`Z%d81E*DQ)P#tP=}4Z
zC0&mLSP&ywLJ)S8G`&j)Ddx&pei6CSd*fEtySkds{lV#6yGr4*n at 7pWfO%VGnT-$o
zfI3Y{=`g--I at 4lp8|OXl!>nwlCIpagX-g_MsYH$jY<*vGi~tQPY8dMM=L|Mhm8o%D
zT=pd>pF!3?RLTsUg=4xlF&>G;|KwU0&VffusGZW9V7P8jwu^u3ok_gZQ87U_KEqV@
z!i_dB9_Z}Pi;x>3sGw at +JA59)LFd2=8mCs9(1qSbv(P%6UTwvYAu4ya^hWKUuUjO-
z^d?eC+dm*6*@X at lawbJSIyhhOJc-Llwb*68QXJGQq<p(7U7E?UA6XxrLElQ|4Vcwu
zdY}`wMh!0o*sJb(ABPVhYvjKG=Gh|S?qWJBs*>+aoAF5O08mZHd%28C8!%HuEQuDb
zMnF*g<a4=O5;g9ca9$Dp)1va~YC}S5l2raq#oyoZmAl8eC1^MauN|<6wUVfxeR!$_
zg|kJ at fc>iD0u)~$9qF38*SYxVg5n|#^k(4*@8*F=)&;fL4~8J9qhw3$leKU86+&CE
zm^~X?wWJP8ae}KzL`Xr*U<-C4PGCI1nWMe%zsXgJOiZ>{nPX(0ym4|%V>Xg5jq-SB
zo){GyIRFVfS=^qJD$N%aJSFU5EY%UnV`fd!!0%I*sY=r2E0ZutL?+~nY0y{C?n46o
z7ekfL)LbRnCaf{_k=co30;jeWXC-_54Xs9W`lQgk&+?J&2(*(e*J$<&quJNK6Y&n?
zh)E`J{ryTkZf-j8_Q-J$;^PTD2;f$Kt*SQv_<><($G+XHg%YOXUTS6<68u6=sa<9)
zC6D8`l4h)X`(44AC`p9|lc>Ba(<8H5g1*s$_VZ1_%k{`Qivq2(ptY8l;A{C%JYz3`
z#wT}3i{Hf?0GTdhmpl at m1?N=+2M{@j7dUTpP+uLWpfrcqRib*#4Us*_O3UmP&Cxna
zuu?eVJG<UN3sP;#LE*Tw$)(2$%qG6F>*_2ByK;&Pk!74<UJ{%#u>tSXZoxomdBd21
z7iDEk)<PC2`=$n?-!qF`k^fz|&v}O%RRMI6#fQFHYJ>WVAh{w7v`;0Q*H%j?+32kc
z1i%u|-Q2%@zeEnb>ZHu1{Egs_<l=0Qbaq}PfJu-svd6oIVP=;MX%X2^40N|(&%fNi
zgfeA#CTFAcOl&IGvi+SdLlR!BtmNxoF%OoAPw=;kgEht&CQ}8CDSj-D#Qv%Pk&!65
z=;!9ec}`iZiyXGlB8hlzJyx|hvVQ<lO{Tn at FS}E9<9dtb4&4OIx{Mdr1dh!w!!fa;
z=?1lKV(2_qPmX!0NTm`71Z;1P9A(EJZzSju6b<2`J`-#@i6;bCqZjoaqE0?{8^*1$
zm>C{Y4gQX)SFC&*rz1X&42&BC<>-}DwtN29rbJ2dTFkWwFb!Akm4GYNj00LWd*eGV
zVJSWO at 3Vp^hlv(P%BIq~g??ov0Lhx(=sUT-Ab4584W4Wem<uiAT(-aX$(6jHei%H}
z42eUgKa|R#Y-c_$E{P%SaXn}+ at b`V8At9!!YT(?mr5ABQt#0o)Rd$?sqc*6ldTuyM
z4LZ{G!wHNGq*bTM4itcLoqOlP=^bhctE{6;u~$aoWcyyA()!IBV~p4a7W#Y)dsk1b
zON|HmzX4YD<))D729XB`ef}mbA5DGu8;oy^YHQOGjJc02&Fq at l(MuT1%@L?^!C|`F
z-9ACqZFHWN!N~!QMB!4!xCEo|M{(9%CRwCcuY|ycMX4YtjwGov_Ik&oLJ(ZH66LG8
zB_X*XnOsQrwi?oWtP78C`UE9Z@}|v%2I#*z67V)dm<1zLg^ZYwi=186BJQr(=e4=*
z4j1EhdN(XNtRH{T>K+j|mcru0<5J|x)H0Z1PRj@^RlCh6b%FECPu>Qj at 4n86MpK$e
z at W>L!)Qe?AFA?~f1kBgoT_p2iUUL6QmAcX5B05VSlBJffr>DGPZtn?QfkkEF^R&Ye
z=}v}yjK8loqDs0i2XWpn?+-SS#a(qGt!Dz#vTJ+%epq_fj1bI5(x~CNp8>{GjzD%Z
zqww^;wCGOItTxt!GvWn%D^sF1B-2eF*JptD^VF^mk9)uoZ$?t4ppqN%lg8E;%)G1b
zC>Xp2KSYv8PlSr?`1n7FE0@%>frN8R at hHBzBOMZjp?#l!iGOMYEaljmp{sfc at 6~!T
z|7`IIv`EM|v6K at lb)OnC)1bP|8?G9u()os6q-f5=X!ICWBlmlag9X6$XT?&vKO at OH
zd1vql==G?XS2m)gUr1w`h}>Jm^kC at jq)a1$*|pm~PAJc8jC)ZQqvDm>vc^0hlN~>j
zKfWxMYrXioOvMmGI=Orb$lBGMgmg3DOhH5st$2$^{&oHvc9F#*LsPib?G%)ks{))j
zulv)eOE-SiF7gOE1cSw=qW>tabC|Fvv;I`|mkVp;o!v${k{trAns)cBWc)D5P=+W)
z<0FlcxaFnrqKg6W!@K9g>=dO8KIsf_rKk#G&1(r$Tvxc1oeDq}FCiXf@|9D(#SFD;
zP&HtwVVqZ3)wS{ptaZsu8gP5CtV3Fc`<<Dzm#Z4n4OdLVlvjg!)+hP+rtmIdc3Nz`
zZD3t}Sf$gb;U_NrHF1Y9^UQ$vv{bRPj*fRk);cmh<^*p|;&<$jFxB%ltH2CfCDbMw
z>~a0GC(IYUyo7`Tu5)^2{I?g1ZQV<t^NB={$|(<Wj5HvND)-kLgw*O$gu7G at a_S~^
zaX&gLzQ$3lhgV`+dfuy)g3#1LBTSUuFC`=TqH1DYBRj26hx<1?0(IGHP1<&9WFGm+
zXLa31P3wUEt&p@#au{ERSb94b8n(muftzwS%Ov|X)gJImXIS at N`eFKVdLimcTq4cx
z7`oG&$(M@*#+%83YP;bprUHRxX$lSeNpz^rd7&<^G(eRF=5&`Zn$7og at 2onWEjKl3
z5vtaO)lap})Lq#!mPIwNbhf)tzvmaYhv_%;|5lm*KU`ng!`=j+PR`I$$=L>qP8Oem
zp8h{+Lq{iPe0BzAC^~5qTQg^Kd<J%o|5>Rxt*K*&)rRP^TDNC(E7X1j!$BOC&!0Ug
z;_nM00o6P`9YlHS5=>PGW3gQPy1L7xcs1VT+Oxn}14z_$Fq3Fz3U_LhVV(_HN_;rs
zen09ZbPz2UN`Z+d17YpWzz{`X77R2T4S~Ten at uK63XNr`L=SC1I6E&t%3^?i5X`}F
zL?JSyPVnYG!QeJvC!K4^3iF;l70eJaRC#3|W6i#&*$oKskSGnnO=%1?2U3kuuM9H+
zGLm%94a~a|;m%h=57};7j!JJgieEZ>X;?@L2wT1f^_BoI?NKD}O$$b<Ke^sd_?Hsi
ztA03woY)_s8;_v_q88H8oz at clFHt(Tz({hWgnJ*qUpPqE1X4b~KoSV0LpCwL=^CV8
zI%;X~08!M0yauE1VGj(616EE at OhMq-0Y*H=htM&4J~RGUyvbm@=vfMIEzp>tEWL!n
zayEK8H!3?IX|zZrh5rpy_ECORSTm-8`1TP5+l0)Xih&wELNv$%*&Ng0?asb}@&Z6c
z_##$1Ermlq(;c*Ey&x)1fOJ3)_f}SRaYR^8qU=e5`-6Q2_z<E1+pR(6UNX0PG1$F4
z>qs#(RDJHMn7a<4E&nWWC5U>G<6Z>#w_<<{&s)kr3@`#MQt9klQTe~r&j$$d_+QRM
z{Z<H)J0dZ9(C86Z>EmUhLEnd`^J34(QxluYw8ckHMIJp?o9$*RqBYSv(&Z}8o~>%r
zXG||kt~((g*1TM5zRWf_VEt~Ac3yBhCl9s(YN~EHBAb%FchjzZ3Q`uiyvz$^UAYgC
zwms#Y9l>(X4$T?e)fx|I?A_eV3z_c*mfPB$J{0`wT>%Jq9)Mvh?PZFylOgixjxdGT
zesvzJOp;Qss(q<_XVq=qTxGJUWsRPV>9d{lN~ZkhiS+~K9neb_fQB*6H6D{sEXO*w
zzP3$|-aNM75o;~3Zr0`5I^C<E_Y0p*U0)p)JYMhm)9F!KwbNxo-l{B at p4y+1(RYwj
zEgf64Zav>`86#kGm>B6M4eA{nQkQ>(miHk4^D*`?PvkQCNshI3sIWIWZ|9*Ew=U{U
zm<NKN4Pngii3e6xGAio$u9tbYDK;tKDBtJpIKJOa(AS}<Q%{bJ+S8`zUaMGsg~(-T
zl31GsX|-WSMgYN-6l`0O`$CPj#Sz1uY^uoFbWY*|_F!V*;-5 at nF~lIR;XQ}pJsdfY
zG5DSPpvQf!b+oEwXvY*1b+Tk*U_-7*v~M1Fs=9`>RX<&A+3RkN>9QBTs_j|J&VO&M
zv?emM$7ky%T{ZEmpNOIhL!X=MBK_Sqv?zyaLVNW`E=ET77~|VVR_ube0Jt`%PnWKb
z;c^S7QZ$&QMd%){d2QQ`9x^@~O_=B)bVVTM1sEGhNPy$87)@qILel#h1ij_7DV0yi
z<B1dRqaEPw9=FtH%4cJr1<!%Q3wS*ot_bjJw%A{9dAI^Kx4H5jG*|n;XxK>t0`wxv
z(mj6tPE*j4>)XBvlujRROJlw4n7KT5BJnAOY6$P_K0dDZ&|5JzsWZ>cUb(P0-jDA{
zS(Ja^D?a{<s72lvb3BXWi-fRp+;>2gF`i0k43kh?-~)EBVF8#kaY)3Rd<kwxGVF at 3
zCvyBla{M52`($O9`A`PwKg_2cW0=uJzqD$HkUG!kQKf4w<_AR79~^1LIA6^|x#rH2
zkS1A*!wE9#*OVpUW>k)10X%l6iz8otd4nI1$0NsuKjm$FwzR%=YKKbFfB99Q5OFpU
zpPeF`CXW3;WDT<B9m@@{9cihM`6ICbuU|CJ*4ObCO;zox1{P(QtWKv&v)&ca1wUew
z?FB+4!9zm`q<43TKXS}q&YkK!CJd0zA7zuel?ZRe^<1%-;%r at ji%LWe;>>NHl&+Rh
z!=pb!-x->LJ4v$D=i~YUWBKRbjg3mh=BxYtWub+>|0?mSm1t~h;zoRv7fK#`+wdh?
zONqw;;-CN~ho8`Djn=}(+AP(Thfljbc~*69S7(y>Nuy<TBB?**i&hbhXjr*-%0<UJ
zV{CppjO8s*8BGe9NGHgCQTSR%8=xUb$v2x%37<i<)T|nT#u1L<T^u|B=q$pDU2&X=
zzB^q<fScDy*45LVL)2Yq7|0uJCkXPlfoeSCGDMC;GWbXo;(hY$K1)jSP+%H~^8{l)
z40IEb9?%qCq``t6&hpjrj$Lh1#Wky8^!?tn4b4M^{Zt^wD6PR?%yk+fGM|0hfDH8D
zI>v759DR;b6(xqfdOR6K=dYTqiLVCJVT1?@!VZ-~2E462IWX!_H}iY6X13kZUAXdI
z<|Za!9W5OWqxZTw_hr*<h~B5!9NzAUyHtYjIBY at M=g~PM=y8wH8km>Go!-~T5GNl%
z4nwxm>!qDs6;8W()Av^0u-9IQ!pk at 266cHbr$7mO20`O~%RvZ<ul<2mS9zWCaXd0W
zecONIcPX;mFxo$}p8Y=bN;P_Gsr#;fbdZJrFnJjr-P}zOpW|)ciN($%{Dq&?!SVmU
z*E$0;(|`FqW at GrDtvTD+>yC%44?ewuaZjXz_Cew{xQ^4RitEO1jGxI89p(|O8dM6H
zxK2lxZCC(uN~zRNSH at PAqTKzWZbfp=L)HTOcv|Sa^bPn8^ij(%pe}MzSs{Jy&v9tf
z(OQH3CU!?`b$Z_SiWQ(m!-`X=b#<Tlx^-xMBD*`JpOiGTse<9+ejW|UiXywjSuuVO
zE(t1ao6VD|Xi~UVqlBh(zJA|_QMY<+O_a6ai3h^SS at U9d$)gA(0OYH|l;;WG*T*8%
zg`9dS>$JZ(_x}GGq&G}Ccw1LgJnk*}iE`_*_6cwj-Tba>r(V2ZoT~dy%X}d-jz%io
zfZvrD83JkL3n12R4Qll|l5D2LOzpNgKaxf&O&QXok5&G8;nJzzKaPWjBCj0rVsq|7
z5FP=mWsTC)`{KGYq$fMQ6R-~JUQ-jnA9@;Ngidn^(q|B<Al*vG&7q#-*yBS>Hcxkg
zv~Gx;9{=TAFl6fiU`Qal&&wP1n~4Zc2!$kkB3iGLh?auPM at Jc3w~K4k!!zMa69&TK
z`FxMQ+C4s3isUO1R^*C%1EyXHKhRV8Dx;5tEnv)*ddM&dz6b#;SIiJ|$kh-rrpBiJ
zvG2eG!W#cR-RapP6OcqQ8liT!pN23il at rsbhKna8p0DvvHnXB<iiCKEL~fsH?mi;<
z;;R_zXT=<AI&T2W(K08BD2!_^#MHMx*LR420k^u>v0x;!sBHQIIxFWk3k`-C2xqvb
zE`|VXQsN~p$s{Bu)f`Wqme7?+00R6|WHj9#hActy#~W3WI3 at y6z#X6DJnXypY6M{p
zXECZoK3U$Mg}$b*lxGD7Kl3dXA7&5Gu$3ihxpsdCYtlGZWqdfU+&Q2I-Md{1qhYqp
z6y$LI-#D75==^>&73uwGeo^0 at Ed%iEQUAPne*G9T=L9n#w$-RTA3z|cP<6o#PrAh$
zKRXt;c0qyyqW)$-`Lih4D6++Q4L{WAIZk1gE%qVApoTqEp8YtjJIsuTTzV5UYL3x-
z>qJ<YQ-q*DSJbIP1V9w at i?*x-n51UeTG^3-?Y%-X1mKMNnuhtG#6LCf8qLaP;1N=`
zEXCBGXGdnNCd)P#*C^(ats*1UZ9mgDo(ujSTK0eaTMRRfE-C1-LxSSmnI-2xH_-lq
z*sGp%{1r|Oy6vj=Og#WI%oB<QFLc40P2&PWS(yxJj2FUuVW&YtMeJA`IFRNRXPlM8
zOZzJcq-u9&+($d*nRU#D&zl{jPm&a9=}&4I3sJd11E+Dme{2EPsQHF<>u=DI1JAk_
zw9l}0J?Itr5+G&IrJ{4RpGC<(s506TpzN~8J|fRAaD0e5`vj0%lik-RGsJxxRV_#>
z4X_+J`~Y#@y;xgUst=$`P7sqW!{LK&h|G2JgaVS`c=U_`3Ro{X9J87RT*n7G>c8Cp
zoc4>0I$3dvNQ|U-;cni)hO7cy^{~v`89t4$O|Y&HC?Y4(!QIbW)U^bX8oh9Ko5aC+
z24%IHmJn4Eouc%U=cdvs*hCS7_Go`Bj8fY;N<A8s!GMlhBYfN?Q8i}amp80s2B1N@
zX`hlj?Ys|YDcGsurdr2G0#1PHc5uO^w2|9;O!Q`=vQ))ylyF0k2yJ<&f}`+IMMF+m
zi;fvWsA1+3aZ&E!tU`ocf>legr=qKB(fAVAbhp8<(4$>eUPUUoPbnq?Pt?x=%5Q<*
zxox*#(@!m+#-IJH88{#3D=>A>OEt81mk?X)E$*4Mr*_+ at bM1`C&VZmE27BV?9~AYu
z*y1Jzbin(U`2<eW&BaASbwvBqobDe(*-LI<m((Zld<=BeDL7#R0rCgdUgaer%PBMg
z-5AP10GTz;kBi{p025J>3Hey>!ctG}gW0&Cd$%5|(3p!(d{h~N4Dy=$@Y%VLw38VF
zHBbsVmrSd`bZd}?dYtuMf?`XZY_GIs(^I{Ip!t#LpFv_d2 at F!5k~1hmHGbo46U6Mv
zLtD`Y64AipX#<0Qc)v5jFHE=tS}ti&FCVwD{4OsIc0;2VQeE$Mu;0Z~Wp at k23@WO?
zXaNjoI at CZ1#7?)=q^UyzG$v=x4(+mcHWO&6cTI;xjh$hq#(v8taW^=9ZGDhd9F-q^
z80kD>!!P!N?D9G3xJq%qc8dC(G7#~k<Hg<#zj#6wJeXUkl at pjkrqL6Q;*_i^9zmV*
zl-7JnO|A at 95s>I)y+=Sjk#F^88aui9W3KFo<H-O_Q!|7;C^ZAwuoh^#b%#4g5JDCv
zuWT@^zPNR^1c6C at fl@dx at l-w>!`uSp07mo27}qeT$BQ!r0Fp&?x(ES4s^P5z+3?>c
z4mneLz=mP~rl}Fk7MRMDCg>N^e&F;P#Ko3iiRj2K0S7mru;CSX{^6B06g9LuEg)VI
zwr40dwrweYWbB$)Y?)PLvn at I=mC^9h+7KF55LfTwS-QBo_M3<>bqZtEpU6|U4?!Vj
zeSDH7q=v=gjoX_Mlt9=5B>9~U<kCv~XmxKy5FVxnG;0dRhmf**mnIm;PG%+;_fPCI
zKi%FmRIC=j08Mk!;5CK)12imdWH)>0F4qu$f{!tJTJHr<Ne>}7O>L}S0W{JeH)bSq
zmiz%kM*nOfW0^Xaj#q)XsSeA@#SELZVy|#u>jj(Y8iiJiTvp`r63Uo>YSAm{756$a
z<KS~G<$KpcRbhqNBLdMy=~NU{^8!rzDI702zbp*L9C;R7KNLe)d8y02Lw;~Z4`{_{
z3I+|5nab}9;3o=e`Ofg9RnrBff|hMv83K0za$3>F=)s~x3gmH(w&(+lpAK&uky;e%
zBc`JUx?C^bE_i+MCU_3w;vlVDmKaukDJeta0&tJu;=jajvDeeRh!ZX)55hV6lx%ld
z46%BhuZ1ui at hafx_KFzmo1FDIqKGK)2}(EO{v=e+_Nh7*S47B+zoegy%=XNhTsb9=
zW(KAhpwJ|(q|Cb}*$LfJd9|@i_G4DwX3OuNT*fA`sD<GvzuBphkosH-#guB(KT_!G
zcvTQ#@?-(MY2xFeadcT0eLo<hz%dK>M}Q)j_N&A2i-X+4 at Qas3uEVUTM=3oB^-dMR
zf7onZF^4}&Ne7oIeokS+qpL4BvZi>zl^(7%WkW1A0eR(wq at Qt(?nGpwYT8^D*cA<E
z at 1N1DJ{A6yd#A!rJVWkc$t=G}vR;YnpJYKS5MN>)AEL0-3Dus5G3V}xKZ;7d(6$zM
zCPCAQ+VLK8CWsL2j(G&`Gn!tgbc1As6d{N~E5Y-TYlNWm<J<CjGCC2B9zZp=^a+QU
z!8IOVO;zIN6#5z|K+WSKuT>hWB@>dcOZh(U*Yo}2VR?4<+w3D63<?A9SpHf8{GZXu
zACVX6bK5u!KR8nH8K<pv#{mmvZY=7q|5LQxoW~WrqxX+{GE1M(=~W+{=x*F_<?H(z
z(O6HNX57^nmsJr#!|=_CK(;*@Z$BzFMUh?7^r+k3b60!U43_tnv*C_GWorIW8BMBU
z at QC$X40QZr8w*0IzgHIRmawoZZk$TLt)*k=dgpnzd*2-20z7CG9=un7fYF9VYl%`l
zK6mdc#6fEL`!jSbTJ8B9W8cG_R;jN<r12phvoy4x>VzMU(LU!rpDe{@*k`eLt3?WG
zJ#uEo+4A1CXV~2C>5pv|^Y?`PqScsX7R(Ums)?tLU8wYyj*7%$U~=%TC*I6F@;54(
zFg|t1t&nTNL6`Nm<hV+ZXkX3*^nO{)yK35miU<A0(4&O%Eb24h0~knXfX|<&1gv*K
z1hAEij+kya&BS!54{8uLS6o5ux?XfdN5lN5v2%glXX9=(q?vbWV~8OFz!f1z(jvlS
zV~SIQ-1^DuYIxJ{VTV7etQn|fIG+u{co9+5)x9{wA`VS>Kxp~dT{1c$T=eJhgSHp;
zm(-?Q8|nzlBy026zK2DWs6KbII_ZjCheB#G9+_LnhQTfj^LUF43bRZ;J4}7Fq(H{m
zBEh@=7~z%?-tP3q4Cp``8?l<%<>%$kJ7lH$q+(>RUHp(puiQ8|`3pmR+&~vZGxj~;
zhebOIbKoOlH^L}r!+{2wJyFk%4jE|{3Rk6G>jX_Esxz+Dl%q&A{-yo2=VGjE{@=@6
zoa#&7g{(0WQ4~go12caGg5?2*qRjzvGSX25DNC=on?~EU2E!I{+tNRgvP<PAV(>YA
z`9){&Wsw`QNr=SMqc4#ZA2dv#Dc<!L_%vi|uM at JhowI6|Z6Ekk?X!D+uRyM6B7MPZ
z#iYz=()+%wp{o5s4`1<^Ku#Q&PsN=eWMAP10&x7L``S#tLlrq4)Zv6%vTXTeLb&#K
zfKz1b_ at 1f=!MV{SgROahiH#;ovmfBrsLkKjxW2r%xY~07FIrjg&(pwHWEH=p{*0x@
z@@y|me5%IEP}6z#{YXqarm4bAu}()Y{apzO{9=BN{<~s<Sey9(fNNQLFMs?6$YC3^
z`8&2d{EPoM7?4)U5eDAzBKC_4kJ1 at 6AkcGUne;JazZG~3BiCRXDC9N`;*pL(zx6hS
z66$#l?&oy;W2yBE?bmAez^@!#X13l?RO at O#xf%eIpc~#&4KI7M)a~yR5ak9jGFCZ+
zJ$AIO?#0LXOi%e6rOQACADo!3?1~kYbXiB>YDlyUIVJ$;>5-+Qw%=)al-~yxZm(q!
z<o4XF!udMYySG0=+AToQZYvq&o|~PSFnx2aUM>%&LOr<%(yroR&=1~QK1z5p_6~_`
z^$*<XQ+$13$Fc^kV4ws#`u3Pjy-_TILF<EGEr<ySFQ@^}&kpHSH~6*A+A;A^{KoDA
z;FO1~62TtkXyDhUxKFzc1(0fSZnt at 002t7nCa;&FRpSau*bA9bTM}sU;j-$T65_C`
zerD at 7zp+?OKTI>vtL5P{B<6npUYOal(cGVd$VLnT{tJAh4!!hWs#=!+hKpum{GX>A
zN;IY7wpbB+Kh<Cy7XWNUkSkVaC?Hp&t_b=~%@TwVL9AKKG{xJN3YJ>OqP}mn=p>c3
zVqrnRwvaWb8zV>RaIsy|2KZdmj@?vh7B$t}uHRKedw$+yvG{%tQxH3G5N-%3?eO$`
zzDvn(lv7zXif(Z83{~U8y7H24V_z6K{Q4F($&Pn#+(wZn+FqOwa_zj?aAs{UHa>N9
z(<DheTz at YQ`SiZO9duj9qnhbIpxe;P`I=@srBy(=9~q~ihP+yktSgr$oSnDqzXPy_
zlAPCGc<Yjio^<UOBOYBZLUTWN0=Ty<!yb>1b{@xYiE%?d`}<mL!mRxA)FP-qncp^_
zd*FS{yy9ngZuUYpaoMpue=t<Q4sMlmSwjph(xK1VUAiOPC>H)LVdgejqJ_d~X&7#!
zJThmVzGH8~By;yRk`Z1^1*Kl9CJ_w*!x!64V*#Eyx7H_$6Wt at ArP4vqW#b68$rt8x
zBMJpwKZY=Z)uSHk{dLcGBKdqffI`Gwx1?KxB&?1b?Oc!cW^Zq;A2-qAVb%5E#ZN*_
zvIH#Fr=<R|<Qq0zS=CtLvtH4HSLtmxIL<6`8 at 24$M-cWN4Ez_97TEla+dY2$jIzUh
z)wPJLXKR(yqvu}+UlBNZ(DbD~BPPW;sj?f&xm at DNHqU0&s7adowS2pPtIIbysELf=
zVJFgufMA2iHEvb^RhT%ZSS2A)8qjNZ2d&=!_Ueb&a37&c^0L`Krp9?Wa9O%l?8P14
zGASQNd1B51&p^z_h{zl}pC~GGNYt8y-)fBJxPo)+Mba;A!p>rj*<$f;GGRYWpLU6g
zLfu+S?>ER8V;o1|g0m9oP7EQ!R&E=4KDI9u>q`0&R>C8v?zP0pUJI#>rAmp3Ml}tx
zKo~n*kJ0x84`$rZGjW>vnH-%X=phxj|IsMJR`a<oiCBNyDUn}WP}=q2I{lfvU;76?
zoKyudELvE!4&3{n5W%gg3lM}U4{pc7SW=I`3?^@RcmoP~MDxTojLD&(_V}TYEdygl
zAZ2s`sS7w`x;3w4NUwDKGiW_DDnh|cDB#Pyx>IqT`MI-F2WZG~f^=#ikD}oxIW at 5?
zR*qX3upOMPb-RAzsU9<Eui)QKR69Jlzn#T&f&BSRX;T%@ig@|={@<d+Ac427roV;F
z1h4qowP|(1Hoq2j3i-p|;xc#WVh`bS>l1Zui_41)C?LRVWb|+}>;MY{doWqxh#>+D
zQw~=U==LyAD)qf at S;?A9Q at Vr^`t6q;YU--c+nKMU4lduvk%Y?kh3*sihhk=80Q@^B
z*c^fpxZUw?h7bpSW=>VYXojR_4oS;~%`EA-bec#ng9Fb^7M=#9S5?JnQ}^C2y8Uw<
z*G`2 at 8nL_hk=k+#6Rb?|sNGC#lXuqy=peul(5_%FcRqeY?LC7jc?lRDMGawDf&%au
zo+vU20(4W4JPg(kp*AK$lq)3LQ>A-TtMOTbv+u)iNy5Rq263UIPLm{*gYWhRx@$oD
zQLkXc2`mP$2zSYKsI6(+Q*h>=&~b*bhx*o{h&%V8%Qf~PU&epFjCsOr^S>(16Z2wm
zKBbu9UDsU at eJA#To;2nVy)H0Ao`QmlhBxPEbV>og=|N)$GZXN%*i!q0ZVWE%V}WTO
zVz(BxqKR=rXc52`0->^hEwI~J3L~7)q7_2chOC5y0yTgcdPCd~O|F6mLwA$hUhW3*
zXoLxID$)2ttEiubu^+I?0(h|9ji$OzFDE`~kRl8p9DTSU!2H+vaCC0hki1G0^}DsR
zTq#-u$S8*xtOkV5aVFBy8hy{)kgJ at N?f?ryQjL7- at 0xsWJTLWHWe*J at GbbtEL4lU-
zqjkdZ+`~BltJ}@6;{0u%8b7i{sF(QG at chdT;1jUy|JhG2$89>jNIFCcFpc#`UIYYN
zjmRD~H=T?i+07G$-4WhoZ|Xfl;sYpCwV-UCtkocr2-NrCmR{7tg`s$m>9LN>(Seoy
znelzxup!=(Bj8{@=*Tv?4DR9ZSsMXSYWe;~6hQD!fE?VX#E=hHPTQaHeOG+yz>$n0
zK*-^PznT5u`hap4CxjVf)Y!8I5zCC6_medOrlkHm0HBKW4&{J>lK2Ko#1XBv^`YZq
z^~dL9Kr-9=b`+LGl7Zc($uiXp(bz9`fMJ at qgYAQWRX+$A(>c8^MDKAE(UdK8Rxgv{
z9w8zPoK)GqY8OXfm-+MSCNH27ODJtF2<LDBvnJS?3sg@#CNwZUVc)pBpI)K~utYDw
zh+KeUX_T2Cu<#21tn3h&J8F{nh<#+<mdpsX!a-QhBJNSqV}M?$>;0Ou?df%x_RD6m
z!uSA at lOCOxs*B2i&@u<wGdd#O3nvQaA_YdsLQwzK&ti1C9v?=LoV>A1uRT$1BaQLW
z!?P)+B+jZJLMqmaw%vvF!JVl$M;RiXVRyk}+pVgIBLdhFuN&ON>&rPBVt0%TJhiwm
z5wIDe%z9B2Iba0}L5;Q!PX7nX)ywTyue(oqB~<wj_vZ5eT&mj$j$GO<fmxYBmIfXE
zc@*}O5gbSt)mhM8o<mN}u#AXILx6d4;%)j^p$=URSIdMEy-zX3MIWW<sxxhIYO^Og
z1K0z`DSroZ#@|5-qK*%s-Egk#A4klZF2)}4y49CgB`xR6UROFCuLXG&I&U~d92rM1
zyXubO-phmCDFKBm-i7@#$}uQ0WOIZFGHiY|%^2~e+q4)P2Wbu`?i<>!Y)&F(p{lCF
zjL0K=2yL5B>Xg$h;2wc^$S5^<G~zM<9#)KHHYD2#@hog!{erI|gG=V at f08YQtggIo
zy&GbUSN6n4P0=)nW0r{&?rxvMkN+GEqms-oPboG at Q-0UxfcO^?8L0AlhW*>~1P-wf
zjuuyr6Y8=!A9?u15U9N(0Gu;pYDJB1pXbG6pNux at 2IHwo)nOoD?6l^Oqta^k-sLrN
ztnoC6dXr!_jX~gJv<G-;dOL^^AiW=#Z9b&7MhJQr=Jeb55IqAeQjN|m<s6L^;MjD^
zskAe?Q=SoT_Tp at My@hGBz=|w?1|}hBGSCcp9uWu~`u8x1vYaK^%@%mvzawvQ+eu6p
zk~f3*fLa|;XDY>`f4nc=sis|9L28DuHoulwW+0#mb|1|*BvDM}{wnm@!%d&9AjrY0
zDHfV}Q;{2vQ&>VgM!DleaM#{dF);}Hc>O(D at TMkHqdbWZwhXCEU(tC{p(lq|$Qp4E
zWrb(@4(fZL+J!vhVtE^8nIBRT!LAEwR0p0af%)nuIAv0my}ws`yxbr~zL75o_NH}d
z95=QH>4wssY at GP?4m`U0kcP6?068FlA9&+(^9J82_%uDxH<)~Dw!v_CZH7*!%M3h>
z-Xm3r#LVoIy<eHB*H-;AR0qj^TFnJC0AQ~uYQWXiB_!5W_)WvU15KR0oN8q(nrdy=
z3_n)e|Gj(;Uxc|&1Db0V)Hfvw1{q8q=;n3%=$z0nm6w{Kl5c&gJ(Hneu!Gbe4)0v(
z0Vow|>vNn4kIY0F6r!uP{Aw~JKqx)H*L>IuwqQ<)9NYOxb*@v68(_Qp<jRjr?>OgA
z!~Kv|Z^Tzs68!$jb}1<3)R_#KCx5}^{G&Hk?IFw(J^IL-BN-?>|4Wk1spEUI=l8)#
z)-#m|q(UE5l;7Hhev+vR2Kmc;VRUBw-?y>lNiRHU>jlm*ZoxDQqhTmt-yjl?hB`eo
zA4+fFBR7F06pI39_0#J)oVW8R<tW>PvXpg8JI>|zYObYE!sEfM;*NQ#KvA}e?Xa|6
zzLQh!WoC;V|2zNaJ)?Vu*HgWwE?}5IgQ1tmE;nJ%-bD)qqZzl(&(|uyiKJW0Y3 at af
z63l~=2Svf|J8j^1L*Xh+^A)zRdQ{}b+seqJE#{IfWedPf^^6m}6`ub3=d4M)1x6*k
z!mlsr<h(=DN^I0}#iGZ)a&K=%s_?YR$XTks_v(kKSqi_hNb2dxEby^gAxI#Fy8Vl^
zfc(1&u5%79 at kZTZx4W#irDTf~6+cg at sHJp`$gt_tEoC~k?-SMSyTB?fn&PA2`tmp}
zZF+28`stEJ3dvA$j3n-RC8wYyj8H7!X`2g`9+3;ij!Gq^?Ijc5XY|Z6%{n|GBC78*
z8s<e)A#@#)!86N0V0nca=sc?kBIxLtW&4f>9?WUP4QbrBU)nmOHxml;I$@mI)oO^|
zw&SIbjLRlJ>ylXQ<<vFJ9X at -#GcK~1Wz%loie(v=y?+rSn{}g4=&9ikWCl?Dw$nkX
z8gA`&Xb=2b7^GD0N9&uISN(2$r8TqOD6oc8%V at oG6L99HDxSoRW++ci(VVp6O8LC;
zLl5yq)erJYwoHRuH#WR$7Zug=TymU7>`>C8+2A;nBVDkq4YuM+4w&<ge*tZKW)l8e
zLG at pt+sq7X|8tvgM0?w5lNHf#_8)8Po!0aow%*6mYc<QYG^2}^?RCzTF<N*tTfA6O
z(P5$Q$Ms$ykeOor&!IHeABcdc5ko%TE`Mn?ke?!|Y1NIpVf&tqD?Nlwt=(Gf!!*C1
zeBUh=nC at 6n-`9^3H9ql<LShLCNwqpVL&dtbs@;{{U6U}@y1H79Q>*9a<rW0TZ=Kf7
zj$FIT!k*1jn}&`~Q&ELZ)2EBLRlc6L(@R^`31dP~KjJ8ZCk)<@m55^g<ceVN{q*na
zFsh-|F~>zzm3Qz5z`6>Q5(!F at q19T@gcqKJoi#k$3$`%M-ENCId&{%6ZXc(tw$?=j
zdE(r3%2az2;DFr-V&6jMTybLQdSBG!8P7-7 at RM2F9_fr=CzI6yilOD77jO-m{i!@v
z5cQNQFD~c4g9v6!&93D-x}QT6#`GkMRP!^;@!|@$u+|r<`Fnd>#1h~rKbaa866s6x
zlBGK5dZg9p0ag1ohDm=`mm<H3O(Pvn5{p|$YY3`pnU-C(5)#usVGcCdt2D1_+b#KD
zIK5Sm6Bin)HX={{%laukcR`J9RwiLq4-ZhRxs at Lg^to$|KE&L{;c#c-#Dtv at B1G(l
z&d{7Bu%mp$oJP6j;a8Q080Gqj%?ca_PJ%(|5^v^X$bxf8j1+MbT1DQ>3*r81 at hGJ_
zP^L^VC3D{RM}O?fTqq*lP91IwQR4Yzn#O-}cfkQ-a4L^#jCqN?0Yq%?op@!zn5WPq
zmh;to2qB#k()rPB<z;4qQX~T{8O8lQ at 3-`K0t|D<K`|{r)y<>l&%$mTjg4v!y?K}V
zjT!WuZ~NT9BE22o9pvNbBU^v>ilaCN!XI>aI4yw;ZHfX!;5 at VnTwoc%Pf<<9^D?Y?
zq2HRBN*qyUk+2&t(MxoR at D;KaxMh(j@$1@<Vp+am<IB%3%e1cE884$>gS3=<_*G7p
z%T+g#L(gq89khG~&uvbeLMsT6-j?U1Z)Uq|+V_fBnVY_yqFx-fx7!>t?btU<I8c6!
z)d<O`JdN`&E;2}NxM at Z!{$B--KZq6`Kf5}ylynO&C%khAm5y4?GpPCCXhC at -^m;9|
z+r~EYU$W)=s at M6A6s_<63o&fK%sj^1eVr5BIxr|V+bgpGqaIu9vPL37J~U7$X+oh~
z-#?O-F0EWAbU7|NyC?$k=KZfBL7s*_0Iio7@!O_0xY3=pv2DJ4(+yw-p84TgUe-)U
zo%f=-3&Byd`bSClG%`pcXNKso836j!urlSn^z8`ro60~md#OGv^c*N8Duw8JrUaQl
z$n!%X+>Da8xP8f4AN!2$@q3|5gi`>E;=-A+FGEJZ^UVNt8S_)pRReGUS}>(HWgupV
zBV2A9WF$q?0K<ZW`x<Q{FuhixzLyX`$E|;P5_ePx{L%EccP3=%6C%-FPh7si;-5h9
zw8<nh=SfGEpt2E5p_({}=_|fKutSmWvqyX<SHhfTL^))+rTv7{i#R!gYND6@$;TNa
z=JXE7w6buFE^!l$RvXj7gS9sMSr|;9wo1;|_(h!<cVfmh#oEWTkc3H$p(EwU<FLV9
zcFLGn123NA*q9s>eBSa(#*hX$PoorOp~jfHr<z9DZ0<%zc|QTXpdUDHbihUT2EuJK
zVpeSe-qhgT7JE&i{h%>v-G)=AaWW)6ZzFwNwURZy=XpM^{$wpq5P(XRJp2W#&^2%v
zwE!v6C|*Lc1tSaw98{zS*m1rx?LU6e4Yl~0n-VSseB0qil1Km`<C;n-LLPa#d0os<
zV^$EP9^@`In2b(`r_~?smR8qGoUrU00l`L)V!83)n2Yw0xBdwH-Z5672 at DLFTFivc
zG5aCd#IGh?$YO21u-3x<<Nl}RhpLXM8J~9b*GAhBgoyFAVd_E)IzAt^T#E4GLE}%i
zr_yo~A$Y&B=PIw2(_X$;)~4C*T-`}-6)9cT*0h%NMJrH at 7kZ9Zr;V`nf;h|_P2loI
zr>pzTa8V#oz@~`>;h(pW&`6;DW;6(JsWI2f4{#3RhQx+%-U(u!-VoU-m?xXZQUF=q
z&Ye3+rE4cXjojTLdB(5PqRYo*iG1l*S8<iT#|RpX2f<Y$nCTCI{*c!5uvRQ6_?q3|
z1)dN2Q!&#l85d`sayrq!9@=o>F_~i4eRD(K0TQkrMp{rSX&$Uwk_CV0U_}42^Z45+
z=e>9aMW#<HgtxJ0pR8fex0a)DaDT!EpdP`+;|65=#Dd<WR2Jm=M^$)>DsV`5ajf)?
zy4{unAOLFcU%p0-k?>_vd`J#W-6<w-LDX at 1*Q?x}HBC>Z;rui5_2Q<G*MN%$n$ib5
z>oS?Tq7c$9li^T|aAV at 90c<AMx1g~rN{S4|G#9huhc7DdbCW{dEh_j6BKK#c>f;sy
z_#YEIGARHsJ79z2>(N#{V16@#0h at G6BKv~!p0>{#!Ek2&<DK8Ea)wP7V+Z1}-bKSu
zLH6R+#IJjXzNXmL*9Gmdm4pfOC(@ZN0nRvu2PwkQ42KbnR?C?b00ovFch>j}nW^~?
z71(82x><iK(KBLuABMLJ0y)1Oa5W>~b*$Lj_cEcHQc);z8Ulc1F3JPWx}8airzPnI
zBE#&txC2T!0Nj)zXOD6Ctq3<7^-6=(@6}J`;Aiu%W%`b2AGUKj7drYvH`88!sfL5E
zFv+7Ff%|Vv#m#tV($vK8PRuhN%nJKko|HQL8Mou(-n=fOv<C?|r8yG_s%>aID|-GG
zfW{7Low5LQ7MAyDPgX}M&s6}0JCj!MR73+Q=0mR0z7sx=(k}|;A0%%o22nH9FS;r+
zJxRy|C{jz7!$)OUi7)TJW(H}}sUo<Ews6-(89oalNL|V%{<j71#E>#7n=}m$u4Kfu
z?mSgmMoOucObA?KGB9&9Wd!}1Ij#X0gI_#7%<fZ^pxK66-*V*Pdh1`C^jR_YTsRRO
zlaF+qN^ru1X1{`}%-1IckXNvnfoQ%BlVfqPxLs1F`EN#j2JZ%yT(e4)$BYl)NJ${>
zS%9J`d_)7}T~E$Lo=$l}^8A2z@>|p~G at f%ZKI<XFlVFTnB_j%iAVY!&Bu<nE;W24u
zNh+#m_q8=)jG12lIAT}>lRLgAH2(`vir(PXG~ErAQo$<^{A4~sX1hDSqW?Oo@$c)@
z)dAnNs0FV`6^sw|*Hkr!of5Pg`xnMAEbb|WzzCHJB#qzoqvsMm!3_ZsFQN8Gjs7`>
zg>;{Vr>V~3;!-o7nIVxn;~+x%7RXs7H$>82+Hn<C5lD&VJ at hbW53Q)@wM*_CeuRo-
zm7$>+InSW4_T+KVZMi4Bn6a17H3*59w(B;YH|;5*pIYcwtWL0MA)R3v&Y*uvO}T8v
zxM!P_9iZ8381XS+GR7e+iGA=qYX)k&ZShSeQ%?SWoPBe2W!<uG$4Q4B+wR!v*k;GJ
zZFg+jwryj_=%i!YHr_txyZ78X#`(s3XS{#*USrL*GiR!5R at JJS^(!|wCG at IsYIrdW
z8dj0ZZBe#mUZjaf_4ld!4V8|nlH<hbX&!ri6fs at jNqwdTJBSd#7dW?fIK2?Yufk^E
zPj~X4q&SnU6$#0#ws#WI^=5zNjI)_(WuzW#i2EITe7k at r^yvi$yD*&zkQBCU+@*vn
zCtGC4Jgw;R<d2eWQ!4rmv0>o2rp{CQdc+kY<KwvY>|gY1H9Otf9(a27Y;((MmLAVc
zMGnR<@p^lTm18i<Ai3RWop8z1iU!_$-fFS|IeAgepy6tg(l!#+LAZz&{$N^m;YBZ7
z%dj0OyUcD&K8}NZvp=OBcq`BDKke6eF(zkLv%h_mfk1Rxx}n$cSe;utS+ZmxO`eaj
zG5z`RF-c$ZaecCYYK!EMbmnCx4hv2Z#$t7p;bn91RD^do_gf0aP6ol;az1~anMGN_
zNqjW;atRy*=d!l~WZjeR0UwMN|FG3v4WsH>szvVi&)sWBUDodXFElK at JulB)M`o(}
zX*0|>gr%}e6#NcTb at fq?ns*`(FxW6|Fya86>RUAHAp(Wji;9Z*H6c6lGPOWYarrVd
z;lXz=i4N88p8ZC5>FqHwA~pk1%|H>QUgD~@-!|MH5z+V+<G)kvfbji$KSs6iMj8rR
zK#?JiBdljiFYh_gxE)8wr1uB-RBD{ln5jH;u60&Y%g44Fx^<?5WKH1H!iAss8;)+w
zm98!9C=zbq at E$fJrnYBBFoNo)HBS&^L?3ez%mzWl^ddP!XdUW9;<!`<N;;KPc&uY-
z=!2a#FTQBE9rirP8kxnniy*=WBlq5SFShlP^5zY=)tLfL>@Adg1rV-OF^8{++hXF?
zlo at Q(%|eyCoKK4fwCNL>rgo5(SImHrBgCjGwo|*c(sK|n4+WZ7wXVl(l%BCQv4l_e
z30m?Yibt|0d-|Dja<FX35R$=VKME9*dyXylF?0q4l4d8oDXuHnoE0?}BC?mIK!}YX
zVyFQnM>eb+2OKA8$m at 0>963UAqQ)Qo*A_O>NIvK}KgUXzN|HMH;J^S#sbM_cv{>PN
z)+^NDXC~gpua&=oEh_oAnP<^-Gbx}!y$8mrYBSe0#D>i|=JN_B at 1}maU_B04aK<Pc
zPaOAb2c*->qJ-$52yr<f;#v)2oL_y7LTIFfLH1vqB_I-H=Eglak;k~WK<mUsV?PU4
z90WKxEgK$4e~Yb<oW|q(vS$Dpi?oGlK=;+-s4lU#(C)|_3c7l$6D)F!p7{_F+WMJz
z&GHRRkZaFp7{mZsF2r>JYp-9?CwjbU1oR`P+lt0O+VT4SCx5-9rKhS^03lsF^YC?c
ze1|LD1PNVFT0_d_-LI4=E_-QRoBEd4=Yj)A-k&=nso#*fh62NE8J)OXvO|tF9oW7X
z_v>iQBHEv#&_9B~`N83sOZc3`;|>flwT)K7Wg=l5>n)b7#o??BT}7{jt<Io8aXCH?
z&OH^+OOv(M*ssLKDrS(DObEH0U2)PhwtE^p-?i0+{*jj>uL&R-?~yC6>{T*l=lig}
z;nL_=y5>h4xkudM=#B}7<!~pE at kb9ESu>VU$x-+dT??B**j)Vd-Bp{-QhZt38icU(
z3^1|bNwW&D2BWk&Iuaz?Ik{Fze&vP+T(lP8>rmUZX!7o!A2RiLcjrJWm=MC6M7#-y
zGFgNCPI(TSLH-WI_YJ#p56g!*u!ZR8388l=Jkh#kx>Ot$Ho*x?r2jjCs27!ph8|fK
z at z8hod}0|w at Q0^`EeJP+wnyX&5a=Y#az1NTt3{e8&W4$>pK(w`uLc!M1g_I&XyEZs
z33P^NUrdyyx)W7sYU8J<caprYD%A8?vsApsERyTPiws0=P2atK>dysU8~Y?%Nyn$t
z-&gEGEPj(F)){F4i!RbS&1=v3uG8yja>Wis_qvbY8Stl|7j<a}P+I?};)kk#d`PLC
zsSzTJ0 at LRn=FG2?NX at A>vR{2Ktqva3H%^hFe<Syifx1RYoiyIj4d?-UnF?pFQ|^i?
z-lFky4dR>Zx%#sg81O0)hdO)Ert*{OO4%gN+03FwWAL<f?J+AVM|tO-s-gCB75y at Y
z-cK^#jszVhmp`28J_z&(^b{I|MP~%VKM}T)jBrd&eH`Tr+0Cb~3V*Zf-$f|?cZJe_
zRUk1lG5yDA=uH|xpoU?zf1qIONkIOjIUFWhEg=;T2REB#du{Geo0(f8rw&7qI4A4r
z-b{0JOE4eLaMth5e9e5dF8oRL at q6qvX<8;8r)LFUr^vpsP1}B#&)2ueXdM!kJt2v&
z)BQdrCrh)8g=$W)YGX}0#-l;AOZ(GJb;C8UZ3WYCaap&9ZL$3xao=Z}WRqRR)fHO1
zscYqkN6Dh<e&Ln9r~Bo2(yn5j&VG>xWzgpyf}`p&Oo>C;RN{mN?DgTWVy#kc#9DP>
z<PjXI+4y@=d_SkmDjS=#z3vz{@8ZHm_=Oh1Mav%omxU3;7v<|Ink=2tMA<|fwr(kH
zY7EqQSgZW=+9NwTWp&#c&-gdqtumEt%5&m3QS<(r^H-;)fxVgvRKoU!lGeLgrm*oJ
z8m|ksH6OH%sq1A;kboOb+KUd+nXCDxa{h)RkT*k^Aevd;Q`JrrUcMlSi+HVl`T&Wz
zUp^Mm6024O0>ewBw_tP at Fj#hzQCcWgvLnsyKZ5b@&pdPqYJR^Yb1z(fb#sX*lu|MH
zl9-8>TxcZ9Jt~ekFYUrUyf2YQbmmuW7p~gV25bEVNu-Vr$K1))PkLqBvF*IItx68g
z#Oz|c*wP&crA#k+DcDnKE;yc95z}$vHV$heEVQB^B)S#(>lf+}W&bMTh+RiuundX?
ze4#c69M{RsvBJJhi(8`18UNBvtKrjX`eOXl3+cEcQObeJy+W$H_erX=o+0kiV#ura
z6HNny3N3qu;cAd#Dt?%AH>U9Y>Ab(VCtewPI$Ib+Drjd*1^gZpl>J9xQ(5%-;F8t&
zZU|)N8f``fPu+Aq+Y9HSXh3h71`xrrw0m}GPXb{;MC>>lYg%RYFe4-5fC!y at K>`87
z3xozvSkjYkWTzWuHAoYFkH?YT;d`n6t%1*Jeia~L0`9ATowr$k{+HB3h70xI4O}vb
z-rullktkA at 59Oyd5DUt5_kNZjBPz5>cSX(GIi{uIEQt at FT%j2md3%H=QZtboCyRnT
z%Df~NOG{-MD}prX7uex5p at xCv(>qkKh0*_hTO5yH;xVWkB}K(p&mPl?Kd`VF at ogib
zwtUdwQVnq3*(P@?F<DlkI<m`#FD|f@)j!r4Oc1FqPHx;Qh`G1F6*IHwX5&(>f9GBC
zL0pv!<wtk=mUjw59D%1zbxvI{{?woKf{VtHQW2%GIS_UU*2K%_p*mhIiv`}bI1SN4
zJd#|pvoza!@RSj3 at sa$7)rG|c+cFcV;VU>XC3S%lP5;GW0eKQ?J#}W9FmNoQj8TIr
z9>NH at UE*OQ)o~eIw7|^57C-!e^ou`Jd;eeoQdQ^{ZT(MwHJ?!Wd?_eJ6}ZqDGeIh&
zomgUGT>Ozluj;Xe62_((Z?*iC-roZEv^(io#R2~5hF|G9UljDl{J&`>jNfbJ5x*=F
zC;mumS*Ww>wwn`;BbF1km_ahadc&|U_7_qPzNe#!FR6uox&za+E4KNH;H!35^z}8X
z7iB2L#(Z38izu+9#CxOwG%3pr^WFt*X$EEl$&ZNVo*{)9;@NG#-noqr!mPp>`ot#w
zmQ)#w3H at q^YNxzkTU_vUAp>v|M0)ooj{v)DWDS|S0jvDDPn!q-^5S?DdrOM6cL+ie
zLEr1*Vgydxw&Io`nqcWn1Shad9`3KEjqNse(w}{zaBMT?-BFssV3Y_iJ7MFh>f+_K
zAR2$<OiiA=Vr8(~NF$Wqu*tX at RUbw@b+%Ji98@;azw6?=BJx1eUX6o49F{1q(69$-
z?2`LQ at uGS=p+`o+$TuCkoMhPAXOg0kb5Txv-kLzSyaY{CV`w>^ML8*8!qwKeH(l+K
zLJdY(fDv|q0iI!gYc|`ZJ0|CrpKN=F$_qT~!pof_ALAGxD1eRo@>$vO^=va91G+Pi
zbBGoTyNd~L0^I6jl}?9yt7fq(69qc9J*|M!3O5Qtt4g1nKWYYvq7*Fv#A~@OfA;75
z$&n*$$3`**3^s$C%$E0db74=`OfD#*ad1#3+~lv+fn$=NbtywyWY3rc_g at knz^=PH
zH()DC`Fz2C<V$~>96H7UHw at w$x2;HqK(Al_Y0X|6JG|t7d$#@YJ1NkEs-Dy2(LRV0
z23sFzrP+$QKL=9uO`W-Lk^lVRi at eZxZm`A*n;`kaHIl-3A5bdMypdiTK-kfsg=03-
zRFy?K953dQSm!wP&MsMN{_qy}3^`S<t>3J(k&{4ND8}&03n4cG8QZRIQ&eOBDCL3|
z3#N<bNS2~Y$fjH`AKYUt29rej^jt)hGWKZgVnh;JPAelI7r8h8Q`k)*(%}y?^8qQ<
z9gI$<FvX&SUDBX~M<wD=B1AbmCITD{M5aUjk%w(knf(s~WJBsR>oINT_&TR0tU)SM
zXgH+L>AjRA(@JQpruC!ZHqA{M1uCc{MQ_H^M+uYLy6So`xsI8etR1t+j9}#9VZ9$K
z5GQx>$gP?%ku*A(NQN=!&vXdo3_WNfRxjR6(Q1xj=|c)Uzfg?~nXf6$adb7#0px=$
z=7v^%2lGX@@`wIA@<6N%QQa9lPkgW0Wvfx`F_At>%H%gMseHkU9ObYBl93V|@?-*T
zj(8njq%8j}X{e|z!%(>(B$8yt@$4)AcH(K#$R9~3vgc)qhrzyYr(!mZGlq;utD*h*
zFvNdE%Po~>$J>70NBTp?NVub&Gct#+dn|hx-$Cc*u;?nU;HmNN2#lOdjWya7$XQ{+
zeQ6v$qA55CavEPLHD4t19<km`v;om8bahfr$H17Q&5D)~ZxAQaD4^$;+fUdL$!!tO
zYn(cq;fojach-=x<k1L=1$MaUD*j*`JOm*_NDL<3JMm_-yIR(2%=i+h$r<+E4cL-A
z@~iBD1M8R(gmGEJ0*~PzbC_k27H;sngkQZs22uRd8{3;^?vD}`HoeD67Q+{4L$sj<
z9TKMa3*38ma>ec#1Wc$=EZ{P+&IpX~jPdH3E{{gG%J)T_LbPiDJvt?WO_)w?akOX-
zto3BrY}-D=G&09LGx{Tg*UFkW>aNjEs7qo?Vm(7co{Xs><B{s7!x3N1Fffpe&b7TI
z&?DVWDFwyGB5XF31`U#n_Q6FXDt}|kHj6jHf5*MvOknM(Fl6fE9=Sp!y}nOO$#bWm
z45uvYlEqC+ at ++<T`S@&ovBeJ3ngXc7y)v6!LLoX0&c?$cHZw^l3C3)O!#C{%gW#(j
zN|Ju4;o$f9l9%($8U<kPI$W#n{K#dsr%2!Jn%26sd?tKUd^NzFO!*3U at SR&X_FmAh
zOxz at c)&X^ZhHvr5T6)#xm`hk2DX}?MQn_-RvH&BITFomB=^UF%0Y#xo7l+=bGA;w!
z_8`NP<~W2LZ1977e&mN_AJSE<gYadPCFnSGo1A}T`}U<U<_vct?oM5lY{Q`GvwAo2
zPoCg!{nO1={HK3R?MEuPM8ObAQvBJ1nPx~b^gNt1b?RZY%@7tC&$6GBLp47K9d`=k
z!h*td9;V;y^pB5$P$>=H4V`uzKV at Q&%C96&ym`jcYMz$+AIN-~`RNH3d!UK2VP>%K
zH(!WPa^5kG;Ud#KzVSp3K^mHb((sC4srDY4&^wx&<Q6q>e{LcwKzby$xAnczI*p6i
zk}98QT}_>!2{lXZ|A1gegpYP7U1<nZI2J>Wz}2tu;Hs$={|paPRx2PM5-H*cQh5=?
zmN-{Pz=tVQPEM_ZCQ7mQ$H#z+5yitA6|LT%P^Yp_db<+Y7Q3X|T{J6%{weXTX(7zz
zViq;-#6&1Om4UE_=O at SL2$In;2D+)cMtZ4NGGcF^!Z(Vu)<R6B*&=Wmq9H(cxaye!
zSPnP%+qrzdR(vR2^Xv~QH}{>S^mhvrMbfP9f|;uXId0`$|AWks_L%OgRK_9CowDA&
znWG&8Dlxg+bxKR~Pt4p>G$|U37Y6BF?qQ12J&NjQy?kAK-iD_jHF%+~R~|R*e(sVg
zg)ZN|=Sv#EEYs~w#8hq8)gIKkn3 at RHH+kiPaY2}Bi6|#ZRBB8RhtlLM at YZ+ID;Na@
zt`Gc at yog<DjwOX7VJw~q=VhBJ!tJo9)AptB^+S5C-^uAv at B#EmOx{xxZ=V*mR~J(I
zlr|`G_wV2E+6_X7 at cd3qPBAA;o-|sp!whL*EO!L$x}7JTd^Q&j$wmz{^BN6%3rL9y
zf_^H_`{R0(rB&M)cY7V8cN0(>e9{L$jTaJf1%rN<P}`m$n3Y!oql5df&Cp$j$^4dX
z6^a*9&hb3?3F7Vzxcr+J9X8f~uh`_|Wc(-CA0grYyX{k!il*%<8>-KA4bp=!2odcD
zX}zt^fzkQOq<AO7QajW_F`9KdX5yOFlHdD1UVOY^$4NXKWTnu}6?e-e?i{5*K@=0Z
zaX89QgPFE2sm~vD1tc3=x})3>fo}xnK3(mp+EQ4vfk(pgW=&C~Xr%i)el07)J%q!%
zx~jHx=oMh`M)Bf(Ip!|EKPH+DzD+_GC~~aQ!6nBJR%I at 0Hn1+TSk80aHk>NsdX|Tx
zGxgJuNRHcW3kf#ldSIg(lLlpxnpGJLDOmCit4ZFi^3_QrtFbYfFbS};*#dz<{gY-!
z at ATPgM*T9fcN9Tq;ab@*lM{wnL!pX#AelEmF=>7?j?Z+TjAyZ))_-3mKU3Wo%UI>h
zsvsTyReaQy5QV4wg at i1UH03bqn;<avNx2X%UzSrkQ5qHV8|=F*=nts-ytT*oiv_En
zzq#!e4=MV!6yrI0#M_c-D4Ux(9^*mXAQ$A4NNL=|`3l&06?3*OI7``Oi(3QI9(V?o
zK_heovopNaRi3-q<P#I~Y;T8~-^qa0!<SN97AVX?FLp1BR_iB1{c1E!!4njgkn2U<
zqn?`8cpyHmFTbr#WHSQTez#M1&<&#|F^UYspo9DBB0N5-Fx)w+{~2C%pAT%p!hHg@
z<xEug3M`Ycarfp%<7`YuKZ$GW?g!;kru?Ct8r<L>$vMa#kB*LNt%>7ed01ZJW_<N+
zavh6QyV+fr4PpbN0?lHa(I3HZeX+wE at z8oc2o}-Umw at zEtotIsO!H4&Y-zEdNu0UE
z9L?1EUSiy at nXtt?I7#@tl3!q}LrR6Xjn{E6!l#)5_$^Zd1Hcv=no{Ikf%cL{`Ps)4
zrSEObC1^ju-eVB*n24D6KMO>3=+R->2T9vcZ%q<bWz^gSIkwxeB`+l2)a+f^TI9D@
z?)I at mrxbkxUG@Qbkg*+$x5nC_f3{C4_P4*<ZO=m4@`|LPrjjY^W+NGpUfGyxhTH<)
zv0D4v_!B$m#cUs<U=+Vxg-8ZgY3rn3z;eR5!%!8{1Gd?%6I8c?MwuE3w_mfS=ev7)
zGEdBDb7`O5J}anD;*HL(kg6_Z{IXVgq0ia8yt9b{-WeSAm_?*k(b;M&DOdNTQmNcp
zj&CQ0kjeIm)~(Ut8UVfEWRjtWB%5hm3}1s;BL8 at O$x#)F2oW1|_UFOT&vsqkYxGiA
z%O;=fC2XKtzxwL9YCXZ8QE!R!rc}ArSTP~4<r-xnQj$i>vV8&K<<7kE&fwYA`t?b}
z{5{;_hoajtexkhU=M)EDgq`xfOr7fl0{bUI&UdEhGGCAcRCn6H(HB4v76w9F1B<Ub
zJpTjD!piv{2S&~{#%)$bQP*F;w-%zOJ8WcLV7I_14vNH5Ry4zk8Q`L!n;*@NY(64z
z3Mrz}JL7=M7+^tKh4bza9cI3!VqKF45M-;xEos$jtr)enjh!^C0{e)%-R^`#t>OCJ
z;@>RqoOB#&Q1BSiIr6A`iL<Cqh%ao|)=B!v1f{=sKRut6h<H)}57<Z|o0Gf*a$~@>
zNZVEMwD`j7s~zyUubh@^p(DO7YiVS4)2I$@elVt2peBq#`!4Vpj(rImOP%Zo`<(eA
z63=WZ?S1R_3pQyC%%Wq%cMbLR9+@&xoDX+w-$y&CgMYq*>(L8)qqzI(bvaXW<L#SR
z&eQX!w>1V_BAWX!hq#f|u*2aLCC=<Ee&^3-zPka<MZ?j3ss=+vDJI7NUVUDdkbP;X
z6wG5xcK;VF0PwW_<z*MWk;m$j(Xf(j5{fNm9}Ul_;T_~Q=mf7I<9Ci_UOe0uxn7nB
zfWj+MT7fs at M8U(XEW;t_Ju86s&%yynWJASR17OH_g7QNgF7QcUwUZ7+nD1_ at lz_PS
zI-vKB-x$Fs)gTzODC)kce*Ou+Trq)+kPjCPm9vNwL*B7xvC`ihb0e!<A8Lg443R<y
zxpYEd0LG*yFF1PuTX<mI##_}U+=2YY$(PNgO^zV#L)0nIG>DG8`?GD<YUUQ-OL$~g
zb1`5`9xH56VHn1MzJMu~eLpl(Dz;9hhZ~rauAAsVhp#(=t&xiAMu-NcZNMp*DC0QC
z*!s?l6J~Z|Oyubm){Uadjo_71=8g38a3Eu_+wpJ_*Sqn}R7J?5 at ly#O at cm%&a3_0X
zU9>%xo;EK{9iOzV#43B!7#?=GY$j0j8OpMcwpuA(UNC>72=5$)!5Cb^T(pUB-|JRo
z2+t^QS>Pyo-fwkXBSuQJ2OBADupa8Z-Bfe7x_keK-$uK;-hpjiN_E=KDw}h*(`x@<
za8TwVwokPAwIr27HQbS?Gjf&F?F(!-$EpvSDAZRQW91A{v7=vFs?r&-tJ2B$!XrdR
z!6XKtNEL9{CsoQ-kL`pRbB-J~#^^2qto8+A#CF8R#(;^zJ>%oTKa<eT#FijKy at w1I
zoDxfNAMC_WNX at m6jytsUboKPyUvRL7)brcdS(@i;U{Dtc&`P+dK#gdlF*G3`O=L>q
zYO at mJyP~CBf%`wB0aR+rJ4}*X1{Lddp1tdT`)1lo9;Vu*Ym|A|H7bfoCzP at PTWUC7
z{f>QJQetX=gEMt7<5gM0Z^wE>Rg)Ctg6*20^k|_WR7etWhSolE;LsdGM=kWjs(sqY
z#<5wkA1E9}0kbb2Y`cy+a!2&ZKf6kfs)t;qBV`&n at 24_J+mGxROofvT`s$>#pftR&
z-K`V(qapzUpN_5u!(0V6K#WxoY9wmrk6}MF%fTWvm<d2EGnXh>JM?ODAl{n?4fo=(
z(7PNW$DX?4T{M{G{3=JOQDEBhN{JrchO_(YtVWnPZWRk5ehvB+xM0Y}4r`G{=L1Ua
z*tGj+I%~zx!}u7+E8Mp^jJlQ1xISI;(X!Hj-7-qOSet at -#HhCWX>i9;;T7}bRkKLz
zI;~4l3T`G-F5eSrK701>CSe>agM;${1!0Hc{4Ce<VFC8Vp#}E25-RG_+?q!wjWVB<
zCveDYl;bM%;U8*GCXF_(<=Sel-;Qt9tLMr0pPFXt7E!6o_H)*q#Fa-dh((<dqebs$
zF|#hzn|5YWHSK|0RYkz^%QZi+q6}>VRUrSoyGQN)!;bwY5-HDk5j%xi?Dtd{4k3ga
zglH)D-rogLKcT4Y?`Fa6;T!<!<OKrdLTwf)GPZBs&dfnnqBxKoUN70pb&UOHiczzD
z_J(&5{SAC^9N32ZJlT3oUxvCeS`xu;U3#q7=NE(5eKgl>(i2W^wvoDrkU!|>Pih}2
z#9ROl$!(t_`r>`^ZN^&iry?Pu<05{9o+JwR*w()t__?Wz=I~M2jL}i4FdEi?9bSRZ
zoEe}-KR)r8ph7n7`g&<{Nm0_sJaYqf$)Qu3Banp;79qh7><Rn^e?gtNq7rnjqOCrc
zKhf@%(+CRlZ6!dDV70_}oU$AMo0ZySoRpv!hP2>*UPvi>#6Rg4hEOg1yD4I3V*htj
z#KOY*U%u=A+jTu(*LK7mLWA7${0#3J#5j?D^g4`|4^Hhzs6(Ts3SWu8*B6%PxRC_y
zubG~(dAvKG_ZFqESdZXWrHkCo{gZiHcxdQpdY6y+QG!vW-l$#HUay_G*-hE(>w0Tn
z_Zs1<+cndCVMNJ8l;q3peVsyo>X8S#fYGIssY7d_T~=IKoa5?I_w>Q6)bqA|cZyLX
zTau%kp|PL>Gu(bc*})9EPF-+nF at gWdEL{+O?P_?ILjQWwFtYGGaPM({Q)qQMty4os
z=j-g7ET_b8sXTudQGBYBH-25>`zch{iutkpC&J)q`WU^(>bosQ(g`*5+rs3|dxY=B
z2V9YkQ at JhnqnO!>WRiB<D+x`H+UCak8B+)!T^SAcg7f`VL9?^3w|l;3*Xs~?&%E4c
z1K(Xw?^bHHya&=&I}hTBN>1#}`3zhd_-EXz{}Hk5g^GHL-Ay%@Bt8Jax5Q#%G2*8)
z=V(Q+ZiETOyGaO{ol0prme0wPtwqE4jxKK9Z0}aN(Q at Sl6?OC{dhuTA3MbvZUavN|
ziN!NN6=DX4We`KatVbcv0xGKj5D<F$bT;n~$*OT;1bs@|Oy9BS9w<3C9S!G>BAl4~
zdZ3n1WS4RglXgZ|sISs5gVzYb>wP9vu6is=z50Ouc+SN38Wm&8#E1wl2Ck{T(R*xR
zp)nDbz9%QDJb?sS>}=e;V`^V at y;+(Xwy^yoRqJIVc0c%4#oxj7Db_PolS^L`vfz_(
zmocXjWfp?i at M{{POqXhDMXaA3mLap|BH<a9m-PT~QN_wKGS*(5lTaBXcve<53M}1P
zqCz7jmfzr0&t_`(pk=hn^N(TDCr2U=#LfO^JSr4Y+Qm%GA+VT<nge=Wx8`Qy#=j=n
zIzfR(smUrxTBaKm)G#ZNf$f)~#lk&NqF0tz?WxhKPU5ICEeg?XI?=BoE at FKv;XyMM
z^mI&jj`0XU9|j7LSmE?3RWp5)dLRi|=*hVDvq2WDyYVTB1GH4lJ(Q at rbV7L~8U8>*
zQqpk#QiMAW_Cj#-addB%5X9nRo0Rvt>{l#nE-zu at V{OvDhoO>lgYn&SA<P<ufOFAO
zV>ncV4{}yVrfYG1<~ri|BT)Tk3tMPxh?N{O#|tlzT$6=|Q*a)kr%I6Jcsk?M;>pkj
zYic5HgcU_)d)ye!iI<tW*Qn$dnHY7t4P~Vu+T%0+IrGJAdvZRTSDRIUtoblx>X}vT
z-l*t$d2?A?6lu&b+{9f at QV3}u8&cBNxG{_qIWuyv5rsdQ7;^c~<77#-8lSO0T~OT@
z&f21FPY!9Yc$u9-FfzckIt&(BDX+68N^LB<RI&~~V2kXI8?!ih-LNvG|C2FMWh$F3
zAn63R*p5f6!!B6+JLAT5PIk;%y+$KJWMW!QRpr0z+FCz2YZ%2e4FAPBc1JzX1U&3y
z+&n7kg=0GY29~nhWiR-*J4J(xu=1<@`mbCB?wTO!XUerk)%j=NjislRc}&n=OYJ7X
zRbm|!L>LIvA=0f>uJ*)5RLhHvsBfl*57)5l|68)+y>JEok~}jhksg1>xltUP91+7m
z3d+OEv;%}B>Gu9ZT<H2%h53xDw$AS8ry*XF9+^ste=JcW=~ISgt|w!Gtj7YbudL}r
z<JZB>ww3#RtEAU`{zda9?VICx9M2M4KE7AmnZK-PceO}D7F05>dubyR-tt$wXUh+(
zN41F1bJp<TlyS48CzC0aKBJIeGBL9;LDnAvj?SLRv$!x(|1%!VqgO995KqElB2GUV
z>{lW4LaxCZ5oEpe?>wEY&`|Y{dL2Pr9%i=s*SN&T33 at t^=|(mKcLTOEdb>9c?w_>)
z)5 at O1$c3hFcl=`_h<!$l$vnA$MKHN&9;Ym7DF^nw-Ti@^gB_kt-u2ywGE4IE{*-a*
zBd@)Ytz3XCgjBS0W0ge(xw3sr8;@KyvULvMT-IvaSv$;y7Ww|p)V>~nS1Bl*3$>bE
zVZM1%H43$~fs}fg)8;{d*j&Il$w^<zIR25D5u#r0ZSOA<MCXE&V)!40a%4Aky8y!w
zYjTgXtNok0fGN|1NKk3upK&P6FIU-g$qUb+XMfyv{3OPz!hib+v#}JPZ;=ryxg6g=
zp648O<)1ZT_fE!@>8Vs%jyu-f%=VtZ=|kxJHsSo=(s#3A#IkI!5BP?`jN9|VyI0 at V
zITjM at js9&_S~-Y5MP=rBq7<l at z9!?A%_K4HDK(ug+y?-3OL?v^sI60G8)nKhcwxv4
zQF>%xin*xtEx?N?RSX3wje{M`C_Cs1<clq^zG7v-K}b2v_bVfaJQh)p=}EMWr%-$1
zn`$xl?ZQ!E#4z`H?Mb1rEaz_l;=-p&%ZaIN7N6sk#a{Ln?*FxmM()l2;`;!ZrE12P
z$%|ntAG%Q at x*%;|1<G!%U_mi9FbHWEc{K;{qS-N)J(8Ezk&MoETyy8TF45U12P}BJ
zoVRD1zqX=`c4;yE>>hpFSx4fMNj|k#Tjj4Qv5i at Oa&9ylPDKT@@+0bEVqbtUA6j!-
z=~v)+$K2aA1(3f+^*vPXolAkE`<$;{T2cx)-CE58B`l7(z-{mk1wJ!i3v05=l~aU&
zMzipM5d_ at kluky>5zwh;xj_9aIa?Ort#1?<pF?z4DKglM+5}WpI8KuPeBd8qSzxPT
zxe_b-QM~48wiNw~$*T!EAX?l7WLN{8Cb{Bh#rmeuz&Xt}9q+h)u^D at Br$U6z$%P4n
zVbMXqE>mi?G at ZBKyJ=(X03HNt14%CfPVjnx7?q3lSqnU}NnXwBuDU_vo^|<at<OXU
z;K8S6xjN;@a<bUsxyr<d<A(PO!(!JwO=OfVX1?T0cWlQ!{WFJS<ztYQCVUUwpvrV7
z?clV{0X(zX*<E!kA={QBf@!^nm#JMzdiU1}8u}ZROUD`y%k@%VO|Wl{n?Pd~FVTJ+
z>IVq~^@Z`gUcDzPtDLNXd5G?qoqwEdjxjCs=_rdd&<cjor+5Rc;8Slr1py7`ae=wY
zdQx6YM#R}J7O$0*0ztRd1CYqOU{cv$wR?pz?J7aXf&@ER4QF82`kLV{Ks|`aRfI*L
zcC!~iM&Yd-Rj$$O!(&1){dc2 at 1NSjDLIgeg2@3&Pl`9|lYF=%TLD5!_u*p37`Tz+U
zlg<~Sj;RYa%VVO8XW6&Qt|+$2KQ35gK#k7iWOq&bCk!r`Cl2@|Q at f(J0PpguR`$9P
zQwX_XM`S$EDZt`teKJ`UhLp-4t=%I{%U3L3Buaa8uKW?h2NWkbUAl3gIK}ys$uX%p
zNQ$nflph}()a&q7*5IrDLHwNDJV66*E%pZ$Z=)nk4e){l8cz@&PO9ARXx^p2-;H0M
zORc+cK08N*e;3PpFSiEsvG!|Uht))%2l6qzM}|ruB%f>rmPxQzDLAV_*#&yuJWF|a
zW`?wGudo$p0rhZ at tSlrLBsU`sheR=BdG7SxX1qimmaNbiFFl82i|iVMwcKCy9wB}G
z5|D+6o_VKWsnUdY8|TKMvQXYV)**R?g2Ar7s)q{nl<H>E0BXH at Awdunb;<(-e%)*)
zgAPeCd?CCaOKb&3UTxCBva;mB`I!DOAC0m^Pg at IF!$eA-r#ASqNj`=^w^lcF{%sgR
zI0pd8d at LGHDxt^n?@tEx0I}=<Ja?;rS>wT!@p0&^w9ZJsJ_J};SpzB$<0JMVSG9PZ
zo9}K)QX$ra?M_b)?#H>zY3f|HdlFz$vgV~P_EL&C7UDJ(0I3ljsSrzsR;O48`(tPm
zaymS-+M)h{1hw{Uj2EMLyyU`^x6%bHl;)UH7+t!I+=4h6zrHDOSlM*5)vKY2N9LH5
zDOZu)4&v&PQbb+4*IdJRZ{Pz^u(B^^8Y;CB$qUQWx{YV{vj(0p*=|o3*PQ_fV!Y?Q
z1{A3JR&&BXE`$u&H%;;PvL8Vv at MWynXBU9hqXGg?o}&Fr03IBAW+Ef+Xo_}**O==N
zf|u%q3l;>k%DB$x(p~^;@<}6*mo&SEUN|lT?@D7*yv;n`R&|rYh;-dryzM~!jH^?-
z2LmZ3JI1hEP5hvs?SSIdUA}&qYKRj_N7SvQBXl&eCjt)VqNZktJpRP8*}nG=x~ZH;
z!mNt at 4x~?!nVB6W at 6|K?1wkPbiFk3ojCcQ<a|7y73o*!sIRw;RG)^W==nPBx`h8S1
z#(XyHJFug267=pMaWbvEzsSYg%!o0g%s}Cr$=&ScgxPH<4IUS69Z4Rz*_|iBr)4DC
z+-$HXD0~_pNr9W!2)KD87fbVv{<OwCuifc|p#RZx!n)qSVG=YYrzg>?9q9j+pq6g`
zU16Y(v};dj{O?xzdw`&~R&E>rw(WQu9qDhxaQ7iE-B7{<06Y43KTp+hwt9b}-8AC6
zl5trzMx9Wm^&~P(Xwxf`l}b$?%pZ{vwgP#k-6!+yj`8Wf^ax+M+Gj%GB3FmPJaenv
zDvU8$V;8n<0=m#(*U=5PGxykC2oL)=&J1|EZ at h~z2+2Hs`T#19Vghyy6_CvR=NH~h
zqUBwLFiUdEfW!!<U(cgVK$kLrg2LEow>h6K_S(=#c+j8V+jjeZYY!|YwHx7JG73QB
zZZU}m?8iJgK~S_KszaCPHqeqG0O!#={I7W=I3`=E%3!y6_L>f6EThhuB!P~U(b3kP
zn5-WF1uHp|R4Il#;RyaMWOCqzhfl!vlj5i?IiDA(2LfazHh|dQa=dB|b7HJE^7#bs
zKYT_<@=5R_fZitu(5MQHQ1D^HOJ{EZ)mUbqaEbF53ci<Tci0GPs*{0~ao(du6E8hL
z0%CIJo&Io?l*|zcU;DlK-{@;Z?eeW!#|%VnF|IQ!?x=kGAto%oRxAebgF&)UX#=WZ
z8R@(34|-GA=l;VP4BqB(N;F+M!@PhD&bpy^3I-ZZ5z$A{SyiGRnfu)DVj6l at 6#{JC
z8p=YZ6q{)S23c6>8Km=3o|)yn(%ng(M=HaA`8V`H?^+M24&bC@<IP8C<&DzZJ9Tul
zJ~O8s9{I+dX+^w&?^aM*@m?e7(tnv1leK$gNZxo?wR*&*kbnJ?dkGp0?l*n$3A`uv
zP|6rjv7vj1I7KW=konj^&%uAnNE9rY$6OB}0l(im5LS(z(XcS|!gk5DWSHV_Nlp!<
z6w{HH$rLkiDSz$L19H#h_k&gX<V)Qwy3ejRx#YSSIH1P`d=)gFc|Q7?_?K-^48Bm-
z#H8QtP`%vf`50NHF(knHHv^(L{3Nv?%#>`)`}sm}X+W_1r|*UDfSsYxeib2a7busl
z=JTe*QDkzvCV(>g$8!eWtkj3o7Wb81Gpm4J{Z|Y7#m3#6(mFMEbMy>sCw3du@?C+R
z_dgkL*jV}x&8Ayt-c1~yT;T2xYLyv3B4j4Jt(6ys3O*lh=jnmR!7DCxyis6hM2gaP
zKCdbm`zc*%zff?ZMFf!IB^^Q=w=)K(9sk)V-yr=Uc>B0pKW)(^TRaiH_iemv538wJ
zZ-(^otg6U%cdxo^;?bj7>}h8UmFdwnY+ZSL4C14irlY$NgMs>>>|?|7ZoXHh<y%RY
zo-})g$8k9O{4#0?Y4Gnc8%CD at 9kcnrAir}mu>LE(z{JA%A9o)EBEQFIwtV|1^81T?
z_-!ANIwnXwB;D6We!UKU%>l&d2InZQj$se&lFx3_!nlh`4;9}^%-_A?$n=-EQ+B~2
z%q&zT@#3rs`i-c*Bw at Kdii+1C*^PNUlI7Yni$-1f`@b<S7qhwkz^h0JX%Y`~6m1WM
z6Fi0BM;ZvmY=<cGv|KoJjeL&vhLBkx*t%6X6M$998VZ5w6}Y)dOa$6UhXh at t>#3nl
zXOLE>!WfaVdC6CVX+AP0yP*=y$D`8G at xmO`<w2?}AA<3G%MmOg4M*(XD at 3@ABb}t!
zWR)=G=Xb}lX|j=!f)KWqz>DRwf~bWDQEN(-<1sge#$_l8dt^9+*`19oT&HEcda;|2
z&bH9^EqnsCgwZUwAszmTW!1V(3<$*WU`eCC3%2>m2oIT^b_#E(4n~-gJs~r~VE;X`
zPg#+qPme}A01!_v9T1GuVx?5tUs$Go-N)J_il<A{gixYqQ3ikCQhUNHR2<iyk*vQw
zH3K7+*bW+-CsAVu4{66vLpPx7QNi0<yx~2Yt4FX7)xrW@&LGXB1!?FX0u2d<nTko1
zC>k_W`(&;b!YVvxHsHw;<sa6dhb4L4)?Nool}sSGwZp6F-xkp-)eEWY)C$%%fGs_A
z;X9O-{ta6>cPLn2pLzg(Un+Ve_6%RF`wi|`Sdnm9o8WqP*U#VV+P>HC(J+%6i|3me
z^!LuM7)FmE*h1`x_*TtwAGZg@);+!-HwF#w?+g2rL;I7OgQ0|i1lG+lbQ?Nd9X|Hg
zE*SY8)qJ{dPbbeUs(d9S5O~hNC*&)>@AGC`6CPs|^Q^fH^n7 at P+-Q49c9i-iHv7J>
zZf=999s9G-?RWgC$-xW$F$g{v0A>D)<nj1^6%uM&{1lDZV)!ZUhWc*TY5#=aXzuk`
zG~?k$XcO at y&<&OpP>OKL#dD>K;NT6m+!Kvu)6>)Kas9MI{v)Wb+cULUj?SlBVg#^h
z4bb3iH0r4#8%a?|_LS-vDD7d`8|#fw=uvZj=YJl1RPG+D*%sBUynd43eIUcO?P=@m
z{54n-X5i5h>pIQ8I&$gLy8QkzUoq}$-Mpy-JU49L6+$`fg- at URMPhutRy!p<<D4xs
zGOKsAzA0FL^K9at!}`<ievi6uN>^KVt+S*1?Yt+a$H(;=hke8Y=H>GiS?yg9Mw-_W
z#%fImbX6|HU~DR~BxUb{wbz~qc7r*WjfM%DTJ@}<>dc3)qbbo`J)wu^W%pyZ!gph>
z^LgFn^`-;}&HNr)Q>|OAdVq4^Hw5abf9y>`WA^?yT5wbYDmSrg$HPGD&S9)r?W0)w
zaqDPu_3{4tHlN|EwV55jU2-gzb&C?>ZH1_fGP$#&d(u3>Yqy&B=(O5Q!NJ#Zp&9)%
zf5FVM5#2h1ZSBYCY)r)~+unWbA0Zt?_aFar5f#fWxB=}hbkVVEPmk4sA6)<;+Run+
zLzjzS<%*T)bC at jVFqgxJn83=;CyviB^!|Ebo&4g?VA-%16WU}5N%7 at b+RtP;p at hUp
z>28&DKoAdi*J3C+EaCCnJUCA1S{Ub4Vetw5TggwzglLIkcvcbS8kvgB=Rot<G(vTz
z`VI(W%?7k?l({KziOi9e`bbJn<7H-A6aScGG*S-vy+ITCse)nz+ at _z&3ycoj`s!RL
zq_Ws6$qcjML%6P*57L_1k;#_Y%{)VS#Z2o}#$5y^LuD$ll{l2Ey}}^@iMHoI<@8qC
z7}h0JQz5yIy%CC`z>(GFqqS`~88lcAKe6iEl^b#)?!F<{X+#~;n3f)oq(_5|eQSul
zL}Xs5#OuhWO|A-6;cg<hO8bpE=&Sv^a>Y)qb+z%Zo+c);SBo$X-XY6E{aoB-Wrv at O
zG-4$&>mfAkwsuF_XYhBNij##E{zDhZ!RONB%el1iZ at DpLUj3yJCbXI}{1Z(MvSguk
zsZM3jn#Q5;{Vj9o+a5iQLzYv#Wb~Yuno-T7mb1-fo{gS(U5lNzR4cJ!MD+D+^vsv5
zu^2-FHH^UT5h8jfo*MeUt|WtWG&fp^VubKRcwpR-Z%FqfMiXKwh~xyb1OIs=KN^62
zlRr0xeZ#URLY7$2d0e#XjdPP<J<7Vb5UVPrlep0u+zEWdZGd%8#5>e-v>_Hl1vUBv
zMsqYmE0cCl{hv25qWh7=G{)l=9SWOp&1wHXFJodc;wDM<{vm)mgO$Ral7Z#IUgCox
z|ItS#*^fh-inFzjC~~|}#AVKhy#9(aTzByf?l96HDCFkDSQdRorR&CDS at 9U-&dzK$
z5K;q$jgFKjzNSO%)1`6@=>N&qur9;HYNJbaMqTn?B42ZH4RNn*L0wuoFu+DAIW6~l
zzAl#GOdw#4<4kVuuf%K4)>4~`cWvn#IS~t~de!PN=2NOVG36l2kQpY`OF|=OU-Fn3
zqWQtDfx%C6N;4|-UI6AHFbLv4QD$_m5_q}=Y$o19_>Cz2q;7>K#`$_cg)eR{3x3|p
zHN$CeElHQca4}s|Q{UrR#h9*m@$3(*6fLZkwllS6K%WENcWDUCRjmVMNX?X_&96)C
z3vH?3&BZ}Oi7?I0ZOycLmOA>1{#Dl05rCzIY1JW#TIaO!%(=eB_S)23l at lfF@9<XI
zs;Tf+lL?IQR at Sf)Vg6Od6GO_i&YEh{)JqzNOeLe;!7hW!wf9CX#<BOHl({FOj_|-!
zH5#GPvDEjxSPd*SskEtqcUD)w3s{gZcz(JviRU_U+sBBTwtMa%^e;jrKtX31ovfp<
zBe`gYMsh=EI8S+-^J71)pyL}FN$v_uyi2P#Y6<+YhA_{yta4OUB8%ys!6Z?zSSYp;
zpour8VLA8=i?Fg`8is49`z{TlE%%xOu`LMRUTl15NGiEIh_{+n-P7h*<*v_2XEyR1
zSm-vYfi5nX{d+w1q$%*HGZEtnp=GwD!Cnhm#Aod0?3mWz*J7PcsBiHRbIQC#=N%bG
zBqk85s at Y>1q(4&Xu3(51PS~&#`W7nYsKRuQN3~XwTRl|x2}vav56S)Z{%iv8e~WKW
zDw;3I{)9jdfX?`L|BjjM?~aGC{pSq;&R1n at ciE7DIXR!8m<*v-;xfeY5m1>~{D`%1
zL2)Yz*4QPTA)A1YmoYY~=wMuv%$Iujx?UUhtS4vFY{kThQFX?*_y*BQ?1G@#NvjVB
z72KW`zDe27tJP`Mxy5z3Aokpwk&cR*78TZnAhU>{Qy2K#QtPxPJ-%&SY%k+JKQ at 6S
ze5W{7_bIxI5&Nt61g<?(V~SxKDFadjQYzk0Ckt|}hB`&m3Q6hD2U^Zo2u+z-vy0Bh
z8 at c5o3P~luQ_kP=GB#^Ed>VA=5iYk*t3d9ZNu0{oJm0ooMA>fcLek%4x<4<wOKkZQ
z<cpCU%*rgaJ&>zkAQK5F^7sv}rLy5l8QRd==g#(&oMUk at W5JTk{15lN38s3iL<&yj
z*gt=>%d=TYwXu0|T7$_-pcTTK)HnFYgW-q-Ertx8)W`?3^`}ygKOHF=bW8x#80K_#
zc9QX0seou$$ziRNW??BnZ;{fgig+<o{@ghQg^-(_wUNh{{lXA{ks0Ee(J2T86uxv=
za!kp7_3Fd8yOC?2u;$qG*I)5^IHSO{i#d!PISkB%5d{bt6f$<y&)@}*rie4fM)_iZ
zD)LPPD(b2(9jdOZkUvR*EAE;R6a*QRyhT)UWXikahP{^C$aedGuPV$rDDA8 at ch66%
z2vQc?PMto7DMiY$PW!;&dY=V at qZJ&(q<;5TJQ!UOHirP+>g1-jldlGX?Yt2q6)^Iv
zh1Q+<6XY;Kz7H64mv_h&lxhq`lIy)eL3$WoXil^oNSSBbN<1ntTr)BSBZFc~6#hPZ
z>X1UukkZ||MCS<152eH6Y8g=J1Jj6<oLj`Ojfrqt?e02~9|MX8nq$DguQ`sLBn-~P
zUq25g){+c<-5PmwI;$)(Y>v`G?9P1nLXmLQEA4_W&-5S<AGEDerz`SU at I1h7*4q?q
z{v|O1l6*cF-Y%gEBoi0YOrw+B>-6?vXHLs1rA^C=a}ol9uJ6AoV0{&TT{Rt}K>vWb
zaGwG at lrk^BHHs{s3PAWOiI5A&4c%IOxBhMr_a{lJ=6mzF7F~Dd0VouOW;`tOvb_KR
zB&8mUql_wLUMY6rrA+hTo!mhs{>F~^PTNYd6lCSo=HiPt=MVm+vB58C02 at C_PRv}J
z=z=S-OxH)m8toiJhc3(B=4i{_lzGT47G%g&z|<E>1h`V{cR3#4<pb8w|FvdW?Ejh*
zg|3}Ju(|Jfn%BPjJ6|PNiZq#JUXniklG6g9ApeOh49$dxZbAw_2DT(RoQtU*)taQl
z=!jXz*e4W?Ouu843`k*QI|dl!&b>Hr$>?~>yINirzrpR)KR4DH5}88%E^$)*Df6UT
zddQ at 101}u)ToQ#A$y87swV$UWHd0;)@j1$*yioQ7PPE1^K>3XUB=$#zWN<JqKlcI@
z2t>mnZB%kx*K;1H6^KVx(cYJBRfp5ExJFbMe$GSpQX)gD)sgs{TPgD^g=!2$43EES
zZg}WuM4U6FM9`OX_4dtTpqboILXwFAl+X8&>~lD9(g9wnk-+gt`Vv5IAKB<tyciQD
zr(`ipzE!co&E!}bx6-OGU1(kU!<XXtt=@1vR%ycm%)8oz)U^_;hmH&9Kc?`9X0_UT
z4p;k)P#me?&^kAipk!harQ3L at SB^|CZo1utUQhABjSGxsn={$j!7u at d0|z8dT#~#6
zbujNx5=LBWs1iyW;jqODSgPbNu<tIv8KR;LC=vK5<VoN&?wKq(!~)KVQv&Eqe)RT{
z@&niSjgnI|--4CP!=7tVH6_af&j-=CQSs>E^QM7(FcfG8Ng((4LMft(#U`X(NQMEk
z-*7m+%0x&$OqXqMrde-+u at nc^CkG9%ObJ0SdiURc at deoFJFVQ{*rUvu?ugH`KMGI(
zohTMTX&Wwkj+q!7Bb>5}4=E8qnN|bJv>K3?=!v*PirBNGfCZD!*gq*!HS|D{X6nu)
z2ZKr>9FW2X<nB>ot%rJeXx96N5<pJ0kg>q5iqOI6$|m>)NW^ZD#gNK7BnsPcUDfJF
zd2giq-o1NcRTjAEi0&W}`T$&cLuAN5VGGk!A^yffG5>Ec-~Vd_g85$&2u4n}{}`L9
zNkcn=3>bmv=@E<pNa-e>2qDuza*w}|1rK!~N+f$PRnqqjPNXiY+kJG&-J6MGr)D6n
zK`@tg)U-#JOM0J(uZwW*D=Q<%<q!EDo6*)WtfYf~ifGPBnt9d-JC2tbzu6>m<@F>9
zr`;<@t|QT4)1Wisni1QyVo;E-+g67~zFj1ja%J8N%aA6eqd5DaLX9ufBr2EQE0wkS
zH|X~DaG2eLH0au6nsb!;{E9}Su;vr$+0ZZ8A545_BBO)w){vN3lPzM*6akk^7!0pV
zEDo!BMjOm?=}|;+C2+KqsE=v8C*5N_;S7T+b&~AomEH<tQM<?-<dM~mSH9s*FMLkz
zAUnpV6c%oPDkmA<^9Rj-F`nWqLxRkvDnpMXODQCGGQeCY-w=yu^K)1%#0%K50zjK)
zTGlIW(XFwWTt?o(Fhz@#I?AO{rg at Gj$1Z2e!BJEh(lJPsr`dDMQp3yu6z_jCFDSRY
zXw#~=g@^9+GH{8SQHzFxtr_DxOZ#cy3`b_NlA`hHKQJivVrrpWWXJwSO_;7>tMKV4
z{Q2VqQ{dDtrL8bqA53DP(9lT~*Hb}lSi<ynD!JW_cboPg&ef*O at Q&lCj6E`%tYm|6
z8MB};bAkT(j?5Jrrs%BA_%4 at 5T{abmLs3i=i84b7_Q0+>+#d)%ufy4 at hkkf*H2QrT
z$u$>B;o6RxVYEyC-c(r6p8%hGcfLZk<o5OR%|qhQ*4D=6Qtr at I_tU*6=kxwB!#8JY
zbA998sZEN234ihJ+Ueu^=9$;Kw{XMk(W!#BL}SxsH;sKV+-9>_wPx;Fo6Fbt^@A--
zw}kK8C#U!AB#f^wT>Y_V=s1ZHy(R^$NM-#qoV&1<@vZ}eLbL$OMmt|BSRHb{maZtx
z2qCrYStTn{6w=-UQ~n2|Fxl!`UXzKY^G~YwvZn(24CUyd%4W_S9(^|ObPJkd5Loc{
zK=p4H-|JG#al&^78|#~_>QaBbHNlh_g9!}_GR>)?vj?%AVn?X+czYYv^HCGM-GWPu
z;(rC87y&Za;I{)PCeDsE=Oo+%o}h;Yl|V(eD5RAY7=8^FqA&_?2me}5voUCf6m?5`
zei4X8J3dW#YGj+BL<nLrnpXe#Hb?zLxF{uXvr_nDAsj|UkO-^od&0U3oRho|Awh|i
zz(sOv{hyTYg(-+P at v+?Lg)J?Uf?X4%>&U7%C&(v-P8d)LH!K|-Go#BSlaB0R+U*!A
z@`ER1dN+8<h=ibF6NRZIHgj3Z7?3~MQcn8y?B_chJ9&Ip1Y&pEGNy}4VFS>y)m<Qd
zsA~_xN?j=_YGF=5DJ=yFz-Kkg5O+V`fU9 at b5Au>P8~2g&0O(+8kmK`&(ZlyIf`W)k
z5ZN&xV2vCV>_m2F1$2H+uN(2ud|}KI+%2d3N?z5_MhRWyjQ)?iKQSPFpvG&XO7|OH
zj}hm^4k@*`0qDL8Li``b-YG~FplK2v+qP}nwr$(CZQC<vbjG%A+qTU;f9$;xdt<+d
z`@MDdb60m|RaPcma&(ZShfY_M!<lfBE~<={xs$4cY4$)|KaB!WN%9?sw<TqL#&l@^
z(er{X#*&6iM53re>dBu_A-DECg8w=1Qqsj3x=|AFu!%krqTIBSiS+|PSp}6gSauBz
zv%^4nIg&M^KNu!OYiOg>0Gia(HhL9>YG=qOQ6CExtjk|d?LRPoc^D{Ej_4?}U%+!+
z1*>lopCi^J>r{RO8m!MaxiDD3Q&k6NO$nAr<j;GOYq^yQpCLqA1y6pJc-1}EkP-Vy
zbD8L&#Lbr5#nxQ$9r`SNn#_16klDr2T*5=8XRJ@?;cO`9E%H_7LRoYdw;&AZx|IwU
z`nVY at dim%f#f^dxH1cc^++;5iM)Y+yN%V5vje`@#sog%I`&?eNJ6<okb^YiYHh36y
z`Ptn4O|+6ky;}F`c>kEB$N!zRv$wOqaqnZVtl)L=2W}}pO!!WQ at al>?<cWi}QrwL<
zJpX#Rd3o%F?vg%jt=%no{G7CZJwJRT=>C4Hojm_S2hg*-=`{dsi=P>MIDWa at K8@B-
z3YX^B@%wmRbZ_nD9fFHKoaS$}5W?UWdU{#JmGPMOIO_ at jh3@;d?S&uLf8lRp*<jMb
ztLACq at jJcej^BO1cgL-cZHa4%b=w>7OE#1b<HdY2S^Ga1;k>vnE^CX1^8cTO&03 at 3
zY#6V1-Rpe-`*FdhjcHGt8Oi0ujRNP{v at 7WDMU<w+p>@VPfeeD37{)2|htIY=*I71z
zLQPEur~d0Bg-pWDMOh*2D{@okhh=m4>7qc_>{k=oZQ04GpHO7jDKd1wxt~<*Yva at Z
z?420MG1P))zi7btDOcpHK=R+uN%=68>yf4&xd|t+Zc2>^%aIo*o!Zhh!0Gg?l0E3_
zVRX8ykZwuU0{^CusCSq6A(Yetp-ZS2&nNUi=n(uF@`hAw at ESkvNWU)lGdU+HPaXMN
z6ns`NeJ^Et=}PBoJ+7UK7oDjaGn*Te^=W2Sn6c7$D?`5v8|1DHIbCL*&|yQ3A)!#y
zCBg-Rj5TEPe(`sMtfanvxns5NeY-%fdO6%M>RmeLcu;VCqM0|ln4w>2D}4>h-lV at C
zl>Cm%zF)ZgyLRmdj>mnG`#<Cd9RI<>j-7$wzaEIX&fvD+WIzdZ|AmTUQ()}!X*3Qj
zwHOuBRs<=(c9AkD$K3GOzYvTpk~jy$B*v(t{frnrc^{KTf_Q`{2tzgoZ5~K?Tnu#0
zXX};xJ^4%rhUu7q{wwib!MC+dEgGOWij(k>NRgld&Do-^KNe5SUY7sdI(X`3Bk3rb
ziXyRDpy#12*QWp{)v|NFyO-7QQrTQB4;1%nS2oeB^WCU8T05J5x%)D at wGB;>##P;^
zjaflb90tq(cJAia*3HsAC&oosk*K#_!IwwHFxPvxj%wro8fPcbaN2S$BHE;?GFE*R
z+!1x8`@$1NYTFPkP9KYlDpe5c{XF0S7H2MpZBIw!lyy2eIGKb?$ra)5!DdIX&*Z|4
zmM*C`LMm4i1HHhpmxMv at FrNgpicII9<?L3I7{=8u&vpziT>yg{18SO-E*Qy79UR00
zS3oiXt&oz>KmbI_T=q6_#$(M*Y~NNGGC%jN5kuyQS<ErdBqnhfplH<9C*jn~mCf*>
zs<EzNRlOnU<?3pL@&y6Y-G!=ETSMd-mgbrKjg*DzD98n_gLDc?7o>b+q$Bk#`F<|F
zmYcy!6*e=Z#5g{wGW1 at h5a<G at LNdcl1=5JJ<>R=Wm`EuRr1;k$+{hWd1Vh0RupJZf
zVp&&V!vr00EwpjB#yX#M!Be4 at n_Sjy20v{i3(9VOq}yxIW5>i$B?K6x#F at iRWBWZ+
z(U8MbEv~pold{$eAHDY96nl>_y>VjZk*UeS9#b(1L9jDkqGV3v7zI3VI7DXmP*2BD
z93xzAB&l&y`gp{nCL!=CPf{X>`FMg}m5zv5&k$2*K5_Rog42}OnIjEfa#xHz&H)r3
z$0=g|5NGtP&-KrlwW9NM9`;+LXxq1q<uQhUqgd|TSg4CaE#3Yi+2bexF~0T4FW|~L
zQT%@jhW{jk!pO$?zoX&*pJE-0HEy>x_Iy)o at rJ}kFu#R<N>Zz^rx;Vu6fBqnEUM<t
zY?O?PW~ur9(N!H~!am9f6QNqGM{BRY at iP+a|3e1LW{K9JnPE3^2pwPW?Kc>#&);(g
zdW(fnYo1|$qu=#`Fp9nF>`ed4{@N*fC2of#_R{rf^(aq1*7Do&yBYoZ`clFXvCRSH
z|DYA@>*$VV^R)!~#WB#C7(?L5o3r1{Ubgtc^@O{u_Uw-Fr{1}-J1%+d-QyKL&wuSC
zaglns(H(a`{ZO%48v|xo!JW3&w^Dl9Dl{Z#@oKa_+p{l=z~!6ZaMFL%tgzT?8a$-%
zuyY?ZUg%3?Mz<A~=@k1%QT*$(u6x9BRwM8fag%M;FQEf37v3EVF#orOdq3~AX9wSb
z0l^NZ9k8z7d62-oD at i{`<PlvzyaxO#r_lHL%OkY~f+IfwLn9&YRCoRKU0ntOCKxhH
zZ+b`m62B$WkZG#NrIWVK4ZCCpnXl^%)&4C2=W?WlsAiI~)%HA(I{wzvu0=8lM+El=
zf7x*B5|fGAwt>LOkwDQ4BW&?fz1Gd^)b0Ccc^J82NVYrQFT_Bfk66!B3`7g%k$R`m
z?P>PyTx;K;I+LAzKHZoXrqXC_?!HyzSt8dw54D;`y&3Q0!w at IrbQeML8NTnKcw2*7
zcH*e;qTQ1Q3*70D8tyA#%yNkA?JO>Da3mOt5-DU7qf_Lp(Bjp#^Yo8bLT%2f8xTcS
zSWGaAh$`KtAVQlaS~TX{7sc#0kUH<_W9_ZIpXcK_ui;01HUW`OF^}QUCvXpQRPN#$
z^C1^40ufA)kOm7Tw+zxKKxFeBFIxN)jUFvbLIhqk*mzuk&$F*Vuvkxt+^Yn1`{J|H
zrGo;~R;+C#mp%)RxnsY<k`+4}v?0Vc`WD*Zbova2kFiONdpKE}(Lvt|1tg3b><!g}
zvO(BEpqbnr0w(G^WUh+q=xU!AKS9r)RpIj*bZLje)^H}&mTY;ziT!{i$V5dDRe0LL
zi3ae(oa};0MOx7&r$<Jpn>gOtDk^;5#eN_00UrTziShIlZrdU{qw4dG<`XmfCt=W%
zm<C?gnTLw6W^f!IvlcluZJSpFp352xcusyN*#LdzRp0tE>p=*d4(d?_g<*neG7^~P
zO^z3b*8aTK^AxM#=KeDW!3~ieBakf+$v=-17Cx3{GAf9f@~gniK_7`xXm3`A0+AND
zboJ%$toVY*jvqy$!NtNbbM}j=F48$oegL02*FRo|LtbQ0Lt((y at Fx+v<n#AqANtD$
zl8Tau!d(aT<tgo9=L4}Owq8lVUSVq<U=4RZb}tNu1lSxh_|^-JI$NMVy&r}qOO1-1
z`^Tu2Rq-N?e~p`pskAu#IZ%M(12pEoF=Tuj07I~U&W}||w0vZSwW!SUrIz at Sfk=^y
z#R>z}26l?orc0OskOA*PzJOxqUVs%WR!9KO4lKmRFwh}mayA3!C*ojENr+x>52Ks9
zGZ87bg~r5}EAhH<<oJrk(s<Bj^sCp$bMhO{)Te-QB at Ae(D0OeOi#3Y)66azFw)^?u
zSoa31QfXO5jmB<M7W?@Gcv0H=C*WKiJE$1kV(ujW8U)dd9M{y26 at u6}5lT+&!Nd&K
zg7%^497%LGG{UEuGjb|hg@$1qkvKSXni|qG&hO=HGW$u`p_TM323fE0ptwqQPhyCe
zy<w$>3^fk%J#Y8W$HA=Z`D90-3&b9wxh+BvM=2L-xGA^js2{N+U at u#XerlQzQWg-*
zeobNILke?nn4<}Y()>}}7WCeYanq+Ymn8ya09JOiuiIEkNKC|&AjrOH at FMdzPx`*h
zV$nbi5Eq>Uwr=MDG*sh33cbVSyUi at j2#!fn=`*>>0)DFhEULx&!%Cn0H?S5DzfR2Q
z2X;S`a1>}^@*hX-(?tOZ5m+AYoSE3bPDr+yEDtE5DC7y4zpTe>TTlw2FKdG63{MaQ
z6XX0ALj;xhDT>H}`i%w!N3$@)dGcdO5NiSZ1fgb1hej4Yce`;622ttXC`wa;S<JD4
zH20xu730lRpU{SqBwA-$&PUSlj?d56`OEcm_NIL6tN-0PyZi0io%=2S*3S0M?$7tl
zBz%%il3>y-3kuor`I3Q>JhIXliSyb(o+r~f_G~1P0Gp&$68#f7s(6^Wc4+W8qEqO-
z1V#m88whadTX;vRILa4ba-e(7{o4`>DP?QAtm9TP3Hg)L<!jkT`U<@6U>xd57BaRR
zb63tY%ASpk9vkyNUD{MJCt8)F6Owk+<tB1}AYmp9E#f at yw9}ic4S!5qm`NWZ{zsU1
z7O>qhMBPUng)v<hUu9i>!LX2=Y2a{Q!s8WDVZGybEg~$OoeT}BHe>Gg;uv8bB2{Di
z$*UY^51o^{gm;>*W&;|nK0|MiXEQq51KyM7<`NT*RRqjCzzC2JkjVT=!GoQvKAnqg
zPmcZ&s)*{05)u at HTDOF`@nPJ2BiBSa(YUfP#~j%>w^%BrSDMD9Le3xy`>IG2N_0r{
z*en?oLT1C^k`2;$Np_Cik at zvNP-M@*B|7J($}A+`mm7#w)gvTzl|yOI1N<!(#I6RF
zvgMS7U9``}BMP`2uTcTc<iM7LgDjE|lIJQuBc20H8$A@=dixqEv&tX?rLGLsU7D-`
zV8HH=Sq)=`yIfx3(wDF_IxHLWVjaZ&EdD-|gc}bn*;6|K2uBf}Z&N)v1qz at B|Kf6C
z+OBk%LLiJ52SRM;Q3uVi#g3z|2t!vSa%5=)>l3tbal)`1oa%fW<W<LZ4c9E3Zm&og
zMT+X!K9z>?s-#pk`C*7hvAI+h3Xo}(StXZ0=%VT(u%+r?{s8i&*exD8(gC+HWTPpl
zq_$CR{Ak|KWdl&iNNJQg`It|liWGk1%oAWjRGUQzNlbHPL9(q$p~$PL3#eiUjHn6F
zc{g5&Q_YgT2$iWKJ{$Fi^wH2 at w<{lvrw at q{8HV4Z?LJ^g?|N*-X;cYXP<3=Xvoh!4
z9^F=LxUhME=bU{7eD_$L1kpJ1%RMKY+-*ZmU}q7_vHarT6HG5L72aLedTBqR(v8+s
zNd-677}?5GYb6-~?-#>(pUAU#a!(C#$4S9feUF~0yyjQAr)Z3#%fO>PUPSdg0|g<d
zqfr~zZ-$;AQLy930!(9?U`Ndl7HaLYSua9}0H-L0#$l=?=RX3Hsbu!~jh(rb at 2c4O
zT=4bAbo{8_eZ=RYG~Uq}<c~}e&Z1g<oxwr;u9EPP6rWK+Ynhvf@}m90AZ(bepwues
z1S-DaT`^oC{acNQJ>5g5lz$W;6?{fbi at QDms5*&&(cu2XDl4Tqt;sA_fJnAOMoK5R
z!RqR#r!<tVQQBw=1J*=C{vl%+47dVwP7{p`Hh($wCcBnqF7{PNx&`&j-Gp6IolZTM
zRlr8DALh&G6D$btIClZhUpNrrC2g95f;taiO^_MS3O(Og!cSasVsi^aDTw=PmqLo<
zJmR|9zywSm)k9axk&JCRhw at g!A?8u>5y%RVC{r2a6#|k(HSP9z1*xlA_D4E!6!v+J
zLNm2k_7|i*&MM10<E4thV}~b3NJ2NgEWC%~w6FeXSo*<WoCm=k=pvGUOZpyw*?Dm?
zRe2qBuV at K%<BHLtbF)pj*bc}4<aPBb$Ppr|6slW~CL775`ki1qauZh=+LBoV86e}@
zB!`uP!H3?Pux=M+=dlLOO}I`SzxmmP3X`B}Y76{TU4<GJvE6J3Llg06J)Y;$O_J#m
zh#`|D_%sE6&|S4}0R5+XR9-E&ir?9R at O#1_7^3z^{dpVyW{<R3<S*!M^>?$3)+#!q
z(|u!RQcdY~qHy!5MUKN_yhlqu?n2{&^y2WJ at wXx5rWewaGPU<<RPBfAkK|GgHM2;0
zzk_N>FG^Hih at P^ox6c4LA_<^P&f)rJ#E5djT?`Kos;00fxks2~h+d2-6OptK;u~%<
zjT(y=aKQ;9ae{9J8|S9h#|RsI^o7Ht(q)@RSwYlyV%&roxB#UYJOcg+1jf>#!N7{G
z_fZ5dHUZY>ko;yrHiz}J>T{x+Y<-_9YJzeMetpHs!oR#=yQO0o9dzr=#c+r)u4FA)
zMDCbAgt&MlU#?mX#*oQ6BPuwE6*pmA4v6)UofQu3*}M6g+l>9o<*r$oe9btfdK9nb
zatObB;$>2szm#|UVHhM+{{gZ5QzH1k^a+ at mS^w+ueXN$I^Pw1=U%vkSgY;RY#=b12
zecon8=D5v)jhR~`ylqlahfE?={Myee^qz2XO8AW3d!Pl&#{leDf2O>Dzb0Cq>7_+;
zTtnm6-2l2xCpYljWG8yyf-chjam>T<bTs}B*|_FjE!z(nN9X!XYX{}b&$TXYJbL>6
z2KD6tpN@{0;*sum#BHa1FC&7tJ^f1kY8t6nEw)yI=eq;NB{Y!N;%4bc5<DCIWgJAX
z>;<@9Tl?GWv^@RJRt&q$fJy4m{O>!C_&5JfQ=}RtFOBZIWL0g^rHS=zJVBH_-AdwW
zRtI-h8hzKxhx63QbmHxAgks}x>ux&0QLgo?To%BGK>VZB2E1^wMl$pC&dRZ=cGkd_
zTEjG0S=Bkp!TxK=#@o<@v9?=>wWa~McJL0v<k@?=VA}=>;7+6MMsOkYkl at MoE%pgR
z at V26e;>im<e}pqC$m|-N{-F7nYa&TrJt`e4c*QDvM%pM-9ra}cD=OINeoF(VE?Zp2
z5bo8>71(BHHIuzJqK7PW8|`mHZnZnPJj6W+CsheJ+U^6Z&ZpjL>&VSZP~qtgv%yA@
z*HESR=B*%wdNb#o?|Z at J<iLyUCg3!>(GkAiK_~RX8s1cmN>&%Az;k3SXsIT+$Aty{
zL}l at Ce-gt8w20y!ZY*wdaJX%w^>kn=@x!sk$OP+FfrTi=>kv5(;aUx6O2CcnKR0jB
zV9<Nsbs!fTM?FD!Q at pw~(L(bJpyULCT4G2#2{XFcwN0UnNOQ~14~{1cL1QD+Hl!rE
z7t_r^pvw_hqgfbVVU#IK&2ce}SS~JG%e#JNZS9vjbioFZ(!mZ=N14_50f;hjLx~p>
zcXJ$k68&~=c{z9e`5#9DxL^t~<J9?nl#ag`=3_j=ZG^UVx3*=AcZ@@|<I^U2c*AL&
zojBR|1H?<^gCX*^w_(JPj54bVIzn0659sYm5m{vWIZlVyvf=C6Z_XVd2$^YbJ;<=~
zeNZDwjPt0=V_w at W!#akYU6@)8D0`iOaKFwDD;))b;2AEC2Vq3~g`E`akY=qE69d41
zcRS7jY1%B&WK%rUJJQ$a1Ww`dH!1UOK_nTD(RKx|bYC@*!Ya0#DYxb?CF^jpHR2<8
z8j6n`%;BaPH2FaWtu^LF>Wvg>2BuJ=&vHb?+IXiAUqarp6Ihdy^Rg<F#OIXs?jPq9
z0%p_?trt|2s_wJc;ZGc at q<A6JWlq$PWlxU53Opwyea#1I>+OWKPnQYYgpfxkA~yTZ
zE>_i7i!fFRO!0Rj6c_p^Z-cnTKPSPp?Xg`q>y908&tx at E*#lqux5hpQV$>Wna&*J~
zQn<~gVNO6U?Ae6<1lf+ at e!s^RzFv05<FlYO6?_4S2v`x{qzM8e4M|2S1o7N24}qP~
z&35&8#=0+1v;XzT<x^!(BjGHpF=yDTbI)XF)rY~$JEeg}y!*_K$6p&C?Rk9{0 at C=k
z-q|pYw?xFB?e_b3<J{cTqkD#WqSEJ(tiyxfSg`OCRym1#bQ)k<Y}Bq8 at +wp_Dx@cb
zINsYk?n<=if_*#!aH3=cuB0e(knZ;$%iMR3Tj{&T|F#N1XJdRWp1M;P6uk7&i9#%w
zNs1=N5I-db$5^goB)gP;Mozk6OoY;dl=BY<<YJ@=T7?`86|1yWkUC9LvA){JtMqO*
zg=U|?fJ!Q^(>`<;Plb6l%;bcbQL?1;=;Ih&GQ4_6yPycmb}Olg0L(Sw<M8Uv;nqs!
z5sDvKtL4^Mx}x8!!nBnnvV1FAu5Bm5meA>IHrcDbX*geV at JZ&^Q)@^m7dMPTPvHG+
z7?oQ;yr&&b=%f|XM5yva6J#cwN at IlPh}DrBSe}OGb%G9x7v?rgoEcu(gW#+e4fi3g
zg+qSx+EnLCIZgbNW9*SoGP6YY!GJulM9LAVg7-u?orQ{ISoBdj(3z~7b at ph(pX)Bd
zLpt`Nt7-cjV9e?w;4VD#uw~q2TUnX;C%0p;Xc!Z6g3%=`u!9B~-IWxVc&n!ZijVnj
zT>0kedW=={V1~~c+|&x9gO56Pd7IzCN^&?uB`3y$Qnuc<V(|v&P)cVJh;TgzUml#J
z6k$wWi&pZNb{D4NdgOdYH at vX=9#=PVPDX5Ou&7_XDm<_o42A=JB*qgQ{z(o-NI|I3
zn|s_LR*cTKRDy?FnFJ3{p?ae9>43DgMiphfg&~rV0~QF*#4%t at jDldgvc+XaJNPRl
z0SV?rd+X73_;J^FwLkVbhkPtnv~dvD+DVe^ub^9t7Vh25$}<NizmeeY30q&@jbq-I
z2-O?Kg2=Td_H&}HWX>(cA-}rs(nG$BrxdEDyTg2owMsvhDu-$2wfQ-N=^hfWsQ{(>
z?#5=IClQSzDjqVeK0W{H#vicZsjj?4)}*vyapf8;bIdN;OzT21h?9QoSCDb;Lz`>g
z_m5iVDQ-|<?hyWF&VZOs&{knv at 4Y`clRCSG?c)QFHKU2u;@kvvO*(G0Vjg^X!jy~&
zO%eD8xw|PwT%`#j=wJkDQ-nSJnJNSB<Rq9hSqREhjr7C)k4MPzV=f6Bz?1MS8*KZO
z)!y3|_gF3?M)!onq~w~B>Wb%V5#k+FLQTv&=~v30NZ9rHCtdZxF&Er2qDVYtQWdmB
zqHzm<04Jdmk^yBSpM=)%{&0NhBt^Alvv$FAxBR(uk0`5RRu^(p4^}VX=v=@hOyW#$
z%Y(YMZtziw+s64WrK7--pJYh4ToZ49%8Mzp#Gh3^D;-J+mpERKVSk_cZdrNPO825k
z#jCQlIZ=U*=$}`=nJDEH6BfeCb<R2J=S6PNjAo*EP!t*t=+~gI#}5o(M6NTL%C>M}
z6{6Y+BKW)8!Xx0C`7j=eCh}N~*$5qi+33#VDR-XmlG0>NG_!zOAv(?_GGaqI?78DO
za^7HCh7uDK?Rf4bHRXB74X$yn7O<6Q+qK#<Sy9JRuq;x-nxz0D2~W9QF1%k++S)!4
z(MQCDmz3ED;kmu at G^s1)!f9S at gXfS@d?n(;7(d?;rSr at 3(LyPQmR%!k7QT6y`Fekl
z{Ce+bbRal}SJ?=v>Eq~ClXaYwl3JEzUCsF{8lJt^vb7+G^oQ8LSaZ&6s*LSsJjrh!
zGwA?HD;kT4RcbAbyHb&x0J at tOWpuZ#Cdr$E at ml=mDCE(gT at c##9#BPXqdq-W50!`%
z%zz at Ww=waObA4!z#A86=JSDbqe{m?9L2Vplbq%OfA~OgSm%$YnWK&QiEDZ4mljl at v
zEkwK+i(ABdbwaVUwn;FdYQfdXN{R4N>B9Th=W%k9TCFJiGG62J;&fKOmcLsV-o)@&
zeOwdV?hq6izHOBKxwu4};t%V58&3(nZg$<!P!Q{5S2ZKAl-fqp(L{JK8w0BuwCWCy
z1PQ0<LuwKmmohu6EL~d9B9sc4BZ00PVqs{W{lYvaSzKdC_EP3*d712JS?kRzSiwFA
z*B`OS4#{mMsNorWnV|sgyXW<MUXk{Jc45fj!g6*<#c~Fu9g-L{U-PpqAiyu+1<6!w
z>v*m5N+^IN at yPX!nm$6YR&3(rDk_&e7au{WtYncQE>}Xrg2A^uwyV9LiQY9N+(Hn9
zdT7ZL4AKjFFH_g&@}Km`TX`t#>DV-Iiv%PF1Nw9dV&sZ(LzRw7mhHK;XjC4%BkyV2
ziuZ(9t|T3!V3!0O$xRgjftN^nUHptX;<8&ei&V<4wA-SnKfIl>JuCSyn2Vl4WnBSa
z;LfK`$?K5GtTkyWm%I;Dx)|l+hxz_;f23LakAB<C#ueF|p+iSMgf&J&o18oSpnQwY
z9{_ny^brFD<IX$z>N?6UX%oo7XK|x)V&zRYwvC>sF3r}i_qVN{$Ti8ZZZ{U0?5u<*
zotf*B!N4`wEu%+NlKL&Vm`QKRn+<#_R}+6ugm)>2iHj^4&oh_U9?h+?L4DkST~wo_
z$G^tuikoj?T?uC=a<UNSB*kVX<!^?VyV*t{*lNadL7815-_%Xq*M`y;|4w(TLRX3!
zajTiVM29ZgSN at gSKiM7nD}g#7O1{4LfsFAMzgxq%t+VU%&1QDaPf~{!nr)**jCa>h
zG2qH$@5MM!0W_#XDrpedh<}e%#g;il9&E`WY~#Q|Fuy-<8CB<CREd*0ruEI39{Gp6
z-m``KKGqu at pI7;<`O>qAf<gFZX7Ig{o0YYo at AY4K^|dcFAvEAyH$2h`O1M9THoU*e
zbEH at uR;%49npAoj-_lF*$bzhvLW-ABi?uH$hN~6<hzMPw*v728Vq*hId7J3VV8r&l
z1@|{SXjIiw>q{rEJ-<u&3AxOSNM3c>qo;G?(H<th>t5UhbOG3=+1laV%1?2|t-%ry
zUU?h_GnOSPpjtb|kZ*V2`>Q-eCx%SFh}@4oH~F0N{G2m0FInz%>tcg^^bYLdQTD96
zB;w|W^RyQ?uZieCp{@VeAL96bx~2b3e`r1Fu;t#j*NBR~uu=@FU%2S2WoI(Ep}Xd4
zO|`-Xj{${*a8j6T40m?7j6R`Y$W=+Z83+ruVBVcwe0%s#e)~G9Q#a8r%EeuMrPe6O
zt&AJ*>u`{o)Wcdp2Rvh!zvpA~lc!ht-VFbCdHax&=i=Vswf5}!xIv3t)FdnT+qhY7
zk;Us9_t)?3T^+|{{!=wkG?$UbdvhR6R|T%wQjOuv)qXRq^~*wfkwZY`)3&OJMeqCb
z{<e09HxA`QvS+;U>DMQ2^atO5qb!@2$EGv#F-Bjth1z3L{R=)avLiJLC!sv5Tx at U8
zE9aU>w>?eV)YL`28={T#u7HXB^QiD8fS#^s2M_ciXwfY})=Ai(4W<o79#zK%H_0I^
zaZV`uI?*3+6Vh*8ugWodnM?Y0zL@`bt=WhA0qLzlZQLyXuRX6zE*cbmd$Rbz)dD7w
zV7a&fk;=e at V>uPzdJhwiPs?|v_(m<?qIPHSA>}-N9`Y4iFMQo~D0zBKwJmdJ_BwQM
z?FyjxwAo8jNdC*LY9f+-BS)N7?54g$5s at zkLsRG^ci3_Vd+u^74GRqE0fNH8C$OGt
z9HPzOr9+7*E7*yBqwP~^_ndDFCnMftuzXNxqn(^sT)B;{H!;fdby7-(c!d_hAs#x?
z3a&u8Ru^MP-wt|M0fy|UDXn$aktaMul601gdr~*rj-Do1MLJ*=cb&ew52ib(y!9r7
ze833keTtUNPvkea{Kt%i5ttX0pU}nb2MGFdmr~f5C<=9WqzEFoo;RVqaFp(g-9pke
z*`o>1p0j%e4>}kwMgDaJ2uL=+*XW?}=6#<=JIF}kH-v<{lhSOAwWk<|Eo%T>Yj8Hh
z-K%p|LtglfVZcq1#lHCiV%^ouwF0DVdSSkW{vJc#Mj|XQ@&?#5ZD=voWyT=DH_mB2
znnyKuJ)+LN0uKm}{48 at qoHaHq$bj6j{E7Yv0l|3#{#*hA#{>A#-1a1wC0u0+2bnZ~
za61<`2nUk9M|4Xe{O`PJL8hh)px1L`i67}BOM+((cupuJm-gih5251VEuhEpdRZYm
z&#%XPFFcc(J at uQD5xpK)Z0r0cYL=A&7dH{Z3=tMQiiF5Jx0(q at p&j?(ED<!I59;XH
zzYi%2{f%Mx56yZ!R~FzLn<*;}j6BQlQill9%$~+7!4hzU3Id+uGuL(-G)05Cwb(+3
z2R;<K#U0CCAM)%__r5X<H%FMa-}Fne6 at 6DgM&8LkTp{2D%4VGiK1EsuVA27;U#zph
zQ-Ex~!5xD&HSBUZ^3?VbQ)}Nz-=!6qGa^GWSg!d9Icv_Xo9f-0AxgfO0r%w7|4=H;
zaNw&69|zp;Hfg1Hz!6TdhfzMcz=2sT-#08AO~S{n`WGH1GrwVAOtD6C(wl`+;p3)n
zQvG!@uLd<<r6u){_}NKLL7z&PXv}@`BLEsFT1 at XWDd}h@$nfq(>=)Iunf75d<DCwo
z at F>kd<8U4&;a(LLWElr36I?K7ifxo6G>)=VntFS1hP1v3J>{17M10*vs#Iy*onxHX
zJiJfOKT#vIg2utO%j-OB&;&mKK=1kB=<c-95`(sl>~Y1fp at E|VU5R^0z-%vy;;G1G
z==w;T4gM|EMUux7KLg`V(=h at NMdB~`0}TV%?80YaYH<(YiLHekgLg~HOn*6Z^UG_n
zV$$P2rgbA}ywKx)!!U#BiQM^YEFqCaLb{?^+M;0y<Us;q2%8?Uo-o>sf$vo;3~B77
zAo~}Y1Sw2B86+qizHr{vywKR$<N at Wc1`@)^60iw^sXQhP8R<dy2lEQzwF6QuDZ6_N
zC}DK|g-0{0hq;$6wZuQ_=0TviKfyg3L6|bFWRX at cjV3C0?y-ghV?_ZGaqO$gxx(3(
z?;WuWI>nDb4I6~l;zVDWbPxf`@EG<}9k9GlN%&F#pbXYlS>*C*OY$dYQXIsv(FbNU
zFndYNJ%(631`oOj&{J&M3A2+do+MR}lsh?+Es`T06ZA}%Kq)3QqX3Ibv$;KNH2LMD
zRSw{N^VR at B{!==hV2iE<VM0P}8j(vC*+{4>@X4n12(!bp at 15jh22CepQhh^7GTW9z
z3aWAS!*t8o>A7PV=rmiL-^bg_{`X+^>KQ2>KHtw*WXqIW$*QS(W%-p6nX(`Q8A6X=
zA7C`tTc0Ib_5G~;7A1#<j8JUBZ`kSQtEp0*NsmE)zie>eeb|XWQI5hOmMJ4);RZn@
z&KlGH98Dq%{v!VPkh0#qybI%G@{j|6T3rg5cAP`!&?aO|&=Vh^sA#X58ENDlU`R|i
zz$}!=8|)`laXFx3UW72ki`1peb3+O1)e9qFUl{a;$DuKPQqDDWt%tUx2SebUiOfO3
zayth=K(s1prc_<0HRa%zQ-e(Aj3xj(lqAbla9xlF>T}rL9;o6pv1Qg!&qTliKZ&=@
zy+Pm*bgz=bP%FI1-c?}8&cp3v=KQqEH!0OYQlsmX%xT+26eWCUK0y|lRY~8=TGRN!
zS)nGKqlV<|x*vHg;3eFKVx7xf9{!N0+37X3wZyZ$ogPhm#Z^%dAdf=bZA6_*ag>qW
zZSAn|R}{M`Hy`igMRc%u2{3Gq7tA_cw4Y#6g~(+2M<`KB7og0><+iDT+|tb$qZY2G
zqLf-(49Fhz$GU4djsnPY%s?jZZXxIjUYYiIJ!-ZLsWT;w)%n?&$^m>S#TpX33KN-&
zLA<^#H6<Ak5I-%#(I7KgLYg%*UjVgVd-P8ASfFc|JMSZ>Q*OK!0sH#FCN;EOpF2=e
z6+y*5{XOsa%RGGDnj1X~D*PC-&jQTz$bJ!zLh&-%prF`9RD>})T&wa4ANT0_MsOQ`
zsBl%{S-N9LeDu!;+0**v+^QQ|lD(DOThmx9Z1KNmrt0EE0RLn-q2zgcd4<#J#}Q{6
zP*Pp(p<81-J`HIu7fJM$Rt$qjOHqS$1KiSEjz*vkk3x~?Ol?7r2eNpBE^P%+h(|Zh
z)p`h1yKPS{rb;3kW at tlVCQiY|Es^l8HRL8 at oMRLE<awZ#$HMREJ!#Q3W|}ovUJme?
zY=W5Kjz?vzV3QZ~yz|(Ym|*r#2L?0{&VitDHgj1(BL+x?U|z6PpmQDi0#wGtqsM@*
zoBne!A3X_rn;c(N<w>^9?avjMROV|{Nyv1sIc;ZLSn}3PazXa7*I+N&^i3WrDz2=u
z<K|AR*xdm&RK975D?`m&jraw%@I|pwn13z}8aC?fsnm~H$`>-bLjx^4_`SN(x80Hx
zh8_oyOlBXQ)fn*H$l>xxp9cD>eX=M3SbugEnVEKy at 4@*yE};16-_q8TO`D&U)`u1S
znyiaVpF4=|IQWk}pBX)K02o%35|*2elFvt)+#aoI=O=fe3G1(_L=>HRGEkHqbO|28
zR|%{(2J#Rq${}MRjL?oPh at 2>8kkzk!!-G4EMVI+1 at aVTKOQdlk0jx)eN0qAX at b#1T
zEf(MpvlylMBcny0%*Orhy8Xb-TnhU-b?sG!FF^2ed*vZxZG%?yZOQ}E9s-PHBSTn?
zM4WO@`{P~}q#}cTpb!W-zv#8km+sq-aqrBhy>4|!5NJMqEvX!mK25OJNDct=VE`bX
ze-`i|Wvg-FIx}cJXaEsDKHaanhkv`vG2cub`auQbguX|}t~S8H0J1Ez1{G%c-c-8G
z8|t_9rfshVi((BKr-t5{pu|y6WuH<PBuROrNMA_tVcwicZ38uEcK0$cAy0On+JO$C
z)~45Xg8#@HBaUqc0|%GQigI`}f8vn*gzlo&MSIyk7(%}7Cr8;k-i{!Dsq#FQ2PY at W
zY#n{E?w!Cpe<qYB>u|9wSzc2n9(Axe=&aIBbgZ9x^{{M`tfxxy(Lgbbi{ePu1Wh3o
z-1 at jFDQZDY=Bs8&l6{~nOqpoY;D|Y*)l;@XU`ax#pIg({B*_!G<XxKONSFOZ%es?C
zDw$DP7rQ=Lk)i@`Z?PAos at 0X^E7@^&4#eUVb7!(8$Z?M23-hPLZ;KD0HjKfx4&Qsy
z9#p at m1XBMxM)xQ0*1E7Q*n?)gb;1Aai($z3D|*_)x#+w#)^{NQqXhV3qy6Q2AF=wb
zca|g~Nh!fuh&g34s2_+Dggr05GZN2t+7mEgxVK|hPiE;u|2(Oa0VYIQpy~Sui=FPF
z_amXVB|wlT0pm4#h?PeuB|*{@1&`r1f1o{p%-jEO at WR6IADEuZOpI**HMvb|+j*-E
z_MZ#+{<!pU=33co>XP?_yE892d+aS2dpF-0^~R(awJnJ)lKaOfdLMjBdGnSFk8vUa
zL=XT3(4Lq%;kT%{r%xLCxM|{%`Q~@BLc#YoCYHbVCy7!Q^glm)27Mj=_kG#4T+w|~
z%(VIS=W6+j4!%$EyDtZh-iYYFrsi)qzeEzryRX@|9^YST_JzG^&qT0p#<T7V3n4t4
zc<;qLW#cNb&E|}U#_cROf}!%Q5XA(M)8DS2^YP2e$U&MJx<;0F{?@~~-o`SD2|7#d
z`xB-qC7a8QIM_#QyCD4;OYh}ePqA$ZsF7StMup{OHWUN#M)ALV at jyGG3^v~0#@ZJ<
zh9RZJj?0l-R-fV+f5a%iN0OMn0RkD$0e1sSjuNV3OqnZ$?R(a4IO^&w4$&2TG|dp%
znCcRu4Op&Mbf5-6uUjP89%LI}=lnW&de>|Q_R at D?N`D8GBRr(25>=HJw5`R!{Ez*0
ze<6!u-Re<slR_4%Ag*Xfs5IYyx+H*b+ZzkEf{JX>rAZiK2QtANVef2Liyb+3Sls?D
zwQ4g*M5IcTIjkQwiOZv`PD$!F4;EhVei+tW!|kbf<<{YI)(nK}jN2(~=);DL_!$Ya
z>0cKpm$o;~IgvLxP&NV9g<1%q!a}@j#nz{y3J!~c2|5}#K%56QXru~N$szPmf$pdP
zXJfE;rd<*K(Ol&o^fp at SF*@=dPGznl4lmv4$eiNv7X@;xhy001dZKs3==}LP?+CQh
zgz3`D1M7VRJc~0~wIrgB(rR10)?A<Bc%|~ua-WftNghR00+Tp8l+~BRa9=*_KR)|o
z<uWKIhcB<1GomthHiq}fO1mAs^;ZvKn27lT85s-!$H1zpJo$XXkztzlGdCq<0XSWL
z)yQdelY3JQ)+<hX_(rb2H{uT${NR(AkGHcmPMJ%Z8q2YaO8`E9AIL{HE|?-gj<jQ@
z`1(Tomul`LHeY~K+M~|{+=3$Uo*ZIV7|a^*Dux-hSC8pgSqrl4;#}@}^hF>q4`?Ov
ztg>F_#s#6bl+siY$WN^Kvk7Mc=$)fc1>h__-;nKaa^SyIpVUPIuQm1E+`;M&s%gpa
zT#ESF{W5vJA`8s99~K_pe(X8<7EC7+IkHAI;c!far~ub1fGqw!-WI%K{@4X)xM8Tc
zfk%#{YC$!o<p*%hQek#rxZt$kW6Kt)C at t*Ihza?-X-1kf_q*paQWU!j8g|x30qktU
zc(D7xX8L1H&G?QQ1R28<q7v?$vEiM2R{P2PArVyEm3*ZcOZS~Nu(l3X>84)xNp=kh
zmS+U%%VEpedc4MS-%MN_iz8)^HI#oy=3(CN-^Mf5Hn|IqQ4ogwcr<PMn9cU`a`liF
z<%p{J`x&sZ5U(8q<2m2*wgbAY*r`j|6G{bBJrs=abjOCJ-PDWQRLiL`kO`Imt(*DG
z3Pp3zsbr>P=Fcq5>P|m~gWKG1Ueg7Uv%`5!PWf`Rv6*x*LIDU6RmURZO<U)x`pO)s
zorKN!S{m}J at Omsje`9+vd9KeMmZ)?l&s&oP$EuShq=sHx-5AbrsRhQ}vyP@~+`E(M
zPza|tZr$E3PDBzx0tt!vsh`B~p at adCB9XiRw$%0N2Geb+9_*nSo^hY%!<lxFQBKWC
zV)CSWz7Ff3dF_M2i*xy;C4FMZpBbatkDi5WCp=Hna9ibd-t(dLGgC#A18XPUBizqn
zjlpCVJ;*`NC1qLwD at NdxrW5ME*6xq_XkXSipVNms22T8ua}+Jl$b}V{I9NDxkGDrf
zo%rr<^(Vt=`(%{PmKv`e$DaEwoYx^#$3f3msT9e8mcjHkmJ)P0)Q6ZsJ!==JYm<1i
zm^>_NIVMUc5muxkNYOF?GlL;@#*b!#BJOh5<Pgb%mzwG!RR#C6mxU<9k}9(v_;y0S
z3WQ!3jw{dGm<s)NqqQp^Vv?QlmIfw4sJZhCTr_NVH;>XE5hkuG<5X}CUfbFcQ7moK
z6mSBfDVD2&K#x9X1)l9c5ZUkCNWXDg!nMg}eqnEA{j`52ncc^FHD;bD(kOMG=t8#H
z%4yN3=I<|b4x`$a4<cH;LYBqk;7!<xHe`@~TO`n1Mca5TdZV$%LJpX+WFxqX04?uE
zAN^poxwyirxVY5JFqFPX1E<inxoyV1BFf$Qz+w`X+zuSug$WU{z*6W}Qf|b>96>@y
z_ia9ax`iqR7YP8<Ir#wXau_W6GNndJiQ2J&-|Sk<-r$wcfimouf951uiR2W}_oAKp
z<;%ZB=p@)D5XwT2y3|x?kJt;PgV?fup(KKE?XHh9Y>CX7kuDK)e6pdmyWFl5T=Zk+
zfmWW~Rjq%ootW at 2w+6r{mL0bg<pxa)&yfo5H|h|yxo1;&A3~O!l8VfnQl5WXdReH<
zKM&*9@>$kk8{fhUJD39q%jtp-0re?4=h88=4}7vpEKPYSDhvgYmKod~yRP;KN!Eb#
zI4F}i$x$rNjDBt#nocq^`W=vmFnjon36cE4)Ze-U!0shIsB}sr>a7{I?uK5|kVaUg
zV2NdvgfSk(_fWnI#m5_Q{fWUjsQi=Y-<xv8NpRdt)MPvnGZG;V_k=gc-ixN4H-=&*
zqky`H)sdD$t)etpWA;>n@#u8&D~X>JQsU<`=;t`k)Gu6p8~B$mTxy~cWay!f&yrg4
z-F at A=HVp-cN=$*o=X_PM33eqk<Q9pa%+uv8*5FxV9^3wjIM6G7bajFTi9sJ*K?bi|
zcquPSxkVMJu?-jc%=~Hl)Aca^tpLsEpxmK4Xi)xgVnT$C%01eZQE5=*GY}~9hjW|(
z{yTsSW($d(&bII+k|yv>q`l->qNmy?ERkMuj(lwjz%`-I(fBe6Kyvr!FIdChEN$F`
z2L%lp%PBEbF}lMDo$f5G>aBHtCqeEJSN8$2E|Pg{%KJj+4pH<q)-3eIdmdqsy$7+!
zYXQcnWd at -^19f(;SlZGO>l#Bc$%b-kQswG6V?@=9oMtj;JvI6OYl9Q7^*c(eCmIsE
zgwlD-c~GGm%ZBLGWS`{^NE$-32FG>}zHF%^>8;3>r;GmF&i55#xHM6=+;*%mygv%s
zVamBh6v1g%b^s{NhE{W>Z5c#Rj-cC4csDLoogO#I`7GaUIE^TQTfio1^XUiM7dodZ
z9t*(^X^dS47Jj*FDC8A}r4{>=@aptC-TtpX)nq>SdOu#zAK%a7>JR=5jvZ&DSGkkp
zIbQ`+M#Ia0vN at yNZ<T$p9hFX22?Gk(=||tOK9w5zSOH;Mya!W_(0lMVv5?s)5+WfL
z#AOAnx<ie4v#dgN0xn*G<$A!x#=f0p_n>?262K`9P%psr#sUpF)P&Z!aS^Q_J5}mE
z1QXo<Y3_BQ<vEb0&rrDQ;S;yGw#6 at z=Bkxe`j%)KVCAAU7N>dzUr^|ksN0<YE6vMH
z)E0?TPb^V&sr>t>(+a<teQ_+*?QLXXgxlL+ECN&OmdJY^=BMWpS~C$C@%_7Xg1zzt
zR|C$9kr}@r0U&yh+(B7RrV_cva6~(`hQS7x+cfNCZNtM!vDbB(%old6x9ViFC*;6u
z_$6_fXPwJLT^jVmJm`~`tYd at Sk-iP%)G_+!L~Ol)Xbf<_LZeSseE1qAfce3QlkLR3
zEm9D0!MpccO=PGWvX*jamvYcT%gk=3Jtg-=!~XF&+Qi^@BD7KYfJ0$pi{w6u*rnx~
zOt?FT5jyFHD|HTC_=l5p-85<{Ta8ZeeoIu2Cw0$ZgfK|r$91lQiWo^0A=r;ZNJsn&
zWyyy<%NVCQTtAy$l%_>dmekr;&z+lI1qMQ|54W<R(WyVUT3#L#B~$NFP at J+4;2>ug
zknDqCfWbioxKs|lV*%5c%V-3BQvn~bSynB;FkQ6^JZVW(FFxbsy<b!so)m8oE0`ws
zvW(FBlev0H@`5OO$7BZ8!ndUrK4HG)%Cf=grDz1XeTOK8q_%WDhv&fK|4Qm>>;x2u
zjmp&htU6+R6I}Egn_O*&IA(sL5-o+5=Ia^g?3hmY<N=sZ(S}eC8|S5mcZHX at YF!9m
zqQfnbUmHesPULnPML4VfwY$NsJ%S;UGqUH)$MLm~X*B7v#`LYZa<oT09P+E at lluaq
zTJ(=Kwtc^1S-eDtrP;YPEt2Rzj|Y@<dg~WF$UM`Mb$qrWr7j>ai4P%n#H839vB}&&
zmlj8&ZTmzdcxM&c_lxaMFs(`#@%v_af*v22j8*jadD7qPTB`p~0O$V{+xve_j2T(}
zYcai4EotXX4y2w_^)@HWj)|2dAjw4UM>4sC+ at U-tmeh@ntH3k at NYkjLgcRK0&uesv
zgs`OThd>WDth3csT5)s2FH!U8_jMxWMj6@}wNG}!Shh`OyDfho<naz^4UhAxuhEC;
zT|Sa=O_Z4jhWME@?DQok-<R9Hi+}JY$2_oR<z)2zj}lee2e&`}&QD}4$D2dmuwXIk
z>&|MOA!1dWw{EU*F*TR6de?EI=6PjksA682V!_GjujbF=^mD^0Lne76iQ4a>>(zz+
z7NvS43SHXF0Lh8AZ at h|6Ggr7buNtdgo^<!l1up{{!K&t5vpxMD-Z>FPB`Zr3CyT=Y
zD7WI=1*+cP;~mypM%;w`VUGdtZZ_%;-%mF;KTPrHJ^eS8=fu at 3$Hn^Vj1jH$j>Rpy
ziKO(W(LV0}T>9d78hN6gp*IB|J)WlytyS5-*N3f*txc~?Qf8KEeeAizkw#FI4ymPv
zcQ-eWr<d-N*`1rUGG{lzV-Gjm`T8~X>H3i)5konWeW57&6wyJxf#yAHGsF+!>=S$U
zZ;h3cNwq`KY7Xp+ZlxO!KHdBFt&3d&O_YrrAgicOBq&>R*E7UCBv4p8^?5fIo~FRJ
z+D%$7xQ6P at E7NC&$8y^<O)}C?sH}wXSA~QLTq(m+99NpG21N2;XEpJnmbLB-S{C=q
z1FK8dcHFeU@~4tmD6tjs)y|9zG+opU{0nM3Up9N3Je5GTwGRvyj^Iujw$e>2IUFd}
zBYLgWTzXMF3$0qIqpXw~GcpGhjN_ZtJo~W+3~+F;>x;?fuP`k74q&dJ;p}zEvi3p^
zoM~EcqvXa&rO%L+{sK$uvfFhFe2E*Z at CKgVc@60#tb?Q?7-TMjat7>prfLQI%A`6L
zL%E5WM!-!9>{~W2)OgOIBdgBW%$TXCCQMIXju>Dc;;Sfs<IJIcWK6;)S88p6)a|mo
zW}!EX{b|WUf{hhLDL<GMs0bm&)-uA4%RJ)|v#J)$=Z>T0fy5gMrBNy8t!-e{ii>P2
z5gGW;09|0JZ0?#UN~y&smL<;;Rd7D)iQP8j<rOwXvsU+%2cDrC(q{6$n2|f~u;iLs
zHjc}w%L5z^M_3kMP*B+YD{#81<~NHpu~UX$%08guQkM-Xt4#FxY;$v8zM${F)Z6Y3
zM?Wv))yq>cfHKxvvyaL7&Q4ywpYc~6n0)Nhd0t>!x3_=&xaf2O^=RjIZ{bT(Kmvfr
z*!(0F*6uhwv{vs{_qYv#pQh at hucneg(kK!nAH2Kb at v*b3`A}r%$2mzPiy&YlF~AqV
z0 at z+G;={as0W`oovvHmQC6=a*rPWd+qNhyoRwVVOGBs+Y3&<9+M>iS^t}ja0tX?C!
z*yRkg3sAV=0MJLf|M|XY1uoR at PS17mLd7B!uGuMGa($=ywg_g181Zlzz}7Kt=B7$U
zRBqr&$1S&QePplMsUSNNpQn*mYFXe=0xgzil}R<SZ->Z1UZwI`KH(5<$5aFKb}>tf
z;fVCx)5Z@}#9nzAd>Z46Z~+F-nux#^uHE}Igs=tVv{RdH0o)o$Y4$+$T)VK&-SK>T
z=Woi5n>H=D1XVASJS;BV4vPuJS3w7%215s#7S-VhBl~$0Idi1Y^N8&rg^`?)bw>v=
zp5_gNpc6`lTzMMx-gPkx3xuwVjbuW?Re!3b+w>g(`liVa;mD<AiJdAI1&&;ObV&|%
z_gAA;8Xn??ld$M^u*1;K{|YYc=@tKSWr=YoA%TSNt`KQlQT!xOAY=&jpaja*Mu7)u
zM3`RwJgLpJw$1(7V1AX7r<02S;M6cN>9MLu0AkovX2~E&GsN0UZ6a_};Zav_a92+e
zihC;(Wg;DdfkZ`X`zUYlar*hk*w>!SRs at 2^zVKNwIu3j(B?2cG6t~IX1{q%6B5N(a
z^A+up(4}xFD7l6m>=94$H!lm#qbKNR2*Xg8U5S%nlH{-&2b#@g0jevl>64&S?b;)F
zLgz!o0?_c_grGr#99sXoxrYJC+aeU-xN6Bhi`}Ug0LfCO1K_Y@?3G0u#Qg+38 at 7}Z
z*?X7Ar}}JRWGD?1T7Z*%jgJLro|8XPOD`laaeyvPgBclGHoVAld*O89;sYR_F#)ni
zb6acI>xb7jP2E+5<7ypM**q^zilo-hsF((27j+Zpbg(b3JPsfUCH7LqZT-j_V<h)I
z&!KdO$y)0}*yeB~SG&~a4$^PffZc}3_Lg$=8$s`gq!|$>yP|C)uxHgSiO2#8UKSS2
z*tG*>w82Z-fpc&8R%-OVkIYi)ApgFxDqKhI0V5C8?M#0VeST$qp5!<OMWKxu)5XCQ
zveAM%uW=W+=s>yXuo$fEKx+ZV0|>;DdIZ?TP>Z*Kps|=vS4Zrqah7kSpO;Gr!DG<9
zx<y0}pg#dn=XkMgFyYxsQ<5Ohy&9ny3jy*MsM*K;8`I3XQV6b&j8&mQM{=%ShvuU}
z$Pw#7D-UArNVq3zt<;}<MB+g%q8{qUr3P`o4`4o~pq`Ll=0qxh6NzFHGJ~47rXS7#
z;tUG%5VZA*CaIl1Bni}!>vZLz?h%$=gC&JN>h^yz_KvZl1>4r(wtcp3+qP}nwr%Td
z+qP}nwrzX&$(OuNcfXs?T}dT#{g}zB)J$cpsximFCf&_+RY5hiLm|&5Z5rSDpf~5>
z1Px2Feok`&u!#&K@%(IV`7D~3S|p0G691Cv97IyS`lt6-R*|%Mg)SCaf#lp~oIII%
zFd*PS`lOkPZ(Bz5_vhHbPtJjddn&qcCq|9DGH_sAJ08w^-e;!#MBblhmDc+ZBjOh4
zbn^@r;&RF+8NxhzDLOpC+(8s7(Am&W<0=Ms)<is>c at 8h0`MTxHvt~Gs5KxX%ZZJ_>
zno<Ie$dXV5%60 at 58ZO3^&tQTfNd-75+YDn>sj=V6Xmm_XGCaN4Jp)wRZ>mJa3ccRt
zUgRzuQwm*1^02UhJvh`NKr8gpH1BC#pY!wK<)Ep0WCFO^;La;87<ei)09};O7AYt6
z77u~RdC?4pUT_%5n)+Urj9dhm#KW~n0 at aV6iqg5=+aatmqhQ03`pZJF=^|Ej>ZyUR
zpS*pTeDzh&*48gZA#}hXiE|B*GfPk8T%I#18Leu;3oO*C at m#Es+dK~bSiU6FX-*J|
z2pwr18xgao3MlkBE}2)nGY<$S?Gj%8u!Sas%RViY7o`qY*#tr{i?K&Bs;4hSBU6|x
zkvgz)0?blf**SY>@w~3awXZTE0l%t#nCa^{WQq|_e`5p(hc6=GBWl1UtDtbTzfL;t
zPyvXDf2Aolebtm^Ca;!6(+d36`|5%RJzj;&83V$Za=h$Qvz#5h^(&yU<*VZ3p)4}&
z^`R|JPI0j5ndx2_O;Jk351ke}9#aytbUh+0J&DEOYkaBuH^kwg*ueB1qEP`uechX7
zYKuysHtv3H9bc1JAI)(XhBvGr0Gu-=#JZ01Mx`9_VG`usA+z5b%+;o%g^Ha5Fhmes
zAzV&8%aO&?3 at Hj-26NC!>L$w=RnquN3Mn5<iBSadQlr+hh-D1D)TD061f~iU7tnin
zavaK;I}TWyB8}jTG$^Nun}*S<jg8z9n~pjr_~xU}ZCHh;ftIrV{HLQW<|5ENNm$wX
zQ!<F&`Zh?J4WUzWUE}i#MCkOyq-dAS*WbZK+TdDN8&{fP>!iR_U_=6ikD{~hpqsX$
zMNZhtij-xxBp-QtJtp!TIn%a|i~xSDlmxe{xR}nRaJveX#e{)zbE&_+OgN#vC`)v}
ztZ1*CFG?beY=rgP5i`yOL*gA|f{V4wD1&Q)rOPk|yFQedWl2Dl{dBcUJzm-R9)lHo
zd^q^5$df6~x_}v8!cpItnDHucO#J<XRVU5K!bTXY-JG-;B8qZK_famN$7 at Xhlr}Ul
z at f*dhxOk7e_Y&#k9L9?~I>Y0)vf2sHZS5!R5??G!l<S{_1XT7fR-c}EaoM<NI8pbk
zk*COL^(xYRc+4?V3|-Kt=ra$iry at I!M)D}9a-JYyQ>;r_Kj(phy5d(t*i7{zXEK)P
zgzn`&As!ba1uuEI_!I7R7Cs<cbmXrDw=(O;5z-~N5Dt;6)&82v`$R0k3?raLc=ZI_
zB=maOOA1|%8_Ta`Hx(EkKA%Y(v$U`6>3|*WIcSYz5a$o$3>=VVA>Nct)oj>=-;sVH
zvi<6`Y18b2TS1()mkB&OxkhTu72oj}T4rLu-+%ZsVPO2<T{?`+|D&?;U+~7zb?i3B
z?s<9##-u3v3f^h%cf5JYTpaEJ|1K7of7Fqxtq>xY(~gt(=<U91CM2Ad(Cc5%OwG*9
zywZ0;?fs*th^SS%T-6>ftJM3UAuRQ1-yb}Vy5-N&1lV)re?6aXPlqvgLjm)_Kipkd
zaG5+S>wZsm@?fJ*nqQxHF!P~Kvd4CB>b<=l9-?Uz?}QC=-dC-3eO3nmQ`MfmcIfsM
zC}mq%@;-D at IBx?Pq?rkv4c{N^%K3S@{W6QEiI(S*-v6H_okX_d`rQ6OMn3UBzAB~H
zJ4+Rd$A;-3RC3ErV_hBR=!CT`UMh!7E4pgkj3bsxtvET|VEjoyd2=WDrx`R%id{4r
zz_`BIglf8*SIzuY at oLKy60LtCRRL+tA$7Z8i1_4$d<Sre>qJ$m)*1{vv|0qZA$YtY
zYxJhvkOi3bsWOVrJqj%m;n-HXuFmoY3a!w0S`F2KrMYsAHAM6ANb%(_P74(0UJcVt
z0$%qg7gJ|ny<Z-`ckx)^{kUz at 2J!IFzn)gZV%UcUx4#cha?)fyCWvyyp$#syVX#Mu
z#1CvTY{Cw3?*%4g&og>xhtCmO)Mh~HIG$#cE!?IGSHzCOU8Cn?cV(n-0n2X3R5wxE
zn!FRJfzxKjg at 5Q$13yrSH}H4utp6Hvm~qF(JfmZIaE^f4w)9Q2dhIxy(&;xy<RE}7
z;~ejl(8VvtB0doo8E106BRVpl8MS$q0HCB)uV+eX?4)I^H-Q_;xVfI*EWs1`PV`@>
z;sQJG)g@*M)H|Si&UWX4Ne%5i6u)Bz*SB;PW(E{3Wiz4-o|(eLHUvv)?%Y8$2--Yq
zpLhFX{bNPB<lAh2m at iIkn)~D!Cb(RXS$HQGm*a)K%PB?|>dKCB3>z;ZJIy31H(quO
z(y_5&GdSRWSQ#@v2OZv@^)7YquBBp$qtqtvxU!uBi4hR9jZJDGy*sr0MD)daauDQ>
zN1RGaU_;)}Lw!MLNDqAKa<EA){J|o^Kiu=zgM-UM at 50D0Io6XD+4FD|zn8Pvm|3FZ
z2`2fXpDM13Kd2ZUwnyX8>K*-^O(^c)xTJr<ZSigw{|hU?KD3zy-kNX;?K~E&c*Y5U
zTXC3tkQ>yHP2m}vta78^z=Z;w2%eBr1`b$;YYJ7%;0Rm+fv4JuW*O=Sdsy^W3VHis
zA{+{W;IdH_f at fUuRz$sQHD3+GeMEYvKU^}Qj|u0b3x*@8NF5HLqwvnTLM}lb8M5pI
z|DAb%bnmvMydqSQK9dGg)RVf7hOWJ307$TrIh$B{%?kMFC5g-mN6k!?;*{F0;FKJm
z9QvQ-^V+^IxqVxCogw4T0sd}OS+*qxv8afdNE<R7GlO9-m<9hd(7_hs at a95=4LC@?
z5iuh`Byuo+4aOQ1!COJv^jfTJbTLh^xlW0Ms4Sk@!BbnCvnP<87RXw{T^l+|w~tBq
zL9P<r2vKUlXt*gtKZF~kA2mRw^%J9TJ0bm}uq*?$*`SRWvyI|F`5+TNbg<hWqW$@P
z at o=T;yTj`taR?t=+6du9ekM%FetqIA|GOR{MWw}n at Wm2fD!GI at jf1=D1`eYl5Jq$i
zBbI3qh~zQ|33m|w>p>wtT at S6YjCm4lY8K!)E~X-Dew)vl)<8}hID~;|8Di8S6!myV
zBr*qpF_QZ^-l=C68kb>*toAR+N`bZBCLjQof_$hQMJAs6<+Mr2pNfLHFxh2L3r?K<
zE}qBGr<j^-*{AKA`V+aE_{Dtq9EKPxZ)oE6d*;P9(ls6`UTAoJ8w!ij`p4Y2g)uv~
z*?i~O+}m~%U-vKfd1NMvlrXspo6#2EWY64>3Z^enuq^>cRqOJR4%$C^Sc~VcT|;O3
z55eia9hr0D=6$ZUD9`bA*hYw~zxb`KDim4|U4Z$yW>(cL1#Ad3P8ZP)?hxB4t<3BK
zKA0s)pwqa8<Zqat)h4LQdI&WYEr_~j4)J~b1+M;meQa;&Ihz#&%5z780woEQNyZ|E
zqjtyAqoLG#yOb3SAmOy-CMD#CegVh$)GS3*w<-PLr@!KcJs7r0!|elSF_VxY4(#1>
zoKU>OX?T`?Wx_y_7;iSC0s(&@0l~ds9;UnQ7LFUTbl|v<PF(;xpE_Qn(Y<N3xb&QG
z!4S at 1)<*OT65!{!0m#cOt<sb at HLfY>>g5JppCpPFaB{=cX4`VHMrXUA3f&G=um_c|
zj8S>Zsp4ra8~IP?00om4 at N9WuH#$3yYk#$EZ6!#?5meI;f$O*`1*{5F02i)axd-}B
zQjBk^0wSQCJGZWqqO*gmr&`Cy*Wle1V1tf{r%XS~^C3>&|B1q32#>GU)n{1`&#ZDo
zQH==B>j>i05M0&8y1*0%4xE-~K&s>AqZnfj`v<YO7{EPw0Oy5Cq7V+J8w?BOexiDV
zn+*wPkpbGR$&Uj8`0 at I48g3K-DlFo^+$fvW<*~J}O6pe}2Q7tJe2 at m=l3LdXA86Nj
zTxLOrv4&<XtGEgo5};t?ql`?cYntsio>&{1F;??FX at qCb_mpjXQFM<kJ(JFV%A+X-
zDM0%7EWYEr_QC$b;fW*25kT`-%JoI&qaDL$<L|+Xuq0x;!Gfkeow%<-K%G)>_F1~&
z6XY~E0QGKIeDXzIT5N3_zQP3|fs)hGs~pf#im06o+iL(qkol^sPa^^=O?z<!9}Zbw
z8}wu|{vD(A0Ef*(McoqJx3muSz@;d~cKW#qi?UE40<&~g<!K0$upC`$uwkR1IAE<q
zu{g*tk7_SZRQ7N0-Iw;<f`!TUJddv=J#?5mXs%=~uB4o;{*mKz)nYPbGMhPd=1*MS
zBWiOdwI_Fl(8lP=+s9G8&dxH(w+|5^O=^d3VYjMGSZ&6p&TtrN9+3L&lglw%HTtaU
zvqN4f%eMkZP(@=N(4Ex?YX<6xND#Jd6E9KiB&P{-R1I=0J5Xn8N?eHJ<y<FV$%Z%Z
zhpT;Og9?1sCZB6vVjt4T!E$elsew5D6pohy2IK@?R*(pK4uz)EcW^w6Llp2$Kq?_S
zSC7|QdZLfF^JWAg%EM8I-@$a(CO!Q!ccMBp^<ll2WXy7gq#v4a=dyrTy^*qPaTS6A
z>7Lttq2mcb!k0*%8w;d#!Z0ui?@wvq?##}GfoA)P^#Dyb&`rNjmPonZM(h0r($MG}
z{ZD}HKO7}9F#U6L`9IHp0oc^^>^4~u{ANq(UlcLIRTK)S%e^EMOQh;ihA(bRaO8&z
zjA|Op#g(!BKDX~<Tdv5h4EnfpZesa%__BwH19Q`i?};Z9>E#;69i0$4Y(MD<4rX7`
z0*_7c*|EfXbhNvAWELaB2M8&LjO#HoG?f#3gDS6GIinu=S(1G-W)g at YYj);7eh$%y
zjqSOnP39;?I<bJEH0rL{D$;=rq$*{ED0?r9Ejba8hq;ji2upvdd9}N=un|feFiRNU
z$1mN_&D<sqBjODRPwRV?xZw+xAF^$2cYM0uAHa8rq=I&*m=XJ9Sy$#Zh$KhVFJsAp
z_)q}(H2PV977s+hyqXL?QgBtwMe5-F>u_|RwpQnjNgwLMp#z)KP9*$iqzE~2Avtl&
zgKq5$u{5PL at 3<k5KDptk>tDq)b678t+~VFwMO~{~R9RB%q(IZOSA2?PuV|-Hk6)XZ
zsNy8P;fn?rPxJb~Zx$TXivnqNSW${cT3UtKeWZ($%dLVUxwg6InBq#8;jL1&hIrA-
zdGMF)qL&e>NkS!Di0|xnJ+hNkXdpLOz)>u0tcJrUz at I}8Qo<oYEO}GWTZrL}2z0KD
z2UgoywZNgGg%rW`3Yj}X`2;Q=t at Cn3_OY4P&aYJ<@j=4Dy;6C~wv(_}9BC;<Lsnt3
z*~|o?_>}+<LmX$!dCOf3J7<z{Fo%!_p7Uw2Dk(SgOAeuUxAl-T&SzRadRil2_EuLz
z1#F~?)x1=7yrPmF_IW~G{R`|UmpwsSAb5A{C`}i~nO5cE+g!Rq%CT5yX+SixoTA_8
zmT_w-28?0CdIi?$zdD+5*AC_VHg{J$w7kH#Z)X8;9eh}+I;pf~+3Z!o?^hEa&)>2`
zzY5wKMsG7l8<r8ESW8mMHg$3&w_8f;8?7GC>S>n}p9N_T!xro&kKIsl9RieKIp%9(
z9sCH8!Wc10;a|fhZfBf1J3wvljn&1dKd-SuT|ri6K|Yo%?W^2oyirE_qSkkCw27U*
zp*(?Kc($@$x~XaVeupIb<Iurx(#W~PMc`O%>q&&Lvq0L=t`mw=j&x>4PZw4~K;!)F
z^VZx-4`pX_F7F7cH&%`l>ht-+Y#2*2eNZBbgfpPYzcr{2`w0)wt0m1?zDzh1k%HFj
ziHJllsync(EEu6r9UL|mVm-XV at 1Y|mj|=K#_-@?{aYO!2`RoQlHG(&8yn;`q*n+6T
zb<{s~WPQP<U;5SupRzB(T-eCh7=b<k*F``)is$(I#6oQ)jSgc}2uZ}U+sbDH6EF2C
znO{mcYNFHiM-iMG?7TB{938RTSGhxBm?}&S|G|qAi~M3|7FWnZf#>b9DuY;fm$=Wn
zGxLlYpjuU_hu}OY6q2 at +_?1WC7;hOWc at h~(B#{Y-O_tdIV2gA%EgZ`O9A$K}U^Tzc
zW!vJ6w@@WM{fdL>43%}_VD+<B{><}sK<DFBXLDs2Lny4;PYw_RV5Kz0CEx0Tuv)dc
zEQM at Ywb<m6&*yvF+9sd5IZ-e+ju(1K(2_6DoPlQ>vUo0}wK^y-b!@CgkwWLy-^6sk
zwd*1<>m7I{yK%z?FVYH`0qGrFM``pHwo-BB4#7Dkfk?!BJO>CvxRD9CY_Xo~P-VGx
zXXkg^0}MFCe6cR9Cpg&A0bW7z(Fa)WpG-YW6o7lUB0b0hQ(SBl`y)uW*S(Y|vOt4@
z3<?SH5iTIeQbB{UO_l|cVifbn?u%Ur&+D4Yoi)41PyFPNvrO~%NdYkU5i+*zYdI-P
zPcr0Z@{G^6HdFaO?8*N`E&i9(1tSwZ`+vJ9UuW&QZML9{?mnuW*(?Rof04GeuIY4G
zOJyE<`mCRGn2?O at i~i+JT4MdY1V`e7Pyh*Tb1>xK_K26(JFJAr^>T1<kZAIMz|$;p
z{|f~KB7t^!4ZWskbBlU0J>5zd-=ZZkm~7<X at _8^@i>`$a!I+jmeBB8;h)yqj<=&b(
z+?(k5zIeT>_w~F2H$)E{ogl7a<U>ev2UH9|B+7Mu;}^i;zb%)2am`pL at gt=|twwAj
z at hID^%l4d*XRKG2s`I+OB#(?R;lPHhT}2KgX!%0q^SRx-wA<t1WdqiJ`|}~BvAeFo
zcHCoa$%7j>fP-)dV^4h4_wDbeQG+1249)j(4zK%F6yy^ab?6}m#Ggddmgl%J*Y2^p
zLN&TI^Le)&3x3^e;2fDHEF>&tb;-1V#4!`!WGw0uf?zssHLSWR&Mx1;QN_iGO#Ug_
zjmy9i0|OS=C?<9i;dn$O=C at sc1am^*xWzG~>v&K^!$EX@$WFmNMy_Ko2srDUCY*N&
zE|~UJtzr20ixiMR8Bs{waSi2S`p2hTsn;`cHG7|+7FjT>4KrM at 4^Mh7M8Nf)*Fg|R
zdC5X>Mgg3~CFuR=!kfDc-o1HeMDlXkgW3m^k^mIQRCGCbVw<;?vNJv>CW?Hz2>1IU
zWg*O$Uk`sd5fMuq{81j?#VpMo*dnV5wutC_oPQ!10NJX^8vEP#x5r#%?#m<dw>2u6
zF|^=F?qcIwF`n2imAw6uF4Nc^S+sKt)>m=wWb8G)2SHALxk-3rsh<-;Q3s%$u0ZtS
z!XI;qWvdiM|IZlU%GPh8Dx`2VdoO3wvZx7+-KOYGc*|m5B8+~2Z>;zJ!S_N~3lJfy
zjTMgIromL4YgUcGr}`_gihdFxVV#D!a)rIp*6U|^$@Zr6{)IhT_n{~;DE)Mf^-|AU
z(r}_$T6)wJ74{>)u0t^J<1xzL1=3mwDK`W{3<V6fJt_z}D*?6l8f`Cp<0?A!X#`$e
zJI at 3|53DJnu6Cx`?yg}8tsT*Y#7mB8Vumdct;{jsRqH5Eo#RiT$|wMjYPF|L+u~n*
zBBRtT+1kq_;HNzhSKU><#6U9vHeunKvse#(3BG~o&y^>2i|(?pV%R;PAY_d`nURl*
z%}5+eCGuo{J+*h+Q$S3|zPh%mI?hh%s=!%9W{&z;`m`|Y{^9vsh`$RXh=KoxI~Y3K
zIw<}IqOvc+yV`pQ%pD&ssLVsll9<MWq+2ja;diYMPodvs7I%!ch&=up_9x$>KCkn$
z_GkfDTG*Tm;6ou6h0PqSB$hJ<I5I;J?ef_UbC_qLt0_*eOm2d;H$m5C&a^h~BFg9~
zIA)eQANrJ#@7}`MYmm6bA-KT5kpwVRjYoe79wNQyg8FErXIKL_ob<;S0wMfl;6bfu
z&k06GvC8OQEsxsYOLxa2QrKV<k=tMg@%tmN#P&BEX*YXx-z+4*at`0Z>A+3?>=nyd
z>sH9nNchfuuDhhG5s5t%ae&ARoD|;BWuBZ_#1*^K!z)}h9F?*wZpd>d at RoloKmd+x
zDPyZ#-*&9;s14s%T)kFU(JgYR%00&s;V(Gzmiq?7F*5P}HQ^iOmVe>OaNei-6p_qq
z*j4vr)JJO7Nmy^#z3kYUgi!yX!@D4~Ego`;9t9Lz&r;P+2qY^=7z5M5Q5a9(**X;P
zNvlMc;H_a}qqd=!BiI`-w2kzmbL)Jl*||^*l?2swQHi5JVf6B~cg`mGO2Atc>l`6U
zdFkgC?wr&<Ddth!n8QtCZE8fOH*|#1+UKg+Y39ONGYY at O{L9Gt$4`RSC82lh8UbUC
zJ++toGTDeX<ilKkSq7%NYScn&C1 at kmg>sQ%QE=K?;x5d`3OcZTd+U0WaF_B-Z}m0o
z`|NcW?`3-!624EKmeKr1-ZT1#U@$&sOr0M55h0Bh2ax`-i6%|J2Dn7}4}HBpBUW(h
ztB2MNFJWbhAx6%8r+FI-Ouaq)2|=6AKzwT^uj1wa&JwG=8<v^?>{iLlOH1c{c>NLI
zaEG0hZo!Z#2J3{cQdKehlSzxIS<sUPU!QqRlh1%<sHpg?5p`;iN4OMPEI_KmM#^Mf
z%RZ7~JfdNnw9I$wWs*`>xAo-rr%k;Y-zagfGyv4;^^Q_kq3~k~84v0~KQ~Cd6cV9s
z_`k0m60m_~m_ZN^2~khm+qm9*`u1R#nffLXgOw&<k14q3%k1nD^G&$ENhu-QnthsD
zd%3eZ;Y!dO<?g#h6b^rXi&<j*3T=k%Esw|RXO;<)e%#!BT1s(~*&ch_%<%UfxHTrC
z07Y+1UzFmYnuoDOFzm;j64LK<Ca~KSDQW at bDzoW3kuJ#_!%g9rX*p--RDO4mPvNc<
zZcDoD8fJmQpFHV$!2orhmY{z9H(@Wd9)Q<>6aM at +;T!|}){qo0C&{;xt?H<XiOT|x
zE5k_)<&wqpw8it%l074hSs&`je_1AIWdM`^vX1jw4APAOAfp<1Ah*6cjI~RqFAX0N
zO9`3AXAhNyl at OuZo8cI4{6o90g&YP_?&9kJyDoqG(n+$`QeuDNJIyb<GLAS*`~Xfl
zT-<v!y1*z`IKUp`-P)4CwuodmKSsqri#p*<u<;|MCtEIRIwvY6n^!o7`_HvHnE=MO
zRA1dkN$3+9s2dlZO*fjKCm3=q8?az2;vZetMJzLEJL_MJrEe~*DHey(Z9A`QA7m_$
zPP at I>uFFDS|4|@G{T&%@@p7-en>dd!AP5i3jBvvX#f%B;<aCN!A_@&`fLTucg{<>N
zUaE>Ks240A3?dT3<Y|Ox^3SE8LwK+Rl*;GBMSSSt^KTwPySuUfZlFH at eX*F}XBVHg
z0bm>METB0eb?CU~l at XXYB^%;tpFNObdRiJO!3gpopSJht-!YpPvD{=PD%&=Ig47qh
zWvj)CIQ!NmX|BDLx&L(Lg;wfQ<m4kciQ?@Yvo9p0M;-ZBX at ydtCA#SUDlJ;z`o>{R
zzNCng!og0B6W&;D7r_a at 2a5kfBKpXo4sP$vF`zqc5eo7bkH_jt^*?|r*8kKL^6$Fh
zzXes>3375l^ynkE-jTTb{HuO+Hg1^;s4 at 5Y7vt{q@~~m`CNsvqUeMLyn``1*76kdl
z+_#@iKEB9^ukyqg36Vy_B$TL#7HX at vV{*8sh_D??kc&AF6T*qu01AOD^T_FJAj(Gh
z?yIv&XB;&ZN5fkpY$cZ<F!T_-3ol~br`6~MKu&+_M>;vc%&Ro&SRhO9S1Bd7^|!SI
zy|q$ZH?2(*lnOqEYZ{d&-kXaTiHp;pgkDZBbEC{`T<5X2NJ86;LvE0G1*GLmdENmH
zT{BzOncC&7LL)G*ahAxsur#w35ie}aD)}vSRJG(Tr?x=}5N7dmz65j3acgb--#yn+
zk#nK7*vjm5*_In#es3xVR`6c%FSNyB>{VC5NrWgu6XRs=)qJUke_R+@(heAI?Z#Cg
zss8suFtM`#KhW*}k53CbJIDX+)51vq-;>+AHErVla3KBU=<Ubd4Lh{!TG!4=cH+ON
zcJL7B7k3_>0D}W_aVF)ZN2~vQ^DH|o1Q6FrFNi0Ww{+^nT at I_bx-?pf2P^~q4M>US
z2wLe=<kvzt>`Mtu0h8>{@IR4<JhZPhiEcz9hn!vmK|^t~1RFhwYvRA+F^^{+1_for
z)47u#-x&<3aEA|NlMamv&9cvp3XyJ}X?t5js*{4%XyDrtR27A9GgAUjj*kj37{0rJ
zR~rc74~$fh=>p$M+}9ffuw*<G4Pg3Yif89C7YYi4cHz-ib}B~b&~mZSh(Bt;(5!B=
z2IU!a{zD6v#+ at h(Cv at h(jiRmmwG>9>t4|laNxTEAV+IkXiZH%2EwCg5U=qRF8}iqb
z`;Xut3Ch4M35uB}gF`+lGnyG#Aw$)1mooSZN14g3!CGRsSfFYy`c&TZg|xn`RI(3k
z|CoRi><Dk_R-lIzJE)Sm3i^-!1rLXMzzB$E6BG_Kj8ekn3?@{T6{&T;@k<U;WM`^9
z?C`e~eewYuseRx9E~#LCTa>_`{I)pAJA86{{b5NsN=!>y#y|D)?H_kY6&;rO^6CKU
z3xYHN$ZulR7nsHJSY3+DVJUkQK)Nv*ujE at 8iAZm5hg+tBfHGSka|%lCfqjDvn12Q}
z%}G9i`pYih{8i>Chfvx?fGMSu1hGirbM2<L!MdyabMd&-rgQzg{V-1WXiz7Yt$(gw
zdMoq4Un_ at yO&@bpS8M5N2cv?I(`ii~OH*rA_d^myT)hxRVSp`G&O+<52-gnUa|eRJ
z4SuMn{4{v=Lf;GR<2JtU4&#`<vcuCIiO+na(lxD%5)Ca2!<!oehA_jEEi}h~>L<!H
zt4UDPRhup2D`P5_4d<mxhL?~Kaa!ZSG|5z})v393D=8H;(@_&yGK_5KLx>2kn$k21
zZro{3$40waZUlLu=+?Li_+TIXelB+*QgLDTF%29(Z?=a|>PIJsE%%<#0V`|p{G$6Z
z5N%gsi93@%SQ4lWGxdz#zQ&&)mK&v{S*LQjJ+V(_>3+3CqU20`A0Doct$z^6Q=^t)
z9Wg%bQy)w{yuL3UOvfsPR_#)2YjuCRzMQI|Y%u@&3!w}Y5!@xFuIdLk at 2<qbZ*&2&
z*LsEO^k*oRwkzEzb1utPFD_VIH$7Hb`J%bC623sI-$gQy{6&0mvdIf~3l~X(ALZhj
zc4&zw3A*85K~63SVHS4T2?*|OW~M1p974h%Xdd1o4U~?D!@>~o9YQsQreM+J!3K5Y
z{6ktgW&xgPC2fK!ErSed<#^aANuk+D_i<I4e;Vx559ZWJ_Xcz_?r2Ld6$$C}Kw~Pv
z*vMU-Wm$j1YM3FMiHg`hF^j1sOpTo-Rnq^2L+pBnRl9BI+i!LKxTW%_=CrEkeWf2c
z*!F<aptCvadOT#Ub`7m at UME0a41q>}1+ovNT<;=z^Ct9pz*HGJ&)LiO?ecxQgIBry
ziFfkI#%6c$@Nw-utNvVzQJG^+O$R03tI9WPS5u#MMXbfL-l#IUYe;1~2;vHA>x~w0
zOWoho+U!^X^2{ZPZ(-*~9wD39Cq=QV6xcu)kV6^ZBL_)-E5UzGixkZ;d8xolaxV3%
zWtgfQ!+3SYDDO;W0(Wf}p^L}s9d3u#Dg@%y?EQPceVn=cWnRI>jdQk(zNxvZ at n`hH
z24ll4J0dgt%y!-pCd$n<z=y0vDLd_|D`KOLikE^T>PD)3m$+E{V{5*g%TqS{|GSWf
zGjUveH(za!|L@@ZtLQOtMvjy3{}n9G$Z_#am*Qq8*J%WERv)k*44+st^cz)46cJ^L
zbGp=S5!AE27~Y^R%<(F=OqSXugF}n}=3OHjkPIF_5XWOtDB+%|N)G((z^0|S_b5`n
z;&!s)Vo{H&#^HS%OUI9 at -Oh%hZU{Xi4%exLTC~8zQB@(DGzeQ}5<u!QDMNA{i)L-6
zsKCeSmONB9E~QUrC-jttg4{&Gw4tEs&wMC~A5-isHKia)kcKV?Djz`#M>mR at D~car
z*lcSSWR4Sq(ma+9Z|5(oXY}U|xnqMg)FWhv6qyapBnjlPDe^>b$Pp8-S;KoctKEtp
z4<`$0`iSUtEWcYFoN;=9hBBu1GpZq>yyefpepZt-8+f`hKg2X3zB2t|bb=b;O20nY
z6NVH1kWLTzK0jhIkY~CmNSYSshW}TS83!?OHt1Z%2K%%nZH-WPg{W5ISvqaFVBu|s
zQ7sNy>>}TlRC+PLp=X#HJ5e^ed=PpNQRzE7S|%z2m~k0#L2vm2am<la9R89E^mz*V
zdaSZEk>T426x+Kj9emYBavbuS_)qfvs^dRfhLJ<Xd`&{a#iq3IvrgNnMKoD`mx5F|
zomQA!jDl;;RuH at fNB44L-an?2^-cHu!b1wr_NwEKxKjxQFo3?W8uQ#Q9a4O?@aN|!
zC=YgHO*WF0SG()k%1ZU$KsECbEGXA3kjaTwP*~MQvx3^KmU@*pbsMwD)RL%ILZeCs
z4&Zzb8nQoMLU6yKS6L-L87_R;GlR#UacWVmgIPD<4{^J{iNxP8NBN1qRzB_SKFuAP
zw6-_54sR~?9lAX|KF6)!>&pwjaaAi-<63$?&aQ3Pj<<G`@Q07BY^g$rag~_{Ta&}r
zlWwnOzu-JnqKE$*ZLo0sZ$b(K{y(Zb{r_MKMtoKdR)+t1`v(&LC&XvtVEXU<FkC^E
zk+)V at Y4D51qhPk_ffu#|@wYi(fMH;mhUW5|#l?e)n91=e at X3pvgYdT(wn^|Vyl%aA
zKYy)!b~BnyXBuA{U)Mjg%yL<#o-jAI7*)lk$_SAH4#4gKL;xKv8}RV~AdXG}f!^=Z
z(_Qq**`Mf`cpGt-)<Hvs!+*d9W-y>cw>OUZ%d~PZkpSf#LV)?d0OIq=#l?{!K<)qo
z2!9C)vqb<O^x4u-_+!BH0)_c??$VFrV{>Ncv9y-1S${Qw*6^<Y;={ucR&VY7qk)$&
zzyOH=EcKIUmiAr6Akg9FL<RNblTP^*>moJ_<YNoEx^8Z6xb?x&aElsah`G at Ea6%hE
z%>{JwW^CoD`f5V~XZzsh__FW!n1G$F4QTzYHpH!xxYjVB+F1Gw5Xc9PSqD%IKwZGL
zY~kiqRYA+R1QGqlD*Pa{{d;G?01g1ZxwiG at dy)DPdV~5AAQt)&qwj(VtN~W&*^%>V
z$|iyy_#FWIAS(5Q>9;^Vu;5*R2lw<RwFYh{`T;~RWB}e;`g=E=0 at w$!6==C>>ECKm
zJ^YH>c}zfqld%{20VDa__kJtna8F=Dws1SiZgVr6#qhTgcl-dY&<7?y)c&Z}#CCN+
zq$N@*Yy8knR73vSWx^tZA^-pd2nON<EI|T1`>#FxNY);nLwsL<+4NlZt!^ToL)7)y
z09`;ghVK0Ad3E}4=K&-&QZ221^5Ognzu_bFL4gSXQs=YMgZ%8S+fB<~^1Z!0WE<cD
z80}TR at B{4C&i1O6v_3TaJ6+E4TlCwdyZvK=LPX;-^Dlpsj4J90z}*S at 0kG{I#2*0R
z&ebb_Gvt<U(cIs_FZmv?egeXZnEyzwxpnlZHgfw131CxiupjQttj26iYgrJ`+AnGg
zgd8Av%QxU>R`D0-;aBOcmijky?6(tNM2-EcHS at al_tzl^N8f(77oxSmMPwV!AM?Q#
z2H{s`IqU~RQ-gTxqSt4F{O%fk4BvY1msdC~if{_pvKUZE!1~wxI8NtvHM-vbq6};S
z^yN|k&_2k&@AqLF4t40~W#7IX<;V{0$<_9!y%-26u<3(E-y0|ppstZ=?a%K^q}^YD
zJ}hUh2vzyGT_mu(2mJW5O at uxhryc;SBBr0(Ph>=(yFkD6AACdrx})7QRdN8`Ge3R<
z0J<+b2qciZf}c=tet_ChzrIcN+1)$5XF=`kY&-Cm)*Rc+ceI~xPX2scd5E7ObR<Gl
zV>OH=cU4-U!<p^{I);I+g4}_bYo7goxGC^VmhkiQ$)Dr&Px?@eYQi}QXp7OgM2FSw
z^v4BPKHeb<7OhXslu>i2D&}1;d_pVyk<Em%Pw}wVST)i2;OWM=*z7KDBW|}u$a_p;
zCH-GfxbyT+G?KWATDwwDp%GPPzb-Uy&)17<dbcFoq6oiza;FxP5jIIMY-BbX+R<+w
z_=EYw#J`^!z--Qx^;vH{S_)t9JED)?^QXIArjpKY+8O0(Wzpmo3~{%waP{t!H6-Qo
z(OzgM!ZQ-lW>6u$7g;bLNUzuBxF~~8u#%^FhPDyRe9NSYB`4Hw;u%cZ at QimbeFKte
zA(uE)+C|1VdLwHp#yR&0F9%;4e^t3=0Jb9^l_m>Ms&TeSWpxjnMA8MWg#zKJi6aU{
zIelp!-WLzj(^t@#mQn{+|D07BcB>1K&r>V9cyK{?ylC=ny&pVedO{<{1<o_A>_k at f
zIjgK@%OoK2=Ege%)p2}KeibHL^YBs8tU#Rz)`5y#&PW}$e~EpT%!Uk&h9MBRyb8~l
zO+`LmxF+xia+(|~biLnws)<Iyb!6v at ZRcKYkpoA>>I2_iU5<C~G&L99oh*oFwd4Ik
z(ta1KkVAptiPLml7VDU{X5*)WzzSA!EX8r1aUT&)#deOAo*IesUa%QdHwQX?M7<%O
zK^m6eliH$Y<v5Ldqo=!xO5PgL$D4Kvbrl#y>G`|PX2){lXLNQeHCs2w`8g92o#uj$
zsY)IFxB2p7-4{(WW7?dmY_k|yvfFRHx<DSe&2Z>>hkww#ic<D&yxW>hzy3p)@gB30
zw#h!*Mn6>lVgGIC%gfxG_~3jGnT%jC9SvLHUbE99vEc8?gve_>y%yf+Id4CHfO0#2
zhkh0KNr!@S>tL+r5`A9TN_=1U<yAkb`T7}Be*Z_x?DqsVS{SE1%#s*SPr*QV;fpyX
zrxnw+EVk>*e2J$I&5wdCt?t7Oc|=b9MS6`~P#KMert_HML0DCM3q!3qnHU^1fB2$*
z6-EUosX&e*$?xzwV5!XCYJ+$9?|H{#G64-n at 7cjs4Q4T4|B!k_#lC`(g3jD}^tW&~
zn&$M$QDeMYE8|?XQn#Hb|Jgl4=I69t=QsE?$3eGaGEHJZCe{PJD=&RW+m1}2aP=Hy
z+=|L(=<Yq|ZA8o at 2lp?1{C=a5I`v}rh3D<m845iva2qEJ1!sxh9{A|}S`}ME<XHE|
zv_ at _4QQkGOFxD7tRGf-5<pbjuhc3_T#|TnI2s#Ag$PJ^BBbga2u0+4JadeMzg_Vk&
z$2T+H-%GmlngQY=+Ht-}y{cVcL-%4}m>FOgGzwaYLAJqxFW!w?a_@;t`<Z5Xj_)7q
zvFQ+78H>kEVh?2~uOo=WX2F+<e(0M;;auMAo49|Ln+F0|foBfD5R?ik+Qf(J!)tX|
zM5?Z9V}*ZUH^_Buts8tg*b4$<l;@Lf*L*fxLfkH6K)@-2=CRvM!>p$ly=CFfg$32a
zYlIle^jgI0anH5X&gD{J6Ad~-dn2y_=)Dunvluu=amTVQ>JB2u9h+S`h!-etQJxT)
zR3JBl{VIIO!u}e-uKTuKS>JP-K!**K04zmp8rD+mrZj-bCGv_Gv+M7|J`|maJh&yY
z0vwt9NU2~Vt<<aCVj+l0Dd_k<UynOq+wa8i$|uQ6^e~nFI?nF6%xg&$!Bn!^#`Dl-
zNxG7XG^ijRDMd)BUrH>0k!TOjXQ}+m(AG+E7{oAm$ofM;Hf$Dn7|C8#Th7bCdf|7z
z(iRxo6;Dchjin%a(*+GlOR(Fc%obKj|K{L6zZZR2cO4UpYnq59^E0s+<O<90bRx((
zcvN>4SOvWQllp0}vjO(8il!0ycXsa^qk64Ok0K_SjHg>j6-==<^|W6ZNA7OEOADwd
z_H3 at Dx^Uy at u15~qxx9e|BKuc==huLdmF2dua{KKOgiBl8o{KW-kj5nNTJrD^;83W5
zY`kzd4OLpR@;#?de>x0K<Wke5nfm*HY6pYIHwn9QC7Db9KIL2vr6)x$N at q)j{xTuV
zUbwD(wAAtuTQ+e`vck#z`t3FcS4wZ3UV68U8Zne~om1OxDVu}0B^=c~vKwh>c&;#a
zUz-Pwp`e-$E*Kpc>TsyiAE^BPnnM|$NN%6a<*PbL6PD^!BWR1}6)@0s(6zB6gwHd4
zF6LuIweyb9<T&;qjeUd+%?o2#MxrR at Ddf&aC;MrSC`dcB8zn#{%FE|zS8U3$C)Hwl
zav4I>5r+oBf&CMr3R(wwK+eOSA&jFTGDmz=l}wXydu>tK6D|D{C+;928mi6X4idL|
zqfS${#~fDT9jVYsaJQ5 at JI!xZN>$}p*N>V(bPeBskQ4|G?qZE%6DP7JdkV3auK3ls
zz)xes1&mPV<HD5d_|0W#4DnX!sxL0r9zw9E2t72mTi!1A&&@W8m?kfg+kT==Vzo;d
zsSiOU0+S~WyAOsC+&UW=ZLiO*?%-8ji%Y_z`(8Vjic|w5Z2t#j;JiRXvnJ6v;r<Lu
zGpa{;Lvw||QpEje><K)Gu%(mwcm(VgqEF0c2<U at 4racpnZ9iHytd$G#Qky{iGttNm
zJhmS(N)a2 at zf0Fwggp`XVdlcrYCcpNIi0q at x{5p{nT1<-K0ziji?_R%?1ilo2I0h3
zR={HE>KRZFZvpm6=o2}{A6K4lHUq>EK_WXnaG9l^26)cnhy6ICsWuEt_XO`|(uemr
zavhAA+>Ug!wk!A at eL=PLT3EKvOC*&Pm(36D4K{ZnFkkHPjYcKi=fc>o!>~7N1+0Fd
z=N>M6d_Kb`Ah971{_v+FeNOLToE<T%CHteE>!lJ*tE}`M;~v-}42Q at Q>qx0nNy;}?
zyAgBSvl$fZEy1Kw)pu-j_;C+CO;X-Cr0Jl)L1u{q)9e|B^(%TdEwNMGQaZjTK<o~%
zJq4740~DF!)&`{<pP0TYhhuy5a&|e>Baa3>5oZJYE(&tall64pv~@$QYbO*3Ue<~d
z(yDx&qgVru@;X_$o?%*COk>j97Nds}2M3sg?bFK4E41y-GnXY2&-i(DH*TB?KD9k3
z^$TAEm^W`!z#jeT0MM?xQj&lB6ZW~qE!bX9V;5(BY!O^?RMA^Va>X)j+?U)SVX~{u
zh$BLoz8@?CT7OsHYQRSSX_<GGmui7b<JuTdbx*j4rg<($-%r{H0rZ=XUEXGtdyRAB
zr0U_40K{x3zuZz6^>z{frBf)1u`N1%)ONr>B$Cm0)ekXIf)lFfpsMn5V^G4z2${+b
zMXwGfXBs9mmd;F;qhG5-KRB~&j6KM5aZkw#IJQ9GjwlJ}xQ$N3f<lLco#f=g0yHDW
zD|I%!4A4!0yzAunv%wo^oSl`8n%>uvl^W at aM4s`p|4|(#35E~;O1ROHb6GEhTL- at 4
zW&j4eZ>8>CMdHl6o~P<2;v-tiQeaJXmV*;7%u$YfM4wTKny!7x%VI^lO7sIZ0we%)
z<)f9#j$%78^fu?a);2aW@}9<feiv<0r--wrDrad+mlS*tje1D%BvOv^rT*fVh(7$=
zs}<DEEQ5^-Zm_P&wUbvA&}lz9D)`r0lh7OhCzJ{Fo9VJFH_OX0FapnkfU*?gDjxjp
z>Gs5t&4=&~q86oT<qx!Xp#xcgBf~4HIWBuof}7d4vY-S_X)1nhhPB9TTI9nhgIc61
z;|?q-T01!1lBbo3RyiF<2wTyl-P2cTXuoGg(wes+>mzC}!QyNesV=A7fqbAM#b=@@
z=E;ivZ&~vCVoXG2lxQ){Ru`K&y((0d{S3zRU|^}cn?S%n3_0<rw|nn|mX14hU(p4|
z(i7kZT~~(KSU00QfrsI6gg-V&D;P9iQYSB85yjm15do<bBkM9$4h^lxUThh!uO9Zv
zvedTE1A6Kcv&-Z6Yx!=~8E at 9u*DY>RkNE75-a__zfV*;VHq>IMD_?yE5$PO-yl#-t
zMGAJ1zcw&OD-OT#W|+gXfpiy<(v*G%Z!cFTzsW1J<gi4dOV63r6xe9%KPMyHOt=%X
z(ur$xO?{oPo4lSNJ;Xrf!i${cBmp;rb~zRG=gwhXVCH4ZA+4h9ax9pA@^p?RCII=)
zlYNYpiVojwAFuQ)`4(Dk;%ec5VT7JFW|{F;aWO|i+eLTGtw##LscrNeRgVl53;mB`
zZ&{@dWWHd%x#uqU8C;R&_Bw}zX4&I!e$k_EY#$*#^W7-fvBId8wM}L81J>=B>>CDw
zYdcZ;ZiPh|(0c030KmOV$@B8UH|^+Npl=CI`*M--6ONL^BiAUT!|-rqm^o9xX{v{d
zPvyaDub{o5*v$o=xm>;o6>*9K6+=h02yl9p34?_lzxS!E(2TMe-o~sp{cbh2GQ51P
zJ}k{Db9ylKg9?)&=zggRkJEcvf|Ny=?qv1?=w2c56$XXl0{*JYKsA~{s&Vl9N9(sW
zGUJ~2elp!6R2oB!-aO4b2A(UOi+VK6Ssa9(bnEzVPYLiA3zjk5rH}9&mfy}gpKv5_
zs;}_sqje1 at Pi%xcm=e=`T}qLLL#$i$T`BXY3!!T`^tbRok1?8Y_f+NI0~OLe2m)98
zhFb_DKHyg8C#IWmG?_n3aj3E}&5(QVWVeo33wx&(R{^?=1X%Y6JD_h^=bxoy-lL;?
zUAVKhHVnL3(WwesxnBeDNOZY}{*o_(R%+XsTdl%NuF<KyMGdO-ccpcBn3A%06FYSa
z;Q5cU#1vcEX_nmZ6-cO=jb#?C at l!9~DO_vuyFcL at I_Aeq6p5GJ`?A?i-a_E3+sTK9
zxj|~XpXKCTAuE~~E)54)*9naSnSV3+gvbejj^frfH#B9L_ckLN-Q+i4M>CPMae|{L
zzs&9TE1h$L2`Qk2cg)`nB$ts_+7HPh|2%P*L17?TpX;9ev at d?X7;vvis(lSuaVmi;
zb<TfRuC8-<-z|upU`35|%O0iq>|2$aB!&xQeUJuLI(!gHZ(h+c_2D$&(0~__UbkAp
ztvcI?myEa74J>Cud~E6PISkBO)EO9Oc5TP0?dB}u(UEwMiCx9{Wo*H57N%BZ-*|&b
zWkT%4vbOI#%8rto{^()>*Z&j&xXTr)(I4q!i)5!{bn|R|(zH`ZNTN!A8r!seB>6eU
z?Xrp{GFLrCa>Dqm$@^}%&Dd|mjI{gmsBH3A>l(Ds-aCPKC#e|=(lzi=Z3TS=WErIe
zME=;OQ6Bvqk6D&gT)jV<-{5%eb^aM(@Q%O-OFm2#&HC0Dq;IEnHfFQ+so6 at -vHwYT
zJXI<Yub-c at cY+4n{EIirMOQmN#@DMCoj*_JsKN~8LA58<5>-#c_|%X#Cu9>|z?Py~
zUO&5;@N)(mY5GwG*`@&?!-=oPA|X|oMt044N at _@PaisZOuY~K_+MrK=Enk;<D3weB
z1>NWmkW}DX>+Sq)B7E at Fp6%8Mzg<qMAV8x#Gd%v?qhwT?Vp3WSOzxRgur;KjH~gIP
z5ifv|qD8FRAvXz%BTadQk%9^@;z>HhGog?}=_Zs?Fn0ENq4Q}}F3&+Y9j2JuQg-Lr
zWav>tTs;+J9g)nu#jdqzmMZ3)3P);Co3sQoRb=ydi`r@#R!ew1AXGV!yZ5PF?AMSd
zb3B*0gD5+uGUp*Op3rZ}O?iCb>!;%2LX<B28ktNT;utBW at YiPCkt~c;N2-u{SpTA*
zcT*rLJmc;j;m<JehSC&w>FkepU5}(hd8!E@$eiE|xYbI6kn1Gu&UgeAnr?ze5#Q0&
zO-fp#9a<Td4+Cl<<mcKgDqW{Mkqt3oMkgy_)5?y&We at crYUfpx0`m3BpWe&2#9qpU
zt>C$Pi>X((pHYsu4_~A=L>TIk;3RoHDbon3=EgIHhaSp<ELo>Jzh(5>nUA`Yv*2(d
ztrR5 at Dz(#lHXjQELspnDD$2mBjv$7wx##*7sWZjuffLs%yV~)#S6KltHN}a{EU at zP
zEY|(Vd8=Z_qX#KWs)(G1+{!XRh=tVejuoy8$=d~-5|MJfhOC+VwCr|L73xO63`)YP
z6j=Z+ at 6kbd0xt%Kh7je+3>57>>{c**(orKU&OIHnOrsUVWgtvscOGcqXd7)(?EIaN
z2U8W7oI$nzVBDBy=p!2A&>u6DW|))Zh)0K=hQ_K-*AS;r!4y`|;wiTfL2K1{rHNd_
z{KsUK{G6~{yrcLO<2+ETXnT6uK&zd1#hKwIF>K>(2qB1R{d{f19)=7+y!;jTS7SCZ
zn2Rc1459jeeV~D1qq>U~1?bx(ZB{)jnPiQBA<loAH5L7?<QZDonVhz!SI;S>p~Ese
z4=s?1n5UzJv at 0}YYw6j}tYIr>EC!~weXoe)kpJTHH}Rk9AgOZ0lC5k~xxizZ48;Vc
znqM+$HI53B&vQvSnfoRb8dD<1v6o)+l}?C^Em5NsXh3s(2!Vwo?IMvkr^$wfMzy^A
z`%nIO381mg>Svfvfc!|<R!^p`xH3-Ru+p&-y{|FZFi(buzIt7?WJZJ+7PM}1fjoG9
z6`Ong;X8i^^b3!b3-XTN`%wPtdid7wPak>3rLn+Je#Y^+bcQwsr~OgNfyf3}C^h*F
zGgP$}2-@(_!tqY(sav`c9~;VY9JeM(L_mjodKig(umx{o(y;NlQN08 at 9WXO_s_CY6
zK$@(0O}z0=af)O=q8Cq0pFA+Lp)Yto0!MQlp>#A!_!^)fB^8!5>flw~QOhz*)v~-$
z1ukdE#}sWDG^%p8Z&}}rZF6tUA at JiO*h2>xwFsNfw~Ok14*>6={6IUU`69?u_=Jnz
zWtX;GzuK!8FOn>awFIs2H8up&t6iJLO`Vf7p at s2*K6i*-=WLxnTwSH?M8_Xnf*6Ex
zI{s!~y*RB|{0Ml}Z=TOn$zWq+k3|`_tk^B(OS*9j3*j(td8KqKX|kg6E*!uGT-ywF
znXsxn@)J}CPo~gLVnku9>GS71jLX6q#wm<0B8 at QN9XuiI9rvhU^WT-s7s%LH(6fD8
zb~qaBMyezevFE at 53sQLQDDEmurvAziI_!hngj83)XS|TI^IhR*;FWQJyqrO#+3M;-
zrzxX*f-5>r_qn%wDD~x5aL!Ues399TBRxAcx&);()e7>3685t0f(&73>b$4Bg4W!_
z$v)UFU`wKp{%s$<z*Br`uvf7Dq=2zH4MzLiYr<7e8rfBvWt56RcdpPNbP{zAJ(+R0
zQR!`X69INAg%-S2B(JhIg5E%0F{!s2K~Y=bNk5RYH_11;A$^nNW-e9=XS+<??l-=u
z3XWMSt#H_6nS=oJ_Jm05tX2Aupnb3FDADNM{YKs=#34spJZ)?1E&FMdjSKRPnd+EP
z8o&?tW|9S#+}t>Qzw_pwe8#@D<46N&Ugr_>z4N)xCIMTTUIsRS32i<KlGmKFyG5tZ
zw`wnhRLk5X!$oIbT7%|@9JnmnmM(BK=Wh8nVQR2&3>|2p6To9-4U7~g4RNtwjkY_f
zsgJnDz}IKT+f;7esZZN`9 at Pd=*8!U1JVPd)ua&6u=7Y;%v}J1e_3l>0#h7Ho5zE6w
zz|3;n4i9D*Dk@%#$9bOGD4cky96V6;dN|BRvNOTB9Eonx%Hic^4vJ*YjFchUt;ik}
zrd?Aj;fKZAa|$8rh_^n{^T_s5pnB1GgRvFLDBd~SfPoATzA-k!bqJS|uBt1wKc9EY
zax(8&6YuvhJJ^w?um;Cj)x?$&uj;Z&Ohkh}r=#1xiMTI@=5#H*DfBQ}<XP#zW2_~r
zqj4Vy{Ljf}^9xQRosH|V8kxl$NhbdnVdoSp3=e?kqwm<ZZQHhO+qP}nwr$(CZ5#WS
zCCid6*<I5#y=&6;#nW=yaCnZ#w&z9R^ml*A*nV4lqS4H?GyINvPG26o5x_;uih?GH
z74mA*tWV*cr$~%9M&RvV8|q$vhu#R6Y;uO|WU^f#^9f<R at h4G4uf%X)o>Z8mfy(q>
zjcp?_MU;I*9M1VAMBxqM147JpUBh7}08b1W$Ix%Bgc?lHKW3e?P*PCUh#4<11$+m#
zVlPM~ZF=Wrv@;4p8TBp>k50c~yhhl&xxsb`zJ3TS8pPD{L$MZm<#!&`v(}f$RlCpg
z1lNtmKv=lxNcucI%lC2xvt|y-@$p)gV{(>SKd_DCGwdhTh+V4=R=)ACZVB*iTJo33
ztM82e*cX>ZiWgov_vmu+sB7n*Hv$D^jqHy7Py5Lfy_PNceBMK3w!9{swv6WuIBYJF
zK<$vAS&jI9dH^&!V^+ljPIAi%YS-Dk;@5JrOSlg$Ha%_1+%ZEFL^pj!WHSB)yQ;Ey
z!>pTlJcum!w7^gP&Yb{(vujOlYl(A at sdT?tb6aBJXCf|;7l$|%P(yb~&>I)@ftd4w
z1A3GYR>UKOWEYMwBFC`he9N{`q=lQrYyi-`FxEYe4mom$mphmYgE<qpxlg)p+~^7g
zF$LM~4J$R+GWzU|mHnkflvFIK8R6!m&o5pg>#?9o3z{Fdl86QHEq>#Sp7`ia!NW)=
zbO%#bI_rO?mO?PA8*R1cjd<VBKM9Nu)*S`iFb6nm3+k4#M475+h21c@<qooyFag>J
z(<C})b*H!}JuG%-#xM6j9`Xa5a=L*mEX3Kj!omhnYtL<^X~_js>6NB^$5y3*Gy~Qp
zxjnuI^B=DK3ODAzi>^Aq?bCGiu7U^MnRI;zr7Kodj*CpobL$HnMbDAvI_GLUYrkGa
zV>ol}2^$jD`v^ZviNP4|U}M1-sMPb`?JPpmhc`+MREJ;0UfRFe@}5ywq;dWd9d;lY
z62K^v4nuCMKYF=6H^X45uf+<hj)YTlxje7)e2w at cis^958f&mlo=lXEL2ooyRq+_R
zR{q+H+fhDaXDrfCvywO<)Xh*gc@@S*pDxqe at Ul)bIu*Uc#vUaq&2P&*GAF<b#<X<o
za>+MO-3EGt%bz4ew>KL)*A*sH!Cs&odrSOZ%b~eC3S3VfOR&?(s$31HGT%GXgs4P7
zY$;w9jl92`QKE7_Urpm}izKz~=&>2C#{MU=b59G{7gQf<R at 3psdWaJE4;g+}MS_)+
z#oHae;sGJ!g%q%_R;_j1?1M4`6BZwE%S^X#@c<@5GPyp?k9-FNb2zUNlQfk^l}=B-
zenY9;3Q_A3a8+F4{h0y}r5Z_*bDN&SP=;20pWhiR&e<OZJ+Iq?j>dyvs at 2Q0V{{$-
zPgj(vh+Qo`*L6muGWBd*lJt4%Q42X+i>4~`8jqxPLF*V9VOwZz1(8T-F<`qz$qI)h
z<I|OSc<pH)K~>3S4`RL8DSCs`zhF;a4(tCf>HYsEwld)Vmt*<gwmwFD238iv|1G%x
zpV~VE8#~+o%DepkBZ$#&|Kzi^RzV?;YzJ7F{}ZKeZ)J~eZxOd4Fthh>ZwGb=+W*1b
zYR_h8Ok~{sRo&LqUf!C0G`(tm-H;L~Di<Izwy=RlZf$kUGb}JU0t+7pvt*<LMn_XW
zM at LWF8yi=q(z5pdjUS9J2guH*zPfJz)x$dgVRm?r3&&{lLZ4jU04&zB0+6BtAaSuF
zfw2)0`DY{~T=9jz%5DQF5V1)q`D63&Z|=gLLyM6b-tAu)Ti6~vCY<r<0Vb0w1CY|v
z!fyI?00&zK$flBtx&m+zp+V)}h>0Q*Vfjb)M3BsnJoyRAKWetOv)eP#w|8|dVQp|O
zZE<BhDJ=kP)96qGO!AxMCt=Ma-=mrMcPG%??=7Dnj004nrq23NDPPZMZ^vZ&`@;pq
zlt9eSehiJQ%p#wIypO}mCnWwOX9u|XWljCr@<+YDI|WET&-lf<-P`s1*Vz1()|3zt
z(NhzYkW*HY!_hyz2nsF_pH|}bU|;YLeIw)7#N7DE`tQK**wom<$oSjfzHTuF;80K!
zpa?GX at AS<2(D-8iQ2Nf=;t5SGv~SS6Sz~%ud3bjf)%@%b`c2KJFjba6DX!Ox@%ziZ
z=H`0mru#2wn)*h1=C{z`^0GhQ)a>FMG8yrwZ6*x-Hf|dG97x~D*!Wog3<v-RkRJ{S
zDzp!=+>;aFuf+IM>U&^dZEIi`Q2$i`_}t0@^!wfa$(7X+7)U!?JD_*>Px+fJ(8v%d
zT{E*CAUfbQ)z#jw&@Vi|)bA+n$*u7j;GEt!8V||;p>EBu at 4`nqy`m>4<_z!24~HQr
zJ2Je!7<HzP;!ll&+WHRgzSPJFaGs%w0WdvXy&VACIvQZ_FQ&-c_~VWf{qJ3JBVz-&
z{g?KwNbZkf<7SVE|Ksjo0noP{wZ~W7#6KYNKj=<cBCMi`F|4J(Gl##lslWfWrkeb_
z%KzJo9M-Y1{w*o{-rD~Yvop4`IQp=Qikon8`B(?y_=?l1|LQBn?C(=kTi+dh{<|#J
zj^=e07 at yrf?XziiMs0fr$fVTlOjrNrq4k?u`PF2`lH$rQ>}fjDQ-ku4jYxR-JLhek
z8vZ=`wEs<?@T>60n|kV_7`c|dmigOcG-Y-5Pe at 8iAj3WyBWGx80PN1-U0pyvf2gAX
zrJvv0=<;p{;2r+}n!e82|K(J0Wd#VD*DLHp;PMxEhdTtI5C0a(1^`{)3y12*f7Kfv
z0N02A3rYuoM)ZSc@)vl7GX$g;{}I63F!{}oyKeNG7jy04J16S;#(PfCIp_<2BI-K)
zZz%Tx_c>nn2-X0EuKf4kLd*ZT at a2!NHZFbhzafq2pNKTxMvOGC=yBX{5$6%#xsctX
z-tcPyQ$yPa`~IJ}y2fAP`sOdu;n)OI`Y*7r^S#`2T#(7T*ZD8HcRcf#(Y?Up^x_R3
zu3yECPR{Say at BB`+`B^H2;aUK8TB6^AEM?Duy1|aFW5J}@e|zp!0IcU at u&V{80A)2
z)y^3HpU|Jc%Z}!cf*pEWT5Z;Rz0W4lx at K4^Zy-zr{&W(;gD}NIo%t!muZz|`H
zU0yn``)?7HG#+=(AMzU-P$%G@!fjZ`)7Z$@*a6X2o;}_gT2NF7(mh_xum07c?H^ni
z++gjWKVFaH7uYxX(hr>R at BObB<7wP|?tim2_n%9VapJoCWqnFNb13?Um&eZ!_}^<J
zKMs7~V1HK?P#~TFGW)8iH!|*m)t7>txR$~9+ZV57AE)E5EQ{sm-D=sKI(hN=O68SJ
zfvh>V!HS}v@~dtm<aYnmAoP0VG_mrBwi1&!^L%un5tGecw+>Rv7{W>+<$^E4AoL$D
zl>fnb>*Dw<1J?{_33QcAIO6DVBp^R6;BJEvb6<i at t&R?%zNNrcZkX)rO`2X9E*H80
z_su1pV3^VABMEiPBlOD`>3ZVN?d{GKoJ#i~Ns`U?f8>tVBYRlcF^uujy8l$mo4DQ%
z5R5F0k^=OJ;N%g!q4G+mjA}m8Qp6^~Mp3d7&Ffj8-U+ih8rP6q>K at QwWo_aP{hGj&
zD~5J+A)%TTHVct*KTe5~ltE#!wB;UsT~j3q0A at ESt{qU7swtm%rz+L=$G1#n5IVVg
z`W4Qc#cN3dme&^D7cG;#nq+?$2+;OvM1~H#`3(e{m>zMX<>=ZG!3{Uj(#MAF^(rYL
zy3+4C+bXxrzN?f8+>41vi)K)VJG$pX&-GeB!>JVXYCQ!Vri at PePpHSN*-E;35%j!G
z`EfBopsKH&@wg)k18iwJD(|?#Xt2^O0nQGasyj%%Z3;wBaEm3<R~@gN6X!vjLSYp_
zMyrhnfNq2>J1D22W1y6Z9xLs)250Sg_o)%@=US&z<op2rO*Lz-GcTBlR$6~@D=Y5(
zL}5Fsd?3dQD?bNPbY+VWRpgTe`g(tMYGvXk`BYf`CxXbJh}j+|w<quoLu4VA3G$wU
zjkYNV=jbO&|C-uV?Q%tZCx~V;x3IlkzU_6{)4>!!c>OGKb#7rkJ`;*0Up953J%WL~
zcjWlcQ0K+tpM`+bT0_fcdr6%PB4^!A?ROdS%qVk9wW4*!wDHP3V>xypvJb=VP~1X~
zt&Mka(kM<mc4#J#(t^yuM#<J5x4cl!ie31<jo8`}1YckLckL*m%6L{R%2ofGR&+Rb
zYopRQjzzg{sT+oAr3c!P4R3De5y;~XGB{jN4b|8W{b_+tV<ZAkQOjaW^x+7SF}2|>
z!gY=vy*fz}Hp3+%SBdLOQWa4oep6)m442>~FQqrMzzs|O6x^peKJ={}^|C5$#5FWR
zT>~g?btMg`iGxV>5qG!o-WQKguC+<$7EjO9 at qB#v#Te9~g)O3;t;(PlEJYfABovku
z%OC9T!kfOFi)dP(p2Rhlx5u4_pHzrk0UqqH>oIK^2&aP<A;r`S5?S)?K1{X`1dZdR
zfK#|6Obc$7DLfH^uAX)^>yGEtE+j#aK|-q5b6OFj0)A(2uJe{^T0MF(m+kg1SihX-
zyeO(~mv4=6)>+Q#;?b%eIWMM~xGdasUa9C&xp=~?Vyu9TSph%$ppo(Lt*m_$NsEFc
zdyz(mKoO1$c=r{}IL59H83>DC=vy`G0xPii*fbxVTpnqVhE)gEupG7bwbz6j)XK)>
z&lT8cHo}J77#Oz0G`VI2W!al}`{vKSJMEqRs!fvROfZ_{v9SnjNVk2Ve54-hHe;VX
zRVKl5o6+&_QPX4pZdTb~IcR$^O^oU!HUrmcL<tZz9yRH&bJxCsBGOg&RGWb7 at Qx2n
zT}%e;fg8$P7U;kD2ci^IkTA*{<UQQ*8ywU>B}a9kR-(rXT{)_E^9JEE6bBgyMWsR*
z2D^hFY--7ieM$8sB-U*cdNOci%!(AQWFvWTF at xXd`tk7|+OK>Kau!?2T7ILzjT}KE
zul!(2T67HMg{3R_NTk+)l^3EO7eIOvZ|0r;EriKTf_D2RM6J{+vil7qv&uN`%F0~W
zE(Ic!AYG2x at L%s)!->uedFRxVXQs#bx=lqMRwbjJs&%>6>DWVi%RSb``vZ<B`>mp;
z at m4ODFSV857r~+0-_YsnLn|R-%MNo+g?(Ta!99e&tZ>vXaIMo08!4QGMdB%9W|YVd
z)_h7KvQd*ep~A{~bI>@T;II%l=;eiYlaKr_mV;_1!HC{D2qNTb|IKdXfQ6?43zd2n
zKSD at k%cymN=zze|epD2mKaC36e^2`4H9|GxA)cC~`!}YlLU_%_t`LW|zGI at Ol5{(9
z`65`ygqw;rpGd}0V2XilsP<TO+A229bN`?;#-Pz7I%3ZC*M3AIV2bgeQDUvAV#fRp
z6cI70{(@K|(<e9d&ub9`Q8n+DZ?C{5*~i8o7R>?-bvI5!%vI0D7{cF;)j?+7M9Tbp
z=oV1*Fm>S;sNezc9A~pfICrDKiNO0nE1RYEDaEM!<@e6=c0gaakEX?Mn6Mpov-`tq
zRfr9Lln_Fw->Ynnuk@^rr0qoOZQOVji(DxSOdYLu2|;g*Y%|yE1zs!c=5>)Rep*9v
z4-o%?bL%?UGm`!Bz?~f}@QvU!yQ0Y%HYaQi1mR+HB-2#R#W4- at i>r!^Y4{l#5+ntE
zlj%2Nl&-PC0Uf?XbiW|EWdl!;JxmuGx(IsQ5;E#0QJk?w>k>f57l5YOZMxiL%D8;-
zUN?kP#LMej(V2Ypt>RV}1KVzL-AzgN&qk=Q=*O|iSPVB|t7UAW+D1s6B=6B*B;PYS
zP`(laJ(0j-5cmH)VgiFzgzg-EcI;0sDJ;?{TCn6-gs1PMODte;zP^6zzAb34NlQwA
z at FzYlD0=5fSEk}G9dWwM(0F+yb|?5Eq0IlldiKFtdw}_;4)xL!IKP%U__UC#e5_<Y
zcnB-X<xm<Z^tX#qJF`ES3DT+WN0gM+Y7dei(~ciY6s5-mTaz|ohTVS9bXZ&OkrQ`N
z*r0RdYbrn~qlKh1cv1*`zCroAR-Yv~v}epTWgmfHiG~T37TfChl=feA(3$0d(|F1{
zf4acx`-ZgD>RZVt-2ZFGlJO6=40la`Y}+~lic at Q0!ckSUrx7~$9}kR-XuKPB;6-sG
zhK(P--eF`AZw!viG|JK)6(8Z)G$3ty>%9vwQ#Mv_oMJSEoF3<^0&;5wNPc{Rv3yu@
zhUtHkCHu=hr&0qsc~qS<SFys9{$-7<;hbpV2!^T6!0$A!9J at 7J(`?68!*tF9UE1PV
z9o3`JEg@~3J&;I;t6Y at l+>S at FO=_nr09ydUM0kW#a716W31 at kXPenUxG+i@2e1hKl
zw-3cXnslQ;ItCL>8t%A;;1(RG^K9D_=*-o?NI=D!n1ZpGqYfn(D@%WpE2+qU#?P2G
zyz>)A=WmVN;HmZtv&j>Ql!p^4V3d}c8JSc0FBIh{Mo=`K%p{5Yy#E38pj4WkH$|jo
zuSxtJwIc8kThX}sbY$Zt9{TDjXk_M;R`Gbzq?I4U8l*ak&$(lYqI^^>ic_jAhT@=w
zh5H56OK6A}%(c?inPrb&t>TDSd4kJsc9d6-;L9xm0<2C`Sg$7GkZ!?N at 97LX_(*r_
zFY%*Ok~)J&C5AaJ8_Jx*EEidnLLqBEKfboay3?HOJ%PhX#bU6S{DsN)D|eSv%>sAX
zQaF2>vP`%EF!rK*XDZ#JxKfo!Unq7|wUndS<va|7=7AG9N^gLlW$sCbQj8Z^%#LI)
zooA<jQG@?@AXSI5x7i-4H-884oU04|sE#)Z*V)9OHWPbA1mw<r()+PlYH?=X-S4&m
zE6R5J>urm@!>uY;=sXcS*rZ#j(cOWb`X&Btg$|Kx$aY3R9w?M at TZ?Rakss`&;Gq=Z
z80-(HcG at xie7hm9Tl0<6bx1FZ($3e~e<Zg*f6m6mh7QyTH;LCJ2_D#>^g|x48e$*9
zH_IkH<hW#1<ScqXtsoVY1)se0D1yb&r!R*v#STv6WX6xi<4 at 4K1Y)E10{WNoEV#>?
zT6M=hvj_i6&|BD9(k4_UNdlyj6gh#O1u~SMsy}eE>1rV1Gb;zA?rSIfoHOxmigtp2
z^NH$Pd@|e$K{eUI7fNWcRM_o at 6M|pyLAOnLZQk9>E#P at JqAto(5I?s7{VkU&m2C-E
zMjhtl-8iHuk~gi!8BMF*LQMlQURQ6}L^!%eHn>$vcK;z_;(Px~BE%@u1yav)-GUj1
zKdXX>y0r7Ctaw&LWi+=P!96Q7Yu`HHq>l7$NJB1BZ7JHVzPBNY9+~lML8eby$9~^v
zcqkj!<a&e>`|URc!AYy2AA0k%)6M+$w^n%ekPUr+^R|FHE3!<$tO$6vD1|nnRpUjx
z=@sij4#(q4hfL&1F~2*s=B&XP=&a3?+j)&FT^_NQvN$is8~(QK1|c=GT8Dymn at K^p
zs?QTNFdVNe#G3t?jowexP6qQnrEu509}zX<@C|ufo*o at A<XZnH@^i2!NzsbhHNC19
zZE%^n%J;)u8cQ0R)`)J_+!EU^c*`~Ni8r^&V3e|ePuCzv{K99QZ=eSjENS<>wLlCk
z*;bczR0e|yLL0une8vN#4ZXvyR3K;iEzTR0(cF3Vo3&UmEX7Bd-|ATL&;mm9%gc28
zq9&#KKr;K^*$8$Cd6_v;B)8tIn at 5dtI*Hh_=lUSMDBIY?O0wS*+gy)H75sk~4i6B}
z?4I at k>CT9k8t+r at W#EDwgWser#8Ds=C(%hw&qG{_2 at Jxoqv*G-f74PQ2eK+jwe4Fq
zn-!pd-fsRg9M~CP#jzek+>;vRC|!C8mEhmpqnr+gg}p5?;yWQ^j$51<zgPq-%o#dK
zqk-<JK)~Rg*pi)QC4b<b-vxUutwv`W7nB7h%D(3K77nrF>6WA|V)h&PyG|Phlq)a=
zCa~n?P*tv`m7L?<xi`MT`JdS0gO!6$iu(L3Hee|n;U`*D+b9?~>CKz+wXqs8m84_b
zz&y6)66~hR_|cfdXq#S8u~4!d-m4Wx-s*Kkw6{ACpEgx&T4Zfo(j!^wh{C_a+UQ3B
zaaFH6L0_+j3>&|x0od+ykM)hk`<Yo3tj8E80-$zHNF)h+y(gtbJoH0SZoX4pvM+t%
zl>-`EdQPT?c3VX=$WYf=b3mOZr{>QT=1cLj8!+gr%-uApWTLd9=!B+>v12u`S1R6S
zd$YwuJ^N<aLxgCVuY_%AHTC*Ztd~FCj3zxeA<hEHW;Egzh3!4ZD#a##o`+f&epuqa
z3F7nMn0J4Opn|7L_SlZx65(x;5wBVAO2upE^dvR7_-F at amHEv>mIq0P5jZu|M
z+DSL?adSZ0zO3WoxF#L7$<(0`j%Eumkrq4KGW+!YDLuJF@{hEDPr>ImoeICFEo+p1
zVgV`n#YjFSQ}1VAz6Ms%<x;utDQ7DJKfgD2k5G43ZX`IEH{ut=-eaijnX5Je?@>Bh
zT$?gf99#@c6d+pfh$aw$mMr0upftsnv%S$^AM(|Sfp69r$>O%$JpqCSg^dE#9svLr
z(c at 7<kt774Tvxbux+4d at bwFRm(4!w+#-x)l0R~&HIKuGD16^tu9@^*U*$Kf{kK?tV
zl^bIi(lX$|$7jp&{em7ok9W0-ylrs=%y&`IB{9SI+xPhorRtRPX(=Z@*D98`ZIHu;
zQggo`OKECk-iHo9-9o_~<4l~x1-Q}Y_<62+2TOJ>Jv~8&pLVR^7ee(2v+QHO^2`=P
ztk1IO=m{BFgr6;6V_0{%6Xw%tdF3abAvyuOCt@*^W??6L3zC4P0cWZ8Vfw7!GIU`n
zTcln840z(1p;-qzn0(Lobqn5{!8-1B9^*AI(akYQZ)6>o%=-k1>I?sUe=S?c0Q0*@
zctlcZ->al}jnAL3dx^;XXqB2cWw&$_31f+?AK(Rw^u$QI)VOC#+(gPti#d^#k{S=g
zD^g%5z9K}Q^6u4Og?kSInP at VL2zp}pFd!lcX_}GT(w?qx;8xs+9E0!UYuQTiLD!q=
zr&>0~=9hop!rD%A(PjsFo;?MLS&;$uR&JGwZF_Y at qaM*-<%j>*SRR<lw|)xJ$G^3p
zP(KRK1caqSTzQ&}8i8ZBawZ9LRxTU%Ay)AwH1+-)@D?M$<9j at 2zh&%p{w%*+S`(#m
z9Xe{3z%~xQz|{F&SV<l!#?aNRliqhK9uV1*(J&S7w6}IV6ZnQ9aP2#8)v;|qW=d*-
zck+snb*sNOu4S0wT}_eM=K6U<hVox$j+U_((;wGR4P)VEdaE4SP!Tn`y%)L&m2y3Y
z%@l+lYE?(rVMM%1^j5uixDfHIT+--1evMRyu%Vo|PrnGAqVo`PLsbB{YXXCQ80WkT
zlH<(Ps5 at L0DR~X(UGcVr)oJyAMA=5tvWRO>&@pV#V at q^3nWSyQLnyEBM!~g%m!;M2
zQDUc>U&>b at Zt}!5;g=1lennn4*T(Ocm8I$>{*xT{kiY-BR_<Zd(sd5uZ(ZJn*-xIP
z>MKq?yoo+-tgA}X>BMbTHO$We<$+sv_Q}UaMJteFeo!VCdx?qZ6|&oSannqAe?+jp
zZ_Z-5F-}7flY762U+4DAeea|l8z#+fy{&iw9Ea(;_b}cENm^zUc||DfIeek2GFD6(
zOHx;HMf}^H>U6h8Q31ZOr<Npp@@_I%vK;|+68xTOmAZ^?BAhNQhcBaE-+m$)J;8h0
zba|@1bqh(Mp(-8t`{YV9Vu?jFW<1fSH22GAP21Pt7x94sF26+TSFhe)l{bl&GVFJ*
zY+b+7o0~2_PI8M>wf_VBz(@SUN!DN{ZVJ824Ftr_<m><^SID35lU86MU*9STk<2Br
zEy1AOm-rC|H;lk^^>#vV1I9l#zB~xYZ0Wdjbm;U%KtjCsSs1GtPI+W)FH$aKNXkT^
zQO;)|gHzqn)MHwPq`ng1m}*d?!(4xPzDuGj8U5m-ObpaX5UOBG_V8k>bIlB=Yrhzf
z`zBq&(;uhG8&btoF-Q_HemL&9B>8?fk0#}cc|^}m9o(eA+TT6s91uI(&1s*c)+`N$
z19yeI<}{nwH~Ds78{=Md)#iygmhh#@(07pC;z=yML`MdDQEBbz2oov4c%IC_&CMZq
zDe1FGXA$O?W9xMK`<7q~6|Qw7UK>r4*qP3?|7t9vTVuQWpf=d_q>B2>$tjP$Zki4q
zQU$UZt<4dlJ2lhbgHgc5J5x}Cfq1Rtlp{4ia&$JAQ5DCCDCA5GaEi?kO8v)4CXJj7
zqH4%BEK#6*afPDHU7l<s2#xE>H_xt+ at o&Dt<qQAj&>|Pe%_#0F7HL|)FfE=J26QXA
zcj1<xyUtJxN17Hb{hUzU*3+I^!4WEr`Sbd1O6d)C540;BQ~A53)mTL<vLP at xohRs=
zT7N!&>a^<OilFx#L#>13!P&M+WPACx*<)nnsO3j-eah0hMdTu#*I>e-xL5&SKa{Q`
z0#-t=vw(AAS;#NeUQ{~9P$~#Oq%@JG6=FJmX{}+v93ovD`i5<D=sFNTm=gWogk61U
zI1tytuX)1+A2qi8F(kN5+E&rQi9@^tb6E|ok%o(LldP(9zRI?wXekK}M^vxdJW_0V
z-;w at qttn-O#IMGj9hf5X*XFF-+1aPh`pM){eR3F<r at OtC0Gmy{$*m|$q}+p5<1)Vl
zK=JScp%ij3GvPz*W*aTL#_meHeN=PfwusEJC&ORfGxH&jc8o901{X%R3##Yo2igeo
zy15oojCSb&<h)lFgOe&sZyFp at s98?)KQ|sy{K0HXFp^|1(naR^Yrw2Le>nCZ!9Laq
z8r***vm at sfCH|2rh$Lnt?I-UlVztHB*OlQM`Ar#@_m;kJ6FC9%?2&PZ5qyxe>n)wm
zSf<j?&OJ63thyoFwQ}kKw17h-I-OE8%9E81!|MWu^I3?v0s6YlA;I6 at W69LzQ$->8
zpsm3~PWsi6H%d!?D_sxf9cG?%rlQ$2NM_EJLd7IUl6gB2;5_P9r#D@;AlY}OqiY|e
zpofbqS4e|xzm4=*+0JbpeaZj@=W~E7sLJp{`vRbw1RNM>`shG~YW0qoeEdBQZ|Aaa
zPSpDrZ~Hs>@ZM7xuE{XFYhBqQIf8(egYk+@&mD4ln=}tq at _rY*6caQm##W^zg*J(U
zh1JPyBVlj^92u6LfpmH`uG*T+qqxV=3iF&l$gl;4Crep_ATo-M4Lo^E*spB?{ta?z
zhY%i5)X<O@{`dd<{haQklcJC2 at UoS=j!*@cF3JK%R+`zt&L3YCPO*+Dr|_!g+dl!5
z1-M-lt+0`>H{4tr2ya!=%tTANVUM+q6hN+%c8SQe59L}al-5Q!dk^=^R9*s^5j&>z
zlft$&rO1!iFqU at Kb&ktLC}Q7NF at ccdgb?*z|6#5F<IX)LBk7U-kclNaDqPDanLuES
zYW6eBKz944)~Ybj`dxkxQnjBENRi0(5KATDqL9(xsZ8BrBFLo)kTl*SCXrZfwT=t2
zX#w<ns7#N at k$De*=QgDch^PV@(vA0}5A4jV(7HC}8w477LdRFr1m4rsQSz77nQ;+e
z?cGpqIjI*&{sZ<=#1#E7(fB0Gn33rK??YcC3)MQ+Q9QaSj){Ek&6+dayF;+&|4vQv
zG$dNkjpa$~Ojg7694|{-+|}Sh8PZRTeiEptd^d3<YR+yyjcGK at 73RI;!n$T?@b(OA
z6ebqa5ca;Nuc3$odaXzhzqZv6qyG1H%l|x%@uC*7y)a-&fk>>s{#5(tn>!+=ODtQt
zZB8qW7A?34#|1Rr;QCvOF2dGVZ~BP3!NZ$@nPC_3Y<5~%kI5z9q$MOTd=w9(*A0xJ
z9CWASif8z%Ih1vDXR6M at 1V+f6N@*+8M}*R8jkJnDdxp`spiR;}1<paS`E6_}fAtN4
zZqwgKwn>h6Aaldffvwm&PXb?>$AP>mpG;5~;#`64Kn?w at ION~e9B6e7b&8P*R~Jx>
zB0sI>FR>h#?%y2nZ}+<&tLZ0G8zpd-MNKuVW#c9|;Fl3iRX`Mz_*{nA5eaTt%9jm+
z;fJNKeP3t{YOY1S1z#!NEIZ9r;0P!YB9#0=hUvp8?xTXby?9W&87NPj#tiuV2)yUw
zNZ)x{tz2<uFtTn(ah7eK3bk9?o;$`CNDKQtLPSs}gw=XF7}X1U9!YZO>>pRSHng#n
z1V|f9WKBT6h=R9nU#o?JhLn5v&kRixlhb1YcvEWw2eZjSg!(hJXH1qdK-f%l29#7B
zA at Dp4R!eDsZMw}alT!a-`33-<l7pFCexH9f01$HC=Cgcs at LENXcmF>Q$T^%H{^plX
z2mknuvR?GhyMmh;6VD`%`fF(}@zNDeQ8^{!N6y-nyKnZVzCwg4v|7QTH6&e<f80eT
zeH)CTW*vS%(DpNDe$m)WN at to(@Oa;ZLV!|}+SmS<7ntFyODcXwosOCCjKH7Z^+m4+
zqT at m8)4;%armPh%wbtf?3L4yc=iIDt1S at WE9|A64Os>>7mmPr%$CC54yfA#L1Q8yR
ziS8F3c5HoB>DxVDCJMg&_z+ud^@!3#;|OoGA0s2%STur?p{~yiOpbfZT-hVGJCDv}
zwX%qCPA~e|6dtFb at X&^D$vOV~wk$J2VGEMGPP16~hozJkM~89#Wr;4lWcx199ds($
ze;URm|7xyqmvIo^7{{GJ_vUG2wqO|I8)^e6G~l<nH<skLBV)&JG`<qiIjUcR1ATN&
z7HG?kdq{7#{N2!^CFo4i{lYc10A%<80q)N`b9taBes~IJ%uANrGw}!dw$?_i0qj82
z8t at 4wwIRp7Q5rR3*yvd{%TA&K154DyjT3~vyYju8MQy78v;_)|njjh-H{|lAaI9Bt
z3|n^1f5<P>PYaLcZ0=naNVs=iusId;^bQ@{&xZ3(I!&xRF)Lkkrq~}D=AB>kC>?W<
zY(*Q66yyvZ4sd2U(=_DRDjwVCQlbv?UQ}vr44grZEJEA(D!8Y%1?uy&W5-r at csO8)
zix{=v6C)A?VcdgS?hs7r#P9Kk>rAptIWQLR_QjrttO9nxXx#K>Vq<PoLba4#arue8
zAnot=y=mS}cr5mM41U<XjlcAv3r0LZ%qnORtf$WU-aq4!W5%t$$#5?uVb$jFx&CI~
z21h&kMi=3uf<ZQ0*9#Lm&o8VISQBcOaX6`KJ`#hXG(GKY735Oq>EzuP+@?wqJ4<Ud
zj?N~iozO8 at Q4KRQd>J}kCGgoV!6-**y4aIyG&xt0%MzF6FbIqLY;${RIl$pgq}iPF
zVbN8EIAK0oj5B~nwH1oO^JU0+o$wuy*qVd6Zw=R)D<v>Y0JmCoV^)Bgm#sJhsta|f
znjBHSN&Q*aM$)+|&K656SuH(zE~DJzOAkmb&;}<%hT8qnq9&D9Wt`lx{>ov*teH<A
z+LusTJi)i++Km-8i?40_7)9EN6|8WjnU(i**KNi|*M&C%@1HTyxHm+GcqNdCONpLH
zzM$bCjLtX;G^CrqSI9vEGzb=ty7&^8e?~J%E(fPR2T5zUIYuAZEFT}h<2;{_QW38-
z;u+2{s`qn+4{xA8aXHeY`r=W8l)*5A5NR--fWPd@@!;@BDK+8To>kqtJf11_#XAwn
zGO=ENq|;wu6?gdshV?Ng&a+yVEe)EebevA&5FSrwRZjITeu-kakBuD^c2YG%HJgCm
zrs>`4N+N)-y621^6u!Kz3^nPAaUOlTqp&J5>UDC4 at C9g#Qhw|bNStTdz23<mj%2J%
zHx`LUm%8Efgz$#l#JmROMk>Y0sHY{?ni=rLB;sq<f4UvF7hY+X54&?Zc9R0Ps{{`f
zw at KUyZdhBhP*d6Z?YUwKUee at f?;UnA-=JjP2!$m0GKM7OT?H&;$Se!eL%?Jahl(Ng
z88oN+&!eyG_(5Z42rLDNh%*JtJo0YBR2TVF7Zl0h&QF7BLJF^k4{X)g4l5dZXAAyx
zP2;>I<_9M%o3FktAGV$s{jEySBD0HR+E>&)J%w>3S#}ut?#g6Eo>WE?!8^OYuPt;W
zs!($=ILC1(vJuj>h_9<pKj>ER+^X3ctAUeICv^4 at 7Nme*$DMF*UNYz4yRd9^km2RQ
z*`>Aeo#?7WQl9MMohD~*lY-=e9}^1_hOuQfydNMMoBV7LS$uAkReDYt-ko7C!gf7O
z6;eA4Q~_OXo_v1AL16^t8DM>$AP#=U#X-Zy<49z6lIH-EZ6CGzs_>3PKJL4w^`p1q
z_5p*za|1AyGn-#N;^*rYsA%0vrIE?5ac8~`$M{NZ2oHlt*hM_yf%K|CNU2$p#tC9P
z*el1Lh4cAY&+LH{JgI6_dO67n_G6%HFHv(8B|dsM+Ci5iD5P*-2S9`6=N*^(b+i)9
z6V~<x*?CL5%?wosG6%3eUGhQBb}fTkM*&dK8U>^@#~ASUNnRK6E4y|w<mTi#A8X)%
z4Bt<e>cgKbdxgAMJ(F=`x*anGy0~cvNs#?yttSwpS+a6~-fe<%`}VIao$g2!N!84|
zj;cFP6{OBR=_XNDvm+st7 at G$Hp6R!+pNdsZlOYghXh@)~GAF2l72{oPLGH9Ybf=ol
z&RI?IkZi0u98KM;t3uTU at Iks6AZ9Zqd%{lABa$IDJLGXB{F0J0;x9BA-h7z$6;leb
zJ9WEW)A!;Qx^Y7&52#m1G|6y-s0~_NqHPMw``hK-Fz94Q>!j{3jbOcA at wJ?)qgQW=
znFmqKDP|U9EEqyiKZNg1G8e>voB}^b@$EUeNXRtGWyhj|Wj at Ns3FNDf&J~aJ5&L at l
z^#KDi>fLhS7QnK?SbW$S%<j$-y0OTK4}p7dRQrDd!mmCozrs(|sq0DFzcfX44xlfQ
z#P*k;64Cp31j)Jn4NIed+gti(msGspw4B1^G|8#yiR-(rM}L3~=1i$c&>Fh51Fk6e
z8s}{}<8>UATSjhQF8WqwDHNN0K#ibe(or<^h`>D$vUU`gc*HF`@s%wU>UwF#mBB%h
zyS_=#eE~wG`UXizG+4IqQbdF$!H_wESr2w=Zq=ItPIWR}li+yFoTVEphK$v_3G#%)
zBCV9RFFnVRZA(k83mmNzwL9`v56MIRcU=zp_s)WQsI{_=t|efm+2lS^&{}fCgGRtT
zfb4JIP&Xg(&HVto^gbMIIX&N%%FwaPYOnjKz5uAMt|}X&&I<QplBt%?;;X2vc1BS#
zd<IG*_D1r$U11|Gx%LxqtOZ?tXw?X4{Fo(^y-p8Ww;<AWm@?@@;cP+2=Lq5*GCRdl
zx$qjZMA|Eyu6B000C#8;fR}4a6Y6kd;GxV>&ylKs<1NPY+3^X5&biZ1g<hA22B}Fs
z{hy*pBQ7mF^bqS?3{nC)h+i&_3rNTaT`m(7Al%SzjwRBr{G2i%<n3afd%4OrF2;MC
zgXjdEzfSpnqmZd-_dHVj9knf>C86Y<N%;}p=d`(!aKJFfe)K?mVx%OG$}1%;UOhoe
zRp#iM7y988n0H|y$uuNOs|?rZGPJUk at i)9XbwubOtjuTfkHY0>+pxDQX^nR at 0%es<
z6QzGB#yDJZ_hBgNGkmGijDO~yPC{&>=FsRRu)4viiSty@@CR29OL{gT+?o94V(HHF
zut;_G at S+X`l>`f`?-hC%!7h?aq}<Du^b1vdpK_an5MmFWQ4FOHz~?=rM=KM|k}P!F
zGGkmA++2^jLNYc#J|QyMHZYlO*0fLMED3j%Kj91#b>*8?bHgRy2vs1U_a7EL#=p8Q
z7ebta=)e~!P?$IMe`?gpeXyT_VDH>YhU{N4XUy*skWmcAUFa}R{ClIcRI(N at Xh=MG
zB3s3j&TaB(;<)K3`PfY)5^d64_~oKaLYWXgWpy%+<{W_96;(J!8@!O%oOj*}aQmU!
zjV-^b|2}Z(o^Yeo*~<2pf~Gv~PAF_mGLnl%$;zrYf|Z4V&yZxL&4mqG!|QZz1LdM4
z`z(#OHNS8#WP2I%n#TL=cDylX-<EYiL(I2JJ4(p*du`Xbysm8cq$5355^zbqsa^1%
zO;D?ha4o(qJ$_KW4S)^iB_4~DwTM}yl+QJ-kti~HCN=sf)vztJ(%Q=G951w+^E|Vw
zt3|A{)kKt5>A%dq&CsW2c>st}jZS6BkSG589>5~;4Q(IG0Ob5TA>Hp6;i3!H#)~Wx
zRO1YQ0-&hEHbePUIbPIQ at a{On)UzffMat8KW{_xYz&52!$kGx3+~$MW?L41IJwvDd
zKm-x}R7oDY6e;zQ2<&xiI_d7_jP>8<#;U~2k+b#EogO at 1)5Qc&V5JD%QXICSRP_%J
z#Tkj>&P6jgJgpe~m$V2 at t{FuX*l<8QNOyo#<*WIk=1UC8%$n1^1(Xq#H&6<E`lNBE
zi9zQrEb_)2HQ*pzJl8dsDZvbPl&N5u-WT|w0Lkc7r6x!lKQBu79_vK;?NAd8%W2)f
z(-iDUBdMK0#MP(8zg5koAYEIe`G|~28&nSIR_Ddzy(0g>joNg^c#;%&;hQ07Ev*%>
zgR=5HIAzkvd#SBQw})bN1O?ca<r57GSIMC#01KWzX$(@cZNnqm3LbT(;E|jf33qtd
zIy{P{R at D&!Y1d$}d*W;}P!UK6u~Oh`<mrc;y<uN&))cIRxzjE=wy at 09ourkHF@;A4
zBy%Sh;pGJ4hItt0_A?yZs$`n`{zVDr_xbDEd#T$V9+o04eN>9ENyt5}ru9CbLX2ar
zbWHQx?C7c$zB(ItYI|Q(+5g#eYXx8HjDd(}h94BN at n8h!7uoYv0fw#tE`W-mC+&Vb
zK>Rh6wAk9?^aOh-ni50;D!K}yrlHC at 2+N3g3Z5lPxY8YLjcsAU0w>hC0+6Zk at Jd2D
zyAwBisc+>9V|sxU9X+*Ng9KC%Rjqh!BXo>wJ*yo(_sn at -!AGl>u69H0*w?b-T@(Lo
zr^B#CC8y;}^|etx<g5xGn}=EB57wT%i`kA%UF?}d>A__l&`#LVxk47Mr*fGPXwAco
zqTIszgw9*P@=zGcb6XacUS{33Ldj7$0EfEmi1-;O0%}2u6yJdi;zzJ&>M{p^%1b}V
zCTZ-i6#qB$jtm&;y>MKHpeX1slwCI{7YY8azpTSKebAaZw_uKF|6yJGX<}%ECHZkh
z^O;$MdUQP)Mqo0e at IJy!vdvyEEifp<S%F{%&zN*tTIbYd$<1w*a}187nbFt#%H_V%
zCrIIy4Lqd*zEbV*Ur5j at K;4m%GOVm`W1JJF4;C?eyjWk7ICq;<{=-Tuaba(!mR!Kn
zEPt5-lUXrCp9e)6MeYmHu*EsUq?Fus34Te?pDYqB1^Kn)lV~@yf0J{tnx|4M2}Fe;
z>dl+r&&(J>Uu)J1NYxykS9zcWHGPd)BjU}(U-)}NRHqRoU$O%o3|962prfIrWOArb
zr(4|3W_-YgsYh7I`i&<Pjr7&0jd+6^xJaItBS4hGac#NKwq?v^?_5pC7XXnKK(aXu
z9z=$F at fvK^GQ1nsr^Ls(fz<~XsU9|ya(97J>VPBKc05lYZCzZ6<q%uU<4?9)6>e4i
zyXj~QxYW)ZrNK8hu1ohS0!n&i7Q at qP!F)^`juxaOZh)^Y!)P|i3`J>h4!C5i1p|=K
ziteZT10N44vZ?6!r7uZ`rrO|H?&A`?3P+(gZ()$2kOWW8waXgT7fue$r^;lxQGV-<
zS=dmUor%?(1l${iAs=fX4p^>sv!E9GI!$GD;g#6(j$LK2;I(YBeP;g1b1v3GvM7t<
zE-Kck0sC4S5li%i<e8HDOt1}GswRj*k?Rkm<`=IR#)~2BT=+G)zkx>ms at CO9kV56U
zt=Zgy?Kx;(bc&Sw$!1EP#2H9owzQ=Qxy{Ji)gZcVuj$e)-U^Bq=goMR!0n`oyAIM&
z#iP@}zg`!7rYNIm<&AUGo{Kew*}vRMhemswA4>39R&(ISIWrS#o@^f1-er9$O40b>
z$1DRO<x-aVFr=1{3-<*j&gRMdS`fygn63}YpUSaPPO*>oa~Dyrb&HO at Kv>c<RqIlE
zZ)7e2nInk6U&{)8z^Pm*b{rMpvik+b5E#F-i|-iZ6|mD0W^A8nKn%ww#AJnR0ZBSk
zm_TmN-G?mGf`Kac#n#AVaqdpBwo5px?$8IcdGR(WUJ{Z~I_R<$uVp>%(YLni1cpP%
zn_WXWZuS}?{v>8HSW++AW;F^w9ol-NIuq!>#x3LQUf(A$I5IAkif#W6G+N%g?XKP+
z+h)JHP>u)KO_TqKcf=K($rtA?wH5u2Q at eyvd%%5k_18<^Di~XcPtW<ERXq<c11yTA
zg#6|7azB|)!ZRmFb0r7!ydcnLW!spj4<bgldO;)O-bJglj7K9OBM at eoFh&Z^J+ at tI
z8rF$1APAKR;^bgYT?u<0Mr2?(EzRJ=#@XiNJ-kL5307mJ9gs=ztdHs%GR}qN+7K`o
zR#T0to#BtKzKCWjPl3gG2;8nQ<^W{b9?fB8ccIUjl;Ti~Uo{{=(>_udpc~i_Jf~wQ
zmNpHSc9z{wp=iqRxF(Jm{$8Irse89+88^A6$fmsSHS|3lurcC{D+=Yay_ou;rcRln
z=bPM$xiXhLA|u6=#y-YOh0NTZ8B8~(&{tX}_lfJJh+CQ;CWW*l|4dVCq86!cqxKPQ
z?w$6ef6OxO8573*4`zCHw=2t0?4eN;r{{!*)}>wCg-p(PZx9-rD(E1ID6w7T_TX_S
zNAk_FZQpufU|kOhGnkJ_g&%pKHJh0416!^?jvd5ph3&8gx_C4teggYGZQU9C!6y7$
zu;&ga7~fZv95lT4gG<|#V&(nWZUxKAq)!@OLbbP6B>c5tkyn5YFj0ze-M+F-*&8d4
z4M+{P)VcU at i#l0{gEKabzn;sNrR!cGF!)+Fhi!1C5(g)1P^lv<)nr~XH``O}7FRXh
z=Gnr#RO$QZSKT=FIea*vHC~QIJTN|(7^)p0&nOq36AH_2E~(^pR8_9zs$5WN-9*)r
zejCLd<D9an(IPGA87Rf%u=gdmf+n^ZeEn>e?0}9MH|~~!3F&~G!PpmNN3V}k>lH>I
z>a(=@Ap#m6njB?O$p&EzvoKdPsEW2Fh*=#XYnqtm!0%)A^>PccR=8lrwV^K63fj$S
zjG~*X?>WheF&h*=&pusSYW*dU)*ELxU{f1U<9*7z=$S_S>rH;$l5|p=(Tm)bfL76I
zA-cvRWohU0Fzq(tmRxBX#_E>Sz^_rG_hDv at M=F+ZALZIJmN0N_0njgNeCEu`l}it?
z`9wnHPjdwYIE5;@6((NXo4hR9JG0-L!(D+*{fC*5u#tFZ#dAY!BGkG&T2Q*HxNc|`
zs-=^ynA*7%H{BT&LBK#B3!ImH1)B!jhOS?va$Vlv5dyx_UWC`cO^0tq90QK8v$vK|
z|I7G#QBhl%A8DO`)6Mi1${S!uX&+$@#wu^~7<Ke{yLPqr8Er|rap{$j_0uJ?Jk-BE
zI}xrtjLF4(;10*7JKdkAhB*8yLIzx+T^3oczR8q?VVNoBN+{pJIi=W~?B9~)ZtWZ4
z4{9li&s2Iwf^bv_Q>Q-G5y+aSyZqAZ!pm;oDlRZM5zplv)V82s_9E>PRe)K*(WD8E
z`zq&xge%-)yI*prc+)Oc#qJ2V{Wt at SzrdNw=h#v3f^!dwd_Z*fdz};~3lp6UE{Dic
zit^Ha+4OWwR)ZQdua(uL2JTa$_I at GSOXl2{roLNT;~`J-3Ww at qO*vodkE|>dHHMrU
z-DOLRRIUoh5jsguP8iT7ER?&pXJ8brgx0QUkpD08BWPmt&qxJk6fQO<jNg-uh5|5B
zDppq-JSuPCCm=6vD69~pMy=|Axji`ia#_nzW#o2b4lA^xQ`Os4VX9UXG^t4NNN?ET
z<G3 at dj>o8vz*ZZ!Y at T0C(;jQ_#3XD(XHSrq1+TSEPk?WK_AFd9^$v7{>ZFc>J(wSC
zM{m79LUiknz2zs}Ir_w;7hF at uqTQ_#0<B6baAkvCaStbI at Qoq4tWAw>&y`?&u>TZ*
zY?XvgxMl$xW(VT%zhlBg##oCwYYl$NL%Ic-&m;(g|1n$ePCqEK7NRjdZ at K~77I>;`
zz_9$}^rDM5a?2b;dJ-*VZzA+^+t4-s&>86?;KGQGno?jUn(a1_Fp%Q8wgII;*>pC5
zsNf)^E}N5(1RTSF%(IQ%M+2ky*#!DJZssa4DfgMtR))93o!?)#x7fxovqhd=PAJMu
zMp?#5krk0E(kBuW+CIk*Y+<chK6v%Xpn!V)RZ0C==RGmHpVqe!DIbeQ0A{=d?8SNa
z?mhI<1F?X}9kmwS@##)F?5vxu=h}0_xVs-!u at Wm#Wc455yUiCUp?py(ia|tF$=WPi
zSWp}_-C8BIO&4OWx1;uX^zyzg>+2634oT&JjO<IXu%4s9wi%lv4UjOE+Y&&XJf5Zq
zcuSWD=pzE*KS!6 at V-sBwhsJc(#SOF^9`DXpRbJ4^Q at DSt9mwLYA&G@^h~kA#!t99V
zbt2VT9sE3EgEIPIfz<5D!0e6}r?qW;tmH=Jxo%p=)rvOkCs>-GHw$22tqbB*7lbZ#
z#;@I1cA0NHH8-Me9YlL|*mBxP|Nc8A+j(o<jE7*iGmAZZX;D<f*G4H$@e(paj>b&d
z+3FI-imD#lNGd18^1Ra54!=Ftxjuu&!1Afvs|O+o3M>ZJ0mcV8wb at KN_8sYiWQzz}
zQj`f-lCN7sWdYiv<=Y_q_)?qzIJ-^e5G0}te!=B-lVbUJ)g(jvhr at 5MZd}a{Gq2N2
ztKCw&B>y3*U`b#vwK~{Co&f~%%ATuAcIsKWWs_X|no$$&FrsDvSROK(E|lYt*R!>5
z`m>&}iDi3y_r3?~QG~AO$hjRJ`jT{&;f at UzO<U7u>cqd`$)&h`fmKq)PWr+LzPM>+
ze6)Usha)}4?``Zem#_oxV_JP$vbYR9Je at t#yt)W#KrMTlnwMO6wYd6E<!pQ&?iyd&
z*i^<E9g7w;7mBYEw3~SAiHi1V+RGG$F7?&B$%FC1c!*`F$hn)aJU!h!>N|~2-MEz0
zRE?pG3y at ZjTI6lr<L8j$agJ}aKWtogOpi)@8;)@ftLT$G9p=V8Vhjg-SYU#!pNeIB
z*I<E41Wpr|Ossh$s5djdr;bj{@CxG67GmZg at 0T%ydOW^;Is^#9Cg)npbpn~sp4Jyp
zm+p`xbA_8RoyE$FP=T7Sd7e?i at cST65Vit*iyAYGE^Zic=96GC4mQHGApDohSBa4j
zR_!NKVi6P>YXgY{$PkLd$=CQ1=4--O#cFFFt7`76h=_wQ<;vpZyR-M9?Y(-h%<*sR
zPX;7ukspLT3)9h(Z<dK?l&S#-h2bmdS-Y$uBvYAE(OLjtR4{a`-2l*O!-DptQ4{dp
z;~q_9)*U(dCQu&gPt at +fO{YBH^Oh1)MieM^TwyrcHeAh1rME|yLGydx(X%>NA4sEJ
z0R(|$EDia9AxdbB{)fDspfa1s{#&vb<z{R-HxMgdH-u~DcMcH)P7>n%>rS(zM;%pb
zUqJW)q=JC+RzIh0r;qAU;2r|zNbX^u#6!kRV6Mg*2n5lq*dC4Q3#YLgHG6Jqxla_m
zxJ2>p0>_?1ui5*0Ph*7gY^ulwZV>TNG8CB+iwJLx%d&sIt00HzItq;w$>|7FTJ%$D
zz`{87!_B-6y-&Q1Cul{F=-yM68bzBnwiJs|Hf0L2M<oZ!d*f^t_O!I`?y3Y5ypW2#
znC*b at 2<O8iFzG%@MxN=`|4e0)j&7+NTw$2NAj|8fga6%5%kDuv?rY+K5Fp0sUxfTu
z(H9X;pG$iHKJ4~C7<;E4VVE$1vTfV8ZQHhO+qP}n-EZ5rZQC~Y%O;b|#U#6RSO1`J
zo^uG6g)x5A#x7rVerTPEl!y7(9<?uaOl9VNoRMx^$iNhD7LbVziHpHF<PUs%vL?@m
zn>1w9h|yJc>L-8B+DxN=?T!lc1Mgf4$?FldX3&dD!9zEtN1;COAbg*-`27b%v+rF#
zONigv!Qb~8FQ6lkH2f*^p}I>2!WXxD?HDJ|aI`9mRFW%)%RtMd<6s-w<@Bayr}{d<
zvzkjGHe2MlQ?GB^y-G>mCn7n0pv8Ih^@TaJj**^#fUPNP9P}Va(_RR}3aE*#)5=n|
z8m#j2ZuGs4Cm!m?3tIi}NJx{MDh1aZfQ~RHn%A8cPi9+?H at RnZ9j-mo0;ks<1eXOD
z<I{mCK_wg_{W7<F&yCNk?N-a<GahuHyT4=RZ`W32>856~egk|u%IvhGC*`8WU0|*B
z;k2Endff1!*)bZ(QkVv$#V1P-+x<f`VBrARywVS#AYsV()$-Th_KQb7{wW1F67YpV
zzB{%CIKikF^IUj)ik1j!OA{=x4XHpP12MD)pTD5vn-QCwV at CVao9S~%gTIGTnbvdt
zQM4m<<szTSeZhTn=R5_Mbjop(NbC#+Y9Fl6av}B7M5Pjw<co;Jz=tHyrbG!fvbpwM
z4|Ey;_U4U1m^JlCW6No359^a0Fy!Vyh;0Qq;<6{asG4vsKdv_;rCKnQlN at Q7Vi*v_
z^z9vC>k&;z%ypYw?x{$F621^w^D+K4`wO*wxYYK~M^N`#@p0PH&rSPH(8C(d^U`uc
zpg^#o6W^`X>kl_eQ=oF(X<E!{2-!sQ3jUcurnLyeGB*}j`&-VR6&)$aT)}JWdVllY
zp<B)*G$tvBuI9vuEW=w6@;&e{IyYs~Xq3GnU+91#H2s7Vt(inNH0F>>uy2No at fSeh
zQ{f33fCLQT#7IUbl)?fA&aV*t^Dm#nRmn834Anuw+$LP(vZME>t|lJGw at 2yK@xm at c
zrhiWUb5+YzUt`}M!U|GiGbg;}12(FmTlzKSjbWPKBQTi-Y}!dGUOw<j0y8p9*EH&}
zoHL{Gm_!wgpe3t~T*~7)Un`O0KHsP!bOMqf8D5R`$Tm!7ioqqp3et07S5EnD5sTmN
z6+P08I0**=cDi7*vs82?f&7Ni%qQdIKsf7Do_>I51pQlAkCkfZV-n+SkQ01MT}!*g
zyEIuRS;V!lTXfUgh~#oNXX;iY`-a*`-Z77D&f|I!ogY#{R~CN;`DN-aHZDo at zr{+A
zsl8c54VQDn_3zcFrZUd&sh47kg8j1KyR4O&KLI^h8rDK-2i0t;SC;H!XsWp>?YXA^
zmeTiFz-IcE1S at D9?cRD4gtACsJPkDmF1kR_(<;A&E0eQtSxl|<S*Fpu5Nqg+mh1dU
z^S?Nu-+3NwH9_?uPG)i}bp2ECW#Rcgj?9|!g)l}fbrJC`a=WK!y|bPUjq__jqORkz
zNGBtaIJ73lQTi{=BxRgZL9_l9Wa<FvUXP~9ky1<!LtL21waw7mw?<WB_Jzt-?V(ph
ztx|8#G;ZMQ!$PRvN74?h%Adog6G9{ti9kw{cgb=$*FeaA-gH5Vhg1`p at C<Q?lNO%D
z=<D5RtdaH{JGBFgH$eR^n#j=~oBYi>uU>f$NOa0uMf|$Eu5#KEgx}oH9&d!haaqS@
zzjW>{IsC_a#ZINQ7E*yxabt}?pX|cDpc-u=uES>WfmmQ?H-6$<$2&W7K+o;)_kc{s
zT)1W!x1HN!onY9DMCHl>1VZaRVsMRyq>nm#wif-8*q$`~YBzl3+nf!>HDD4~HmshD
zIzzOp!HzLQi}+(4Q<(KqEB;6LcQjBUb};0 at Mb65x@VbY&oI(dCAUy%(!#*3bxb?Ag
zMrm^wi;+!3We%QGMOzkPtA8_k1M)jA-G<$X2=tbJ^d;-JW~uS$;+_L!g1kO;5MwF)
zCl9~@GWL~&Usuj-H&D}f`F{9I-$kWEYYZ>MCYcr{IHiLvFf3MU2)Hr+)?3K;AC{nu
z=!C}|!&{{A@`bUU13*KOsXIC)TMSezX|QpoCJj53ly~}L`|O(zT*zTM7rn&Pa<2!v
zRh#6gzUf1xMV0G&hmvqO3ov)|LEOhF<elV}CBVP*ZNI;JuNZbV+qtdJd!iOa<7XBu
zd`r-;v-3xH at D!kgUs`#$S1L=9eIF90bMl>{^VZkQi>;<ZO^2MbeO~LI+?=>4+GS!k
z2`Eew)m(Hi*sWX^9;tuwcNK<NYwk+ymrQv5gmo^_`|C!3ZD;DLLYNY8I}K%&aHBC(
zt6AA*T!AK7rF#6INu{1{?!7nwoWj?nIsPfLnq$iO(3$fpY2$IAKQK4x5~XIpg*Q|6
z%XGQe$I23F7;Bx{P3t9ckpsKmnH=>@mdg@%O}Mcs-{iI-FFX(l2U%|JJ>C75k!=Mo
z*KV;CV9Jw85R-mmfQ(u}#c3?>avGXjsA0CB$v?aFraj3*{Ys!-HAUk~V~m~On2l*V
zgut8zt|l1CpD_#n=W36TX>-&*;8>Ab$~rqw`vZ`GsTU1nvlE_vf}P22>1Jjn&<2lQ
z+qum>niKtiUbhiH4~Os|btlgVJYdmCbZ;<`(Kvq4<mr!b at BtlfUZI&N^A1n)L^_3k
z(w;+y=vL-vNW256=n)07&sw4z;-#B&8trx=!5scA3hB<{lVMl<9kzj^)uQeV<9h)s
zW7aB7u4Pq(%NAI}LHRnev%SpfN03}hC^jwgnpA{Y#7k!)hD{<%N$J{B$S93E)o?Rk
zl;8oWc6u8f64&vJb;`jcA?;hNb<7ip9?l8Lh+E)P58sF01K5V|WBm-G_PbGE3rNHB
z-pf1jr=~tzO9WIUUYZwC*+sR_+IS1^$N}zC4C>i)pviP=u9`qrEZp%DeCdGD(@Y96
zl2ZBlWHlzJDu(59ge05DWC?}Ib=~s66jh+xw*zODzOLO8Qrc6?htFG_ZuU;5_pN6G
zLc4poDlkclP#tzo^H(y26;6``C{m}%!}E?kAI)8UChR+{y(y}g5|elESPw4hb=U@(
zopbf~!>hNx6^jL7A;JVc0hmqD<EC2F?PS5fz{}K2b!U4{vibfR*HTy at 2ME2+q_b1&
z%ke5XiZ9?zH at R`3zUD=<boD?VSF2*-WVTP(Mq>Kbsv9*oHM7}7oLHnwz8b&@X6%Y#
zQIUGeQ}Ow}!~mC at e^jz^RVb){)O&HDS=1$yADnt~_q^dRNP{uq)%GkLRUW+HS9sJ{
z@@gJ0laG1frTxMX6}akWBzo^jax*MCq~Ug%du=9lh#o4ow<>Uu!tC|kCZ+%`lRX_d
zLkDrN7wE))W3qa9R~0n?L~T!?M*_HPF<SbOvC{$(Sl&U{(qKv23%x={FCioU*4Fj@
zFP#kA|LVrcnA(}USo~LVVPj$cpI{3U0S5;M%m3{Dw at rqVlkNY1$)yccCHn%6PR5Z^
zj#4WKjl3Pzo&FYyK%gOnq#dQaUAac!;qX?gc_b>O6{W2x^ibh=F_V+odG at c~^=?vY
z;>%|5%l9=sB=fg}E<J{J8LI}uRn+Oh33vp+2 at 8v=TL1uId=3`m at qmf>N-$w||8Lwe
z6Sm(01mu$Hl^&Xt10$q6eIhvFEeuORJ)o+KIUpUspPFQpng$F6=siGS;SWRTzzD!I
z0el#(U;tJjv at -~?ecDMOgB{1{E}(nvDW5oCB at DKonu==rBb-}c6ci?WJwOK#i=YH}
z{e-U=b{w++x+O3marX~3=p_>v2@?6};NkiC7_5V!z0kp1l1(mv9OMFE9+0 at -0ltBD
z-+c-|HUav*ezn~(6VM9|VK^U3w*q$&83Y{o7IYQ?yMg*}cVuS;4F-JM9Q?eh0=U`0
zV2wX^<&R|_<eL=-fS&zs at 8I|G7Z>92Gn{#R6zmcRxWh|W=LXOX!JI)rS}_;<BJ>y}
zK*!b}J17Tn-rGL`9O4kBv6ub5*abmAQ4AZP^X|U>7lF+I0w!`_Od!YqZTyLQ`X>Wb
z$M&Rvj?O at x1nAA(_Yr|({nYPvm&aeXE}43HY2}T79PZG{`mGCA+Z`jmmwI>xw}$91
zeWnNE4L_3?0}=rw3gRgm0;t~(pdmdLc<v6wYnS03Uut*n at C)zT*H8hY|F##lfqxjz
z=P&T;zjkl{phP?O`rg}K)Sp;;cQ=4`1T2yPY- at P?;V<%!9!%>O^4=al&LJoR=<ZTH
zI>7hO=a-4!9D{a6b<-RFslN_md`wYXP$JiuKJ8y^N@}PVpijs92Y`-GkN^O^f&d7C
zkN^GO9mkwtLf_?kdVN$iF3LUk`kmJu_)C5k?=KPHl|J?$*!!J9*1Y#+5Ma$8!ww7u
zM01D#(U1S>7e3veKg%EP$=~GjU#-N#&c+8k?^Qn7e?81`(8KGW^buayoy0fm0>B=9
zu(dx{R*=7rE-VA>h_0zWE7gR8FV_UemcDWp^m+hxg?)KWkV1$Dpe?>|0$ZHll9_y`
zpFQX^7)Mb4a3X>}e8x9Df&IVp+qUV^i(kf|_OsJ`DuhG7lLUXAV|$oh{i?q@;eiz}
zt1s`bcaTs30uG$xSa1K2HwlFODeu0rR)c!}b=ds_w@{)xU4S><FW~C}hwVLd+CljJ
zg&*2a;7A}q9<o0IMS%F3J&Akv&OOojJ)~Xlvd4fwP*6ag1b;z8fcT}p0*HXI4|@ui
z{D}|u;=l8|qpok at yN&UqPx(i0^L5_H|E^Zi at 3&0 at zo~KR0R6y!<iEa_5atMj2lkME
zJwLo(2?V?TKJV`UJbeEBe^^zq+&F&xFZ`_seusYp{ycmA2J{WEw`-aeu^tu1x)x)i
zu`n&<YoqVXF~QH!#C&xRLeMtH0fQ+gQc1U0*PJa(BlSPsQD|{HS&eq+oYDF5zH3((
zSlytr?dK?M*B3R&W_PoA(<EPcOAOOUtp(kTGReL~YC!k`o^sf-%fZB^*8BxiGUsp2
zb$8N@<j|UxMGaOO;b!XcvX-q}oUs)HyH#+FD_$D*!uKJEmbX>XKI2+3n#a^LGGHy{
zy6Nqbc`G7Q!uVllkzbbH#lb4PLF{mugNegXheIrnKpHDxPahy_9i(_&nIyfdQYDLB
zt-vSJHkRnFS>kY4;$5fDHI%%AaB7rpjNRUR>CM9po=h7q9(n_2DK~975M0ftgcHZk
zA%gl~A|E?OCseh`Rw5Z$Z`(3^$B!*to7AXFkpl|<Av7eBTTw5(e`2Sz8t`2X%dO?C
zmcv(2IL8|{+`n#wAHg!S^=ES$LuN1^GNOyPT+bxYXQIMeK(P at Y9}m0)7pk8iJh6M>
z4N)<3KE5D!Pw`!yCYq<)RmHl-l14shS7$#=(0e+#_mAE74HFfyiBAtMnw(G7uUd at i
z_)dXnAL^ej?GU&0{$z2{fl+|xPP?}*;-RBT4sD`LDt_8m{+^#DK&%63r7Fzz-<Kp2
zJ~jxOfrIf^idZPlEmzJ>(OHo5!=bG21}VJ$Bz6odw)8A1`~l%qAE{5b<tAIywF0Vu
z=$QNGv2gxNHq_i34fg2be4blekrWS77{k8CLd2%J(pmEZ`O(kV);N9)nXeAxZc08f
z;nR<j)^;pgF0?Pxze90Kkpwn&3vGK%?(*+9m6dT#q!8yaT{IWBHFpJR at o=V=Fi`1r
zV8P-IS#dC!=dYBCYuS3{J=$Qnw!*R~h+2_0g_NPw;H^I5wRwzLH>pdLN#&2f<>Bjl
zdgO2z<w!2q?8}c_St_CH=|~1{Pg?FRX4Pqd-!+{$M$$F<4KH3;;W+CVjR3gHa91%3
zAwBfhj*?5b6t3ArkD3g6 at 5%jk9c6CUX0!kW`b}x=z{|5hd|+E++I3uGQ#;LR{|qiJ
zz1&pr`<jPUgdyCU&MCCF6~xkP+U>THg8Yg2b}8eRh(@_6pXSX=P_aYUk;n`vqdQuK
zqXe1$tR23i-U5uB;ygY9|BEmi<L-fDuxS6PyLpmmrKcZ*cg;<{sF%5%dO?}@#AR{~
zDFX7~^xdznO}GPOUWh=?5?%3$JxMlnCU4iQO+JI2JqfnTKFbCkwgP>CdWnYUgN|^l
z)$xpD*e)M#oSBbs`jFunVveXJzwdJc;-Oo~(|f{61Z{)WhO&7WtJZ0atwd-Hmh|KE
z=aNfxZ~wEl^>RC}aKmMvIbJ^WX&txmJRCHUOCjtWUBORkdsv4o;d>0S`eo9!Kjf^x
z8zWGnVp{7SZ<ptca_(LA$}Prq%Q&e1@=Wbbyj1R at q4)N3;K%4e)BRHD_Hq3!c9c}2
zig2;(5v0GHVt5XZGe3Qf!mt}org69eq?<#OGuc9;m8A#mc&q<G1NxiqhB!XWQS_6*
z4tCg2#Ab5YxSi|^H*sbPttHa|(N#C!q*(c4oM^HU0nRtBN)sKElE6lEo*VM`S+g~q
z>P=$)$K#2*Vt=AjAdTJccnbB$-e4bZ+xNwl04*VwC}ODTF^P^Z72G0k1Nph&CV-%Q
zBpGdbaVth?vn~wL$04hma4k>`L;Jo~PcBSe4!=N#Nws3r%1-O(C{I$qr++0#P71YQ
zDWSa^uj7dh=4Tp`XvAcC9={Y21$+gh4{i07c^|FVZC8fpXI8^<G3D)OZd at Rw8B8{8
z1-WL>9w8F80R|RElVW)r_LR9LAV6&nH0F*3-fVmy;|70czXFGL-7{&WZ~ZeZ*NY+U
zmBglGd5w1O+{pea?g{bfoQ at ia#$PvKiU8!wf`A+l+s6EZJRh?A_)#4S;IDzToDknO
zX5fo`LWy_ at i4h5c$2mdPgVXK$OL&plY|;E=qq at P-YKE{g6<m_M%<rI^7)=>XIF%KX
z*Rn7ssi!@LMXARx(r}}(zWBEZX|J37C{y5srM%B{WK!w(JF6JRJ2mM?CDc{Z3K!n;
z-t{h_5X;ufr(1zD?PV>a^<5+nCyLTNQ)DrT6`Spk>z3)DNy93K2rVADDSv0t#8U}1
zM3mRKG{~m&9nq<lrG4oKsly>3<9aArWmJjA<NNMc_1yTdgq~BNRY&S-44lk##S2)B
zv!qz?RYBZQG8m(*Yk=FcAQ0~*q`owgT`2OS&T6h{4G;@)M$K!QWw=(UeOKex at Vmdi
z!%8Fr=F7(og*7VAerqlVUcok}u~+hH39B_<V<cHBrTAGgN4<kFJ3|~r#m7?lXkae1
zKptAzPOb0<9gjto^<>UXNZ)qCqlII?%_aZ0X<%xa=jC=<ZNFM6H?gud+On%qA1 at oH
z%CF~%x_seQR-Ea{-q^vHW;MmQ4y9&W<l_`MA;>Os0|GV0O!}6I-y&TPOXB&mAs6a9
zupFlZq#7KO<DV7VadfstRb<lESVcyw7GuXuhx~~#NzU0-<=Z}K!{Tt$6e6Z&JJ1w_
z?uD{?`OA}Z6eLIDjdF&xnfIa9Hh3JgMvqxJqQvifdZnFI&7Ur1gY$W>p<HLBtbTNj
ze7ukRn`1%+_^?0xF%=t*&Hu5%&&`DO+LN}2xDjQ>mG#O!S!k~oqxH#vwc;e*!dsq4
zWA_2Hrp7I+8d_ONTRZ2G at d6Fn5goUMcHtRVMJcKjutS5GMPaVhq40BQEWKMDbO9g_
zp!apFjioCGL%HiwiD1)xq?wr+NNR7sy3hIoUW+{b%EQ$R`~#AN at 2$<jn{q<8sC<3g
zhx9xyg4|2lT!e;cwc$KdI`cY;uu5S+#6}4rFqt8b(J<o!WxtE~AS25Usp`PefA2ek
z?K#bjRivJ6Rp7@=dTv{BdWOv5+WmStZ(j!)sd`Rf-GysLpm_3>>R%^ruf|$nywqG*
z{qTz1w-PJ9OFNB<SM;Ya)ZajJ74yYi$%yVmP3+rM))+T;_EMf7Stv?@*goeHn$R6P
z`va|ZvznQ$NYP<SLDhAf+?-}pFUu5XPBS0^1=1<;P2`I`(8Jh)dU0-W9zd{=kly*N
z(I(@ivJ{;SIAgRK&$SNla{gn}C0H-Z=egRvuejFT*|BkLpYXBX7&+0#2=U!pkNc0X
zT7COo^ct&~d<?40zGI%sF6&JWvQ<bb*oSM0?eIVqBZPZOSw^(c)Z?;(M-g&wM9XAC
z9<V7oUlS;`!nthJb0;+56r!47yChkqZ at SfFRm&-GyA)~lMtGwWo6e{_?sYY1fTg at B
zHCg}0O1?^`2)zWI7TPq=&hM7dGW(Wr;M8Oh at Th%yJiADB^mTX;NDQtTj`)Eg_B7el
zPDIDVr#H`UPOR-_5yf0%4x*qxM~3Pqh}Jcy$7 at -LvRp+5A*1Glv5l<Ge?lIoAnZjr
zqC(v4!pCfU(yC`lF$Ns|g)vIf*JppH){l|-D;1$-BmIbMV<z>uW7r(ujV*7CVPGDI
z8rU1G?Y|SLAx^@gsDx^v)rO4R(+f<2a-W64F~UF7?bl7lX at 2~*Yg{EwJMgRhp_617
zJe`kJSb;Ba9DRs({~JRvt&t}7m1SLSWOl#1c3=ICWf2a2fFmfq#<YaFo`fN}vv)?Z
zC84L4k`uI15Q7g%5Gq0&10 at P+C6zc=K|^h?ZjJGH#Xz0KjQ|r)X28szoOAnQrePq_
zwm$7R=aw&S&<c4e|Gj#TaQ-5a1$)KYd(-flO0H_uAYvolTo1z71`nTuQkSt at j5yhL
z=|We$JWHgXp?_ZgskH2SkBIrmk<ST2q|UTwPzUKs3k&X}Go=e+k?EV$jGsW=hR;ut
zybS6G<w9NrS;}=%w;b`M-(wLk>ZAl$_hq=ax|goCm%8 at f+^hRs`W2|-OH$d|Z;UgR
zcZX$EU0Zj^J08R{TI|iWVHsx)4w%Q}GCl~8hL}8EL~8VBSXU|ek&zD(5_4zBH9%D5
z{1&BZUG*~F&uImnm8=ekD-e)HE{0sNd5oI+AaEQPV}nNACvl3nQu+}+40Gvg8C1rS
z>~o8_wZv0VaLhDXOYlNN0HGw(t1D`i^y?*~#g at v2XG&I*1-<I0T at yUKL-=-9<SW;`
z=UzsJI#9?e*#?seZ at gBkp?89=R%UkAa(yUulTN&?^z6QUMW^m)6G at v>HMbz~f5>3@
znfpM{Vx(-SNTk%;N*(a;HED*fqKBO{EmKLU`?a0t#L+L!hpXrMV0`_MFYk;pdS+gl
z6pcmAw!sZU8(!tdBR{;B!YvZXnq<UW?hAS+HI;ofaHT3zOYZBwQ=j6`MZuX#sjtAz
z3&@E=GiPLKqQ!^MKEF#=>@s1Q%fYS3oG at Tc-0^l6Xv^c;hAI9jU392F5i>O}&145{
zmqPrbdm^-QH0`ZwnB}58yA9*QW=eX|PB{}jBY!ry4zm9*#kSi{&!fU49Jx9-sGNLe
zpX2vn^G;`ICtoJeH2NeVd^85Ou=*M$l9CZgY<Prw=MJ9D>K7$juGg{KZQQs3yIqP_
zLN7gO30x*tJ1ZH!P|gZkGj$}x92LRu^Ke>maElQrmu>w|nb?rtJtKb|p_#z7qvdM@
zT$*Qfk*5O~&*4v8owI{03EVSw&ApqH<V{Uug0GJC=aIJs<Dj%Agkp(ub*@kss*L8<
ztZ;a#+7O)MfYKKN4!2#%$2x?-VbUR>Yng3d=K`%Fp_eHxSgD<2rfXLP<qEVil8M6E
zJA-3WNjFbPk_Gz9PQT)#e`(9da+Ss#Z{Y0o at kos-{7X7fYiT93{qCYtuUddX(L?^W
z>m6z4I~cRbbegVw=frQzv|bMt95k{pAt_z-RPxjzKu;;2-){>(bzlEW(+4_5HRfFu
z at f@>_8 at P;vwcdfBbfbOGqwVqvgp;<Ibo-CU@*6=?mk(_j7w>Y- at Y#oKuE06Kb<5n*
zX>4Szn7K|Kc_NSdlX)o&LX at xAErkklP6_9NrD;6%#Y;ROt)rv_QuyEVBSG-v!N{N=
z?g}sqX06U at mBX-imzLS;hkk?Ohy5gs4-LkJP6Gu`OK?Dz#8nHjpBJQisPWBBiu!s@
z*W=vq6|VIsKZ`!Cuj)qov2en|DLd^?l4S$Dx)k2hGHz5O=5cn1-4_h`0i3=D at -GRx
zIU#v=8&Z#|Fxfu<`HW^MZlWnSw`!9UX8rToc at X73wJj;Y)umg>RG9&frCI+&&EYb9
z!~|ZVRxi8)Z*lU%RtNG at hmK0I+|&`JIY%5#0CwZUAw#AgoS`FD=%YKK4PDk%f8_(T
zpoQ@`t5k6CZr=2PYME7ZOdPBLvW6i9cuTqm)Tr5<T&bE;-4 at O`@ex-fV;$!tqK|I!
z!RiU&KDG~j%RQy7-y*XD^g#_ep%$d%WGH2XtH<wqF7qUvfiMty&bIm at d7%>*?nV*U
z at ymPPD8%fzwE?3=Hz2J(^tgSJw;W+gVz=yWrW3ha^?imaSz`fv>JF=gp_co!-~u8>
zc9+KiLvZ_+&@gS$2lG+)4*a1y;Lq>4$?S9ovj|D~XOI0I_7RsAaHgMCZd_qd*uK?V
z>Wo}pxq!?9fZ;cjk29w%AS*LjXz^?%s2F}%o$^^_OgFV040I>?q!QPsx^I<-^;@}=
znfXe_iEmEjGM?ws<NSZ1aV5AJ=w>@8zY_nA8dPcMZmWHAh-_!a1TN-Ojy0DSIkq0+
z#wJk;(e)P#Ua2o_&ty;=l8UfK1V$xB43p!cJAU4SB=v=UOn)-5a<{zz-fGc}NXL;M
zBE4&#OYP}(-y;$tt%eS13|?gr<;ty%m8>;jM=uo%Vg=IgmGY7qe=C5$ex>>u>Gph*
z0N)WR at d}wVqP<@ZN%uuw<kHoW+eq8tvqzvPCvsS7byR>N>A8y90%I&Vzw1ZQvV)V{
zCPmtD=&8zEM%sl;y~itcGY)A#v=SVr+&9Kt(5{VH#NTOp5toGG9#C+%krAPip?>-b
z;}!FwktU9^+zxB=omjJ{MH~JjHBNG6Ij5VMOODkTvC3>{ga-op2n0jS)!DA9e=&gh
z9%5Rg$=+Se{W`8*8sN#uFs$IURLE=cI3_{OL)W`}pd6#%>~dHNd<;1WeQiR9(t{6C
zGq8@>4gR#3%Lmclz#^<$OgXX=w#kJt9K^QU<x-vt%d7D?kj!x~_3jqwQ_CWFs%NzO
zIWSIUbXMXW7y%RfxiDhr8rCYz%WO5X!2fw2p!LxSDo<<34pmp2(;xUY2mi}1Mbb6H
zLW at PaTL&`k7(~IjnrcZq)PTdmoD;VKZ9mHe$eJ9s$pHc_bk#B!_84ZC3EYB?g-=sC
z^`d76$}96$S^7;{d>wVwf&0o(ZclnFLZ{z}uO1c4h2VWI5rog>cng>BXJBNsdc|$|
zL{)9Smr*Q53YVOdsI!r|QBrw}6M<&qp0Y^DbLf!hkB$HteXcwiusd6JCvu6;I==+t
z(#BEoXGMQIT{v#y8r{{jZ%CGYCp50$v at J^tBmovUI}OeXV;p7<W|L2eBHXP^d180D
zc6o?OAr!A~m-^~m(MRgL4}=PXL7z!q+fpk)r0kaXeF-d$r+J4yHIO_Qfqqf5qcj)-
zS}Ski)TQnSrx+NtGw7KXdQ38374=}iXsq*etOBbvuP{ZGV|JzJuRR$#PCb6feK+3@
zRfIOx8;R(N$U at 3Ifj8jwou_#oE?;Ljc5ne9VhgccA8-u$m8$J6{_;|T-+B7d4$%(L
z6HOOxK=83Uli<x1ou22Y>LVsbY%tSTTd%OA#ze*ptO`pFrT>ZkOWuIjm1Rt12R)X*
zS!jz+Z+Iz1+gLSssmUbwpAj_90$yq(DGs?``wRzKUvz9va+unK!}NrTdtivEdFM1u
zX$+#w^q at dfo$5-t*Gfyyhsk|Cod;l*D~y3_knFKN{Vk3K*WvQ4NfNz2Qs+=E^&avG
zqQ~WGh1>jAX$Rf$u5Hdo&zS>j(){uHlG66Bu*`nJy3!%gOdx96Eg~^tWXX^*uEhFG
zLeo}=+>x at 95mzim@$aC&e_g8h(b|Tq8MCv4TtU4-E0uOgNS|*lYG8HLuk}wKR>58C
z8i6erY%Pzhl>ekWnSvMEdJgNFYCnQhhl<YvQ`LeGq2utcJbz&l9o~)eHusHvPy80(
zgaxzQ>1J+l9A_+dF#BkI7W-!}So4CLsCK}HeB^+_*3+#)DaFDlg~5zXg at zenL@PZ+
z{bA-2F`)Fbl8Q3Jt&Q|b{VzguA27e80sTrZ8vv&MvO at x#8<xHEzgK8Dqv6jDOP!vM
zPB)JGfS)2sTmBbj at up^yjBIN-EjHXfS88!hQOStBS2KqB58#D?{Sr-pQn)c<vUom=
zEFZ<u9N%}O*IM`a6S-Zqi0ABlYdfZF68p{UEOLA31{(Sw9G;>R&?^i)UU4QqUZ}lu
ztJq_|f|UAuU~P5RK?f4o<`^kteXt!9S0p^Qj!v;Zyv{wLUiI+=Y$KOqj+HT2$KkZ_
zSrbE<2Bj<TNbvJ++!R6d?qq`1#y!krXVA#^2KE2knf9SjXaA<ngYr#=;%xISvnm0;
zFFE+-yJUHtRK>^q9T9a&w^ggBb!Sz(Ra_^_tJ5t%BTu(ufW-4c#K*N1W`TJ~D!u+l
zJxn at Ji+Z(c=rKj9!}uLMToWXU0 at Z7aO=^qt at EedvX-db&psn!Y$>A#Ja-F8n%XaFI
zQcV%PLJ|xb9S<?!cDx-~-*-u~g*<9y?W2<~)!vVp(L3^kVb=;Qibl^kNT<ULR78~t
zJ3x9bwj%IMW$g!o+5jnHgrP1|1A}8cMRmM!3D|SpL&D`)2hodlM+d&{`oJg*GGQcR
zHPkS>uZ^&4&FQ=amW~3{{)V}mMBfwP`ik_|0gnC&{_vSfEUw#X4zbngsC*W>W!|a4
z+1|R{g7`6GGdqUem0_Op>^AY~GzM*|ZxUH6xg(nCm-r&tI$q4}J=J&mwMmrL;}R&C
z7HBFv{*l)GI4q_pZi(T(iO2HLqHjZ2SH4<PW?mGd&&26>MW^GfY!dgJj-*jSL<de<
zyXzk at AQ#3*feJb9&7gRROE)XG at p*MJurmLY at i^-64_|6E5rbM0qeghEju3vZJmJ1n
zXuWUUMYobSGX;|g85&VPqLNY75^45YNXGouL}VJNcz+tJb3O%1f#tgq`PtoDAQ;T@
zA8zVFl!plq5MN(jthApSUuV!vLIoNpRIa~mYa-1I>@Kqc15Jo{n at Q7WO&!gxp^Tgs
zQ5XmHN*}uvm&;$ym#z9+1Xxo9g}3mwx?*`!DS_2jUI+>a+U*!M1xA0JEhL4{g?>?A
z@^g`!@y{b<w!Q%HNklnBX9 at 8LRR#@as6hMnShUI{<l5-RDh`P0s~Keqf6MS+K=hS-
z)4b$HY_LbSJ6`}D&>J*s{(NH;bd&>VE71p>B8D(1p$E1*0Od_o7Y7m{=(J^N5|ZYj
zp|jmK-F(O_Yk^Np-D4U&Sc7_-El!js=eHzJA!V8Hu8As&A}(-8$$fuow(yz%cYOhC
z+Bm8N`Ne&Xdl{{cF+CLF&H>-Lp0ETdCzEXUs$tGAvQnMfs$uhboZ=$YOJlvDY!H~y
zG!^NiPceEI>vxP5;uq^}C~s8pzO1t;Xp{FydgL1q9TDjADM1t3V|88nGQ}Tp?zU5<
z9(E$(@i|lHC+=7y3C!e1+dWu!HT3OzOe`SQzm5P+F36-0i6=l$f#QaVr at ntUwi*x+
z{!=JxSmOBj>_%doK>e7fm?p;=dA3|X>xSA(pywR`dAdj$;xlr=TiAEq4W5!Y$Zl&r
zK+PX+iN`Fh4_<qGi$B6BX#U{a2v261JYFVQLF3|ZKQ>03TL-^uHMAZ^ni-k5%;?%I
z9<%>W<Fn>A?Ee<-z-10SI;4=r*;pppyVb;E1mA^KVYHHdFyr;48^j1r!{5_uMAG?Y
zrY78*qC!tS=zJtsZ&jglHa4CO#tlmn;d3V*smqLbE at kKU!ZSU&#fqKc(_kG*q3!l#
zaoHuHc_gM9`@3F~$E64%`~*vVpCzE%?fO(yG3GN&AE~^O(c21cVbFX21W`O#sg4Dt
z{~onUb99uEL66|gv$w*8ic4aBs){mYM=BnCKV~cyUOYC_QJ4PLzcic8q^zzXDlZ58
zq?75Y-{R;Y1IIH?n5QP+33TbWMc`22wqGmix?itht{*g<rB#$GTuvy=7#Hdz`Woj8
zrHEgEuIUdYaO)T88Cyu+KE>r_`mz(Hf93EMSA}5ihWA}&(RWvT^Sw&uW-rOtk)|e+
zbzwj^vw<ADOM;{q%MMdx0&nrm=QAit#%XnXUj!wqkU5JxWSi!jE83;!`uMcCAB=G`
z$EaKf4;M*gNKZiw$-};sqmycx$vw?DjJxQNtRXp1 at EN${U5ub at 8LRTs+~kzz!WC+~
zTvQPj?P|Ozj}${TG4nDh<Wm9o>pN at dw=%?aIJI)gc;el^ODKPRrNv0xMVd{$7<2Y|
zEdz-7%(_GNdiDSh0n<yd0$LaHP%%YK+IGTC#qlYRKrid);w+hH1}Qmaic at iXVS(;P
z%++-6du1+Qz5C*a$#sP<9K~-qD*EATB+JLSz&+kewea9w5F-oGz;x^w0C5qjEf27b
zGv`5sd8K1hvxrOJrP}D-wV~x4HsX2N;qkVK)mxVjIhw$tKjV}M;Ra|s(f*ahLIbPQ
z%YDSb#{75 at 0LP>mi at 1g)!JQn{+lM!B5 at wjs3{yA-+mzG0XmKPWlp3mLnmAUR8cn+h
zb;9XEMnjSX;ni=g_PzX1BPyOv3XcSg;5YsbT|ciGjw#aj!j8=k0ExPx+Yhe$(9dB!
zEiDae!_LR;!f}L>(I8EnCL+l%$u^F5b^#5^O;KlpGVM7fAvwz2O2ZlyQFYbb)65)a
z8<_K*(FBdm6gL&;lEbU;L;;K9S4X}D@#}$Lv??=NZ)$yL8xI_*avCe|(1DIdoi}tI
zv+Y9vHF#E~&_}oNI+>X6qt9a<v)NJ~tq%OC0xF4ZaC(^e-x(8<(r00Z6c9A6vtC^%
z`exbD at +n0fwUMPhmnnlrXp8JZ^>w4u?)&!r4F@$Q3Z-!>j%qaG!-ZWR79=UBARoof
z at 4SM@(u at i!te<^?qwHf+QEa5&KaQqkxVxjH*7`P&slC3nJl_WPWz*E;m;R)px1vAR
zF*Y~{DL%=mPtH?bM$7qY!b!E|v=q at 9^F%AKxJG<u!4~yN3kLC!s&q%k1;0~(-G43m
z%#$P7E2(~-zUGYj92Yp9G$Z?YL%ca at r$s7^!rw2fuVE+}e=*M!s_*3HWd1AYI`lyL
zsDSA*&Hj%q&bAAw#N|P>=Phx-!^}!5HL-8O0|ajIk!i^E6D^|GD=&W5B#$u_1|4tX
zNbgo5nOT>*s*D-w&KpDnVzvYif at jXmVs%KX1r<j9L at TZdbA{{O4TPUUXUbPJZErp=
zRmsrHt-3-yMpx at 9K_~rj@$|I|n9Fh>MxC_W?GD%1p4E|kg%oHs=%{KV3zK(*bv?fK
zW4-3kG+zil=dao(=j_S;y8|)U`J#tQk%JeRFRuzV!8S^9o_l&}Qq{avf_u^oP{I{y
z&TJHAgxlsfGsJ&)C2~on*>+go?3<yUp8OljmE)M%^!B5~8~@coZN~Ks*m-(LNgO!|
zU>eC|r*yuZ7~aL=X1Qe+roJwQn+|RO*@m~<SQ5;>;<vS7sEZE!?*?p(T<Y$!E#8o3
zuWqGgg~^-0>=O(<X-|?Qz%QpSs at w2V9nASp{RVnhyI at eL)v8V3bfh*8XTbtVSZiVQ
z5Mz2x!_HiC`9WRjH#tGfA}$&a{)zr%NJq4A)#T))2QNT6N!a9qRRk*XkcUtqqW|go
ztu-MI>a4soO_JlA+8#@ZnRQug&ZrTM_s*8pL0A&Xt}vjdzCyrlxoRjtcaaS%zG#G@
z3i(c%Nj0SurIw65YC6eY_ud21YYsZ=$gu*`Xw^yW8pdZ>!l|;_dNV|k`|o&l>z~X&
zCiBs^P-`FzD*uKikZ*NrX^<aDi*eC{0j=ccPFcWH(|r{XdL`*}E#e8ScsA0085D-l
zyAIIWXpMF2a88Vrs{`B-3W#yvnH*~gs`ja~Fp at h#35*)<^;IQ21yc!-cLn!C at YfS^
z#1o1lyAF>K$;D7Pe$!ZapLJp&n68t0y<4_XJt&s8xgQUD9AAKDOX`f_UT}VcdZPU&
z#A$1Q{rflMDPr}#AXhJFYg7dA@$I2x5^ZUa=rA$5U<e=yzHMmi+e%yS|G9Xexk at W8
zuL^a^fkU7d3ZZ83PT5qzW%eJIAUccIr!E){&P$78ZX4-$!pu>~dx1BB6nGPGw|2~%
zmDS)^^UJ)SqQz%JJ003vj?yQtp`wdjD;s&J?86Cn+G1zI;yghqU+YTN5oZqSYA9uf
z at 8jgpNn1oiKb{VsGapfTZJDmQxQRov%BD42G97W55>Ku`<4w*%)}D~AD3E3q#Wv<9
zn$}S$;qJsvj%-EOTU~Lc`7-p6ZISCi^j%wEu{YrBY<$^QD!BnGjGbCZa*Z16+V-9&
zNHK7>s!Jic0QE-$3ca}IUEUjl3`BQ>Gx#Xm=vMQFD6M9hfd0v0#O!nR(0Y*zmYMjl
zg<}(I>>C%*kn5+KP6F_&RnACAN6v2{T%mgfXBGV?3S}!?9L5Wq&IfsJ7kjBG!>j`P
z+0Xq8gwY!>6O%V(QTRXktbqyYosca{ZE!KmK{_9K)%G13i1mZb3yrj29MaFc6tUPf
zE_$zIFgem$&sD1Klug~N@{n at of$z&7aBrT{^Zy0far|GP9Wy7#|DbhD1g!s&cK@^c
z-=G~E2MaU7|GWObvu&}ipejp0Uu+aaGJ-;-hAE2-oh2kC+6hVjVr?O?ZHfguMFcvz
zNlQY&6Oc$m1ckUnI<XTGewp+3p8Wmpyl21ia+`el-+XsoI_j^u<<xkE{X{7?!OEh<
z4&DWUgcke1Ha9N`3=0wxA_5W;7y^=)AR?Q>e{8`W_(BXDBv_<A{RwZ44GeI0%V0(i
z0yiyC6oxkNAdmoqhD!yJ7KMZa3<(J<`vNUuSQId?gF=8>Km)KWP+*|<yW`zl#t04|
zaC&F=;sxj+*bzubNeAAjaVpLMh6o4^P!zCZg!^&sQ3(ya3kb1-LJqe7QiG(?0*5%I
zprJZDJD~z_8-OfebmFq%&!dJ31Hc$)V2*%-f&AlOmI1l at e`Cl1_Cc at +6V~_Ogqvw+
zQDXuDAHcjxK*9zOg>w`YFu)?};aF7GfG)WP75WCW`T%|U`O|?xAOn7rZ{?roL?o8$
z4H!Uz+#EoPw-YHi=Fu$SfiJ79AosT&d;}PvK9M0>$BG^v4A2=C at oa*@zpZd#R8*J2
zgC3B7GvT2J2yh)W0BII~&tii3m-g#5K|y=s-5df69W?sqep3=LFhKn8ZiD>OzCc3V
zL_L3f8%2u>TKUHUxc>WQE>4h}WpF*=$LNN<kB5aD0vrh;Ar&DR31lEAn1&5P_}1(n
z-$8txg8Z}`o!h^;h;RehJRA$~B(^nt#}6P!y9NS2WSC{JpZmLce}e=70xXn(fU^J&
zCRPmaZ#<e|*xEDy{$-S4FX%wX^CKvjpPTc~qj`V{E>e8G{p<Iy)liU?R~#Epd7B&m
zbEKjy+zH70CL$o{Ysf%AAR(cFOX=tL_~VYp!}utNFZ4HBQEavF8NTy-K!0(cqw|;O
z|F7h=-S1DnBzRN_4eazY<N{5|NC@!@{rorcrce0Cp7l5V_-FFz?_P3gWB)fb_kw-z
z|2_aG;r+%B!Q-0i=z(cb{9q*T!@dmis@=88K(V-S(ARUx!Jr2hMZuA`_)VY)NVu@)
zMxus#0Tz5o=!h_EzxmyY{fCmniv+qPY at Eoi&-hM3SorsNpbF+0<R5GBu>E}lWc-jc
z^rLk=#|%SX<^NU~6jV^izd}w!1_xryVBikm_wk;LF^?RQPKk2*8oeVR2#A6e4i9)}
z{tC8P#2Antjg|}o#dX*g9QNA`{F{n>7&EXR{YM1ad%t(4&lEneZGh1K4uM64Y at v?2
z{@x?>-;}BUKl#^5w?%hl!{1&WY9yWT$^D~x#;^-Z<gAgZqdS2rH8)x=DY-pnGqE>b
z^eRogu4um_b4A_2ruA-&j(4$l&ef-gMB8IAT)|e!AfzT2!m?n2c*>ljR24j^JBH)#
z1J|}HUz*jI*%=~L$k+n0+|$*lB9_{%7$tc2Qy7OAwjHr(Bk*Q-<};ikpwoQq5Yo$%
z2Fpn{d|)G;DN3_0ug-FcJ;ol`w<U)M{p|yYQN^lp7iOwxJz9T`RAIj~&GW`Qp%cqu
zG2g$|LN~T*K-z*YKRKNrw%QTQFIDBPW(E-&gWOj!Ww}WwKA at Xy4;rFXG=j{Gk4##S
z-)Uqj?pmw;EggQWMP><S7C+Ng^MPM2>p$!|7B_kk%Z0qTCHSbY12 at Tf0<&)*GR+3W
z%WHQPo;rj=Yw;JW0ujx&n7Hnql2Zap<Kumg8W`~_ebgHmYUqH`vP;_^#{0A}^XN+}
z;C*O@)Su)!5rAzE#es`V7yZa#>>8ErmG*aztd3d=dckU~k97(VOR-JXBtRP7^S9C#
zUPy9uoDo;jw-b8kDKb{*;2)FLCg`?0P*u<8Bcyz`x3)L2ta^X>G at Ak@E)^Km7Fzws
z;<~x<E8LQ+!kO*tWf=CpF+`#&p{f-H2lE>jj69xh3=9u(q3>1Pj-ID1WYannr8^AC
zGV%FTyIz~*CJ$1ZS$!MiSm4JB$4aP`aDAXF&3OBl>{Tzie_8`QlR9u_0(rl&c0`OR
zCwE5p)ZC3M2$Jbmr-Z~yx{!3GE~aGAn>-D14WR)WOj-QH(Lyyk7m_6^Rt^2cso0}e
zKO{$dh$rb;FziUsEUF;decL)aWlHiXmcdvvF{I<CT6y?hk$qY!oM5hTXI0eadUZlh
z)#xmgQSxEDsrt_k{P`uRI5K9-MW>kAy3bX{AbrHD8DdZwI~!&ZndiQF(Ix>HPy9#M
zZ<uM%NDpQ$K2-?x&h+tkan3a>syMjb0`W at g#`w-t)P|#2s$3nZC>CGbfOSdTb&)!$
zG?p6BF<|pbr~ubWNj9Wat{#Dms3u>r$3!=zj)}6DNnt-e2g%Z!X6t5?Bv`1$rZ>s#
zxLBPaiWAm!hSc0%Q^=Dr4}iFrDl#9DKinasOGin2b&CJ))&9$D#O+ at rB8fcHFtz5&
zZD9JePoT*m!ao76V4O!`JM(sP*(9*M8Yp<!)2e4yej5$arE}+4yq{XWQFj6HeZufh
zgpRbX%qlz3r3bm&r3x>a8W`>=G at bWL0Z!=Q6UNJuAU4CtDHqT9cz5=#GXjT~ODEz$
z!^1;_CxT~vqnaNT?2Nf<GQ~FO5X|#_l-*4S_=JuzGzkHMn`YNs{A9FL2JjLT`w8KR
zjg at G^<}iqhwUzV=O)un+q3*7Zq~Xb^stowb`RlPDX6YCTs`#voU!V9*e^2rVpISa?
z`W)p#vNWsBnzoA+9^>s~#JPNteZ at _uH)R*9kChc1DNbnZoozBrlt!@PetSvkuAE-5
z#qcGwpp-J)RM=D^GC$9!Kgd;@UME7$*xlR#m+8_Qk`d4#jhyJwQzv^FXw%$rSJp+O
z?dltdcwRJy>N>waJCu^QNPT>U9Kv_SB<HCjnKkZg4=o2#R*wEd>x=v*@3P0cQAmBz
zBO|O!8!{l?b=;7XmsRzYOa!DxRKSyS9GUnWGpx0cyJcc-5zJcNFh_ke-mBfxy(%Vu
z;iDW_Ea$3`{d~xSbDk+SHdq%SZ32{WjfwClmB!iMMBob6iX*YZ`He*T6}g9ulxtcC
z=6wP!)I%O4!7;v2-4hK4T!Yqg%<jBl8;y(7&EI{)>^Uv{zT>o}y(9dD&gQdhR6}VN
zh#uTZg6Ye6R?X+sr2tcZi3}N5TB5K|@)1CTBbrU=OT0V(xQXIK0+F7Y?uNI%Wnb&X
zzLp7|;#lEZi@!JINmel8#MJZNT~=vwt~<NX8zCrAQ+L+BVVsdIM#qnqecjn!@9_z*
z;JVHlJ2sdl5U|s|^h%*9ndPV_a>Xy)nFzk+%8+4~u-=+yR8N>i(^D%feakd_O45Mr
z7Fz8#-3VM~9*H>bn@>{iq&QUJQbh|dm(S$$Om2)CKeJ>Ix(wTlg_RdI?~z^$oKTrT
zRbC+ZK;XHphN6qhJ at 8BHbalQsuOwA9zIh1F=||nk4P{haXhE9&>;XEw(~qbtKyf*Q
zmWrdXiiX)j)SW at NKRygjYH52ya`?mV%8d_ZPqWgk5P(OkihVUgtaMOW6`c{2(+5UA
zbJ<76CD}8WM}|sx-!;E7L=8&)k?d%GT!nl)Vs`>wi)Bc+kJxTE%^fgY5X{DBU0l-i
zR4D!@h<EHuSpe=g^dC+=IONWD;XJpzu<fHyy?n;ZBQJqZ2{H9A<&&~2jHFnv$)|!R
zmM?@S$;XFY>xXXc8HUH~Xv?KYvq#j|;7EM?(pzjrZZ$6N1H_03t8>E95q5$oKkyQm
zYwf at ToXf3G5;muMtik)P#0QSX+5X0-L at mnpw(IBx;q{Kn`4$Y12CUc?N#DW<6E1q2
z`2A4Cp1w5^%q1(r?oD1|t7kddky$z($>1BsxrXIUU9?&l`ogzH5WMgWy=f(Z7(&+2
z4TE$j#?g53_99~N2B_*deYomX9~2%3scvtX2sxXi((=IOjyj@;)SIEpt~|}5u(VRu
z_1cNyW1RcYxWzv6vJy)7ZoF80sO0Mo at 6nU+YZg81yDNrFK(qJRz&Jvha_l7D4sc6O
znh_{_l?L?^@n%%ATv`wXc36k84Di%U?nCcMYY|kJ at x}DQ)twg_D0c8 at nYGV(XWliM
z5IQt^Pui92gjjEu7xQh$VV)g9={!fdfpO8KqCwtH1L~9Ek?A*P;0Hk$mON#bQh7rR
zB35O(s=%IS>sUM8V=n8fJ at 6}azWpZzI{Tl)aSLnYhI2LmRG{!h`PcUM<~-Z<#3OXS
zw#UK#ZYg3lcfsZekExYAR_zku?$(@w_Xm%NQ6`$cgyV*GP1e8gW#Yh#DbGxwg`AlY
z?(wxw;FxVi{@IU4R1`y5sL8Ndq#d*TsC;;r#@)u at P)2+9=J<1J6}GTPbuEo8<Wnhn
z&>81-6d!Ncb;DPpWoG|sdS1c4B at zyL39}-JHC0M9Rh0ESMLOE5Vyl(9M~j$GW;X;%
zLGu;_PMe%D8%)K9ldlg>?iuidEG*&jS&H6Na#_XPAyZp5=&SI_Wj6CHPoqp`oM1`J
z1fs%aRIUzTk=4>u8XEy<Ol at DbPfz5ljmM8JM<g;S<&s*bc)RaZEjE6~VxA9sP|<Xm
z`b%nz?iTk}!ex at qU3x*s`hy?UxdG|fHnefFXGyp(no1(!yRA2%b+PU#CsLO1HKl;c
z0iB7{A-+gL9Olu9fle%!a1-Kb6W&>D{%r?oJQWR%Big>!YjM^pnND`MNry@*CxwfR
z%FK*&xxDIDFwKWXESSTTs*(CCD>r#LG0MERMg22}4?-$3AJwI=8MHe?o&6$hMKxIa
zxsXE$(N7&bz=!n#55XMV#94T8Cx2D9;MdRiEFoSO>I5L8k=o!;@U{VDJc(_$BD`Ud
zAG03|V|^Mzp~^epqUxDH)Ri0XJ>D+UOTKxNYAgPy(1(sZJN1l-u3Vj>G_8xDhg at mv
ziX@`E2&5W+^ak at uQiOkK?$9r02-*x=FM41j5p_N-%C7qS1Qdg;jDKF%qQJp(&+2P$
zAD4zcX3)*Hw9y<mO6Pd6Qk%{Gr6Dt;O3Xur-$VP?BI~aKj}z}krP_3tOY4(q#iFtN
z768#v*7kw{8pb*pjgMw(Baa|OQ+oF_qo=o8F1C7(*g&PSn$3ycHD~`Se2CK@(YANt
zU`ejv#@;arf)A-8a`tL_l$Dsz4Lf$27_#KQvPLb6QI5Rr*c*J;A1)Ru&i)_9&M7z(
zpiSGcZ6_1kHYT>MiEWz`+qP}nw(aDN?fmms?N)8oeg}KlXMNCp(0x7kb%(D1Chd=a
zbRdn)ecYxxSPCp`xI^I)hhVtBLFR&ki5j^?Q;OZ_)SGxXyCmxVp?=2L5BA~h<=O#g
zLzwnD$y5&L8PHj{mD-r5uG3QR3hwO9dqph4-aR7HT%yN!?y9}Hf*;>6iH+07QVvs#
z;2Kv!nr&0jmLU|Y6&XdSZ$7uca`HdlD?d}g-H4Ca8>qF&Q=jsalcCFB+2GnaUm*~g
z>1R6{a+9<$H_sA}q~2e^aGfCL>~g%`8+EmzNe4Eo^d at c<_IElMp1<Vj?eSJyosq?c
z`MD(8>=v;NdIF+QL|o5cmu2O0p)U;m-_Q1Ad;7A9Y&`_yBTfe{*5K-|_*3~Bz1nUA
zLLCos1~dDi^Q)mP+7w#5&!j5Z#k7$Dp95OY9m|z}$T!th`R1396Cn_>O3{R;eXQu{
z^gH>EprPpBC04|m#xXvlXbrSH)n$48HGAEjx0+qne!HKAuJZ}9O|hUSuq!7ipE<Z1
z=P4&jht&0)%byJ+v5<IQoh7JA=-maRRMLZ1TUqHUT)2rR_D=}{EHC!L1SR3X*HLdO
zS3bFiA)g)1y7%AU7;0#D3FO at a(!y4dCRWcEWh*aV-P7Y9n1lr9Iv+Suma|G(#9fW%
zBh`4&xLLg-`%p|bQCB^NB(m(^(Ge8+#?*$(J2rK2?rerMgCP)M>`i3n=a>nQ*H}48
z?%N8C*{kb}=-8E}p3<nldqzLvm2$}}FiM at 4!vn-CdGTmx{bc$XE-i!Z6*JH;;O=l!
z$d~KrGX|%G1zg2e5ZS`Jtm|QWp827|)usE7C^rA7X;-}kFTO-W0wkpg^(~Ad4Y3Bf
zU^_NwrOb<cv+F-dM-Ep38!UQ*$$<Q^E!<u6mC^*Cx&0O3lHSg~s;*Y0QgBVmiWe4#
z&jVc<!{vfCM(!iGhQxR!T|qOV)ZZQ9!__PtLRx>#-KhcA+XB5R6SJ_F#ELq)N#4H-
z%x6-7S|hE5UKgSVcV$UWre6p<j{QYQ6_5CnaNib%4p7LReSvHLxYnQ$I^B_g_wttn
z{{d3c at 8~#v!yM+o15=smb$=5b?I~r4bG8y(3hQR#HafE*wJ74kl*LW at s=!qBxmuwM
z#s$0yuCuh3-V3ZfF4<m`pq9C}dv(oSs!wpr5-sc=Nkp;YWj at iatpVa-dPFpNan&d(
zYV=ZFhJ5NP%-opM>w9FakxEo%uWE<*M>ywyQt<dtJZCRPF-snG8N;kU!~!-F{Iry)
zLcX`@?$6C|lE#E7)w<ck at oXO=zD;5?=?<BSw-DswzBAio*1U{J0_&_HjlS>nY9>LS
zF=2A;79q`oAxyfKYkY_1(s|a<5uuDbc(=;GP0#HaNCxV%Josj|{z^N3k7pM_nDmew
z7!}EC`RfBMU{i_z$qtuu)XF|^#~#*Pa1=yF_LM`G9f8tM43=4Y@?W6tL?N`(!R}$O
zh*vO#Q=yTet+jZlK$1&Ub at 5~eLyh-^4ZK9AMOn?%z|e1{-qcimq0=F!-FVgDa`Ez8
zjyy^Oj_THQo;JLtYN?j-P7D{s{I#*-$};HN3(i`ismrrS*TA=`BD1p53q4ltOSMYw
zMK)yPvlZ;eYMh<jSfJw6oEKHo72I at 7eP1)#5--%6P<pBzD9krnOIo-ABP72uE*F*Q
zX5yyf*khybDzHAl7dy3fi{;^=x`!aZVz)qg8a-=yAaPwaE%}^>2f|)QvSD1uYMi1=
zvqG8{yzVEU<Rf3#^)T0Lz;ir}56FYQTS}C}xtX)4@}Uj7YzxVl=zl<3R6UFlPkqMO
z4U#LgC at k8QV|ltzNdZr-R*xbeJ=0}N)3k&-HNq%v8MJt?T=O<G*GfIh4MD6N;DW=n
zzRE^Tu6 at Mp-9eThC$uG(z<z-Dd4M~Rbx-VjlJNYwSF%dp(6it_wMP|bj4J!iaQJb7
zUKsJ9_T`H#d|<fxQe8Wq?;M<9*8lsg6xW|TGd!7Q7)bajehD0KS=A!@F@%QP2(~L0
z$&Sk)Z;L4nG9}<c46T?)@Yq`FEjManA<lZ0B){Gx<QH(SoUiIm=q#x>(86YFzD``>
z#F3M*7nqnz%~$FDY$^pOG}b0XdC4Fw?`W214%1j3z;>6jH^DX at Rb#mmyuTm5KCp4!
zEXlu!a}@$Gd77r}c{~Q);q78)Jf_mmuQgP?%%sniW;h#m<=a&l$BD|+cw(YuMJ^p6
zK*2|AV at CDdC18Qzx2p^(jwmM;{7dayw<7(<;lrG-?2eM9aL#!#*d5<A#P*Ujo^4~!
z<QK(nGg^tdxs{TsKV^2`;n7ce9icg-U-4i^iTsR*VlKrnu<<<B)d$X3IZ at z$3#|;R
zSKO&dxhltQ2d?S6>!4MHxT|${KttTRw;BP>L#(S{J51HQwPHOsqLBEqk{}t${$m_D
zVi{r9UVJdxWw1Jx1+2N7FvNvEW- at UX(fA9g__!K`DLxIXGP0N>53XVzHZj`$0sTox
z;8|h#Q?;1pbv-(~^o{U$nk()lgE-n-RaY1oumI|Aoj{O&k!6s6#${Gn^QsFC4R0w+
zJJD=19mPo|^L~D=C`0o^RE5g#r|@_d8zXAyTyk%f20953XG&z3uSO<ZobGt|B=+Z3
z0A5 at 7ysu2Tt>!QJE7E?4A&k}bel2vryYc4_WFOnZM>D?wkNq at bkhkSW%f;#6GSa>W
zmBt6sv5%y?X at pf-+uP|1s|ZuDG-*y6JyVj4D6KN%CpF&RYtIi{wI9 at r0A8~auV&3t
zn#ELv8 at 5c(R6L6iq1@>hcXE#w?s1nDzXb+O9D~!QM;854r at B6R6HZ8XP7m0Q=&%<G
zd*_n{X63j#4y*d%pqBKU_RSQF?Ydi}@IQhJ)u!{lZ1_12SiDH{h!GWNl1+wJ>;kwf
z-D^`*8(|N2MjHiR1~N!jlGYCs^U=AHr4PV>!9pqlb2_W)S~wL}>0X0 at sKwS(ldWz-
zB(I2qb4lpzsE+INNZdBf+}2042KL}qxx#is+;Wpq2F>xtus~Ea%lMbo9A35?QEZCD
z?Te`siIN%-BRj9|9XcCd(zR$<yB(yhO0Q4O7lLV#T1+lHcvbEN5fuQB-+5><LvBc1
zCo8 at mAID{S{)6#W?vZ%3qd4p8=@0{{vu87@%%!IIJ77u?^HyxMahRi{E7`-6UDaJY
zmbF?XeL0Sah*?wJ{B{IV2C^QJDv85vqcb+Z)p+D)TBAuhrKs2Wj=w|ywK+cDIiU^1
zS&i+4_d;^8G~F8Bb)y<T@)R~$k7d+{H-PPCvf&1Opkx*%&*m324fO`Lw*`p@>r~U0
zZ>Ew0;;IM5eE1~k?d3WXQILNUo%~B*EKqP{>k>LWH{0%J2br}j=zaplP%%o(D3>S&
zG(zg^yReixnTci35l{Lwv<O2WrM`Y(y!-Oyb?%t6=$u`3Nu>p9)00htWv?eCdPMky
zQfqgeV|W0z5A*7M;`zl}A33&-ab}<>!5ITmxAEZ5pdu0P%3uWp-w`>oci2FW)eVum
z{gsUh;7g-HUdd?wewld5yY7rM at pY@z>UbjnfaMk0#L&)tFzvFk5|J6(X{)Q}RT7;!
z0A0*CsAB9ZxJ^XLG at 0&asWeQ5h^*t1N#6>>*`f%rLV!)R8h;p>*_xy%rWRG++$I^*
zL99`a&V=qy@|*R#e*A-xe$fW|_b+`6D-ASxedZ0j+XJNK0|1fNdD at b!p&Uik`W&}G
zPlqq9<VOt6d+Xa8a?n_9#Oy%@;6xO=hW505rR_j9VYix7@*ZCt=iVZ)3s-U8@<l{!
z_V$Zq!&cGxoIHeOy2igwK6O%JTiQ%tv(wJ6*xBm>)AFoWny7<y{WlGgWTB}u>l=yB
zo(-c<*$QBmPXNe*3|Fq_=+;ZXl1;20jEoskdYoZ-dj+Pp!up&2LEr}4^7VfsGj>MC
z|Afp~85#c at k}(spGc$Aj_v(KlGY%%M|2r~s23JYCd8Vfd10mLBb{?JECfcUrf&+zv
zV;Pzw3S&hHO!BAPjt+K~2qJ=4LQzT}p7x9SXQptw)&=aaS@}F%b?0{PcJF at i60&s1
z at V92s4L}q``IEE<@OmErfy>IOA_EcT0wEF-3J|a~0;53(eYzYn;R<bS<wLc-{(w-n
z2?<Ih$s-5<-e*O&_s at WY1407=3K<R{KJfMi^5y5R_X9?@JpdAoqgcYo8wXVo>HBr<
zJ_Q4XNyt&w4T|D2)vE_=ZQu%|AR`kDaN`!7!9IWh584BgMOpwph~h?u3j}^dHlPGM
ze~3k~PC$?-isWRdO-;o_99z$Z+&5*Io&moNB*q8wL~;wuq!_}uwKDL>7{k6dV<zA=
z^$!4D`ij*jH2nJr(k=u<2?+-i+PAHUO<=Dbh707vDX6asns)^f at B?i132YDiy#o(4
z2KwpN-n-rlBedU}C}hAmunrFP5-{-3O`(7VmRDWXAM_~Z2rOv7sV|5$g&!~h=@FR6
z7zYn?+v$WPs40gDBn<!R#_Lvxy99ndbBGY~g%kgxj=e-j({F>0G&6(5xqyG8?iZoJ
z0fpsq#oy(}4geE(@BjM7aaCxm-md*+&8OoIzptQ<7*=th4>b|;LYT`3290!pijItQ
z3 at NAsjAT~_dQ*E3!A~EzE40VJVHpS{fEf(ihrk9#3S<c>^tJ!i9>n_#s3;SXwC~0b
z^4nq`H~>hS5(~O6U`=G-{ii&}QRMP_t?al{s2kYSoAMeM*t^&F$G1^%ei8%t at 7pKj
zw^wgh#f6w->@w$%%;!y77w-V>-Y7hn{R8YBu)iQOks#O;%Iz#QH__QH{p)vP1x%|5
zkiWNIhp6siFZc7OG*C<LfdS-aV;Tm?uojg6l>jNnDe3`eAwl1dUB!>wTQAe6dh!qE
z_)q6A6GW^_x3nv_&mX9utbE4YULZ6JzBo!?b7BQ%{~wMetb6gM3?%KczYl)ms_{fg
zNJo3ml*~?`;2y7FKd<@M6AE@=)d*<NuCF5L0=|R#N<l*VNch1#kE^ZV$-|>B`b<eZ
zeR5?te|aKO{e+3!lGfsSS6?SX^Nt>8`IGhxg0C31?_i-p1#NAK2zi$-6jPA;5W`T)
z=!QNx8iBib?ZHrzK?JAqfa*lr_P_qMhYhppjWO&JqK+Z%xxCqYA7a)0&BU#U-Mtii
zx at GuiUHOG%2Zd$l3Im)1<xquS!C#qF_<W#87(cWl&&RTVN-*9$B>GGltzAueW at b87
zj!84?3YtuZzu9!8JG(<GNBB{_Jh%J~mE*Wb<=0r+7 at pg~Cz>nq_#rvSD7xnVJj1E^
z9q%5XjhKO8^BDBp$=veH_dXT;UA3&s60S!}8Ztp_nLn*neU%)7jbqIEN365bb4)Cg
zKgcB?6=tPM^|b9&Uq4N}#Jt;7A=R31RQk5Uy>5$Vu2pbJb`$waW}3zQ%byBPvWRqE
zypS?X*{~^2);?Kvul?aYKX=;bj|aMIqr<;Q<m=NT!6ANC-)#i&X>=NVEME8w(P;KT
zC0skhujZzKV0!G84iUoD-c=QR0c{1I{7(G5K5y4jt{R;^!RP71?JbgIQ~nGX4L4}u
zKKo=bsUHvoGyxAEw~U$9IDwQNXU{wkJD;-n7EC_7R0(&(T$9=0o#$lDyTvp5k0FNS
z!&47Ms%IW~TR7`+6H8D|O5)?%EPl*qCTYlMD!4$AzilK(4Qy;?8IGbi8pCm{_YvXe
z24)w_i`zl?8^<aRxocWrs9SX1deq9ym-#){EjT28mM<anPJa&v?kFVJ-=sfV<K?R}
z*Ru3FCVh<teemrn?!UDab$?gxs>M5ZehkSN+NNksAI#39>8_|xWw)m=Tt{Opi#DY2
z>5Mx27zuj12_OFbls=i0%7Qw}XNq#}6%7O!)r1<i#-RIK3r8?sD2lG#zTxsSnYa1L
z&$l9=B6H(+>o}~;ZVz=9B}iw-Lo1EjfK9Of1*0hr)NDJ~>h`TjH8=2&$6oJq<9qlB
zJSt(BP{l0Zs+9P=O9iqPd^6YO!}x6>B9UifQSY(w&_O0J4B at 5^<SEDgP0aam{Y9wd
zN~g6hK5gCJ&lU8i4L42wl6|BH?pj?wW|;c at _kpJG#X%QE at t^*-b*!f%uFivIsiV=`
z&LZSASn3VjPbETZv7x~YlWcz^c)}6Co>f<?8G4Vld&Y at gjXeouX&w9JvxbJrNQ)gd
zWr|6Bo!$24WNf{-;VKo4Kk|iFKijFhSFqLBOB-fy^tT~C7i~+K!P-*mwI_&1S9HLw
zB&<?_|FS#7l<cqiv-u43lRh~-)gfi%h2dBQUeH`~aE>@yR&<KG82BU7{EknVnjh{2
z&MHVB*0CI1fhWJH)V!f26W))XV$54-`<~$jx5NkCINZ1vy%JA`Cbfh?8mA?U=W4>3
zKR>d`NK;uoPD?I at 7~Ed&kP)!mEe=L<M4G=~;aZEAgD+#sZ$?})TmRHVkau0^^%nkR
z6%&(Q+MA*T#6eZ6SRD*;3i$qUq$vS}8v;BVsR|6#NY_&DM%Ds<ZIUBnB?GT?L at 0Hi
zn4ElnhnhlPDP`o9FlC$EKKeK*hpyWnkd=t_W1Ci=+xzkO;O0Zf(*!KQ3{h+E%jV*~
zY9t%RD2{<+jQpPaSGh1_?!7FE(c|R9yseyLGbALFY&ib)d$^zY`;%L^and!ZcwrLZ
z&b#_rGCJ99!|Up at W7aGdSuC7pYR*DYAHYGH&}}$vIP^Yw)D7ut9aG4A;aS4q+oT)M
z>>2DMZ+ZFoPAvdl!@<n;L|vc_dcWgUYU9WPfZ#aV1~uZo!0 at e}@q+!QLvID at T|O=O
zwA~b;pLoAQcLjf8 at ->yOLq=0UgIR|PmAd5sXT)EKQ+7t#H>8g1NQl?+Z4t{HVy}2=
zInaX|(UNjtx=Ekxj1KRH`f at g)*y1=}@)v#8ET<lEH?f5*%!B4U==K5;_*;tqC*$#i
zQw(MN- at M_ewE9lTxB13s5hv2peMGUj9<mUOqgU^O+RJJFg^IGIA%Ps~iNhy$1;{XU
z55GGFeB;l|zul{*_Yxv=?-P<28OTiMd=Zmz-mDKR4&64{XPEUtOZE`;dIz%ti^=c5
z&edB{J?t;mCYYG)3<j=%I)>H6yVXUskalBN^DL$xCGB2xsMK(cbEmaGpbjeWXW^K{
zbRz%8>}ENs8xF+$#X>%*#$HB=hA$E@*_3up$79QZ_7I|E|5?$%`bt4iKs;Sy>bzA1
zQ=-B4)l}e4_xCcn66Q0urLnt~NlETQ2Ca?QBR%Z!><l4`QtLW4f(ka;nMHZBx|IQv
zA+!}d0*&>FL4HZS9jR)vN1F;-d}rq{D~v8In$}~(RpxeC3F!wE)8hh41j>jytEc8z
zd?zoU(y|f+RXmw8V61r)d)t6Sl`ox9v`n$aTEzb(nI-oK;i`pQ5WitY3y2OjY^PMI
z5Pfc5ZpD{`!JlaQv(3i(&~uXN_ud!y;Aounimq0Sv1BIX;E9h&5pQ=jxrKUU$2;o@
z&%0K4xzocX<W}h)9^-SArhL(}?hf~0z36^qoT(V}1RB at 0!x;(cnk5V94A3_N{PKX$
zQ4!QYNAJkr at gNoQ3vl5~6tl*zgbZs5UVmoln-|w)+Cm^z^_R3pki^5Y*#raG+}263
z>{1RV2wZDq at obz@I6LjaFztd3ZoAo8Nk^^E;fwbzWWw%qQyZ-V6GIAM`>pg4Ts!}k
z`KQPTj2wDA*hv0~t~ibP`+V6 at R@fg7S$zRnLlb%OXEkFy$btt@{M?a!-emeTX+MM;
zRZsSB2(u7s7#S0~kEcLUIiuW;A;0Qg08A at 5o^VIhuSKt>*YO~(eyKIyvQL6&Qg8Z0
z?05Fd{z!PFF6+my?bDrryN}FfJvEr8wInTvgG1aBd6IM+VDqZ`(%@3Wfs+-MumHB%
zkeArW*`d%!YJo}POF7RD&n=R>)XH4jN1Kb~4TUOFWa8o$QmQUqd^H=m5%<sMrxU!Q
zT#(jE*SB^T$6 at CSO3@SXGaHpUcY-U)$*x*P(<Ft>%4kf{w!z`t3$j?ItlP$tC#VmE
zp%;EqU(j+cspY>h#xs;iT(OFqC5Yu`dvaZF5CXFt?;h13PmCHM5qfYgdl#-={!`{T
z`U$K^Cc8Lt^g^|qE~&me32P2ouV^x;-7SMJ#%`f^L9$wpA=1gX#odBoha}ZW;#IQ}
zq?@D(@XV)bov7uxz54_#<KlXda#V}GP&T5OgNf}tX*MJBFHHW4+NT8D$FbGA(H>04
z(c*+m>Q_-cL*G+2=$~tTq)?2|){(WwwQtU2;YPF3Y at E_eoZ7?4=Upg$DFzZqex)u;
zO&`Vi$L_tX1ZG}28zd&1zatb+Rx-*^Hu7a1%6sgdr84HN%vA|mJD};sX2*0ieoqbQ
zoQ69iSM1i-UPL9-AF#gB32r-_`XjKjb~IEb=UM$wcWUma9&@%HIBls1dy3_#GtkM$
z)FVvX6yzejxnVl=I;P+GcDZ%OY6 at c|hNDsrMl at pE?4Iz5KvdGpzzOiIop^T2 at hJ_i
z#r<?BUUvsNYHBr<KV&LQdUZB1xQ9KMZIxymycCyToza<_mMn+u#Q3SX- at bM%1Ql3V
zDW%f7Zi)Y at Y2RA&Nx7u)RX?VdHhyAJ1+^qT-Y07ARvX)6+Hb|exVD5!oZnQWFulL%
z+=eyw8qZ-IQC8a at eDs=UD=-V6f2EeLcI;;%KIg(no;!yk1`eaT&U)FK+wcUdMJ&!9
z2Ht6T#O|m(?r<5HZ;ZT<V=ag-tzt_DPFooT;n2X>7Du(lwdzYK_vk3i*6u;|jB(U6
zBRD2f6f0U0ECzJ?Trvd)?&*|3o<&N|O6px$nRzdePw%AoXs%%Bz65wq{|#F~Y%AST
zW)4o=ddlLPP}2O;RPe`{U8m6802b08DCRN%RMtj-$Y9AO>CC<&+)MH-091sO3p8$|
zC<|w3%+2*e+t0k`T`HB&f>TPKra3j+CIpI&#=YcF6n(!=l0CX(0_r`0tP+v>N3S6L
zcep}mcc(bRj`+0?F&A8|aokETx9q}1vb31q;~KHCQEuYulT?d4)LjrKrZ(m})lhe`
z*vljvX<2?xKoag0&q4O)#Bk?(vmzl;7QI?;YtA#auN(f6=0hqQzka+kfJoInMN3W3
z#1uP<-RifM=mu`pNq{7;!P;tdG}m`56BdYa;Ff~6v(j^y{NV4>&#!@j;M9Z=s at KTU
zc++}T1}M4S{8OlVW{44G4QW7_g2`D)OoY6e$#{xx*Mx$$(gt$`;7J`}ji+(#lgs^j
z(VuzQ*r`8p<@nb6Sn!0M^ybZYI-FkF(}Vr0aJ)Lw$k0tL^Bzpvwl;qe2FB&lk`=`X
zvYldXoKB+^jioUQESBr8+bU&4>^QjgH>pCxzZ<pISo>#eQQ=$y5rkXubV60rbdd=B
z&M6r+r(nf?Yvb|FkS=hJz+3jzF|(T5BI7vz?Wr889H3UX&fUY;AtDEm)~InKXI+nu
zEAUsFlx?`meO*3bd}^!0ifS+ at f+`%|kaN8gv8yKKA`!(GH*T}d)-l10 at 2@%oJ0m)H
zf};1W=M7m<F*@r&Z^P4OcoyRBEnOLmWjr2s7U5nAWh4BF1}1CDQa;cGzM$ElRyG;Z
z2FSr;x^+>0j**_6B!0W>dWe3i89v at _%@%)^cTU#k7&K*msB&CUI(C}BNRPy at g@pP-
zOMDc`Ic=6s{&5#@tFDc`M7a4Hk%Z3OD#`*}GeITSHi%UqK2#=7W8!?AJ|Am2r4!zd
zG3>9Q6=}TDU7(dlZB~<=QYfq091J0Y#nM%-)&HBQA&7WpL*zB2tw?q<sNF~@qUOjY
zjxE_ at oHdk8lU{kT=I%BuQIntFj?pp!w>|<>+t*Qsju>WamKlkw*rR at aNPp+7YlOF!
z!po2(#Vlc0i_w)uvU#_sq9e><kjK$|_P$VtjUvVRUU!OesxO)D?t?Z7*cRdsBtA?t
ztq`{rzEM){BFWr~fLi0MO3~?I#ML#r|5tLIL30pgY9`(H?0T&HQ~zvT`Qd43-2twN
z at rIF}gO$5Gb?c9bJy7{ZTW@`_pSSwAo$%B>&Q}XrPMa3TsH1dUz<MoM+>6B6v|o)R
zW*yTV<AF{r5kYBdz2910tvh9y;cTe-E7auP?syZ9!J))KV}~t&S5u#pE4!_oho)rV
z%5u!ld8RuALI(I0l5LZKvZpsyy1Z`Z-zhmN at 5y%tX45L_HDBYktEx`0mnD{Q{~gvD
z5Y at Y2iox_O%PY6;<gK;bZf9<Hv4Pjn(~6B*xhs^Y)9Gx$D?@C-(GI<AOR$kR!=f0w
zymo4K7LQSB5HVGR{^O`Xe#dqzhttQs11&EJrQhBFnjI><gPbCFRQqcEF5IwI*rMta
z<C*K2Ds%y(tCEx`?*I8Nl6VY<JR7rDntQZ at orGJ9=8c*YBU-bQACbXHlZ|;c^k{TJ
z!EWv8shI|$n|p+8jEAs!gYPj*EP9OR=eCshe#(pae9|AuRK7nmkg$q~&OA=rsE&Wf
zz>$)yepQKx`zZrCW9Sk`C9hXYmYT!ZO9)BAvr<S1!e3Mh1G6+w<)-2WT_<bc5D<%6
zu8J)tW!&IcBna66YuMaE2$^IKvS8#)?85cPnN~v4SFDcj)cE>4yJDZ^rTwsTG3YtQ
zWh4}<E*=g)VNp}kGMZm9lhA{fP5Ex7`jkeF-1rcKE1$icO{Ipg;3~^I4(GU&{hC}g
z_~uo(+EG;k at q^Qda9DXuo~DZ8(u90DOz*MR{Rrk^ViKk^nTY3p at 8l1`cT$KfM4{=N
zXq~`e1)ohR1KspTPEZPyU+UR+^8{e6f5b at lF6*14iS(uSPS&SZT?eeDrXuoX&t6Km
zK6~o7_20BlZ-0FyZL(XJ&`mt*A)v|HO9<K1ZvTdNOV^Ug%l#alr?iK5EB?pQ5HHbL
z1Ubs_v8?6r_u*nEZ|JKC=Kk85DGEuCW+8C66D=hGFLlIR&s-%PUrhO|75(uf#XG6*
zZxKNUQn|Tz41?@Wmr>+xi9JB)OUcaND1xYHMVuAbr;Rgk$KeGEBnRFNL#|ToYG9%J
z?iW$5L1RcXSvdon)kaJ>#r}dNaN5fXr%mVv=wdtlqkXPMN%Rb8n2r_54t|d#rn;F@
zqu~$776Wn9n0}Ia2Zl!<>6+lnNG-wPv7;$5H5EtFplHTSwM!fSYGl~QB+rnD^dQZ$
zVA8*lW<D&89rkmSz=m!(FemY2SFexVzb**i&$2i=2145HSdi3SpIyJ{|3ZR>oWu>b
z+f%P at sPemzhTG5n$*E~7+zuyD>_?;yin+nb^x^||0&5;Z^=-QbbLPVWk8v=!#>W*U
z3qQJfOK*LC^9=N$)Yl at h{A>!WUz4Z$1xfHcbkiF at Og7P2lc2vg_qR@({BQ8$<g-H<
zFukK$yV5OGdk8(L1NEn{_x462do`u-n#MccTu at hNz*+*$vm at -T*W~-DsDK7`IB7}(
zydY-_wmgF01zuayx_u?7R=4|!539zerwB0)o<rYonyv3+o3}XxWiVz>57F?LY at H^-
z*6 at tLM;oqJCGajDf{J&}gOkRB<xVO!h|Wz94rb2dduaAAC)!>q;XvoFB+hyLy%G(I
z;8CVB*F%cAn~&rRT%dW2Dp(R(;$Ip#6)d&UCKd5A#^*}#RI_y5jZ`;$dNhDRGS0w}
zvHtlgqY1xOcQ%&lE(Y_XC9`GU5y6h5qp0(#D%!Vv$%0&Bdss<NqC&lE5BM^i$IkH_
zTO2o?DT&T?VtBJNOyg(ewYx#imK&;-eDh#ANnTd>(s2W_ at czOAld>%CL at ZxUocV41
z_@=(n<dXhzSS#;WRX6+AspjQiW1Lz~fo*`X_1c2_XywO6o`(8-AaOUKyy{H3MIDYq
zexw$jMKXk2uaYG%7M2QU3-3@!S&6S~>uk_qLMH|?0X={mt;2N(Mn5xAX6OdrjL|O?
zob1WZ9^X2x8+$XP*DEeeynB0N4uU(O$p+AZx9wswkWXrDX`jam2$z*bm%JbC79_C>
zGhv_pX2)$xXgzfL(fFv~7z at KPI-*=N?E-7#h_v{H5$A**<AdeS5cQK}T|l}c7}G{e
zQR`v6_xW8&OWRf(CB__6<Gl7oF-x-X#MY{|DY!d3BkE=DiIuf*iOx!XaLYfd!;BU~
z-V^P`3PWNzwKg+?Od_3xxZrHf<gr4~M#refuD<Tp0jgeL4b#NF=D@&O=_Sw0oB9+E
z(W+JX$ATIBplzb?)#f%|9Qd2h*Je8o8OdZNoJ2!lIi<et8PCwPess>E4mD2Ur3ygS
z at +x=6KT3ctnT<&JEvMc0vXtG;!yy`hp;I<>QaeeNB6Z-EF+=`N%-U^k9!h)6Is^~`
zKTqo%a6zy#%XXbTB$?GNGtTz1<Rvmq)&-026C_B4`FMg_4{FWag~@hS9cd1W&T#t|
z($n*YgRuTRzsiO?u>_)Ht_$Kt=)JaoR5VWV*Y>=&`J6{@EJC(8-LIa43nN`#F|utf
zHHX-bPBt3(8SKXqsR%2#LqJ)T1DOWE6O??--Tz~8(sd!~`0w43mOC$Bir{N?y%>O#
zs#oN&TR=7T!OF4 at uGY#rQ8egTyF<Mg6M$i7{5cvRe3)I&%zQF8WLaLhk*PRQ)-{vX
znf+^W+{v=F<{jJxH6k9gW|@ge>uM+Z8-z(qmFiXHMK>ExpCSi6-j9k?m(^Q at _i2r;
zmJXE$r`j~nrK{Y-d+gq7>Sc*KkQ!f>5{H}#(xYM2UoUJCQxz6skJ;z#l8Iq7(K9S8
zKTSzAlWC2H!(1)SU6iTN*KFBmJYdel#?)xE!G8u`eb|-21|yx!TYIGrNvd_srkcFW
zReE#x2(7k$+t=vs-J|Sn0W}nG316Qya(6(sV;K-Ap8RYA;&>)@3AQ&mF>(icnXaL@
zlf?tQOQ_&*x(wCg+u!<{(0OlKuw55hZ(P1iV0zQobAb|2=h6wnLh?Gx at 7G*s!bZ<i
z5o57Y^zZBcPh-YrQM;^hRBF6G9#7YcuguqcqTObWUcLy!D3>c?S at 6LJq?|O`Z4Xx5
zzG=zqBtA-$Cv$jse;p6Sz>`1n#aF#9;9*tl1<};2?pKEaiQHuot`RsPg<|e->lZBH
z2R>y7iOBSUDk+%r9~T;vGVmEECz%agt2BOrYTC`@++vx*`_eFys`v{FRX(o^A9W$;
z at S39|v8ILzuAwGT<RBX3 at E(QbTC*RPFT`XX-wl_<xWhi};R}bCUtM-f$XQ)RCb`&L
z-qk}=jX}i~*n%vORr0zWoz2>Xnst-1?^Mz@{XP!hCk(}Wl1qez0{4iH{GzbNywfpm
zU9Gxqgs at S2ONY9T<4xNI{Hl0obXl8`!EeYA@%Tu5g!hCNh4P*xQ|{5%w>y2y8C^!B
zCiL~_qqtV}OzyhFv7V(wfHrEG9d5qV5qWhodf(;+8r92F?}4JmhqWIdn47!A{{$qN
z{}Yg8;rbsyl8uv#=|2I<e;GdZ|8s`#zkp;mNT5Fvln4wlV^XlQn?zVJ<3A|L1j-@;
zEg>yMjbGsJT<T0x?tDr_RlIOVc$oF at lkK(I;Wn+c>+N-8cH?&ACNMkNUr;$qV+P+E
zNI7UosRzuT2PP;aEiH=&1O{^l91uu~hX<jML~>M{89WFTC at 8$o82$sUASftE8TF4y
z4(v7UG5U8 at k_ZYy5#1^X3#x!XfkA-;9Q=R`Afx;vlDJDadBczje+P*qP!Pb|8Yw_5
zt^N++J=CfLVW!~{5z*7X at BM!w2_5JkD8%TG0c8T|FpvcW!3FZT|Bpx>zr~{HB)C#0
zHG&EBc6Ra*jzNz at imypI2>`W;D7yNOB9VgaL)1fj;$Y>$I|hEHN5uw%8W=!|e%}EG
zZ4|DFz`*<+IEDL>uuu~BVH!h;fYJtm-z_tM at Xequ5j7qV_kj0qwt>K2!M=5`?Vf9e
z71nNyk+9(093lF7^BJ}M;g^s><`h?sL_G2cfCL!<`hsyJC^6%Z?E!f)L^N=FZl^^4
z4Os+0!PvJq?h=e37g56Zzw%>x#g2YdA)F?q7_GqD5>dfIg%dt6<dGx%{h3y;$A8Qk
z5g6NerU12updp%@pEv^>%jvsF5H1cOWmMlG20Elack99mK*)J%WpQbYKnEcH?*3P=
ze#soS&Y_<OFrSV_<hOT at p**10j3R>GdF)72gyEPdM-aeyNHs`=wLkc;rJ}?{Ky{&k
zia<1BbZBDtxffU*LnpD(n*1Oaz>MI3+9-g4zTdw-rtw4=tT?CU9|Uf9KaN+Il^0nR
zj^9}BdX4Vy?GgPkYx6k$)fK>?kboj0fPOPE at c+;j!UlfZfWGGHu%*G{CEk_lPVs$J
znzZ)9?Y&nb*!BrT{;TF_3IS^S9&}{MgF=e(fco at v`f{82i9YD9`0UmA-i4>?<mUcH
zaQce*AvBCbU7CMj02<U%M-v0qvX4SA_<{EUc`MYS3u9YaKJP8Gq(l;fc4X9s%k%&b
ze)Avj`&1}mUIP774J#UO^=*F=yL+3uf|t)2Mvn*m_2kfR3>@%-J_rSO>Hp?W#5DAY
z3i6A|QshhTkO4Pveo^2<AuwQnr8k&@@*W9Dm`E^(G;P_47TG@)NGyK^DRy at W;`X6`
zk5UE(h@}y+4<d%>t=SZr38<IFl*1mN at 0;Ma1kp*1ls4$64B~X#d$|kqSCE&;AmJRE
z^Hnj<M^xcZG9537=Vl|0^jmKsyq at Sr;hBY4C3PWe*fGo3b0bPD;NH2^|DNRo!^R^u
zF)C#IM(<4Ogj#-|M9=gXUfZ-XEgV2{S?^wJB(?$_!Ch5F0evrnLWrcR(cwm7+k!Hw
zvFUp5q~N|=d6pL8c3L!}jG>BXyJTxiHz~bXWP--Aq3ID-(R#tAf%+!o#^5we#cj{F
zKufF06QU~8 at Rme6)BSj&B(HyiXL7pT0_Eq@>fijYIfGKFSiCzbVj#F!%;{!~fmxu<
zrc}X0vwSOIyXBf%=SYsTe2%|KgwQs#am(#|s;n45x-mYl67ChBfWC}L!Gop!%(r4)
zKnd0&c=d~MiTE(?_*79!zyOKB<(;{dK|@bMBo7&$m!Z&PS1*TtT{NP|x6kQ_7M1t$
z>;i$-lBva~%^=lz&Zg3Cq?-45di~)N<}|$rgX1Nr6&aXBY3O|vJD`L3f$R`AGh+x_
z11t)esl!p5v`0;p9n9#hHM!0i0dYS3<ssFQ9CYR`#G@)cfA^mev>=3##Po|8vHQK3
z-tHR=X2ioyRR<<H1$jxZt1FuI$YdkeRj66n#JgFWO6RohD?NC#?`Uj-0v}9_#qCcH
zFs6esUXdJRbeWjX(@I`ATLA5CBrxST1PNxbT(zoo(T4$;s}-%yz<kuZL<^%<m;ZLB
zA4G&cBMmZt<wVt|T*M2~{9B5kLhZ_W0EM01XSI^L#KLrgc|@A%7=>^noX2k3oYmME
zPC^!-rNQzP{rsx~)3Lrhp%j^*cJ3~IWVtctEgz?tQ)b^T<tPG+-Gqbtxh#T@>N<PH
zJaK%?(L8;rl%jO;Uy?cPfg at o$>DBOwz~Q}OyG4=y*pIs;lbL$vN}?{cqlT<e=my?n
z!_O|@M)X_F7=p%~aBEcbSR6W{tSx6vvd|UOWC#8}I0g^H8pT7jA_HN~;-lUP=q#al
zB)YMk^Ebtjt&A%s|0@?pS!bo90+5)P&o%n7 at ap}B<QzIQUp21 at RI~j at M<!>68vv<k
z-xVOYYjaV%N~Qaix0!k^E~s6z%J2bE2;p2kd&&P$S7Y#Z=g&NXb|BQ~?5gULcVc$f
z5+S94Of-g6QUjKs0-s9H#mJVkEOZ~$(;{P`2T{BShgWr-H2A0GIl#81r=ZWnQzSWD
z;TV$uA0d6vRCLh{7gkOLrj-i){dL7vY&Q9?V&rrW;&#XlX1#WC`!W1k8J}!iU34l!
z$u at v!DO0Zc>x^r|)dO_}sfKt5Q>|&nU at GN{WQbOaJfOX_h*K0lvOfE4FJ#|m at i??q
zQ9dUVp6>KPtw2;~6F*`UsP>|JtVZJ{!K)^@hjY5(BaS0;M>eRuSh>~g>L~}sd3rS8
z7&h~W^0=NYbP4_T13*BI>g;B-kL*4T-B359u?s{&a|<OkUMK<sFpj=n+Qq#NtJ~5%
z<*6TOw-FS(Z=3$b0q6EI;qf#?CFbE<7#`RSe}iuP>$RKI%y<hmMNaFeUqj(seJge?
zM;IcxqC;k+HB0#r)T5IdwLKu_x2xsrXW)lJC<gknQ5J(FgHO`$%ohW<m3pK4(*%%o
z(#Jg>NWLl!j>D*f)>$3hOwPnHGNF2B??dSQR04E<o_RJK3|PgF({qSJ0RcMCgxG~c
z8lNMj3+gUCdruqpm8nMLER4m4kzWVcm+qoNYTGsw%!?69r3;8F_-y7|_lH^)YqJL9
zC#kxN7dMQn*C)p!oO{AI8q$fqS#G7(!AHspeDl+VcnRzX6IjC2N^vQt^1wkdY6+Tk
zqS3Zizv2BZkU`7Vc*Pzu#UAp(Ap{tP66Q2{TlE*@TaB)^Ra(b?=Ui+?w7YJytlw<R
zOw+(~(n^>aw at -9T{2u<3DT>DTxAx$+#nM?{Rs1VBI`tlt(yij00uFntZ!<fJnw`Lt
zM(YUGxSjy|uC$HYS at +;9DO{2o%t?-wA8_T__r?!_+i}?LC?n}~tCAwEaRI1*gSYUO
z at 6nJ<_Vg#W7HPZRXw5f^zR<YLlAj2?oH84s&=$G65GipYhjq*RXBw()mc&imDuw>U
zTe%@p-xZZT=Kd)CCXdX#W$i|aui#Q5!QdJ3#T-;e>yQNJG!#2Oxq*KElv<@;xmwK!
zaXS8&6*IE1oD@)%{t)TGkg~181t7HXV2sk2b{|a4SL1v at ukPHr9fq4h8n#X*Yjy;?
zq0?89mW6tmAlO>sLxq3P1gDG_n%P3gj-|l0a*VL+P=oPNw+W?9Tb(9*9O$na1xYXF
zihDl~yp#CZzf+4t+FM9(FxY=c3KOtT_K-j2{H+hEHXGq^V9L#c?@5lIN*(oW^VI22
z@`mF%$RdTLPakS#RvB8<2msD(IkzsMQL#da{$R(GCYlJJ>|1M-3_&LOREU7!u+cf#
zeB=$Nbf@?Bm4qdZ at HoSMGl1Wm?E>cvIfOnxYeAq9hveF!g^-quqdH|ufC3K;A^#m^
z3g?6QJpk!z&lLJ~O+SngblR1`6!v^KEPOQs&4+5zW1YSEVr^63nPN8^Q==!><!<}5
zjh+L?i_T3SzXu5OOk&7Sfqg99yjO!$%BeqSetf37j?!dIKK*<>Ui|6^){3W2{`Ui(
zbX9 at pLH0Ej)(PkvxRL$L_+kkv#jsYVp{5dp-2sFc at nMD{sim9pm1#3Rmo>ZCQ5ktV
zn9ypl(YMXc=E%^@N(;TGsn4c7ySudv+N5$44Y57;6MW}6anR2@(C%q{EVqrpfU;Hz
z%Bw<J6L!8I2LCc at D1W3dB#^wVzZ~5RJRsl<2!K+MH%a(S%|cc!1jN(dvhvny){|u+
zyVD^q$p%V6;l2>%{z!s3`&GC%6f@>CO8205iYs8ONCG&BC3B~B=e`~?Mv<cR%4aQt
zsToltkqZ0ZqH~!xBSkky=V%3+9L%J(uG6f1Nv#h{;N7q#HM<jhcvUy{MlU!yPI*(O
z(`i&l;pTz+!_BGAt7<u1 at -&N`Fxn0t{)OQ+y!9yFMTR?;PKp@{?FN7S`*?w4KPF&J
zvI4Bg&pTcE(3im<Ze37<3*W8>A+N^)f3k7Q6}&vULe)Onp(Kuo1^Q!Td|OdK_94#f
ze)A<(fR2sXZS2dMbeG#Wk`|=sfLhNx0f+S%6@>i64|%I1JN65#l!j8a!JiUiJ)!lL
z1_Z8nv+u3vuXP~?YZq(k7>QI4o^K$*Q<nPav3C>TPS1Va;#APkyQFiLjTCD2JOk#Y
zyLpu9B490Vy%48g-t(f+Cc1xk5r;><V)ULoT at +{N;IW+lz1sIK%fm>1S7yg1Grl?l
zU+6t39e;ecpqh`LI&m@^hvJtuqoBNUhoHwr!QDj^j!dsvqLiLXnsBc(NX)6Xf<B+{
zlPvp4{u#FzmY=*AnbVhIXb3pd($Uv>{dOeNx at tJfY7k-Vl8A0-0om)FhsvR!lCLts
z9#r#Wd8BvSTAAg-qNv+$miwI0J8^mXw%9RLe!pDWipG`{zUlzR7zPq86;rZP2^Z1J
z-NAE}G$p)Iy0P$8`~+5qtetkJ>I)hyIXkTY`lbSs!@iX{iv2pe?V-zvx?Kr7@@q}P
z4FNMwtqo(OXB|>xY#U>kXo7PpCFh20xaswvG{<EL+XF6w6KFMR7?9>+8IiZw;674w
zd{wXlP0irOMibW8;7Ficu?y%cOa}RKYOCu!k!nNB)s;mG^WowsNA2pa1DdgyQy4>$
z-f at yTO6nmz?om&J{1$DjrJ13OhA&kXvk9pIvWLuNBw_%M-LM7&^>B%;7V4d!3T at r}
zb3|djep<F4v6%M1+ZW at _sZP%NyGZgrXW8(A#b0^Dv$j5;o^{&Rk$Kc8(4FFb%5FV-
zpm)nLn)i|0p&4NuKyyfM4oup)$C*tXI;6r;zLw=pGmoaks}I+}$k=9AKU6a-KutH}
zIpnHrvw+(@7F3MMq_^jc2c_KL>_&{gt0wR$arHEVGOa(Gw3p_Trw>amP^fvkpj_6B
zC{z0gy8__a_&d$htdy=m#e&S03nwK(9#ed^{B}5G&7tq1zsTo|-#jJ_Pp32$Pn+!G
zYt?mWAE~_hkZ=BT5u~JU1<E$KKfZN(@r&w3tg~vs=5p>--#&Gs9Q`QNCLtUjQRS;y
z;!uN7H!Zcxu0WB}0AqhR`^sA2{7e!F=+ZY4MgoYTZd9gRvu^1w6=t9DxobL6e(G7I
zl6P>~HMwFA;GU#Zesg<7EF{(xprky0P7>j-bpUy9fOmyj at s-87B!QmPE^(E6)yL<X
z at 2vQ-d{g at 85RifQiz_klb4wUNaI9N>`hBo+bOm=qBnpf&#Wqf1WAJog>^-PWE`FA@
zdQ;VX|7go<eK<VfU9<z;2ABU^JOVLeA^8S2=|tJ5_}J$ee+J%45~E-Q6+auOS{;73
zI_{$6(wB6M_}A0zy`1_;2q6;yQ=6^3cJq)3Pf<_VvN%)U%J?C7UgN%YBLCmhu0j8C
zg4aWGaY}=_G(7KH$ob?6rvuaHWf^xa9Y0#i10jjO&u6dAcpUoo7wg8jEQ2N1N`vcV
zQcV*6pPkD;*1fl2qfQ<M$PBzDj!Pp_z*bn|o3G`@kEBay{FD9Vi00}lpAUP!>iWKQ
zjCRD6XUO=)(r1T_H4g4rec_iZ<szx(Y_<AUgh=|!w~K&Jn*8hWlm4?|C(CE`xxm#i
z1aDAZJuxfeMeH0~;mPbRG<Tg%Z<}X$#M7g0M6+GHWA!T;38)%VN;Ji|{l{M#n>*Xn
z%&(3s4whPLsBai($U?iNj_0|u%UHX<Tuj6{IT~72#GQ>4*q0?O36zqKg!K2IvH1#I
zad7w7dBF+gq4eSGc(MXy$$R3&+P|=7)y9)C^BWct5+&qL?A+k6v+b1h1>-rq-G?nf
zD23LOJhc9Z9>Rma&C(<5b7MQt)*1ycU}rr8?i at jA7%FUD?z4_M!LHa7ZmN>0hO`}(
z!M at GiG}NUZ*B#Gu5YyJF6Y|}#rX8CN!O|8+GQTKi=aI^TRpXVB3pFQl5yF-B%^0IA
zgGLnkgKABDFM9o at dc<>`|EzK}TvR*^K~Lsr3}fXm?H_r(phG^EoIsM>%gQeSgW)4a
zHM5sFyB`LO2d_G#Jt8AOv`)9^e8tp`6 at QT?3_NUDuyQ8Jh37q3b{cY+sUj*xmM;I@
ziB7}AE#UZY7?t1Ixe4N(jQI>$-Jo5(8ZzA(pxk*$aC|gsGq{OM(kaaU&Sdwt7{KMM
zCSW(n*yLY!B-6-JMP?**^nQcy(3M&?$)9#e;klO`e`hDVi2)pMB<97|9!;3kHj%=!
z-MmulB`Wz6k{y}7#kpIIt_`c4l(F9ax!Y+HK%O-W5J!0nTGZJO|9#*OE<OQlua?j@
z7LFr0_j0>kn!2*%UWYrdF<pGxbfYIvOi=bJL7IA=V<w1QF3r+lDDU(8?Ql(IWC(D>
z7u at MBFElm!!N4{@NbTmjDj=m2Vwd^*)R$S47{53r=YAOrUd~Iwi6iZjKVzzWW0Bxa
zN at 1myV=>&BPI%CO1??|`9F|aZ at z@uV>p?&%*D_y}fY<k1pEPDRh(d>nx06grUl+^z
zkfWO?Wkk}u4%|&2KV&b((PYX^&^}hpXM#M9)L<6;0z2$WF#QKXF@@_<T^u!FsbV@&
z+HSjzui*UC(FDcSBXx6mVfS{NABvvTTaGzw((xB at 5AL5;U#XUc3h}_)sXM86=P{$-
zx{PCjjh^3iO>hLf9PKp7p~|^GJ at W4w0f$|5jhju2<!^w&KQ5lf=lR+dxw6T}x+9YN
z<fQWSa`WP-iY7LPZJmEW_@`ygIi%ET$*k_dYa<<&Hzrl)>C5cBAI4VOrC8e^obgO0
zfmg6Ezv#j(@VxPWYu?`HG9N>x;NGRyKm`^lg8UN<RI at JAXd>9!wu&*CDW9?OZ%E`5
z>K!_POi)v&i at UfiF7P;T=EvfXUeU8cYRE-)aO98{`v!e-6~}mtk}c`Yh+EV;3ui2!
zAG_#GepKb!o9*7LfCVpf;q7?GGUNMC`r0)QyJ8V8LFwER#(UyDh0W0!wTn87G=%(D
zIPhyA<gkD1mv%#x7k**^3A^I5@#DaKdABD9dNEB(fV`}bZd3W8mNX`{Dt^C8XQkxr
zPFtaXLOp3QuN}BNJpr!Rg8~@0&>}Dvx=YItNd^RPl&40_=>RhW2KCapnq7g<11p&G
zDvAX6CxRi{K~O24-%<Pwtr-EB{VL-oRZVZuQtVQ1qbDxys>K%oCH)26I54V(nm;%^
zgY6=#oy{0{+FRloe?l834 at 0&haFZ6nDp|gCZ85|l?YLl7&~SMx-5oto>DN&B>=-))
zq5vzA&|q{9CAPaI{;~A at xqd}%tg(dV*%PXF1*1a4ykcFMs{OVk+#CF2RTu3!Jnf_Z
zJZSg(sCobP3R!B2bB~d&`C!UsS6g30{46x~^4^}VHj~>xR+obP+{XYehN?=YPO8Hp
z*5kyW?v=Iev{eR`*30l^!J98EW|jH64R{ZI0~+6;a_IcChg>Mp^%`)3)<K)=O!Xly
zwrmulQ1B50rW7_=hG#9uE=4}KSj59BIG7L68I!tn%H at esE1>)!w`{hO^i0%TpT{Vt
z=Ec`hbaEen1t|qoX3-#4eUpkEs`<hPq&JwF{NCcbY%|2_4u-!jjpBVrTHyNU3I>eC
ztp7e48BuHTstgdg&cc~5W#+ndIk|f&!n$krw=B2prXZXS(gkhDB2;wwI6tzKd7|Xz
z^S+*@bVTs86fMkq6+Ks>@=|nsJ at Zvmc@^1iRojP-$k-ORhM(nPN+Tb;KC9a0a?8yw
zbVXp$w6^f<RUcaWOCDZXVcXq2AmV-;dhOp49u6GliBjxj!6wnvHb8%KM(2H2`1wgs
zuI265H#IfZA at Ic8ymz7YWY1qqdL2_|AD1~bnQ}T$F6X=ZI%i^1d2q|nS-tYNnhj5X
z7Ah^1vSxml9mg-ixr=Nu>l^8@`3CyBq at Yt>)$?N$Lbli8g4?aCnAM at D7X4oA$#h#E
z&7PPGJT+*c{zggduX!(9N*u#^R!~Y)PPSxwI2VShtP2yM&S&akQc7OsK at TA;5uZfn
z{}FagvAF<ky0+U>+je_u+qP}nHcoA~r?zd|?pND(_x#ypvlpA}?UT&SBr}tFAIY~{
z5=vVtEY5A=n+~mbT- at y?5aJvTMNzyBu*7pM=9ZehKCM|5Ojc*<p=HVt4aZZwtXjKA
ztaS&mZvsqqP!Z`8{2xro0o5W%{#Kj)O+c21s<n-AsAWoTUDdawO1|_p!t1m9f2q|n
z>d9wF20GDucAI`t>^01G^0a#m_1&JarqTK57*s3PvO#9ZPb9pPR at nM-Cuv@(g&03R
zUkN{#r&814LxMTQn&^s=#e<f!Q6bQ81z5Qw1g?1(Ot37>(*T-EZ|dF^E^A~j7T!$m
zSAME4FRxga9OJ1xJRkNK{p?|GY(_t3eLKCcqNx^>H-QuQ>HcD1+{N=*U7z#I8Q~Lr
zB>y|w`Q(%=F;yo)dB1MG0%*h=s1#EgM9dyKB9hjBl`6>cfAH>~IcVM$xlM}WtNR_y
z+>035+}V%gnpRRO?wil`6AP=Uji=^cN;B#fS6S1vTp at wT-Y5G|>swN7n6aXL+qCZ$
zS}8P&u^*;t-8I0-n{ZYd{nM)H=8Yj3X at fnPL3zZLelq8>NL{!{vXC2x#eZ5$I?_j<
z at ow0+K8_B8CB=?m_b0fpc;)D%{;u?6d<~~7YH_amEZs?ug0jR!7Q(y=`+V9qJHK<F
z at 9Z6yk?rooZXGfN&{+Dig7Z9fOKA4GGRVXk#=N<j7(n2#sIJD5y*d1R5mDy_O;ww-
z>Az{mn00a<dW6t80T3rLYOcW?Xif(s|6)*|%W-Wphhkj6$Zz+eF*33K5VUg%UjARK
z8SDSSnlb<8_#fjQGa)kzC-eU_PXBKoA2S;($A267{{QI9m=<sa9m^#;7{Op~2W)qD
z=<92+(!h~z-5_Bo1mK`f>AKzPYosmRAXJc67M35<hhBA8d&T9)jgIH<6?Zx1MCwYW
zsPqk-VA88A9Zby(jaMKen2IV|Aary$a&&ZdFexclX$+h>elsvB**{5*CEa)c0$?LK
z!hF~@as(IPQL42~U=v+ipsGtCHF`cZJ3e%DARJiOn;)<Z?mOV2K)ckxK;Yy7Ro!@F
zSb<7YJN=8}3tI!=TgU!AAQmzfz*SvcTX6m*pdvPca;fA3+yNkS!yqQG*A^g6z-8-M
z8bLZdKgvO3eFMY8f$<sZ+uJ$N78g?{HzxEFlRyrwF7-fVLD_<Gc7)1(wSmA<0@`zc
zBqkySkR>|WoS&A;^{n<b&>R7vy8e*`Fq0Fw8HZ*Ta8BU9X<#endmu8%Kih!*dw)nq
zpzn3~fRxB5fYXo354DNqi#qe%(9q5bu*Hd`r8xp)V-qlNGU-u<4v!8dkO23hexLx3
zxwiw~9K3}kC at Tcy=P)kRA2dZ^pnlMQxuT7cNhQJ2EdRD^x)wRZKLyxcb6`egYG(!A
z<YYhQHaf4Z1a%Co%T4~cSAJz<W at mfmgTTPd(%kCV8cJCm(hQzkT3r24%qu^U0qTH#
z7Uvjv-}u15!1N>n5GRNLJ~{eS??k0HSHQPZ!#8s<#qE<@ojXu^U^vj5R%T$|4^mf7
zpdDdAbP~<j>WBQOKQagnP2bYO5V!#xb8D0Et1g}mM8;QafB22b8StDbuyy>ezWa+C
zfc?9HXU4|ny2m%d&xKEhXfau`sp;8I?yG)YSy?w^Usggec;DE_IEcX)8MECj2H+=E
z5kl)*_#j>fi<`w8=mucZZ~aa%V)p|TaGW<O2>WVJC+b~iB?y!WAYL`zGhqVuulweg
z{;Ey>;Sc?(xc5hW`ynSivod~2%Q|NG`5A?8YHqswqyVDTQpdOjSEz&32krd9s{nuh
zSfCD&q0_bfX;mKqhw6bMb~|SOshMBUTvz}#sjxXSGP-Nk`fjoQ>@a0dbt5$OHlNgw
z{{=+yYVn<h=+i7y)gO;wUPt=l6xjFsq?eBDQsz?DUzdqpjvi=k9Qrg8h|h#^AIzgM
z=;og~<A4DfG(F?;Qn!x^=+>hLh{c;CM4w_}7<y%zVG$4k+eiD3;|Q8Q>_>tR)c9&Y
z1Z$A`is9G at luqVPq6XBsWIqI9koq0F20X>wiwqf{`TQHiIpHI=Pv_8|gb^bY05v6g
z_YYEh$G8h<r~DB!pr`IdPLDpf2Rkl&#tCdM`wxWuAL#f$(9=Jt>p#nzenh(r=(&24
zIS^kNjKIY~Wc!ppRtJF1AYCA=XBXDr-BH at Q?(D(vN7tY&jNn0ftEP1PHrIcee|-18
zT?0DPKchMNhh;8p`;0zXDMlHhtFH*U`lwCVzu?#Vs$}T|<p|AhNj}_>(#PzN4bGT?
zzZcU|;B_!ftYKVQUI!t}pw({k*lYA%adrD&zTGWvv8Vim9Rk(~{v2R5eHM{p{)A;;
z_U3Qen^pC~^+r2?!?e1)z8B$e^nLyYV;I|lel-V1cNhiuaQ1c7-MZ8Pt$!f{w|w<S
zfOo-F@)LUaulNf%g!6}k=fz(U3<kOXbTU(LEF*kkz78VpgnijF at 0xu4wDliwe!2xm
za|Qse-F^~aATRh=eqcgDr#66Tc|QQ+v%q?>!Lb(vrQg<BalOsp*T<(;Hz3SxEpPI$
zZgGIPA2RV8f1aP%ldsWtfWeA>_}8dnebCEi790h~IF^a^n?A4ecNB2 at mm^R1F7eE+
z`&qAYVA{FO1A%Tskmi>ite+%Prv^vh_n+S$3G~;`{-gocZQsEC=I76lU at Xo*!UelF
z@%)5sT_*%cT_UxB!@iU*0XhHH_u1f`p=D?vGkX8-sDAfT|66_jDgi>oKhOgUUER?B
zb*i=w7rxC<f!qhzubWsCy4CVcF+0+7wl(pT4w6l(d4O8(?I==s*P?10>A5W^hNRC&
zzHco^jFs&Ch5NyiaYi{;t5$GBN0d^3;vbDeX at YrcAu-oI-n_gxzRbWC1$`oJ6RJi$
zT~CE%XQrEN?-HJ##}q#t_#A-hdgXqiun%>PS<K37K86OXbcS&@Q at Aw5#ef8ue7NIY
zAeXl at cW?sRoe(jOc>Jz6%Cz2Ybz}eYo#Bjivrf)*J8C?LJY*WwIfSuG)P(jUq2}{+
zkh^2Q)KB54dLT$5tw~t&FEQ4?pe>Ko(#w>cBe~eE^CfO8IhUjYjBJAZ$8tilk|e1G
zs2M13s?mmMf2H9&*&<H!w`E+KpVS&Br>H|6GTh%MVGYnVH}^U6%O^j?a}Lhu9QY4(
zEu<d46b^3P(rVQb6!MS?{z;H?LPG5hCw}+16r!aorPZtFXc1!3vWA(qlIBui8bk!V
zd`QoW`>a&^prhmAr{j+)4zSGF<W0u+{CdKOy25EZg=N3Sd>3R8)QMsk!K1>!c=JHN
zL=npqwscw`>mYVoF)CAiwHAD86fBv-!1=`?vrm>wdVi;#9i0Y>29C?D#M=p*BAnoL
z!&{B- at sK{lO2evU#QC5i;VxH*If`%&3Mm>a<mG8Ei`Zf}IUxdHhj_(CKu^6jC>qXZ
zSK$nKBGOa|VdBa~Qz8{9(oNm9nS0 at BE8|x|e=cUVi5Xl`^8M`SUDbFyo>QPAmYvvP
zAXy-Ptw1<sF6pn>l at D3VC4fn>|CcGCx<&RZ7XsvrW#e3YV%8gwKL)=UhRw#1cP9$H
zv~=S<-px+vh5mQ6MN<543ssjb^<xx=R~FD`Hi1%s&3>5#Mhoad%?e<_C&Gt4+D2>9
z0i#@-yh<|f3bHy6E>0*qaj?0*(EvIwPXhE_x{SYe9AnP7dy2wD%huBria&9PwY%D7
zrBZjW0~w0SyK=Q0Ub3E^9<9dl(aY&3l7`B9Lzr58*e*YYkPgLuv?0ogk15H;5JoT;
zeqT1$&J6qg$t{qd?hLZ=kNeG at EW%vTE>R2kaalctwQ(YYDpSfjnUh2?)|=H_`TXx(
z3Q+|U#maPpR4?mclTjiQT`8h6uda4O<8~{gF;F%NZ*uPVljD*TD3qGQbm=ffQjDqX
zaZ*lH<1L2e0V<ygJ&-F^u#uNhWhCU%m``jl<_JwqDW6?seK0Kq+t~|j0(Aabcuk!u
zQ^;C%T!_BaRdw}JSol3GXkAANf&)VAIJ3c1@@D-z4 at y{vx*25MZr6;qv at i`Z(c=@T
zuZ_bC(vu0Vv2PMtVK|TxX82OMjgmq)tC5!#)HILp_1TbgCHw6=9)a3+&v at a;!B~~w
z+qZImIa}X9rI%6NesU$z_$Ij&*WJO_Awy|xQ}5?7f7{o%ZVh>Mf8h7gl+unCurj-K
zwYn=rVx2E;ILXjBwTTNi>B89;haGhV?iq0vDrMM04T<CeEEI^3%7newk~Pd&m8siJ
zlBp<d{BZeFe>0JHt<PNz@#ccZ!i#Pr?hYP|$I>g*D`rw)t9yoSkH_toFt=@dP$f4$
z?R!<XkCd8)Pdm+*G|&AaesLv9lkL8Bi@~UceL5Z|+fSd{kCWN5J=aY)Z&y)(PO<UN
zKJETCgsk+t+)1rll}fO!D5F?O&gJi^a^dDD(#an_7If-6kf65b(ruSD at V{&wtQh|^
zRCug*n0`8-qLTJWbBpU<1sy&cJlqxlGPM^ST|#R4INl)7>hZOl<;q{UE&UTS3{`O<
z7*}?cL3)YP<E4i7I&7l+nkXn=)A^D!X$?dydAM(&<H;@8d~>Zr7BkASteT;u_cGii
z-ewP3e&B8)=HD{Gqe;oPGVOgsX$YjiS1&Z)nK89)G^nwH;id$iNR^Gd{tWZmYC2SH
z_gH<c22;6#);FlYn^lTC>|$C{L*9VB^K87%vPdP>U~-RS1+738HN|`fm2#N#V2JkD
zB-*%k?_}Lx?IZq~NHLMUo)4rk1vHL41OfORG;#W<w(C3}es`t%7yNWw!OAd=ae}!&
zCxJJ(i15@~1{&Stlled!yU8qGXfQ at iK*J?=a0_?7G&yuv9m<6xf-^+OA(^BRXeR}e
z=XncsMbN-Nu}a>|tg0^M=6#x3Z6spicU>)$jTFJeScfS%jo at 5#W+9VSVMxzMW>ftf
zja4v!_72l&26Q!QMwQ7S(*b5fi?j$bUurX%B^_bou%Hx#=ehva5#DtaU>R1_i`CYl
zHeMs7rta772s_~?00hr6#LdHS0Ll5LP0GVg*0!%R0^!eC*m^e--V0j3H9d+AlhwUv
zG at 7QT4$&d&xn~(;h@)m6Yxs1LT#vGtat$Y9tTIeFhlt4y7IN=hn;O at HP^Dlv$~m`m
zs6S<i2b(7-I8vr!q%^TrXJT=*N0mi^z;y-<&ot{*`Qj#=F5`5dD0i>NJNi0W+U7Rh
z7thYhew?C<H94~QYre8r7P7>7+?m8Hi=Q9>m%7TnLi`KJv`afK6I at ob2t2^U9Q0yQ
z$9ysV%#BjdQTNv2m*>Zu&qK(4hMvbe!90Uh4iX8hlXUPF+VEx(T5+2vmB}GpUO9>g
z`ZP5Al}#HD(V&U`s08)0KgJ*LZtp6d)Y?Zy5is{PI at W%F+YRzGtKM%tZ});YFH2k@
zYfq=&5fv<HWC{qkG2uBQHg6kFmK#saj^uu=m>{zPwP_J9{W|E}q(Kym?%Ou;wc3^R
zRm3&FO0Xmlh*4!aa6PS}ZAPvmAIX8z5<gi)k@#xB3tla*sEr6Tsj2D#a#;Mlt-*Rd
zosjrpoZ{nVu*M{5&;AnXu^se2QvCgty))6s)K*ha{tSz=S=ENVr+ at YVm)sJ}N}
zku{9c2!6vt_}3P6P)UJ(q*grHAeITH%Fo=)pFrL*HffOYlFyhSDy;w?&$c+uKjCNQ
z{(hP~RmL)TKh*PUqY_2119bjji4Zzavd8#{%E%V+B%!Rk%4`~@9?~H2)|Ha|rw)tq
zBqXo?HE33JSV7ci{`$ZbZ-#0ELPlU|fQ-RUsV9mqbZ>8ip3ax%{=*R(Q!C)DRcalJ
zcFHg%xp6%RH$ofgbWMBst1K-_5Iu<zW}auNdCdanyktmC5;KjqPTlTeJ5vbpzLYZ7
zmL$u_+`e1+Sa+9qKGN+NKDd~DqlQq7&rxf|Ygbu at mIKQrw;fBuh7>uB4OZygMxeME
zTWEM>FHX_uAhb=KY4WdYoaRLj_JV)mko9L`tMp%$^iWQozstfDkp;aIIu?hT?}8=A
zuCEG(xl&5M14(tyqDr`COdkUSiFa3)80GsZDfv}mmA;~l8gboae(`i$oqtBwC=0$X
z=0D349GAC{jI}nKB_Nd(p4%yM%e>uT8|t7a2@}5 at p1%za$LJ`W;8r|Bo^N;wO5pw4
zb5zMFfybEW%1Jw%&FL6!+Ui!hl3zzZaKn;d^9bKqY6Jvq!=Lk}E!|{)ny)HnT)|x>
z=9?TjJ0R^@CWazgy)=rGFCtN&|BCE7BE4Ac)y32(#i at 1O#CzMz#vWHcIvex{J+?j+
z at Vk2OgBf+$<Vw at mx7?XLl4vvg64{GCGoiV6I?fJR-u8dmmNUnTqHjL39pA2dm=5*j
z`X}Fa&pzQH<|$9dluUlXLG>X2H_!@8a^B}n{p}WkGlD>LJTs9eLxoxTXjeI6zF2+;
zj?0zLl&N6LnBdd%Ub1?J%fk%+ME-j&D;Cki6TK5W!3KLJ%1ad?+%#0L5xRZ4Wni#}
ztHY{W6Y9bf5_*c{s6T76RaD{|J<R&LM+7Du$bYt*=1og`O<5Lj!%TYdkM<9a?LPf9
z^c=8GJcRqLlo}p9A~8PnB2jq}Z%&4CA+UY>V)inDj|;p&w7$kC?w}>_`UxnGIH{j&
zVj5o)t>sLs$$h^5UGg+$HsNA;qnR|SEHBIP>&8<W4{W{7R9nPfZ<(7#I7gH{eNiXP
z!=REezYXeK&F(ISOoH=;4g5Z#OzHOA*-$Z*f5S^{L2Knev;!Vb%N1btOMLvLA_^O+
zJPO2?D~`7Z(~QBw{C3%i8ckKO_9n-7kSji9 at N-QmP)mMS|1)@<n%|_zo+^CFeVX#_
zQX^X`n$e)n#a!=bTOCH@?5WUqNf9ICGiqh^JJ?x9dLtxlAlhxsRBqfNY?Z=|CUE<9
z>`F?0lb$$=G3I{EZCsH`h%wBX10swFFjc>Q at x|=;Zv0vl8&OFiAAKY;xI*71&<(Fk
zL#pa13l$Uz$&N>j;8^f#+WyVblv4nYh4=&x$S8W-Te>Yvfa}@0y=oJfT+x6gF!W6J
zg-*;jOu#-SupjyUyZ?G_JT6e!%=NSyEyMaP6R05$(m9N`Du99G$+QyU-VHRv^oa&G
z+7_xedKM&5kW(hfpvJ`ZE;qnqx`NMdG&e`X*1{z6%)D+AdbGDoijz5+;RWNdZ#MU5
zg1)gjn79=8ckzn6LNTK4Z0j(aL9vU|aM;Xh1~tN}1w0_GXXh*T!bpP_z7Oq8qQPxp
z9C--zjJ6o=v+CLIP6j;}_b5;@P(*bR`Y!&lwNSc<`5g?{s;<f%=)N+;%mp at CQ8z`w
zGg`@ZWc$U>N^Uk+KrSGtp+#kUi<F;<!G*Pe&t-fG#}+EP49RdN;C1<l3fm{-W7aV!
z0*hBLR(O9w&9L2Kb7oC$?S at w^5&1d213Zo5q_V<^yh at om&DQI!Jh5^N{5fs0qBq#c
za{8|uY4<`bHY9eaQ>&>AVaRfEc_O%;f!4unzM!2O5>I*{R^koxQwy85)cQwFz%SzB
z+}!F-pEQ<7jSTW)Pkao<@tar*wA>RC_Kazt_0^=scySoWmhob##Ce+M@@cf}(p at vj
z9ZSp4N8gTWdz*#p>UeemxOCn8CTtwS6g&QSr9{6#0_+b7qt`j4VSgkw?(c1WJL#5j
zI>-`s1^-aoKqKfHv?rYA^iTyt^9q4F>}&bL)WwAJ8tJ_dn5~#q%f9;#Ah9YHWdEeG
zIbj at cx-l;B%p0aUIiy(8LqH5V`BhVQbq`kk$6A*YNd>Fb-_-i?@3US-;STMWWM`J5
zEnc7foOD<k#iz5+t2WTvJ|HHC`F)LX><P-EJ6hk(y>I05pwVUL(1A1W`*YPqnxKr@
zNMl4^^R!Zevsu-z_89S?j~P at n_%N6;w=|m#UTMCwoAoOxqHcf%HN2oyV7N$P=GAOm
zQXNOoQ4J(ccZ`zHURGMSo?r&i*#ehWG81;GU33o8&{&e*CPW(!N#T5MGH}$nwk-Um
zy(0|(&mO9I!)Sa2aKJcI2MIvdv}2HftsR2Mlm+{0vQskUlIwjt6T at RPm<$o*{oArl
zx5M0Fa_}Y+G?^2S6kY7g!th*DIQv|;lV2b;k+P^jjd$JS7ukFZSpoYHt~qoPdpchY
z8v-8}fxQCL=`cvJAJl_T_vmd_a@>WECK5mF`{#Y&1O`zo8e&nu<k0SobJE~p8!}Ei
z-`yk|cUClNeOhFv*1AZ$BNfu6_WIGsK8uS#V`R=vh?^9pxBVzOQjeW1Oqnh~3!F5f
zEuRFBC3S?^VBU at mRQe%2ldgr_!__=mM}K$u+0pZ8|1N0Wd-+Hz;D*v|YdRbSJ2}Xu
zRnJodnF9gr$Wv%?j<mN)tH5yrBW1!RbLrz<1Ib-!$TQO3&`QQ-w4>ERe6jV5c6ASj
zA8?a1cJnc{ao4>w;t#zf$@q^N at nZOd0YG+qhJbndk$vXVR|5<(qIY9B7oE?;k#C71
ziyV+Rm0GQMP^K+9d{u~9YB%wEVUNKiWCD^8n$6#I at i9Lk23M`xy!<6z#q|zr?DKjd
z&v)9 at K;d-GYjo2eM&)VUTqt)aRoR99m4d1(N)BQw2FZT#l#(LE+$*aDd-CVc9L0bE
zi at 6RbZ;Oq$n^)oq&y)yF+mX<HL3qg{yWFik at T-RXj{X%pEp*!3+)@i}zLC@&r$@cu
zv3<_wYU*dg2eI{rd7(v-!J9%o7yNcT at 7!G8<a57FqI*#(_^^qAP~dL!zFm(yykKeE
zeg+FzgzF&3I}&_u&f~Yt)_Wt`{xviz?*yAW_k5yXBDFbe)?-CqgS1D^{fLgJ`pdw~
z`K^5Jx5L+Nmp10 at V5a)<wriKB-uMYsS#?@u9{(v*8Vo=(8;z_8o*B<J(M|68&-}Qb
z@`2cy&I)-=5Cu=bzt3Zsj0jsdsS{zeh<*#k&RsJ&zA at Ipm28923_W<7b~ScS2fG*8
z+wU!@w`7dCyTV4_0+$Hr^Ub8rTuA@%-+wce?jPVDKR9OAj+AEKa3H2+$>Lmj=Y(7T
zpcA|+OcLO`L`-%E4NL2UB&^*CU|ODOLc&B31gSNFXrYU7!&L7DF~GJ9Gx%lY$12M@
zu5;!kA0NAy^(c!P$t48azb`|ILLeedJNWm!Cu8K5T}~pRO0q9fyK at Wk;g{xaM-Y3y
zl(okHJj at ud14ls-z$EZLxt7i*Pz&hPzVJ3QUC^#ZO95ub<(IIiFM~%u at egGQB-d&s
zmc-tqs$=HmdllK+$42^@U=dCzyR&`CofdRpFGn8cYQJGNsU<pHbC*?X2 at I0%fQBsr
zaeq7WSg6M1NAe|9WnwKgQOebe$`;5TbiLdzy%LL+C30?5JQVLgr+fBciL*C4YgALQ
z1D!U|qv5MP*ZSBI8fz2xW6_xa>FB*>y at hNF!5K!R2=&e{U*iFoHAQQrfxJ`@p1Q8#
zWwDsmFrXDL=egb82KG5C!WJ4XoW6c5JBO at Mo+M}H>DTkW at W4tE&QL|a=zIJKX*HxU
zRgLjur6CmKN!dL7kJN4>?Ijj(M=Oc?+lBPFu+a6hGrV}2Z$xcgo!w$hYriLnR`JGX
z%@m5H--v!sTnrC3q15m3l-=a9!tn8TEUM|H8;ivmaL?S^rfVf&_*854BeVuM;|kEe
zZk^l2Pra&g;0q#1MRA*DRSk%nGG8w1ogL5%oOGr&%8z*iy7b=Kx!9)0Kze{07dSUp
z3hj`eAJX4o*+g1)T0I;eI`n05Fi>+%_%Et``iW`?KjVy at 8e(v69|O)ox%U_BhPjsW
z=o at YxaU=ir*{Qz8{HDHGnI;t92Yq|@)*TZ`Jl3+gG!K!NKcnt<?Vzy+!PdQbg(?6r
z_ at gox^p<RudHPnYH4s;fjN^C_EIolUcd#Z^nfJUrU_5|64X!NXfgYe#^Leb<vo^b+
z1t4D69lby{ttAkkv<So1p-JXYdo^{#fWZir?{JjdMyF3iAY(FxL%tI;Y5^0rcRh;P
z^c2N?$9&R`2Fm|NryPxFt*cPYZ>hv(Q=?L%7R6hNUhKSoJ)S&#EF0q7+%Iloc3;h+
z-dDcDt0o%J8YhB-4s8SfY7(4}sHTO1gZh$YmjX_y_15<DRzQcy8rlpmqFDa+1U;Mt
z-T51eaIM at gf|MGcDo*-*+a(8WjJ at NgN7AEX^{#H80^cg{2tsnc3|vipjzA3_RnZ}u
z;4bz2#^0RWCY2%c at tfv0RPqHw2|)zzmIiP+Nu*X2!FI3QQ57>2-o!X~`EMX*=}L6L
zZg>pzCqAKSv_y0~)?5Qg;<FeZiR_g>6$SCH5Y1m1=@uh*y_ at t60Kdj#B!ibw6q{6I
z<(lmkaSX&IV@#pO>3)PFQLo+UWKiAIy{BIf2;NG26{P4NXGXCE^)P!B^-%kinP at Sb
zT;Eh%NhmaKLaA>7K}uWKTyIA;{@+}#(OivNpjk3VB|UUD%gM7ACPnvx8RC_}P--T9
zSHcIS>RkG#Vw)T1u<J?{vy3z!FT+iOU31FfU|3vq|EjE|wVqV2Pg!qpKtuV5n*D+W
z5^THfY%o$Mn-5G*$Hx9 at -DQH0#j=|d0k-)>(qgWvqN2ETIK*M`{n>WO#G?e{l=8+-
zF=cB;SDe3CdjsOwz_&~;$P^ZL{g<K6xOefhc~nEfve8TBF`N&FM-+{m+_?#71s%tq
zWg8$`F4uGo<}E5cg0s*|x~A&Pp(Dv~r2mEL_$X484Ub%2lvb$DJU_s92P>zs at K3jn
z4OXkrfH8T_YG^lKW}Y#uJ#5q#wrrC=d&nZR^RD;@_^;>Qc#jlSlPp8On?17!ZSXZc
zsa+~h*RJXEtORdxbY;EB6A0bkHkX<;%*W@)-=IeqZqPooogO<+4Rf*TS9xdzI+txL
z{Sxk2c5J(#KE)2mcaMkF)>;Dd({BrHQ$I}B0$K-p$*-rbxz$xyHqR1rXUisg7nmPf
zF+77-KWKlOrF#Q7#;{Ad1V!E#8I9bc2t<-zOA%P*_k{Ndhj|rK)3)A4oAOJwlMG~L
z*haC_45d|2MMyO5aAq?Rmz;~PbV-eyE)JzdubcYMX(dd0<bP_|biL&0JcWx<Yp?KJ
zOe%djtsnyOC9G>hr;I!b6n6qUCR&2Zp_f+NFrp6&;+O64#yw~e(@<c0+^I95%+`^d
znXg-#;ycRXqfDOGNu(C+d%0Ur&RMLdp^R#byvy_qU69nZ424-GoY7(Io*a;LjjGT+
zmoCM08<dpl2riJRouyg<e0D4|5^K`T1Q|`^`F~`_`AF%iW({XbyPj<MxH!tcXuYnM
z(q`Bi(t^>c-_hBt(mP>(PO04zr7w<7d4?{Gqd3y!c;q(vJ2TLjm)VJwk{^eAuqLk&
z^Nh<SdK9nkvP-!WVOz?Pv8EybzOGLy at S_PB$<|gIgM at r)mi-@?9sYd{bg~T$5jh1E
zle=77(IfrM!oU1UWn at OfEsKV>Zs%=9=^hcnl}|~~RSQoKL7^%^wRNIlvCf(-$7}7T
z^QrNbUSJMR;Yyjw6O}F3mhWAb$XMSLtKIN?y9Fa;Z*32-2cU6SN&n^NC1pJdd}pN1
zp;4wUA)M`vhOM<DDpN<7rf%Hc?Fn5TPxRpW|N1w8 at 9FZg+A&S((Q0q%`nv@*z?&6a
zNA5Q8D`)2Y2<<MRU_ehF_d?RLMHC&4K~KuEDbkr_)yMPW&Q1})0{$2z4P->h{A=9i
zN at J%2Q|BVys>pd2n11x;BIh$%B!Ox04f-po-5XK{ec-GD&DZ!C?Tu|be`a7f;WU)E
zc6%tBDry&Au&SW`$PW|BuU*iEmOeebfGkErdfghu{B`dg#fhXgm!|T!p}jPaxjjlv
zQ|Mx&(!Ye>={3Sb^J@}g^1-gT73QO2Ql;P%6|Q|xTD;ZWEl}xa9#+~UxFy55Wm9Ut
zE?3|kQgMxg&pPG1Rv%avX$Qg=GmRlUB1$E_iZxcHMH(T{r}x6whI8qeZOWgTEU;2H
zog5gZ8zT~EK}t=<eid}=#Y-wUg6{<bSGX6#Q119tLFqv3m-OFsh!fBS5qr<2fp>Wo
zQt2*EM5{bE#4t&`qS8b77w*>8!c*c&hP~Cy1;~G&LWZH?M|+=H<rPg%svl(GDCb6A
zxklhPHxRkd^Kh7o0A(y!(XGEg$3Z`tta2l(V$o1T7anWDiaZCxS)#7TYzG^r9=W76
z=Bu0&GgbF at P_i-Tu+y}p&XxLe_La5*h`}JMIf-Vd=LWB04+nh|5Sq~#@zj`B5LPNp
zBU&C7+27b%H&18k1?3>DF-JV8Zm_LCY%Jd>Dxc~F=P-MWdAlQsHecrKXM;85jHnfu
zu%M}Jsrgfj*^u~BG;7Zw94Hw_<1wc85cUayTZwJfWY(-I8CP13J&6#xvV!zgcKz at -
z`ehC~=(pRT*nGl7$j>=Y>U-Z=gMX4kSEjXC9SWR>HFbi}WmUD58ML{op9k=r3%^S4
zrV!18VVV)N9+vSi2u8`#jXbqROGEPVJ3GhP4N<*jtFJ)S*W4o<krfH at LhbZjP{0w&
z7BU^EjQ+G>bj_^)2Heu{NEf?4x>WKXR=g_75dZZiSdw;WOf-Y%e6!+i29?tfT|kn>
z2s at a_?A~Z&UjE>EFK_8o7lqQuio42ra4lh*>L|MBUYSOO8iwiAlR7krw17AXXbeM<
zsfr|HNywcHrrSiMkUfVz<0y!M*7T{;@v>X}6dxD9<LX%7f#{f_Z&I1wL4sS{XM7Js
z3TxwkYa;G!Ad8qy7{yQ9?RJb9jN<FwJ7A}bqu*drWXs{J65BYL$BH5RSLAo=B^>GE
z_M=9>!BkVlVfF4cT4zYz*}{Z`sDyO{I}rZp75h>Sp at eg9&#-H<E(KYN7MlfTUj(Wv
z!sk1KRf#M5)vr)X#vFZnsPfya#Mr*3 at A^n3**l1+p4|(FZo=%TBkKuXh7+Sx^j at 7S
zyVK5JlQNs(HR>{y7MP5HC3C1KHGp$t(@@6V(3yDd3j-NbLdr|?jA0Yu(_!gg2j6C0
zl0d~4TphCVT_4n56ymZ9g8I$5lY5RtBPpr05{I&2k&a@<I_O5a3^ZQKiDZ7KVB5KK
zmny|mS9Hd$A)IE4I;}}*P#=llD}P~9jf+?Rp8zx>q%*r$$74*S(_Q}~B85`99&s&f
zK)Kl>O>lzrd3)oI^l>OWU|ytN2Bp|BUhOB20G_&8P`LjXt{@F&!!mGJ%VR;%ke#?8
zmb~sO$cEnLfGlPF&)e&|CinbkalGSN>t()=R2&OawjKnaOQu|?ZffjwqST|CYCj=@
z%E<aJM+?~|<%WyRx&p7bJ}Lw=KSS(}(5*G&h1dsf(3mkH%oWAU%OmQg)Quq{Qj;HJ
zc9U=)x^gQE3^c9>3|7u7?meB47py=*+2Yqb+)<*l$IzzXveAghs41Ian5xQ;lqquC
zS1#7?65pKzQ<mGxsr-Om+K?dNM9OcL{tLLC6VUL#g)n;;J~64|<5}y}_7>WYu%J?O
znvdl6qvW}a^NPdBbn)NjO?jm#4ng4W?EIIlOCQhy)K9)BEe-8KLNNS}$sFf==pH^s
ztWEU9uO0d<UK#gBH4kd*e{&vndK-W;=S&uiVpYdTy#dgSe3t$Vh0wL6xy}Q?@QRV^
zq?REYOsQSr*s at 2T#uG+Df9_B}u69AM&$Ch|)(=HABa;x1En0aq1>VxDh)t{mc}y41
zHlM}2EuN|M2T=A_$DWXr7@@p%<(NU{MZ)q9sj_EG&?pixnh&JF<KWPi^)WtV)}?Un
zQHc^3%-9uIaQgQjhnjGgHhX`h9=7j#s67 at Zb`OoU4s_Kb5eU5|NbS?dV9o|XU4Uyk
zRxwuajv0J#FdWKyD7>Y)9`*L8ull*~4&o=ni?zH~lk+6#3B2RQh(sdRe07wW5-{FN
zBqkK=mq_s~)&Jt4jg!5t6)>~AgqaF&@Z#|B7c{()q<Y~i#vkP+m>u>|sE-ANHqumx
zqH=O`So0RH`e7a^{}Cuk2*{UBhTqH86j9dBoE{sxeh$%-R&G!e<swO!^2ge<ZNX#d
z>NRD)2PW5(>j*J#DKdaE-OAcu=0K|hM>0plwW*I{N(=5nB7GJE444%5V9Dy>1Z?^a
zIPK`q-b)A||0GOHHjGYED at 0h>`zu-Irj1Vnc{4oEB-<Sw9HgabiB{TL&u^GTjVXE(
z`*64;d-ef=;nZQAl*_P=_XzTzDnda*Q5-pLxsg0Frmv$0;eOj{&kV361_&J1OP0LO
zy at Eo!f7})7kt+NCDMSbzg%FF%*70xyZv>@WE$k`4z$<p$2SxsjdK at o4>Kpj;t8oe1
zD-EZB^ui?*FJYxnvAro~Hmk$KSrh?0F8memlLCXrt%d!9LZj$!*ONX2F)l^k6m62b
zVUAZ0e1>B;7EFKohBSz<Bt0#nAO7YwV7YC1=u)kBj~HbNl#sCvm!iTf+4AVXt&D!W
zOz30B_sb6sG{+lJP(GkNCGRrRRW?fviOY3U>6_IA!l+7|ez&b)Gi?p4Sl+jWoa}If
zqIssLwB;v&v}K>1vk at a%a>~lwbUT|WyNy}oYcDk~-fXQeZ|1xXAP*B-e^m74^c+Q7
zjH6jrdDcei7M5(s&kgTBO0)-}n+MLc{r7G?KXtIsNlXsF^sZc%14N8~-Tiyyma13!
zn`Ja{Z^U>FEc`pgy^f5NxG^)2TKrGSLAlr99NmjV<l1c-{Y6}(BF`gaAbHl^YG##E
zI^Z#FlSM|So3IRRaUCBzYkR*qq2M#b$JoF_op at a<kGp4&vdCbO?c|i5b*4H;^%4vk
zn5Aso<Puz>>57Ah#+pR((~6xQ%J<C$YLVmyF5 at PMzD?2J3lqE{D{n~igb95WH)o at 7
zx?a9;=}v<q9R}^;g4KRQ<%t0gDfZd)9scnt_JEh!KE)tD-=g<tXvi1Jd7s0`fDo4x
zG}f_O^UhZ+W0G%ol%zg4Bb2KCGx6WyTSRiiW?(b^p5#F!xjJE}y3?aWP{p*oLr$&Y
zg?z`vlY`gZ=MhQ_eCk=T2u4UKWK|cD9st@*63i^c<{}HTkl}Bdoifs-G}hx?GZ&`@
zT^_EKVBDUc^qN_h?j#u5e2FD4ZT^)qtc1N?L*9I3MPW08LS?v(&p8^3V(SZf=vea1
zp1Xv(s{^qa8Z?k(d=G9mOnA#_s6?4F{Z at LgjUjODVuSZ?gnJg(;Jf_9%S84IJCsr<
zkH0ojvz0i(SI_VkJy9lIF60$vS+Zx+O9b8tD-{|+Z2-H<s{*ETAK5X`ohhktMk}j~
z_lF7{wdU<AzhhXiF2FYq+uJ^Ipkc>ZU(7IC*EoAzL}@FuT{$_?E!HA}umu)?9x^X$
zefza(17W4T%`(X;pPeU-tWB6F)6?kiwI8pfSHcyq0ho6=39K*V-WL%pvSQsDYqsLJ
zU&_cfw7*s)ydR|Gdim2A<$Pv<18+*X9EAKG4^ANNhlfzq at agz+I-AqrR>f2CM=2_&
z8-K=;n4=)qV%s?N<d$*t&V%_Ynp|^yPXz;T0wrOcK>+xJd|#v|xijU5087kqbvpx;
z+#%XSy{%|hc%T>3_dGxB=>g5$^aM3r0+T>Av+tVp+VYCF&fE8b;7BczU6~=T%(1OE
zD0!MBS}VKjAx^0h?cl{RDcjM9FV~UCmw7z;TQ*%Ye6(h$G^S<bvLVUiK8K{l1a$@3
zmg{V*U%Jb3<3^Z-WdOm;&MV#A`j_Q?EKvpP>fx1ZY0VYYI>S&&JfqYo1IffOsSx}b
z*?c%+-8pBRboJHRgA|oZm2g6*f=bM#(u`@G`jIiyUY?5cY)TI=Vrx?=Fp2qSs?@`!
z9J@^B9s|?uh~pq9)h2Wd(^ci~d$`uj8wh?I1SJL$q`#8Zkj;Fx20IDAQkMjoB3G`x
z-$U5i!QlKw!e36#<n1Lhu-E$?+TPL8pJ>Z-;e**?A8+s1Tbm_ at oivRPU6_auEkAv+
z$StMsP5u~MzsgQYk3F0{Q|Gp&tdfV;iz^y&XRrI6{w;{0XDPn>xEAjjbCZXzH3{O<
z+u~y?*xUjCkpm)n$}CQ&)sYVgBBh{BDSi3P3l=q?MHd}^FYPkwF4C!EoBEp9h14)?
zDonl#c9$4a{INpiM%;|!0nkT>G0!|b*6|z8hR~w*-54W$KuQ;j#D?yIfVgVUC|2yv
zryF%(r>{I&iS3T1VhIB}Kf+rn5MMarNl=_4&9}ED4nr~iO%AUzUYM2&yVaank1m?s
zFCl7Om?$C3r~`^x*)w~=0F;nndfT$+BD9>gt&zX&=TWBc$Eka(@#4?60Z)J3-)SaU
zGhc!>RLV>nN&BTfeA>yU at sSBtR+ZyDikp=;V1=nZ*q2Hy;9paHqixfVYK>^}g{qcK
zSjXDRQ^w1G!6B61jovAB4CT#e2FY!-vxOX(mzd<rjl3qon9b7guTktbafwT}EG6A7
zeHvE2_J2`GMekOTIpL!Bp(np8WMO7 at Shb^0-%qD6HN^{9de`i=!`5y97h1*e$g6l~
z)aFI7ZAtrknzeAQv>@u{O}C579t<1$GOr|*KoOZQs|iM(oKw(^4}Kdzzo^XDR)Guj
zAY+<Ow^K{V!5V9aHs8Q#mN^bS1lCT^FYMQ_+#AzUiVuvwU_*F*v3*pw*S)r at p-Ubf
zR-g|2$%*|mt~N^8^(r=@RD*lmTu9~L2Na18s5}o~@Dj(Vt1z=M)1=KT`MHIO7sE9e
zE){0#=jdT55gPS4T3Llj%#%%C_w1LCVW>GE%nsG654XpF8Ayz$J9b0Esqb|t+B^hN
z!f{_q|En_^U>&g48<(5~?U4ZBn!Yc@&aOKjkWL%;T0N9BAYAMOUvMp+I0kt*yrY<^
zcAySp)>2jU=cbhBv~LoTM)HcftvG8F$8l#WI{qmIV%XizcEs$O)WqSh^%fnvX{te|
zbP&)r!XTL$AVU3yc<($B7vP~R#?t#WuwD&kbiX5~7)n?`W{B{YQ3msL$E<7M at tadW
zc=aYG*>zV_5NCf|?{FhUKK25ui)3P*W4 at p)f3_uhZ?8ycv=i$i$_%y$uRpK&k?7!=
zVTR9j%sS{{AVo-3GAM~&G_XkoHY=%?DGox{w3T^yugAtiYf(nS(lEzrs|GlJ`50u=
zjxwa^ew6rFW8?2ZC#tP$Bl;@&C+onxy~rHmTZ)`~=p4dew=uJoEXNkG?k&OZ#>yR`
zvT~oaZ{mB~3W#giM7pI;)&c`lER~7eMC9O+o?WjK&wcBG{t;dyJorO(<g2;w&<IBK
zSiE+d(?!7=f&rMr6>L?H=SFex!0;XPVQVDta_|1_kD~#M^XI7!6b7`IH)!r`^lTd(
zABfo48*CGlOEu1BNoXT1B3Z at vh@@z%_ntq+k~i}2%JtgN6v7+QJjY-vy;mq=&uJ*c
zy-H>>pH90{NhbRM#y@#n at p8t-D8x-_tFZ}^eZ9LEpD82u8rUg0)~`%YHM+>9W*6BW
z-X9uK at Yep!_4HtlztY;uiwjwbzqtOG=k@&~RmON)kZ(XA%WMTIsDr^^e%o|qsv*=u
z4yKpH<O90<>aAN7x*2s>Kn+vPIidHIf8IzMFKENKpS=0sOTbAPidWpjW74wRIV*<3
zA)iIPWkIZqKyc~1a@!HAX{ntKnLr at xI+ODcbk>AcUcQQy`VD6r$-aV(RK^Qj=&2Vj
z(z~cI<g>~k`bqXlTe6#)+lYcQndffN3o1{!nFls+I4B-=4s>~MT|zsioFJ2nb1?e$
z6#T&USTKF#I>ce5jj;)53>~1?=Pl3wWFm+%v#ileq3y{p?o8wW<?2;tpvQLYX*ux4
zGN&~)Az$!aw`j)-SbS#Cu7$nJJxb^E(&___O6zte8|y&~gwDmuA6c!Il{!4V-Y{gR
zP_caPk9=~CGSZD~aQ;T&n06GM5a5x}L at IugmqN#Y1UrI)f+QU|y!*PobNy9qNoLrQ
zq>B3+R!@-dI98!n=X$ckN9p8VBe7x}J}7F_*F$Riis~i{vuoUiI50_j+|tffNl%Gf
zG1dG`jum;B!V#J1&o&gsIkIJa$=+$-98!or>>-=LQ|U}#lQPFCTR9I3XIB~vu%>!~
zhlZ;%Pd-zQ6YN7G7hlfBeZ2U-XBqWZyE0aiS-{vnwXz0F9b?`@`cl>;ewX_hErhZW
zFD?qH(Lvc^jQJBTl*?g65uSv&S6T`^HQ7%3X0<OxZjtf_Ek;VAut#DjiG09iHHpdH
zvi8VYPpIaU;LHdOpgg&#WeFZuBkvV7WqykZf0nGUS}Z6PM+UKUrzn6`%H36q`Q{)B
z#e;lhH%WbO*}R#kUgWb6mS9$np~R?z6{h>kFxnHO?CP3t-oj(qNXX2)5zdrvlh0k&
zI!_D&5ulN^lZ55+QWArbZ<5_}?W9>8R0Xq;h19P;D7}_M5$vhqq#lqI<y!4;53TCs
zp4m5NR2F_j>yaBR#DrxtEVfUQ;<E>}tRe>Os#!}28h|<@_wVXGatVp!)|gSpbvL3Q
z>h;nduM?S>?{V`yxM63uxsN-qW1O=Q2aBuSD4w8RT^?Zm+vkGuOFuP3=%1g<T^l9D
z3%{k-Np?KtA*nv~0oHbqrdPZ;@>^B$<s+~0yluMYrlR4I#tVC at 9i{n0!f(rUWDDe&
z(PV!a!yB758Fy6-)F?m0dl_avAu)Qe*T(I$>J_E`hO{?&x5Q(hrQj^b7y!e|H2TzG
zP3*H|RcI>QXRVCfk^;E-e%wUZFp?BpN0$mTNKh=9TrF0y0qvhfg_6a at knxc63h&@!
zkV{N_oN(~0-8ETD0^LNUyL5=r&(&*6MdCkKsdLQ7$^uUDN(P`k<%9 at kN%je(K=2Lc
z)bp=UH2Wgmwi+qE(?@s}<?oE0O$-jvnQz+$+2%4V@|5=Mx*_N%tO&A4j;R}AU(77;
zsQ0MYO?Cc(Wf^KYBR7US at CUR-zC~S^^CL$ZAm2Q at ZiEpuoI7~@btXZr^1Uq4o1<_W
ze_H`+-P+XUSK2Mx9kEWJMQq<UHASrL#wKr`eW-T at Be(HE+4AV7ytnLO=Hp;FJOpOX
zH#tf08pI}IZmDlzgESN-Yi at w0J%d}nA$!>l^}stAd4vz^%%ZV0ifgiBop8S!M1s1c
zxpxd6 at 6iA%6sDZkNNa+ev?h;1T!Xj_n-c&I-uHN)K{3k=65T)=y}v3t0Exqv`c9}m
z`OPK>b5X1QdvLB$;8&^?PgbHpSn=&Xvk&FHDWC8KLw@(3{5mbi0FF3hlb1-c)k0Ke
zL2;qqi?U%)zeiU^o%-lxm^~Z`UAZ<r8l6~R5u}p4iKN??xAWe?!j5E-Cx7p)+)+>6
zY2h(vPgo^^B6&$m82Hsu!6ad<k7=uRdDL~)zi*tbfT at Q?NF7Ea@^Y(ypXmom))o~K
z|6p#mku1bw*33Y4&4t~1#c+$Aw#1FF8Fp+t>`(5=V3Kdur_NK{$ccuSrhE;adlzFB
z_DZOXB|5J%Sf;!#L8vJ?jqXhE!D4O2NZF9>JJR-^0PA}3fh@(8EiQeuXeFA2S71$k
z>Am-=V$vp4Rr{U4(Co7rQ?H%?Y2jh+u?myz*-|f_ZnN4)1!?_c(Pxwm5E7?F(J&W^
zRubz+x0Om>OH7;Rr6!U3u;9)3SymNB78zs@*1z!DG1!No-s~FX_iIVJuvnkJtReL$
zpCi at uf{|Dya#+U^Bi!Gl^d2zx8H<Z*4|8$pRsrVceZlj%fs3ADe3z=tn*0thi&pxK
z>DuBqyai at T^WK_Z-{!8amgIPN0Ka)5H*sT1p<Yu~n5CM at _nP0BopF+y!#*n8*8(Rc
z`6DqOsO4cz&#SW^k9nps3h`{qw!5s0X%oE*qS`cAnu<9oi%0^JS6*H06>s^KRME&h
zf39Aw+9xjE^i}6Lx<Gyd%`XOO4Ds#3X7)^GgYYmN1Ct<$TMTU%mL*A8Gq{yZEBiE{
zGz6m>pk|443~!5zw*BFv0M=b=4okeHGLc!i0D&D)^h;~b3*TG5APFU6;t%OqL!8 at 0
zT^_~@ZSUp~`C_Dlvd9i5VBakvu`8?7Xn3LIPKyKah(>Oa(6;lxgzeIrrfko9iu85e
z3CXzwuARSIj`1q1ra~9ZNBIKlGVo=>{lYC}f at EzMH%zb4VzjQF8+%8%xn7nAXj=4X
z8~2mp-~D at kV&8*KZ?ma>g^26ashRd4V!28BWRziu1&`awW~h}+Uw!?}QrS5n;}E0-
zKt}&FRW3ZH89=Z^#A7)wEX}*dFLh+-4V-Vav8ElO%S at zon#?`=d<OE)4?!ja{XCZ?
zpG>G>MiWaI$9c>gZFr`bHc9siG`dZYgY$v9%VtP$5R*+Mb0HsGyW_C3Zhk*~cGa2Z
zULP|#!nyj|QawKE@^nbau)R$j at P~!~teLe-n^M(bgt%Cx8Wxz#(skSJ36-r3{#AXB
zv7KT=;ucq3G(znz%p%xVRx;rz6b%LH=(q+}rakAZICV2WkM=AC5tr?RdvBnIv>`Bs
zEl$s5fT_lPN<YPX!(-R&`^cxxpotxy7FID!t9RHPP)fOmRNKhKRA6b at w&HK%g2f|~
zlv`R|W#4k_6o&!El381EoN?pD_1G-F!NS&5e6^?&J0EdK&)O>9%btoh%*>uAo#Ci2
z`gSa_nsOY`43?YyMnFyB!ktxOL>Bsmb{<rNnGdUbADTuO&*Vi(44S&zjI?O)O#ZY*
z%;f4`H9^Q+#8U``MkOy<kiI$mWx+Vz55Z8W<<5)Q5zaeZ_bWZ#&$MRkhZM0 at 8l3hL
zX0T)?&X^=Bh&{!@&lM~YXUH^4d=Qq3jT-*W)8;X1yc)=9S>~huoWXUirPHPsU0XXx
zuax3?LmEn3)o8!ug?MS-%ip5Gtae6Szbe_=*O6T5q9>1{YQVW-o%K1oUX!r)C<IT^
z(+(Swz>i%t>1>>0hy~8FQGO{?mb~FLlnTH}0k1*JXkjL2ADW&n1HpUlCb*hN87)j)
z+zWayU4C}@SIQ)G5sp$(!9lRATrAb}uQcv=gBYB-LE{A4)vKCvgRdOxK~o->!H0 at C
zyA;`CG^)8WvvV3PF+GA39((RPUS>ErrAw-)z3d;P&r_!|rw~pgt0z(Cxmmr&2<@3a
zQiDr4jwjcAIBsIlOgvY66?TzGu|rhCl}ou$;-7Eqv~b$M)-*YY>R#tsu``rc<c!?2
zWa*?Wk+$XxY9HIkp5Uw9Sgo|3ZXNbgn)lK?NeX&i?zZG2;4QPb<P{R!UGkb0<I*yr
z0>KU=QAa^j^_x$R`=*y at Q;y_5A`Ml*I4L#_WyJL%pPiG>m0&M|?^8kP>Jv%{_sEkJ
zCe1uOSvlO}g<DM00*k~XGA9N$=#bljdKypOuMlT;+8p#PzX6XvuyKHG$#Pd_`1Kwn
zxccD at 2qPLy&bpnvT{7tkLU{wyn`5+=WhW`~6v%(7Po*cam1var)HY`VJ9NYYx^~d_
z^vCj7=A*Qr;7y;C(8uaa{KjYIpvf7G-UJ)D*jT(U&0K4~p#*>LStp at Z-?L3gXt<{Q
zYHq8qbkx;tBFRP|<gYNBgV)8*Bn0r%7NiG({G;j0i@>EgoXuM*!5*C`3juMcjtNS@
zvGtJBgpGu!5KL>BMb_`y7y!X_uXbqvmU&nI?u~3s-v)r_fc^YWf*7G|$hN76ulmdg
zwQVIC-$ePwAPrpOw~CWB2z8z?5nWxJ;3<9?DQr)E9<ipd=lRx^0#RU8`LcY~&C^I|
zxzv9Vc27IPXicL=+qUg~+qP}nwr$(CZQHhO+qVCeef%YR-a;MCr0N;|M&TT#3#`00
znN8`F8i=IK=5MRm{!OJ4PN9ROdlVHxgjc;F#$x-{3{I^j$M4dRi`LO0RW6uMi5+E3
z2UIVfv+cWOGucbXR|$H<XvM{FC$Hfrp!{dY(`8<~VrsV03(%F5;w8kZi1sK+^g}O#
zce#Y*nxGJhQuLhA5gENFSC|3Tk?+F#o+5MSknBFv&cm1*aNVjquaxmnJcw`l2L1Z_
zmrz6>P*ZKJ7(9<2)F}aNM^uyR at B$+`=gX<pNbVXB90GH$g`y1R##NhA<>EDN??|K=
z%&?MS_Q(|>{)|FH6;P<a>ERf|p;@6F%Oq#nI~@8-i-Z*gSi3Ny7H_$pZB>ja7UuBE
z-L^rt9x}F}qVt94?5+n(j7LCjykVw4QhDBgI49r^KWcQ?v=1U at jKdn<G#EqUO%!5z
zRQ4n)#PAbt5#@S_hX;KsXYN+%JDcLoE*kNb*)V6ms7~*nP1x7sNPkz332EyG-Tq)A
z7<$R31>_Y<KX_&IPF4r3Yr5Dt;SbVCoXXnz^4!Y)u+8g)St)5oN|P`5`BV`YhYVfX
z0a(1nicdDIuSP|ElX5IFNOJAA2TW?JuQ8TAt!j3u7b{`hWf->GZ(6%R8%T<GUAkZL
zq6Bq1hnfe$EfJl*sP4vGbm(q*-X1Xqqr8e<YywhCIx4V}v67XF6#h;jit at uM{K<o8
z%vN&t5Y)(280*mi5u5RQ%Mq|KrdOG$%cNhPxV<og=<up_sE4Kw!C{Q>jkvdze1S9o
z_LDa7wsQbMXBaqvYeQ`}d9Aa_2bDQYE4Z$zJqJ<3aeG@<7_a0szSR)rNuwHJTz9N3
znoJZGl7GIUP$o6i!f<7^n~PHl2zptmP04xp3c4tvw*jI`Y9O!bo|Zd?_mY3L=)g%r
z(=D3Xb7XHAELm49DTI8Wkc?$EQ{X?M0xzvnxTZt*7q#jc7Qko;j+E8I{75q5m4Mob
zf?C+5%vdf)OQ9OhF#dzuv574V{3&awU1*UIOSDNS%~r3CP!T)$sVd(su at BQxYB-}Z
zb?`=%FB4_i`Tj?psFdr?=5GW_pPJtoA&|X(e0e at 4IuPJiJg<epZNbeM|LFN=6!jDW
z``iWve=BT#0tGX$8W!ruX(RGVJqG?_WT3_ulH1PHoBu;#&2GhfIGBm8hFI7P%6FLG
z!_Fy`?^@~S)PAL|KT&@;x>=exZOI|i6eY)b7*-M at Ko_;bQE5R=^Lr3h((HHM+hRxT
z$hg`l4d2)*&t2$GNJ>s$@BevualNm&D$VJ at J){<ImnipfIG-oVuo3;_0pt<t?>42*
zMI at LkcQO)anS1f0`Yee<+Yy?#hEN5U(XL1 at A)0I#!h3a|WqK<QY at jR}j&K5>b$pH#
z4eqj=pmY>A?gGtpL&ew{jy$T7_owLw!l;Zr`k^9o?c^-qQs*PE6)IM?`DzxUABh#9
z!#14#*st}GHGw*TKF at MA94ce~QGC}NUs-ydfbloMAq(t)qQzC?20a0z%2=z_R?$#=
z!+Ox+Uj2OXRps&QiT53E*MqQ7ZYwn9GJc!{vo=;85z<5<!3yxkk*NeTsxxG;-(nXZ
zuy;KJ>$H>@sodRIq9xS52U)ODE0g+j%Lm?B^9Ph+HhM~W#eoo4QUFklU>x&#%dS+k
zH7I&-<Ykc6ui}2rsp0tBtTX0W$T*J5ZaVx|)LRW|Gf=T+I)TSBf6#MpQw5Rkfwr8H
zE_ry113QN9c_UDsr8p at lJOKLCMjG^jslZ#2t$qDQmX4igClXkP at Ju%P57c!~&#%g1
zS%8I~hy(Pj50V8GIN=C$eJ5fxeF;^N;5Rh^Gik_<d9LC#?A~!u-27;Y+nq{xa|Abw
zL2l*0WE!CzFU{Ed;Z2t!2xeQ~si)$;3-xdgZ%d!!BQLJ- at pQrmXC4qoR7L^?ol#JI
zrGFi=zRyXLEo0)jG{@~9U9>@_(O=M(B~AD&Mfi=Dp1BTib8jGy1qquRhJq~i1)t*x
zhO02MFvH?fU-m~t$Wctc8mBlDD6!QYTknN=QIA<phJHF at Cj58yf`~Z+U4gnI9p-A&
zub$OrCUQb%@U$*%(>!N;4f7~*O(^D7ZXdDX&;r97nRooJG<l=C2)FgkHG_Ro6or-P
zxe#T*#jRa_MQglGC!zIk(k}sPmFaoUmFWo37J29CV<VE+ at Bwmp`#afuh$=;_Y(j8$
z=JyzE6K5KpcSjBl$mX)})YPEVM{AkiI at PTD-V8B#L~*h8pqu(Hok!zV`)1yp{q18+
z^{RR|-FHQkS;V=*wctspix<JbeEL$qrT7MxEnIa~p1F1_=7erlgNZ>og2m>O(iBy-
zFVbX%VCET96UEZ^c<~*g`vSSD76VNJLz)fG#?pX5xBfE994eHP?~nyCsGOD+OK>!E
zOtRZSMOow8Ki5;&@7x4S%}C`??<6w)W%OIGZ3TZ*kno-OKmu5gOX=z{#egzSl`9&x
zlPgh9M0^rR*!85Jg9+PV=&f1coIlAo at nzFshD^OjL!2Q#&>Oam`v90zIR=#XP+1%+
z#qqhtO`Ew`Zw@)eAYk at aSztII7kxvlN-+!dY)EDPzdPUza;Q|tTW+i&HNFT9eND*R
z48$PgyB?+y7<V!uC8VC}rY*yl)p@^PJDvKS%j*Gye{Wl~?Cv=w?INbHGzSe+6&L-5
zCi1ZtQ7^7{482<I_TIXmoLT`v`-m;Om(&|Ab|{994C$YP;wx_k^&bXHlSP at Ee?$~v
z{of6!&vZYP*`Jy(#)L|Vy)2CmW$=z)alN at N2{N0~Ran{jNo^3~@dz`eb24v=;q*;`
zN=v@!t$)mS2cE%`FI4RNdnD&@Nb3`^!FytU;xaP#IhHSF)$##eCS_bb*uw18_=R6E
z>ziA=|CUQP;;_ozKrcBf<&Z`N=U*HQeFxx$P6pK=1Ia$to#7vttTP)UpPUX at S*rab
zbJ)@D7?fxesOLx7$EEjh$V)eb31Fy$-ryj7UKEaxj`v;Uc=A*lUe!G7+-vl;+cQz|
z#g>d^!agA4q2lo|%fb<*z1Bq~malNIa|9ECka9<irvVVnC*JlGbxJ%{+_VKS<t)8S
zPqljU|2F(Ja(Id4E~5!u7P2dKA)xS**A8YKfoNg7a4c!RaL*?JYt^P`>DafUACb5X
zAdQ-a#t at h3d3zZhm$c70Act$+XZt6DI+!5)wc99KGiUj+yF`~w?84?ju1uAb!dZVH
z-UBan$Z%DrjBBq;W`CY#GMdCeR|(Q{I!(Cjc={&N%wMy%tjv~2F{isY0PN+F1_C6L
zM at B|ny at 4_1^z6LzT9 at U;x09}7pbm9I4X!x;p!qqV2PAES7kXK(&LM}+Z!ti}GssV%
zVGBdm54@>>TFCfjJ#Ib*qX`&Z<{&f)8||BqP3nB;9rxRb2LlPZ^fMX5NNHd0bm_Um
zo}D(#Cy_`?1q+M`w^mp*iHBP>-nm|~<wgT<AKGeGlcfk%BTHPY2po}FV~t at SV2d%(
zG1KuvFcym1l^5|(3d($G;dvhIey$QCmn5Tka~QczqRHKvKXQ##tVp^cnaSymmhz=x
zp4&7?owJ~hW?&>Om at pY-V@xX0pB?hk#od&^<V9omi(UQu;ff)Lw?Y4=`E)r(YYbcQ
zumpyx0FjJlDJ-W#9&NrYE)3cre2u=_iAt!b%;#wL{IXDXwvcGrWs%LdsEJy$-0@;h
z(r<C^#c%f`Aef29 at lRb_$fkt=WjVM;NS5G&t;D{L6r?#gLe4kc%>6qKpx$+Luc_7x
zE^{xAJ8aPj!ZpfMJ)XaJibUF~^BqJQob|Q~)bJW}rG|G^eG{V)AnCBbRD=zp9+Z5r
zOpR$K3^X3HP2p3bTfYZ>LwSrho at C9ff6mx>m}2Cb0`7Eq`sQd)^C$tj{9#>;2w$}j
zy=8EUvLnjLUa68x*KTKoL}D}~oA{kGc2^+D&rQT}yN>6b?Gfm9CqlYI2k!3Hx~xMm
zK*O&+SUIO7^@tCB67;p>+Nw9+i8rh%8Dw+Wa_g(U3>d9!CFz8w%Skkr<dSTVe;B?K
zyPi;JWr^X0b(Y at y#gJ=0up~J!Y{{HCl)cQUjE8_1KPAh!sXnf-g-PCPR(h at 6b|AeZ
zqQA9*l$H)l72ZJ|bI`m1gN;wuacn7<X)c(($+>SIbBcFih4=xtV(;?a;)IKH>St82
zu)+SN#gqbT!S2+yTwyBieP}Ur^kwxFh4n}1j~bfO%-f?Eo_Hcd!G8$GaIo8AZHCl*
z++XbOt{(0G0+FSj(lzH7C4_dyO}>j+rFb#Zw+$RJd&|=obLo`)#R0BH3>3&CGo|k`
z at 0wCv>|D8pz<}Sb?c6-Nm0)Q$mnB&fYDIT#^z0wBv*7{L*YqDaxT^_EXUQogu9d9d
zwh&l at 8o6?kk$<Tq_|+lom&C(HG#Ez8FfDEKQ at 8;%LIIHP&8wc8ts at Xle`K>5k<*~<
zLlnnlXa=M)Q%2X}$EwH)5*27@;h_LL5(kqLh;~tagA!DrZ8ryecy>*bb&0s?mlfjM
zhBC at OuZzukk<;v+M^c31%-#5})HF$>wVNw)$tOup;<69{t|$IGDE*_a;j+U&|He?@
zhT{#{OrV-TBQ0vRv at wqLz#%TgL|~_JDcc)W2 at 94oTE@%2x#VZ&26Ka8xO1-;I~K*N
zUj1e at 3JGwf0Hxg!^ZT(;C^xtAwjGTsHX~&BMA&oq=uYbV-rmuOc<&D<yk$KiVcai^
z%gq)w=LRsF-OiAFTARA(oq!3njw=!I#)~c2hc=^M!ei at Fefg4l=BZ0!B21%aA*OGQ
zdkS at 84V0~BLqGG|=L*!mU%WTsr<(0elkg>|P at N92ra1yX<omQes#AHGUUpH737>Jb
zbV;`zTt`LIhm at V(>0TyNT3<t-Q?A)|IQmAT$BuZRQ$)n{JB0TV#cyS4B`3t&-wj{7
zvS`z0)0vZyd78F(o><#b4iO~Tv)YfdC?LE`tsv$Hxo39eJso357`oehmHH#;G%)yf
zQNS?X29N1eJ^DaCHZqxj`|h2GEqxy+5QPn$@IGgk5;|Yh(#ZXGe=n^g#&7J1e&X>;
z2k|S%xM)X!EmYsnj##Eyl|Y1z!D0}cPMbta2jKyLML|kSkoGJASTM_I|HS}J3)FZ#
zCi05T+SBiV2tY{l-|2aLL1PGk3ne~UtzPW%SWLGTSe9EUTnrT#L>XW`4{>J?)nO;;
z2I{PeHlN`hj&vD0Mc0F+mNKS*?#okvp9C{vt#w{oWUQ<h!#uZRFy^;3SCrS8VC2(C
z`MeF)$bf!yi(KST_)_g^JNFe1+m7odtq}wnShv;G8 at s}db4K<1OEq+gX(bhGj^?%~
z at l5zk#oq at CK`!k<>#ZtuiQO}^i(JS?oq5C>sF@=PuovMaz9V6e7k6^2UVThhQJEQg
zUIC;IeR3C`NI|T at Ke7Y#&EXp+>iWF_+eWTCIV(G8zuiB#1Swz7h=phOt8%ttbvuF;
zYIhbzF7CGDQjd5E8fHZB%L`gM8lL8Rz?b;8nTy4K(TY@$Ii5epzrubMP#qks*1RUF
zB%LrsL56T=g<o(Yen21&Y4?W7H*5`A)X)+$z`J)yi+EPB)-GLQ>A4^?T8ph7zIlJm
z!z}y)ZU#(LUcSx4zEn?7sOYmAFlbXjq6-d;sWDqw#TC{9#k(jv80tYzp}({eZS&hc
zsDPBQAZ)w{t*7Wc^eyH>O#|!5ag5dtyyrRWnLDakw>Ckh!oE0At&^&5waenEA7nI>
zOy~cQQiewNz)H#tC6upuz~`=O6)1{#Q97nfmOWqV{g5L2 at QzDtsFTa65(SIDkB4Hi
z#XA>_N%7lQS8J>mN2%50z+J))7b;!m(JENkxMx2``5?FaZY?cP?A_qdC2)l;U~xLo
z4p(CorF#Nr<n%U=)(KEejMZstj#`A>CCEf)PUVzuaFZO=;FP8&+r?K{26Y6!J+Z=U
z7Q^OT#(dXguTC6Va0ioaFVvDU>*q$Jnk+D_uK}KQ*Z`J2x0k-LK;k)#zd?kA)ZrTj
z&j~4e3E&GRROh$0$6I|VJ$df0a}T8tCjodj>B{!G3I$^0hV#?@0m<VyYr3g)ZCW}R
zI0I%me%=i5Js3PSqCx9qh#_lCD_P7>;S5%ay)F8s at E<v*b})m&^2gdbK-<57>o8pF
zOmy~JzC1DMb=@$?GHFt9*k88~Dlzxkc;dlibamRhN_uH2a#VPO!ck-|$1E~m-aDD~
zYd*3_wof9M at ADJ1cKlas(JYvEEjKpi7P{F*ai+aMS!FE375pzZjEa1$Z6^I6;3E3U
zLI0LhlLS08+q41pMUhJ at J+}9y%-f5H9M%0VQxwcL7{_Jq!@vMgwQWI0;%RswLhU{`
zLrelHAS=iqAPHG8KIkwyryyfcaE=~I!zTFvF~^QCwWdSI#^qlA3W6Iz&c7B#P-<;`
zoDYzB4`|v(GBvA7cw2&Kv3odN^kIjk$@|s#n-bbz^s13Bn#t|PD-CUQC$Vl5-bJXe
z$&}o498+Qb277KzpJEw<X=#V}6cRJIs_i2TJn6-OHyQrhV^YUBn1aDv_aEbV at vM9m
zmLp3I_ExC#u_GyN#fb5ezDeAC&S8;6hKA&=KMb)_=aDJj^~8q~U0~k>y)v;ni$a(?
z-jb&_+VloACEIM`MpO0VK#(Ag$Sk6C+7e<(H6xGG-Faw^;_keAX%1gal9)~RgJ7on
z!G?>{ZJvC`sR=|`DLPP$ZKP+Mc~xOiT3CrJkc`OeTxYz-I(H{ESlzsL33P>Vca>9n
z=N&<u?Jye1ouHKey5t964an?6Ab|sL3}m*?rk>}}pE5W9h$h{smMLkciGu4O?_}+l
zjF5!;;;2dR;gNO{)WOyh89)u9b$KArzCn{KZXnbqP{XxW2blToB;gz(KQM9;PN0ty
z2#lHd&QI&VC*$~&aCqdzVoE*47r<)&oeKnByZ=m0*D9k1&YKi6cJfpZKu8v=aGe(w
zof=UQtspp&M)C$X+6UN|BOo*yHX%)#-gD at x+lJVFPT&Ephbwk{uu<7>m=m{W4v^I!
zM>s^L&AlD9s9*@$io`YWA^6t=<dUQPG8KMRo{Zvv%%5JCcQJLyr- at QgIG^Gk1N`)&
z8-r_bj8{Gg at N4->o+A9j`9uj at L(IjZim&tCkdRgW#|B2_>?J&L$flA-RXRbdp_tZ9
z#TUKdf|ikiBS8vT<hmY^Aalf4 at q&fezLe7wOdj$GUOQWM=u1G8ws-=Wb(JLjPO>%L
z{#RBd!e>n>DzR}o6<L>){pzIPop2(d5D&cGA~Q)UFw*MlFP2CBSC_9r=w~i&jb7tI
zP6 at Wxax$S<DT`gBb6oBBo~AXb<C-oki2muJq=ZZHiyklw7NJ``j=E5f#s&zuv_-tx
zlLIZ|HH3^}+NU&`+KD!OkijucHk=BkgKtIVx?#uSp_eLhr(2+k;dP{4^9UR+hA6{o
zS|YnkjM_}-gSTMuR6AO^bv^YNiA?wDI#naRxr)w({LxR!AK?pppR73KWEdD3?LOHe
zA5VI7W}Y>f2^||~h{Z&tq^zqa`w+zsz}<qsXNiy>_{}J2Vo_)e|4V%j&z?q{Lr*RY
z9gKJg=l}{fj}ACqWA9+%;`KmT^~VdQ|I`QVPa1%5aVM=i90M?}WOTGV%bJ*CypdrI
zD9i)?_30Z$EQuVH?YzR#IrIpl@^}ekGtgW|%*a at W*Dje`+%`-KYt#>*C)l(+jFnJJ
z5yWf%WK}PX_u%@*LK at KKC2LNI$qd$$w at ay?00UBMP%V{b%#A0hFbD-Io45Q3K4puO
z=XEA$?fGX?2Sb?PCtp+<5N<ezJ|UXr1RZsT;4++5J3^=|4DCPROEyM!1pkmZs}&Nu
zE*S`7<T5yZ!RG25r<D=xg)V`zjpb2X<5}-weSUAyvNdIpEyT*E)tbj<G=@K%*3!5C
zv)S&;@5!eGA`ZyslBI6^3CKC1<@-^8!j2X4$EIwEkqZsMUZ1rM_VK9a>n|uC43WL8
zOo(q5SAr__ADBXP*<jLDrXUp}?2L0KmR_jqK_cyq>M6My(Ap8}qULi!8JKp=gyd=W
z^6q4TPu{UgUQOqJWTSsJPuNmp4R`s$`SpVQyC;W7bl?zE4byvqz<a;&G2U5g*ixzH
z(w+Hr5rv at xc0sq9w^tnauO|7!#?<R*c at IM9R#G;dtScV at U;yxwCNrqXUkXl!9 at y0r
zhn_WkClvx7I)oKXK@&c;8o>f$5DBvwqd#wP=ON446j_h4j7;(^mnvDxOV&Pg!e>3E
z_Fbe2bk0VKZ;A)JJ2KK2dK;6lmixfinYOMA@!o|_kI8?e<E?f<0fbP^X*?67(0(2U
zI5+06m|w`PlrDAZ34#uyJL>*<=<Z{1#6UY%B3?V;5LZ_6&q at nXZXI7vNBmx}`Z2yd
z<4>h0RHF_x7_l8*NyPW?#`T`(pKw)eC1D0#jTS<Q)I!Dd#)6LratSe<*#`6$-Mqm{
zZ3e`p7o(8;N}`qW1XNhFRRyui$v+2_wI>1g+hwvJLePnpPuommBPP%%{Y_1%c54+$
zQx>xq!|$LI6I|;*{7zBkp(>5{f=*FCcsGtfgwrBJyMgNcw0$j<T-L^WO2q{ZA!Jeq
z5AvI%)26?_D-s}NJ?!P1kD){}PuXS_B8q-C<M%(>D1u`>G`twSbtbQb<UE`plmjJd
z(*81~q$_Rz1}8*r3$C{PTunmk%W6duT*mkr=o#|*4vbVfWe9yb1X|EJpha0nGP_=Y
zuDqJy9{>*vZj~l515pt++<RdQq*-f3S^e$t*@Ka at F9)ck<!LM>pm?e`wVki2csvj5
zH#of=b+I&6Vj=oeNHo9P`|}#q>UNtwD%rfMF?H2isBWYJrX>|QxmHXo0BQZr^x-HJ
zBp3BW1rsUe!Av^wgu0OQr(|zc3J-x3iRH5qCGdZ`k{mzs*5-&(2$+W6#QEyU3s31J
zZgubzWGtjsN&BXW_cZaV-&mc?LFxWeYYU(8t)@V_>S2bFM at oq<<GwVbwcmXg!k)<X
z+6On<sN|YwAMMVP*<>K;KcClz(2{ZaRUbS6Sh+6)-1sQRyT3P9f`ZSlP4uWK#m%@W
z0&2<vTY%MM-AM<5K9*G2Qo`7n2ud56I7=}u-VnvUDvhcwHV$Q%k7swYy9%sGn2{4F
z!W<MgZ)JAfC0;fyLo*6Sdj9Zs3>E|z1e at ITy**Jj0A_ki=)qUZU)`<ZW^@s{fh<BY
zX+)*gWvgN1lfQCXV?lKjrvSJoP61h_s=EDJc;caa-fU~8uQihalrPY|^Ib=s1+|i`
zlptoq7Q!WHSPKTFcluPW)eez;vE_&TulFT0ZfY at _@$hAQ&J!BOQZ&^~nQ30nW3-M4
z(9ax5+JN5IBvM3CvUQ9E2>Ssry&SK^(mO0K at JlEs5{#U-AWV*1-$@}z>M%eLinYXM
ziKCRF<W93`jL`n*#Ve|t>o|)SQ|JaVP<-8a<WFewD3VHe0}teg5b*GV$uV<_nwr>S
ziaiT;{|SXrhh+eG7Vg=<_ydakdo^FynX-(-|HUYw?-akXWm7nScH4t>PeP1agvH|X
zV=(GLrNFLR#Uh}6M1%8i0%d+)-G#ay4<eWxtZ5dXBd>2yDR9v;tjx4E&htyJT&9Oq
z<F=cI&CV1!QVb-vpTsHy1rVhU1G|I$I5Y|S%)2U5alRW0G$@J5AhI%$BmIRT2=W+l
z{fYz}F()?_;o#-kop(Z4{tFp$T1I$~fQaNafV1>-{I^Db<Bss_CZ3;b;QCLO_hHqJ
zRH&t-#G)f5_#gPmsP>p=EgNp<?LjS0cr}G#kRarouRh6>@6(85;!=3s4S#Onk!-J<
zyF%aV_yK at 9Bf40R)(~}{$)v50+3b8ldwpm36A;_JzCzwpW3)bsS^nC6>pQi*^1a!A
zgP0srYJ?i!)QlJ6V|`7iuW0nj($8{FGNdo9^GzGH2Z!{DPyNArX6?XyyEXnK?CQ{6
z9ZlMMxT~m-Ssj_v^XO_MFHcHZNg^}nz$4nHAM(zJlHWxA+18)z0uBAE1JjU7fE45z
zHqhy97b8a92Jj<4GgpI&aktF9Vr#?O?gpvg(GTG>6Ds09np6tj;mBKck|}J=f2p!b
zKol=BBn at Qv-K;Z+X`!N&c(dBrZpc(uB1>BAcVHw|cJ9jGXOkB(=4VhSZ`Q!V0uab~
zHf#w9Ey7l&P8^6RtW^_yDd(1T`tq?wIyUe?uF-KGW^1R_<V5$MsK*g$iND0oVYNGL
z-|^-<cLRB*UtwsYygZ6wa;sv=(U#XT8HB*-z7ADaf1L57&%+m7*KIound~`VrB~oM
z7{IM=6?_a3g#S~ql{gmDsjF8gbqfqCRVKSb`LB=-4c~x7r{eU5+~+mG$0Qyh<BsRS
z at Fk(7DSdKN?iEd97m at F)s0*j*jcMgTJ0z{wOn|rP*WmPd5X at nNiY8+Lvk4R!2Laoj
z$-mZ!TzeVhqzdoWK_Bfyx>jj>lL4yNwLHs-0YKV&ebR>t-BDrYHZWGNni7hTs?FbO
zf+tmZg>BmOHapN1tGd|<2IBpr9$&-S;rI>AK=u=ax2EWI4hI0kf14TrHvfoWc5ci~
zOydnvbz at T3QA9Jet$W+T9tP>i#mvU at BV7x9uRpV9&<C(zhUHIbEMP~!v17!OlrXMb
zxMqV$m!>ann$GHN_rT3$!bY6=UNiK$T1383fPx$hZlton&GV*N^X(?sEk;+Gm8&Q0
z2Mtq`e+poZ+P4E!MCJb$-=bSKr`8QHp3mONjeh>{DJSn?yF#!MBpyn`*q3IkQ2j+=
zmO0x!TMK=+dAzkx+JW76`RSM1kuy*EM2YcX7lL{t1*OV+MA<{X(fFi?g{ei6r*%iZ
zKpv}AW0}H(ad0ihVdgQ#pq=@V6`4v1f)FthOEXy{Pkh1KrZ;F#8BGd?JiKs2nvXUr
z9mg-J&48HbBO5hmGu{=HeNmj4W}{TsWjJXZyA}v?<(9>k95s{GH{RZu6+yj+ at ocP-
zcp#znUM7Y_w~)7f>|u*LfU!>Q30Zo|w1|cCPqvRfY7&zV&vYRAS0Yoc=%Y4{RTZi@
zKzL9>W>^rH)mb}ofd7b=TF2njET4e4L at tqvR69N(#UhS6zm+bI|1D^zrf;EltYvL^
zXm_aVwL;oCst}psK&C3HOE6p#sBsJI9N4>`2Y)OeO;0&8_#8|Y5&mB~2<@yg-=Mw6
zCWym}0nApziEae?0EZc?0^Z?+-1c1EKCF>Y7$^n`*ld+#FDGQk02jd5B^cT$yLXt2
zTYv)v&W6e{DRhINC%5<JHh^Gm at tF|_8`Q_vYJJB}ELb*Dg$<n?us9zSpH%hN5&Gid
z7fz-WH{FIMF<8}N^kE<?pvSIONTI|->lVdB`0Q+tyfONh3TcB?XlsLi0{LTq8SH<e
znpdj)5;+MT6La`1cqFjbG`KztNLVw0V1 at m&k(O(46WERSc}q}%jHh;dF592mQ*LBM
z$&gEwO?ka$Dz(5|o7<4)xJDFmR>JK%fh8nWwhHA8SfM~)3t~A%<4M0B2mCu3?vzsn
z2WUx#yzS_Rmxm6p7AH6`EvK~@`dix4e%ori*S8vk|1J%L6-PW8lB;P=m?ne`v+myU
z*G8zFI8b~?QdHg7&;>);L>A|D^?}-8n_{(9jXFjhNw`X`u_t>TonT@=NwbXae+h{5
zBBJtHF8JT at H2ploC`rb`rotp-vXv+dHoW3jN%!KW3O#!$lZ|Am9ZOJh>&7eLCe4O$
z6*f}z9fUK>oG>fQB#*6NY7wA$7xCKl?SRB8f~T6FBkz%NN<?5D{|0(!hY7%pG!DPw
zHV+|j(vRU9GF3&Hu65#QS%~zWk+rt^YDINMfL91{%#Z{8AaTp#KIqJqh_;QG{Q-P|
zh~}qgn}deB+Ef8CfW)?v%Yxq5tCIbLkO^3cs&`My>1N&_pABQ=R%1_*KzJ4~&+c!f
zK&i9<;A3(UFOKxaJ965b+OR9wvxuB6ICTay2ZG$~)6vjUdt=4h@(hk}5=l%~O6eHF
zZJR&MnUZ-Mi4YM+Vt-nOQw_4oS$>qY8^yI1(-DPY(0<W9ffAsHU*E(t252MSt%m;l
z*{>aKdHLlBXv?ZmPZGm1-~OA%JlA&1jbmLE@?8+fj`%aH at 4qBysgV?l((RAio4vSI
z?p2AMgO$3oF+-}uxt6Af%BOU};l2QW;LS|wdG{M5Znxjw(CGJDsZVUY){0uLXl-9;
zPRhBj9-*-I?s6rlM57jieOqTITYBqUSIn*bn8jOef1w9gPispF?O0a9DqVJ4xriLd
z>O4&)=PP}TSE}**oCUyN$nN<Wr^Je%=KErB)AJaVI69AigsD9)*}SFx%(E4)kBpe+
zi0EUHCBvQUV?ZYH+S#e*ss7r&5P)Qav~*-_&mVjGymyt{yi)uVlcKGz$Pl||2$18E
zgEtptP`J^ol}pS_e#(P>5x#zR3{ZFzzh83QZ at FL<Pz?{+8DZba`5w5Zgwqkr0tMvq
zO$<?GwL^!*4EvCaTaX99A^3obXb{DAr+r;R0oqIGh$=)8%cTe{5C2Tb?||}6nP}3K
zbMrJ4hsKv@?%HNE)fUqe7nNuQvGZWlm$0te`EScY|Ca&6`acX124;G8C^~5qTQg^K
zMgmsm|4o3fF|o4|{J;1ACqQCcL6woMzu16~ii9K#kQS|pK})*0N=7m0^|7N9fQ98H
z`Q6D;NlJv`!AcMjC?Fv(lodfpPWWCt_TK)w_uOXRa&nq>*6t#|BKKVK9(I|T5fvN-
zxdvAj$g3fQQK+Gn7noAP0tXHY_3JVG)7DS|Ui|+A0J~4^quGFB5`XkOQDJZ*M~o`v
zsduH}V}LBb+yMv=`NNZ`g*DM&z#;<%82=cBjf?{-<@JJ*<>gSyV?+mf0J|y8=Kx>^
zM^K~sPV~eG_ at n_K5)u;7esAEE1qT@*Fi=33gA8>J#J^+c%faVCV1 at b{0RJEc{MJyT
zUXnorzQ4bP3&iadm`6o)`7zGJ`a6MQ4tDLM>Hbp&s<iWYQ6T?x(#ieN%`YSGe}S{|
za~gc*VQ|91xe at 5uC$aDLgB$~m{NK9*{%Lmd1Iw{r#x>mH0~_q`)c^_#6aK-ywY}Bx
zLoC~wk;8<FdI~B4LL@`aV;%s4W0hY;8vZm4@{><qq!BI;VaL3MeF`Gt$%}Ol+zl7-
zyO0tSpy=)Gt#}O4L&#OPm9q^VsfFb08QjaL3UO5ACy28{UBSMm<WT|vhaGg`0eteP
zx}j{shkQA?isol$`=#t3A3-t-5q5j;YgYPc?GyI<(WA4Ykwbz7m6-JNx1%H6!aITf
zK-psLL;lqSe+NE%fFE%$<no(&L*DBLGvWLJ_j?HW9Pm?*g5yPh?M3=Y0ziPA2m2cY
z#M+~SK;7q^yJOsbi;c?R1>J-10v|<y0|xr}{Q5MGI88yuJVLz3ecT-cN>?*etEhzd
zqJP_^G%{}Dha)2<fklQ(1O_04r(?)t`9b`ep$L&5-ck4eJ*)_F6a_H)C62gV=s|w{
z^7#Drp$h at LZ!a~mD-|NbFtgHc0<9`q6X?J at t|Jo*{E)sg?f2mZP7Uh?AM^|gHW
zE&qj~MGCuveAkRUt$;_J_2Oam0ha%<w)p>PsPVKT4}yQ}Y0^-m^Z`qfqsRHNAs*Dk
z-iL8v64leM at hN`<W&LQ<!-GKChQEq_d&>J0A<)0~IltEgb{ygVN1@^SRqel*e4M3N
zl4ERMthq)=NCFmMz%T>&<1^?cf*caOvp5HS{h87ukVFa^J<#%ddkpZKF at xP(<svci
zBm8Q7g8rsHJOLW$Fx>xz_&<c>f9^F7+Ypc=#C`yO6QifYg9Ysk?`aQ^ebRlrZ4Mp$
z+GFTj0>O4Y&ELEXv5lojTKf`J1vwUVSE0#)3fn8CxAB%O7gGS$F%F(Gh)GiT;5O%_
zt-QmdmT}P8XT`7-C&);M&X at _Dy+(`@SIziO99-Rn>e^DOxa|>`p);sxLwDXoG5YPx
zF1wegWU*~cow2qU&<-`|rG@&rxJ^ulg-56qwWuj_qMVW9iyTfH+TfwYKAf`mVwjy0
z4Mc7eAQ$gFm0 at ymW0lNdbsjIvq5y%|jYOOsRih6d%8de>O-YY*Z>hVhS7+EE;4b=M
zbc87Fim#Y{22)MuO<^}ZP=urXZHwwxAu=`y)B3OhB)E4;7Nnh at W=<W()u={>`X<+l
zDvvl{PPITEEPkQp1}9owo$U`*?|wCNwMSr+KD*R)XwK<LR^hC1ceRqB;#SW1B&o>W
z#?xgu!9TfgrYZSmDjoTgwj7#*ghwugOXg_S{VU$W3_jLJo)+LfojdM~Ah(?ZIuDj)
z99MEZ%SqxQg|ymAS>-h}B1GH8ZiH=`0tKmMVrcM1F(%%tLydHFqroF}X1d>U|JtyM
ziua!TNwr_h>=8U~g6I1x)W^}5AP*@D9B_y#CkdD?UVa$MhOwy*Vhe{FKicL}S~FC{
zX+5f*x=P{_0GE?KuOL?h1xHb|l(-!V6jw`Bqv_O{r-|T-KtHO!qtfMSCARGv?1|H&
zj4?+jga67T0a<oJlEd)E-o at vEXDMdh)1c|(&6q!pu$Qy8x8K6u({eDEs<Tm}VnOCl
zy78`QSue6zT6Oc?=3QDvuwDOe<4a;u`5w`7uIVeJHM??7Y$bxhP?38#{F+=QV`Ouf
zqhBo0k+^BR&!`~Z!ogSg at A!7ET78^kYpeukO5_d2qEw;gS=2+f^(kh5;mcp5H$!E~
zEDdOcaLv8h9h|NQ?U!-+uoi8hNDgb0{>=@)`1by8S25d*i8X0JpQn!I1glf4mzn0Q
zl39m??>#^`wKatc at P_?hi+Kzpv~6A69&i5GTJK`~q8Cv1a;x1Fg2}rCC;ZBE#^qmp
z7GJGX;IMbjiu-KXRj{|Ek~5YvEM)y~b8)#UhB_Ha#Y+Snsdws@^x;_xl_xY3lbw}5
zlDWBo&%=w6+Z@#2_b#hrTf|65M94EGPnSbCM*4;UZRf5sx(7g~W3%BfLfzMz*DHM`
ze~v^C_BiEiz<1?$bkCE7BViXEEOM{piXDJ?%WodmZ}xv*KCP|P7tLSEV4po2%SPSA
z*WB2tFS#n`<YrsRScEV#{OjH4Da at 9yL}8CX_Kg(2i>zrmXL=$+>O^#~yZ2YqW{x;%
zKx3Sq?vzr5I?Wr<H%qyjd at n?`Nm*5z#3UWz)4J9k;A4*OZ{}N1!P<QG&l$s!CHg7`
zLV8(oz31mb)@ChVa>__K+Ajg0xYSonFS7oPSD|94v^FxzYDO(;7{OR%z7!>{JlCpq
zl4N$Ard2;WFamd%a%7_Ow|t3%vy`AKIyTpKC96i_a1%-OI~)MZ at RV98ZZ??w()d`Y
zUu(6fX9K0ZiS%nku9yi4+Nx)G0ZEtmZI-sB2ZBQ!7-m1D`=UeAG|gWdEZEJX?3UY<
z+Rs|F6Y{pU<tsZwPMKUzlJ)h4dR<;V<jJ;~;{aE!N6gB0QaP)5%7G97MpbU=STj<W
zJg_jO+*`#ZW1mgqHEpMlV{h3d3KBIz^m?xkfUeCy!XZ|P?<u)RGt+^g^Cp}T^~bxn
zau!pYpC?aJ6J5SKXi;}GL3r`G#yFw&-8P^y%<RsIi)$Muv3-hm?Io12a?CRUSJkh9
zo?)O0Et^!L>aO&Y^U8r_qmL9tEZGPxW2_yhbnh&Jif5urvz|^M`@UG9)8V-sxs(uk
zqe;m6myBua2eF%8|L5kAEEbbS{cQLsTK^&@H}!}h=TRDrGg4cFGHLngH^bDwz<>?P
zy!<s((A at fS#$9*A#&Z6BAwNO-9T5+K_7u~d84Zmzq!*Bc at JbClKRULTRs+tivx<IG
zq}tW5lx?uZf7b%)l2!0IVL72yzI10K5r-S6Kzv at Bfov&!4o?-!EyWbCl!jwUJ>%fs
z&w+Xqm+#?{P at N^JsH&=L3N?}&G40XQlV;h2GjjwA?anPl<unVBMt;S;AW}(R-&lOa
z0r*0mMPcmfcfqZ}<t$dFHVdLL1feBZ!0p=v)fr at 7uIC;NJpMay>7-^kVs=a8c>uNh
zP=10pOS&srI4vz{0JjyqRH!mL1F_}{JSM8xK3z^Fc|@D90 at +S)7o8t#kq^a-9BdX&
z<vh)GH(!Kl5V2lf&RG^U at iNB)7cBh=*PLBN0-Mu4c0kTtnJ0GQW69KzWh<;%NnNzi
ze(4>?J1%uElqB;e7uBk?I$7>?=c=rm!e^2^1*lVE6HYB64w`5blvsd|l1DTT&j6HR
zf$Qbg*?rZY=0og at yNXxFHMcx&GO<rDZ6Zkjq!exIpdAfdW0kJ7jPBOAcT=7rH#B<4
zrYMRFkSM+GHFd(J^3dqHCq4a`7C$KxNo63b%o$OdU6_+YvJn%jsQ;_G&66~Yv*PF?
z?7?#qPrnND0z0vswWV`N)UEkg8eH_4*=BTP5o!ASd`bTJNYR^i)8;Qwl5o|9Zg_OQ
z-rTd_wd~#>@y`y4VR=G}5*j%^g#L6 at 3gLlJfp<EW=JKfCakr$!k!uuQ8#sy58M~cA
zZYTCqqt8sm<^h3AF*OxguzlK)n3zz{i2B<y1dm=k(QdbP1*7S<V0Nv-ibPD!6wGaX
zDHIiLPzuwrx&pT|7EQ3~bvZ!4P`^BHa%c6E!jkO4i)+wHG~oJ58QE+1a~_p}{Y at oJ
ze_wxTAl$3Wccj*|C~bIxwYQ?}G at csQ&J?L5Hh-lb*?=ffhwQHrt)@N$^z~e!H#;YD
zYA_42y*Z6l44`6X9gYd>_6}PVUZTFTQKu+6EeFNnNokUUuOlvkjcJa@#YBQ)6}#6U
zqNDA;Rl>|gnH)`m at P0-t{Fg`jnx0T1zv~g at Z1YJMb41m)C{cG_T-GA-(Cik_id*u;
z=93_wyC>Yg^jx=ku9uv-R%I_sOxMnOj2M*N&2ptZBJY&s?~3xtvlrjlfTvSvAs~SI
zF(98&zJwDTU>to25`MoHpnnDDZn_~uWI9-XHtD%VATfSYO{`6N;lB at 14<31Q=3J18
z7<{*1$T8*G1swQ3z+PGVQYi~`twF79!<XcXZu7s^p(sNsR_w8Ahq-WT;)&4Bhgh~X
zV3(c9CH?qJ`;M`TuB_I83VluMS~qZ>?RU#bPX^h+;8mBHHu!-J9O8JKyM9X8h)bA`
z{zvi{eM3ZNNY)XAbVPBtjj!El21BTsGwYLmXb(`XqAa`yTNtae at wOWt>yjlmT?zg2
z6~Q!ZT2cdnp|xngXHL#OkuvcHm;7#uIrEaa<q$C%Cyt&5NgOT at zd}bwpzch3B;|*m
zWrM<$8g9dF$cJe3Wy~1^wSl-p3k%L`ePbpCN!f6Bs=scOD`)<G!8@#1>l*=*pK1qf
zn%ks>7 at lVz(TNc3jmV~uOWnm0-^#bo<MsvHF~9$44WeQRb!aiPjIMGq+Iv-bHbaKG
z*P*6|JKJ2aGW!fOP^3TiUpF9Z%#szpvy^f+_ at AA4S#MjJIqRnY+JDz4s4^_W(effx
ze<_6M$vH8Hgh)=^rn?!th65h;T2toTXH9S0wp9zQqMFfMh21QUbujyMGwqsog|0ms
zjf`|71Wu0bYu7#1K%LuBjhU;1p{HkGR(q-(P2GkN(CO(gXOO!_cX+x^J&oF13rzLq
z)Yo5<pA0dX!~*JXnn^7rML1Ul-e#W?SQkw_w-GR-N8GnoGqwMoM<rLZ9u0MzNDhp_
zj-c?EwRN4onTad)V2Oy}eYW8vNUno8%sd%8q9`CAai6t{WCuP=iVd1)UMZ_glqTKM
zjwN+iU0})y^OerGvbNZW#}eOho4=;`8pgv#Uop;J&_Vgdcf_H4J at OZwtNhrrIrCt2
z;AtR at X!9U2$sa6Y7it}!lyD70$FE;5*EPhibafBve%3E*I~=f=eDW-$KvBGU!iICN
z6)w^ePO at N<?eInUwK;Wg{9o{K`*doaBuMMHv>4q4vsgFNDj$SVL;=LkU20TV@!5S#
zbn|h&6Z@&<$8VmHbK4lY_&W*R+0xJ?7ICLV9VZZRe%^0=t};C#Ts8(AB5Ry=HW at 9C
z7DOgBsakMql%E&=Q3nTY6=Y-7oXzLA)IX+$O2R-_dkIj at wg>HH+)Bcd28$X{oJ4ga
zRHVRBWJR(Z5$`4%+ld0s#R>79e!s=ivcRS*$MALVF7psa$HrtAXi?It0+d7h at hE0j
z$hq$>T at W@7U&+nLTQ%%A{mQ1*&oI+)u}ETN@(@6(;~HH2VBV0o1 at q!X^zF)nL`{W<
z{(@8+z|?eKUfR(+vp4BXWumYJp&MgKbo_{13Uwj-G^J8D0C at SWNUEi4-CW7--Ty{J
zg>FF=Fh>r#_08)Lp+>rK;q&TUnzv)vv}{TkStjANF#(IcdM`PdXEdVZUUCT{gQ0Pg
zm1Qrq#gKn~d_)Ipju_LeEjbkWHMhJimbyWpyDZL7|AWbxW9lif>8?6-iuwjB#v0Rs
zw8NB!y5xgCo#*v>H?dF#`3dCUnb)76WL6n*g=JU;=Ja`cfhiv{RMSGR5dKdEJK#Uw
zH<Y;5*6`MlmiwG9pm+R&<8Rm$G->?{^J-2{IR&zD3<R4ieN|pNP*=<psOgTK2c~o-
ze95>gMCs<tYjdLG(~w at 0m-EYLs_&J|I0QCgE1coMW{WkW7FTEUft;xJfy_?X8?g??
zFDbJf8{SpGKb=n}{~mQ)a1?rVadXIBYN@$OO%N(4s9_6h1s3u6)y;P?h0r+mNMbAG
z&l_7{VtFny`_W+<6QXz1Gi)gRJl&OG(VIJ?Qk9m|eSw2Ue?2>P(ecAyHPGyL>*|<e
zIw_%>=PE%EzUMEMiWR;HR1dX|wi6s#z!IiZx at W?2i5lzaLK&n#<3Vc6MQJ#vqn{8s
zn@|VG?Xzgw8RfX%bS!z$Czt^l5 at +^;l at XD>HR35+6TGf^+~j>D8)pXM at zxm@#Cf}C
zbZKapt?lv|yc2h3U+wA|a#tXE5mg2#wrO{?UH!1_^AENwP(m~t)VAv4l(<&jT;1)t
z=|Kyl=ns5vx7%{K&av0NM8kH1SZk6QUXP<#-#!IsD(#v&T(V<w%>NZpp=>6O^*>8(
z%gOioo)Bd at Z@7w{xqi{X`*%!ZrS=0}?Dik@(r%T^T%3%0$=>C~|D0yul@;9v6+R0e
zT=-v<HFUAOEO}SgVvX8-kD*7d3BLG7vCefJ-b%9K9z at oQQQm2IV%aF9V5B}{5MXhl
zPjPI at v25o%74QtF(Ai80IME6PzdovCJmBKLs-p{j6A?x#L#YzT@=hJ~h0FjgZ8oQR
z31F5swvkZZ#jvhfM0>n47NNc$(m1s;MKgp-m*_?o$OWk;`=*M#!lqMokLa!41bBd7
zyyhf4ZVJPq&RoYOAd9k_d`w#m5$tSttML!<Lks^#(pIhk=o?YRPcJhJ#ABKx%U+kt
zWfIjEnfNo%)3%wIu|K!yt%U*&x~K@|$qnPI>$5$bQNPKvJH$(8yD*LYXYJ9|fFk+G
zn}2`BI4LXP=i2)pds=`H-KZ)5C6WXrHW#8}jH1bTWg%nfPg2^^GAdj47}#|ZQZ?(=
zKx*blH&TkACsU at ddY_HyzP<I=kptuJK62droz9Y7KH;PXy6bPfumg&0ImFwt!?_n!
zd(*iGDDz<i8nE$5jsC_dCk;=66>-N#IJQUcY07WyA=!jxr-3N)nFB{H5cb;(ICzw4
zEnV9AxRSqB1L*6Nav&U7h;d`09eLqPD`OrVI2jmjo#qu=*2{PJUiSo#oXPV8O^l?8
zWvMDvK7%pr%xe%3MzRD>({K^60sjlg$CNR%h)vv7w>HVnm;fxYC2k$#1${vFMLaRd
z^x!@j)Y&X!uE_WnB#~l3vuRMzG;Oe+MP6jB75j;;JRjVNvC5)u-zb%UubU}*@wkz5
z;DBzmAJ<0VYEAKm#9V$;ic<)I>54HJB%SHi{-rmU90N&ORJS5g5(@Cw?e-bQGr6Kc
zt|LncoW9FYxNrka_B`uPedvh%Gz<Rogdvl3|6|sjv{fQ%{#~}YpJX}B1)L<Ak#4EL
zn*f)PbqIk`g;0_>PB5c#d1Sc{AB|61$6$@u`%v`huN!o=%ynFj+t3%5&E~- at 9<^2#
zO_t=`YYu$&NkL*IWi$7PVvH0XEhG&(g-ak(S3ZtFXxa4?w<ol92`FEJlq`4gii8OF
z^S-*_`(|($Gs@>jH&J9{p3RsX_vGmm6ZX`!Ny+Z&^B2+u9KN-lO&J*JhbVQJT$F$&
zXs*1mF88FPCzS{_WzFt!Z6lZ_fxon+6lX~t!w?fQXH}t`#!$~7r6RTv2Rfwpko3ms
z)+y7AS14;Bip}mLQV(&Af7QC(gd5|%I^J$5#U0x{#}WBcle~r~PF>B*p22ubRbGB0
zRA9{BKmJqk6yS>0UT&jC{MqoIXYU>(onX^sX_~wF9UB|-Cnltm*%$OJvI)U9;&^py
z at r}l#BeF0{)Hvf_F^9IQGNKyO$TgwBXBD2QCFu>Bl4_5>99XNwA at jMe23yjvfI|(;
zCDt|nz=`G+0()ey-sp!IuZug!5w0--=z2ONC1ldA2oO%Ev%2fbJ0<E!uG>e-Cd$X;
zbB-08hwan7XIW3{_gx at WeU}b0s#L~8KdZf{Soi&=;iVyvTpa#{jubnWF|HZTMA3i9
z`WR7Qp at QNE5*7{0dy(IXY_ at l*J|Yc7DJBHCCzBgix2S%eGBSiJyXtyZ2+%?7piYbr
zwhlx-P%mOd at QlWxb@8Uaw+;%9ENh1GCil_h%`;^`?Gp`ohn?Bgi*l<vjJnUtWj!0r
z|6J)8J9I`YoVweXa*!@zTzRHzfkJm{+Pi1cpTa2#ydQD-|5fgt#vFW4q*@9W>3F~k
zyTLsk6wDCg0c}dApt+3g+~IkOssSAdb7Xy{IleZV>LM!d+S<RCP@`sGX%igh%uchp
z(^pzs{-QG^nLb3LCdp@&xz<DK_ujEAHi=}3a2J-(T`qt!uVp#1Rt2 at I&JT}Ewn=Qv
z|LUfff;KSvq$NZ>Va*%Vh42K&)ROyN<^F|X7LpMd4g$=X at E6*#1{MnN^2Cq)@%$Li
zRnFP>mFcKO9WvSC_Z at U0O~p13swD&tkmjD?#yulD%*=vsSQaQm&VFt{(=Kxqvf*U6
zcUlcyWJFEUqexXbC;fM5_zzMdRUJ7&mT8n%^Pkt>Suk`O9R6}g#hIEGvV9PU+->Fz
zYQ~Az&>gfRTv3%Xr<f_!`wlLpkX+Se0-<oqf0fsR{o5+Mr}p>b5kLou1aYvqMF!AP
za4)5UR)^r^BehPe-o40(KyN#oc_fwvFH at s<h`LP^LB;%}Dh;((w)Qu^Sqw9>JwBRO
zl%BRmBh`@`v_Y97fX2f#(#9N&ytHGEADo$;z9qPm1kO-~wiAyiZrlydD{jskc?c--
z`KlTuOzdYHS_QlEcXyZ8{2FPuQ_U2iv&E|_6YG9`*E1h%g|oDrt&kSv{HY3eh^;rw
z%4a2l(TOt-W|M5UT*2zo*GNczaw4CA?+u<jfwb4IR9??t)Z;w%%2T&|98hkDB59W5
z*tD?#lz;7IJ(xvcW8NI8*2yb#J5!fq)&^IY)VNZunE1!`Mnoreo4xz5Xe=@kxw0-{
zRZi}caJ~Ka;RPLOl??;~9CRn#aR0~HIRp#CgG>6 at wr$(CZQHhO+qP}nwr!v9*z?a~
z>Td30HmRgi*`?}T^wZsBhWybPiFfs*+ThEobLzsv;{tfP-X)*HP%egIU%C``wrt}B
zQH$pn=uQR%f?Wnlht6Y12N7!VaeWwH#J>7Un<q8a(9V`Tces0Tp_ky0=xB-}r0y-^
zrpMQAjsSvE#o`M2-A`G&K4gT at 5#lZUZJGRPiuRgbYYH#7{z_JVgjOOJcJBVCy9W_V
zEyy%X5wE9nsx=QU?f|I@*yrM60Oz_3N7knK4`cWc%kQyGaW`nx+$G1okhjlP&4R+Q
z6_Zxr@^I-$Aij=BgIX2X9ah_kWJSp@!8E75oDA+_UNJbudFCX7eP0Z&>7GTLORF1-
z?s9hSju!imasbBi#5uBjcBCxMZfpK*_U~IK=}PzMW<-V`Q1?#o$@_BY*E)SN=ajN7
z7IT?yFA4<^vaXPZmPrR6UZ8JscfXpR0-81V*5S^td0ypGLW%Qr7^^#!yKgr23{T|6
zriNfglgD4YMwj=pE&ZEx8+dZ(ns^fTpS&fn?)d4va|J#cv;+Q92A98!@+T*7B4HWy
zTdxg+ZGnGu`fOH%zaa&M#X0IXq)93Q&1R%`(Ct02>qiOHkjq<ShD4{FoUa=$PztvN
zXc<Zi*8Yh~SS=cU*G_81x|Phx(LrANA>R?mx{)zA81fperBG5EhR>BBnJRvLM9dnb
zk3sPtmi<&!84}+dbOahwPT_<aL|>ii!Bm6KVouzWp!bOS)n3zEf;$^X=FUDSiVv#Q
z$>`Cm=Kr;+;&31R0e4*s#{O at TD#!mKsWLG#vi^^x%E-p at KSyQ)hW~d%z{t+V$@2fH
zsm8p5D&%apfkJ`1yF<rzcXvxW1X%<Bw*g%T7~Itj0%<?EqZ`}}e%kQP_inoX`Kx-X
zs_yD%G_7G=&vN#a6)Y;5A~3Qthe>H^b~Q6FG&uu}psaWR$jIEp$jsC{q at -98m|Gk0
zuX#Yh5)da($fdpS|2B#fAU=1`?nr#{&Irn-6<8a^8W;jII6N^uJTf%{YhYr2`j#)q
zC8ihHnLssxQZN9S*xCfjJ)j)9x#7hTJVTqiul}AV4%i9-8yFfM7X5SQ5*PuyfM8;5
z0;Ry<)CREKQ)gjp0;|}{3<#LR`-=|B+8^57%uA1)oSltboEVE-oLkgM2*W!7b7}*q
z0LTr9s}oQj&_4x2iM0vvM<0Wb2UKVV;QTRGYh`wJV|D at o+JjvqKrX0V_6~}!rCdOK
z=wlO56~lX&#IyL4Z}{d1d=B`tfei>vJneV+oBWN2F!^$CN{o!mjqOdW1)o^MF#u}<
z1LBjMV&>}RUIvb_k^O^WX>x1wo at aMr1=7UE><9m*-GLyWEP`S1s=w!7<;>&=y2;JO
z$Q4-gSDko9pZy|}-pGpD+}r at L&CNadTOx;Z0?F#R?*d=mAGb2KJ~z95nQz9NSX;TN
zN0QOK$y~7&grgI{eEbvX$v*hom<gN%fHN~Qqr+1JSO5fYVQ)0}jMkYQ#(Qs1KBa%^
z_QR+5=JpQQ^oA6`Pr!Wm0pFXRoIr(eaB~6t^!V9+>__B*h8{pMIf7vT%L=wR{A=jX
z4mA5acuRH%=>&Gk*vF0s9r#{9 at 0a(w?=`hDx4wNO|GpnK{UjkOFR2iGb07S3jf~pr
z1n$Au at Bo0R!I=R-Gh>qjSpN#1|1(o$0{RgLeahFt)Mn-enCCazcfa%p>Ha-`uKZ)h
zU<vq}Ewy;tYZL%@$p>3EJu_hQ{4 at Ia+d1<u|Ngta>(}_z$NK)eN_1&#``woQN&osA
zw>AN8dVP=o>($rI+4t5Tyz>RJ`LnMed&qZG1;`50vH7i6AKSd}1rxEEt^MncBp{be
z;9gLHJh3r)l&}6aR{yges1a-vAmt`s&_{;~2n@~q_<P?gpBlOPS#t2YAMe*4cq{za
zmzLVd+Q|H6)vdwF0U#C^Cx(B2BlZ)=0iaKNV`KsC`r91 at AQRK(K7T_Q at b=^bVCEKo
z at 1ILf1|A^!mwt&q0%?Hs6WjqHW8{y(9w7PM9}$f?K=J|J2#`_oOTY$@JcIu{NBIZd
z>rC}6c%KvXC%SW=Bjt}k9UyrM?{%*76TAT^W97f#4SV$`%5zVR at gw-(@+ZgxK$iSR
z^y;4Wc0G9}|Ey0wVDd at -u8026|KJ;(`OEps4|q>B`#aE&a3RmLt-tW1590rEtAq2G
z`iE!qOaERsaTMS8)<wf}L%Vms$B%f=w$OjjO)~92_-0l62f9Dq`T?xD7yTtX`q(Gm
zcF+4t|L5K6=C9^2-}a?{=l=5g7j&=nrwTdU%}~yN;!jv`-Jjyz6VBbcZ|;w at SNgX(
z`Q{xsxjBURUO(%letl#1Rv+R%NcZ2X)~;XZzG>I5b;%y{KWoM{cdvN<(%y0}Al$#h
zU;Sf~qoa%WU#5?*F7N!-zd`^0&Hw at T0?6;Bo?J-%22)*!ZQodkK<weWjscj_x-)hx
zuzJ#Qw{&rn43ey?m;u;v?!=Npyp>gbq?Pue=@ELpaavdgeLoVac0Nyj?2&4j+qNNk
zIitTE3J$c&d-5P+69weGCqKuBHHd~F3&87?(g{b0Lov0f;STrfWT*OjdTmVD+<n!(
z>a!GK54vo#|7Q9UEJa at F1nXSRFlnfp89`8~XupGaW^Zq{;C!A3aawG7 at Ed2O8TIqh
zo=L1{#*<F9g0bt>5b^l(7->+4D1L6yGZL>v+NkCO6{XHk=f&QTzC=!}NPg2)z?8>8
zmL9B9WQ*-ptt+nXmBHquBoK%);`hjgWDTwD5Q_uJPl)QS6++~p&a at dQ3D*S!vaWUa
z@&#M7457|hW}QFqjAJ6n8j)#ecWkZi*{zVt^ekP1D>pthN9-RNaky>gi%D4dN6ZsZ
zu>X+7DHR)2m1V=2BDStgUs0uRc9G}X<)*u8yhz-NZ-cu5qtDdhsfb$}gOr4mP3F_P
zARF>H;dd~B$Y5!O-){;g6Dq&8c#q?^98jSZX$!d<SqXu1^y*li;@7J}xDsjQsj0lc
z5LMk%Sv=e)6Q){J+>hRO9bgn7(9ESNUf4q++RP==8SbRQbn-IE7Dr?B{S^?2GDbU4
zf<{d09JSvbE_!HA+u=y}gC*-q6j^hn*!QD}0Ysv#4cC!%h?f&L7-37t_Qde0A(66<
z{gR4^kSHH|$h5lZT08doTI*u~vdDe|FZ_8oBB%1wp)NDh?Mx&B;aKrlVBk>mqBd*x
zy=M{qn)ebrCMPk{71!WaQlM*T*c3Y+OW3tCNA=rTnE;PuW{QxwYgm3$pFK$8UHe)2
zO`%i%JXNAmZ&&&^)s;Va87U#?y(4Z?KiiF--xo>EgGw5GNj4vltSmu1CS0d3Rx;SN
zWFjnQIDI+ASB}Mox*o$VbN%FI&U$(<H4t{KNWfI32S%zK)}ZOeR$JBuQ#nL_z1OSe
zdlVYWviRQ>U2~G)S7anhCv+j?US??g4wr+&b1YCLK0-40pNV`LwN(0fbHmO4r%Sx(
zOLJSDgs3WiIfA#C<%xIIBKqX^Fc!uY-2M#LP8hcd(@9$0(!l}iOjPRJL6fNB6(y#S
z6viQ5%T2GoG53ElhcMdv9=&e7B76z#+YfufU}4IzUnsLE#u``Gc)c$_2;ZmAP4F^!
zEcg5WLWm0WfBMFrS5J!~698k%7e~np5itIA$AGPd{K^(1b124K at +}+$6*DcJ!pej4
z8L&OK9(u4R2N*b3!|XG6N#`a&(3f at _lS-Un)$~vlYpQAILQy`TvFdW(6=RU9bpNSj
zPX?3sr)IgDw;<?^rQuC3Yh4XR87NPG)~^S~FGj}>o(<|hnG4Z?f<S6o{q#+3Jn$r8
z at L4LKRh<_ZR$7 at -#BTsDx`AIGpmD(?WR^yO0MfT!3iXi3q<en^2#YS~cX~}~<i1@&
z;;f#U0-1yMEGIa_l!90{=ix_kDjqRA63(hGQl|Q^T1;Q~oUh9;p;(dJ&o)1eHV|$q
zUV&rt^P!?cbm7H|$vOJ!;u7p`ckbR@>y6n};?hDIj4SatEUww1Oo=3_H>&gXT1~fi
z)I$+qw4H48vUM&3E7kkqLl17(26+RCv+4~)Gg^g~BIDC4duT457wfdSGOlmXXioQs
zBREWz)zTfT)ILpf13_2K5ry=zd2dO`+D%`!VQ!5mF1jYWhGr`?_E&fAl)l39f@?ey
zorH;27vo?8XIWjfd9IJQAvr0>+_ICVUC1$JE>aDO$jI>b2brdoPa9`oPV7#w=H=1$
zjZ82FX^M+~<-B+#&~2- at CSoMeqIYA<|FxYftaz5HJ~~K!NcqiJ&$wvO!z at UlVy1bA
zj65(=Yi>RKjH$8;e`DVPx=AwxmvyIjA=;oIqAPde)AdN_Cs&9{xfCUe!K~99m%DnT
zdo~Z4{2qo^q<`}DM-AaW0Kb}GAaN3oGsf~8CErpA6s(uHvDyi3;Hi5-Nzu=VDq$*-
zq6 at lOk6aRMyW~IB4By-a>YILuGeFacH-M)pbXMbOQY?Lb25Me93jLNW?hv*178)=r
z;$Az|U!Z}(vSu|`!+9I?R<C50iWjgnnEAZgP?T!~zr at WrEkTtP6B>W&D_3urF7(6k
zEH}luzj3hudCxr6_U|9pI$*a5NTzCN$#q0aR;fOpS|_zNb|9H4m62E-Kzv0w`LEK@
z&3!SR<N%KvgIU}C!u)vupvNo&?PTF3!Ya}P#dpu$0zekGWqf2wybeo&K3>p{!1Bjm
zkBB>7Q7S{{L4L+3x;ZJ|B>xKK<_CUeH2XDf;D3?Kb%PA|vk7enq?kL1gEXJ)OEE3+
z^W_hP!|SFCcq!uxl{7%vAtfw`frB6 at 9EvO8h@4P?5gZZBJ0k|opKU at H5$alU8M!nK
zw7~lcC_E?WAC*=k-uP1Xlm%blO3U at xo~g!Tb_N%6wsl|~((5_v={<wex0nd3%vBi~
zJW0w<k?W}jkE^&EE)0j3^a`*)7yaFd*Di8wcI6BAD2nvoY%OeJ%g6|^bJy3Zy9oPA
zeQv%&SA-XFU064+4YU>obcjP|7xKhGyMSQ-3QbQuIbGY1__a<F(Tg7>U=bL2-^C<#
zfg7f1MJGa at t92_6b2BByNt;kDg!jUfE#m)L9yfqGHvd;K2x at GabsLyu_J}@CbV=^|
z#d1%W{i(Cr<^C~FHl;tRCiCI>On&g(XWUyeHdu39<2?T%laJdgnD$3!;Z9-UrWiMo
z7pLW9(v*_lVH0hHP^npuf&_;r?~Ku3+qrIWU(UzU^&_A*ciUJQI6qG(TP(Li{gg4V
zYq83Jw9Q`j&*gg7o%s$@mOPj5O1(n3AQ_YZ at W%`l_w?UfVK{@tk63~(dcwdr!{|T-
zf@${&7QH-tb|jxXTLuqfRn>uU%!fBzx5T4h;f<TwN=4C+rJ$WZHYm>lpi}XMmZk at E
z(WC4I;I3+<raG5F?=0Fj`&-Nh+je_gu9dx4t#noAG|aCsA>9{rM0w9qbEvMTH`Xsm
z_mWKRc at 5k2$<leV{xNz0g4tgeVS84f-l#>P6PwsWqUN#P<&+<ngV!i8 at X0X(n*DQL
z1VVY&)&Q!RSZm=+AT1q2n$p*-s*Og|YTvQ7ADD#+y)W4*s(B!Mk<X-p48AW6i-ni<
zYUs$o!z8g(J}of4HlxD6Tu~+VX{8FLs{dy0bsBAhu0%YmhDj4`F8Y{9$3S6}J>~T%
z*K<|-vTJ|_ at s0F|+>NyGBpQ<1(eDOlIOy37j0s#P+SR|u$}6*g6(A3U0m+w1bbXxS
zhA7GinKnySslt8U;JSRL=!O}U*?dO!J)$S`7}Y>>zN0K{eP~^{Zx19MCioa^KJhBw
z>$U>-f+8#EQnAZzX#Z((#s=iEqNJX9OL0_NOF%#JSgb~QYf)7;yX8?O!5NL+oDC{1
z%!u%%6rQugK?cttcxjsAf_UMqRmxr_A%5kcuWRsV4M-vHB)XP&9y6fX+Xno!DE}3{
z)*$UL<Dl2<7bt4h{FG`h9vCjp#}g+FKP(7iNpH+9 at SEbXF8%cZ?2Pry>(^-(&hUK1
z^7S#1FvpE&MH661e{be|H$)+(kN>_G&#oLnu$x>Vj!#%JG^+g at UX(ujwf<legsDh?
zQhy>yg%MwLps*}qymPt;?zZS9<Sg%3swklQu98xvtp%v-=Uu4>9G2Bwmn=qXCrLq?
z(10%$Hx;95eFZ7h*_eqh`RGrAYK-vCAxy08Pv5d$$STR|Fso!CE^_Hc<kE_%aTuYq
zVIoNd815`uY`-1G79rH&1CL55y0*uyw3zl|MA6`Mv&s)&-E%{++E{87xw)Kf#iDUF
z2{%yrABpzJ?QOTK7?vxa;~EqD!dK<oTuxX0>W_i8&G7fLH8o3j{E|2U5L9WdD>j|;
z(1U#yT?rW!KkeYSW2~BJcXB}B=)?i`b-wjPLz*U#&)vCVy>BY}<uI=eMK{ZWG>Ovs
zoNH~gS(BFs;YvgMaE)Fy3xRl=g<YA+GED8SAT1iAv)@a2XniqS_*Fe0dp}M#HsLcS
zO3ek)*g7A^Usd~Ct6rr0v4O~4%_*ahs&#lQYF;@d#r;o2p72tjm4VbKFuVGAsC7um
z_4tbz*#I at 7-`r1VNz<#W!$6 at Z*TiV0)nI&7Y`ysb3mu;!iL|NwV&)c`90Fcw3k;?s
z2Hqd?)Hb}ZOJa%yH;emmp)+Jj_GQbn{7Ms}^(?#VoG^ou<RCDb7}*$1!L>0%JD6%-
zq*yPD6=74ETZM5`V^s7PypAz-A;yt2+Viss=DWe<tTw7JG<iO#TAf2^u?$jiM77Wu
zBGP6k4v0IEq?}vlQssyW8N#)P at Gbw9l0LVT<;s)*oPWCkHZ)b8n4u&Sgx1h(Z}=b6
zIw!IZa|O<w$;}qjy$k}|>h_vA-Gw8W!%V|%FTNt-o at 5Udt=8|S at w4$V1hVq{+?E|d
z%16rVH*iUU6 at J{wFgcJ)q at 8wM=I;ygOKb+j%Ls9EX=_g?8>C5!<XgH__R!j1+`_45
z at QOl((IXIQvGGvo7p!*Ao#Pf~ptr-rt<`#L3G7;WNOEBC>~<08IdM^=FTso+iOu$y
z`Mn1EbN~jx_&fU+S^Y?gwE0_^Ac}F#$DO71gNRh at hY)~dztf`ON~!rSYa0QiY*n|M
z*zYG6_-TEeI*~4up-HjP6Gw!(lS`bV6LdxaWS^%Iw!iC}64w37uWl-lH#3J8?PMZ}
zB}@z*xrt90frru7z)zeX;Aj2GjY8gd_k`Num>POWoseOZ6;j^Je=dg^Rmt_$H7-&v
zGvx7^H9kIepJgdQ0+mrd=95VQS<O0n2cYmsktY9c_QQL8I!zR$e5j1x#cIC}>Fv<%
z+Yvc$WZVR#p}J!-TY?vA$Go$|4)xJeOp*LM^j*jER^}}(C`Rsp+BlSQ8AgHw|5CA|
zE?;SNnY8jxK}O?&e=C(>jjE%Qz=wwPn2SEE<Q<V-h24UrXK;tq^&3*myZ&{J;Hcfd
zFKxfy$K+?MOXXQRE!hv4Jct2yO8%FiQTqn at +FREfh2yp5M3mY_3O;nXiEEuOl$1Gg
z9+h6<*xf4gL+K`0kF~WmpQBbg+HMZYezR^83c<a6Diq_)3qyyHo4DbHqp*!eEnce^
zXGdZPTaKL1u*Ei=AsZAwQEV`n%Am<}&jrzYw3Oxs+Ql1W<%DbPw^}Awu4!k_d)j8>
z#KjBsl(7OB;C%FVvLQrVv72j15MQN<{9&>=0`R3UnFLA!5_d*zGTY%|C at s=wkJ}(h
zY5z8?rcHk*Chu2$6p^i9^@YMULLtUsfpYEB$^gz4WtFUn4R|WDH$(9N#ra^wXia at d
z&PdMK73m{c%XvpYUVL++Xh^-^T^{e=(d8Yl_ICtkw>ySOBG2RlOfHtutc)#1^OlQ&
zTr%O0*%xczgrOQWOAMPfUi%^0t`@fiiW_<VLErI=)2u+G4eH%}N)0u%L!UP<=daJG
zT0+W~@{|9u-2p0zr4$LG>1kVF`%rDtE+~*qb0wW#R}WBQ0~rgu9_XZe;S|`Yaq&RC
z at e~DU4e5Wq-+my7R&Kg9%^Sh1vZXZeGN1u$i4G>>>Y%MPC6m4 at 1py3f>jur`F<tAz
zAw6a|ECM9T>fj?e^*1W3ML)4+`W1m(C!MI9F*f`et?K_J>pxG+Psui(dVmVYtUHAf
zobB#jY4AAn4S!i=-$M*6a@^|&6}ikbLQRAqrgtqWD&UMAt#Msv%~sT6riBMJb<?G<
zG*VTQW+zkrUoT7E9MgNy3aK at jJbPa{U7J%D$D5+Qd#uk*Rk&Ik=W}6WV}SLj1;@zy
zBAk_p<Bkq+vn&94*`&f8*Bi9Bw#~&&75+VkoAKwB>x!2y!e5VOG%DHf82cceai8n4
zh(32`J9b?5X6{z6lU3DCNXNPvs+bFsQGpct2_j^gf-;H|<wdK6gCLDw1m!r`;=I5`
zq#!98k~@|dzP*f)Mih;087V!}>DLiL3xE8uPuGw|8rraxx3!TtzNTs4nBpym2-=p<
zxi5x|^6X3_9CH)5ExEVxJ~^%{<=Vo3-r7(HsSv$~s*$5$UU=}KQWfE*t2yG%h9$7J
zSh(#Vq73}+`cB~(8=UV1^x9=D2_i)ec5FJmW5}=Q)}_T|1|aQR10N+TlA^}b(dtq%
z6-&zy)Xrf}ixI!Nh4SOB-97(&Ib(E-{8JLu2bZ|XC2hpS(#2%?nE<!v=%Um{*}6Hj
z<$ZOsL`!k{u|c&piHV9%iP(+Ur8;jh_DBQWyl7={SlWzZ>~PdrsY{VGmcEpnYPqQM
zzQ^IfmY<v-UePcLKqV2p0(@6&`EBG3JezTkjGC_suQu24{%#P=YSLq;qrk7tN+k&3
z!($3*G)49E7ZV!$Kopf!%a=Z2jmcP|&Kgh5mEzi-<+${U;I)Q4QoSYjW_8*{)A8es
zh~<NAY6bAS30CpkUMmzA&vp%8-8f)+9|92gc<u!dEqT+iY2_NUqiJ};czJ%6bIi93
zw$%xkd{awoAWP{gKF&DWhyN at oE3J~4g-KF=Y<9thKWl%INpbiO(Grwvc+LW`V%NZ}
ziUniYIN#&&p{=!BkjkCKi}FK;hSs?G9?aKnIMy%5uO6sT9ywD8`oc}+I3dB7qsVxz
zeV7HGvk(3WjA$s`AXhn~EfDf(*NPxWsIZ^N36qYZNak~Rym&BG8e`@fjZr1gcS=ZL
zm+Q5-2bCUjkQs%c_+-mF+1gPxq)MIsjA*J%r}e+875uou{K7#?+1Fg{*3A(F(n$K!
z)B38 at C0gKo8^Cl03{%HXnG)urp|;nGA*phV6VDkg+b_W+<T)d at L35nMQg`n$ZAC@}
z9Ds}UdA>%_IyDtO_D0XpoxXx`ml9%dR-LutHJE~284CnluWIp}he$Q96*C!<i=E84
zv`1%c_3aL*A~0d|7K)OG`p5L+N0Ly{m_5?=sw^ltoQE=#i!{al>D{V;kInunV);tS
z3|LHix`dqWq(j(8dT^hirnoz-BU?>3S^x?*yya>ERGHboCT;L++!@#TRs;I!LXNv$
zJA9oBRB$`Q+P)6#krOh${{hmsXO#(ejt6yyxKtSe#@#d6{asoQ+0y-!&_*x{vcYB8
zBZy at pmhlnmx7kbAQ!Hyc6Qq;MI`l32Lrhn^#&QhNw#{+6&9=FL=?L*+HVxsN2+k+H
zHJxNa+qt}oVxcG#`yUAY0iC>Al^?kPK-t^Z#yznapGL^~$xTnxgY`1GRS>taOfD?b
z`IfMIS_o4&Bf;KA-x^y3k)zBw-MPEsj{t<bd@$e|ZmVtb)(D*sPqYK2RRfgVC9qM`
z0LHY#WkC<~KjNV}ga+7|Z!WxdLbp&PmeNISHT%&6Z;NvV>W6vE6?bZ2d=_^G4N!k4
z(`7v4W7T&ZL6cn1wa*J=CfmjjF=W?-Y?chAA+<1r=9;<4+w!~Bu=*fV?^cf5$sHSF
z>O5 at UHPwQ5q=htQv-dK|FKmo6v=fW>9KV^0d~If0E_q65Y1*@5mt|Ls%RO(dt#%3!
z-w}&3Rpf`jh^~MvFTP|(LtVOD9{~jw9sFVxXO4M`DkiphwLG)KNnz&Lc}}~x*1*zB
zDK(#(DJr^j{qpI--*|`YnyqOjrBiF0vr6P0p4A;05DbU#rfcGCOM|mq^lzeHt=*(_
z<rAdPE|SEny?avSsB(C5xO07-z7KWFeo7OmmV4i?Tw|@hof9_m_^}XPwA!{v_eoVn
zWLh~Om6OLQ94jX9s;1XY_N$)mbXqGC5(fR|)1;$tFNQaLA at Qo)7Ggq4CZ^fk?>}y0
zmMeU8-Y<`<)a#K%s~X3N at R&*jHIt at k)PjXo at L<j|wv8`V;q>1w_qMU=yCX^{NF0MV
zOb}s-xdFl}nO0j~N5$6IIi7N)QiQ|K){$5n7lws>v2Eu;#Ecx at WLq%;$CL`qHqEKh
zP}*wA5caX7ywA#CZCznO<fBlY))#!-HWw!j2>fu{cLch`U_1+wb?kYH9}L+|a(~B%
zY<l}IdHKdy&sgxdLO*p?8Y_IJnr3n_-^79avpmi|--m*Ug5WF2gu2W<m8JG7G((AJ
zsFdlC-$dpaA?Ufl*$U}KfPDcgmE$iW5e%A<EI#i2I4Mn_=*{xZpoB;srl~kbGH(zw
ztMX>g4^=5BFnz4izwPX(z&F}M2Q}#L@=Z%vso<r492JXEAEwt5wjrR10fG7|k=xcQ
z61y5QFg{u8A`Ko)1j<<Q`WB)V;QonZeft&@tt})VNLfUP8Y}z)2Ntqj1-pV-M5QTF
zD;6N~Q(5D2#`*((Ue0Mnz3I9KNOuG4n{IDs^T*84 at ktBfA+nKLR%y+g1%YVdjZ=L9
zg$7zbXJCGEMNGMNYT6POioSucCSd`XHAs|yict at ocZNbKpT;K3+BpPuco_9E3n7)8
z0S%4Pd;?qf0c9KAjBJ5#xWsC>PF at GE(Q)=OR?(y7G*;h<n2(P5;GM(^A1LHrs(G at 9
zMJV>pkeEKj9<KbkZWJdwtAPyjn-bRuD*rfd+nNr at 1?$h-9F&enWj#S$s?GYZVNGu@
zt*o%x!mXocZYp?Q-!+M3th}vc47Kj&M3ixFi0_TlU+Kvc9arovrjFxwm`00rprUL=
zBs^;-eC!p$(qOJiLcu}qcC9_;O(~!{IMP%C3^;YBYZ18>Wp#U}E}W-pO#p9<E0%7H
zq8hQ;{BuZYet(h9?th%i*CVa<KdIx6s78MpTL4}<J*MlQ?3~18vuie3ckQAJq0UyA
zd100^1V2X6T;%M3c{}oYLaV<cY^Ie-FcHx){lwj%$+HU(6YV(4<kgdb-e0L|bv!_R
z2u)}KT9I9&?49&k;#-<BM}x#&EHi{%1`gGo at tGh~+05N`zD1@#MX4cpS&p&f3L6 at d
z9CkNZ?rk|#Wxejo280h+(cV~U4yo*`HX;2#EnT`Ak4vX+o2v1;Z&~0mwqE5g0w5EV
zmmj(75=^bNHp at 5!*XUTEGT1f{K5fzl7HGQ3+ at KER^UZ&+L?+ENBcz at 3Wm<|)@^=Qs
z*Rp>U+SW=ul_}%EhFw4pQ)#qJIsRZ$pRymS^XQ9BUt{>fLh>(VsL&CFEUc!?IlCL0
zgM5{hX+AN|?v%YvQr4W0<CzJfJjaBD6e){$9LOXd`h55W?r5K6WpH&3%Dm+UiZ06R
zQc9!PaJBXGoNsivbJV^F#G>~rt(8TyBssV_qLlubFurIvZwLn+S)NQyTW|$C(umTJ
z`F>Z_EC!aBhA!mnxuVCOtmvKx(P>{-^=N)XST?y!V1__uMRfHnv|<(LVAE!^G at Sj1
zIttDs&P^kY=QXlwjMK9LR+F8WeT^@q)pGa4tgp+tkcv&1qgse2OIA=v$SWvZs~-X_
zIw|*}#=8K2(kf*fCZKfJXj2JP#kXxrJwqt$Z3&UR4cNRi&MyyEj?i(z at SmW8r9eA(
zbnWE!j(SDoB#!O;!`&#$N(dL;m1;fm#X~zho8uSo;POA~e8QQd=I at H2K7|y<<xuTT
z7#EvyEb9(+JL<pT9q!!vn{;O=XRF6C<DNKe!}=A4#D+ at 54Du(h;~+MiZTHo{u11O^
zeF08`ioD{Tj_K>|IU0s=Xmllg_+VK<csvS6w)sf<_sOE7$A1TM at fB>6+4<50#fftw
zrhwtN8|gnzeki5|M}<7SA8*)*btpert1R+JE+SmUt7egLW at Z0qjhi|p#7tkD;Ml%1
zvn=Q7-r0x1XXl%-X~#oPxOkp)PUqC>7iEv%Ua`&z0sRev7sd1>*OO#q!b(+1&+?|e
z6ADt(+{~=jf6v?gAXk0UHG~V at f9oHQ+jKeCg}Fg&|6vI73yI-NF$0*w2Ou0Msq1h#
z_`YdRPspPV4OXcv9O?=O9zm%r*VqVsiCYWl#`Q#7VXgn|=<{T|ckU3CcYFxYCpoxn
zB<17J4;?>N$O0p2xBt?fgR&K~o98gOa9wySs4iJA9UW2?Y}BS2Es4DMQ`b!{NtVq~
zp6>7x{1Cq@%c5kiNi>U-_p$cO>f=7*fW87<N)(SOwYK$1PB%t7>$-QD)%EF9k^+K6
z_%gyen~H`{Dy%u-VKwGyR7T_VzGSKvh&<8QAnYFW8 at Ey0!rg;EkMXmK4e*a!FB?RR
zw^cATBf>Mb7Wcm%<#H5E9b}~c8msl at 6uyFv{V2;IzFq3LTNP&P!aBV%r2>&oiZ`d&
zRy&)^cok5AO*Y-jg3;>>7>!DlQR5{HSvT=+CW(1YOFen9KBZXj$mevL61cZnUc$ME
ziJ;VO(R at 4AIqyk#vl_*1yq6u2?A5owcVyv%OMGHY+9sHy?1NAQi6u8FnX9^J-%?C4
zuN{1o8Cys`f+S!)d+O(1TH1+#Gb`7$^vIB7cXlXFolp6A$e%KoPSBsLNipl6K2Z>G
zvb(G$@%6$+N)Ab4h(#ER%qa2d&)j7=UYU%ZlvfzayiU9xW!j__jmwAeAR7rT%dJtc
ziKopZjw2wtr{(#kwH at J<4oHGOf;+XD_v_I=;8o>{w(B*dpqx^b>&roen<>h`NRYxk
zitGXXx1ugeThtz`SER|EJREXv8))JcQ&hpcTDWv1 at X5pcS=ErSxcLMInL@;ni&VQ;
zbSOGjI}63 at t}xYD`<nt~Pi{YUp{_4pG6D0u);0Ngmw9w#j6 at -$DRr&x6u~Mh1%Ic-
zZwEpXZYes;i23){(b)es#K`*V!#XWHn>@n#l?kopwUdU||IJ%Eyn_Q1JBjAgI9d}X
zoqV3;^d;0+2t=<!XS1yZ)iZDnt;X6t!>jCEfYQt*?kFP%n>`FnJ_pH1w+F=QG0kf$
zGOc794by{- at VOHvicamhlL@VewXHYb-6>G at wkPCI#I%LY>aPQxMJ|v*+HIQ*-XLRF
z_a{iaVS=ifkBkec|6tg1O-z$AYuZROp?eT3j&VZrc}bTVU4iGRR)qMWoj7`{C@<?v
z9b*VEGW`qP3_!S(!bH!*J2poihvkpS@^kaucyXJ+12eph#o3Mvla%+IL*d4$PUG-H
zC+YvbA&VaPlF^0^Kww1|?Zk!KEQL}~e__`aL1Ky0cq32l$hll63!@sKwMO*!)j0;^
z&yq2Ohh7!(?}ZxF9&t(Oex at QYWQP&6A|XV-j=|6kG#8*Qb#emEw$>8?8N<U#W>8pZ
zYB;Uk8#Mo{q3~yZztHu10ItP93eU`!<Og(T4m4&tkc>=Fkq|ow&%SSELp3Yf)1nno
zfnlHe;_qPh0<&Emg9w)JzW7Y5pTcco%*=Tb#<wr<l!y%SnkNG<(5C8N5- at C!DS5U3
z!Fj?frjKp|EVqae_wKx>Az6zWcrK=pzUwzt_$#RXMuouM;fcA?x3{<w6I3-@&0XcZ
zo1EWe5P2?splc4>kTpN2!9>T86ne5avz2Lu>&|4W2IDd^@c!pwhX2ukd}eVqy|<WP
zjSr-*TCyimpk?JdPl9i%H8fuJ1fan}vd)I-iC#|PO*HDw4}*OKF~ZYrr=eoaU5h0~
zF9 at CHmI716x9AKSmh(XRTL9sX3lk01qHrF_*e?!$QM)#(5Z2j=%&&V>LS2iyD~L^C
z&iNoyBq)zmUDm&aT>fxtEE5z^XAEr;^o at J*k;A8;kT1(>;ziefjN~=Q<LzD&&A<7$
zvF}$D2&z(m97{-=jPYvyS3QeZv?##ct(=O<Ok6B)l~Axb7=fBj{1CnG$cB|ipL{`E
zZjkpY>Ee3@#K=yo;%Ra?uL}a~x}5Y?nYls#Y~tWjn7h0G6vrXQLlc{9Ih_*JbnUx#
zSKd$9L<<uEn{vx}4aLC@=z-Ozz(n$XhFOVv7R at 3p8CdgOhk%5=(W-w_0?QBPanS{k
zvB;tJG3qT(5s>VBhR07lgJQDI-jn0HDsr5<zJHfC>py-|&r7tePYpKIHw)SexQ0^z
zoqhxI^}eGF#eoq+KGu=$X3}e9yR^BK=DG5H`xr)#@g%|Fte(u~$cS3-(!NHDFkkNq
zK4c_<6g)rK*J<xh?0|rw6#0U_#2~^*toy|xp>nO at dO{knA~>kquOg9;d4~d}D&}zY
zi-h$qNZ^;?Oe!Cy(-!JXudI(0oDNXOa)g&Py#3ihuUIm4 at pO<}e6*Gv^D}dEuNPD@
zN#8|A8 at 7P?q64u3yU25F989F<oCHlvCP=$5D|VpMIJmB=hl+OK2t at Qas?In+{{;eL
zGp?{Xht!J4MWdktApYOn{Lv>PB^xtVCpG#wa!eZ<r4(;y4PzXn)$pvbMhxdcF+Vy(
z-<V+$eVhW%^c%b23G&wZBo~txm3A+IOFtbM!o#OaeOXvzyNYy(8USidv?BHlKP&>;
zzcw>^*v8>zoB!KvR#oJ+0c$0TI3kDf=(!Acj2<OIERT|EzRDbNFm2S at b%iS<hK;kX
zG>jeH_H0$x#cxRVqq_f>V<T1iH<2(+P<=(=xXkcylv-5PiQV%aK=~rOkTR`}#OSxC
zU))ytvfZ-iWC{ls4G$L0?!<wujd+J0CbfQ#&5xz9-tKI8*~RpY4zmH5V8e*iCuz~x
zq4Sd3fnS{WZ8=>G6=%cL2AatzE*AiM1)BvKLF8bfy+Sq^1gb9PbZwNWHqTWGjYvma
zd!!iD83yD>l7%x_80V^BkPG<Z?VYO}D-^e1qqJ+w?QRzDGogisCkE+25H&q)4z!$-
zg2wuDh2rSryCyFddWn(8 at cY4iDx%dx%x@>kZi#ogNrJ9I(zoj%r%~N at jTtIcq&Ch#
zMnk=W2{cso90Pkz2zd&P$1;P<97O5Foghj5McdBEqp3V`WWEWiHtj2GH^&|ZQT%G$
zf1Z$fjQ#lUWbi6tzt&Txf=iys`XC(;mDriz#n6HeOJq;B`&Wf|GUO9*A!lBpIR4ip
zQ-A7Ka6m~KM^)hpHj?{x7XK;4f?0Oi&raJLw!x?)#o)Gdk$;m*GOiEPQ%iU$jN#W2
z1PImNJZVd8S9UZJMSs;?u5+ at 1(3A5Fshw}ltyaHuNtTOwz_EO%gF!B*wHhC`?e)2<
z9T54gjsuovnX={hQ{d%^OXj>HQ(cQ+dIMAQRjC_qIH|mN0};ndL#XKpD59&{Bl2H0
z1{a7c=zA~M$qm!CA`B3px4`id{^jvXHT2q9rxRNTE@&!grn0g^`zNhtT0$<L9Fl1M
z{c;9Vwh&h?Ne}Q at 8balO?Icj}ZuH!^Awl+11+RfSlhRNx4qgIuOthUNo2$f^VB+Q8
zlkcSU^a8)31UI!98B8P}pyB{r{dK!Zp1!8yjs<=4{J&D8x;*<+`u8z3PiNT{q-mzn
zfLEz*6%$cap at xIF*1X}!dQl0$OC0#&bP~oXYB2^OPipYIM6J_Kg!Mt at -0oo1g<Hg;
z=A=bbhVA)yHJTQ|SKv0~GSUeYu<J|RZ0rmc`qIK{Bx74TBvYB`rw#N9R0{B0jirg@
zLOyq=q(Jq{Wm(C6RXVXn2oqvkq8B>d0SEeW)M<1&emqMrMvC8 at Ed)NPip4YpRTu&7
zyt3;uUbNx_scftrE1s`Kz>=e5yp6X}*w?6^Tgv&nzH`pH^oXoEs;dTfPr$s%f61=i
z>l<aI(_8VVf8G41(tEqWL8rVAXmbC8&0Zn@{o5EC%nsA(cPPuZq$`|!4JDoaEKBAG
z`XW1ZEk-=U`F at 0(s|#CVCoKH9ml5^E-}(<SKR&#fWS+QW at wPdCqr~gWv=D$$3Z at jH
zs)URquHBIh at naAFBf)vA at mx8HE$*7lts!N^#u$LjGy>gZIsyIJk%GYFVk$j1r`#^l
zM|5kosYCmX5imNpREbi~&zspnqp273`66MjZTz!t#DoLZLc+79R+VLZQa9_pEGb&b
zwPnxvAp+U<OCqzB_veC0e)>-iK5Qwv_`Enz=|F^aAcPu^z;S+10nBxvWO~4$z`8HP
z at HS}LitPYZXmQ^Iw=vcMPBc^Nbi;-D9+ZB^YUd>3RgQ7zjj--pXArB*QNavj;MecG
zBh1ymyUxD4_v|J6=JF!pr;?8}w!?gsC$SP9ZuY{!r_9V8t40T^F8j~LWc)<)mi;Pj
z!{O^4#z(7l;x_LlHpXqS(&oYWm$m<w(te(0xabl_U`jPUNE|=XbxMmT3d6XV*gWI_
zo$JF7N`x|xQ>>sKXUY1Mh+4}pPEcO`y>P-1;(_{nwbl?v&5UEAXn;5|E*sy${pxYa
z-aL0gz#JmYv#@|TipqcA`wr>2LDDO$e%NW(>(&u|KZi~89Jq&XLJw at 5N`$K;Xcq_%
z$URM<B;<3G&}84D7Q{*VmTD3e;0-8tdgiEV8*#N%?`a?;LIK0qoQaz`(o&`XLXuY8
zHax3miZH|5tdB=kZ55pyqTtS$VCwRL`mZL}yL%8{!7v^gYL&gNIsZ#92^sLOEtev;
zIn+G)F?EPO8HTqjjljw|2JefFNo1Bs+G0?}0OKEcurTUo*7ALc<MjB|eKSO6%$XqK
z86G}}4s-qxe?j!P^mOXJ*?T2%*=7LJ$mbl9MM7^Bgiw8?|9`OC&_<fHsvO6fis~zd
zc-PHQeI0#PmJd<yp>uoZmT=_nsLU3O+HssA^q~p0&0#8^yhIpc1*UC;G<)B6 at igRr
z(B~$Y^E*aWAQK}&+ZuU2y#REegftua1ZoV+EPJAke4^!t8}095G$bJ95`bGHd<VVY
zUzC%B%(IJ>N4X9v&NB9G6+LU$TVnd5aokj#-+wZU!HejrpbZq+r^PSt%C=6IDM3|u
z$2Vh*POXT2^<uWevAs4w7`Fc3{OtPC-kx7=XOUFDss)KrV9vgzc7wMNK89#tqsuB*
zDdnjKxGgEF{Kb0W<C~I68JoI|T#`tHv`2O4{gkJmKRUeu2bB0m&r}25MJ)f}KK83?
zq{jigR1wK>VB}O8xAqp(DIj0reJ<twO~+pmr&+ZP+XsR=FY%sKm;CEmu8X6)WY*c+
z3zuYB!?&^EBJ))W$m~`VthS6rBf1iMARRZRe`rR|TSFn^5%>?+GP`ikc^Ds#uJeb;
zVtWtLg&Z7`#=iAxOawg-RRyKifwUIB=|3KInp>I_Qx_|o+kipsMYvq1L(R-J5;}zK
zL?;7;(w;M?M_bKY#c<5=G&hat*q6omwK9-L-u$sqOKc<&$bJ at YbmhiKnO}xm&s at f)
zS(?Om4Ymk~Ud$UxR`nhq_l)Q;k83~aE6jVOntfvPhk^b)@rT~rdtqv1PW$|?`|}_%
zXt{rBiFQ_a;m3&AIMJ7Tk?~%@x?mwnLNKfPM-pq{rY=re{>HD;k)c~@zf&e+)`EKB
z78vY_h1^QMBqb>=6+`)p!rnr*EWV7Q3w$c{tt#f7sdD1bE8^A+2D>-7DI|;$#=L at F
zt&}xV+Q9cYu+^w_{%LV#9kV+bk_c>v_HYu;Ummsql>fGnl8e?=fsnO+!luc9eGT#k
zT!FJV6wQH{T?k`b8k2=@lX-=8dLI^R*jbpuX3-<*(H$r&mcooYVRjOzBwq^}&b3S1
zZae~vI{RJ at 6oE_y<etCDSl^)iMspji{Q3Z?le1VSZbVObosY84OUqO at L-fD?;pU)0
zU)rVh`0Z_ at 8ohsI_pP!T)k-eBepXQ>KbCrV^u=8G>4{HIld^?CEv|<Jd4K{kB)@zH
zZV_NT5Sl-t&rdl~%Bf9>b|=iS4`rXo(P{M64Zdqhfuz)C+A*HZ?5lK%H$u_oB*Fz!
zN6bv<Grm5K>FD)0Fq)0R{AKmrKxq)*Kt4rz(N27x3|Vo8QO5;*=>+$A4x6O6+_A`f
z#<FbT+q9RaPVXN)a6k7>;B9nHTT*I!_&mMdP)Yl0ik(5z`AmFD;w%wN8M-Y`c*+ey
z&i45%h37xgjyF0T+MR(o+mX1iGH6?$);mqO7s6yeI*e0$V$5D7DF|X;Esf$~S^4H-
zPTXqtdctm+tqguWEfZ;B!?UybI&Gg#;$7q1e6Rtd0dh}hu3PS2q94 at L++c#!FW*W8
z-NjF^Cha1v$d)Iq);9TFU>_T^G}f*H;~ggtFm1%fD9SW`3xgWX6|w23Cp^?2d6=4j
z4w~dhz2Z%mGmyR%O}5Sec9tT^hUOEq?EUq_9Ipiri?RDZ;(aXq5&{FpWg32QELJxw
z`E!tWB(WtPoZrpPZ;eRMlgj9yG1^1^i_ZxouNMQ3 at d{$$qp>{V1UJe-8zt$WhwGg~
ziqV}S6s*8c<E=iglY&e-<3`(dQ}^<-Q!1`)^3rM7f8zckgMl^BB4W-#De~7#ePa6w
zZI0!&Ssxd<I3kaa8?ynv_N&rJl==A2V)ygPY8)}cmDpM_ZlI4LP5ocSY|_)ZhLhHd
zb|@KE77D_YB&1bdk66icaZIKvF{9#aDV9_TdLoU<=E-a~POMhvTD*kc?Oiq79(>qF
zJZElJ#AA~@2FJ_}zKyl9gk{^)+H)c$4s9w19whNw>xG?@FEX1|q5XmYIEY1X!&5mO
z^xVIyb7Ku%K;G(wgkeMTqPQ!(Mz_|=rgyp<iM at U*hNu><!_P|*mT40Yo!p}KD^d{h
z`C2Z7;8c<jpcQ%I9qrf;#hoS{r53{oD8&C_YrKjlo>Pk~++(I at b=Md?<_15wh;o6i
zV43xEOQ<3)Kr6BB)A*4S!3J~_d@%SIX#-T(#+H&y&hI{md~_D|6_8jeNNxrLV$u?M
zOU3BQG?BqcrB<z9(wfYGyDVGSZ>(9u1AEXL6%rmbjDheEU;hxkUMDhTxL-w#>1QM`
zZ~we4mD^ESe=Q_)O^52}_)|I~!*iTF=Wv=WD=UL5#$oKPwNF8HR{AEBA5s(UpN<Yx
zeRPAvQ>KPCt2>%<1Cc6)oUKKPcc=z?l{D1BFGTfx$QuK6P%GQ;HD-PMC3})&YWp)?
z169^*guCSH$`d17Yj5_NQOe717_d#qx6D%6S<zI(w9N0t&k;N~^Z=_MMt@#C^|H{A
zf7EPYrUM2gSG#|@AxtfoqwA|m=`e`g94ek<AMQe?53O`KV{hc^Kz&%^tED4AP#w%K
zP at i^DL7{mRGwG^5F*<60B~d)4D!Y+|qO5g-zO4du+=NPBz+*GT at J$p88x}ErM44AD
zG`~caD0wff-ZM)xU&li;RVH43yzvXi;1oUCc!hnj&f8u6IUgsLNko%Mgc`CPggNtM
zxSJ4;CQf3o6srt_2egtC<x-(pea=Ww2_n(t>Wr;rK(u~A&)3o>m&Zn6Scne at gkLMN
z*AEbNP}!Ii4<8ZKnd<-zEOf=tKXJNJ80s7Hh*Z5=7c8xEI`XHf{wcxKgWk2eOf^p;
zVq!t1=nJTZZOIw)h=xom-D;xjOa73Ncw|%q>Ap{x^KT*271L>UF9aw7Zdx&OaT;lC
zhR2kmWLW3lZZ*#Qh_$79F;$O5*9TH~Lw;|ppzJp$^9dG1rK;l`FggPAN|QvmrsECH
zZ<R-y{5_>3X+3FYG~E at Pg?P%RWexkzy9l<Q>^L#nCz%)Biv?c0u1W(5Eu=;;I6dZ^
z17lTr)5RLu|0-q0<*sqAo3U578&2e2DKp4cA=?!V-H+Dm at -i(P*&J>RyGQ69jb~i_
zhyM7s17j<bxDscyC~b4Bd}I0T_NI|Zzq{jEN~uNJ_?pJc5z?MvEJnk(2C|ul)|Q<s
za7!;X5*TAHxS)1e0qv=7|K3*jZ;1W^gX7~xo1K0v6j}aM8f$c%4H*I$?@9JGIRS8u
z+Y at CuiwmagOD;;Q8ofHBR1y5)J6~}c&IwL6sPBZdj#ao+?pqa#^M!ZDJ1x%}XHDGr
zar<c~9<+8G!8ygR9sgreAxnxL?Y+^`SP2%c?=Pl8ni=R0 at U^mR`~XZ;JuMc&9i!!e
zk~c0N-2rb_Jz at k=4t^5Og$G_)O2auS0RynyYDQ(sS24&AVMM#09*#+ff)M9R+|zm|
z{WfbvzCPoXq{JNKOh}>>bwFvRa(h<&Nz|Ml*DlB}Xh*)rWu1}{iz$;t6+1gfs at Skg
zP?eP+^Tk2g*uBZCekv}fV#>q&ir6};4b{B)TnYZ=lugV~q7Xpr_>_g8#03NF)@8uU
zH5c6UOeLa}f+Y6u;ng7;{D7Vk0H+Fwk4avZa2jX7<<r}HV&bc-%Fg)@6*XQy*H5er
zGr|dA3W2-Fyhj}yx7!`O73IDA?d3=<V#RxzU`0dEv+zk(zM0#^P+wdPc6z%1FG<X-
z>0BX_ZrXLTyjGSd*^UX9WgjT2U~%J^B}~L0r12e0L}56<S^Pe(Ts3Mtb~FRn#WGI_
zNOcsWJ>Ydr*jV2(Ia8;br62Ol|Lndm`!;XyN5sluy-2malW6fjSdYhU>!T?4DNOlH
zKOnfrDi@~&EBd;56WCygO+(iy-vP&UR<9dq{=xr(bBk4sO884h0<tt7)r<Q{A>9F3
zV9oGW=F+dYD>O$}l%I30-8M;X02H@^nlJ&m!JlnqkzDHp&-j9u!|MW;o5inKeJK_u
zr%}Qlk!YHh%mxr^W=z`+#Q3&;ZsK1}x|LsxJ1+q3K}tb+^R@<TK~}DR+gkAz9)Ir;
zp+SqE$7-A>o%G{P%X>`#+Ii0^Wp=t`boDc%!8tpQ7>0Xcn%{Jw!wjnlM!u3b<E<X?
z?51|yNE7qqH;po;M<Vg<G0KTi(#j+8%xQ31!XWkl-JGO1MKmFvrSt{N=)Yj870W_8
z<M#s9WK4%$K}BgAqe*=teJ_#T{h&{tQg~Ijp7ZDPxmA-!2tFEj$5=iWKt+jX?5Mnx
zMUPb*N)q&yoUO?>mm9+uUq`~`X)rIwGcEXFn&Q9*rFAZi>gRN+&;SX}!qEiBhGJaB
z(;MJairpDD#4Wne%&yU{7PZl;th~}rYZi#@+Iqo4HEvU&mLlYLrI?HIF20%TQCO}e
zjU;H|l-Tt-$`kFy)hoQnnMqti^A%w~6beLpdt^hzjMn^XGe#%tTN1p)<xI+_S?^TR
zHrNyPh$=icN(uuCsh5V6Qr0f}79xzX9E-iM=E0x(N at px!%<`#6(x;l!K0-N at RFR;<
zDaJWS`-&wskRCr!eN>9T+umR{T3h))o6nQl>e%hF%)&QP>IV6tn&$I2D!z||cpotU
z#-WMmHEHlkNz0ejRfU+%Jc{A_z|AM)IEEtg9nSvCcF(KLeMd^wA&A3DbaZtkT%lHp
z5FFvtBI}M$W1g&Y^Hjau)%8~wj9Gp^bH|G`gUm(E8b7tf at 3?F^5lTxe#(DX#*vN6q
zdihozmh0%JutI{vC>il22i9IQz5gr=r+yF{dffU5|3dTG!+3Wo#%JaqIW+$dW9Ja0
zTNAa}vR$`q+pfB0+qP}%E!*}j+qP}nw(b6U&=K7c|Dexc56&PXM;RHp_p=s-uU7OX
z*saM(Gz!dsJR~+KC;W>t6F;#HZMx=yfqCY at xh@iNywM&}ufQ#gLaFgWFz?YE%=%Ef
z-aVh}3fNoX0{0{~*M9m^0~Xl^G?|f`&jxN}2M?5NkaKo01-I;^yC6s-y+TQB0gf7@
z`X+fP6GB&VyW?+!o}TRfcLmwP1X?XqPeL;qOqecFj7p#x^L2<pSerAyn=Qf9<RcPs
zijQ%e)a#6Ir3DE()1!?ng?)cFF87_<Y_)D0g1>hP#m}Ek_Of&<TTw!Tk+0?krJqrb
zW|Ijvdy?`qju2q*BnLA?Re({{eQQAfGlRqY{=HCx at QDb_A-nq}HL<-go%Nf9j7mU3
zQte{EYIhM=jZM&NNaw|J(7eW?E^V^UKdn@|v6z;-Q3+s+A8vZVCp|$3=lUI`H6Nc%
z at nm5OeE0Fu5UZdgbDV1m@gtJMz8vcoJ*NsLnWYyg1h!p7m>is){*Uo~{A>><dgNvm
z-l#90vUcO-E6M6?JS5AnDQo^c+^~*ObAqv*rq<`?K5QPhRlN_IbMLwAHa^g|gSRe-
z$m&nOJ%iw>D4d8n)gE-g+9`t$o(ciO1>;B>=B)$|NM)N=+lzIDoQh-n!>gPwH1}#s
z*@op>MDD~(dT<d+D*hH1E6Zl75(9qY@*^`?xboF{cRU&v8E#E`aK>tAKaat4pGJ^w
z(V#7-p)g^4<}P2kXU;@qu<?6KDc|`laXM?mTaW#|NNy>`*C at i0y%V&t%PKS7Qmcb+
z8wWb`HNex1kJ<{cgTc$14?0C47hyAOipfHbP at RttHT><6V??o5NhKF(ri1u67Za{2
z1sF!0l{e45rj5tlvo2QbK~7#MXK2s;j~)VvuU1RLm3=JM<m0n~wTF=j;}_9%PU|yl
zRufjw>!vwTNHQ=k7?J3EJO*7A7^$`Vn#Paf5KU+m<9FivWP+5O27^+q^>{IEGA-L5
z?a``nD>`tpJJxe+D1A4uj_Dh6gwzG9;L!)y1tX3J%YZfLM19mc-KhO5z-f;&((@eP
ztVt9O=8rs_7p_}`D4wkrcsOq%iF0()#$Q-d{3}4Ui6R+s$pGAX%zaNThdK?TRv;XX
zv{DZpZZ?#}F?&d~uwgMhd0c;zlQ-My)a!i%eQ0}4TRnQ)E9OIKLcy5*F+Me=pNjOb
z{os0YF at iB8wXbFcu@P+-(arR?A4oQ+ at z*(X1Pr*Lj(iFg;fDUP!G~7xSChP0zrAc0
z-d{!NYVT*RS_uSpkuI>1>@rMmfm{<bCFpVfT;(1o?omPW4c}vNG3rzNtw(Kkc9_ca
ze_zzH|9-LkQ6~bI{BLPVfb7<21WPViloeaVvZ5O&;_L9Q<mr=hT|?3pK^R(YDOCs8
zmE~#!?aBu at 9+!#+EP1&G7KGo*-IxK|VAT5H7!Kd9f=8nr+&(vNDFWo`TohTKP)C&P
z at L1N%n&T1Ayb+yL{iv^M`J_%71k&226Ev-?3;k47zX9S}i at p1kK`rhVDgDzj8**<R
z8}r7n08L>HuXxgpHxR1o4K|`}<3=6t1y}Eq_H_|ygPw72x at _viX>!)W6YTOXSO(S;
z*&-1#V(FEUg8B+~Yyxy(VX5G<hPE6)!jq=#;gng0sIBoOiWkaQ&hnPlj>mxL{ytPo
zbBFs#PyWVo5}{&-Fu+ZJ5h*hOCj{hF&wdhfe8xbF)qR~8C%=fSRA2ry`^)Qv)?7Ad
z1TB?+JhoU0!)z95L^-(sBp0OUn~HU5`FP)^oXa32SnA(_5buMjW0-gjTi(Ht{chUA
zRo9)P2&7u%9ifVJ=8Nsh`YY3 at p&bacM@#t3RH7wpY#Si7z975|8F4ixiWlbofa%zN
zY|-BKakpKEGHvtS*howYo;v8tO{iSsZKAueKrNHnwb9CE4&|kg4^4^@r>Ih$HCv>L
zDy5xYL-ZF(JYAxy!(*-PjHhOP?s|!`3ai$%Y$hJ?uiFCz>t at RKVw(J9*zc{3K+pHz
zdPZeacvB>)9fXv(-x3!|ZN%X3Dp#B~`1(wB1e)jrPQVL{UE;@9=1tbNf5b;qY26G2
zeq~`akOpt4A@!j;U7z7v9GqiedPMPbyG<;XL}zi!%rrebJu;_>$z?Gv!nx{su4a+#
zRB}J~$vZF^G6=6|nU8M3>=T~%V^w9&`Nz)*A-vo5%i0N0AtVVJeN$ohb;-4|bD<`j
zEtK`-N at Zp>SN40bcAxf8f>6Pl|HoJsKtZcmh^N&nf)3HcmWL5<Iqihsn4A*c{I<|Y
zx+>`|-%i7EN##-U?SxKhZeyZYV6Aq{SSbl6^NVf3=c$wYLxS_X?_%s7xMd6Rm0 at qY
z#|4u!+XPOe?f~i}7K$^mCN9yQ8K at 4c9?i3+0gqTnsK8uP+m+DCT%qU&{NH at zN1z=k
zmefN(eQHd1q=;iLoF5fXsNVm8Wnp6cpRg>9%>Or*g^h`Y<^Ql){vRw0I}1De|0k9u
z<`rB4cVZ<JmO{V*sy_!<=x*=k=B5S|uBLzce}93Uo!aqxH#KS9aVEL9zm+$16$bzG
z7A~*#DoY88l2!9gSeh0fVYD?jlox$VO(CHqs3aEVK`bn>dKMQJ1{32c1Fxn7el^3$
z6d^V?0;*`&fA@(DV3!*G^ilsS?#T at eVBtLJpl6ssE>l-7v{y|{Kwer}Ex(*v>kXh_
z&j5coV5ME)1GQ8E9t{*=8f$ay`1*+NPrl!GC_)xO$hrFZdWCO1guO<fjX=03T3{uw
z7jl89S3LNqDPR~i2*SMX$KN8tL)QA%R<qK4M;Di`8gs+f?TMB2tZbM)s0I$;G0<!O
z7JmOw|6WqiqGwwF-_#epRIoe?kcQ7R!TyP{9mQF6C=Y!`NGu?_>m6ZSTKIq#|JQ9`
z7^6fWEbF}E-fXhpV*&8D*L|R~p2csD?cTy)DX at kw9*x<)zKH>?*##^UOE^Z53{YU^
zfyCYGoU3vmuhdXKu8WLK&F<05?>W$n%ky5IFWnA&fpmF<yw{q$-H$6c8^M(qx7}-j
z6F<wMcbe%>CRj~u7!6I0|8{Y0 at LM5|WCF|T!S8OK>8D?lQT(4B_0n$)%EZ#*DGg2-
z(i)pgIz9$eLFR6k?^e3bZzVe51&CZrOADR-KQ0RdkP9<o{<}4(sJZptu2 at HJ>MmPb
zr<S%RX!MRL(6*ph-z$Gzjhh$0KajUJWM1bbKm4zBor?>QaC`u-0D%QuL-2Rfw=b5(
z69b^vPdgq}An2w0`wXbb at B8aDX~jDXOG`78=hyM~GtzSCJp^odnd+DBy;lqXprP=m
zVPoO-&- at pGE+8&G3uNH=yZ6)UY4R-aTXRTIZ<H#g2Gru0@(GaprFtLj_4dEo1r<Vg
z+tpc6yUl?Gi~qKCk<}vC3VPLd`OV$@zK#F&)BRCT{aqFN?L~v;NzeMVrT9!6{EgF{
z1u?n#vX6V6ajo;q1)-{Z)vWvKt)cGoi>diDhje6c?^kW~;&r>&XKwkmGrwfBi<R-)
z4A+1P!37L&D)<6H{%e)#S55QHW_Lm;omZ8DcUB7tAs{O*{pn|O%VK8m@)N$+?S8UL
zzV`|BecK|G3ZWM2H;v7U$|5kkqBe{5@?EhT0lg>n%9k7}P}=K_CGfbtF!93+c1J&t
zXJBFq`?=c9+z4a=_M`QIQ4eep{3A`<1cbfMF9Ml|{4NX!gk8 at +1ecfaC49?O{PQ1)
zMeL(@=;NRA3*tPe#nCSks=wHI at 6gLX(c9jkx0`bFR{#egPa{A5ZTa)>ocBG19|-2|
z`FH+X(n0NEG1C`h4=l(J=&n2CN6_uQm{{H~^P;{Q4dkZZTW_xaJ^vkV-x0xE4fqqH
z4?p3e-(Dws<9`L=@xOu;#s9{)z?%Bo_u5eXGv at Q^`<wY5_TH^<>9^;d!v5cH>fii;
zn{KI2e(c>Cx7)Z`f=BP=7r&`noXxB?kYAgZon+RRShZg$kJaNlM4#2?L&SyN&R-Iq
zZ*RWS|JK;2_dEP$Z3_shzWy}+eHDJ%`TpJS?bY-bpvVKhTIfmv4$HNS(ZBRXBZwt=
zp5f#r5&AV9V{4jdL0XC9<stx{38M+!niK7rS>K)ugFhnqC}<U9QFYN`xpr+mQgC}J
z?)Yy8;6q!*E@@0BPTVaK;i(e^5AUJ_E;V%I%$)xi60g?Ne2l5ghTiRD0YQYb_q(c%
zhJ!1J*p~AL0g)XaA0}jcVgd;9WOXEMMXg_dnuBGN{$=?l(fx}QUH)y4sNFvJpJk(8
zd+-IxnLG2$K2c!vkn0AK`vQQ2r6u@=)F9NPQyc1$Dst+yV|g}9X4g(7AS|6k*T(xn
z>FI%0w;AEwmYVraFcAj2CN at T8)2T;PRScv#$xyq3L2H8c=?cMCAh~{ANY5PsMC(LN
zvYIQ}J!Sie at N7b_5_v1e5bCC?Jq=P=cf2(*R%N)<(5qO+&BrTSzM=~%8B>TwJ_tT`
zPhX-ny<|j_PvyVvuL+j{nyTX^oJHl&gjZ~7VaV%>DL(BZ_y#KQl7CKESiBD9HWGpV
zT?p`1rC_?lZ!>ax8NcCbcy$4UgPmbtd%jvF=sz#sMNDYUVojY at 86e3&N5TGEo44}^
zg^Qe~JOrl(rp9uMv#YQb^R-q#>5cV9)W0j=?{yZH1Z6_y<9erMCwue0QDnOoSAX^$
z{63<5iX5zuq&!#Nz{b*Sn+`uSdU@!yPil&CRITI_$w)=@&=)(`v-c at gYE*WU65Ko1
zu>;1lhPij=vT_vrr at D6RxCghBavq0M?LXkMbfO)O_!_{nTeqsn$-u`k+z3xOhO~eT
zjm0)uIM!-$D#Vco8R2*>h)9s#hjDIlHhhK3d_(iv_w{M4 at 4O=q(p+Bnm2 at XxKPdBR
zJnjb8&2`k|CwA}j;jDFOaz5wGg9rby*?KB1+WGfzOUtRx=lVJGMVA*^RwcSCt0oqS
z4HPd-k=}@Rjb-89G-F7EE{z91f9J>@65|en6w1X_g1x9dyLv}L@@JBX-1L9dMCJXu
z{JhZkcY30QT~jrTB}BuK(qUK;fYVqY;NPu8!cpzSc3<bzll+?P2V~q3M_)jVYV+Tf
zbSD>}PPTS!YSG5xVN=G8i+}T^NBtKj!D*D8&d}r+*6PZ|P-BwFdKV>%Vw>c_<yB&8
zazR<i-JIcu6Dtnpez9PVe5M}6IG;k`J#q^$2O_Cbm!Mft{1|T9tw|6Q&Vx3(nI`y;
zr@^z^fTGjKI5J+=VgxlHQI|)EmuWK+Y4Wyj!&#Oc&&K&K%{#kS;q?GV8_vA$CdcGE
z??4YA)a3kDLH~P8Stj9eywpGhs{EfEfW1pvUhXN+)%g!LAm%(pCj5+%G9$0E-q at Ob
zs&yxxiJ<LD9jUBE#AcZc-2*$j0S7)UMH?h^muRqUGzq%(M4G94j-_63&vfWMN7r;v
zoVfXWzd3c6 at SQfL5VOX_>KUYxDlo&;-r3D-aaPuJ#c2HX4S%?6=G%GmBnyz9(NwU3
zhaJz4b<=)-{&>TM{O$aS^$JOmVZ0z&Nux~5c_1t5sKl5N5Jy+~y0>XMe4=tGg#E}{
z{?4-2ywIc?P`9I%TaHNJ`pSbZ&bS9+`#|fpgi;3=LvnC>$l=G<Gr)-KC5Bg7BopXr
zH{z9tR;3G0TRPEQMRF3Nu`HVEcsVZYOUQj#u$9Yu7cy=&i-Gki^$T-)UC_1maeTTC
zfQ%Di;RjVQrof)YIj6xrKh`~3bq#Umj=~A^-BX}<W2}?D?^ML(b8<A>h2&ddd?I4S
zPC-{TGNg%afV<19EOqQPZE5LiDLnX(z41pPabz|{^PrJEjHUHHF^pKO<;S)(d0yP3
zovw|gnGyp6jZ$~k6i6T4hS^M?;60C6=1+uG at Qhbv!!R<kyfX9Dy6k?rJU>Jx+V)WM
zg_gCdS$e$jWsaEU#d2%56+c?tK5IhT<g;(RajHXAjGRxyA}s2VSD<GgPZ|pJp)+w~
z;NKu-dpV`59DC5sGzR-SAw|8S3pC%T<12}fy2dR5i3H)rUx4Gikst<eK6-wooP+30
z^iH=)`6DB5{??C>EcdY{>g52t<w*JiYw<g4$Z%e&vl5IrX9OX_OmX0wk$tN<xN#KP
zL05|q@^XdjlR;p=uio!9uFkhfioKLNAd?qxnmq4FHGNbNsKsF$;B~PidMr{ZBn+#%
zVq=2RdyjF7(<aWwtzpR-pw}#reeMBha}PJhVn?=TX<o*{J8;SXu$A|33vUgS7y2tF
zU%b;TPl at KzP#g)3FEt at 6#OEzyb5w)sxeb*@GpqN!NuMXMdf;+!ivAbdYSTjA-MOus
z%c?q!+aTnN<m!P&d{PhkV)e$|Z)w@>6pvWATj~vei6$FJ(DF-lymuyd66Qrw59h5?
zG+1}Q2YD>AWlEF8)Bjc|(<#p-Zn>KW5C<R-A(SI47-sQhJyaS?l?`r|BT6mprf>R)
zf=YjcM>dYF(<+<uA{YOOWlTe<>Q#MnFlZI{=}62JfE?b3pmDRS;k?6BWSl7AK|e`T
z+xoAoVnCHjZt8&)6r-c1_v@)q!R0bJL+B}j!er%O$P=v1QN4)Ve?XbNYz027vB<4S
zfR4mPn<hl8oGRQ9$|h at Mwr~D{AUaK0ZR5VPpwoX#kj}%J*5IH8wbn(~71_2AEQchK
zRj`xw2)(kYKSF2!nr(ssEXPjkBcglxPdWyseiuw9YkDFfPRMWPGjVt6Arw?`u*iE2
zN)n~MEKCj9e(iquKM&#^K0`CA)4Vl-&7tZ8?ft+#=n^2ckBjs3rCaCZ=B)l%%KD=`
zZ#~cmi(eqk$gkCcmCE<699~qMZ=J$|HWZ4Y7R^1q6R`}BBFbv5(oA-o<5tsRJQ7lY
z+IxK8#-bA?rI}JhhuXxfx|G&Ec2>U#la)Q&b&}2IRj>dXgn|Vm9z8Qz84;gzJoDRQ
zd+orfbR{WJV#UCghaYqpQDw8ZF7zIp4ss2y<W!Nytu9l`aLJ3xC2p0R8$b@|Cdf7k
zs?}l6$gn2193cBq-0ojs2nRU%WI56vj>=eWXf;Z-5o-MXN at R5N+gBXqc*fxns@`=T
zeND1q?@P34^54^TwYDB9c2Yd8eeBQp^U(p%v5r4k2 at rU@5y&2?Z9?+8M3oX_|G2W9
zc^SPD6b91^*qHveTeedix<M{^zkL>3^>?a>hJJld5;5%y=n^gZ)X}zZ09^lN;yg*}
zHz-*y%k|qZ$eh0_bU+_~`NY|dH$%q#$qD>3G27fA{cn)J=7D{yUaFp3!`pP-(|;Qo
zr$HxH9g?Y-M2^U*+8g*q6eL1Fy9E>r*GLLI{WYCF%779J)D^~lF_z&e5;}H6I*F?}
z0RJPTZ~O5rX)eBa4%UT@!x7R0TEzp$d}_`Xa#fA3%ow%rI1GZqa2)u`*@?xN=P<}>
z%_aDo3FYr0#m8#l5az&L6b%tOH9EDV;?)+O^ETx<*_QGc?layGX6alVINkJ at bxf6~
zc5dgUIS at P3E=J8*6-WW6aCp%ctev(-R%qVM%;IbVKRksuyybJHrNb(wF|yst&7V!W
zCoVbpSC4{ZRdwty at hpY#b!@KmK)T#@w|rQ?*Hi0)hE_ONXKrmKOuV?)amrX0z=O50
z#jnfUzdKlOk^RyqXUKwaxJG>Q4%m_;EDcC`v>7JW<b=dJ`G$y=a0PZ$HNNIN0>RJ&
zv4*RU)=atFNEN;G`c_dk;Vi>5VP~5!08#2Y1)o9g-*L)Ud at E|137fH3pPC7j9`fT0
z4~6>ZZy)DDcGnYDDdil*x7nmU{Z_qz5>0Zw at B#ulP9Le<++s6e2u_PeNlV0v<fRuf
za<OYl_3Gp{CcTPA4OYhCp>>=da(+FxZ5UXRB%}J?Rg>?JHE*QuTdNu~t#hDYtcrYO
zgU6NwN^tz>MIN2P%W??;Sj|K#$5>1?3M9LDPW8^k at Og0qo!eLB2kqRL<fsq+iil3!
z;cp0vi-A*3!Q(aKzE)w=6KyAngB7MPB<C?w4E^(y7S<@N>$$p9VS+_3uMB4Os?+k0
zD|pFc*A3VA*Si}{X^|0iV?KX at VFdDq7LvCT;uyzRvsmT{5E=JBEM>VgK1RF@*jSDH
z6N=D)2h^58%NE(_?weI?8MH^%Bx6_2C)4e{v^mpln(<iCZ!F4xgqb63h5Vrine;Ne
z!|VD*d&2n&6mB_<C<%_=DleKQ9S!>8WPfG&rG*4d+{}>vZICp@$!!!b2(-+HZ@}BA
zJje86G+0FQi(8>EK?m8m=lSX|ERkWb*erv)+XEy)Y=%0wJ7KzFpv!q0C85f+A94Z-
zKMQ(^`TkLI=R-2H2Z0GDUrn1XNicAY?pK(z`{LS8op%s)7RBss4W<S^&6}m^@aMTI
zOEhpeFnC;W1HU`QPrCcS=>_LyjQ5E5O`%&?tScz$YEa0I^X7zliuj3+pvJoA_5JlF
zPT=f-pnJcWM*c>Ij$T-9KkAJBH=H(sP}(?dCQ$`0eLXIkY*aTJRiWY_$m~8f`<QMo
zF6mvgx$8l;>N^`|P1(6-f}8!|3 at X!mo8PIg+NPC3Xa3d0ee%ZSa9;=u9f?ZQzO+z^
zOL9Tx$~oObp9}Eo=&Q7X-{>HB_o4Os8N4noLt4Ck`42FXzkw#n9~7E1m54~~_-AR=
zQ4s?hf%%0_wNym|J6}X8I*~5U3)@5bze72!3Lifua_p;ELirmT2ZZIP98v5k7Pe0I
z1s*V~2;jP7B4Rk at BXPtGGbX{+`KP69&dJ+L>oL6aZ*<}8sBx=<87l6gKlAMi?t6hu
zUcYP+znT7&$cc>VqM$`iZYZ1yfv~-#b`apG8>&tZtWAo550Cb?l%H=x36 at F+Yh+co
zzJ4M_uj^&7V-tsdMjn;~gSCA%M_+I`oClC6Ey)Vn<M)i+Q>>78Jo2GtDn)47aFws~
zknV~#zN at d8c@CCpq7yY{*LHsJuGF#Iba0zb<JNZ&+YHRbJeTZjF%go%Sp30!3Op*!
z)(E}{uE5eCZ<XP*#WWT&lxa4a=dy{BijQq67d;1Cu*&x$j3U_xnX;cdm>FudXojxJ
zn+<(MBB|0SXt}(h5XY~@ACx)Ax807)NeXwETrEHiQt-c8V96gV%+Gc-ck^x0hZWh&
z;ehq&X5&u6o681pMwYi7xHk>}5zXc%24wVGet`gBY-&yRmw<@x$TuV`qYzbp8sfr2
z7*eWGJtW$<xmo!O7r-jg8y_g0OU+iZo_Ay$FPcu+>g|$!<KVujP7CP^Q;>D(83XDA
z6Be2y9K2eqvquFZv-xm!rf$GR at 8&Z?V#cq92gOyH+FZvnKBg9nV+k*IVt%}P_U6h6
zjA<F^W4EM|>ETf*e%@&Nyn>&2 at UoyjH(Ek)k#;nrg!_f^cOrHSGtk_shNCMFf~4MB
z-cN%Dxrsh)27 at 6{EKFYowT__RaIjAxjIj_^R}+0X|0Yv^XVqKE(FxT8cF(;JJJrkA
zs<`7cYO}>5n$r3ihUOE*@IcUll<wzsY~?2xn%bpXNC$BuF&JvaS97B<B|*=@#Gmt)
z%;^oP1JKEm{xdqylb#k-FmE=T+RCNED}@25D+$tC)GNf#LyvbEgSQF2^-m6!cq>96
zZQ~=ZjC!jgjfW!Ny<eQ_(hfH%*bU9rWW_pV9o=7B7f3mrH_T7t*j7?&>W<S_h9c@^
zwn%)|9d%ufEYg^Tv3y}ocJnLNlBuWN@$mK7GlxX at NUcaI+I`MbM?R(#36|A2D}q-)
zQ(f@=708z2ZMM(hep6xPIm#y`26Sv2&PoUT#Vxj5BTh5wGxYFSQV|^8{Hc3{@;li>
z>a+c6S(*z~y34AnjvJDukbGmQoJ|vSYN9TjhIazWJ&Mth0?o6FyKSjv`vx}uB5}Rc
z9m>2NOUujzCcLK*==Fz1%S*JlDXp2T<xYO(Zp at R6YRYl2f0t+osV3aH*8Xu=hlIOk
zz0Tnb(nvjK6q$*Sb$x?wf+%S4VOb0>=StL`>v5ULx<X=*joCzAO}N?3G!uqmIwzR-
zF1Ci}5&Ub+eH2Ymb-nfUtW~6|;74Bp!p0j59apU`bBlIEIXl6DY=w6G&lySXLDpyy
zUE?Um`82VFYU>q0%*aa(sY$=HQ^(nog6$=`VP4*;k>9Kd+U1(EfI7q}-(WY5Y0aFK
z_|6DRMl+Mm6)Y_;MsVT+4ivr(NnK8i4QFcX<+O}%?%-c+eE#7;IK^nj`tQVlEvy{k
zzx?MNZ*F{m{tR at 9u&(}y=W6j*`ol?+I%<~{n_0x`ispKGdj0hvy`Jj?CYL9L$%4KL
zIr>75%{&JNC*hiAC8NIV#Au5!l!<8#-`SXt`8gDx;7I1<9RlC~5)?SaN-_uI^iO0q
zX0J|QGwJZZ8}89qg99}yIAmKXVHc6J&~GiuYuv|b3#9|4#8>SGj-sEU at 7DAOR*hK0
zx0HuM_SQ>=cd@>S(NC?4d_=nMs(UTfYm<M4`WG=O=#TIu!txKrAW=v+n;nw^h*FP@
zriT8!_~rvefh0z9dI}wLsYjG<9DP;Fm5?ds0Qy*d#`6{5|C*6A1jg_Ok&)o{n`4_O
zlf1p{qmP|UIN4g(PoPXZJ;(+(e-ZJg(dM3&D-i^7lG&&M#h{5VZ5*^FVQ%E(j>u0h
z&M>*%xB8yT^Gu at ELn~#l%zoMuL1Mtjb?Jjdx_ue|sO<VBqJ6Ha+M#Wz;}19=zX4)u
zmv6yOEXm_fKk<{Lp1EF0mafbpm!N+Xg~9Ty^)7;95X67_i~WomJHW)V-X&Tmvm8)7
z&O?4PnK7L?I`i+-tL6IQSiS$tO&eIywXiKYz<s0Ad0oe?&ez0mgTv-tY!SX%_E;n!
z<4xCeDMndh2${7Sb2^R_b7t<+hgP at uccDp{f+Akz;~A5E=Ys5mV^w)W&Z9E!L)i-6
zTV~tQheb*eRTijM=|{7w%(S<V;}*#XE at Iwm8DPanh4y*FxgNuyW`Ju2=M@~6LhdSa
zL(E{br^MbGY(5uMGxMEP?Ro`q&lgvM4YBqX{Ms0NK=2F`uvV^o<O$-v`_SSRPo%wh
zE3p%!l8d*BX7~=8yAbA&V{4IL(xb(cnl)rFo;2e|D82E80bjGLZh|t7qrm0{=CbH3
zE%R~Z(l18SDzi-oK|j=&rcrEL4zBLvZOIJ>^c6JRn|<c|c>z-c0=6v0v_B!fNjn`1
zX0kPC6pnE(l3u;}yA8z8JVdFL>Y_m+`p<Bj at bDuMk%NQrcTtO7Nv|BKvMQ-ZybWV|
z`I&xIqISDAxWf>QF+4!yx6gg5`!B$n$?@2fDU<}hVFFKX!D`yN*H+iP8s*Qw{wHQ2
zMN6C3KO$W7kbmSkdbfowgh~{(*uk7Ic$nBzX)h;()GQZC$e60 at QA0RrE?PP`g2oiK
zs;2jN$h`fi#|zJf at TsRY@F4p_paihFAhyUk2dk@{=S6cyjyhV!_$Z!Z!_R*j7 at 2cB
zhAY{lv6-3y)+qH++pw2OjzAG&ch9QJ-XKPrQv=hfklyv=dD)ms^LyUTTxBi6=Fpcm
zyz4~0=KKvXy7Z6vGEs}nLGvs`vvi_=c=n7nQO6=97c*iLy49?`9830PG})0%=<v0U
z!x0wqkL06+L1U!M&c3mV!v5V=2aNEa92Q;|mAjBhwxO2hE_?_jU5#3fCM*P|1v+zs
zi)z*%MPYKT@<w1Vq30fZCXC(R7O(a%Aq-s)Cew{^bKAku4Q-fcnamJ{E0jBS%i=w2
zyw#T8<Q0K*PTrSDRcTXE<rCed^0>J?e-G>WQ|hMajZL>Ukw8Q{6J_cI+a<;2iC^ty
ztlYuvptOj#5w?{E_EV*=eq$+cMg6wN>N+Xjp6>ZWB%as*Gc=FvDqlJs4t8s~w>Tw<
z&TEnDSz|x-C`MH`N;-Xt9h>IEFpRGrIJkGFy!JV$yk-r=Ll3Oy$ES|SQG8e*sfHm}
z^8`{ENgDcoo6Xpr6v at u-%R2g4TF}F<Uf)Evt<kC!z<5gHt|}Y~t|j<S_LP>fnB%P}
z4*Q at nZJAZX5E9n0&YR<!C%=No5=(nb!k48S12g&&JibBX7pPch7#}6Yi-mE_IXQ<*
zloBEBJTbxE$?#|CLO|;3&&NbI!<$PJt2j`+n{N*HD7Qu3UkU4q>BZ0_X7f$B;-;`i
zMzSMosq4N%TCwqEiMrm;j)(iT!8gx>QtfL~o@<<n(2fl at x**_4d|rU1O#Ez#6_f0O
z5GTTxux=IYfB7Dg3+=`;MN at D}IO}T&A5)TyGG#`0k at O+mh^RmzB<ruskiIWVm3GZ|
zl4MID5dfgt?R<u*5@!=95I{Nh81=EB)C|>n=p_9}WIGPPgES;`*TiGgR7Bdi8kI(%
zkC*A{1`PnWpdS!v0?P4p;R`75i~Tsx!d%u+Nc1nI^z4?^^!zm~{&d(qo>3|18Tju;
z*V$Ub%05+1iRi2MOg_D?8j4^BT11YYnv3R4hL5{qmUhyp*^ui!aK3{L!k(s7G$^R0
zFb!6~>=}apY=O8{xV?3jccg-w(enUY!v7`vM_^mmPx at MJsudBO$uh`0PoEeUXupyr
zQ~a at snNaVUacN^ryy4M9?yECgCPo-_8Qm_0U`pfXlj=4lH!PyrhyzJV=`FRJ$H<H{
zs2jPGij)Jt=9fx88XR!NbhI_}>8S$wulMojnYb+#^S7T6Ds|{pBMzRib>XsL=KNb*
z6S=f&cs-QPH7b37jr at FH!$CGn$2Dev!ai}mNJbK!Y{xrBhMr(~X}4*-IRVSBvReJj
zDa(*}yuCwuNXb4`d2i$DpeZjT(uz>@=op*%701QB&isUp3B|@kG7aDqB&=R^e2P`!
z at M0hSV3ABumb$-B9kBDCjYl+%B$v<9ZH~&lkie~C&;=fyv6uBSdh at 06Jlc6_Gm36l
zh4f6hz?&*bZk@;43+Y(|kBw4&8*T)%bUlSi`SM6IgOVx^X<&bY>{XiGRBI#tj3Nwy
zhVAO*M6~yKNZb#kTWhL(A<B5cf{y8(ow(!ri8x~(Ut7nLq`;ns%pI<TT`QaF&Y^PI
z|K$aPr<?%^bVPf0KCW+s_PF&ENg^h8s^wC8Uovh at s>!XbDN%RS{dmYv>=@Q7N|&X(
zT!{}g`=i_Fl at NiQ74wh<8v+hCvYWTS7j<NE at g>ROK{!!#z^<_)`jljX>(9uj(8q^k
zn!GR$UEup(eIA@!N;!<_QE<DtAekn4WTk`PgcalBO(RDVdoD^&wo~+suyILc9S*W}
zY_u}E_QW4$6I_=bQ&gYgd%4C|?-ru(Hr3hjo8j;%R=7--iMFfvBTM&r4pgc&?GoGa
zxULw at S6WjX(%l()-KlNau4h6u4c<9`<qW|<@vu<sTO}`3%vH}o0)C~Tv at -G(hTQ}d
zUR1RJVk>DGszr`eO7I{h!kDDk;6#rV)A(k&eam~DB|+pMtU_1yPVAq%v*&DE4l at rY
z3@^P{9L%MNM}rIe&gZN^8}fY4>@np`(6PyE#{}@Uv=Kx5L?PQVLx(W3{P(5|ZHT8P
zFKBwCjT#6E1^Av_$97?-sN+~?v(nZRI)tw`cHYNy!JNaa+s9DW4#mA0?K8t*W~0U}
zE3uRN3O;sv(XPK#mCCVK%w?mfKF;QXZL%soAo%LF*4^)lS%Ov9EGp1se`#dKMMp{f
zw<g`sh`CDpPYhs1nD!xi=>;(xM=Sc#Wn9Z at 3McT448A6J7r$|s<J7VEEd#(!&*NHQ
zdDcHKJlu1~8No~o>K9RL2$&v;>+!a-jxQZC$Q!tV(wN8_ukWKiMcNwoaocV6zO+bS
zBmV6o#bh&Q7r1yRRwdbZh>>JffDMpNgf|Rg1{wY#j$>+M(8sCUO=Xa;Y8g3Yy%Pn5
zmVHN3d at _$#CI$?IKNSUMkj@$!6c9webs{-EYpsT4YqpXhqZFh*MdHS4+;7!VL9C%1
zm=ann9-Nu+tPD*=iZD-a-4F&7<pUVpA1#ca7><~-d9X2|_1)K^&<6vMD0YEuHHV)1
z$Xa7)2DdE>q6_Um4>Q!M3fVRCh^S1<91468edvAlwr2dACsz)Z`u3DJYW&H9^EB4P
zjZ%tR&-$}}L^(-yrT0~(2*7PTwiPXQ%h+YD#9K*fh-xp??`x0Vg;t4vvfAoYB{thP
zb8j~ig(J}db#B)ULYD{jx?~VoglWN}R?4L@#7(@=NbsXg$=t9f4%&}z3XY}Zg4F=3
zBUj4$2qKMgBPMTm at 8#_7pD|LRYyzQUENJ$U&vS2S*-`&g^zr~F7Q33*u&Dg{)sk3L
znRAG-N*CuLqMop;vA_8%muUZ(EN;Z<yNpyok&ISgqDBx&GFxs(kKnfV{=mxOju8!j
z?{TzGxlfRW?<p|?$)(fxi7w)O7x=EinhN&zKmU=c8u7Y0(p_NLx6tkN5?g)R1goRa
zPv<ROetR`;{1p%x)6pW##yCG9?YMt{gf$!1b0~+Ry}f)Lcq<Z06llW?8&eP$C+yRf
zN)lp1)gNYx8SXr(RnOW6KHN;rREH!TaZ{!+i+plb!AO2%l9lrOHZ|Ke?%om6!ZHHK
z>UH03i~F$clW)@k81S?-!^UmOAMq at YdnVrRMb!k06alFTMg7cC?I_k<U9I9K|2 at DX
zu)87>^h}ka2k(@~OCKA}DB`R&MRBQ(RGZQm$IxpZE-ZwSbf$VZcK8*_*s2ASM<f66
zN~8=41l?OiD)w5hL<&V-);d8Mq}i2`WyISu?zFWnMJU>YcTn<P4x*5D?6(6s-6&Y=
ze3P<zK(mJNom*_gqy?kWC}gBoS~l<6KwwOoxi?>Ad3kZOPLN%6e26)VRCbI!a!^DL
zg||<js+6z(HdL49UBcL3l{_ at j^2D!!R<>HBJR(GE!VrpJxtR_I5-)ndwi60H&n}r&
zYZw4SyzAZOm(bBPg$0(mgz^N`ZdEr7vp7S0;v#zryhVDPC%jomr2*MhJ(qA|gQ#zR
z3mI!kDJqvYonYPO^6>3CV!{w(zc_v<+&^vKyoFN>7GA&pH~;BF?9OB<<^bVpnPaLB
zOg%K at o~VP3UNq^bAiOnUS|SrWz}8!AAuOFE?KLV72P`+Z#V-=j!)8w>`P)}pmR<hB
zo8jO(Ot-nRCQ9+l)L%&}4l5|4jJrnLOM*_wexz5%5Y0Sv61&NDc{b&F=vrQZc}0Vy
zNFrI}{`ZsIJ3Y;R-X>4eT!Ffk;JMjd{VK|S<YLH#e(ZIX`#n;%dzYe<@D1_d^bhJN
z*m9Qe9$e~NkF3fhN7TAniHT;{KsUglLIKq#W2q=0qUY_hLP#v&uS_2V<n$`jGeDzm
zA?^B|2gxcB5 at S2d@Z>V-iuRwua#%Iz!iNOefoRNF)<5M59GJgrm?n%xDCiF?LH$nG
z!Sq#J6-N-+&-4C~!NCmBN)D$LNCnpcT`6jE`E6lv3!w+biwKkfytAUc`(3COTrnsR
zwoz3rCPRy|wDU2NzRd^hm1`K=@L4Mf+O0Z~W=|0gKsFW7I1=s~dohLsMgervM2QVH
zu#&oV$Srcw-!tG_z%tCeMvGx4c$#D^T%bcz6f#zmsVgFUj|#l@$7m$n;MNA`h~Mnq
z*BhC08Mw?gmc=`d{zr&x!wOvIH3J>uT~bH8`lq0qdTgQ$)5R`g+R4_H;{8bC&5BS$
zR}!5cOJJ<Hv(O{by%Y=`0ZWJ)c6>|d4Yvjp(XntWsS0EV*;eNd6*pZk1){q at U|tyu
zH)?cz<@aIXc^W|sPrdctv7TLP at Bx7M?taDX!*Ij2?7h8NE`L$--cKf;du!<}rlE%&
zTwQtTyS?O?&2l56c34tSZ at S}$#!b_>#R7eme4J+;aUW=DI3@&?ZNFap%-o)E7I>Q9
znz8&`fyZkmPvz3OLgd4kPAlAE*J-v$9A_~Uo~w~ojFc)79uhs(;<S4b{fL4_$fR<w
z!N%@VC;O4{K}rgK=3EUpgXTs0hgZ*Ir{vLV$Q1d7lxVIy=M=pN at s0cj!?uc^2jl={
zVSye!=h}qqL=r#5Z|cREQxIcaMM>8rBDY`Wtl8-Pw)$v5NVDQDZ|W#}N^x|`ThL|i
zeo(Cz&&K3t{qffmWRMc!H|ykSE*g5fk{5jGETRw!(Da+w`kZugLfv&C<`@3DbfoZT
z@?eN&#odS?SlD6wdNsv3lh$H0<k9C8RZA}B%872!dEA4a0sQ^V6-W05x(EI7hX`I(
z>R*PKfP=LhC|6A_FqA(BLhjqz(q}Vgwz%vjC_{y4h$%c$OTm!MMMPd+DK?17C9?f@
ziH(fKelmlL(L;K%!{7 at -ZZ5_?c+88mN34yjFS#BtJ>j%uPom}@9%$VB|6=~hAOANT
zVzvWv&m&&!)2_Rh#BMqx_gIh)V;(lIZnZi;k%^C7!mH$c_%s4e>m0yji|sRRKNAYQ
zI9~Kbi<Z+r|3YKDB at W;<eVLr>0*f!j;+r?35B6O^!sU!hzLP;O;o$O=MRS|XBw$n5
z+qev?b<VU%rIG6zVEj`9(RzxO6AMT<)lXidu*}MzI)k}N at 1-l75&ju4*yZ1zn&+7)
z5>p6P7=JgCu&o^aW(Q;PKZTRcygO@^x{U87Ru{)>t28K=f at i#gAmy+ZE^~V7vbn at B
z2V~bI2FLL(E(xdIxH|+Ey{sPIA`}niA&~4qHMjY>3Hpss&9mK}!(~c4TqHys*C3FE
zZDc;@&3b+$R8!e3;K!T}oI}b`O5`<ZBd4Kk9wXmmi5X8)dQbPmw}0CBg};}8pX9hA
zl4n%W4LaW?Jl-(2^Noa-%+RvBWQq&rvCxvqj`XnSp0Y7{IHBvflDFqcadbu(dL!^y
z(-e4`;<nCvjFgv<*s*xQm9W at QeX*u=_vY!dN$k+ttr66v|9SCb8W8n!QbYjg^ftC$
zwZ1r+AhKTlU8qg}L0#w62nAcB at u+KkFoK=8^fT3L!*<4i#v~SP`im&G3a7n2c6GH`
zkI9jx8#^N(jq{)^#-Kjy<1Ce>0$Z?L{AmL>67DV`v5hv1ykA|Fd%rzjw<)It6TBCA
z4uj7hJgBug_R%f7^#Lg8^?(h2rs7NTb8xg1PSXDTnkGslGeNX%LO4IrIkKQ6insqQ
z#W&d!<Fs!+nrNE%yF8{z??>`?VO6w6Wl>wS9I(*IET&#MA|>bhy}K>!#iAYX2Z3Sd
zqmX_MXku$}K&6X*6|&9x{`OlZdGSZ(4j%0Foj`7BDlXr(Q%d8T4?l_C=WklDCoL5d
z1HqD)-7Tyy<v92 at Lhe4FJQYVLr%!Zf+<+0>DRu*VYJHc85~*rXCvy77y81Gj!~D`6
z)$aDc9grC5kqK_kDy6&1?uHOOLk;lQvJF1E(8lh=Mr4fgzk`s#iwG6FqO825e_T%W
zYMKUGGIjMs%o1=>C`N5K+gv2#-5iH-d2xnq;Sv&e*$3?%!hupCJrnu<%b4<wiK;+5
z_IJmKfl?3Vq?Zqmj~wXSE92PIoDl*`1P(fb`>j(vdWsm+t2TOYxuZUhxedm&qZZ9Z
zVz;#CBzl%{oMs~u%heG&=Au;$@(Ko`O&4R~^AK5&3R-|yhUXt|Dl_-3OVzRS>cI+^
z>`?wRA?_?0Q+}y6C6VUK#qx$6eoZ5XE<Ao$rpP7ZQxO3d^cT-us)@!Hswr=~YE5`P
z<K at JY>AV+J%w3tSmUkFlN0{acAQH_YhvB|2LrKoF!&+#r%C~(<0jad41lhU3Y0j$M
zCIe<oqclilkSesjtlwQmi)+)pKBtX2g*r`pqc;qz`F=m;FA<$kn?e&IxXDn*G9&ue
zGK3uEo<1Ra>rB`Dq at MU&F$Eg!jm^KlhOI_A1dSk+nI)+-2MQlHsg}&f%bXtC9fkrx
zCD&4QPxwxe@<g7uuVFl6D_1T=kqvFm-6?NHn7d1DC3gCLMuxTTz?G`Y(}eFiab~Uy
z3V`-FSA5^X=h*5o$9+8}_+r4YdUa33o_t=!GN8!`Ce!^)JhEfRirB)uDR5}}$21G<
zuUF$B?<dG|TFh+hfKhm at TMlRp=tR53e4Fu?)>ZcnZl+e(aNl?Nu6|On!*DSu=oRy>
zh+!6h0>z|M&Xx7tyDf06^V|61tp+T)Y)%Q3iz}bmOzC%Vdww9a6{y+hWCg_M?|Bmi
zImwULU%7w6*Dcl95-#Nx3M>3{8tlBU76<h)(8npcD&^W=(8yCGJUC?iRmxw@&yQ%W
z>DbB4)4UI2cJr?hvO$Y8-u|RoMP- at w(r~s04Hge;63VIr;kun`Wwkx+E4En26tjJi
zY~NRU4SN`9o!)2L#Hi1QDb*OdGG{j4p!lyzAmF}X^R#`<p`_cDHp<=IAJw%GRomDI
zF!4VK+|o*Iq+vssV6;$1W)#m|_a}<$R098}w@(tQE=uK&Ig2?t{7Y^W$*kY}e8~+?
zx3TU9<xA_x%87V|YR_q~DM{9LqJ_UHucX5vT{~tgjoU=9g44CD0P#jPp`jU%(D6j#
z_u;3VGhOT9&o+?DM>okFp6%nHxB7UZ8|K+#yfO7mGmufZ9f*%gRLW9DUcmgeG^{1q
z#x)(8^m8E3?N^U?+1!!bl%Po;cmLdFQcJoBLx|6c5S4g}r-nw2?<HmP6#<nZCNiW{
z6EF=MQ%+}A5u0N~O2*1~$4d6mSS2b$Uu{l>u;Aq0IoPGaG*24CDs_|W8|sy*c!_s#
zFduZe at B_4uk;5IdyW?%okxEew{)kmCVr|*Joti{YhAa!?)E`}rsr&j-xJY^H%Ur!h
z!54Q|RY+~gZsz)hF3dK=pG9WL9lZ3O%uuocHpZh}Ha0(%I>}79)=H*>V!3qXDB(Mp
z+BICac!5Lxm(RiBf at gh=LoB_W%3#q5k;F&RX_AdRa;S!;DL}xGGyc^E5~Iak@(Js2
zY01QNkMqpV5q?v$nWigCwfP>QHNZ&Gnt5acFD~K;yHx;ctB<#3*lhtABS8(;iUu#q
zEb!Fg)HK`ks*NtNv+m(4U^a at TM{=__^0`h!AlIQXE0z?YV<IJUORJ1V6}b>9bpW{5
zlq9uEGGD>sK;_CQ0Uf2*ht8M;#wxsaBPK_oFib*(tYV1?5idII6y<k=*o6Ebq=-4|
zhl`Mv#s?@km&&BghJMvK*7wTxM8`i+w8l-5>n`!#2%;6R06jVb3%mm#5~8*n+*SME
z^EdaXA(;YuuN%^psU;2LtpBBBhwF}48!|DS&ao5)48H#@2kQ4W!jwc3HbzX$=iNZu
zJ-pfLr9V*VpwJfbL)9z#Ll8JxJ-2L9nv6!K*VULqn#oO7BP9Ha8!r}YQrhJ5jn?_%
z<pf4GqQ7VY at l6rrEB$DY_GMKEJZC~3Zy?h>C_xA3EmV{&Qz7L%g8k89a8qI&K-}&<
z4K_lESKr==JhY19WZ)8af(3N(6f~je4fNc8$p5+IlRo6_^9B*>Y+>0xdNi}-63B)D
zJTl<xd7IK at I3U-MpU+T)6Kt*-6SiB=4f=wZYm0kx)3mXPCvJ%KW7S<~IdW?ut`uck
zxC(RE!i1lOK|z<VJ!S9?P+XaTOFA;VQHWI~@w&WLAgokJ?`F=iz#Oh at sII85ZKGVc
za(J_X(7+w`az(x><_2HG2&2SyxO(NgB;iV-1qb9Zd$?449XfBRsX+LT>oD#q|HVPH
z(9WNVj)dSy-y(JT-$N!zU8W3hHvJJVPkcrv`Rz%UDSXYnofeuQzf{W&0SV*<`=_D_
zk1L7KmFf}UJhz+bIL4p()W`HpYhqPq<w=&eljDH7CTbmm_cKSOb_r+s7J}u*)j=mb
zf~h at v&v3f*tN!x?HrNPDNDS4d{C%KR_8(((FbtN&s5``TgZ<r_yw1IO^L}074g#}G
z$kSsrQB%R(hctFSDHs5H6NkED(H7QOq9Ui*jc6n3OJ*`<)SaA|Vw!~UQt~4 at HmXXD
zn5}?#9D6(&P$9nIengx&aU3Sr_z&+FL{HIsd_1K;yK=)hlI#dUVMb(;BUhp#&ix~2
zBlEMm?QvQwY}C+f2_E*C*9Kn~&9hIsCH>p+3OU7jZ%Z0qkw~X}bl&j3NOHd~j!J*(
z{eIfC3fJ4ub<${>Lq~3Nj at +`;tMVR&RDD`Ttcc?iW2o>Ku9EJ~B^@MF;vNYEZCx#7
z1vxvaH!+v?QgLq=-(Ks*tAu#2#^22 at Sp&6n#c*nY+N39nK8xo+^xk}4yNX7WHTgV2
zZq*A3d`AzD93A$0Uq=KZH@!;k$lIHY=OZp-u8QQ_KP&q&kZdTW#hB3ewX839tU;>_
zyu~N)Zopy^U?xNl){e08v^9^PhMhovqg&Hs5?ALY<d*Q4)cT5%e~?P(IwtBrFW!Ib
zZ#IDQFQ&}6blPqLz1Y7X(SA>T6S>n4=(KGj_5dW=Z8IGMbGNVw^;WiT-m)}{L4>R~
zw0|j%p4y^<(6zic*=0nXus)-#UxHSfKyGrI8YQE{=F>lU=a+4rBoNn_4w&gVLMXjM
zPaNWI>U6-2*B>=gh#i67(mUHzfDf0Axb at PfAZk%?<q>5XN^+yYLHA#qw?+R=n2~Ky
zMM&L<4}GADJsawxMLf8lX^c2dMpBCp?oUq7-H9g&pC%12|Aky}>ovj}KGi%Gi>}sc
z?N5-T3hB4E%w6sGswJzs-(WWQ0BkWVAR0RT?BEJrFjhP}$8Z_(C at pDrBGn^yF$eEs
z!-}ce?h?*_ZDq<`%ted@%QIva2qqGAQ?dgH-cIT;tEi%uW3T86mS;OR8jrw$2Z1{x
zTa>iWzQ#fr&nX}?R at y!ADe>g_OULJQs0t|0s7A^0xoau50H at 5FLM;A3w$uIecBfx9
ze>bc>CP;Xdiy#G!!a|4KckNxtYJ=siPl=lYXNbmO>pranCKwjVjS_tGwaQb>TGh at k
zIG?>wNbzYXf~f!^&zZIs0w$Lqu&NanwFabcMkJmw90zZ*=FL3%)BZ2cEHcUh(r$2`
zR;T1bzH35O5VURNLfZ_QZZlaFN|&ha*_ST`+pe29r3DHI)=ReXR>^vo)Gtc})%C=M
z(AwC=$c*{L7hLx=Q`3;%+VVIi&SgRLo~-|jGwPf{mW#2oz_9NgO&RFd2F<C{tQ)H)
zFlHgBW=ZcvQ}ha~UbPVy-~w=soe$2uVDce*y~>_IE&bM-H3mcEe~eJN!k!M_4rEzX
zB_57<NO?63)2cEKy#t&ynw-TAm$LSR8We8 at Ke$d4A;}{j=8=Ue)TnO2w_gicaL+=t
z>_WS*=t)lW*U=MZsx0ilZD-v$Z|bp<xj4A2n^dVI;H1i?WSS~X5Ded&S-y8EahmF<
zB<(7Z5=@TvvO<K=9q{B#{m_pV!jhp!UK;;ktQGQ*K=u5mCoM%0YldDX#JGfQYZ{3c
zIDmGe2o~=HxpbJs7(cud4_*+(e6|q~W2;M2F+Wr*`c^yQue`is*dhkZi`e at O8|P`c
zHrvdvUk(q0`IT^LtV)GzrO)AYZo02I`pOVZP(%@h-r!P)II5E-t5+1n)=-T0D4sn#
zo81+O-09o)AHH2cCLsu7kn8a&gXaH*xuqSAohuaWH*QqrMRSZV){c)o^rBd5zu>AL
zru^_OZ3k*w#LY$FH0-wA2^_H&c?(gcCp8F1?K(?2AC~UDP)ew^@bG=D8kK3zb+{e5
zWJ|9dAd4Y6XHIVb5P|!uP~$b|4HuQHX`v8A|Gt86W5i7SL)t2V8I_^@Sm_y$%)31=
zOpabOD77V=2-iscIk?2wNLET-E<)dL`VNAr_Cj_I!SDNDjGaS}C`^#8+qTWywr$(C
zZQHhO+tzK{wr#un-M5*T#lM(EWkjtjN||}SQ}*MEs1mYO_}8~X?QoHIx0ol6ad}zx
z$)l!=l2~{NojY12mGVfr;Jt!GzX3f08(C)Hz8p<Lu_kMM8tw3sdI(Xdl8+JGaKyj?
z2RD$h+MI<uVGFe{sqHVd;JbPsK=u7Ra$BhMDv}Y<(Mw#fc}y*<zeNNPTpaF`+`W%R
zOcsh9P;liwJ`A|Lgf53rTX>wkY64{w7jR~(28y*Mlx}W1v7 at S_!5lfMRpdd#6#PuR
zX21^2pQ9(x*EW(zi`k at 4P+_DvkGY^Pq3AE(SIGFZ!)LP0fnb8%+;)gBt+3!Z1`U3k
zyZBzV^fepn&MjfZ_R&c|2FJnRk0pZdvF#y=k&P4-FqEkIKBEltJ^m at ATl7C30<HkL
z!*Ln!IhPU#0)b8FvdQz&k$lX2;jE7eCs?fE%@go~y9Az)EPz@&?rKQ=kF>45KF_1C
zZ0fjxL+3V??zULO>;0nWj)r(_PCM at 7OO9GB{p7 at BV1?3`2;@RKg7h3>#IAb#JN}nh
zb+mnv!SoeRY6)yviSm`0o5to1#TI=ZlVFqEX-n-WYU^JpSqfTON}z{szXfH}$(Vu5
z8SF+#1({5=n+tMlNSuV2-%m%j!g6sIhBoLTM-a;--RmSIz1dzSAJ>yw$hhOk)|7Xr
zqDBPo==~y0QO_Z_NbB2o81Sn`shJ-1!-WS>(&<?6qBjy)x*T!v(jX2U*uLv?L)S at m
z7}v?<PO>_ihCkfHu+9_mta4oqX*cX!C+&ea*Ah$O?7lE>%&)3aE_cURK~PgWfSMcC
z>8ecp8>?tv6Q=hKJSjAdhMiWwY>_K!g at FN1vG!6OlGb`3GBHplA$JBLrUIipc!phL
z_?#aPt0!6{BI8|EMM5b*t2Ov&7$;2Q4FwPNRSRL)FTSX+1+So7EL$^7k`Rl!M_ at U)
zH|VpAU6p?M1&hc_EG|WD>j$X_AODhEHHFSD)D at Y3;>YG3W7pl{^*p}=g!iK6wqsb7
zajCo!l{3n-K)<R>Scte1v+(DE?A??NXt4wLx=#(#Lsnd&8 at E`<>vw=TS at VnFWLXza
zh8=Kzxh?}g^X1Gx=4<e-(N%l);8k)XSJdGasv3syl*@As1J*CId9{=s=gKZPltR`W
z`sFz6!Wg8m_Ma>cffZ{;oO9NSlmogYXul)usWP?e1oD)c_S9{aQi>TVH4oZ4!>*<t
zqK=A|q?2qkmJ0V?4kS_+ at Xj9R+N8x2s-(X^`G0nNWCJ3CzyzQevo+iPTx!8IVi$^T
zZ7&tpst}2C>X4&mw<!GBYhU<qrOzx&^EL$*BFKk_Bj*=rt+=-|HwVxK)~aLWy}b at L
zuT0tQGr&E?sVzHblTje&rrQw0v5%qX=kX1UA9;O6TN;FtkeaU3YM7Vn#eU(5v$)th
z_q)!Qhq99#3eQ8T*5PJ|Dn5FwY7bU!J!M}NC%KIB5l*p~1H*_017ko at t(>T^VB(dK
z`~OZ4GPSX<&R at v;uu!1ocB{L7LnE?=*H|G%jEdr&Z#KC-k6w{ckVVCtHruIvJeIan
zfQ1_}7S(cxzmyIaXRpgE&u+Zi^SQPb!fFquPLlCbl-n{lu=S++F7nygYu;|pXdW!b
zXV-x93wU6(y16}!aJ;)n_CIIG>3T!%Ta%MmG at vd56IGET@DEq>O)ThvQTBY_`COST
zq4Hi_$$3 at HzK;39Ny3!#47*;C&**Aw96)%g_8dK=$mUkqKotq>&2*12ip8$<^I)yg
zQUa&ArKh)hH7u48JHg!xzh$-!voi4Z{L>uI(LrtU+|6rQ4s_W~*VO&l9N>>%DqZS#
z+YUko0B>bKGjB$an5ELGF(AYCW!M{pD at 9n+Zg{}<dlY9jW+Ud3*l5mxQD%8yDYG<g
z&Wl(Y!7-sB^xA&|QAgYwWtU;%*!*i#%kA0DFQE)z#SPH}-CH0{0Sunkjdb9t9&2IC
z#^p at rzs#|+U7Abz10&%1VKb35XZn7lU at aWtGcNj!c8cU}^m)$mt51k8cNzVCy6}zp
zS$)*A*;e6ME~jy>_!5H%9U2q|nCWY&ao9YtX;uA4y-Cm$Eb&-Fzw(Aa&l#=h4RgxI
zd5dTMh<Np&jguWi%zS<=3&)Q_RAvq;lkj;7`(B9o+vK&LtE6pgg6Uw9)p40%Rn2sb
zhfv_J0P+$KGFY29NH+-Ba?P19M^eZ^#o~m;m@{7cT3cn75N-iTc(Bna6rj#QkH+?-
zj~}Hrv#E4|LZ?+hmU9GbO<Nta{*36n&C}P^lLcCbMdZ<SjvSQ*r$}jD-Iuh~y{=wl
z`L1ToM-j-4xDRs{{o&C#R&7zKxg<fY`aktBeorP|=YL at a82<w^z`)G#KU at Ju0#;V$
z|C#-7$^aYdKSsg-l``NAuB^1Zz={h=AWjFR0D@>y;1)91g>o(^4g?|yMEJA=A}}GP
zAP)kPvXh`&0wI2@!mnu_iDChyNB!FS+Vk7D@><ih!r^6_o59oc`iOIL`4I{fN#9JP
zjT$om<qr~K;;)Y at WJ8f(Utj)jK=@~ELIj8m{I&yb!S7+Pfnbq5;selw!Sx^bOdwF>
zl?90cvTP^t$CD%cAp}lLMnnUPgn*X%g$^GX14tpngTRm%Lnx0B?cWC2(r=Dp12eew
zAGUj}BZ)`%#D+*rO+ETefm3!4HA0YwfGP*>=lq*<&m~AGo==Ds>2K8Ys}QI*0~qC!
zfQa<)^n?=3-UV66 at B-EL9*_%B4Lk>M12*dZ*Whm+Ft7{Z%-wDhBv5;RC>%uFuCGut
z?h0~X0PsEBA0Q~Pj(w&r1$uU{@Le49@&ec;r+^~gpcX&iw*bExFbE`&@2;)9tGp0|
za=mc`a+K>UAOR0z`4 at gJ5G1%IrDe1sPlNXW1e7Z>gg|GZ!$(3q1P~;{DDbZf93W+t
zZusCm at GquZY?L7T{!YkF!gxM0ln)IszX?im42<h57%_u?{ez!MqWXLCUkzT+- at O`S
zC>zMfpQH6c`TDMWVg4Om5ST>>wKw*#$9xFg(06UKc(I_7(9qCQl2QQswfybqO9E$R
z9>jL&Z*>G`W!QWHeRa?qpypxtKsRyqL5F+*dTim~IN`(XgWo>COm}k706>5S5aej)
z&~0M*0DfwtUHh(mHebg^2)g{x2Hdaw{QG&ceQK)ip8a#=#jpSLxUW>k#TKTvw$7)o
zL%*^A+Ua`ydw~uT`2i6f3<x0pkU%95(S7}Dh~fvnEr#Chc3_cnG0T6rwY?dAsEy+J
zLHzv`!)XintuBcgX+ncL`p!B^9XJ?}|AKz<EB&ZT{>2~kQ+?kR|JjAD=p;_)8|dyk
z_?5#ri01eF1>BRkj2(vN2aibuyyz<+z1uBZ4j4qZnfb+C{wsJVC@;KzI8IGKLr!|X
z8Dp;`;@)rY0YSaA&t~NN8RJI at 8^PcIJZ~GG*N2u5Ag=z_XXx%BkaO1u&&EyT7qaL6
z{N<#Dih=_BNx_8Z07(E66yOeghaS^56wpi1jb~tArzZ>s1z9+!?hS>&SI9R97X$d!
zt%8uNE_j#MyGtq#LVomsUkV}*@!3W}1cUPMVe(T1S<VF(w0b~SxySXD_AT{h-;Rz0
zm5wDQWHN{|IfxZ2iMq}Ms`?=^RL<pA^g@?GT~+T{y$ugIiF+GiDkewS8eJ=jPd8^1
zd8Dh%mB9$f#gqLi6_aX^S!qqs(xh|nid~$<x9+^?imtJ2Y0KJ%DAIqG(Yu1->~XV;
z-7!6N`(a~3ZKER-TUPp3KekWxUQ<aUKw0>cZtjRiL7_ldST8!<JYrbFIGiv~8k1$)
z_4?6<Tvt(xU*_tKg7~||kuxh7t}bn|yO!@dzah6NFW%piroY&T2 at -2h*QaK{5pxQ=
zZU+H<(&BQ-l3c|=AC9~v3lq$;#4PS#8vad$3qWd}rEFKgdTwPyLzjoT5Ya|=RLz~t
zo`<7lRVl#aJ|i(!=7|RH6U0#D3qd}7!f+4$$4s%<YQD6+jmuK<$#<OMKnABY#*f`y
zbP%ChE6W(8hw9HuZfCiJ1AIQoqF<N)Ay$gk<M3vr<^@Q9zjD at VhW|owy0U|p=Z^7-
z>d6s%MAIofwUPCdXFf+qyq&m7e<%!#L`n^6*<pPYex9zGv3(twpm#j=qPlR3tVPqG
z6%Oi at gK#kwR2 at SfnauRfrfPrjtcz(8<Z-VI+X-fUwYH99#9<D at kM69RGS3>9b$wbt
zisN(1waTxFW-Nn*+b+{E!b<I81u8;qWFff9-xD$RCf;P<l3kbm%e62-!S&8r#KfKu
z?MBc3m!vjVjb4%L;4JHgQEkUrr`|WlMiyN$4Igp;@?}zq$Z+$--Sv#xZ1B(!vb1zX
z2<2;X3yK(2(n?R0o>^Yy9>c>WOu<<XDq+n%YsWUr%6KT&IS=U^;Awayx|2kTB4tnM
z at M2vLUyBkZ6N^skqc`_()%OWrkL+y~*O-D&9V5HilHCgGawjQnv#S$R4veUJ3tIJM
zx<}MlwFe7V(0ZDY@(qh%85Sf`fw-zRo`l|2l1lFw%bQWVZYa;>l2S_n5;8(uqg5~Z
zS>bLi+Fke4>*YaUiq<=Kj6}<LoXeEWj)0a}Y<+_|ygKELV at 2IwM=7VoieJgjJnuHE
zr2TxSP_RBZXg#mR3x0oU{W}EP<_(1Be}Y4IK^+G^<TtMj|I;upjoVT^ha?)(W~qz5
z3K?I~d*kebVCNc3>WZ)PJD2^y#(dArY3)up%ZUN$%nvg~$*r_l5~!Y28oOO)Ph{6`
z8mH>ep>so?c)V?W&wJm{j)&zvqjF~HVvmtU$_n#qfCZH#U4FZb7LkQ+zx;Kyf?O}-
z+2mfc;g`;Hddn+W2bQiyHjQwA$3s|$RWSr%Ba at ylw;h-JHEE)XGSTP|v*w!=5Ce%J
z7cS*Ln3>>A-y>G+JS}TYUn!w)ZoMV`+Yw1)fmT$knmL`ZRTCxIOydF&ziHQ)ar^Bv
zY&9M!CAV{xlul;tR5JmYKANZvl|lXUhk-xIBh^eD59FdG(6Lr(4S$N>?RrN^5$!rM
z)`JW^`}gT6AC$>pQ0y9b-B(ECYH^yoUD{)#$PpAW11Tj?8*8?VNdhV`U at MT}f;_`8
z$62#<pHF{E^88vXtO8zq%u1;RzcNMWO=^;p_STHtC{hHLw+?+MryZiSu=lV9s53iV
z8yt|*QVT6Xsgzx4Efd0~$;Nh~-74B}gJP7m%lWnWbQczk>yzW|2&L8;E3Ame$Q^`(
zILL&2e5%iPq$tG at 2^+#BcJ<WgR_c++ME2kO_FSKjs4TXgav812&7<*q)$1oA4fpam
zYKrxIs`6-#4T!}s(K7+E=@j4QTEG89ho(olv+iIwk<lb-!#a868Granij1}|)g)E7
zvVYiAH||hF$GIVf)d8<Vw=am0_cLJ$5lSq1zL|{(VAt741;3WIY=xMau5j{sJL1Er
zV2?;P$CGmNJf*fV?Los*N#-#9+ at yIT5&ek)ERs0rdX)_vOSdzoxzuLN;;WVebp$zQ
zoltdg8l}EWTT+@;D%R<zH|6_1avaT`z}-6!w>nnHlHKo=Cd`A0P)1ckmy+lDMQon=
zej*g&kBL+c*KfXn-*US*bbNs$@#-utL<=<t{%hvD)p8-^OHH#)J`GTu)YibU7jWb}
zDCS8dN&n4kq<G!h3Ql}ImwpV_p>{bQ`#I3`1k`f_*zrjnuHlnQ)In;b<C3O}v!J}`
z|67$j+|+e>$U7s(%hRUVU?MOisEayvG7shORCk!~rX(+YD2^m1>(oEHE$#caE3nju
z4J!x+?ER~CMu-?5_M4H6RHE|%gId?LC7PPjU8-Uk9HnInqIzB?-LLY`b4jrH*2el1
zMIFapBdL<RPQ6a}vRN8#0+t#LT{BwJ{PsgvZO5GVpcrQvJ at L@ywIZ+!4iug`{14*B
z3nB3Gi-mZZx)?Q+jB at 3gxi7V2()-NPR}{v(cxW**yImwiFv{pW`Rh6me{yJr^kHra
zo;tWpWK(`gDhx)G$cAKOd1K>;YlVx at HR@9ts at kxO7aZ1@7^+N!DN}zPb>{_=cav;|
zrPW)bvBGr7UTJv-Gl!$VY3y1LEo9COuK)^eu%lsXhOE~i<~DU6eHn}Vdyf0xkL+cn
zHbX5&XcdcaC!;$iA{HM*Ceg*dQa9Vh7e4qp*FA`xb~apual}c)U6U48e&~XzLveAb
z6JIfx5CwOMo6Kx$2 at elk=;AskmP at q1Caem_I#wrT3%k5p1!M!HQzuK*CGj7!=N_HT
z3^xK)@R1HxhtnM0k*E9O(^)Vv)BC<iqN9VeRM)rVm4X>?hr=oP7kf%ncSX}&#oq!1
zNF47s5%a))U at fb2_B6n#h`B3+<5Y at Sj6TA_Y4dEYg6qJQspC6P|6T?!t#fq$9J6W1
z%%r(}f%dZE8Ck1 at me0U~*WwFf3+&P?bIwtb`#9yFxn%fVM at BGduQ<?`P{>bvHPLaR
z*-q`no}f|~f at eIiz>v|esQphuMM8k8oyIcl*$zG5 at R>V$ttN>?=$UvT{xCGOD)_A_
zh9SRq`g^)?F6^EQn0t^ZvL#zyDLKs%`58#TxD;bjeCmQ at AAEsFMkAOQ!`h4k_*g!?
z+MOS0rqp$rjPZ(@9O_^ysN#;hXBd7zM^WQHO8)AUDE at q-4rw<hn~%=n>O|p``(CE^
zOD7tZXt5|yYi;+h2)?{vi-Ad2n&u2#f56KnqS8ER33tOP$)UZa);W^ct%6gQvDh$m
zDL5h!O+<ExZ_IKJlX@%eHB4ArX!65})^b*!8tN`b!Ef3<P4~y;m9p{(<U8H+LAo*P
z{aBi;K9<^RPpa<lR%Z7s2xwd->JdIJ*K(!N$Mz%uWzmgGr0M-pbTrYRiS;IMhAh;F
z3z}X&#r59m6Wc-CSh&?3Q=S5bK<NCDt?QVhI<I?9{X>bgZ`YXnQzg5lP53-GdNX=1
z5>!)RRsF3aX*oKYVL-W&mF=LWRmaT-s9QpsV$x4ooOl|YGMTTOSu_+EDqTyOiQy{d
zoskx24*eLpX-JcP7RB0VThkD!>XUE{jBP at GdrQPT?i(jy-z`ro2-a}D7J7XoHdWXq
zVM<4Bj!fs(Ud61tbr)m at DCNfV2%@5$U{nHN$id}W%kU9auvkTZl(Y8K_|$#FMU+t<
zjA;wppjo$1ZwalJFsjhcwjB#_@={Zxd82$m<y0r<0Rl(4?d~!1nk`)!K8kP0=cS&@
zFy-rOLFXZC-LKv?*;R4v+AFI6_eC*xs`sKak0fNyr4}(v=(!y=i9+lB1OeAdSm|2O
zb+S?Vt!f+^EE96zlrYiX`HpgOj^m%O;Ew}wN_ at qsOHGWBS@+kZzx$7Z;+khI)${Sk
zgl8Y5F>pA(<qm_FjaUiUu?BYz0BGNSZ%x|QB~kDtj*9IT?x;C><UzFX0L`L7*<J1u
z2qyCi7d4 at 2NjxHz%3G1{orxHWtXBn5__&bXn&S7Nh=RphwK8SZI8{ts)C2289voSp
z7XBY9R?OGeS?m$!=;1pBMcwY><LoHXmRu8K)^Fi+mh%GU_#u{-!rJ=Q-4v#NUJ2`z
z!!Pxwu>uY_m-8Vp+dlo9Zrg;4`blaTo*>!lj4nUE at 9CbpEb-OPPVa3Q?OF8rHTdNi
zifcfy<0%#srH!yiCAp_oE=~(*&Y(o4P6;36TeH{Yt4jaxKppEw%Y&oP>htD8gK)B0
zl`}L*d_P#rt@^4TYu6=)RcpBcezJ|%A@)VWkaQo+4h2IkzNhmSUG2ZyW9?E at kxvX|
zj}ZGIwjK#B>Dow^!eA#k)s^<yY<h%;-RXvVtL?3-gd2_Bx8Lx=npPOG`DKx8c&$;!
z*^e#74?PrP82R8s&ljf0A$ru7mzLwEN$=d!*HYYhw_EGD1y|*cd6AdK8V|352&+!k
z!7c3tn`bww6XbB*H#&5fkGF3R6yA-Kd)O5Qg(_E{bcuo{xkL*)sBG7}R$~`-u=bMR
zOgXN!ovt+n7(t=O=~VqusRs`e^>OzoUP*a{kjCbb{Si{Dr-zE*BEge1S?ik0pxleT
zSK-XKs^#nD$L3^1mFlf4J_rz}4iUE^<qI}a_`OyZz5Xo24xuq$&)w+R6h4h^F|^QI
z)LXujk)wFVsn~Bzj$dM=a_rZ{Td+4zd#>o9Nd%40T&o?IjJkUAGj~x2Q4iQBu$HY}
zyDjyw#y5-e{fxV|-KT_v`b4~>kPI~5f3lVq;YH`mQJgy9ImRT!JHV1h+xr;K<eN9v
z8ppV_8$Q{mHcS#%D?ArZtA~}H16z1FREVf9w;Dr8(*W+iq0{AB{r at KO=j}6(%vSDE
zO8+R%!OECT(elg2m1mz-D79>(S!5$J36${VeQ16wWjEDb);QUbxwEoRC8#;kA$koo
ziFv&$k&c!orQu$D>8TM6yvbup8B)nu$<6$;B-SX(jakj;QYqrZHEK-<73Qa^iUR^A
zhk^x)Mu~nZbYCLTSAE at 3LV`Vo1(~>nLo3|CzOaJoKzn!~0|frk+3R%mB`r_DNLET*
zqfMp&SXQZ3v?X5RvO}-$R3LLBEvU0Yc_Ep6jV#;8(xPu|lFEQ__$w~J3M6{m*yGbb
zfpee3 at z8`~6|}Kf2qBEG(V_s<G8K!EP+~NW^m<^HR+U|?pz#iDL_9APsJ8QGMz9QZ
zCzid7qlWPuJvT~e<tRm4VtOkE at j4fwZKv>hz8BXo_eEj>+A(~-sDfo=Tr9d+?wEX{
zSnW)8B^3)eUaLe>%^TV67c1UyGW)fyTlzJ_ok)Jb`BMnsRQw&m!Gh&lZK2$#i1A4Q
zlZ>8pd8X+e8FHR1#6ydO?Bip#fP%}S at n%zV)-=tI3oovu1TKQ2Y%6(}ROLXY2ggJ2
z%-eH+gx!NV93xxW*Z#SD at hXcuU<7RAu0{Y5$dhzSpj!-1aa^*VcVV at u^KAlBt*{>p
zap4_DSTsT_Leb;W+u1}kfkZQ@)}HUJ+u6(9HD9_KtrLr^-E`JoQNNqqgBCNsO2fnC
zXIQ4N&r}0uiuvLaJ}%6ZSZU_Cx0+6rw_|j{2(s)$po$ELC&eA3b?7vumbe|oCli%m
zCq|<i$#Ya1cSNONt6?qYojLq-Ibs;zL|G-fYygPp74y43hx+I|K_O0rFJjd*bAK9q
zvMj~)lL$4zM#i#8;^h2*nnOf|z+5#+N~*r#3DwDD2U!aTQvzX6)22KBRF4yG&?ADn
zS at Lsdmd!Miu>w-scS{N|$fl`^h$zHi>GMNonZd*po&<ZWl@@|)+ai$RRDt6iTj+B+
zC0hp_VA5=Z82@%DEA at N~4_A2H5Ua=y*ak8TbS6t}J$4j!)8yFQz3s#9!*pjmKS*bJ
z(KyyXuH~fMnsCUYeoLMgcMUDOP11TtyNm(oD7F-qMh~qa$JxxcK|37_nC5puKZsh6
zwqT$iGYZ)82)jeMtlM}2qGQ05OU(v9VM=XIhM8meV;CGSqyl5|0K+r4Y$hg|tT|ZQ
ztjt&%UR{Nb*cJJC9{HEFO_I_LrS0vir*`-5&<ybB+?Tk{(mBhFHO{!Y6pAt!XPSVt
zKb;KR7QcSc!aPYe6>ICpL4kCfm!jJx1s_nJf%^26Kq5tzMcjQclflwO?xpvQ;97V#
zVzxW7_;lQUQ+_<uY3iB|CnzFK-2F4;MOVgQN1I#q1sIpo_skE;)yUs1!SFB&`Z|kW
z#FH=2^g3q4siaLin+Kn at pe_I=B0J~=W96R-6G$sK2MHS9Q;N`wu9E?Lw>_aYIu6(E
zj*2kaHM at I~%M_B-YM+{{+q65E3F8{_>-wG-pk8u!=1a@%*%%sEdWh9napr3Ghx`uL
z-|3qX;*`Wv`G~tMPt3*)I;kZ)&+^?DF!}9wjKveH at J^qHu`#KT^XXAC*9Eo+d7J^`
zPUDZ0*B4%F6B35!M5Jo(-!~LoB1K}gTD>ytV1&7cD19C59|h{1eY0gM>)z2N0(>{)
zcHB9=`{BlC6WOTj3Qi3}#pA=odH#tPTZL at W^KH$Nfmyu(Y%|zZ3fu>V<dKDMkWI{a
z at XGD}K-iYsc`~)&Vi)oj_KD0&oE9$dE at ohSy_?BVQ~Yei at Eu-e<g3Wt9p at hyyeQtb
z3WE;FB#w^Lp$Q{gWVSR9EIVj36qA9BH8d-3OvUJKGsM1O(Av8(JC5nxn)3T#meS4D
z5R<?Ny at OuQUG>w)4mh;tlXKD1vq4?Xwh=7x3Jac!CT$o|xaQ9VTHdfng|Z&^uNT_v
zi?yT}ihS*dyHvrg-j$RHmJzEM0+1m`zP<N|LR#-ZQXS3Rwf%v*uM4(YplS}r&ylbQ
z5Gb(sd8WYonm8T#8 at lCc6u}$NAz}P%dnL+3fVELg+K+dn63+uWpp0esO2B)q+YAmt
zQ_o=QQu0b#O9egPS)9*M%?p;1j-ncI=5h|{soCF!k!YMobp}XYO*Ar at F^o2WzT8Qt
zVC!k<Lep~sPvZok)#o}ArD^#Oy#ZY0wH;%9ANi3IzL&^7j++bK5_)On8!p at GLLhtU
z+esBQ?;7NYHJ0JrP>%wRZU~j?%o~rZ?qicj-eH{P>g^Q-xv|rWHGB8<Qy*%A&Q<G$
z5!H=Bxy|Jl1+o2sYvMqmkrtsS!6OmTZj7VG*&=aIrt>pn*~ia<(seZDRT}21W8E})
z+NMXb85ET?z+4PHPl00<{yyKda?#E_y2_h?Pq%NM-K)X9bEIf=8~GiLg}HBk<vGc}
z%<WYZ({alaSH2jmPex-k19&}6lQr`Anl6xCLn(9?jK`dlNncMXmAI<cAO%J}hWEPK
zl|n0`248!YkY`dgj?3?;cK>Y5Nen`=24TUaxhpaQrZ76ETWWt6wIc)7Jrvf)6{}l*
z2#>T$Iz~l2r8oeLaxV at lTCXLiv!&{dCHIQ=JGpGm#9YJ7!($?4JL5_ZTe at lt0gVrI
zp<;V)+OI6-iL^S(Bfl571HV6Xvf<|^*sNTf<`n}iHnTKJv3g3Qs at vQwdY~{Yr~`?n
zciAL9Q60$J^l+4J6zE{|u|#!!877D&)ZN8Beu#pjmujOEzCf#Agp8y8)4VBxQ4f5V
z$|C88Mw$NY^&u4<I#gdeMsL9iYMKO5Z!tT#(&>Q at 8p=Ht{rR=93}SMCJMwXT?g_lc
z_iUPy0&C^%__}d1);7|Z^%v)nEWxc`Wo#YP7xKL?7~2KD&Xv6)0HWsWT7*rHZYu}2
zi08$VEJaFdl at 7#N7!Ucw<vsjZvymj5aL71(50yGFcFS0e{e#cIt##3^wMGsu`ZDL%
zH(6OO){c>uKP$t}l at T8`!}rf~GIH~3XdiX1#3~zh*|XaZ9;o(>>}tGaV!3@{GA0B~
zpW-&bH7vLV-FbD89>pwB2a^=ykB@$oW$`)<0=t%o(rHG;t7#?UVNQk~K5{4PTR0({
z`KxuYuGuLqfuWx^>pcVO)t54hIcD#45Z>)%lC?=<RD-r^#IY-+;6f%ISV_H_uwtDo
zjGv2 at Jo6(*P~a;x4#1dw1FiX_tO?>Lq>_Ova8BV<^FNJGL0H?L%a^!erNqSzp-;Q~
z4)(swy7YEz2E3`AFWKc8^tUBmi+XuUNHUGWhsxbAd<2}(b)U&I$>!vh3lw1E8wtb7
zr1QQP6|27V<kBki6E4*y)BvP9 at Jya2+}UNZ+&bJl^8kGEgn9(sad%H0v%Tjs`WC#x
z9oy4H3v81p&7Ta7#TsKDnNMVAt=mFx)p-G^!HXwep)Pp&H+A0w)D2zU<>0qVx>bKO
zu+w07S{S^)V2Jrm5-cyi at 77Tj!_ue7lXyvmKFGK+Xrnt_)$c6O;OHEak5&Y9+__J*
z-Og_Wc-k0IJy%OLR+E;N>gb#?GLc&|s;ypG- at 8EN#1)07eEM!x$UE#-5+hT&qbwqj
zB-0}Lcx7Z>%%x&#>nHwLNAN~L>rEjIMK`Xx1%+6$q-3d{Hh%EU6WMSkZ0CL|yKqek
zs)>Wno&O^|PvFe6Z at la967A$9RDYGY^m(W`mpP=rzFtF5V}t+kF5rxaXa=0oToJ(x
zc#VJ8g^Eh7DX8Fu%PaSoK2XHtd(t87(Gu8WqN=&XMv~sNzIAr9#QG{_<Gx}cFATIX
zTxuJ-_?}bwto7i5(&Uf}bymuyg-4Bj>x_CuK<Z5HZ<W+0KLZ<XvjuWgsihCf8D(Mn
zlj?&UUl;s#b8G{e>ptNWnOZWocXi9t<R`0L4G=N at Czh|cma4d}D<CDg1Gs8(`h5f;
z at j{L)SL%@RhD?E$xp}$zir69vFS%g?kBA8l?`kHR_?CD({OJzSrdX~wcqf+*BcY29
z1kf`FmuVr99&8e$DJCnzy_?wive+B_h=6mLjPzxL==Neqn>gnR8daoevdnN)L8bjZ
zV(bquN|f6N!&q&?U*4>YUlU`lmi1P6LYdvCUx1&rj_3cX7&HG@#h9J`e}n1i8QGZs
z6HL#*Owag#Eg8GHC@*be(ULF(JCDjQOwExHP!Md3!wn)xGC8{uFKmmuMJ$kryR|Wk
zOHer6f6j2^oo;=O>NKrP-FjH at -R{hGt=eH&sIajAnYxlTXmoA0hohCPr<a$M5K>S|
zf`$PJ@?h`Rw*??BDn;GGdWi%7TMp~w+}PNJ`a>)_fe04Bw^2-ZH!4rUrIjDp#1bC`
zJ~m7 at MM3}r2HerFU*HG6!2tzaLP)D>%1<JjADBZk1^JiU#O(IQ+{6IVPy2i~j^C6V
zI$la#-2c1IIX at V7Y90!z0hCf;FO@!P6tw`sDnAr=2 at 1^Zw+?A)mS*4H%K%|)c{v5y
z at NmfD)SPf+0M5B3Pzz|;K$cz%JstDTZIj<59QKND+5re7ATw1})~}2CYHGh0K at 8(=
zUf%{ZWSx_Tlw&iqA15I05}4%(HGuMkezPwK^%qVb{Kv}6Uprg-m*TbVYB!|X`d2cP
zzrdCC1wqS=N((x_BZUQ~oTzFH(k-Y7n6TBf514R8)-~=O0X;m0W$1}vkM02>zd9HT
z;bHBtkJCAjQ*(VVhdrmd+RqL0L+8Yy$i#ZO_{!Q^ztx`XubuCLYApTP;Y?T1kJFHy
z&9$}-&u{;UYOCo<pB95tE4anFCI|cAQOPgrvpLY0QImgvfVV!q`rW<00UUoi_7c*Q
z7ov=t*P5Pe?e57aZ#U2N^;N)0T+QF^nkj=gJ^(qgaA+6^H|J0fub=ZbJCMBtpiB*c
zeSW3%kQAD|yo)%~^!MF21<+VkTYjIrB8U$Ez1_TDZcN^bsi~Qjjqkj>J~*sDWEJ0<
z5=qy5GQXoV6c(poPe*%Tz#Q!!?*3oeK>WUhzWJ|y=!zlg-%(@u6%VZ^uKWdk at 4U84
zeH>k1QV>(WnaF5+eyfVDUMTc1V_$JQuz$Vv&koU7f7>p8CExubzTHxO;d_4R$TZBX
zF8heme{moDMEI?%tG9nqAIS~O-VWKx*LmPVu75)>{{G||lB8#(G)@0{9`DDGHpJJr
zxF at rQA&}Ai?wV4OX;87HXH=r%SiYx8|FBwp<NXuSX{A@@BrV at ofsOTpg8jzbI;`Z|
z;nyLTiMjk72lB)&_|;JwLANk{@;GgIfANPG5f9-4_ at bb);p5LGT{^H&>)ZOBV?rD>
zw*>K(0^oB!fn{!T0QutA!~-CJyxV+WLjnnu{t^%pKz!goW#Nup!H<E0^#Ay8 at yEa8
z$Ad#Oz5zb~38eb*^Ae0*z>mR$^t=P}I(mMBd;c-{2KP2Ld4%^)<{o>2e;b>);fsI$
z=S|A_Gx$BW at B{xQK6(HD!}-4e{e%BTZiuk8fcPTUGRg$luXFt)?*8ZIYxadl_4Crv
zC2)h|XMDc_Kh1CN&_8hN$3Jee{TC1)((4QK_j0XZCN?%sZC?-hqddazu<u3(V+s}w
zbZT}@KqPQy39Ln1O-jDq(K_bN`O!*;mwoXLsIUf+jU%BmSz<R;{_aE<g49&93QjXp
z<${=skT`TmaZDJxy%#mn`dE073}Qqq5t at wesM@QRI@%?0hT9eDhSU#VBs05*?0ARF
zO<K#fVw9YeCAtpLQ0z#`<=fM2RRA<4u#>tENXW!3R3!Y(?5`UthZR1H!BRy4tHoWG
z|D3UO$jit*HfhLedQ6xa2x`q6=^_(P;+l7_5+NPn-3GD}R1Xs1e(S#LO<rnEoo+Ls
zYdyN?5&d;`6FQvsG!@b4`y5j^CsaA2Un~Hp8;N&(Y7Ph1$&WK3evP5|EhQ`GFxDUL
zpp*x&!L8-r{5i!NuV}GU{_%c){NG}nM+ep);jZPOc*t)w$yUcBr-OKHk5Ksvj+}6X
zD4q`eh?7#G#!2wYSFOgc+nDIfar!6QGUVRBtM&ljzL`)PCS2}f^sZB6v161AIZ32-
z1Rw9oV!GBwQx-v8bt`5NKE}o@&!AfEnS{2GS<;X1ivx4Hkm!S}WI4y1DK~^JMUscw
z*0)m5JaD6zJ{3Bm9x%XvD93L2n8HW)B{5>B32)+Mjun2nbCmT1RGJqL_K-BLLs_hy
ztsHT2aE+d2CkQ>+`fh~X$x|>4UF`%AtA>I}(}358+U!W>r_eHT1x}wJVaKLZZwFrO
zU4WB7Wkf~$J5flW_bj?6&z3yY!j^$$Jq_tfU&W%rLmE}aMmvgzj?dQEVY7?n=32=h
z>bGB6dd#aPw_y at LFDx{HIn<#ou+z!W2fHuY>_hCi9PGiALjaGAc=l at t`Iq|1eFX#Y
z6QLB9YyAbvXM`(~KfN{^Fd3B`P$l_#Ri-_ at 4ySG2w>Cl~B-HE*#DnVmWBMTkQL{Sf
zWNf62<eL4A%MZ4cC$MieBS;SfxteMDLz9%gvyG#Rv9e8-R%G>1Fcmj87Tg{FzK#Ml
zFPQ{U8=&J0vfs6>a8pBMd%VSJol(1wUyB?xACTj8ednjOoc3ysr<9B2j(Hbjq{xJ|
zLFA|PL=4pFF<Ja5GbJk?jEvt4Pm9wED at e>D)VEE<(70d;oBad_eY_NbaIi!nk;U%2
znB{cl&L1_gRoSMzsf9}Pl_r<ehHJBGb&@=h<V1P`nRaFQyJv~cVB9{Y;;#YR85g2V
z1NRC4+yGGJOC8Lx_kouQ?>%{S7&c)Io!R3qsHSOBHX@`a-xDf>mg=}>Wa*{r+PUC1
zR_*DmOw*bgy3tv!6nP2r$6PpQfgWmp-3d!J(vVvdRmxsVX#tfjcM(k~!~Py#kFbe}
zkief#)J)SPV;;o3mgIP!;SUsMpDE#p2y}#loz$=jr6#b)ehem=PByi+$%PF-%vfDs
zu=LLh2wqi-^)sVDRU&*E at y#EFa62phArsYcRetPo?+cP@$#1%s8iGG^l>xlYF5|LW
zT^?_m<KA&`EW2 at f$B}@${C-o#R;a6fVFnbAQuD=j>a`-BeP%Xgn;3XzX}s^Q4AyKS
zEETRyXN~i?)U_N=bN{f?2skTL3Fi)KPfhMJKU<s;O>SC+WEY%Ei`3 at iJBxmZ9Fw1?
z?Kpdd&5b-v6z(t2*t}BPfSW~g_8JeqQLFpBSXEL^<t;<&NGLI-w?Cr0Ys`m_z0|?A
z_Y|*BltU&uCVC%v`ObC<xVY)<QW#!ciNriEcAa0kUE`&V(M?jD=F%~liBoOKN7QSl
z+EH&+jz8w9u2~gzxEtXVSMB;cshnz!B%AkrEXpJ6^IK&w8HE0PBPlMyINJ}Qcl8c%
zv2m9lro6DtnYB+sr&pSl&%3CgqP9L!a!Z$tRgb*lvHEY}K3ON~*%jT6{fGbL%`pG_
zCaR)aWPb{rVQXNi&goxID^hk|)%5xTBnAA|1}PX(GokYqoriT97 at Zeq`cQDDp<BM8
zTikq);M1llruR-P23|`Cx6RAuvE)}AR&+?EOxkpi)-D8yJ4&%Uzve^Gw42_t6eyek
zGWZrOt>a~zXm~u(9VtYQSZzl0p$}q at d06STI&#f7Z`p!S?nv>_phxcV?HzMdR=)K@
z)5M<{BVf&{`rRVk`)ZW7EW-5Yq3-h4hp=<?Re+8<CjN3PtKpA<tr@(<IM8bZtxeM?
z)}c4_fVhDWcLdl}YKBuU#=_ZA at 0zKQBO{)}2U}m{9brc94{i#3Wk;#-<_<uhK6;9n
z84P{*FZsVL4&y-u_|uI7!su6ac>PXn5}Q=mpGaf{j%N{q1lKlW)sJTUI`p^8C=R)o
z^%kp4)9^R>H at zI184w)`-fx?)K4EvTX7XT`zyy at XooYlsk1qNou54zH=PX*wblZ>*
z&O*rIY3lGgxJmPYGt1L1WWnuR at XMO+R0jLtY+DVe;>eTUvnETtNUqUgJV;6;b=a&Z
z<1!!Q8pz;sG4JFKO($74nEk0_rNIc<N_t_SU+!q%uGqcPS8G7#MPyzXu=z0kECjp4
zX7#zWrV0|lc2vFOwe34up_mmLz3*SL at 9$A^j%)e5V?WMpdV~4^lpB^9SrGsWNEa)i
zF0+?N1OXE!&SE9)V`7$GF4+bnQ*|W%?~sVcEvg`6z1Z|>>9iX~u8!Nw5EZre?vu at Z
zblScOd at t`LL;a4eV6=;VQmLs|ebXrODCkQ+`5E1NtUf}j#=I5;>ngENX at cK^Jwpp`
zW{Yv3?Or3=w*4}h0T<(<A_Bk_c7YP{Ko|Tu-v6iP4++H^Rbm;m*#?Vqh>O-9;z(gw
zK*`iysormmo=SIO=nPiju$Y&;dC^fKq<P`M^xJrbOJP)gRw9-xDA{HYEKRjY{ekZ_
zYnIK^J#jw|QnOo6<R_FZWZ8fGWW0=#b8>LGkNgI!cs!U+8@!BXBzieJZ5%3cep~b)
zjfpIBic9v?zX~8BZzb-ZFJ`|AEyi*-?s6z;zb-E_%;tWU7C%LyD!-JA({pFRKg_81
zMYUiiv`a+El4juoKL5qwS%LZXKld at aySb~qzRwYTS^TIWE{y<U%-Im?2#k_-RBHd!
z-ql=-_jlK^d=DLaLW0=QJ`K|8 at irg5H%YU;&nf`R-mbQxbsaZRqGZjf-4*E{IJk^c
znPj=8&XEbJ=BWfij8VwVx)B97Z6 at VwYL~wqcLW}{6BbY+yLIJukg*2si($;{$a#12
zY9LnX<GwOpe-ox|BRElQEDBlgpIqO2&Wsb-9g;kY72V2Af^d2s4<>^YDBW`QD&(Aj
zJ-H{4dMcR35IX_=JF-f8x7g-`)5^|aw6ou+dPLW9mFiTC5 at gGWa1bW$BSmZk3{JY(
z82D0bx*m)_iPEqOChB2yk20sbU`WTF>P at 92!$PBQ+6#feF-Cp)l|CNYFO|fSht1Ga
z9XE;!MC9Y7Qfm2`OyhTWI+UGBs|*>NksU<+vlAGo<u3-1Klq480czdw>{51y at cBW#
zWv!?@(oU_C$i{8p7`*%ILWdB%CthF{5zjvBTFcz3lDPPZq|})peY!F3oSI~JOd|8w
ztY at 6Z7mX%X<*2HGRbFxN(v{m}#XCg^)Ji50dY%mT6~rKPmi at Z`__Z`m#J=(bLb^J4
zgJ1lv3bj>zU(s;=dyr&;eaKGG?n|#+l!q;xS;k0U-%kA-fiX8ep?q7yHv2d>_)PpC
z+v}di7X9j=Uqct>`A{5XTMV-)1p!3TO4Yf1T)1U_HT{yX7;B10VWXsS>4^K5qJwTB
zZ}O;I=n#I47!sLnJxDmRXJ3!MN(#??w<zaG`-~o?;mRrF`dRxOsNgX-9(Bd02`yle
zC6|*GhJZD626#1$cFS&|fH(ZfmMi%EQh?kDuypwBdy=t24UV4f&7~Pc!>;@7O~YGP
z at G}$kLJfVSqShn$WCK-<H0Abn$db7Rq0;MkK3dPKE7vONI?t9uagJ1-{QhxS+GOpx
zL7rX6z59x3&4X>2WzsKn2^Q`Sk6Ru_c$(0Q)=EJ~nX~r-$nsh1g!H3*dl(*nA2(|F
z@^C7#tIso0Kd2`6A}@h=<V+R|VGoOVE*~pmH(N46wDfJ<s1WaxD)o-%>zn9ng}r65
zM#UGJNr1k0_cmzPOBy!uk$+VgB>?Tzj^*<}FX-DTcifKFCrNMmp4&LvSSvUe;Ds>(
z^zg>SWZ!#!|MnIvJD!OCn$a;2LtGO!&C!E#(wF9@<78tGxa(+q*bfehy?=+zBTS5_
zuYruEi2 at 17oyOZ7fGWM~mf4aoO0BtjW!c6v at pzvD<n!f{ps!pIn8e52_>Ek0^I%^Y
z=1>W>6)^JbvKLL-OnVAC_h&#phq~r`a237JT7d=rtSQ+?{l5E|Pu`ciMGy0`Benj|
ze9$z at u%Ew4BvtR`dx!4$T`8D?^sN!(4jx6r at fig+Rx0^HU0_(-k=zim_xmN<$-%Lh
znU`zoHwzdBDe^f+n?<6s9P$K(V(6`I9wFFF&)rzt2!oXsEB=%eFU|hVs;$oBPwfFO
zdJW;#WjiR11{G487dsiuF+sXu0YsF*(R&EpmnjpbV_4zq$@jdfFQEKFFsIn&x}NKd
zcPS$zN~{&@)n|)o&UfP?QE-;nL|&O(Wm{1QbBOs!mZ+D4Z71hjrNcWm{gprW2Gn8G
zA;r(#gNKsu)_W6am)z=%Ds)koicByN_jy%~$>JBH=Pov4+kv~gezKgWrcn9h0r at KR
zGjv!4eP_pe8ei?7X!4nCqH_VeLUzAo2MqhHnmk!sl#bHshC3knoLxE)$F0QkD(qc0
zD1?q_<DAu-Ge1wiA1W*0&<PfvCT4!h+e=c$am2PtoWTkw{j0QH$3%ch1NLrsFEX&<
z(qV^;w-4<{-Z10Joey8(N at F$3cHpTEuwu6g3~r!}2{-dsl*k!|zC%pCTBTKnhUIl4
zE&E<CO4NPt0DiZ6i6(k at _nB^0N+s)9mM%&~la9=C at J*^{OncqU2ZcC^k2jzOjqAIo
zF<JeUf0A at W3eS=8*kBIZ7Tk5e^9->cYS01J8`Ib_z^a>y_(6|yN-esCOWvNKA?g%?
zk?c?U1es;vOPCyk8-X%b at drrkt0W9i{Gp)d6z3d*APmk7075~Yj6)$Eo!XAU<_S37
z1nKI2WH(<_!Lru&!It;BTrfB?C1QtIMVvY-?M4tc2ie1Q@?_csZCw$)&G0-ab*{41
z+L086Rc2u>PI{_}7Q&}nz`h7m$Rg{%WTp&)8XQMP$<L914i$C^6W`MEt!HU5v%Su2
ze98 at pin6m{rS{^pF?F()-8e`x%Y|YY*aDDT18m42>aRB*ZR5~ym(SE!;iaxU<vfiW
z*Iog|S=_-tPo%jkMSBhiF~-7RlDLq)7j3fb;d*oGZE=-7$a*UnG%9R36Br(kEahzi
zJ>{hAM0P*+ at cR2IHu1`*yh=xk9o;j5rI?+P#x3^zxBuX*l>rN~RLp!~KOimKPI6Pr
zN|EIjxmWDh68E(MgY_AYw-yL>TCyfQy2KXTauU%bWQ)|vUy(kz^PUdwpk-uOdk2Nt
z)P5^GhIc_kDZy4Mucrhs1a@>I%SPkAjUJ38)V`~;E?K3+l=C%z^Q*OwRzH9jFJryM
ze8zoU3-C}C|2Ygf5dx5^kroLFf?A`r@)sNHt{3-6L)#@?d%)tjLcfb3F&`4S6DS_O
zps_78dD7WVJ4Tn3?j`*}5^Jdl$FZVVzx;sb`jWvcN+3=Tl*%5)?snsS4Ww91QqJMg
zv8IBOfpsmA>K}j)&9FP=m`aXl;?NZ1rXe{JsRDZxPCk;wcn)D7s+L17*Csv2YOI1D
zCQ%hIhS(&p)N?L<?l;%fK=|q!vBVLuH8U;^Un~_Yn0n<T?BIR$v^1SC^v=<?pb~^H
z-A{kCn;YEYg;eg>ugpjh|FtfIADqRrmT<RaTcgU_e8Y-M&T>MPCp|IeOT`<iyGhzq
zjg!kBv!2!_M!H^>Y{rux;|-GN<N8iV>1#Yf3F{5kB>}hKQCi7@(F_A!-}A0$I~-4e
zh3fz{o=3>zTavHVV~>ke=9d3DDDgUOqg4Kvipf>oX=$s!L?i{R-tmsw;|Ir|Y<@<`
zqpBeC3JG6+!rQ-u at fxbnA%Kc>XZ0ryi4`Kvy^i@)^F_j;cRm*dSK0foYi`ZAXYQx-
z=$|!Ymw0Ry{S++Hljvbc=JV(y8YkzIPi8WMo2|=U=k)VI!wf*KSz<s)6~BgM+~~@g
z6qkqJdL|<A$~?QQ^p3}0>Asf<*Eb~^t7%~h&D9Dw*P&v^7OiEk96YL?Kn-n)eF^dL
zrGiM**KKmJ=35Y)9KvDJPPeqXbO$m4u8yJ@^WO^NyF1=GzLBx<R<CSBio3bhSl*Kk
zK=7N_S03{GBBjCSM at lk1Q+d!U;^VFzyWM$iqvu8X)rV!HQnfTNbasetdNw7eDNO+b
zzCHGSDpR^}rmWhPWSZDfE{l3Juu2Bmxs{ipNwF}iD`!Ot9YAq7ABtULVxQ>891m{K
z++97BDMYaNGolW-5la+(Rqwyc<RFsu*2riUFENS{-C`@Q!_-j~f+ffE*R0`-pzm!i
zp=7pn%E3?`P!lKazgIe*ZPb6mhf)8UF(ce8oc0x%ALO$nKfk$Zpq01sP-jY<dlrVC
zwP}twEXwj@#jb#{A)4PgARBjhxr)z@#vw}@ib~V${JZ-^MNTD~N&92BEEP%g9*qP(
zu}RWDuGtw;Gpj`&o+tHLNF=1YTDcx+?#(dpk?QP>MNnY%K2+^1uok|!voHsIjRxIc
z&<=^|V=Z#GVG6}1)I-E7lIu^uEqV(@L$94sO)o)SoE6fs at pS3vlx*?i6Y{bcB+`za
zPYv*T|Ktv*zuhO#;oICSf4n5#>7>NDGst#T>GPJfW!Z2sy%;El_t(^*GrbNLuPk01
z$11~r$lobM)MO59YyVo223fosh(0~To{-N&O8JtC(zR$7tjxlP at V2_?8Qr%l`0H^t
zE#U*Dhr@#mP(l&mLJ0$l at eAaDk7*pH+J)-MR*Q%yc?GvfKsC=F>5oe)E9alUa{lsn
zQWkG(A~d+ at EQ0RRbdgR_5-~WXSLir4ne}FEOfdmNC-tWI1}Iwgh_r^Z)M367%Tp_b
z6*9a}6Xb at yCyt(N+kB0D%fT5sePEEmRbe+Yk?X1G4X&|ehk?DXVdWesaFrEUG*%aC
z(ddz8!0R;XQ9uo=6yX0wLp>&UAnvGSV&$pAMS#)LH3S90$ZHt3uZ4zB`<UMWoST`N
zhlY56qX*FY!wm+-MQ at uIDMM$JXXOnHF%m+I+jPHFF?<h~q>;YjPSiuSn9gC62EhIt
z^Sw0k_d|uqMWxrCH8i@~yNSGqW($7)!;z#*xT0I$!>Z42P%k5%xBB^U?as^nceFCK
z{7HQW_%#^RAd3Mp6a(LEDAg`N9n{sRg&5pMdx&WGg05OqH?TR|>J6TzGjPQDXj$;6
z`lf)iWR^R-hl&?_3w+`gtE*3v*`)7Y3ipXlZ=}9?p+r<a<^nxeB8^30me;@{xTMb<
zJ*RF at 9N)pAh~H&v+(Ohupx at ZawczqPr)o15WhtW2c<^2bEY=t)7&m_xB}jydNUb-l
z=16piaY4A&$OYiY-qQCR=3!AP$)YuD{>qov+6Ud8c25?HRSwb5dpbr8d*jSn*3XT{
z2db!*k4?JYd{pMt?-B0p$bKlv2~WdP5T at TXK0~PA(QBx at eXFu?`++|>xUFGmLUbPP
z(uQ2uzI3Vsv0lxpwbON52Jz*w+0o1O2Ccb8U0Mq at u6um3?IcE6Vjz0cC*|fq3t6g#
zNf0l<+yXQ|Y3Hty-(42$!tgq5<kF%ysjnRJSd05sIQ{u%)D1%;#i!0V9D_<!;c}&L
zH%-~XhO*OT*-@>$B+LRI^VJ9!FqgJn*YIWX|1owBO at aVx7A@PhZQHhO+qP}nc6Hgd
zZM)01rZ;aQCgLq-mzjScBlCRsT+mMl=4OwiOkcrjH3PMt?H0^rdsI*sGUB|JGV}Dl
zGey{LAp<DGH0Ff?`h=MW4Be_LmM_J0!>g2=>?XqZBdont(dc&okwp_2fL4CzMN!KR
zg6MgRdd><+C)&u=vu68s?hhQGmRJ at R9!9aU1~Zojv}^6Kd(IXE(W8sp^3KgB{Bjph
zk{%2TU#!_NxJ{S1O}?DSyp;rvK4(X_TiVH~-md~npNjMz<#g>*Oi$!eKgYzchI1oT
zouW?u8_>ao)u}t3sS8W7ERP_Zz6<Q%`t2Yd1fI0evp6|!8HTKRIj~c)N<y-E at a8-R
z<h7wVbY|xsRliyGz4|K?S(lU7L#l-hAI5b+YUN1JRbd_#dCcB*asqV67FC;00)<>(
z=kkvMMz)GPHNO)ATHh>Ch5l8f- at HfIh(_z_bO+>nVh5b>zh<}LJXw#_Kd8|LQkDwY
z<@0{J1BTUD{N*2t-qk!^jF#m%7knxJ;~>JOfcbuqhN_=BHA(HK<bApJq--X)4*v7V
z9^HC_-0>zb3#T^nQ|<Dm8PrNxwdCI-|Ezhj4Ej8wd9pT!1^WI?88V9t$%*1YYTt=i
zc$LU8dXie at x8-E@87g_C#O!-*MqAqP`QnXBIy<)<43b42bj&L}XTr=toi-D<5Far`
zm-cBX6*V|U_ouqTW7yZ`l`?WG4z#3O3Z^I~2!SfQuahWk><-N#?j9(zQZ{h32=?E6
zdc|H>F_V^q79AQhr&7+FSSywjhAdMYHGC}Lp3WUg{Hko&_RTKh-U*dv3}&aX*<TMr
z=jf};&Mll^V(KE_>cW~L_JJUKe7<#%M~(X&F(_GswXZf2!kq7Q;;Tttx;?Tw?<AP#
zrIRzs*p#G5>b#z_Usex0LM~Z0OIy=CS27 at CD~dekg~++Xt>_$2bIGI{9bq2!MY#)f
z4mwyC80<A;b<_SjBq<2*e>J5n+#nZXz}psEx!fpdlONm!Q}{pVy4gtyk}h2`4D`J%
z8H`Db%_Vv0Nx{y>@)u^JXyhu4;zSa}?(*}P#@MRrrw5^2BN+)JW-(?*h3h*R<pEu{
zPO5Hs7Rb;Z5e=%cbmX9eUD1`S`8BJ|A*^;C2OA?ykXhavPUUyWJq?Kfn&I}kUb^Vh
zE~Kuyv>=b&e>t;OsC5Ha5tsQ;8NR#2<ea6`M7TLWg{nv}Cfo-J)8!sV$}H*9Jcw#Z
zqQ$Nr1OIx at 2d^h6UpUzedX at 67io;$th7}GAVm);cx6fzD*O9lrc$SFCn>O3I)-v6v
z;P;><9>zCRv`LTvH*0kK$RS2cq=47w`74q6Wl^o)&wN*{mFYd9;gSnxs2HHFpFIZd
zo~j<rdr6sxK7dz2njKZ&yN;w>p<6*S!JzW|<*G=3_};>g;7UO{9+g(JQN!l{xjRUp
zoY1c0B|rLRjoaI?LnN6{l#R`Cs!vn8<B1oI`?fkS?Cz*cY&Pr9VsXKiNh9nno_y8e
zB}pGV at P(apZZR{_j0smb7%}%6r4x)*-zl1-7H3%K)oa(or!TO9!8(-qdi%ONFb=>`
zOc_ef${lYj1;bnF{+Ch1l8D5DeO at NhXJv{->r!Pc*wYU(ZH}mGb<)8M0l}Nsi(vM<
z>dKzKC7D-_;`WjU5#{oEDBMVD_qO6BI^ZafP&0i?NOAqlS?Ap3Cl%6An~YrOn5YH8
z`UX+%n^5zW*;h97*y?#C{V)V<+MYPCx9dD_ZrEM9J)u&10EI%W{^5s(FXM*{yFQDb
zlo=HjVLJ6WXBCvr!s at 25uiv>Dg at 0a%wzdSKI+s<!b^CQtyCI<ERjBCudwe&$1Gw=S
z?Wrv0tZ&<7{8A@*@-B4|q1rU~+GnQq5Dzk4F6q3mjcWP{gC)F94KlrTn<7P-O=z8O
zcouVmabhhP at O_ybLhh;<)|njY7JS~`D`Irm_F}s at -S%S@(7u~-w7$llgA_hnN$TyP
z!*(b*2g-uXrR0+48V>$ER1I#QH#r=E?~TH$yP<I>RcdrV0)Xra8oB@#llMZrh}m{p
zfQJz1UNRjx^;zswyW=9y-Q3{N=L<iRV8=q`$|3iY)r-~5v?5 at UqK}gGqfjXTt!OLj
zRDYYecmur;k7mi;K5`+6ICbG2Y?}1yvp{_ltROAcTJo-zekLIr78USrbDXgj4KU{W
z#ThD>BAGk>KFN&;Lp^#LS-pS~;aP1fqF=nBCN$G<K$FJ!<wI*vUi|cwv)b2Ki^t2O
zYHR%|Ie~dIYnciAFNg_*=|r>yP3_?QC(Y)KGChACyf9rV!hUjz?GUJO!Y3uXI?ea-
zsMclEB-VoL*`r0qG<I=aO>|6h4Ot=QR?*YOPf_C?2mz%%AE@>@rl_+|-Ea0n3Zw&t
z24TmXynsy<SV4ZKO9FblM0D0QV3?Gmyu|0cjjL-^(W1<B$bt(8UOPH$QT`)@iYr>L
zcPkKbC-0I0clXvJ6T;cGL|NHb8{vk2pV}Kqj077(<diD4*N^guJcsmrY;SMvJU=Rh
zQCRpZ&8^28j%K?AdH5m4;HPOkDWR|C1;+(M^AB)SpZD*NXt$5&-=;&m-f|1%p48~*
zCdS!$TYFe-iD>em)`SEHxt7OZey~E~=n{+KQ|UW{@rD7(bTYeCcowtJfL{2M^D*YO
z&-&HQdWu77O-aPGRH=K%cjvdhn?diKS&D(V&tg+ic%?0UiVL6Y)MWO}44cEhPDf)J
z_3M at ng*VE at sIs~kucaQFS~(;zh!VE_#7i@`P*Ie>y;!|~vE%YIe3569ywh6ja=lZp
z&%y$XAb=14g*jY4-%K1X!oLK?@w=36A*jd}JZs%h^sKqC18`*BEfig#F$enoyA#7|
ze)*0-e|G%S{g<r|Q?Q8dB8$01T^#)-z>DVHVy at ML3PiZ^bNS9Kf^=!?b*s0mkOv;8
zPs^b0n1!F4yB;IRvl8FV@=OPw9^6UgW1Yl<6^tHA?)Fou7bpYw6O5s4uLV4Vn%((%
zjdq*%hRbVnJhCekv=6E4Qr#8W$~DhBQ89gh3V8kRPP(a((>1V at 6rhk%_(#f;EshA6
zcB{g(OnD<Q&%PsTP^DZqJJDqzlh)Fv(oRpQ(&2X>@6*TMOB$;9OR`?5i(=ZZ$u-j*
zmO0ka!fYL{G&7^i*O^g6ZgYf1eiDXlI|A&**XH|cCvM>6tA5O(GLZ3B9 at Vp#M=S?M
z1(w#&sEn!LOP<jfQe6n&eEc|zhpfxXFJ5zZ>Anl+FRqW5#k5k)dD<7C0X(NJg;2V0
z%l5QNz~|5J3psIhYH!|Rt*a>R4H1o&YFe|pJqPw)^x_ti*=8yvrGcu1ODkO-f|CH&
zv*denN{h>$;0r88h*ltLr}qmSj-oHBFLdbkWThv%{;o_GP+Mso)s*`Ytwp at QdIr;=
zK2|}Y#;8Sv<~K=9Q(4_?Mq$xUypaMnF#}h;<!@F$&9M2)xQ^6qh&nj!S=3|O?pbSw
zDlWS#KbXC;C#-v$rFhPK;Lz&I>@Dtr=jzUY$*s&Dm1xJ-kH`7RN?)m78A5|c$=Yw7
z_ at ZBk;LVnJsdknbaC0N^z^0j1E;Un5n!#ZjNqM%DZt9+D)7iE5^SBwBMQsTKsrc3V
zj1>RCRF7YdbOANTCox24^sL5|$OY9 at HeF%dl{9t=ne{Pvs8wH%o%+E>3)Ku*dg#ta
zns1m!PP~jtH8oqC+sNnI%r`Aux9uUlbg?n_*!S4`U6a!nd^zDp>|<D1g4x-7A9&HM
z_CT-uP!uUSrPMD=iN(Ki|5Sz^gz*~Wkq&A>A_=~D^<>Jy>Iaez;)n~~z3pkS0v%ud
zQT3=pkLH(1*!t0#Z&P}?Xk<o%tte-8TV314UmA4V`w$DeTy&$`&jpZQp^^w@^AR6Y
z$xFo0q%+N+rMoTSSt>sWo}Rps at YEcpv{yD6zcXOhz_!T)wg&4c)n<MO>*1K0N0}+9
z=w})q3~SMmXL5u1x>Vz(TlN#}c8X4-_|sgs`3Q*zIBKmKZj7y at s=K2)fP;6p57Fom
z-E{5-ZI{U5!$KP_5^O<BYTF(JrwR?6MqOGnnt#A$S3M%m6|2R^?Q*yze~LGM(!$K^
zXbst8Ry5>yzI6jB7NpFFo?@|}TaV0sjNPw~nx7-F-hIZ*KPz4!89082vFgfYn?*4T
zHx<s&w^oEo3Yw$0tJV?qHdZ+?v6HPAYE~2_^0B~fSjk$$ZyR1^%4-WPeFLiFBoAG8
zFG=aW6u4#!%4~&VJl5ue#HWunQy`{tpvxREO5W%i!J+8c<- at 7!sg)CqnKk>u3GDfn
z3=9dLEwy;(>c3ee`I)cU3*~@X)OC`SIGpWIFkRE1w)aH1&BdVeWQ6jrDJhuqgv0#)
zqGBS9R56*J(mejHr5WxNk}BZcDo_10-K6+Nwh_^if82d}adJnGW$1(ruZw#`-f`xV
zZUpOv$tD5gn}^4ZU<QfBy%buA<90Wp!+ua8k+xt(^_#VAM&|0->_-e<&o}0C5w{`i
zV`VjL;G5C<n#WsV^hU`AC=h8D65$2=J4Men(Z~#xBb;TBo`p9*)uk-E at rjiE+zhiF
z at 2D6775i#CUJ1DMC2vcfl9)_7zefAIjW+hZ+2+AKysU at -*Ho-y$6Zi#6Cjf<RpZwY
zGJ&=Q7<V0h`H;|mVl_NfCvQ_W+UEw=atAW{l%Kq~r4&R28%_^tTU_)RxES30Bi05;
zlSI-&95e!nm!Xm+oQ+~vA{Izfje}Xwai6t5?SbX|j2u_40p4hyO^E1Z+h|pK;kkti
zk;vX{#Y&$=km$AGSQP6CcN{53am<625<a2Yq_t;^8IACfyD-OJ>YAOo<8z*SRTnIG
za at C7O!NbZ_immW5*uP>EjLUAT{CexJi!}Q<ht$TI>sgqsmB4|e3BnD$ly+p<Pyg4N
z>b*AXFKvVQnW7JSN(gzqHAUI0=TK}$mShEP_^~WDA&=&~GaufKpiTyu>&1;+|9eJn
z$2(3EC~771TJ1ov*DB*p@?Uc6+m1FIm&RJ6Ao%AcXR}v?War|sm#6HTG{0q*NWNz~
z%xrj*^pqHAF0?fwuN#UOb4sXR)RHz)J(@&Gc}t=4T0V%KQ_DHyGDJNLU4j+lJ!1#W
zb-~CElqAP$nt7aIA!f#{-S3$F21LelHWD%Yu>J<u2TD!U-&)_6Ig_JWP~j9IB{MHp
zG1abKhrny>fSJpveAlXw{Nh*N(q0Y^Y!U+$G7mP9u8iKH&q3|+d3|tt+<$!_!x>A}
z$UY8j3-f20pJhRlmX)J$)S$_)VKbBrJNK}!Ce?;;a3_IJrHqEhmV!51PYD6^TJ#$Y
z$|{;VV}hefiG}&l-N!}@)&kFg5{$O==OwOR-3Xa66_k=R`a5dc9Zh&RUr|~M4jpE`
z*IEX=$5d0ybZ3A4=#w)hw-bejgAvSXQNO<UzNZ8WR&5mabG|(>SIP!r(7YtVZ^e(Y
z6SL7*$1}3!9E)9H1dzy?Vq at I62TRl=MXWk{iT|mLyRA)-k%w_EaKcju0S4F4L!xua
zOu=P#0dU1s75RKn5P+KhWF7)<uFyV3#7Uilj-lTMcL2klvxA+27-{rrwI>gr2*~I}
z9Ay&jM77BP1 at n8KkhNpq(y8+_ at TkS8d5w0C+~3Gc7dLBKYqRt$^MSG?Xz91-4L75!
zK1;pH8yHOETwURt`L_x!M9K(Ks{eX?b#mu2dKxyf3Ko at L+QBwFtnlTXx@z?!P3>rJ
z>2 at zAZUN%~7aFh5`~urJ(G&c)5oosmHUiDU!1$k;=YP^H23C&$?Ea55i-Cdt|1HgO
z2USVY-eOZiLL!Ro7iNda4JvVQhiB+VVD5*}T_h-kSge$wApN(3AR-_jC0yL0^fS(J
z-hKS})!J(_t2NK_-CNW3)?d at RG&G!FJxXi|-V#XJXCQ&+r<VXqSesuu0tX~WAfSgJ
z2^bqJf*0)+_-Q<9z!2g=P~ea`<VSeGLtsEMRR$nd6oBP`QFwL%d;<maLxl8GghYTq
z00<oZ1sdcf0Ra7jz6>|N52|v&009&)ig$B*3Fzt|Qgre44E1Nr3E=DSuxPt)5KvP+
z0(=<_2AHK^LOg=Hs)%+SbUt|NpEYaGztkYzNrY&J<n67yr^j=k4nnUzJeUQXeIHho
z3#bzTWOxYL2>c5Na~`Bi=qF}0dJO0<w-90<u9t&%3Hv%QPyq~`f;I$9Ak=-xh9D1s
zimQOUDDJ#daKB&hia&6BAb&RS-Q&Y=?v4D at oQT4Dy}_Sa+U*rsn8(mT902bMXpng&
zr8ChFf(}52=^Ju{tDu15!vQ^m3g~q((6<#X427f>!2Sxz-|6r_&jFo;h}{qsQ*)T_
zer1BTO+?djcsCbNfrN-2|8!XaUII3XpEpylXAZfB4)z(p`qbVO)3ZNk7;brXK41(L
zUF0I72k>B~gP&uk0D?e+1PBr^BoG4IfD!Sv#Cvl<AH8-7`f at +{X3H>vKXwl6{dlZk
zBnVdUg5L-4#Qk~*0OtpgkWatzV}0r#Uta;Z%V?160yqT>-TsZm(+Hn?*30kS0=@vu
z2vL4t0DsSJZ`q+yhOYJ*(D(fJ`{FX>B_~8?Gy*T@#{IcZj`#Tj_~Rk?`-ur)fQCm#
z02K`#3GVhRn+N9kZNJ1Tpr-NQB7SesT4eoQub#t!uKb?{0Kd4?$#6t<Ao_pc=Vk;4
z3AC4ke}AW6^a+3YlYXZk`X0XexRoAU9N$mOe_`MJzYNqXqHpm*qT2H$QXp9NDJc7Y
zu&qGeYjt2FaF>^!`+BG(7^Gkt8Nk!~*pZ?Xf<6SUnhPbg$M$^QZQ0){S<oq9ieSYB
z{C8;q;Q1k*^!ZY{ZE_V~!GT04_30p_cz@|CA(}$BzEd&-{y+e{+yQ(Z1}f+vA)tYM
zy(@Y(2fuw4G4_u^2NNq20$6nm^yA$GzCOx?3IOC|U!Vna2wWxd>-N=t`PcN#-Il-W
ztJ?DND##tvn-yq%Sbs~OBSgRtquE;l*->NOsG#mTsZmNF%`|-hdiyo7o<>T_H!~zX
zJLmNkf6T;y7vDIox|yZ`S8gVgCK4k9vgB}^3-g`gY7#nAPIgGJjO3Aa at aBE}JPyHu
zL*(M-Y#tO_SWPcp?}*@P5m__KFt?HvM^-~D$PKJKqz2vAMyM*^%l4yE at DQ3w6bg<`
zoi^JQjb$+~&=c)tXCRX&cx04%UQ}cFe8u5G%W|Yz|9dpO>M}`7`2U_r>#NzzSM3it
zx70x;{)>gHl=xM_a01KkDJGJdRjv}xYn+70A4?~JxQ}(tKY;BT$J_1v0}|(4ixYCs
zgAoJm8y40vf<2ZR>D|Khy9nXJv}Azlhj+c^L*B9=7Z#&5H at Q|)6;d6%6qL)Xl4Gk?
z>Iyc(NOu%=SIz1MaMBYf-=L7=es2F79Fv_jGa7OdzLLg&k=gwE4mA&jesrw*4+*OA
z8~Q4ia_wzhZ`0KsD;iFqm5%w_Tl)%(>0sbxdFkM at y~Jtk?VGCxI?3#w<QU0h^iVYF
zy^}nJ-=xmKfcoUna9u2#O>w{jLglXQcdvOPX;4rki)+2yF6lxCcUssQa$}Qx at b4Q8
zM!twi!hXr}%==~8A+>(WIJY{P`@{#wmL=0P(I>y*k3fuUe8#D*KiT!S+q63KPs1+}
z1o_apOc~uHK#fj%S&f{HTSeP^(inj?JfQ6$Z#a7xjE}9X&ot=kYK%BFK{Sd-vTi~4
z#bzKZ8+<+Pt0EkjVn3j at t|e4NX~*DZS~woprtRUd-x;3?=Wq+eI~dIC%Rf6?d1&F}
zJWl4$e7QnwBv)ba<3x=?JFmydod0Mzhdv3Cy!S-LIAW>kvRx<dv2D#(F+W9D+gl_4
zD;LsSKsj2s6V}?nQGT_UIa%3z=CqXk{(GwNzW>*Ii8zJ2YlQa~TE3Vl#i3NG>R$Gu
z|085cycA-CrOvrca7c1?=K}7s%?oi65UN$1>=-*+4+MW6pZ4CN#mhf8OYgCU?6QH`
z7(xePA<*(FpPbZ|_a4PQQG~ii)EdrP75}<KOQ-3y`#b8fR5v0dA+JfA)`*3iK?9=g
z&o at vy7@8NxFLBD~<#!CyW#>UnBu1?=mtuW>+qC0UG_1nDo%!7rB6JdwDVj1rCC_md
zsW8*Zzy6R_3EFMlCy|imQOdPED=jg?OEUA)h`l2 at iJe62QMq=OI1?pLlT9Ysz|Q2!
z)5uU?&9iGj>#0K&$lM~vESFVVqjO@}9)~Ots3-B2;!{p|8JMN^c)jDuz at ZFF{LTQg
z`{i&r@!r0>v2ia<(o+MQ)4*==CK+#jfQ4Jvwn>~Aze|(&kBzppZRBh%s$v{i;huNj
zdf|){P*a8m;=+NvuQU|-X`S=d#xxo6cROiNOeOR!*#j>)KTcCi;*-<XLW{Y4A7{hj
zOTJOgox<Snm9nfqonm8Y)vL{)7gNs$kZVqCrZ!w;#*a;y^GWZfW6H<`p(|@Ij}dV1
z;Q||^E%D!>VM`4Y^8l9O6Q>fj!cazw{cmCG^lMmZJso2rU4BG~qf)xb!D_NqpaX at 0
zxJZ|!B#LA(B^u6M>c-IgQpDHt at g2`m$eLD+SzGlZpK*BuvXxxD73VADJu#K8)ZL=E
zqwYjxWu?zDLS=u_oR_u<vKV&$@R6j=QCsz+KZ#hc7Pe7tP=d-+P1N00zG>Bm#~Cql
zjvrG43MW22b=DN!tX$fQXxwh!h)wt8i94%Z at BJwyz=PfNEfa5j`oeslM|iKc+Aygm
zT9nZPdp%a4MFQGXZ at -442dC4rT)(R!ltnG(+})ZDy~)o#mNmiCUab?T?83*KB6BwK
z6+CuO;M|JZlcmXmlblVRR(39zmf}WoUw<dmi6f?6`lcjxfv`Mx_!3j;C*KJcFoPr`
zAf49hvwH?w8_ZU3p}U0$%y!C$Tby;{lh$R2Yw^z}F(u`K=1K`Q+h0<)+k8r%Rw*y-
zs|i;0ZO*VnPhX8IkeO<*uEr?!(j{guxX8KB{PY$~z+58gtRXnx0J8ZEdb;BHWHh+J
zc->6L+d2;0jbDO=<RiOV_j@{>48hncT;4LZq*4e at 3f7u-Tq&Ru4FK>=f&LJqSY1V3
z7R=(ir7jF{H5<1|z~0emdHSb4_0~@BzJ;Yp$6AO1wC>Bfz?<O~S0?WgL=!(7NW_Pu
z1k#1-y&zv~RcBhRy2>J_$g}A at qV<RNc270~W0 at it3(O-yXVjO2dNuqTb3%1eXMj04
zx~JiOEo->ULKtSk5oH3FEUq>CfCqy{J_2To;F?D^ekh(u3dJcG?a&g>=7(qXtW*xT
zfSZb=gP%8h5*a_3A(d^RcT%jJ9T(wnytI2xhOHctN_CXWr%!y}y+{hT)Qxi#)Yly~
zFD2Vud#-)|BS4Y7I4)Dd9Cb4*Yk_&Xx;tt-9K6KMpG2HT)=TpES3ZIH3&8W(>YDKT
zK_g~V!T#=`Fr)A9&YEx_Mwm8FuxEQ(xw#(UJ08AezRd}9H0hN>);k}f*k8*%_U$WJ
zzdEDS$;z&#KWJ%u_U3Z#N0)BpF^)W|H&#AR$RM$mK at -$LS at Mmkm%!7!s<+T?WX9wW
zn`ajz0p2;f(&jvg^_)pHENi>Zv=$AVlzf&=<crgr{c`jy{y(gg3J!n1O!qVt)BVJa
zI^5S&T6V4&Q_WNPwJOC!6)(u8{pd91UJQ-+;y{UgG~(|gW=cAr4jSX^+3z{kLqn at 7
zjU3ks*2Ra^+9%vdT-Aa2v09zO9W at btUO=;bT$M7%6Z7St9p4Bevu`67(Yve{wj(^k
z{l)<Kc~&>%sW0l`^+K4h_j<2-2PSC$$*Ye}??g_MPYXnZ*d%@N8gNYH&XMt|?H41<
z?~xD8Y_-{#CZE$q{$vz(nEf(Ir>lf}3CWn!^NfZ;7^8bXoIq_*MiGh{{#`Zv<yzTd
zpV9VEn={mi4ff82T+vpgsVAQ&2*mm(YR*prm0hIjw!oLvb7MEnV{%pCkz=r8tc&GR
zfTNvIeIL%{C!Faub*2&+2;0roGgj at yYM0fermU(8dDUV1dP5=P`A$0gtcgwUs$D;3
z(rqo9l|Bh!9ZO0`D_<#0pgH>!A#?M*=qL?{&bud{z_a^vlM?q_1pIaLUDMluio63K
z3<WB5ha4F>N at _f)ZZZ)2qDXdmBPSeX8kpp<ipuL$R00Ti$63UdwFXs#{DweAv*3NZ
zfW<lv1`IqwHO0bD7J0=F at 8Sm4HEM&KZK+rA#G(NrBsn!CZ*iFr`o_9l>kEuBIv3`e
z$E%(>+dAu1RZKuXKU at 3K<*R}8Rf?3`TqxjoeRZ(18OP at G6XF-<$)+w9Pkn-IGK8yA
zO%Esu47uY|I54KBY2~-eC}ZHi!*(0#!!e}mP73drr;Gb#g1>;B!C55Hy|tlZbXosQ
z_4owV6-AhGKg}p?MC9E(lq9Y42=Q)ue^a}j at Td@G0g^d^cv8EY1P at p>FcQ+T at ErGG
zZ=bMwfqy`Z+Bo!N+AB}Vq#>=z!8T*uM!z>)voJ$Ib%(pvi+B_4%F~}R|1isEzGXsq
z)vJ1wN?h%^M)}wstmxID%C^b=%0oC2AGWoWnPQwuOeD*{SiL-t<^4g59ZFdQk;zw*
zbjVp6O at H65w~IbTA&tnv at x6RTTjBh<0wOq}Y3LR-*t at I83ixcGXr~?)8%%2|*tTiW
z#eXkON;j^Xg;WTit~|a1tA7|6-OuUVW4A{R+YiEz&g)E(0c_tbuymME*!Uz~4`-TP
zV;NyA9ms-%om|BsQB7!S&KwC}FpAn`M~4<&f!>QajET8qiGShT_2+(qRq%?bqkYYL
zwc+`(SN9aWb|Ae)SwEGny6IE-c^d3+1+W8ltqdexXYwsp^nLDRX1ZD<1lgR}N8h=I
z7V~zSsT7&f99FT at Oz-%T3|l_6Fs>_|4?zC9h7Em2Xpd=cttI~J=Hm5ZymR`x2&F7v
z!(nxlXB47KvCC?mL^o+O>rFF|1kjqCAMJ2&0^dd5#nW~nqF*8FhK09**Ug9HN(;f<
zk<qVj7Rj at Sj`cndacakwzQCb5E9FM at dCSA5>3|DT6EhXAU9|DyZ<h&db~C_nRah(I
z(JNTo#4JvtwG)Hb+Z|+og6+5JT#?l7-A30j-$*J)4uha@#Z0atO#~H4_C6k>ug$M&
z6vKCKfU*WYnND0*YRZs*tO~rdGX!xC{sS#MZ;SUQKot#`p0N at L(<1KFK+s|3{@7op
z>rl@(ZeJL7m%bYN5)j4G5Yp3)0Nu^jEC!4)m64oiDAlmc+D{Kg$_qDPF-&}zQCYCD
z3`DtmCJA!9 at h+3<((%kT2x+EhxlB2{PUWDOsz(Uf(n(-RTJs3U2*^5|w#VFeq67{L
z_x%ACbJKTBsM3FgS3a#?>l&K9V39CBwaT-iZ9%9)7^s;nyaxR=6K%Sk#^%phI&fI&
zmb*I9QL3#J`}qN&t0onueh3rPni}z~#6vb|8ZpW;Efi)_9cW*Rt6ypE1~%i8KG->`
zlM$6OOstdrr`V~0 at sujO&Ln>#!D~o49 at QAa6gJWb15c?O9`Sx{7XWduS3dOz#8gNy
zS>6caMG(J&WF*r4BYfoAbc%?56ZfrbFuT{Ed&9gR`5jz}Azp&~?lsFxC-;p%`Hk*g
zu#5eS34$K4(Q|EYTd=RYy&0H_na6TKJ>9$(-lNva9*IY7*Vkf5n=zof?c4qN!rTda
z&+Exj4H78&9WCX!?P2A3Ey>}Auq;ry$4 at aQWVc<8NS!akpzn87yXTYKE%O+i(=V%u
zCtqR3R!z7oF3H62#!<7i^YNOR&gPXfhs8{i^c4|W-=-q>njsO)^cd;8-QBf)ici;q
zkJgd6<t8la$F9;zKHfm7A0`eZTr9PnWNByZ7IfN;<tb~i2eP}30%C_Zip?w=Z at hKP
z3etU1X?qM_^ou0nAI?b+9Ax#Pd4Q0t-$sJM=~7MRQCj2J6PyW42RSa)7EJ>se%R5E
zO>- at Ug`p+lWprvkS1DqtpN8{3#RJ+*(Xj5avS~{nsHG<;qqHU;>?6#=pr^~YRm!zU
z5;q7mog$5|(TbR(_R>pZRcB*elUEr4QkM0ub-mKB<YH!_c9x5~%6GRxD^intV2q^l
za9EOSJc+dQht^(3C)VC*- at Tu8OgWd(=GnKrHPvk+=L)$pf|Gb at 1ITiMkVSC)3&w>1
zuKRs%3FixD7d=ke1aiWLs{TuYbxz8PzZ$PxP26kTG&>(?lD;|*D`hC}B}>b#qArmy
z2g{bAd$4YBR4p^9PkiiUa*M6PAT(xs+9RnUW3WA7gxl1jx+%jbYo~t^N6MN6Y&8nS
zTuW*j+~mbG_=e%a%Z-M&s$&myPPK<=4KF}}iNPm!TE+3<={n4(Pd&KDvP;>OrJHaX
zRonANC|4dGvBDsH!gQ9TxiX7p;_0XSjqek=6caN at o;ybuBqZx%fj7N#rf%FX@;3NG
zOsc)CS~d}FGF|L%jQw~WT=*O)RYlHd&io#aMik9i;K(G%(O&aB6zr_u8E^f5o`d6#
zTSNu}kqOaUxU4wN02*CJvS+J0BBi*8Tu#7y>jiUg%8V5tN1H);eNlKY!`bHKA)EU4
zwqyK|-64P`F~?>|r%V{j+^eFzL+qz<M(ch at WpQ2+&8AD5OU2r;Z#*Z57e7 at s#;Jp~
zJP%Op;J&s|eVWFZ-YaI?h8uQS&UoSjt2@*<iRyrd)buvab2aB+SM-o7FXMY^$s?VP
zz4$7ZXPeQNUy1}fNo&$}6CaltAD3njg9uR+qx2_1M1UlE;`ENCFXKpbK_Ft&`|&rD
za&&j$UiqN4)L;75XX2nny8r4CEPc=r{z)-TJ3&ODz~H&~F^KGbO@?KK#jfm5E-U)%
z#}&V~6P=CWf?LCS$xsGi7rs^=%#1o$0s|%G0WQrw-fmg?s!mOvkfsCjo@!)xh4Sj1
znfBQ2f+dQ#+$Tb}@XomG{WjYz#-_DEt5k`BjD;GwE`}<V<cm+UZwy8q&)wy;n!zs#
z_*haN8;LDXH!;@m!>LuZZbad?H>;sVj_nz6i|86G9%A(4Y+~To9E7LK^IRpV-B+B>
zZx=eO!YUnbi2(CL#v1cuESeu`8s(P(v?|`(tXbvO#O-^30N-h6%I>Tx!ODa53=?2G
zGEdw(LN(|rWa|JFdbA(fgE25ST{l{?>79IDc>a-wf?H{`a+4|0o-W}SaoX<AFg at 6S
z%|VneP%DjOPQ2(Wj?OT89B^ipa{p*Vy*GJ$cQa-ZVyC)en~Q*wu$u8cN*}_`3&5wu
zsM#Lf=Jp!j5%P2i-PO~73f7bRgCxi)Q4-;owekE0B0Sy%_ at Ef8VM<r{COw<lN%-1p
zzjSYYZ766)U306K^V!&x8{Sn<WwC%n!56>4eNE7r at sX`D$pmSM&);>#i881(*BNij
zZBXNu$sl;v;p2@{?p>h}vrq8v+kCfpEip1H&38{AibmyJA2mD%B)+;psTAp1YlL7%
zE44xUG2JZ2$*GP?NgUR at EF&716&=5d8#X0~EM9;9iENyEi=WP*>2MTiKS+KaT`$B6
z{NkvfOLPB_*@t0J?JY=G)<nA$SvdxtFHv_3Y{!~pb>H&ZA4QRcp6&`$d$~nB-^u#D
zsMQDqZ%@6q$aEQxx3aCGm2`3AhBi at i#cWL>#y^zd87XD?(SZLVKC63db8<Rox6(NM
z#7{F}Wl}^!mo>BP5q4KaGiN-pWU`8RLa5RnmH4SJUoKtIGjQ-YZ9_u$DMT-F{MB;m
z?d)?E`yo)9M`nfY3+_I6WSw(1C{-D$-KYk=#(hqYhkacQee1h%!m*Mf2fenMwk<Wf
z<>4ISIn*}MP%4|{WdHDJjTBp*)wHQaLRY)7&?AKx1e_ukB#871tAKjHwj@%lI6Mdc
zY at -?Z+sM4ii>ijjt5?29GN=EiTd~vMIk at PxG&G#It(iw3VCVxlY#PZ<zne4kkM_e2
z<YIofdn9FFqj^~QO=*wiFWgFOL>@X7XR!%yChqXZ-@|u?jmC&4#u1J!VYp7j9&RSB
z%Twmge;CzCKT7S#RMPnVFjb1A%xzW(X{RKBvE>L<khI8_e50(GLXpkqBiyaycDA4Q
z2C&SNlH<l?Y|SjJG;C!NE^H{|HpcC6bW7YD2`p%jRik8f?s&1tW3!j;S#RGzf(6!o
zt&O4WK0%*PTL<SJ(PSfq&oNZ@;a at hOr2F#-apsjzH66)C<UX2#^hZoKlO>=?dWIYT
zdd%<yuOoQZ;0?RbrMmgkXCVIZTM~DMS>GM(#Qzb`U+>6+%cqOx4{wF at pQpyLi<?uu
zrrj3N(7(D%aSanK&{Ke at YJ=d+MF1P*htC$~XJCax;?dJ=GA`q8M$eY!_Q*x5M|LGp
zIaE)(CEQ^{<Go__UWelEXS^10weUoeYk+9RXiN>2Nul_P>uEECPgvtQm}3Mn02_C&
zA5llFHwa_<GiOI^#Q=D6TiP;dBXQ|mk?FfzW8(HNP-oWvSaGfuUA_xZ+cHA4>~4;6
zo8!5P7CL*FYnRVilhG{`ob=_zd^)%7l(1gX{Rg6?&lsP?QM_uZ2lD7*jPH=*9O=Vj
zL`wQn at 7QDoGHoEfmoaJT9`MiU)Rqo)d`hhJ%$Bqv>os!N2-7zz*+g5r+zIh?eyu1E
zo@$+tZyRnc93uvz$}1K9XJtAo77QO7F?N^(xLZ`Vd({vt9v<+JO#YPfhkb@`v_gKy
z=!HXT1GjqaJ{qeEzrBagFW&dqAxCI<7p#8gA+bSm6DV=`(QP?R{BsQI at E{gayl^Xd
zwYZJ=mtoy9s4nSK at qAmO;phFa9_r59Oz6XLI+qOEJ~0_+f!WV_`sas|v66Ng9*i+|
z at 6OJ)I1m=D%$&}bD>`*eEcwNV;ahpxk6egXnY}2kHSzSD7wv^z$SQZ>x(0MnfJ9_F
zNQ;OqBHo8UFJ`bbe&-BUpK;9H#v^lL$44YZqS811Sq9N!EbeTR<IBs4^!bWLpgM`@
zRQ=0Tgd=*+bWkCm8~lW$Q(ykenTiIhm-0iHn3iv2-8cT`O6J>t!+IS54ePNoasCJ7
z{lj`3od3J~KUj~Gh4KH5^*q2;lC_uUfEK-PK}yyHN?v!pZ-pQbARrUwMZHpYv;S4(
z04af#P^b!&KrSX0u}}g57473c=iGjsb-CAitFKD!eor$unZNKfC8Nr*2_p-Vnuj2Z
z-~x(6MnM3U0#bRAsSybPAV44i0f|C#aLN`^U>w`$1T5hk28R&sFaAas9s)ax6f&xc
zqhwWt2LLzw8Ui392#Dxti3njqfJ6WVD)}QL at +|_Wit|@63&=wh#0Cf_faFj?)C=HO
zRAWQ+%<aVk;4#n(h)78Z?YD6YOduZugK`f7dc{$&N057o{~?Ak2m%l$tmyyOWs>MB
zT-aR_8v6bH9g4%7C<KA8?x_bDz>jhQ#t=q8$mfS(-d~>t_z{<v&?kjVv=5TeDVXRF
zLk5AK(pL-*5&&kPzyJ~_()Bi&OUMWCbOV4)s~ZrA4)POT^BGP6 at OJ3{KqN%;3;CM<
zS}&mRW^XRefN^ks0s$W~s0&D^fB|AqP)8jCB>)M4b1>T%5ywCRbbb5x3?h`1s}QnJ
z*&U>U8WRv_0rf`}AL$DCS%@$+;U6Nz3iS^a#Bajd)&xB`hYT!E0O@;B4*d}5|LY8o
z@>AV`=Mcir^LCpGjdFAKPz__QPjAS~vAl&|RQiDq4vY8|+##d at z*vyd-kt#ga0nX!
z60j5EZ)<?{7xdls3%1xA0`f)315jt)R6wYJ4&e!0kYRBF9!TK*O-Lx{x9wn$8VC_F
zfEgtQh(l1P&>_gbsMs)KDxbCUmv0^*02YCk9}(bg?UG;K%_5YOc>hno|KC1sni`V=
z6FZyPU-gM!Mk;DzAb^3OA|(JpN=E_#5fKp_0zyJCh<A4!Ve!BEo?rC(wC&J91kdEU
zPn_SmjeGi7`|s8Q9)Q1brSSsP=s^4L;(uEO7zr at G$sT at bU-#&K*;9X`9)3|i{LM>l
zpo70#AHN8{@ZH4aDQNEK!L&MhDV|XN63#aP{MuK69?$)~5X>p;&HJ at o5#lT=7lgct
zQfn?4*CpKF;paf9go6#>z!p+8XydPX56=G1V#h#%V-z7M?6bpYMn`zlXM0Kr<ehJW
zK%$-5BZKe?`{}92!ijPCVYMkTIs_2M#~%{_a;aaSW)%1X;YF282-r6QgMb!9tYCo-
z&^d|_06iGKuWl?Fa0p;XE}pOd7heFTM+_fJ>;5-T0Kkx885|}!!2kIfe at K@yfB_{g
zkCCF&)<3vNAb<fTmuYwleP_8(k>xLB=qJ%{VIiPC2Gj-U=a?!8!Bwal*dV5Fb-`!A
z%`N>@- at oIJw}RNd&`7?RzO_DkEC><+ATo^%;Q-U3?R-&JT{bGl4`@G}F-`5;Nck45
z7-V6`9)Fyxvgqu3#_L+2xsE(LnlXo7E;FkeKH|NDlP!QP_0WUrjjRz0n3e(A6XSuT
zMEml39YUH}2(UHC$ecIXhhi3Dvqf*Vb+&CxG-v)I(hq?xdHz)0SAw?M(igzIfGB6C
zRvR&uBqhZ;zEfdpwm8 at 2id0%nrqFoVy86nrjbYYPVT*@QCv~Flwtm^{<L-sj)U{CI
zV9tVMrQ9E|`wt8$uPOrD)}n?dL$8Zwq3bgV7&_Ai=hTZD6}JzkIgC2h8gHcPJ#(pW
zy%N}9A8p-d)j>#Dyl%@!Td|0l3DoD>JO)l1)C at mlvNCJ=cz0xr=>vsR8;4O2{25*=
zfPtvb21^Y9ju~EQ{%13UR8 at 4f&Wvc=$aZ)l!IylpbGlp7lk&)jP1A`1l5l<=MKt!1
z29MYd4Vs^X86X8F2PG^k!}F$&`p>u>M1+qI69g^mi7Y_=Eld9$)=hNpn0*eDvOGBX
zmaEx4{B>#XI#Rcvxa}NyS)7%UN4$m0{%oZbCS)reoe<l%B5~nSEk!H8B;FAm5iKLB
zpIsGqY+`l%Jt;0NN}I5lkj0}vS?}jYxo_EHPKeh|nn{NJ;L^!sZ7Q*R<q52|NLbIl
zUAFlb$Idh~QRel^+s4;!^-B5L*skoTo2~gD#^M`RTwfYSb}bt3qcqEbjTeEo4bqFR
z$Msw0wc;abQZtULf8M5d&*x>s$?Y?`YQvK<o%H4WZf;L!H{s at Odbq~;%3QEk67bC8
zslr!UOCwyXYG4${vNvEjFWholj^3Yo94)y&#Yl{t37y at kx2OEdRe#4Xy<^)NsRDvh
zy!o`Cnl<auM at dm*WKqoVs-(VDlY-VA8(D>1;OIgQP8Y at gfGW>xmQe1r9eAwg3GDim
z9=Q7K&NT~dYz&js at Zx~<_EW_xq<`I*LumaF*jN($a4A48Y`MG{_;1Y)W-GD^)dQ2y
zUfgJ%SjupFR;o^3Wh+Sww;1nOFUW!~zzu%HS%sLXF$6-`_OtM=jN`f6r_+CbqeC1{
zJyJvas+k at 6v`i;Q1$W1#U`{vP>SShjFsMD}v$Pg=9%qc&5y@*VN9XjaEX#-7jSWVq
z(p>|fo=E%hcqq#F(KSU#_ at zU33iW&gubw7AX8<8**t5oc|JmhRZof&^jWwS}+u*h^
zO_7To7<XaHMl(EY$~50=JMYCx-s31RqcM5#+Vh#feNjE`P!2xyR+i)xws>i0c>6hB
zs~01TD~P{PWvHpiQ=S00;u70#v{dOV3sq9p{|=L3-YR;(IEHPII-^i6;Vj}bpQvy8
z>)a`%?@U%LV`iAVz24X at usm;OY8y}Mecjet<FiS56ujj(N~QUDvK}f{We4&^!W;z$
zBs#=m99pu2hr%K$NB75;v{qW!dphfs=Qq at 663V<5afSdM?+%oLY2TYldQjrcJXw)h
zxYjJ)Ah&JhNFvOlXvncTtS$-oV9u{ziOfcdt9P!c`O*n1h2rMSQf$;jVZ08 at iQJkW
zQyc18IvW+^(8AE2xq4Zd!+KX;WA5%SJ38r(*i)Xm&4eNdW at DLPMuBEY9=(Yl%ycB%
z&nC^~JO+>f1WR>T%njpCtOa2WkkpJ%);US!NZb-3RksuyoVSpN*L4FnF1MLn-Bp_}
zd4~#ic4|vu7HcaTy2FdJSs?_)^+1giR%ge;1;dZ)QDp&cnkaJt#602dG_K^=MVkC(
zOcx%Qb2B(wYlM?oz-xs`#$W{DU#WZQOEUOr7Y`p2B#%8!wkTW99J>14-t6u4I+32p
zdf%DHZ0g(n({P*)Qd(-`GtR~UD(bTohpX{W9((@G(~&?1 at jd0K*UrJ9$s?DnM;oMf
zq|Bt;D!jfoOtJ?MX+tuPqbcV at sS^L2Qr<b4p0A$Nk_fu@)3PXQX)eQTyMcv-!}jug
zgweeW+pln$55+|7rPZG!ZTh$IMYE~t at Qr;eqwfod7-Dw0<F>4wBO(B?u}{};rmTqC
zc-PZtZToOyZ`|s~>sdDxGtdYIc)1(}(myde>`eE~`CyKIzHq4=qh0n{rAo2 at FB)Os
zHe!1JYVwpY>A8G{={xl%QrNZ4Z=c|7-)EX6JP|;X$d{U}%D}xQ7%Jkr_drbAm+&J{
z<fQPi#Wz-JQ8+*?D=7Xri*1M3q<l7AvzW$5lgFlFW8XOVc<mB?H+|yXO1L*}=Dz1T
zncsB&#P`Gm;o6GSi!z2_f&=F0CkY#&dtoA<rCUbwj1^(m_%pzyTqH at zb@OOT0LACF
z$`MqcF<c at +xv);{xn9uZ=eDBWpZbkF(;fQvfwV$RW8wHK>ghN{2P_KS${s%R3XYiR
z5QK8hvJ$^)9*8U*d$LZJSe3*qYZ{hLBw=MIkuOp)dF>Ah|7*;<I0^jdzKU~_aDJ&1
ze^lbX$+`!eJG=_%`O8C&iJ*Kw_G~^^fsPSrFX?Xh%1eyMT+gq*SIYjeE~$&Jiu4xo
z;3qa&gik$!_#3?3Xp|Nx)1v0^&}9y-aqcDjc^i5;mudN;__(0K&qDal2pvX6+vWEW
zzIBClNGO7u9|`Xm9et%GDwSfPtWRe4u(xM-ym7&h|J|5Ypr{I-95L@`*jxam^-Sr;
zk?>hJfH$q{>`pVP1g|i#B)yiug5oTKPtv`;-HO0cyJe5-+DEMSj5al|E4XNXDbNC3
z-wFa|om~B*Tzc at l&eh$1x_0^WcrB%!iCf>P_$RNdEo+UG4WsM;aJ<c{bb2A|-iJ1x
zFySHvDm at Ah#y@^UgDXv17Euqfy9$NEd(q at q5d=KJ^M|avv~^Dha8p_k5#ObgmXpP!
zuT5w7z1+LN(of05zq;e>t~|%p>vod8j;i>{vfNVqk)Hd}UJ`W2?|y+r&XiTf1K_!U
z*_MI*)QvPK^OiuI%5mJ>NbS-Pa<FIMO5iMqslTU08A2bx{3~fsvc&Ob1HH(v7AT|Y
zCNYr}jpD0lMgbv?<C5$AG%dIJLT at M#!Ve9xmqd~#4MP4{8M!O at 2<NjDCNT%srd)}5
z&M~+&4*z(P4Rh=jWFeB#d5iZTx8UdXF8Kc8-fKA0WU?TxFY!_;Nu4l1f|pb>WL`&T
zySUBwQ&yz&^d5dz at Au2`Tv7(q*+<%DO!8SXqUTWWBHAjvTx_mTrtn`_nSKsDSyRl>
zG4VXZC{QRZky1lu=}6wQ&&P<0m6o%=g2Nqcfs*dIqSiNgzZXeMJ8BF99Bg6Lg2z<P
z{5j4)uklvH*06aB6NOc{{JX|@w=t%$89rnY3Iy(n2XQd31DW3<*|9u^Q|UQwvn#@d
zz8=iAceAQqwz|VloDYn7*8Tv=VUX#;k_Np}q8Ds*E^SfYyY(cz>!I|0RNXaGmticq
z;<I$I17~T+^er>EQXjzh-jf_Xby4>d+x6{bkk<8sA$@wQJs7P<evg8Y{^4*4evTX>
z+g!GbY2x!yDcxnSF45u^Klf_0TBy3tmMX3^u`xbvOZ0QSSD`j*L~n<_f4n#NQFfZg
zYR`0%#&B+nf#>*e?8&zyKl1(W9<#3z*emR(qg%qel0KDYl5i`Z*&QOoW0x0YC?pG1
zcT(4_9yOI%9TO6v;+<<6#WzJ)A**>_B#nxNx<*e_qGO3Mj7C;06P?bjOh1Z|`9nBD
z2jl!}5=Izrn9Yo*S1yj#7?BnVb~an%kUtmBEv0OD5EXk&g}ZmE=JXt%1CDfMs at q~o
z=M*AOvogT)4G+{y-_E`O6<8;QI=@Tqxoz*K1gE`u^?s9*D(#3 at +iO$g5u?&-OM11k
zyS5{;hS8J~IlO2dR_A=rP(3$l1~VoN8voW+=giZ3dCel3?Mdoh54?zOt?XX1#hjNg
zFdYkr9~!e*>a8q9Xo^cWsZa8Ica)oFk+?4pJ at WQ?N<JE)xccv8XzU9b^}o4^ScJH{
zR{mLm?gkU`_`|`$p)Ud>2k$ncKECucbGd~{WKZeVwLHxP`r;^iLlzP={*Ce(RTg(T
ze97L&f?U}yT5J!^id*TcjL0r^y%k;x6-Jkk$VGcf{D|O4K4R-vg~i6`lhTzg5?EVi
z%I~KoDsRBuNrc3Z;N*0sDb*44{Ar$?(Qn|I2*FOl*Wk<dao>%WwqR3EbY2=|81PsW
z{#P`sH|7D7XG7aYQh1;aUVdWJ$7#2r((ZK}F9zz^PP9HdNA<tx7R at -dd$XzJ12{EU
z{^xdULV*0Bnv>S)Ae1x}cp($#`eJ(*Zb8V*<e=V5T$=aeP4p5E*F0C4n6DL3Ai6|s
zNOX*8fQIGwS=qkBlvO|2xan at Dh9WyLmCK*A at xd#LmEu#M_#ff)^Yv$m(2fe(_4Zwi
z1yFOrJRCec99K6t><Y&C!MdB$by(wi6$aWS)Oj(ve&D=ZbN5D}n5;ar3?C`z at z>3I
zqO at 18Ue(V}jLDW^?(rWfB&|a;HAtRb^gj8Ee{pZ-l;m at d4eAImH#T;OavbK8Ww9%U
zvmvw6z6Z(m+utqfdT57a><8o(8e^Iw at yG`~pjL|Vp1MVik?G8FVZk*ou}jkf-96Z_
zZyf2s))<mh8(lFQP at sT2608An&FQu#TfSVI_~7H0SL19Hl%wmwxMU>7<T>g%@+K4+
zeIh*cEB>6-Kma`^Z3J3jG)lghWtuT^ygv!CWPV^ixJ^ZysO03=obBS>-(Qs3qZB&z
z(W#M}6I{juixX!mYJy{JqhnLGZsh89uRnL6aj=KN)w~~<cFQ*L;Hrb3)P{I@<$~1C
zC=Txm`{~%i7Nb*H;|qRZ*mkatoB1mX at 9nc-nW&$M9F-a_2>T6)Kd+FQ!8>Oy_hso~
zHTKPWVj~afZ?W3004Elx0IWWk<Q at s;Vq!kJYMbcrI+W at u-f37umXQtK@P2zyINPUr
zeI_rG<dwNhEsb5OWlhTwVb)^PvxEn4eG`YrUe}gAoJ)d0;5k>Q_e`y-=yEWcE8KAn
zz~)Sz7cl9ZsHA%%F0k{I;6yw3I_MP at GTZ-M{SxRKDZ|yaUN)qslL5V5Pa(5#-30Z=
z)^{W0X1*7HtMztY*qgK>a^Bq5UAv^lc@>Jeca$J at Ko_>H9vo+X66MvA!j(tt-9#!7
zFEsI{CHK4Z?lCXql13W{^<u6j2z{lLT=61z+bf~{Yg#e>t)W~z;bgCEH at +RGWF|Wn
zU*B9JgUF<_mZV5w#!MRx41vfezUVW`#on~#g_TLiZkp*J?2${i`oKguO)djZichhI
zFw};5QxdfD*q_&q%{pFjyrcqjWY>jLGydV|HT803)awx<$&Ta9-#E+=EDaP&G{W<`
z0+F=f*wf{~l{!rHxSgKv+opMHwedfUokN#qTcBmb&afRBwr$(CZQHi(4BNJC+r}3*
z>Q<-5YrIA^_Yc@(>~rQ?Ym!iR&DD8dzm2J<Le9YSY$no&EUj#e%!FVEK5TJhn14-i
zi7_h*c)cuSZc=u9-_eintOSn(g|zN`d}6n<|L_n0Q40~mM-MH0850^AkC&cdAFa%O
zzZ##)Ut8(>8lXv>|L<dS+ at DLG7q$J{(S;Cnt(ikn^g28&{wfS>7ASKaCoW|@N2K;M
zma?V?+5 at 3cjm4_<lr-AuB|;k8;pvO7_P%}T9~CkC8qlylnbd(kJk0g(<{xas-iCr`
zwhVdWh({76DW4=A{}_9lC1LK&==pTlzDH<47`Kskfpl at 6Q{Hij3>5W+V{?t(Iq at BC
z{1XpJiR1wfms#>67l1BWF2|b2?Rj5LQ~#Nbvc$-!&{CJoAZ_bDC)Zix?1z^)Hvyrf
zj$PhI)fk5PP*O;)W3U#Iq$H&Fj7r~zoAHe at _+5C#>m4mZY?$h>-9X7a4KM5=*<p>@
zhxXalGL%o{)Q2iAGIK!t4l%N;JgQ9gJzNVE`rQE`nmYbr at zQRZaSGyg+&p|5jU}{r
z*|*Uwb#C{HUh?v9&Q5v)KvKY@;X%aH9TTh9M82?{wkfBg<ZXo{EAF|?;qD;^g)|uQ
zMh=;m8y|XX5e43th}!F(FSBzyb0Gew5X}rOPW9#ePZj at Q^n(q1JgvNK|6O88CrFT;
zQU6YYiq%nZUeA82b(qs&(QsQZY*_e&In(5e7$w9CR)Kww&tyo!sf7L;EKS^*wU#i6
zH-9u9oC6{I>n>9LsZ+O37Y5Q_3Q=1U9)%ypIxJ+hVuoKU4-@;&hG%rx4f8fynywI-
zvLn5(s~rsQ7I^P}jmqgq8^T}fCi#jozO1oqD50{BPn)FdD-cnpIbN1pNL5|K<x#7i
z{5j(pn%ZIThGjDqKPbG;u9u1h>vL^i_*w*_w8h7|jlz}rpyOopkejmt<?F4R`MIRG
ztc+;iuN&0be7Sg~vq-22@#_k6=Va|@#$?)x3ha-w#KR;!<!g3Kw+>;4R;61;P|M)m
zJ^o=f0uZ<<*60(JR|)oZBeQ$>{0>zl*Y)W6#nGd8s2aIW%t+1kr4mE~URAPV-`)2{
zDz#SD8~VRTMP}j}u`WDgC4uW%2Wlz)eM2VQ*bITP=4hz=oTGNXj+fb0ud%506QZ^e
z;-k^Jw`R-WUwY;J!l0fERZOh}y_o^_cQ;c%yitnXQgu(;`!6k2w2oS-Ho4YlG={&U
z;(03VEmK8g0FFFtU-L|*1zu`iS?e<B@#nGMdF27zn%!P4hwSJ#VDIHLt*|eT>2J17
z at Acwf5x+f7dQA)*8C&>%XAU=UB*bYjw^&?eh}Ys4t(@}y5aSg6{_5tsCPnPnI at bcw
z6=r4gmzXSaxv#A{IHT)R!#}_T?IYjvY$LS!6$#Ikm-U$Yi+xe9l>3gVPi at W>40AYF
zO&hSj_4yS4er(f6@>HOY)x-I_4Hfp;clwvfyr$wK2+uEzEI%(-FdYm-Cog6_2WYc{
z3i>0TG~sO`BzBU<sx{)88WzvId4d<B1}dD|KxvP?<BwX8>lU$FLDBgC{9H3=_YHo2
zrwjF!PBU<Dd}^>MY)JmY9vwwXSoHMKZs2;^QAE!xaE5+SY6Gn1(TeSHoRYt6&%@g7
z4J~{w+dN1Y0Q%ENHh*f#Uz+5ZFFed2!GiN~id|T+r*$Kfu+*Ph5+J&FH^z)(nX!kt
zAJyG*Wwy>c**g3bRr-H=A=LI=eDFz at 7E-FvIIOE)eqO2?dOYa!sStSookej(`6AY)
z#|vt9)c-7aq)d#I0n44<f$riN(jOg6t%RntUc3CO=>_YsN^ohA{s{~fGbwq7W(UPr
zRTe*4+eX-ua}=AyoQ=bgH9#G?4L%D{@d_i<;rD`TT&a(R%n?fA5^ViYA%#}l;%B3`
zSblK;XCpfOw{+~})eI%2M>XJJdsqJ+&U9f3(FDFw;r5P{*#26_ye{b-OT$GVj;-UL
zE7dh+j`-B047Kfd2|ruia`@5E%EQkunEBu-Z>JyhcPWal?&Ry?`93co3DZZ#T9%hc
zx?SO5EIXvz)recXSRuOiE_U)7Rt6dM=Ap%`ISiA55Nz<8BsASvXzsbD9^RfE_idr<
zOt{94G}=sK^X86O=G$va5B#%hJ3N$IZiSehOheyE`buW+ at fAcqL&>bHo|c~Ti-c=!
z+SI07=3GKcGD4EO#}IxNzgQElW8wO_S&WG3KV8VJWX$SIbqN{{+8=&^rbEyqJ%$!e
zifSWIoYc6(t&3Xz4R|m#$GWvMG=M<4v%v!A{eaS$d7W?23cu{ohj_Q`8LoM$U?#c>
z^+4(~X0I7Q(tCPhctR?sK5dbN;PWSb%CFYG1D3QP`1p5`_O61tdEbIGR1KN5CQYiS
zHc}CXT=j`-wZC2B6IW$MM`do!CI=ULrnx~Dca%+5mc)hd{PVvorIZd*^Tn)deV{3m
zrYS?uWD(HHq*GjhU85C`0)ZOk<}~#yZY4wrz4SRP!;&ePvE&(nKY$l}q+-x4awfR+
zZMok5fIm}D0u{%@Onj>DU<#^w<&(0|l193)Ct_N1wzNaD7j`>M|Ax0KMz|b|WVYiF
zWB2lLHKnGC*}t7>HqYp;-MFaiXhICLLECEc586bopVA#<K`N4Vsm2LhTOHPoVvQTc
zdv`7^;40jNjs;Z|RR4O}#QF~@x!YJp-h6UtcfU!AZ5nmfkIy&Be(=JKXxY at LRiul?
z91U!p)2#$4dah{92a%9SvY<zThP1yVu>bOX*~EMKJ)UMh>vvat3xoa#y%KqawACo1
z9B!I56jxIvzgNxBnd$V|&84GwO5hfLl7zX{`%=jFyrYvX=;*L3A4N+C2t=Nq$J+g3
z_NJivkpH}wcTOEjyb&E`G;XY(YEIbp<yRh9fYx=dJSi791b9V(8f0;{%P{dr<(9M3
z^Cm46+J#*Ie?YZYA8h;-j(J^ksvMUdT2LxGM2i61rxDV+JhNBQ0v|mtTTHp#%rN!h
z>ZYEu%^{>MY7NE>eDle)|KKSJ&n$#Tw{D!|ru|SW|8tGJk6sHGgzm#mJZmdYV*Ev~
z#v#Eers~p~c`+~BSLs7f*6qi`+<DtK%E*OThUZB5aR6o}2OfuLW(`^r7=_DM=u$8U
z#F|ckZO$Ef4*h|;&0gNTMTM1fjw8a9HJIWwKg1qY3aYQr+a2dU^$nJYH}AS;jeSqC
zi*m=--GKp~l836fRhiaT?VtUBeL}(ivTDQeWy0khTe0b?QDvqCT_I3HYwv-3aP}2X
z5qj`T25T0Tsljl83r1uQRuLevNoBB~req%q2O(%zHK%duvII530wAUO0+V*)yD*AK
zChi{Gs9AT8o#+IqTXhFfYI;~bp9bPiCn?33Z&cbG-N4dnrb%i;Pgg^abUO#zAy>=U
zWdrK>xjzP*`1ii{L1!3PoZR<$?MS(|xJUgpY7#io{C at E_%>0%-?6iY+j|w*QT*yCs
zf~V>#-eKtzZgfH!(E4~Lf_`G$fhq0d0WQ}D0KS at 2QlEzJwH4dR11mOprdYMyDJ%#s
zxgoIqD7T9-w$m4*;`2S at JhyA!KRbtpP6WBy;a3Q<vc$eYw8y*IHG0;)IMdkeI;)DG
zmeavU>M75%1EKDTte)NfmAK#KUfYU at -b+Xq1@lWhHw<oEaoxmE05hCeiFlLx!cP-p
zJIPsx=KBlYbdX)tqh>_&>bU4RTuSc+8PWSt%yG at T^CUS=x2tncB#UI)IVo9swykG}
zXr(HTXA=YVt3I}~I?(hdcgh;n*Dd*VaUIq7T-e=Q8hvJDgYzRYYW1hxiq+o)8>4Ds
z{|kI)V))<SJ2U(L=+v at uGW@SrAvO*cj{k4??($!!7Vtv1LlIjX41zq!&@3V0PK*aX
z1SCA&&)~wYguF<q1n~!Xafgsd!ks+`3g&B!<Lt}-Y`5k1KeZ71-siPBz#Z`Fn-?D|
zDxEIA31bMYD$uXUL#W5c7*O3=n+O#UFCUN|AD<r)D~k~36z~%ox&Blrfq at A^_tFQ|
zC_#Z4I(pns!6J_b3|ZdJ1tb6hlu(Z;Arcdh&_6f!daf at 5rUXX_=@zUByzB`~1;w!(
z8X=2*a2y%3vHov<>+1 at wANT+)0G}86zeq41;SH4NAfW+=0A5UEDAzytkN`ZOPADk2
zsE03cXn03$)JaJ=C>MA4GjQ(CyT1u+NjV6>w+tz?0+5#=qMd>@Kz$Gp76EvL{$xj_
zMxf^#gE~L^olw>(+?ded1;CJ)U at -22=Iw(u1rk7B&H=TJ*aAz?Fu%fTpTZtcZ{BP`
zi1g=sCqHJtRA9lsauC9VP~zka+b9riz#2oi1wgXkta>Ssmqb8tZ6Bgw-0g((?*{A)
z)4(>7WM8+qa0&^l5CIFIKX`NCK_Q%lIv%<P at O@%nKUBedrk?GoG=mFBFybAE-<R_6
zVIe~EW4F*>&P^{4A>7-afI)1Cw#FaUkkl%aJ4)QsYZ%qEPiaA6k>3HE0*U~{Jz_&c
zK}DctETHFrbrAp5wMUnrANU}@fpch|o?JvZAnPYY1^o<G)Nk?Q8xXf(5CsYK^19bw
z_%CNsFc9Es14Pt*WGm2Ml<zVw>@clg%_4dN=trQ8yTTSokh|}X at 6Q=HT6$`*?SV)B
zr at dF$Wu_EG6{Vve=KDTlCMGC^0CofksQyO at C@`S=B7(pFzJT`p(-uI6ep&}!^L0$y
zSwZg3<=f7UKh($U{K5P0*Kl(J{8twR3RGdi9lpemOMQfV5T8JwerccgD1X^Qe=8q;
zk>CB<i}x at 0@3^P$xqtja2I3eX=lZ~!Ep!zvK+B2e*#dsqSAagonlBZoGpdgK#Zwgx
znvseR*en<y1He4r!G8a10fT2iE=$3N1+D)iP7{1x&{uKx?<>%Tz+SJlf#;5lz3MYI
z_YuCF1Hxgo())xJntgvd>UeO2>OW4H{fG>KFeAadk?#vnhUrPb?jQ>PSb{&l)tCS!
zV8jU&Dg&Kk`2w#(ku20%pMV1489Jz^>r*W7Qwi%NN;D7o!2<Q%^sV;Yz=e7V5Q!`$
zLyaFHc1<RX0!|j;Zh5YRJ));(=8j at I|Ar`BE7x_~uG}r5jpdl;X{K&tNi2Lku-UjQ
zh6i5lf7XXvYMbo~H7dcw2=`j6o<@+j0S>LR|D<fd2--9MO?vQ2{bJC|zIb6q!A*vY
zgh=KW7TpAAlV*RY%hF|wCAa~>1rFUC*GR%rU|igo>C#XXqp6-M_ajzr)PO0LtgOm=
zSW2X>rqH<VkTGW22|cTnw9)$g^07B_SC8tSuwIE{I!I!W;-aEQOS=vX!RNYslS$RW
zfOEqtv~RReKD=E(;|Ob at H{e#23&6zEH0Hi|!vz+NaRXhfhnfZ}KDA9vybK#%5cGS|
zb4<(E%k!vPCkeA-{rjB6GN7 at qhok`wX|mN+&fn`<^#0ai^!#zClC<T}Pq!YyO0Cp(
zc0Swh#~p4n8)TUBn7By$XJ%@=WTv&5qYMIiy?#UYMv16H at d#^2vqcJ-!1ln?!sW+&
zs}85M(S at FZ;&y!3nS*URLrR at zcV`$bC*>X}p>NoHn{~XO);oZx at 4taiJI9J*KV-&v
zqOUX at p$;3)qm&*C8%^Th$nFt-*jI;sTt at PCwI1H>-zXBT1|9cE``M>WT#nc0rAQFa
zZ|fErelSG-Yes(1<06v~D8OiMjA at e`i(2UG;71pb=d_fOZl&DrrFb*P59;@0Kc>%X
zCrTL9h@#`iC+pURK=M7y0R10PH$7RsS?Qu_1k05BBp54*AhQRHZnsIEw7UNc*vg)M
z78E at N1+v8#{KY^Rl8IAJXd;O-pT=J~KA=ODc`{xe-v(vdtj{DzVwDlb>~qOMOue;M
zj$a_-m(3ViCyT7%xRLEu)ZT#xbw&69e5!Ote1qG#k!T$yOC8gBdXBD{ie>fZ?`f=@
z;RLFcsGT2=s5?6wokCqawUaAk^o29a<C_))j_!mc9}51DJ8})CzsBktE2ObWC*Ks?
zui_=3VRp#Le>8(BYE_^FZONJ69p@&Q^jsgGt+&FXNeeBB^X_+S+GzFlm%Hfwe@&pF
z_g~4A#PDEGYU((-ch^vr8-}vw$6){=IavPKFLjxmrf4cw%T80o`<#pajm&I;L_g6$
zX$mK=kQtd#W53bz*su{9p4u<-ebQ(kMvV)+WPu2FMCT&l(i;I}z+8RFXiS+1Cu at X&
zKxkB3w038;UYVt>XGi#xUkv&WUa<)r2raWw{8%v#52_f|7m|CpnKR%VnKxJvxZzKD
zJHlNZ{|q<=FE`L_%Xdv=@c87wlbNHn+i+1oL>3~-+-q=Y+x+do>h};=K^6K*D`Fsf
zCVhi8(KmNMr at J=!B;CoF-JH4-p;Bte56rO2x=msoJpU&K4jkjccR at g6?dgdbhSI|*
z;^5T(iDu%v?exPK!a^+=Di!9l{T*nq6E09e&7|LfVu0PnFDX&i5aK80q;xPj-=&(U
z<>~KO-WES0j at W#JJl};}z**VTsPH!Mq$`4{XQXG9nv`I07PF83-^Al+myZ+I2y`g~
z#odvq6!*;ctwK(%a5W4i4ZqY9>hU<y&4%B{0up=e5Azx=5{S8~!C6<v*swUq#xd?a
zkBZ?x5TlI2!^8fB*=Dz*t_=)zS)<fu4%IHFJ7(~db>Hou`daa4&FdP at C#E7J-&+z9
zFVE*hh=$LnopyWryOU6n<+N+HMcOgF%+Kn<;%f1>4ZX&cfYG&HdTd^fq^YtF9C>oq
z2B#{q^I#qRf1k>jKk+yi at Q}ba62GiI at mj*xNN>|gM)Tu4MC6r3CQwi;Rq|?-TzD55
zE$fqA28Yysy;M%3TuX?=;bSGOgokDMfTZLlLg;c2)m;n}-BX<U`FzRGo9OMEGv80n
zJvK+hGdOnZKwf~GIkZq4w>HG92H771=qY~0Ju|sYOLr23GoA=lOER2A*D at p%B+S~~
zEqXotkMTD@$}THRbBAIo78=n$KXFpeop(cr>m}r)xCGB+xYRk>%}SS$g$*4m%73QR
zg{nuMF7j_ilgZu{{yKBhoBN+nY1Aq_OWJyE{4)Q15~uUCSko35(3bH0RGj!9ZV8>$
z_FBVD*P0B9`pH88pN$7lfa^%dtXtN*jx7XX4IR;PUTZaaQBF7lb&%h{>!}k04y}hz
zy0)fuXcB;ZaTNkKO!_!NW5O79E)0 at Q)09Aa-y>6J06Zrj*}S^QInUn(CcmPta$H_2
zJi(Zy0ukSFtlOJ+2bUVA at 7e8|n=J8)l0VQfSV#7|akf1$QafCOnDKw+v&#x;947`m
zO`;vlrlpo4_w?U^OM?<+pX*0;$rp^8kOXtJ0nUuFjd%KUu)SmRvf6#>G8ctaeoEyW
z1|tdX*vq4Mj4K{jrnzXm_HYDD!n(h4(=j!zYh`BDV}H$YJ~6|FT)fu_XwdRs!34mO
z((%p3Ypcy*ITjG43X<i8LnO9$&-x|u28G|3h-J9Tr?g2z;^BfJEz^%sUpBtXt8eX0
zRnVyGV|X-qipO4`eNirG<ej}Eh$_~XnE2sr>W4wPo}4VzzE^2MX^xiv_1GC)|0$R_
z4tOc=#izvSmclcVViUQ4yKJ(9Uas^!om)rs!)KrF>bJu#L(j>_6{NDu5ShWP^?PRK
zxXmXl97C-~1`tyJNuLT{_$Na<I0<X_^`BwI-udqlB&;!l-3e;x=VLIZ(;dR|yE!&1
zR0zq5+)A(Z0(^U^bwtQv#CyYY_Z?Dq8sR*!pB{_OzRAe8(oas~pm0n9t6cr-lu<Hy
zEXF4ziLBT?Se1iqNNlJty?HYYCyQji7K{1ffzuY%TUn<Z#N3N;ZyOAT0}a`wObn#h
z-hY-9cU=UoJDPSQJDRnODmX{!9chx{*c{S28G at -}S@%Cls$+>xu@)URQMmxbR?;=L
zzSrjXEg#djYN#@9(#3>|2B!Qa?vahfl}nIB$6$M689WBDrfsxIOBNc+uSnCi1ecj<
z at xHx#9KKr92J-O~{X at 5Hwfj%Evi&#tCqRCV-0nt#V2I>6`>yL^A2rJunYLlV?&AH$
zDr4rZwui{GI-NPP-v9*b3)tQl3(>b=KN>Z9c{aVVE)qs^=Et(nn#bSw11;A?^PDSB
z<H6Y_dvKIS7$@+ngEnkJ_zXTIY`u^Tt7PwKMYm}lRlMX|+NA8Pxm(`zsP;1#qC{a_
z;f_u<z{SXe6%R(TNMo=gtl{sB9s(7w$)vNxTgu-w^trzHk2va%YKKZwCDZSR9pUhS
zRqlOfnQe!%co)-RT4~B*8JbkHMDq%?{``8cPrS32GD`L at YjEO@PgmO9S=Sy^BvZvG
z`=CYC?9g$Ck&>%9x3ZKyYYw_MER|Y_9=1Qd!OI<EB)QsNJ%(aZ$~GS;e0%)}q~?bF
z7d!tV)@wXxUnWq=)*R68ST8;HwZmRHl3a;TkKHD0R7w>LLYDiF(R-p4VRX0%w4?UH
z+Y-pR{al}z;*uE7iK+36)~?E>3(_-udFR@=(TZ6HlU5;sPFVeP3$GOp$VRhmls-oT
z-dH=j$OrZH%B1HBPXv|9dtY)XdzoQbyU*Idn;1IA+v_r$he}!y+}<$X8hp)?jd3t{
zS28G<FzFy?diTC?MH>?)MBf^xK*Y`OJ at b%o)LOz6_N3bHcH2kvoC{r%-5fa<LuMt_
zp;_9dczHOa$^l9*d<D#X&)p``VmRw3(5^6f5&QU%m~$i0BX?M9bl|yBG#%?lXiCOj
z!BnAS#Ae76G>5qiomI}=a!^+mw(fCQdoET9DJJAfbn!`U>+<8Jv&<M(+YD+pD9JVz
z8w_-oaF%)%fQ$!qR<i}9+I0p5hiLLQH>sM<cT{8^y@}<g&Z%`R+n>eOD(@0jsv1H+
ziG69%Du+so;-LK46!4bwHfg{Tv-%c2zKwCvJvARN?b|fdBhEpY$JAmyTUVzeo2_DU
z?bLX777<cXmPEELFMzSog1isog+jDa^EDD`62))k6(oe*1zda89U1O|&qsk at Tjwhf
zgT5{^UK3XU|FblT!-q)A8lC;#S0M$t^yCOqNG3mic9Jhn`Bpvwsztg=e-EJX6{7kg
ziJ`pK>dVPm$5e>9kG`@$O$<q3$TI8Qt;ed2Qvcz5ocm#pdm1pR9)_-Nk~&$G3Z5l*
z0WMV2vCm#?$kb)CqmSS7o at m}`Jl!bpZF<Vse>3^3%El?@Szwhyn43o2dxE)2j@`O3
zNN3L at M<$ehnSyraRgz9>zOL92AAF<N8M}M&$j7m#{gk(J2;Fw3wn)M~Osn6`gh|yM
z$+Liqs(f6=`4p2z<4SkhpR3Q|B|;w&&OJJ8xEDkH_{_A}jb6z7V(V`>4|c9TKyfw4
zFR$d;7}_&uCSR_H(tV7leT4c2egtnUac}-BTS%_(x at jR+0b4ry7-K1$-#IyE9XK;l
z!)qv=2h-%uT~Op+ERNkz8HTbYB-~Y?3#t7o;>G)%mAdKXY*kv_?Dv>gM;@m at Q=(o|
zp`o3zKTj`@o41Q&$oR8py@&L7LYR0U;8&_6Udc3ATs%wqN|H9(dg`$#%Xju?Bkn)8
z$!uY?8(u}NR!4wdSV8Mp692~!oiLiYZm4RwPZ?o68PP4WLb81kcO1!%f<Et_m0T6<
zXFIKDE4Sm6b!n;b*-y#jc$nX-G<eQdHGKD2)0frxY3?zTZWi+vf-!#z!~P&9aDpO8
z3L;%&4#`F#F`qgy-p=jTxkwLWz3Il1zE~){E%#q{N1)O&ccMU?56&LPbHfERwr}1f
zQ!M~PZB}Injf^`H at 07S0Ng2t+Iu^6vQeJCw)?;x4(hC}`-pR3u-J#$eZm6jcTdX6Y
zt!umICVUeAAYES#1tpJN+}Q%3uF+^rDjcg4>e3e5w7Y9;b_#Ra<oJ6A3(IUxg^h~a
znP6g9sL!d2;;9JRNWCMYP*INe5mln>)^1W+Jfy<`LisLA*;bngGMK1rZ-C5fmV$L=
z|2$(%g-|Rgw^<3AQIDzA+3i`F1KsK$>G3-%&s(g7iH!5I{O;pc=yVPyiyk^wp}SwR
zWUpl<^5;cnff)Q&AeDbXzIyw;!y=!wmj<Zvnul|@=O52hIaj8B17n32sfsMZSsz)q
z?WYg3GfVSGvLs9ET=Jx|&jV{zMYiJX8_@#b*0_|2G&WI(qt1QRO-Q_L3ZZA%gMzP8
z%Ts9jn0f92Rg_Z>TqRp-0+w?XgOpptaQ-Qyu>b-W_F43`YR4uhxzh376y%%4Put;q
z-toc*%}Uut#7=R~bMZyk{jwstH-~?ym|`=mzKLDfU2;Gq_n^BPZqm)5uopK1Nq#CG
zPHaWEpmP8?xGW5wVEm4b1cs&he{rP8V~u+GGx_{sVbgMVZrMM_7h~lLxLjln_NE7e
z=uX62A6c>j&yJm;O2qv7Ra5OsD?eo&+%N1<bPj%+rv+&z4 at OyDz)Anv$Fro`(tSy)
zcl91BxSDUEP!%pk$F_F;u%54FUYO20b$52PK9TS=drIoCyG;BLYwe#53&iU=&5TtG
zOgTAP0kAI?*n4 at srAZnpHJ;76Qg+%TlF<?0<=#F{8GiG0sX4>Pq6 at l8(~oW^f$n^|
zLqxeIExyV`Ou2j*V+REOE{5pcB+?`|9JDmjfw$$;wyVxdW;ctG!(g1lSZ9^-zO)$?
z$cgASOVZ1eE>v^VY6O0tDrGG^|AoT(z34&w)4GT#dpWV2^OhHfR`&V6_$>M#R}(%{
zo_%xvO&&1Jnj-7-dRSSqRb?Gm#i#L`H7WjeYdzmF;1h3>=SgI+k<+qhr}Jm|M^Usp
ze&8Bb6*))Chs(Wm%6Xp at LZFFsNS4};Y3VI5u_MpHEy at iNkC;j8d<-1IOpBZIDV4*9
ztZlm+y(i9pyqqmL at p<vShU%Q7OCXOUrodAk=Tqvw(b%}1|3C)NgEXvrLgA{n2%xLF
zJ!P7^T>2V?XZyEv#*o&sI>l3C;5&zEOhxrztCKD{38wCpd$KCAS2YxE2`@#avMt`3
zD^zg|l`*o4n^9XiP0myt^44Vg$M(GXRmS%sbF!u`l}EqwC6Clg<$UU!#%xT=`_x5Z
zdi)#h?pe)z1g0mKEIv%(9-OY!FEq&L(MnBOX=>M1QHdnI at A5i+w%cI||C4q1;hTBU
zlq}q5h)Q?765-(^G!kn=;c@`M_T}!7A`R>AN^eL>Me<a0sR5cvH&v0mepjg8tW(-N
zW}TZp@#L1A4LHgZTW`}~PxK!pex~1T!a!VTbM{I)f2Sd{df at aAo?m|O)yRq{ADB$|
zGgr6GUOr|bnuF$$0}{^D%!}<MD(3N1$WhO{H#yb1K%{Q>DfxT}xy(yx`FZP5+w{Hm
zS45Uq8tyIAKRehn3%7?jEm@}Qn8MoD1>2fCt3hiq2#_RPGpz5!=~i)RxBuP+bSR((
zf1m7MLo-A{%b60GtaBwtn-23<R{m at qNTMc5uC)pS{erF}%hrbP1+=QFYPsRe>{`#A
z2S;ijo5=6bQrKF`Uj>}Vfhdp`IF&wi at yV?#c71;nxXMS))aR$x6W`)G!fnE`NFD}~
z<6;*%Drdg-#!K-aD2-VD)dItZ;;BgdIaUrW8Sg0|M`_6|X>w#ilc6f$^rY#bQa+pK
zyX-kQbclC)!*rno(ZFj35EQjVgxAJCC~OZ~hFhXiTbP6SlnzZ3dU+=Jpbmjs-=?hB
zj=<z8BkmkkPM2sIB`eSyIt;^Dvr=MDvJN3vsKUTN*u}pd_LztC(g2gK2pyuFs3&Ta
z22prUP+FP(KrFmd at hV->C+iQbM9i6 at 0OB`GQ97o4NZWUwcd7nxK8&1sx45H=)$MjF
z)Up}n^?CMrvP(-<Su7!8-&2x!r=^=46npGU7dCd40E$IeUd0&jg0n8Qd^EtV)5RMs
znja%E1g9L2?gZ`^GChGnlD<typ^!xEe3W!`c_I7GBDd|f8nMFU=+9a(wBwpy9MKi;
z%rP)5*du4n7_a8VYY6;qQk#-kai<6?)y_8+AF#coQ~m2j7*g7z2yXq&@DvA1Oa95~
z@!(8nyaknvd7wYOgH!Sn_@=MrG=qOb6K2kTQ;**8dHn at -y7=r+L&-)fwLVRHM{I~2
z_1Ia04l=@{iMzQn&iTGM2ZdSHNC7l(Fef74k`n%Nz?^GZl~~MTe=iTGIe4p)o0GC&
zTp8<fvxoNGQ*=%qu}sC^ns__~M^!_U^<l3r@>b<BAg-*GFm>!#A3^4b<anlHf%=&s
zwK!dvZC-n~Lusmsa&Xt`zi*d(d*%e{FiqFyPwBk4e34reoayfgP?R3xwAOVb8cqF8
zx%)U7h+R5*=ctoIKB3wQ@`>a<QA?#VBK!AV$HmXA&CCwxXxU+nX~EDawP7 at l#zpQb
zP^LE`;sIvt)MKR4OwIP+W!yaxBku(fWJgU(ha3!l%qAJ$siYL&Y&C}`5!LUsLx#<4
zl8M6R8amIjKe@}w7WS#Y^3;vm#bBV#lsBW2+Lg#v*CBwzEQhPj!xEB at 6i*&=_}9}R
z=XS7zzig}rX}_(NY)Ku)t_S<#HQOt037Rfv$CHQGybjyDKAbgs>+G!7qA_9BgLtM%
zmDy7F2)_w6?v2~uv=yoQw(3P@%hjiC!uiCVnzzmQeD*A=L{f5IRS~ZzA#+hIu&8eD
zz+H;_08_r<gT6y_PmShL`=rFShG6%&`~hYd$=+;5VW&d*OtB?<((~vUmSXO4B05i|
zE7w!{#K~ux;2Wszn(comnw#Zdm(L_M^d^_6SnYn?St*rVO^P*7nu;PM3(mr9-T6UO
zkpX#4I-~DhN$8hMWG%*PrK#SY#yc?Mswc~^h$6tm!hmM7*R8&}{mrc3u0z<0zh5w9
zrh~!EVwp5!{m381BzgS5aWkg>jhnGD{ts@(&dTxsPXDvC%E8LP^#9GxJX}?lb=TO4
zVndn>zAO+;41h|yx}>czAux>~G76OiP!Utmp at A(^Qj$`{v^tfQC@*{#KK*vj{PF<W
zSD&lZtj at JPbv<*tXF8u>j5acxUI?Z(39AgEBp}}j`RVeg2}|?p2WOyfZ(ttpZ~Y-Q
zHXjbnDA)RKLTthrI52S{5kJ91XAr>!_BIcQPk$6aBY{+Qa)JDS1AY at JevK9R_<*Lz
z$RFtcF3O at NgnRVc0{zhwK#L40gxWYxpxd=`;P!r+;rrDB$x)yS&=)yooXd9*7{xk;
z2p2*OfB>^aaPHkef^h_SN>Jc{yZI)d<QTbGu)t769A8>W#yE^Q6z$xQbh-!1b7<x*
zfE6Ct<}qOF2c!YZMlfFkRz09MfPB3<F6qPZ7twE^9fN_{A;>vU!vuCh+KFup?D}VJ
z1M;G{3Qj<TzeLr3qx(U>d^v#l>3 at GqKe<2L|8gA4Gl0Q}a&-wH?mC3v8Nj*+0c%BF
zc3aT1AOH!je~}60D2!)&L_mVwf;IFKeNp0pP)wc!C1k_ at -Xegz26q)Gc2l%30q_O;
zmbP)5KnBI&FRtN)3lu~8u9CyM1`62EZvT9II^iKn$cF&>5@>M^jX%5o;J9NX0E66K
z!Ye2KW;+}I{c4+m4}%DKdwUBR7zCO|3-A=Y5$t21e{~D|c6|6{+k4svTm`uR+t_ag
zybswLvh#=ZQba()33PP~efj=gyvd7<&mpY$7h3dVn?Z^r{&0WBVwrtn^mh2Ow`1Ie
z0L1>Aq}>C|{nk#~qnZVaaCrV^|C~h$!bp*kO+sw at w|(`=X=)Z@?0+f<KzTr+AA-KU
z4+QleWrzOypDu*;|JEK6G*CfllMp_rcd(y5)g|%%tOA|wfewOynbXN0$2u7To%My<
zjgk*T_Pihd{-%BAC;Vnl`kTM|!+iHqE4jEkeH@*AMc?_q5zRV~1NyMoCtbz&WC9@`
z%+L{kWm$v1Sv#>AaN4^b{k>J^6S6H61lM;cK8X4V>GSvX-8iI>Zo!)t!ioxC{3}lB
zy9NNB&OyWmn-ZvBudvQ2{}-S2W)lT-?RNhy$Fclz9I!Jx=YLfd5J+U}3;#p&1QpQU
zA=nLVfBOLe4cz<1u51bV_(5z2G#oAP&t51X8~+<vyBOyH5RHZeA+Xvf>yP*wyDU)e
zFTeoQ_zj5)Ch+nbz}_JD8^*o~O7sJ4uSE0<Y;Uyl155x+_{3iT1@!O*`dh?Z-j%&I
zQ~sNHAba&Y=)a4GISmUznu9AWG$MpIDSRa_WqQs_;0J(&-Mw9p=jdnGQY?7XSb|PN
z;r}MR<8u-!^)z99a5<Po=lJd1T*%0pTQJ(C=Tu7ZdQj$#t9fRM-`mHFY@$u+<n~al
zshC)n0x~of?@=z=I`JgrofaKB>U{NOaTS)#=_!4CEBc1V7hgfpGphb6m*CMdGz2!P
zo`=X>4l~+d$~;IELsMJsb@`oZ_m09To4DaMC at hJq5W<&vGh+HaJ+;MX30{_+V85b`
zzpd2#12SYoO$*a}R>v8Pa4DScq*dhgT&yv?sG<h(n)<5#PsQcNDuo-Pek-~D1YM6A
zK!-Tq{n&V_(TM0hPm=%3X~ZPRKPD~^QB+ at 2E)gjtlo(KM8zkU(E^fgI;C5o=e{Q at j
z)PVI>5!!Tcf|r+v5lwB~rQdV>A)*kJH;K?@$q{co*mWwfgA(&X%^PY at KC!t2>YOI*
z>P=P2jEIe7F#>%3pi9>qvIXxI1>We9B6*OhDgijl^FUR$T*=X!Lls+P*EX!2(*kji
zepeREmQgG#p8na!)RXe`zzJO!&R&E3_cKn~CnH}x+q6yXd7Gd|zm4KXdMr<Y!Gg&r
z!wjuf2=kCVH}o$-&=$P at Djo9^4|^Yc4dR%W;FYuD3#eai(s at d&b&AXPb)KMRovjR*
zV&bnrsdWl?%30=9IM^Nr8gIN7h}&t&UzO*qN!Tqa9(c_oYWRJ$>1yv2EqdstU8Y{<
zoaM;G&A|-aF-YTU3|~YKmGivV%)KT16aTVp-hE$B-qFSH_$dI2D13HrTUx`DrNr^k
z#)H=02Ei?rRxgf*yY|HogX6Q>KzwRhCh at dY4B!GFliNcr13^eNVU~r4fW7AK%2evl
z*I$Zit&H3qEiL959ygbg+~RM%ynb{GT9jU1PJ5%Ro*ZEW;(bI7+R(+>eS<hUHk!K^
zQttzL$CBi`n!+8C^@Jgb0*~i}QXFKlISZie9cdxNRc-s#$nmZXDt#gEg2WlrE;X^&
zIZ9lp<sw?)-Tp4TpoIsEw4k9wsI8gWND at 8wU=$wFAC;YfwAl2IF*w?4$nv85z5fJx
zeY9A+>7fK`(15c5jJGop^Q(d$F+((zRmf867?h1LFnOkCW~VA!qzuQi>%Dq#Z(0dm
zNFt at K^@9b6K}GdcJ~Gx&<NSa|-dBRQwokbizwtEyRKZbA*ISGAxy?lUjdk9hXCP2R
zR88{iUaM{_8QRavnbo(id2(#|;28~uv4kj(YlV2{er#t?dtd}xYZNVcJI8r0mT}7*
zm4T)`B20Vw6cgf%C4y8ri!l(3T{RSRJiT*ycQ2iW{01;fNQQJ8rd!3Zmlo28c})6r
z$^CS(Y~SAQbB(;yV!+TpOnANn10!Tu?rB{)r$5~+iSu1u>A at RIzgY`@)M!5=88_19
zlT%@&rUhPvq1Yc8>tK-3r&%~+gZ-xsxUVj{QrZ4(<;se)fd_|0pN^=417sga-3g9+
zV$iPT2QC}hkXwq at 8oaZ6AO?i3=}6on8P*z)4JP^5jc;hG<$IcrZ*0?`kE1ONO{f#z
zy_oytmJ;uIfNuVr3^Lz7#E|;>ec~5gE)WwfSWxy5GO?pOJQG2jGJ`x=-0Gk5<81YL
zDfmNC`*ZfOF1(yfDh%eV2ZV at m6twx9GDab1?D8Y|%*LRQG?TdjFkF>uGKPj5t;W$_
zCq!tOVkw<!7~-e6)7FG?K>RHpcb+3cb4!y8&v(trnHHw8%-K$`juJqr0ar_yFdddz
zb`$pGY<ASgGh~^3v>^As5AL)XSe$d_usz1G#W2#Pa|)uEh7|7#S}qOyzC;i_tYOK?
ziLmMxa%y>ov)Pxlza6t|Hy8M5an!otpP6&H>u0Z6mq83jGIU#j?*ms^`dpn<&PHQW
z;`)B`aFR&bw-aS1El at ef!u`JmB-y05aOrQ7c)oMmD$K-8(HTHTj~zT-zdoRi|J>-y
z`57da{gbK%!HO9z?LM2}*E|*{+<w1 at m`D8jpbJ*O2$K%>%Kj`}ND$J32iAoE^H#>T
z?OnmJ38G65v4u4bzsVEs9B)+ep|MWh`_yeOsg(y!LOfTNCDIF$sd?bK=?JCh!?KIa
zNCn?W?qv>lQL-|SE_;FgH7&BMdC8b>ewI&=;?5sD^d#Bo$5Fe$I2{zxB-p*ERi(tW
zAn at 5_Zv0&iV_aC<H?EZsD`869IA+#u=&jrZjM0=STwc(3Wo_;zG$~H2)AZjyOdVww
z#FcxOZQ{&@f!c*^O9Y57Ens3tCh8&4WPw%eciiAjTZD<53sHCP6u=ksru%Q;VNw*r
z7c^X0mO at p;TRKjp3izZBrk-sR$7v=e*uZaNI>93h<~&U-qjq`-I-J?DF;2AU^YH!`
z?s=4lQ<~Io4fF)yn=&;zUNri)<e}xcP>e%)hG0yccMGQ~T}15_6+9}$-MbM`Db{!$
zYyDh|eM>bV3?O%cu<WRqvn9!pEqyO&|8>QtcbRnjL=gxpVnd4_$#`p`-Bxe3X4X(4
zEfaIOCZh7 at 9$<!}3a7JV3im{PL9l`iP{SwASzL8>`uHZ6Uc6Rv0v+=qzRN)Ve5GhM
zrfcgd<ggAb>DA5qSQSbAJgEUKkB?Z68!0mcL^H`XAY|@0X69!@_8^eUf#CZWTe6dL
z`)sydyfDV=k{jj#B#kE%V!}K-Z_4j0RZ`R6za>0wBp)v61_d5$&Ma5qw$`$wXA8}I
zD=<3~j`{Q^w-EiFwY&3qs=N*o>dl=e38HJ+;xv!{;cIP3ZkG&Dx8|PwU5=+#SAc=#
z at s|UYR&-P^fD at FWT--wX154^J7>PRC{UI`l>cUWNa=3~;&6U;xbKU(}(!03rC$vF`
zYfj&J;(#ERK=q3^d8f0U82D<kbzv?ETalkk!08F+C<tDDZgN_KDb7T$v89t^faJ)d
z!{#J(Zn8?|&WO}Z_`zp*Z%P%uH)N<%|H at p+NF=lF6z`+QLmcy^L*!FXr(-}BNkYyZ
zO>|HkOD|0UJn+^*IDS-gTm>n^)^Dpb4VzA7$Dn54KR7Fptj(UDQK at mWRfqvwxj#8$
zzkAyKRrWT8iCbTtj_YG>jcN9t?aqQd{|~M%Z<BS--KCn^i5t?sa|AX<F&%@aK%^*k
z<$TArVFioXVRXDT$os*0(^MRcv2QQxcEycM+PVoLoU=xUmG|9(_P<E at t%`D6KW#I7
zeyse>?Vubvz{&Rs!TNyhyV`_v4+`Iw>NWqbNZWb_G!D1Y8{nx$)`yJ09!iawP(Aad
zV#c4n!^pc+BTlPm)Z&mrLM_Cbsv)>f>ui1^8mI3sFRschzun*qCKmiIc at m2pGTc^K
zi9La#zKK}2Hw!k at wR@M at YHN2GCtb#<)*fU&#O*2<HFwD4XP4e8nx<87#kU#JAiq;5
zsNT~PSDH0FKJ;ICXWF*ayyR~KjiiJ(IXN`ZJ8I4`VpEdS_d1G3ebJrACEr1E2qAeZ
z+Hgs>$X+-{TikvJ(wsiJJl{X)J-yWj1d)H6YDYV1^QoOAkM at czo^idaFNpUTU243*
z6HB;J7OS0}22YaNb>u78#K+Ol)eFs!I{p7}2Z-zJtx77h`k?k?<kCcn=tDIGzrM6K
zmS0uL#zJV+{pXDoX at R`-&Yo$_{^WIzzZB@>DaNxR`KZI7SwSfta*BiH)n at Hm*$?}m
zo?XX`K3E&|iCuq*xz^daF#m*G7!PkX1G5WkY{h!1t^q(+Ix3eG2k4$f+1O6F1{DcU
z^lBVz8<B}rD_17R5ep(2;^rw at i@Xug;A1M9j0jIYIxFdi5Ldm-5~BkWNrscTZ2$8u
z at -+-m%$5talk at R%+ckH2<v#?SKXAD;C01<TF5M8qZ>dqP!OV3!Jb6 at VrCpqJe!L~%
znL|+ri|2qJC0S1#|B0W=UUJJHA1I~3?OxeNX7eizv5A?Dsa%X=AU4Bz4TL4!eFyq?
zHJZ=gckSk=C`Cm3nv*>Kx8{Sb)9PMpEr_0-rcwTnulbmJbL6sI>tT+k3m?EkeD@{9
z(ok=Zo~c#9JO|NR^T~)lt|@X~Qp8%I7ugea@~BtX;9-qp?62)#?l9ANI@?gNTg;2P
zqP4VB2+aTPS1-w%4bv#n72vKO8yzk(f&0l;K6_Rjzq^yH%N<XGsCk(~KQ|m6?`FaA
zhW3Xu^GkLDY16;C{U$qCY(Ks1^Bwg{2`@RuBDZuXXHi&g)GxOsI7OLaNn1q8Lt0D&
zvqN%n&pAm}NoySqKd<6dwJKU;R9K3NiIUH_*ACUXgKcykiS*#ukeB at qA4R%-tFF6h
zrFtM~#{E^>FO-D4>%S>!eAP=s%E*OG!{A-4Z2>Z?u{+*Zno$QD>-27a8prR##e)$q
zY?(o|o%m+Z{hx`J0Fr2#CWU&gO1kRZ48{A1o+hEbZx8bEG at Y8>ARN_nN<cEO*iFmP
z at qg|Q7$^S?C>tBNUpgwvU?>;PCCFIW)p{I#@pzZBX*0Pi at kfcPa2}LLn!lY~beM(S
zZMs_LORD at iZ34XY7oa%2qhoolF`-g#F1PqXYI3PHVl^6;$njuX<8u<wkbg05Dded%
zi-S1k-^A9$(uMWuS3h>JLhv=(jE@$gbS&sxjm3S92q^FKE6pUm1NenGUfyVAjBYr`
z0o6)$W0*PEEQ`h>JJZLM$xp$%4OQ8~`ocO|_7of}mF)wH+Usex<!VZm7T;@Q<~{xH
zzHkl+*yT=+HIg+G*R982Jrt|Oi4(UG_mTOgmtI+Ip<1Y<r|pB>85*OZjD~(YD87!w
zZl=)fX;~x2TpFyX;mrTsnID%P9F&eqXW&fevi>>R442Sa_WEVf?vm=Tz at aUTXIx=C
z2<jVJasWuw2DxjoRrF)zQ!?#62Xp(X+bUm=P4Q`koLMWwnQ%#sQ&ssu);%d8rjnSZ
z9%Ykt;S|_TVjk$SAAovoJ#st?PVkIQ&7(7nh3Yy)Q6c(vfUnvPo>yIJCVe+!S1Wyy
z)flA|d3>C_e{sTgDu$i!buU6;>N^d>MN!<2Ebu|5{z`cSD(!1N+AU<46zMnutm<g9
z0T>@EbIhDQbc%KXrNT2|Ge%F)V>GDl+kkh93dau*U#C4XnX4%e2cx2pl*0!Q<;h`V
zp`9vRxafe;ChG2+59f at yxR0Y6yr_vzU(J3~Y~m#!hHw@#x9WS5j^{DY0=TWwcx=HZ
zX+es23`*nB{ShUE<M?B>GRPsUZ#+fq&hh8F&%rW9QVc4SJLS8ww2Geh2lJtWco0;g
zh7W5Q&2}bz9n~)TRGFGP!nli~t3C6dV(KSt?F)^6Tr5_qg=}Ovemn+<^LO|253q5!
z at Z#w!e5)~oknSgOG$(k^alqNuIg|o at MCj1gqJF!(?w at FH8&Te%mQgl^BO?kA7<Y!Y
zco|WVG~QJO{%mCz&a&Ay3u~mI#t(yWs!pSS;%PL at u0&ok<Mmj{e4NQHGG7g$;sVhF
zEw#gvRI->~<{_VFZ?0PId3DHb&yvcHRonlw-O(*V;RE{7AqE)#lUL)PsxP?F&!kMU
zWW^$~8bf8A#31rxZ{gicXu2{2lkofP$|?R>cCefK`b3H})*4gA9EONH!rxDAZL4iO
zEDFga4{L7_qC>Jw4NklIKVj<zcMWOJqo~YJvm}7L!o5nxmvx=tv`b#ox-&@AnBQP<
zu1kC-MpSpwX;#~C9x#R;rMJIbr#4%+(DMF#hp|&vA|^`ZYZjR;f9Aab<Gd^3`WT-y
zaaWkJEm=0e#|G+v=rP+wNW+r at 6(v$B$WjBUhc(j|ZPY}^!R1QO2uV0C$ZeTuo0Ix|
z-OELfohr<_x#H?Rl}BjB4K0(R?~?2e&BaT2NNOXQc4!@$H6FANT5y808bfd2K4+$O
zEfxg{oYN6nbUp8<ITs?km1uh!gh`1Du*x#Y<(jT5tW(?pAy*LHOb;ohUjB&QK5+~H
z#8Wk-2Np*4mx2sRdqie~Tc05h#Kt?N<hYk9xY^uI-GT3v`oImyrgqzK<la(CemMLd
zA*ZUQ=NT!Tv^=1TYgaV<9irpgAJN+K#r;zs{M-_y5oF38F;a60D!HWzIG=;tR~Jfq
zBS19m6=I#BHYoP<T3yVzYg|)_<Pe-0J|9(>ti8;t->F(*?YV>ifC+13(bLUFoqNjS
zWfii59-n5-NIxqs3$8-m`sT!pz`M$CKJv)OVs&&F!ni&P$9;9nc^t`NhrWkZLOiK+
z#zR+-HrOMG8<lJm_wkakKKUlYKs-=Gw0(C^YS2?r#Df0QqHJ)m(9Jk%;OeBlxJAXG
zV=`Q$#ym*kup^k1cI9j5=(;GXs)eGhIMLAa+F_wy?%*@7Mcts{todW2t<`hZ#YuJ*
zO2ul9U5MHQjm<#?XJhA5wg$SqFU{)0H6j+QohnM8OGC~nx?rB9bIy1omhCckW7P*Q
zl2`UP(f;guOLokC%2k*`^^psB0+LuNR3xg7>>|x~<e0-ij!MDUJRpbM_3*u at y20e7
zga-VqSRblWTd})SYHH1w$*}%mP$6da<@%39;{q?g5Nks*Q+E(i!CNay>)Mt4nM|3A
z=0fgpTO`Ye34F5nuv8p57x9;5bzM5R9lKdz|5BY^L3=w5#e=yW-atGI^4VYI_X?LS
za(Lib;LVrexI?)xbw<{!7`LDp;gcY_0{WZL&h_nJKdRQ%!rsi6?_ros`k<Lmp*%tl
zrLT|~K>E1p-Td-YoDsGgGygo?EF)gU?X_HEG<~MG!L#J0(Fd!ZR-Btg2yUW|h3>}>
zJ>9b+_&a4|TBbd>`}5NWV}kpF*6IORsG0r!6RAM*8RVH at d2Qj#(2LpVcoCILVv3Gk
zXlu=1+1-UL{2(m7 at i`GW&eBLv8P6;F at He;~%61rVJ$G`vb-z`(%r6`J4Mpb8n3FyE
z$Si4{DX>hAe<e7~9-<(jFY>%2+O9xw|H2h`uLb(5jt%@77{wyH0#B;+Ec~>u#JSMf
z=y*=(`-b@<>~6<7smYgARbj^0e8>OUJH~a9VeRvbVI{uWW>Xb;OIb69G$i3m&`JK|
z>8 at CZvdvyhDNEYQ#Tg1>wktRcb4wSlLbjOFH~5p1v5S=EiAqpsR%s}oe_riSeQcD&
zm*m)-V at Rpy?mqI3{|Cx;Vpl{(U(co$Hzy^LEYoX8A{*J=RQp`g-j?pd+|_sBuC+}Y
zsio9Khm at Z+>9p&RIYUsF{`SEtMbCv at A;Js_x~2W<p)t^r?7^ZUX;LuxZGO^g;$-)^
z20lC at ffu-F#Y{I#`z#4k9R`bJb<RezbEe&==922!wt`{H95g=9iEBq{%sY(_F%CYl
zWRp`m<vVYt(+eJ8obrX$yZY+)mkE5TFpZS_H5=hVTJ#8GK%0L1#%Eaa*enXa$2%tX
zL-hWr8muD1^8-8Hzb_tx|Jd>8xyt!V)2pRA3{FR<2 at XE$TTpTt{1NMegpC}f%yzn#
zjZ`a~2V_gnMdwNuwNTf;=hLbnBi)AvVIkZrcCoHy%m3%8iO|%S-zgCzn5ahubOzmN
zxJZVyx}{bxN`Mvl#FUGty+jM`|1fq=L7D(-lWyC#yQgjAYumPM+qP{_Thq2}P20Au
zowFP9$BFoFwyvro-l+SmdNMO^O>HE(*?=HTJ>;u+rPBa#O|`Eq^A`cCJ7d^94qm^Y
zW!*|@=oHmUQSr4{&ijToMv^$Yu(Y6)L)W>v3-CRe`9ZnIcoq6}9=PKd8JK5ZZ at DoD
z)YETto3{<4pdA&Ms_}-$mE`WWJABZ-dopN)UOSXE@;jY9WoxcsqZnljEqx3{m-L;L
z!gVXepqjm@<cl^}=bbe_ET52b;EE3uYx2_6?#p3G?TZCgMWRMAQNkg{`~^h_TgGL|
z4c~r?k~sHxCt&2ju$r$hRwfxHU2=&+hECpxgGxKYrQMO?RBIAo8|60fG|aN3kYz=s
z9in~L^Fm3ocLqo%;B##-+G}+O+vy!KTvV-D?Qz!U?r|UI_kUS4Zx&KE+9ns}PzDda
z+5%2$r53mYt`ok;DShiWvMToglySRw3u=e8ESz`AB=U9bR{FROeR at W^p9pJGrIvdI
za!iE+tSw;HPP{1`uXG>g%lA#LvVg7{THVUy&k<O{38uGlX<?J#&QV=|;n)Li-`cuS
z3aaRB&@AwgO5fuY>vJ?Ut7hKTLYR1KqqUbg7hM<JZ$BB&IxP-o23x_af=GX(viWec
zvkbC0kJz+9e35x%jv!$4w){rdw<Wq+nD*ImIO;)N<s{cJP~}$iw-*%=*wub&mmJx4
zbQ&2uoZP*$8I1t9CX;*KR0Gvkg-$c8&o2(hG8SEQ0!;}t_Owhfrn{-a4J7Mn-n{k_
z?3b(F;!CoWjVYk)jelvXmuqv$hrIo*`hfIM+HVA27`jv62hneu>#AsHUtSM|nd)8J
zH-UGloT#C48qX?cetBP0r;`~Rl0X_27g at x%TY_Fb$g>%El_m-MJ|wb7Qkr0y{m$Yi
zmQVf$`M at ktuH=s?!o0w!R4Vs-v$8^;u9nu$vuYR+W<{GuFL=u%?Y&XSke)j=qDoWe
z5L6GH&6d7&SnRv?izyO_*-xsaEVc+fjqp9wtt-MqtlMN{`6qffX&$VY9TGQ#WC?h|
zh|T;suPS+|pvAKDk#gvKOF-g&ktOF3(13LC^l)(bNybacuhLtZ52>3jr(X*A+t)ld
z*@nqaJ{<dm?W$R7<Vj1ETPv>~Ko)9zv$$3b1lhj%)MZ^85YN=Bz3<iX)0ETf#WOTx
z7{(c-%tM!tToKyLEt}0erQrc#Q$vquu<&yziCE>?TEac?<<jY1D_Oaue$?ISY$cl1
z7(&ih&J`(q!!%2a?0GjE(gE}CS_8<+J%ISpQKuW2_HAyNDM1f=Uf=o?N>Bcqu9f at u
z6ES+JX|*aU24Oz){E)T1FHtMsvyaVJjk+=miDWZ%<5$Nt2i>^>8k#}Dk1^5o_ at w7|
zxa)C`6d%>muew_IL>aM5kB9M*Z`t_8RInnxeRPcu{u9R_=QZ!-INjG at Mx+7b4NUkJ
zBml%|w`=WbP)|CbqopHvn?&<B&=XWoxU$hCI}-Buv`fnq*gJ7T9D*Q&^i~@DJ5MF&
z41&DUrSx*`129p>bVQeMhop;6>c1u#XPF&y|7tV92_C}db;me-TC=Sls?@b;?v#OO
zeu3UkFD~e+it|X}8)_fcalE<*L#rjbtETz6ox~;}%_a at Qyt}#bgbWM&`3<Bx7rr8;
z*t}TjST{AH(0IXT8DlbHaj<A4zcPDoPrEN_FSk!14MLzH^*J_8^i!P4rru0Rbq!{g
zzg}-XmAaj5D9x9a;a)6_sMXB_2#|NM{y6{grqzo>Ja4_5am<`s at A>pY$srtDES^(a
zC<9333-W(^W!S9y>0e8WGg6Cus613n9cq}=56jcui(L)#jj>Hd7lzu~EO$+R(gjBK
z1a|3b>o>3(S4ElbsRWdb0FHkV9GdVrZ_D at B)TKb8NF;i2d4SJD2FfDG!}-<*$7pq>
zT3ya?pik3+R)jK?__2jenSrCjFlWh=&&_pbUFBz2t#gg-WW?c&k)~uH81nHFke_-8
zX}V at qEmbLGP8nzRln*zvE2;;?CKK2ok|GzGf9h#|g)KuMf06F<KIBq&uU+<=PJ3$q
z=H`Vfka}|n`BjmiXB*y}TjITtAyU)A)7o0Qj7L6Tgwtac_L!H<`z(x3DWUKOLMex%
zE3&7gi6eNBg{8z2z#KQnnP`50sTR4i9)eT=Hj+i5<hd<4Q>|r_U2tb#V?J2?Mt#sa
zb<&Gu5(f2f-c7OFTldMu!Gu%!?X1!pbGP<7mzrc!rjx&S#02VXx<bdbX`AS0)BSGb
z>m$h9!F at D$MtQ1S{b$qf1?G6WB64#&a8=n^>^h{-rJ;@-e1DeSu0jkylH*wCouQRJ
zI~S??B)U<$MI9>5n5Ww`?}Nl54_EPicfK)q6qQ^VL1q9iMdVC=vkM(ELRUkVIeX^-
zUN7ytNkGDcct9LMFZG-)lUdm%eJT4O(b{!2c={xNX+9uGU)Kk!Fk*b^7HoSA1-pdL
z7nBLXk48A5T9s441IzEMPhq72uW>hLY4viS5>`5w&L~s+QmXNX at Kth4^ncSItQ>6r
zMSrMxI+zkM$QxNHyV$}o$PqCyGQu#3Svonp5OH$++sc^QnY&mJv9K`xe`6n4TAKC;
zoG5-Tb#sf?a2WVe9MG&dWAj|^Q)HRjCFYPC&4Y5Rq|%m>*B2}Hs){W~t5W-!KpzVN
zGKwau4d+$CCHSVQNfZ<7B9<O)VBYkyUEz at OZ4S37&?^FmDg$(J*&+^Pjgbl<c>rX&
zxD<KRanGVIiISAtlt@;XJnqE4VqPDmgp)l|L4sPtMUk>Z at v_^!SCz;#s}kj0i`X0X
z`GVgNdV_p(C6P>hkk;5IyHu!EWW4AW@$$)>z+DB!i+Fi}JE}2M1B~jbPzjGLBS<)D
zNAQB<ig5A}Nlr}8qXOeVO%EVo_0)*45rleJd2R|FE3O5URr1)?5E^hDl+|(eR1mj<
z at -W3XJT2lZi&_vjQU at 3eHV8EJK06@Q8Uw}2D+$oc%^;Wv&{l|;Wt3bXCsx|?K9QQh
zEla#W(cEEVgO`YsKv6y+<A5#DLI{6{8$t78)I=0`52jF8RtZe1b2!5Od1!-PB32;P
zeqAX$B%uQS0NsG(=1>CxA$VBf(Rfy{L^P^XxCRm?1y%<kfj%ga6qUB}U?fGLq_EYb
zZ6in!@~726PBfs%kp#hnror7MyOQxW7)vPR1W;mg&NfBw2=Hh%fjLd8K>VT^E0^9@
zXrM5BL`Psh4kQOTL$p$6$FPgUKm}(xN~{JX(t=!I&@MqEhdgn&K_;y}kyFDqO5*}Z
z0%<xjU<is3BoAa=7$&e|oEU}(NFJ|uR>LxAp7NQ>kSlV2{8ZU&bWuIMuV1QX{n`3=
zckdoACx>f|^YS1&5Rz&k6=P2=-3V+bU+zg?*x!-ejnzFcwk%`!f2w;@B-&V}qoptL
zR+hs_Wd7FYgk)FR at wmGER+mL1zH@c83;h>UKW`!nxF#z%{qS0(5t2FdP?i<qqW|Nj
z1xYq5wea;%)?t~g=cgU8*Nts%kyvN(Sfn?5rZ0O!lp~p|`XP`{U>^f2ejk}aj$E8O
zZE?30!x;!+uTcIrOt34PnYd%C;kU*0u at g_0w;$k~jcN~JlfF_*&L;5 at O~MAlzvaeh
zGV_w{I;N{m_P?1rckIrT1B7&-a+OV*DeMrtbXwk5-4jG6LVa#+lg9G0APx{aCRVoV
zw=cF_i at 45%gA!*CO?73qbZ53MVn7sqPOn`%VYv~%W>w}`@_YA+drKVf5AbgO1WxN=
zfx0gTcqy(j%a*CcpXZTNic_Iobam&2uoJrXcW^uAw=Ab?v>&tb{mTPU$A&&{^255C
zz%h6AQ%zOi>=Qg-8+RD}jG~n|w at h5NE~(DdJetjRq>QSDTW-RZ8KAsnKhu44dBdI%
zY11J!`&!CkwHMYk8|KY6ue0vbN4v<eH+s{{)IsjkRR?LD<kk8s^mhGr|1SrdBv({R
z=VUME*Pd~?;SJPuHPGzN3VMoTo2Bu&URd1&$RFO0ft4K#ub8UADyH?d`2#HioORWg
z3jr1HWsj&*Cp};NqXPx at LfD{fF>i*^Qx3!7o8p~Yi_e1x3qk=E&hF4z4~wwma(3+w
zYfA)rMHmJ)ZNK_v_N at WohBc=~Wb&5X!;7!KF)OgJjSh0?TMlRh8xkm(S1%taDDN%S
zoucoJ^#z(q&+h9zb`7!CRHu`*v83}Zup`s4VYtDCT%gYMj#QdLE=jcxcG0LDc#DyP
zq!fyBhtWyKxJ<x3a$Y6H81&I*(zNi{DBIzN&AnhKP}iSge6aUk-z{B)pap$!b{y)~
zg4ieMI at zj~g)8k=095!0Un}DC987J3ya^Z`P0GUryfYt|np>R9vk~|KZ1J2ybQ0No
zzyf7$fS99v%_fR;<6n)#VZaDqKwZC`9NlJmj4*Ts2>sH;KDiBSFL$4+2h2XuC0gK0
zn2dXz%-jemS*x~GO^V$Q5I6`KvPoNH@&XP9i_ifxj(IFnA9Olb)-bX-y{Mlhn3A<h
zY!6f0GE_7bhIXtzrOoZx!+Lv&sQe at vDPC=p8c&RQ9K9pcb!o9i8rBLzqT?Y7Ip1Lk
zgfFo{inxO=3 at L#Sx=w~v3aV{UWq`99s;*0xazunMOk1Y%?{Wm>*cFe0QO#tD$9|<w
z0a3@`eo$VAK+FtRsU(p^lm(noe5)vZ9?R%==}>N(86NI(+U>mw3>R7Dls!r^<t9z4
zU_bDme$J5iQiFacsU9+^Nmm(Eyh4MJRHj>a3#?u~A<4O9s`E~)=$mN8LPg`zaTbV0
ziUm3{%Kk)la#k|MG3?fV|NHWR`HY9-UP8?m*=;z_<2S502SvE((Grd*-6)nAONl~?
zG~Go?3G}BHn=lK}?@QmSn;ff6-idLdDP2e#<nlG+&gmVYqfCS2h|#<+6$Q2(8!MQ#
zdMT+hXAgS$mH9!@APdt^XrEQ375WAHdB_`_LPyYWDJ+fU0;5I7tT<-I%pkhyMSMJk
zaKG}Rz{ewvhc+bBqf^cfmAQtvNslM3-{TNC_Sy?uz4 at Tj9^&8Q6a5#Qxfv3>P7^xs
z8EQXCVSnVYZEx26ZS9Y**}v1~d<kZrfeM$Z33F at QFGQTOY0boJR+3<<c%;_DjV>s?
zjI${oD9hND9;r3!@?5E8sx;%xAyDHxNb<(+T$W8iM|HJ at Yx}sHUaYNTQ;c_A4sIDI
zMWaTE#Kj>m8VIlmTaA at eG)<x`VL;&UuN1(m`L>5kP24Ajs7sH<5L)=gj2ty=%}-yd
z7(!8gH(sPhc(|+ at boMzt8#lf-XjX60Vqot)0BwbUZTZ=?dO*%4&g_FvJK{7qdP0%O
zD9xl^j*u%3b at F{{os{NEM}L8*7P&7MpGs!Dgt>ToY)D>OieU^%Q#QX6*beh_Wv^MD
ze$(F(7%F#xaz`+f{O*K|?-l0`S64A++cJdPmL>&GBZmSUKuJ)mpxm@#Mf}~%UB?!6
z$zu%3Lho!~o0)0;y~FqB70tS7$_p*ZKc5Vfrjk^<D-m4G@?p7Tj4NKG9$_zsdy*=~
zhvv{WBOToyp>XL=C$_LyMjEEiMPbuRz0o}vbMg7R<{Y`ZcbtOJ+2e8lYkb51s%LwT
zDh6{+HMv}(zERm%*3TP6f)_c(Bgc5+3t+S{&6z^CWLK~`ZHFN2=L%mp6N6P7<SfrA
zN6 at U97~eWsMM6gO-2|WPPBa#~>NyIQ3B+96_|DoiE>CN0jG at u5^_=?8eSO}L56ba9
zl1K5Y*nF12<nP7eR_-7y>qSoVlbdCv+g at Gg0)LXO-(0P2%b?pDf%nYw8ZeKE_$9gb
zuwEm_B^{61ugjF&2K_ajX9A?Lkwx};#DJkT>PnRLaWdod0N6+~!nM&)X9L12%jw!x
zw#hZZOZh&V0V%a(Qv>v>f^I{O!kH at RXG^W-LMXzG)hbDeX`H_yvxO$I-{`w`br(n)
zAEidh&zZi0uWRnld`ruJFqbIwR=4>*{k~zkZr?2^I}Uj}QaVRr at 97zM_pFW~X}s(b
zx^BXhfjl;Waez2OYM^9=S6v;p4x!`{*;at0ELdiG7=#Vj19x{lKBm_^Lkx(J$nyn>
zrbq=19*Mx_CrqO^DKPN6eOi5QgJ}O;z-O%m|2RHyK63&r5W&25us(mq!^d!aADu3*
z5n~^$;F5k$@u=~u1ysU!885`b>^$#19AKX2CKtvipG_4k{on^5yUxA}I;%}?N0$z~
zNY_1nW#=|V>j6*URI5(sD?sxvt-a39DZyX7H$-jGC#HLr3nz0tXkk;NXN(ob#LF*M
z_q|8 at a~1Pfmkd{D=q+P+={H{3bF3)fgwt57g(oc)>ZzEi at kdz>0*1A`-wHL*^gJR%
z+|dpt3E;I-j%!i)>IJf0ia~t6936UE!{?b3CI)7lG$X{JF?jH3p{@odR43UhJMCNb
z33@%l)8G%Ab55FB<Bc;rIN%wf<2r8jFW)s=SL&|sTiM_BRB9u~A+Jtp3hY$g^)GpM
zynhG;_<UV&ERlcWZ*Eege*z-bu3)4Im4_PDx!?QTG<&Z%SwZiVLmdD0&g`JL`4s0K
zUk(p{yqJgN;&LX;I8XDTxOh0=Z?oSeblc2{@l5Z{biULT3!0k??-4mPCMJD1FL*4n
zL_Uxw- at 4i*AsLO8 at UUlRh|kXpe~aGGd%J1rg>_)7yK3AV#-5*je-BSOSC^HQ1w$|7
z#&wNutswGX>k}%ug)t~!xK)@Quv1rT*thQF8c6bWW4UmksoFD!aQP({WBwK7{b?Rd
zl7htlCaziwr at E|nKpMMnL>^h5ZtXDjd}CsGc*e!QI>_T6mtIZ%wOBN5A7#I#78^b2
zY53MQ%uyLJdcp%4UI&$2I9LxM!TQz8_1#570GhOiN5qqUiHxgSaRP~n8QvSjXFkZm
z&R2JP-cU<pw>p|Kvyw29F~ml8lWzKO%y!|w{|PbnzXcXMGwXi|tp6vVnEv5tjQ`UD
z#Z1J+#lreO$N%Q*nHf2`IQ}nS{~sA<<6`PW#2{v4=wd2jYHV*}3IhPZIJ-ER8rs5m
ztjD~7E8wj!fWsVsrSEbhL0w<>Z*93cU~O)pZf^Z&3C-=|&;kd6`8&_>y^y_p{8YX~
zQD-c7cB)@&gOX<^Q3uy!kAYDF|8X}oFf=&^kC>>cXkY}*$Xvt9%+y4tqFS!ju?hT1
zB~`Kl%FU?}c<%DIh~Nf})$L<uGRCYg;vFL(I<SH at Fa)i4xc}pD$IJq%k(ufFT?OT|
z4<3QtshJ6Uhz-n4<Xyl*Qc5}2zc at ZIumC>w at UIBUN*M<T77-EiYv&lqkf$IywW5Jf
zV0(2K#RAfdm8}K5JV>S{fIjc%ASi2RVR$$&J#u_&D|dc%CKLJ4gjhlt(V^9;0jwM-
zH&D(_fTd5L3KT8oD&VJNBtimOp|Q#7dp3}IY;$;P6&eZ%)}}@#@Oj1nRo$DV02OEo
zK_N8_l#(0h>Zh3Yg%I4UkAE1rp7GD;#WmqYFP`SwkFAZ370e%J#+H|+KdnF++G`-d
zQ7BF^^aS*eK*rvUy=bwvxq=4X#vH~p+Qz8$13QJdpkyJbz$3eGKjX7&OXCy$!<qAI
z6VG*cncq&J^o?!ZnUrHQ2o^W{F|X=AMrv{b$_`t6nctSRv3z4&+aJASn-kkppLMKL
zI`|n&S2cLLfeS`Irvai7y`~rfm_U#$EG!(jG(e|NKwcSI%wM7f$7evF9|=bcOq`JV
z_K*pneRw$#b1M^gP~X9)S2mXrU~Qc3Aimu{ys!EpV*?<Jjm)mV89;Q^m&pF!kkNt1
zKmEJkJer<BE}8uYqaX&~7biRN at 4L_}plcgm-)cXd!!ni3)LBwSE<YuoH-!;UW1zd!
zeFz2yrpBNS^^U-to}9ovKNq6otLOQY-}Nai9FV{s->9^0Qa|vkSNYHd-{yQ4KtC7K
zz+idWL;>$F85c~>jM+i{4WIr5&%LtWKhv-Jdf)n^pFd(`dsfyTFI-RlXy5)bu~*eL
zd_VI*vo%$)9*~EEyR!8^y_H#gKeV;Hb5j$`*FSkuomj!{f~(sD&pSd|T+$kzK+`GJ
zIx=)Wd9gnc%RlQZ+BDt;C}V5qb=ly3eFIaU{xf}(rdFUmd^!E3Z!gG5T|7UNly>$o
z%pca{8eE*fBXV*hc at a~)l14|nKpu?&t at CiFcP~hw8CX|>^aiLvoILsgTw~C8b!kpc
zKp7!FC|{6{AQ>Wlr1U_^r}jhe1}Gn~9zZhtKP2>KK*>Y)Lm&o8pRpRiGD^M3xB-&y
z97d3g<DX&%ZtXizQ}jQ$fote~q>P>Wy%D%mwU4-gZz}(e`RDdv$I2hEeeG30|3+i~
zjn=;X8*Tp2=yPub<W%hgZs1kSkLcyDMoe!1pvjTVL#N9wQH-vic7Sj8zx!cPjg at iD
zwT;au{Yz=9Fa0BPzmWnSm>rqf!Ph~ib-$6EKS{r5x4$mX at fyy0BS5DtVE%x|Z}vL=
z`5|xk*Z1+J-#BLS3<>sv_PPPurq=gkxchmrIgj4e_mdiMgF|t<yN0vzwFjP)`)1Ez
z0PjrG%D?&T3g`4iDr;6BHEfS^+diy+Lvt&S?r_;lGmJnVP+AsDKKG3XUq5w at 2!*iy
zjtF&~F-?f1ld~h~5L9LGvGV-|fK0!SkLkmtTePP}sAurL-TtNr$yncBo;j?;UEGgP
z=#vLRJ$0Wm$S>fp*3jsS<o*OeICBQ<SbqGRvGGjuFZ|fD at o@4$I(!KBW{)D!7X{Z`
z5K0F0wlZ>kBcSLAimNBU&P^T0Ki_?le(Jx_(i$A`SI&aS-L at Jd)F-mc&7Av}MISKW
z7i<vH?E&#PLiF1Ih(XnE{A7AyI1uz&_A@{xN0*}B#%ls&4iDo$h6AsLU))4OI)8tu
zj;x^_KAM~MU%7sO27$W$82k3g at qGsvsLk>dwbAJH8bf&BgK&TS3i at eJmetMevvqv?
zSOe2v{TcT6hXn!Q3-}#TB~7H<gLDy=P^<4c5ONI%$pQkK0-0sW3b$P)w^fT+eml<E
ztSP81*E%qM0D5}iy}!gk_*WvoTYe*ZcaR4qm50zb5AHzq7?B%U{n$awELtuUH#`zK
z0&59?_s+}nZUMF~&?@{qp>WLA;Z#hG-t~0^AUm7q)VXt|wmB1ct4~wLIIGxa5pMEI
z(K9&1obXA$6y<f|#Dv)AXv)AOu+X=&!(?<e*OxTiKST1JEn17}c5Tr#zQ*ikuUyi|
z{kWyNb-j%!v}Y_k-tmt1kxuN_eWs_0Tu0HEG5l>9vYLfM at sxQ<&U3PynmjUO+TyBp
zl$cX=du3w+vxFleHpZ>M=2T$oz$vObQq1D+o}NIfU_*n=%!vmp-WKgp#FFeD9jbo&
z2-wsNZJ!5pC-U*xXDmNu&9Uu>3TzJR*`u!^c_X+#4kv|^b^s2qAE^G!(3X|I5H#iS
zIcwZ<J}O)hRG|G_M at 2#Dr{u(ieYa2+hekW`e*gZa>m(4OlP`k?3)16{z2^MR3VBx-
z8=V})e17<(%4M}%6K8ODFEW$gC|N_XL_nQVQ?g!sb;iG>rd)cIe~i>=7nMFh|MS$<
zyX~9sW~KIE*rU7;=cEPrJgwcSC;6F&JIDps9UQC>xZvntlxNg;`7;>%wV|cV773u*
zH1JK at pEJ|iI9Rd7qIy?LAq3<=MG8{_bgOx|9smqlIF<ol8~a;yQcD0G7 at WM);8;)V
zkRUr(4Dz_K#n&O#nxTM%P^k_Z&*JaVGfux{@X~^o9`&ZxN~6H+DBUfpqW&S(uMT%V
zOJ#1 at FK(JVR088>Mfkm^;=rt%VV48UIAZ1<V|GFp+WW)@B-b$Nx9yMTA^RtU8QdLO
zO%@!$tjI}?tW+Yq{VJgtZq6r;V?4fog1v6RQ at yqJ5Z6+z<Zu=WueP|M3%7?h`ia5y
zH0|G$!MDPD$`{UT`Ja%AmeB=sx41j?iYUf^71_C$m=>M18`{B7FIgABZHc(W+hjH1
zn6qvu!eF at k)RB$ZO5V^b7>lE8`(!3xC5{78?SS2KN9ejqeroDMKcmCwwTS4Xtb#_E
z#md>e2V05P)L>T&zUmrR(w<8#$#vB+ruDO1HaU at wDwAJ7$<#n66}<72g6%w6xoc=j
z)L)Y%AE8y(*ioHsF9uR#GlJ~a>9v!aCwGx4%>(7XX^AH<9_4K*G<g`Bs)iKMfFsOE
zhsE+Kfust at 3Nr~kLFdPV at 98HkjV64TPW)q1^2IU_2Da3D(5>m6-a@~JX<Z9g<qN1;
zqK)6p)A{iYrRUwPYyBpas}SodI6Lh}87*#!Pe>`2Gl-7yNTHTiPRQaeZuZwTlXQm6
zg8{8}Xg&g&3{ZWh{e-kO35*KJQifx4Gd(zzjziFa9AhNjF+oM94Gz6LMpu*O=G5bp
zw#FA<3hh<uqeoB6s~0ADp{E(g#xw_R at 58fw5{~giwv}-WQJtu9P|(W$z}^=Gf48nh
z+sKux?H#Xa$L8gGfA=(iXB<jhgq!=Gzt~vs#%8XIGwDw-=<`R)@N%}(deXAAau#2@
zj`<(9c95x(75=`bkJq)y5OJ;ZQRGtrH&b$q?$(o=LA_ at GGc)su|DLodsR9{6n-+*s
z#IrxUgVP80Qs%cpH6AL=t?OGV6<38I9IEn|moD+aY0;Hj!G-bqYMmBuOj;!|F87b6
z*3BEa4_O%zF%<eug<#2<hnyXVLv2)>guCw@)X~xXom}bh#e<$Y1v77?h!w0AXP)Q2
zGH}A<B2-LLh9-Vd%=(KE1;<0Wf~^AKtZ<N6Pb7?-CgBb{2j%zD{a_O2zjgu;gE=9Q
zQ`<j<lX2U{AG0b^$>tq;ZnakS{3*C!NJAMMj3j{;MRK)z1woC{{zPI)r9#PDx&nnL
zQ^R8 at J8DV=C#gTjUy`Y^Nvhyapk;d3El7jIMZj at ttg3x0_8i|RoH21}mcjMz>mlvx
z at hyTQ=%&}oRWNMl2#cj+%gZaB*!R3o4j*9}%ozEyo8xZEiDex*;UK at 30KWuPqMrn_
z!D1h*xRcI4v||rD-6?Ro{b;De1LKRhu^87|SOahc)Rd!BYn#&Fp_;brsrpXy<l3Uz
zai>@YHrsU9VP#<3bhm*NQWH5vYzmcN`&6tNn+Uhn{HBy|a_gv#xs`naRE0}ez5K-v
z at r7c4@k~updYQ4&O)Ae_5VK9){<T&AJcI2FCx(<9613U28eJ at lA%4HeQEJrHMxaiX
zOokVKN2|~l3otU;;<(<!2LlKH;K?N(r_t~bU$IR3JO57pMpmA8;TJu6z+fgbrx0^n
z;LN{Xc#Srd8%NL-sYjGHST}Aal6C{%L(~MM8NqU%LbyEu<~(!nJtQUs1b3KoEUE9~
zLO4}LD+4vf96W1Xx)g6s+ill=pP(gAGw|2Z1c#A7*p?GaPHfxU>Lgz?vAW|2F8i^c
zZg3L88MP)>1;p!0vTw;=j1X56>}H~mCh1AF$0PPI9swhYWx)Xx#=ISCzH}x)PE9^(
zdr74j49wdQ8$ao->s1|h at vlraeg)}pf8QcwhXkr7_XtC;NWvVm at Clb6;%PZzIXW+l
zVjqF3IF=bMF at E&cu at ElIuA+<Oyy-(^&#r?}*!S8s<DdKcwgLFw)ap#JLrMyc%`NnU
zZa=%FfK*Pi<2;emM!X;rs)zI8rK~5}s7mp0lEVXPk at u)i8Dw{tc{iEM2!wYP5jc~1
zT)$en8!fJI*_eJFc$|sW44xeuioa_?!ZQoY0;2Lo&pnqxHQaS_#;)7Ba&2Gd+;zPB
z=<U+_WY%sv2Wy^x!CGSlUgP){Wduce{6@<OI;k2e3jvzPyd{&WLcUt*F}21d1jk7f
z`|>f at Sw8WFXaBqsV4FtBT)4PvX7(Ng4;&a6@{b8Eqkz<#PAE{oLE%I^_9BK~VcVC)
z=EbvJx9Dw*^w-qms=rq~cn?ZYB{~evW{)heExm6TIrTxgh_iFaJ$R4Jld3U(JFjd%
zdR*LzD|~D&Ea`$WO01XPuBkO_DJ_y|!40Zs^U4rCwS;3I<9OMG%1P*$bjc~>t8kTE
z0OOh1?AJ5oflz_?1aM)b!e%1T8=M>S;RR=xoBnD1jiz)PVf?Zbtw@%Q;dZUqLpi^6
z&e#%6qVYNRDI!r#zZ~b3hFHzx$@C+6if&kiup{IYJ%!g1q3!cnC^Q=cuK at Wz;4W!Q
z?0$KZ_t3gWNzRfybhA&PI^<zLE9Qaol1&mT!!%+lfp)xHLD=b>xqLpaG1*jf*4s)L
zOL3foUs;$`wYP#VKfzzSg6z|7h!-FbyO~27g(n8(k^Ww!`VJ5*HJ9*tM3d}|QKjD{
zvw;dig?LjMOA7n=LSs*kVCwL^wUr{lwu5vQc?gB|s^a}|AZx;4DN*N`!~p*V?pAeU
zTtM-I5&aanOpkdo&mxNG&4=`-wgTBfh2CA at hCR9NxbhQzX{OVW+~G`mlXja`Q>?p;
zn~7_BDq~d}ckqv7u*q`-D)#5~NeJsEtG;<a5`f<9#pA)0Cl1EsM*4oS^$@|*;+^cC
zsc`CYsBeQ0HF0w-v!Tq?F8`@6sgWxim;dpVyCebmO5AN%Mw7I~icg~1Y`6YiV=Tm@
zwZWZnT^V7{QD-|5&h7w8v1N9LTsy=^=?eVZ%k&VWj9ADQ7*#uswF1$|d~EJ79Acrp
zP}mHbFz1$CmrnFPAOnn41c6k;lQlEW28+vg*ym=+T_hxk+Sd&v96Oq@^RFFc#2p1v
zsOXc(GTbu`$c;euzIQpY?7YC!^e56bGsEStoSW`(tapiC6~?C%vJ&eh8(w<m8af%L
z5|rs}Mx_Um=bP{HDH5ZYtYE29S|^9gnl_A~yE+tB&gc6A{Rei54EAOBiOnOh<)$#U
z)}6z6TeWrx^2(ZMz$`sz68hUQo;&DM`wdk+?}nBriGY(FCGa-Lu`it}nhH>){$NiN
zM}NvoQ(}1rB03_y*$g;mW>Er+-fy~G?9zBayd=NHZyHcrE`dI1YqC4cMkx}RF?sKI
ziWxnXZsRV<#*wT6S at g4@OAnWbSp{;uT5S+!GAnh&<wzyu)r3vcb)Fi|XIuLdv+n$J
zY>@d5KfbPUN6)Xzsz;Z!L*@`&1?q$OjHzzkmI9$i*KlO at S?_@{*8^2do}h%L_Q$OI
zw%i(il4q(EYXSTDaR8-^U|7 at JA-U5t^%s|X(faR7;0omDO7Zy)j^^wFGwZ8_T4+5~
ziF(cx9s1t#L>x)wI~uwp^B;Df(5cdvks}id_eD)Y=^vJyH6Cm(47|eDds$;4`|)rV
zS*fy=55-8o$ENJ;mKnN3ZZ_8yk~{6ychMh-*ps>1)Le8Z6~4A5em3DxBt<j>sM!X}
zqb~eMkH$DYrvaDd4P-9UV!@_8FN=no{Kp)^_DB4!^r$U%Px`anL0{Xt!lFkt9!$Su
z+GO_};F$DZ!I_J!d5}?DhJG(-XP^}6Q-41fj_MMQLVG$XmM`!5Ds at 1F80<fvm6MP6
z!Ig2zlR5lI1CeMVrrw at FgL|cZcSF6DU{;O`DJ%tTkf>5qVw^@x22IRl-1kHZpyggc
z^kB*dA6(nZ5c(#GJE-?gavRI*YT_2nuD4J_uduIMm4VluS}%(7=uM7d&bOF-xFS7!
z*0|r=dqGqZM$Py_NiWmGkxrp6-ehe4ah^uV-t&1><sHE^S7EXI+pl5sGTFyy@=>BV
z_lVDrSR0w3dz8VOhE-N>So?Np1c{Dbiibv#j8nY!(}UT$C9WL)4mdQClR_~395j4|
zOV8Xl*xM6{C^j?6aQsB~yYgbQL#Sh+C-1_ArfcW at LBo^GI=Q>AWs47LBCuJ95^p-%
zhrkKe+b{d@<w8kjSp9lz#)x`W*<3x4H%4D(Gid|c*B>Z<jnEg;bO74(Hq=D at R(a)*
zbrl0 at 5f?FqRc+OIIecTG0Jh5KFG-+5rD*4w(l9srMXzPmu*r6>xRo;9&yJnKS#&q6
z^z(Z5GdD}T7LEpTD8>=PlE)-KLdGV-C|%lEqeA*Z(Xe05;^MrZ at EN6y^bEl~gGYZv
z$x%MQ>@gWcwN?Dj#%uWPV<MQVdO9KW$dl$|K>n8pQbga@(nE8r;A0Q!Juj4JuZfUa
zO1b1#ie2r~J<BQqGE&r$a-&QPnVuyI8Cr at IyG6O7)oQ!RYsyMuku1fS#2V5Q#&Zl_
zsD4Va0^zmpguw|@R#Hp$iPAdz#Yl1l#sM;DBrrox_i{2an(+2!+KXE0BROu<imM){
zP>%Z#XTYkk(J{44&2JDXHHEsFRQ=}t_DFr^o~gApQ3w;CBh<RuR37Yw*`)glHCep!
zDnxtmu1 at TW&>On$S2oE_6)y*sl at +caHAC+ZuSEfm{2oZGPMS^_#Uqj7_8%7yVA}WX
z9qADW>{~Gr?P(A`cnCZA+HFj6I{j%*TM80Nl2#{-2|S*MXi+=Klk{}h8Wdsfbh0!b
zHJm+im7AJB`uxu_!RZ(G`!thXDHf@}CY4pwRS~8vB;#$+XB^dyWVf~A!_$og+ub{H
z5YmMXkeTfF8qjf{*WqCVSbR6`)qA?^T-bWI=>)n;lEf4Os7^Q0ar`eVbR9G0f;o|$
zvl`|E(if8$Vz{{Fc~4a8H#BG7^sMM5Q_RO_p#PdDOjZCtlpXSs+rOs9EK0-vP`H+c
zmh|^2C>QJ3gfB4V2nJkUA7lD#e%oF_UMVz;i`?tmN}_299oOiPRaj$d_h4N?YbAda
z*dvSE$ZM)}x>ywo5Z2=M>cs2wqVPdWJD^4en9!;ZRS;TAs(IVf5+iw{=`h|#q6&Ei
zaqHH|Am*06n1XB~%ewk#y*C(8iHy3ONLB;rKpBD(0m(apyzDkFF}KL|Z&0J&l9v{Z
zJ5~dA<tUP}CF7SV$9Rjc-A0OLsadDbMwBq{dI%4OCzWmC_RaB8>dt5|i6<5WuVA-y
ze<hs#;=`mCf{GScJ|1PCzt`8&*<g0GH8VzX1&)Wn^{jayHln84q`;HmrRWwDNw<f>
zhi)E;1Aj7}8scGhL{>Ri898zbG~_O#NlxZTQMu7mkQvS{(<kl9e{cVOWllnnxRkbw
zrnHoZ!j*hKT%qzLmDe9nPNLm}CdOF|ab2Cxr^2q&;rSzBvPpuv#nh5;5OXo6P=K4H
znR6_<0>vS+_7_RD(9#V58)m<j#xoc%fpckQA)XA)uLg?6xPUe)aOc#`8VDZ*+iI4*
zH`k<7yQvJECEmail?!^(alBoR&EdCH2e{@kwy}<gRt=lgUGxU}G4-vsGk_{csw_5}
zE>ymGc?-L-cu<t1=nv#j7pjH)xgb{&)7JFGJ*6|}D+pGD*EoT-3OhGAEl0cb1ybcw
zK_%OBTOWlWLBUq$h#=N<_~m1C3O^EhH~p(dvdiFS<|b9}9GA10YSS^2l)-M}3D|w{
zb^0g+#HR at yIW3wio|9zuJr>piTo40iwB*7LvBtpkwyEL7t&e{`Jw7b{do2MYj}3C;
zvXRsVRS>YGx>{^EeW9g22E`3eRnb+JT at lz8j>=V<qY1T%1+o2LAt(-rt-%#)>JdAH
zKl?0f at blmncRC)@=Y7+H4>!JGesrFCYKyrcOD!V#%vXyl6gQpw at EE61;P at DDE!vfZ
z*-J+1GEB!mW)USYOVa&xFb^@`VjLr+rvde3yXY^xRD>BWpGvyL;V&pC(VUI=33I~c
z*on9p6F5<;R!LgvUQRuN-Xk%J16=d2EPV3IQvCDO<lZWrFUJ(ig=`fPhUk2&OIwhn
z=@dXyzB(dsGja!m7LtAg`6Gka$57QHCkm{gj*1drN- at 4rC4e@tB%Sp!Y`6DZo327L
zMpWzq$L@?3H%~Jhc^R#T%n at xlO_9o>vv^!wVPG-xp+l6|FN+8<&`!JjRq?tv*+OSO
zaFC-a7SDLeBHTxvp9LhQ=l!lYXLHDNV?r^(FG66{FUX^wHu=hd2!@kGR9DBI=?{n(
zZT~e0ltNC$W^2zedvCQmU*F$jCBd7C+bk{h`c$yYMiOc=)`vflQ6qO$Me=Ql4<83H
zY%s8QP>+7l9C8|cxDO*<9truEpG!_3+v?YI+iaafgmoET*0o{ROYHc at frjPdlGve>
zwx)QK(8kd>uM4L_y=R}wH7|bT{Qkc;*0#JhFlJI#7F;=hKo?ktOea=#_8`D!Q&2Z4
z^qh%2(<Bq5rQbzxLQn2=hLw6oum$v4!0ipr9x(d{V)@KY at nUfOl}bqxL)2uojPU30
z5~t*&xPDaz0z;Ke#f}0;k2JL53$jT2;yXZA5<lUwjJw12=nw{P`(XELnx4*<4BIAS
z)I>g+VOt}jey6mQvTU{?>IdJHV9C?HK}7Ze;FF!>(W+=#0!FRkjVHl`FE#gS15-jK
zbnSq^!S4eI8vC<&->`%hYvz^xMus-&8oN*PPWir!GSGZvH5lK0q|;065<E}eke)w=
zoJs-lEx%tDGCZ))>dHhL)IgRjk}EuSx;%nie1Wmiejx@)Gd{e_zKJii*s<kFtyIaI
zDZ+M;%?Z+D;p;tIfA~D4A^jfarD`748mrti&)8nOE011VS7p9rU!A$aR6&z-$)v}g
z-3!-YC1%xjyCFSdElcSwxEyyRUr^!D+JtC=2&4On$&a%qHjg>I at M41$DTp=)EMAio
zE$>apZ$jKTAun%hpst$!79>?qU{g-*do*fj_BMb=zQ5oG?zvGP at cGFI_qQT!HB7kP
zWSYsgPN2Tw8zar*+>BzA2V)!N>m~kkGSK_`?Yc>E at r?#VJLm?;Yqv1}yE^Fhp$k$I
z`o7(B0sLt4<gsvG-}M at _N`w;F9JwqwIrfpJdqUb<Q8p`BH4!~QId?eq$ws!5yJkuj
zR?TFQ2hM)WKr;cDwq2-NPeDA+`lI)lQxd1K9vJJms##66hu at PAk8A91=h-J)V2KB4
z1ZC+}8Y(cxUvEjWS>rLapb8&v^0CsUgr6QWta9oLulB2rOcPBBr37G#cA(mi-%g4D
zu`GH}Md9F{iox|MwD=K3{Eh3G&kFY^Pu|u%C(k7{x#hU?E}fp3a4|C{k0~E7RhLX5
zYwxXL^!|C_^QBrhXrsg4T6OaR87^E9hyTpD)c>_0cR*aU{a;Dd$GJ*GsT$$!=Dh_a
zrO|d}YQK9k^CMdnYBS8;hU+!?sZE?heq}?=aFWlZM%db4rmtk)Y8m3!-d}^yDCcHD
z#Z}#wNOu1Bi%Porq#{REPL;u&0YjHH)mLs5MyH-<{UFZ4mego-X?tNw;ws4RqZ*Tb
zx&@t+e+#9G^?CcB5hUaZorVXWBWG4mM85<4ly`dNp^uE?m|iIAYS+c%I%kHqPUGYL
zD4=$F_=rwYR6 at gAU_uR2j1A6wA)~*v3)BF9Pgnt71}~1bo2!g$@Z5T;UlP$rR#rt5
zEv~=QJXUB$o>$PYNSSbkOZH{6pXLpBv<xvmZ%?#74C;g-{<au%PHVv<wP|B8I>nRQ
z^=duKXN)s8KMROh!SYP{Cm<pEH|1D!4tCSA{{{F*7fVRA#&E=Re%`B=%NB7t8y72~
z00f-pi5MuYU- at DO%PJlz2aX?FFEy)#@E at d9@flf(veBrajIGloH%?znAUyY6SNTzL
z|8QY5h|k at 5Z0lHrSg^k5`?Dr40Mb9GM9D68mSTw%3v9TX<dXGx^*c(V-H3lNXJHZ&
zzEts<;6lX4EtVHI`d=Vx5La-*dRS-Hk0CekmUN%IZvsu$Sj>!%uP9%qGWQYD!-p#`
zA|7yEf_?lhD&@-TKplePW;M*IP|vnh9zBYm^A{e$QRGTsS_)mSm#wJ-02`?L+kcxT
zNLWQN*lM at GlYYXEmP<A5X~A*DM7Bd+JHJUnvISCMC=O4gbcl;!Z)?k{dkmME_%y=?
zF^M$5$Roe;4ZIwXm<^xai{R}vhBk`?Q6(T7fm`eW-ki^#y9v%4U8YuTy0msF85mQZ
zyuF#S$cxSHG^pfp6otYU4>jZZs6#0$g=l+^VQGiXkgoFlakfx=+Bs?w(m$C<qq at SN
z-Ct!5EUB?W1JeRe7Rm`k=ZQwRfpOl^^RqZC>fphQnj#7w0%JmPKGRx-qB-H{-Zha1
z{F1V?GCm>ttKB?(j?xi^Hqzjs(5q^i9W_Q=Q5Pq>^wc`tXOlVJ)5ZTz-el}Dc;49=
z;}O==ohK%gp?f?mAM{w8u>iBeA8ng<w4_W?y;67O`(Ogv<?DUy9sKn&c^XfwSU8(W
zyCVUfnH}ZslqsrN9~1Q>)m=jLU?)v!qUA2tEg5@*hv@=!)_$vwG4$pZq!V(u-(GYf
zs3h%@M07F_l?4W#m<gUZ5Ehm9A4(vB^Le?ux8NGXJ~26{2a;WD|Gqz12Y+kJxbkAP
zP3W(4Y26oHXsa0Dj3I)5Jf+ at 7ra}K!B7{UZT1b0Sa$jgwgVu_D@!7 at mJqy_u$L{B?
zUoMr!JAmPITMbP_7cypTH$b0tF at ZJy()`;0<7V4_6lc8iGRa{5^RTPJdCJ0|=}(3I
zv|>bMYu)QU4rddYE$zU<Ek{z4KOB+F<0|@DWWN@&#Ke{wA87<km=~P!i^sbMd*OyW
zOU2V$`{j8L3S6(iNTmgPd}I{rfK_<Z9-UzjeNSE{5s(IU%Rhb#1>gT<Na4i at +0fPK
zNfG26()Yv{|GXDdmtvTHYG|y0R21Ca<q=H)(uv+w<JDCn+lnDcB<dWhu8de}`0gbZ
zJ5LX_*u1`lLcH?CV##{@bhw(u at Mp@xMrrdwJ+SZLVZ4<-Un(i4zr{@}C!2GuA?~w|
zsM0d|(Q at p<Q!#a7bSkeR|DP9qwyqX-jeJE at j*xziRpNzyrI&f*&BMbUes`E0-{(SX
zt0m9mmW0h$06s0^=*|gOFEMQAgxdQwF4r-T!%ctaO7$Yg-?k*S63z-S`o=xK2R#SZ
z3RC3{`MpE`Su7y>#OfWl5Fu-T?<u6Jr<=Q>5^_ZY<UlbHPA=(BZ#Wq-i!TX<MA#d1
z+mIReD|?N}SL$AFw*tDZmT|{jS=HxI>*(Hxcl+HT8!a$~Hi2z?js4t|Dg%74$H4ZZ
zW~ImO?GmbEH5v^-K)hbOX&E(p_Rg|L5})q3c+$<ZwC1myZ^aT996hUvN at VqJw-{lJ
zo9OPgRFwGE%Ppwb3IZ0bt)SYF(?4teCZb8XF0V+_=a-qeuVyK_hJUezO7x)6op-$z
zPW at _gl;K7WfyncrplxbuZ#gU2_!sqPB=QMFMQS$KS_f(_DeKjk8cPI)l;L*78ORX|
z4N|i2fDMU=XLQ6*Pu1*_0+@{M2c{lu at OOlPZDkI`$pq`@;{r+20NU}%^?$ToH0`>v
zcb~Wa?6pwz8un`gtThnKt15r5+!ZZl07Eq9G{wC<Pm8L(Vb803i|}D>TqdO<31vaa
zkYBj+W%EQWNWdOIynmtRwIwT`JZDZc?FU0>3ZdH9t!6dkZ^-Pr=5n&jVR%QP(C1G6
zdrM`E4%~g3bY$=3xv}vH<VrT-qUzdKT at 5g7<YqUEN4INLXN&_tm<dPVeOb_|tR%@`
zW>YM>)>B@`!q8>fqC`YSn3f5vl6Rp at -TII9*ihppOBq6-t at O$y|H at jZ9h<ROiD^T+
zf^9ybRX;hyD~@)`E0?jt+R`K{2{NKLlAXd>wQ(y<q75%YtU5U=r*hN+O_-QjpIUL@
zUv2yeFrY5`7SrE&+Y<eLWsA4|a4td<_<%waInz5QPKK~m!I>%chH18K4*5gsvdJE9
z$#!sKi_HF=iM0H8Nn43ad2v~I2Q_dp%%o_xnAu&HxZhLL>A_i=wS90h8hc#vFT{#-
zE@`xQ1ktConf4QqjWnbnwKHq~ho>wG0j-A338j^Y at PHv7U-DJGKzkSb{a->cm`YXt
z>G}iSaOn-!I4&TQ)Uquz8*uS9L09FmSmcvO+%p}E_ftxDEMo0=w`dE!PkH$x>yJ)=
ziGnWm*G81zphhy3%a#z=Kxe)B>TnY%A5yX)FWI|lX(MN`P4eRdyK<*Hl}4!fZ~F3V
z-$o7a^c$519kgFMH-NFjr0I87@?}?~N|p>VfrheB8)kaDN-d-$wSx?*oW%HU>DZC}
zBgFa#etk^%9fb_(yA*zJEGkyx=tpaTL}dM*yr3$y{2)R(YMLViO6u|wyKy{J;?ep;
z at xPb{+NPwzmaAo|m#B~EC$P>Ni()RUzNDb0x;NS58)zPJtQx?H^h<ov|LAr-jT(~d
zf9dNcm^z7EA&`E%uhS|u_k!;4$ENTV;1j3Dc13^D9r?Zr?sJ{3kegn1Hh9fQ3r28n
z)JN<VgKqZ+o?V)sxnbkg{>3l4bxI|I67BFCp6!TU7$Ow*g(0LRpM%eMrL^TH%d?}w
zU3tb1V)OjM!Op#T^~)v0U}S?IU3W?gR-`Ei)N^)4cXN37XOWzqpO`iu3QHFcZBI{t
zYT8_siRwm4rB^bL at JF1N{_$n at _snr&jl_yAXAemdqv+TK$*sjFM#`ir1LW8Rt?Dxp
z+-=kthO1KMsa(fyms7=qRIYXF;Gn8=4M5g9EaJcwKB`d7oJV<>oy0$ID*B2?I?mo%
zHCiMQYTx1D(A$mGmqwu*z{FM*?E21~Sg=h;?Ke^5z8Ng##^%^<$koiAEIeGBiyEtF
z1(m!z9DlY*i?pnru=qBU#s0#k&*TQEHXC<rc$F_*VS$yqPmh;m=-5q#%|gL`l?2Nn
za$797R=rbJM%77TMLVTvhq1(IlX*~&<$smOUJgy2LU+J)dpu0HW&r&18~JLrb$Dw+
z=go&o<A3Y86sU5u&=-x--m`rcOIOjb)H+LD1PG!dpn{nq=*tCKq7IHXUc?+aDYq6#
z0pnPjKjM~QuSQXXE50h7-|1X1JWWYZC%M4-tZeExziY)AQ~G6?3{p(X|2nNh?2AA;
z_p_DcvWBVYlN97&%F}?S$j{#t3TzV8rl0WTsbIqJ7L0UU;?6PP?YOIgZO{n47N)OA
zzD8iz9(h>a)?1C1#MPBkJp6dOHTaO9`+KiVd2v0$B%;-^agjRfE987#ILWQG+=<Dg
zZKEuQFY<SR<shJj3|^atQ_Q&OvH1Z=MWB!-^aCa>L4sGSkFCFA_2pBOC!<t|n~Z&B
z_+eaNj5~Oi_Rq_bFyBe_+g!Z<;kq%0JimsWdBbjLy>=^7Q+(Ux=~_bF3F{e-5mh7r
zpn3kJy}uS(<Ztxn?3}w8hgj_}SHOS;v}-~x)2ME%@_2YrJz*0cYVFJlK1oiKXubTS
z!>tPG5|@CCo at f^$A at y=hhrC5(P at 4&z$G6i%<1BZ at SDy8+)6^t4^6mna9O#|3){)7$
z5SZ1rSrb71^Pos1&Ws<^T=~)5m-_YE09p6b*VtK7+-(R5CyBP9Ccy4N_{)^sy_`>D
zp#|=gOPCo`bMdVX+vA^OfY>m~Wd`i<v|Q?94$#`+kWu)ZBk`^wc0w4%QUUWU2nJs|
zKTM2Dc-fHas}F^~mmh(DF6v}c=ey0wqriRSbs>%C?ov|(ip^7q^@aDa&C}zlRX+?p
zp0)L;tKR0fV$Miac?NACl9~kcu}MK{nJp25!IFv5${0gcl|}8;H6h*h%e#}H%sAWe
zKpp85zcBgl6J6aeG^h7DPy)mCi8wSAEApu>ecaMFBv4O4DTB#nG|YE}8&j|0uAvq*
zn}1sst-}a5orSy!LfFac6~pS~Z{R&jxMs=A8e%c5ZwS1dXg<H3kmEDV3cFf5;=3;r
zYxv5N)x-elIhE54KPT${!`L|lX98>sIOfE*ZQHhu$;7s8JDJ$FZQHgrv7P)koA>H1
z?&7UaZ%%dfsjkzfzmMb5?7hRY8L~z}v=tM4X%OD<76a#O_?Bv%!YgO#hjE7}-Gd6N
z&;XJ^0!g$S`q_Krrj9y~!Vkim!R}yGqwS*si6|%H_tjwf1<Zn at Q}`+qkgDMP^uxNF
ziB+51DEcOABPMqYNY!Gwr=YnD`abp0Uf++pW>B%An-m}{=y^70fb(Ua+OvQ5)HFet
zmGottAwcDaGaB_A#F2(Z8aecKbc^sM8~Ed7G$r#mW^Az2h4ygtBDQ^Y*w5yxlxGi%
zK>St~JGNQOr{2QZ7}u*>k2+z$9h;SzNZf?|_SCzAQpoO1$nLd|-LI+2!{<X$bc=uZ
z%QxMBd}}n`DVtcJ>V2kwH&Exd2g%AFD$2qE<Zp|`_HyAyCVkpG7xIaBMgAh!BB;~n
zfS}spJg?>)AD}<>1jYG?ss>o5bA;I=mskQ&k+Er+hd-sK^OrlKO`pC(17^CEDT)0;
zYC;#1*Mn9z2joO?2iLrr237I7y at 8(rq3c_9aUT{FleSM!(tXFCgn|z%X3^Lx(HVvu
zxWzty2D}t`MPfZs3vI<5H`RcvKwof{TA*K(-TnqAbER4_(iTZmUg2!__%_Nxp2pIN
z7q7|qb=Z|ntHk+y=A at ib;wi%Za_3I6&8`Ib0taNdwz}oHrQa35RIr(vnQ8AfXJ+dY
z)I({8!}y|P5^r!RCwqUI#`|?dqnWwJKcdmgwshyDGP#}cwBzw?jUnk38|L)vZ8mH#
zuX-G({C-9~k0mphPic}`h2cjPl9C-`WAfWHYclKB8MN5deOHRoblP&X at H$E&@>vcp
zF&@E0iD@#_r?EwfGIu-N at BHuppeSt>?YyJNb(G#EjkqH-hLaJIM70+x*#ezyY8Aai
znq*)y{Np5Vy8IQMwa&L_+1|x}$SsDd{RH5`LuKofb?j^zc3p at IkIO(($qXUO5UMmt
zX|fQAjPtp4I87L9kcL;%N;DS110V-ia5;1;H(w2FaT`dZ_pG8aO`rVUMP3RIDnSMs
zv0b*!*PS~9_9nr<LL{J*o8hz|v9+FB!WeT^^AX>{Z$2T^Ps9(GjfB752om0yBj$pI
zcbbslFxK)*QtyZIYC%99{L at E%tB->Q6v^Y5X~b1aTBoWrDqlA7n_P0f?9_8f$3@*9
zSJ6Z~=|)pL<57jDv;`C+)LgSkVi&{aA0M|Rgimuik{svqpRE=xbdy7ljhCg_A+3dC
zQNX?gRt at pi4P9hvDGn4K025z+%G^-5IuiOSLwBC3K*PZ+GUmS;iVDT)H{SWJ&Jnd*
zKN!99{s~?Fpih@{9}vZbKz=Zb?3$s6#qAGN0=-JiDR1V3+Q=gC8}-CHtXAjM4sq#S
zO)yR<Bpg7lE&b5kED8LJ%%h~__6Na8cmI^C$iVjq>#kJrAa%9WEY^zP4N?T>nW*}*
zR4{QUVv#0|iH(IU^X|psw45QN`=_f6gLpm_?5}MM7GnJoe)l9xI|7c83_ZWt&ZI$R
z(?r)9{P&$b)L|g8(XBR38I;eH?&2yxueJbgBHqwdb9a&1&pW8Clu7H4tV)%Cg&^h-
ze4sac<iLkIY851QvUPST#vi+IA4%>HwE#s1g?kjGC)(-sXD-RlX#ahjfsINv?1wiv
zBbXMfN&@X8wVYzSM*C<P?;fti38Id2slB=F6W(cG7np}=9H1zaHwPWcft^D26&@eW
zc=IsJyfDjrj9I$&?5x(FuH##9th~BU`O=%Qnd at w`hZdRfqN%-!`%rHco^}f_$?33L
zqfi}~`tiWG;tZ|wiUuM!_8pF&muaWlbVH!XhI0=4*?b9N)wk1^?cd_r`APV%FU4kG
zuKK_E%5FB*35CHZ=NV$Fnwmd3*vaty<T(n+E4vY&;9G>wkfHS%dPg<%an|X|vcLYw
zI5Urw|A=R;g99`<KBW24|0Wcc&2RW^>ba9Uww{`ZuA_VY(vVZ!sC9O}%lhyjbEAAc
zT*dm+=ylga6Pn$hlKUj!d4J^v4xf9+?I{M at a4FJUXY}LfKzNwY#xVG0&ovDFYHL-^
zIwW3QR|X-QSkwmAx)-nP2mbvI(q~)^PosF}NQ#**lXbA;UfQ!n^;wrxvEa11q&3nA
zz}rUWldWwY!Re=t$6w}KDRUb?FInLkLomvS-b58zQF|4nh2npy(>FlqT=y#WWm<n&
z9wk}fPI}-=PQKhXkUfCFB03DyCddc5l<oxeJhdTReZHMA(I^!jQ3dIx9|41O107Ky
zE<lfZ#-_cz1KVyYg2S5NGK|l|$fulNos>FV%+;)}_!U~ybMXSF=}~C6C;?TwXJI>5
zbWMiNr#V|;ENw{7or)q9Wl>EbH{^1L36j0=@KPpBD5wC5Z;}J(FzrjgcLj at ZJaISd
z>pxE5C-<0PI5zB$M?f-y9*kiTZ70wee!~o=E)yVdqpa^o+Vr3_<z#~~5827wvq>wx
z_vrN8DIb6p?Y(Q->a5O(uS!^x(-xI;=&8#pcW^s_DplCRmZtQLxP7)zA5*Pc9FKTj
zq=BmXRjyTddR2 at ft5{2wy at 5#XK6i#xut;{m+Eu#C)Rtf5 at LR#2q(r%5K*T;g2w*CK
zTlk$1zf+@?0>2!JNH5OZxj{Xm>MU*Xq?Jay6vlro!MEH6cNNDmgsx-udHBw`%h%9e
zDS#i`$l#ECLC at sA61~Cu3v8Epm-%lFha$lq+n&l0<!(i{TkAv7#WjAV?aPHldx>eI
z>0?D`DO11*N++7`B4#0r5PCEqcpQG3voGTA9M1Ea6ko{gE>0>T7iIuczDallZnzlo
zGdM<Q9z|N?u0S5Xu1AgENHu9==DEW(62^6TqKa2XNBNlH8K!}QnG*LIv%>`7e1P3?
z7O=@1pZ_a73SBX3sSxDyL7ZyDi*<??ibP>bQFvN2REIF0fHIt7<7q at gEc7=xgYWt$
z+gwHAN4>XN4L~R!GdM?Yr!0h3gf>vzeD$5m<W?>LzxLuN%X!`9F?12Fz^SVvPruFs
zA7+Z8WHs-a?tVFrk$(eeY;f1pBt4PTE!py#pLL6<4X at L-UdfiHvKyaM5c!JCfU<To
z7z38ALkMh9ms-)^wjor at Pa7$@h2D=OKzsc+L>I|PMUScxqrik|bVvWkFpF=yVqjW;
zp2$s!zi|?I$_kL>eW)Kadt~$<KQssOS4>|OUf at jNiz6L7Rr}|1fKW7<qGPd at -1;)E
z)(U29niz}OlQ{3^<){A=7zKZc6{|N8EWNq8z2d$B>HU|@M6n0j_%~QrZNlmIq^gmk
zO!D~^qIkDdD3;G-k-cE-$er%zN0*99evZPxpJdAbBQ27_5FH3(U{j)w at pys?jTb+p
zGQpe3^BKunU<_kqimk6dUw&+{X-T1skEo-F&h*EpSKb)shQgBwz57`j)@V#jZxtz%
zt?B|QCf>;_?O4~3d;$#9T`&#@9@~&Nk6zu}D$bkqk0@~KNw@?HB49-t!k$lJKCw=>
zdix7!2n;t*aNP|k|I~1$ox|XQ#j7Zj1=o-G8P?4e><ZI0V}rF%p_X|AQbK&OiT^Z1
z>+ly_y at 8tVhG|>D;fzh2NyXcXI0m28FQ<CRqL at K!wIoZ=cd9~DQD7IHF`d479iWZs
zHAdWB+PbC2X7N4-Fxve)B(%Z|MBtCz5H3=&;d=jLiqUK|@FmGq+H^lL&%u!XEWOIY
zz#qN2-Uj(EV%xT)?W3O)wYJ8G0-6I>Arm7-NegZ;B50OEA2(wGJ!r7zDPw`-)yfN)
z39U6sO*GR^JWGLj7)2#?X$*V6L_5JDmh9vNrNJayp>*>O#FkgLO$tmRW*kXi5Y;@M
z7ZpgCl88QYf?kypHd5>*!MqB;B3o6Ww)Kcd-2<-UhVN?$3mK1ZdeI|s_4Nhsc)jO<
z6d$)VOZC at pR}E%XAFn8;j^(Ky{a40^6dXT^H0mG<ka at gx(N=mz^E};s;{@AtI3h*4
zY_gochblG%F(`6tIv5)G(OKtiU!)29QzZ={bUnx+k0~Yj8BFeD!><o(UfghnL7PgS
z*&d5)il~}c3YhAjg#*8#JHVx0jJU$tCTpT|2WgJP#!ogC!(T39i=*20S?x8FrIOwo
znSOs|qvdtgF7yI8QEYoWqn1(q%>M96wKJWdaF;ZW!xlVYe6~BSsH%txJ#(LHhMY{N
zOFlp(0_fi3AxeQCTiRT?yjBtS_M*7v at 31SA(9ZBgMQT`YmJeq+5MRd?eLUR0T{Brm
z(rgV6UZF|?Wx4}JH=rxOit-gsbs26DKQqoWiQLHE)Q4p)m$Dx9MU)C`n9pm{?cEMJ
zj7<Mfgfa2!T<@{lF6=4nzoNq7q8p?*fK+F~k_w9%YE41#Nh}tHB^R}?Bxis>bG_8o
zKwNzen<lc=hzB)PPW|X0smNuN8!$qjB+XPAJcR5g!@o<CP-<<hlEiO5#MH=Efw6C7
z(e`Lk<y>^gv&rZoHE~at1}z(8ZxVH<R%nyMEWgm}+{`MScfSqEifzosmd>l}^|qSN
z={?f at D9$D4-FD6|QRtLe2Taj77&5DCR)lF}uzPj32bH{Ou{#c&V*pk~SolPF1@(&1
zeq!wPRLY1}2?o+JlR4aEFeyCE4Q-1L16~Pg1=$@AN at FWXEAUq`A`G<@zXnpjOd8Nk
z at IP97@C4B2qYV4mo0rq<+Qc3i at Z`vnqp*fE`L#wagA2$#WPwHIafv<Z1fSm;yU{@h
zK__N0&IexQ7ivU0&wQ-vQsVL~|7F}>$^%TvCk$7dPB)HMJlpi{Vgf_=qMVkhCDN)j
zk-hY2&#_^;<WC?up-aUxD<4xH at SAEhst2z}@i3H$AK3n329!>n;S=&SDnX;oza<C{
ziR1>@1o?kJLVj at b@{x51Gzt3ie<Tc^##EE%0+m*$CU%e1 at x`1Q&gcT4bc%|glnDnJ
z(V17NVM#Ant9-RRj3InICFoIP6#a9eLWzw>WfT=Stq6o|yj>n`Q1@#_fu(gly3)3f
zGZt*- at rWz%X6MYYzY2J+xw`+Pf>MYqsSIy^*pttX{|LOf%7miuEn{(wJ1VhAU$?#f
zP*E#)0=6;2@*!`;yBQWe$MXbG1VDmk;85}hwMpG`ByZ5!<Z4ZNZG)gF`+}foK at Npw
zRVwfX6_RCq0JGs!!=E^~hdeD^1-9)IthdOjyYQ{18%`(p?vk=??RnRC?<bVKPuO<w
zf$O!m&cYs}RoAh6F7IzV98pBF>Rsrx7BCy%2a#4-2fKmboR at V(#l5${kglI3O{jpd
zMU6SIc}PS#4L^GOAQ8_>*CyVa6a3jx<jHL9*P#gyr$t;fE0u|rts6~EOT%lRl;!C)
z at D3%Z0oEfhTh!!O<w|>coB9k_l_q0!=6T`cudl(Nt?H9p at SrEyLCC*Qq;d*DKj~0N
zEW#|@f{RgCAGjqwn)Ba#*K}LxWi>-}9c0{(-U$vhGd9D8wGk1)y#WfTjnKW{j^j_5
zZk`noZlO1xXfZVPN(6VV%Sx|eSD3uvfPRs`!46tsZRoU2J3HSV7{>OwoMnHR;k!Fz
zW5t5k4PVu(A)>YvU5;v6=<aOX;`T;eh}+`&=CDx5vVO$g7?p+rLVrFm4!B2|-PWnj
z=;w1F{iooyb at B$9&|(Oz96W=p<qXe5lWj at OgR3iZnqy4$qB0E^DEsj?1A?CSW<)Tm
zCqGeJ4*QOj`pd=m!Zban;9a&tBZOc_v$gn}*th!ef*<|0&3?_@%O)(HY1?_-12y{1
z1Ux47MrXazZ=dd?l8!D4vD-2*83v=1|3Y!K<GI_g`+{k1v}2-i!EwDzLXH{vd&`E*
z!hXL?;?d~zggZ9{A;Rj|dGLsRdUDJxwBfrzc^2+7d73U*`bq^K+Ip5JCrU3~ufswk
z;jOztblBqG^^(DZ5Iw!Pvp1g2^?S{V%HC@=&f|Mz+D8beJ at yIeA?FRAn9KttQjeBC
zba{sif2jra`@9DfHHN|05Y at A@L?uKo4R?EB#UN}oSS%S0m5>%_jNx&q<BKs7442lk
z6-!HmgKAgYQ8(UaJtBuy at uA86%p^n`2(=OVnyco@)hit3vBs&RbB$fi(9clC$DX#F
zig{N+yTD)kfiv&v-;ZzgRZdE~)Jl&zn_dYW1?SrzPLDpuBy}0hS8INZ at Ri8!urd<T
z16kR;gKj>+%mdNk#H7|1oJfSUKA=ZDpxwXljL0>WrXl~$(OxI#S-Xd!nT=J@>d;~N
zqHng9`~CwT6GE(Z_F$-Fk~&ei_G?5ZuXwz=QMz)}yIw{sXG&$cVc#Up%Ptb*;(+?t
z5S4pKA~I(GV$r{ebr$t>>}ys<cD^myvb1hh3ew2chzB<P?aYv=V-R)b&e<55&iIn`
z8^{{VHJEYP)Gtc_XP(Exh5r%@q6C+W<lu3kqHpcuQZu7qXxOUT20jietIT~^(06W4
zlUlBmF8FB+iCY)r!Rm3NCs&e!@i|tA$<rP9LE1+p8Ty+!COMQUd%xgD#65je%rV4G
z_8yO7!Uld^_=AhZu&=&&uc_L_1azg*5?=rT#V}u at TelYft~j=;B;VJS6yto_Dop3=
zA0g|YqEKAFtre^Y)T~(;m(qG}N;^#80X&%ANSxQ1roAP*qD9fFo&YoSoy?s5O*4^0
zS`nMFMsxBfHYzk>PqHrNz};{!Pv}4FCwCHKg{uK8U7U95d$x!6*IPBMA`{Bs#HV*L
zv!^P2I8NtD9v33<UTZVBG79-Mk`T at pXkSSQ#V){k-r&Wn4L at VdHCVp*rL!ZoS5LJ5
zWvCoM!BbsA4zb9V?)*P=%c9|qO_iWO+-x`<k3f8`(LEZ;nv2+2N(Y<xCnfYZDeG}X
z=M0Btw#d6MVrg^22&<bl8H$%k47KnKy8z68bUHY{>2VE4=T9pf_c;X1=>q;eZL!Z`
z?$O|kDf2X?Ar8tL?tHBOW+u(!ugzl+3D at CsvCiC?w5`8exypHttqR4C3klthp5Kbs
zc&1oX_qDda?KqCCD;dEnLeuS32&Zy1F6~LZ%kMrQu6e;~=5^pz+3^=|U&>r(jV{%K
z0pAc#FqLTsf|k9os6Mz{rzU;p8?B~bX;DLM__^rGAorj-4Yc^ooAk3IMVBY{#0m1x
zq!TN(yn45u8NEGVhTL413+`8tuxmo9(XJ%`VYpS$i}zmjd=dn^aAeORwXs>4;pb!8
z_I`h;X$1TC?UnJ+Lpyl9S}-Z(3gaUwNm8?0mDgOJr&LiDGGDw+mBR>a-(QFfcm2{Z
z%s<*ZIwdZ`j%j07RLaK#8U=zzS=`Il`yS>J`Fy-3+KFeujpH6uQkLS-AMR7RxISw4
z-W(&T#}PpKu8Z*t>nlMZ#uKR41D4#N|0fYe#Z7gUC5}-ch$eSK5Z8dbP<%Xa{Ukey
zh`%L~xO`PBI-bf4Dm>xJEGi{W;n}b39>ZbiRk38EWw(%Arz%&MPyn9L!R_Kha7>!~
zp<mdB-tq2y`W at um-+rsdWFE0IIs^yafHo*-YBM%uv?NK84- at fW?H5{X-utO}bSg=s
zN=NENL_qyw(C~y<b at -2G8$i*CAbQJz2ni}Dh}ty}24u!nzpXp}m0U>U at lSxsl86%W
zHWun$n#XO524G*9%fgTJT2!hTsP!k;yr<^-kLTDcm!>379W_5<0S~#oa)Npgkch>K
z4&BUORTKfL at 5rRIw-(ZN-b193dOs0-MQ8`lQNh(fP2#Y-9{qHbR7}JbnL9E6yehq=
z`QeS`shch5s%;pp#;$)=vH937>M#7vE&moYz~+FhVRJxj+y?4yj0IhY3s}ydr*8F@
zEWAeA|DB@$8Se9Owu9oIjw5uFE`=1HbPN?sz$!Ug;3T4(YUg5N-)LP!dFJr|;qA;b
zms)vQHATHSh9S-0&Au-~l~V}Cw;OcU at vXuO_*+&ID{L@&@gP31L6#Ei*j(em1wk6E
z7I9tth(%}SiZ0eSzf{l!WgEW*p&svQ@!b#h)$aRL1U?o|Wn0R|p+F=ITo&GU#_M|D
zs^D?i{WsDYC(a6rfZUDoBNfGaKtV0;m^h_8=3`s_%kO#u at -7VLZjUyhU+Tid9xlhp
z2W%vV7R1?$cTAqc<R2?^pKHX{wsU-LO<<w(IcMzq0?G8kVtKBOKl0S_-&b9wNl`I_
z`@iifABJ)2VG`cUJ;)8$hyUP2<C8FzhZ3x^ME4Azasg<j08l3&{;^A`atfx$ZE=>t
z4+HaFa*$|LUs}XEvy<6oW1gOt@>H_gItVU1IFBk7ZnN<|EcmA4!bXUP68jnXHf%oJ
z*csK(hRE5moJu@#?UOiL&iDBig?>9YA0ZO>^WUAUo?e&nPB(KUd%<e8#g^VjuG=6y
zvKX{?U<TIQ!)fyE71u&XkbXJN8+htkdMCsfH{(&iF|RtA#c<jko3*MG6{i5*WwPan
zUiWYIlWw12l0gvlXVk_7Dp&>9&ZS#7p3MSgd;Foj1WWltf1BPb`o>+x*%Ag$M&j2(
zFMO4T2SS*Q!Kb8Yvb(o_6dQo=fp-&J=OmMZ`c%Fh!$`&@dPY?kD%8v?`3S(BnRnu9
zjqqc=i?9HUcm$%JS}gAjkS6~1wsjl?eKySow&j>nbZvU-ilids<(fRk5jIe!b{DQ2
zie7IXN5g)y at 1F|4IWs-}ra!}$<2ZIX at X==sNB9{k60gQs*S8VQ&aJt5DGc>{!7}9y
z#d at SX{g<N8#nBc?E$e7KpTh`FXHt4&og-ZjSMjoHjJ!5|j*l)t*0Cq`eP56gt+!i@
zD=J>$Tgr90f&qx3r51O#C_M|FO9*0%O5b|+mY;vS4So-<7jfpX2ir2H={~7D^JaNU
zXRTd0t`|txt+vH}B788BH%|KS7gZ_NACmdH9Y=A>NXXxg7(%k8rZpAMPp(zQdqnA>
z{c6;dZP?aok|miAGaI=F3eZZg>m#Sz+xT1P%VmjiWcE&Ogd>K$Orn(0OaYL4-dAl|
z;EInxA%lW&s6z;|yM_t+HbCvif<3xqI-9DQtfBOPrr1G!-%ZSeA;m_S#FLj;1V_t$
zd~r9~zEeid%yC{~-4&fHtZ(Hr<jM&MHfGto<xtI$G#!yG)h~2bNY=QA$xG^NWz{nB
zC{Jh@;z at imI41*dYirzv{5H4k$#?Jek$mH3ln<FHT84nK3B6(6Hn)X)1&zo-kcl%$
z`$KxGA at l?*hpP?<+EJwnHwjl)zaKq2*N)+r&R0G*zb9d{Yj6{N3^|0kr+$<6HkT-y
z;X62S2bTOxk~RHdW}G at -=hu>iAb+ob7+EH=xMQQFIrR{j0G)cKE&jk)bVpiE)J~@R
zv}?MfvE*C{l5lv*J(wUGN~?OkIyG0JuzD|4Zy}gQmVDYG at 4{N6IX3BM*-ze`3pjQ2
zk+F2y24#HSEyn>l*Z|lO1GkMLN=T1R&AtpW<mbLEN}~Gaqe`bDtoe0E3Ez<Oq11My
z?!`Q>*`bitFpBQcMA04Nsi>e2*7S*KDg5#b1a|49{0;56S%#2sOiGeYQu<Xi=v+f`
zAxjy@)!{l_eVib~O0kgHEWm^kF+%a9I)~&!m?Mz>j1SYKpBUALNGCn(%Z$C3d#zJZ
z&P}Z7yJwN;j;U~>GQx!3dVJu9p8YPm6Cz#X{hi`c#DYUy;az!bzKOoZw>MoFh>bL6
z58G)Q)_s+-uDSTq6q6_Tcbqk&5|2G_Vn5mtBXzJ!r%Un~5{N(4cdoC+_hPEtR3GI7
z2W$p+Iu3oCO*F=7vS=)L=3UW<41(oWrbsQyNFc)KdIRxYEIjPP0xc6A!QW%?JzFIO
z$f=;M4NHaNvzXt<XnXfpjy~wRFVv11dx;NzKzW?-pT>x*ywpQldAL;|(h&Xj?DJ2b
z`iD6Pow_a7&%^QDdB0$;9RX1UE}6R^S1h~$V1qe9B~X|{<Ygt{i)=xW9rIpjtj6Xt
zE*k9TJMq4}wIH+7%m>gNT5{7dOxe0(Ae`gE(;NP3(u256b9i{t?1jihuWa?kiYOq#
zp}2_`8K8fv#Hl2Gzrz4l9)0;XvQ at xh08U)?@bv<;!oPiQthZdy_rx{&D-)FC6UD-|
z7X{`7*OY(ZhaPUnoKR`Rl~G at Ks`Fy~7Ht3WhLwuuivs-m6!0j_y5WMWhzGf0&nPLI
zA0D=*J1WUKvqK$|Kg-7}+x)p<_-mW*-fK`61JTwLJ8xeD^$%|-X-)BlfYN^Jy#B>$
z9mpR)YsEh!IEg(9U!fHRhM`ZfJ8(i|<hg#SYCGhIAndbLyiqvDC#&4)Tq2m!kHB)Y
ztyzyr2AOtEM?8?K^L~T3Qgsm|SIC+}I?9~|GG9s|R$Bu#&W9~0lLA~9fBB%ANp2TF
zEreNaa}AukpAOQ8_WX$+1d?qoQhhnG<iManqUQFwsTEt_-`7#uX#Pw`?zE=@G4+z$
zPjJy#@f?a1qo7tmE{Ll1EI;i(>9uX~DGTBhH*9Bd$~Y|#@Bowf(_4i*QbP@$HSd%8
z4RnhdYP`~Pf}S7)n<Vt``RF<8{)*4#qqvWf%F0;HEpw8NP#jHTu`zZdBme=8X=fcm
zE#a#?Wn_a3yF%qJ<ObWQ_(4;*iIWp|6^jir=qE8M!*3uWR``~A&N+|^-ISi8_3NMX
zE52hl)k(h`^E)<HDy<6tEdD)u2+A6&*W?iJuXqQNefznT%l801ZTk^{)8|jTyN|pt
z8~mr6Zx3Xg_uU<5c$`8kV<h7$hcikMzMu23u2C=JjHACR32i-QGOEM3HJZP6yVV{9
zMRx1_NkVqe+&t!qm+melkUa*KAyrkH6X)DU=X+X23e+=KUZ(5m__6{c{%?xf7CLKl
zf9!@oY?pKrM=56JA2}u1GA0Mr*kgKa;@1G!FODq4Ppr%X?^WDgj`H&p$1YXkr at 4;R
zH)~8i7r62Aht;`XFTuV^B5i^0>-23jDE^|g^wyZyw1u(s%4B2fq5U6`5s at eHg2Q^l
zlp(=}mFEdvRdYhpxV)sp1|J0ZL<c(Zc1K3uuHPeN^u~KJZsk`gLSlN at e>T{SMV#it
zJ|iZdnz|+(R}Qw_qt^-0VwY^ad93m_eWLS;4iOb&8d_bR&<o0gU$R=wL%Y)b5%fqS
zSS7J#+7T at HAy<eIOFFTHyj9 at o$Eg(Xb{10k56#qI*J=&Mr at ENA7WX?LQ(o)4ch2I4
z6ovZvh4!y+6LR{&<RP1i-7|+f>B-T-yrsgQj`VdLsr{;yJ8;Y#xeBZLRJXlW at 7oG#
z`*>(W3F+5Qm$y8$%1u<~en;!QWVDpoKD0bv%HNzsX`WyS9tr at UBAoI;?tO2;kU at pn
zMp=`Wu1nDZq?$TiGjNSql7okL+uD5x8p6{nESj{-08H0#9a~_XhU3Zl34$R~V`_u(
zl!Gjnp}C9Rz$-k+Xe>sQ`+0Lx>;>9M1j3>LX|}iEIc(`ifmI)AXN-rR(hC-bbt at x&
zGrG1=TwIKOmy23AqE4>zVH#O|?(a+%+9`s8q&T{*#mNSL!6Gm_fQuXb at 17Mqf~2AX
zEHVB at Mz8^D;#89MCL7~&f`6nn=Zxkm+y)Qv5%!UN^iwLT<RqzGN|8T;mwVYpPd!!H
zKOHb|cJcQfPu)Cw65Fv<^3SUy`^noYatX%N8MBNBMMd&mwa)R7`}JeSw7%???DmR(
zf!~28*jo`dbmk{h{$yJO-;Mq%Nu!XU-%MWH=eP at xM%l?0cn}u1b;noi`gr19x4cDB
zu%mO(CPBBZTNxTEMfDVo_F1GdDMG$dpD)H`g0!$TC38&q*D%m67KXT){L`{f)^RY%
z5Ia~i9-ICPU({}Ah8Cv50$;@h8OQhT_lW}5!odCT17Y<rRA*t@)6WWY^V$&-P(%G5
z-0yD9C5usL$Ejm<wz5)gdw`ui)qh20qE>m<!*BPd`cB8U;Z|wUJ$hZm^buPbli@!R
zTc|$v2W_}@Eg(ydSK{<hR}XTu$P9`PzpDDjM}{!Gv|~(S5Uz at Dx_t{g2 at H#1!=GVF
zBE{^tGb=laErP*H5u$JuEO&EaqJC6u#4hY3N78+`sap)-`7Eu>V+^9n>;(+whrEML
zx5efwUJ&<5f&J3;u1(cqu$|jXI4&M+lVDx9M(SHThR+C14Tv9OMb9L(R|whFMD9iD
zz4fE0U`u(FnUONy8eIXg;t2+F+sWG!j(xF8e>VwM4g^4Dz2sCE?SyL!omwAj{mCpx
z?)>%h1r^)FA?($^UUy8t3Hi;}#yb8%S}9#N`R(n|&q92yPbE{xgB~L%j=y&zOVV2W
zn+Ie$7y#WlyN35nhf3CBLM(u=E$pd~@%)K|vEOzmW4>}3JSV{s*wx5uuz8T+G;AX(
zUu!U>LpP7x2`UGbj#m=^6&^>a!~ivrMn#AWV#F+<*hIlqb`AWEt9$XgIC-Z1;ZCy9
zMlD8W8Ip#{Pf2+(6Kklmf8EqacrkWPOQbPyrVNyjsAj&t{L0NcS<w5TzS$^wZ%`A|
zO*n{Kw5w<_-Z at BVG1C4*UNMcr8G2C;+v8(Y`vQvsG`CU*$loBE at -B|?lnon6_0})v
z<*A^|-WSB?9o9GC#xy)&vuPaYx4P2;7ZYjz>slI)TIlcY<*_*l!k{s_{g^m=dk?8C
zEn#0}LX<HtUHYa|w at k6IOlmrhKLOOKF5Ht&Swug5PaU*W7Z;`8n?1*E?>2FyqPMT(
zf*1@~sTsxB;wv&_Y~=HU%uP%4^ykNtVxNooKHjy^o%#Ctfiu#Q&L^@d#>%io-Qzp6
zC|^+aEY$8rg5#(;v<7=?<}ll+c6<~cd`L#D5LjE$MC4zcPj<$Gvr#jYG`rL6A<;he
z!r at muu;r!d6fqp&B0Pb^P7UX=g=TFq|43TN>HaF)aG+XKoapc!wvcCb+1t4-JUiGk
z at qPX`G9<@;BSW&V{V!<$hYZQe$;$jc-2MMchGb%AX5#vPk|AT7!4<PF8t5W*>;pH4
zh}w95z>q!%Kfia#B<(@K+}vQVQ}&PpA>7<LovOQMXEsi|E4-qp4Vq%EzdJrkiB;5%
zP?_9V!KJym{V}!DHD7 at YVb0IHfY8xh$<fi-NvWw_tm5%*cMVCY<?^B`n+rjA1%3_b
z`jZpZ$!>vxwW!!T1C4d818c4WSLu3JZF$qu0<oi`?*N#bo%cb*Guw1BK~d9y8e-uE
zHAtzMBq$g#tYl~q(@y-p!RIpOfi*om+OfV}A;Z@|^{S?2ae-jS32E~9(&ndz;PXz*
zP2s>izBHh;foTxOBI4552M2 at 3hj#vs&krky#{%#DfolLM1JMhhzZP`r`wb3?Dt8$G
zsECG+fXTBpxq4 at 4&nN^R8yo`v0YhF^P5Z;w7$9&!I_1Fv$-*lpB|uVg0pop}&;l4h
zA^Li~Kn+X`zZBa1yZ~rp8~b)<C at d@zUKA*h3|5db{vpkHh<T(`vtajNOhB@@Qvhbx
zdM6jKkIc4A&CT?*K)COjEigi=0uV-EjMtlc-D%ybY{44YniW^Szhj>onD(h;xKqQp
zS62b>gc?P?_b9Edz!?FX*TbK+sm(6-kM_539CdZBjIFPgP)-~arf`r}W*m9Zuf1}8
z#6<$kGK5fl;{yW&gEKHd+ at StBrs`9EAsR1^Am7!WI=^cAW=F?=6am2WAZKPaz+eEO
zdj~cLNDx7KTS0+bKk9EBqWT7qsp at G#AeFr0X3&M)GXti%gWs5+uk<T9Kz!)8m-Qf;
z-|ug;eh_<i%x=zg5AR0bFCWYo72y%(mGgkg1HhT67#<%mf3z-;IJ>JW5CtTTe^e^u
z-pj5~vRoA)8*Gw50SgjV0_djK5uD?n- at Oaq<zeyLi|q^ufG0DL#M>wcbd`&=YPN68
z1PU<x^22}Z)%ymVeAH3`T9E*|&{7 at i>tEF+UpfGQQs$b at rpMPN5O0Gm;q5C8XJBgI
zzF(##Frc{sM$pNM;{#Cr7dYL2RdA?(;ab3^$@Op3Ggt<VPS8}<H-5BV1lzYZ6OR>S
zUPEE!({B#&zOjjc`(Ee0ZstbtT{w+f-tTIVz}1spte-8xod#?$u*=i?M?^(MU?9V~
zN3U^m0rOYwiLpX at e)IJMnUX_FAg+M})yyCm?4Jcbt_C^&5Fy3Bk-uOafYZbPgtkD9
zYXn1}2Iznwci<^xfY25#km<NUI9ea=6J$MbS}}mo6{vBFU<lYC<twP~^4<?IO>Z9o
zq><)Z$iVd{iqF`2Pw)eT{0Vwn{sa}i5I|OI?jQr!*#Lx$xz9hb#W#cla5K|;$N)My
z0AXG6x*sBB8iF^-6+jd4G%|Gp at ZZx11_1Yu>wH2weuv<0>wf1$rW(B=K*icUg~92@
z{Y_0md({Ti15H-_EEC)K1P!FA|AGWdHGDyUsu})9Fa|gKjvL!U8M%B7!?A|_9{3W0
zo7w&shkbbg_C3M5223aDS5yT^`MwbUl=vmT0PT&13z(<4<w#k7Q%LPcpRtW4-17 at D
zI{j*W>>aFc2<&`}!*2-GIe0G}HK5SQ>uydj%s$LL=j^Ai*}M42P40_vY-Vw2ewV<s
zhxe203yZ-rJ_h+*1il?%4&ucH>;uK_KbL~pqx<=p>P_S7eXn!e;<N!k0~a4&LD&0)
z_<qu;(*Maj#|toyg*%ROc3=DJ`@%e}z1=?({{5pOh+zV-*V{WMm`5 at 9>)&Z$A(mg6
zoR9gaPc>9N<lziLzg7iawKKPPZZ3VcZCu$cl{1 at G{{?+3F;$_ at 8I2Bd6UV@05d*)3
zP0TIQl@#@Ej(2VhvTCVY4-uW*{x3On{0P=x$Rx;26|gt&J)9qw5bMINLavj_$K0KF
zdDN#y+g`sUJ=lMx05YI{uPLop?<ab_=<*L at Rw5M=s4`3ZHG6l#kHdu at l8n9ue%L~>
zxju14XED2vQDqOnAHU&D=^m4C3!=OJv*XpQoITwPnTz}zBM$Q&!pSgWL&8}=4c%?N
zw29MH&z>nWBo^9mJf8!gyR>zi(jFciqhy(|187)t#t!TR&U06=!ML}C--mHY>XAAg
zTX&qPS$lu<fe~+?iGEQHBGNi7qfZ0JQSa&baILkC)|V<;)y<Q8t1NyP|HGKx?Ax;3
zVMf$T`Q?=4it{85ujg;{g&|v1T0xJJ4r?@4V3@#C;!w52C{ZZXCu<+_w#on at 5H}gD
zx0shb_U=bla_1)CyeMFo1u`X##teGK3Pf-j)!=1 at e9v`uhe!30FUf{2LOPX5#;?kU
zBP2sawq+34pUI-;yGWUKoZZ!{M_(Yxv35)(BBk<R#4bhirXH^1Ajt11!#&tfl27GN
z{3w<n5S8bF&hKS%+M*KYmc<xR72Y+sa<*vANfvzmSVeX1{oZuEhX!(Arjup%uc{<)
z`7Vo>tdm*wy*BBEMWDMU-_ca9$L!3NH20t+V#^8u<VLK7Ne!e at 3j4<HrD*tkRq)wK
zrBDT1TyH$fKA;Wlw7n{kx_OZlTetkdAJj+6Kc7i+hKJ=N4PfnW5B?k(>>D48Px)+f
z&dNQ!xshlP?-*}EP`U8BQ1!%K=I_HC2i$I~;5UBGNr at 9pFj#!=TqIx&>m`<NH^ymO
zks-P{+Ktdk%iEpgRi4kEbih#k9E at ULJ-(><i4ry+_!0`F0K5Ee`++5Ed-mO=+kU@^
z#36KqP%^^7Izf)*JqZgEmtQ=cCR5-a*ZE<5n|QJcSxM%yDN~|^w3ev3eqBz*q~{|-
z_Q{!j6-4+$?a{$|M`0H0R3+4Uakp5FDwxlN(ct(4M%f+U<m%2iTu7^$-z^0X0d@{<
zBLb>$r(Kf6s+@>jJz^u(F?rX790)2Od!56%m73DTa{CzVo69t(+07}-Ckl_xgfYM`
z5Mae!m%Q=3a9gmOOa=QeWdxl}xE^%cDb;G+S=b*Ct0mogS86A^RY>;M{BbhEfCa!#
zA#fZO%)WZ;*r{io1g_E(ne$rIhdB>H56O2W^>nN!h4)fx9aR|>K_g)*?TORkp}8Gw
zD|Bt<N;8o=uQ*9NMx_bB+Mi~|Mp($?!uoGKv`vPa^f?8r9dl&r0pp9BUTdri)V7}E
zv at cx5e3nF9#RtZSl_W9Lz8$c=jz1`6)=BP){}lxa*88JdMc5h2w#!7h-LT&02A&}h
zy}>DxgDJvSxg4s!gKTYi*ayf<%KRKT5;LH6XZ^#(n-pZStWA4I;Y{gLZA|9tk4W2r
zNjF#oLV{Absp^<Zwajl{kL9sQ=oF7ZeDd5q!>O|XpzGf~q;Y?t!L6?08&Ws?JStCy
zui*Fr)Mdx2xKh0)t%$o9b(lgEw&^<3{d_|lCCI_6G+RZN0)y_C<h(i*z9r=fXBFxx
zV}SGVI8<UCJ+264xkJ=k2#<)R>nDc;wjD+5M~H`eA&BDi`^KhZd3y7eG$1lm;447@
zMvZq0+;Wtd$qIt`?0%3DTbu0bF=p!F^52?;7uwp-z;)Np=FP8wc9=zG;aH&hAaX}i
z(U1J*&{w<FV`i#QZ=*Hoo^4y%(B4usrsu61s0Loyn7C4pO|Fo0*qc?vDHD^ycq_;m
zE%}<-CIO7xIAosflfJVrAiZi^gM_}=j;kbWWjeIq*eHuzg!N^RM?`~TuY`%A4(m`S
z`vSsp?xGAtv99PY3=%}%I0Q%VqrC)De*Xe9KV72PUhAe#A2dIEeqE85@*NarI~$E+
zbWAq!<+vAHMh$p-*+7P#K_oujJ+Y!5|0<KWx>zk%0=2PRN=BKdP#_3&mOt2+h9!=u
z8T%PRauA*y$$0^(9c<IcF~=O=10r;S6^(0~MnZvp;0}!$iN9!)OlP>1`Z|ztWLKOZ
zx|$8}z$Tg0qsHz^Ad1iBTGqJJud-G3aD!o{DO;VL_UfH|xyUvVfGC0`k%xdF5W4Q!
zWIs~F|9%S9?|tpz7Z4QuFdbeCGDsoIA+=N;nJ_ at FP@nI!ibCF-e70&lew&8&O2Sr1
z#w?$V;3e!Z4>8o2Ub#dBQM$jNi;!<Isv;0>mGrzrs488bMt*hZD160`iAeC0Wl?)z
zl?i|Dt_;J4Adz~U0+IMl+iKH2v3p~8s%nfmT}P#7rOaWVI%}9aF_$#b%YxTNpx1&0
z<vrc at H~p6)jmV<0tQl%li!#A;vZ$Ce5r`5#I0m|*+;wirZCMVrF$(QKV_p4?DMa=9
z at Cr8in);-`y_#x%cM?UhUJgm>O|FP92{d|i&!oCjy@#+uyZg%l=(HK&BnkA*32#+N
z%WRPxmW~s~052}aX3PRbQ=RLH?hbZ1N;S!G^1K#N1fDNM^($#5j{uV_o<l7G+DpGg
zw?D)uH>|ZJlJ`&b$>OdYu(f+;H=RUUPxPZ6b1UE^eu!*)hBA7Ff%d&QHiLHHD;Tcu
z<Ru;5&SAE-cDWEGXhS6klW=R#c6SL1%NS-iWi1h2s<e+Tju1T%tjc2 at yDG+*EC(&!
zI_*i$)i#?XbbP>T|B$pB^D;Tu+Oa#jdo+=ScNYP(UH^kwh!Rblo&KE+dwHA at 8Wve*
zkIP3=jdztJH+-Y~8`_f1nN at BM`eqB)rdP$D4Lj6lP2Br*`pbZ{`P?!D&EjnA2w(oG
za4_6`ycp~cAp)==<Aw2!&MXLyvRKn)4kguCU+*-!m9FD(bw0|E4ghyjT73g<LBP)d
ztfc9Sw49U6)r<T$8OMh)N>2)e1G52_l{9rKT1y~yPDoYK9qyUu<sij$85(NasJ7eU
zcQmYSlBLD&Cm0{3PR+++D?^}sU}|b&<zrFVk<uLrp=zsy{7YTl+!s1$>-~l0CyBZ7
z?y-iOAid6BwfE!)++A_wFC()t^p`QmYM}-$^JZ&`u}<o?EOmH)(g~NnccR6YyPdHu
z$K+72mABl>W3}!bsoAIEmEY{YBNJ$S?Mec*eeyfvTrMnp1az+<EGU$fr6mQ~tB^hK
zt#xQp34h!X{KU51MlBUgf<_s_f>w=H){}qisc=@Mbh{&4Zajx3N_2ra6<Xldn9G(Z
zG at p<X`}7<_$&<awP}mr&WZt>0$=to%;~3yp8K}aUHx|>+P^e$-X?C2W8#YMM+C6;A
zvsz(=W-(+4&$@j(dka(gUEkena`RAn8=8<gkUx2TO_%H;h09;X@>xhX7sR1 at tuRzt
zuBx+%T-{LX<)vV&^%{JSEFc$hO*e?5sa==hL5gdW7+v&BMN8bswQG5`yTN#IKY5mX
zg@;CFvC#%b2^!527<uS;t(9<VG`+dk_fQ5FU?V#b;_m5CuNHp#&kzmZM)+cBj+QmQ
z9a>GSCPk;K$PP9wzjSOeM|Xk42GzGuuzhR3j<4iPMKGUo>-6eL(kT8#J?HE#?CesD
z7fTa4)%4xXf_XH)g*9pW2ysfxC8D|_oR?Zi%$FmU|7MJ`jK_g^Gn9~u32d)F+Zit+
zIl>4|*D<TOBMmA&c`!+i at zS~l>99V*#Me at 0U1WETfhc!pKtu$dK2qRkM7HmSo8VF!
zcrZ2A at DYyM`C2dd&|{#ZBZ}}ewOW$?e41%h7d6q7mc{NXRY2Lcv_|H^YZzW}y&ySD
zqXD~sU=hO`y<cegrb{Ql)Sn)(%zFd<6F*(`*uzLu)6Yr5!7F7gn8F5?#AT-4BYuHK
zrZ+m}+SF6WXbA(Hf_Yc6J6jcOhNY}O)!Jk`#~fTCQW}_?N=3fk at XzQ3O&{Xur*M6t
z`WW2uTK3+{&RwPdf(#-MtHB5!QXWdx0i}L|&W}iqe=w012-RmB5^nHE0PdF62pJ2P
z`gi>=FPrN6wv)zCm(RO6C6IrCTP^JaCi?`c>Q<@kFjKXewz=JL=FOVNlW6J20T0oo
z+SOc_jR$*~`^wCORjn97{7qh!@zyM`c@`qnyT#gHh<DLe^Eutqjf3)QHU9OLRi`2P
z_M9)QHjcv at C096DE%1j>vS-+?@G<S+*|=#(Yog1Hu${cZs(P}=ft at d=_vS_*E2Whs
zvL}s~N<r#C3dw at 1=EIFjd*a<uI-z6BvX=5njc2pZ_)atTuozFRboj$(;bozc!|}%n
zpsF;v0D<!2Sl2>+Zzm at XoHG`mu%q~8*NZS+%#Sb*h=p$-5cFpTf9?vMt}c&P+#A;0
zb5v5on&kLxe54iG*J6Kwhtky`zdZLy8-eWiuT@@YnU=Vtf_ZcTbb4^(+o^d~FCbvg
z**8fD4S5BV!!AX#9hlm1S;<WjQsx^h*YX8tGg4?^vD^kwOc~}d$oN`@kH6n+cg)>N
z_fXv=1Gb!VDxhL6G+4B>!JQhtThS(<im2a^<v~6#Cz%yE)WP>kCpV_W1^Mfd7W*;{
zk>lCL$PJdlSoV<Cfq%Bs)4FU_StA+kLcXbIE+R}yV?QitB4BJ9Mfa_m^4llNEoz#e
z5h|s^35O!=PcFOH$KI+9No&MlxNh26hRP+j-Gj0?Z_K%a6u)?ds)bx*V at SW*+{Ry9
zynIB78~G0iD!L42>5^+X9L8c~wMt(#^ig^Aw8~9nKjjU?Fq>&s#GA_Nq%bnH;6FQW
z%!#`}KRQ9TNPce>H68P=Iwoo?!*WAb@}Nf?oR$4?t at aZgFPRV|n~vi|)O_6LFF~HN
z<<6VE_6ewlt-I|4CW#0R2_hp}4v@;Lbgm4m39~q59|hFyEK&S3 at nlejF9xiNX~p2T
z3zpH-Bv(X~0VmRcUgp6Xb=Qv!Y^p!fRx`aS-q>W9Ecq69>9F6{+y2K4W at aqig;buN
z4jD()^O${A(~(svtyi>b at 0McISFUQnBrerj9dU$)tgDm!dAFapUW>i6jI=0Cu*1ko
z2;gL5bd0?BtgUGW96 at frcFikG0E>?VGUukb%Tw7aCGSW?ZA#Gxmp~E?V~XvLxJYxy
z;uiejj5YsXopNI|x719DT1<%CrFtSbK|Qxn1cv>bh5`Y+*yws%3IGdG;vyd%(a!DQ
zzSRyyayBfjjr_=^mY9IN<L%2)H|U0X at t^rQOrJW_-J36O2U)?kvh48LdQOnJ-Z!mn
zl#quNZ$?s6Y8vs8dBu2^ozoX)Gf7;hML$t8R@;oi(`yxqoFF-Z7~`4QI|c)psZ_A*
zA<@<`V||B(ay27!0I7>cv at KYuF<D3qVdRXe+oso(7#wCjy}f at 9B!j%;&B^70Ca>~t
z{MvC=!jhjrmF$S2y4>T1hVYE5d+spV2GU;%OvQBce$H-9Up=DZ6k)=m3$U-6<;}V1
z4E3oCZO<nHb!OUF$=#@Q5u#8>j at TM^SB{+6ItdZ%=%txvOFADZ6vzJZixb#=aO8#x
zJ(@^7JH?DE`fU{=iF~=P-h9$48dJqt6 at R0s98?u;pOq=l6R46cgi0X?yACw4V$9*N
zf_Hb*{32Qv{0F5oeQme;A1&RcN%w>BKRfnEHIIpz%D=hMtQRFCxrwflMLI%)S+saw
zn0L(}2TzC91&^<Kd8QLvtu(UwBu5CP=F_=;f`w*F)x6qfjK67K8pddv-Et>cfrxtU
z2N6-Q8H~WV*y;CiNF}VKGz?dAtj`2%-}e_NX|P)>+at916q&vGG8NMQ_GWMPSR#2p
z3O3pq)Ke^p3g&JK$u`5j-_tAWjROb&?rSa+tl`6N5Oc;k+NvkPH|u9My_xt(a3|y$
zq$KfO-4WVwmm!rkMjG at bFT^9T_)|<hPI^ZxfMzIgvNSUAN7(4!YHFHq{pA#U5{M$K
z)6~RHpDo2u at kj07;U^OlGh%3IF%yx(+&}#%2p`uj)vaVl=I309hMxYbwz~`RONMdj
zgzCR-r!H8PD%M+1e4-2%Ky<4sG#wvu<mkcB+_92oI at 4?S%Yu+)GePt$e^)o+doI?U
z^v?a6UgR+8&CJWd4xVQ^k%(4^syQKzig!xZ_(&<?R7iBUDz<K>^X=KH%D4rOtEXw|
zh!MQHH+WGw+i8sp7fK!Gc?hxORbVWdH$JxbWt7BuBTTbJf#wi#{*?Da9V<L4xFzq5
z at X3NL@<DZYJ;A at ah16E%c2&~*=4|txis=_#?kN83;~Li|5R25!O-JdikK59JNs-k2
zr~Yb5_vdX4XM}Lu(D4Z2mGgtzaLMt<OX+Il)If*TbEX at mxMGz|pMVUTxRH_~(6Lg!
zJt|%lV at w_S4?9%jSnZBoU}zbsrLW>qE7o#Vu+7ArS(Yp at RRzn3p5&VrK++VSHRw}Z
zU3O!Z?qvYr*xtus)-1|?i&!jm!Q1zGJ1cwP2S&NRxPpEZy3O^a^quRM!Y*}dVQ-V*
zG+|FJ-6W2%jV6~TZF<o*BSY+pjE?8A9*7iqQ$D;g+6KE%chLNnM8WS at x0COiYuZkK
z12vi;yGKo~+hO!f^`2ZKYDZRAi^kG}!l1GU1IXjg)4*&Pnrqw_4*2FN`QDyGCh12n
zVImK-kd+1KgUq}=U#-t1_h2^I{Z#@#A)~Y|%Wd&BF3=W8 at nlR=xaZL^*Gn8N#v)d=
zt5-DC<PObQPBYg#ZYS7a;q#lt_*x#cCeOMWT(yzMr at UVaJmvSW%e$n2 at cRzH-dS;q
z25`@^$6JwkLo7S7f<;#N;14Ti+Gz8SED$o><=j$R3orJR6vH%V_D?+6@<^n=N4ri?
zgxS9^uiaDmP1xrHxgCK!<k{0ZY`qlKWIwNMxf+M%eWY>Sj7ob|Iq&H*H$4>5#z+*O
zSpb)HB-N2J(oqs_DqAdTmeaSIZ(Cn?&_TCr3&>m#qB*_0MVE>{o~s8l;HBhVc(~Ys
zYi_lQp=j4gH64L1g0!e1|B`i|2PgMp1;?yJ^)CtSu?hg62?pmo0u4<<iCS{iZ0~`*
zs|ib4v0J1LoG#)^!-V9ZZ)D^F`f*Jfe*UMicL35P>e>XmY`dz<wr$%s-?D9+-R0`C
zZQHhO+t$=Kv$H!9^Y6~a$;`OQdrzFmh>JYWbFla%Fg(^)m&$7tP%gVFqJ6R2i=Yi2
zJ};zmh84)CSRTYTEk)lA7-RfzhK7H<sDeXYP<`8b at R%`ug?r=g+Tl&Z86yZH^J5sy
zq*#kRghYfM at m`#Celam8)MtbbJiC#!>y+M_W2g at 9hkXuhs}4Abl8qOKTcH1rY&F<P
zlF~0QZK7aD8t5k1OE at d_Uf*{>Q$RhIYCb4el%af#I*$0>I!!)MHwg5vshltKF?o_o
zPKlK9gxd2t8Pae)FCbFCvU3xTbPha3+8j!#9E_Z8iC8bKnWiwAZgWO_Ws>*#aW3v0
z0BWf!)JLU+{CfN}a4ZTk_R06-93`wT?b~ttb{&thG~1FQ&zLHIZswCe<<gVQrc@=`
zQn|C}debi`QL`YE32nM&GY1+9OWIMbT%x&Nn|WFMTG_o_ofq_#*t6MM$s#1SVz_fV
zB9!Zgd7YhCujm{k&J=w_Atm&nMG}!!ZKzPeuT{|?qmBE_#kZ}=@Nk6BE2oR*E#BL{
zdsoq)2}o^(GVEvwM8kL&g^BxphG?lH_#SOG*Sab4!MLCnJQM#&%Af4uo0r|Ymio%k
z0V{QFNt4ITePcVtW^$Ite3jVeL2*B>it3uoFE=hzXs$c|Lx(G<P1UI{%ab>ImKrk$
zDU)#S9Hyl3@)|>tgXL*#`Oux2wDzD*iIQeTFd_cB>^Dvewwf`KtQ4}`cZi&0HlWaU
zpsD0NgHgA2{dkH@>+pOcG3Rf8YBE(Xowla2-A2-7liY17?`A;*El39`-L)TM0a^hk
zDez})TE#!MO-Kpa7J!6_=U!e;|Iy6Fp~}~kU9C at g?LX$JMKH-U9RG=Nsa*^s#3TFO
zeofdZ%&Q<y4rl+-j07`SDreUfQ?!vbxR`|Z4$o8Kc7$~(bjjZj!B#lUg70cJ2WC|7
z2Tf*$^cYW9&XIIK_t-ZywT9ak#No9yj;lA4BpxxVsrkt4iHlIX%ND=ckv?Z<ghAft
z+>6U}ya&?;pW?T4KeQd0XdaEeM-)OMSS?7VOFAF7YL at h!#!xVU1%dlBw>2PMNccUI
z-V8ddzregbRB9_20?(~eF`J6Q;g=YGhFVz#wCd96==H at 0oxy}D;nus-{#pcV?b#fw
zFFO*e9h7D*%YK{nwge)6ZBMZb5ScYfRcG7!CEqj7$TsY$Pgl;A|It~;nWMpPj-j)K
zY^5>1i3Hs^zS|Q{q&}cgHsMX>CS(NTA?`Htbwl`!pnb{(*}jwJM&qisdR$3FTE1U|
zjJ<2R%;@(dx~+Tp@&FdEUgA2LJWQ7r$Rx0c5E_8b!qa4^{2`)@Y<_gBpzf~pUZFbx
zpWd3BK?`3lKbFM%VEE!au1dr|w+FK6d at IAi_0IA}R=Y`GxsQ*5`aLd<FSnCL(o&``
zj|B)LnxQhSlv>xgwW*HUu at LSLGI(C=R%r7f2u at KLwJD2a?e!%OXn8xg92z8oU-aDj
zx^t?#-`FAk_b~gl^Ld~|`}g#4zq%(m2ISatfBW(;mIC}n;DtS{NK0NeLH{IYZeV?L
zjckd&k6QDw(YqmOtmt5R=_F0_oPGwGyTFrsgAqMRCP at Q7n@h}9W at aF^34{~{Vnk4O
zD4bzVsp~uHhv3<^;xc at P>H*v`3avb*SA$FEJF2UntgoLH5(w2d73V*{S`}h4CQY at s
zNtUTEl6RPcJP#%{3|ia+MXtLYz6cLUL$|`jl`_Js5f$Ok2%@gK%??2hhr-`U<JMtn
zleH{FElwY;`22k^+PlRvAks8DA11R0^SV7_zw4L0^r$hx%sw0RS0w^N`3uJ0F?`jj
zK(GIqe<ZicG-LB#44Byipm$~lIYrP<=){aTg$wDb?v`}76pW+q&<{3uq)nD{GE~*z
zHyO6>3fpk8JthYYX&z!4S`TJe7K!78`RrF%C~l*Rbv%bW`*DFpZD&o;BQ}2ZL4o;N
zYB=wAk at p>Fr|<i%7pevH-H$p7<Y((bS%>sOH?E)YrSl<oK{^suq!Su?P+QtR84cQ^
z5^dhGR(EI%E{653c6~=w34gn~$Tm7{&+T=NOTMOIDGQA#YtY%dl1N6Xs|RDAi2V at c
z-}6NiZ~R>@jGJRQJvoKNxkc-O7%ub!<f|OD5o-`f#-IR#X5wK-{SyND9psX8LL}^p
zHusd{MLg#KVri2hREoC<bkB-Lf5 at UHca>KI_kBtqbM4k|4vXlEn|<2|dnG+V__QGS
ziF$pdiT1>MmRaRtbl at D_IRegvh+BY6Z)Lp*=Zh;9mBXH7o_%vZ5ZvzIH?3h5hv;c@
zJ;ny=e)a8<33j^T0e4Qs2VhE^XXeeOV{}(y7H(la>MW%?mdHEd3}|N4>c)|%j8%#m
zQFp2 at n#<p{*DzbOooT1c6e12;6#m8b4L!uKpyAklVg(?Y(T9bPoTnw+!Z<Rq$D#<-
z-4Ani4_tdO9Lk0yr`$0AS*2&!c=ScYC at YA3{;r|qn;Lc;Jxd{!KLxKTi|hT at wNzjD
zn3j0DYqrDKF`T$iNF~ER$w<|>P_8}hX!wXRSK!yp?#6?oza)}cD8o-}g^hSeqxkxe
zb{rEgzHBaU=@YU1<xr1ybsB0Km2G#SLj?{^zG8K+L9=$gtHp1hjiKr5dE(gP8qzli
zU#KEl=QD0xR-QR=$MNfB$yA808y`hTlua2*Ug*fxFC?gh5Xw#VpM_G-KeT9ha^owk
z{I|&*gVGwtV)M`BmQ78`0Rok?m#fVO?2}g%xF9tBQb9i0sy$W}E6i6O;QdO3%aHa^
zngcI=vUUcWFEbMD?(xn_n7Kb-XzTmo8Ef3(q*uMdtPAv6p6l=E2`hb!!`!gC%*rX{
ztxK-5z#Aa>THwLKa{7uPWsq{8vhJF!=&cb5OGK~UvM5=hZm8E$8M1D7!_dDF($baV
zh%&LB6X_J)QJ@^cdGF6#!J9bd{Q+E#5^$iVF*uq?p$8a)KpK5_L^62;O`_|$E%i>H
zkDQ>gs}|{URF!1Pf<IKDjbx{>{dgfe7if})+jJYB;`)k`Ypt`9_1Y)|V>2v{5Y9Oy
z7XFSKmsmJzxY#F3T)M4p%Ko9QQe76=)h*e at F@)9e4F<)E at xX(Frz<g*6Ss?VctXm7
z7TB3{cI at 5H#P#=7Vi>0p_OOCA{fNn{*S&;BMW)I_q85LSC`qlY_#h~@8 at QTZXRus<
z$WJuFYO8cj3fsc95O__AhY_?rU7O+H#?+K>*6tGh1lgIYSn0}kl$ii{IMWNaqvMOw
z&Mvbm)TNls$KQ<QE8TsP>~CqGOcC7__B+cA#1-*haet*~eI<fNj|)_S&qjT}0$V at Y
z&Nwfyd=4mcp<1#x?&S}7tL8BhJ=Xdb8kY1vFV6qzIsfe+=71P2pn=8ReP)|8+a^Te
z&1hUT_M@$4h?rorvicARB3XF*dd-p7mY#JjNg{cJTQm(hAwn|RJFDn|(kt&0cibi=
zy9~6Z4I17H-Gh*6vAt1&>24bM;R}ar7nb%Zt0`ygc{(p9bL;L;6077X_2P=^N?8Fm
zARNfk{~ID99*1IbkJD#_vJ5_M<22iBjUL5=rMtpmXUe!=b}$Ys at 2eavJ{m3W?=v34
z%;f(387*XlTYACvgBTc<C0&8~RTT5~o_sgdxb4#^Nj%GNr;d+L>?_?dF~0B*qm<ZH
zpa at nZn+>>nOBc(e^!_Yj*^~7js>n>{HoSSZ3QS|uacQ=zJD%fZ)@Yi2Z^hIj7_Pkl
z;3dQ~ue-zD&(jR3El74ml5gIKVDI*?IU>RUjs)!HY1`E*_v_njtn-ZG8V^qyrTS|y
zs0q%v#|1kT6Vs;2 at xG!Q{q74>Iw^N9^6?F~O(lF}5$i1{oRs|44(c$-XX2S=(mR;k
zFoULRekL}{t7UJTx66t4yoFGyCRzh8MWm at JC*60uOxyhU64A*cVB<tQ3mq*C-5!*%
z8D$Wl^_umxv|Q`!FG;4;|M60ks;tH92&z^}qigBv)a0F at CXu0lu?8;<)sC6Ksz9y}
zR|(D=s}@()?V=PjGkErZ)0Ws)An?U-G4RIr at mTMJB`%boFHAj}Yt4R;mmUo>E*b at p
zluCjfVc#aQ%d2ZKs>JD%*z~S++$=Od1XxE@(3xwmK+MggJHeVY at U=Ptv5C85sA5GN
zHKu;Twn~nD=R`_eu{1|45|ypyyHwhyn%BImN_)ChyLm$p?{QH)3pt*cRHgIUn>40h
znu(`jZ*1tw=aV>U6y7r|r{Kh at yoTP(G9%D at K?<zeaaE~GyQe}Iz4l7!?+FKPYbK~w
z=yba)^zWG}<h at l~^7st%l?}5A^b~*r>cg*V%Qe1CYo-OnauRBPVsbw*SaoU)BBFnA
z>dp*2bI#XJd-yimxfzZs4}**w5h0%c(mtQ4_$6RGlt_k>;701wc^{Yqjf|~OAT`I~
ze=LE6S*7pQyu3G>N|riAwPR=S7LdA9FW`Qtx_%p_GC2$0lWs-Pl7L(c;N%Ge5*Wop
zh{s9Sa^_#eFDXGfr`!}1n&H@>L}t}Ht?m%A;D#DZgTtln2jG5&Zz*(#xO-p%&2JWh
zoY|+0JJU6|zAC<(78RAg`}SJk`-^yflQBoF4RqYXKWnNdA2R!lmNZM)mjozsdKn7K
z=g{97LB>|a?H~(b_xXVE0*#;O?uC*SRO1cBk9z338d`bBT+(Gf{PTPXYM-3N3 at O}k
zqNBkn*bJJxwXCZ+=nbT$?i!E&iu@}Rqbn7i9X=&xy+Og1Pj3&9H<0Z|E8eL4mt**A
zxusq-tTJAS&un-!MxDn{d!;-j%Yk$}!8<*iY@*JZ*vNV<r@#A|DUzJ%{64q*;khq#
zA-zlQkf=^`V(30ts~+2KF6t3azatq=uZ!D;3tLFMkY4ZjX_**we5p~CVdYvR!G=$`
z(tDR=pL%xiOvz13B%m{mn#yd!RZY^Aw$oqa_?$M7%p9w=VfH`^rA1OSaf;75SlxjG
zQ*2u|7VqToATE~ejl{mR8p*+)qdL{)bKIHZ+=Jq9fGh{_2eZh3yV0UzP%y=jM{Khu
zOuj$ipq8RUOT%izl&)h3XZ8at=kEEz4cYi#0UMw!MdrfpaF_;GnxgL!63bCJ(5#l<
zR%h at U-Cs!1t$c_GQOp>0J0{Ib5USJR0Jnr>21FDt>c&X_-{!h#n;}u3(}+#<LX}w5
zaA!Zc6kf-!2{u?w&T+Aq91|v9)bj-VxbL3;@+-#aBz4B=i*nL at SGqGpm)~b9<Ar5h
zrhh|h-yW-}F~5DFu05BJO#RAiUNu(2U!-V<IM>SEN8q*8BtIKx23Ggc2N3$lh;bgz
z4*Sn>vhO6~a3r&1TSoa}b{CuI=FXlr76{Y+h`;>~e`PybOXl_)yz}43xBda;txrR^
zs+<=U=RhQ~D8H4nEJkF8F~Yl)%G+|L6z!?8II)AD0w|>Q^IunxW;?wXYIkiQUZOtb
zaHldCQ_zR68;I991wIVy(m2ek1Nz<)ZIDt=_DWyu2 at c<0Q7wP#IpPd1-ZT&h7BUS|
zw+aIX;A4iX=FSMfpg6`^uq24Z69IKEO{+!h%X?X;<$QQ6aBx4TR&(g}{e0C5oeS3g
z!owXTI<}Rdv->Va#|DX}yf|NZxbWs+$!9xtxprwS7VA{y;HLu-)KA at Pucu#;fCK-2
zbJxe(jV-sna&Ip7D-J&faY+K97Ca~G$9SOPXrn=d;uQbgFdwbl=1{e|eG{f|kw|3V
zmcb6KQ9be7UwcG1J!?QX&hL_gSyx-dtjo(84k#w$q^)vLRDuhq_+#zG_^ns%@T_aK
zrjxEswpl9S{)UMW(JmTrBw3UBR2=Xgmg#NSc+vXj#?36{mt`DyQ~&sIf8W3 at qwqwH
z<3rST_bY at Bm2<1t9X8T-`E{O%Q<Y!pxd|cpC(%T*;MB5K*DI37vi19Xam%3;nueFm
z^}ld5uRR&KFogKz`Go`5hPZ5DK*1#9PwdCP3N8|m=Jx)bb!XwG?f#QQ^jyjC^h$oO
z5zU`ztS(4yCWg983s>BFq`=-pDzxl`Am9`1DUPQ*6*}LyvG at a+;K|h^8M61Aw3fH-
z$(KhxT at 2b=1}mMr1-P}ED3a$7+HG~#)#hPQ=!rz0{YPnN4_ia$Ru?|!$EBT?lvL=?
z_!8FSQPeZ`F(ktE+rT?Yw{Xd>fn>O6>K6^pM{>}N@;5tXmC2Eu+gj;uzKJLu)KS}3
zCj{$YMZG9kH!wZ?5Rs9zd=RhXk+!q;jNe+pEk!WCl1+3O`{PrLY><;(&MC%EqKqP0
zunmk`)d(LC2g)SRiBk#vlerTt#`&Q6MH}6jpo-j$S}^RVHwRO)?w_XVj|0(}5~s*o
z=lhr*`x3*UJz`?`j7}u2*ErlIeAYe$X5>!l_aM#<1?gYBORczbAN^kBq#d}V(KQPR
z$#N0cVtu at 5BU(<A9r&t<<e<#^no4eRlZgxxobj_|3n$0 at lFlpb)FMJf5i^GtE7MGe
zykIrp59Q{)L{(wsfmPS0+e{g-5xMARWXY(chjnN=C4b&6A2ACNR&LHkH at uQ$WNzOl
zGc;kz9Ej%Nu@?p;0fj+)$1`x`qHY#c9*o*`z6Ktq=Nx46?rMgp*wPd}EWPc^Uz8<a
z9widJ=f9^(F3fO)BOYoE&2@>xY+}g_7!O?DToGM-o%CuL3?pC~&!1d}arTX=?>*8~
zjHW&Vrl#_H0-Nw4#JBOfqh#v2eU_&Ue8j4nnKzPVst!znokNlGH{1Xj!_H1E at fFz`
z2k!?pwGFo5bU8bf>9aJTZ_4tz!$C^rqLhVAbf11|FbosPXNfvGGzDgx=`CAx;O!Ki
zLmCf$S=Xvn)7RRe$acRWZM|6bHKgcc*!lf*p6k+)lqVdUy4pQ3v0Y&MqNF0yaDb<J
zW0Teqa3xlfANwuPHC}q<iM->f1bl8yoLyhxw8I7Nw2=Es<f^<p(1nziY2tf&e(xZ$
z>=H!vCAaz7fw^q?by=Vl?aKhYYATXw at 294>KN5t3B-0EYb7918fJbuUU^PAiAF2nL
zjUMx?QZSo*QEd;9FCw)<FR#U2eD*UHV-<TXUm9{b3X5TbCu$sGtzQqzQBH3eu<aPJ
zGfk8_;k(?f%&@}HiJv;wg*2hd2ALv+Owg{!7sn*&&=UCacNi-hjmh5juYFj%{F|##
zWQ=i$dMQ01_8x%0 at P=0@^ErCC>WRNN{u4Qo!IZH=*Qy&u5pJH|`Qa$yH<2laaYqNN
ze(<+CgMUe4i%9t<U7gK1N{3MH`66xr#?K4Op^HsJOOl_*B^=hb(?rox$V;hALaoT9
z9A<Vm$Td1X>0eb<){pxIGEQ`Fc3n~qTS%Kv2Z^lHRAg!ovb-FA4j!v~$F_3rjg85i
z8+Fl`&-C9eq%HEqwE2wTSmtRgo`^(#;oim`zhVp>Lz1lB&O%=uaWQO^bMfMXBypXr
zvGcZ^Sczm`yihpBsyA)HQpC(g*50#Om<0W&E20 at ACd*xgv>iu=n2%6e at 5OQ5q>wh5
zX?lV}Z)+&4mKC<)_#F=Op3tZF*<*c*0{@ZqHS&&`EzcJx65`0T@&#J(w`97+^S{Gc
zWGC0J1UO4+j3D#J<WB+0ywl3FmMzB6<Cwggxspoi5fW#|?Lr8bz}R`RJl)LYze$(~
zKS~%K`QGTn_3H at 5<ld08(f9-LbAjBMUS+~izu1yVJw)SIZNVF?B2~RpggDZReo5jC
z5Tk5H*G5`FUO+io(2V^hBL59N9731cgFq<HIMy%<EK)sUazc3!3UyBxBkZg>q02JU
z$Lq||31%vd2e|93^hA-s?HMZ>H81&!*AJ-%N6zI?%XzHQKIwE+euWXzL#Yeo!fTh9
zCg!M(;dzob3J;jha|_L%{cQzo1eK*%pfFqZavinSQL%K<m2ck5oamt at t6tk5>S7z2
zG&LjrT;MGqsJt1gs)DKK!7niVj<;`IB!p#atKGbMv``OB=*Z~#>Xq(_L%+p^8A6Mf
zO&;PTDLS}~tC)Eg#1dsA<=_0q6nv+qy7*k-HWv2PM<A`^g3`6BfLvj1Ed=;}karS6
z&awX^Z>BTd;Oz*7L#E?qvRY{wha1EAa4tRCUNf0Jl@%pjFnEx8lj9cHx- at -DtFgGZ
zRJOX94KcjlG+WcriP<Tq3C+ at _Er0lYZrVZVxHJtvu-FjXXm^}P_J|!37csa=D>QjD
zWzG%F6~*kzi!`>mGgVEf6Z&yhLxJ9iTq-}D2tA}Scf`$R+Ei8#tFmpL5CIjhY_Y#E
zBXRFv%sqoiN|u~qxVPk8SkBobtydi2RZ<;gX_WOOHI0)nbMpo8>plz|d1ZtO<uaV?
zMrT*qYv^(h%nfU&=X^?(zN?a`tljt~*244DrJMV at w6HWFxwP$h<9O<v=(iae?Zc)!
zP81upS!76lz<Vz_uS7GQh25R&VZ?_owTGXbR6`Dr3}k1hc*Nbqw%&+^74f_V6;!Yc
znNt>>qz5KEJsdGygobxeZm)d;i)=o5l39INdyE!Ua=7HYXR%y$<aj$qC#9rZ!It~x
z6z+S)!r&QT_1Hkc+wNb~S-q=GalT!?y3H*SY0T(rnaUqVvNp3kM_i2PIft`z;}|g<
zi-#)shf#j9`UR?J%(a3S<Ie;0_ks`Wp=WXiyKabkMub<;G5s{wcBQA at GGBt|lmqb}
zauwh*;TQL!33)UnOF{114%XXr!cXY0xGc02K68f)it0ZWBG~dqxFXa6I*<+y{e6wD
zYH<TnqmSW0GxX^yFtt(sl=mA;ZMWCmofFM%vs1<5;EcXCthMKbA^8~G_{0S`V at 4r9
zA~1UYazvhP29)fL+O9`YoXnC54xJpR`8v*(21>a-FGahL>Rt%1 at ZRXCo=LWK?EV!O
zc}wQ2OmogDvFLT!E at j)t3XGFS#V<r;G6+P6n~TGw2%bQ+A};$BFEvB)g2NE4u!lE5
z|6`4|9BACb7#S_z0S&ZBR{R&<;3KRV^hUEYjsga{i8=`4X``67jQwQ!SSOo09x{wI
z5;(G!_9yichha7IBPf&Q4^7&^-(q!El{?^nRAvI1lfbtIN6J$(;%$+j>2wYG88^cD
zXra|F;`ky3d2O97%nLiYlv7Z81ZDi=PrpsO`gtVMUOWVg8as%&Z_%g96n at nbtiAUY
z<avS*KB~Ue$2G{#&v+!ZY)sE>OLzDC>FeXE*pwlaB+hcoKDh)A9fv2?(9_g$3qjk_
z{w|LUw}{0&?4+fyWwPRb at nIE_Ru-9Axv0jQibCLQ-DG?U2FXcf$2sLCdnPuwMC)|I
z#gjlpZ9i>bjw$Js*4xIfGW+m#Z}^SKFjE{Qpr68ifX$1fKsDa52Z8M}v2(HyF}RLX
zYC2wE1&ExmI3(AK+mNWFxlrV%l$d3goV#rpi!%z<IGz7`o5I^KEzu?XT|XRp(bjCU
zYf9h<%G*ghSW)DSgah#LaHY!*AcnoHL}YtyIuj<x1d`=5G;ka~5)1RaLY12HY)w!y
z&fqMx4{2)`1Qyw|zdsG1ZS#NCHE~p0IceW!0iqUv5YA$Ml?vQRgbE^3`}@tri at q7m
zr+AlTC8r-_U4?PRp$hVHt9Lxn0d#k!)lzsTC*aJTyj+0Ba&@Iu-tiH>2 at idtnvD~Z
zQb_$~E54{++`e#!BzOY!rZ=!(=C<cTbew5b+RT&ES#*<zP#PGsY4as9`>O)0G<>Jf
zPl at +c(Dy0g(X(=LKY<2XDp<%r>@Aewnc*MHGN$%ZetQsS#!=vFv1H`ecwq=@RvQGr
z><%BE=akYP$yO!kT973wV>nW=5}YV$dgYy%q<T)ECxC4k;?SJ+xnt(!GEMzota#>-
zWqGsV*i)No$WPK4eqJhzQ-h2}TuWiAF0b_zccn!A%}lxGUKJrB#)3SAX;_>onQ8HM
z;?Z@!Ep%&jdX{Sa)id#msunvm$jvCPKQT)qNgD4cxNzAagvr}PB}x(f*6jRUUBV$)
zKB_#M?e8Hh;TTw&b at b0r44H$RFZBs0j$6aVetrBAMCZ99PH at Ntz4tk2^vdJIDZWuE
zTEnF1b^-US5dZR%R}!;emmX(CQPQ4|*)dwH3uz~vk+}}hyr at hyFwSlHoNr=g+dQwg
zQK&V6{=xCSyC-vE5<G7=nl#W_7wvlz3gl|utp9{~pM^29iHk|+M1mS2Xu>r4GpJ^D
z*X{+YmyKzR2plNs%TS*>@>e^xW5>s`@}#`u&x;<Ud0{#<8nL|pBZ8jqDA686(AJ|V
zi;IUG1S?MU5|#IA*KVY1WJWw*d`bU$rX)B#Lq<4z2xbwkCdrU=ONRKNG1Gi9lTF0_
z{Mgz*Bm_&LjN9Lyim9|sBt%2&yyyGFmDrwUg4wE+CFCW>75Oj&S>(FSzJm$w&<$=3
zHf0EzR4{*S72rHegQG=S^Ay9-I`ds{)}ZsF07WEgj~Y8IC=OeNzmj#*c*EL#jD<!v
zOrr2hAy+~!`io8y*peQ?{aVOe$7N}gWl^PsSujvgtVv+2rpN=cmJi!KasImN`&kJu
z^r(B1lWi7Vec|RV?YmLJvMfHd7e~?f=(#$K8dW?R45xAWKu=Du-&BI(elXlR;pI}{
z&vy-aOEwPXqYUBp4z{9Z2Cc)bPDN<uy=MKXx{%gPPcr8Xdbj=Dn;ntJPMFi~-p$>9
z_g#<2zMV=2O~>^+6WCfH;U1UD<BV=J9!Iz1o<Pv7p$hNG|Gavpn;-57mylr;yz5Hk
z01F2>tu2E^0UW#a<)u0j%U_-rNi($bg<nD3%8JSH4QJ?a1x;#=*ZacT+3%uarlf^I
zTHi$Lc*}=rCw$On^MKHC(MB>@rja2uPC468>nUeAYb}JAtPR4`mf)kO(#S*nu at n)s
z0>&m82Kl=7Lfq?b9=Rs at 1OkrM)}}$s1|RzD?DJhIQia|=1aQ4VOcdrjTEe^FM!in&
zE_r{F$krYkQNP#RVGZ6)LcFS5t{)5ix-v_FK`lA-q!`fFr+u at 79SXNj0n6|Eb+I8B
zBqr<DQYOk=YK+5Jc$~j>WD(-j;Bnu!6oh(4Z^7u%jea?BF_(7>o8<*BDtqs3>_FZJ
zK?Ue{tz-g{B!MM9`ORCmW%`msor_?6bfzJm5i0Vvt_~~onQD=ur|t7PNw$x*62WjL
zk8F|QWe3|~Z}zN8=4D$7tyA6$h4eZOr85aZjgxuqi2U=nI^oC~r>HccDx8H}*&e09
z=FgW&bAFz<VhYf-Fv1M*N(0Do5aR6%0;bDL;x87wel_RW&<v=9H59$cEpo%6nIYr`
z6a$Rf7akVHmE-IyEiATwF0?EvaJZgkNf)(Z+~)lx*OM5@=!?g&T&8y!)kb<T)lvyy
zb$ojb4O<c|83Mwvhh3!LJfbxacs<Zng@{cIu_z at 22itjkuAP8<Ncg9FydHB1hJ(Q%
zkv$pp1ez^(Zb5Y$NExmmCD+&(Wy1{^)NEct*87ebNkT1tX9eK8woxPo{*NB$h0P=6
zVrITjF+e}?fIcL?AzkjlpF_6s$IKXRT;JkNWXn;j>iCgk_D5B8xJPw=+Hba~r}s~<
z^%|eM${G2IL0g5B^w8MFgBLixA<IpG+!_2~kE_h+1g=>Bk&~A>>}~P9bn=bu_a!Ri
z5vX1~OKF38(l`zXSmxwwa3JvjIz(y|ZPbNx<GCQbrx10bj5k26zP7~jq%wZYHm2oY
z0$pmzM}tH*P$#A|o#zr`1YFbyM9Z1A`+aRa>YT>lrQ}}#cM>}REKV#xMDX(ca=prL
z_)jkUgeuP$w83}c!^3%5>UAc4q<FjPf`bXSDh^vL%gSuLc~#rG34i?d)l$p!+7$AZ
zt{{ebm==#N`}bk%b!;!i$oGOa4oG5sIwNncAm6FWB?iGy*8ZAqS$>FIgIp<g?rn8L
zou-vn8XUgDUlDjDS-?bNeJr1QU4iF at FiFt?FX(h6g0kAVjRMgBN>2&|T_Xx>Op0cB
zN+BOoj)siVw;<YT^6D&`?45j+;N5~5t@^@9cM_YgAFU5IxNAawZTwlnf;MeuBnwhQ
zhZ08EyR=L#-HKJLR`Aod;*o|=6U5bFHff6 at o>pVi^HyyMu3)d|IyH!tZ{^0Drq}B8
zg>LGmF736nJ}8ytQVfvL;!z7^5o*KLnO at N~Pj{-IxPyU{@+7)@^}bQ;eS%UR>G$~}
znYOLdX{0{ScP0XR|80(DW2f}oV5YvpaHeO})xy=)RdH0YW_!}gjKU at ggf_i$JnqeF
ziDg*LZ1E|YDgy8YqD{F#UK6*uzvas#EO_WbN<5V&E-5C)qAb*10~Prc!Vzm*2VQ9*
zoyFr|W4oliN94kwftPvv>f&B>6^u@(!BIUXmT;iop?ZWU>lw3i)r7ri_$Bgvi6Hd4
zx8HHCD)l at 10U?EgNN1MOy8=p$b0y_Iv?+NOt<w{2L5C6z0pG|d9Foqw at vz&`Z<CMU
zO|o;8%GIUVOK|L>#{@9xM2^E=nn=>wFG&!GyT#n-gb at j&g~y{$!?RS<zc&m;uv93b
zjWm~ZXJt$ns%d4z!ej1Df9!$QHIVwti=jaRZ|+X))9;r+%|-2hf$3-A{9iEr3XXOr
zF2(>y0t$N*Qx$*)Eh8NZ1053+B{aRTBf!wv?x*Ib_<v?C>}*90odE<CB3w)iOiYYS
zjI4|dtemWz)C`Q|3=HHy?PTpt{!dL*91ZR50VV|WVusdE0BCvz6;Ta3F&ArVBSTx;
z|LCG(ZsA1mbNvsUXb98*j!r*A6EM>;vM{o8GO at 8T(=ySq{ZD28yNU!d7Ont-AFUYa
z#pP59#9b`hDG99X4V}%M0EPsv|5p!ebj)<jl+b*9|1pf6ktH-66Wjk{4iyi300F(c
zk)^V;4K%$R0S7ZQy_kiglQRK36UYA~IUr!-U}X94#0CWaskL_gQJG%M`o}IJ0Ao87
zz<+voa{jTN4Yd1OrPjLAMhp56gVD@<sa$5Bb4p>EN?A*=wm*XaQ%?p at s+a}Oyba3w
z<e%5KdcgQ4H9P~4KdH2q*JWiRKr$y)1eCJq?*S|rC|0kcKgBGxA~e_#6!ILw80i9N
z0RAKrv4TP(L5z71sdErM?g<ntICiO^5+OKmPP>Rd;om at TLRckiMvI(w0h%2KJpuVj
zQ0SbXSs+;9497DAM6-Yle=Ir*hTygWRIHE|V3C|)cL5Ft#&9bN`(=|H0 at NC^A3{9=
z!W;=sejRbJnLtKn#hn_1e}q^90YTfy|3ZG5l%k at tga8{z-so@%4CW%JhzRruQs(>`
zL3S6E$&oZCiJn1$;*$n$DE#G&AvJ3FOI2ZC!Ehr42izVq5Y%V}wi`1QX{-?@3_df>
zSi!vtmy_`?>K~9)GRa&`;gf=VBgh7n5L5@@%=Hk(RFcDJXcPeg_ui>jgn^hSNK7;>
zVp5WHNH}E at G!6(PMd&<210j`Pvxq<h5LHmXg)9v)7~=ax(9R&hS8X$(iT=3o%uvh-
zU=hH216XeY8oRRoz?1>F3Q&oTU_pVuFsaO!K!I~WMgO4{V9w38ki|9xNKg>|A&lnk
z8c`r3gZ^Njz(NB;O{6xbFz5C7_6?->-O>(rOW at e9U8RY+x+lp*eN3>2qCE~X>(0LV
zaC?8*3q&^82)>7ns2g5Vy9 at tXK{O9SLjju+^GV;Cv^L%U-6uuv&fT%yJo_=Fo{6;F
z)Qg$E6U3t<Qa|b5RRh^G?bQAOjfvuYIt+P5aMky)abzCJev7^}#Qj3NHR$DzkG~`A
z9UONH^%X6Di^VsL at dEP|={KD60<FJ~7^Z1EPw@^D#@W@&zI#z^jb!SkAayH?J$2FN
zJ3X#+Mze>NMH)pCx;+jEx2qilL$UU&=mTqts~2q<*uH%}>D{{?r5beNk+*?VyTR>x
z_wX|_{=Lh8tM49w!8U$_Jj at Ym6t%y2H&mp_66X+z;_eW4-M=sd7L=#L)B-^^O53Gh
z!Sn(0twGw_*{PWrQYRkCoUsZ}VVb-ES((Ta*J(@M|DbC`KlUSc4^h9R#mpov9YlDs
z`v~{j^Sj|^lif;kYQYh_Kr;aqG)q9h&nk>K-)?HApMsH1HI$^Fhngv7defICLj2Z3
zmO~_zFjz`my<UWUGM$oLb0Qm^mY;ol0R3z)g$gYOH>z(NjVkkk5?qC5KG#Cr;^*k#
zdxu47P(84=A~GaA03+IpnWJ(0D?*mKlRu+Q0aCG at zy3kzRBpEVO!SHz#NCWOn=;SI
zx4pI2?dVKLiL*o8?p<PWYsiW(yzM`IbhSD>PQ2sf&48JmGafct{L;hqZFKKdoKB9B
zQuvx{pIYTnigTn}Scey$qRs#E;No;$Q-k*qO)cc*BxpYGvF4oBvGH+g2O*B}9^%1l
zkj204_81wl{q62~;?0kf>ej4%_O|7i2?mE7&pxyJy0~>1``(lVHz^_?l7|*)8s8<V
z<h}Lb?0L8N7wcb27Fi~IXi7AJI|y5tHojX`b-?87?2O86m&{-S<r}&;9ej0FH9a(+
zr$79+=n}(Rc$^0a- at CScb(}Pxukljh0!qERqvB%SczAcl?A6s`u{8P7{k<Tc4`%{6
z{%m5sXB6w#{n0Wr`SE?ZAQ!J7`>H}7w(|tFTI+aa=VyN3n}8)V*Uupw+Na|@{&Q8;
zQ+Lbc>dY{l97ktdw{7Kh(Jtq;+yHf#>n4auioASrMzb>&j`su3NkhHI<=iYUmwb`z
zO-2JJ+%a1aoK>CU`Zm<Uyb<w4$1i at -W~{e-0pN!_#R6z5Vvyq3JwoUUyPr at OA@cTo
z)c63|q((=GfHAZk)ssV8WEB-h@;-jqSDF;DX5g+h;KPD}9e_c}jRW#l=yP;(Rp(Ub
zT}MnDm-3<Vt7q$M(DAvAJwDZyF)8Hz^jtDUx8)W1kvf}(O;Ey;j&xk%N;QLf5JhpN
zLE>#PDQ>>^L#IU2tzJhsVBEjm;|+~l*X2pEg69(Utz!(szHQ2T3_XQ5gfyjouu at f#
zTF`J_2`<)=Lua(7+CE+30d_h1b7X#j4>d(^a^Wd|)U#nOKcBZ4<z2(c(zrBdC_Z1K
zBZ75AIs!W?#^^74GIn2{6^+GE4T+86Ef7tq70qIwR@{?@k$FRf`2Fr|p$!&njOn8}
z(~)@N;-l}Mp=SfxiKua$yS=rONa at r@Nu&lSbup;~A$UaeGCW!_ at p>}D+^`zUG#IYX
zLG3Ao`!dn#M+!CR2P27x4s_m>d=1*!d&1d!t%r;lqehYGFp+7iS!U+YAKVUA1>tPH
z)`LupQ3N_VR$rO2|E*$$novz{uz`yZ15>D|3yc*7tHlp9McKod%3kdWqFSXFSDDw^
z953!1Z>5WT_Dm-}Z-KKGb!If}wNNt=iG|f at iFvYgsQk3$XikT5!UC4y8dh!7UP>up
z<zFrcNF3bFF(9Ty5R*)hzEmU{LoH5*0clKK<I<mT;SrgFNv&x3A{QqDA^{Lliy9`F
z<8gQjoikR8Fu2iY`Gs#wx>B<B3t`!jQut+7N{eKJsiQfqFKScHHSRHsa<Px*aez><
z>I7j>Pxppq-kO^zf)eq#w_F(*=_Vod%>vZia#-G5R`f?TdFLiiBXbnev&l@%&5ekq
zBil=F(b}}nyiT0W9NdIQJO!Rc2%4A%sCNFb9zKsY!EM6bIJbE?a5TS?G$G+u5#hfb
z!i8G7u-Bg+W>UHQq`qM>ae075_0+0M?Pbivs_wfWFqMx}fK*|*O3hg&H_N-!FEl;X
zhVs-Z!LakSH*mNIj4eWf at eUN&-+5mpOn at onQyb=ErPhF;$o+Da>EAhRO<9~rI!sA$
z_7TkZn&5N}s*V2AI_ecYq_$K+L#jU>oBb{}yg at zF*>=Uhb&v=4?b*w}RCo_<)gs9I
z48w1Z&nYpg^4gDdSaM6vCLf;+fwv2q!Ln3)LAuLk0 at S}ydBCy*^<Xo_LEvq+_=0aI
zw!Y#Z>)IpDJQ4 at 6!l(0XO|Rs06?xn)*GKPs4e at nv3qF`BG4EzqpfO;UYtqDCH|LIK
zCnPO5Q$_3bsBbIbG}K||DWr{-<-9K8LVc2WcE at gB^az?zFuk(d^&oC5eVqH|&;nk1
zi(VyA8%jO5zJqOZyzsln3_z0K6YiX^52Sl38<%+9;#V!9#w9c!`6Er)rYcY<Y+^Y0
zHeKV0$_z3d=jyM=Z)Wrm;rA%w`a~b5!>d)5a0fKu6Ry0LUV2hgcpcM+c8Q#<!Zo_3
z6V?~GC_LtHbpbaHiIW#bNJDIz09>Y+)50%!b5GcsD27YcC|l>O{R0LqdcES&?WWCP
z)xMUQ9YrPtn9la3r34<?1pdpl*KgE&TQdQIQRqztzjYSg`fXZo71O0xg^-VlEpjVd
z+sdOKMC(}5J<sEHr;EE`KY%jeU3JU+wPS2IBtez)fhgukGDASC2$0;=H{8DKRW)tg
z(kakpm1i1j-kn&;reAnFB;2AQNR+tzTb3!);quFh`YW=G=N0XHS(&fUkLnxtLm9!>
zKo);y+v8PI;jp&zB`o`HG`n3a=I&`*ne>35dbgIFEr?DE_5;Y3J9t3$DB+H-y6dUj
z_7oc@&B#;5hmomy_zD`=Z`69R-Q5dyYeh74t6Ln?5whfOo;NhrihI}%XCL=TKg7`w
z#!$U0Ug!|#gFyW5`{kE`@PD!SU}gB<R@)j%08?msNm~<uJApO>0UIl$E;PNeg(u)Y
zNoaa?0&PYDW`h3|D%sin1a at TM_~}CFKW~`Y{p9|$oB2;pgg~1|P)vlKl~tHkM3|LB
zjFVlEQ;?CBg at KWQnNd`XQG|t&kKq5@<YycifUTLc`46)h`~ToC`~R`bCtZ at ZPE<wh
zx%KKwI|W&jvw%T;Gw at e}Mx{{5L8T}}kkY1j5R|5T2q7e7^z7>ksj)W>90)nWT&*Q!
z>=lWzof!yWyjZBLt~UlaAFjQmemmTccW!46vu}S+vnMD?eM?CVl2Cf76)_~$C6<AW
z&5y;6&tK at lmyvwFsmi2lObU{fzRCTjW}+29J0M+ at 8J1QRAVsh+XaHgp!c~!``uZJL
z9-y at XmY$2pCdlIkgG$QUg*_cUZywA%13x(ftWBEqbBf*6&$a?o8UN&q31gF?+A(WO
zA$jJD1;ecwp0ELf8~?Ty8^SvSwK+p-ag(XB0`b24Yq~N>YlOoU(sKv%cOuKHBF`n{
z?~r~T4!$#54tVli)Qk{4N$LLE244=K;#`EOUJuMa&d=ZTxCf&9WxD=^lFundhL~ao
zsAL8*bNOEyosj$XSY)KUd{{6k2G~U;ytt9Z>N`|+iDoP?%Z6fe7zww3I9tH)d8+=+
z0$23IX#|K$Zu3N&Z3L74&~IvEZHB5!Zch&hFKH0a?IUY*E~Q-88uSUlEkr%|;0;60
zJH~%?peRo*oGeh0eBSfKssg)UlWH|eI5480^n@>t%tB6CifZle<7k^MScq=Le?=EW
zkK1On3^KkkOR=0asF{P*vGz3}Ux0Q2i6txnshFvl9hmD1*o)b_{u-Hu7fz5k)yr5D
z<QUMj at qd9IT2;<e%>0}G2;7S$iM9B1pJG*FrD1I|<%{6_3al5*;lcrKWBQMj)iV-M
z5>w{0rh{5CLDy3fkhDXinlcN>it&l at u^}WHqnbtu at QG20u?#g2CkGT*qb>O_Rc!o`
zAwe7=fbgIY08<e{Q|Sj^fn-&HaZw2NTmglfft0PmYU)ul54EYm)yhFz%fWROfO74l
zTY<x^f#5Qvckbm|L4e4?f$t;afaSFZjqPJR3E8&?mJ`Cy2=wKEGuxqo?cu}>zPAS&
z+98VW2bB?Wo*|xlb<?>e#6-v9N1vCr$12)^)(Npl4bV&tvSL7hvByQ<1*hqiZ2=pv
z0WPlrKkvDswyV16s(T;1qHeGLzZ12$`9#9k!}DY8A at aOp&N=_JTy)u at re(#X5W$eb
zkb;u}*&wB9$EdC;tSK1H#E)nR(+t?D at WjwKH;-7^4FZ=^*q9fOeAYWe>m>>}XOHwh
zafq=<QArW3(cbl@)C#aj at kvp6iX4n?Y7pR)V*kHMAqZ|L5+<0C(*Gk$ivN}TM-R_g
zy}!kZd35%t(1_ZCENv8bqcRo9 at k7&c8I**lRP!8OmUAvew-FL!2?xvggWUvtWhg0T
zGOsUkhFNA~qz+8?&_z0A#jMpvV}(w(?0C&qbj427w=cB&$lSdiAI&>;+>0K(%1wQe
z(>SShymEe91BtXwL=UtwuUFipp3KT at t5BoO%z%VUuY_i%!>(PClS>)NLCFQ_pJ%J;
zD_xPu{zi325TygBizm7Am8 at LE)?niA%=MIOGpSg-;kL9Pp$>tMz}foY_D6;o^$2C|
zu|%)D;o}nkwjCD!8>n&@BA$9loJEGd&XjMFcO_5NCsxs|p;10~sw4f=%Hj(>T6P9}
z23tmC=KrVos2#j=AiZUb#L*i$%hojwVNOc3-4Tev#8-Nw=by*(Vn)yAnZ#{}&%%v<
zc`}Ph$6I|7im{V6e at I2!N?wh+F={1mEZ>IQppAZJ88uM7_Q^A9C46MHVpdA~-fUuS
zCV!m!iJVA6ui716b<+;8{J{SOL{R)H@>2{k0~A|+8QUWb83L2-BI|@wwgBHwJ7Sv_
s5OgPQH{0 at kLLfEP=Kt^Wm6NlfqqDo?&jiKH%=jPLOHxu%c`@k!26U}`;{X5v
literal 0
HcmV?d00001
diff --git a/libc/utils/MPCWrapper/a.out b/libc/utils/MPCWrapper/a.out
new file mode 100755
index 0000000000000000000000000000000000000000..a077e04da8dfedc0c3c7446f96e311f75c6b6a56
GIT binary patch
literal 16592
zcmeHOYit}>6~1f7iA&wsPHpNWC0W`Ar36p>ib+b-uI;Qdrg<3Kp{0~g$Gc;D(tViS
z+0?F}q@<vjBqFVVMgk%8r$vC&{^*ZZ2uNsYQ;DJ!5UPZbO4W))Jn9H2E)`k6bMHNq
z at pQLpBlrQDo6MejzH`3&ICEz_vwQ9rlDh_LVlly`R@@{=n{QG`LK~X4=?X+bY!z4F
zbG=w6mP21AF=bCE0jnx6)hw0u8n1;UUK>>^$g34BSn>!-60ch6&>gT8dLG29Ba+s`
za<v{OOSb#{#fgj(m!H18njBDA26+^l<L%Ncj&ENo59<C->-jT}VB*bd-n{0q6q?79
z<4G~0W2<g2EIVMM!ZOU8(!8+Tp=g37^+9FyH7|WB{S9kgOI$W1!tzE13zpp9C%~h)
zyxYR3c|`YD?L18Dc(T-|Q*6$-<GnqbGwJq>n=8$<&ur~&@9i;)d811XfyNcbL2GK~
zo_%yWP7=nav*w`ExjnMAXgm2IsQLB&(z3;8K7IH8wLOI!lBYJNYsrVkO&s!}LhbP>
zC!Ol=!$CeO9uLYoVN}jIzsR<pXc$o1+dl^Zt$I5wYS3UM{IM$j_gBHsSHT~ug42BC
zIKqYI7Y~EbKT-v60pXeo{(k`0EY^rbLK&N=VJen2na$^{qGuO8%M#Ym*lsKB6r4%7
z=sAV4-2<6?&Ka}EGmf%Vw%k7I^*Fh7W+*l4b#|tv?1JSLY}YFerIN`JVBO<((M?(T
zqE~S2?9iAs)?p<_d(q+Tdq(q_VsdzJWHdi&B>{|jU7c>eXo2EbSbqh(Fl)Iv*E=AM
znc~p9>m)UXF1A?1x1=PmCzUUGm at lT9y4y-k-EB?SZUz9lNa+A%Z8rxbHDg;7ZqClQ
z_c{XRqL)r>+C;0qm(-N1?c6ogKXBV^R=3e(ba#n>s_Isk(c{;;FIKyZEeL!q?o+k+
zSBLc*lmBX<#jvuk#kryN(1D|W at nJ0W<>E$-dDlOLTUM>OMW4SI>Rs9fchTaySJ2gX
ztHz#q at Ef>1mI+(yr8VwlboFF3pYO+fA3WGhtq5^K-)|XDXuLil&4O{(&)lqVx)%8w
zB;=(4uDg_uF9&eCmbsh_;42t}TnOOYH<=d$I40&7UgvaQy4**FcvAaQ+kB5A^T_~C
z_a82&1GxOV$%aTq5r`rXMIeem6oDuL|ML;}Yva0qnuq>WZyu at p{bnJ|FP-#i%4f_&
z&(uFH=T_eGMZo0^58$(LeL|4`6j{!_QZAP#j!T^$aL)bmqD~Js=YHzz<qZ>HPc*LI
zAtb-N;iiz at 8`6y>dgq^q=3czhoO{JQ^y<R!ShDkE=kw;V?U$k3a_d^S{%yi&T>k)#
zN&w#m#5`8lMPl2c*NUlKFx1p8E5F>h{vi21ttGW1{kPPRxc-7Uw_u+7%gyGg#ac7=
ztoh;vuLTXfpc|+!zpUoLe478k?RE6XTH3VFJhc5 at cnWjwHLt-uvi%V#XWzU~E}u;!
z8qe1K4t>Nv1Fqjc at z31@qm1M}5OFq|%(>4mVhX91)YP-6eVzKBd+zLy(3W|mb)8gy
zL&y(-9Dn|4YKPfr^T at Id8|5&Pi=8LUW66Jz=Qq*IlR$-eWZz=i+|(j{yt=c8(ZusO
z-PDF$3;x+B at 2Er(h$0Y0Ac{Z~fhYn|1fmE;5r`rXMIeg6|3d`mcbBm#w;0F&ky1{?
zkP8r7Tl=xCm>m74(Xdc1XCQY$ehu;t$R9u+g&c!CaK2oA2J#8WS0U*)PAai`M?`F<
zDYmv at Mg4KSs1r`V<#&MhA#&KUf_~}|*Wu{FapLuIIRPnFHVv+9`*`E!_tYO0H?P_D
z;qL3MA(;4g;CLK<l1Ly5;U13f0;iX7F4Wgi9N$BKHxZaz+4SX_fh(4mFd(R8r+J))
zy&uxI&ni1XQHdfDMIeem6oDuLQ3Rq0L=lK05Je!0z<)CWoQKAFXPi4mxp7ojr`$Ix
z4NCZV%}9cir9mfiuGTu|yRFqa=aQ|_I_JI7dl413|NTNaPx|9JX^eBh7MBsqIjG2Y
z({|2*o6+Or9JDs&E?Tu at p=n}X=bO<_$5c!u{P#)DiMvYUXEnh1BE77l at VFP0DmXWe
z`(LMV_Is<W=7-@*2tS3&`5xBo;WtyM^SJQ3DD`P=e^cu`58eEKO!#@<p%y#zOK?KV
zVJ$;$?^@-2#+?HLH^evY8!zR&QoOU<=r%gqdrMO7y05Fp=;*m#!|&WQo&IIwd^zkz
z=OYHoQ5~?jcDNF<l0TiV8f1l at 3C)jqgbSUY300PEd=k#rkA}q%Dly~%5BDiVFHb>P
z)-myZKkt+MKZgpn!`CC at hoyh3pU=<uqo`CG|6|gBm1v49Pww{>jW>tzRyf3viM=X>
zSBsA+{aZxa2UYvQ&r0L at q#VGNe%?L%yRx0DM0mXwB;Mv<pX`4ac#~Kyni7mC`A1wR
zao{3^e--}ClwlrMe){$yz76~u1ugk}3OJ%BPV4jAudP3p_!3vC)S=(zn$?2WF?*~6
zzN)5K at coeSHo{p6$So3Y5?|5%%I}U~e_iAAdL7E|uz)A4v@=%)f20b2itrlT%|q+_
zIp8#}aGZZdc!j+7bHM4mh(usgsJ<cbHR86urTAMKPlWte;QFi-pKjpsrA<g}Zx#H`
zD!3R;6}(O(kEC;Z+_gM=QUEA=rHKh6B`zl7TVB>mQ7V2Bp6R?bnaPja87uAO3q{K=
z&4^S!JDqVnCv9|8_Mn7z*Rl%*d)9JtUSU>D6zr^HrAyiDEGPj at CfhG@^_-$-q$rPm
zQ*BXB(A&UbfMaP^!?2kHKKq}1COj9auyxuQFnbJ9cmla$Z at o+#P(PMIZ&H8|3@
zJ832N?4Vr?7WR!;NmGO7juBz)_|%@h-9rPy+PQ0Qf8Q=^@8IBQ68jMP`gbM4aMHGC
zV~fLH>;y==IjdB3(r72R6Cfco{E^j93H)lOz$Nc{P;IHr1L!7Q%v)17Hc()f1)V2A
zp<M}n=h#SqkZvhX<tOvq_^LX2$-5$!jv=%UW2rH;X~G{2#zGr2FkI{u;owtHXs<=6
z2 at 0^<W`StuD7fRrA_MQR=_A+-?X!5tEh-guvsB!%B8=i}*0aYUy at HZcT%#pjm=;DZ
z?>WX~u4GIX^3zVin+-tYB^P_5+_Z-J`iI)-+Li88c5zA=>De5*P|_<X%K at iQbo03-
ziUnK2$=F2Dwdsr}3>jAgRbw&_l`2IiB at EA*fhre?QOL_xYdBN-@|{YfHP%!c>N-{o
zuA?hE>!LA5$9WJ2ZXj9Q7b at J-E(N0JYy64Avx6$({f+#5t<BPx>m;wmLC>_zueOhm
ze5vqrtkQ(&MJ31&@8_f6TY`oE4l_p2NkKk8r?HH)qn2U*t-#;FGck{!-y2wN)I9z8
z{I>Diu+uvO^ZC7kWt at VGLSv*V&!3;~U10c=<Ma7Fg(bh2z(p3_9IN89sL?Y&_s`Gy
zEV&;ZKl`z~4}5xuV4dG1SWfGnIL17F9>6hFD5lKk_ZpT9+L8NbK9B2R&F|NK{GP<p
z4Dg8)=6?qm#f01UpGWj_3BNz;X5?78PV!qgg8aDVu}qLtplGw-&7-gd`FCjtmh8_>
zu+H-F5Pw=5SavW`OXjhBD#V}H2A2D2aDl=+hJJ!daQyt-$&%mC**|>!{7m!t{EN8u
z)RNu<f+fs<0Y>Vd`7Lqf&GJU2`k!I`Z(#}YhvUkX<<EVls_^<@_%&3Jwe0UP<L at 1K
z|83Zxb(ZJBZ4B`Fdx;b608!XaX%}_I{{;iBUAhNQ;rAKdPtAd$>yHZa_&k0e7|q}3
z>+dDzH<PyzcgfF-AIxXD9ONKhB(!gblH3osz&zF)Kqid)Pb8G3N%PyN at jyug>Qrsk
z{cCsM%KS|}qAJ{6Q1aRdx+ZjkTlIqZ0F3lq4v(MjKlFajV-NCYdXzR3GIGD{+gyde
N at KNQlCPWCS;@|WP7qb8W
literal 0
HcmV?d00001
diff --git a/libc/utils/MPCWrapper/test.cc b/libc/utils/MPCWrapper/test.cc
new file mode 100644
index 00000000000000..311797c08650d6
--- /dev/null
+++ b/libc/utils/MPCWrapper/test.cc
@@ -0,0 +1,17 @@
+#include<iostream>
+using namespace std;
+
+class shogo {
+public:
+ void Run();
+ void Hey();
+};
+
+void shogo::Run() {
+ cout << "This is Run" << endl;
+}
+
+int main() {
+ shogo s;
+ s.Run();
+}
>From f06817f305962a5de0f3411bb6a0d6cf251917e7 Mon Sep 17 00:00:00 2001
From: Sh0g0-1758 <shouryagoel10000 at gmail.com>
Date: Sat, 28 Dec 2024 01:53:45 +0530
Subject: [PATCH 06/46] fmt
---
libc/test/UnitTest/RoundingModeUtils.h | 2 +-
libc/utils/MPCWrapper/MPCUtils.cpp | 91 ++++++++++++++------------
libc/utils/MPCWrapper/MPCUtils.h | 12 ++--
libc/utils/MPCWrapper/test.cc | 14 ++--
4 files changed, 64 insertions(+), 55 deletions(-)
diff --git a/libc/test/UnitTest/RoundingModeUtils.h b/libc/test/UnitTest/RoundingModeUtils.h
index ee804b09866ae6..cdc3699d156583 100644
--- a/libc/test/UnitTest/RoundingModeUtils.h
+++ b/libc/test/UnitTest/RoundingModeUtils.h
@@ -16,7 +16,7 @@ namespace LIBC_NAMESPACE_DECL {
namespace fputil {
namespace testing {
-enum class RoundingMode : uint8_t {Upward, Downward, TowardZero, Nearest};
+enum class RoundingMode : uint8_t { Upward, Downward, TowardZero, Nearest };
struct ForceRoundingMode {
ForceRoundingMode(RoundingMode);
diff --git a/libc/utils/MPCWrapper/MPCUtils.cpp b/libc/utils/MPCWrapper/MPCUtils.cpp
index 0807e448f8169f..d667d83b629378 100644
--- a/libc/utils/MPCWrapper/MPCUtils.cpp
+++ b/libc/utils/MPCWrapper/MPCUtils.cpp
@@ -8,6 +8,7 @@
#include "MPCUtils.h"
+#include "../MPFRWrapper/MPFRUtils.cpp"
#include "src/__support/CPP/array.h"
#include "src/__support/CPP/string.h"
#include "src/__support/CPP/string_view.h"
@@ -17,7 +18,6 @@
#include "src/__support/FPUtil/fpbits_str.h"
#include "src/__support/macros/config.h"
#include "src/__support/macros/properties/types.h"
-#include "../MPFRWrapper/MPFRUtils.cpp"
#include <stdint.h>
@@ -71,10 +71,9 @@ static inline mpfr_rnd_t get_mpfr_rounding_mode(RoundingMode mode) {
__builtin_unreachable();
}
-template<typename T>
-struct MPCComplex {
- T real;
- T imag;
+template <typename T> struct MPCComplex {
+ T real;
+ T imag;
};
class MPCNumber {
@@ -82,23 +81,29 @@ class MPCNumber {
unsigned int mpc_real_precision;
unsigned int mpc_imag_precision;
mpc_t value;
- mpc_rnd_t mpc_rounding;
+ mpc_rnd_t mpc_rounding;
+
public:
- MPCNumber(unsigned int r_p, unsigned int i_p) : mpc_real_precision(r_p), mpc_imag_precision(i_p), mpc_rounding(MPC_RNDNN) {
+ MPCNumber(unsigned int r_p, unsigned int i_p)
+ : mpc_real_precision(r_p), mpc_imag_precision(i_p),
+ mpc_rounding(MPC_RNDNN) {
mpc_init3(value, mpc_real_precision, mpc_imag_precision);
}
- MPCNumber() : mpc_real_precision(256), mpc_imag_precision(256), mpc_rounding(MPC_RNDNN) {
+ MPCNumber()
+ : mpc_real_precision(256), mpc_imag_precision(256),
+ mpc_rounding(MPC_RNDNN) {
mpc_init2(value, 256);
}
template <typename XType,
cpp::enable_if_t<cpp::is_same_v<_Complex float, XType>, bool> = 0>
- MPCNumber(XType x,
- unsigned int precision = ExtraPrecision<float>::VALUE,
- MPCRoundingMode rounding = MPCRoundingMode(RoundingMode::Nearest, RoundingMode::Nearest))
+ MPCNumber(XType x, unsigned int precision = ExtraPrecision<float>::VALUE,
+ MPCRoundingMode rounding = MPCRoundingMode(RoundingMode::Nearest,
+ RoundingMode::Nearest))
: mpc_real_precision(precision), mpc_imag_precision(precision),
- mpc_rounding(MPC_RND(get_mpfr_rounding_mode(rounding.Rrnd), get_mpfr_rounding_mode(rounding.Irnd))) {
+ mpc_rounding(MPC_RND(get_mpfr_rounding_mode(rounding.Rrnd),
+ get_mpfr_rounding_mode(rounding.Irnd))) {
mpc_init2(value, precision);
MPCComplex<float> x_c = cpp::bit_cast<MPCComplex<float>>(x);
mpfr_t real, imag;
@@ -111,11 +116,12 @@ class MPCNumber {
template <typename XType,
cpp::enable_if_t<cpp::is_same_v<_Complex double, XType>, bool> = 0>
- MPCNumber(XType x,
- unsigned int precision = ExtraPrecision<double>::VALUE,
- MPCRoundingMode rounding = MPCRoundingMode(RoundingMode::Nearest, RoundingMode::Nearest))
+ MPCNumber(XType x, unsigned int precision = ExtraPrecision<double>::VALUE,
+ MPCRoundingMode rounding = MPCRoundingMode(RoundingMode::Nearest,
+ RoundingMode::Nearest))
: mpc_real_precision(precision), mpc_imag_precision(precision),
- mpc_rounding(MPC_RND(get_mpfr_rounding_mode(rounding.Rrnd), get_mpfr_rounding_mode(rounding.Irnd))) {
+ mpc_rounding(MPC_RND(get_mpfr_rounding_mode(rounding.Rrnd),
+ get_mpfr_rounding_mode(rounding.Irnd))) {
mpc_init2(value, precision);
MPCComplex<double> x_c = cpp::bit_cast<MPCComplex<double>>(x);
mpc_set_d_d(value, x_c.real, x_c.imag, mpc_rounding);
@@ -138,9 +144,7 @@ class MPCNumber {
}
MPCNumber(const mpc_t &x, unsigned int r_p, unsigned int i_p, mpc_rnd_t rnd)
- : mpc_real_precision(r_p),
- mpc_imag_precision(i_p),
- mpc_rounding(rnd) {
+ : mpc_real_precision(r_p), mpc_imag_precision(i_p), mpc_rounding(rnd) {
mpc_init3(value, mpc_real_precision, mpc_imag_precision);
mpc_set(value, x, mpc_rounding);
}
@@ -149,11 +153,12 @@ class MPCNumber {
MPCNumber carg() const {
mpfr_t res;
- mpfr_init2(res, this -> mpc_real_precision);
- mpc_arg(res, value, MPC_RND_RE(this -> mpc_rounding));
+ mpfr_init2(res, this->mpc_real_precision);
+ mpc_arg(res, value, MPC_RND_RE(this->mpc_rounding));
mpc_t res_mpc;
- mpc_set_fr(res_mpc, res, MPC_RND_RE(this -> mpc_rounding));
- return MPCNumber(res_mpc, this -> mpc_real_precision, this -> mpc_imag_precision, this -> mpc_rounding);
+ mpc_set_fr(res_mpc, res, MPC_RND_RE(this->mpc_rounding));
+ return MPCNumber(res_mpc, this->mpc_real_precision,
+ this->mpc_imag_precision, this->mpc_rounding);
}
};
@@ -173,10 +178,11 @@ unary_operation(Operation op, InputType input, unsigned int precision,
}
template <typename InputType, typename OutputType>
-bool compare_unary_operation_single_output_same_type(Operation op, InputType input,
- OutputType libc_result,
- double ulp_tolerance,
- MPCRoundingMode rounding) {
+bool compare_unary_operation_single_output_same_type(Operation op,
+ InputType input,
+ OutputType libc_result,
+ double ulp_tolerance,
+ MPCRoundingMode rounding) {
unsigned int precision = get_precision<get_real_t<InputType>>(ulp_tolerance);
MPCNumber mpc_result;
mpc_result = unary_operation(op, input, precision, rounding);
@@ -185,21 +191,22 @@ bool compare_unary_operation_single_output_same_type(Operation op, InputType inp
mpc_imag(imag, mpc_result.value, rounding.Irnd);
MPFRNumber mpfr_real(real, precision, rounding.Rrnd);
MPFRNumber mpfr_imag(imag, precision, rounding.Irnd);
- double ulp_real = mpfr_real.ulp((cpp:bit_cast<MPCComplex<get_real_t<InputType>>>(libc_result)).real);
- double ulp_imag = mpfr_imag.ulp((cpp:bit_cast<MPCComplex<get_real_t<InputType>>>(libc_result)).imag);
+ double ulp_real =
+ mpfr_real.ulp((cpp::bit_cast<MPCComplex<get_real_t<InputType>>>(libc_result)).real);
+ double ulp_imag =
+ mpfr_imag.ulp((cpp::bit_cast<MPCComplex<get_real_t<InputType>>>(libc_result)).imag);
return ((ulp_real <= ulp_tolerance) && (ulp_imag <= ulp_tolerance));
}
-template bool compare_unary_operation_single_output_same_type(Operation, _Complex float, _Complex float,
- double, MPCRoundingMode);
-template bool compare_unary_operation_single_output_same_type(Operation, _Complex double, _Complex double,
- double, MPCRoundingMode);
+template bool compare_unary_operation_single_output_same_type(
+ Operation, _Complex float, _Complex float, double, MPCRoundingMode);
+template bool compare_unary_operation_single_output_same_type(
+ Operation, _Complex double, _Complex double, double, MPCRoundingMode);
template <typename InputType, typename OutputType>
-bool compare_unary_operation_single_output_different_type(Operation op, InputType input,
- OutputType libc_result,
- double ulp_tolerance,
- MPCRoundingMode rounding) {
+bool compare_unary_operation_single_output_different_type(
+ Operation op, InputType input, OutputType libc_result, double ulp_tolerance,
+ MPCRoundingMode rounding) {
unsigned int precision = get_precision<get_real_t<InputType>>(ulp_tolerance);
MPCNumber mpc_result;
mpc_result = unary_operation(op, input, precision, rounding);
@@ -210,12 +217,12 @@ bool compare_unary_operation_single_output_different_type(Operation op, InputTyp
return (ulp_real <= ulp_tolerance);
}
-template bool compare_unary_operation_single_output_different_type(Operation, _Complex float, _Complex float,
- double, MPCRoundingMode);
-template bool compare_unary_operation_single_output_different_type(Operation, _Complex double, _Complex double,
- double, MPCRoundingMode);
+template bool compare_unary_operation_single_output_different_type(
+ Operation, _Complex float, _Complex float, double, MPCRoundingMode);
+template bool compare_unary_operation_single_output_different_type(
+ Operation, _Complex double, _Complex double, double, MPCRoundingMode);
} // namespace internal
-} // namespace mpfr
+} // namespace mpc
} // namespace testing
} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/utils/MPCWrapper/MPCUtils.h b/libc/utils/MPCWrapper/MPCUtils.h
index 2ba683f21374cf..d4873cd269cc10 100644
--- a/libc/utils/MPCWrapper/MPCUtils.h
+++ b/libc/utils/MPCWrapper/MPCUtils.h
@@ -125,9 +125,11 @@ class MPCMatcher : public testing::Matcher<OutputType> {
template <typename InType, typename OutType>
bool match(InType in, OutType out) {
if (cpp::is_same_v<InType, OutType>) {
- return compare_unary_operation_single_output_same_type(op, in, out, ulp_tolerance, rounding);
+ return compare_unary_operation_single_output_same_type(
+ op, in, out, ulp_tolerance, rounding);
} else {
- return compare_unary_operation_single_output_different_type(op, in, out, ulp_tolerance, rounding);
+ return compare_unary_operation_single_output_different_type(
+ op, in, out, ulp_tolerance, rounding);
}
}
@@ -140,9 +142,11 @@ class MPCMatcher : public testing::Matcher<OutputType> {
template <typename InType, typename OutType>
void explain_error(InType in, OutType out) {
if (cpp::is_same_v<InType, OutType>) {
- explain_unary_operation_single_output_same_type_error(op, in, out, ulp_tolerance, rounding);
+ explain_unary_operation_single_output_same_type_error(
+ op, in, out, ulp_tolerance, rounding);
} else {
- explain_unary_operation_single_output_different_type_error(op, in, out, ulp_tolerance, rounding);
+ explain_unary_operation_single_output_different_type_error(
+ op, in, out, ulp_tolerance, rounding);
}
}
diff --git a/libc/utils/MPCWrapper/test.cc b/libc/utils/MPCWrapper/test.cc
index 311797c08650d6..424214269b3c67 100644
--- a/libc/utils/MPCWrapper/test.cc
+++ b/libc/utils/MPCWrapper/test.cc
@@ -1,17 +1,15 @@
-#include<iostream>
+#include <iostream>
using namespace std;
class shogo {
public:
- void Run();
- void Hey();
+ void Run();
+ void Hey();
};
-void shogo::Run() {
- cout << "This is Run" << endl;
-}
+void shogo::Run() { cout << "This is Run" << endl; }
int main() {
- shogo s;
- s.Run();
+ shogo s;
+ s.Run();
}
>From 09c68804b007fe1de402cbc87fe256ceb2edcccd Mon Sep 17 00:00:00 2001
From: Sh0g0-1758 <shouryagoel10000 at gmail.com>
Date: Sat, 28 Dec 2024 01:54:14 +0530
Subject: [PATCH 07/46] more fmt
---
libc/utils/MPCWrapper/MPCUtils.cpp | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/libc/utils/MPCWrapper/MPCUtils.cpp b/libc/utils/MPCWrapper/MPCUtils.cpp
index d667d83b629378..fc5f369e85ebe8 100644
--- a/libc/utils/MPCWrapper/MPCUtils.cpp
+++ b/libc/utils/MPCWrapper/MPCUtils.cpp
@@ -191,10 +191,10 @@ bool compare_unary_operation_single_output_same_type(Operation op,
mpc_imag(imag, mpc_result.value, rounding.Irnd);
MPFRNumber mpfr_real(real, precision, rounding.Rrnd);
MPFRNumber mpfr_imag(imag, precision, rounding.Irnd);
- double ulp_real =
- mpfr_real.ulp((cpp::bit_cast<MPCComplex<get_real_t<InputType>>>(libc_result)).real);
- double ulp_imag =
- mpfr_imag.ulp((cpp::bit_cast<MPCComplex<get_real_t<InputType>>>(libc_result)).imag);
+ double ulp_real = mpfr_real.ulp(
+ (cpp::bit_cast<MPCComplex<get_real_t<InputType>>>(libc_result)).real);
+ double ulp_imag = mpfr_imag.ulp(
+ (cpp::bit_cast<MPCComplex<get_real_t<InputType>>>(libc_result)).imag);
return ((ulp_real <= ulp_tolerance) && (ulp_imag <= ulp_tolerance));
}
>From fd7ccfcc67ab103d25b25e66314c5576a2e521eb Mon Sep 17 00:00:00 2001
From: Sh0g0-1758 <shouryagoel10000 at gmail.com>
Date: Sat, 28 Dec 2024 12:39:09 +0530
Subject: [PATCH 08/46] cmake for MPCWrapper
---
libc/utils/CMakeLists.txt | 1 +
libc/utils/MPCWrapper/CMakeLists.txt | 25 +++++++++++++++++++++++++
libc/utils/MPCWrapper/a.out | Bin 16592 -> 0 bytes
3 files changed, 26 insertions(+)
delete mode 100755 libc/utils/MPCWrapper/a.out
diff --git a/libc/utils/CMakeLists.txt b/libc/utils/CMakeLists.txt
index 11f25503cc13e2..fcdb66ebd935ca 100644
--- a/libc/utils/CMakeLists.txt
+++ b/libc/utils/CMakeLists.txt
@@ -1,3 +1,4 @@
if(LLVM_INCLUDE_TESTS)
add_subdirectory(MPFRWrapper)
+ add_subdirectory(MPCWrapper)
endif()
diff --git a/libc/utils/MPCWrapper/CMakeLists.txt b/libc/utils/MPCWrapper/CMakeLists.txt
index e69de29bb2d1d6..fc7d23e000d0da 100644
--- a/libc/utils/MPCWrapper/CMakeLists.txt
+++ b/libc/utils/MPCWrapper/CMakeLists.txt
@@ -0,0 +1,25 @@
+# if(LIBC_TESTS_CAN_USE_MPC)
+ add_library(libcMPCWrapper STATIC
+ MPCUtils.cpp
+ MPCUtils.h
+ )
+ _get_common_test_compile_options(compile_options "" "")
+ list(REMOVE_ITEM compile_options "-ffreestanding")
+ target_compile_options(libcMPCWrapper PRIVATE -O3 ${compile_options})
+ add_dependencies(
+ libcMPCWrapper
+ libc.src.__support.CPP.array
+ libc.src.__support.CPP.stringstream
+ libc.src.__support.CPP.string_view
+ libc.src.__support.CPP.type_traits
+ libc.src.__support.FPUtil.cast
+ libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.FPUtil.fpbits_str
+ libc.src.__support.complex_type
+ LibcTest.unit
+ )
+ target_include_directories(libcMPCWrapper PUBLIC ${LIBC_SOURCE_DIR})
+ target_link_libraries(libcMPCWrapper PUBLIC LibcFPTestHelpers.unit LibcTest.unit mpc mpfr gmp)
+# elseif(NOT LIBC_TARGET_OS_IS_GPU AND NOT LLVM_LIBC_FULL_BUILD)
+# message(WARNING "Math tests using MPC will be skipped.")
+# endif()
diff --git a/libc/utils/MPCWrapper/a.out b/libc/utils/MPCWrapper/a.out
deleted file mode 100755
index a077e04da8dfedc0c3c7446f96e311f75c6b6a56..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 16592
zcmeHOYit}>6~1f7iA&wsPHpNWC0W`Ar36p>ib+b-uI;Qdrg<3Kp{0~g$Gc;D(tViS
z+0?F}q@<vjBqFVVMgk%8r$vC&{^*ZZ2uNsYQ;DJ!5UPZbO4W))Jn9H2E)`k6bMHNq
z at pQLpBlrQDo6MejzH`3&ICEz_vwQ9rlDh_LVlly`R@@{=n{QG`LK~X4=?X+bY!z4F
zbG=w6mP21AF=bCE0jnx6)hw0u8n1;UUK>>^$g34BSn>!-60ch6&>gT8dLG29Ba+s`
za<v{OOSb#{#fgj(m!H18njBDA26+^l<L%Ncj&ENo59<C->-jT}VB*bd-n{0q6q?79
z<4G~0W2<g2EIVMM!ZOU8(!8+Tp=g37^+9FyH7|WB{S9kgOI$W1!tzE13zpp9C%~h)
zyxYR3c|`YD?L18Dc(T-|Q*6$-<GnqbGwJq>n=8$<&ur~&@9i;)d811XfyNcbL2GK~
zo_%yWP7=nav*w`ExjnMAXgm2IsQLB&(z3;8K7IH8wLOI!lBYJNYsrVkO&s!}LhbP>
zC!Ol=!$CeO9uLYoVN}jIzsR<pXc$o1+dl^Zt$I5wYS3UM{IM$j_gBHsSHT~ug42BC
zIKqYI7Y~EbKT-v60pXeo{(k`0EY^rbLK&N=VJen2na$^{qGuO8%M#Ym*lsKB6r4%7
z=sAV4-2<6?&Ka}EGmf%Vw%k7I^*Fh7W+*l4b#|tv?1JSLY}YFerIN`JVBO<((M?(T
zqE~S2?9iAs)?p<_d(q+Tdq(q_VsdzJWHdi&B>{|jU7c>eXo2EbSbqh(Fl)Iv*E=AM
znc~p9>m)UXF1A?1x1=PmCzUUGm at lT9y4y-k-EB?SZUz9lNa+A%Z8rxbHDg;7ZqClQ
z_c{XRqL)r>+C;0qm(-N1?c6ogKXBV^R=3e(ba#n>s_Isk(c{;;FIKyZEeL!q?o+k+
zSBLc*lmBX<#jvuk#kryN(1D|W at nJ0W<>E$-dDlOLTUM>OMW4SI>Rs9fchTaySJ2gX
ztHz#q at Ef>1mI+(yr8VwlboFF3pYO+fA3WGhtq5^K-)|XDXuLil&4O{(&)lqVx)%8w
zB;=(4uDg_uF9&eCmbsh_;42t}TnOOYH<=d$I40&7UgvaQy4**FcvAaQ+kB5A^T_~C
z_a82&1GxOV$%aTq5r`rXMIeem6oDuL|ML;}Yva0qnuq>WZyu at p{bnJ|FP-#i%4f_&
z&(uFH=T_eGMZo0^58$(LeL|4`6j{!_QZAP#j!T^$aL)bmqD~Js=YHzz<qZ>HPc*LI
zAtb-N;iiz at 8`6y>dgq^q=3czhoO{JQ^y<R!ShDkE=kw;V?U$k3a_d^S{%yi&T>k)#
zN&w#m#5`8lMPl2c*NUlKFx1p8E5F>h{vi21ttGW1{kPPRxc-7Uw_u+7%gyGg#ac7=
ztoh;vuLTXfpc|+!zpUoLe478k?RE6XTH3VFJhc5 at cnWjwHLt-uvi%V#XWzU~E}u;!
z8qe1K4t>Nv1Fqjc at z31@qm1M}5OFq|%(>4mVhX91)YP-6eVzKBd+zLy(3W|mb)8gy
zL&y(-9Dn|4YKPfr^T at Id8|5&Pi=8LUW66Jz=Qq*IlR$-eWZz=i+|(j{yt=c8(ZusO
z-PDF$3;x+B at 2Er(h$0Y0Ac{Z~fhYn|1fmE;5r`rXMIeg6|3d`mcbBm#w;0F&ky1{?
zkP8r7Tl=xCm>m74(Xdc1XCQY$ehu;t$R9u+g&c!CaK2oA2J#8WS0U*)PAai`M?`F<
zDYmv at Mg4KSs1r`V<#&MhA#&KUf_~}|*Wu{FapLuIIRPnFHVv+9`*`E!_tYO0H?P_D
z;qL3MA(;4g;CLK<l1Ly5;U13f0;iX7F4Wgi9N$BKHxZaz+4SX_fh(4mFd(R8r+J))
zy&uxI&ni1XQHdfDMIeem6oDuLQ3Rq0L=lK05Je!0z<)CWoQKAFXPi4mxp7ojr`$Ix
z4NCZV%}9cir9mfiuGTu|yRFqa=aQ|_I_JI7dl413|NTNaPx|9JX^eBh7MBsqIjG2Y
z({|2*o6+Or9JDs&E?Tu at p=n}X=bO<_$5c!u{P#)DiMvYUXEnh1BE77l at VFP0DmXWe
z`(LMV_Is<W=7-@*2tS3&`5xBo;WtyM^SJQ3DD`P=e^cu`58eEKO!#@<p%y#zOK?KV
zVJ$;$?^@-2#+?HLH^evY8!zR&QoOU<=r%gqdrMO7y05Fp=;*m#!|&WQo&IIwd^zkz
z=OYHoQ5~?jcDNF<l0TiV8f1l at 3C)jqgbSUY300PEd=k#rkA}q%Dly~%5BDiVFHb>P
z)-myZKkt+MKZgpn!`CC at hoyh3pU=<uqo`CG|6|gBm1v49Pww{>jW>tzRyf3viM=X>
zSBsA+{aZxa2UYvQ&r0L at q#VGNe%?L%yRx0DM0mXwB;Mv<pX`4ac#~Kyni7mC`A1wR
zao{3^e--}ClwlrMe){$yz76~u1ugk}3OJ%BPV4jAudP3p_!3vC)S=(zn$?2WF?*~6
zzN)5K at coeSHo{p6$So3Y5?|5%%I}U~e_iAAdL7E|uz)A4v@=%)f20b2itrlT%|q+_
zIp8#}aGZZdc!j+7bHM4mh(usgsJ<cbHR86urTAMKPlWte;QFi-pKjpsrA<g}Zx#H`
zD!3R;6}(O(kEC;Z+_gM=QUEA=rHKh6B`zl7TVB>mQ7V2Bp6R?bnaPja87uAO3q{K=
z&4^S!JDqVnCv9|8_Mn7z*Rl%*d)9JtUSU>D6zr^HrAyiDEGPj at CfhG@^_-$-q$rPm
zQ*BXB(A&UbfMaP^!?2kHKKq}1COj9auyxuQFnbJ9cmla$Z at o+#P(PMIZ&H8|3@
zJ832N?4Vr?7WR!;NmGO7juBz)_|%@h-9rPy+PQ0Qf8Q=^@8IBQ68jMP`gbM4aMHGC
zV~fLH>;y==IjdB3(r72R6Cfco{E^j93H)lOz$Nc{P;IHr1L!7Q%v)17Hc()f1)V2A
zp<M}n=h#SqkZvhX<tOvq_^LX2$-5$!jv=%UW2rH;X~G{2#zGr2FkI{u;owtHXs<=6
z2 at 0^<W`StuD7fRrA_MQR=_A+-?X!5tEh-guvsB!%B8=i}*0aYUy at HZcT%#pjm=;DZ
z?>WX~u4GIX^3zVin+-tYB^P_5+_Z-J`iI)-+Li88c5zA=>De5*P|_<X%K at iQbo03-
ziUnK2$=F2Dwdsr}3>jAgRbw&_l`2IiB at EA*fhre?QOL_xYdBN-@|{YfHP%!c>N-{o
zuA?hE>!LA5$9WJ2ZXj9Q7b at J-E(N0JYy64Avx6$({f+#5t<BPx>m;wmLC>_zueOhm
ze5vqrtkQ(&MJ31&@8_f6TY`oE4l_p2NkKk8r?HH)qn2U*t-#;FGck{!-y2wN)I9z8
z{I>Diu+uvO^ZC7kWt at VGLSv*V&!3;~U10c=<Ma7Fg(bh2z(p3_9IN89sL?Y&_s`Gy
zEV&;ZKl`z~4}5xuV4dG1SWfGnIL17F9>6hFD5lKk_ZpT9+L8NbK9B2R&F|NK{GP<p
z4Dg8)=6?qm#f01UpGWj_3BNz;X5?78PV!qgg8aDVu}qLtplGw-&7-gd`FCjtmh8_>
zu+H-F5Pw=5SavW`OXjhBD#V}H2A2D2aDl=+hJJ!daQyt-$&%mC**|>!{7m!t{EN8u
z)RNu<f+fs<0Y>Vd`7Lqf&GJU2`k!I`Z(#}YhvUkX<<EVls_^<@_%&3Jwe0UP<L at 1K
z|83Zxb(ZJBZ4B`Fdx;b608!XaX%}_I{{;iBUAhNQ;rAKdPtAd$>yHZa_&k0e7|q}3
z>+dDzH<PyzcgfF-AIxXD9ONKhB(!gblH3osz&zF)Kqid)Pb8G3N%PyN at jyug>Qrsk
z{cCsM%KS|}qAJ{6Q1aRdx+ZjkTlIqZ0F3lq4v(MjKlFajV-NCYdXzR3GIGD{+gyde
N at KNQlCPWCS;@|WP7qb8W
>From c8956f6f7d20fb3c9a2a23a6293173ec0434c0a4 Mon Sep 17 00:00:00 2001
From: Sh0g0-1758 <shouryagoel10000 at gmail.com>
Date: Sat, 28 Dec 2024 12:43:44 +0530
Subject: [PATCH 09/46] init
---
libc/config/linux/x86_64/entrypoints.txt | 1 +
libc/src/complex/CMakeLists.txt | 2 ++
libc/src/complex/cargf.h | 20 ++++++++++++++
libc/src/complex/generic/CMakeLists.txt | 13 +++++++++
libc/src/complex/generic/cargf.cpp | 21 ++++++++++++++
libc/test/src/complex/CMakeLists.txt | 12 ++++++++
libc/test/src/complex/CargTest.h | 35 ++++++++++++++++++++++++
libc/test/src/complex/cargf_test.cpp | 13 +++++++++
8 files changed, 117 insertions(+)
create mode 100644 libc/src/complex/cargf.h
create mode 100644 libc/src/complex/generic/cargf.cpp
create mode 100644 libc/test/src/complex/CargTest.h
create mode 100644 libc/test/src/complex/cargf_test.cpp
diff --git a/libc/config/linux/x86_64/entrypoints.txt b/libc/config/linux/x86_64/entrypoints.txt
index 08d8559d8c81a2..863e4a7c3ebfb1 100644
--- a/libc/config/linux/x86_64/entrypoints.txt
+++ b/libc/config/linux/x86_64/entrypoints.txt
@@ -373,6 +373,7 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.complex.cproj
libc.src.complex.cprojf
libc.src.complex.cprojl
+ libc.src.complex.cargf
# fenv.h entrypoints
libc.src.fenv.feclearexcept
diff --git a/libc/src/complex/CMakeLists.txt b/libc/src/complex/CMakeLists.txt
index bc66a5445d7274..269c969f26db07 100644
--- a/libc/src/complex/CMakeLists.txt
+++ b/libc/src/complex/CMakeLists.txt
@@ -36,3 +36,5 @@ add_complex_entrypoint_object(cprojf)
add_complex_entrypoint_object(cprojl)
add_complex_entrypoint_object(cprojf16)
add_complex_entrypoint_object(cprojf128)
+
+add_complex_entrypoint_object(cargf)
diff --git a/libc/src/complex/cargf.h b/libc/src/complex/cargf.h
new file mode 100644
index 00000000000000..24d3cc0684fc8f
--- /dev/null
+++ b/libc/src/complex/cargf.h
@@ -0,0 +1,20 @@
+//===-- Implementation header for cargf -------------------------*- C++ -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_LIBC_SRC_COMPLEX_CARGF_H
+#define LLVM_LIBC_SRC_COMPLEX_CARGF_H
+
+#include "src/__support/macros/config.h"
+
+namespace LIBC_NAMESPACE_DECL {
+
+float cargf(_Complex float x);
+
+} // namespace LIBC_NAMESPACE_DECL
+
+#endif // LLVM_LIBC_SRC_COMPLEX_CARGF_H
diff --git a/libc/src/complex/generic/CMakeLists.txt b/libc/src/complex/generic/CMakeLists.txt
index 3dae6f8a614953..96588712b7cfa5 100644
--- a/libc/src/complex/generic/CMakeLists.txt
+++ b/libc/src/complex/generic/CMakeLists.txt
@@ -1,3 +1,16 @@
+add_entrypoint_object(
+ cargf
+ SRCS
+ cargf.cpp
+ HDRS
+ ../cargf.h
+ COMPILE_OPTIONS
+ ${libc_opt_high_flag}
+ DEPENDS
+ libc.src.__support.complex_type
+ libc.src.math.atan2f
+)
+
add_entrypoint_object(
cproj
SRCS
diff --git a/libc/src/complex/generic/cargf.cpp b/libc/src/complex/generic/cargf.cpp
new file mode 100644
index 00000000000000..b2d78dd2e00efe
--- /dev/null
+++ b/libc/src/complex/generic/cargf.cpp
@@ -0,0 +1,21 @@
+//===-- Implementation of cargf function ----------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#include "src/complex/cargf.h"
+#include "src/__support/common.h"
+#include "src/__support/complex_type.h"
+#include "src/math/atan2f.h"
+
+namespace LIBC_NAMESPACE_DECL {
+
+LLVM_LIBC_FUNCTION(float, cargf, (_Complex float x)) {
+ Complex<float> x_c = cpp::bit_cast<Complex<float>>(x);
+ return atan2f(x_c.imag, x_c.real);
+}
+
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/test/src/complex/CMakeLists.txt b/libc/test/src/complex/CMakeLists.txt
index d6b62e4686a223..0cca51cf275883 100644
--- a/libc/test/src/complex/CMakeLists.txt
+++ b/libc/test/src/complex/CMakeLists.txt
@@ -1,5 +1,17 @@
add_custom_target(libc-complex-unittests)
+add_libc_test(
+ cargf_test
+ SUITE
+ libc-complex-unittests
+ SRCS
+ cargf_test.cpp
+ DEPENDS
+ libc.src.complex.cargf
+ LINK_LIBRARIES
+ LibcFPTestHelpers
+)
+
add_libc_test(
conj_test
SUITE
diff --git a/libc/test/src/complex/CargTest.h b/libc/test/src/complex/CargTest.h
new file mode 100644
index 00000000000000..5453596f8017c1
--- /dev/null
+++ b/libc/test/src/complex/CargTest.h
@@ -0,0 +1,35 @@
+//===-- Utility class to test different flavors of carg ---------*- C++ -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_LIBC_TEST_SRC_COMPLEX_CARGTEST_H
+#define LLVM_LIBC_TEST_SRC_COMPLEX_CARGTEST_H
+
+#include "test/UnitTest/FEnvSafeTest.h"
+#include "test/UnitTest/FPMatcher.h"
+#include "test/UnitTest/Test.h"
+
+#include "hdr/math_macros.h"
+
+template <typename CFPT, typename FPT>
+class CargTest : public LIBC_NAMESPACE::testing::FEnvSafeTest {
+
+ DECLARE_SPECIAL_CONSTANTS(FPT)
+
+public:
+ typedef FPT (*CargFunc)(CFPT);
+
+ void testRoundedNumbers(CargFunc func) {
+ EXPECT_FP_EQ((FPT)(1.10714871762320399284), func((CFPT)(1.0 + 2.0i)));
+ }
+};
+
+#define LIST_CARG_TESTS(U, T, func) \
+ using LlvmLibcCargTest = CargTest<U, T>; \
+ TEST_F(LlvmLibcCargTest, RoundedNumbers) { testRoundedNumbers(&func); }
+
+#endif // LLVM_LIBC_TEST_SRC_COMPLEX_CARGTEST_H
diff --git a/libc/test/src/complex/cargf_test.cpp b/libc/test/src/complex/cargf_test.cpp
new file mode 100644
index 00000000000000..5d856328c13286
--- /dev/null
+++ b/libc/test/src/complex/cargf_test.cpp
@@ -0,0 +1,13 @@
+//===-- Unittests for cargf -----------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#include "CargTest.h"
+
+#include "src/complex/cargf.h"
+
+LIST_CARG_TESTS(_Complex float, float, LIBC_NAMESPACE::cargf)
>From 9ce03e9171d06fd3edcfd8df42063309ea8d5a42 Mon Sep 17 00:00:00 2001
From: Sh0g0-1758 <shouryagoel10000 at gmail.com>
Date: Sat, 28 Dec 2024 14:26:54 +0530
Subject: [PATCH 10/46] fixed a couple bugs
---
libc/test/src/complex/CMakeLists.txt | 1 +
libc/test/src/complex/CargTest.h | 35 ----------------------------
libc/test/src/complex/cargf_test.cpp | 15 +++++++++---
libc/utils/MPCWrapper/MPCUtils.cpp | 28 ++++++++++++++--------
libc/utils/MPCWrapper/MPCUtils.h | 28 ++++++++++++++++------
libc/utils/MPFRWrapper/MPFRUtils.cpp | 7 ++++++
6 files changed, 59 insertions(+), 55 deletions(-)
delete mode 100644 libc/test/src/complex/CargTest.h
diff --git a/libc/test/src/complex/CMakeLists.txt b/libc/test/src/complex/CMakeLists.txt
index 0cca51cf275883..8e91c09d1edd32 100644
--- a/libc/test/src/complex/CMakeLists.txt
+++ b/libc/test/src/complex/CMakeLists.txt
@@ -10,6 +10,7 @@ add_libc_test(
libc.src.complex.cargf
LINK_LIBRARIES
LibcFPTestHelpers
+ libcMPCWrapper
)
add_libc_test(
diff --git a/libc/test/src/complex/CargTest.h b/libc/test/src/complex/CargTest.h
deleted file mode 100644
index 5453596f8017c1..00000000000000
--- a/libc/test/src/complex/CargTest.h
+++ /dev/null
@@ -1,35 +0,0 @@
-//===-- Utility class to test different flavors of carg ---------*- C++ -*-===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_LIBC_TEST_SRC_COMPLEX_CARGTEST_H
-#define LLVM_LIBC_TEST_SRC_COMPLEX_CARGTEST_H
-
-#include "test/UnitTest/FEnvSafeTest.h"
-#include "test/UnitTest/FPMatcher.h"
-#include "test/UnitTest/Test.h"
-
-#include "hdr/math_macros.h"
-
-template <typename CFPT, typename FPT>
-class CargTest : public LIBC_NAMESPACE::testing::FEnvSafeTest {
-
- DECLARE_SPECIAL_CONSTANTS(FPT)
-
-public:
- typedef FPT (*CargFunc)(CFPT);
-
- void testRoundedNumbers(CargFunc func) {
- EXPECT_FP_EQ((FPT)(1.10714871762320399284), func((CFPT)(1.0 + 2.0i)));
- }
-};
-
-#define LIST_CARG_TESTS(U, T, func) \
- using LlvmLibcCargTest = CargTest<U, T>; \
- TEST_F(LlvmLibcCargTest, RoundedNumbers) { testRoundedNumbers(&func); }
-
-#endif // LLVM_LIBC_TEST_SRC_COMPLEX_CARGTEST_H
diff --git a/libc/test/src/complex/cargf_test.cpp b/libc/test/src/complex/cargf_test.cpp
index 5d856328c13286..b5ae34ce5c3b57 100644
--- a/libc/test/src/complex/cargf_test.cpp
+++ b/libc/test/src/complex/cargf_test.cpp
@@ -6,8 +6,17 @@
//
//===----------------------------------------------------------------------===//
-#include "CargTest.h"
-
#include "src/complex/cargf.h"
-LIST_CARG_TESTS(_Complex float, float, LIBC_NAMESPACE::cargf)
+#include "test/UnitTest/FPMatcher.h"
+#include "test/UnitTest/Test.h"
+#include "utils/MPCWrapper/MPCUtils.h"
+
+using LlvmLibcCargTest = LIBC_NAMESPACE::testing::FPTest<float>;
+
+namespace mpc = LIBC_NAMESPACE::testing::mpc;
+
+TEST_F(LlvmLibcCargTest, RandomFloats) {
+ _Complex float test1 = 5.0 + 10.0i;
+ EXPECT_MPC_MATCH_DEFAULT(mpc::Operation::Carg, test1, LIBC_NAMESPACE::cargf(test1), 0.5);
+}
diff --git a/libc/utils/MPCWrapper/MPCUtils.cpp b/libc/utils/MPCWrapper/MPCUtils.cpp
index fc5f369e85ebe8..f746f90406d37f 100644
--- a/libc/utils/MPCWrapper/MPCUtils.cpp
+++ b/libc/utils/MPCWrapper/MPCUtils.cpp
@@ -135,7 +135,7 @@ class MPCNumber {
mpc_set(value, other.value, mpc_rounding);
}
- MPCNumber &operator=(const MPCNumber &rhs) {
+ MPCNumber& operator=(const MPCNumber &rhs) {
mpc_real_precision = rhs.mpc_real_precision;
mpc_imag_precision = rhs.mpc_imag_precision;
mpc_rounding = rhs.mpc_rounding;
@@ -143,7 +143,7 @@ class MPCNumber {
return *this;
}
- MPCNumber(const mpc_t &x, unsigned int r_p, unsigned int i_p, mpc_rnd_t rnd)
+ MPCNumber(const mpc_t x, unsigned int r_p, unsigned int i_p, mpc_rnd_t rnd)
: mpc_real_precision(r_p), mpc_imag_precision(i_p), mpc_rounding(rnd) {
mpc_init3(value, mpc_real_precision, mpc_imag_precision);
mpc_set(value, x, mpc_rounding);
@@ -151,6 +151,10 @@ class MPCNumber {
~MPCNumber() { mpc_clear(value); }
+ void getValue(mpc_t val) const {
+ mpc_set(val, value, mpc_rounding);
+ }
+
MPCNumber carg() const {
mpfr_t res;
mpfr_init2(res, this->mpc_real_precision);
@@ -187,10 +191,12 @@ bool compare_unary_operation_single_output_same_type(Operation op,
MPCNumber mpc_result;
mpc_result = unary_operation(op, input, precision, rounding);
mpfr_t real, imag;
- mpc_real(real, mpc_result.value, rounding.Rrnd);
- mpc_imag(imag, mpc_result.value, rounding.Irnd);
- MPFRNumber mpfr_real(real, precision, rounding.Rrnd);
- MPFRNumber mpfr_imag(imag, precision, rounding.Irnd);
+ mpc_t mpc_result_val;
+ mpc_result.getValue(mpc_result_val);
+ mpc_real(real, mpc_result_val, get_mpfr_rounding_mode(rounding.Rrnd));
+ mpc_imag(imag, mpc_result_val, get_mpfr_rounding_mode(rounding.Irnd));
+ mpfr::MPFRNumber mpfr_real(real, precision, rounding.Rrnd);
+ mpfr::MPFRNumber mpfr_imag(imag, precision, rounding.Irnd);
double ulp_real = mpfr_real.ulp(
(cpp::bit_cast<MPCComplex<get_real_t<InputType>>>(libc_result)).real);
double ulp_imag = mpfr_imag.ulp(
@@ -210,17 +216,19 @@ bool compare_unary_operation_single_output_different_type(
unsigned int precision = get_precision<get_real_t<InputType>>(ulp_tolerance);
MPCNumber mpc_result;
mpc_result = unary_operation(op, input, precision, rounding);
+ mpc_t mpc_result_val;
+ mpc_result.getValue(mpc_result_val);
mpfr_t real;
- mpc_real(real, mpc_result.value, rounding.Rrnd);
- MPFRNumber mpfr_real(real, precision, rounding.Rrnd);
+ mpc_real(real, mpc_result_val, get_mpfr_rounding_mode(rounding.Rrnd));
+ mpfr::MPFRNumber mpfr_real(real, precision, rounding.Rrnd);
double ulp_real = mpfr_real.ulp(libc_result);
return (ulp_real <= ulp_tolerance);
}
template bool compare_unary_operation_single_output_different_type(
- Operation, _Complex float, _Complex float, double, MPCRoundingMode);
+ Operation, _Complex float, float, double, MPCRoundingMode);
template bool compare_unary_operation_single_output_different_type(
- Operation, _Complex double, _Complex double, double, MPCRoundingMode);
+ Operation, _Complex double, double, double, MPCRoundingMode);
} // namespace internal
} // namespace mpc
diff --git a/libc/utils/MPCWrapper/MPCUtils.h b/libc/utils/MPCWrapper/MPCUtils.h
index d4873cd269cc10..52139f14ef896c 100644
--- a/libc/utils/MPCWrapper/MPCUtils.h
+++ b/libc/utils/MPCWrapper/MPCUtils.h
@@ -66,6 +66,8 @@ using LIBC_NAMESPACE::fputil::testing::RoundingMode;
struct MPCRoundingMode {
RoundingMode Rrnd;
RoundingMode Irnd;
+
+ MPCRoundingMode(RoundingMode r, RoundingMode i) : Rrnd(r), Irnd(i) {}
};
template <typename T> struct BinaryInput {
@@ -80,7 +82,13 @@ template <typename T> struct BinaryInput {
namespace internal {
template <typename InputType, typename OutputType>
-bool compare_unary_operation_single_output(Operation op, InputType input,
+bool compare_unary_operation_single_output_same_type(Operation op, InputType input,
+ OutputType libc_output,
+ double ulp_tolerance,
+ MPCRoundingMode rounding);
+
+template <typename InputType, typename OutputType>
+bool compare_unary_operation_single_output_different_type(Operation op, InputType input,
OutputType libc_output,
double ulp_tolerance,
MPCRoundingMode rounding);
@@ -93,7 +101,13 @@ bool compare_binary_operation_one_output(Operation op,
MPCRoundingMode rounding);
template <typename InputType, typename OutputType>
-void explain_unary_operation_single_output_error(Operation op, InputType input,
+void explain_unary_operation_single_output_same_type_error(Operation op, InputType input,
+ OutputType match_value,
+ double ulp_tolerance,
+ MPCRoundingMode rounding);
+
+template <typename InputType, typename OutputType>
+void explain_unary_operation_single_output_different_type_error(Operation op, InputType input,
OutputType match_value,
double ulp_tolerance,
MPCRoundingMode rounding);
@@ -220,7 +234,7 @@ get_mpc_matcher(InputType input, [[maybe_unused]] OutputType output,
match_value, \
LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>( \
input, match_value, ulp_tolerance, \
- MPCRoundingMode{ \
+ LIBC_NAMESPACE::testing::mpc::MPCRoundingMode{ \
LIBC_NAMESPACE::fputil::testing::RoundingMode::Nearest, \
LIBC_NAMESPACE::fputil::testing::RoundingMode::Nearest}))
@@ -228,7 +242,7 @@ get_mpc_matcher(InputType input, [[maybe_unused]] OutputType output,
Rrounding, Irounding) \
EXPECT_THAT(match_value, LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>( \
input, match_value, ulp_tolerance, \
- MPCRoundingMode{Rrounding, Irounding}))
+ LIBC_NAMESPACE::testing::mpc::MPCRoundingMode{Rrounding, Irounding}))
#define EXPECT_MPC_MATCH_ALL_ROUNDING_HELPER( \
i, j, op, input, match_value, ulp_tolerance, Rrounding, Irounding) \
@@ -260,7 +274,7 @@ get_mpc_matcher(InputType input, [[maybe_unused]] OutputType output,
Rrounding, Irounding) \
LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>( \
input, match_value, ulp_tolerance, \
- MPCRoundingMode{Rrounding, Irounding}) \
+ LIBC_NAMESPACE::testing::mpc::MPCRoundingMode{Rrounding, Irounding}) \
.match(match_value)
#define ASSERT_MPC_MATCH_DEFAULT(op, input, match_value, ulp_tolerance) \
@@ -268,7 +282,7 @@ get_mpc_matcher(InputType input, [[maybe_unused]] OutputType output,
match_value, \
LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>( \
input, match_value, ulp_tolerance, \
- MPCRoundingMode{ \
+ LIBC_NAMESPACE::testing::mpc::MPCRoundingMode{ \
LIBC_NAMESPACE::fputil::testing::RoundingMode::Nearest, \
LIBC_NAMESPACE::fputil::testing::RoundingMode::Nearest}))
@@ -276,7 +290,7 @@ get_mpc_matcher(InputType input, [[maybe_unused]] OutputType output,
Rrounding, Irounding) \
ASSERT_THAT(match_value, LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>( \
input, match_value, ulp_tolerance, \
- MPCRoundingMode{Rrounding, Irounding}))
+ LIBC_NAMESPACE::testing::mpc::MPCRoundingMode{Rrounding, Irounding}))
#define ASSERT_MPC_MATCH_ALL_ROUNDING_HELPER( \
i, j, op, input, match_value, ulp_tolerance, Rrounding, Irounding) \
diff --git a/libc/utils/MPFRWrapper/MPFRUtils.cpp b/libc/utils/MPFRWrapper/MPFRUtils.cpp
index 0dac497bb779af..1fee1b1a9b3c2d 100644
--- a/libc/utils/MPFRWrapper/MPFRUtils.cpp
+++ b/libc/utils/MPFRWrapper/MPFRUtils.cpp
@@ -188,6 +188,13 @@ class MPFRNumber {
mpfr_set(value, other.value, mpfr_rounding);
}
+ MPFRNumber(const mpfr_t& x, unsigned int precision, RoundingMode rounding)
+ : mpfr_precision(precision),
+ mpfr_rounding(get_mpfr_rounding_mode(rounding)) {
+ mpfr_init2(value, mpfr_precision);
+ mpfr_set(value, x, mpfr_rounding);
+ }
+
~MPFRNumber() { mpfr_clear(value); }
MPFRNumber &operator=(const MPFRNumber &rhs) {
>From d939e5cd2066b154bde91ac5d77795e3e217e2b6 Mon Sep 17 00:00:00 2001
From: Sh0g0-1758 <shouryagoel10000 at gmail.com>
Date: Sat, 28 Dec 2024 14:30:36 +0530
Subject: [PATCH 11/46] fmt
---
libc/src/complex/generic/cargf.cpp | 4 +--
libc/test/src/complex/cargf_test.cpp | 5 ++--
libc/utils/MPCWrapper/MPCUtils.cpp | 6 ++--
libc/utils/MPCWrapper/MPCUtils.h | 42 ++++++++++++++--------------
libc/utils/MPFRWrapper/MPFRUtils.cpp | 2 +-
5 files changed, 29 insertions(+), 30 deletions(-)
diff --git a/libc/src/complex/generic/cargf.cpp b/libc/src/complex/generic/cargf.cpp
index b2d78dd2e00efe..86340c2f1c805f 100644
--- a/libc/src/complex/generic/cargf.cpp
+++ b/libc/src/complex/generic/cargf.cpp
@@ -14,8 +14,8 @@
namespace LIBC_NAMESPACE_DECL {
LLVM_LIBC_FUNCTION(float, cargf, (_Complex float x)) {
- Complex<float> x_c = cpp::bit_cast<Complex<float>>(x);
- return atan2f(x_c.imag, x_c.real);
+ Complex<float> x_c = cpp::bit_cast<Complex<float>>(x);
+ return atan2f(x_c.imag, x_c.real);
}
} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/test/src/complex/cargf_test.cpp b/libc/test/src/complex/cargf_test.cpp
index b5ae34ce5c3b57..445c17279e9b6f 100644
--- a/libc/test/src/complex/cargf_test.cpp
+++ b/libc/test/src/complex/cargf_test.cpp
@@ -17,6 +17,7 @@ using LlvmLibcCargTest = LIBC_NAMESPACE::testing::FPTest<float>;
namespace mpc = LIBC_NAMESPACE::testing::mpc;
TEST_F(LlvmLibcCargTest, RandomFloats) {
- _Complex float test1 = 5.0 + 10.0i;
- EXPECT_MPC_MATCH_DEFAULT(mpc::Operation::Carg, test1, LIBC_NAMESPACE::cargf(test1), 0.5);
+ _Complex float test1 = 5.0 + 10.0i;
+ EXPECT_MPC_MATCH_DEFAULT(mpc::Operation::Carg, test1,
+ LIBC_NAMESPACE::cargf(test1), 0.5);
}
diff --git a/libc/utils/MPCWrapper/MPCUtils.cpp b/libc/utils/MPCWrapper/MPCUtils.cpp
index f746f90406d37f..caf86960cad342 100644
--- a/libc/utils/MPCWrapper/MPCUtils.cpp
+++ b/libc/utils/MPCWrapper/MPCUtils.cpp
@@ -135,7 +135,7 @@ class MPCNumber {
mpc_set(value, other.value, mpc_rounding);
}
- MPCNumber& operator=(const MPCNumber &rhs) {
+ MPCNumber &operator=(const MPCNumber &rhs) {
mpc_real_precision = rhs.mpc_real_precision;
mpc_imag_precision = rhs.mpc_imag_precision;
mpc_rounding = rhs.mpc_rounding;
@@ -151,9 +151,7 @@ class MPCNumber {
~MPCNumber() { mpc_clear(value); }
- void getValue(mpc_t val) const {
- mpc_set(val, value, mpc_rounding);
- }
+ void getValue(mpc_t val) const { mpc_set(val, value, mpc_rounding); }
MPCNumber carg() const {
mpfr_t res;
diff --git a/libc/utils/MPCWrapper/MPCUtils.h b/libc/utils/MPCWrapper/MPCUtils.h
index 52139f14ef896c..7211197dbbf8df 100644
--- a/libc/utils/MPCWrapper/MPCUtils.h
+++ b/libc/utils/MPCWrapper/MPCUtils.h
@@ -82,16 +82,16 @@ template <typename T> struct BinaryInput {
namespace internal {
template <typename InputType, typename OutputType>
-bool compare_unary_operation_single_output_same_type(Operation op, InputType input,
- OutputType libc_output,
- double ulp_tolerance,
- MPCRoundingMode rounding);
+bool compare_unary_operation_single_output_same_type(Operation op,
+ InputType input,
+ OutputType libc_output,
+ double ulp_tolerance,
+ MPCRoundingMode rounding);
template <typename InputType, typename OutputType>
-bool compare_unary_operation_single_output_different_type(Operation op, InputType input,
- OutputType libc_output,
- double ulp_tolerance,
- MPCRoundingMode rounding);
+bool compare_unary_operation_single_output_different_type(
+ Operation op, InputType input, OutputType libc_output, double ulp_tolerance,
+ MPCRoundingMode rounding);
template <typename InputType, typename OutputType>
bool compare_binary_operation_one_output(Operation op,
@@ -101,16 +101,14 @@ bool compare_binary_operation_one_output(Operation op,
MPCRoundingMode rounding);
template <typename InputType, typename OutputType>
-void explain_unary_operation_single_output_same_type_error(Operation op, InputType input,
- OutputType match_value,
- double ulp_tolerance,
- MPCRoundingMode rounding);
+void explain_unary_operation_single_output_same_type_error(
+ Operation op, InputType input, OutputType match_value, double ulp_tolerance,
+ MPCRoundingMode rounding);
template <typename InputType, typename OutputType>
-void explain_unary_operation_single_output_different_type_error(Operation op, InputType input,
- OutputType match_value,
- double ulp_tolerance,
- MPCRoundingMode rounding);
+void explain_unary_operation_single_output_different_type_error(
+ Operation op, InputType input, OutputType match_value, double ulp_tolerance,
+ MPCRoundingMode rounding);
template <typename InputType, typename OutputType>
void explain_binary_operation_one_output_error(
@@ -234,7 +232,7 @@ get_mpc_matcher(InputType input, [[maybe_unused]] OutputType output,
match_value, \
LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>( \
input, match_value, ulp_tolerance, \
- LIBC_NAMESPACE::testing::mpc::MPCRoundingMode{ \
+ LIBC_NAMESPACE::testing::mpc::MPCRoundingMode{ \
LIBC_NAMESPACE::fputil::testing::RoundingMode::Nearest, \
LIBC_NAMESPACE::fputil::testing::RoundingMode::Nearest}))
@@ -242,7 +240,8 @@ get_mpc_matcher(InputType input, [[maybe_unused]] OutputType output,
Rrounding, Irounding) \
EXPECT_THAT(match_value, LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>( \
input, match_value, ulp_tolerance, \
- LIBC_NAMESPACE::testing::mpc::MPCRoundingMode{Rrounding, Irounding}))
+ LIBC_NAMESPACE::testing::mpc::MPCRoundingMode{ \
+ Rrounding, Irounding}))
#define EXPECT_MPC_MATCH_ALL_ROUNDING_HELPER( \
i, j, op, input, match_value, ulp_tolerance, Rrounding, Irounding) \
@@ -274,7 +273,7 @@ get_mpc_matcher(InputType input, [[maybe_unused]] OutputType output,
Rrounding, Irounding) \
LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>( \
input, match_value, ulp_tolerance, \
- LIBC_NAMESPACE::testing::mpc::MPCRoundingMode{Rrounding, Irounding}) \
+ LIBC_NAMESPACE::testing::mpc::MPCRoundingMode{Rrounding, Irounding}) \
.match(match_value)
#define ASSERT_MPC_MATCH_DEFAULT(op, input, match_value, ulp_tolerance) \
@@ -282,7 +281,7 @@ get_mpc_matcher(InputType input, [[maybe_unused]] OutputType output,
match_value, \
LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>( \
input, match_value, ulp_tolerance, \
- LIBC_NAMESPACE::testing::mpc::MPCRoundingMode{ \
+ LIBC_NAMESPACE::testing::mpc::MPCRoundingMode{ \
LIBC_NAMESPACE::fputil::testing::RoundingMode::Nearest, \
LIBC_NAMESPACE::fputil::testing::RoundingMode::Nearest}))
@@ -290,7 +289,8 @@ get_mpc_matcher(InputType input, [[maybe_unused]] OutputType output,
Rrounding, Irounding) \
ASSERT_THAT(match_value, LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>( \
input, match_value, ulp_tolerance, \
- LIBC_NAMESPACE::testing::mpc::MPCRoundingMode{Rrounding, Irounding}))
+ LIBC_NAMESPACE::testing::mpc::MPCRoundingMode{ \
+ Rrounding, Irounding}))
#define ASSERT_MPC_MATCH_ALL_ROUNDING_HELPER( \
i, j, op, input, match_value, ulp_tolerance, Rrounding, Irounding) \
diff --git a/libc/utils/MPFRWrapper/MPFRUtils.cpp b/libc/utils/MPFRWrapper/MPFRUtils.cpp
index 1fee1b1a9b3c2d..e8190d39394bff 100644
--- a/libc/utils/MPFRWrapper/MPFRUtils.cpp
+++ b/libc/utils/MPFRWrapper/MPFRUtils.cpp
@@ -188,7 +188,7 @@ class MPFRNumber {
mpfr_set(value, other.value, mpfr_rounding);
}
- MPFRNumber(const mpfr_t& x, unsigned int precision, RoundingMode rounding)
+ MPFRNumber(const mpfr_t &x, unsigned int precision, RoundingMode rounding)
: mpfr_precision(precision),
mpfr_rounding(get_mpfr_rounding_mode(rounding)) {
mpfr_init2(value, mpfr_precision);
>From da739e4a54dde3e068caee52e01b240130a07866 Mon Sep 17 00:00:00 2001
From: Sh0g0-1758 <shouryagoel10000 at gmail.com>
Date: Sat, 28 Dec 2024 16:01:56 +0530
Subject: [PATCH 12/46] Implement a basic MPC test
---
libc/utils/MPCWrapper/MPCUtils.cpp | 54 +++++++++++++++++++++++++---
libc/utils/MPCWrapper/MPCUtils.h | 24 ++++++-------
libc/utils/MPFRWrapper/MPFRUtils.cpp | 2 +-
3 files changed, 61 insertions(+), 19 deletions(-)
diff --git a/libc/utils/MPCWrapper/MPCUtils.cpp b/libc/utils/MPCWrapper/MPCUtils.cpp
index caf86960cad342..21aeca2c99f7f9 100644
--- a/libc/utils/MPCWrapper/MPCUtils.cpp
+++ b/libc/utils/MPCWrapper/MPCUtils.cpp
@@ -155,12 +155,20 @@ class MPCNumber {
MPCNumber carg() const {
mpfr_t res;
+ mpc_t res_mpc;
+
mpfr_init2(res, this->mpc_real_precision);
+ mpc_init3(res_mpc, this->mpc_real_precision, this->mpc_imag_precision);
+
mpc_arg(res, value, MPC_RND_RE(this->mpc_rounding));
- mpc_t res_mpc;
- mpc_set_fr(res_mpc, res, MPC_RND_RE(this->mpc_rounding));
- return MPCNumber(res_mpc, this->mpc_real_precision,
- this->mpc_imag_precision, this->mpc_rounding);
+ mpc_set_fr(res_mpc, res, this->mpc_rounding);
+
+ MPCNumber result(res_mpc, this->mpc_real_precision, this->mpc_imag_precision, this->mpc_rounding);
+
+ mpfr_clear(res);
+ mpc_clear(res_mpc);
+
+ return result;
}
};
@@ -215,8 +223,10 @@ bool compare_unary_operation_single_output_different_type(
MPCNumber mpc_result;
mpc_result = unary_operation(op, input, precision, rounding);
mpc_t mpc_result_val;
+ mpc_init3(mpc_result_val, precision, precision);
mpc_result.getValue(mpc_result_val);
mpfr_t real;
+ mpfr_init2(real, precision);
mpc_real(real, mpc_result_val, get_mpfr_rounding_mode(rounding.Rrnd));
mpfr::MPFRNumber mpfr_real(real, precision, rounding.Rrnd);
double ulp_real = mpfr_real.ulp(libc_result);
@@ -227,6 +237,42 @@ template bool compare_unary_operation_single_output_different_type(
Operation, _Complex float, float, double, MPCRoundingMode);
template bool compare_unary_operation_single_output_different_type(
Operation, _Complex double, double, double, MPCRoundingMode);
+
+template <typename InputType, typename OutputType>
+void explain_unary_operation_single_output_different_type_error(
+ Operation op, InputType input, OutputType libc_result, double ulp_tolerance,
+ MPCRoundingMode rounding) {
+
+ unsigned int precision = get_precision<get_real_t<InputType>>(ulp_tolerance);
+
+ MPCNumber mpc_result;
+ mpc_result = unary_operation(op, input, precision, rounding);
+
+ mpc_t mpc_result_val;
+ mpc_init3(mpc_result_val, precision, precision);
+ mpc_result.getValue(mpc_result_val);
+
+ mpfr_t real;
+ mpfr_init2(real, precision);
+ mpc_real(real, mpc_result_val, get_mpfr_rounding_mode(rounding.Rrnd));
+
+ mpfr::MPFRNumber mpfr_real(real, precision, rounding.Rrnd);
+
+ double ulp_real = mpfr_real.ulp(libc_result);
+
+ if(ulp_real > ulp_tolerance) {
+ cpp::array<char, 1024> msg_buf;
+ cpp::StringStream msg(msg_buf);
+ // TODO: Add information to the error message.
+ }
+
+}
+
+template void explain_unary_operation_single_output_different_type_error(
+ Operation, _Complex float, float, double, MPCRoundingMode);
+template void explain_unary_operation_single_output_different_type_error(
+ Operation, _Complex double, double, double, MPCRoundingMode);
+
} // namespace internal
} // namespace mpc
diff --git a/libc/utils/MPCWrapper/MPCUtils.h b/libc/utils/MPCWrapper/MPCUtils.h
index 7211197dbbf8df..f6f57afce3b544 100644
--- a/libc/utils/MPCWrapper/MPCUtils.h
+++ b/libc/utils/MPCWrapper/MPCUtils.h
@@ -250,19 +250,17 @@ get_mpc_matcher(InputType input, [[maybe_unused]] OutputType output,
MPCRND::ForceRoundingMode __i##i##j(Irounding); \
if (__r##i##j.success && __i##i##j.success) { \
EXPECT_MPC_MATCH_ROUNDING( \
- match_value, \
- LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>( \
- input, match_value, ulp_tolerance, Rrounding, Irounding)) \
+ op, input, match_value, ulp_tolerance, Rrounding, Irounding); \
} \
}
#define EXPECT_MPC_MATCH_ALL_ROUNDING(op, input, match_value, ulp_tolerance) \
{ \
namespace MPCRND = LIBC_NAMESPACE::fputil::testing; \
- for (int i = 0; i < 5; i++) { \
- for (int j = 0; j < 5; j++) { \
- RoundingMode r_mode = static_cast<RoundingMode>(i); \
- RoundingMode i_mode = static_cast<RoundingMode>(j); \
+ for (int i = 0; i < 4; i++) { \
+ for (int j = 0; j < 4; j++) { \
+ MPCRND::RoundingMode r_mode = static_cast<MPCRND::RoundingMode>(i); \
+ MPCRND::RoundingMode i_mode = static_cast<MPCRND::RoundingMode>(j); \
EXPECT_MPC_MATCH_ALL_ROUNDING_HELPER(i, j, op, input, match_value, \
ulp_tolerance, r_mode, i_mode); \
} \
@@ -299,19 +297,17 @@ get_mpc_matcher(InputType input, [[maybe_unused]] OutputType output,
MPCRND::ForceRoundingMode __i##i##j(Irounding); \
if (__r##i##j.success && __i##i##j.success) { \
ASSERT_MPC_MATCH_ROUNDING( \
- match_value, \
- LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>( \
- input, match_value, ulp_tolerance, Rrounding, Irounding)) \
+ op, input, match_value, ulp_tolerance, Rrounding, Irounding); \
} \
}
#define ASSERT_MPC_MATCH_ALL_ROUNDING(op, input, match_value, ulp_tolerance) \
{ \
namespace MPCRND = LIBC_NAMESPACE::fputil::testing; \
- for (int i = 0; i < 5; i++) { \
- for (int j = 0; j < 5; j++) { \
- RoundingMode r_mode = static_cast<RoundingMode>(i); \
- RoundingMode i_mode = static_cast<RoundingMode>(j); \
+ for (int i = 0; i < 4; i++) { \
+ for (int j = 0; j < 4; j++) { \
+ MPCRND::RoundingMode r_mode = static_cast<MPCRND::RoundingMode>(i); \
+ MPCRND::RoundingMode i_mode = static_cast<MPCRND::RoundingMode>(j); \
ASSERT_MPC_MATCH_ALL_ROUNDING_HELPER(i, j, op, input, match_value, \
ulp_tolerance, r_mode, i_mode); \
} \
diff --git a/libc/utils/MPFRWrapper/MPFRUtils.cpp b/libc/utils/MPFRWrapper/MPFRUtils.cpp
index e8190d39394bff..8f2802f49cb3a8 100644
--- a/libc/utils/MPFRWrapper/MPFRUtils.cpp
+++ b/libc/utils/MPFRWrapper/MPFRUtils.cpp
@@ -188,7 +188,7 @@ class MPFRNumber {
mpfr_set(value, other.value, mpfr_rounding);
}
- MPFRNumber(const mpfr_t &x, unsigned int precision, RoundingMode rounding)
+ MPFRNumber(const mpfr_t x, unsigned int precision, RoundingMode rounding)
: mpfr_precision(precision),
mpfr_rounding(get_mpfr_rounding_mode(rounding)) {
mpfr_init2(value, mpfr_precision);
>From 5d8bc063dcd7b06886a0663ddc2c598302812f08 Mon Sep 17 00:00:00 2001
From: Sh0g0-1758 <shouryagoel10000 at gmail.com>
Date: Sat, 28 Dec 2024 16:02:18 +0530
Subject: [PATCH 13/46] fmt
---
libc/utils/MPCWrapper/MPCUtils.cpp | 6 +++---
libc/utils/MPCWrapper/MPCUtils.h | 8 ++++----
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/libc/utils/MPCWrapper/MPCUtils.cpp b/libc/utils/MPCWrapper/MPCUtils.cpp
index 21aeca2c99f7f9..a219cae630dda5 100644
--- a/libc/utils/MPCWrapper/MPCUtils.cpp
+++ b/libc/utils/MPCWrapper/MPCUtils.cpp
@@ -163,7 +163,8 @@ class MPCNumber {
mpc_arg(res, value, MPC_RND_RE(this->mpc_rounding));
mpc_set_fr(res_mpc, res, this->mpc_rounding);
- MPCNumber result(res_mpc, this->mpc_real_precision, this->mpc_imag_precision, this->mpc_rounding);
+ MPCNumber result(res_mpc, this->mpc_real_precision,
+ this->mpc_imag_precision, this->mpc_rounding);
mpfr_clear(res);
mpc_clear(res_mpc);
@@ -260,12 +261,11 @@ void explain_unary_operation_single_output_different_type_error(
double ulp_real = mpfr_real.ulp(libc_result);
- if(ulp_real > ulp_tolerance) {
+ if (ulp_real > ulp_tolerance) {
cpp::array<char, 1024> msg_buf;
cpp::StringStream msg(msg_buf);
// TODO: Add information to the error message.
}
-
}
template void explain_unary_operation_single_output_different_type_error(
diff --git a/libc/utils/MPCWrapper/MPCUtils.h b/libc/utils/MPCWrapper/MPCUtils.h
index f6f57afce3b544..af8c5cd3f176fa 100644
--- a/libc/utils/MPCWrapper/MPCUtils.h
+++ b/libc/utils/MPCWrapper/MPCUtils.h
@@ -249,8 +249,8 @@ get_mpc_matcher(InputType input, [[maybe_unused]] OutputType output,
MPCRND::ForceRoundingMode __r##i##j(Rrounding); \
MPCRND::ForceRoundingMode __i##i##j(Irounding); \
if (__r##i##j.success && __i##i##j.success) { \
- EXPECT_MPC_MATCH_ROUNDING( \
- op, input, match_value, ulp_tolerance, Rrounding, Irounding); \
+ EXPECT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
+ Rrounding, Irounding); \
} \
}
@@ -296,8 +296,8 @@ get_mpc_matcher(InputType input, [[maybe_unused]] OutputType output,
MPCRND::ForceRoundingMode __r##i##j(Rrounding); \
MPCRND::ForceRoundingMode __i##i##j(Irounding); \
if (__r##i##j.success && __i##i##j.success) { \
- ASSERT_MPC_MATCH_ROUNDING( \
- op, input, match_value, ulp_tolerance, Rrounding, Irounding); \
+ ASSERT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
+ Rrounding, Irounding); \
} \
}
>From 7a2df720aaa6ea3ca9858910d5115ed8fde16298 Mon Sep 17 00:00:00 2001
From: Sh0g0-1758 <shouryagoel10000 at gmail.com>
Date: Sat, 28 Dec 2024 16:03:43 +0530
Subject: [PATCH 14/46] nit
---
libc/utils/MPCWrapper/mpc_test.cpp | 2 +-
libc/utils/MPCWrapper/test.cc | 15 ---------------
2 files changed, 1 insertion(+), 16 deletions(-)
delete mode 100644 libc/utils/MPCWrapper/test.cc
diff --git a/libc/utils/MPCWrapper/mpc_test.cpp b/libc/utils/MPCWrapper/mpc_test.cpp
index a5ce68d276a02c..37c7059fbb7f64 100644
--- a/libc/utils/MPCWrapper/mpc_test.cpp
+++ b/libc/utils/MPCWrapper/mpc_test.cpp
@@ -32,4 +32,4 @@ int main() {
// of x are same, else it returns 0. mpc_get_prec2 returns the precision of
// the real and imaginary part of x.
mpc_set(x, z, MPC_RNDNN); // set x to z with rounding mode MPC_RNDNN
-}
\ No newline at end of file
+}
diff --git a/libc/utils/MPCWrapper/test.cc b/libc/utils/MPCWrapper/test.cc
deleted file mode 100644
index 424214269b3c67..00000000000000
--- a/libc/utils/MPCWrapper/test.cc
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <iostream>
-using namespace std;
-
-class shogo {
-public:
- void Run();
- void Hey();
-};
-
-void shogo::Run() { cout << "This is Run" << endl; }
-
-int main() {
- shogo s;
- s.Run();
-}
>From b711cf5cbd69a269390e1bed93e3a5aa48d378b0 Mon Sep 17 00:00:00 2001
From: Sh0g0-1758 <shouryagoel10000 at gmail.com>
Date: Sat, 28 Dec 2024 16:11:16 +0530
Subject: [PATCH 15/46] bug fix
---
libc/utils/MPCWrapper/MPCUtils.cpp | 18 +++++++++++++++++-
1 file changed, 17 insertions(+), 1 deletion(-)
diff --git a/libc/utils/MPCWrapper/MPCUtils.cpp b/libc/utils/MPCWrapper/MPCUtils.cpp
index a219cae630dda5..b15847b6267e7a 100644
--- a/libc/utils/MPCWrapper/MPCUtils.cpp
+++ b/libc/utils/MPCWrapper/MPCUtils.cpp
@@ -194,16 +194,25 @@ bool compare_unary_operation_single_output_same_type(Operation op,
OutputType libc_result,
double ulp_tolerance,
MPCRoundingMode rounding) {
+
unsigned int precision = get_precision<get_real_t<InputType>>(ulp_tolerance);
+
MPCNumber mpc_result;
mpc_result = unary_operation(op, input, precision, rounding);
- mpfr_t real, imag;
+
mpc_t mpc_result_val;
+ mpc_init3(mpc_result_val, precision, precision);
mpc_result.getValue(mpc_result_val);
+
+ mpfr_t real, imag;
+ mpfr_init2(real, precision);
+ mpfr_init2(imag, precision);
mpc_real(real, mpc_result_val, get_mpfr_rounding_mode(rounding.Rrnd));
mpc_imag(imag, mpc_result_val, get_mpfr_rounding_mode(rounding.Irnd));
+
mpfr::MPFRNumber mpfr_real(real, precision, rounding.Rrnd);
mpfr::MPFRNumber mpfr_imag(imag, precision, rounding.Irnd);
+
double ulp_real = mpfr_real.ulp(
(cpp::bit_cast<MPCComplex<get_real_t<InputType>>>(libc_result)).real);
double ulp_imag = mpfr_imag.ulp(
@@ -220,17 +229,24 @@ template <typename InputType, typename OutputType>
bool compare_unary_operation_single_output_different_type(
Operation op, InputType input, OutputType libc_result, double ulp_tolerance,
MPCRoundingMode rounding) {
+
unsigned int precision = get_precision<get_real_t<InputType>>(ulp_tolerance);
+
MPCNumber mpc_result;
mpc_result = unary_operation(op, input, precision, rounding);
+
mpc_t mpc_result_val;
mpc_init3(mpc_result_val, precision, precision);
mpc_result.getValue(mpc_result_val);
+
mpfr_t real;
mpfr_init2(real, precision);
mpc_real(real, mpc_result_val, get_mpfr_rounding_mode(rounding.Rrnd));
+
mpfr::MPFRNumber mpfr_real(real, precision, rounding.Rrnd);
+
double ulp_real = mpfr_real.ulp(libc_result);
+
return (ulp_real <= ulp_tolerance);
}
>From 6089ad641ad3120029ba5e3ca5356358ee53ceca Mon Sep 17 00:00:00 2001
From: Sh0g0-1758 <shouryagoel10000 at gmail.com>
Date: Mon, 30 Dec 2024 13:23:27 +0530
Subject: [PATCH 16/46] give useful error message
---
libc/test/src/complex/cargf_test.cpp | 2 +-
libc/utils/MPCWrapper/MPCUtils.cpp | 43 ++++++++++++++++++++++------
libc/utils/MPCWrapper/MPCUtils.h | 4 +++
3 files changed, 39 insertions(+), 10 deletions(-)
diff --git a/libc/test/src/complex/cargf_test.cpp b/libc/test/src/complex/cargf_test.cpp
index 445c17279e9b6f..52e1c53ae51c32 100644
--- a/libc/test/src/complex/cargf_test.cpp
+++ b/libc/test/src/complex/cargf_test.cpp
@@ -18,6 +18,6 @@ namespace mpc = LIBC_NAMESPACE::testing::mpc;
TEST_F(LlvmLibcCargTest, RandomFloats) {
_Complex float test1 = 5.0 + 10.0i;
- EXPECT_MPC_MATCH_DEFAULT(mpc::Operation::Carg, test1,
+ EXPECT_MPC_MATCH_ALL_ROUNDING(mpc::Operation::Carg, test1,
LIBC_NAMESPACE::cargf(test1), 0.5);
}
diff --git a/libc/utils/MPCWrapper/MPCUtils.cpp b/libc/utils/MPCWrapper/MPCUtils.cpp
index b15847b6267e7a..e3c58cb99c0f97 100644
--- a/libc/utils/MPCWrapper/MPCUtils.cpp
+++ b/libc/utils/MPCWrapper/MPCUtils.cpp
@@ -71,6 +71,24 @@ static inline mpfr_rnd_t get_mpfr_rounding_mode(RoundingMode mode) {
__builtin_unreachable();
}
+static inline cpp::string str(RoundingMode mode) {
+ switch (mode) {
+ case RoundingMode::Upward:
+ return "MPFR_RNDU";
+ break;
+ case RoundingMode::Downward:
+ return "MPFR_RNDD";
+ break;
+ case RoundingMode::TowardZero:
+ return "MPFR_RNDZ";
+ break;
+ case RoundingMode::Nearest:
+ return "MPFR_RNDN";
+ break;
+ }
+ __builtin_unreachable();
+}
+
template <typename T> struct MPCComplex {
T real;
T imag;
@@ -273,15 +291,22 @@ void explain_unary_operation_single_output_different_type_error(
mpfr_init2(real, precision);
mpc_real(real, mpc_result_val, get_mpfr_rounding_mode(rounding.Rrnd));
- mpfr::MPFRNumber mpfr_real(real, precision, rounding.Rrnd);
-
- double ulp_real = mpfr_real.ulp(libc_result);
-
- if (ulp_real > ulp_tolerance) {
- cpp::array<char, 1024> msg_buf;
- cpp::StringStream msg(msg_buf);
- // TODO: Add information to the error message.
- }
+ mpfr::MPFRNumber mpfr_result(real, precision, rounding.Rrnd);
+ mpfr::MPFRNumber mpfrLibcResult(libc_result, precision, rounding.Rrnd);
+ mpfr::MPFRNumber mpfrInputReal(cpp::bit_cast<MPCComplex<get_real_t<InputType>>>(input).real, precision, rounding.Rrnd);
+ mpfr::MPFRNumber mpfrInputImag(cpp::bit_cast<MPCComplex<get_real_t<InputType>>>(input).imag, precision, rounding.Irnd);
+
+ cpp::array<char, 2048> msg_buf;
+ cpp::StringStream msg(msg_buf);
+ msg << "Match value not within tolerance value of MPFR result:\n"
+ << " Input: " << mpfrInputReal.str() << " + " << mpfrInputImag.str() << "i" << '\n';
+ msg << " Rounding mode: " << str(rounding.Rrnd) << " , " << str(rounding.Irnd) << '\n';
+ msg << " Libc: " << mpfrLibcResult.str() << '\n';
+ msg << " MPFR: " << mpfr_result.str() << '\n';
+ msg << '\n';
+ msg << " ULP error: " << mpfr_result.ulp_as_mpfr_number(libc_result).str()
+ << '\n';
+ tlog << msg.str();
}
template void explain_unary_operation_single_output_different_type_error(
diff --git a/libc/utils/MPCWrapper/MPCUtils.h b/libc/utils/MPCWrapper/MPCUtils.h
index af8c5cd3f176fa..cc1af22ab114e8 100644
--- a/libc/utils/MPCWrapper/MPCUtils.h
+++ b/libc/utils/MPCWrapper/MPCUtils.h
@@ -133,6 +133,10 @@ class MPCMatcher : public testing::Matcher<OutputType> {
return match(input, match_value);
}
+ void explainError() override { // NOLINT
+ explain_error(input, match_value);
+ }
+
private:
template <typename InType, typename OutType>
bool match(InType in, OutType out) {
>From 9e65cd0a7aaf9286a943d71ebd266b45041401b6 Mon Sep 17 00:00:00 2001
From: Sh0g0-1758 <shouryagoel10000 at gmail.com>
Date: Mon, 30 Dec 2024 13:23:52 +0530
Subject: [PATCH 17/46] fmt
---
libc/test/src/complex/cargf_test.cpp | 2 +-
libc/utils/MPCWrapper/MPCUtils.cpp | 14 ++++++++++----
2 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/libc/test/src/complex/cargf_test.cpp b/libc/test/src/complex/cargf_test.cpp
index 52e1c53ae51c32..a63f90ae133c9f 100644
--- a/libc/test/src/complex/cargf_test.cpp
+++ b/libc/test/src/complex/cargf_test.cpp
@@ -19,5 +19,5 @@ namespace mpc = LIBC_NAMESPACE::testing::mpc;
TEST_F(LlvmLibcCargTest, RandomFloats) {
_Complex float test1 = 5.0 + 10.0i;
EXPECT_MPC_MATCH_ALL_ROUNDING(mpc::Operation::Carg, test1,
- LIBC_NAMESPACE::cargf(test1), 0.5);
+ LIBC_NAMESPACE::cargf(test1), 0.5);
}
diff --git a/libc/utils/MPCWrapper/MPCUtils.cpp b/libc/utils/MPCWrapper/MPCUtils.cpp
index e3c58cb99c0f97..f59d940cc54f66 100644
--- a/libc/utils/MPCWrapper/MPCUtils.cpp
+++ b/libc/utils/MPCWrapper/MPCUtils.cpp
@@ -293,14 +293,20 @@ void explain_unary_operation_single_output_different_type_error(
mpfr::MPFRNumber mpfr_result(real, precision, rounding.Rrnd);
mpfr::MPFRNumber mpfrLibcResult(libc_result, precision, rounding.Rrnd);
- mpfr::MPFRNumber mpfrInputReal(cpp::bit_cast<MPCComplex<get_real_t<InputType>>>(input).real, precision, rounding.Rrnd);
- mpfr::MPFRNumber mpfrInputImag(cpp::bit_cast<MPCComplex<get_real_t<InputType>>>(input).imag, precision, rounding.Irnd);
+ mpfr::MPFRNumber mpfrInputReal(
+ cpp::bit_cast<MPCComplex<get_real_t<InputType>>>(input).real, precision,
+ rounding.Rrnd);
+ mpfr::MPFRNumber mpfrInputImag(
+ cpp::bit_cast<MPCComplex<get_real_t<InputType>>>(input).imag, precision,
+ rounding.Irnd);
cpp::array<char, 2048> msg_buf;
cpp::StringStream msg(msg_buf);
msg << "Match value not within tolerance value of MPFR result:\n"
- << " Input: " << mpfrInputReal.str() << " + " << mpfrInputImag.str() << "i" << '\n';
- msg << " Rounding mode: " << str(rounding.Rrnd) << " , " << str(rounding.Irnd) << '\n';
+ << " Input: " << mpfrInputReal.str() << " + " << mpfrInputImag.str()
+ << "i" << '\n';
+ msg << " Rounding mode: " << str(rounding.Rrnd) << " , "
+ << str(rounding.Irnd) << '\n';
msg << " Libc: " << mpfrLibcResult.str() << '\n';
msg << " MPFR: " << mpfr_result.str() << '\n';
msg << '\n';
>From 659abcdc08734b39b6aecc1fada20c58ad1625d2 Mon Sep 17 00:00:00 2001
From: Sh0g0-1758 <shouryagoel10000 at gmail.com>
Date: Wed, 8 Jan 2025 17:07:42 +0530
Subject: [PATCH 18/46] fix: only one rounding mode
---
libc/test/src/complex/cargf_test.cpp | 2 ++
libc/utils/MPCWrapper/MPCUtils.h | 32 +++++++++++-----------------
2 files changed, 14 insertions(+), 20 deletions(-)
diff --git a/libc/test/src/complex/cargf_test.cpp b/libc/test/src/complex/cargf_test.cpp
index a63f90ae133c9f..4e00e2298f5f2c 100644
--- a/libc/test/src/complex/cargf_test.cpp
+++ b/libc/test/src/complex/cargf_test.cpp
@@ -18,6 +18,8 @@ namespace mpc = LIBC_NAMESPACE::testing::mpc;
TEST_F(LlvmLibcCargTest, RandomFloats) {
_Complex float test1 = 5.0 + 10.0i;
+ // EXPECT_MPC_MATCH_ROUNDING(mpc::Operation::Carg, test1,
+ // LIBC_NAMESPACE::cargf(test1), 0.5, LIBC_NAMESPACE::fputil::testing::RoundingMode::Upward, LIBC_NAMESPACE::fputil::testing::RoundingMode::TowardZero);
EXPECT_MPC_MATCH_ALL_ROUNDING(mpc::Operation::Carg, test1,
LIBC_NAMESPACE::cargf(test1), 0.5);
}
diff --git a/libc/utils/MPCWrapper/MPCUtils.h b/libc/utils/MPCWrapper/MPCUtils.h
index cc1af22ab114e8..d87cc32a8b61e4 100644
--- a/libc/utils/MPCWrapper/MPCUtils.h
+++ b/libc/utils/MPCWrapper/MPCUtils.h
@@ -248,13 +248,12 @@ get_mpc_matcher(InputType input, [[maybe_unused]] OutputType output,
Rrounding, Irounding}))
#define EXPECT_MPC_MATCH_ALL_ROUNDING_HELPER( \
- i, j, op, input, match_value, ulp_tolerance, Rrounding, Irounding) \
+ i, op, input, match_value, ulp_tolerance, Rrounding) \
{ \
- MPCRND::ForceRoundingMode __r##i##j(Rrounding); \
- MPCRND::ForceRoundingMode __i##i##j(Irounding); \
- if (__r##i##j.success && __i##i##j.success) { \
+ MPCRND::ForceRoundingMode __r##i(Rrounding); \
+ if (__r##i.success) { \
EXPECT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
- Rrounding, Irounding); \
+ Rrounding, Rrounding); \
} \
}
@@ -262,12 +261,9 @@ get_mpc_matcher(InputType input, [[maybe_unused]] OutputType output,
{ \
namespace MPCRND = LIBC_NAMESPACE::fputil::testing; \
for (int i = 0; i < 4; i++) { \
- for (int j = 0; j < 4; j++) { \
MPCRND::RoundingMode r_mode = static_cast<MPCRND::RoundingMode>(i); \
- MPCRND::RoundingMode i_mode = static_cast<MPCRND::RoundingMode>(j); \
- EXPECT_MPC_MATCH_ALL_ROUNDING_HELPER(i, j, op, input, match_value, \
- ulp_tolerance, r_mode, i_mode); \
- } \
+ EXPECT_MPC_MATCH_ALL_ROUNDING_HELPER(i, op, input, match_value, \
+ ulp_tolerance, r_mode); \
} \
}
@@ -295,13 +291,12 @@ get_mpc_matcher(InputType input, [[maybe_unused]] OutputType output,
Rrounding, Irounding}))
#define ASSERT_MPC_MATCH_ALL_ROUNDING_HELPER( \
- i, j, op, input, match_value, ulp_tolerance, Rrounding, Irounding) \
+ i, op, input, match_value, ulp_tolerance, Rrounding) \
{ \
- MPCRND::ForceRoundingMode __r##i##j(Rrounding); \
- MPCRND::ForceRoundingMode __i##i##j(Irounding); \
- if (__r##i##j.success && __i##i##j.success) { \
+ MPCRND::ForceRoundingMode __r##i(Rrounding); \
+ if (__r##i.success) { \
ASSERT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
- Rrounding, Irounding); \
+ Rrounding, Rrounding); \
} \
}
@@ -309,12 +304,9 @@ get_mpc_matcher(InputType input, [[maybe_unused]] OutputType output,
{ \
namespace MPCRND = LIBC_NAMESPACE::fputil::testing; \
for (int i = 0; i < 4; i++) { \
- for (int j = 0; j < 4; j++) { \
MPCRND::RoundingMode r_mode = static_cast<MPCRND::RoundingMode>(i); \
- MPCRND::RoundingMode i_mode = static_cast<MPCRND::RoundingMode>(j); \
- ASSERT_MPC_MATCH_ALL_ROUNDING_HELPER(i, j, op, input, match_value, \
- ulp_tolerance, r_mode, i_mode); \
- } \
+ ASSERT_MPC_MATCH_ALL_ROUNDING_HELPER(i, op, input, match_value, \
+ ulp_tolerance, r_mode); \
} \
}
>From 5cd8c63d08653b6cbb04e50a6678ea7f17d991ee Mon Sep 17 00:00:00 2001
From: Sh0g0-1758 <shouryagoel10000 at gmail.com>
Date: Wed, 8 Jan 2025 17:08:10 +0530
Subject: [PATCH 19/46] fmt
---
libc/test/src/complex/cargf_test.cpp | 2 --
libc/utils/MPCWrapper/MPCUtils.h | 28 ++++++++++++++--------------
2 files changed, 14 insertions(+), 16 deletions(-)
diff --git a/libc/test/src/complex/cargf_test.cpp b/libc/test/src/complex/cargf_test.cpp
index 4e00e2298f5f2c..a63f90ae133c9f 100644
--- a/libc/test/src/complex/cargf_test.cpp
+++ b/libc/test/src/complex/cargf_test.cpp
@@ -18,8 +18,6 @@ namespace mpc = LIBC_NAMESPACE::testing::mpc;
TEST_F(LlvmLibcCargTest, RandomFloats) {
_Complex float test1 = 5.0 + 10.0i;
- // EXPECT_MPC_MATCH_ROUNDING(mpc::Operation::Carg, test1,
- // LIBC_NAMESPACE::cargf(test1), 0.5, LIBC_NAMESPACE::fputil::testing::RoundingMode::Upward, LIBC_NAMESPACE::fputil::testing::RoundingMode::TowardZero);
EXPECT_MPC_MATCH_ALL_ROUNDING(mpc::Operation::Carg, test1,
LIBC_NAMESPACE::cargf(test1), 0.5);
}
diff --git a/libc/utils/MPCWrapper/MPCUtils.h b/libc/utils/MPCWrapper/MPCUtils.h
index d87cc32a8b61e4..62c2b8f755b658 100644
--- a/libc/utils/MPCWrapper/MPCUtils.h
+++ b/libc/utils/MPCWrapper/MPCUtils.h
@@ -247,11 +247,11 @@ get_mpc_matcher(InputType input, [[maybe_unused]] OutputType output,
LIBC_NAMESPACE::testing::mpc::MPCRoundingMode{ \
Rrounding, Irounding}))
-#define EXPECT_MPC_MATCH_ALL_ROUNDING_HELPER( \
- i, op, input, match_value, ulp_tolerance, Rrounding) \
+#define EXPECT_MPC_MATCH_ALL_ROUNDING_HELPER(i, op, input, match_value, \
+ ulp_tolerance, Rrounding) \
{ \
- MPCRND::ForceRoundingMode __r##i(Rrounding); \
- if (__r##i.success) { \
+ MPCRND::ForceRoundingMode __r##i(Rrounding); \
+ if (__r##i.success) { \
EXPECT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
Rrounding, Rrounding); \
} \
@@ -261,9 +261,9 @@ get_mpc_matcher(InputType input, [[maybe_unused]] OutputType output,
{ \
namespace MPCRND = LIBC_NAMESPACE::fputil::testing; \
for (int i = 0; i < 4; i++) { \
- MPCRND::RoundingMode r_mode = static_cast<MPCRND::RoundingMode>(i); \
- EXPECT_MPC_MATCH_ALL_ROUNDING_HELPER(i, op, input, match_value, \
- ulp_tolerance, r_mode); \
+ MPCRND::RoundingMode r_mode = static_cast<MPCRND::RoundingMode>(i); \
+ EXPECT_MPC_MATCH_ALL_ROUNDING_HELPER(i, op, input, match_value, \
+ ulp_tolerance, r_mode); \
} \
}
@@ -290,11 +290,11 @@ get_mpc_matcher(InputType input, [[maybe_unused]] OutputType output,
LIBC_NAMESPACE::testing::mpc::MPCRoundingMode{ \
Rrounding, Irounding}))
-#define ASSERT_MPC_MATCH_ALL_ROUNDING_HELPER( \
- i, op, input, match_value, ulp_tolerance, Rrounding) \
+#define ASSERT_MPC_MATCH_ALL_ROUNDING_HELPER(i, op, input, match_value, \
+ ulp_tolerance, Rrounding) \
{ \
- MPCRND::ForceRoundingMode __r##i(Rrounding); \
- if (__r##i.success) { \
+ MPCRND::ForceRoundingMode __r##i(Rrounding); \
+ if (__r##i.success) { \
ASSERT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
Rrounding, Rrounding); \
} \
@@ -304,9 +304,9 @@ get_mpc_matcher(InputType input, [[maybe_unused]] OutputType output,
{ \
namespace MPCRND = LIBC_NAMESPACE::fputil::testing; \
for (int i = 0; i < 4; i++) { \
- MPCRND::RoundingMode r_mode = static_cast<MPCRND::RoundingMode>(i); \
- ASSERT_MPC_MATCH_ALL_ROUNDING_HELPER(i, op, input, match_value, \
- ulp_tolerance, r_mode); \
+ MPCRND::RoundingMode r_mode = static_cast<MPCRND::RoundingMode>(i); \
+ ASSERT_MPC_MATCH_ALL_ROUNDING_HELPER(i, op, input, match_value, \
+ ulp_tolerance, r_mode); \
} \
}
>From 3284f80de2ee68e1711189f6a9b1a23f7a8187a9 Mon Sep 17 00:00:00 2001
From: Sh0g0-1758 <shouryagoel10000 at gmail.com>
Date: Wed, 8 Jan 2025 17:36:46 +0530
Subject: [PATCH 20/46] remove mpfr functions and add cmake module for mpc
---
libc/CMakeLists.txt | 1 +
libc/cmake/modules/LLVMLibCCheckMPC.cmake | 20 ++++++
libc/utils/MPCWrapper/CMakeLists.txt | 8 +--
libc/utils/MPCWrapper/MPCUtils.cpp | 74 +++++-----------------
libc/utils/MPCWrapper/MPC_doc.pdf | Bin 333085 -> 0 bytes
libc/utils/MPCWrapper/check_mpc.cpp | 8 +++
libc/utils/MPCWrapper/mpc_test.cpp | 35 ----------
7 files changed, 49 insertions(+), 97 deletions(-)
create mode 100644 libc/cmake/modules/LLVMLibCCheckMPC.cmake
delete mode 100644 libc/utils/MPCWrapper/MPC_doc.pdf
create mode 100644 libc/utils/MPCWrapper/check_mpc.cpp
delete mode 100644 libc/utils/MPCWrapper/mpc_test.cpp
diff --git a/libc/CMakeLists.txt b/libc/CMakeLists.txt
index 00a07ea3c8ac75..ceed3fd9294ad7 100644
--- a/libc/CMakeLists.txt
+++ b/libc/CMakeLists.txt
@@ -264,6 +264,7 @@ if(LIBC_TARGET_OS_IS_GPU)
endif()
include(LLVMLibCCheckMPFR)
+include(LLVMLibCCheckMPC)
if(LLVM_LIBC_CLANG_TIDY)
set(LLVM_LIBC_ENABLE_LINTING ON)
diff --git a/libc/cmake/modules/LLVMLibCCheckMPC.cmake b/libc/cmake/modules/LLVMLibCCheckMPC.cmake
new file mode 100644
index 00000000000000..63f37932052142
--- /dev/null
+++ b/libc/cmake/modules/LLVMLibCCheckMPC.cmake
@@ -0,0 +1,20 @@
+set(LLVM_LIBC_MPC_INSTALL_PATH "" CACHE PATH "Path to where MPC is installed (e.g. C:/src/install or ~/src/install)")
+
+if(LLVM_LIBC_MPC_INSTALL_PATH)
+ set(LIBC_TESTS_CAN_USE_MPC TRUE)
+elseif(LIBC_TARGET_OS_IS_GPU OR LLVM_LIBC_FULL_BUILD)
+ # In full build mode, the MPC library should be built using our own facilities,
+ # which is currently not possible.
+ set(LIBC_TESTS_CAN_USE_MPC FALSE)
+else()
+ try_compile(
+ LIBC_TESTS_CAN_USE_MPC
+ ${CMAKE_CURRENT_BINARY_DIR}
+ SOURCES
+ ${LIBC_SOURCE_DIR}/utils/MPCWrapper/check_mpc.cpp
+ COMPILE_DEFINITIONS
+ ${LIBC_COMPILE_OPTIONS_DEFAULT}
+ LINK_LIBRARIES
+ -lmpc -lmpfr -lgmp -latomic
+ )
+endif()
diff --git a/libc/utils/MPCWrapper/CMakeLists.txt b/libc/utils/MPCWrapper/CMakeLists.txt
index fc7d23e000d0da..8ae96422132f82 100644
--- a/libc/utils/MPCWrapper/CMakeLists.txt
+++ b/libc/utils/MPCWrapper/CMakeLists.txt
@@ -1,4 +1,4 @@
-# if(LIBC_TESTS_CAN_USE_MPC)
+if(LIBC_TESTS_CAN_USE_MPC)
add_library(libcMPCWrapper STATIC
MPCUtils.cpp
MPCUtils.h
@@ -20,6 +20,6 @@
)
target_include_directories(libcMPCWrapper PUBLIC ${LIBC_SOURCE_DIR})
target_link_libraries(libcMPCWrapper PUBLIC LibcFPTestHelpers.unit LibcTest.unit mpc mpfr gmp)
-# elseif(NOT LIBC_TARGET_OS_IS_GPU AND NOT LLVM_LIBC_FULL_BUILD)
-# message(WARNING "Math tests using MPC will be skipped.")
-# endif()
+elseif(NOT LIBC_TARGET_OS_IS_GPU AND NOT LLVM_LIBC_FULL_BUILD)
+ message(WARNING "Math tests using MPC will be skipped.")
+endif()
diff --git a/libc/utils/MPCWrapper/MPCUtils.cpp b/libc/utils/MPCWrapper/MPCUtils.cpp
index f59d940cc54f66..7eef0f16bdfe77 100644
--- a/libc/utils/MPCWrapper/MPCUtils.cpp
+++ b/libc/utils/MPCWrapper/MPCUtils.cpp
@@ -1,4 +1,4 @@
-//===-- Utils which wrap MPFR ---------------------------------------------===//
+//===-- Utils which wrap MPC ----------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
@@ -29,48 +29,6 @@ namespace LIBC_NAMESPACE_DECL {
namespace testing {
namespace mpc {
-// A precision value which allows sufficiently large additional
-// precision compared to the floating point precision.
-template <typename T> struct ExtraPrecision;
-
-template <> struct ExtraPrecision<float> {
- static constexpr unsigned int VALUE = 128;
-};
-
-template <> struct ExtraPrecision<double> {
- static constexpr unsigned int VALUE = 256;
-};
-
-// If the ulp tolerance is less than or equal to 0.5, we would check that the
-// result is rounded correctly with respect to the rounding mode by using the
-// same precision as the inputs.
-template <typename T>
-static inline unsigned int get_precision(double ulp_tolerance) {
- if (ulp_tolerance <= 0.5) {
- return LIBC_NAMESPACE::fputil::FPBits<T>::FRACTION_LEN + 1;
- } else {
- return ExtraPrecision<T>::VALUE;
- }
-}
-
-static inline mpfr_rnd_t get_mpfr_rounding_mode(RoundingMode mode) {
- switch (mode) {
- case RoundingMode::Upward:
- return MPFR_RNDU;
- break;
- case RoundingMode::Downward:
- return MPFR_RNDD;
- break;
- case RoundingMode::TowardZero:
- return MPFR_RNDZ;
- break;
- case RoundingMode::Nearest:
- return MPFR_RNDN;
- break;
- }
- __builtin_unreachable();
-}
-
static inline cpp::string str(RoundingMode mode) {
switch (mode) {
case RoundingMode::Upward:
@@ -116,30 +74,30 @@ class MPCNumber {
template <typename XType,
cpp::enable_if_t<cpp::is_same_v<_Complex float, XType>, bool> = 0>
- MPCNumber(XType x, unsigned int precision = ExtraPrecision<float>::VALUE,
+ MPCNumber(XType x, unsigned int precision = mpfr::ExtraPrecision<float>::VALUE,
MPCRoundingMode rounding = MPCRoundingMode(RoundingMode::Nearest,
RoundingMode::Nearest))
: mpc_real_precision(precision), mpc_imag_precision(precision),
- mpc_rounding(MPC_RND(get_mpfr_rounding_mode(rounding.Rrnd),
- get_mpfr_rounding_mode(rounding.Irnd))) {
+ mpc_rounding(MPC_RND(mpfr::get_mpfr_rounding_mode(rounding.Rrnd),
+ mpfr::get_mpfr_rounding_mode(rounding.Irnd))) {
mpc_init2(value, precision);
MPCComplex<float> x_c = cpp::bit_cast<MPCComplex<float>>(x);
mpfr_t real, imag;
mpfr_init2(real, precision);
mpfr_init2(imag, precision);
- mpfr_set_flt(real, x_c.real, get_mpfr_rounding_mode(rounding.Rrnd));
- mpfr_set_flt(imag, x_c.imag, get_mpfr_rounding_mode(rounding.Irnd));
+ mpfr_set_flt(real, x_c.real, mpfr::get_mpfr_rounding_mode(rounding.Rrnd));
+ mpfr_set_flt(imag, x_c.imag, mpfr::get_mpfr_rounding_mode(rounding.Irnd));
mpc_set_fr_fr(value, real, imag, mpc_rounding);
}
template <typename XType,
cpp::enable_if_t<cpp::is_same_v<_Complex double, XType>, bool> = 0>
- MPCNumber(XType x, unsigned int precision = ExtraPrecision<double>::VALUE,
+ MPCNumber(XType x, unsigned int precision = mpfr::ExtraPrecision<double>::VALUE,
MPCRoundingMode rounding = MPCRoundingMode(RoundingMode::Nearest,
RoundingMode::Nearest))
: mpc_real_precision(precision), mpc_imag_precision(precision),
- mpc_rounding(MPC_RND(get_mpfr_rounding_mode(rounding.Rrnd),
- get_mpfr_rounding_mode(rounding.Irnd))) {
+ mpc_rounding(MPC_RND(mpfr::get_mpfr_rounding_mode(rounding.Rrnd),
+ mpfr::get_mpfr_rounding_mode(rounding.Irnd))) {
mpc_init2(value, precision);
MPCComplex<double> x_c = cpp::bit_cast<MPCComplex<double>>(x);
mpc_set_d_d(value, x_c.real, x_c.imag, mpc_rounding);
@@ -213,7 +171,7 @@ bool compare_unary_operation_single_output_same_type(Operation op,
double ulp_tolerance,
MPCRoundingMode rounding) {
- unsigned int precision = get_precision<get_real_t<InputType>>(ulp_tolerance);
+ unsigned int precision = mpfr::get_precision<get_real_t<InputType>>(ulp_tolerance);
MPCNumber mpc_result;
mpc_result = unary_operation(op, input, precision, rounding);
@@ -225,8 +183,8 @@ bool compare_unary_operation_single_output_same_type(Operation op,
mpfr_t real, imag;
mpfr_init2(real, precision);
mpfr_init2(imag, precision);
- mpc_real(real, mpc_result_val, get_mpfr_rounding_mode(rounding.Rrnd));
- mpc_imag(imag, mpc_result_val, get_mpfr_rounding_mode(rounding.Irnd));
+ mpc_real(real, mpc_result_val, mpfr::get_mpfr_rounding_mode(rounding.Rrnd));
+ mpc_imag(imag, mpc_result_val, mpfr::get_mpfr_rounding_mode(rounding.Irnd));
mpfr::MPFRNumber mpfr_real(real, precision, rounding.Rrnd);
mpfr::MPFRNumber mpfr_imag(imag, precision, rounding.Irnd);
@@ -248,7 +206,7 @@ bool compare_unary_operation_single_output_different_type(
Operation op, InputType input, OutputType libc_result, double ulp_tolerance,
MPCRoundingMode rounding) {
- unsigned int precision = get_precision<get_real_t<InputType>>(ulp_tolerance);
+ unsigned int precision = mpfr::get_precision<get_real_t<InputType>>(ulp_tolerance);
MPCNumber mpc_result;
mpc_result = unary_operation(op, input, precision, rounding);
@@ -259,7 +217,7 @@ bool compare_unary_operation_single_output_different_type(
mpfr_t real;
mpfr_init2(real, precision);
- mpc_real(real, mpc_result_val, get_mpfr_rounding_mode(rounding.Rrnd));
+ mpc_real(real, mpc_result_val, mpfr::get_mpfr_rounding_mode(rounding.Rrnd));
mpfr::MPFRNumber mpfr_real(real, precision, rounding.Rrnd);
@@ -278,7 +236,7 @@ void explain_unary_operation_single_output_different_type_error(
Operation op, InputType input, OutputType libc_result, double ulp_tolerance,
MPCRoundingMode rounding) {
- unsigned int precision = get_precision<get_real_t<InputType>>(ulp_tolerance);
+ unsigned int precision = mpfr::get_precision<get_real_t<InputType>>(ulp_tolerance);
MPCNumber mpc_result;
mpc_result = unary_operation(op, input, precision, rounding);
@@ -289,7 +247,7 @@ void explain_unary_operation_single_output_different_type_error(
mpfr_t real;
mpfr_init2(real, precision);
- mpc_real(real, mpc_result_val, get_mpfr_rounding_mode(rounding.Rrnd));
+ mpc_real(real, mpc_result_val, mpfr::get_mpfr_rounding_mode(rounding.Rrnd));
mpfr::MPFRNumber mpfr_result(real, precision, rounding.Rrnd);
mpfr::MPFRNumber mpfrLibcResult(libc_result, precision, rounding.Rrnd);
diff --git a/libc/utils/MPCWrapper/MPC_doc.pdf b/libc/utils/MPCWrapper/MPC_doc.pdf
deleted file mode 100644
index ebd0777b9b1a1aa8ebd2492763724be7347b86ed..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 333085
zcmbTdQ;=v&x2;>Qnq}LzZQHhO+qP}bvTfV8Z5wy(*ylXlSbxOc_l~E08zW+Ty|><4
zW|GJYi_$RAvOto|Ee)?hGT_tW+ZkFya&tq{Nt at W3Ih*6Nu(RR+_X9~MYGLhc;)qWt
zYHi?bB5Y!0XKVt=%M0n`>}X<O1L?kDqbw6w$PeHBNaYDfI at 4dzhwLmU4NrVucWBI<
z)lJz%8vz8!{dU``mvS~`3YVx>tLL^{dE<C at Xv7uyaG@`Dq7o^$sk%zqSoC(<^8yxB
zJW+$D<$Akv!g{N=$#y at lyuRXUh+doIqTx&@+eO>>$kN(<@mpBJgL14C$Zgox*ejNm
zgDFAoD&po!C8x+vjE&gzHOXqDkYXp;ElGh>Px;u^kw3A5waXOYkoT#c?BOIw1}lC;
zLGwU(d4u577}Xdxy{WaiKH0&os*4_Z|5wYp^F(yH%l%L$X|t4E&hYHQ;r>N))hudD
z&@(Dz?0O#Okh}YqPBl6Y6&I>g%O<2$-2qf1WwT|+tYtlo>@q}=Rv5h)YBu$q&x&cs
zf!#MnG9)e|D}?Bz4*_9*3Soo2$_HLisK5+1iv&qNeQBQp3D#?$8L*ykz<};40Y6`;
zWKb8KA7_YNgHkBug+#_!&+x@;w=IwvElhfWUKdCXz1IJ)b}h&YMpA~qePMvv)MuY|
z)$L&zyYGn8&^S{pLT%5Pm&`{_kgNk63^k=?1uI~kDb0n_kpL}O-;uy*F##NBfZXtP
z?3^?TJs#k!JDtT at p|K#Q?KPw>vWJq=o7xo>36EE#M57_hN8uXy at p7ac%CpsUYtZK+
zpwSzvw<$=>J`)Ucs8>@lxP7n2lX0fw_u8e at NdlF4`sj}TD_Gm4|7HJXk(xj)02~JJ
z3wrd`2D7cHIiv+8J)DRIUXZ35i|c$GY1i*4f0IOaFG3qD5TuE%@&BRfpVfa6$@m}0
z<Y52*PbSDeWFpi5zsa2H-St%|ocV7uUAil7T>pzq&7<Z1*r`h7yq4-38B?+QS)Xed
zFo_f$x|XY*>S>#u+7`QmqVk67>mhnwvde}u-E4Oq(^D&3ujOA6DKE;2Fc6m^do#Z{
zR<7oq7-HtmLaxqcGfj4C2&lxb1{p2o<1G1FMM<$@6I?Ykcbo3}>Rj|!*jSMaw${P}
z0I1vrLb`?<)Oohfw$g;IZ%ZyOjkM8;C_;uG=O~+1?}Q>WyDkgIP2^(<=<x)jmemek
zEoHQYtXUD;I9sCC&Cegh;kWjL&xM=H7D1(|H4)Y0mg?6Go0sEp&xB+rgpkU1v&pZ#
zW(qUx*jdH$I|e2uw;^bEfg!^Sh-<DYVE6?CF=-rDDbjp;sxTi?>=!~lzy!qoIy6vn
z_=VC113Jh8SfeZI6oR7el874`Q@@uOrs8#MN{K=DKime{K%ZA?K;Y5k8S($1`F9Gu
z&zcqDP6(Ut0OQ~YVKjV^%%@hv=QLl5TP6q<1x6(cUcC|Z2l*L44N3pvA2bVaodbDM
z;=BS3D&pTk?~<J)guqFV7VgZIo(jv at j*I+;eX7N0d4`K6G=kd6Z-Oo?hyOzUYCfLt
zeKC8jtSQN at VeQAWq=)TmLLFh&n8aJTyGnJSw<3*JeWARDZ1FR~!5Iv2I||LfIE)Z{
z4&@YY3bq2HVaMJ67&llgwyg@&CF?@%NGNQ464g{<YCILK?*9J8->B;9z2xC(|2L#e
z{{d1)mj6AZO8vG6^zhxMR9)c2p80FA at MVO>@%}>wQYwYZx<cG@;(Nlf?02uvQ}B_h
zUgA$*Co!inJh)#UYjKE5c>2galJ|dXd|XJP7j{LEpuseBbm{av-2i|~<NiT(aQPUQ
zlR>(5eMNOU3eC>OqX+X$<rl4bPk9~h&kDjI_D`&9`@~~{u#B#Y8J<^Z$Y@|4{y3h!
zjmjolfo at 51uDVvz3fj{K*r68>!wn8LmDN^v8GC*RzlA|XLuc)op04*|dRK2Vj&{q7
zI=BP%NFMK+>y2ovZs7e4hJ6Z81Odmx)XxU9S>J^q*klR4{S(&v&Q26m_`MTRoV>3U
zzquxrtHKJ{Mk#qe$_t19^|9j6yeWo1%kNNWwgWq_RLOu|8$?>JI=*bU_(|>@`Vtdy
z at n~+k7xy-OKqLlbAqxVo(X#Ka{Oj{X?ZEpsi`oD)2BR)PF1;>MuA at VQ`$&4WNH9~3
z`^*>gJtRy8sAm#|(Sn&ZgW%K+;zHeX3SXYO!zaN*q^v+#nObJ2034<9HweS~5{1Rs
z-<dkJ;nSqKT!hCz2OOt~p|Yx`#Rb5rR!_C6M+T9(Dw1EJPgi^-)0r%5orb^4YDIoL
z^XZlKHK{$(y@=!JEC`qPjOV6jr1p&VmUxY-x;c+V;zcq>p}?vd?$UlrZ0RC+JXt>s
z2bQgWdH~JFP{#hv7VE#+Vq*Q at vlXHsBR5D7-TkU|v?fkG<giF8hHiui#4O)_=ddQ$
zqN3S3Zv*keBinf64_~He!ZquAyWWTF(+4>X8MR>8Z|YLmVcBWS;EqjVKV$+{G9G`x
zXHYo$hyT36FBH-cP2{H71<+lC^mJ8~soL1K%HWuAY!YR>u`0VU&Dr^P2o#mH8w>7D
z%OeST^5~m6wr>REJm2hkI35{u)w4w$moSO}I at vk0ZYWSvN(RD+DIz0E`*;Eg?H~cU
z@#&^+M{V=Dp4;}jYC|Q9v@}RYMlKJ*LrZ2;Vv^t+k`m*H9~Fj1M9K_*25+YFyBv#H
z@~jSs|H3u^u#)IyV%B at QS>~_y+-_^V6jim5QY#C at h7-;gM3Zr>EM<eBgtM3!+H}`*
zlFrs%oyJEadaT-V$A&FMz|yE<`vIqvUW%w~JOrP+yA``-!x8;8mym&@`sh`Ah1Kp#
zQtA6MYe*5vFE@<%X&v7*8%S2F=)eCR!+&TDtgQe0xyna*+;;Py#_&lMoJ*ds*k&Ol
zXQ2pAv4AhWt(%E!91;7+oPn65{I`b*n?f<LiC!NTZ<pGeDfy25D>zM at PC_NUVu<Pj
z#m)TnEWyFA8Ied%j54|j=(D#8KQZADG^#9*t+LSt*&{FvV>Y;T-9QteQhs=2GkJ%u
zWqor8&KR|k)6P4i!AN)Bcfid?Y-ITwj<IK3$D5eyZ%M-@?X9fcTQigz%!@pRAZ!kW
zwcTcDi-^|Xd>(_cS(uLvm=?eFFp8I;+v2n{LWTTWFPq-}KmY(&AypHXy?mrj<^cap
zuuVXoKh;2{1g!~sy95Fx#n^2jkA9?*8Q!ZobS#MDsKnL1{CKoG=z*D)ymf(5z96h2
zojIJg at Q`;kyK?3^bRt*kkv8W&dnV*GvyjrPIdjo{G$~W&jQNWp<c}b{q3CgR1xAb+
za^QY<kb0N`YRp7rxn_idf=+S*NOw<nFRvRfBh2Dz=8nRm<)+du^QvvUz0Z~T0GJXY
zeNz+aT6l2Imon2>X^C;kb=Zt;To8fePO=%h8YWoL3vj>Y>fyqTtWni>a_LY}GRo+N
zJZE5>j73L;)ec4x;KT^LW?RGnO2mwPQQQco)zuV)UXM%)oU;{sXMKo;XV7be(#xXU
z at +AEs1N38hWl>5K$9(AoIMczTSsk?}@|XRVYRhg>G35#U2Qr9_8V{zG^iAZ*_Nyx!
z{w2omgYCG5K(Y57XpnIpfE=?|sG3A{Y02{j%Eyt|&Gbpq2yGLEyg%>Lz0=UlADR(2
zQLed{94q;1dQ+5f(WFoskvUco7wT=C?O53Y`hHPUxr_*U)<Ia5cJmkfWLKV{!w~GZ
z<u at _7`zupQ(Yia})b5W4jc-sm3CrmJfI9oX`xHAP)BjonV^n19{!0V@=~HLoBts5@
z124jr3k`+H0&|epHv}Z1nvj1Yg%Eyy&A4Gpnif=3GBem_A8iJ4 at P68mz-6-`=n(1~
zH+0{@s at Y)wG=@>xdf?!@&ZM`VtGJ<yz`l0(?4HVYxEA)keii#Yq at B#zjcoUx&sKgu
z9g#y4(m at Wh6}4Q+6(sfT*Q4E$56!8I%sqN9(O(Q2 at 4E_P*Z)1o`Qx at cgOZJ-(ryvJ
zs1{Qp8H1s_a=?Xy;4Xok_YUQ`f(I#i*gCq>oE&^+x!oo(0BZ~1Se42KK=y}=Q1v>Z
zaY7Q&GJ|S+>B3}J+_4z5!PsP{+A^^f<wL(+6VFCjY9p<^>RkKL@{p}z#}cvfIRxf0
zjIy2@*Zn(ONyDg|<pY6N-k9RD3g4u|k75b(7#FKDg}RwosPw#3D9|^Bqnu9tD8U#B
z84h-v*tnDjVwP at 0h}<5;`L8p_BvUq+v&>z%1gNdGshzv at 3T71u!~>j)uL4pCTH*93
zW^=rO6vFqRnD0uw_mFZ$ce65AG at Pp}XY>Rr=qQvp{h)$_>A9JPhYhYh;D>;H4`aQZ
z8W>0;<DE~Qw=E2bkA*gV*FZyHpK+AYNT@|GxC%0HcREb{P<QI3k3)=nA3i`quju*V
zBO!?iy at uw}adu<BHEVkDWL7Pwhd+k$nQ$;clHD4$Mxv+;n1GF22%{FfDEkJ8sFu=c
zW{VF24e>(Wjam2(kDz?^*PbggZiy6QCIX-byCm7`BS(PH5#Q_>Bfhm|?981XXNQ(E
zFR|SwAMTX7?BcNX2Y2tQcvhAR^8RP$oD$&JIU~M%2lQD%H?%mX4j6saX32(XvrE<_
zsZz*K8$wH-)P_qdQY7!<+y>AGYAF2;bX0K&VR0%|IYeD{bZoUglRm82LS3~v^Dw at C
zq(CtZ*s&7Bn0XXKaSJ*UfLhnUDgsNk&!yIREoN6`rA&?uk8y}~Q|ZTKMSE$k`PtL(
z;;hkQAE&~?W8s^hoZsY4_WZfpU$-AcJx-SKZr14=u~sj3>@J!1*9y-?nlkn6?kP!#
z8&HN{Q&pNzCsjOOKH8kjsxH<izWVDe;D47P<9`?z*qK=WKa`=A-6lJH&#Bs(I3R+W
z_gTMHbW;{+2RY;`@)5sQlZ<j|7jla2&o?ZG@<qoEDZTy-bQsgFeNTb9>Oh<c%xtFW
zoGSDBi at TC&<)#_A_q+RGq8?!EaK`EO$4MNVN=kiVg<`#R_avq6LW4@}{ff?uxcg7j
z&*h2lH)h!ZN_DZj*~;)|+7ivIx)4XDu{ch}9t%wnYC}U;nWX@(qiCo${lRuRTAl0T
z%BBNAdwDpX!}r^(8ZxhsE@)GlONs^oyG at p|f^(V*(zbwkM9y5k0?#q1-Pl>z&J&nS
z_cr^r?%Z`}<4zVJ3RnIp<ns2JB6VxMF9$F~&iV$0;Hb_eoY>(tYAf2OD|fEvqg@$c
zpJ{eQB*7KIDNRP)z8^4vmZ7$PHDx#t*k$AORUI6u1U_{T<lYCqT|CdmHalE@)JaGn
z5gabjTKu!QA!J^mB{$$7EXLQJTr~jK$64#VN64=aXV~jQ*tpLi0fUmIW=GQ6FxgJn
zcyS6ML;~XVsg_%Sm*5NU$dZv*r~rW=e;V-pMKkAM{Z$>}Ht)AU(yKxiB#}%ISV>Cb
zX(SnUDXn27Pzz!LGQW||DNwRqzmsk53}bc>FcGi|@l}o2Um at WY#bFfFHoqAoEWHPH
zLkQIrW6o$NyvPK|%)gzJ??y2GRVJ!TA|z9jx2JaZv@=_^(LW}0;dU-_WOmqs3E?*g
zwJ6XIo`L7Ga;{uF+h8(@Njq51WpoKqnM(Z^ZiISWyZpWw%!F{oig(^u at C3Sd(RE-(
zoXn%Vfy1!;BRz5>LV>-}-g~zFDiQjGAxJ`s>TDUlZc)%)e-;s$0umWP6=TJRE5DT^
zLp3iNN>#>pFU%hP>ocAo3C~3M01?H6<KWb}xs9T)=3QB}EB`91TT)#`>TOh5Qer;O
z0HNNpLAF6-LbZK6WbL0&yolOIAnZSuxO?iZ6vT9)*dL48gwZDBEZuR3EYp38#lTTX
zTQ9ZdixKcNl=YRlkq?9OLUg}K$(y;3WEfZh;Dhg+?+n7<!nIlXXp(8~x9{|&9fPvO
zO!6)x|0+>#Vtg+yX4C+#6OTPj<JOb??9uDdYssadeuJ-gzc&24CjTkFf2C_oO#ini
z|L1hAT2mu#YXre}wRVlo37|gB=PvOYzXhHHa&IVJ6)u2~e9K at KngG`bSF_sBr=p|7
zgGQ_q5*jeGM}1l6dwG4b7U*rX*3bckERlq<XG3ikh-m}2w(R~S&1|dY(V&1&>-}-M
z at lwseeHb_ujH0)LLpy{}Um!8|$@Zc0HFwLW?R~VdcRM;*5TQYSoXpXs60c5n2qi9K
zuRw6c9TK4)z-vt9>We;c=Mv}jqGooYp)8I|Z=~RLl5bbxaCKMrU}Yr?qQ;v-9o>=8
zxlyWk^~xK?@z#}mB0Dn_lGT60$@<T&FBxJjhWQ&GpqkC9(rNPk(rHdOj|@?FiTd10
zcwclW5h7ULz0$U;h|;3|82{Llz at p~I at O`nC`gD2Ta-+ at w!o9S1-BQl^Kd<Ws#3*(g
zF*tRq1+{QlBhL@`GOpkrW`7u59)k;u$E(V>3$M<oIbVewpxt3x_BeByboC`pezhZ-
z4NzU#m>Vlko1dLL?<`!peziv?=+ at KSxDVmC?>4l&j2C5B)Y#Y8@)Qv>ss_7Asd385
znw09UDSOQ%J;%%s0AR>d!O-32artOr$89Fbou9q7FBVl;EOe^mLz~uLpKjUW at ZE5{
zl=H0j66m~@tDcdk)ppnDRVA2FD&?mrl&=>ri7SiOx}Hr<dJ%QntBuI?$^Q7+>Tc_~
zxv6v-iR_?ZbTu#c%4z<*yy$v;EZl_Caiam6`R3PF+h%|ODp)J8op|0+!DJ#?B)i$J
z_HBC&S*VG~>}E=~zxoE*@J9qg4-vM4O;WHb(cV))#N7vHZklOaf$gb`qFYnk at vDAT
zhg1NAmWRw at TdKTD+F@iA)L*Rrh!xM<JXtecb|Unn6&QvWSUb;@Tr4bQGiMEIs?XW3
z!+a&}E})wz94*?WGk1#??iU(228aiU%7Kh(@4Z}M94`|%YZ9D0wIw080<6-XE8f2~
zUzpk(N2H9}WVO0BjXs$%{&RF20Ek%Gfo2*;Amw4+YGxN%1R4<t<tV2<MMO5oYZY;m
z#s at ouXE2cgq6Ox3^)|XvVo#9~{_aers+?US5e<_XjH-EX?zOJ<9?i98h$BLsxF6|+
z$cXVkV)X7ja^<<Z6n4Pglm#CR5NOe1_~(;f89nyTG%~&bioXW4?jOt}9UwDuV2kgF
z452;!!9xDinkaQ<T{?NDm;qf~e~z21mbnpjNWijj&(EAkansP*)diqN=Rsdn*oho4
zs*sb<;%kwunI*#2Fl%zJfiZ7G5Zd;F`Av=Qvd3Y at KW{aB3gH2oz^5RwG8W4;>O1=<
z+Y<2HyB(ZDJFmBqKSy|#k8yl`et6aHe1Y6Q4K{j&ZQJfHoj}n__=(Hkfy71lU`jzi
zkw6`!*c2CCYi4C>Ym?@TbofmP`V?oP7Bxe_WVqC<x)@<MvLl&$WMCYj`lk?D_5kVa
z;eEns at c2vk#`ydOiXOdE$UC0MVns1KZKpn9Uy1B at 9gXXOJ7{5E*beFxw-!6rKv;Wc
zlLV_v3}_Ki7Mzmv^3!~+@`KIpz|74)0SW_(CA8*vAStfC`#z;!&jAeEG|XqZYHYWg
zIb0y=Ga?{k?E2iYq9E#nx1qnp{HmuypNDX7zlZV3e}eK|U?he!B##{V!jTFHp(F|f
z7s$~w at FTjTNyWqqLpjwCh9FblB0@-5W8Mc$jC-KpV?|E at RJa@7Ko|k$QFuj)OVNRP
zMTBjGi=@0O_^0k7y1_ at 3rNxJ1n>(_gU`)vpi#(7~8{0nQMya(q4OX^(NX;Eg1*=8I
ziRxqwNsGYCO6EbueJgaxg-0&wlb3kS;Lpx>WcG6=@H>!eO5&MfH4i at F+wkzo*Vi(D
zcDxt<o+4-M=0x)B{6wT<I0eUObzD2RaWqTEgY<&I)C&Q}w!txhv!tbt&+C7%;!7Y)
z9hh5yOGP;xMy1xd31A!}?d4_;mXhO>s*IxtX~XGw>9BrQZ6S(6WVmr(JiN{<U(^bZ
z0M*FT0w0QWy#<$zb=VPUuoHi6Y50e$GmibH<xZE}2$tm5G;S&?WzkA!;W=)wd-eq*
zV4;8(!iZL`(Yd^o7oE)QKU5Eb!V}A$JUFT1ZU#QYg0oAiv*S?WZ9owdpvMfn6?DDS
zJ<4UdAu{GhYtfhfkv7g<T#+dbjFI4BO$Q1?Mg(pKNxMyY^LC@{UDesO8J*kG4sIkz
zZE$sV;HhO`jzdD^W_5(|c$!DG)Gq>7-%On{T`Uk8oTtzWqPvN_5vD0pr`KT>!vxq%
z-S(z+NXbh^^cwUmdo3e&-7m1A6l>!%ppCn(&#p)DjjuS~NC%cUV2!i|5`yqWT_JDR
z58;0<MovO$I0zlYCUd4f%6<s3Ojl-m&|MueQ4J6%YT7WaoHc1_{lsF6?171Cq^ar~
z1LaBp5G3W{y<NAk3OaKJkhouPTZ8wCvSy#vq1Ompv`YfZAGPG>8a|LP7qqvW&&V(6
zJ^P+ZIx*twt!=E}H%EVsX;+4KXCu>D<UX#JU at s&qm;?4ZRS%%`P_<@p at sOjBBS?*S
z!z5U4UrIj_-5c6GlwTifcM{6PJY6A`7*Xp3px;SELLWA6fYQmkY}tM(wq_Iun-qUE
zZpX=7(3D?b!yYKq)9PM(ClH3MjcmC at pjY7hgp@)g2Ezn!*pL?h(f2J}cFFS8>gz6g
zHf1Sw;LdPh>sOYo)cy&%E^N(HL^!<KqJVV?a%v}~Z-AmR9 at -Nu1u*+{==Bri7`bU!
z(6A{sdNFWPlwIf>F+c`=k+mg~u{qsd)_O0dhCW8buD+3eDR(!Qtbd|#W`#pC^s$ZR
zXN3dGBrw&;D=@K4yn|Yq1|40qfqjx1Z6881jA6%EemFejuE&mkNGhoOIwAU;aKyIj
zDF{#ys|(@;qOY9$BUf=ieAFYe)w)?93W={Sg@>ZjfT-eH=Zi3%rVm7Y1vFa>aUe)f
z(Kk+UAJZT>Ssh$2P-a7zk<L%uLC0z3m><VR3i^RcDW>1KtRc~83|?T+8&+07(dQ$-
z3^Q(G!$-!f6;X?FX5G1?K%#w6IN->)F@@b?Aw)~>T4{KpU5gY4NjqOvbD$2y&I!{V
zs-v$T2cxAHus$+P?>X)c3QjRvEH$wf3R9<QW&{#TY)bm_9(XF5zc2wvj&2kLESjmc
zOx#FUf=U>2v#zY?brDYzHj;c%pxylKTr9B3fXB_>alGKxG1N`r*+5@~dLuBe1pJfx
zltvA%n*s;~?M>SdF)vEWnOO}3K{Y<$d=tXQD)d`_$;Km%+(?gZLuE;33Q+0T%b)GP
zjHp--(Dkx9`EA?Gr`4lyqld(T<zAV?5{gb{9Eo|m`$B`^V0-Bbxxk9Pq#+ViYgMNh
z<#GOPb!Kok==7PHgu at c^xYut*DknYvW^w9NiN~><S%yS!c0(dmPp&J1$woRL2e4wM
zbt?`(-wP)a)z9?8_)%{F at 1kvj>qs(%p{U54P2u at b%~;t-7{ODuz{1mPM-fq?qCYgx
zyM@|JvC$X)CxMj-YYNv)!cEtibmv+&U+DdC|AssyxWrqf#&>m{`#jL-O;Y5tc=FLy
z771ihv0cONI<9aE2ka?LiPgDrXgfKi(^tCVoM7Y__)rP at t%6)(@*vdHGvl{XPI|m!
z3so>Plh$K98}hTkC{O!33#mj(al?7M_ at Yvcz;UR$(tENVz+{iPho%30fMoU#Yxb2U
zqn5`Kf^ulMf{-5fxh9{CGUUk&Z3X7${Br+(+JcD+=S$0fC!)GJrR#pKGO|~~g@{8+
zx4>zMhXvoCO+C=Gq!Tt8hBtVO{SKdU0y>u{sab*2x{H1I0YxSQnWO{6LmVV{?{R9P
zXZ2^9=hQYZmkL!j;n8gfFy?DBOjLK6ffx%2QKK*IAg=p-WBJGWeI at HAvTS{HQpvT{
z7}J$V$3-4Ue`sN{+mC77D)@AEu>SLIi{fB@$N8<#43Gdf2svTTh;GTYp09f6L0u}b
zM!1olSj0xDuHOFd$lnF7Bwy*<D$5F3xlD?`oaCqzV4v6`V-X67+fxzt_OyhW-E^YA
zafZG^f8um8lu$+HQ&A8V%vF%IK2NT=<%|c}u}8`(ma?#*iKE^QhyRRgu!H`dI1oUR
zfhD1A?jeZzOTO1hdtTETF9wOT9;cm|9zIc=0<OkaFz5lu#gI+VDx>^OyL=C at W&~El
zsbW6*$5H7w{l%G;jj)5k`byH*@s5r$WA?+v7j)A!*XFeu!cdEv1dcJM&1OwJKWGaD
zJr-H>y at CvKzO*L=Xzv+XPQxCESEnANO=``8G&SCtIKJv%aGuc+d;VQ3A-peH4aYa_
zPsZ~dv;skJ3CP=T(%=D-`!m0qj^=lL3*09gtds&{qk^~z^!7krC(*S?x0D59*I{%V
z)}e7~ef<l-0>@_bZ(qgC{BK{yz{>i6!jAvhS9Pmv*lmi!`@YuBX^|6aJJI1%Kr-_t
za>f`DsRRL7%*iiE8cHPq#j*dq=B(=|5(|llE+Df`?R&D1vNbj`Ns-}x%}Ml;3XDmN
z1&tee9h@&4 at -Pf#p^+^;wD+C4vd@~5{hckzmX8zG6((y`QCqU+ at VL#kJJ2bKET80X
zTU#ur3U;n(Xoy^79$zv29=_y*cJT4yb;-E(T0&TaYfK|cYgBDFP89FQGq)J at 8QKa*
z!n1yfAPZq&r(JngHBmz4MA<-OSE;da<Si7z at 4JP(<M at LPp7UX}x{YF);@y(Xqav6X
z4+e8eM8pJ0tlY&M`LLW0MiG9b at VITEgZkH^Cw!3shY=r|P~YSCiI~Kn-Du{rOA&&%
zWQM0Bbyd`)bZJ4|QH?l-F^bC_B$l#8LW9&pRr8W at P~AqkT>gE?BpQ(x&}Kp$M6TK;
z1KCpHSfo(W&>DI at 7;+$Fc1{$H_hH{od>}kS4!uB0?PIDvqXQX5zXxRCy)EW9!||d_
z?2R^Oof#1wUnRw8$4g&aoDdbGoGHFYT6Z`UUN*z-TG4hHKqH7R-;Je2HV2be8Jb>W
zXX4D;GWnyh5*Zot&rKhs5zGxUdLx|tgTb(<8FLQ%J-ZEiqIF8#xPgBQ+6~kAkYFOj
z!cfUwQ at OWpS(_#NShSI5sqT9*4mJG%YC?(up#IbV>&j++>>}Cps1fTTL?BeYx>rjl
zD2H+T4si9cF|?e0 at Hx!p^AQ(<4Z7>(a#^zfTs+ME6GYJ!eJ)tSX4GksIb;;+FBmh&
zzE at J(`vEcnkABB&od3Cy at 5G&$fBRRmH&*%+ekK~k+-4<hVH-p5*gQdnKolikc!ikp
z9-IQtUJx7>b!05TB at +1;AEA_36jq7wRfxKFK~<zYu8gA2{bYqU at _5Y$kPf*Q3F0mc
zW6%XxYRB<?(FMSW!CMghj`HS{zC}!rs%F at _R7rXD-It5&HzY;C8Q7;KzYPljDli57
zw<SMOu(DI?gfI4AQv<YG6$@U;hJfUgs&2ezHP2usPUumB)dEG3s%tr4AW&#WLlb;>
zX2M*EPcolPiF^vTH$*lcq?#iQ&t3VIovs>J_X$;>KH^Z7Vo4!{La&%2@*CVw1SizN
z1#@!@G~zuQ=lv(u&!8EX=1EVgHrv$BV_KOjR(^iUXOFJL{&vx@(JKEQlEN;y;Om2t
zq%~7hI<KE1YTaVW8PP>{V%}HqQm3;{@7~rdTIGrj!vxLf2M%VVg?B8*N$T{yWErA*
zYtIT$QM06UZ<eUk<<tld8xmvqr!LGUv?y+&7Z;r&6)mqSe{lZyU0hQM4IE*l4s(jo
z612?+eq6CeaNSfj89<%lXGNM#*?c|w`D{YKH-NNXtVm9&Dfbr}`MEH|`Z2eNhIZyr
z<PNr{vH)bLM_<SRm>mF*IaT)j&aAyTdci*;htJ%CSsuX|9!IUzqwj~bOpl`)ImJ>!
zJE-s6Dw|<b1Z?c=pj#fU&o>bT`4tzZQI}f8!8Exg8aY9!6Y*{m%?!!1FvQ;bGf5NP
zFIQI+lG#}a)fh$(f*7#L&C>Rt)zg7HJ(~HHR6PDxLiPY+Kwx(xqE-W}8g}%YDY4CF
zP<c7dCpIP{N2*XNsSXZyukAFwB^93QG_b<x4S$(Lwz9jsxbwbUe4HFSx`e!pk;%79
z_@%&QWO8k$tu}AP at g!9dg_b^E-V4)$3hb?)7t9fZW4Y_ERRLgNo3>0hir}{7FCJ;>
zsxWX`eP4#%^Uwy$g~DQRp{L_3zB!y)BqXtKdCZWs22KET^WGu_MtDM-#!0#(1NaZH
z?LY|EBD9=Q<W7i(3($YvTwHC!-D;^H&)?7HvEG6gS9V6@#Bv at 0<5*kLN~Pq7Ys4k3
zCXN{y!T@@@U?R+<wT at S?yFH}YP#M;G8vKCVM(Dgoj{>0Ke4p_|ZKR)Lg#_V6g>QwC
zwynxe?XF at _0&xAA%XdM4QDvcQxQ}HEq at xN4smYzBd%f*+uVjE3Z!#+ib~k?h=qb01
zU4o%E24h6d-lvLv(8JfwEL{(j*OyH`q!9;klT{jWcjv1^&6h{k;5nYUm4v?900CjW
z^#}h+A1$zZ`|!~kymnm^yV(pC{B#RGqi*#{C5!H|P2TNY2j14j&0W5H2!f$|nIKJd
zJd<StWJDDJCW~uZwC}`uL2wHdd~JlT_(2<HAZ`2)ipKFD6pfMXf30XSXgYC+%y&M1
zBD?k_HsROB7JHzu{pa!QIk7;3*oZqrHbpW?6RtI_zquH*#5Qh&kkw7Nv(cxYL at 80o
zKSzb~QHDiHF|?@5_p~wUt$Ofx_t!bbJt*`wHSD|Aw>>`;vuKPm6HUoc*R~0j%o1$J
z#CBSAKZx%Sx7V|7e70l)?Gs7di@!>jW8Z?$qBO<{<QZmVnBDT1#KTyY%abZSD+fh9
zG-{fWJ0Yc;!0JZ_({-=ri%yq|!;+Q8N_E?}u6;cc!;6YG!hCxok at n^tqiAo+*w8z?
zbSebY2Cm<8%OIGXxS>3NGHj4WJFT~VM0;s)eDHIua5HUxk42-r`jREHHLbdGK;m0q
zERzPpOznV>rps0eZq19JzNm at M*f=Rw6i*Vdzk!?gjH(OqhKV(-XktrEG2d?fuxX;v
zU3v7NmRd{;P2LL1k%gV-W)wN#SN#b_7jgAz^ZgrqABP4KsqZAeCBOd*Y~WhMH&gCO
zU at pBT4Iye|Clo4Z80j23{zx<ttQC;3uSD5clM4i$BTp%^&<cLZPB~J~Jvg%YNRD!`
zh;%JkgZeWEXX9hwdGrdWZw{y(aB~`Tt*c%#Y*Ea#f{-ccu(I!K*KfggIhLnRLC%?U
zDK$Q-IBtwk6pn1iFd2@)Z2*na|G^(jx#Bo9Y)^P&j$1_UyGZ{b9P7C|v>~`u<2J-J
zK{gHAaag8(VL%}gGR<&q0N^c`TIrGz;ij_;E5FSII`7QeRsbop>#*?|3*-UN&cizX
z-ZHb at 2d&MR*)0Om?ZcDL8G_&3Lw3g66#hrLUQf0<;t`nEtU}n|5UoT%>9X^?mHpmv
z{wmzH9K4O+Q3C at fh3Us1hA5>kU)10$9viSvgRiN7@%YI614OHlc+^@(?RjRMatbsV
zOK<Tm${>&*vqlzr?wdu&$i1ZPgrjH$J)IrZ?C?Dx%oyy3Ia{ZVAME3>+ at hKYQDo&E
zEGhD+G$@fXvkwBLy6<s;bqsYAY+lVKs2QZu8!OC6+2rk7$k at Q@Ds4|1B`8!nXw-!n
z>93zVQ*|v{lB^<3bb^7N3UdDPX*&rRmNW{|qZ;;7x at P!(m9utM33i_JfnOdHT$e|x
z+<~3e;OnS`#ays0=OqEZMrzb;LC0TYCsSKe>S)GX)m0{+or5ZD8FWr2N}UXjD5f0b
zigfDIhJKgys at 2QQi~g8Afm3ZV9=xR7?HS2p`4Ol3JXYlB5X|f;=h$OS`3FE-P4c5u
zS{J!f5drVfsBC4>6OOePXCovXQO7G&5NMvmpCZD^yflt7V{nEOrsh#AoYOExX0Va|
zatnJz`%Y%!I6QVaCG2?gQAr6OED>b%@Kkk+U10zHzQv*P2jo|Lqp|?=;d{ZpN2Sca
zBWx^L%eUgJYT7*Az0kZn at Sa;TOg&DGq566n3AoCW>-~?FIH#M>h10q^O}qL=Ut)5S
z=1tUjnAh$VsxF6>{hzm)Gc2U*?d^tXj6pwBxoVvg{w36Us-2WIJx2EfdgzuqBeo~j
z_ at HEjPVR>6h7<auS*bS&aM-|2tt{!j%>~tg>SIi296|S=LR)x6>a-hUvPqPXn=u#E
zfYs+OLF-zCZmcg-FgC|}pZQs)_SsxwU!3VZc2>Azi)k#ebrf-?AG9Wl;ZeV?!(O<&
zcRZ at AwiNAAK8!yn?`XexCfon+r7Zu!9Wb(UaQydH=>O~vV*c56*&IXo#~r|Dqd{^R
zt{Fc{=33iztpl(^o3RQYf{VgQ#Goq`rxsr&`1xE|;yT9h(9>UaR#f(MXsTub{FKXJ
z+AdH(G?H&4kD39-yu4!BcKse_B)V{^w`o;*dwgES)gHPR0r9~(Hn(s8bNJydh&pek
zlZNg0KJnVm?)T-2u60qs0sXT+HdlPP<|ot{)mHf;jB-UB(++{u*Po}jqP3GfqD!x3
z!s~O>6|JQH^<<mMwu at Ov2YPJf88mR3cEOi0yVo3Z4gN$|1108sTHWp1pD1HhRYfC(
zo6Gf!2M$H<M-bT{m_l&y356}P#-hUTs5(Qf)p1DR<g&$lrX>53K)$0qc-DB_3|Y)K
zF|3b{!IK;1r{5)y{xONXe)8*D_Hyjg1zFQEtpW4m6IDGBc<)E!Z1BwVuOMF>%Iy&q
z<?STuirY8YRme`7C->dkwrdzt%V#8CDUHpp12_t3Pi%_G&EGt2G<nSQvFpr2uH1{#
z3-At!y>F{55nVS^!odPAHbHxW5%^#$QC!r33B*a_o$~=HIUl#(ETY-$u#WCi(u=U-
zBIheBl7T-NRH|;s5gkO=EYCW2p8h)_pKhrj)Ql$Mqk>t>vRImba|1MU0Xga_xsi3g
z3_7sWLtnF<f3w+&B+U61B*L at YT-hKvn^wwvLQ)Yt?OM5xT}B~cnGQ4VGAtD^*2b<`
zfnMb16m(5&NO~JkQUJ9$@V+3O7nR`vg6Z$YOHU73rT<`-t3A_R2a24|2Ore9B>+lP
zdI#2(9I!*%Vg=;Ihj_8ar~|4$9l|uZh=z|c4CW=3TPR$(c;R9s*nx4#rT^663Z$W}
z&#Q^>_+#zS?or(I(KNkwB5Co<u;JmQ4Cosad*@U%C-^`d_^;^-6xB)-jS+0~7x89(
zc94|Tc`<&o_nC^Q0#+PWBV-VGOEO{dM%B0(sG3X*+q0vModtN|&|{D8{PwBAbhYAU
z$BKvfmNtYCeX#RhgfFZk)K^LfK-R_X)2ujqm1)yM5b=qVm33u3?Ewj1jNS`Jb!ppz
zW`>oeEO7-n(4qv5%sp}&0<!rZm{8H;+Jm;+s0-e}lYT$~Fes~@QZb5c_05=6h4oj#
zrI{qC&`H;OK9+b&NLuWX=^Im(#ZUY~PXb5a807l9T?JqP8cynhjq2Tp8Ni>Mvq0M~
zRO_T1`^KL(y1sskF$1>7BI(=fM(all-m<ix<(6Z2>Yk-6n_rmf`;KMn+jm4*WWuHh
zrG^WR_Ae@)`e(3%>@+k}-N<<9ZA0W!)#vvDhmRXOJOxEQZ8mRa$w&olYK5D+)4r^9
zApE&e*}S9;?7MuGJtx<r5n|9IlmlED-{|)n1!_3=@8ODyEYc3rk2q{_RFGAI&`8n+
z!N- at 14qfg8hrnft+FElDVZ!l?*jqOA-)zTdpB`Ju-Ip^M1f2dOBU`}F$2rCUa45;7
z{Mdel8`KvU<X-)cLLl=?RoWL;rUYKoz_sK=Z)xZonXxML at d*9_KQB8O_`FC3KUZBN
zr($%qztn#XEeL{&gR%nK4B9f;Ic(s;{yP;Wcs$@aOklRFP6*phgJ3OH?tX6i+2Wi<
zFchFZ3dJNHxaQR#Hmex`YmQ87t^fke6iH3?grX})4g;OOMqslEwdPL|)**}i6MPSX
z7^@1q>(m6^PcCkf)LbEk)o*>bcyvEh_a1F>l^Iw<#Q0IOL>^yEUN50ACNY0W)A70T
z0W}t+%VLUNF&Y_S0t8|jbt5c<8Id?>w~9C>*v<xv;+{Ko^WMovGzU4Nz3Nz3V5IrO
zIFT<P3l>)-jU>jt*p;8uy?@oiG8$RFFdl+Tvn1lN{}Slbs|4Ic{=`$IPpL`IbM!iD
zSp_9Y-6TW(<V-7tK>@pkyx3W55=jXHo;`^Fx at euk%H9|XpH=x_(hmxexUaGlN<|qw
z&`L2wR1Xt5%Is at +((tmmOT3{F>7b|+MEM~L^8qJ}DZaL)AP^`H>>=3q6&=C$RvA8j
zhkVqHPgcV{&TvzS%55`f^xa-Qwy&ss%n+;6-UopNm9MWxU%-t;B|5G<bNI(6)LF*Q
zk5}@Ahzk_J3-XCwzV+`T`PKUI9xK>xNZY0m4L^{XE%iW?nb<A9a`MU_2nbEAewoE>
zJ=8iaFE9Wo<n~bxwLzwnx}|3%p-Fk^M9604hqb*W5bvG7Zzx at GDfuh?sv){=khwkq
zOyD($R$e=TTGHVle1%s7Z1HBG#_U){f*73yT!fLcC>X^7^V4nTy|D{GV7wD4Sp~X>
z28cs~5zwbv0rN%rF-qthI4IMg(fjW0*X|GSSEcX8=;!iss6XE|n1o~AILA^_+__k0
zrg(3ST=2FOKSWG!PP~;0z$9>N&wpvm-UyDjS%L|{kvhfAe7$qbv~<~Bf<LbIL-(KX
z>&JW<F!4GY1{kNlV-wyCDo|^vV;Q4fiA(#uajDK3ERn8Zdh_1TA;1W<+a`>1KF6JF
z8tFqzXG%TAt$|^O<YCa0&0&C7HI6p)z$W5M{VeFN2qAXBysgr!OgK_%?G?%?0+5bn
zTxyOIjZZ-ZPm|PpnZ8vKlyfb9wzEd1;OHn?BioR5P;%(1M<s!p&Z6;B5XWg9lE1-Q
zDM&^b&Kvncz&@4Mz(jM^Z(|`O7LMxydGKgw3s1 at 4m{v;5DR4##64In=#pY=He#3i!
zB!cVePjOfSdM4OTlktiIVdaaZFDhm1f;h?!4>b}0?(o5-Oi5Q6h24e6BsyV=(_$zx
zkLOih8r{@$2Gz!C-G8tvGN+t}v?lcKo!V;WPV!DpXXGQ}HFn0S0@}<VH~T;lBflIp
zhEAM+>fvLZU(j+J;$ha)VCcrvR=}RAzr!v!)#ytM9XUIUMSq24!7UI|NNdd;UKnRt
z2GJP}^9NlY)sap}x_Ex0eby&tYvcy6tPVy5VO&)n&mbBxW#16X)}kul!Z^BUl=ur8
z$Nx21k!2gcdgobsR&HCdfH^Nw5>kQ|x(d2fkx&pa at Y@G0!vO;T$k3Z1xi$kb(1~o8
zE^Te%`h*V}nav*}r2xh<WxR7IXc68?+TW~0x|TH;V`%cV39Dx$ZY2H;Rp;q=YLYGD
zhe&Ky?$+0vmCu9N(dI$Yd?Dhoh^!5WGR2>Yo5LZ)BfEiwrRORm=ytW#_w*P0O2P4K
zhaVL+sh={<ovyW6qnIQASgB!nAPNlOG0{xkQ3 at ppGSMLFSWgI`$(1HxZEX!5RzZY!
zf3%hA718&Kc<et{>#N>VKv<GDR{KJQ<N+!aZG+p2uTb7Rb?o*{T-J7Xj4CNx-)Yk2
zA*_lUJxvE^L{Vp5(xa+!Q at s9e&V1u+?fdGZI&lX=x&phqpFIA}Z~)kS3J#T*K&sEN
z2J^J+&+8{yl?OeGZI~XbIcFdkula_E_AW2q at n?ctc at uwTC;THz`cB!BdQlS$zEUHk
zcHEv92$05-unhN|*-)FS`eH@<xvRv(&7<u<w>t;%{h`2H{xJ%kO0F?Rtl1qRJbvLq
zB3WE2F*L1_&<C*hb|&5TFa?)%-jCoI6L-7&^JVWq%3F_DVR4S;nPG3TGZE((FL><B
z{QD8OXRq=&0e6b_chYE7nu7dqle=5&?s at iR%}fk1Uredf?$4dJ^c=?s at t&9e1ic}z
z at 8ejIX10vlZ!1^Ka(P~PWh(`NVP3bi9_-iV{%XZ7E=k&mFa7or+pEk#JD6wkSUHDO
zrR}_de}p2nPjVg5&fz;-OCBCUwV(LA`Xd|}(mTy>t|WHx?jgV)1Jm7sgc}<ZFl%$)
zYh at 4DOoONyvMdHpcgObHujQTJFTVNfe;CpKQ{2J9#`wP-(NolI?6z2;e|Gd7c29sE
zb4}h|26?MAIE~dC2_?b|F5 at Y9cSXu(dDVML*K6 at 86n&$VoFU+)kVzE1J;Za=LGQ>^
zE!rfR&dnHgP{Py#N?JZqU~2q)Nz(0rqq7iBFE`b8dm;`~AilWAhA&*%crRQ#KPI{S
z<VS0)SFtEc(0p2VgcYv7y`OU->~?b&_nH|y=r3i`Ps;BWo_AY&yE at vgK}QX)Miagy
zX>eZE$}mZN;l+wASE~l6yoUTLwgVX%$GePN4itjY#1(Jzt&AOvb^IWNl`ml<<c1n(
z;_OqVs4lB(Uc0(Wn{Nt;1LwU+S-1-C6fXk&m$-25hP*h#O at bm*k;=<Q!JDVccTzXu
z1gO8BNn;gnSH}65H5Usw`kAp1K0K(;T2$5(^!D;wwo<AK>QN9lP3#fk{#x~2&8dg9
zbhTN%g$Hyiqr}8kT+i62dsXbrtVwGy$F40cF3P`Yu3h%4<1Oi~R`_7bK9iwAo(tNo
zWDt`L>(|X**jGs&0k at JFwUQO&4Wm=Jq6zP9KQGJq^_Z<l1P|5Y^_!Y5>xT-uln@}S
z$UDfs7$kP%EQ~?$3%W$C^rv7tU$GDPAMQ5T%t=d3nF{K1ntOV<Vea at 437<^j=X^YQ
zfJ}~w&=apyEB9-669~0AkA)VWML6E(kvt06k{DcBAJD at 6)$;Q1>QJ_kU|?%COAX{9
zYJJ5 at WQ-+G*SyYpDJm#GsI58Q<T$3KqouV^_PAYOC(JzW3$%9%&R{-&MV?4*+)f^N
zgcgbo?U8mFN%f6CQ8IGcC@>0Evw(yONKkWLMv|!lyEE~F1c<wCIjEQM(!L5RBoNfX
z?GG$ju2*`E?Oo+?dEdo^&PKQ0sOMHSEYw<^O3wEV>Msfv))FTHD+J*e%!mzzP{Ta@
zD_ at MBaNDd!=fRJjvewq(j%;Wt8l4v*C9}jG1Ev7gS`?DbfrsZDPzjez^- at vCjSe+8
ztc!tq>+m8B?H?5Y0Wxri2&;)E at V29rDWI6`&|<#=-4eW4il63f?jQC8k1&q8$Vfrx
zuN%VJVF0+Yolb`2rZt}POmtHPNUW~B?R+?7m=S19%6qJaS|fZkN&bhSmp*}sZ*n~*
z0Wat~X|7Y(4xheLNh^uMPw#X=X}MfmQn5)6%sifnpA{XDz(28igS}1#3%pZF$Jt&$
zXc0W5^`ogJ!iXZ0mu7P0{x8c=Ws1#T^OU(lBG0Qa7aIgOM82p4z-TlC(c+#lPkX+>
zL+vADbPjUK#tyO|-R1!-U4vk=3t+gibT-jLoj(YB>U<DM7UT(GI?{sxg5X~q!f<Jz
zm*%7~fVf6r0J#oc;bh@<H)N5vn4#UoQJl;}^ydk=X`k{<8u}95c+qh(8V5QzsRex}
z0>R6Jr9SOsWzh4nQpYThNE~ez^;I7h>9O9#1tiACu-!qF8zWuHZAJFlZFIG?KW&{o
zb!@Kh-&H5#d}tY)A+CCmwEI#7c{o1rFMinFtF#aEnt+?;Vv9eXB8x9K)@8K~fFuP-
zDfQmvLjbWch~R%=f2&S02vLMA+SRu6VXi}N3Ip}8T5r*-aejPbsw$XAY?Pj_0MG*I
zgMkj2E8c~hgS(4{E}Bsa7GH*xDk*)relS072y)6oP!=daj1?ikWC_p%1<{WgA8q@<
zKK$Lw43x`TE*SKPjra$JqE76&T`&ba<d8*91EAzmxU!auYA)EHU>@<aOjh>WtZq>S
zqy at 8*U*^|>%tB!ZeaPCwLE3yrr9yiE1NCs}*3r|jcGzQ5=%wE76JO%cCZ`?o at FeN&
z=#pkHguuyy9?5IYX%`c%OwUY~3XUqEaMwFe3$M}b-}5Ub5Db*Q5#J<Srwp~c7O~^`
z!olgZYN2McwLSV&njv at vhkSFN+g#aE-9%U2MBr5Jp(`G^@r1C$3(O61I(n4E$l(w>
zHB<5|Qfdr(Mq_Gn0cI!H(7_nGobw3M-w1tej8We+(s>AVL&w;qPJssKApJGzg*?wD
zmhU09A5!zWrmxN~3vnWVA!#^>A at dgz^r)HJ^CotnZc=z2Sf`L9TnPF(dCw6E3J+|p
z<>`y`D={F<I0gFxR6USon0x>q$zpWy#%|hqBYzxH+sGQ7$CMwcX4 at Nip*}(boH{Xg
zyy#qF23%tPxWv?Isi0X=RFyBRaq+FMfQa&Gvgq484MBi1Y_PKOpKD1yqI8q|HKr7u
z&kIFD4sEv3ihzElVFyb&JO#kDFC^s*0+mMG;j;X;Ct625lLeV(cCu>*MA}RXuCci_
zrH8&l0gk(sIvL at 0FHj0hW_M~XEAH=Z#*Z5H6hsY9Cbcx8PBqZ6m|WK#5<XBFp<x-J
z;e6dd%YXsSUzjC36hb9}<M`_$yDGJu0W9a4#@4F<l6%UbuqEV$VD7h!S6z$SOksl{
zS#P at r38aixSy2?3;HlhhO?eR3ynK at q(InQv30odEf{;=-Zb$6e`#lT_SE>lX*i5Ba
zly^CCPC)%7sWW{JmD=A*f1G>f*Aq}sI7{AQ+~;p<9w9 at S?PlP!b=9Z*oPA_{<a1-K
zPiz)9o6U(;5S3tBydb!B;lW|zHi@<s(>wVCPG-@)`tKQl^*_aQZ2$Ly<NqAfb!%SQ
zZHdDE=Jpyo<herK3O_E0U;oujcyi<qVm<v#1_|h*+O%|4i^Z+a8T`H_3B&HLiotP4
zK(7;hBn&%>=ToFYL--mGQG!Y{PcUy?yUG*kY3<OIKb)?eC7#t99D3G2;hW9l at w2!V
z6eWyNY-jJ)R!4~-m+1VSX^m=~G=Bd1+MU(ScEi#z31Rt&P#(MjFGgyPmnFA=NgPos
zQx|><Rlc^gG3x#*+1kB&=v>z1YV>ZGd~V>e&Mf3!8e2~OHLqW(pG)Q7>zy$uSecY*
zjbfdgv<2r&-QBKQq0~6Z3gv9LsMtOYLwRChp`oC&DC?i`%AJKC5&}bxmoo;6b_aW5
z%YvK6E}}%Jj~!$VP(rmr(K6WkvYHdDINF1zluhgH`JrR+{rpC=?20O;X)I;eu8t^a
zz^}1zx0m(qp0U4roM^o9Y5?YONYP^TaLKT7FKeH1PYX<29qw5(L4iv%*bqAT;0Z|j
zqOASe=VwxkSfb=q8O>6!j$sf`>UI?0VN-z(V|IIT)lgj`*8o;wog=Dd5Yo9UIW62i
z{DsmTq@=mv__j!aG!y&CQpp=Q5%$@jL>RRd{pW<ed$Nqe<2YhVnQ_KEaE5JG)%i$N
zX08^UzfjNd`Ie8yjVp=eb;}O|v3X1{xy|5ECV%q;U$e({@Uc<9f}U at hP3HD@cIu7@
zYX?oHReHMcq?=;a!QMIrH^JGZ>@!?C)oebKioTi_X7xmBW+KNxPnWG5O!Iv7R}vUW
zb_<vj>{S2QX-dq#AnN+Ctz?4g)73udAX6Ps4J4ySORObH+8By9=EYhO1y?@xfMqQ&
zi+o-LBBQ<a+ol;|7^PPA at dFsE@Xpag><9QN?5P>bExhfJLDWVcE;ldlI-`Y$s891L
z6m#h4VC)xc>O%WH%Jt|i0=oC}!7$XuzMI)}HZgzn^fRwrB#bs^mS)SeaHH&86XKl<
znv80EKZ$o`-D{uIxZ-1E$K_?i_WhF3y8LMi0MR@%sI5&%;K0xS!`L}?XBKViHg8n1
zZB>jnwylb7+qP}nM#Z*m+h#=-C%4XR_uJmBoxA?SYI8ng_NR}N%STgn1Ye at dTDHZ1
z1!W(8yt9*j*f)(e`YJlviYSI+a~OUxbJQv%&f+ at c%Was5J8?R_fZv$wH7_X93+ogi
z#2Nm`B~9zIVVr6~^$e+TVlaEup#-_Ax<p!&{QYNL(*{$D^tw0mm`$v`E|4YJV4X#%
zOXUmwl<rEo3hXAww_rW-(qR_v^E4atcf4E8+qoasbAB{zKd;)e$4sttenYw!gqn%n
zEN!*-CznVp8eb*MHBW`;Kyw`Q_juas!B)z0)xU2>m at cevW=UY0P(r=|msIietz1#D
zDE#*}MjcciHq)w#8>60iv+Uul(DR_{;+F#6P8&c9LE=jb!;6R~D=;)O>Y#F%>~ay<
z*@dvTqxv2?q35oZ!bXi at 6kr5G9TI@{-~vW=yW&xFa05?ZH&+KMa@!0|brC@;ws(1E
zen4%!gyag;1SekxY=2xWM(}}t88jugKnAC)QP3%hDGt*1TRZxyFbeq*P!*3vRLUfn
zq|7^L;LudOixeerCn?^g-d^G3cOY!EEIc?;OY}iNz}Px&3EEotq7mkMr4wSe>KiMO
zWm-qYf!L;yQ$8o*V)S1F<aP)`6 at kXTG50`m(o|vbwLAyV_CF`i at t1{te+=M);EUBy
z;h+8>g=Scb(+PBd(3k66HPZB9E%Q$Ij8_8l+|?#m*R2G3YbP!9u0ikwv$;r<DPmBd
z10NH#g!T^SBk}Xm&(04>o49ME8AxlR at sAA-!$5NJ{E41a9v^+7ayxmda5J6v6<}-E
z`UFz!W`SS0_9kajr(3lNB<IZ$e51A5E=fpmG5A~J_BsLPhXG~cDz5?c3@?;O+iOjc
z3Rl(ZPNgV;H|M-%U%t7_fy_d&ZYZ<Z1~Wvxt*1Qw&|I^eJpH7(4`{|gryp$n#72ab
zoaYulq-1l+_-u^)8Oo6JVhse1^GNsvri4n~Sd39Avb`%`t|YvNx8QN3Zq3i;M<PT<
zjcQ*d&KL(MKbPmgu(&Ve3CqAxh-f*y at +<|s(&-1P<T_1c7(uxy#q=>DK`rZxZo1FH
z88V86MSMlf?70;W1$JIolydqdYMJ215tZ2>r!5LURp|}mG^V2l#gd>RMhl#^nVO!(
zeMBhvL~7b8AuxXl at 8Ns6!sHR)BrSokJK1xPu%^M~Ty at PE8v;gxB!@vho^}(kFC;S7
z>_U$5V8or6g2<{7ohX_Af{?LHVLgx+gJo0KjrU>6;TS{`q18yeqWq9~N(Y6gM4=*a
zIao448tD}VSt3U!T2BHO*pi-j#0A at Xi7x_iUxJVnh=;D at a1_+NQMtK9*$)&b>bXmi
zw^sBpZ?v$3sf^&LbFK!ReS@^wtI4e8q9a8~dMp`qf$O_yy&_#T;eBd>flGPZ0)c|3
zeVfof2u)G+eo#lo;c%+ih!?uLa0)&=h7 at Vd0frs3lY4n>8}wi)CvDW5wLKrFrrwH+
zy1?jV7r-o(+k)NiM1fR=3 at wRpw!Jf6Kh^RWpNitsYnQK^sUP8E`qoMp`*8QTL6CgY
zPw~(qArg6&S1j?*q++2YL`!#mKV%1$WLj_uEIhS7+(hR-^G`4T%L==41Mk=vl(<Dy
z-y(Lie)(p%?VVXnkDd{=>2>#zA=~E$(fGb4Ac{@g!*JH0f3myzv7AW`!$wKRwjF$C
zwI?YLQe#Zl!uC)10?CKEt_=rw`K|M#eE94uzs~p;;L@|k6rmW^25+{F7z_`t!uiOP
zZr{f*6KXuhzfYB}cQiv&jQ?a7I3uP?v6^39)G~E>7=@W>ou*yW(^i((_ou9`?^kMV
z1;>Ob;On;9EKiTSJG5*zap%PtK(C!2&nnM9VsC%S){nd5Uvs|7GcKDok*fv`uy(m)
z$kL{*|DDB{d{JAHL$@@Cdl_7<qTX!bYyVpXb3>2w?Ly*RHc(^jrt-GoB756;aH#+2
z;=7p~_LOyX(m{`C*2os`bL8oVIWqm26h+`yFdwg+=5oXA at F5k?O7;qkG3FgoWYO>D
zoDX6MkxfK+NII?OEz|3Ivx$~rAO1u!3<YA$hetys8K2tpCc+`O&kGo$CZ&k}%1U9f
z2$)>E{h8xqIpF9<s}P%)N;&G^E;q;zF8TX0{hQRnks1Iqz8EjtkJ98*xb{m`p9SYc
zwo<^(5wSpJfUrtA5j5up404wPFBF$4tbzm#I4JvX62UVu_Az>1{9P^fAfA9CA9~e_
z_hZ62aYu;$&fG at v{m3<2w0ub+(7&q=N^zpT&J5?EF75%6ftn9|nWWxjW|y6~lG0!s
z+!4eoFRI~*Xqu@~P-M}Q4Ex=VCs>cJV}p}(QaOFcV++6HiEBN at 61EgFw&6~IO|!=`
z9USpEZzC|{ymvy7AE0#!hROrl6XT%&S1SXB+*iKsD)80XwCn?uLw8YJhmcDh1(WXv
zLKSM6>u<L(uIX1c=Kx_onY}V%j}-(DX5l2GDgXmuFCA7x6%gDZY9JWD^UmNRf$s;0
zWEYw3TPIlbMF9Z1Ql4k*3;N6iKGO^uLK%S$&J}_k&Kw%`PLfx(huwjLkF{Lzm7sjg
zr{~E@?}{LR3XbqI&*{9ed}WRp*yYXVit3nc*IJ!i&6i=`FnT4A#9Sedw~{hO>{)(;
zW(Cj({paPFo%KI?AZAX+|0j_6-!I44c<Zs7V|Uwn1>&;$E^mB+qW&@UxYqvQS<L}t
ze{jGw52h&NMd(Cd-`<p6lF%eu5j1~G5`cmc5d6NVyy)nRvKHDW%);VhR7IkhGVbve
z{9L?uK%w`2eSlSs%j)mbFgwcI>3aE$laj^y8Oz1y at h}JRWXkBl?emmuQ`Oa#1x;Lf
zf#}9ewfv}3zf*HBx4$3frYiHC<<U&b*4c^89ywXj>GgcVz~Jk?`0IBYiBu%)owZn=
zpel|q8d$zIYNc`Ciw$OhTlkL;896M{UsSRDS(23>x8^Uyp6~KIc9Y(|dfWR;fAoF7
z)78E-K=LizbW8R5tg?2$rO<z$I&6E8?Kk8YBWzWGj;?6wC*{oG5`3<p%={)FNg~A(
zFWl`ZN`mNmn+ygWvAmy0)RqHRSm|4~ynh?swOV;RIf+FcG09_9k&Ql&Z4!Z9*MFrF
zt0CV?N2sqRZ)wF~p24ff0gra at pB^~NBk(sqEnQZM#dOs?S*PZiV2k==-abQ+mR0?M
zmuuJ90HZcM7*K_OVkKFO3>N)9)>jguw=A67z^(uM<AdS0;IOpQT8A{$svG>(Wbqh3
z3nMFy=t4#|jg|fd<~!A+nSuSa&{s!U4#+i{mqM7<+2t!^HQ^eLXFo(qA~J|WP-jVm
z%rDmG+0Qi9MtY)k{32Yh?M>ImL)|}>7-XG`qQA487(V1ERqTvvL&><LL(!;>0!tHB
zXG|&>gMd()5^6rZAXCL*-gqUa^+{h!BZD%n8EZX>wWuGHVyW at opzw<IATZvoU7Rlj
z1mfpIU;^c!PJde^T9gnWq_gCDOh#p_X8yvKDT~PXMa5CSL`EzHBiyDBR at k%ce$hCh
zWDa57<a78M)r!>F7p&jl5793lAPY4c71sa0F)&cHkr*n-D1AW|p2uS*nPGkRT{l(e
z4|n$aU5f6_pDf(0v!VaRZSEg&;_thP`)JO=)@ob_`9 at QJA$tR*yCf`uWx#nrR%~lc
zr4B%nONWJw0xBaTK&m{PKb!Bn>0h`_j!tv!Zb7q&c0~uijE)O`pk`zbRB9fy!2)-A
zj=8m|Ey at tX>Y(i!@r4jqvp$U4UhK=3ShTJmJmpoEg4F8fqGtC^+ci`ttsxN1kqM?Y
zq2LV)PB&}szMuK-$0l*GaK3bM5rbHPXG8glL4FA%xzH<_^Nllq)a%$lE;8=8p5dU@
zC<g|HH}lvgHSBXhg?JFVF1dJr>!oIiW7QZ_;Du!M!bACliHR7f-=&8kyGqcD<Cb2D
zaMtl@=MlGJ^IpQm#dCviT<`-T3O(QA%Dhqktlw%%G4(3v4a%x<?fpGOF^pk at IU5ny
zf04CPOUts%@#&~FOoXDzNA%Q8R<Jk6-(-AO+7mGAL+J=u28{{Hhj9$WhZG(Fa0)2Z
zkB*JWd>&lQXG at 1Va_e1VdY~ajv^4i0cIq^PD32`?8ikvS(XN`E1?rEqXul!&tK_x5
z-hj;iT_6G!X+_<A{Su6S2JyeMgX7{NEI=q&$mSVFI&QJ5;_(X<BV}$_t`xZOj+O;+
z1cUW)1qJF>>+pbFxkv<3Y61_sO*D^s70KDlQT2CQOcc;lFni*&-JQS~;?4aOmQAH$
zkz|0u&DMo1L3G~T+6-zM?QhYHG?v+}ysr=-y1s+Pzk|WucYf at lZNC<2yXp%?a}_HK
z-Wny+L#JFdiGcS2w_E9|255>9xnl!Y<1gw~987-#AyH~l%V4{X<3&LDKcbF>;Q+9<
zi_H<sZcpB$#@eW+8_B4P$cP-2b0p-0Qb^Y$W56K&(U at d|KqeWV+%U4%j at U7q`%u*W
z#)948RTZ0c;<1Igbl!@qiRk`(@~VN9Q$}6u$hUFF#ppY`Bj+9lL3-)D=w;Mb!0z|Q
z;-vkuVHo>EHRRlUFo-Sw9;<76F6juPNx1xPh1bj3+8e#^KPO*#&)<<X`NT~+*Dh=f
zxKF`N;`f5C?nBJn`=oTk^E4gIxs?Pwm(j5tm4LATt&vJZ1D+vMyIws3j>3M~=?Br`
zw}%@O)Fux-ShXoQDkQW6r^hJFgt=%w;Xx$x(RGrj4CwZGm33D4Xko|h$tv|aJN=(I
zI2o#hG?0w;LaEY!Hd3K%YbMP5ocoGb1`FYXX3SVj>SIhTFp!*f6H6TAK>_8Z`4PDG
z at 6j<O=TMS&)t_q{Q1s#Uw9xo}yl!PZos+Xfja4g%Lw*hN0wx0J9jisGG3GrL<w#;z
zq3|(y)OSyMXB4c-Y!ubq#ykdWc)TDYZrZAXivKqLI#nqrc$CMu#G<STS2>{poC_P~
z_TmE)_N*g6O_3exahRCr(J=P~*_FaJNhRC-^R+7#oR<oe(@f$f<#(%3 at 53RUA>1wp
zE{$-_JNpYM^{8*uD6(7#_6h{AOc;`K{cFh(1}BqOo_u?w$FVtR9QFo9L!MC~F^Uyv
z<ax#;0Oe}f>R~(E?&^w{;E=B7(SLEH3j%jj7E>4$`Bzwzgtebk=HV4t9Dvpq(Rq-M
z3w5&kg%B3HaW)Q{KcYkpL=rV}Ao+Pcf7dYjAVpURLZ%8xy3Ur9m2ZcZDWLd=@XOSa
zRY^O8^5~g?QN>8<hsaSFBqGvPUooFcaP&bpl22FjHDPr#jj9M`FG7hyBn<pqjri=%
zlcVUv*PK~61MgGR+!=6Ks;ryg69sh)s*jTrf at w{*m-s23m?#E-c+l#hIztkA*EEQW
zZG)s1EtehSEf9D*Gr!R}PQlxw)Zo9D-cQX{fS^icSTHB at AAp~D#Bo;yG?U`FXZRx_
z^e1B!K}#kh(GU$56A9Z-g}*7|-TB3XPLNfjMxs`YPWGuxnDu!@9epuGCO{ykv8fnL
z2w_0MkoI|VnAR%uNzs}RU=W<O2^v@`T<zB0V at W{w#BDZt3Ir?;knhL%TW#gu+>zHn
zgYwj>T9~3Inp=t2j<FUHDT$mt`kFVpv+)PNFS#R-hmhWT?JRAx at Pd}K87-1}8elO7
z{*0Z?enzBv2{wym38v%a8-5ZJ4rN%Zj-5j~wBYu1sc}G7^^e*+*BSbFeH0Q7hO_=v
zh^hIell$oDV2?a_6^{JN1%(>8xKMY*ORekjoc=>4a%a5CID~sJNj at lqJ2Z2-<V0d0
z!S|<ZrUt$k0VYhKluFwmGxNEQlJ*bc#}ZnV>=RmtfzcLaJvGK-BurRkGYAVdUL7Wt
zAFB=(Fpk at 8<offBCTM7>edlD4`st9gR|!s<m=$<BjNp~A46(&axBDgeVv0*)e60Ue
zRNC%jNiq}tWrZp|5 at hZuCP&$I`w0o)6EDZFisVp1Scevh<OV+HH!EJRdWOEp*U7R%
z2(2hgrPAXHX36qF)fo?$#NZTXQK)-y%R+<3gx^KWLc<GC09Du=yvZi3sF3K=+STvB
z-V>v&2AL%ad^I2%uRK32e4|_<0gb`Ggiu at 4edB(f2ZL@%qanfC&_jQfgQInOr1_KL
zKyhX(TbM4#<C?Q;qSQ?MAoguNza&GPEen)E%9Q}~!Uwc2_JyUtGZUAz=i=CM0!>+1
zSE&hy8=s)(FhLW!;3!GW!a^%4`jpPelBlKI at aaI*UirkLC2!scCQhpc1v>guWR=1I
z>d6hbO9pR|m{#l%uxE8dN&a}T(HKS*l1kwTi5#iHFvR%sj6{bLj7uow3x9rL#hzx2
zNDZijiO)N#FT44E^K-xTI=d#vaB*`bB^t4lsY*?;&=5XvLne$Ra=L_0M at np1B?$IC
zop|YjO4H2R)s$&`qGXx)RE+#`6LnYKuD1wMZpB8oZN+v?SKcS at A<Gulo at 7u*@i7;(
z0&aU4Kweeiq%e4B1XIX9?1F0n`VSFc60xHVy>S{s3O^$SLtw2w#1Ylab$%8cU!AJt
zUSEu66;2G!UfSZeO(22-+%%f<X1I2FM8j;9&W;W7H6X!{k+O_si%9zjz4HK!R0F%u
zx%qDfzkzMqGDgxWG0w81B)ckgsy%kYPLaZfH%9_&+ at 3#?*YUrO7gc&TLn!)!Wt~#O
z(k`uIt-UpEFMbf-wNPR{Z96LP0*qoFuYvaxo!DxSQ?{)kwVgWrlw3jm at j5}oDZD_i
zge)_YuR6VE4mCg;j+u7Ib&o|;;mVIGUOo}eK%;|bJs6-_a}8>ZGsentx2C;<9J1}b
z+<KShEAb02l6rzpnHkOCMlIo~3)(x$pbaJLY)2?^S at _((p8l3Hug7v=XPLFuGrFy1
zIif)dIrALFC1lwyl`Dy~W-Gr`<j0oE+TY-valfO%S4bA`r#lPI(bv2Ixs#05UY at P}
zXW@@s9jxfzrpGnDYaJlo4?U)MJy4TSh<eMwsHcCX%E>nyWL?w!zceF68jn|wtAbM7
z5eyD9CrO|^cJqG9`B1kFzT(Bb7J`{#Oq0%eOc70Bc;`_10^~|03T;z&V-Ue5Q~oYa
zY9nbfuj=Rq`>szFM9`03&V>`NOY8?NHUOfeW^A$Zt_K{G*k%X;NONv(oT~;OoE014
zvnjLgEMBJdXlaS{oU=>y`eRIrqq58+tOB7|dUu)eTB}4QK3Wm=ja)7 at f4!N#%(9GS
z!Dwq0zZKjxM@|l`f at AnM<k%*%EeYuqqL~U7O_;jqHg7o(5zh1bQgDv|p;ADe&@-7Y
zzi21fB$0vbp}QaUfmiwf5=7(A43z_My)B3+#Fn_XBBDF`b~^>3EsloJ?R>z21maLk
za=exhzFbl88Vt=6UGg7i%-})hI3{?y8DvO{Gm|Foq>;R0h}klYs-!uRIxgAmHJA3e
zu3*~fgZZu=lx+KFb&iKq(TpxfT)?Gid at B%WxRSfUVyMo3`0pH2XIJ`^wDW4gc&09P
zVn4g%SU7PYr4g=Qoi3?odRZsww=*#Lg at bMNNmWQz+&0(YiB08bo$VKj!sAy)B_{+8
zjud=vmro`MKG+Yj$r3C9V0 at DAI6#hup`c2fsx0Q$amn>z=6Nto=T at xh<_nZG)55qT
zPu0SUWm&s0OU#Y|mrw5ew*3Js4Y63F!eUJxfc~rBcK?qPYRl+NTP7pah2RY8RKz+o
z0S{jLklHy0*s_%0l0!4c0=g4!>u-lBR at p#={PK1OU%pD3P at hfkTZ7O^@;%I#i;jWW
z2(}ixuvv)tz2HC0U{r?Yk7n9>NJ3 at l%p!B!REv;v;jexmzYgx4{xh6&{5P!+D?9N2
zmtI-c+D_VRLH2w8m(Fzz3tq_QUEh%879|O?ExZ@`IC60{3vbruBbca$UBBM04EyB-
zDaOUUN|T~RQThzs>eoIEFeyy&zEB%QW)hX_m47xKAHv at Bsy;J&zC7tMh at 7?h$42SS
z658s09E%&71~QN4q;J=}7u%{ewmzsKuG{9RvBQ=uZGAkM7Bpw{QWLsmeW3b$+>xt1
z47#>6OxXA|#zUuh(!Wf1ZszHIJhbF&N(@G;Vlr(!@(up}g<=Yhl#=RD6mi_ at 6T3r9
z2%MS;)}O(O7{tiL<&RwqH|*@~r#g-6Jl4s%z5Qx?4;s<f$(!LcZ8sPD9Dzq%(#h*E
zRh%qcJVa1VoJot};%j1pNn;YPrXg17YrTE3hOptE<*@(9Bl^saW*Cyo?pZK<Jsj)`
z!UtjhRFesK0b{)i0+;MHo2XuZw^M14x?@mGm0ET7l&tCs9^O7If=u}0NEPE64 at O@M
zKcsbT*UWaL_!Uu9lPp#eO2r<-LhV8u0#K7CWzfJoW73i^OK&l4K|<k*Y)ma<b!rsx
zpI<YJAa62~vXqmuN3XW*jFhoZA~$9lFOD$YgMf6>)xR8Cb{9vC24izJ5(Hx)?VmJ1
z4fH%V);$^A4zoKk;V{eWwCIAHLy1Z85oHLfH~u0%u|!*}$Pyz at 1OCAMV9J<+s5zN5
zR<xLC`$dr;89=iV(WYB!g@<5k=8-d4Pi0M-By->ppW4;8E5k&=nZ1+zop)pE)B2@)
zGeVw;ZA;<6E+IXz^0IMbivPgU_rNm1u?D!eH0W8Itu~?;W6G5wiIJjHKf{!8iU|Yo
zR6L~+jKHi_c;X;}H4$-X9~hOUv%aK%74I%ghM#xIKzxh02Sx-dq;cT5?95AG6$(mK
z36g?<<u!AL0O)_0l{9s;==-*pRgiQhQP2W5l*Wp>O1DGqW%jH|?#=(~(92RJh(9D-
z5ZCDBS#8CjWIE7<F+Nv!Duil~mN~G)$YsBwxG at h`_isN^e0JQJ67O}TS~5Pe+uie4
zs!u;7a`KINq?qBpHBDB|sn>M6T<v4PA^mk{Mkqy(1;m<j{jR!a6qCXsH`?=+m|#kK
zYysd2pJ1C0HR at bh9W=X7-9*`_`Vhbn%gxZSRO^)W&X~uMx7zZ&J8Gy_8G6YvUrh$k
zqn{nsJx%uyLExodj}3jMzf#9l4trc;)qWwHb^nS!SqS}E_lk+~HeR>Fe?(}fUs)}5
z!&3Jif1OqK=e*mD+;6Pz at K)5L{LIS=#1+^GI at s6}g)R;-Pu`Hha?{zXj9 at FL{EmU`
zo>qG-2-nP#O_xn%CI>yZAhY3CnSV-^SwEU`M1*FoHhmP<t)Oiw|CyKdBt<Je at yH#a
zsvGc>J|9px<Uo&&RV^LRmYy^{Fc}eZ+J~64?QRVCtwGzA_ at E_%`ExqUPjjbF<Ar#0
z=kzgzBP?tW%pb6!_t^sIlx*w`SNr~1lxLDuIKoz2F-ZD_D^m^QtLMM#W(dyw09q>i
zR1B<~F>3jdKzUrl%nR&zGioW?3!j7hjeJ~w&l)260o5V&jb%vbD(E1DxqR!0(yVd$
zaNr{zKgG|7RxESCxw-U{H(+514?QQb(CRIE1C9>>>W>}Lt&_qKmD%t*rixAW$I74Z
zuf(j~Nus7b`bBTZPJya_<U@=GR&toVrmFALpUqqL5&!0ZarE_fS%T~zv=I_$9C6^T
zQc%AL(oihyOLUq66~-<)TXx;JL#pZ?$vE&H!uN~MK<ufdmZboK4pX_x9W?<8Z(A~|
zmd?Q*o7u)uE?WJZ(?jYo)jf))ENtjaysPtbYVk#{`AdQ-$LR3TxpNmJ7-kvNS-V|#
z=z$AO;iLDF>sGW_k3*9J);Ei&3odYxRoB<!x*zkq5DsqZK0yD&i`b@#L)St4MYCet
zH~Nhk<cu(IuX at oy4-gm}_0gx%)ZIx#R-RVtMjN!PzP2W(k6D>GiF|TmNGpygVQ at cF
z-ys0ULvdS!TA6q(qxO$Txgd at pfX^8{(%|rc_68zI*}jIM=3X<yc$Y4_G~;8tR6W9k
z4<YFfMsZh#ht7Y`dJWidHz`?b=5xE^${FN*N!$v2bP(<kCuOW~5F&qQ=WaQ`>Gmyt
z-dknE<N>{TATuqF;vwOPyLAy>@dn*+Rt&s7i3Oq*cGr*y_5uIqJy_m-=25p4^2vr9
zkxu?7WN5$XOz1$}ihgaZIfbK8H9L|VG*6OHK(+rfXaRtk$cA5f-ZRwEW$M>*+aE2+
z)*x{5V$oX#zXP102m$8Rb0pRRCF5Np_WFQs8{u&FirH&~rS>Tv<9Ixkb)L6FP`+xI
zJ&j|Py;qY*5s-Ht$*Db&xtj$AnUF?!xi_dR^1l*{T{e at vyhnrxqUy^)pEF&y!Ac$&
z)P4VrFe~B}kypV+yEnSVY4Shz<<M*S)S2Tj@{Y|gj641m`=)1!je})|O3?<Ygs;E@
z;*>s;6Xmhp=CMftbF4W)0DRED#2Z3i7 at 7$3`$$E0jg%2&I{W6vPekNUfFq<18ES_O
z=%{1M_ES)D4=RKNsw at sf7hTNQ+^`907!ujYKYMf93 at 2Qq&`cEiLXZL#?c>>=M<4M!
z+yRbglbRcd5C at i)HArpuSD!1KCsSi5*4 at uYK->x>{slM2WUoZz`)q=suoFW^ory;~
zC}=Qw<Xjz+tBo at I_e78yF=SKciIm*XG9s*q+_J9#G}1k~J$bXcX?37*DUtweY>h?y
zeQwJP2QnOpO`*om?9RK6QT>%=CLDIS%LW2Wh*vg~H{)z@{L;G0BndFCWL;)n3wr3}
zdG|PIVHbxkH4ro<?&(TOu>AEHYvN2273e)4_L#rQi39#s&CepSk33Tn;LK8dtz?Z<
z^Kl0?u{VD(`UYG(Hiv%W&QQw8f*YXQn+dvt at 84&z<NAvt#08%&ABXr;(Qd%xQ&Auf
z9>@Z@(MWCQsM^4oV{Q~5A=NH#H2%U-L(n5DJkCRdLQmc9yohK&{(&0XG52cnJ%l68
z_8B!BjrQ-WDwSF8EbkC~1kQklYO9P9RM3wvlh0O+iE{iE$<?0poxjf%X$LJ&seDv!
zm}~=J1g;*-dkp1&??}Kf;O}i78Dy^_ez;=OyIY);XDK83K5!Bu?p{~GVTKu{$)IIZ
zCc-jlul at V$eMttFDYz!=0b0rXfnh~(X%yerOxg>Msp?)9u~n;|5wvQHRm?F));A*g
z93ZEeeID|WKaR-oc$)49ALNK5*6k?vi^>v^6fjWs{Fvs^i+!3Iism6>2h>4xP7M9+
z6E!$A4WR}jZyw|+GffT_U8(RIa{VCABcjHLr3n*fc85(RL6lt<t=-<K*$}HU&Spra
zMU<^A%Eia6)VpRXPB)h$pn>={Bkg(ev61t`ogdf4CqAmDY4-TkYWG;kIW&{7brd|@
zG772UR#MYHO<pBUOBz1(7wj}s5xGBCdB89WN)XF5C+Iu&S|wOxaLQu?Kbha;TWj7Z
zx#37A=#>_kj}!c^O1%3Ac$Nzwo at SOR<md=C*V~#bZF*zl{N at gVe0oSu7?lrr2w?Vv
zvz`n8y7S5P-6&}1O1hKsl24Bn@?*UJ$fpxYM<uv{g}Kx6yq<&V;niry6zhweke&;_
zST?gsd|8r_sgKm4n5AA3fVx}&PnOt39qj*gRzg*Kz+9Hc)MfgJ+6pv>!hn=xI;$$y
zGZ}0a>{Cb&!b)crOGY{UP?uLgNopo`fu60``XQAO|6Kox3)&V_mufTgQC5yFL7(Az
zP_091ZNY2aJ^Dr^D^}{i7#3_)Ul^*=GONorb-GkCaXDxzM;M_6HZ(zvXcTD^EnZ7z
zKL&={RURGp5M at 6s-~h7t1fY3}ECZ^1QEA<rdu0L2)Mjx;JHEc;U%fD1LaP+tjgOE=
zhWJ4oaj*iMKvooI^ncI&&)G4kNm>|e;rqmcEdG60VW<DDgT%5YXf7425By<wvlT+i
z);(LtLB7#$I|~ld+Nb^z3lpuVD0cX)kJBZvqM_Hwm3)07dF$%GC^MN*Ft at X{*I>n7
z#&2$ZTexRwsIX`92m=q^ig4oNmdVfaSz<G~?}BNpTIQS`@H&p>vT=Z0C-}V@`RCkk
z=TpDd8lH!BYyQO)4?o2`t)J$GX=^Wb*3W`xWb$R3vd<8Ifmdhu3a?C!#U7O!L?7M%
zHqMYi0)vhWxU<dfk<(2+_vDlG7a^T7Sxzrc!t#O7T)4GeVA8RFnR9WsU<TZ4(AU9B
z_=+f}vu}^K(K8=1|JPqg#3qcHzp}7=akZS?SE3Tux7^t7yvQl2lf|+Oe?}uvco8go
z&{9{#|L(r3#d(CW8?m9Kr)jvc7EP?GH)*mN?GzRG#y-H*F|>>11YJptkx9g6EeCVE
zHRxF}I_CP3xC|t0FoOcDbyVY)&KO>>;x_6E(xl?=<fGwToDPD`dW%b=uITDd_$b&E
z-yqlyNcp;+V~e&E=VI at OHX&nO%lk}^Aot9jj!sFB9_6ndJk#i$9-}j7c_EJ9(3B%F
zeaZ)%2{XN#DU6Low|5THW|v5d2%$bor+~8!SU6-c;YZ1txVn9C+eA{hnw{0<pl(){
zP#XaZzjL*gm7fIk*8}v2;dR?5K9By%RTf9N!e+6516y-A=9Z`?c88h6^}NfXH^3;i
za at 8FOvcaAGYtX_nr=e`(MDZQX=L+1!8R|AxY`(w?WP0rXGeL6x7xs~b<zKG+zu*7<
zyxXm16L-{- at YU067|*bIxUKp^tpJSxWjGXo=q6 at Zd&{>LDz`YDfw4u`Tw;4`YtPT8
zQoR7%yfg#niV6p$Q&3KzU71u;N$x`aLtzKwqQsHIsk3$Ui$TQvn!xt#V6(R;e#;IP
zzqK*f&-dZrSx>`@R8%!mai^<2FUhm9_toIxxPVK~+wC9IXm>?u+d8r~opych{dik`
zSEW_PzG~`Lv02)?T`5G_m~j8MjQ#udfWdC0{&z#hKTr}C-;<w7E6uC{B$IkJn3d%a
zheF{bYe(<wVBtV}Z`u2+5;+46Mhupr`+y$VB at 4Y0%QGBqrDpkLx*v7 at y@h)}WxMHl
zNpXHQPH3a0V`+NuZ}i7nlZ#W;R%jV&O>LQ$yFDfWsoP!uj*(mI-E@!H0DP at J)<ez3
zYo+DiB{TJ#o#)P)9#WXW#`X8Qo~+;X8A`{~s+HAEi5M+*gWR2$<BKdbTaxP4l=ddj
zE1YQ>>`W)lJ-5C$4BI8$w~E at dELRD5o~tsPwBt~%ub1q*N|S!y*Hw1sFl*EX0ReK$
z$S?m$+z5?Lg}9D$29?H#TBSuL#et7U;K8lFH>pj<{ccHV8W_!l<5 at Nt)O)Vk25=KC
z=~F?SnAzmBDiCcSy&4tA#1Ts^kY_Uv;gCruRvZ54dr5gZFT72&Bzv=3`4Ci|UXe#3
zgYF^xMHT7z`mOl)xD4a3jtl!q$NJanl?_>!>St$IFT{qOMR;=vCF;{;fn_GDQC?`r
zY%HWl^%UE)Cqfa$!V69lcD>y)3EVXF4)5su6^XP6#o-1-Qu8^)I~=h at n2?74R8SRc
z!fbBD4eOox?Fyj;Z#iD|#k28d at svel>j9&9r}p*L&WnQzVyG?x7mmjOdY+w4;cnrB
zAEl0a^hI<5HHcbEQ6-Z7x<!%>gH2q8U?YGh-J!zwmMR9!T at bbY9-E%gbF8*>3 at iU3
zX@}>;joYA=g7(U+N-w!MRN=p4qBNvj5OW^SiMrV5cpsgXw{A}rT#CX$BS2Z&wf4EP
znA8DWj$I;A(!F5`oir{^6&7l#M8;7}F1c=W_;5^ty#UN;<(WD#6}N({3^EzTq7$Y9
zNP6b_P~ELnpw2ZnTXV(F0`I*K8Qb}@4E at I@WI}e&pX!Jvq!4M??uOq|jV_9NB>T21
z>m`X9G{;7v;4-;U at DXiEr)r76$7$|nB3z7qhK$4PlOzRN;mW{J!?%p-tH|@u)$M&6
zs~c`s!>_?%!@g8{D7bTGV&*bkx3Lj{pCW`lmYa4HqQiB>^9_g+YA;6I>aXlY#Hr<l
z#4NQ>Mu)bSlPrSyzZt~F`M=36Qj<+#l|`>eg6w2m8EyCV`3Lm1-}pij1%0LLOo}#L
znxsZKOxiP(!*VLHXE0eht{&a|@cw%V)j>8UUt#A6C?ta?sUh at 5VfS)}WP)jIWVaKZ
zU5qjP_Un4R8Q#TC6D6fCV21aHvw)t=Zu<ih=^>YPyr<z|tK;=+nvk|ti5U~$y%(&>
zqriuBQiD<AlY~`<7(_JoV!liaz({>RO!QP-Djf+WPod77)aE!Z4bz$5(F1{#uL4c9
z=X3=~&zkZ#74e!&P#rA_yqrvC$}>?WeV}C at c03*I=<F{Z5`z21k71bMytjdo0m6b}
z@#glG7>xT9B<(=BKJs_KSTwdt9NzQPQ|yFnE7X0_DY#c+5zRrr&_-duw0cxl&;c?I
z8I)xmP13w}vn|QwgCV&UltstijVtJEv`JP- at 5ZWkkY|sWies!bmsc{|Sja0IpA5ka
zBrkIyLwizvqgT0KCp<BtWpK$l%347vDg=dBFC?`Kqh^aj7Y6;0IxkLJCo%OS?pq5G
znBRSqH6em)RQQmRbVLH#*em!Uf}Lbin84-vF7W)oB2|{Y9lgpotO2%cm|({<vpMYL
z(_<F at q{1ofo^Ww<IRNw29Oq6$`T%Q4^)f_%2t?eQi8SnWWes0X+0MDThR`F)@gfF{
zW at Ra_q+yDoEh_&Xd)S_14bI`robM-1x1Q5+0?2xMSk+AjP&>qH#tJ%|z4;@13X>5D
zKz<^np&)!^(xpH02OQp!0pcC>ChP(CTN$x<;-&Lc+->2csYskUvM)p1`Eml=P+uy3
z!T#DoQEMySCh2%5AYj0yd3TkP956V*D}qXV<v;nQea*9>yyg5S#SY;-ea}~b@=t1z
zif)b0;v&2>25o-t0u%x*hW?9=z5up{lzXVvMYkTgKZ^i=6>;ej(qT&6kzd<`>k4<m
zmqt8U*ON^;x9qVWlGpx}uh6O%TJQlO&vd8yuXza~vPp^=hqKQyvNRD22J!4JJ^PH|
z{F at hFMg6q^W-Snb^noL2<dh(nG>jl|VJ70Rrp1I?$T4s)ED?oJb;d50`RlD{0V~bG
zyXH{eRqr%VZ`&O2B at aPuM$RFAP}vdz3WOdnt>>=XHz8s81xfXRA$mX~uO}#~5LqK*
zhC>lVA|-A^wkS{igGvH~lovk;9$Vg?*K8{I4!Wm-q>wHXI67Vbs$Hd>qUu7WOotg6
z<t2kZ(hm~NSy1F>=zuZ$KFes4o^;T}uqS^JDY$@K^muP at BQVC4xOeAg<)xj~?>~fv
z+GrvLwldJU>KJ(#JL;g^64Gn;34ctr1s;|lrVO)CJ;Ic${n-TkQlHH2Lr3^rcu7+=
zBUY46fBTA!6&YaXS>V_ByP(~1EfB|n^ql6I$b%i^b(%5T{lpqjSK}wf0Idv(fQLQg
z1YOc$qGzgOzZv}0Iyi>rD~J*5(%zTjd?T^mXg(^hj4$0kL5X&jo24oVmCYV>dPv4;
zagvHr^vQ4ef<rhzXnz2)2ZgYN(Kju`wyuUSr^ZlUWA8NDR6-ZAM;DRz5VM{!7{K3_
zKZnE(OWx{tdXtSRSRqy1sWmIacf(%vc_3B;<ATO=ujJY)Ar(myPjyZu727aEK(T`g
zbn$lEZKmi at 1k?2oXHkRhBH9u=jTQs9LudQtK-zNSYSUWgjMp6PAcPmMfo1AQAcrvK
zJd>fGpFLwT7%c>XfdBSZ&`(<#aDG)PH6P-6eHq3jk(}!PLH{^0ug1%-wx2-U1oqqr
zg67pQ_j9EsB_uZlf|~8zVJa~~TMSUP;T^Nwn?32mNmA8QLemg!v%BghE+>oW>#RL)
z>;IU%Lc2Wyx}ThcOz^Kv@<`ZYrB{TMMpin<l1AIMt&qY<Sa`Tq%Jle1M2Yl)vU|vi
zGTrjbGgW^<0NRcBvaL&qK$eYyta^h%39TWo?}*QiT+7u9k<@?~8k+0g!Qlo+95^66
zNK4SKH6bce`$!xj&EN!i#QNiicyLosjwkl$sRb<NuP3LThm>+K9k4sjCc^lORbNe?
z)r^hcjJ}-UgN@)y+)pq=1Xb~edu;b7y@<E<<ZB7oqGcz}H05)SxZVpeV^D!!%D+b4
z7dn?A51M}O?=<`MFyf(F8k#(OMT`f>_n!oNf~%b)umEl_MM#kAYS|JN5MG&MJOPnL
zP<2LQj3Arz`$yBpPFEvpzuYl?$J8<|rt{3*>hSHci8u8C@*Z8ZA72a_ at Z<gOGCNFO
zXvMupuLuF~`!4G7<Jy3N;=pIL$zQ+-b8hn5D>6vdJI2FY|iT`s8kgoTKzqZ2DnI
z{LM!pg5hzbN^O4-W0bf+ZcRD(G<(=U=8mzNbK;emsEYgX(34nk at VGH9ZmKTt?lZU1
z_Snz0X(3im&few07100#w*?1~Y-0W1gEkVF7|JHh{azUfjP8>60L)G+KS4rlT|?8o
zryo;LMGYS3H((!qrOsmVLGIk#9Zz9On$z|P3O%@kI!SgLrbPVJPEcgcjT!2F-K8cO
zwp|o*@QPABe|Up#T5yNjPV5W$n^q5VH%cvkZf&{k#9j9Zkpm(fvm3VRuW)nFSEkVk
zBdRTXz<9?<W!tGhu0ZGI5S9F_808p;%I;WF0o1|Ee<hJG(7<Oeq{(&kKrtcjj%l;n
zLa)oXR;b&;&O?-t=52q}IPWlACRB++3DC5^*o#eO+MSSpnrINS$Okt<(dznS*K;T<
z<s*+P&IvbVGPB}{JlK+FER*Rx0(0C{HwHc?%HC4X$mH0R at j=9eIWWhu_C2G-QS1wW
zwXH`tbea-f!+vzn896qM5TUGIp7C62eYHqmE$I})L=<}vxQZS<Tn-eVi1q;qK@<md
zwI2r|;)MI5bfv35Yi$8+U(dilen1cDsDJVwUayINPQmxv!G+qzojBYf^!e>Ou2dt8
znK=_K_N1}vOE&Ierblzmr71#ndj)lr{@r372+=Hm=<t3Cwi#kW|85{-emYW*Uq?s;
z^?hB{_e^9L6Xc4XcWNZh!bDy|iMyESS5 at uzB?BR2LR<K`HRiZuWDC81;Ef~|uZ>9Q
zmf3zBn>$dH;kD7XP(X;EbD3bCx_bHh`?w5dY{4L>pH5&v+!!_k5(A_B<ZqHXg=~g}
z2`C-UW at D~Pl0GpR<(C<Db03cp&si_WC3(Q$3@!DVUf7%+EF6?ByzfXLymr_H)JM(F
zKmm>hZC*{hfHQ&2vnG%^G9-Vng#a>>w!WxUHj##{)ar9;_2>n;8r{xw5YTpZP3pB5
zhvftz at zD^`nxsfO%n*#9%R-e(;&x?QXrWfgSuk*|ubPH1(H^#2jVMax)trO^A`?y1
zuI07s*##iFvctMrwZ?VUd}ltMp(c#{L|v+;f%*&W9>Mg>6ZPs)<xv#~-^ewm8I;%6
zj_9=xw75)}iTzH)W<V-ICNas{qzto+h-58|Tw>&q*ptAY&%}Z7TQlh6deq1Osaukd
z`RajS!x at p^Y)Z at S;V4eL=v~WQd%WDw&*GKTO7NHuf{$BnIvh>VvT#AfNQfX+NCjVM
z6LV-xjTejv2FiI<RTvS8j}`D!YO!1Y=<=L7GD0219=Z=1)-m<l{sy_x5l+tPb`a at R
zEo`PXQ&G5_sV3?6 at sfbWMmum%5?SOLtO5LjQ&H;z)IdzfHr8I&_=3Qyy+6moj+2Eg
z`q_9GnhqI)f#^xD#IFkI-Gq!D5(j@)ym#>~^(f_~09y9Xugo*cQ<Ih>^{_x!p}X-z
zHfm;6+Ha6v-}wBjlGImuG=jE%g at Mq$;q*p?jEst5w`bo`A72Z~2ClbHuvwJ#$lk*Y
zV2MH|CV|Ui-cJgtNqdQk^YbWN>l5LPSX9BrSnDKdj3AVH#F2(Yg)m2II)heo#K8hi
z+{9TY6zh>w0|vxR!pksWq+ZfR++Xf?N at dn<BhKD&go;#>Du5pjdTOMi$7f)mAIBVv
z=+0uagzJH_AN7d4i)rF>JRQW=(j5f?4B)v4a^LkX_iYJ0AH>GDI*ho8TAhq~y--~B
zEM`&&$1x68d0NLAo)-zVqIkV at QthvsXArI~w*l)!pKV$Y;0w<NMh;g<xZfzT(>YYQ
zFiKXlgX@%Cux3R<#Ef0KaIhT9 at P6_7Z8MT(NO!IhgOUoN4LU>qf(IhtqWTkLiH00D
zRQacaPgn~Q_NXiOH*DVY^I;yf<qVJkGnKEWs>Y4qd2p}Na7>)FA4N;0--eX!yG|q2
zO+ArXr#=y(-WeizHE`l!rmo`p{bOzxL6G~m&Wb>|`h$^3qy_Pf`e%LpK+|=3hn1Fe
z8_b3?);u?9zbqnj>$q5~l&_Jo at wL@H`<{_xo)`^<Me{IP%+5P`^KE;rdW%xGE$dvF
zI*Zrw_RNyKW7Ek(V;fa^BWP;AumkOvE7B72;SZ~hQcL^iEV|sq^}k=MRd#1>djBfL
z#$1G-)0*1;2Iy|kg!#N?;2{wKl%D`0Jr^&jeHtyrek4xKoJ(n!>i2kaLa2jre*I|m
zB at iKKhK!(4e`^->D9IY%Q1*^iYN<j<Su7 at FmEJ0B68z6&Awn{Pu!1 at 41q%y=4a!*e
z*N4evY5{G|0sYs!n$)`6|1#D2FIEd?cBcPtXn$GD=6|?=uN%FBaS9!yf+1YNrX&W*
zoLKIdEb^~8Yzn8rq;hUH6c6GGj+xq9dW^kILAOLXmyHOD16U}1%+6W9&b~WQ(C at nt
zWY{FhRLMs5TRpNH3#ZQfsN1i%z;{;~^ERC3kNfK=e&63uffQ5ZsSG=|qdMK&v^#XY
z9h0}6h3%S>RB3N=YBVK}_f?*Ly)?chVS0KdjvnPJIvQ%%%Tnng<v%gi_<KG#qtxu)
z>zn6fXgm%?gfA&fvr3|I&y<R3=Oaz8PLu|tQ_v<GEIYgY$u;*?%O(eTWq?{MD(+r>
zXJ-vN2f+p3&RhIx7-Dh;ziKXLE4$u^=b_WcxWaJ1GQRDZ>X&pvZ at 11&*SFDG)>f)$
z*oyaQr$t^I{d#*sHFR5bQ1M5AgYP3mmW$0SB5I3vO4XN}mDZnQoPQhCB~yU$HuVRA
z8q?<wdNl&V|6pZVlgt9Kt=p^*cpdA at ZFIex3mSve+ggE`;eT_0z3CqvGc+Hpla|dR
zu5N!scdGRjy){0(DgUik at zJoEaM>B|u(xz%?ptP>ETpc|@^s8&7Y&gukkxAO3oXmg
zJ)!HixvcA;G(IRnCBtV^+;|g}NHX!tJ2d{IvA$4LI<~s at u2bLtv(a0_b?IQ_39e%c
zvnTJVW(@bOx^uGA;q+g7&~q2fMvF^2h}=YUmI4&bcWuE<W4R}5%TFcXuPUm+hvGb~
zLcMMUP^UuwiF&ClQ8!GAE~->eug{F1O#8Iex%=P|Cv4=s^bA2(<)!w4uAN7_bcr4=
zy>>t5`-FZptapzI^Kr<kqWsJi-rs&L>{qL7cN`tud9)Q!Z|*y{W`6Pw^Y(V425J)G
z*<=-?lTMc={e_QVTwtpz($_4fFt4FXC3F3F^Unz*MRJ9{M&YO~6u!$7*GcdO&|qk7
zwFE(|O_9VPf^qS<XdNK4Vjm(##$w*+C{{M*nCE5JN3N5^E%z2-Yd0qJx&6+)#Ok|~
zMPC8RUo1Fs0p_PbPF&=wgV{b9<zN-xcsuYKEnpK!jKL^;WiRssa?cAzrj at sP)%>NG
z!$05bl21E7;V^2D;QMwO;))8gn=8m5P!&2D#F2lLuuiMv9qf~A-ejC8Fntc-DQ1k;
zpE2<!23UO;B-xe{m;vPVmp4hI)^elFv?qz(x+=CjqA|MnGE~MmK?Fx+W=``!<+^)g
zRG9F{mc=r;f at S~Qa{w`NBc$~wkJ~}0Qa!~lpx`0l_}wqQS5_29GAYQgg|}Y>6jk4M
zJk;Cf<g6bp?O8|nIx(fAGgIt8VumzY%-)Sz?~faVu}6YE-UtjML%L|c3Q~X7a at a1=
zY<}o`n}eTckR>M{U at m<_L}vN`apmzh6neURdb;fGg((&0&2-SRP`4DnTLLH+%UPF=
z?&EvWLa!Npl4LRRH1&>elC01)9e|y^=qeBfNPljjl2yPh&auhrlZ(Xde5TW~{Xy|Y
zd#u2`)mi)$V!EdFZhiS0=I4#bgaKPK4{`C4Gzu~j9~#rAML$u~v76BHKS(FzG6;;y
zAj3l7vfIVxaHB3&Z=i5&@uj3wi(C(BfhkY$O|90}AP;f$p-RZ1rU52|Cj&ixAInS}
zDu#p0s_BRz0Dh5%WK7H>jZBN7!<6rsKtjx}yjdT!0zA!jvg&2l5}xm|wrV&83`&>K
zV7?vB;@h9Cm;%i}2&W0FH;d(J(iH|bguu})V0L<_5(G-$0uJNW+Fhxm07EQN{xlE1
zI3<LJ7cWUGnwL;KGH>AI38kjSwgUpz6^LkRb>H6IHCZu(UT9!MJWN<}Os3J^bzIE&
zB{G_vxU^&YV}XkrJq+g6HrrPZ^v0MlYm2m<_GH_lzsV=s{K++ZarQIG)oNQEs77rF
zbjoE+K82cz2hh>>D0yyNAJ@#{2+pETOstK=1B()}NXgAJuvK~B-g~GzXX?$cI`q0D
za{bdSa}gYEE_M)09jVBbIOouMfpwMsJ##Yda&I%p-{nilihGVi!H#L0F$)0(_tB<c
zXwX}5ki|rZtLf#n`WY at 4?Eoy^;8*1~N1>f$I?qBD942?}N=lJn*kpqc55M>$?@9$#
z(%kx;-BI}okR^DQN3vK!hnsPI|Nb3XqVeD>K|W?I_0peiK0o#GD1NXK#8{$g=MLGL
z;dvD%FlNv``e7#+lK>EpB1p~!$?on7LWA7Yc}cftTPrVHg8dx6sIgWlkkvhM9jN-@
ziV-J_`%s1+qG8j?XR9x1B$pwgt!C0)T_ofQ4CeY2mXVtDbFzxyxIWLm#2Yc^(f^e?
zjY5+hQ>ppj{cd~4S7m*M{M!tqqQv1S*)VDFlXyqn2 at KX$1;mOls3CM;yPN~H4yg&&
z(0{bP=rN`n^%3P2=aUF(A1dkR=cAW6`I8FqBwPJDsh%cKrMRk2z^<I_hC at uxlpS@4
z2S$e!KxSl=ERcSoSWI3y#(XUBaw$Ik0xzG5ZeN2NG1Y=ZB5B4UM?wZiOFXAIO1A{3
zO2~5gN~$7LVR5UL+B1 at qE;I_ at LyIF4<$69ckjfh+2XA3a4xMOI-{K37ZdYeUDK);B
zATx5d7nQ7tsU2K+l8=jn%MnCiu2x7U*D8gq);#T5&F6G$?4L+BYo=2vld-R){2WS*
zV)d!@g*}74AF=ECym))cQv2 at sx<Mb9e>2aQt?Q`#ML7-6nuK_lpzHT=CLthUohU2g
z)B>`TwJEH}-Pn^)=wvN_uKrSPjpQ*Lye1qbIBdd>CN|HS at XO416NFG8wc$bUNLF0U
zg{M~m4{{<`2)jR2nM~#cW3nf9KB-(KUF7Q}T>Yl5EPtLuTqQ#DOO at qGLjSf0vTB#K
zo=SKgC2>pRs;kU~?%#IZAs5Wy*)Z?Z1Hr(}pWYE8G*=DOwhsx3`=c>b11%`p?mwew
zDY5yYqG*E+u+`+Ku;EhVlqAl))SBp?t}9P}O%|>;jK#u1JE%uC68~Ez-%W_u{xKdk
zn|8ZBL&%4Je>3i`?qaGr#rCgb4SNyaV0t*v$}-8|0B?j2 at 67nwbkI;B;YbVVSeoKP
z?JDEtD3(Yqo;nFHG628bndy4L#x2$4SFMG&RZ70SWXoPuDE2H{Pw(&p at yQB2b=ND}
zfAy0b-nWgaAc=6R2N-6&PDN3o18~2T0p;ue<TX2ve-R923CiD6d1#zpp~e7=X#<~X
zA{`KFgj(n=ve2BI=kjNVZ-ttFmbHBTg)ThK>d-o_Vqg5&A*Mv<?4wd&yL2e|Ka9Oo
zbS6>PEgajnZQDu5wr$(Cla6iMNrzADj+2gU+sVoIjsL$o?-=K;`&}2Sc2(`U=9+T`
zJ0&VZ8?@<d9<+Z!l!x@`dE$y-=_j<M+%DU>8bk80&8OSHv+W)%nqj*4?L@)qc+N%8
zKl}aZ+YZBMF*^4c{^`+*GH#{!Sjp4MErZ}@HsU4-JXkl;RWLVfrwgx;SW46Pz3lzI
zq%;ZIEL-@;7?huN&`6KMRGc8ga-YqSMFyZl`7)p~kgU0x3<D!D10?0A8c83jhWVYk
zIDf*XGnOP0#q>tX26h18FQZs0V-^`V>Ix^!-BuFIh0?J9QbIvxa at zIqx_&WtREl%D
zb#(_C{wOF0K#6{AZ9wi7b@{_CHNST(z<C4JlgAoj93We;qjn8a^<zWD7}{NBB=<TX
zx039|P~zb<X{;AG(9^8`ctSy$wQk{8%+`@D4+Foe9sY)0fy`9M8u83m_NQT?i^!sj
z$eAEca7K+Y`zY5SPIZ=*b8K0spkuog%8C}%#>Rqa;~fEIPmbbFhb*&d0HN~)nw%_i
z=OMSBKynJ<ONpo5 at soMJBoHZuZNlEbr~a-6qj)X(Eu97 at 0k#JgMQffv)vqV<Y02=m
zC+m{Mg)Hy86JJ_L_5RUTb9V&FPeBmPC{8vQwKZ=Nxy^VAodvgQK9G5l;OMn}G1J1e
zc+Y%q|8Ictqt{OXx%jltbiRsM$UeJ}OQ3pi-RX!h{PGRdn4SM7G+Q1w12RI8f)~~#
zEvy{TmuwB)i<exaYMUMS5O3905?&^-XUZL4dClzw10M(#wd2bJdC|Oua^CS4Gap|j
zp5ek;zJ<3i?+@>-l9B+K)csDP at QBq*rW?QxwG!Ao82d!UanSUs8^;g=40DIDYfmH(
zXFi+s{erNM)QAXi?hb_ny4=F0NRrUQnW&9M*&0$A6A5 at HxH1!LjukWmbr0b$`G_nr
z*lP3AQ#UJUhmR>M>+r~RjHMi8C!3c0vb&we%#+M0rG*Lh8c<;G9uQ+fs+-V&Qzve2
z97GmnIQ2U!&==git95o0^~flmMIj!rZoV^`kQ^&EeD%b1DJnKxOg`8i*AB at 1f{Y>F
z)3DoHm&pdXDGZTEmTWrYADOWoC3}*AVk(c{!u(UYl^rqzc;A~w_CwaAnv at Afxv$><
zo=QOc0`_ulZ|*tNL+mK~@RJCnHX-#KfDO(cy0<jN>u6kXY?1Z!ZSP4}GXt7CD9mJp
z9xd_MHqBd5^xQH#U-euQsPWXS1))#GJYVFJwl1iA6}v1{)Oa9Q(L=CcvZzq-xL>E8
zvHFuD#%DVn%l(Dupra0Qs{Y0}6w{Npg-iKXl65x2AB6GcC9sUQJ at TXak^Rn%iupo-
zNXtm|*2 at QTI@AtCv+n4}!K2jLJpA(Ol8bdHy2*UGq`7Zvyd0Wm6HmLmUT(~pa_7jD
z>jL5mOTX>wQNW<f7bD at LeU}l)Re4Ddc`aPGGe(9MPP1l~6*3y1o^5K4psn)AO)!n@
z!%gUgH`kwZZx>qnZ4gftoe6Pr;rQzj5GsE(eHj-2fNzwHbis}U*&=hl5sG~T$&j}f
zMDNey*TI)w(x=`TC<d}vqmV3N5HA6vfz|_fFoFXJvm at _7#e^nYn2jt7i4AA+_z;Al
zVSERt1T at KF>)tgy2LQifaSjdIRq~*o>3ud_h at 8%v*d}X;{zCrP+36ud932xU;^pNh
zTB35B382@(SpF7-uWiBozu_%2(|;1Bv;2fH{g+b<n>soP`)%m{+XlN53b at VP1~3oA
z(4D{_WRjfg<z$+ccGI!SI__q?UF!zhE|L?Sv3zOnTm-gE0Lij3m;K#Q7f&Nrm;hVz
zmnlu*8m8vMBlO48rA at l-9~u)q<`F~DX|C#ZdR-&Hr*<(`X|KYhxxL*^*+HY(;Anfx
zqDxeNlP(m=<?%T?EXDfk(!E*dm{4^09GCWJ)Y*%w?eNRIAO6t!@6fb^Ltnt-OgrUP
zG;L7{7PY0`dvMD<RuLA`VU{9!$XH(s`5XLUpt<)5mXoxTZCj%1t2<i@)x;otQ;viC
zq(_(ayN_jwRd#ym5SBXUYbp(nR2PSpR0rSO<^_Pjy|>2hb~`y3u7Y`@dnedQ^*Vj~
z#1@>eFJCE9Zd%}_Dm#;C0>@Kl#^3+3-ZB(H#++P9*FDZLk|x7lPNqe%)p5z4vjnJl
z$XP?<jppGNrSmDUp5??e+;vYJsrDC2ZbxINNU9Uhxb_AsjZ;y|Nu_JA1DHoagj5lv
zW~}0hS}~0Vs4P0=aw&73B7~(Zhki=+^|M|CP at l!zNbc{B9fU|FR-M4sTw`Q at AgcHX
zJbJq$El<EpaDUlx-?4vS_`s#zf)o8RK!^3dz=Jm at lk6{>+XU{((jZ47|AxetL$q&l
z>hD#5k9-YoV7h(#FBg9-Q+o2>@aJc64iYa`Lcj~eBHebq%rvU&CVwV0gqMphteR-5
zEIWYBVSziO+%{pmR~q^2cC6&vBEVJdKlWL+cNHyczjg%}2X&5QPJS$i-(Q?`j&{vF
zK)0(qT{{TbDU+gM#T7$2PgE~J`-?tOS+p=9cTliN9*zPGIal`3+jmdnLY?h*Yoqsm
zt)4`gVh{+L3wm21Y)@z(8b_sED~U7|h3wLLu2iP460Dy5qkd67T;=Kh<^EP9qat46
ziun;ecmePl#Sn7JmzY1<%3FQI5 at a_A*%b_Hg6rh><y&m!Sk+T9Un=jdVehA7p}Csi
z<M=YrA5I{Q7PZ6p3l;LGVc)DDE3oF>HaX%C$Z2SkEn!|`(nTc5p%R)WuL+0EItKT?
z at YKF(ji?Cvq?0Ff<>1r|_7Ex&H|LNtzBP?8((jj#Y+J<5J|yw!zB-|GIsb~ER)|wA
zl|>*oxQ*tXVTDhYLH!&tUILEj{`#eN&+yf&Vv0xO36#Db2&AK)CoC|U|5(*OOZ1IA
zaFvl~wSo&jj65GYQR$sO5PU0`=7pb-rWs4}yA7aCpm1(da{S$ecaXLnwO^><`-Rnh
zpH=2rzx?=m2{>QAd-8?vC)NjX3)rP$BC+n^ex)MtqUSNK=YdF2;T45am2}TV(=0~I
z;mm|LeSSW5=z}M{`XgEgengPy)C-0UNHQ)W at B@|3F&B<?k at 6Mi-O#H$-(UNGcu3@)
zYzlrnyvaGvy507Q^o3!uhNJw3;c+-62m1bNobp at k<mmhb+wBE3Y`Xg05RXa^e;;sL
zjI>t7xVR5Cd`lSca=JbyC<>C#_oY^nhK at 9NYw1n+Z9nI~v(PSQ$-s6qX3TibMYXGy
z!X!0X#DY<1;$3~@K_GRj<L0q(VB`-^9y!#`Ui at LwCM?naYM9Gu<iRQi76zF3N5P}t
zJE>mnF=}kdCk!_T?+}4+X(wva{!8yF#*cK3#4vdl$Gdjji at q`p+L5M3qOIO|ju>qz
zpJ|I;9f_=F;F&JX=N at pcnMZ`;Ux at 9fyL3RR#5C4ahP(bNYImOng64HpG$*VR1^gzQ
zMUdnEW=m*nHWHSh#`dy$Vp;cW90j|G))42oBt5$gq*LC4*$B$+=%Nqd5!tmIYa)^-
zl!<gNAqn{7u>2%K+$Heg8;b-IIKKIcq$fFDiLJt(_S}kbV83P-Z$1H9c1;BGEyQ=4
zyf+*fbYcEj%Z6@$m>kz6kz^=EKEzO)nK!^EKSGHLIKh?CKKdpm6JX!YaOd}e3<PGN
zEooLO(T`KJQ%>mpuPsJ|*yCn~N%Vr`0r5|Kc(-H~M1Xy at M+EUEkrk+_)vuAH0XW~E
z<P{_n!4r-ws^T{w4;?*-j<J&EQp||AN0`#TV7j at Q(#CXdgGbDIj8Ae9+eF%|D{QQ#
zktc`>3AzShFcNUQzL9e=LInhSY8gRi;Hltn3a~Q~u*|crZ`yF04pijqiP_xj=G5T{
zn$gTi$j;m<s!09Q3u(r&;AP7TMdq%1xxVBO`1oXUg(#4cO|f#SR$V4mYA9KIEqNlO
zh3LrQvdfYA3zi at ANe3WF8)Vv&V}>nf*32DEWWXt8v46;9(aGIIeHb0#FF$yOj_H_$
zKSVF6k4>f0yw~R}G$<n4k}5HL at FVJy{9Cm_mMDp1LmH;A6k<-%kVpk!jcO=zPRVGT
zARB{os^-u_ts>5yd!Lf$^l}JI$e00tC4{ZvfLgG_$wK=xKqF7hiI4Hcr1ywC6MN^9
zH$-`^J0xR72k#pIY;_eGY`XAu4IY^SRy|s}BB1g9$GXmJ6{4*+1wqDQ!V`I5 at PQaB
zcf)f;LDK9vvI{58`*E|oJ(`2gB&{+<@jwfjqY`Ju0+6;`Tq)bMxnLXvB2`HcHi2mN
zT5*6ZFj>;Y7B2zDMLH}7>`DCtC;Rm=6qCzCJ<?(ZJ6zxcsN30|E~+u0PBlTfYX?E*
zzXY92q^|Ps3IgQ14DCxarn|&;cpHm}FJFMQgiFq_?%!5H at 5RJ+DV6ghpSPb&^WwXB
zKSDJr+}~+QjQN~pvz32wDbF5sqfB5@&xV|uq)%B!(X1CUO(fzZR7S~kMbA7}-Fr5E
zlh5FLC0Qaf9c9gtyx=qKNEQ7mDLsslh at n=Ep4$_P%Ols8EtJQn|B3JuZW$Z-6 at x6M
zA{HYl&C5)pE!)o~7K5K>pl|H0lN)212WeeGjG!tB!Y(u^`L&_Q%Es`g)sQk*3_m^`
zL#0)UaB@*GS*R3sF?RmcJE{^XS}`&#*)T3~sDoKCIoN6_3uA^6(VD61&t7!L4&J<A
zE`&8vOzS|8r|Qoto~q2UxqOFTc!+S!nN(K=L}~0lZ4B at gC<wc<nOKNrWNKSPc>l4q
zr6)Kzra;7DNTVH1UG}{ldDJ5 at 6s#S2WXcCtfRMw~#t!yLqlq}5jw}&1L-ijrj+EKC
zwEN#2sv3j9_F)DoGC`nt##9!EP<WC9>^njcr|FpJKzKP4VBs=T(qzG42y$eW<M8Ak
zQNp|`0>DDbs(g8$Qf8F(RnAumdYlyiyuT$LyS3cHys<D$gPgfqhqh=iPRrtj7=q`-
zCveT+>5B#oX9Tlbu at Xh2Y5mw(n0$EGcu|xTapJ-fTnaJTd4_&&!6dqXsgZfA0q_IW
zqVh4KWyezDUwc*^d)`s%q|@andhbO!fhc->eG^Cj20JiCj=sv&X_X5fF21k`n*}NI
zI|N5YY!jl)eQb$K`S1 at 3d8VUxb&hMS5X*cpeaKbQb5}bU%P6$ZrF7zl{WbOWrbI0l
zdhE;6_&eQB*CHHoTh4H%k<45 at 6rB3Q`hXqX6`bC{G><$q))f!nILFPB;D42XBd^3b
zQ2p$(EybJ)l_J{yK(2W5InkXZR*EifxNYdPHG=@T0kz$p!SQ9Evs^<2A^x|6Q1-jK
z14FX_`;!5IDfpy6G7X5x`D&Qg#WZ$=!M&#Vvl02nLI%joJEvo!$gq`{AMeG4+Vcjd
z&G+v$-S_R}rhd7KO>g$45A6n!lpNf9MU|W<(BaL=v2_uz8>`gIFwdCeHc>I at f+7%5
z|4J;c?Z*f?rA4breER-^Mh`lY?nI0$gxl6Z9L&BBRk2~hBrZ=5dcwq6V>wv0 at Tvx2
zD at RADMV<<6=~p5XOW-v9I5iv`G#w(j$$7dk_H8W%g00gC*ny&>nC8cnY4!_gYsarH
z|Ll?)L)Q%bN5H1b0orEQ2^7rZ=KWQ=Z|;i6^d5heW3mcIdVNz>^mBDY2`Ex=yk4mM
zs%B}LQEs}&Zm(Z{g=#_E>3i*&_?>F=R>4Ury=NS(1#`EDKBGxq=GcvX&s at G!Ct~D4
zO##6lbPoJ}&e6w5B)raWsWgcGOtR&P^wAqIo?Is1EcqF?HpVdN$JO3(no{2Nbdk6>
zTZ5mMeddXL7w7MjUfU+7Gb7y3d)~FPEd0Dq)@9&%G~ATF1*%Y>xB-%1Hk0oFxe+LA
zmt}(^6n)36WCD{%Y-!v4ap&HH1pc%l3LF=+MgtAAQwn2ZfCG*~g{EYfC7_~c$Zrm7
z;Fk8iV9O~bs|zqf#Tt)5L=tSNbv2(jW+F&-jZGjZ>Dpjr+Lt-O`wYb<Onnh_mUI{T
z58#KH=|4DfF){tumi0 at z>(1+3D1I{<CrWvGMuAr&c7z_*7S%^a)$WuIQZ%KSEz|UR
zczQ|W+YX at JktvcfErvej%7<fYs{kvIV>TT4%BX_?Yhxp0e3%G#=Pqx`{iVy#l9!wO
zfL at hDKh|ES<&OL7>+R2v>Sa{&uylR7t!;L>9s^kc*#NH$!K>!WX*lHaHwR8u68=xK
zW^Y~d05r^i9w#pT8i(gs^PaBEpj081U!3_{-%nSB*XM2QmW9xe?k%0~A`au)h3L58
zq$OoVlZ09PZ)k7*37JvK12*uxjo4E7`N_kmuigQuSvhqC4ubUvlQSOcd(5QSwO(jY
zs{9X1)>=5va{FX~)|1r|Pm$SM>RT_`qN)U;y9^O^#lb)~gOuD_H-rJ%l2^HTz6tGh
z6jUwEA6DG2pPPL$oGn?ZTQF93>+tU=!FF4xq5U}h?)U$|g}9$Q-DV78(tRhd-3bMh
zfydp2K`g+ilEF|sso~;&wRoxeMFIrDD?NAZxK4x;Z>4sKx<<UPA|(iK0Z4qllco at S
z1$!w<0M4qI{RBxSj$xBEUCx)WQ7dFw>Zrq6ZAP9fHu;}OVw_eu_4ai<rkxo5+`s3`
zfyY*QafKL5Q)umnlBr)|dso}dpSR$xba(g`3pHknUc$(xbFXsc_-OMd_j8*pVA6qX
zt%bg+mz}o2#jdUbO?eHin|RAHw*ARsZ>Jwm?#+4!=kGVw=jRP%{={!nyOgtDBCnma
z!N0(#9}KenFdo2-yxUg^tlnQTD2zUSYmusXWKvR_+O*LcM>BT%@ot;x;Zu^^VkYGH
zl>3|A<LIu>eEep3{Tb4eA#JfZAN&ZXJa4}trOmMVPDHnD&90x2*|u-V{F@$8bI>RX
zUvWq`48Mb{<hXKm-nO7em62A38**K|$@rVQ$*=ZnRibk0a#~jI-q!DZe+0R&Q-~i>
z0>QwPcvB at B;;{JO#ggMOtv;$PVIK)I2!w8~FRm_M%$-Q&Qwk%qTN2%tkz0?sTTWiB
z5k}t!Asq~b$E>u^BnF>#28ITOD-U#AV~UhZAqr%v=JtK%&;L*6(*ZXZO)_JMbF8;<
zq|JAs(wl5mJquZU9_D(qH-S?1`lL&LRW!|m0CLcD2F63{S)>co6j76KW7X3-o7nw0
z>TEhtS2$D1J*)oc`PIAkQ%P5_=HBl$Vo$_>h5irKPQ{<mAP*Rk>NPK~)d%n9yxQjX
zR{=(@97r;(tSb-;cON<ikefJuj!D=)+kbBB*RKq;q|%Fcw^ZxP6;vgyd^e=z?2UC-
zFxEWc at V-6R>^JrNJ?+Yx$KvAfO5P&fg(@}*^eLCvCQ^wjl_{f5F5I>pO_6+cG2!@}
zXGQe-D1EsPShR^<Ss<vI!yyWB!w;b^JC3<P`URe;V2~imMMWI(Ke<sX0~KsrqP1Mo
zIF~)=B_uUM$dL7kS**PtQKqf-Oa}eLh-PHn at 7@^>lP{hNQb&A at Iggl@O7}c)f7AIw
z#$%|*s);wk?5>n8!K>wruR3+64dS|55Wa at VHqdRc{cmdj(1MpmcZnN&yFXPSqT&z$
z at j#QYWnoHl5un7%Fk at 8GJ>`Spq)*J3gh8f~rT?s9CAo}*R;L8a^*Bp80tIl~fk~8~
z07>^xMzhtDgst$*d##Wk)*!>E`jn8R=3Ld_^^L>+DQdtNcsu-FG>Zt6 at R&kda5!Sz
zG^hJ_U+7sSxRn<>gjxw3lS1TC!&ADaMCk9Ix|XH1>%DsP+^xwp>)NdEEF)NDAdUS^
z^<(EZDGvFEu~awd(5O`AkE+y at H%9j7c~mLf_y(IcwJ;a7Lw)LsXjN$w^r=(dXC)=&
z!5p6iLw at 8V_u11(IRGWt{^5p?F2wDwVe9bu+*V179GYyC0&o~k>8Oz1)V7kT#0nD6
z`d)OeDv89yPs|vWbk*5^iB<D}>a5=ZBh_x+sE7kDr49a+Ew*X at Sn6Ue9g%CwD%+ZI
z$zUEikSEG2%0`+r%tP%9MTaTKXU};n$AHj&h_27kdOe-CN<-V!)U_uq`O;#a>Co<!
zzbEm`feLA|b5WX$X6W!H!%N+r({eQ+A5Bws?KG6sIDMdsddQ-)ecu{ihBs3BZ+yy<
z-86$>aXgQfIA%l2{vnfgY(IV};~_nj&)aT~{D9>9$+}7sj}=5mjyR at 2P3-xoDFZ~M
zG=`M9XAy-3yu=!s8)x3o>PM&pMg^1%AZlQ?*bbiSxgRV9zwMTpuSy$$$KGQ#Wk at _C
zvk6GmCvMJZru6EuA-(=sKNkJ6R#PX_lLeGkG{Ll?owe6BNds5bG~q;9!i_J^S&OyC
zMyoO~3?9{=+sjMEm$37f!@+1#j>pr5h|JhHNhkBdv~e*IC_<)|EEOSDEuBmr=>oLl
zL4BP$JcqL;HCK<56NQ<;p&aBOppjB_nNVh9RCOtYRM2%1Lhil6(=EGaPv)88pi8l>
zp%zLkTTQdfi|fbPtXTXbx*fdkS!9dl9&AvmjC3Ly0c?~w(=a_+h)b5fjj5314Lgrg
zx{@Dx_y8u%v-3d&EJ=va#vU?LK$}RLDG>J0&B#K`ivt8$I at Ws`u!(4EirGw&o-P5s
zt{Zcu^E-I&<77dg{c~Ixa&L4J=$>SOsuBbtOyrS#;Yo2#10-d{xNX1G5s9<WYST;?
zY#-DReLlXgXutW44PGCpL~lxcKXcs1KEk_yt>v&Q+<&|0VI&R^Opeu)J7aR>h(z)K
zuzGImdSq-0rG}Fg{geaxI~_n0pb*K1Am^b6I^jmrdd;WU5puzxqG?O*My~0$)`oQo
z`+SS)Ov7<*Tdm~Twz6x&<k?6xVGOsrTyCa1<k<%W8 at vaIMp*<`$M1J5S5<Q4A<p_0
zYc01s+tdNz#qeJw<=(F`(5vzM<wxB)U+z%JG{Mj|#SyP>0;;|3hT)H at aSbQKqUzS|
zCf)+Im4bPyP$3^qy_ at OBCOn_}Ym2;Mj&JUosX$>SXC~*t>n7;-UM%o~<80HM2eLc&
zjFUARMF)xfyr~&i#|G}>ZB$*x8;TlbUML`4N at q5(xE&!U|I%WP2e+;aGh$^T&@w=z
zPJ<#Jnmv121)=20Kmc)2hn4V!5&N&y`4wt*AkA?<iG64@$Q@@D6AlXd3CgF_zB4V{
zwBoa66Q4tZqcag|FIog}o9^>8VSZ2 at b#?ia&*onL2(?PNuC>!(++`q|Q&iGvKGl46
z6jX&VBC>Ht?J-|DXf><uXVsK^c?2NxkYPv`6r%UBoqAU5lE4AEDPuOK=djkQUlS>1
z&2)T2Z6fG70fRd$LwM#evPk at Pkj6!>C6U^aO;Sum-olhf-jZ|B`rIW}i-Ao3E&FwR
z%QU|SQG9v<`Gu87ef=uxu5#*Zq?*5rp(`0NZ>21>YyMqG=j_}n&uEn^MoVFuaF=JT
zB4)<OhVGiFEh+EorbZoC?X~iyfQBQ&J9DUwjUM3P>6w*l9*BsP^wHGuh-$NbEwJJC
zQj4A+r;J*~>-9)WHSgL$7nD1OVHPNtRwe9*VKdU9Bf at lZj82I1qp5)D&}lhf2D~*?
zXG0}(euz(N$|{h>8(6B?4k4g4^d=Fu=hl><hbEF$;@VaUOKp<XVn}VO7YFp>mq<c(
zX%vIboa>Y)H2`OW6mU|8phZeEU`1Ghq0>c7`PS}zIjj|_#b0>ZlieUUf`m72KPV|o
zSD{i7OJ(EiVZ!S9GB!7;9W9OfFT365mUR?zx_(0}9g<hyruWrWJ9(CU^Oi{dNp{#3
zA^=kSXwN<Fs^FP@#@DHHoIm`;H=B9(_-E}B0Ganj!WdJGS|X-NAsKS2=CwhFM-4~$
z4pY$^`!3S)A(3gLxndzd0WY6d4Ri^NEIMbt*fCv|98BD!C6;!axp=1|)jLE=o2#g`
zbl?QU*J`9L`uUYu>(gr*mm{B+6$Tt~nqgP(()?QFY9Tp15|VpgT5<ID4HS^g&-tIA
zz<*G0vT|~8{kJ^GlCGV@&uQw*zfXja{Gny_IUPcS2tEr)7`9~^_%jg?M61k>gymFG
z+1Fz%;d+W;TTZ&9)q<33M^<U^@863lK33jlQ&^bqe*-sRjlr5m80+txi`(?}n7ey@
z+kHldE;gQyo8EUnV8Hh=R~c43syLp0Yr7 at FJD}&q>h*H-Xg3k9x)sT|@~cx at rZR2&
z=ozu=z at +1Kb0YeXd7WUMZ@qqbLy;j}wpO6~dv{uJYo!HULrjX<sc31z!kjjaIJ*CT
z9eOkF6fUv-0A7HZhhXNtl)abc){=?u_;7=gRiiMn^k>9%gSv(7fZb8H5BUWS?&HX^
znzyANA8lvX6#_jJ2Cv82PteFAhW1o0|7tJOzbKex3|JBn0dGQ>D>s{nurSRkF%sVg
zpCU+R at Vb{6g1xT_)Zqxf<iU{v{t|EzNuUe<^C<MD?Cm50SXqMq!-()daMavkU_1w=
zvox57YwpFPV#iRHN11ptD7=E=?n^yr@|eFraLCkwYILFN9Ie{DB%0G|wg_9tvLv=z
zp4?Kigi2u8^m8-M(=W#khFsJHOG<4FFlp-e{p6XuiaDM}7^|kl<m(|OE~YWr7a_6d
z1U9-`$}5gDRrl_?r6FF_Y469g?(D#oR1Zz=bBBCRa)U}ol`zD!1~zJzn$@4e8Q-XK
zhj{T#J3 at 3(x7B0)Hjh4imLN3ngcg#BizXo-&*cn^Pl349m6icJbgH1avG$!<3#0=0
z0_J%TZbHX7qdCp*ZOEe*`Ln;7x!GVB?hsQP?eorjR-%{&a;gY;4n#qjrDAs#QfqjT
zWFwcdp!~^t#4CPl)7LBZ3+%S)-#J$QD|tUVM=latvVK*4l~<&{Gf`LBv~Blt$}P&u
zFA&j_kX%}Gtz-)H&`=?+ZcTN49Ypp6LGbI-22JzsbIkpc&6Ir#S{=j>v{eo+1oJH@
ztA-sPHKg)N1Ebx5d>?lRwj;Poax9kQ=yGfwmj+TWvQ_YMfu(>8h*sE*iI7u at Q<3(U
z<i;{2Lq8shK`2;`ALY$BoYhQ|to}=dGs{}#Z>a*?$w at n~swH<WYps$(0^$dXjl=Y-
zO}1U132Q%*DfF;nMC5FqrIch at v%^p<lVvSfConXN at w*45qu^$n^y_#5xR~h9qY3?W
zzqSF#@pk6JU8N+V>%9<LBeE;}pL|Fw|1ax|6W at ldZ*{zI-KbK-`s74ySs`mIcw;~q
zM8;vm1m>`$Itq9YcKokD{Gc{xlftdYVm8QOl=gImH)Cvh+F!Pb<gvu%A(cQti)&)L
zpk(4e*u1uI#+5)H%?$B3p)849(->Q3NE5_Qi+&1x!G$}mswU(nSkb!eL};<<U at P?0
z23G;R-h^SCF at Y$r#J*shf{{{*z%1`#DsPEHVSX^aLJjb~T)&ZbSVOV7F<)BtCZ9df
zImdT3P0?4kHDEq=uQY|Xkbd=V;Aw5yJq68E7*>QHOek)~`8V<DSd3pDC4R+Qri1M>
zez1W+dD4og`mP5l2F9Y8FTgP3W(<!`Mm+5n&Pe^%01f5Md|rolYOX0bAz=OkcEFSt
zQ5fc!C at Z5VJS${lybBQh;xa{m5E-Uu>0&biO}FZIqm3*<9$=73rAKP at r=z|&H?zfI
zLn*@vp|r<pjGaC_6&rct%L|17SNzd`Xd?rkZri36l|%tCkig(3;TEYS#QmmILWOq6
z467;{l2^KA59V4bJ6~iF;UZ=OYp;QI#I%PCN_aJMlwL-nv7=)&0d|DbB)h`voa9i=
z3_&lLN+=EW=4Uj)1BQ$1M~QgR658O2BY(uBbjc;GcORck%wTrnbs>Do$y8Zf<T|I{
z)qYs<`S%yRjLj)c3`W*!DwI4(6?KgHm6GXUb0;U~rt9qYy!2>4?PQoMAlMC4o9BgS
zmIO}*mY{!rxET&V2h)NFMg}h at J<WwX%j9Glf+>q{D0fgD(I^htmZ0rj6Tj35JzL}B
zw>lD}BX;pyh>6uCg=#>NBK%=K!knPND`Z^2k0tM~*li$Sn>{SSSTmtX1u1=QX2PS>
zc?XKO4ci2b6Q~Z}eu652u+*r20v- at R+Mf%#XRw+&FvM7DFr#FWcS at Ff-i6{iWo7A(
zWhFAQ%23N5+5)405jh~Ru1b+2%0b|rf3!WI*F;16W1|tCMloAF%%IU};(KUCV;k!c
zo{%-G0R99LE`Z*Zw_U&0f__k6rSrUni=eKmoHYi#++iO{nu=7X8v^kbU4{O4ELE9q
z2UI_)?gWePd;_}bbP&Fb$mAuNexgUO#~J|$88vmmIC8h!<=x{TJyB30LW>}<HY)G&
zDeVHSI*4wxbmy{aqj;vssp1ZtjI at 0foXH|ZdOf-9ll+CH4KzkfYej$sft3O9Kj)*z
zXLOPV)i9iUF7LK#XxOcL_Oy45GOP=z4O2&762UVsCwRo%RhK7buoE^;rzd7dx{2}&
z6R|>^9Jz>-bT<y05wON2xihPCcjUO0M0iXKpEWSEW1lrs)SX3so16$5!LP?w#}2CZ
zjs}p=lgZg(B(-BhA-A&AXsg-7G&SMaRhpZ7`yjz7vxWfqSDgDPkUk@}9LKSkk>Pgt
z9IbVYXBg4VLUhnBC48H+1asfeS)3Z0dz%}ip4!2uURMW9yg^E at BqUFqm3-IMnWgNX
zl&`&JNM3ywtn-8?FGnV+tg^bY0QqP3KK$PvM$ZoifQ3H=Ge9Vp7!V&=Ys5F!B^Kay
zOQH56(&u5)&xh8cvr at n6zoMv;^eMrs_&kjNtRli7cK6OM1qNUrpy&$QfuW({?ad#4
zH~gMU at KJl(-+*T>#Xl+M-HwwC<62qycRI#PoVP6b3#Cl+F;`K&7U8M#BB4vP<4KMs
zP}%GrW~)kFhED5MX8SIfGs_MBM7-ZqmT}(3+u&q9 at F0O&a%{WbFSM#1jbA at 0oF%xz
zTaCN{QzX+jpP)*IbBQ%ubaR)7j1s{s^3Vm()Uw8C$1bDQ%pxuhrP0{sN~U$`Wvw7?
zK|RF8Nb0V2-TLR3*Sa)yK&|XSPDT;`Ygg0}z(djH3)ik8Eyor^$`7nAd}w>Bx28WH
zg=DMkQwmOSS at YK^wwvdQ;$b$sDPoHb(Q0Xsb6Fp{(5|b5TQb>8%0sObVZax$pdQAE
zDE#wCjoyt8W01kcj{*ZUF|jJmVc*$Co-o=p`>IjqhRi3{vT9~rwH2JumkMkz6x*kW
z*QpnA^RS)qNOVqvsj~P*(Y~U7x33K`u3zO))Zz|pDPm-&_^uFNK>lr(N>zrCM}w5%
zwlI-G8K?b6$~krtbNS$62JON!AukvqHVl2g#{0>vS>^s#-dIARNs at 0L1(HNgU35cC
z1}-3*p748+1OXOSDbjjZ=9D$eLyL)&NU%v=o}ZQ^8ytH(J87C2ig2pqEQe6nG<&e|
z<`&i$>KF}=pujW(ShV|hO at H)fde<8u^P39=jtkTo(;^|MAi3r!_aX#=eEm#p_zJa?
zU?Zxi4jpV4E<2ZMX2kIU)T;&Q*uBV+Hil|-9TG|jX=UkeXqy>Y=zyf(zVwTCMnJ at E
zX*LRM>z!0a6jX$+<4y$0blYi<%8STH_CFOLf-fLjAzKI(#P^%tf1wFyH#VeDb8C
z%zw<gz at w%%VLcTcyHeUqyajEY9(DcZum!!ijs0zARu^XwZnRs}Qwge&vJQ3weso+*
zsny&M#OXnuXYtrKGtf@{VYxbIYX>Z)?S`kl8+Sqn4VBG_2n|tHoNh4aZH+2`NRJFx
zYm at k<cz5y4Hd00k)OMLN9!Z((#mNN@#gZLmqT6LYzfWEq_kM!FDE4k>n?35p(zfaF
znlcsf<GAi at oO<?%l8||o&gZLo at JigrZGO7DP>_E(Pq-SbvboQMgU-ZlVz at XtQH7U4
zzfVu+KC!^4`+MSVJR_IEo>oWMefXcMQ;fP<kJQmrNP|uhqd4mzQ&BYb-4R!)Cii at W
zn5 at TZPb}irBcLPCyykr^|6H+KQ$Rl&0qpV4moO;9#_Bv1yCMmmG>?B3nmIOAc#H^|
zv6gN43DW2MEkp<&<c@`Q_fPl#&oeI*-}zcySS@$21>oJQ;~ya)#vaDCq<|>U?b*sN
z-r129^x0U~fKjczNZ9QXuuK4E)UiCS at o@qS`Bk({wT-ZwPa|XNAMcf+%D-Yo&OsM`
zH=^;$ql{(=hhwDD3BzEt5m+)GeqT&T2vDB0yCp_MwCdzgKqmV{zqEg~R}|Xu&}QdU
z4QsEJj%?<Sy|(9JzfHpuT%*199<WdL at 0q5cpdVsA8Vdhxp0#xG`8Ix+)4Vr!YRkT1
zCyT$+*tU-bD7UV&C6`WP?VMQT1`j`fc2Ir1tl-~7T`bbLv!~{wLU#?;#Zy^_&ykd=
z<5P%xAKcnGC|No;c#~RGKbf8KoG>prTVD!Od-XmQcph&e1gBb|=!e4bahI$=+9eJC
z3UbKnceqNH`*|Mgz9F8EpM4+QpVPnZC{gXuSK+3izzU~cots(P>SOk);yTA%VXZaG
z$A_A85>h`~a~1#X=(;tOUEBk~YxJbu66q{}6R|=Fz1*R*Vg at Wr@AL9E+bNp{39H!k
z0~NB!aAuV5Ta3*s38-_ZbZIr>lzzZ}$3wkzO<xnnLo$k}^!bekxTJ3%w at am|?#5#V
zqJE)kY-)%EdESJHVg)YhA>!weM|5cCD4~?u1aVGCtgcrl*1RQ_ZxjKEXgq9Ub<?`Z
z|JL?XHGq#RBJxYJDA!>$_GVo?+cnHR7yiPcFv;2<&n{%<L4DnKAaxU5UBuajkNeRu
z#b)ZldwfQILGA0&V#Ngy9R1R4H7Z3)9Acj)4WR`mvE8agm!swwymyeg?N*MJZ?Bv$
zQsNVFzHxiyV26Z#9CAu&JTvhk4+?wY)y;bD8au*gy3`m=$@qZR4xq<vcvSuwmSH}W
zoc1 at +dwG1m=6Lz_F2`oJ)}*k`Sb-fN0k?Pi4eZU~0{9O=n1%U2aANE~!H)lX{l9ID
zrggQF_uG(v1_BEus2h<sB$T}xa{sB-X{YaRcANIJ4yT at AtGUKXP1qc-lxG8Z!j}?z
zFtOHoAw>cQU5N+y?GWiGzL>xcVvfKVhiTa&)LZK5Y|#1cjyf1L&f3GnujHl~^!Pod
zJEUkcN#nWM-aZ}MYdEyWcudwiG<VT3s at o6`DSx`PrYY0+3E*Eny*l*XWv8M~-aDyW
z%8xp?9)&yqG4+1 at y7Z|3dTqnjar%{lh6){5d#z;i8Z1Rpa`aof4q9zqr8-ilHuY$-
zot83f`0B`&5C5*}pIxAOaiBV-j&{%h at q5xh2i(YEup+T<{dFf at FJk>ExXBQ;+CpRe
zwbJ*<m1b>X#Nn>}ec=ZFCvVmh8GV#1P46wL8r#D~C%?=9c|sh52a!S7hS=)YJX9<;
z5^6fEDERJ3QO8zKc?|u>eHS?R{NkR<=0gLLm=<X1=iYR6066*y{CI4bu-zu+;S{1C
zIEHL{DY^ETr0&nquSuX5(bTZGfoJY&;0rCC^h`4Lew2+USYlT2|9^r9k;$PVhoIBT
z!v*dn!;=|^*nxOS^b?5QcQ;k7j54<>p+qB9{hOv=U{mqp7Y8(KVIt`ouXu)GgVZ+I
ziwflALX!_4xu!(YArB&U5o7(lCnVdi0=6fcmjuELPKX at IFHi@<JYE4D>B3HejiiM_
zq`rFZC1xk&6(<cUb`rz<ekUXgPyrqC;wuF=1`)s^a)0eW7(y!+C;Gb>ISS-7jZZ1k
z(5v8^tZ^Cp(22I!OY+2H8t-UfTzm$$aQLsObGi|bj?{i+U^quV=Te6q=sBFmohHH$
z^hzOEXP8F&{rB`($(W3E<c|-}VtM$I%IqAmbkN<sQ?>)Y*{Zn<O<UK#9MJ<C4~APJ
zQ-u%8HR4FW|NKa_ at 0waW=+SkwZ!>Lw=j)qOFMth)lrX7 at WMu7Mq#<fUJWQF2FjJ{Y
zDOP$BZh?|Y+C&A9Opd1IE>Pc*(-Wkz6tEZW)9?XY^4gIKC<a(!8O1u0Jv*{&`7ZcI
zBk~oirxk at A2xGEtXh{+mZE^!Suyj(Em2D+7L2x_X5*5-S2#2O%TSt)}il>gH<V&fq
zsVTiM4;G$~!IXZ?Rz_Q>Q?j{gh{y>d&$va2vR4>JDCKS#Eu_ggG)m~fLI~+_g*sB%
z>v7~wu-8S*P18Aen9_v2ThBba-?dOR7b%`7GDRetFBPg456Q0h2Bwq+n<FXSC6(*&
zewAJ|qn}2J5ryi?E^JlL4C>;d!_pT%;Rt_Tcz;R8`53kXK6m^-rvrB2{dl|yWq8r@
zcjDZ at 6_hb0D#;n5_Y6h}LVj1WO3??!2w5T}I1+}K6eXgR>gqR=TC!M*IZUhmf_^ml
zJ=8&0?u_x8s0#1TI&v@`k;z_W!WI9CDByT@$2u;blqZ!8nCY`RK=He<PI(nX$71|*
z3*l60KI={84F*_uud{C%T<q|r?qS50_F+VXZHRXekfxEC- at Zg&DDcVO6G$e2aDXn1
z6-iFXaz62NU{D<&FY<%gZ<Yxnz9mE|!3tuTB8GX9Gsq(!l#nJFt;qF1V1#LW?tS?8
zvKYqFtkjN}s30CE at TNVA5YS$_nqvSgYN))1da96!!GVVu;{Tn(O=A)-oHa#}saz2u
z5?-Ky#wB7B(MyPNN-pGTWQaQn1(9t0Q{=M|P1b=(tn2{KM+(JW5xHz71m!1;^LR(~
zv-3j+r1<!e;ZSdojsBVK^B}0e;W%+Ac%BAk*xKx12SI7&nzO(oIY|j;rb8No<lzv>
z at 0~^kW&|cc4Kd)Z1Z5b{LJfHh_*^Ulxk5ni4LwHvU3)H7vysVh at 96=?PaiFG>;j?x
z*rYYl_pPD4Zy7b=c-ii7F=XRt=`F;!I&rCsk&|0UL2Sc$C?)s0f;%90(V%jCajzEk
zXvg^wAtw``g5wZoEU`_jiJdy at xrD6TSRhkSc_Qop1FaZJ<%4iucpc&Ga$G!>iftE5
zZKsL49qA<tc%`BNSD5ou*gv(3^?(rwzP)O6TJogCX2ZJ99C$A-WnB$hx+(`Q0*57?
z7gPF|&c at hRkr-SK5t;1iO+rMmLkiM3IpRiChQ$Wrly~!Gc`EC^Td}YJGzSElRt`*Z
zrRMzj|9v<9r+P>~)eHKc>LLA9FX*RwGZ}w{vK|e2K!G{0%UK8Jk?hys3{hpb>#KS0
zsYJ~r<wE!Oza5g&^<fuU3O;kd4gMrH2S&>Ih+CYEB%NPX4Oo)m$~^5+Q%kB`UD9r5
zLyQ~!Ej`s4!W>fvU~pCDljvX@*sz33XP=Fs<*~8^68?<@AH1d7zo2TgJSk*6e3;A?
zWk;YOgO<Vjh!f%!j4I8Hh$U#676Ha3fhGiDu`ZO$Pk<d+MNShZ6mn$xXS>Tk!4bkE
z1Eh6kdx#w*Ne>5D078D7SMKFPLTy+Cazc?&02>1HWfQu%b3%`#hKLi&q3m`Ql1;DW
zBSZ=d(bAA|jMUq$x`y3n0+v7yU*Ph_!J;rEEovAYVMi;&VhwaGJ0VD~grbRR4N-AO
zXGMQ91d8QEUE>9JD+}%-bgQTxmZShlP3P3Q*~}=#;(4 at N=%(k<`g`27JstF+4<l*h
znD`_z05o3B=F&{E at P{pU-(x0=gd207xIkRKgDrT~HDE<N#@)HoE3r2R(#W~a{7Bda
zeAW*a@=eop6n=tDvEe6smiX~!?0l)Fb*d+^T9APNxjgRea>7yXm!rrq5wh)OU|Nr;
z`=(lTK2<3&x8V|mm5)!`gF|upZIoRuf+!TqcFi|3kfch~Nb at RQH=4_>3{dP|IndA@
zyGSH``>~(8><0`GxHvJ at PGP<F#m3m-O!?<msPXp!Be9X%l+by(-f6)7HVK}4M8U@@
z!83NPK7m52L(5Dv3mU)ay_`G4pkmiez8!%#kG<%&Qw@!B>bLXXr}yppSX~8@%b6_+
zPsnSIaWnNm3c@?<_DV**p#HJ at -4)ynbukz{hkBk at z$mWqzT3L at fedO0!@EJYP-n}x
z*Rz`FX*zuAHE5;Bs@&E0=tZJAF&!2XbKKFt7oO=522u|4la=h`aubczUPp}_nvAn}
zyNAb!nl0XEM1mnplEHO}@AvyZJeXcwE>*3RwKgm<cuSOwAu6Myt8TGP)xqgAXTSYQ
z+sBO>%f=APm!l(Agd`j*Ps(~XAl>P8?`aEmRt(n=O-guQvouyA0W%%%Vb3+pQ6lmP
zJx-22x+(+xVtiM7Ss^$527z-Qha&QjRTX+DX<+D~e^&WQwTLv5ut?``f*MN}`~*gd
z<w1emqe?7pfxdj>Jasq5!I^Cvv>wg0@(=|UoeW<bSQkkwL;^w7w47W7T#FjtG2O_G
z-U>5dul3ncySEQZukq|O9M}LH{}SxnE9|89W6#9b7l`i}g}PLjafq>mEpZ)sfCr7z
zeYTYu*qp>Q9cUt1u!2Hd2c2jI2;?OJGUaNNfyjeEW!O)G#eX<=yR#8k6<x+l+H>^J
zh!R*9uLjsQ%!zYQ3f!>l5$L?>anAsi=r0hh0_uP&B%;t06S^~JCYJ%X!8)gbQah2E
zxei%3M!iozHnC6)Il_&F<4=Y3J-QO&+UncK00R7_S06b<cv?pIY(F}McNg at L7q?Qh
zA1Cnc>7$PvfJ5Y;hOx7ES&##Sx~G%#0r0v`$T)s6OgPjq$Tn}w5KUaZ08ePx at 3HpR
z01rtNfglf^_PIhdcA*g_Nb``%)z`qesQ_<SfJ(y3u={DX{BhNW-92#TiF32Oqo#&9
z-&<Pij`iP6rN at W{@2a(?ur~Y<{RcIHhfppPmEi^w{ie12ZkCNOP9pyIC>E~`HEysv
zz>udQq8SqiaYMVD;mikTul~yOxpaYB^7Zp7vtaHd1pt#(;GR5LjMZXnTqt_R4Kklv
zCe&Q&YRAMNR$!dvX?oZGf|nw(4YXd$Gmve-YV#Plyr`y$hVb?St`BoGDVF{QuUyIH
za7B at 05w$<k5`XJ((+L#IYFROu{f$HL=$E>V5bSODH#ecjjxJ&b-rl~uhWhZ;{^~v|
zP4L9>q1?Ta;Q2k$2R!eAn?fpMYN9<x;nQZtHyX+f4{dvZ;L)6r at 5^q}a`7!Jtx&G|
zKG<XT)-PvW8HBp_z`-wMy+IgJ%<HyVV)dI|`jUzh81R-EnHE795}=g4A~_a+>)z~n
zJP5_bNzGvuC`Bk_pp at A%6NxTScNK$)ztP)%a*^;ikMrN&3B1eON4jX1M{;<~+9wN*
z8hVCb*#B+>tUEMsPTeunv&lexvUgd+O!<Z~G>@SNQBcDB%m`>^VRwEC`P{46b=kS|
zlhvdjN>RIg>2~Pn+8gFIH}VFKEhy%9RG4<X{2XSFl!u_Xozny5=f(}YkRDf;E{wEs
z0;}187{~vr7$>ggX#;4xVfdTP<7WUX)zvgOdiUhI<>2>fqKgTLfS2uqq~ObuAsm_H
z%2j-MdPFoCa;7E<v+9OTdNYc!#5dU7x4XdD^!&hyVBHCV5Jsp2e?;^l!ZwO3#JJ{O
ze<ugo1^AAGm9vR_#l*Y0#KgF3zNwsBIozEM)_W;2w#1t&!ZitTPi`(FpILEc{dV$<
zScR-*A)8Iagzx?PU;@YBgYxmU-Fx(iXz(tgt5i=p$T*f_WHkD{=*WNld``niGzc3F
z at +}nN-%UI>^GV35zAEw`z$5E_0FNx(tp7EO+KRJkzaf6NX~2Bm?Fc02V9<TxcMB7L
zNtD#nwAZ?e1;TzX<v3^};%sa4J7K%3?ueQuiG&_3Xmi at wZN={)5<Eh%@#b&<5e+t_
zPxDxzL#wt87AL32n}luy21o;REFe$t^*y1k3n?dz4=v_?8fnR^`{e at fy2vkCbuv|X
z!YQ9#L%Zv*Q|5K^0WbYm2V9B^)v}y6#-lU2A44nY$6 at +?eqJ}<^^<$)q;Bn%=Pbrs
z+QJ!;=~@`6OoEff!f(NRvGb~rU`QZO2VyW-Js^;mRE*x&K-81*uKgH9#+j`?FCXjv
z(G&UyX-Oesg5a;cgJA`S8T)N90o!EGa*x#mqm*tRC;yMP<8(s(ua9qv<ImUC>;;Wa
zjZX#<*4=7m?slk!`wZt#_iQv(wOfFdJ2Zmt at wxJwyz)}PaEqcn)ZWr5BOB1i14Yxe
z_`^Sq at m?C?dr*tqMK^6*D?j+BS+QZ1Wn2!4&<FDSt8%)+nUwN1h4`a}x)u=W$GGl4
zT2f$`bSLD<=(iV@<okIZ0mDeqtoUH~PcT^ZVXjprTgB^+D2~KrVHYq4&?pE42LS68
zw=WfSiH3sE<nmuybG$xN!_u8uR#$QC4utGBDF6ghlu-FJ-(jt!T{a@@L6&hYOEb8T
zAfBBx-K513+#!6pp-Wylep-iNy|R)HwFOEM;NO#tTM#Af;ns%0_pVGBoXA$GTCnyA
z^<I%QF^Cz!9_a&>Q at 6;*6}6Jge0`Vm>`BeV3Cl{tAu^)A^Zx1A!fDJs*3$1At1CpC
zqRX=+jz00UG^Q+YIw1F-Z^qedm<E@($FYH|hv!eA|B|qXMUUJB`lItr^RZa`i#^fV
zA8HW5;j`Ez2n$-=AR1a^iaOxE`<x3|VFNqOF`6HmqN`}L at Xm%9j>lG at uw`O>IBbM~
zL7k*D6V-L8D~QGT{!JXZsnp*43FhAw`v8CMMV76wLmTY%8Nqw%T%IwTaQGnkv94iK
z)zJ-<f5%sWsP1FS>A3IwYXE}8hjm0rf1sNPhv5FVd8JY4dW$x5>nk5$fF`@wAKuMH
zpAEJE_cymaT`mPfT(neOJ|~z;Rhit>q at x1gP(vH2ubq8b<(&<ZIRvbhtxDOIrXx^0
zR-s_I1NHQ`U3NX}nss&o5pq4YDpO<=Mw(DRq-`}-IW&%N7WqNsOUA<Xym<sfaZab$
zujC-t3A!@!eNRWnJA@~$vfD9lr+!TW1cq^?d9q%bB0fEd%tAV$QZT$>hY^?I7NtHf
zv4r?ChZg7{_;{y{y-u;`KoEj?wqt`?CdClNn7AM_t*C3OhzuYGC*#Xf*5)AeQ)2nM
zN+3mpCAp+x5bTJ~SzYGShyrE;Sb)U_=btg at AwKrZ1q1mLlLQ4&bu8C at 45=2wFGs}b
zk}Hle(nzHzvRx!;=rRy)=nWIGontRd4Qc>C2nk#uFO(0`ow?-$**!l$k<t`S)dLvn
zE?FgST~dXxl=TW$Dha5_x at _Bsk9Ld*P!c!X*_fw}XDfB}2A9c4Z&|rpDN_>+>#<;}
zPXZpnyg;AHNEyxjoL5V8E4RcPtB)c)b=i_oM*(l%g3Q0%4maw$Qgc$*f)>9QLTS%E
z45Pi*<isrt6VenEum#wLN%uEC3x;3Mnd|qVMsnpjE6^0C(%~t_fQ278G5!oS$)A-G
z3!TSnvu7TxM40c_0x#Q=%7F|3F4bfzK!b%ap$x|5z<~Esi2*9Qx5d)?;fLG$2dfSc
z2PNOyxmHVlq3nAWkcp4O&k_ba06+r+WPL$<(<JsH+l5<UYf$T7Knq!eO5=*vj-B8@
zYt9RU;7>13>6%I+RkE3adPMt+TP$*M0*#77qQoqzJu(w3a_7B*w)np~9{{MBHYW1D
zuxj2F?=+t?XB?GA)88^~>+k8un1qZ1)7&_O&iAuD>5SmdNqUPB(-fZq$51_qPV`q-
zPz!u(Tj5t%|Ein?BYp)+ntCF#3GL$%K;K;yUWspj-na%=YBRDzhY6*1vP%nPg7CSH
zdi&br1;$|S;!IND6 at mYIn!VPWk?<6#aA{CPO6Jor8a=+p?2X(d$AVn=+RF}_!ps2O
zv1%HAr~J;cfrTa<3qiqBvO=B}7UH(xfM-{2zEk3W2OYV5?UEDJ-&S@$Nb--RCy)HC
z;Qk>-$03iG=cHV|KHv$Q at qZXQhb~coWZjmnQ?_l}wr$(CZQHhO^OSAdcGWvQdu!bu
z^iRk^A~L?%8$%41pjwvlp|=@ZW3My?Ma5nDXjHA)l)KMLsOKGm;Z%n;)(Y#=KvP^R
z1Nu^Fv_wN$J`wjqKsQQv@(7?=T7oEcu~fDZw&>wEyK>ip9vPDg$IVh3>BlN9q at Yip
z)0h|S_2`%VtuxzUiHX02C(gA7UcS_Q*GwrGA<)IWr;kx|G6PTg+EY3(G4lPVDBhnH
zE4)t<Nckszh6Q0vT)ea*2)LY6m}+)Z+(AwT7&?4X*d9#WrBPEK7(>>X=Us!M0ETZN
z&=Rb`!OvQi91yde=^S`)$+Y4!LHiP?6G7^;cau7UzvRY?7L=g(pOcR0YO(XXw6nZG
zKX2qxz!c3 at 3;r+YT$+fWa>if<w{fazJ-8;@3N*C;HZ8hW2+GmWV=MFtBl$V$GA}7{
zWK`=m#b1W&1$l0<rOsiRQ}!{QlL!G;p3V9~TcI?anUdxB#HkDfb_d&PxgG|C`k29d
z8)UFj1@<&ks?x8HIrh;yb#@9L7`}2QZvEv|l8?qK{W3LToJ at 2DksRpZSxL`CFYG!O
za`25>dWKBq6D`Yu&5n)RlpWj!XwH#W9_Q%xP;h at G?Q1QyNPQ06TX{BStu)XTZPd<e
z7v6Yf at PZ#FcqkL3WRX4Jy&?Wjct<`?0QY|(e!-oQ at 8Djp<wy+ at CHaj>E$j-go3J>+
zaIjH_o824)w at RNTVTd*LDy#K%5VUOFbA_<AuKCZ5P=`IaM&>I<pqD69I6lwhol~`A
zKuV;=g84l$>%@3{<4_%n?ZvefJ2({qetiL5D}lSoZ27hmfFL2CaK_JCe at Cb7zrJQ0
z$r6k`8o`9Y0U7?bZ+{<$Y1pD at o-6@)-I~}1B#-CT{mbFqZzIA!9feD)??NY57eB*l
zY+QA^{-DV7JKQZX&LNBpY0Yd4)`9IgX`F$atM}~1gE?<Gvaq$6*tnIQVCvft0!n+?
zl`%gPIIzgpQ|YQtIyz2Wc4$jwVJdjWn@)utcb-uMBFGEeAgvjr5$!+AFf^>}6j?(N
zKIcDR*m#PYy*%-p1WI{F^8n9i%NNb(V*TU#R8U>zw8*S at _Hqz%r+LI<#%>T<%)6cr
zY%z#&6r*KXdavpe<oC9?0frUU;7hOeU79(MS00s*Kvl%)NIw?&Qaw<EXb;<bv!CQ&
z7K*{}&-ByMXjuXL!gQnn6p5o|#Tpz|3kyI+QN|4jw6AXd!SM-O!nIt~b$&8-Rdyz8
z6Z7HS3<7)sGma_3jV{Ffn`H>80(CSZl05CIRlknpuRmBTUMr)Pr<7ssEA~fmBPwWm
z?-d0=$bz-{R6$ezH4mPW=Mi*+366Xy^p%43Ub+LUfxz<W7^qBns|}VD8{jhbZ27pr
z;`O|<VUbtG4WpbpsnQniY$5<W*=fO0WwE}%T*1%~c;m~{UQVA*TSjpxr?7eVhAX^0
z(qejxo%P%#vqZ+LYL5czHMxmr&ql^1sgXG1+B7dUfK(2QUnFt(JK^u?2q)KY6M>Us
z0WfBdplRbaEQarR(7>^=m&lq9!^sMY)_4LH>%NkcO&1AMm;;Zv)u6%Z_0h;!l$#k{
zoWjtrmy#3Mt+dGN`pU`diRu~)+dwlzt3_{FGV6&m;u5?!E6s4P<cfvN20L&*g%xwY
zXn;dS-DWvKegin7w2+C3qK1CjIm at 08mCWkUE*8p*J-*H+Yq|QR><>8A0s`NEd&;x_
zmp%~dKU~EB*azy-)UZ1m{ZAi=0H2O%O{fW8*Wp1QJT?J<6;aE#F$R=HNJ86*T{E#s
zlVjX(R!!_Ny`&lXmM}fc!j-M6s_OEsGV_FRbXME=g>XtIx$DZ%&Hay)otqay3|_B~
zf%6V3Qd?7oo?g$}!L5X&!9jUAw3CC2Qvy0($xPf+?F$;8owV=!<uae1w-bw^q%|VR
zj?Z4B!3&qw>C2#T0!u_$iv<>IjG<?t$>NkvV(0W~nyC`&^zn+x#7R{x?hV|s{B3xN
z)6HR2jTDjD(Kp_utJ=Jk?V^f|%1fG7(>xqf2l)^7^_ER<$<M7{V!-XsGn>U#>~+aB
ztB^*Uetwy3AB9PE9sH|IiO#hy=kDB7rB`xUDesa{i4ga<JjFl(n8gj>&Y9-$z at H@A
z41p#Osji}HbS#vJn^R0h06f+Sw!UEr at 2heh>rTh^D$c7B#FEZU7L;3LCzvylG%dTs
z>1CbmsV}cYGq!P|v+A84B)~hpIB!<TCR}GkVuQzNc^5Vk$W(NWWad`|+#PLFNb#Vb
zqVE32f&|U9qH_=Qo>UYUwB>zqBf^ny!(Y{xJ|ajJq2>7S93t1dTQ;_`{iTSbGliMX
ziz5CZL4oSYJF4nbE|O<e+**yUa*<PkUxaezjSB%U_bf^xl^*9>Ptph?q@>A5&altz
z=P3gjF&$KoEAi8YF9AQjZ$zx!#6fx~0crEJ$;pQ8A6*x*ZGg+hY_T$!65D}zIU=jY
z`nk#;V+C9^gHf(5ymZJ7r{3PvVX at Kn_0+tzh6u*XA?A6=9kd+yWF(-5iHCBBQ2Hdc
zwC;zMQif)4y}XZ>7*hx2&x9!3m>}**rM@*X@=4zLcp=&8Pqys$a`G?hp=~6tmjo%X
z)U{~DZT1x-qkI~bSDodmmgfbs%J9+Rf?)y~4xI2FtNmInl#q!<@@diI4<8*=3Esw+
zRTWB7N$H2`1NZE+^2?*>zsIanY<V?_RE1k{+}{>4+MH~VFIwH#;BTHKXQzt=OcKUE
z4bE|OE2v><Ze~(+7Bs28Audtq*y??qNNZ7SvzC}|jT2XUIc->uOEW{-dU^Q^5|KhH
zLS}L&Dkv6{wHz<l%ySgA+8-K-jE5RUZD5tTd|u8TM>?JKqJ+?of#5!agX1$%O*V8T
z;+ro?$a(A#PNQpyqk?6+HJQs-^c2-46oZ+P<=uU^vB$B-MTrM{P#n1*ojuDE2aee^
zgzlqe+_6*S$gbXw=ArhN`G*JL!V(tMwx0!*uZ-k?JVDyezny%nWd#fKsuE1T<r9Z$
z-|L2Rv8~p)pY--f?)sN}EJ87CZb(&B?EB at o)kejDoVtI8I3kRoVV^x3_M7~aUX|p2
zKa>SW-c%wuvJU4i at vUHE>UTbfh15eh{XTIdj-Ada!bXy{|A75$>UxQ*Ge7e;RDZ>|
z_Y2fmLom~iq4+wnBPuN!{)%_$J5gjqK at lDM>dnd`@|XbyTokjee;LKka{+}eAy9!(
z<RjzHPFL|e>@rw;w4;81$W-i%U%iwEFR?_m{vlcoJXOvAYhPT0)`S2cA(2+dZF#dK
z<1aZ at FF&GtvGgW&XF&r@;2A1NB6gL4ei!}pwspbr?g%pHEN}1XCZ>59FhU}D={{_2
z=uxC<yFrhwu4YyBGTE-5n(}xVTjmO1JC29y>f}Qha9lr^ii58?gmbdBW8vmsDBxG2
z#DlN7yy;j5g3ndnl<3ngr0D<Zu34S_0kY2Gl~Hp_1n(w)P`Z%d81E*DQ)P#tP=}4Z
zC0&mLSP&ywLJ)S8G`&j)Ddx&pei6CSd*fEtySkds{lV#6yGr4*n at 7pWfO%VGnT-$o
zfI3Y{=`g--I at 4lp8|OXl!>nwlCIpagX-g_MsYH$jY<*vGi~tQPY8dMM=L|Mhm8o%D
zT=pd>pF!3?RLTsUg=4xlF&>G;|KwU0&VffusGZW9V7P8jwu^u3ok_gZQ87U_KEqV@
z!i_dB9_Z}Pi;x>3sGw at +JA59)LFd2=8mCs9(1qSbv(P%6UTwvYAu4ya^hWKUuUjO-
z^d?eC+dm*6*@X at lawbJSIyhhOJc-Llwb*68QXJGQq<p(7U7E?UA6XxrLElQ|4Vcwu
zdY}`wMh!0o*sJb(ABPVhYvjKG=Gh|S?qWJBs*>+aoAF5O08mZHd%28C8!%HuEQuDb
zMnF*g<a4=O5;g9ca9$Dp)1va~YC}S5l2raq#oyoZmAl8eC1^MauN|<6wUVfxeR!$_
zg|kJ at fc>iD0u)~$9qF38*SYxVg5n|#^k(4*@8*F=)&;fL4~8J9qhw3$leKU86+&CE
zm^~X?wWJP8ae}KzL`Xr*U<-C4PGCI1nWMe%zsXgJOiZ>{nPX(0ym4|%V>Xg5jq-SB
zo){GyIRFVfS=^qJD$N%aJSFU5EY%UnV`fd!!0%I*sY=r2E0ZutL?+~nY0y{C?n46o
z7ekfL)LbRnCaf{_k=co30;jeWXC-_54Xs9W`lQgk&+?J&2(*(e*J$<&quJNK6Y&n?
zh)E`J{ryTkZf-j8_Q-J$;^PTD2;f$Kt*SQv_<><($G+XHg%YOXUTS6<68u6=sa<9)
zC6D8`l4h)X`(44AC`p9|lc>Ba(<8H5g1*s$_VZ1_%k{`Qivq2(ptY8l;A{C%JYz3`
z#wT}3i{Hf?0GTdhmpl at m1?N=+2M{@j7dUTpP+uLWpfrcqRib*#4Us*_O3UmP&Cxna
zuu?eVJG<UN3sP;#LE*Tw$)(2$%qG6F>*_2ByK;&Pk!74<UJ{%#u>tSXZoxomdBd21
z7iDEk)<PC2`=$n?-!qF`k^fz|&v}O%RRMI6#fQFHYJ>WVAh{w7v`;0Q*H%j?+32kc
z1i%u|-Q2%@zeEnb>ZHu1{Egs_<l=0Qbaq}PfJu-svd6oIVP=;MX%X2^40N|(&%fNi
zgfeA#CTFAcOl&IGvi+SdLlR!BtmNxoF%OoAPw=;kgEht&CQ}8CDSj-D#Qv%Pk&!65
z=;!9ec}`iZiyXGlB8hlzJyx|hvVQ<lO{Tn at FS}E9<9dtb4&4OIx{Mdr1dh!w!!fa;
z=?1lKV(2_qPmX!0NTm`71Z;1P9A(EJZzSju6b<2`J`-#@i6;bCqZjoaqE0?{8^*1$
zm>C{Y4gQX)SFC&*rz1X&42&BC<>-}DwtN29rbJ2dTFkWwFb!Akm4GYNj00LWd*eGV
zVJSWO at 3Vp^hlv(P%BIq~g??ov0Lhx(=sUT-Ab4584W4Wem<uiAT(-aX$(6jHei%H}
z42eUgKa|R#Y-c_$E{P%SaXn}+ at b`V8At9!!YT(?mr5ABQt#0o)Rd$?sqc*6ldTuyM
z4LZ{G!wHNGq*bTM4itcLoqOlP=^bhctE{6;u~$aoWcyyA()!IBV~p4a7W#Y)dsk1b
zON|HmzX4YD<))D729XB`ef}mbA5DGu8;oy^YHQOGjJc02&Fq at l(MuT1%@L?^!C|`F
z-9ACqZFHWN!N~!QMB!4!xCEo|M{(9%CRwCcuY|ycMX4YtjwGov_Ik&oLJ(ZH66LG8
zB_X*XnOsQrwi?oWtP78C`UE9Z@}|v%2I#*z67V)dm<1zLg^ZYwi=186BJQr(=e4=*
z4j1EhdN(XNtRH{T>K+j|mcru0<5J|x)H0Z1PRj@^RlCh6b%FECPu>Qj at 4n86MpK$e
z at W>L!)Qe?AFA?~f1kBgoT_p2iUUL6QmAcX5B05VSlBJffr>DGPZtn?QfkkEF^R&Ye
z=}v}yjK8loqDs0i2XWpn?+-SS#a(qGt!Dz#vTJ+%epq_fj1bI5(x~CNp8>{GjzD%Z
zqww^;wCGOItTxt!GvWn%D^sF1B-2eF*JptD^VF^mk9)uoZ$?t4ppqN%lg8E;%)G1b
zC>Xp2KSYv8PlSr?`1n7FE0@%>frN8R at hHBzBOMZjp?#l!iGOMYEaljmp{sfc at 6~!T
z|7`IIv`EM|v6K at lb)OnC)1bP|8?G9u()os6q-f5=X!ICWBlmlag9X6$XT?&vKO at OH
zd1vql==G?XS2m)gUr1w`h}>Jm^kC at jq)a1$*|pm~PAJc8jC)ZQqvDm>vc^0hlN~>j
zKfWxMYrXioOvMmGI=Orb$lBGMgmg3DOhH5st$2$^{&oHvc9F#*LsPib?G%)ks{))j
zulv)eOE-SiF7gOE1cSw=qW>tabC|Fvv;I`|mkVp;o!v${k{trAns)cBWc)D5P=+W)
z<0FlcxaFnrqKg6W!@K9g>=dO8KIsf_rKk#G&1(r$Tvxc1oeDq}FCiXf@|9D(#SFD;
zP&HtwVVqZ3)wS{ptaZsu8gP5CtV3Fc`<<Dzm#Z4n4OdLVlvjg!)+hP+rtmIdc3Nz`
zZD3t}Sf$gb;U_NrHF1Y9^UQ$vv{bRPj*fRk);cmh<^*p|;&<$jFxB%ltH2CfCDbMw
z>~a0GC(IYUyo7`Tu5)^2{I?g1ZQV<t^NB={$|(<Wj5HvND)-kLgw*O$gu7G at a_S~^
zaX&gLzQ$3lhgV`+dfuy)g3#1LBTSUuFC`=TqH1DYBRj26hx<1?0(IGHP1<&9WFGm+
zXLa31P3wUEt&p@#au{ERSb94b8n(muftzwS%Ov|X)gJImXIS at N`eFKVdLimcTq4cx
z7`oG&$(M@*#+%83YP;bprUHRxX$lSeNpz^rd7&<^G(eRF=5&`Zn$7og at 2onWEjKl3
z5vtaO)lap})Lq#!mPIwNbhf)tzvmaYhv_%;|5lm*KU`ng!`=j+PR`I$$=L>qP8Oem
zp8h{+Lq{iPe0BzAC^~5qTQg^Kd<J%o|5>Rxt*K*&)rRP^TDNC(E7X1j!$BOC&!0Ug
z;_nM00o6P`9YlHS5=>PGW3gQPy1L7xcs1VT+Oxn}14z_$Fq3Fz3U_LhVV(_HN_;rs
zen09ZbPz2UN`Z+d17YpWzz{`X77R2T4S~Ten at uK63XNr`L=SC1I6E&t%3^?i5X`}F
zL?JSyPVnYG!QeJvC!K4^3iF;l70eJaRC#3|W6i#&*$oKskSGnnO=%1?2U3kuuM9H+
zGLm%94a~a|;m%h=57};7j!JJgieEZ>X;?@L2wT1f^_BoI?NKD}O$$b<Ke^sd_?Hsi
ztA03woY)_s8;_v_q88H8oz at clFHt(Tz({hWgnJ*qUpPqE1X4b~KoSV0LpCwL=^CV8
zI%;X~08!M0yauE1VGj(616EE at OhMq-0Y*H=htM&4J~RGUyvbm@=vfMIEzp>tEWL!n
zayEK8H!3?IX|zZrh5rpy_ECORSTm-8`1TP5+l0)Xih&wELNv$%*&Ng0?asb}@&Z6c
z_##$1Ermlq(;c*Ey&x)1fOJ3)_f}SRaYR^8qU=e5`-6Q2_z<E1+pR(6UNX0PG1$F4
z>qs#(RDJHMn7a<4E&nWWC5U>G<6Z>#w_<<{&s)kr3@`#MQt9klQTe~r&j$$d_+QRM
z{Z<H)J0dZ9(C86Z>EmUhLEnd`^J34(QxluYw8ckHMIJp?o9$*RqBYSv(&Z}8o~>%r
zXG||kt~((g*1TM5zRWf_VEt~Ac3yBhCl9s(YN~EHBAb%FchjzZ3Q`uiyvz$^UAYgC
zwms#Y9l>(X4$T?e)fx|I?A_eV3z_c*mfPB$J{0`wT>%Jq9)Mvh?PZFylOgixjxdGT
zesvzJOp;Qss(q<_XVq=qTxGJUWsRPV>9d{lN~ZkhiS+~K9neb_fQB*6H6D{sEXO*w
zzP3$|-aNM75o;~3Zr0`5I^C<E_Y0p*U0)p)JYMhm)9F!KwbNxo-l{B at p4y+1(RYwj
zEgf64Zav>`86#kGm>B6M4eA{nQkQ>(miHk4^D*`?PvkQCNshI3sIWIWZ|9*Ew=U{U
zm<NKN4Pngii3e6xGAio$u9tbYDK;tKDBtJpIKJOa(AS}<Q%{bJ+S8`zUaMGsg~(-T
zl31GsX|-WSMgYN-6l`0O`$CPj#Sz1uY^uoFbWY*|_F!V*;-5 at nF~lIR;XQ}pJsdfY
zG5DSPpvQf!b+oEwXvY*1b+Tk*U_-7*v~M1Fs=9`>RX<&A+3RkN>9QBTs_j|J&VO&M
zv?emM$7ky%T{ZEmpNOIhL!X=MBK_Sqv?zyaLVNW`E=ET77~|VVR_ube0Jt`%PnWKb
z;c^S7QZ$&QMd%){d2QQ`9x^@~O_=B)bVVTM1sEGhNPy$87)@qILel#h1ij_7DV0yi
z<B1dRqaEPw9=FtH%4cJr1<!%Q3wS*ot_bjJw%A{9dAI^Kx4H5jG*|n;XxK>t0`wxv
z(mj6tPE*j4>)XBvlujRROJlw4n7KT5BJnAOY6$P_K0dDZ&|5JzsWZ>cUb(P0-jDA{
zS(Ja^D?a{<s72lvb3BXWi-fRp+;>2gF`i0k43kh?-~)EBVF8#kaY)3Rd<kwxGVF at 3
zCvyBla{M52`($O9`A`PwKg_2cW0=uJzqD$HkUG!kQKf4w<_AR79~^1LIA6^|x#rH2
zkS1A*!wE9#*OVpUW>k)10X%l6iz8otd4nI1$0NsuKjm$FwzR%=YKKbFfB99Q5OFpU
zpPeF`CXW3;WDT<B9m@@{9cihM`6ICbuU|CJ*4ObCO;zox1{P(QtWKv&v)&ca1wUew
z?FB+4!9zm`q<43TKXS}q&YkK!CJd0zA7zuel?ZRe^<1%-;%r at ji%LWe;>>NHl&+Rh
z!=pb!-x->LJ4v$D=i~YUWBKRbjg3mh=BxYtWub+>|0?mSm1t~h;zoRv7fK#`+wdh?
zONqw;;-CN~ho8`Djn=}(+AP(Thfljbc~*69S7(y>Nuy<TBB?**i&hbhXjr*-%0<UJ
zV{CppjO8s*8BGe9NGHgCQTSR%8=xUb$v2x%37<i<)T|nT#u1L<T^u|B=q$pDU2&X=
zzB^q<fScDy*45LVL)2Yq7|0uJCkXPlfoeSCGDMC;GWbXo;(hY$K1)jSP+%H~^8{l)
z40IEb9?%qCq``t6&hpjrj$Lh1#Wky8^!?tn4b4M^{Zt^wD6PR?%yk+fGM|0hfDH8D
zI>v759DR;b6(xqfdOR6K=dYTqiLVCJVT1?@!VZ-~2E462IWX!_H}iY6X13kZUAXdI
z<|Za!9W5OWqxZTw_hr*<h~B5!9NzAUyHtYjIBY at M=g~PM=y8wH8km>Go!-~T5GNl%
z4nwxm>!qDs6;8W()Av^0u-9IQ!pk at 266cHbr$7mO20`O~%RvZ<ul<2mS9zWCaXd0W
zecONIcPX;mFxo$}p8Y=bN;P_Gsr#;fbdZJrFnJjr-P}zOpW|)ciN($%{Dq&?!SVmU
z*E$0;(|`FqW at GrDtvTD+>yC%44?ewuaZjXz_Cew{xQ^4RitEO1jGxI89p(|O8dM6H
zxK2lxZCC(uN~zRNSH at PAqTKzWZbfp=L)HTOcv|Sa^bPn8^ij(%pe}MzSs{Jy&v9tf
z(OQH3CU!?`b$Z_SiWQ(m!-`X=b#<Tlx^-xMBD*`JpOiGTse<9+ejW|UiXywjSuuVO
zE(t1ao6VD|Xi~UVqlBh(zJA|_QMY<+O_a6ai3h^SS at U9d$)gA(0OYH|l;;WG*T*8%
zg`9dS>$JZ(_x}GGq&G}Ccw1LgJnk*}iE`_*_6cwj-Tba>r(V2ZoT~dy%X}d-jz%io
zfZvrD83JkL3n12R4Qll|l5D2LOzpNgKaxf&O&QXok5&G8;nJzzKaPWjBCj0rVsq|7
z5FP=mWsTC)`{KGYq$fMQ6R-~JUQ-jnA9@;Ngidn^(q|B<Al*vG&7q#-*yBS>Hcxkg
zv~Gx;9{=TAFl6fiU`Qal&&wP1n~4Zc2!$kkB3iGLh?auPM at Jc3w~K4k!!zMa69&TK
z`FxMQ+C4s3isUO1R^*C%1EyXHKhRV8Dx;5tEnv)*ddM&dz6b#;SIiJ|$kh-rrpBiJ
zvG2eG!W#cR-RapP6OcqQ8liT!pN23il at rsbhKna8p0DvvHnXB<iiCKEL~fsH?mi;<
z;;R_zXT=<AI&T2W(K08BD2!_^#MHMx*LR420k^u>v0x;!sBHQIIxFWk3k`-C2xqvb
zE`|VXQsN~p$s{Bu)f`Wqme7?+00R6|WHj9#hActy#~W3WI3 at y6z#X6DJnXypY6M{p
zXECZoK3U$Mg}$b*lxGD7Kl3dXA7&5Gu$3ihxpsdCYtlGZWqdfU+&Q2I-Md{1qhYqp
z6y$LI-#D75==^>&73uwGeo^0 at Ed%iEQUAPne*G9T=L9n#w$-RTA3z|cP<6o#PrAh$
zKRXt;c0qyyqW)$-`Lih4D6++Q4L{WAIZk1gE%qVApoTqEp8YtjJIsuTTzV5UYL3x-
z>qJ<YQ-q*DSJbIP1V9w at i?*x-n51UeTG^3-?Y%-X1mKMNnuhtG#6LCf8qLaP;1N=`
zEXCBGXGdnNCd)P#*C^(ats*1UZ9mgDo(ujSTK0eaTMRRfE-C1-LxSSmnI-2xH_-lq
z*sGp%{1r|Oy6vj=Og#WI%oB<QFLc40P2&PWS(yxJj2FUuVW&YtMeJA`IFRNRXPlM8
zOZzJcq-u9&+($d*nRU#D&zl{jPm&a9=}&4I3sJd11E+Dme{2EPsQHF<>u=DI1JAk_
zw9l}0J?Itr5+G&IrJ{4RpGC<(s506TpzN~8J|fRAaD0e5`vj0%lik-RGsJxxRV_#>
z4X_+J`~Y#@y;xgUst=$`P7sqW!{LK&h|G2JgaVS`c=U_`3Ro{X9J87RT*n7G>c8Cp
zoc4>0I$3dvNQ|U-;cni)hO7cy^{~v`89t4$O|Y&HC?Y4(!QIbW)U^bX8oh9Ko5aC+
z24%IHmJn4Eouc%U=cdvs*hCS7_Go`Bj8fY;N<A8s!GMlhBYfN?Q8i}amp80s2B1N@
zX`hlj?Ys|YDcGsurdr2G0#1PHc5uO^w2|9;O!Q`=vQ))ylyF0k2yJ<&f}`+IMMF+m
zi;fvWsA1+3aZ&E!tU`ocf>legr=qKB(fAVAbhp8<(4$>eUPUUoPbnq?Pt?x=%5Q<*
zxox*#(@!m+#-IJH88{#3D=>A>OEt81mk?X)E$*4Mr*_+ at bM1`C&VZmE27BV?9~AYu
z*y1Jzbin(U`2<eW&BaASbwvBqobDe(*-LI<m((Zld<=BeDL7#R0rCgdUgaer%PBMg
z-5AP10GTz;kBi{p025J>3Hey>!ctG}gW0&Cd$%5|(3p!(d{h~N4Dy=$@Y%VLw38VF
zHBbsVmrSd`bZd}?dYtuMf?`XZY_GIs(^I{Ip!t#LpFv_d2 at F!5k~1hmHGbo46U6Mv
zLtD`Y64AipX#<0Qc)v5jFHE=tS}ti&FCVwD{4OsIc0;2VQeE$Mu;0Z~Wp at k23@WO?
zXaNjoI at CZ1#7?)=q^UyzG$v=x4(+mcHWO&6cTI;xjh$hq#(v8taW^=9ZGDhd9F-q^
z80kD>!!P!N?D9G3xJq%qc8dC(G7#~k<Hg<#zj#6wJeXUkl at pjkrqL6Q;*_i^9zmV*
zl-7JnO|A at 95s>I)y+=Sjk#F^88aui9W3KFo<H-O_Q!|7;C^ZAwuoh^#b%#4g5JDCv
zuWT@^zPNR^1c6C at fl@dx at l-w>!`uSp07mo27}qeT$BQ!r0Fp&?x(ES4s^P5z+3?>c
z4mneLz=mP~rl}Fk7MRMDCg>N^e&F;P#Ko3iiRj2K0S7mru;CSX{^6B06g9LuEg)VI
zwr40dwrweYWbB$)Y?)PLvn at I=mC^9h+7KF55LfTwS-QBo_M3<>bqZtEpU6|U4?!Vj
zeSDH7q=v=gjoX_Mlt9=5B>9~U<kCv~XmxKy5FVxnG;0dRhmf**mnIm;PG%+;_fPCI
zKi%FmRIC=j08Mk!;5CK)12imdWH)>0F4qu$f{!tJTJHr<Ne>}7O>L}S0W{JeH)bSq
zmiz%kM*nOfW0^Xaj#q)XsSeA@#SELZVy|#u>jj(Y8iiJiTvp`r63Uo>YSAm{756$a
z<KS~G<$KpcRbhqNBLdMy=~NU{^8!rzDI702zbp*L9C;R7KNLe)d8y02Lw;~Z4`{_{
z3I+|5nab}9;3o=e`Ofg9RnrBff|hMv83K0za$3>F=)s~x3gmH(w&(+lpAK&uky;e%
zBc`JUx?C^bE_i+MCU_3w;vlVDmKaukDJeta0&tJu;=jajvDeeRh!ZX)55hV6lx%ld
z46%BhuZ1ui at hafx_KFzmo1FDIqKGK)2}(EO{v=e+_Nh7*S47B+zoegy%=XNhTsb9=
zW(KAhpwJ|(q|Cb}*$LfJd9|@i_G4DwX3OuNT*fA`sD<GvzuBphkosH-#guB(KT_!G
zcvTQ#@?-(MY2xFeadcT0eLo<hz%dK>M}Q)j_N&A2i-X+4 at Qas3uEVUTM=3oB^-dMR
zf7onZF^4}&Ne7oIeokS+qpL4BvZi>zl^(7%WkW1A0eR(wq at Qt(?nGpwYT8^D*cA<E
z at 1N1DJ{A6yd#A!rJVWkc$t=G}vR;YnpJYKS5MN>)AEL0-3Dus5G3V}xKZ;7d(6$zM
zCPCAQ+VLK8CWsL2j(G&`Gn!tgbc1As6d{N~E5Y-TYlNWm<J<CjGCC2B9zZp=^a+QU
z!8IOVO;zIN6#5z|K+WSKuT>hWB@>dcOZh(U*Yo}2VR?4<+w3D63<?A9SpHf8{GZXu
zACVX6bK5u!KR8nH8K<pv#{mmvZY=7q|5LQxoW~WrqxX+{GE1M(=~W+{=x*F_<?H(z
z(O6HNX57^nmsJr#!|=_CK(;*@Z$BzFMUh?7^r+k3b60!U43_tnv*C_GWorIW8BMBU
z at QC$X40QZr8w*0IzgHIRmawoZZk$TLt)*k=dgpnzd*2-20z7CG9=un7fYF9VYl%`l
zK6mdc#6fEL`!jSbTJ8B9W8cG_R;jN<r12phvoy4x>VzMU(LU!rpDe{@*k`eLt3?WG
zJ#uEo+4A1CXV~2C>5pv|^Y?`PqScsX7R(Ums)?tLU8wYyj*7%$U~=%TC*I6F@;54(
zFg|t1t&nTNL6`Nm<hV+ZXkX3*^nO{)yK35miU<A0(4&O%Eb24h0~knXfX|<&1gv*K
z1hAEij+kya&BS!54{8uLS6o5ux?XfdN5lN5v2%glXX9=(q?vbWV~8OFz!f1z(jvlS
zV~SIQ-1^DuYIxJ{VTV7etQn|fIG+u{co9+5)x9{wA`VS>Kxp~dT{1c$T=eJhgSHp;
zm(-?Q8|nzlBy026zK2DWs6KbII_ZjCheB#G9+_LnhQTfj^LUF43bRZ;J4}7Fq(H{m
zBEh@=7~z%?-tP3q4Cp``8?l<%<>%$kJ7lH$q+(>RUHp(puiQ8|`3pmR+&~vZGxj~;
zhebOIbKoOlH^L}r!+{2wJyFk%4jE|{3Rk6G>jX_Esxz+Dl%q&A{-yo2=VGjE{@=@6
zoa#&7g{(0WQ4~go12caGg5?2*qRjzvGSX25DNC=on?~EU2E!I{+tNRgvP<PAV(>YA
z`9){&Wsw`QNr=SMqc4#ZA2dv#Dc<!L_%vi|uM at JhowI6|Z6Ekk?X!D+uRyM6B7MPZ
z#iYz=()+%wp{o5s4`1<^Ku#Q&PsN=eWMAP10&x7L``S#tLlrq4)Zv6%vTXTeLb&#K
zfKz1b_ at 1f=!MV{SgROahiH#;ovmfBrsLkKjxW2r%xY~07FIrjg&(pwHWEH=p{*0x@
z@@y|me5%IEP}6z#{YXqarm4bAu}()Y{apzO{9=BN{<~s<Sey9(fNNQLFMs?6$YC3^
z`8&2d{EPoM7?4)U5eDAzBKC_4kJ1 at 6AkcGUne;JazZG~3BiCRXDC9N`;*pL(zx6hS
z66$#l?&oy;W2yBE?bmAez^@!#X13l?RO at O#xf%eIpc~#&4KI7M)a~yR5ak9jGFCZ+
zJ$AIO?#0LXOi%e6rOQACADo!3?1~kYbXiB>YDlyUIVJ$;>5-+Qw%=)al-~yxZm(q!
z<o4XF!udMYySG0=+AToQZYvq&o|~PSFnx2aUM>%&LOr<%(yroR&=1~QK1z5p_6~_`
z^$*<XQ+$13$Fc^kV4ws#`u3Pjy-_TILF<EGEr<ySFQ@^}&kpHSH~6*A+A;A^{KoDA
z;FO1~62TtkXyDhUxKFzc1(0fSZnt at 002t7nCa;&FRpSau*bA9bTM}sU;j-$T65_C`
zerD at 7zp+?OKTI>vtL5P{B<6npUYOal(cGVd$VLnT{tJAh4!!hWs#=!+hKpum{GX>A
zN;IY7wpbB+Kh<Cy7XWNUkSkVaC?Hp&t_b=~%@TwVL9AKKG{xJN3YJ>OqP}mn=p>c3
zVqrnRwvaWb8zV>RaIsy|2KZdmj@?vh7B$t}uHRKedw$+yvG{%tQxH3G5N-%3?eO$`
zzDvn(lv7zXif(Z83{~U8y7H24V_z6K{Q4F($&Pn#+(wZn+FqOwa_zj?aAs{UHa>N9
z(<DheTz at YQ`SiZO9duj9qnhbIpxe;P`I=@srBy(=9~q~ihP+yktSgr$oSnDqzXPy_
zlAPCGc<Yjio^<UOBOYBZLUTWN0=Ty<!yb>1b{@xYiE%?d`}<mL!mRxA)FP-qncp^_
zd*FS{yy9ngZuUYpaoMpue=t<Q4sMlmSwjph(xK1VUAiOPC>H)LVdgejqJ_d~X&7#!
zJThmVzGH8~By;yRk`Z1^1*Kl9CJ_w*!x!64V*#Eyx7H_$6Wt at ArP4vqW#b68$rt8x
zBMJpwKZY=Z)uSHk{dLcGBKdqffI`Gwx1?KxB&?1b?Oc!cW^Zq;A2-qAVb%5E#ZN*_
zvIH#Fr=<R|<Qq0zS=CtLvtH4HSLtmxIL<6`8 at 24$M-cWN4Ez_97TEla+dY2$jIzUh
z)wPJLXKR(yqvu}+UlBNZ(DbD~BPPW;sj?f&xm at DNHqU0&s7adowS2pPtIIbysELf=
zVJFgufMA2iHEvb^RhT%ZSS2A)8qjNZ2d&=!_Ueb&a37&c^0L`Krp9?Wa9O%l?8P14
zGASQNd1B51&p^z_h{zl}pC~GGNYt8y-)fBJxPo)+Mba;A!p>rj*<$f;GGRYWpLU6g
zLfu+S?>ER8V;o1|g0m9oP7EQ!R&E=4KDI9u>q`0&R>C8v?zP0pUJI#>rAmp3Ml}tx
zKo~n*kJ0x84`$rZGjW>vnH-%X=phxj|IsMJR`a<oiCBNyDUn}WP}=q2I{lfvU;76?
zoKyudELvE!4&3{n5W%gg3lM}U4{pc7SW=I`3?^@RcmoP~MDxTojLD&(_V}TYEdygl
zAZ2s`sS7w`x;3w4NUwDKGiW_DDnh|cDB#Pyx>IqT`MI-F2WZG~f^=#ikD}oxIW at 5?
zR*qX3upOMPb-RAzsU9<Eui)QKR69Jlzn#T&f&BSRX;T%@ig@|={@<d+Ac427roV;F
z1h4qowP|(1Hoq2j3i-p|;xc#WVh`bS>l1Zui_41)C?LRVWb|+}>;MY{doWqxh#>+D
zQw~=U==LyAD)qf at S;?A9Q at Vr^`t6q;YU--c+nKMU4lduvk%Y?kh3*sihhk=80Q@^B
z*c^fpxZUw?h7bpSW=>VYXojR_4oS;~%`EA-bec#ng9Fb^7M=#9S5?JnQ}^C2y8Uw<
z*G`2 at 8nL_hk=k+#6Rb?|sNGC#lXuqy=peul(5_%FcRqeY?LC7jc?lRDMGawDf&%au
zo+vU20(4W4JPg(kp*AK$lq)3LQ>A-TtMOTbv+u)iNy5Rq263UIPLm{*gYWhRx@$oD
zQLkXc2`mP$2zSYKsI6(+Q*h>=&~b*bhx*o{h&%V8%Qf~PU&epFjCsOr^S>(16Z2wm
zKBbu9UDsU at eJA#To;2nVy)H0Ao`QmlhBxPEbV>og=|N)$GZXN%*i!q0ZVWE%V}WTO
zVz(BxqKR=rXc52`0->^hEwI~J3L~7)q7_2chOC5y0yTgcdPCd~O|F6mLwA$hUhW3*
zXoLxID$)2ttEiubu^+I?0(h|9ji$OzFDE`~kRl8p9DTSU!2H+vaCC0hki1G0^}DsR
zTq#-u$S8*xtOkV5aVFBy8hy{)kgJ at N?f?ryQjL7- at 0xsWJTLWHWe*J at GbbtEL4lU-
zqjkdZ+`~BltJ}@6;{0u%8b7i{sF(QG at chdT;1jUy|JhG2$89>jNIFCcFpc#`UIYYN
zjmRD~H=T?i+07G$-4WhoZ|Xfl;sYpCwV-UCtkocr2-NrCmR{7tg`s$m>9LN>(Seoy
znelzxup!=(Bj8{@=*Tv?4DR9ZSsMXSYWe;~6hQD!fE?VX#E=hHPTQaHeOG+yz>$n0
zK*-^PznT5u`hap4CxjVf)Y!8I5zCC6_medOrlkHm0HBKW4&{J>lK2Ko#1XBv^`YZq
z^~dL9Kr-9=b`+LGl7Zc($uiXp(bz9`fMJ at qgYAQWRX+$A(>c8^MDKAE(UdK8Rxgv{
z9w8zPoK)GqY8OXfm-+MSCNH27ODJtF2<LDBvnJS?3sg@#CNwZUVc)pBpI)K~utYDw
zh+KeUX_T2Cu<#21tn3h&J8F{nh<#+<mdpsX!a-QhBJNSqV}M?$>;0Ou?df%x_RD6m
z!uSA at lOCOxs*B2i&@u<wGdd#O3nvQaA_YdsLQwzK&ti1C9v?=LoV>A1uRT$1BaQLW
z!?P)+B+jZJLMqmaw%vvF!JVl$M;RiXVRyk}+pVgIBLdhFuN&ON>&rPBVt0%TJhiwm
z5wIDe%z9B2Iba0}L5;Q!PX7nX)ywTyue(oqB~<wj_vZ5eT&mj$j$GO<fmxYBmIfXE
zc@*}O5gbSt)mhM8o<mN}u#AXILx6d4;%)j^p$=URSIdMEy-zX3MIWW<sxxhIYO^Og
z1K0z`DSroZ#@|5-qK*%s-Egk#A4klZF2)}4y49CgB`xR6UROFCuLXG&I&U~d92rM1
zyXubO-phmCDFKBm-i7@#$}uQ0WOIZFGHiY|%^2~e+q4)P2Wbu`?i<>!Y)&F(p{lCF
zjL0K=2yL5B>Xg$h;2wc^$S5^<G~zM<9#)KHHYD2#@hog!{erI|gG=V at f08YQtggIo
zy&GbUSN6n4P0=)nW0r{&?rxvMkN+GEqms-oPboG at Q-0UxfcO^?8L0AlhW*>~1P-wf
zjuuyr6Y8=!A9?u15U9N(0Gu;pYDJB1pXbG6pNux at 2IHwo)nOoD?6l^Oqta^k-sLrN
ztnoC6dXr!_jX~gJv<G-;dOL^^AiW=#Z9b&7MhJQr=Jeb55IqAeQjN|m<s6L^;MjD^
zskAe?Q=SoT_Tp at My@hGBz=|w?1|}hBGSCcp9uWu~`u8x1vYaK^%@%mvzawvQ+eu6p
zk~f3*fLa|;XDY>`f4nc=sis|9L28DuHoulwW+0#mb|1|*BvDM}{wnm@!%d&9AjrY0
zDHfV}Q;{2vQ&>VgM!DleaM#{dF);}Hc>O(D at TMkHqdbWZwhXCEU(tC{p(lq|$Qp4E
zWrb(@4(fZL+J!vhVtE^8nIBRT!LAEwR0p0af%)nuIAv0my}ws`yxbr~zL75o_NH}d
z95=QH>4wssY at GP?4m`U0kcP6?068FlA9&+(^9J82_%uDxH<)~Dw!v_CZH7*!%M3h>
z-Xm3r#LVoIy<eHB*H-;AR0qj^TFnJC0AQ~uYQWXiB_!5W_)WvU15KR0oN8q(nrdy=
z3_n)e|Gj(;Uxc|&1Db0V)Hfvw1{q8q=;n3%=$z0nm6w{Kl5c&gJ(Hneu!Gbe4)0v(
z0Vow|>vNn4kIY0F6r!uP{Aw~JKqx)H*L>IuwqQ<)9NYOxb*@v68(_Qp<jRjr?>OgA
z!~Kv|Z^Tzs68!$jb}1<3)R_#KCx5}^{G&Hk?IFw(J^IL-BN-?>|4Wk1spEUI=l8)#
z)-#m|q(UE5l;7Hhev+vR2Kmc;VRUBw-?y>lNiRHU>jlm*ZoxDQqhTmt-yjl?hB`eo
zA4+fFBR7F06pI39_0#J)oVW8R<tW>PvXpg8JI>|zYObYE!sEfM;*NQ#KvA}e?Xa|6
zzLQh!WoC;V|2zNaJ)?Vu*HgWwE?}5IgQ1tmE;nJ%-bD)qqZzl(&(|uyiKJW0Y3 at af
z63l~=2Svf|J8j^1L*Xh+^A)zRdQ{}b+seqJE#{IfWedPf^^6m}6`ub3=d4M)1x6*k
z!mlsr<h(=DN^I0}#iGZ)a&K=%s_?YR$XTks_v(kKSqi_hNb2dxEby^gAxI#Fy8Vl^
zfc(1&u5%79 at kZTZx4W#irDTf~6+cg at sHJp`$gt_tEoC~k?-SMSyTB?fn&PA2`tmp}
zZF+28`stEJ3dvA$j3n-RC8wYyj8H7!X`2g`9+3;ij!Gq^?Ijc5XY|Z6%{n|GBC78*
z8s<e)A#@#)!86N0V0nca=sc?kBIxLtW&4f>9?WUP4QbrBU)nmOHxml;I$@mI)oO^|
zw&SIbjLRlJ>ylXQ<<vFJ9X at -#GcK~1Wz%loie(v=y?+rSn{}g4=&9ikWCl?Dw$nkX
z8gA`&Xb=2b7^GD0N9&uISN(2$r8TqOD6oc8%V at oG6L99HDxSoRW++ci(VVp6O8LC;
zLl5yq)erJYwoHRuH#WR$7Zug=TymU7>`>C8+2A;nBVDkq4YuM+4w&<ge*tZKW)l8e
zLG at pt+sq7X|8tvgM0?w5lNHf#_8)8Po!0aow%*6mYc<QYG^2}^?RCzTF<N*tTfA6O
z(P5$Q$Ms$ykeOor&!IHeABcdc5ko%TE`Mn?ke?!|Y1NIpVf&tqD?Nlwt=(Gf!!*C1
zeBUh=nC at 6n-`9^3H9ql<LShLCNwqpVL&dtbs@;{{U6U}@y1H79Q>*9a<rW0TZ=Kf7
zj$FIT!k*1jn}&`~Q&ELZ)2EBLRlc6L(@R^`31dP~KjJ8ZCk)<@m55^g<ceVN{q*na
zFsh-|F~>zzm3Qz5z`6>Q5(!F at q19T@gcqKJoi#k$3$`%M-ENCId&{%6ZXc(tw$?=j
zdE(r3%2az2;DFr-V&6jMTybLQdSBG!8P7-7 at RM2F9_fr=CzI6yilOD77jO-m{i!@v
z5cQNQFD~c4g9v6!&93D-x}QT6#`GkMRP!^;@!|@$u+|r<`Fnd>#1h~rKbaa866s6x
zlBGK5dZg9p0ag1ohDm=`mm<H3O(Pvn5{p|$YY3`pnU-C(5)#usVGcCdt2D1_+b#KD
zIK5Sm6Bin)HX={{%laukcR`J9RwiLq4-ZhRxs at Lg^to$|KE&L{;c#c-#Dtv at B1G(l
z&d{7Bu%mp$oJP6j;a8Q080Gqj%?ca_PJ%(|5^v^X$bxf8j1+MbT1DQ>3*r81 at hGJ_
zP^L^VC3D{RM}O?fTqq*lP91IwQR4Yzn#O-}cfkQ-a4L^#jCqN?0Yq%?op@!zn5WPq
zmh;to2qB#k()rPB<z;4qQX~T{8O8lQ at 3-`K0t|D<K`|{r)y<>l&%$mTjg4v!y?K}V
zjT!WuZ~NT9BE22o9pvNbBU^v>ilaCN!XI>aI4yw;ZHfX!;5 at VnTwoc%Pf<<9^D?Y?
zq2HRBN*qyUk+2&t(MxoR at D;KaxMh(j@$1@<Vp+am<IB%3%e1cE884$>gS3=<_*G7p
z%T+g#L(gq89khG~&uvbeLMsT6-j?U1Z)Uq|+V_fBnVY_yqFx-fx7!>t?btU<I8c6!
z)d<O`JdN`&E;2}NxM at Z!{$B--KZq6`Kf5}ylynO&C%khAm5y4?GpPCCXhC at -^m;9|
z+r~EYU$W)=s at M6A6s_<63o&fK%sj^1eVr5BIxr|V+bgpGqaIu9vPL37J~U7$X+oh~
z-#?O-F0EWAbU7|NyC?$k=KZfBL7s*_0Iio7@!O_0xY3=pv2DJ4(+yw-p84TgUe-)U
zo%f=-3&Byd`bSClG%`pcXNKso836j!urlSn^z8`ro60~md#OGv^c*N8Duw8JrUaQl
z$n!%X+>Da8xP8f4AN!2$@q3|5gi`>E;=-A+FGEJZ^UVNt8S_)pRReGUS}>(HWgupV
zBV2A9WF$q?0K<ZW`x<Q{FuhixzLyX`$E|;P5_ePx{L%EccP3=%6C%-FPh7si;-5h9
zw8<nh=SfGEpt2E5p_({}=_|fKutSmWvqyX<SHhfTL^))+rTv7{i#R!gYND6@$;TNa
z=JXE7w6buFE^!l$RvXj7gS9sMSr|;9wo1;|_(h!<cVfmh#oEWTkc3H$p(EwU<FLV9
zcFLGn123NA*q9s>eBSa(#*hX$PoorOp~jfHr<z9DZ0<%zc|QTXpdUDHbihUT2EuJK
zVpeSe-qhgT7JE&i{h%>v-G)=AaWW)6ZzFwNwURZy=XpM^{$wpq5P(XRJp2W#&^2%v
zwE!v6C|*Lc1tSaw98{zS*m1rx?LU6e4Yl~0n-VSseB0qil1Km`<C;n-LLPa#d0os<
zV^$EP9^@`In2b(`r_~?smR8qGoUrU00l`L)V!83)n2Yw0xBdwH-Z5672 at DLFTFivc
zG5aCd#IGh?$YO21u-3x<<Nl}RhpLXM8J~9b*GAhBgoyFAVd_E)IzAt^T#E4GLE}%i
zr_yo~A$Y&B=PIw2(_X$;)~4C*T-`}-6)9cT*0h%NMJrH at 7kZ9Zr;V`nf;h|_P2loI
zr>pzTa8V#oz@~`>;h(pW&`6;DW;6(JsWI2f4{#3RhQx+%-U(u!-VoU-m?xXZQUF=q
z&Ye3+rE4cXjojTLdB(5PqRYo*iG1l*S8<iT#|RpX2f<Y$nCTCI{*c!5uvRQ6_?q3|
z1)dN2Q!&#l85d`sayrq!9@=o>F_~i4eRD(K0TQkrMp{rSX&$Uwk_CV0U_}42^Z45+
z=e>9aMW#<HgtxJ0pR8fex0a)DaDT!EpdP`+;|65=#Dd<WR2Jm=M^$)>DsV`5ajf)?
zy4{unAOLFcU%p0-k?>_vd`J#W-6<w-LDX at 1*Q?x}HBC>Z;rui5_2Q<G*MN%$n$ib5
z>oS?Tq7c$9li^T|aAV at 90c<AMx1g~rN{S4|G#9huhc7DdbCW{dEh_j6BKK#c>f;sy
z_#YEIGARHsJ79z2>(N#{V16@#0h at G6BKv~!p0>{#!Ek2&<DK8Ea)wP7V+Z1}-bKSu
zLH6R+#IJjXzNXmL*9Gmdm4pfOC(@ZN0nRvu2PwkQ42KbnR?C?b00ovFch>j}nW^~?
z71(82x><iK(KBLuABMLJ0y)1Oa5W>~b*$Lj_cEcHQc);z8Ulc1F3JPWx}8airzPnI
zBE#&txC2T!0Nj)zXOD6Ctq3<7^-6=(@6}J`;Aiu%W%`b2AGUKj7drYvH`88!sfL5E
zFv+7Ff%|Vv#m#tV($vK8PRuhN%nJKko|HQL8Mou(-n=fOv<C?|r8yG_s%>aID|-GG
zfW{7Low5LQ7MAyDPgX}M&s6}0JCj!MR73+Q=0mR0z7sx=(k}|;A0%%o22nH9FS;r+
zJxRy|C{jz7!$)OUi7)TJW(H}}sUo<Ews6-(89oalNL|V%{<j71#E>#7n=}m$u4Kfu
z?mSgmMoOucObA?KGB9&9Wd!}1Ij#X0gI_#7%<fZ^pxK66-*V*Pdh1`C^jR_YTsRRO
zlaF+qN^ru1X1{`}%-1IckXNvnfoQ%BlVfqPxLs1F`EN#j2JZ%yT(e4)$BYl)NJ${>
zS%9J`d_)7}T~E$Lo=$l}^8A2z@>|p~G at f%ZKI<XFlVFTnB_j%iAVY!&Bu<nE;W24u
zNh+#m_q8=)jG12lIAT}>lRLgAH2(`vir(PXG~ErAQo$<^{A4~sX1hDSqW?Oo@$c)@
z)dAnNs0FV`6^sw|*Hkr!of5Pg`xnMAEbb|WzzCHJB#qzoqvsMm!3_ZsFQN8Gjs7`>
zg>;{Vr>V~3;!-o7nIVxn;~+x%7RXs7H$>82+Hn<C5lD&VJ at hbW53Q)@wM*_CeuRo-
zm7$>+InSW4_T+KVZMi4Bn6a17H3*59w(B;YH|;5*pIYcwtWL0MA)R3v&Y*uvO}T8v
zxM!P_9iZ8381XS+GR7e+iGA=qYX)k&ZShSeQ%?SWoPBe2W!<uG$4Q4B+wR!v*k;GJ
zZFg+jwryj_=%i!YHr_txyZ78X#`(s3XS{#*USrL*GiR!5R at JJS^(!|wCG at IsYIrdW
z8dj0ZZBe#mUZjaf_4ld!4V8|nlH<hbX&!ri6fs at jNqwdTJBSd#7dW?fIK2?Yufk^E
zPj~X4q&SnU6$#0#ws#WI^=5zNjI)_(WuzW#i2EITe7k at r^yvi$yD*&zkQBCU+@*vn
zCtGC4Jgw;R<d2eWQ!4rmv0>o2rp{CQdc+kY<KwvY>|gY1H9Otf9(a27Y;((MmLAVc
zMGnR<@p^lTm18i<Ai3RWop8z1iU!_$-fFS|IeAgepy6tg(l!#+LAZz&{$N^m;YBZ7
z%dj0OyUcD&K8}NZvp=OBcq`BDKke6eF(zkLv%h_mfk1Rxx}n$cSe;utS+ZmxO`eaj
zG5z`RF-c$ZaecCYYK!EMbmnCx4hv2Z#$t7p;bn91RD^do_gf0aP6ol;az1~anMGN_
zNqjW;atRy*=d!l~WZjeR0UwMN|FG3v4WsH>szvVi&)sWBUDodXFElK at JulB)M`o(}
zX*0|>gr%}e6#NcTb at fq?ns*`(FxW6|Fya86>RUAHAp(Wji;9Z*H6c6lGPOWYarrVd
z;lXz=i4N88p8ZC5>FqHwA~pk1%|H>QUgD~@-!|MH5z+V+<G)kvfbji$KSs6iMj8rR
zK#?JiBdljiFYh_gxE)8wr1uB-RBD{ln5jH;u60&Y%g44Fx^<?5WKH1H!iAss8;)+w
zm98!9C=zbq at E$fJrnYBBFoNo)HBS&^L?3ez%mzWl^ddP!XdUW9;<!`<N;;KPc&uY-
z=!2a#FTQBE9rirP8kxnniy*=WBlq5SFShlP^5zY=)tLfL>@Adg1rV-OF^8{++hXF?
zlo at Q(%|eyCoKK4fwCNL>rgo5(SImHrBgCjGwo|*c(sK|n4+WZ7wXVl(l%BCQv4l_e
z30m?Yibt|0d-|Dja<FX35R$=VKME9*dyXylF?0q4l4d8oDXuHnoE0?}BC?mIK!}YX
zVyFQnM>eb+2OKA8$m at 0>963UAqQ)Qo*A_O>NIvK}KgUXzN|HMH;J^S#sbM_cv{>PN
z)+^NDXC~gpua&=oEh_oAnP<^-Gbx}!y$8mrYBSe0#D>i|=JN_B at 1}maU_B04aK<Pc
zPaOAb2c*->qJ-$52yr<f;#v)2oL_y7LTIFfLH1vqB_I-H=Eglak;k~WK<mUsV?PU4
z90WKxEgK$4e~Yb<oW|q(vS$Dpi?oGlK=;+-s4lU#(C)|_3c7l$6D)F!p7{_F+WMJz
z&GHRRkZaFp7{mZsF2r>JYp-9?CwjbU1oR`P+lt0O+VT4SCx5-9rKhS^03lsF^YC?c
ze1|LD1PNVFT0_d_-LI4=E_-QRoBEd4=Yj)A-k&=nso#*fh62NE8J)OXvO|tF9oW7X
z_v>iQBHEv#&_9B~`N83sOZc3`;|>flwT)K7Wg=l5>n)b7#o??BT}7{jt<Io8aXCH?
z&OH^+OOv(M*ssLKDrS(DObEH0U2)PhwtE^p-?i0+{*jj>uL&R-?~yC6>{T*l=lig}
z;nL_=y5>h4xkudM=#B}7<!~pE at kb9ESu>VU$x-+dT??B**j)Vd-Bp{-QhZt38icU(
z3^1|bNwW&D2BWk&Iuaz?Ik{Fze&vP+T(lP8>rmUZX!7o!A2RiLcjrJWm=MC6M7#-y
zGFgNCPI(TSLH-WI_YJ#p56g!*u!ZR8388l=Jkh#kx>Ot$Ho*x?r2jjCs27!ph8|fK
z at z8hod}0|w at Q0^`EeJP+wnyX&5a=Y#az1NTt3{e8&W4$>pK(w`uLc!M1g_I&XyEZs
z33P^NUrdyyx)W7sYU8J<caprYD%A8?vsApsERyTPiws0=P2atK>dysU8~Y?%Nyn$t
z-&gEGEPj(F)){F4i!RbS&1=v3uG8yja>Wis_qvbY8Stl|7j<a}P+I?};)kk#d`PLC
zsSzTJ0 at LRn=FG2?NX at A>vR{2Ktqva3H%^hFe<Syifx1RYoiyIj4d?-UnF?pFQ|^i?
z-lFky4dR>Zx%#sg81O0)hdO)Ert*{OO4%gN+03FwWAL<f?J+AVM|tO-s-gCB75y at Y
z-cK^#jszVhmp`28J_z&(^b{I|MP~%VKM}T)jBrd&eH`Tr+0Cb~3V*Zf-$f|?cZJe_
zRUk1lG5yDA=uH|xpoU?zf1qIONkIOjIUFWhEg=;T2REB#du{Geo0(f8rw&7qI4A4r
z-b{0JOE4eLaMth5e9e5dF8oRL at q6qvX<8;8r)LFUr^vpsP1}B#&)2ueXdM!kJt2v&
z)BQdrCrh)8g=$W)YGX}0#-l;AOZ(GJb;C8UZ3WYCaap&9ZL$3xao=Z}WRqRR)fHO1
zscYqkN6Dh<e&Ln9r~Bo2(yn5j&VG>xWzgpyf}`p&Oo>C;RN{mN?DgTWVy#kc#9DP>
z<PjXI+4y@=d_SkmDjS=#z3vz{@8ZHm_=Oh1Mav%omxU3;7v<|Ink=2tMA<|fwr(kH
zY7EqQSgZW=+9NwTWp&#c&-gdqtumEt%5&m3QS<(r^H-;)fxVgvRKoU!lGeLgrm*oJ
z8m|ksH6OH%sq1A;kboOb+KUd+nXCDxa{h)RkT*k^Aevd;Q`JrrUcMlSi+HVl`T&Wz
zUp^Mm6024O0>ewBw_tP at Fj#hzQCcWgvLnsyKZ5b@&pdPqYJR^Yb1z(fb#sX*lu|MH
zl9-8>TxcZ9Jt~ekFYUrUyf2YQbmmuW7p~gV25bEVNu-Vr$K1))PkLqBvF*IItx68g
z#Oz|c*wP&crA#k+DcDnKE;yc95z}$vHV$heEVQB^B)S#(>lf+}W&bMTh+RiuundX?
ze4#c69M{RsvBJJhi(8`18UNBvtKrjX`eOXl3+cEcQObeJy+W$H_erX=o+0kiV#ura
z6HNny3N3qu;cAd#Dt?%AH>U9Y>Ab(VCtewPI$Ib+Drjd*1^gZpl>J9xQ(5%-;F8t&
zZU|)N8f``fPu+Aq+Y9HSXh3h71`xrrw0m}GPXb{;MC>>lYg%RYFe4-5fC!y at K>`87
z3xozvSkjYkWTzWuHAoYFkH?YT;d`n6t%1*Jeia~L0`9ATowr$k{+HB3h70xI4O}vb
z-rullktkA at 59Oyd5DUt5_kNZjBPz5>cSX(GIi{uIEQt at FT%j2md3%H=QZtboCyRnT
z%Df~NOG{-MD}prX7uex5p at xCv(>qkKh0*_hTO5yH;xVWkB}K(p&mPl?Kd`VF at ogib
zwtUdwQVnq3*(P@?F<DlkI<m`#FD|f@)j!r4Oc1FqPHx;Qh`G1F6*IHwX5&(>f9GBC
zL0pv!<wtk=mUjw59D%1zbxvI{{?woKf{VtHQW2%GIS_UU*2K%_p*mhIiv`}bI1SN4
zJd#|pvoza!@RSj3 at sa$7)rG|c+cFcV;VU>XC3S%lP5;GW0eKQ?J#}W9FmNoQj8TIr
z9>NH at UE*OQ)o~eIw7|^57C-!e^ou`Jd;eeoQdQ^{ZT(MwHJ?!Wd?_eJ6}ZqDGeIh&
zomgUGT>Ozluj;Xe62_((Z?*iC-roZEv^(io#R2~5hF|G9UljDl{J&`>jNfbJ5x*=F
zC;mumS*Ww>wwn`;BbF1km_ahadc&|U_7_qPzNe#!FR6uox&za+E4KNH;H!35^z}8X
z7iB2L#(Z38izu+9#CxOwG%3pr^WFt*X$EEl$&ZNVo*{)9;@NG#-noqr!mPp>`ot#w
zmQ)#w3H at q^YNxzkTU_vUAp>v|M0)ooj{v)DWDS|S0jvDDPn!q-^5S?DdrOM6cL+ie
zLEr1*Vgydxw&Io`nqcWn1Shad9`3KEjqNse(w}{zaBMT?-BFssV3Y_iJ7MFh>f+_K
zAR2$<OiiA=Vr8(~NF$Wqu*tX at RUbw@b+%Ji98@;azw6?=BJx1eUX6o49F{1q(69$-
z?2`LQ at uGS=p+`o+$TuCkoMhPAXOg0kb5Txv-kLzSyaY{CV`w>^ML8*8!qwKeH(l+K
zLJdY(fDv|q0iI!gYc|`ZJ0|CrpKN=F$_qT~!pof_ALAGxD1eRo@>$vO^=va91G+Pi
zbBGoTyNd~L0^I6jl}?9yt7fq(69qc9J*|M!3O5Qtt4g1nKWYYvq7*Fv#A~@OfA;75
z$&n*$$3`**3^s$C%$E0db74=`OfD#*ad1#3+~lv+fn$=NbtywyWY3rc_g at knz^=PH
zH()DC`Fz2C<V$~>96H7UHw at w$x2;HqK(Al_Y0X|6JG|t7d$#@YJ1NkEs-Dy2(LRV0
z23sFzrP+$QKL=9uO`W-Lk^lVRi at eZxZm`A*n;`kaHIl-3A5bdMypdiTK-kfsg=03-
zRFy?K953dQSm!wP&MsMN{_qy}3^`S<t>3J(k&{4ND8}&03n4cG8QZRIQ&eOBDCL3|
z3#N<bNS2~Y$fjH`AKYUt29rej^jt)hGWKZgVnh;JPAelI7r8h8Q`k)*(%}y?^8qQ<
z9gI$<FvX&SUDBX~M<wD=B1AbmCITD{M5aUjk%w(knf(s~WJBsR>oINT_&TR0tU)SM
zXgH+L>AjRA(@JQpruC!ZHqA{M1uCc{MQ_H^M+uYLy6So`xsI8etR1t+j9}#9VZ9$K
z5GQx>$gP?%ku*A(NQN=!&vXdo3_WNfRxjR6(Q1xj=|c)Uzfg?~nXf6$adb7#0px=$
z=7v^%2lGX@@`wIA@<6N%QQa9lPkgW0Wvfx`F_At>%H%gMseHkU9ObYBl93V|@?-*T
zj(8njq%8j}X{e|z!%(>(B$8yt@$4)AcH(K#$R9~3vgc)qhrzyYr(!mZGlq;utD*h*
zFvNdE%Po~>$J>70NBTp?NVub&Gct#+dn|hx-$Cc*u;?nU;HmNN2#lOdjWya7$XQ{+
zeQ6v$qA55CavEPLHD4t19<km`v;om8bahfr$H17Q&5D)~ZxAQaD4^$;+fUdL$!!tO
zYn(cq;fojach-=x<k1L=1$MaUD*j*`JOm*_NDL<3JMm_-yIR(2%=i+h$r<+E4cL-A
z@~iBD1M8R(gmGEJ0*~PzbC_k27H;sngkQZs22uRd8{3;^?vD}`HoeD67Q+{4L$sj<
z9TKMa3*38ma>ec#1Wc$=EZ{P+&IpX~jPdH3E{{gG%J)T_LbPiDJvt?WO_)w?akOX-
zto3BrY}-D=G&09LGx{Tg*UFkW>aNjEs7qo?Vm(7co{Xs><B{s7!x3N1Fffpe&b7TI
z&?DVWDFwyGB5XF31`U#n_Q6FXDt}|kHj6jHf5*MvOknM(Fl6fE9=Sp!y}nOO$#bWm
z45uvYlEqC+ at ++<T`S@&ovBeJ3ngXc7y)v6!LLoX0&c?$cHZw^l3C3)O!#C{%gW#(j
zN|Ju4;o$f9l9%($8U<kPI$W#n{K#dsr%2!Jn%26sd?tKUd^NzFO!*3U at SR&X_FmAh
zOxz at c)&X^ZhHvr5T6)#xm`hk2DX}?MQn_-RvH&BITFomB=^UF%0Y#xo7l+=bGA;w!
z_8`NP<~W2LZ1977e&mN_AJSE<gYadPCFnSGo1A}T`}U<U<_vct?oM5lY{Q`GvwAo2
zPoCg!{nO1={HK3R?MEuPM8ObAQvBJ1nPx~b^gNt1b?RZY%@7tC&$6GBLp47K9d`=k
z!h*td9;V;y^pB5$P$>=H4V`uzKV at Q&%C96&ym`jcYMz$+AIN-~`RNH3d!UK2VP>%K
zH(!WPa^5kG;Ud#KzVSp3K^mHb((sC4srDY4&^wx&<Q6q>e{LcwKzby$xAnczI*p6i
zk}98QT}_>!2{lXZ|A1gegpYP7U1<nZI2J>Wz}2tu;Hs$={|paPRx2PM5-H*cQh5=?
zmN-{Pz=tVQPEM_ZCQ7mQ$H#z+5yitA6|LT%P^Yp_db<+Y7Q3X|T{J6%{weXTX(7zz
zViq;-#6&1Om4UE_=O at SL2$In;2D+)cMtZ4NGGcF^!Z(Vu)<R6B*&=Wmq9H(cxaye!
zSPnP%+qrzdR(vR2^Xv~QH}{>S^mhvrMbfP9f|;uXId0`$|AWks_L%OgRK_9CowDA&
znWG&8Dlxg+bxKR~Pt4p>G$|U37Y6BF?qQ12J&NjQy?kAK-iD_jHF%+~R~|R*e(sVg
zg)ZN|=Sv#EEYs~w#8hq8)gIKkn3 at RHH+kiPaY2}Bi6|#ZRBB8RhtlLM at YZ+ID;Na@
zt`Gc at yog<DjwOX7VJw~q=VhBJ!tJo9)AptB^+S5C-^uAv at B#EmOx{xxZ=V*mR~J(I
zlr|`G_wV2E+6_X7 at cd3qPBAA;o-|sp!whL*EO!L$x}7JTd^Q&j$wmz{^BN6%3rL9y
zf_^H_`{R0(rB&M)cY7V8cN0(>e9{L$jTaJf1%rN<P}`m$n3Y!oql5df&Cp$j$^4dX
z6^a*9&hb3?3F7Vzxcr+J9X8f~uh`_|Wc(-CA0grYyX{k!il*%<8>-KA4bp=!2odcD
zX}zt^fzkQOq<AO7QajW_F`9KdX5yOFlHdD1UVOY^$4NXKWTnu}6?e-e?i{5*K@=0Z
zaX89QgPFE2sm~vD1tc3=x})3>fo}xnK3(mp+EQ4vfk(pgW=&C~Xr%i)el07)J%q!%
zx~jHx=oMh`M)Bf(Ip!|EKPH+DzD+_GC~~aQ!6nBJR%I at 0Hn1+TSk80aHk>NsdX|Tx
zGxgJuNRHcW3kf#ldSIg(lLlpxnpGJLDOmCit4ZFi^3_QrtFbYfFbS};*#dz<{gY-!
z at ATPgM*T9fcN9Tq;ab@*lM{wnL!pX#AelEmF=>7?j?Z+TjAyZ))_-3mKU3Wo%UI>h
zsvsTyReaQy5QV4wg at i1UH03bqn;<avNx2X%UzSrkQ5qHV8|=F*=nts-ytT*oiv_En
zzq#!e4=MV!6yrI0#M_c-D4Ux(9^*mXAQ$A4NNL=|`3l&06?3*OI7``Oi(3QI9(V?o
zK_heovopNaRi3-q<P#I~Y;T8~-^qa0!<SN97AVX?FLp1BR_iB1{c1E!!4njgkn2U<
zqn?`8cpyHmFTbr#WHSQTez#M1&<&#|F^UYspo9DBB0N5-Fx)w+{~2C%pAT%p!hHg@
z<xEug3M`Ycarfp%<7`YuKZ$GW?g!;kru?Ct8r<L>$vMa#kB*LNt%>7ed01ZJW_<N+
zavh6QyV+fr4PpbN0?lHa(I3HZeX+wE at z8oc2o}-Umw at zEtotIsO!H4&Y-zEdNu0UE
z9L?1EUSiy at nXtt?I7#@tl3!q}LrR6Xjn{E6!l#)5_$^Zd1Hcv=no{Ikf%cL{`Ps)4
zrSEObC1^ju-eVB*n24D6KMO>3=+R->2T9vcZ%q<bWz^gSIkwxeB`+l2)a+f^TI9D@
z?)I at mrxbkxUG@Qbkg*+$x5nC_f3{C4_P4*<ZO=m4@`|LPrjjY^W+NGpUfGyxhTH<)
zv0D4v_!B$m#cUs<U=+Vxg-8ZgY3rn3z;eR5!%!8{1Gd?%6I8c?MwuE3w_mfS=ev7)
zGEdBDb7`O5J}anD;*HL(kg6_Z{IXVgq0ia8yt9b{-WeSAm_?*k(b;M&DOdNTQmNcp
zj&CQ0kjeIm)~(Ut8UVfEWRjtWB%5hm3}1s;BL8 at O$x#)F2oW1|_UFOT&vsqkYxGiA
z%O;=fC2XKtzxwL9YCXZ8QE!R!rc}ArSTP~4<r-xnQj$i>vV8&K<<7kE&fwYA`t?b}
z{5{;_hoajtexkhU=M)EDgq`xfOr7fl0{bUI&UdEhGGCAcRCn6H(HB4v76w9F1B<Ub
zJpTjD!piv{2S&~{#%)$bQP*F;w-%zOJ8WcLV7I_14vNH5Ry4zk8Q`L!n;*@NY(64z
z3Mrz}JL7=M7+^tKh4bza9cI3!VqKF45M-;xEos$jtr)enjh!^C0{e)%-R^`#t>OCJ
z;@>RqoOB#&Q1BSiIr6A`iL<Cqh%ao|)=B!v1f{=sKRut6h<H)}57<Z|o0Gf*a$~@>
zNZVEMwD`j7s~zyUubh@^p(DO7YiVS4)2I$@elVt2peBq#`!4Vpj(rImOP%Zo`<(eA
z63=WZ?S1R_3pQyC%%Wq%cMbLR9+@&xoDX+w-$y&CgMYq*>(L8)qqzI(bvaXW<L#SR
z&eQX!w>1V_BAWX!hq#f|u*2aLCC=<Ee&^3-zPka<MZ?j3ss=+vDJI7NUVUDdkbP;X
z6wG5xcK;VF0PwW_<z*MWk;m$j(Xf(j5{fNm9}Ul_;T_~Q=mf7I<9Ci_UOe0uxn7nB
zfWj+MT7fs at M8U(XEW;t_Ju86s&%yynWJASR17OH_g7QNgF7QcUwUZ7+nD1_ at lz_PS
zI-vKB-x$Fs)gTzODC)kce*Ou+Trq)+kPjCPm9vNwL*B7xvC`ihb0e!<A8Lg443R<y
zxpYEd0LG*yFF1PuTX<mI##_}U+=2YY$(PNgO^zV#L)0nIG>DG8`?GD<YUUQ-OL$~g
zb1`5`9xH56VHn1MzJMu~eLpl(Dz;9hhZ~rauAAsVhp#(=t&xiAMu-NcZNMp*DC0QC
z*!s?l6J~Z|Oyubm){Uadjo_71=8g38a3Eu_+wpJ_*Sqn}R7J?5 at ly#O at cm%&a3_0X
zU9>%xo;EK{9iOzV#43B!7#?=GY$j0j8OpMcwpuA(UNC>72=5$)!5Cb^T(pUB-|JRo
z2+t^QS>Pyo-fwkXBSuQJ2OBADupa8Z-Bfe7x_keK-$uK;-hpjiN_E=KDw}h*(`x@<
za8TwVwokPAwIr27HQbS?Gjf&F?F(!-$EpvSDAZRQW91A{v7=vFs?r&-tJ2B$!XrdR
z!6XKtNEL9{CsoQ-kL`pRbB-J~#^^2qto8+A#CF8R#(;^zJ>%oTKa<eT#FijKy at w1I
zoDxfNAMC_WNX at m6jytsUboKPyUvRL7)brcdS(@i;U{Dtc&`P+dK#gdlF*G3`O=L>q
zYO at mJyP~CBf%`wB0aR+rJ4}*X1{Lddp1tdT`)1lo9;Vu*Ym|A|H7bfoCzP at PTWUC7
z{f>QJQetX=gEMt7<5gM0Z^wE>Rg)Ctg6*20^k|_WR7etWhSolE;LsdGM=kWjs(sqY
z#<5wkA1E9}0kbb2Y`cy+a!2&ZKf6kfs)t;qBV`&n at 24_J+mGxROofvT`s$>#pftR&
z-K`V(qapzUpN_5u!(0V6K#WxoY9wmrk6}MF%fTWvm<d2EGnXh>JM?ODAl{n?4fo=(
z(7PNW$DX?4T{M{G{3=JOQDEBhN{JrchO_(YtVWnPZWRk5ehvB+xM0Y}4r`G{=L1Ua
z*tGj+I%~zx!}u7+E8Mp^jJlQ1xISI;(X!Hj-7-qOSet at -#HhCWX>i9;;T7}bRkKLz
zI;~4l3T`G-F5eSrK701>CSe>agM;${1!0Hc{4Ce<VFC8Vp#}E25-RG_+?q!wjWVB<
zCveDYl;bM%;U8*GCXF_(<=Sel-;Qt9tLMr0pPFXt7E!6o_H)*q#Fa-dh((<dqebs$
zF|#hzn|5YWHSK|0RYkz^%QZi+q6}>VRUrSoyGQN)!;bwY5-HDk5j%xi?Dtd{4k3ga
zglH)D-rogLKcT4Y?`Fa6;T!<!<OKrdLTwf)GPZBs&dfnnqBxKoUN70pb&UOHiczzD
z_J(&5{SAC^9N32ZJlT3oUxvCeS`xu;U3#q7=NE(5eKgl>(i2W^wvoDrkU!|>Pih}2
z#9ROl$!(t_`r>`^ZN^&iry?Pu<05{9o+JwR*w()t__?Wz=I~M2jL}i4FdEi?9bSRZ
zoEe}-KR)r8ph7n7`g&<{Nm0_sJaYqf$)Qu3Banp;79qh7><Rn^e?gtNq7rnjqOCrc
zKhf@%(+CRlZ6!dDV70_}oU$AMo0ZySoRpv!hP2>*UPvi>#6Rg4hEOg1yD4I3V*htj
z#KOY*U%u=A+jTu(*LK7mLWA7${0#3J#5j?D^g4`|4^Hhzs6(Ts3SWu8*B6%PxRC_y
zubG~(dAvKG_ZFqESdZXWrHkCo{gZiHcxdQpdY6y+QG!vW-l$#HUay_G*-hE(>w0Tn
z_Zs1<+cndCVMNJ8l;q3peVsyo>X8S#fYGIssY7d_T~=IKoa5?I_w>Q6)bqA|cZyLX
zTau%kp|PL>Gu(bc*})9EPF-+nF at gWdEL{+O?P_?ILjQWwFtYGGaPM({Q)qQMty4os
z=j-g7ET_b8sXTudQGBYBH-25>`zch{iutkpC&J)q`WU^(>bosQ(g`*5+rs3|dxY=B
z2V9YkQ at JhnqnO!>WRiB<D+x`H+UCak8B+)!T^SAcg7f`VL9?^3w|l;3*Xs~?&%E4c
z1K(Xw?^bHHya&=&I}hTBN>1#}`3zhd_-EXz{}Hk5g^GHL-Ay%@Bt8Jax5Q#%G2*8)
z=V(Q+ZiETOyGaO{ol0prme0wPtwqE4jxKK9Z0}aN(Q at Sl6?OC{dhuTA3MbvZUavN|
ziN!NN6=DX4We`KatVbcv0xGKj5D<F$bT;n~$*OT;1bs@|Oy9BS9w<3C9S!G>BAl4~
zdZ3n1WS4RglXgZ|sISs5gVzYb>wP9vu6is=z50Ouc+SN38Wm&8#E1wl2Ck{T(R*xR
zp)nDbz9%QDJb?sS>}=e;V`^V at y;+(Xwy^yoRqJIVc0c%4#oxj7Db_PolS^L`vfz_(
zmocXjWfp?i at M{{POqXhDMXaA3mLap|BH<a9m-PT~QN_wKGS*(5lTaBXcve<53M}1P
zqCz7jmfzr0&t_`(pk=hn^N(TDCr2U=#LfO^JSr4Y+Qm%GA+VT<nge=Wx8`Qy#=j=n
zIzfR(smUrxTBaKm)G#ZNf$f)~#lk&NqF0tz?WxhKPU5ICEeg?XI?=BoE at FKv;XyMM
z^mI&jj`0XU9|j7LSmE?3RWp5)dLRi|=*hVDvq2WDyYVTB1GH4lJ(Q at rbV7L~8U8>*
zQqpk#QiMAW_Cj#-addB%5X9nRo0Rvt>{l#nE-zu at V{OvDhoO>lgYn&SA<P<ufOFAO
zV>ncV4{}yVrfYG1<~ri|BT)Tk3tMPxh?N{O#|tlzT$6=|Q*a)kr%I6Jcsk?M;>pkj
zYic5HgcU_)d)ye!iI<tW*Qn$dnHY7t4P~Vu+T%0+IrGJAdvZRTSDRIUtoblx>X}vT
z-l*t$d2?A?6lu&b+{9f at QV3}u8&cBNxG{_qIWuyv5rsdQ7;^c~<77#-8lSO0T~OT@
z&f21FPY!9Yc$u9-FfzckIt&(BDX+68N^LB<RI&~~V2kXI8?!ih-LNvG|C2FMWh$F3
zAn63R*p5f6!!B6+JLAT5PIk;%y+$KJWMW!QRpr0z+FCz2YZ%2e4FAPBc1JzX1U&3y
z+&n7kg=0GY29~nhWiR-*J4J(xu=1<@`mbCB?wTO!XUerk)%j=NjislRc}&n=OYJ7X
zRbm|!L>LIvA=0f>uJ*)5RLhHvsBfl*57)5l|68)+y>JEok~}jhksg1>xltUP91+7m
z3d+OEv;%}B>Gu9ZT<H2%h53xDw$AS8ry*XF9+^ste=JcW=~ISgt|w!Gtj7YbudL}r
z<JZB>ww3#RtEAU`{zda9?VICx9M2M4KE7AmnZK-PceO}D7F05>dubyR-tt$wXUh+(
zN41F1bJp<TlyS48CzC0aKBJIeGBL9;LDnAvj?SLRv$!x(|1%!VqgO995KqElB2GUV
z>{lW4LaxCZ5oEpe?>wEY&`|Y{dL2Pr9%i=s*SN&T33 at t^=|(mKcLTOEdb>9c?w_>)
z)5 at O1$c3hFcl=`_h<!$l$vnA$MKHN&9;Ym7DF^nw-Ti@^gB_kt-u2ywGE4IE{*-a*
zBd@)Ytz3XCgjBS0W0ge(xw3sr8;@KyvULvMT-IvaSv$;y7Ww|p)V>~nS1Bl*3$>bE
zVZM1%H43$~fs}fg)8;{d*j&Il$w^<zIR25D5u#r0ZSOA<MCXE&V)!40a%4Aky8y!w
zYjTgXtNok0fGN|1NKk3upK&P6FIU-g$qUb+XMfyv{3OPz!hib+v#}JPZ;=ryxg6g=
zp648O<)1ZT_fE!@>8Vs%jyu-f%=VtZ=|kxJHsSo=(s#3A#IkI!5BP?`jN9|VyI0 at V
zITjM at js9&_S~-Y5MP=rBq7<l at z9!?A%_K4HDK(ug+y?-3OL?v^sI60G8)nKhcwxv4
zQF>%xin*xtEx?N?RSX3wje{M`C_Cs1<clq^zG7v-K}b2v_bVfaJQh)p=}EMWr%-$1
zn`$xl?ZQ!E#4z`H?Mb1rEaz_l;=-p&%ZaIN7N6sk#a{Ln?*FxmM()l2;`;!ZrE12P
z$%|ntAG%Q at x*%;|1<G!%U_mi9FbHWEc{K;{qS-N)J(8Ezk&MoETyy8TF45U12P}BJ
zoVRD1zqX=`c4;yE>>hpFSx4fMNj|k#Tjj4Qv5i at Oa&9ylPDKT@@+0bEVqbtUA6j!-
z=~v)+$K2aA1(3f+^*vPXolAkE`<$;{T2cx)-CE58B`l7(z-{mk1wJ!i3v05=l~aU&
zMzipM5d_ at kluky>5zwh;xj_9aIa?Ort#1?<pF?z4DKglM+5}WpI8KuPeBd8qSzxPT
zxe_b-QM~48wiNw~$*T!EAX?l7WLN{8Cb{Bh#rmeuz&Xt}9q+h)u^D at Br$U6z$%P4n
zVbMXqE>mi?G at ZBKyJ=(X03HNt14%CfPVjnx7?q3lSqnU}NnXwBuDU_vo^|<at<OXU
z;K8S6xjN;@a<bUsxyr<d<A(PO!(!JwO=OfVX1?T0cWlQ!{WFJS<ztYQCVUUwpvrV7
z?clV{0X(zX*<E!kA={QBf@!^nm#JMzdiU1}8u}ZROUD`y%k@%VO|Wl{n?Pd~FVTJ+
z>IVq~^@Z`gUcDzPtDLNXd5G?qoqwEdjxjCs=_rdd&<cjor+5Rc;8Slr1py7`ae=wY
zdQx6YM#R}J7O$0*0ztRd1CYqOU{cv$wR?pz?J7aXf&@ER4QF82`kLV{Ks|`aRfI*L
zcC!~iM&Yd-Rj$$O!(&1){dc2 at 1NSjDLIgeg2@3&Pl`9|lYF=%TLD5!_u*p37`Tz+U
zlg<~Sj;RYa%VVO8XW6&Qt|+$2KQ35gK#k7iWOq&bCk!r`Cl2@|Q at f(J0PpguR`$9P
zQwX_XM`S$EDZt`teKJ`UhLp-4t=%I{%U3L3Buaa8uKW?h2NWkbUAl3gIK}ys$uX%p
zNQ$nflph}()a&q7*5IrDLHwNDJV66*E%pZ$Z=)nk4e){l8cz@&PO9ARXx^p2-;H0M
zORc+cK08N*e;3PpFSiEsvG!|Uht))%2l6qzM}|ruB%f>rmPxQzDLAV_*#&yuJWF|a
zW`?wGudo$p0rhZ at tSlrLBsU`sheR=BdG7SxX1qimmaNbiFFl82i|iVMwcKCy9wB}G
z5|D+6o_VKWsnUdY8|TKMvQXYV)**R?g2Ar7s)q{nl<H>E0BXH at Awdunb;<(-e%)*)
zgAPeCd?CCaOKb&3UTxCBva;mB`I!DOAC0m^Pg at IF!$eA-r#ASqNj`=^w^lcF{%sgR
zI0pd8d at LGHDxt^n?@tEx0I}=<Ja?;rS>wT!@p0&^w9ZJsJ_J};SpzB$<0JMVSG9PZ
zo9}K)QX$ra?M_b)?#H>zY3f|HdlFz$vgV~P_EL&C7UDJ(0I3ljsSrzsR;O48`(tPm
zaymS-+M)h{1hw{Uj2EMLyyU`^x6%bHl;)UH7+t!I+=4h6zrHDOSlM*5)vKY2N9LH5
zDOZu)4&v&PQbb+4*IdJRZ{Pz^u(B^^8Y;CB$qUQWx{YV{vj(0p*=|o3*PQ_fV!Y?Q
z1{A3JR&&BXE`$u&H%;;PvL8Vv at MWynXBU9hqXGg?o}&Fr03IBAW+Ef+Xo_}**O==N
zf|u%q3l;>k%DB$x(p~^;@<}6*mo&SEUN|lT?@D7*yv;n`R&|rYh;-dryzM~!jH^?-
z2LmZ3JI1hEP5hvs?SSIdUA}&qYKRj_N7SvQBXl&eCjt)VqNZktJpRP8*}nG=x~ZH;
z!mNt at 4x~?!nVB6W at 6|K?1wkPbiFk3ojCcQ<a|7y73o*!sIRw;RG)^W==nPBx`h8S1
z#(XyHJFug267=pMaWbvEzsSYg%!o0g%s}Cr$=&ScgxPH<4IUS69Z4Rz*_|iBr)4DC
z+-$HXD0~_pNr9W!2)KD87fbVv{<OwCuifc|p#RZx!n)qSVG=YYrzg>?9q9j+pq6g`
zU16Y(v};dj{O?xzdw`&~R&E>rw(WQu9qDhxaQ7iE-B7{<06Y43KTp+hwt9b}-8AC6
zl5trzMx9Wm^&~P(Xwxf`l}b$?%pZ{vwgP#k-6!+yj`8Wf^ax+M+Gj%GB3FmPJaenv
zDvU8$V;8n<0=m#(*U=5PGxykC2oL)=&J1|EZ at h~z2+2Hs`T#19Vghyy6_CvR=NH~h
zqUBwLFiUdEfW!!<U(cgVK$kLrg2LEow>h6K_S(=#c+j8V+jjeZYY!|YwHx7JG73QB
zZZU}m?8iJgK~S_KszaCPHqeqG0O!#={I7W=I3`=E%3!y6_L>f6EThhuB!P~U(b3kP
zn5-WF1uHp|R4Il#;RyaMWOCqzhfl!vlj5i?IiDA(2LfazHh|dQa=dB|b7HJE^7#bs
zKYT_<@=5R_fZitu(5MQHQ1D^HOJ{EZ)mUbqaEbF53ci<Tci0GPs*{0~ao(du6E8hL
z0%CIJo&Io?l*|zcU;DlK-{@;Z?eeW!#|%VnF|IQ!?x=kGAto%oRxAebgF&)UX#=WZ
z8R@(34|-GA=l;VP4BqB(N;F+M!@PhD&bpy^3I-ZZ5z$A{SyiGRnfu)DVj6l at 6#{JC
z8p=YZ6q{)S23c6>8Km=3o|)yn(%ng(M=HaA`8V`H?^+M24&bC@<IP8C<&DzZJ9Tul
zJ~O8s9{I+dX+^w&?^aM*@m?e7(tnv1leK$gNZxo?wR*&*kbnJ?dkGp0?l*n$3A`uv
zP|6rjv7vj1I7KW=konj^&%uAnNE9rY$6OB}0l(im5LS(z(XcS|!gk5DWSHV_Nlp!<
z6w{HH$rLkiDSz$L19H#h_k&gX<V)Qwy3ejRx#YSSIH1P`d=)gFc|Q7?_?K-^48Bm-
z#H8QtP`%vf`50NHF(knHHv^(L{3Nv?%#>`)`}sm}X+W_1r|*UDfSsYxeib2a7busl
z=JTe*QDkzvCV(>g$8!eWtkj3o7Wb81Gpm4J{Z|Y7#m3#6(mFMEbMy>sCw3du@?C+R
z_dgkL*jV}x&8Ayt-c1~yT;T2xYLyv3B4j4Jt(6ys3O*lh=jnmR!7DCxyis6hM2gaP
zKCdbm`zc*%zff?ZMFf!IB^^Q=w=)K(9sk)V-yr=Uc>B0pKW)(^TRaiH_iemv538wJ
zZ-(^otg6U%cdxo^;?bj7>}h8UmFdwnY+ZSL4C14irlY$NgMs>>>|?|7ZoXHh<y%RY
zo-})g$8k9O{4#0?Y4Gnc8%CD at 9kcnrAir}mu>LE(z{JA%A9o)EBEQFIwtV|1^81T?
z_-!ANIwnXwB;D6We!UKU%>l&d2InZQj$se&lFx3_!nlh`4;9}^%-_A?$n=-EQ+B~2
z%q&zT@#3rs`i-c*Bw at Kdii+1C*^PNUlI7Yni$-1f`@b<S7qhwkz^h0JX%Y`~6m1WM
z6Fi0BM;ZvmY=<cGv|KoJjeL&vhLBkx*t%6X6M$998VZ5w6}Y)dOa$6UhXh at t>#3nl
zXOLE>!WfaVdC6CVX+AP0yP*=y$D`8G at xmO`<w2?}AA<3G%MmOg4M*(XD at 3@ABb}t!
zWR)=G=Xb}lX|j=!f)KWqz>DRwf~bWDQEN(-<1sge#$_l8dt^9+*`19oT&HEcda;|2
z&bH9^EqnsCgwZUwAszmTW!1V(3<$*WU`eCC3%2>m2oIT^b_#E(4n~-gJs~r~VE;X`
zPg#+qPme}A01!_v9T1GuVx?5tUs$Go-N)J_il<A{gixYqQ3ikCQhUNHR2<iyk*vQw
zH3K7+*bW+-CsAVu4{66vLpPx7QNi0<yx~2Yt4FX7)xrW@&LGXB1!?FX0u2d<nTko1
zC>k_W`(&;b!YVvxHsHw;<sa6dhb4L4)?Nool}sSGwZp6F-xkp-)eEWY)C$%%fGs_A
z;X9O-{ta6>cPLn2pLzg(Un+Ve_6%RF`wi|`Sdnm9o8WqP*U#VV+P>HC(J+%6i|3me
z^!LuM7)FmE*h1`x_*TtwAGZg@);+!-HwF#w?+g2rL;I7OgQ0|i1lG+lbQ?Nd9X|Hg
zE*SY8)qJ{dPbbeUs(d9S5O~hNC*&)>@AGC`6CPs|^Q^fH^n7 at P+-Q49c9i-iHv7J>
zZf=999s9G-?RWgC$-xW$F$g{v0A>D)<nj1^6%uM&{1lDZV)!ZUhWc*TY5#=aXzuk`
zG~?k$XcO at y&<&OpP>OKL#dD>K;NT6m+!Kvu)6>)Kas9MI{v)Wb+cULUj?SlBVg#^h
z4bb3iH0r4#8%a?|_LS-vDD7d`8|#fw=uvZj=YJl1RPG+D*%sBUynd43eIUcO?P=@m
z{54n-X5i5h>pIQ8I&$gLy8QkzUoq}$-Mpy-JU49L6+$`fg- at URMPhutRy!p<<D4xs
zGOKsAzA0FL^K9at!}`<ievi6uN>^KVt+S*1?Yt+a$H(;=hke8Y=H>GiS?yg9Mw-_W
z#%fImbX6|HU~DR~BxUb{wbz~qc7r*WjfM%DTJ@}<>dc3)qbbo`J)wu^W%pyZ!gph>
z^LgFn^`-;}&HNr)Q>|OAdVq4^Hw5abf9y>`WA^?yT5wbYDmSrg$HPGD&S9)r?W0)w
zaqDPu_3{4tHlN|EwV55jU2-gzb&C?>ZH1_fGP$#&d(u3>Yqy&B=(O5Q!NJ#Zp&9)%
zf5FVM5#2h1ZSBYCY)r)~+unWbA0Zt?_aFar5f#fWxB=}hbkVVEPmk4sA6)<;+Run+
zLzjzS<%*T)bC at jVFqgxJn83=;CyviB^!|Ebo&4g?VA-%16WU}5N%7 at b+RtP;p at hUp
z>28&DKoAdi*J3C+EaCCnJUCA1S{Ub4Vetw5TggwzglLIkcvcbS8kvgB=Rot<G(vTz
z`VI(W%?7k?l({KziOi9e`bbJn<7H-A6aScGG*S-vy+ITCse)nz+ at _z&3ycoj`s!RL
zq_Ws6$qcjML%6P*57L_1k;#_Y%{)VS#Z2o}#$5y^LuD$ll{l2Ey}}^@iMHoI<@8qC
z7}h0JQz5yIy%CC`z>(GFqqS`~88lcAKe6iEl^b#)?!F<{X+#~;n3f)oq(_5|eQSul
zL}Xs5#OuhWO|A-6;cg<hO8bpE=&Sv^a>Y)qb+z%Zo+c);SBo$X-XY6E{aoB-Wrv at O
zG-4$&>mfAkwsuF_XYhBNij##E{zDhZ!RONB%el1iZ at DpLUj3yJCbXI}{1Z(MvSguk
zsZM3jn#Q5;{Vj9o+a5iQLzYv#Wb~Yuno-T7mb1-fo{gS(U5lNzR4cJ!MD+D+^vsv5
zu^2-FHH^UT5h8jfo*MeUt|WtWG&fp^VubKRcwpR-Z%FqfMiXKwh~xyb1OIs=KN^62
zlRr0xeZ#URLY7$2d0e#XjdPP<J<7Vb5UVPrlep0u+zEWdZGd%8#5>e-v>_Hl1vUBv
zMsqYmE0cCl{hv25qWh7=G{)l=9SWOp&1wHXFJodc;wDM<{vm)mgO$Ral7Z#IUgCox
z|ItS#*^fh-inFzjC~~|}#AVKhy#9(aTzByf?l96HDCFkDSQdRorR&CDS at 9U-&dzK$
z5K;q$jgFKjzNSO%)1`6@=>N&qur9;HYNJbaMqTn?B42ZH4RNn*L0wuoFu+DAIW6~l
zzAl#GOdw#4<4kVuuf%K4)>4~`cWvn#IS~t~de!PN=2NOVG36l2kQpY`OF|=OU-Fn3
zqWQtDfx%C6N;4|-UI6AHFbLv4QD$_m5_q}=Y$o19_>Cz2q;7>K#`$_cg)eR{3x3|p
zHN$CeElHQca4}s|Q{UrR#h9*m@$3(*6fLZkwllS6K%WENcWDUCRjmVMNX?X_&96)C
z3vH?3&BZ}Oi7?I0ZOycLmOA>1{#Dl05rCzIY1JW#TIaO!%(=eB_S)23l at lfF@9<XI
zs;Tf+lL?IQR at Sf)Vg6Od6GO_i&YEh{)JqzNOeLe;!7hW!wf9CX#<BOHl({FOj_|-!
zH5#GPvDEjxSPd*SskEtqcUD)w3s{gZcz(JviRU_U+sBBTwtMa%^e;jrKtX31ovfp<
zBe`gYMsh=EI8S+-^J71)pyL}FN$v_uyi2P#Y6<+YhA_{yta4OUB8%ys!6Z?zSSYp;
zpour8VLA8=i?Fg`8is49`z{TlE%%xOu`LMRUTl15NGiEIh_{+n-P7h*<*v_2XEyR1
zSm-vYfi5nX{d+w1q$%*HGZEtnp=GwD!Cnhm#Aod0?3mWz*J7PcsBiHRbIQC#=N%bG
zBqk85s at Y>1q(4&Xu3(51PS~&#`W7nYsKRuQN3~XwTRl|x2}vav56S)Z{%iv8e~WKW
zDw;3I{)9jdfX?`L|BjjM?~aGC{pSq;&R1n at ciE7DIXR!8m<*v-;xfeY5m1>~{D`%1
zL2)Yz*4QPTA)A1YmoYY~=wMuv%$Iujx?UUhtS4vFY{kThQFX?*_y*BQ?1G@#NvjVB
z72KW`zDe27tJP`Mxy5z3Aokpwk&cR*78TZnAhU>{Qy2K#QtPxPJ-%&SY%k+JKQ at 6S
ze5W{7_bIxI5&Nt61g<?(V~SxKDFadjQYzk0Ckt|}hB`&m3Q6hD2U^Zo2u+z-vy0Bh
z8 at c5o3P~luQ_kP=GB#^Ed>VA=5iYk*t3d9ZNu0{oJm0ooMA>fcLek%4x<4<wOKkZQ
z<cpCU%*rgaJ&>zkAQK5F^7sv}rLy5l8QRd==g#(&oMUk at W5JTk{15lN38s3iL<&yj
z*gt=>%d=TYwXu0|T7$_-pcTTK)HnFYgW-q-Ertx8)W`?3^`}ygKOHF=bW8x#80K_#
zc9QX0seou$$ziRNW??BnZ;{fgig+<o{@ghQg^-(_wUNh{{lXA{ks0Ee(J2T86uxv=
za!kp7_3Fd8yOC?2u;$qG*I)5^IHSO{i#d!PISkB%5d{bt6f$<y&)@}*rie4fM)_iZ
zD)LPPD(b2(9jdOZkUvR*EAE;R6a*QRyhT)UWXikahP{^C$aedGuPV$rDDA8 at ch66%
z2vQc?PMto7DMiY$PW!;&dY=V at qZJ&(q<;5TJQ!UOHirP+>g1-jldlGX?Yt2q6)^Iv
zh1Q+<6XY;Kz7H64mv_h&lxhq`lIy)eL3$WoXil^oNSSBbN<1ntTr)BSBZFc~6#hPZ
z>X1UukkZ||MCS<152eH6Y8g=J1Jj6<oLj`Ojfrqt?e02~9|MX8nq$DguQ`sLBn-~P
zUq25g){+c<-5PmwI;$)(Y>v`G?9P1nLXmLQEA4_W&-5S<AGEDerz`SU at I1h7*4q?q
z{v|O1l6*cF-Y%gEBoi0YOrw+B>-6?vXHLs1rA^C=a}ol9uJ6AoV0{&TT{Rt}K>vWb
zaGwG at lrk^BHHs{s3PAWOiI5A&4c%IOxBhMr_a{lJ=6mzF7F~Dd0VouOW;`tOvb_KR
zB&8mUql_wLUMY6rrA+hTo!mhs{>F~^PTNYd6lCSo=HiPt=MVm+vB58C02 at C_PRv}J
z=z=S-OxH)m8toiJhc3(B=4i{_lzGT47G%g&z|<E>1h`V{cR3#4<pb8w|FvdW?Ejh*
zg|3}Ju(|Jfn%BPjJ6|PNiZq#JUXniklG6g9ApeOh49$dxZbAw_2DT(RoQtU*)taQl
z=!jXz*e4W?Ouu843`k*QI|dl!&b>Hr$>?~>yINirzrpR)KR4DH5}88%E^$)*Df6UT
zddQ at 101}u)ToQ#A$y87swV$UWHd0;)@j1$*yioQ7PPE1^K>3XUB=$#zWN<JqKlcI@
z2t>mnZB%kx*K;1H6^KVx(cYJBRfp5ExJFbMe$GSpQX)gD)sgs{TPgD^g=!2$43EES
zZg}WuM4U6FM9`OX_4dtTpqboILXwFAl+X8&>~lD9(g9wnk-+gt`Vv5IAKB<tyciQD
zr(`ipzE!co&E!}bx6-OGU1(kU!<XXtt=@1vR%ycm%)8oz)U^_;hmH&9Kc?`9X0_UT
z4p;k)P#me?&^kAipk!harQ3L at SB^|CZo1utUQhABjSGxsn={$j!7u at d0|z8dT#~#6
zbujNx5=LBWs1iyW;jqODSgPbNu<tIv8KR;LC=vK5<VoN&?wKq(!~)KVQv&Eqe)RT{
z@&niSjgnI|--4CP!=7tVH6_af&j-=CQSs>E^QM7(FcfG8Ng((4LMft(#U`X(NQMEk
z-*7m+%0x&$OqXqMrde-+u at nc^CkG9%ObJ0SdiURc at deoFJFVQ{*rUvu?ugH`KMGI(
zohTMTX&Wwkj+q!7Bb>5}4=E8qnN|bJv>K3?=!v*PirBNGfCZD!*gq*!HS|D{X6nu)
z2ZKr>9FW2X<nB>ot%rJeXx96N5<pJ0kg>q5iqOI6$|m>)NW^ZD#gNK7BnsPcUDfJF
zd2giq-o1NcRTjAEi0&W}`T$&cLuAN5VGGk!A^yffG5>Ec-~Vd_g85$&2u4n}{}`L9
zNkcn=3>bmv=@E<pNa-e>2qDuza*w}|1rK!~N+f$PRnqqjPNXiY+kJG&-J6MGr)D6n
zK`@tg)U-#JOM0J(uZwW*D=Q<%<q!EDo6*)WtfYf~ifGPBnt9d-JC2tbzu6>m<@F>9
zr`;<@t|QT4)1Wisni1QyVo;E-+g67~zFj1ja%J8N%aA6eqd5DaLX9ufBr2EQE0wkS
zH|X~DaG2eLH0au6nsb!;{E9}Su;vr$+0ZZ8A545_BBO)w){vN3lPzM*6akk^7!0pV
zEDo!BMjOm?=}|;+C2+KqsE=v8C*5N_;S7T+b&~AomEH<tQM<?-<dM~mSH9s*FMLkz
zAUnpV6c%oPDkmA<^9Rj-F`nWqLxRkvDnpMXODQCGGQeCY-w=yu^K)1%#0%K50zjK)
zTGlIW(XFwWTt?o(Fhz@#I?AO{rg at Gj$1Z2e!BJEh(lJPsr`dDMQp3yu6z_jCFDSRY
zXw#~=g@^9+GH{8SQHzFxtr_DxOZ#cy3`b_NlA`hHKQJivVrrpWWXJwSO_;7>tMKV4
z{Q2VqQ{dDtrL8bqA53DP(9lT~*Hb}lSi<ynD!JW_cboPg&ef*O at Q&lCj6E`%tYm|6
z8MB};bAkT(j?5Jrrs%BA_%4 at 5T{abmLs3i=i84b7_Q0+>+#d)%ufy4 at hkkf*H2QrT
z$u$>B;o6RxVYEyC-c(r6p8%hGcfLZk<o5OR%|qhQ*4D=6Qtr at I_tU*6=kxwB!#8JY
zbA998sZEN234ihJ+Ueu^=9$;Kw{XMk(W!#BL}SxsH;sKV+-9>_wPx;Fo6Fbt^@A--
zw}kK8C#U!AB#f^wT>Y_V=s1ZHy(R^$NM-#qoV&1<@vZ}eLbL$OMmt|BSRHb{maZtx
z2qCrYStTn{6w=-UQ~n2|Fxl!`UXzKY^G~YwvZn(24CUyd%4W_S9(^|ObPJkd5Loc{
zK=p4H-|JG#al&^78|#~_>QaBbHNlh_g9!}_GR>)?vj?%AVn?X+czYYv^HCGM-GWPu
z;(rC87y&Za;I{)PCeDsE=Oo+%o}h;Yl|V(eD5RAY7=8^FqA&_?2me}5voUCf6m?5`
zei4X8J3dW#YGj+BL<nLrnpXe#Hb?zLxF{uXvr_nDAsj|UkO-^od&0U3oRho|Awh|i
zz(sOv{hyTYg(-+P at v+?Lg)J?Uf?X4%>&U7%C&(v-P8d)LH!K|-Go#BSlaB0R+U*!A
z@`ER1dN+8<h=ibF6NRZIHgj3Z7?3~MQcn8y?B_chJ9&Ip1Y&pEGNy}4VFS>y)m<Qd
zsA~_xN?j=_YGF=5DJ=yFz-Kkg5O+V`fU9 at b5Au>P8~2g&0O(+8kmK`&(ZlyIf`W)k
z5ZN&xV2vCV>_m2F1$2H+uN(2ud|}KI+%2d3N?z5_MhRWyjQ)?iKQSPFpvG&XO7|OH
zj}hm^4k@*`0qDL8Li``b-YG~FplK2v+qP}nwr$(CZQC<vbjG%A+qTU;f9$;xdt<+d
z`@MDdb60m|RaPcma&(ZShfY_M!<lfBE~<={xs$4cY4$)|KaB!WN%9?sw<TqL#&l@^
z(er{X#*&6iM53re>dBu_A-DECg8w=1Qqsj3x=|AFu!%krqTIBSiS+|PSp}6gSauBz
zv%^4nIg&M^KNu!OYiOg>0Gia(HhL9>YG=qOQ6CExtjk|d?LRPoc^D{Ej_4?}U%+!+
z1*>lopCi^J>r{RO8m!MaxiDD3Q&k6NO$nAr<j;GOYq^yQpCLqA1y6pJc-1}EkP-Vy
zbD8L&#Lbr5#nxQ$9r`SNn#_16klDr2T*5=8XRJ@?;cO`9E%H_7LRoYdw;&AZx|IwU
z`nVY at dim%f#f^dxH1cc^++;5iM)Y+yN%V5vje`@#sog%I`&?eNJ6<okb^YiYHh36y
z`Ptn4O|+6ky;}F`c>kEB$N!zRv$wOqaqnZVtl)L=2W}}pO!!WQ at al>?<cWi}QrwL<
zJpX#Rd3o%F?vg%jt=%no{G7CZJwJRT=>C4Hojm_S2hg*-=`{dsi=P>MIDWa at K8@B-
z3YX^B@%wmRbZ_nD9fFHKoaS$}5W?UWdU{#JmGPMOIO_ at jh3@;d?S&uLf8lRp*<jMb
ztLACq at jJcej^BO1cgL-cZHa4%b=w>7OE#1b<HdY2S^Ga1;k>vnE^CX1^8cTO&03 at 3
zY#6V1-Rpe-`*FdhjcHGt8Oi0ujRNP{v at 7WDMU<w+p>@VPfeeD37{)2|htIY=*I71z
zLQPEur~d0Bg-pWDMOh*2D{@okhh=m4>7qc_>{k=oZQ04GpHO7jDKd1wxt~<*Yva at Z
z?420MG1P))zi7btDOcpHK=R+uN%=68>yf4&xd|t+Zc2>^%aIo*o!Zhh!0Gg?l0E3_
zVRX8ykZwuU0{^CusCSq6A(Yetp-ZS2&nNUi=n(uF@`hAw at ESkvNWU)lGdU+HPaXMN
z6ns`NeJ^Et=}PBoJ+7UK7oDjaGn*Te^=W2Sn6c7$D?`5v8|1DHIbCL*&|yQ3A)!#y
zCBg-Rj5TEPe(`sMtfanvxns5NeY-%fdO6%M>RmeLcu;VCqM0|ln4w>2D}4>h-lV at C
zl>Cm%zF)ZgyLRmdj>mnG`#<Cd9RI<>j-7$wzaEIX&fvD+WIzdZ|AmTUQ()}!X*3Qj
zwHOuBRs<=(c9AkD$K3GOzYvTpk~jy$B*v(t{frnrc^{KTf_Q`{2tzgoZ5~K?Tnu#0
zXX};xJ^4%rhUu7q{wwib!MC+dEgGOWij(k>NRgld&Do-^KNe5SUY7sdI(X`3Bk3rb
ziXyRDpy#12*QWp{)v|NFyO-7QQrTQB4;1%nS2oeB^WCU8T05J5x%)D at wGB;>##P;^
zjaflb90tq(cJAia*3HsAC&oosk*K#_!IwwHFxPvxj%wro8fPcbaN2S$BHE;?GFE*R
z+!1x8`@$1NYTFPkP9KYlDpe5c{XF0S7H2MpZBIw!lyy2eIGKb?$ra)5!DdIX&*Z|4
zmM*C`LMm4i1HHhpmxMv at FrNgpicII9<?L3I7{=8u&vpziT>yg{18SO-E*Qy79UR00
zS3oiXt&oz>KmbI_T=q6_#$(M*Y~NNGGC%jN5kuyQS<ErdBqnhfplH<9C*jn~mCf*>
zs<EzNRlOnU<?3pL@&y6Y-G!=ETSMd-mgbrKjg*DzD98n_gLDc?7o>b+q$Bk#`F<|F
zmYcy!6*e=Z#5g{wGW1 at h5a<G at LNdcl1=5JJ<>R=Wm`EuRr1;k$+{hWd1Vh0RupJZf
zVp&&V!vr00EwpjB#yX#M!Be4 at n_Sjy20v{i3(9VOq}yxIW5>i$B?K6x#F at iRWBWZ+
z(U8MbEv~pold{$eAHDY96nl>_y>VjZk*UeS9#b(1L9jDkqGV3v7zI3VI7DXmP*2BD
z93xzAB&l&y`gp{nCL!=CPf{X>`FMg}m5zv5&k$2*K5_Rog42}OnIjEfa#xHz&H)r3
z$0=g|5NGtP&-KrlwW9NM9`;+LXxq1q<uQhUqgd|TSg4CaE#3Yi+2bexF~0T4FW|~L
zQT%@jhW{jk!pO$?zoX&*pJE-0HEy>x_Iy)o at rJ}kFu#R<N>Zz^rx;Vu6fBqnEUM<t
zY?O?PW~ur9(N!H~!am9f6QNqGM{BRY at iP+a|3e1LW{K9JnPE3^2pwPW?Kc>#&);(g
zdW(fnYo1|$qu=#`Fp9nF>`ed4{@N*fC2of#_R{rf^(aq1*7Do&yBYoZ`clFXvCRSH
z|DYA@>*$VV^R)!~#WB#C7(?L5o3r1{Ubgtc^@O{u_Uw-Fr{1}-J1%+d-QyKL&wuSC
zaglns(H(a`{ZO%48v|xo!JW3&w^Dl9Dl{Z#@oKa_+p{l=z~!6ZaMFL%tgzT?8a$-%
zuyY?ZUg%3?Mz<A~=@k1%QT*$(u6x9BRwM8fag%M;FQEf37v3EVF#orOdq3~AX9wSb
z0l^NZ9k8z7d62-oD at i{`<PlvzyaxO#r_lHL%OkY~f+IfwLn9&YRCoRKU0ntOCKxhH
zZ+b`m62B$WkZG#NrIWVK4ZCCpnXl^%)&4C2=W?WlsAiI~)%HA(I{wzvu0=8lM+El=
zf7x*B5|fGAwt>LOkwDQ4BW&?fz1Gd^)b0Ccc^J82NVYrQFT_Bfk66!B3`7g%k$R`m
z?P>PyTx;K;I+LAzKHZoXrqXC_?!HyzSt8dw54D;`y&3Q0!w at IrbQeML8NTnKcw2*7
zcH*e;qTQ1Q3*70D8tyA#%yNkA?JO>Da3mOt5-DU7qf_Lp(Bjp#^Yo8bLT%2f8xTcS
zSWGaAh$`KtAVQlaS~TX{7sc#0kUH<_W9_ZIpXcK_ui;01HUW`OF^}QUCvXpQRPN#$
z^C1^40ufA)kOm7Tw+zxKKxFeBFIxN)jUFvbLIhqk*mzuk&$F*Vuvkxt+^Yn1`{J|H
zrGo;~R;+C#mp%)RxnsY<k`+4}v?0Vc`WD*Zbova2kFiONdpKE}(Lvt|1tg3b><!g}
zvO(BEpqbnr0w(G^WUh+q=xU!AKS9r)RpIj*bZLje)^H}&mTY;ziT!{i$V5dDRe0LL
zi3ae(oa};0MOx7&r$<Jpn>gOtDk^;5#eN_00UrTziShIlZrdU{qw4dG<`XmfCt=W%
zm<C?gnTLw6W^f!IvlcluZJSpFp352xcusyN*#LdzRp0tE>p=*d4(d?_g<*neG7^~P
zO^z3b*8aTK^AxM#=KeDW!3~ieBakf+$v=-17Cx3{GAf9f@~gniK_7`xXm3`A0+AND
zboJ%$toVY*jvqy$!NtNbbM}j=F48$oegL02*FRo|LtbQ0Lt((y at Fx+v<n#AqANtD$
zl8Tau!d(aT<tgo9=L4}Owq8lVUSVq<U=4RZb}tNu1lSxh_|^-JI$NMVy&r}qOO1-1
z`^Tu2Rq-N?e~p`pskAu#IZ%M(12pEoF=Tuj07I~U&W}||w0vZSwW!SUrIz at Sfk=^y
z#R>z}26l?orc0OskOA*PzJOxqUVs%WR!9KO4lKmRFwh}mayA3!C*ojENr+x>52Ks9
zGZ87bg~r5}EAhH<<oJrk(s<Bj^sCp$bMhO{)Te-QB at Ae(D0OeOi#3Y)66azFw)^?u
zSoa31QfXO5jmB<M7W?@Gcv0H=C*WKiJE$1kV(ujW8U)dd9M{y26 at u6}5lT+&!Nd&K
zg7%^497%LGG{UEuGjb|hg@$1qkvKSXni|qG&hO=HGW$u`p_TM323fE0ptwqQPhyCe
zy<w$>3^fk%J#Y8W$HA=Z`D90-3&b9wxh+BvM=2L-xGA^js2{N+U at u#XerlQzQWg-*
zeobNILke?nn4<}Y()>}}7WCeYanq+Ymn8ya09JOiuiIEkNKC|&AjrOH at FMdzPx`*h
zV$nbi5Eq>Uwr=MDG*sh33cbVSyUi at j2#!fn=`*>>0)DFhEULx&!%Cn0H?S5DzfR2Q
z2X;S`a1>}^@*hX-(?tOZ5m+AYoSE3bPDr+yEDtE5DC7y4zpTe>TTlw2FKdG63{MaQ
z6XX0ALj;xhDT>H}`i%w!N3$@)dGcdO5NiSZ1fgb1hej4Yce`;622ttXC`wa;S<JD4
zH20xu730lRpU{SqBwA-$&PUSlj?d56`OEcm_NIL6tN-0PyZi0io%=2S*3S0M?$7tl
zBz%%il3>y-3kuor`I3Q>JhIXliSyb(o+r~f_G~1P0Gp&$68#f7s(6^Wc4+W8qEqO-
z1V#m88whadTX;vRILa4ba-e(7{o4`>DP?QAtm9TP3Hg)L<!jkT`U<@6U>xd57BaRR
zb63tY%ASpk9vkyNUD{MJCt8)F6Owk+<tB1}AYmp9E#f at yw9}ic4S!5qm`NWZ{zsU1
z7O>qhMBPUng)v<hUu9i>!LX2=Y2a{Q!s8WDVZGybEg~$OoeT}BHe>Gg;uv8bB2{Di
z$*UY^51o^{gm;>*W&;|nK0|MiXEQq51KyM7<`NT*RRqjCzzC2JkjVT=!GoQvKAnqg
zPmcZ&s)*{05)u at HTDOF`@nPJ2BiBSa(YUfP#~j%>w^%BrSDMD9Le3xy`>IG2N_0r{
z*en?oLT1C^k`2;$Np_Cik at zvNP-M@*B|7J($}A+`mm7#w)gvTzl|yOI1N<!(#I6RF
zvgMS7U9``}BMP`2uTcTc<iM7LgDjE|lIJQuBc20H8$A@=dixqEv&tX?rLGLsU7D-`
zV8HH=Sq)=`yIfx3(wDF_IxHLWVjaZ&EdD-|gc}bn*;6|K2uBf}Z&N)v1qz at B|Kf6C
z+OBk%LLiJ52SRM;Q3uVi#g3z|2t!vSa%5=)>l3tbal)`1oa%fW<W<LZ4c9E3Zm&og
zMT+X!K9z>?s-#pk`C*7hvAI+h3Xo}(StXZ0=%VT(u%+r?{s8i&*exD8(gC+HWTPpl
zq_$CR{Ak|KWdl&iNNJQg`It|liWGk1%oAWjRGUQzNlbHPL9(q$p~$PL3#eiUjHn6F
zc{g5&Q_YgT2$iWKJ{$Fi^wH2 at w<{lvrw at q{8HV4Z?LJ^g?|N*-X;cYXP<3=Xvoh!4
z9^F=LxUhME=bU{7eD_$L1kpJ1%RMKY+-*ZmU}q7_vHarT6HG5L72aLedTBqR(v8+s
zNd-677}?5GYb6-~?-#>(pUAU#a!(C#$4S9feUF~0yyjQAr)Z3#%fO>PUPSdg0|g<d
zqfr~zZ-$;AQLy930!(9?U`Ndl7HaLYSua9}0H-L0#$l=?=RX3Hsbu!~jh(rb at 2c4O
zT=4bAbo{8_eZ=RYG~Uq}<c~}e&Z1g<oxwr;u9EPP6rWK+Ynhvf@}m90AZ(bepwues
z1S-DaT`^oC{acNQJ>5g5lz$W;6?{fbi at QDms5*&&(cu2XDl4Tqt;sA_fJnAOMoK5R
z!RqR#r!<tVQQBw=1J*=C{vl%+47dVwP7{p`Hh($wCcBnqF7{PNx&`&j-Gp6IolZTM
zRlr8DALh&G6D$btIClZhUpNrrC2g95f;taiO^_MS3O(Og!cSasVsi^aDTw=PmqLo<
zJmR|9zywSm)k9axk&JCRhw at g!A?8u>5y%RVC{r2a6#|k(HSP9z1*xlA_D4E!6!v+J
zLNm2k_7|i*&MM10<E4thV}~b3NJ2NgEWC%~w6FeXSo*<WoCm=k=pvGUOZpyw*?Dm?
zRe2qBuV at K%<BHLtbF)pj*bc}4<aPBb$Ppr|6slW~CL775`ki1qauZh=+LBoV86e}@
zB!`uP!H3?Pux=M+=dlLOO}I`SzxmmP3X`B}Y76{TU4<GJvE6J3Llg06J)Y;$O_J#m
zh#`|D_%sE6&|S4}0R5+XR9-E&ir?9R at O#1_7^3z^{dpVyW{<R3<S*!M^>?$3)+#!q
z(|u!RQcdY~qHy!5MUKN_yhlqu?n2{&^y2WJ at wXx5rWewaGPU<<RPBfAkK|GgHM2;0
zzk_N>FG^Hih at P^ox6c4LA_<^P&f)rJ#E5djT?`Kos;00fxks2~h+d2-6OptK;u~%<
zjT(y=aKQ;9ae{9J8|S9h#|RsI^o7Ht(q)@RSwYlyV%&roxB#UYJOcg+1jf>#!N7{G
z_fZ5dHUZY>ko;yrHiz}J>T{x+Y<-_9YJzeMetpHs!oR#=yQO0o9dzr=#c+r)u4FA)
zMDCbAgt&MlU#?mX#*oQ6BPuwE6*pmA4v6)UofQu3*}M6g+l>9o<*r$oe9btfdK9nb
zatObB;$>2szm#|UVHhM+{{gZ5QzH1k^a+ at mS^w+ueXN$I^Pw1=U%vkSgY;RY#=b12
zecon8=D5v)jhR~`ylqlahfE?={Myee^qz2XO8AW3d!Pl&#{leDf2O>Dzb0Cq>7_+;
zTtnm6-2l2xCpYljWG8yyf-chjam>T<bTs}B*|_FjE!z(nN9X!XYX{}b&$TXYJbL>6
z2KD6tpN@{0;*sum#BHa1FC&7tJ^f1kY8t6nEw)yI=eq;NB{Y!N;%4bc5<DCIWgJAX
z>;<@9Tl?GWv^@RJRt&q$fJy4m{O>!C_&5JfQ=}RtFOBZIWL0g^rHS=zJVBH_-AdwW
zRtI-h8hzKxhx63QbmHxAgks}x>ux&0QLgo?To%BGK>VZB2E1^wMl$pC&dRZ=cGkd_
zTEjG0S=Bkp!TxK=#@o<@v9?=>wWa~McJL0v<k@?=VA}=>;7+6MMsOkYkl at MoE%pgR
z at V26e;>im<e}pqC$m|-N{-F7nYa&TrJt`e4c*QDvM%pM-9ra}cD=OINeoF(VE?Zp2
z5bo8>71(BHHIuzJqK7PW8|`mHZnZnPJj6W+CsheJ+U^6Z&ZpjL>&VSZP~qtgv%yA@
z*HESR=B*%wdNb#o?|Z at J<iLyUCg3!>(GkAiK_~RX8s1cmN>&%Az;k3SXsIT+$Aty{
zL}l at Ce-gt8w20y!ZY*wdaJX%w^>kn=@x!sk$OP+FfrTi=>kv5(;aUx6O2CcnKR0jB
zV9<Nsbs!fTM?FD!Q at pw~(L(bJpyULCT4G2#2{XFcwN0UnNOQ~14~{1cL1QD+Hl!rE
z7t_r^pvw_hqgfbVVU#IK&2ce}SS~JG%e#JNZS9vjbioFZ(!mZ=N14_50f;hjLx~p>
zcXJ$k68&~=c{z9e`5#9DxL^t~<J9?nl#ag`=3_j=ZG^UVx3*=AcZ@@|<I^U2c*AL&
zojBR|1H?<^gCX*^w_(JPj54bVIzn0659sYm5m{vWIZlVyvf=C6Z_XVd2$^YbJ;<=~
zeNZDwjPt0=V_w at W!#akYU6@)8D0`iOaKFwDD;))b;2AEC2Vq3~g`E`akY=qE69d41
zcRS7jY1%B&WK%rUJJQ$a1Ww`dH!1UOK_nTD(RKx|bYC@*!Ya0#DYxb?CF^jpHR2<8
z8j6n`%;BaPH2FaWtu^LF>Wvg>2BuJ=&vHb?+IXiAUqarp6Ihdy^Rg<F#OIXs?jPq9
z0%p_?trt|2s_wJc;ZGc at q<A6JWlq$PWlxU53Opwyea#1I>+OWKPnQYYgpfxkA~yTZ
zE>_i7i!fFRO!0Rj6c_p^Z-cnTKPSPp?Xg`q>y908&tx at E*#lqux5hpQV$>Wna&*J~
zQn<~gVNO6U?Ae6<1lf+ at e!s^RzFv05<FlYO6?_4S2v`x{qzM8e4M|2S1o7N24}qP~
z&35&8#=0+1v;XzT<x^!(BjGHpF=yDTbI)XF)rY~$JEeg}y!*_K$6p&C?Rk9{0 at C=k
z-q|pYw?xFB?e_b3<J{cTqkD#WqSEJ(tiyxfSg`OCRym1#bQ)k<Y}Bq8 at +wp_Dx@cb
zINsYk?n<=if_*#!aH3=cuB0e(knZ;$%iMR3Tj{&T|F#N1XJdRWp1M;P6uk7&i9#%w
zNs1=N5I-db$5^goB)gP;Mozk6OoY;dl=BY<<YJ@=T7?`86|1yWkUC9LvA){JtMqO*
zg=U|?fJ!Q^(>`<;Plb6l%;bcbQL?1;=;Ih&GQ4_6yPycmb}Olg0L(Sw<M8Uv;nqs!
z5sDvKtL4^Mx}x8!!nBnnvV1FAu5Bm5meA>IHrcDbX*geV at JZ&^Q)@^m7dMPTPvHG+
z7?oQ;yr&&b=%f|XM5yva6J#cwN at IlPh}DrBSe}OGb%G9x7v?rgoEcu(gW#+e4fi3g
zg+qSx+EnLCIZgbNW9*SoGP6YY!GJulM9LAVg7-u?orQ{ISoBdj(3z~7b at ph(pX)Bd
zLpt`Nt7-cjV9e?w;4VD#uw~q2TUnX;C%0p;Xc!Z6g3%=`u!9B~-IWxVc&n!ZijVnj
zT>0kedW=={V1~~c+|&x9gO56Pd7IzCN^&?uB`3y$Qnuc<V(|v&P)cVJh;TgzUml#J
z6k$wWi&pZNb{D4NdgOdYH at vX=9#=PVPDX5Ou&7_XDm<_o42A=JB*qgQ{z(o-NI|I3
zn|s_LR*cTKRDy?FnFJ3{p?ae9>43DgMiphfg&~rV0~QF*#4%t at jDldgvc+XaJNPRl
z0SV?rd+X73_;J^FwLkVbhkPtnv~dvD+DVe^ub^9t7Vh25$}<NizmeeY30q&@jbq-I
z2-O?Kg2=Td_H&}HWX>(cA-}rs(nG$BrxdEDyTg2owMsvhDu-$2wfQ-N=^hfWsQ{(>
z?#5=IClQSzDjqVeK0W{H#vicZsjj?4)}*vyapf8;bIdN;OzT21h?9QoSCDb;Lz`>g
z_m5iVDQ-|<?hyWF&VZOs&{knv at 4Y`clRCSG?c)QFHKU2u;@kvvO*(G0Vjg^X!jy~&
zO%eD8xw|PwT%`#j=wJkDQ-nSJnJNSB<Rq9hSqREhjr7C)k4MPzV=f6Bz?1MS8*KZO
z)!y3|_gF3?M)!onq~w~B>Wb%V5#k+FLQTv&=~v30NZ9rHCtdZxF&Er2qDVYtQWdmB
zqHzm<04Jdmk^yBSpM=)%{&0NhBt^Alvv$FAxBR(uk0`5RRu^(p4^}VX=v=@hOyW#$
z%Y(YMZtziw+s64WrK7--pJYh4ToZ49%8Mzp#Gh3^D;-J+mpERKVSk_cZdrNPO825k
z#jCQlIZ=U*=$}`=nJDEH6BfeCb<R2J=S6PNjAo*EP!t*t=+~gI#}5o(M6NTL%C>M}
z6{6Y+BKW)8!Xx0C`7j=eCh}N~*$5qi+33#VDR-XmlG0>NG_!zOAv(?_GGaqI?78DO
za^7HCh7uDK?Rf4bHRXB74X$yn7O<6Q+qK#<Sy9JRuq;x-nxz0D2~W9QF1%k++S)!4
z(MQCDmz3ED;kmu at G^s1)!f9S at gXfS@d?n(;7(d?;rSr at 3(LyPQmR%!k7QT6y`Fekl
z{Ce+bbRal}SJ?=v>Eq~ClXaYwl3JEzUCsF{8lJt^vb7+G^oQ8LSaZ&6s*LSsJjrh!
zGwA?HD;kT4RcbAbyHb&x0J at tOWpuZ#Cdr$E at ml=mDCE(gT at c##9#BPXqdq-W50!`%
z%zz at Ww=waObA4!z#A86=JSDbqe{m?9L2Vplbq%OfA~OgSm%$YnWK&QiEDZ4mljl at v
zEkwK+i(ABdbwaVUwn;FdYQfdXN{R4N>B9Th=W%k9TCFJiGG62J;&fKOmcLsV-o)@&
zeOwdV?hq6izHOBKxwu4};t%V58&3(nZg$<!P!Q{5S2ZKAl-fqp(L{JK8w0BuwCWCy
z1PQ0<LuwKmmohu6EL~d9B9sc4BZ00PVqs{W{lYvaSzKdC_EP3*d712JS?kRzSiwFA
z*B`OS4#{mMsNorWnV|sgyXW<MUXk{Jc45fj!g6*<#c~Fu9g-L{U-PpqAiyu+1<6!w
z>v*m5N+^IN at yPX!nm$6YR&3(rDk_&e7au{WtYncQE>}Xrg2A^uwyV9LiQY9N+(Hn9
zdT7ZL4AKjFFH_g&@}Km`TX`t#>DV-Iiv%PF1Nw9dV&sZ(LzRw7mhHK;XjC4%BkyV2
ziuZ(9t|T3!V3!0O$xRgjftN^nUHptX;<8&ei&V<4wA-SnKfIl>JuCSyn2Vl4WnBSa
z;LfK`$?K5GtTkyWm%I;Dx)|l+hxz_;f23LakAB<C#ueF|p+iSMgf&J&o18oSpnQwY
z9{_ny^brFD<IX$z>N?6UX%oo7XK|x)V&zRYwvC>sF3r}i_qVN{$Ti8ZZZ{U0?5u<*
zotf*B!N4`wEu%+NlKL&Vm`QKRn+<#_R}+6ugm)>2iHj^4&oh_U9?h+?L4DkST~wo_
z$G^tuikoj?T?uC=a<UNSB*kVX<!^?VyV*t{*lNadL7815-_%Xq*M`y;|4w(TLRX3!
zajTiVM29ZgSN at gSKiM7nD}g#7O1{4LfsFAMzgxq%t+VU%&1QDaPf~{!nr)**jCa>h
zG2qH$@5MM!0W_#XDrpedh<}e%#g;il9&E`WY~#Q|Fuy-<8CB<CREd*0ruEI39{Gp6
z-m``KKGqu at pI7;<`O>qAf<gFZX7Ig{o0YYo at AY4K^|dcFAvEAyH$2h`O1M9THoU*e
zbEH at uR;%49npAoj-_lF*$bzhvLW-ABi?uH$hN~6<hzMPw*v728Vq*hId7J3VV8r&l
z1@|{SXjIiw>q{rEJ-<u&3AxOSNM3c>qo;G?(H<th>t5UhbOG3=+1laV%1?2|t-%ry
zUU?h_GnOSPpjtb|kZ*V2`>Q-eCx%SFh}@4oH~F0N{G2m0FInz%>tcg^^bYLdQTD96
zB;w|W^RyQ?uZieCp{@VeAL96bx~2b3e`r1Fu;t#j*NBR~uu=@FU%2S2WoI(Ep}Xd4
zO|`-Xj{${*a8j6T40m?7j6R`Y$W=+Z83+ruVBVcwe0%s#e)~G9Q#a8r%EeuMrPe6O
zt&AJ*>u`{o)Wcdp2Rvh!zvpA~lc!ht-VFbCdHax&=i=Vswf5}!xIv3t)FdnT+qhY7
zk;Us9_t)?3T^+|{{!=wkG?$UbdvhR6R|T%wQjOuv)qXRq^~*wfkwZY`)3&OJMeqCb
z{<e09HxA`QvS+;U>DMQ2^atO5qb!@2$EGv#F-Bjth1z3L{R=)avLiJLC!sv5Tx at U8
zE9aU>w>?eV)YL`28={T#u7HXB^QiD8fS#^s2M_ciXwfY})=Ai(4W<o79#zK%H_0I^
zaZV`uI?*3+6Vh*8ugWodnM?Y0zL@`bt=WhA0qLzlZQLyXuRX6zE*cbmd$Rbz)dD7w
zV7a&fk;=e at V>uPzdJhwiPs?|v_(m<?qIPHSA>}-N9`Y4iFMQo~D0zBKwJmdJ_BwQM
z?FyjxwAo8jNdC*LY9f+-BS)N7?54g$5s at zkLsRG^ci3_Vd+u^74GRqE0fNH8C$OGt
z9HPzOr9+7*E7*yBqwP~^_ndDFCnMftuzXNxqn(^sT)B;{H!;fdby7-(c!d_hAs#x?
z3a&u8Ru^MP-wt|M0fy|UDXn$aktaMul601gdr~*rj-Do1MLJ*=cb&ew52ib(y!9r7
ze833keTtUNPvkea{Kt%i5ttX0pU}nb2MGFdmr~f5C<=9WqzEFoo;RVqaFp(g-9pke
z*`o>1p0j%e4>}kwMgDaJ2uL=+*XW?}=6#<=JIF}kH-v<{lhSOAwWk<|Eo%T>Yj8Hh
z-K%p|LtglfVZcq1#lHCiV%^ouwF0DVdSSkW{vJc#Mj|XQ@&?#5ZD=voWyT=DH_mB2
znnyKuJ)+LN0uKm}{48 at qoHaHq$bj6j{E7Yv0l|3#{#*hA#{>A#-1a1wC0u0+2bnZ~
za61<`2nUk9M|4Xe{O`PJL8hh)px1L`i67}BOM+((cupuJm-gih5251VEuhEpdRZYm
z&#%XPFFcc(J at uQD5xpK)Z0r0cYL=A&7dH{Z3=tMQiiF5Jx0(q at p&j?(ED<!I59;XH
zzYi%2{f%Mx56yZ!R~FzLn<*;}j6BQlQill9%$~+7!4hzU3Id+uGuL(-G)05Cwb(+3
z2R;<K#U0CCAM)%__r5X<H%FMa-}Fne6 at 6DgM&8LkTp{2D%4VGiK1EsuVA27;U#zph
zQ-Ex~!5xD&HSBUZ^3?VbQ)}Nz-=!6qGa^GWSg!d9Icv_Xo9f-0AxgfO0r%w7|4=H;
zaNw&69|zp;Hfg1Hz!6TdhfzMcz=2sT-#08AO~S{n`WGH1GrwVAOtD6C(wl`+;p3)n
zQvG!@uLd<<r6u){_}NKLL7z&PXv}@`BLEsFT1 at XWDd}h@$nfq(>=)Iunf75d<DCwo
z at F>kd<8U4&;a(LLWElr36I?K7ifxo6G>)=VntFS1hP1v3J>{17M10*vs#Iy*onxHX
zJiJfOKT#vIg2utO%j-OB&;&mKK=1kB=<c-95`(sl>~Y1fp at E|VU5R^0z-%vy;;G1G
z==w;T4gM|EMUux7KLg`V(=h at NMdB~`0}TV%?80YaYH<(YiLHekgLg~HOn*6Z^UG_n
zV$$P2rgbA}ywKx)!!U#BiQM^YEFqCaLb{?^+M;0y<Us;q2%8?Uo-o>sf$vo;3~B77
zAo~}Y1Sw2B86+qizHr{vywKR$<N at Wc1`@)^60iw^sXQhP8R<dy2lEQzwF6QuDZ6_N
zC}DK|g-0{0hq;$6wZuQ_=0TviKfyg3L6|bFWRX at cjV3C0?y-ghV?_ZGaqO$gxx(3(
z?;WuWI>nDb4I6~l;zVDWbPxf`@EG<}9k9GlN%&F#pbXYlS>*C*OY$dYQXIsv(FbNU
zFndYNJ%(631`oOj&{J&M3A2+do+MR}lsh?+Es`T06ZA}%Kq)3QqX3Ibv$;KNH2LMD
zRSw{N^VR at B{!==hV2iE<VM0P}8j(vC*+{4>@X4n12(!bp at 15jh22CepQhh^7GTW9z
z3aWAS!*t8o>A7PV=rmiL-^bg_{`X+^>KQ2>KHtw*WXqIW$*QS(W%-p6nX(`Q8A6X=
zA7C`tTc0Ib_5G~;7A1#<j8JUBZ`kSQtEp0*NsmE)zie>eeb|XWQI5hOmMJ4);RZn@
z&KlGH98Dq%{v!VPkh0#qybI%G@{j|6T3rg5cAP`!&?aO|&=Vh^sA#X58ENDlU`R|i
zz$}!=8|)`laXFx3UW72ki`1peb3+O1)e9qFUl{a;$DuKPQqDDWt%tUx2SebUiOfO3
zayth=K(s1prc_<0HRa%zQ-e(Aj3xj(lqAbla9xlF>T}rL9;o6pv1Qg!&qTliKZ&=@
zy+Pm*bgz=bP%FI1-c?}8&cp3v=KQqEH!0OYQlsmX%xT+26eWCUK0y|lRY~8=TGRN!
zS)nGKqlV<|x*vHg;3eFKVx7xf9{!N0+37X3wZyZ$ogPhm#Z^%dAdf=bZA6_*ag>qW
zZSAn|R}{M`Hy`igMRc%u2{3Gq7tA_cw4Y#6g~(+2M<`KB7og0><+iDT+|tb$qZY2G
zqLf-(49Fhz$GU4djsnPY%s?jZZXxIjUYYiIJ!-ZLsWT;w)%n?&$^m>S#TpX33KN-&
zLA<^#H6<Ak5I-%#(I7KgLYg%*UjVgVd-P8ASfFc|JMSZ>Q*OK!0sH#FCN;EOpF2=e
z6+y*5{XOsa%RGGDnj1X~D*PC-&jQTz$bJ!zLh&-%prF`9RD>})T&wa4ANT0_MsOQ`
zsBl%{S-N9LeDu!;+0**v+^QQ|lD(DOThmx9Z1KNmrt0EE0RLn-q2zgcd4<#J#}Q{6
zP*Pp(p<81-J`HIu7fJM$Rt$qjOHqS$1KiSEjz*vkk3x~?Ol?7r2eNpBE^P%+h(|Zh
z)p`h1yKPS{rb;3kW at tlVCQiY|Es^l8HRL8 at oMRLE<awZ#$HMREJ!#Q3W|}ovUJme?
zY=W5Kjz?vzV3QZ~yz|(Ym|*r#2L?0{&VitDHgj1(BL+x?U|z6PpmQDi0#wGtqsM@*
zoBne!A3X_rn;c(N<w>^9?avjMROV|{Nyv1sIc;ZLSn}3PazXa7*I+N&^i3WrDz2=u
z<K|AR*xdm&RK975D?`m&jraw%@I|pwn13z}8aC?fsnm~H$`>-bLjx^4_`SN(x80Hx
zh8_oyOlBXQ)fn*H$l>xxp9cD>eX=M3SbugEnVEKy at 4@*yE};16-_q8TO`D&U)`u1S
znyiaVpF4=|IQWk}pBX)K02o%35|*2elFvt)+#aoI=O=fe3G1(_L=>HRGEkHqbO|28
zR|%{(2J#Rq${}MRjL?oPh at 2>8kkzk!!-G4EMVI+1 at aVTKOQdlk0jx)eN0qAX at b#1T
zEf(MpvlylMBcny0%*Orhy8Xb-TnhU-b?sG!FF^2ed*vZxZG%?yZOQ}E9s-PHBSTn?
zM4WO@`{P~}q#}cTpb!W-zv#8km+sq-aqrBhy>4|!5NJMqEvX!mK25OJNDct=VE`bX
ze-`i|Wvg-FIx}cJXaEsDKHaanhkv`vG2cub`auQbguX|}t~S8H0J1Ez1{G%c-c-8G
z8|t_9rfshVi((BKr-t5{pu|y6WuH<PBuROrNMA_tVcwicZ38uEcK0$cAy0On+JO$C
z)~45Xg8#@HBaUqc0|%GQigI`}f8vn*gzlo&MSIyk7(%}7Cr8;k-i{!Dsq#FQ2PY at W
zY#n{E?w!Cpe<qYB>u|9wSzc2n9(Axe=&aIBbgZ9x^{{M`tfxxy(Lgbbi{ePu1Wh3o
z-1 at jFDQZDY=Bs8&l6{~nOqpoY;D|Y*)l;@XU`ax#pIg({B*_!G<XxKONSFOZ%es?C
zDw$DP7rQ=Lk)i@`Z?PAos at 0X^E7@^&4#eUVb7!(8$Z?M23-hPLZ;KD0HjKfx4&Qsy
z9#p at m1XBMxM)xQ0*1E7Q*n?)gb;1Aai($z3D|*_)x#+w#)^{NQqXhV3qy6Q2AF=wb
zca|g~Nh!fuh&g34s2_+Dggr05GZN2t+7mEgxVK|hPiE;u|2(Oa0VYIQpy~Sui=FPF
z_amXVB|wlT0pm4#h?PeuB|*{@1&`r1f1o{p%-jEO at WR6IADEuZOpI**HMvb|+j*-E
z_MZ#+{<!pU=33co>XP?_yE892d+aS2dpF-0^~R(awJnJ)lKaOfdLMjBdGnSFk8vUa
zL=XT3(4Lq%;kT%{r%xLCxM|{%`Q~@BLc#YoCYHbVCy7!Q^glm)27Mj=_kG#4T+w|~
z%(VIS=W6+j4!%$EyDtZh-iYYFrsi)qzeEzryRX@|9^YST_JzG^&qT0p#<T7V3n4t4
zc<;qLW#cNb&E|}U#_cROf}!%Q5XA(M)8DS2^YP2e$U&MJx<;0F{?@~~-o`SD2|7#d
z`xB-qC7a8QIM_#QyCD4;OYh}ePqA$ZsF7StMup{OHWUN#M)ALV at jyGG3^v~0#@ZJ<
zh9RZJj?0l-R-fV+f5a%iN0OMn0RkD$0e1sSjuNV3OqnZ$?R(a4IO^&w4$&2TG|dp%
znCcRu4Op&Mbf5-6uUjP89%LI}=lnW&de>|Q_R at D?N`D8GBRr(25>=HJw5`R!{Ez*0
ze<6!u-Re<slR_4%Ag*Xfs5IYyx+H*b+ZzkEf{JX>rAZiK2QtANVef2Liyb+3Sls?D
zwQ4g*M5IcTIjkQwiOZv`PD$!F4;EhVei+tW!|kbf<<{YI)(nK}jN2(~=);DL_!$Ya
z>0cKpm$o;~IgvLxP&NV9g<1%q!a}@j#nz{y3J!~c2|5}#K%56QXru~N$szPmf$pdP
zXJfE;rd<*K(Ol&o^fp at SF*@=dPGznl4lmv4$eiNv7X@;xhy001dZKs3==}LP?+CQh
zgz3`D1M7VRJc~0~wIrgB(rR10)?A<Bc%|~ua-WftNghR00+Tp8l+~BRa9=*_KR)|o
z<uWKIhcB<1GomthHiq}fO1mAs^;ZvKn27lT85s-!$H1zpJo$XXkztzlGdCq<0XSWL
z)yQdelY3JQ)+<hX_(rb2H{uT${NR(AkGHcmPMJ%Z8q2YaO8`E9AIL{HE|?-gj<jQ@
z`1(Tomul`LHeY~K+M~|{+=3$Uo*ZIV7|a^*Dux-hSC8pgSqrl4;#}@}^hF>q4`?Ov
ztg>F_#s#6bl+siY$WN^Kvk7Mc=$)fc1>h__-;nKaa^SyIpVUPIuQm1E+`;M&s%gpa
zT#ESF{W5vJA`8s99~K_pe(X8<7EC7+IkHAI;c!far~ub1fGqw!-WI%K{@4X)xM8Tc
zfk%#{YC$!o<p*%hQek#rxZt$kW6Kt)C at t*Ihza?-X-1kf_q*paQWU!j8g|x30qktU
zc(D7xX8L1H&G?QQ1R28<q7v?$vEiM2R{P2PArVyEm3*ZcOZS~Nu(l3X>84)xNp=kh
zmS+U%%VEpedc4MS-%MN_iz8)^HI#oy=3(CN-^Mf5Hn|IqQ4ogwcr<PMn9cU`a`liF
z<%p{J`x&sZ5U(8q<2m2*wgbAY*r`j|6G{bBJrs=abjOCJ-PDWQRLiL`kO`Imt(*DG
z3Pp3zsbr>P=Fcq5>P|m~gWKG1Ueg7Uv%`5!PWf`Rv6*x*LIDU6RmURZO<U)x`pO)s
zorKN!S{m}J at Omsje`9+vd9KeMmZ)?l&s&oP$EuShq=sHx-5AbrsRhQ}vyP@~+`E(M
zPza|tZr$E3PDBzx0tt!vsh`B~p at adCB9XiRw$%0N2Geb+9_*nSo^hY%!<lxFQBKWC
zV)CSWz7Ff3dF_M2i*xy;C4FMZpBbatkDi5WCp=Hna9ibd-t(dLGgC#A18XPUBizqn
zjlpCVJ;*`NC1qLwD at NdxrW5ME*6xq_XkXSipVNms22T8ua}+Jl$b}V{I9NDxkGDrf
zo%rr<^(Vt=`(%{PmKv`e$DaEwoYx^#$3f3msT9e8mcjHkmJ)P0)Q6ZsJ!==JYm<1i
zm^>_NIVMUc5muxkNYOF?GlL;@#*b!#BJOh5<Pgb%mzwG!RR#C6mxU<9k}9(v_;y0S
z3WQ!3jw{dGm<s)NqqQp^Vv?QlmIfw4sJZhCTr_NVH;>XE5hkuG<5X}CUfbFcQ7moK
z6mSBfDVD2&K#x9X1)l9c5ZUkCNWXDg!nMg}eqnEA{j`52ncc^FHD;bD(kOMG=t8#H
z%4yN3=I<|b4x`$a4<cH;LYBqk;7!<xHe`@~TO`n1Mca5TdZV$%LJpX+WFxqX04?uE
zAN^poxwyirxVY5JFqFPX1E<inxoyV1BFf$Qz+w`X+zuSug$WU{z*6W}Qf|b>96>@y
z_ia9ax`iqR7YP8<Ir#wXau_W6GNndJiQ2J&-|Sk<-r$wcfimouf951uiR2W}_oAKp
z<;%ZB=p@)D5XwT2y3|x?kJt;PgV?fup(KKE?XHh9Y>CX7kuDK)e6pdmyWFl5T=Zk+
zfmWW~Rjq%ootW at 2w+6r{mL0bg<pxa)&yfo5H|h|yxo1;&A3~O!l8VfnQl5WXdReH<
zKM&*9@>$kk8{fhUJD39q%jtp-0re?4=h88=4}7vpEKPYSDhvgYmKod~yRP;KN!Eb#
zI4F}i$x$rNjDBt#nocq^`W=vmFnjon36cE4)Ze-U!0shIsB}sr>a7{I?uK5|kVaUg
zV2NdvgfSk(_fWnI#m5_Q{fWUjsQi=Y-<xv8NpRdt)MPvnGZG;V_k=gc-ixN4H-=&*
zqky`H)sdD$t)etpWA;>n@#u8&D~X>JQsU<`=;t`k)Gu6p8~B$mTxy~cWay!f&yrg4
z-F at A=HVp-cN=$*o=X_PM33eqk<Q9pa%+uv8*5FxV9^3wjIM6G7bajFTi9sJ*K?bi|
zcquPSxkVMJu?-jc%=~Hl)Aca^tpLsEpxmK4Xi)xgVnT$C%01eZQE5=*GY}~9hjW|(
z{yTsSW($d(&bII+k|yv>q`l->qNmy?ERkMuj(lwjz%`-I(fBe6Kyvr!FIdChEN$F`
z2L%lp%PBEbF}lMDo$f5G>aBHtCqeEJSN8$2E|Pg{%KJj+4pH<q)-3eIdmdqsy$7+!
zYXQcnWd at -^19f(;SlZGO>l#Bc$%b-kQswG6V?@=9oMtj;JvI6OYl9Q7^*c(eCmIsE
zgwlD-c~GGm%ZBLGWS`{^NE$-32FG>}zHF%^>8;3>r;GmF&i55#xHM6=+;*%mygv%s
zVamBh6v1g%b^s{NhE{W>Z5c#Rj-cC4csDLoogO#I`7GaUIE^TQTfio1^XUiM7dodZ
z9t*(^X^dS47Jj*FDC8A}r4{>=@aptC-TtpX)nq>SdOu#zAK%a7>JR=5jvZ&DSGkkp
zIbQ`+M#Ia0vN at yNZ<T$p9hFX22?Gk(=||tOK9w5zSOH;Mya!W_(0lMVv5?s)5+WfL
z#AOAnx<ie4v#dgN0xn*G<$A!x#=f0p_n>?262K`9P%psr#sUpF)P&Z!aS^Q_J5}mE
z1QXo<Y3_BQ<vEb0&rrDQ;S;yGw#6 at z=Bkxe`j%)KVCAAU7N>dzUr^|ksN0<YE6vMH
z)E0?TPb^V&sr>t>(+a<teQ_+*?QLXXgxlL+ECN&OmdJY^=BMWpS~C$C@%_7Xg1zzt
zR|C$9kr}@r0U&yh+(B7RrV_cva6~(`hQS7x+cfNCZNtM!vDbB(%old6x9ViFC*;6u
z_$6_fXPwJLT^jVmJm`~`tYd at Sk-iP%)G_+!L~Ol)Xbf<_LZeSseE1qAfce3QlkLR3
zEm9D0!MpccO=PGWvX*jamvYcT%gk=3Jtg-=!~XF&+Qi^@BD7KYfJ0$pi{w6u*rnx~
zOt?FT5jyFHD|HTC_=l5p-85<{Ta8ZeeoIu2Cw0$ZgfK|r$91lQiWo^0A=r;ZNJsn&
zWyyy<%NVCQTtAy$l%_>dmekr;&z+lI1qMQ|54W<R(WyVUT3#L#B~$NFP at J+4;2>ug
zknDqCfWbioxKs|lV*%5c%V-3BQvn~bSynB;FkQ6^JZVW(FFxbsy<b!so)m8oE0`ws
zvW(FBlev0H@`5OO$7BZ8!ndUrK4HG)%Cf=grDz1XeTOK8q_%WDhv&fK|4Qm>>;x2u
zjmp&htU6+R6I}Egn_O*&IA(sL5-o+5=Ia^g?3hmY<N=sZ(S}eC8|S5mcZHX at YF!9m
zqQfnbUmHesPULnPML4VfwY$NsJ%S;UGqUH)$MLm~X*B7v#`LYZa<oT09P+E at lluaq
zTJ(=Kwtc^1S-eDtrP;YPEt2Rzj|Y@<dg~WF$UM`Mb$qrWr7j>ai4P%n#H839vB}&&
zmlj8&ZTmzdcxM&c_lxaMFs(`#@%v_af*v22j8*jadD7qPTB`p~0O$V{+xve_j2T(}
zYcai4EotXX4y2w_^)@HWj)|2dAjw4UM>4sC+ at U-tmeh@ntH3k at NYkjLgcRK0&uesv
zgs`OThd>WDth3csT5)s2FH!U8_jMxWMj6@}wNG}!Shh`OyDfho<naz^4UhAxuhEC;
zT|Sa=O_Z4jhWME@?DQok-<R9Hi+}JY$2_oR<z)2zj}lee2e&`}&QD}4$D2dmuwXIk
z>&|MOA!1dWw{EU*F*TR6de?EI=6PjksA682V!_GjujbF=^mD^0Lne76iQ4a>>(zz+
z7NvS43SHXF0Lh8AZ at h|6Ggr7buNtdgo^<!l1up{{!K&t5vpxMD-Z>FPB`Zr3CyT=Y
zD7WI=1*+cP;~mypM%;w`VUGdtZZ_%;-%mF;KTPrHJ^eS8=fu at 3$Hn^Vj1jH$j>Rpy
ziKO(W(LV0}T>9d78hN6gp*IB|J)WlytyS5-*N3f*txc~?Qf8KEeeAizkw#FI4ymPv
zcQ-eWr<d-N*`1rUGG{lzV-Gjm`T8~X>H3i)5konWeW57&6wyJxf#yAHGsF+!>=S$U
zZ;h3cNwq`KY7Xp+ZlxO!KHdBFt&3d&O_YrrAgicOBq&>R*E7UCBv4p8^?5fIo~FRJ
z+D%$7xQ6P at E7NC&$8y^<O)}C?sH}wXSA~QLTq(m+99NpG21N2;XEpJnmbLB-S{C=q
z1FK8dcHFeU@~4tmD6tjs)y|9zG+opU{0nM3Up9N3Je5GTwGRvyj^Iujw$e>2IUFd}
zBYLgWTzXMF3$0qIqpXw~GcpGhjN_ZtJo~W+3~+F;>x;?fuP`k74q&dJ;p}zEvi3p^
zoM~EcqvXa&rO%L+{sK$uvfFhFe2E*Z at CKgVc@60#tb?Q?7-TMjat7>prfLQI%A`6L
zL%E5WM!-!9>{~W2)OgOIBdgBW%$TXCCQMIXju>Dc;;Sfs<IJIcWK6;)S88p6)a|mo
zW}!EX{b|WUf{hhLDL<GMs0bm&)-uA4%RJ)|v#J)$=Z>T0fy5gMrBNy8t!-e{ii>P2
z5gGW;09|0JZ0?#UN~y&smL<;;Rd7D)iQP8j<rOwXvsU+%2cDrC(q{6$n2|f~u;iLs
zHjc}w%L5z^M_3kMP*B+YD{#81<~NHpu~UX$%08guQkM-Xt4#FxY;$v8zM${F)Z6Y3
zM?Wv))yq>cfHKxvvyaL7&Q4ywpYc~6n0)Nhd0t>!x3_=&xaf2O^=RjIZ{bT(Kmvfr
z*!(0F*6uhwv{vs{_qYv#pQh at hucneg(kK!nAH2Kb at v*b3`A}r%$2mzPiy&YlF~AqV
z0 at z+G;={as0W`oovvHmQC6=a*rPWd+qNhyoRwVVOGBs+Y3&<9+M>iS^t}ja0tX?C!
z*yRkg3sAV=0MJLf|M|XY1uoR at PS17mLd7B!uGuMGa($=ywg_g181Zlzz}7Kt=B7$U
zRBqr&$1S&QePplMsUSNNpQn*mYFXe=0xgzil}R<SZ->Z1UZwI`KH(5<$5aFKb}>tf
z;fVCx)5Z@}#9nzAd>Z46Z~+F-nux#^uHE}Igs=tVv{RdH0o)o$Y4$+$T)VK&-SK>T
z=Woi5n>H=D1XVASJS;BV4vPuJS3w7%215s#7S-VhBl~$0Idi1Y^N8&rg^`?)bw>v=
zp5_gNpc6`lTzMMx-gPkx3xuwVjbuW?Re!3b+w>g(`liVa;mD<AiJdAI1&&;ObV&|%
z_gAA;8Xn??ld$M^u*1;K{|YYc=@tKSWr=YoA%TSNt`KQlQT!xOAY=&jpaja*Mu7)u
zM3`RwJgLpJw$1(7V1AX7r<02S;M6cN>9MLu0AkovX2~E&GsN0UZ6a_};Zav_a92+e
zihC;(Wg;DdfkZ`X`zUYlar*hk*w>!SRs at 2^zVKNwIu3j(B?2cG6t~IX1{q%6B5N(a
z^A+up(4}xFD7l6m>=94$H!lm#qbKNR2*Xg8U5S%nlH{-&2b#@g0jevl>64&S?b;)F
zLgz!o0?_c_grGr#99sXoxrYJC+aeU-xN6Bhi`}Ug0LfCO1K_Y@?3G0u#Qg+38 at 7}Z
z*?X7Ar}}JRWGD?1T7Z*%jgJLro|8XPOD`laaeyvPgBclGHoVAld*O89;sYR_F#)ni
zb6acI>xb7jP2E+5<7ypM**q^zilo-hsF((27j+Zpbg(b3JPsfUCH7LqZT-j_V<h)I
z&!KdO$y)0}*yeB~SG&~a4$^PffZc}3_Lg$=8$s`gq!|$>yP|C)uxHgSiO2#8UKSS2
z*tG*>w82Z-fpc&8R%-OVkIYi)ApgFxDqKhI0V5C8?M#0VeST$qp5!<OMWKxu)5XCQ
zveAM%uW=W+=s>yXuo$fEKx+ZV0|>;DdIZ?TP>Z*Kps|=vS4Zrqah7kSpO;Gr!DG<9
zx<y0}pg#dn=XkMgFyYxsQ<5Ohy&9ny3jy*MsM*K;8`I3XQV6b&j8&mQM{=%ShvuU}
z$Pw#7D-UArNVq3zt<;}<MB+g%q8{qUr3P`o4`4o~pq`Ll=0qxh6NzFHGJ~47rXS7#
z;tUG%5VZA*CaIl1Bni}!>vZLz?h%$=gC&JN>h^yz_KvZl1>4r(wtcp3+qP}nwr%Td
z+qP}nwrzX&$(OuNcfXs?T}dT#{g}zB)J$cpsximFCf&_+RY5hiLm|&5Z5rSDpf~5>
z1Px2Feok`&u!#&K@%(IV`7D~3S|p0G691Cv97IyS`lt6-R*|%Mg)SCaf#lp~oIII%
zFd*PS`lOkPZ(Bz5_vhHbPtJjddn&qcCq|9DGH_sAJ08w^-e;!#MBblhmDc+ZBjOh4
zbn^@r;&RF+8NxhzDLOpC+(8s7(Am&W<0=Ms)<is>c at 8h0`MTxHvt~Gs5KxX%ZZJ_>
zno<Ie$dXV5%60 at 58ZO3^&tQTfNd-75+YDn>sj=V6Xmm_XGCaN4Jp)wRZ>mJa3ccRt
zUgRzuQwm*1^02UhJvh`NKr8gpH1BC#pY!wK<)Ep0WCFO^;La;87<ei)09};O7AYt6
z77u~RdC?4pUT_%5n)+Urj9dhm#KW~n0 at aV6iqg5=+aatmqhQ03`pZJF=^|Ej>ZyUR
zpS*pTeDzh&*48gZA#}hXiE|B*GfPk8T%I#18Leu;3oO*C at m#Es+dK~bSiU6FX-*J|
z2pwr18xgao3MlkBE}2)nGY<$S?Gj%8u!Sas%RViY7o`qY*#tr{i?K&Bs;4hSBU6|x
zkvgz)0?blf**SY>@w~3awXZTE0l%t#nCa^{WQq|_e`5p(hc6=GBWl1UtDtbTzfL;t
zPyvXDf2Aolebtm^Ca;!6(+d36`|5%RJzj;&83V$Za=h$Qvz#5h^(&yU<*VZ3p)4}&
z^`R|JPI0j5ndx2_O;Jk351ke}9#aytbUh+0J&DEOYkaBuH^kwg*ueB1qEP`uechX7
zYKuysHtv3H9bc1JAI)(XhBvGr0Gu-=#JZ01Mx`9_VG`usA+z5b%+;o%g^Ha5Fhmes
zAzV&8%aO&?3 at Hj-26NC!>L$w=RnquN3Mn5<iBSadQlr+hh-D1D)TD061f~iU7tnin
zavaK;I}TWyB8}jTG$^Nun}*S<jg8z9n~pjr_~xU}ZCHh;ftIrV{HLQW<|5ENNm$wX
zQ!<F&`Zh?J4WUzWUE}i#MCkOyq-dAS*WbZK+TdDN8&{fP>!iR_U_=6ikD{~hpqsX$
zMNZhtij-xxBp-QtJtp!TIn%a|i~xSDlmxe{xR}nRaJveX#e{)zbE&_+OgN#vC`)v}
ztZ1*CFG?beY=rgP5i`yOL*gA|f{V4wD1&Q)rOPk|yFQedWl2Dl{dBcUJzm-R9)lHo
zd^q^5$df6~x_}v8!cpItnDHucO#J<XRVU5K!bTXY-JG-;B8qZK_famN$7 at Xhlr}Ul
z at f*dhxOk7e_Y&#k9L9?~I>Y0)vf2sHZS5!R5??G!l<S{_1XT7fR-c}EaoM<NI8pbk
zk*COL^(xYRc+4?V3|-Kt=ra$iry at I!M)D}9a-JYyQ>;r_Kj(phy5d(t*i7{zXEK)P
zgzn`&As!ba1uuEI_!I7R7Cs<cbmXrDw=(O;5z-~N5Dt;6)&82v`$R0k3?raLc=ZI_
zB=maOOA1|%8_Ta`Hx(EkKA%Y(v$U`6>3|*WIcSYz5a$o$3>=VVA>Nct)oj>=-;sVH
zvi<6`Y18b2TS1()mkB&OxkhTu72oj}T4rLu-+%ZsVPO2<T{?`+|D&?;U+~7zb?i3B
z?s<9##-u3v3f^h%cf5JYTpaEJ|1K7of7Fqxtq>xY(~gt(=<U91CM2Ad(Cc5%OwG*9
zywZ0;?fs*th^SS%T-6>ftJM3UAuRQ1-yb}Vy5-N&1lV)re?6aXPlqvgLjm)_Kipkd
zaG5+S>wZsm@?fJ*nqQxHF!P~Kvd4CB>b<=l9-?Uz?}QC=-dC-3eO3nmQ`MfmcIfsM
zC}mq%@;-D at IBx?Pq?rkv4c{N^%K3S@{W6QEiI(S*-v6H_okX_d`rQ6OMn3UBzAB~H
zJ4+Rd$A;-3RC3ErV_hBR=!CT`UMh!7E4pgkj3bsxtvET|VEjoyd2=WDrx`R%id{4r
zz_`BIglf8*SIzuY at oLKy60LtCRRL+tA$7Z8i1_4$d<Sre>qJ$m)*1{vv|0qZA$YtY
zYxJhvkOi3bsWOVrJqj%m;n-HXuFmoY3a!w0S`F2KrMYsAHAM6ANb%(_P74(0UJcVt
z0$%qg7gJ|ny<Z-`ckx)^{kUz at 2J!IFzn)gZV%UcUx4#cha?)fyCWvyyp$#syVX#Mu
z#1CvTY{Cw3?*%4g&og>xhtCmO)Mh~HIG$#cE!?IGSHzCOU8Cn?cV(n-0n2X3R5wxE
zn!FRJfzxKjg at 5Q$13yrSH}H4utp6Hvm~qF(JfmZIaE^f4w)9Q2dhIxy(&;xy<RE}7
z;~ejl(8VvtB0doo8E106BRVpl8MS$q0HCB)uV+eX?4)I^H-Q_;xVfI*EWs1`PV`@>
z;sQJG)g@*M)H|Si&UWX4Ne%5i6u)Bz*SB;PW(E{3Wiz4-o|(eLHUvv)?%Y8$2--Yq
zpLhFX{bNPB<lAh2m at iIkn)~D!Cb(RXS$HQGm*a)K%PB?|>dKCB3>z;ZJIy31H(quO
z(y_5&GdSRWSQ#@v2OZv@^)7YquBBp$qtqtvxU!uBi4hR9jZJDGy*sr0MD)daauDQ>
zN1RGaU_;)}Lw!MLNDqAKa<EA){J|o^Kiu=zgM-UM at 50D0Io6XD+4FD|zn8Pvm|3FZ
z2`2fXpDM13Kd2ZUwnyX8>K*-^O(^c)xTJr<ZSigw{|hU?KD3zy-kNX;?K~E&c*Y5U
zTXC3tkQ>yHP2m}vta78^z=Z;w2%eBr1`b$;YYJ7%;0Rm+fv4JuW*O=Sdsy^W3VHis
zA{+{W;IdH_f at fUuRz$sQHD3+GeMEYvKU^}Qj|u0b3x*@8NF5HLqwvnTLM}lb8M5pI
z|DAb%bnmvMydqSQK9dGg)RVf7hOWJ307$TrIh$B{%?kMFC5g-mN6k!?;*{F0;FKJm
z9QvQ-^V+^IxqVxCogw4T0sd}OS+*qxv8afdNE<R7GlO9-m<9hd(7_hs at a95=4LC@?
z5iuh`Byuo+4aOQ1!COJv^jfTJbTLh^xlW0Ms4Sk@!BbnCvnP<87RXw{T^l+|w~tBq
zL9P<r2vKUlXt*gtKZF~kA2mRw^%J9TJ0bm}uq*?$*`SRWvyI|F`5+TNbg<hWqW$@P
z at o=T;yTj`taR?t=+6du9ekM%FetqIA|GOR{MWw}n at Wm2fD!GI at jf1=D1`eYl5Jq$i
zBbI3qh~zQ|33m|w>p>wtT at S6YjCm4lY8K!)E~X-Dew)vl)<8}hID~;|8Di8S6!myV
zBr*qpF_QZ^-l=C68kb>*toAR+N`bZBCLjQof_$hQMJAs6<+Mr2pNfLHFxh2L3r?K<
zE}qBGr<j^-*{AKA`V+aE_{Dtq9EKPxZ)oE6d*;P9(ls6`UTAoJ8w!ij`p4Y2g)uv~
z*?i~O+}m~%U-vKfd1NMvlrXspo6#2EWY64>3Z^enuq^>cRqOJR4%$C^Sc~VcT|;O3
z55eia9hr0D=6$ZUD9`bA*hYw~zxb`KDim4|U4Z$yW>(cL1#Ad3P8ZP)?hxB4t<3BK
zKA0s)pwqa8<Zqat)h4LQdI&WYEr_~j4)J~b1+M;meQa;&Ihz#&%5z780woEQNyZ|E
zqjtyAqoLG#yOb3SAmOy-CMD#CegVh$)GS3*w<-PLr@!KcJs7r0!|elSF_VxY4(#1>
zoKU>OX?T`?Wx_y_7;iSC0s(&@0l~ds9;UnQ7LFUTbl|v<PF(;xpE_Qn(Y<N3xb&QG
z!4S at 1)<*OT65!{!0m#cOt<sb at HLfY>>g5JppCpPFaB{=cX4`VHMrXUA3f&G=um_c|
zj8S>Zsp4ra8~IP?00om4 at N9WuH#$3yYk#$EZ6!#?5meI;f$O*`1*{5F02i)axd-}B
zQjBk^0wSQCJGZWqqO*gmr&`Cy*Wle1V1tf{r%XS~^C3>&|B1q32#>GU)n{1`&#ZDo
zQH==B>j>i05M0&8y1*0%4xE-~K&s>AqZnfj`v<YO7{EPw0Oy5Cq7V+J8w?BOexiDV
zn+*wPkpbGR$&Uj8`0 at I48g3K-DlFo^+$fvW<*~J}O6pe}2Q7tJe2 at m=l3LdXA86Nj
zTxLOrv4&<XtGEgo5};t?ql`?cYntsio>&{1F;??FX at qCb_mpjXQFM<kJ(JFV%A+X-
zDM0%7EWYEr_QC$b;fW*25kT`-%JoI&qaDL$<L|+Xuq0x;!Gfkeow%<-K%G)>_F1~&
z6XY~E0QGKIeDXzIT5N3_zQP3|fs)hGs~pf#im06o+iL(qkol^sPa^^=O?z<!9}Zbw
z8}wu|{vD(A0Ef*(McoqJx3muSz@;d~cKW#qi?UE40<&~g<!K0$upC`$uwkR1IAE<q
zu{g*tk7_SZRQ7N0-Iw;<f`!TUJddv=J#?5mXs%=~uB4o;{*mKz)nYPbGMhPd=1*MS
zBWiOdwI_Fl(8lP=+s9G8&dxH(w+|5^O=^d3VYjMGSZ&6p&TtrN9+3L&lglw%HTtaU
zvqN4f%eMkZP(@=N(4Ex?YX<6xND#Jd6E9KiB&P{-R1I=0J5Xn8N?eHJ<y<FV$%Z%Z
zhpT;Og9?1sCZB6vVjt4T!E$elsew5D6pohy2IK@?R*(pK4uz)EcW^w6Llp2$Kq?_S
zSC7|QdZLfF^JWAg%EM8I-@$a(CO!Q!ccMBp^<ll2WXy7gq#v4a=dyrTy^*qPaTS6A
z>7Lttq2mcb!k0*%8w;d#!Z0ui?@wvq?##}GfoA)P^#Dyb&`rNjmPonZM(h0r($MG}
z{ZD}HKO7}9F#U6L`9IHp0oc^^>^4~u{ANq(UlcLIRTK)S%e^EMOQh;ihA(bRaO8&z
zjA|Op#g(!BKDX~<Tdv5h4EnfpZesa%__BwH19Q`i?};Z9>E#;69i0$4Y(MD<4rX7`
z0*_7c*|EfXbhNvAWELaB2M8&LjO#HoG?f#3gDS6GIinu=S(1G-W)g at YYj);7eh$%y
zjqSOnP39;?I<bJEH0rL{D$;=rq$*{ED0?r9Ejba8hq;ji2upvdd9}N=un|feFiRNU
z$1mN_&D<sqBjODRPwRV?xZw+xAF^$2cYM0uAHa8rq=I&*m=XJ9Sy$#Zh$KhVFJsAp
z_)q}(H2PV977s+hyqXL?QgBtwMe5-F>u_|RwpQnjNgwLMp#z)KP9*$iqzE~2Avtl&
zgKq5$u{5PL at 3<k5KDptk>tDq)b678t+~VFwMO~{~R9RB%q(IZOSA2?PuV|-Hk6)XZ
zsNy8P;fn?rPxJb~Zx$TXivnqNSW${cT3UtKeWZ($%dLVUxwg6InBq#8;jL1&hIrA-
zdGMF)qL&e>NkS!Di0|xnJ+hNkXdpLOz)>u0tcJrUz at I}8Qo<oYEO}GWTZrL}2z0KD
z2UgoywZNgGg%rW`3Yj}X`2;Q=t at Cn3_OY4P&aYJ<@j=4Dy;6C~wv(_}9BC;<Lsnt3
z*~|o?_>}+<LmX$!dCOf3J7<z{Fo%!_p7Uw2Dk(SgOAeuUxAl-T&SzRadRil2_EuLz
z1#F~?)x1=7yrPmF_IW~G{R`|UmpwsSAb5A{C`}i~nO5cE+g!Rq%CT5yX+SixoTA_8
zmT_w-28?0CdIi?$zdD+5*AC_VHg{J$w7kH#Z)X8;9eh}+I;pf~+3Z!o?^hEa&)>2`
zzY5wKMsG7l8<r8ESW8mMHg$3&w_8f;8?7GC>S>n}p9N_T!xro&kKIsl9RieKIp%9(
z9sCH8!Wc10;a|fhZfBf1J3wvljn&1dKd-SuT|ri6K|Yo%?W^2oyirE_qSkkCw27U*
zp*(?Kc($@$x~XaVeupIb<Iurx(#W~PMc`O%>q&&Lvq0L=t`mw=j&x>4PZw4~K;!)F
z^VZx-4`pX_F7F7cH&%`l>ht-+Y#2*2eNZBbgfpPYzcr{2`w0)wt0m1?zDzh1k%HFj
ziHJllsync(EEu6r9UL|mVm-XV at 1Y|mj|=K#_-@?{aYO!2`RoQlHG(&8yn;`q*n+6T
zb<{s~WPQP<U;5SupRzB(T-eCh7=b<k*F``)is$(I#6oQ)jSgc}2uZ}U+sbDH6EF2C
znO{mcYNFHiM-iMG?7TB{938RTSGhxBm?}&S|G|qAi~M3|7FWnZf#>b9DuY;fm$=Wn
zGxLlYpjuU_hu}OY6q2 at +_?1WC7;hOWc at h~(B#{Y-O_tdIV2gA%EgZ`O9A$K}U^Tzc
zW!vJ6w@@WM{fdL>43%}_VD+<B{><}sK<DFBXLDs2Lny4;PYw_RV5Kz0CEx0Tuv)dc
zEQM at Ywb<m6&*yvF+9sd5IZ-e+ju(1K(2_6DoPlQ>vUo0}wK^y-b!@CgkwWLy-^6sk
zwd*1<>m7I{yK%z?FVYH`0qGrFM``pHwo-BB4#7Dkfk?!BJO>CvxRD9CY_Xo~P-VGx
zXXkg^0}MFCe6cR9Cpg&A0bW7z(Fa)WpG-YW6o7lUB0b0hQ(SBl`y)uW*S(Y|vOt4@
z3<?SH5iTIeQbB{UO_l|cVifbn?u%Ur&+D4Yoi)41PyFPNvrO~%NdYkU5i+*zYdI-P
zPcr0Z@{G^6HdFaO?8*N`E&i9(1tSwZ`+vJ9UuW&QZML9{?mnuW*(?Rof04GeuIY4G
zOJyE<`mCRGn2?O at i~i+JT4MdY1V`e7Pyh*Tb1>xK_K26(JFJAr^>T1<kZAIMz|$;p
z{|f~KB7t^!4ZWskbBlU0J>5zd-=ZZkm~7<X at _8^@i>`$a!I+jmeBB8;h)yqj<=&b(
z+?(k5zIeT>_w~F2H$)E{ogl7a<U>ev2UH9|B+7Mu;}^i;zb%)2am`pL at gt=|twwAj
z at hID^%l4d*XRKG2s`I+OB#(?R;lPHhT}2KgX!%0q^SRx-wA<t1WdqiJ`|}~BvAeFo
zcHCoa$%7j>fP-)dV^4h4_wDbeQG+1249)j(4zK%F6yy^ab?6}m#Ggddmgl%J*Y2^p
zLN&TI^Le)&3x3^e;2fDHEF>&tb;-1V#4!`!WGw0uf?zssHLSWR&Mx1;QN_iGO#Ug_
zjmy9i0|OS=C?<9i;dn$O=C at sc1am^*xWzG~>v&K^!$EX@$WFmNMy_Ko2srDUCY*N&
zE|~UJtzr20ixiMR8Bs{waSi2S`p2hTsn;`cHG7|+7FjT>4KrM at 4^Mh7M8Nf)*Fg|R
zdC5X>Mgg3~CFuR=!kfDc-o1HeMDlXkgW3m^k^mIQRCGCbVw<;?vNJv>CW?Hz2>1IU
zWg*O$Uk`sd5fMuq{81j?#VpMo*dnV5wutC_oPQ!10NJX^8vEP#x5r#%?#m<dw>2u6
zF|^=F?qcIwF`n2imAw6uF4Nc^S+sKt)>m=wWb8G)2SHALxk-3rsh<-;Q3s%$u0ZtS
z!XI;qWvdiM|IZlU%GPh8Dx`2VdoO3wvZx7+-KOYGc*|m5B8+~2Z>;zJ!S_N~3lJfy
zjTMgIromL4YgUcGr}`_gihdFxVV#D!a)rIp*6U|^$@Zr6{)IhT_n{~;DE)Mf^-|AU
z(r}_$T6)wJ74{>)u0t^J<1xzL1=3mwDK`W{3<V6fJt_z}D*?6l8f`Cp<0?A!X#`$e
zJI at 3|53DJnu6Cx`?yg}8tsT*Y#7mB8Vumdct;{jsRqH5Eo#RiT$|wMjYPF|L+u~n*
zBBRtT+1kq_;HNzhSKU><#6U9vHeunKvse#(3BG~o&y^>2i|(?pV%R;PAY_d`nURl*
z%}5+eCGuo{J+*h+Q$S3|zPh%mI?hh%s=!%9W{&z;`m`|Y{^9vsh`$RXh=KoxI~Y3K
zIw<}IqOvc+yV`pQ%pD&ssLVsll9<MWq+2ja;diYMPodvs7I%!ch&=up_9x$>KCkn$
z_GkfDTG*Tm;6ou6h0PqSB$hJ<I5I;J?ef_UbC_qLt0_*eOm2d;H$m5C&a^h~BFg9~
zIA)eQANrJ#@7}`MYmm6bA-KT5kpwVRjYoe79wNQyg8FErXIKL_ob<;S0wMfl;6bfu
z&k06GvC8OQEsxsYOLxa2QrKV<k=tMg@%tmN#P&BEX*YXx-z+4*at`0Z>A+3?>=nyd
z>sH9nNchfuuDhhG5s5t%ae&ARoD|;BWuBZ_#1*^K!z)}h9F?*wZpd>d at RoloKmd+x
zDPyZ#-*&9;s14s%T)kFU(JgYR%00&s;V(Gzmiq?7F*5P}HQ^iOmVe>OaNei-6p_qq
z*j4vr)JJO7Nmy^#z3kYUgi!yX!@D4~Ego`;9t9Lz&r;P+2qY^=7z5M5Q5a9(**X;P
zNvlMc;H_a}qqd=!BiI`-w2kzmbL)Jl*||^*l?2swQHi5JVf6B~cg`mGO2Atc>l`6U
zdFkgC?wr&<Ddth!n8QtCZE8fOH*|#1+UKg+Y39ONGYY at O{L9Gt$4`RSC82lh8UbUC
zJ++toGTDeX<ilKkSq7%NYScn&C1 at kmg>sQ%QE=K?;x5d`3OcZTd+U0WaF_B-Z}m0o
z`|NcW?`3-!624EKmeKr1-ZT1#U@$&sOr0M55h0Bh2ax`-i6%|J2Dn7}4}HBpBUW(h
ztB2MNFJWbhAx6%8r+FI-Ouaq)2|=6AKzwT^uj1wa&JwG=8<v^?>{iLlOH1c{c>NLI
zaEG0hZo!Z#2J3{cQdKehlSzxIS<sUPU!QqRlh1%<sHpg?5p`;iN4OMPEI_KmM#^Mf
z%RZ7~JfdNnw9I$wWs*`>xAo-rr%k;Y-zagfGyv4;^^Q_kq3~k~84v0~KQ~Cd6cV9s
z_`k0m60m_~m_ZN^2~khm+qm9*`u1R#nffLXgOw&<k14q3%k1nD^G&$ENhu-QnthsD
zd%3eZ;Y!dO<?g#h6b^rXi&<j*3T=k%Esw|RXO;<)e%#!BT1s(~*&ch_%<%UfxHTrC
z07Y+1UzFmYnuoDOFzm;j64LK<Ca~KSDQW at bDzoW3kuJ#_!%g9rX*p--RDO4mPvNc<
zZcDoD8fJmQpFHV$!2orhmY{z9H(@Wd9)Q<>6aM at +;T!|}){qo0C&{;xt?H<XiOT|x
zE5k_)<&wqpw8it%l074hSs&`je_1AIWdM`^vX1jw4APAOAfp<1Ah*6cjI~RqFAX0N
zO9`3AXAhNyl at OuZo8cI4{6o90g&YP_?&9kJyDoqG(n+$`QeuDNJIyb<GLAS*`~Xfl
zT-<v!y1*z`IKUp`-P)4CwuodmKSsqri#p*<u<;|MCtEIRIwvY6n^!o7`_HvHnE=MO
zRA1dkN$3+9s2dlZO*fjKCm3=q8?az2;vZetMJzLEJL_MJrEe~*DHey(Z9A`QA7m_$
zPP at I>uFFDS|4|@G{T&%@@p7-en>dd!AP5i3jBvvX#f%B;<aCN!A_@&`fLTucg{<>N
zUaE>Ks240A3?dT3<Y|Ox^3SE8LwK+Rl*;GBMSSSt^KTwPySuUfZlFH at eX*F}XBVHg
z0bm>METB0eb?CU~l at XXYB^%;tpFNObdRiJO!3gpopSJht-!YpPvD{=PD%&=Ig47qh
zWvj)CIQ!NmX|BDLx&L(Lg;wfQ<m4kciQ?@Yvo9p0M;-ZBX at ydtCA#SUDlJ;z`o>{R
zzNCng!og0B6W&;D7r_a at 2a5kfBKpXo4sP$vF`zqc5eo7bkH_jt^*?|r*8kKL^6$Fh
zzXes>3375l^ynkE-jTTb{HuO+Hg1^;s4 at 5Y7vt{q@~~m`CNsvqUeMLyn``1*76kdl
z+_#@iKEB9^ukyqg36Vy_B$TL#7HX at vV{*8sh_D??kc&AF6T*qu01AOD^T_FJAj(Gh
z?yIv&XB;&ZN5fkpY$cZ<F!T_-3ol~br`6~MKu&+_M>;vc%&Ro&SRhO9S1Bd7^|!SI
zy|q$ZH?2(*lnOqEYZ{d&-kXaTiHp;pgkDZBbEC{`T<5X2NJ86;LvE0G1*GLmdENmH
zT{BzOncC&7LL)G*ahAxsur#w35ie}aD)}vSRJG(Tr?x=}5N7dmz65j3acgb--#yn+
zk#nK7*vjm5*_In#es3xVR`6c%FSNyB>{VC5NrWgu6XRs=)qJUke_R+@(heAI?Z#Cg
zss8suFtM`#KhW*}k53CbJIDX+)51vq-;>+AHErVla3KBU=<Ubd4Lh{!TG!4=cH+ON
zcJL7B7k3_>0D}W_aVF)ZN2~vQ^DH|o1Q6FrFNi0Ww{+^nT at I_bx-?pf2P^~q4M>US
z2wLe=<kvzt>`Mtu0h8>{@IR4<JhZPhiEcz9hn!vmK|^t~1RFhwYvRA+F^^{+1_for
z)47u#-x&<3aEA|NlMamv&9cvp3XyJ}X?t5js*{4%XyDrtR27A9GgAUjj*kj37{0rJ
zR~rc74~$fh=>p$M+}9ffuw*<G4Pg3Yif89C7YYi4cHz-ib}B~b&~mZSh(Bt;(5!B=
z2IU!a{zD6v#+ at h(Cv at h(jiRmmwG>9>t4|laNxTEAV+IkXiZH%2EwCg5U=qRF8}iqb
z`;Xut3Ch4M35uB}gF`+lGnyG#Aw$)1mooSZN14g3!CGRsSfFYy`c&TZg|xn`RI(3k
z|CoRi><Dk_R-lIzJE)Sm3i^-!1rLXMzzB$E6BG_Kj8ekn3?@{T6{&T;@k<U;WM`^9
z?C`e~eewYuseRx9E~#LCTa>_`{I)pAJA86{{b5NsN=!>y#y|D)?H_kY6&;rO^6CKU
z3xYHN$ZulR7nsHJSY3+DVJUkQK)Nv*ujE at 8iAZm5hg+tBfHGSka|%lCfqjDvn12Q}
z%}G9i`pYih{8i>Chfvx?fGMSu1hGirbM2<L!MdyabMd&-rgQzg{V-1WXiz7Yt$(gw
zdMoq4Un_ at yO&@bpS8M5N2cv?I(`ii~OH*rA_d^myT)hxRVSp`G&O+<52-gnUa|eRJ
z4SuMn{4{v=Lf;GR<2JtU4&#`<vcuCIiO+na(lxD%5)Ca2!<!oehA_jEEi}h~>L<!H
zt4UDPRhup2D`P5_4d<mxhL?~Kaa!ZSG|5z})v393D=8H;(@_&yGK_5KLx>2kn$k21
zZro{3$40waZUlLu=+?Li_+TIXelB+*QgLDTF%29(Z?=a|>PIJsE%%<#0V`|p{G$6Z
z5N%gsi93@%SQ4lWGxdz#zQ&&)mK&v{S*LQjJ+V(_>3+3CqU20`A0Doct$z^6Q=^t)
z9Wg%bQy)w{yuL3UOvfsPR_#)2YjuCRzMQI|Y%u@&3!w}Y5!@xFuIdLk at 2<qbZ*&2&
z*LsEO^k*oRwkzEzb1utPFD_VIH$7Hb`J%bC623sI-$gQy{6&0mvdIf~3l~X(ALZhj
zc4&zw3A*85K~63SVHS4T2?*|OW~M1p974h%Xdd1o4U~?D!@>~o9YQsQreM+J!3K5Y
z{6ktgW&xgPC2fK!ErSed<#^aANuk+D_i<I4e;Vx559ZWJ_Xcz_?r2Ld6$$C}Kw~Pv
z*vMU-Wm$j1YM3FMiHg`hF^j1sOpTo-Rnq^2L+pBnRl9BI+i!LKxTW%_=CrEkeWf2c
z*!F<aptCvadOT#Ub`7m at UME0a41q>}1+ovNT<;=z^Ct9pz*HGJ&)LiO?ecxQgIBry
ziFfkI#%6c$@Nw-utNvVzQJG^+O$R03tI9WPS5u#MMXbfL-l#IUYe;1~2;vHA>x~w0
zOWoho+U!^X^2{ZPZ(-*~9wD39Cq=QV6xcu)kV6^ZBL_)-E5UzGixkZ;d8xolaxV3%
zWtgfQ!+3SYDDO;W0(Wf}p^L}s9d3u#Dg@%y?EQPceVn=cWnRI>jdQk(zNxvZ at n`hH
z24ll4J0dgt%y!-pCd$n<z=y0vDLd_|D`KOLikE^T>PD)3m$+E{V{5*g%TqS{|GSWf
zGjUveH(za!|L@@ZtLQOtMvjy3{}n9G$Z_#am*Qq8*J%WERv)k*44+st^cz)46cJ^L
zbGp=S5!AE27~Y^R%<(F=OqSXugF}n}=3OHjkPIF_5XWOtDB+%|N)G((z^0|S_b5`n
z;&!s)Vo{H&#^HS%OUI9 at -Oh%hZU{Xi4%exLTC~8zQB@(DGzeQ}5<u!QDMNA{i)L-6
zsKCeSmONB9E~QUrC-jttg4{&Gw4tEs&wMC~A5-isHKia)kcKV?Djz`#M>mR at D~car
z*lcSSWR4Sq(ma+9Z|5(oXY}U|xnqMg)FWhv6qyapBnjlPDe^>b$Pp8-S;KoctKEtp
z4<`$0`iSUtEWcYFoN;=9hBBu1GpZq>yyefpepZt-8+f`hKg2X3zB2t|bb=b;O20nY
z6NVH1kWLTzK0jhIkY~CmNSYSshW}TS83!?OHt1Z%2K%%nZH-WPg{W5ISvqaFVBu|s
zQ7sNy>>}TlRC+PLp=X#HJ5e^ed=PpNQRzE7S|%z2m~k0#L2vm2am<la9R89E^mz*V
zdaSZEk>T426x+Kj9emYBavbuS_)qfvs^dRfhLJ<Xd`&{a#iq3IvrgNnMKoD`mx5F|
zomQA!jDl;;RuH at fNB44L-an?2^-cHu!b1wr_NwEKxKjxQFo3?W8uQ#Q9a4O?@aN|!
zC=YgHO*WF0SG()k%1ZU$KsECbEGXA3kjaTwP*~MQvx3^KmU@*pbsMwD)RL%ILZeCs
z4&Zzb8nQoMLU6yKS6L-L87_R;GlR#UacWVmgIPD<4{^J{iNxP8NBN1qRzB_SKFuAP
zw6-_54sR~?9lAX|KF6)!>&pwjaaAi-<63$?&aQ3Pj<<G`@Q07BY^g$rag~_{Ta&}r
zlWwnOzu-JnqKE$*ZLo0sZ$b(K{y(Zb{r_MKMtoKdR)+t1`v(&LC&XvtVEXU<FkC^E
zk+)V at Y4D51qhPk_ffu#|@wYi(fMH;mhUW5|#l?e)n91=e at X3pvgYdT(wn^|Vyl%aA
zKYy)!b~BnyXBuA{U)Mjg%yL<#o-jAI7*)lk$_SAH4#4gKL;xKv8}RV~AdXG}f!^=Z
z(_Qq**`Mf`cpGt-)<Hvs!+*d9W-y>cw>OUZ%d~PZkpSf#LV)?d0OIq=#l?{!K<)qo
z2!9C)vqb<O^x4u-_+!BH0)_c??$VFrV{>Ncv9y-1S${Qw*6^<Y;={ucR&VY7qk)$&
zzyOH=EcKIUmiAr6Akg9FL<RNblTP^*>moJ_<YNoEx^8Z6xb?x&aElsah`G at Ea6%hE
z%>{JwW^CoD`f5V~XZzsh__FW!n1G$F4QTzYHpH!xxYjVB+F1Gw5Xc9PSqD%IKwZGL
zY~kiqRYA+R1QGqlD*Pa{{d;G?01g1ZxwiG at dy)DPdV~5AAQt)&qwj(VtN~W&*^%>V
z$|iyy_#FWIAS(5Q>9;^Vu;5*R2lw<RwFYh{`T;~RWB}e;`g=E=0 at w$!6==C>>ECKm
zJ^YH>c}zfqld%{20VDa__kJtna8F=Dws1SiZgVr6#qhTgcl-dY&<7?y)c&Z}#CCN+
zq$N@*Yy8knR73vSWx^tZA^-pd2nON<EI|T1`>#FxNY);nLwsL<+4NlZt!^ToL)7)y
z09`;ghVK0Ad3E}4=K&-&QZ221^5Ognzu_bFL4gSXQs=YMgZ%8S+fB<~^1Z!0WE<cD
z80}TR at B{4C&i1O6v_3TaJ6+E4TlCwdyZvK=LPX;-^Dlpsj4J90z}*S at 0kG{I#2*0R
z&ebb_Gvt<U(cIs_FZmv?egeXZnEyzwxpnlZHgfw131CxiupjQttj26iYgrJ`+AnGg
zgd8Av%QxU>R`D0-;aBOcmijky?6(tNM2-EcHS at al_tzl^N8f(77oxSmMPwV!AM?Q#
z2H{s`IqU~RQ-gTxqSt4F{O%fk4BvY1msdC~if{_pvKUZE!1~wxI8NtvHM-vbq6};S
z^yN|k&_2k&@AqLF4t40~W#7IX<;V{0$<_9!y%-26u<3(E-y0|ppstZ=?a%K^q}^YD
zJ}hUh2vzyGT_mu(2mJW5O at uxhryc;SBBr0(Ph>=(yFkD6AACdrx})7QRdN8`Ge3R<
z0J<+b2qciZf}c=tet_ChzrIcN+1)$5XF=`kY&-Cm)*Rc+ceI~xPX2scd5E7ObR<Gl
zV>OH=cU4-U!<p^{I);I+g4}_bYo7goxGC^VmhkiQ$)Dr&Px?@eYQi}QXp7OgM2FSw
z^v4BPKHeb<7OhXslu>i2D&}1;d_pVyk<Em%Pw}wVST)i2;OWM=*z7KDBW|}u$a_p;
zCH-GfxbyT+G?KWATDwwDp%GPPzb-Uy&)17<dbcFoq6oiza;FxP5jIIMY-BbX+R<+w
z_=EYw#J`^!z--Qx^;vH{S_)t9JED)?^QXIArjpKY+8O0(Wzpmo3~{%waP{t!H6-Qo
z(OzgM!ZQ-lW>6u$7g;bLNUzuBxF~~8u#%^FhPDyRe9NSYB`4Hw;u%cZ at QimbeFKte
zA(uE)+C|1VdLwHp#yR&0F9%;4e^t3=0Jb9^l_m>Ms&TeSWpxjnMA8MWg#zKJi6aU{
zIelp!-WLzj(^t@#mQn{+|D07BcB>1K&r>V9cyK{?ylC=ny&pVedO{<{1<o_A>_k at f
zIjgK@%OoK2=Ege%)p2}KeibHL^YBs8tU#Rz)`5y#&PW}$e~EpT%!Uk&h9MBRyb8~l
zO+`LmxF+xia+(|~biLnws)<Iyb!6v at ZRcKYkpoA>>I2_iU5<C~G&L99oh*oFwd4Ik
z(ta1KkVAptiPLml7VDU{X5*)WzzSA!EX8r1aUT&)#deOAo*IesUa%QdHwQX?M7<%O
zK^m6eliH$Y<v5Ldqo=!xO5PgL$D4Kvbrl#y>G`|PX2){lXLNQeHCs2w`8g92o#uj$
zsY)IFxB2p7-4{(WW7?dmY_k|yvfFRHx<DSe&2Z>>hkww#ic<D&yxW>hzy3p)@gB30
zw#h!*Mn6>lVgGIC%gfxG_~3jGnT%jC9SvLHUbE99vEc8?gve_>y%yf+Id4CHfO0#2
zhkh0KNr!@S>tL+r5`A9TN_=1U<yAkb`T7}Be*Z_x?DqsVS{SE1%#s*SPr*QV;fpyX
zrxnw+EVk>*e2J$I&5wdCt?t7Oc|=b9MS6`~P#KMert_HML0DCM3q!3qnHU^1fB2$*
z6-EUosX&e*$?xzwV5!XCYJ+$9?|H{#G64-n at 7cjs4Q4T4|B!k_#lC`(g3jD}^tW&~
zn&$M$QDeMYE8|?XQn#Hb|Jgl4=I69t=QsE?$3eGaGEHJZCe{PJD=&RW+m1}2aP=Hy
z+=|L(=<Yq|ZA8o at 2lp?1{C=a5I`v}rh3D<m845iva2qEJ1!sxh9{A|}S`}ME<XHE|
zv_ at _4QQkGOFxD7tRGf-5<pbjuhc3_T#|TnI2s#Ag$PJ^BBbga2u0+4JadeMzg_Vk&
z$2T+H-%GmlngQY=+Ht-}y{cVcL-%4}m>FOgGzwaYLAJqxFW!w?a_@;t`<Z5Xj_)7q
zvFQ+78H>kEVh?2~uOo=WX2F+<e(0M;;auMAo49|Ln+F0|foBfD5R?ik+Qf(J!)tX|
zM5?Z9V}*ZUH^_Buts8tg*b4$<l;@Lf*L*fxLfkH6K)@-2=CRvM!>p$ly=CFfg$32a
zYlIle^jgI0anH5X&gD{J6Ad~-dn2y_=)Dunvluu=amTVQ>JB2u9h+S`h!-etQJxT)
zR3JBl{VIIO!u}e-uKTuKS>JP-K!**K04zmp8rD+mrZj-bCGv_Gv+M7|J`|maJh&yY
z0vwt9NU2~Vt<<aCVj+l0Dd_k<UynOq+wa8i$|uQ6^e~nFI?nF6%xg&$!Bn!^#`Dl-
zNxG7XG^ijRDMd)BUrH>0k!TOjXQ}+m(AG+E7{oAm$ofM;Hf$Dn7|C8#Th7bCdf|7z
z(iRxo6;Dchjin%a(*+GlOR(Fc%obKj|K{L6zZZR2cO4UpYnq59^E0s+<O<90bRx((
zcvN>4SOvWQllp0}vjO(8il!0ycXsa^qk64Ok0K_SjHg>j6-==<^|W6ZNA7OEOADwd
z_H3 at Dx^Uy at u15~qxx9e|BKuc==huLdmF2dua{KKOgiBl8o{KW-kj5nNTJrD^;83W5
zY`kzd4OLpR@;#?de>x0K<Wke5nfm*HY6pYIHwn9QC7Db9KIL2vr6)x$N at q)j{xTuV
zUbwD(wAAtuTQ+e`vck#z`t3FcS4wZ3UV68U8Zne~om1OxDVu}0B^=c~vKwh>c&;#a
zUz-Pwp`e-$E*Kpc>TsyiAE^BPnnM|$NN%6a<*PbL6PD^!BWR1}6)@0s(6zB6gwHd4
zF6LuIweyb9<T&;qjeUd+%?o2#MxrR at Ddf&aC;MrSC`dcB8zn#{%FE|zS8U3$C)Hwl
zav4I>5r+oBf&CMr3R(wwK+eOSA&jFTGDmz=l}wXydu>tK6D|D{C+;928mi6X4idL|
zqfS${#~fDT9jVYsaJQ5 at JI!xZN>$}p*N>V(bPeBskQ4|G?qZE%6DP7JdkV3auK3ls
zz)xes1&mPV<HD5d_|0W#4DnX!sxL0r9zw9E2t72mTi!1A&&@W8m?kfg+kT==Vzo;d
zsSiOU0+S~WyAOsC+&UW=ZLiO*?%-8ji%Y_z`(8Vjic|w5Z2t#j;JiRXvnJ6v;r<Lu
zGpa{;Lvw||QpEje><K)Gu%(mwcm(VgqEF0c2<U at 4racpnZ9iHytd$G#Qky{iGttNm
zJhmS(N)a2 at zf0Fwggp`XVdlcrYCcpNIi0q at x{5p{nT1<-K0ziji?_R%?1ilo2I0h3
zR={HE>KRZFZvpm6=o2}{A6K4lHUq>EK_WXnaG9l^26)cnhy6ICsWuEt_XO`|(uemr
zavhAA+>Ug!wk!A at eL=PLT3EKvOC*&Pm(36D4K{ZnFkkHPjYcKi=fc>o!>~7N1+0Fd
z=N>M6d_Kb`Ah971{_v+FeNOLToE<T%CHteE>!lJ*tE}`M;~v-}42Q at Q>qx0nNy;}?
zyAgBSvl$fZEy1Kw)pu-j_;C+CO;X-Cr0Jl)L1u{q)9e|B^(%TdEwNMGQaZjTK<o~%
zJq4740~DF!)&`{<pP0TYhhuy5a&|e>Baa3>5oZJYE(&tall64pv~@$QYbO*3Ue<~d
z(yDx&qgVru@;X_$o?%*COk>j97Nds}2M3sg?bFK4E41y-GnXY2&-i(DH*TB?KD9k3
z^$TAEm^W`!z#jeT0MM?xQj&lB6ZW~qE!bX9V;5(BY!O^?RMA^Va>X)j+?U)SVX~{u
zh$BLoz8@?CT7OsHYQRSSX_<GGmui7b<JuTdbx*j4rg<($-%r{H0rZ=XUEXGtdyRAB
zr0U_40K{x3zuZz6^>z{frBf)1u`N1%)ONr>B$Cm0)ekXIf)lFfpsMn5V^G4z2${+b
zMXwGfXBs9mmd;F;qhG5-KRB~&j6KM5aZkw#IJQ9GjwlJ}xQ$N3f<lLco#f=g0yHDW
zD|I%!4A4!0yzAunv%wo^oSl`8n%>uvl^W at aM4s`p|4|(#35E~;O1ROHb6GEhTL- at 4
zW&j4eZ>8>CMdHl6o~P<2;v-tiQeaJXmV*;7%u$YfM4wTKny!7x%VI^lO7sIZ0we%)
z<)f9#j$%78^fu?a);2aW@}9<feiv<0r--wrDrad+mlS*tje1D%BvOv^rT*fVh(7$=
zs}<DEEQ5^-Zm_P&wUbvA&}lz9D)`r0lh7OhCzJ{Fo9VJFH_OX0FapnkfU*?gDjxjp
z>Gs5t&4=&~q86oT<qx!Xp#xcgBf~4HIWBuof}7d4vY-S_X)1nhhPB9TTI9nhgIc61
z;|?q-T01!1lBbo3RyiF<2wTyl-P2cTXuoGg(wes+>mzC}!QyNesV=A7fqbAM#b=@@
z=E;ivZ&~vCVoXG2lxQ){Ru`K&y((0d{S3zRU|^}cn?S%n3_0<rw|nn|mX14hU(p4|
z(i7kZT~~(KSU00QfrsI6gg-V&D;P9iQYSB85yjm15do<bBkM9$4h^lxUThh!uO9Zv
zvedTE1A6Kcv&-Z6Yx!=~8E at 9u*DY>RkNE75-a__zfV*;VHq>IMD_?yE5$PO-yl#-t
zMGAJ1zcw&OD-OT#W|+gXfpiy<(v*G%Z!cFTzsW1J<gi4dOV63r6xe9%KPMyHOt=%X
z(ur$xO?{oPo4lSNJ;Xrf!i${cBmp;rb~zRG=gwhXVCH4ZA+4h9ax9pA@^p?RCII=)
zlYNYpiVojwAFuQ)`4(Dk;%ec5VT7JFW|{F;aWO|i+eLTGtw##LscrNeRgVl53;mB`
zZ&{@dWWHd%x#uqU8C;R&_Bw}zX4&I!e$k_EY#$*#^W7-fvBId8wM}L81J>=B>>CDw
zYdcZ;ZiPh|(0c030KmOV$@B8UH|^+Npl=CI`*M--6ONL^BiAUT!|-rqm^o9xX{v{d
zPvyaDub{o5*v$o=xm>;o6>*9K6+=h02yl9p34?_lzxS!E(2TMe-o~sp{cbh2GQ51P
zJ}k{Db9ylKg9?)&=zggRkJEcvf|Ny=?qv1?=w2c56$XXl0{*JYKsA~{s&Vl9N9(sW
zGUJ~2elp!6R2oB!-aO4b2A(UOi+VK6Ssa9(bnEzVPYLiA3zjk5rH}9&mfy}gpKv5_
zs;}_sqje1 at Pi%xcm=e=`T}qLLL#$i$T`BXY3!!T`^tbRok1?8Y_f+NI0~OLe2m)98
zhFb_DKHyg8C#IWmG?_n3aj3E}&5(QVWVeo33wx&(R{^?=1X%Y6JD_h^=bxoy-lL;?
zUAVKhHVnL3(WwesxnBeDNOZY}{*o_(R%+XsTdl%NuF<KyMGdO-ccpcBn3A%06FYSa
z;Q5cU#1vcEX_nmZ6-cO=jb#?C at l!9~DO_vuyFcL at I_Aeq6p5GJ`?A?i-a_E3+sTK9
zxj|~XpXKCTAuE~~E)54)*9naSnSV3+gvbejj^frfH#B9L_ckLN-Q+i4M>CPMae|{L
zzs&9TE1h$L2`Qk2cg)`nB$ts_+7HPh|2%P*L17?TpX;9ev at d?X7;vvis(lSuaVmi;
zb<TfRuC8-<-z|upU`35|%O0iq>|2$aB!&xQeUJuLI(!gHZ(h+c_2D$&(0~__UbkAp
ztvcI?myEa74J>Cud~E6PISkBO)EO9Oc5TP0?dB}u(UEwMiCx9{Wo*H57N%BZ-*|&b
zWkT%4vbOI#%8rto{^()>*Z&j&xXTr)(I4q!i)5!{bn|R|(zH`ZNTN!A8r!seB>6eU
z?Xrp{GFLrCa>Dqm$@^}%&Dd|mjI{gmsBH3A>l(Ds-aCPKC#e|=(lzi=Z3TS=WErIe
zME=;OQ6Bvqk6D&gT)jV<-{5%eb^aM(@Q%O-OFm2#&HC0Dq;IEnHfFQ+so6 at -vHwYT
zJXI<Yub-c at cY+4n{EIirMOQmN#@DMCoj*_JsKN~8LA58<5>-#c_|%X#Cu9>|z?Py~
zUO&5;@N)(mY5GwG*`@&?!-=oPA|X|oMt044N at _@PaisZOuY~K_+MrK=Enk;<D3weB
z1>NWmkW}DX>+Sq)B7E at Fp6%8Mzg<qMAV8x#Gd%v?qhwT?Vp3WSOzxRgur;KjH~gIP
z5ifv|qD8FRAvXz%BTadQk%9^@;z>HhGog?}=_Zs?Fn0ENq4Q}}F3&+Y9j2JuQg-Lr
zWav>tTs;+J9g)nu#jdqzmMZ3)3P);Co3sQoRb=ydi`r@#R!ew1AXGV!yZ5PF?AMSd
zb3B*0gD5+uGUp*Op3rZ}O?iCb>!;%2LX<B28ktNT;utBW at YiPCkt~c;N2-u{SpTA*
zcT*rLJmc;j;m<JehSC&w>FkepU5}(hd8!E@$eiE|xYbI6kn1Gu&UgeAnr?ze5#Q0&
zO-fp#9a<Td4+Cl<<mcKgDqW{Mkqt3oMkgy_)5?y&We at crYUfpx0`m3BpWe&2#9qpU
zt>C$Pi>X((pHYsu4_~A=L>TIk;3RoHDbon3=EgIHhaSp<ELo>Jzh(5>nUA`Yv*2(d
ztrR5 at Dz(#lHXjQELspnDD$2mBjv$7wx##*7sWZjuffLs%yV~)#S6KltHN}a{EU at zP
zEY|(Vd8=Z_qX#KWs)(G1+{!XRh=tVejuoy8$=d~-5|MJfhOC+VwCr|L73xO63`)YP
z6j=Z+ at 6kbd0xt%Kh7je+3>57>>{c**(orKU&OIHnOrsUVWgtvscOGcqXd7)(?EIaN
z2U8W7oI$nzVBDBy=p!2A&>u6DW|))Zh)0K=hQ_K-*AS;r!4y`|;wiTfL2K1{rHNd_
z{KsUK{G6~{yrcLO<2+ETXnT6uK&zd1#hKwIF>K>(2qB1R{d{f19)=7+y!;jTS7SCZ
zn2Rc1459jeeV~D1qq>U~1?bx(ZB{)jnPiQBA<loAH5L7?<QZDonVhz!SI;S>p~Ese
z4=s?1n5UzJv at 0}YYw6j}tYIr>EC!~weXoe)kpJTHH}Rk9AgOZ0lC5k~xxizZ48;Vc
znqM+$HI53B&vQvSnfoRb8dD<1v6o)+l}?C^Em5NsXh3s(2!Vwo?IMvkr^$wfMzy^A
z`%nIO381mg>Svfvfc!|<R!^p`xH3-Ru+p&-y{|FZFi(buzIt7?WJZJ+7PM}1fjoG9
z6`Ong;X8i^^b3!b3-XTN`%wPtdid7wPak>3rLn+Je#Y^+bcQwsr~OgNfyf3}C^h*F
zGgP$}2-@(_!tqY(sav`c9~;VY9JeM(L_mjodKig(umx{o(y;NlQN08 at 9WXO_s_CY6
zK$@(0O}z0=af)O=q8Cq0pFA+Lp)Yto0!MQlp>#A!_!^)fB^8!5>flw~QOhz*)v~-$
z1ukdE#}sWDG^%p8Z&}}rZF6tUA at JiO*h2>xwFsNfw~Ok14*>6={6IUU`69?u_=Jnz
zWtX;GzuK!8FOn>awFIs2H8up&t6iJLO`Vf7p at s2*K6i*-=WLxnTwSH?M8_Xnf*6Ex
zI{s!~y*RB|{0Ml}Z=TOn$zWq+k3|`_tk^B(OS*9j3*j(td8KqKX|kg6E*!uGT-ywF
znXsxn@)J}CPo~gLVnku9>GS71jLX6q#wm<0B8 at QN9XuiI9rvhU^WT-s7s%LH(6fD8
zb~qaBMyezevFE at 53sQLQDDEmurvAziI_!hngj83)XS|TI^IhR*;FWQJyqrO#+3M;-
zrzxX*f-5>r_qn%wDD~x5aL!Ues399TBRxAcx&);()e7>3685t0f(&73>b$4Bg4W!_
z$v)UFU`wKp{%s$<z*Br`uvf7Dq=2zH4MzLiYr<7e8rfBvWt56RcdpPNbP{zAJ(+R0
zQR!`X69INAg%-S2B(JhIg5E%0F{!s2K~Y=bNk5RYH_11;A$^nNW-e9=XS+<??l-=u
z3XWMSt#H_6nS=oJ_Jm05tX2Aupnb3FDADNM{YKs=#34spJZ)?1E&FMdjSKRPnd+EP
z8o&?tW|9S#+}t>Qzw_pwe8#@D<46N&Ugr_>z4N)xCIMTTUIsRS32i<KlGmKFyG5tZ
zw`wnhRLk5X!$oIbT7%|@9JnmnmM(BK=Wh8nVQR2&3>|2p6To9-4U7~g4RNtwjkY_f
zsgJnDz}IKT+f;7esZZN`9 at Pd=*8!U1JVPd)ua&6u=7Y;%v}J1e_3l>0#h7Ho5zE6w
zz|3;n4i9D*Dk@%#$9bOGD4cky96V6;dN|BRvNOTB9Eonx%Hic^4vJ*YjFchUt;ik}
zrd?Aj;fKZAa|$8rh_^n{^T_s5pnB1GgRvFLDBd~SfPoATzA-k!bqJS|uBt1wKc9EY
zax(8&6YuvhJJ^w?um;Cj)x?$&uj;Z&Ohkh}r=#1xiMTI@=5#H*DfBQ}<XP#zW2_~r
zqj4Vy{Ljf}^9xQRosH|V8kxl$NhbdnVdoSp3=e?kqwm<ZZQHhO+qP}nwr$(CZ5#WS
zCCid6*<I5#y=&6;#nW=yaCnZ#w&z9R^ml*A*nV4lqS4H?GyINvPG26o5x_;uih?GH
z74mA*tWV*cr$~%9M&RvV8|q$vhu#R6Y;uO|WU^f#^9f<R at h4G4uf%X)o>Z8mfy(q>
zjcp?_MU;I*9M1VAMBxqM147JpUBh7}08b1W$Ix%Bgc?lHKW3e?P*PCUh#4<11$+m#
zVlPM~ZF=Wrv@;4p8TBp>k50c~yhhl&xxsb`zJ3TS8pPD{L$MZm<#!&`v(}f$RlCpg
z1lNtmKv=lxNcucI%lC2xvt|y-@$p)gV{(>SKd_DCGwdhTh+V4=R=)ACZVB*iTJo33
ztM82e*cX>ZiWgov_vmu+sB7n*Hv$D^jqHy7Py5Lfy_PNceBMK3w!9{swv6WuIBYJF
zK<$vAS&jI9dH^&!V^+ljPIAi%YS-Dk;@5JrOSlg$Ha%_1+%ZEFL^pj!WHSB)yQ;Ey
z!>pTlJcum!w7^gP&Yb{(vujOlYl(A at sdT?tb6aBJXCf|;7l$|%P(yb~&>I)@ftd4w
z1A3GYR>UKOWEYMwBFC`he9N{`q=lQrYyi-`FxEYe4mom$mphmYgE<qpxlg)p+~^7g
zF$LM~4J$R+GWzU|mHnkflvFIK8R6!m&o5pg>#?9o3z{Fdl86QHEq>#Sp7`ia!NW)=
zbO%#bI_rO?mO?PA8*R1cjd<VBKM9Nu)*S`iFb6nm3+k4#M475+h21c@<qooyFag>J
z(<C})b*H!}JuG%-#xM6j9`Xa5a=L*mEX3Kj!omhnYtL<^X~_js>6NB^$5y3*Gy~Qp
zxjnuI^B=DK3ODAzi>^Aq?bCGiu7U^MnRI;zr7Kodj*CpobL$HnMbDAvI_GLUYrkGa
zV>ol}2^$jD`v^ZviNP4|U}M1-sMPb`?JPpmhc`+MREJ;0UfRFe@}5ywq;dWd9d;lY
z62K^v4nuCMKYF=6H^X45uf+<hj)YTlxje7)e2w at cis^958f&mlo=lXEL2ooyRq+_R
zR{q+H+fhDaXDrfCvywO<)Xh*gc@@S*pDxqe at Ul)bIu*Uc#vUaq&2P&*GAF<b#<X<o
za>+MO-3EGt%bz4ew>KL)*A*sH!Cs&odrSOZ%b~eC3S3VfOR&?(s$31HGT%GXgs4P7
zY$;w9jl92`QKE7_Urpm}izKz~=&>2C#{MU=b59G{7gQf<R at 3psdWaJE4;g+}MS_)+
z#oHae;sGJ!g%q%_R;_j1?1M4`6BZwE%S^X#@c<@5GPyp?k9-FNb2zUNlQfk^l}=B-
zenY9;3Q_A3a8+F4{h0y}r5Z_*bDN&SP=;20pWhiR&e<OZJ+Iq?j>dyvs at 2Q0V{{$-
zPgj(vh+Qo`*L6muGWBd*lJt4%Q42X+i>4~`8jqxPLF*V9VOwZz1(8T-F<`qz$qI)h
z<I|OSc<pH)K~>3S4`RL8DSCs`zhF;a4(tCf>HYsEwld)Vmt*<gwmwFD238iv|1G%x
zpV~VE8#~+o%DepkBZ$#&|Kzi^RzV?;YzJ7F{}ZKeZ)J~eZxOd4Fthh>ZwGb=+W*1b
zYR_h8Ok~{sRo&LqUf!C0G`(tm-H;L~Di<Izwy=RlZf$kUGb}JU0t+7pvt*<LMn_XW
zM at LWF8yi=q(z5pdjUS9J2guH*zPfJz)x$dgVRm?r3&&{lLZ4jU04&zB0+6BtAaSuF
zfw2)0`DY{~T=9jz%5DQF5V1)q`D63&Z|=gLLyM6b-tAu)Ti6~vCY<r<0Vb0w1CY|v
z!fyI?00&zK$flBtx&m+zp+V)}h>0Q*Vfjb)M3BsnJoyRAKWetOv)eP#w|8|dVQp|O
zZE<BhDJ=kP)96qGO!AxMCt=Ma-=mrMcPG%??=7Dnj004nrq23NDPPZMZ^vZ&`@;pq
zlt9eSehiJQ%p#wIypO}mCnWwOX9u|XWljCr@<+YDI|WET&-lf<-P`s1*Vz1()|3zt
z(NhzYkW*HY!_hyz2nsF_pH|}bU|;YLeIw)7#N7DE`tQK**wom<$oSjfzHTuF;80K!
zpa?GX at AS<2(D-8iQ2Nf=;t5SGv~SS6Sz~%ud3bjf)%@%b`c2KJFjba6DX!Ox@%ziZ
z=H`0mru#2wn)*h1=C{z`^0GhQ)a>FMG8yrwZ6*x-Hf|dG97x~D*!Wog3<v-RkRJ{S
zDzp!=+>;aFuf+IM>U&^dZEIi`Q2$i`_}t0@^!wfa$(7X+7)U!?JD_*>Px+fJ(8v%d
zT{E*CAUfbQ)z#jw&@Vi|)bA+n$*u7j;GEt!8V||;p>EBu at 4`nqy`m>4<_z!24~HQr
zJ2Je!7<HzP;!ll&+WHRgzSPJFaGs%w0WdvXy&VACIvQZ_FQ&-c_~VWf{qJ3JBVz-&
z{g?KwNbZkf<7SVE|Ksjo0noP{wZ~W7#6KYNKj=<cBCMi`F|4J(Gl##lslWfWrkeb_
z%KzJo9M-Y1{w*o{-rD~Yvop4`IQp=Qikon8`B(?y_=?l1|LQBn?C(=kTi+dh{<|#J
zj^=e07 at yrf?XziiMs0fr$fVTlOjrNrq4k?u`PF2`lH$rQ>}fjDQ-ku4jYxR-JLhek
z8vZ=`wEs<?@T>60n|kV_7`c|dmigOcG-Y-5Pe at 8iAj3WyBWGx80PN1-U0pyvf2gAX
zrJvv0=<;p{;2r+}n!e82|K(J0Wd#VD*DLHp;PMxEhdTtI5C0a(1^`{)3y12*f7Kfv
z0N02A3rYuoM)ZSc@)vl7GX$g;{}I63F!{}oyKeNG7jy04J16S;#(PfCIp_<2BI-K)
zZz%Tx_c>nn2-X0EuKf4kLd*ZT at a2!NHZFbhzafq2pNKTxMvOGC=yBX{5$6%#xsctX
z-tcPyQ$yPa`~IJ}y2fAP`sOdu;n)OI`Y*7r^S#`2T#(7T*ZD8HcRcf#(Y?Up^x_R3
zu3yECPR{Say at BB`+`B^H2;aUK8TB6^AEM?Duy1|aFW5J}@e|zp!0IcU at u&V{80A)2
z)y^3HpU|Jc%Z}!cf*pEWT5Z;Rz0W4lx at K4^Zy-zr{&W(;gD}NIo%t!muZz|`H
zU0yn``)?7HG#+=(AMzU-P$%G@!fjZ`)7Z$@*a6X2o;}_gT2NF7(mh_xum07c?H^ni
z++gjWKVFaH7uYxX(hr>R at BObB<7wP|?tim2_n%9VapJoCWqnFNb13?Um&eZ!_}^<J
zKMs7~V1HK?P#~TFGW)8iH!|*m)t7>txR$~9+ZV57AE)E5EQ{sm-D=sKI(hN=O68SJ
zfvh>V!HS}v@~dtm<aYnmAoP0VG_mrBwi1&!^L%un5tGecw+>Rv7{W>+<$^E4AoL$D
zl>fnb>*Dw<1J?{_33QcAIO6DVBp^R6;BJEvb6<i at t&R?%zNNrcZkX)rO`2X9E*H80
z_su1pV3^VABMEiPBlOD`>3ZVN?d{GKoJ#i~Ns`U?f8>tVBYRlcF^uujy8l$mo4DQ%
z5R5F0k^=OJ;N%g!q4G+mjA}m8Qp6^~Mp3d7&Ffj8-U+ih8rP6q>K at QwWo_aP{hGj&
zD~5J+A)%TTHVct*KTe5~ltE#!wB;UsT~j3q0A at ESt{qU7swtm%rz+L=$G1#n5IVVg
z`W4Qc#cN3dme&^D7cG;#nq+?$2+;OvM1~H#`3(e{m>zMX<>=ZG!3{Uj(#MAF^(rYL
zy3+4C+bXxrzN?f8+>41vi)K)VJG$pX&-GeB!>JVXYCQ!Vri at PePpHSN*-E;35%j!G
z`EfBopsKH&@wg)k18iwJD(|?#Xt2^O0nQGasyj%%Z3;wBaEm3<R~@gN6X!vjLSYp_
zMyrhnfNq2>J1D22W1y6Z9xLs)250Sg_o)%@=US&z<op2rO*Lz-GcTBlR$6~@D=Y5(
zL}5Fsd?3dQD?bNPbY+VWRpgTe`g(tMYGvXk`BYf`CxXbJh}j+|w<quoLu4VA3G$wU
zjkYNV=jbO&|C-uV?Q%tZCx~V;x3IlkzU_6{)4>!!c>OGKb#7rkJ`;*0Up953J%WL~
zcjWlcQ0K+tpM`+bT0_fcdr6%PB4^!A?ROdS%qVk9wW4*!wDHP3V>xypvJb=VP~1X~
zt&Mka(kM<mc4#J#(t^yuM#<J5x4cl!ie31<jo8`}1YckLckL*m%6L{R%2ofGR&+Rb
zYopRQjzzg{sT+oAr3c!P4R3De5y;~XGB{jN4b|8W{b_+tV<ZAkQOjaW^x+7SF}2|>
z!gY=vy*fz}Hp3+%SBdLOQWa4oep6)m442>~FQqrMzzs|O6x^peKJ={}^|C5$#5FWR
zT>~g?btMg`iGxV>5qG!o-WQKguC+<$7EjO9 at qB#v#Te9~g)O3;t;(PlEJYfABovku
z%OC9T!kfOFi)dP(p2Rhlx5u4_pHzrk0UqqH>oIK^2&aP<A;r`S5?S)?K1{X`1dZdR
zfK#|6Obc$7DLfH^uAX)^>yGEtE+j#aK|-q5b6OFj0)A(2uJe{^T0MF(m+kg1SihX-
zyeO(~mv4=6)>+Q#;?b%eIWMM~xGdasUa9C&xp=~?Vyu9TSph%$ppo(Lt*m_$NsEFc
zdyz(mKoO1$c=r{}IL59H83>DC=vy`G0xPii*fbxVTpnqVhE)gEupG7bwbz6j)XK)>
z&lT8cHo}J77#Oz0G`VI2W!al}`{vKSJMEqRs!fvROfZ_{v9SnjNVk2Ve54-hHe;VX
zRVKl5o6+&_QPX4pZdTb~IcR$^O^oU!HUrmcL<tZz9yRH&bJxCsBGOg&RGWb7 at Qx2n
zT}%e;fg8$P7U;kD2ci^IkTA*{<UQQ*8ywU>B}a9kR-(rXT{)_E^9JEE6bBgyMWsR*
z2D^hFY--7ieM$8sB-U*cdNOci%!(AQWFvWTF at xXd`tk7|+OK>Kau!?2T7ILzjT}KE
zul!(2T67HMg{3R_NTk+)l^3EO7eIOvZ|0r;EriKTf_D2RM6J{+vil7qv&uN`%F0~W
zE(Ic!AYG2x at L%s)!->uedFRxVXQs#bx=lqMRwbjJs&%>6>DWVi%RSb``vZ<B`>mp;
z at m4ODFSV857r~+0-_YsnLn|R-%MNo+g?(Ta!99e&tZ>vXaIMo08!4QGMdB%9W|YVd
z)_h7KvQd*ep~A{~bI>@T;II%l=;eiYlaKr_mV;_1!HC{D2qNTb|IKdXfQ6?43zd2n
zKSD at k%cymN=zze|epD2mKaC36e^2`4H9|GxA)cC~`!}YlLU_%_t`LW|zGI at Ol5{(9
z`65`ygqw;rpGd}0V2XilsP<TO+A229bN`?;#-Pz7I%3ZC*M3AIV2bgeQDUvAV#fRp
z6cI70{(@K|(<e9d&ub9`Q8n+DZ?C{5*~i8o7R>?-bvI5!%vI0D7{cF;)j?+7M9Tbp
z=oV1*Fm>S;sNezc9A~pfICrDKiNO0nE1RYEDaEM!<@e6=c0gaakEX?Mn6Mpov-`tq
zRfr9Lln_Fw->Ynnuk@^rr0qoOZQOVji(DxSOdYLu2|;g*Y%|yE1zs!c=5>)Rep*9v
z4-o%?bL%?UGm`!Bz?~f}@QvU!yQ0Y%HYaQi1mR+HB-2#R#W4- at i>r!^Y4{l#5+ntE
zlj%2Nl&-PC0Uf?XbiW|EWdl!;JxmuGx(IsQ5;E#0QJk?w>k>f57l5YOZMxiL%D8;-
zUN?kP#LMej(V2Ypt>RV}1KVzL-AzgN&qk=Q=*O|iSPVB|t7UAW+D1s6B=6B*B;PYS
zP`(laJ(0j-5cmH)VgiFzgzg-EcI;0sDJ;?{TCn6-gs1PMODte;zP^6zzAb34NlQwA
z at FzYlD0=5fSEk}G9dWwM(0F+yb|?5Eq0IlldiKFtdw}_;4)xL!IKP%U__UC#e5_<Y
zcnB-X<xm<Z^tX#qJF`ES3DT+WN0gM+Y7dei(~ciY6s5-mTaz|ohTVS9bXZ&OkrQ`N
z*r0RdYbrn~qlKh1cv1*`zCroAR-Yv~v}epTWgmfHiG~T37TfChl=feA(3$0d(|F1{
zf4acx`-ZgD>RZVt-2ZFGlJO6=40la`Y}+~lic at Q0!ckSUrx7~$9}kR-XuKPB;6-sG
zhK(P--eF`AZw!viG|JK)6(8Z)G$3ty>%9vwQ#Mv_oMJSEoF3<^0&;5wNPc{Rv3yu@
zhUtHkCHu=hr&0qsc~qS<SFys9{$-7<;hbpV2!^T6!0$A!9J at 7J(`?68!*tF9UE1PV
z9o3`JEg@~3J&;I;t6Y at l+>S at FO=_nr09ydUM0kW#a716W31 at kXPenUxG+i@2e1hKl
zw-3cXnslQ;ItCL>8t%A;;1(RG^K9D_=*-o?NI=D!n1ZpGqYfn(D@%WpE2+qU#?P2G
zyz>)A=WmVN;HmZtv&j>Ql!p^4V3d}c8JSc0FBIh{Mo=`K%p{5Yy#E38pj4WkH$|jo
zuSxtJwIc8kThX}sbY$Zt9{TDjXk_M;R`Gbzq?I4U8l*ak&$(lYqI^^>ic_jAhT@=w
zh5H56OK6A}%(c?inPrb&t>TDSd4kJsc9d6-;L9xm0<2C`Sg$7GkZ!?N at 97LX_(*r_
zFY%*Ok~)J&C5AaJ8_Jx*EEidnLLqBEKfboay3?HOJ%PhX#bU6S{DsN)D|eSv%>sAX
zQaF2>vP`%EF!rK*XDZ#JxKfo!Unq7|wUndS<va|7=7AG9N^gLlW$sCbQj8Z^%#LI)
zooA<jQG@?@AXSI5x7i-4H-884oU04|sE#)Z*V)9OHWPbA1mw<r()+PlYH?=X-S4&m
zE6R5J>urm@!>uY;=sXcS*rZ#j(cOWb`X&Btg$|Kx$aY3R9w?M at TZ?Rakss`&;Gq=Z
z80-(HcG at xie7hm9Tl0<6bx1FZ($3e~e<Zg*f6m6mh7QyTH;LCJ2_D#>^g|x48e$*9
zH_IkH<hW#1<ScqXtsoVY1)se0D1yb&r!R*v#STv6WX6xi<4 at 4K1Y)E10{WNoEV#>?
zT6M=hvj_i6&|BD9(k4_UNdlyj6gh#O1u~SMsy}eE>1rV1Gb;zA?rSIfoHOxmigtp2
z^NH$Pd@|e$K{eUI7fNWcRM_o at 6M|pyLAOnLZQk9>E#P at JqAto(5I?s7{VkU&m2C-E
zMjhtl-8iHuk~gi!8BMF*LQMlQURQ6}L^!%eHn>$vcK;z_;(Px~BE%@u1yav)-GUj1
zKdXX>y0r7Ctaw&LWi+=P!96Q7Yu`HHq>l7$NJB1BZ7JHVzPBNY9+~lML8eby$9~^v
zcqkj!<a&e>`|URc!AYy2AA0k%)6M+$w^n%ekPUr+^R|FHE3!<$tO$6vD1|nnRpUjx
z=@sij4#(q4hfL&1F~2*s=B&XP=&a3?+j)&FT^_NQvN$is8~(QK1|c=GT8Dymn at K^p
zs?QTNFdVNe#G3t?jowexP6qQnrEu509}zX<@C|ufo*o at A<XZnH@^i2!NzsbhHNC19
zZE%^n%J;)u8cQ0R)`)J_+!EU^c*`~Ni8r^&V3e|ePuCzv{K99QZ=eSjENS<>wLlCk
z*;bczR0e|yLL0une8vN#4ZXvyR3K;iEzTR0(cF3Vo3&UmEX7Bd-|ATL&;mm9%gc28
zq9&#KKr;K^*$8$Cd6_v;B)8tIn at 5dtI*Hh_=lUSMDBIY?O0wS*+gy)H75sk~4i6B}
z?4I at k>CT9k8t+r at W#EDwgWser#8Ds=C(%hw&qG{_2 at Jxoqv*G-f74PQ2eK+jwe4Fq
zn-!pd-fsRg9M~CP#jzek+>;vRC|!C8mEhmpqnr+gg}p5?;yWQ^j$51<zgPq-%o#dK
zqk-<JK)~Rg*pi)QC4b<b-vxUutwv`W7nB7h%D(3K77nrF>6WA|V)h&PyG|Phlq)a=
zCa~n?P*tv`m7L?<xi`MT`JdS0gO!6$iu(L3Hee|n;U`*D+b9?~>CKz+wXqs8m84_b
zz&y6)66~hR_|cfdXq#S8u~4!d-m4Wx-s*Kkw6{ACpEgx&T4Zfo(j!^wh{C_a+UQ3B
zaaFH6L0_+j3>&|x0od+ykM)hk`<Yo3tj8E80-$zHNF)h+y(gtbJoH0SZoX4pvM+t%
zl>-`EdQPT?c3VX=$WYf=b3mOZr{>QT=1cLj8!+gr%-uApWTLd9=!B+>v12u`S1R6S
zd$YwuJ^N<aLxgCVuY_%AHTC*Ztd~FCj3zxeA<hEHW;Egzh3!4ZD#a##o`+f&epuqa
z3F7nMn0J4Opn|7L_SlZx65(x;5wBVAO2upE^dvR7_-F at amHEv>mIq0P5jZu|M
z+DSL?adSZ0zO3WoxF#L7$<(0`j%Eumkrq4KGW+!YDLuJF@{hEDPr>ImoeICFEo+p1
zVgV`n#YjFSQ}1VAz6Ms%<x;utDQ7DJKfgD2k5G43ZX`IEH{ut=-eaijnX5Je?@>Bh
zT$?gf99#@c6d+pfh$aw$mMr0upftsnv%S$^AM(|Sfp69r$>O%$JpqCSg^dE#9svLr
z(c at 7<kt774Tvxbux+4d at bwFRm(4!w+#-x)l0R~&HIKuGD16^tu9@^*U*$Kf{kK?tV
zl^bIi(lX$|$7jp&{em7ok9W0-ylrs=%y&`IB{9SI+xPhorRtRPX(=Z@*D98`ZIHu;
zQggo`OKECk-iHo9-9o_~<4l~x1-Q}Y_<62+2TOJ>Jv~8&pLVR^7ee(2v+QHO^2`=P
ztk1IO=m{BFgr6;6V_0{%6Xw%tdF3abAvyuOCt@*^W??6L3zC4P0cWZ8Vfw7!GIU`n
zTcln840z(1p;-qzn0(Lobqn5{!8-1B9^*AI(akYQZ)6>o%=-k1>I?sUe=S?c0Q0*@
zctlcZ->al}jnAL3dx^;XXqB2cWw&$_31f+?AK(Rw^u$QI)VOC#+(gPti#d^#k{S=g
zD^g%5z9K}Q^6u4Og?kSInP at VL2zp}pFd!lcX_}GT(w?qx;8xs+9E0!UYuQTiLD!q=
zr&>0~=9hop!rD%A(PjsFo;?MLS&;$uR&JGwZF_Y at qaM*-<%j>*SRR<lw|)xJ$G^3p
zP(KRK1caqSTzQ&}8i8ZBawZ9LRxTU%Ay)AwH1+-)@D?M$<9j at 2zh&%p{w%*+S`(#m
z9Xe{3z%~xQz|{F&SV<l!#?aNRliqhK9uV1*(J&S7w6}IV6ZnQ9aP2#8)v;|qW=d*-
zck+snb*sNOu4S0wT}_eM=K6U<hVox$j+U_((;wGR4P)VEdaE4SP!Tn`y%)L&m2y3Y
z%@l+lYE?(rVMM%1^j5uixDfHIT+--1evMRyu%Vo|PrnGAqVo`PLsbB{YXXCQ80WkT
zlH<(Ps5 at L0DR~X(UGcVr)oJyAMA=5tvWRO>&@pV#V at q^3nWSyQLnyEBM!~g%m!;M2
zQDUc>U&>b at Zt}!5;g=1lennn4*T(Ocm8I$>{*xT{kiY-BR_<Zd(sd5uZ(ZJn*-xIP
z>MKq?yoo+-tgA}X>BMbTHO$We<$+sv_Q}UaMJteFeo!VCdx?qZ6|&oSannqAe?+jp
zZ_Z-5F-}7flY762U+4DAeea|l8z#+fy{&iw9Ea(;_b}cENm^zUc||DfIeek2GFD6(
zOHx;HMf}^H>U6h8Q31ZOr<Npp@@_I%vK;|+68xTOmAZ^?BAhNQhcBaE-+m$)J;8h0
zba|@1bqh(Mp(-8t`{YV9Vu?jFW<1fSH22GAP21Pt7x94sF26+TSFhe)l{bl&GVFJ*
zY+b+7o0~2_PI8M>wf_VBz(@SUN!DN{ZVJ824Ftr_<m><^SID35lU86MU*9STk<2Br
zEy1AOm-rC|H;lk^^>#vV1I9l#zB~xYZ0Wdjbm;U%KtjCsSs1GtPI+W)FH$aKNXkT^
zQO;)|gHzqn)MHwPq`ng1m}*d?!(4xPzDuGj8U5m-ObpaX5UOBG_V8k>bIlB=Yrhzf
z`zBq&(;uhG8&btoF-Q_HemL&9B>8?fk0#}cc|^}m9o(eA+TT6s91uI(&1s*c)+`N$
z19yeI<}{nwH~Ds78{=Md)#iygmhh#@(07pC;z=yML`MdDQEBbz2oov4c%IC_&CMZq
zDe1FGXA$O?W9xMK`<7q~6|Qw7UK>r4*qP3?|7t9vTVuQWpf=d_q>B2>$tjP$Zki4q
zQU$UZt<4dlJ2lhbgHgc5J5x}Cfq1Rtlp{4ia&$JAQ5DCCDCA5GaEi?kO8v)4CXJj7
zqH4%BEK#6*afPDHU7l<s2#xE>H_xt+ at o&Dt<qQAj&>|Pe%_#0F7HL|)FfE=J26QXA
zcj1<xyUtJxN17Hb{hUzU*3+I^!4WEr`Sbd1O6d)C540;BQ~A53)mTL<vLP at xohRs=
zT7N!&>a^<OilFx#L#>13!P&M+WPACx*<)nnsO3j-eah0hMdTu#*I>e-xL5&SKa{Q`
z0#-t=vw(AAS;#NeUQ{~9P$~#Oq%@JG6=FJmX{}+v93ovD`i5<D=sFNTm=gWogk61U
zI1tytuX)1+A2qi8F(kN5+E&rQi9@^tb6E|ok%o(LldP(9zRI?wXekK}M^vxdJW_0V
z-;w at qttn-O#IMGj9hf5X*XFF-+1aPh`pM){eR3F<r at OtC0Gmy{$*m|$q}+p5<1)Vl
zK=JScp%ij3GvPz*W*aTL#_meHeN=PfwusEJC&ORfGxH&jc8o901{X%R3##Yo2igeo
zy15oojCSb&<h)lFgOe&sZyFp at s98?)KQ|sy{K0HXFp^|1(naR^Yrw2Le>nCZ!9Laq
z8r***vm at sfCH|2rh$Lnt?I-UlVztHB*OlQM`Ar#@_m;kJ6FC9%?2&PZ5qyxe>n)wm
zSf<j?&OJ63thyoFwQ}kKw17h-I-OE8%9E81!|MWu^I3?v0s6YlA;I6 at W69LzQ$->8
zpsm3~PWsi6H%d!?D_sxf9cG?%rlQ$2NM_EJLd7IUl6gB2;5_P9r#D@;AlY}OqiY|e
zpofbqS4e|xzm4=*+0JbpeaZj@=W~E7sLJp{`vRbw1RNM>`shG~YW0qoeEdBQZ|Aaa
zPSpDrZ~Hs>@ZM7xuE{XFYhBqQIf8(egYk+@&mD4ln=}tq at _rY*6caQm##W^zg*J(U
zh1JPyBVlj^92u6LfpmH`uG*T+qqxV=3iF&l$gl;4Crep_ATo-M4Lo^E*spB?{ta?z
zhY%i5)X<O@{`dd<{haQklcJC2 at UoS=j!*@cF3JK%R+`zt&L3YCPO*+Dr|_!g+dl!5
z1-M-lt+0`>H{4tr2ya!=%tTANVUM+q6hN+%c8SQe59L}al-5Q!dk^=^R9*s^5j&>z
zlft$&rO1!iFqU at Kb&ktLC}Q7NF at ccdgb?*z|6#5F<IX)LBk7U-kclNaDqPDanLuES
zYW6eBKz944)~Ybj`dxkxQnjBENRi0(5KATDqL9(xsZ8BrBFLo)kTl*SCXrZfwT=t2
zX#w<ns7#N at k$De*=QgDch^PV@(vA0}5A4jV(7HC}8w477LdRFr1m4rsQSz77nQ;+e
z?cGpqIjI*&{sZ<=#1#E7(fB0Gn33rK??YcC3)MQ+Q9QaSj){Ek&6+dayF;+&|4vQv
zG$dNkjpa$~Ojg7694|{-+|}Sh8PZRTeiEptd^d3<YR+yyjcGK at 73RI;!n$T?@b(OA
z6ebqa5ca;Nuc3$odaXzhzqZv6qyG1H%l|x%@uC*7y)a-&fk>>s{#5(tn>!+=ODtQt
zZB8qW7A?34#|1Rr;QCvOF2dGVZ~BP3!NZ$@nPC_3Y<5~%kI5z9q$MOTd=w9(*A0xJ
z9CWASif8z%Ih1vDXR6M at 1V+f6N@*+8M}*R8jkJnDdxp`spiR;}1<paS`E6_}fAtN4
zZqwgKwn>h6Aaldffvwm&PXb?>$AP>mpG;5~;#`64Kn?w at ION~e9B6e7b&8P*R~Jx>
zB0sI>FR>h#?%y2nZ}+<&tLZ0G8zpd-MNKuVW#c9|;Fl3iRX`Mz_*{nA5eaTt%9jm+
z;fJNKeP3t{YOY1S1z#!NEIZ9r;0P!YB9#0=hUvp8?xTXby?9W&87NPj#tiuV2)yUw
zNZ)x{tz2<uFtTn(ah7eK3bk9?o;$`CNDKQtLPSs}gw=XF7}X1U9!YZO>>pRSHng#n
z1V|f9WKBT6h=R9nU#o?JhLn5v&kRixlhb1YcvEWw2eZjSg!(hJXH1qdK-f%l29#7B
zA at Dp4R!eDsZMw}alT!a-`33-<l7pFCexH9f01$HC=Cgcs at LENXcmF>Q$T^%H{^plX
z2mknuvR?GhyMmh;6VD`%`fF(}@zNDeQ8^{!N6y-nyKnZVzCwg4v|7QTH6&e<f80eT
zeH)CTW*vS%(DpNDe$m)WN at to(@Oa;ZLV!|}+SmS<7ntFyODcXwosOCCjKH7Z^+m4+
zqT at m8)4;%armPh%wbtf?3L4yc=iIDt1S at WE9|A64Os>>7mmPr%$CC54yfA#L1Q8yR
ziS8F3c5HoB>DxVDCJMg&_z+ud^@!3#;|OoGA0s2%STur?p{~yiOpbfZT-hVGJCDv}
zwX%qCPA~e|6dtFb at X&^D$vOV~wk$J2VGEMGPP16~hozJkM~89#Wr;4lWcx199ds($
ze;URm|7xyqmvIo^7{{GJ_vUG2wqO|I8)^e6G~l<nH<skLBV)&JG`<qiIjUcR1ATN&
z7HG?kdq{7#{N2!^CFo4i{lYc10A%<80q)N`b9taBes~IJ%uANrGw}!dw$?_i0qj82
z8t at 4wwIRp7Q5rR3*yvd{%TA&K154DyjT3~vyYju8MQy78v;_)|njjh-H{|lAaI9Bt
z3|n^1f5<P>PYaLcZ0=naNVs=iusId;^bQ@{&xZ3(I!&xRF)Lkkrq~}D=AB>kC>?W<
zY(*Q66yyvZ4sd2U(=_DRDjwVCQlbv?UQ}vr44grZEJEA(D!8Y%1?uy&W5-r at csO8)
zix{=v6C)A?VcdgS?hs7r#P9Kk>rAptIWQLR_QjrttO9nxXx#K>Vq<PoLba4#arue8
zAnot=y=mS}cr5mM41U<XjlcAv3r0LZ%qnORtf$WU-aq4!W5%t$$#5?uVb$jFx&CI~
z21h&kMi=3uf<ZQ0*9#Lm&o8VISQBcOaX6`KJ`#hXG(GKY735Oq>EzuP+@?wqJ4<Ud
zj?N~iozO8 at Q4KRQd>J}kCGgoV!6-**y4aIyG&xt0%MzF6FbIqLY;${RIl$pgq}iPF
zVbN8EIAK0oj5B~nwH1oO^JU0+o$wuy*qVd6Zw=R)D<v>Y0JmCoV^)Bgm#sJhsta|f
znjBHSN&Q*aM$)+|&K656SuH(zE~DJzOAkmb&;}<%hT8qnq9&D9Wt`lx{>ov*teH<A
z+LusTJi)i++Km-8i?40_7)9EN6|8WjnU(i**KNi|*M&C%@1HTyxHm+GcqNdCONpLH
zzM$bCjLtX;G^CrqSI9vEGzb=ty7&^8e?~J%E(fPR2T5zUIYuAZEFT}h<2;{_QW38-
z;u+2{s`qn+4{xA8aXHeY`r=W8l)*5A5NR--fWPd@@!;@BDK+8To>kqtJf11_#XAwn
zGO=ENq|;wu6?gdshV?Ng&a+yVEe)EebevA&5FSrwRZjITeu-kakBuD^c2YG%HJgCm
zrs>`4N+N)-y621^6u!Kz3^nPAaUOlTqp&J5>UDC4 at C9g#Qhw|bNStTdz23<mj%2J%
zHx`LUm%8Efgz$#l#JmROMk>Y0sHY{?ni=rLB;sq<f4UvF7hY+X54&?Zc9R0Ps{{`f
zw at KUyZdhBhP*d6Z?YUwKUee at f?;UnA-=JjP2!$m0GKM7OT?H&;$Se!eL%?Jahl(Ng
z88oN+&!eyG_(5Z42rLDNh%*JtJo0YBR2TVF7Zl0h&QF7BLJF^k4{X)g4l5dZXAAyx
zP2;>I<_9M%o3FktAGV$s{jEySBD0HR+E>&)J%w>3S#}ut?#g6Eo>WE?!8^OYuPt;W
zs!($=ILC1(vJuj>h_9<pKj>ER+^X3ctAUeICv^4 at 7Nme*$DMF*UNYz4yRd9^km2RQ
z*`>Aeo#?7WQl9MMohD~*lY-=e9}^1_hOuQfydNMMoBV7LS$uAkReDYt-ko7C!gf7O
z6;eA4Q~_OXo_v1AL16^t8DM>$AP#=U#X-Zy<49z6lIH-EZ6CGzs_>3PKJL4w^`p1q
z_5p*za|1AyGn-#N;^*rYsA%0vrIE?5ac8~`$M{NZ2oHlt*hM_yf%K|CNU2$p#tC9P
z*el1Lh4cAY&+LH{JgI6_dO67n_G6%HFHv(8B|dsM+Ci5iD5P*-2S9`6=N*^(b+i)9
z6V~<x*?CL5%?wosG6%3eUGhQBb}fTkM*&dK8U>^@#~ASUNnRK6E4y|w<mTi#A8X)%
z4Bt<e>cgKbdxgAMJ(F=`x*anGy0~cvNs#?yttSwpS+a6~-fe<%`}VIao$g2!N!84|
zj;cFP6{OBR=_XNDvm+st7 at G$Hp6R!+pNdsZlOYghXh@)~GAF2l72{oPLGH9Ybf=ol
z&RI?IkZi0u98KM;t3uTU at Iks6AZ9Zqd%{lABa$IDJLGXB{F0J0;x9BA-h7z$6;leb
zJ9WEW)A!;Qx^Y7&52#m1G|6y-s0~_NqHPMw``hK-Fz94Q>!j{3jbOcA at wJ?)qgQW=
znFmqKDP|U9EEqyiKZNg1G8e>voB}^b@$EUeNXRtGWyhj|Wj at Ns3FNDf&J~aJ5&L at l
z^#KDi>fLhS7QnK?SbW$S%<j$-y0OTK4}p7dRQrDd!mmCozrs(|sq0DFzcfX44xlfQ
z#P*k;64Cp31j)Jn4NIed+gti(msGspw4B1^G|8#yiR-(rM}L3~=1i$c&>Fh51Fk6e
z8s}{}<8>UATSjhQF8WqwDHNN0K#ibe(or<^h`>D$vUU`gc*HF`@s%wU>UwF#mBB%h
zyS_=#eE~wG`UXizG+4IqQbdF$!H_wESr2w=Zq=ItPIWR}li+yFoTVEphK$v_3G#%)
zBCV9RFFnVRZA(k83mmNzwL9`v56MIRcU=zp_s)WQsI{_=t|efm+2lS^&{}fCgGRtT
zfb4JIP&Xg(&HVto^gbMIIX&N%%FwaPYOnjKz5uAMt|}X&&I<QplBt%?;;X2vc1BS#
zd<IG*_D1r$U11|Gx%LxqtOZ?tXw?X4{Fo(^y-p8Ww;<AWm@?@@;cP+2=Lq5*GCRdl
zx$qjZMA|Eyu6B000C#8;fR}4a6Y6kd;GxV>&ylKs<1NPY+3^X5&biZ1g<hA22B}Fs
z{hy*pBQ7mF^bqS?3{nC)h+i&_3rNTaT`m(7Al%SzjwRBr{G2i%<n3afd%4OrF2;MC
zgXjdEzfSpnqmZd-_dHVj9knf>C86Y<N%;}p=d`(!aKJFfe)K?mVx%OG$}1%;UOhoe
zRp#iM7y988n0H|y$uuNOs|?rZGPJUk at i)9XbwubOtjuTfkHY0>+pxDQX^nR at 0%es<
z6QzGB#yDJZ_hBgNGkmGijDO~yPC{&>=FsRRu)4viiSty@@CR29OL{gT+?o94V(HHF
zut;_G at S+X`l>`f`?-hC%!7h?aq}<Du^b1vdpK_an5MmFWQ4FOHz~?=rM=KM|k}P!F
zGGkmA++2^jLNYc#J|QyMHZYlO*0fLMED3j%Kj91#b>*8?bHgRy2vs1U_a7EL#=p8Q
z7ebta=)e~!P?$IMe`?gpeXyT_VDH>YhU{N4XUy*skWmcAUFa}R{ClIcRI(N at Xh=MG
zB3s3j&TaB(;<)K3`PfY)5^d64_~oKaLYWXgWpy%+<{W_96;(J!8@!O%oOj*}aQmU!
zjV-^b|2}Z(o^Yeo*~<2pf~Gv~PAF_mGLnl%$;zrYf|Z4V&yZxL&4mqG!|QZz1LdM4
z`z(#OHNS8#WP2I%n#TL=cDylX-<EYiL(I2JJ4(p*du`Xbysm8cq$5355^zbqsa^1%
zO;D?ha4o(qJ$_KW4S)^iB_4~DwTM}yl+QJ-kti~HCN=sf)vztJ(%Q=G951w+^E|Vw
zt3|A{)kKt5>A%dq&CsW2c>st}jZS6BkSG589>5~;4Q(IG0Ob5TA>Hp6;i3!H#)~Wx
zRO1YQ0-&hEHbePUIbPIQ at a{On)UzffMat8KW{_xYz&52!$kGx3+~$MW?L41IJwvDd
zKm-x}R7oDY6e;zQ2<&xiI_d7_jP>8<#;U~2k+b#EogO at 1)5Qc&V5JD%QXICSRP_%J
z#Tkj>&P6jgJgpe~m$V2 at t{FuX*l<8QNOyo#<*WIk=1UC8%$n1^1(Xq#H&6<E`lNBE
zi9zQrEb_)2HQ*pzJl8dsDZvbPl&N5u-WT|w0Lkc7r6x!lKQBu79_vK;?NAd8%W2)f
z(-iDUBdMK0#MP(8zg5koAYEIe`G|~28&nSIR_Ddzy(0g>joNg^c#;%&;hQ07Ev*%>
zgR=5HIAzkvd#SBQw})bN1O?ca<r57GSIMC#01KWzX$(@cZNnqm3LbT(;E|jf33qtd
zIy{P{R at D&!Y1d$}d*W;}P!UK6u~Oh`<mrc;y<uN&))cIRxzjE=wy at 09ourkHF@;A4
zBy%Sh;pGJ4hItt0_A?yZs$`n`{zVDr_xbDEd#T$V9+o04eN>9ENyt5}ru9CbLX2ar
zbWHQx?C7c$zB(ItYI|Q(+5g#eYXx8HjDd(}h94BN at n8h!7uoYv0fw#tE`W-mC+&Vb
zK>Rh6wAk9?^aOh-ni50;D!K}yrlHC at 2+N3g3Z5lPxY8YLjcsAU0w>hC0+6Zk at Jd2D
zyAwBisc+>9V|sxU9X+*Ng9KC%Rjqh!BXo>wJ*yo(_sn at -!AGl>u69H0*w?b-T@(Lo
zr^B#CC8y;}^|etx<g5xGn}=EB57wT%i`kA%UF?}d>A__l&`#LVxk47Mr*fGPXwAco
zqTIszgw9*P@=zGcb6XacUS{33Ldj7$0EfEmi1-;O0%}2u6yJdi;zzJ&>M{p^%1b}V
zCTZ-i6#qB$jtm&;y>MKHpeX1slwCI{7YY8azpTSKebAaZw_uKF|6yJGX<}%ECHZkh
z^O;$MdUQP)Mqo0e at IJy!vdvyEEifp<S%F{%&zN*tTIbYd$<1w*a}187nbFt#%H_V%
zCrIIy4Lqd*zEbV*Ur5j at K;4m%GOVm`W1JJF4;C?eyjWk7ICq;<{=-Tuaba(!mR!Kn
zEPt5-lUXrCp9e)6MeYmHu*EsUq?Fus34Te?pDYqB1^Kn)lV~@yf0J{tnx|4M2}Fe;
z>dl+r&&(J>Uu)J1NYxykS9zcWHGPd)BjU}(U-)}NRHqRoU$O%o3|962prfIrWOArb
zr(4|3W_-YgsYh7I`i&<Pjr7&0jd+6^xJaItBS4hGac#NKwq?v^?_5pC7XXnKK(aXu
z9z=$F at fvK^GQ1nsr^Ls(fz<~XsU9|ya(97J>VPBKc05lYZCzZ6<q%uU<4?9)6>e4i
zyXj~QxYW)ZrNK8hu1ohS0!n&i7Q at qP!F)^`juxaOZh)^Y!)P|i3`J>h4!C5i1p|=K
ziteZT10N44vZ?6!r7uZ`rrO|H?&A`?3P+(gZ()$2kOWW8waXgT7fue$r^;lxQGV-<
zS=dmUor%?(1l${iAs=fX4p^>sv!E9GI!$GD;g#6(j$LK2;I(YBeP;g1b1v3GvM7t<
zE-Kck0sC4S5li%i<e8HDOt1}GswRj*k?Rkm<`=IR#)~2BT=+G)zkx>ms at CO9kV56U
zt=Zgy?Kx;(bc&Sw$!1EP#2H9owzQ=Qxy{Ji)gZcVuj$e)-U^Bq=goMR!0n`oyAIM&
z#iP@}zg`!7rYNIm<&AUGo{Kew*}vRMhemswA4>39R&(ISIWrS#o@^f1-er9$O40b>
z$1DRO<x-aVFr=1{3-<*j&gRMdS`fygn63}YpUSaPPO*>oa~Dyrb&HO at Kv>c<RqIlE
zZ)7e2nInk6U&{)8z^Pm*b{rMpvik+b5E#F-i|-iZ6|mD0W^A8nKn%ww#AJnR0ZBSk
zm_TmN-G?mGf`Kac#n#AVaqdpBwo5px?$8IcdGR(WUJ{Z~I_R<$uVp>%(YLni1cpP%
zn_WXWZuS}?{v>8HSW++AW;F^w9ol-NIuq!>#x3LQUf(A$I5IAkif#W6G+N%g?XKP+
z+h)JHP>u)KO_TqKcf=K($rtA?wH5u2Q at eyvd%%5k_18<^Di~XcPtW<ERXq<c11yTA
zg#6|7azB|)!ZRmFb0r7!ydcnLW!spj4<bgldO;)O-bJglj7K9OBM at eoFh&Z^J+ at tI
z8rF$1APAKR;^bgYT?u<0Mr2?(EzRJ=#@XiNJ-kL5307mJ9gs=ztdHs%GR}qN+7K`o
zR#T0to#BtKzKCWjPl3gG2;8nQ<^W{b9?fB8ccIUjl;Ti~Uo{{=(>_udpc~i_Jf~wQ
zmNpHSc9z{wp=iqRxF(Jm{$8Irse89+88^A6$fmsSHS|3lurcC{D+=Yay_ou;rcRln
z=bPM$xiXhLA|u6=#y-YOh0NTZ8B8~(&{tX}_lfJJh+CQ;CWW*l|4dVCq86!cqxKPQ
z?w$6ef6OxO8573*4`zCHw=2t0?4eN;r{{!*)}>wCg-p(PZx9-rD(E1ID6w7T_TX_S
zNAk_FZQpufU|kOhGnkJ_g&%pKHJh0416!^?jvd5ph3&8gx_C4teggYGZQU9C!6y7$
zu;&ga7~fZv95lT4gG<|#V&(nWZUxKAq)!@OLbbP6B>c5tkyn5YFj0ze-M+F-*&8d4
z4M+{P)VcU at i#l0{gEKabzn;sNrR!cGF!)+Fhi!1C5(g)1P^lv<)nr~XH``O}7FRXh
z=Gnr#RO$QZSKT=FIea*vHC~QIJTN|(7^)p0&nOq36AH_2E~(^pR8_9zs$5WN-9*)r
zejCLd<D9an(IPGA87Rf%u=gdmf+n^ZeEn>e?0}9MH|~~!3F&~G!PpmNN3V}k>lH>I
z>a(=@Ap#m6njB?O$p&EzvoKdPsEW2Fh*=#XYnqtm!0%)A^>PccR=8lrwV^K63fj$S
zjG~*X?>WheF&h*=&pusSYW*dU)*ELxU{f1U<9*7z=$S_S>rH;$l5|p=(Tm)bfL76I
zA-cvRWohU0Fzq(tmRxBX#_E>Sz^_rG_hDv at M=F+ZALZIJmN0N_0njgNeCEu`l}it?
z`9wnHPjdwYIE5;@6((NXo4hR9JG0-L!(D+*{fC*5u#tFZ#dAY!BGkG&T2Q*HxNc|`
zs-=^ynA*7%H{BT&LBK#B3!ImH1)B!jhOS?va$Vlv5dyx_UWC`cO^0tq90QK8v$vK|
z|I7G#QBhl%A8DO`)6Mi1${S!uX&+$@#wu^~7<Ke{yLPqr8Er|rap{$j_0uJ?Jk-BE
zI}xrtjLF4(;10*7JKdkAhB*8yLIzx+T^3oczR8q?VVNoBN+{pJIi=W~?B9~)ZtWZ4
z4{9li&s2Iwf^bv_Q>Q-G5y+aSyZqAZ!pm;oDlRZM5zplv)V82s_9E>PRe)K*(WD8E
z`zq&xge%-)yI*prc+)Oc#qJ2V{Wt at SzrdNw=h#v3f^!dwd_Z*fdz};~3lp6UE{Dic
zit^Ha+4OWwR)ZQdua(uL2JTa$_I at GSOXl2{roLNT;~`J-3Ww at qO*vodkE|>dHHMrU
z-DOLRRIUoh5jsguP8iT7ER?&pXJ8brgx0QUkpD08BWPmt&qxJk6fQO<jNg-uh5|5B
zDppq-JSuPCCm=6vD69~pMy=|Axji`ia#_nzW#o2b4lA^xQ`Os4VX9UXG^t4NNN?ET
z<G3 at dj>o8vz*ZZ!Y at T0C(;jQ_#3XD(XHSrq1+TSEPk?WK_AFd9^$v7{>ZFc>J(wSC
zM{m79LUiknz2zs}Ir_w;7hF at uqTQ_#0<B6baAkvCaStbI at Qoq4tWAw>&y`?&u>TZ*
zY?XvgxMl$xW(VT%zhlBg##oCwYYl$NL%Ic-&m;(g|1n$ePCqEK7NRjdZ at K~77I>;`
zz_9$}^rDM5a?2b;dJ-*VZzA+^+t4-s&>86?;KGQGno?jUn(a1_Fp%Q8wgII;*>pC5
zsNf)^E}N5(1RTSF%(IQ%M+2ky*#!DJZssa4DfgMtR))93o!?)#x7fxovqhd=PAJMu
zMp?#5krk0E(kBuW+CIk*Y+<chK6v%Xpn!V)RZ0C==RGmHpVqe!DIbeQ0A{=d?8SNa
z?mhI<1F?X}9kmwS@##)F?5vxu=h}0_xVs-!u at Wm#Wc455yUiCUp?py(ia|tF$=WPi
zSWp}_-C8BIO&4OWx1;uX^zyzg>+2634oT&JjO<IXu%4s9wi%lv4UjOE+Y&&XJf5Zq
zcuSWD=pzE*KS!6 at V-sBwhsJc(#SOF^9`DXpRbJ4^Q at DSt9mwLYA&G@^h~kA#!t99V
zbt2VT9sE3EgEIPIfz<5D!0e6}r?qW;tmH=Jxo%p=)rvOkCs>-GHw$22tqbB*7lbZ#
z#;@I1cA0NHH8-Me9YlL|*mBxP|Nc8A+j(o<jE7*iGmAZZX;D<f*G4H$@e(paj>b&d
z+3FI-imD#lNGd18^1Ra54!=Ftxjuu&!1Afvs|O+o3M>ZJ0mcV8wb at KN_8sYiWQzz}
zQj`f-lCN7sWdYiv<=Y_q_)?qzIJ-^e5G0}te!=B-lVbUJ)g(jvhr at 5MZd}a{Gq2N2
ztKCw&B>y3*U`b#vwK~{Co&f~%%ATuAcIsKWWs_X|no$$&FrsDvSROK(E|lYt*R!>5
z`m>&}iDi3y_r3?~QG~AO$hjRJ`jT{&;f at UzO<U7u>cqd`$)&h`fmKq)PWr+LzPM>+
ze6)Usha)}4?``Zem#_oxV_JP$vbYR9Je at t#yt)W#KrMTlnwMO6wYd6E<!pQ&?iyd&
z*i^<E9g7w;7mBYEw3~SAiHi1V+RGG$F7?&B$%FC1c!*`F$hn)aJU!h!>N|~2-MEz0
zRE?pG3y at ZjTI6lr<L8j$agJ}aKWtogOpi)@8;)@ftLT$G9p=V8Vhjg-SYU#!pNeIB
z*I<E41Wpr|Ossh$s5djdr;bj{@CxG67GmZg at 0T%ydOW^;Is^#9Cg)npbpn~sp4Jyp
zm+p`xbA_8RoyE$FP=T7Sd7e?i at cST65Vit*iyAYGE^Zic=96GC4mQHGApDohSBa4j
zR_!NKVi6P>YXgY{$PkLd$=CQ1=4--O#cFFFt7`76h=_wQ<;vpZyR-M9?Y(-h%<*sR
zPX;7ukspLT3)9h(Z<dK?l&S#-h2bmdS-Y$uBvYAE(OLjtR4{a`-2l*O!-DptQ4{dp
z;~q_9)*U(dCQu&gPt at +fO{YBH^Oh1)MieM^TwyrcHeAh1rME|yLGydx(X%>NA4sEJ
z0R(|$EDia9AxdbB{)fDspfa1s{#&vb<z{R-HxMgdH-u~DcMcH)P7>n%>rS(zM;%pb
zUqJW)q=JC+RzIh0r;qAU;2r|zNbX^u#6!kRV6Mg*2n5lq*dC4Q3#YLgHG6Jqxla_m
zxJ2>p0>_?1ui5*0Ph*7gY^ulwZV>TNG8CB+iwJLx%d&sIt00HzItq;w$>|7FTJ%$D
zz`{87!_B-6y-&Q1Cul{F=-yM68bzBnwiJs|Hf0L2M<oZ!d*f^t_O!I`?y3Y5ypW2#
znC*b at 2<O8iFzG%@MxN=`|4e0)j&7+NTw$2NAj|8fga6%5%kDuv?rY+K5Fp0sUxfTu
z(H9X;pG$iHKJ4~C7<;E4VVE$1vTfV8ZQHhO+qP}n-EZ5rZQC~Y%O;b|#U#6RSO1`J
zo^uG6g)x5A#x7rVerTPEl!y7(9<?uaOl9VNoRMx^$iNhD7LbVziHpHF<PUs%vL?@m
zn>1w9h|yJc>L-8B+DxN=?T!lc1Mgf4$?FldX3&dD!9zEtN1;COAbg*-`27b%v+rF#
zONigv!Qb~8FQ6lkH2f*^p}I>2!WXxD?HDJ|aI`9mRFW%)%RtMd<6s-w<@Bayr}{d<
zvzkjGHe2MlQ?GB^y-G>mCn7n0pv8Ih^@TaJj**^#fUPNP9P}Va(_RR}3aE*#)5=n|
z8m#j2ZuGs4Cm!m?3tIi}NJx{MDh1aZfQ~RHn%A8cPi9+?H at RnZ9j-mo0;ks<1eXOD
z<I{mCK_wg_{W7<F&yCNk?N-a<GahuHyT4=RZ`W32>856~egk|u%IvhGC*`8WU0|*B
z;k2Endff1!*)bZ(QkVv$#V1P-+x<f`VBrARywVS#AYsV()$-Th_KQb7{wW1F67YpV
zzB{%CIKikF^IUj)ik1j!OA{=x4XHpP12MD)pTD5vn-QCwV at CVao9S~%gTIGTnbvdt
zQM4m<<szTSeZhTn=R5_Mbjop(NbC#+Y9Fl6av}B7M5Pjw<co;Jz=tHyrbG!fvbpwM
z4|Ey;_U4U1m^JlCW6No359^a0Fy!Vyh;0Qq;<6{asG4vsKdv_;rCKnQlN at Q7Vi*v_
z^z9vC>k&;z%ypYw?x{$F621^w^D+K4`wO*wxYYK~M^N`#@p0PH&rSPH(8C(d^U`uc
zpg^#o6W^`X>kl_eQ=oF(X<E!{2-!sQ3jUcurnLyeGB*}j`&-VR6&)$aT)}JWdVllY
zp<B)*G$tvBuI9vuEW=w6@;&e{IyYs~Xq3GnU+91#H2s7Vt(inNH0F>>uy2No at fSeh
zQ{f33fCLQT#7IUbl)?fA&aV*t^Dm#nRmn834Anuw+$LP(vZME>t|lJGw at 2yK@xm at c
zrhiWUb5+YzUt`}M!U|GiGbg;}12(FmTlzKSjbWPKBQTi-Y}!dGUOw<j0y8p9*EH&}
zoHL{Gm_!wgpe3t~T*~7)Un`O0KHsP!bOMqf8D5R`$Tm!7ioqqp3et07S5EnD5sTmN
z6+P08I0**=cDi7*vs82?f&7Ni%qQdIKsf7Do_>I51pQlAkCkfZV-n+SkQ01MT}!*g
zyEIuRS;V!lTXfUgh~#oNXX;iY`-a*`-Z77D&f|I!ogY#{R~CN;`DN-aHZDo at zr{+A
zsl8c54VQDn_3zcFrZUd&sh47kg8j1KyR4O&KLI^h8rDK-2i0t;SC;H!XsWp>?YXA^
zmeTiFz-IcE1S at D9?cRD4gtACsJPkDmF1kR_(<;A&E0eQtSxl|<S*Fpu5Nqg+mh1dU
z^S?Nu-+3NwH9_?uPG)i}bp2ECW#Rcgj?9|!g)l}fbrJC`a=WK!y|bPUjq__jqORkz
zNGBtaIJ73lQTi{=BxRgZL9_l9Wa<FvUXP~9ky1<!LtL21waw7mw?<WB_Jzt-?V(ph
ztx|8#G;ZMQ!$PRvN74?h%Adog6G9{ti9kw{cgb=$*FeaA-gH5Vhg1`p at C<Q?lNO%D
z=<D5RtdaH{JGBFgH$eR^n#j=~oBYi>uU>f$NOa0uMf|$Eu5#KEgx}oH9&d!haaqS@
zzjW>{IsC_a#ZINQ7E*yxabt}?pX|cDpc-u=uES>WfmmQ?H-6$<$2&W7K+o;)_kc{s
zT)1W!x1HN!onY9DMCHl>1VZaRVsMRyq>nm#wif-8*q$`~YBzl3+nf!>HDD4~HmshD
zIzzOp!HzLQi}+(4Q<(KqEB;6LcQjBUb};0 at Mb65x@VbY&oI(dCAUy%(!#*3bxb?Ag
zMrm^wi;+!3We%QGMOzkPtA8_k1M)jA-G<$X2=tbJ^d;-JW~uS$;+_L!g1kO;5MwF)
zCl9~@GWL~&Usuj-H&D}f`F{9I-$kWEYYZ>MCYcr{IHiLvFf3MU2)Hr+)?3K;AC{nu
z=!C}|!&{{A@`bUU13*KOsXIC)TMSezX|QpoCJj53ly~}L`|O(zT*zTM7rn&Pa<2!v
zRh#6gzUf1xMV0G&hmvqO3ov)|LEOhF<elV}CBVP*ZNI;JuNZbV+qtdJd!iOa<7XBu
zd`r-;v-3xH at D!kgUs`#$S1L=9eIF90bMl>{^VZkQi>;<ZO^2MbeO~LI+?=>4+GS!k
z2`Eew)m(Hi*sWX^9;tuwcNK<NYwk+ymrQv5gmo^_`|C!3ZD;DLLYNY8I}K%&aHBC(
zt6AA*T!AK7rF#6INu{1{?!7nwoWj?nIsPfLnq$iO(3$fpY2$IAKQK4x5~XIpg*Q|6
z%XGQe$I23F7;Bx{P3t9ckpsKmnH=>@mdg@%O}Mcs-{iI-FFX(l2U%|JJ>C75k!=Mo
z*KV;CV9Jw85R-mmfQ(u}#c3?>avGXjsA0CB$v?aFraj3*{Ys!-HAUk~V~m~On2l*V
zgut8zt|l1CpD_#n=W36TX>-&*;8>Ab$~rqw`vZ`GsTU1nvlE_vf}P22>1Jjn&<2lQ
z+qum>niKtiUbhiH4~Os|btlgVJYdmCbZ;<`(Kvq4<mr!b at BtlfUZI&N^A1n)L^_3k
z(w;+y=vL-vNW256=n)07&sw4z;-#B&8trx=!5scA3hB<{lVMl<9kzj^)uQeV<9h)s
zW7aB7u4Pq(%NAI}LHRnev%SpfN03}hC^jwgnpA{Y#7k!)hD{<%N$J{B$S93E)o?Rk
zl;8oWc6u8f64&vJb;`jcA?;hNb<7ip9?l8Lh+E)P58sF01K5V|WBm-G_PbGE3rNHB
z-pf1jr=~tzO9WIUUYZwC*+sR_+IS1^$N}zC4C>i)pviP=u9`qrEZp%DeCdGD(@Y96
zl2ZBlWHlzJDu(59ge05DWC?}Ib=~s66jh+xw*zODzOLO8Qrc6?htFG_ZuU;5_pN6G
zLc4poDlkclP#tzo^H(y26;6``C{m}%!}E?kAI)8UChR+{y(y}g5|elESPw4hb=U@(
zopbf~!>hNx6^jL7A;JVc0hmqD<EC2F?PS5fz{}K2b!U4{vibfR*HTy at 2ME2+q_b1&
z%ke5XiZ9?zH at R`3zUD=<boD?VSF2*-WVTP(Mq>Kbsv9*oHM7}7oLHnwz8b&@X6%Y#
zQIUGeQ}Ow}!~mC at e^jz^RVb){)O&HDS=1$yADnt~_q^dRNP{uq)%GkLRUW+HS9sJ{
z@@gJ0laG1frTxMX6}akWBzo^jax*MCq~Ug%du=9lh#o4ow<>Uu!tC|kCZ+%`lRX_d
zLkDrN7wE))W3qa9R~0n?L~T!?M*_HPF<SbOvC{$(Sl&U{(qKv23%x={FCioU*4Fj@
zFP#kA|LVrcnA(}USo~LVVPj$cpI{3U0S5;M%m3{Dw at rqVlkNY1$)yccCHn%6PR5Z^
zj#4WKjl3Pzo&FYyK%gOnq#dQaUAac!;qX?gc_b>O6{W2x^ibh=F_V+odG at c~^=?vY
z;>%|5%l9=sB=fg}E<J{J8LI}uRn+Oh33vp+2 at 8v=TL1uId=3`m at qmf>N-$w||8Lwe
z6Sm(01mu$Hl^&Xt10$q6eIhvFEeuORJ)o+KIUpUspPFQpng$F6=siGS;SWRTzzD!I
z0el#(U;tJjv at -~?ecDMOgB{1{E}(nvDW5oCB at DKonu==rBb-}c6ci?WJwOK#i=YH}
z{e-U=b{w++x+O3marX~3=p_>v2@?6};NkiC7_5V!z0kp1l1(mv9OMFE9+0 at -0ltBD
z-+c-|HUav*ezn~(6VM9|VK^U3w*q$&83Y{o7IYQ?yMg*}cVuS;4F-JM9Q?eh0=U`0
zV2wX^<&R|_<eL=-fS&zs at 8I|G7Z>92Gn{#R6zmcRxWh|W=LXOX!JI)rS}_;<BJ>y}
zK*!b}J17Tn-rGL`9O4kBv6ub5*abmAQ4AZP^X|U>7lF+I0w!`_Od!YqZTyLQ`X>Wb
z$M&Rvj?O at x1nAA(_Yr|({nYPvm&aeXE}43HY2}T79PZG{`mGCA+Z`jmmwI>xw}$91
zeWnNE4L_3?0}=rw3gRgm0;t~(pdmdLc<v6wYnS03Uut*n at C)zT*H8hY|F##lfqxjz
z=P&T;zjkl{phP?O`rg}K)Sp;;cQ=4`1T2yPY- at P?;V<%!9!%>O^4=al&LJoR=<ZTH
zI>7hO=a-4!9D{a6b<-RFslN_md`wYXP$JiuKJ8y^N@}PVpijs92Y`-GkN^O^f&d7C
zkN^GO9mkwtLf_?kdVN$iF3LUk`kmJu_)C5k?=KPHl|J?$*!!J9*1Y#+5Ma$8!ww7u
zM01D#(U1S>7e3veKg%EP$=~GjU#-N#&c+8k?^Qn7e?81`(8KGW^buayoy0fm0>B=9
zu(dx{R*=7rE-VA>h_0zWE7gR8FV_UemcDWp^m+hxg?)KWkV1$Dpe?>|0$ZHll9_y`
zpFQX^7)Mb4a3X>}e8x9Df&IVp+qUV^i(kf|_OsJ`DuhG7lLUXAV|$oh{i?q@;eiz}
zt1s`bcaTs30uG$xSa1K2HwlFODeu0rR)c!}b=ds_w@{)xU4S><FW~C}hwVLd+CljJ
zg&*2a;7A}q9<o0IMS%F3J&Akv&OOojJ)~Xlvd4fwP*6ag1b;z8fcT}p0*HXI4|@ui
z{D}|u;=l8|qpok at yN&UqPx(i0^L5_H|E^Zi at 3&0 at zo~KR0R6y!<iEa_5atMj2lkME
zJwLo(2?V?TKJV`UJbeEBe^^zq+&F&xFZ`_seusYp{ycmA2J{WEw`-aeu^tu1x)x)i
zu`n&<YoqVXF~QH!#C&xRLeMtH0fQ+gQc1U0*PJa(BlSPsQD|{HS&eq+oYDF5zH3((
zSlytr?dK?M*B3R&W_PoA(<EPcOAOOUtp(kTGReL~YC!k`o^sf-%fZB^*8BxiGUsp2
zb$8N@<j|UxMGaOO;b!XcvX-q}oUs)HyH#+FD_$D*!uKJEmbX>XKI2+3n#a^LGGHy{
zy6Nqbc`G7Q!uVllkzbbH#lb4PLF{mugNegXheIrnKpHDxPahy_9i(_&nIyfdQYDLB
zt-vSJHkRnFS>kY4;$5fDHI%%AaB7rpjNRUR>CM9po=h7q9(n_2DK~975M0ftgcHZk
zA%gl~A|E?OCseh`Rw5Z$Z`(3^$B!*to7AXFkpl|<Av7eBTTw5(e`2Sz8t`2X%dO?C
zmcv(2IL8|{+`n#wAHg!S^=ES$LuN1^GNOyPT+bxYXQIMeK(P at Y9}m0)7pk8iJh6M>
z4N)<3KE5D!Pw`!yCYq<)RmHl-l14shS7$#=(0e+#_mAE74HFfyiBAtMnw(G7uUd at i
z_)dXnAL^ej?GU&0{$z2{fl+|xPP?}*;-RBT4sD`LDt_8m{+^#DK&%63r7Fzz-<Kp2
zJ~jxOfrIf^idZPlEmzJ>(OHo5!=bG21}VJ$Bz6odw)8A1`~l%qAE{5b<tAIywF0Vu
z=$QNGv2gxNHq_i34fg2be4blekrWS77{k8CLd2%J(pmEZ`O(kV);N9)nXeAxZc08f
z;nR<j)^;pgF0?Pxze90Kkpwn&3vGK%?(*+9m6dT#q!8yaT{IWBHFpJR at o=V=Fi`1r
zV8P-IS#dC!=dYBCYuS3{J=$Qnw!*R~h+2_0g_NPw;H^I5wRwzLH>pdLN#&2f<>Bjl
zdgO2z<w!2q?8}c_St_CH=|~1{Pg?FRX4Pqd-!+{$M$$F<4KH3;;W+CVjR3gHa91%3
zAwBfhj*?5b6t3ArkD3g6 at 5%jk9c6CUX0!kW`b}x=z{|5hd|+E++I3uGQ#;LR{|qiJ
zz1&pr`<jPUgdyCU&MCCF6~xkP+U>THg8Yg2b}8eRh(@_6pXSX=P_aYUk;n`vqdQuK
zqXe1$tR23i-U5uB;ygY9|BEmi<L-fDuxS6PyLpmmrKcZ*cg;<{sF%5%dO?}@#AR{~
zDFX7~^xdznO}GPOUWh=?5?%3$JxMlnCU4iQO+JI2JqfnTKFbCkwgP>CdWnYUgN|^l
z)$xpD*e)M#oSBbs`jFunVveXJzwdJc;-Oo~(|f{61Z{)WhO&7WtJZ0atwd-Hmh|KE
z=aNfxZ~wEl^>RC}aKmMvIbJ^WX&txmJRCHUOCjtWUBORkdsv4o;d>0S`eo9!Kjf^x
z8zWGnVp{7SZ<ptca_(LA$}Prq%Q&e1@=Wbbyj1R at q4)N3;K%4e)BRHD_Hq3!c9c}2
zig2;(5v0GHVt5XZGe3Qf!mt}org69eq?<#OGuc9;m8A#mc&q<G1NxiqhB!XWQS_6*
z4tCg2#Ab5YxSi|^H*sbPttHa|(N#C!q*(c4oM^HU0nRtBN)sKElE6lEo*VM`S+g~q
z>P=$)$K#2*Vt=AjAdTJccnbB$-e4bZ+xNwl04*VwC}ODTF^P^Z72G0k1Nph&CV-%Q
zBpGdbaVth?vn~wL$04hma4k>`L;Jo~PcBSe4!=N#Nws3r%1-O(C{I$qr++0#P71YQ
zDWSa^uj7dh=4Tp`XvAcC9={Y21$+gh4{i07c^|FVZC8fpXI8^<G3D)OZd at Rw8B8{8
z1-WL>9w8F80R|RElVW)r_LR9LAV6&nH0F*3-fVmy;|70czXFGL-7{&WZ~ZeZ*NY+U
zmBglGd5w1O+{pea?g{bfoQ at ia#$PvKiU8!wf`A+l+s6EZJRh?A_)#4S;IDzToDknO
zX5fo`LWy_ at i4h5c$2mdPgVXK$OL&plY|;E=qq at P-YKE{g6<m_M%<rI^7)=>XIF%KX
z*Rn7ssi!@LMXARx(r}}(zWBEZX|J37C{y5srM%B{WK!w(JF6JRJ2mM?CDc{Z3K!n;
z-t{h_5X;ufr(1zD?PV>a^<5+nCyLTNQ)DrT6`Spk>z3)DNy93K2rVADDSv0t#8U}1
zM3mRKG{~m&9nq<lrG4oKsly>3<9aArWmJjA<NNMc_1yTdgq~BNRY&S-44lk##S2)B
zv!qz?RYBZQG8m(*Yk=FcAQ0~*q`owgT`2OS&T6h{4G;@)M$K!QWw=(UeOKex at Vmdi
z!%8Fr=F7(og*7VAerqlVUcok}u~+hH39B_<V<cHBrTAGgN4<kFJ3|~r#m7?lXkae1
zKptAzPOb0<9gjto^<>UXNZ)qCqlII?%_aZ0X<%xa=jC=<ZNFM6H?gud+On%qA1 at oH
z%CF~%x_seQR-Ea{-q^vHW;MmQ4y9&W<l_`MA;>Os0|GV0O!}6I-y&TPOXB&mAs6a9
zupFlZq#7KO<DV7VadfstRb<lESVcyw7GuXuhx~~#NzU0-<=Z}K!{Tt$6e6Z&JJ1w_
z?uD{?`OA}Z6eLIDjdF&xnfIa9Hh3JgMvqxJqQvifdZnFI&7Ur1gY$W>p<HLBtbTNj
ze7ukRn`1%+_^?0xF%=t*&Hu5%&&`DO+LN}2xDjQ>mG#O!S!k~oqxH#vwc;e*!dsq4
zWA_2Hrp7I+8d_ONTRZ2G at d6Fn5goUMcHtRVMJcKjutS5GMPaVhq40BQEWKMDbO9g_
zp!apFjioCGL%HiwiD1)xq?wr+NNR7sy3hIoUW+{b%EQ$R`~#AN at 2$<jn{q<8sC<3g
zhx9xyg4|2lT!e;cwc$KdI`cY;uu5S+#6}4rFqt8b(J<o!WxtE~AS25Usp`PefA2ek
z?K#bjRivJ6Rp7@=dTv{BdWOv5+WmStZ(j!)sd`Rf-GysLpm_3>>R%^ruf|$nywqG*
z{qTz1w-PJ9OFNB<SM;Ya)ZajJ74yYi$%yVmP3+rM))+T;_EMf7Stv?@*goeHn$R6P
z`va|ZvznQ$NYP<SLDhAf+?-}pFUu5XPBS0^1=1<;P2`I`(8Jh)dU0-W9zd{=kly*N
z(I(@ivJ{;SIAgRK&$SNla{gn}C0H-Z=egRvuejFT*|BkLpYXBX7&+0#2=U!pkNc0X
zT7COo^ct&~d<?40zGI%sF6&JWvQ<bb*oSM0?eIVqBZPZOSw^(c)Z?;(M-g&wM9XAC
z9<V7oUlS;`!nthJb0;+56r!47yChkqZ at SfFRm&-GyA)~lMtGwWo6e{_?sYY1fTg at B
zHCg}0O1?^`2)zWI7TPq=&hM7dGW(Wr;M8Oh at Th%yJiADB^mTX;NDQtTj`)Eg_B7el
zPDIDVr#H`UPOR-_5yf0%4x*qxM~3Pqh}Jcy$7 at -LvRp+5A*1Glv5l<Ge?lIoAnZjr
zqC(v4!pCfU(yC`lF$Ns|g)vIf*JppH){l|-D;1$-BmIbMV<z>uW7r(ujV*7CVPGDI
z8rU1G?Y|SLAx^@gsDx^v)rO4R(+f<2a-W64F~UF7?bl7lX at 2~*Yg{EwJMgRhp_617
zJe`kJSb;Ba9DRs({~JRvt&t}7m1SLSWOl#1c3=ICWf2a2fFmfq#<YaFo`fN}vv)?Z
zC84L4k`uI15Q7g%5Gq0&10 at P+C6zc=K|^h?ZjJGH#Xz0KjQ|r)X28szoOAnQrePq_
zwm$7R=aw&S&<c4e|Gj#TaQ-5a1$)KYd(-flO0H_uAYvolTo1z71`nTuQkSt at j5yhL
z=|We$JWHgXp?_ZgskH2SkBIrmk<ST2q|UTwPzUKs3k&X}Go=e+k?EV$jGsW=hR;ut
zybS6G<w9NrS;}=%w;b`M-(wLk>ZAl$_hq=ax|goCm%8 at f+^hRs`W2|-OH$d|Z;UgR
zcZX$EU0Zj^J08R{TI|iWVHsx)4w%Q}GCl~8hL}8EL~8VBSXU|ek&zD(5_4zBH9%D5
z{1&BZUG*~F&uImnm8=ekD-e)HE{0sNd5oI+AaEQPV}nNACvl3nQu+}+40Gvg8C1rS
z>~o8_wZv0VaLhDXOYlNN0HGw(t1D`i^y?*~#g at v2XG&I*1-<I0T at yUKL-=-9<SW;`
z=UzsJI#9?e*#?seZ at gBkp?89=R%UkAa(yUulTN&?^z6QUMW^m)6G at v>HMbz~f5>3@
znfpM{Vx(-SNTk%;N*(a;HED*fqKBO{EmKLU`?a0t#L+L!hpXrMV0`_MFYk;pdS+gl
z6pcmAw!sZU8(!tdBR{;B!YvZXnq<UW?hAS+HI;ofaHT3zOYZBwQ=j6`MZuX#sjtAz
z3&@E=GiPLKqQ!^MKEF#=>@s1Q%fYS3oG at Tc-0^l6Xv^c;hAI9jU392F5i>O}&145{
zmqPrbdm^-QH0`ZwnB}58yA9*QW=eX|PB{}jBY!ry4zm9*#kSi{&!fU49Jx9-sGNLe
zpX2vn^G;`ICtoJeH2NeVd^85Ou=*M$l9CZgY<Prw=MJ9D>K7$juGg{KZQQs3yIqP_
zLN7gO30x*tJ1ZH!P|gZkGj$}x92LRu^Ke>maElQrmu>w|nb?rtJtKb|p_#z7qvdM@
zT$*Qfk*5O~&*4v8owI{03EVSw&ApqH<V{Uug0GJC=aIJs<Dj%Agkp(ub*@kss*L8<
ztZ;a#+7O)MfYKKN4!2#%$2x?-VbUR>Yng3d=K`%Fp_eHxSgD<2rfXLP<qEVil8M6E
zJA-3WNjFbPk_Gz9PQT)#e`(9da+Ss#Z{Y0o at kos-{7X7fYiT93{qCYtuUddX(L?^W
z>m6z4I~cRbbegVw=frQzv|bMt95k{pAt_z-RPxjzKu;;2-){>(bzlEW(+4_5HRfFu
z at f@>_8 at P;vwcdfBbfbOGqwVqvgp;<Ibo-CU@*6=?mk(_j7w>Y- at Y#oKuE06Kb<5n*
zX>4Szn7K|Kc_NSdlX)o&LX at xAErkklP6_9NrD;6%#Y;ROt)rv_QuyEVBSG-v!N{N=
z?g}sqX06U at mBX-imzLS;hkk?Ohy5gs4-LkJP6Gu`OK?Dz#8nHjpBJQisPWBBiu!s@
z*W=vq6|VIsKZ`!Cuj)qov2en|DLd^?l4S$Dx)k2hGHz5O=5cn1-4_h`0i3=D at -GRx
zIU#v=8&Z#|Fxfu<`HW^MZlWnSw`!9UX8rToc at X73wJj;Y)umg>RG9&frCI+&&EYb9
z!~|ZVRxi8)Z*lU%RtNG at hmK0I+|&`JIY%5#0CwZUAw#AgoS`FD=%YKK4PDk%f8_(T
zpoQ@`t5k6CZr=2PYME7ZOdPBLvW6i9cuTqm)Tr5<T&bE;-4 at O`@ex-fV;$!tqK|I!
z!RiU&KDG~j%RQy7-y*XD^g#_ep%$d%WGH2XtH<wqF7qUvfiMty&bIm at d7%>*?nV*U
z at ymPPD8%fzwE?3=Hz2J(^tgSJw;W+gVz=yWrW3ha^?imaSz`fv>JF=gp_co!-~u8>
zc9+KiLvZ_+&@gS$2lG+)4*a1y;Lq>4$?S9ovj|D~XOI0I_7RsAaHgMCZd_qd*uK?V
z>Wo}pxq!?9fZ;cjk29w%AS*LjXz^?%s2F}%o$^^_OgFV040I>?q!QPsx^I<-^;@}=
znfXe_iEmEjGM?ws<NSZ1aV5AJ=w>@8zY_nA8dPcMZmWHAh-_!a1TN-Ojy0DSIkq0+
z#wJk;(e)P#Ua2o_&ty;=l8UfK1V$xB43p!cJAU4SB=v=UOn)-5a<{zz-fGc}NXL;M
zBE4&#OYP}(-y;$tt%eS13|?gr<;ty%m8>;jM=uo%Vg=IgmGY7qe=C5$ex>>u>Gph*
z0N)WR at d}wVqP<@ZN%uuw<kHoW+eq8tvqzvPCvsS7byR>N>A8y90%I&Vzw1ZQvV)V{
zCPmtD=&8zEM%sl;y~itcGY)A#v=SVr+&9Kt(5{VH#NTOp5toGG9#C+%krAPip?>-b
z;}!FwktU9^+zxB=omjJ{MH~JjHBNG6Ij5VMOODkTvC3>{ga-op2n0jS)!DA9e=&gh
z9%5Rg$=+Se{W`8*8sN#uFs$IURLE=cI3_{OL)W`}pd6#%>~dHNd<;1WeQiR9(t{6C
zGq8@>4gR#3%Lmclz#^<$OgXX=w#kJt9K^QU<x-vt%d7D?kj!x~_3jqwQ_CWFs%NzO
zIWSIUbXMXW7y%RfxiDhr8rCYz%WO5X!2fw2p!LxSDo<<34pmp2(;xUY2mi}1Mbb6H
zLW at PaTL&`k7(~IjnrcZq)PTdmoD;VKZ9mHe$eJ9s$pHc_bk#B!_84ZC3EYB?g-=sC
z^`d76$}96$S^7;{d>wVwf&0o(ZclnFLZ{z}uO1c4h2VWI5rog>cng>BXJBNsdc|$|
zL{)9Smr*Q53YVOdsI!r|QBrw}6M<&qp0Y^DbLf!hkB$HteXcwiusd6JCvu6;I==+t
z(#BEoXGMQIT{v#y8r{{jZ%CGYCp50$v at J^tBmovUI}OeXV;p7<W|L2eBHXP^d180D
zc6o?OAr!A~m-^~m(MRgL4}=PXL7z!q+fpk)r0kaXeF-d$r+J4yHIO_Qfqqf5qcj)-
zS}Ski)TQnSrx+NtGw7KXdQ38374=}iXsq*etOBbvuP{ZGV|JzJuRR$#PCb6feK+3@
zRfIOx8;R(N$U at 3Ifj8jwou_#oE?;Ljc5ne9VhgccA8-u$m8$J6{_;|T-+B7d4$%(L
z6HOOxK=83Uli<x1ou22Y>LVsbY%tSTTd%OA#ze*ptO`pFrT>ZkOWuIjm1Rt12R)X*
zS!jz+Z+Iz1+gLSssmUbwpAj_90$yq(DGs?``wRzKUvz9va+unK!}NrTdtivEdFM1u
zX$+#w^q at dfo$5-t*Gfyyhsk|Cod;l*D~y3_knFKN{Vk3K*WvQ4NfNz2Qs+=E^&avG
zqQ~WGh1>jAX$Rf$u5Hdo&zS>j(){uHlG66Bu*`nJy3!%gOdx96Eg~^tWXX^*uEhFG
zLeo}=+>x at 95mzim@$aC&e_g8h(b|Tq8MCv4TtU4-E0uOgNS|*lYG8HLuk}wKR>58C
z8i6erY%Pzhl>ekWnSvMEdJgNFYCnQhhl<YvQ`LeGq2utcJbz&l9o~)eHusHvPy80(
zgaxzQ>1J+l9A_+dF#BkI7W-!}So4CLsCK}HeB^+_*3+#)DaFDlg~5zXg at zenL@PZ+
z{bA-2F`)Fbl8Q3Jt&Q|b{VzguA27e80sTrZ8vv&MvO at x#8<xHEzgK8Dqv6jDOP!vM
zPB)JGfS)2sTmBbj at up^yjBIN-EjHXfS88!hQOStBS2KqB58#D?{Sr-pQn)c<vUom=
zEFZ<u9N%}O*IM`a6S-Zqi0ABlYdfZF68p{UEOLA31{(Sw9G;>R&?^i)UU4QqUZ}lu
ztJq_|f|UAuU~P5RK?f4o<`^kteXt!9S0p^Qj!v;Zyv{wLUiI+=Y$KOqj+HT2$KkZ_
zSrbE<2Bj<TNbvJ++!R6d?qq`1#y!krXVA#^2KE2knf9SjXaA<ngYr#=;%xISvnm0;
zFFE+-yJUHtRK>^q9T9a&w^ggBb!Sz(Ra_^_tJ5t%BTu(ufW-4c#K*N1W`TJ~D!u+l
zJxn at Ji+Z(c=rKj9!}uLMToWXU0 at Z7aO=^qt at EedvX-db&psn!Y$>A#Ja-F8n%XaFI
zQcV%PLJ|xb9S<?!cDx-~-*-u~g*<9y?W2<~)!vVp(L3^kVb=;Qibl^kNT<ULR78~t
zJ3x9bwj%IMW$g!o+5jnHgrP1|1A}8cMRmM!3D|SpL&D`)2hodlM+d&{`oJg*GGQcR
zHPkS>uZ^&4&FQ=amW~3{{)V}mMBfwP`ik_|0gnC&{_vSfEUw#X4zbngsC*W>W!|a4
z+1|R{g7`6GGdqUem0_Op>^AY~GzM*|ZxUH6xg(nCm-r&tI$q4}J=J&mwMmrL;}R&C
z7HBFv{*l)GI4q_pZi(T(iO2HLqHjZ2SH4<PW?mGd&&26>MW^GfY!dgJj-*jSL<de<
zyXzk at AQ#3*feJb9&7gRROE)XG at p*MJurmLY at i^-64_|6E5rbM0qeghEju3vZJmJ1n
zXuWUUMYobSGX;|g85&VPqLNY75^45YNXGouL}VJNcz+tJb3O%1f#tgq`PtoDAQ;T@
zA8zVFl!plq5MN(jthApSUuV!vLIoNpRIa~mYa-1I>@Kqc15Jo{n at Q7WO&!gxp^Tgs
zQ5XmHN*}uvm&;$ym#z9+1Xxo9g}3mwx?*`!DS_2jUI+>a+U*!M1xA0JEhL4{g?>?A
z@^g`!@y{b<w!Q%HNklnBX9 at 8LRR#@as6hMnShUI{<l5-RDh`P0s~Keqf6MS+K=hS-
z)4b$HY_LbSJ6`}D&>J*s{(NH;bd&>VE71p>B8D(1p$E1*0Od_o7Y7m{=(J^N5|ZYj
zp|jmK-F(O_Yk^Np-D4U&Sc7_-El!js=eHzJA!V8Hu8As&A}(-8$$fuow(yz%cYOhC
z+Bm8N`Ne&Xdl{{cF+CLF&H>-Lp0ETdCzEXUs$tGAvQnMfs$uhboZ=$YOJlvDY!H~y
zG!^NiPceEI>vxP5;uq^}C~s8pzO1t;Xp{FydgL1q9TDjADM1t3V|88nGQ}Tp?zU5<
z9(E$(@i|lHC+=7y3C!e1+dWu!HT3OzOe`SQzm5P+F36-0i6=l$f#QaVr at ntUwi*x+
z{!=JxSmOBj>_%doK>e7fm?p;=dA3|X>xSA(pywR`dAdj$;xlr=TiAEq4W5!Y$Zl&r
zK+PX+iN`Fh4_<qGi$B6BX#U{a2v261JYFVQLF3|ZKQ>03TL-^uHMAZ^ni-k5%;?%I
z9<%>W<Fn>A?Ee<-z-10SI;4=r*;pppyVb;E1mA^KVYHHdFyr;48^j1r!{5_uMAG?Y
zrY78*qC!tS=zJtsZ&jglHa4CO#tlmn;d3V*smqLbE at kKU!ZSU&#fqKc(_kG*q3!l#
zaoHuHc_gM9`@3F~$E64%`~*vVpCzE%?fO(yG3GN&AE~^O(c21cVbFX21W`O#sg4Dt
z{~onUb99uEL66|gv$w*8ic4aBs){mYM=BnCKV~cyUOYC_QJ4PLzcic8q^zzXDlZ58
zq?75Y-{R;Y1IIH?n5QP+33TbWMc`22wqGmix?itht{*g<rB#$GTuvy=7#Hdz`Woj8
zrHEgEuIUdYaO)T88Cyu+KE>r_`mz(Hf93EMSA}5ihWA}&(RWvT^Sw&uW-rOtk)|e+
zbzwj^vw<ADOM;{q%MMdx0&nrm=QAit#%XnXUj!wqkU5JxWSi!jE83;!`uMcCAB=G`
z$EaKf4;M*gNKZiw$-};sqmycx$vw?DjJxQNtRXp1 at EN${U5ub at 8LRTs+~kzz!WC+~
zTvQPj?P|Ozj}${TG4nDh<Wm9o>pN at dw=%?aIJI)gc;el^ODKPRrNv0xMVd{$7<2Y|
zEdz-7%(_GNdiDSh0n<yd0$LaHP%%YK+IGTC#qlYRKrid);w+hH1}Qmaic at iXVS(;P
z%++-6du1+Qz5C*a$#sP<9K~-qD*EATB+JLSz&+kewea9w5F-oGz;x^w0C5qjEf27b
zGv`5sd8K1hvxrOJrP}D-wV~x4HsX2N;qkVK)mxVjIhw$tKjV}M;Ra|s(f*ahLIbPQ
z%YDSb#{75 at 0LP>mi at 1g)!JQn{+lM!B5 at wjs3{yA-+mzG0XmKPWlp3mLnmAUR8cn+h
zb;9XEMnjSX;ni=g_PzX1BPyOv3XcSg;5YsbT|ciGjw#aj!j8=k0ExPx+Yhe$(9dB!
zEiDae!_LR;!f}L>(I8EnCL+l%$u^F5b^#5^O;KlpGVM7fAvwz2O2ZlyQFYbb)65)a
z8<_K*(FBdm6gL&;lEbU;L;;K9S4X}D@#}$Lv??=NZ)$yL8xI_*avCe|(1DIdoi}tI
zv+Y9vHF#E~&_}oNI+>X6qt9a<v)NJ~tq%OC0xF4ZaC(^e-x(8<(r00Z6c9A6vtC^%
z`exbD at +n0fwUMPhmnnlrXp8JZ^>w4u?)&!r4F@$Q3Z-!>j%qaG!-ZWR79=UBARoof
z at 4SM@(u at i!te<^?qwHf+QEa5&KaQqkxVxjH*7`P&slC3nJl_WPWz*E;m;R)px1vAR
zF*Y~{DL%=mPtH?bM$7qY!b!E|v=q at 9^F%AKxJG<u!4~yN3kLC!s&q%k1;0~(-G43m
z%#$P7E2(~-zUGYj92Yp9G$Z?YL%ca at r$s7^!rw2fuVE+}e=*M!s_*3HWd1AYI`lyL
zsDSA*&Hj%q&bAAw#N|P>=Phx-!^}!5HL-8O0|ajIk!i^E6D^|GD=&W5B#$u_1|4tX
zNbgo5nOT>*s*D-w&KpDnVzvYif at jXmVs%KX1r<j9L at TZdbA{{O4TPUUXUbPJZErp=
zRmsrHt-3-yMpx at 9K_~rj@$|I|n9Fh>MxC_W?GD%1p4E|kg%oHs=%{KV3zK(*bv?fK
zW4-3kG+zil=dao(=j_S;y8|)U`J#tQk%JeRFRuzV!8S^9o_l&}Qq{avf_u^oP{I{y
z&TJHAgxlsfGsJ&)C2~on*>+go?3<yUp8OljmE)M%^!B5~8~@coZN~Ks*m-(LNgO!|
zU>eC|r*yuZ7~aL=X1Qe+roJwQn+|RO*@m~<SQ5;>;<vS7sEZE!?*?p(T<Y$!E#8o3
zuWqGgg~^-0>=O(<X-|?Qz%QpSs at w2V9nASp{RVnhyI at eL)v8V3bfh*8XTbtVSZiVQ
z5Mz2x!_HiC`9WRjH#tGfA}$&a{)zr%NJq4A)#T))2QNT6N!a9qRRk*XkcUtqqW|go
ztu-MI>a4soO_JlA+8#@ZnRQug&ZrTM_s*8pL0A&Xt}vjdzCyrlxoRjtcaaS%zG#G@
z3i(c%Nj0SurIw65YC6eY_ud21YYsZ=$gu*`Xw^yW8pdZ>!l|;_dNV|k`|o&l>z~X&
zCiBs^P-`FzD*uKikZ*NrX^<aDi*eC{0j=ccPFcWH(|r{XdL`*}E#e8ScsA0085D-l
zyAIIWXpMF2a88Vrs{`B-3W#yvnH*~gs`ja~Fp at h#35*)<^;IQ21yc!-cLn!C at YfS^
z#1o1lyAF>K$;D7Pe$!ZapLJp&n68t0y<4_XJt&s8xgQUD9AAKDOX`f_UT}VcdZPU&
z#A$1Q{rflMDPr}#AXhJFYg7dA@$I2x5^ZUa=rA$5U<e=yzHMmi+e%yS|G9Xexk at W8
zuL^a^fkU7d3ZZ83PT5qzW%eJIAUccIr!E){&P$78ZX4-$!pu>~dx1BB6nGPGw|2~%
zmDS)^^UJ)SqQz%JJ003vj?yQtp`wdjD;s&J?86Cn+G1zI;yghqU+YTN5oZqSYA9uf
z at 8jgpNn1oiKb{VsGapfTZJDmQxQRov%BD42G97W55>Ku`<4w*%)}D~AD3E3q#Wv<9
zn$}S$;qJsvj%-EOTU~Lc`7-p6ZISCi^j%wEu{YrBY<$^QD!BnGjGbCZa*Z16+V-9&
zNHK7>s!Jic0QE-$3ca}IUEUjl3`BQ>Gx#Xm=vMQFD6M9hfd0v0#O!nR(0Y*zmYMjl
zg<}(I>>C%*kn5+KP6F_&RnACAN6v2{T%mgfXBGV?3S}!?9L5Wq&IfsJ7kjBG!>j`P
z+0Xq8gwY!>6O%V(QTRXktbqyYosca{ZE!KmK{_9K)%G13i1mZb3yrj29MaFc6tUPf
zE_$zIFgem$&sD1Klug~N@{n at of$z&7aBrT{^Zy0far|GP9Wy7#|DbhD1g!s&cK@^c
z-=G~E2MaU7|GWObvu&}ipejp0Uu+aaGJ-;-hAE2-oh2kC+6hVjVr?O?ZHfguMFcvz
zNlQY&6Oc$m1ckUnI<XTGewp+3p8Wmpyl21ia+`el-+XsoI_j^u<<xkE{X{7?!OEh<
z4&DWUgcke1Ha9N`3=0wxA_5W;7y^=)AR?Q>e{8`W_(BXDBv_<A{RwZ44GeI0%V0(i
z0yiyC6oxkNAdmoqhD!yJ7KMZa3<(J<`vNUuSQId?gF=8>Km)KWP+*|<yW`zl#t04|
zaC&F=;sxj+*bzubNeAAjaVpLMh6o4^P!zCZg!^&sQ3(ya3kb1-LJqe7QiG(?0*5%I
zprJZDJD~z_8-OfebmFq%&!dJ31Hc$)V2*%-f&AlOmI1l at e`Cl1_Cc at +6V~_Ogqvw+
zQDXuDAHcjxK*9zOg>w`YFu)?};aF7GfG)WP75WCW`T%|U`O|?xAOn7rZ{?roL?o8$
z4H!Uz+#EoPw-YHi=Fu$SfiJ79AosT&d;}PvK9M0>$BG^v4A2=C at oa*@zpZd#R8*J2
zgC3B7GvT2J2yh)W0BII~&tii3m-g#5K|y=s-5df69W?sqep3=LFhKn8ZiD>OzCc3V
zL_L3f8%2u>TKUHUxc>WQE>4h}WpF*=$LNN<kB5aD0vrh;Ar&DR31lEAn1&5P_}1(n
z-$8txg8Z}`o!h^;h;RehJRA$~B(^nt#}6P!y9NS2WSC{JpZmLce}e=70xXn(fU^J&
zCRPmaZ#<e|*xEDy{$-S4FX%wX^CKvjpPTc~qj`V{E>e8G{p<Iy)liU?R~#Epd7B&m
zbEKjy+zH70CL$o{Ysf%AAR(cFOX=tL_~VYp!}utNFZ4HBQEavF8NTy-K!0(cqw|;O
z|F7h=-S1DnBzRN_4eazY<N{5|NC@!@{rorcrce0Cp7l5V_-FFz?_P3gWB)fb_kw-z
z|2_aG;r+%B!Q-0i=z(cb{9q*T!@dmis@=88K(V-S(ARUx!Jr2hMZuA`_)VY)NVu@)
zMxus#0Tz5o=!h_EzxmyY{fCmniv+qPY at Eoi&-hM3SorsNpbF+0<R5GBu>E}lWc-jc
z^rLk=#|%SX<^NU~6jV^izd}w!1_xryVBikm_wk;LF^?RQPKk2*8oeVR2#A6e4i9)}
z{tC8P#2Antjg|}o#dX*g9QNA`{F{n>7&EXR{YM1ad%t(4&lEneZGh1K4uM64Y at v?2
z{@x?>-;}BUKl#^5w?%hl!{1&WY9yWT$^D~x#;^-Z<gAgZqdS2rH8)x=DY-pnGqE>b
z^eRogu4um_b4A_2ruA-&j(4$l&ef-gMB8IAT)|e!AfzT2!m?n2c*>ljR24j^JBH)#
z1J|}HUz*jI*%=~L$k+n0+|$*lB9_{%7$tc2Qy7OAwjHr(Bk*Q-<};ikpwoQq5Yo$%
z2Fpn{d|)G;DN3_0ug-FcJ;ol`w<U)M{p|yYQN^lp7iOwxJz9T`RAIj~&GW`Qp%cqu
zG2g$|LN~T*K-z*YKRKNrw%QTQFIDBPW(E-&gWOj!Ww}WwKA at Xy4;rFXG=j{Gk4##S
z-)Uqj?pmw;EggQWMP><S7C+Ng^MPM2>p$!|7B_kk%Z0qTCHSbY12 at Tf0<&)*GR+3W
z%WHQPo;rj=Yw;JW0ujx&n7Hnql2Zap<Kumg8W`~_ebgHmYUqH`vP;_^#{0A}^XN+}
z;C*O@)Su)!5rAzE#es`V7yZa#>>8ErmG*aztd3d=dckU~k97(VOR-JXBtRP7^S9C#
zUPy9uoDo;jw-b8kDKb{*;2)FLCg`?0P*u<8Bcyz`x3)L2ta^X>G at Ak@E)^Km7Fzws
z;<~x<E8LQ+!kO*tWf=CpF+`#&p{f-H2lE>jj69xh3=9u(q3>1Pj-ID1WYannr8^AC
zGV%FTyIz~*CJ$1ZS$!MiSm4JB$4aP`aDAXF&3OBl>{Tzie_8`QlR9u_0(rl&c0`OR
zCwE5p)ZC3M2$Jbmr-Z~yx{!3GE~aGAn>-D14WR)WOj-QH(Lyyk7m_6^Rt^2cso0}e
zKO{$dh$rb;FziUsEUF;decL)aWlHiXmcdvvF{I<CT6y?hk$qY!oM5hTXI0eadUZlh
z)#xmgQSxEDsrt_k{P`uRI5K9-MW>kAy3bX{AbrHD8DdZwI~!&ZndiQF(Ix>HPy9#M
zZ<uM%NDpQ$K2-?x&h+tkan3a>syMjb0`W at g#`w-t)P|#2s$3nZC>CGbfOSdTb&)!$
zG?p6BF<|pbr~ubWNj9Wat{#Dms3u>r$3!=zj)}6DNnt-e2g%Z!X6t5?Bv`1$rZ>s#
zxLBPaiWAm!hSc0%Q^=Dr4}iFrDl#9DKinasOGin2b&CJ))&9$D#O+ at rB8fcHFtz5&
zZD9JePoT*m!ao76V4O!`JM(sP*(9*M8Yp<!)2e4yej5$arE}+4yq{XWQFj6HeZufh
zgpRbX%qlz3r3bm&r3x>a8W`>=G at bWL0Z!=Q6UNJuAU4CtDHqT9cz5=#GXjT~ODEz$
z!^1;_CxT~vqnaNT?2Nf<GQ~FO5X|#_l-*4S_=JuzGzkHMn`YNs{A9FL2JjLT`w8KR
zjg at G^<}iqhwUzV=O)un+q3*7Zq~Xb^stowb`RlPDX6YCTs`#voU!V9*e^2rVpISa?
z`W)p#vNWsBnzoA+9^>s~#JPNteZ at _uH)R*9kChc1DNbnZoozBrlt!@PetSvkuAE-5
z#qcGwpp-J)RM=D^GC$9!Kgd;@UME7$*xlR#m+8_Qk`d4#jhyJwQzv^FXw%$rSJp+O
z?dltdcwRJy>N>waJCu^QNPT>U9Kv_SB<HCjnKkZg4=o2#R*wEd>x=v*@3P0cQAmBz
zBO|O!8!{l?b=;7XmsRzYOa!DxRKSyS9GUnWGpx0cyJcc-5zJcNFh_ke-mBfxy(%Vu
z;iDW_Ea$3`{d~xSbDk+SHdq%SZ32{WjfwClmB!iMMBob6iX*YZ`He*T6}g9ulxtcC
z=6wP!)I%O4!7;v2-4hK4T!Yqg%<jBl8;y(7&EI{)>^Uv{zT>o}y(9dD&gQdhR6}VN
zh#uTZg6Ye6R?X+sr2tcZi3}N5TB5K|@)1CTBbrU=OT0V(xQXIK0+F7Y?uNI%Wnb&X
zzLp7|;#lEZi@!JINmel8#MJZNT~=vwt~<NX8zCrAQ+L+BVVsdIM#qnqecjn!@9_z*
z;JVHlJ2sdl5U|s|^h%*9ndPV_a>Xy)nFzk+%8+4~u-=+yR8N>i(^D%feakd_O45Mr
z7Fz8#-3VM~9*H>bn@>{iq&QUJQbh|dm(S$$Om2)CKeJ>Ix(wTlg_RdI?~z^$oKTrT
zRbC+ZK;XHphN6qhJ at 8BHbalQsuOwA9zIh1F=||nk4P{haXhE9&>;XEw(~qbtKyf*Q
zmWrdXiiX)j)SW at NKRygjYH52ya`?mV%8d_ZPqWgk5P(OkihVUgtaMOW6`c{2(+5UA
zbJ<76CD}8WM}|sx-!;E7L=8&)k?d%GT!nl)Vs`>wi)Bc+kJxTE%^fgY5X{DBU0l-i
zR4D!@h<EHuSpe=g^dC+=IONWD;XJpzu<fHyy?n;ZBQJqZ2{H9A<&&~2jHFnv$)|!R
zmM?@S$;XFY>xXXc8HUH~Xv?KYvq#j|;7EM?(pzjrZZ$6N1H_03t8>E95q5$oKkyQm
zYwf at ToXf3G5;muMtik)P#0QSX+5X0-L at mnpw(IBx;q{Kn`4$Y12CUc?N#DW<6E1q2
z`2A4Cp1w5^%q1(r?oD1|t7kddky$z($>1BsxrXIUU9?&l`ogzH5WMgWy=f(Z7(&+2
z4TE$j#?g53_99~N2B_*deYomX9~2%3scvtX2sxXi((=IOjyj@;)SIEpt~|}5u(VRu
z_1cNyW1RcYxWzv6vJy)7ZoF80sO0Mo at 6nU+YZg81yDNrFK(qJRz&Jvha_l7D4sc6O
znh_{_l?L?^@n%%ATv`wXc36k84Di%U?nCcMYY|kJ at x}DQ)twg_D0c8 at nYGV(XWliM
z5IQt^Pui92gjjEu7xQh$VV)g9={!fdfpO8KqCwtH1L~9Ek?A*P;0Hk$mON#bQh7rR
zB35O(s=%IS>sUM8V=n8fJ at 6}azWpZzI{Tl)aSLnYhI2LmRG{!h`PcUM<~-Z<#3OXS
zw#UK#ZYg3lcfsZekExYAR_zku?$(@w_Xm%NQ6`$cgyV*GP1e8gW#Yh#DbGxwg`AlY
z?(wxw;FxVi{@IU4R1`y5sL8Ndq#d*TsC;;r#@)u at P)2+9=J<1J6}GTPbuEo8<Wnhn
z&>81-6d!Ncb;DPpWoG|sdS1c4B at zyL39}-JHC0M9Rh0ESMLOE5Vyl(9M~j$GW;X;%
zLGu;_PMe%D8%)K9ldlg>?iuidEG*&jS&H6Na#_XPAyZp5=&SI_Wj6CHPoqp`oM1`J
z1fs%aRIUzTk=4>u8XEy<Ol at DbPfz5ljmM8JM<g;S<&s*bc)RaZEjE6~VxA9sP|<Xm
z`b%nz?iTk}!ex at qU3x*s`hy?UxdG|fHnefFXGyp(no1(!yRA2%b+PU#CsLO1HKl;c
z0iB7{A-+gL9Olu9fle%!a1-Kb6W&>D{%r?oJQWR%Big>!YjM^pnND`MNry@*CxwfR
z%FK*&xxDIDFwKWXESSTTs*(CCD>r#LG0MERMg22}4?-$3AJwI=8MHe?o&6$hMKxIa
zxsXE$(N7&bz=!n#55XMV#94T8Cx2D9;MdRiEFoSO>I5L8k=o!;@U{VDJc(_$BD`Ud
zAG03|V|^Mzp~^epqUxDH)Ri0XJ>D+UOTKxNYAgPy(1(sZJN1l-u3Vj>G_8xDhg at mv
ziX@`E2&5W+^ak at uQiOkK?$9r02-*x=FM41j5p_N-%C7qS1Qdg;jDKF%qQJp(&+2P$
zAD4zcX3)*Hw9y<mO6Pd6Qk%{Gr6Dt;O3Xur-$VP?BI~aKj}z}krP_3tOY4(q#iFtN
z768#v*7kw{8pb*pjgMw(Baa|OQ+oF_qo=o8F1C7(*g&PSn$3ycHD~`Se2CK@(YANt
zU`ejv#@;arf)A-8a`tL_l$Dsz4Lf$27_#KQvPLb6QI5Rr*c*J;A1)Ru&i)_9&M7z(
zpiSGcZ6_1kHYT>MiEWz`+qP}nw(aDN?fmms?N)8oeg}KlXMNCp(0x7kb%(D1Chd=a
zbRdn)ecYxxSPCp`xI^I)hhVtBLFR&ki5j^?Q;OZ_)SGxXyCmxVp?=2L5BA~h<=O#g
zLzwnD$y5&L8PHj{mD-r5uG3QR3hwO9dqph4-aR7HT%yN!?y9}Hf*;>6iH+07QVvs#
z;2Kv!nr&0jmLU|Y6&XdSZ$7uca`HdlD?d}g-H4Ca8>qF&Q=jsalcCFB+2GnaUm*~g
z>1R6{a+9<$H_sA}q~2e^aGfCL>~g%`8+EmzNe4Eo^d at c<_IElMp1<Vj?eSJyosq?c
z`MD(8>=v;NdIF+QL|o5cmu2O0p)U;m-_Q1Ad;7A9Y&`_yBTfe{*5K-|_*3~Bz1nUA
zLLCos1~dDi^Q)mP+7w#5&!j5Z#k7$Dp95OY9m|z}$T!th`R1396Cn_>O3{R;eXQu{
z^gH>EprPpBC04|m#xXvlXbrSH)n$48HGAEjx0+qne!HKAuJZ}9O|hUSuq!7ipE<Z1
z=P4&jht&0)%byJ+v5<IQoh7JA=-maRRMLZ1TUqHUT)2rR_D=}{EHC!L1SR3X*HLdO
zS3bFiA)g)1y7%AU7;0#D3FO at a(!y4dCRWcEWh*aV-P7Y9n1lr9Iv+Suma|G(#9fW%
zBh`4&xLLg-`%p|bQCB^NB(m(^(Ge8+#?*$(J2rK2?rerMgCP)M>`i3n=a>nQ*H}48
z?%N8C*{kb}=-8E}p3<nldqzLvm2$}}FiM at 4!vn-CdGTmx{bc$XE-i!Z6*JH;;O=l!
z$d~KrGX|%G1zg2e5ZS`Jtm|QWp827|)usE7C^rA7X;-}kFTO-W0wkpg^(~Ad4Y3Bf
zU^_NwrOb<cv+F-dM-Ep38!UQ*$$<Q^E!<u6mC^*Cx&0O3lHSg~s;*Y0QgBVmiWe4#
z&jVc<!{vfCM(!iGhQxR!T|qOV)ZZQ9!__PtLRx>#-KhcA+XB5R6SJ_F#ELq)N#4H-
z%x6-7S|hE5UKgSVcV$UWre6p<j{QYQ6_5CnaNib%4p7LReSvHLxYnQ$I^B_g_wttn
z{{d3c at 8~#v!yM+o15=smb$=5b?I~r4bG8y(3hQR#HafE*wJ74kl*LW at s=!qBxmuwM
z#s$0yuCuh3-V3ZfF4<m`pq9C}dv(oSs!wpr5-sc=Nkp;YWj at iatpVa-dPFpNan&d(
zYV=ZFhJ5NP%-opM>w9FakxEo%uWE<*M>ywyQt<dtJZCRPF-snG8N;kU!~!-F{Iry)
zLcX`@?$6C|lE#E7)w<ck at oXO=zD;5?=?<BSw-DswzBAio*1U{J0_&_HjlS>nY9>LS
zF=2A;79q`oAxyfKYkY_1(s|a<5uuDbc(=;GP0#HaNCxV%Josj|{z^N3k7pM_nDmew
z7!}EC`RfBMU{i_z$qtuu)XF|^#~#*Pa1=yF_LM`G9f8tM43=4Y@?W6tL?N`(!R}$O
zh*vO#Q=yTet+jZlK$1&Ub at 5~eLyh-^4ZK9AMOn?%z|e1{-qcimq0=F!-FVgDa`Ez8
zjyy^Oj_THQo;JLtYN?j-P7D{s{I#*-$};HN3(i`ismrrS*TA=`BD1p53q4ltOSMYw
zMK)yPvlZ;eYMh<jSfJw6oEKHo72I at 7eP1)#5--%6P<pBzD9krnOIo-ABP72uE*F*Q
zX5yyf*khybDzHAl7dy3fi{;^=x`!aZVz)qg8a-=yAaPwaE%}^>2f|)QvSD1uYMi1=
zvqG8{yzVEU<Rf3#^)T0Lz;ir}56FYQTS}C}xtX)4@}Uj7YzxVl=zl<3R6UFlPkqMO
z4U#LgC at k8QV|ltzNdZr-R*xbeJ=0}N)3k&-HNq%v8MJt?T=O<G*GfIh4MD6N;DW=n
zzRE^Tu6 at Mp-9eThC$uG(z<z-Dd4M~Rbx-VjlJNYwSF%dp(6it_wMP|bj4J!iaQJb7
zUKsJ9_T`H#d|<fxQe8Wq?;M<9*8lsg6xW|TGd!7Q7)bajehD0KS=A!@F@%QP2(~L0
z$&Sk)Z;L4nG9}<c46T?)@Yq`FEjManA<lZ0B){Gx<QH(SoUiIm=q#x>(86YFzD``>
z#F3M*7nqnz%~$FDY$^pOG}b0XdC4Fw?`W214%1j3z;>6jH^DX at Rb#mmyuTm5KCp4!
zEXlu!a}@$Gd77r}c{~Q);q78)Jf_mmuQgP?%%sniW;h#m<=a&l$BD|+cw(YuMJ^p6
zK*2|AV at CDdC18Qzx2p^(jwmM;{7dayw<7(<;lrG-?2eM9aL#!#*d5<A#P*Ujo^4~!
z<QK(nGg^tdxs{TsKV^2`;n7ce9icg-U-4i^iTsR*VlKrnu<<<B)d$X3IZ at z$3#|;R
zSKO&dxhltQ2d?S6>!4MHxT|${KttTRw;BP>L#(S{J51HQwPHOsqLBEqk{}t${$m_D
zVi{r9UVJdxWw1Jx1+2N7FvNvEW- at UX(fA9g__!K`DLxIXGP0N>53XVzHZj`$0sTox
z;8|h#Q?;1pbv-(~^o{U$nk()lgE-n-RaY1oumI|Aoj{O&k!6s6#${Gn^QsFC4R0w+
zJJD=19mPo|^L~D=C`0o^RE5g#r|@_d8zXAyTyk%f20953XG&z3uSO<ZobGt|B=+Z3
z0A5 at 7ysu2Tt>!QJE7E?4A&k}bel2vryYc4_WFOnZM>D?wkNq at bkhkSW%f;#6GSa>W
zmBt6sv5%y?X at pf-+uP|1s|ZuDG-*y6JyVj4D6KN%CpF&RYtIi{wI9 at r0A8~auV&3t
zn#ELv8 at 5c(R6L6iq1@>hcXE#w?s1nDzXb+O9D~!QM;854r at B6R6HZ8XP7m0Q=&%<G
zd*_n{X63j#4y*d%pqBKU_RSQF?Ydi}@IQhJ)u!{lZ1_12SiDH{h!GWNl1+wJ>;kwf
z-D^`*8(|N2MjHiR1~N!jlGYCs^U=AHr4PV>!9pqlb2_W)S~wL}>0X0 at sKwS(ldWz-
zB(I2qb4lpzsE+INNZdBf+}2042KL}qxx#is+;Wpq2F>xtus~Ea%lMbo9A35?QEZCD
z?Te`siIN%-BRj9|9XcCd(zR$<yB(yhO0Q4O7lLV#T1+lHcvbEN5fuQB-+5><LvBc1
zCo8 at mAID{S{)6#W?vZ%3qd4p8=@0{{vu87@%%!IIJ77u?^HyxMahRi{E7`-6UDaJY
zmbF?XeL0Sah*?wJ{B{IV2C^QJDv85vqcb+Z)p+D)TBAuhrKs2Wj=w|ywK+cDIiU^1
zS&i+4_d;^8G~F8Bb)y<T@)R~$k7d+{H-PPCvf&1Opkx*%&*m324fO`Lw*`p@>r~U0
zZ>Ew0;;IM5eE1~k?d3WXQILNUo%~B*EKqP{>k>LWH{0%J2br}j=zaplP%%o(D3>S&
zG(zg^yReixnTci35l{Lwv<O2WrM`Y(y!-Oyb?%t6=$u`3Nu>p9)00htWv?eCdPMky
zQfqgeV|W0z5A*7M;`zl}A33&-ab}<>!5ITmxAEZ5pdu0P%3uWp-w`>oci2FW)eVum
z{gsUh;7g-HUdd?wewld5yY7rM at pY@z>UbjnfaMk0#L&)tFzvFk5|J6(X{)Q}RT7;!
z0A0*CsAB9ZxJ^XLG at 0&asWeQ5h^*t1N#6>>*`f%rLV!)R8h;p>*_xy%rWRG++$I^*
zL99`a&V=qy@|*R#e*A-xe$fW|_b+`6D-ASxedZ0j+XJNK0|1fNdD at b!p&Uik`W&}G
zPlqq9<VOt6d+Xa8a?n_9#Oy%@;6xO=hW505rR_j9VYix7@*ZCt=iVZ)3s-U8@<l{!
z_V$Zq!&cGxoIHeOy2igwK6O%JTiQ%tv(wJ6*xBm>)AFoWny7<y{WlGgWTB}u>l=yB
zo(-c<*$QBmPXNe*3|Fq_=+;ZXl1;20jEoskdYoZ-dj+Pp!up&2LEr}4^7VfsGj>MC
z|Afp~85#c at k}(spGc$Aj_v(KlGY%%M|2r~s23JYCd8Vfd10mLBb{?JECfcUrf&+zv
zV;Pzw3S&hHO!BAPjt+K~2qJ=4LQzT}p7x9SXQptw)&=aaS@}F%b?0{PcJF at i60&s1
z at V92s4L}q``IEE<@OmErfy>IOA_EcT0wEF-3J|a~0;53(eYzYn;R<bS<wLc-{(w-n
z2?<Ih$s-5<-e*O&_s at WY1407=3K<R{KJfMi^5y5R_X9?@JpdAoqgcYo8wXVo>HBr<
zJ_Q4XNyt&w4T|D2)vE_=ZQu%|AR`kDaN`!7!9IWh584BgMOpwph~h?u3j}^dHlPGM
ze~3k~PC$?-isWRdO-;o_99z$Z+&5*Io&moNB*q8wL~;wuq!_}uwKDL>7{k6dV<zA=
z^$!4D`ij*jH2nJr(k=u<2?+-i+PAHUO<=Dbh707vDX6asns)^f at B?i132YDiy#o(4
z2KwpN-n-rlBedU}C}hAmunrFP5-{-3O`(7VmRDWXAM_~Z2rOv7sV|5$g&!~h=@FR6
z7zYn?+v$WPs40gDBn<!R#_Lvxy99ndbBGY~g%kgxj=e-j({F>0G&6(5xqyG8?iZoJ
z0fpsq#oy(}4geE(@BjM7aaCxm-md*+&8OoIzptQ<7*=th4>b|;LYT`3290!pijItQ
z3 at NAsjAT~_dQ*E3!A~EzE40VJVHpS{fEf(ihrk9#3S<c>^tJ!i9>n_#s3;SXwC~0b
z^4nq`H~>hS5(~O6U`=G-{ii&}QRMP_t?al{s2kYSoAMeM*t^&F$G1^%ei8%t at 7pKj
zw^wgh#f6w->@w$%%;!y77w-V>-Y7hn{R8YBu)iQOks#O;%Iz#QH__QH{p)vP1x%|5
zkiWNIhp6siFZc7OG*C<LfdS-aV;Tm?uojg6l>jNnDe3`eAwl1dUB!>wTQAe6dh!qE
z_)q6A6GW^_x3nv_&mX9utbE4YULZ6JzBo!?b7BQ%{~wMetb6gM3?%KczYl)ms_{fg
zNJo3ml*~?`;2y7FKd<@M6AE@=)d*<NuCF5L0=|R#N<l*VNch1#kE^ZV$-|>B`b<eZ
zeR5?te|aKO{e+3!lGfsSS6?SX^Nt>8`IGhxg0C31?_i-p1#NAK2zi$-6jPA;5W`T)
z=!QNx8iBib?ZHrzK?JAqfa*lr_P_qMhYhppjWO&JqK+Z%xxCqYA7a)0&BU#U-Mtii
zx at GuiUHOG%2Zd$l3Im)1<xquS!C#qF_<W#87(cWl&&RTVN-*9$B>GGltzAueW at b87
zj!84?3YtuZzu9!8JG(<GNBB{_Jh%J~mE*Wb<=0r+7 at pg~Cz>nq_#rvSD7xnVJj1E^
z9q%5XjhKO8^BDBp$=veH_dXT;UA3&s60S!}8Ztp_nLn*neU%)7jbqIEN365bb4)Cg
zKgcB?6=tPM^|b9&Uq4N}#Jt;7A=R31RQk5Uy>5$Vu2pbJb`$waW}3zQ%byBPvWRqE
zypS?X*{~^2);?Kvul?aYKX=;bj|aMIqr<;Q<m=NT!6ANC-)#i&X>=NVEME8w(P;KT
zC0skhujZzKV0!G84iUoD-c=QR0c{1I{7(G5K5y4jt{R;^!RP71?JbgIQ~nGX4L4}u
zKKo=bsUHvoGyxAEw~U$9IDwQNXU{wkJD;-n7EC_7R0(&(T$9=0o#$lDyTvp5k0FNS
z!&47Ms%IW~TR7`+6H8D|O5)?%EPl*qCTYlMD!4$AzilK(4Qy;?8IGbi8pCm{_YvXe
z24)w_i`zl?8^<aRxocWrs9SX1deq9ym-#){EjT28mM<anPJa&v?kFVJ-=sfV<K?R}
z*Ru3FCVh<teemrn?!UDab$?gxs>M5ZehkSN+NNksAI#39>8_|xWw)m=Tt{Opi#DY2
z>5Mx27zuj12_OFbls=i0%7Qw}XNq#}6%7O!)r1<i#-RIK3r8?sD2lG#zTxsSnYa1L
z&$l9=B6H(+>o}~;ZVz=9B}iw-Lo1EjfK9Of1*0hr)NDJ~>h`TjH8=2&$6oJq<9qlB
zJSt(BP{l0Zs+9P=O9iqPd^6YO!}x6>B9UifQSY(w&_O0J4B at 5^<SEDgP0aam{Y9wd
zN~g6hK5gCJ&lU8i4L42wl6|BH?pj?wW|;c at _kpJG#X%QE at t^*-b*!f%uFivIsiV=`
z&LZSASn3VjPbETZv7x~YlWcz^c)}6Co>f<?8G4Vld&Y at gjXeouX&w9JvxbJrNQ)gd
zWr|6Bo!$24WNf{-;VKo4Kk|iFKijFhSFqLBOB-fy^tT~C7i~+K!P-*mwI_&1S9HLw
zB&<?_|FS#7l<cqiv-u43lRh~-)gfi%h2dBQUeH`~aE>@yR&<KG82BU7{EknVnjh{2
z&MHVB*0CI1fhWJH)V!f26W))XV$54-`<~$jx5NkCINZ1vy%JA`Cbfh?8mA?U=W4>3
zKR>d`NK;uoPD?I at 7~Ed&kP)!mEe=L<M4G=~;aZEAgD+#sZ$?})TmRHVkau0^^%nkR
z6%&(Q+MA*T#6eZ6SRD*;3i$qUq$vS}8v;BVsR|6#NY_&DM%Ds<ZIUBnB?GT?L at 0Hi
zn4ElnhnhlPDP`o9FlC$EKKeK*hpyWnkd=t_W1Ci=+xzkO;O0Zf(*!KQ3{h+E%jV*~
zY9t%RD2{<+jQpPaSGh1_?!7FE(c|R9yseyLGbALFY&ib)d$^zY`;%L^and!ZcwrLZ
z&b#_rGCJ99!|Up at W7aGdSuC7pYR*DYAHYGH&}}$vIP^Yw)D7ut9aG4A;aS4q+oT)M
z>>2DMZ+ZFoPAvdl!@<n;L|vc_dcWgUYU9WPfZ#aV1~uZo!0 at e}@q+!QLvID at T|O=O
zwA~b;pLoAQcLjf8 at ->yOLq=0UgIR|PmAd5sXT)EKQ+7t#H>8g1NQl?+Z4t{HVy}2=
zInaX|(UNjtx=Ekxj1KRH`f at g)*y1=}@)v#8ET<lEH?f5*%!B4U==K5;_*;tqC*$#i
zQw(MN- at M_ewE9lTxB13s5hv2peMGUj9<mUOqgU^O+RJJFg^IGIA%Ps~iNhy$1;{XU
z55GGFeB;l|zul{*_Yxv=?-P<28OTiMd=Zmz-mDKR4&64{XPEUtOZE`;dIz%ti^=c5
z&edB{J?t;mCYYG)3<j=%I)>H6yVXUskalBN^DL$xCGB2xsMK(cbEmaGpbjeWXW^K{
zbRz%8>}ENs8xF+$#X>%*#$HB=hA$E@*_3up$79QZ_7I|E|5?$%`bt4iKs;Sy>bzA1
zQ=-B4)l}e4_xCcn66Q0urLnt~NlETQ2Ca?QBR%Z!><l4`QtLW4f(ka;nMHZBx|IQv
zA+!}d0*&>FL4HZS9jR)vN1F;-d}rq{D~v8In$}~(RpxeC3F!wE)8hh41j>jytEc8z
zd?zoU(y|f+RXmw8V61r)d)t6Sl`ox9v`n$aTEzb(nI-oK;i`pQ5WitY3y2OjY^PMI
z5Pfc5ZpD{`!JlaQv(3i(&~uXN_ud!y;Aounimq0Sv1BIX;E9h&5pQ=jxrKUU$2;o@
z&%0K4xzocX<W}h)9^-SArhL(}?hf~0z36^qoT(V}1RB at 0!x;(cnk5V94A3_N{PKX$
zQ4!QYNAJkr at gNoQ3vl5~6tl*zgbZs5UVmoln-|w)+Cm^z^_R3pki^5Y*#raG+}263
z>{1RV2wZDq at obz@I6LjaFztd3ZoAo8Nk^^E;fwbzWWw%qQyZ-V6GIAM`>pg4Ts!}k
z`KQPTj2wDA*hv0~t~ibP`+V6 at R@fg7S$zRnLlb%OXEkFy$btt@{M?a!-emeTX+MM;
zRZsSB2(u7s7#S0~kEcLUIiuW;A;0Qg08A at 5o^VIhuSKt>*YO~(eyKIyvQL6&Qg8Z0
z?05Fd{z!PFF6+my?bDrryN}FfJvEr8wInTvgG1aBd6IM+VDqZ`(%@3Wfs+-MumHB%
zkeArW*`d%!YJo}POF7RD&n=R>)XH4jN1Kb~4TUOFWa8o$QmQUqd^H=m5%<sMrxU!Q
zT#(jE*SB^T$6 at CSO3@SXGaHpUcY-U)$*x*P(<Ft>%4kf{w!z`t3$j?ItlP$tC#VmE
zp%;EqU(j+cspY>h#xs;iT(OFqC5Yu`dvaZF5CXFt?;h13PmCHM5qfYgdl#-={!`{T
z`U$K^Cc8Lt^g^|qE~&me32P2ouV^x;-7SMJ#%`f^L9$wpA=1gX#odBoha}ZW;#IQ}
zq?@D(@XV)bov7uxz54_#<KlXda#V}GP&T5OgNf}tX*MJBFHHW4+NT8D$FbGA(H>04
z(c*+m>Q_-cL*G+2=$~tTq)?2|){(WwwQtU2;YPF3Y at E_eoZ7?4=Upg$DFzZqex)u;
zO&`Vi$L_tX1ZG}28zd&1zatb+Rx-*^Hu7a1%6sgdr84HN%vA|mJD};sX2*0ieoqbQ
zoQ69iSM1i-UPL9-AF#gB32r-_`XjKjb~IEb=UM$wcWUma9&@%HIBls1dy3_#GtkM$
z)FVvX6yzejxnVl=I;P+GcDZ%OY6 at c|hNDsrMl at pE?4Iz5KvdGpzzOiIop^T2 at hJ_i
z#r<?BUUvsNYHBr<KV&LQdUZB1xQ9KMZIxymycCyToza<_mMn+u#Q3SX- at bM%1Ql3V
zDW%f7Zi)Y at Y2RA&Nx7u)RX?VdHhyAJ1+^qT-Y07ARvX)6+Hb|exVD5!oZnQWFulL%
z+=eyw8qZ-IQC8a at eDs=UD=-V6f2EeLcI;;%KIg(no;!yk1`eaT&U)FK+wcUdMJ&!9
z2Ht6T#O|m(?r<5HZ;ZT<V=ag-tzt_DPFooT;n2X>7Du(lwdzYK_vk3i*6u;|jB(U6
zBRD2f6f0U0ECzJ?Trvd)?&*|3o<&N|O6px$nRzdePw%AoXs%%Bz65wq{|#F~Y%AST
zW)4o=ddlLPP}2O;RPe`{U8m6802b08DCRN%RMtj-$Y9AO>CC<&+)MH-091sO3p8$|
zC<|w3%+2*e+t0k`T`HB&f>TPKra3j+CIpI&#=YcF6n(!=l0CX(0_r`0tP+v>N3S6L
zcep}mcc(bRj`+0?F&A8|aokETx9q}1vb31q;~KHCQEuYulT?d4)LjrKrZ(m})lhe`
z*vljvX<2?xKoag0&q4O)#Bk?(vmzl;7QI?;YtA#auN(f6=0hqQzka+kfJoInMN3W3
z#1uP<-RifM=mu`pNq{7;!P;tdG}m`56BdYa;Ff~6v(j^y{NV4>&#!@j;M9Z=s at KTU
zc++}T1}M4S{8OlVW{44G4QW7_g2`D)OoY6e$#{xx*Mx$$(gt$`;7J`}ji+(#lgs^j
z(VuzQ*r`8p<@nb6Sn!0M^ybZYI-FkF(}Vr0aJ)Lw$k0tL^Bzpvwl;qe2FB&lk`=`X
zvYldXoKB+^jioUQESBr8+bU&4>^QjgH>pCxzZ<pISo>#eQQ=$y5rkXubV60rbdd=B
z&M6r+r(nf?Yvb|FkS=hJz+3jzF|(T5BI7vz?Wr889H3UX&fUY;AtDEm)~InKXI+nu
zEAUsFlx?`meO*3bd}^!0ifS+ at f+`%|kaN8gv8yKKA`!(GH*T}d)-l10 at 2@%oJ0m)H
zf};1W=M7m<F*@r&Z^P4OcoyRBEnOLmWjr2s7U5nAWh4BF1}1CDQa;cGzM$ElRyG;Z
z2FSr;x^+>0j**_6B!0W>dWe3i89v at _%@%)^cTU#k7&K*msB&CUI(C}BNRPy at g@pP-
zOMDc`Ic=6s{&5#@tFDc`M7a4Hk%Z3OD#`*}GeITSHi%UqK2#=7W8!?AJ|Am2r4!zd
zG3>9Q6=}TDU7(dlZB~<=QYfq091J0Y#nM%-)&HBQA&7WpL*zB2tw?q<sNF~@qUOjY
zjxE_ at oHdk8lU{kT=I%BuQIntFj?pp!w>|<>+t*Qsju>WamKlkw*rR at aNPp+7YlOF!
z!po2(#Vlc0i_w)uvU#_sq9e><kjK$|_P$VtjUvVRUU!OesxO)D?t?Z7*cRdsBtA?t
ztq`{rzEM){BFWr~fLi0MO3~?I#ML#r|5tLIL30pgY9`(H?0T&HQ~zvT`Qd43-2twN
z at rIF}gO$5Gb?c9bJy7{ZTW@`_pSSwAo$%B>&Q}XrPMa3TsH1dUz<MoM+>6B6v|o)R
zW*yTV<AF{r5kYBdz2910tvh9y;cTe-E7auP?syZ9!J))KV}~t&S5u#pE4!_oho)rV
z%5u!ld8RuALI(I0l5LZKvZpsyy1Z`Z-zhmN at 5y%tX45L_HDBYktEx`0mnD{Q{~gvD
z5Y at Y2iox_O%PY6;<gK;bZf9<Hv4Pjn(~6B*xhs^Y)9Gx$D?@C-(GI<AOR$kR!=f0w
zymo4K7LQSB5HVGR{^O`Xe#dqzhttQs11&EJrQhBFnjI><gPbCFRQqcEF5IwI*rMta
z<C*K2Ds%y(tCEx`?*I8Nl6VY<JR7rDntQZ at orGJ9=8c*YBU-bQACbXHlZ|;c^k{TJ
z!EWv8shI|$n|p+8jEAs!gYPj*EP9OR=eCshe#(pae9|AuRK7nmkg$q~&OA=rsE&Wf
zz>$)yepQKx`zZrCW9Sk`C9hXYmYT!ZO9)BAvr<S1!e3Mh1G6+w<)-2WT_<bc5D<%6
zu8J)tW!&IcBna66YuMaE2$^IKvS8#)?85cPnN~v4SFDcj)cE>4yJDZ^rTwsTG3YtQ
zWh4}<E*=g)VNp}kGMZm9lhA{fP5Ex7`jkeF-1rcKE1$icO{Ipg;3~^I4(GU&{hC}g
z_~uo(+EG;k at q^Qda9DXuo~DZ8(u90DOz*MR{Rrk^ViKk^nTY3p at 8l1`cT$KfM4{=N
zXq~`e1)ohR1KspTPEZPyU+UR+^8{e6f5b at lF6*14iS(uSPS&SZT?eeDrXuoX&t6Km
zK6~o7_20BlZ-0FyZL(XJ&`mt*A)v|HO9<K1ZvTdNOV^Ug%l#alr?iK5EB?pQ5HHbL
z1Ubs_v8?6r_u*nEZ|JKC=Kk85DGEuCW+8C66D=hGFLlIR&s-%PUrhO|75(uf#XG6*
zZxKNUQn|Tz41?@Wmr>+xi9JB)OUcaND1xYHMVuAbr;Rgk$KeGEBnRFNL#|ToYG9%J
z?iW$5L1RcXSvdon)kaJ>#r}dNaN5fXr%mVv=wdtlqkXPMN%Rb8n2r_54t|d#rn;F@
zqu~$776Wn9n0}Ia2Zl!<>6+lnNG-wPv7;$5H5EtFplHTSwM!fSYGl~QB+rnD^dQZ$
zVA8*lW<D&89rkmSz=m!(FemY2SFexVzb**i&$2i=2145HSdi3SpIyJ{|3ZR>oWu>b
z+f%P at sPemzhTG5n$*E~7+zuyD>_?;yin+nb^x^||0&5;Z^=-QbbLPVWk8v=!#>W*U
z3qQJfOK*LC^9=N$)Yl at h{A>!WUz4Z$1xfHcbkiF at Og7P2lc2vg_qR@({BQ8$<g-H<
zFukK$yV5OGdk8(L1NEn{_x462do`u-n#MccTu at hNz*+*$vm at -T*W~-DsDK7`IB7}(
zydY-_wmgF01zuayx_u?7R=4|!539zerwB0)o<rYonyv3+o3}XxWiVz>57F?LY at H^-
z*6 at tLM;oqJCGajDf{J&}gOkRB<xVO!h|Wz94rb2dduaAAC)!>q;XvoFB+hyLy%G(I
z;8CVB*F%cAn~&rRT%dW2Dp(R(;$Ip#6)d&UCKd5A#^*}#RI_y5jZ`;$dNhDRGS0w}
zvHtlgqY1xOcQ%&lE(Y_XC9`GU5y6h5qp0(#D%!Vv$%0&Bdss<NqC&lE5BM^i$IkH_
zTO2o?DT&T?VtBJNOyg(ewYx#imK&;-eDh#ANnTd>(s2W_ at czOAld>%CL at ZxUocV41
z_@=(n<dXhzSS#;WRX6+AspjQiW1Lz~fo*`X_1c2_XywO6o`(8-AaOUKyy{H3MIDYq
zexw$jMKXk2uaYG%7M2QU3-3@!S&6S~>uk_qLMH|?0X={mt;2N(Mn5xAX6OdrjL|O?
zob1WZ9^X2x8+$XP*DEeeynB0N4uU(O$p+AZx9wswkWXrDX`jam2$z*bm%JbC79_C>
zGhv_pX2)$xXgzfL(fFv~7z at KPI-*=N?E-7#h_v{H5$A**<AdeS5cQK}T|l}c7}G{e
zQR`v6_xW8&OWRf(CB__6<Gl7oF-x-X#MY{|DY!d3BkE=DiIuf*iOx!XaLYfd!;BU~
z-V^P`3PWNzwKg+?Od_3xxZrHf<gr4~M#refuD<Tp0jgeL4b#NF=D@&O=_Sw0oB9+E
z(W+JX$ATIBplzb?)#f%|9Qd2h*Je8o8OdZNoJ2!lIi<et8PCwPess>E4mD2Ur3ygS
z at +x=6KT3ctnT<&JEvMc0vXtG;!yy`hp;I<>QaeeNB6Z-EF+=`N%-U^k9!h)6Is^~`
zKTqo%a6zy#%XXbTB$?GNGtTz1<Rvmq)&-026C_B4`FMg_4{FWag~@hS9cd1W&T#t|
z($n*YgRuTRzsiO?u>_)Ht_$Kt=)JaoR5VWV*Y>=&`J6{@EJC(8-LIa43nN`#F|utf
zHHX-bPBt3(8SKXqsR%2#LqJ)T1DOWE6O??--Tz~8(sd!~`0w43mOC$Bir{N?y%>O#
zs#oN&TR=7T!OF4 at uGY#rQ8egTyF<Mg6M$i7{5cvRe3)I&%zQF8WLaLhk*PRQ)-{vX
znf+^W+{v=F<{jJxH6k9gW|@ge>uM+Z8-z(qmFiXHMK>ExpCSi6-j9k?m(^Q at _i2r;
zmJXE$r`j~nrK{Y-d+gq7>Sc*KkQ!f>5{H}#(xYM2UoUJCQxz6skJ;z#l8Iq7(K9S8
zKTSzAlWC2H!(1)SU6iTN*KFBmJYdel#?)xE!G8u`eb|-21|yx!TYIGrNvd_srkcFW
zReE#x2(7k$+t=vs-J|Sn0W}nG316Qya(6(sV;K-Ap8RYA;&>)@3AQ&mF>(icnXaL@
zlf?tQOQ_&*x(wCg+u!<{(0OlKuw55hZ(P1iV0zQobAb|2=h6wnLh?Gx at 7G*s!bZ<i
z5o57Y^zZBcPh-YrQM;^hRBF6G9#7YcuguqcqTObWUcLy!D3>c?S at 6LJq?|O`Z4Xx5
zzG=zqBtA-$Cv$jse;p6Sz>`1n#aF#9;9*tl1<};2?pKEaiQHuot`RsPg<|e->lZBH
z2R>y7iOBSUDk+%r9~T;vGVmEECz%agt2BOrYTC`@++vx*`_eFys`v{FRX(o^A9W$;
z at S39|v8ILzuAwGT<RBX3 at E(QbTC*RPFT`XX-wl_<xWhi};R}bCUtM-f$XQ)RCb`&L
z-qk}=jX}i~*n%vORr0zWoz2>Xnst-1?^Mz@{XP!hCk(}Wl1qez0{4iH{GzbNywfpm
zU9Gxqgs at S2ONY9T<4xNI{Hl0obXl8`!EeYA@%Tu5g!hCNh4P*xQ|{5%w>y2y8C^!B
zCiL~_qqtV}OzyhFv7V(wfHrEG9d5qV5qWhodf(;+8r92F?}4JmhqWIdn47!A{{$qN
z{}Yg8;rbsyl8uv#=|2I<e;GdZ|8s`#zkp;mNT5Fvln4wlV^XlQn?zVJ<3A|L1j-@;
zEg>yMjbGsJT<T0x?tDr_RlIOVc$oF at lkK(I;Wn+c>+N-8cH?&ACNMkNUr;$qV+P+E
zNI7UosRzuT2PP;aEiH=&1O{^l91uu~hX<jML~>M{89WFTC at 8$o82$sUASftE8TF4y
z4(v7UG5U8 at k_ZYy5#1^X3#x!XfkA-;9Q=R`Afx;vlDJDadBczje+P*qP!Pb|8Yw_5
zt^N++J=CfLVW!~{5z*7X at BM!w2_5JkD8%TG0c8T|FpvcW!3FZT|Bpx>zr~{HB)C#0
zHG&EBc6Ra*jzNz at imypI2>`W;D7yNOB9VgaL)1fj;$Y>$I|hEHN5uw%8W=!|e%}EG
zZ4|DFz`*<+IEDL>uuu~BVH!h;fYJtm-z_tM at Xequ5j7qV_kj0qwt>K2!M=5`?Vf9e
z71nNyk+9(093lF7^BJ}M;g^s><`h?sL_G2cfCL!<`hsyJC^6%Z?E!f)L^N=FZl^^4
z4Os+0!PvJq?h=e37g56Zzw%>x#g2YdA)F?q7_GqD5>dfIg%dt6<dGx%{h3y;$A8Qk
z5g6NerU12updp%@pEv^>%jvsF5H1cOWmMlG20Elack99mK*)J%WpQbYKnEcH?*3P=
ze#soS&Y_<OFrSV_<hOT at p**10j3R>GdF)72gyEPdM-aeyNHs`=wLkc;rJ}?{Ky{&k
zia<1BbZBDtxffU*LnpD(n*1Oaz>MI3+9-g4zTdw-rtw4=tT?CU9|Uf9KaN+Il^0nR
zj^9}BdX4Vy?GgPkYx6k$)fK>?kboj0fPOPE at c+;j!UlfZfWGGHu%*G{CEk_lPVs$J
znzZ)9?Y&nb*!BrT{;TF_3IS^S9&}{MgF=e(fco at v`f{82i9YD9`0UmA-i4>?<mUcH
zaQce*AvBCbU7CMj02<U%M-v0qvX4SA_<{EUc`MYS3u9YaKJP8Gq(l;fc4X9s%k%&b
ze)Avj`&1}mUIP774J#UO^=*F=yL+3uf|t)2Mvn*m_2kfR3>@%-J_rSO>Hp?W#5DAY
z3i6A|QshhTkO4Pveo^2<AuwQnr8k&@@*W9Dm`E^(G;P_47TG@)NGyK^DRy at W;`X6`
zk5UE(h@}y+4<d%>t=SZr38<IFl*1mN at 0;Ma1kp*1ls4$64B~X#d$|kqSCE&;AmJRE
z^Hnj<M^xcZG9537=Vl|0^jmKsyq at Sr;hBY4C3PWe*fGo3b0bPD;NH2^|DNRo!^R^u
zF)C#IM(<4Ogj#-|M9=gXUfZ-XEgV2{S?^wJB(?$_!Ch5F0evrnLWrcR(cwm7+k!Hw
zvFUp5q~N|=d6pL8c3L!}jG>BXyJTxiHz~bXWP--Aq3ID-(R#tAf%+!o#^5we#cj{F
zKufF06QU~8 at Rme6)BSj&B(HyiXL7pT0_Eq@>fijYIfGKFSiCzbVj#F!%;{!~fmxu<
zrc}X0vwSOIyXBf%=SYsTe2%|KgwQs#am(#|s;n45x-mYl67ChBfWC}L!Gop!%(r4)
zKnd0&c=d~MiTE(?_*79!zyOKB<(;{dK|@bMBo7&$m!Z&PS1*TtT{NP|x6kQ_7M1t$
z>;i$-lBva~%^=lz&Zg3Cq?-45di~)N<}|$rgX1Nr6&aXBY3O|vJD`L3f$R`AGh+x_
z11t)esl!p5v`0;p9n9#hHM!0i0dYS3<ssFQ9CYR`#G@)cfA^mev>=3##Po|8vHQK3
z-tHR=X2ioyRR<<H1$jxZt1FuI$YdkeRj66n#JgFWO6RohD?NC#?`Uj-0v}9_#qCcH
zFs6esUXdJRbeWjX(@I`ATLA5CBrxST1PNxbT(zoo(T4$;s}-%yz<kuZL<^%<m;ZLB
zA4G&cBMmZt<wVt|T*M2~{9B5kLhZ_W0EM01XSI^L#KLrgc|@A%7=>^noX2k3oYmME
zPC^!-rNQzP{rsx~)3Lrhp%j^*cJ3~IWVtctEgz?tQ)b^T<tPG+-Gqbtxh#T@>N<PH
zJaK%?(L8;rl%jO;Uy?cPfg at o$>DBOwz~Q}OyG4=y*pIs;lbL$vN}?{cqlT<e=my?n
z!_O|@M)X_F7=p%~aBEcbSR6W{tSx6vvd|UOWC#8}I0g^H8pT7jA_HN~;-lUP=q#al
zB)YMk^Ebtjt&A%s|0@?pS!bo90+5)P&o%n7 at ap}B<QzIQUp21 at RI~j at M<!>68vv<k
z-xVOYYjaV%N~Qaix0!k^E~s6z%J2bE2;p2kd&&P$S7Y#Z=g&NXb|BQ~?5gULcVc$f
z5+S94Of-g6QUjKs0-s9H#mJVkEOZ~$(;{P`2T{BShgWr-H2A0GIl#81r=ZWnQzSWD
z;TV$uA0d6vRCLh{7gkOLrj-i){dL7vY&Q9?V&rrW;&#XlX1#WC`!W1k8J}!iU34l!
z$u at v!DO0Zc>x^r|)dO_}sfKt5Q>|&nU at GN{WQbOaJfOX_h*K0lvOfE4FJ#|m at i??q
zQ9dUVp6>KPtw2;~6F*`UsP>|JtVZJ{!K)^@hjY5(BaS0;M>eRuSh>~g>L~}sd3rS8
z7&h~W^0=NYbP4_T13*BI>g;B-kL*4T-B359u?s{&a|<OkUMK<sFpj=n+Qq#NtJ~5%
z<*6TOw-FS(Z=3$b0q6EI;qf#?CFbE<7#`RSe}iuP>$RKI%y<hmMNaFeUqj(seJge?
zM;IcxqC;k+HB0#r)T5IdwLKu_x2xsrXW)lJC<gknQ5J(FgHO`$%ohW<m3pK4(*%%o
z(#Jg>NWLl!j>D*f)>$3hOwPnHGNF2B??dSQR04E<o_RJK3|PgF({qSJ0RcMCgxG~c
z8lNMj3+gUCdruqpm8nMLER4m4kzWVcm+qoNYTGsw%!?69r3;8F_-y7|_lH^)YqJL9
zC#kxN7dMQn*C)p!oO{AI8q$fqS#G7(!AHspeDl+VcnRzX6IjC2N^vQt^1wkdY6+Tk
zqS3Zizv2BZkU`7Vc*Pzu#UAp(Ap{tP66Q2{TlE*@TaB)^Ra(b?=Ui+?w7YJytlw<R
zOw+(~(n^>aw at -9T{2u<3DT>DTxAx$+#nM?{Rs1VBI`tlt(yij00uFntZ!<fJnw`Lt
zM(YUGxSjy|uC$HYS at +;9DO{2o%t?-wA8_T__r?!_+i}?LC?n}~tCAwEaRI1*gSYUO
z at 6nJ<_Vg#W7HPZRXw5f^zR<YLlAj2?oH84s&=$G65GipYhjq*RXBw()mc&imDuw>U
zTe%@p-xZZT=Kd)CCXdX#W$i|aui#Q5!QdJ3#T-;e>yQNJG!#2Oxq*KElv<@;xmwK!
zaXS8&6*IE1oD@)%{t)TGkg~181t7HXV2sk2b{|a4SL1v at ukPHr9fq4h8n#X*Yjy;?
zq0?89mW6tmAlO>sLxq3P1gDG_n%P3gj-|l0a*VL+P=oPNw+W?9Tb(9*9O$na1xYXF
zihDl~yp#CZzf+4t+FM9(FxY=c3KOtT_K-j2{H+hEHXGq^V9L#c?@5lIN*(oW^VI22
z@`mF%$RdTLPakS#RvB8<2msD(IkzsMQL#da{$R(GCYlJJ>|1M-3_&LOREU7!u+cf#
zeB=$Nbf@?Bm4qdZ at HoSMGl1Wm?E>cvIfOnxYeAq9hveF!g^-quqdH|ufC3K;A^#m^
z3g?6QJpk!z&lLJ~O+SngblR1`6!v^KEPOQs&4+5zW1YSEVr^63nPN8^Q==!><!<}5
zjh+L?i_T3SzXu5OOk&7Sfqg99yjO!$%BeqSetf37j?!dIKK*<>Ui|6^){3W2{`Ui(
zbX9 at pLH0Ej)(PkvxRL$L_+kkv#jsYVp{5dp-2sFc at nMD{sim9pm1#3Rmo>ZCQ5ktV
zn9ypl(YMXc=E%^@N(;TGsn4c7ySudv+N5$44Y57;6MW}6anR2@(C%q{EVqrpfU;Hz
z%Bw<J6L!8I2LCc at D1W3dB#^wVzZ~5RJRsl<2!K+MH%a(S%|cc!1jN(dvhvny){|u+
zyVD^q$p%V6;l2>%{z!s3`&GC%6f@>CO8205iYs8ONCG&BC3B~B=e`~?Mv<cR%4aQt
zsToltkqZ0ZqH~!xBSkky=V%3+9L%J(uG6f1Nv#h{;N7q#HM<jhcvUy{MlU!yPI*(O
z(`i&l;pTz+!_BGAt7<u1 at -&N`Fxn0t{)OQ+y!9yFMTR?;PKp@{?FN7S`*?w4KPF&J
zvI4Bg&pTcE(3im<Ze37<3*W8>A+N^)f3k7Q6}&vULe)Onp(Kuo1^Q!Td|OdK_94#f
ze)A<(fR2sXZS2dMbeG#Wk`|=sfLhNx0f+S%6@>i64|%I1JN65#l!j8a!JiUiJ)!lL
z1_Z8nv+u3vuXP~?YZq(k7>QI4o^K$*Q<nPav3C>TPS1Va;#APkyQFiLjTCD2JOk#Y
zyLpu9B490Vy%48g-t(f+Cc1xk5r;><V)ULoT at +{N;IW+lz1sIK%fm>1S7yg1Grl?l
zU+6t39e;ecpqh`LI&m@^hvJtuqoBNUhoHwr!QDj^j!dsvqLiLXnsBc(NX)6Xf<B+{
zlPvp4{u#FzmY=*AnbVhIXb3pd($Uv>{dOeNx at tJfY7k-Vl8A0-0om)FhsvR!lCLts
z9#r#Wd8BvSTAAg-qNv+$miwI0J8^mXw%9RLe!pDWipG`{zUlzR7zPq86;rZP2^Z1J
z-NAE}G$p)Iy0P$8`~+5qtetkJ>I)hyIXkTY`lbSs!@iX{iv2pe?V-zvx?Kr7@@q}P
z4FNMwtqo(OXB|>xY#U>kXo7PpCFh20xaswvG{<EL+XF6w6KFMR7?9>+8IiZw;674w
zd{wXlP0irOMibW8;7Ficu?y%cOa}RKYOCu!k!nNB)s;mG^WowsNA2pa1DdgyQy4>$
z-f at yTO6nmz?om&J{1$DjrJ13OhA&kXvk9pIvWLuNBw_%M-LM7&^>B%;7V4d!3T at r}
zb3|djep<F4v6%M1+ZW at _sZP%NyGZgrXW8(A#b0^Dv$j5;o^{&Rk$Kc8(4FFb%5FV-
zpm)nLn)i|0p&4NuKyyfM4oup)$C*tXI;6r;zLw=pGmoaks}I+}$k=9AKU6a-KutH}
zIpnHrvw+(@7F3MMq_^jc2c_KL>_&{gt0wR$arHEVGOa(Gw3p_Trw>amP^fvkpj_6B
zC{z0gy8__a_&d$htdy=m#e&S03nwK(9#ed^{B}5G&7tq1zsTo|-#jJ_Pp32$Pn+!G
zYt?mWAE~_hkZ=BT5u~JU1<E$KKfZN(@r&w3tg~vs=5p>--#&Gs9Q`QNCLtUjQRS;y
z;!uN7H!Zcxu0WB}0AqhR`^sA2{7e!F=+ZY4MgoYTZd9gRvu^1w6=t9DxobL6e(G7I
zl6P>~HMwFA;GU#Zesg<7EF{(xprky0P7>j-bpUy9fOmyj at s-87B!QmPE^(E6)yL<X
z at 2vQ-d{g at 85RifQiz_klb4wUNaI9N>`hBo+bOm=qBnpf&#Wqf1WAJog>^-PWE`FA@
zdQ;VX|7go<eK<VfU9<z;2ABU^JOVLeA^8S2=|tJ5_}J$ee+J%45~E-Q6+auOS{;73
zI_{$6(wB6M_}A0zy`1_;2q6;yQ=6^3cJq)3Pf<_VvN%)U%J?C7UgN%YBLCmhu0j8C
zg4aWGaY}=_G(7KH$ob?6rvuaHWf^xa9Y0#i10jjO&u6dAcpUoo7wg8jEQ2N1N`vcV
zQcV*6pPkD;*1fl2qfQ<M$PBzDj!Pp_z*bn|o3G`@kEBay{FD9Vi00}lpAUP!>iWKQ
zjCRD6XUO=)(r1T_H4g4rec_iZ<szx(Y_<AUgh=|!w~K&Jn*8hWlm4?|C(CE`xxm#i
z1aDAZJuxfeMeH0~;mPbRG<Tg%Z<}X$#M7g0M6+GHWA!T;38)%VN;Ji|{l{M#n>*Xn
z%&(3s4whPLsBai($U?iNj_0|u%UHX<Tuj6{IT~72#GQ>4*q0?O36zqKg!K2IvH1#I
zad7w7dBF+gq4eSGc(MXy$$R3&+P|=7)y9)C^BWct5+&qL?A+k6v+b1h1>-rq-G?nf
zD23LOJhc9Z9>Rma&C(<5b7MQt)*1ycU}rr8?i at jA7%FUD?z4_M!LHa7ZmN>0hO`}(
z!M at GiG}NUZ*B#Gu5YyJF6Y|}#rX8CN!O|8+GQTKi=aI^TRpXVB3pFQl5yF-B%^0IA
zgGLnkgKABDFM9o at dc<>`|EzK}TvR*^K~Lsr3}fXm?H_r(phG^EoIsM>%gQeSgW)4a
zHM5sFyB`LO2d_G#Jt8AOv`)9^e8tp`6 at QT?3_NUDuyQ8Jh37q3b{cY+sUj*xmM;I@
ziB7}AE#UZY7?t1Ixe4N(jQI>$-Jo5(8ZzA(pxk*$aC|gsGq{OM(kaaU&Sdwt7{KMM
zCSW(n*yLY!B-6-JMP?**^nQcy(3M&?$)9#e;klO`e`hDVi2)pMB<97|9!;3kHj%=!
z-MmulB`Wz6k{y}7#kpIIt_`c4l(F9ax!Y+HK%O-W5J!0nTGZJO|9#*OE<OQlua?j@
z7LFr0_j0>kn!2*%UWYrdF<pGxbfYIvOi=bJL7IA=V<w1QF3r+lDDU(8?Ql(IWC(D>
z7u at MBFElm!!N4{@NbTmjDj=m2Vwd^*)R$S47{53r=YAOrUd~Iwi6iZjKVzzWW0Bxa
zN at 1myV=>&BPI%CO1??|`9F|aZ at z@uV>p?&%*D_y}fY<k1pEPDRh(d>nx06grUl+^z
zkfWO?Wkk}u4%|&2KV&b((PYX^&^}hpXM#M9)L<6;0z2$WF#QKXF@@_<T^u!FsbV@&
z+HSjzui*UC(FDcSBXx6mVfS{NABvvTTaGzw((xB at 5AL5;U#XUc3h}_)sXM86=P{$-
zx{PCjjh^3iO>hLf9PKp7p~|^GJ at W4w0f$|5jhju2<!^w&KQ5lf=lR+dxw6T}x+9YN
z<fQWSa`WP-iY7LPZJmEW_@`ygIi%ET$*k_dYa<<&Hzrl)>C5cBAI4VOrC8e^obgO0
zfmg6Ezv#j(@VxPWYu?`HG9N>x;NGRyKm`^lg8UN<RI at JAXd>9!wu&*CDW9?OZ%E`5
z>K!_POi)v&i at UfiF7P;T=EvfXUeU8cYRE-)aO98{`v!e-6~}mtk}c`Yh+EV;3ui2!
zAG_#GepKb!o9*7LfCVpf;q7?GGUNMC`r0)QyJ8V8LFwER#(UyDh0W0!wTn87G=%(D
zIPhyA<gkD1mv%#x7k**^3A^I5@#DaKdABD9dNEB(fV`}bZd3W8mNX`{Dt^C8XQkxr
zPFtaXLOp3QuN}BNJpr!Rg8~@0&>}Dvx=YItNd^RPl&40_=>RhW2KCapnq7g<11p&G
zDvAX6CxRi{K~O24-%<Pwtr-EB{VL-oRZVZuQtVQ1qbDxys>K%oCH)26I54V(nm;%^
zgY6=#oy{0{+FRloe?l834 at 0&haFZ6nDp|gCZ85|l?YLl7&~SMx-5oto>DN&B>=-))
zq5vzA&|q{9CAPaI{;~A at xqd}%tg(dV*%PXF1*1a4ykcFMs{OVk+#CF2RTu3!Jnf_Z
zJZSg(sCobP3R!B2bB~d&`C!UsS6g30{46x~^4^}VHj~>xR+obP+{XYehN?=YPO8Hp
z*5kyW?v=Iev{eR`*30l^!J98EW|jH64R{ZI0~+6;a_IcChg>Mp^%`)3)<K)=O!Xly
zwrmulQ1B50rW7_=hG#9uE=4}KSj59BIG7L68I!tn%H at esE1>)!w`{hO^i0%TpT{Vt
z=Ec`hbaEen1t|qoX3-#4eUpkEs`<hPq&JwF{NCcbY%|2_4u-!jjpBVrTHyNU3I>eC
ztp7e48BuHTstgdg&cc~5W#+ndIk|f&!n$krw=B2prXZXS(gkhDB2;wwI6tzKd7|Xz
z^S+*@bVTs86fMkq6+Ks>@=|nsJ at Zvmc@^1iRojP-$k-ORhM(nPN+Tb;KC9a0a?8yw
zbVXp$w6^f<RUcaWOCDZXVcXq2AmV-;dhOp49u6GliBjxj!6wnvHb8%KM(2H2`1wgs
zuI265H#IfZA at Ic8ymz7YWY1qqdL2_|AD1~bnQ}T$F6X=ZI%i^1d2q|nS-tYNnhj5X
z7Ah^1vSxml9mg-ixr=Nu>l^8@`3CyBq at Yt>)$?N$Lbli8g4?aCnAM at D7X4oA$#h#E
z&7PPGJT+*c{zggduX!(9N*u#^R!~Y)PPSxwI2VShtP2yM&S&akQc7OsK at TA;5uZfn
z{}FagvAF<ky0+U>+je_u+qP}nHcoA~r?zd|?pND(_x#ypvlpA}?UT&SBr}tFAIY~{
z5=vVtEY5A=n+~mbT- at y?5aJvTMNzyBu*7pM=9ZehKCM|5Ojc*<p=HVt4aZZwtXjKA
ztaS&mZvsqqP!Z`8{2xro0o5W%{#Kj)O+c21s<n-AsAWoTUDdawO1|_p!t1m9f2q|n
z>d9wF20GDucAI`t>^01G^0a#m_1&JarqTK57*s3PvO#9ZPb9pPR at nM-Cuv@(g&03R
zUkN{#r&814LxMTQn&^s=#e<f!Q6bQ81z5Qw1g?1(Ot37>(*T-EZ|dF^E^A~j7T!$m
zSAME4FRxga9OJ1xJRkNK{p?|GY(_t3eLKCcqNx^>H-QuQ>HcD1+{N=*U7z#I8Q~Lr
zB>y|w`Q(%=F;yo)dB1MG0%*h=s1#EgM9dyKB9hjBl`6>cfAH>~IcVM$xlM}WtNR_y
z+>035+}V%gnpRRO?wil`6AP=Uji=^cN;B#fS6S1vTp at wT-Y5G|>swN7n6aXL+qCZ$
zS}8P&u^*;t-8I0-n{ZYd{nM)H=8Yj3X at fnPL3zZLelq8>NL{!{vXC2x#eZ5$I?_j<
z at ow0+K8_B8CB=?m_b0fpc;)D%{;u?6d<~~7YH_amEZs?ug0jR!7Q(y=`+V9qJHK<F
z at 9Z6yk?rooZXGfN&{+Dig7Z9fOKA4GGRVXk#=N<j7(n2#sIJD5y*d1R5mDy_O;ww-
z>Az{mn00a<dW6t80T3rLYOcW?Xif(s|6)*|%W-Wphhkj6$Zz+eF*33K5VUg%UjARK
z8SDSSnlb<8_#fjQGa)kzC-eU_PXBKoA2S;($A267{{QI9m=<sa9m^#;7{Op~2W)qD
z=<92+(!h~z-5_Bo1mK`f>AKzPYosmRAXJc67M35<hhBA8d&T9)jgIH<6?Zx1MCwYW
zsPqk-VA88A9Zby(jaMKen2IV|Aary$a&&ZdFexclX$+h>elsvB**{5*CEa)c0$?LK
z!hF~@as(IPQL42~U=v+ipsGtCHF`cZJ3e%DARJiOn;)<Z?mOV2K)ckxK;Yy7Ro!@F
zSb<7YJN=8}3tI!=TgU!AAQmzfz*SvcTX6m*pdvPca;fA3+yNkS!yqQG*A^g6z-8-M
z8bLZdKgvO3eFMY8f$<sZ+uJ$N78g?{HzxEFlRyrwF7-fVLD_<Gc7)1(wSmA<0@`zc
zBqkySkR>|WoS&A;^{n<b&>R7vy8e*`Fq0Fw8HZ*Ta8BU9X<#endmu8%Kih!*dw)nq
zpzn3~fRxB5fYXo354DNqi#qe%(9q5bu*Hd`r8xp)V-qlNGU-u<4v!8dkO23hexLx3
zxwiw~9K3}kC at Tcy=P)kRA2dZ^pnlMQxuT7cNhQJ2EdRD^x)wRZKLyxcb6`egYG(!A
z<YYhQHaf4Z1a%Co%T4~cSAJz<W at mfmgTTPd(%kCV8cJCm(hQzkT3r24%qu^U0qTH#
z7Uvjv-}u15!1N>n5GRNLJ~{eS??k0HSHQPZ!#8s<#qE<@ojXu^U^vj5R%T$|4^mf7
zpdDdAbP~<j>WBQOKQagnP2bYO5V!#xb8D0Et1g}mM8;QafB22b8StDbuyy>ezWa+C
zfc?9HXU4|ny2m%d&xKEhXfau`sp;8I?yG)YSy?w^Usggec;DE_IEcX)8MECj2H+=E
z5kl)*_#j>fi<`w8=mucZZ~aa%V)p|TaGW<O2>WVJC+b~iB?y!WAYL`zGhqVuulweg
z{;Ey>;Sc?(xc5hW`ynSivod~2%Q|NG`5A?8YHqswqyVDTQpdOjSEz&32krd9s{nuh
zSfCD&q0_bfX;mKqhw6bMb~|SOshMBUTvz}#sjxXSGP-Nk`fjoQ>@a0dbt5$OHlNgw
z{{=+yYVn<h=+i7y)gO;wUPt=l6xjFsq?eBDQsz?DUzdqpjvi=k9Qrg8h|h#^AIzgM
z=;og~<A4DfG(F?;Qn!x^=+>hLh{c;CM4w_}7<y%zVG$4k+eiD3;|Q8Q>_>tR)c9&Y
z1Z$A`is9G at luqVPq6XBsWIqI9koq0F20X>wiwqf{`TQHiIpHI=Pv_8|gb^bY05v6g
z_YYEh$G8h<r~DB!pr`IdPLDpf2Rkl&#tCdM`wxWuAL#f$(9=Jt>p#nzenh(r=(&24
zIS^kNjKIY~Wc!ppRtJF1AYCA=XBXDr-BH at Q?(D(vN7tY&jNn0ftEP1PHrIcee|-18
zT?0DPKchMNhh;8p`;0zXDMlHhtFH*U`lwCVzu?#Vs$}T|<p|AhNj}_>(#PzN4bGT?
zzZcU|;B_!ftYKVQUI!t}pw({k*lYA%adrD&zTGWvv8Vim9Rk(~{v2R5eHM{p{)A;;
z_U3Qen^pC~^+r2?!?e1)z8B$e^nLyYV;I|lel-V1cNhiuaQ1c7-MZ8Pt$!f{w|w<S
zfOo-F@)LUaulNf%g!6}k=fz(U3<kOXbTU(LEF*kkz78VpgnijF at 0xu4wDliwe!2xm
za|Qse-F^~aATRh=eqcgDr#66Tc|QQ+v%q?>!Lb(vrQg<BalOsp*T<(;Hz3SxEpPI$
zZgGIPA2RV8f1aP%ldsWtfWeA>_}8dnebCEi790h~IF^a^n?A4ecNB2 at mm^R1F7eE+
z`&qAYVA{FO1A%Tskmi>ite+%Prv^vh_n+S$3G~;`{-gocZQsEC=I76lU at Xo*!UelF
z@%)5sT_*%cT_UxB!@iU*0XhHH_u1f`p=D?vGkX8-sDAfT|66_jDgi>oKhOgUUER?B
zb*i=w7rxC<f!qhzubWsCy4CVcF+0+7wl(pT4w6l(d4O8(?I==s*P?10>A5W^hNRC&
zzHco^jFs&Ch5NyiaYi{;t5$GBN0d^3;vbDeX at YrcAu-oI-n_gxzRbWC1$`oJ6RJi$
zT~CE%XQrEN?-HJ##}q#t_#A-hdgXqiun%>PS<K37K86OXbcS&@Q at Aw5#ef8ue7NIY
zAeXl at cW?sRoe(jOc>Jz6%Cz2Ybz}eYo#Bjivrf)*J8C?LJY*WwIfSuG)P(jUq2}{+
zkh^2Q)KB54dLT$5tw~t&FEQ4?pe>Ko(#w>cBe~eE^CfO8IhUjYjBJAZ$8tilk|e1G
zs2M13s?mmMf2H9&*&<H!w`E+KpVS&Br>H|6GTh%MVGYnVH}^U6%O^j?a}Lhu9QY4(
zEu<d46b^3P(rVQb6!MS?{z;H?LPG5hCw}+16r!aorPZtFXc1!3vWA(qlIBui8bk!V
zd`QoW`>a&^prhmAr{j+)4zSGF<W0u+{CdKOy25EZg=N3Sd>3R8)QMsk!K1>!c=JHN
zL=npqwscw`>mYVoF)CAiwHAD86fBv-!1=`?vrm>wdVi;#9i0Y>29C?D#M=p*BAnoL
z!&{B- at sK{lO2evU#QC5i;VxH*If`%&3Mm>a<mG8Ei`Zf}IUxdHhj_(CKu^6jC>qXZ
zSK$nKBGOa|VdBa~Qz8{9(oNm9nS0 at BE8|x|e=cUVi5Xl`^8M`SUDbFyo>QPAmYvvP
zAXy-Ptw1<sF6pn>l at D3VC4fn>|CcGCx<&RZ7XsvrW#e3YV%8gwKL)=UhRw#1cP9$H
zv~=S<-px+vh5mQ6MN<543ssjb^<xx=R~FD`Hi1%s&3>5#Mhoad%?e<_C&Gt4+D2>9
z0i#@-yh<|f3bHy6E>0*qaj?0*(EvIwPXhE_x{SYe9AnP7dy2wD%huBria&9PwY%D7
zrBZjW0~w0SyK=Q0Ub3E^9<9dl(aY&3l7`B9Lzr58*e*YYkPgLuv?0ogk15H;5JoT;
zeqT1$&J6qg$t{qd?hLZ=kNeG at EW%vTE>R2kaalctwQ(YYDpSfjnUh2?)|=H_`TXx(
z3Q+|U#maPpR4?mclTjiQT`8h6uda4O<8~{gF;F%NZ*uPVljD*TD3qGQbm=ffQjDqX
zaZ*lH<1L2e0V<ygJ&-F^u#uNhWhCU%m``jl<_JwqDW6?seK0Kq+t~|j0(Aabcuk!u
zQ^;C%T!_BaRdw}JSol3GXkAANf&)VAIJ3c1@@D-z4 at y{vx*25MZr6;qv at i`Z(c=@T
zuZ_bC(vu0Vv2PMtVK|TxX82OMjgmq)tC5!#)HILp_1TbgCHw6=9)a3+&v at a;!B~~w
z+qZImIa}X9rI%6NesU$z_$Ij&*WJO_Awy|xQ}5?7f7{o%ZVh>Mf8h7gl+unCurj-K
zwYn=rVx2E;ILXjBwTTNi>B89;haGhV?iq0vDrMM04T<CeEEI^3%7newk~Pd&m8siJ
zlBp<d{BZeFe>0JHt<PNz@#ccZ!i#Pr?hYP|$I>g*D`rw)t9yoSkH_toFt=@dP$f4$
z?R!<XkCd8)Pdm+*G|&AaesLv9lkL8Bi@~UceL5Z|+fSd{kCWN5J=aY)Z&y)(PO<UN
zKJETCgsk+t+)1rll}fO!D5F?O&gJi^a^dDD(#an_7If-6kf65b(ruSD at V{&wtQh|^
zRCug*n0`8-qLTJWbBpU<1sy&cJlqxlGPM^ST|#R4INl)7>hZOl<;q{UE&UTS3{`O<
z7*}?cL3)YP<E4i7I&7l+nkXn=)A^D!X$?dydAM(&<H;@8d~>Zr7BkASteT;u_cGii
z-ewP3e&B8)=HD{Gqe;oPGVOgsX$YjiS1&Z)nK89)G^nwH;id$iNR^Gd{tWZmYC2SH
z_gH<c22;6#);FlYn^lTC>|$C{L*9VB^K87%vPdP>U~-RS1+738HN|`fm2#N#V2JkD
zB-*%k?_}Lx?IZq~NHLMUo)4rk1vHL41OfORG;#W<w(C3}es`t%7yNWw!OAd=ae}!&
zCxJJ(i15@~1{&Stlled!yU8qGXfQ at iK*J?=a0_?7G&yuv9m<6xf-^+OA(^BRXeR}e
z=XncsMbN-Nu}a>|tg0^M=6#x3Z6spicU>)$jTFJeScfS%jo at 5#W+9VSVMxzMW>ftf
zja4v!_72l&26Q!QMwQ7S(*b5fi?j$bUurX%B^_bou%Hx#=ehva5#DtaU>R1_i`CYl
zHeMs7rta772s_~?00hr6#LdHS0Ll5LP0GVg*0!%R0^!eC*m^e--V0j3H9d+AlhwUv
zG at 7QT4$&d&xn~(;h@)m6Yxs1LT#vGtat$Y9tTIeFhlt4y7IN=hn;O at HP^Dlv$~m`m
zs6S<i2b(7-I8vr!q%^TrXJT=*N0mi^z;y-<&ot{*`Qj#=F5`5dD0i>NJNi0W+U7Rh
z7thYhew?C<H94~QYre8r7P7>7+?m8Hi=Q9>m%7TnLi`KJv`afK6I at ob2t2^U9Q0yQ
z$9ysV%#BjdQTNv2m*>Zu&qK(4hMvbe!90Uh4iX8hlXUPF+VEx(T5+2vmB}GpUO9>g
z`ZP5Al}#HD(V&U`s08)0KgJ*LZtp6d)Y?Zy5is{PI at W%F+YRzGtKM%tZ});YFH2k@
zYfq=&5fv<HWC{qkG2uBQHg6kFmK#saj^uu=m>{zPwP_J9{W|E}q(Kym?%Ou;wc3^R
zRm3&FO0Xmlh*4!aa6PS}ZAPvmAIX8z5<gi)k@#xB3tla*sEr6Tsj2D#a#;Mlt-*Rd
zosjrpoZ{nVu*M{5&;AnXu^se2QvCgty))6s)K*ha{tSz=S=ENVr+ at YVm)sJ}N}
zku{9c2!6vt_}3P6P)UJ(q*grHAeITH%Fo=)pFrL*HffOYlFyhSDy;w?&$c+uKjCNQ
z{(hP~RmL)TKh*PUqY_2119bjji4Zzavd8#{%E%V+B%!Rk%4`~@9?~H2)|Ha|rw)tq
zBqXo?HE33JSV7ci{`$ZbZ-#0ELPlU|fQ-RUsV9mqbZ>8ip3ax%{=*R(Q!C)DRcalJ
zcFHg%xp6%RH$ofgbWMBst1K-_5Iu<zW}auNdCdanyktmC5;KjqPTlTeJ5vbpzLYZ7
zmL$u_+`e1+Sa+9qKGN+NKDd~DqlQq7&rxf|Ygbu at mIKQrw;fBuh7>uB4OZygMxeME
zTWEM>FHX_uAhb=KY4WdYoaRLj_JV)mko9L`tMp%$^iWQozstfDkp;aIIu?hT?}8=A
zuCEG(xl&5M14(tyqDr`COdkUSiFa3)80GsZDfv}mmA;~l8gboae(`i$oqtBwC=0$X
z=0D349GAC{jI}nKB_Nd(p4%yM%e>uT8|t7a2@}5 at p1%za$LJ`W;8r|Bo^N;wO5pw4
zb5zMFfybEW%1Jw%&FL6!+Ui!hl3zzZaKn;d^9bKqY6Jvq!=Lk}E!|{)ny)HnT)|x>
z=9?TjJ0R^@CWazgy)=rGFCtN&|BCE7BE4Ac)y32(#i at 1O#CzMz#vWHcIvex{J+?j+
z at Vk2OgBf+$<Vw at mx7?XLl4vvg64{GCGoiV6I?fJR-u8dmmNUnTqHjL39pA2dm=5*j
z`X}Fa&pzQH<|$9dluUlXLG>X2H_!@8a^B}n{p}WkGlD>LJTs9eLxoxTXjeI6zF2+;
zj?0zLl&N6LnBdd%Ub1?J%fk%+ME-j&D;Cki6TK5W!3KLJ%1ad?+%#0L5xRZ4Wni#}
ztHY{W6Y9bf5_*c{s6T76RaD{|J<R&LM+7Du$bYt*=1og`O<5Lj!%TYdkM<9a?LPf9
z^c=8GJcRqLlo}p9A~8PnB2jq}Z%&4CA+UY>V)inDj|;p&w7$kC?w}>_`UxnGIH{j&
zVj5o)t>sLs$$h^5UGg+$HsNA;qnR|SEHBIP>&8<W4{W{7R9nPfZ<(7#I7gH{eNiXP
z!=REezYXeK&F(ISOoH=;4g5Z#OzHOA*-$Z*f5S^{L2Knev;!Vb%N1btOMLvLA_^O+
zJPO2?D~`7Z(~QBw{C3%i8ckKO_9n-7kSji9 at N-QmP)mMS|1)@<n%|_zo+^CFeVX#_
zQX^X`n$e)n#a!=bTOCH@?5WUqNf9ICGiqh^JJ?x9dLtxlAlhxsRBqfNY?Z=|CUE<9
z>`F?0lb$$=G3I{EZCsH`h%wBX10swFFjc>Q at x|=;Zv0vl8&OFiAAKY;xI*71&<(Fk
zL#pa13l$Uz$&N>j;8^f#+WyVblv4nYh4=&x$S8W-Te>Yvfa}@0y=oJfT+x6gF!W6J
zg-*;jOu#-SupjyUyZ?G_JT6e!%=NSyEyMaP6R05$(m9N`Du99G$+QyU-VHRv^oa&G
z+7_xedKM&5kW(hfpvJ`ZE;qnqx`NMdG&e`X*1{z6%)D+AdbGDoijz5+;RWNdZ#MU5
zg1)gjn79=8ckzn6LNTK4Z0j(aL9vU|aM;Xh1~tN}1w0_GXXh*T!bpP_z7Oq8qQPxp
z9C--zjJ6o=v+CLIP6j;}_b5;@P(*bR`Y!&lwNSc<`5g?{s;<f%=)N+;%mp at CQ8z`w
zGg`@ZWc$U>N^Uk+KrSGtp+#kUi<F;<!G*Pe&t-fG#}+EP49RdN;C1<l3fm{-W7aV!
z0*hBLR(O9w&9L2Kb7oC$?S at w^5&1d213Zo5q_V<^yh at om&DQI!Jh5^N{5fs0qBq#c
za{8|uY4<`bHY9eaQ>&>AVaRfEc_O%;f!4unzM!2O5>I*{R^koxQwy85)cQwFz%SzB
z+}!F-pEQ<7jSTW)Pkao<@tar*wA>RC_Kazt_0^=scySoWmhob##Ce+M@@cf}(p at vj
z9ZSp4N8gTWdz*#p>UeemxOCn8CTtwS6g&QSr9{6#0_+b7qt`j4VSgkw?(c1WJL#5j
zI>-`s1^-aoKqKfHv?rYA^iTyt^9q4F>}&bL)WwAJ8tJ_dn5~#q%f9;#Ah9YHWdEeG
zIbj at cx-l;B%p0aUIiy(8LqH5V`BhVQbq`kk$6A*YNd>Fb-_-i?@3US-;STMWWM`J5
zEnc7foOD<k#iz5+t2WTvJ|HHC`F)LX><P-EJ6hk(y>I05pwVUL(1A1W`*YPqnxKr@
zNMl4^^R!Zevsu-z_89S?j~P at n_%N6;w=|m#UTMCwoAoOxqHcf%HN2oyV7N$P=GAOm
zQXNOoQ4J(ccZ`zHURGMSo?r&i*#ehWG81;GU33o8&{&e*CPW(!N#T5MGH}$nwk-Um
zy(0|(&mO9I!)Sa2aKJcI2MIvdv}2HftsR2Mlm+{0vQskUlIwjt6T at RPm<$o*{oArl
zx5M0Fa_}Y+G?^2S6kY7g!th*DIQv|;lV2b;k+P^jjd$JS7ukFZSpoYHt~qoPdpchY
z8v-8}fxQCL=`cvJAJl_T_vmd_a@>WECK5mF`{#Y&1O`zo8e&nu<k0SobJE~p8!}Ei
z-`yk|cUClNeOhFv*1AZ$BNfu6_WIGsK8uS#V`R=vh?^9pxBVzOQjeW1Oqnh~3!F5f
zEuRFBC3S?^VBU at mRQe%2ldgr_!__=mM}K$u+0pZ8|1N0Wd-+Hz;D*v|YdRbSJ2}Xu
zRnJodnF9gr$Wv%?j<mN)tH5yrBW1!RbLrz<1Ib-!$TQO3&`QQ-w4>ERe6jV5c6ASj
zA8?a1cJnc{ao4>w;t#zf$@q^N at nZOd0YG+qhJbndk$vXVR|5<(qIY9B7oE?;k#C71
ziyV+Rm0GQMP^K+9d{u~9YB%wEVUNKiWCD^8n$6#I at i9Lk23M`xy!<6z#q|zr?DKjd
z&v)9 at K;d-GYjo2eM&)VUTqt)aRoR99m4d1(N)BQw2FZT#l#(LE+$*aDd-CVc9L0bE
zi at 6RbZ;Oq$n^)oq&y)yF+mX<HL3qg{yWFik at T-RXj{X%pEp*!3+)@i}zLC@&r$@cu
zv3<_wYU*dg2eI{rd7(v-!J9%o7yNcT at 7!G8<a57FqI*#(_^^qAP~dL!zFm(yykKeE
zeg+FzgzF&3I}&_u&f~Yt)_Wt`{xviz?*yAW_k5yXBDFbe)?-CqgS1D^{fLgJ`pdw~
z`K^5Jx5L+Nmp10 at V5a)<wriKB-uMYsS#?@u9{(v*8Vo=(8;z_8o*B<J(M|68&-}Qb
z@`2cy&I)-=5Cu=bzt3Zsj0jsdsS{zeh<*#k&RsJ&zA at Ipm28923_W<7b~ScS2fG*8
z+wU!@w`7dCyTV4_0+$Hr^Ub8rTuA@%-+wce?jPVDKR9OAj+AEKa3H2+$>Lmj=Y(7T
zpcA|+OcLO`L`-%E4NL2UB&^*CU|ODOLc&B31gSNFXrYU7!&L7DF~GJ9Gx%lY$12M@
zu5;!kA0NAy^(c!P$t48azb`|ILLeedJNWm!Cu8K5T}~pRO0q9fyK at Wk;g{xaM-Y3y
zl(okHJj at ud14ls-z$EZLxt7i*Pz&hPzVJ3QUC^#ZO95ub<(IIiFM~%u at egGQB-d&s
zmc-tqs$=HmdllK+$42^@U=dCzyR&`CofdRpFGn8cYQJGNsU<pHbC*?X2 at I0%fQBsr
zaeq7WSg6M1NAe|9WnwKgQOebe$`;5TbiLdzy%LL+C30?5JQVLgr+fBciL*C4YgALQ
z1D!U|qv5MP*ZSBI8fz2xW6_xa>FB*>y at hNF!5K!R2=&e{U*iFoHAQQrfxJ`@p1Q8#
zWwDsmFrXDL=egb82KG5C!WJ4XoW6c5JBO at Mo+M}H>DTkW at W4tE&QL|a=zIJKX*HxU
zRgLjur6CmKN!dL7kJN4>?Ijj(M=Oc?+lBPFu+a6hGrV}2Z$xcgo!w$hYriLnR`JGX
z%@m5H--v!sTnrC3q15m3l-=a9!tn8TEUM|H8;ivmaL?S^rfVf&_*854BeVuM;|kEe
zZk^l2Pra&g;0q#1MRA*DRSk%nGG8w1ogL5%oOGr&%8z*iy7b=Kx!9)0Kze{07dSUp
z3hj`eAJX4o*+g1)T0I;eI`n05Fi>+%_%Et``iW`?KjVy at 8e(v69|O)ox%U_BhPjsW
z=o at YxaU=ir*{Qz8{HDHGnI;t92Yq|@)*TZ`Jl3+gG!K!NKcnt<?Vzy+!PdQbg(?6r
z_ at gox^p<RudHPnYH4s;fjN^C_EIolUcd#Z^nfJUrU_5|64X!NXfgYe#^Leb<vo^b+
z1t4D69lby{ttAkkv<So1p-JXYdo^{#fWZir?{JjdMyF3iAY(FxL%tI;Y5^0rcRh;P
z^c2N?$9&R`2Fm|NryPxFt*cPYZ>hv(Q=?L%7R6hNUhKSoJ)S&#EF0q7+%Iloc3;h+
z-dDcDt0o%J8YhB-4s8SfY7(4}sHTO1gZh$YmjX_y_15<DRzQcy8rlpmqFDa+1U;Mt
z-T51eaIM at gf|MGcDo*-*+a(8WjJ at NgN7AEX^{#H80^cg{2tsnc3|vipjzA3_RnZ}u
z;4bz2#^0RWCY2%c at tfv0RPqHw2|)zzmIiP+Nu*X2!FI3QQ57>2-o!X~`EMX*=}L6L
zZg>pzCqAKSv_y0~)?5Qg;<FeZiR_g>6$SCH5Y1m1=@uh*y_ at t60Kdj#B!ibw6q{6I
z<(lmkaSX&IV@#pO>3)PFQLo+UWKiAIy{BIf2;NG26{P4NXGXCE^)P!B^-%kinP at Sb
zT;Eh%NhmaKLaA>7K}uWKTyIA;{@+}#(OivNpjk3VB|UUD%gM7ACPnvx8RC_}P--T9
zSHcIS>RkG#Vw)T1u<J?{vy3z!FT+iOU31FfU|3vq|EjE|wVqV2Pg!qpKtuV5n*D+W
z5^THfY%o$Mn-5G*$Hx9 at -DQH0#j=|d0k-)>(qgWvqN2ETIK*M`{n>WO#G?e{l=8+-
zF=cB;SDe3CdjsOwz_&~;$P^ZL{g<K6xOefhc~nEfve8TBF`N&FM-+{m+_?#71s%tq
zWg8$`F4uGo<}E5cg0s*|x~A&Pp(Dv~r2mEL_$X484Ub%2lvb$DJU_s92P>zs at K3jn
z4OXkrfH8T_YG^lKW}Y#uJ#5q#wrrC=d&nZR^RD;@_^;>Qc#jlSlPp8On?17!ZSXZc
zsa+~h*RJXEtORdxbY;EB6A0bkHkX<;%*W@)-=IeqZqPooogO<+4Rf*TS9xdzI+txL
z{Sxk2c5J(#KE)2mcaMkF)>;Dd({BrHQ$I}B0$K-p$*-rbxz$xyHqR1rXUisg7nmPf
zF+77-KWKlOrF#Q7#;{Ad1V!E#8I9bc2t<-zOA%P*_k{Ndhj|rK)3)A4oAOJwlMG~L
z*haC_45d|2MMyO5aAq?Rmz;~PbV-eyE)JzdubcYMX(dd0<bP_|biL&0JcWx<Yp?KJ
zOe%djtsnyOC9G>hr;I!b6n6qUCR&2Zp_f+NFrp6&;+O64#yw~e(@<c0+^I95%+`^d
znXg-#;ycRXqfDOGNu(C+d%0Ur&RMLdp^R#byvy_qU69nZ424-GoY7(Io*a;LjjGT+
zmoCM08<dpl2riJRouyg<e0D4|5^K`T1Q|`^`F~`_`AF%iW({XbyPj<MxH!tcXuYnM
z(q`Bi(t^>c-_hBt(mP>(PO04zr7w<7d4?{Gqd3y!c;q(vJ2TLjm)VJwk{^eAuqLk&
z^Nh<SdK9nkvP-!WVOz?Pv8EybzOGLy at S_PB$<|gIgM at r)mi-@?9sYd{bg~T$5jh1E
zle=77(IfrM!oU1UWn at OfEsKV>Zs%=9=^hcnl}|~~RSQoKL7^%^wRNIlvCf(-$7}7T
z^QrNbUSJMR;Yyjw6O}F3mhWAb$XMSLtKIN?y9Fa;Z*32-2cU6SN&n^NC1pJdd}pN1
zp;4wUA)M`vhOM<DDpN<7rf%Hc?Fn5TPxRpW|N1w8 at 9FZg+A&S((Q0q%`nv@*z?&6a
zNA5Q8D`)2Y2<<MRU_ehF_d?RLMHC&4K~KuEDbkr_)yMPW&Q1})0{$2z4P->h{A=9i
zN at J%2Q|BVys>pd2n11x;BIh$%B!Ox04f-po-5XK{ec-GD&DZ!C?Tu|be`a7f;WU)E
zc6%tBDry&Au&SW`$PW|BuU*iEmOeebfGkErdfghu{B`dg#fhXgm!|T!p}jPaxjjlv
zQ|Mx&(!Ye>={3Sb^J@}g^1-gT73QO2Ql;P%6|Q|xTD;ZWEl}xa9#+~UxFy55Wm9Ut
zE?3|kQgMxg&pPG1Rv%avX$Qg=GmRlUB1$E_iZxcHMH(T{r}x6whI8qeZOWgTEU;2H
zog5gZ8zT~EK}t=<eid}=#Y-wUg6{<bSGX6#Q119tLFqv3m-OFsh!fBS5qr<2fp>Wo
zQt2*EM5{bE#4t&`qS8b77w*>8!c*c&hP~Cy1;~G&LWZH?M|+=H<rPg%svl(GDCb6A
zxklhPHxRkd^Kh7o0A(y!(XGEg$3Z`tta2l(V$o1T7anWDiaZCxS)#7TYzG^r9=W76
z=Bu0&GgbF at P_i-Tu+y}p&XxLe_La5*h`}JMIf-Vd=LWB04+nh|5Sq~#@zj`B5LPNp
zBU&C7+27b%H&18k1?3>DF-JV8Zm_LCY%Jd>Dxc~F=P-MWdAlQsHecrKXM;85jHnfu
zu%M}Jsrgfj*^u~BG;7Zw94Hw_<1wc85cUayTZwJfWY(-I8CP13J&6#xvV!zgcKz at -
z`ehC~=(pRT*nGl7$j>=Y>U-Z=gMX4kSEjXC9SWR>HFbi}WmUD58ML{op9k=r3%^S4
zrV!18VVV)N9+vSi2u8`#jXbqROGEPVJ3GhP4N<*jtFJ)S*W4o<krfH at LhbZjP{0w&
z7BU^EjQ+G>bj_^)2Heu{NEf?4x>WKXR=g_75dZZiSdw;WOf-Y%e6!+i29?tfT|kn>
z2s at a_?A~Z&UjE>EFK_8o7lqQuio42ra4lh*>L|MBUYSOO8iwiAlR7krw17AXXbeM<
zsfr|HNywcHrrSiMkUfVz<0y!M*7T{;@v>X}6dxD9<LX%7f#{f_Z&I1wL4sS{XM7Js
z3TxwkYa;G!Ad8qy7{yQ9?RJb9jN<FwJ7A}bqu*drWXs{J65BYL$BH5RSLAo=B^>GE
z_M=9>!BkVlVfF4cT4zYz*}{Z`sDyO{I}rZp75h>Sp at eg9&#-H<E(KYN7MlfTUj(Wv
z!sk1KRf#M5)vr)X#vFZnsPfya#Mr*3 at A^n3**l1+p4|(FZo=%TBkKuXh7+Sx^j at 7S
zyVK5JlQNs(HR>{y7MP5HC3C1KHGp$t(@@6V(3yDd3j-NbLdr|?jA0Yu(_!gg2j6C0
zl0d~4TphCVT_4n56ymZ9g8I$5lY5RtBPpr05{I&2k&a@<I_O5a3^ZQKiDZ7KVB5KK
zmny|mS9Hd$A)IE4I;}}*P#=llD}P~9jf+?Rp8zx>q%*r$$74*S(_Q}~B85`99&s&f
zK)Kl>O>lzrd3)oI^l>OWU|ytN2Bp|BUhOB20G_&8P`LjXt{@F&!!mGJ%VR;%ke#?8
zmb~sO$cEnLfGlPF&)e&|CinbkalGSN>t()=R2&OawjKnaOQu|?ZffjwqST|CYCj=@
z%E<aJM+?~|<%WyRx&p7bJ}Lw=KSS(}(5*G&h1dsf(3mkH%oWAU%OmQg)Quq{Qj;HJ
zc9U=)x^gQE3^c9>3|7u7?meB47py=*+2Yqb+)<*l$IzzXveAghs41Ian5xQ;lqquC
zS1#7?65pKzQ<mGxsr-Om+K?dNM9OcL{tLLC6VUL#g)n;;J~64|<5}y}_7>WYu%J?O
znvdl6qvW}a^NPdBbn)NjO?jm#4ng4W?EIIlOCQhy)K9)BEe-8KLNNS}$sFf==pH^s
ztWEU9uO0d<UK#gBH4kd*e{&vndK-W;=S&uiVpYdTy#dgSe3t$Vh0wL6xy}Q?@QRV^
zq?REYOsQSr*s at 2T#uG+Df9_B}u69AM&$Ch|)(=HABa;x1En0aq1>VxDh)t{mc}y41
zHlM}2EuN|M2T=A_$DWXr7@@p%<(NU{MZ)q9sj_EG&?pixnh&JF<KWPi^)WtV)}?Un
zQHc^3%-9uIaQgQjhnjGgHhX`h9=7j#s67 at Zb`OoU4s_Kb5eU5|NbS?dV9o|XU4Uyk
zRxwuajv0J#FdWKyD7>Y)9`*L8ull*~4&o=ni?zH~lk+6#3B2RQh(sdRe07wW5-{FN
zBqkK=mq_s~)&Jt4jg!5t6)>~AgqaF&@Z#|B7c{()q<Y~i#vkP+m>u>|sE-ANHqumx
zqH=O`So0RH`e7a^{}Cuk2*{UBhTqH86j9dBoE{sxeh$%-R&G!e<swO!^2ge<ZNX#d
z>NRD)2PW5(>j*J#DKdaE-OAcu=0K|hM>0plwW*I{N(=5nB7GJE444%5V9Dy>1Z?^a
zIPK`q-b)A||0GOHHjGYED at 0h>`zu-Irj1Vnc{4oEB-<Sw9HgabiB{TL&u^GTjVXE(
z`*64;d-ef=;nZQAl*_P=_XzTzDnda*Q5-pLxsg0Frmv$0;eOj{&kV361_&J1OP0LO
zy at Eo!f7})7kt+NCDMSbzg%FF%*70xyZv>@WE$k`4z$<p$2SxsjdK at o4>Kpj;t8oe1
zD-EZB^ui?*FJYxnvAro~Hmk$KSrh?0F8memlLCXrt%d!9LZj$!*ONX2F)l^k6m62b
zVUAZ0e1>B;7EFKohBSz<Bt0#nAO7YwV7YC1=u)kBj~HbNl#sCvm!iTf+4AVXt&D!W
zOz30B_sb6sG{+lJP(GkNCGRrRRW?fviOY3U>6_IA!l+7|ez&b)Gi?p4Sl+jWoa}If
zqIssLwB;v&v}K>1vk at a%a>~lwbUT|WyNy}oYcDk~-fXQeZ|1xXAP*B-e^m74^c+Q7
zjH6jrdDcei7M5(s&kgTBO0)-}n+MLc{r7G?KXtIsNlXsF^sZc%14N8~-Tiyyma13!
zn`Ja{Z^U>FEc`pgy^f5NxG^)2TKrGSLAlr99NmjV<l1c-{Y6}(BF`gaAbHl^YG##E
zI^Z#FlSM|So3IRRaUCBzYkR*qq2M#b$JoF_op at a<kGp4&vdCbO?c|i5b*4H;^%4vk
zn5Aso<Puz>>57Ah#+pR((~6xQ%J<C$YLVmyF5 at PMzD?2J3lqE{D{n~igb95WH)o at 7
zx?a9;=}v<q9R}^;g4KRQ<%t0gDfZd)9scnt_JEh!KE)tD-=g<tXvi1Jd7s0`fDo4x
zG}f_O^UhZ+W0G%ol%zg4Bb2KCGx6WyTSRiiW?(b^p5#F!xjJE}y3?aWP{p*oLr$&Y
zg?z`vlY`gZ=MhQ_eCk=T2u4UKWK|cD9st@*63i^c<{}HTkl}Bdoifs-G}hx?GZ&`@
zT^_EKVBDUc^qN_h?j#u5e2FD4ZT^)qtc1N?L*9I3MPW08LS?v(&p8^3V(SZf=vea1
zp1Xv(s{^qa8Z?k(d=G9mOnA#_s6?4F{Z at LgjUjODVuSZ?gnJg(;Jf_9%S84IJCsr<
zkH0ojvz0i(SI_VkJy9lIF60$vS+Zx+O9b8tD-{|+Z2-H<s{*ETAK5X`ohhktMk}j~
z_lF7{wdU<AzhhXiF2FYq+uJ^Ipkc>ZU(7IC*EoAzL}@FuT{$_?E!HA}umu)?9x^X$
zefza(17W4T%`(X;pPeU-tWB6F)6?kiwI8pfSHcyq0ho6=39K*V-WL%pvSQsDYqsLJ
zU&_cfw7*s)ydR|Gdim2A<$Pv<18+*X9EAKG4^ANNhlfzq at agz+I-AqrR>f2CM=2_&
z8-K=;n4=)qV%s?N<d$*t&V%_Ynp|^yPXz;T0wrOcK>+xJd|#v|xijU5087kqbvpx;
z+#%XSy{%|hc%T>3_dGxB=>g5$^aM3r0+T>Av+tVp+VYCF&fE8b;7BczU6~=T%(1OE
zD0!MBS}VKjAx^0h?cl{RDcjM9FV~UCmw7z;TQ*%Ye6(h$G^S<bvLVUiK8K{l1a$@3
zmg{V*U%Jb3<3^Z-WdOm;&MV#A`j_Q?EKvpP>fx1ZY0VYYI>S&&JfqYo1IffOsSx}b
z*?c%+-8pBRboJHRgA|oZm2g6*f=bM#(u`@G`jIiyUY?5cY)TI=Vrx?=Fp2qSs?@`!
z9J@^B9s|?uh~pq9)h2Wd(^ci~d$`uj8wh?I1SJL$q`#8Zkj;Fx20IDAQkMjoB3G`x
z-$U5i!QlKw!e36#<n1Lhu-E$?+TPL8pJ>Z-;e**?A8+s1Tbm_ at oivRPU6_auEkAv+
z$StMsP5u~MzsgQYk3F0{Q|Gp&tdfV;iz^y&XRrI6{w;{0XDPn>xEAjjbCZXzH3{O<
z+u~y?*xUjCkpm)n$}CQ&)sYVgBBh{BDSi3P3l=q?MHd}^FYPkwF4C!EoBEp9h14)?
zDonl#c9$4a{INpiM%;|!0nkT>G0!|b*6|z8hR~w*-54W$KuQ;j#D?yIfVgVUC|2yv
zryF%(r>{I&iS3T1VhIB}Kf+rn5MMarNl=_4&9}ED4nr~iO%AUzUYM2&yVaank1m?s
zFCl7Om?$C3r~`^x*)w~=0F;nndfT$+BD9>gt&zX&=TWBc$Eka(@#4?60Z)J3-)SaU
zGhc!>RLV>nN&BTfeA>yU at sSBtR+ZyDikp=;V1=nZ*q2Hy;9paHqixfVYK>^}g{qcK
zSjXDRQ^w1G!6B61jovAB4CT#e2FY!-vxOX(mzd<rjl3qon9b7guTktbafwT}EG6A7
zeHvE2_J2`GMekOTIpL!Bp(np8WMO7 at Shb^0-%qD6HN^{9de`i=!`5y97h1*e$g6l~
z)aFI7ZAtrknzeAQv>@u{O}C579t<1$GOr|*KoOZQs|iM(oKw(^4}Kdzzo^XDR)Guj
zAY+<Ow^K{V!5V9aHs8Q#mN^bS1lCT^FYMQ_+#AzUiVuvwU_*F*v3*pw*S)r at p-Ubf
zR-g|2$%*|mt~N^8^(r=@RD*lmTu9~L2Na18s5}o~@Dj(Vt1z=M)1=KT`MHIO7sE9e
zE){0#=jdT55gPS4T3Llj%#%%C_w1LCVW>GE%nsG654XpF8Ayz$J9b0Esqb|t+B^hN
z!f{_q|En_^U>&g48<(5~?U4ZBn!Yc@&aOKjkWL%;T0N9BAYAMOUvMp+I0kt*yrY<^
zcAySp)>2jU=cbhBv~LoTM)HcftvG8F$8l#WI{qmIV%XizcEs$O)WqSh^%fnvX{te|
zbP&)r!XTL$AVU3yc<($B7vP~R#?t#WuwD&kbiX5~7)n?`W{B{YQ3msL$E<7M at tadW
zc=aYG*>zV_5NCf|?{FhUKK25ui)3P*W4 at p)f3_uhZ?8ycv=i$i$_%y$uRpK&k?7!=
zVTR9j%sS{{AVo-3GAM~&G_XkoHY=%?DGox{w3T^yugAtiYf(nS(lEzrs|GlJ`50u=
zjxwa^ew6rFW8?2ZC#tP$Bl;@&C+onxy~rHmTZ)`~=p4dew=uJoEXNkG?k&OZ#>yR`
zvT~oaZ{mB~3W#giM7pI;)&c`lER~7eMC9O+o?WjK&wcBG{t;dyJorO(<g2;w&<IBK
zSiE+d(?!7=f&rMr6>L?H=SFex!0;XPVQVDta_|1_kD~#M^XI7!6b7`IH)!r`^lTd(
zABfo48*CGlOEu1BNoXT1B3Z at vh@@z%_ntq+k~i}2%JtgN6v7+QJjY-vy;mq=&uJ*c
zy-H>>pH90{NhbRM#y@#n at p8t-D8x-_tFZ}^eZ9LEpD82u8rUg0)~`%YHM+>9W*6BW
z-X9uK at Yep!_4HtlztY;uiwjwbzqtOG=k@&~RmON)kZ(XA%WMTIsDr^^e%o|qsv*=u
z4yKpH<O90<>aAN7x*2s>Kn+vPIidHIf8IzMFKENKpS=0sOTbAPidWpjW74wRIV*<3
zA)iIPWkIZqKyc~1a@!HAX{ntKnLr at xI+ODcbk>AcUcQQy`VD6r$-aV(RK^Qj=&2Vj
z(z~cI<g>~k`bqXlTe6#)+lYcQndffN3o1{!nFls+I4B-=4s>~MT|zsioFJ2nb1?e$
z6#T&USTKF#I>ce5jj;)53>~1?=Pl3wWFm+%v#ileq3y{p?o8wW<?2;tpvQLYX*ux4
zGN&~)Az$!aw`j)-SbS#Cu7$nJJxb^E(&___O6zte8|y&~gwDmuA6c!Il{!4V-Y{gR
zP_caPk9=~CGSZD~aQ;T&n06GM5a5x}L at IugmqN#Y1UrI)f+QU|y!*PobNy9qNoLrQ
zq>B3+R!@-dI98!n=X$ckN9p8VBe7x}J}7F_*F$Riis~i{vuoUiI50_j+|tffNl%Gf
zG1dG`jum;B!V#J1&o&gsIkIJa$=+$-98!or>>-=LQ|U}#lQPFCTR9I3XIB~vu%>!~
zhlZ;%Pd-zQ6YN7G7hlfBeZ2U-XBqWZyE0aiS-{vnwXz0F9b?`@`cl>;ewX_hErhZW
zFD?qH(Lvc^jQJBTl*?g65uSv&S6T`^HQ7%3X0<OxZjtf_Ek;VAut#DjiG09iHHpdH
zvi8VYPpIaU;LHdOpgg&#WeFZuBkvV7WqykZf0nGUS}Z6PM+UKUrzn6`%H36q`Q{)B
z#e;lhH%WbO*}R#kUgWb6mS9$np~R?z6{h>kFxnHO?CP3t-oj(qNXX2)5zdrvlh0k&
zI!_D&5ulN^lZ55+QWArbZ<5_}?W9>8R0Xq;h19P;D7}_M5$vhqq#lqI<y!4;53TCs
zp4m5NR2F_j>yaBR#DrxtEVfUQ;<E>}tRe>Os#!}28h|<@_wVXGatVp!)|gSpbvL3Q
z>h;nduM?S>?{V`yxM63uxsN-qW1O=Q2aBuSD4w8RT^?Zm+vkGuOFuP3=%1g<T^l9D
z3%{k-Np?KtA*nv~0oHbqrdPZ;@>^B$<s+~0yluMYrlR4I#tVC at 9i{n0!f(rUWDDe&
z(PV!a!yB758Fy6-)F?m0dl_avAu)Qe*T(I$>J_E`hO{?&x5Q(hrQj^b7y!e|H2TzG
zP3*H|RcI>QXRVCfk^;E-e%wUZFp?BpN0$mTNKh=9TrF0y0qvhfg_6a at knxc63h&@!
zkV{N_oN(~0-8ETD0^LNUyL5=r&(&*6MdCkKsdLQ7$^uUDN(P`k<%9 at kN%je(K=2Lc
z)bp=UH2Wgmwi+qE(?@s}<?oE0O$-jvnQz+$+2%4V@|5=Mx*_N%tO&A4j;R}AU(77;
zsQ0MYO?Cc(Wf^KYBR7US at CUR-zC~S^^CL$ZAm2Q at ZiEpuoI7~@btXZr^1Uq4o1<_W
ze_H`+-P+XUSK2Mx9kEWJMQq<UHASrL#wKr`eW-T at Be(HE+4AV7ytnLO=Hp;FJOpOX
zH#tf08pI}IZmDlzgESN-Yi at w0J%d}nA$!>l^}stAd4vz^%%ZV0ifgiBop8S!M1s1c
zxpxd6 at 6iA%6sDZkNNa+ev?h;1T!Xj_n-c&I-uHN)K{3k=65T)=y}v3t0Exqv`c9}m
z`OPK>b5X1QdvLB$;8&^?PgbHpSn=&Xvk&FHDWC8KLw@(3{5mbi0FF3hlb1-c)k0Ke
zL2;qqi?U%)zeiU^o%-lxm^~Z`UAZ<r8l6~R5u}p4iKN??xAWe?!j5E-Cx7p)+)+>6
zY2h(vPgo^^B6&$m82Hsu!6ad<k7=uRdDL~)zi*tbfT at Q?NF7Ea@^Y(ypXmom))o~K
z|6p#mku1bw*33Y4&4t~1#c+$Aw#1FF8Fp+t>`(5=V3Kdur_NK{$ccuSrhE;adlzFB
z_DZOXB|5J%Sf;!#L8vJ?jqXhE!D4O2NZF9>JJR-^0PA}3fh@(8EiQeuXeFA2S71$k
z>Am-=V$vp4Rr{U4(Co7rQ?H%?Y2jh+u?myz*-|f_ZnN4)1!?_c(Pxwm5E7?F(J&W^
zRubz+x0Om>OH7;Rr6!U3u;9)3SymNB78zs@*1z!DG1!No-s~FX_iIVJuvnkJtReL$
zpCi at uf{|Dya#+U^Bi!Gl^d2zx8H<Z*4|8$pRsrVceZlj%fs3ADe3z=tn*0thi&pxK
z>DuBqyai at T^WK_Z-{!8amgIPN0Ka)5H*sT1p<Yu~n5CM at _nP0BopF+y!#*n8*8(Rc
z`6DqOsO4cz&#SW^k9nps3h`{qw!5s0X%oE*qS`cAnu<9oi%0^JS6*H06>s^KRME&h
zf39Aw+9xjE^i}6Lx<Gyd%`XOO4Ds#3X7)^GgYYmN1Ct<$TMTU%mL*A8Gq{yZEBiE{
zGz6m>pk|443~!5zw*BFv0M=b=4okeHGLc!i0D&D)^h;~b3*TG5APFU6;t%OqL!8 at 0
zT^_~@ZSUp~`C_Dlvd9i5VBakvu`8?7Xn3LIPKyKah(>Oa(6;lxgzeIrrfko9iu85e
z3CXzwuARSIj`1q1ra~9ZNBIKlGVo=>{lYC}f at EzMH%zb4VzjQF8+%8%xn7nAXj=4X
z8~2mp-~D at kV&8*KZ?ma>g^26ashRd4V!28BWRziu1&`awW~h}+Uw!?}QrS5n;}E0-
zKt}&FRW3ZH89=Z^#A7)wEX}*dFLh+-4V-Vav8ElO%S at zon#?`=d<OE)4?!ja{XCZ?
zpG>G>MiWaI$9c>gZFr`bHc9siG`dZYgY$v9%VtP$5R*+Mb0HsGyW_C3Zhk*~cGa2Z
zULP|#!nyj|QawKE@^nbau)R$j at P~!~teLe-n^M(bgt%Cx8Wxz#(skSJ36-r3{#AXB
zv7KT=;ucq3G(znz%p%xVRx;rz6b%LH=(q+}rakAZICV2WkM=AC5tr?RdvBnIv>`Bs
zEl$s5fT_lPN<YPX!(-R&`^cxxpotxy7FID!t9RHPP)fOmRNKhKRA6b at w&HK%g2f|~
zlv`R|W#4k_6o&!El381EoN?pD_1G-F!NS&5e6^?&J0EdK&)O>9%btoh%*>uAo#Ci2
z`gSa_nsOY`43?YyMnFyB!ktxOL>Bsmb{<rNnGdUbADTuO&*Vi(44S&zjI?O)O#ZY*
z%;f4`H9^Q+#8U``MkOy<kiI$mWx+Vz55Z8W<<5)Q5zaeZ_bWZ#&$MRkhZM0 at 8l3hL
zX0T)?&X^=Bh&{!@&lM~YXUH^4d=Qq3jT-*W)8;X1yc)=9S>~huoWXUirPHPsU0XXx
zuax3?LmEn3)o8!ug?MS-%ip5Gtae6Szbe_=*O6T5q9>1{YQVW-o%K1oUX!r)C<IT^
z(+(Swz>i%t>1>>0hy~8FQGO{?mb~FLlnTH}0k1*JXkjL2ADW&n1HpUlCb*hN87)j)
z+zWayU4C}@SIQ)G5sp$(!9lRATrAb}uQcv=gBYB-LE{A4)vKCvgRdOxK~o->!H0 at C
zyA;`CG^)8WvvV3PF+GA39((RPUS>ErrAw-)z3d;P&r_!|rw~pgt0z(Cxmmr&2<@3a
zQiDr4jwjcAIBsIlOgvY66?TzGu|rhCl}ou$;-7Eqv~b$M)-*YY>R#tsu``rc<c!?2
zWa*?Wk+$XxY9HIkp5Uw9Sgo|3ZXNbgn)lK?NeX&i?zZG2;4QPb<P{R!UGkb0<I*yr
z0>KU=QAa^j^_x$R`=*y at Q;y_5A`Ml*I4L#_WyJL%pPiG>m0&M|?^8kP>Jv%{_sEkJ
zCe1uOSvlO}g<DM00*k~XGA9N$=#bljdKypOuMlT;+8p#PzX6XvuyKHG$#Pd_`1Kwn
zxccD at 2qPLy&bpnvT{7tkLU{wyn`5+=WhW`~6v%(7Po*cam1var)HY`VJ9NYYx^~d_
z^vCj7=A*Qr;7y;C(8uaa{KjYIpvf7G-UJ)D*jT(U&0K4~p#*>LStp at Z-?L3gXt<{Q
zYHq8qbkx;tBFRP|<gYNBgV)8*Bn0r%7NiG({G;j0i@>EgoXuM*!5*C`3juMcjtNS@
zvGtJBgpGu!5KL>BMb_`y7y!X_uXbqvmU&nI?u~3s-v)r_fc^YWf*7G|$hN76ulmdg
zwQVIC-$ePwAPrpOw~CWB2z8z?5nWxJ;3<9?DQr)E9<ipd=lRx^0#RU8`LcY~&C^I|
zxzv9Vc27IPXicL=+qUg~+qP}nwr$(CZQHhO+qVCeef%YR-a;MCr0N;|M&TT#3#`00
znN8`F8i=IK=5MRm{!OJ4PN9ROdlVHxgjc;F#$x-{3{I^j$M4dRi`LO0RW6uMi5+E3
z2UIVfv+cWOGucbXR|$H<XvM{FC$Hfrp!{dY(`8<~VrsV03(%F5;w8kZi1sK+^g}O#
zce#Y*nxGJhQuLhA5gENFSC|3Tk?+F#o+5MSknBFv&cm1*aNVjquaxmnJcw`l2L1Z_
zmrz6>P*ZKJ7(9<2)F}aNM^uyR at B$+`=gX<pNbVXB90GH$g`y1R##NhA<>EDN??|K=
z%&?MS_Q(|>{)|FH6;P<a>ERf|p;@6F%Oq#nI~@8-i-Z*gSi3Ny7H_$pZB>ja7UuBE
z-L^rt9x}F}qVt94?5+n(j7LCjykVw4QhDBgI49r^KWcQ?v=1U at jKdn<G#EqUO%!5z
zRQ4n)#PAbt5#@S_hX;KsXYN+%JDcLoE*kNb*)V6ms7~*nP1x7sNPkz332EyG-Tq)A
z7<$R31>_Y<KX_&IPF4r3Yr5Dt;SbVCoXXnz^4!Y)u+8g)St)5oN|P`5`BV`YhYVfX
z0a(1nicdDIuSP|ElX5IFNOJAA2TW?JuQ8TAt!j3u7b{`hWf->GZ(6%R8%T<GUAkZL
zq6Bq1hnfe$EfJl*sP4vGbm(q*-X1Xqqr8e<YywhCIx4V}v67XF6#h;jit at uM{K<o8
z%vN&t5Y)(280*mi5u5RQ%Mq|KrdOG$%cNhPxV<og=<up_sE4Kw!C{Q>jkvdze1S9o
z_LDa7wsQbMXBaqvYeQ`}d9Aa_2bDQYE4Z$zJqJ<3aeG@<7_a0szSR)rNuwHJTz9N3
znoJZGl7GIUP$o6i!f<7^n~PHl2zptmP04xp3c4tvw*jI`Y9O!bo|Zd?_mY3L=)g%r
z(=D3Xb7XHAELm49DTI8Wkc?$EQ{X?M0xzvnxTZt*7q#jc7Qko;j+E8I{75q5m4Mob
zf?C+5%vdf)OQ9OhF#dzuv574V{3&awU1*UIOSDNS%~r3CP!T)$sVd(su at BQxYB-}Z
zb?`=%FB4_i`Tj?psFdr?=5GW_pPJtoA&|X(e0e at 4IuPJiJg<epZNbeM|LFN=6!jDW
z``iWve=BT#0tGX$8W!ruX(RGVJqG?_WT3_ulH1PHoBu;#&2GhfIGBm8hFI7P%6FLG
z!_Fy`?^@~S)PAL|KT&@;x>=exZOI|i6eY)b7*-M at Ko_;bQE5R=^Lr3h((HHM+hRxT
z$hg`l4d2)*&t2$GNJ>s$@BevualNm&D$VJ at J){<ImnipfIG-oVuo3;_0pt<t?>42*
zMI at LkcQO)anS1f0`Yee<+Yy?#hEN5U(XL1 at A)0I#!h3a|WqK<QY at jR}j&K5>b$pH#
z4eqj=pmY>A?gGtpL&ew{jy$T7_owLw!l;Zr`k^9o?c^-qQs*PE6)IM?`DzxUABh#9
z!#14#*st}GHGw*TKF at MA94ce~QGC}NUs-ydfbloMAq(t)qQzC?20a0z%2=z_R?$#=
z!+Ox+Uj2OXRps&QiT53E*MqQ7ZYwn9GJc!{vo=;85z<5<!3yxkk*NeTsxxG;-(nXZ
zuy;KJ>$H>@sodRIq9xS52U)ODE0g+j%Lm?B^9Ph+HhM~W#eoo4QUFklU>x&#%dS+k
zH7I&-<Ykc6ui}2rsp0tBtTX0W$T*J5ZaVx|)LRW|Gf=T+I)TSBf6#MpQw5Rkfwr8H
zE_ry113QN9c_UDsr8p at lJOKLCMjG^jslZ#2t$qDQmX4igClXkP at Ju%P57c!~&#%g1
zS%8I~hy(Pj50V8GIN=C$eJ5fxeF;^N;5Rh^Gik_<d9LC#?A~!u-27;Y+nq{xa|Abw
zL2l*0WE!CzFU{Ed;Z2t!2xeQ~si)$;3-xdgZ%d!!BQLJ- at pQrmXC4qoR7L^?ol#JI
zrGFi=zRyXLEo0)jG{@~9U9>@_(O=M(B~AD&Mfi=Dp1BTib8jGy1qquRhJq~i1)t*x
zhO02MFvH?fU-m~t$Wctc8mBlDD6!QYTknN=QIA<phJHF at Cj58yf`~Z+U4gnI9p-A&
zub$OrCUQb%@U$*%(>!N;4f7~*O(^D7ZXdDX&;r97nRooJG<l=C2)FgkHG_Ro6or-P
zxe#T*#jRa_MQglGC!zIk(k}sPmFaoUmFWo37J29CV<VE+ at Bwmp`#afuh$=;_Y(j8$
z=JyzE6K5KpcSjBl$mX)})YPEVM{AkiI at PTD-V8B#L~*h8pqu(Hok!zV`)1yp{q18+
z^{RR|-FHQkS;V=*wctspix<JbeEL$qrT7MxEnIa~p1F1_=7erlgNZ>og2m>O(iBy-
zFVbX%VCET96UEZ^c<~*g`vSSD76VNJLz)fG#?pX5xBfE994eHP?~nyCsGOD+OK>!E
zOtRZSMOow8Ki5;&@7x4S%}C`??<6w)W%OIGZ3TZ*kno-OKmu5gOX=z{#egzSl`9&x
zlPgh9M0^rR*!85Jg9+PV=&f1coIlAo at nzFshD^OjL!2Q#&>Oam`v90zIR=#XP+1%+
z#qqhtO`Ew`Zw@)eAYk at aSztII7kxvlN-+!dY)EDPzdPUza;Q|tTW+i&HNFT9eND*R
z48$PgyB?+y7<V!uC8VC}rY*yl)p@^PJDvKS%j*Gye{Wl~?Cv=w?INbHGzSe+6&L-5
zCi1ZtQ7^7{482<I_TIXmoLT`v`-m;Om(&|Ab|{994C$YP;wx_k^&bXHlSP at Ee?$~v
z{of6!&vZYP*`Jy(#)L|Vy)2CmW$=z)alN at N2{N0~Ran{jNo^3~@dz`eb24v=;q*;`
zN=v@!t$)mS2cE%`FI4RNdnD&@Nb3`^!FytU;xaP#IhHSF)$##eCS_bb*uw18_=R6E
z>ziA=|CUQP;;_ozKrcBf<&Z`N=U*HQeFxx$P6pK=1Ia$to#7vttTP)UpPUX at S*rab
zbJ)@D7?fxesOLx7$EEjh$V)eb31Fy$-ryj7UKEaxj`v;Uc=A*lUe!G7+-vl;+cQz|
z#g>d^!agA4q2lo|%fb<*z1Bq~malNIa|9ECka9<irvVVnC*JlGbxJ%{+_VKS<t)8S
zPqljU|2F(Ja(Id4E~5!u7P2dKA)xS**A8YKfoNg7a4c!RaL*?JYt^P`>DafUACb5X
zAdQ-a#t at h3d3zZhm$c70Act$+XZt6DI+!5)wc99KGiUj+yF`~w?84?ju1uAb!dZVH
z-UBan$Z%DrjBBq;W`CY#GMdCeR|(Q{I!(Cjc={&N%wMy%tjv~2F{isY0PN+F1_C6L
zM at B|ny at 4_1^z6LzT9 at U;x09}7pbm9I4X!x;p!qqV2PAES7kXK(&LM}+Z!ti}GssV%
zVGBdm54@>>TFCfjJ#Ib*qX`&Z<{&f)8||BqP3nB;9rxRb2LlPZ^fMX5NNHd0bm_Um
zo}D(#Cy_`?1q+M`w^mp*iHBP>-nm|~<wgT<AKGeGlcfk%BTHPY2po}FV~t at SV2d%(
zG1KuvFcym1l^5|(3d($G;dvhIey$QCmn5Tka~QczqRHKvKXQ##tVp^cnaSymmhz=x
zp4&7?owJ~hW?&>Om at pY-V@xX0pB?hk#od&^<V9omi(UQu;ff)Lw?Y4=`E)r(YYbcQ
zumpyx0FjJlDJ-W#9&NrYE)3cre2u=_iAt!b%;#wL{IXDXwvcGrWs%LdsEJy$-0@;h
z(r<C^#c%f`Aef29 at lRb_$fkt=WjVM;NS5G&t;D{L6r?#gLe4kc%>6qKpx$+Luc_7x
zE^{xAJ8aPj!ZpfMJ)XaJibUF~^BqJQob|Q~)bJW}rG|G^eG{V)AnCBbRD=zp9+Z5r
zOpR$K3^X3HP2p3bTfYZ>LwSrho at C9ff6mx>m}2Cb0`7Eq`sQd)^C$tj{9#>;2w$}j
zy=8EUvLnjLUa68x*KTKoL}D}~oA{kGc2^+D&rQT}yN>6b?Gfm9CqlYI2k!3Hx~xMm
zK*O&+SUIO7^@tCB67;p>+Nw9+i8rh%8Dw+Wa_g(U3>d9!CFz8w%Skkr<dSTVe;B?K
zyPi;JWr^X0b(Y at y#gJ=0up~J!Y{{HCl)cQUjE8_1KPAh!sXnf-g-PCPR(h at 6b|AeZ
zqQA9*l$H)l72ZJ|bI`m1gN;wuacn7<X)c(($+>SIbBcFih4=xtV(;?a;)IKH>St82
zu)+SN#gqbT!S2+yTwyBieP}Ur^kwxFh4n}1j~bfO%-f?Eo_Hcd!G8$GaIo8AZHCl*
z++XbOt{(0G0+FSj(lzH7C4_dyO}>j+rFb#Zw+$RJd&|=obLo`)#R0BH3>3&CGo|k`
z at 0wCv>|D8pz<}Sb?c6-Nm0)Q$mnB&fYDIT#^z0wBv*7{L*YqDaxT^_EXUQogu9d9d
zwh&l at 8o6?kk$<Tq_|+lom&C(HG#Ez8FfDEKQ at 8;%LIIHP&8wc8ts at Xle`K>5k<*~<
zLlnnlXa=M)Q%2X}$EwH)5*27@;h_LL5(kqLh;~tagA!DrZ8ryecy>*bb&0s?mlfjM
zhBC at OuZzukk<;v+M^c31%-#5})HF$>wVNw)$tOup;<69{t|$IGDE*_a;j+U&|He?@
zhT{#{OrV-TBQ0vRv at wqLz#%TgL|~_JDcc)W2 at 94oTE@%2x#VZ&26Ka8xO1-;I~K*N
zUj1e at 3JGwf0Hxg!^ZT(;C^xtAwjGTsHX~&BMA&oq=uYbV-rmuOc<&D<yk$KiVcai^
z%gq)w=LRsF-OiAFTARA(oq!3njw=!I#)~c2hc=^M!ei at Fefg4l=BZ0!B21%aA*OGQ
zdkS at 84V0~BLqGG|=L*!mU%WTsr<(0elkg>|P at N92ra1yX<omQes#AHGUUpH737>Jb
zbV;`zTt`LIhm at V(>0TyNT3<t-Q?A)|IQmAT$BuZRQ$)n{JB0TV#cyS4B`3t&-wj{7
zvS`z0)0vZyd78F(o><#b4iO~Tv)YfdC?LE`tsv$Hxo39eJso357`oehmHH#;G%)yf
zQNS?X29N1eJ^DaCHZqxj`|h2GEqxy+5QPn$@IGgk5;|Yh(#ZXGe=n^g#&7J1e&X>;
z2k|S%xM)X!EmYsnj##Eyl|Y1z!D0}cPMbta2jKyLML|kSkoGJASTM_I|HS}J3)FZ#
zCi05T+SBiV2tY{l-|2aLL1PGk3ne~UtzPW%SWLGTSe9EUTnrT#L>XW`4{>J?)nO;;
z2I{PeHlN`hj&vD0Mc0F+mNKS*?#okvp9C{vt#w{oWUQ<h!#uZRFy^;3SCrS8VC2(C
z`MeF)$bf!yi(KST_)_g^JNFe1+m7odtq}wnShv;G8 at s}db4K<1OEq+gX(bhGj^?%~
z at l5zk#oq at CK`!k<>#ZtuiQO}^i(JS?oq5C>sF@=PuovMaz9V6e7k6^2UVThhQJEQg
zUIC;IeR3C`NI|T at Ke7Y#&EXp+>iWF_+eWTCIV(G8zuiB#1Swz7h=phOt8%ttbvuF;
zYIhbzF7CGDQjd5E8fHZB%L`gM8lL8Rz?b;8nTy4K(TY@$Ii5epzrubMP#qks*1RUF
zB%LrsL56T=g<o(Yen21&Y4?W7H*5`A)X)+$z`J)yi+EPB)-GLQ>A4^?T8ph7zIlJm
z!z}y)ZU#(LUcSx4zEn?7sOYmAFlbXjq6-d;sWDqw#TC{9#k(jv80tYzp}({eZS&hc
zsDPBQAZ)w{t*7Wc^eyH>O#|!5ag5dtyyrRWnLDakw>Ckh!oE0At&^&5waenEA7nI>
zOy~cQQiewNz)H#tC6upuz~`=O6)1{#Q97nfmOWqV{g5L2 at QzDtsFTa65(SIDkB4Hi
z#XA>_N%7lQS8J>mN2%50z+J))7b;!m(JENkxMx2``5?FaZY?cP?A_qdC2)l;U~xLo
z4p(CorF#Nr<n%U=)(KEejMZstj#`A>CCEf)PUVzuaFZO=;FP8&+r?K{26Y6!J+Z=U
z7Q^OT#(dXguTC6Va0ioaFVvDU>*q$Jnk+D_uK}KQ*Z`J2x0k-LK;k)#zd?kA)ZrTj
z&j~4e3E&GRROh$0$6I|VJ$df0a}T8tCjodj>B{!G3I$^0hV#?@0m<VyYr3g)ZCW}R
zI0I%me%=i5Js3PSqCx9qh#_lCD_P7>;S5%ay)F8s at E<v*b})m&^2gdbK-<57>o8pF
zOmy~JzC1DMb=@$?GHFt9*k88~Dlzxkc;dlibamRhN_uH2a#VPO!ck-|$1E~m-aDD~
zYd*3_wof9M at ADJ1cKlas(JYvEEjKpi7P{F*ai+aMS!FE375pzZjEa1$Z6^I6;3E3U
zLI0LhlLS08+q41pMUhJ at J+}9y%-f5H9M%0VQxwcL7{_Jq!@vMgwQWI0;%RswLhU{`
zLrelHAS=iqAPHG8KIkwyryyfcaE=~I!zTFvF~^QCwWdSI#^qlA3W6Iz&c7B#P-<;`
zoDYzB4`|v(GBvA7cw2&Kv3odN^kIjk$@|s#n-bbz^s13Bn#t|PD-CUQC$Vl5-bJXe
z$&}o498+Qb277KzpJEw<X=#V}6cRJIs_i2TJn6-OHyQrhV^YUBn1aDv_aEbV at vM9m
zmLp3I_ExC#u_GyN#fb5ezDeAC&S8;6hKA&=KMb)_=aDJj^~8q~U0~k>y)v;ni$a(?
z-jb&_+VloACEIM`MpO0VK#(Ag$Sk6C+7e<(H6xGG-Faw^;_keAX%1gal9)~RgJ7on
z!G?>{ZJvC`sR=|`DLPP$ZKP+Mc~xOiT3CrJkc`OeTxYz-I(H{ESlzsL33P>Vca>9n
z=N&<u?Jye1ouHKey5t964an?6Ab|sL3}m*?rk>}}pE5W9h$h{smMLkciGu4O?_}+l
zjF5!;;;2dR;gNO{)WOyh89)u9b$KArzCn{KZXnbqP{XxW2blToB;gz(KQM9;PN0ty
z2#lHd&QI&VC*$~&aCqdzVoE*47r<)&oeKnByZ=m0*D9k1&YKi6cJfpZKu8v=aGe(w
zof=UQtspp&M)C$X+6UN|BOo*yHX%)#-gD at x+lJVFPT&Ephbwk{uu<7>m=m{W4v^I!
zM>s^L&AlD9s9*@$io`YWA^6t=<dUQPG8KMRo{Zvv%%5JCcQJLyr- at QgIG^Gk1N`)&
z8-r_bj8{Gg at N4->o+A9j`9uj at L(IjZim&tCkdRgW#|B2_>?J&L$flA-RXRbdp_tZ9
z#TUKdf|ikiBS8vT<hmY^Aalf4 at q&fezLe7wOdj$GUOQWM=u1G8ws-=Wb(JLjPO>%L
z{#RBd!e>n>DzR}o6<L>){pzIPop2(d5D&cGA~Q)UFw*MlFP2CBSC_9r=w~i&jb7tI
zP6 at Wxax$S<DT`gBb6oBBo~AXb<C-oki2muJq=ZZHiyklw7NJ``j=E5f#s&zuv_-tx
zlLIZ|HH3^}+NU&`+KD!OkijucHk=BkgKtIVx?#uSp_eLhr(2+k;dP{4^9UR+hA6{o
zS|YnkjM_}-gSTMuR6AO^bv^YNiA?wDI#naRxr)w({LxR!AK?pppR73KWEdD3?LOHe
zA5VI7W}Y>f2^||~h{Z&tq^zqa`w+zsz}<qsXNiy>_{}J2Vo_)e|4V%j&z?q{Lr*RY
z9gKJg=l}{fj}ACqWA9+%;`KmT^~VdQ|I`QVPa1%5aVM=i90M?}WOTGV%bJ*CypdrI
zD9i)?_30Z$EQuVH?YzR#IrIpl@^}ekGtgW|%*a at W*Dje`+%`-KYt#>*C)l(+jFnJJ
z5yWf%WK}PX_u%@*LK at KKC2LNI$qd$$w at ay?00UBMP%V{b%#A0hFbD-Io45Q3K4puO
z=XEA$?fGX?2Sb?PCtp+<5N<ezJ|UXr1RZsT;4++5J3^=|4DCPROEyM!1pkmZs}&Nu
zE*S`7<T5yZ!RG25r<D=xg)V`zjpb2X<5}-weSUAyvNdIpEyT*E)tbj<G=@K%*3!5C
zv)S&;@5!eGA`ZyslBI6^3CKC1<@-^8!j2X4$EIwEkqZsMUZ1rM_VK9a>n|uC43WL8
zOo(q5SAr__ADBXP*<jLDrXUp}?2L0KmR_jqK_cyq>M6My(Ap8}qULi!8JKp=gyd=W
z^6q4TPu{UgUQOqJWTSsJPuNmp4R`s$`SpVQyC;W7bl?zE4byvqz<a;&G2U5g*ixzH
z(w+Hr5rv at xc0sq9w^tnauO|7!#?<R*c at IM9R#G;dtScV at U;yxwCNrqXUkXl!9 at y0r
zhn_WkClvx7I)oKXK@&c;8o>f$5DBvwqd#wP=ON446j_h4j7;(^mnvDxOV&Pg!e>3E
z_Fbe2bk0VKZ;A)JJ2KK2dK;6lmixfinYOMA@!o|_kI8?e<E?f<0fbP^X*?67(0(2U
zI5+06m|w`PlrDAZ34#uyJL>*<=<Z{1#6UY%B3?V;5LZ_6&q at nXZXI7vNBmx}`Z2yd
z<4>h0RHF_x7_l8*NyPW?#`T`(pKw)eC1D0#jTS<Q)I!Dd#)6LratSe<*#`6$-Mqm{
zZ3e`p7o(8;N}`qW1XNhFRRyui$v+2_wI>1g+hwvJLePnpPuommBPP%%{Y_1%c54+$
zQx>xq!|$LI6I|;*{7zBkp(>5{f=*FCcsGtfgwrBJyMgNcw0$j<T-L^WO2q{ZA!Jeq
z5AvI%)26?_D-s}NJ?!P1kD){}PuXS_B8q-C<M%(>D1u`>G`twSbtbQb<UE`plmjJd
z(*81~q$_Rz1}8*r3$C{PTunmk%W6duT*mkr=o#|*4vbVfWe9yb1X|EJpha0nGP_=Y
zuDqJy9{>*vZj~l515pt++<RdQq*-f3S^e$t*@Ka at F9)ck<!LM>pm?e`wVki2csvj5
zH#of=b+I&6Vj=oeNHo9P`|}#q>UNtwD%rfMF?H2isBWYJrX>|QxmHXo0BQZr^x-HJ
zBp3BW1rsUe!Av^wgu0OQr(|zc3J-x3iRH5qCGdZ`k{mzs*5-&(2$+W6#QEyU3s31J
zZgubzWGtjsN&BXW_cZaV-&mc?LFxWeYYU(8t)@V_>S2bFM at oq<<GwVbwcmXg!k)<X
z+6On<sN|YwAMMVP*<>K;KcClz(2{ZaRUbS6Sh+6)-1sQRyT3P9f`ZSlP4uWK#m%@W
z0&2<vTY%MM-AM<5K9*G2Qo`7n2ud56I7=}u-VnvUDvhcwHV$Q%k7swYy9%sGn2{4F
z!W<MgZ)JAfC0;fyLo*6Sdj9Zs3>E|z1e at ITy**Jj0A_ki=)qUZU)`<ZW^@s{fh<BY
zX+)*gWvgN1lfQCXV?lKjrvSJoP61h_s=EDJc;caa-fU~8uQihalrPY|^Ib=s1+|i`
zlptoq7Q!WHSPKTFcluPW)eez;vE_&TulFT0ZfY at _@$hAQ&J!BOQZ&^~nQ30nW3-M4
z(9ax5+JN5IBvM3CvUQ9E2>Ssry&SK^(mO0K at JlEs5{#U-AWV*1-$@}z>M%eLinYXM
ziKCRF<W93`jL`n*#Ve|t>o|)SQ|JaVP<-8a<WFewD3VHe0}teg5b*GV$uV<_nwr>S
ziaiT;{|SXrhh+eG7Vg=<_ydakdo^FynX-(-|HUYw?-akXWm7nScH4t>PeP1agvH|X
zV=(GLrNFLR#Uh}6M1%8i0%d+)-G#ay4<eWxtZ5dXBd>2yDR9v;tjx4E&htyJT&9Oq
z<F=cI&CV1!QVb-vpTsHy1rVhU1G|I$I5Y|S%)2U5alRW0G$@J5AhI%$BmIRT2=W+l
z{fYz}F()?_;o#-kop(Z4{tFp$T1I$~fQaNafV1>-{I^Db<Bss_CZ3;b;QCLO_hHqJ
zRH&t-#G)f5_#gPmsP>p=EgNp<?LjS0cr}G#kRarouRh6>@6(85;!=3s4S#Onk!-J<
zyF%aV_yK at 9Bf40R)(~}{$)v50+3b8ldwpm36A;_JzCzwpW3)bsS^nC6>pQi*^1a!A
zgP0srYJ?i!)QlJ6V|`7iuW0nj($8{FGNdo9^GzGH2Z!{DPyNArX6?XyyEXnK?CQ{6
z9ZlMMxT~m-Ssj_v^XO_MFHcHZNg^}nz$4nHAM(zJlHWxA+18)z0uBAE1JjU7fE45z
zHqhy97b8a92Jj<4GgpI&aktF9Vr#?O?gpvg(GTG>6Ds09np6tj;mBKck|}J=f2p!b
zKol=BBn at Qv-K;Z+X`!N&c(dBrZpc(uB1>BAcVHw|cJ9jGXOkB(=4VhSZ`Q!V0uab~
zHf#w9Ey7l&P8^6RtW^_yDd(1T`tq?wIyUe?uF-KGW^1R_<V5$MsK*g$iND0oVYNGL
z-|^-<cLRB*UtwsYygZ6wa;sv=(U#XT8HB*-z7ADaf1L57&%+m7*KIound~`VrB~oM
z7{IM=6?_a3g#S~ql{gmDsjF8gbqfqCRVKSb`LB=-4c~x7r{eU5+~+mG$0Qyh<BsRS
z at Fk(7DSdKN?iEd97m at F)s0*j*jcMgTJ0z{wOn|rP*WmPd5X at nNiY8+Lvk4R!2Laoj
z$-mZ!TzeVhqzdoWK_Bfyx>jj>lL4yNwLHs-0YKV&ebR>t-BDrYHZWGNni7hTs?FbO
zf+tmZg>BmOHapN1tGd|<2IBpr9$&-S;rI>AK=u=ax2EWI4hI0kf14TrHvfoWc5ci~
zOydnvbz at T3QA9Jet$W+T9tP>i#mvU at BV7x9uRpV9&<C(zhUHIbEMP~!v17!OlrXMb
zxMqV$m!>ann$GHN_rT3$!bY6=UNiK$T1383fPx$hZlton&GV*N^X(?sEk;+Gm8&Q0
z2Mtq`e+poZ+P4E!MCJb$-=bSKr`8QHp3mONjeh>{DJSn?yF#!MBpyn`*q3IkQ2j+=
zmO0x!TMK=+dAzkx+JW76`RSM1kuy*EM2YcX7lL{t1*OV+MA<{X(fFi?g{ei6r*%iZ
zKpv}AW0}H(ad0ihVdgQ#pq=@V6`4v1f)FthOEXy{Pkh1KrZ;F#8BGd?JiKs2nvXUr
z9mg-J&48HbBO5hmGu{=HeNmj4W}{TsWjJXZyA}v?<(9>k95s{GH{RZu6+yj+ at ocP-
zcp#znUM7Y_w~)7f>|u*LfU!>Q30Zo|w1|cCPqvRfY7&zV&vYRAS0Yoc=%Y4{RTZi@
zKzL9>W>^rH)mb}ofd7b=TF2njET4e4L at tqvR69N(#UhS6zm+bI|1D^zrf;EltYvL^
zXm_aVwL;oCst}psK&C3HOE6p#sBsJI9N4>`2Y)OeO;0&8_#8|Y5&mB~2<@yg-=Mw6
zCWym}0nApziEae?0EZc?0^Z?+-1c1EKCF>Y7$^n`*ld+#FDGQk02jd5B^cT$yLXt2
zTYv)v&W6e{DRhINC%5<JHh^Gm at tF|_8`Q_vYJJB}ELb*Dg$<n?us9zSpH%hN5&Gid
z7fz-WH{FIMF<8}N^kE<?pvSIONTI|->lVdB`0Q+tyfONh3TcB?XlsLi0{LTq8SH<e
znpdj)5;+MT6La`1cqFjbG`KztNLVw0V1 at m&k(O(46WERSc}q}%jHh;dF592mQ*LBM
z$&gEwO?ka$Dz(5|o7<4)xJDFmR>JK%fh8nWwhHA8SfM~)3t~A%<4M0B2mCu3?vzsn
z2WUx#yzS_Rmxm6p7AH6`EvK~@`dix4e%ori*S8vk|1J%L6-PW8lB;P=m?ne`v+myU
z*G8zFI8b~?QdHg7&;>);L>A|D^?}-8n_{(9jXFjhNw`X`u_t>TonT@=NwbXae+h{5
zBBJtHF8JT at H2ploC`rb`rotp-vXv+dHoW3jN%!KW3O#!$lZ|Am9ZOJh>&7eLCe4O$
z6*f}z9fUK>oG>fQB#*6NY7wA$7xCKl?SRB8f~T6FBkz%NN<?5D{|0(!hY7%pG!DPw
zHV+|j(vRU9GF3&Hu65#QS%~zWk+rt^YDINMfL91{%#Z{8AaTp#KIqJqh_;QG{Q-P|
zh~}qgn}deB+Ef8CfW)?v%Yxq5tCIbLkO^3cs&`My>1N&_pABQ=R%1_*KzJ4~&+c!f
zK&i9<;A3(UFOKxaJ965b+OR9wvxuB6ICTay2ZG$~)6vjUdt=4h@(hk}5=l%~O6eHF
zZJR&MnUZ-Mi4YM+Vt-nOQw_4oS$>qY8^yI1(-DPY(0<W9ffAsHU*E(t252MSt%m;l
z*{>aKdHLlBXv?ZmPZGm1-~OA%JlA&1jbmLE@?8+fj`%aH at 4qBysgV?l((RAio4vSI
z?p2AMgO$3oF+-}uxt6Af%BOU};l2QW;LS|wdG{M5Znxjw(CGJDsZVUY){0uLXl-9;
zPRhBj9-*-I?s6rlM57jieOqTITYBqUSIn*bn8jOef1w9gPispF?O0a9DqVJ4xriLd
z>O4&)=PP}TSE}**oCUyN$nN<Wr^Je%=KErB)AJaVI69AigsD9)*}SFx%(E4)kBpe+
zi0EUHCBvQUV?ZYH+S#e*ss7r&5P)Qav~*-_&mVjGymyt{yi)uVlcKGz$Pl||2$18E
zgEtptP`J^ol}pS_e#(P>5x#zR3{ZFzzh83QZ at FL<Pz?{+8DZba`5w5Zgwqkr0tMvq
zO$<?GwL^!*4EvCaTaX99A^3obXb{DAr+r;R0oqIGh$=)8%cTe{5C2Tb?||}6nP}3K
zbMrJ4hsKv@?%HNE)fUqe7nNuQvGZWlm$0te`EScY|Ca&6`acX124;G8C^~5qTQg^K
zMgmsm|4o3fF|o4|{J;1ACqQCcL6woMzu16~ii9K#kQS|pK})*0N=7m0^|7N9fQ98H
z`Q6D;NlJv`!AcMjC?Fv(lodfpPWWCt_TK)w_uOXRa&nq>*6t#|BKKVK9(I|T5fvN-
zxdvAj$g3fQQK+Gn7noAP0tXHY_3JVG)7DS|Ui|+A0J~4^quGFB5`XkOQDJZ*M~o`v
zsduH}V}LBb+yMv=`NNZ`g*DM&z#;<%82=cBjf?{-<@JJ*<>gSyV?+mf0J|y8=Kx>^
zM^K~sPV~eG_ at n_K5)u;7esAEE1qT@*Fi=33gA8>J#J^+c%faVCV1 at b{0RJEc{MJyT
zUXnorzQ4bP3&iadm`6o)`7zGJ`a6MQ4tDLM>Hbp&s<iWYQ6T?x(#ieN%`YSGe}S{|
za~gc*VQ|91xe at 5uC$aDLgB$~m{NK9*{%Lmd1Iw{r#x>mH0~_q`)c^_#6aK-ywY}Bx
zLoC~wk;8<FdI~B4LL@`aV;%s4W0hY;8vZm4@{><qq!BI;VaL3MeF`Gt$%}Ol+zl7-
zyO0tSpy=)Gt#}O4L&#OPm9q^VsfFb08QjaL3UO5ACy28{UBSMm<WT|vhaGg`0eteP
zx}j{shkQA?isol$`=#t3A3-t-5q5j;YgYPc?GyI<(WA4Ykwbz7m6-JNx1%H6!aITf
zK-psLL;lqSe+NE%fFE%$<no(&L*DBLGvWLJ_j?HW9Pm?*g5yPh?M3=Y0ziPA2m2cY
z#M+~SK;7q^yJOsbi;c?R1>J-10v|<y0|xr}{Q5MGI88yuJVLz3ecT-cN>?*etEhzd
zqJP_^G%{}Dha)2<fklQ(1O_04r(?)t`9b`ep$L&5-ck4eJ*)_F6a_H)C62gV=s|w{
z^7#Drp$h at LZ!a~mD-|NbFtgHc0<9`q6X?J at t|Jo*{E)sg?f2mZP7Uh?AM^|gHW
zE&qj~MGCuveAkRUt$;_J_2Oam0ha%<w)p>PsPVKT4}yQ}Y0^-m^Z`qfqsRHNAs*Dk
z-iL8v64leM at hN`<W&LQ<!-GKChQEq_d&>J0A<)0~IltEgb{ygVN1@^SRqel*e4M3N
zl4ERMthq)=NCFmMz%T>&<1^?cf*caOvp5HS{h87ukVFa^J<#%ddkpZKF at xP(<svci
zBm8Q7g8rsHJOLW$Fx>xz_&<c>f9^F7+Ypc=#C`yO6QifYg9Ysk?`aQ^ebRlrZ4Mp$
z+GFTj0>O4Y&ELEXv5lojTKf`J1vwUVSE0#)3fn8CxAB%O7gGS$F%F(Gh)GiT;5O%_
zt-QmdmT}P8XT`7-C&);M&X at _Dy+(`@SIziO99-Rn>e^DOxa|>`p);sxLwDXoG5YPx
zF1wegWU*~cow2qU&<-`|rG@&rxJ^ulg-56qwWuj_qMVW9iyTfH+TfwYKAf`mVwjy0
z4Mc7eAQ$gFm0 at ymW0lNdbsjIvq5y%|jYOOsRih6d%8de>O-YY*Z>hVhS7+EE;4b=M
zbc87Fim#Y{22)MuO<^}ZP=urXZHwwxAu=`y)B3OhB)E4;7Nnh at W=<W()u={>`X<+l
zDvvl{PPITEEPkQp1}9owo$U`*?|wCNwMSr+KD*R)XwK<LR^hC1ceRqB;#SW1B&o>W
z#?xgu!9TfgrYZSmDjoTgwj7#*ghwugOXg_S{VU$W3_jLJo)+LfojdM~Ah(?ZIuDj)
z99MEZ%SqxQg|ymAS>-h}B1GH8ZiH=`0tKmMVrcM1F(%%tLydHFqroF}X1d>U|JtyM
ziua!TNwr_h>=8U~g6I1x)W^}5AP*@D9B_y#CkdD?UVa$MhOwy*Vhe{FKicL}S~FC{
zX+5f*x=P{_0GE?KuOL?h1xHb|l(-!V6jw`Bqv_O{r-|T-KtHO!qtfMSCARGv?1|H&
zj4?+jga67T0a<oJlEd)E-o at vEXDMdh)1c|(&6q!pu$Qy8x8K6u({eDEs<Tm}VnOCl
zy78`QSue6zT6Oc?=3QDvuwDOe<4a;u`5w`7uIVeJHM??7Y$bxhP?38#{F+=QV`Ouf
zqhBo0k+^BR&!`~Z!ogSg at A!7ET78^kYpeukO5_d2qEw;gS=2+f^(kh5;mcp5H$!E~
zEDdOcaLv8h9h|NQ?U!-+uoi8hNDgb0{>=@)`1by8S25d*i8X0JpQn!I1glf4mzn0Q
zl39m??>#^`wKatc at P_?hi+Kzpv~6A69&i5GTJK`~q8Cv1a;x1Fg2}rCC;ZBE#^qmp
z7GJGX;IMbjiu-KXRj{|Ek~5YvEM)y~b8)#UhB_Ha#Y+Snsdws@^x;_xl_xY3lbw}5
zlDWBo&%=w6+Z@#2_b#hrTf|65M94EGPnSbCM*4;UZRf5sx(7g~W3%BfLfzMz*DHM`
ze~v^C_BiEiz<1?$bkCE7BViXEEOM{piXDJ?%WodmZ}xv*KCP|P7tLSEV4po2%SPSA
z*WB2tFS#n`<YrsRScEV#{OjH4Da at 9yL}8CX_Kg(2i>zrmXL=$+>O^#~yZ2YqW{x;%
zKx3Sq?vzr5I?Wr<H%qyjd at n?`Nm*5z#3UWz)4J9k;A4*OZ{}N1!P<QG&l$s!CHg7`
zLV8(oz31mb)@ChVa>__K+Ajg0xYSonFS7oPSD|94v^FxzYDO(;7{OR%z7!>{JlCpq
zl4N$Ard2;WFamd%a%7_Ow|t3%vy`AKIyTpKC96i_a1%-OI~)MZ at RV98ZZ??w()d`Y
zUu(6fX9K0ZiS%nku9yi4+Nx)G0ZEtmZI-sB2ZBQ!7-m1D`=UeAG|gWdEZEJX?3UY<
z+Rs|F6Y{pU<tsZwPMKUzlJ)h4dR<;V<jJ;~;{aE!N6gB0QaP)5%7G97MpbU=STj<W
zJg_jO+*`#ZW1mgqHEpMlV{h3d3KBIz^m?xkfUeCy!XZ|P?<u)RGt+^g^Cp}T^~bxn
zau!pYpC?aJ6J5SKXi;}GL3r`G#yFw&-8P^y%<RsIi)$Muv3-hm?Io12a?CRUSJkh9
zo?)O0Et^!L>aO&Y^U8r_qmL9tEZGPxW2_yhbnh&Jif5urvz|^M`@UG9)8V-sxs(uk
zqe;m6myBua2eF%8|L5kAEEbbS{cQLsTK^&@H}!}h=TRDrGg4cFGHLngH^bDwz<>?P
zy!<s((A at fS#$9*A#&Z6BAwNO-9T5+K_7u~d84Zmzq!*Bc at JbClKRULTRs+tivx<IG
zq}tW5lx?uZf7b%)l2!0IVL72yzI10K5r-S6Kzv at Bfov&!4o?-!EyWbCl!jwUJ>%fs
z&w+Xqm+#?{P at N^JsH&=L3N?}&G40XQlV;h2GjjwA?anPl<unVBMt;S;AW}(R-&lOa
z0r*0mMPcmfcfqZ}<t$dFHVdLL1feBZ!0p=v)fr at 7uIC;NJpMay>7-^kVs=a8c>uNh
zP=10pOS&srI4vz{0JjyqRH!mL1F_}{JSM8xK3z^Fc|@D90 at +S)7o8t#kq^a-9BdX&
z<vh)GH(!Kl5V2lf&RG^U at iNB)7cBh=*PLBN0-Mu4c0kTtnJ0GQW69KzWh<;%NnNzi
ze(4>?J1%uElqB;e7uBk?I$7>?=c=rm!e^2^1*lVE6HYB64w`5blvsd|l1DTT&j6HR
zf$Qbg*?rZY=0og at yNXxFHMcx&GO<rDZ6Zkjq!exIpdAfdW0kJ7jPBOAcT=7rH#B<4
zrYMRFkSM+GHFd(J^3dqHCq4a`7C$KxNo63b%o$OdU6_+YvJn%jsQ;_G&66~Yv*PF?
z?7?#qPrnND0z0vswWV`N)UEkg8eH_4*=BTP5o!ASd`bTJNYR^i)8;Qwl5o|9Zg_OQ
z-rTd_wd~#>@y`y4VR=G}5*j%^g#L6 at 3gLlJfp<EW=JKfCakr$!k!uuQ8#sy58M~cA
zZYTCqqt8sm<^h3AF*OxguzlK)n3zz{i2B<y1dm=k(QdbP1*7S<V0Nv-ibPD!6wGaX
zDHIiLPzuwrx&pT|7EQ3~bvZ!4P`^BHa%c6E!jkO4i)+wHG~oJ58QE+1a~_p}{Y at oJ
ze_wxTAl$3Wccj*|C~bIxwYQ?}G at csQ&J?L5Hh-lb*?=ffhwQHrt)@N$^z~e!H#;YD
zYA_42y*Z6l44`6X9gYd>_6}PVUZTFTQKu+6EeFNnNokUUuOlvkjcJa@#YBQ)6}#6U
zqNDA;Rl>|gnH)`m at P0-t{Fg`jnx0T1zv~g at Z1YJMb41m)C{cG_T-GA-(Cik_id*u;
z=93_wyC>Yg^jx=ku9uv-R%I_sOxMnOj2M*N&2ptZBJY&s?~3xtvlrjlfTvSvAs~SI
zF(98&zJwDTU>to25`MoHpnnDDZn_~uWI9-XHtD%VATfSYO{`6N;lB at 14<31Q=3J18
z7<{*1$T8*G1swQ3z+PGVQYi~`twF79!<XcXZu7s^p(sNsR_w8Ahq-WT;)&4Bhgh~X
zV3(c9CH?qJ`;M`TuB_I83VluMS~qZ>?RU#bPX^h+;8mBHHu!-J9O8JKyM9X8h)bA`
z{zvi{eM3ZNNY)XAbVPBtjj!El21BTsGwYLmXb(`XqAa`yTNtae at wOWt>yjlmT?zg2
z6~Q!ZT2cdnp|xngXHL#OkuvcHm;7#uIrEaa<q$C%Cyt&5NgOT at zd}bwpzch3B;|*m
zWrM<$8g9dF$cJe3Wy~1^wSl-p3k%L`ePbpCN!f6Bs=scOD`)<G!8@#1>l*=*pK1qf
zn%ks>7 at lVz(TNc3jmV~uOWnm0-^#bo<MsvHF~9$44WeQRb!aiPjIMGq+Iv-bHbaKG
z*P*6|JKJ2aGW!fOP^3TiUpF9Z%#szpvy^f+_ at AA4S#MjJIqRnY+JDz4s4^_W(effx
ze<_6M$vH8Hgh)=^rn?!th65h;T2toTXH9S0wp9zQqMFfMh21QUbujyMGwqsog|0ms
zjf`|71Wu0bYu7#1K%LuBjhU;1p{HkGR(q-(P2GkN(CO(gXOO!_cX+x^J&oF13rzLq
z)Yo5<pA0dX!~*JXnn^7rML1Ul-e#W?SQkw_w-GR-N8GnoGqwMoM<rLZ9u0MzNDhp_
zj-c?EwRN4onTad)V2Oy}eYW8vNUno8%sd%8q9`CAai6t{WCuP=iVd1)UMZ_glqTKM
zjwN+iU0})y^OerGvbNZW#}eOho4=;`8pgv#Uop;J&_Vgdcf_H4J at OZwtNhrrIrCt2
z;AtR at X!9U2$sa6Y7it}!lyD70$FE;5*EPhibafBve%3E*I~=f=eDW-$KvBGU!iICN
z6)w^ePO at N<?eInUwK;Wg{9o{K`*doaBuMMHv>4q4vsgFNDj$SVL;=LkU20TV@!5S#
zbn|h&6Z@&<$8VmHbK4lY_&W*R+0xJ?7ICLV9VZZRe%^0=t};C#Ts8(AB5Ry=HW at 9C
z7DOgBsakMql%E&=Q3nTY6=Y-7oXzLA)IX+$O2R-_dkIj at wg>HH+)Bcd28$X{oJ4ga
zRHVRBWJR(Z5$`4%+ld0s#R>79e!s=ivcRS*$MALVF7psa$HrtAXi?It0+d7h at hE0j
z$hq$>T at W@7U&+nLTQ%%A{mQ1*&oI+)u}ETN@(@6(;~HH2VBV0o1 at q!X^zF)nL`{W<
z{(@8+z|?eKUfR(+vp4BXWumYJp&MgKbo_{13Uwj-G^J8D0C at SWNUEi4-CW7--Ty{J
zg>FF=Fh>r#_08)Lp+>rK;q&TUnzv)vv}{TkStjANF#(IcdM`PdXEdVZUUCT{gQ0Pg
zm1Qrq#gKn~d_)Ipju_LeEjbkWHMhJimbyWpyDZL7|AWbxW9lif>8?6-iuwjB#v0Rs
zw8NB!y5xgCo#*v>H?dF#`3dCUnb)76WL6n*g=JU;=Ja`cfhiv{RMSGR5dKdEJK#Uw
zH<Y;5*6`MlmiwG9pm+R&<8Rm$G->?{^J-2{IR&zD3<R4ieN|pNP*=<psOgTK2c~o-
ze95>gMCs<tYjdLG(~w at 0m-EYLs_&J|I0QCgE1coMW{WkW7FTEUft;xJfy_?X8?g??
zFDbJf8{SpGKb=n}{~mQ)a1?rVadXIBYN@$OO%N(4s9_6h1s3u6)y;P?h0r+mNMbAG
z&l_7{VtFny`_W+<6QXz1Gi)gRJl&OG(VIJ?Qk9m|eSw2Ue?2>P(ecAyHPGyL>*|<e
zIw_%>=PE%EzUMEMiWR;HR1dX|wi6s#z!IiZx at W?2i5lzaLK&n#<3Vc6MQJ#vqn{8s
zn@|VG?Xzgw8RfX%bS!z$Czt^l5 at +^;l at XD>HR35+6TGf^+~j>D8)pXM at zxm@#Cf}C
zbZKapt?lv|yc2h3U+wA|a#tXE5mg2#wrO{?UH!1_^AENwP(m~t)VAv4l(<&jT;1)t
z=|Kyl=ns5vx7%{K&av0NM8kH1SZk6QUXP<#-#!IsD(#v&T(V<w%>NZpp=>6O^*>8(
z%gOioo)Bd at Z@7w{xqi{X`*%!ZrS=0}?Dik@(r%T^T%3%0$=>C~|D0yul@;9v6+R0e
zT=-v<HFUAOEO}SgVvX8-kD*7d3BLG7vCefJ-b%9K9z at oQQQm2IV%aF9V5B}{5MXhl
zPjPI at v25o%74QtF(Ai80IME6PzdovCJmBKLs-p{j6A?x#L#YzT@=hJ~h0FjgZ8oQR
z31F5swvkZZ#jvhfM0>n47NNc$(m1s;MKgp-m*_?o$OWk;`=*M#!lqMokLa!41bBd7
zyyhf4ZVJPq&RoYOAd9k_d`w#m5$tSttML!<Lks^#(pIhk=o?YRPcJhJ#ABKx%U+kt
zWfIjEnfNo%)3%wIu|K!yt%U*&x~K@|$qnPI>$5$bQNPKvJH$(8yD*LYXYJ9|fFk+G
zn}2`BI4LXP=i2)pds=`H-KZ)5C6WXrHW#8}jH1bTWg%nfPg2^^GAdj47}#|ZQZ?(=
zKx*blH&TkACsU at ddY_HyzP<I=kptuJK62droz9Y7KH;PXy6bPfumg&0ImFwt!?_n!
zd(*iGDDz<i8nE$5jsC_dCk;=66>-N#IJQUcY07WyA=!jxr-3N)nFB{H5cb;(ICzw4
zEnV9AxRSqB1L*6Nav&U7h;d`09eLqPD`OrVI2jmjo#qu=*2{PJUiSo#oXPV8O^l?8
zWvMDvK7%pr%xe%3MzRD>({K^60sjlg$CNR%h)vv7w>HVnm;fxYC2k$#1${vFMLaRd
z^x!@j)Y&X!uE_WnB#~l3vuRMzG;Oe+MP6jB75j;;JRjVNvC5)u-zb%UubU}*@wkz5
z;DBzmAJ<0VYEAKm#9V$;ic<)I>54HJB%SHi{-rmU90N&ORJS5g5(@Cw?e-bQGr6Kc
zt|LncoW9FYxNrka_B`uPedvh%Gz<Rogdvl3|6|sjv{fQ%{#~}YpJX}B1)L<Ak#4EL
zn*f)PbqIk`g;0_>PB5c#d1Sc{AB|61$6$@u`%v`huN!o=%ynFj+t3%5&E~- at 9<^2#
zO_t=`YYu$&NkL*IWi$7PVvH0XEhG&(g-ak(S3ZtFXxa4?w<ol92`FEJlq`4gii8OF
z^S-*_`(|($Gs@>jH&J9{p3RsX_vGmm6ZX`!Ny+Z&^B2+u9KN-lO&J*JhbVQJT$F$&
zXs*1mF88FPCzS{_WzFt!Z6lZ_fxon+6lX~t!w?fQXH}t`#!$~7r6RTv2Rfwpko3ms
z)+y7AS14;Bip}mLQV(&Af7QC(gd5|%I^J$5#U0x{#}WBcle~r~PF>B*p22ubRbGB0
zRA9{BKmJqk6yS>0UT&jC{MqoIXYU>(onX^sX_~wF9UB|-Cnltm*%$OJvI)U9;&^py
z at r}l#BeF0{)Hvf_F^9IQGNKyO$TgwBXBD2QCFu>Bl4_5>99XNwA at jMe23yjvfI|(;
zCDt|nz=`G+0()ey-sp!IuZug!5w0--=z2ONC1ldA2oO%Ev%2fbJ0<E!uG>e-Cd$X;
zbB-08hwan7XIW3{_gx at WeU}b0s#L~8KdZf{Soi&=;iVyvTpa#{jubnWF|HZTMA3i9
z`WR7Qp at QNE5*7{0dy(IXY_ at l*J|Yc7DJBHCCzBgix2S%eGBSiJyXtyZ2+%?7piYbr
zwhlx-P%mOd at QlWxb@8Uaw+;%9ENh1GCil_h%`;^`?Gp`ohn?Bgi*l<vjJnUtWj!0r
z|6J)8J9I`YoVweXa*!@zTzRHzfkJm{+Pi1cpTa2#ydQD-|5fgt#vFW4q*@9W>3F~k
zyTLsk6wDCg0c}dApt+3g+~IkOssSAdb7Xy{IleZV>LM!d+S<RCP@`sGX%igh%uchp
z(^pzs{-QG^nLb3LCdp@&xz<DK_ujEAHi=}3a2J-(T`qt!uVp#1Rt2 at I&JT}Ewn=Qv
z|LUfff;KSvq$NZ>Va*%Vh42K&)ROyN<^F|X7LpMd4g$=X at E6*#1{MnN^2Cq)@%$Li
zRnFP>mFcKO9WvSC_Z at U0O~p13swD&tkmjD?#yulD%*=vsSQaQm&VFt{(=Kxqvf*U6
zcUlcyWJFEUqexXbC;fM5_zzMdRUJ7&mT8n%^Pkt>Suk`O9R6}g#hIEGvV9PU+->Fz
zYQ~Az&>gfRTv3%Xr<f_!`wlLpkX+Se0-<oqf0fsR{o5+Mr}p>b5kLou1aYvqMF!AP
za4)5UR)^r^BehPe-o40(KyN#oc_fwvFH at s<h`LP^LB;%}Dh;((w)Qu^Sqw9>JwBRO
zl%BRmBh`@`v_Y97fX2f#(#9N&ytHGEADo$;z9qPm1kO-~wiAyiZrlydD{jskc?c--
z`KlTuOzdYHS_QlEcXyZ8{2FPuQ_U2iv&E|_6YG9`*E1h%g|oDrt&kSv{HY3eh^;rw
z%4a2l(TOt-W|M5UT*2zo*GNczaw4CA?+u<jfwb4IR9??t)Z;w%%2T&|98hkDB59W5
z*tD?#lz;7IJ(xvcW8NI8*2yb#J5!fq)&^IY)VNZunE1!`Mnoreo4xz5Xe=@kxw0-{
zRZi}caJ~Ka;RPLOl??;~9CRn#aR0~HIRp#CgG>6 at wr$(CZQHhO+qP}nwr!v9*z?a~
z>Td30HmRgi*`?}T^wZsBhWybPiFfs*+ThEobLzsv;{tfP-X)*HP%egIU%C``wrt}B
zQH$pn=uQR%f?Wnlht6Y12N7!VaeWwH#J>7Un<q8a(9V`Tces0Tp_ky0=xB-}r0y-^
zrpMQAjsSvE#o`M2-A`G&K4gT at 5#lZUZJGRPiuRgbYYH#7{z_JVgjOOJcJBVCy9W_V
zEyy%X5wE9nsx=QU?f|I@*yrM60Oz_3N7knK4`cWc%kQyGaW`nx+$G1okhjlP&4R+Q
z6_Zxr@^I-$Aij=BgIX2X9ah_kWJSp@!8E75oDA+_UNJbudFCX7eP0Z&>7GTLORF1-
z?s9hSju!imasbBi#5uBjcBCxMZfpK*_U~IK=}PzMW<-V`Q1?#o$@_BY*E)SN=ajN7
z7IT?yFA4<^vaXPZmPrR6UZ8JscfXpR0-81V*5S^td0ypGLW%Qr7^^#!yKgr23{T|6
zriNfglgD4YMwj=pE&ZEx8+dZ(ns^fTpS&fn?)d4va|J#cv;+Q92A98!@+T*7B4HWy
zTdxg+ZGnGu`fOH%zaa&M#X0IXq)93Q&1R%`(Ct02>qiOHkjq<ShD4{FoUa=$PztvN
zXc<Zi*8Yh~SS=cU*G_81x|Phx(LrANA>R?mx{)zA81fperBG5EhR>BBnJRvLM9dnb
zk3sPtmi<&!84}+dbOahwPT_<aL|>ii!Bm6KVouzWp!bOS)n3zEf;$^X=FUDSiVv#Q
z$>`Cm=Kr;+;&31R0e4*s#{O at TD#!mKsWLG#vi^^x%E-p at KSyQ)hW~d%z{t+V$@2fH
zsm8p5D&%apfkJ`1yF<rzcXvxW1X%<Bw*g%T7~Itj0%<?EqZ`}}e%kQP_inoX`Kx-X
zs_yD%G_7G=&vN#a6)Y;5A~3Qthe>H^b~Q6FG&uu}psaWR$jIEp$jsC{q at -98m|Gk0
zuX#Yh5)da($fdpS|2B#fAU=1`?nr#{&Irn-6<8a^8W;jII6N^uJTf%{YhYr2`j#)q
zC8ihHnLssxQZN9S*xCfjJ)j)9x#7hTJVTqiul}AV4%i9-8yFfM7X5SQ5*PuyfM8;5
z0;Ry<)CREKQ)gjp0;|}{3<#LR`-=|B+8^57%uA1)oSltboEVE-oLkgM2*W!7b7}*q
z0LTr9s}oQj&_4x2iM0vvM<0Wb2UKVV;QTRGYh`wJV|D at o+JjvqKrX0V_6~}!rCdOK
z=wlO56~lX&#IyL4Z}{d1d=B`tfei>vJneV+oBWN2F!^$CN{o!mjqOdW1)o^MF#u}<
z1LBjMV&>}RUIvb_k^O^WX>x1wo at aMr1=7UE><9m*-GLyWEP`S1s=w!7<;>&=y2;JO
z$Q4-gSDko9pZy|}-pGpD+}r at L&CNadTOx;Z0?F#R?*d=mAGb2KJ~z95nQz9NSX;TN
zN0QOK$y~7&grgI{eEbvX$v*hom<gN%fHN~Qqr+1JSO5fYVQ)0}jMkYQ#(Qs1KBa%^
z_QR+5=JpQQ^oA6`Pr!Wm0pFXRoIr(eaB~6t^!V9+>__B*h8{pMIf7vT%L=wR{A=jX
z4mA5acuRH%=>&Gk*vF0s9r#{9 at 0a(w?=`hDx4wNO|GpnK{UjkOFR2iGb07S3jf~pr
z1n$Au at Bo0R!I=R-Gh>qjSpN#1|1(o$0{RgLeahFt)Mn-enCCazcfa%p>Ha-`uKZ)h
zU<vq}Ewy;tYZL%@$p>3EJu_hQ{4 at Ia+d1<u|Ngta>(}_z$NK)eN_1&#``woQN&osA
zw>AN8dVP=o>($rI+4t5Tyz>RJ`LnMed&qZG1;`50vH7i6AKSd}1rxEEt^MncBp{be
z;9gLHJh3r)l&}6aR{yges1a-vAmt`s&_{;~2n@~q_<P?gpBlOPS#t2YAMe*4cq{za
zmzLVd+Q|H6)vdwF0U#C^Cx(B2BlZ)=0iaKNV`KsC`r91 at AQRK(K7T_Q at b=^bVCEKo
z at 1ILf1|A^!mwt&q0%?Hs6WjqHW8{y(9w7PM9}$f?K=J|J2#`_oOTY$@JcIu{NBIZd
z>rC}6c%KvXC%SW=Bjt}k9UyrM?{%*76TAT^W97f#4SV$`%5zVR at gw-(@+ZgxK$iSR
z^y;4Wc0G9}|Ey0wVDd at -u8026|KJ;(`OEps4|q>B`#aE&a3RmLt-tW1590rEtAq2G
z`iE!qOaERsaTMS8)<wf}L%Vms$B%f=w$OjjO)~92_-0l62f9Dq`T?xD7yTtX`q(Gm
zcF+4t|L5K6=C9^2-}a?{=l=5g7j&=nrwTdU%}~yN;!jv`-Jjyz6VBbcZ|;w at SNgX(
z`Q{xsxjBURUO(%letl#1Rv+R%NcZ2X)~;XZzG>I5b;%y{KWoM{cdvN<(%y0}Al$#h
zU;Sf~qoa%WU#5?*F7N!-zd`^0&Hw at T0?6;Bo?J-%22)*!ZQodkK<weWjscj_x-)hx
zuzJ#Qw{&rn43ey?m;u;v?!=Npyp>gbq?Pue=@ELpaavdgeLoVac0Nyj?2&4j+qNNk
zIitTE3J$c&d-5P+69weGCqKuBHHd~F3&87?(g{b0Lov0f;STrfWT*OjdTmVD+<n!(
z>a!GK54vo#|7Q9UEJa at F1nXSRFlnfp89`8~XupGaW^Zq{;C!A3aawG7 at Ed2O8TIqh
zo=L1{#*<F9g0bt>5b^l(7->+4D1L6yGZL>v+NkCO6{XHk=f&QTzC=!}NPg2)z?8>8
zmL9B9WQ*-ptt+nXmBHquBoK%);`hjgWDTwD5Q_uJPl)QS6++~p&a at dQ3D*S!vaWUa
z@&#M7457|hW}QFqjAJ6n8j)#ecWkZi*{zVt^ekP1D>pthN9-RNaky>gi%D4dN6ZsZ
zu>X+7DHR)2m1V=2BDStgUs0uRc9G}X<)*u8yhz-NZ-cu5qtDdhsfb$}gOr4mP3F_P
zARF>H;dd~B$Y5!O-){;g6Dq&8c#q?^98jSZX$!d<SqXu1^y*li;@7J}xDsjQsj0lc
z5LMk%Sv=e)6Q){J+>hRO9bgn7(9ESNUf4q++RP==8SbRQbn-IE7Dr?B{S^?2GDbU4
zf<{d09JSvbE_!HA+u=y}gC*-q6j^hn*!QD}0Ysv#4cC!%h?f&L7-37t_Qde0A(66<
z{gR4^kSHH|$h5lZT08doTI*u~vdDe|FZ_8oBB%1wp)NDh?Mx&B;aKrlVBk>mqBd*x
zy=M{qn)ebrCMPk{71!WaQlM*T*c3Y+OW3tCNA=rTnE;PuW{QxwYgm3$pFK$8UHe)2
zO`%i%JXNAmZ&&&^)s;Va87U#?y(4Z?KiiF--xo>EgGw5GNj4vltSmu1CS0d3Rx;SN
zWFjnQIDI+ASB}Mox*o$VbN%FI&U$(<H4t{KNWfI32S%zK)}ZOeR$JBuQ#nL_z1OSe
zdlVYWviRQ>U2~G)S7anhCv+j?US??g4wr+&b1YCLK0-40pNV`LwN(0fbHmO4r%Sx(
zOLJSDgs3WiIfA#C<%xIIBKqX^Fc!uY-2M#LP8hcd(@9$0(!l}iOjPRJL6fNB6(y#S
z6viQ5%T2GoG53ElhcMdv9=&e7B76z#+YfufU}4IzUnsLE#u``Gc)c$_2;ZmAP4F^!
zEcg5WLWm0WfBMFrS5J!~698k%7e~np5itIA$AGPd{K^(1b124K at +}+$6*DcJ!pej4
z8L&OK9(u4R2N*b3!|XG6N#`a&(3f at _lS-Un)$~vlYpQAILQy`TvFdW(6=RU9bpNSj
zPX?3sr)IgDw;<?^rQuC3Yh4XR87NPG)~^S~FGj}>o(<|hnG4Z?f<S6o{q#+3Jn$r8
z at L4LKRh<_ZR$7 at -#BTsDx`AIGpmD(?WR^yO0MfT!3iXi3q<en^2#YS~cX~}~<i1@&
z;;f#U0-1yMEGIa_l!90{=ix_kDjqRA63(hGQl|Q^T1;Q~oUh9;p;(dJ&o)1eHV|$q
zUV&rt^P!?cbm7H|$vOJ!;u7p`ckbR@>y6n};?hDIj4SatEUww1Oo=3_H>&gXT1~fi
z)I$+qw4H48vUM&3E7kkqLl17(26+RCv+4~)Gg^g~BIDC4duT457wfdSGOlmXXioQs
zBREWz)zTfT)ILpf13_2K5ry=zd2dO`+D%`!VQ!5mF1jYWhGr`?_E&fAl)l39f@?ey
zorH;27vo?8XIWjfd9IJQAvr0>+_ICVUC1$JE>aDO$jI>b2brdoPa9`oPV7#w=H=1$
zjZ82FX^M+~<-B+#&~2- at CSoMeqIYA<|FxYftaz5HJ~~K!NcqiJ&$wvO!z at UlVy1bA
zj65(=Yi>RKjH$8;e`DVPx=AwxmvyIjA=;oIqAPde)AdN_Cs&9{xfCUe!K~99m%DnT
zdo~Z4{2qo^q<`}DM-AaW0Kb}GAaN3oGsf~8CErpA6s(uHvDyi3;Hi5-Nzu=VDq$*-
zq6 at lOk6aRMyW~IB4By-a>YILuGeFacH-M)pbXMbOQY?Lb25Me93jLNW?hv*178)=r
z;$Az|U!Z}(vSu|`!+9I?R<C50iWjgnnEAZgP?T!~zr at WrEkTtP6B>W&D_3urF7(6k
zEH}luzj3hudCxr6_U|9pI$*a5NTzCN$#q0aR;fOpS|_zNb|9H4m62E-Kzv0w`LEK@
z&3!SR<N%KvgIU}C!u)vupvNo&?PTF3!Ya}P#dpu$0zekGWqf2wybeo&K3>p{!1Bjm
zkBB>7Q7S{{L4L+3x;ZJ|B>xKK<_CUeH2XDf;D3?Kb%PA|vk7enq?kL1gEXJ)OEE3+
z^W_hP!|SFCcq!uxl{7%vAtfw`frB6 at 9EvO8h@4P?5gZZBJ0k|opKU at H5$alU8M!nK
zw7~lcC_E?WAC*=k-uP1Xlm%blO3U at xo~g!Tb_N%6wsl|~((5_v={<wex0nd3%vBi~
zJW0w<k?W}jkE^&EE)0j3^a`*)7yaFd*Di8wcI6BAD2nvoY%OeJ%g6|^bJy3Zy9oPA
zeQv%&SA-XFU064+4YU>obcjP|7xKhGyMSQ-3QbQuIbGY1__a<F(Tg7>U=bL2-^C<#
zfg7f1MJGa at t92_6b2BByNt;kDg!jUfE#m)L9yfqGHvd;K2x at GabsLyu_J}@CbV=^|
z#d1%W{i(Cr<^C~FHl;tRCiCI>On&g(XWUyeHdu39<2?T%laJdgnD$3!;Z9-UrWiMo
z7pLW9(v*_lVH0hHP^npuf&_;r?~Ku3+qrIWU(UzU^&_A*ciUJQI6qG(TP(Li{gg4V
zYq83Jw9Q`j&*gg7o%s$@mOPj5O1(n3AQ_YZ at W%`l_w?UfVK{@tk63~(dcwdr!{|T-
zf@${&7QH-tb|jxXTLuqfRn>uU%!fBzx5T4h;f<TwN=4C+rJ$WZHYm>lpi}XMmZk at E
z(WC4I;I3+<raG5F?=0Fj`&-Nh+je_gu9dx4t#noAG|aCsA>9{rM0w9qbEvMTH`Xsm
z_mWKRc at 5k2$<leV{xNz0g4tgeVS84f-l#>P6PwsWqUN#P<&+<ngV!i8 at X0X(n*DQL
z1VVY&)&Q!RSZm=+AT1q2n$p*-s*Og|YTvQ7ADD#+y)W4*s(B!Mk<X-p48AW6i-ni<
zYUs$o!z8g(J}of4HlxD6Tu~+VX{8FLs{dy0bsBAhu0%YmhDj4`F8Y{9$3S6}J>~T%
z*K<|-vTJ|_ at s0F|+>NyGBpQ<1(eDOlIOy37j0s#P+SR|u$}6*g6(A3U0m+w1bbXxS
zhA7GinKnySslt8U;JSRL=!O}U*?dO!J)$S`7}Y>>zN0K{eP~^{Zx19MCioa^KJhBw
z>$U>-f+8#EQnAZzX#Z((#s=iEqNJX9OL0_NOF%#JSgb~QYf)7;yX8?O!5NL+oDC{1
z%!u%%6rQugK?cttcxjsAf_UMqRmxr_A%5kcuWRsV4M-vHB)XP&9y6fX+Xno!DE}3{
z)*$UL<Dl2<7bt4h{FG`h9vCjp#}g+FKP(7iNpH+9 at SEbXF8%cZ?2Pry>(^-(&hUK1
z^7S#1FvpE&MH661e{be|H$)+(kN>_G&#oLnu$x>Vj!#%JG^+g at UX(ujwf<legsDh?
zQhy>yg%MwLps*}qymPt;?zZS9<Sg%3swklQu98xvtp%v-=Uu4>9G2Bwmn=qXCrLq?
z(10%$Hx;95eFZ7h*_eqh`RGrAYK-vCAxy08Pv5d$$STR|Fso!CE^_Hc<kE_%aTuYq
zVIoNd815`uY`-1G79rH&1CL55y0*uyw3zl|MA6`Mv&s)&-E%{++E{87xw)Kf#iDUF
z2{%yrABpzJ?QOTK7?vxa;~EqD!dK<oTuxX0>W_i8&G7fLH8o3j{E|2U5L9WdD>j|;
z(1U#yT?rW!KkeYSW2~BJcXB}B=)?i`b-wjPLz*U#&)vCVy>BY}<uI=eMK{ZWG>Ovs
zoNH~gS(BFs;YvgMaE)Fy3xRl=g<YA+GED8SAT1iAv)@a2XniqS_*Fe0dp}M#HsLcS
zO3ek)*g7A^Usd~Ct6rr0v4O~4%_*ahs&#lQYF;@d#r;o2p72tjm4VbKFuVGAsC7um
z_4tbz*#I at 7-`r1VNz<#W!$6 at Z*TiV0)nI&7Y`ysb3mu;!iL|NwV&)c`90Fcw3k;?s
z2Hqd?)Hb}ZOJa%yH;emmp)+Jj_GQbn{7Ms}^(?#VoG^ou<RCDb7}*$1!L>0%JD6%-
zq*yPD6=74ETZM5`V^s7PypAz-A;yt2+Viss=DWe<tTw7JG<iO#TAf2^u?$jiM77Wu
zBGP6k4v0IEq?}vlQssyW8N#)P at Gbw9l0LVT<;s)*oPWCkHZ)b8n4u&Sgx1h(Z}=b6
zIw!IZa|O<w$;}qjy$k}|>h_vA-Gw8W!%V|%FTNt-o at 5Udt=8|S at w4$V1hVq{+?E|d
z%16rVH*iUU6 at J{wFgcJ)q at 8wM=I;ygOKb+j%Ls9EX=_g?8>C5!<XgH__R!j1+`_45
z at QOl((IXIQvGGvo7p!*Ao#Pf~ptr-rt<`#L3G7;WNOEBC>~<08IdM^=FTso+iOu$y
z`Mn1EbN~jx_&fU+S^Y?gwE0_^Ac}F#$DO71gNRh at hY)~dztf`ON~!rSYa0QiY*n|M
z*zYG6_-TEeI*~4up-HjP6Gw!(lS`bV6LdxaWS^%Iw!iC}64w37uWl-lH#3J8?PMZ}
zB}@z*xrt90frru7z)zeX;Aj2GjY8gd_k`Num>POWoseOZ6;j^Je=dg^Rmt_$H7-&v
zGvx7^H9kIepJgdQ0+mrd=95VQS<O0n2cYmsktY9c_QQL8I!zR$e5j1x#cIC}>Fv<%
z+Yvc$WZVR#p}J!-TY?vA$Go$|4)xJeOp*LM^j*jER^}}(C`Rsp+BlSQ8AgHw|5CA|
zE?;SNnY8jxK}O?&e=C(>jjE%Qz=wwPn2SEE<Q<V-h24UrXK;tq^&3*myZ&{J;Hcfd
zFKxfy$K+?MOXXQRE!hv4Jct2yO8%FiQTqn at +FREfh2yp5M3mY_3O;nXiEEuOl$1Gg
z9+h6<*xf4gL+K`0kF~WmpQBbg+HMZYezR^83c<a6Diq_)3qyyHo4DbHqp*!eEnce^
zXGdZPTaKL1u*Ei=AsZAwQEV`n%Am<}&jrzYw3Oxs+Ql1W<%DbPw^}Awu4!k_d)j8>
z#KjBsl(7OB;C%FVvLQrVv72j15MQN<{9&>=0`R3UnFLA!5_d*zGTY%|C at s=wkJ}(h
zY5z8?rcHk*Chu2$6p^i9^@YMULLtUsfpYEB$^gz4WtFUn4R|WDH$(9N#ra^wXia at d
z&PdMK73m{c%XvpYUVL++Xh^-^T^{e=(d8Yl_ICtkw>ySOBG2RlOfHtutc)#1^OlQ&
zTr%O0*%xczgrOQWOAMPfUi%^0t`@fiiW_<VLErI=)2u+G4eH%}N)0u%L!UP<=daJG
zT0+W~@{|9u-2p0zr4$LG>1kVF`%rDtE+~*qb0wW#R}WBQ0~rgu9_XZe;S|`Yaq&RC
z at e~DU4e5Wq-+my7R&Kg9%^Sh1vZXZeGN1u$i4G>>>Y%MPC6m4 at 1py3f>jur`F<tAz
zAw6a|ECM9T>fj?e^*1W3ML)4+`W1m(C!MI9F*f`et?K_J>pxG+Psui(dVmVYtUHAf
zobB#jY4AAn4S!i=-$M*6a@^|&6}ikbLQRAqrgtqWD&UMAt#Msv%~sT6riBMJb<?G<
zG*VTQW+zkrUoT7E9MgNy3aK at jJbPa{U7J%D$D5+Qd#uk*Rk&Ik=W}6WV}SLj1;@zy
zBAk_p<Bkq+vn&94*`&f8*Bi9Bw#~&&75+VkoAKwB>x!2y!e5VOG%DHf82cceai8n4
zh(32`J9b?5X6{z6lU3DCNXNPvs+bFsQGpct2_j^gf-;H|<wdK6gCLDw1m!r`;=I5`
zq#!98k~@|dzP*f)Mih;087V!}>DLiL3xE8uPuGw|8rraxx3!TtzNTs4nBpym2-=p<
zxi5x|^6X3_9CH)5ExEVxJ~^%{<=Vo3-r7(HsSv$~s*$5$UU=}KQWfE*t2yG%h9$7J
zSh(#Vq73}+`cB~(8=UV1^x9=D2_i)ec5FJmW5}=Q)}_T|1|aQR10N+TlA^}b(dtq%
z6-&zy)Xrf}ixI!Nh4SOB-97(&Ib(E-{8JLu2bZ|XC2hpS(#2%?nE<!v=%Um{*}6Hj
z<$ZOsL`!k{u|c&piHV9%iP(+Ur8;jh_DBQWyl7={SlWzZ>~PdrsY{VGmcEpnYPqQM
zzQ^IfmY<v-UePcLKqV2p0(@6&`EBG3JezTkjGC_suQu24{%#P=YSLq;qrk7tN+k&3
z!($3*G)49E7ZV!$Kopf!%a=Z2jmcP|&Kgh5mEzi-<+${U;I)Q4QoSYjW_8*{)A8es
zh~<NAY6bAS30CpkUMmzA&vp%8-8f)+9|92gc<u!dEqT+iY2_NUqiJ};czJ%6bIi93
zw$%xkd{awoAWP{gKF&DWhyN at oE3J~4g-KF=Y<9thKWl%INpbiO(Grwvc+LW`V%NZ}
ziUniYIN#&&p{=!BkjkCKi}FK;hSs?G9?aKnIMy%5uO6sT9ywD8`oc}+I3dB7qsVxz
zeV7HGvk(3WjA$s`AXhn~EfDf(*NPxWsIZ^N36qYZNak~Rym&BG8e`@fjZr1gcS=ZL
zm+Q5-2bCUjkQs%c_+-mF+1gPxq)MIsjA*J%r}e+875uou{K7#?+1Fg{*3A(F(n$K!
z)B38 at C0gKo8^Cl03{%HXnG)urp|;nGA*phV6VDkg+b_W+<T)d at L35nMQg`n$ZAC@}
z9Ds}UdA>%_IyDtO_D0XpoxXx`ml9%dR-LutHJE~284CnluWIp}he$Q96*C!<i=E84
zv`1%c_3aL*A~0d|7K)OG`p5L+N0Ly{m_5?=sw^ltoQE=#i!{al>D{V;kInunV);tS
z3|LHix`dqWq(j(8dT^hirnoz-BU?>3S^x?*yya>ERGHboCT;L++!@#TRs;I!LXNv$
zJA9oBRB$`Q+P)6#krOh${{hmsXO#(ejt6yyxKtSe#@#d6{asoQ+0y-!&_*x{vcYB8
zBZy at pmhlnmx7kbAQ!Hyc6Qq;MI`l32Lrhn^#&QhNw#{+6&9=FL=?L*+HVxsN2+k+H
zHJxNa+qt}oVxcG#`yUAY0iC>Al^?kPK-t^Z#yznapGL^~$xTnxgY`1GRS>taOfD?b
z`IfMIS_o4&Bf;KA-x^y3k)zBw-MPEsj{t<bd@$e|ZmVtb)(D*sPqYK2RRfgVC9qM`
z0LHY#WkC<~KjNV}ga+7|Z!WxdLbp&PmeNISHT%&6Z;NvV>W6vE6?bZ2d=_^G4N!k4
z(`7v4W7T&ZL6cn1wa*J=CfmjjF=W?-Y?chAA+<1r=9;<4+w!~Bu=*fV?^cf5$sHSF
z>O5 at UHPwQ5q=htQv-dK|FKmo6v=fW>9KV^0d~If0E_q65Y1*@5mt|Ls%RO(dt#%3!
z-w}&3Rpf`jh^~MvFTP|(LtVOD9{~jw9sFVxXO4M`DkiphwLG)KNnz&Lc}}~x*1*zB
zDK(#(DJr^j{qpI--*|`YnyqOjrBiF0vr6P0p4A;05DbU#rfcGCOM|mq^lzeHt=*(_
z<rAdPE|SEny?avSsB(C5xO07-z7KWFeo7OmmV4i?Tw|@hof9_m_^}XPwA!{v_eoVn
zWLh~Om6OLQ94jX9s;1XY_N$)mbXqGC5(fR|)1;$tFNQaLA at Qo)7Ggq4CZ^fk?>}y0
zmMeU8-Y<`<)a#K%s~X3N at R&*jHIt at k)PjXo at L<j|wv8`V;q>1w_qMU=yCX^{NF0MV
zOb}s-xdFl}nO0j~N5$6IIi7N)QiQ|K){$5n7lws>v2Eu;#Ecx at WLq%;$CL`qHqEKh
zP}*wA5caX7ywA#CZCznO<fBlY))#!-HWw!j2>fu{cLch`U_1+wb?kYH9}L+|a(~B%
zY<l}IdHKdy&sgxdLO*p?8Y_IJnr3n_-^79avpmi|--m*Ug5WF2gu2W<m8JG7G((AJ
zsFdlC-$dpaA?Ufl*$U}KfPDcgmE$iW5e%A<EI#i2I4Mn_=*{xZpoB;srl~kbGH(zw
ztMX>g4^=5BFnz4izwPX(z&F}M2Q}#L@=Z%vso<r492JXEAEwt5wjrR10fG7|k=xcQ
z61y5QFg{u8A`Ko)1j<<Q`WB)V;QonZeft&@tt})VNLfUP8Y}z)2Ntqj1-pV-M5QTF
zD;6N~Q(5D2#`*((Ue0Mnz3I9KNOuG4n{IDs^T*84 at ktBfA+nKLR%y+g1%YVdjZ=L9
zg$7zbXJCGEMNGMNYT6POioSucCSd`XHAs|yict at ocZNbKpT;K3+BpPuco_9E3n7)8
z0S%4Pd;?qf0c9KAjBJ5#xWsC>PF at GE(Q)=OR?(y7G*;h<n2(P5;GM(^A1LHrs(G at 9
zMJV>pkeEKj9<KbkZWJdwtAPyjn-bRuD*rfd+nNr at 1?$h-9F&enWj#S$s?GYZVNGu@
zt*o%x!mXocZYp?Q-!+M3th}vc47Kj&M3ixFi0_TlU+Kvc9arovrjFxwm`00rprUL=
zBs^;-eC!p$(qOJiLcu}qcC9_;O(~!{IMP%C3^;YBYZ18>Wp#U}E}W-pO#p9<E0%7H
zq8hQ;{BuZYet(h9?th%i*CVa<KdIx6s78MpTL4}<J*MlQ?3~18vuie3ckQAJq0UyA
zd100^1V2X6T;%M3c{}oYLaV<cY^Ie-FcHx){lwj%$+HU(6YV(4<kgdb-e0L|bv!_R
z2u)}KT9I9&?49&k;#-<BM}x#&EHi{%1`gGo at tGh~+05N`zD1@#MX4cpS&p&f3L6 at d
z9CkNZ?rk|#Wxejo280h+(cV~U4yo*`HX;2#EnT`Ak4vX+o2v1;Z&~0mwqE5g0w5EV
zmmj(75=^bNHp at 5!*XUTEGT1f{K5fzl7HGQ3+ at KER^UZ&+L?+ENBcz at 3Wm<|)@^=Qs
z*Rp>U+SW=ul_}%EhFw4pQ)#qJIsRZ$pRymS^XQ9BUt{>fLh>(VsL&CFEUc!?IlCL0
zgM5{hX+AN|?v%YvQr4W0<CzJfJjaBD6e){$9LOXd`h55W?r5K6WpH&3%Dm+UiZ06R
zQc9!PaJBXGoNsivbJV^F#G>~rt(8TyBssV_qLlubFurIvZwLn+S)NQyTW|$C(umTJ
z`F>Z_EC!aBhA!mnxuVCOtmvKx(P>{-^=N)XST?y!V1__uMRfHnv|<(LVAE!^G at Sj1
zIttDs&P^kY=QXlwjMK9LR+F8WeT^@q)pGa4tgp+tkcv&1qgse2OIA=v$SWvZs~-X_
zIw|*}#=8K2(kf*fCZKfJXj2JP#kXxrJwqt$Z3&UR4cNRi&MyyEj?i(z at SmW8r9eA(
zbnWE!j(SDoB#!O;!`&#$N(dL;m1;fm#X~zho8uSo;POA~e8QQd=I at H2K7|y<<xuTT
z7#EvyEb9(+JL<pT9q!!vn{;O=XRF6C<DNKe!}=A4#D+ at 54Du(h;~+MiZTHo{u11O^
zeF08`ioD{Tj_K>|IU0s=Xmllg_+VK<csvS6w)sf<_sOE7$A1TM at fB>6+4<50#fftw
zrhwtN8|gnzeki5|M}<7SA8*)*btpert1R+JE+SmUt7egLW at Z0qjhi|p#7tkD;Ml%1
zvn=Q7-r0x1XXl%-X~#oPxOkp)PUqC>7iEv%Ua`&z0sRev7sd1>*OO#q!b(+1&+?|e
z6ADt(+{~=jf6v?gAXk0UHG~V at f9oHQ+jKeCg}Fg&|6vI73yI-NF$0*w2Ou0Msq1h#
z_`YdRPspPV4OXcv9O?=O9zm%r*VqVsiCYWl#`Q#7VXgn|=<{T|ckU3CcYFxYCpoxn
zB<17J4;?>N$O0p2xBt?fgR&K~o98gOa9wySs4iJA9UW2?Y}BS2Es4DMQ`b!{NtVq~
zp6>7x{1Cq@%c5kiNi>U-_p$cO>f=7*fW87<N)(SOwYK$1PB%t7>$-QD)%EF9k^+K6
z_%gyen~H`{Dy%u-VKwGyR7T_VzGSKvh&<8QAnYFW8 at Ey0!rg;EkMXmK4e*a!FB?RR
zw^cATBf>Mb7Wcm%<#H5E9b}~c8msl at 6uyFv{V2;IzFq3LTNP&P!aBV%r2>&oiZ`d&
zRy&)^cok5AO*Y-jg3;>>7>!DlQR5{HSvT=+CW(1YOFen9KBZXj$mevL61cZnUc$ME
ziJ;VO(R at 4AIqyk#vl_*1yq6u2?A5owcVyv%OMGHY+9sHy?1NAQi6u8FnX9^J-%?C4
zuN{1o8Cys`f+S!)d+O(1TH1+#Gb`7$^vIB7cXlXFolp6A$e%KoPSBsLNipl6K2Z>G
zvb(G$@%6$+N)Ab4h(#ER%qa2d&)j7=UYU%ZlvfzayiU9xW!j__jmwAeAR7rT%dJtc
ziKopZjw2wtr{(#kwH at J<4oHGOf;+XD_v_I=;8o>{w(B*dpqx^b>&roen<>h`NRYxk
zitGXXx1ugeThtz`SER|EJREXv8))JcQ&hpcTDWv1 at X5pcS=ErSxcLMInL@;ni&VQ;
zbSOGjI}63 at t}xYD`<nt~Pi{YUp{_4pG6D0u);0Ngmw9w#j6 at -$DRr&x6u~Mh1%Ic-
zZwEpXZYes;i23){(b)es#K`*V!#XWHn>@n#l?kopwUdU||IJ%Eyn_Q1JBjAgI9d}X
zoqV3;^d;0+2t=<!XS1yZ)iZDnt;X6t!>jCEfYQt*?kFP%n>`FnJ_pH1w+F=QG0kf$
zGOc794by{- at VOHvicamhlL@VewXHYb-6>G at wkPCI#I%LY>aPQxMJ|v*+HIQ*-XLRF
z_a{iaVS=ifkBkec|6tg1O-z$AYuZROp?eT3j&VZrc}bTVU4iGRR)qMWoj7`{C@<?v
z9b*VEGW`qP3_!S(!bH!*J2poihvkpS@^kaucyXJ+12eph#o3Mvla%+IL*d4$PUG-H
zC+YvbA&VaPlF^0^Kww1|?Zk!KEQL}~e__`aL1Ky0cq32l$hll63!@sKwMO*!)j0;^
z&yq2Ohh7!(?}ZxF9&t(Oex at QYWQP&6A|XV-j=|6kG#8*Qb#emEw$>8?8N<U#W>8pZ
zYB;Uk8#Mo{q3~yZztHu10ItP93eU`!<Og(T4m4&tkc>=Fkq|ow&%SSELp3Yf)1nno
zfnlHe;_qPh0<&Emg9w)JzW7Y5pTcco%*=Tb#<wr<l!y%SnkNG<(5C8N5- at C!DS5U3
z!Fj?frjKp|EVqae_wKx>Az6zWcrK=pzUwzt_$#RXMuouM;fcA?x3{<w6I3-@&0XcZ
zo1EWe5P2?splc4>kTpN2!9>T86ne5avz2Lu>&|4W2IDd^@c!pwhX2ukd}eVqy|<WP
zjSr-*TCyimpk?JdPl9i%H8fuJ1fan}vd)I-iC#|PO*HDw4}*OKF~ZYrr=eoaU5h0~
zF9 at CHmI716x9AKSmh(XRTL9sX3lk01qHrF_*e?!$QM)#(5Z2j=%&&V>LS2iyD~L^C
z&iNoyBq)zmUDm&aT>fxtEE5z^XAEr;^o at J*k;A8;kT1(>;ziefjN~=Q<LzD&&A<7$
zvF}$D2&z(m97{-=jPYvyS3QeZv?##ct(=O<Ok6B)l~Axb7=fBj{1CnG$cB|ipL{`E
zZjkpY>Ee3@#K=yo;%Ra?uL}a~x}5Y?nYls#Y~tWjn7h0G6vrXQLlc{9Ih_*JbnUx#
zSKd$9L<<uEn{vx}4aLC@=z-Ozz(n$XhFOVv7R at 3p8CdgOhk%5=(W-w_0?QBPanS{k
zvB;tJG3qT(5s>VBhR07lgJQDI-jn0HDsr5<zJHfC>py-|&r7tePYpKIHw)SexQ0^z
zoqhxI^}eGF#eoq+KGu=$X3}e9yR^BK=DG5H`xr)#@g%|Fte(u~$cS3-(!NHDFkkNq
zK4c_<6g)rK*J<xh?0|rw6#0U_#2~^*toy|xp>nO at dO{knA~>kquOg9;d4~d}D&}zY
zi-h$qNZ^;?Oe!Cy(-!JXudI(0oDNXOa)g&Py#3ihuUIm4 at pO<}e6*Gv^D}dEuNPD@
zN#8|A8 at 7P?q64u3yU25F989F<oCHlvCP=$5D|VpMIJmB=hl+OK2t at Qas?In+{{;eL
zGp?{Xht!J4MWdktApYOn{Lv>PB^xtVCpG#wa!eZ<r4(;y4PzXn)$pvbMhxdcF+Vy(
z-<V+$eVhW%^c%b23G&wZBo~txm3A+IOFtbM!o#OaeOXvzyNYy(8USidv?BHlKP&>;
zzcw>^*v8>zoB!KvR#oJ+0c$0TI3kDf=(!Acj2<OIERT|EzRDbNFm2S at b%iS<hK;kX
zG>jeH_H0$x#cxRVqq_f>V<T1iH<2(+P<=(=xXkcylv-5PiQV%aK=~rOkTR`}#OSxC
zU))ytvfZ-iWC{ls4G$L0?!<wujd+J0CbfQ#&5xz9-tKI8*~RpY4zmH5V8e*iCuz~x
zq4Sd3fnS{WZ8=>G6=%cL2AatzE*AiM1)BvKLF8bfy+Sq^1gb9PbZwNWHqTWGjYvma
zd!!iD83yD>l7%x_80V^BkPG<Z?VYO}D-^e1qqJ+w?QRzDGogisCkE+25H&q)4z!$-
zg2wuDh2rSryCyFddWn(8 at cY4iDx%dx%x@>kZi#ogNrJ9I(zoj%r%~N at jTtIcq&Ch#
zMnk=W2{cso90Pkz2zd&P$1;P<97O5Foghj5McdBEqp3V`WWEWiHtj2GH^&|ZQT%G$
zf1Z$fjQ#lUWbi6tzt&Txf=iys`XC(;mDriz#n6HeOJq;B`&Wf|GUO9*A!lBpIR4ip
zQ-A7Ka6m~KM^)hpHj?{x7XK;4f?0Oi&raJLw!x?)#o)Gdk$;m*GOiEPQ%iU$jN#W2
z1PImNJZVd8S9UZJMSs;?u5+ at 1(3A5Fshw}ltyaHuNtTOwz_EO%gF!B*wHhC`?e)2<
z9T54gjsuovnX={hQ{d%^OXj>HQ(cQ+dIMAQRjC_qIH|mN0};ndL#XKpD59&{Bl2H0
z1{a7c=zA~M$qm!CA`B3px4`id{^jvXHT2q9rxRNTE@&!grn0g^`zNhtT0$<L9Fl1M
z{c;9Vwh&h?Ne}Q at 8balO?Icj}ZuH!^Awl+11+RfSlhRNx4qgIuOthUNo2$f^VB+Q8
zlkcSU^a8)31UI!98B8P}pyB{r{dK!Zp1!8yjs<=4{J&D8x;*<+`u8z3PiNT{q-mzn
zfLEz*6%$cap at xIF*1X}!dQl0$OC0#&bP~oXYB2^OPipYIM6J_Kg!Mt at -0oo1g<Hg;
z=A=bbhVA)yHJTQ|SKv0~GSUeYu<J|RZ0rmc`qIK{Bx74TBvYB`rw#N9R0{B0jirg@
zLOyq=q(Jq{Wm(C6RXVXn2oqvkq8B>d0SEeW)M<1&emqMrMvC8 at Ed)NPip4YpRTu&7
zyt3;uUbNx_scftrE1s`Kz>=e5yp6X}*w?6^Tgv&nzH`pH^oXoEs;dTfPr$s%f61=i
z>l<aI(_8VVf8G41(tEqWL8rVAXmbC8&0Zn@{o5EC%nsA(cPPuZq$`|!4JDoaEKBAG
z`XW1ZEk-=U`F at 0(s|#CVCoKH9ml5^E-}(<SKR&#fWS+QW at wPdCqr~gWv=D$$3Z at jH
zs)URquHBIh at naAFBf)vA at mx8HE$*7lts!N^#u$LjGy>gZIsyIJk%GYFVk$j1r`#^l
zM|5kosYCmX5imNpREbi~&zspnqp273`66MjZTz!t#DoLZLc+79R+VLZQa9_pEGb&b
zwPnxvAp+U<OCqzB_veC0e)>-iK5Qwv_`Enz=|F^aAcPu^z;S+10nBxvWO~4$z`8HP
z at HS}LitPYZXmQ^Iw=vcMPBc^Nbi;-D9+ZB^YUd>3RgQ7zjj--pXArB*QNavj;MecG
zBh1ymyUxD4_v|J6=JF!pr;?8}w!?gsC$SP9ZuY{!r_9V8t40T^F8j~LWc)<)mi;Pj
z!{O^4#z(7l;x_LlHpXqS(&oYWm$m<w(te(0xabl_U`jPUNE|=XbxMmT3d6XV*gWI_
zo$JF7N`x|xQ>>sKXUY1Mh+4}pPEcO`y>P-1;(_{nwbl?v&5UEAXn;5|E*sy${pxYa
z-aL0gz#JmYv#@|TipqcA`wr>2LDDO$e%NW(>(&u|KZi~89Jq&XLJw at 5N`$K;Xcq_%
z$URM<B;<3G&}84D7Q{*VmTD3e;0-8tdgiEV8*#N%?`a?;LIK0qoQaz`(o&`XLXuY8
zHax3miZH|5tdB=kZ55pyqTtS$VCwRL`mZL}yL%8{!7v^gYL&gNIsZ#92^sLOEtev;
zIn+G)F?EPO8HTqjjljw|2JefFNo1Bs+G0?}0OKEcurTUo*7ALc<MjB|eKSO6%$XqK
z86G}}4s-qxe?j!P^mOXJ*?T2%*=7LJ$mbl9MM7^Bgiw8?|9`OC&_<fHsvO6fis~zd
zc-PHQeI0#PmJd<yp>uoZmT=_nsLU3O+HssA^q~p0&0#8^yhIpc1*UC;G<)B6 at igRr
z(B~$Y^E*aWAQK}&+ZuU2y#REegftua1ZoV+EPJAke4^!t8}095G$bJ95`bGHd<VVY
zUzC%B%(IJ>N4X9v&NB9G6+LU$TVnd5aokj#-+wZU!HejrpbZq+r^PSt%C=6IDM3|u
z$2Vh*POXT2^<uWevAs4w7`Fc3{OtPC-kx7=XOUFDss)KrV9vgzc7wMNK89#tqsuB*
zDdnjKxGgEF{Kb0W<C~I68JoI|T#`tHv`2O4{gkJmKRUeu2bB0m&r}25MJ)f}KK83?
zq{jigR1wK>VB}O8xAqp(DIj0reJ<twO~+pmr&+ZP+XsR=FY%sKm;CEmu8X6)WY*c+
z3zuYB!?&^EBJ))W$m~`VthS6rBf1iMARRZRe`rR|TSFn^5%>?+GP`ikc^Ds#uJeb;
zVtWtLg&Z7`#=iAxOawg-RRyKifwUIB=|3KInp>I_Qx_|o+kipsMYvq1L(R-J5;}zK
zL?;7;(w;M?M_bKY#c<5=G&hat*q6omwK9-L-u$sqOKc<&$bJ at YbmhiKnO}xm&s at f)
zS(?Om4Ymk~Ud$UxR`nhq_l)Q;k83~aE6jVOntfvPhk^b)@rT~rdtqv1PW$|?`|}_%
zXt{rBiFQ_a;m3&AIMJ7Tk?~%@x?mwnLNKfPM-pq{rY=re{>HD;k)c~@zf&e+)`EKB
z78vY_h1^QMBqb>=6+`)p!rnr*EWV7Q3w$c{tt#f7sdD1bE8^A+2D>-7DI|;$#=L at F
zt&}xV+Q9cYu+^w_{%LV#9kV+bk_c>v_HYu;Ummsql>fGnl8e?=fsnO+!luc9eGT#k
zT!FJV6wQH{T?k`b8k2=@lX-=8dLI^R*jbpuX3-<*(H$r&mcooYVRjOzBwq^}&b3S1
zZae~vI{RJ at 6oE_y<etCDSl^)iMspji{Q3Z?le1VSZbVObosY84OUqO at L-fD?;pU)0
zU)rVh`0Z_ at 8ohsI_pP!T)k-eBepXQ>KbCrV^u=8G>4{HIld^?CEv|<Jd4K{kB)@zH
zZV_NT5Sl-t&rdl~%Bf9>b|=iS4`rXo(P{M64Zdqhfuz)C+A*HZ?5lK%H$u_oB*Fz!
zN6bv<Grm5K>FD)0Fq)0R{AKmrKxq)*Kt4rz(N27x3|Vo8QO5;*=>+$A4x6O6+_A`f
z#<FbT+q9RaPVXN)a6k7>;B9nHTT*I!_&mMdP)Yl0ik(5z`AmFD;w%wN8M-Y`c*+ey
z&i45%h37xgjyF0T+MR(o+mX1iGH6?$);mqO7s6yeI*e0$V$5D7DF|X;Esf$~S^4H-
zPTXqtdctm+tqguWEfZ;B!?UybI&Gg#;$7q1e6Rtd0dh}hu3PS2q94 at L++c#!FW*W8
z-NjF^Cha1v$d)Iq);9TFU>_T^G}f*H;~ggtFm1%fD9SW`3xgWX6|w23Cp^?2d6=4j
z4w~dhz2Z%mGmyR%O}5Sec9tT^hUOEq?EUq_9Ipiri?RDZ;(aXq5&{FpWg32QELJxw
z`E!tWB(WtPoZrpPZ;eRMlgj9yG1^1^i_ZxouNMQ3 at d{$$qp>{V1UJe-8zt$WhwGg~
ziqV}S6s*8c<E=iglY&e-<3`(dQ}^<-Q!1`)^3rM7f8zckgMl^BB4W-#De~7#ePa6w
zZI0!&Ssxd<I3kaa8?ynv_N&rJl==A2V)ygPY8)}cmDpM_ZlI4LP5ocSY|_)ZhLhHd
zb|@KE77D_YB&1bdk66icaZIKvF{9#aDV9_TdLoU<=E-a~POMhvTD*kc?Oiq79(>qF
zJZElJ#AA~@2FJ_}zKyl9gk{^)+H)c$4s9w19whNw>xG?@FEX1|q5XmYIEY1X!&5mO
z^xVIyb7Ku%K;G(wgkeMTqPQ!(Mz_|=rgyp<iM at U*hNu><!_P|*mT40Yo!p}KD^d{h
z`C2Z7;8c<jpcQ%I9qrf;#hoS{r53{oD8&C_YrKjlo>Pk~++(I at b=Md?<_15wh;o6i
zV43xEOQ<3)Kr6BB)A*4S!3J~_d@%SIX#-T(#+H&y&hI{md~_D|6_8jeNNxrLV$u?M
zOU3BQG?BqcrB<z9(wfYGyDVGSZ>(9u1AEXL6%rmbjDheEU;hxkUMDhTxL-w#>1QM`
zZ~we4mD^ESe=Q_)O^52}_)|I~!*iTF=Wv=WD=UL5#$oKPwNF8HR{AEBA5s(UpN<Yx
zeRPAvQ>KPCt2>%<1Cc6)oUKKPcc=z?l{D1BFGTfx$QuK6P%GQ;HD-PMC3})&YWp)?
z169^*guCSH$`d17Yj5_NQOe717_d#qx6D%6S<zI(w9N0t&k;N~^Z=_MMt@#C^|H{A
zf7EPYrUM2gSG#|@AxtfoqwA|m=`e`g94ek<AMQe?53O`KV{hc^Kz&%^tED4AP#w%K
zP at i^DL7{mRGwG^5F*<60B~d)4D!Y+|qO5g-zO4du+=NPBz+*GT at J$p88x}ErM44AD
zG`~caD0wff-ZM)xU&li;RVH43yzvXi;1oUCc!hnj&f8u6IUgsLNko%Mgc`CPggNtM
zxSJ4;CQf3o6srt_2egtC<x-(pea=Ww2_n(t>Wr;rK(u~A&)3o>m&Zn6Scne at gkLMN
z*AEbNP}!Ii4<8ZKnd<-zEOf=tKXJNJ80s7Hh*Z5=7c8xEI`XHf{wcxKgWk2eOf^p;
zVq!t1=nJTZZOIw)h=xom-D;xjOa73Ncw|%q>Ap{x^KT*271L>UF9aw7Zdx&OaT;lC
zhR2kmWLW3lZZ*#Qh_$79F;$O5*9TH~Lw;|ppzJp$^9dG1rK;l`FggPAN|QvmrsECH
zZ<R-y{5_>3X+3FYG~E at Pg?P%RWexkzy9l<Q>^L#nCz%)Biv?c0u1W(5Eu=;;I6dZ^
z17lTr)5RLu|0-q0<*sqAo3U578&2e2DKp4cA=?!V-H+Dm at -i(P*&J>RyGQ69jb~i_
zhyM7s17j<bxDscyC~b4Bd}I0T_NI|Zzq{jEN~uNJ_?pJc5z?MvEJnk(2C|ul)|Q<s
za7!;X5*TAHxS)1e0qv=7|K3*jZ;1W^gX7~xo1K0v6j}aM8f$c%4H*I$?@9JGIRS8u
z+Y at CuiwmagOD;;Q8ofHBR1y5)J6~}c&IwL6sPBZdj#ao+?pqa#^M!ZDJ1x%}XHDGr
zar<c~9<+8G!8ygR9sgreAxnxL?Y+^`SP2%c?=Pl8ni=R0 at U^mR`~XZ;JuMc&9i!!e
zk~c0N-2rb_Jz at k=4t^5Og$G_)O2auS0RynyYDQ(sS24&AVMM#09*#+ff)M9R+|zm|
z{WfbvzCPoXq{JNKOh}>>bwFvRa(h<&Nz|Ml*DlB}Xh*)rWu1}{iz$;t6+1gfs at Skg
zP?eP+^Tk2g*uBZCekv}fV#>q&ir6};4b{B)TnYZ=lugV~q7Xpr_>_g8#03NF)@8uU
zH5c6UOeLa}f+Y6u;ng7;{D7Vk0H+Fwk4avZa2jX7<<r}HV&bc-%Fg)@6*XQy*H5er
zGr|dA3W2-Fyhj}yx7!`O73IDA?d3=<V#RxzU`0dEv+zk(zM0#^P+wdPc6z%1FG<X-
z>0BX_ZrXLTyjGSd*^UX9WgjT2U~%J^B}~L0r12e0L}56<S^Pe(Ts3Mtb~FRn#WGI_
zNOcsWJ>Ydr*jV2(Ia8;br62Ol|Lndm`!;XyN5sluy-2malW6fjSdYhU>!T?4DNOlH
zKOnfrDi@~&EBd;56WCygO+(iy-vP&UR<9dq{=xr(bBk4sO884h0<tt7)r<Q{A>9F3
zV9oGW=F+dYD>O$}l%I30-8M;X02H@^nlJ&m!JlnqkzDHp&-j9u!|MW;o5inKeJK_u
zr%}Qlk!YHh%mxr^W=z`+#Q3&;ZsK1}x|LsxJ1+q3K}tb+^R@<TK~}DR+gkAz9)Ir;
zp+SqE$7-A>o%G{P%X>`#+Ii0^Wp=t`boDc%!8tpQ7>0Xcn%{Jw!wjnlM!u3b<E<X?
z?51|yNE7qqH;po;M<Vg<G0KTi(#j+8%xQ31!XWkl-JGO1MKmFvrSt{N=)Yj870W_8
z<M#s9WK4%$K}BgAqe*=teJ_#T{h&{tQg~Ijp7ZDPxmA-!2tFEj$5=iWKt+jX?5Mnx
zMUPb*N)q&yoUO?>mm9+uUq`~`X)rIwGcEXFn&Q9*rFAZi>gRN+&;SX}!qEiBhGJaB
z(;MJairpDD#4Wne%&yU{7PZl;th~}rYZi#@+Iqo4HEvU&mLlYLrI?HIF20%TQCO}e
zjU;H|l-Tt-$`kFy)hoQnnMqti^A%w~6beLpdt^hzjMn^XGe#%tTN1p)<xI+_S?^TR
zHrNyPh$=icN(uuCsh5V6Qr0f}79xzX9E-iM=E0x(N at px!%<`#6(x;l!K0-N at RFR;<
zDaJWS`-&wskRCr!eN>9T+umR{T3h))o6nQl>e%hF%)&QP>IV6tn&$I2D!z||cpotU
z#-WMmHEHlkNz0ejRfU+%Jc{A_z|AM)IEEtg9nSvCcF(KLeMd^wA&A3DbaZtkT%lHp
z5FFvtBI}M$W1g&Y^Hjau)%8~wj9Gp^bH|G`gUm(E8b7tf at 3?F^5lTxe#(DX#*vN6q
zdihozmh0%JutI{vC>il22i9IQz5gr=r+yF{dffU5|3dTG!+3Wo#%JaqIW+$dW9Ja0
zTNAa}vR$`q+pfB0+qP}%E!*}j+qP}nw(b6U&=K7c|Dexc56&PXM;RHp_p=s-uU7OX
z*saM(Gz!dsJR~+KC;W>t6F;#HZMx=yfqCY at xh@iNywM&}ufQ#gLaFgWFz?YE%=%Ef
z-aVh}3fNoX0{0{~*M9m^0~Xl^G?|f`&jxN}2M?5NkaKo01-I;^yC6s-y+TQB0gf7@
z`X+fP6GB&VyW?+!o}TRfcLmwP1X?XqPeL;qOqecFj7p#x^L2<pSerAyn=Qf9<RcPs
zijQ%e)a#6Ir3DE()1!?ng?)cFF87_<Y_)D0g1>hP#m}Ek_Of&<TTw!Tk+0?krJqrb
zW|Ijvdy?`qju2q*BnLA?Re({{eQQAfGlRqY{=HCx at QDb_A-nq}HL<-go%Nf9j7mU3
zQte{EYIhM=jZM&NNaw|J(7eW?E^V^UKdn@|v6z;-Q3+s+A8vZVCp|$3=lUI`H6Nc%
z at nm5OeE0Fu5UZdgbDV1m@gtJMz8vcoJ*NsLnWYyg1h!p7m>is){*Uo~{A>><dgNvm
z-l#90vUcO-E6M6?JS5AnDQo^c+^~*ObAqv*rq<`?K5QPhRlN_IbMLwAHa^g|gSRe-
z$m&nOJ%iw>D4d8n)gE-g+9`t$o(ciO1>;B>=B)$|NM)N=+lzIDoQh-n!>gPwH1}#s
z*@op>MDD~(dT<d+D*hH1E6Zl75(9qY@*^`?xboF{cRU&v8E#E`aK>tAKaat4pGJ^w
z(V#7-p)g^4<}P2kXU;@qu<?6KDc|`laXM?mTaW#|NNy>`*C at i0y%V&t%PKS7Qmcb+
z8wWb`HNex1kJ<{cgTc$14?0C47hyAOipfHbP at RttHT><6V??o5NhKF(ri1u67Za{2
z1sF!0l{e45rj5tlvo2QbK~7#MXK2s;j~)VvuU1RLm3=JM<m0n~wTF=j;}_9%PU|yl
zRufjw>!vwTNHQ=k7?J3EJO*7A7^$`Vn#Paf5KU+m<9FivWP+5O27^+q^>{IEGA-L5
z?a``nD>`tpJJxe+D1A4uj_Dh6gwzG9;L!)y1tX3J%YZfLM19mc-KhO5z-f;&((@eP
ztVt9O=8rs_7p_}`D4wkrcsOq%iF0()#$Q-d{3}4Ui6R+s$pGAX%zaNThdK?TRv;XX
zv{DZpZZ?#}F?&d~uwgMhd0c;zlQ-My)a!i%eQ0}4TRnQ)E9OIKLcy5*F+Me=pNjOb
z{os0YF at iB8wXbFcu@P+-(arR?A4oQ+ at z*(X1Pr*Lj(iFg;fDUP!G~7xSChP0zrAc0
z-d{!NYVT*RS_uSpkuI>1>@rMmfm{<bCFpVfT;(1o?omPW4c}vNG3rzNtw(Kkc9_ca
ze_zzH|9-LkQ6~bI{BLPVfb7<21WPViloeaVvZ5O&;_L9Q<mr=hT|?3pK^R(YDOCs8
zmE~#!?aBu at 9+!#+EP1&G7KGo*-IxK|VAT5H7!Kd9f=8nr+&(vNDFWo`TohTKP)C&P
z at L1N%n&T1Ayb+yL{iv^M`J_%71k&226Ev-?3;k47zX9S}i at p1kK`rhVDgDzj8**<R
z8}r7n08L>HuXxgpHxR1o4K|`}<3=6t1y}Eq_H_|ygPw72x at _viX>!)W6YTOXSO(S;
z*&-1#V(FEUg8B+~Yyxy(VX5G<hPE6)!jq=#;gng0sIBoOiWkaQ&hnPlj>mxL{ytPo
zbBFs#PyWVo5}{&-Fu+ZJ5h*hOCj{hF&wdhfe8xbF)qR~8C%=fSRA2ry`^)Qv)?7Ad
z1TB?+JhoU0!)z95L^-(sBp0OUn~HU5`FP)^oXa32SnA(_5buMjW0-gjTi(Ht{chUA
zRo9)P2&7u%9ifVJ=8Nsh`YY3 at p&bacM@#t3RH7wpY#Si7z975|8F4ixiWlbofa%zN
zY|-BKakpKEGHvtS*howYo;v8tO{iSsZKAueKrNHnwb9CE4&|kg4^4^@r>Ih$HCv>L
zDy5xYL-ZF(JYAxy!(*-PjHhOP?s|!`3ai$%Y$hJ?uiFCz>t at RKVw(J9*zc{3K+pHz
zdPZeacvB>)9fXv(-x3!|ZN%X3Dp#B~`1(wB1e)jrPQVL{UE;@9=1tbNf5b;qY26G2
zeq~`akOpt4A@!j;U7z7v9GqiedPMPbyG<;XL}zi!%rrebJu;_>$z?Gv!nx{su4a+#
zRB}J~$vZF^G6=6|nU8M3>=T~%V^w9&`Nz)*A-vo5%i0N0AtVVJeN$ohb;-4|bD<`j
zEtK`-N at Zp>SN40bcAxf8f>6Pl|HoJsKtZcmh^N&nf)3HcmWL5<Iqihsn4A*c{I<|Y
zx+>`|-%i7EN##-U?SxKhZeyZYV6Aq{SSbl6^NVf3=c$wYLxS_X?_%s7xMd6Rm0 at qY
z#|4u!+XPOe?f~i}7K$^mCN9yQ8K at 4c9?i3+0gqTnsK8uP+m+DCT%qU&{NH at zN1z=k
zmefN(eQHd1q=;iLoF5fXsNVm8Wnp6cpRg>9%>Or*g^h`Y<^Ql){vRw0I}1De|0k9u
z<`rB4cVZ<JmO{V*sy_!<=x*=k=B5S|uBLzce}93Uo!aqxH#KS9aVEL9zm+$16$bzG
z7A~*#DoY88l2!9gSeh0fVYD?jlox$VO(CHqs3aEVK`bn>dKMQJ1{32c1Fxn7el^3$
z6d^V?0;*`&fA@(DV3!*G^ilsS?#T at eVBtLJpl6ssE>l-7v{y|{Kwer}Ex(*v>kXh_
z&j5coV5ME)1GQ8E9t{*=8f$ay`1*+NPrl!GC_)xO$hrFZdWCO1guO<fjX=03T3{uw
z7jl89S3LNqDPR~i2*SMX$KN8tL)QA%R<qK4M;Di`8gs+f?TMB2tZbM)s0I$;G0<!O
z7JmOw|6WqiqGwwF-_#epRIoe?kcQ7R!TyP{9mQF6C=Y!`NGu?_>m6ZSTKIq#|JQ9`
z7^6fWEbF}E-fXhpV*&8D*L|R~p2csD?cTy)DX at kw9*x<)zKH>?*##^UOE^Z53{YU^
zfyCYGoU3vmuhdXKu8WLK&F<05?>W$n%ky5IFWnA&fpmF<yw{q$-H$6c8^M(qx7}-j
z6F<wMcbe%>CRj~u7!6I0|8{Y0 at LM5|WCF|T!S8OK>8D?lQT(4B_0n$)%EZ#*DGg2-
z(i)pgIz9$eLFR6k?^e3bZzVe51&CZrOADR-KQ0RdkP9<o{<}4(sJZptu2 at HJ>MmPb
zr<S%RX!MRL(6*ph-z$Gzjhh$0KajUJWM1bbKm4zBor?>QaC`u-0D%QuL-2Rfw=b5(
z69b^vPdgq}An2w0`wXbb at B8aDX~jDXOG`78=hyM~GtzSCJp^odnd+DBy;lqXprP=m
zVPoO-&- at pGE+8&G3uNH=yZ6)UY4R-aTXRTIZ<H#g2Gru0@(GaprFtLj_4dEo1r<Vg
z+tpc6yUl?Gi~qKCk<}vC3VPLd`OV$@zK#F&)BRCT{aqFN?L~v;NzeMVrT9!6{EgF{
z1u?n#vX6V6ajo;q1)-{Z)vWvKt)cGoi>diDhje6c?^kW~;&r>&XKwkmGrwfBi<R-)
z4A+1P!37L&D)<6H{%e)#S55QHW_Lm;omZ8DcUB7tAs{O*{pn|O%VK8m@)N$+?S8UL
zzV`|BecK|G3ZWM2H;v7U$|5kkqBe{5@?EhT0lg>n%9k7}P}=K_CGfbtF!93+c1J&t
zXJBFq`?=c9+z4a=_M`QIQ4eep{3A`<1cbfMF9Ml|{4NX!gk8 at +1ecfaC49?O{PQ1)
zMeL(@=;NRA3*tPe#nCSks=wHI at 6gLX(c9jkx0`bFR{#egPa{A5ZTa)>ocBG19|-2|
z`FH+X(n0NEG1C`h4=l(J=&n2CN6_uQm{{H~^P;{Q4dkZZTW_xaJ^vkV-x0xE4fqqH
z4?p3e-(Dws<9`L=@xOu;#s9{)z?%Bo_u5eXGv at Q^`<wY5_TH^<>9^;d!v5cH>fii;
zn{KI2e(c>Cx7)Z`f=BP=7r&`noXxB?kYAgZon+RRShZg$kJaNlM4#2?L&SyN&R-Iq
zZ*RWS|JK;2_dEP$Z3_shzWy}+eHDJ%`TpJS?bY-bpvVKhTIfmv4$HNS(ZBRXBZwt=
zp5f#r5&AV9V{4jdL0XC9<stx{38M+!niK7rS>K)ugFhnqC}<U9QFYN`xpr+mQgC}J
z?)Yy8;6q!*E@@0BPTVaK;i(e^5AUJ_E;V%I%$)xi60g?Ne2l5ghTiRD0YQYb_q(c%
zhJ!1J*p~AL0g)XaA0}jcVgd;9WOXEMMXg_dnuBGN{$=?l(fx}QUH)y4sNFvJpJk(8
zd+-IxnLG2$K2c!vkn0AK`vQQ2r6u@=)F9NPQyc1$Dst+yV|g}9X4g(7AS|6k*T(xn
z>FI%0w;AEwmYVraFcAj2CN at T8)2T;PRScv#$xyq3L2H8c=?cMCAh~{ANY5PsMC(LN
zvYIQ}J!Sie at N7b_5_v1e5bCC?Jq=P=cf2(*R%N)<(5qO+&BrTSzM=~%8B>TwJ_tT`
zPhX-ny<|j_PvyVvuL+j{nyTX^oJHl&gjZ~7VaV%>DL(BZ_y#KQl7CKESiBD9HWGpV
zT?p`1rC_?lZ!>ax8NcCbcy$4UgPmbtd%jvF=sz#sMNDYUVojY at 86e3&N5TGEo44}^
zg^Qe~JOrl(rp9uMv#YQb^R-q#>5cV9)W0j=?{yZH1Z6_y<9erMCwue0QDnOoSAX^$
z{63<5iX5zuq&!#Nz{b*Sn+`uSdU@!yPil&CRITI_$w)=@&=)(`v-c at gYE*WU65Ko1
zu>;1lhPij=vT_vrr at D6RxCghBavq0M?LXkMbfO)O_!_{nTeqsn$-u`k+z3xOhO~eT
zjm0)uIM!-$D#Vco8R2*>h)9s#hjDIlHhhK3d_(iv_w{M4 at 4O=q(p+Bnm2 at XxKPdBR
zJnjb8&2`k|CwA}j;jDFOaz5wGg9rby*?KB1+WGfzOUtRx=lVJGMVA*^RwcSCt0oqS
z4HPd-k=}@Rjb-89G-F7EE{z91f9J>@65|en6w1X_g1x9dyLv}L@@JBX-1L9dMCJXu
z{JhZkcY30QT~jrTB}BuK(qUK;fYVqY;NPu8!cpzSc3<bzll+?P2V~q3M_)jVYV+Tf
zbSD>}PPTS!YSG5xVN=G8i+}T^NBtKj!D*D8&d}r+*6PZ|P-BwFdKV>%Vw>c_<yB&8
zazR<i-JIcu6Dtnpez9PVe5M}6IG;k`J#q^$2O_Cbm!Mft{1|T9tw|6Q&Vx3(nI`y;
zr@^z^fTGjKI5J+=VgxlHQI|)EmuWK+Y4Wyj!&#Oc&&K&K%{#kS;q?GV8_vA$CdcGE
z??4YA)a3kDLH~P8Stj9eywpGhs{EfEfW1pvUhXN+)%g!LAm%(pCj5+%G9$0E-q at Ob
zs&yxxiJ<LD9jUBE#AcZc-2*$j0S7)UMH?h^muRqUGzq%(M4G94j-_63&vfWMN7r;v
zoVfXWzd3c6 at SQfL5VOX_>KUYxDlo&;-r3D-aaPuJ#c2HX4S%?6=G%GmBnyz9(NwU3
zhaJz4b<=)-{&>TM{O$aS^$JOmVZ0z&Nux~5c_1t5sKl5N5Jy+~y0>XMe4=tGg#E}{
z{?4-2ywIc?P`9I%TaHNJ`pSbZ&bS9+`#|fpgi;3=LvnC>$l=G<Gr)-KC5Bg7BopXr
zH{z9tR;3G0TRPEQMRF3Nu`HVEcsVZYOUQj#u$9Yu7cy=&i-Gki^$T-)UC_1maeTTC
zfQ%Di;RjVQrof)YIj6xrKh`~3bq#Umj=~A^-BX}<W2}?D?^ML(b8<A>h2&ddd?I4S
zPC-{TGNg%afV<19EOqQPZE5LiDLnX(z41pPabz|{^PrJEjHUHHF^pKO<;S)(d0yP3
zovw|gnGyp6jZ$~k6i6T4hS^M?;60C6=1+uG at Qhbv!!R<kyfX9Dy6k?rJU>Jx+V)WM
zg_gCdS$e$jWsaEU#d2%56+c?tK5IhT<g;(RajHXAjGRxyA}s2VSD<GgPZ|pJp)+w~
z;NKu-dpV`59DC5sGzR-SAw|8S3pC%T<12}fy2dR5i3H)rUx4Gikst<eK6-wooP+30
z^iH=)`6DB5{??C>EcdY{>g52t<w*JiYw<g4$Z%e&vl5IrX9OX_OmX0wk$tN<xN#KP
zL05|q@^XdjlR;p=uio!9uFkhfioKLNAd?qxnmq4FHGNbNsKsF$;B~PidMr{ZBn+#%
zVq=2RdyjF7(<aWwtzpR-pw}#reeMBha}PJhVn?=TX<o*{J8;SXu$A|33vUgS7y2tF
zU%b;TPl at KzP#g)3FEt at 6#OEzyb5w)sxeb*@GpqN!NuMXMdf;+!ivAbdYSTjA-MOus
z%c?q!+aTnN<m!P&d{PhkV)e$|Z)w@>6pvWATj~vei6$FJ(DF-lymuyd66Qrw59h5?
zG+1}Q2YD>AWlEF8)Bjc|(<#p-Zn>KW5C<R-A(SI47-sQhJyaS?l?`r|BT6mprf>R)
zf=YjcM>dYF(<+<uA{YOOWlTe<>Q#MnFlZI{=}62JfE?b3pmDRS;k?6BWSl7AK|e`T
z+xoAoVnCHjZt8&)6r-c1_v@)q!R0bJL+B}j!er%O$P=v1QN4)Ve?XbNYz027vB<4S
zfR4mPn<hl8oGRQ9$|h at Mwr~D{AUaK0ZR5VPpwoX#kj}%J*5IH8wbn(~71_2AEQchK
zRj`xw2)(kYKSF2!nr(ssEXPjkBcglxPdWyseiuw9YkDFfPRMWPGjVt6Arw?`u*iE2
zN)n~MEKCj9e(iquKM&#^K0`CA)4Vl-&7tZ8?ft+#=n^2ckBjs3rCaCZ=B)l%%KD=`
zZ#~cmi(eqk$gkCcmCE<699~qMZ=J$|HWZ4Y7R^1q6R`}BBFbv5(oA-o<5tsRJQ7lY
z+IxK8#-bA?rI}JhhuXxfx|G&Ec2>U#la)Q&b&}2IRj>dXgn|Vm9z8Qz84;gzJoDRQ
zd+orfbR{WJV#UCghaYqpQDw8ZF7zIp4ss2y<W!Nytu9l`aLJ3xC2p0R8$b@|Cdf7k
zs?}l6$gn2193cBq-0ojs2nRU%WI56vj>=eWXf;Z-5o-MXN at R5N+gBXqc*fxns@`=T
zeND1q?@P34^54^TwYDB9c2Yd8eeBQp^U(p%v5r4k2 at rU@5y&2?Z9?+8M3oX_|G2W9
zc^SPD6b91^*qHveTeedix<M{^zkL>3^>?a>hJJld5;5%y=n^gZ)X}zZ09^lN;yg*}
zHz-*y%k|qZ$eh0_bU+_~`NY|dH$%q#$qD>3G27fA{cn)J=7D{yUaFp3!`pP-(|;Qo
zr$HxH9g?Y-M2^U*+8g*q6eL1Fy9E>r*GLLI{WYCF%779J)D^~lF_z&e5;}H6I*F?}
z0RJPTZ~O5rX)eBa4%UT@!x7R0TEzp$d}_`Xa#fA3%ow%rI1GZqa2)u`*@?xN=P<}>
z%_aDo3FYr0#m8#l5az&L6b%tOH9EDV;?)+O^ETx<*_QGc?layGX6alVINkJ at bxf6~
zc5dgUIS at P3E=J8*6-WW6aCp%ctev(-R%qVM%;IbVKRksuyybJHrNb(wF|yst&7V!W
zCoVbpSC4{ZRdwty at hpY#b!@KmK)T#@w|rQ?*Hi0)hE_ONXKrmKOuV?)amrX0z=O50
z#jnfUzdKlOk^RyqXUKwaxJG>Q4%m_;EDcC`v>7JW<b=dJ`G$y=a0PZ$HNNIN0>RJ&
zv4*RU)=atFNEN;G`c_dk;Vi>5VP~5!08#2Y1)o9g-*L)Ud at E|137fH3pPC7j9`fT0
z4~6>ZZy)DDcGnYDDdil*x7nmU{Z_qz5>0Zw at B#ulP9Le<++s6e2u_PeNlV0v<fRuf
za<OYl_3Gp{CcTPA4OYhCp>>=da(+FxZ5UXRB%}J?Rg>?JHE*QuTdNu~t#hDYtcrYO
zgU6NwN^tz>MIN2P%W??;Sj|K#$5>1?3M9LDPW8^k at Og0qo!eLB2kqRL<fsq+iil3!
z;cp0vi-A*3!Q(aKzE)w=6KyAngB7MPB<C?w4E^(y7S<@N>$$p9VS+_3uMB4Os?+k0
zD|pFc*A3VA*Si}{X^|0iV?KX at VFdDq7LvCT;uyzRvsmT{5E=JBEM>VgK1RF@*jSDH
z6N=D)2h^58%NE(_?weI?8MH^%Bx6_2C)4e{v^mpln(<iCZ!F4xgqb63h5Vrine;Ne
z!|VD*d&2n&6mB_<C<%_=DleKQ9S!>8WPfG&rG*4d+{}>vZICp@$!!!b2(-+HZ@}BA
zJje86G+0FQi(8>EK?m8m=lSX|ERkWb*erv)+XEy)Y=%0wJ7KzFpv!q0C85f+A94Z-
zKMQ(^`TkLI=R-2H2Z0GDUrn1XNicAY?pK(z`{LS8op%s)7RBss4W<S^&6}m^@aMTI
zOEhpeFnC;W1HU`QPrCcS=>_LyjQ5E5O`%&?tScz$YEa0I^X7zliuj3+pvJoA_5JlF
zPT=f-pnJcWM*c>Ij$T-9KkAJBH=H(sP}(?dCQ$`0eLXIkY*aTJRiWY_$m~8f`<QMo
zF6mvgx$8l;>N^`|P1(6-f}8!|3 at X!mo8PIg+NPC3Xa3d0ee%ZSa9;=u9f?ZQzO+z^
zOL9Tx$~oObp9}Eo=&Q7X-{>HB_o4Os8N4noLt4Ck`42FXzkw#n9~7E1m54~~_-AR=
zQ4s?hf%%0_wNym|J6}X8I*~5U3)@5bze72!3Lifua_p;ELirmT2ZZIP98v5k7Pe0I
z1s*V~2;jP7B4Rk at BXPtGGbX{+`KP69&dJ+L>oL6aZ*<}8sBx=<87l6gKlAMi?t6hu
zUcYP+znT7&$cc>VqM$`iZYZ1yfv~-#b`apG8>&tZtWAo550Cb?l%H=x36 at F+Yh+co
zzJ4M_uj^&7V-tsdMjn;~gSCA%M_+I`oClC6Ey)Vn<M)i+Q>>78Jo2GtDn)47aFws~
zknV~#zN at d8c@CCpq7yY{*LHsJuGF#Iba0zb<JNZ&+YHRbJeTZjF%go%Sp30!3Op*!
z)(E}{uE5eCZ<XP*#WWT&lxa4a=dy{BijQq67d;1Cu*&x$j3U_xnX;cdm>FudXojxJ
zn+<(MBB|0SXt}(h5XY~@ACx)Ax807)NeXwETrEHiQt-c8V96gV%+Gc-ck^x0hZWh&
z;ehq&X5&u6o681pMwYi7xHk>}5zXc%24wVGet`gBY-&yRmw<@x$TuV`qYzbp8sfr2
z7*eWGJtW$<xmo!O7r-jg8y_g0OU+iZo_Ay$FPcu+>g|$!<KVujP7CP^Q;>D(83XDA
z6Be2y9K2eqvquFZv-xm!rf$GR at 8&Z?V#cq92gOyH+FZvnKBg9nV+k*IVt%}P_U6h6
zjA<F^W4EM|>ETf*e%@&Nyn>&2 at UoyjH(Ek)k#;nrg!_f^cOrHSGtk_shNCMFf~4MB
z-cN%Dxrsh)27 at 6{EKFYowT__RaIjAxjIj_^R}+0X|0Yv^XVqKE(FxT8cF(;JJJrkA
zs<`7cYO}>5n$r3ihUOE*@IcUll<wzsY~?2xn%bpXNC$BuF&JvaS97B<B|*=@#Gmt)
z%;^oP1JKEm{xdqylb#k-FmE=T+RCNED}@25D+$tC)GNf#LyvbEgSQF2^-m6!cq>96
zZQ~=ZjC!jgjfW!Ny<eQ_(hfH%*bU9rWW_pV9o=7B7f3mrH_T7t*j7?&>W<S_h9c@^
zwn%)|9d%ufEYg^Tv3y}ocJnLNlBuWN@$mK7GlxX at NUcaI+I`MbM?R(#36|A2D}q-)
zQ(f@=708z2ZMM(hep6xPIm#y`26Sv2&PoUT#Vxj5BTh5wGxYFSQV|^8{Hc3{@;li>
z>a+c6S(*z~y34AnjvJDukbGmQoJ|vSYN9TjhIazWJ&Mth0?o6FyKSjv`vx}uB5}Rc
z9m>2NOUujzCcLK*==Fz1%S*JlDXp2T<xYO(Zp at R6YRYl2f0t+osV3aH*8Xu=hlIOk
zz0Tnb(nvjK6q$*Sb$x?wf+%S4VOb0>=StL`>v5ULx<X=*joCzAO}N?3G!uqmIwzR-
zF1Ci}5&Ub+eH2Ymb-nfUtW~6|;74Bp!p0j59apU`bBlIEIXl6DY=w6G&lySXLDpyy
zUE?Um`82VFYU>q0%*aa(sY$=HQ^(nog6$=`VP4*;k>9Kd+U1(EfI7q}-(WY5Y0aFK
z_|6DRMl+Mm6)Y_;MsVT+4ivr(NnK8i4QFcX<+O}%?%-c+eE#7;IK^nj`tQVlEvy{k
zzx?MNZ*F{m{tR at 9u&(}y=W6j*`ol?+I%<~{n_0x`ispKGdj0hvy`Jj?CYL9L$%4KL
zIr>75%{&JNC*hiAC8NIV#Au5!l!<8#-`SXt`8gDx;7I1<9RlC~5)?SaN-_uI^iO0q
zX0J|QGwJZZ8}89qg99}yIAmKXVHc6J&~GiuYuv|b3#9|4#8>SGj-sEU at 7DAOR*hK0
zx0HuM_SQ>=cd@>S(NC?4d_=nMs(UTfYm<M4`WG=O=#TIu!txKrAW=v+n;nw^h*FP@
zriT8!_~rvefh0z9dI}wLsYjG<9DP;Fm5?ds0Qy*d#`6{5|C*6A1jg_Ok&)o{n`4_O
zlf1p{qmP|UIN4g(PoPXZJ;(+(e-ZJg(dM3&D-i^7lG&&M#h{5VZ5*^FVQ%E(j>u0h
z&M>*%xB8yT^Gu at ELn~#l%zoMuL1Mtjb?Jjdx_ue|sO<VBqJ6Ha+M#Wz;}19=zX4)u
zmv6yOEXm_fKk<{Lp1EF0mafbpm!N+Xg~9Ty^)7;95X67_i~WomJHW)V-X&Tmvm8)7
z&O?4PnK7L?I`i+-tL6IQSiS$tO&eIywXiKYz<s0Ad0oe?&ez0mgTv-tY!SX%_E;n!
z<4xCeDMndh2${7Sb2^R_b7t<+hgP at uccDp{f+Akz;~A5E=Ys5mV^w)W&Z9E!L)i-6
zTV~tQheb*eRTijM=|{7w%(S<V;}*#XE at Iwm8DPanh4y*FxgNuyW`Ju2=M@~6LhdSa
zL(E{br^MbGY(5uMGxMEP?Ro`q&lgvM4YBqX{Ms0NK=2F`uvV^o<O$-v`_SSRPo%wh
zE3p%!l8d*BX7~=8yAbA&V{4IL(xb(cnl)rFo;2e|D82E80bjGLZh|t7qrm0{=CbH3
zE%R~Z(l18SDzi-oK|j=&rcrEL4zBLvZOIJ>^c6JRn|<c|c>z-c0=6v0v_B!fNjn`1
zX0kPC6pnE(l3u;}yA8z8JVdFL>Y_m+`p<Bj at bDuMk%NQrcTtO7Nv|BKvMQ-ZybWV|
z`I&xIqISDAxWf>QF+4!yx6gg5`!B$n$?@2fDU<}hVFFKX!D`yN*H+iP8s*Qw{wHQ2
zMN6C3KO$W7kbmSkdbfowgh~{(*uk7Ic$nBzX)h;()GQZC$e60 at QA0RrE?PP`g2oiK
zs;2jN$h`fi#|zJf at TsRY@F4p_paihFAhyUk2dk@{=S6cyjyhV!_$Z!Z!_R*j7 at 2cB
zhAY{lv6-3y)+qH++pw2OjzAG&ch9QJ-XKPrQv=hfklyv=dD)ms^LyUTTxBi6=Fpcm
zyz4~0=KKvXy7Z6vGEs}nLGvs`vvi_=c=n7nQO6=97c*iLy49?`9830PG})0%=<v0U
z!x0wqkL06+L1U!M&c3mV!v5V=2aNEa92Q;|mAjBhwxO2hE_?_jU5#3fCM*P|1v+zs
zi)z*%MPYKT@<w1Vq30fZCXC(R7O(a%Aq-s)Cew{^bKAku4Q-fcnamJ{E0jBS%i=w2
zyw#T8<Q0K*PTrSDRcTXE<rCed^0>J?e-G>WQ|hMajZL>Ukw8Q{6J_cI+a<;2iC^ty
ztlYuvptOj#5w?{E_EV*=eq$+cMg6wN>N+Xjp6>ZWB%as*Gc=FvDqlJs4t8s~w>Tw<
z&TEnDSz|x-C`MH`N;-Xt9h>IEFpRGrIJkGFy!JV$yk-r=Ll3Oy$ES|SQG8e*sfHm}
z^8`{ENgDcoo6Xpr6v at u-%R2g4TF}F<Uf)Evt<kC!z<5gHt|}Y~t|j<S_LP>fnB%P}
z4*Q at nZJAZX5E9n0&YR<!C%=No5=(nb!k48S12g&&JibBX7pPch7#}6Yi-mE_IXQ<*
zloBEBJTbxE$?#|CLO|;3&&NbI!<$PJt2j`+n{N*HD7Qu3UkU4q>BZ0_X7f$B;-;`i
zMzSMosq4N%TCwqEiMrm;j)(iT!8gx>QtfL~o@<<n(2fl at x**_4d|rU1O#Ez#6_f0O
z5GTTxux=IYfB7Dg3+=`;MN at D}IO}T&A5)TyGG#`0k at O+mh^RmzB<ruskiIWVm3GZ|
zl4MID5dfgt?R<u*5@!=95I{Nh81=EB)C|>n=p_9}WIGPPgES;`*TiGgR7Bdi8kI(%
zkC*A{1`PnWpdS!v0?P4p;R`75i~Tsx!d%u+Nc1nI^z4?^^!zm~{&d(qo>3|18Tju;
z*V$Ub%05+1iRi2MOg_D?8j4^BT11YYnv3R4hL5{qmUhyp*^ui!aK3{L!k(s7G$^R0
zFb!6~>=}apY=O8{xV?3jccg-w(enUY!v7`vM_^mmPx at MJsudBO$uh`0PoEeUXupyr
zQ~a at snNaVUacN^ryy4M9?yECgCPo-_8Qm_0U`pfXlj=4lH!PyrhyzJV=`FRJ$H<H{
zs2jPGij)Jt=9fx88XR!NbhI_}>8S$wulMojnYb+#^S7T6Ds|{pBMzRib>XsL=KNb*
z6S=f&cs-QPH7b37jr at FH!$CGn$2Dev!ai}mNJbK!Y{xrBhMr(~X}4*-IRVSBvReJj
zDa(*}yuCwuNXb4`d2i$DpeZjT(uz>@=op*%701QB&isUp3B|@kG7aDqB&=R^e2P`!
z at M0hSV3ABumb$-B9kBDCjYl+%B$v<9ZH~&lkie~C&;=fyv6uBSdh at 06Jlc6_Gm36l
zh4f6hz?&*bZk@;43+Y(|kBw4&8*T)%bUlSi`SM6IgOVx^X<&bY>{XiGRBI#tj3Nwy
zhVAO*M6~yKNZb#kTWhL(A<B5cf{y8(ow(!ri8x~(Ut7nLq`;ns%pI<TT`QaF&Y^PI
z|K$aPr<?%^bVPf0KCW+s_PF&ENg^h8s^wC8Uovh at s>!XbDN%RS{dmYv>=@Q7N|&X(
zT!{}g`=i_Fl at NiQ74wh<8v+hCvYWTS7j<NE at g>ROK{!!#z^<_)`jljX>(9uj(8q^k
zn!GR$UEup(eIA@!N;!<_QE<DtAekn4WTk`PgcalBO(RDVdoD^&wo~+suyILc9S*W}
zY_u}E_QW4$6I_=bQ&gYgd%4C|?-ru(Hr3hjo8j;%R=7--iMFfvBTM&r4pgc&?GoGa
zxULw at S6WjX(%l()-KlNau4h6u4c<9`<qW|<@vu<sTO}`3%vH}o0)C~Tv at -G(hTQ}d
zUR1RJVk>DGszr`eO7I{h!kDDk;6#rV)A(k&eam~DB|+pMtU_1yPVAq%v*&DE4l at rY
z3@^P{9L%MNM}rIe&gZN^8}fY4>@np`(6PyE#{}@Uv=Kx5L?PQVLx(W3{P(5|ZHT8P
zFKBwCjT#6E1^Av_$97?-sN+~?v(nZRI)tw`cHYNy!JNaa+s9DW4#mA0?K8t*W~0U}
zE3uRN3O;sv(XPK#mCCVK%w?mfKF;QXZL%soAo%LF*4^)lS%Ov9EGp1se`#dKMMp{f
zw<g`sh`CDpPYhs1nD!xi=>;(xM=Sc#Wn9Z at 3McT448A6J7r$|s<J7VEEd#(!&*NHQ
zdDcHKJlu1~8No~o>K9RL2$&v;>+!a-jxQZC$Q!tV(wN8_ukWKiMcNwoaocV6zO+bS
zBmV6o#bh&Q7r1yRRwdbZh>>JffDMpNgf|Rg1{wY#j$>+M(8sCUO=Xa;Y8g3Yy%Pn5
zmVHN3d at _$#CI$?IKNSUMkj@$!6c9webs{-EYpsT4YqpXhqZFh*MdHS4+;7!VL9C%1
zm=ann9-Nu+tPD*=iZD-a-4F&7<pUVpA1#ca7><~-d9X2|_1)K^&<6vMD0YEuHHV)1
z$Xa7)2DdE>q6_Um4>Q!M3fVRCh^S1<91468edvAlwr2dACsz)Z`u3DJYW&H9^EB4P
zjZ%tR&-$}}L^(-yrT0~(2*7PTwiPXQ%h+YD#9K*fh-xp??`x0Vg;t4vvfAoYB{thP
zb8j~ig(J}db#B)ULYD{jx?~VoglWN}R?4L@#7(@=NbsXg$=t9f4%&}z3XY}Zg4F=3
zBUj4$2qKMgBPMTm at 8#_7pD|LRYyzQUENJ$U&vS2S*-`&g^zr~F7Q33*u&Dg{)sk3L
znRAG-N*CuLqMop;vA_8%muUZ(EN;Z<yNpyok&ISgqDBx&GFxs(kKnfV{=mxOju8!j
z?{TzGxlfRW?<p|?$)(fxi7w)O7x=EinhN&zKmU=c8u7Y0(p_NLx6tkN5?g)R1goRa
zPv<ROetR`;{1p%x)6pW##yCG9?YMt{gf$!1b0~+Ry}f)Lcq<Z06llW?8&eP$C+yRf
zN)lp1)gNYx8SXr(RnOW6KHN;rREH!TaZ{!+i+plb!AO2%l9lrOHZ|Ke?%om6!ZHHK
z>UH03i~F$clW)@k81S?-!^UmOAMq at YdnVrRMb!k06alFTMg7cC?I_k<U9I9K|2 at DX
zu)87>^h}ka2k(@~OCKA}DB`R&MRBQ(RGZQm$IxpZE-ZwSbf$VZcK8*_*s2ASM<f66
zN~8=41l?OiD)w5hL<&V-);d8Mq}i2`WyISu?zFWnMJU>YcTn<P4x*5D?6(6s-6&Y=
ze3P<zK(mJNom*_gqy?kWC}gBoS~l<6KwwOoxi?>Ad3kZOPLN%6e26)VRCbI!a!^DL
zg||<js+6z(HdL49UBcL3l{_ at j^2D!!R<>HBJR(GE!VrpJxtR_I5-)ndwi60H&n}r&
zYZw4SyzAZOm(bBPg$0(mgz^N`ZdEr7vp7S0;v#zryhVDPC%jomr2*MhJ(qA|gQ#zR
z3mI!kDJqvYonYPO^6>3CV!{w(zc_v<+&^vKyoFN>7GA&pH~;BF?9OB<<^bVpnPaLB
zOg%K at o~VP3UNq^bAiOnUS|SrWz}8!AAuOFE?KLV72P`+Z#V-=j!)8w>`P)}pmR<hB
zo8jO(Ot-nRCQ9+l)L%&}4l5|4jJrnLOM*_wexz5%5Y0Sv61&NDc{b&F=vrQZc}0Vy
zNFrI}{`ZsIJ3Y;R-X>4eT!Ffk;JMjd{VK|S<YLH#e(ZIX`#n;%dzYe<@D1_d^bhJN
z*m9Qe9$e~NkF3fhN7TAniHT;{KsUglLIKq#W2q=0qUY_hLP#v&uS_2V<n$`jGeDzm
zA?^B|2gxcB5 at S2d@Z>V-iuRwua#%Iz!iNOefoRNF)<5M59GJgrm?n%xDCiF?LH$nG
z!Sq#J6-N-+&-4C~!NCmBN)D$LNCnpcT`6jE`E6lv3!w+biwKkfytAUc`(3COTrnsR
zwoz3rCPRy|wDU2NzRd^hm1`K=@L4Mf+O0Z~W=|0gKsFW7I1=s~dohLsMgervM2QVH
zu#&oV$Srcw-!tG_z%tCeMvGx4c$#D^T%bcz6f#zmsVgFUj|#l@$7m$n;MNA`h~Mnq
z*BhC08Mw?gmc=`d{zr&x!wOvIH3J>uT~bH8`lq0qdTgQ$)5R`g+R4_H;{8bC&5BS$
zR}!5cOJJ<Hv(O{by%Y=`0ZWJ)c6>|d4Yvjp(XntWsS0EV*;eNd6*pZk1){q at U|tyu
zH)?cz<@aIXc^W|sPrdctv7TLP at Bx7M?taDX!*Ij2?7h8NE`L$--cKf;du!<}rlE%&
zTwQtTyS?O?&2l56c34tSZ at S}$#!b_>#R7eme4J+;aUW=DI3@&?ZNFap%-o)E7I>Q9
znz8&`fyZkmPvz3OLgd4kPAlAE*J-v$9A_~Uo~w~ojFc)79uhs(;<S4b{fL4_$fR<w
z!N%@VC;O4{K}rgK=3EUpgXTs0hgZ*Ir{vLV$Q1d7lxVIy=M=pN at s0cj!?uc^2jl={
zVSye!=h}qqL=r#5Z|cREQxIcaMM>8rBDY`Wtl8-Pw)$v5NVDQDZ|W#}N^x|`ThL|i
zeo(Cz&&K3t{qffmWRMc!H|ykSE*g5fk{5jGETRw!(Da+w`kZugLfv&C<`@3DbfoZT
z@?eN&#odS?SlD6wdNsv3lh$H0<k9C8RZA}B%872!dEA4a0sQ^V6-W05x(EI7hX`I(
z>R*PKfP=LhC|6A_FqA(BLhjqz(q}Vgwz%vjC_{y4h$%c$OTm!MMMPd+DK?17C9?f@
ziH(fKelmlL(L;K%!{7 at -ZZ5_?c+88mN34yjFS#BtJ>j%uPom}@9%$VB|6=~hAOANT
zVzvWv&m&&!)2_Rh#BMqx_gIh)V;(lIZnZi;k%^C7!mH$c_%s4e>m0yji|sRRKNAYQ
zI9~Kbi<Z+r|3YKDB at W;<eVLr>0*f!j;+r?35B6O^!sU!hzLP;O;o$O=MRS|XBw$n5
z+qev?b<VU%rIG6zVEj`9(RzxO6AMT<)lXidu*}MzI)k}N at 1-l75&ju4*yZ1zn&+7)
z5>p6P7=JgCu&o^aW(Q;PKZTRcygO@^x{U87Ru{)>t28K=f at i#gAmy+ZE^~V7vbn at B
z2V~bI2FLL(E(xdIxH|+Ey{sPIA`}niA&~4qHMjY>3Hpss&9mK}!(~c4TqHys*C3FE
zZDc;@&3b+$R8!e3;K!T}oI}b`O5`<ZBd4Kk9wXmmi5X8)dQbPmw}0CBg};}8pX9hA
zl4n%W4LaW?Jl-(2^Noa-%+RvBWQq&rvCxvqj`XnSp0Y7{IHBvflDFqcadbu(dL!^y
z(-e4`;<nCvjFgv<*s*xQm9W at QeX*u=_vY!dN$k+ttr66v|9SCb8W8n!QbYjg^ftC$
zwZ1r+AhKTlU8qg}L0#w62nAcB at u+KkFoK=8^fT3L!*<4i#v~SP`im&G3a7n2c6GH`
zkI9jx8#^N(jq{)^#-Kjy<1Ce>0$Z?L{AmL>67DV`v5hv1ykA|Fd%rzjw<)It6TBCA
z4uj7hJgBug_R%f7^#Lg8^?(h2rs7NTb8xg1PSXDTnkGslGeNX%LO4IrIkKQ6insqQ
z#W&d!<Fs!+nrNE%yF8{z??>`?VO6w6Wl>wS9I(*IET&#MA|>bhy}K>!#iAYX2Z3Sd
zqmX_MXku$}K&6X*6|&9x{`OlZdGSZ(4j%0Foj`7BDlXr(Q%d8T4?l_C=WklDCoL5d
z1HqD)-7Tyy<v92 at Lhe4FJQYVLr%!Zf+<+0>DRu*VYJHc85~*rXCvy77y81Gj!~D`6
z)$aDc9grC5kqK_kDy6&1?uHOOLk;lQvJF1E(8lh=Mr4fgzk`s#iwG6FqO825e_T%W
zYMKUGGIjMs%o1=>C`N5K+gv2#-5iH-d2xnq;Sv&e*$3?%!hupCJrnu<%b4<wiK;+5
z_IJmKfl?3Vq?Zqmj~wXSE92PIoDl*`1P(fb`>j(vdWsm+t2TOYxuZUhxedm&qZZ9Z
zVz;#CBzl%{oMs~u%heG&=Au;$@(Ko`O&4R~^AK5&3R-|yhUXt|Dl_-3OVzRS>cI+^
z>`?wRA?_?0Q+}y6C6VUK#qx$6eoZ5XE<Ao$rpP7ZQxO3d^cT-us)@!Hswr=~YE5`P
z<K at JY>AV+J%w3tSmUkFlN0{acAQH_YhvB|2LrKoF!&+#r%C~(<0jad41lhU3Y0j$M
zCIe<oqclilkSesjtlwQmi)+)pKBtX2g*r`pqc;qz`F=m;FA<$kn?e&IxXDn*G9&ue
zGK3uEo<1Ra>rB`Dq at MU&F$Eg!jm^KlhOI_A1dSk+nI)+-2MQlHsg}&f%bXtC9fkrx
zCD&4QPxwxe@<g7uuVFl6D_1T=kqvFm-6?NHn7d1DC3gCLMuxTTz?G`Y(}eFiab~Uy
z3V`-FSA5^X=h*5o$9+8}_+r4YdUa33o_t=!GN8!`Ce!^)JhEfRirB)uDR5}}$21G<
zuUF$B?<dG|TFh+hfKhm at TMlRp=tR53e4Fu?)>ZcnZl+e(aNl?Nu6|On!*DSu=oRy>
zh+!6h0>z|M&Xx7tyDf06^V|61tp+T)Y)%Q3iz}bmOzC%Vdww9a6{y+hWCg_M?|Bmi
zImwULU%7w6*Dcl95-#Nx3M>3{8tlBU76<h)(8npcD&^W=(8yCGJUC?iRmxw@&yQ%W
z>DbB4)4UI2cJr?hvO$Y8-u|RoMP- at w(r~s04Hge;63VIr;kun`Wwkx+E4En26tjJi
zY~NRU4SN`9o!)2L#Hi1QDb*OdGG{j4p!lyzAmF}X^R#`<p`_cDHp<=IAJw%GRomDI
zF!4VK+|o*Iq+vssV6;$1W)#m|_a}<$R098}w@(tQE=uK&Ig2?t{7Y^W$*kY}e8~+?
zx3TU9<xA_x%87V|YR_q~DM{9LqJ_UHucX5vT{~tgjoU=9g44CD0P#jPp`jU%(D6j#
z_u;3VGhOT9&o+?DM>okFp6%nHxB7UZ8|K+#yfO7mGmufZ9f*%gRLW9DUcmgeG^{1q
z#x)(8^m8E3?N^U?+1!!bl%Po;cmLdFQcJoBLx|6c5S4g}r-nw2?<HmP6#<nZCNiW{
z6EF=MQ%+}A5u0N~O2*1~$4d6mSS2b$Uu{l>u;Aq0IoPGaG*24CDs_|W8|sy*c!_s#
zFduZe at B_4uk;5IdyW?%okxEew{)kmCVr|*Joti{YhAa!?)E`}rsr&j-xJY^H%Ur!h
z!54Q|RY+~gZsz)hF3dK=pG9WL9lZ3O%uuocHpZh}Ha0(%I>}79)=H*>V!3qXDB(Mp
z+BICac!5Lxm(RiBf at gh=LoB_W%3#q5k;F&RX_AdRa;S!;DL}xGGyc^E5~Iak@(Js2
zY01QNkMqpV5q?v$nWigCwfP>QHNZ&Gnt5acFD~K;yHx;ctB<#3*lhtABS8(;iUu#q
zEb!Fg)HK`ks*NtNv+m(4U^a at TM{=__^0`h!AlIQXE0z?YV<IJUORJ1V6}b>9bpW{5
zlq9uEGGD>sK;_CQ0Uf2*ht8M;#wxsaBPK_oFib*(tYV1?5idII6y<k=*o6Ebq=-4|
zhl`Mv#s?@km&&BghJMvK*7wTxM8`i+w8l-5>n`!#2%;6R06jVb3%mm#5~8*n+*SME
z^EdaXA(;YuuN%^psU;2LtpBBBhwF}48!|DS&ao5)48H#@2kQ4W!jwc3HbzX$=iNZu
zJ-pfLr9V*VpwJfbL)9z#Ll8JxJ-2L9nv6!K*VULqn#oO7BP9Ha8!r}YQrhJ5jn?_%
z<pf4GqQ7VY at l6rrEB$DY_GMKEJZC~3Zy?h>C_xA3EmV{&Qz7L%g8k89a8qI&K-}&<
z4K_lESKr==JhY19WZ)8af(3N(6f~je4fNc8$p5+IlRo6_^9B*>Y+>0xdNi}-63B)D
zJTl<xd7IK at I3U-MpU+T)6Kt*-6SiB=4f=wZYm0kx)3mXPCvJ%KW7S<~IdW?ut`uck
zxC(RE!i1lOK|z<VJ!S9?P+XaTOFA;VQHWI~@w&WLAgokJ?`F=iz#Oh at sII85ZKGVc
za(J_X(7+w`az(x><_2HG2&2SyxO(NgB;iV-1qb9Zd$?449XfBRsX+LT>oD#q|HVPH
z(9WNVj)dSy-y(JT-$N!zU8W3hHvJJVPkcrv`Rz%UDSXYnofeuQzf{W&0SV*<`=_D_
zk1L7KmFf}UJhz+bIL4p()W`HpYhqPq<w=&eljDH7CTbmm_cKSOb_r+s7J}u*)j=mb
zf~h at v&v3f*tN!x?HrNPDNDS4d{C%KR_8(((FbtN&s5``TgZ<r_yw1IO^L}074g#}G
z$kSsrQB%R(hctFSDHs5H6NkED(H7QOq9Ui*jc6n3OJ*`<)SaA|Vw!~UQt~4 at HmXXD
zn5}?#9D6(&P$9nIengx&aU3Sr_z&+FL{HIsd_1K;yK=)hlI#dUVMb(;BUhp#&ix~2
zBlEMm?QvQwY}C+f2_E*C*9Kn~&9hIsCH>p+3OU7jZ%Z0qkw~X}bl&j3NOHd~j!J*(
z{eIfC3fJ4ub<${>Lq~3Nj at +`;tMVR&RDD`Ttcc?iW2o>Ku9EJ~B^@MF;vNYEZCx#7
z1vxvaH!+v?QgLq=-(Ks*tAu#2#^22 at Sp&6n#c*nY+N39nK8xo+^xk}4yNX7WHTgV2
zZq*A3d`AzD93A$0Uq=KZH@!;k$lIHY=OZp-u8QQ_KP&q&kZdTW#hB3ewX839tU;>_
zyu~N)Zopy^U?xNl){e08v^9^PhMhovqg&Hs5?ALY<d*Q4)cT5%e~?P(IwtBrFW!Ib
zZ#IDQFQ&}6blPqLz1Y7X(SA>T6S>n4=(KGj_5dW=Z8IGMbGNVw^;WiT-m)}{L4>R~
zw0|j%p4y^<(6zic*=0nXus)-#UxHSfKyGrI8YQE{=F>lU=a+4rBoNn_4w&gVLMXjM
zPaNWI>U6-2*B>=gh#i67(mUHzfDf0Axb at PfAZk%?<q>5XN^+yYLHA#qw?+R=n2~Ky
zMM&L<4}GADJsawxMLf8lX^c2dMpBCp?oUq7-H9g&pC%12|Aky}>ovj}KGi%Gi>}sc
z?N5-T3hB4E%w6sGswJzs-(WWQ0BkWVAR0RT?BEJrFjhP}$8Z_(C at pDrBGn^yF$eEs
z!-}ce?h?*_ZDq<`%ted@%QIva2qqGAQ?dgH-cIT;tEi%uW3T86mS;OR8jrw$2Z1{x
zTa>iWzQ#fr&nX}?R at y!ADe>g_OULJQs0t|0s7A^0xoau50H at 5FLM;A3w$uIecBfx9
ze>bc>CP;Xdiy#G!!a|4KckNxtYJ=siPl=lYXNbmO>pranCKwjVjS_tGwaQb>TGh at k
zIG?>wNbzYXf~f!^&zZIs0w$Lqu&NanwFabcMkJmw90zZ*=FL3%)BZ2cEHcUh(r$2`
zR;T1bzH35O5VURNLfZ_QZZlaFN|&ha*_ST`+pe29r3DHI)=ReXR>^vo)Gtc})%C=M
z(AwC=$c*{L7hLx=Q`3;%+VVIi&SgRLo~-|jGwPf{mW#2oz_9NgO&RFd2F<C{tQ)H)
zFlHgBW=ZcvQ}ha~UbPVy-~w=soe$2uVDce*y~>_IE&bM-H3mcEe~eJN!k!M_4rEzX
zB_57<NO?63)2cEKy#t&ynw-TAm$LSR8We8 at Ke$d4A;}{j=8=Ue)TnO2w_gicaL+=t
z>_WS*=t)lW*U=MZsx0ilZD-v$Z|bp<xj4A2n^dVI;H1i?WSS~X5Ded&S-y8EahmF<
zB<(7Z5=@TvvO<K=9q{B#{m_pV!jhp!UK;;ktQGQ*K=u5mCoM%0YldDX#JGfQYZ{3c
zIDmGe2o~=HxpbJs7(cud4_*+(e6|q~W2;M2F+Wr*`c^yQue`is*dhkZi`e at O8|P`c
zHrvdvUk(q0`IT^LtV)GzrO)AYZo02I`pOVZP(%@h-r!P)II5E-t5+1n)=-T0D4sn#
zo81+O-09o)AHH2cCLsu7kn8a&gXaH*xuqSAohuaWH*QqrMRSZV){c)o^rBd5zu>AL
zru^_OZ3k*w#LY$FH0-wA2^_H&c?(gcCp8F1?K(?2AC~UDP)ew^@bG=D8kK3zb+{e5
zWJ|9dAd4Y6XHIVb5P|!uP~$b|4HuQHX`v8A|Gt86W5i7SL)t2V8I_^@Sm_y$%)31=
zOpabOD77V=2-iscIk?2wNLET-E<)dL`VNAr_Cj_I!SDNDjGaS}C`^#8+qTWywr$(C
zZQHhO+tzK{wr#un-M5*T#lM(EWkjtjN||}SQ}*MEs1mYO_}8~X?QoHIx0ol6ad}zx
z$)l!=l2~{NojY12mGVfr;Jt!GzX3f08(C)Hz8p<Lu_kMM8tw3sdI(Xdl8+JGaKyj?
z2RD$h+MI<uVGFe{sqHVd;JbPsK=u7Ra$BhMDv}Y<(Mw#fc}y*<zeNNPTpaF`+`W%R
zOcsh9P;liwJ`A|Lgf53rTX>wkY64{w7jR~(28y*Mlx}W1v7 at S_!5lfMRpdd#6#PuR
zX21^2pQ9(x*EW(zi`k at 4P+_DvkGY^Pq3AE(SIGFZ!)LP0fnb8%+;)gBt+3!Z1`U3k
zyZBzV^fepn&MjfZ_R&c|2FJnRk0pZdvF#y=k&P4-FqEkIKBEltJ^m at ATl7C30<HkL
z!*Ln!IhPU#0)b8FvdQz&k$lX2;jE7eCs?fE%@go~y9Az)EPz@&?rKQ=kF>45KF_1C
zZ0fjxL+3V??zULO>;0nWj)r(_PCM at 7OO9GB{p7 at BV1?3`2;@RKg7h3>#IAb#JN}nh
zb+mnv!SoeRY6)yviSm`0o5to1#TI=ZlVFqEX-n-WYU^JpSqfTON}z{szXfH}$(Vu5
z8SF+#1({5=n+tMlNSuV2-%m%j!g6sIhBoLTM-a;--RmSIz1dzSAJ>yw$hhOk)|7Xr
zqDBPo==~y0QO_Z_NbB2o81Sn`shJ-1!-WS>(&<?6qBjy)x*T!v(jX2U*uLv?L)S at m
z7}v?<PO>_ihCkfHu+9_mta4oqX*cX!C+&ea*Ah$O?7lE>%&)3aE_cURK~PgWfSMcC
z>8ecp8>?tv6Q=hKJSjAdhMiWwY>_K!g at FN1vG!6OlGb`3GBHplA$JBLrUIipc!phL
z_?#aPt0!6{BI8|EMM5b*t2Ov&7$;2Q4FwPNRSRL)FTSX+1+So7EL$^7k`Rl!M_ at U)
zH|VpAU6p?M1&hc_EG|WD>j$X_AODhEHHFSD)D at Y3;>YG3W7pl{^*p}=g!iK6wqsb7
zajCo!l{3n-K)<R>Scte1v+(DE?A??NXt4wLx=#(#Lsnd&8 at E`<>vw=TS at VnFWLXza
zh8=Kzxh?}g^X1Gx=4<e-(N%l);8k)XSJdGasv3syl*@As1J*CId9{=s=gKZPltR`W
z`sFz6!Wg8m_Ma>cffZ{;oO9NSlmogYXul)usWP?e1oD)c_S9{aQi>TVH4oZ4!>*<t
zqK=A|q?2qkmJ0V?4kS_+ at Xj9R+N8x2s-(X^`G0nNWCJ3CzyzQevo+iPTx!8IVi$^T
zZ7&tpst}2C>X4&mw<!GBYhU<qrOzx&^EL$*BFKk_Bj*=rt+=-|HwVxK)~aLWy}b at L
zuT0tQGr&E?sVzHblTje&rrQw0v5%qX=kX1UA9;O6TN;FtkeaU3YM7Vn#eU(5v$)th
z_q)!Qhq99#3eQ8T*5PJ|Dn5FwY7bU!J!M}NC%KIB5l*p~1H*_017ko at t(>T^VB(dK
z`~OZ4GPSX<&R at v;uu!1ocB{L7LnE?=*H|G%jEdr&Z#KC-k6w{ckVVCtHruIvJeIan
zfQ1_}7S(cxzmyIaXRpgE&u+Zi^SQPb!fFquPLlCbl-n{lu=S++F7nygYu;|pXdW!b
zXV-x93wU6(y16}!aJ;)n_CIIG>3T!%Ta%MmG at vd56IGET@DEq>O)ThvQTBY_`COST
zq4Hi_$$3 at HzK;39Ny3!#47*;C&**Aw96)%g_8dK=$mUkqKotq>&2*12ip8$<^I)yg
zQUa&ArKh)hH7u48JHg!xzh$-!voi4Z{L>uI(LrtU+|6rQ4s_W~*VO&l9N>>%DqZS#
z+YUko0B>bKGjB$an5ELGF(AYCW!M{pD at 9n+Zg{}<dlY9jW+Ud3*l5mxQD%8yDYG<g
z&Wl(Y!7-sB^xA&|QAgYwWtU;%*!*i#%kA0DFQE)z#SPH}-CH0{0Sunkjdb9t9&2IC
z#^p at rzs#|+U7Abz10&%1VKb35XZn7lU at aWtGcNj!c8cU}^m)$mt51k8cNzVCy6}zp
zS$)*A*;e6ME~jy>_!5H%9U2q|nCWY&ao9YtX;uA4y-Cm$Eb&-Fzw(Aa&l#=h4RgxI
zd5dTMh<Np&jguWi%zS<=3&)Q_RAvq;lkj;7`(B9o+vK&LtE6pgg6Uw9)p40%Rn2sb
zhfv_J0P+$KGFY29NH+-Ba?P19M^eZ^#o~m;m@{7cT3cn75N-iTc(Bna6rj#QkH+?-
zj~}Hrv#E4|LZ?+hmU9GbO<Nta{*36n&C}P^lLcCbMdZ<SjvSQ*r$}jD-Iuh~y{=wl
z`L1ToM-j-4xDRs{{o&C#R&7zKxg<fY`aktBeorP|=YL at a82<w^z`)G#KU at Ju0#;V$
z|C#-7$^aYdKSsg-l``NAuB^1Zz={h=AWjFR0D@>y;1)91g>o(^4g?|yMEJA=A}}GP
zAP)kPvXh`&0wI2@!mnu_iDChyNB!FS+Vk7D@><ih!r^6_o59oc`iOIL`4I{fN#9JP
zjT$om<qr~K;;)Y at WJ8f(Utj)jK=@~ELIj8m{I&yb!S7+Pfnbq5;selw!Sx^bOdwF>
zl?90cvTP^t$CD%cAp}lLMnnUPgn*X%g$^GX14tpngTRm%Lnx0B?cWC2(r=Dp12eew
zAGUj}BZ)`%#D+*rO+ETefm3!4HA0YwfGP*>=lq*<&m~AGo==Ds>2K8Ys}QI*0~qC!
zfQa<)^n?=3-UV66 at B-EL9*_%B4Lk>M12*dZ*Whm+Ft7{Z%-wDhBv5;RC>%uFuCGut
z?h0~X0PsEBA0Q~Pj(w&r1$uU{@Le49@&ec;r+^~gpcX&iw*bExFbE`&@2;)9tGp0|
za=mc`a+K>UAOR0z`4 at gJ5G1%IrDe1sPlNXW1e7Z>gg|GZ!$(3q1P~;{DDbZf93W+t
zZusCm at GquZY?L7T{!YkF!gxM0ln)IszX?im42<h57%_u?{ez!MqWXLCUkzT+- at O`S
zC>zMfpQH6c`TDMWVg4Om5ST>>wKw*#$9xFg(06UKc(I_7(9qCQl2QQswfybqO9E$R
z9>jL&Z*>G`W!QWHeRa?qpypxtKsRyqL5F+*dTim~IN`(XgWo>COm}k706>5S5aej)
z&~0M*0DfwtUHh(mHebg^2)g{x2Hdaw{QG&ceQK)ip8a#=#jpSLxUW>k#TKTvw$7)o
zL%*^A+Ua`ydw~uT`2i6f3<x0pkU%95(S7}Dh~fvnEr#Chc3_cnG0T6rwY?dAsEy+J
zLHzv`!)XintuBcgX+ncL`p!B^9XJ?}|AKz<EB&ZT{>2~kQ+?kR|JjAD=p;_)8|dyk
z_?5#ri01eF1>BRkj2(vN2aibuyyz<+z1uBZ4j4qZnfb+C{wsJVC@;KzI8IGKLr!|X
z8Dp;`;@)rY0YSaA&t~NN8RJI at 8^PcIJZ~GG*N2u5Ag=z_XXx%BkaO1u&&EyT7qaL6
z{N<#Dih=_BNx_8Z07(E66yOeghaS^56wpi1jb~tArzZ>s1z9+!?hS>&SI9R97X$d!
zt%8uNE_j#MyGtq#LVomsUkV}*@!3W}1cUPMVe(T1S<VF(w0b~SxySXD_AT{h-;Rz0
zm5wDQWHN{|IfxZ2iMq}Ms`?=^RL<pA^g@?GT~+T{y$ugIiF+GiDkewS8eJ=jPd8^1
zd8Dh%mB9$f#gqLi6_aX^S!qqs(xh|nid~$<x9+^?imtJ2Y0KJ%DAIqG(Yu1->~XV;
z-7!6N`(a~3ZKER-TUPp3KekWxUQ<aUKw0>cZtjRiL7_ldST8!<JYrbFIGiv~8k1$)
z_4?6<Tvt(xU*_tKg7~||kuxh7t}bn|yO!@dzah6NFW%piroY&T2 at -2h*QaK{5pxQ=
zZU+H<(&BQ-l3c|=AC9~v3lq$;#4PS#8vad$3qWd}rEFKgdTwPyLzjoT5Ya|=RLz~t
zo`<7lRVl#aJ|i(!=7|RH6U0#D3qd}7!f+4$$4s%<YQD6+jmuK<$#<OMKnABY#*f`y
zbP%ChE6W(8hw9HuZfCiJ1AIQoqF<N)Ay$gk<M3vr<^@Q9zjD at VhW|owy0U|p=Z^7-
z>d6s%MAIofwUPCdXFf+qyq&m7e<%!#L`n^6*<pPYex9zGv3(twpm#j=qPlR3tVPqG
z6%Oi at gK#kwR2 at SfnauRfrfPrjtcz(8<Z-VI+X-fUwYH99#9<D at kM69RGS3>9b$wbt
zisN(1waTxFW-Nn*+b+{E!b<I81u8;qWFff9-xD$RCf;P<l3kbm%e62-!S&8r#KfKu
z?MBc3m!vjVjb4%L;4JHgQEkUrr`|WlMiyN$4Igp;@?}zq$Z+$--Sv#xZ1B(!vb1zX
z2<2;X3yK(2(n?R0o>^Yy9>c>WOu<<XDq+n%YsWUr%6KT&IS=U^;Awayx|2kTB4tnM
z at M2vLUyBkZ6N^skqc`_()%OWrkL+y~*O-D&9V5HilHCgGawjQnv#S$R4veUJ3tIJM
zx<}MlwFe7V(0ZDY@(qh%85Sf`fw-zRo`l|2l1lFw%bQWVZYa;>l2S_n5;8(uqg5~Z
zS>bLi+Fke4>*YaUiq<=Kj6}<LoXeEWj)0a}Y<+_|ygKELV at 2IwM=7VoieJgjJnuHE
zr2TxSP_RBZXg#mR3x0oU{W}EP<_(1Be}Y4IK^+G^<TtMj|I;upjoVT^ha?)(W~qz5
z3K?I~d*kebVCNc3>WZ)PJD2^y#(dArY3)up%ZUN$%nvg~$*r_l5~!Y28oOO)Ph{6`
z8mH>ep>so?c)V?W&wJm{j)&zvqjF~HVvmtU$_n#qfCZH#U4FZb7LkQ+zx;Kyf?O}-
z+2mfc;g`;Hddn+W2bQiyHjQwA$3s|$RWSr%Ba at ylw;h-JHEE)XGSTP|v*w!=5Ce%J
z7cS*Ln3>>A-y>G+JS}TYUn!w)ZoMV`+Yw1)fmT$knmL`ZRTCxIOydF&ziHQ)ar^Bv
zY&9M!CAV{xlul;tR5JmYKANZvl|lXUhk-xIBh^eD59FdG(6Lr(4S$N>?RrN^5$!rM
z)`JW^`}gT6AC$>pQ0y9b-B(ECYH^yoUD{)#$PpAW11Tj?8*8?VNdhV`U at MT}f;_`8
z$62#<pHF{E^88vXtO8zq%u1;RzcNMWO=^;p_STHtC{hHLw+?+MryZiSu=lV9s53iV
z8yt|*QVT6Xsgzx4Efd0~$;Nh~-74B}gJP7m%lWnWbQczk>yzW|2&L8;E3Ame$Q^`(
zILL&2e5%iPq$tG at 2^+#BcJ<WgR_c++ME2kO_FSKjs4TXgav812&7<*q)$1oA4fpam
zYKrxIs`6-#4T!}s(K7+E=@j4QTEG89ho(olv+iIwk<lb-!#a868Granij1}|)g)E7
zvVYiAH||hF$GIVf)d8<Vw=am0_cLJ$5lSq1zL|{(VAt741;3WIY=xMau5j{sJL1Er
zV2?;P$CGmNJf*fV?Los*N#-#9+ at yIT5&ek)ERs0rdX)_vOSdzoxzuLN;;WVebp$zQ
zoltdg8l}EWTT+@;D%R<zH|6_1avaT`z}-6!w>nnHlHKo=Cd`A0P)1ckmy+lDMQon=
zej*g&kBL+c*KfXn-*US*bbNs$@#-utL<=<t{%hvD)p8-^OHH#)J`GTu)YibU7jWb}
zDCS8dN&n4kq<G!h3Ql}ImwpV_p>{bQ`#I3`1k`f_*zrjnuHlnQ)In;b<C3O}v!J}`
z|67$j+|+e>$U7s(%hRUVU?MOisEayvG7shORCk!~rX(+YD2^m1>(oEHE$#caE3nju
z4J!x+?ER~CMu-?5_M4H6RHE|%gId?LC7PPjU8-Uk9HnInqIzB?-LLY`b4jrH*2el1
zMIFapBdL<RPQ6a}vRN8#0+t#LT{BwJ{PsgvZO5GVpcrQvJ at L@ywIZ+!4iug`{14*B
z3nB3Gi-mZZx)?Q+jB at 3gxi7V2()-NPR}{v(cxW**yImwiFv{pW`Rh6me{yJr^kHra
zo;tWpWK(`gDhx)G$cAKOd1K>;YlVx at HR@9ts at kxO7aZ1@7^+N!DN}zPb>{_=cav;|
zrPW)bvBGr7UTJv-Gl!$VY3y1LEo9COuK)^eu%lsXhOE~i<~DU6eHn}Vdyf0xkL+cn
zHbX5&XcdcaC!;$iA{HM*Ceg*dQa9Vh7e4qp*FA`xb~apual}c)U6U48e&~XzLveAb
z6JIfx5CwOMo6Kx$2 at elk=;AskmP at q1Caem_I#wrT3%k5p1!M!HQzuK*CGj7!=N_HT
z3^xK)@R1HxhtnM0k*E9O(^)Vv)BC<iqN9VeRM)rVm4X>?hr=oP7kf%ncSX}&#oq!1
zNF47s5%a))U at fb2_B6n#h`B3+<5Y at Sj6TA_Y4dEYg6qJQspC6P|6T?!t#fq$9J6W1
z%%r(}f%dZE8Ck1 at me0U~*WwFf3+&P?bIwtb`#9yFxn%fVM at BGduQ<?`P{>bvHPLaR
z*-q`no}f|~f at eIiz>v|esQphuMM8k8oyIcl*$zG5 at R>V$ttN>?=$UvT{xCGOD)_A_
zh9SRq`g^)?F6^EQn0t^ZvL#zyDLKs%`58#TxD;bjeCmQ at AAEsFMkAOQ!`h4k_*g!?
z+MOS0rqp$rjPZ(@9O_^ysN#;hXBd7zM^WQHO8)AUDE at q-4rw<hn~%=n>O|p``(CE^
zOD7tZXt5|yYi;+h2)?{vi-Ad2n&u2#f56KnqS8ER33tOP$)UZa);W^ct%6gQvDh$m
zDL5h!O+<ExZ_IKJlX@%eHB4ArX!65})^b*!8tN`b!Ef3<P4~y;m9p{(<U8H+LAo*P
z{aBi;K9<^RPpa<lR%Z7s2xwd->JdIJ*K(!N$Mz%uWzmgGr0M-pbTrYRiS;IMhAh;F
z3z}X&#r59m6Wc-CSh&?3Q=S5bK<NCDt?QVhI<I?9{X>bgZ`YXnQzg5lP53-GdNX=1
z5>!)RRsF3aX*oKYVL-W&mF=LWRmaT-s9QpsV$x4ooOl|YGMTTOSu_+EDqTyOiQy{d
zoskx24*eLpX-JcP7RB0VThkD!>XUE{jBP at GdrQPT?i(jy-z`ro2-a}D7J7XoHdWXq
zVM<4Bj!fs(Ud61tbr)m at DCNfV2%@5$U{nHN$id}W%kU9auvkTZl(Y8K_|$#FMU+t<
zjA;wppjo$1ZwalJFsjhcwjB#_@={Zxd82$m<y0r<0Rl(4?d~!1nk`)!K8kP0=cS&@
zFy-rOLFXZC-LKv?*;R4v+AFI6_eC*xs`sKak0fNyr4}(v=(!y=i9+lB1OeAdSm|2O
zb+S?Vt!f+^EE96zlrYiX`HpgOj^m%O;Ew}wN_ at qsOHGWBS@+kZzx$7Z;+khI)${Sk
zgl8Y5F>pA(<qm_FjaUiUu?BYz0BGNSZ%x|QB~kDtj*9IT?x;C><UzFX0L`L7*<J1u
z2qyCi7d4 at 2NjxHz%3G1{orxHWtXBn5__&bXn&S7Nh=RphwK8SZI8{ts)C2289voSp
z7XBY9R?OGeS?m$!=;1pBMcwY><LoHXmRu8K)^Fi+mh%GU_#u{-!rJ=Q-4v#NUJ2`z
z!!Pxwu>uY_m-8Vp+dlo9Zrg;4`blaTo*>!lj4nUE at 9CbpEb-OPPVa3Q?OF8rHTdNi
zifcfy<0%#srH!yiCAp_oE=~(*&Y(o4P6;36TeH{Yt4jaxKppEw%Y&oP>htD8gK)B0
zl`}L*d_P#rt@^4TYu6=)RcpBcezJ|%A@)VWkaQo+4h2IkzNhmSUG2ZyW9?E at kxvX|
zj}ZGIwjK#B>Dow^!eA#k)s^<yY<h%;-RXvVtL?3-gd2_Bx8Lx=npPOG`DKx8c&$;!
z*^e#74?PrP82R8s&ljf0A$ru7mzLwEN$=d!*HYYhw_EGD1y|*cd6AdK8V|352&+!k
z!7c3tn`bww6XbB*H#&5fkGF3R6yA-Kd)O5Qg(_E{bcuo{xkL*)sBG7}R$~`-u=bMR
zOgXN!ovt+n7(t=O=~VqusRs`e^>OzoUP*a{kjCbb{Si{Dr-zE*BEge1S?ik0pxleT
zSK-XKs^#nD$L3^1mFlf4J_rz}4iUE^<qI}a_`OyZz5Xo24xuq$&)w+R6h4h^F|^QI
z)LXujk)wFVsn~Bzj$dM=a_rZ{Td+4zd#>o9Nd%40T&o?IjJkUAGj~x2Q4iQBu$HY}
zyDjyw#y5-e{fxV|-KT_v`b4~>kPI~5f3lVq;YH`mQJgy9ImRT!JHV1h+xr;K<eN9v
z8ppV_8$Q{mHcS#%D?ArZtA~}H16z1FREVf9w;Dr8(*W+iq0{AB{r at KO=j}6(%vSDE
zO8+R%!OECT(elg2m1mz-D79>(S!5$J36${VeQ16wWjEDb);QUbxwEoRC8#;kA$koo
ziFv&$k&c!orQu$D>8TM6yvbup8B)nu$<6$;B-SX(jakj;QYqrZHEK-<73Qa^iUR^A
zhk^x)Mu~nZbYCLTSAE at 3LV`Vo1(~>nLo3|CzOaJoKzn!~0|frk+3R%mB`r_DNLET*
zqfMp&SXQZ3v?X5RvO}-$R3LLBEvU0Yc_Ep6jV#;8(xPu|lFEQ__$w~J3M6{m*yGbb
zfpee3 at z8`~6|}Kf2qBEG(V_s<G8K!EP+~NW^m<^HR+U|?pz#iDL_9APsJ8QGMz9QZ
zCzid7qlWPuJvT~e<tRm4VtOkE at j4fwZKv>hz8BXo_eEj>+A(~-sDfo=Tr9d+?wEX{
zSnW)8B^3)eUaLe>%^TV67c1UyGW)fyTlzJ_ok)Jb`BMnsRQw&m!Gh&lZK2$#i1A4Q
zlZ>8pd8X+e8FHR1#6ydO?Bip#fP%}S at n%zV)-=tI3oovu1TKQ2Y%6(}ROLXY2ggJ2
z%-eH+gx!NV93xxW*Z#SD at hXcuU<7RAu0{Y5$dhzSpj!-1aa^*VcVV at u^KAlBt*{>p
zap4_DSTsT_Leb;W+u1}kfkZQ@)}HUJ+u6(9HD9_KtrLr^-E`JoQNNqqgBCNsO2fnC
zXIQ4N&r}0uiuvLaJ}%6ZSZU_Cx0+6rw_|j{2(s)$po$ELC&eA3b?7vumbe|oCli%m
zCq|<i$#Ya1cSNONt6?qYojLq-Ibs;zL|G-fYygPp74y43hx+I|K_O0rFJjd*bAK9q
zvMj~)lL$4zM#i#8;^h2*nnOf|z+5#+N~*r#3DwDD2U!aTQvzX6)22KBRF4yG&?ADn
zS at Lsdmd!Miu>w-scS{N|$fl`^h$zHi>GMNonZd*po&<ZWl@@|)+ai$RRDt6iTj+B+
zC0hp_VA5=Z82@%DEA at N~4_A2H5Ua=y*ak8TbS6t}J$4j!)8yFQz3s#9!*pjmKS*bJ
z(KyyXuH~fMnsCUYeoLMgcMUDOP11TtyNm(oD7F-qMh~qa$JxxcK|37_nC5puKZsh6
zwqT$iGYZ)82)jeMtlM}2qGQ05OU(v9VM=XIhM8meV;CGSqyl5|0K+r4Y$hg|tT|ZQ
ztjt&%UR{Nb*cJJC9{HEFO_I_LrS0vir*`-5&<ybB+?Tk{(mBhFHO{!Y6pAt!XPSVt
zKb;KR7QcSc!aPYe6>ICpL4kCfm!jJx1s_nJf%^26Kq5tzMcjQclflwO?xpvQ;97V#
zVzxW7_;lQUQ+_<uY3iB|CnzFK-2F4;MOVgQN1I#q1sIpo_skE;)yUs1!SFB&`Z|kW
z#FH=2^g3q4siaLin+Kn at pe_I=B0J~=W96R-6G$sK2MHS9Q;N`wu9E?Lw>_aYIu6(E
zj*2kaHM at I~%M_B-YM+{{+q65E3F8{_>-wG-pk8u!=1a@%*%%sEdWh9napr3Ghx`uL
z-|3qX;*`Wv`G~tMPt3*)I;kZ)&+^?DF!}9wjKveH at J^qHu`#KT^XXAC*9Eo+d7J^`
zPUDZ0*B4%F6B35!M5Jo(-!~LoB1K}gTD>ytV1&7cD19C59|h{1eY0gM>)z2N0(>{)
zcHB9=`{BlC6WOTj3Qi3}#pA=odH#tPTZL at W^KH$Nfmyu(Y%|zZ3fu>V<dKDMkWI{a
z at XGD}K-iYsc`~)&Vi)oj_KD0&oE9$dE at ohSy_?BVQ~Yei at Eu-e<g3Wt9p at hyyeQtb
z3WE;FB#w^Lp$Q{gWVSR9EIVj36qA9BH8d-3OvUJKGsM1O(Av8(JC5nxn)3T#meS4D
z5R<?Ny at OuQUG>w)4mh;tlXKD1vq4?Xwh=7x3Jac!CT$o|xaQ9VTHdfng|Z&^uNT_v
zi?yT}ihS*dyHvrg-j$RHmJzEM0+1m`zP<N|LR#-ZQXS3Rwf%v*uM4(YplS}r&ylbQ
z5Gb(sd8WYonm8T#8 at lCc6u}$NAz}P%dnL+3fVELg+K+dn63+uWpp0esO2B)q+YAmt
zQ_o=QQu0b#O9egPS)9*M%?p;1j-ncI=5h|{soCF!k!YMobp}XYO*Ar at F^o2WzT8Qt
zVC!k<Lep~sPvZok)#o}ArD^#Oy#ZY0wH;%9ANi3IzL&^7j++bK5_)On8!p at GLLhtU
z+esBQ?;7NYHJ0JrP>%wRZU~j?%o~rZ?qicj-eH{P>g^Q-xv|rWHGB8<Qy*%A&Q<G$
z5!H=Bxy|Jl1+o2sYvMqmkrtsS!6OmTZj7VG*&=aIrt>pn*~ia<(seZDRT}21W8E})
z+NMXb85ET?z+4PHPl00<{yyKda?#E_y2_h?Pq%NM-K)X9bEIf=8~GiLg}HBk<vGc}
z%<WYZ({alaSH2jmPex-k19&}6lQr`Anl6xCLn(9?jK`dlNncMXmAI<cAO%J}hWEPK
zl|n0`248!YkY`dgj?3?;cK>Y5Nen`=24TUaxhpaQrZ76ETWWt6wIc)7Jrvf)6{}l*
z2#>T$Iz~l2r8oeLaxV at lTCXLiv!&{dCHIQ=JGpGm#9YJ7!($?4JL5_ZTe at lt0gVrI
zp<;V)+OI6-iL^S(Bfl571HV6Xvf<|^*sNTf<`n}iHnTKJv3g3Qs at vQwdY~{Yr~`?n
zciAL9Q60$J^l+4J6zE{|u|#!!877D&)ZN8Beu#pjmujOEzCf#Agp8y8)4VBxQ4f5V
z$|C88Mw$NY^&u4<I#gdeMsL9iYMKO5Z!tT#(&>Q at 8p=Ht{rR=93}SMCJMwXT?g_lc
z_iUPy0&C^%__}d1);7|Z^%v)nEWxc`Wo#YP7xKL?7~2KD&Xv6)0HWsWT7*rHZYu}2
zi08$VEJaFdl at 7#N7!Ucw<vsjZvymj5aL71(50yGFcFS0e{e#cIt##3^wMGsu`ZDL%
zH(6OO){c>uKP$t}l at T8`!}rf~GIH~3XdiX1#3~zh*|XaZ9;o(>>}tGaV!3@{GA0B~
zpW-&bH7vLV-FbD89>pwB2a^=ykB@$oW$`)<0=t%o(rHG;t7#?UVNQk~K5{4PTR0({
z`KxuYuGuLqfuWx^>pcVO)t54hIcD#45Z>)%lC?=<RD-r^#IY-+;6f%ISV_H_uwtDo
zjGv2 at Jo6(*P~a;x4#1dw1FiX_tO?>Lq>_Ova8BV<^FNJGL0H?L%a^!erNqSzp-;Q~
z4)(swy7YEz2E3`AFWKc8^tUBmi+XuUNHUGWhsxbAd<2}(b)U&I$>!vh3lw1E8wtb7
zr1QQP6|27V<kBki6E4*y)BvP9 at Jya2+}UNZ+&bJl^8kGEgn9(sad%H0v%Tjs`WC#x
z9oy4H3v81p&7Ta7#TsKDnNMVAt=mFx)p-G^!HXwep)Pp&H+A0w)D2zU<>0qVx>bKO
zu+w07S{S^)V2Jrm5-cyi at 77Tj!_ue7lXyvmKFGK+Xrnt_)$c6O;OHEak5&Y9+__J*
z-Og_Wc-k0IJy%OLR+E;N>gb#?GLc&|s;ypG- at 8EN#1)07eEM!x$UE#-5+hT&qbwqj
zB-0}Lcx7Z>%%x&#>nHwLNAN~L>rEjIMK`Xx1%+6$q-3d{Hh%EU6WMSkZ0CL|yKqek
zs)>Wno&O^|PvFe6Z at la967A$9RDYGY^m(W`mpP=rzFtF5V}t+kF5rxaXa=0oToJ(x
zc#VJ8g^Eh7DX8Fu%PaSoK2XHtd(t87(Gu8WqN=&XMv~sNzIAr9#QG{_<Gx}cFATIX
zTxuJ-_?}bwto7i5(&Uf}bymuyg-4Bj>x_CuK<Z5HZ<W+0KLZ<XvjuWgsihCf8D(Mn
zlj?&UUl;s#b8G{e>ptNWnOZWocXi9t<R`0L4G=N at Czh|cma4d}D<CDg1Gs8(`h5f;
z at j{L)SL%@RhD?E$xp}$zir69vFS%g?kBA8l?`kHR_?CD({OJzSrdX~wcqf+*BcY29
z1kf`FmuVr99&8e$DJCnzy_?wive+B_h=6mLjPzxL==Neqn>gnR8daoevdnN)L8bjZ
zV(bquN|f6N!&q&?U*4>YUlU`lmi1P6LYdvCUx1&rj_3cX7&HG@#h9J`e}n1i8QGZs
z6HL#*Owag#Eg8GHC@*be(ULF(JCDjQOwExHP!Md3!wn)xGC8{uFKmmuMJ$kryR|Wk
zOHer6f6j2^oo;=O>NKrP-FjH at -R{hGt=eH&sIajAnYxlTXmoA0hohCPr<a$M5K>S|
zf`$PJ@?h`Rw*??BDn;GGdWi%7TMp~w+}PNJ`a>)_fe04Bw^2-ZH!4rUrIjDp#1bC`
zJ~m7 at MM3}r2HerFU*HG6!2tzaLP)D>%1<JjADBZk1^JiU#O(IQ+{6IVPy2i~j^C6V
zI$la#-2c1IIX at V7Y90!z0hCf;FO@!P6tw`sDnAr=2 at 1^Zw+?A)mS*4H%K%|)c{v5y
z at NmfD)SPf+0M5B3Pzz|;K$cz%JstDTZIj<59QKND+5re7ATw1})~}2CYHGh0K at 8(=
zUf%{ZWSx_Tlw&iqA15I05}4%(HGuMkezPwK^%qVb{Kv}6Uprg-m*TbVYB!|X`d2cP
zzrdCC1wqS=N((x_BZUQ~oTzFH(k-Y7n6TBf514R8)-~=O0X;m0W$1}vkM02>zd9HT
z;bHBtkJCAjQ*(VVhdrmd+RqL0L+8Yy$i#ZO_{!Q^ztx`XubuCLYApTP;Y?T1kJFHy
z&9$}-&u{;UYOCo<pB95tE4anFCI|cAQOPgrvpLY0QImgvfVV!q`rW<00UUoi_7c*Q
z7ov=t*P5Pe?e57aZ#U2N^;N)0T+QF^nkj=gJ^(qgaA+6^H|J0fub=ZbJCMBtpiB*c
zeSW3%kQAD|yo)%~^!MF21<+VkTYjIrB8U$Ez1_TDZcN^bsi~Qjjqkj>J~*sDWEJ0<
z5=qy5GQXoV6c(poPe*%Tz#Q!!?*3oeK>WUhzWJ|y=!zlg-%(@u6%VZ^uKWdk at 4U84
zeH>k1QV>(WnaF5+eyfVDUMTc1V_$JQuz$Vv&koU7f7>p8CExubzTHxO;d_4R$TZBX
zF8heme{moDMEI?%tG9nqAIS~O-VWKx*LmPVu75)>{{G||lB8#(G)@0{9`DDGHpJJr
zxF at rQA&}Ai?wV4OX;87HXH=r%SiYx8|FBwp<NXuSX{A@@BrV at ofsOTpg8jzbI;`Z|
z;nyLTiMjk72lB)&_|;JwLANk{@;GgIfANPG5f9-4_ at bb);p5LGT{^H&>)ZOBV?rD>
zw*>K(0^oB!fn{!T0QutA!~-CJyxV+WLjnnu{t^%pKz!goW#Nup!H<E0^#Ay8 at yEa8
z$Ad#Oz5zb~38eb*^Ae0*z>mR$^t=P}I(mMBd;c-{2KP2Ld4%^)<{o>2e;b>);fsI$
z=S|A_Gx$BW at B{xQK6(HD!}-4e{e%BTZiuk8fcPTUGRg$luXFt)?*8ZIYxadl_4Crv
zC2)h|XMDc_Kh1CN&_8hN$3Jee{TC1)((4QK_j0XZCN?%sZC?-hqddazu<u3(V+s}w
zbZT}@KqPQy39Ln1O-jDq(K_bN`O!*;mwoXLsIUf+jU%BmSz<R;{_aE<g49&93QjXp
z<${=skT`TmaZDJxy%#mn`dE073}Qqq5t at wesM@QRI@%?0hT9eDhSU#VBs05*?0ARF
zO<K#fVw9YeCAtpLQ0z#`<=fM2RRA<4u#>tENXW!3R3!Y(?5`UthZR1H!BRy4tHoWG
z|D3UO$jit*HfhLedQ6xa2x`q6=^_(P;+l7_5+NPn-3GD}R1Xs1e(S#LO<rnEoo+Ls
zYdyN?5&d;`6FQvsG!@b4`y5j^CsaA2Un~Hp8;N&(Y7Ph1$&WK3evP5|EhQ`GFxDUL
zpp*x&!L8-r{5i!NuV}GU{_%c){NG}nM+ep);jZPOc*t)w$yUcBr-OKHk5Ksvj+}6X
zD4q`eh?7#G#!2wYSFOgc+nDIfar!6QGUVRBtM&ljzL`)PCS2}f^sZB6v161AIZ32-
z1Rw9oV!GBwQx-v8bt`5NKE}o@&!AfEnS{2GS<;X1ivx4Hkm!S}WI4y1DK~^JMUscw
z*0)m5JaD6zJ{3Bm9x%XvD93L2n8HW)B{5>B32)+Mjun2nbCmT1RGJqL_K-BLLs_hy
ztsHT2aE+d2CkQ>+`fh~X$x|>4UF`%AtA>I}(}358+U!W>r_eHT1x}wJVaKLZZwFrO
zU4WB7Wkf~$J5flW_bj?6&z3yY!j^$$Jq_tfU&W%rLmE}aMmvgzj?dQEVY7?n=32=h
z>bGB6dd#aPw_y at LFDx{HIn<#ou+z!W2fHuY>_hCi9PGiALjaGAc=l at t`Iq|1eFX#Y
z6QLB9YyAbvXM`(~KfN{^Fd3B`P$l_#Ri-_ at 4ySG2w>Cl~B-HE*#DnVmWBMTkQL{Sf
zWNf62<eL4A%MZ4cC$MieBS;SfxteMDLz9%gvyG#Rv9e8-R%G>1Fcmj87Tg{FzK#Ml
zFPQ{U8=&J0vfs6>a8pBMd%VSJol(1wUyB?xACTj8ednjOoc3ysr<9B2j(Hbjq{xJ|
zLFA|PL=4pFF<Ja5GbJk?jEvt4Pm9wED at e>D)VEE<(70d;oBad_eY_NbaIi!nk;U%2
znB{cl&L1_gRoSMzsf9}Pl_r<ehHJBGb&@=h<V1P`nRaFQyJv~cVB9{Y;;#YR85g2V
z1NRC4+yGGJOC8Lx_kouQ?>%{S7&c)Io!R3qsHSOBHX@`a-xDf>mg=}>Wa*{r+PUC1
zR_*DmOw*bgy3tv!6nP2r$6PpQfgWmp-3d!J(vVvdRmxsVX#tfjcM(k~!~Py#kFbe}
zkief#)J)SPV;;o3mgIP!;SUsMpDE#p2y}#loz$=jr6#b)ehem=PByi+$%PF-%vfDs
zu=LLh2wqi-^)sVDRU&*E at y#EFa62phArsYcRetPo?+cP@$#1%s8iGG^l>xlYF5|LW
zT^?_m<KA&`EW2 at f$B}@${C-o#R;a6fVFnbAQuD=j>a`-BeP%Xgn;3XzX}s^Q4AyKS
zEETRyXN~i?)U_N=bN{f?2skTL3Fi)KPfhMJKU<s;O>SC+WEY%Ei`3 at iJBxmZ9Fw1?
z?Kpdd&5b-v6z(t2*t}BPfSW~g_8JeqQLFpBSXEL^<t;<&NGLI-w?Cr0Ys`m_z0|?A
z_Y|*BltU&uCVC%v`ObC<xVY)<QW#!ciNriEcAa0kUE`&V(M?jD=F%~liBoOKN7QSl
z+EH&+jz8w9u2~gzxEtXVSMB;cshnz!B%AkrEXpJ6^IK&w8HE0PBPlMyINJ}Qcl8c%
zv2m9lro6DtnYB+sr&pSl&%3CgqP9L!a!Z$tRgb*lvHEY}K3ON~*%jT6{fGbL%`pG_
zCaR)aWPb{rVQXNi&goxID^hk|)%5xTBnAA|1}PX(GokYqoriT97 at Zeq`cQDDp<BM8
zTikq);M1llruR-P23|`Cx6RAuvE)}AR&+?EOxkpi)-D8yJ4&%Uzve^Gw42_t6eyek
zGWZrOt>a~zXm~u(9VtYQSZzl0p$}q at d06STI&#f7Z`p!S?nv>_phxcV?HzMdR=)K@
z)5M<{BVf&{`rRVk`)ZW7EW-5Yq3-h4hp=<?Re+8<CjN3PtKpA<tr@(<IM8bZtxeM?
z)}c4_fVhDWcLdl}YKBuU#=_ZA at 0zKQBO{)}2U}m{9brc94{i#3Wk;#-<_<uhK6;9n
z84P{*FZsVL4&y-u_|uI7!su6ac>PXn5}Q=mpGaf{j%N{q1lKlW)sJTUI`p^8C=R)o
z^%kp4)9^R>H at zI184w)`-fx?)K4EvTX7XT`zyy at XooYlsk1qNou54zH=PX*wblZ>*
z&O*rIY3lGgxJmPYGt1L1WWnuR at XMO+R0jLtY+DVe;>eTUvnETtNUqUgJV;6;b=a&Z
z<1!!Q8pz;sG4JFKO($74nEk0_rNIc<N_t_SU+!q%uGqcPS8G7#MPyzXu=z0kECjp4
zX7#zWrV0|lc2vFOwe34up_mmLz3*SL at 9$A^j%)e5V?WMpdV~4^lpB^9SrGsWNEa)i
zF0+?N1OXE!&SE9)V`7$GF4+bnQ*|W%?~sVcEvg`6z1Z|>>9iX~u8!Nw5EZre?vu at Z
zblScOd at t`LL;a4eV6=;VQmLs|ebXrODCkQ+`5E1NtUf}j#=I5;>ngENX at cK^Jwpp`
zW{Yv3?Or3=w*4}h0T<(<A_Bk_c7YP{Ko|Tu-v6iP4++H^Rbm;m*#?Vqh>O-9;z(gw
zK*`iysormmo=SIO=nPiju$Y&;dC^fKq<P`M^xJrbOJP)gRw9-xDA{HYEKRjY{ekZ_
zYnIK^J#jw|QnOo6<R_FZWZ8fGWW0=#b8>LGkNgI!cs!U+8@!BXBzieJZ5%3cep~b)
zjfpIBic9v?zX~8BZzb-ZFJ`|AEyi*-?s6z;zb-E_%;tWU7C%LyD!-JA({pFRKg_81
zMYUiiv`a+El4juoKL5qwS%LZXKld at aySb~qzRwYTS^TIWE{y<U%-Im?2#k_-RBHd!
z-ql=-_jlK^d=DLaLW0=QJ`K|8 at irg5H%YU;&nf`R-mbQxbsaZRqGZjf-4*E{IJk^c
znPj=8&XEbJ=BWfij8VwVx)B97Z6 at VwYL~wqcLW}{6BbY+yLIJukg*2si($;{$a#12
zY9LnX<GwOpe-ox|BRElQEDBlgpIqO2&Wsb-9g;kY72V2Af^d2s4<>^YDBW`QD&(Aj
zJ-H{4dMcR35IX_=JF-f8x7g-`)5^|aw6ou+dPLW9mFiTC5 at gGWa1bW$BSmZk3{JY(
z82D0bx*m)_iPEqOChB2yk20sbU`WTF>P at 92!$PBQ+6#feF-Cp)l|CNYFO|fSht1Ga
z9XE;!MC9Y7Qfm2`OyhTWI+UGBs|*>NksU<+vlAGo<u3-1Klq480czdw>{51y at cBW#
zWv!?@(oU_C$i{8p7`*%ILWdB%CthF{5zjvBTFcz3lDPPZq|})peY!F3oSI~JOd|8w
ztY at 6Z7mX%X<*2HGRbFxN(v{m}#XCg^)Ji50dY%mT6~rKPmi at Z`__Z`m#J=(bLb^J4
zgJ1lv3bj>zU(s;=dyr&;eaKGG?n|#+l!q;xS;k0U-%kA-fiX8ep?q7yHv2d>_)PpC
z+v}di7X9j=Uqct>`A{5XTMV-)1p!3TO4Yf1T)1U_HT{yX7;B10VWXsS>4^K5qJwTB
zZ}O;I=n#I47!sLnJxDmRXJ3!MN(#??w<zaG`-~o?;mRrF`dRxOsNgX-9(Bd02`yle
zC6|*GhJZD626#1$cFS&|fH(ZfmMi%EQh?kDuypwBdy=t24UV4f&7~Pc!>;@7O~YGP
z at G}$kLJfVSqShn$WCK-<H0Abn$db7Rq0;MkK3dPKE7vONI?t9uagJ1-{QhxS+GOpx
zL7rX6z59x3&4X>2WzsKn2^Q`Sk6Ru_c$(0Q)=EJ~nX~r-$nsh1g!H3*dl(*nA2(|F
z@^C7#tIso0Kd2`6A}@h=<V+R|VGoOVE*~pmH(N46wDfJ<s1WaxD)o-%>zn9ng}r65
zM#UGJNr1k0_cmzPOBy!uk$+VgB>?Tzj^*<}FX-DTcifKFCrNMmp4&LvSSvUe;Ds>(
z^zg>SWZ!#!|MnIvJD!OCn$a;2LtGO!&C!E#(wF9@<78tGxa(+q*bfehy?=+zBTS5_
zuYruEi2 at 17oyOZ7fGWM~mf4aoO0BtjW!c6v at pzvD<n!f{ps!pIn8e52_>Ek0^I%^Y
z=1>W>6)^JbvKLL-OnVAC_h&#phq~r`a237JT7d=rtSQ+?{l5E|Pu`ciMGy0`Benj|
ze9$z at u%Ew4BvtR`dx!4$T`8D?^sN!(4jx6r at fig+Rx0^HU0_(-k=zim_xmN<$-%Lh
znU`zoHwzdBDe^f+n?<6s9P$K(V(6`I9wFFF&)rzt2!oXsEB=%eFU|hVs;$oBPwfFO
zdJW;#WjiR11{G487dsiuF+sXu0YsF*(R&EpmnjpbV_4zq$@jdfFQEKFFsIn&x}NKd
zcPS$zN~{&@)n|)o&UfP?QE-;nL|&O(Wm{1QbBOs!mZ+D4Z71hjrNcWm{gprW2Gn8G
zA;r(#gNKsu)_W6am)z=%Ds)koicByN_jy%~$>JBH=Pov4+kv~gezKgWrcn9h0r at KR
zGjv!4eP_pe8ei?7X!4nCqH_VeLUzAo2MqhHnmk!sl#bHshC3knoLxE)$F0QkD(qc0
zD1?q_<DAu-Ge1wiA1W*0&<PfvCT4!h+e=c$am2PtoWTkw{j0QH$3%ch1NLrsFEX&<
z(qV^;w-4<{-Z10Joey8(N at F$3cHpTEuwu6g3~r!}2{-dsl*k!|zC%pCTBTKnhUIl4
zE&E<CO4NPt0DiZ6i6(k at _nB^0N+s)9mM%&~la9=C at J*^{OncqU2ZcC^k2jzOjqAIo
zF<JeUf0A at W3eS=8*kBIZ7Tk5e^9->cYS01J8`Ib_z^a>y_(6|yN-esCOWvNKA?g%?
zk?c?U1es;vOPCyk8-X%b at drrkt0W9i{Gp)d6z3d*APmk7075~Yj6)$Eo!XAU<_S37
z1nKI2WH(<_!Lru&!It;BTrfB?C1QtIMVvY-?M4tc2ie1Q@?_csZCw$)&G0-ab*{41
z+L086Rc2u>PI{_}7Q&}nz`h7m$Rg{%WTp&)8XQMP$<L914i$C^6W`MEt!HU5v%Su2
ze98 at pin6m{rS{^pF?F()-8e`x%Y|YY*aDDT18m42>aRB*ZR5~ym(SE!;iaxU<vfiW
z*Iog|S=_-tPo%jkMSBhiF~-7RlDLq)7j3fb;d*oGZE=-7$a*UnG%9R36Br(kEahzi
zJ>{hAM0P*+ at cR2IHu1`*yh=xk9o;j5rI?+P#x3^zxBuX*l>rN~RLp!~KOimKPI6Pr
zN|EIjxmWDh68E(MgY_AYw-yL>TCyfQy2KXTauU%bWQ)|vUy(kz^PUdwpk-uOdk2Nt
z)P5^GhIc_kDZy4Mucrhs1a@>I%SPkAjUJ38)V`~;E?K3+l=C%z^Q*OwRzH9jFJryM
ze8zoU3-C}C|2Ygf5dx5^kroLFf?A`r@)sNHt{3-6L)#@?d%)tjLcfb3F&`4S6DS_O
zps_78dD7WVJ4Tn3?j`*}5^Jdl$FZVVzx;sb`jWvcN+3=Tl*%5)?snsS4Ww91QqJMg
zv8IBOfpsmA>K}j)&9FP=m`aXl;?NZ1rXe{JsRDZxPCk;wcn)D7s+L17*Csv2YOI1D
zCQ%hIhS(&p)N?L<?l;%fK=|q!vBVLuH8U;^Un~_Yn0n<T?BIR$v^1SC^v=<?pb~^H
z-A{kCn;YEYg;eg>ugpjh|FtfIADqRrmT<RaTcgU_e8Y-M&T>MPCp|IeOT`<iyGhzq
zjg!kBv!2!_M!H^>Y{rux;|-GN<N8iV>1#Yf3F{5kB>}hKQCi7@(F_A!-}A0$I~-4e
zh3fz{o=3>zTavHVV~>ke=9d3DDDgUOqg4Kvipf>oX=$s!L?i{R-tmsw;|Ir|Y<@<`
zqpBeC3JG6+!rQ-u at fxbnA%Kc>XZ0ryi4`Kvy^i@)^F_j;cRm*dSK0foYi`ZAXYQx-
z=$|!Ymw0Ry{S++Hljvbc=JV(y8YkzIPi8WMo2|=U=k)VI!wf*KSz<s)6~BgM+~~@g
z6qkqJdL|<A$~?QQ^p3}0>Asf<*Eb~^t7%~h&D9Dw*P&v^7OiEk96YL?Kn-n)eF^dL
zrGiM**KKmJ=35Y)9KvDJPPeqXbO$m4u8yJ@^WO^NyF1=GzLBx<R<CSBio3bhSl*Kk
zK=7N_S03{GBBjCSM at lk1Q+d!U;^VFzyWM$iqvu8X)rV!HQnfTNbasetdNw7eDNO+b
zzCHGSDpR^}rmWhPWSZDfE{l3Juu2Bmxs{ipNwF}iD`!Ot9YAq7ABtULVxQ>891m{K
z++97BDMYaNGolW-5la+(Rqwyc<RFsu*2riUFENS{-C`@Q!_-j~f+ffE*R0`-pzm!i
zp=7pn%E3?`P!lKazgIe*ZPb6mhf)8UF(ce8oc0x%ALO$nKfk$Zpq01sP-jY<dlrVC
zwP}twEXwj@#jb#{A)4PgARBjhxr)z@#vw}@ib~V${JZ-^MNTD~N&92BEEP%g9*qP(
zu}RWDuGtw;Gpj`&o+tHLNF=1YTDcx+?#(dpk?QP>MNnY%K2+^1uok|!voHsIjRxIc
z&<=^|V=Z#GVG6}1)I-E7lIu^uEqV(@L$94sO)o)SoE6fs at pS3vlx*?i6Y{bcB+`za
zPYv*T|Ktv*zuhO#;oICSf4n5#>7>NDGst#T>GPJfW!Z2sy%;El_t(^*GrbNLuPk01
z$11~r$lobM)MO59YyVo223fosh(0~To{-N&O8JtC(zR$7tjxlP at V2_?8Qr%l`0H^t
zE#U*Dhr@#mP(l&mLJ0$l at eAaDk7*pH+J)-MR*Q%yc?GvfKsC=F>5oe)E9alUa{lsn
zQWkG(A~d+ at EQ0RRbdgR_5-~WXSLir4ne}FEOfdmNC-tWI1}Iwgh_r^Z)M367%Tp_b
z6*9a}6Xb at yCyt(N+kB0D%fT5sePEEmRbe+Yk?X1G4X&|ehk?DXVdWesaFrEUG*%aC
z(ddz8!0R;XQ9uo=6yX0wLp>&UAnvGSV&$pAMS#)LH3S90$ZHt3uZ4zB`<UMWoST`N
zhlY56qX*FY!wm+-MQ at uIDMM$JXXOnHF%m+I+jPHFF?<h~q>;YjPSiuSn9gC62EhIt
z^Sw0k_d|uqMWxrCH8i@~yNSGqW($7)!;z#*xT0I$!>Z42P%k5%xBB^U?as^nceFCK
z{7HQW_%#^RAd3Mp6a(LEDAg`N9n{sRg&5pMdx&WGg05OqH?TR|>J6TzGjPQDXj$;6
z`lf)iWR^R-hl&?_3w+`gtE*3v*`)7Y3ipXlZ=}9?p+r<a<^nxeB8^30me;@{xTMb<
zJ*RF at 9N)pAh~H&v+(Ohupx at ZawczqPr)o15WhtW2c<^2bEY=t)7&m_xB}jydNUb-l
z=16piaY4A&$OYiY-qQCR=3!AP$)YuD{>qov+6Ud8c25?HRSwb5dpbr8d*jSn*3XT{
z2db!*k4?JYd{pMt?-B0p$bKlv2~WdP5T at TXK0~PA(QBx at eXFu?`++|>xUFGmLUbPP
z(uQ2uzI3Vsv0lxpwbON52Jz*w+0o1O2Ccb8U0Mq at u6um3?IcE6Vjz0cC*|fq3t6g#
zNf0l<+yXQ|Y3Hty-(42$!tgq5<kF%ysjnRJSd05sIQ{u%)D1%;#i!0V9D_<!;c}&L
zH%-~XhO*OT*-@>$B+LRI^VJ9!FqgJn*YIWX|1owBO at aVx7A@PhZQHhO+qP}nc6Hgd
zZM)01rZ;aQCgLq-mzjScBlCRsT+mMl=4OwiOkcrjH3PMt?H0^rdsI*sGUB|JGV}Dl
zGey{LAp<DGH0Ff?`h=MW4Be_LmM_J0!>g2=>?XqZBdont(dc&okwp_2fL4CzMN!KR
zg6MgRdd><+C)&u=vu68s?hhQGmRJ at R9!9aU1~Zojv}^6Kd(IXE(W8sp^3KgB{Bjph
zk{%2TU#!_NxJ{S1O}?DSyp;rvK4(X_TiVH~-md~npNjMz<#g>*Oi$!eKgYzchI1oT
zouW?u8_>ao)u}t3sS8W7ERP_Zz6<Q%`t2Yd1fI0evp6|!8HTKRIj~c)N<y-E at a8-R
z<h7wVbY|xsRliyGz4|K?S(lU7L#l-hAI5b+YUN1JRbd_#dCcB*asqV67FC;00)<>(
z=kkvMMz)GPHNO)ATHh>Ch5l8f- at HfIh(_z_bO+>nVh5b>zh<}LJXw#_Kd8|LQkDwY
z<@0{J1BTUD{N*2t-qk!^jF#m%7knxJ;~>JOfcbuqhN_=BHA(HK<bApJq--X)4*v7V
z9^HC_-0>zb3#T^nQ|<Dm8PrNxwdCI-|Ezhj4Ej8wd9pT!1^WI?88V9t$%*1YYTt=i
zc$LU8dXie at x8-E@87g_C#O!-*MqAqP`QnXBIy<)<43b42bj&L}XTr=toi-D<5Far`
zm-cBX6*V|U_ouqTW7yZ`l`?WG4z#3O3Z^I~2!SfQuahWk><-N#?j9(zQZ{h32=?E6
zdc|H>F_V^q79AQhr&7+FSSywjhAdMYHGC}Lp3WUg{Hko&_RTKh-U*dv3}&aX*<TMr
z=jf};&Mll^V(KE_>cW~L_JJUKe7<#%M~(X&F(_GswXZf2!kq7Q;;Tttx;?Tw?<AP#
zrIRzs*p#G5>b#z_Usex0LM~Z0OIy=CS27 at CD~dekg~++Xt>_$2bIGI{9bq2!MY#)f
z4mwyC80<A;b<_SjBq<2*e>J5n+#nZXz}psEx!fpdlONm!Q}{pVy4gtyk}h2`4D`J%
z8H`Db%_Vv0Nx{y>@)u^JXyhu4;zSa}?(*}P#@MRrrw5^2BN+)JW-(?*h3h*R<pEu{
zPO5Hs7Rb;Z5e=%cbmX9eUD1`S`8BJ|A*^;C2OA?ykXhavPUUyWJq?Kfn&I}kUb^Vh
zE~Kuyv>=b&e>t;OsC5Ha5tsQ;8NR#2<ea6`M7TLWg{nv}Cfo-J)8!sV$}H*9Jcw#Z
zqQ$Nr1OIx at 2d^h6UpUzedX at 67io;$th7}GAVm);cx6fzD*O9lrc$SFCn>O3I)-v6v
z;P;><9>zCRv`LTvH*0kK$RS2cq=47w`74q6Wl^o)&wN*{mFYd9;gSnxs2HHFpFIZd
zo~j<rdr6sxK7dz2njKZ&yN;w>p<6*S!JzW|<*G=3_};>g;7UO{9+g(JQN!l{xjRUp
zoY1c0B|rLRjoaI?LnN6{l#R`Cs!vn8<B1oI`?fkS?Cz*cY&Pr9VsXKiNh9nno_y8e
zB}pGV at P(apZZR{_j0smb7%}%6r4x)*-zl1-7H3%K)oa(or!TO9!8(-qdi%ONFb=>`
zOc_ef${lYj1;bnF{+Ch1l8D5DeO at NhXJv{->r!Pc*wYU(ZH}mGb<)8M0l}Nsi(vM<
z>dKzKC7D-_;`WjU5#{oEDBMVD_qO6BI^ZafP&0i?NOAqlS?Ap3Cl%6An~YrOn5YH8
z`UX+%n^5zW*;h97*y?#C{V)V<+MYPCx9dD_ZrEM9J)u&10EI%W{^5s(FXM*{yFQDb
zlo=HjVLJ6WXBCvr!s at 25uiv>Dg at 0a%wzdSKI+s<!b^CQtyCI<ERjBCudwe&$1Gw=S
z?Wrv0tZ&<7{8A@*@-B4|q1rU~+GnQq5Dzk4F6q3mjcWP{gC)F94KlrTn<7P-O=z8O
zcouVmabhhP at O_ybLhh;<)|njY7JS~`D`Irm_F}s at -S%S@(7u~-w7$llgA_hnN$TyP
z!*(b*2g-uXrR0+48V>$ER1I#QH#r=E?~TH$yP<I>RcdrV0)Xra8oB@#llMZrh}m{p
zfQJz1UNRjx^;zswyW=9y-Q3{N=L<iRV8=q`$|3iY)r-~5v?5 at UqK}gGqfjXTt!OLj
zRDYYecmur;k7mi;K5`+6ICbG2Y?}1yvp{_ltROAcTJo-zekLIr78USrbDXgj4KU{W
z#ThD>BAGk>KFN&;Lp^#LS-pS~;aP1fqF=nBCN$G<K$FJ!<wI*vUi|cwv)b2Ki^t2O
zYHR%|Ie~dIYnciAFNg_*=|r>yP3_?QC(Y)KGChACyf9rV!hUjz?GUJO!Y3uXI?ea-
zsMclEB-VoL*`r0qG<I=aO>|6h4Ot=QR?*YOPf_C?2mz%%AE@>@rl_+|-Ea0n3Zw&t
z24TmXynsy<SV4ZKO9FblM0D0QV3?Gmyu|0cjjL-^(W1<B$bt(8UOPH$QT`)@iYr>L
zcPkKbC-0I0clXvJ6T;cGL|NHb8{vk2pV}Kqj077(<diD4*N^guJcsmrY;SMvJU=Rh
zQCRpZ&8^28j%K?AdH5m4;HPOkDWR|C1;+(M^AB)SpZD*NXt$5&-=;&m-f|1%p48~*
zCdS!$TYFe-iD>em)`SEHxt7OZey~E~=n{+KQ|UW{@rD7(bTYeCcowtJfL{2M^D*YO
z&-&HQdWu77O-aPGRH=K%cjvdhn?diKS&D(V&tg+ic%?0UiVL6Y)MWO}44cEhPDf)J
z_3M at ng*VE at sIs~kucaQFS~(;zh!VE_#7i@`P*Ie>y;!|~vE%YIe3569ywh6ja=lZp
z&%y$XAb=14g*jY4-%K1X!oLK?@w=36A*jd}JZs%h^sKqC18`*BEfig#F$enoyA#7|
ze)*0-e|G%S{g<r|Q?Q8dB8$01T^#)-z>DVHVy at ML3PiZ^bNS9Kf^=!?b*s0mkOv;8
zPs^b0n1!F4yB;IRvl8FV@=OPw9^6UgW1Yl<6^tHA?)Fou7bpYw6O5s4uLV4Vn%((%
zjdq*%hRbVnJhCekv=6E4Qr#8W$~DhBQ89gh3V8kRPP(a((>1V at 6rhk%_(#f;EshA6
zcB{g(OnD<Q&%PsTP^DZqJJDqzlh)Fv(oRpQ(&2X>@6*TMOB$;9OR`?5i(=ZZ$u-j*
zmO0ka!fYL{G&7^i*O^g6ZgYf1eiDXlI|A&**XH|cCvM>6tA5O(GLZ3B9 at Vp#M=S?M
z1(w#&sEn!LOP<jfQe6n&eEc|zhpfxXFJ5zZ>Anl+FRqW5#k5k)dD<7C0X(NJg;2V0
z%l5QNz~|5J3psIhYH!|Rt*a>R4H1o&YFe|pJqPw)^x_ti*=8yvrGcu1ODkO-f|CH&
zv*denN{h>$;0r88h*ltLr}qmSj-oHBFLdbkWThv%{;o_GP+Mso)s*`Ytwp at QdIr;=
zK2|}Y#;8Sv<~K=9Q(4_?Mq$xUypaMnF#}h;<!@F$&9M2)xQ^6qh&nj!S=3|O?pbSw
zDlWS#KbXC;C#-v$rFhPK;Lz&I>@Dtr=jzUY$*s&Dm1xJ-kH`7RN?)m78A5|c$=Yw7
z_ at ZBk;LVnJsdknbaC0N^z^0j1E;Un5n!#ZjNqM%DZt9+D)7iE5^SBwBMQsTKsrc3V
zj1>RCRF7YdbOANTCox24^sL5|$OY9 at HeF%dl{9t=ne{Pvs8wH%o%+E>3)Ku*dg#ta
zns1m!PP~jtH8oqC+sNnI%r`Aux9uUlbg?n_*!S4`U6a!nd^zDp>|<D1g4x-7A9&HM
z_CT-uP!uUSrPMD=iN(Ki|5Sz^gz*~Wkq&A>A_=~D^<>Jy>Iaez;)n~~z3pkS0v%ud
zQT3=pkLH(1*!t0#Z&P}?Xk<o%tte-8TV314UmA4V`w$DeTy&$`&jpZQp^^w@^AR6Y
z$xFo0q%+N+rMoTSSt>sWo}Rps at YEcpv{yD6zcXOhz_!T)wg&4c)n<MO>*1K0N0}+9
z=w})q3~SMmXL5u1x>Vz(TlN#}c8X4-_|sgs`3Q*zIBKmKZj7y at s=K2)fP;6p57Fom
z-E{5-ZI{U5!$KP_5^O<BYTF(JrwR?6MqOGnnt#A$S3M%m6|2R^?Q*yze~LGM(!$K^
zXbst8Ry5>yzI6jB7NpFFo?@|}TaV0sjNPw~nx7-F-hIZ*KPz4!89082vFgfYn?*4T
zHx<s&w^oEo3Yw$0tJV?qHdZ+?v6HPAYE~2_^0B~fSjk$$ZyR1^%4-WPeFLiFBoAG8
zFG=aW6u4#!%4~&VJl5ue#HWunQy`{tpvxREO5W%i!J+8c<- at 7!sg)CqnKk>u3GDfn
z3=9dLEwy;(>c3ee`I)cU3*~@X)OC`SIGpWIFkRE1w)aH1&BdVeWQ6jrDJhuqgv0#)
zqGBS9R56*J(mejHr5WxNk}BZcDo_10-K6+Nwh_^if82d}adJnGW$1(ruZw#`-f`xV
zZUpOv$tD5gn}^4ZU<QfBy%buA<90Wp!+ua8k+xt(^_#VAM&|0->_-e<&o}0C5w{`i
zV`VjL;G5C<n#WsV^hU`AC=h8D65$2=J4Men(Z~#xBb;TBo`p9*)uk-E at rjiE+zhiF
z at 2D6775i#CUJ1DMC2vcfl9)_7zefAIjW+hZ+2+AKysU at -*Ho-y$6Zi#6Cjf<RpZwY
zGJ&=Q7<V0h`H;|mVl_NfCvQ_W+UEw=atAW{l%Kq~r4&R28%_^tTU_)RxES30Bi05;
zlSI-&95e!nm!Xm+oQ+~vA{Izfje}Xwai6t5?SbX|j2u_40p4hyO^E1Z+h|pK;kkti
zk;vX{#Y&$=km$AGSQP6CcN{53am<625<a2Yq_t;^8IACfyD-OJ>YAOo<8z*SRTnIG
za at C7O!NbZ_immW5*uP>EjLUAT{CexJi!}Q<ht$TI>sgqsmB4|e3BnD$ly+p<Pyg4N
z>b*AXFKvVQnW7JSN(gzqHAUI0=TK}$mShEP_^~WDA&=&~GaufKpiTyu>&1;+|9eJn
z$2(3EC~771TJ1ov*DB*p@?Uc6+m1FIm&RJ6Ao%AcXR}v?War|sm#6HTG{0q*NWNz~
z%xrj*^pqHAF0?fwuN#UOb4sXR)RHz)J(@&Gc}t=4T0V%KQ_DHyGDJNLU4j+lJ!1#W
zb-~CElqAP$nt7aIA!f#{-S3$F21LelHWD%Yu>J<u2TD!U-&)_6Ig_JWP~j9IB{MHp
zG1abKhrny>fSJpveAlXw{Nh*N(q0Y^Y!U+$G7mP9u8iKH&q3|+d3|tt+<$!_!x>A}
z$UY8j3-f20pJhRlmX)J$)S$_)VKbBrJNK}!Ce?;;a3_IJrHqEhmV!51PYD6^TJ#$Y
z$|{;VV}hefiG}&l-N!}@)&kFg5{$O==OwOR-3Xa66_k=R`a5dc9Zh&RUr|~M4jpE`
z*IEX=$5d0ybZ3A4=#w)hw-bejgAvSXQNO<UzNZ8WR&5mabG|(>SIP!r(7YtVZ^e(Y
z6SL7*$1}3!9E)9H1dzy?Vq at I62TRl=MXWk{iT|mLyRA)-k%w_EaKcju0S4F4L!xua
zOu=P#0dU1s75RKn5P+KhWF7)<uFyV3#7Uilj-lTMcL2klvxA+27-{rrwI>gr2*~I}
z9Ay&jM77BP1 at n8KkhNpq(y8+_ at TkS8d5w0C+~3Gc7dLBKYqRt$^MSG?Xz91-4L75!
zK1;pH8yHOETwURt`L_x!M9K(Ks{eX?b#mu2dKxyf3Ko at L+QBwFtnlTXx@z?!P3>rJ
z>2 at zAZUN%~7aFh5`~urJ(G&c)5oosmHUiDU!1$k;=YP^H23C&$?Ea55i-Cdt|1HgO
z2USVY-eOZiLL!Ro7iNda4JvVQhiB+VVD5*}T_h-kSge$wApN(3AR-_jC0yL0^fS(J
z-hKS})!J(_t2NK_-CNW3)?d at RG&G!FJxXi|-V#XJXCQ&+r<VXqSesuu0tX~WAfSgJ
z2^bqJf*0)+_-Q<9z!2g=P~ea`<VSeGLtsEMRR$nd6oBP`QFwL%d;<maLxl8GghYTq
z00<oZ1sdcf0Ra7jz6>|N52|v&009&)ig$B*3Fzt|Qgre44E1Nr3E=DSuxPt)5KvP+
z0(=<_2AHK^LOg=Hs)%+SbUt|NpEYaGztkYzNrY&J<n67yr^j=k4nnUzJeUQXeIHho
z3#bzTWOxYL2>c5Na~`Bi=qF}0dJO0<w-90<u9t&%3Hv%QPyq~`f;I$9Ak=-xh9D1s
zimQOUDDJ#daKB&hia&6BAb&RS-Q&Y=?v4D at oQT4Dy}_Sa+U*rsn8(mT902bMXpng&
zr8ChFf(}52=^Ju{tDu15!vQ^m3g~q((6<#X427f>!2Sxz-|6r_&jFo;h}{qsQ*)T_
zer1BTO+?djcsCbNfrN-2|8!XaUII3XpEpylXAZfB4)z(p`qbVO)3ZNk7;brXK41(L
zUF0I72k>B~gP&uk0D?e+1PBr^BoG4IfD!Sv#Cvl<AH8-7`f at +{X3H>vKXwl6{dlZk
zBnVdUg5L-4#Qk~*0OtpgkWatzV}0r#Uta;Z%V?160yqT>-TsZm(+Hn?*30kS0=@vu
z2vL4t0DsSJZ`q+yhOYJ*(D(fJ`{FX>B_~8?Gy*T@#{IcZj`#Tj_~Rk?`-ur)fQCm#
z02K`#3GVhRn+N9kZNJ1Tpr-NQB7SesT4eoQub#t!uKb?{0Kd4?$#6t<Ao_pc=Vk;4
z3AC4ke}AW6^a+3YlYXZk`X0XexRoAU9N$mOe_`MJzYNqXqHpm*qT2H$QXp9NDJc7Y
zu&qGeYjt2FaF>^!`+BG(7^Gkt8Nk!~*pZ?Xf<6SUnhPbg$M$^QZQ0){S<oq9ieSYB
z{C8;q;Q1k*^!ZY{ZE_V~!GT04_30p_cz@|CA(}$BzEd&-{y+e{+yQ(Z1}f+vA)tYM
zy(@Y(2fuw4G4_u^2NNq20$6nm^yA$GzCOx?3IOC|U!Vna2wWxd>-N=t`PcN#-Il-W
ztJ?DND##tvn-yq%Sbs~OBSgRtquE;l*->NOsG#mTsZmNF%`|-hdiyo7o<>T_H!~zX
zJLmNkf6T;y7vDIox|yZ`S8gVgCK4k9vgB}^3-g`gY7#nAPIgGJjO3Aa at aBE}JPyHu
zL*(M-Y#tO_SWPcp?}*@P5m__KFt?HvM^-~D$PKJKqz2vAMyM*^%l4yE at DQ3w6bg<`
zoi^JQjb$+~&=c)tXCRX&cx04%UQ}cFe8u5G%W|Yz|9dpO>M}`7`2U_r>#NzzSM3it
zx70x;{)>gHl=xM_a01KkDJGJdRjv}xYn+70A4?~JxQ}(tKY;BT$J_1v0}|(4ixYCs
zgAoJm8y40vf<2ZR>D|Khy9nXJv}Azlhj+c^L*B9=7Z#&5H at Q|)6;d6%6qL)Xl4Gk?
z>Iyc(NOu%=SIz1MaMBYf-=L7=es2F79Fv_jGa7OdzLLg&k=gwE4mA&jesrw*4+*OA
z8~Q4ia_wzhZ`0KsD;iFqm5%w_Tl)%(>0sbxdFkM at y~Jtk?VGCxI?3#w<QU0h^iVYF
zy^}nJ-=xmKfcoUna9u2#O>w{jLglXQcdvOPX;4rki)+2yF6lxCcUssQa$}Qx at b4Q8
zM!twi!hXr}%==~8A+>(WIJY{P`@{#wmL=0P(I>y*k3fuUe8#D*KiT!S+q63KPs1+}
z1o_apOc~uHK#fj%S&f{HTSeP^(inj?JfQ6$Z#a7xjE}9X&ot=kYK%BFK{Sd-vTi~4
z#bzKZ8+<+Pt0EkjVn3j at t|e4NX~*DZS~woprtRUd-x;3?=Wq+eI~dIC%Rf6?d1&F}
zJWl4$e7QnwBv)ba<3x=?JFmydod0Mzhdv3Cy!S-LIAW>kvRx<dv2D#(F+W9D+gl_4
zD;LsSKsj2s6V}?nQGT_UIa%3z=CqXk{(GwNzW>*Ii8zJ2YlQa~TE3Vl#i3NG>R$Gu
z|085cycA-CrOvrca7c1?=K}7s%?oi65UN$1>=-*+4+MW6pZ4CN#mhf8OYgCU?6QH`
z7(xePA<*(FpPbZ|_a4PQQG~ii)EdrP75}<KOQ-3y`#b8fR5v0dA+JfA)`*3iK?9=g
z&o at vy7@8NxFLBD~<#!CyW#>UnBu1?=mtuW>+qC0UG_1nDo%!7rB6JdwDVj1rCC_md
zsW8*Zzy6R_3EFMlCy|imQOdPED=jg?OEUA)h`l2 at iJe62QMq=OI1?pLlT9Ysz|Q2!
z)5uU?&9iGj>#0K&$lM~vESFVVqjO@}9)~Ots3-B2;!{p|8JMN^c)jDuz at ZFF{LTQg
z`{i&r@!r0>v2ia<(o+MQ)4*==CK+#jfQ4Jvwn>~Aze|(&kBzppZRBh%s$v{i;huNj
zdf|){P*a8m;=+NvuQU|-X`S=d#xxo6cROiNOeOR!*#j>)KTcCi;*-<XLW{Y4A7{hj
zOTJOgox<Snm9nfqonm8Y)vL{)7gNs$kZVqCrZ!w;#*a;y^GWZfW6H<`p(|@Ij}dV1
z;Q||^E%D!>VM`4Y^8l9O6Q>fj!cazw{cmCG^lMmZJso2rU4BG~qf)xb!D_NqpaX at 0
zxJZ|!B#LA(B^u6M>c-IgQpDHt at g2`m$eLD+SzGlZpK*BuvXxxD73VADJu#K8)ZL=E
zqwYjxWu?zDLS=u_oR_u<vKV&$@R6j=QCsz+KZ#hc7Pe7tP=d-+P1N00zG>Bm#~Cql
zjvrG43MW22b=DN!tX$fQXxwh!h)wt8i94%Z at BJwyz=PfNEfa5j`oeslM|iKc+Aygm
zT9nZPdp%a4MFQGXZ at -442dC4rT)(R!ltnG(+})ZDy~)o#mNmiCUab?T?83*KB6BwK
z6+CuO;M|JZlcmXmlblVRR(39zmf}WoUw<dmi6f?6`lcjxfv`Mx_!3j;C*KJcFoPr`
zAf49hvwH?w8_ZU3p}U0$%y!C$Tby;{lh$R2Yw^z}F(u`K=1K`Q+h0<)+k8r%Rw*y-
zs|i;0ZO*VnPhX8IkeO<*uEr?!(j{guxX8KB{PY$~z+58gtRXnx0J8ZEdb;BHWHh+J
zc->6L+d2;0jbDO=<RiOV_j@{>48hncT;4LZq*4e at 3f7u-Tq&Ru4FK>=f&LJqSY1V3
z7R=(ir7jF{H5<1|z~0emdHSb4_0~@BzJ;Yp$6AO1wC>Bfz?<O~S0?WgL=!(7NW_Pu
z1k#1-y&zv~RcBhRy2>J_$g}A at qV<RNc270~W0 at it3(O-yXVjO2dNuqTb3%1eXMj04
zx~JiOEo->ULKtSk5oH3FEUq>CfCqy{J_2To;F?D^ekh(u3dJcG?a&g>=7(qXtW*xT
zfSZb=gP%8h5*a_3A(d^RcT%jJ9T(wnytI2xhOHctN_CXWr%!y}y+{hT)Qxi#)Yly~
zFD2Vud#-)|BS4Y7I4)Dd9Cb4*Yk_&Xx;tt-9K6KMpG2HT)=TpES3ZIH3&8W(>YDKT
zK_g~V!T#=`Fr)A9&YEx_Mwm8FuxEQ(xw#(UJ08AezRd}9H0hN>);k}f*k8*%_U$WJ
zzdEDS$;z&#KWJ%u_U3Z#N0)BpF^)W|H&#AR$RM$mK at -$LS at Mmkm%!7!s<+T?WX9wW
zn`ajz0p2;f(&jvg^_)pHENi>Zv=$AVlzf&=<crgr{c`jy{y(gg3J!n1O!qVt)BVJa
zI^5S&T6V4&Q_WNPwJOC!6)(u8{pd91UJQ-+;y{UgG~(|gW=cAr4jSX^+3z{kLqn at 7
zjU3ks*2Ra^+9%vdT-Aa2v09zO9W at btUO=;bT$M7%6Z7St9p4Bevu`67(Yve{wj(^k
z{l)<Kc~&>%sW0l`^+K4h_j<2-2PSC$$*Ye}??g_MPYXnZ*d%@N8gNYH&XMt|?H41<
z?~xD8Y_-{#CZE$q{$vz(nEf(Ir>lf}3CWn!^NfZ;7^8bXoIq_*MiGh{{#`Zv<yzTd
zpV9VEn={mi4ff82T+vpgsVAQ&2*mm(YR*prm0hIjw!oLvb7MEnV{%pCkz=r8tc&GR
zfTNvIeIL%{C!Faub*2&+2;0roGgj at yYM0fermU(8dDUV1dP5=P`A$0gtcgwUs$D;3
z(rqo9l|Bh!9ZO0`D_<#0pgH>!A#?M*=qL?{&bud{z_a^vlM?q_1pIaLUDMluio63K
z3<WB5ha4F>N at _f)ZZZ)2qDXdmBPSeX8kpp<ipuL$R00Ti$63UdwFXs#{DweAv*3NZ
zfW<lv1`IqwHO0bD7J0=F at 8Sm4HEM&KZK+rA#G(NrBsn!CZ*iFr`o_9l>kEuBIv3`e
z$E%(>+dAu1RZKuXKU at 3K<*R}8Rf?3`TqxjoeRZ(18OP at G6XF-<$)+w9Pkn-IGK8yA
zO%Esu47uY|I54KBY2~-eC}ZHi!*(0#!!e}mP73drr;Gb#g1>;B!C55Hy|tlZbXosQ
z_4owV6-AhGKg}p?MC9E(lq9Y42=Q)ue^a}j at Td@G0g^d^cv8EY1P at p>FcQ+T at ErGG
zZ=bMwfqy`Z+Bo!N+AB}Vq#>=z!8T*uM!z>)voJ$Ib%(pvi+B_4%F~}R|1isEzGXsq
z)vJ1wN?h%^M)}wstmxID%C^b=%0oC2AGWoWnPQwuOeD*{SiL-t<^4g59ZFdQk;zw*
zbjVp6O at H65w~IbTA&tnv at x6RTTjBh<0wOq}Y3LR-*t at I83ixcGXr~?)8%%2|*tTiW
z#eXkON;j^Xg;WTit~|a1tA7|6-OuUVW4A{R+YiEz&g)E(0c_tbuymME*!Uz~4`-TP
zV;NyA9ms-%om|BsQB7!S&KwC}FpAn`M~4<&f!>QajET8qiGShT_2+(qRq%?bqkYYL
zwc+`(SN9aWb|Ae)SwEGny6IE-c^d3+1+W8ltqdexXYwsp^nLDRX1ZD<1lgR}N8h=I
z7V~zSsT7&f99FT at Oz-%T3|l_6Fs>_|4?zC9h7Em2Xpd=cttI~J=Hm5ZymR`x2&F7v
z!(nxlXB47KvCC?mL^o+O>rFF|1kjqCAMJ2&0^dd5#nW~nqF*8FhK09**Ug9HN(;f<
zk<qVj7Rj at Sj`cndacakwzQCb5E9FM at dCSA5>3|DT6EhXAU9|DyZ<h&db~C_nRah(I
z(JNTo#4JvtwG)Hb+Z|+og6+5JT#?l7-A30j-$*J)4uha@#Z0atO#~H4_C6k>ug$M&
z6vKCKfU*WYnND0*YRZs*tO~rdGX!xC{sS#MZ;SUQKot#`p0N at L(<1KFK+s|3{@7op
z>rl@(ZeJL7m%bYN5)j4G5Yp3)0Nu^jEC!4)m64oiDAlmc+D{Kg$_qDPF-&}zQCYCD
z3`DtmCJA!9 at h+3<((%kT2x+EhxlB2{PUWDOsz(Uf(n(-RTJs3U2*^5|w#VFeq67{L
z_x%ACbJKTBsM3FgS3a#?>l&K9V39CBwaT-iZ9%9)7^s;nyaxR=6K%Sk#^%phI&fI&
zmb*I9QL3#J`}qN&t0onueh3rPni}z~#6vb|8ZpW;Efi)_9cW*Rt6ypE1~%i8KG->`
zlM$6OOstdrr`V~0 at sujO&Ln>#!D~o49 at QAa6gJWb15c?O9`Sx{7XWduS3dOz#8gNy
zS>6caMG(J&WF*r4BYfoAbc%?56ZfrbFuT{Ed&9gR`5jz}Azp&~?lsFxC-;p%`Hk*g
zu#5eS34$K4(Q|EYTd=RYy&0H_na6TKJ>9$(-lNva9*IY7*Vkf5n=zof?c4qN!rTda
z&+Exj4H78&9WCX!?P2A3Ey>}Auq;ry$4 at aQWVc<8NS!akpzn87yXTYKE%O+i(=V%u
zCtqR3R!z7oF3H62#!<7i^YNOR&gPXfhs8{i^c4|W-=-q>njsO)^cd;8-QBf)ici;q
zkJgd6<t8la$F9;zKHfm7A0`eZTr9PnWNByZ7IfN;<tb~i2eP}30%C_Zip?w=Z at hKP
z3etU1X?qM_^ou0nAI?b+9Ax#Pd4Q0t-$sJM=~7MRQCj2J6PyW42RSa)7EJ>se%R5E
zO>- at Ug`p+lWprvkS1DqtpN8{3#RJ+*(Xj5avS~{nsHG<;qqHU;>?6#=pr^~YRm!zU
z5;q7mog$5|(TbR(_R>pZRcB*elUEr4QkM0ub-mKB<YH!_c9x5~%6GRxD^intV2q^l
za9EOSJc+dQht^(3C)VC*- at Tu8OgWd(=GnKrHPvk+=L)$pf|Gb at 1ITiMkVSC)3&w>1
zuKRs%3FixD7d=ke1aiWLs{TuYbxz8PzZ$PxP26kTG&>(?lD;|*D`hC}B}>b#qArmy
z2g{bAd$4YBR4p^9PkiiUa*M6PAT(xs+9RnUW3WA7gxl1jx+%jbYo~t^N6MN6Y&8nS
zTuW*j+~mbG_=e%a%Z-M&s$&myPPK<=4KF}}iNPm!TE+3<={n4(Pd&KDvP;>OrJHaX
zRonANC|4dGvBDsH!gQ9TxiX7p;_0XSjqek=6caN at o;ybuBqZx%fj7N#rf%FX@;3NG
zOsc)CS~d}FGF|L%jQw~WT=*O)RYlHd&io#aMik9i;K(G%(O&aB6zr_u8E^f5o`d6#
zTSNu}kqOaUxU4wN02*CJvS+J0BBi*8Tu#7y>jiUg%8V5tN1H);eNlKY!`bHKA)EU4
zwqyK|-64P`F~?>|r%V{j+^eFzL+qz<M(ch at WpQ2+&8AD5OU2r;Z#*Z57e7 at s#;Jp~
zJP%Op;J&s|eVWFZ-YaI?h8uQS&UoSjt2@*<iRyrd)buvab2aB+SM-o7FXMY^$s?VP
zz4$7ZXPeQNUy1}fNo&$}6CaltAD3njg9uR+qx2_1M1UlE;`ENCFXKpbK_Ft&`|&rD
za&&j$UiqN4)L;75XX2nny8r4CEPc=r{z)-TJ3&ODz~H&~F^KGbO@?KK#jfm5E-U)%
z#}&V~6P=CWf?LCS$xsGi7rs^=%#1o$0s|%G0WQrw-fmg?s!mOvkfsCjo@!)xh4Sj1
znfBQ2f+dQ#+$Tb}@XomG{WjYz#-_DEt5k`BjD;GwE`}<V<cm+UZwy8q&)wy;n!zs#
z_*haN8;LDXH!;@m!>LuZZbad?H>;sVj_nz6i|86G9%A(4Y+~To9E7LK^IRpV-B+B>
zZx=eO!YUnbi2(CL#v1cuESeu`8s(P(v?|`(tXbvO#O-^30N-h6%I>Tx!ODa53=?2G
zGEdw(LN(|rWa|JFdbA(fgE25ST{l{?>79IDc>a-wf?H{`a+4|0o-W}SaoX<AFg at 6S
z%|VneP%DjOPQ2(Wj?OT89B^ipa{p*Vy*GJ$cQa-ZVyC)en~Q*wu$u8cN*}_`3&5wu
zsM#Lf=Jp!j5%P2i-PO~73f7bRgCxi)Q4-;owekE0B0Sy%_ at Ef8VM<r{COw<lN%-1p
zzjSYYZ766)U306K^V!&x8{Sn<WwC%n!56>4eNE7r at sX`D$pmSM&);>#i881(*BNij
zZBXNu$sl;v;p2@{?p>h}vrq8v+kCfpEip1H&38{AibmyJA2mD%B)+;psTAp1YlL7%
zE44xUG2JZ2$*GP?NgUR at EF&716&=5d8#X0~EM9;9iENyEi=WP*>2MTiKS+KaT`$B6
z{NkvfOLPB_*@t0J?JY=G)<nA$SvdxtFHv_3Y{!~pb>H&ZA4QRcp6&`$d$~nB-^u#D
zsMQDqZ%@6q$aEQxx3aCGm2`3AhBi at i#cWL>#y^zd87XD?(SZLVKC63db8<Rox6(NM
z#7{F}Wl}^!mo>BP5q4KaGiN-pWU`8RLa5RnmH4SJUoKtIGjQ-YZ9_u$DMT-F{MB;m
z?d)?E`yo)9M`nfY3+_I6WSw(1C{-D$-KYk=#(hqYhkacQee1h%!m*Mf2fenMwk<Wf
z<>4ISIn*}MP%4|{WdHDJjTBp*)wHQaLRY)7&?AKx1e_ukB#871tAKjHwj@%lI6Mdc
zY at -?Z+sM4ii>ijjt5?29GN=EiTd~vMIk at PxG&G#It(iw3VCVxlY#PZ<zne4kkM_e2
z<YIofdn9FFqj^~QO=*wiFWgFOL>@X7XR!%yChqXZ-@|u?jmC&4#u1J!VYp7j9&RSB
z%Twmge;CzCKT7S#RMPnVFjb1A%xzW(X{RKBvE>L<khI8_e50(GLXpkqBiyaycDA4Q
z2C&SNlH<l?Y|SjJG;C!NE^H{|HpcC6bW7YD2`p%jRik8f?s&1tW3!j;S#RGzf(6!o
zt&O4WK0%*PTL<SJ(PSfq&oNZ@;a at hOr2F#-apsjzH66)C<UX2#^hZoKlO>=?dWIYT
zdd%<yuOoQZ;0?RbrMmgkXCVIZTM~DMS>GM(#Qzb`U+>6+%cqOx4{wF at pQpyLi<?uu
zrrj3N(7(D%aSanK&{Ke at YJ=d+MF1P*htC$~XJCax;?dJ=GA`q8M$eY!_Q*x5M|LGp
zIaE)(CEQ^{<Go__UWelEXS^10weUoeYk+9RXiN>2Nul_P>uEECPgvtQm}3Mn02_C&
zA5llFHwa_<GiOI^#Q=D6TiP;dBXQ|mk?FfzW8(HNP-oWvSaGfuUA_xZ+cHA4>~4;6
zo8!5P7CL*FYnRVilhG{`ob=_zd^)%7l(1gX{Rg6?&lsP?QM_uZ2lD7*jPH=*9O=Vj
zL`wQn at 7QDoGHoEfmoaJT9`MiU)Rqo)d`hhJ%$Bqv>os!N2-7zz*+g5r+zIh?eyu1E
zo@$+tZyRnc93uvz$}1K9XJtAo77QO7F?N^(xLZ`Vd({vt9v<+JO#YPfhkb@`v_gKy
z=!HXT1GjqaJ{qeEzrBagFW&dqAxCI<7p#8gA+bSm6DV=`(QP?R{BsQI at E{gayl^Xd
zwYZJ=mtoy9s4nSK at qAmO;phFa9_r59Oz6XLI+qOEJ~0_+f!WV_`sas|v66Ng9*i+|
z at 6OJ)I1m=D%$&}bD>`*eEcwNV;ahpxk6egXnY}2kHSzSD7wv^z$SQZ>x(0MnfJ9_F
zNQ;OqBHo8UFJ`bbe&-BUpK;9H#v^lL$44YZqS811Sq9N!EbeTR<IBs4^!bWLpgM`@
zRQ=0Tgd=*+bWkCm8~lW$Q(ykenTiIhm-0iHn3iv2-8cT`O6J>t!+IS54ePNoasCJ7
z{lj`3od3J~KUj~Gh4KH5^*q2;lC_uUfEK-PK}yyHN?v!pZ-pQbARrUwMZHpYv;S4(
z04af#P^b!&KrSX0u}}g57473c=iGjsb-CAitFKD!eor$unZNKfC8Nr*2_p-Vnuj2Z
z-~x(6MnM3U0#bRAsSybPAV44i0f|C#aLN`^U>w`$1T5hk28R&sFaAas9s)ax6f&xc
zqhwWt2LLzw8Ui392#Dxti3njqfJ6WVD)}QL at +|_Wit|@63&=wh#0Cf_faFj?)C=HO
zRAWQ+%<aVk;4#n(h)78Z?YD6YOduZugK`f7dc{$&N057o{~?Ak2m%l$tmyyOWs>MB
zT-aR_8v6bH9g4%7C<KA8?x_bDz>jhQ#t=q8$mfS(-d~>t_z{<v&?kjVv=5TeDVXRF
zLk5AK(pL-*5&&kPzyJ~_()Bi&OUMWCbOV4)s~ZrA4)POT^BGP6 at OJ3{KqN%;3;CM<
zS}&mRW^XRefN^ks0s$W~s0&D^fB|AqP)8jCB>)M4b1>T%5ywCRbbb5x3?h`1s}QnJ
z*&U>U8WRv_0rf`}AL$DCS%@$+;U6Nz3iS^a#Bajd)&xB`hYT!E0O@;B4*d}5|LY8o
z@>AV`=Mcir^LCpGjdFAKPz__QPjAS~vAl&|RQiDq4vY8|+##d at z*vyd-kt#ga0nX!
z60j5EZ)<?{7xdls3%1xA0`f)315jt)R6wYJ4&e!0kYRBF9!TK*O-Lx{x9wn$8VC_F
zfEgtQh(l1P&>_gbsMs)KDxbCUmv0^*02YCk9}(bg?UG;K%_5YOc>hno|KC1sni`V=
z6FZyPU-gM!Mk;DzAb^3OA|(JpN=E_#5fKp_0zyJCh<A4!Ve!BEo?rC(wC&J91kdEU
zPn_SmjeGi7`|s8Q9)Q1brSSsP=s^4L;(uEO7zr at G$sT at bU-#&K*;9X`9)3|i{LM>l
zpo70#AHN8{@ZH4aDQNEK!L&MhDV|XN63#aP{MuK69?$)~5X>p;&HJ at o5#lT=7lgct
zQfn?4*CpKF;paf9go6#>z!p+8XydPX56=G1V#h#%V-z7M?6bpYMn`zlXM0Kr<ehJW
zK%$-5BZKe?`{}92!ijPCVYMkTIs_2M#~%{_a;aaSW)%1X;YF282-r6QgMb!9tYCo-
z&^d|_06iGKuWl?Fa0p;XE}pOd7heFTM+_fJ>;5-T0Kkx885|}!!2kIfe at K@yfB_{g
zkCCF&)<3vNAb<fTmuYwleP_8(k>xLB=qJ%{VIiPC2Gj-U=a?!8!Bwal*dV5Fb-`!A
z%`N>@- at oIJw}RNd&`7?RzO_DkEC><+ATo^%;Q-U3?R-&JT{bGl4`@G}F-`5;Nck45
z7-V6`9)Fyxvgqu3#_L+2xsE(LnlXo7E;FkeKH|NDlP!QP_0WUrjjRz0n3e(A6XSuT
zMEml39YUH}2(UHC$ecIXhhi3Dvqf*Vb+&CxG-v)I(hq?xdHz)0SAw?M(igzIfGB6C
zRvR&uBqhZ;zEfdpwm8 at 2id0%nrqFoVy86nrjbYYPVT*@QCv~Flwtm^{<L-sj)U{CI
zV9tVMrQ9E|`wt8$uPOrD)}n?dL$8Zwq3bgV7&_Ai=hTZD6}JzkIgC2h8gHcPJ#(pW
zy%N}9A8p-d)j>#Dyl%@!Td|0l3DoD>JO)l1)C at mlvNCJ=cz0xr=>vsR8;4O2{25*=
zfPtvb21^Y9ju~EQ{%13UR8 at 4f&Wvc=$aZ)l!IylpbGlp7lk&)jP1A`1l5l<=MKt!1
z29MYd4Vs^X86X8F2PG^k!}F$&`p>u>M1+qI69g^mi7Y_=Eld9$)=hNpn0*eDvOGBX
zmaEx4{B>#XI#Rcvxa}NyS)7%UN4$m0{%oZbCS)reoe<l%B5~nSEk!H8B;FAm5iKLB
zpIsGqY+`l%Jt;0NN}I5lkj0}vS?}jYxo_EHPKeh|nn{NJ;L^!sZ7Q*R<q52|NLbIl
zUAFlb$Idh~QRel^+s4;!^-B5L*skoTo2~gD#^M`RTwfYSb}bt3qcqEbjTeEo4bqFR
z$Msw0wc;abQZtULf8M5d&*x>s$?Y?`YQvK<o%H4WZf;L!H{s at Odbq~;%3QEk67bC8
zslr!UOCwyXYG4${vNvEjFWholj^3Yo94)y&#Yl{t37y at kx2OEdRe#4Xy<^)NsRDvh
zy!o`Cnl<auM at dm*WKqoVs-(VDlY-VA8(D>1;OIgQP8Y at gfGW>xmQe1r9eAwg3GDim
z9=Q7K&NT~dYz&js at Zx~<_EW_xq<`I*LumaF*jN($a4A48Y`MG{_;1Y)W-GD^)dQ2y
zUfgJ%SjupFR;o^3Wh+Sww;1nOFUW!~zzu%HS%sLXF$6-`_OtM=jN`f6r_+CbqeC1{
zJyJvas+k at 6v`i;Q1$W1#U`{vP>SShjFsMD}v$Pg=9%qc&5y@*VN9XjaEX#-7jSWVq
z(p>|fo=E%hcqq#F(KSU#_ at zU33iW&gubw7AX8<8**t5oc|JmhRZof&^jWwS}+u*h^
zO_7To7<XaHMl(EY$~50=JMYCx-s31RqcM5#+Vh#feNjE`P!2xyR+i)xws>i0c>6hB
zs~01TD~P{PWvHpiQ=S00;u70#v{dOV3sq9p{|=L3-YR;(IEHPII-^i6;Vj}bpQvy8
z>)a`%?@U%LV`iAVz24X at usm;OY8y}Mecjet<FiS56ujj(N~QUDvK}f{We4&^!W;z$
zBs#=m99pu2hr%K$NB75;v{qW!dphfs=Qq at 663V<5afSdM?+%oLY2TYldQjrcJXw)h
zxYjJ)Ah&JhNFvOlXvncTtS$-oV9u{ziOfcdt9P!c`O*n1h2rMSQf$;jVZ08 at iQJkW
zQyc18IvW+^(8AE2xq4Zd!+KX;WA5%SJ38r(*i)Xm&4eNdW at DLPMuBEY9=(Yl%ycB%
z&nC^~JO+>f1WR>T%njpCtOa2WkkpJ%);US!NZb-3RksuyoVSpN*L4FnF1MLn-Bp_}
zd4~#ic4|vu7HcaTy2FdJSs?_)^+1giR%ge;1;dZ)QDp&cnkaJt#602dG_K^=MVkC(
zOcx%Qb2B(wYlM?oz-xs`#$W{DU#WZQOEUOr7Y`p2B#%8!wkTW99J>14-t6u4I+32p
zdf%DHZ0g(n({P*)Qd(-`GtR~UD(bTohpX{W9((@G(~&?1 at jd0K*UrJ9$s?DnM;oMf
zq|Bt;D!jfoOtJ?MX+tuPqbcV at sS^L2Qr<b4p0A$Nk_fu@)3PXQX)eQTyMcv-!}jug
zgweeW+pln$55+|7rPZG!ZTh$IMYE~t at Qr;eqwfod7-Dw0<F>4wBO(B?u}{};rmTqC
zc-PZtZToOyZ`|s~>sdDxGtdYIc)1(}(myde>`eE~`CyKIzHq4=qh0n{rAo2 at FB)Os
zHe!1JYVwpY>A8G{={xl%QrNZ4Z=c|7-)EX6JP|;X$d{U}%D}xQ7%Jkr_drbAm+&J{
z<fQPi#Wz-JQ8+*?D=7Xri*1M3q<l7AvzW$5lgFlFW8XOVc<mB?H+|yXO1L*}=Dz1T
zncsB&#P`Gm;o6GSi!z2_f&=F0CkY#&dtoA<rCUbwj1^(m_%pzyTqH at zb@OOT0LACF
z$`MqcF<c at +xv);{xn9uZ=eDBWpZbkF(;fQvfwV$RW8wHK>ghN{2P_KS${s%R3XYiR
z5QK8hvJ$^)9*8U*d$LZJSe3*qYZ{hLBw=MIkuOp)dF>Ah|7*;<I0^jdzKU~_aDJ&1
ze^lbX$+`!eJG=_%`O8C&iJ*Kw_G~^^fsPSrFX?Xh%1eyMT+gq*SIYjeE~$&Jiu4xo
z;3qa&gik$!_#3?3Xp|Nx)1v0^&}9y-aqcDjc^i5;mudN;__(0K&qDal2pvX6+vWEW
zzIBClNGO7u9|`Xm9et%GDwSfPtWRe4u(xM-ym7&h|J|5Ypr{I-95L@`*jxam^-Sr;
zk?>hJfH$q{>`pVP1g|i#B)yiug5oTKPtv`;-HO0cyJe5-+DEMSj5al|E4XNXDbNC3
z-wFa|om~B*Tzc at l&eh$1x_0^WcrB%!iCf>P_$RNdEo+UG4WsM;aJ<c{bb2A|-iJ1x
zFySHvDm at Ah#y@^UgDXv17Euqfy9$NEd(q at q5d=KJ^M|avv~^Dha8p_k5#ObgmXpP!
zuT5w7z1+LN(of05zq;e>t~|%p>vod8j;i>{vfNVqk)Hd}UJ`W2?|y+r&XiTf1K_!U
z*_MI*)QvPK^OiuI%5mJ>NbS-Pa<FIMO5iMqslTU08A2bx{3~fsvc&Ob1HH(v7AT|Y
zCNYr}jpD0lMgbv?<C5$AG%dIJLT at M#!Ve9xmqd~#4MP4{8M!O at 2<NjDCNT%srd)}5
z&M~+&4*z(P4Rh=jWFeB#d5iZTx8UdXF8Kc8-fKA0WU?TxFY!_;Nu4l1f|pb>WL`&T
zySUBwQ&yz&^d5dz at Au2`Tv7(q*+<%DO!8SXqUTWWBHAjvTx_mTrtn`_nSKsDSyRl>
zG4VXZC{QRZky1lu=}6wQ&&P<0m6o%=g2Nqcfs*dIqSiNgzZXeMJ8BF99Bg6Lg2z<P
z{5j4)uklvH*06aB6NOc{{JX|@w=t%$89rnY3Iy(n2XQd31DW3<*|9u^Q|UQwvn#@d
zz8=iAceAQqwz|VloDYn7*8Tv=VUX#;k_Np}q8Ds*E^SfYyY(cz>!I|0RNXaGmticq
z;<I$I17~T+^er>EQXjzh-jf_Xby4>d+x6{bkk<8sA$@wQJs7P<evg8Y{^4*4evTX>
z+g!GbY2x!yDcxnSF45u^Klf_0TBy3tmMX3^u`xbvOZ0QSSD`j*L~n<_f4n#NQFfZg
zYR`0%#&B+nf#>*e?8&zyKl1(W9<#3z*emR(qg%qel0KDYl5i`Z*&QOoW0x0YC?pG1
zcT(4_9yOI%9TO6v;+<<6#WzJ)A**>_B#nxNx<*e_qGO3Mj7C;06P?bjOh1Z|`9nBD
z2jl!}5=Izrn9Yo*S1yj#7?BnVb~an%kUtmBEv0OD5EXk&g}ZmE=JXt%1CDfMs at q~o
z=M*AOvogT)4G+{y-_E`O6<8;QI=@Tqxoz*K1gE`u^?s9*D(#3 at +iO$g5u?&-OM11k
zyS5{;hS8J~IlO2dR_A=rP(3$l1~VoN8voW+=giZ3dCel3?Mdoh54?zOt?XX1#hjNg
zFdYkr9~!e*>a8q9Xo^cWsZa8Ica)oFk+?4pJ at WQ?N<JE)xccv8XzU9b^}o4^ScJH{
zR{mLm?gkU`_`|`$p)Ud>2k$ncKECucbGd~{WKZeVwLHxP`r;^iLlzP={*Ce(RTg(T
ze97L&f?U}yT5J!^id*TcjL0r^y%k;x6-Jkk$VGcf{D|O4K4R-vg~i6`lhTzg5?EVi
z%I~KoDsRBuNrc3Z;N*0sDb*44{Ar$?(Qn|I2*FOl*Wk<dao>%WwqR3EbY2=|81PsW
z{#P`sH|7D7XG7aYQh1;aUVdWJ$7#2r((ZK}F9zz^PP9HdNA<tx7R at -dd$XzJ12{EU
z{^xdULV*0Bnv>S)Ae1x}cp($#`eJ(*Zb8V*<e=V5T$=aeP4p5E*F0C4n6DL3Ai6|s
zNOX*8fQIGwS=qkBlvO|2xan at Dh9WyLmCK*A at xd#LmEu#M_#ff)^Yv$m(2fe(_4Zwi
z1yFOrJRCec99K6t><Y&C!MdB$by(wi6$aWS)Oj(ve&D=ZbN5D}n5;ar3?C`z at z>3I
zqO at 18Ue(V}jLDW^?(rWfB&|a;HAtRb^gj8Ee{pZ-l;m at d4eAImH#T;OavbK8Ww9%U
zvmvw6z6Z(m+utqfdT57a><8o(8e^Iw at yG`~pjL|Vp1MVik?G8FVZk*ou}jkf-96Z_
zZyf2s))<mh8(lFQP at sT2608An&FQu#TfSVI_~7H0SL19Hl%wmwxMU>7<T>g%@+K4+
zeIh*cEB>6-Kma`^Z3J3jG)lghWtuT^ygv!CWPV^ixJ^ZysO03=obBS>-(Qs3qZB&z
z(W#M}6I{juixX!mYJy{JqhnLGZsh89uRnL6aj=KN)w~~<cFQ*L;Hrb3)P{I@<$~1C
zC=Txm`{~%i7Nb*H;|qRZ*mkatoB1mX at 9nc-nW&$M9F-a_2>T6)Kd+FQ!8>Oy_hso~
zHTKPWVj~afZ?W3004Elx0IWWk<Q at s;Vq!kJYMbcrI+W at u-f37umXQtK@P2zyINPUr
zeI_rG<dwNhEsb5OWlhTwVb)^PvxEn4eG`YrUe}gAoJ)d0;5k>Q_e`y-=yEWcE8KAn
zz~)Sz7cl9ZsHA%%F0k{I;6yw3I_MP at GTZ-M{SxRKDZ|yaUN)qslL5V5Pa(5#-30Z=
z)^{W0X1*7HtMztY*qgK>a^Bq5UAv^lc@>Jeca$J at Ko_>H9vo+X66MvA!j(tt-9#!7
zFEsI{CHK4Z?lCXql13W{^<u6j2z{lLT=61z+bf~{Yg#e>t)W~z;bgCEH at +RGWF|Wn
zU*B9JgUF<_mZV5w#!MRx41vfezUVW`#on~#g_TLiZkp*J?2${i`oKguO)djZichhI
zFw};5QxdfD*q_&q%{pFjyrcqjWY>jLGydV|HT803)awx<$&Ta9-#E+=EDaP&G{W<`
z0+F=f*wf{~l{!rHxSgKv+opMHwedfUokN#qTcBmb&afRBwr$(CZQHi(4BNJC+r}3*
z>Q<-5YrIA^_Yc@(>~rQ?Ym!iR&DD8dzm2J<Le9YSY$no&EUj#e%!FVEK5TJhn14-i
zi7_h*c)cuSZc=u9-_eintOSn(g|zN`d}6n<|L_n0Q40~mM-MH0850^AkC&cdAFa%O
zzZ##)Ut8(>8lXv>|L<dS+ at DLG7q$J{(S;Cnt(ikn^g28&{wfS>7ASKaCoW|@N2K;M
zma?V?+5 at 3cjm4_<lr-AuB|;k8;pvO7_P%}T9~CkC8qlylnbd(kJk0g(<{xas-iCr`
zwhVdWh({76DW4=A{}_9lC1LK&==pTlzDH<47`Kskfpl at 6Q{Hij3>5W+V{?t(Iq at BC
z{1XpJiR1wfms#>67l1BWF2|b2?Rj5LQ~#Nbvc$-!&{CJoAZ_bDC)Zix?1z^)Hvyrf
zj$PhI)fk5PP*O;)W3U#Iq$H&Fj7r~zoAHe at _+5C#>m4mZY?$h>-9X7a4KM5=*<p>@
zhxXalGL%o{)Q2iAGIK!t4l%N;JgQ9gJzNVE`rQE`nmYbr at zQRZaSGyg+&p|5jU}{r
z*|*Uwb#C{HUh?v9&Q5v)KvKY@;X%aH9TTh9M82?{wkfBg<ZXo{EAF|?;qD;^g)|uQ
zMh=;m8y|XX5e43th}!F(FSBzyb0Gew5X}rOPW9#ePZj at Q^n(q1JgvNK|6O88CrFT;
zQU6YYiq%nZUeA82b(qs&(QsQZY*_e&In(5e7$w9CR)Kww&tyo!sf7L;EKS^*wU#i6
zH-9u9oC6{I>n>9LsZ+O37Y5Q_3Q=1U9)%ypIxJ+hVuoKU4-@;&hG%rx4f8fynywI-
zvLn5(s~rsQ7I^P}jmqgq8^T}fCi#jozO1oqD50{BPn)FdD-cnpIbN1pNL5|K<x#7i
z{5j(pn%ZIThGjDqKPbG;u9u1h>vL^i_*w*_w8h7|jlz}rpyOopkejmt<?F4R`MIRG
ztc+;iuN&0be7Sg~vq-22@#_k6=Va|@#$?)x3ha-w#KR;!<!g3Kw+>;4R;61;P|M)m
zJ^o=f0uZ<<*60(JR|)oZBeQ$>{0>zl*Y)W6#nGd8s2aIW%t+1kr4mE~URAPV-`)2{
zDz#SD8~VRTMP}j}u`WDgC4uW%2Wlz)eM2VQ*bITP=4hz=oTGNXj+fb0ud%506QZ^e
z;-k^Jw`R-WUwY;J!l0fERZOh}y_o^_cQ;c%yitnXQgu(;`!6k2w2oS-Ho4YlG={&U
z;(03VEmK8g0FFFtU-L|*1zu`iS?e<B@#nGMdF27zn%!P4hwSJ#VDIHLt*|eT>2J17
z at Acwf5x+f7dQA)*8C&>%XAU=UB*bYjw^&?eh}Ys4t(@}y5aSg6{_5tsCPnPnI at bcw
z6=r4gmzXSaxv#A{IHT)R!#}_T?IYjvY$LS!6$#Ikm-U$Yi+xe9l>3gVPi at W>40AYF
zO&hSj_4yS4er(f6@>HOY)x-I_4Hfp;clwvfyr$wK2+uEzEI%(-FdYm-Cog6_2WYc{
z3i>0TG~sO`BzBU<sx{)88WzvId4d<B1}dD|KxvP?<BwX8>lU$FLDBgC{9H3=_YHo2
zrwjF!PBU<Dd}^>MY)JmY9vwwXSoHMKZs2;^QAE!xaE5+SY6Gn1(TeSHoRYt6&%@g7
z4J~{w+dN1Y0Q%ENHh*f#Uz+5ZFFed2!GiN~id|T+r*$Kfu+*Ph5+J&FH^z)(nX!kt
zAJyG*Wwy>c**g3bRr-H=A=LI=eDFz at 7E-FvIIOE)eqO2?dOYa!sStSookej(`6AY)
z#|vt9)c-7aq)d#I0n44<f$riN(jOg6t%RntUc3CO=>_YsN^ohA{s{~fGbwq7W(UPr
zRTe*4+eX-ua}=AyoQ=bgH9#G?4L%D{@d_i<;rD`TT&a(R%n?fA5^ViYA%#}l;%B3`
zSblK;XCpfOw{+~})eI%2M>XJJdsqJ+&U9f3(FDFw;r5P{*#26_ye{b-OT$GVj;-UL
zE7dh+j`-B047Kfd2|ruia`@5E%EQkunEBu-Z>JyhcPWal?&Ry?`93co3DZZ#T9%hc
zx?SO5EIXvz)recXSRuOiE_U)7Rt6dM=Ap%`ISiA55Nz<8BsASvXzsbD9^RfE_idr<
zOt{94G}=sK^X86O=G$va5B#%hJ3N$IZiSehOheyE`buW+ at fAcqL&>bHo|c~Ti-c=!
z+SI07=3GKcGD4EO#}IxNzgQElW8wO_S&WG3KV8VJWX$SIbqN{{+8=&^rbEyqJ%$!e
zifSWIoYc6(t&3Xz4R|m#$GWvMG=M<4v%v!A{eaS$d7W?23cu{ohj_Q`8LoM$U?#c>
z^+4(~X0I7Q(tCPhctR?sK5dbN;PWSb%CFYG1D3QP`1p5`_O61tdEbIGR1KN5CQYiS
zHc}CXT=j`-wZC2B6IW$MM`do!CI=ULrnx~Dca%+5mc)hd{PVvorIZd*^Tn)deV{3m
zrYS?uWD(HHq*GjhU85C`0)ZOk<}~#yZY4wrz4SRP!;&ePvE&(nKY$l}q+-x4awfR+
zZMok5fIm}D0u{%@Onj>DU<#^w<&(0|l193)Ct_N1wzNaD7j`>M|Ax0KMz|b|WVYiF
zWB2lLHKnGC*}t7>HqYp;-MFaiXhICLLECEc586bopVA#<K`N4Vsm2LhTOHPoVvQTc
zdv`7^;40jNjs;Z|RR4O}#QF~@x!YJp-h6UtcfU!AZ5nmfkIy&Be(=JKXxY at LRiul?
z91U!p)2#$4dah{92a%9SvY<zThP1yVu>bOX*~EMKJ)UMh>vvat3xoa#y%KqawACo1
z9B!I56jxIvzgNxBnd$V|&84GwO5hfLl7zX{`%=jFyrYvX=;*L3A4N+C2t=Nq$J+g3
z_NJivkpH}wcTOEjyb&E`G;XY(YEIbp<yRh9fYx=dJSi791b9V(8f0;{%P{dr<(9M3
z^Cm46+J#*Ie?YZYA8h;-j(J^ksvMUdT2LxGM2i61rxDV+JhNBQ0v|mtTTHp#%rN!h
z>ZYEu%^{>MY7NE>eDle)|KKSJ&n$#Tw{D!|ru|SW|8tGJk6sHGgzm#mJZmdYV*Ev~
z#v#Eers~p~c`+~BSLs7f*6qi`+<DtK%E*OThUZB5aR6o}2OfuLW(`^r7=_DM=u$8U
z#F|ckZO$Ef4*h|;&0gNTMTM1fjw8a9HJIWwKg1qY3aYQr+a2dU^$nJYH}AS;jeSqC
zi*m=--GKp~l836fRhiaT?VtUBeL}(ivTDQeWy0khTe0b?QDvqCT_I3HYwv-3aP}2X
z5qj`T25T0Tsljl83r1uQRuLevNoBB~req%q2O(%zHK%duvII530wAUO0+V*)yD*AK
zChi{Gs9AT8o#+IqTXhFfYI;~bp9bPiCn?33Z&cbG-N4dnrb%i;Pgg^abUO#zAy>=U
zWdrK>xjzP*`1ii{L1!3PoZR<$?MS(|xJUgpY7#io{C at E_%>0%-?6iY+j|w*QT*yCs
zf~V>#-eKtzZgfH!(E4~Lf_`G$fhq0d0WQ}D0KS at 2QlEzJwH4dR11mOprdYMyDJ%#s
zxgoIqD7T9-w$m4*;`2S at JhyA!KRbtpP6WBy;a3Q<vc$eYw8y*IHG0;)IMdkeI;)DG
zmeavU>M75%1EKDTte)NfmAK#KUfYU at -b+Xq1@lWhHw<oEaoxmE05hCeiFlLx!cP-p
zJIPsx=KBlYbdX)tqh>_&>bU4RTuSc+8PWSt%yG at T^CUS=x2tncB#UI)IVo9swykG}
zXr(HTXA=YVt3I}~I?(hdcgh;n*Dd*VaUIq7T-e=Q8hvJDgYzRYYW1hxiq+o)8>4Ds
z{|kI)V))<SJ2U(L=+v at uGW@SrAvO*cj{k4??($!!7Vtv1LlIjX41zq!&@3V0PK*aX
z1SCA&&)~wYguF<q1n~!Xafgsd!ks+`3g&B!<Lt}-Y`5k1KeZ71-siPBz#Z`Fn-?D|
zDxEIA31bMYD$uXUL#W5c7*O3=n+O#UFCUN|AD<r)D~k~36z~%ox&Blrfq at A^_tFQ|
zC_#Z4I(pns!6J_b3|ZdJ1tb6hlu(Z;Arcdh&_6f!daf at 5rUXX_=@zUByzB`~1;w!(
z8X=2*a2y%3vHov<>+1 at wANT+)0G}86zeq41;SH4NAfW+=0A5UEDAzytkN`ZOPADk2
zsE03cXn03$)JaJ=C>MA4GjQ(CyT1u+NjV6>w+tz?0+5#=qMd>@Kz$Gp76EvL{$xj_
zMxf^#gE~L^olw>(+?ded1;CJ)U at -22=Iw(u1rk7B&H=TJ*aAz?Fu%fTpTZtcZ{BP`
zi1g=sCqHJtRA9lsauC9VP~zka+b9riz#2oi1wgXkta>Ssmqb8tZ6Bgw-0g((?*{A)
z)4(>7WM8+qa0&^l5CIFIKX`NCK_Q%lIv%<P at O@%nKUBedrk?GoG=mFBFybAE-<R_6
zVIe~EW4F*>&P^{4A>7-afI)1Cw#FaUkkl%aJ4)QsYZ%qEPiaA6k>3HE0*U~{Jz_&c
zK}DctETHFrbrAp5wMUnrANU}@fpch|o?JvZAnPYY1^o<G)Nk?Q8xXf(5CsYK^19bw
z_%CNsFc9Es14Pt*WGm2Ml<zVw>@clg%_4dN=trQ8yTTSokh|}X at 6Q=HT6$`*?SV)B
zr at dF$Wu_EG6{Vve=KDTlCMGC^0CofksQyO at C@`S=B7(pFzJT`p(-uI6ep&}!^L0$y
zSwZg3<=f7UKh($U{K5P0*Kl(J{8twR3RGdi9lpemOMQfV5T8JwerccgD1X^Qe=8q;
zk>CB<i}x at 0@3^P$xqtja2I3eX=lZ~!Ep!zvK+B2e*#dsqSAagonlBZoGpdgK#Zwgx
znvseR*en<y1He4r!G8a10fT2iE=$3N1+D)iP7{1x&{uKx?<>%Tz+SJlf#;5lz3MYI
z_YuCF1Hxgo())xJntgvd>UeO2>OW4H{fG>KFeAadk?#vnhUrPb?jQ>PSb{&l)tCS!
zV8jU&Dg&Kk`2w#(ku20%pMV1489Jz^>r*W7Qwi%NN;D7o!2<Q%^sV;Yz=e7V5Q!`$
zLyaFHc1<RX0!|j;Zh5YRJ));(=8j at I|Ar`BE7x_~uG}r5jpdl;X{K&tNi2Lku-UjQ
zh6i5lf7XXvYMbo~H7dcw2=`j6o<@+j0S>LR|D<fd2--9MO?vQ2{bJC|zIb6q!A*vY
zgh=KW7TpAAlV*RY%hF|wCAa~>1rFUC*GR%rU|igo>C#XXqp6-M_ajzr)PO0LtgOm=
zSW2X>rqH<VkTGW22|cTnw9)$g^07B_SC8tSuwIE{I!I!W;-aEQOS=vX!RNYslS$RW
zfOEqtv~RReKD=E(;|Ob at H{e#23&6zEH0Hi|!vz+NaRXhfhnfZ}KDA9vybK#%5cGS|
zb4<(E%k!vPCkeA-{rjB6GN7 at qhok`wX|mN+&fn`<^#0ai^!#zClC<T}Pq!YyO0Cp(
zc0Swh#~p4n8)TUBn7By$XJ%@=WTv&5qYMIiy?#UYMv16H at d#^2vqcJ-!1ln?!sW+&
zs}85M(S at FZ;&y!3nS*URLrR at zcV`$bC*>X}p>NoHn{~XO);oZx at 4taiJI9J*KV-&v
zqOUX at p$;3)qm&*C8%^Th$nFt-*jI;sTt at PCwI1H>-zXBT1|9cE``M>WT#nc0rAQFa
zZ|fErelSG-Yes(1<06v~D8OiMjA at e`i(2UG;71pb=d_fOZl&DrrFb*P59;@0Kc>%X
zCrTL9h@#`iC+pURK=M7y0R10PH$7RsS?Qu_1k05BBp54*AhQRHZnsIEw7UNc*vg)M
z78E at N1+v8#{KY^Rl8IAJXd;O-pT=J~KA=ODc`{xe-v(vdtj{DzVwDlb>~qOMOue;M
zj$a_-m(3ViCyT7%xRLEu)ZT#xbw&69e5!Ote1qG#k!T$yOC8gBdXBD{ie>fZ?`f=@
z;RLFcsGT2=s5?6wokCqawUaAk^o29a<C_))j_!mc9}51DJ8})CzsBktE2ObWC*Ks?
zui_=3VRp#Le>8(BYE_^FZONJ69p@&Q^jsgGt+&FXNeeBB^X_+S+GzFlm%Hfwe@&pF
z_g~4A#PDEGYU((-ch^vr8-}vw$6){=IavPKFLjxmrf4cw%T80o`<#pajm&I;L_g6$
zX$mK=kQtd#W53bz*su{9p4u<-ebQ(kMvV)+WPu2FMCT&l(i;I}z+8RFXiS+1Cu at X&
zKxkB3w038;UYVt>XGi#xUkv&WUa<)r2raWw{8%v#52_f|7m|CpnKR%VnKxJvxZzKD
zJHlNZ{|q<=FE`L_%Xdv=@c87wlbNHn+i+1oL>3~-+-q=Y+x+do>h};=K^6K*D`Fsf
zCVhi8(KmNMr at J=!B;CoF-JH4-p;Bte56rO2x=msoJpU&K4jkjccR at g6?dgdbhSI|*
z;^5T(iDu%v?exPK!a^+=Di!9l{T*nq6E09e&7|LfVu0PnFDX&i5aK80q;xPj-=&(U
z<>~KO-WES0j at W#JJl};}z**VTsPH!Mq$`4{XQXG9nv`I07PF83-^Al+myZ+I2y`g~
z#odvq6!*;ctwK(%a5W4i4ZqY9>hU<y&4%B{0up=e5Azx=5{S8~!C6<v*swUq#xd?a
zkBZ?x5TlI2!^8fB*=Dz*t_=)zS)<fu4%IHFJ7(~db>Hou`daa4&FdP at C#E7J-&+z9
zFVE*hh=$LnopyWryOU6n<+N+HMcOgF%+Kn<;%f1>4ZX&cfYG&HdTd^fq^YtF9C>oq
z2B#{q^I#qRf1k>jKk+yi at Q}ba62GiI at mj*xNN>|gM)Tu4MC6r3CQwi;Rq|?-TzD55
zE$fqA28Yysy;M%3TuX?=;bSGOgokDMfTZLlLg;c2)m;n}-BX<U`FzRGo9OMEGv80n
zJvK+hGdOnZKwf~GIkZq4w>HG92H771=qY~0Ju|sYOLr23GoA=lOER2A*D at p%B+S~~
zEqXotkMTD@$}THRbBAIo78=n$KXFpeop(cr>m}r)xCGB+xYRk>%}SS$g$*4m%73QR
zg{nuMF7j_ilgZu{{yKBhoBN+nY1Aq_OWJyE{4)Q15~uUCSko35(3bH0RGj!9ZV8>$
z_FBVD*P0B9`pH88pN$7lfa^%dtXtN*jx7XX4IR;PUTZaaQBF7lb&%h{>!}k04y}hz
zy0)fuXcB;ZaTNkKO!_!NW5O79E)0 at Q)09Aa-y>6J06Zrj*}S^QInUn(CcmPta$H_2
zJi(Zy0ukSFtlOJ+2bUVA at 7e8|n=J8)l0VQfSV#7|akf1$QafCOnDKw+v&#x;947`m
zO`;vlrlpo4_w?U^OM?<+pX*0;$rp^8kOXtJ0nUuFjd%KUu)SmRvf6#>G8ctaeoEyW
z1|tdX*vq4Mj4K{jrnzXm_HYDD!n(h4(=j!zYh`BDV}H$YJ~6|FT)fu_XwdRs!34mO
z((%p3Ypcy*ITjG43X<i8LnO9$&-x|u28G|3h-J9Tr?g2z;^BfJEz^%sUpBtXt8eX0
zRnVyGV|X-qipO4`eNirG<ej}Eh$_~XnE2sr>W4wPo}4VzzE^2MX^xiv_1GC)|0$R_
z4tOc=#izvSmclcVViUQ4yKJ(9Uas^!om)rs!)KrF>bJu#L(j>_6{NDu5ShWP^?PRK
zxXmXl97C-~1`tyJNuLT{_$Na<I0<X_^`BwI-udqlB&;!l-3e;x=VLIZ(;dR|yE!&1
zR0zq5+)A(Z0(^U^bwtQv#CyYY_Z?Dq8sR*!pB{_OzRAe8(oas~pm0n9t6cr-lu<Hy
zEXF4ziLBT?Se1iqNNlJty?HYYCyQji7K{1ffzuY%TUn<Z#N3N;ZyOAT0}a`wObn#h
z-hY-9cU=UoJDPSQJDRnODmX{!9chx{*c{S28G at -}S@%Cls$+>xu@)URQMmxbR?;=L
zzSrjXEg#djYN#@9(#3>|2B!Qa?vahfl}nIB$6$M689WBDrfsxIOBNc+uSnCi1ecj<
z at xHx#9KKr92J-O~{X at 5Hwfj%Evi&#tCqRCV-0nt#V2I>6`>yL^A2rJunYLlV?&AH$
zDr4rZwui{GI-NPP-v9*b3)tQl3(>b=KN>Z9c{aVVE)qs^=Et(nn#bSw11;A?^PDSB
z<H6Y_dvKIS7$@+ngEnkJ_zXTIY`u^Tt7PwKMYm}lRlMX|+NA8Pxm(`zsP;1#qC{a_
z;f_u<z{SXe6%R(TNMo=gtl{sB9s(7w$)vNxTgu-w^trzHk2va%YKKZwCDZSR9pUhS
zRqlOfnQe!%co)-RT4~B*8JbkHMDq%?{``8cPrS32GD`L at YjEO@PgmO9S=Sy^BvZvG
z`=CYC?9g$Ck&>%9x3ZKyYYw_MER|Y_9=1Qd!OI<EB)QsNJ%(aZ$~GS;e0%)}q~?bF
z7d!tV)@wXxUnWq=)*R68ST8;HwZmRHl3a;TkKHD0R7w>LLYDiF(R-p4VRX0%w4?UH
z+Y-pR{al}z;*uE7iK+36)~?E>3(_-udFR@=(TZ6HlU5;sPFVeP3$GOp$VRhmls-oT
z-dH=j$OrZH%B1HBPXv|9dtY)XdzoQbyU*Idn;1IA+v_r$he}!y+}<$X8hp)?jd3t{
zS28G<FzFy?diTC?MH>?)MBf^xK*Y`OJ at b%o)LOz6_N3bHcH2kvoC{r%-5fa<LuMt_
zp;_9dczHOa$^l9*d<D#X&)p``VmRw3(5^6f5&QU%m~$i0BX?M9bl|yBG#%?lXiCOj
z!BnAS#Ae76G>5qiomI}=a!^+mw(fCQdoET9DJJAfbn!`U>+<8Jv&<M(+YD+pD9JVz
z8w_-oaF%)%fQ$!qR<i}9+I0p5hiLLQH>sM<cT{8^y@}<g&Z%`R+n>eOD(@0jsv1H+
ziG69%Du+so;-LK46!4bwHfg{Tv-%c2zKwCvJvARN?b|fdBhEpY$JAmyTUVzeo2_DU
z?bLX777<cXmPEELFMzSog1isog+jDa^EDD`62))k6(oe*1zda89U1O|&qsk at Tjwhf
zgT5{^UK3XU|FblT!-q)A8lC;#S0M$t^yCOqNG3mic9Jhn`Bpvwsztg=e-EJX6{7kg
ziJ`pK>dVPm$5e>9kG`@$O$<q3$TI8Qt;ed2Qvcz5ocm#pdm1pR9)_-Nk~&$G3Z5l*
z0WMV2vCm#?$kb)CqmSS7o at m}`Jl!bpZF<Vse>3^3%El?@Szwhyn43o2dxE)2j@`O3
zNN3L at M<$ehnSyraRgz9>zOL92AAF<N8M}M&$j7m#{gk(J2;Fw3wn)M~Osn6`gh|yM
z$+Liqs(f6=`4p2z<4SkhpR3Q|B|;w&&OJJ8xEDkH_{_A}jb6z7V(V`>4|c9TKyfw4
zFR$d;7}_&uCSR_H(tV7leT4c2egtnUac}-BTS%_(x at jR+0b4ry7-K1$-#IyE9XK;l
z!)qv=2h-%uT~Op+ERNkz8HTbYB-~Y?3#t7o;>G)%mAdKXY*kv_?Dv>gM;@m at Q=(o|
zp`o3zKTj`@o41Q&$oR8py@&L7LYR0U;8&_6Udc3ATs%wqN|H9(dg`$#%Xju?Bkn)8
z$!uY?8(u}NR!4wdSV8Mp692~!oiLiYZm4RwPZ?o68PP4WLb81kcO1!%f<Et_m0T6<
zXFIKDE4Sm6b!n;b*-y#jc$nX-G<eQdHGKD2)0frxY3?zTZWi+vf-!#z!~P&9aDpO8
z3L;%&4#`F#F`qgy-p=jTxkwLWz3Il1zE~){E%#q{N1)O&ccMU?56&LPbHfERwr}1f
zQ!M~PZB}Injf^`H at 07S0Ng2t+Iu^6vQeJCw)?;x4(hC}`-pR3u-J#$eZm6jcTdX6Y
zt!umICVUeAAYES#1tpJN+}Q%3uF+^rDjcg4>e3e5w7Y9;b_#Ra<oJ6A3(IUxg^h~a
znP6g9sL!d2;;9JRNWCMYP*INe5mln>)^1W+Jfy<`LisLA*;bngGMK1rZ-C5fmV$L=
z|2$(%g-|Rgw^<3AQIDzA+3i`F1KsK$>G3-%&s(g7iH!5I{O;pc=yVPyiyk^wp}SwR
zWUpl<^5;cnff)Q&AeDbXzIyw;!y=!wmj<Zvnul|@=O52hIaj8B17n32sfsMZSsz)q
z?WYg3GfVSGvLs9ET=Jx|&jV{zMYiJX8_@#b*0_|2G&WI(qt1QRO-Q_L3ZZA%gMzP8
z%Ts9jn0f92Rg_Z>TqRp-0+w?XgOpptaQ-Qyu>b-W_F43`YR4uhxzh376y%%4Put;q
z-toc*%}Uut#7=R~bMZyk{jwstH-~?ym|`=mzKLDfU2;Gq_n^BPZqm)5uopK1Nq#CG
zPHaWEpmP8?xGW5wVEm4b1cs&he{rP8V~u+GGx_{sVbgMVZrMM_7h~lLxLjln_NE7e
z=uX62A6c>j&yJm;O2qv7Ra5OsD?eo&+%N1<bPj%+rv+&z4 at OyDz)Anv$Fro`(tSy)
zcl91BxSDUEP!%pk$F_F;u%54FUYO20b$52PK9TS=drIoCyG;BLYwe#53&iU=&5TtG
zOgTAP0kAI?*n4 at srAZnpHJ;76Qg+%TlF<?0<=#F{8GiG0sX4>Pq6 at l8(~oW^f$n^|
zLqxeIExyV`Ou2j*V+REOE{5pcB+?`|9JDmjfw$$;wyVxdW;ctG!(g1lSZ9^-zO)$?
z$cgASOVZ1eE>v^VY6O0tDrGG^|AoT(z34&w)4GT#dpWV2^OhHfR`&V6_$>M#R}(%{
zo_%xvO&&1Jnj-7-dRSSqRb?Gm#i#L`H7WjeYdzmF;1h3>=SgI+k<+qhr}Jm|M^Usp
ze&8Bb6*))Chs(Wm%6Xp at LZFFsNS4};Y3VI5u_MpHEy at iNkC;j8d<-1IOpBZIDV4*9
ztZlm+y(i9pyqqmL at p<vShU%Q7OCXOUrodAk=Tqvw(b%}1|3C)NgEXvrLgA{n2%xLF
zJ!P7^T>2V?XZyEv#*o&sI>l3C;5&zEOhxrztCKD{38wCpd$KCAS2YxE2`@#avMt`3
zD^zg|l`*o4n^9XiP0myt^44Vg$M(GXRmS%sbF!u`l}EqwC6Clg<$UU!#%xT=`_x5Z
zdi)#h?pe)z1g0mKEIv%(9-OY!FEq&L(MnBOX=>M1QHdnI at A5i+w%cI||C4q1;hTBU
zlq}q5h)Q?765-(^G!kn=;c@`M_T}!7A`R>AN^eL>Me<a0sR5cvH&v0mepjg8tW(-N
zW}TZp@#L1A4LHgZTW`}~PxK!pex~1T!a!VTbM{I)f2Sd{df at aAo?m|O)yRq{ADB$|
zGgr6GUOr|bnuF$$0}{^D%!}<MD(3N1$WhO{H#yb1K%{Q>DfxT}xy(yx`FZP5+w{Hm
zS45Uq8tyIAKRehn3%7?jEm@}Qn8MoD1>2fCt3hiq2#_RPGpz5!=~i)RxBuP+bSR((
zf1m7MLo-A{%b60GtaBwtn-23<R{m at qNTMc5uC)pS{erF}%hrbP1+=QFYPsRe>{`#A
z2S;ijo5=6bQrKF`Uj>}Vfhdp`IF&wi at yV?#c71;nxXMS))aR$x6W`)G!fnE`NFD}~
z<6;*%Drdg-#!K-aD2-VD)dItZ;;BgdIaUrW8Sg0|M`_6|X>w#ilc6f$^rY#bQa+pK
zyX-kQbclC)!*rno(ZFj35EQjVgxAJCC~OZ~hFhXiTbP6SlnzZ3dU+=Jpbmjs-=?hB
zj=<z8BkmkkPM2sIB`eSyIt;^Dvr=MDvJN3vsKUTN*u}pd_LztC(g2gK2pyuFs3&Ta
z22prUP+FP(KrFmd at hV->C+iQbM9i6 at 0OB`GQ97o4NZWUwcd7nxK8&1sx45H=)$MjF
z)Up}n^?CMrvP(-<Su7!8-&2x!r=^=46npGU7dCd40E$IeUd0&jg0n8Qd^EtV)5RMs
znja%E1g9L2?gZ`^GChGnlD<typ^!xEe3W!`c_I7GBDd|f8nMFU=+9a(wBwpy9MKi;
z%rP)5*du4n7_a8VYY6;qQk#-kai<6?)y_8+AF#coQ~m2j7*g7z2yXq&@DvA1Oa95~
z@!(8nyaknvd7wYOgH!Sn_@=MrG=qOb6K2kTQ;**8dHn at -y7=r+L&-)fwLVRHM{I~2
z_1Ia04l=@{iMzQn&iTGM2ZdSHNC7l(Fef74k`n%Nz?^GZl~~MTe=iTGIe4p)o0GC&
zTp8<fvxoNGQ*=%qu}sC^ns__~M^!_U^<l3r@>b<BAg-*GFm>!#A3^4b<anlHf%=&s
zwK!dvZC-n~Lusmsa&Xt`zi*d(d*%e{FiqFyPwBk4e34reoayfgP?R3xwAOVb8cqF8
zx%)U7h+R5*=ctoIKB3wQ@`>a<QA?#VBK!AV$HmXA&CCwxXxU+nX~EDawP7 at l#zpQb
zP^LE`;sIvt)MKR4OwIP+W!yaxBku(fWJgU(ha3!l%qAJ$siYL&Y&C}`5!LUsLx#<4
zl8M6R8amIjKe@}w7WS#Y^3;vm#bBV#lsBW2+Lg#v*CBwzEQhPj!xEB at 6i*&=_}9}R
z=XS7zzig}rX}_(NY)Ku)t_S<#HQOt037Rfv$CHQGybjyDKAbgs>+G!7qA_9BgLtM%
zmDy7F2)_w6?v2~uv=yoQw(3P@%hjiC!uiCVnzzmQeD*A=L{f5IRS~ZzA#+hIu&8eD
zz+H;_08_r<gT6y_PmShL`=rFShG6%&`~hYd$=+;5VW&d*OtB?<((~vUmSXO4B05i|
zE7w!{#K~ux;2Wszn(comnw#Zdm(L_M^d^_6SnYn?St*rVO^P*7nu;PM3(mr9-T6UO
zkpX#4I-~DhN$8hMWG%*PrK#SY#yc?Mswc~^h$6tm!hmM7*R8&}{mrc3u0z<0zh5w9
zrh~!EVwp5!{m381BzgS5aWkg>jhnGD{ts@(&dTxsPXDvC%E8LP^#9GxJX}?lb=TO4
zVndn>zAO+;41h|yx}>czAux>~G76OiP!Utmp at A(^Qj$`{v^tfQC@*{#KK*vj{PF<W
zSD&lZtj at JPbv<*tXF8u>j5acxUI?Z(39AgEBp}}j`RVeg2}|?p2WOyfZ(ttpZ~Y-Q
zHXjbnDA)RKLTthrI52S{5kJ91XAr>!_BIcQPk$6aBY{+Qa)JDS1AY at JevK9R_<*Lz
z$RFtcF3O at NgnRVc0{zhwK#L40gxWYxpxd=`;P!r+;rrDB$x)yS&=)yooXd9*7{xk;
z2p2*OfB>^aaPHkef^h_SN>Jc{yZI)d<QTbGu)t769A8>W#yE^Q6z$xQbh-!1b7<x*
zfE6Ct<}qOF2c!YZMlfFkRz09MfPB3<F6qPZ7twE^9fN_{A;>vU!vuCh+KFup?D}VJ
z1M;G{3Qj<TzeLr3qx(U>d^v#l>3 at GqKe<2L|8gA4Gl0Q}a&-wH?mC3v8Nj*+0c%BF
zc3aT1AOH!je~}60D2!)&L_mVwf;IFKeNp0pP)wc!C1k_ at -Xegz26q)Gc2l%30q_O;
zmbP)5KnBI&FRtN)3lu~8u9CyM1`62EZvT9II^iKn$cF&>5@>M^jX%5o;J9NX0E66K
z!Ye2KW;+}I{c4+m4}%DKdwUBR7zCO|3-A=Y5$t21e{~D|c6|6{+k4svTm`uR+t_ag
zybswLvh#=ZQba()33PP~efj=gyvd7<&mpY$7h3dVn?Z^r{&0WBVwrtn^mh2Ow`1Ie
z0L1>Aq}>C|{nk#~qnZVaaCrV^|C~h$!bp*kO+sw at w|(`=X=)Z@?0+f<KzTr+AA-KU
z4+QleWrzOypDu*;|JEK6G*CfllMp_rcd(y5)g|%%tOA|wfewOynbXN0$2u7To%My<
zjgk*T_Pihd{-%BAC;Vnl`kTM|!+iHqE4jEkeH@*AMc?_q5zRV~1NyMoCtbz&WC9@`
z%+L{kWm$v1Sv#>AaN4^b{k>J^6S6H61lM;cK8X4V>GSvX-8iI>Zo!)t!ioxC{3}lB
zy9NNB&OyWmn-ZvBudvQ2{}-S2W)lT-?RNhy$Fclz9I!Jx=YLfd5J+U}3;#p&1QpQU
zA=nLVfBOLe4cz<1u51bV_(5z2G#oAP&t51X8~+<vyBOyH5RHZeA+Xvf>yP*wyDU)e
zFTeoQ_zj5)Ch+nbz}_JD8^*o~O7sJ4uSE0<Y;Uyl155x+_{3iT1@!O*`dh?Z-j%&I
zQ~sNHAba&Y=)a4GISmUznu9AWG$MpIDSRa_WqQs_;0J(&-Mw9p=jdnGQY?7XSb|PN
z;r}MR<8u-!^)z99a5<Po=lJd1T*%0pTQJ(C=Tu7ZdQj$#t9fRM-`mHFY@$u+<n~al
zshC)n0x~of?@=z=I`JgrofaKB>U{NOaTS)#=_!4CEBc1V7hgfpGphb6m*CMdGz2!P
zo`=X>4l~+d$~;IELsMJsb@`oZ_m09To4DaMC at hJq5W<&vGh+HaJ+;MX30{_+V85b`
zzpd2#12SYoO$*a}R>v8Pa4DScq*dhgT&yv?sG<h(n)<5#PsQcNDuo-Pek-~D1YM6A
zK!-Tq{n&V_(TM0hPm=%3X~ZPRKPD~^QB+ at 2E)gjtlo(KM8zkU(E^fgI;C5o=e{Q at j
z)PVI>5!!Tcf|r+v5lwB~rQdV>A)*kJH;K?@$q{co*mWwfgA(&X%^PY at KC!t2>YOI*
z>P=P2jEIe7F#>%3pi9>qvIXxI1>We9B6*OhDgijl^FUR$T*=X!Lls+P*EX!2(*kji
zepeREmQgG#p8na!)RXe`zzJO!&R&E3_cKn~CnH}x+q6yXd7Gd|zm4KXdMr<Y!Gg&r
z!wjuf2=kCVH}o$-&=$P at Djo9^4|^Yc4dR%W;FYuD3#eai(s at d&b&AXPb)KMRovjR*
zV&bnrsdWl?%30=9IM^Nr8gIN7h}&t&UzO*qN!Tqa9(c_oYWRJ$>1yv2EqdstU8Y{<
zoaM;G&A|-aF-YTU3|~YKmGivV%)KT16aTVp-hE$B-qFSH_$dI2D13HrTUx`DrNr^k
z#)H=02Ei?rRxgf*yY|HogX6Q>KzwRhCh at dY4B!GFliNcr13^eNVU~r4fW7AK%2evl
z*I$Zit&H3qEiL959ygbg+~RM%ynb{GT9jU1PJ5%Ro*ZEW;(bI7+R(+>eS<hUHk!K^
zQttzL$CBi`n!+8C^@Jgb0*~i}QXFKlISZie9cdxNRc-s#$nmZXDt#gEg2WlrE;X^&
zIZ9lp<sw?)-Tp4TpoIsEw4k9wsI8gWND at 8wU=$wFAC;YfwAl2IF*w?4$nv85z5fJx
zeY9A+>7fK`(15c5jJGop^Q(d$F+((zRmf867?h1LFnOkCW~VA!qzuQi>%Dq#Z(0dm
zNFt at K^@9b6K}GdcJ~Gx&<NSa|-dBRQwokbizwtEyRKZbA*ISGAxy?lUjdk9hXCP2R
zR88{iUaM{_8QRavnbo(id2(#|;28~uv4kj(YlV2{er#t?dtd}xYZNVcJI8r0mT}7*
zm4T)`B20Vw6cgf%C4y8ri!l(3T{RSRJiT*ycQ2iW{01;fNQQJ8rd!3Zmlo28c})6r
z$^CS(Y~SAQbB(;yV!+TpOnANn10!Tu?rB{)r$5~+iSu1u>A at RIzgY`@)M!5=88_19
zlT%@&rUhPvq1Yc8>tK-3r&%~+gZ-xsxUVj{QrZ4(<;se)fd_|0pN^=417sga-3g9+
zV$iPT2QC}hkXwq at 8oaZ6AO?i3=}6on8P*z)4JP^5jc;hG<$IcrZ*0?`kE1ONO{f#z
zy_oytmJ;uIfNuVr3^Lz7#E|;>ec~5gE)WwfSWxy5GO?pOJQG2jGJ`x=-0Gk5<81YL
zDfmNC`*ZfOF1(yfDh%eV2ZV at m6twx9GDab1?D8Y|%*LRQG?TdjFkF>uGKPj5t;W$_
zCq!tOVkw<!7~-e6)7FG?K>RHpcb+3cb4!y8&v(trnHHw8%-K$`juJqr0ar_yFdddz
zb`$pGY<ASgGh~^3v>^As5AL)XSe$d_usz1G#W2#Pa|)uEh7|7#S}qOyzC;i_tYOK?
ziLmMxa%y>ov)Pxlza6t|Hy8M5an!otpP6&H>u0Z6mq83jGIU#j?*ms^`dpn<&PHQW
z;`)B`aFR&bw-aS1El at ef!u`JmB-y05aOrQ7c)oMmD$K-8(HTHTj~zT-zdoRi|J>-y
z`57da{gbK%!HO9z?LM2}*E|*{+<w1 at m`D8jpbJ*O2$K%>%Kj`}ND$J32iAoE^H#>T
z?OnmJ38G65v4u4bzsVEs9B)+ep|MWh`_yeOsg(y!LOfTNCDIF$sd?bK=?JCh!?KIa
zNCn?W?qv>lQL-|SE_;FgH7&BMdC8b>ewI&=;?5sD^d#Bo$5Fe$I2{zxB-p*ERi(tW
zAn at 5_Zv0&iV_aC<H?EZsD`869IA+#u=&jrZjM0=STwc(3Wo_;zG$~H2)AZjyOdVww
z#FcxOZQ{&@f!c*^O9Y57Ens3tCh8&4WPw%eciiAjTZD<53sHCP6u=ksru%Q;VNw*r
z7c^X0mO at p;TRKjp3izZBrk-sR$7v=e*uZaNI>93h<~&U-qjq`-I-J?DF;2AU^YH!`
z?s=4lQ<~Io4fF)yn=&;zUNri)<e}xcP>e%)hG0yccMGQ~T}15_6+9}$-MbM`Db{!$
zYyDh|eM>bV3?O%cu<WRqvn9!pEqyO&|8>QtcbRnjL=gxpVnd4_$#`p`-Bxe3X4X(4
zEfaIOCZh7 at 9$<!}3a7JV3im{PL9l`iP{SwASzL8>`uHZ6Uc6Rv0v+=qzRN)Ve5GhM
zrfcgd<ggAb>DA5qSQSbAJgEUKkB?Z68!0mcL^H`XAY|@0X69!@_8^eUf#CZWTe6dL
z`)sydyfDV=k{jj#B#kE%V!}K-Z_4j0RZ`R6za>0wBp)v61_d5$&Ma5qw$`$wXA8}I
zD=<3~j`{Q^w-EiFwY&3qs=N*o>dl=e38HJ+;xv!{;cIP3ZkG&Dx8|PwU5=+#SAc=#
z at s|UYR&-P^fD at FWT--wX154^J7>PRC{UI`l>cUWNa=3~;&6U;xbKU(}(!03rC$vF`
zYfj&J;(#ERK=q3^d8f0U82D<kbzv?ETalkk!08F+C<tDDZgN_KDb7T$v89t^faJ)d
z!{#J(Zn8?|&WO}Z_`zp*Z%P%uH)N<%|H at p+NF=lF6z`+QLmcy^L*!FXr(-}BNkYyZ
zO>|HkOD|0UJn+^*IDS-gTm>n^)^Dpb4VzA7$Dn54KR7Fptj(UDQK at mWRfqvwxj#8$
zzkAyKRrWT8iCbTtj_YG>jcN9t?aqQd{|~M%Z<BS--KCn^i5t?sa|AX<F&%@aK%^*k
z<$TArVFioXVRXDT$os*0(^MRcv2QQxcEycM+PVoLoU=xUmG|9(_P<E at t%`D6KW#I7
zeyse>?Vubvz{&Rs!TNyhyV`_v4+`Iw>NWqbNZWb_G!D1Y8{nx$)`yJ09!iawP(Aad
zV#c4n!^pc+BTlPm)Z&mrLM_Cbsv)>f>ui1^8mI3sFRschzun*qCKmiIc at m2pGTc^K
zi9La#zKK}2Hw!k at wR@M at YHN2GCtb#<)*fU&#O*2<HFwD4XP4e8nx<87#kU#JAiq;5
zsNT~PSDH0FKJ;ICXWF*ayyR~KjiiJ(IXN`ZJ8I4`VpEdS_d1G3ebJrACEr1E2qAeZ
z+Hgs>$X+-{TikvJ(wsiJJl{X)J-yWj1d)H6YDYV1^QoOAkM at czo^idaFNpUTU243*
z6HB;J7OS0}22YaNb>u78#K+Ol)eFs!I{p7}2Z-zJtx77h`k?k?<kCcn=tDIGzrM6K
zmS0uL#zJV+{pXDoX at R`-&Yo$_{^WIzzZB@>DaNxR`KZI7SwSfta*BiH)n at Hm*$?}m
zo?XX`K3E&|iCuq*xz^daF#m*G7!PkX1G5WkY{h!1t^q(+Ix3eG2k4$f+1O6F1{DcU
z^lBVz8<B}rD_17R5ep(2;^rw at i@Xug;A1M9j0jIYIxFdi5Ldm-5~BkWNrscTZ2$8u
z at -+-m%$5talk at R%+ckH2<v#?SKXAD;C01<TF5M8qZ>dqP!OV3!Jb6 at VrCpqJe!L~%
znL|+ri|2qJC0S1#|B0W=UUJJHA1I~3?OxeNX7eizv5A?Dsa%X=AU4Bz4TL4!eFyq?
zHJZ=gckSk=C`Cm3nv*>Kx8{Sb)9PMpEr_0-rcwTnulbmJbL6sI>tT+k3m?EkeD@{9
z(ok=Zo~c#9JO|NR^T~)lt|@X~Qp8%I7ugea@~BtX;9-qp?62)#?l9ANI@?gNTg;2P
zqP4VB2+aTPS1-w%4bv#n72vKO8yzk(f&0l;K6_Rjzq^yH%N<XGsCk(~KQ|m6?`FaA
zhW3Xu^GkLDY16;C{U$qCY(Ks1^Bwg{2`@RuBDZuXXHi&g)GxOsI7OLaNn1q8Lt0D&
zvqN%n&pAm}NoySqKd<6dwJKU;R9K3NiIUH_*ACUXgKcykiS*#ukeB at qA4R%-tFF6h
zrFtM~#{E^>FO-D4>%S>!eAP=s%E*OG!{A-4Z2>Z?u{+*Zno$QD>-27a8prR##e)$q
zY?(o|o%m+Z{hx`J0Fr2#CWU&gO1kRZ48{A1o+hEbZx8bEG at Y8>ARN_nN<cEO*iFmP
z at qg|Q7$^S?C>tBNUpgwvU?>;PCCFIW)p{I#@pzZBX*0Pi at kfcPa2}LLn!lY~beM(S
zZMs_LORD at iZ34XY7oa%2qhoolF`-g#F1PqXYI3PHVl^6;$njuX<8u<wkbg05Dded%
zi-S1k-^A9$(uMWuS3h>JLhv=(jE@$gbS&sxjm3S92q^FKE6pUm1NenGUfyVAjBYr`
z0o6)$W0*PEEQ`h>JJZLM$xp$%4OQ8~`ocO|_7of}mF)wH+Usex<!VZm7T;@Q<~{xH
zzHkl+*yT=+HIg+G*R982Jrt|Oi4(UG_mTOgmtI+Ip<1Y<r|pB>85*OZjD~(YD87!w
zZl=)fX;~x2TpFyX;mrTsnID%P9F&eqXW&fevi>>R442Sa_WEVf?vm=Tz at aUTXIx=C
z2<jVJasWuw2DxjoRrF)zQ!?#62Xp(X+bUm=P4Q`koLMWwnQ%#sQ&ssu);%d8rjnSZ
z9%Ykt;S|_TVjk$SAAovoJ#st?PVkIQ&7(7nh3Yy)Q6c(vfUnvPo>yIJCVe+!S1Wyy
z)flA|d3>C_e{sTgDu$i!buU6;>N^d>MN!<2Ebu|5{z`cSD(!1N+AU<46zMnutm<g9
z0T>@EbIhDQbc%KXrNT2|Ge%F)V>GDl+kkh93dau*U#C4XnX4%e2cx2pl*0!Q<;h`V
zp`9vRxafe;ChG2+59f at yxR0Y6yr_vzU(J3~Y~m#!hHw@#x9WS5j^{DY0=TWwcx=HZ
zX+es23`*nB{ShUE<M?B>GRPsUZ#+fq&hh8F&%rW9QVc4SJLS8ww2Geh2lJtWco0;g
zh7W5Q&2}bz9n~)TRGFGP!nli~t3C6dV(KSt?F)^6Tr5_qg=}Ovemn+<^LO|253q5!
z at Z#w!e5)~oknSgOG$(k^alqNuIg|o at MCj1gqJF!(?w at FH8&Te%mQgl^BO?kA7<Y!Y
zco|WVG~QJO{%mCz&a&Ay3u~mI#t(yWs!pSS;%PL at u0&ok<Mmj{e4NQHGG7g$;sVhF
zEw#gvRI->~<{_VFZ?0PId3DHb&yvcHRonlw-O(*V;RE{7AqE)#lUL)PsxP?F&!kMU
zWW^$~8bf8A#31rxZ{gicXu2{2lkofP$|?R>cCefK`b3H})*4gA9EONH!rxDAZL4iO
zEDFga4{L7_qC>Jw4NklIKVj<zcMWOJqo~YJvm}7L!o5nxmvx=tv`b#ox-&@AnBQP<
zu1kC-MpSpwX;#~C9x#R;rMJIbr#4%+(DMF#hp|&vA|^`ZYZjR;f9Aab<Gd^3`WT-y
zaaWkJEm=0e#|G+v=rP+wNW+r at 6(v$B$WjBUhc(j|ZPY}^!R1QO2uV0C$ZeTuo0Ix|
z-OELfohr<_x#H?Rl}BjB4K0(R?~?2e&BaT2NNOXQc4!@$H6FANT5y808bfd2K4+$O
zEfxg{oYN6nbUp8<ITs?km1uh!gh`1Du*x#Y<(jT5tW(?pAy*LHOb;ohUjB&QK5+~H
z#8Wk-2Np*4mx2sRdqie~Tc05h#Kt?N<hYk9xY^uI-GT3v`oImyrgqzK<la(CemMLd
zA*ZUQ=NT!Tv^=1TYgaV<9irpgAJN+K#r;zs{M-_y5oF38F;a60D!HWzIG=;tR~Jfq
zBS19m6=I#BHYoP<T3yVzYg|)_<Pe-0J|9(>ti8;t->F(*?YV>ifC+13(bLUFoqNjS
zWfii59-n5-NIxqs3$8-m`sT!pz`M$CKJv)OVs&&F!ni&P$9;9nc^t`NhrWkZLOiK+
z#zR+-HrOMG8<lJm_wkakKKUlYKs-=Gw0(C^YS2?r#Df0QqHJ)m(9Jk%;OeBlxJAXG
zV=`Q$#ym*kup^k1cI9j5=(;GXs)eGhIMLAa+F_wy?%*@7Mcts{todW2t<`hZ#YuJ*
zO2ul9U5MHQjm<#?XJhA5wg$SqFU{)0H6j+QohnM8OGC~nx?rB9bIy1omhCckW7P*Q
zl2`UP(f;guOLokC%2k*`^^psB0+LuNR3xg7>>|x~<e0-ij!MDUJRpbM_3*u at y20e7
zga-VqSRblWTd})SYHH1w$*}%mP$6da<@%39;{q?g5Nks*Q+E(i!CNay>)Mt4nM|3A
z=0fgpTO`Ye34F5nuv8p57x9;5bzM5R9lKdz|5BY^L3=w5#e=yW-atGI^4VYI_X?LS
za(Lib;LVrexI?)xbw<{!7`LDp;gcY_0{WZL&h_nJKdRQ%!rsi6?_ros`k<Lmp*%tl
zrLT|~K>E1p-Td-YoDsGgGygo?EF)gU?X_HEG<~MG!L#J0(Fd!ZR-Btg2yUW|h3>}>
zJ>9b+_&a4|TBbd>`}5NWV}kpF*6IORsG0r!6RAM*8RVH at d2Qj#(2LpVcoCILVv3Gk
zXlu=1+1-UL{2(m7 at i`GW&eBLv8P6;F at He;~%61rVJ$G`vb-z`(%r6`J4Mpb8n3FyE
z$Si4{DX>hAe<e7~9-<(jFY>%2+O9xw|H2h`uLb(5jt%@77{wyH0#B;+Ec~>u#JSMf
z=y*=(`-b@<>~6<7smYgARbj^0e8>OUJH~a9VeRvbVI{uWW>Xb;OIb69G$i3m&`JK|
z>8 at CZvdvyhDNEYQ#Tg1>wktRcb4wSlLbjOFH~5p1v5S=EiAqpsR%s}oe_riSeQcD&
zm*m)-V at Rpy?mqI3{|Cx;Vpl{(U(co$Hzy^LEYoX8A{*J=RQp`g-j?pd+|_sBuC+}Y
zsio9Khm at Z+>9p&RIYUsF{`SEtMbCv at A;Js_x~2W<p)t^r?7^ZUX;LuxZGO^g;$-)^
z20lC at ffu-F#Y{I#`z#4k9R`bJb<RezbEe&==922!wt`{H95g=9iEBq{%sY(_F%CYl
zWRp`m<vVYt(+eJ8obrX$yZY+)mkE5TFpZS_H5=hVTJ#8GK%0L1#%Eaa*enXa$2%tX
zL-hWr8muD1^8-8Hzb_tx|Jd>8xyt!V)2pRA3{FR<2 at XE$TTpTt{1NMegpC}f%yzn#
zjZ`a~2V_gnMdwNuwNTf;=hLbnBi)AvVIkZrcCoHy%m3%8iO|%S-zgCzn5ahubOzmN
zxJZVyx}{bxN`Mvl#FUGty+jM`|1fq=L7D(-lWyC#yQgjAYumPM+qP{_Thq2}P20Au
zowFP9$BFoFwyvro-l+SmdNMO^O>HE(*?=HTJ>;u+rPBa#O|`Eq^A`cCJ7d^94qm^Y
zW!*|@=oHmUQSr4{&ijToMv^$Yu(Y6)L)W>v3-CRe`9ZnIcoq6}9=PKd8JK5ZZ at DoD
z)YETto3{<4pdA&Ms_}-$mE`WWJABZ-dopN)UOSXE@;jY9WoxcsqZnljEqx3{m-L;L
z!gVXepqjm@<cl^}=bbe_ET52b;EE3uYx2_6?#p3G?TZCgMWRMAQNkg{`~^h_TgGL|
z4c~r?k~sHxCt&2ju$r$hRwfxHU2=&+hECpxgGxKYrQMO?RBIAo8|60fG|aN3kYz=s
z9in~L^Fm3ocLqo%;B##-+G}+O+vy!KTvV-D?Qz!U?r|UI_kUS4Zx&KE+9ns}PzDda
z+5%2$r53mYt`ok;DShiWvMToglySRw3u=e8ESz`AB=U9bR{FROeR at W^p9pJGrIvdI
za!iE+tSw;HPP{1`uXG>g%lA#LvVg7{THVUy&k<O{38uGlX<?J#&QV=|;n)Li-`cuS
z3aaRB&@AwgO5fuY>vJ?Ut7hKTLYR1KqqUbg7hM<JZ$BB&IxP-o23x_af=GX(viWec
zvkbC0kJz+9e35x%jv!$4w){rdw<Wq+nD*ImIO;)N<s{cJP~}$iw-*%=*wub&mmJx4
zbQ&2uoZP*$8I1t9CX;*KR0Gvkg-$c8&o2(hG8SEQ0!;}t_Owhfrn{-a4J7Mn-n{k_
z?3b(F;!CoWjVYk)jelvXmuqv$hrIo*`hfIM+HVA27`jv62hneu>#AsHUtSM|nd)8J
zH-UGloT#C48qX?cetBP0r;`~Rl0X_27g at x%TY_Fb$g>%El_m-MJ|wb7Qkr0y{m$Yi
zmQVf$`M at ktuH=s?!o0w!R4Vs-v$8^;u9nu$vuYR+W<{GuFL=u%?Y&XSke)j=qDoWe
z5L6GH&6d7&SnRv?izyO_*-xsaEVc+fjqp9wtt-MqtlMN{`6qffX&$VY9TGQ#WC?h|
zh|T;suPS+|pvAKDk#gvKOF-g&ktOF3(13LC^l)(bNybacuhLtZ52>3jr(X*A+t)ld
z*@nqaJ{<dm?W$R7<Vj1ETPv>~Ko)9zv$$3b1lhj%)MZ^85YN=Bz3<iX)0ETf#WOTx
z7{(c-%tM!tToKyLEt}0erQrc#Q$vquu<&yziCE>?TEac?<<jY1D_Oaue$?ISY$cl1
z7(&ih&J`(q!!%2a?0GjE(gE}CS_8<+J%ISpQKuW2_HAyNDM1f=Uf=o?N>Bcqu9f at u
z6ES+JX|*aU24Oz){E)T1FHtMsvyaVJjk+=miDWZ%<5$Nt2i>^>8k#}Dk1^5o_ at w7|
zxa)C`6d%>muew_IL>aM5kB9M*Z`t_8RInnxeRPcu{u9R_=QZ!-INjG at Mx+7b4NUkJ
zBml%|w`=WbP)|CbqopHvn?&<B&=XWoxU$hCI}-Buv`fnq*gJ7T9D*Q&^i~@DJ5MF&
z41&DUrSx*`129p>bVQeMhop;6>c1u#XPF&y|7tV92_C}db;me-TC=Sls?@b;?v#OO
zeu3UkFD~e+it|X}8)_fcalE<*L#rjbtETz6ox~;}%_a at Qyt}#bgbWM&`3<Bx7rr8;
z*t}TjST{AH(0IXT8DlbHaj<A4zcPDoPrEN_FSk!14MLzH^*J_8^i!P4rru0Rbq!{g
zzg}-XmAaj5D9x9a;a)6_sMXB_2#|NM{y6{grqzo>Ja4_5am<`s at A>pY$srtDES^(a
zC<9333-W(^W!S9y>0e8WGg6Cus613n9cq}=56jcui(L)#jj>Hd7lzu~EO$+R(gjBK
z1a|3b>o>3(S4ElbsRWdb0FHkV9GdVrZ_D at B)TKb8NF;i2d4SJD2FfDG!}-<*$7pq>
zT3ya?pik3+R)jK?__2jenSrCjFlWh=&&_pbUFBz2t#gg-WW?c&k)~uH81nHFke_-8
zX}V at qEmbLGP8nzRln*zvE2;;?CKK2ok|GzGf9h#|g)KuMf06F<KIBq&uU+<=PJ3$q
z=H`Vfka}|n`BjmiXB*y}TjITtAyU)A)7o0Qj7L6Tgwtac_L!H<`z(x3DWUKOLMex%
zE3&7gi6eNBg{8z2z#KQnnP`50sTR4i9)eT=Hj+i5<hd<4Q>|r_U2tb#V?J2?Mt#sa
zb<&Gu5(f2f-c7OFTldMu!Gu%!?X1!pbGP<7mzrc!rjx&S#02VXx<bdbX`AS0)BSGb
z>m$h9!F at D$MtQ1S{b$qf1?G6WB64#&a8=n^>^h{-rJ;@-e1DeSu0jkylH*wCouQRJ
zI~S??B)U<$MI9>5n5Ww`?}Nl54_EPicfK)q6qQ^VL1q9iMdVC=vkM(ELRUkVIeX^-
zUN7ytNkGDcct9LMFZG-)lUdm%eJT4O(b{!2c={xNX+9uGU)Kk!Fk*b^7HoSA1-pdL
z7nBLXk48A5T9s441IzEMPhq72uW>hLY4viS5>`5w&L~s+QmXNX at Kth4^ncSItQ>6r
zMSrMxI+zkM$QxNHyV$}o$PqCyGQu#3Svonp5OH$++sc^QnY&mJv9K`xe`6n4TAKC;
zoG5-Tb#sf?a2WVe9MG&dWAj|^Q)HRjCFYPC&4Y5Rq|%m>*B2}Hs){W~t5W-!KpzVN
zGKwau4d+$CCHSVQNfZ<7B9<O)VBYkyUEz at OZ4S37&?^FmDg$(J*&+^Pjgbl<c>rX&
zxD<KRanGVIiISAtlt@;XJnqE4VqPDmgp)l|L4sPtMUk>Z at v_^!SCz;#s}kj0i`X0X
z`GVgNdV_p(C6P>hkk;5IyHu!EWW4AW@$$)>z+DB!i+Fi}JE}2M1B~jbPzjGLBS<)D
zNAQB<ig5A}Nlr}8qXOeVO%EVo_0)*45rleJd2R|FE3O5URr1)?5E^hDl+|(eR1mj<
z at -W3XJT2lZi&_vjQU at 3eHV8EJK06@Q8Uw}2D+$oc%^;Wv&{l|;Wt3bXCsx|?K9QQh
zEla#W(cEEVgO`YsKv6y+<A5#DLI{6{8$t78)I=0`52jF8RtZe1b2!5Od1!-PB32;P
zeqAX$B%uQS0NsG(=1>CxA$VBf(Rfy{L^P^XxCRm?1y%<kfj%ga6qUB}U?fGLq_EYb
zZ6in!@~726PBfs%kp#hnror7MyOQxW7)vPR1W;mg&NfBw2=Hh%fjLd8K>VT^E0^9@
zXrM5BL`Psh4kQOTL$p$6$FPgUKm}(xN~{JX(t=!I&@MqEhdgn&K_;y}kyFDqO5*}Z
z0%<xjU<is3BoAa=7$&e|oEU}(NFJ|uR>LxAp7NQ>kSlV2{8ZU&bWuIMuV1QX{n`3=
zckdoACx>f|^YS1&5Rz&k6=P2=-3V+bU+zg?*x!-ejnzFcwk%`!f2w;@B-&V}qoptL
zR+hs_Wd7FYgk)FR at wmGER+mL1zH@c83;h>UKW`!nxF#z%{qS0(5t2FdP?i<qqW|Nj
z1xYq5wea;%)?t~g=cgU8*Nts%kyvN(Sfn?5rZ0O!lp~p|`XP`{U>^f2ejk}aj$E8O
zZE?30!x;!+uTcIrOt34PnYd%C;kU*0u at g_0w;$k~jcN~JlfF_*&L;5 at O~MAlzvaeh
zGV_w{I;N{m_P?1rckIrT1B7&-a+OV*DeMrtbXwk5-4jG6LVa#+lg9G0APx{aCRVoV
zw=cF_i at 45%gA!*CO?73qbZ53MVn7sqPOn`%VYv~%W>w}`@_YA+drKVf5AbgO1WxN=
zfx0gTcqy(j%a*CcpXZTNic_Iobam&2uoJrXcW^uAw=Ab?v>&tb{mTPU$A&&{^255C
zz%h6AQ%zOi>=Qg-8+RD}jG~n|w at h5NE~(DdJetjRq>QSDTW-RZ8KAsnKhu44dBdI%
zY11J!`&!CkwHMYk8|KY6ue0vbN4v<eH+s{{)IsjkRR?LD<kk8s^mhGr|1SrdBv({R
z=VUME*Pd~?;SJPuHPGzN3VMoTo2Bu&URd1&$RFO0ft4K#ub8UADyH?d`2#HioORWg
z3jr1HWsj&*Cp};NqXPx at LfD{fF>i*^Qx3!7o8p~Yi_e1x3qk=E&hF4z4~wwma(3+w
zYfA)rMHmJ)ZNK_v_N at WohBc=~Wb&5X!;7!KF)OgJjSh0?TMlRh8xkm(S1%taDDN%S
zoucoJ^#z(q&+h9zb`7!CRHu`*v83}Zup`s4VYtDCT%gYMj#QdLE=jcxcG0LDc#DyP
zq!fyBhtWyKxJ<x3a$Y6H81&I*(zNi{DBIzN&AnhKP}iSge6aUk-z{B)pap$!b{y)~
zg4ieMI at zj~g)8k=095!0Un}DC987J3ya^Z`P0GUryfYt|np>R9vk~|KZ1J2ybQ0No
zzyf7$fS99v%_fR;<6n)#VZaDqKwZC`9NlJmj4*Ts2>sH;KDiBSFL$4+2h2XuC0gK0
zn2dXz%-jemS*x~GO^V$Q5I6`KvPoNH@&XP9i_ifxj(IFnA9Olb)-bX-y{Mlhn3A<h
zY!6f0GE_7bhIXtzrOoZx!+Lv&sQe at vDPC=p8c&RQ9K9pcb!o9i8rBLzqT?Y7Ip1Lk
zgfFo{inxO=3 at L#Sx=w~v3aV{UWq`99s;*0xazunMOk1Y%?{Wm>*cFe0QO#tD$9|<w
z0a3@`eo$VAK+FtRsU(p^lm(noe5)vZ9?R%==}>N(86NI(+U>mw3>R7Dls!r^<t9z4
zU_bDme$J5iQiFacsU9+^Nmm(Eyh4MJRHj>a3#?u~A<4O9s`E~)=$mN8LPg`zaTbV0
ziUm3{%Kk)la#k|MG3?fV|NHWR`HY9-UP8?m*=;z_<2S502SvE((Grd*-6)nAONl~?
zG~Go?3G}BHn=lK}?@QmSn;ff6-idLdDP2e#<nlG+&gmVYqfCS2h|#<+6$Q2(8!MQ#
zdMT+hXAgS$mH9!@APdt^XrEQ375WAHdB_`_LPyYWDJ+fU0;5I7tT<-I%pkhyMSMJk
zaKG}Rz{ewvhc+bBqf^cfmAQtvNslM3-{TNC_Sy?uz4 at Tj9^&8Q6a5#Qxfv3>P7^xs
z8EQXCVSnVYZEx26ZS9Y**}v1~d<kZrfeM$Z33F at QFGQTOY0boJR+3<<c%;_DjV>s?
zjI${oD9hND9;r3!@?5E8sx;%xAyDHxNb<(+T$W8iM|HJ at Yx}sHUaYNTQ;c_A4sIDI
zMWaTE#Kj>m8VIlmTaA at eG)<x`VL;&UuN1(m`L>5kP24Ajs7sH<5L)=gj2ty=%}-yd
z7(!8gH(sPhc(|+ at boMzt8#lf-XjX60Vqot)0BwbUZTZ=?dO*%4&g_FvJK{7qdP0%O
zD9xl^j*u%3b at F{{os{NEM}L8*7P&7MpGs!Dgt>ToY)D>OieU^%Q#QX6*beh_Wv^MD
ze$(F(7%F#xaz`+f{O*K|?-l0`S64A++cJdPmL>&GBZmSUKuJ)mpxm@#Mf}~%UB?!6
z$zu%3Lho!~o0)0;y~FqB70tS7$_p*ZKc5Vfrjk^<D-m4G@?p7Tj4NKG9$_zsdy*=~
zhvv{WBOToyp>XL=C$_LyMjEEiMPbuRz0o}vbMg7R<{Y`ZcbtOJ+2e8lYkb51s%LwT
zDh6{+HMv}(zERm%*3TP6f)_c(Bgc5+3t+S{&6z^CWLK~`ZHFN2=L%mp6N6P7<SfrA
zN6 at U97~eWsMM6gO-2|WPPBa#~>NyIQ3B+96_|DoiE>CN0jG at u5^_=?8eSO}L56ba9
zl1K5Y*nF12<nP7eR_-7y>qSoVlbdCv+g at Gg0)LXO-(0P2%b?pDf%nYw8ZeKE_$9gb
zuwEm_B^{61ugjF&2K_ajX9A?Lkwx};#DJkT>PnRLaWdod0N6+~!nM&)X9L12%jw!x
zw#hZZOZh&V0V%a(Qv>v>f^I{O!kH at RXG^W-LMXzG)hbDeX`H_yvxO$I-{`w`br(n)
zAEidh&zZi0uWRnld`ruJFqbIwR=4>*{k~zkZr?2^I}Uj}QaVRr at 97zM_pFW~X}s(b
zx^BXhfjl;Waez2OYM^9=S6v;p4x!`{*;at0ELdiG7=#Vj19x{lKBm_^Lkx(J$nyn>
zrbq=19*Mx_CrqO^DKPN6eOi5QgJ}O;z-O%m|2RHyK63&r5W&25us(mq!^d!aADu3*
z5n~^$;F5k$@u=~u1ysU!885`b>^$#19AKX2CKtvipG_4k{on^5yUxA}I;%}?N0$z~
zNY_1nW#=|V>j6*URI5(sD?sxvt-a39DZyX7H$-jGC#HLr3nz0tXkk;NXN(ob#LF*M
z_q|8 at a~1Pfmkd{D=q+P+={H{3bF3)fgwt57g(oc)>ZzEi at kdz>0*1A`-wHL*^gJR%
z+|dpt3E;I-j%!i)>IJf0ia~t6936UE!{?b3CI)7lG$X{JF?jH3p{@odR43UhJMCNb
z33@%l)8G%Ab55FB<Bc;rIN%wf<2r8jFW)s=SL&|sTiM_BRB9u~A+Jtp3hY$g^)GpM
zynhG;_<UV&ERlcWZ*Eege*z-bu3)4Im4_PDx!?QTG<&Z%SwZiVLmdD0&g`JL`4s0K
zUk(p{yqJgN;&LX;I8XDTxOh0=Z?oSeblc2{@l5Z{biULT3!0k??-4mPCMJD1FL*4n
zL_Uxw- at 4i*AsLO8 at UUlRh|kXpe~aGGd%J1rg>_)7yK3AV#-5*je-BSOSC^HQ1w$|7
z#&wNutswGX>k}%ug)t~!xK)@Quv1rT*thQF8c6bWW4UmksoFD!aQP({WBwK7{b?Rd
zl7htlCaziwr at E|nKpMMnL>^h5ZtXDjd}CsGc*e!QI>_T6mtIZ%wOBN5A7#I#78^b2
zY53MQ%uyLJdcp%4UI&$2I9LxM!TQz8_1#570GhOiN5qqUiHxgSaRP~n8QvSjXFkZm
z&R2JP-cU<pw>p|Kvyw29F~ml8lWzKO%y!|w{|PbnzXcXMGwXi|tp6vVnEv5tjQ`UD
z#Z1J+#lreO$N%Q*nHf2`IQ}nS{~sA<<6`PW#2{v4=wd2jYHV*}3IhPZIJ-ER8rs5m
ztjD~7E8wj!fWsVsrSEbhL0w<>Z*93cU~O)pZf^Z&3C-=|&;kd6`8&_>y^y_p{8YX~
zQD-c7cB)@&gOX<^Q3uy!kAYDF|8X}oFf=&^kC>>cXkY}*$Xvt9%+y4tqFS!ju?hT1
zB~`Kl%FU?}c<%DIh~Nf})$L<uGRCYg;vFL(I<SH at Fa)i4xc}pD$IJq%k(ufFT?OT|
z4<3QtshJ6Uhz-n4<Xyl*Qc5}2zc at ZIumC>w at UIBUN*M<T77-EiYv&lqkf$IywW5Jf
zV0(2K#RAfdm8}K5JV>S{fIjc%ASi2RVR$$&J#u_&D|dc%CKLJ4gjhlt(V^9;0jwM-
zH&D(_fTd5L3KT8oD&VJNBtimOp|Q#7dp3}IY;$;P6&eZ%)}}@#@Oj1nRo$DV02OEo
zK_N8_l#(0h>Zh3Yg%I4UkAE1rp7GD;#WmqYFP`SwkFAZ370e%J#+H|+KdnF++G`-d
zQ7BF^^aS*eK*rvUy=bwvxq=4X#vH~p+Qz8$13QJdpkyJbz$3eGKjX7&OXCy$!<qAI
z6VG*cncq&J^o?!ZnUrHQ2o^W{F|X=AMrv{b$_`t6nctSRv3z4&+aJASn-kkppLMKL
zI`|n&S2cLLfeS`Irvai7y`~rfm_U#$EG!(jG(e|NKwcSI%wM7f$7evF9|=bcOq`JV
z_K*pneRw$#b1M^gP~X9)S2mXrU~Qc3Aimu{ys!EpV*?<Jjm)mV89;Q^m&pF!kkNt1
zKmEJkJer<BE}8uYqaX&~7biRN at 4L_}plcgm-)cXd!!ni3)LBwSE<YuoH-!;UW1zd!
zeFz2yrpBNS^^U-to}9ovKNq6otLOQY-}Nai9FV{s->9^0Qa|vkSNYHd-{yQ4KtC7K
zz+idWL;>$F85c~>jM+i{4WIr5&%LtWKhv-Jdf)n^pFd(`dsfyTFI-RlXy5)bu~*eL
zd_VI*vo%$)9*~EEyR!8^y_H#gKeV;Hb5j$`*FSkuomj!{f~(sD&pSd|T+$kzK+`GJ
zIx=)Wd9gnc%RlQZ+BDt;C}V5qb=ly3eFIaU{xf}(rdFUmd^!E3Z!gG5T|7UNly>$o
z%pca{8eE*fBXV*hc at a~)l14|nKpu?&t at CiFcP~hw8CX|>^aiLvoILsgTw~C8b!kpc
zKp7!FC|{6{AQ>Wlr1U_^r}jhe1}Gn~9zZhtKP2>KK*>Y)Lm&o8pRpRiGD^M3xB-&y
z97d3g<DX&%ZtXizQ}jQ$fote~q>P>Wy%D%mwU4-gZz}(e`RDdv$I2hEeeG30|3+i~
zjn=;X8*Tp2=yPub<W%hgZs1kSkLcyDMoe!1pvjTVL#N9wQH-vic7Sj8zx!cPjg at iD
zwT;au{Yz=9Fa0BPzmWnSm>rqf!Ph~ib-$6EKS{r5x4$mX at fyy0BS5DtVE%x|Z}vL=
z`5|xk*Z1+J-#BLS3<>sv_PPPurq=gkxchmrIgj4e_mdiMgF|t<yN0vzwFjP)`)1Ez
z0PjrG%D?&T3g`4iDr;6BHEfS^+diy+Lvt&S?r_;lGmJnVP+AsDKKG3XUq5w at 2!*iy
zjtF&~F-?f1ld~h~5L9LGvGV-|fK0!SkLkmtTePP}sAurL-TtNr$yncBo;j?;UEGgP
z=#vLRJ$0Wm$S>fp*3jsS<o*OeICBQ<SbqGRvGGjuFZ|fD at o@4$I(!KBW{)D!7X{Z`
z5K0F0wlZ>kBcSLAimNBU&P^T0Ki_?le(Jx_(i$A`SI&aS-L at Jd)F-mc&7Av}MISKW
z7i<vH?E&#PLiF1Ih(XnE{A7AyI1uz&_A@{xN0*}B#%ls&4iDo$h6AsLU))4OI)8tu
zj;x^_KAM~MU%7sO27$W$82k3g at qGsvsLk>dwbAJH8bf&BgK&TS3i at eJmetMevvqv?
zSOe2v{TcT6hXn!Q3-}#TB~7H<gLDy=P^<4c5ONI%$pQkK0-0sW3b$P)w^fT+eml<E
ztSP81*E%qM0D5}iy}!gk_*WvoTYe*ZcaR4qm50zb5AHzq7?B%U{n$awELtuUH#`zK
z0&59?_s+}nZUMF~&?@{qp>WLA;Z#hG-t~0^AUm7q)VXt|wmB1ct4~wLIIGxa5pMEI
z(K9&1obXA$6y<f|#Dv)AXv)AOu+X=&!(?<e*OxTiKST1JEn17}c5Tr#zQ*ikuUyi|
z{kWyNb-j%!v}Y_k-tmt1kxuN_eWs_0Tu0HEG5l>9vYLfM at sxQ<&U3PynmjUO+TyBp
zl$cX=du3w+vxFleHpZ>M=2T$oz$vObQq1D+o}NIfU_*n=%!vmp-WKgp#FFeD9jbo&
z2-wsNZJ!5pC-U*xXDmNu&9Uu>3TzJR*`u!^c_X+#4kv|^b^s2qAE^G!(3X|I5H#iS
zIcwZ<J}O)hRG|G_M at 2#Dr{u(ieYa2+hekW`e*gZa>m(4OlP`k?3)16{z2^MR3VBx-
z8=V})e17<(%4M}%6K8ODFEW$gC|N_XL_nQVQ?g!sb;iG>rd)cIe~i>=7nMFh|MS$<
zyX~9sW~KIE*rU7;=cEPrJgwcSC;6F&JIDps9UQC>xZvntlxNg;`7;>%wV|cV773u*
zH1JK at pEJ|iI9Rd7qIy?LAq3<=MG8{_bgOx|9smqlIF<ol8~a;yQcD0G7 at WM);8;)V
zkRUr(4Dz_K#n&O#nxTM%P^k_Z&*JaVGfux{@X~^o9`&ZxN~6H+DBUfpqW&S(uMT%V
zOJ#1 at FK(JVR088>Mfkm^;=rt%VV48UIAZ1<V|GFp+WW)@B-b$Nx9yMTA^RtU8QdLO
zO%@!$tjI}?tW+Yq{VJgtZq6r;V?4fog1v6RQ at yqJ5Z6+z<Zu=WueP|M3%7?h`ia5y
zH0|G$!MDPD$`{UT`Ja%AmeB=sx41j?iYUf^71_C$m=>M18`{B7FIgABZHc(W+hjH1
zn6qvu!eF at k)RB$ZO5V^b7>lE8`(!3xC5{78?SS2KN9ejqeroDMKcmCwwTS4Xtb#_E
z#md>e2V05P)L>T&zUmrR(w<8#$#vB+ruDO1HaU at wDwAJ7$<#n66}<72g6%w6xoc=j
z)L)Y%AE8y(*ioHsF9uR#GlJ~a>9v!aCwGx4%>(7XX^AH<9_4K*G<g`Bs)iKMfFsOE
zhsE+Kfust at 3Nr~kLFdPV at 98HkjV64TPW)q1^2IU_2Da3D(5>m6-a@~JX<Z9g<qN1;
zqK)6p)A{iYrRUwPYyBpas}SodI6Lh}87*#!Pe>`2Gl-7yNTHTiPRQaeZuZwTlXQm6
zg8{8}Xg&g&3{ZWh{e-kO35*KJQifx4Gd(zzjziFa9AhNjF+oM94Gz6LMpu*O=G5bp
zw#FA<3hh<uqeoB6s~0ADp{E(g#xw_R at 58fw5{~giwv}-WQJtu9P|(W$z}^=Gf48nh
z+sKux?H#Xa$L8gGfA=(iXB<jhgq!=Gzt~vs#%8XIGwDw-=<`R)@N%}(deXAAau#2@
zj`<(9c95x(75=`bkJq)y5OJ;ZQRGtrH&b$q?$(o=LA_ at GGc)su|DLodsR9{6n-+*s
z#IrxUgVP80Qs%cpH6AL=t?OGV6<38I9IEn|moD+aY0;Hj!G-bqYMmBuOj;!|F87b6
z*3BEa4_O%zF%<eug<#2<hnyXVLv2)>guCw@)X~xXom}bh#e<$Y1v77?h!w0AXP)Q2
zGH}A<B2-LLh9-Vd%=(KE1;<0Wf~^AKtZ<N6Pb7?-CgBb{2j%zD{a_O2zjgu;gE=9Q
zQ`<j<lX2U{AG0b^$>tq;ZnakS{3*C!NJAMMj3j{;MRK)z1woC{{zPI)r9#PDx&nnL
zQ^R8 at J8DV=C#gTjUy`Y^Nvhyapk;d3El7jIMZj at ttg3x0_8i|RoH21}mcjMz>mlvx
z at hyTQ=%&}oRWNMl2#cj+%gZaB*!R3o4j*9}%ozEyo8xZEiDex*;UK at 30KWuPqMrn_
z!D1h*xRcI4v||rD-6?Ro{b;De1LKRhu^87|SOahc)Rd!BYn#&Fp_;brsrpXy<l3Uz
zai>@YHrsU9VP#<3bhm*NQWH5vYzmcN`&6tNn+Uhn{HBy|a_gv#xs`naRE0}ez5K-v
z at r7c4@k~updYQ4&O)Ae_5VK9){<T&AJcI2FCx(<9613U28eJ at lA%4HeQEJrHMxaiX
zOokVKN2|~l3otU;;<(<!2LlKH;K?N(r_t~bU$IR3JO57pMpmA8;TJu6z+fgbrx0^n
z;LN{Xc#Srd8%NL-sYjGHST}Aal6C{%L(~MM8NqU%LbyEu<~(!nJtQUs1b3KoEUE9~
zLO4}LD+4vf96W1Xx)g6s+ill=pP(gAGw|2Z1c#A7*p?GaPHfxU>Lgz?vAW|2F8i^c
zZg3L88MP)>1;p!0vTw;=j1X56>}H~mCh1AF$0PPI9swhYWx)Xx#=ISCzH}x)PE9^(
zdr74j49wdQ8$ao->s1|h at vlraeg)}pf8QcwhXkr7_XtC;NWvVm at Clb6;%PZzIXW+l
zVjqF3IF=bMF at E&cu at ElIuA+<Oyy-(^&#r?}*!S8s<DdKcwgLFw)ap#JLrMyc%`NnU
zZa=%FfK*Pi<2;emM!X;rs)zI8rK~5}s7mp0lEVXPk at u)i8Dw{tc{iEM2!wYP5jc~1
zT)$en8!fJI*_eJFc$|sW44xeuioa_?!ZQoY0;2Lo&pnqxHQaS_#;)7Ba&2Gd+;zPB
z=<U+_WY%sv2Wy^x!CGSlUgP){Wduce{6@<OI;k2e3jvzPyd{&WLcUt*F}21d1jk7f
z`|>f at Sw8WFXaBqsV4FtBT)4PvX7(Ng4;&a6@{b8Eqkz<#PAE{oLE%I^_9BK~VcVC)
z=EbvJx9Dw*^w-qms=rq~cn?ZYB{~evW{)heExm6TIrTxgh_iFaJ$R4Jld3U(JFjd%
zdR*LzD|~D&Ea`$WO01XPuBkO_DJ_y|!40Zs^U4rCwS;3I<9OMG%1P*$bjc~>t8kTE
z0OOh1?AJ5oflz_?1aM)b!e%1T8=M>S;RR=xoBnD1jiz)PVf?Zbtw@%Q;dZUqLpi^6
z&e#%6qVYNRDI!r#zZ~b3hFHzx$@C+6if&kiup{IYJ%!g1q3!cnC^Q=cuK at Wz;4W!Q
z?0$KZ_t3gWNzRfybhA&PI^<zLE9Qaol1&mT!!%+lfp)xHLD=b>xqLpaG1*jf*4s)L
zOL3foUs;$`wYP#VKfzzSg6z|7h!-FbyO~27g(n8(k^Ww!`VJ5*HJ9*tM3d}|QKjD{
zvw;dig?LjMOA7n=LSs*kVCwL^wUr{lwu5vQc?gB|s^a}|AZx;4DN*N`!~p*V?pAeU
zTtM-I5&aanOpkdo&mxNG&4=`-wgTBfh2CA at hCR9NxbhQzX{OVW+~G`mlXja`Q>?p;
zn~7_BDq~d}ckqv7u*q`-D)#5~NeJsEtG;<a5`f<9#pA)0Cl1EsM*4oS^$@|*;+^cC
zsc`CYsBeQ0HF0w-v!Tq?F8`@6sgWxim;dpVyCebmO5AN%Mw7I~icg~1Y`6YiV=Tm@
zwZWZnT^V7{QD-|5&h7w8v1N9LTsy=^=?eVZ%k&VWj9ADQ7*#uswF1$|d~EJ79Acrp
zP}mHbFz1$CmrnFPAOnn41c6k;lQlEW28+vg*ym=+T_hxk+Sd&v96Oq@^RFFc#2p1v
zsOXc(GTbu`$c;euzIQpY?7YC!^e56bGsEStoSW`(tapiC6~?C%vJ&eh8(w<m8af%L
z5|rs}Mx_Um=bP{HDH5ZYtYE29S|^9gnl_A~yE+tB&gc6A{Rei54EAOBiOnOh<)$#U
z)}6z6TeWrx^2(ZMz$`sz68hUQo;&DM`wdk+?}nBriGY(FCGa-Lu`it}nhH>){$NiN
zM}NvoQ(}1rB03_y*$g;mW>Er+-fy~G?9zBayd=NHZyHcrE`dI1YqC4cMkx}RF?sKI
ziWxnXZsRV<#*wT6S at g4@OAnWbSp{;uT5S+!GAnh&<wzyu)r3vcb)Fi|XIuLdv+n$J
zY>@d5KfbPUN6)Xzsz;Z!L*@`&1?q$OjHzzkmI9$i*KlO at S?_@{*8^2do}h%L_Q$OI
zw%i(il4q(EYXSTDaR8-^U|7 at JA-U5t^%s|X(faR7;0omDO7Zy)j^^wFGwZ8_T4+5~
ziF(cx9s1t#L>x)wI~uwp^B;Df(5cdvks}id_eD)Y=^vJyH6Cm(47|eDds$;4`|)rV
zS*fy=55-8o$ENJ;mKnN3ZZ_8yk~{6ychMh-*ps>1)Le8Z6~4A5em3DxBt<j>sM!X}
zqb~eMkH$DYrvaDd4P-9UV!@_8FN=no{Kp)^_DB4!^r$U%Px`anL0{Xt!lFkt9!$Su
z+GO_};F$DZ!I_J!d5}?DhJG(-XP^}6Q-41fj_MMQLVG$XmM`!5Ds at 1F80<fvm6MP6
z!Ig2zlR5lI1CeMVrrw at FgL|cZcSF6DU{;O`DJ%tTkf>5qVw^@x22IRl-1kHZpyggc
z^kB*dA6(nZ5c(#GJE-?gavRI*YT_2nuD4J_uduIMm4VluS}%(7=uM7d&bOF-xFS7!
z*0|r=dqGqZM$Py_NiWmGkxrp6-ehe4ah^uV-t&1><sHE^S7EXI+pl5sGTFyy@=>BV
z_lVDrSR0w3dz8VOhE-N>So?Np1c{Dbiibv#j8nY!(}UT$C9WL)4mdQClR_~395j4|
zOV8Xl*xM6{C^j?6aQsB~yYgbQL#Sh+C-1_ArfcW at LBo^GI=Q>AWs47LBCuJ95^p-%
zhrkKe+b{d@<w8kjSp9lz#)x`W*<3x4H%4D(Gid|c*B>Z<jnEg;bO74(Hq=D at R(a)*
zbrl0 at 5f?FqRc+OIIecTG0Jh5KFG-+5rD*4w(l9srMXzPmu*r6>xRo;9&yJnKS#&q6
z^z(Z5GdD}T7LEpTD8>=PlE)-KLdGV-C|%lEqeA*Z(Xe05;^MrZ at EN6y^bEl~gGYZv
z$x%MQ>@gWcwN?Dj#%uWPV<MQVdO9KW$dl$|K>n8pQbga@(nE8r;A0Q!Juj4JuZfUa
zO1b1#ie2r~J<BQqGE&r$a-&QPnVuyI8Cr at IyG6O7)oQ!RYsyMuku1fS#2V5Q#&Zl_
zsD4Va0^zmpguw|@R#Hp$iPAdz#Yl1l#sM;DBrrox_i{2an(+2!+KXE0BROu<imM){
zP>%Z#XTYkk(J{44&2JDXHHEsFRQ=}t_DFr^o~gApQ3w;CBh<RuR37Yw*`)glHCep!
zDnxtmu1 at TW&>On$S2oE_6)y*sl at +caHAC+ZuSEfm{2oZGPMS^_#Uqj7_8%7yVA}WX
z9qADW>{~Gr?P(A`cnCZA+HFj6I{j%*TM80Nl2#{-2|S*MXi+=Klk{}h8Wdsfbh0!b
zHJm+im7AJB`uxu_!RZ(G`!thXDHf@}CY4pwRS~8vB;#$+XB^dyWVf~A!_$og+ub{H
z5YmMXkeTfF8qjf{*WqCVSbR6`)qA?^T-bWI=>)n;lEf4Os7^Q0ar`eVbR9G0f;o|$
zvl`|E(if8$Vz{{Fc~4a8H#BG7^sMM5Q_RO_p#PdDOjZCtlpXSs+rOs9EK0-vP`H+c
zmh|^2C>QJ3gfB4V2nJkUA7lD#e%oF_UMVz;i`?tmN}_299oOiPRaj$d_h4N?YbAda
z*dvSE$ZM)}x>ywo5Z2=M>cs2wqVPdWJD^4en9!;ZRS;TAs(IVf5+iw{=`h|#q6&Ei
zaqHH|Am*06n1XB~%ewk#y*C(8iHy3ONLB;rKpBD(0m(apyzDkFF}KL|Z&0J&l9v{Z
zJ5~dA<tUP}CF7SV$9Rjc-A0OLsadDbMwBq{dI%4OCzWmC_RaB8>dt5|i6<5WuVA-y
ze<hs#;=`mCf{GScJ|1PCzt`8&*<g0GH8VzX1&)Wn^{jayHln84q`;HmrRWwDNw<f>
zhi)E;1Aj7}8scGhL{>Ri898zbG~_O#NlxZTQMu7mkQvS{(<kl9e{cVOWllnnxRkbw
zrnHoZ!j*hKT%qzLmDe9nPNLm}CdOF|ab2Cxr^2q&;rSzBvPpuv#nh5;5OXo6P=K4H
znR6_<0>vS+_7_RD(9#V58)m<j#xoc%fpckQA)XA)uLg?6xPUe)aOc#`8VDZ*+iI4*
zH`k<7yQvJECEmail?!^(alBoR&EdCH2e{@kwy}<gRt=lgUGxU}G4-vsGk_{csw_5}
zE>ymGc?-L-cu<t1=nv#j7pjH)xgb{&)7JFGJ*6|}D+pGD*EoT-3OhGAEl0cb1ybcw
zK_%OBTOWlWLBUq$h#=N<_~m1C3O^EhH~p(dvdiFS<|b9}9GA10YSS^2l)-M}3D|w{
zb^0g+#HR at yIW3wio|9zuJr>piTo40iwB*7LvBtpkwyEL7t&e{`Jw7b{do2MYj}3C;
zvXRsVRS>YGx>{^EeW9g22E`3eRnb+JT at lz8j>=V<qY1T%1+o2LAt(-rt-%#)>JdAH
zKl?0f at blmncRC)@=Y7+H4>!JGesrFCYKyrcOD!V#%vXyl6gQpw at EE61;P at DDE!vfZ
z*-J+1GEB!mW)USYOVa&xFb^@`VjLr+rvde3yXY^xRD>BWpGvyL;V&pC(VUI=33I~c
z*on9p6F5<;R!LgvUQRuN-Xk%J16=d2EPV3IQvCDO<lZWrFUJ(ig=`fPhUk2&OIwhn
z=@dXyzB(dsGja!m7LtAg`6Gka$57QHCkm{gj*1drN- at 4rC4e@tB%Sp!Y`6DZo327L
zMpWzq$L@?3H%~Jhc^R#T%n at xlO_9o>vv^!wVPG-xp+l6|FN+8<&`!JjRq?tv*+OSO
zaFC-a7SDLeBHTxvp9LhQ=l!lYXLHDNV?r^(FG66{FUX^wHu=hd2!@kGR9DBI=?{n(
zZT~e0ltNC$W^2zedvCQmU*F$jCBd7C+bk{h`c$yYMiOc=)`vflQ6qO$Me=Ql4<83H
zY%s8QP>+7l9C8|cxDO*<9truEpG!_3+v?YI+iaafgmoET*0o{ROYHc at frjPdlGve>
zwx)QK(8kd>uM4L_y=R}wH7|bT{Qkc;*0#JhFlJI#7F;=hKo?ktOea=#_8`D!Q&2Z4
z^qh%2(<Bq5rQbzxLQn2=hLw6oum$v4!0ipr9x(d{V)@KY at nUfOl}bqxL)2uojPU30
z5~t*&xPDaz0z;Ke#f}0;k2JL53$jT2;yXZA5<lUwjJw12=nw{P`(XELnx4*<4BIAS
z)I>g+VOt}jey6mQvTU{?>IdJHV9C?HK}7Ze;FF!>(W+=#0!FRkjVHl`FE#gS15-jK
zbnSq^!S4eI8vC<&->`%hYvz^xMus-&8oN*PPWir!GSGZvH5lK0q|;065<E}eke)w=
zoJs-lEx%tDGCZ))>dHhL)IgRjk}EuSx;%nie1Wmiejx@)Gd{e_zKJii*s<kFtyIaI
zDZ+M;%?Z+D;p;tIfA~D4A^jfarD`748mrti&)8nOE011VS7p9rU!A$aR6&z-$)v}g
z-3!-YC1%xjyCFSdElcSwxEyyRUr^!D+JtC=2&4On$&a%qHjg>I at M41$DTp=)EMAio
zE$>apZ$jKTAun%hpst$!79>?qU{g-*do*fj_BMb=zQ5oG?zvGP at cGFI_qQT!HB7kP
zWSYsgPN2Tw8zar*+>BzA2V)!N>m~kkGSK_`?Yc>E at r?#VJLm?;Yqv1}yE^Fhp$k$I
z`o7(B0sLt4<gsvG-}M at _N`w;F9JwqwIrfpJdqUb<Q8p`BH4!~QId?eq$ws!5yJkuj
zR?TFQ2hM)WKr;cDwq2-NPeDA+`lI)lQxd1K9vJJms##66hu at PAk8A91=h-J)V2KB4
z1ZC+}8Y(cxUvEjWS>rLapb8&v^0CsUgr6QWta9oLulB2rOcPBBr37G#cA(mi-%g4D
zu`GH}Md9F{iox|MwD=K3{Eh3G&kFY^Pu|u%C(k7{x#hU?E}fp3a4|C{k0~E7RhLX5
zYwxXL^!|C_^QBrhXrsg4T6OaR87^E9hyTpD)c>_0cR*aU{a;Dd$GJ*GsT$$!=Dh_a
zrO|d}YQK9k^CMdnYBS8;hU+!?sZE?heq}?=aFWlZM%db4rmtk)Y8m3!-d}^yDCcHD
z#Z}#wNOu1Bi%Porq#{REPL;u&0YjHH)mLs5MyH-<{UFZ4mego-X?tNw;ws4RqZ*Tb
zx&@t+e+#9G^?CcB5hUaZorVXWBWG4mM85<4ly`dNp^uE?m|iIAYS+c%I%kHqPUGYL
zD4=$F_=rwYR6 at gAU_uR2j1A6wA)~*v3)BF9Pgnt71}~1bo2!g$@Z5T;UlP$rR#rt5
zEv~=QJXUB$o>$PYNSSbkOZH{6pXLpBv<xvmZ%?#74C;g-{<au%PHVv<wP|B8I>nRQ
z^=duKXN)s8KMROh!SYP{Cm<pEH|1D!4tCSA{{{F*7fVRA#&E=Re%`B=%NB7t8y72~
z00f-pi5MuYU- at DO%PJlz2aX?FFEy)#@E at d9@flf(veBrajIGloH%?znAUyY6SNTzL
z|8QY5h|k at 5Z0lHrSg^k5`?Dr40Mb9GM9D68mSTw%3v9TX<dXGx^*c(V-H3lNXJHZ&
zzEts<;6lX4EtVHI`d=Vx5La-*dRS-Hk0CekmUN%IZvsu$Sj>!%uP9%qGWQYD!-p#`
zA|7yEf_?lhD&@-TKplePW;M*IP|vnh9zBYm^A{e$QRGTsS_)mSm#wJ-02`?L+kcxT
zNLWQN*lM at GlYYXEmP<A5X~A*DM7Bd+JHJUnvISCMC=O4gbcl;!Z)?k{dkmME_%y=?
zF^M$5$Roe;4ZIwXm<^xai{R}vhBk`?Q6(T7fm`eW-ki^#y9v%4U8YuTy0msF85mQZ
zyuF#S$cxSHG^pfp6otYU4>jZZs6#0$g=l+^VQGiXkgoFlakfx=+Bs?w(m$C<qq at SN
z-Ct!5EUB?W1JeRe7Rm`k=ZQwRfpOl^^RqZC>fphQnj#7w0%JmPKGRx-qB-H{-Zha1
z{F1V?GCm>ttKB?(j?xi^Hqzjs(5q^i9W_Q=Q5Pq>^wc`tXOlVJ)5ZTz-el}Dc;49=
z;}O==ohK%gp?f?mAM{w8u>iBeA8ng<w4_W?y;67O`(Ogv<?DUy9sKn&c^XfwSU8(W
zyCVUfnH}ZslqsrN9~1Q>)m=jLU?)v!qUA2tEg5@*hv@=!)_$vwG4$pZq!V(u-(GYf
zs3h%@M07F_l?4W#m<gUZ5Ehm9A4(vB^Le?ux8NGXJ~26{2a;WD|Gqz12Y+kJxbkAP
zP3W(4Y26oHXsa0Dj3I)5Jf+ at 7ra}K!B7{UZT1b0Sa$jgwgVu_D@!7 at mJqy_u$L{B?
zUoMr!JAmPITMbP_7cypTH$b0tF at ZJy()`;0<7V4_6lc8iGRa{5^RTPJdCJ0|=}(3I
zv|>bMYu)QU4rddYE$zU<Ek{z4KOB+F<0|@DWWN@&#Ke{wA87<km=~P!i^sbMd*OyW
zOU2V$`{j8L3S6(iNTmgPd}I{rfK_<Z9-UzjeNSE{5s(IU%Rhb#1>gT<Na4i at +0fPK
zNfG26()Yv{|GXDdmtvTHYG|y0R21Ca<q=H)(uv+w<JDCn+lnDcB<dWhu8de}`0gbZ
zJ5LX_*u1`lLcH?CV##{@bhw(u at Mp@xMrrdwJ+SZLVZ4<-Un(i4zr{@}C!2GuA?~w|
zsM0d|(Q at p<Q!#a7bSkeR|DP9qwyqX-jeJE at j*xziRpNzyrI&f*&BMbUes`E0-{(SX
zt0m9mmW0h$06s0^=*|gOFEMQAgxdQwF4r-T!%ctaO7$Yg-?k*S63z-S`o=xK2R#SZ
z3RC3{`MpE`Su7y>#OfWl5Fu-T?<u6Jr<=Q>5^_ZY<UlbHPA=(BZ#Wq-i!TX<MA#d1
z+mIReD|?N}SL$AFw*tDZmT|{jS=HxI>*(Hxcl+HT8!a$~Hi2z?js4t|Dg%74$H4ZZ
zW~ImO?GmbEH5v^-K)hbOX&E(p_Rg|L5})q3c+$<ZwC1myZ^aT996hUvN at VqJw-{lJ
zo9OPgRFwGE%Ppwb3IZ0bt)SYF(?4teCZb8XF0V+_=a-qeuVyK_hJUezO7x)6op-$z
zPW at _gl;K7WfyncrplxbuZ#gU2_!sqPB=QMFMQS$KS_f(_DeKjk8cPI)l;L*78ORX|
z4N|i2fDMU=XLQ6*Pu1*_0+@{M2c{lu at OOlPZDkI`$pq`@;{r+20NU}%^?$ToH0`>v
zcb~Wa?6pwz8un`gtThnKt15r5+!ZZl07Eq9G{wC<Pm8L(Vb803i|}D>TqdO<31vaa
zkYBj+W%EQWNWdOIynmtRwIwT`JZDZc?FU0>3ZdH9t!6dkZ^-Pr=5n&jVR%QP(C1G6
zdrM`E4%~g3bY$=3xv}vH<VrT-qUzdKT at 5g7<YqUEN4INLXN&_tm<dPVeOb_|tR%@`
zW>YM>)>B@`!q8>fqC`YSn3f5vl6Rp at -TII9*ihppOBq6-t at O$y|H at jZ9h<ROiD^T+
zf^9ybRX;hyD~@)`E0?jt+R`K{2{NKLlAXd>wQ(y<q75%YtU5U=r*hN+O_-QjpIUL@
zUv2yeFrY5`7SrE&+Y<eLWsA4|a4td<_<%waInz5QPKK~m!I>%chH18K4*5gsvdJE9
z$#!sKi_HF=iM0H8Nn43ad2v~I2Q_dp%%o_xnAu&HxZhLL>A_i=wS90h8hc#vFT{#-
zE@`xQ1ktConf4QqjWnbnwKHq~ho>wG0j-A338j^Y at PHv7U-DJGKzkSb{a->cm`YXt
z>G}iSaOn-!I4&TQ)Uquz8*uS9L09FmSmcvO+%p}E_ftxDEMo0=w`dE!PkH$x>yJ)=
ziGnWm*G81zphhy3%a#z=Kxe)B>TnY%A5yX)FWI|lX(MN`P4eRdyK<*Hl}4!fZ~F3V
z-$o7a^c$519kgFMH-NFjr0I87@?}?~N|p>VfrheB8)kaDN-d-$wSx?*oW%HU>DZC}
zBgFa#etk^%9fb_(yA*zJEGkyx=tpaTL}dM*yr3$y{2)R(YMLViO6u|wyKy{J;?ep;
z at xPb{+NPwzmaAo|m#B~EC$P>Ni()RUzNDb0x;NS58)zPJtQx?H^h<ov|LAr-jT(~d
zf9dNcm^z7EA&`E%uhS|u_k!;4$ENTV;1j3Dc13^D9r?Zr?sJ{3kegn1Hh9fQ3r28n
z)JN<VgKqZ+o?V)sxnbkg{>3l4bxI|I67BFCp6!TU7$Ow*g(0LRpM%eMrL^TH%d?}w
zU3tb1V)OjM!Op#T^~)v0U}S?IU3W?gR-`Ei)N^)4cXN37XOWzqpO`iu3QHFcZBI{t
zYT8_siRwm4rB^bL at JF1N{_$n at _snr&jl_yAXAemdqv+TK$*sjFM#`ir1LW8Rt?Dxp
z+-=kthO1KMsa(fyms7=qRIYXF;Gn8=4M5g9EaJcwKB`d7oJV<>oy0$ID*B2?I?mo%
zHCiMQYTx1D(A$mGmqwu*z{FM*?E21~Sg=h;?Ke^5z8Ng##^%^<$koiAEIeGBiyEtF
z1(m!z9DlY*i?pnru=qBU#s0#k&*TQEHXC<rc$F_*VS$yqPmh;m=-5q#%|gL`l?2Nn
za$797R=rbJM%77TMLVTvhq1(IlX*~&<$smOUJgy2LU+J)dpu0HW&r&18~JLrb$Dw+
z=go&o<A3Y86sU5u&=-x--m`rcOIOjb)H+LD1PG!dpn{nq=*tCKq7IHXUc?+aDYq6#
z0pnPjKjM~QuSQXXE50h7-|1X1JWWYZC%M4-tZeExziY)AQ~G6?3{p(X|2nNh?2AA;
z_p_DcvWBVYlN97&%F}?S$j{#t3TzV8rl0WTsbIqJ7L0UU;?6PP?YOIgZO{n47N)OA
zzD8iz9(h>a)?1C1#MPBkJp6dOHTaO9`+KiVd2v0$B%;-^agjRfE987#ILWQG+=<Dg
zZKEuQFY<SR<shJj3|^atQ_Q&OvH1Z=MWB!-^aCa>L4sGSkFCFA_2pBOC!<t|n~Z&B
z_+eaNj5~Oi_Rq_bFyBe_+g!Z<;kq%0JimsWdBbjLy>=^7Q+(Ux=~_bF3F{e-5mh7r
zpn3kJy}uS(<Ztxn?3}w8hgj_}SHOS;v}-~x)2ME%@_2YrJz*0cYVFJlK1oiKXubTS
z!>tPG5|@CCo at f^$A at y=hhrC5(P at 4&z$G6i%<1BZ at SDy8+)6^t4^6mna9O#|3){)7$
z5SZ1rSrb71^Pos1&Ws<^T=~)5m-_YE09p6b*VtK7+-(R5CyBP9Ccy4N_{)^sy_`>D
zp#|=gOPCo`bMdVX+vA^OfY>m~Wd`i<v|Q?94$#`+kWu)ZBk`^wc0w4%QUUWU2nJs|
zKTM2Dc-fHas}F^~mmh(DF6v}c=ey0wqriRSbs>%C?ov|(ip^7q^@aDa&C}zlRX+?p
zp0)L;tKR0fV$Miac?NACl9~kcu}MK{nJp25!IFv5${0gcl|}8;H6h*h%e#}H%sAWe
zKpp85zcBgl6J6aeG^h7DPy)mCi8wSAEApu>ecaMFBv4O4DTB#nG|YE}8&j|0uAvq*
zn}1sst-}a5orSy!LfFac6~pS~Z{R&jxMs=A8e%c5ZwS1dXg<H3kmEDV3cFf5;=3;r
zYxv5N)x-elIhE54KPT${!`L|lX98>sIOfE*ZQHhu$;7s8JDJ$FZQHgrv7P)koA>H1
z?&7UaZ%%dfsjkzfzmMb5?7hRY8L~z}v=tM4X%OD<76a#O_?Bv%!YgO#hjE7}-Gd6N
z&;XJ^0!g$S`q_Krrj9y~!Vkim!R}yGqwS*si6|%H_tjwf1<Zn at Q}`+qkgDMP^uxNF
ziB+51DEcOABPMqYNY!Gwr=YnD`abp0Uf++pW>B%An-m}{=y^70fb(Ua+OvQ5)HFet
zmGottAwcDaGaB_A#F2(Z8aecKbc^sM8~Ed7G$r#mW^Az2h4ygtBDQ^Y*w5yxlxGi%
zK>St~JGNQOr{2QZ7}u*>k2+z$9h;SzNZf?|_SCzAQpoO1$nLd|-LI+2!{<X$bc=uZ
z%QxMBd}}n`DVtcJ>V2kwH&Exd2g%AFD$2qE<Zp|`_HyAyCVkpG7xIaBMgAh!BB;~n
zfS}spJg?>)AD}<>1jYG?ss>o5bA;I=mskQ&k+Er+hd-sK^OrlKO`pC(17^CEDT)0;
zYC;#1*Mn9z2joO?2iLrr237I7y at 8(rq3c_9aUT{FleSM!(tXFCgn|z%X3^Lx(HVvu
zxWzty2D}t`MPfZs3vI<5H`RcvKwof{TA*K(-TnqAbER4_(iTZmUg2!__%_Nxp2pIN
z7q7|qb=Z|ntHk+y=A at ib;wi%Za_3I6&8`Ib0taNdwz}oHrQa35RIr(vnQ8AfXJ+dY
z)I({8!}y|P5^r!RCwqUI#`|?dqnWwJKcdmgwshyDGP#}cwBzw?jUnk38|L)vZ8mH#
zuX-G({C-9~k0mphPic}`h2cjPl9C-`WAfWHYclKB8MN5deOHRoblP&X at H$E&@>vcp
zF&@E0iD@#_r?EwfGIu-N at BHuppeSt>?YyJNb(G#EjkqH-hLaJIM70+x*#ezyY8Aai
znq*)y{Np5Vy8IQMwa&L_+1|x}$SsDd{RH5`LuKofb?j^zc3p at IkIO(($qXUO5UMmt
zX|fQAjPtp4I87L9kcL;%N;DS110V-ia5;1;H(w2FaT`dZ_pG8aO`rVUMP3RIDnSMs
zv0b*!*PS~9_9nr<LL{J*o8hz|v9+FB!WeT^^AX>{Z$2T^Ps9(GjfB752om0yBj$pI
zcbbslFxK)*QtyZIYC%99{L at E%tB->Q6v^Y5X~b1aTBoWrDqlA7n_P0f?9_8f$3@*9
zSJ6Z~=|)pL<57jDv;`C+)LgSkVi&{aA0M|Rgimuik{svqpRE=xbdy7ljhCg_A+3dC
zQNX?gRt at pi4P9hvDGn4K025z+%G^-5IuiOSLwBC3K*PZ+GUmS;iVDT)H{SWJ&Jnd*
zKN!99{s~?Fpih@{9}vZbKz=Zb?3$s6#qAGN0=-JiDR1V3+Q=gC8}-CHtXAjM4sq#S
zO)yR<Bpg7lE&b5kED8LJ%%h~__6Na8cmI^C$iVjq>#kJrAa%9WEY^zP4N?T>nW*}*
zR4{QUVv#0|iH(IU^X|psw45QN`=_f6gLpm_?5}MM7GnJoe)l9xI|7c83_ZWt&ZI$R
z(?r)9{P&$b)L|g8(XBR38I;eH?&2yxueJbgBHqwdb9a&1&pW8Clu7H4tV)%Cg&^h-
ze4sac<iLkIY851QvUPST#vi+IA4%>HwE#s1g?kjGC)(-sXD-RlX#ahjfsINv?1wiv
zBbXMfN&@X8wVYzSM*C<P?;fti38Id2slB=F6W(cG7np}=9H1zaHwPWcft^D26&@eW
zc=IsJyfDjrj9I$&?5x(FuH##9th~BU`O=%Qnd at w`hZdRfqN%-!`%rHco^}f_$?33L
zqfi}~`tiWG;tZ|wiUuM!_8pF&muaWlbVH!XhI0=4*?b9N)wk1^?cd_r`APV%FU4kG
zuKK_E%5FB*35CHZ=NV$Fnwmd3*vaty<T(n+E4vY&;9G>wkfHS%dPg<%an|X|vcLYw
zI5Urw|A=R;g99`<KBW24|0Wcc&2RW^>ba9Uww{`ZuA_VY(vVZ!sC9O}%lhyjbEAAc
zT*dm+=ylga6Pn$hlKUj!d4J^v4xf9+?I{M at a4FJUXY}LfKzNwY#xVG0&ovDFYHL-^
zIwW3QR|X-QSkwmAx)-nP2mbvI(q~)^PosF}NQ#**lXbA;UfQ!n^;wrxvEa11q&3nA
zz}rUWldWwY!Re=t$6w}KDRUb?FInLkLomvS-b58zQF|4nh2npy(>FlqT=y#WWm<n&
z9wk}fPI}-=PQKhXkUfCFB03DyCddc5l<oxeJhdTReZHMA(I^!jQ3dIx9|41O107Ky
zE<lfZ#-_cz1KVyYg2S5NGK|l|$fulNos>FV%+;)}_!U~ybMXSF=}~C6C;?TwXJI>5
zbWMiNr#V|;ENw{7or)q9Wl>EbH{^1L36j0=@KPpBD5wC5Z;}J(FzrjgcLj at ZJaISd
z>pxE5C-<0PI5zB$M?f-y9*kiTZ70wee!~o=E)yVdqpa^o+Vr3_<z#~~5827wvq>wx
z_vrN8DIb6p?Y(Q->a5O(uS!^x(-xI;=&8#pcW^s_DplCRmZtQLxP7)zA5*Pc9FKTj
zq=BmXRjyTddR2 at ft5{2wy at 5#XK6i#xut;{m+Eu#C)Rtf5 at LR#2q(r%5K*T;g2w*CK
zTlk$1zf+@?0>2!JNH5OZxj{Xm>MU*Xq?Jay6vlro!MEH6cNNDmgsx-udHBw`%h%9e
zDS#i`$l#ECLC at sA61~Cu3v8Epm-%lFha$lq+n&l0<!(i{TkAv7#WjAV?aPHldx>eI
z>0?D`DO11*N++7`B4#0r5PCEqcpQG3voGTA9M1Ea6ko{gE>0>T7iIuczDallZnzlo
zGdM<Q9z|N?u0S5Xu1AgENHu9==DEW(62^6TqKa2XNBNlH8K!}QnG*LIv%>`7e1P3?
z7O=@1pZ_a73SBX3sSxDyL7ZyDi*<??ibP>bQFvN2REIF0fHIt7<7q at gEc7=xgYWt$
z+gwHAN4>XN4L~R!GdM?Yr!0h3gf>vzeD$5m<W?>LzxLuN%X!`9F?12Fz^SVvPruFs
zA7+Z8WHs-a?tVFrk$(eeY;f1pBt4PTE!py#pLL6<4X at L-UdfiHvKyaM5c!JCfU<To
z7z38ALkMh9ms-)^wjor at Pa7$@h2D=OKzsc+L>I|PMUScxqrik|bVvWkFpF=yVqjW;
zp2$s!zi|?I$_kL>eW)Kadt~$<KQssOS4>|OUf at jNiz6L7Rr}|1fKW7<qGPd at -1;)E
z)(U29niz}OlQ{3^<){A=7zKZc6{|N8EWNq8z2d$B>HU|@M6n0j_%~QrZNlmIq^gmk
zO!D~^qIkDdD3;G-k-cE-$er%zN0*99evZPxpJdAbBQ27_5FH3(U{j)w at pys?jTb+p
zGQpe3^BKunU<_kqimk6dUw&+{X-T1skEo-F&h*EpSKb)shQgBwz57`j)@V#jZxtz%
zt?B|QCf>;_?O4~3d;$#9T`&#@9@~&Nk6zu}D$bkqk0@~KNw@?HB49-t!k$lJKCw=>
zdix7!2n;t*aNP|k|I~1$ox|XQ#j7Zj1=o-G8P?4e><ZI0V}rF%p_X|AQbK&OiT^Z1
z>+ly_y at 8tVhG|>D;fzh2NyXcXI0m28FQ<CRqL at K!wIoZ=cd9~DQD7IHF`d479iWZs
zHAdWB+PbC2X7N4-Fxve)B(%Z|MBtCz5H3=&;d=jLiqUK|@FmGq+H^lL&%u!XEWOIY
zz#qN2-Uj(EV%xT)?W3O)wYJ8G0-6I>Arm7-NegZ;B50OEA2(wGJ!r7zDPw`-)yfN)
z39U6sO*GR^JWGLj7)2#?X$*V6L_5JDmh9vNrNJayp>*>O#FkgLO$tmRW*kXi5Y;@M
z7ZpgCl88QYf?kypHd5>*!MqB;B3o6Ww)Kcd-2<-UhVN?$3mK1ZdeI|s_4Nhsc)jO<
z6d$)VOZC at pR}E%XAFn8;j^(Ky{a40^6dXT^H0mG<ka at gx(N=mz^E};s;{@AtI3h*4
zY_gochblG%F(`6tIv5)G(OKtiU!)29QzZ={bUnx+k0~Yj8BFeD!><o(UfghnL7PgS
z*&d5)il~}c3YhAjg#*8#JHVx0jJU$tCTpT|2WgJP#!ogC!(T39i=*20S?x8FrIOwo
znSOs|qvdtgF7yI8QEYoWqn1(q%>M96wKJWdaF;ZW!xlVYe6~BSsH%txJ#(LHhMY{N
zOFlp(0_fi3AxeQCTiRT?yjBtS_M*7v at 31SA(9ZBgMQT`YmJeq+5MRd?eLUR0T{Brm
z(rgV6UZF|?Wx4}JH=rxOit-gsbs26DKQqoWiQLHE)Q4p)m$Dx9MU)C`n9pm{?cEMJ
zj7<Mfgfa2!T<@{lF6=4nzoNq7q8p?*fK+F~k_w9%YE41#Nh}tHB^R}?Bxis>bG_8o
zKwNzen<lc=hzB)PPW|X0smNuN8!$qjB+XPAJcR5g!@o<CP-<<hlEiO5#MH=Efw6C7
z(e`Lk<y>^gv&rZoHE~at1}z(8ZxVH<R%nyMEWgm}+{`MScfSqEifzosmd>l}^|qSN
z={?f at D9$D4-FD6|QRtLe2Taj77&5DCR)lF}uzPj32bH{Ou{#c&V*pk~SolPF1@(&1
zeq!wPRLY1}2?o+JlR4aEFeyCE4Q-1L16~Pg1=$@AN at FWXEAUq`A`G<@zXnpjOd8Nk
z at IP97@C4B2qYV4mo0rq<+Qc3i at Z`vnqp*fE`L#wagA2$#WPwHIafv<Z1fSm;yU{@h
zK__N0&IexQ7ivU0&wQ-vQsVL~|7F}>$^%TvCk$7dPB)HMJlpi{Vgf_=qMVkhCDN)j
zk-hY2&#_^;<WC?up-aUxD<4xH at SAEhst2z}@i3H$AK3n329!>n;S=&SDnX;oza<C{
ziR1>@1o?kJLVj at b@{x51Gzt3ie<Tc^##EE%0+m*$CU%e1 at x`1Q&gcT4bc%|glnDnJ
z(V17NVM#Ant9-RRj3InICFoIP6#a9eLWzw>WfT=Stq6o|yj>n`Q1@#_fu(gly3)3f
zGZt*- at rWz%X6MYYzY2J+xw`+Pf>MYqsSIy^*pttX{|LOf%7miuEn{(wJ1VhAU$?#f
zP*E#)0=6;2@*!`;yBQWe$MXbG1VDmk;85}hwMpG`ByZ5!<Z4ZNZG)gF`+}foK at Npw
zRVwfX6_RCq0JGs!!=E^~hdeD^1-9)IthdOjyYQ{18%`(p?vk=??RnRC?<bVKPuO<w
zf$O!m&cYs}RoAh6F7IzV98pBF>Rsrx7BCy%2a#4-2fKmboR at V(#l5${kglI3O{jpd
zMU6SIc}PS#4L^GOAQ8_>*CyVa6a3jx<jHL9*P#gyr$t;fE0u|rts6~EOT%lRl;!C)
z at D3%Z0oEfhTh!!O<w|>coB9k_l_q0!=6T`cudl(Nt?H9p at SrEyLCC*Qq;d*DKj~0N
zEW#|@f{RgCAGjqwn)Ba#*K}LxWi>-}9c0{(-U$vhGd9D8wGk1)y#WfTjnKW{j^j_5
zZk`noZlO1xXfZVPN(6VV%Sx|eSD3uvfPRs`!46tsZRoU2J3HSV7{>OwoMnHR;k!Fz
zW5t5k4PVu(A)>YvU5;v6=<aOX;`T;eh}+`&=CDx5vVO$g7?p+rLVrFm4!B2|-PWnj
z=;w1F{iooyb at B$9&|(Oz96W=p<qXe5lWj at OgR3iZnqy4$qB0E^DEsj?1A?CSW<)Tm
zCqGeJ4*QOj`pd=m!Zban;9a&tBZOc_v$gn}*th!ef*<|0&3?_@%O)(HY1?_-12y{1
z1Ux47MrXazZ=dd?l8!D4vD-2*83v=1|3Y!K<GI_g`+{k1v}2-i!EwDzLXH{vd&`E*
z!hXL?;?d~zggZ9{A;Rj|dGLsRdUDJxwBfrzc^2+7d73U*`bq^K+Ip5JCrU3~ufswk
z;jOztblBqG^^(DZ5Iw!Pvp1g2^?S{V%HC@=&f|Mz+D8beJ at yIeA?FRAn9KttQjeBC
zba{sif2jra`@9DfHHN|05Y at A@L?uKo4R?EB#UN}oSS%S0m5>%_jNx&q<BKs7442lk
z6-!HmgKAgYQ8(UaJtBuy at uA86%p^n`2(=OVnyco@)hit3vBs&RbB$fi(9clC$DX#F
zig{N+yTD)kfiv&v-;ZzgRZdE~)Jl&zn_dYW1?SrzPLDpuBy}0hS8INZ at Ri8!urd<T
z16kR;gKj>+%mdNk#H7|1oJfSUKA=ZDpxwXljL0>WrXl~$(OxI#S-Xd!nT=J@>d;~N
zqHng9`~CwT6GE(Z_F$-Fk~&ei_G?5ZuXwz=QMz)}yIw{sXG&$cVc#Up%Ptb*;(+?t
z5S4pKA~I(GV$r{ebr$t>>}ys<cD^myvb1hh3ew2chzB<P?aYv=V-R)b&e<55&iIn`
z8^{{VHJEYP)Gtc_XP(Exh5r%@q6C+W<lu3kqHpcuQZu7qXxOUT20jietIT~^(06W4
zlUlBmF8FB+iCY)r!Rm3NCs&e!@i|tA$<rP9LE1+p8Ty+!COMQUd%xgD#65je%rV4G
z_8yO7!Uld^_=AhZu&=&&uc_L_1azg*5?=rT#V}u at TelYft~j=;B;VJS6yto_Dop3=
zA0g|YqEKAFtre^Y)T~(;m(qG}N;^#80X&%ANSxQ1roAP*qD9fFo&YoSoy?s5O*4^0
zS`nMFMsxBfHYzk>PqHrNz};{!Pv}4FCwCHKg{uK8U7U95d$x!6*IPBMA`{Bs#HV*L
zv!^P2I8NtD9v33<UTZVBG79-Mk`T at pXkSSQ#V){k-r&Wn4L at VdHCVp*rL!ZoS5LJ5
zWvCoM!BbsA4zb9V?)*P=%c9|qO_iWO+-x`<k3f8`(LEZ;nv2+2N(Y<xCnfYZDeG}X
z=M0Btw#d6MVrg^22&<bl8H$%k47KnKy8z68bUHY{>2VE4=T9pf_c;X1=>q;eZL!Z`
z?$O|kDf2X?Ar8tL?tHBOW+u(!ugzl+3D at CsvCiC?w5`8exypHttqR4C3klthp5Kbs
zc&1oX_qDda?KqCCD;dEnLeuS32&Zy1F6~LZ%kMrQu6e;~=5^pz+3^=|U&>r(jV{%K
z0pAc#FqLTsf|k9os6Mz{rzU;p8?B~bX;DLM__^rGAorj-4Yc^ooAk3IMVBY{#0m1x
zq!TN(yn45u8NEGVhTL413+`8tuxmo9(XJ%`VYpS$i}zmjd=dn^aAeORwXs>4;pb!8
z_I`h;X$1TC?UnJ+Lpyl9S}-Z(3gaUwNm8?0mDgOJr&LiDGGDw+mBR>a-(QFfcm2{Z
z%s<*ZIwdZ`j%j07RLaK#8U=zzS=`Il`yS>J`Fy-3+KFeujpH6uQkLS-AMR7RxISw4
z-W(&T#}PpKu8Z*t>nlMZ#uKR41D4#N|0fYe#Z7gUC5}-ch$eSK5Z8dbP<%Xa{Ukey
zh`%L~xO`PBI-bf4Dm>xJEGi{W;n}b39>ZbiRk38EWw(%Arz%&MPyn9L!R_Kha7>!~
zp<mdB-tq2y`W at um-+rsdWFE0IIs^yafHo*-YBM%uv?NK84- at fW?H5{X-utO}bSg=s
zN=NENL_qyw(C~y<b at -2G8$i*CAbQJz2ni}Dh}ty}24u!nzpXp}m0U>U at lSxsl86%W
zHWun$n#XO524G*9%fgTJT2!hTsP!k;yr<^-kLTDcm!>379W_5<0S~#oa)Npgkch>K
z4&BUORTKfL at 5rRIw-(ZN-b193dOs0-MQ8`lQNh(fP2#Y-9{qHbR7}JbnL9E6yehq=
z`QeS`shch5s%;pp#;$)=vH937>M#7vE&moYz~+FhVRJxj+y?4yj0IhY3s}ydr*8F@
zEWAeA|DB@$8Se9Owu9oIjw5uFE`=1HbPN?sz$!Ug;3T4(YUg5N-)LP!dFJr|;qA;b
zms)vQHATHSh9S-0&Au-~l~V}Cw;OcU at vXuO_*+&ID{L@&@gP31L6#Ei*j(em1wk6E
z7I9tth(%}SiZ0eSzf{l!WgEW*p&svQ@!b#h)$aRL1U?o|Wn0R|p+F=ITo&GU#_M|D
zs^D?i{WsDYC(a6rfZUDoBNfGaKtV0;m^h_8=3`s_%kO#u at -7VLZjUyhU+Tid9xlhp
z2W%vV7R1?$cTAqc<R2?^pKHX{wsU-LO<<w(IcMzq0?G8kVtKBOKl0S_-&b9wNl`I_
z`@iifABJ)2VG`cUJ;)8$hyUP2<C8FzhZ3x^ME4Azasg<j08l3&{;^A`atfx$ZE=>t
z4+HaFa*$|LUs}XEvy<6oW1gOt@>H_gItVU1IFBk7ZnN<|EcmA4!bXUP68jnXHf%oJ
z*csK(hRE5moJu@#?UOiL&iDBig?>9YA0ZO>^WUAUo?e&nPB(KUd%<e8#g^VjuG=6y
zvKX{?U<TIQ!)fyE71u&XkbXJN8+htkdMCsfH{(&iF|RtA#c<jko3*MG6{i5*WwPan
zUiWYIlWw12l0gvlXVk_7Dp&>9&ZS#7p3MSgd;Foj1WWltf1BPb`o>+x*%Ag$M&j2(
zFMO4T2SS*Q!Kb8Yvb(o_6dQo=fp-&J=OmMZ`c%Fh!$`&@dPY?kD%8v?`3S(BnRnu9
zjqqc=i?9HUcm$%JS}gAjkS6~1wsjl?eKySow&j>nbZvU-ilids<(fRk5jIe!b{DQ2
zie7IXN5g)y at 1F|4IWs-}ra!}$<2ZIX at X==sNB9{k60gQs*S8VQ&aJt5DGc>{!7}9y
z#d at SX{g<N8#nBc?E$e7KpTh`FXHt4&og-ZjSMjoHjJ!5|j*l)t*0Cq`eP56gt+!i@
zD=J>$Tgr90f&qx3r51O#C_M|FO9*0%O5b|+mY;vS4So-<7jfpX2ir2H={~7D^JaNU
zXRTd0t`|txt+vH}B788BH%|KS7gZ_NACmdH9Y=A>NXXxg7(%k8rZpAMPp(zQdqnA>
z{c6;dZP?aok|miAGaI=F3eZZg>m#Sz+xT1P%VmjiWcE&Ogd>K$Orn(0OaYL4-dAl|
z;EInxA%lW&s6z;|yM_t+HbCvif<3xqI-9DQtfBOPrr1G!-%ZSeA;m_S#FLj;1V_t$
zd~r9~zEeid%yC{~-4&fHtZ(Hr<jM&MHfGto<xtI$G#!yG)h~2bNY=QA$xG^NWz{nB
zC{Jh@;z at imI41*dYirzv{5H4k$#?Jek$mH3ln<FHT84nK3B6(6Hn)X)1&zo-kcl%$
z`$KxGA at l?*hpP?<+EJwnHwjl)zaKq2*N)+r&R0G*zb9d{Yj6{N3^|0kr+$<6HkT-y
z;X62S2bTOxk~RHdW}G at -=hu>iAb+ob7+EH=xMQQFIrR{j0G)cKE&jk)bVpiE)J~@R
zv}?MfvE*C{l5lv*J(wUGN~?OkIyG0JuzD|4Zy}gQmVDYG at 4{N6IX3BM*-ze`3pjQ2
zk+F2y24#HSEyn>l*Z|lO1GkMLN=T1R&AtpW<mbLEN}~Gaqe`bDtoe0E3Ez<Oq11My
z?!`Q>*`bitFpBQcMA04Nsi>e2*7S*KDg5#b1a|49{0;56S%#2sOiGeYQu<Xi=v+f`
zAxjy@)!{l_eVib~O0kgHEWm^kF+%a9I)~&!m?Mz>j1SYKpBUALNGCn(%Z$C3d#zJZ
z&P}Z7yJwN;j;U~>GQx!3dVJu9p8YPm6Cz#X{hi`c#DYUy;az!bzKOoZw>MoFh>bL6
z58G)Q)_s+-uDSTq6q6_Tcbqk&5|2G_Vn5mtBXzJ!r%Un~5{N(4cdoC+_hPEtR3GI7
z2W$p+Iu3oCO*F=7vS=)L=3UW<41(oWrbsQyNFc)KdIRxYEIjPP0xc6A!QW%?JzFIO
z$f=;M4NHaNvzXt<XnXfpjy~wRFVv11dx;NzKzW?-pT>x*ywpQldAL;|(h&Xj?DJ2b
z`iD6Pow_a7&%^QDdB0$;9RX1UE}6R^S1h~$V1qe9B~X|{<Ygt{i)=xW9rIpjtj6Xt
zE*k9TJMq4}wIH+7%m>gNT5{7dOxe0(Ae`gE(;NP3(u256b9i{t?1jihuWa?kiYOq#
zp}2_`8K8fv#Hl2Gzrz4l9)0;XvQ at xh08U)?@bv<;!oPiQthZdy_rx{&D-)FC6UD-|
z7X{`7*OY(ZhaPUnoKR`Rl~G at Ks`Fy~7Ht3WhLwuuivs-m6!0j_y5WMWhzGf0&nPLI
zA0D=*J1WUKvqK$|Kg-7}+x)p<_-mW*-fK`61JTwLJ8xeD^$%|-X-)BlfYN^Jy#B>$
z9mpR)YsEh!IEg(9U!fHRhM`ZfJ8(i|<hg#SYCGhIAndbLyiqvDC#&4)Tq2m!kHB)Y
ztyzyr2AOtEM?8?K^L~T3Qgsm|SIC+}I?9~|GG9s|R$Bu#&W9~0lLA~9fBB%ANp2TF
zEreNaa}AukpAOQ8_WX$+1d?qoQhhnG<iManqUQFwsTEt_-`7#uX#Pw`?zE=@G4+z$
zPjJy#@f?a1qo7tmE{Ll1EI;i(>9uX~DGTBhH*9Bd$~Y|#@Bowf(_4i*QbP@$HSd%8
z4RnhdYP`~Pf}S7)n<Vt``RF<8{)*4#qqvWf%F0;HEpw8NP#jHTu`zZdBme=8X=fcm
zE#a#?Wn_a3yF%qJ<ObWQ_(4;*iIWp|6^jir=qE8M!*3uWR``~A&N+|^-ISi8_3NMX
zE52hl)k(h`^E)<HDy<6tEdD)u2+A6&*W?iJuXqQNefznT%l801ZTk^{)8|jTyN|pt
z8~mr6Zx3Xg_uU<5c$`8kV<h7$hcikMzMu23u2C=JjHACR32i-QGOEM3HJZP6yVV{9
zMRx1_NkVqe+&t!qm+melkUa*KAyrkH6X)DU=X+X23e+=KUZ(5m__6{c{%?xf7CLKl
zf9!@oY?pKrM=56JA2}u1GA0Mr*kgKa;@1G!FODq4Ppr%X?^WDgj`H&p$1YXkr at 4;R
zH)~8i7r62Aht;`XFTuV^B5i^0>-23jDE^|g^wyZyw1u(s%4B2fq5U6`5s at eHg2Q^l
zlp(=}mFEdvRdYhpxV)sp1|J0ZL<c(Zc1K3uuHPeN^u~KJZsk`gLSlN at e>T{SMV#it
zJ|iZdnz|+(R}Qw_qt^-0VwY^ad93m_eWLS;4iOb&8d_bR&<o0gU$R=wL%Y)b5%fqS
zSS7J#+7T at HAy<eIOFFTHyj9 at o$Eg(Xb{10k56#qI*J=&Mr at ENA7WX?LQ(o)4ch2I4
z6ovZvh4!y+6LR{&<RP1i-7|+f>B-T-yrsgQj`VdLsr{;yJ8;Y#xeBZLRJXlW at 7oG#
z`*>(W3F+5Qm$y8$%1u<~en;!QWVDpoKD0bv%HNzsX`WyS9tr at UBAoI;?tO2;kU at pn
zMp=`Wu1nDZq?$TiGjNSql7okL+uD5x8p6{nESj{-08H0#9a~_XhU3Zl34$R~V`_u(
zl!Gjnp}C9Rz$-k+Xe>sQ`+0Lx>;>9M1j3>LX|}iEIc(`ifmI)AXN-rR(hC-bbt at x&
zGrG1=TwIKOmy23AqE4>zVH#O|?(a+%+9`s8q&T{*#mNSL!6Gm_fQuXb at 17Mqf~2AX
zEHVB at Mz8^D;#89MCL7~&f`6nn=Zxkm+y)Qv5%!UN^iwLT<RqzGN|8T;mwVYpPd!!H
zKOHb|cJcQfPu)Cw65Fv<^3SUy`^noYatX%N8MBNBMMd&mwa)R7`}JeSw7%???DmR(
zf!~28*jo`dbmk{h{$yJO-;Mq%Nu!XU-%MWH=eP at xM%l?0cn}u1b;noi`gr19x4cDB
zu%mO(CPBBZTNxTEMfDVo_F1GdDMG$dpD)H`g0!$TC38&q*D%m67KXT){L`{f)^RY%
z5Ia~i9-ICPU({}Ah8Cv50$;@h8OQhT_lW}5!odCT17Y<rRA*t@)6WWY^V$&-P(%G5
z-0yD9C5usL$Ejm<wz5)gdw`ui)qh20qE>m<!*BPd`cB8U;Z|wUJ$hZm^buPbli@!R
zTc|$v2W_}@Eg(ydSK{<hR}XTu$P9`PzpDDjM}{!Gv|~(S5Uz at Dx_t{g2 at H#1!=GVF
zBE{^tGb=laErP*H5u$JuEO&EaqJC6u#4hY3N78+`sap)-`7Eu>V+^9n>;(+whrEML
zx5efwUJ&<5f&J3;u1(cqu$|jXI4&M+lVDx9M(SHThR+C14Tv9OMb9L(R|whFMD9iD
zz4fE0U`u(FnUONy8eIXg;t2+F+sWG!j(xF8e>VwM4g^4Dz2sCE?SyL!omwAj{mCpx
z?)>%h1r^)FA?($^UUy8t3Hi;}#yb8%S}9#N`R(n|&q92yPbE{xgB~L%j=y&zOVV2W
zn+Ie$7y#WlyN35nhf3CBLM(u=E$pd~@%)K|vEOzmW4>}3JSV{s*wx5uuz8T+G;AX(
zUu!U>LpP7x2`UGbj#m=^6&^>a!~ivrMn#AWV#F+<*hIlqb`AWEt9$XgIC-Z1;ZCy9
zMlD8W8Ip#{Pf2+(6Kklmf8EqacrkWPOQbPyrVNyjsAj&t{L0NcS<w5TzS$^wZ%`A|
zO*n{Kw5w<_-Z at BVG1C4*UNMcr8G2C;+v8(Y`vQvsG`CU*$loBE at -B|?lnon6_0})v
z<*A^|-WSB?9o9GC#xy)&vuPaYx4P2;7ZYjz>slI)TIlcY<*_*l!k{s_{g^m=dk?8C
zEn#0}LX<HtUHYa|w at k6IOlmrhKLOOKF5Ht&Swug5PaU*W7Z;`8n?1*E?>2FyqPMT(
zf*1@~sTsxB;wv&_Y~=HU%uP%4^ykNtVxNooKHjy^o%#Ctfiu#Q&L^@d#>%io-Qzp6
zC|^+aEY$8rg5#(;v<7=?<}ll+c6<~cd`L#D5LjE$MC4zcPj<$Gvr#jYG`rL6A<;he
z!r at muu;r!d6fqp&B0Pb^P7UX=g=TFq|43TN>HaF)aG+XKoapc!wvcCb+1t4-JUiGk
z at qPX`G9<@;BSW&V{V!<$hYZQe$;$jc-2MMchGb%AX5#vPk|AT7!4<PF8t5W*>;pH4
zh}w95z>q!%Kfia#B<(@K+}vQVQ}&PpA>7<LovOQMXEsi|E4-qp4Vq%EzdJrkiB;5%
zP?_9V!KJym{V}!DHD7 at YVb0IHfY8xh$<fi-NvWw_tm5%*cMVCY<?^B`n+rjA1%3_b
z`jZpZ$!>vxwW!!T1C4d818c4WSLu3JZF$qu0<oi`?*N#bo%cb*Guw1BK~d9y8e-uE
zHAtzMBq$g#tYl~q(@y-p!RIpOfi*om+OfV}A;Z@|^{S?2ae-jS32E~9(&ndz;PXz*
zP2s>izBHh;foTxOBI4552M2 at 3hj#vs&krky#{%#DfolLM1JMhhzZP`r`wb3?Dt8$G
zsECG+fXTBpxq4 at 4&nN^R8yo`v0YhF^P5Z;w7$9&!I_1Fv$-*lpB|uVg0pop}&;l4h
zA^Li~Kn+X`zZBa1yZ~rp8~b)<C at d@zUKA*h3|5db{vpkHh<T(`vtajNOhB@@Qvhbx
zdM6jKkIc4A&CT?*K)COjEigi=0uV-EjMtlc-D%ybY{44YniW^Szhj>onD(h;xKqQp
zS62b>gc?P?_b9Edz!?FX*TbK+sm(6-kM_539CdZBjIFPgP)-~arf`r}W*m9Zuf1}8
z#6<$kGK5fl;{yW&gEKHd+ at StBrs`9EAsR1^Am7!WI=^cAW=F?=6am2WAZKPaz+eEO
zdj~cLNDx7KTS0+bKk9EBqWT7qsp at G#AeFr0X3&M)GXti%gWs5+uk<T9Kz!)8m-Qf;
z-|ug;eh_<i%x=zg5AR0bFCWYo72y%(mGgkg1HhT67#<%mf3z-;IJ>JW5CtTTe^e^u
z-pj5~vRoA)8*Gw50SgjV0_djK5uD?n- at Oaq<zeyLi|q^ufG0DL#M>wcbd`&=YPN68
z1PU<x^22}Z)%ymVeAH3`T9E*|&{7 at i>tEF+UpfGQQs$b at rpMPN5O0Gm;q5C8XJBgI
zzF(##Frc{sM$pNM;{#Cr7dYL2RdA?(;ab3^$@Op3Ggt<VPS8}<H-5BV1lzYZ6OR>S
zUPEE!({B#&zOjjc`(Ee0ZstbtT{w+f-tTIVz}1spte-8xod#?$u*=i?M?^(MU?9V~
zN3U^m0rOYwiLpX at e)IJMnUX_FAg+M})yyCm?4Jcbt_C^&5Fy3Bk-uOafYZbPgtkD9
zYXn1}2Iznwci<^xfY25#km<NUI9ea=6J$MbS}}mo6{vBFU<lYC<twP~^4<?IO>Z9o
zq><)Z$iVd{iqF`2Pw)eT{0Vwn{sa}i5I|OI?jQr!*#Lx$xz9hb#W#cla5K|;$N)My
z0AXG6x*sBB8iF^-6+jd4G%|Gp at ZZx11_1Yu>wH2weuv<0>wf1$rW(B=K*icUg~92@
z{Y_0md({Ti15H-_EEC)K1P!FA|AGWdHGDyUsu})9Fa|gKjvL!U8M%B7!?A|_9{3W0
zo7w&shkbbg_C3M5223aDS5yT^`MwbUl=vmT0PT&13z(<4<w#k7Q%LPcpRtW4-17 at D
zI{j*W>>aFc2<&`}!*2-GIe0G}HK5SQ>uydj%s$LL=j^Ai*}M42P40_vY-Vw2ewV<s
zhxe203yZ-rJ_h+*1il?%4&ucH>;uK_KbL~pqx<=p>P_S7eXn!e;<N!k0~a4&LD&0)
z_<qu;(*Maj#|toyg*%ROc3=DJ`@%e}z1=?({{5pOh+zV-*V{WMm`5 at 9>)&Z$A(mg6
zoR9gaPc>9N<lziLzg7iawKKPPZZ3VcZCu$cl{1 at G{{?+3F;$_ at 8I2Bd6UV@05d*)3
zP0TIQl@#@Ej(2VhvTCVY4-uW*{x3On{0P=x$Rx;26|gt&J)9qw5bMINLavj_$K0KF
zdDN#y+g`sUJ=lMx05YI{uPLop?<ab_=<*L at Rw5M=s4`3ZHG6l#kHdu at l8n9ue%L~>
zxju14XED2vQDqOnAHU&D=^m4C3!=OJv*XpQoITwPnTz}zBM$Q&!pSgWL&8}=4c%?N
zw29MH&z>nWBo^9mJf8!gyR>zi(jFciqhy(|187)t#t!TR&U06=!ML}C--mHY>XAAg
zTX&qPS$lu<fe~+?iGEQHBGNi7qfZ0JQSa&baILkC)|V<;)y<Q8t1NyP|HGKx?Ax;3
zVMf$T`Q?=4it{85ujg;{g&|v1T0xJJ4r?@4V3@#C;!w52C{ZZXCu<+_w#on at 5H}gD
zx0shb_U=bla_1)CyeMFo1u`X##teGK3Pf-j)!=1 at e9v`uhe!30FUf{2LOPX5#;?kU
zBP2sawq+34pUI-;yGWUKoZZ!{M_(Yxv35)(BBk<R#4bhirXH^1Ajt11!#&tfl27GN
z{3w<n5S8bF&hKS%+M*KYmc<xR72Y+sa<*vANfvzmSVeX1{oZuEhX!(Arjup%uc{<)
z`7Vo>tdm*wy*BBEMWDMU-_ca9$L!3NH20t+V#^8u<VLK7Ne!e at 3j4<HrD*tkRq)wK
zrBDT1TyH$fKA;Wlw7n{kx_OZlTetkdAJj+6Kc7i+hKJ=N4PfnW5B?k(>>D48Px)+f
z&dNQ!xshlP?-*}EP`U8BQ1!%K=I_HC2i$I~;5UBGNr at 9pFj#!=TqIx&>m`<NH^ymO
zks-P{+Ktdk%iEpgRi4kEbih#k9E at ULJ-(><i4ry+_!0`F0K5Ee`++5Ed-mO=+kU@^
z#36KqP%^^7Izf)*JqZgEmtQ=cCR5-a*ZE<5n|QJcSxM%yDN~|^w3ev3eqBz*q~{|-
z_Q{!j6-4+$?a{$|M`0H0R3+4Uakp5FDwxlN(ct(4M%f+U<m%2iTu7^$-z^0X0d@{<
zBLb>$r(Kf6s+@>jJz^u(F?rX790)2Od!56%m73DTa{CzVo69t(+07}-Ckl_xgfYM`
z5Mae!m%Q=3a9gmOOa=QeWdxl}xE^%cDb;G+S=b*Ct0mogS86A^RY>;M{BbhEfCa!#
zA#fZO%)WZ;*r{io1g_E(ne$rIhdB>H56O2W^>nN!h4)fx9aR|>K_g)*?TORkp}8Gw
zD|Bt<N;8o=uQ*9NMx_bB+Mi~|Mp($?!uoGKv`vPa^f?8r9dl&r0pp9BUTdri)V7}E
zv at cx5e3nF9#RtZSl_W9Lz8$c=jz1`6)=BP){}lxa*88JdMc5h2w#!7h-LT&02A&}h
zy}>DxgDJvSxg4s!gKTYi*ayf<%KRKT5;LH6XZ^#(n-pZStWA4I;Y{gLZA|9tk4W2r
zNjF#oLV{Absp^<Zwajl{kL9sQ=oF7ZeDd5q!>O|XpzGf~q;Y?t!L6?08&Ws?JStCy
zui*Fr)Mdx2xKh0)t%$o9b(lgEw&^<3{d_|lCCI_6G+RZN0)y_C<h(i*z9r=fXBFxx
zV}SGVI8<UCJ+264xkJ=k2#<)R>nDc;wjD+5M~H`eA&BDi`^KhZd3y7eG$1lm;447@
zMvZq0+;Wtd$qIt`?0%3DTbu0bF=p!F^52?;7uwp-z;)Np=FP8wc9=zG;aH&hAaX}i
z(U1J*&{w<FV`i#QZ=*Hoo^4y%(B4usrsu61s0Loyn7C4pO|Fo0*qc?vDHD^ycq_;m
zE%}<-CIO7xIAosflfJVrAiZi^gM_}=j;kbWWjeIq*eHuzg!N^RM?`~TuY`%A4(m`S
z`vSsp?xGAtv99PY3=%}%I0Q%VqrC)De*Xe9KV72PUhAe#A2dIEeqE85@*NarI~$E+
zbWAq!<+vAHMh$p-*+7P#K_oujJ+Y!5|0<KWx>zk%0=2PRN=BKdP#_3&mOt2+h9!=u
z8T%PRauA*y$$0^(9c<IcF~=O=10r;S6^(0~MnZvp;0}!$iN9!)OlP>1`Z|ztWLKOZ
zx|$8}z$Tg0qsHz^Ad1iBTGqJJud-G3aD!o{DO;VL_UfH|xyUvVfGC0`k%xdF5W4Q!
zWIs~F|9%S9?|tpz7Z4QuFdbeCGDsoIA+=N;nJ_ at FP@nI!ibCF-e70&lew&8&O2Sr1
z#w?$V;3e!Z4>8o2Ub#dBQM$jNi;!<Isv;0>mGrzrs488bMt*hZD160`iAeC0Wl?)z
zl?i|Dt_;J4Adz~U0+IMl+iKH2v3p~8s%nfmT}P#7rOaWVI%}9aF_$#b%YxTNpx1&0
z<vrc at H~p6)jmV<0tQl%li!#A;vZ$Ce5r`5#I0m|*+;wirZCMVrF$(QKV_p4?DMa=9
z at Cr8in);-`y_#x%cM?UhUJgm>O|FP92{d|i&!oCjy@#+uyZg%l=(HK&BnkA*32#+N
z%WRPxmW~s~052}aX3PRbQ=RLH?hbZ1N;S!G^1K#N1fDNM^($#5j{uV_o<l7G+DpGg
zw?D)uH>|ZJlJ`&b$>OdYu(f+;H=RUUPxPZ6b1UE^eu!*)hBA7Ff%d&QHiLHHD;Tcu
z<Ru;5&SAE-cDWEGXhS6klW=R#c6SL1%NS-iWi1h2s<e+Tju1T%tjc2 at yDG+*EC(&!
zI_*i$)i#?XbbP>T|B$pB^D;Tu+Oa#jdo+=ScNYP(UH^kwh!Rblo&KE+dwHA at 8Wve*
zkIP3=jdztJH+-Y~8`_f1nN at BM`eqB)rdP$D4Lj6lP2Br*`pbZ{`P?!D&EjnA2w(oG
za4_6`ycp~cAp)==<Aw2!&MXLyvRKn)4kguCU+*-!m9FD(bw0|E4ghyjT73g<LBP)d
ztfc9Sw49U6)r<T$8OMh)N>2)e1G52_l{9rKT1y~yPDoYK9qyUu<sij$85(NasJ7eU
zcQmYSlBLD&Cm0{3PR+++D?^}sU}|b&<zrFVk<uLrp=zsy{7YTl+!s1$>-~l0CyBZ7
z?y-iOAid6BwfE!)++A_wFC()t^p`QmYM}-$^JZ&`u}<o?EOmH)(g~NnccR6YyPdHu
z$K+72mABl>W3}!bsoAIEmEY{YBNJ$S?Mec*eeyfvTrMnp1az+<EGU$fr6mQ~tB^hK
zt#xQp34h!X{KU51MlBUgf<_s_f>w=H){}qisc=@Mbh{&4Zajx3N_2ra6<Xldn9G(Z
zG at p<X`}7<_$&<awP}mr&WZt>0$=to%;~3yp8K}aUHx|>+P^e$-X?C2W8#YMM+C6;A
zvsz(=W-(+4&$@j(dka(gUEkena`RAn8=8<gkUx2TO_%H;h09;X@>xhX7sR1 at tuRzt
zuBx+%T-{LX<)vV&^%{JSEFc$hO*e?5sa==hL5gdW7+v&BMN8bswQG5`yTN#IKY5mX
zg@;CFvC#%b2^!527<uS;t(9<VG`+dk_fQ5FU?V#b;_m5CuNHp#&kzmZM)+cBj+QmQ
z9a>GSCPk;K$PP9wzjSOeM|Xk42GzGuuzhR3j<4iPMKGUo>-6eL(kT8#J?HE#?CesD
z7fTa4)%4xXf_XH)g*9pW2ysfxC8D|_oR?Zi%$FmU|7MJ`jK_g^Gn9~u32d)F+Zit+
zIl>4|*D<TOBMmA&c`!+i at zS~l>99V*#Me at 0U1WETfhc!pKtu$dK2qRkM7HmSo8VF!
zcrZ2A at DYyM`C2dd&|{#ZBZ}}ewOW$?e41%h7d6q7mc{NXRY2Lcv_|H^YZzW}y&ySD
zqXD~sU=hO`y<cegrb{Ql)Sn)(%zFd<6F*(`*uzLu)6Yr5!7F7gn8F5?#AT-4BYuHK
zrZ+m}+SF6WXbA(Hf_Yc6J6jcOhNY}O)!Jk`#~fTCQW}_?N=3fk at XzQ3O&{Xur*M6t
z`WW2uTK3+{&RwPdf(#-MtHB5!QXWdx0i}L|&W}iqe=w012-RmB5^nHE0PdF62pJ2P
z`gi>=FPrN6wv)zCm(RO6C6IrCTP^JaCi?`c>Q<@kFjKXewz=JL=FOVNlW6J20T0oo
z+SOc_jR$*~`^wCORjn97{7qh!@zyM`c@`qnyT#gHh<DLe^Eutqjf3)QHU9OLRi`2P
z_M9)QHjcv at C096DE%1j>vS-+?@G<S+*|=#(Yog1Hu${cZs(P}=ft at d=_vS_*E2Whs
zvL}s~N<r#C3dw at 1=EIFjd*a<uI-z6BvX=5njc2pZ_)atTuozFRboj$(;bozc!|}%n
zpsF;v0D<!2Sl2>+Zzm at XoHG`mu%q~8*NZS+%#Sb*h=p$-5cFpTf9?vMt}c&P+#A;0
zb5v5on&kLxe54iG*J6Kwhtky`zdZLy8-eWiuT@@YnU=Vtf_ZcTbb4^(+o^d~FCbvg
z**8fD4S5BV!!AX#9hlm1S;<WjQsx^h*YX8tGg4?^vD^kwOc~}d$oN`@kH6n+cg)>N
z_fXv=1Gb!VDxhL6G+4B>!JQhtThS(<im2a^<v~6#Cz%yE)WP>kCpV_W1^Mfd7W*;{
zk>lCL$PJdlSoV<Cfq%Bs)4FU_StA+kLcXbIE+R}yV?QitB4BJ9Mfa_m^4llNEoz#e
z5h|s^35O!=PcFOH$KI+9No&MlxNh26hRP+j-Gj0?Z_K%a6u)?ds)bx*V at SW*+{Ry9
zynIB78~G0iD!L42>5^+X9L8c~wMt(#^ig^Aw8~9nKjjU?Fq>&s#GA_Nq%bnH;6FQW
z%!#`}KRQ9TNPce>H68P=Iwoo?!*WAb@}Nf?oR$4?t at aZgFPRV|n~vi|)O_6LFF~HN
z<<6VE_6ewlt-I|4CW#0R2_hp}4v@;Lbgm4m39~q59|hFyEK&S3 at nlejF9xiNX~p2T
z3zpH-Bv(X~0VmRcUgp6Xb=Qv!Y^p!fRx`aS-q>W9Ecq69>9F6{+y2K4W at aqig;buN
z4jD()^O${A(~(svtyi>b at 0McISFUQnBrerj9dU$)tgDm!dAFapUW>i6jI=0Cu*1ko
z2;gL5bd0?BtgUGW96 at frcFikG0E>?VGUukb%Tw7aCGSW?ZA#Gxmp~E?V~XvLxJYxy
z;uiejj5YsXopNI|x719DT1<%CrFtSbK|Qxn1cv>bh5`Y+*yws%3IGdG;vyd%(a!DQ
zzSRyyayBfjjr_=^mY9IN<L%2)H|U0X at t^rQOrJW_-J36O2U)?kvh48LdQOnJ-Z!mn
zl#quNZ$?s6Y8vs8dBu2^ozoX)Gf7;hML$t8R@;oi(`yxqoFF-Z7~`4QI|c)psZ_A*
zA<@<`V||B(ay27!0I7>cv at KYuF<D3qVdRXe+oso(7#wCjy}f at 9B!j%;&B^70Ca>~t
z{MvC=!jhjrmF$S2y4>T1hVYE5d+spV2GU;%OvQBce$H-9Up=DZ6k)=m3$U-6<;}V1
z4E3oCZO<nHb!OUF$=#@Q5u#8>j at TM^SB{+6ItdZ%=%txvOFADZ6vzJZixb#=aO8#x
zJ(@^7JH?DE`fU{=iF~=P-h9$48dJqt6 at R0s98?u;pOq=l6R46cgi0X?yACw4V$9*N
zf_Hb*{32Qv{0F5oeQme;A1&RcN%w>BKRfnEHIIpz%D=hMtQRFCxrwflMLI%)S+saw
zn0L(}2TzC91&^<Kd8QLvtu(UwBu5CP=F_=;f`w*F)x6qfjK67K8pddv-Et>cfrxtU
z2N6-Q8H~WV*y;CiNF}VKGz?dAtj`2%-}e_NX|P)>+at916q&vGG8NMQ_GWMPSR#2p
z3O3pq)Ke^p3g&JK$u`5j-_tAWjROb&?rSa+tl`6N5Oc;k+NvkPH|u9My_xt(a3|y$
zq$KfO-4WVwmm!rkMjG at bFT^9T_)|<hPI^ZxfMzIgvNSUAN7(4!YHFHq{pA#U5{M$K
z)6~RHpDo2u at kj07;U^OlGh%3IF%yx(+&}#%2p`uj)vaVl=I309hMxYbwz~`RONMdj
zgzCR-r!H8PD%M+1e4-2%Ky<4sG#wvu<mkcB+_92oI at 4?S%Yu+)GePt$e^)o+doI?U
z^v?a6UgR+8&CJWd4xVQ^k%(4^syQKzig!xZ_(&<?R7iBUDz<K>^X=KH%D4rOtEXw|
zh!MQHH+WGw+i8sp7fK!Gc?hxORbVWdH$JxbWt7BuBTTbJf#wi#{*?Da9V<L4xFzq5
z at X3NL@<DZYJ;A at ah16E%c2&~*=4|txis=_#?kN83;~Li|5R25!O-JdikK59JNs-k2
zr~Yb5_vdX4XM}Lu(D4Z2mGgtzaLMt<OX+Il)If*TbEX at mxMGz|pMVUTxRH_~(6Lg!
zJt|%lV at w_S4?9%jSnZBoU}zbsrLW>qE7o#Vu+7ArS(Yp at RRzn3p5&VrK++VSHRw}Z
zU3O!Z?qvYr*xtus)-1|?i&!jm!Q1zGJ1cwP2S&NRxPpEZy3O^a^quRM!Y*}dVQ-V*
zG+|FJ-6W2%jV6~TZF<o*BSY+pjE?8A9*7iqQ$D;g+6KE%chLNnM8WS at x0COiYuZkK
z12vi;yGKo~+hO!f^`2ZKYDZRAi^kG}!l1GU1IXjg)4*&Pnrqw_4*2FN`QDyGCh12n
zVImK-kd+1KgUq}=U#-t1_h2^I{Z#@#A)~Y|%Wd&BF3=W8 at nlR=xaZL^*Gn8N#v)d=
zt5-DC<PObQPBYg#ZYS7a;q#lt_*x#cCeOMWT(yzMr at UVaJmvSW%e$n2 at cRzH-dS;q
z25`@^$6JwkLo7S7f<;#N;14Ti+Gz8SED$o><=j$R3orJR6vH%V_D?+6@<^n=N4ri?
zgxS9^uiaDmP1xrHxgCK!<k{0ZY`qlKWIwNMxf+M%eWY>Sj7ob|Iq&H*H$4>5#z+*O
zSpb)HB-N2J(oqs_DqAdTmeaSIZ(Cn?&_TCr3&>m#qB*_0MVE>{o~s8l;HBhVc(~Ys
zYi_lQp=j4gH64L1g0!e1|B`i|2PgMp1;?yJ^)CtSu?hg62?pmo0u4<<iCS{iZ0~`*
zs|ib4v0J1LoG#)^!-V9ZZ)D^F`f*Jfe*UMicL35P>e>XmY`dz<wr$%s-?D9+-R0`C
zZQHhO+t$=Kv$H!9^Y6~a$;`OQdrzFmh>JYWbFla%Fg(^)m&$7tP%gVFqJ6R2i=Yi2
zJ};zmh84)CSRTYTEk)lA7-RfzhK7H<sDeXYP<`8b at R%`ug?r=g+Tl&Z86yZH^J5sy
zq*#kRghYfM at m`#Celam8)MtbbJiC#!>y+M_W2g at 9hkXuhs}4Abl8qOKTcH1rY&F<P
zlF~0QZK7aD8t5k1OE at d_Uf*{>Q$RhIYCb4el%af#I*$0>I!!)MHwg5vshltKF?o_o
zPKlK9gxd2t8Pae)FCbFCvU3xTbPha3+8j!#9E_Z8iC8bKnWiwAZgWO_Ws>*#aW3v0
z0BWf!)JLU+{CfN}a4ZTk_R06-93`wT?b~ttb{&thG~1FQ&zLHIZswCe<<gVQrc@=`
zQn|C}debi`QL`YE32nM&GY1+9OWIMbT%x&Nn|WFMTG_o_ofq_#*t6MM$s#1SVz_fV
zB9!Zgd7YhCujm{k&J=w_Atm&nMG}!!ZKzPeuT{|?qmBE_#kZ}=@Nk6BE2oR*E#BL{
zdsoq)2}o^(GVEvwM8kL&g^BxphG?lH_#SOG*Sab4!MLCnJQM#&%Af4uo0r|Ymio%k
z0V{QFNt4ITePcVtW^$Ite3jVeL2*B>it3uoFE=hzXs$c|Lx(G<P1UI{%ab>ImKrk$
zDU)#S9Hyl3@)|>tgXL*#`Oux2wDzD*iIQeTFd_cB>^Dvewwf`KtQ4}`cZi&0HlWaU
zpsD0NgHgA2{dkH@>+pOcG3Rf8YBE(Xowla2-A2-7liY17?`A;*El39`-L)TM0a^hk
zDez})TE#!MO-Kpa7J!6_=U!e;|Iy6Fp~}~kU9C at g?LX$JMKH-U9RG=Nsa*^s#3TFO
zeofdZ%&Q<y4rl+-j07`SDreUfQ?!vbxR`|Z4$o8Kc7$~(bjjZj!B#lUg70cJ2WC|7
z2Tf*$^cYW9&XIIK_t-ZywT9ak#No9yj;lA4BpxxVsrkt4iHlIX%ND=ckv?Z<ghAft
z+>6U}ya&?;pW?T4KeQd0XdaEeM-)OMSS?7VOFAF7YL at h!#!xVU1%dlBw>2PMNccUI
z-V8ddzregbRB9_20?(~eF`J6Q;g=YGhFVz#wCd96==H at 0oxy}D;nus-{#pcV?b#fw
zFFO*e9h7D*%YK{nwge)6ZBMZb5ScYfRcG7!CEqj7$TsY$Pgl;A|It~;nWMpPj-j)K
zY^5>1i3Hs^zS|Q{q&}cgHsMX>CS(NTA?`Htbwl`!pnb{(*}jwJM&qisdR$3FTE1U|
zjJ<2R%;@(dx~+Tp@&FdEUgA2LJWQ7r$Rx0c5E_8b!qa4^{2`)@Y<_gBpzf~pUZFbx
zpWd3BK?`3lKbFM%VEE!au1dr|w+FK6d at IAi_0IA}R=Y`GxsQ*5`aLd<FSnCL(o&``
zj|B)LnxQhSlv>xgwW*HUu at LSLGI(C=R%r7f2u at KLwJD2a?e!%OXn8xg92z8oU-aDj
zx^t?#-`FAk_b~gl^Ld~|`}g#4zq%(m2ISatfBW(;mIC}n;DtS{NK0NeLH{IYZeV?L
zjckd&k6QDw(YqmOtmt5R=_F0_oPGwGyTFrsgAqMRCP at Q7n@h}9W at aF^34{~{Vnk4O
zD4bzVsp~uHhv3<^;xc at P>H*v`3avb*SA$FEJF2UntgoLH5(w2d73V*{S`}h4CQY at s
zNtUTEl6RPcJP#%{3|ia+MXtLYz6cLUL$|`jl`_Js5f$Ok2%@gK%??2hhr-`U<JMtn
zleH{FElwY;`22k^+PlRvAks8DA11R0^SV7_zw4L0^r$hx%sw0RS0w^N`3uJ0F?`jj
zK(GIqe<ZicG-LB#44Byipm$~lIYrP<=){aTg$wDb?v`}76pW+q&<{3uq)nD{GE~*z
zHyO6>3fpk8JthYYX&z!4S`TJe7K!78`RrF%C~l*Rbv%bW`*DFpZD&o;BQ}2ZL4o;N
zYB=wAk at p>Fr|<i%7pevH-H$p7<Y((bS%>sOH?E)YrSl<oK{^suq!Su?P+QtR84cQ^
z5^dhGR(EI%E{653c6~=w34gn~$Tm7{&+T=NOTMOIDGQA#YtY%dl1N6Xs|RDAi2V at c
z-}6NiZ~R>@jGJRQJvoKNxkc-O7%ub!<f|OD5o-`f#-IR#X5wK-{SyND9psX8LL}^p
zHusd{MLg#KVri2hREoC<bkB-Lf5 at UHca>KI_kBtqbM4k|4vXlEn|<2|dnG+V__QGS
ziF$pdiT1>MmRaRtbl at D_IRegvh+BY6Z)Lp*=Zh;9mBXH7o_%vZ5ZvzIH?3h5hv;c@
zJ;ny=e)a8<33j^T0e4Qs2VhE^XXeeOV{}(y7H(la>MW%?mdHEd3}|N4>c)|%j8%#m
zQFp2 at n#<p{*DzbOooT1c6e12;6#m8b4L!uKpyAklVg(?Y(T9bPoTnw+!Z<Rq$D#<-
z-4Ani4_tdO9Lk0yr`$0AS*2&!c=ScYC at YA3{;r|qn;Lc;Jxd{!KLxKTi|hT at wNzjD
zn3j0DYqrDKF`T$iNF~ER$w<|>P_8}hX!wXRSK!yp?#6?oza)}cD8o-}g^hSeqxkxe
zb{rEgzHBaU=@YU1<xr1ybsB0Km2G#SLj?{^zG8K+L9=$gtHp1hjiKr5dE(gP8qzli
zU#KEl=QD0xR-QR=$MNfB$yA808y`hTlua2*Ug*fxFC?gh5Xw#VpM_G-KeT9ha^owk
z{I|&*gVGwtV)M`BmQ78`0Rok?m#fVO?2}g%xF9tBQb9i0sy$W}E6i6O;QdO3%aHa^
zngcI=vUUcWFEbMD?(xn_n7Kb-XzTmo8Ef3(q*uMdtPAv6p6l=E2`hb!!`!gC%*rX{
ztxK-5z#Aa>THwLKa{7uPWsq{8vhJF!=&cb5OGK~UvM5=hZm8E$8M1D7!_dDF($baV
zh%&LB6X_J)QJ@^cdGF6#!J9bd{Q+E#5^$iVF*uq?p$8a)KpK5_L^62;O`_|$E%i>H
zkDQ>gs}|{URF!1Pf<IKDjbx{>{dgfe7if})+jJYB;`)k`Ypt`9_1Y)|V>2v{5Y9Oy
z7XFSKmsmJzxY#F3T)M4p%Ko9QQe76=)h*e at F@)9e4F<)E at xX(Frz<g*6Ss?VctXm7
z7TB3{cI at 5H#P#=7Vi>0p_OOCA{fNn{*S&;BMW)I_q85LSC`qlY_#h~@8 at QTZXRus<
z$WJuFYO8cj3fsc95O__AhY_?rU7O+H#?+K>*6tGh1lgIYSn0}kl$ii{IMWNaqvMOw
z&Mvbm)TNls$KQ<QE8TsP>~CqGOcC7__B+cA#1-*haet*~eI<fNj|)_S&qjT}0$V at Y
z&Nwfyd=4mcp<1#x?&S}7tL8BhJ=Xdb8kY1vFV6qzIsfe+=71P2pn=8ReP)|8+a^Te
z&1hUT_M@$4h?rorvicARB3XF*dd-p7mY#JjNg{cJTQm(hAwn|RJFDn|(kt&0cibi=
zy9~6Z4I17H-Gh*6vAt1&>24bM;R}ar7nb%Zt0`ygc{(p9bL;L;6077X_2P=^N?8Fm
zARNfk{~ID99*1IbkJD#_vJ5_M<22iBjUL5=rMtpmXUe!=b}$Ys at 2eavJ{m3W?=v34
z%;f(387*XlTYACvgBTc<C0&8~RTT5~o_sgdxb4#^Nj%GNr;d+L>?_?dF~0B*qm<ZH
zpa at nZn+>>nOBc(e^!_Yj*^~7js>n>{HoSSZ3QS|uacQ=zJD%fZ)@Yi2Z^hIj7_Pkl
z;3dQ~ue-zD&(jR3El74ml5gIKVDI*?IU>RUjs)!HY1`E*_v_njtn-ZG8V^qyrTS|y
zs0q%v#|1kT6Vs;2 at xG!Q{q74>Iw^N9^6?F~O(lF}5$i1{oRs|44(c$-XX2S=(mR;k
zFoULRekL}{t7UJTx66t4yoFGyCRzh8MWm at JC*60uOxyhU64A*cVB<tQ3mq*C-5!*%
z8D$Wl^_umxv|Q`!FG;4;|M60ks;tH92&z^}qigBv)a0F at CXu0lu?8;<)sC6Ksz9y}
zR|(D=s}@()?V=PjGkErZ)0Ws)An?U-G4RIr at mTMJB`%boFHAj}Yt4R;mmUo>E*b at p
zluCjfVc#aQ%d2ZKs>JD%*z~S++$=Od1XxE@(3xwmK+MggJHeVY at U=Ptv5C85sA5GN
zHKu;Twn~nD=R`_eu{1|45|ypyyHwhyn%BImN_)ChyLm$p?{QH)3pt*cRHgIUn>40h
znu(`jZ*1tw=aV>U6y7r|r{Kh at yoTP(G9%D at K?<zeaaE~GyQe}Iz4l7!?+FKPYbK~w
z=yba)^zWG}<h at l~^7st%l?}5A^b~*r>cg*V%Qe1CYo-OnauRBPVsbw*SaoU)BBFnA
z>dp*2bI#XJd-yimxfzZs4}**w5h0%c(mtQ4_$6RGlt_k>;701wc^{Yqjf|~OAT`I~
ze=LE6S*7pQyu3G>N|riAwPR=S7LdA9FW`Qtx_%p_GC2$0lWs-Pl7L(c;N%Ge5*Wop
zh{s9Sa^_#eFDXGfr`!}1n&H@>L}t}Ht?m%A;D#DZgTtln2jG5&Zz*(#xO-p%&2JWh
zoY|+0JJU6|zAC<(78RAg`}SJk`-^yflQBoF4RqYXKWnNdA2R!lmNZM)mjozsdKn7K
z=g{97LB>|a?H~(b_xXVE0*#;O?uC*SRO1cBk9z338d`bBT+(Gf{PTPXYM-3N3 at O}k
zqNBkn*bJJxwXCZ+=nbT$?i!E&iu@}Rqbn7i9X=&xy+Og1Pj3&9H<0Z|E8eL4mt**A
zxusq-tTJAS&un-!MxDn{d!;-j%Yk$}!8<*iY@*JZ*vNV<r@#A|DUzJ%{64q*;khq#
zA-zlQkf=^`V(30ts~+2KF6t3azatq=uZ!D;3tLFMkY4ZjX_**we5p~CVdYvR!G=$`
z(tDR=pL%xiOvz13B%m{mn#yd!RZY^Aw$oqa_?$M7%p9w=VfH`^rA1OSaf;75SlxjG
zQ*2u|7VqToATE~ejl{mR8p*+)qdL{)bKIHZ+=Jq9fGh{_2eZh3yV0UzP%y=jM{Khu
zOuj$ipq8RUOT%izl&)h3XZ8at=kEEz4cYi#0UMw!MdrfpaF_;GnxgL!63bCJ(5#l<
zR%h at U-Cs!1t$c_GQOp>0J0{Ib5USJR0Jnr>21FDt>c&X_-{!h#n;}u3(}+#<LX}w5
zaA!Zc6kf-!2{u?w&T+Aq91|v9)bj-VxbL3;@+-#aBz4B=i*nL at SGqGpm)~b9<Ar5h
zrhh|h-yW-}F~5DFu05BJO#RAiUNu(2U!-V<IM>SEN8q*8BtIKx23Ggc2N3$lh;bgz
z4*Sn>vhO6~a3r&1TSoa}b{CuI=FXlr76{Y+h`;>~e`PybOXl_)yz}43xBda;txrR^
zs+<=U=RhQ~D8H4nEJkF8F~Yl)%G+|L6z!?8II)AD0w|>Q^IunxW;?wXYIkiQUZOtb
zaHldCQ_zR68;I991wIVy(m2ek1Nz<)ZIDt=_DWyu2 at c<0Q7wP#IpPd1-ZT&h7BUS|
zw+aIX;A4iX=FSMfpg6`^uq24Z69IKEO{+!h%X?X;<$QQ6aBx4TR&(g}{e0C5oeS3g
z!owXTI<}Rdv->Va#|DX}yf|NZxbWs+$!9xtxprwS7VA{y;HLu-)KA at Pucu#;fCK-2
zbJxe(jV-sna&Ip7D-J&faY+K97Ca~G$9SOPXrn=d;uQbgFdwbl=1{e|eG{f|kw|3V
zmcb6KQ9be7UwcG1J!?QX&hL_gSyx-dtjo(84k#w$q^)vLRDuhq_+#zG_^ns%@T_aK
zrjxEswpl9S{)UMW(JmTrBw3UBR2=Xgmg#NSc+vXj#?36{mt`DyQ~&sIf8W3 at qwqwH
z<3rST_bY at Bm2<1t9X8T-`E{O%Q<Y!pxd|cpC(%T*;MB5K*DI37vi19Xam%3;nueFm
z^}ld5uRR&KFogKz`Go`5hPZ5DK*1#9PwdCP3N8|m=Jx)bb!XwG?f#QQ^jyjC^h$oO
z5zU`ztS(4yCWg983s>BFq`=-pDzxl`Am9`1DUPQ*6*}LyvG at a+;K|h^8M61Aw3fH-
z$(KhxT at 2b=1}mMr1-P}ED3a$7+HG~#)#hPQ=!rz0{YPnN4_ia$Ru?|!$EBT?lvL=?
z_!8FSQPeZ`F(ktE+rT?Yw{Xd>fn>O6>K6^pM{>}N@;5tXmC2Eu+gj;uzKJLu)KS}3
zCj{$YMZG9kH!wZ?5Rs9zd=RhXk+!q;jNe+pEk!WCl1+3O`{PrLY><;(&MC%EqKqP0
zunmk`)d(LC2g)SRiBk#vlerTt#`&Q6MH}6jpo-j$S}^RVHwRO)?w_XVj|0(}5~s*o
z=lhr*`x3*UJz`?`j7}u2*ErlIeAYe$X5>!l_aM#<1?gYBORczbAN^kBq#d}V(KQPR
z$#N0cVtu at 5BU(<A9r&t<<e<#^no4eRlZgxxobj_|3n$0 at lFlpb)FMJf5i^GtE7MGe
zykIrp59Q{)L{(wsfmPS0+e{g-5xMARWXY(chjnN=C4b&6A2ACNR&LHkH at uQ$WNzOl
zGc;kz9Ej%Nu@?p;0fj+)$1`x`qHY#c9*o*`z6Ktq=Nx46?rMgp*wPd}EWPc^Uz8<a
z9widJ=f9^(F3fO)BOYoE&2@>xY+}g_7!O?DToGM-o%CuL3?pC~&!1d}arTX=?>*8~
zjHW&Vrl#_H0-Nw4#JBOfqh#v2eU_&Ue8j4nnKzPVst!znokNlGH{1Xj!_H1E at fFz`
z2k!?pwGFo5bU8bf>9aJTZ_4tz!$C^rqLhVAbf11|FbosPXNfvGGzDgx=`CAx;O!Ki
zLmCf$S=Xvn)7RRe$acRWZM|6bHKgcc*!lf*p6k+)lqVdUy4pQ3v0Y&MqNF0yaDb<J
zW0Teqa3xlfANwuPHC}q<iM->f1bl8yoLyhxw8I7Nw2=Es<f^<p(1nziY2tf&e(xZ$
z>=H!vCAaz7fw^q?by=Vl?aKhYYATXw at 294>KN5t3B-0EYb7918fJbuUU^PAiAF2nL
zjUMx?QZSo*QEd;9FCw)<FR#U2eD*UHV-<TXUm9{b3X5TbCu$sGtzQqzQBH3eu<aPJ
zGfk8_;k(?f%&@}HiJv;wg*2hd2ALv+Owg{!7sn*&&=UCacNi-hjmh5juYFj%{F|##
zWQ=i$dMQ01_8x%0 at P=0@^ErCC>WRNN{u4Qo!IZH=*Qy&u5pJH|`Qa$yH<2laaYqNN
ze(<+CgMUe4i%9t<U7gK1N{3MH`66xr#?K4Op^HsJOOl_*B^=hb(?rox$V;hALaoT9
z9A<Vm$Td1X>0eb<){pxIGEQ`Fc3n~qTS%Kv2Z^lHRAg!ovb-FA4j!v~$F_3rjg85i
z8+Fl`&-C9eq%HEqwE2wTSmtRgo`^(#;oim`zhVp>Lz1lB&O%=uaWQO^bMfMXBypXr
zvGcZ^Sczm`yihpBsyA)HQpC(g*50#Om<0W&E20 at ACd*xgv>iu=n2%6e at 5OQ5q>wh5
zX?lV}Z)+&4mKC<)_#F=Op3tZF*<*c*0{@ZqHS&&`EzcJx65`0T@&#J(w`97+^S{Gc
zWGC0J1UO4+j3D#J<WB+0ywl3FmMzB6<Cwggxspoi5fW#|?Lr8bz}R`RJl)LYze$(~
zKS~%K`QGTn_3H at 5<ld08(f9-LbAjBMUS+~izu1yVJw)SIZNVF?B2~RpggDZReo5jC
z5Tk5H*G5`FUO+io(2V^hBL59N9731cgFq<HIMy%<EK)sUazc3!3UyBxBkZg>q02JU
z$Lq||31%vd2e|93^hA-s?HMZ>H81&!*AJ-%N6zI?%XzHQKIwE+euWXzL#Yeo!fTh9
zCg!M(;dzob3J;jha|_L%{cQzo1eK*%pfFqZavinSQL%K<m2ck5oamt at t6tk5>S7z2
zG&LjrT;MGqsJt1gs)DKK!7niVj<;`IB!p#atKGbMv``OB=*Z~#>Xq(_L%+p^8A6Mf
zO&;PTDLS}~tC)Eg#1dsA<=_0q6nv+qy7*k-HWv2PM<A`^g3`6BfLvj1Ed=;}karS6
z&awX^Z>BTd;Oz*7L#E?qvRY{wha1EAa4tRCUNf0Jl@%pjFnEx8lj9cHx- at -DtFgGZ
zRJOX94KcjlG+WcriP<Tq3C+ at _Er0lYZrVZVxHJtvu-FjXXm^}P_J|!37csa=D>QjD
zWzG%F6~*kzi!`>mGgVEf6Z&yhLxJ9iTq-}D2tA}Scf`$R+Ei8#tFmpL5CIjhY_Y#E
zBXRFv%sqoiN|u~qxVPk8SkBobtydi2RZ<;gX_WOOHI0)nbMpo8>plz|d1ZtO<uaV?
zMrT*qYv^(h%nfU&=X^?(zN?a`tljt~*244DrJMV at w6HWFxwP$h<9O<v=(iae?Zc)!
zP81upS!76lz<Vz_uS7GQh25R&VZ?_owTGXbR6`Dr3}k1hc*Nbqw%&+^74f_V6;!Yc
znNt>>qz5KEJsdGygobxeZm)d;i)=o5l39INdyE!Ua=7HYXR%y$<aj$qC#9rZ!It~x
z6z+S)!r&QT_1Hkc+wNb~S-q=GalT!?y3H*SY0T(rnaUqVvNp3kM_i2PIft`z;}|g<
zi-#)shf#j9`UR?J%(a3S<Ie;0_ks`Wp=WXiyKabkMub<;G5s{wcBQA at GGBt|lmqb}
zauwh*;TQL!33)UnOF{114%XXr!cXY0xGc02K68f)it0ZWBG~dqxFXa6I*<+y{e6wD
zYH<TnqmSW0GxX^yFtt(sl=mA;ZMWCmofFM%vs1<5;EcXCthMKbA^8~G_{0S`V at 4r9
zA~1UYazvhP29)fL+O9`YoXnC54xJpR`8v*(21>a-FGahL>Rt%1 at ZRXCo=LWK?EV!O
zc}wQ2OmogDvFLT!E at j)t3XGFS#V<r;G6+P6n~TGw2%bQ+A};$BFEvB)g2NE4u!lE5
z|6`4|9BACb7#S_z0S&ZBR{R&<;3KRV^hUEYjsga{i8=`4X``67jQwQ!SSOo09x{wI
z5;(G!_9yichha7IBPf&Q4^7&^-(q!El{?^nRAvI1lfbtIN6J$(;%$+j>2wYG88^cD
zXra|F;`ky3d2O97%nLiYlv7Z81ZDi=PrpsO`gtVMUOWVg8as%&Z_%g96n at nbtiAUY
z<avS*KB~Ue$2G{#&v+!ZY)sE>OLzDC>FeXE*pwlaB+hcoKDh)A9fv2?(9_g$3qjk_
z{w|LUw}{0&?4+fyWwPRb at nIE_Ru-9Axv0jQibCLQ-DG?U2FXcf$2sLCdnPuwMC)|I
z#gjlpZ9i>bjw$Js*4xIfGW+m#Z}^SKFjE{Qpr68ifX$1fKsDa52Z8M}v2(HyF}RLX
zYC2wE1&ExmI3(AK+mNWFxlrV%l$d3goV#rpi!%z<IGz7`o5I^KEzu?XT|XRp(bjCU
zYf9h<%G*ghSW)DSgah#LaHY!*AcnoHL}YtyIuj<x1d`=5G;ka~5)1RaLY12HY)w!y
z&fqMx4{2)`1Qyw|zdsG1ZS#NCHE~p0IceW!0iqUv5YA$Ml?vQRgbE^3`}@tri at q7m
zr+AlTC8r-_U4?PRp$hVHt9Lxn0d#k!)lzsTC*aJTyj+0Ba&@Iu-tiH>2 at idtnvD~Z
zQb_$~E54{++`e#!BzOY!rZ=!(=C<cTbew5b+RT&ES#*<zP#PGsY4as9`>O)0G<>Jf
zPl at +c(Dy0g(X(=LKY<2XDp<%r>@Aewnc*MHGN$%ZetQsS#!=vFv1H`ecwq=@RvQGr
z><%BE=akYP$yO!kT973wV>nW=5}YV$dgYy%q<T)ECxC4k;?SJ+xnt(!GEMzota#>-
zWqGsV*i)No$WPK4eqJhzQ-h2}TuWiAF0b_zccn!A%}lxGUKJrB#)3SAX;_>onQ8HM
z;?Z@!Ep%&jdX{Sa)id#msunvm$jvCPKQT)qNgD4cxNzAagvr}PB}x(f*6jRUUBV$)
zKB_#M?e8Hh;TTw&b at b0r44H$RFZBs0j$6aVetrBAMCZ99PH at Ntz4tk2^vdJIDZWuE
zTEnF1b^-US5dZR%R}!;emmX(CQPQ4|*)dwH3uz~vk+}}hyr at hyFwSlHoNr=g+dQwg
zQK&V6{=xCSyC-vE5<G7=nl#W_7wvlz3gl|utp9{~pM^29iHk|+M1mS2Xu>r4GpJ^D
z*X{+YmyKzR2plNs%TS*>@>e^xW5>s`@}#`u&x;<Ud0{#<8nL|pBZ8jqDA686(AJ|V
zi;IUG1S?MU5|#IA*KVY1WJWw*d`bU$rX)B#Lq<4z2xbwkCdrU=ONRKNG1Gi9lTF0_
z{Mgz*Bm_&LjN9Lyim9|sBt%2&yyyGFmDrwUg4wE+CFCW>75Oj&S>(FSzJm$w&<$=3
zHf0EzR4{*S72rHegQG=S^Ay9-I`ds{)}ZsF07WEgj~Y8IC=OeNzmj#*c*EL#jD<!v
zOrr2hAy+~!`io8y*peQ?{aVOe$7N}gWl^PsSujvgtVv+2rpN=cmJi!KasImN`&kJu
z^r(B1lWi7Vec|RV?YmLJvMfHd7e~?f=(#$K8dW?R45xAWKu=Du-&BI(elXlR;pI}{
z&vy-aOEwPXqYUBp4z{9Z2Cc)bPDN<uy=MKXx{%gPPcr8Xdbj=Dn;ntJPMFi~-p$>9
z_g#<2zMV=2O~>^+6WCfH;U1UD<BV=J9!Iz1o<Pv7p$hNG|Gavpn;-57mylr;yz5Hk
z01F2>tu2E^0UW#a<)u0j%U_-rNi($bg<nD3%8JSH4QJ?a1x;#=*ZacT+3%uarlf^I
zTHi$Lc*}=rCw$On^MKHC(MB>@rja2uPC468>nUeAYb}JAtPR4`mf)kO(#S*nu at n)s
z0>&m82Kl=7Lfq?b9=Rs at 1OkrM)}}$s1|RzD?DJhIQia|=1aQ4VOcdrjTEe^FM!in&
zE_r{F$krYkQNP#RVGZ6)LcFS5t{)5ix-v_FK`lA-q!`fFr+u at 79SXNj0n6|Eb+I8B
zBqr<DQYOk=YK+5Jc$~j>WD(-j;Bnu!6oh(4Z^7u%jea?BF_(7>o8<*BDtqs3>_FZJ
zK?Ue{tz-g{B!MM9`ORCmW%`msor_?6bfzJm5i0Vvt_~~onQD=ur|t7PNw$x*62WjL
zk8F|QWe3|~Z}zN8=4D$7tyA6$h4eZOr85aZjgxuqi2U=nI^oC~r>HccDx8H}*&e09
z=FgW&bAFz<VhYf-Fv1M*N(0Do5aR6%0;bDL;x87wel_RW&<v=9H59$cEpo%6nIYr`
z6a$Rf7akVHmE-IyEiATwF0?EvaJZgkNf)(Z+~)lx*OM5@=!?g&T&8y!)kb<T)lvyy
zb$ojb4O<c|83Mwvhh3!LJfbxacs<Zng@{cIu_z at 22itjkuAP8<Ncg9FydHB1hJ(Q%
zkv$pp1ez^(Zb5Y$NExmmCD+&(Wy1{^)NEct*87ebNkT1tX9eK8woxPo{*NB$h0P=6
zVrITjF+e}?fIcL?AzkjlpF_6s$IKXRT;JkNWXn;j>iCgk_D5B8xJPw=+Hba~r}s~<
z^%|eM${G2IL0g5B^w8MFgBLixA<IpG+!_2~kE_h+1g=>Bk&~A>>}~P9bn=bu_a!Ri
z5vX1~OKF38(l`zXSmxwwa3JvjIz(y|ZPbNx<GCQbrx10bj5k26zP7~jq%wZYHm2oY
z0$pmzM}tH*P$#A|o#zr`1YFbyM9Z1A`+aRa>YT>lrQ}}#cM>}REKV#xMDX(ca=prL
z_)jkUgeuP$w83}c!^3%5>UAc4q<FjPf`bXSDh^vL%gSuLc~#rG34i?d)l$p!+7$AZ
zt{{ebm==#N`}bk%b!;!i$oGOa4oG5sIwNncAm6FWB?iGy*8ZAqS$>FIgIp<g?rn8L
zou-vn8XUgDUlDjDS-?bNeJr1QU4iF at FiFt?FX(h6g0kAVjRMgBN>2&|T_Xx>Op0cB
zN+BOoj)siVw;<YT^6D&`?45j+;N5~5t@^@9cM_YgAFU5IxNAawZTwlnf;MeuBnwhQ
zhZ08EyR=L#-HKJLR`Aod;*o|=6U5bFHff6 at o>pVi^HyyMu3)d|IyH!tZ{^0Drq}B8
zg>LGmF736nJ}8ytQVfvL;!z7^5o*KLnO at N~Pj{-IxPyU{@+7)@^}bQ;eS%UR>G$~}
znYOLdX{0{ScP0XR|80(DW2f}oV5YvpaHeO})xy=)RdH0YW_!}gjKU at ggf_i$JnqeF
ziDg*LZ1E|YDgy8YqD{F#UK6*uzvas#EO_WbN<5V&E-5C)qAb*10~Prc!Vzm*2VQ9*
zoyFr|W4oliN94kwftPvv>f&B>6^u@(!BIUXmT;iop?ZWU>lw3i)r7ri_$Bgvi6Hd4
zx8HHCD)l at 10U?EgNN1MOy8=p$b0y_Iv?+NOt<w{2L5C6z0pG|d9Foqw at vz&`Z<CMU
zO|o;8%GIUVOK|L>#{@9xM2^E=nn=>wFG&!GyT#n-gb at j&g~y{$!?RS<zc&m;uv93b
zjWm~ZXJt$ns%d4z!ej1Df9!$QHIVwti=jaRZ|+X))9;r+%|-2hf$3-A{9iEr3XXOr
zF2(>y0t$N*Qx$*)Eh8NZ1053+B{aRTBf!wv?x*Ib_<v?C>}*90odE<CB3w)iOiYYS
zjI4|dtemWz)C`Q|3=HHy?PTpt{!dL*91ZR50VV|WVusdE0BCvz6;Ta3F&ArVBSTx;
z|LCG(ZsA1mbNvsUXb98*j!r*A6EM>;vM{o8GO at 8T(=ySq{ZD28yNU!d7Ont-AFUYa
z#pP59#9b`hDG99X4V}%M0EPsv|5p!ebj)<jl+b*9|1pf6ktH-66Wjk{4iyi300F(c
zk)^V;4K%$R0S7ZQy_kiglQRK36UYA~IUr!-U}X94#0CWaskL_gQJG%M`o}IJ0Ao87
zz<+voa{jTN4Yd1OrPjLAMhp56gVD@<sa$5Bb4p>EN?A*=wm*XaQ%?p at s+a}Oyba3w
z<e%5KdcgQ4H9P~4KdH2q*JWiRKr$y)1eCJq?*S|rC|0kcKgBGxA~e_#6!ILw80i9N
z0RAKrv4TP(L5z71sdErM?g<ntICiO^5+OKmPP>Rd;om at TLRckiMvI(w0h%2KJpuVj
zQ0SbXSs+;9497DAM6-Yle=Ir*hTygWRIHE|V3C|)cL5Ft#&9bN`(=|H0 at NC^A3{9=
z!W;=sejRbJnLtKn#hn_1e}q^90YTfy|3ZG5l%k at tga8{z-so@%4CW%JhzRruQs(>`
zL3S6E$&oZCiJn1$;*$n$DE#G&AvJ3FOI2ZC!Ehr42izVq5Y%V}wi`1QX{-?@3_df>
zSi!vtmy_`?>K~9)GRa&`;gf=VBgh7n5L5@@%=Hk(RFcDJXcPeg_ui>jgn^hSNK7;>
zVp5WHNH}E at G!6(PMd&<210j`Pvxq<h5LHmXg)9v)7~=ax(9R&hS8X$(iT=3o%uvh-
zU=hH216XeY8oRRoz?1>F3Q&oTU_pVuFsaO!K!I~WMgO4{V9w38ki|9xNKg>|A&lnk
z8c`r3gZ^Njz(NB;O{6xbFz5C7_6?->-O>(rOW at e9U8RY+x+lp*eN3>2qCE~X>(0LV
zaC?8*3q&^82)>7ns2g5Vy9 at tXK{O9SLjju+^GV;Cv^L%U-6uuv&fT%yJo_=Fo{6;F
z)Qg$E6U3t<Qa|b5RRh^G?bQAOjfvuYIt+P5aMky)abzCJev7^}#Qj3NHR$DzkG~`A
z9UONH^%X6Di^VsL at dEP|={KD60<FJ~7^Z1EPw@^D#@W@&zI#z^jb!SkAayH?J$2FN
zJ3X#+Mze>NMH)pCx;+jEx2qilL$UU&=mTqts~2q<*uH%}>D{{?r5beNk+*?VyTR>x
z_wX|_{=Lh8tM49w!8U$_Jj at Ym6t%y2H&mp_66X+z;_eW4-M=sd7L=#L)B-^^O53Gh
z!Sn(0twGw_*{PWrQYRkCoUsZ}VVb-ES((Ta*J(@M|DbC`KlUSc4^h9R#mpov9YlDs
z`v~{j^Sj|^lif;kYQYh_Kr;aqG)q9h&nk>K-)?HApMsH1HI$^Fhngv7defICLj2Z3
zmO~_zFjz`my<UWUGM$oLb0Qm^mY;ol0R3z)g$gYOH>z(NjVkkk5?qC5KG#Cr;^*k#
zdxu47P(84=A~GaA03+IpnWJ(0D?*mKlRu+Q0aCG at zy3kzRBpEVO!SHz#NCWOn=;SI
zx4pI2?dVKLiL*o8?p<PWYsiW(yzM`IbhSD>PQ2sf&48JmGafct{L;hqZFKKdoKB9B
zQuvx{pIYTnigTn}Scey$qRs#E;No;$Q-k*qO)cc*BxpYGvF4oBvGH+g2O*B}9^%1l
zkj204_81wl{q62~;?0kf>ej4%_O|7i2?mE7&pxyJy0~>1``(lVHz^_?l7|*)8s8<V
z<h}Lb?0L8N7wcb27Fi~IXi7AJI|y5tHojX`b-?87?2O86m&{-S<r}&;9ej0FH9a(+
zr$79+=n}(Rc$^0a- at CScb(}Pxukljh0!qERqvB%SczAcl?A6s`u{8P7{k<Tc4`%{6
z{%m5sXB6w#{n0Wr`SE?ZAQ!J7`>H}7w(|tFTI+aa=VyN3n}8)V*Uupw+Na|@{&Q8;
zQ+Lbc>dY{l97ktdw{7Kh(Jtq;+yHf#>n4auioASrMzb>&j`su3NkhHI<=iYUmwb`z
zO-2JJ+%a1aoK>CU`Zm<Uyb<w4$1i at -W~{e-0pN!_#R6z5Vvyq3JwoUUyPr at OA@cTo
z)c63|q((=GfHAZk)ssV8WEB-h@;-jqSDF;DX5g+h;KPD}9e_c}jRW#l=yP;(Rp(Ub
zT}MnDm-3<Vt7q$M(DAvAJwDZyF)8Hz^jtDUx8)W1kvf}(O;Ey;j&xk%N;QLf5JhpN
zLE>#PDQ>>^L#IU2tzJhsVBEjm;|+~l*X2pEg69(Utz!(szHQ2T3_XQ5gfyjouu at f#
zTF`J_2`<)=Lua(7+CE+30d_h1b7X#j4>d(^a^Wd|)U#nOKcBZ4<z2(c(zrBdC_Z1K
zBZ75AIs!W?#^^74GIn2{6^+GE4T+86Ef7tq70qIwR@{?@k$FRf`2Fr|p$!&njOn8}
z(~)@N;-l}Mp=SfxiKua$yS=rONa at r@Nu&lSbup;~A$UaeGCW!_ at p>}D+^`zUG#IYX
zLG3Ao`!dn#M+!CR2P27x4s_m>d=1*!d&1d!t%r;lqehYGFp+7iS!U+YAKVUA1>tPH
z)`LupQ3N_VR$rO2|E*$$novz{uz`yZ15>D|3yc*7tHlp9McKod%3kdWqFSXFSDDw^
z953!1Z>5WT_Dm-}Z-KKGb!If}wNNt=iG|f at iFvYgsQk3$XikT5!UC4y8dh!7UP>up
z<zFrcNF3bFF(9Ty5R*)hzEmU{LoH5*0clKK<I<mT;SrgFNv&x3A{QqDA^{Lliy9`F
z<8gQjoikR8Fu2iY`Gs#wx>B<B3t`!jQut+7N{eKJsiQfqFKScHHSRHsa<Px*aez><
z>I7j>Pxppq-kO^zf)eq#w_F(*=_Vod%>vZia#-G5R`f?TdFLiiBXbnev&l@%&5ekq
zBil=F(b}}nyiT0W9NdIQJO!Rc2%4A%sCNFb9zKsY!EM6bIJbE?a5TS?G$G+u5#hfb
z!i8G7u-Bg+W>UHQq`qM>ae075_0+0M?Pbivs_wfWFqMx}fK*|*O3hg&H_N-!FEl;X
zhVs-Z!LakSH*mNIj4eWf at eUN&-+5mpOn at onQyb=ErPhF;$o+Da>EAhRO<9~rI!sA$
z_7TkZn&5N}s*V2AI_ecYq_$K+L#jU>oBb{}yg at zF*>=Uhb&v=4?b*w}RCo_<)gs9I
z48w1Z&nYpg^4gDdSaM6vCLf;+fwv2q!Ln3)LAuLk0 at S}ydBCy*^<Xo_LEvq+_=0aI
zw!Y#Z>)IpDJQ4 at 6!l(0XO|Rs06?xn)*GKPs4e at nv3qF`BG4EzqpfO;UYtqDCH|LIK
zCnPO5Q$_3bsBbIbG}K||DWr{-<-9K8LVc2WcE at gB^az?zFuk(d^&oC5eVqH|&;nk1
zi(VyA8%jO5zJqOZyzsln3_z0K6YiX^52Sl38<%+9;#V!9#w9c!`6Er)rYcY<Y+^Y0
zHeKV0$_z3d=jyM=Z)Wrm;rA%w`a~b5!>d)5a0fKu6Ry0LUV2hgcpcM+c8Q#<!Zo_3
z6V?~GC_LtHbpbaHiIW#bNJDIz09>Y+)50%!b5GcsD27YcC|l>O{R0LqdcES&?WWCP
z)xMUQ9YrPtn9la3r34<?1pdpl*KgE&TQdQIQRqztzjYSg`fXZo71O0xg^-VlEpjVd
z+sdOKMC(}5J<sEHr;EE`KY%jeU3JU+wPS2IBtez)fhgukGDASC2$0;=H{8DKRW)tg
z(kakpm1i1j-kn&;reAnFB;2AQNR+tzTb3!);quFh`YW=G=N0XHS(&fUkLnxtLm9!>
zKo);y+v8PI;jp&zB`o`HG`n3a=I&`*ne>35dbgIFEr?DE_5;Y3J9t3$DB+H-y6dUj
z_7oc@&B#;5hmomy_zD`=Z`69R-Q5dyYeh74t6Ln?5whfOo;NhrihI}%XCL=TKg7`w
z#!$U0Ug!|#gFyW5`{kE`@PD!SU}gB<R@)j%08?msNm~<uJApO>0UIl$E;PNeg(u)Y
zNoaa?0&PYDW`h3|D%sin1a at TM_~}CFKW~`Y{p9|$oB2;pgg~1|P)vlKl~tHkM3|LB
zjFVlEQ;?CBg at KWQnNd`XQG|t&kKq5@<YycifUTLc`46)h`~ToC`~R`bCtZ at ZPE<wh
zx%KKwI|W&jvw%T;Gw at e}Mx{{5L8T}}kkY1j5R|5T2q7e7^z7>ksj)W>90)nWT&*Q!
z>=lWzof!yWyjZBLt~UlaAFjQmemmTccW!46vu}S+vnMD?eM?CVl2Cf76)_~$C6<AW
z&5y;6&tK at lmyvwFsmi2lObU{fzRCTjW}+29J0M+ at 8J1QRAVsh+XaHgp!c~!``uZJL
z9-y at XmY$2pCdlIkgG$QUg*_cUZywA%13x(ftWBEqbBf*6&$a?o8UN&q31gF?+A(WO
zA$jJD1;ecwp0ELf8~?Ty8^SvSwK+p-ag(XB0`b24Yq~N>YlOoU(sKv%cOuKHBF`n{
z?~r~T4!$#54tVli)Qk{4N$LLE244=K;#`EOUJuMa&d=ZTxCf&9WxD=^lFundhL~ao
zsAL8*bNOEyosj$XSY)KUd{{6k2G~U;ytt9Z>N`|+iDoP?%Z6fe7zww3I9tH)d8+=+
z0$23IX#|K$Zu3N&Z3L74&~IvEZHB5!Zch&hFKH0a?IUY*E~Q-88uSUlEkr%|;0;60
zJH~%?peRo*oGeh0eBSfKssg)UlWH|eI5480^n@>t%tB6CifZle<7k^MScq=Le?=EW
zkK1On3^KkkOR=0asF{P*vGz3}Ux0Q2i6txnshFvl9hmD1*o)b_{u-Hu7fz5k)yr5D
z<QUMj at qd9IT2;<e%>0}G2;7S$iM9B1pJG*FrD1I|<%{6_3al5*;lcrKWBQMj)iV-M
z5>w{0rh{5CLDy3fkhDXinlcN>it&l at u^}WHqnbtu at QG20u?#g2CkGT*qb>O_Rc!o`
zAwe7=fbgIY08<e{Q|Sj^fn-&HaZw2NTmglfft0PmYU)ul54EYm)yhFz%fWROfO74l
zTY<x^f#5Qvckbm|L4e4?f$t;afaSFZjqPJR3E8&?mJ`Cy2=wKEGuxqo?cu}>zPAS&
z+98VW2bB?Wo*|xlb<?>e#6-v9N1vCr$12)^)(Npl4bV&tvSL7hvByQ<1*hqiZ2=pv
z0WPlrKkvDswyV16s(T;1qHeGLzZ12$`9#9k!}DY8A at aOp&N=_JTy)u at re(#X5W$eb
zkb;u}*&wB9$EdC;tSK1H#E)nR(+t?D at WjwKH;-7^4FZ=^*q9fOeAYWe>m>>}XOHwh
zafq=<QArW3(cbl@)C#aj at kvp6iX4n?Y7pR)V*kHMAqZ|L5+<0C(*Gk$ivN}TM-R_g
zy}!kZd35%t(1_ZCENv8bqcRo9 at k7&c8I**lRP!8OmUAvew-FL!2?xvggWUvtWhg0T
zGOsUkhFNA~qz+8?&_z0A#jMpvV}(w(?0C&qbj427w=cB&$lSdiAI&>;+>0K(%1wQe
z(>SShymEe91BtXwL=UtwuUFipp3KT at t5BoO%z%VUuY_i%!>(PClS>)NLCFQ_pJ%J;
zD_xPu{zi325TygBizm7Am8 at LE)?niA%=MIOGpSg-;kL9Pp$>tMz}foY_D6;o^$2C|
zu|%)D;o}nkwjCD!8>n&@BA$9loJEGd&XjMFcO_5NCsxs|p;10~sw4f=%Hj(>T6P9}
z23tmC=KrVos2#j=AiZUb#L*i$%hojwVNOc3-4Tev#8-Nw=by*(Vn)yAnZ#{}&%%v<
zc`}Ph$6I|7im{V6e at I2!N?wh+F={1mEZ>IQppAZJ88uM7_Q^A9C46MHVpdA~-fUuS
zCV!m!iJVA6ui716b<+;8{J{SOL{R)H@>2{k0~A|+8QUWb83L2-BI|@wwgBHwJ7Sv_
s5OgPQH{0 at kLLfEP=Kt^Wm6NlfqqDo?&jiKH%=jPLOHxu%c`@k!26U}`;{X5v
diff --git a/libc/utils/MPCWrapper/check_mpc.cpp b/libc/utils/MPCWrapper/check_mpc.cpp
new file mode 100644
index 00000000000000..f1f0505252773c
--- /dev/null
+++ b/libc/utils/MPCWrapper/check_mpc.cpp
@@ -0,0 +1,8 @@
+#include <mpc.h>
+
+int main() {
+ mpc_t x;
+ mpc_init2(x, 256);
+ mpc_clear(x);
+ return 0;
+}
diff --git a/libc/utils/MPCWrapper/mpc_test.cpp b/libc/utils/MPCWrapper/mpc_test.cpp
deleted file mode 100644
index 37c7059fbb7f64..00000000000000
--- a/libc/utils/MPCWrapper/mpc_test.cpp
+++ /dev/null
@@ -1,35 +0,0 @@
-#include "mpc.h"
-
-int main() {
- // just a pair of two arbitary precision floating point numbers
- mpc_t x, z;
- // different rounding modes for real and complex part
- mpc_rnd_t y;
-
- // MPC function begins with mpc_ and store the result in the first argument.
- // Rounding modes in MPC are of the form MPC_RNDxy where x and y are one of :
- // 1. N(to nearest)
- // 2. Z(to zero)
- // 3. U(towards +infinity)
- // 4. D(towards -infinity)
- // 5. A(away from zero)
- // where the first letter is for the real part and the second letter is for
- // the imaginary part. MPC functions have a return value which can be used
- // with MPC_INEX_RE and MPC_INEX_IM to tell whether the rounded value is less,
- // equal or greater than the exact value. Results on machines with different
- // word sizes should not wary.
-
- // for multiplication.
- mpc_mul(x, x, x, MPC_RNDNN);
-
- // for initialization
- mpc_init2(x, 256); // Real and Imaginary have same precision
- mpc_init3(x, 256, 256); // Real and Imaginary can have different precision
- mpc_clear(x); // free the space occupied by mpc_t x
- mpc_set_prec(x, 64); // reset the precision of x to 64 bits and set x to (NaN,
- // NaN) (Previous value of x is lost)
- // mpc_get_prec returns the precision if precision of real and imaginary part
- // of x are same, else it returns 0. mpc_get_prec2 returns the precision of
- // the real and imaginary part of x.
- mpc_set(x, z, MPC_RNDNN); // set x to z with rounding mode MPC_RNDNN
-}
>From 66500f3bf71bcbcc59ed40fc706c8cab2dc8dde2 Mon Sep 17 00:00:00 2001
From: Sh0g0-1758 <shouryagoel10000 at gmail.com>
Date: Wed, 8 Jan 2025 17:37:19 +0530
Subject: [PATCH 21/46] MPC fmt
---
libc/utils/MPCWrapper/MPCUtils.cpp | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
diff --git a/libc/utils/MPCWrapper/MPCUtils.cpp b/libc/utils/MPCWrapper/MPCUtils.cpp
index 7eef0f16bdfe77..4e35354d321c1e 100644
--- a/libc/utils/MPCWrapper/MPCUtils.cpp
+++ b/libc/utils/MPCWrapper/MPCUtils.cpp
@@ -74,7 +74,8 @@ class MPCNumber {
template <typename XType,
cpp::enable_if_t<cpp::is_same_v<_Complex float, XType>, bool> = 0>
- MPCNumber(XType x, unsigned int precision = mpfr::ExtraPrecision<float>::VALUE,
+ MPCNumber(XType x,
+ unsigned int precision = mpfr::ExtraPrecision<float>::VALUE,
MPCRoundingMode rounding = MPCRoundingMode(RoundingMode::Nearest,
RoundingMode::Nearest))
: mpc_real_precision(precision), mpc_imag_precision(precision),
@@ -92,7 +93,8 @@ class MPCNumber {
template <typename XType,
cpp::enable_if_t<cpp::is_same_v<_Complex double, XType>, bool> = 0>
- MPCNumber(XType x, unsigned int precision = mpfr::ExtraPrecision<double>::VALUE,
+ MPCNumber(XType x,
+ unsigned int precision = mpfr::ExtraPrecision<double>::VALUE,
MPCRoundingMode rounding = MPCRoundingMode(RoundingMode::Nearest,
RoundingMode::Nearest))
: mpc_real_precision(precision), mpc_imag_precision(precision),
@@ -171,7 +173,8 @@ bool compare_unary_operation_single_output_same_type(Operation op,
double ulp_tolerance,
MPCRoundingMode rounding) {
- unsigned int precision = mpfr::get_precision<get_real_t<InputType>>(ulp_tolerance);
+ unsigned int precision =
+ mpfr::get_precision<get_real_t<InputType>>(ulp_tolerance);
MPCNumber mpc_result;
mpc_result = unary_operation(op, input, precision, rounding);
@@ -206,7 +209,8 @@ bool compare_unary_operation_single_output_different_type(
Operation op, InputType input, OutputType libc_result, double ulp_tolerance,
MPCRoundingMode rounding) {
- unsigned int precision = mpfr::get_precision<get_real_t<InputType>>(ulp_tolerance);
+ unsigned int precision =
+ mpfr::get_precision<get_real_t<InputType>>(ulp_tolerance);
MPCNumber mpc_result;
mpc_result = unary_operation(op, input, precision, rounding);
@@ -236,7 +240,8 @@ void explain_unary_operation_single_output_different_type_error(
Operation op, InputType input, OutputType libc_result, double ulp_tolerance,
MPCRoundingMode rounding) {
- unsigned int precision = mpfr::get_precision<get_real_t<InputType>>(ulp_tolerance);
+ unsigned int precision =
+ mpfr::get_precision<get_real_t<InputType>>(ulp_tolerance);
MPCNumber mpc_result;
mpc_result = unary_operation(op, input, precision, rounding);
>From 9dac333e1b82caa8be5e0c0b69c3cad28e2298cc Mon Sep 17 00:00:00 2001
From: Sh0g0-1758 <shouryagoel10000 at gmail.com>
Date: Wed, 8 Jan 2025 18:23:41 +0530
Subject: [PATCH 22/46] add custom cmake function to skip mpc tests when in
full build mode
---
libc/test/src/CMakeLists.txt | 28 +++++++++
libc/test/src/complex/CMakeLists.txt | 86 +++++++---------------------
2 files changed, 50 insertions(+), 64 deletions(-)
diff --git a/libc/test/src/CMakeLists.txt b/libc/test/src/CMakeLists.txt
index 31008508d64928..12fba21f8222dd 100644
--- a/libc/test/src/CMakeLists.txt
+++ b/libc/test/src/CMakeLists.txt
@@ -46,6 +46,34 @@ function(add_fp_unittest name)
)
endfunction(add_fp_unittest)
+function(add_cfp_unittest name)
+ cmake_parse_arguments(
+ "COMPLEX_UNITTEST"
+ "NEED_MPC" # Optional argument
+ "SUITE;SRCS" # Single value arguments
+ "LINK_LIBRARIES;DEPENDS" # Multi-value arguments
+ ${ARGN}
+ )
+
+ if(COMPLEX_UNITTEST_NEED_MPC)
+ if(NOT LIBC_TESTS_CAN_USE_MPC)
+ message(VERBOSE "Complex test ${name} will be skipped as MPC library is not available.")
+ return()
+ endif()
+ list(APPEND COMPLEX_UNITTEST_LINK_LIBRARIES libcMPCWrapper)
+ endif()
+
+ list(APPEND COMPLEX_UNITTEST_LINK_LIBRARIES LibcFPTestHelpers)
+
+ add_libc_test(
+ ${name}
+ SUITE "${COMPLEX_UNITTEST_SUITE}"
+ SRCS "${COMPLEX_UNITTEST_SRCS}"
+ LINK_LIBRARIES "${COMPLEX_UNITTEST_LINK_LIBRARIES}"
+ DEPENDS "${COMPLEX_UNITTEST_DEPENDS}"
+ )
+endfunction(add_cfp_unittest)
+
add_subdirectory(__support)
add_subdirectory(complex)
add_subdirectory(ctype)
diff --git a/libc/test/src/complex/CMakeLists.txt b/libc/test/src/complex/CMakeLists.txt
index 8e91c09d1edd32..ee4373ccca270c 100644
--- a/libc/test/src/complex/CMakeLists.txt
+++ b/libc/test/src/complex/CMakeLists.txt
@@ -1,19 +1,17 @@
add_custom_target(libc-complex-unittests)
-add_libc_test(
+add_cfp_unittest(
cargf_test
+ NEED_MPC
SUITE
libc-complex-unittests
SRCS
cargf_test.cpp
DEPENDS
libc.src.complex.cargf
- LINK_LIBRARIES
- LibcFPTestHelpers
- libcMPCWrapper
)
-add_libc_test(
+add_cfp_unittest(
conj_test
SUITE
libc-complex-unittests
@@ -21,11 +19,9 @@ add_libc_test(
conj_test.cpp
DEPENDS
libc.src.complex.conj
- LINK_LIBRARIES
- LibcFPTestHelpers
)
-add_libc_test(
+add_cfp_unittest(
conjf_test
SUITE
libc-complex-unittests
@@ -33,11 +29,9 @@ add_libc_test(
conjf_test.cpp
DEPENDS
libc.src.complex.conjf
- LINK_LIBRARIES
- LibcFPTestHelpers
)
-add_libc_test(
+add_cfp_unittest(
conjl_test
SUITE
libc-complex-unittests
@@ -45,11 +39,9 @@ add_libc_test(
conjl_test.cpp
DEPENDS
libc.src.complex.conjl
- LINK_LIBRARIES
- LibcFPTestHelpers
)
-add_libc_test(
+add_cfp_unittest(
conjf16_test
SUITE
libc-complex-unittests
@@ -57,11 +49,9 @@ add_libc_test(
conjf16_test.cpp
DEPENDS
libc.src.complex.conjf16
- LINK_LIBRARIES
- LibcFPTestHelpers
)
-add_libc_test(
+add_cfp_unittest(
conjf128_test
SUITE
libc-complex-unittests
@@ -69,11 +59,9 @@ add_libc_test(
conjf128_test.cpp
DEPENDS
libc.src.complex.conjf128
- LINK_LIBRARIES
- LibcFPTestHelpers
)
-add_libc_test(
+add_cfp_unittest(
cproj_test
SUITE
libc-complex-unittests
@@ -81,11 +69,9 @@ add_libc_test(
cproj_test.cpp
DEPENDS
libc.src.complex.cproj
- LINK_LIBRARIES
- LibcFPTestHelpers
)
-add_libc_test(
+add_cfp_unittest(
cprojf_test
SUITE
libc-complex-unittests
@@ -93,11 +79,9 @@ add_libc_test(
cprojf_test.cpp
DEPENDS
libc.src.complex.cprojf
- LINK_LIBRARIES
- LibcFPTestHelpers
)
-add_libc_test(
+add_cfp_unittest(
cprojl_test
SUITE
libc-complex-unittests
@@ -105,11 +89,9 @@ add_libc_test(
cprojl_test.cpp
DEPENDS
libc.src.complex.cprojl
- LINK_LIBRARIES
- LibcFPTestHelpers
)
-add_libc_test(
+add_cfp_unittest(
cprojf16_test
SUITE
libc-complex-unittests
@@ -117,11 +99,9 @@ add_libc_test(
cprojf16_test.cpp
DEPENDS
libc.src.complex.cprojf16
- LINK_LIBRARIES
- LibcFPTestHelpers
)
-add_libc_test(
+add_cfp_unittest(
cprojf128_test
SUITE
libc-complex-unittests
@@ -129,11 +109,9 @@ add_libc_test(
cprojf128_test.cpp
DEPENDS
libc.src.complex.cprojf128
- LINK_LIBRARIES
- LibcFPTestHelpers
)
-add_libc_test(
+add_cfp_unittest(
creal_test
SUITE
libc-complex-unittests
@@ -141,11 +119,9 @@ add_libc_test(
creal_test.cpp
DEPENDS
libc.src.complex.creal
- LINK_LIBRARIES
- LibcFPTestHelpers
)
-add_libc_test(
+add_cfp_unittest(
crealf_test
SUITE
libc-complex-unittests
@@ -153,11 +129,9 @@ add_libc_test(
crealf_test.cpp
DEPENDS
libc.src.complex.crealf
- LINK_LIBRARIES
- LibcFPTestHelpers
)
-add_libc_test(
+add_cfp_unittest(
creall_test
SUITE
libc-complex-unittests
@@ -165,11 +139,9 @@ add_libc_test(
creall_test.cpp
DEPENDS
libc.src.complex.creall
- LINK_LIBRARIES
- LibcFPTestHelpers
)
-add_libc_test(
+add_cfp_unittest(
crealf16_test
SUITE
libc-complex-unittests
@@ -177,11 +149,9 @@ add_libc_test(
crealf16_test.cpp
DEPENDS
libc.src.complex.crealf16
- LINK_LIBRARIES
- LibcFPTestHelpers
)
-add_libc_test(
+add_cfp_unittest(
crealf128_test
SUITE
libc-complex-unittests
@@ -189,11 +159,9 @@ add_libc_test(
crealf128_test.cpp
DEPENDS
libc.src.complex.crealf128
- LINK_LIBRARIES
- LibcFPTestHelpers
)
-add_libc_test(
+add_cfp_unittest(
cimag_test
SUITE
libc-complex-unittests
@@ -201,11 +169,9 @@ add_libc_test(
cimag_test.cpp
DEPENDS
libc.src.complex.cimag
- LINK_LIBRARIES
- LibcFPTestHelpers
)
-add_libc_test(
+add_cfp_unittest(
cimagf_test
SUITE
libc-complex-unittests
@@ -213,11 +179,9 @@ add_libc_test(
cimagf_test.cpp
DEPENDS
libc.src.complex.cimagf
- LINK_LIBRARIES
- LibcFPTestHelpers
)
-add_libc_test(
+add_cfp_unittest(
cimagl_test
SUITE
libc-complex-unittests
@@ -225,11 +189,9 @@ add_libc_test(
cimagl_test.cpp
DEPENDS
libc.src.complex.cimagl
- LINK_LIBRARIES
- LibcFPTestHelpers
)
-add_libc_test(
+add_cfp_unittest(
cimagf16_test
SUITE
libc-complex-unittests
@@ -237,11 +199,9 @@ add_libc_test(
cimagf16_test.cpp
DEPENDS
libc.src.complex.cimagf16
- LINK_LIBRARIES
- LibcFPTestHelpers
)
-add_libc_test(
+add_cfp_unittest(
cimagf128_test
SUITE
libc-complex-unittests
@@ -249,6 +209,4 @@ add_libc_test(
cimagf128_test.cpp
DEPENDS
libc.src.complex.cimagf128
- LINK_LIBRARIES
- LibcFPTestHelpers
)
>From a497f18c13001c842233c2614e504c8c60f228ab Mon Sep 17 00:00:00 2001
From: Sh0g0-1758 <shouryagoel10000 at gmail.com>
Date: Thu, 9 Jan 2025 00:57:30 +0530
Subject: [PATCH 23/46] remove cargf and add cproj for verification
---
libc/config/linux/x86_64/entrypoints.txt | 1 -
libc/src/complex/CMakeLists.txt | 2 -
libc/src/complex/cargf.h | 20 ------
libc/src/complex/generic/CMakeLists.txt | 13 ----
libc/src/complex/generic/cargf.cpp | 21 ------
libc/test/src/complex/CMakeLists.txt | 12 +---
libc/test/src/complex/cargf_test.cpp | 23 -------
libc/test/src/complex/cprojf_test.cpp | 12 ++++
libc/utils/MPCWrapper/MPCUtils.cpp | 81 ++++++++++++++++++++++--
libc/utils/MPCWrapper/MPCUtils.h | 1 +
10 files changed, 88 insertions(+), 98 deletions(-)
delete mode 100644 libc/src/complex/cargf.h
delete mode 100644 libc/src/complex/generic/cargf.cpp
delete mode 100644 libc/test/src/complex/cargf_test.cpp
diff --git a/libc/config/linux/x86_64/entrypoints.txt b/libc/config/linux/x86_64/entrypoints.txt
index 692cd2ed13bec6..7e549607716c02 100644
--- a/libc/config/linux/x86_64/entrypoints.txt
+++ b/libc/config/linux/x86_64/entrypoints.txt
@@ -373,7 +373,6 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.complex.cproj
libc.src.complex.cprojf
libc.src.complex.cprojl
- libc.src.complex.cargf
# fenv.h entrypoints
libc.src.fenv.feclearexcept
diff --git a/libc/src/complex/CMakeLists.txt b/libc/src/complex/CMakeLists.txt
index 269c969f26db07..bc66a5445d7274 100644
--- a/libc/src/complex/CMakeLists.txt
+++ b/libc/src/complex/CMakeLists.txt
@@ -36,5 +36,3 @@ add_complex_entrypoint_object(cprojf)
add_complex_entrypoint_object(cprojl)
add_complex_entrypoint_object(cprojf16)
add_complex_entrypoint_object(cprojf128)
-
-add_complex_entrypoint_object(cargf)
diff --git a/libc/src/complex/cargf.h b/libc/src/complex/cargf.h
deleted file mode 100644
index 24d3cc0684fc8f..00000000000000
--- a/libc/src/complex/cargf.h
+++ /dev/null
@@ -1,20 +0,0 @@
-//===-- Implementation header for cargf -------------------------*- C++ -*-===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_LIBC_SRC_COMPLEX_CARGF_H
-#define LLVM_LIBC_SRC_COMPLEX_CARGF_H
-
-#include "src/__support/macros/config.h"
-
-namespace LIBC_NAMESPACE_DECL {
-
-float cargf(_Complex float x);
-
-} // namespace LIBC_NAMESPACE_DECL
-
-#endif // LLVM_LIBC_SRC_COMPLEX_CARGF_H
diff --git a/libc/src/complex/generic/CMakeLists.txt b/libc/src/complex/generic/CMakeLists.txt
index 96588712b7cfa5..3dae6f8a614953 100644
--- a/libc/src/complex/generic/CMakeLists.txt
+++ b/libc/src/complex/generic/CMakeLists.txt
@@ -1,16 +1,3 @@
-add_entrypoint_object(
- cargf
- SRCS
- cargf.cpp
- HDRS
- ../cargf.h
- COMPILE_OPTIONS
- ${libc_opt_high_flag}
- DEPENDS
- libc.src.__support.complex_type
- libc.src.math.atan2f
-)
-
add_entrypoint_object(
cproj
SRCS
diff --git a/libc/src/complex/generic/cargf.cpp b/libc/src/complex/generic/cargf.cpp
deleted file mode 100644
index 86340c2f1c805f..00000000000000
--- a/libc/src/complex/generic/cargf.cpp
+++ /dev/null
@@ -1,21 +0,0 @@
-//===-- Implementation of cargf function ----------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#include "src/complex/cargf.h"
-#include "src/__support/common.h"
-#include "src/__support/complex_type.h"
-#include "src/math/atan2f.h"
-
-namespace LIBC_NAMESPACE_DECL {
-
-LLVM_LIBC_FUNCTION(float, cargf, (_Complex float x)) {
- Complex<float> x_c = cpp::bit_cast<Complex<float>>(x);
- return atan2f(x_c.imag, x_c.real);
-}
-
-} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/test/src/complex/CMakeLists.txt b/libc/test/src/complex/CMakeLists.txt
index ee4373ccca270c..681526da0596d1 100644
--- a/libc/test/src/complex/CMakeLists.txt
+++ b/libc/test/src/complex/CMakeLists.txt
@@ -1,16 +1,5 @@
add_custom_target(libc-complex-unittests)
-add_cfp_unittest(
- cargf_test
- NEED_MPC
- SUITE
- libc-complex-unittests
- SRCS
- cargf_test.cpp
- DEPENDS
- libc.src.complex.cargf
-)
-
add_cfp_unittest(
conj_test
SUITE
@@ -73,6 +62,7 @@ add_cfp_unittest(
add_cfp_unittest(
cprojf_test
+ NEED_MPC
SUITE
libc-complex-unittests
SRCS
diff --git a/libc/test/src/complex/cargf_test.cpp b/libc/test/src/complex/cargf_test.cpp
deleted file mode 100644
index a63f90ae133c9f..00000000000000
--- a/libc/test/src/complex/cargf_test.cpp
+++ /dev/null
@@ -1,23 +0,0 @@
-//===-- Unittests for cargf -----------------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#include "src/complex/cargf.h"
-
-#include "test/UnitTest/FPMatcher.h"
-#include "test/UnitTest/Test.h"
-#include "utils/MPCWrapper/MPCUtils.h"
-
-using LlvmLibcCargTest = LIBC_NAMESPACE::testing::FPTest<float>;
-
-namespace mpc = LIBC_NAMESPACE::testing::mpc;
-
-TEST_F(LlvmLibcCargTest, RandomFloats) {
- _Complex float test1 = 5.0 + 10.0i;
- EXPECT_MPC_MATCH_ALL_ROUNDING(mpc::Operation::Carg, test1,
- LIBC_NAMESPACE::cargf(test1), 0.5);
-}
diff --git a/libc/test/src/complex/cprojf_test.cpp b/libc/test/src/complex/cprojf_test.cpp
index 7123ed4e28d4b8..4635aa17ad02d2 100644
--- a/libc/test/src/complex/cprojf_test.cpp
+++ b/libc/test/src/complex/cprojf_test.cpp
@@ -10,4 +10,16 @@
#include "src/complex/cprojf.h"
+#include "utils/MPCWrapper/MPCUtils.h"
+
+using LlvmLibcCprojTestMPC = LIBC_NAMESPACE::testing::FPTest<float>;
+
+namespace mpc = LIBC_NAMESPACE::testing::mpc;
+
+TEST_F(LlvmLibcCprojTestMPC, MPCRND) {
+ _Complex float test = 5.0 + 10.0i;
+ EXPECT_MPC_MATCH_ALL_ROUNDING(mpc::Operation::Cproj, test,
+ LIBC_NAMESPACE::cprojf(test), 0.5);
+}
+
LIST_CPROJ_TESTS(_Complex float, float, LIBC_NAMESPACE::cprojf)
diff --git a/libc/utils/MPCWrapper/MPCUtils.cpp b/libc/utils/MPCWrapper/MPCUtils.cpp
index 4e35354d321c1e..200906a066e3e7 100644
--- a/libc/utils/MPCWrapper/MPCUtils.cpp
+++ b/libc/utils/MPCWrapper/MPCUtils.cpp
@@ -135,20 +135,34 @@ class MPCNumber {
mpfr_t res;
mpc_t res_mpc;
- mpfr_init2(res, this->mpc_real_precision);
- mpc_init3(res_mpc, this->mpc_real_precision, this->mpc_imag_precision);
+ mpfr_init2(res, mpc_real_precision);
+ mpc_init3(res_mpc, mpc_real_precision, mpc_imag_precision);
- mpc_arg(res, value, MPC_RND_RE(this->mpc_rounding));
- mpc_set_fr(res_mpc, res, this->mpc_rounding);
+ mpc_arg(res, value, MPC_RND_RE(mpc_rounding));
+ mpc_set_fr(res_mpc, res, mpc_rounding);
- MPCNumber result(res_mpc, this->mpc_real_precision,
- this->mpc_imag_precision, this->mpc_rounding);
+ MPCNumber result(res_mpc, mpc_real_precision,mpc_imag_precision, mpc_rounding);
mpfr_clear(res);
mpc_clear(res_mpc);
return result;
}
+
+ MPCNumber cproj() const {
+
+ mpc_t res;
+
+ mpc_init3(res, mpc_real_precision, mpc_imag_precision);
+
+ mpc_proj(res, value, mpc_rounding);
+
+ MPCNumber result(res, mpc_real_precision, mpc_imag_precision, mpc_rounding);
+
+ mpc_clear(res);
+
+ return result;
+ }
};
namespace internal {
@@ -161,6 +175,8 @@ unary_operation(Operation op, InputType input, unsigned int precision,
switch (op) {
case Operation::Carg:
return mpcInput.carg();
+ case Operation::Cproj:
+ return mpcInput.cproj();
default:
__builtin_unreachable();
}
@@ -271,7 +287,7 @@ void explain_unary_operation_single_output_different_type_error(
msg << " Rounding mode: " << str(rounding.Rrnd) << " , "
<< str(rounding.Irnd) << '\n';
msg << " Libc: " << mpfrLibcResult.str() << '\n';
- msg << " MPFR: " << mpfr_result.str() << '\n';
+ msg << " MPC: " << mpfr_result.str() << '\n';
msg << '\n';
msg << " ULP error: " << mpfr_result.ulp_as_mpfr_number(libc_result).str()
<< '\n';
@@ -283,6 +299,57 @@ template void explain_unary_operation_single_output_different_type_error(
template void explain_unary_operation_single_output_different_type_error(
Operation, _Complex double, double, double, MPCRoundingMode);
+template <typename InputType, typename OutputType>
+void explain_unary_operation_single_output_same_type_error(
+ Operation op, InputType input, OutputType libc_result, double ulp_tolerance,
+ MPCRoundingMode rounding) {
+
+ unsigned int precision =
+ mpfr::get_precision<get_real_t<InputType>>(ulp_tolerance);
+
+ MPCNumber mpc_result;
+ mpc_result = unary_operation(op, input, precision, rounding);
+
+ mpc_t mpc_result_val;
+ mpc_init3(mpc_result_val, precision, precision);
+ mpc_result.getValue(mpc_result_val);
+
+ mpfr_t real, imag;
+ mpfr_init2(real, precision);
+ mpfr_init2(imag, precision);
+ mpc_real(real, mpc_result_val, mpfr::get_mpfr_rounding_mode(rounding.Rrnd));
+ mpc_imag(imag, mpc_result_val, mpfr::get_mpfr_rounding_mode(rounding.Irnd));
+
+ mpfr::MPFRNumber mpfr_real(real, precision, rounding.Rrnd);
+ mpfr::MPFRNumber mpfr_imag(imag, precision, rounding.Irnd);
+ mpfr::MPFRNumber mpfrLibcResultReal(cpp::bit_cast<MPCComplex<get_real_t<InputType>>>(libc_result).real, precision, rounding.Rrnd);
+ mpfr::MPFRNumber mpfrLibcResultImag(cpp::bit_cast<MPCComplex<get_real_t<InputType>>>(libc_result).imag, precision, rounding.Irnd);
+ mpfr::MPFRNumber mpfrInputReal(
+ cpp::bit_cast<MPCComplex<get_real_t<InputType>>>(input).real, precision,
+ rounding.Rrnd);
+ mpfr::MPFRNumber mpfrInputImag(
+ cpp::bit_cast<MPCComplex<get_real_t<InputType>>>(input).imag, precision,
+ rounding.Irnd);
+
+ cpp::array<char, 2048> msg_buf;
+ cpp::StringStream msg(msg_buf);
+ msg << "Match value not within tolerance value of MPFR result:\n"
+ << " Input: " << mpfrInputReal.str() << " + " << mpfrInputImag.str()
+ << "i" << '\n';
+ msg << " Rounding mode: " << str(rounding.Rrnd) << " , "
+ << str(rounding.Irnd) << '\n';
+ msg << " Libc: " << mpfrLibcResultReal.str() << " + " << mpfrLibcResultImag.str() << "i" << '\n';
+ msg << " MPC: " << mpfr_real.str() << " + " << mpfr_imag.str() << "i" << '\n';
+ msg << '\n';
+ msg << " ULP error: " << mpfr_real.ulp_as_mpfr_number(cpp::bit_cast<MPCComplex<get_real_t<InputType>>>(libc_result).real).str() << " , " << mpfr_imag.ulp_as_mpfr_number(cpp::bit_cast<MPCComplex<get_real_t<InputType>>>(libc_result).imag).str() << '\n';
+ tlog << msg.str();
+}
+
+template void explain_unary_operation_single_output_same_type_error(
+ Operation, _Complex float, _Complex float, double, MPCRoundingMode);
+template void explain_unary_operation_single_output_same_type_error(
+ Operation, _Complex double, _Complex double, double, MPCRoundingMode);
+
} // namespace internal
} // namespace mpc
diff --git a/libc/utils/MPCWrapper/MPCUtils.h b/libc/utils/MPCWrapper/MPCUtils.h
index 62c2b8f755b658..7f8b8a45c2b7e6 100644
--- a/libc/utils/MPCWrapper/MPCUtils.h
+++ b/libc/utils/MPCWrapper/MPCUtils.h
@@ -36,6 +36,7 @@ enum class Operation {
// and produce a single complex floating point number of the same kind
// as output.
BeginUnaryOperationsSingleOutputSameOutputType,
+ Cproj,
Csqrt,
Clog,
Cexp,
>From e65fe5949c597dbe0778333d36a98b3e1da3ed0a Mon Sep 17 00:00:00 2001
From: Sh0g0-1758 <shouryagoel10000 at gmail.com>
Date: Thu, 9 Jan 2025 00:59:40 +0530
Subject: [PATCH 24/46] free mpc
---
libc/utils/MPCWrapper/MPCUtils.cpp | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/libc/utils/MPCWrapper/MPCUtils.cpp b/libc/utils/MPCWrapper/MPCUtils.cpp
index 200906a066e3e7..443175d6affb0f 100644
--- a/libc/utils/MPCWrapper/MPCUtils.cpp
+++ b/libc/utils/MPCWrapper/MPCUtils.cpp
@@ -212,6 +212,9 @@ bool compare_unary_operation_single_output_same_type(Operation op,
(cpp::bit_cast<MPCComplex<get_real_t<InputType>>>(libc_result)).real);
double ulp_imag = mpfr_imag.ulp(
(cpp::bit_cast<MPCComplex<get_real_t<InputType>>>(libc_result)).imag);
+ mpc_clear(mpc_result_val);
+ mpfr_clear(real);
+ mpfr_clear(imag);
return ((ulp_real <= ulp_tolerance) && (ulp_imag <= ulp_tolerance));
}
@@ -242,7 +245,8 @@ bool compare_unary_operation_single_output_different_type(
mpfr::MPFRNumber mpfr_real(real, precision, rounding.Rrnd);
double ulp_real = mpfr_real.ulp(libc_result);
-
+ mpc_clear(mpc_result_val);
+ mpfr_clear(real);
return (ulp_real <= ulp_tolerance);
}
@@ -292,6 +296,8 @@ void explain_unary_operation_single_output_different_type_error(
msg << " ULP error: " << mpfr_result.ulp_as_mpfr_number(libc_result).str()
<< '\n';
tlog << msg.str();
+ mpc_clear(mpc_result_val);
+ mpfr_clear(real);
}
template void explain_unary_operation_single_output_different_type_error(
@@ -343,6 +349,9 @@ void explain_unary_operation_single_output_same_type_error(
msg << '\n';
msg << " ULP error: " << mpfr_real.ulp_as_mpfr_number(cpp::bit_cast<MPCComplex<get_real_t<InputType>>>(libc_result).real).str() << " , " << mpfr_imag.ulp_as_mpfr_number(cpp::bit_cast<MPCComplex<get_real_t<InputType>>>(libc_result).imag).str() << '\n';
tlog << msg.str();
+ mpc_clear(mpc_result_val);
+ mpfr_clear(real);
+ mpfr_clear(imag);
}
template void explain_unary_operation_single_output_same_type_error(
>From 17663c6d13bd13d3ca52646e7f4fba05afd01deb Mon Sep 17 00:00:00 2001
From: Sh0g0-1758 <shouryagoel10000 at gmail.com>
Date: Thu, 9 Jan 2025 01:00:38 +0530
Subject: [PATCH 25/46] MPC fmt
---
libc/utils/MPCWrapper/MPCUtils.cpp | 31 ++++++++++++++++++++++++------
1 file changed, 25 insertions(+), 6 deletions(-)
diff --git a/libc/utils/MPCWrapper/MPCUtils.cpp b/libc/utils/MPCWrapper/MPCUtils.cpp
index 443175d6affb0f..bfeb2819749a38 100644
--- a/libc/utils/MPCWrapper/MPCUtils.cpp
+++ b/libc/utils/MPCWrapper/MPCUtils.cpp
@@ -141,7 +141,8 @@ class MPCNumber {
mpc_arg(res, value, MPC_RND_RE(mpc_rounding));
mpc_set_fr(res_mpc, res, mpc_rounding);
- MPCNumber result(res_mpc, mpc_real_precision,mpc_imag_precision, mpc_rounding);
+ MPCNumber result(res_mpc, mpc_real_precision, mpc_imag_precision,
+ mpc_rounding);
mpfr_clear(res);
mpc_clear(res_mpc);
@@ -328,8 +329,12 @@ void explain_unary_operation_single_output_same_type_error(
mpfr::MPFRNumber mpfr_real(real, precision, rounding.Rrnd);
mpfr::MPFRNumber mpfr_imag(imag, precision, rounding.Irnd);
- mpfr::MPFRNumber mpfrLibcResultReal(cpp::bit_cast<MPCComplex<get_real_t<InputType>>>(libc_result).real, precision, rounding.Rrnd);
- mpfr::MPFRNumber mpfrLibcResultImag(cpp::bit_cast<MPCComplex<get_real_t<InputType>>>(libc_result).imag, precision, rounding.Irnd);
+ mpfr::MPFRNumber mpfrLibcResultReal(
+ cpp::bit_cast<MPCComplex<get_real_t<InputType>>>(libc_result).real,
+ precision, rounding.Rrnd);
+ mpfr::MPFRNumber mpfrLibcResultImag(
+ cpp::bit_cast<MPCComplex<get_real_t<InputType>>>(libc_result).imag,
+ precision, rounding.Irnd);
mpfr::MPFRNumber mpfrInputReal(
cpp::bit_cast<MPCComplex<get_real_t<InputType>>>(input).real, precision,
rounding.Rrnd);
@@ -344,10 +349,24 @@ void explain_unary_operation_single_output_same_type_error(
<< "i" << '\n';
msg << " Rounding mode: " << str(rounding.Rrnd) << " , "
<< str(rounding.Irnd) << '\n';
- msg << " Libc: " << mpfrLibcResultReal.str() << " + " << mpfrLibcResultImag.str() << "i" << '\n';
- msg << " MPC: " << mpfr_real.str() << " + " << mpfr_imag.str() << "i" << '\n';
+ msg << " Libc: " << mpfrLibcResultReal.str() << " + "
+ << mpfrLibcResultImag.str() << "i" << '\n';
+ msg << " MPC: " << mpfr_real.str() << " + " << mpfr_imag.str() << "i"
+ << '\n';
msg << '\n';
- msg << " ULP error: " << mpfr_real.ulp_as_mpfr_number(cpp::bit_cast<MPCComplex<get_real_t<InputType>>>(libc_result).real).str() << " , " << mpfr_imag.ulp_as_mpfr_number(cpp::bit_cast<MPCComplex<get_real_t<InputType>>>(libc_result).imag).str() << '\n';
+ msg << " ULP error: "
+ << mpfr_real
+ .ulp_as_mpfr_number(
+ cpp::bit_cast<MPCComplex<get_real_t<InputType>>>(libc_result)
+ .real)
+ .str()
+ << " , "
+ << mpfr_imag
+ .ulp_as_mpfr_number(
+ cpp::bit_cast<MPCComplex<get_real_t<InputType>>>(libc_result)
+ .imag)
+ .str()
+ << '\n';
tlog << msg.str();
mpc_clear(mpc_result_val);
mpfr_clear(real);
>From f80dff355b10c70743e3933bdf04d5df8f5b9aeb Mon Sep 17 00:00:00 2001
From: Sh0g0-1758 <shouryagoel10000 at gmail.com>
Date: Thu, 9 Jan 2025 01:18:12 +0530
Subject: [PATCH 26/46] fix: only check for mpc if mpfr is present
---
libc/cmake/modules/LLVMLibCCheckMPC.cmake | 38 ++++++++++++-----------
1 file changed, 20 insertions(+), 18 deletions(-)
diff --git a/libc/cmake/modules/LLVMLibCCheckMPC.cmake b/libc/cmake/modules/LLVMLibCCheckMPC.cmake
index 63f37932052142..633719b77575cf 100644
--- a/libc/cmake/modules/LLVMLibCCheckMPC.cmake
+++ b/libc/cmake/modules/LLVMLibCCheckMPC.cmake
@@ -1,20 +1,22 @@
-set(LLVM_LIBC_MPC_INSTALL_PATH "" CACHE PATH "Path to where MPC is installed (e.g. C:/src/install or ~/src/install)")
+if(LIBC_TESTS_CAN_USE_MPFR)
+ set(LLVM_LIBC_MPC_INSTALL_PATH "" CACHE PATH "Path to where MPC is installed (e.g. C:/src/install or ~/src/install)")
-if(LLVM_LIBC_MPC_INSTALL_PATH)
- set(LIBC_TESTS_CAN_USE_MPC TRUE)
-elseif(LIBC_TARGET_OS_IS_GPU OR LLVM_LIBC_FULL_BUILD)
- # In full build mode, the MPC library should be built using our own facilities,
- # which is currently not possible.
- set(LIBC_TESTS_CAN_USE_MPC FALSE)
-else()
- try_compile(
- LIBC_TESTS_CAN_USE_MPC
- ${CMAKE_CURRENT_BINARY_DIR}
- SOURCES
- ${LIBC_SOURCE_DIR}/utils/MPCWrapper/check_mpc.cpp
- COMPILE_DEFINITIONS
- ${LIBC_COMPILE_OPTIONS_DEFAULT}
- LINK_LIBRARIES
- -lmpc -lmpfr -lgmp -latomic
- )
+ if(LLVM_LIBC_MPC_INSTALL_PATH)
+ set(LIBC_TESTS_CAN_USE_MPC TRUE)
+ elseif(LIBC_TARGET_OS_IS_GPU OR LLVM_LIBC_FULL_BUILD)
+ # In full build mode, the MPC library should be built using our own facilities,
+ # which is currently not possible.
+ set(LIBC_TESTS_CAN_USE_MPC FALSE)
+ else()
+ try_compile(
+ LIBC_TESTS_CAN_USE_MPC
+ ${CMAKE_CURRENT_BINARY_DIR}
+ SOURCES
+ ${LIBC_SOURCE_DIR}/utils/MPCWrapper/check_mpc.cpp
+ COMPILE_DEFINITIONS
+ ${LIBC_COMPILE_OPTIONS_DEFAULT}
+ LINK_LIBRARIES
+ -lmpc -lmpfr -lgmp -latomic
+ )
+ endif()
endif()
>From e56a349d5efd86f78e172a5ca98578b98a07eb5a Mon Sep 17 00:00:00 2001
From: Sh0g0-1758 <shouryagoel10000 at gmail.com>
Date: Thu, 9 Jan 2025 01:38:20 +0530
Subject: [PATCH 27/46] Expose a single rounding mode
---
libc/utils/MPCWrapper/MPCUtils.cpp | 141 ++++++++++++++---------------
libc/utils/MPCWrapper/MPCUtils.h | 60 +++++-------
2 files changed, 92 insertions(+), 109 deletions(-)
diff --git a/libc/utils/MPCWrapper/MPCUtils.cpp b/libc/utils/MPCWrapper/MPCUtils.cpp
index bfeb2819749a38..61c558326a43c3 100644
--- a/libc/utils/MPCWrapper/MPCUtils.cpp
+++ b/libc/utils/MPCWrapper/MPCUtils.cpp
@@ -54,20 +54,19 @@ template <typename T> struct MPCComplex {
class MPCNumber {
private:
- unsigned int mpc_real_precision;
- unsigned int mpc_imag_precision;
+ unsigned int precision;
mpc_t value;
mpc_rnd_t mpc_rounding;
public:
- MPCNumber(unsigned int r_p, unsigned int i_p)
- : mpc_real_precision(r_p), mpc_imag_precision(i_p),
+ MPCNumber(unsigned int p)
+ : precision(p),
mpc_rounding(MPC_RNDNN) {
- mpc_init3(value, mpc_real_precision, mpc_imag_precision);
+ mpc_init2(value, precision);
}
MPCNumber()
- : mpc_real_precision(256), mpc_imag_precision(256),
+ : precision(256),
mpc_rounding(MPC_RNDNN) {
mpc_init2(value, 256);
}
@@ -76,54 +75,53 @@ class MPCNumber {
cpp::enable_if_t<cpp::is_same_v<_Complex float, XType>, bool> = 0>
MPCNumber(XType x,
unsigned int precision = mpfr::ExtraPrecision<float>::VALUE,
- MPCRoundingMode rounding = MPCRoundingMode(RoundingMode::Nearest,
- RoundingMode::Nearest))
- : mpc_real_precision(precision), mpc_imag_precision(precision),
- mpc_rounding(MPC_RND(mpfr::get_mpfr_rounding_mode(rounding.Rrnd),
- mpfr::get_mpfr_rounding_mode(rounding.Irnd))) {
+ RoundingMode rnd = RoundingMode::Nearest)
+ : precision(precision),
+ mpc_rounding(MPC_RND(mpfr::get_mpfr_rounding_mode(rnd),
+ mpfr::get_mpfr_rounding_mode(rnd))) {
mpc_init2(value, precision);
MPCComplex<float> x_c = cpp::bit_cast<MPCComplex<float>>(x);
mpfr_t real, imag;
mpfr_init2(real, precision);
mpfr_init2(imag, precision);
- mpfr_set_flt(real, x_c.real, mpfr::get_mpfr_rounding_mode(rounding.Rrnd));
- mpfr_set_flt(imag, x_c.imag, mpfr::get_mpfr_rounding_mode(rounding.Irnd));
+ mpfr_set_flt(real, x_c.real, mpfr::get_mpfr_rounding_mode(rnd));
+ mpfr_set_flt(imag, x_c.imag, mpfr::get_mpfr_rounding_mode(rnd));
mpc_set_fr_fr(value, real, imag, mpc_rounding);
+ mpfr_clear(real);
+ mpfr_clear(imag);
}
template <typename XType,
cpp::enable_if_t<cpp::is_same_v<_Complex double, XType>, bool> = 0>
MPCNumber(XType x,
unsigned int precision = mpfr::ExtraPrecision<double>::VALUE,
- MPCRoundingMode rounding = MPCRoundingMode(RoundingMode::Nearest,
- RoundingMode::Nearest))
- : mpc_real_precision(precision), mpc_imag_precision(precision),
- mpc_rounding(MPC_RND(mpfr::get_mpfr_rounding_mode(rounding.Rrnd),
- mpfr::get_mpfr_rounding_mode(rounding.Irnd))) {
+ RoundingMode rnd = RoundingMode::Nearest)
+ : precision(precision),
+ mpc_rounding(MPC_RND(mpfr::get_mpfr_rounding_mode(rnd),
+ mpfr::get_mpfr_rounding_mode(rnd))) {
mpc_init2(value, precision);
MPCComplex<double> x_c = cpp::bit_cast<MPCComplex<double>>(x);
mpc_set_d_d(value, x_c.real, x_c.imag, mpc_rounding);
}
MPCNumber(const MPCNumber &other)
- : mpc_real_precision(other.mpc_real_precision),
- mpc_imag_precision(other.mpc_imag_precision),
+ : precision(other.precision),
mpc_rounding(other.mpc_rounding) {
- mpc_init3(value, mpc_real_precision, mpc_imag_precision);
+ mpc_init2(value, precision);
mpc_set(value, other.value, mpc_rounding);
}
MPCNumber &operator=(const MPCNumber &rhs) {
- mpc_real_precision = rhs.mpc_real_precision;
- mpc_imag_precision = rhs.mpc_imag_precision;
+ precision = rhs.precision;
mpc_rounding = rhs.mpc_rounding;
+ mpc_init2(value, precision);
mpc_set(value, rhs.value, mpc_rounding);
return *this;
}
- MPCNumber(const mpc_t x, unsigned int r_p, unsigned int i_p, mpc_rnd_t rnd)
- : mpc_real_precision(r_p), mpc_imag_precision(i_p), mpc_rounding(rnd) {
- mpc_init3(value, mpc_real_precision, mpc_imag_precision);
+ MPCNumber(const mpc_t x,unsigned int p, mpc_rnd_t rnd)
+ : precision(p), mpc_rounding(rnd) {
+ mpc_init2(value, precision);
mpc_set(value, x, mpc_rounding);
}
@@ -135,14 +133,13 @@ class MPCNumber {
mpfr_t res;
mpc_t res_mpc;
- mpfr_init2(res, mpc_real_precision);
- mpc_init3(res_mpc, mpc_real_precision, mpc_imag_precision);
+ mpfr_init2(res, precision);
+ mpc_init2(res_mpc, precision);
mpc_arg(res, value, MPC_RND_RE(mpc_rounding));
mpc_set_fr(res_mpc, res, mpc_rounding);
- MPCNumber result(res_mpc, mpc_real_precision, mpc_imag_precision,
- mpc_rounding);
+ MPCNumber result(res_mpc, precision, mpc_rounding);
mpfr_clear(res);
mpc_clear(res_mpc);
@@ -154,11 +151,11 @@ class MPCNumber {
mpc_t res;
- mpc_init3(res, mpc_real_precision, mpc_imag_precision);
+ mpc_init2(res, precision);
mpc_proj(res, value, mpc_rounding);
- MPCNumber result(res, mpc_real_precision, mpc_imag_precision, mpc_rounding);
+ MPCNumber result(res, precision, mpc_rounding);
mpc_clear(res);
@@ -171,7 +168,7 @@ namespace internal {
template <typename InputType>
cpp::enable_if_t<cpp::is_complex_v<InputType>, MPCNumber>
unary_operation(Operation op, InputType input, unsigned int precision,
- MPCRoundingMode rounding) {
+ RoundingMode rounding) {
MPCNumber mpcInput(input, precision, rounding);
switch (op) {
case Operation::Carg:
@@ -188,7 +185,7 @@ bool compare_unary_operation_single_output_same_type(Operation op,
InputType input,
OutputType libc_result,
double ulp_tolerance,
- MPCRoundingMode rounding) {
+ RoundingMode rounding) {
unsigned int precision =
mpfr::get_precision<get_real_t<InputType>>(ulp_tolerance);
@@ -197,17 +194,17 @@ bool compare_unary_operation_single_output_same_type(Operation op,
mpc_result = unary_operation(op, input, precision, rounding);
mpc_t mpc_result_val;
- mpc_init3(mpc_result_val, precision, precision);
+ mpc_init2(mpc_result_val, precision);
mpc_result.getValue(mpc_result_val);
mpfr_t real, imag;
mpfr_init2(real, precision);
mpfr_init2(imag, precision);
- mpc_real(real, mpc_result_val, mpfr::get_mpfr_rounding_mode(rounding.Rrnd));
- mpc_imag(imag, mpc_result_val, mpfr::get_mpfr_rounding_mode(rounding.Irnd));
+ mpc_real(real, mpc_result_val, mpfr::get_mpfr_rounding_mode(rounding));
+ mpc_imag(imag, mpc_result_val, mpfr::get_mpfr_rounding_mode(rounding));
- mpfr::MPFRNumber mpfr_real(real, precision, rounding.Rrnd);
- mpfr::MPFRNumber mpfr_imag(imag, precision, rounding.Irnd);
+ mpfr::MPFRNumber mpfr_real(real, precision, rounding);
+ mpfr::MPFRNumber mpfr_imag(imag, precision, rounding);
double ulp_real = mpfr_real.ulp(
(cpp::bit_cast<MPCComplex<get_real_t<InputType>>>(libc_result)).real);
@@ -220,14 +217,14 @@ bool compare_unary_operation_single_output_same_type(Operation op,
}
template bool compare_unary_operation_single_output_same_type(
- Operation, _Complex float, _Complex float, double, MPCRoundingMode);
+ Operation, _Complex float, _Complex float, double, RoundingMode);
template bool compare_unary_operation_single_output_same_type(
- Operation, _Complex double, _Complex double, double, MPCRoundingMode);
+ Operation, _Complex double, _Complex double, double, RoundingMode);
template <typename InputType, typename OutputType>
bool compare_unary_operation_single_output_different_type(
Operation op, InputType input, OutputType libc_result, double ulp_tolerance,
- MPCRoundingMode rounding) {
+ RoundingMode rounding) {
unsigned int precision =
mpfr::get_precision<get_real_t<InputType>>(ulp_tolerance);
@@ -236,14 +233,14 @@ bool compare_unary_operation_single_output_different_type(
mpc_result = unary_operation(op, input, precision, rounding);
mpc_t mpc_result_val;
- mpc_init3(mpc_result_val, precision, precision);
+ mpc_init2(mpc_result_val, precision);
mpc_result.getValue(mpc_result_val);
mpfr_t real;
mpfr_init2(real, precision);
- mpc_real(real, mpc_result_val, mpfr::get_mpfr_rounding_mode(rounding.Rrnd));
+ mpc_real(real, mpc_result_val, mpfr::get_mpfr_rounding_mode(rounding));
- mpfr::MPFRNumber mpfr_real(real, precision, rounding.Rrnd);
+ mpfr::MPFRNumber mpfr_real(real, precision, rounding);
double ulp_real = mpfr_real.ulp(libc_result);
mpc_clear(mpc_result_val);
@@ -252,14 +249,14 @@ bool compare_unary_operation_single_output_different_type(
}
template bool compare_unary_operation_single_output_different_type(
- Operation, _Complex float, float, double, MPCRoundingMode);
+ Operation, _Complex float, float, double, RoundingMode);
template bool compare_unary_operation_single_output_different_type(
- Operation, _Complex double, double, double, MPCRoundingMode);
+ Operation, _Complex double, double, double, RoundingMode);
template <typename InputType, typename OutputType>
void explain_unary_operation_single_output_different_type_error(
Operation op, InputType input, OutputType libc_result, double ulp_tolerance,
- MPCRoundingMode rounding) {
+ RoundingMode rounding) {
unsigned int precision =
mpfr::get_precision<get_real_t<InputType>>(ulp_tolerance);
@@ -268,29 +265,29 @@ void explain_unary_operation_single_output_different_type_error(
mpc_result = unary_operation(op, input, precision, rounding);
mpc_t mpc_result_val;
- mpc_init3(mpc_result_val, precision, precision);
+ mpc_init2(mpc_result_val, precision);
mpc_result.getValue(mpc_result_val);
mpfr_t real;
mpfr_init2(real, precision);
- mpc_real(real, mpc_result_val, mpfr::get_mpfr_rounding_mode(rounding.Rrnd));
+ mpc_real(real, mpc_result_val, mpfr::get_mpfr_rounding_mode(rounding));
- mpfr::MPFRNumber mpfr_result(real, precision, rounding.Rrnd);
- mpfr::MPFRNumber mpfrLibcResult(libc_result, precision, rounding.Rrnd);
+ mpfr::MPFRNumber mpfr_result(real, precision, rounding);
+ mpfr::MPFRNumber mpfrLibcResult(libc_result, precision, rounding);
mpfr::MPFRNumber mpfrInputReal(
cpp::bit_cast<MPCComplex<get_real_t<InputType>>>(input).real, precision,
- rounding.Rrnd);
+ rounding);
mpfr::MPFRNumber mpfrInputImag(
cpp::bit_cast<MPCComplex<get_real_t<InputType>>>(input).imag, precision,
- rounding.Irnd);
+ rounding);
cpp::array<char, 2048> msg_buf;
cpp::StringStream msg(msg_buf);
msg << "Match value not within tolerance value of MPFR result:\n"
<< " Input: " << mpfrInputReal.str() << " + " << mpfrInputImag.str()
<< "i" << '\n';
- msg << " Rounding mode: " << str(rounding.Rrnd) << " , "
- << str(rounding.Irnd) << '\n';
+ msg << " Rounding mode: " << str(rounding) << " , "
+ << str(rounding) << '\n';
msg << " Libc: " << mpfrLibcResult.str() << '\n';
msg << " MPC: " << mpfr_result.str() << '\n';
msg << '\n';
@@ -302,14 +299,14 @@ void explain_unary_operation_single_output_different_type_error(
}
template void explain_unary_operation_single_output_different_type_error(
- Operation, _Complex float, float, double, MPCRoundingMode);
+ Operation, _Complex float, float, double, RoundingMode);
template void explain_unary_operation_single_output_different_type_error(
- Operation, _Complex double, double, double, MPCRoundingMode);
+ Operation, _Complex double, double, double, RoundingMode);
template <typename InputType, typename OutputType>
void explain_unary_operation_single_output_same_type_error(
Operation op, InputType input, OutputType libc_result, double ulp_tolerance,
- MPCRoundingMode rounding) {
+ RoundingMode rounding) {
unsigned int precision =
mpfr::get_precision<get_real_t<InputType>>(ulp_tolerance);
@@ -318,37 +315,37 @@ void explain_unary_operation_single_output_same_type_error(
mpc_result = unary_operation(op, input, precision, rounding);
mpc_t mpc_result_val;
- mpc_init3(mpc_result_val, precision, precision);
+ mpc_init2(mpc_result_val, precision);
mpc_result.getValue(mpc_result_val);
mpfr_t real, imag;
mpfr_init2(real, precision);
mpfr_init2(imag, precision);
- mpc_real(real, mpc_result_val, mpfr::get_mpfr_rounding_mode(rounding.Rrnd));
- mpc_imag(imag, mpc_result_val, mpfr::get_mpfr_rounding_mode(rounding.Irnd));
+ mpc_real(real, mpc_result_val, mpfr::get_mpfr_rounding_mode(rounding));
+ mpc_imag(imag, mpc_result_val, mpfr::get_mpfr_rounding_mode(rounding));
- mpfr::MPFRNumber mpfr_real(real, precision, rounding.Rrnd);
- mpfr::MPFRNumber mpfr_imag(imag, precision, rounding.Irnd);
+ mpfr::MPFRNumber mpfr_real(real, precision, rounding);
+ mpfr::MPFRNumber mpfr_imag(imag, precision, rounding);
mpfr::MPFRNumber mpfrLibcResultReal(
cpp::bit_cast<MPCComplex<get_real_t<InputType>>>(libc_result).real,
- precision, rounding.Rrnd);
+ precision, rounding);
mpfr::MPFRNumber mpfrLibcResultImag(
cpp::bit_cast<MPCComplex<get_real_t<InputType>>>(libc_result).imag,
- precision, rounding.Irnd);
+ precision, rounding);
mpfr::MPFRNumber mpfrInputReal(
cpp::bit_cast<MPCComplex<get_real_t<InputType>>>(input).real, precision,
- rounding.Rrnd);
+ rounding);
mpfr::MPFRNumber mpfrInputImag(
cpp::bit_cast<MPCComplex<get_real_t<InputType>>>(input).imag, precision,
- rounding.Irnd);
+ rounding);
cpp::array<char, 2048> msg_buf;
cpp::StringStream msg(msg_buf);
msg << "Match value not within tolerance value of MPFR result:\n"
<< " Input: " << mpfrInputReal.str() << " + " << mpfrInputImag.str()
<< "i" << '\n';
- msg << " Rounding mode: " << str(rounding.Rrnd) << " , "
- << str(rounding.Irnd) << '\n';
+ msg << " Rounding mode: " << str(rounding) << " , "
+ << str(rounding) << '\n';
msg << " Libc: " << mpfrLibcResultReal.str() << " + "
<< mpfrLibcResultImag.str() << "i" << '\n';
msg << " MPC: " << mpfr_real.str() << " + " << mpfr_imag.str() << "i"
@@ -374,9 +371,9 @@ void explain_unary_operation_single_output_same_type_error(
}
template void explain_unary_operation_single_output_same_type_error(
- Operation, _Complex float, _Complex float, double, MPCRoundingMode);
+ Operation, _Complex float, _Complex float, double, RoundingMode);
template void explain_unary_operation_single_output_same_type_error(
- Operation, _Complex double, _Complex double, double, MPCRoundingMode);
+ Operation, _Complex double, _Complex double, double, RoundingMode);
} // namespace internal
diff --git a/libc/utils/MPCWrapper/MPCUtils.h b/libc/utils/MPCWrapper/MPCUtils.h
index 7f8b8a45c2b7e6..6a8c41cf4a88a3 100644
--- a/libc/utils/MPCWrapper/MPCUtils.h
+++ b/libc/utils/MPCWrapper/MPCUtils.h
@@ -64,13 +64,6 @@ enum class Operation {
using LIBC_NAMESPACE::fputil::testing::RoundingMode;
-struct MPCRoundingMode {
- RoundingMode Rrnd;
- RoundingMode Irnd;
-
- MPCRoundingMode(RoundingMode r, RoundingMode i) : Rrnd(r), Irnd(i) {}
-};
-
template <typename T> struct BinaryInput {
static_assert(LIBC_NAMESPACE::cpp::is_complex_v<T>,
"Template parameter of BinaryInput must be a complex floating "
@@ -87,34 +80,34 @@ bool compare_unary_operation_single_output_same_type(Operation op,
InputType input,
OutputType libc_output,
double ulp_tolerance,
- MPCRoundingMode rounding);
+ RoundingMode rounding);
template <typename InputType, typename OutputType>
bool compare_unary_operation_single_output_different_type(
Operation op, InputType input, OutputType libc_output, double ulp_tolerance,
- MPCRoundingMode rounding);
+ RoundingMode rounding);
template <typename InputType, typename OutputType>
bool compare_binary_operation_one_output(Operation op,
const BinaryInput<InputType> &input,
OutputType libc_output,
double ulp_tolerance,
- MPCRoundingMode rounding);
+ RoundingMode rounding);
template <typename InputType, typename OutputType>
void explain_unary_operation_single_output_same_type_error(
Operation op, InputType input, OutputType match_value, double ulp_tolerance,
- MPCRoundingMode rounding);
+ RoundingMode rounding);
template <typename InputType, typename OutputType>
void explain_unary_operation_single_output_different_type_error(
Operation op, InputType input, OutputType match_value, double ulp_tolerance,
- MPCRoundingMode rounding);
+ RoundingMode rounding);
template <typename InputType, typename OutputType>
void explain_binary_operation_one_output_error(
Operation op, const BinaryInput<InputType> &input, OutputType match_value,
- double ulp_tolerance, MPCRoundingMode rounding);
+ double ulp_tolerance, RoundingMode rounding);
template <Operation op, typename InputType, typename OutputType>
class MPCMatcher : public testing::Matcher<OutputType> {
@@ -122,11 +115,11 @@ class MPCMatcher : public testing::Matcher<OutputType> {
InputType input;
OutputType match_value;
double ulp_tolerance;
- MPCRoundingMode rounding;
+ RoundingMode rounding;
public:
MPCMatcher(InputType testInput, double ulp_tolerance,
- MPCRoundingMode rounding)
+ RoundingMode rounding)
: input(testInput), ulp_tolerance(ulp_tolerance), rounding(rounding) {}
bool match(OutputType libcResult) {
@@ -223,7 +216,7 @@ template <Operation op, typename InputType, typename OutputType>
cpp::enable_if_t<is_valid_operation<op, InputType, OutputType>(),
internal::MPCMatcher<op, InputType, OutputType>>
get_mpc_matcher(InputType input, [[maybe_unused]] OutputType output,
- double ulp_tolerance, MPCRoundingMode rounding) {
+ double ulp_tolerance, RoundingMode rounding) {
return internal::MPCMatcher<op, InputType, OutputType>(input, ulp_tolerance,
rounding);
}
@@ -237,24 +230,20 @@ get_mpc_matcher(InputType input, [[maybe_unused]] OutputType output,
match_value, \
LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>( \
input, match_value, ulp_tolerance, \
- LIBC_NAMESPACE::testing::mpc::MPCRoundingMode{ \
- LIBC_NAMESPACE::fputil::testing::RoundingMode::Nearest, \
- LIBC_NAMESPACE::fputil::testing::RoundingMode::Nearest}))
+ LIBC_NAMESPACE::fputil::testing::RoundingMode::Nearest))
#define EXPECT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
- Rrounding, Irounding) \
+ rounding) \
EXPECT_THAT(match_value, LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>( \
- input, match_value, ulp_tolerance, \
- LIBC_NAMESPACE::testing::mpc::MPCRoundingMode{ \
- Rrounding, Irounding}))
+ input, match_value, ulp_tolerance, rounding))
#define EXPECT_MPC_MATCH_ALL_ROUNDING_HELPER(i, op, input, match_value, \
- ulp_tolerance, Rrounding) \
+ ulp_tolerance, rounding) \
{ \
- MPCRND::ForceRoundingMode __r##i(Rrounding); \
+ MPCRND::ForceRoundingMode __r##i(rounding); \
if (__r##i.success) { \
EXPECT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
- Rrounding, Rrounding); \
+ rounding); \
} \
}
@@ -269,10 +258,10 @@ get_mpc_matcher(InputType input, [[maybe_unused]] OutputType output,
}
#define TEST_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
- Rrounding, Irounding) \
+ rounding) \
LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>( \
input, match_value, ulp_tolerance, \
- LIBC_NAMESPACE::testing::mpc::MPCRoundingMode{Rrounding, Irounding}) \
+ rounding) \
.match(match_value)
#define ASSERT_MPC_MATCH_DEFAULT(op, input, match_value, ulp_tolerance) \
@@ -280,24 +269,21 @@ get_mpc_matcher(InputType input, [[maybe_unused]] OutputType output,
match_value, \
LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>( \
input, match_value, ulp_tolerance, \
- LIBC_NAMESPACE::testing::mpc::MPCRoundingMode{ \
- LIBC_NAMESPACE::fputil::testing::RoundingMode::Nearest, \
- LIBC_NAMESPACE::fputil::testing::RoundingMode::Nearest}))
+ LIBC_NAMESPACE::fputil::testing::RoundingMode::Nearest))
#define ASSERT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
- Rrounding, Irounding) \
+ rounding) \
ASSERT_THAT(match_value, LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>( \
input, match_value, ulp_tolerance, \
- LIBC_NAMESPACE::testing::mpc::MPCRoundingMode{ \
- Rrounding, Irounding}))
+ rounding))
#define ASSERT_MPC_MATCH_ALL_ROUNDING_HELPER(i, op, input, match_value, \
- ulp_tolerance, Rrounding) \
+ ulp_tolerance, rounding) \
{ \
- MPCRND::ForceRoundingMode __r##i(Rrounding); \
+ MPCRND::ForceRoundingMode __r##i(rounding); \
if (__r##i.success) { \
ASSERT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
- Rrounding, Rrounding); \
+ rounding); \
} \
}
>From 3de816a08af65ef0b6bdef7a0e389be15ae4a427 Mon Sep 17 00:00:00 2001
From: Sh0g0-1758 <shouryagoel10000 at gmail.com>
Date: Thu, 9 Jan 2025 01:39:10 +0530
Subject: [PATCH 28/46] MPC fmt
---
libc/utils/MPCWrapper/MPCUtils.cpp | 19 ++++--------
libc/utils/MPCWrapper/MPCUtils.h | 47 +++++++++++++-----------------
2 files changed, 27 insertions(+), 39 deletions(-)
diff --git a/libc/utils/MPCWrapper/MPCUtils.cpp b/libc/utils/MPCWrapper/MPCUtils.cpp
index 61c558326a43c3..a3ef3af9fc78f7 100644
--- a/libc/utils/MPCWrapper/MPCUtils.cpp
+++ b/libc/utils/MPCWrapper/MPCUtils.cpp
@@ -59,15 +59,11 @@ class MPCNumber {
mpc_rnd_t mpc_rounding;
public:
- MPCNumber(unsigned int p)
- : precision(p),
- mpc_rounding(MPC_RNDNN) {
+ MPCNumber(unsigned int p) : precision(p), mpc_rounding(MPC_RNDNN) {
mpc_init2(value, precision);
}
- MPCNumber()
- : precision(256),
- mpc_rounding(MPC_RNDNN) {
+ MPCNumber() : precision(256), mpc_rounding(MPC_RNDNN) {
mpc_init2(value, 256);
}
@@ -105,8 +101,7 @@ class MPCNumber {
}
MPCNumber(const MPCNumber &other)
- : precision(other.precision),
- mpc_rounding(other.mpc_rounding) {
+ : precision(other.precision), mpc_rounding(other.mpc_rounding) {
mpc_init2(value, precision);
mpc_set(value, other.value, mpc_rounding);
}
@@ -119,7 +114,7 @@ class MPCNumber {
return *this;
}
- MPCNumber(const mpc_t x,unsigned int p, mpc_rnd_t rnd)
+ MPCNumber(const mpc_t x, unsigned int p, mpc_rnd_t rnd)
: precision(p), mpc_rounding(rnd) {
mpc_init2(value, precision);
mpc_set(value, x, mpc_rounding);
@@ -286,8 +281,7 @@ void explain_unary_operation_single_output_different_type_error(
msg << "Match value not within tolerance value of MPFR result:\n"
<< " Input: " << mpfrInputReal.str() << " + " << mpfrInputImag.str()
<< "i" << '\n';
- msg << " Rounding mode: " << str(rounding) << " , "
- << str(rounding) << '\n';
+ msg << " Rounding mode: " << str(rounding) << " , " << str(rounding) << '\n';
msg << " Libc: " << mpfrLibcResult.str() << '\n';
msg << " MPC: " << mpfr_result.str() << '\n';
msg << '\n';
@@ -344,8 +338,7 @@ void explain_unary_operation_single_output_same_type_error(
msg << "Match value not within tolerance value of MPFR result:\n"
<< " Input: " << mpfrInputReal.str() << " + " << mpfrInputImag.str()
<< "i" << '\n';
- msg << " Rounding mode: " << str(rounding) << " , "
- << str(rounding) << '\n';
+ msg << " Rounding mode: " << str(rounding) << " , " << str(rounding) << '\n';
msg << " Libc: " << mpfrLibcResultReal.str() << " + "
<< mpfrLibcResultImag.str() << "i" << '\n';
msg << " MPC: " << mpfr_real.str() << " + " << mpfr_imag.str() << "i"
diff --git a/libc/utils/MPCWrapper/MPCUtils.h b/libc/utils/MPCWrapper/MPCUtils.h
index 6a8c41cf4a88a3..58a1cb0618ce12 100644
--- a/libc/utils/MPCWrapper/MPCUtils.h
+++ b/libc/utils/MPCWrapper/MPCUtils.h
@@ -118,8 +118,7 @@ class MPCMatcher : public testing::Matcher<OutputType> {
RoundingMode rounding;
public:
- MPCMatcher(InputType testInput, double ulp_tolerance,
- RoundingMode rounding)
+ MPCMatcher(InputType testInput, double ulp_tolerance, RoundingMode rounding)
: input(testInput), ulp_tolerance(ulp_tolerance), rounding(rounding) {}
bool match(OutputType libcResult) {
@@ -226,24 +225,23 @@ get_mpc_matcher(InputType input, [[maybe_unused]] OutputType output,
} // namespace LIBC_NAMESPACE_DECL
#define EXPECT_MPC_MATCH_DEFAULT(op, input, match_value, ulp_tolerance) \
- EXPECT_THAT( \
- match_value, \
- LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>( \
- input, match_value, ulp_tolerance, \
- LIBC_NAMESPACE::fputil::testing::RoundingMode::Nearest))
+ EXPECT_THAT(match_value, \
+ LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>( \
+ input, match_value, ulp_tolerance, \
+ LIBC_NAMESPACE::fputil::testing::RoundingMode::Nearest))
#define EXPECT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
- rounding) \
+ rounding) \
EXPECT_THAT(match_value, LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>( \
input, match_value, ulp_tolerance, rounding))
#define EXPECT_MPC_MATCH_ALL_ROUNDING_HELPER(i, op, input, match_value, \
- ulp_tolerance, rounding) \
+ ulp_tolerance, rounding) \
{ \
- MPCRND::ForceRoundingMode __r##i(rounding); \
+ MPCRND::ForceRoundingMode __r##i(rounding); \
if (__r##i.success) { \
EXPECT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
- rounding); \
+ rounding); \
} \
}
@@ -258,32 +256,29 @@ get_mpc_matcher(InputType input, [[maybe_unused]] OutputType output,
}
#define TEST_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
- rounding) \
- LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>( \
- input, match_value, ulp_tolerance, \
- rounding) \
+ rounding) \
+ LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>(input, match_value, \
+ ulp_tolerance, rounding) \
.match(match_value)
#define ASSERT_MPC_MATCH_DEFAULT(op, input, match_value, ulp_tolerance) \
- ASSERT_THAT( \
- match_value, \
- LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>( \
- input, match_value, ulp_tolerance, \
- LIBC_NAMESPACE::fputil::testing::RoundingMode::Nearest))
+ ASSERT_THAT(match_value, \
+ LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>( \
+ input, match_value, ulp_tolerance, \
+ LIBC_NAMESPACE::fputil::testing::RoundingMode::Nearest))
#define ASSERT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
- rounding) \
+ rounding) \
ASSERT_THAT(match_value, LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>( \
- input, match_value, ulp_tolerance, \
- rounding))
+ input, match_value, ulp_tolerance, rounding))
#define ASSERT_MPC_MATCH_ALL_ROUNDING_HELPER(i, op, input, match_value, \
- ulp_tolerance, rounding) \
+ ulp_tolerance, rounding) \
{ \
- MPCRND::ForceRoundingMode __r##i(rounding); \
+ MPCRND::ForceRoundingMode __r##i(rounding); \
if (__r##i.success) { \
ASSERT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
- rounding); \
+ rounding); \
} \
}
>From a04923ea257f64d401568ebde0aebc229d04ecbe Mon Sep 17 00:00:00 2001
From: Sh0g0-1758 <shouryagoel10000 at gmail.com>
Date: Thu, 9 Jan 2025 01:55:19 +0530
Subject: [PATCH 29/46] move project and conjugate to complex_basic_ops
---
libc/src/__support/CMakeLists.txt | 12 ++++++--
libc/src/__support/complex_basic_ops.h | 38 +++++++++++++++++++++++++
libc/src/__support/complex_type.h | 21 --------------
libc/src/complex/generic/CMakeLists.txt | 20 ++++++-------
libc/src/complex/generic/conj.cpp | 2 +-
libc/src/complex/generic/conjf.cpp | 2 +-
libc/src/complex/generic/conjf128.cpp | 2 +-
libc/src/complex/generic/conjf16.cpp | 2 +-
libc/src/complex/generic/conjl.cpp | 2 +-
libc/src/complex/generic/cproj.cpp | 2 +-
libc/src/complex/generic/cprojf.cpp | 2 +-
libc/src/complex/generic/cprojf128.cpp | 2 +-
libc/src/complex/generic/cprojf16.cpp | 2 +-
libc/src/complex/generic/cprojl.cpp | 2 +-
14 files changed, 68 insertions(+), 43 deletions(-)
create mode 100644 libc/src/__support/complex_basic_ops.h
diff --git a/libc/src/__support/CMakeLists.txt b/libc/src/__support/CMakeLists.txt
index 4e90aad9a45b40..4a933cad7b684a 100644
--- a/libc/src/__support/CMakeLists.txt
+++ b/libc/src/__support/CMakeLists.txt
@@ -242,12 +242,20 @@ add_header_library(
HDRS
complex_type.h
DEPENDS
- libc.src.__support.CPP.bit
- libc.src.__support.FPUtil.fp_bits
libc.src.__support.macros.properties.types
libc.src.__support.macros.properties.complex_types
)
+add_header_library(
+ complex_basic_ops
+ HDRS
+ complex_basic_ops.h
+ DEPENDS
+ .complex_type
+ libc.src.__support.CPP.bit
+ libc.src.__support.FPUtil.fp_bits
+)
+
add_header_library(
integer_operations
HDRS
diff --git a/libc/src/__support/complex_basic_ops.h b/libc/src/__support/complex_basic_ops.h
new file mode 100644
index 00000000000000..bbf8a403f03911
--- /dev/null
+++ b/libc/src/__support/complex_basic_ops.h
@@ -0,0 +1,38 @@
+//===-- complex basic operations --------------------------------*- C++ -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_LIBC_SRC___SUPPORT_COMPLEX_BASIC_OPERATIONS_H
+#define LLVM_LIBC_SRC___SUPPORT_COMPLEX_BASIC_OPERATIONS_H
+
+#include "complex_type.h"
+#include "src/__support/CPP/bit.h"
+#include "src/__support/FPUtil/FPBits.h"
+
+namespace LIBC_NAMESPACE_DECL {
+
+template <typename T> LIBC_INLINE constexpr T conjugate(T c) {
+ Complex<make_real_t<T>> c_c = cpp::bit_cast<Complex<make_real_t<T>>>(c);
+ c_c.imag = -c_c.imag;
+ return cpp::bit_cast<T>(c_c);
+}
+
+template <typename T> LIBC_INLINE constexpr T project(T c) {
+ using real_t = make_real_t<T>;
+ Complex<real_t> c_c = cpp::bit_cast<Complex<real_t>>(c);
+ if (fputil::FPBits<real_t>(c_c.real).is_inf() ||
+ fputil::FPBits<real_t>(c_c.imag).is_inf()) {
+ return cpp::bit_cast<T>(
+ Complex<real_t>{(fputil::FPBits<real_t>::inf(Sign::POS).get_val()),
+ static_cast<real_t>(c_c.imag > 0 ? 0.0 : -0.0)});
+ } else {
+ return c;
+ }
+}
+
+} // namespace LIBC_NAMESPACE_DECL
+#endif // LLVM_LIBC_SRC___SUPPORT_COMPLEX_BASIC_OPERATIONS_H
diff --git a/libc/src/__support/complex_type.h b/libc/src/__support/complex_type.h
index f72ce8a4efd13d..93089de61dba8d 100644
--- a/libc/src/__support/complex_type.h
+++ b/libc/src/__support/complex_type.h
@@ -9,8 +9,6 @@
#ifndef LLVM_LIBC_SRC___SUPPORT_COMPLEX_TYPE_H
#define LLVM_LIBC_SRC___SUPPORT_COMPLEX_TYPE_H
-#include "src/__support/CPP/bit.h"
-#include "src/__support/FPUtil/FPBits.h"
#include "src/__support/macros/config.h"
#include "src/__support/macros/properties/complex_types.h"
#include "src/__support/macros/properties/types.h"
@@ -71,24 +69,5 @@ template <> struct make_real<cfloat128> {
template <typename T> using make_real_t = typename make_real<T>::type;
-template <typename T> LIBC_INLINE constexpr T conjugate(T c) {
- Complex<make_real_t<T>> c_c = cpp::bit_cast<Complex<make_real_t<T>>>(c);
- c_c.imag = -c_c.imag;
- return cpp::bit_cast<T>(c_c);
-}
-
-template <typename T> LIBC_INLINE constexpr T project(T c) {
- using real_t = make_real_t<T>;
- Complex<real_t> c_c = cpp::bit_cast<Complex<real_t>>(c);
- if (fputil::FPBits<real_t>(c_c.real).is_inf() ||
- fputil::FPBits<real_t>(c_c.imag).is_inf()) {
- return cpp::bit_cast<T>(
- Complex<real_t>{(fputil::FPBits<real_t>::inf(Sign::POS).get_val()),
- static_cast<real_t>(c_c.imag > 0 ? 0.0 : -0.0)});
- } else {
- return c;
- }
-}
-
} // namespace LIBC_NAMESPACE_DECL
#endif // LLVM_LIBC_SRC___SUPPORT_COMPLEX_TYPE_H
diff --git a/libc/src/complex/generic/CMakeLists.txt b/libc/src/complex/generic/CMakeLists.txt
index 3dae6f8a614953..82d2b01d534a9b 100644
--- a/libc/src/complex/generic/CMakeLists.txt
+++ b/libc/src/complex/generic/CMakeLists.txt
@@ -7,7 +7,7 @@ add_entrypoint_object(
COMPILE_OPTIONS
${libc_opt_high_flag}
DEPENDS
- libc.src.__support.complex_type
+ libc.src.__support.complex_basic_ops
)
add_entrypoint_object(
@@ -19,7 +19,7 @@ add_entrypoint_object(
COMPILE_OPTIONS
${libc_opt_high_flag}
DEPENDS
- libc.src.__support.complex_type
+ libc.src.__support.complex_basic_ops
)
add_entrypoint_object(
@@ -31,7 +31,7 @@ add_entrypoint_object(
COMPILE_OPTIONS
${libc_opt_high_flag}
DEPENDS
- libc.src.__support.complex_type
+ libc.src.__support.complex_basic_ops
)
add_entrypoint_object(
@@ -43,7 +43,7 @@ add_entrypoint_object(
COMPILE_OPTIONS
${libc_opt_high_flag}
DEPENDS
- libc.src.__support.complex_type
+ libc.src.__support.complex_basic_ops
libc.src.__support.macros.properties.types
libc.src.__support.macros.properties.complex_types
)
@@ -57,7 +57,7 @@ add_entrypoint_object(
COMPILE_OPTIONS
${libc_opt_high_flag}
DEPENDS
- libc.src.__support.complex_type
+ libc.src.__support.complex_basic_ops
libc.src.__support.macros.properties.types
libc.src.__support.macros.properties.complex_types
)
@@ -71,7 +71,7 @@ add_entrypoint_object(
COMPILE_OPTIONS
${libc_opt_high_flag}
DEPENDS
- libc.src.__support.complex_type
+ libc.src.__support.complex_basic_ops
)
add_entrypoint_object(
@@ -83,7 +83,7 @@ add_entrypoint_object(
COMPILE_OPTIONS
${libc_opt_high_flag}
DEPENDS
- libc.src.__support.complex_type
+ libc.src.__support.complex_basic_ops
)
add_entrypoint_object(
@@ -95,7 +95,7 @@ add_entrypoint_object(
COMPILE_OPTIONS
${libc_opt_high_flag}
DEPENDS
- libc.src.__support.complex_type
+ libc.src.__support.complex_basic_ops
)
add_entrypoint_object(
@@ -107,7 +107,7 @@ add_entrypoint_object(
COMPILE_OPTIONS
${libc_opt_high_flag}
DEPENDS
- libc.src.__support.complex_type
+ libc.src.__support.complex_basic_ops
libc.src.__support.macros.properties.types
libc.src.__support.macros.properties.complex_types
)
@@ -121,7 +121,7 @@ add_entrypoint_object(
COMPILE_OPTIONS
${libc_opt_high_flag}
DEPENDS
- libc.src.__support.complex_type
+ libc.src.__support.complex_basic_ops
libc.src.__support.macros.properties.types
libc.src.__support.macros.properties.complex_types
)
diff --git a/libc/src/complex/generic/conj.cpp b/libc/src/complex/generic/conj.cpp
index cbcd480d6efa5d..ec1f5285f6faf2 100644
--- a/libc/src/complex/generic/conj.cpp
+++ b/libc/src/complex/generic/conj.cpp
@@ -8,7 +8,7 @@
#include "src/complex/conj.h"
#include "src/__support/common.h"
-#include "src/__support/complex_type.h"
+#include "src/__support/complex_basic_ops.h"
namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/complex/generic/conjf.cpp b/libc/src/complex/generic/conjf.cpp
index a1af3d78ebc6a4..bf376bc9e87b6f 100644
--- a/libc/src/complex/generic/conjf.cpp
+++ b/libc/src/complex/generic/conjf.cpp
@@ -8,7 +8,7 @@
#include "src/complex/conjf.h"
#include "src/__support/common.h"
-#include "src/__support/complex_type.h"
+#include "src/__support/complex_basic_ops.h"
namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/complex/generic/conjf128.cpp b/libc/src/complex/generic/conjf128.cpp
index a63809a66e25a9..d5faba789fe306 100644
--- a/libc/src/complex/generic/conjf128.cpp
+++ b/libc/src/complex/generic/conjf128.cpp
@@ -8,7 +8,7 @@
#include "src/complex/conjf128.h"
#include "src/__support/common.h"
-#include "src/__support/complex_type.h"
+#include "src/__support/complex_basic_ops.h"
namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/complex/generic/conjf16.cpp b/libc/src/complex/generic/conjf16.cpp
index cd1ab67ed1cd93..31e8f9358e5e74 100644
--- a/libc/src/complex/generic/conjf16.cpp
+++ b/libc/src/complex/generic/conjf16.cpp
@@ -8,7 +8,7 @@
#include "src/complex/conjf16.h"
#include "src/__support/common.h"
-#include "src/__support/complex_type.h"
+#include "src/__support/complex_basic_ops.h"
namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/complex/generic/conjl.cpp b/libc/src/complex/generic/conjl.cpp
index 8298ede6fa38f3..351fa60b1faec3 100644
--- a/libc/src/complex/generic/conjl.cpp
+++ b/libc/src/complex/generic/conjl.cpp
@@ -8,7 +8,7 @@
#include "src/complex/conjl.h"
#include "src/__support/common.h"
-#include "src/__support/complex_type.h"
+#include "src/__support/complex_basic_ops.h"
namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/complex/generic/cproj.cpp b/libc/src/complex/generic/cproj.cpp
index d5e8c3ff3d9ec7..2a9f4578afbbf8 100644
--- a/libc/src/complex/generic/cproj.cpp
+++ b/libc/src/complex/generic/cproj.cpp
@@ -8,7 +8,7 @@
#include "src/complex/cproj.h"
#include "src/__support/common.h"
-#include "src/__support/complex_type.h"
+#include "src/__support/complex_basic_ops.h"
namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/complex/generic/cprojf.cpp b/libc/src/complex/generic/cprojf.cpp
index d0235f6bfef7e6..d4e83dd21ff1c1 100644
--- a/libc/src/complex/generic/cprojf.cpp
+++ b/libc/src/complex/generic/cprojf.cpp
@@ -8,7 +8,7 @@
#include "src/complex/cprojf.h"
#include "src/__support/common.h"
-#include "src/__support/complex_type.h"
+#include "src/__support/complex_basic_ops.h"
namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/complex/generic/cprojf128.cpp b/libc/src/complex/generic/cprojf128.cpp
index eb2cd08dfc1178..72a741d815032d 100644
--- a/libc/src/complex/generic/cprojf128.cpp
+++ b/libc/src/complex/generic/cprojf128.cpp
@@ -8,7 +8,7 @@
#include "src/complex/cprojf128.h"
#include "src/__support/common.h"
-#include "src/__support/complex_type.h"
+#include "src/__support/complex_basic_ops.h"
namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/complex/generic/cprojf16.cpp b/libc/src/complex/generic/cprojf16.cpp
index 8d2d64a439e026..0928345503bec2 100644
--- a/libc/src/complex/generic/cprojf16.cpp
+++ b/libc/src/complex/generic/cprojf16.cpp
@@ -8,7 +8,7 @@
#include "src/complex/cprojf16.h"
#include "src/__support/common.h"
-#include "src/__support/complex_type.h"
+#include "src/__support/complex_basic_ops.h"
namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/complex/generic/cprojl.cpp b/libc/src/complex/generic/cprojl.cpp
index 34deeb63b16d01..849a6f72755f41 100644
--- a/libc/src/complex/generic/cprojl.cpp
+++ b/libc/src/complex/generic/cprojl.cpp
@@ -8,7 +8,7 @@
#include "src/complex/cprojl.h"
#include "src/__support/common.h"
-#include "src/__support/complex_type.h"
+#include "src/__support/complex_basic_ops.h"
namespace LIBC_NAMESPACE_DECL {
>From 14bb02e9090894c944c385db21785aa0952221ae Mon Sep 17 00:00:00 2001
From: Sh0g0-1758 <shouryagoel10000 at gmail.com>
Date: Thu, 9 Jan 2025 02:00:34 +0530
Subject: [PATCH 30/46] use complex_type in MPCWrapper
---
libc/utils/MPCWrapper/MPCUtils.cpp | 37 +++++++++++++-----------------
libc/utils/MPCWrapper/MPCUtils.h | 28 ++--------------------
2 files changed, 18 insertions(+), 47 deletions(-)
diff --git a/libc/utils/MPCWrapper/MPCUtils.cpp b/libc/utils/MPCWrapper/MPCUtils.cpp
index a3ef3af9fc78f7..0a733a62e7955d 100644
--- a/libc/utils/MPCWrapper/MPCUtils.cpp
+++ b/libc/utils/MPCWrapper/MPCUtils.cpp
@@ -47,11 +47,6 @@ static inline cpp::string str(RoundingMode mode) {
__builtin_unreachable();
}
-template <typename T> struct MPCComplex {
- T real;
- T imag;
-};
-
class MPCNumber {
private:
unsigned int precision;
@@ -76,7 +71,7 @@ class MPCNumber {
mpc_rounding(MPC_RND(mpfr::get_mpfr_rounding_mode(rnd),
mpfr::get_mpfr_rounding_mode(rnd))) {
mpc_init2(value, precision);
- MPCComplex<float> x_c = cpp::bit_cast<MPCComplex<float>>(x);
+ Complex<float> x_c = cpp::bit_cast<Complex<float>>(x);
mpfr_t real, imag;
mpfr_init2(real, precision);
mpfr_init2(imag, precision);
@@ -96,7 +91,7 @@ class MPCNumber {
mpc_rounding(MPC_RND(mpfr::get_mpfr_rounding_mode(rnd),
mpfr::get_mpfr_rounding_mode(rnd))) {
mpc_init2(value, precision);
- MPCComplex<double> x_c = cpp::bit_cast<MPCComplex<double>>(x);
+ Complex<double> x_c = cpp::bit_cast<Complex<double>>(x);
mpc_set_d_d(value, x_c.real, x_c.imag, mpc_rounding);
}
@@ -183,7 +178,7 @@ bool compare_unary_operation_single_output_same_type(Operation op,
RoundingMode rounding) {
unsigned int precision =
- mpfr::get_precision<get_real_t<InputType>>(ulp_tolerance);
+ mpfr::get_precision<make_real_t<InputType>>(ulp_tolerance);
MPCNumber mpc_result;
mpc_result = unary_operation(op, input, precision, rounding);
@@ -202,9 +197,9 @@ bool compare_unary_operation_single_output_same_type(Operation op,
mpfr::MPFRNumber mpfr_imag(imag, precision, rounding);
double ulp_real = mpfr_real.ulp(
- (cpp::bit_cast<MPCComplex<get_real_t<InputType>>>(libc_result)).real);
+ (cpp::bit_cast<Complex<make_real_t<InputType>>>(libc_result)).real);
double ulp_imag = mpfr_imag.ulp(
- (cpp::bit_cast<MPCComplex<get_real_t<InputType>>>(libc_result)).imag);
+ (cpp::bit_cast<Complex<make_real_t<InputType>>>(libc_result)).imag);
mpc_clear(mpc_result_val);
mpfr_clear(real);
mpfr_clear(imag);
@@ -222,7 +217,7 @@ bool compare_unary_operation_single_output_different_type(
RoundingMode rounding) {
unsigned int precision =
- mpfr::get_precision<get_real_t<InputType>>(ulp_tolerance);
+ mpfr::get_precision<make_real_t<InputType>>(ulp_tolerance);
MPCNumber mpc_result;
mpc_result = unary_operation(op, input, precision, rounding);
@@ -254,7 +249,7 @@ void explain_unary_operation_single_output_different_type_error(
RoundingMode rounding) {
unsigned int precision =
- mpfr::get_precision<get_real_t<InputType>>(ulp_tolerance);
+ mpfr::get_precision<make_real_t<InputType>>(ulp_tolerance);
MPCNumber mpc_result;
mpc_result = unary_operation(op, input, precision, rounding);
@@ -270,10 +265,10 @@ void explain_unary_operation_single_output_different_type_error(
mpfr::MPFRNumber mpfr_result(real, precision, rounding);
mpfr::MPFRNumber mpfrLibcResult(libc_result, precision, rounding);
mpfr::MPFRNumber mpfrInputReal(
- cpp::bit_cast<MPCComplex<get_real_t<InputType>>>(input).real, precision,
+ cpp::bit_cast<Complex<make_real_t<InputType>>>(input).real, precision,
rounding);
mpfr::MPFRNumber mpfrInputImag(
- cpp::bit_cast<MPCComplex<get_real_t<InputType>>>(input).imag, precision,
+ cpp::bit_cast<Complex<make_real_t<InputType>>>(input).imag, precision,
rounding);
cpp::array<char, 2048> msg_buf;
@@ -303,7 +298,7 @@ void explain_unary_operation_single_output_same_type_error(
RoundingMode rounding) {
unsigned int precision =
- mpfr::get_precision<get_real_t<InputType>>(ulp_tolerance);
+ mpfr::get_precision<make_real_t<InputType>>(ulp_tolerance);
MPCNumber mpc_result;
mpc_result = unary_operation(op, input, precision, rounding);
@@ -321,16 +316,16 @@ void explain_unary_operation_single_output_same_type_error(
mpfr::MPFRNumber mpfr_real(real, precision, rounding);
mpfr::MPFRNumber mpfr_imag(imag, precision, rounding);
mpfr::MPFRNumber mpfrLibcResultReal(
- cpp::bit_cast<MPCComplex<get_real_t<InputType>>>(libc_result).real,
+ cpp::bit_cast<Complex<make_real_t<InputType>>>(libc_result).real,
precision, rounding);
mpfr::MPFRNumber mpfrLibcResultImag(
- cpp::bit_cast<MPCComplex<get_real_t<InputType>>>(libc_result).imag,
+ cpp::bit_cast<Complex<make_real_t<InputType>>>(libc_result).imag,
precision, rounding);
mpfr::MPFRNumber mpfrInputReal(
- cpp::bit_cast<MPCComplex<get_real_t<InputType>>>(input).real, precision,
+ cpp::bit_cast<Complex<make_real_t<InputType>>>(input).real, precision,
rounding);
mpfr::MPFRNumber mpfrInputImag(
- cpp::bit_cast<MPCComplex<get_real_t<InputType>>>(input).imag, precision,
+ cpp::bit_cast<Complex<make_real_t<InputType>>>(input).imag, precision,
rounding);
cpp::array<char, 2048> msg_buf;
@@ -347,13 +342,13 @@ void explain_unary_operation_single_output_same_type_error(
msg << " ULP error: "
<< mpfr_real
.ulp_as_mpfr_number(
- cpp::bit_cast<MPCComplex<get_real_t<InputType>>>(libc_result)
+ cpp::bit_cast<Complex<make_real_t<InputType>>>(libc_result)
.real)
.str()
<< " , "
<< mpfr_imag
.ulp_as_mpfr_number(
- cpp::bit_cast<MPCComplex<get_real_t<InputType>>>(libc_result)
+ cpp::bit_cast<Complex<make_real_t<InputType>>>(libc_result)
.imag)
.str()
<< '\n';
diff --git a/libc/utils/MPCWrapper/MPCUtils.h b/libc/utils/MPCWrapper/MPCUtils.h
index 58a1cb0618ce12..eb7fd9d0baa1c0 100644
--- a/libc/utils/MPCWrapper/MPCUtils.h
+++ b/libc/utils/MPCWrapper/MPCUtils.h
@@ -13,6 +13,7 @@
#include "src/__support/CPP/type_traits/is_complex.h"
#include "src/__support/macros/config.h"
#include "src/__support/macros/properties/complex_types.h"
+#include "src/__support/complex_type.h"
#include "src/__support/macros/properties/types.h"
#include "test/UnitTest/RoundingModeUtils.h"
#include "test/UnitTest/Test.h"
@@ -168,31 +169,6 @@ class MPCMatcher : public testing::Matcher<OutputType> {
} // namespace internal
-template <typename T> struct get_real;
-
-template <> struct get_real<_Complex float> {
- using type = float;
-};
-template <> struct get_real<_Complex double> {
- using type = double;
-};
-template <> struct get_real<_Complex long double> {
- using type = long double;
-};
-
-#if defined(LIBC_TYPES_HAS_CFLOAT16)
-template <> struct get_real<cfloat16> {
- using type = float16;
-};
-#endif
-#ifdef LIBC_TYPES_CFLOAT128_IS_NOT_COMPLEX_LONG_DOUBLE
-template <> struct get_real<cfloat128> {
- using type = float128;
-};
-#endif
-
-template <typename T> using get_real_t = typename get_real<T>::type;
-
// Return true if the input and ouput types for the operation op are valid
// types.
template <Operation op, typename InputType, typename OutputType>
@@ -207,7 +183,7 @@ constexpr bool is_valid_operation() {
cpp::is_complex_v<InputType>) ||
(Operation::BeginUnaryOperationsSingleOutputDifferentOutputType < op &&
op < Operation::EndUnaryOperationsSingleOutputDifferentOutputType &&
- cpp::is_same_v<get_real_t<InputType>, OutputType> &&
+ cpp::is_same_v<make_real_t<InputType>, OutputType> &&
cpp::is_complex_v<InputType>);
}
>From 2d7b90b2e2e94c00d224df6e38086d8260d4fb36 Mon Sep 17 00:00:00 2001
From: Sh0g0-1758 <shouryagoel10000 at gmail.com>
Date: Thu, 9 Jan 2025 02:00:54 +0530
Subject: [PATCH 31/46] fmt
---
libc/utils/MPCWrapper/MPCUtils.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libc/utils/MPCWrapper/MPCUtils.h b/libc/utils/MPCWrapper/MPCUtils.h
index eb7fd9d0baa1c0..b572ae6d68b65f 100644
--- a/libc/utils/MPCWrapper/MPCUtils.h
+++ b/libc/utils/MPCWrapper/MPCUtils.h
@@ -11,9 +11,9 @@
#include "src/__support/CPP/type_traits.h"
#include "src/__support/CPP/type_traits/is_complex.h"
+#include "src/__support/complex_type.h"
#include "src/__support/macros/config.h"
#include "src/__support/macros/properties/complex_types.h"
-#include "src/__support/complex_type.h"
#include "src/__support/macros/properties/types.h"
#include "test/UnitTest/RoundingModeUtils.h"
#include "test/UnitTest/Test.h"
>From cf88bba66d0dc5473a5901f52fda1e37c6170c29 Mon Sep 17 00:00:00 2001
From: Sh0g0-1758 <shouryagoel10000 at gmail.com>
Date: Fri, 10 Jan 2025 22:45:10 +0530
Subject: [PATCH 32/46] nit
---
libc/src/__support/complex_basic_ops.h | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/libc/src/__support/complex_basic_ops.h b/libc/src/__support/complex_basic_ops.h
index bbf8a403f03911..5992ebec0786c2 100644
--- a/libc/src/__support/complex_basic_ops.h
+++ b/libc/src/__support/complex_basic_ops.h
@@ -25,13 +25,11 @@ template <typename T> LIBC_INLINE constexpr T project(T c) {
using real_t = make_real_t<T>;
Complex<real_t> c_c = cpp::bit_cast<Complex<real_t>>(c);
if (fputil::FPBits<real_t>(c_c.real).is_inf() ||
- fputil::FPBits<real_t>(c_c.imag).is_inf()) {
+ fputil::FPBits<real_t>(c_c.imag).is_inf())
return cpp::bit_cast<T>(
Complex<real_t>{(fputil::FPBits<real_t>::inf(Sign::POS).get_val()),
static_cast<real_t>(c_c.imag > 0 ? 0.0 : -0.0)});
- } else {
- return c;
- }
+ return c;
}
} // namespace LIBC_NAMESPACE_DECL
>From 2ab8f32ef97c545b6a3c94e063ff2e34aad15774 Mon Sep 17 00:00:00 2001
From: Sh0g0-1758 <shouryagoel10000 at gmail.com>
Date: Fri, 10 Jan 2025 22:45:53 +0530
Subject: [PATCH 33/46] nit
---
libc/utils/MPCWrapper/MPCUtils.cpp | 1 -
1 file changed, 1 deletion(-)
diff --git a/libc/utils/MPCWrapper/MPCUtils.cpp b/libc/utils/MPCWrapper/MPCUtils.cpp
index 0a733a62e7955d..3c7f179e4f119b 100644
--- a/libc/utils/MPCWrapper/MPCUtils.cpp
+++ b/libc/utils/MPCWrapper/MPCUtils.cpp
@@ -138,7 +138,6 @@ class MPCNumber {
}
MPCNumber cproj() const {
-
mpc_t res;
mpc_init2(res, precision);
>From 5ef5975c4c09207277cbcc502b80380a60b9d254 Mon Sep 17 00:00:00 2001
From: Sh0g0-1758 <shouryagoel10000 at gmail.com>
Date: Fri, 10 Jan 2025 22:56:16 +0530
Subject: [PATCH 34/46] nit
---
shogo_del_me_bro/a.out | Bin 0 -> 19512 bytes
shogo_del_me_bro/play.cc | 22 ++++++++++++++++++++++
2 files changed, 22 insertions(+)
create mode 100755 shogo_del_me_bro/a.out
create mode 100644 shogo_del_me_bro/play.cc
diff --git a/shogo_del_me_bro/a.out b/shogo_del_me_bro/a.out
new file mode 100755
index 0000000000000000000000000000000000000000..bb23758d5dc2bb55bd336ad49a63edb6308a1d56
GIT binary patch
literal 19512
zcmeHPeQ;dWb-ydgSb%K_u))|2YyeXe$BT9)+aig}+R`&m#UF}fC60 at EUhS@=#j9Ph
z`_`6d0S|H*tHOz(6jIuBoX~)$DTycJVI0D=!luanqhQFCxM`azOz5ma0EGmiLgMZ3
z+;`90w@>>rc#~#2Q(euzbI-ZwoO|xM_kG=Wj_%VoZ>sY71ea>@hk~&1r4}Wu8k$>G
z1t2V%#X=nY;u>)Q at ES?8+QSw=t5wccmBLy at uLdN!rBo>cud>L3AzMh0<h)9Koz=on
z)LS^o&7-Qq-SBB;7(;Hi`}319ieDaWm{ayMbjp!$maew=m#!~`Ldk`BFv>1+7s;(u
zax0Y_!+PaUhU`yLL%(LF*9{xcMunkUu20FiVXGx37*ZcpI^Qs3mGsxH<aYa|8sUZy
zT4ceH`}+*!$S)tY at HBU*{=DWPul&i7=9|h*$wc?srkj$n)yYIEH at JGRdF|@8O at VAW
z5R&a=mmfb`Q at 3vI5>PWvH04H7wco;7AGIx3?Zm%l&1KqKd*1s@@2h(E_n+GL_3`Xm
z|3N%tH^~qW71F0nwDF~=5s&nT?;+Ivf at oB(#P5~(OZ`m`uRpNl%L`g0vCQGm(3v{L
zOIq)R;&SvU7*URX9Skf-FL=-&^62-t2md3muAKg59(I1r!_KQb`i*(;Z}RAO$V1Pa
z9`=Vk^l$T^)BOAKbC)|k`u)0x9=NBho=<qt{{{4NetrV|Uh6gn_;=93wOFkOuCN-f
zqz+NO2|rvSmWyy$qM}~Wg<<ser&C7OjATs15JubfEk-P!iT5V5W<0ZfOG`4Hif at l}
zC*xLI`IenqJI!^55gi;127{sQNH!6L%1k2F+ZOFKgTZKDBx9JFNW#pvMYYZd4qC9$
z=rp3~fgyuhvs!z!{kCZ5I at nN&wsi*Vj+hassZ2pI2o2H5KqQ(lhqQhu=`@qD*30}3
zG&EWxO=GC>NPpXQV|#<4VF(?!dHbWY$>>~TY!4cmCi`fLr((%+-DuuDtgX;V!4Qox
zor1l&sM!X8YueuJMrX6pX@(kl(wTjcOw34N;v;4n6Bg-}zDy at EJDWN>)18K8b10Zd
zXAKNKZs2;HiDZV1L at HtKrPVYzXbi+N*>ozBgd>f;4W#0>^IsnJghFd23*u%PDyGGZ
zYaRVGo!(R8ImfL*t-{{1xVISDxM?Kgsa~^BuBQqN2sS`XERh{ZXXDb8PO~YR&Y6`B
zM;et(M<Yq=RH3n972j+aW?v?~&q$_wao)x=nREtAqryHy#)c&NF!~a>jI;!CK6c#J
z*@y+(mD-m`#f*-4HrJ1f30-ocdvNaWF?u42q`;bluRzC&qKgMzkNP7CqC^KHMo)qk
z)ZKA`=Bycuu3AMm{k4SlM!`>5kg%vlzqO^sXbd!nmK{4bY-}@vfktub=C+MML2e2(
zhDy*-(1}`gBNS+|YmLQfD6odEp;dSWsKH+~o;3(k&4L#I&KI?~|6hoj4}Ue__Q_`k
z!k)*qo9`#>Hw;}Y!1u49Q6b)MtM+!_-}}}cJj&FHA1T_#na6NvnJ<2- at Vg{lBR*8P
zdE>))gsc`9$%ksvS1n#vZKQv3BC(L3P%cM1*>LQkNAb8aPxuv{Tb8(x#<ohy^Ybx3
zm-;UwEkgL!^DomU)lI54ESq7mf(k!#i-ps(5kC_V<*b8_f!Sr!L6^@{swMBBJMW9r
z4*C*Xix4vo`sEIKeb_?iHh77H&i6+e{xS!>UFn$*8s9ppd543JTdZAnJLqt~UHTk!
z<zm at 3;Gk0<Tm~I<_9?aPchE6mb~)&vUu08-7<16E;Oz2c2YrD}72>dijs;_vBM$l^
zn<~Un2VK4D$=2fzx>`DtKJK8?^Ea1M4!U}T;imsr at aJ_`f1nTlv{oOT_oJJH(7!Nl
zRu#_Z!!OjHlzu3zSq5 at p#Z@@gT at x0>-$yM|uNMl1o-v8jLY;cGh|>u+b)tyVf}Q$y
z5vPSZ^|c~S3v}w?B2Fjb)cr-A7V1={h|>a{>Mr86FsC|-I4#JjjYXUm;#8=J(*m5j
zwusZho4T}!(}J6-D&n-zrrtfr<1MUsG$2Gz-8HR3`lGPo0vCP`Z|~0b_g(ngF8se-
z_zzw9YcBjH7yhCP{|6WTj0^v!3xCpu|BVZO)P;Ys1P{K|HuB0H`pE10 at Q<h4w`;-i
z;A#EPdU~}gEcp|#{-P&Pcg+Df5ew|l`mchbADZ_#ftzQ{C0KfQP#sI}!op<THT#M0
zq=MkTOY*O|lfaGV^pR=(`L}P;pP#ALeJ|>-oHG|g!D^+TwlHb=o#knL?q46r{D|DD
zE`50Y59kd at A9=%EppUM<0Al$YF|qj=X8Xl?>%r&S1zEd)lAqd#Myhl{t`ldAu8-Vv
zd?a@)rjORFSSj^s`QZ5QJ;$od`{-ErrKdneO_&$s=rh+%JxXkcw3qb}?abJieyHnZ
zeN;QHA6j at nR--=hl0Gt#KMjvrJQMj*oHTF7l*HK*iJe6Wx=FLd=Sd=@BqmEFLPd$V
zL*freLcorEOkZV<r0&2IFm&oKai9_FBPUt?2M`?7N6zY_UBtdv4&0oV|GQro3S|5V
zK$pmbhsZu9@}=1#k9df*Dv{d(^Xmv9?~U%7IeoHZW?WM;p*@E&l8eSiyPg|)jSLN8
zzKNiZyohD^sa53uiTt1cigYe{;p2o#zK4h+`6lu!P(KbuaF%oQH at _Jw4jBq3^1u2J
zLbILp1=5A)uK?x;2`MpMs@`Rf1WT+QOKc|p?^t*T#?3_-><o$1lgOJ38QYJ(#!jD<
z*I-(j5Nm+gS*H(Xg5&yxHch6#IZq$frhPAJ at 6aePkJ_~EJAo0tL!KD<e*RrB4Nv<H
zjOSjHjiX&N&WU~=-Iey{M{jws=CP<}*s52dWejFHr=^+9(noS<^pUPp7&>(hd?Nqr
z56Cai13jgWoRFu%f96+`4~OqLBXV_^p!;!kC)N|hI;ug%ME-j;g`-_(bRST3k4e!-
zx16!G%2VkG4ftxF9M#(fxRWLa8WvL at C38Ryhl$frGE?_VJ-~F`GotxK-6P|>96kou
zm<wkqm@%!7)T5cl&J#&G^-+0=tK&M1xDP{ecnaLRVa0LiI|@e~anIwZ1~MElsvQA5
zJBA7ke-aR5A~)c-N}C)50x#n?JX5##7X8o`!j3-+m%x+KJu9T&PY_wH_Tm4QE|r{$
zR1c;%FSK~HX>`|x>lJk=Pmd4e9FY7({s9uEY3w=zc36q^^m2YbQ75!Bvfojfc)PbZ
zX3!*cP2^v;6wz9<u0gn{bV2m=NeIdrq~{a+iG;Mxl{pX0d0@^1a~_!Uz?=tu8xQ!@
z*TpT^cQ-n=wsr}wwc53v=)n1@<&%DUYd?`r`Fk?yet#;LO!^a9e=2SI_hJJzCVVog
zz_+~mQx8I(_5jD<DHO&5&rIVX7;qAhHn}E$Rw&T(+Ua)-g+buaUla<50k3|qP*@7M
z8n78K26zhaRlq#p2Y|JBU-;Vlg+c at 1DZqBXvw#DD?*onjUjNHN;TRwl-UIU8-64E~
z^}gi`=GTrv7ttx!paHhrK#Z;P$z*Xoeogqzyj>{BZ&{1#H!WKFM|BtPtKBbdS$6Zs
z8?V2X_(=YC{3bC*DM&;VqMP`g1>L!!M}3iB&i%YlpzQ^rEvkQ at s%7B?n_v)7YX5uu
z-a`9YK)b!a*iK~M-R+y at Nap{QcC`@8c|2q{{n{{|$1%Q|Z8&fr+HiICgFdN<csAqr
zUHJaHfHfOR`Kq2S_V;NtJpz0B!Ds8Lib)2t_ja_uj`o$#cEggVevaYy6SUJ@*Zc$r
zhdot~7yJ2J=(!VXU<Fugp4*G<FQ9z@?OuNSG1_;d9sVfFcUkg&kZ2rtpq(}aY6cuU
z at nRn<v0nPXBfo31oz?Z0(;!kP_%4smd)Fua!Z#1!U?+U at 5b1KbYL9GLcoTNCv@7lv
z-|(RV){C|^9`K2;C=B9rWzGY09+>mMoCoGSFz10e56pSs|Ck3j{($2R at W?0&#Y|9P
zoMJ4TIK at CvSzrO{#Rv6;3O}rZ5-3iS3dcPxw@^Etfnx$V{(+vasnELtmG{mS(gcsv
z=M5D4gi57P1u<|e!=!5GZ}jUFBY&Ic7zt-A1L;v>qFH?>SFcZEzZy8b*HGaY0{(_R
zrUuINgUS(Xcde4=SOV@}KC43?^I>~ljt}gTggs)3pH+rqCtu=hCtf8bept0*|G1=G
z8v8pua6GnKWrKS83oF>J;BEy66x^@in1Y8DJgVThf at c(*RB&2B4koErK_z}?aEaTf
zkAT;POPLVX^hy89uI^mQ%=v?j0facMUYnC>=-yCMprPqTMJ|<dV>I10;%5ano#vln
zkRDVM=vNFByHSpx)<>177X$PO%u)QP6aBD at -l*t&{<26LDn7)gwr{W~YB`E7Nx#C5
zH)8%jMTPY9^?>OICI992`O9?r?px0OZ%O`3#ZJG)$^E{r=zr{@F9Cy3Tq<sN(Y^em
zOa8^8={ifl^H|QF&q at O>v*YiXKOyxj74G$&k at PF=>jCp01fAl5SE>s at ooaXz^m;@#
zEe$iL1-E13{S@)!qCXA(OE6wE%Azi#;yKVszdO$OdR&mMwOC7zw}9?i3bMUJ((A>I
zDmaMtM5v?`{iM2}(H;nutcRXwLBFJGnQ)&k^r at Td{H*c=?JZDQkM&*7o(DiD{$|C`
z*FTDz{}}Ywho!iEJzNfll+$yU2mNuPS6w3beq(7vycOuwZ<XqIg=#qEq2~?7 at 3!*}
z+(*jUbIgNYgBud{d#}3D at H)8;^m2MAT9EidDwuAivU3O4&!wP;mCy}}{zDHvA9~Pt
z;09Gr|6xUcLD?zyy3ogI(979*CGJk;=zBfr4-vfzH$}dVEBhY<oz|86e0jn{&-=t*
zCeD5V{6pi~sr+_C>F)rY&PNee1O*I9UoLiRD5b}g9`|`oU*qc?{j$^-K`-ZrXFcdY
zQ2O0=`thLRXQdAKY0%5*@ARNQ2|D at VkeWxihYEcY9{OMNpie73?(@0_&l%<H5uMSD
z84RQmO&sY?$jEjOvSzNQClD3Iga^ayH=>mCkOgNfZS*G7-4rg3aQLhd$qkBVx_=-U
zH{&tH7MJCqNachP$z&o!Mm%L^hD1*$(jPZsx&Hnkh&V7AG+)9xkc<okqAK*d8T#WU
zVxt=y46vH<-Z*0N(^k5Kk;odkR5sC at ipSdSl(__mFaPKw{pT+-L?XtfjtyHhL)+R)
z*&+t=p$tt|M7^~`7_Fb*x?xLOi!g58ylvx#&BnG(n>saQMr_!)SyO2X!8L}FitjTb
z6ev!a21p07Lha*}!huASZ3qC5B~nH%8;?~Shko9v4kdx+VHqxtAaIKJwt~}3NXE`a
zP&ckoIWHaQTnZNVZb`@D!irl*Y<*?P9acY9q&h9KY})9HAWH;M^E)d^V>th`4{hsO
z<JKIKL0UtVW<bz{ItLO!jQ#K3e9AvS!i{MCTp$zg33#QaoPT!8to)AIL-o$AaPkUy
zy`VLYG>qO<&dQ-G&6f(r at 6tMu8`Vf>oGU%T(uHM;429pndqb9cD at v}Jm5t(bi?v!R
z$e6LyhT5aE^&!it5tq`el>-$?nMNERMRUjzidnfZ|H}zqvn{G%ggBcW88&u`k~2xm
z*$*wP3f6Z?C&e@#r{;?1$Tb3WiSb_lYgH1JN=o{zlF5EI1Mo;)oTc2A<YcwW#3Fg`
z$LWj=OTL*_G*2Z7Vzc_ETM*@oIU6cl5G}zrTz at nTbD;9MWDc2?s3q{EqwdpX at 9lDi
zjqYrg*<qJg4x!UjO4BNL%?>-Vx++ at UEg|=4epB9SN#<IZGs`OKxHK!VWUTW3h*Q;_
zEnBks%Vg_%WaL(~n$9~vwD_P<d8%Y-;;q{!B9I;GHzVDEX2ybjT%(8L%zy|Wx+NaK
z%`-5NNhA5x9CDDla|!&n00h2RTu267O?j=7y)TmO6M@)J3SC&x%vddZk-~}~ni9l7
zTPB{2kbtTUBux>Z)K?KeHPD+ at m25mJ0%m*=D7_AVJ1w7V1Mxof0?-$OHpb8mav0--
z(fELgcN0psmRhZM14{?j(Rrjl0ri$boKzx!my&+GYdGG^Dy`CfH*LXS+e8-k{{i9s
zZq+P#xlWL_x$sJE%X|I53*x1M*X5Ez?}JWx_y4`PzJ#0h^h!&cOP=>J8Tw1vXUTsK
z?Fdgw^Z0ompJ9WN$M%IRZu=vk(pERi^FBYrgQ|hXNPcE{-fvHUhOH)Bp1&I~<nIJv
zk%e?P%UwWd51#wyeRqcZzRmVCAH#bgPkZ`|^S(aAqpCBqpX_A&6<HiYh316i`8xwc
z{?5StvpkRgF(toIDdg`K4EL)6lRSN^am#-dG-6@>*lMtfg8V&4QD at EnU!%b(?^kjR
z?f;uls at Cr2DVKbM+W%+B=5YUvGd${&4=Z_w(l{0dWI2Z4am%aCkg$TgY{ytiSdLZx
zqf4ImDH-zjGUj)mfB&T9dH#i8aVoe=p$vHb82 at Kf$p0+A+i$fne9%Jeqr3lqLyJ>>
z+HbKk)LF68;O_qomwYo_&`=nvv}cQmBlYDhzXY-fKRP$4 at OMQ1KR53F7-v`wg|r9D
z^8B6AzgnuZ*Sm!k*FVeGL7t|V<@tL7|KFl|HGVpOsjwWcgKvOFV`6#!&e(htaU+(~
z0``&R8B$!RQ(lA>Yl8*(JZA+g$N1F{CK~r24qGitS)P<TO4w1S>UFAr#csE<{3 at Gb
zRal)9x|WD!)Rn?o<v98-KwFq>KaUIBr?%}<P#xOWS(Rt$=HMvYFO%qW=dm-5;6*JK
L_6e7O3l;wZEe}5X
literal 0
HcmV?d00001
diff --git a/shogo_del_me_bro/play.cc b/shogo_del_me_bro/play.cc
new file mode 100644
index 00000000000000..d40fc9c5c3e9d5
--- /dev/null
+++ b/shogo_del_me_bro/play.cc
@@ -0,0 +1,22 @@
+#include <iostream>
+using namespace std;
+
+enum class RoundingMode : int { Upward, Downward, TowardZero, Nearest };
+
+string str(RoundingMode mode) {
+ switch (mode) {
+ case RoundingMode::Upward:
+ return "MPFR_RNDU" ;
+ case RoundingMode::Downward:
+ return "MPFR_RNDD" ;
+ case RoundingMode::TowardZero:
+ return "MPFR_RNDZ" ;
+ default:
+ __builtin_unreachable();
+ }
+}
+
+int main() {
+ RoundingMode mode = RoundingMode::Nearest;
+ cout << str(mode) << endl;
+}
\ No newline at end of file
>From eb44508e69b7c4a116f075854a69b4ec5baf8c23 Mon Sep 17 00:00:00 2001
From: Sh0g0-1758 <shouryagoel10000 at gmail.com>
Date: Fri, 10 Jan 2025 22:56:37 +0530
Subject: [PATCH 35/46] nit
---
libc/utils/MPCWrapper/MPCUtils.cpp | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/libc/utils/MPCWrapper/MPCUtils.cpp b/libc/utils/MPCWrapper/MPCUtils.cpp
index 3c7f179e4f119b..e4e9c33e4618f3 100644
--- a/libc/utils/MPCWrapper/MPCUtils.cpp
+++ b/libc/utils/MPCWrapper/MPCUtils.cpp
@@ -33,18 +33,15 @@ static inline cpp::string str(RoundingMode mode) {
switch (mode) {
case RoundingMode::Upward:
return "MPFR_RNDU";
- break;
case RoundingMode::Downward:
return "MPFR_RNDD";
- break;
case RoundingMode::TowardZero:
return "MPFR_RNDZ";
- break;
case RoundingMode::Nearest:
return "MPFR_RNDN";
- break;
+ default:
+ __builtin_unreachable();
}
- __builtin_unreachable();
}
class MPCNumber {
>From ab3c5bf3e2b59c64cab804e280af4543e66c3975 Mon Sep 17 00:00:00 2001
From: Sh0g0-1758 <shouryagoel10000 at gmail.com>
Date: Fri, 10 Jan 2025 22:57:46 +0530
Subject: [PATCH 36/46] nit
---
libc/utils/MPCWrapper/MPCUtils.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libc/utils/MPCWrapper/MPCUtils.cpp b/libc/utils/MPCWrapper/MPCUtils.cpp
index e4e9c33e4618f3..19189681c5e992 100644
--- a/libc/utils/MPCWrapper/MPCUtils.cpp
+++ b/libc/utils/MPCWrapper/MPCUtils.cpp
@@ -199,7 +199,7 @@ bool compare_unary_operation_single_output_same_type(Operation op,
mpc_clear(mpc_result_val);
mpfr_clear(real);
mpfr_clear(imag);
- return ((ulp_real <= ulp_tolerance) && (ulp_imag <= ulp_tolerance));
+ return (ulp_real <= ulp_tolerance) && (ulp_imag <= ulp_tolerance);
}
template bool compare_unary_operation_single_output_same_type(
>From 16a615c8c04612841e0d07eae54e9f03837db8be Mon Sep 17 00:00:00 2001
From: Sh0g0-1758 <shouryagoel10000 at gmail.com>
Date: Fri, 10 Jan 2025 22:58:02 +0530
Subject: [PATCH 37/46] nit
---
shogo_del_me_bro/a.out | Bin 19512 -> 0 bytes
shogo_del_me_bro/play.cc | 22 ----------------------
2 files changed, 22 deletions(-)
delete mode 100755 shogo_del_me_bro/a.out
delete mode 100644 shogo_del_me_bro/play.cc
diff --git a/shogo_del_me_bro/a.out b/shogo_del_me_bro/a.out
deleted file mode 100755
index bb23758d5dc2bb55bd336ad49a63edb6308a1d56..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 19512
zcmeHPeQ;dWb-ydgSb%K_u))|2YyeXe$BT9)+aig}+R`&m#UF}fC60 at EUhS@=#j9Ph
z`_`6d0S|H*tHOz(6jIuBoX~)$DTycJVI0D=!luanqhQFCxM`azOz5ma0EGmiLgMZ3
z+;`90w@>>rc#~#2Q(euzbI-ZwoO|xM_kG=Wj_%VoZ>sY71ea>@hk~&1r4}Wu8k$>G
z1t2V%#X=nY;u>)Q at ES?8+QSw=t5wccmBLy at uLdN!rBo>cud>L3AzMh0<h)9Koz=on
z)LS^o&7-Qq-SBB;7(;Hi`}319ieDaWm{ayMbjp!$maew=m#!~`Ldk`BFv>1+7s;(u
zax0Y_!+PaUhU`yLL%(LF*9{xcMunkUu20FiVXGx37*ZcpI^Qs3mGsxH<aYa|8sUZy
zT4ceH`}+*!$S)tY at HBU*{=DWPul&i7=9|h*$wc?srkj$n)yYIEH at JGRdF|@8O at VAW
z5R&a=mmfb`Q at 3vI5>PWvH04H7wco;7AGIx3?Zm%l&1KqKd*1s@@2h(E_n+GL_3`Xm
z|3N%tH^~qW71F0nwDF~=5s&nT?;+Ivf at oB(#P5~(OZ`m`uRpNl%L`g0vCQGm(3v{L
zOIq)R;&SvU7*URX9Skf-FL=-&^62-t2md3muAKg59(I1r!_KQb`i*(;Z}RAO$V1Pa
z9`=Vk^l$T^)BOAKbC)|k`u)0x9=NBho=<qt{{{4NetrV|Uh6gn_;=93wOFkOuCN-f
zqz+NO2|rvSmWyy$qM}~Wg<<ser&C7OjATs15JubfEk-P!iT5V5W<0ZfOG`4Hif at l}
zC*xLI`IenqJI!^55gi;127{sQNH!6L%1k2F+ZOFKgTZKDBx9JFNW#pvMYYZd4qC9$
z=rp3~fgyuhvs!z!{kCZ5I at nN&wsi*Vj+hassZ2pI2o2H5KqQ(lhqQhu=`@qD*30}3
zG&EWxO=GC>NPpXQV|#<4VF(?!dHbWY$>>~TY!4cmCi`fLr((%+-DuuDtgX;V!4Qox
zor1l&sM!X8YueuJMrX6pX@(kl(wTjcOw34N;v;4n6Bg-}zDy at EJDWN>)18K8b10Zd
zXAKNKZs2;HiDZV1L at HtKrPVYzXbi+N*>ozBgd>f;4W#0>^IsnJghFd23*u%PDyGGZ
zYaRVGo!(R8ImfL*t-{{1xVISDxM?Kgsa~^BuBQqN2sS`XERh{ZXXDb8PO~YR&Y6`B
zM;et(M<Yq=RH3n972j+aW?v?~&q$_wao)x=nREtAqryHy#)c&NF!~a>jI;!CK6c#J
z*@y+(mD-m`#f*-4HrJ1f30-ocdvNaWF?u42q`;bluRzC&qKgMzkNP7CqC^KHMo)qk
z)ZKA`=Bycuu3AMm{k4SlM!`>5kg%vlzqO^sXbd!nmK{4bY-}@vfktub=C+MML2e2(
zhDy*-(1}`gBNS+|YmLQfD6odEp;dSWsKH+~o;3(k&4L#I&KI?~|6hoj4}Ue__Q_`k
z!k)*qo9`#>Hw;}Y!1u49Q6b)MtM+!_-}}}cJj&FHA1T_#na6NvnJ<2- at Vg{lBR*8P
zdE>))gsc`9$%ksvS1n#vZKQv3BC(L3P%cM1*>LQkNAb8aPxuv{Tb8(x#<ohy^Ybx3
zm-;UwEkgL!^DomU)lI54ESq7mf(k!#i-ps(5kC_V<*b8_f!Sr!L6^@{swMBBJMW9r
z4*C*Xix4vo`sEIKeb_?iHh77H&i6+e{xS!>UFn$*8s9ppd543JTdZAnJLqt~UHTk!
z<zm at 3;Gk0<Tm~I<_9?aPchE6mb~)&vUu08-7<16E;Oz2c2YrD}72>dijs;_vBM$l^
zn<~Un2VK4D$=2fzx>`DtKJK8?^Ea1M4!U}T;imsr at aJ_`f1nTlv{oOT_oJJH(7!Nl
zRu#_Z!!OjHlzu3zSq5 at p#Z@@gT at x0>-$yM|uNMl1o-v8jLY;cGh|>u+b)tyVf}Q$y
z5vPSZ^|c~S3v}w?B2Fjb)cr-A7V1={h|>a{>Mr86FsC|-I4#JjjYXUm;#8=J(*m5j
zwusZho4T}!(}J6-D&n-zrrtfr<1MUsG$2Gz-8HR3`lGPo0vCP`Z|~0b_g(ngF8se-
z_zzw9YcBjH7yhCP{|6WTj0^v!3xCpu|BVZO)P;Ys1P{K|HuB0H`pE10 at Q<h4w`;-i
z;A#EPdU~}gEcp|#{-P&Pcg+Df5ew|l`mchbADZ_#ftzQ{C0KfQP#sI}!op<THT#M0
zq=MkTOY*O|lfaGV^pR=(`L}P;pP#ALeJ|>-oHG|g!D^+TwlHb=o#knL?q46r{D|DD
zE`50Y59kd at A9=%EppUM<0Al$YF|qj=X8Xl?>%r&S1zEd)lAqd#Myhl{t`ldAu8-Vv
zd?a@)rjORFSSj^s`QZ5QJ;$od`{-ErrKdneO_&$s=rh+%JxXkcw3qb}?abJieyHnZ
zeN;QHA6j at nR--=hl0Gt#KMjvrJQMj*oHTF7l*HK*iJe6Wx=FLd=Sd=@BqmEFLPd$V
zL*freLcorEOkZV<r0&2IFm&oKai9_FBPUt?2M`?7N6zY_UBtdv4&0oV|GQro3S|5V
zK$pmbhsZu9@}=1#k9df*Dv{d(^Xmv9?~U%7IeoHZW?WM;p*@E&l8eSiyPg|)jSLN8
zzKNiZyohD^sa53uiTt1cigYe{;p2o#zK4h+`6lu!P(KbuaF%oQH at _Jw4jBq3^1u2J
zLbILp1=5A)uK?x;2`MpMs@`Rf1WT+QOKc|p?^t*T#?3_-><o$1lgOJ38QYJ(#!jD<
z*I-(j5Nm+gS*H(Xg5&yxHch6#IZq$frhPAJ at 6aePkJ_~EJAo0tL!KD<e*RrB4Nv<H
zjOSjHjiX&N&WU~=-Iey{M{jws=CP<}*s52dWejFHr=^+9(noS<^pUPp7&>(hd?Nqr
z56Cai13jgWoRFu%f96+`4~OqLBXV_^p!;!kC)N|hI;ug%ME-j;g`-_(bRST3k4e!-
zx16!G%2VkG4ftxF9M#(fxRWLa8WvL at C38Ryhl$frGE?_VJ-~F`GotxK-6P|>96kou
zm<wkqm@%!7)T5cl&J#&G^-+0=tK&M1xDP{ecnaLRVa0LiI|@e~anIwZ1~MElsvQA5
zJBA7ke-aR5A~)c-N}C)50x#n?JX5##7X8o`!j3-+m%x+KJu9T&PY_wH_Tm4QE|r{$
zR1c;%FSK~HX>`|x>lJk=Pmd4e9FY7({s9uEY3w=zc36q^^m2YbQ75!Bvfojfc)PbZ
zX3!*cP2^v;6wz9<u0gn{bV2m=NeIdrq~{a+iG;Mxl{pX0d0@^1a~_!Uz?=tu8xQ!@
z*TpT^cQ-n=wsr}wwc53v=)n1@<&%DUYd?`r`Fk?yet#;LO!^a9e=2SI_hJJzCVVog
zz_+~mQx8I(_5jD<DHO&5&rIVX7;qAhHn}E$Rw&T(+Ua)-g+buaUla<50k3|qP*@7M
z8n78K26zhaRlq#p2Y|JBU-;Vlg+c at 1DZqBXvw#DD?*onjUjNHN;TRwl-UIU8-64E~
z^}gi`=GTrv7ttx!paHhrK#Z;P$z*Xoeogqzyj>{BZ&{1#H!WKFM|BtPtKBbdS$6Zs
z8?V2X_(=YC{3bC*DM&;VqMP`g1>L!!M}3iB&i%YlpzQ^rEvkQ at s%7B?n_v)7YX5uu
z-a`9YK)b!a*iK~M-R+y at Nap{QcC`@8c|2q{{n{{|$1%Q|Z8&fr+HiICgFdN<csAqr
zUHJaHfHfOR`Kq2S_V;NtJpz0B!Ds8Lib)2t_ja_uj`o$#cEggVevaYy6SUJ@*Zc$r
zhdot~7yJ2J=(!VXU<Fugp4*G<FQ9z@?OuNSG1_;d9sVfFcUkg&kZ2rtpq(}aY6cuU
z at nRn<v0nPXBfo31oz?Z0(;!kP_%4smd)Fua!Z#1!U?+U at 5b1KbYL9GLcoTNCv@7lv
z-|(RV){C|^9`K2;C=B9rWzGY09+>mMoCoGSFz10e56pSs|Ck3j{($2R at W?0&#Y|9P
zoMJ4TIK at CvSzrO{#Rv6;3O}rZ5-3iS3dcPxw@^Etfnx$V{(+vasnELtmG{mS(gcsv
z=M5D4gi57P1u<|e!=!5GZ}jUFBY&Ic7zt-A1L;v>qFH?>SFcZEzZy8b*HGaY0{(_R
zrUuINgUS(Xcde4=SOV@}KC43?^I>~ljt}gTggs)3pH+rqCtu=hCtf8bept0*|G1=G
z8v8pua6GnKWrKS83oF>J;BEy66x^@in1Y8DJgVThf at c(*RB&2B4koErK_z}?aEaTf
zkAT;POPLVX^hy89uI^mQ%=v?j0facMUYnC>=-yCMprPqTMJ|<dV>I10;%5ano#vln
zkRDVM=vNFByHSpx)<>177X$PO%u)QP6aBD at -l*t&{<26LDn7)gwr{W~YB`E7Nx#C5
zH)8%jMTPY9^?>OICI992`O9?r?px0OZ%O`3#ZJG)$^E{r=zr{@F9Cy3Tq<sN(Y^em
zOa8^8={ifl^H|QF&q at O>v*YiXKOyxj74G$&k at PF=>jCp01fAl5SE>s at ooaXz^m;@#
zEe$iL1-E13{S@)!qCXA(OE6wE%Azi#;yKVszdO$OdR&mMwOC7zw}9?i3bMUJ((A>I
zDmaMtM5v?`{iM2}(H;nutcRXwLBFJGnQ)&k^r at Td{H*c=?JZDQkM&*7o(DiD{$|C`
z*FTDz{}}Ywho!iEJzNfll+$yU2mNuPS6w3beq(7vycOuwZ<XqIg=#qEq2~?7 at 3!*}
z+(*jUbIgNYgBud{d#}3D at H)8;^m2MAT9EidDwuAivU3O4&!wP;mCy}}{zDHvA9~Pt
z;09Gr|6xUcLD?zyy3ogI(979*CGJk;=zBfr4-vfzH$}dVEBhY<oz|86e0jn{&-=t*
zCeD5V{6pi~sr+_C>F)rY&PNee1O*I9UoLiRD5b}g9`|`oU*qc?{j$^-K`-ZrXFcdY
zQ2O0=`thLRXQdAKY0%5*@ARNQ2|D at VkeWxihYEcY9{OMNpie73?(@0_&l%<H5uMSD
z84RQmO&sY?$jEjOvSzNQClD3Iga^ayH=>mCkOgNfZS*G7-4rg3aQLhd$qkBVx_=-U
zH{&tH7MJCqNachP$z&o!Mm%L^hD1*$(jPZsx&Hnkh&V7AG+)9xkc<okqAK*d8T#WU
zVxt=y46vH<-Z*0N(^k5Kk;odkR5sC at ipSdSl(__mFaPKw{pT+-L?XtfjtyHhL)+R)
z*&+t=p$tt|M7^~`7_Fb*x?xLOi!g58ylvx#&BnG(n>saQMr_!)SyO2X!8L}FitjTb
z6ev!a21p07Lha*}!huASZ3qC5B~nH%8;?~Shko9v4kdx+VHqxtAaIKJwt~}3NXE`a
zP&ckoIWHaQTnZNVZb`@D!irl*Y<*?P9acY9q&h9KY})9HAWH;M^E)d^V>th`4{hsO
z<JKIKL0UtVW<bz{ItLO!jQ#K3e9AvS!i{MCTp$zg33#QaoPT!8to)AIL-o$AaPkUy
zy`VLYG>qO<&dQ-G&6f(r at 6tMu8`Vf>oGU%T(uHM;429pndqb9cD at v}Jm5t(bi?v!R
z$e6LyhT5aE^&!it5tq`el>-$?nMNERMRUjzidnfZ|H}zqvn{G%ggBcW88&u`k~2xm
z*$*wP3f6Z?C&e@#r{;?1$Tb3WiSb_lYgH1JN=o{zlF5EI1Mo;)oTc2A<YcwW#3Fg`
z$LWj=OTL*_G*2Z7Vzc_ETM*@oIU6cl5G}zrTz at nTbD;9MWDc2?s3q{EqwdpX at 9lDi
zjqYrg*<qJg4x!UjO4BNL%?>-Vx++ at UEg|=4epB9SN#<IZGs`OKxHK!VWUTW3h*Q;_
zEnBks%Vg_%WaL(~n$9~vwD_P<d8%Y-;;q{!B9I;GHzVDEX2ybjT%(8L%zy|Wx+NaK
z%`-5NNhA5x9CDDla|!&n00h2RTu267O?j=7y)TmO6M@)J3SC&x%vddZk-~}~ni9l7
zTPB{2kbtTUBux>Z)K?KeHPD+ at m25mJ0%m*=D7_AVJ1w7V1Mxof0?-$OHpb8mav0--
z(fELgcN0psmRhZM14{?j(Rrjl0ri$boKzx!my&+GYdGG^Dy`CfH*LXS+e8-k{{i9s
zZq+P#xlWL_x$sJE%X|I53*x1M*X5Ez?}JWx_y4`PzJ#0h^h!&cOP=>J8Tw1vXUTsK
z?Fdgw^Z0ompJ9WN$M%IRZu=vk(pERi^FBYrgQ|hXNPcE{-fvHUhOH)Bp1&I~<nIJv
zk%e?P%UwWd51#wyeRqcZzRmVCAH#bgPkZ`|^S(aAqpCBqpX_A&6<HiYh316i`8xwc
z{?5StvpkRgF(toIDdg`K4EL)6lRSN^am#-dG-6@>*lMtfg8V&4QD at EnU!%b(?^kjR
z?f;uls at Cr2DVKbM+W%+B=5YUvGd${&4=Z_w(l{0dWI2Z4am%aCkg$TgY{ytiSdLZx
zqf4ImDH-zjGUj)mfB&T9dH#i8aVoe=p$vHb82 at Kf$p0+A+i$fne9%Jeqr3lqLyJ>>
z+HbKk)LF68;O_qomwYo_&`=nvv}cQmBlYDhzXY-fKRP$4 at OMQ1KR53F7-v`wg|r9D
z^8B6AzgnuZ*Sm!k*FVeGL7t|V<@tL7|KFl|HGVpOsjwWcgKvOFV`6#!&e(htaU+(~
z0``&R8B$!RQ(lA>Yl8*(JZA+g$N1F{CK~r24qGitS)P<TO4w1S>UFAr#csE<{3 at Gb
zRal)9x|WD!)Rn?o<v98-KwFq>KaUIBr?%}<P#xOWS(Rt$=HMvYFO%qW=dm-5;6*JK
L_6e7O3l;wZEe}5X
diff --git a/shogo_del_me_bro/play.cc b/shogo_del_me_bro/play.cc
deleted file mode 100644
index d40fc9c5c3e9d5..00000000000000
--- a/shogo_del_me_bro/play.cc
+++ /dev/null
@@ -1,22 +0,0 @@
-#include <iostream>
-using namespace std;
-
-enum class RoundingMode : int { Upward, Downward, TowardZero, Nearest };
-
-string str(RoundingMode mode) {
- switch (mode) {
- case RoundingMode::Upward:
- return "MPFR_RNDU" ;
- case RoundingMode::Downward:
- return "MPFR_RNDD" ;
- case RoundingMode::TowardZero:
- return "MPFR_RNDZ" ;
- default:
- __builtin_unreachable();
- }
-}
-
-int main() {
- RoundingMode mode = RoundingMode::Nearest;
- cout << str(mode) << endl;
-}
\ No newline at end of file
>From 81226da6d12c54f60a45dd65c06d950867a41414 Mon Sep 17 00:00:00 2001
From: Sh0g0-1758 <shouryagoel10000 at gmail.com>
Date: Fri, 10 Jan 2025 23:06:35 +0530
Subject: [PATCH 38/46] generalize add_fp_unittest
---
libc/test/src/CMakeLists.txt | 39 +++++++--------------------
libc/test/src/complex/CMakeLists.txt | 40 ++++++++++++++--------------
2 files changed, 30 insertions(+), 49 deletions(-)
diff --git a/libc/test/src/CMakeLists.txt b/libc/test/src/CMakeLists.txt
index 12fba21f8222dd..4a78f84b4bb894 100644
--- a/libc/test/src/CMakeLists.txt
+++ b/libc/test/src/CMakeLists.txt
@@ -1,12 +1,21 @@
function(add_fp_unittest name)
cmake_parse_arguments(
"MATH_UNITTEST"
- "NEED_MPFR;UNIT_TEST_ONLY;HERMETIC_TEST_ONLY" # Optional arguments
+ "NEED_MPFR;NEED_MPC;UNIT_TEST_ONLY;HERMETIC_TEST_ONLY" # Optional arguments
"" # Single value arguments
"LINK_LIBRARIES;DEPENDS" # Multi-value arguments
${ARGN}
)
+ if(MATH_UNITTEST_NEED_MPC)
+ set(MATH_UNITTEST_NEED_MPFR TRUE)
+ if(NOT LIBC_TESTS_CAN_USE_MPC)
+ message(VERBOSE "Complex test ${name} will be skipped as MPC library is not available.")
+ return()
+ endif()
+ list(APPEND MATH_UNITTEST_LINK_LIBRARIES libcMPCWrapper)
+ endif()
+
if(MATH_UNITTEST_NEED_MPFR)
if(NOT LIBC_TESTS_CAN_USE_MPFR)
message(VERBOSE "Math test ${name} will be skipped as MPFR library is not available.")
@@ -46,34 +55,6 @@ function(add_fp_unittest name)
)
endfunction(add_fp_unittest)
-function(add_cfp_unittest name)
- cmake_parse_arguments(
- "COMPLEX_UNITTEST"
- "NEED_MPC" # Optional argument
- "SUITE;SRCS" # Single value arguments
- "LINK_LIBRARIES;DEPENDS" # Multi-value arguments
- ${ARGN}
- )
-
- if(COMPLEX_UNITTEST_NEED_MPC)
- if(NOT LIBC_TESTS_CAN_USE_MPC)
- message(VERBOSE "Complex test ${name} will be skipped as MPC library is not available.")
- return()
- endif()
- list(APPEND COMPLEX_UNITTEST_LINK_LIBRARIES libcMPCWrapper)
- endif()
-
- list(APPEND COMPLEX_UNITTEST_LINK_LIBRARIES LibcFPTestHelpers)
-
- add_libc_test(
- ${name}
- SUITE "${COMPLEX_UNITTEST_SUITE}"
- SRCS "${COMPLEX_UNITTEST_SRCS}"
- LINK_LIBRARIES "${COMPLEX_UNITTEST_LINK_LIBRARIES}"
- DEPENDS "${COMPLEX_UNITTEST_DEPENDS}"
- )
-endfunction(add_cfp_unittest)
-
add_subdirectory(__support)
add_subdirectory(complex)
add_subdirectory(ctype)
diff --git a/libc/test/src/complex/CMakeLists.txt b/libc/test/src/complex/CMakeLists.txt
index 681526da0596d1..efd1ede63eca5d 100644
--- a/libc/test/src/complex/CMakeLists.txt
+++ b/libc/test/src/complex/CMakeLists.txt
@@ -1,6 +1,6 @@
add_custom_target(libc-complex-unittests)
-add_cfp_unittest(
+add_fp_unittest(
conj_test
SUITE
libc-complex-unittests
@@ -10,7 +10,7 @@ add_cfp_unittest(
libc.src.complex.conj
)
-add_cfp_unittest(
+add_fp_unittest(
conjf_test
SUITE
libc-complex-unittests
@@ -20,7 +20,7 @@ add_cfp_unittest(
libc.src.complex.conjf
)
-add_cfp_unittest(
+add_fp_unittest(
conjl_test
SUITE
libc-complex-unittests
@@ -30,7 +30,7 @@ add_cfp_unittest(
libc.src.complex.conjl
)
-add_cfp_unittest(
+add_fp_unittest(
conjf16_test
SUITE
libc-complex-unittests
@@ -40,7 +40,7 @@ add_cfp_unittest(
libc.src.complex.conjf16
)
-add_cfp_unittest(
+add_fp_unittest(
conjf128_test
SUITE
libc-complex-unittests
@@ -50,7 +50,7 @@ add_cfp_unittest(
libc.src.complex.conjf128
)
-add_cfp_unittest(
+add_fp_unittest(
cproj_test
SUITE
libc-complex-unittests
@@ -60,7 +60,7 @@ add_cfp_unittest(
libc.src.complex.cproj
)
-add_cfp_unittest(
+add_fp_unittest(
cprojf_test
NEED_MPC
SUITE
@@ -71,7 +71,7 @@ add_cfp_unittest(
libc.src.complex.cprojf
)
-add_cfp_unittest(
+add_fp_unittest(
cprojl_test
SUITE
libc-complex-unittests
@@ -81,7 +81,7 @@ add_cfp_unittest(
libc.src.complex.cprojl
)
-add_cfp_unittest(
+add_fp_unittest(
cprojf16_test
SUITE
libc-complex-unittests
@@ -91,7 +91,7 @@ add_cfp_unittest(
libc.src.complex.cprojf16
)
-add_cfp_unittest(
+add_fp_unittest(
cprojf128_test
SUITE
libc-complex-unittests
@@ -101,7 +101,7 @@ add_cfp_unittest(
libc.src.complex.cprojf128
)
-add_cfp_unittest(
+add_fp_unittest(
creal_test
SUITE
libc-complex-unittests
@@ -111,7 +111,7 @@ add_cfp_unittest(
libc.src.complex.creal
)
-add_cfp_unittest(
+add_fp_unittest(
crealf_test
SUITE
libc-complex-unittests
@@ -121,7 +121,7 @@ add_cfp_unittest(
libc.src.complex.crealf
)
-add_cfp_unittest(
+add_fp_unittest(
creall_test
SUITE
libc-complex-unittests
@@ -131,7 +131,7 @@ add_cfp_unittest(
libc.src.complex.creall
)
-add_cfp_unittest(
+add_fp_unittest(
crealf16_test
SUITE
libc-complex-unittests
@@ -141,7 +141,7 @@ add_cfp_unittest(
libc.src.complex.crealf16
)
-add_cfp_unittest(
+add_fp_unittest(
crealf128_test
SUITE
libc-complex-unittests
@@ -151,7 +151,7 @@ add_cfp_unittest(
libc.src.complex.crealf128
)
-add_cfp_unittest(
+add_fp_unittest(
cimag_test
SUITE
libc-complex-unittests
@@ -161,7 +161,7 @@ add_cfp_unittest(
libc.src.complex.cimag
)
-add_cfp_unittest(
+add_fp_unittest(
cimagf_test
SUITE
libc-complex-unittests
@@ -171,7 +171,7 @@ add_cfp_unittest(
libc.src.complex.cimagf
)
-add_cfp_unittest(
+add_fp_unittest(
cimagl_test
SUITE
libc-complex-unittests
@@ -181,7 +181,7 @@ add_cfp_unittest(
libc.src.complex.cimagl
)
-add_cfp_unittest(
+add_fp_unittest(
cimagf16_test
SUITE
libc-complex-unittests
@@ -191,7 +191,7 @@ add_cfp_unittest(
libc.src.complex.cimagf16
)
-add_cfp_unittest(
+add_fp_unittest(
cimagf128_test
SUITE
libc-complex-unittests
>From 363e23808f4b80a0add745dfe3fb2bce045cebf0 Mon Sep 17 00:00:00 2001
From: Sh0g0-1758 <shouryagoel10000 at gmail.com>
Date: Fri, 10 Jan 2025 23:25:27 +0530
Subject: [PATCH 39/46] nit
---
libc/utils/MPCWrapper/MPCUtils.cpp | 28 +++++++++++++---------------
1 file changed, 13 insertions(+), 15 deletions(-)
diff --git a/libc/utils/MPCWrapper/MPCUtils.cpp b/libc/utils/MPCWrapper/MPCUtils.cpp
index 19189681c5e992..cbce1def301f13 100644
--- a/libc/utils/MPCWrapper/MPCUtils.cpp
+++ b/libc/utils/MPCWrapper/MPCUtils.cpp
@@ -271,13 +271,12 @@ void explain_unary_operation_single_output_different_type_error(
cpp::StringStream msg(msg_buf);
msg << "Match value not within tolerance value of MPFR result:\n"
<< " Input: " << mpfrInputReal.str() << " + " << mpfrInputImag.str()
- << "i" << '\n';
- msg << " Rounding mode: " << str(rounding) << " , " << str(rounding) << '\n';
- msg << " Libc: " << mpfrLibcResult.str() << '\n';
- msg << " MPC: " << mpfr_result.str() << '\n';
- msg << '\n';
- msg << " ULP error: " << mpfr_result.ulp_as_mpfr_number(libc_result).str()
- << '\n';
+ << "i\n"
+ << " Rounding mode: " << str(rounding) << " , " << str(rounding) << '\n'
+ << " Libc: " << mpfrLibcResult.str() << '\n'
+ << " MPC: " << mpfr_result.str() << '\n'
+ << '\n'
+ << " ULP error: " << mpfr_result.ulp_as_mpfr_number(libc_result).str() << '\n';
tlog << msg.str();
mpc_clear(mpc_result_val);
mpfr_clear(real);
@@ -328,14 +327,13 @@ void explain_unary_operation_single_output_same_type_error(
cpp::StringStream msg(msg_buf);
msg << "Match value not within tolerance value of MPFR result:\n"
<< " Input: " << mpfrInputReal.str() << " + " << mpfrInputImag.str()
- << "i" << '\n';
- msg << " Rounding mode: " << str(rounding) << " , " << str(rounding) << '\n';
- msg << " Libc: " << mpfrLibcResultReal.str() << " + "
- << mpfrLibcResultImag.str() << "i" << '\n';
- msg << " MPC: " << mpfr_real.str() << " + " << mpfr_imag.str() << "i"
- << '\n';
- msg << '\n';
- msg << " ULP error: "
+ << "i\n";
+ << " Rounding mode: " << str(rounding) << " , " << str(rounding) << '\n'
+ << " Libc: " << mpfrLibcResultReal.str() << " + "
+ << mpfrLibcResultImag.str() << "i\n"
+ << " MPC: " << mpfr_real.str() << " + " << mpfr_imag.str() << "i\n"
+ << '\n'
+ << " ULP error: "
<< mpfr_real
.ulp_as_mpfr_number(
cpp::bit_cast<Complex<make_real_t<InputType>>>(libc_result)
>From b482b4b42d40621ad75e9e5710f51b2db6be2d06 Mon Sep 17 00:00:00 2001
From: Sh0g0-1758 <shouryagoel10000 at gmail.com>
Date: Fri, 10 Jan 2025 23:37:12 +0530
Subject: [PATCH 40/46] nit
---
libc/utils/MPCWrapper/MPCUtils.cpp | 27 ++++++++++-----------------
1 file changed, 10 insertions(+), 17 deletions(-)
diff --git a/libc/utils/MPCWrapper/MPCUtils.cpp b/libc/utils/MPCWrapper/MPCUtils.cpp
index cbce1def301f13..0879fe92811420 100644
--- a/libc/utils/MPCWrapper/MPCUtils.cpp
+++ b/libc/utils/MPCWrapper/MPCUtils.cpp
@@ -272,11 +272,12 @@ void explain_unary_operation_single_output_different_type_error(
msg << "Match value not within tolerance value of MPFR result:\n"
<< " Input: " << mpfrInputReal.str() << " + " << mpfrInputImag.str()
<< "i\n"
- << " Rounding mode: " << str(rounding) << " , " << str(rounding) << '\n'
+ << " Rounding mode: " << str(rounding) << '\n'
<< " Libc: " << mpfrLibcResult.str() << '\n'
<< " MPC: " << mpfr_result.str() << '\n'
<< '\n'
- << " ULP error: " << mpfr_result.ulp_as_mpfr_number(libc_result).str() << '\n';
+ << " ULP error: " << mpfr_result.ulp_as_mpfr_number(libc_result).str()
+ << '\n';
tlog << msg.str();
mpc_clear(mpc_result_val);
mpfr_clear(real);
@@ -326,26 +327,18 @@ void explain_unary_operation_single_output_same_type_error(
cpp::array<char, 2048> msg_buf;
cpp::StringStream msg(msg_buf);
msg << "Match value not within tolerance value of MPFR result:\n"
- << " Input: " << mpfrInputReal.str() << " + " << mpfrInputImag.str()
- << "i\n";
+ << " Input: " << mpfrInputReal.str() << " + " << mpfrInputImag.str()
+ << "i\n"
<< " Rounding mode: " << str(rounding) << " , " << str(rounding) << '\n'
<< " Libc: " << mpfrLibcResultReal.str() << " + "
- << mpfrLibcResultImag.str() << "i\n"
+ << mpfrLibcResultImag.str() << "i\n"
<< " MPC: " << mpfr_real.str() << " + " << mpfr_imag.str() << "i\n"
<< '\n'
<< " ULP error: "
- << mpfr_real
- .ulp_as_mpfr_number(
- cpp::bit_cast<Complex<make_real_t<InputType>>>(libc_result)
- .real)
- .str()
- << " , "
- << mpfr_imag
- .ulp_as_mpfr_number(
- cpp::bit_cast<Complex<make_real_t<InputType>>>(libc_result)
- .imag)
- .str()
- << '\n';
+ << mpfr_real.ulp_as_mpfr_number(cpp::bit_cast<Complex<make_real_t<InputType>>>(libc_result).real).str()
+ << " , "
+ << mpfr_imag.ulp_as_mpfr_number(cpp::bit_cast<Complex<make_real_t<InputType>>>(libc_result).imag).str()
+ << '\n';
tlog << msg.str();
mpc_clear(mpc_result_val);
mpfr_clear(real);
>From a9a12a3603f139d08b51a085afc82a10005087d3 Mon Sep 17 00:00:00 2001
From: Sh0g0-1758 <shouryagoel10000 at gmail.com>
Date: Fri, 10 Jan 2025 23:38:09 +0530
Subject: [PATCH 41/46] fmt
---
libc/utils/MPCWrapper/MPCUtils.cpp | 32 +++++++++++++++++++-----------
1 file changed, 20 insertions(+), 12 deletions(-)
diff --git a/libc/utils/MPCWrapper/MPCUtils.cpp b/libc/utils/MPCWrapper/MPCUtils.cpp
index 0879fe92811420..5c06a400a56158 100644
--- a/libc/utils/MPCWrapper/MPCUtils.cpp
+++ b/libc/utils/MPCWrapper/MPCUtils.cpp
@@ -327,18 +327,26 @@ void explain_unary_operation_single_output_same_type_error(
cpp::array<char, 2048> msg_buf;
cpp::StringStream msg(msg_buf);
msg << "Match value not within tolerance value of MPFR result:\n"
- << " Input: " << mpfrInputReal.str() << " + " << mpfrInputImag.str()
- << "i\n"
- << " Rounding mode: " << str(rounding) << " , " << str(rounding) << '\n'
- << " Libc: " << mpfrLibcResultReal.str() << " + "
- << mpfrLibcResultImag.str() << "i\n"
- << " MPC: " << mpfr_real.str() << " + " << mpfr_imag.str() << "i\n"
- << '\n'
- << " ULP error: "
- << mpfr_real.ulp_as_mpfr_number(cpp::bit_cast<Complex<make_real_t<InputType>>>(libc_result).real).str()
- << " , "
- << mpfr_imag.ulp_as_mpfr_number(cpp::bit_cast<Complex<make_real_t<InputType>>>(libc_result).imag).str()
- << '\n';
+ << " Input: " << mpfrInputReal.str() << " + " << mpfrInputImag.str()
+ << "i\n"
+ << " Rounding mode: " << str(rounding) << " , " << str(rounding) << '\n'
+ << " Libc: " << mpfrLibcResultReal.str() << " + "
+ << mpfrLibcResultImag.str() << "i\n"
+ << " MPC: " << mpfr_real.str() << " + " << mpfr_imag.str() << "i\n"
+ << '\n'
+ << " ULP error: "
+ << mpfr_real
+ .ulp_as_mpfr_number(
+ cpp::bit_cast<Complex<make_real_t<InputType>>>(libc_result)
+ .real)
+ .str()
+ << " , "
+ << mpfr_imag
+ .ulp_as_mpfr_number(
+ cpp::bit_cast<Complex<make_real_t<InputType>>>(libc_result)
+ .imag)
+ .str()
+ << '\n';
tlog << msg.str();
mpc_clear(mpc_result_val);
mpfr_clear(real);
>From 6c5620ad7b13f273ed39f62aa0ce6456a7af65a1 Mon Sep 17 00:00:00 2001
From: Sh0g0-1758 <shouryagoel10000 at gmail.com>
Date: Sat, 11 Jan 2025 23:47:16 +0530
Subject: [PATCH 42/46] nit
---
libc/utils/MPCWrapper/MPCUtils.h | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/libc/utils/MPCWrapper/MPCUtils.h b/libc/utils/MPCWrapper/MPCUtils.h
index b572ae6d68b65f..fa4ff5010a6eec 100644
--- a/libc/utils/MPCWrapper/MPCUtils.h
+++ b/libc/utils/MPCWrapper/MPCUtils.h
@@ -211,10 +211,10 @@ get_mpc_matcher(InputType input, [[maybe_unused]] OutputType output,
EXPECT_THAT(match_value, LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>( \
input, match_value, ulp_tolerance, rounding))
-#define EXPECT_MPC_MATCH_ALL_ROUNDING_HELPER(i, op, input, match_value, \
+#define EXPECT_MPC_MATCH_ALL_ROUNDING_HELPER(op, input, match_value, \
ulp_tolerance, rounding) \
{ \
- MPCRND::ForceRoundingMode __r##i(rounding); \
+ MPCRND::ForceRoundingMode __r(rounding); \
if (__r##i.success) { \
EXPECT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
rounding); \
@@ -226,7 +226,7 @@ get_mpc_matcher(InputType input, [[maybe_unused]] OutputType output,
namespace MPCRND = LIBC_NAMESPACE::fputil::testing; \
for (int i = 0; i < 4; i++) { \
MPCRND::RoundingMode r_mode = static_cast<MPCRND::RoundingMode>(i); \
- EXPECT_MPC_MATCH_ALL_ROUNDING_HELPER(i, op, input, match_value, \
+ EXPECT_MPC_MATCH_ALL_ROUNDING_HELPER(op, input, match_value, \
ulp_tolerance, r_mode); \
} \
}
@@ -248,10 +248,10 @@ get_mpc_matcher(InputType input, [[maybe_unused]] OutputType output,
ASSERT_THAT(match_value, LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>( \
input, match_value, ulp_tolerance, rounding))
-#define ASSERT_MPC_MATCH_ALL_ROUNDING_HELPER(i, op, input, match_value, \
+#define ASSERT_MPC_MATCH_ALL_ROUNDING_HELPER(op, input, match_value, \
ulp_tolerance, rounding) \
{ \
- MPCRND::ForceRoundingMode __r##i(rounding); \
+ MPCRND::ForceRoundingMode __r(rounding); \
if (__r##i.success) { \
ASSERT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
rounding); \
@@ -263,7 +263,7 @@ get_mpc_matcher(InputType input, [[maybe_unused]] OutputType output,
namespace MPCRND = LIBC_NAMESPACE::fputil::testing; \
for (int i = 0; i < 4; i++) { \
MPCRND::RoundingMode r_mode = static_cast<MPCRND::RoundingMode>(i); \
- ASSERT_MPC_MATCH_ALL_ROUNDING_HELPER(i, op, input, match_value, \
+ ASSERT_MPC_MATCH_ALL_ROUNDING_HELPER(op, input, match_value, \
ulp_tolerance, r_mode); \
} \
}
>From 37e56810a72a207c68a53ab52418e63eabf7152e Mon Sep 17 00:00:00 2001
From: Sh0g0-1758 <shouryagoel10000 at gmail.com>
Date: Sat, 11 Jan 2025 23:47:34 +0530
Subject: [PATCH 43/46] fmt
---
libc/utils/MPCWrapper/MPCUtils.h | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/libc/utils/MPCWrapper/MPCUtils.h b/libc/utils/MPCWrapper/MPCUtils.h
index fa4ff5010a6eec..cd7a9d95bcdc77 100644
--- a/libc/utils/MPCWrapper/MPCUtils.h
+++ b/libc/utils/MPCWrapper/MPCUtils.h
@@ -211,10 +211,10 @@ get_mpc_matcher(InputType input, [[maybe_unused]] OutputType output,
EXPECT_THAT(match_value, LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>( \
input, match_value, ulp_tolerance, rounding))
-#define EXPECT_MPC_MATCH_ALL_ROUNDING_HELPER(op, input, match_value, \
+#define EXPECT_MPC_MATCH_ALL_ROUNDING_HELPER(op, input, match_value, \
ulp_tolerance, rounding) \
{ \
- MPCRND::ForceRoundingMode __r(rounding); \
+ MPCRND::ForceRoundingMode __r(rounding); \
if (__r##i.success) { \
EXPECT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
rounding); \
@@ -226,7 +226,7 @@ get_mpc_matcher(InputType input, [[maybe_unused]] OutputType output,
namespace MPCRND = LIBC_NAMESPACE::fputil::testing; \
for (int i = 0; i < 4; i++) { \
MPCRND::RoundingMode r_mode = static_cast<MPCRND::RoundingMode>(i); \
- EXPECT_MPC_MATCH_ALL_ROUNDING_HELPER(op, input, match_value, \
+ EXPECT_MPC_MATCH_ALL_ROUNDING_HELPER(op, input, match_value, \
ulp_tolerance, r_mode); \
} \
}
@@ -248,10 +248,10 @@ get_mpc_matcher(InputType input, [[maybe_unused]] OutputType output,
ASSERT_THAT(match_value, LIBC_NAMESPACE::testing::mpc::get_mpc_matcher<op>( \
input, match_value, ulp_tolerance, rounding))
-#define ASSERT_MPC_MATCH_ALL_ROUNDING_HELPER(op, input, match_value, \
+#define ASSERT_MPC_MATCH_ALL_ROUNDING_HELPER(op, input, match_value, \
ulp_tolerance, rounding) \
{ \
- MPCRND::ForceRoundingMode __r(rounding); \
+ MPCRND::ForceRoundingMode __r(rounding); \
if (__r##i.success) { \
ASSERT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
rounding); \
@@ -263,7 +263,7 @@ get_mpc_matcher(InputType input, [[maybe_unused]] OutputType output,
namespace MPCRND = LIBC_NAMESPACE::fputil::testing; \
for (int i = 0; i < 4; i++) { \
MPCRND::RoundingMode r_mode = static_cast<MPCRND::RoundingMode>(i); \
- ASSERT_MPC_MATCH_ALL_ROUNDING_HELPER(op, input, match_value, \
+ ASSERT_MPC_MATCH_ALL_ROUNDING_HELPER(op, input, match_value, \
ulp_tolerance, r_mode); \
} \
}
>From 6565b14ca1352b45d54567d24c59a928932f6b33 Mon Sep 17 00:00:00 2001
From: Sh0g0-1758 <shouryagoel10000 at gmail.com>
Date: Sat, 11 Jan 2025 23:53:44 +0530
Subject: [PATCH 44/46] bug fix
---
libc/utils/MPCWrapper/MPCUtils.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/libc/utils/MPCWrapper/MPCUtils.h b/libc/utils/MPCWrapper/MPCUtils.h
index cd7a9d95bcdc77..172b23482be7fe 100644
--- a/libc/utils/MPCWrapper/MPCUtils.h
+++ b/libc/utils/MPCWrapper/MPCUtils.h
@@ -215,7 +215,7 @@ get_mpc_matcher(InputType input, [[maybe_unused]] OutputType output,
ulp_tolerance, rounding) \
{ \
MPCRND::ForceRoundingMode __r(rounding); \
- if (__r##i.success) { \
+ if (__r.success) { \
EXPECT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
rounding); \
} \
@@ -252,7 +252,7 @@ get_mpc_matcher(InputType input, [[maybe_unused]] OutputType output,
ulp_tolerance, rounding) \
{ \
MPCRND::ForceRoundingMode __r(rounding); \
- if (__r##i.success) { \
+ if (__r.success) { \
ASSERT_MPC_MATCH_ROUNDING(op, input, match_value, ulp_tolerance, \
rounding); \
} \
>From af06fd97ffd82625a2a2c4ea43e07b5f8df19b5a Mon Sep 17 00:00:00 2001
From: Sh0g0-1758 <shouryagoel10000 at gmail.com>
Date: Sun, 12 Jan 2025 14:22:51 +0530
Subject: [PATCH 45/46] separate the definitions and declarations needed for
mpc
---
libc/utils/MPFRWrapper/MPFRUtils.cpp | 303 ++++++++++++---------------
libc/utils/MPFRWrapper/MPFRUtils.h | 150 ++++++++++++-
2 files changed, 285 insertions(+), 168 deletions(-)
diff --git a/libc/utils/MPFRWrapper/MPFRUtils.cpp b/libc/utils/MPFRWrapper/MPFRUtils.cpp
index 8f2802f49cb3a8..38ca639bf45070 100644
--- a/libc/utils/MPFRWrapper/MPFRUtils.cpp
+++ b/libc/utils/MPFRWrapper/MPFRUtils.cpp
@@ -18,10 +18,6 @@
#include "src/__support/macros/config.h"
#include "src/__support/macros/properties/types.h"
-#include <stdint.h>
-
-#include "mpfr_inc.h"
-
#ifdef LIBC_TYPES_FLOAT128_IS_NOT_LONG_DOUBLE
extern "C" {
int mpfr_set_float128(mpfr_ptr, float128, mpfr_rnd_t);
@@ -35,10 +31,6 @@ namespace LIBC_NAMESPACE_DECL {
namespace testing {
namespace mpfr {
-// A precision value which allows sufficiently large additional
-// precision compared to the floating point precision.
-template <typename T> struct ExtraPrecision;
-
#ifdef LIBC_TYPES_HAS_FLOAT16
template <> struct ExtraPrecision<float16> {
static constexpr unsigned int VALUE = 128;
@@ -67,9 +59,6 @@ template <> struct ExtraPrecision<float128> {
};
#endif // LIBC_TYPES_FLOAT128_IS_NOT_LONG_DOUBLE
-// If the ulp tolerance is less than or equal to 0.5, we would check that the
-// result is rounded correctly with respect to the rounding mode by using the
-// same precision as the inputs.
template <typename T>
static inline unsigned int get_precision(double ulp_tolerance) {
if (ulp_tolerance <= 0.5) {
@@ -97,194 +86,182 @@ static inline mpfr_rnd_t get_mpfr_rounding_mode(RoundingMode mode) {
__builtin_unreachable();
}
-class MPFRNumber {
- unsigned int mpfr_precision;
- mpfr_rnd_t mpfr_rounding;
-
- mpfr_t value;
-
-public:
- MPFRNumber() : mpfr_precision(256), mpfr_rounding(MPFR_RNDN) {
- mpfr_init2(value, mpfr_precision);
- }
+MPFRNumber::MPFRNumber() : mpfr_precision(256), mpfr_rounding(MPFR_RNDN) {
+ mpfr_init2(value, mpfr_precision);
+}
- // We use explicit EnableIf specializations to disallow implicit
- // conversions. Implicit conversions can potentially lead to loss of
- // precision. We exceptionally allow implicit conversions from float16
- // to float, as the MPFR API does not support float16, thus requiring
- // conversion to a higher-precision format.
- template <typename XType,
- cpp::enable_if_t<cpp::is_same_v<float, XType>
+template <typename XType,
+ cpp::enable_if_t<cpp::is_same_v<float, XType>
#ifdef LIBC_TYPES_HAS_FLOAT16
- || cpp::is_same_v<float16, XType>
+ || cpp::is_same_v<float16, XType>
#endif
- ,
- int> = 0>
- explicit MPFRNumber(XType x,
- unsigned int precision = ExtraPrecision<XType>::VALUE,
- RoundingMode rounding = RoundingMode::Nearest)
- : mpfr_precision(precision),
- mpfr_rounding(get_mpfr_rounding_mode(rounding)) {
- mpfr_init2(value, mpfr_precision);
- mpfr_set_flt(value, x, mpfr_rounding);
- }
+ ,
+ int>>
+MPFRNumber::MPFRNumber(XType x,
+ unsigned int precision,
+ RoundingMode rounding)
+ : mpfr_precision(precision),
+ mpfr_rounding(get_mpfr_rounding_mode(rounding)) {
+ mpfr_init2(value, mpfr_precision);
+ mpfr_set_flt(value, x, mpfr_rounding);
+}
- template <typename XType,
- cpp::enable_if_t<cpp::is_same_v<double, XType>, int> = 0>
- explicit MPFRNumber(XType x,
- unsigned int precision = ExtraPrecision<XType>::VALUE,
- RoundingMode rounding = RoundingMode::Nearest)
- : mpfr_precision(precision),
- mpfr_rounding(get_mpfr_rounding_mode(rounding)) {
- mpfr_init2(value, mpfr_precision);
- mpfr_set_d(value, x, mpfr_rounding);
- }
+template <typename XType,
+ cpp::enable_if_t<cpp::is_same_v<double, XType>, int>>
+MPFRNumber::MPFRNumber(XType x,
+ unsigned int precision,
+ RoundingMode rounding)
+ : mpfr_precision(precision),
+ mpfr_rounding(get_mpfr_rounding_mode(rounding)) {
+ mpfr_init2(value, mpfr_precision);
+ mpfr_set_d(value, x, mpfr_rounding);
+}
- template <typename XType,
- cpp::enable_if_t<cpp::is_same_v<long double, XType>, int> = 0>
- explicit MPFRNumber(XType x,
- unsigned int precision = ExtraPrecision<XType>::VALUE,
- RoundingMode rounding = RoundingMode::Nearest)
- : mpfr_precision(precision),
- mpfr_rounding(get_mpfr_rounding_mode(rounding)) {
- mpfr_init2(value, mpfr_precision);
- mpfr_set_ld(value, x, mpfr_rounding);
- }
+template <typename XType,
+ cpp::enable_if_t<cpp::is_same_v<long double, XType>, int>>
+MPFRNumber::MPFRNumber(XType x,
+ unsigned int precision,
+ RoundingMode rounding)
+ : mpfr_precision(precision),
+ mpfr_rounding(get_mpfr_rounding_mode(rounding)) {
+ mpfr_init2(value, mpfr_precision);
+ mpfr_set_ld(value, x, mpfr_rounding);
+}
#ifdef LIBC_TYPES_FLOAT128_IS_NOT_LONG_DOUBLE
- template <typename XType,
- cpp::enable_if_t<cpp::is_same_v<float128, XType>, int> = 0>
- explicit MPFRNumber(XType x,
- unsigned int precision = ExtraPrecision<XType>::VALUE,
- RoundingMode rounding = RoundingMode::Nearest)
- : mpfr_precision(precision),
- mpfr_rounding(get_mpfr_rounding_mode(rounding)) {
- mpfr_init2(value, mpfr_precision);
- mpfr_set_float128(value, x, mpfr_rounding);
- }
+template <typename XType,
+ cpp::enable_if_t<cpp::is_same_v<float128, XType>, int>>
+MPFRNumber::MPFRNumber(XType x,
+ unsigned int precision,
+ RoundingMode rounding)
+ : mpfr_precision(precision),
+ mpfr_rounding(get_mpfr_rounding_mode(rounding)) {
+ mpfr_init2(value, mpfr_precision);
+ mpfr_set_float128(value, x, mpfr_rounding);
+}
#endif // LIBC_TYPES_FLOAT128_IS_NOT_LONG_DOUBLE
- template <typename XType,
- cpp::enable_if_t<cpp::is_integral_v<XType>, int> = 0>
- explicit MPFRNumber(XType x,
- unsigned int precision = ExtraPrecision<float>::VALUE,
- RoundingMode rounding = RoundingMode::Nearest)
- : mpfr_precision(precision),
- mpfr_rounding(get_mpfr_rounding_mode(rounding)) {
- mpfr_init2(value, mpfr_precision);
- mpfr_set_sj(value, x, mpfr_rounding);
- }
+template <typename XType,
+ cpp::enable_if_t<cpp::is_integral_v<XType>, int>>
+MPFRNumber::MPFRNumber(XType x,
+ unsigned int precision,
+ RoundingMode rounding)
+ : mpfr_precision(precision),
+ mpfr_rounding(get_mpfr_rounding_mode(rounding)) {
+ mpfr_init2(value, mpfr_precision);
+ mpfr_set_sj(value, x, mpfr_rounding);
+}
- MPFRNumber(const MPFRNumber &other)
+ MPFRNumber::MPFRNumber(const MPFRNumber &other)
: mpfr_precision(other.mpfr_precision),
mpfr_rounding(other.mpfr_rounding) {
mpfr_init2(value, mpfr_precision);
mpfr_set(value, other.value, mpfr_rounding);
}
- MPFRNumber(const MPFRNumber &other, unsigned int precision)
+ MPFRNumber::MPFRNumber(const MPFRNumber &other, unsigned int precision)
: mpfr_precision(precision), mpfr_rounding(other.mpfr_rounding) {
mpfr_init2(value, mpfr_precision);
mpfr_set(value, other.value, mpfr_rounding);
}
- MPFRNumber(const mpfr_t x, unsigned int precision, RoundingMode rounding)
+ MPFRNumber::MPFRNumber(const mpfr_t x, unsigned int precision, RoundingMode rounding)
: mpfr_precision(precision),
mpfr_rounding(get_mpfr_rounding_mode(rounding)) {
mpfr_init2(value, mpfr_precision);
mpfr_set(value, x, mpfr_rounding);
}
- ~MPFRNumber() { mpfr_clear(value); }
+ MPFRNumber::~MPFRNumber() { mpfr_clear(value); }
- MPFRNumber &operator=(const MPFRNumber &rhs) {
+ MPFRNumber& MPFRNumber::operator=(const MPFRNumber &rhs) {
mpfr_precision = rhs.mpfr_precision;
mpfr_rounding = rhs.mpfr_rounding;
mpfr_set(value, rhs.value, mpfr_rounding);
return *this;
}
- bool is_nan() const { return mpfr_nan_p(value); }
+ bool MPFRNumber::is_nan() const { return mpfr_nan_p(value); }
- MPFRNumber abs() const {
+ MPFRNumber MPFRNumber::abs() const {
MPFRNumber result(*this);
mpfr_abs(result.value, value, mpfr_rounding);
return result;
}
- MPFRNumber acos() const {
+ MPFRNumber MPFRNumber::acos() const {
MPFRNumber result(*this);
mpfr_acos(result.value, value, mpfr_rounding);
return result;
}
- MPFRNumber acosh() const {
+ MPFRNumber MPFRNumber::acosh() const {
MPFRNumber result(*this);
mpfr_acosh(result.value, value, mpfr_rounding);
return result;
}
- MPFRNumber add(const MPFRNumber &b) const {
+ MPFRNumber MPFRNumber::add(const MPFRNumber &b) const {
MPFRNumber result(*this);
mpfr_add(result.value, value, b.value, mpfr_rounding);
return result;
}
- MPFRNumber asin() const {
+ MPFRNumber MPFRNumber::asin() const {
MPFRNumber result(*this);
mpfr_asin(result.value, value, mpfr_rounding);
return result;
}
- MPFRNumber asinh() const {
+ MPFRNumber MPFRNumber::asinh() const {
MPFRNumber result(*this);
mpfr_asinh(result.value, value, mpfr_rounding);
return result;
}
- MPFRNumber atan() const {
+ MPFRNumber MPFRNumber::atan() const {
MPFRNumber result(*this);
mpfr_atan(result.value, value, mpfr_rounding);
return result;
}
- MPFRNumber atan2(const MPFRNumber &b) {
+ MPFRNumber MPFRNumber::atan2(const MPFRNumber &b) {
MPFRNumber result(*this);
mpfr_atan2(result.value, value, b.value, mpfr_rounding);
return result;
}
- MPFRNumber atanh() const {
+ MPFRNumber MPFRNumber::atanh() const {
MPFRNumber result(*this);
mpfr_atanh(result.value, value, mpfr_rounding);
return result;
}
- MPFRNumber cbrt() const {
+ MPFRNumber MPFRNumber::cbrt() const {
MPFRNumber result(*this);
mpfr_cbrt(result.value, value, mpfr_rounding);
return result;
}
- MPFRNumber ceil() const {
+ MPFRNumber MPFRNumber::ceil() const {
MPFRNumber result(*this);
mpfr_ceil(result.value, value);
return result;
}
- MPFRNumber cos() const {
+ MPFRNumber MPFRNumber::cos() const {
MPFRNumber result(*this);
mpfr_cos(result.value, value, mpfr_rounding);
return result;
}
- MPFRNumber cosh() const {
+ MPFRNumber MPFRNumber::cosh() const {
MPFRNumber result(*this);
mpfr_cosh(result.value, value, mpfr_rounding);
return result;
}
- MPFRNumber cospi() const {
+ MPFRNumber MPFRNumber::cospi() const {
MPFRNumber result(*this);
#if MPFR_VERSION_MAJOR > 4 || \
@@ -312,25 +289,25 @@ class MPFRNumber {
#endif
}
- MPFRNumber erf() const {
+ MPFRNumber MPFRNumber::erf() const {
MPFRNumber result(*this);
mpfr_erf(result.value, value, mpfr_rounding);
return result;
}
- MPFRNumber exp() const {
+ MPFRNumber MPFRNumber::exp() const {
MPFRNumber result(*this);
mpfr_exp(result.value, value, mpfr_rounding);
return result;
}
- MPFRNumber exp2() const {
+ MPFRNumber MPFRNumber::exp2() const {
MPFRNumber result(*this);
mpfr_exp2(result.value, value, mpfr_rounding);
return result;
}
- MPFRNumber exp2m1() const {
+ MPFRNumber MPFRNumber::exp2m1() const {
// TODO: Only use mpfr_exp2m1 once CI and buildbots get MPFR >= 4.2.0.
#if MPFR_VERSION_MAJOR > 4 || \
(MPFR_VERSION_MAJOR == 4 && MPFR_VERSION_MINOR >= 2)
@@ -360,13 +337,13 @@ class MPFRNumber {
#endif
}
- MPFRNumber exp10() const {
+ MPFRNumber MPFRNumber::exp10() const {
MPFRNumber result(*this);
mpfr_exp10(result.value, value, mpfr_rounding);
return result;
}
- MPFRNumber exp10m1() const {
+ MPFRNumber MPFRNumber::exp10m1() const {
// TODO: Only use mpfr_exp10m1 once CI and buildbots get MPFR >= 4.2.0.
#if MPFR_VERSION_MAJOR > 4 || \
(MPFR_VERSION_MAJOR == 4 && MPFR_VERSION_MINOR >= 2)
@@ -389,31 +366,31 @@ class MPFRNumber {
#endif
}
- MPFRNumber expm1() const {
+ MPFRNumber MPFRNumber::expm1() const {
MPFRNumber result(*this);
mpfr_expm1(result.value, value, mpfr_rounding);
return result;
}
- MPFRNumber div(const MPFRNumber &b) const {
+ MPFRNumber MPFRNumber::div(const MPFRNumber &b) const {
MPFRNumber result(*this);
mpfr_div(result.value, value, b.value, mpfr_rounding);
return result;
}
- MPFRNumber floor() const {
+ MPFRNumber MPFRNumber::floor() const {
MPFRNumber result(*this);
mpfr_floor(result.value, value);
return result;
}
- MPFRNumber fmod(const MPFRNumber &b) {
+ MPFRNumber MPFRNumber::fmod(const MPFRNumber &b) {
MPFRNumber result(*this);
mpfr_fmod(result.value, value, b.value, mpfr_rounding);
return result;
}
- MPFRNumber frexp(int &exp) {
+ MPFRNumber MPFRNumber::frexp(int &exp) {
MPFRNumber result(*this);
mpfr_exp_t resultExp;
mpfr_frexp(&resultExp, result.value, value, mpfr_rounding);
@@ -421,43 +398,43 @@ class MPFRNumber {
return result;
}
- MPFRNumber hypot(const MPFRNumber &b) {
+ MPFRNumber MPFRNumber::hypot(const MPFRNumber &b) {
MPFRNumber result(*this);
mpfr_hypot(result.value, value, b.value, mpfr_rounding);
return result;
}
- MPFRNumber log() const {
+ MPFRNumber MPFRNumber::log() const {
MPFRNumber result(*this);
mpfr_log(result.value, value, mpfr_rounding);
return result;
}
- MPFRNumber log2() const {
+ MPFRNumber MPFRNumber::log2() const {
MPFRNumber result(*this);
mpfr_log2(result.value, value, mpfr_rounding);
return result;
}
- MPFRNumber log10() const {
+ MPFRNumber MPFRNumber::log10() const {
MPFRNumber result(*this);
mpfr_log10(result.value, value, mpfr_rounding);
return result;
}
- MPFRNumber log1p() const {
+ MPFRNumber MPFRNumber::log1p() const {
MPFRNumber result(*this);
mpfr_log1p(result.value, value, mpfr_rounding);
return result;
}
- MPFRNumber pow(const MPFRNumber &b) {
+ MPFRNumber MPFRNumber::pow(const MPFRNumber &b) {
MPFRNumber result(*this);
mpfr_pow(result.value, value, b.value, mpfr_rounding);
return result;
}
- MPFRNumber remquo(const MPFRNumber &divisor, int "ient) {
+ MPFRNumber MPFRNumber::remquo(const MPFRNumber &divisor, int "ient) {
MPFRNumber remainder(*this);
long q;
mpfr_remquo(remainder.value, &q, value, divisor.value, mpfr_rounding);
@@ -465,13 +442,13 @@ class MPFRNumber {
return remainder;
}
- MPFRNumber round() const {
+ MPFRNumber MPFRNumber::round() const {
MPFRNumber result(*this);
mpfr_round(result.value, value);
return result;
}
- MPFRNumber roundeven() const {
+ MPFRNumber MPFRNumber::roundeven() const {
MPFRNumber result(*this);
#if MPFR_VERSION_MAJOR >= 4
mpfr_roundeven(result.value, value);
@@ -481,7 +458,7 @@ class MPFRNumber {
return result;
}
- bool round_to_long(long &result) const {
+ bool MPFRNumber::round_to_long(long &result) const {
// We first calculate the rounded value. This way, when converting
// to long using mpfr_get_si, the rounding direction of MPFR_RNDN
// (or any other rounding mode), does not have an influence.
@@ -491,19 +468,19 @@ class MPFRNumber {
return mpfr_erangeflag_p();
}
- bool round_to_long(mpfr_rnd_t rnd, long &result) const {
+ bool MPFRNumber::round_to_long(mpfr_rnd_t rnd, long &result) const {
MPFRNumber rint_result(*this);
mpfr_rint(rint_result.value, value, rnd);
return rint_result.round_to_long(result);
}
- MPFRNumber rint(mpfr_rnd_t rnd) const {
+ MPFRNumber MPFRNumber::rint(mpfr_rnd_t rnd) const {
MPFRNumber result(*this);
mpfr_rint(result.value, value, rnd);
return result;
}
- MPFRNumber mod_2pi() const {
+ MPFRNumber MPFRNumber::mod_2pi() const {
MPFRNumber result(0.0, 1280);
MPFRNumber _2pi(0.0, 1280);
mpfr_const_pi(_2pi.value, MPFR_RNDN);
@@ -512,7 +489,7 @@ class MPFRNumber {
return result;
}
- MPFRNumber mod_pi_over_2() const {
+ MPFRNumber MPFRNumber::mod_pi_over_2() const {
MPFRNumber result(0.0, 1280);
MPFRNumber pi_over_2(0.0, 1280);
mpfr_const_pi(pi_over_2.value, MPFR_RNDN);
@@ -521,7 +498,7 @@ class MPFRNumber {
return result;
}
- MPFRNumber mod_pi_over_4() const {
+ MPFRNumber MPFRNumber::mod_pi_over_4() const {
MPFRNumber result(0.0, 1280);
MPFRNumber pi_over_4(0.0, 1280);
mpfr_const_pi(pi_over_4.value, MPFR_RNDN);
@@ -530,13 +507,13 @@ class MPFRNumber {
return result;
}
- MPFRNumber sin() const {
+ MPFRNumber MPFRNumber::sin() const {
MPFRNumber result(*this);
mpfr_sin(result.value, value, mpfr_rounding);
return result;
}
- MPFRNumber sinpi() const {
+ MPFRNumber MPFRNumber::sinpi() const {
MPFRNumber result(*this);
#if MPFR_VERSION_MAJOR > 4 || \
@@ -567,37 +544,37 @@ class MPFRNumber {
#endif
}
- MPFRNumber sinh() const {
+ MPFRNumber MPFRNumber::sinh() const {
MPFRNumber result(*this);
mpfr_sinh(result.value, value, mpfr_rounding);
return result;
}
- MPFRNumber sqrt() const {
+ MPFRNumber MPFRNumber::sqrt() const {
MPFRNumber result(*this);
mpfr_sqrt(result.value, value, mpfr_rounding);
return result;
}
- MPFRNumber sub(const MPFRNumber &b) const {
+ MPFRNumber MPFRNumber::sub(const MPFRNumber &b) const {
MPFRNumber result(*this);
mpfr_sub(result.value, value, b.value, mpfr_rounding);
return result;
}
- MPFRNumber tan() const {
+ MPFRNumber MPFRNumber::tan() const {
MPFRNumber result(*this);
mpfr_tan(result.value, value, mpfr_rounding);
return result;
}
- MPFRNumber tanh() const {
+ MPFRNumber MPFRNumber::tanh() const {
MPFRNumber result(*this);
mpfr_tanh(result.value, value, mpfr_rounding);
return result;
}
- MPFRNumber tanpi() const {
+ MPFRNumber MPFRNumber::tanpi() const {
MPFRNumber result(*this);
#if MPFR_VERSION_MAJOR > 4 || \
@@ -647,25 +624,25 @@ class MPFRNumber {
#endif
}
- MPFRNumber trunc() const {
+ MPFRNumber MPFRNumber::trunc() const {
MPFRNumber result(*this);
mpfr_trunc(result.value, value);
return result;
}
- MPFRNumber fma(const MPFRNumber &b, const MPFRNumber &c) {
+ MPFRNumber MPFRNumber::fma(const MPFRNumber &b, const MPFRNumber &c) {
MPFRNumber result(*this);
mpfr_fma(result.value, value, b.value, c.value, mpfr_rounding);
return result;
}
- MPFRNumber mul(const MPFRNumber &b) {
+ MPFRNumber MPFRNumber::mul(const MPFRNumber &b) {
MPFRNumber result(*this);
mpfr_mul(result.value, value, b.value, mpfr_rounding);
return result;
}
- cpp::string str() const {
+ cpp::string MPFRNumber::str() const {
// 200 bytes should be more than sufficient to hold a 100-digit number
// plus additional bytes for the decimal point, '-' sign etc.
constexpr size_t printBufSize = 200;
@@ -681,10 +658,7 @@ class MPFRNumber {
return cpp::string(view.data());
}
- // These functions are useful for debugging.
- template <typename T> T as() const;
-
- void dump(const char *msg) const { mpfr_printf("%s%.128g\n", msg, value); }
+ void MPFRNumber::dump(const char *msg) const { mpfr_printf("%s%.128g\n", msg, value); }
// Return the ULP (units-in-the-last-place) difference between the
// stored MPFR and a floating point number.
@@ -712,7 +686,7 @@ class MPFRNumber {
// 4. A values of +0.0 and -0.0 are treated as equal.
template <typename T>
cpp::enable_if_t<cpp::is_floating_point_v<T>, MPFRNumber>
- ulp_as_mpfr_number(T input) {
+ MPFRNumber::ulp_as_mpfr_number(T input) {
T thisAsT = as<T>();
if (thisAsT == input)
return MPFRNumber(0.0);
@@ -775,42 +749,41 @@ class MPFRNumber {
template <typename T>
cpp::enable_if_t<cpp::is_floating_point_v<T>, cpp::string>
- ulp_as_string(T input) {
+ MPFRNumber::ulp_as_string(T input) {
MPFRNumber num = ulp_as_mpfr_number(input);
return num.str();
}
template <typename T>
- cpp::enable_if_t<cpp::is_floating_point_v<T>, double> ulp(T input) {
+ cpp::enable_if_t<cpp::is_floating_point_v<T>, double> MPFRNumber::ulp(T input) {
MPFRNumber num = ulp_as_mpfr_number(input);
return num.as<double>();
}
-};
-template <> float MPFRNumber::as<float>() const {
- return mpfr_get_flt(value, mpfr_rounding);
-}
+ template <> float MPFRNumber::as<float>() const {
+ return mpfr_get_flt(value, mpfr_rounding);
+ }
-template <> double MPFRNumber::as<double>() const {
- return mpfr_get_d(value, mpfr_rounding);
-}
+ template <> double MPFRNumber::as<double>() const {
+ return mpfr_get_d(value, mpfr_rounding);
+ }
-template <> long double MPFRNumber::as<long double>() const {
- return mpfr_get_ld(value, mpfr_rounding);
-}
+ template <> long double MPFRNumber::as<long double>() const {
+ return mpfr_get_ld(value, mpfr_rounding);
+ }
-#ifdef LIBC_TYPES_HAS_FLOAT16
-template <> float16 MPFRNumber::as<float16>() const {
- // TODO: Either prove that this cast won't cause double-rounding errors, or
- // find a better way to get a float16.
- return fputil::cast<float16>(mpfr_get_d(value, mpfr_rounding));
-}
-#endif
+ #ifdef LIBC_TYPES_HAS_FLOAT16
+ template <> float16 MPFRNumber::as<float16>() const {
+ // TODO: Either prove that this cast won't cause double-rounding errors, or
+ // find a better way to get a float16.
+ return fputil::cast<float16>(mpfr_get_d(value, mpfr_rounding));
+ }
+ #endif
-#ifdef LIBC_TYPES_FLOAT128_IS_NOT_LONG_DOUBLE
-template <> float128 MPFRNumber::as<float128>() const {
- return mpfr_get_float128(value, mpfr_rounding);
-}
+ #ifdef LIBC_TYPES_FLOAT128_IS_NOT_LONG_DOUBLE
+ template <> float128 MPFRNumber::as<float128>() const {
+ return mpfr_get_float128(value, mpfr_rounding);
+ }
#endif // LIBC_TYPES_FLOAT128_IS_NOT_LONG_DOUBLE
diff --git a/libc/utils/MPFRWrapper/MPFRUtils.h b/libc/utils/MPFRWrapper/MPFRUtils.h
index bc65f87c6b5ab9..dd0fccd0d027a7 100644
--- a/libc/utils/MPFRWrapper/MPFRUtils.h
+++ b/libc/utils/MPFRWrapper/MPFRUtils.h
@@ -16,10 +16,157 @@
#include <stdint.h>
+#include "mpfr_inc.h"
+
namespace LIBC_NAMESPACE_DECL {
namespace testing {
namespace mpfr {
+using LIBC_NAMESPACE::fputil::testing::ForceRoundingMode;
+using LIBC_NAMESPACE::fputil::testing::RoundingMode;
+
+// A precision value which allows sufficiently large additional
+// precision compared to the floating point precision.
+template <typename T> struct ExtraPrecision;
+
+// If the ulp tolerance is less than or equal to 0.5, we would check that the
+// result is rounded correctly with respect to the rounding mode by using the
+// same precision as the inputs.
+template <typename T>
+static inline unsigned int get_precision(double ulp_tolerance);
+
+static inline mpfr_rnd_t get_mpfr_rounding_mode(RoundingMode mode);
+
+class MPFRNumber {
+ unsigned int mpfr_precision;
+ mpfr_rnd_t mpfr_rounding;
+ mpfr_t value;
+public:
+ MPFRNumber();
+ // We use explicit EnableIf specializations to disallow implicit
+ // conversions. Implicit conversions can potentially lead to loss of
+ // precision. We exceptionally allow implicit conversions from float16
+ // to float, as the MPFR API does not support float16, thus requiring
+ // conversion to a higher-precision format.
+ template <typename XType,
+ cpp::enable_if_t<cpp::is_same_v<float, XType>
+#ifdef LIBC_TYPES_HAS_FLOAT16
+ || cpp::is_same_v<float16, XType>
+#endif
+ ,
+ int> = 0>
+ explicit MPFRNumber(XType x,
+ unsigned int precision = ExtraPrecision<XType>::VALUE,
+ RoundingMode rounding = RoundingMode::Nearest);
+
+ template <typename XType,
+ cpp::enable_if_t<cpp::is_same_v<double, XType>, int> = 0>
+ explicit MPFRNumber(XType x,
+ unsigned int precision = ExtraPrecision<XType>::VALUE,
+ RoundingMode rounding = RoundingMode::Nearest);
+
+ template <typename XType,
+ cpp::enable_if_t<cpp::is_same_v<long double, XType>, int> = 0>
+ explicit MPFRNumber(XType x,
+ unsigned int precision = ExtraPrecision<XType>::VALUE,
+ RoundingMode rounding = RoundingMode::Nearest);
+
+#ifdef LIBC_TYPES_FLOAT128_IS_NOT_LONG_DOUBLE
+ template <typename XType,
+ cpp::enable_if_t<cpp::is_same_v<float128, XType>, int> = 0>
+ explicit MPFRNumber(XType x,
+ unsigned int precision = ExtraPrecision<XType>::VALUE,
+ RoundingMode rounding = RoundingMode::Nearest);
+#endif // LIBC_TYPES_FLOAT128_IS_NOT_LONG_DOUBLE
+
+ template <typename XType,
+ cpp::enable_if_t<cpp::is_integral_v<XType>, int> = 0>
+ explicit MPFRNumber(XType x,
+ unsigned int precision = 128,
+ RoundingMode rounding = RoundingMode::Nearest);
+
+ MPFRNumber(const MPFRNumber &other);
+ MPFRNumber(const MPFRNumber &other, unsigned int precision);
+ MPFRNumber(const mpfr_t x, unsigned int precision, RoundingMode rounding);
+
+ // Destructor
+ ~MPFRNumber();
+
+ // Assignment operator
+ MPFRNumber &operator=(const MPFRNumber &rhs);
+
+ // Member functions (declarations only)
+ bool is_nan() const;
+ MPFRNumber abs() const;
+ MPFRNumber acos() const;
+ MPFRNumber acosh() const;
+ MPFRNumber add(const MPFRNumber &b) const;
+ MPFRNumber asin() const;
+ MPFRNumber asinh() const;
+ MPFRNumber atan() const;
+ MPFRNumber atan2(const MPFRNumber &b);
+ MPFRNumber atanh() const;
+ MPFRNumber cbrt() const;
+ MPFRNumber ceil() const;
+ MPFRNumber cos() const;
+ MPFRNumber cosh() const;
+ MPFRNumber cospi() const;
+ MPFRNumber erf() const;
+ MPFRNumber exp() const;
+ MPFRNumber exp2() const;
+ MPFRNumber exp2m1() const;
+ MPFRNumber exp10() const;
+ MPFRNumber exp10m1() const;
+ MPFRNumber expm1() const;
+ MPFRNumber div(const MPFRNumber &b) const;
+ MPFRNumber floor() const;
+ MPFRNumber fmod(const MPFRNumber &b);
+ MPFRNumber frexp(int &exp);
+ MPFRNumber hypot(const MPFRNumber &b);
+ MPFRNumber log() const;
+ MPFRNumber log2() const;
+ MPFRNumber log10() const;
+ MPFRNumber log1p() const;
+ MPFRNumber pow(const MPFRNumber &b);
+ MPFRNumber remquo(const MPFRNumber &divisor, int "ient);
+ MPFRNumber round() const;
+ MPFRNumber roundeven() const;
+ bool round_to_long(long &result) const;
+ bool round_to_long(mpfr_rnd_t rnd, long &result) const;
+ MPFRNumber rint(mpfr_rnd_t rnd) const;
+ MPFRNumber mod_2pi() const;
+ MPFRNumber mod_pi_over_2() const;
+ MPFRNumber mod_pi_over_4() const;
+ MPFRNumber sin() const;
+ MPFRNumber sinpi() const;
+ MPFRNumber sinh() const;
+ MPFRNumber sqrt() const;
+ MPFRNumber sub(const MPFRNumber &b) const;
+ MPFRNumber tan() const;
+ MPFRNumber tanh() const;
+ MPFRNumber tanpi() const;
+ MPFRNumber trunc() const;
+ MPFRNumber fma(const MPFRNumber &b, const MPFRNumber &c);
+ MPFRNumber mul(const MPFRNumber &b);
+ cpp::string str() const;
+
+ // Template member functions
+ template <typename T> T as() const;
+ void dump(const char *msg) const;
+
+ template <typename T>
+ cpp::enable_if_t<cpp::is_floating_point_v<T>, MPFRNumber>
+ ulp_as_mpfr_number(T input);
+
+ template <typename T>
+ cpp::enable_if_t<cpp::is_floating_point_v<T>, cpp::string>
+ ulp_as_string(T input);
+
+ template <typename T>
+ cpp::enable_if_t<cpp::is_floating_point_v<T>, double>
+ ulp(T input);
+};
+
enum class Operation : int {
// Operations which take a single floating point number as input
// and produce a single floating point number as output. The input
@@ -101,9 +248,6 @@ enum class Operation : int {
EndTernaryOperationsSingleOutput,
};
-using LIBC_NAMESPACE::fputil::testing::ForceRoundingMode;
-using LIBC_NAMESPACE::fputil::testing::RoundingMode;
-
template <typename T> struct BinaryInput {
static_assert(
LIBC_NAMESPACE::cpp::is_floating_point_v<T>,
>From d59361987893897b74494cbdb16c52476740c927 Mon Sep 17 00:00:00 2001
From: Sh0g0-1758 <shouryagoel10000 at gmail.com>
Date: Sun, 12 Jan 2025 14:23:24 +0530
Subject: [PATCH 46/46] fmt
---
libc/utils/MPFRWrapper/MPFRUtils.cpp | 823 +++++++++++++--------------
libc/utils/MPFRWrapper/MPFRUtils.h | 7 +-
2 files changed, 409 insertions(+), 421 deletions(-)
diff --git a/libc/utils/MPFRWrapper/MPFRUtils.cpp b/libc/utils/MPFRWrapper/MPFRUtils.cpp
index 38ca639bf45070..5acf142a71cf29 100644
--- a/libc/utils/MPFRWrapper/MPFRUtils.cpp
+++ b/libc/utils/MPFRWrapper/MPFRUtils.cpp
@@ -90,27 +90,21 @@ MPFRNumber::MPFRNumber() : mpfr_precision(256), mpfr_rounding(MPFR_RNDN) {
mpfr_init2(value, mpfr_precision);
}
-template <typename XType,
- cpp::enable_if_t<cpp::is_same_v<float, XType>
+template <typename XType, cpp::enable_if_t<cpp::is_same_v<float, XType>
#ifdef LIBC_TYPES_HAS_FLOAT16
- || cpp::is_same_v<float16, XType>
+ || cpp::is_same_v<float16, XType>
#endif
- ,
- int>>
-MPFRNumber::MPFRNumber(XType x,
- unsigned int precision,
- RoundingMode rounding)
+ ,
+ int>>
+MPFRNumber::MPFRNumber(XType x, unsigned int precision, RoundingMode rounding)
: mpfr_precision(precision),
mpfr_rounding(get_mpfr_rounding_mode(rounding)) {
mpfr_init2(value, mpfr_precision);
mpfr_set_flt(value, x, mpfr_rounding);
}
-template <typename XType,
- cpp::enable_if_t<cpp::is_same_v<double, XType>, int>>
-MPFRNumber::MPFRNumber(XType x,
- unsigned int precision,
- RoundingMode rounding)
+template <typename XType, cpp::enable_if_t<cpp::is_same_v<double, XType>, int>>
+MPFRNumber::MPFRNumber(XType x, unsigned int precision, RoundingMode rounding)
: mpfr_precision(precision),
mpfr_rounding(get_mpfr_rounding_mode(rounding)) {
mpfr_init2(value, mpfr_precision);
@@ -119,9 +113,7 @@ MPFRNumber::MPFRNumber(XType x,
template <typename XType,
cpp::enable_if_t<cpp::is_same_v<long double, XType>, int>>
-MPFRNumber::MPFRNumber(XType x,
- unsigned int precision,
- RoundingMode rounding)
+MPFRNumber::MPFRNumber(XType x, unsigned int precision, RoundingMode rounding)
: mpfr_precision(precision),
mpfr_rounding(get_mpfr_rounding_mode(rounding)) {
mpfr_init2(value, mpfr_precision);
@@ -131,9 +123,7 @@ MPFRNumber::MPFRNumber(XType x,
#ifdef LIBC_TYPES_FLOAT128_IS_NOT_LONG_DOUBLE
template <typename XType,
cpp::enable_if_t<cpp::is_same_v<float128, XType>, int>>
-MPFRNumber::MPFRNumber(XType x,
- unsigned int precision,
- RoundingMode rounding)
+MPFRNumber::MPFRNumber(XType x, unsigned int precision, RoundingMode rounding)
: mpfr_precision(precision),
mpfr_rounding(get_mpfr_rounding_mode(rounding)) {
mpfr_init2(value, mpfr_precision);
@@ -141,128 +131,125 @@ MPFRNumber::MPFRNumber(XType x,
}
#endif // LIBC_TYPES_FLOAT128_IS_NOT_LONG_DOUBLE
-template <typename XType,
- cpp::enable_if_t<cpp::is_integral_v<XType>, int>>
-MPFRNumber::MPFRNumber(XType x,
- unsigned int precision,
- RoundingMode rounding)
+template <typename XType, cpp::enable_if_t<cpp::is_integral_v<XType>, int>>
+MPFRNumber::MPFRNumber(XType x, unsigned int precision, RoundingMode rounding)
: mpfr_precision(precision),
mpfr_rounding(get_mpfr_rounding_mode(rounding)) {
mpfr_init2(value, mpfr_precision);
mpfr_set_sj(value, x, mpfr_rounding);
}
- MPFRNumber::MPFRNumber(const MPFRNumber &other)
- : mpfr_precision(other.mpfr_precision),
- mpfr_rounding(other.mpfr_rounding) {
- mpfr_init2(value, mpfr_precision);
- mpfr_set(value, other.value, mpfr_rounding);
- }
+MPFRNumber::MPFRNumber(const MPFRNumber &other)
+ : mpfr_precision(other.mpfr_precision), mpfr_rounding(other.mpfr_rounding) {
+ mpfr_init2(value, mpfr_precision);
+ mpfr_set(value, other.value, mpfr_rounding);
+}
- MPFRNumber::MPFRNumber(const MPFRNumber &other, unsigned int precision)
- : mpfr_precision(precision), mpfr_rounding(other.mpfr_rounding) {
- mpfr_init2(value, mpfr_precision);
- mpfr_set(value, other.value, mpfr_rounding);
- }
+MPFRNumber::MPFRNumber(const MPFRNumber &other, unsigned int precision)
+ : mpfr_precision(precision), mpfr_rounding(other.mpfr_rounding) {
+ mpfr_init2(value, mpfr_precision);
+ mpfr_set(value, other.value, mpfr_rounding);
+}
- MPFRNumber::MPFRNumber(const mpfr_t x, unsigned int precision, RoundingMode rounding)
- : mpfr_precision(precision),
- mpfr_rounding(get_mpfr_rounding_mode(rounding)) {
- mpfr_init2(value, mpfr_precision);
- mpfr_set(value, x, mpfr_rounding);
- }
+MPFRNumber::MPFRNumber(const mpfr_t x, unsigned int precision,
+ RoundingMode rounding)
+ : mpfr_precision(precision),
+ mpfr_rounding(get_mpfr_rounding_mode(rounding)) {
+ mpfr_init2(value, mpfr_precision);
+ mpfr_set(value, x, mpfr_rounding);
+}
- MPFRNumber::~MPFRNumber() { mpfr_clear(value); }
+MPFRNumber::~MPFRNumber() { mpfr_clear(value); }
- MPFRNumber& MPFRNumber::operator=(const MPFRNumber &rhs) {
- mpfr_precision = rhs.mpfr_precision;
- mpfr_rounding = rhs.mpfr_rounding;
- mpfr_set(value, rhs.value, mpfr_rounding);
- return *this;
- }
+MPFRNumber &MPFRNumber::operator=(const MPFRNumber &rhs) {
+ mpfr_precision = rhs.mpfr_precision;
+ mpfr_rounding = rhs.mpfr_rounding;
+ mpfr_set(value, rhs.value, mpfr_rounding);
+ return *this;
+}
- bool MPFRNumber::is_nan() const { return mpfr_nan_p(value); }
+bool MPFRNumber::is_nan() const { return mpfr_nan_p(value); }
- MPFRNumber MPFRNumber::abs() const {
- MPFRNumber result(*this);
- mpfr_abs(result.value, value, mpfr_rounding);
- return result;
- }
+MPFRNumber MPFRNumber::abs() const {
+ MPFRNumber result(*this);
+ mpfr_abs(result.value, value, mpfr_rounding);
+ return result;
+}
- MPFRNumber MPFRNumber::acos() const {
- MPFRNumber result(*this);
- mpfr_acos(result.value, value, mpfr_rounding);
- return result;
- }
+MPFRNumber MPFRNumber::acos() const {
+ MPFRNumber result(*this);
+ mpfr_acos(result.value, value, mpfr_rounding);
+ return result;
+}
- MPFRNumber MPFRNumber::acosh() const {
- MPFRNumber result(*this);
- mpfr_acosh(result.value, value, mpfr_rounding);
- return result;
- }
+MPFRNumber MPFRNumber::acosh() const {
+ MPFRNumber result(*this);
+ mpfr_acosh(result.value, value, mpfr_rounding);
+ return result;
+}
- MPFRNumber MPFRNumber::add(const MPFRNumber &b) const {
- MPFRNumber result(*this);
- mpfr_add(result.value, value, b.value, mpfr_rounding);
- return result;
- }
+MPFRNumber MPFRNumber::add(const MPFRNumber &b) const {
+ MPFRNumber result(*this);
+ mpfr_add(result.value, value, b.value, mpfr_rounding);
+ return result;
+}
- MPFRNumber MPFRNumber::asin() const {
- MPFRNumber result(*this);
- mpfr_asin(result.value, value, mpfr_rounding);
- return result;
- }
+MPFRNumber MPFRNumber::asin() const {
+ MPFRNumber result(*this);
+ mpfr_asin(result.value, value, mpfr_rounding);
+ return result;
+}
- MPFRNumber MPFRNumber::asinh() const {
- MPFRNumber result(*this);
- mpfr_asinh(result.value, value, mpfr_rounding);
- return result;
- }
+MPFRNumber MPFRNumber::asinh() const {
+ MPFRNumber result(*this);
+ mpfr_asinh(result.value, value, mpfr_rounding);
+ return result;
+}
- MPFRNumber MPFRNumber::atan() const {
- MPFRNumber result(*this);
- mpfr_atan(result.value, value, mpfr_rounding);
- return result;
- }
+MPFRNumber MPFRNumber::atan() const {
+ MPFRNumber result(*this);
+ mpfr_atan(result.value, value, mpfr_rounding);
+ return result;
+}
- MPFRNumber MPFRNumber::atan2(const MPFRNumber &b) {
- MPFRNumber result(*this);
- mpfr_atan2(result.value, value, b.value, mpfr_rounding);
- return result;
- }
+MPFRNumber MPFRNumber::atan2(const MPFRNumber &b) {
+ MPFRNumber result(*this);
+ mpfr_atan2(result.value, value, b.value, mpfr_rounding);
+ return result;
+}
- MPFRNumber MPFRNumber::atanh() const {
- MPFRNumber result(*this);
- mpfr_atanh(result.value, value, mpfr_rounding);
- return result;
- }
+MPFRNumber MPFRNumber::atanh() const {
+ MPFRNumber result(*this);
+ mpfr_atanh(result.value, value, mpfr_rounding);
+ return result;
+}
- MPFRNumber MPFRNumber::cbrt() const {
- MPFRNumber result(*this);
- mpfr_cbrt(result.value, value, mpfr_rounding);
- return result;
- }
+MPFRNumber MPFRNumber::cbrt() const {
+ MPFRNumber result(*this);
+ mpfr_cbrt(result.value, value, mpfr_rounding);
+ return result;
+}
- MPFRNumber MPFRNumber::ceil() const {
- MPFRNumber result(*this);
- mpfr_ceil(result.value, value);
- return result;
- }
+MPFRNumber MPFRNumber::ceil() const {
+ MPFRNumber result(*this);
+ mpfr_ceil(result.value, value);
+ return result;
+}
- MPFRNumber MPFRNumber::cos() const {
- MPFRNumber result(*this);
- mpfr_cos(result.value, value, mpfr_rounding);
- return result;
- }
+MPFRNumber MPFRNumber::cos() const {
+ MPFRNumber result(*this);
+ mpfr_cos(result.value, value, mpfr_rounding);
+ return result;
+}
- MPFRNumber MPFRNumber::cosh() const {
- MPFRNumber result(*this);
- mpfr_cosh(result.value, value, mpfr_rounding);
- return result;
- }
+MPFRNumber MPFRNumber::cosh() const {
+ MPFRNumber result(*this);
+ mpfr_cosh(result.value, value, mpfr_rounding);
+ return result;
+}
- MPFRNumber MPFRNumber::cospi() const {
- MPFRNumber result(*this);
+MPFRNumber MPFRNumber::cospi() const {
+ MPFRNumber result(*this);
#if MPFR_VERSION_MAJOR > 4 || \
(MPFR_VERSION_MAJOR == 4 && MPFR_VERSION_MINOR >= 2)
@@ -287,28 +274,28 @@ MPFRNumber::MPFRNumber(XType x,
return result;
#endif
- }
+}
- MPFRNumber MPFRNumber::erf() const {
- MPFRNumber result(*this);
- mpfr_erf(result.value, value, mpfr_rounding);
- return result;
- }
+MPFRNumber MPFRNumber::erf() const {
+ MPFRNumber result(*this);
+ mpfr_erf(result.value, value, mpfr_rounding);
+ return result;
+}
- MPFRNumber MPFRNumber::exp() const {
- MPFRNumber result(*this);
- mpfr_exp(result.value, value, mpfr_rounding);
- return result;
- }
+MPFRNumber MPFRNumber::exp() const {
+ MPFRNumber result(*this);
+ mpfr_exp(result.value, value, mpfr_rounding);
+ return result;
+}
- MPFRNumber MPFRNumber::exp2() const {
- MPFRNumber result(*this);
- mpfr_exp2(result.value, value, mpfr_rounding);
- return result;
- }
+MPFRNumber MPFRNumber::exp2() const {
+ MPFRNumber result(*this);
+ mpfr_exp2(result.value, value, mpfr_rounding);
+ return result;
+}
- MPFRNumber MPFRNumber::exp2m1() const {
- // TODO: Only use mpfr_exp2m1 once CI and buildbots get MPFR >= 4.2.0.
+MPFRNumber MPFRNumber::exp2m1() const {
+ // TODO: Only use mpfr_exp2m1 once CI and buildbots get MPFR >= 4.2.0.
#if MPFR_VERSION_MAJOR > 4 || \
(MPFR_VERSION_MAJOR == 4 && MPFR_VERSION_MINOR >= 2)
MPFRNumber result(*this);
@@ -335,16 +322,16 @@ MPFRNumber::MPFRNumber(XType x,
mpfr_subnormalize(result.value, ex, mpfr_rounding);
return result;
#endif
- }
+}
- MPFRNumber MPFRNumber::exp10() const {
- MPFRNumber result(*this);
- mpfr_exp10(result.value, value, mpfr_rounding);
- return result;
- }
+MPFRNumber MPFRNumber::exp10() const {
+ MPFRNumber result(*this);
+ mpfr_exp10(result.value, value, mpfr_rounding);
+ return result;
+}
- MPFRNumber MPFRNumber::exp10m1() const {
- // TODO: Only use mpfr_exp10m1 once CI and buildbots get MPFR >= 4.2.0.
+MPFRNumber MPFRNumber::exp10m1() const {
+ // TODO: Only use mpfr_exp10m1 once CI and buildbots get MPFR >= 4.2.0.
#if MPFR_VERSION_MAJOR > 4 || \
(MPFR_VERSION_MAJOR == 4 && MPFR_VERSION_MINOR >= 2)
MPFRNumber result(*this);
@@ -364,157 +351,157 @@ MPFRNumber::MPFRNumber(XType x,
mpfr_subnormalize(result.value, ex, mpfr_rounding);
return result;
#endif
- }
+}
- MPFRNumber MPFRNumber::expm1() const {
- MPFRNumber result(*this);
- mpfr_expm1(result.value, value, mpfr_rounding);
- return result;
- }
+MPFRNumber MPFRNumber::expm1() const {
+ MPFRNumber result(*this);
+ mpfr_expm1(result.value, value, mpfr_rounding);
+ return result;
+}
- MPFRNumber MPFRNumber::div(const MPFRNumber &b) const {
- MPFRNumber result(*this);
- mpfr_div(result.value, value, b.value, mpfr_rounding);
- return result;
- }
+MPFRNumber MPFRNumber::div(const MPFRNumber &b) const {
+ MPFRNumber result(*this);
+ mpfr_div(result.value, value, b.value, mpfr_rounding);
+ return result;
+}
- MPFRNumber MPFRNumber::floor() const {
- MPFRNumber result(*this);
- mpfr_floor(result.value, value);
- return result;
- }
+MPFRNumber MPFRNumber::floor() const {
+ MPFRNumber result(*this);
+ mpfr_floor(result.value, value);
+ return result;
+}
- MPFRNumber MPFRNumber::fmod(const MPFRNumber &b) {
- MPFRNumber result(*this);
- mpfr_fmod(result.value, value, b.value, mpfr_rounding);
- return result;
- }
+MPFRNumber MPFRNumber::fmod(const MPFRNumber &b) {
+ MPFRNumber result(*this);
+ mpfr_fmod(result.value, value, b.value, mpfr_rounding);
+ return result;
+}
- MPFRNumber MPFRNumber::frexp(int &exp) {
- MPFRNumber result(*this);
- mpfr_exp_t resultExp;
- mpfr_frexp(&resultExp, result.value, value, mpfr_rounding);
- exp = resultExp;
- return result;
- }
+MPFRNumber MPFRNumber::frexp(int &exp) {
+ MPFRNumber result(*this);
+ mpfr_exp_t resultExp;
+ mpfr_frexp(&resultExp, result.value, value, mpfr_rounding);
+ exp = resultExp;
+ return result;
+}
- MPFRNumber MPFRNumber::hypot(const MPFRNumber &b) {
- MPFRNumber result(*this);
- mpfr_hypot(result.value, value, b.value, mpfr_rounding);
- return result;
- }
+MPFRNumber MPFRNumber::hypot(const MPFRNumber &b) {
+ MPFRNumber result(*this);
+ mpfr_hypot(result.value, value, b.value, mpfr_rounding);
+ return result;
+}
- MPFRNumber MPFRNumber::log() const {
- MPFRNumber result(*this);
- mpfr_log(result.value, value, mpfr_rounding);
- return result;
- }
+MPFRNumber MPFRNumber::log() const {
+ MPFRNumber result(*this);
+ mpfr_log(result.value, value, mpfr_rounding);
+ return result;
+}
- MPFRNumber MPFRNumber::log2() const {
- MPFRNumber result(*this);
- mpfr_log2(result.value, value, mpfr_rounding);
- return result;
- }
+MPFRNumber MPFRNumber::log2() const {
+ MPFRNumber result(*this);
+ mpfr_log2(result.value, value, mpfr_rounding);
+ return result;
+}
- MPFRNumber MPFRNumber::log10() const {
- MPFRNumber result(*this);
- mpfr_log10(result.value, value, mpfr_rounding);
- return result;
- }
+MPFRNumber MPFRNumber::log10() const {
+ MPFRNumber result(*this);
+ mpfr_log10(result.value, value, mpfr_rounding);
+ return result;
+}
- MPFRNumber MPFRNumber::log1p() const {
- MPFRNumber result(*this);
- mpfr_log1p(result.value, value, mpfr_rounding);
- return result;
- }
+MPFRNumber MPFRNumber::log1p() const {
+ MPFRNumber result(*this);
+ mpfr_log1p(result.value, value, mpfr_rounding);
+ return result;
+}
- MPFRNumber MPFRNumber::pow(const MPFRNumber &b) {
- MPFRNumber result(*this);
- mpfr_pow(result.value, value, b.value, mpfr_rounding);
- return result;
- }
+MPFRNumber MPFRNumber::pow(const MPFRNumber &b) {
+ MPFRNumber result(*this);
+ mpfr_pow(result.value, value, b.value, mpfr_rounding);
+ return result;
+}
- MPFRNumber MPFRNumber::remquo(const MPFRNumber &divisor, int "ient) {
- MPFRNumber remainder(*this);
- long q;
- mpfr_remquo(remainder.value, &q, value, divisor.value, mpfr_rounding);
- quotient = q;
- return remainder;
- }
+MPFRNumber MPFRNumber::remquo(const MPFRNumber &divisor, int "ient) {
+ MPFRNumber remainder(*this);
+ long q;
+ mpfr_remquo(remainder.value, &q, value, divisor.value, mpfr_rounding);
+ quotient = q;
+ return remainder;
+}
- MPFRNumber MPFRNumber::round() const {
- MPFRNumber result(*this);
- mpfr_round(result.value, value);
- return result;
- }
+MPFRNumber MPFRNumber::round() const {
+ MPFRNumber result(*this);
+ mpfr_round(result.value, value);
+ return result;
+}
- MPFRNumber MPFRNumber::roundeven() const {
- MPFRNumber result(*this);
+MPFRNumber MPFRNumber::roundeven() const {
+ MPFRNumber result(*this);
#if MPFR_VERSION_MAJOR >= 4
mpfr_roundeven(result.value, value);
#else
mpfr_rint(result.value, value, MPFR_RNDN);
#endif
return result;
- }
+}
- bool MPFRNumber::round_to_long(long &result) const {
- // We first calculate the rounded value. This way, when converting
- // to long using mpfr_get_si, the rounding direction of MPFR_RNDN
- // (or any other rounding mode), does not have an influence.
- MPFRNumber roundedValue = round();
- mpfr_clear_erangeflag();
- result = mpfr_get_si(roundedValue.value, MPFR_RNDN);
- return mpfr_erangeflag_p();
- }
+bool MPFRNumber::round_to_long(long &result) const {
+ // We first calculate the rounded value. This way, when converting
+ // to long using mpfr_get_si, the rounding direction of MPFR_RNDN
+ // (or any other rounding mode), does not have an influence.
+ MPFRNumber roundedValue = round();
+ mpfr_clear_erangeflag();
+ result = mpfr_get_si(roundedValue.value, MPFR_RNDN);
+ return mpfr_erangeflag_p();
+}
- bool MPFRNumber::round_to_long(mpfr_rnd_t rnd, long &result) const {
- MPFRNumber rint_result(*this);
- mpfr_rint(rint_result.value, value, rnd);
- return rint_result.round_to_long(result);
- }
+bool MPFRNumber::round_to_long(mpfr_rnd_t rnd, long &result) const {
+ MPFRNumber rint_result(*this);
+ mpfr_rint(rint_result.value, value, rnd);
+ return rint_result.round_to_long(result);
+}
- MPFRNumber MPFRNumber::rint(mpfr_rnd_t rnd) const {
- MPFRNumber result(*this);
- mpfr_rint(result.value, value, rnd);
- return result;
- }
+MPFRNumber MPFRNumber::rint(mpfr_rnd_t rnd) const {
+ MPFRNumber result(*this);
+ mpfr_rint(result.value, value, rnd);
+ return result;
+}
- MPFRNumber MPFRNumber::mod_2pi() const {
- MPFRNumber result(0.0, 1280);
- MPFRNumber _2pi(0.0, 1280);
- mpfr_const_pi(_2pi.value, MPFR_RNDN);
- mpfr_mul_si(_2pi.value, _2pi.value, 2, MPFR_RNDN);
- mpfr_fmod(result.value, value, _2pi.value, MPFR_RNDN);
- return result;
- }
+MPFRNumber MPFRNumber::mod_2pi() const {
+ MPFRNumber result(0.0, 1280);
+ MPFRNumber _2pi(0.0, 1280);
+ mpfr_const_pi(_2pi.value, MPFR_RNDN);
+ mpfr_mul_si(_2pi.value, _2pi.value, 2, MPFR_RNDN);
+ mpfr_fmod(result.value, value, _2pi.value, MPFR_RNDN);
+ return result;
+}
- MPFRNumber MPFRNumber::mod_pi_over_2() const {
- MPFRNumber result(0.0, 1280);
- MPFRNumber pi_over_2(0.0, 1280);
- mpfr_const_pi(pi_over_2.value, MPFR_RNDN);
- mpfr_mul_d(pi_over_2.value, pi_over_2.value, 0.5, MPFR_RNDN);
- mpfr_fmod(result.value, value, pi_over_2.value, MPFR_RNDN);
- return result;
- }
+MPFRNumber MPFRNumber::mod_pi_over_2() const {
+ MPFRNumber result(0.0, 1280);
+ MPFRNumber pi_over_2(0.0, 1280);
+ mpfr_const_pi(pi_over_2.value, MPFR_RNDN);
+ mpfr_mul_d(pi_over_2.value, pi_over_2.value, 0.5, MPFR_RNDN);
+ mpfr_fmod(result.value, value, pi_over_2.value, MPFR_RNDN);
+ return result;
+}
- MPFRNumber MPFRNumber::mod_pi_over_4() const {
- MPFRNumber result(0.0, 1280);
- MPFRNumber pi_over_4(0.0, 1280);
- mpfr_const_pi(pi_over_4.value, MPFR_RNDN);
- mpfr_mul_d(pi_over_4.value, pi_over_4.value, 0.25, MPFR_RNDN);
- mpfr_fmod(result.value, value, pi_over_4.value, MPFR_RNDN);
- return result;
- }
+MPFRNumber MPFRNumber::mod_pi_over_4() const {
+ MPFRNumber result(0.0, 1280);
+ MPFRNumber pi_over_4(0.0, 1280);
+ mpfr_const_pi(pi_over_4.value, MPFR_RNDN);
+ mpfr_mul_d(pi_over_4.value, pi_over_4.value, 0.25, MPFR_RNDN);
+ mpfr_fmod(result.value, value, pi_over_4.value, MPFR_RNDN);
+ return result;
+}
- MPFRNumber MPFRNumber::sin() const {
- MPFRNumber result(*this);
- mpfr_sin(result.value, value, mpfr_rounding);
- return result;
- }
+MPFRNumber MPFRNumber::sin() const {
+ MPFRNumber result(*this);
+ mpfr_sin(result.value, value, mpfr_rounding);
+ return result;
+}
- MPFRNumber MPFRNumber::sinpi() const {
- MPFRNumber result(*this);
+MPFRNumber MPFRNumber::sinpi() const {
+ MPFRNumber result(*this);
#if MPFR_VERSION_MAJOR > 4 || \
(MPFR_VERSION_MAJOR == 4 && MPFR_VERSION_MINOR >= 2)
@@ -542,40 +529,40 @@ MPFRNumber::MPFRNumber(XType x,
mpfr_sin(result.value, value_pi.value, mpfr_rounding);
return result;
#endif
- }
+}
- MPFRNumber MPFRNumber::sinh() const {
- MPFRNumber result(*this);
- mpfr_sinh(result.value, value, mpfr_rounding);
- return result;
- }
+MPFRNumber MPFRNumber::sinh() const {
+ MPFRNumber result(*this);
+ mpfr_sinh(result.value, value, mpfr_rounding);
+ return result;
+}
- MPFRNumber MPFRNumber::sqrt() const {
- MPFRNumber result(*this);
- mpfr_sqrt(result.value, value, mpfr_rounding);
- return result;
- }
+MPFRNumber MPFRNumber::sqrt() const {
+ MPFRNumber result(*this);
+ mpfr_sqrt(result.value, value, mpfr_rounding);
+ return result;
+}
- MPFRNumber MPFRNumber::sub(const MPFRNumber &b) const {
- MPFRNumber result(*this);
- mpfr_sub(result.value, value, b.value, mpfr_rounding);
- return result;
- }
+MPFRNumber MPFRNumber::sub(const MPFRNumber &b) const {
+ MPFRNumber result(*this);
+ mpfr_sub(result.value, value, b.value, mpfr_rounding);
+ return result;
+}
- MPFRNumber MPFRNumber::tan() const {
- MPFRNumber result(*this);
- mpfr_tan(result.value, value, mpfr_rounding);
- return result;
- }
+MPFRNumber MPFRNumber::tan() const {
+ MPFRNumber result(*this);
+ mpfr_tan(result.value, value, mpfr_rounding);
+ return result;
+}
- MPFRNumber MPFRNumber::tanh() const {
- MPFRNumber result(*this);
- mpfr_tanh(result.value, value, mpfr_rounding);
- return result;
- }
+MPFRNumber MPFRNumber::tanh() const {
+ MPFRNumber result(*this);
+ mpfr_tanh(result.value, value, mpfr_rounding);
+ return result;
+}
- MPFRNumber MPFRNumber::tanpi() const {
- MPFRNumber result(*this);
+MPFRNumber MPFRNumber::tanpi() const {
+ MPFRNumber result(*this);
#if MPFR_VERSION_MAJOR > 4 || \
(MPFR_VERSION_MAJOR == 4 && MPFR_VERSION_MINOR >= 2)
@@ -622,43 +609,45 @@ MPFRNumber::MPFRNumber(XType x,
mpfr_tan(result.value, value_pi.value, mpfr_rounding);
return result;
#endif
- }
+}
- MPFRNumber MPFRNumber::trunc() const {
- MPFRNumber result(*this);
- mpfr_trunc(result.value, value);
- return result;
- }
+MPFRNumber MPFRNumber::trunc() const {
+ MPFRNumber result(*this);
+ mpfr_trunc(result.value, value);
+ return result;
+}
- MPFRNumber MPFRNumber::fma(const MPFRNumber &b, const MPFRNumber &c) {
- MPFRNumber result(*this);
- mpfr_fma(result.value, value, b.value, c.value, mpfr_rounding);
- return result;
- }
+MPFRNumber MPFRNumber::fma(const MPFRNumber &b, const MPFRNumber &c) {
+ MPFRNumber result(*this);
+ mpfr_fma(result.value, value, b.value, c.value, mpfr_rounding);
+ return result;
+}
- MPFRNumber MPFRNumber::mul(const MPFRNumber &b) {
- MPFRNumber result(*this);
- mpfr_mul(result.value, value, b.value, mpfr_rounding);
- return result;
- }
+MPFRNumber MPFRNumber::mul(const MPFRNumber &b) {
+ MPFRNumber result(*this);
+ mpfr_mul(result.value, value, b.value, mpfr_rounding);
+ return result;
+}
- cpp::string MPFRNumber::str() const {
- // 200 bytes should be more than sufficient to hold a 100-digit number
- // plus additional bytes for the decimal point, '-' sign etc.
- constexpr size_t printBufSize = 200;
- char buffer[printBufSize];
- mpfr_snprintf(buffer, printBufSize, "%100.50Rf", value);
- cpp::string_view view(buffer);
- // Trim whitespaces
- const char whitespace = ' ';
- while (!view.empty() && view.front() == whitespace)
- view.remove_prefix(1);
- while (!view.empty() && view.back() == whitespace)
- view.remove_suffix(1);
- return cpp::string(view.data());
- }
+cpp::string MPFRNumber::str() const {
+ // 200 bytes should be more than sufficient to hold a 100-digit number
+ // plus additional bytes for the decimal point, '-' sign etc.
+ constexpr size_t printBufSize = 200;
+ char buffer[printBufSize];
+ mpfr_snprintf(buffer, printBufSize, "%100.50Rf", value);
+ cpp::string_view view(buffer);
+ // Trim whitespaces
+ const char whitespace = ' ';
+ while (!view.empty() && view.front() == whitespace)
+ view.remove_prefix(1);
+ while (!view.empty() && view.back() == whitespace)
+ view.remove_suffix(1);
+ return cpp::string(view.data());
+}
- void MPFRNumber::dump(const char *msg) const { mpfr_printf("%s%.128g\n", msg, value); }
+void MPFRNumber::dump(const char *msg) const {
+ mpfr_printf("%s%.128g\n", msg, value);
+}
// Return the ULP (units-in-the-last-place) difference between the
// stored MPFR and a floating point number.
@@ -684,106 +673,106 @@ MPFRNumber::MPFRNumber(XType x,
// not more than 1), a ULP difference of N indicates a bit distance
// of N between this number and [input].
// 4. A values of +0.0 and -0.0 are treated as equal.
- template <typename T>
- cpp::enable_if_t<cpp::is_floating_point_v<T>, MPFRNumber>
- MPFRNumber::ulp_as_mpfr_number(T input) {
- T thisAsT = as<T>();
- if (thisAsT == input)
+template <typename T>
+cpp::enable_if_t<cpp::is_floating_point_v<T>, MPFRNumber>
+MPFRNumber::ulp_as_mpfr_number(T input) {
+ T thisAsT = as<T>();
+ if (thisAsT == input)
+ return MPFRNumber(0.0);
+
+ if (is_nan()) {
+ if (FPBits<T>(input).is_nan())
return MPFRNumber(0.0);
+ return MPFRNumber(FPBits<T>::inf().get_val());
+ }
+
+ int thisExponent = FPBits<T>(thisAsT).get_exponent();
+ int inputExponent = FPBits<T>(input).get_exponent();
+ // Adjust the exponents for denormal numbers.
+ if (FPBits<T>(thisAsT).is_subnormal())
+ ++thisExponent;
+ if (FPBits<T>(input).is_subnormal())
+ ++inputExponent;
+
+ if (thisAsT * input < 0 || thisExponent == inputExponent) {
+ MPFRNumber inputMPFR(input);
+ mpfr_sub(inputMPFR.value, value, inputMPFR.value, MPFR_RNDN);
+ mpfr_abs(inputMPFR.value, inputMPFR.value, MPFR_RNDN);
+ mpfr_mul_2si(inputMPFR.value, inputMPFR.value,
+ -thisExponent + FPBits<T>::FRACTION_LEN, MPFR_RNDN);
+ return inputMPFR;
+ }
+
+ // If the control reaches here, it means that this number and input are
+ // of the same sign but different exponent. In such a case, ULP error is
+ // calculated as sum of two parts.
+ thisAsT = FPBits<T>(thisAsT).abs().get_val();
+ input = FPBits<T>(input).abs().get_val();
+ T min = thisAsT > input ? input : thisAsT;
+ T max = thisAsT > input ? thisAsT : input;
+ int minExponent = FPBits<T>(min).get_exponent();
+ int maxExponent = FPBits<T>(max).get_exponent();
+ // Adjust the exponents for denormal numbers.
+ if (FPBits<T>(min).is_subnormal())
+ ++minExponent;
+ if (FPBits<T>(max).is_subnormal())
+ ++maxExponent;
+
+ MPFRNumber minMPFR(min);
+ MPFRNumber maxMPFR(max);
+
+ MPFRNumber pivot(uint32_t(1));
+ mpfr_mul_2si(pivot.value, pivot.value, maxExponent, MPFR_RNDN);
+
+ mpfr_sub(minMPFR.value, pivot.value, minMPFR.value, MPFR_RNDN);
+ mpfr_mul_2si(minMPFR.value, minMPFR.value,
+ -minExponent + FPBits<T>::FRACTION_LEN, MPFR_RNDN);
+
+ mpfr_sub(maxMPFR.value, maxMPFR.value, pivot.value, MPFR_RNDN);
+ mpfr_mul_2si(maxMPFR.value, maxMPFR.value,
+ -maxExponent + FPBits<T>::FRACTION_LEN, MPFR_RNDN);
+
+ mpfr_add(minMPFR.value, minMPFR.value, maxMPFR.value, MPFR_RNDN);
+ return minMPFR;
+}
- if (is_nan()) {
- if (FPBits<T>(input).is_nan())
- return MPFRNumber(0.0);
- return MPFRNumber(FPBits<T>::inf().get_val());
- }
-
- int thisExponent = FPBits<T>(thisAsT).get_exponent();
- int inputExponent = FPBits<T>(input).get_exponent();
- // Adjust the exponents for denormal numbers.
- if (FPBits<T>(thisAsT).is_subnormal())
- ++thisExponent;
- if (FPBits<T>(input).is_subnormal())
- ++inputExponent;
-
- if (thisAsT * input < 0 || thisExponent == inputExponent) {
- MPFRNumber inputMPFR(input);
- mpfr_sub(inputMPFR.value, value, inputMPFR.value, MPFR_RNDN);
- mpfr_abs(inputMPFR.value, inputMPFR.value, MPFR_RNDN);
- mpfr_mul_2si(inputMPFR.value, inputMPFR.value,
- -thisExponent + FPBits<T>::FRACTION_LEN, MPFR_RNDN);
- return inputMPFR;
- }
-
- // If the control reaches here, it means that this number and input are
- // of the same sign but different exponent. In such a case, ULP error is
- // calculated as sum of two parts.
- thisAsT = FPBits<T>(thisAsT).abs().get_val();
- input = FPBits<T>(input).abs().get_val();
- T min = thisAsT > input ? input : thisAsT;
- T max = thisAsT > input ? thisAsT : input;
- int minExponent = FPBits<T>(min).get_exponent();
- int maxExponent = FPBits<T>(max).get_exponent();
- // Adjust the exponents for denormal numbers.
- if (FPBits<T>(min).is_subnormal())
- ++minExponent;
- if (FPBits<T>(max).is_subnormal())
- ++maxExponent;
-
- MPFRNumber minMPFR(min);
- MPFRNumber maxMPFR(max);
-
- MPFRNumber pivot(uint32_t(1));
- mpfr_mul_2si(pivot.value, pivot.value, maxExponent, MPFR_RNDN);
-
- mpfr_sub(minMPFR.value, pivot.value, minMPFR.value, MPFR_RNDN);
- mpfr_mul_2si(minMPFR.value, minMPFR.value,
- -minExponent + FPBits<T>::FRACTION_LEN, MPFR_RNDN);
-
- mpfr_sub(maxMPFR.value, maxMPFR.value, pivot.value, MPFR_RNDN);
- mpfr_mul_2si(maxMPFR.value, maxMPFR.value,
- -maxExponent + FPBits<T>::FRACTION_LEN, MPFR_RNDN);
-
- mpfr_add(minMPFR.value, minMPFR.value, maxMPFR.value, MPFR_RNDN);
- return minMPFR;
- }
-
- template <typename T>
- cpp::enable_if_t<cpp::is_floating_point_v<T>, cpp::string>
- MPFRNumber::ulp_as_string(T input) {
- MPFRNumber num = ulp_as_mpfr_number(input);
- return num.str();
- }
+template <typename T>
+cpp::enable_if_t<cpp::is_floating_point_v<T>, cpp::string>
+MPFRNumber::ulp_as_string(T input) {
+ MPFRNumber num = ulp_as_mpfr_number(input);
+ return num.str();
+}
- template <typename T>
- cpp::enable_if_t<cpp::is_floating_point_v<T>, double> MPFRNumber::ulp(T input) {
- MPFRNumber num = ulp_as_mpfr_number(input);
- return num.as<double>();
- }
+template <typename T>
+cpp::enable_if_t<cpp::is_floating_point_v<T>, double> MPFRNumber::ulp(T input) {
+ MPFRNumber num = ulp_as_mpfr_number(input);
+ return num.as<double>();
+}
- template <> float MPFRNumber::as<float>() const {
- return mpfr_get_flt(value, mpfr_rounding);
- }
+template <> float MPFRNumber::as<float>() const {
+ return mpfr_get_flt(value, mpfr_rounding);
+}
- template <> double MPFRNumber::as<double>() const {
- return mpfr_get_d(value, mpfr_rounding);
- }
+template <> double MPFRNumber::as<double>() const {
+ return mpfr_get_d(value, mpfr_rounding);
+}
- template <> long double MPFRNumber::as<long double>() const {
- return mpfr_get_ld(value, mpfr_rounding);
- }
+template <> long double MPFRNumber::as<long double>() const {
+ return mpfr_get_ld(value, mpfr_rounding);
+}
- #ifdef LIBC_TYPES_HAS_FLOAT16
- template <> float16 MPFRNumber::as<float16>() const {
- // TODO: Either prove that this cast won't cause double-rounding errors, or
- // find a better way to get a float16.
- return fputil::cast<float16>(mpfr_get_d(value, mpfr_rounding));
- }
- #endif
+#ifdef LIBC_TYPES_HAS_FLOAT16
+template <> float16 MPFRNumber::as<float16>() const {
+ // TODO: Either prove that this cast won't cause double-rounding errors, or
+ // find a better way to get a float16.
+ return fputil::cast<float16>(mpfr_get_d(value, mpfr_rounding));
+}
+#endif
- #ifdef LIBC_TYPES_FLOAT128_IS_NOT_LONG_DOUBLE
- template <> float128 MPFRNumber::as<float128>() const {
- return mpfr_get_float128(value, mpfr_rounding);
- }
+#ifdef LIBC_TYPES_FLOAT128_IS_NOT_LONG_DOUBLE
+template <> float128 MPFRNumber::as<float128>() const {
+ return mpfr_get_float128(value, mpfr_rounding);
+}
#endif // LIBC_TYPES_FLOAT128_IS_NOT_LONG_DOUBLE
diff --git a/libc/utils/MPFRWrapper/MPFRUtils.h b/libc/utils/MPFRWrapper/MPFRUtils.h
index dd0fccd0d027a7..6cb34e6f6a5363 100644
--- a/libc/utils/MPFRWrapper/MPFRUtils.h
+++ b/libc/utils/MPFRWrapper/MPFRUtils.h
@@ -41,6 +41,7 @@ class MPFRNumber {
unsigned int mpfr_precision;
mpfr_rnd_t mpfr_rounding;
mpfr_t value;
+
public:
MPFRNumber();
// We use explicit EnableIf specializations to disallow implicit
@@ -81,8 +82,7 @@ class MPFRNumber {
template <typename XType,
cpp::enable_if_t<cpp::is_integral_v<XType>, int> = 0>
- explicit MPFRNumber(XType x,
- unsigned int precision = 128,
+ explicit MPFRNumber(XType x, unsigned int precision = 128,
RoundingMode rounding = RoundingMode::Nearest);
MPFRNumber(const MPFRNumber &other);
@@ -163,8 +163,7 @@ class MPFRNumber {
ulp_as_string(T input);
template <typename T>
- cpp::enable_if_t<cpp::is_floating_point_v<T>, double>
- ulp(T input);
+ cpp::enable_if_t<cpp::is_floating_point_v<T>, double> ulp(T input);
};
enum class Operation : int {
More information about the llvm-commits
mailing list