From ad65820dd6b79b17b984728f5d6a57a9ba6a33a9 Mon Sep 17 00:00:00 2001 From: LykovaYA Date: Thu, 21 Nov 2024 21:09:37 +0300 Subject: [PATCH] =?UTF-8?q?code:=20=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20unittest?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- unittest/doctest.h | 7106 +++++++++++++++++ unittest/histogram.cpp | 47 + unittest/histogram.h | 7 + unittest/histogram_internal.h | 6 + unittest/text.cpp | 35 + unittest/text.h | 5 + unittest/unittest.cpp | 34 + unittest/unittest.sln | 31 + unittest/unittest.vcxproj | 143 + unittest/unittest.vcxproj.filters | 42 + unittest/unittest.vcxproj.user | 4 + unittest/x64/Debug/Source.obj | Bin 0 -> 1118 bytes unittest/x64/Debug/histogram.obj | Bin 0 -> 169023 bytes unittest/x64/Debug/text.obj | Bin 0 -> 114233 bytes unittest/x64/Debug/unittest.exe | Bin 0 -> 109056 bytes unittest/x64/Debug/unittest.exe.recipe | 11 + unittest/x64/Debug/unittest.ilk | Bin 0 -> 1029296 bytes unittest/x64/Debug/unittest.log | 8 + unittest/x64/Debug/unittest.obj | Bin 0 -> 249190 bytes unittest/x64/Debug/unittest.pdb | Bin 0 -> 1511424 bytes .../x64/Debug/unittest.tlog/CL.command.1.tlog | Bin 0 -> 3206 bytes .../x64/Debug/unittest.tlog/CL.read.1.tlog | Bin 0 -> 60280 bytes .../x64/Debug/unittest.tlog/CL.write.1.tlog | Bin 0 -> 1996 bytes .../x64/Debug/unittest.tlog/Cl.items.tlog | 3 + .../Debug/unittest.tlog/link.command.1.tlog | Bin 0 -> 1914 bytes .../x64/Debug/unittest.tlog/link.read.1.tlog | Bin 0 -> 4238 bytes .../x64/Debug/unittest.tlog/link.write.1.tlog | Bin 0 -> 726 bytes .../unittest.tlog/unittest.lastbuildstate | 2 + .../unittest.vcxproj.FileListAbsolute.txt | 1 + unittest/x64/Debug/vc143.idb | Bin 0 -> 289792 bytes unittest/x64/Debug/vc143.pdb | Bin 0 -> 462848 bytes unittest/x64/Debug/vcpkg.applocal.log | 1 + 32 files changed, 7486 insertions(+) create mode 100644 unittest/doctest.h create mode 100644 unittest/histogram.cpp create mode 100644 unittest/histogram.h create mode 100644 unittest/histogram_internal.h create mode 100644 unittest/text.cpp create mode 100644 unittest/text.h create mode 100644 unittest/unittest.cpp create mode 100644 unittest/unittest.sln create mode 100644 unittest/unittest.vcxproj create mode 100644 unittest/unittest.vcxproj.filters create mode 100644 unittest/unittest.vcxproj.user create mode 100644 unittest/x64/Debug/Source.obj create mode 100644 unittest/x64/Debug/histogram.obj create mode 100644 unittest/x64/Debug/text.obj create mode 100644 unittest/x64/Debug/unittest.exe create mode 100644 unittest/x64/Debug/unittest.exe.recipe create mode 100644 unittest/x64/Debug/unittest.ilk create mode 100644 unittest/x64/Debug/unittest.log create mode 100644 unittest/x64/Debug/unittest.obj create mode 100644 unittest/x64/Debug/unittest.pdb create mode 100644 unittest/x64/Debug/unittest.tlog/CL.command.1.tlog create mode 100644 unittest/x64/Debug/unittest.tlog/CL.read.1.tlog create mode 100644 unittest/x64/Debug/unittest.tlog/CL.write.1.tlog create mode 100644 unittest/x64/Debug/unittest.tlog/Cl.items.tlog create mode 100644 unittest/x64/Debug/unittest.tlog/link.command.1.tlog create mode 100644 unittest/x64/Debug/unittest.tlog/link.read.1.tlog create mode 100644 unittest/x64/Debug/unittest.tlog/link.write.1.tlog create mode 100644 unittest/x64/Debug/unittest.tlog/unittest.lastbuildstate create mode 100644 unittest/x64/Debug/unittest.vcxproj.FileListAbsolute.txt create mode 100644 unittest/x64/Debug/vc143.idb create mode 100644 unittest/x64/Debug/vc143.pdb create mode 100644 unittest/x64/Debug/vcpkg.applocal.log diff --git a/unittest/doctest.h b/unittest/doctest.h new file mode 100644 index 0000000..5c754cd --- /dev/null +++ b/unittest/doctest.h @@ -0,0 +1,7106 @@ +// ====================================================================== lgtm [cpp/missing-header-guard] +// == DO NOT MODIFY THIS FILE BY HAND - IT IS AUTO GENERATED BY CMAKE! == +// ====================================================================== +// +// doctest.h - the lightest feature-rich C++ single-header testing framework for unit tests and TDD +// +// Copyright (c) 2016-2023 Viktor Kirilov +// +// Distributed under the MIT Software License +// See accompanying file LICENSE.txt or copy at +// https://opensource.org/licenses/MIT +// +// The documentation can be found at the library's page: +// https://github.com/doctest/doctest/blob/master/doc/markdown/readme.md +// +// ================================================================================================= +// ================================================================================================= +// ================================================================================================= +// +// The library is heavily influenced by Catch - https://github.com/catchorg/Catch2 +// which uses the Boost Software License - Version 1.0 +// see here - https://github.com/catchorg/Catch2/blob/master/LICENSE.txt +// +// The concept of subcases (sections in Catch) and expression decomposition are from there. +// Some parts of the code are taken directly: +// - stringification - the detection of "ostream& operator<<(ostream&, const T&)" and StringMaker<> +// - the Approx() helper class for floating point comparison +// - colors in the console +// - breaking into a debugger +// - signal / SEH handling +// - timer +// - XmlWriter class - thanks to Phil Nash for allowing the direct reuse (AKA copy/paste) +// +// The expression decomposing templates are taken from lest - https://github.com/martinmoene/lest +// which uses the Boost Software License - Version 1.0 +// see here - https://github.com/martinmoene/lest/blob/master/LICENSE.txt +// +// ================================================================================================= +// ================================================================================================= +// ================================================================================================= + +#ifndef DOCTEST_LIBRARY_INCLUDED +#define DOCTEST_LIBRARY_INCLUDED + +// ================================================================================================= +// == VERSION ====================================================================================== +// ================================================================================================= + +#define DOCTEST_VERSION_MAJOR 2 +#define DOCTEST_VERSION_MINOR 4 +#define DOCTEST_VERSION_PATCH 11 + +// util we need here +#define DOCTEST_TOSTR_IMPL(x) #x +#define DOCTEST_TOSTR(x) DOCTEST_TOSTR_IMPL(x) + +#define DOCTEST_VERSION_STR \ + DOCTEST_TOSTR(DOCTEST_VERSION_MAJOR) "." \ + DOCTEST_TOSTR(DOCTEST_VERSION_MINOR) "." \ + DOCTEST_TOSTR(DOCTEST_VERSION_PATCH) + +#define DOCTEST_VERSION \ + (DOCTEST_VERSION_MAJOR * 10000 + DOCTEST_VERSION_MINOR * 100 + DOCTEST_VERSION_PATCH) + +// ================================================================================================= +// == COMPILER VERSION ============================================================================= +// ================================================================================================= + +// ideas for the version stuff are taken from here: https://github.com/cxxstuff/cxx_detect + +#ifdef _MSC_VER +#define DOCTEST_CPLUSPLUS _MSVC_LANG +#else +#define DOCTEST_CPLUSPLUS __cplusplus +#endif + +#define DOCTEST_COMPILER(MAJOR, MINOR, PATCH) ((MAJOR)*10000000 + (MINOR)*100000 + (PATCH)) + +// GCC/Clang and GCC/MSVC are mutually exclusive, but Clang/MSVC are not because of clang-cl... +#if defined(_MSC_VER) && defined(_MSC_FULL_VER) +#if _MSC_VER == _MSC_FULL_VER / 10000 +#define DOCTEST_MSVC DOCTEST_COMPILER(_MSC_VER / 100, _MSC_VER % 100, _MSC_FULL_VER % 10000) +#else // MSVC +#define DOCTEST_MSVC \ + DOCTEST_COMPILER(_MSC_VER / 100, (_MSC_FULL_VER / 100000) % 100, _MSC_FULL_VER % 100000) +#endif // MSVC +#endif // MSVC +#if defined(__clang__) && defined(__clang_minor__) && defined(__clang_patchlevel__) +#define DOCTEST_CLANG DOCTEST_COMPILER(__clang_major__, __clang_minor__, __clang_patchlevel__) +#elif defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__GNUC_PATCHLEVEL__) && \ + !defined(__INTEL_COMPILER) +#define DOCTEST_GCC DOCTEST_COMPILER(__GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__) +#endif // GCC +#if defined(__INTEL_COMPILER) +#define DOCTEST_ICC DOCTEST_COMPILER(__INTEL_COMPILER / 100, __INTEL_COMPILER % 100, 0) +#endif // ICC + +#ifndef DOCTEST_MSVC +#define DOCTEST_MSVC 0 +#endif // DOCTEST_MSVC +#ifndef DOCTEST_CLANG +#define DOCTEST_CLANG 0 +#endif // DOCTEST_CLANG +#ifndef DOCTEST_GCC +#define DOCTEST_GCC 0 +#endif // DOCTEST_GCC +#ifndef DOCTEST_ICC +#define DOCTEST_ICC 0 +#endif // DOCTEST_ICC + +// ================================================================================================= +// == COMPILER WARNINGS HELPERS ==================================================================== +// ================================================================================================= + +#if DOCTEST_CLANG && !DOCTEST_ICC +#define DOCTEST_PRAGMA_TO_STR(x) _Pragma(#x) +#define DOCTEST_CLANG_SUPPRESS_WARNING_PUSH _Pragma("clang diagnostic push") +#define DOCTEST_CLANG_SUPPRESS_WARNING(w) DOCTEST_PRAGMA_TO_STR(clang diagnostic ignored w) +#define DOCTEST_CLANG_SUPPRESS_WARNING_POP _Pragma("clang diagnostic pop") +#define DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH(w) \ + DOCTEST_CLANG_SUPPRESS_WARNING_PUSH DOCTEST_CLANG_SUPPRESS_WARNING(w) +#else // DOCTEST_CLANG +#define DOCTEST_CLANG_SUPPRESS_WARNING_PUSH +#define DOCTEST_CLANG_SUPPRESS_WARNING(w) +#define DOCTEST_CLANG_SUPPRESS_WARNING_POP +#define DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH(w) +#endif // DOCTEST_CLANG + +#if DOCTEST_GCC +#define DOCTEST_PRAGMA_TO_STR(x) _Pragma(#x) +#define DOCTEST_GCC_SUPPRESS_WARNING_PUSH _Pragma("GCC diagnostic push") +#define DOCTEST_GCC_SUPPRESS_WARNING(w) DOCTEST_PRAGMA_TO_STR(GCC diagnostic ignored w) +#define DOCTEST_GCC_SUPPRESS_WARNING_POP _Pragma("GCC diagnostic pop") +#define DOCTEST_GCC_SUPPRESS_WARNING_WITH_PUSH(w) \ + DOCTEST_GCC_SUPPRESS_WARNING_PUSH DOCTEST_GCC_SUPPRESS_WARNING(w) +#else // DOCTEST_GCC +#define DOCTEST_GCC_SUPPRESS_WARNING_PUSH +#define DOCTEST_GCC_SUPPRESS_WARNING(w) +#define DOCTEST_GCC_SUPPRESS_WARNING_POP +#define DOCTEST_GCC_SUPPRESS_WARNING_WITH_PUSH(w) +#endif // DOCTEST_GCC + +#if DOCTEST_MSVC +#define DOCTEST_MSVC_SUPPRESS_WARNING_PUSH __pragma(warning(push)) +#define DOCTEST_MSVC_SUPPRESS_WARNING(w) __pragma(warning(disable : w)) +#define DOCTEST_MSVC_SUPPRESS_WARNING_POP __pragma(warning(pop)) +#define DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(w) \ + DOCTEST_MSVC_SUPPRESS_WARNING_PUSH DOCTEST_MSVC_SUPPRESS_WARNING(w) +#else // DOCTEST_MSVC +#define DOCTEST_MSVC_SUPPRESS_WARNING_PUSH +#define DOCTEST_MSVC_SUPPRESS_WARNING(w) +#define DOCTEST_MSVC_SUPPRESS_WARNING_POP +#define DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(w) +#endif // DOCTEST_MSVC + +// ================================================================================================= +// == COMPILER WARNINGS ============================================================================ +// ================================================================================================= + +// both the header and the implementation suppress all of these, +// so it only makes sense to aggregate them like so +#define DOCTEST_SUPPRESS_COMMON_WARNINGS_PUSH \ + DOCTEST_CLANG_SUPPRESS_WARNING_PUSH \ + DOCTEST_CLANG_SUPPRESS_WARNING("-Wunknown-pragmas") \ + DOCTEST_CLANG_SUPPRESS_WARNING("-Wweak-vtables") \ + DOCTEST_CLANG_SUPPRESS_WARNING("-Wpadded") \ + DOCTEST_CLANG_SUPPRESS_WARNING("-Wmissing-prototypes") \ + DOCTEST_CLANG_SUPPRESS_WARNING("-Wc++98-compat") \ + DOCTEST_CLANG_SUPPRESS_WARNING("-Wc++98-compat-pedantic") \ + \ + DOCTEST_GCC_SUPPRESS_WARNING_PUSH \ + DOCTEST_GCC_SUPPRESS_WARNING("-Wunknown-pragmas") \ + DOCTEST_GCC_SUPPRESS_WARNING("-Wpragmas") \ + DOCTEST_GCC_SUPPRESS_WARNING("-Weffc++") \ + DOCTEST_GCC_SUPPRESS_WARNING("-Wstrict-overflow") \ + DOCTEST_GCC_SUPPRESS_WARNING("-Wstrict-aliasing") \ + DOCTEST_GCC_SUPPRESS_WARNING("-Wmissing-declarations") \ + DOCTEST_GCC_SUPPRESS_WARNING("-Wuseless-cast") \ + DOCTEST_GCC_SUPPRESS_WARNING("-Wnoexcept") \ + \ + DOCTEST_MSVC_SUPPRESS_WARNING_PUSH \ + /* these 4 also disabled globally via cmake: */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(4514) /* unreferenced inline function has been removed */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(4571) /* SEH related */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(4710) /* function not inlined */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(4711) /* function selected for inline expansion*/ \ + /* common ones */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(4616) /* invalid compiler warning */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(4619) /* invalid compiler warning */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(4996) /* The compiler encountered a deprecated declaration */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(4706) /* assignment within conditional expression */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(4512) /* 'class' : assignment operator could not be generated */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(4127) /* conditional expression is constant */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(4820) /* padding */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(4625) /* copy constructor was implicitly deleted */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(4626) /* assignment operator was implicitly deleted */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(5027) /* move assignment operator implicitly deleted */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(5026) /* move constructor was implicitly deleted */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(4640) /* construction of local static object not thread-safe */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(5045) /* Spectre mitigation for memory load */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(5264) /* 'variable-name': 'const' variable is not used */ \ + /* static analysis */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(26439) /* Function may not throw. Declare it 'noexcept' */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(26495) /* Always initialize a member variable */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(26451) /* Arithmetic overflow ... */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(26444) /* Avoid unnamed objects with custom ctor and dtor... */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(26812) /* Prefer 'enum class' over 'enum' */ + +#define DOCTEST_SUPPRESS_COMMON_WARNINGS_POP \ + DOCTEST_CLANG_SUPPRESS_WARNING_POP \ + DOCTEST_GCC_SUPPRESS_WARNING_POP \ + DOCTEST_MSVC_SUPPRESS_WARNING_POP + +DOCTEST_SUPPRESS_COMMON_WARNINGS_PUSH + +DOCTEST_CLANG_SUPPRESS_WARNING_PUSH +DOCTEST_CLANG_SUPPRESS_WARNING("-Wnon-virtual-dtor") +DOCTEST_CLANG_SUPPRESS_WARNING("-Wdeprecated") + +DOCTEST_GCC_SUPPRESS_WARNING_PUSH +DOCTEST_GCC_SUPPRESS_WARNING("-Wctor-dtor-privacy") +DOCTEST_GCC_SUPPRESS_WARNING("-Wnon-virtual-dtor") +DOCTEST_GCC_SUPPRESS_WARNING("-Wsign-promo") + +DOCTEST_MSVC_SUPPRESS_WARNING_PUSH +DOCTEST_MSVC_SUPPRESS_WARNING(4623) // default constructor was implicitly defined as deleted + +#define DOCTEST_MAKE_STD_HEADERS_CLEAN_FROM_WARNINGS_ON_WALL_BEGIN \ + DOCTEST_MSVC_SUPPRESS_WARNING_PUSH \ + DOCTEST_MSVC_SUPPRESS_WARNING(4548) /* before comma no effect; expected side - effect */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(4265) /* virtual functions, but destructor is not virtual */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(4986) /* exception specification does not match previous */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(4350) /* 'member1' called instead of 'member2' */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(4668) /* not defined as a preprocessor macro */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(4365) /* signed/unsigned mismatch */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(4774) /* format string not a string literal */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(4820) /* padding */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(4625) /* copy constructor was implicitly deleted */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(4626) /* assignment operator was implicitly deleted */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(5027) /* move assignment operator implicitly deleted */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(5026) /* move constructor was implicitly deleted */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(4623) /* default constructor was implicitly deleted */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(5039) /* pointer to pot. throwing function passed to extern C */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(5045) /* Spectre mitigation for memory load */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(5105) /* macro producing 'defined' has undefined behavior */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(4738) /* storing float result in memory, loss of performance */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(5262) /* implicit fall-through */ + +#define DOCTEST_MAKE_STD_HEADERS_CLEAN_FROM_WARNINGS_ON_WALL_END DOCTEST_MSVC_SUPPRESS_WARNING_POP + +// ================================================================================================= +// == FEATURE DETECTION ============================================================================ +// ================================================================================================= + +// general compiler feature support table: https://en.cppreference.com/w/cpp/compiler_support +// MSVC C++11 feature support table: https://msdn.microsoft.com/en-us/library/hh567368.aspx +// GCC C++11 feature support table: https://gcc.gnu.org/projects/cxx-status.html +// MSVC version table: +// https://en.wikipedia.org/wiki/Microsoft_Visual_C%2B%2B#Internal_version_numbering +// MSVC++ 14.3 (17) _MSC_VER == 1930 (Visual Studio 2022) +// MSVC++ 14.2 (16) _MSC_VER == 1920 (Visual Studio 2019) +// MSVC++ 14.1 (15) _MSC_VER == 1910 (Visual Studio 2017) +// MSVC++ 14.0 _MSC_VER == 1900 (Visual Studio 2015) +// MSVC++ 12.0 _MSC_VER == 1800 (Visual Studio 2013) +// MSVC++ 11.0 _MSC_VER == 1700 (Visual Studio 2012) +// MSVC++ 10.0 _MSC_VER == 1600 (Visual Studio 2010) +// MSVC++ 9.0 _MSC_VER == 1500 (Visual Studio 2008) +// MSVC++ 8.0 _MSC_VER == 1400 (Visual Studio 2005) + +// Universal Windows Platform support +#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_APP) +#define DOCTEST_CONFIG_NO_WINDOWS_SEH +#endif // WINAPI_FAMILY +#if DOCTEST_MSVC && !defined(DOCTEST_CONFIG_WINDOWS_SEH) +#define DOCTEST_CONFIG_WINDOWS_SEH +#endif // MSVC +#if defined(DOCTEST_CONFIG_NO_WINDOWS_SEH) && defined(DOCTEST_CONFIG_WINDOWS_SEH) +#undef DOCTEST_CONFIG_WINDOWS_SEH +#endif // DOCTEST_CONFIG_NO_WINDOWS_SEH + +#if !defined(_WIN32) && !defined(__QNX__) && !defined(DOCTEST_CONFIG_POSIX_SIGNALS) && \ + !defined(__EMSCRIPTEN__) && !defined(__wasi__) +#define DOCTEST_CONFIG_POSIX_SIGNALS +#endif // _WIN32 +#if defined(DOCTEST_CONFIG_NO_POSIX_SIGNALS) && defined(DOCTEST_CONFIG_POSIX_SIGNALS) +#undef DOCTEST_CONFIG_POSIX_SIGNALS +#endif // DOCTEST_CONFIG_NO_POSIX_SIGNALS + +#ifndef DOCTEST_CONFIG_NO_EXCEPTIONS +#if !defined(__cpp_exceptions) && !defined(__EXCEPTIONS) && !defined(_CPPUNWIND) \ + || defined(__wasi__) +#define DOCTEST_CONFIG_NO_EXCEPTIONS +#endif // no exceptions +#endif // DOCTEST_CONFIG_NO_EXCEPTIONS + +#ifdef DOCTEST_CONFIG_NO_EXCEPTIONS_BUT_WITH_ALL_ASSERTS +#ifndef DOCTEST_CONFIG_NO_EXCEPTIONS +#define DOCTEST_CONFIG_NO_EXCEPTIONS +#endif // DOCTEST_CONFIG_NO_EXCEPTIONS +#endif // DOCTEST_CONFIG_NO_EXCEPTIONS_BUT_WITH_ALL_ASSERTS + +#if defined(DOCTEST_CONFIG_NO_EXCEPTIONS) && !defined(DOCTEST_CONFIG_NO_TRY_CATCH_IN_ASSERTS) +#define DOCTEST_CONFIG_NO_TRY_CATCH_IN_ASSERTS +#endif // DOCTEST_CONFIG_NO_EXCEPTIONS && !DOCTEST_CONFIG_NO_TRY_CATCH_IN_ASSERTS + +#ifdef __wasi__ +#define DOCTEST_CONFIG_NO_MULTITHREADING +#endif + +#if defined(DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN) && !defined(DOCTEST_CONFIG_IMPLEMENT) +#define DOCTEST_CONFIG_IMPLEMENT +#endif // DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN + +#if defined(_WIN32) || defined(__CYGWIN__) +#if DOCTEST_MSVC +#define DOCTEST_SYMBOL_EXPORT __declspec(dllexport) +#define DOCTEST_SYMBOL_IMPORT __declspec(dllimport) +#else // MSVC +#define DOCTEST_SYMBOL_EXPORT __attribute__((dllexport)) +#define DOCTEST_SYMBOL_IMPORT __attribute__((dllimport)) +#endif // MSVC +#else // _WIN32 +#define DOCTEST_SYMBOL_EXPORT __attribute__((visibility("default"))) +#define DOCTEST_SYMBOL_IMPORT +#endif // _WIN32 + +#ifdef DOCTEST_CONFIG_IMPLEMENTATION_IN_DLL +#ifdef DOCTEST_CONFIG_IMPLEMENT +#define DOCTEST_INTERFACE DOCTEST_SYMBOL_EXPORT +#else // DOCTEST_CONFIG_IMPLEMENT +#define DOCTEST_INTERFACE DOCTEST_SYMBOL_IMPORT +#endif // DOCTEST_CONFIG_IMPLEMENT +#else // DOCTEST_CONFIG_IMPLEMENTATION_IN_DLL +#define DOCTEST_INTERFACE +#endif // DOCTEST_CONFIG_IMPLEMENTATION_IN_DLL + +// needed for extern template instantiations +// see https://github.com/fmtlib/fmt/issues/2228 +#if DOCTEST_MSVC +#define DOCTEST_INTERFACE_DECL +#define DOCTEST_INTERFACE_DEF DOCTEST_INTERFACE +#else // DOCTEST_MSVC +#define DOCTEST_INTERFACE_DECL DOCTEST_INTERFACE +#define DOCTEST_INTERFACE_DEF +#endif // DOCTEST_MSVC + +#define DOCTEST_EMPTY + +#if DOCTEST_MSVC +#define DOCTEST_NOINLINE __declspec(noinline) +#define DOCTEST_UNUSED +#define DOCTEST_ALIGNMENT(x) +#elif DOCTEST_CLANG && DOCTEST_CLANG < DOCTEST_COMPILER(3, 5, 0) +#define DOCTEST_NOINLINE +#define DOCTEST_UNUSED +#define DOCTEST_ALIGNMENT(x) +#else +#define DOCTEST_NOINLINE __attribute__((noinline)) +#define DOCTEST_UNUSED __attribute__((unused)) +#define DOCTEST_ALIGNMENT(x) __attribute__((aligned(x))) +#endif + +#ifdef DOCTEST_CONFIG_NO_CONTRADICTING_INLINE +#define DOCTEST_INLINE_NOINLINE inline +#else +#define DOCTEST_INLINE_NOINLINE inline DOCTEST_NOINLINE +#endif + +#ifndef DOCTEST_NORETURN +#if DOCTEST_MSVC && (DOCTEST_MSVC < DOCTEST_COMPILER(19, 0, 0)) +#define DOCTEST_NORETURN +#else // DOCTEST_MSVC +#define DOCTEST_NORETURN [[noreturn]] +#endif // DOCTEST_MSVC +#endif // DOCTEST_NORETURN + +#ifndef DOCTEST_NOEXCEPT +#if DOCTEST_MSVC && (DOCTEST_MSVC < DOCTEST_COMPILER(19, 0, 0)) +#define DOCTEST_NOEXCEPT +#else // DOCTEST_MSVC +#define DOCTEST_NOEXCEPT noexcept +#endif // DOCTEST_MSVC +#endif // DOCTEST_NOEXCEPT + +#ifndef DOCTEST_CONSTEXPR +#if DOCTEST_MSVC && (DOCTEST_MSVC < DOCTEST_COMPILER(19, 0, 0)) +#define DOCTEST_CONSTEXPR const +#define DOCTEST_CONSTEXPR_FUNC inline +#else // DOCTEST_MSVC +#define DOCTEST_CONSTEXPR constexpr +#define DOCTEST_CONSTEXPR_FUNC constexpr +#endif // DOCTEST_MSVC +#endif // DOCTEST_CONSTEXPR + +#ifndef DOCTEST_NO_SANITIZE_INTEGER +#if DOCTEST_CLANG >= DOCTEST_COMPILER(3, 7, 0) +#define DOCTEST_NO_SANITIZE_INTEGER __attribute__((no_sanitize("integer"))) +#else +#define DOCTEST_NO_SANITIZE_INTEGER +#endif +#endif // DOCTEST_NO_SANITIZE_INTEGER + +// ================================================================================================= +// == FEATURE DETECTION END ======================================================================== +// ================================================================================================= + +#define DOCTEST_DECLARE_INTERFACE(name) \ + virtual ~name(); \ + name() = default; \ + name(const name&) = delete; \ + name(name&&) = delete; \ + name& operator=(const name&) = delete; \ + name& operator=(name&&) = delete; + +#define DOCTEST_DEFINE_INTERFACE(name) \ + name::~name() = default; + +// internal macros for string concatenation and anonymous variable name generation +#define DOCTEST_CAT_IMPL(s1, s2) s1##s2 +#define DOCTEST_CAT(s1, s2) DOCTEST_CAT_IMPL(s1, s2) +#ifdef __COUNTER__ // not standard and may be missing for some compilers +#define DOCTEST_ANONYMOUS(x) DOCTEST_CAT(x, __COUNTER__) +#else // __COUNTER__ +#define DOCTEST_ANONYMOUS(x) DOCTEST_CAT(x, __LINE__) +#endif // __COUNTER__ + +#ifndef DOCTEST_CONFIG_ASSERTION_PARAMETERS_BY_VALUE +#define DOCTEST_REF_WRAP(x) x& +#else // DOCTEST_CONFIG_ASSERTION_PARAMETERS_BY_VALUE +#define DOCTEST_REF_WRAP(x) x +#endif // DOCTEST_CONFIG_ASSERTION_PARAMETERS_BY_VALUE + +// not using __APPLE__ because... this is how Catch does it +#ifdef __MAC_OS_X_VERSION_MIN_REQUIRED +#define DOCTEST_PLATFORM_MAC +#elif defined(__IPHONE_OS_VERSION_MIN_REQUIRED) +#define DOCTEST_PLATFORM_IPHONE +#elif defined(_WIN32) +#define DOCTEST_PLATFORM_WINDOWS +#elif defined(__wasi__) +#define DOCTEST_PLATFORM_WASI +#else // DOCTEST_PLATFORM +#define DOCTEST_PLATFORM_LINUX +#endif // DOCTEST_PLATFORM + +namespace doctest { namespace detail { + static DOCTEST_CONSTEXPR int consume(const int*, int) noexcept { return 0; } +}} + +#define DOCTEST_GLOBAL_NO_WARNINGS(var, ...) \ + DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Wglobal-constructors") \ + static const int var = doctest::detail::consume(&var, __VA_ARGS__); \ + DOCTEST_CLANG_SUPPRESS_WARNING_POP + +#ifndef DOCTEST_BREAK_INTO_DEBUGGER +// should probably take a look at https://github.com/scottt/debugbreak +#ifdef DOCTEST_PLATFORM_LINUX +#if defined(__GNUC__) && (defined(__i386) || defined(__x86_64)) +// Break at the location of the failing check if possible +#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler) +#else +#include +#define DOCTEST_BREAK_INTO_DEBUGGER() raise(SIGTRAP) +#endif +#elif defined(DOCTEST_PLATFORM_MAC) +#if defined(__x86_64) || defined(__x86_64__) || defined(__amd64__) || defined(__i386) +#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler) +#elif defined(__ppc__) || defined(__ppc64__) +// https://www.cocoawithlove.com/2008/03/break-into-debugger.html +#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("li r0, 20\nsc\nnop\nli r0, 37\nli r4, 2\nsc\nnop\n": : : "memory","r0","r3","r4") // NOLINT(hicpp-no-assembler) +#else +#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("brk #0"); // NOLINT(hicpp-no-assembler) +#endif +#elif DOCTEST_MSVC +#define DOCTEST_BREAK_INTO_DEBUGGER() __debugbreak() +#elif defined(__MINGW32__) +DOCTEST_GCC_SUPPRESS_WARNING_WITH_PUSH("-Wredundant-decls") +extern "C" __declspec(dllimport) void __stdcall DebugBreak(); +DOCTEST_GCC_SUPPRESS_WARNING_POP +#define DOCTEST_BREAK_INTO_DEBUGGER() ::DebugBreak() +#else // linux +#define DOCTEST_BREAK_INTO_DEBUGGER() (static_cast(0)) +#endif // linux +#endif // DOCTEST_BREAK_INTO_DEBUGGER + +// this is kept here for backwards compatibility since the config option was changed +#ifdef DOCTEST_CONFIG_USE_IOSFWD +#ifndef DOCTEST_CONFIG_USE_STD_HEADERS +#define DOCTEST_CONFIG_USE_STD_HEADERS +#endif +#endif // DOCTEST_CONFIG_USE_IOSFWD + +// for clang - always include ciso646 (which drags some std stuff) because +// we want to check if we are using libc++ with the _LIBCPP_VERSION macro in +// which case we don't want to forward declare stuff from std - for reference: +// https://github.com/doctest/doctest/issues/126 +// https://github.com/doctest/doctest/issues/356 +#if DOCTEST_CLANG +#include +#endif // clang + +#ifdef _LIBCPP_VERSION +#ifndef DOCTEST_CONFIG_USE_STD_HEADERS +#define DOCTEST_CONFIG_USE_STD_HEADERS +#endif +#endif // _LIBCPP_VERSION + +#ifdef DOCTEST_CONFIG_USE_STD_HEADERS +#ifndef DOCTEST_CONFIG_INCLUDE_TYPE_TRAITS +#define DOCTEST_CONFIG_INCLUDE_TYPE_TRAITS +#endif // DOCTEST_CONFIG_INCLUDE_TYPE_TRAITS +DOCTEST_MAKE_STD_HEADERS_CLEAN_FROM_WARNINGS_ON_WALL_BEGIN +#include +#include +#include +DOCTEST_MAKE_STD_HEADERS_CLEAN_FROM_WARNINGS_ON_WALL_END +#else // DOCTEST_CONFIG_USE_STD_HEADERS + +// Forward declaring 'X' in namespace std is not permitted by the C++ Standard. +DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(4643) + +namespace std { // NOLINT(cert-dcl58-cpp) +typedef decltype(nullptr) nullptr_t; // NOLINT(modernize-use-using) +typedef decltype(sizeof(void*)) size_t; // NOLINT(modernize-use-using) +template +struct char_traits; +template <> +struct char_traits; +template +class basic_ostream; // NOLINT(fuchsia-virtual-inheritance) +typedef basic_ostream> ostream; // NOLINT(modernize-use-using) +template +// NOLINTNEXTLINE +basic_ostream& operator<<(basic_ostream&, const char*); +template +class basic_istream; +typedef basic_istream> istream; // NOLINT(modernize-use-using) +template +class tuple; +#if DOCTEST_MSVC >= DOCTEST_COMPILER(19, 20, 0) +// see this issue on why this is needed: https://github.com/doctest/doctest/issues/183 +template +class allocator; +template +class basic_string; +using string = basic_string, allocator>; +#endif // VS 2019 +} // namespace std + +DOCTEST_MSVC_SUPPRESS_WARNING_POP + +#endif // DOCTEST_CONFIG_USE_STD_HEADERS + +#ifdef DOCTEST_CONFIG_INCLUDE_TYPE_TRAITS +#include +#endif // DOCTEST_CONFIG_INCLUDE_TYPE_TRAITS + +namespace doctest { + +using std::size_t; + +DOCTEST_INTERFACE extern bool is_running_in_test; + +#ifndef DOCTEST_CONFIG_STRING_SIZE_TYPE +#define DOCTEST_CONFIG_STRING_SIZE_TYPE unsigned +#endif + +// A 24 byte string class (can be as small as 17 for x64 and 13 for x86) that can hold strings with length +// of up to 23 chars on the stack before going on the heap - the last byte of the buffer is used for: +// - "is small" bit - the highest bit - if "0" then it is small - otherwise its "1" (128) +// - if small - capacity left before going on the heap - using the lowest 5 bits +// - if small - 2 bits are left unused - the second and third highest ones +// - if small - acts as a null terminator if strlen() is 23 (24 including the null terminator) +// and the "is small" bit remains "0" ("as well as the capacity left") so its OK +// Idea taken from this lecture about the string implementation of facebook/folly - fbstring +// https://www.youtube.com/watch?v=kPR8h4-qZdk +// TODO: +// - optimizations - like not deleting memory unnecessarily in operator= and etc. +// - resize/reserve/clear +// - replace +// - back/front +// - iterator stuff +// - find & friends +// - push_back/pop_back +// - assign/insert/erase +// - relational operators as free functions - taking const char* as one of the params +class DOCTEST_INTERFACE String +{ +public: + using size_type = DOCTEST_CONFIG_STRING_SIZE_TYPE; + +private: + static DOCTEST_CONSTEXPR size_type len = 24; //!OCLINT avoid private static members + static DOCTEST_CONSTEXPR size_type last = len - 1; //!OCLINT avoid private static members + + struct view // len should be more than sizeof(view) - because of the final byte for flags + { + char* ptr; + size_type size; + size_type capacity; + }; + + union + { + char buf[len]; // NOLINT(*-avoid-c-arrays) + view data; + }; + + char* allocate(size_type sz); + + bool isOnStack() const noexcept { return (buf[last] & 128) == 0; } + void setOnHeap() noexcept; + void setLast(size_type in = last) noexcept; + void setSize(size_type sz) noexcept; + + void copy(const String& other); + +public: + static DOCTEST_CONSTEXPR size_type npos = static_cast(-1); + + String() noexcept; + ~String(); + + // cppcheck-suppress noExplicitConstructor + String(const char* in); + String(const char* in, size_type in_size); + + String(std::istream& in, size_type in_size); + + String(const String& other); + String& operator=(const String& other); + + String& operator+=(const String& other); + + String(String&& other) noexcept; + String& operator=(String&& other) noexcept; + + char operator[](size_type i) const; + char& operator[](size_type i); + + // the only functions I'm willing to leave in the interface - available for inlining + const char* c_str() const { return const_cast(this)->c_str(); } // NOLINT + char* c_str() { + if (isOnStack()) { + return reinterpret_cast(buf); + } + return data.ptr; + } + + size_type size() const; + size_type capacity() const; + + String substr(size_type pos, size_type cnt = npos) &&; + String substr(size_type pos, size_type cnt = npos) const &; + + size_type find(char ch, size_type pos = 0) const; + size_type rfind(char ch, size_type pos = npos) const; + + int compare(const char* other, bool no_case = false) const; + int compare(const String& other, bool no_case = false) const; + +friend DOCTEST_INTERFACE std::ostream& operator<<(std::ostream& s, const String& in); +}; + +DOCTEST_INTERFACE String operator+(const String& lhs, const String& rhs); + +DOCTEST_INTERFACE bool operator==(const String& lhs, const String& rhs); +DOCTEST_INTERFACE bool operator!=(const String& lhs, const String& rhs); +DOCTEST_INTERFACE bool operator<(const String& lhs, const String& rhs); +DOCTEST_INTERFACE bool operator>(const String& lhs, const String& rhs); +DOCTEST_INTERFACE bool operator<=(const String& lhs, const String& rhs); +DOCTEST_INTERFACE bool operator>=(const String& lhs, const String& rhs); + +class DOCTEST_INTERFACE Contains { +public: + explicit Contains(const String& string); + + bool checkWith(const String& other) const; + + String string; +}; + +DOCTEST_INTERFACE String toString(const Contains& in); + +DOCTEST_INTERFACE bool operator==(const String& lhs, const Contains& rhs); +DOCTEST_INTERFACE bool operator==(const Contains& lhs, const String& rhs); +DOCTEST_INTERFACE bool operator!=(const String& lhs, const Contains& rhs); +DOCTEST_INTERFACE bool operator!=(const Contains& lhs, const String& rhs); + +namespace Color { + enum Enum + { + None = 0, + White, + Red, + Green, + Blue, + Cyan, + Yellow, + Grey, + + Bright = 0x10, + + BrightRed = Bright | Red, + BrightGreen = Bright | Green, + LightGrey = Bright | Grey, + BrightWhite = Bright | White + }; + + DOCTEST_INTERFACE std::ostream& operator<<(std::ostream& s, Color::Enum code); +} // namespace Color + +namespace assertType { + enum Enum + { + // macro traits + + is_warn = 1, + is_check = 2 * is_warn, + is_require = 2 * is_check, + + is_normal = 2 * is_require, + is_throws = 2 * is_normal, + is_throws_as = 2 * is_throws, + is_throws_with = 2 * is_throws_as, + is_nothrow = 2 * is_throws_with, + + is_false = 2 * is_nothrow, + is_unary = 2 * is_false, // not checked anywhere - used just to distinguish the types + + is_eq = 2 * is_unary, + is_ne = 2 * is_eq, + + is_lt = 2 * is_ne, + is_gt = 2 * is_lt, + + is_ge = 2 * is_gt, + is_le = 2 * is_ge, + + // macro types + + DT_WARN = is_normal | is_warn, + DT_CHECK = is_normal | is_check, + DT_REQUIRE = is_normal | is_require, + + DT_WARN_FALSE = is_normal | is_false | is_warn, + DT_CHECK_FALSE = is_normal | is_false | is_check, + DT_REQUIRE_FALSE = is_normal | is_false | is_require, + + DT_WARN_THROWS = is_throws | is_warn, + DT_CHECK_THROWS = is_throws | is_check, + DT_REQUIRE_THROWS = is_throws | is_require, + + DT_WARN_THROWS_AS = is_throws_as | is_warn, + DT_CHECK_THROWS_AS = is_throws_as | is_check, + DT_REQUIRE_THROWS_AS = is_throws_as | is_require, + + DT_WARN_THROWS_WITH = is_throws_with | is_warn, + DT_CHECK_THROWS_WITH = is_throws_with | is_check, + DT_REQUIRE_THROWS_WITH = is_throws_with | is_require, + + DT_WARN_THROWS_WITH_AS = is_throws_with | is_throws_as | is_warn, + DT_CHECK_THROWS_WITH_AS = is_throws_with | is_throws_as | is_check, + DT_REQUIRE_THROWS_WITH_AS = is_throws_with | is_throws_as | is_require, + + DT_WARN_NOTHROW = is_nothrow | is_warn, + DT_CHECK_NOTHROW = is_nothrow | is_check, + DT_REQUIRE_NOTHROW = is_nothrow | is_require, + + DT_WARN_EQ = is_normal | is_eq | is_warn, + DT_CHECK_EQ = is_normal | is_eq | is_check, + DT_REQUIRE_EQ = is_normal | is_eq | is_require, + + DT_WARN_NE = is_normal | is_ne | is_warn, + DT_CHECK_NE = is_normal | is_ne | is_check, + DT_REQUIRE_NE = is_normal | is_ne | is_require, + + DT_WARN_GT = is_normal | is_gt | is_warn, + DT_CHECK_GT = is_normal | is_gt | is_check, + DT_REQUIRE_GT = is_normal | is_gt | is_require, + + DT_WARN_LT = is_normal | is_lt | is_warn, + DT_CHECK_LT = is_normal | is_lt | is_check, + DT_REQUIRE_LT = is_normal | is_lt | is_require, + + DT_WARN_GE = is_normal | is_ge | is_warn, + DT_CHECK_GE = is_normal | is_ge | is_check, + DT_REQUIRE_GE = is_normal | is_ge | is_require, + + DT_WARN_LE = is_normal | is_le | is_warn, + DT_CHECK_LE = is_normal | is_le | is_check, + DT_REQUIRE_LE = is_normal | is_le | is_require, + + DT_WARN_UNARY = is_normal | is_unary | is_warn, + DT_CHECK_UNARY = is_normal | is_unary | is_check, + DT_REQUIRE_UNARY = is_normal | is_unary | is_require, + + DT_WARN_UNARY_FALSE = is_normal | is_false | is_unary | is_warn, + DT_CHECK_UNARY_FALSE = is_normal | is_false | is_unary | is_check, + DT_REQUIRE_UNARY_FALSE = is_normal | is_false | is_unary | is_require, + }; +} // namespace assertType + +DOCTEST_INTERFACE const char* assertString(assertType::Enum at); +DOCTEST_INTERFACE const char* failureString(assertType::Enum at); +DOCTEST_INTERFACE const char* skipPathFromFilename(const char* file); + +struct DOCTEST_INTERFACE TestCaseData +{ + String m_file; // the file in which the test was registered (using String - see #350) + unsigned m_line; // the line where the test was registered + const char* m_name; // name of the test case + const char* m_test_suite; // the test suite in which the test was added + const char* m_description; + bool m_skip; + bool m_no_breaks; + bool m_no_output; + bool m_may_fail; + bool m_should_fail; + int m_expected_failures; + double m_timeout; +}; + +struct DOCTEST_INTERFACE AssertData +{ + // common - for all asserts + const TestCaseData* m_test_case; + assertType::Enum m_at; + const char* m_file; + int m_line; + const char* m_expr; + bool m_failed; + + // exception-related - for all asserts + bool m_threw; + String m_exception; + + // for normal asserts + String m_decomp; + + // for specific exception-related asserts + bool m_threw_as; + const char* m_exception_type; + + class DOCTEST_INTERFACE StringContains { + private: + Contains content; + bool isContains; + + public: + StringContains(const String& str) : content(str), isContains(false) { } + StringContains(Contains cntn) : content(static_cast(cntn)), isContains(true) { } + + bool check(const String& str) { return isContains ? (content == str) : (content.string == str); } + + operator const String&() const { return content.string; } + + const char* c_str() const { return content.string.c_str(); } + } m_exception_string; + + AssertData(assertType::Enum at, const char* file, int line, const char* expr, + const char* exception_type, const StringContains& exception_string); +}; + +struct DOCTEST_INTERFACE MessageData +{ + String m_string; + const char* m_file; + int m_line; + assertType::Enum m_severity; +}; + +struct DOCTEST_INTERFACE SubcaseSignature +{ + String m_name; + const char* m_file; + int m_line; + + bool operator==(const SubcaseSignature& other) const; + bool operator<(const SubcaseSignature& other) const; +}; + +struct DOCTEST_INTERFACE IContextScope +{ + DOCTEST_DECLARE_INTERFACE(IContextScope) + virtual void stringify(std::ostream*) const = 0; +}; + +namespace detail { + struct DOCTEST_INTERFACE TestCase; +} // namespace detail + +struct ContextOptions //!OCLINT too many fields +{ + std::ostream* cout = nullptr; // stdout stream + String binary_name; // the test binary name + + const detail::TestCase* currentTest = nullptr; + + // == parameters from the command line + String out; // output filename + String order_by; // how tests should be ordered + unsigned rand_seed; // the seed for rand ordering + + unsigned first; // the first (matching) test to be executed + unsigned last; // the last (matching) test to be executed + + int abort_after; // stop tests after this many failed assertions + int subcase_filter_levels; // apply the subcase filters for the first N levels + + bool success; // include successful assertions in output + bool case_sensitive; // if filtering should be case sensitive + bool exit; // if the program should be exited after the tests are ran/whatever + bool duration; // print the time duration of each test case + bool minimal; // minimal console output (only test failures) + bool quiet; // no console output + bool no_throw; // to skip exceptions-related assertion macros + bool no_exitcode; // if the framework should return 0 as the exitcode + bool no_run; // to not run the tests at all (can be done with an "*" exclude) + bool no_intro; // to not print the intro of the framework + bool no_version; // to not print the version of the framework + bool no_colors; // if output to the console should be colorized + bool force_colors; // forces the use of colors even when a tty cannot be detected + bool no_breaks; // to not break into the debugger + bool no_skip; // don't skip test cases which are marked to be skipped + bool gnu_file_line; // if line numbers should be surrounded with :x: and not (x): + bool no_path_in_filenames; // if the path to files should be removed from the output + bool no_line_numbers; // if source code line numbers should be omitted from the output + bool no_debug_output; // no output in the debug console when a debugger is attached + bool no_skipped_summary; // don't print "skipped" in the summary !!! UNDOCUMENTED !!! + bool no_time_in_output; // omit any time/timestamps from output !!! UNDOCUMENTED !!! + + bool help; // to print the help + bool version; // to print the version + bool count; // if only the count of matching tests is to be retrieved + bool list_test_cases; // to list all tests matching the filters + bool list_test_suites; // to list all suites matching the filters + bool list_reporters; // lists all registered reporters +}; + +namespace detail { + namespace types { +#ifdef DOCTEST_CONFIG_INCLUDE_TYPE_TRAITS + using namespace std; +#else + template + struct enable_if { }; + + template + struct enable_if { using type = T; }; + + struct true_type { static DOCTEST_CONSTEXPR bool value = true; }; + struct false_type { static DOCTEST_CONSTEXPR bool value = false; }; + + template struct remove_reference { using type = T; }; + template struct remove_reference { using type = T; }; + template struct remove_reference { using type = T; }; + + template struct is_rvalue_reference : false_type { }; + template struct is_rvalue_reference : true_type { }; + + template struct remove_const { using type = T; }; + template struct remove_const { using type = T; }; + + // Compiler intrinsics + template struct is_enum { static DOCTEST_CONSTEXPR bool value = __is_enum(T); }; + template struct underlying_type { using type = __underlying_type(T); }; + + template struct is_pointer : false_type { }; + template struct is_pointer : true_type { }; + + template struct is_array : false_type { }; + // NOLINTNEXTLINE(*-avoid-c-arrays) + template struct is_array : true_type { }; +#endif + } + + // + template + T&& declval(); + + template + DOCTEST_CONSTEXPR_FUNC T&& forward(typename types::remove_reference::type& t) DOCTEST_NOEXCEPT { + return static_cast(t); + } + + template + DOCTEST_CONSTEXPR_FUNC T&& forward(typename types::remove_reference::type&& t) DOCTEST_NOEXCEPT { + return static_cast(t); + } + + template + struct deferred_false : types::false_type { }; + +// MSVS 2015 :( +#if !DOCTEST_CLANG && defined(_MSC_VER) && _MSC_VER <= 1900 + template + struct has_global_insertion_operator : types::false_type { }; + + template + struct has_global_insertion_operator(), declval()), void())> : types::true_type { }; + + template + struct has_insertion_operator { static DOCTEST_CONSTEXPR bool value = has_global_insertion_operator::value; }; + + template + struct insert_hack; + + template + struct insert_hack { + static void insert(std::ostream& os, const T& t) { ::operator<<(os, t); } + }; + + template + struct insert_hack { + static void insert(std::ostream& os, const T& t) { operator<<(os, t); } + }; + + template + using insert_hack_t = insert_hack::value>; +#else + template + struct has_insertion_operator : types::false_type { }; +#endif + + template + struct has_insertion_operator(), declval()), void())> : types::true_type { }; + + template + struct should_stringify_as_underlying_type { + static DOCTEST_CONSTEXPR bool value = detail::types::is_enum::value && !doctest::detail::has_insertion_operator::value; + }; + + DOCTEST_INTERFACE std::ostream* tlssPush(); + DOCTEST_INTERFACE String tlssPop(); + + template + struct StringMakerBase { + template + static String convert(const DOCTEST_REF_WRAP(T)) { +#ifdef DOCTEST_CONFIG_REQUIRE_STRINGIFICATION_FOR_ALL_USED_TYPES + static_assert(deferred_false::value, "No stringification detected for type T. See string conversion manual"); +#endif + return "{?}"; + } + }; + + template + struct filldata; + + template + void filloss(std::ostream* stream, const T& in) { + filldata::fill(stream, in); + } + + template + void filloss(std::ostream* stream, const T (&in)[N]) { // NOLINT(*-avoid-c-arrays) + // T[N], T(&)[N], T(&&)[N] have same behaviour. + // Hence remove reference. + filloss::type>(stream, in); + } + + template + String toStream(const T& in) { + std::ostream* stream = tlssPush(); + filloss(stream, in); + return tlssPop(); + } + + template <> + struct StringMakerBase { + template + static String convert(const DOCTEST_REF_WRAP(T) in) { + return toStream(in); + } + }; +} // namespace detail + +template +struct StringMaker : public detail::StringMakerBase< + detail::has_insertion_operator::value || detail::types::is_pointer::value || detail::types::is_array::value> +{}; + +#ifndef DOCTEST_STRINGIFY +#ifdef DOCTEST_CONFIG_DOUBLE_STRINGIFY +#define DOCTEST_STRINGIFY(...) toString(toString(__VA_ARGS__)) +#else +#define DOCTEST_STRINGIFY(...) toString(__VA_ARGS__) +#endif +#endif + +template +String toString() { +#if DOCTEST_CLANG == 0 && DOCTEST_GCC == 0 && DOCTEST_ICC == 0 + String ret = __FUNCSIG__; // class doctest::String __cdecl doctest::toString(void) + String::size_type beginPos = ret.find('<'); + return ret.substr(beginPos + 1, ret.size() - beginPos - static_cast(sizeof(">(void)"))); +#else + String ret = __PRETTY_FUNCTION__; // doctest::String toString() [with T = TYPE] + String::size_type begin = ret.find('=') + 2; + return ret.substr(begin, ret.size() - begin - 1); +#endif +} + +template ::value, bool>::type = true> +String toString(const DOCTEST_REF_WRAP(T) value) { + return StringMaker::convert(value); +} + +#ifdef DOCTEST_CONFIG_TREAT_CHAR_STAR_AS_STRING +DOCTEST_INTERFACE String toString(const char* in); +#endif // DOCTEST_CONFIG_TREAT_CHAR_STAR_AS_STRING + +#if DOCTEST_MSVC >= DOCTEST_COMPILER(19, 20, 0) +// see this issue on why this is needed: https://github.com/doctest/doctest/issues/183 +DOCTEST_INTERFACE String toString(const std::string& in); +#endif // VS 2019 + +DOCTEST_INTERFACE String toString(String in); + +DOCTEST_INTERFACE String toString(std::nullptr_t); + +DOCTEST_INTERFACE String toString(bool in); + +DOCTEST_INTERFACE String toString(float in); +DOCTEST_INTERFACE String toString(double in); +DOCTEST_INTERFACE String toString(double long in); + +DOCTEST_INTERFACE String toString(char in); +DOCTEST_INTERFACE String toString(char signed in); +DOCTEST_INTERFACE String toString(char unsigned in); +DOCTEST_INTERFACE String toString(short in); +DOCTEST_INTERFACE String toString(short unsigned in); +DOCTEST_INTERFACE String toString(signed in); +DOCTEST_INTERFACE String toString(unsigned in); +DOCTEST_INTERFACE String toString(long in); +DOCTEST_INTERFACE String toString(long unsigned in); +DOCTEST_INTERFACE String toString(long long in); +DOCTEST_INTERFACE String toString(long long unsigned in); + +template ::value, bool>::type = true> +String toString(const DOCTEST_REF_WRAP(T) value) { + using UT = typename detail::types::underlying_type::type; + return (DOCTEST_STRINGIFY(static_cast(value))); +} + +namespace detail { + template + struct filldata + { + static void fill(std::ostream* stream, const T& in) { +#if defined(_MSC_VER) && _MSC_VER <= 1900 + insert_hack_t::insert(*stream, in); +#else + operator<<(*stream, in); +#endif + } + }; + +DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(4866) +// NOLINTBEGIN(*-avoid-c-arrays) + template + struct filldata { + static void fill(std::ostream* stream, const T(&in)[N]) { + *stream << "["; + for (size_t i = 0; i < N; i++) { + if (i != 0) { *stream << ", "; } + *stream << (DOCTEST_STRINGIFY(in[i])); + } + *stream << "]"; + } + }; +// NOLINTEND(*-avoid-c-arrays) +DOCTEST_MSVC_SUPPRESS_WARNING_POP + + // Specialized since we don't want the terminating null byte! +// NOLINTBEGIN(*-avoid-c-arrays) + template + struct filldata { + static void fill(std::ostream* stream, const char (&in)[N]) { + *stream << String(in, in[N - 1] ? N : N - 1); + } // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks) + }; +// NOLINTEND(*-avoid-c-arrays) + + template <> + struct filldata { + static void fill(std::ostream* stream, const void* in); + }; + + template + struct filldata { +DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(4180) + static void fill(std::ostream* stream, const T* in) { +DOCTEST_MSVC_SUPPRESS_WARNING_POP +DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Wmicrosoft-cast") + filldata::fill(stream, +#if DOCTEST_GCC == 0 || DOCTEST_GCC >= DOCTEST_COMPILER(4, 9, 0) + reinterpret_cast(in) +#else + *reinterpret_cast(&in) +#endif + ); +DOCTEST_CLANG_SUPPRESS_WARNING_POP + } + }; +} + +struct DOCTEST_INTERFACE Approx +{ + Approx(double value); + + Approx operator()(double value) const; + +#ifdef DOCTEST_CONFIG_INCLUDE_TYPE_TRAITS + template + explicit Approx(const T& value, + typename detail::types::enable_if::value>::type* = + static_cast(nullptr)) { + *this = static_cast(value); + } +#endif // DOCTEST_CONFIG_INCLUDE_TYPE_TRAITS + + Approx& epsilon(double newEpsilon); + +#ifdef DOCTEST_CONFIG_INCLUDE_TYPE_TRAITS + template + typename std::enable_if::value, Approx&>::type epsilon( + const T& newEpsilon) { + m_epsilon = static_cast(newEpsilon); + return *this; + } +#endif // DOCTEST_CONFIG_INCLUDE_TYPE_TRAITS + + Approx& scale(double newScale); + +#ifdef DOCTEST_CONFIG_INCLUDE_TYPE_TRAITS + template + typename std::enable_if::value, Approx&>::type scale( + const T& newScale) { + m_scale = static_cast(newScale); + return *this; + } +#endif // DOCTEST_CONFIG_INCLUDE_TYPE_TRAITS + + // clang-format off + DOCTEST_INTERFACE friend bool operator==(double lhs, const Approx & rhs); + DOCTEST_INTERFACE friend bool operator==(const Approx & lhs, double rhs); + DOCTEST_INTERFACE friend bool operator!=(double lhs, const Approx & rhs); + DOCTEST_INTERFACE friend bool operator!=(const Approx & lhs, double rhs); + DOCTEST_INTERFACE friend bool operator<=(double lhs, const Approx & rhs); + DOCTEST_INTERFACE friend bool operator<=(const Approx & lhs, double rhs); + DOCTEST_INTERFACE friend bool operator>=(double lhs, const Approx & rhs); + DOCTEST_INTERFACE friend bool operator>=(const Approx & lhs, double rhs); + DOCTEST_INTERFACE friend bool operator< (double lhs, const Approx & rhs); + DOCTEST_INTERFACE friend bool operator< (const Approx & lhs, double rhs); + DOCTEST_INTERFACE friend bool operator> (double lhs, const Approx & rhs); + DOCTEST_INTERFACE friend bool operator> (const Approx & lhs, double rhs); + +#ifdef DOCTEST_CONFIG_INCLUDE_TYPE_TRAITS +#define DOCTEST_APPROX_PREFIX \ + template friend typename std::enable_if::value, bool>::type + + DOCTEST_APPROX_PREFIX operator==(const T& lhs, const Approx& rhs) { return operator==(static_cast(lhs), rhs); } + DOCTEST_APPROX_PREFIX operator==(const Approx& lhs, const T& rhs) { return operator==(rhs, lhs); } + DOCTEST_APPROX_PREFIX operator!=(const T& lhs, const Approx& rhs) { return !operator==(lhs, rhs); } + DOCTEST_APPROX_PREFIX operator!=(const Approx& lhs, const T& rhs) { return !operator==(rhs, lhs); } + DOCTEST_APPROX_PREFIX operator<=(const T& lhs, const Approx& rhs) { return static_cast(lhs) < rhs.m_value || lhs == rhs; } + DOCTEST_APPROX_PREFIX operator<=(const Approx& lhs, const T& rhs) { return lhs.m_value < static_cast(rhs) || lhs == rhs; } + DOCTEST_APPROX_PREFIX operator>=(const T& lhs, const Approx& rhs) { return static_cast(lhs) > rhs.m_value || lhs == rhs; } + DOCTEST_APPROX_PREFIX operator>=(const Approx& lhs, const T& rhs) { return lhs.m_value > static_cast(rhs) || lhs == rhs; } + DOCTEST_APPROX_PREFIX operator< (const T& lhs, const Approx& rhs) { return static_cast(lhs) < rhs.m_value && lhs != rhs; } + DOCTEST_APPROX_PREFIX operator< (const Approx& lhs, const T& rhs) { return lhs.m_value < static_cast(rhs) && lhs != rhs; } + DOCTEST_APPROX_PREFIX operator> (const T& lhs, const Approx& rhs) { return static_cast(lhs) > rhs.m_value && lhs != rhs; } + DOCTEST_APPROX_PREFIX operator> (const Approx& lhs, const T& rhs) { return lhs.m_value > static_cast(rhs) && lhs != rhs; } +#undef DOCTEST_APPROX_PREFIX +#endif // DOCTEST_CONFIG_INCLUDE_TYPE_TRAITS + + // clang-format on + + double m_epsilon; + double m_scale; + double m_value; +}; + +DOCTEST_INTERFACE String toString(const Approx& in); + +DOCTEST_INTERFACE const ContextOptions* getContextOptions(); + +template +struct DOCTEST_INTERFACE_DECL IsNaN +{ + F value; bool flipped; + IsNaN(F f, bool flip = false) : value(f), flipped(flip) { } + IsNaN operator!() const { return { value, !flipped }; } + operator bool() const; +}; +#ifndef __MINGW32__ +extern template struct DOCTEST_INTERFACE_DECL IsNaN; +extern template struct DOCTEST_INTERFACE_DECL IsNaN; +extern template struct DOCTEST_INTERFACE_DECL IsNaN; +#endif +DOCTEST_INTERFACE String toString(IsNaN in); +DOCTEST_INTERFACE String toString(IsNaN in); +DOCTEST_INTERFACE String toString(IsNaN in); + +#ifndef DOCTEST_CONFIG_DISABLE + +namespace detail { + // clang-format off +#ifdef DOCTEST_CONFIG_TREAT_CHAR_STAR_AS_STRING + template struct decay_array { using type = T; }; + template struct decay_array { using type = T*; }; + template struct decay_array { using type = T*; }; + + template struct not_char_pointer { static DOCTEST_CONSTEXPR int value = 1; }; + template<> struct not_char_pointer { static DOCTEST_CONSTEXPR int value = 0; }; + template<> struct not_char_pointer { static DOCTEST_CONSTEXPR int value = 0; }; + + template struct can_use_op : public not_char_pointer::type> {}; +#endif // DOCTEST_CONFIG_TREAT_CHAR_STAR_AS_STRING + // clang-format on + + struct DOCTEST_INTERFACE TestFailureException + { + }; + + DOCTEST_INTERFACE bool checkIfShouldThrow(assertType::Enum at); + +#ifndef DOCTEST_CONFIG_NO_EXCEPTIONS + DOCTEST_NORETURN +#endif // DOCTEST_CONFIG_NO_EXCEPTIONS + DOCTEST_INTERFACE void throwException(); + + struct DOCTEST_INTERFACE Subcase + { + SubcaseSignature m_signature; + bool m_entered = false; + + Subcase(const String& name, const char* file, int line); + Subcase(const Subcase&) = delete; + Subcase(Subcase&&) = delete; + Subcase& operator=(const Subcase&) = delete; + Subcase& operator=(Subcase&&) = delete; + ~Subcase(); + + operator bool() const; + + private: + bool checkFilters(); + }; + + template + String stringifyBinaryExpr(const DOCTEST_REF_WRAP(L) lhs, const char* op, + const DOCTEST_REF_WRAP(R) rhs) { + return (DOCTEST_STRINGIFY(lhs)) + op + (DOCTEST_STRINGIFY(rhs)); + } + +#if DOCTEST_CLANG && DOCTEST_CLANG < DOCTEST_COMPILER(3, 6, 0) +DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Wunused-comparison") +#endif + +// This will check if there is any way it could find a operator like member or friend and uses it. +// If not it doesn't find the operator or if the operator at global scope is defined after +// this template, the template won't be instantiated due to SFINAE. Once the template is not +// instantiated it can look for global operator using normal conversions. +#ifdef __NVCC__ +#define SFINAE_OP(ret,op) ret +#else +#define SFINAE_OP(ret,op) decltype((void)(doctest::detail::declval() op doctest::detail::declval()),ret{}) +#endif + +#define DOCTEST_DO_BINARY_EXPRESSION_COMPARISON(op, op_str, op_macro) \ + template \ + DOCTEST_NOINLINE SFINAE_OP(Result,op) operator op(R&& rhs) { \ + bool res = op_macro(doctest::detail::forward(lhs), doctest::detail::forward(rhs)); \ + if(m_at & assertType::is_false) \ + res = !res; \ + if(!res || doctest::getContextOptions()->success) \ + return Result(res, stringifyBinaryExpr(lhs, op_str, rhs)); \ + return Result(res); \ + } + + // more checks could be added - like in Catch: + // https://github.com/catchorg/Catch2/pull/1480/files + // https://github.com/catchorg/Catch2/pull/1481/files +#define DOCTEST_FORBIT_EXPRESSION(rt, op) \ + template \ + rt& operator op(const R&) { \ + static_assert(deferred_false::value, \ + "Expression Too Complex Please Rewrite As Binary Comparison!"); \ + return *this; \ + } + + struct DOCTEST_INTERFACE Result // NOLINT(*-member-init) + { + bool m_passed; + String m_decomp; + + Result() = default; // TODO: Why do we need this? (To remove NOLINT) + Result(bool passed, const String& decomposition = String()); + + // forbidding some expressions based on this table: https://en.cppreference.com/w/cpp/language/operator_precedence + DOCTEST_FORBIT_EXPRESSION(Result, &) + DOCTEST_FORBIT_EXPRESSION(Result, ^) + DOCTEST_FORBIT_EXPRESSION(Result, |) + DOCTEST_FORBIT_EXPRESSION(Result, &&) + DOCTEST_FORBIT_EXPRESSION(Result, ||) + DOCTEST_FORBIT_EXPRESSION(Result, ==) + DOCTEST_FORBIT_EXPRESSION(Result, !=) + DOCTEST_FORBIT_EXPRESSION(Result, <) + DOCTEST_FORBIT_EXPRESSION(Result, >) + DOCTEST_FORBIT_EXPRESSION(Result, <=) + DOCTEST_FORBIT_EXPRESSION(Result, >=) + DOCTEST_FORBIT_EXPRESSION(Result, =) + DOCTEST_FORBIT_EXPRESSION(Result, +=) + DOCTEST_FORBIT_EXPRESSION(Result, -=) + DOCTEST_FORBIT_EXPRESSION(Result, *=) + DOCTEST_FORBIT_EXPRESSION(Result, /=) + DOCTEST_FORBIT_EXPRESSION(Result, %=) + DOCTEST_FORBIT_EXPRESSION(Result, <<=) + DOCTEST_FORBIT_EXPRESSION(Result, >>=) + DOCTEST_FORBIT_EXPRESSION(Result, &=) + DOCTEST_FORBIT_EXPRESSION(Result, ^=) + DOCTEST_FORBIT_EXPRESSION(Result, |=) + }; + +#ifndef DOCTEST_CONFIG_NO_COMPARISON_WARNING_SUPPRESSION + + DOCTEST_CLANG_SUPPRESS_WARNING_PUSH + DOCTEST_CLANG_SUPPRESS_WARNING("-Wsign-conversion") + DOCTEST_CLANG_SUPPRESS_WARNING("-Wsign-compare") + //DOCTEST_CLANG_SUPPRESS_WARNING("-Wdouble-promotion") + //DOCTEST_CLANG_SUPPRESS_WARNING("-Wconversion") + //DOCTEST_CLANG_SUPPRESS_WARNING("-Wfloat-equal") + + DOCTEST_GCC_SUPPRESS_WARNING_PUSH + DOCTEST_GCC_SUPPRESS_WARNING("-Wsign-conversion") + DOCTEST_GCC_SUPPRESS_WARNING("-Wsign-compare") + //DOCTEST_GCC_SUPPRESS_WARNING("-Wdouble-promotion") + //DOCTEST_GCC_SUPPRESS_WARNING("-Wconversion") + //DOCTEST_GCC_SUPPRESS_WARNING("-Wfloat-equal") + + DOCTEST_MSVC_SUPPRESS_WARNING_PUSH + // https://stackoverflow.com/questions/39479163 what's the difference between 4018 and 4389 + DOCTEST_MSVC_SUPPRESS_WARNING(4388) // signed/unsigned mismatch + DOCTEST_MSVC_SUPPRESS_WARNING(4389) // 'operator' : signed/unsigned mismatch + DOCTEST_MSVC_SUPPRESS_WARNING(4018) // 'expression' : signed/unsigned mismatch + //DOCTEST_MSVC_SUPPRESS_WARNING(4805) // 'operation' : unsafe mix of type 'type' and type 'type' in operation + +#endif // DOCTEST_CONFIG_NO_COMPARISON_WARNING_SUPPRESSION + + // clang-format off +#ifndef DOCTEST_CONFIG_TREAT_CHAR_STAR_AS_STRING +#define DOCTEST_COMPARISON_RETURN_TYPE bool +#else // DOCTEST_CONFIG_TREAT_CHAR_STAR_AS_STRING +#define DOCTEST_COMPARISON_RETURN_TYPE typename types::enable_if::value || can_use_op::value, bool>::type + inline bool eq(const char* lhs, const char* rhs) { return String(lhs) == String(rhs); } + inline bool ne(const char* lhs, const char* rhs) { return String(lhs) != String(rhs); } + inline bool lt(const char* lhs, const char* rhs) { return String(lhs) < String(rhs); } + inline bool gt(const char* lhs, const char* rhs) { return String(lhs) > String(rhs); } + inline bool le(const char* lhs, const char* rhs) { return String(lhs) <= String(rhs); } + inline bool ge(const char* lhs, const char* rhs) { return String(lhs) >= String(rhs); } +#endif // DOCTEST_CONFIG_TREAT_CHAR_STAR_AS_STRING + // clang-format on + +#define DOCTEST_RELATIONAL_OP(name, op) \ + template \ + DOCTEST_COMPARISON_RETURN_TYPE name(const DOCTEST_REF_WRAP(L) lhs, \ + const DOCTEST_REF_WRAP(R) rhs) { \ + return lhs op rhs; \ + } + + DOCTEST_RELATIONAL_OP(eq, ==) + DOCTEST_RELATIONAL_OP(ne, !=) + DOCTEST_RELATIONAL_OP(lt, <) + DOCTEST_RELATIONAL_OP(gt, >) + DOCTEST_RELATIONAL_OP(le, <=) + DOCTEST_RELATIONAL_OP(ge, >=) + +#ifndef DOCTEST_CONFIG_TREAT_CHAR_STAR_AS_STRING +#define DOCTEST_CMP_EQ(l, r) l == r +#define DOCTEST_CMP_NE(l, r) l != r +#define DOCTEST_CMP_GT(l, r) l > r +#define DOCTEST_CMP_LT(l, r) l < r +#define DOCTEST_CMP_GE(l, r) l >= r +#define DOCTEST_CMP_LE(l, r) l <= r +#else // DOCTEST_CONFIG_TREAT_CHAR_STAR_AS_STRING +#define DOCTEST_CMP_EQ(l, r) eq(l, r) +#define DOCTEST_CMP_NE(l, r) ne(l, r) +#define DOCTEST_CMP_GT(l, r) gt(l, r) +#define DOCTEST_CMP_LT(l, r) lt(l, r) +#define DOCTEST_CMP_GE(l, r) ge(l, r) +#define DOCTEST_CMP_LE(l, r) le(l, r) +#endif // DOCTEST_CONFIG_TREAT_CHAR_STAR_AS_STRING + + template + // cppcheck-suppress copyCtorAndEqOperator + struct Expression_lhs + { + L lhs; + assertType::Enum m_at; + + explicit Expression_lhs(L&& in, assertType::Enum at) + : lhs(static_cast(in)) + , m_at(at) {} + + DOCTEST_NOINLINE operator Result() { +// this is needed only for MSVC 2015 +DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(4800) // 'int': forcing value to bool + bool res = static_cast(lhs); +DOCTEST_MSVC_SUPPRESS_WARNING_POP + if(m_at & assertType::is_false) { //!OCLINT bitwise operator in conditional + res = !res; + } + + if(!res || getContextOptions()->success) { + return { res, (DOCTEST_STRINGIFY(lhs)) }; + } + return { res }; + } + + /* This is required for user-defined conversions from Expression_lhs to L */ + operator L() const { return lhs; } + + // clang-format off + DOCTEST_DO_BINARY_EXPRESSION_COMPARISON(==, " == ", DOCTEST_CMP_EQ) //!OCLINT bitwise operator in conditional + DOCTEST_DO_BINARY_EXPRESSION_COMPARISON(!=, " != ", DOCTEST_CMP_NE) //!OCLINT bitwise operator in conditional + DOCTEST_DO_BINARY_EXPRESSION_COMPARISON(>, " > ", DOCTEST_CMP_GT) //!OCLINT bitwise operator in conditional + DOCTEST_DO_BINARY_EXPRESSION_COMPARISON(<, " < ", DOCTEST_CMP_LT) //!OCLINT bitwise operator in conditional + DOCTEST_DO_BINARY_EXPRESSION_COMPARISON(>=, " >= ", DOCTEST_CMP_GE) //!OCLINT bitwise operator in conditional + DOCTEST_DO_BINARY_EXPRESSION_COMPARISON(<=, " <= ", DOCTEST_CMP_LE) //!OCLINT bitwise operator in conditional + // clang-format on + + // forbidding some expressions based on this table: https://en.cppreference.com/w/cpp/language/operator_precedence + DOCTEST_FORBIT_EXPRESSION(Expression_lhs, &) + DOCTEST_FORBIT_EXPRESSION(Expression_lhs, ^) + DOCTEST_FORBIT_EXPRESSION(Expression_lhs, |) + DOCTEST_FORBIT_EXPRESSION(Expression_lhs, &&) + DOCTEST_FORBIT_EXPRESSION(Expression_lhs, ||) + DOCTEST_FORBIT_EXPRESSION(Expression_lhs, =) + DOCTEST_FORBIT_EXPRESSION(Expression_lhs, +=) + DOCTEST_FORBIT_EXPRESSION(Expression_lhs, -=) + DOCTEST_FORBIT_EXPRESSION(Expression_lhs, *=) + DOCTEST_FORBIT_EXPRESSION(Expression_lhs, /=) + DOCTEST_FORBIT_EXPRESSION(Expression_lhs, %=) + DOCTEST_FORBIT_EXPRESSION(Expression_lhs, <<=) + DOCTEST_FORBIT_EXPRESSION(Expression_lhs, >>=) + DOCTEST_FORBIT_EXPRESSION(Expression_lhs, &=) + DOCTEST_FORBIT_EXPRESSION(Expression_lhs, ^=) + DOCTEST_FORBIT_EXPRESSION(Expression_lhs, |=) + // these 2 are unfortunate because they should be allowed - they have higher precedence over the comparisons, but the + // ExpressionDecomposer class uses the left shift operator to capture the left operand of the binary expression... + DOCTEST_FORBIT_EXPRESSION(Expression_lhs, <<) + DOCTEST_FORBIT_EXPRESSION(Expression_lhs, >>) + }; + +#ifndef DOCTEST_CONFIG_NO_COMPARISON_WARNING_SUPPRESSION + + DOCTEST_CLANG_SUPPRESS_WARNING_POP + DOCTEST_MSVC_SUPPRESS_WARNING_POP + DOCTEST_GCC_SUPPRESS_WARNING_POP + +#endif // DOCTEST_CONFIG_NO_COMPARISON_WARNING_SUPPRESSION + +#if DOCTEST_CLANG && DOCTEST_CLANG < DOCTEST_COMPILER(3, 6, 0) +DOCTEST_CLANG_SUPPRESS_WARNING_POP +#endif + + struct DOCTEST_INTERFACE ExpressionDecomposer + { + assertType::Enum m_at; + + ExpressionDecomposer(assertType::Enum at); + + // The right operator for capturing expressions is "<=" instead of "<<" (based on the operator precedence table) + // but then there will be warnings from GCC about "-Wparentheses" and since "_Pragma()" is problematic this will stay for now... + // https://github.com/catchorg/Catch2/issues/870 + // https://github.com/catchorg/Catch2/issues/565 + template + Expression_lhs operator<<(L&& operand) { + return Expression_lhs(static_cast(operand), m_at); + } + + template ::value,void >::type* = nullptr> + Expression_lhs operator<<(const L &operand) { + return Expression_lhs(operand, m_at); + } + }; + + struct DOCTEST_INTERFACE TestSuite + { + const char* m_test_suite = nullptr; + const char* m_description = nullptr; + bool m_skip = false; + bool m_no_breaks = false; + bool m_no_output = false; + bool m_may_fail = false; + bool m_should_fail = false; + int m_expected_failures = 0; + double m_timeout = 0; + + TestSuite& operator*(const char* in); + + template + TestSuite& operator*(const T& in) { + in.fill(*this); + return *this; + } + }; + + using funcType = void (*)(); + + struct DOCTEST_INTERFACE TestCase : public TestCaseData + { + funcType m_test; // a function pointer to the test case + + String m_type; // for templated test cases - gets appended to the real name + int m_template_id; // an ID used to distinguish between the different versions of a templated test case + String m_full_name; // contains the name (only for templated test cases!) + the template type + + TestCase(funcType test, const char* file, unsigned line, const TestSuite& test_suite, + const String& type = String(), int template_id = -1); + + TestCase(const TestCase& other); + TestCase(TestCase&&) = delete; + + DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(26434) // hides a non-virtual function + TestCase& operator=(const TestCase& other); + DOCTEST_MSVC_SUPPRESS_WARNING_POP + + TestCase& operator=(TestCase&&) = delete; + + TestCase& operator*(const char* in); + + template + TestCase& operator*(const T& in) { + in.fill(*this); + return *this; + } + + bool operator<(const TestCase& other) const; + + ~TestCase() = default; + }; + + // forward declarations of functions used by the macros + DOCTEST_INTERFACE int regTest(const TestCase& tc); + DOCTEST_INTERFACE int setTestSuite(const TestSuite& ts); + DOCTEST_INTERFACE bool isDebuggerActive(); + + template + int instantiationHelper(const T&) { return 0; } + + namespace binaryAssertComparison { + enum Enum + { + eq = 0, + ne, + gt, + lt, + ge, + le + }; + } // namespace binaryAssertComparison + + // clang-format off + template struct RelationalComparator { bool operator()(const DOCTEST_REF_WRAP(L), const DOCTEST_REF_WRAP(R) ) const { return false; } }; + +#define DOCTEST_BINARY_RELATIONAL_OP(n, op) \ + template struct RelationalComparator { bool operator()(const DOCTEST_REF_WRAP(L) lhs, const DOCTEST_REF_WRAP(R) rhs) const { return op(lhs, rhs); } }; + // clang-format on + + DOCTEST_BINARY_RELATIONAL_OP(0, doctest::detail::eq) + DOCTEST_BINARY_RELATIONAL_OP(1, doctest::detail::ne) + DOCTEST_BINARY_RELATIONAL_OP(2, doctest::detail::gt) + DOCTEST_BINARY_RELATIONAL_OP(3, doctest::detail::lt) + DOCTEST_BINARY_RELATIONAL_OP(4, doctest::detail::ge) + DOCTEST_BINARY_RELATIONAL_OP(5, doctest::detail::le) + + struct DOCTEST_INTERFACE ResultBuilder : public AssertData + { + ResultBuilder(assertType::Enum at, const char* file, int line, const char* expr, + const char* exception_type = "", const String& exception_string = ""); + + ResultBuilder(assertType::Enum at, const char* file, int line, const char* expr, + const char* exception_type, const Contains& exception_string); + + void setResult(const Result& res); + + template + DOCTEST_NOINLINE bool binary_assert(const DOCTEST_REF_WRAP(L) lhs, + const DOCTEST_REF_WRAP(R) rhs) { + m_failed = !RelationalComparator()(lhs, rhs); + if (m_failed || getContextOptions()->success) { + m_decomp = stringifyBinaryExpr(lhs, ", ", rhs); + } + return !m_failed; + } + + template + DOCTEST_NOINLINE bool unary_assert(const DOCTEST_REF_WRAP(L) val) { + m_failed = !val; + + if (m_at & assertType::is_false) { //!OCLINT bitwise operator in conditional + m_failed = !m_failed; + } + + if (m_failed || getContextOptions()->success) { + m_decomp = (DOCTEST_STRINGIFY(val)); + } + + return !m_failed; + } + + void translateException(); + + bool log(); + void react() const; + }; + + namespace assertAction { + enum Enum + { + nothing = 0, + dbgbreak = 1, + shouldthrow = 2 + }; + } // namespace assertAction + + DOCTEST_INTERFACE void failed_out_of_a_testing_context(const AssertData& ad); + + DOCTEST_INTERFACE bool decomp_assert(assertType::Enum at, const char* file, int line, + const char* expr, const Result& result); + +#define DOCTEST_ASSERT_OUT_OF_TESTS(decomp) \ + do { \ + if(!is_running_in_test) { \ + if(failed) { \ + ResultBuilder rb(at, file, line, expr); \ + rb.m_failed = failed; \ + rb.m_decomp = decomp; \ + failed_out_of_a_testing_context(rb); \ + if(isDebuggerActive() && !getContextOptions()->no_breaks) \ + DOCTEST_BREAK_INTO_DEBUGGER(); \ + if(checkIfShouldThrow(at)) \ + throwException(); \ + } \ + return !failed; \ + } \ + } while(false) + +#define DOCTEST_ASSERT_IN_TESTS(decomp) \ + ResultBuilder rb(at, file, line, expr); \ + rb.m_failed = failed; \ + if(rb.m_failed || getContextOptions()->success) \ + rb.m_decomp = decomp; \ + if(rb.log()) \ + DOCTEST_BREAK_INTO_DEBUGGER(); \ + if(rb.m_failed && checkIfShouldThrow(at)) \ + throwException() + + template + DOCTEST_NOINLINE bool binary_assert(assertType::Enum at, const char* file, int line, + const char* expr, const DOCTEST_REF_WRAP(L) lhs, + const DOCTEST_REF_WRAP(R) rhs) { + bool failed = !RelationalComparator()(lhs, rhs); + + // ################################################################################### + // IF THE DEBUGGER BREAKS HERE - GO 1 LEVEL UP IN THE CALLSTACK FOR THE FAILING ASSERT + // THIS IS THE EFFECT OF HAVING 'DOCTEST_CONFIG_SUPER_FAST_ASSERTS' DEFINED + // ################################################################################### + DOCTEST_ASSERT_OUT_OF_TESTS(stringifyBinaryExpr(lhs, ", ", rhs)); + DOCTEST_ASSERT_IN_TESTS(stringifyBinaryExpr(lhs, ", ", rhs)); + return !failed; + } + + template + DOCTEST_NOINLINE bool unary_assert(assertType::Enum at, const char* file, int line, + const char* expr, const DOCTEST_REF_WRAP(L) val) { + bool failed = !val; + + if(at & assertType::is_false) //!OCLINT bitwise operator in conditional + failed = !failed; + + // ################################################################################### + // IF THE DEBUGGER BREAKS HERE - GO 1 LEVEL UP IN THE CALLSTACK FOR THE FAILING ASSERT + // THIS IS THE EFFECT OF HAVING 'DOCTEST_CONFIG_SUPER_FAST_ASSERTS' DEFINED + // ################################################################################### + DOCTEST_ASSERT_OUT_OF_TESTS((DOCTEST_STRINGIFY(val))); + DOCTEST_ASSERT_IN_TESTS((DOCTEST_STRINGIFY(val))); + return !failed; + } + + struct DOCTEST_INTERFACE IExceptionTranslator + { + DOCTEST_DECLARE_INTERFACE(IExceptionTranslator) + virtual bool translate(String&) const = 0; + }; + + template + class ExceptionTranslator : public IExceptionTranslator //!OCLINT destructor of virtual class + { + public: + explicit ExceptionTranslator(String (*translateFunction)(T)) + : m_translateFunction(translateFunction) {} + + bool translate(String& res) const override { +#ifndef DOCTEST_CONFIG_NO_EXCEPTIONS + try { + throw; // lgtm [cpp/rethrow-no-exception] + // cppcheck-suppress catchExceptionByValue + } catch(const T& ex) { + res = m_translateFunction(ex); //!OCLINT parameter reassignment + return true; + } catch(...) {} //!OCLINT - empty catch statement +#endif // DOCTEST_CONFIG_NO_EXCEPTIONS + static_cast(res); // to silence -Wunused-parameter + return false; + } + + private: + String (*m_translateFunction)(T); + }; + + DOCTEST_INTERFACE void registerExceptionTranslatorImpl(const IExceptionTranslator* et); + + // ContextScope base class used to allow implementing methods of ContextScope + // that don't depend on the template parameter in doctest.cpp. + struct DOCTEST_INTERFACE ContextScopeBase : public IContextScope { + ContextScopeBase(const ContextScopeBase&) = delete; + + ContextScopeBase& operator=(const ContextScopeBase&) = delete; + ContextScopeBase& operator=(ContextScopeBase&&) = delete; + + ~ContextScopeBase() override = default; + + protected: + ContextScopeBase(); + ContextScopeBase(ContextScopeBase&& other) noexcept; + + void destroy(); + bool need_to_destroy{true}; + }; + + template class ContextScope : public ContextScopeBase + { + L lambda_; + + public: + explicit ContextScope(const L &lambda) : lambda_(lambda) {} + explicit ContextScope(L&& lambda) : lambda_(static_cast(lambda)) { } + + ContextScope(const ContextScope&) = delete; + ContextScope(ContextScope&&) noexcept = default; + + ContextScope& operator=(const ContextScope&) = delete; + ContextScope& operator=(ContextScope&&) = delete; + + void stringify(std::ostream* s) const override { lambda_(s); } + + ~ContextScope() override { + if (need_to_destroy) { + destroy(); + } + } + }; + + struct DOCTEST_INTERFACE MessageBuilder : public MessageData + { + std::ostream* m_stream; + bool logged = false; + + MessageBuilder(const char* file, int line, assertType::Enum severity); + + MessageBuilder(const MessageBuilder&) = delete; + MessageBuilder(MessageBuilder&&) = delete; + + MessageBuilder& operator=(const MessageBuilder&) = delete; + MessageBuilder& operator=(MessageBuilder&&) = delete; + + ~MessageBuilder(); + + // the preferred way of chaining parameters for stringification +DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(4866) + template + MessageBuilder& operator,(const T& in) { + *m_stream << (DOCTEST_STRINGIFY(in)); + return *this; + } +DOCTEST_MSVC_SUPPRESS_WARNING_POP + + // kept here just for backwards-compatibility - the comma operator should be preferred now + template + MessageBuilder& operator<<(const T& in) { return this->operator,(in); } + + // the `,` operator has the lowest operator precedence - if `<<` is used by the user then + // the `,` operator will be called last which is not what we want and thus the `*` operator + // is used first (has higher operator precedence compared to `<<`) so that we guarantee that + // an operator of the MessageBuilder class is called first before the rest of the parameters + template + MessageBuilder& operator*(const T& in) { return this->operator,(in); } + + bool log(); + void react(); + }; + + template + ContextScope MakeContextScope(const L &lambda) { + return ContextScope(lambda); + } +} // namespace detail + +#define DOCTEST_DEFINE_DECORATOR(name, type, def) \ + struct name \ + { \ + type data; \ + name(type in = def) \ + : data(in) {} \ + void fill(detail::TestCase& state) const { state.DOCTEST_CAT(m_, name) = data; } \ + void fill(detail::TestSuite& state) const { state.DOCTEST_CAT(m_, name) = data; } \ + } + +DOCTEST_DEFINE_DECORATOR(test_suite, const char*, ""); +DOCTEST_DEFINE_DECORATOR(description, const char*, ""); +DOCTEST_DEFINE_DECORATOR(skip, bool, true); +DOCTEST_DEFINE_DECORATOR(no_breaks, bool, true); +DOCTEST_DEFINE_DECORATOR(no_output, bool, true); +DOCTEST_DEFINE_DECORATOR(timeout, double, 0); +DOCTEST_DEFINE_DECORATOR(may_fail, bool, true); +DOCTEST_DEFINE_DECORATOR(should_fail, bool, true); +DOCTEST_DEFINE_DECORATOR(expected_failures, int, 0); + +template +int registerExceptionTranslator(String (*translateFunction)(T)) { + DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Wexit-time-destructors") + static detail::ExceptionTranslator exceptionTranslator(translateFunction); + DOCTEST_CLANG_SUPPRESS_WARNING_POP + detail::registerExceptionTranslatorImpl(&exceptionTranslator); + return 0; +} + +} // namespace doctest + +// in a separate namespace outside of doctest because the DOCTEST_TEST_SUITE macro +// introduces an anonymous namespace in which getCurrentTestSuite gets overridden +namespace doctest_detail_test_suite_ns { +DOCTEST_INTERFACE doctest::detail::TestSuite& getCurrentTestSuite(); +} // namespace doctest_detail_test_suite_ns + +namespace doctest { +#else // DOCTEST_CONFIG_DISABLE +template +int registerExceptionTranslator(String (*)(T)) { + return 0; +} +#endif // DOCTEST_CONFIG_DISABLE + +namespace detail { + using assert_handler = void (*)(const AssertData&); + struct ContextState; +} // namespace detail + +class DOCTEST_INTERFACE Context +{ + detail::ContextState* p; + + void parseArgs(int argc, const char* const* argv, bool withDefaults = false); + +public: + explicit Context(int argc = 0, const char* const* argv = nullptr); + + Context(const Context&) = delete; + Context(Context&&) = delete; + + Context& operator=(const Context&) = delete; + Context& operator=(Context&&) = delete; + + ~Context(); // NOLINT(performance-trivially-destructible) + + void applyCommandLine(int argc, const char* const* argv); + + void addFilter(const char* filter, const char* value); + void clearFilters(); + void setOption(const char* option, bool value); + void setOption(const char* option, int value); + void setOption(const char* option, const char* value); + + bool shouldExit(); + + void setAsDefaultForAssertsOutOfTestCases(); + + void setAssertHandler(detail::assert_handler ah); + + void setCout(std::ostream* out); + + int run(); +}; + +namespace TestCaseFailureReason { + enum Enum + { + None = 0, + AssertFailure = 1, // an assertion has failed in the test case + Exception = 2, // test case threw an exception + Crash = 4, // a crash... + TooManyFailedAsserts = 8, // the abort-after option + Timeout = 16, // see the timeout decorator + ShouldHaveFailedButDidnt = 32, // see the should_fail decorator + ShouldHaveFailedAndDid = 64, // see the should_fail decorator + DidntFailExactlyNumTimes = 128, // see the expected_failures decorator + FailedExactlyNumTimes = 256, // see the expected_failures decorator + CouldHaveFailedAndDid = 512 // see the may_fail decorator + }; +} // namespace TestCaseFailureReason + +struct DOCTEST_INTERFACE CurrentTestCaseStats +{ + int numAssertsCurrentTest; + int numAssertsFailedCurrentTest; + double seconds; + int failure_flags; // use TestCaseFailureReason::Enum + bool testCaseSuccess; +}; + +struct DOCTEST_INTERFACE TestCaseException +{ + String error_string; + bool is_crash; +}; + +struct DOCTEST_INTERFACE TestRunStats +{ + unsigned numTestCases; + unsigned numTestCasesPassingFilters; + unsigned numTestSuitesPassingFilters; + unsigned numTestCasesFailed; + int numAsserts; + int numAssertsFailed; +}; + +struct QueryData +{ + const TestRunStats* run_stats = nullptr; + const TestCaseData** data = nullptr; + unsigned num_data = 0; +}; + +struct DOCTEST_INTERFACE IReporter +{ + // The constructor has to accept "const ContextOptions&" as a single argument + // which has most of the options for the run + a pointer to the stdout stream + // Reporter(const ContextOptions& in) + + // called when a query should be reported (listing test cases, printing the version, etc.) + virtual void report_query(const QueryData&) = 0; + + // called when the whole test run starts + virtual void test_run_start() = 0; + // called when the whole test run ends (caching a pointer to the input doesn't make sense here) + virtual void test_run_end(const TestRunStats&) = 0; + + // called when a test case is started (safe to cache a pointer to the input) + virtual void test_case_start(const TestCaseData&) = 0; + // called when a test case is reentered because of unfinished subcases (safe to cache a pointer to the input) + virtual void test_case_reenter(const TestCaseData&) = 0; + // called when a test case has ended + virtual void test_case_end(const CurrentTestCaseStats&) = 0; + + // called when an exception is thrown from the test case (or it crashes) + virtual void test_case_exception(const TestCaseException&) = 0; + + // called whenever a subcase is entered (don't cache pointers to the input) + virtual void subcase_start(const SubcaseSignature&) = 0; + // called whenever a subcase is exited (don't cache pointers to the input) + virtual void subcase_end() = 0; + + // called for each assert (don't cache pointers to the input) + virtual void log_assert(const AssertData&) = 0; + // called for each message (don't cache pointers to the input) + virtual void log_message(const MessageData&) = 0; + + // called when a test case is skipped either because it doesn't pass the filters, has a skip decorator + // or isn't in the execution range (between first and last) (safe to cache a pointer to the input) + virtual void test_case_skipped(const TestCaseData&) = 0; + + DOCTEST_DECLARE_INTERFACE(IReporter) + + // can obtain all currently active contexts and stringify them if one wishes to do so + static int get_num_active_contexts(); + static const IContextScope* const* get_active_contexts(); + + // can iterate through contexts which have been stringified automatically in their destructors when an exception has been thrown + static int get_num_stringified_contexts(); + static const String* get_stringified_contexts(); +}; + +namespace detail { + using reporterCreatorFunc = IReporter* (*)(const ContextOptions&); + + DOCTEST_INTERFACE void registerReporterImpl(const char* name, int prio, reporterCreatorFunc c, bool isReporter); + + template + IReporter* reporterCreator(const ContextOptions& o) { + return new Reporter(o); + } +} // namespace detail + +template +int registerReporter(const char* name, int priority, bool isReporter) { + detail::registerReporterImpl(name, priority, detail::reporterCreator, isReporter); + return 0; +} +} // namespace doctest + +#ifdef DOCTEST_CONFIG_ASSERTS_RETURN_VALUES +#define DOCTEST_FUNC_EMPTY [] { return false; }() +#else +#define DOCTEST_FUNC_EMPTY (void)0 +#endif + +// if registering is not disabled +#ifndef DOCTEST_CONFIG_DISABLE + +#ifdef DOCTEST_CONFIG_ASSERTS_RETURN_VALUES +#define DOCTEST_FUNC_SCOPE_BEGIN [&] +#define DOCTEST_FUNC_SCOPE_END () +#define DOCTEST_FUNC_SCOPE_RET(v) return v +#else +#define DOCTEST_FUNC_SCOPE_BEGIN do +#define DOCTEST_FUNC_SCOPE_END while(false) +#define DOCTEST_FUNC_SCOPE_RET(v) (void)0 +#endif + +// common code in asserts - for convenience +#define DOCTEST_ASSERT_LOG_REACT_RETURN(b) \ + if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER(); \ + b.react(); \ + DOCTEST_FUNC_SCOPE_RET(!b.m_failed) + +#ifdef DOCTEST_CONFIG_NO_TRY_CATCH_IN_ASSERTS +#define DOCTEST_WRAP_IN_TRY(x) x; +#else // DOCTEST_CONFIG_NO_TRY_CATCH_IN_ASSERTS +#define DOCTEST_WRAP_IN_TRY(x) \ + try { \ + x; \ + } catch(...) { DOCTEST_RB.translateException(); } +#endif // DOCTEST_CONFIG_NO_TRY_CATCH_IN_ASSERTS + +#ifdef DOCTEST_CONFIG_VOID_CAST_EXPRESSIONS +#define DOCTEST_CAST_TO_VOID(...) \ + DOCTEST_GCC_SUPPRESS_WARNING_WITH_PUSH("-Wuseless-cast") \ + static_cast(__VA_ARGS__); \ + DOCTEST_GCC_SUPPRESS_WARNING_POP +#else // DOCTEST_CONFIG_VOID_CAST_EXPRESSIONS +#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__; +#endif // DOCTEST_CONFIG_VOID_CAST_EXPRESSIONS + +// registers the test by initializing a dummy var with a function +#define DOCTEST_REGISTER_FUNCTION(global_prefix, f, decorators) \ + global_prefix DOCTEST_GLOBAL_NO_WARNINGS(DOCTEST_ANONYMOUS(DOCTEST_ANON_VAR_), /* NOLINT */ \ + doctest::detail::regTest( \ + doctest::detail::TestCase( \ + f, __FILE__, __LINE__, \ + doctest_detail_test_suite_ns::getCurrentTestSuite()) * \ + decorators)) + +#define DOCTEST_IMPLEMENT_FIXTURE(der, base, func, decorators) \ + namespace { /* NOLINT */ \ + struct der : public base \ + { \ + void f(); \ + }; \ + static DOCTEST_INLINE_NOINLINE void func() { \ + der v; \ + v.f(); \ + } \ + DOCTEST_REGISTER_FUNCTION(DOCTEST_EMPTY, func, decorators) \ + } \ + DOCTEST_INLINE_NOINLINE void der::f() // NOLINT(misc-definitions-in-headers) + +#define DOCTEST_CREATE_AND_REGISTER_FUNCTION(f, decorators) \ + static void f(); \ + DOCTEST_REGISTER_FUNCTION(DOCTEST_EMPTY, f, decorators) \ + static void f() + +#define DOCTEST_CREATE_AND_REGISTER_FUNCTION_IN_CLASS(f, proxy, decorators) \ + static doctest::detail::funcType proxy() { return f; } \ + DOCTEST_REGISTER_FUNCTION(inline, proxy(), decorators) \ + static void f() + +// for registering tests +#define DOCTEST_TEST_CASE(decorators) \ + DOCTEST_CREATE_AND_REGISTER_FUNCTION(DOCTEST_ANONYMOUS(DOCTEST_ANON_FUNC_), decorators) + +// for registering tests in classes - requires C++17 for inline variables! +#if DOCTEST_CPLUSPLUS >= 201703L +#define DOCTEST_TEST_CASE_CLASS(decorators) \ + DOCTEST_CREATE_AND_REGISTER_FUNCTION_IN_CLASS(DOCTEST_ANONYMOUS(DOCTEST_ANON_FUNC_), \ + DOCTEST_ANONYMOUS(DOCTEST_ANON_PROXY_), \ + decorators) +#else // DOCTEST_TEST_CASE_CLASS +#define DOCTEST_TEST_CASE_CLASS(...) \ + TEST_CASES_CAN_BE_REGISTERED_IN_CLASSES_ONLY_IN_CPP17_MODE_OR_WITH_VS_2017_OR_NEWER +#endif // DOCTEST_TEST_CASE_CLASS + +// for registering tests with a fixture +#define DOCTEST_TEST_CASE_FIXTURE(c, decorators) \ + DOCTEST_IMPLEMENT_FIXTURE(DOCTEST_ANONYMOUS(DOCTEST_ANON_CLASS_), c, \ + DOCTEST_ANONYMOUS(DOCTEST_ANON_FUNC_), decorators) + +// for converting types to strings without the header and demangling +#define DOCTEST_TYPE_TO_STRING_AS(str, ...) \ + namespace doctest { \ + template <> \ + inline String toString<__VA_ARGS__>() { \ + return str; \ + } \ + } \ + static_assert(true, "") + +#define DOCTEST_TYPE_TO_STRING(...) DOCTEST_TYPE_TO_STRING_AS(#__VA_ARGS__, __VA_ARGS__) + +#define DOCTEST_TEST_CASE_TEMPLATE_DEFINE_IMPL(dec, T, iter, func) \ + template \ + static void func(); \ + namespace { /* NOLINT */ \ + template \ + struct iter; \ + template \ + struct iter> \ + { \ + iter(const char* file, unsigned line, int index) { \ + doctest::detail::regTest(doctest::detail::TestCase(func, file, line, \ + doctest_detail_test_suite_ns::getCurrentTestSuite(), \ + doctest::toString(), \ + int(line) * 1000 + index) \ + * dec); \ + iter>(file, line, index + 1); \ + } \ + }; \ + template <> \ + struct iter> \ + { \ + iter(const char*, unsigned, int) {} \ + }; \ + } \ + template \ + static void func() + +#define DOCTEST_TEST_CASE_TEMPLATE_DEFINE(dec, T, id) \ + DOCTEST_TEST_CASE_TEMPLATE_DEFINE_IMPL(dec, T, DOCTEST_CAT(id, ITERATOR), \ + DOCTEST_ANONYMOUS(DOCTEST_ANON_TMP_)) + +#define DOCTEST_TEST_CASE_TEMPLATE_INSTANTIATE_IMPL(id, anon, ...) \ + DOCTEST_GLOBAL_NO_WARNINGS(DOCTEST_CAT(anon, DUMMY), /* NOLINT(cert-err58-cpp, fuchsia-statically-constructed-objects) */ \ + doctest::detail::instantiationHelper( \ + DOCTEST_CAT(id, ITERATOR)<__VA_ARGS__>(__FILE__, __LINE__, 0))) + +#define DOCTEST_TEST_CASE_TEMPLATE_INVOKE(id, ...) \ + DOCTEST_TEST_CASE_TEMPLATE_INSTANTIATE_IMPL(id, DOCTEST_ANONYMOUS(DOCTEST_ANON_TMP_), std::tuple<__VA_ARGS__>) \ + static_assert(true, "") + +#define DOCTEST_TEST_CASE_TEMPLATE_APPLY(id, ...) \ + DOCTEST_TEST_CASE_TEMPLATE_INSTANTIATE_IMPL(id, DOCTEST_ANONYMOUS(DOCTEST_ANON_TMP_), __VA_ARGS__) \ + static_assert(true, "") + +#define DOCTEST_TEST_CASE_TEMPLATE_IMPL(dec, T, anon, ...) \ + DOCTEST_TEST_CASE_TEMPLATE_DEFINE_IMPL(dec, T, DOCTEST_CAT(anon, ITERATOR), anon); \ + DOCTEST_TEST_CASE_TEMPLATE_INSTANTIATE_IMPL(anon, anon, std::tuple<__VA_ARGS__>) \ + template \ + static void anon() + +#define DOCTEST_TEST_CASE_TEMPLATE(dec, T, ...) \ + DOCTEST_TEST_CASE_TEMPLATE_IMPL(dec, T, DOCTEST_ANONYMOUS(DOCTEST_ANON_TMP_), __VA_ARGS__) + +// for subcases +#define DOCTEST_SUBCASE(name) \ + if(const doctest::detail::Subcase & DOCTEST_ANONYMOUS(DOCTEST_ANON_SUBCASE_) DOCTEST_UNUSED = \ + doctest::detail::Subcase(name, __FILE__, __LINE__)) + +// for grouping tests in test suites by using code blocks +#define DOCTEST_TEST_SUITE_IMPL(decorators, ns_name) \ + namespace ns_name { namespace doctest_detail_test_suite_ns { \ + static DOCTEST_NOINLINE doctest::detail::TestSuite& getCurrentTestSuite() noexcept { \ + DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(4640) \ + DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Wexit-time-destructors") \ + DOCTEST_GCC_SUPPRESS_WARNING_WITH_PUSH("-Wmissing-field-initializers") \ + static doctest::detail::TestSuite data{}; \ + static bool inited = false; \ + DOCTEST_MSVC_SUPPRESS_WARNING_POP \ + DOCTEST_CLANG_SUPPRESS_WARNING_POP \ + DOCTEST_GCC_SUPPRESS_WARNING_POP \ + if(!inited) { \ + data* decorators; \ + inited = true; \ + } \ + return data; \ + } \ + } \ + } \ + namespace ns_name + +#define DOCTEST_TEST_SUITE(decorators) \ + DOCTEST_TEST_SUITE_IMPL(decorators, DOCTEST_ANONYMOUS(DOCTEST_ANON_SUITE_)) + +// for starting a testsuite block +#define DOCTEST_TEST_SUITE_BEGIN(decorators) \ + DOCTEST_GLOBAL_NO_WARNINGS(DOCTEST_ANONYMOUS(DOCTEST_ANON_VAR_), /* NOLINT(cert-err58-cpp) */ \ + doctest::detail::setTestSuite(doctest::detail::TestSuite() * decorators)) \ + static_assert(true, "") + +// for ending a testsuite block +#define DOCTEST_TEST_SUITE_END \ + DOCTEST_GLOBAL_NO_WARNINGS(DOCTEST_ANONYMOUS(DOCTEST_ANON_VAR_), /* NOLINT(cert-err58-cpp) */ \ + doctest::detail::setTestSuite(doctest::detail::TestSuite() * "")) \ + using DOCTEST_ANONYMOUS(DOCTEST_ANON_FOR_SEMICOLON_) = int + +// for registering exception translators +#define DOCTEST_REGISTER_EXCEPTION_TRANSLATOR_IMPL(translatorName, signature) \ + inline doctest::String translatorName(signature); \ + DOCTEST_GLOBAL_NO_WARNINGS(DOCTEST_ANONYMOUS(DOCTEST_ANON_TRANSLATOR_), /* NOLINT(cert-err58-cpp) */ \ + doctest::registerExceptionTranslator(translatorName)) \ + doctest::String translatorName(signature) + +#define DOCTEST_REGISTER_EXCEPTION_TRANSLATOR(signature) \ + DOCTEST_REGISTER_EXCEPTION_TRANSLATOR_IMPL(DOCTEST_ANONYMOUS(DOCTEST_ANON_TRANSLATOR_), \ + signature) + +// for registering reporters +#define DOCTEST_REGISTER_REPORTER(name, priority, reporter) \ + DOCTEST_GLOBAL_NO_WARNINGS(DOCTEST_ANONYMOUS(DOCTEST_ANON_REPORTER_), /* NOLINT(cert-err58-cpp) */ \ + doctest::registerReporter(name, priority, true)) \ + static_assert(true, "") + +// for registering listeners +#define DOCTEST_REGISTER_LISTENER(name, priority, reporter) \ + DOCTEST_GLOBAL_NO_WARNINGS(DOCTEST_ANONYMOUS(DOCTEST_ANON_REPORTER_), /* NOLINT(cert-err58-cpp) */ \ + doctest::registerReporter(name, priority, false)) \ + static_assert(true, "") + +// clang-format off +// for logging - disabling formatting because it's important to have these on 2 separate lines - see PR #557 +#define DOCTEST_INFO(...) \ + DOCTEST_INFO_IMPL(DOCTEST_ANONYMOUS(DOCTEST_CAPTURE_), \ + DOCTEST_ANONYMOUS(DOCTEST_CAPTURE_OTHER_), \ + __VA_ARGS__) +// clang-format on + +#define DOCTEST_INFO_IMPL(mb_name, s_name, ...) \ + auto DOCTEST_ANONYMOUS(DOCTEST_CAPTURE_) = doctest::detail::MakeContextScope( \ + [&](std::ostream* s_name) { \ + doctest::detail::MessageBuilder mb_name(__FILE__, __LINE__, doctest::assertType::is_warn); \ + mb_name.m_stream = s_name; \ + mb_name * __VA_ARGS__; \ + }) + +#define DOCTEST_CAPTURE(x) DOCTEST_INFO(#x " := ", x) + +#define DOCTEST_ADD_AT_IMPL(type, file, line, mb, ...) \ + DOCTEST_FUNC_SCOPE_BEGIN { \ + doctest::detail::MessageBuilder mb(file, line, doctest::assertType::type); \ + mb * __VA_ARGS__; \ + if(mb.log()) \ + DOCTEST_BREAK_INTO_DEBUGGER(); \ + mb.react(); \ + } DOCTEST_FUNC_SCOPE_END + +// clang-format off +#define DOCTEST_ADD_MESSAGE_AT(file, line, ...) DOCTEST_ADD_AT_IMPL(is_warn, file, line, DOCTEST_ANONYMOUS(DOCTEST_MESSAGE_), __VA_ARGS__) +#define DOCTEST_ADD_FAIL_CHECK_AT(file, line, ...) DOCTEST_ADD_AT_IMPL(is_check, file, line, DOCTEST_ANONYMOUS(DOCTEST_MESSAGE_), __VA_ARGS__) +#define DOCTEST_ADD_FAIL_AT(file, line, ...) DOCTEST_ADD_AT_IMPL(is_require, file, line, DOCTEST_ANONYMOUS(DOCTEST_MESSAGE_), __VA_ARGS__) +// clang-format on + +#define DOCTEST_MESSAGE(...) DOCTEST_ADD_MESSAGE_AT(__FILE__, __LINE__, __VA_ARGS__) +#define DOCTEST_FAIL_CHECK(...) DOCTEST_ADD_FAIL_CHECK_AT(__FILE__, __LINE__, __VA_ARGS__) +#define DOCTEST_FAIL(...) DOCTEST_ADD_FAIL_AT(__FILE__, __LINE__, __VA_ARGS__) + +#define DOCTEST_TO_LVALUE(...) __VA_ARGS__ // Not removed to keep backwards compatibility. + +#ifndef DOCTEST_CONFIG_SUPER_FAST_ASSERTS + +#define DOCTEST_ASSERT_IMPLEMENT_2(assert_type, ...) \ + DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses") \ + /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */ \ + doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__, \ + __LINE__, #__VA_ARGS__); \ + DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult( \ + doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type) \ + << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */ \ + DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB) \ + DOCTEST_CLANG_SUPPRESS_WARNING_POP + +#define DOCTEST_ASSERT_IMPLEMENT_1(assert_type, ...) \ + DOCTEST_FUNC_SCOPE_BEGIN { \ + DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__); \ + } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks) + +#define DOCTEST_BINARY_ASSERT(assert_type, comp, ...) \ + DOCTEST_FUNC_SCOPE_BEGIN { \ + doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__, \ + __LINE__, #__VA_ARGS__); \ + DOCTEST_WRAP_IN_TRY( \ + DOCTEST_RB.binary_assert( \ + __VA_ARGS__)) \ + DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB); \ + } DOCTEST_FUNC_SCOPE_END + +#define DOCTEST_UNARY_ASSERT(assert_type, ...) \ + DOCTEST_FUNC_SCOPE_BEGIN { \ + doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__, \ + __LINE__, #__VA_ARGS__); \ + DOCTEST_WRAP_IN_TRY(DOCTEST_RB.unary_assert(__VA_ARGS__)) \ + DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB); \ + } DOCTEST_FUNC_SCOPE_END + +#else // DOCTEST_CONFIG_SUPER_FAST_ASSERTS + +// necessary for _MESSAGE +#define DOCTEST_ASSERT_IMPLEMENT_2 DOCTEST_ASSERT_IMPLEMENT_1 + +#define DOCTEST_ASSERT_IMPLEMENT_1(assert_type, ...) \ + DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses") \ + doctest::detail::decomp_assert( \ + doctest::assertType::assert_type, __FILE__, __LINE__, #__VA_ARGS__, \ + doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type) \ + << __VA_ARGS__) DOCTEST_CLANG_SUPPRESS_WARNING_POP + +#define DOCTEST_BINARY_ASSERT(assert_type, comparison, ...) \ + doctest::detail::binary_assert( \ + doctest::assertType::assert_type, __FILE__, __LINE__, #__VA_ARGS__, __VA_ARGS__) + +#define DOCTEST_UNARY_ASSERT(assert_type, ...) \ + doctest::detail::unary_assert(doctest::assertType::assert_type, __FILE__, __LINE__, \ + #__VA_ARGS__, __VA_ARGS__) + +#endif // DOCTEST_CONFIG_SUPER_FAST_ASSERTS + +#define DOCTEST_WARN(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_WARN, __VA_ARGS__) +#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__) +#define DOCTEST_REQUIRE(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_REQUIRE, __VA_ARGS__) +#define DOCTEST_WARN_FALSE(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_WARN_FALSE, __VA_ARGS__) +#define DOCTEST_CHECK_FALSE(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK_FALSE, __VA_ARGS__) +#define DOCTEST_REQUIRE_FALSE(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_REQUIRE_FALSE, __VA_ARGS__) + +// clang-format off +#define DOCTEST_WARN_MESSAGE(cond, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_ASSERT_IMPLEMENT_2(DT_WARN, cond); } DOCTEST_FUNC_SCOPE_END +#define DOCTEST_CHECK_MESSAGE(cond, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_ASSERT_IMPLEMENT_2(DT_CHECK, cond); } DOCTEST_FUNC_SCOPE_END +#define DOCTEST_REQUIRE_MESSAGE(cond, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_ASSERT_IMPLEMENT_2(DT_REQUIRE, cond); } DOCTEST_FUNC_SCOPE_END +#define DOCTEST_WARN_FALSE_MESSAGE(cond, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_ASSERT_IMPLEMENT_2(DT_WARN_FALSE, cond); } DOCTEST_FUNC_SCOPE_END +#define DOCTEST_CHECK_FALSE_MESSAGE(cond, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_ASSERT_IMPLEMENT_2(DT_CHECK_FALSE, cond); } DOCTEST_FUNC_SCOPE_END +#define DOCTEST_REQUIRE_FALSE_MESSAGE(cond, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_ASSERT_IMPLEMENT_2(DT_REQUIRE_FALSE, cond); } DOCTEST_FUNC_SCOPE_END +// clang-format on + +#define DOCTEST_WARN_EQ(...) DOCTEST_BINARY_ASSERT(DT_WARN_EQ, eq, __VA_ARGS__) +#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__) +#define DOCTEST_REQUIRE_EQ(...) DOCTEST_BINARY_ASSERT(DT_REQUIRE_EQ, eq, __VA_ARGS__) +#define DOCTEST_WARN_NE(...) DOCTEST_BINARY_ASSERT(DT_WARN_NE, ne, __VA_ARGS__) +#define DOCTEST_CHECK_NE(...) DOCTEST_BINARY_ASSERT(DT_CHECK_NE, ne, __VA_ARGS__) +#define DOCTEST_REQUIRE_NE(...) DOCTEST_BINARY_ASSERT(DT_REQUIRE_NE, ne, __VA_ARGS__) +#define DOCTEST_WARN_GT(...) DOCTEST_BINARY_ASSERT(DT_WARN_GT, gt, __VA_ARGS__) +#define DOCTEST_CHECK_GT(...) DOCTEST_BINARY_ASSERT(DT_CHECK_GT, gt, __VA_ARGS__) +#define DOCTEST_REQUIRE_GT(...) DOCTEST_BINARY_ASSERT(DT_REQUIRE_GT, gt, __VA_ARGS__) +#define DOCTEST_WARN_LT(...) DOCTEST_BINARY_ASSERT(DT_WARN_LT, lt, __VA_ARGS__) +#define DOCTEST_CHECK_LT(...) DOCTEST_BINARY_ASSERT(DT_CHECK_LT, lt, __VA_ARGS__) +#define DOCTEST_REQUIRE_LT(...) DOCTEST_BINARY_ASSERT(DT_REQUIRE_LT, lt, __VA_ARGS__) +#define DOCTEST_WARN_GE(...) DOCTEST_BINARY_ASSERT(DT_WARN_GE, ge, __VA_ARGS__) +#define DOCTEST_CHECK_GE(...) DOCTEST_BINARY_ASSERT(DT_CHECK_GE, ge, __VA_ARGS__) +#define DOCTEST_REQUIRE_GE(...) DOCTEST_BINARY_ASSERT(DT_REQUIRE_GE, ge, __VA_ARGS__) +#define DOCTEST_WARN_LE(...) DOCTEST_BINARY_ASSERT(DT_WARN_LE, le, __VA_ARGS__) +#define DOCTEST_CHECK_LE(...) DOCTEST_BINARY_ASSERT(DT_CHECK_LE, le, __VA_ARGS__) +#define DOCTEST_REQUIRE_LE(...) DOCTEST_BINARY_ASSERT(DT_REQUIRE_LE, le, __VA_ARGS__) + +#define DOCTEST_WARN_UNARY(...) DOCTEST_UNARY_ASSERT(DT_WARN_UNARY, __VA_ARGS__) +#define DOCTEST_CHECK_UNARY(...) DOCTEST_UNARY_ASSERT(DT_CHECK_UNARY, __VA_ARGS__) +#define DOCTEST_REQUIRE_UNARY(...) DOCTEST_UNARY_ASSERT(DT_REQUIRE_UNARY, __VA_ARGS__) +#define DOCTEST_WARN_UNARY_FALSE(...) DOCTEST_UNARY_ASSERT(DT_WARN_UNARY_FALSE, __VA_ARGS__) +#define DOCTEST_CHECK_UNARY_FALSE(...) DOCTEST_UNARY_ASSERT(DT_CHECK_UNARY_FALSE, __VA_ARGS__) +#define DOCTEST_REQUIRE_UNARY_FALSE(...) DOCTEST_UNARY_ASSERT(DT_REQUIRE_UNARY_FALSE, __VA_ARGS__) + +#ifndef DOCTEST_CONFIG_NO_EXCEPTIONS + +#define DOCTEST_ASSERT_THROWS_AS(expr, assert_type, message, ...) \ + DOCTEST_FUNC_SCOPE_BEGIN { \ + if(!doctest::getContextOptions()->no_throw) { \ + doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__, \ + __LINE__, #expr, #__VA_ARGS__, message); \ + try { \ + DOCTEST_CAST_TO_VOID(expr) \ + } catch(const typename doctest::detail::types::remove_const< \ + typename doctest::detail::types::remove_reference<__VA_ARGS__>::type>::type&) {\ + DOCTEST_RB.translateException(); \ + DOCTEST_RB.m_threw_as = true; \ + } catch(...) { DOCTEST_RB.translateException(); } \ + DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB); \ + } else { /* NOLINT(*-else-after-return) */ \ + DOCTEST_FUNC_SCOPE_RET(false); \ + } \ + } DOCTEST_FUNC_SCOPE_END + +#define DOCTEST_ASSERT_THROWS_WITH(expr, expr_str, assert_type, ...) \ + DOCTEST_FUNC_SCOPE_BEGIN { \ + if(!doctest::getContextOptions()->no_throw) { \ + doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__, \ + __LINE__, expr_str, "", __VA_ARGS__); \ + try { \ + DOCTEST_CAST_TO_VOID(expr) \ + } catch(...) { DOCTEST_RB.translateException(); } \ + DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB); \ + } else { /* NOLINT(*-else-after-return) */ \ + DOCTEST_FUNC_SCOPE_RET(false); \ + } \ + } DOCTEST_FUNC_SCOPE_END + +#define DOCTEST_ASSERT_NOTHROW(assert_type, ...) \ + DOCTEST_FUNC_SCOPE_BEGIN { \ + doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__, \ + __LINE__, #__VA_ARGS__); \ + try { \ + DOCTEST_CAST_TO_VOID(__VA_ARGS__) \ + } catch(...) { DOCTEST_RB.translateException(); } \ + DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB); \ + } DOCTEST_FUNC_SCOPE_END + +// clang-format off +#define DOCTEST_WARN_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_WARN_THROWS, "") +#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "") +#define DOCTEST_REQUIRE_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_REQUIRE_THROWS, "") + +#define DOCTEST_WARN_THROWS_AS(expr, ...) DOCTEST_ASSERT_THROWS_AS(expr, DT_WARN_THROWS_AS, "", __VA_ARGS__) +#define DOCTEST_CHECK_THROWS_AS(expr, ...) DOCTEST_ASSERT_THROWS_AS(expr, DT_CHECK_THROWS_AS, "", __VA_ARGS__) +#define DOCTEST_REQUIRE_THROWS_AS(expr, ...) DOCTEST_ASSERT_THROWS_AS(expr, DT_REQUIRE_THROWS_AS, "", __VA_ARGS__) + +#define DOCTEST_WARN_THROWS_WITH(expr, ...) DOCTEST_ASSERT_THROWS_WITH(expr, #expr, DT_WARN_THROWS_WITH, __VA_ARGS__) +#define DOCTEST_CHECK_THROWS_WITH(expr, ...) DOCTEST_ASSERT_THROWS_WITH(expr, #expr, DT_CHECK_THROWS_WITH, __VA_ARGS__) +#define DOCTEST_REQUIRE_THROWS_WITH(expr, ...) DOCTEST_ASSERT_THROWS_WITH(expr, #expr, DT_REQUIRE_THROWS_WITH, __VA_ARGS__) + +#define DOCTEST_WARN_THROWS_WITH_AS(expr, message, ...) DOCTEST_ASSERT_THROWS_AS(expr, DT_WARN_THROWS_WITH_AS, message, __VA_ARGS__) +#define DOCTEST_CHECK_THROWS_WITH_AS(expr, message, ...) DOCTEST_ASSERT_THROWS_AS(expr, DT_CHECK_THROWS_WITH_AS, message, __VA_ARGS__) +#define DOCTEST_REQUIRE_THROWS_WITH_AS(expr, message, ...) DOCTEST_ASSERT_THROWS_AS(expr, DT_REQUIRE_THROWS_WITH_AS, message, __VA_ARGS__) + +#define DOCTEST_WARN_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_WARN_NOTHROW, __VA_ARGS__) +#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__) +#define DOCTEST_REQUIRE_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_REQUIRE_NOTHROW, __VA_ARGS__) + +#define DOCTEST_WARN_THROWS_MESSAGE(expr, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_WARN_THROWS(expr); } DOCTEST_FUNC_SCOPE_END +#define DOCTEST_CHECK_THROWS_MESSAGE(expr, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_CHECK_THROWS(expr); } DOCTEST_FUNC_SCOPE_END +#define DOCTEST_REQUIRE_THROWS_MESSAGE(expr, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_REQUIRE_THROWS(expr); } DOCTEST_FUNC_SCOPE_END +#define DOCTEST_WARN_THROWS_AS_MESSAGE(expr, ex, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_WARN_THROWS_AS(expr, ex); } DOCTEST_FUNC_SCOPE_END +#define DOCTEST_CHECK_THROWS_AS_MESSAGE(expr, ex, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_CHECK_THROWS_AS(expr, ex); } DOCTEST_FUNC_SCOPE_END +#define DOCTEST_REQUIRE_THROWS_AS_MESSAGE(expr, ex, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_REQUIRE_THROWS_AS(expr, ex); } DOCTEST_FUNC_SCOPE_END +#define DOCTEST_WARN_THROWS_WITH_MESSAGE(expr, with, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_WARN_THROWS_WITH(expr, with); } DOCTEST_FUNC_SCOPE_END +#define DOCTEST_CHECK_THROWS_WITH_MESSAGE(expr, with, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_CHECK_THROWS_WITH(expr, with); } DOCTEST_FUNC_SCOPE_END +#define DOCTEST_REQUIRE_THROWS_WITH_MESSAGE(expr, with, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_REQUIRE_THROWS_WITH(expr, with); } DOCTEST_FUNC_SCOPE_END +#define DOCTEST_WARN_THROWS_WITH_AS_MESSAGE(expr, with, ex, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_WARN_THROWS_WITH_AS(expr, with, ex); } DOCTEST_FUNC_SCOPE_END +#define DOCTEST_CHECK_THROWS_WITH_AS_MESSAGE(expr, with, ex, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_CHECK_THROWS_WITH_AS(expr, with, ex); } DOCTEST_FUNC_SCOPE_END +#define DOCTEST_REQUIRE_THROWS_WITH_AS_MESSAGE(expr, with, ex, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_REQUIRE_THROWS_WITH_AS(expr, with, ex); } DOCTEST_FUNC_SCOPE_END +#define DOCTEST_WARN_NOTHROW_MESSAGE(expr, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_WARN_NOTHROW(expr); } DOCTEST_FUNC_SCOPE_END +#define DOCTEST_CHECK_NOTHROW_MESSAGE(expr, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_CHECK_NOTHROW(expr); } DOCTEST_FUNC_SCOPE_END +#define DOCTEST_REQUIRE_NOTHROW_MESSAGE(expr, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_REQUIRE_NOTHROW(expr); } DOCTEST_FUNC_SCOPE_END +// clang-format on + +#endif // DOCTEST_CONFIG_NO_EXCEPTIONS + +// ================================================================================================= +// == WHAT FOLLOWS IS VERSIONS OF THE MACROS THAT DO NOT DO ANY REGISTERING! == +// == THIS CAN BE ENABLED BY DEFINING DOCTEST_CONFIG_DISABLE GLOBALLY! == +// ================================================================================================= +#else // DOCTEST_CONFIG_DISABLE + +#define DOCTEST_IMPLEMENT_FIXTURE(der, base, func, name) \ + namespace /* NOLINT */ { \ + template \ + struct der : public base \ + { void f(); }; \ + } \ + template \ + inline void der::f() + +#define DOCTEST_CREATE_AND_REGISTER_FUNCTION(f, name) \ + template \ + static inline void f() + +// for registering tests +#define DOCTEST_TEST_CASE(name) \ + DOCTEST_CREATE_AND_REGISTER_FUNCTION(DOCTEST_ANONYMOUS(DOCTEST_ANON_FUNC_), name) + +// for registering tests in classes +#define DOCTEST_TEST_CASE_CLASS(name) \ + DOCTEST_CREATE_AND_REGISTER_FUNCTION(DOCTEST_ANONYMOUS(DOCTEST_ANON_FUNC_), name) + +// for registering tests with a fixture +#define DOCTEST_TEST_CASE_FIXTURE(x, name) \ + DOCTEST_IMPLEMENT_FIXTURE(DOCTEST_ANONYMOUS(DOCTEST_ANON_CLASS_), x, \ + DOCTEST_ANONYMOUS(DOCTEST_ANON_FUNC_), name) + +// for converting types to strings without the header and demangling +#define DOCTEST_TYPE_TO_STRING_AS(str, ...) static_assert(true, "") +#define DOCTEST_TYPE_TO_STRING(...) static_assert(true, "") + +// for typed tests +#define DOCTEST_TEST_CASE_TEMPLATE(name, type, ...) \ + template \ + inline void DOCTEST_ANONYMOUS(DOCTEST_ANON_TMP_)() + +#define DOCTEST_TEST_CASE_TEMPLATE_DEFINE(name, type, id) \ + template \ + inline void DOCTEST_ANONYMOUS(DOCTEST_ANON_TMP_)() + +#define DOCTEST_TEST_CASE_TEMPLATE_INVOKE(id, ...) static_assert(true, "") +#define DOCTEST_TEST_CASE_TEMPLATE_APPLY(id, ...) static_assert(true, "") + +// for subcases +#define DOCTEST_SUBCASE(name) + +// for a testsuite block +#define DOCTEST_TEST_SUITE(name) namespace // NOLINT + +// for starting a testsuite block +#define DOCTEST_TEST_SUITE_BEGIN(name) static_assert(true, "") + +// for ending a testsuite block +#define DOCTEST_TEST_SUITE_END using DOCTEST_ANONYMOUS(DOCTEST_ANON_FOR_SEMICOLON_) = int + +#define DOCTEST_REGISTER_EXCEPTION_TRANSLATOR(signature) \ + template \ + static inline doctest::String DOCTEST_ANONYMOUS(DOCTEST_ANON_TRANSLATOR_)(signature) + +#define DOCTEST_REGISTER_REPORTER(name, priority, reporter) +#define DOCTEST_REGISTER_LISTENER(name, priority, reporter) + +#define DOCTEST_INFO(...) (static_cast(0)) +#define DOCTEST_CAPTURE(x) (static_cast(0)) +#define DOCTEST_ADD_MESSAGE_AT(file, line, ...) (static_cast(0)) +#define DOCTEST_ADD_FAIL_CHECK_AT(file, line, ...) (static_cast(0)) +#define DOCTEST_ADD_FAIL_AT(file, line, ...) (static_cast(0)) +#define DOCTEST_MESSAGE(...) (static_cast(0)) +#define DOCTEST_FAIL_CHECK(...) (static_cast(0)) +#define DOCTEST_FAIL(...) (static_cast(0)) + +#if defined(DOCTEST_CONFIG_EVALUATE_ASSERTS_EVEN_WHEN_DISABLED) \ + && defined(DOCTEST_CONFIG_ASSERTS_RETURN_VALUES) + +#define DOCTEST_WARN(...) [&] { return __VA_ARGS__; }() +#define DOCTEST_CHECK(...) [&] { return __VA_ARGS__; }() +#define DOCTEST_REQUIRE(...) [&] { return __VA_ARGS__; }() +#define DOCTEST_WARN_FALSE(...) [&] { return !(__VA_ARGS__); }() +#define DOCTEST_CHECK_FALSE(...) [&] { return !(__VA_ARGS__); }() +#define DOCTEST_REQUIRE_FALSE(...) [&] { return !(__VA_ARGS__); }() + +#define DOCTEST_WARN_MESSAGE(cond, ...) [&] { return cond; }() +#define DOCTEST_CHECK_MESSAGE(cond, ...) [&] { return cond; }() +#define DOCTEST_REQUIRE_MESSAGE(cond, ...) [&] { return cond; }() +#define DOCTEST_WARN_FALSE_MESSAGE(cond, ...) [&] { return !(cond); }() +#define DOCTEST_CHECK_FALSE_MESSAGE(cond, ...) [&] { return !(cond); }() +#define DOCTEST_REQUIRE_FALSE_MESSAGE(cond, ...) [&] { return !(cond); }() + +namespace doctest { +namespace detail { +#define DOCTEST_RELATIONAL_OP(name, op) \ + template \ + bool name(const DOCTEST_REF_WRAP(L) lhs, const DOCTEST_REF_WRAP(R) rhs) { return lhs op rhs; } + + DOCTEST_RELATIONAL_OP(eq, ==) + DOCTEST_RELATIONAL_OP(ne, !=) + DOCTEST_RELATIONAL_OP(lt, <) + DOCTEST_RELATIONAL_OP(gt, >) + DOCTEST_RELATIONAL_OP(le, <=) + DOCTEST_RELATIONAL_OP(ge, >=) +} // namespace detail +} // namespace doctest + +#define DOCTEST_WARN_EQ(...) [&] { return doctest::detail::eq(__VA_ARGS__); }() +#define DOCTEST_CHECK_EQ(...) [&] { return doctest::detail::eq(__VA_ARGS__); }() +#define DOCTEST_REQUIRE_EQ(...) [&] { return doctest::detail::eq(__VA_ARGS__); }() +#define DOCTEST_WARN_NE(...) [&] { return doctest::detail::ne(__VA_ARGS__); }() +#define DOCTEST_CHECK_NE(...) [&] { return doctest::detail::ne(__VA_ARGS__); }() +#define DOCTEST_REQUIRE_NE(...) [&] { return doctest::detail::ne(__VA_ARGS__); }() +#define DOCTEST_WARN_LT(...) [&] { return doctest::detail::lt(__VA_ARGS__); }() +#define DOCTEST_CHECK_LT(...) [&] { return doctest::detail::lt(__VA_ARGS__); }() +#define DOCTEST_REQUIRE_LT(...) [&] { return doctest::detail::lt(__VA_ARGS__); }() +#define DOCTEST_WARN_GT(...) [&] { return doctest::detail::gt(__VA_ARGS__); }() +#define DOCTEST_CHECK_GT(...) [&] { return doctest::detail::gt(__VA_ARGS__); }() +#define DOCTEST_REQUIRE_GT(...) [&] { return doctest::detail::gt(__VA_ARGS__); }() +#define DOCTEST_WARN_LE(...) [&] { return doctest::detail::le(__VA_ARGS__); }() +#define DOCTEST_CHECK_LE(...) [&] { return doctest::detail::le(__VA_ARGS__); }() +#define DOCTEST_REQUIRE_LE(...) [&] { return doctest::detail::le(__VA_ARGS__); }() +#define DOCTEST_WARN_GE(...) [&] { return doctest::detail::ge(__VA_ARGS__); }() +#define DOCTEST_CHECK_GE(...) [&] { return doctest::detail::ge(__VA_ARGS__); }() +#define DOCTEST_REQUIRE_GE(...) [&] { return doctest::detail::ge(__VA_ARGS__); }() +#define DOCTEST_WARN_UNARY(...) [&] { return __VA_ARGS__; }() +#define DOCTEST_CHECK_UNARY(...) [&] { return __VA_ARGS__; }() +#define DOCTEST_REQUIRE_UNARY(...) [&] { return __VA_ARGS__; }() +#define DOCTEST_WARN_UNARY_FALSE(...) [&] { return !(__VA_ARGS__); }() +#define DOCTEST_CHECK_UNARY_FALSE(...) [&] { return !(__VA_ARGS__); }() +#define DOCTEST_REQUIRE_UNARY_FALSE(...) [&] { return !(__VA_ARGS__); }() + +#ifndef DOCTEST_CONFIG_NO_EXCEPTIONS + +#define DOCTEST_WARN_THROWS_WITH(expr, with, ...) [] { static_assert(false, "Exception translation is not available when doctest is disabled."); return false; }() +#define DOCTEST_CHECK_THROWS_WITH(expr, with, ...) DOCTEST_WARN_THROWS_WITH(,,) +#define DOCTEST_REQUIRE_THROWS_WITH(expr, with, ...) DOCTEST_WARN_THROWS_WITH(,,) +#define DOCTEST_WARN_THROWS_WITH_AS(expr, with, ex, ...) DOCTEST_WARN_THROWS_WITH(,,) +#define DOCTEST_CHECK_THROWS_WITH_AS(expr, with, ex, ...) DOCTEST_WARN_THROWS_WITH(,,) +#define DOCTEST_REQUIRE_THROWS_WITH_AS(expr, with, ex, ...) DOCTEST_WARN_THROWS_WITH(,,) + +#define DOCTEST_WARN_THROWS_WITH_MESSAGE(expr, with, ...) DOCTEST_WARN_THROWS_WITH(,,) +#define DOCTEST_CHECK_THROWS_WITH_MESSAGE(expr, with, ...) DOCTEST_WARN_THROWS_WITH(,,) +#define DOCTEST_REQUIRE_THROWS_WITH_MESSAGE(expr, with, ...) DOCTEST_WARN_THROWS_WITH(,,) +#define DOCTEST_WARN_THROWS_WITH_AS_MESSAGE(expr, with, ex, ...) DOCTEST_WARN_THROWS_WITH(,,) +#define DOCTEST_CHECK_THROWS_WITH_AS_MESSAGE(expr, with, ex, ...) DOCTEST_WARN_THROWS_WITH(,,) +#define DOCTEST_REQUIRE_THROWS_WITH_AS_MESSAGE(expr, with, ex, ...) DOCTEST_WARN_THROWS_WITH(,,) + +#define DOCTEST_WARN_THROWS(...) [&] { try { __VA_ARGS__; return false; } catch (...) { return true; } }() +#define DOCTEST_CHECK_THROWS(...) [&] { try { __VA_ARGS__; return false; } catch (...) { return true; } }() +#define DOCTEST_REQUIRE_THROWS(...) [&] { try { __VA_ARGS__; return false; } catch (...) { return true; } }() +#define DOCTEST_WARN_THROWS_AS(expr, ...) [&] { try { expr; } catch (__VA_ARGS__) { return true; } catch (...) { } return false; }() +#define DOCTEST_CHECK_THROWS_AS(expr, ...) [&] { try { expr; } catch (__VA_ARGS__) { return true; } catch (...) { } return false; }() +#define DOCTEST_REQUIRE_THROWS_AS(expr, ...) [&] { try { expr; } catch (__VA_ARGS__) { return true; } catch (...) { } return false; }() +#define DOCTEST_WARN_NOTHROW(...) [&] { try { __VA_ARGS__; return true; } catch (...) { return false; } }() +#define DOCTEST_CHECK_NOTHROW(...) [&] { try { __VA_ARGS__; return true; } catch (...) { return false; } }() +#define DOCTEST_REQUIRE_NOTHROW(...) [&] { try { __VA_ARGS__; return true; } catch (...) { return false; } }() + +#define DOCTEST_WARN_THROWS_MESSAGE(expr, ...) [&] { try { __VA_ARGS__; return false; } catch (...) { return true; } }() +#define DOCTEST_CHECK_THROWS_MESSAGE(expr, ...) [&] { try { __VA_ARGS__; return false; } catch (...) { return true; } }() +#define DOCTEST_REQUIRE_THROWS_MESSAGE(expr, ...) [&] { try { __VA_ARGS__; return false; } catch (...) { return true; } }() +#define DOCTEST_WARN_THROWS_AS_MESSAGE(expr, ex, ...) [&] { try { expr; } catch (__VA_ARGS__) { return true; } catch (...) { } return false; }() +#define DOCTEST_CHECK_THROWS_AS_MESSAGE(expr, ex, ...) [&] { try { expr; } catch (__VA_ARGS__) { return true; } catch (...) { } return false; }() +#define DOCTEST_REQUIRE_THROWS_AS_MESSAGE(expr, ex, ...) [&] { try { expr; } catch (__VA_ARGS__) { return true; } catch (...) { } return false; }() +#define DOCTEST_WARN_NOTHROW_MESSAGE(expr, ...) [&] { try { __VA_ARGS__; return true; } catch (...) { return false; } }() +#define DOCTEST_CHECK_NOTHROW_MESSAGE(expr, ...) [&] { try { __VA_ARGS__; return true; } catch (...) { return false; } }() +#define DOCTEST_REQUIRE_NOTHROW_MESSAGE(expr, ...) [&] { try { __VA_ARGS__; return true; } catch (...) { return false; } }() + +#endif // DOCTEST_CONFIG_NO_EXCEPTIONS + +#else // DOCTEST_CONFIG_EVALUATE_ASSERTS_EVEN_WHEN_DISABLED + +#define DOCTEST_WARN(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_CHECK(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_REQUIRE(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_WARN_FALSE(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_CHECK_FALSE(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_REQUIRE_FALSE(...) DOCTEST_FUNC_EMPTY + +#define DOCTEST_WARN_MESSAGE(cond, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_CHECK_MESSAGE(cond, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_REQUIRE_MESSAGE(cond, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_WARN_FALSE_MESSAGE(cond, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_CHECK_FALSE_MESSAGE(cond, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_REQUIRE_FALSE_MESSAGE(cond, ...) DOCTEST_FUNC_EMPTY + +#define DOCTEST_WARN_EQ(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_CHECK_EQ(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_REQUIRE_EQ(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_WARN_NE(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_CHECK_NE(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_REQUIRE_NE(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_WARN_GT(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_CHECK_GT(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_REQUIRE_GT(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_WARN_LT(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_CHECK_LT(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_REQUIRE_LT(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_WARN_GE(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_CHECK_GE(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_REQUIRE_GE(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_WARN_LE(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_CHECK_LE(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_REQUIRE_LE(...) DOCTEST_FUNC_EMPTY + +#define DOCTEST_WARN_UNARY(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_CHECK_UNARY(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_REQUIRE_UNARY(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_WARN_UNARY_FALSE(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_CHECK_UNARY_FALSE(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_REQUIRE_UNARY_FALSE(...) DOCTEST_FUNC_EMPTY + +#ifndef DOCTEST_CONFIG_NO_EXCEPTIONS + +#define DOCTEST_WARN_THROWS(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_CHECK_THROWS(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_REQUIRE_THROWS(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_WARN_THROWS_AS(expr, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_CHECK_THROWS_AS(expr, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_REQUIRE_THROWS_AS(expr, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_WARN_THROWS_WITH(expr, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_CHECK_THROWS_WITH(expr, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_REQUIRE_THROWS_WITH(expr, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_WARN_THROWS_WITH_AS(expr, with, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_CHECK_THROWS_WITH_AS(expr, with, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_REQUIRE_THROWS_WITH_AS(expr, with, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_WARN_NOTHROW(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_REQUIRE_NOTHROW(...) DOCTEST_FUNC_EMPTY + +#define DOCTEST_WARN_THROWS_MESSAGE(expr, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_CHECK_THROWS_MESSAGE(expr, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_REQUIRE_THROWS_MESSAGE(expr, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_WARN_THROWS_AS_MESSAGE(expr, ex, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_CHECK_THROWS_AS_MESSAGE(expr, ex, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_REQUIRE_THROWS_AS_MESSAGE(expr, ex, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_WARN_THROWS_WITH_MESSAGE(expr, with, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_CHECK_THROWS_WITH_MESSAGE(expr, with, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_REQUIRE_THROWS_WITH_MESSAGE(expr, with, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_WARN_THROWS_WITH_AS_MESSAGE(expr, with, ex, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_CHECK_THROWS_WITH_AS_MESSAGE(expr, with, ex, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_REQUIRE_THROWS_WITH_AS_MESSAGE(expr, with, ex, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_WARN_NOTHROW_MESSAGE(expr, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_CHECK_NOTHROW_MESSAGE(expr, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_REQUIRE_NOTHROW_MESSAGE(expr, ...) DOCTEST_FUNC_EMPTY + +#endif // DOCTEST_CONFIG_NO_EXCEPTIONS + +#endif // DOCTEST_CONFIG_EVALUATE_ASSERTS_EVEN_WHEN_DISABLED + +#endif // DOCTEST_CONFIG_DISABLE + +#ifdef DOCTEST_CONFIG_NO_EXCEPTIONS + +#ifdef DOCTEST_CONFIG_NO_EXCEPTIONS_BUT_WITH_ALL_ASSERTS +#define DOCTEST_EXCEPTION_EMPTY_FUNC DOCTEST_FUNC_EMPTY +#else // DOCTEST_CONFIG_NO_EXCEPTIONS_BUT_WITH_ALL_ASSERTS +#define DOCTEST_EXCEPTION_EMPTY_FUNC [] { static_assert(false, "Exceptions are disabled! " \ + "Use DOCTEST_CONFIG_NO_EXCEPTIONS_BUT_WITH_ALL_ASSERTS if you want to compile with exceptions disabled."); return false; }() + +#undef DOCTEST_REQUIRE +#undef DOCTEST_REQUIRE_FALSE +#undef DOCTEST_REQUIRE_MESSAGE +#undef DOCTEST_REQUIRE_FALSE_MESSAGE +#undef DOCTEST_REQUIRE_EQ +#undef DOCTEST_REQUIRE_NE +#undef DOCTEST_REQUIRE_GT +#undef DOCTEST_REQUIRE_LT +#undef DOCTEST_REQUIRE_GE +#undef DOCTEST_REQUIRE_LE +#undef DOCTEST_REQUIRE_UNARY +#undef DOCTEST_REQUIRE_UNARY_FALSE + +#define DOCTEST_REQUIRE DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_REQUIRE_FALSE DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_REQUIRE_MESSAGE DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_REQUIRE_FALSE_MESSAGE DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_REQUIRE_EQ DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_REQUIRE_NE DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_REQUIRE_GT DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_REQUIRE_LT DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_REQUIRE_GE DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_REQUIRE_LE DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_REQUIRE_UNARY DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_REQUIRE_UNARY_FALSE DOCTEST_EXCEPTION_EMPTY_FUNC + +#endif // DOCTEST_CONFIG_NO_EXCEPTIONS_BUT_WITH_ALL_ASSERTS + +#define DOCTEST_WARN_THROWS(...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_CHECK_THROWS(...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_REQUIRE_THROWS(...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_WARN_THROWS_AS(expr, ...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_CHECK_THROWS_AS(expr, ...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_REQUIRE_THROWS_AS(expr, ...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_WARN_THROWS_WITH(expr, ...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_CHECK_THROWS_WITH(expr, ...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_REQUIRE_THROWS_WITH(expr, ...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_WARN_THROWS_WITH_AS(expr, with, ...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_CHECK_THROWS_WITH_AS(expr, with, ...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_REQUIRE_THROWS_WITH_AS(expr, with, ...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_WARN_NOTHROW(...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_REQUIRE_NOTHROW(...) DOCTEST_EXCEPTION_EMPTY_FUNC + +#define DOCTEST_WARN_THROWS_MESSAGE(expr, ...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_CHECK_THROWS_MESSAGE(expr, ...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_REQUIRE_THROWS_MESSAGE(expr, ...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_WARN_THROWS_AS_MESSAGE(expr, ex, ...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_CHECK_THROWS_AS_MESSAGE(expr, ex, ...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_REQUIRE_THROWS_AS_MESSAGE(expr, ex, ...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_WARN_THROWS_WITH_MESSAGE(expr, with, ...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_CHECK_THROWS_WITH_MESSAGE(expr, with, ...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_REQUIRE_THROWS_WITH_MESSAGE(expr, with, ...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_WARN_THROWS_WITH_AS_MESSAGE(expr, with, ex, ...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_CHECK_THROWS_WITH_AS_MESSAGE(expr, with, ex, ...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_REQUIRE_THROWS_WITH_AS_MESSAGE(expr, with, ex, ...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_WARN_NOTHROW_MESSAGE(expr, ...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_CHECK_NOTHROW_MESSAGE(expr, ...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_REQUIRE_NOTHROW_MESSAGE(expr, ...) DOCTEST_EXCEPTION_EMPTY_FUNC + +#endif // DOCTEST_CONFIG_NO_EXCEPTIONS + +// clang-format off +// KEPT FOR BACKWARDS COMPATIBILITY - FORWARDING TO THE RIGHT MACROS +#define DOCTEST_FAST_WARN_EQ DOCTEST_WARN_EQ +#define DOCTEST_FAST_CHECK_EQ DOCTEST_CHECK_EQ +#define DOCTEST_FAST_REQUIRE_EQ DOCTEST_REQUIRE_EQ +#define DOCTEST_FAST_WARN_NE DOCTEST_WARN_NE +#define DOCTEST_FAST_CHECK_NE DOCTEST_CHECK_NE +#define DOCTEST_FAST_REQUIRE_NE DOCTEST_REQUIRE_NE +#define DOCTEST_FAST_WARN_GT DOCTEST_WARN_GT +#define DOCTEST_FAST_CHECK_GT DOCTEST_CHECK_GT +#define DOCTEST_FAST_REQUIRE_GT DOCTEST_REQUIRE_GT +#define DOCTEST_FAST_WARN_LT DOCTEST_WARN_LT +#define DOCTEST_FAST_CHECK_LT DOCTEST_CHECK_LT +#define DOCTEST_FAST_REQUIRE_LT DOCTEST_REQUIRE_LT +#define DOCTEST_FAST_WARN_GE DOCTEST_WARN_GE +#define DOCTEST_FAST_CHECK_GE DOCTEST_CHECK_GE +#define DOCTEST_FAST_REQUIRE_GE DOCTEST_REQUIRE_GE +#define DOCTEST_FAST_WARN_LE DOCTEST_WARN_LE +#define DOCTEST_FAST_CHECK_LE DOCTEST_CHECK_LE +#define DOCTEST_FAST_REQUIRE_LE DOCTEST_REQUIRE_LE + +#define DOCTEST_FAST_WARN_UNARY DOCTEST_WARN_UNARY +#define DOCTEST_FAST_CHECK_UNARY DOCTEST_CHECK_UNARY +#define DOCTEST_FAST_REQUIRE_UNARY DOCTEST_REQUIRE_UNARY +#define DOCTEST_FAST_WARN_UNARY_FALSE DOCTEST_WARN_UNARY_FALSE +#define DOCTEST_FAST_CHECK_UNARY_FALSE DOCTEST_CHECK_UNARY_FALSE +#define DOCTEST_FAST_REQUIRE_UNARY_FALSE DOCTEST_REQUIRE_UNARY_FALSE + +#define DOCTEST_TEST_CASE_TEMPLATE_INSTANTIATE(id, ...) DOCTEST_TEST_CASE_TEMPLATE_INVOKE(id,__VA_ARGS__) +// clang-format on + +// BDD style macros +// clang-format off +#define DOCTEST_SCENARIO(name) DOCTEST_TEST_CASE(" Scenario: " name) +#define DOCTEST_SCENARIO_CLASS(name) DOCTEST_TEST_CASE_CLASS(" Scenario: " name) +#define DOCTEST_SCENARIO_TEMPLATE(name, T, ...) DOCTEST_TEST_CASE_TEMPLATE(" Scenario: " name, T, __VA_ARGS__) +#define DOCTEST_SCENARIO_TEMPLATE_DEFINE(name, T, id) DOCTEST_TEST_CASE_TEMPLATE_DEFINE(" Scenario: " name, T, id) + +#define DOCTEST_GIVEN(name) DOCTEST_SUBCASE(" Given: " name) +#define DOCTEST_WHEN(name) DOCTEST_SUBCASE(" When: " name) +#define DOCTEST_AND_WHEN(name) DOCTEST_SUBCASE("And when: " name) +#define DOCTEST_THEN(name) DOCTEST_SUBCASE(" Then: " name) +#define DOCTEST_AND_THEN(name) DOCTEST_SUBCASE(" And: " name) +// clang-format on + +// == SHORT VERSIONS OF THE MACROS +#ifndef DOCTEST_CONFIG_NO_SHORT_MACRO_NAMES + +#define TEST_CASE(name) DOCTEST_TEST_CASE(name) +#define TEST_CASE_CLASS(name) DOCTEST_TEST_CASE_CLASS(name) +#define TEST_CASE_FIXTURE(x, name) DOCTEST_TEST_CASE_FIXTURE(x, name) +#define TYPE_TO_STRING_AS(str, ...) DOCTEST_TYPE_TO_STRING_AS(str, __VA_ARGS__) +#define TYPE_TO_STRING(...) DOCTEST_TYPE_TO_STRING(__VA_ARGS__) +#define TEST_CASE_TEMPLATE(name, T, ...) DOCTEST_TEST_CASE_TEMPLATE(name, T, __VA_ARGS__) +#define TEST_CASE_TEMPLATE_DEFINE(name, T, id) DOCTEST_TEST_CASE_TEMPLATE_DEFINE(name, T, id) +#define TEST_CASE_TEMPLATE_INVOKE(id, ...) DOCTEST_TEST_CASE_TEMPLATE_INVOKE(id, __VA_ARGS__) +#define TEST_CASE_TEMPLATE_APPLY(id, ...) DOCTEST_TEST_CASE_TEMPLATE_APPLY(id, __VA_ARGS__) +#define SUBCASE(name) DOCTEST_SUBCASE(name) +#define TEST_SUITE(decorators) DOCTEST_TEST_SUITE(decorators) +#define TEST_SUITE_BEGIN(name) DOCTEST_TEST_SUITE_BEGIN(name) +#define TEST_SUITE_END DOCTEST_TEST_SUITE_END +#define REGISTER_EXCEPTION_TRANSLATOR(signature) DOCTEST_REGISTER_EXCEPTION_TRANSLATOR(signature) +#define REGISTER_REPORTER(name, priority, reporter) DOCTEST_REGISTER_REPORTER(name, priority, reporter) +#define REGISTER_LISTENER(name, priority, reporter) DOCTEST_REGISTER_LISTENER(name, priority, reporter) +#define INFO(...) DOCTEST_INFO(__VA_ARGS__) +#define CAPTURE(x) DOCTEST_CAPTURE(x) +#define ADD_MESSAGE_AT(file, line, ...) DOCTEST_ADD_MESSAGE_AT(file, line, __VA_ARGS__) +#define ADD_FAIL_CHECK_AT(file, line, ...) DOCTEST_ADD_FAIL_CHECK_AT(file, line, __VA_ARGS__) +#define ADD_FAIL_AT(file, line, ...) DOCTEST_ADD_FAIL_AT(file, line, __VA_ARGS__) +#define MESSAGE(...) DOCTEST_MESSAGE(__VA_ARGS__) +#define FAIL_CHECK(...) DOCTEST_FAIL_CHECK(__VA_ARGS__) +#define FAIL(...) DOCTEST_FAIL(__VA_ARGS__) +#define TO_LVALUE(...) DOCTEST_TO_LVALUE(__VA_ARGS__) + +#define WARN(...) DOCTEST_WARN(__VA_ARGS__) +#define WARN_FALSE(...) DOCTEST_WARN_FALSE(__VA_ARGS__) +#define WARN_THROWS(...) DOCTEST_WARN_THROWS(__VA_ARGS__) +#define WARN_THROWS_AS(expr, ...) DOCTEST_WARN_THROWS_AS(expr, __VA_ARGS__) +#define WARN_THROWS_WITH(expr, ...) DOCTEST_WARN_THROWS_WITH(expr, __VA_ARGS__) +#define WARN_THROWS_WITH_AS(expr, with, ...) DOCTEST_WARN_THROWS_WITH_AS(expr, with, __VA_ARGS__) +#define WARN_NOTHROW(...) DOCTEST_WARN_NOTHROW(__VA_ARGS__) +#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__) +#define CHECK_FALSE(...) DOCTEST_CHECK_FALSE(__VA_ARGS__) +#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__) +#define CHECK_THROWS_AS(expr, ...) DOCTEST_CHECK_THROWS_AS(expr, __VA_ARGS__) +#define CHECK_THROWS_WITH(expr, ...) DOCTEST_CHECK_THROWS_WITH(expr, __VA_ARGS__) +#define CHECK_THROWS_WITH_AS(expr, with, ...) DOCTEST_CHECK_THROWS_WITH_AS(expr, with, __VA_ARGS__) +#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__) +#define REQUIRE(...) DOCTEST_REQUIRE(__VA_ARGS__) +#define REQUIRE_FALSE(...) DOCTEST_REQUIRE_FALSE(__VA_ARGS__) +#define REQUIRE_THROWS(...) DOCTEST_REQUIRE_THROWS(__VA_ARGS__) +#define REQUIRE_THROWS_AS(expr, ...) DOCTEST_REQUIRE_THROWS_AS(expr, __VA_ARGS__) +#define REQUIRE_THROWS_WITH(expr, ...) DOCTEST_REQUIRE_THROWS_WITH(expr, __VA_ARGS__) +#define REQUIRE_THROWS_WITH_AS(expr, with, ...) DOCTEST_REQUIRE_THROWS_WITH_AS(expr, with, __VA_ARGS__) +#define REQUIRE_NOTHROW(...) DOCTEST_REQUIRE_NOTHROW(__VA_ARGS__) + +#define WARN_MESSAGE(cond, ...) DOCTEST_WARN_MESSAGE(cond, __VA_ARGS__) +#define WARN_FALSE_MESSAGE(cond, ...) DOCTEST_WARN_FALSE_MESSAGE(cond, __VA_ARGS__) +#define WARN_THROWS_MESSAGE(expr, ...) DOCTEST_WARN_THROWS_MESSAGE(expr, __VA_ARGS__) +#define WARN_THROWS_AS_MESSAGE(expr, ex, ...) DOCTEST_WARN_THROWS_AS_MESSAGE(expr, ex, __VA_ARGS__) +#define WARN_THROWS_WITH_MESSAGE(expr, with, ...) DOCTEST_WARN_THROWS_WITH_MESSAGE(expr, with, __VA_ARGS__) +#define WARN_THROWS_WITH_AS_MESSAGE(expr, with, ex, ...) DOCTEST_WARN_THROWS_WITH_AS_MESSAGE(expr, with, ex, __VA_ARGS__) +#define WARN_NOTHROW_MESSAGE(expr, ...) DOCTEST_WARN_NOTHROW_MESSAGE(expr, __VA_ARGS__) +#define CHECK_MESSAGE(cond, ...) DOCTEST_CHECK_MESSAGE(cond, __VA_ARGS__) +#define CHECK_FALSE_MESSAGE(cond, ...) DOCTEST_CHECK_FALSE_MESSAGE(cond, __VA_ARGS__) +#define CHECK_THROWS_MESSAGE(expr, ...) DOCTEST_CHECK_THROWS_MESSAGE(expr, __VA_ARGS__) +#define CHECK_THROWS_AS_MESSAGE(expr, ex, ...) DOCTEST_CHECK_THROWS_AS_MESSAGE(expr, ex, __VA_ARGS__) +#define CHECK_THROWS_WITH_MESSAGE(expr, with, ...) DOCTEST_CHECK_THROWS_WITH_MESSAGE(expr, with, __VA_ARGS__) +#define CHECK_THROWS_WITH_AS_MESSAGE(expr, with, ex, ...) DOCTEST_CHECK_THROWS_WITH_AS_MESSAGE(expr, with, ex, __VA_ARGS__) +#define CHECK_NOTHROW_MESSAGE(expr, ...) DOCTEST_CHECK_NOTHROW_MESSAGE(expr, __VA_ARGS__) +#define REQUIRE_MESSAGE(cond, ...) DOCTEST_REQUIRE_MESSAGE(cond, __VA_ARGS__) +#define REQUIRE_FALSE_MESSAGE(cond, ...) DOCTEST_REQUIRE_FALSE_MESSAGE(cond, __VA_ARGS__) +#define REQUIRE_THROWS_MESSAGE(expr, ...) DOCTEST_REQUIRE_THROWS_MESSAGE(expr, __VA_ARGS__) +#define REQUIRE_THROWS_AS_MESSAGE(expr, ex, ...) DOCTEST_REQUIRE_THROWS_AS_MESSAGE(expr, ex, __VA_ARGS__) +#define REQUIRE_THROWS_WITH_MESSAGE(expr, with, ...) DOCTEST_REQUIRE_THROWS_WITH_MESSAGE(expr, with, __VA_ARGS__) +#define REQUIRE_THROWS_WITH_AS_MESSAGE(expr, with, ex, ...) DOCTEST_REQUIRE_THROWS_WITH_AS_MESSAGE(expr, with, ex, __VA_ARGS__) +#define REQUIRE_NOTHROW_MESSAGE(expr, ...) DOCTEST_REQUIRE_NOTHROW_MESSAGE(expr, __VA_ARGS__) + +#define SCENARIO(name) DOCTEST_SCENARIO(name) +#define SCENARIO_CLASS(name) DOCTEST_SCENARIO_CLASS(name) +#define SCENARIO_TEMPLATE(name, T, ...) DOCTEST_SCENARIO_TEMPLATE(name, T, __VA_ARGS__) +#define SCENARIO_TEMPLATE_DEFINE(name, T, id) DOCTEST_SCENARIO_TEMPLATE_DEFINE(name, T, id) +#define GIVEN(name) DOCTEST_GIVEN(name) +#define WHEN(name) DOCTEST_WHEN(name) +#define AND_WHEN(name) DOCTEST_AND_WHEN(name) +#define THEN(name) DOCTEST_THEN(name) +#define AND_THEN(name) DOCTEST_AND_THEN(name) + +#define WARN_EQ(...) DOCTEST_WARN_EQ(__VA_ARGS__) +#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__) +#define REQUIRE_EQ(...) DOCTEST_REQUIRE_EQ(__VA_ARGS__) +#define WARN_NE(...) DOCTEST_WARN_NE(__VA_ARGS__) +#define CHECK_NE(...) DOCTEST_CHECK_NE(__VA_ARGS__) +#define REQUIRE_NE(...) DOCTEST_REQUIRE_NE(__VA_ARGS__) +#define WARN_GT(...) DOCTEST_WARN_GT(__VA_ARGS__) +#define CHECK_GT(...) DOCTEST_CHECK_GT(__VA_ARGS__) +#define REQUIRE_GT(...) DOCTEST_REQUIRE_GT(__VA_ARGS__) +#define WARN_LT(...) DOCTEST_WARN_LT(__VA_ARGS__) +#define CHECK_LT(...) DOCTEST_CHECK_LT(__VA_ARGS__) +#define REQUIRE_LT(...) DOCTEST_REQUIRE_LT(__VA_ARGS__) +#define WARN_GE(...) DOCTEST_WARN_GE(__VA_ARGS__) +#define CHECK_GE(...) DOCTEST_CHECK_GE(__VA_ARGS__) +#define REQUIRE_GE(...) DOCTEST_REQUIRE_GE(__VA_ARGS__) +#define WARN_LE(...) DOCTEST_WARN_LE(__VA_ARGS__) +#define CHECK_LE(...) DOCTEST_CHECK_LE(__VA_ARGS__) +#define REQUIRE_LE(...) DOCTEST_REQUIRE_LE(__VA_ARGS__) +#define WARN_UNARY(...) DOCTEST_WARN_UNARY(__VA_ARGS__) +#define CHECK_UNARY(...) DOCTEST_CHECK_UNARY(__VA_ARGS__) +#define REQUIRE_UNARY(...) DOCTEST_REQUIRE_UNARY(__VA_ARGS__) +#define WARN_UNARY_FALSE(...) DOCTEST_WARN_UNARY_FALSE(__VA_ARGS__) +#define CHECK_UNARY_FALSE(...) DOCTEST_CHECK_UNARY_FALSE(__VA_ARGS__) +#define REQUIRE_UNARY_FALSE(...) DOCTEST_REQUIRE_UNARY_FALSE(__VA_ARGS__) + +// KEPT FOR BACKWARDS COMPATIBILITY +#define FAST_WARN_EQ(...) DOCTEST_FAST_WARN_EQ(__VA_ARGS__) +#define FAST_CHECK_EQ(...) DOCTEST_FAST_CHECK_EQ(__VA_ARGS__) +#define FAST_REQUIRE_EQ(...) DOCTEST_FAST_REQUIRE_EQ(__VA_ARGS__) +#define FAST_WARN_NE(...) DOCTEST_FAST_WARN_NE(__VA_ARGS__) +#define FAST_CHECK_NE(...) DOCTEST_FAST_CHECK_NE(__VA_ARGS__) +#define FAST_REQUIRE_NE(...) DOCTEST_FAST_REQUIRE_NE(__VA_ARGS__) +#define FAST_WARN_GT(...) DOCTEST_FAST_WARN_GT(__VA_ARGS__) +#define FAST_CHECK_GT(...) DOCTEST_FAST_CHECK_GT(__VA_ARGS__) +#define FAST_REQUIRE_GT(...) DOCTEST_FAST_REQUIRE_GT(__VA_ARGS__) +#define FAST_WARN_LT(...) DOCTEST_FAST_WARN_LT(__VA_ARGS__) +#define FAST_CHECK_LT(...) DOCTEST_FAST_CHECK_LT(__VA_ARGS__) +#define FAST_REQUIRE_LT(...) DOCTEST_FAST_REQUIRE_LT(__VA_ARGS__) +#define FAST_WARN_GE(...) DOCTEST_FAST_WARN_GE(__VA_ARGS__) +#define FAST_CHECK_GE(...) DOCTEST_FAST_CHECK_GE(__VA_ARGS__) +#define FAST_REQUIRE_GE(...) DOCTEST_FAST_REQUIRE_GE(__VA_ARGS__) +#define FAST_WARN_LE(...) DOCTEST_FAST_WARN_LE(__VA_ARGS__) +#define FAST_CHECK_LE(...) DOCTEST_FAST_CHECK_LE(__VA_ARGS__) +#define FAST_REQUIRE_LE(...) DOCTEST_FAST_REQUIRE_LE(__VA_ARGS__) + +#define FAST_WARN_UNARY(...) DOCTEST_FAST_WARN_UNARY(__VA_ARGS__) +#define FAST_CHECK_UNARY(...) DOCTEST_FAST_CHECK_UNARY(__VA_ARGS__) +#define FAST_REQUIRE_UNARY(...) DOCTEST_FAST_REQUIRE_UNARY(__VA_ARGS__) +#define FAST_WARN_UNARY_FALSE(...) DOCTEST_FAST_WARN_UNARY_FALSE(__VA_ARGS__) +#define FAST_CHECK_UNARY_FALSE(...) DOCTEST_FAST_CHECK_UNARY_FALSE(__VA_ARGS__) +#define FAST_REQUIRE_UNARY_FALSE(...) DOCTEST_FAST_REQUIRE_UNARY_FALSE(__VA_ARGS__) + +#define TEST_CASE_TEMPLATE_INSTANTIATE(id, ...) DOCTEST_TEST_CASE_TEMPLATE_INSTANTIATE(id, __VA_ARGS__) + +#endif // DOCTEST_CONFIG_NO_SHORT_MACRO_NAMES + +#ifndef DOCTEST_CONFIG_DISABLE + +// this is here to clear the 'current test suite' for the current translation unit - at the top +DOCTEST_TEST_SUITE_END(); + +#endif // DOCTEST_CONFIG_DISABLE + +DOCTEST_CLANG_SUPPRESS_WARNING_POP +DOCTEST_MSVC_SUPPRESS_WARNING_POP +DOCTEST_GCC_SUPPRESS_WARNING_POP + +DOCTEST_SUPPRESS_COMMON_WARNINGS_POP + +#endif // DOCTEST_LIBRARY_INCLUDED + +#ifndef DOCTEST_SINGLE_HEADER +#define DOCTEST_SINGLE_HEADER +#endif // DOCTEST_SINGLE_HEADER + +#if defined(DOCTEST_CONFIG_IMPLEMENT) || !defined(DOCTEST_SINGLE_HEADER) + +#ifndef DOCTEST_SINGLE_HEADER +#include "doctest_fwd.h" +#endif // DOCTEST_SINGLE_HEADER + +DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Wunused-macros") + +#ifndef DOCTEST_LIBRARY_IMPLEMENTATION +#define DOCTEST_LIBRARY_IMPLEMENTATION + +DOCTEST_CLANG_SUPPRESS_WARNING_POP + +DOCTEST_SUPPRESS_COMMON_WARNINGS_PUSH + +DOCTEST_CLANG_SUPPRESS_WARNING_PUSH +DOCTEST_CLANG_SUPPRESS_WARNING("-Wglobal-constructors") +DOCTEST_CLANG_SUPPRESS_WARNING("-Wexit-time-destructors") +DOCTEST_CLANG_SUPPRESS_WARNING("-Wsign-conversion") +DOCTEST_CLANG_SUPPRESS_WARNING("-Wshorten-64-to-32") +DOCTEST_CLANG_SUPPRESS_WARNING("-Wmissing-variable-declarations") +DOCTEST_CLANG_SUPPRESS_WARNING("-Wswitch") +DOCTEST_CLANG_SUPPRESS_WARNING("-Wswitch-enum") +DOCTEST_CLANG_SUPPRESS_WARNING("-Wcovered-switch-default") +DOCTEST_CLANG_SUPPRESS_WARNING("-Wmissing-noreturn") +DOCTEST_CLANG_SUPPRESS_WARNING("-Wdisabled-macro-expansion") +DOCTEST_CLANG_SUPPRESS_WARNING("-Wmissing-braces") +DOCTEST_CLANG_SUPPRESS_WARNING("-Wmissing-field-initializers") +DOCTEST_CLANG_SUPPRESS_WARNING("-Wunused-member-function") +DOCTEST_CLANG_SUPPRESS_WARNING("-Wnonportable-system-include-path") + +DOCTEST_GCC_SUPPRESS_WARNING_PUSH +DOCTEST_GCC_SUPPRESS_WARNING("-Wconversion") +DOCTEST_GCC_SUPPRESS_WARNING("-Wsign-conversion") +DOCTEST_GCC_SUPPRESS_WARNING("-Wmissing-field-initializers") +DOCTEST_GCC_SUPPRESS_WARNING("-Wmissing-braces") +DOCTEST_GCC_SUPPRESS_WARNING("-Wswitch") +DOCTEST_GCC_SUPPRESS_WARNING("-Wswitch-enum") +DOCTEST_GCC_SUPPRESS_WARNING("-Wswitch-default") +DOCTEST_GCC_SUPPRESS_WARNING("-Wunsafe-loop-optimizations") +DOCTEST_GCC_SUPPRESS_WARNING("-Wold-style-cast") +DOCTEST_GCC_SUPPRESS_WARNING("-Wunused-function") +DOCTEST_GCC_SUPPRESS_WARNING("-Wmultiple-inheritance") +DOCTEST_GCC_SUPPRESS_WARNING("-Wsuggest-attribute") + +DOCTEST_MSVC_SUPPRESS_WARNING_PUSH +DOCTEST_MSVC_SUPPRESS_WARNING(4267) // 'var' : conversion from 'x' to 'y', possible loss of data +DOCTEST_MSVC_SUPPRESS_WARNING(4530) // C++ exception handler used, but unwind semantics not enabled +DOCTEST_MSVC_SUPPRESS_WARNING(4577) // 'noexcept' used with no exception handling mode specified +DOCTEST_MSVC_SUPPRESS_WARNING(4774) // format string expected in argument is not a string literal +DOCTEST_MSVC_SUPPRESS_WARNING(4365) // conversion from 'int' to 'unsigned', signed/unsigned mismatch +DOCTEST_MSVC_SUPPRESS_WARNING(5039) // pointer to potentially throwing function passed to extern C +DOCTEST_MSVC_SUPPRESS_WARNING(4800) // forcing value to bool 'true' or 'false' (performance warning) +DOCTEST_MSVC_SUPPRESS_WARNING(5245) // unreferenced function with internal linkage has been removed + +DOCTEST_MAKE_STD_HEADERS_CLEAN_FROM_WARNINGS_ON_WALL_BEGIN + +// required includes - will go only in one translation unit! +#include +#include +#include +// borland (Embarcadero) compiler requires math.h and not cmath - https://github.com/doctest/doctest/pull/37 +#ifdef __BORLANDC__ +#include +#endif // __BORLANDC__ +#include +#include +#include +#include +#include +#include +#include +#include +#ifndef DOCTEST_CONFIG_NO_INCLUDE_IOSTREAM +#include +#endif // DOCTEST_CONFIG_NO_INCLUDE_IOSTREAM +#include +#include +#include +#ifndef DOCTEST_CONFIG_NO_MULTITHREADING +#include +#include +#define DOCTEST_DECLARE_MUTEX(name) std::mutex name; +#define DOCTEST_DECLARE_STATIC_MUTEX(name) static DOCTEST_DECLARE_MUTEX(name) +#define DOCTEST_LOCK_MUTEX(name) std::lock_guard DOCTEST_ANONYMOUS(DOCTEST_ANON_LOCK_)(name); +#else // DOCTEST_CONFIG_NO_MULTITHREADING +#define DOCTEST_DECLARE_MUTEX(name) +#define DOCTEST_DECLARE_STATIC_MUTEX(name) +#define DOCTEST_LOCK_MUTEX(name) +#endif // DOCTEST_CONFIG_NO_MULTITHREADING +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef DOCTEST_PLATFORM_MAC +#include +#include +#include +#endif // DOCTEST_PLATFORM_MAC + +#ifdef DOCTEST_PLATFORM_WINDOWS + +// defines for a leaner windows.h +#ifndef WIN32_LEAN_AND_MEAN +#define WIN32_LEAN_AND_MEAN +#define DOCTEST_UNDEF_WIN32_LEAN_AND_MEAN +#endif // WIN32_LEAN_AND_MEAN +#ifndef NOMINMAX +#define NOMINMAX +#define DOCTEST_UNDEF_NOMINMAX +#endif // NOMINMAX + +// not sure what AfxWin.h is for - here I do what Catch does +#ifdef __AFXDLL +#include +#else +#include +#endif +#include + +#else // DOCTEST_PLATFORM_WINDOWS + +#include +#include + +#endif // DOCTEST_PLATFORM_WINDOWS + +// this is a fix for https://github.com/doctest/doctest/issues/348 +// https://mail.gnome.org/archives/xml/2012-January/msg00000.html +#if !defined(HAVE_UNISTD_H) && !defined(STDOUT_FILENO) +#define STDOUT_FILENO fileno(stdout) +#endif // HAVE_UNISTD_H + +DOCTEST_MAKE_STD_HEADERS_CLEAN_FROM_WARNINGS_ON_WALL_END + +// counts the number of elements in a C array +#define DOCTEST_COUNTOF(x) (sizeof(x) / sizeof(x[0])) + +#ifdef DOCTEST_CONFIG_DISABLE +#define DOCTEST_BRANCH_ON_DISABLED(if_disabled, if_not_disabled) if_disabled +#else // DOCTEST_CONFIG_DISABLE +#define DOCTEST_BRANCH_ON_DISABLED(if_disabled, if_not_disabled) if_not_disabled +#endif // DOCTEST_CONFIG_DISABLE + +#ifndef DOCTEST_CONFIG_OPTIONS_PREFIX +#define DOCTEST_CONFIG_OPTIONS_PREFIX "dt-" +#endif + +#ifndef DOCTEST_THREAD_LOCAL +#if defined(DOCTEST_CONFIG_NO_MULTITHREADING) || DOCTEST_MSVC && (DOCTEST_MSVC < DOCTEST_COMPILER(19, 0, 0)) +#define DOCTEST_THREAD_LOCAL +#else // DOCTEST_MSVC +#define DOCTEST_THREAD_LOCAL thread_local +#endif // DOCTEST_MSVC +#endif // DOCTEST_THREAD_LOCAL + +#ifndef DOCTEST_MULTI_LANE_ATOMICS_THREAD_LANES +#define DOCTEST_MULTI_LANE_ATOMICS_THREAD_LANES 32 +#endif + +#ifndef DOCTEST_MULTI_LANE_ATOMICS_CACHE_LINE_SIZE +#define DOCTEST_MULTI_LANE_ATOMICS_CACHE_LINE_SIZE 64 +#endif + +#ifdef DOCTEST_CONFIG_NO_UNPREFIXED_OPTIONS +#define DOCTEST_OPTIONS_PREFIX_DISPLAY DOCTEST_CONFIG_OPTIONS_PREFIX +#else +#define DOCTEST_OPTIONS_PREFIX_DISPLAY "" +#endif + +#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_APP) +#define DOCTEST_CONFIG_NO_MULTI_LANE_ATOMICS +#endif + +#ifndef DOCTEST_CDECL +#define DOCTEST_CDECL __cdecl +#endif + +namespace doctest { + +bool is_running_in_test = false; + +namespace { + using namespace detail; + + template + DOCTEST_NORETURN void throw_exception(Ex const& e) { +#ifndef DOCTEST_CONFIG_NO_EXCEPTIONS + throw e; +#else // DOCTEST_CONFIG_NO_EXCEPTIONS +#ifdef DOCTEST_CONFIG_HANDLE_EXCEPTION + DOCTEST_CONFIG_HANDLE_EXCEPTION(e); +#else // DOCTEST_CONFIG_HANDLE_EXCEPTION +#ifndef DOCTEST_CONFIG_NO_INCLUDE_IOSTREAM + std::cerr << "doctest will terminate because it needed to throw an exception.\n" + << "The message was: " << e.what() << '\n'; +#endif // DOCTEST_CONFIG_NO_INCLUDE_IOSTREAM +#endif // DOCTEST_CONFIG_HANDLE_EXCEPTION + std::terminate(); +#endif // DOCTEST_CONFIG_NO_EXCEPTIONS + } + +#ifndef DOCTEST_INTERNAL_ERROR +#define DOCTEST_INTERNAL_ERROR(msg) \ + throw_exception(std::logic_error( \ + __FILE__ ":" DOCTEST_TOSTR(__LINE__) ": Internal doctest error: " msg)) +#endif // DOCTEST_INTERNAL_ERROR + + // case insensitive strcmp + int stricmp(const char* a, const char* b) { + for(;; a++, b++) { + const int d = tolower(*a) - tolower(*b); + if(d != 0 || !*a) + return d; + } + } + + struct Endianness + { + enum Arch + { + Big, + Little + }; + + static Arch which() { + int x = 1; + // casting any data pointer to char* is allowed + auto ptr = reinterpret_cast(&x); + if(*ptr) + return Little; + return Big; + } + }; +} // namespace + +namespace detail { + DOCTEST_THREAD_LOCAL class + { + std::vector stack; + std::stringstream ss; + + public: + std::ostream* push() { + stack.push_back(ss.tellp()); + return &ss; + } + + String pop() { + if (stack.empty()) + DOCTEST_INTERNAL_ERROR("TLSS was empty when trying to pop!"); + + std::streampos pos = stack.back(); + stack.pop_back(); + unsigned sz = static_cast(ss.tellp() - pos); + ss.rdbuf()->pubseekpos(pos, std::ios::in | std::ios::out); + return String(ss, sz); + } + } g_oss; + + std::ostream* tlssPush() { + return g_oss.push(); + } + + String tlssPop() { + return g_oss.pop(); + } + +#ifndef DOCTEST_CONFIG_DISABLE + +namespace timer_large_integer +{ + +#if defined(DOCTEST_PLATFORM_WINDOWS) + using type = ULONGLONG; +#else // DOCTEST_PLATFORM_WINDOWS + using type = std::uint64_t; +#endif // DOCTEST_PLATFORM_WINDOWS +} + +using ticks_t = timer_large_integer::type; + +#ifdef DOCTEST_CONFIG_GETCURRENTTICKS + ticks_t getCurrentTicks() { return DOCTEST_CONFIG_GETCURRENTTICKS(); } +#elif defined(DOCTEST_PLATFORM_WINDOWS) + ticks_t getCurrentTicks() { + static LARGE_INTEGER hz = { {0} }, hzo = { {0} }; + if(!hz.QuadPart) { + QueryPerformanceFrequency(&hz); + QueryPerformanceCounter(&hzo); + } + LARGE_INTEGER t; + QueryPerformanceCounter(&t); + return ((t.QuadPart - hzo.QuadPart) * LONGLONG(1000000)) / hz.QuadPart; + } +#else // DOCTEST_PLATFORM_WINDOWS + ticks_t getCurrentTicks() { + timeval t; + gettimeofday(&t, nullptr); + return static_cast(t.tv_sec) * 1000000 + static_cast(t.tv_usec); + } +#endif // DOCTEST_PLATFORM_WINDOWS + + struct Timer + { + void start() { m_ticks = getCurrentTicks(); } + unsigned int getElapsedMicroseconds() const { + return static_cast(getCurrentTicks() - m_ticks); + } + //unsigned int getElapsedMilliseconds() const { + // return static_cast(getElapsedMicroseconds() / 1000); + //} + double getElapsedSeconds() const { return static_cast(getCurrentTicks() - m_ticks) / 1000000.0; } + + private: + ticks_t m_ticks = 0; + }; + +#ifdef DOCTEST_CONFIG_NO_MULTITHREADING + template + using Atomic = T; +#else // DOCTEST_CONFIG_NO_MULTITHREADING + template + using Atomic = std::atomic; +#endif // DOCTEST_CONFIG_NO_MULTITHREADING + +#if defined(DOCTEST_CONFIG_NO_MULTI_LANE_ATOMICS) || defined(DOCTEST_CONFIG_NO_MULTITHREADING) + template + using MultiLaneAtomic = Atomic; +#else // DOCTEST_CONFIG_NO_MULTI_LANE_ATOMICS + // Provides a multilane implementation of an atomic variable that supports add, sub, load, + // store. Instead of using a single atomic variable, this splits up into multiple ones, + // each sitting on a separate cache line. The goal is to provide a speedup when most + // operations are modifying. It achieves this with two properties: + // + // * Multiple atomics are used, so chance of congestion from the same atomic is reduced. + // * Each atomic sits on a separate cache line, so false sharing is reduced. + // + // The disadvantage is that there is a small overhead due to the use of TLS, and load/store + // is slower because all atomics have to be accessed. + template + class MultiLaneAtomic + { + struct CacheLineAlignedAtomic + { + Atomic atomic{}; + char padding[DOCTEST_MULTI_LANE_ATOMICS_CACHE_LINE_SIZE - sizeof(Atomic)]; + }; + CacheLineAlignedAtomic m_atomics[DOCTEST_MULTI_LANE_ATOMICS_THREAD_LANES]; + + static_assert(sizeof(CacheLineAlignedAtomic) == DOCTEST_MULTI_LANE_ATOMICS_CACHE_LINE_SIZE, + "guarantee one atomic takes exactly one cache line"); + + public: + T operator++() DOCTEST_NOEXCEPT { return fetch_add(1) + 1; } + + T operator++(int) DOCTEST_NOEXCEPT { return fetch_add(1); } + + T fetch_add(T arg, std::memory_order order = std::memory_order_seq_cst) DOCTEST_NOEXCEPT { + return myAtomic().fetch_add(arg, order); + } + + T fetch_sub(T arg, std::memory_order order = std::memory_order_seq_cst) DOCTEST_NOEXCEPT { + return myAtomic().fetch_sub(arg, order); + } + + operator T() const DOCTEST_NOEXCEPT { return load(); } + + T load(std::memory_order order = std::memory_order_seq_cst) const DOCTEST_NOEXCEPT { + auto result = T(); + for(auto const& c : m_atomics) { + result += c.atomic.load(order); + } + return result; + } + + T operator=(T desired) DOCTEST_NOEXCEPT { // lgtm [cpp/assignment-does-not-return-this] + store(desired); + return desired; + } + + void store(T desired, std::memory_order order = std::memory_order_seq_cst) DOCTEST_NOEXCEPT { + // first value becomes desired", all others become 0. + for(auto& c : m_atomics) { + c.atomic.store(desired, order); + desired = {}; + } + } + + private: + // Each thread has a different atomic that it operates on. If more than NumLanes threads + // use this, some will use the same atomic. So performance will degrade a bit, but still + // everything will work. + // + // The logic here is a bit tricky. The call should be as fast as possible, so that there + // is minimal to no overhead in determining the correct atomic for the current thread. + // + // 1. A global static counter laneCounter counts continuously up. + // 2. Each successive thread will use modulo operation of that counter so it gets an atomic + // assigned in a round-robin fashion. + // 3. This tlsLaneIdx is stored in the thread local data, so it is directly available with + // little overhead. + Atomic& myAtomic() DOCTEST_NOEXCEPT { + static Atomic laneCounter; + DOCTEST_THREAD_LOCAL size_t tlsLaneIdx = + laneCounter++ % DOCTEST_MULTI_LANE_ATOMICS_THREAD_LANES; + + return m_atomics[tlsLaneIdx].atomic; + } + }; +#endif // DOCTEST_CONFIG_NO_MULTI_LANE_ATOMICS + + // this holds both parameters from the command line and runtime data for tests + struct ContextState : ContextOptions, TestRunStats, CurrentTestCaseStats + { + MultiLaneAtomic numAssertsCurrentTest_atomic; + MultiLaneAtomic numAssertsFailedCurrentTest_atomic; + + std::vector> filters = decltype(filters)(9); // 9 different filters + + std::vector reporters_currently_used; + + assert_handler ah = nullptr; + + Timer timer; + + std::vector stringifiedContexts; // logging from INFO() due to an exception + + // stuff for subcases + bool reachedLeaf; + std::vector subcaseStack; + std::vector nextSubcaseStack; + std::unordered_set fullyTraversedSubcases; + size_t currentSubcaseDepth; + Atomic shouldLogCurrentException; + + void resetRunData() { + numTestCases = 0; + numTestCasesPassingFilters = 0; + numTestSuitesPassingFilters = 0; + numTestCasesFailed = 0; + numAsserts = 0; + numAssertsFailed = 0; + numAssertsCurrentTest = 0; + numAssertsFailedCurrentTest = 0; + } + + void finalizeTestCaseData() { + seconds = timer.getElapsedSeconds(); + + // update the non-atomic counters + numAsserts += numAssertsCurrentTest_atomic; + numAssertsFailed += numAssertsFailedCurrentTest_atomic; + numAssertsCurrentTest = numAssertsCurrentTest_atomic; + numAssertsFailedCurrentTest = numAssertsFailedCurrentTest_atomic; + + if(numAssertsFailedCurrentTest) + failure_flags |= TestCaseFailureReason::AssertFailure; + + if(Approx(currentTest->m_timeout).epsilon(DBL_EPSILON) != 0 && + Approx(seconds).epsilon(DBL_EPSILON) > currentTest->m_timeout) + failure_flags |= TestCaseFailureReason::Timeout; + + if(currentTest->m_should_fail) { + if(failure_flags) { + failure_flags |= TestCaseFailureReason::ShouldHaveFailedAndDid; + } else { + failure_flags |= TestCaseFailureReason::ShouldHaveFailedButDidnt; + } + } else if(failure_flags && currentTest->m_may_fail) { + failure_flags |= TestCaseFailureReason::CouldHaveFailedAndDid; + } else if(currentTest->m_expected_failures > 0) { + if(numAssertsFailedCurrentTest == currentTest->m_expected_failures) { + failure_flags |= TestCaseFailureReason::FailedExactlyNumTimes; + } else { + failure_flags |= TestCaseFailureReason::DidntFailExactlyNumTimes; + } + } + + bool ok_to_fail = (TestCaseFailureReason::ShouldHaveFailedAndDid & failure_flags) || + (TestCaseFailureReason::CouldHaveFailedAndDid & failure_flags) || + (TestCaseFailureReason::FailedExactlyNumTimes & failure_flags); + + // if any subcase has failed - the whole test case has failed + testCaseSuccess = !(failure_flags && !ok_to_fail); + if(!testCaseSuccess) + numTestCasesFailed++; + } + }; + + ContextState* g_cs = nullptr; + + // used to avoid locks for the debug output + // TODO: figure out if this is indeed necessary/correct - seems like either there still + // could be a race or that there wouldn't be a race even if using the context directly + DOCTEST_THREAD_LOCAL bool g_no_colors; + +#endif // DOCTEST_CONFIG_DISABLE +} // namespace detail + +char* String::allocate(size_type sz) { + if (sz <= last) { + buf[sz] = '\0'; + setLast(last - sz); + return buf; + } else { + setOnHeap(); + data.size = sz; + data.capacity = data.size + 1; + data.ptr = new char[data.capacity]; + data.ptr[sz] = '\0'; + return data.ptr; + } +} + +void String::setOnHeap() noexcept { *reinterpret_cast(&buf[last]) = 128; } +void String::setLast(size_type in) noexcept { buf[last] = char(in); } +void String::setSize(size_type sz) noexcept { + if (isOnStack()) { buf[sz] = '\0'; setLast(last - sz); } + else { data.ptr[sz] = '\0'; data.size = sz; } +} + +void String::copy(const String& other) { + if(other.isOnStack()) { + memcpy(buf, other.buf, len); + } else { + memcpy(allocate(other.data.size), other.data.ptr, other.data.size); + } +} + +String::String() noexcept { + buf[0] = '\0'; + setLast(); +} + +String::~String() { + if(!isOnStack()) + delete[] data.ptr; +} // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks) + +String::String(const char* in) + : String(in, strlen(in)) {} + +String::String(const char* in, size_type in_size) { + memcpy(allocate(in_size), in, in_size); +} + +String::String(std::istream& in, size_type in_size) { + in.read(allocate(in_size), in_size); +} + +String::String(const String& other) { copy(other); } + +String& String::operator=(const String& other) { + if(this != &other) { + if(!isOnStack()) + delete[] data.ptr; + + copy(other); + } + + return *this; +} + +String& String::operator+=(const String& other) { + const size_type my_old_size = size(); + const size_type other_size = other.size(); + const size_type total_size = my_old_size + other_size; + if(isOnStack()) { + if(total_size < len) { + // append to the current stack space + memcpy(buf + my_old_size, other.c_str(), other_size + 1); + // NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) + setLast(last - total_size); + } else { + // alloc new chunk + char* temp = new char[total_size + 1]; + // copy current data to new location before writing in the union + memcpy(temp, buf, my_old_size); // skip the +1 ('\0') for speed + // update data in union + setOnHeap(); + data.size = total_size; + data.capacity = data.size + 1; + data.ptr = temp; + // transfer the rest of the data + memcpy(data.ptr + my_old_size, other.c_str(), other_size + 1); + } + } else { + if(data.capacity > total_size) { + // append to the current heap block + data.size = total_size; + memcpy(data.ptr + my_old_size, other.c_str(), other_size + 1); + } else { + // resize + data.capacity *= 2; + if(data.capacity <= total_size) + data.capacity = total_size + 1; + // alloc new chunk + char* temp = new char[data.capacity]; + // copy current data to new location before releasing it + memcpy(temp, data.ptr, my_old_size); // skip the +1 ('\0') for speed + // release old chunk + delete[] data.ptr; + // update the rest of the union members + data.size = total_size; + data.ptr = temp; + // transfer the rest of the data + memcpy(data.ptr + my_old_size, other.c_str(), other_size + 1); + } + } + + return *this; +} + +String::String(String&& other) noexcept { + memcpy(buf, other.buf, len); + other.buf[0] = '\0'; + other.setLast(); +} + +String& String::operator=(String&& other) noexcept { + if(this != &other) { + if(!isOnStack()) + delete[] data.ptr; + memcpy(buf, other.buf, len); + other.buf[0] = '\0'; + other.setLast(); + } + return *this; +} + +char String::operator[](size_type i) const { + return const_cast(this)->operator[](i); +} + +char& String::operator[](size_type i) { + if(isOnStack()) + return reinterpret_cast(buf)[i]; + return data.ptr[i]; +} + +DOCTEST_GCC_SUPPRESS_WARNING_WITH_PUSH("-Wmaybe-uninitialized") +String::size_type String::size() const { + if(isOnStack()) + return last - (size_type(buf[last]) & 31); // using "last" would work only if "len" is 32 + return data.size; +} +DOCTEST_GCC_SUPPRESS_WARNING_POP + +String::size_type String::capacity() const { + if(isOnStack()) + return len; + return data.capacity; +} + +String String::substr(size_type pos, size_type cnt) && { + cnt = std::min(cnt, size() - 1 - pos); + char* cptr = c_str(); + memmove(cptr, cptr + pos, cnt); + setSize(cnt); + return std::move(*this); +} + +String String::substr(size_type pos, size_type cnt) const & { + cnt = std::min(cnt, size() - 1 - pos); + return String{ c_str() + pos, cnt }; +} + +String::size_type String::find(char ch, size_type pos) const { + const char* begin = c_str(); + const char* end = begin + size(); + const char* it = begin + pos; + for (; it < end && *it != ch; it++); + if (it < end) { return static_cast(it - begin); } + else { return npos; } +} + +String::size_type String::rfind(char ch, size_type pos) const { + const char* begin = c_str(); + const char* it = begin + std::min(pos, size() - 1); + for (; it >= begin && *it != ch; it--); + if (it >= begin) { return static_cast(it - begin); } + else { return npos; } +} + +int String::compare(const char* other, bool no_case) const { + if(no_case) + return doctest::stricmp(c_str(), other); + return std::strcmp(c_str(), other); +} + +int String::compare(const String& other, bool no_case) const { + return compare(other.c_str(), no_case); +} + +String operator+(const String& lhs, const String& rhs) { return String(lhs) += rhs; } + +bool operator==(const String& lhs, const String& rhs) { return lhs.compare(rhs) == 0; } +bool operator!=(const String& lhs, const String& rhs) { return lhs.compare(rhs) != 0; } +bool operator< (const String& lhs, const String& rhs) { return lhs.compare(rhs) < 0; } +bool operator> (const String& lhs, const String& rhs) { return lhs.compare(rhs) > 0; } +bool operator<=(const String& lhs, const String& rhs) { return (lhs != rhs) ? lhs.compare(rhs) < 0 : true; } +bool operator>=(const String& lhs, const String& rhs) { return (lhs != rhs) ? lhs.compare(rhs) > 0 : true; } + +std::ostream& operator<<(std::ostream& s, const String& in) { return s << in.c_str(); } + +Contains::Contains(const String& str) : string(str) { } + +bool Contains::checkWith(const String& other) const { + return strstr(other.c_str(), string.c_str()) != nullptr; +} + +String toString(const Contains& in) { + return "Contains( " + in.string + " )"; +} + +bool operator==(const String& lhs, const Contains& rhs) { return rhs.checkWith(lhs); } +bool operator==(const Contains& lhs, const String& rhs) { return lhs.checkWith(rhs); } +bool operator!=(const String& lhs, const Contains& rhs) { return !rhs.checkWith(lhs); } +bool operator!=(const Contains& lhs, const String& rhs) { return !lhs.checkWith(rhs); } + +namespace { + void color_to_stream(std::ostream&, Color::Enum) DOCTEST_BRANCH_ON_DISABLED({}, ;) +} // namespace + +namespace Color { + std::ostream& operator<<(std::ostream& s, Color::Enum code) { + color_to_stream(s, code); + return s; + } +} // namespace Color + +// clang-format off +const char* assertString(assertType::Enum at) { + DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(4061) // enum 'x' in switch of enum 'y' is not explicitly handled + #define DOCTEST_GENERATE_ASSERT_TYPE_CASE(assert_type) case assertType::DT_ ## assert_type: return #assert_type + #define DOCTEST_GENERATE_ASSERT_TYPE_CASES(assert_type) \ + DOCTEST_GENERATE_ASSERT_TYPE_CASE(WARN_ ## assert_type); \ + DOCTEST_GENERATE_ASSERT_TYPE_CASE(CHECK_ ## assert_type); \ + DOCTEST_GENERATE_ASSERT_TYPE_CASE(REQUIRE_ ## assert_type) + switch(at) { + DOCTEST_GENERATE_ASSERT_TYPE_CASE(WARN); + DOCTEST_GENERATE_ASSERT_TYPE_CASE(CHECK); + DOCTEST_GENERATE_ASSERT_TYPE_CASE(REQUIRE); + + DOCTEST_GENERATE_ASSERT_TYPE_CASES(FALSE); + + DOCTEST_GENERATE_ASSERT_TYPE_CASES(THROWS); + + DOCTEST_GENERATE_ASSERT_TYPE_CASES(THROWS_AS); + + DOCTEST_GENERATE_ASSERT_TYPE_CASES(THROWS_WITH); + + DOCTEST_GENERATE_ASSERT_TYPE_CASES(THROWS_WITH_AS); + + DOCTEST_GENERATE_ASSERT_TYPE_CASES(NOTHROW); + + DOCTEST_GENERATE_ASSERT_TYPE_CASES(EQ); + DOCTEST_GENERATE_ASSERT_TYPE_CASES(NE); + DOCTEST_GENERATE_ASSERT_TYPE_CASES(GT); + DOCTEST_GENERATE_ASSERT_TYPE_CASES(LT); + DOCTEST_GENERATE_ASSERT_TYPE_CASES(GE); + DOCTEST_GENERATE_ASSERT_TYPE_CASES(LE); + + DOCTEST_GENERATE_ASSERT_TYPE_CASES(UNARY); + DOCTEST_GENERATE_ASSERT_TYPE_CASES(UNARY_FALSE); + + default: DOCTEST_INTERNAL_ERROR("Tried stringifying invalid assert type!"); + } + DOCTEST_MSVC_SUPPRESS_WARNING_POP +} +// clang-format on + +const char* failureString(assertType::Enum at) { + if(at & assertType::is_warn) //!OCLINT bitwise operator in conditional + return "WARNING"; + if(at & assertType::is_check) //!OCLINT bitwise operator in conditional + return "ERROR"; + if(at & assertType::is_require) //!OCLINT bitwise operator in conditional + return "FATAL ERROR"; + return ""; +} + +DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Wnull-dereference") +DOCTEST_GCC_SUPPRESS_WARNING_WITH_PUSH("-Wnull-dereference") +// depending on the current options this will remove the path of filenames +const char* skipPathFromFilename(const char* file) { +#ifndef DOCTEST_CONFIG_DISABLE + if(getContextOptions()->no_path_in_filenames) { + auto back = std::strrchr(file, '\\'); + auto forward = std::strrchr(file, '/'); + if(back || forward) { + if(back > forward) + forward = back; + return forward + 1; + } + } +#endif // DOCTEST_CONFIG_DISABLE + return file; +} +DOCTEST_CLANG_SUPPRESS_WARNING_POP +DOCTEST_GCC_SUPPRESS_WARNING_POP + +bool SubcaseSignature::operator==(const SubcaseSignature& other) const { + return m_line == other.m_line + && std::strcmp(m_file, other.m_file) == 0 + && m_name == other.m_name; +} + +bool SubcaseSignature::operator<(const SubcaseSignature& other) const { + if(m_line != other.m_line) + return m_line < other.m_line; + if(std::strcmp(m_file, other.m_file) != 0) + return std::strcmp(m_file, other.m_file) < 0; + return m_name.compare(other.m_name) < 0; +} + +DOCTEST_DEFINE_INTERFACE(IContextScope) + +namespace detail { + void filldata::fill(std::ostream* stream, const void* in) { + if (in) { *stream << in; } + else { *stream << "nullptr"; } + } + + template + String toStreamLit(T t) { + std::ostream* os = tlssPush(); + os->operator<<(t); + return tlssPop(); + } +} + +#ifdef DOCTEST_CONFIG_TREAT_CHAR_STAR_AS_STRING +String toString(const char* in) { return String("\"") + (in ? in : "{null string}") + "\""; } +#endif // DOCTEST_CONFIG_TREAT_CHAR_STAR_AS_STRING + +#if DOCTEST_MSVC >= DOCTEST_COMPILER(19, 20, 0) +// see this issue on why this is needed: https://github.com/doctest/doctest/issues/183 +String toString(const std::string& in) { return in.c_str(); } +#endif // VS 2019 + +String toString(String in) { return in; } + +String toString(std::nullptr_t) { return "nullptr"; } + +String toString(bool in) { return in ? "true" : "false"; } + +String toString(float in) { return toStreamLit(in); } +String toString(double in) { return toStreamLit(in); } +String toString(double long in) { return toStreamLit(in); } + +String toString(char in) { return toStreamLit(static_cast(in)); } +String toString(char signed in) { return toStreamLit(static_cast(in)); } +String toString(char unsigned in) { return toStreamLit(static_cast(in)); } +String toString(short in) { return toStreamLit(in); } +String toString(short unsigned in) { return toStreamLit(in); } +String toString(signed in) { return toStreamLit(in); } +String toString(unsigned in) { return toStreamLit(in); } +String toString(long in) { return toStreamLit(in); } +String toString(long unsigned in) { return toStreamLit(in); } +String toString(long long in) { return toStreamLit(in); } +String toString(long long unsigned in) { return toStreamLit(in); } + +Approx::Approx(double value) + : m_epsilon(static_cast(std::numeric_limits::epsilon()) * 100) + , m_scale(1.0) + , m_value(value) {} + +Approx Approx::operator()(double value) const { + Approx approx(value); + approx.epsilon(m_epsilon); + approx.scale(m_scale); + return approx; +} + +Approx& Approx::epsilon(double newEpsilon) { + m_epsilon = newEpsilon; + return *this; +} +Approx& Approx::scale(double newScale) { + m_scale = newScale; + return *this; +} + +bool operator==(double lhs, const Approx& rhs) { + // Thanks to Richard Harris for his help refining this formula + return std::fabs(lhs - rhs.m_value) < + rhs.m_epsilon * (rhs.m_scale + std::max(std::fabs(lhs), std::fabs(rhs.m_value))); +} +bool operator==(const Approx& lhs, double rhs) { return operator==(rhs, lhs); } +bool operator!=(double lhs, const Approx& rhs) { return !operator==(lhs, rhs); } +bool operator!=(const Approx& lhs, double rhs) { return !operator==(rhs, lhs); } +bool operator<=(double lhs, const Approx& rhs) { return lhs < rhs.m_value || lhs == rhs; } +bool operator<=(const Approx& lhs, double rhs) { return lhs.m_value < rhs || lhs == rhs; } +bool operator>=(double lhs, const Approx& rhs) { return lhs > rhs.m_value || lhs == rhs; } +bool operator>=(const Approx& lhs, double rhs) { return lhs.m_value > rhs || lhs == rhs; } +bool operator<(double lhs, const Approx& rhs) { return lhs < rhs.m_value && lhs != rhs; } +bool operator<(const Approx& lhs, double rhs) { return lhs.m_value < rhs && lhs != rhs; } +bool operator>(double lhs, const Approx& rhs) { return lhs > rhs.m_value && lhs != rhs; } +bool operator>(const Approx& lhs, double rhs) { return lhs.m_value > rhs && lhs != rhs; } + +String toString(const Approx& in) { + return "Approx( " + doctest::toString(in.m_value) + " )"; +} +const ContextOptions* getContextOptions() { return DOCTEST_BRANCH_ON_DISABLED(nullptr, g_cs); } + +DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(4738) +template +IsNaN::operator bool() const { + return std::isnan(value) ^ flipped; +} +DOCTEST_MSVC_SUPPRESS_WARNING_POP +template struct DOCTEST_INTERFACE_DEF IsNaN; +template struct DOCTEST_INTERFACE_DEF IsNaN; +template struct DOCTEST_INTERFACE_DEF IsNaN; +template +String toString(IsNaN in) { return String(in.flipped ? "! " : "") + "IsNaN( " + doctest::toString(in.value) + " )"; } +String toString(IsNaN in) { return toString(in); } +String toString(IsNaN in) { return toString(in); } +String toString(IsNaN in) { return toString(in); } + +} // namespace doctest + +#ifdef DOCTEST_CONFIG_DISABLE +namespace doctest { +Context::Context(int, const char* const*) {} +Context::~Context() = default; +void Context::applyCommandLine(int, const char* const*) {} +void Context::addFilter(const char*, const char*) {} +void Context::clearFilters() {} +void Context::setOption(const char*, bool) {} +void Context::setOption(const char*, int) {} +void Context::setOption(const char*, const char*) {} +bool Context::shouldExit() { return false; } +void Context::setAsDefaultForAssertsOutOfTestCases() {} +void Context::setAssertHandler(detail::assert_handler) {} +void Context::setCout(std::ostream*) {} +int Context::run() { return 0; } + +int IReporter::get_num_active_contexts() { return 0; } +const IContextScope* const* IReporter::get_active_contexts() { return nullptr; } +int IReporter::get_num_stringified_contexts() { return 0; } +const String* IReporter::get_stringified_contexts() { return nullptr; } + +int registerReporter(const char*, int, IReporter*) { return 0; } + +} // namespace doctest +#else // DOCTEST_CONFIG_DISABLE + +#if !defined(DOCTEST_CONFIG_COLORS_NONE) +#if !defined(DOCTEST_CONFIG_COLORS_WINDOWS) && !defined(DOCTEST_CONFIG_COLORS_ANSI) +#ifdef DOCTEST_PLATFORM_WINDOWS +#define DOCTEST_CONFIG_COLORS_WINDOWS +#else // linux +#define DOCTEST_CONFIG_COLORS_ANSI +#endif // platform +#endif // DOCTEST_CONFIG_COLORS_WINDOWS && DOCTEST_CONFIG_COLORS_ANSI +#endif // DOCTEST_CONFIG_COLORS_NONE + +namespace doctest_detail_test_suite_ns { +// holds the current test suite +doctest::detail::TestSuite& getCurrentTestSuite() { + static doctest::detail::TestSuite data{}; + return data; +} +} // namespace doctest_detail_test_suite_ns + +namespace doctest { +namespace { + // the int (priority) is part of the key for automatic sorting - sadly one can register a + // reporter with a duplicate name and a different priority but hopefully that won't happen often :| + using reporterMap = std::map, reporterCreatorFunc>; + + reporterMap& getReporters() { + static reporterMap data; + return data; + } + reporterMap& getListeners() { + static reporterMap data; + return data; + } +} // namespace +namespace detail { +#define DOCTEST_ITERATE_THROUGH_REPORTERS(function, ...) \ + for(auto& curr_rep : g_cs->reporters_currently_used) \ + curr_rep->function(__VA_ARGS__) + + bool checkIfShouldThrow(assertType::Enum at) { + if(at & assertType::is_require) //!OCLINT bitwise operator in conditional + return true; + + if((at & assertType::is_check) //!OCLINT bitwise operator in conditional + && getContextOptions()->abort_after > 0 && + (g_cs->numAssertsFailed + g_cs->numAssertsFailedCurrentTest_atomic) >= + getContextOptions()->abort_after) + return true; + + return false; + } + +#ifndef DOCTEST_CONFIG_NO_EXCEPTIONS + DOCTEST_NORETURN void throwException() { + g_cs->shouldLogCurrentException = false; + throw TestFailureException(); // NOLINT(hicpp-exception-baseclass) + } +#else // DOCTEST_CONFIG_NO_EXCEPTIONS + void throwException() {} +#endif // DOCTEST_CONFIG_NO_EXCEPTIONS +} // namespace detail + +namespace { + using namespace detail; + // matching of a string against a wildcard mask (case sensitivity configurable) taken from + // https://www.codeproject.com/Articles/1088/Wildcard-string-compare-globbing + int wildcmp(const char* str, const char* wild, bool caseSensitive) { + const char* cp = str; + const char* mp = wild; + + while((*str) && (*wild != '*')) { + if((caseSensitive ? (*wild != *str) : (tolower(*wild) != tolower(*str))) && + (*wild != '?')) { + return 0; + } + wild++; + str++; + } + + while(*str) { + if(*wild == '*') { + if(!*++wild) { + return 1; + } + mp = wild; + cp = str + 1; + } else if((caseSensitive ? (*wild == *str) : (tolower(*wild) == tolower(*str))) || + (*wild == '?')) { + wild++; + str++; + } else { + wild = mp; //!OCLINT parameter reassignment + str = cp++; //!OCLINT parameter reassignment + } + } + + while(*wild == '*') { + wild++; + } + return !*wild; + } + + // checks if the name matches any of the filters (and can be configured what to do when empty) + bool matchesAny(const char* name, const std::vector& filters, bool matchEmpty, + bool caseSensitive) { + if (filters.empty() && matchEmpty) + return true; + for (auto& curr : filters) + if (wildcmp(name, curr.c_str(), caseSensitive)) + return true; + return false; + } + + DOCTEST_NO_SANITIZE_INTEGER + unsigned long long hash(unsigned long long a, unsigned long long b) { + return (a << 5) + b; + } + + // C string hash function (djb2) - taken from http://www.cse.yorku.ca/~oz/hash.html + DOCTEST_NO_SANITIZE_INTEGER + unsigned long long hash(const char* str) { + unsigned long long hash = 5381; + char c; + while ((c = *str++)) + hash = ((hash << 5) + hash) + c; // hash * 33 + c + return hash; + } + + unsigned long long hash(const SubcaseSignature& sig) { + return hash(hash(hash(sig.m_file), hash(sig.m_name.c_str())), sig.m_line); + } + + unsigned long long hash(const std::vector& sigs, size_t count) { + unsigned long long running = 0; + auto end = sigs.begin() + count; + for (auto it = sigs.begin(); it != end; it++) { + running = hash(running, hash(*it)); + } + return running; + } + + unsigned long long hash(const std::vector& sigs) { + unsigned long long running = 0; + for (const SubcaseSignature& sig : sigs) { + running = hash(running, hash(sig)); + } + return running; + } +} // namespace +namespace detail { + bool Subcase::checkFilters() { + if (g_cs->subcaseStack.size() < size_t(g_cs->subcase_filter_levels)) { + if (!matchesAny(m_signature.m_name.c_str(), g_cs->filters[6], true, g_cs->case_sensitive)) + return true; + if (matchesAny(m_signature.m_name.c_str(), g_cs->filters[7], false, g_cs->case_sensitive)) + return true; + } + return false; + } + + Subcase::Subcase(const String& name, const char* file, int line) + : m_signature({name, file, line}) { + if (!g_cs->reachedLeaf) { + if (g_cs->nextSubcaseStack.size() <= g_cs->subcaseStack.size() + || g_cs->nextSubcaseStack[g_cs->subcaseStack.size()] == m_signature) { + // Going down. + if (checkFilters()) { return; } + + g_cs->subcaseStack.push_back(m_signature); + g_cs->currentSubcaseDepth++; + m_entered = true; + DOCTEST_ITERATE_THROUGH_REPORTERS(subcase_start, m_signature); + } + } else { + if (g_cs->subcaseStack[g_cs->currentSubcaseDepth] == m_signature) { + // This subcase is reentered via control flow. + g_cs->currentSubcaseDepth++; + m_entered = true; + DOCTEST_ITERATE_THROUGH_REPORTERS(subcase_start, m_signature); + } else if (g_cs->nextSubcaseStack.size() <= g_cs->currentSubcaseDepth + && g_cs->fullyTraversedSubcases.find(hash(hash(g_cs->subcaseStack, g_cs->currentSubcaseDepth), hash(m_signature))) + == g_cs->fullyTraversedSubcases.end()) { + if (checkFilters()) { return; } + // This subcase is part of the one to be executed next. + g_cs->nextSubcaseStack.clear(); + g_cs->nextSubcaseStack.insert(g_cs->nextSubcaseStack.end(), + g_cs->subcaseStack.begin(), g_cs->subcaseStack.begin() + g_cs->currentSubcaseDepth); + g_cs->nextSubcaseStack.push_back(m_signature); + } + } + } + + DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(4996) // std::uncaught_exception is deprecated in C++17 + DOCTEST_GCC_SUPPRESS_WARNING_WITH_PUSH("-Wdeprecated-declarations") + DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Wdeprecated-declarations") + + Subcase::~Subcase() { + if (m_entered) { + g_cs->currentSubcaseDepth--; + + if (!g_cs->reachedLeaf) { + // Leaf. + g_cs->fullyTraversedSubcases.insert(hash(g_cs->subcaseStack)); + g_cs->nextSubcaseStack.clear(); + g_cs->reachedLeaf = true; + } else if (g_cs->nextSubcaseStack.empty()) { + // All children are finished. + g_cs->fullyTraversedSubcases.insert(hash(g_cs->subcaseStack)); + } + +#if defined(__cpp_lib_uncaught_exceptions) && __cpp_lib_uncaught_exceptions >= 201411L && (!defined(__MAC_OS_X_VERSION_MIN_REQUIRED) || __MAC_OS_X_VERSION_MIN_REQUIRED >= 101200) + if(std::uncaught_exceptions() > 0 +#else + if(std::uncaught_exception() +#endif + && g_cs->shouldLogCurrentException) { + DOCTEST_ITERATE_THROUGH_REPORTERS( + test_case_exception, {"exception thrown in subcase - will translate later " + "when the whole test case has been exited (cannot " + "translate while there is an active exception)", + false}); + g_cs->shouldLogCurrentException = false; + } + + DOCTEST_ITERATE_THROUGH_REPORTERS(subcase_end, DOCTEST_EMPTY); + } + } + + DOCTEST_CLANG_SUPPRESS_WARNING_POP + DOCTEST_GCC_SUPPRESS_WARNING_POP + DOCTEST_MSVC_SUPPRESS_WARNING_POP + + Subcase::operator bool() const { return m_entered; } + + Result::Result(bool passed, const String& decomposition) + : m_passed(passed) + , m_decomp(decomposition) {} + + ExpressionDecomposer::ExpressionDecomposer(assertType::Enum at) + : m_at(at) {} + + TestSuite& TestSuite::operator*(const char* in) { + m_test_suite = in; + return *this; + } + + TestCase::TestCase(funcType test, const char* file, unsigned line, const TestSuite& test_suite, + const String& type, int template_id) { + m_file = file; + m_line = line; + m_name = nullptr; // will be later overridden in operator* + m_test_suite = test_suite.m_test_suite; + m_description = test_suite.m_description; + m_skip = test_suite.m_skip; + m_no_breaks = test_suite.m_no_breaks; + m_no_output = test_suite.m_no_output; + m_may_fail = test_suite.m_may_fail; + m_should_fail = test_suite.m_should_fail; + m_expected_failures = test_suite.m_expected_failures; + m_timeout = test_suite.m_timeout; + + m_test = test; + m_type = type; + m_template_id = template_id; + } + + TestCase::TestCase(const TestCase& other) + : TestCaseData() { + *this = other; + } + + DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(26434) // hides a non-virtual function + TestCase& TestCase::operator=(const TestCase& other) { + TestCaseData::operator=(other); + m_test = other.m_test; + m_type = other.m_type; + m_template_id = other.m_template_id; + m_full_name = other.m_full_name; + + if(m_template_id != -1) + m_name = m_full_name.c_str(); + return *this; + } + DOCTEST_MSVC_SUPPRESS_WARNING_POP + + TestCase& TestCase::operator*(const char* in) { + m_name = in; + // make a new name with an appended type for templated test case + if(m_template_id != -1) { + m_full_name = String(m_name) + "<" + m_type + ">"; + // redirect the name to point to the newly constructed full name + m_name = m_full_name.c_str(); + } + return *this; + } + + bool TestCase::operator<(const TestCase& other) const { + // this will be used only to differentiate between test cases - not relevant for sorting + if(m_line != other.m_line) + return m_line < other.m_line; + const int name_cmp = strcmp(m_name, other.m_name); + if(name_cmp != 0) + return name_cmp < 0; + const int file_cmp = m_file.compare(other.m_file); + if(file_cmp != 0) + return file_cmp < 0; + return m_template_id < other.m_template_id; + } + + // all the registered tests + std::set& getRegisteredTests() { + static std::set data; + return data; + } +} // namespace detail +namespace { + using namespace detail; + // for sorting tests by file/line + bool fileOrderComparator(const TestCase* lhs, const TestCase* rhs) { + // this is needed because MSVC gives different case for drive letters + // for __FILE__ when evaluated in a header and a source file + const int res = lhs->m_file.compare(rhs->m_file, bool(DOCTEST_MSVC)); + if(res != 0) + return res < 0; + if(lhs->m_line != rhs->m_line) + return lhs->m_line < rhs->m_line; + return lhs->m_template_id < rhs->m_template_id; + } + + // for sorting tests by suite/file/line + bool suiteOrderComparator(const TestCase* lhs, const TestCase* rhs) { + const int res = std::strcmp(lhs->m_test_suite, rhs->m_test_suite); + if(res != 0) + return res < 0; + return fileOrderComparator(lhs, rhs); + } + + // for sorting tests by name/suite/file/line + bool nameOrderComparator(const TestCase* lhs, const TestCase* rhs) { + const int res = std::strcmp(lhs->m_name, rhs->m_name); + if(res != 0) + return res < 0; + return suiteOrderComparator(lhs, rhs); + } + + DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Wdeprecated-declarations") + void color_to_stream(std::ostream& s, Color::Enum code) { + static_cast(s); // for DOCTEST_CONFIG_COLORS_NONE or DOCTEST_CONFIG_COLORS_WINDOWS + static_cast(code); // for DOCTEST_CONFIG_COLORS_NONE +#ifdef DOCTEST_CONFIG_COLORS_ANSI + if(g_no_colors || + (isatty(STDOUT_FILENO) == false && getContextOptions()->force_colors == false)) + return; + + auto col = ""; + // clang-format off + switch(code) { //!OCLINT missing break in switch statement / unnecessary default statement in covered switch statement + case Color::Red: col = "[0;31m"; break; + case Color::Green: col = "[0;32m"; break; + case Color::Blue: col = "[0;34m"; break; + case Color::Cyan: col = "[0;36m"; break; + case Color::Yellow: col = "[0;33m"; break; + case Color::Grey: col = "[1;30m"; break; + case Color::LightGrey: col = "[0;37m"; break; + case Color::BrightRed: col = "[1;31m"; break; + case Color::BrightGreen: col = "[1;32m"; break; + case Color::BrightWhite: col = "[1;37m"; break; + case Color::Bright: // invalid + case Color::None: + case Color::White: + default: col = "[0m"; + } + // clang-format on + s << "\033" << col; +#endif // DOCTEST_CONFIG_COLORS_ANSI + +#ifdef DOCTEST_CONFIG_COLORS_WINDOWS + if(g_no_colors || + (_isatty(_fileno(stdout)) == false && getContextOptions()->force_colors == false)) + return; + + static struct ConsoleHelper { + HANDLE stdoutHandle; + WORD origFgAttrs; + WORD origBgAttrs; + + ConsoleHelper() { + stdoutHandle = GetStdHandle(STD_OUTPUT_HANDLE); + CONSOLE_SCREEN_BUFFER_INFO csbiInfo; + GetConsoleScreenBufferInfo(stdoutHandle, &csbiInfo); + origFgAttrs = csbiInfo.wAttributes & ~(BACKGROUND_GREEN | BACKGROUND_RED | + BACKGROUND_BLUE | BACKGROUND_INTENSITY); + origBgAttrs = csbiInfo.wAttributes & ~(FOREGROUND_GREEN | FOREGROUND_RED | + FOREGROUND_BLUE | FOREGROUND_INTENSITY); + } + } ch; + +#define DOCTEST_SET_ATTR(x) SetConsoleTextAttribute(ch.stdoutHandle, x | ch.origBgAttrs) + + // clang-format off + switch (code) { + case Color::White: DOCTEST_SET_ATTR(FOREGROUND_GREEN | FOREGROUND_RED | FOREGROUND_BLUE); break; + case Color::Red: DOCTEST_SET_ATTR(FOREGROUND_RED); break; + case Color::Green: DOCTEST_SET_ATTR(FOREGROUND_GREEN); break; + case Color::Blue: DOCTEST_SET_ATTR(FOREGROUND_BLUE); break; + case Color::Cyan: DOCTEST_SET_ATTR(FOREGROUND_BLUE | FOREGROUND_GREEN); break; + case Color::Yellow: DOCTEST_SET_ATTR(FOREGROUND_RED | FOREGROUND_GREEN); break; + case Color::Grey: DOCTEST_SET_ATTR(0); break; + case Color::LightGrey: DOCTEST_SET_ATTR(FOREGROUND_INTENSITY); break; + case Color::BrightRed: DOCTEST_SET_ATTR(FOREGROUND_INTENSITY | FOREGROUND_RED); break; + case Color::BrightGreen: DOCTEST_SET_ATTR(FOREGROUND_INTENSITY | FOREGROUND_GREEN); break; + case Color::BrightWhite: DOCTEST_SET_ATTR(FOREGROUND_INTENSITY | FOREGROUND_GREEN | FOREGROUND_RED | FOREGROUND_BLUE); break; + case Color::None: + case Color::Bright: // invalid + default: DOCTEST_SET_ATTR(ch.origFgAttrs); + } + // clang-format on +#endif // DOCTEST_CONFIG_COLORS_WINDOWS + } + DOCTEST_CLANG_SUPPRESS_WARNING_POP + + std::vector& getExceptionTranslators() { + static std::vector data; + return data; + } + + String translateActiveException() { +#ifndef DOCTEST_CONFIG_NO_EXCEPTIONS + String res; + auto& translators = getExceptionTranslators(); + for(auto& curr : translators) + if(curr->translate(res)) + return res; + // clang-format off + DOCTEST_GCC_SUPPRESS_WARNING_WITH_PUSH("-Wcatch-value") + try { + throw; + } catch(std::exception& ex) { + return ex.what(); + } catch(std::string& msg) { + return msg.c_str(); + } catch(const char* msg) { + return msg; + } catch(...) { + return "unknown exception"; + } + DOCTEST_GCC_SUPPRESS_WARNING_POP +// clang-format on +#else // DOCTEST_CONFIG_NO_EXCEPTIONS + return ""; +#endif // DOCTEST_CONFIG_NO_EXCEPTIONS + } +} // namespace + +namespace detail { + // used by the macros for registering tests + int regTest(const TestCase& tc) { + getRegisteredTests().insert(tc); + return 0; + } + + // sets the current test suite + int setTestSuite(const TestSuite& ts) { + doctest_detail_test_suite_ns::getCurrentTestSuite() = ts; + return 0; + } + +#ifdef DOCTEST_IS_DEBUGGER_ACTIVE + bool isDebuggerActive() { return DOCTEST_IS_DEBUGGER_ACTIVE(); } +#else // DOCTEST_IS_DEBUGGER_ACTIVE +#ifdef DOCTEST_PLATFORM_LINUX + class ErrnoGuard { + public: + ErrnoGuard() : m_oldErrno(errno) {} + ~ErrnoGuard() { errno = m_oldErrno; } + private: + int m_oldErrno; + }; + // See the comments in Catch2 for the reasoning behind this implementation: + // https://github.com/catchorg/Catch2/blob/v2.13.1/include/internal/catch_debugger.cpp#L79-L102 + bool isDebuggerActive() { + ErrnoGuard guard; + std::ifstream in("/proc/self/status"); + for(std::string line; std::getline(in, line);) { + static const int PREFIX_LEN = 11; + if(line.compare(0, PREFIX_LEN, "TracerPid:\t") == 0) { + return line.length() > PREFIX_LEN && line[PREFIX_LEN] != '0'; + } + } + return false; + } +#elif defined(DOCTEST_PLATFORM_MAC) + // The following function is taken directly from the following technical note: + // https://developer.apple.com/library/archive/qa/qa1361/_index.html + // Returns true if the current process is being debugged (either + // running under the debugger or has a debugger attached post facto). + bool isDebuggerActive() { + int mib[4]; + kinfo_proc info; + size_t size; + // Initialize the flags so that, if sysctl fails for some bizarre + // reason, we get a predictable result. + info.kp_proc.p_flag = 0; + // Initialize mib, which tells sysctl the info we want, in this case + // we're looking for information about a specific process ID. + mib[0] = CTL_KERN; + mib[1] = KERN_PROC; + mib[2] = KERN_PROC_PID; + mib[3] = getpid(); + // Call sysctl. + size = sizeof(info); + if(sysctl(mib, DOCTEST_COUNTOF(mib), &info, &size, 0, 0) != 0) { + std::cerr << "\nCall to sysctl failed - unable to determine if debugger is active **\n"; + return false; + } + // We're being debugged if the P_TRACED flag is set. + return ((info.kp_proc.p_flag & P_TRACED) != 0); + } +#elif DOCTEST_MSVC || defined(__MINGW32__) || defined(__MINGW64__) + bool isDebuggerActive() { return ::IsDebuggerPresent() != 0; } +#else + bool isDebuggerActive() { return false; } +#endif // Platform +#endif // DOCTEST_IS_DEBUGGER_ACTIVE + + void registerExceptionTranslatorImpl(const IExceptionTranslator* et) { + if(std::find(getExceptionTranslators().begin(), getExceptionTranslators().end(), et) == + getExceptionTranslators().end()) + getExceptionTranslators().push_back(et); + } + + DOCTEST_THREAD_LOCAL std::vector g_infoContexts; // for logging with INFO() + + ContextScopeBase::ContextScopeBase() { + g_infoContexts.push_back(this); + } + + ContextScopeBase::ContextScopeBase(ContextScopeBase&& other) noexcept { + if (other.need_to_destroy) { + other.destroy(); + } + other.need_to_destroy = false; + g_infoContexts.push_back(this); + } + + DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(4996) // std::uncaught_exception is deprecated in C++17 + DOCTEST_GCC_SUPPRESS_WARNING_WITH_PUSH("-Wdeprecated-declarations") + DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Wdeprecated-declarations") + + // destroy cannot be inlined into the destructor because that would mean calling stringify after + // ContextScope has been destroyed (base class destructors run after derived class destructors). + // Instead, ContextScope calls this method directly from its destructor. + void ContextScopeBase::destroy() { +#if defined(__cpp_lib_uncaught_exceptions) && __cpp_lib_uncaught_exceptions >= 201411L && (!defined(__MAC_OS_X_VERSION_MIN_REQUIRED) || __MAC_OS_X_VERSION_MIN_REQUIRED >= 101200) + if(std::uncaught_exceptions() > 0) { +#else + if(std::uncaught_exception()) { +#endif + std::ostringstream s; + this->stringify(&s); + g_cs->stringifiedContexts.push_back(s.str().c_str()); + } + g_infoContexts.pop_back(); + } + + DOCTEST_CLANG_SUPPRESS_WARNING_POP + DOCTEST_GCC_SUPPRESS_WARNING_POP + DOCTEST_MSVC_SUPPRESS_WARNING_POP +} // namespace detail +namespace { + using namespace detail; + +#if !defined(DOCTEST_CONFIG_POSIX_SIGNALS) && !defined(DOCTEST_CONFIG_WINDOWS_SEH) + struct FatalConditionHandler + { + static void reset() {} + static void allocateAltStackMem() {} + static void freeAltStackMem() {} + }; +#else // DOCTEST_CONFIG_POSIX_SIGNALS || DOCTEST_CONFIG_WINDOWS_SEH + + void reportFatal(const std::string&); + +#ifdef DOCTEST_PLATFORM_WINDOWS + + struct SignalDefs + { + DWORD id; + const char* name; + }; + // There is no 1-1 mapping between signals and windows exceptions. + // Windows can easily distinguish between SO and SigSegV, + // but SigInt, SigTerm, etc are handled differently. + SignalDefs signalDefs[] = { + {static_cast(EXCEPTION_ILLEGAL_INSTRUCTION), + "SIGILL - Illegal instruction signal"}, + {static_cast(EXCEPTION_STACK_OVERFLOW), "SIGSEGV - Stack overflow"}, + {static_cast(EXCEPTION_ACCESS_VIOLATION), + "SIGSEGV - Segmentation violation signal"}, + {static_cast(EXCEPTION_INT_DIVIDE_BY_ZERO), "Divide by zero error"}, + }; + + struct FatalConditionHandler + { + static LONG CALLBACK handleException(PEXCEPTION_POINTERS ExceptionInfo) { + // Multiple threads may enter this filter/handler at once. We want the error message to be printed on the + // console just once no matter how many threads have crashed. + DOCTEST_DECLARE_STATIC_MUTEX(mutex) + static bool execute = true; + { + DOCTEST_LOCK_MUTEX(mutex) + if(execute) { + bool reported = false; + for(size_t i = 0; i < DOCTEST_COUNTOF(signalDefs); ++i) { + if(ExceptionInfo->ExceptionRecord->ExceptionCode == signalDefs[i].id) { + reportFatal(signalDefs[i].name); + reported = true; + break; + } + } + if(reported == false) + reportFatal("Unhandled SEH exception caught"); + if(isDebuggerActive() && !g_cs->no_breaks) + DOCTEST_BREAK_INTO_DEBUGGER(); + } + execute = false; + } + std::exit(EXIT_FAILURE); + } + + static void allocateAltStackMem() {} + static void freeAltStackMem() {} + + FatalConditionHandler() { + isSet = true; + // 32k seems enough for doctest to handle stack overflow, + // but the value was found experimentally, so there is no strong guarantee + guaranteeSize = 32 * 1024; + // Register an unhandled exception filter + previousTop = SetUnhandledExceptionFilter(handleException); + // Pass in guarantee size to be filled + SetThreadStackGuarantee(&guaranteeSize); + + // On Windows uncaught exceptions from another thread, exceptions from + // destructors, or calls to std::terminate are not a SEH exception + + // The terminal handler gets called when: + // - std::terminate is called FROM THE TEST RUNNER THREAD + // - an exception is thrown from a destructor FROM THE TEST RUNNER THREAD + original_terminate_handler = std::get_terminate(); + std::set_terminate([]() DOCTEST_NOEXCEPT { + reportFatal("Terminate handler called"); + if(isDebuggerActive() && !g_cs->no_breaks) + DOCTEST_BREAK_INTO_DEBUGGER(); + std::exit(EXIT_FAILURE); // explicitly exit - otherwise the SIGABRT handler may be called as well + }); + + // SIGABRT is raised when: + // - std::terminate is called FROM A DIFFERENT THREAD + // - an exception is thrown from a destructor FROM A DIFFERENT THREAD + // - an uncaught exception is thrown FROM A DIFFERENT THREAD + prev_sigabrt_handler = std::signal(SIGABRT, [](int signal) DOCTEST_NOEXCEPT { + if(signal == SIGABRT) { + reportFatal("SIGABRT - Abort (abnormal termination) signal"); + if(isDebuggerActive() && !g_cs->no_breaks) + DOCTEST_BREAK_INTO_DEBUGGER(); + std::exit(EXIT_FAILURE); + } + }); + + // The following settings are taken from google test, and more + // specifically from UnitTest::Run() inside of gtest.cc + + // the user does not want to see pop-up dialogs about crashes + prev_error_mode_1 = SetErrorMode(SEM_FAILCRITICALERRORS | SEM_NOALIGNMENTFAULTEXCEPT | + SEM_NOGPFAULTERRORBOX | SEM_NOOPENFILEERRORBOX); + // This forces the abort message to go to stderr in all circumstances. + prev_error_mode_2 = _set_error_mode(_OUT_TO_STDERR); + // In the debug version, Visual Studio pops up a separate dialog + // offering a choice to debug the aborted program - we want to disable that. + prev_abort_behavior = _set_abort_behavior(0x0, _WRITE_ABORT_MSG | _CALL_REPORTFAULT); + // In debug mode, the Windows CRT can crash with an assertion over invalid + // input (e.g. passing an invalid file descriptor). The default handling + // for these assertions is to pop up a dialog and wait for user input. + // Instead ask the CRT to dump such assertions to stderr non-interactively. + prev_report_mode = _CrtSetReportMode(_CRT_ASSERT, _CRTDBG_MODE_FILE | _CRTDBG_MODE_DEBUG); + prev_report_file = _CrtSetReportFile(_CRT_ASSERT, _CRTDBG_FILE_STDERR); + } + + static void reset() { + if(isSet) { + // Unregister handler and restore the old guarantee + SetUnhandledExceptionFilter(previousTop); + SetThreadStackGuarantee(&guaranteeSize); + std::set_terminate(original_terminate_handler); + std::signal(SIGABRT, prev_sigabrt_handler); + SetErrorMode(prev_error_mode_1); + _set_error_mode(prev_error_mode_2); + _set_abort_behavior(prev_abort_behavior, _WRITE_ABORT_MSG | _CALL_REPORTFAULT); + static_cast(_CrtSetReportMode(_CRT_ASSERT, prev_report_mode)); + static_cast(_CrtSetReportFile(_CRT_ASSERT, prev_report_file)); + isSet = false; + } + } + + ~FatalConditionHandler() { reset(); } + + private: + static UINT prev_error_mode_1; + static int prev_error_mode_2; + static unsigned int prev_abort_behavior; + static int prev_report_mode; + static _HFILE prev_report_file; + static void (DOCTEST_CDECL *prev_sigabrt_handler)(int); + static std::terminate_handler original_terminate_handler; + static bool isSet; + static ULONG guaranteeSize; + static LPTOP_LEVEL_EXCEPTION_FILTER previousTop; + }; + + UINT FatalConditionHandler::prev_error_mode_1; + int FatalConditionHandler::prev_error_mode_2; + unsigned int FatalConditionHandler::prev_abort_behavior; + int FatalConditionHandler::prev_report_mode; + _HFILE FatalConditionHandler::prev_report_file; + void (DOCTEST_CDECL *FatalConditionHandler::prev_sigabrt_handler)(int); + std::terminate_handler FatalConditionHandler::original_terminate_handler; + bool FatalConditionHandler::isSet = false; + ULONG FatalConditionHandler::guaranteeSize = 0; + LPTOP_LEVEL_EXCEPTION_FILTER FatalConditionHandler::previousTop = nullptr; + +#else // DOCTEST_PLATFORM_WINDOWS + + struct SignalDefs + { + int id; + const char* name; + }; + SignalDefs signalDefs[] = {{SIGINT, "SIGINT - Terminal interrupt signal"}, + {SIGILL, "SIGILL - Illegal instruction signal"}, + {SIGFPE, "SIGFPE - Floating point error signal"}, + {SIGSEGV, "SIGSEGV - Segmentation violation signal"}, + {SIGTERM, "SIGTERM - Termination request signal"}, + {SIGABRT, "SIGABRT - Abort (abnormal termination) signal"}}; + + struct FatalConditionHandler + { + static bool isSet; + static struct sigaction oldSigActions[DOCTEST_COUNTOF(signalDefs)]; + static stack_t oldSigStack; + static size_t altStackSize; + static char* altStackMem; + + static void handleSignal(int sig) { + const char* name = ""; + for(std::size_t i = 0; i < DOCTEST_COUNTOF(signalDefs); ++i) { + SignalDefs& def = signalDefs[i]; + if(sig == def.id) { + name = def.name; + break; + } + } + reset(); + reportFatal(name); + raise(sig); + } + + static void allocateAltStackMem() { + altStackMem = new char[altStackSize]; + } + + static void freeAltStackMem() { + delete[] altStackMem; + } + + FatalConditionHandler() { + isSet = true; + stack_t sigStack; + sigStack.ss_sp = altStackMem; + sigStack.ss_size = altStackSize; + sigStack.ss_flags = 0; + sigaltstack(&sigStack, &oldSigStack); + struct sigaction sa = {}; + sa.sa_handler = handleSignal; + sa.sa_flags = SA_ONSTACK; + for(std::size_t i = 0; i < DOCTEST_COUNTOF(signalDefs); ++i) { + sigaction(signalDefs[i].id, &sa, &oldSigActions[i]); + } + } + + ~FatalConditionHandler() { reset(); } + static void reset() { + if(isSet) { + // Set signals back to previous values -- hopefully nobody overwrote them in the meantime + for(std::size_t i = 0; i < DOCTEST_COUNTOF(signalDefs); ++i) { + sigaction(signalDefs[i].id, &oldSigActions[i], nullptr); + } + // Return the old stack + sigaltstack(&oldSigStack, nullptr); + isSet = false; + } + } + }; + + bool FatalConditionHandler::isSet = false; + struct sigaction FatalConditionHandler::oldSigActions[DOCTEST_COUNTOF(signalDefs)] = {}; + stack_t FatalConditionHandler::oldSigStack = {}; + size_t FatalConditionHandler::altStackSize = 4 * SIGSTKSZ; + char* FatalConditionHandler::altStackMem = nullptr; + +#endif // DOCTEST_PLATFORM_WINDOWS +#endif // DOCTEST_CONFIG_POSIX_SIGNALS || DOCTEST_CONFIG_WINDOWS_SEH + +} // namespace + +namespace { + using namespace detail; + +#ifdef DOCTEST_PLATFORM_WINDOWS +#define DOCTEST_OUTPUT_DEBUG_STRING(text) ::OutputDebugStringA(text) +#else + // TODO: integration with XCode and other IDEs +#define DOCTEST_OUTPUT_DEBUG_STRING(text) +#endif // Platform + + void addAssert(assertType::Enum at) { + if((at & assertType::is_warn) == 0) //!OCLINT bitwise operator in conditional + g_cs->numAssertsCurrentTest_atomic++; + } + + void addFailedAssert(assertType::Enum at) { + if((at & assertType::is_warn) == 0) //!OCLINT bitwise operator in conditional + g_cs->numAssertsFailedCurrentTest_atomic++; + } + +#if defined(DOCTEST_CONFIG_POSIX_SIGNALS) || defined(DOCTEST_CONFIG_WINDOWS_SEH) + void reportFatal(const std::string& message) { + g_cs->failure_flags |= TestCaseFailureReason::Crash; + + DOCTEST_ITERATE_THROUGH_REPORTERS(test_case_exception, {message.c_str(), true}); + + while (g_cs->subcaseStack.size()) { + g_cs->subcaseStack.pop_back(); + DOCTEST_ITERATE_THROUGH_REPORTERS(subcase_end, DOCTEST_EMPTY); + } + + g_cs->finalizeTestCaseData(); + + DOCTEST_ITERATE_THROUGH_REPORTERS(test_case_end, *g_cs); + + DOCTEST_ITERATE_THROUGH_REPORTERS(test_run_end, *g_cs); + } +#endif // DOCTEST_CONFIG_POSIX_SIGNALS || DOCTEST_CONFIG_WINDOWS_SEH +} // namespace + +AssertData::AssertData(assertType::Enum at, const char* file, int line, const char* expr, + const char* exception_type, const StringContains& exception_string) + : m_test_case(g_cs->currentTest), m_at(at), m_file(file), m_line(line), m_expr(expr), + m_failed(true), m_threw(false), m_threw_as(false), m_exception_type(exception_type), + m_exception_string(exception_string) { +#if DOCTEST_MSVC + if (m_expr[0] == ' ') // this happens when variadic macros are disabled under MSVC + ++m_expr; +#endif // MSVC +} + +namespace detail { + ResultBuilder::ResultBuilder(assertType::Enum at, const char* file, int line, const char* expr, + const char* exception_type, const String& exception_string) + : AssertData(at, file, line, expr, exception_type, exception_string) { } + + ResultBuilder::ResultBuilder(assertType::Enum at, const char* file, int line, const char* expr, + const char* exception_type, const Contains& exception_string) + : AssertData(at, file, line, expr, exception_type, exception_string) { } + + void ResultBuilder::setResult(const Result& res) { + m_decomp = res.m_decomp; + m_failed = !res.m_passed; + } + + void ResultBuilder::translateException() { + m_threw = true; + m_exception = translateActiveException(); + } + + bool ResultBuilder::log() { + if(m_at & assertType::is_throws) { //!OCLINT bitwise operator in conditional + m_failed = !m_threw; + } else if((m_at & assertType::is_throws_as) && (m_at & assertType::is_throws_with)) { //!OCLINT + m_failed = !m_threw_as || !m_exception_string.check(m_exception); + } else if(m_at & assertType::is_throws_as) { //!OCLINT bitwise operator in conditional + m_failed = !m_threw_as; + } else if(m_at & assertType::is_throws_with) { //!OCLINT bitwise operator in conditional + m_failed = !m_exception_string.check(m_exception); + } else if(m_at & assertType::is_nothrow) { //!OCLINT bitwise operator in conditional + m_failed = m_threw; + } + + if(m_exception.size()) + m_exception = "\"" + m_exception + "\""; + + if(is_running_in_test) { + addAssert(m_at); + DOCTEST_ITERATE_THROUGH_REPORTERS(log_assert, *this); + + if(m_failed) + addFailedAssert(m_at); + } else if(m_failed) { + failed_out_of_a_testing_context(*this); + } + + return m_failed && isDebuggerActive() && !getContextOptions()->no_breaks && + (g_cs->currentTest == nullptr || !g_cs->currentTest->m_no_breaks); // break into debugger + } + + void ResultBuilder::react() const { + if(m_failed && checkIfShouldThrow(m_at)) + throwException(); + } + + void failed_out_of_a_testing_context(const AssertData& ad) { + if(g_cs->ah) + g_cs->ah(ad); + else + std::abort(); + } + + bool decomp_assert(assertType::Enum at, const char* file, int line, const char* expr, + const Result& result) { + bool failed = !result.m_passed; + + // ################################################################################### + // IF THE DEBUGGER BREAKS HERE - GO 1 LEVEL UP IN THE CALLSTACK FOR THE FAILING ASSERT + // THIS IS THE EFFECT OF HAVING 'DOCTEST_CONFIG_SUPER_FAST_ASSERTS' DEFINED + // ################################################################################### + DOCTEST_ASSERT_OUT_OF_TESTS(result.m_decomp); + DOCTEST_ASSERT_IN_TESTS(result.m_decomp); + return !failed; + } + + MessageBuilder::MessageBuilder(const char* file, int line, assertType::Enum severity) { + m_stream = tlssPush(); + m_file = file; + m_line = line; + m_severity = severity; + } + + MessageBuilder::~MessageBuilder() { + if (!logged) + tlssPop(); + } + + DOCTEST_DEFINE_INTERFACE(IExceptionTranslator) + + bool MessageBuilder::log() { + if (!logged) { + m_string = tlssPop(); + logged = true; + } + + DOCTEST_ITERATE_THROUGH_REPORTERS(log_message, *this); + + const bool isWarn = m_severity & assertType::is_warn; + + // warn is just a message in this context so we don't treat it as an assert + if(!isWarn) { + addAssert(m_severity); + addFailedAssert(m_severity); + } + + return isDebuggerActive() && !getContextOptions()->no_breaks && !isWarn && + (g_cs->currentTest == nullptr || !g_cs->currentTest->m_no_breaks); // break into debugger + } + + void MessageBuilder::react() { + if(m_severity & assertType::is_require) //!OCLINT bitwise operator in conditional + throwException(); + } +} // namespace detail +namespace { + using namespace detail; + + // clang-format off + +// ================================================================================================= +// The following code has been taken verbatim from Catch2/include/internal/catch_xmlwriter.h/cpp +// This is done so cherry-picking bug fixes is trivial - even the style/formatting is untouched. +// ================================================================================================= + + class XmlEncode { + public: + enum ForWhat { ForTextNodes, ForAttributes }; + + XmlEncode( std::string const& str, ForWhat forWhat = ForTextNodes ); + + void encodeTo( std::ostream& os ) const; + + friend std::ostream& operator << ( std::ostream& os, XmlEncode const& xmlEncode ); + + private: + std::string m_str; + ForWhat m_forWhat; + }; + + class XmlWriter { + public: + + class ScopedElement { + public: + ScopedElement( XmlWriter* writer ); + + ScopedElement( ScopedElement&& other ) DOCTEST_NOEXCEPT; + ScopedElement& operator=( ScopedElement&& other ) DOCTEST_NOEXCEPT; + + ~ScopedElement(); + + ScopedElement& writeText( std::string const& text, bool indent = true ); + + template + ScopedElement& writeAttribute( std::string const& name, T const& attribute ) { + m_writer->writeAttribute( name, attribute ); + return *this; + } + + private: + mutable XmlWriter* m_writer = nullptr; + }; + +#ifndef DOCTEST_CONFIG_NO_INCLUDE_IOSTREAM + XmlWriter( std::ostream& os = std::cout ); +#else // DOCTEST_CONFIG_NO_INCLUDE_IOSTREAM + XmlWriter( std::ostream& os ); +#endif // DOCTEST_CONFIG_NO_INCLUDE_IOSTREAM + ~XmlWriter(); + + XmlWriter( XmlWriter const& ) = delete; + XmlWriter& operator=( XmlWriter const& ) = delete; + + XmlWriter& startElement( std::string const& name ); + + ScopedElement scopedElement( std::string const& name ); + + XmlWriter& endElement(); + + XmlWriter& writeAttribute( std::string const& name, std::string const& attribute ); + + XmlWriter& writeAttribute( std::string const& name, const char* attribute ); + + XmlWriter& writeAttribute( std::string const& name, bool attribute ); + + template + XmlWriter& writeAttribute( std::string const& name, T const& attribute ) { + std::stringstream rss; + rss << attribute; + return writeAttribute( name, rss.str() ); + } + + XmlWriter& writeText( std::string const& text, bool indent = true ); + + //XmlWriter& writeComment( std::string const& text ); + + //void writeStylesheetRef( std::string const& url ); + + //XmlWriter& writeBlankLine(); + + void ensureTagClosed(); + + void writeDeclaration(); + + private: + + void newlineIfNecessary(); + + bool m_tagIsOpen = false; + bool m_needsNewline = false; + std::vector m_tags; + std::string m_indent; + std::ostream& m_os; + }; + +// ================================================================================================= +// The following code has been taken verbatim from Catch2/include/internal/catch_xmlwriter.h/cpp +// This is done so cherry-picking bug fixes is trivial - even the style/formatting is untouched. +// ================================================================================================= + +using uchar = unsigned char; + +namespace { + + size_t trailingBytes(unsigned char c) { + if ((c & 0xE0) == 0xC0) { + return 2; + } + if ((c & 0xF0) == 0xE0) { + return 3; + } + if ((c & 0xF8) == 0xF0) { + return 4; + } + DOCTEST_INTERNAL_ERROR("Invalid multibyte utf-8 start byte encountered"); + } + + uint32_t headerValue(unsigned char c) { + if ((c & 0xE0) == 0xC0) { + return c & 0x1F; + } + if ((c & 0xF0) == 0xE0) { + return c & 0x0F; + } + if ((c & 0xF8) == 0xF0) { + return c & 0x07; + } + DOCTEST_INTERNAL_ERROR("Invalid multibyte utf-8 start byte encountered"); + } + + void hexEscapeChar(std::ostream& os, unsigned char c) { + std::ios_base::fmtflags f(os.flags()); + os << "\\x" + << std::uppercase << std::hex << std::setfill('0') << std::setw(2) + << static_cast(c); + os.flags(f); + } + +} // anonymous namespace + + XmlEncode::XmlEncode( std::string const& str, ForWhat forWhat ) + : m_str( str ), + m_forWhat( forWhat ) + {} + + void XmlEncode::encodeTo( std::ostream& os ) const { + // Apostrophe escaping not necessary if we always use " to write attributes + // (see: https://www.w3.org/TR/xml/#syntax) + + for( std::size_t idx = 0; idx < m_str.size(); ++ idx ) { + uchar c = m_str[idx]; + switch (c) { + case '<': os << "<"; break; + case '&': os << "&"; break; + + case '>': + // See: https://www.w3.org/TR/xml/#syntax + if (idx > 2 && m_str[idx - 1] == ']' && m_str[idx - 2] == ']') + os << ">"; + else + os << c; + break; + + case '\"': + if (m_forWhat == ForAttributes) + os << """; + else + os << c; + break; + + default: + // Check for control characters and invalid utf-8 + + // Escape control characters in standard ascii + // see https://stackoverflow.com/questions/404107/why-are-control-characters-illegal-in-xml-1-0 + if (c < 0x09 || (c > 0x0D && c < 0x20) || c == 0x7F) { + hexEscapeChar(os, c); + break; + } + + // Plain ASCII: Write it to stream + if (c < 0x7F) { + os << c; + break; + } + + // UTF-8 territory + // Check if the encoding is valid and if it is not, hex escape bytes. + // Important: We do not check the exact decoded values for validity, only the encoding format + // First check that this bytes is a valid lead byte: + // This means that it is not encoded as 1111 1XXX + // Or as 10XX XXXX + if (c < 0xC0 || + c >= 0xF8) { + hexEscapeChar(os, c); + break; + } + + auto encBytes = trailingBytes(c); + // Are there enough bytes left to avoid accessing out-of-bounds memory? + if (idx + encBytes - 1 >= m_str.size()) { + hexEscapeChar(os, c); + break; + } + // The header is valid, check data + // The next encBytes bytes must together be a valid utf-8 + // This means: bitpattern 10XX XXXX and the extracted value is sane (ish) + bool valid = true; + uint32_t value = headerValue(c); + for (std::size_t n = 1; n < encBytes; ++n) { + uchar nc = m_str[idx + n]; + valid &= ((nc & 0xC0) == 0x80); + value = (value << 6) | (nc & 0x3F); + } + + if ( + // Wrong bit pattern of following bytes + (!valid) || + // Overlong encodings + (value < 0x80) || + ( value < 0x800 && encBytes > 2) || // removed "0x80 <= value &&" because redundant + (0x800 < value && value < 0x10000 && encBytes > 3) || + // Encoded value out of range + (value >= 0x110000) + ) { + hexEscapeChar(os, c); + break; + } + + // If we got here, this is in fact a valid(ish) utf-8 sequence + for (std::size_t n = 0; n < encBytes; ++n) { + os << m_str[idx + n]; + } + idx += encBytes - 1; + break; + } + } + } + + std::ostream& operator << ( std::ostream& os, XmlEncode const& xmlEncode ) { + xmlEncode.encodeTo( os ); + return os; + } + + XmlWriter::ScopedElement::ScopedElement( XmlWriter* writer ) + : m_writer( writer ) + {} + + XmlWriter::ScopedElement::ScopedElement( ScopedElement&& other ) DOCTEST_NOEXCEPT + : m_writer( other.m_writer ){ + other.m_writer = nullptr; + } + XmlWriter::ScopedElement& XmlWriter::ScopedElement::operator=( ScopedElement&& other ) DOCTEST_NOEXCEPT { + if ( m_writer ) { + m_writer->endElement(); + } + m_writer = other.m_writer; + other.m_writer = nullptr; + return *this; + } + + + XmlWriter::ScopedElement::~ScopedElement() { + if( m_writer ) + m_writer->endElement(); + } + + XmlWriter::ScopedElement& XmlWriter::ScopedElement::writeText( std::string const& text, bool indent ) { + m_writer->writeText( text, indent ); + return *this; + } + + XmlWriter::XmlWriter( std::ostream& os ) : m_os( os ) + { + // writeDeclaration(); // called explicitly by the reporters that use the writer class - see issue #627 + } + + XmlWriter::~XmlWriter() { + while( !m_tags.empty() ) + endElement(); + } + + XmlWriter& XmlWriter::startElement( std::string const& name ) { + ensureTagClosed(); + newlineIfNecessary(); + m_os << m_indent << '<' << name; + m_tags.push_back( name ); + m_indent += " "; + m_tagIsOpen = true; + return *this; + } + + XmlWriter::ScopedElement XmlWriter::scopedElement( std::string const& name ) { + ScopedElement scoped( this ); + startElement( name ); + return scoped; + } + + XmlWriter& XmlWriter::endElement() { + newlineIfNecessary(); + m_indent = m_indent.substr( 0, m_indent.size()-2 ); + if( m_tagIsOpen ) { + m_os << "/>"; + m_tagIsOpen = false; + } + else { + m_os << m_indent << ""; + } + m_os << std::endl; + m_tags.pop_back(); + return *this; + } + + XmlWriter& XmlWriter::writeAttribute( std::string const& name, std::string const& attribute ) { + if( !name.empty() && !attribute.empty() ) + m_os << ' ' << name << "=\"" << XmlEncode( attribute, XmlEncode::ForAttributes ) << '"'; + return *this; + } + + XmlWriter& XmlWriter::writeAttribute( std::string const& name, const char* attribute ) { + if( !name.empty() && attribute && attribute[0] != '\0' ) + m_os << ' ' << name << "=\"" << XmlEncode( attribute, XmlEncode::ForAttributes ) << '"'; + return *this; + } + + XmlWriter& XmlWriter::writeAttribute( std::string const& name, bool attribute ) { + m_os << ' ' << name << "=\"" << ( attribute ? "true" : "false" ) << '"'; + return *this; + } + + XmlWriter& XmlWriter::writeText( std::string const& text, bool indent ) { + if( !text.empty() ){ + bool tagWasOpen = m_tagIsOpen; + ensureTagClosed(); + if( tagWasOpen && indent ) + m_os << m_indent; + m_os << XmlEncode( text ); + m_needsNewline = true; + } + return *this; + } + + //XmlWriter& XmlWriter::writeComment( std::string const& text ) { + // ensureTagClosed(); + // m_os << m_indent << ""; + // m_needsNewline = true; + // return *this; + //} + + //void XmlWriter::writeStylesheetRef( std::string const& url ) { + // m_os << "\n"; + //} + + //XmlWriter& XmlWriter::writeBlankLine() { + // ensureTagClosed(); + // m_os << '\n'; + // return *this; + //} + + void XmlWriter::ensureTagClosed() { + if( m_tagIsOpen ) { + m_os << ">" << std::endl; + m_tagIsOpen = false; + } + } + + void XmlWriter::writeDeclaration() { + m_os << "\n"; + } + + void XmlWriter::newlineIfNecessary() { + if( m_needsNewline ) { + m_os << std::endl; + m_needsNewline = false; + } + } + +// ================================================================================================= +// End of copy-pasted code from Catch +// ================================================================================================= + + // clang-format on + + struct XmlReporter : public IReporter + { + XmlWriter xml; + DOCTEST_DECLARE_MUTEX(mutex) + + // caching pointers/references to objects of these types - safe to do + const ContextOptions& opt; + const TestCaseData* tc = nullptr; + + XmlReporter(const ContextOptions& co) + : xml(*co.cout) + , opt(co) {} + + void log_contexts() { + int num_contexts = get_num_active_contexts(); + if(num_contexts) { + auto contexts = get_active_contexts(); + std::stringstream ss; + for(int i = 0; i < num_contexts; ++i) { + contexts[i]->stringify(&ss); + xml.scopedElement("Info").writeText(ss.str()); + ss.str(""); + } + } + } + + unsigned line(unsigned l) const { return opt.no_line_numbers ? 0 : l; } + + void test_case_start_impl(const TestCaseData& in) { + bool open_ts_tag = false; + if(tc != nullptr) { // we have already opened a test suite + if(std::strcmp(tc->m_test_suite, in.m_test_suite) != 0) { + xml.endElement(); + open_ts_tag = true; + } + } + else { + open_ts_tag = true; // first test case ==> first test suite + } + + if(open_ts_tag) { + xml.startElement("TestSuite"); + xml.writeAttribute("name", in.m_test_suite); + } + + tc = ∈ + xml.startElement("TestCase") + .writeAttribute("name", in.m_name) + .writeAttribute("filename", skipPathFromFilename(in.m_file.c_str())) + .writeAttribute("line", line(in.m_line)) + .writeAttribute("description", in.m_description); + + if(Approx(in.m_timeout) != 0) + xml.writeAttribute("timeout", in.m_timeout); + if(in.m_may_fail) + xml.writeAttribute("may_fail", true); + if(in.m_should_fail) + xml.writeAttribute("should_fail", true); + } + + // ========================================================================================= + // WHAT FOLLOWS ARE OVERRIDES OF THE VIRTUAL METHODS OF THE REPORTER INTERFACE + // ========================================================================================= + + void report_query(const QueryData& in) override { + test_run_start(); + if(opt.list_reporters) { + for(auto& curr : getListeners()) + xml.scopedElement("Listener") + .writeAttribute("priority", curr.first.first) + .writeAttribute("name", curr.first.second); + for(auto& curr : getReporters()) + xml.scopedElement("Reporter") + .writeAttribute("priority", curr.first.first) + .writeAttribute("name", curr.first.second); + } else if(opt.count || opt.list_test_cases) { + for(unsigned i = 0; i < in.num_data; ++i) { + xml.scopedElement("TestCase").writeAttribute("name", in.data[i]->m_name) + .writeAttribute("testsuite", in.data[i]->m_test_suite) + .writeAttribute("filename", skipPathFromFilename(in.data[i]->m_file.c_str())) + .writeAttribute("line", line(in.data[i]->m_line)) + .writeAttribute("skipped", in.data[i]->m_skip); + } + xml.scopedElement("OverallResultsTestCases") + .writeAttribute("unskipped", in.run_stats->numTestCasesPassingFilters); + } else if(opt.list_test_suites) { + for(unsigned i = 0; i < in.num_data; ++i) + xml.scopedElement("TestSuite").writeAttribute("name", in.data[i]->m_test_suite); + xml.scopedElement("OverallResultsTestCases") + .writeAttribute("unskipped", in.run_stats->numTestCasesPassingFilters); + xml.scopedElement("OverallResultsTestSuites") + .writeAttribute("unskipped", in.run_stats->numTestSuitesPassingFilters); + } + xml.endElement(); + } + + void test_run_start() override { + xml.writeDeclaration(); + + // remove .exe extension - mainly to have the same output on UNIX and Windows + std::string binary_name = skipPathFromFilename(opt.binary_name.c_str()); +#ifdef DOCTEST_PLATFORM_WINDOWS + if(binary_name.rfind(".exe") != std::string::npos) + binary_name = binary_name.substr(0, binary_name.length() - 4); +#endif // DOCTEST_PLATFORM_WINDOWS + + xml.startElement("doctest").writeAttribute("binary", binary_name); + if(opt.no_version == false) + xml.writeAttribute("version", DOCTEST_VERSION_STR); + + // only the consequential ones (TODO: filters) + xml.scopedElement("Options") + .writeAttribute("order_by", opt.order_by.c_str()) + .writeAttribute("rand_seed", opt.rand_seed) + .writeAttribute("first", opt.first) + .writeAttribute("last", opt.last) + .writeAttribute("abort_after", opt.abort_after) + .writeAttribute("subcase_filter_levels", opt.subcase_filter_levels) + .writeAttribute("case_sensitive", opt.case_sensitive) + .writeAttribute("no_throw", opt.no_throw) + .writeAttribute("no_skip", opt.no_skip); + } + + void test_run_end(const TestRunStats& p) override { + if(tc) // the TestSuite tag - only if there has been at least 1 test case + xml.endElement(); + + xml.scopedElement("OverallResultsAsserts") + .writeAttribute("successes", p.numAsserts - p.numAssertsFailed) + .writeAttribute("failures", p.numAssertsFailed); + + xml.startElement("OverallResultsTestCases") + .writeAttribute("successes", + p.numTestCasesPassingFilters - p.numTestCasesFailed) + .writeAttribute("failures", p.numTestCasesFailed); + if(opt.no_skipped_summary == false) + xml.writeAttribute("skipped", p.numTestCases - p.numTestCasesPassingFilters); + xml.endElement(); + + xml.endElement(); + } + + void test_case_start(const TestCaseData& in) override { + test_case_start_impl(in); + xml.ensureTagClosed(); + } + + void test_case_reenter(const TestCaseData&) override {} + + void test_case_end(const CurrentTestCaseStats& st) override { + xml.startElement("OverallResultsAsserts") + .writeAttribute("successes", + st.numAssertsCurrentTest - st.numAssertsFailedCurrentTest) + .writeAttribute("failures", st.numAssertsFailedCurrentTest) + .writeAttribute("test_case_success", st.testCaseSuccess); + if(opt.duration) + xml.writeAttribute("duration", st.seconds); + if(tc->m_expected_failures) + xml.writeAttribute("expected_failures", tc->m_expected_failures); + xml.endElement(); + + xml.endElement(); + } + + void test_case_exception(const TestCaseException& e) override { + DOCTEST_LOCK_MUTEX(mutex) + + xml.scopedElement("Exception") + .writeAttribute("crash", e.is_crash) + .writeText(e.error_string.c_str()); + } + + void subcase_start(const SubcaseSignature& in) override { + xml.startElement("SubCase") + .writeAttribute("name", in.m_name) + .writeAttribute("filename", skipPathFromFilename(in.m_file)) + .writeAttribute("line", line(in.m_line)); + xml.ensureTagClosed(); + } + + void subcase_end() override { xml.endElement(); } + + void log_assert(const AssertData& rb) override { + if(!rb.m_failed && !opt.success) + return; + + DOCTEST_LOCK_MUTEX(mutex) + + xml.startElement("Expression") + .writeAttribute("success", !rb.m_failed) + .writeAttribute("type", assertString(rb.m_at)) + .writeAttribute("filename", skipPathFromFilename(rb.m_file)) + .writeAttribute("line", line(rb.m_line)); + + xml.scopedElement("Original").writeText(rb.m_expr); + + if(rb.m_threw) + xml.scopedElement("Exception").writeText(rb.m_exception.c_str()); + + if(rb.m_at & assertType::is_throws_as) + xml.scopedElement("ExpectedException").writeText(rb.m_exception_type); + if(rb.m_at & assertType::is_throws_with) + xml.scopedElement("ExpectedExceptionString").writeText(rb.m_exception_string.c_str()); + if((rb.m_at & assertType::is_normal) && !rb.m_threw) + xml.scopedElement("Expanded").writeText(rb.m_decomp.c_str()); + + log_contexts(); + + xml.endElement(); + } + + void log_message(const MessageData& mb) override { + DOCTEST_LOCK_MUTEX(mutex) + + xml.startElement("Message") + .writeAttribute("type", failureString(mb.m_severity)) + .writeAttribute("filename", skipPathFromFilename(mb.m_file)) + .writeAttribute("line", line(mb.m_line)); + + xml.scopedElement("Text").writeText(mb.m_string.c_str()); + + log_contexts(); + + xml.endElement(); + } + + void test_case_skipped(const TestCaseData& in) override { + if(opt.no_skipped_summary == false) { + test_case_start_impl(in); + xml.writeAttribute("skipped", "true"); + xml.endElement(); + } + } + }; + + DOCTEST_REGISTER_REPORTER("xml", 0, XmlReporter); + + void fulltext_log_assert_to_stream(std::ostream& s, const AssertData& rb) { + if((rb.m_at & (assertType::is_throws_as | assertType::is_throws_with)) == + 0) //!OCLINT bitwise operator in conditional + s << Color::Cyan << assertString(rb.m_at) << "( " << rb.m_expr << " ) " + << Color::None; + + if(rb.m_at & assertType::is_throws) { //!OCLINT bitwise operator in conditional + s << (rb.m_threw ? "threw as expected!" : "did NOT throw at all!") << "\n"; + } else if((rb.m_at & assertType::is_throws_as) && + (rb.m_at & assertType::is_throws_with)) { //!OCLINT + s << Color::Cyan << assertString(rb.m_at) << "( " << rb.m_expr << ", \"" + << rb.m_exception_string.c_str() + << "\", " << rb.m_exception_type << " ) " << Color::None; + if(rb.m_threw) { + if(!rb.m_failed) { + s << "threw as expected!\n"; + } else { + s << "threw a DIFFERENT exception! (contents: " << rb.m_exception << ")\n"; + } + } else { + s << "did NOT throw at all!\n"; + } + } else if(rb.m_at & + assertType::is_throws_as) { //!OCLINT bitwise operator in conditional + s << Color::Cyan << assertString(rb.m_at) << "( " << rb.m_expr << ", " + << rb.m_exception_type << " ) " << Color::None + << (rb.m_threw ? (rb.m_threw_as ? "threw as expected!" : + "threw a DIFFERENT exception: ") : + "did NOT throw at all!") + << Color::Cyan << rb.m_exception << "\n"; + } else if(rb.m_at & + assertType::is_throws_with) { //!OCLINT bitwise operator in conditional + s << Color::Cyan << assertString(rb.m_at) << "( " << rb.m_expr << ", \"" + << rb.m_exception_string.c_str() + << "\" ) " << Color::None + << (rb.m_threw ? (!rb.m_failed ? "threw as expected!" : + "threw a DIFFERENT exception: ") : + "did NOT throw at all!") + << Color::Cyan << rb.m_exception << "\n"; + } else if(rb.m_at & assertType::is_nothrow) { //!OCLINT bitwise operator in conditional + s << (rb.m_threw ? "THREW exception: " : "didn't throw!") << Color::Cyan + << rb.m_exception << "\n"; + } else { + s << (rb.m_threw ? "THREW exception: " : + (!rb.m_failed ? "is correct!\n" : "is NOT correct!\n")); + if(rb.m_threw) + s << rb.m_exception << "\n"; + else + s << " values: " << assertString(rb.m_at) << "( " << rb.m_decomp << " )\n"; + } + } + + // TODO: + // - log_message() + // - respond to queries + // - honor remaining options + // - more attributes in tags + struct JUnitReporter : public IReporter + { + XmlWriter xml; + DOCTEST_DECLARE_MUTEX(mutex) + Timer timer; + std::vector deepestSubcaseStackNames; + + struct JUnitTestCaseData + { + static std::string getCurrentTimestamp() { + // Beware, this is not reentrant because of backward compatibility issues + // Also, UTC only, again because of backward compatibility (%z is C++11) + time_t rawtime; + std::time(&rawtime); + auto const timeStampSize = sizeof("2017-01-16T17:06:45Z"); + + std::tm timeInfo; +#ifdef DOCTEST_PLATFORM_WINDOWS + gmtime_s(&timeInfo, &rawtime); +#else // DOCTEST_PLATFORM_WINDOWS + gmtime_r(&rawtime, &timeInfo); +#endif // DOCTEST_PLATFORM_WINDOWS + + char timeStamp[timeStampSize]; + const char* const fmt = "%Y-%m-%dT%H:%M:%SZ"; + + std::strftime(timeStamp, timeStampSize, fmt, &timeInfo); + return std::string(timeStamp); + } + + struct JUnitTestMessage + { + JUnitTestMessage(const std::string& _message, const std::string& _type, const std::string& _details) + : message(_message), type(_type), details(_details) {} + + JUnitTestMessage(const std::string& _message, const std::string& _details) + : message(_message), type(), details(_details) {} + + std::string message, type, details; + }; + + struct JUnitTestCase + { + JUnitTestCase(const std::string& _classname, const std::string& _name) + : classname(_classname), name(_name), time(0), failures() {} + + std::string classname, name; + double time; + std::vector failures, errors; + }; + + void add(const std::string& classname, const std::string& name) { + testcases.emplace_back(classname, name); + } + + void appendSubcaseNamesToLastTestcase(std::vector nameStack) { + for(auto& curr: nameStack) + if(curr.size()) + testcases.back().name += std::string("/") + curr.c_str(); + } + + void addTime(double time) { + if(time < 1e-4) + time = 0; + testcases.back().time = time; + totalSeconds += time; + } + + void addFailure(const std::string& message, const std::string& type, const std::string& details) { + testcases.back().failures.emplace_back(message, type, details); + ++totalFailures; + } + + void addError(const std::string& message, const std::string& details) { + testcases.back().errors.emplace_back(message, details); + ++totalErrors; + } + + std::vector testcases; + double totalSeconds = 0; + int totalErrors = 0, totalFailures = 0; + }; + + JUnitTestCaseData testCaseData; + + // caching pointers/references to objects of these types - safe to do + const ContextOptions& opt; + const TestCaseData* tc = nullptr; + + JUnitReporter(const ContextOptions& co) + : xml(*co.cout) + , opt(co) {} + + unsigned line(unsigned l) const { return opt.no_line_numbers ? 0 : l; } + + // ========================================================================================= + // WHAT FOLLOWS ARE OVERRIDES OF THE VIRTUAL METHODS OF THE REPORTER INTERFACE + // ========================================================================================= + + void report_query(const QueryData&) override { + xml.writeDeclaration(); + } + + void test_run_start() override { + xml.writeDeclaration(); + } + + void test_run_end(const TestRunStats& p) override { + // remove .exe extension - mainly to have the same output on UNIX and Windows + std::string binary_name = skipPathFromFilename(opt.binary_name.c_str()); +#ifdef DOCTEST_PLATFORM_WINDOWS + if(binary_name.rfind(".exe") != std::string::npos) + binary_name = binary_name.substr(0, binary_name.length() - 4); +#endif // DOCTEST_PLATFORM_WINDOWS + xml.startElement("testsuites"); + xml.startElement("testsuite").writeAttribute("name", binary_name) + .writeAttribute("errors", testCaseData.totalErrors) + .writeAttribute("failures", testCaseData.totalFailures) + .writeAttribute("tests", p.numAsserts); + if(opt.no_time_in_output == false) { + xml.writeAttribute("time", testCaseData.totalSeconds); + xml.writeAttribute("timestamp", JUnitTestCaseData::getCurrentTimestamp()); + } + if(opt.no_version == false) + xml.writeAttribute("doctest_version", DOCTEST_VERSION_STR); + + for(const auto& testCase : testCaseData.testcases) { + xml.startElement("testcase") + .writeAttribute("classname", testCase.classname) + .writeAttribute("name", testCase.name); + if(opt.no_time_in_output == false) + xml.writeAttribute("time", testCase.time); + // This is not ideal, but it should be enough to mimic gtest's junit output. + xml.writeAttribute("status", "run"); + + for(const auto& failure : testCase.failures) { + xml.scopedElement("failure") + .writeAttribute("message", failure.message) + .writeAttribute("type", failure.type) + .writeText(failure.details, false); + } + + for(const auto& error : testCase.errors) { + xml.scopedElement("error") + .writeAttribute("message", error.message) + .writeText(error.details); + } + + xml.endElement(); + } + xml.endElement(); + xml.endElement(); + } + + void test_case_start(const TestCaseData& in) override { + testCaseData.add(skipPathFromFilename(in.m_file.c_str()), in.m_name); + timer.start(); + } + + void test_case_reenter(const TestCaseData& in) override { + testCaseData.addTime(timer.getElapsedSeconds()); + testCaseData.appendSubcaseNamesToLastTestcase(deepestSubcaseStackNames); + deepestSubcaseStackNames.clear(); + + timer.start(); + testCaseData.add(skipPathFromFilename(in.m_file.c_str()), in.m_name); + } + + void test_case_end(const CurrentTestCaseStats&) override { + testCaseData.addTime(timer.getElapsedSeconds()); + testCaseData.appendSubcaseNamesToLastTestcase(deepestSubcaseStackNames); + deepestSubcaseStackNames.clear(); + } + + void test_case_exception(const TestCaseException& e) override { + DOCTEST_LOCK_MUTEX(mutex) + testCaseData.addError("exception", e.error_string.c_str()); + } + + void subcase_start(const SubcaseSignature& in) override { + deepestSubcaseStackNames.push_back(in.m_name); + } + + void subcase_end() override {} + + void log_assert(const AssertData& rb) override { + if(!rb.m_failed) // report only failures & ignore the `success` option + return; + + DOCTEST_LOCK_MUTEX(mutex) + + std::ostringstream os; + os << skipPathFromFilename(rb.m_file) << (opt.gnu_file_line ? ":" : "(") + << line(rb.m_line) << (opt.gnu_file_line ? ":" : "):") << std::endl; + + fulltext_log_assert_to_stream(os, rb); + log_contexts(os); + testCaseData.addFailure(rb.m_decomp.c_str(), assertString(rb.m_at), os.str()); + } + + void log_message(const MessageData& mb) override { + if(mb.m_severity & assertType::is_warn) // report only failures + return; + + DOCTEST_LOCK_MUTEX(mutex) + + std::ostringstream os; + os << skipPathFromFilename(mb.m_file) << (opt.gnu_file_line ? ":" : "(") + << line(mb.m_line) << (opt.gnu_file_line ? ":" : "):") << std::endl; + + os << mb.m_string.c_str() << "\n"; + log_contexts(os); + + testCaseData.addFailure(mb.m_string.c_str(), + mb.m_severity & assertType::is_check ? "FAIL_CHECK" : "FAIL", os.str()); + } + + void test_case_skipped(const TestCaseData&) override {} + + void log_contexts(std::ostringstream& s) { + int num_contexts = get_num_active_contexts(); + if(num_contexts) { + auto contexts = get_active_contexts(); + + s << " logged: "; + for(int i = 0; i < num_contexts; ++i) { + s << (i == 0 ? "" : " "); + contexts[i]->stringify(&s); + s << std::endl; + } + } + } + }; + + DOCTEST_REGISTER_REPORTER("junit", 0, JUnitReporter); + + struct Whitespace + { + int nrSpaces; + explicit Whitespace(int nr) + : nrSpaces(nr) {} + }; + + std::ostream& operator<<(std::ostream& out, const Whitespace& ws) { + if(ws.nrSpaces != 0) + out << std::setw(ws.nrSpaces) << ' '; + return out; + } + + struct ConsoleReporter : public IReporter + { + std::ostream& s; + bool hasLoggedCurrentTestStart; + std::vector subcasesStack; + size_t currentSubcaseLevel; + DOCTEST_DECLARE_MUTEX(mutex) + + // caching pointers/references to objects of these types - safe to do + const ContextOptions& opt; + const TestCaseData* tc; + + ConsoleReporter(const ContextOptions& co) + : s(*co.cout) + , opt(co) {} + + ConsoleReporter(const ContextOptions& co, std::ostream& ostr) + : s(ostr) + , opt(co) {} + + // ========================================================================================= + // WHAT FOLLOWS ARE HELPERS USED BY THE OVERRIDES OF THE VIRTUAL METHODS OF THE INTERFACE + // ========================================================================================= + + void separator_to_stream() { + s << Color::Yellow + << "===============================================================================" + "\n"; + } + + const char* getSuccessOrFailString(bool success, assertType::Enum at, + const char* success_str) { + if(success) + return success_str; + return failureString(at); + } + + Color::Enum getSuccessOrFailColor(bool success, assertType::Enum at) { + return success ? Color::BrightGreen : + (at & assertType::is_warn) ? Color::Yellow : Color::Red; + } + + void successOrFailColoredStringToStream(bool success, assertType::Enum at, + const char* success_str = "SUCCESS") { + s << getSuccessOrFailColor(success, at) + << getSuccessOrFailString(success, at, success_str) << ": "; + } + + void log_contexts() { + int num_contexts = get_num_active_contexts(); + if(num_contexts) { + auto contexts = get_active_contexts(); + + s << Color::None << " logged: "; + for(int i = 0; i < num_contexts; ++i) { + s << (i == 0 ? "" : " "); + contexts[i]->stringify(&s); + s << "\n"; + } + } + + s << "\n"; + } + + // this was requested to be made virtual so users could override it + virtual void file_line_to_stream(const char* file, int line, + const char* tail = "") { + s << Color::LightGrey << skipPathFromFilename(file) << (opt.gnu_file_line ? ":" : "(") + << (opt.no_line_numbers ? 0 : line) // 0 or the real num depending on the option + << (opt.gnu_file_line ? ":" : "):") << tail; + } + + void logTestStart() { + if(hasLoggedCurrentTestStart) + return; + + separator_to_stream(); + file_line_to_stream(tc->m_file.c_str(), tc->m_line, "\n"); + if(tc->m_description) + s << Color::Yellow << "DESCRIPTION: " << Color::None << tc->m_description << "\n"; + if(tc->m_test_suite && tc->m_test_suite[0] != '\0') + s << Color::Yellow << "TEST SUITE: " << Color::None << tc->m_test_suite << "\n"; + if(strncmp(tc->m_name, " Scenario:", 11) != 0) + s << Color::Yellow << "TEST CASE: "; + s << Color::None << tc->m_name << "\n"; + + for(size_t i = 0; i < currentSubcaseLevel; ++i) { + if(subcasesStack[i].m_name[0] != '\0') + s << " " << subcasesStack[i].m_name << "\n"; + } + + if(currentSubcaseLevel != subcasesStack.size()) { + s << Color::Yellow << "\nDEEPEST SUBCASE STACK REACHED (DIFFERENT FROM THE CURRENT ONE):\n" << Color::None; + for(size_t i = 0; i < subcasesStack.size(); ++i) { + if(subcasesStack[i].m_name[0] != '\0') + s << " " << subcasesStack[i].m_name << "\n"; + } + } + + s << "\n"; + + hasLoggedCurrentTestStart = true; + } + + void printVersion() { + if(opt.no_version == false) + s << Color::Cyan << "[doctest] " << Color::None << "doctest version is \"" + << DOCTEST_VERSION_STR << "\"\n"; + } + + void printIntro() { + if(opt.no_intro == false) { + printVersion(); + s << Color::Cyan << "[doctest] " << Color::None + << "run with \"--" DOCTEST_OPTIONS_PREFIX_DISPLAY "help\" for options\n"; + } + } + + void printHelp() { + int sizePrefixDisplay = static_cast(strlen(DOCTEST_OPTIONS_PREFIX_DISPLAY)); + printVersion(); + // clang-format off + s << Color::Cyan << "[doctest]\n" << Color::None; + s << Color::Cyan << "[doctest] " << Color::None; + s << "boolean values: \"1/on/yes/true\" or \"0/off/no/false\"\n"; + s << Color::Cyan << "[doctest] " << Color::None; + s << "filter values: \"str1,str2,str3\" (comma separated strings)\n"; + s << Color::Cyan << "[doctest]\n" << Color::None; + s << Color::Cyan << "[doctest] " << Color::None; + s << "filters use wildcards for matching strings\n"; + s << Color::Cyan << "[doctest] " << Color::None; + s << "something passes a filter if any of the strings in a filter matches\n"; +#ifndef DOCTEST_CONFIG_NO_UNPREFIXED_OPTIONS + s << Color::Cyan << "[doctest]\n" << Color::None; + s << Color::Cyan << "[doctest] " << Color::None; + s << "ALL FLAGS, OPTIONS AND FILTERS ALSO AVAILABLE WITH A \"" DOCTEST_CONFIG_OPTIONS_PREFIX "\" PREFIX!!!\n"; +#endif + s << Color::Cyan << "[doctest]\n" << Color::None; + s << Color::Cyan << "[doctest] " << Color::None; + s << "Query flags - the program quits after them. Available:\n\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "?, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "help, -" DOCTEST_OPTIONS_PREFIX_DISPLAY "h " + << Whitespace(sizePrefixDisplay*0) << "prints this message\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "v, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "version " + << Whitespace(sizePrefixDisplay*1) << "prints the version\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "c, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "count " + << Whitespace(sizePrefixDisplay*1) << "prints the number of matching tests\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "ltc, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "list-test-cases " + << Whitespace(sizePrefixDisplay*1) << "lists all matching tests by name\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "lts, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "list-test-suites " + << Whitespace(sizePrefixDisplay*1) << "lists all matching test suites\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "lr, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "list-reporters " + << Whitespace(sizePrefixDisplay*1) << "lists all registered reporters\n\n"; + // ================================================================================== << 79 + s << Color::Cyan << "[doctest] " << Color::None; + s << "The available / options/filters are:\n\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "tc, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "test-case= " + << Whitespace(sizePrefixDisplay*1) << "filters tests by their name\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "tce, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "test-case-exclude= " + << Whitespace(sizePrefixDisplay*1) << "filters OUT tests by their name\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "sf, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "source-file= " + << Whitespace(sizePrefixDisplay*1) << "filters tests by their file\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "sfe, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "source-file-exclude= " + << Whitespace(sizePrefixDisplay*1) << "filters OUT tests by their file\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "ts, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "test-suite= " + << Whitespace(sizePrefixDisplay*1) << "filters tests by their test suite\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "tse, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "test-suite-exclude= " + << Whitespace(sizePrefixDisplay*1) << "filters OUT tests by their test suite\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "sc, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "subcase= " + << Whitespace(sizePrefixDisplay*1) << "filters subcases by their name\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "sce, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "subcase-exclude= " + << Whitespace(sizePrefixDisplay*1) << "filters OUT subcases by their name\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "r, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "reporters= " + << Whitespace(sizePrefixDisplay*1) << "reporters to use (console is default)\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "o, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "out= " + << Whitespace(sizePrefixDisplay*1) << "output filename\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "ob, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "order-by= " + << Whitespace(sizePrefixDisplay*1) << "how the tests should be ordered\n"; + s << Whitespace(sizePrefixDisplay*3) << " - [file/suite/name/rand/none]\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "rs, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "rand-seed= " + << Whitespace(sizePrefixDisplay*1) << "seed for random ordering\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "f, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "first= " + << Whitespace(sizePrefixDisplay*1) << "the first test passing the filters to\n"; + s << Whitespace(sizePrefixDisplay*3) << " execute - for range-based execution\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "l, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "last= " + << Whitespace(sizePrefixDisplay*1) << "the last test passing the filters to\n"; + s << Whitespace(sizePrefixDisplay*3) << " execute - for range-based execution\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "aa, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "abort-after= " + << Whitespace(sizePrefixDisplay*1) << "stop after failed assertions\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "scfl,--" DOCTEST_OPTIONS_PREFIX_DISPLAY "subcase-filter-levels= " + << Whitespace(sizePrefixDisplay*1) << "apply filters for the first levels\n"; + s << Color::Cyan << "\n[doctest] " << Color::None; + s << "Bool options - can be used like flags and true is assumed. Available:\n\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "s, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "success= " + << Whitespace(sizePrefixDisplay*1) << "include successful assertions in output\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "cs, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "case-sensitive= " + << Whitespace(sizePrefixDisplay*1) << "filters being treated as case sensitive\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "e, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "exit= " + << Whitespace(sizePrefixDisplay*1) << "exits after the tests finish\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "d, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "duration= " + << Whitespace(sizePrefixDisplay*1) << "prints the time duration of each test\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "m, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "minimal= " + << Whitespace(sizePrefixDisplay*1) << "minimal console output (only failures)\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "q, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "quiet= " + << Whitespace(sizePrefixDisplay*1) << "no console output\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "nt, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "no-throw= " + << Whitespace(sizePrefixDisplay*1) << "skips exceptions-related assert checks\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "ne, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "no-exitcode= " + << Whitespace(sizePrefixDisplay*1) << "returns (or exits) always with success\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "nr, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "no-run= " + << Whitespace(sizePrefixDisplay*1) << "skips all runtime doctest operations\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "ni, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "no-intro= " + << Whitespace(sizePrefixDisplay*1) << "omit the framework intro in the output\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "nv, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "no-version= " + << Whitespace(sizePrefixDisplay*1) << "omit the framework version in the output\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "nc, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "no-colors= " + << Whitespace(sizePrefixDisplay*1) << "disables colors in output\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "fc, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "force-colors= " + << Whitespace(sizePrefixDisplay*1) << "use colors even when not in a tty\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "nb, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "no-breaks= " + << Whitespace(sizePrefixDisplay*1) << "disables breakpoints in debuggers\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "ns, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "no-skip= " + << Whitespace(sizePrefixDisplay*1) << "don't skip test cases marked as skip\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "gfl, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "gnu-file-line= " + << Whitespace(sizePrefixDisplay*1) << ":n: vs (n): for line numbers in output\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "npf, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "no-path-filenames= " + << Whitespace(sizePrefixDisplay*1) << "only filenames and no paths in output\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "nln, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "no-line-numbers= " + << Whitespace(sizePrefixDisplay*1) << "0 instead of real line numbers in output\n"; + // ================================================================================== << 79 + // clang-format on + + s << Color::Cyan << "\n[doctest] " << Color::None; + s << "for more information visit the project documentation\n\n"; + } + + void printRegisteredReporters() { + printVersion(); + auto printReporters = [this] (const reporterMap& reporters, const char* type) { + if(reporters.size()) { + s << Color::Cyan << "[doctest] " << Color::None << "listing all registered " << type << "\n"; + for(auto& curr : reporters) + s << "priority: " << std::setw(5) << curr.first.first + << " name: " << curr.first.second << "\n"; + } + }; + printReporters(getListeners(), "listeners"); + printReporters(getReporters(), "reporters"); + } + + // ========================================================================================= + // WHAT FOLLOWS ARE OVERRIDES OF THE VIRTUAL METHODS OF THE REPORTER INTERFACE + // ========================================================================================= + + void report_query(const QueryData& in) override { + if(opt.version) { + printVersion(); + } else if(opt.help) { + printHelp(); + } else if(opt.list_reporters) { + printRegisteredReporters(); + } else if(opt.count || opt.list_test_cases) { + if(opt.list_test_cases) { + s << Color::Cyan << "[doctest] " << Color::None + << "listing all test case names\n"; + separator_to_stream(); + } + + for(unsigned i = 0; i < in.num_data; ++i) + s << Color::None << in.data[i]->m_name << "\n"; + + separator_to_stream(); + + s << Color::Cyan << "[doctest] " << Color::None + << "unskipped test cases passing the current filters: " + << g_cs->numTestCasesPassingFilters << "\n"; + + } else if(opt.list_test_suites) { + s << Color::Cyan << "[doctest] " << Color::None << "listing all test suites\n"; + separator_to_stream(); + + for(unsigned i = 0; i < in.num_data; ++i) + s << Color::None << in.data[i]->m_test_suite << "\n"; + + separator_to_stream(); + + s << Color::Cyan << "[doctest] " << Color::None + << "unskipped test cases passing the current filters: " + << g_cs->numTestCasesPassingFilters << "\n"; + s << Color::Cyan << "[doctest] " << Color::None + << "test suites with unskipped test cases passing the current filters: " + << g_cs->numTestSuitesPassingFilters << "\n"; + } + } + + void test_run_start() override { + if(!opt.minimal) + printIntro(); + } + + void test_run_end(const TestRunStats& p) override { + if(opt.minimal && p.numTestCasesFailed == 0) + return; + + separator_to_stream(); + s << std::dec; + + auto totwidth = int(std::ceil(log10(static_cast(std::max(p.numTestCasesPassingFilters, static_cast(p.numAsserts))) + 1))); + auto passwidth = int(std::ceil(log10(static_cast(std::max(p.numTestCasesPassingFilters - p.numTestCasesFailed, static_cast(p.numAsserts - p.numAssertsFailed))) + 1))); + auto failwidth = int(std::ceil(log10(static_cast(std::max(p.numTestCasesFailed, static_cast(p.numAssertsFailed))) + 1))); + const bool anythingFailed = p.numTestCasesFailed > 0 || p.numAssertsFailed > 0; + s << Color::Cyan << "[doctest] " << Color::None << "test cases: " << std::setw(totwidth) + << p.numTestCasesPassingFilters << " | " + << ((p.numTestCasesPassingFilters == 0 || anythingFailed) ? Color::None : + Color::Green) + << std::setw(passwidth) << p.numTestCasesPassingFilters - p.numTestCasesFailed << " passed" + << Color::None << " | " << (p.numTestCasesFailed > 0 ? Color::Red : Color::None) + << std::setw(failwidth) << p.numTestCasesFailed << " failed" << Color::None << " |"; + if(opt.no_skipped_summary == false) { + const int numSkipped = p.numTestCases - p.numTestCasesPassingFilters; + s << " " << (numSkipped == 0 ? Color::None : Color::Yellow) << numSkipped + << " skipped" << Color::None; + } + s << "\n"; + s << Color::Cyan << "[doctest] " << Color::None << "assertions: " << std::setw(totwidth) + << p.numAsserts << " | " + << ((p.numAsserts == 0 || anythingFailed) ? Color::None : Color::Green) + << std::setw(passwidth) << (p.numAsserts - p.numAssertsFailed) << " passed" << Color::None + << " | " << (p.numAssertsFailed > 0 ? Color::Red : Color::None) << std::setw(failwidth) + << p.numAssertsFailed << " failed" << Color::None << " |\n"; + s << Color::Cyan << "[doctest] " << Color::None + << "Status: " << (p.numTestCasesFailed > 0 ? Color::Red : Color::Green) + << ((p.numTestCasesFailed > 0) ? "FAILURE!" : "SUCCESS!") << Color::None << std::endl; + } + + void test_case_start(const TestCaseData& in) override { + hasLoggedCurrentTestStart = false; + tc = ∈ + subcasesStack.clear(); + currentSubcaseLevel = 0; + } + + void test_case_reenter(const TestCaseData&) override { + subcasesStack.clear(); + } + + void test_case_end(const CurrentTestCaseStats& st) override { + if(tc->m_no_output) + return; + + // log the preamble of the test case only if there is something + // else to print - something other than that an assert has failed + if(opt.duration || + (st.failure_flags && st.failure_flags != static_cast(TestCaseFailureReason::AssertFailure))) + logTestStart(); + + if(opt.duration) + s << Color::None << std::setprecision(6) << std::fixed << st.seconds + << " s: " << tc->m_name << "\n"; + + if(st.failure_flags & TestCaseFailureReason::Timeout) + s << Color::Red << "Test case exceeded time limit of " << std::setprecision(6) + << std::fixed << tc->m_timeout << "!\n"; + + if(st.failure_flags & TestCaseFailureReason::ShouldHaveFailedButDidnt) { + s << Color::Red << "Should have failed but didn't! Marking it as failed!\n"; + } else if(st.failure_flags & TestCaseFailureReason::ShouldHaveFailedAndDid) { + s << Color::Yellow << "Failed as expected so marking it as not failed\n"; + } else if(st.failure_flags & TestCaseFailureReason::CouldHaveFailedAndDid) { + s << Color::Yellow << "Allowed to fail so marking it as not failed\n"; + } else if(st.failure_flags & TestCaseFailureReason::DidntFailExactlyNumTimes) { + s << Color::Red << "Didn't fail exactly " << tc->m_expected_failures + << " times so marking it as failed!\n"; + } else if(st.failure_flags & TestCaseFailureReason::FailedExactlyNumTimes) { + s << Color::Yellow << "Failed exactly " << tc->m_expected_failures + << " times as expected so marking it as not failed!\n"; + } + if(st.failure_flags & TestCaseFailureReason::TooManyFailedAsserts) { + s << Color::Red << "Aborting - too many failed asserts!\n"; + } + s << Color::None; // lgtm [cpp/useless-expression] + } + + void test_case_exception(const TestCaseException& e) override { + DOCTEST_LOCK_MUTEX(mutex) + if(tc->m_no_output) + return; + + logTestStart(); + + file_line_to_stream(tc->m_file.c_str(), tc->m_line, " "); + successOrFailColoredStringToStream(false, e.is_crash ? assertType::is_require : + assertType::is_check); + s << Color::Red << (e.is_crash ? "test case CRASHED: " : "test case THREW exception: ") + << Color::Cyan << e.error_string << "\n"; + + int num_stringified_contexts = get_num_stringified_contexts(); + if(num_stringified_contexts) { + auto stringified_contexts = get_stringified_contexts(); + s << Color::None << " logged: "; + for(int i = num_stringified_contexts; i > 0; --i) { + s << (i == num_stringified_contexts ? "" : " ") + << stringified_contexts[i - 1] << "\n"; + } + } + s << "\n" << Color::None; + } + + void subcase_start(const SubcaseSignature& subc) override { + subcasesStack.push_back(subc); + ++currentSubcaseLevel; + hasLoggedCurrentTestStart = false; + } + + void subcase_end() override { + --currentSubcaseLevel; + hasLoggedCurrentTestStart = false; + } + + void log_assert(const AssertData& rb) override { + if((!rb.m_failed && !opt.success) || tc->m_no_output) + return; + + DOCTEST_LOCK_MUTEX(mutex) + + logTestStart(); + + file_line_to_stream(rb.m_file, rb.m_line, " "); + successOrFailColoredStringToStream(!rb.m_failed, rb.m_at); + + fulltext_log_assert_to_stream(s, rb); + + log_contexts(); + } + + void log_message(const MessageData& mb) override { + if(tc->m_no_output) + return; + + DOCTEST_LOCK_MUTEX(mutex) + + logTestStart(); + + file_line_to_stream(mb.m_file, mb.m_line, " "); + s << getSuccessOrFailColor(false, mb.m_severity) + << getSuccessOrFailString(mb.m_severity & assertType::is_warn, mb.m_severity, + "MESSAGE") << ": "; + s << Color::None << mb.m_string << "\n"; + log_contexts(); + } + + void test_case_skipped(const TestCaseData&) override {} + }; + + DOCTEST_REGISTER_REPORTER("console", 0, ConsoleReporter); + +#ifdef DOCTEST_PLATFORM_WINDOWS + struct DebugOutputWindowReporter : public ConsoleReporter + { + DOCTEST_THREAD_LOCAL static std::ostringstream oss; + + DebugOutputWindowReporter(const ContextOptions& co) + : ConsoleReporter(co, oss) {} + +#define DOCTEST_DEBUG_OUTPUT_REPORTER_OVERRIDE(func, type, arg) \ + void func(type arg) override { \ + bool with_col = g_no_colors; \ + g_no_colors = false; \ + ConsoleReporter::func(arg); \ + if(oss.tellp() != std::streampos{}) { \ + DOCTEST_OUTPUT_DEBUG_STRING(oss.str().c_str()); \ + oss.str(""); \ + } \ + g_no_colors = with_col; \ + } + + DOCTEST_DEBUG_OUTPUT_REPORTER_OVERRIDE(test_run_start, DOCTEST_EMPTY, DOCTEST_EMPTY) + DOCTEST_DEBUG_OUTPUT_REPORTER_OVERRIDE(test_run_end, const TestRunStats&, in) + DOCTEST_DEBUG_OUTPUT_REPORTER_OVERRIDE(test_case_start, const TestCaseData&, in) + DOCTEST_DEBUG_OUTPUT_REPORTER_OVERRIDE(test_case_reenter, const TestCaseData&, in) + DOCTEST_DEBUG_OUTPUT_REPORTER_OVERRIDE(test_case_end, const CurrentTestCaseStats&, in) + DOCTEST_DEBUG_OUTPUT_REPORTER_OVERRIDE(test_case_exception, const TestCaseException&, in) + DOCTEST_DEBUG_OUTPUT_REPORTER_OVERRIDE(subcase_start, const SubcaseSignature&, in) + DOCTEST_DEBUG_OUTPUT_REPORTER_OVERRIDE(subcase_end, DOCTEST_EMPTY, DOCTEST_EMPTY) + DOCTEST_DEBUG_OUTPUT_REPORTER_OVERRIDE(log_assert, const AssertData&, in) + DOCTEST_DEBUG_OUTPUT_REPORTER_OVERRIDE(log_message, const MessageData&, in) + DOCTEST_DEBUG_OUTPUT_REPORTER_OVERRIDE(test_case_skipped, const TestCaseData&, in) + }; + + DOCTEST_THREAD_LOCAL std::ostringstream DebugOutputWindowReporter::oss; +#endif // DOCTEST_PLATFORM_WINDOWS + + // the implementation of parseOption() + bool parseOptionImpl(int argc, const char* const* argv, const char* pattern, String* value) { + // going from the end to the beginning and stopping on the first occurrence from the end + for(int i = argc; i > 0; --i) { + auto index = i - 1; + auto temp = std::strstr(argv[index], pattern); + if(temp && (value || strlen(temp) == strlen(pattern))) { //!OCLINT prefer early exits and continue + // eliminate matches in which the chars before the option are not '-' + bool noBadCharsFound = true; + auto curr = argv[index]; + while(curr != temp) { + if(*curr++ != '-') { + noBadCharsFound = false; + break; + } + } + if(noBadCharsFound && argv[index][0] == '-') { + if(value) { + // parsing the value of an option + temp += strlen(pattern); + const unsigned len = strlen(temp); + if(len) { + *value = temp; + return true; + } + } else { + // just a flag - no value + return true; + } + } + } + } + return false; + } + + // parses an option and returns the string after the '=' character + bool parseOption(int argc, const char* const* argv, const char* pattern, String* value = nullptr, + const String& defaultVal = String()) { + if(value) + *value = defaultVal; +#ifndef DOCTEST_CONFIG_NO_UNPREFIXED_OPTIONS + // offset (normally 3 for "dt-") to skip prefix + if(parseOptionImpl(argc, argv, pattern + strlen(DOCTEST_CONFIG_OPTIONS_PREFIX), value)) + return true; +#endif // DOCTEST_CONFIG_NO_UNPREFIXED_OPTIONS + return parseOptionImpl(argc, argv, pattern, value); + } + + // locates a flag on the command line + bool parseFlag(int argc, const char* const* argv, const char* pattern) { + return parseOption(argc, argv, pattern); + } + + // parses a comma separated list of words after a pattern in one of the arguments in argv + bool parseCommaSepArgs(int argc, const char* const* argv, const char* pattern, + std::vector& res) { + String filtersString; + if(parseOption(argc, argv, pattern, &filtersString)) { + // tokenize with "," as a separator, unless escaped with backslash + std::ostringstream s; + auto flush = [&s, &res]() { + auto string = s.str(); + if(string.size() > 0) { + res.push_back(string.c_str()); + } + s.str(""); + }; + + bool seenBackslash = false; + const char* current = filtersString.c_str(); + const char* end = current + strlen(current); + while(current != end) { + char character = *current++; + if(seenBackslash) { + seenBackslash = false; + if(character == ',' || character == '\\') { + s.put(character); + continue; + } + s.put('\\'); + } + if(character == '\\') { + seenBackslash = true; + } else if(character == ',') { + flush(); + } else { + s.put(character); + } + } + + if(seenBackslash) { + s.put('\\'); + } + flush(); + return true; + } + return false; + } + + enum optionType + { + option_bool, + option_int + }; + + // parses an int/bool option from the command line + bool parseIntOption(int argc, const char* const* argv, const char* pattern, optionType type, + int& res) { + String parsedValue; + if(!parseOption(argc, argv, pattern, &parsedValue)) + return false; + + if(type) { + // integer + // TODO: change this to use std::stoi or something else! currently it uses undefined behavior - assumes '0' on failed parse... + int theInt = std::atoi(parsedValue.c_str()); + if (theInt != 0) { + res = theInt; //!OCLINT parameter reassignment + return true; + } + } else { + // boolean + const char positive[][5] = { "1", "true", "on", "yes" }; // 5 - strlen("true") + 1 + const char negative[][6] = { "0", "false", "off", "no" }; // 6 - strlen("false") + 1 + + // if the value matches any of the positive/negative possibilities + for (unsigned i = 0; i < 4; i++) { + if (parsedValue.compare(positive[i], true) == 0) { + res = 1; //!OCLINT parameter reassignment + return true; + } + if (parsedValue.compare(negative[i], true) == 0) { + res = 0; //!OCLINT parameter reassignment + return true; + } + } + } + return false; + } +} // namespace + +Context::Context(int argc, const char* const* argv) + : p(new detail::ContextState) { + parseArgs(argc, argv, true); + if(argc) + p->binary_name = argv[0]; +} + +Context::~Context() { + if(g_cs == p) + g_cs = nullptr; + delete p; +} + +void Context::applyCommandLine(int argc, const char* const* argv) { + parseArgs(argc, argv); + if(argc) + p->binary_name = argv[0]; +} + +// parses args +void Context::parseArgs(int argc, const char* const* argv, bool withDefaults) { + using namespace detail; + + // clang-format off + parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "source-file=", p->filters[0]); + parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "sf=", p->filters[0]); + parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "source-file-exclude=",p->filters[1]); + parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "sfe=", p->filters[1]); + parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "test-suite=", p->filters[2]); + parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "ts=", p->filters[2]); + parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "test-suite-exclude=", p->filters[3]); + parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "tse=", p->filters[3]); + parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "test-case=", p->filters[4]); + parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "tc=", p->filters[4]); + parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "test-case-exclude=", p->filters[5]); + parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "tce=", p->filters[5]); + parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "subcase=", p->filters[6]); + parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "sc=", p->filters[6]); + parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "subcase-exclude=", p->filters[7]); + parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "sce=", p->filters[7]); + parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "reporters=", p->filters[8]); + parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "r=", p->filters[8]); + // clang-format on + + int intRes = 0; + String strRes; + +#define DOCTEST_PARSE_AS_BOOL_OR_FLAG(name, sname, var, default) \ + if(parseIntOption(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX name "=", option_bool, intRes) || \ + parseIntOption(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX sname "=", option_bool, intRes)) \ + p->var = static_cast(intRes); \ + else if(parseFlag(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX name) || \ + parseFlag(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX sname)) \ + p->var = true; \ + else if(withDefaults) \ + p->var = default + +#define DOCTEST_PARSE_INT_OPTION(name, sname, var, default) \ + if(parseIntOption(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX name "=", option_int, intRes) || \ + parseIntOption(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX sname "=", option_int, intRes)) \ + p->var = intRes; \ + else if(withDefaults) \ + p->var = default + +#define DOCTEST_PARSE_STR_OPTION(name, sname, var, default) \ + if(parseOption(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX name "=", &strRes, default) || \ + parseOption(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX sname "=", &strRes, default) || \ + withDefaults) \ + p->var = strRes + + // clang-format off + DOCTEST_PARSE_STR_OPTION("out", "o", out, ""); + DOCTEST_PARSE_STR_OPTION("order-by", "ob", order_by, "file"); + DOCTEST_PARSE_INT_OPTION("rand-seed", "rs", rand_seed, 0); + + DOCTEST_PARSE_INT_OPTION("first", "f", first, 0); + DOCTEST_PARSE_INT_OPTION("last", "l", last, UINT_MAX); + + DOCTEST_PARSE_INT_OPTION("abort-after", "aa", abort_after, 0); + DOCTEST_PARSE_INT_OPTION("subcase-filter-levels", "scfl", subcase_filter_levels, INT_MAX); + + DOCTEST_PARSE_AS_BOOL_OR_FLAG("success", "s", success, false); + DOCTEST_PARSE_AS_BOOL_OR_FLAG("case-sensitive", "cs", case_sensitive, false); + DOCTEST_PARSE_AS_BOOL_OR_FLAG("exit", "e", exit, false); + DOCTEST_PARSE_AS_BOOL_OR_FLAG("duration", "d", duration, false); + DOCTEST_PARSE_AS_BOOL_OR_FLAG("minimal", "m", minimal, false); + DOCTEST_PARSE_AS_BOOL_OR_FLAG("quiet", "q", quiet, false); + DOCTEST_PARSE_AS_BOOL_OR_FLAG("no-throw", "nt", no_throw, false); + DOCTEST_PARSE_AS_BOOL_OR_FLAG("no-exitcode", "ne", no_exitcode, false); + DOCTEST_PARSE_AS_BOOL_OR_FLAG("no-run", "nr", no_run, false); + DOCTEST_PARSE_AS_BOOL_OR_FLAG("no-intro", "ni", no_intro, false); + DOCTEST_PARSE_AS_BOOL_OR_FLAG("no-version", "nv", no_version, false); + DOCTEST_PARSE_AS_BOOL_OR_FLAG("no-colors", "nc", no_colors, false); + DOCTEST_PARSE_AS_BOOL_OR_FLAG("force-colors", "fc", force_colors, false); + DOCTEST_PARSE_AS_BOOL_OR_FLAG("no-breaks", "nb", no_breaks, false); + DOCTEST_PARSE_AS_BOOL_OR_FLAG("no-skip", "ns", no_skip, false); + DOCTEST_PARSE_AS_BOOL_OR_FLAG("gnu-file-line", "gfl", gnu_file_line, !bool(DOCTEST_MSVC)); + DOCTEST_PARSE_AS_BOOL_OR_FLAG("no-path-filenames", "npf", no_path_in_filenames, false); + DOCTEST_PARSE_AS_BOOL_OR_FLAG("no-line-numbers", "nln", no_line_numbers, false); + DOCTEST_PARSE_AS_BOOL_OR_FLAG("no-debug-output", "ndo", no_debug_output, false); + DOCTEST_PARSE_AS_BOOL_OR_FLAG("no-skipped-summary", "nss", no_skipped_summary, false); + DOCTEST_PARSE_AS_BOOL_OR_FLAG("no-time-in-output", "ntio", no_time_in_output, false); + // clang-format on + + if(withDefaults) { + p->help = false; + p->version = false; + p->count = false; + p->list_test_cases = false; + p->list_test_suites = false; + p->list_reporters = false; + } + if(parseFlag(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "help") || + parseFlag(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "h") || + parseFlag(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "?")) { + p->help = true; + p->exit = true; + } + if(parseFlag(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "version") || + parseFlag(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "v")) { + p->version = true; + p->exit = true; + } + if(parseFlag(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "count") || + parseFlag(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "c")) { + p->count = true; + p->exit = true; + } + if(parseFlag(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "list-test-cases") || + parseFlag(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "ltc")) { + p->list_test_cases = true; + p->exit = true; + } + if(parseFlag(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "list-test-suites") || + parseFlag(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "lts")) { + p->list_test_suites = true; + p->exit = true; + } + if(parseFlag(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "list-reporters") || + parseFlag(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "lr")) { + p->list_reporters = true; + p->exit = true; + } +} + +// allows the user to add procedurally to the filters from the command line +void Context::addFilter(const char* filter, const char* value) { setOption(filter, value); } + +// allows the user to clear all filters from the command line +void Context::clearFilters() { + for(auto& curr : p->filters) + curr.clear(); +} + +// allows the user to override procedurally the bool options from the command line +void Context::setOption(const char* option, bool value) { + setOption(option, value ? "true" : "false"); +} + +// allows the user to override procedurally the int options from the command line +void Context::setOption(const char* option, int value) { + setOption(option, toString(value).c_str()); +} + +// allows the user to override procedurally the string options from the command line +void Context::setOption(const char* option, const char* value) { + auto argv = String("-") + option + "=" + value; + auto lvalue = argv.c_str(); + parseArgs(1, &lvalue); +} + +// users should query this in their main() and exit the program if true +bool Context::shouldExit() { return p->exit; } + +void Context::setAsDefaultForAssertsOutOfTestCases() { g_cs = p; } + +void Context::setAssertHandler(detail::assert_handler ah) { p->ah = ah; } + +void Context::setCout(std::ostream* out) { p->cout = out; } + +static class DiscardOStream : public std::ostream +{ +private: + class : public std::streambuf + { + private: + // allowing some buffering decreases the amount of calls to overflow + char buf[1024]; + + protected: + std::streamsize xsputn(const char_type*, std::streamsize count) override { return count; } + + int_type overflow(int_type ch) override { + setp(std::begin(buf), std::end(buf)); + return traits_type::not_eof(ch); + } + } discardBuf; + +public: + DiscardOStream() + : std::ostream(&discardBuf) {} +} discardOut; + +// the main function that does all the filtering and test running +int Context::run() { + using namespace detail; + + // save the old context state in case such was setup - for using asserts out of a testing context + auto old_cs = g_cs; + // this is the current contest + g_cs = p; + is_running_in_test = true; + + g_no_colors = p->no_colors; + p->resetRunData(); + + std::fstream fstr; + if(p->cout == nullptr) { + if(p->quiet) { + p->cout = &discardOut; + } else if(p->out.size()) { + // to a file if specified + fstr.open(p->out.c_str(), std::fstream::out); + p->cout = &fstr; + } else { +#ifndef DOCTEST_CONFIG_NO_INCLUDE_IOSTREAM + // stdout by default + p->cout = &std::cout; +#else // DOCTEST_CONFIG_NO_INCLUDE_IOSTREAM + return EXIT_FAILURE; +#endif // DOCTEST_CONFIG_NO_INCLUDE_IOSTREAM + } + } + + FatalConditionHandler::allocateAltStackMem(); + + auto cleanup_and_return = [&]() { + FatalConditionHandler::freeAltStackMem(); + + if(fstr.is_open()) + fstr.close(); + + // restore context + g_cs = old_cs; + is_running_in_test = false; + + // we have to free the reporters which were allocated when the run started + for(auto& curr : p->reporters_currently_used) + delete curr; + p->reporters_currently_used.clear(); + + if(p->numTestCasesFailed && !p->no_exitcode) + return EXIT_FAILURE; + return EXIT_SUCCESS; + }; + + // setup default reporter if none is given through the command line + if(p->filters[8].empty()) + p->filters[8].push_back("console"); + + // check to see if any of the registered reporters has been selected + for(auto& curr : getReporters()) { + if(matchesAny(curr.first.second.c_str(), p->filters[8], false, p->case_sensitive)) + p->reporters_currently_used.push_back(curr.second(*g_cs)); + } + + // TODO: check if there is nothing in reporters_currently_used + + // prepend all listeners + for(auto& curr : getListeners()) + p->reporters_currently_used.insert(p->reporters_currently_used.begin(), curr.second(*g_cs)); + +#ifdef DOCTEST_PLATFORM_WINDOWS + if(isDebuggerActive() && p->no_debug_output == false) + p->reporters_currently_used.push_back(new DebugOutputWindowReporter(*g_cs)); +#endif // DOCTEST_PLATFORM_WINDOWS + + // handle version, help and no_run + if(p->no_run || p->version || p->help || p->list_reporters) { + DOCTEST_ITERATE_THROUGH_REPORTERS(report_query, QueryData()); + + return cleanup_and_return(); + } + + std::vector testArray; + for(auto& curr : getRegisteredTests()) + testArray.push_back(&curr); + p->numTestCases = testArray.size(); + + // sort the collected records + if(!testArray.empty()) { + if(p->order_by.compare("file", true) == 0) { + std::sort(testArray.begin(), testArray.end(), fileOrderComparator); + } else if(p->order_by.compare("suite", true) == 0) { + std::sort(testArray.begin(), testArray.end(), suiteOrderComparator); + } else if(p->order_by.compare("name", true) == 0) { + std::sort(testArray.begin(), testArray.end(), nameOrderComparator); + } else if(p->order_by.compare("rand", true) == 0) { + std::srand(p->rand_seed); + + // random_shuffle implementation + const auto first = &testArray[0]; + for(size_t i = testArray.size() - 1; i > 0; --i) { + int idxToSwap = std::rand() % (i + 1); + + const auto temp = first[i]; + + first[i] = first[idxToSwap]; + first[idxToSwap] = temp; + } + } else if(p->order_by.compare("none", true) == 0) { + // means no sorting - beneficial for death tests which call into the executable + // with a specific test case in mind - we don't want to slow down the startup times + } + } + + std::set testSuitesPassingFilt; + + bool query_mode = p->count || p->list_test_cases || p->list_test_suites; + std::vector queryResults; + + if(!query_mode) + DOCTEST_ITERATE_THROUGH_REPORTERS(test_run_start, DOCTEST_EMPTY); + + // invoke the registered functions if they match the filter criteria (or just count them) + for(auto& curr : testArray) { + const auto& tc = *curr; + + bool skip_me = false; + if(tc.m_skip && !p->no_skip) + skip_me = true; + + if(!matchesAny(tc.m_file.c_str(), p->filters[0], true, p->case_sensitive)) + skip_me = true; + if(matchesAny(tc.m_file.c_str(), p->filters[1], false, p->case_sensitive)) + skip_me = true; + if(!matchesAny(tc.m_test_suite, p->filters[2], true, p->case_sensitive)) + skip_me = true; + if(matchesAny(tc.m_test_suite, p->filters[3], false, p->case_sensitive)) + skip_me = true; + if(!matchesAny(tc.m_name, p->filters[4], true, p->case_sensitive)) + skip_me = true; + if(matchesAny(tc.m_name, p->filters[5], false, p->case_sensitive)) + skip_me = true; + + if(!skip_me) + p->numTestCasesPassingFilters++; + + // skip the test if it is not in the execution range + if((p->last < p->numTestCasesPassingFilters && p->first <= p->last) || + (p->first > p->numTestCasesPassingFilters)) + skip_me = true; + + if(skip_me) { + if(!query_mode) + DOCTEST_ITERATE_THROUGH_REPORTERS(test_case_skipped, tc); + continue; + } + + // do not execute the test if we are to only count the number of filter passing tests + if(p->count) + continue; + + // print the name of the test and don't execute it + if(p->list_test_cases) { + queryResults.push_back(&tc); + continue; + } + + // print the name of the test suite if not done already and don't execute it + if(p->list_test_suites) { + if((testSuitesPassingFilt.count(tc.m_test_suite) == 0) && tc.m_test_suite[0] != '\0') { + queryResults.push_back(&tc); + testSuitesPassingFilt.insert(tc.m_test_suite); + p->numTestSuitesPassingFilters++; + } + continue; + } + + // execute the test if it passes all the filtering + { + p->currentTest = &tc; + + p->failure_flags = TestCaseFailureReason::None; + p->seconds = 0; + + // reset atomic counters + p->numAssertsFailedCurrentTest_atomic = 0; + p->numAssertsCurrentTest_atomic = 0; + + p->fullyTraversedSubcases.clear(); + + DOCTEST_ITERATE_THROUGH_REPORTERS(test_case_start, tc); + + p->timer.start(); + + bool run_test = true; + + do { + // reset some of the fields for subcases (except for the set of fully passed ones) + p->reachedLeaf = false; + // May not be empty if previous subcase exited via exception. + p->subcaseStack.clear(); + p->currentSubcaseDepth = 0; + + p->shouldLogCurrentException = true; + + // reset stuff for logging with INFO() + p->stringifiedContexts.clear(); + +#ifndef DOCTEST_CONFIG_NO_EXCEPTIONS + try { +#endif // DOCTEST_CONFIG_NO_EXCEPTIONS +// MSVC 2015 diagnoses fatalConditionHandler as unused (because reset() is a static method) +DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(4101) // unreferenced local variable + FatalConditionHandler fatalConditionHandler; // Handle signals + // execute the test + tc.m_test(); + fatalConditionHandler.reset(); +DOCTEST_MSVC_SUPPRESS_WARNING_POP +#ifndef DOCTEST_CONFIG_NO_EXCEPTIONS + } catch(const TestFailureException&) { + p->failure_flags |= TestCaseFailureReason::AssertFailure; + } catch(...) { + DOCTEST_ITERATE_THROUGH_REPORTERS(test_case_exception, + {translateActiveException(), false}); + p->failure_flags |= TestCaseFailureReason::Exception; + } +#endif // DOCTEST_CONFIG_NO_EXCEPTIONS + + // exit this loop if enough assertions have failed - even if there are more subcases + if(p->abort_after > 0 && + p->numAssertsFailed + p->numAssertsFailedCurrentTest_atomic >= p->abort_after) { + run_test = false; + p->failure_flags |= TestCaseFailureReason::TooManyFailedAsserts; + } + + if(!p->nextSubcaseStack.empty() && run_test) + DOCTEST_ITERATE_THROUGH_REPORTERS(test_case_reenter, tc); + if(p->nextSubcaseStack.empty()) + run_test = false; + } while(run_test); + + p->finalizeTestCaseData(); + + DOCTEST_ITERATE_THROUGH_REPORTERS(test_case_end, *g_cs); + + p->currentTest = nullptr; + + // stop executing tests if enough assertions have failed + if(p->abort_after > 0 && p->numAssertsFailed >= p->abort_after) + break; + } + } + + if(!query_mode) { + DOCTEST_ITERATE_THROUGH_REPORTERS(test_run_end, *g_cs); + } else { + QueryData qdata; + qdata.run_stats = g_cs; + qdata.data = queryResults.data(); + qdata.num_data = unsigned(queryResults.size()); + DOCTEST_ITERATE_THROUGH_REPORTERS(report_query, qdata); + } + + return cleanup_and_return(); +} + +DOCTEST_DEFINE_INTERFACE(IReporter) + +int IReporter::get_num_active_contexts() { return detail::g_infoContexts.size(); } +const IContextScope* const* IReporter::get_active_contexts() { + return get_num_active_contexts() ? &detail::g_infoContexts[0] : nullptr; +} + +int IReporter::get_num_stringified_contexts() { return detail::g_cs->stringifiedContexts.size(); } +const String* IReporter::get_stringified_contexts() { + return get_num_stringified_contexts() ? &detail::g_cs->stringifiedContexts[0] : nullptr; +} + +namespace detail { + void registerReporterImpl(const char* name, int priority, reporterCreatorFunc c, bool isReporter) { + if(isReporter) + getReporters().insert(reporterMap::value_type(reporterMap::key_type(priority, name), c)); + else + getListeners().insert(reporterMap::value_type(reporterMap::key_type(priority, name), c)); + } +} // namespace detail + +} // namespace doctest + +#endif // DOCTEST_CONFIG_DISABLE + +#ifdef DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN +DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(4007) // 'function' : must be 'attribute' - see issue #182 +int main(int argc, char** argv) { return doctest::Context(argc, argv).run(); } +DOCTEST_MSVC_SUPPRESS_WARNING_POP +#endif // DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN + +DOCTEST_CLANG_SUPPRESS_WARNING_POP +DOCTEST_MSVC_SUPPRESS_WARNING_POP +DOCTEST_GCC_SUPPRESS_WARNING_POP + +DOCTEST_SUPPRESS_COMMON_WARNINGS_POP + +#endif // DOCTEST_LIBRARY_IMPLEMENTATION +#endif // DOCTEST_CONFIG_IMPLEMENT + +#ifdef DOCTEST_UNDEF_WIN32_LEAN_AND_MEAN +#undef WIN32_LEAN_AND_MEAN +#undef DOCTEST_UNDEF_WIN32_LEAN_AND_MEAN +#endif // DOCTEST_UNDEF_WIN32_LEAN_AND_MEAN + +#ifdef DOCTEST_UNDEF_NOMINMAX +#undef NOMINMAX +#undef DOCTEST_UNDEF_NOMINMAX +#endif // DOCTEST_UNDEF_NOMINMAX diff --git a/unittest/histogram.cpp b/unittest/histogram.cpp new file mode 100644 index 0000000..f23db86 --- /dev/null +++ b/unittest/histogram.cpp @@ -0,0 +1,47 @@ +#include +#include +#include "histogram.h" +using namespace std; + +void +find_minmax(const vector& numbers, double& min, double& max) { + min = numbers[0]; + for (size_t i = 1; i < numbers.size(); i++) { + if (numbers[i] < min) { + min = numbers[i]; + } + else if (numbers[i] > max) { + max = numbers[i]; + } + } +} + +vector +make_histogram(const vector & numbers, size_t bin_count) { + double minc, maxc; + find_minmax(numbers, minc, maxc); + vector bins(bin_count); + double bin_size = (maxc - minc) / bin_count; + size_t bin_max_size = 0; + for (size_t i = 0; i < numbers.size(); i++) { + bool found = false; + for (size_t j = 0; (j < bin_count - 1) && !found; j++) { + auto lo = minc + j * bin_size; + auto hi = minc + (j + 1) * bin_size; + if ((lo <= numbers[i]) && (numbers[i] < hi)) { + bins[j]++; + found = true; + if (bins[j] > bin_max_size) { + bin_max_size = bins[j]; + } + } + } + if (!found) { + bins[bin_count - 1]++; + if (bins[bin_count - 1] > bin_max_size) { + bin_max_size = bins[bin_count - 1]; + } + } + } + return bins; +} \ No newline at end of file diff --git a/unittest/histogram.h b/unittest/histogram.h new file mode 100644 index 0000000..58b7e67 --- /dev/null +++ b/unittest/histogram.h @@ -0,0 +1,7 @@ +#pragma once + +#include + +std::vector +make_histogram(const std::vector& numbers, size_t bin_count); + diff --git a/unittest/histogram_internal.h b/unittest/histogram_internal.h new file mode 100644 index 0000000..8179497 --- /dev/null +++ b/unittest/histogram_internal.h @@ -0,0 +1,6 @@ +#pragma once + +#include + +void +find_minmax(const std::vector& numbers, double& min, double& max); diff --git a/unittest/text.cpp b/unittest/text.cpp new file mode 100644 index 0000000..039eecd --- /dev/null +++ b/unittest/text.cpp @@ -0,0 +1,35 @@ +#include +#include +#include "text.h" + +using namespace std; + +const size_t SCREEN_WIDTH = 80; +const size_t MAX_ASTERISK = SCREEN_WIDTH - 3 - 1; + +void +show_histogram_text(vector bins) { + size_t bin_max_size = 0; + for (auto bin : bins) { + if (bin_max_size < bin) { + bin_max_size = bin; + } + } + double k = double(MAX_ASTERISK) / bin_max_size; + if (k > 1) { + k = 1; + } + for (size_t bin = 0; bin < bins.size(); bin++) { + if (bins[bin] < 100) { + cout << " "; + } + if (bins[bin] < 10) { + cout << " "; + } + cout << bins[bin] << "|"; + for (size_t i = 0; i < bins[bin] * k; i++) { + cout << "*"; + } + cout << endl; + } +} \ No newline at end of file diff --git a/unittest/text.h b/unittest/text.h new file mode 100644 index 0000000..b4f7dd1 --- /dev/null +++ b/unittest/text.h @@ -0,0 +1,5 @@ +#pragma once + +#include + +void show_histogram_text(std::vector bins); diff --git a/unittest/unittest.cpp b/unittest/unittest.cpp new file mode 100644 index 0000000..20da328 --- /dev/null +++ b/unittest/unittest.cpp @@ -0,0 +1,34 @@ +#include +#include +#include "histogram.h" +#include "text.h" +#include "histogram_internal.h" + +using namespace std; + +struct Input { + vector numbers; + size_t bin_count{}; +}; + +Input +input_data() { + Input in; + size_t number_count; + cin >> number_count; + in.numbers.resize(number_count); + for (size_t i = 0; i < number_count; i++) { + cin >> in.numbers[i]; + } + size_t bin_count; + cin >> in.bin_count; + return in; +} + + +int main() { + Input in = input_data(); + auto bins = make_histogram(in.numbers, in.bin_count); + show_histogram_text(bins); + return 0; +} \ No newline at end of file diff --git a/unittest/unittest.sln b/unittest/unittest.sln new file mode 100644 index 0000000..d2fba05 --- /dev/null +++ b/unittest/unittest.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.8.34408.163 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "unittest", "unittest.vcxproj", "{CDFF0C8F-658D-4881-87BF-22443FF1CD05}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {CDFF0C8F-658D-4881-87BF-22443FF1CD05}.Debug|x64.ActiveCfg = Debug|x64 + {CDFF0C8F-658D-4881-87BF-22443FF1CD05}.Debug|x64.Build.0 = Debug|x64 + {CDFF0C8F-658D-4881-87BF-22443FF1CD05}.Debug|x86.ActiveCfg = Debug|Win32 + {CDFF0C8F-658D-4881-87BF-22443FF1CD05}.Debug|x86.Build.0 = Debug|Win32 + {CDFF0C8F-658D-4881-87BF-22443FF1CD05}.Release|x64.ActiveCfg = Release|x64 + {CDFF0C8F-658D-4881-87BF-22443FF1CD05}.Release|x64.Build.0 = Release|x64 + {CDFF0C8F-658D-4881-87BF-22443FF1CD05}.Release|x86.ActiveCfg = Release|Win32 + {CDFF0C8F-658D-4881-87BF-22443FF1CD05}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {303BD3C8-927C-4504-9FC5-0128588149D3} + EndGlobalSection +EndGlobal diff --git a/unittest/unittest.vcxproj b/unittest/unittest.vcxproj new file mode 100644 index 0000000..db45ac3 --- /dev/null +++ b/unittest/unittest.vcxproj @@ -0,0 +1,143 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + 17.0 + Win32Proj + {cdff0c8f-658d-4881-87bf-22443ff1cd05} + unittest + 10.0 + + + + Application + true + v143 + Unicode + + + Application + false + v143 + true + Unicode + + + Application + true + v143 + Unicode + + + Application + false + v143 + true + Unicode + + + + + + + + + + + + + + + + + + + + + + Level3 + true + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + + + + + Level3 + true + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + true + true + + + + + Level3 + true + _DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + + + + + Level3 + true + true + true + NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + true + true + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/unittest/unittest.vcxproj.filters b/unittest/unittest.vcxproj.filters new file mode 100644 index 0000000..2d896cb --- /dev/null +++ b/unittest/unittest.vcxproj.filters @@ -0,0 +1,42 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Исходные файлы + + + Исходные файлы + + + Исходные файлы + + + + + Файлы заголовков + + + Файлы заголовков + + + Файлы заголовков + + + Файлы заголовков + + + \ No newline at end of file diff --git a/unittest/unittest.vcxproj.user b/unittest/unittest.vcxproj.user new file mode 100644 index 0000000..88a5509 --- /dev/null +++ b/unittest/unittest.vcxproj.user @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/unittest/x64/Debug/Source.obj b/unittest/x64/Debug/Source.obj new file mode 100644 index 0000000000000000000000000000000000000000..53883f459bb172f95d2d13e0193fdba6e237add3 GIT binary patch literal 1118 zcmYdkV`V5TwNHP?#K0iT00DX_MXAXpWvNgugCme}2gZTXTmlSwDXB@N=_p z23a7E1eyf`Aj*M3z)3H+xGXs?ddV5t z#bzcjWegfX)-g173|tHh3JMDPF0O8lp*|r#o=#RuzQJM6K_Mk&2YH>+Sg_#LZ3K%#s!TF^{$*FqzNm&e53^sy{iA)R^fB~(>kk<$b za0u<2nOu}#oS#;rpb@00;9pRZnVVUanU}8MoS$2enUh+?z{a2=SX`0)Ui6(Ck( z;1N^+(hv|IZ)#!T=4j|*5f8D^A-SM{;R{d_6gZ#&S73g;;fT|WKQbb-et$VJGk>Rw z`Z~uaDYGa0ESWk}x*}*tC%^T z3@e~4E(S(WfCe#$idLyl+j~>uhw}o}g3P34541rJBr#yik_}Ca^$Jpw7(Rdc*t9a^ z>Jh6C6|C=cEZ}$Ewq;KLHa&)2<^L_^7K2D(VVBnAp3{btyl)Oe(#{d5r7?>Fx z(oz#k^b8CpFf%qlMauGX^m0?csTU%GoF70gWoB}Onum`<&K;n{$;<@GAE?Qc%P!Ff z)ePjk!VK00vJnKP8L*c_SlCHW*n$997c6gr^AbpgnF*Ae2m$1r#R^o+%mhk4gn$%K I0rmt403mVM1^@s6 literal 0 HcmV?d00001 diff --git a/unittest/x64/Debug/histogram.obj b/unittest/x64/Debug/histogram.obj new file mode 100644 index 0000000000000000000000000000000000000000..089ffc5598bcee3110c2eb23ba9b2c24dc970738 GIT binary patch literal 169023 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

wJ3L-Tl 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 ZrFGea`nx99r4#fP|4NB@BZRyQ;{OTRckloJ literal 0 HcmV?d00001 diff --git a/unittest/x64/Debug/text.obj b/unittest/x64/Debug/text.obj new file mode 100644 index 0000000000000000000000000000000000000000..b1d8db0e5f83b1be7522cb4db64c6d774b228397 GIT binary patch literal 114233 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 KkoCYN9{4X(spTvH literal 0 HcmV?d00001 diff --git a/unittest/x64/Debug/unittest.exe.recipe b/unittest/x64/Debug/unittest.exe.recipe new file mode 100644 index 0000000..9cb97d3 --- /dev/null +++ b/unittest/x64/Debug/unittest.exe.recipe @@ -0,0 +1,11 @@ + + + + + C:\Users\Home\Desktop\lab34\unittest\x64\Debug\unittest.exe + + + + + + \ No newline at end of file diff --git a/unittest/x64/Debug/unittest.ilk b/unittest/x64/Debug/unittest.ilk new file mode 100644 index 0000000000000000000000000000000000000000..42085594f48fa760d8c90d0b5e28aad7fd269660 GIT binary patch literal 1029296 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 Zkguf1cOaFjRA(f0-E;fnXdviV{|`yp7OVgO literal 0 HcmV?d00001 diff --git a/unittest/x64/Debug/unittest.log b/unittest/x64/Debug/unittest.log new file mode 100644 index 0000000..b660946 --- /dev/null +++ b/unittest/x64/Debug/unittest.log @@ -0,0 +1,8 @@ + histogram.cpp + unittest.cpp +C:\Users\Home\Desktop\lab34\unittest\unittest.cpp(23,12): warning C4101: bin_count: неиспользованная локальная переменная + text.cpp + Создание кода... + unittest.vcxproj -> C:\Users\Home\Desktop\lab34\unittest\x64\Debug\unittest.exe + "pwsh.exe" не является внутренней или внешней + командой, исполняемой программой или пакетным файлом. diff --git a/unittest/x64/Debug/unittest.obj b/unittest/x64/Debug/unittest.obj new file mode 100644 index 0000000000000000000000000000000000000000..591e0d89415b3a41bad90ad125617f0cdb4d10c8 GIT binary patch literal 249190 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

f5F_#1C% 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 z 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

GqX;qVruO@w@f<5x-mX zC$*e2RKi=*MDAWDa_JvL?s`k|d*38-SDeVKFC>2FS0cTSiCm%kVfr8muTK)W-LB;? zTFI6%+Cp?V&c=yANgzr^R{h@8!OqsGChDI#a<_OA+( z_~WS}&y|VXKUUJk>h;~K=gVnr&n}Ck>#yhe@TC&oyjkR#H$`swSmZ3$EtXbej($I0 zqUXc$D5+mlTq&I(}Wfq>J4ta@Fk;AJ|*u%Hg6vW)*oxuLC8{ zd2mql8+AK}50rd^-;jB^RA>G7JS$Lsdrh(2tk$Wxa|dSAUh%+c$^0=vWqFu&A1 zT69Xn`*k~JGv9lmFNznr?xe&|(&KE+H4;8~k4TTlMCRNjGFp$bNrNT4a<<6zB_acK z|3_+jef7Gq;HMJ5V1m?(TO4+*4-mQPV~O9=E;9B{BKtOo4AlN!rpL{)X3_7|@3(1s zJ>BzjY4;i3-buWVseV(xy;JRu*0N}u=%*Ko9I5+%k{(Cvb-I(A^@gIwRwjMu$cT0FFgF)GK=w6X09}^j`+d1n-sqes6`Fyky-_+%4I~VBrw0)!K&uF;}f2#Cb zn?z(hQ)r^nGsyg&c5xbWRYHSmE!rP_-;=QQRT-Zfu}Ar}zwWoejS^nb zN6J62OTxpoJwtW7H~v!EF-OlY5ADCLx_=k#kbLW!MS5$$FBu}?{klEJbbC(fdQP%# zdSOqzbA7*5?AZSo$#?pM$gEh=AJ^q>^wak0d>a=_x}963ohSE+y~p)93DDzmwzj)u zr7nMv$XLCe%qfxZo?4Nn&O$=>xQ%`|EXUnQq6C>!qBbjC+;}W7emVe)uVoffFTupVo)HBK|1a zB=Y#@lJ5A2BBS-V99pN#*)4MO+agc-zaj=iz3hH@jOe9=M{`+AKE`wmp@+neTDY>I_>uZ z&r1HW`u$@+{$S`B-rDYC6%ubNYYy9nm{HOJLlB3(PM$aqj z2a<1*Zs)qyx*Toaz_}70sqZt^>hd<~@#Q^P{Jm4xzgCauv5d#7RC{A3K2rOC^9Ctz ztL~o_%+p?^+kc(thh~Tzzg*3O!`n8aHvbw1kZN%>24 z{bQpfeV`sk)Ajnc{vJuc{ZWxibvj?&uCY@j-!g6Ik#tFS>W3o3^mtvb*MZINOTBCU zDDfNh``9_X4hNKqez3MX%qHQ@yF@O1Tja{uMaB*jxmNeb7Tq6nbo%Y|iwEr-`IN{x zdj5H6|L5rbKlcZTKeI^Wq=!VFyItDn{d);-yh_3gekS1@UH>j!{{db9vfh&J=yXZ9 zN0+naB?%AL?OvkWz49^9ulcjcrSFM6eXYpYRFQMaMDEe+&v0!=yp~5IrQVfCC7o}W zgyRp0Ea85@8-J91U*h9+yBFOm@kQFcl9>{}V3x??Ux{4G_;vX6q)4j{Z`bvO{Ymrz zH6qu3Dss^Rkz3K@LSxmt65eu!)ax-#q&N1daT$MH=iejpj9wo$#>xB45j}n;jg@@+ zawXk9-EYVAc+1k|=1?wOV&oJ^x_=wlzW2}Dv*-v{0lg`>CoEs&@B4#y543JEg$Kj!gQcu9=l7F|>?`Ci+ zzirm*Lw~JbIZV?WewP$n!3P>qUR^Wsz&X5;?m;WdBN$le8SH=l^M4?joIj zAKvF zjiL|J>w&M1-}sj3)7o|X43SIAMXu8G1dE)NAu?;Z$X&YsmTb}U zQICsRuSj^dwtuYl+icpY*6mq({%q9qXXg{5-+ZUEcfTH2YsX4>mF{=nKTEn2UH;NI ziQhLtysdNaP19ZU6i8L#Kf&Ok{QaG%JbkBdA)e_(=PJt^VwZ%MfezLfCp8r^TC zQRT+cSxN?IyT@8OZ0q=ohbRO<8*o2U&}s|bO&@lEz{$0-7C`G zuu+np;vMymWF4UC#sOV!p!QFWE@zeY@9{a3?wq!7r%t~_uea-U`d#{dcvrb7k z`X?fDwA}Zegg5GOdTzFa10EH5DpAMNNvfZgJSgEXZU35F37=uUDgSL=BXaD=A_wa9 zTXjAA^|(DSLgEkIFLGJFmQ^B$ekyX-29fc4oUdJ_)BQ$dPP52?79G~(r=(QEX}Voo zb-VVIi2juBr{n#kU0a8V-Zx$3;2(;NZ`4xz*V-oGU6~?}u|9dy?sLDCaLH@>eqYa< zXg%H*?UQsvL!`cSu_6!E$aq}(f#e_QC;DBtiCp@Y=$BBws^`pp37>gdqa{NWV z*;nLo?XSTt5Hq3;KF>Hau5Rr2qqzxq(h1 zA{UUpH|dA!_3We`pG!R?{TYl_cF+Evq~Cn6$X$<#9IMCs&H<8ck+x$|g2WGfSL7Dm zA7LF5-lx;e()I3tUG7_~W2BtpJ0;yAJ+4NM6TNS!$btI(Y-zQmo1^`-@plsLughKX zxrEQ$B>9T;IM{Wogikj~{E~wrhaM6ccCE;z`u%;)6B3@K({0!G57qs$NcYQ%<&rMV zY2RrHpPMQ2jGhNaM@#*IyF|ZKkKYBlKjXKFe(ge$Cr|0{WXZQj_s3wpK7^G@{MO+j zedmcB{G`Z5+8=$qpR|lB^Lim7BB;bOCNa|Rd9SOD?|J(rS_#p)uVR%s2RRq;lG={=#IKOy$sJNPp{a}1$HCi+>mE2 zml+k4J%{99He_R<-T!f~X7JGoFXVME19tmDg*nKTYUTOKB5%(B3Tpm*%Sr->Iz!e~Cws zC6TW#H~1S3VX47S`bYPPh#F)!(w7H%J=$y8sSF(YPz!s3;cob_7W4xPsC|ydK@=oF zGN`?P?XVow?`hRuxizo@8lVZ9!SNegPxfkqUI6HB>_l?0^Pn1}`7J?|?xN4B-#~agYQV zkPnNY0=7Xt9EMhC2Yx(j_`v`Of>4+UF^~w^PzgY6In36KoS zVKr1k4eWphXoeHu#e2R#41!^2#28+)R+5yFaUxe6edCpBtj}= zLot*>In+WOw82^M;f=H(SRe$(K@=oFCfL9Z%V9NCLk;YJ255p4&;eeT&=v@WaEO37 zNP-N=hcc*wZO{nDrL+MCKoEpNBBVk#6hk>w!Uot22cZqlg2f-ZAqo;888X2RtDy#V zKm#Y))@p&g9= z_!tI25KM#^NQ6|#hGHm%a;St2Pzwj41=^tB71#|S5Cv+lpk%Ot9hO5i)Ib9?K{K2H zuPd<|20<`{Lj=S@5@bL=EQT_ufGXGo+n^rWVE_wy5QM@+h=Ek7gbh#&b+8u>LJPEk zWgvFLIEaD-NCrDBht*IGHLwF3-~@Dl*HzdKgCGKuAOrGYF_b|CRKX@V41QN*CxpU8 zh=EkdhEh;xN>suIsD(Ocfi^e`K75w!2NoCy36KnS*Z~dD1kG>)I>3K0HbO9jLj=S@ z5-f%)*aX|)FtkEDu<3!}2Lm7oLSZ7LLN=5`C2WAba1dI+hx@aBV1W=wfMm!78`xnv ztcE6N1}_VC!XOBT2#A9u$bft(g9@mEO|T8>p%L1_2*h3(06`E6F^~wwPzvQx2^*jm z>YxSAg3l1_1`CA1I7onGu)%Uz4b{*9O>hD_!0TG7$k zp&g7M{y``tLMmiKIaER|)WKdj2yJi{e1>8(SRe$(K@=oFGGxMPsD>KY0nN|>{=={p z!XW~ZpbRRY3O2zusE0;q2jeq3Kj@~D98jG z*kL)WhHBUW4bTK9paZ;yV=sh593(*op%D&4E40Ia5%?NHVIssp zBBVk#sJ%+cp%Ut#1=`>&_*{?u5CT!4_AIl*YS;k{&;-qJ0{lZ56A%m$5C@B)3@V@s zHo-Qihr`ec#z_1Op)e6*AQ4JI?PppEd!Yr|;4Juz!oOgF5EuthkO0Y$2{uss9xsR0 zPz^hv37Vk;yhdX;1VcEey=F5Y9~MIyRKX_L2K8_lTA>}(jkO;PfFMwtH%)|8$cADl zg$+;(2cZqlf+Y-_ArqFvYB&KM;57zcLNJ6w93;VFD1!=6XT@xSZO{mZp%vP}xBVKr1k4eWphXo6-q0fWY3 zFC@WYD1!>9f=#du8le^1!MG7SArulJ8;YS6DxntY;2^X>8~EIWonV0w7za_10LhRE zHn78TSPj*%0~(+Sn&AX=z@TyX8sZ=cG9VuoLj_bpJv72$XoYt08&BUuC`^PHNQ7)C zg>tBb4Nwbv;UKiYS@4-aJ763{K>{R$4VJ@dsD>tJh7-^MUNrGI0!A^6M?-j4x%6dk|7gpV29tBb4NwPr;UKiZS@4;{*oSct1qqN0nP3Au zEQe~SfgR8QP0$P{paZ<3XbS{GI7C1kBtbq@KovB?VQ7VRFru*^f?y)VKq90d3$+XHS7xIN(ZfZGFZ54b(x_Q3y-9vER<6kzz%GXFwb#)Jtele6Zh zaGHExdYUaOFE_=OSzs;9%*)PDZFi=%7#B>NmYp>}H^-W5Q)#c!<&M^Ar&3r^p|v2T zFzX>J@uPISul>LDb-^+VDK0D5nr#fx>3wv0k%eiwDf0_BsXjZcAj`H$)j3S3x#(Nc zq~xR(K0vw~N#{YEJ#@NQo3$X#mRFE6H?7bbiW6q#K3I^JpYmX)6{B+(S_`t~Wmz-$ zeTVqU+5Y&n;*_jhTS`XOd}D$x)3{KXVPn3%Q0Q zhlJfSVZy?+>>{h9ou1h5^u^2^dMqVx?)}zuTS{(GPD;M5ppbHvO^&`5o4#3YQEnk! zX3emqsCL{K9uj)K4%OFQYFs$mle;kQ0lIHqQEob}qCGQhIL$gA&#S&vY0vvpr_Ilq zr>$~Hem=dYsceBa9$D8){zCij5 z*)v)9gYGXqz48hsre~%V;PI6BtlX>|`YlZj>Mpad%Zzf)Jzx9KYloD!RDSuM%$M7y z-j$L!Z(gC*rbcg;>h|+V=(h0-vKYTD#kx24RCy~pv*nzM{c|H(2U)q12S?^Nx} zf3^&nBZXphdRl&3x-1&^=<;;Cln>KWB$=ZXA&%Cmj!I#?XW4YyL~ZIxbAz2_Yg_;Q zvb#89o~s}J{j$HsLC$&tq|g5Sdg81cMA3DS%NxRdw5Q7&`0v*NM%z@qk94!%V#k6uH!C--U{Q)y7sYDh zEXS}vsu!^DZh&4Hzfq8SZ|lB2UD}e?>4)!it1UBmi%coZ%$n!8uen9ndu6xsp0D?O zer0!W{P^`hm)~*cqI{?FdfC~uxm)?C<`r;nz|yIQf!qMy(WRX3^=Fhd_ktyHZsYl~ z_&ZFuY?_&GP0zxpTs1*m3{&q9s(roe3>15JhR00RE!GTfD(NGWk0|1if2IuQAeC~Q z{XF)&+LV!3#7R2eoM@Qu%zttB@}D0lj)_Ws=REnk*LSp`YyICc;Z*;qdE#OBJlnmJ zzHP>JwyB#ob!iimj>|b`Z|$B>Tqd5=pW)rhd%kYx#8dgzz3|r;b;}Fq^Xrccj&ZK? z_fd0?>wDd^9P#_*N#H|?Kj`t{5&~DPj z8pB#5pYhcES9!njnc+dX7j-N;|M+8r;k@T|zUQ0o+tmkzbNL?XLxQpPL6Nhr5INjW znza^)&3c){dh*Fi`RBTYo75An z^(%`-f8=sq-c2H7ZxFdlr{C9G!b|wkgRwX`p?LDLWx8y#FU#0!pca(%r z^CJ$2zZZ)P%+TT6L>>wedCFVlQC-g@-7l*i6a9iPkps_2`&W#YaJ;s=ufK%*I{Wu7 z2@k$UrH)AJKl8rTcBXE@z8f(l65ew^aA{@o3Q> z(eaVjNqCoT-y9DK&(?OV3YYMK`$eYdc~Ue-!Y6gP8+HE3M@7FNK;)uekt;jIFRQda z=ji@lafeQSmB=N!ACBnqXO)OP@@vVzXpn?G9uj#@kH5hF5?=4@mk0?D*M8c5tAr2f zbf>0E_@s}>Q+j?!>Ue(-pXiJEHp9zHt%C`Mm+@$61g}!PYQ26|7U5;#T`9uiV_ar` zG{_^-9++SZ7-9*HFv?1q=ytEm)H$G`RrNd!ROZF^H5S7oR1GtOj22_UCBEu)hQ;FH z>D9Z`VuVI6?eA}l@G|`CjOA|y8(!_+o|Y;<&xk;y#4DJaTOWHwpU_?Ysh(bTyT?by zuo=xBX!#b%#~2b2`9Yqygh&)6?yp?s}0ZB zeGGeGDLFZIu6Kyx+lO{pXrl#d@NaKV^!D|W{Ua^(eJuGasTr$Au9qdQX44@{S_wut?d@MK6AzqO&oWgfmR4DF`FiIkgAnZ4Mb{TfV zD}r{~`Q5#RQY|GO9(G6G|HIz<$Jbe02i{k;kfpH80BES$s488g-xemTRWeMvS z`e6(qd2}sZSql1vbY;sa5Ydp-w6HY^w4^1ilaeiIp>?{XCA;KZvrD?%2?$CHtnk&VFb=WH)Wz@0mICJkPzl_v#vx?*4&4pT}3v%$YN1&N*{t=FFLSj`Y`@ zM?LG7H{G9FmV+9R&vv9n&aq_jwvmTgB3pT)JcRF=b74dLj_^$JEb%&P zoJHHt)5eqHac9yd_}iUJdx*b_olSd%^iw=P=aMo*|-Nt3!jgBmiH4p?ws7~{9Ro`yf053kDQfj<0(8Z zmm_VN=OLamIXBmY6_>Mf`*_^hxg-4jC{Ot8+)3WU=jS$Jnz!({b99~jUFs~|6Xb=@ z)4j^OJ5yKgJl({_$dbpMse7EipX4b#TX%}I!t-^PZ$h3tO+0eeuA65cPvLpHr%4N+ zx%)2f#m?MCFTwuuRC@021h6mjgwNmog!k&r$dadyN6z83@r2LfP4FH*kM}t5awhM2 zp29PEZ;`gzxxCfRu1Cz;l#mwKID^0jBy=+RIbw z{N4n4IUaY8ukZ}tE99NxDR!1`+hxd?N6z$h^Q?BR?>S&zK&HzsEcaBHS0zSm^IM0(j$9YPf4P18x z;}1{xe4v~S9OIeed6Xx7KJZ1}<-6dOoD=N4lD^9$=LMH|9^i3j2A^X+^C)xtx3X27 zSE%A#C10E0P!+j{b;YBsfu3YNceJ4@^72lmxXdeGWSy0os^aWk75$B=_xpGssfuix zsEVAPsft_<+)>tq6RfkQZmfzdZL5kLXKnXt61e56NH^=^+?~MR20q@8byjhHgLl>` zM_EI5f@ddd(HQHW)8Kh}s47x3Tori;_{;e_wZ1CylWVIYL*VUvN4SVWJ(mzxc8M&@1@+@n`)6APU%~eIlSO*?wt@QGF)cZf-A%27HtVQPT29`DI z&^)wL?l^c}g{H_afVYZ#`0@%gJ@B5#6c*`p2ns?b5|Z03EIc8}2htyPg9ZloU8kUwEv^}vV81Mg3u^B&%}fMe6` z)LB;*Ir0zKv3qIPTa3@FrCuLHPBqZG1zKo(BnNMx<5AY1TWHs_{iJup7uIe4@Ntf^ zM-L*CfvU)z$a-!8p3>G%_;L?x=41Sx09W-z;P@nMVtp8S53sa-6JgCAXb zBMqI<{1k1jK{h97|I}6Bg4Q?S+3{uc0h*sgHjh_BEAmLe^Y4;=>T+aF8;@KApAV6C zF*-@zb@1lZC^Vo0N8sNa_0>GUQwPo~poRJ#x}SDX{?#VMDW13r;*2_Gw2BI zx`*eD415NDZa?@hq>XS{iL7YYUDowkEVLT32kH4_Z;xspyeof zmqLfD!TkjMJx1OU>PqqVX=HkYweZ-_!&C5fBa_p}aVLFfnRZ=%2XuXi_M)pB;pwYe zssAQ;d{tFs9s2(=<+gz11ZAE_7ha)!>OSOxPVFSG`+Rr^{dMS34Ycq3U{z!rJnKjQ zzxxUFuo3y}059}ELEqR0Uz#@4X8HS*)B{ZsaQ35<&#$8{c=iN%Ymj3@X`3*JHZTki$WW$+L?5CP}q3($Kv?K(`o;M}yEy7~KA+J8C@zmV@kn`qZO za)6iJ)ZdTnC!pa@R3qrG?1zUQmJ56l>{erqrFK+~A$6}s>i{5b(_OSE|l z@;QP0PQd>+d&q;Bu)*$qvi`}#(m!u8gsi93T zA%`gPf2f9b(yk}(gxA!$@gvYgd&lVKBhdKNIkbysu9o)Fjvu}ccwi$9*dE&WP&;); z;0HWCegin0u?OH?g1!;td5qt6wC^;sfAIkFK(1}j@cK4z(f(!RFh;*QN&ZXV-Hr}F z^f6?KzB~lawhYh)_%?#vPSB>y;mNj*(8~Lp=;lfIxgGjmK|fB=_J?TW2zuE~KiS%g z9I5ZS$m3OLc?p`IhTbUj?xd~<$a@Q2dHqK6>F+P11E-MlQS8)d_|usK&%N*f*+k(> zC-waVK0kFoG!G%`>){vWwxL69w55%Dk3;M8@a~C^!w1?J;kWZA=pF5NX_z{p{S|1d z@xVbpc)pvy1iw0gd+8U@ZSp&>q(9Zs*2|y?nZ7P~8Xq-y0V~Gjd1)cM2L`A^r8WRgshE zLqBbM9@;iujJ%t9mY@ONpM=h*Y1>xxa|~S1!SgqvZ4O#q+CjTBRgpU6_1)XRdo%CQ zK6gGe(WZXz^uwzmaK$d6Jnh(a1w5zTt-!pF+)~u}^2ACiF#bqF!iugY-v{!xS(N)k6nueiYhIUPYag z{GA3ba(-wGS)eN?z*k3~8QO`>L=PUApdX$KUU<@mY%T}Ko$&mXYrypY@aXypKS!IN?1eA;k?UdL zklXe~+H^a7pbe*x_v7&T1nqqkdbUIB95Q_s8UGMkCT4)8o@IEr4_?#&!wp-Jt;nt&SS=n-vEE2D)PsYkKR2?*<)Yf?@#d@p`Gw|xtV%?llotRM|V|4{yjMQ zw*vP&Jikx*8{t3Y>v)a=Q}+b&0mpIp`aEgJvOLsL2kc4u?;JX?M(X2z4)_y1p9E(e zbsUTGK7~x6;}pER4!9Be^ilYF9K9QXKYvOd_i06r!H*H}{;tsTInqw?4zKGzNZX#G zuHU1~uaE|RKQ8q_&(Sn#!Z+%!qpnj2z(f6~p5^&fV806Q{uAvaE%qQ~L?--w5?%OB zsRtV8zC?NC+yD8h$lsC{yBeIp)WP3Ve}t@{@5E8c0V{Lm*xfugfrBzP0e3nFUSLPi z_x?YICTJM}b{QIfk4Nk@?(N7j`cntY1Zj1&`)ky-nex9TyqTlyowSqs=AipL(*HC0 z$ACNjyU<5J9HG6(kNtME^WV)-_!8>YX1K3;1-@WkoHl2k39vAw6Q-1 zEzt0W{&fnm?pI^z5YY6q~k8J8HlwAirfs&Q}lt$DgP7j zuH!dy1ejl?zmpfE{iond^xCS(W6<;Hu`A^L7G;EgPs%Se z3XcYOgdee8wDZ%n`%xZrdK+oSexCBc{!8H*`Vm3Tzs=vVMcRPP=s!w2Z8}OFb<`Ju zA16Oxc^;*`e+_H|ojr*yngic|0apzA`r%9T^R|sgbJT;L)qEXXcL5K+zk}A(Ph!u3 z{~^y&-cSBcRpb`_uA#1ea0tE`-XlZMNIyFc&YET9Lf-!%J$5T~K+gy|7^RP&pdXBY z<5&z_^uvCE86dBjdg0;nr@;BU;F=_V40!5{z>kwJkO$7c0{)ojE&8^dzfXP<_&t;- z?c`R<@qQwSeWzRvedC!2;K?JJ9jJ=zpuNk3z*7H%;O@T;TXbJ8b7)+KUo!tW{RdT%e?=KtZ}!hq=ac-xpUX&#QD4oMsv`eZ+63KE z=sWr=l%YK%(6~(5Kaf1i+)JI0Q>Op@ecdJ?YHlj4%pvE8tm_DAF#h)#%Ch%kFb9wzqg-b-w&_1zYo^g-@EU%znQ!2@7LdF ze-CRtk6dZrKd1cpit_atrMG^I&A;Lo?e900j<0ms_ZRRtN&R=`=$N%cUa}x z#Xf@6^Bw$6@_X$L`};6HaC!fN%I!yS`~GchcUt-P@W*WW_h;?zmu|AZY5d|+ep=;{ z9@3p_*T(rO6`l$W=f%17$_4GA-j8guQTKoGEeDw1EB`sft-%j4s%l7vQd}{K3 zZLj^U`h@-cp331z-S+)btuL+o`=0W5!;HW5_^7iCP3W)E@wF!V{+P<`?gjh)@Vxy!NA>R7 zYwi1uO4p5b_Wk?o?C1*x&E5mn!XeCSl*(Ro;KA?Y>v#_Pr}@{%dpgcf&UO zTl;|h?P;~Y?H{(k7pT5Iyve@bt@U1VyM6z%(s{*I_Wcs&>(?){@3q>$@7{0Uuf4_o zeof`}W$j;ot@`pM)#D!zTDV)4Z?|jvpBb|0hgB~=wb8!ctNnjb^?g|7@g3F6jPmU} zs)t=4x8*KXy}3l?^n*KW`t{R__g4FRtKz@A-M&Ag{dD?f`+kAedzH5H3rgP$ivO9c zh5MG;!S5+wzNzi|iuU(!ooC@*P<#0OD*OIpE#Iv9lhro;L&~pb)E-SLT{r6ZkWu+} z9k%dU?O*k1i|9*M?Zr7N*Bg~@uW7&hy6VdXYEK_gyx-IEcPpR%M&;0~{CZgBn^t*! zPw_si{q6hO-*46O8#hf{r1n<-w&z$)6U*%|9!2==1*!pFX-p? z29?h@udwO$ss~?DK5tNcp1#rM|E=o7*9YwTrOL-2X}>u~?Z6jCG+*VKRXJR6u}y#Q z68ro2s{cROXW#EtJN{MW*WWbS^hK4=74`Q0J2Crvsp{_rwQH|!wdp*ZhwhvhQD0I=`;^@P%`2dXM(2FDw1uQT^`Hes-_c zpH}+5aa(J_~nar~Uo>$L(*|b@un+ zG5edj#{OQb@|f0g_0C>T+5EWb@i#K|{V}z3KT><}5$%sRo@4XBf585B>3qFb_4jYJ zJsY(AW6HO$I6csE>6>l&4{5);miRic?_W~-)GFjwf}xZ``Nd&-+V7?^RLzReoO7uu;zc`4x9g=&L`8_ zp5_N^`roS_d`jUTQ~m#z%H^tB3)igu@5?&Ad`;z-RsO%Q#lqdKA z=c?`dk5pglb>4Nq{?=;yYqgy}()16h-TZ;d?W@Xesh-+4P4a_V~FTw{(f2I_kz}2t9-s&<$br( zdx7@b=0004qvOYo=%1H&Zf2!NIC%%#Rs8a=kI}wTcYmE79}6x4LocMR(7hV(VB12Mb=eE~{JM(W2X=Pt z3e}|-gMC!nRrHRPv#QKqw&LzQad$j+&yK>o>`pE<;VP2R*{LZmgM`0VLr3@yl>#`q zr7Yrbx%(OOVWzotEXS>3_C8O+gg%!kXF3lCkL&Q9dROlP?y z?Lc-Rpx@n5ln=*+f1&y!dIwNG%nbC~`zraQ8o8ak> z3?>KC>0a-)uGCPcwR@7@9qEbh^WuX;>4C1nJ;9wgEAEXcylbYy3uHR-`-|NAxyrqd zrf~(9GT=vLwqNeJ3Gjri;hBvg`FM(3yNGYci;Wcy!^*+J<=k92TKE}-Oc+;Q78@^I zp|@R6h)MH5%X&&M(bZXO%sA_|6(2T?eJwR^oOPWALx&p^e3+6WPpIc0R~=cYf{8&d6oZKEMr; zjkR?`G7G)+5zlLBX=qC~Hb#ZO(Z%`s?9Axlh0IiJ0+1^ewn|}Bsn*8kWJ8mu09R{1 z%WQ+Iy*U+aZL4qKg3__<_=3T4ox-rBGcXOw_Li28)@JYE==>tLI8J8`7-OiV3)h8# zOSUy78saT&-qKy!!=n?~(Yx~DSOOckbW?j)z}7c*G`F|ZcW|%q80|AK4j)Tv1JeOh6Djn^;akXN=0}CHKwh{* z3~aiA9uRM-_hAo#cxrOL0K2*`QP`Grb37SO#HDTp@nJSAOf=op5^ac5w*?C85iUPd zC*7o>F#&Iva`W}0v(wBH{XW2Q+rTt*q?7fn9VxlYoLNdVHaTNDrlW~vv2AN(ygk~Q zs`ufb+wq?zwt-1>B-@)C+8e!55s=(*Zu=W96_el8)C9$C%{~txeR7t!nej={GRI$* z`UXCpXo=RR+EPBe@N9C{@Ym6YJJ-M_>(fcpwo!PdAU=J#8VpRdy*=HMs7GfFkk8Zi zYko_8GTG1^ulKU^^E0*@pC;TK1_#}uy)B+>4D}^@^L2>+s}wfflx%NmPBi)SPuu&C z#WJ|I;wChB+tTrlj;6Le*xC8RrmYV48b@bSdo-R-27H7sGQ$*L$Cs^+hPH+m=oyTI(A_{f#Mafo;D*VN;3L zj&vd(^z}oQSVt>vC{urXyuAaH5a2vCH$OYd(k3J$T#=U67N8Tz-fvehwm81yhBC0p zbZc9CqCI6VcQ;M<_3Ru~|^4%}@fKNU?iH@3BQc$2dW zPPaEl8|nL#Ii?+ajbffLZXpM-qnYgj1Dj5zQuQsZjNkOb86!p?rdeSUjrGh27@ti) zwBNpPHXrx5!PC})#Z1N1MHF}G=$tnG&g|jFYudWwt*z-)Q!+fpIlkZ`H85@Mtt~C7cwlqj%QUx-=d@2b`;Lp% zz&A6IsBcZTds#ciIec+PQ%9;X)z}sd*~aYBXm(D%iXz(Uc$iT5h6aYuC^Y&|5$;~K zV@6V8IyzGEj#O*Z=TAm-P!upTGc!xS$s);_T!s&x%sXDWdQyrb(ca$H+}P0QnLFO| z`w?z?)3(-lDjtv0Uq=m)&+iV+uTM56)2WVjo!j~OyEVTh(b9s>w#m#Ytf#o^4gQ9< zRBLmxJ?<@`EYp)_(&6Z2Yr*ojF_lg?HATH81`3RS7|$&ZPiqvDkV<+>)}V)B_9#p| zfys~8*GnI?tQEhIx9zR*WV)UCr1dMgcK2(3V{5X$EtRAW$jM!Ot_Q5K&Qt;4o_QSTU)#% zw0O+Ck(Z;rvfkC$#()F#a@_hvnt;@en^V^cC)A1h5ah-eu@a82Y@wJsnG!X%U~mYsVALoZfs3A z(>^5}AV)7-G6trjt+BDb1$qUB%EEX&g%K`AF@D|>1DbeKLwH6MCe8w;xgnmCIZrk- zy?>EW&DF*Bj;X7KRY$9=!=x_UqEeTW$$o`F^Am|A>ldmD)52DmZBwG5kr`vVH)|^j z!;C3RTU$pXOGn1el`w1tT0GJLn%Y~W9z!vRoKB7_OnqBxnk84#*+K5SH$xu%zzh(M z_5%vvT;E>bo~m#64lwFf2X1ZJMTRR4Mp}Wz? zbM1SAz?cgclF7$n_+Qz(n7;!gAi;DX~ORbZ3x+%E~chtCS?{%-Z)=C;0t&%uB@*;A2{{Hj+qa`Fu9ix^+~GB z*L_0GpW`cn7C`m~F9^!d&o0i4dAZp`nfWn~neeQ`Aux)=!7v?V>A^}(XbsWe_44U7 z89sOHn8+;P3Y2fv2%Z~&3;Uak!7&$DkO5I}mWE|^BI`xnlPnE)_u?cUV(ZQHu2Q%0 zPfy84n!uK>dvd|sFB~$gXWTDEBXHTJ%qS8l3p1G=ZEkKaU!VC(g?PqS!8JWQwm3Cg zzCLLtq?eWhbT8P?0ilGVUS(kU%GKc+oEhH!>^Qy{U`5x8%Ysj}%`KRAhIB2YCsw5v za)-^tOn4^y%x-TX&=bDwC?C$^-)b=R(O|!NC7x-%6lrm-4(C2gVtG-VF2U#E1Y_B{ zCue-vvN%I<7N_vHc>VL4vB@Q0RxTz$_=fsuU(DBCr{g7IReznXl!OcE=S?dAlCTB3 z5i&&Uq^%uehmcxE0Q}neQ?!ba@6=0F}72?mgBticvRYzDV z#dsaY53E{@ituW0U%j1$yt+ALR3b*1%~Z^zm;Nj_@}=qdTnLzP&EaYTK8c{G1%>Y%Et1 z{%9GMgVZ7X)Hs*b;0-^^)1|?A`D7UzQ(8ZQGEVCqUB%^G2ygqPjEADToe?j|EL=ub zUw7RaMeMD>pm!@^jEd<8znxr5*dY;Yo)L9?*Kgky@X;s&@UC@sOew9$`S8-Z^7PQu zJZggRLci-*K#zrY)HvFU>p&RR@>zKJ9(WjucyZ$}SI4P0J5LM>pS+&REXnNG!4Z{R z4351430(=`))a@!j53Lk39`etwm2O1@-5yF+`8g$;1e1HeCHI0TgcumyI`yFerk5+ zKtA)OkBe-J^IqYV`Q>?^2U|hk)9;?=ljHY2jR7stg`kYn2iNy5Dr!Rt;e);>ZFY98 z3lFdc(=OaKId@1F9fkAN5X>U0QR5318Hf6X7lxUe%g&Elx3Z5*$I>tyo#&7&pN+l< zE*D1|!X+@~)8?YZjxM#Cg}BVe8Qt0;rZKW1TvJ&-rR#7kugssHJTPH=2@Xbm7vXxG ztukvsp*ga~I&MStjAaQ9c63D6t;nC1^|GH|y&``iyJU6V;ICPczc4z9Ph)aCF9tbM zw*qc_()8|tZ;|K<80s>!SYHN_*a{f=B70_PZXy$w!J6gB@(M_zbO{{sah_ljwy)g?O=&enY$i^yRivwg+Zs$8h%tyeOjo+1YUeV!odl zS}zs!Lw_FUjDKiW7T|a5gpgi{FUwTm=9k6iU@P#u?(XZZj%>q@0K?&4Yw^v0HTE3`+8NRZ+pG7 zqwG_eqX0f!kv{`#z+{Q?aqTL?H^MZ7{33kI&d>+k zxKgZ5sqA=WaSC_nTy{qGgTy$A?o^vymCUQiwjoSmEuV-kcN7?>%%Iy)yrxxcHg4D*y>ZIg?NQC!6ByiUN3QaD1yR$^#!hkJ+w_&M8XKl*eqR zr%iS&uB41X`0mEY9;{ zWlYoj@4*-6eSWz-0bpxf|1B)5Y$ZN2- zx~%1wjFYv@DI!)^ZS+mSBGSRAEzN^*3rGi}V__bQTRb`#-OtX0aSKNWqjQZs7`JG2 zFuF&b2jdou7e=aUWlUuN6K4xwfUT}w+1N^)=Fcg=(3$B(X68I-&<|uP8V4)LBQG;E+m%20>(^N_iK)OBv4u_gQTa7)cwa z6^@QSqt5C5638qXWZUvy(Y^kjj$YmckJBk-m#ItARPD^W;FTyqK_c~tPP09IP~KZ2 z*Yb5uzHta%?PE+YIeEkp(VaVuG{ket>8K1|R=ZK=I(u~L*+Wyyra&)W7 zQ5Sz!9s$nhLDt^$hjmvj{3d5$EpNZew=$KcGr}#Q3iF3|?6ALl;y`)+I{nb`>MRhh zkcH#L@|L$pZ@Be4cH9?!^?4!R+&mjz+^5XgtGrEJc6Ruj&en-n1AX|Y>kk258|}B# zU*G8bzcBQxFdzLwJ%(q@Avks|_Gb^Ua(4KSVds?(?+|{oeDwRXeD7276Wc-L`ysEe zA8*GzK_YGr+I_RO`^C!3-EB76t+{7DVs(8An^jr8Q`wmVa-vDr-L~vcY*}1<-UOkY zvj^rg(SC*;h>E5%%?Fg1RGSeyl-0{FWgg49x zcW&zw&|T@7;$?*`b*A`!%`bPR_!kvswKK(^RJhg76hEMFtDPzSl){xeQ~YU#DR-v$ zmlUSlnc^d^t_sc+Kd7*ko+r(Q~XaH%qnM! ze^ud1ohd%5`IVe0ener*ohkl|!c=mm__GRI$(iCu6}H@&;>Q%G+?nEEQ%bh9yyuy?^Q~X<+U+zrtZ!1hC zXNr$0Y$a!kzo4*{oGJdI!nRa!rucUp4Q0+0KdCU~&J=&i;i=$E@jq4AO3oDjuEJJw zruZp^t>jGcmlbxkGsVBBaFv`X{(VPl1!sz%R@ic9il1?HmpD`W2d=&{XNv#O;V5yY z__*emI#c`=%`bPR_>UB(k~78sOkvBNDSlRA%AG0xs=};xrudH)uH2d8KT()U&lErB z>MnDp_-hJN?o9DNSD12VivNYeoave3=Ux3J&J=&$)m`RH@&BbTm7Xd7mkM9%Oz{cL zZ?Eu7@e2xH?o9E&Qkb(jQ~a+LN4Yb_FDgu_GsWM~{8DF%|5Wo!ohkk|nqTfr@k9#F^rM>u{`crug4EJQbcPensKSohkl~!jw8w{FjP+#!cll>K zDgK_qlsZ%V|7d=?%$efTy~kKI}4A2>YehSo%?BN5>7<7^E=SMPsS_+%PO%AC}b2)`Vs-D38< zvh3@eQ>*(lq4U?WNAfNFcm8!3-UJ?}DRY3!b{ArWr_K6by}jlvcBwXoazd3(KhZhl6Xci!y#b(h&((sl$C8&_eG zv)rpe>{RlR$wgJxm)XfaNrikWbQ0x;J)K)0*B2ciz-@AEr zQ zM6Gb%I~teSFZw@`#(HGipt2odugK|0QZ9`ox?p3=yc8%N!8Y+(U2muI8Gzi<`3-I$o8kW?t<|=e1Hto?WT50jpNx429kJ zk8&c6eqy!_}$&NIRqWj_1LI`-WT#Tg3Dh z>7|A8DwMiJAl#=s8@nOk8JosGvkD#mTmZ%`+TOYkhItaMKHrj+wkl#*Y)r_}?Iqh% z8L|Q*T^z->8%xp19kM9Azh}nSSdPv+9Gy3nq_c8_1++SS-2QU`t#@#rgc@br59&;J z_vbICL$EH!+n*Y`$eU6Pl1uM(O5iIo{oTbGyhxBuFh1D$@w33KBbn%}?RU>H5S}Ui zBK;uTio)!bJqyF1(E49)@ayMVHkK7`^Rq zpzg}}O8{17fPow~?(p09_IVl9TPUPThC^QtBR?OK!+ll|Zti^2+jV{VJM!W;WRN43?H--`+}PD%5AD;F-e_i@$vwPKK|%4IF**9EO~+ zBfQAa>DLp9Gp8qvOYVofiv!s%?(>I9!FPu9>LLgWrYwG(+~cXUq<3*fDGqq>QrgFP z=H?F#9niz!PR3ImKE8_eWN32C^eu-YxBJX-?9*^Xw|0Ij!11=)R&q zfpdSlj_LGiTQMm6<8(IA`LQk^zEXaSX67=Za*3GpUu?R?$5EutF@M=7y6wiv*G-v8 z87IB5OfDmN*SYmyx8NHIG7A*W^^fBQ&e(D9ZOnV+D2|EAbaLI-4UZ0MN+f_JNniXv+d-V+6R;?r_5fg;aJV*;xbwp2{u8qF^k6S!7kR*MN-r*Nyq1fHXCtHlJK zt8nFF0@o`{xtPFeg((*kxWUy`K}_Iz3R`JR;Q0=|OibWLg((*kc!9!{iwV3?Vamk> zzQ@6=5))XXaHV1bYc;=;m_W8(jLw#e31s`kz*G_w$hLxktt2LpZ35e0%6(@ zzE@$&#RTHEH+8KR6Nu~FwzW)5Ag*fzQz|A9H?_&HG$!zJg|8$g5cjjeT`nf@N`)yE z6NuZ_;3yXpSf?EhZ2bi-9W_6NtORz*HI&*zW2s6BCGg!{96z6NqcUz?6###BE?;&NLOdv}|lV2((kR_bSFBKEWQq1I+iwR`;Wnjw11hQ1Jc*?{C?opU>F@Y?X44(KZ zF@Y>$3|zUGz+QzZ6%)u(!r&+s6UfrRSxtPEag((*kC{6~uCN1-w5rrug6F92*q{20{MH>?G%_9FatqtPatg&Pf7FX_`s#PN6R=6ju zGk=whs1>FDkBlYLn5monJ-NqONGe|ff0%VsC0BfpWi^Nup#s6){KjVozP_>f{L;H)wsNR`V@>Kn|?x!c>8dleL~`uhr7R>77N zKIVX?83|+Jo5$97_9zSOs(gR@J5WJ^Gc;6Rj0OA8xIS50;HS0z!XKLYoc~o7*=S(C zj@^Tkz{xM=dxJ%KlPdx(igy!_nPzbL5y^$o8)cBXJ;68faF&UK zE0mxF;qY(2^5kh87>>3|_w|dQM62>**GwIb?;|)qTph9lXU^x(juW-gmIv2%WhuD& z76Ekr`x=}e4qqttsgNwwcU+lALuFhHRB<-TorG3jw$ugnxH5&62wiTEB+UsmIIas8xV^X2UzUeO^PkDfO5SgwR(cnWDVd~H!4E#c@^H!$PgWjBf-+~f&oJtYa*@Fb8r}ZN98M>tu^`r_i?DyWGDw52 zi^STvxTv=4d>nihvv_@<(e}L@z!paHc-(hX-%zQYur}U)(9#BipILc$@K2PcAL1x; zeeLY*!&#Ju9v8dxCeAoV&)%{}Aqv&j>@c1A1dh7hUik@}droKV^o2{KR#fBfS{BRn zV}M3*{wc1r8Oz^(S=#0HB`0t&I-VxXWl(gGmD+<=mB|I4vkBEWAsxQL2~D1ATD#zv zd$eddV+8VwnH1`C<4Y5cOs$W5fSIkaE5Boh|ECZ4(kgK7PM|w+dWP{ytcv;Cz1=CiP7LgHBzmpyAc9zKE7 zJFI6`@9zr~KctgeaC(Pf3$z!SOtFIGpsuHa@*!Qj&;MKa8;fS=86#c$w&BPRmn~o@*8!GAPlFdX7tZqq z@1iT(z-GV9W`WXOIJa^uacr<#wFhT6_OXHR4#>evEMj73XUwMv-F$j08xQXk?)l6i zf9xG&W5TudAJ-2Q#2@~$>RO6f@&9gGe15ap@=oyE#VIv5?KR^x?D5yn53#}ZPUxSDU35N< zt!#`r-kcrZ3!@l=b0?>RI?jqGg*9BQcH((9@Ay8Emz|!=F1RbCk>3}-NI*bdJZRN$FgoZBI~^iYVW%;5;=XLf4^x6 z&&a`X^I_!=_;B0ahJz3CxuAU>4#l6}2H1AX0Ix;LKa#=49D z&%&>Xl!Nby@ADGz-qdYfsi98zVau#5TP8J_?DvM^*hyE%`m*qQ+-PfD;_V#rT_t1LzhJlpJYe!+Zj=q6p+8gfe z8uH@FWO{JWi+5vt5?Z!8+@{sb_Vs#$eH}wyGEU#U3>?2n{c9urvxlka9zDdTtcVS?HFZ>>Au(q`7VL{s{I)#bqzD7XdnVQcbW zrE{*tdz0dgu7E9$TWpZf8(RTyzY<@pR10PP;o3+9k(xI0t+||WpC~=@p{>RFELXbg zy)$E;Y01@;`zht*-}ydo#wW+PfnUDtAn5{gwfw=q0vPj!1xdfm!C)IgFjJWW3r0RG z>zL#Q5nF}GZzX=ox9E%0C|~IKn0(pQkXf8Y2V?O_Jx&jV#_SA-PY#+h)8mr|Y&%!d znVorD2g(xx--mYxcz!S{Lka{uscgF^!rA6xnnLFM&JNr@uh3=a zfKK7**OiXJuAcsG24E$}&`<|#qOVW5O+T%!eWj4*bno7-fj$Y9Gw>p_ZWXq)LG-+T zZ(o-%UEc5J_qLFX>Lg#8Ecq9a-#L&T9PS=6@J?4miA5(wX5CI`ic|Pv_^$6FCt!@A zOr27P6`R4iDDVt9jSWf@`P~ZOz850-Vf~al^+oUc;RVGFFRrf3=e@GR+sgu8>J@%# zHRfG-(a8uevl{6`f9!Y})@9g_26P8fu(00~*yQlwP+yNXc>CZ`y2nfJO+(|*K-ccw z=>hHark+~rRkbni7fbs^QB^O6r>=QI=N#`U5@U(Gf$S*X$ORQRHrCz&%+YfcMmBV^OF0K2IJ)VaCsD+;c{uuK z`QAcye!+gbCJK&ygYms-j|omsoL(e0xVrWaDBC~O*Y9=10w#+4lIi{-nR;||bu*7J zdgAmZ+&`V%1&`?Re-oZsE~er`aW9n~Ob&E`83Q7Eu&YjZ&U7@r&(tk_B}rOPA;xEj zi46GU&NoAE5AqR`;{)k93MTa&5j?}aw{`WVyv{B}IB+|YPCL03oO>jHV7PavtB0lz z_a>z=;FPl4$P4O|c~swEm*yK?71_GZOc~+N0A-3*$CP?#0IMuxf$*@q923DMx-kT< zp8AHiIPXI1Fz@{VK|TW{@68ZDL#&LPN1pZtgA){yVO2OOC%O=z?C(Q2nM>OG{s%Z! zL}8SM7SY3?9HU*xwo83txA-yb{i^89p5DG*Cf4zxE-`afu=MC~eSc^A*~%J)7oyWn z9fa=R7n}hBJ|cnrL&;Od32dCQAy}VSw`Ph~MIx6l=OBJFEIw85>1-*Rx- zIX=_v9asoJuqnF7vqo`Q7<1K?nRSL>UA^np=E1J0*x`J%EL>XL9`IT3w!t=B5*f|R zW<2u8Gle3Ep0ievw2jF9Lqn)>p9iH)WQw#RercqY5 za*YW1gug#0{I(O4q3*%JdOBar%fM}gzYC+nH3EuCAd@~-$AHq^k11l4j;$xy& z@gdlGc1ro3%I;r0a3DLMv=SW5W#{JD#KPU1&5U)8`T8bp-9Y_Gaa(lE&bxAfKgROv zx9MB)0gpM3ol}Y2PLkFWPj#L#7Oo3=N-&#foGBe|RAvQNjOb@u6AMlvM8XXBjv2dB% zJAuMDTxpTj<>UV!mOfYcsn}8<$}k`B@zj zo?jmsKoGsN9V}F`jP1@w4ABmor{k%DNO`vp^0I;Pyi)7HF_Ha#1WgBXW%jKRyrs*G zv!)aiBlS4`zrIQt;f=#Tg^ekPKUkZJ%xphx%#}-;KPy)%Du8`xezaydAjdk9Xr2FeR-S~nb`jH z6gCf;gk2(m^E9N-TQ3N~SqQ`41+4t|?EENGWFO~4Vc7X`D~AxE*p5YPg8U2C_*Pnl zekXye$%8BIOLBeb6tH#j#m33pB%$bhUvqMXz|Tp!E|^b-5l`$?d*0Y4!C#k$zrcv8 z&q2lrfsN+D7BOTBFTN^)kF9_={*pphwJ9aOs)Lm2*D|GSRG>B1BeFxwy@mW`+$>ct ztToP;BC;5#&gJXPx`$7fF64Ggc+pYodcEA=|WPY>--IY4rltwPGpz$l_M`rTm z()Ampu20K&axFMk%#R9?iC?M>KAlt^%ct#7t#K~zo1M+E)xbnT)lx zj++E);v|TsQ|`)NR)h8yVUskrhMll zfwl9a6Nkfy-1xJuN^oksLcPJK8=MaIo-piU=zdAVE7M9Nf0>)DCRfK-k>53b{mji| zOi?KlW}B5yH39;S`1#?P?8SBs#=ZF7cvrWq5xv2|bVHEO++k&YldLmsdDiR&`SHE` zLio=qmJfdU_OH}`Zn6C4dLV>`3(Pw11b>UZO)g}-%s~cxbp(r#R~qwTC_g(RnPcdL z&D*59I-WUbQ4n{gyW^r0>uZ~=JY?dXnLlul2o3IL=f-yKT<3jJHp684 z=-Ydt>C*hZYRcK!b)aXj0(VuOZ63?c%+61y$8JmZ0O5TCRNtb>>?Io0nGDj1=Tp}H`rVdFTVIHLEA9v}SNtb^neKdfV z^tv^Ex`CImWee#`YKx5Ra?8ybTko7zN~*gC;Q2lPfmT$`sK*!+Ix zc;xeiX>abpY#xY#k$e0_Hi~0zE+53KN2DIFzpG;}^*VXI!rxcq^IsGfFPl1PRas=c zBXxNFdrf(H7yn_mI#b0C-YWQq&5m4dBF*_!{EujL!S1>uQ~|PC;u8GO#>i z)yIWN_7)`34PCRAfMKCJ0V;of)r352A|or237|VEf>!1DdU1>Pvo}l`Eiz+2wrV=Z z-0alkC?D{(PDXJUNU|RrIf9&gy0u(LwLMonWZFa7!Fv34gNHfLEYTR+aM$jg$hxM8 ztkEF3I?CtaF$gdV>oV*cn>1>^I{FudupuH^zR z%Xr&?-B`Ah^?=W}74YK*+S!<=46G2592he5oJD%IwA?zt$BSeNJElO>D5(sr}gJVzx!ni`kY@(&b;FZISds z+amZSeGc9j__@FqN%}JDCQbKkm!uzMZDi6BqSWQ^9Ahn`=?31dJ2uj`+K35Y3dNiF zfBJKiBL+_O1&hJjjzTu*PGXIvE;si-T?V!wP6ZxcQ2UoxNoo1V++jL%AS+Wd-rRoo za@f8W*j1{&OG*l?_}8D~k#X7B8HL4bWi%W!w;&x#Y-|*`BL=VWXSr1hBkO{Axv)ta zYhQz|qXq_bU1YSe4j3*LT{5?}%l5N;!$shpDhB7>y*NoAO$Zzw*}5Mr1|I;1toax` zs;>PH)S>=GHeKwLc2M`v{yNA@^$iB|T`BjU$g^%q@mvLYGSB^HRm;lK!Y_r&%6m>Qy?hH?@JrkeN=16Z& z{hCAB{lVO)&xSM!7g0bdAxJ;OfEWTYEW7t?9ZwSVzpR71!V(#W1Kgok% zkTU~^s93-dl)ph?bcJHRZ!wCE2irp2Ib>0+t{dsv>5dMgdYI7aqns5+b97;Vt!(~M>wyh_C zg7^^=uM~Puc2Z8>U3`fo$a@_&v|EE%l{OH=&)z^u>`mn($=J-W=wUsYR(DcTEI0hgXv-!f@8~# zY0rgW%of~?{WjwmON-I0*++IWB{y#Fq`&wy`r~E+vGB*iKNW^wERA2*lOxFCje5JD zoX_FE%4Cq6P2biOO8@xB{q(lxAUzj?U*g=VtV;z?4tOUo@tc1@#}|JODJ0K_g8U&J z15N*MIv*jQJuMsxc8p?#^Kn1BW<{RST~~Gj*-_SvZPaa6qb~1_Aa8JDF^6`{_;{sG z?mm-p){b?WPY?Qfx|4b}--Id{W3@LU;buO}5%jPq3?6XtfgXnU$0EtS-e6}>I@J~T zItC<+(9b)$K9rXnkR=W>u;qHI$cy)+TAI9pM1PRp7fK%tr4NVF>l>vnt*`wB>R%V> zjrXKGm<#{IcVcKlIF`efIU~zjeLW&^^zuag>l{BB{LEA2pbSJ0uK3@(O2RJORLv&v%c_v`6gX1cJ zT(6XLP7>{Anyzf|+jN!W4a9qQ1MhV7Y6CC&LBFDdIJs1B2G+=+!H3--X}$~^eAx3O z-BcF9o-b)WeL?z0lb+JrtS$KjdUcN2GGj$#3gHnUd7GIBNT0c%{B_ImM;fa7Q;Dvb z+`;;K-=5jLuYRfC<+Vi(y*9nK-cN6h8ot`}U%M%kp32Ty{@J|Lb5Vz@Ihqlj5MJ55 z5DlaYZJ*4eZF=tD-lU;U%6v-l1Q%zK_Idqrj)NJVNqS`6=zbO{oMEzQzeL)3k#y4A zTklcA)cK&mMGoaA2Mt zG#pHlCN%vja2q0na@tLdx9Qt1{oFN!-caXo@1Dkny!7>?Cs^?nrdN}GTh~yhf(Q6X zXU{m@U4SRDZji3lmmElo8U^%JkuILc!t}MIcZUi%I;(01y@B*@_Vlfhbm?nICoWce zk+RA)JdpOTC4D$$l6)H18Q27;+iZrzaSrJ{@!s3PpGV`lq$jWwg>70-dbbc?(AH|w zcNa2)`m5(Of(Qparrk<`i(+|-C+mEE4 z&90szdGD2S;+Yui?z55%%55R9KRyue3FSFDE)$#(BIHYTF8zIiuSj~GrW;Rq2>vR? zqxWx-`X3&cMfUV_x-k> zOPXUs*bc2H-St;Vzffsng(v;hFTcUS*}f`pj`s6NS4R11=aZ)W)KA+;n)XpY?E=!Y zfBI<`l4km5sE+qYS=;}7xEd*|X-=PNNpt;CXmsfpNqN`jLg^O^jw0!s1m5+v5d0+q zUnG4q>8}5U>)qn;NM8!!xzyn)NWV_!hdp!bu>muAaF+C@N7JUct8%~Z9qNMeFmV8c#?Ddiz-CkRi z8IkB?b?psxavrD49FAlf$AM?7rvhIUf^RYKoP8#JO_1KuMuxOc($@y*jgl^Y#0K#9 z4-6US@qpoy9051lleQ;mg7WKv@=X?Rb#0TB?@uS_tOJIj&>=QV>NE30X-_|ghq}zv z-p@PN;nKXWuAtod6?t8L8){shjCr9ppLFT_OxN+@{dBW-4%+gjgO3mN^y<7uX#TrU zx?mFD)rV-KiAK~jP>!EJ&V#jU09oU=EXrEFyBp>A_L`ny>y=P)dL((?~>8$Q8j~*l4@M!S1Ax{n))(>`e$)g_Zs& z_zgedfj7`%`i7*{3cN{c_0!(#(r_|3+IlpNNx{Abd_gX~FG%kYqFwr}LAtmq@L#R3 zJ-5cRodA@*lUd^&+_57$JH3ClD<$8D9m_5yCUdt(rm9sI_K+|yAE9%o+wZtf5$ zihq7~VPTLDy=A+`cI@bu1Fl`g%AH?WPhPpMF@qvh-wtihx@8)-TtH)9S-eN{xnwBG zr*+-(Pk;KJvh^yxJ(-2OsHP=U=jl(Bt$Mr`Et!ra*YUc%hb{f#D8qMH4K zbv7MazOnW?it1Gfnw#=a)DBRkN7c3eQ_76bu%y0qF*|=a>7vmk?>c1E-_bkN zlak?;xEMLK%RkBcbRBte%r!p5HlsP#Y>wYbUW1e~IL$U=l6WF^TW$SU<3I1$L*T+M zX%{rkE$-*09oaDadXO3aN3pD{9{8fnAm?9}4) z456r!BYg0rY)5Zz-%wf@*wZ!0;b=A^1&@{iPkoEP%XlJbLtRdPt83Sx_msz{bL((= z;P$-p{=Y;Xj#D!ol6DIpdl}cI-497Q!~Z158S~{T^$09i2<+v@&_8195jxQWcD7T2 zth()?Wy4!3$L$rS%=&A&&mwyuIW@bG-IG1cM&_uQ<9vfgsO*>I1L4iTlR5{}@quKg*+#XysN&zRu8o14cAHyaID+WsyEBCX^CO7CeJDq?6Y;?= zcGq!>$>DQ*B-`*IC3sSazPap-Bcs_6sx2%%Q~L9Q)kDBRR9Es$t|M zaZ?Dwmx0jGA^6J>A^I)lz@6;t59BB5yQOTtnecf$WaekpwZ-fVq?@+=rO-Y;)4|4@ z*-VyhB9>9|MZa#5eAj=lB2Mm1dj{h;ex1(HMw3@Zxvrr>aS1aHaHj|KB&IMQei)IPEf*v2x}y1Q>?_)R`TVl|MXNHfEASKr^<^f!58snvbia4V z*Zq%K9Y_uL^bhqUIpCVM{C$=7qu-|UnBgwHbX!<={-ezo-9r6?OyND<-rn1xml|x= zz45Us*_Ym(&GnD%Pnp_jAlh#t+?h$99IwOQyhz*bSiD z6O3*UIJ3V-WhfbXkcB3R<*mLh5*gv|;2c~2T{RM`@jK}3OE5~~URXU%P4ZcF%5O9= z5)y|Hj$0Wp=htPaWnnhgMIxt4!rX@b+P&Wi__4{S(~K1ciQDttxTa{n8513ju70(a(P>$REt+R?=`M?a=b!{5%?DZ@K_x$i-w{W5zqy4WavT zy5NuA`ygvgV^1eYb9YZTTj<)b4nCc?V$2i0uzdV((R}&^hX@OaEiL`r7c6JBf-~^JorJv#bCf-K=nY*SDUI6) zg?o2xwYMU(nac_?;Y5#`}@t9N= zt&bT-I@+&(PVmshH9%JE6Vq)o*W00WMQ<{7g)YpEt+-D&sAk_j5!7Za8~L1+4Pp`{ zU3ga*v+v|{?6U&zVqr9xyhPmW&05DY^EP-9T-k{_27Gjk5Eks?KW`5yMwc$r@*g!k z5UF-g?&o;nVd!(XN74p2dIpa;6=n~XkBO=|#J9)MwV|zB!EI9oxs&^2*gTO_^RBJ? z&8HKvg3M*7W2xa?TSq4{?q1Vas!&{rT%;wEhg{Kn;hU_(#qN$)c&FPfTJAV&2fyDY z61}l>cW-Z3cOo5&?`jrgyP9*eyP7k*nin{m#+-Opv)oQbDpqJ$^F)k#MMnHYj$^B& zKQRB}-muVBI^N!-h7Hy?MZNkIu+DCr#zwk6WP*qCLs+@v*W%uX9ddBH<`#2^((;XP zzRLMl-vB?2jHSN_&2#+kw|{pc*4dRvb)@!m#FD!jcQv5(2XOW6YL;SkCcXDAdX4@h5YHr!eGwL7P2sA&2=DR*q_bUd@4WRy@aGSAdE%DAyal+l!8I9g? z2Y>AoYHxs6spGiON6$vyh9g`<5v#7hM1RxPV+~p;=1Am5*zWkOu`{MmI{BTxHpGiW zBDN>l6;F2eCS!#Y-B={@F{P;=hpy=H)`CwHOwS(78oQfkeDZ8p$cBqC7rhSm&)!(n znk2?kE2|UmK*o;3GpCL}r#>UJsEsHQw=a4pysQb^`w)AA*f0zC>>pd4NpE2;J32W& zIjXlo%m-t~vdYE8t@&|YCO*1Iyt8e~$*?{jn4KMqO|rN{rL#_N@T&A0@%XxPdO0jp zP=^ly6&&hu(sg#V@Jv!d`LK-4MSgLAyeKo;+?r0r87z9$P&&Oi!aTMUdv2)n6@QjUv zbkWF16=!Tj`J7qI&2s(Y!h$GB116_H$>r{$*+ouyO~ndS*Gy8JBpF`}$6VW9Rh=@Y zX&63w%*iI}bCAj3O-je92Bo9O<=sZUbQ>`cP7cc{l6^rmXGmubEYp^xh9vEOoXhjvr?~* zZ@+2BO? z=sc$O%IIHs9HFe#E&M*Zs!a>dV~Ac;Byx<$_344!RMKAlC0mZ}&M%9*20-6VXP5F0 zK1uwp$Q)FW<5z{oqvW1gYR_)GBpvD4u9mo+4s$klS2Opf@0WRr1cguX&i@O$nqvXa z-MG1;y`gba=4Dc6HH~*|*u_ED&jH<+0T9@quXp5Z+H1ZVw$_)hZ|?> z)RyZvCMvXF$+)bV?$EkVn)M`etzFSx5Clt^;n1>cZhm&@u$5IX{ulv;OZ3Kcz324w z4~*@?Un3JYWaIR7f;FC*9}hH^Zg87?v()O~zqIR`1+1Cqn3bcQqVHcEUrn0vxOWS) z-jsI>tTS^3=|g{Ibbml@Ma;9QAJaOQ*?Y8eP&EtOACU8=IBA^oCQSHuIgK{cP;XD+ zkcM7IWszk@?qFP7Cc=-pmM_0acxxieq7lQw+j2b9R?kcdep7ZY}?o&{_U$ zhUkpQtN)1t*bx-;S@@(x4 z8=vRc$MDzA$)4CPJzc5Yd%EK>bEslhGuC8w{xHsi`Ps#pv0csf3yb&;4rLZ%=!shk z)P&}(!AL3Jf3fnvN-kDCm?IpuIuKe3uDp-OjT@0K zTKz8NYcadYdT*j@qntN)^9uT&IWQ`A){PI#D|~5ktn4oA%fZG{UNtkjr5Ub{eIY)2 z-kgW0VE({pFgIjM=hIMVO$CSPyUWtHmG^*%%q9Qy3VWqa%Cfyx7LLa3nZ7A_F0;0X zDGAp~%Z)Fg`(Vg6^C$T&Jmci}6&W!);jI`?%Pe2*Xc~-dmELjc>-#lfecuyH_ICI7 zrTY^x6IZdT`Cw*#QVx{wYL@$wb~Rh~su*qQg@^n^9=}!aFt2y!BA2m7 z|F$4a#tt)z8%J$Jli;~eWl{q^GyeG#yqFo!7y#b(a3Xf6(74vejGNRS6vfVpEFZVB z4E3G-iJlwlPNIv@dFEqXp4*6v(N+v~y<#yhQ|c#l{o)nV z#x5?Zv&TyN_1ZR<-*5bS#;upP7v#pcqi<`BTe;FUgF1cQ;XU>d+YiF)Z2vQIG`W&3 zgz$pf$@JJ41aIlPFk4iYpYrF2_3_xQXgrpV$I49<9lxrr&Tv_jo|=>i2)g9Pp&AtH z+{h<-2KOfWaT=#quFwM?@(J6YhPoQuGFeuKwl7IPxkYI`71oK-$r%d~EbUfv!OPOl zjjJ_}8va=Ks=N22$Q>K5J#U!y*u5gXN2Qy4^>t%`JznS(-If0I-|ZZFSBulwGxBj` zAau^^>PC>h-QTsV-osqog+($m3}aW&CpWg8+-&p-yTNSCOi8`jac?HJHJXU~lM>x3 zk-3r3`)k(kVJ;)`%@(UouDkZ-Sq+>U|G+$Wm>KBw5NFWi3*uXszkHh?U2E*4e^;Dq z#~b0fNh@ypTatS^SP8WZadeh9q7)xC^{Bvk2PU_f_X#TKe2i+Z|_-m*Llk!bw)LNC%WU)$*)-0JpZ+Em zv*^e&PC$UU0cf-8;HM3oc#>KA;YoIFdMTv)(xgJqoXAGnUROAG8uhPJ^V@yQt^Lz0 zT5T3~X2B0Gw-%1BSS#*l=_LbEWpk!rwHWvxPJOXZ?)I)=Rk-lY&|}gr*FO0>_~ugn zH;+E1JUogWHS-9XXM#Cp11G$|2>BMaZXL1`H_PXhKxXYM#p`vgA_W+s-MDq4h<{jT zya9j8%;i|@hTX*fKYL#SSXFWTeN~j;8Wj~4^@*UUh%X@`;=;>HAR#>2)o2ou7ZSmb(^Ah!dM#g0 zL^?LF$h7Eg@|?st6R?0ia(4qwY_?ExgrsbNEvS8JuFd3;DDbFh{v_?Y6}_f4*ECf# zh;UXt;^<=tw+6`_y&YBKSLiM^&^L$n?#9J3Cn&nUvsKeur-3)foKI9H6hl!oefO~G zyS*w4HefS0sHA>DQSjOf|J0djBkA&=-`F@3-Z96A)ZW791)mX-XFuof+6JnuuHmfI zh8XU;ylf|yXk+#Pmo`rInX4xqqxMvNPQpyR8xPQ>`+)CRESfB1kW`*=keICba}zdArKAGmH@c%;?^_cCx2u&?C=!(z%Y8(4o6s@s{it zqPNilF0yzYJ`0^e2n2SNXI4~j1%W$P)1&NI*bvxy2)8?WyeqC~jQy2Qbr12ywqGrn zumjaGOkN*-o;W^@Z|0U~Qpxnj$`*&s*W21>*OY!~_2v_&Z63F6%3kKAIwgiK#|lR_ zb((F%cEnjJ$`qj$q^!e<~C-&|QS{A|NENfm+ zg|mDT-8IKapoYlRsP7o+a8V9Uu$g10qHG3#_KLa_KHpr+Uyqf-xOZLmbdA#&Lj_x6 zj;Xr>`e;QAd|$uV;h8qmcJcAjN#9!S=rcV>c2A?F`4ME@=KLYCsuDT-5xZvJ;+0)r`!DDa~|_l`@Xj|Z~TZJtaUgZ zX?2=10Y0mys$@YyQRRi*7c}hdB zzcUSfoua&gqA7V(qmWdYnKSsOnSbi|XVMY;JBxp+`KOkDV*JAp$IQ%Z{;6_)Ea#_% z{G%*VcWfE|xzR6uJc1<+4THE zx95+JFq~oMS6ZXnC(J`08WwN3kf-T62U9{&AHthmBXyo>9zi6N)zU9XA9u``cwR4U zapK;+!m{jgM-Nuda7QKH&YCzLnW=QLZRm=O?Ns!KNs3LXof$Li4yXB4$Nf*VpC>UI z>zJo9A~xK9vvy~fPwA%0n?9u=w`h7!M5|>+up)$&W8R44V~aw=({4)J=yuU|rr1%# z_A|EYUM}T#J4UA4#;dkIxC851O0`Ez;dJTj>$&e9%+bUFj+hOkHne?5#Lp zv*c*kX#0FWe_|NVWZ0t_`B?58-u*OEyapMAE_NfmnUu4 zZM0oUxgI3SSTL%`f)XvYi1|qw(B)hj`kZ4UI;B0N>+jXQiPng#t2~2ndeUKz4HM!0(qB>)y?aY2k)IoKeq5#9ciNn}rfetP zvyMSpXmk~$q^@q4TAwa1skx}v>C4C3wsB_i02krq&^ek1ow)$yA@#pX^SQ^{?#86W z2E!gZq)ndY5T(`;>GQY>vtZv&NHO>Q|1|96~){&!82_c zuzo_+URj{mZj)v!%y`2aMC~Yrq)xnSNVjd`NF%U=xiP3B-$TgH9m6Ic zzmlf7&59d*X}cMnzO`0#@to?0rslGm*>ya#z>Q&TO;P=~q$OSgOWj>(*tU!27l!=% z`fd})GkTJ*q`;Oii7s#4nlKO2?eIbGGvGyUrJ6B8&_;+{O?o!1^r_*h@2RazqS$nY zCzj&i`D_Gu!vlo6$$g{MeHbYwjr1~j25D%gU_w!819;1z$$FppN_&BQdW@E1GQZ*I z>ab%2xO3_W#(+^aOY74G&^~a5pvmHlLBx@e*sct>IddspSFwE(&j^z~Hc!>hZg52o zcYGOYXF6vp9&R#hCY9uz2&t2`RNb#boA7+fP}bF1Yn1D6(wozvlCEuc;j6^GGlZ4w z*)+vNTxBU^#8y)_ObYjo6U^7Pc%EIp4#+F|P{YZWA1U|A0rg}kL ztimJ+{kSL=7y!j`?20f7=dNk#rSP5mRv?XxZzS|&R=qRQar$7Xai5=rpnSk>4103& zoPxn20QPkwGJ786^HJe zRGS)GYiUP1NLjkat9sJlabpY^UZ9p++GDbHu-!VhjIk#BKO_kF;sP zSO~1@jWuAmg_`Qx>ZZmBRs^a!1*B6Gpf}pj3>!L>2d`lTa5E>Sz$si<~Loh{H6b;rPgA-&4U zg%NPCOtigFX+OU$N1mUs9uO-5yb(t0zZy`jr_@tiPP=}o`y7|UViZ#4{60tXf$d3h z=h>oWd;iGQ8`5{q)H=%78k6x!r@_nMM74^Wd5|Al@D@G?gL`J+Tv-raPP&?VNO{*3 zm@6CIc{M(RaR!U(YcTOjLmHcjaBmCzF5`?g_@A2;bc ztqEhptVmw=w7jgz)2Bsnd^@-OWK7}$sEE3zh%@GBzeSaQL33F{MM*e_YR+#CmjxqKS2dc82-Ml*w(Ct^E$3?C~${Y+KKk-ZAqc;u)J9{uk zcdR#6_i6D1mlG2^sq`jIXLqel;+l)P`na?HV1mj=dkCl>n9owYQMbyPCaw$B_2BRA z;6o>lVZ!ujnfXQ2@~0wpGKV{?VLcNf_NPVM`&*Gl`f-rv6*-9j0M+NHOEz+qwA#YU zJED@!Bc!kP7_uig+9ydH>U}hP+fe#!cpYtEEN6218_1>FJ#&5|woh(~aWu@|gfB+p zv(OWAu@Jros=d**045&987Yc};cs z;z(p>rZS}*zhPA8r)LMb78;^$Q6w=R{^ZR-?2m4>N0EDeXpvp^@NC`wX+NUQH%J;Bhtq4w{-rQl)=C1MjcoaarPH%8|9WMEo(BCv1UcH3JbYv2JzElNT*M8H1In0RGE-{?J~%6mmW^bB(OQ5jGe!!UwZWa|D}M$vC& z^Pa4lH~0_viQHk{jCpD)FQF<{`S9B6%oXc6n53IZO>kvnson$2jsM2kwPJTznE%Y+`eIqT{`FNT5BweLUh|oFh_AEg)6u)< zsdB5qFwY)9msJY^=w+dcY=+%mI(M?`XY2=pm9%QxiuD`O%dD?ErdVzCgK$<>WHP%! z4#p7P4W%Qltc|Pji7ii@F=4Xv+qJ%0i8d9vI4OA?GB@f`oAih*jXJSar}8H z4u>PcbJ5HBOvX=e=XWkRPn(}6t__2}&SSp6J>od;<3m>i?<$0tYK@qJK*oKbXgDq#XqSGhmO@k~~P9=BW z7;F=RFxmQshURz^_S2AQE=Rt!nDT`Zk@6DxlV*HQJKpT?bXqCJUKm>xt7(ix#ziyp zGhMyLJ#aZTp`A2G`%p2)h(IQl%*5W#7|@X6;DhSDbu!hX^Sn-cmVVQFrwDgGKLTlt z=OwI#Na}!_MkWKf9oS@^>9?=k;pWV$dE_asRC4Q((%B`b|b!a zgh8XMsgeBL$(i{%dDDfLT_R~d=GJ>m=g`>f3!rgM=G5$*!e|k)Oo18HLfh*ZWCpPP3f-tSHmbZfYlp%IbzjZn}&Hl#_Z&;$_th zi4IojAt3wu^`vyf2!)0E{yTcPa`^)-!?TT5+RmEt*1a{Kp&zeLqpRlby_XE?VDF9R zua{IzxU-g^+u*(R8)pffq~J=M0JTtLz zOt)U|=`*8eddKPWlyhvo`lzCu$Y1ig$V1ofG|Sn!Qgn8mmT8>-bymoW&c0RiHBawp zOtKnE4WvY`g^YEEm6(=ZEPLgv3C|*!XWGFh?YhR)AC6bo)ur!fUb8(;V0UhZp{KbW z8QRfIx+@u)Nl9B~pEplif%Q+tU(t1G*^?tviwg6yiYC)niSdXX@9%n67V&2_eo+Gy z1*qYMj_Oy48i*|5jcN>{S6W5zETKdA8davm`9{Yov-jJ<{X+jHO@I16)KX8*f*&tB zVh@|I%Jgbk%o7Ciks@{PJCp~WdqL3GE%J2`&I=LRgwqOgvZK+-`MD7_fMQ>uj*8!; z>*D8o!KT^v{JO3Wl2}WTQ20)~^770o_#xeAW)~J@Pn%kh9Z{>$$hUmvi?*GZxRS%2 z5je)aFO+N3#&ZUMj^VP6Jbem){6urXvFUoQS9RlfPT~+q|7uL>sz?OU(=(J!haP0d z)#|8wcRaUx3%9=R?vCD_QrvN2`_`lZ#)VBf9!2^?1Z7L&gLC*Q;>uUoToF+w$`g5r zy}n%YRnpyGrEW4d@s36$kM~p_$!4A1=XB`ja7HZA@JCs)&{nuu5u+c55nC0_E0~^N zG&S2o5LPPC864rBr)MFb|$7BYZV!CI>6Pr`rr-r3b$YI zv%79j_G-~OM|?i5s?HdF*!v0#J%?&qaDxVh^3>uSpI8H&(2_1s@e(;mi7TgVL+2}A z*2Z8HHc|8rZ0+H+$o3V^cu&WhyH@7-tO&|4{VgA#g=UG-GHxuFb*}qtEkt`i98n}R z<8j;)4$8%$n>o3W2*=uWcKdc2c2wHrY1o@@`t+$&^3k&)Cucaq(p@m6MC%5uQe_so z5$iGO`=W0rg%cE`bO(Dp*pJo{Y=+q-)9WxesfuB7KKCB1z+5OCg*YS*CQNUoEtZYQ z_O{(be$B4a`m(p+R%W8i)_8(>v=I?jy9CMP>M=HbB3Y7mHn*O(r=*P4{zjf91;`jP zK%4>+os^^bm^OhOA?(g)^ca0PZCZAuAa8nBezZ`}XQ%~qaGs;NCMl<%$9bm|r&6Ix znJNy@$~BK^6k90WtLHO>-`fm6M%2A0($DqxE!k4@d+&K7XDd6WZ*(C~BleAB3)n{3 zW}>FTnV;|0zG2d#ERJ&lF%T8cFgNKmT*7*z7Sa#dTJ&{Ezk`%eJ6ec+*X>P z%697O)VL~J>=d{~K|_)V~Hoh36_#;)5S;V{FCkr%0L=BHm}Go&o^Q>H#gExqsN5nijznf6Cz9x6%>Bz zHh2b|8GNAk@*=O5ntHLa=0`qJ?+ed%ZHwA8HT-O9l7Iac-L0>e&6)Za+I5S+OD%AQ zL`5JnXlV1rx*`~~&xY~)(%;tZYuKDck!ksPc~hq4P3AEM+NkDSU$`YgT8i(!<#27I zH8f#;$Z4lpPulGo#k@FuDTs%IP5Hl6^&}~oJ*0MMvfAXCb?mIdK1SM9p$|B=JLZ6< z=M?2+PAxzY7ld7$U@x0UQ_GmNPu%Uu$ zIz`gpFr(lAE=J>{IACBcnxLcBu`E=d-9WpNvLW;v~lV$7UBFNYspLspdpluh15!&LP(>cSihL;b^;D>f9ym?zu}1ifXW2uSjee41 zY8h`9YdgMN&&0W7_BJK^?5IoIDwK7+Lfa>8KTL0qab;-qVnu(B4RwKMBN*0hM_wxu z+Pf$#wa}==W z)Hx0IRGXTjpzL8Dsd&3M-dS ziF}EPx@Ja+$$1-|B_pB$4V&8@ZPM|d7!!+owSST_k2>Z-UB-k}h@v-n%9FCg;5Sbk z-)cXzGNoO=vl`pVSh7{|q`ekCBYfC6&suoWh_vrA{dxwaY|ox{2;sh~?DD1#@O+K` z?({A{U#!O=>xh1K`x)!)`o3h&O~(N=*!668{H{9w7|NmFf{u^3pV@P$YHw#hj2|J2 zl@&%IDdS%2X679fcWZjNT^+T|mXF{ycTYmuUkh|3zmbnWRebEXdyHF-_OPxaW@xa} zrT@GW7Fj77e}$cY>j^p?>>*4ptj|25Jv4*$7dTBQBe-?U5{e}yvZZ_Zy68y_?($sw zAlFxtxU;QgNgX2tTF2f!OX`?s)4a`y?VJ-3vmhjNhW572$-V>8d3*O97#>78Kc;qh)6@1m zqp-d?;`YtUw2rZNZ&1^32|KOI^V%`)mv#zI&W=pWi{?$6mXjG-&vT0B*yUbhj@f=x zw1A#V%@X>~)%3+^c-?*y+UwB1a*nKwbAGLLMc`?;!W$v9f%rEecRV9#cTC)RgW?T? zD|$`mItTjF7l>@F38p-7P988_mk_r}PD>LS_w*T!VUj>kh>!7oO`krWd7@3jdUtK3 z;tooT%^Dl(>oF;h*+>LU%{Br3Tc#!YvE5#~75sNtNo5u5In3OdQFY)Nc2ZC=S`GE_SVP3w8?ZZMP0bUQXaDv;BI}65cSs+x*x&^j%oXi+(}X7 zddj{g{U=AJWabr3Ey~T6v6&nGh@CLXaLR47>~piIEMk`l7i;w>H=neu?8ww9MR`+- zu$Kn)_%!}e4oo!}hQ`ax%;F!+cG!N&Ff!vVKp`a~5sUa}o=8yx$%vVNV! zR{jeu&0PIn3Szo(PM%>kf}2FvvrO(7wD%O$vD-wJf z(a3bfr4~*>V22$;-0RFqrz1riK2KHgM>ut+tb!f{97M>a)D=$sJ~w4T!sc06%T>0( zxo@@E_PxvtmtL*dw}EuzmcWy_NO4Z38pAiD%v`W1c2K*vS^STo0esD`kj`U$yXD=y5^$(MRvJf z(Dx3|jDl+mSgnedoa46R;3Bp{NH)vu_OW;i)9KKes^+E&Y(wU(z3kq}<^445pKa^B&tfEAoGh>37mmRcal@e7k+RF=o`huS^y4hy?+DdyuT-7$d_iXCGW5 zb%49iwC`09kzFr&4|#vAl5JCx>>i?N!FzgcRBfYU3XD+zw?UA6R@i=&-Y1^9`Mhr5 zqvkj~C->1#<+EB(QgqpHA5nsI7Zs&kERL)S8}x9ax7_k|EOK}-yDC<`P>DhA&jCA0 z=Al=aGcx@exkrn6!?h( zKT+T(3j9QYpD6GX1^$1bzz=wxIwWl~jyIaE{jXSL)tz%HK0kxllax#0)4}H!#Ky^s z+_s zn}){X{QBBhG4`!p*i;`ct|^;8E~B_vEx~SVDsCB{0cd{ng5oMHL#}({W|lQ8jBw<`MPZ+;CRy=Ge96^QgX$Ycgx}N9XSbK3=M`F-1>E%L1_6 z-0$KpjICL2ejl83?~b3Id*dmaTRT|qgzy7iqj&w$H0QyT8&hT{9n0~<5B$rk{v_Y^ zue(@X`a{yc&Ps=|2&QDCW8E5gAjBnfjm6Wd%Nyz&>noc=bE+G$b7^R1Q!|d4EKU!n zrx#@vQp#8r(kB=)C$Ofb{+#J^2@_pMh9<}Zz!{F626ytUE$^DZvvAC?b8MAU+3XwiMGZwBtMV~Eky*_`dn=}>jtfe-6sz9G} z^pDQpfum0aPMv{QNt39A0d<>#PF&l2Bx+AS+6vciJND1e#F%fbB;oMt*#-N|>yOUg zfuj@nv3%h`lSauhZYr398k07Ias8j@?wOhZrB>9YP0J>w4V`@hP8vmoje~Sj+7G)deqXT>t3&9XP&mCNoa1E#EXW;yE7^QFHRo5L_3&_cF9PUvX;; zbR=I(Q!Oi|KRSO0jz$X_^}_N27txA`c&68_s5R+><=WQU)1Q4_6QRPIKp~D-@a!%blW~H6@_&w1^Yj)X=2~o79oeK~)`T(H08>cwQ4};9 zPg;SG5LRK$oVXAkFTReqBD?8N2yn0*N0#5`*d6&hYGdu~d9Su>6mfKPCMsYBk0 z{KB#x#+AH-?qjtcvi}pf;5FJB!yE8g3mTQGPwt-q<(VeUCp8n|k9XJ`(R99XT!x4}10cRr0pt!+9d*k~F#iL)>M96aV`=-@lIQv5Fmpb6& zQGJZ-OQnxtDTXyR>)@+2eZtl(n}0^*y6JRSuLUWx-gUqUMt*8D=oLz!SHzJ?o0eV` zu{xe=j6IgH+j~QO&480h@fFtqiCw)f=;Y3?j;{fB1O)8fvVwGjhHBAYtlph2@ZIIBk&ewB*`(uHbGL^9Cz0xVQG-S!6KJ%xL!&Sp*_FV|*TC5XLZb?t_q=In zR0<=B0nuVO1I16mB~YzM7|@OR*7Wc!S`9}Z&_2bfIkYu)YK<66^b ze_Y3ZbilTdcZwL>xwU&VNq5KeJ;`;oxcOeL+*mXhJjXU zs4ZEf{nxG!U^KoTH}(0`H6b#r&$rW`+Ax4QMSpbu4jhg27Kxk41*vG%aSNml_=URv zKu}=K((VT}Au6p5P88u4f&=9W{n7b5a5Rcn%&%EE;3GKlPuK4)>t+m4NSlN3eePx3 zjnD*`=-831kU{4-RM8&>jyC1-<`QnOIluxM)g*m*uDaNb2jhF|GYgK_6xiR<^_$ji z)F-`fDx;A!>VBT*p@N4HXEjC>$NsywmBJhFT8+2FSz$X}^%^)HO5CP(pgBpA0KqTH zj|3WF8%E=`yQAw(8s*q`3^a|ngQsj~JJ56rjw4!VU1Lzq`w?O6vx{a;nUoPCFjqj8|Je{B-DcwV(TPBP@uy}5D z9X7sb3>CnlEKbvlG}6Lj!(-Fa$ET-_4Hq*PwQPeQ49c#nY&!>*O*Z%baYd_D1(QV_ z?rI6GBe=h{`1sO67uN?m$Lb(}S3ZQmrt|SB9l?`b2i!^x?iV2^b~0s?`V_duPkH5n z0Ty_{w5hUQ)vRNMV7tnY+5Txg#>uvfvezQ9f2svZj_`8VB=!EuXIT;#WnnYurn3H~ zlvAP&kOMnfV?Zaq!g$*s)p!0mD1?3c(1AmfV|9o#!g;ZwX=QcQm9fUA(2U%fA=XZwp? zzD>6Lj%DXwI#Tut357h_YEAf__{A=}spdC{s$?D7j5;uG)qOQsYrR6=1+64?*d)rH zby#Ka_(Y?O+==c(JNhl*XZwp?hkjN0EFWLLfzS(K2zI3UCV!f&6$i-Y#49HroqmoE zeaHi2KMBfDKetJoo11)sLt=;om(8zj545?3k^rxt#|MzlT^W zFxu~eUG&LYe`#Mj_c&tQ8*3K`C&4PSj(eyi`;^}ji(n8{VWjIGadG9aacBIVSSPT< zjdWW*F=W;iL({G%7R5Zzd^26^O(h>(a`zs@x`5>y*!vk1&-%?>yF5gUG1Zv{*12rT z6}w*XXBD>A25g*x&3dwXpQi^m6{tLcRT^09t#|x&#~V+tBNoLV$D~W%d4K;+>i3gR zSLuMAV5B?c-osWcy>f7lN{8Su^Lf_uUH7iJ?VKiJJco`lU1)aOm7CxA=>;F2sq##M z?f6mC*~EAzz*vK3JAb|K+v4bf(^Q`DJ<}&9dA{|{OWS|>i;E``qc6z&yi?|#pq5pY zCc$>P?XQ}@UZB{e#?iY4edG5(*cK3NVJ()e^&Bt$Fp~?d6R0Dhcku!@* zS8nwLvG8!qf_dqbbDv*7^2k-+EgPZoL_k8lf#r?(aJNT4*F4BG%c~7++55+zb>K^@ z_h!1t-o5Mh&9T3_i&!hLlZ|w5XMS?!%UAwwH8Jibc#MI~xN^>SKl|XKn~9Ys!J_{u zZ6VeHY_^f^gXe!}Zw`O+cVeNCWtAA%zuz5FcIM5aM-poXHqF3JdZF`g6MuK&=frp} zkr&IHwfPicrNB&DAAj9li*w)o{%K-7*XDFwrQP$cZT>F%=FLAO79U|*O$K($-M3vm z?(vbzCg2(6Q3G4D=JPkt-{sCVOvkgua}Dh1-@U)Ir1Rf55aT`rMF#e#hqfNM%i?ou zi18eD`Xi+*U0*FcVcV5MhY@Q_f*p0=&8ok50W<4<#shbT%HG)H8Kw)vS#_9^=g+SH z{dfDH)O7~2R$y-%*dO-T^SCwb-~EDE`~Hd8#NR&p{T{{F9Zjqg@^*%iu59SvciVIR zH>y8`;dJ(5qsG6W`eu6)Eak5+e!)CbQSm1>bL)Oj>CA&(n)=Wd#G-JtnRRGeY8~+V z>pnb3l@pjLL%R1^a{o@lj~+xU1n1MeMmc}>zzaJ)bk#&9UwHO~w@*L$&`yV_=Ow`o zKkgUb5NiWQJ4M>)`K;|9{N$u%s^4}e!Os29usfJ8jD?5ZI&5?Gfr=+ufn8_hS+?WU zr{~{Xx*gL+4%O=uA2KMbAF1hyL zSFY4F1D0c8KRmfd`%UkkvykbmG|PI&z_z_&?qzd1bwBylBi_i*+b2q_ z6d3+H*v>~@RW{@P|EVI@o&BZ;*FTWw&I zFWKkjCwKgMGO;!^-sT2>UU$#&7hd?{@v0wnk4GK1aPz!imur7^_T}gNo9W_5A`a8Y z^U>vx&MUlT_G)4sz)T&Ne%_Z)o^->(8L5%ytocYGyqlmQvyMXt=CL;Fml7ij7>>PR-vG6392Z_-px~=m1TZy#+ zE5eVGuDT?;dQta|I}zhKI*;Qj*jf9n`e^h?=boUjtlrp*56=!OEZe0upGW)UMvO%#-%Z-}b#h z*;%DYu*QGy7h^h}RdW*(Nd2yU@a=!yXFaF*tYfle{mHiGJ|d8(W{E6+vCz!kG#ga^lH#*cU~wbeb2qhZ`K#x*s$sewV0RnXkf9Uvg6*i|g_R)jK z9;2|imIW2)&@=atolbst=;QAb>jw6=fl}`Bt};6YB;hx{(-lBhE_tmKcRDRHsuG>c)~8U%o{w0xaFYs2dNs zluhu<|_Jr9`3c|Px(-Ou{|m4~1INab1P>MCN?Rh`G?{fAg|K6EO6 z6uOk3ar);kFFah0Q@hF&>wl0leRqLi1atxM-b!r)aahh^VVMX^v%bnFM5qwD=?uozta}p zcIlG8sXT%G8Xrh&e*e$Siz{C_0obhpn4f=?^}8n^-TeXBBLNuC`|zX7(*YRwvG+^&_W9@}s+re*-F=BrEY7xUB04f%RJkRHTdBB;E@n@9| z*cP@dAa+pGzwQvsZ$B!gONEd~!IgQ!<>Wn!m0lV=~e*pO>SJttTQ*vUbJ)?dXdY^Q0d@pFGaYFs z`&^KooxnyK*gk8j!3jEDPXOk(F9h@S+Yf+tyH?u`LN~iS@Nv@A-hDd@C7a}G2JPh8BV&?3oUD?k#4)k z4h=i$fE|wlOP(3$e13yqp^GhRA0yq0k;~czsyx|$xA|K=Mj|?07qG1j?4g=J z77Nx5Y`%dl+M)VE!FV?OAqMuw%3~%7)(&hh0~>nVo*xR<1&mD2`mroo`+vGNS8c$KBkO;_`Ib% zd<5$2vc!Q6vfGH*)KABwXKAeSS{=VHWqIKFQytkF2R9yy`vm*%$3;HyM?6l+q;12{MPOh^INx0%tG&$KFtP~HQU7e)+-b9TdPaVZ;dLkD4s`puzuvl z#Sb66KQ4;T;=ov0VteB%aZ60+w{DSGn~^Sr@3N+mnBTfIVjW1Aiz}bEFRuSQVX4z^ z{nlqOo!^=yVt#9Ji21ESA=V0^bd}B5qwxKnm#)7D7cF~kw5((CndKz*)PBeQTQHs% zB(?@I)7D4@hYLN4$$kZVUI^GNyxMs_|IP?UhV%dkdel`WtsXoaz2t^#Vn^DrX$nLVT9z-FnvIe+gzSckKeETa$C>&Vq%3iL4`b zcK5yT>gqgOf#u?}*M4g&SeEz-%eoUE_`C!0{o4bJ$v&!_ zUBAV5d=~77$j&bb#xqx+!~+GpX2P)!pZTpx zNtX`-u$}yP2eF4~m0oY>!m|uJ%<-~JFy73+v@=^fyj{vMY0DCV0`!E2*T#?hZ-g2%Dz`hT_ z2CekZbL#*sH2~W+02>~FjR?R-2VgvxQ+VD>my7^xVgSZ-jQ#S=3&08kuo(f^ya4Q^ z0IVVa^IJzko^M4uvB5Z4Hpgmh0a!b*!MLBc6w`fr^}~)2q9Xw7^yF#Ue18TewD#Id zero|)2W|wtE6d_p14k^>ZCMBKigMy&{m&i0n^|)A-iHy3b|+%t_y2H{RoA6rw_1UX z#66Pk;9ZY;AaCl6D*mOzNVgg8G4t&9U}m1FZ@MvNO!u?fZoKc}YaV@rWoZK@&m-1) z(eDS#^Ey3P^E1!i``fvHyoTv|JQ&Lk(KBw+ihFTUSRB~VHbx)DlUwAI?NmSDH3jd86^XD+^4bC)xTn8h ze4f0Bh44_pyy?QY!4HcJaxrh7JkLbZd9hNISTOJN;)DIMRwVLE*EYl-YsbjiFI~qr z7$1TLk<@4e7whAm{a0ML{bs)*UBcUfM{yPG>gV>mYr!r5^Et67JZUD@xZPh4|K*&r zQets9LrRTww?B7kenV@`vBcH@8>X;G1Q+#Mbm_b4#JJvz?Hx(g*jGmm{u^%~76Rr? z_fGBy?-Pq8!M6GM=r}Pl7x_f;{N45kQrxIKTY+)HNU%GHy<8#KHNaHfso@BJJLb-7 zlqtsF+JVi-Rp`?6t1B1r9%7+X9e*a+(3=<;p|Nf8Ft8fZ={)&6Urd(@Y=2y(Ec-6L z=WD?tz&J=2Z1sb)m9K>9;=sxjrrYntBPKe}>jCzdf#vOV?Kpf@&+7)EBL+6?h*ysh zEDTS@c!foHiD>1tvX zd%FBWZ1gh=>v6G&Re7+RMxOt3!D>9%*W)iaPp~*JB@58Um}l!V|F}u8Ru49K`qY03 z)&@-47GlA9u`DZqp-ZTC=RFsXXq?U)h;;({6Rr`+WU!p|`E_5BwG`Gq+_GLH2H8U_ z?b_~{f^n_FUT7S_=6&<|YQa+W(Y{0W2d2xaoc3?Q!oY-giT!Zfb51{s0~>?iB;Cx< z=5%y?WjX8mS{7T?p)`cw@ma7ryT4I_uL|o3x$=d1zE+d> zXTeqh1KT@gnYTFOmx6Tz!+!@`e(|a*!BX~hMzML29ycQU`waSy&*mD_Gr|U3mKev9wzBulC zhv%cfL{|}8HF!poq>FpgjXT8Y4=aFy)tu)Y`|o$+lCBGw>VGIF`9@w_;KLeVvv6e{ z4#f5Mt)H_>s*SjwB%c`i7_p}g`^%AntpFx8BQ_`Z&c6t@3K-`!*jI>MeEmd1D$mux z$UK4_JFW9X!FqsEJ_y$N__IF<#))zgLdr7yxYA<(&Y@mdVraAXdBgbjieg{MZ7t_kmvclragy18tFV!fl-06 z4&(6KCFe|y3f6Xjj#G_T;fNwK0le5ot;nbq*GOt>L^TdR^QAC2rd#nj85TN3+vThu zZm|xCjXLL)%T7Cm>7u~M3xeHf-Tus(T_^m7SQRj72Ygkpimy5*5o__}IeF156E8nz zw?bkoJQ$z%_9ZPB6I<__ZxKrwn^=d^oxlCl<%gxt zBsRf=@p)$q-AdV?Rlv;py*>EKD++$~!y`<`^)gT&PTld*D*0#inZ#Cj^2~qWt+)63 zg{ z%zWNa9?X1R)PtGnDm<9^ycQ2;=6P8F*6zW~=iTeU%;&B0V7UkUwo&T-st4P;^24_U z>+xV_IR~M)nY4~v{n>MpZkPu%%Q?n_nR!M6uvs4L&}WZpm*-Uh8-_2`9sI2==fExg zdTqWMGoSBCSN`^rM|lru#p&_F%2sZ&xKW`yAMCMNi!~7ae!RkoR*hE+SEPI$Fjux*h%$ zI`D{lzM610u|0voP3E-2tQX(xO8xknR$>PL({_PQH};~RPr}ctei;s?pZChg@8t-V z6M)SEX4cQ_w^bg@)KzByGx==!FW&q8+UWByvz*rg+Y(pdCGy!W_1FHK*bTsV70l$b z_9S`knHhPG_dk#%&lf*?bOf!Rdw$6U}m15doVN4 z6!Z+U?j|xBK%<#@1d9~yC&lyja3GihDp!OXI>dN8x@*BBUWS~J}W4`%AI z2R)eCeqA2S%<~;!(x>^n8@4Gv{fF*9A4lH%9+>oLV(im%Z+ShR*cK6&KZ%)rIt7@S z=YLB6Fj#c|NMJ&1rZZ*F1P^A?v(ST?c0s8JGj(c{2m9OF+MO)CScfGZEalC=yd&5$ zU}hbtQ*+K+tornQz`S%B_r_g+XP$oo#w+`+moA;a%(|O8^(7Bhw#`?Ik&Vi04KR@} z%=3rK(trKCUGLkE&)F)|l`q67UmiZB=@nu-02BE_jPm83$TJra+XdKQT&0}fJX-ev zzN+U92PX1`=}f&c2AEj~vu|?Uyos57HY)(D3c$_?z}f<^*i}~?;Mm?#V1Dgh8i2)t zneA@Mp7TA}m@f~w7R69}wiKAz$4ohKuP2=;Csuhd(*}DLm`SsbubB7D!Piy3%DR6I z%uBO|*aymov_*DrnoWQ7TGj45023RG^xSHfQSivveZ|4Ts=p`nl>qE0U?$BvGE&Zw zJfj}Wq-TW(Gj&Ic2Q$aTmw7O=-?jrYY4(`)(3ijY`;*mMpg<1;^U~~%e@(fM*k6Eo zdA|0bZx}{vJqwIikuRox=mO@)XWhWevK(^JP7jX0?tAsT?}2S+0Gb2Ko&I!pj&)`9lmzs}$61Lipgn3tZ@hHv*Gu@YcjdR}zhjOoN;z<5nY&njSk zWoZFs@|h`W-_(CyRgypAn;;e&Yx0L1JeE+X`3qBVx3Pj{UZw zlh_5oL{1P}w8xew;G%f14Vds5F;mXB1Cu^R%&gzN0oW=JX4P*est7dcO#ZEIk66}e)!TySN?9ZrNmM_*spf{w02a_^xcUK1155i zc~TB;dF|0v#P$JZKJS?8&UyhqE4qY%`Ozg3fJK4%(X7IQnYzCPnAz^bC)eK9-ZNj# zOu?<~UIjDt(K1h-Y2#iv?4V`kC-VOLfO&c8?u9cZ6MF>M zRz{x6zW(d^YX0a6U?wl!a{T$uTtOEwKbmy|GwEXT#OEH&yR& zW4c$vubv`U6)Y2}?|I(4gPz%4uw@>s@PYk64PC!`fthufzx5v12)4?D z{kCl9wSv9s!M=F=s(S?M0hWR<^s}>^JKkGzwqR?4nRHq8h1CRLO##>$0oeH-%%taK z9_(j#oqVH|AoKSl+)k2FP!uvrdxAg?d_7T1(@_{Vi#_6EM|!{%`Wq#dup%U9bXAg ze3Lpb-JYGf-%7eWfQ9gdZA5IJdtPzmOP42ILK}IoQ{F$|7Rj?a09yl$ol2hfZo{3< zTx4oNV*T#^_?C3Zb0n~kk#2JIe@+!F-;-|PFGv1Uuwr0RchYsQ5AQiwunG_M#lqWS zg4K91lLwnTm??YC@L+emrk0i}zCJ$yyUc@`ynBs-?ScZD&s*lfF5C6*G)vU;mU}QW z-5tO}xR33?JTvb7-F#eBx-L(;gm(8}Wdh zJ2s~(XG)>lw#0VcY^VJMOZ8x8`wa`gLIK$504yAUO$fju9?Wd_d=F;!Tka7le7!3w zZOZw19_+JAkBCe05IYJ;d^X>ALH588`0n;7e<)TZzRz z*gMm6Z#}ypO~nB&^Yr?VfNC0HAX8nV-Ei)+TM ze}5JiT~1_-N8)^p)J~4Mn@F%_{v1ljh zDlcL!+vql8I?_{K#JYg#Jfoe|NAe=J2AGtEI!9i_J_p8YE9j{NwGHyOwMIJ1NO=)U z0WnmbC=2_hyol`xOz7gpb_&3T0%LlXh3zgc{x(dW2YMnT$$1guS}&=e7t4`6!Sg1@ zaW`K~N1hn3zUe>2_`4rQI{RVdTR$umfQ=5o!U5QX04x%Kuu{Ou>~ruN*`+ zNNipJRvLg+1z_<2tR(7xw`(deqfp=-o$cy~BL@@B~5dz>!tStar8i2J2U@HQ!jsR?B z0M;3RtqQ=p0E-KjEybn5Z>*) z*tT30>xXp(U|ihlm##YiTN8lM;P=aOZ2(5Y#xGq;0G1kn4GX|R0odpOEF6GM2*4r% zSbhK&4Z!9FV5I?ARR9(bz*+*Z)&Oit0M-_OEe*ih1F#hVSVsW1G63rgz*YrdT>;qY z0IWLzTN8lw1Ym0ggM0})5=85VB^Xobaca1iURh>fUU}AGU|yN^xPf_}x7xtGHrR&- z29e>sDC?-qL{9V?lLTO?0obqrEEIr^4#2_z*n|Kq5`b|x6u-Jh1F(4kSZM%O6@bM9 zu$BO0Bl77))9cM48S@AuvGzAmtg3d-u@7U^F-Rc*O(*#D-FP^ z0x)Nvnj~YOmVk7v0oalNtStar8i2J2U@HQ!jsR?B07fU4UpuS{z`6pk)d5&{0JbIo z>j}Wt24Jk5U;R=7uvEdoyIy&{M6hIIk^pRJ0M;IWtq8z60EI$B?24M37u+jjmDgcWIU@ZYy zYXG(+0BZ}tmIh$$0oaNFtRnzh8Gv;LV5d`!`eIXdlvsdJ zFF$PvnDDhX9e4F&3=VnFi$x90tHUdS`IUux3=Z?ja|y7J54IuzTLsLooUa4h+b7R& zfk}V&)^8XliT&u34$Q9(Q-N`QnQb%{S9xK$WfcR^K95i@+a?Z7>OdZr7t>t`49%Y|Zz_bn4yPRhQU>64Dc})OzQvlWh%&%=92*4f(M&4t;_0sxN zV19g-f(G(yzhME`XkdP{&IrIF0azh0>6_j;dTMlgvVwg)i3Jog8t$_d#M27Tm38Il1^$~j&DT!~EuhTQN;>d-np6N+*5P>;2cBT!@RpEc_tpHpg$0jyi)cd;FfTFC%|rz5TFI0LFgomo5^3MFX%> z1Ixf?dBHWIUi0ubg8zr)(br zza53SDgE2l&Tlc!7qe0El6vrZl$8P2JlXmicI%96*11{c=8tbad5b@8F?`TDgDx1< zHt6Srt{-&ZmUnD9W~;lmI&AQLgU6>_oARraTT<>wxi{s3l+KjwAybD$hs+uB%8=KG z9JBTEtqczp}{1m*m!f*V{>y|(&txNIgBI^|E3f#LTasUDB z*H*v>ld+B0bbP)W@7?h;+x$Je^FW*1@!kb=T7>sM@jeFGT!i;O@m{e%&U3?D+8uar zhYr|)_se)6hE8=R-raa-f|-AV_aHD-5#HC~oqGV*vTcpNg!l7!hcRYejQ5*(lNavB z`)jH1r_jcg7lkk27?|mWQe}ngy zdt$7L_h0Z%g+ge?`)_#fgP_j_ydTGVG?Y&(-f!bQW*^JC8t+f=UJydL@IG{3oE3=o zmv|pH0>9xsc0bSz?>F&IABp&1yw~8JKFYGr!23D8kJ;a{`nsJCLEA}Ny@LFcwb#x+ zwby{Q7u#fG`qlgBTR-)yjq6wQ##q+hdJWE$44;JxoS$V>co7Owv-gbbX9>(Q3gi0kk1UWD}Hif~Rf-Xk)Q z_HfI(3!ndj&mZA>F!JP@$&M+ITLswr7vCR0(XwvKgp4`}>zmTCN9{!Dt1QHt;~CGR zT+5LE`8lXB?msz-XCbdfl<})<$e%;;Oq8ntX%0Zzv+&M60`g@t&f-R%%kViJX@7|_ z?}qy?%f(sIvn=b~Jk)@C@ zJnslR?{m<3`cWt=zVC;+9)Pk{!2iyLf<8`~Uz1N_frH$Ec(#C9GmeVXF+l1{cyvnvFud=PltK?I*IeFA< zck(FtL->?DN?s5?C65YUkXOm4!XM;UlSjz20^g*-yOAkUC*e~WvB zXUMy6;X8SkeSo}6z9KIP9|^xC<0rN|`H1{OzGQ!W3w%bt84Aqg8}gCx3;PuNM-Z!E<9K2q<-vEQKgomsk_YTp8_NSC52$~sOT6+} zOBqhtP8lxx zoU)a62jw~CDs>BG9OVgh6Lk)C73~!2XUam#T*~72X1IEtGL*W5dV}(lx`Fba@|Svq zI*Iz8x{dOe`hYr*`k6YHbfWC0eq=jRzfMIQ=f?q!Zr{cOd7GSq!H`O zI?(Pg?Ksj?bh4?B#hzd}*xvD&ZdcOO)VKFTu9Fv77e!0Zf;Numa@LDB2kS3-m$W56 zk;iCA?CJmrH``S-!qWk5Bv`NbW z*iQ}bokznrgZJqt!lyb<^Tje;X=l;KBCiOa37>eszkeX?nG<^7N4^)i$$n4%rX4Ti zE!y)k=AvyWHa7dJ@Q&G6y<@Hq@J!m9l&2GmwXG>Kl`=r&DrKX{)UgSykFZQ_((2(}1DKo@|9u1nC<21@! z+U_C`Oj%%#*TnV~o0#Jk$_Hr|krT9uMOIKYP*!@!Y|^GO-VvGLH(sNBpxsJYN*<9h z8+pZ)7wq$1nISTje9G}q&^XPnyc<$ZmQl**EnC4!KdyZ2Bjj(=fIQCnQ(r{LX%0@;m#&`tZE?7&vb8<8kphkhjSbohSHLiy%pk#QRJ zG4(KIHT5v%^@jR#28u7nVGQsSUuZk4zsB&w7oxk@mlvpqIqnrZgtCwJ6lI}|b1CB} z-#A{Ne3Nl6btGl4IrgQ@q@1NZ6CFpLLc54%<9Ls9jk1vPNye|Vw`jA{zTxLSK5W_-Vq42tnYM>HUZ##b5BGb=&Eh+zjV)tn z+K=WKntodGgNVP@^dD27(LUz5m-aTtl**5cx{A#$_O|#%#O9^#C_WO}{M3oG1F6I5 z6QO>gO;5iu+n)N7x{~@)d?C^Ysqam{hiNASjWvFZov=PO*UPXi*ENplt1*PvMj-vf z_F9*nAmfL1*$aNQIQs?r6YT`{r}Y^-NWbn6J3)9>`iso>2w#vV$h#ZryA$5*YrkAM z{BorI`ugM8o|HkPA!U#F;wXzn&QQkq$rka!iG1k`|C=c{X3o|9S?21J`3~-a4NV?p zzo*=#oE7=n4tgZ}{jbOC-?u+O%RXhTj2(Z{Kgq|b9B)v5 za?ByVA&xuxdd%vTMQ?yl|8LVzAH%l$e@Q?6So$+oMr>EnSu(#THUecyU)u?*q2KzV z9q2=*tw6t%*bCIv)Q9vpZ7REAU2>CiTjJy6{FW&{InTABzP|Ob;g7*Q{Xogki|{Ot ziw*+sY>YiG<0bFBz(Csd9Dh@;a{MiFmE+33ma7A4yFG$-`N?+cAOBxp#A>WdZivia zzcOXU`p65JSEL_eU2}@G^XXF}uWb2$+1THlJM^0`=*#gx7O;{18Gyzwxmy4;=pJt zn0{G_FA{kren9$UO<&;u_PAb|1GoTmxess3iw&6<`e`np_guhe_$>Z^nhOwFF5|Sl z;9DGZP-4u}LchYX;7m8@+n zys{@2&u)x0G#2OA*T#x7FIeB&K%oR8)tUWhWZ5!WwoKa>Y7+%@wDplhWf_( z%BIkq>c-}>n$XOq=8Ee2;`DHOdU1ArZEbU1b<^VFIoZXt>g#K8|4e*L%NRRu!q{=+ z(#D00tLw^Znk!<()%A@{4Y9J?etbj=DqT}jUsoO*Th)(`S-hyMrm>{FzM+2~v#7kG zxvr_Ywtt_}SXR@o#42xSs)$uK_U|*$niF`Z44DuH#HWgg^Q=yeK;*VHas>xeSCV_*l=+(nzmSx zBS~2|I3so^WLR=)yrI54)|iZ8Ha^et`nu|RT}ne(=ENEoHq}EymdziRQA|136l-iM zZi=-u^=XYD_p0j_B+0Vxglkz-eQkAlKeA;@Qx$}FMY3k;yIQnR+LiY!q00G)UUb@E z&gyruT-_9FK%@4jq=7=NJhh@1E&8rG%QfTo=M&1C7GrUW*J#<`=Jf5M8=R9WP!bN_ z@QiGESR1RYZ&<8zTu<3m9`9|({g~&M#}}9MZ^y5$qlgSAp}`01yWiHP!Qfd~dBSYpP1Z zDjVFAVsiN8*LO8A7A;6;5L}@jf)$L8=K0KnOS{EkNU=5 zyw-QQx72Wm-50tCw4fI2UkS_N);0I%;9D!IUKHPO-cVAaUwaD4U0qjM->a~F#~#k$ zy`&Fq3o!}c<*4sxGr6X^7Gu8wA&|62zc#t9Prp8*oO+}mDW=>`NougcJ&Z1y`N_tk z8=jNq$Rvg8kDe53DUZdQs_X0e^?9*AwJk7=tF5jpYwBMoUJLCvxMBN|`^tUvUEeiy z3oPsYm1?%Z%dxfXzD;8AZg3~igy~nF?EmJihWD$wtfu-jkfsKfWPfrJ#sP3Y_Iknw z6JG51Q}w_iNegUzmi_MFX{jtLkM$>+Tl(GmVt1#;GV%@?r>w579#(w}ovW^?thz4N z(9c8479XRt?}Spn+d<`(HT7k^`Cx-NS7no=3-lc+TACWt$}!kttvEocx81m8?x`p-U0{p z{IbTr7-D0}u73?MI5e7KwI#4%`qgD$7dy2d`<}>iqb?<7^Dz^d#7gSBX6Ep(q^Y5- ze}|h&uGICGvwc?&_KUh?@}ch@(W0mMl8CiFd*tCf|=I+C<*r% zYtNRhJB3>~CdrvtTvl9iYJJ1P; z<1_fTF;>2yaco&*ZL%zKTXZclqf;6s3TI|c0pf3p%e_%J;V`0cidCP3u5 zEUu`SkI`zZ0*toKmbAn0R5~YeYJ*bgsI(1A0s}iSrfr?6Jq)*iA&T`2t7Bu6a>ND@ zcwNNZXr^siRNqXCDM{5fI?s4xRlKZxVS4gx6KicYEQESl14UwA7UopM(J4*Qmzlz! z+%Ney#$ym#3{~S)WM7up$XQK?sbO?~J)pTCNM6xUy$CVZBv4L|HIy0z(;X3 zj2|D|-Q8V-JH&uMj0hSyF3ClRlDi}XD_XQrq(HsYpoO~8mO_P6FLkA~g+krk;QyPI z%jR;IvNEjM*=9vo->Y)*Gd(p~)@m?oRjK6^ zF*fngLMc?0WH2$J)CcAES0Z)YP2BZo#K}^M6T$?~*}(IOK;eZ8b4z>DFEy*ARZ=uc z#;2Q_jb=Qqs!sF-ZMB3FVAhch5}%`53gb>YbY)J*S(p5pogD z$Bj^Cy!>)aomsA_?cPjn%xl_XV{wTEnHC34mdS^_yv=h;+Bv+5ficG_Q)icJYFoLc zUQ({9eVy2OxNR|3w)85`774=r7VkO37fx)b7U|XOQ|(rZHP6Z=(s<>`Qr}~sWk_!W zU`vnZ61Druye~bpGeuiori0@(4~NvA6V&xi9oQCxtB~&OseSn>8~xyKD<#Tmywi9P+eXUO{%Br;EC`Vl6rMD6ziXf zs27Ah)#EOje_T^9J25^zt@NYAbgOdTPUdvw%@6X?DTme5)pvcC?xs@PdMn}d!gZpA zJoks5@l-y@N#%7G%0s6)Hb>k{B1Q0=>&ocy&5~@R!6K@Ud$_*tDV_;=oCn$6+>!S@ z&-mQb^h8?Y zQG+c}fsx#@hzrOe4~NUj)rPO`W8x{f$V1*upsb*hCy{rT3JX|SR9VyWtp#>%9~&oM zU&2Eh4lA{%eJM5Mqh9hz#OsNRZ~aOb7r(#weHGr_(pG+ykh|68GH!*=0LjNCK1i-7 zfAJs;=Qd@3e%g!Riaae`^zAerUbwJ?2jhceg9OfZFbpJ@h+6XXHgqzPb}8RTEc$1( z@73vFa&`?3-!EO#{!-biOo7T2s7!&%6sSyrQc|E#)y|!p^PjoM#%ooDXe?TZPNIY8 zBD#qlqL=6+`iTKzknj^j#c(lF)DsQFXfald7ZZiQ2o%9$iU<+YMVN>XGeoqA6|=+~ zF;C1F7GV_$!X}bMs>l$F4RM+E{=UqY1}<~Ry`1dQziWE#j>H?rFngsNeCIEhUEI`l zYc*|nMwf$MJQFs5yxjZA?#&L4{?9)*t!oW+Q0!__Bcjvnv^Q&N!`XGLr|VvMWg~rW znmxnu!X0P6xVyIY`=xtkPilGND>Le7!$J4n9JxLJwV`#j;n1!3z4DbKYVb-e8;S*%bx1qb7TW;*fM%t>pCwD?$}TpZnVGe_&RUY>)A*fetOkYP3kA@ zKh;kMptveC9z3z}-fsUs493H@kW_h#DgKh-bxp0p-wu3T5L ziwm&6w7hE8ffnkZn4Fw8_vGnYcC^%nqhlYk-Td-f`K`3!tB%gz_;N(=-&$+K`#K*y z|IO@KquOZ0(|eBage*0QLw@bw8Gi2zv)gOKpAMKgx8Yy0 z9Xe>kXS4f8-Y~7;nvUA=crhX11=|}5owVV%?(!RSd{5SQoweaADeqm%u72U~F52+C zWj$`#b8MKSt2R8h`A`1@KD{)$n>Kv$ruUz}d8L0;cWpQ?B;@tPb|19qp$&i2%r-G% z(vh}3wc&ZW&1#S9nm?qMHk>BzTJ-y+6Q_9nqtY$&yFK}b_7~>&(T4XPe*2R@9eh zDpQ~`1u9dZG6gDApfUw2Q{cZo1@vq3N&AQ@ck0KCv4mviWzn38Y_gEsLdg~Rb{$!1 zN^b;Rop~TtUla1wDzL?xQ#P+zVEr|A%1o7aNN`(MRup2X3*5Zk&b&EmZ`Lr(I46s? z8@2h4%gt1p8XI8aKG^_^zw&-#i`tx-B`b#(gLsA}-MYk%VI-?G8&SSqUN??AS2 zYPQVE$(Jn*7m0}SizSvD>G~U!64l7dd!tzy7HfiheYv}7xU;H0u1}2_yUlM%1um2R zVjMNHL29*nwUUl}tF%_sj8lGAs_w|KtBv?e(eS*xqvbE92!iJ*DJ#nJ%ucnl`UI)L-AK%$jzQvvVD8 zGm%TA`m;e-WVH0xNGZ{>gy&``nODmn;Z~|m^83 z3AO4jO0?Kh+H%Or>YjC+z7eTuY00FDOOC^lYRQUUMExl(-2;@oPYo8WWa9aWB?Xpj zUiCCYU&pL+^}s-uTIxvJi()=Xow*8JQX;Os14CH^*IYJq2t}11ALU)V%HP!LnH;`R zc%^1!8~-q7jQY~GqW_yLU&Lln>OvI#bE;ObmzD`~Gwn3r$o|$MpO+ai%vpZAtPuG; zn-*byp}vvBP}pdjKd)+XZuN#=U6-9%RA^zOzb;rwDYbl5TSL@yeDM-e-+8FNIMYm@ zfcUab{NymfW@GTLUoDZbfGO6vElWI+5YvUOJyG7eyP|+<$O|?s^JeIHx3@rL4y>#TH#Jp4Gj6 zu|#*xvTmj)??%x&joaMod#JMTEd7YyVOt`r7Z%UPG8+`%5arkju8X9MEb}JlQ@~}~ z^1KgOUGAjpEc-Z1SUh=;27W6t*YVc5qhH=@XXp|w znWlatoI67go2sAlpx#D1^A>eSpPLykPr8kHt4zniW5(ERv}jVK_%7pwmS|;4!vUcs zhE@~hd8m@Z6VwYI`hKIol4A^OUM&g&IiJnpJj*7ZA56`0J(H0WDaQxuc3_EC-fJPN z&a3~lM004sgG0*Mv9h04{@r;(e?6I;yCj=6gTk`peQ^b@d3I)M479u!!fB_4cf-h+ ztja~8?so;weF?`^>B{W%0>~1=9F=oOc{u1iN-S&9>|8N=kzBaLa{i<(slR&7N6*gV z(z7y?`w!D|ahcbs7FwDAPe~uJgjZ>oIiG1|Z5i?y$3V{f<+2SI-HTf&OAVI_25XU- z$#FX;@5(N?@F-D@sP>zO9Il-UC`XOT{|l2{Urv37O2MF~avBdbRH zBTHl9gw?Q>czv9qX9$b&tWRBVSyrWqGRQd{VRmH-W`M%`sTHmY+Gk&@)Gue@1JSKP95|wjZJ^x49lE`m{(o8K(+df6iAjD=WlV zQ0aS!qGO#Up1f3{uE8S54*Fh=>ooFELP>1(f2mn^ zvh_N1xm?}uGlD#h(0(a)I&PRspPy@#ER%VZEXP`SfKX(|sa`sBJsd41|7NMr(f((y z8mbR}D>2d+kt`mPWj8LB%Z6F>-eg(UyK|iv&O;u#s)^~c&WsmL%6yLRJfcy9R4*z! z*M5;8OWsAuRj!;pIdf^5|6lY_(f7TSlIse0QO@V7)kTvpv@3QYi5mo#tRxHfoRZyd z2>QOkm^_Bu%@JmaCs6v1Q`@zaoFw|64SSU0m(t6;X0_B%Bd$HdY}{Wf$s@NwrExWN zf3E)7GRK;esT4bUfm7r*9c4;FnoKzTEYO*e^=swMEWlxq@q)M-ymLQeNXJYYFMc;3 zh^m`<5GTV{d6Jf!nU!hX9d&8*SL3W~OGPu9yf0X$ zIJ#aBQ5$;DZyHT9n{3&hL(EgO}`^#Ea>EwcJ-8$e-+-kD;i~OYm^&qzRjAZ9AqlniOY__86(3k zTHU5g%w5_QbS1l}X~2DWS{yO1%fbki7?dFlWsjmAh7>*YvZfPnZJ7%HrOw&7b;&j5 z;qq0o7>Tb6YvRCKqj-rkc(m=#!%EHT_zw9E=D zo&tJy(JpQ}bGniq9x}-k*&u;_pVhe)sw>4(at?Ba@49XCrUVc53Q9g6(6VHi&NQ9b z*Lkr^+bY~{O<8G0(?pRt2jxBlfRZ3ocQ}=on zq*92w&yqJbl}nfvxV7u`!Ms_pB88IN6Dl`$xv-?x7Zd4R-O4K#=gz&Cj2h7=ZkGCH zn$FW{`zFqBa9oJivWnl}frAGQ88Tvs-@w6fMH{Db9?+FPOs#=Zu6kMm^BiPbQLJjB zzj8)wi3|%8@|KFy!j-VFA2GIgCEGkA2;MuVgrWTEyzF98ehrbuQ`s_XE~k?Yj=q%^ zHPjNINWm*Jl;K!OElbEF`n6bP@2pHG|EcfWoKv}Okj@{xx`|q@nUwijtnYKta&VxV z6mY-KcAHjeD8)_*oJpq7rQ}_V^Y3Lk=XCztaMJ13DW;M)^a96O@ap+M$r#SD%Kk^6 zAj+1VPL&~hU{=o5#GG)o(iIm>sB&v}*P4s3tvV@hFSf))S_1t;Lj(K+r&}VULL#C< zV&;fx5doHnfN8;jF_!S)7)z9YOt2*|B0MH4BGfWD)PG8}@gE@(?*0%I5*-=pKZmI% zhfJ|V2l|JHhJ*)OBBFwVqe8-`n7JV8OGYiR(ZNv`|G=1#nJfa!5*!^I9vCdB-0L4@ ziH>0z%$%ugvqzR#G?OP!lCos|nLNGHQJLG^QJc-;Tt3HYuB|I=cgueY;RbkA{iw(d}c^gM7U+MKs)7qI+QQ}d`N zD*i)X6lc!CJ_}7 zJ$7t#OhlL^dQNmqaF``{W^j0ng%vSn3LB%k@fVFyc9xRM?fNQJ zGMc+(Rf7uhkMXwz1xE))g+#_gM47V;#T)C_B5s(GB`PM+5-eM7qy(lRHFt9^+G>@t zHAH9AqDnB7uMvU%mhgz6V4;jik}Xoxydg(AayA^QsRO~Y1A`-DLfEoo@fi^vBENe# zXAXFj*SA?>!$Sg@Atj&L<*nWvpk;Qn|IA>^p=uc%85I#2935?m^pEln z3yukniWZj8kmwi-c_V6$AZD{d!h^^iB!`>L$aAVXo3*q=1_xL|gQ6@ldpHA}$~+>X z=2&9<144uKnT7cc8O2}Z-Ya-Ev1Cg369~(cXvorFge4@*e@d_=DmFYO zB#c!R8_xcb?4_*rpyVVG(Z@)BqK2{ z!%qDMhedsBH_iQ)`RSqVE)Vc@r!of5$psW}Ol}!6OqBflDCHDFE{D7iA!{*3D7DhL z7bxo%4Jkd}xvX32#wKKCrKQqTa>=vy8(s46L;OnleQ@bJl3(9~3Fbn&L90z+0(c3`|>RH-57Zi#)|nd&dQ z&{m(}NQzqFR7=zkwdix>++tC3C%N24Ce5>|Kl7*#2Xqb|08FAeRqnFrH~u>-HAFi1 zmB%B>giMjnwFEgq;h*K1gZ@vo&pm#Zi>I#LAn(B?nvL%F!+$o3*ap2dBrt+dQhJOPMDx zTRM~)3pbfxkAmBc#lviU-(oxkNGy~yHJT_^?%imQhm?7jCd*KLpCFr@r*>=xZ!eNf zzw5{C%4<5E=VKvHk62hzv$*8e`P5|Uq z#TmJ<$fS~|0%CHEyJahSAfcCc+W8H~z=ba{QV-zt_r{bSmT`M6JmS>mpcFmM3;P^= zQFGA}t(-IJDPkOQO^K;Cj&gEl^JFAb#rQ|X#74@kXqE_`8oVUIro5&s%EqB#V(~F! z#sp7|)ZY-rRSCPLuypXU5K^wSxV!)%kZUwky$h>=%}(vy@EuOT8bVrHNSicc1W zNuUQr;v}RMhN}#^Zdggw{*8_hQ>O>dp)AzHm?c8=wIE1QnRJ2=r5~0>%Qi*V4A=Ye zCJ25IQ=&uM|Huy_NQr8IhkpbGOi{uoKd^K$*5qVcB9-rWSR*npP_9Jo$#ODTxI8kW zxStt6=o82aXCfxj!#w#xPe~=4WToe3@S*4`Zbb7)l_M+Ht*ju_Mn zJyFrawS7rwgulGFrrdW4()WPu)=JH}#^PQnc+#`1iM$hF6nVGwv6n!^vtwne#3)@`3)U5WI)jH;K2ii`TGYC@DCasFd)d!f5gb( zp_7LUnLKL6KnIW2S6rn$DoAK6XiOYOG(2^j(Rng$*VxT#YeQ*vgj0kZ`5LE+TN3Af zv_j`%S8hmE+){9TP`gG^f%D*r#@rlvF{hxy7e_h2slc_)okxq6$NDRDrRV9_ja=7> z*EL3z!{o}Iat3T(h-y_3Hw$iFF|$OwGg-ki;Y2c_LTAB? zpfifsp7c6{$WSUap6WWSz->E0sqb5C23{wH$IRz-NJ@mWH++J?#e6S4~|@_m!8VVbvPa?DFbu)%KT;dQ!Et2$F&o2&T9axJq$=c6^& z7taM8`Ai9Gz|DF!ZyhA46)TD*oY!kWyE);y0=y1K-`RKw&%7mHl4dJNNU`xg!Q$D* z>sa%omAvpRTZk!l3dpeJX|=nJ&-;k!^=4e7WnMzcxXLRU#g^Q>SvZg3x%VjRj+&9o zg&9pYDC8zY^P-=iHM3fA>p-1B#V&;0B8#nKuQQ}Pk%@P=0?kWq4Tz>}AHR;V;2G`on6_{Ld$H*CXu{rphkL3MB zwF;wa`uHAXg&)joM?W+-ATEDQ zm0;Y&)c0(nw&!eWkfujc2~g&$q*Ql%2d@`ixt-`{kg*$~G@_eakbpzH5!= zdRB#>4scplfy*V=v+_`dYbj`6(j_QogTnx-nA?BNV(aTfL^f`WZo2)qKCa-%P zVutdtjTs@an$>&wuB+MWI62pXr;9A+Wt_s(4E1?_-iEBEMd_DdoKJ2VpHE@gy_m8b zZ?-P&Mbtjm#z?a(?`o$8mq|}XXtg}jmQ+l*8P`m{9iSZmE zmG<^}&VdZCN|%o}srOq-z4>UYAHuG(=-rx9r!IEu(zv)q-WcvCD4(;CBahZz*o@2! zGuxh$O*1k>+y`59B^%R>Qi;c++)w560#aF0E$Yl%LVLE2GZ1;LLtX}|ppccTDG6q; z97EJ;dB^;uNz9>+dX6#|vyz6#*z&XTM+~!Or`m01r-znVhnW>wtq8Rz=2%@Jz|otU9e?u$d9gh|5S=V%p+o#8Ft=v(jxu(LK4v$L{giEUbv%82SY%6YTQtPG{R^eQ_wTdptDVw@3|Xybs=%phG7 zLBC^XPBO^A_1kLZg{U9In-e0%c4}s(yh&!xE|P7E`l&W~SaHL_Zs&K?Pg7sYg^=$g;&Rhdt5670w2qW2=Bec#66#*;a*F1ygE9 zhKZr6b(pew+e^AF*_u#bZZ;riQ5o0HlUn92f8i02iGj*HOy(}Set4puP>wP&u5u@` zlt*#QEtu3MT^(6GEti!nvw>ML))Khl@RxAmS&~og`olNsKRc>d=hQQ4` zjxZjX<(qxXLoI&!cFPLL1SD??FVHk~C#~;e92t707PHn{VG%Rb#Qe1=E8fJ-iWKE` zhb>1wM`BAfG2o&Fm!IhgVCH#h;oi&i;$@cFD4&UoPZSsD+HwlaOaQx$OSP#E%4;57 za^5#L?O21If~ZwDOVml1z@XJuxjY zG0o%dtPH0FW<`jlBmw2owTU5e44AH+`kH&%M^rOyj(pRu{uDV@NnndIdqwAGX3DBk zX6>l#1(`JYVBWDBYoCK4Wlzlw0&@dapT9OaXR$?US3pcm)f5h`&0TiAn3hX#Zpdr_ zWK$CtUJcOPBP!!TtFhLjo6W#;QI|S&)QC812H8m7y>h?AB}}a~?r2draUUl4ZKg~$ zSTRemcHg!@g)b7n1^SUIg#+u`+U_G~2bt<~Pn z*!hHmo0<8zxjJjRnHQwB?@veYsaneM`nB{r|5 zaq#{H8h|KE!D|eKS{v5fblSO>EqL)Ln!GyZef>10eFWvMC+#9x7G)&3kA}~yPiYR% zs}y!Fm-fY?Ja$1n7@GF7WGQXn*gY+$kI~f5M&0LkAH&qMnc*pKH_6~*;7VdtNOaX? z=0I4jn$urTnyt4-WKl0!=6G6fMZ+v|ctN{EB^+QBozU&(A)krjRIF^X zb{m2$#(mqmTuX~Y+H7^dfq7mKTS}aRX7y~=%-n467ebGLmI}TXH%dXF)<#Uo&b7$8 zh~6%VJR78jg>1!^Mg^_u*7B?rrR{Xz)`~NqCfYKya@fTvPs-%5!;=qa`OEq)}HW4Y98)aw4gWBT~GY;5E1 z%Twcq$^JT@wx3ht_(CS~a4*U@MIJRom3Ja2ZENe_WxJcQjZ9Bz;o~x>&nK3?7)2vR z`9h(uv|p^ejz+c}>`3J}z}sy>$;h&-^mW_T%PPYogdX?wo)cM#23aL5pEqPBs&CHr zeqr>uD931aM{c|iF>!{$EphHFcpnK`+LTujFQyegFSsmm5$eWT=tb)1}%VJbnEDZ!1C7H>D- zmNKlgVB~WJc?n!7RL|5r)spj^*=2-jVK6taI zGcz%&^dlj?z>#agnx1bhpkY;I=MiVmN^(%=mj?by+XRY6U*8BhQc$W3%FVEMbs+{c z6JpCip>%5tglO1a{hkrb_!dGepD4tXFfe7aDGHB$=5)>?1^u zzYw?27owd-h(#lW2niD+uLGtE@eb2WX56s;LM&k(b$SS~v?F1q39&g{h_8nVaqB1{ zUf};r976mtS%|y&{tt0`XN3?Kn11~#A-+ryV$UWaehpRQP`9qyZ#6`S#F5Nnun_YZ zw`_P}9Nm4hvaGU8uO~$FT0$IU_#fgRyIXe);WvO~Xd*=S2|_qp32~gTZy?=XwyXc? zo2&NMGX7LQA*%HjB05}%GoUmh+F7@&V=|))fBC+l z`n^W1+Mh6{@HhGGyPiT^PMRZ9;6#CS6wx@$p{%Q&oujwiZr1 zd0XLk`R$t-q(AE=rv~w7oyg9@G8?-OSr)zfE=2!U*nh9F5FgAHV#F*Vs&*A3mbg98 zNr;$f>VKN9CH)w;ytz8OwwDl3k0ySs*G=@t(*KBjFp6*@S-;O;rT#C3<;!B;x#P)C zjf8lyoe+)4pTlbtmKLXv+X%6{8taC2FT4BrU3MF^crKnP#MxAJ+)(E86Z80*{1L}` z>&Aa$2MLkZmOk@bM3}?LuNMh3j(Mk#6XM~{^Kv1sT&Rq8e&ns^E8ERyq}lu= zwilLFc0c1a^2X={(qI_N%6~>P|81meC(>vS>#hmQa*DjXB8C6v3K7Ayf3h8RB@gu^ zeQsghrtW23)>49Wel+Iy-7No!03qJk>>Ta>e+ zew=N;3+v1Gi@*8`d%8- zJ4kENqxE+FH-hx<#CA!Z?!Q5Z*RK@9Zb;LHtdmi!o5M2wSf{d!V;#$G%Vf20{2a_W zdTb8shh-?K+r;*BxDM-&b^l}p`HJ*NATKrT%(fX%-pXQm_`NghZrc>rBirKeDB?^0 zke!WjA(U+n=94{E9Vb5nYZrchi}a9PKjN9(jO8G0KFDXeH>%@*Vf@i<p^xKX9#hgdEPaT^}~ODBks?yR)2H%`9oE8 z?3`MKzdq-ZR&7|nW$9*+2C|E1{iL!@d}2|D-z1OblWww$?8C<-_BA!hQ!Hnf0P+aw zeJ|;MHS4{{Tp`AH5h9GRt|xt4@>@&F^oiurzLcv^vK@A)PFe@Cy;1J`w2bZWGS(Mq z`1^SB&1lk$JUF&1d5d`T-!12=cB9El8%W;Z?bF8I{udVwc&rB zx}SEkujtJDwio?J-xZW0b%pqmxZSwC=x?n_Q=68K?=h|3?QAZ@D=hm0mRWXwHX#bw zz7P4U!|!fV`}*hovE*g8nGK{<*F1G>4c7PZNo;??+CXX#y zL-93Kh`-j6j{L7%OQvTzKAAwP=C9bum>+uzpvB6cwr*@uGWRqo?yM}-F5XTXS$Pyq{krE zYYpPOuc{CS$PW{z3Q=Xg5Z4gSy-kH!y@j%bW$eTDpS4wpmj;mzR|wIz1L?;$IGy!u zXFYGGe>d?cV4K<$PuZRz#GP#0pAyFrd)fZ9neSv?1I7vQJ-1@hH~e+r&FGK!|#j|Ern_v6C`qJmcd?(+gGE zF4qb1KIwXt{;2f~Z(v`}GRp1)(s+eMh(`$bomFgCgtLq7s~Y{28-*B?q5Ms3VE8Y# zlLx1fK5Uc2v(@pXeO}Ibw)QUiuMt{Wj9(+fWw}LvYeoFGGS4%aEY~*mw;2P3SV=m& z>#hxCxreczWrcn=kmE|W;jZmim)Mc0PLWuxaLTjfAHCbb^87~rm0fxad3ii}D~aub zWj#w88M|8=36VmWvO7+iWhATL&obV`zIX!bZ2cm2+)Co~6YI7%`KmQ}rw!?GKY3sk zwy<2?YEh1k5#mGsKZvxQx>kr^c2PFBr3_#lJw^V1Fp}e{iEML(6-yrdss`m0@#(jU zeLw3!@4APOZ>g&hHnJ}CZXU~8tm`AhZQBdS_99Qn?q22*Nm^|pUG#2sPxaf0zMRL9KPCpTUm_h3 zZBWM#ru?YRysr(T>=`6P&`5nswclME?m)cq^VsJz{4oaWnTNkQSZ{u$i?KT}Tpilq zUG3K+-A64`zhBc|?T7Xv57bt_>z^aZixOoHA(o|iAje&MIEP^wvL{jA zH&^~5o{3lc{@Sw1q0QRzslSkCdJq?;KRb%!-B^xc{m7%q98(bQzs8b}SPycR+q+P% zk){Qtxv}fPwDqIO&y@MHJ5`Tk4)Tq$dw{qf(6)6szTZ6Z!vc=YQVRd&PuQ}1n6MhI zBX1JkB}6E>s>@g_1igqm)#ky zuMTffoPLmIs4Ha7MA@1usW>KKk_>m(3C2*zZ{GJPsSFb&fYiZFyD0`e-!3`8Ls zG0?kLwEaL`(z_n&qX8PC5t^VWnxQ#bpe0(NHRP3=wrGd;=zw{w>yGq0p)-m{tEXw)jc-*#9(DJB*Ks>YlbyJd`0T_kzVF6W*n_>;hpTZ7uElk@9yj1d+=TtO z86|ZOkmg5l3=iR9Jcvi|C?3P(IEp8598cmYJdI~?0?*!2g~t`n9L?sB}vZ|~qO#=Q;yX53xG9W3XaI8K;P;sf^g zAL2Y$11?}c`QT>M;J2EPot^cR2s_(f7j%QM>&|cwmvP45OZwh~xHm%!v_cznKu2^& z7j#EY^hRIw$3W~OzN=Wq)mV#lSdYuG0UJ?;cyFS=8F74%V7f{4|7AFzbSS`5EJq;Y z50kcgaX(ftZY5;5fZt@7%X0ejJs49Ef-pp22BHy**_exkNWgAfg}t~M@~YzXxDhwu zX55McxC4i97w*A*xE~MVVI09@IEE+j6l8ZbalQuE;d7V zU+c^7E41%*$?Nq{AK7dVvSva8{+TbmweH(50 z-VW{20Ugl^ozVqd(GA_v13l3Tz0n7K(GUGG00S`ygW-pFn8y(MLop1)F#`7!pON%O zVKm0zA;yiR-)gdrReh{Oy;AsR7= z#Z1h?Y|O!2%tIXJV*%uyzJ;(N9tlW<4M|8w3R1BMX-G!~GLeOBEJhCOa3B|X$j1^C zU@3klEtb*$f@P7lOIF}-#;v4(8CGF6)?h8xVLdL#25iJ8Y{nLB#TD3w?YI& zIr`7z1-yut@G@S(t2l+%@H*bWn|KRv;~l(<_wYVGz=t@Ek8lPb;}d*}vp9#(a2^-% zIljP`_zGX+8+?oJ@I8LOkN62c;}`sj-|z?i#9#Oa|KcJpL6C2%pem}NI%=RMYN0mj zpf2j6J{q7Q8lf?opedT6Ia;74 z%*8xh!?EDbSaSLw6ZMYo=a1d*72kyin9L8O^8}~rgTDcGR;{iN~ zhwv~S!4W))$M86g;t3qXaXg8q@HC#m2|SCFcn;6w1tb#R7wNx*m$3t~*2t?kh1c*p z-oTr93vc5cyo>knK0d&QIE{~R1|Q=Se2TL;htF^x7w|d0z?b+6U*j8mi|_C~e!!3T z2|wc({EFZ3JO03*_zQpIAN-4pxCFtS)GDZoYN(DHsEJyrjXJ1{dZ>>EXoyB=j3#J` zW@wHUXo*&6jW%eDc4&_d=!j0}j4tSkZs?94=!stFjXvm$e&~+@7>Gd_3_lFPPz=Lx zjKD~Y!f1@aSd7DX$eL~wF$w+%Kp=t;jLDdSsR+R|Oh+if5RM4QJJB-`g=om`bB?EF zm&@_mr+m++f0q6u^pD^St$60Oi0ZO|6&&>kJo5uMN(UCcO{6TQ$Ieb5*E&>sUZ z5Q8unei(wG7>3~(fsq)6(HMiV7>DtgfQgs{e*_>9K?ufVOuc?)6k!NQ1R^m5 zQHVwiVlfl5FdK6)7xNH@`B(s1dw3zNh(`hvVM7vSG z9`dmS1z3t@SdJA~iOaAGtFZ=au@38TIW}M;HeoZiU@NY`Hf+b0*nyqch22;|-nfeX z9_)qeUgQ|zCA^GR@G4H>HN1{D@Fw2Hdw3ro;6t3oM>vCz@d;eJ4=A%g#A$qlGx!*v z;8UE%ImnvH=Wzj_;|qL=ukba#!M8AWSF;S);96XV>v02a#7)?bn{f+n#cjA92XGK~ z;7%OEVHmsD8GZwA;w`+5cknLW!~6IEAL2AV!Wn#wPw*+u;v7DMv3rvJv8-M6G@ii; zJd2Zf4$tESyoi_ZGG4)}IEB~nI^MvWFm}Nl7YyQ>z+m`c2!>)9hC|k(7>Q9BjWHOD zaTt#Yn21U6hq0SX*i$eSA()2g2t^pe5rIg|Kop`8gILVOEX>9n7`wwP$6dG^_uyXK zhx_pW9>ha<7?0ox9>rsL97pj4j^Q|rT?6t>BQ!x%G)GIcLL0P0dvru+$l7w<(G$JU z8-36h{ZW?gX12AGx?4T`ejDQt;11l0L%0k7lU+^DN!)d-<-UuqF~2v#$0fvborf^g z5X$!Xz83zcCCsNRA$`E~r*Rga;Q~I#7x)U5UC|WCrCj%;w$nQLgXs^!*GbiBTAhF}RFr#?s%zf1|nXwjbjd9*<`jH-Y{{OoBfG5QrcIV=|^-Dnc*~dN-Z# zVF*PyA`pogh=RNB1?E{&7e@S^;6LH?BM^xhh(ZivF%z>e8*?xh^AHEuu15*^{xRlr z49D>#p2E{OfoE|N&*6Ezh?np({+qhp#OGS<#nreTH)20-#qBtNJ8%eh;cnc6dvPD` z#{+l}58+`vf+Kho?z$^T>)Py}>Yy&_p*|X*AsV4EnxH9~p*dQhC0e01+Mq3DP22Y9 zfR5;d&gg=!=!Wk2Z|{zh@1MXi9LJM*3Qyx1oWQd<31hdN{hEA|Xa{y;7k1++?7?2_ z!__c$d2HYLkWV)iU@4YkC01cI)?h8xLw56A_WkPEl0X0C80s&4#J!`x>HmZG`ThYu z#A%$t$M^)F;w;YLGn~iQ@YG%4w=eJ|KF3%12H)a4e2*XSBYwiq_yxb>HZzFARfZQcmzlAC|tWc zneQPS#$C7@_uyXKhx_pW9>ha<7?0ox9>rsL97pj4j=^2`HF@V7e2K5{ExyC|_yIrS zC;W_G@GE}9@Aw1%;vz1=`PhuR8I@t&0Ip+hU|Z}*|8n{p;m7w)^fzM*w&DtG!**PW z9oUIo*o}X+>*KB6q^ll{i`swm;nMma^ZyPU4|PTtbVYacL@)G%e2QQY{4f;5F%qNT zuA52xz9QT+$l`l8KH>YPIE!=m4CiqHpW_RBiCO%2Hd634!{6Xre24Gx1AfF$_!+<8 zSNw+G@dy6IU-%pU;1UFJ?Ma$fp#BM&`8K0SeFaT3qrdAxuZ@e*FfD|i*B@ETsn8+a3M;cd8fzf(5JCt&ri zEypA6&>kHO$0o1xpHq0v@Zab8E}v*Gt-DNKyDUd{p7ohU+_SM5Ik2OS;XH0B!}0tt z1_7+AKm;KelQ9KT5rS!$j!=Xl9D0|)^ojTkTR4W;iVVWegaf(A#}X7^8J1%OE-=jk ze2y>i6~4gN_y*tNJA98H@FRZ0FZdO|;dlIjKQWs0AB*w$i{ZcV5B|kPT!J9(Rbb)! zLR95@HB?6p)WkfduSLH$>Yy&_p*|X*A*@Vm!$7_d!e9)+Pz=LxjKD~Y!f1@aSd2q! z=-qg}PryV>fPcm=QGHN1{D@D|>|dw3roqO9F` zmSqzBF$E!*jxfwXG-hEQ=EH)8h({ulkc>r0M+UNxgNp8MV;$U%12~8~a3>DoFz&+L zxCi&*KHQH7@E{(-!*~Qo@F*U`DGJlk>%Y>6_V&BVER00w!V-{1Jda1R)rcF$E!*hUo}J7{U>ONX$SKq7jR^h{Jp& zAsMMygfyfh1DRNi9N6K2FP$IhGXz6148t)3BQXl2F$QBX4&yNa6EO+?2tXi$5RA!~ zf~g3>G)zY*!Vr!KL}CV_5RDkbVkTz6Q+Fr%Z9Dtw9oU7duou_hI^2Mpa0_n30o;Xq za33DT!*~>r;RzhaQ+Nh?cRk-55|2h`isop6R@g}#+R$%@_UM2c`Txz>hHNZG4(xCs z7kS9X5)@!5mSH(oU?$=2roRV=`M!_-)wmY7;&vRw9k>&Ra2R*vUfhod@DLus5j>8g zIEE+jG)~}IoW%2Z0WaYdyo%RwH}ij;{u_7`Z{uCOhYxTXAK?r>!KXNf3-}7(;5+lui@#?Roe-;q`|5TU4yksj2U9^4s35Hwpy({Hp zEBbXQi(1ofgZ6lZ-}|vV9r)f39nlG$(G}g$9X-$!z0ezd&=>vC9|L5ca0b#Jgu(E` z5DdjI495tJ#3+o$7>va@jK>5_#3cA50D%ZXFeXE`{xB6Gn1<;HMHs>nfk@0i6rvG> zSj@yM%*Gtd#XQ7eJ{G`&g|H$X2}pzuNk~QtQn3hUNW(Px>BvAPvXG5#q{(9XIk3Zl zT)fHp$fKW+CCKA^WeE;*9qKN8j11h4xj2A>xC3|M5bj16Zo)md7x&?QJb(xB5FW-O zID$AlipTIcj^YU%!+spclXwbG;~AX5vp9+8@H}3?i+Blkyo^`yDo)`wypA{UCf>r^ zcn9%#7w_SHe1H#e8Xw^dKEbCri*xu4=Wzj_;|qL=ukba#!MFGh-{S}Th@bE?e!;K! z4Zq_L{E5G?5`W_#{ELgY1i^XuKKfPYS4A~cM-9|OE!0LG$gU3SF^jygm}wly<$E6e z0xZLFtil?6#&7HBUyhB~j4QAW%RQXCR-yce8*?DL<}6!# zbR(_<=nq6H79kC?Ye>H(CTYX!SklyGIF+=LT?fW@L}Tsuru5%3EY~U0`b{jt+jtir z;50tLSzN$Z_y*tM2gp{<-X@%P@GjoN`}hDK;xw|fdCGWnXSf@BpeK5vH~OG2`k_At zAlopVoVKznIR$L23%$$ad$wVCnf84p{Z-oc%eDSy`dhW{yR`m3`qyaRZ=kS#AY1hKlKxlt8sFkOe2*XTGk(SI z_!EEQUtEG;4Qp^_wgY10WtDy#RS+8^1C*4gR zl`S9MheLP(58)9!ieq>ZPh$zwJWKyMJddRezexXOoWh%U8}H%+oW>_Ok1y~wzQ<4a z6@TI%TtXGfiE5~hTBwbBsE>wdj6AOWG^5`Ft zyt{rT>#Cx=#oBqHAICOBv}3WM^oL8JEXH9xCSW2a!5;w#L=b{88B;J7 z{~Nk%wQJ%7*!KQ^=~Bs)ix7teSO_Z;U_&y}k%4UFz=1q0!BQ;8O02>fti$ElfKAwr zo!EtaxCYnZ2Hb?3aSLw4K^#Ut`F{m2!)mO>dThWZY{6D+$CcQL-Ei$LqpVs5*{!C( z25Yen>v1_YU?VnRGqzwWuD~{I$CWU43&|_-h(ZizVGiaY4hxU~8v#ii;w`+5cknLW!~4*?SdO7)Vip#Wms9EAgd1@)l5hjYkOt#0 z0TU5`AWX(oOhYKb5rvtUjW}4502@+}iZo;*8+JG#TWDX3CwcHCZABY8oT)%f5l+|ELaFD;*kIwl8}rPq+$`$kd9oQ5z0e8mY@Jju?)+x z0xMzc=5yS!02VBS74b+wB5X)PGE$I=MMy(BJayj_pYQMke!|cA1;64q{Ek2HC;r0U z_y_;uBH><=VN=dmK~+>kb<{vj)Pk|gVq46{V&uRM2Xc{zd@Ml$mSP!}V+B^iwfonw z-mW7~*W!BIfE#fW_Ty&Uf?IJLZpQ%}#2vUuIG1Ettm`VMifX8i8mNiQhO&G;-#1_@ zw&6A>P**;_faP*HLGpA6SZ`dn*BqyNdc zxX!y7>uO--`f^Q{%HjXTDKLR@aUy!67kWeQe&QO$FZdO|;ZOX9zi|nI{XVN3D=kZv?^g(HBlRN(EyFm7){X}EzlCJ&<5?$0Ugl^ozVro&>Q{GAA>L$!!QCPF`G1- zgSnW8ILyZaEJQpKkO&)+k%C1?Lpm~$iL0;&`*1a`!}ZvYTW~AlN&7@3Aq8p3L>3k! z9|c&36}Sv*u@RfG1zWKVS7HZdQYOs8Y|O!W(t0lad5FV&Y+>92`W9^C`$GCw#3KQT zuptS_Sj&Ib;c{%iMr_3u*p4f)6T7e*S78tK!c+Gc`S5WZ#S=J&r*Hz#;v`lv@6}i% z(2Jl13l3T zz0nW-F#rQG2!r8k*OX;xhUReBt@M!I4f%f~57W2{=f7#(>y$@t;7z=RxA6}CH+HRA z2W{M}hj&??_e@%*&1@4}a0}txiaT&S?!;l-jeFru_XcH^-gTu6?~WemiC*Z9KIn@9 z7>Gd_jA*8f!9WZ$gmVr1gleQkb=1I*l=r{jH~fx2@E88ZzYzStD$-cCMMy^mGLeOB zEJhCOaNuL6`v{-nEIz{pe2y>i6~4iD(7Rfcp?SnRAGuh90xZQcEXNA0#AR58)mVeI zScmnv92>9^o3I&MuoYKe8@A(0?7&X!!fsrJJ=lxZXp4_2H$KC8e2y>hCBDYD_#Qu? z0p(^RG(~f?gx;l)CaKW7mHhuQ+|B;_9^8d{aUbr-19%V*;bA<2BX|^#;c*3lH;KnILrS194^NO)Waz9U3d6lD0-qd#$X)E+jS<4F6e4PSmlk&f8+FjP!9ct zfAB9Z;t~Y=v8t$s>ZpO5sD;|7gSx1P`e*>XD=>V|*S>Ef&u`cAeQRx88~W*n|7K|4 z`_dm|7_Wz`_k;OuGNxcErePU*N$*-P?5PX&@LMy+55sT|zk3R=a(rb9_?iOI>2Aa=z3#>>$3eu2?EM&uuJS@R7xa*RcM+(MZ9LB>B zqmY0^*pLKYx~-JyR~U|Gdtavh6IryNvJqunp^RHLip=-F@2s*V13@ z<+R?+$J_s&G$Ah66UKE|fkR~o?=b(l)9}B04Bx$tf93xxQ=l>hDpQ~$Q{Y+3CwVXW zQ9O>LxE8x0y8`-4uoo|Dd{vq>k}Ceweao5H+SBHCr1vOTFFM7oSGPrPKCQf7Cvd<=7jkJIV#-@^2p zA=}3?-ha`5ckLh3=9fqR2JO4+f6N+QUWV`=;y*Xyr84~2+jt$+!j$!~yy;|pE!oL7 z%zW*l4AWY*?>56YU&AfWbh6F05KK43;}O2!g)5M&jem;%ainR(a-Io%Plg3^4C8%? zPbkyR^AJXchw;A5r*fLg6sSyr$`q(ffyxvxroeFaF##s-XHF2-R_xZoe2xA_?7=J8 z0olnqSLNwWG5rBN>=KTwWB!cGI60qbjEg}cCcFF|Y#5$x`0j1|)-dheSm!2;dtJue z?=t);!=K=cVf@E@|Hv>L&-ZjBA%}zg!YOIohlG9Fgz(=dj1LgXGY|c#vk*yrMcHOzEBdnj%(v75k#)F|8J6`DQs~#B zzJ{#JIF#ucF`aCa?_d5W+q0DGHcHl`pnnr}Jmou`Kjyz@`28$(20y3XqHJeTzLQzD zohaXt(2D8hJC=LXPoXc{1#G~4WZjYTe3$jn+USEdu+1^h0b#cM&oDZk&z zc=^naeE)=eMoG5kBFj|y{t6lYr@1T z=S`{1&%&@Q>t*>H%Y5Yd(lo-K&v^MvqI?gBe9r3x;f4~<1crw&EZ@fwPQNGN%6j47 z5?|T=t1L&-2zLbIW&I%8R*8H@@mc!v`N(>Vmvx`sBfQ1@zdggUzR@>KFWZhC!?3J7 zB;WHP^LIGIG7rjf@hCbmEZdEh=UNHO=RDK3B;G?AFZ2B&#^*47SB7PLb7jpL zmUXA(dq~>Ruf?$3PUX9;<#r>_7v=Id=XcpYrhMl}5dDk9^EBfZF)Z5#m386dcG{5P z=JW>;j;whr^_}-&k>HSm)es5%k8)weOWh4zKdNx&vyW_ zjnW>Bm+?Nxux$HuAj7h5)%#2@^Y3%?2hpFvcv+LeWjQlMo35m? zv+}pf6sSyr|G!gUny5~RwyJ8;RIob|$BaqJ&a#iQgvHw(R)@_oK@6PeKXYPtId)R4 zbM&N1llb$bN#f_9e%z^qwb5Nz@m70kf+f}N$gx>7#wDa!bNVau_ah!+UxQy>a?r%&X|Rs zGUt>93!+uEMyI_cLZF(BH3amZdT@eS|I*c`9vragU+M%Bv34`1*(D_I$*|2=?;`oe ztaw&3_qu~J9bjhkRv=S9WLktDdJg77>!QCT^7a9`%uFdNn`lY1(W%xOwRY5MH#cvg zFssu*$pRd|n$b&sMktOBmts`}Eb z7}Yy2+!(^`4w_3r1FCbjxa5I<$+oWnuV}n6(i~V{8;mv{2fn55d}C^S)+vXV=ft#3 z#LH1r=e4{}g}ltaGvNCCE7|*QnUXV6mb;ll%a_@75rXqB#@2yscBTr`WwMl}jkDZa znTmK&W*YxsLHsp|Z&`6YN3k>qSY``1xq75kJx26L7pN{#Ulu`jiMw|L-b*Mmm17;^ zBTXHy>Qp*UE*F_DD%S6Mqf;AhS4X0OW&`%8(OI~**&I2l&x(c$pTYM>D-P~kq{fKy zlzaO{&K-~E*zWQ4g=OLFO9N@jEB}_H^}6D;MoVi$)$x%I>xU}{wTM!ak#kj!ZMr}mtnbg7&1zET3a~=|7_SH+NciY$L~P=^3pd>JRagUKqq-;g?lRY z{5IcN7U+`NIQ9TvHW12J^=6CkPx2_+v)|;A7q{MJPX2R+|7H%&Dd+-nf4xo!CDNp zuoocwXmxYMG%MYU02`}~)CM{^iLx2j9v|q`n+@m}ZOmS#x6Hc{^eGwF#{9pqF&zjI z+Laq1*NMgLP;@q0^Loei_}qJFXUn}WL-?Y4`%+0W>WigwZBn`Spjd`-?<+tP%JWM2 zwSK({?|Jp+CgDpQ>pNw5Ibr3Jd9~nZe=z({@MhZc!n`gH z-}n>2>C+>2tGi8b`SWpv%gg&u3BO78eFvN4Ye#C?uI~zOgP8B^FEHO%!eyC$7B2G^ z8KOeNxfbR9P9OvxFacdgZTMP3DP}7+^fXBM%)*Q zd!x9o5%-PazExa)cY=IAE$-cLnXb>kReSn4yi-QX`xU&?9&5e62mY2#iz}Be!JkcY z*?zMEWES^D(2)OE@nbAsx2}!X_I1dUJQhK}LpmKpWciouw=l?!b(HD(CV0^OHeAZx z!n;d@lk>X*C;y`M<$J*KVSMC8+WQDYXIAZ}_8D7{mHm_!evFUfrF^~>`<)J;<2?K! zdE%#es=PAsBH|yD7Ed-0%J#b-#3>*0WM7N4wq3^iF%n+oCrpJNJGhDQ+-5kXnMSZl|-h%!W``roCO#P^a_y!0P~S z*QDzz{8&dEt;diDWuI){m;KIyzHe?{mh^f3)b9XZ9UN@e#>VVC%@63;G3i1zkZ!K$ zr@)2%SGEnm^Yqext=R8_g?-vR&{j|%qI2qv`sny5I@)e#sEH{EbYszbj{E7VKP}`1 zZTM_6yZlFl)kpfaSrOe#Weo2RYf2u=F0FH##x;Pi$mJ_@M5&3=qcG%(rva9DWdG7Lq`}G`Z~jf2S1iG^VH5&;oa4>l40KjOI;R6 z`}TLz+6S?-BaP>}a%FaDpNjpi)FBpMvSX}yc*m?Dx|VJn$My*Rv9(g44yS)PN29L3 z9zp*SKZZS${uRTu4)A;K+hf1yl$cNMJ~?g2b1T3j?Cb0W-9Ha7I}o(vyJ_}YP+NC| zF~YIl)7GJA-3VJ?%zMnbCt%d4=Fm_Ab^+5C&Yes6r%*OGXN_@Y#eJJgLb#LYJ54alEu z0_Ob(mH!{aKh_+L?F8G4R;{*PY5qk2cxP>OV7=w}XZXh(uH4A;LHLIUn&TYL)6ei@ zTN(q}PyHwT;5RI3{5Sla+QNRy*b^8j~ zq=n|haz(-cYc{)n>yDJXvsQ@^6D(?=oLH}tb*IPlh#aijwoan`kB%X zYC%@FD!^&Lhi{|)3YqPKqRb(3F02e$IZ5a0{!Du>EEYvDYsY?w!?Po!_}wi1XsZeX zL;UXWkJK8&oprPYGwmI+L-mHWH?&VMVaCn>Is7BwuWj(}Bi4q@w0F#QnvqYgwTCn9 zy|aMFW|?t3#_~wQ9t&8b*@|D&n*+Z-IxiPA-LB=CM7z$mc_#8v z#+tpm%lmee8T(gr5zo5nSTtCJ4IVYy2rGfc!=jNU`gkF{-awAkJGKl$_=fR%trM-N zu0Yv`aL%TptJWA!;n1&K3#&X>8}#u4R@+=1=&<~h2VnKuzzHWjG2lxW*L~1VTdcO8?SiMT*t?*~m%P{xc${wsh+`Y- zaao&xH2Biy9|M>4eJNgQ<1McQE^B9fJl>Y)@l4z9Fr2m(49E7tXr&vuJkok<*TqSn zr7g$jAk>C#5V`1jxk}~?;i+<+4nO5u4p-%(9p#VlF)qG)9+mi4{B<5h`Jauj zPVOMF0PuO>(sPd)T25}om&GQs&g0MonsqK*M;!UgX~Nf z^NI1T#?O??@p)7&(|kJY<03sCP5(vklh-A1U7hKg{-Nps2Jsw$+P7pbP=4;`R{6R2 zeinQjr}1nF-{%+COP8aTc_MRdUF3d$9~H%{T!^HoR8u=>*yS~ienu)NpP$u{VCiT0d8f0qwZfQIO_jp z0ggJlPH@yy>U6=J;u4xMtd=nsvA<7zm{U9=xBZBgZ0vYy`!4g3oP&$?3pvj@I6ez7 z&&IaoNst3O*KJ>51Ky(3MrxyhKkOTDOtl2`b@Yun_rh~mV*{AR1t8%^qssmT>CXgB zr#aHxgwDP9kGHU0(9Njn;80|=0m%~4Z@g2tldtsKD={XE}0GK8#hW7<B>65s8jdc8aSn@T$9i>k6Z{Bk0oDiD zMmH~38YZu3a0uJWxQrVOVB|M$$ITVN*}55R9O_iD{+T2KPvl35XUF)Y=f(CwP21C~ zcF)S~wv9dvbM$SYAA@_DvGdodQgBmV78tbAi;HbZ4WkhVkG(y^O{~Q*d=jKK_q<{r z(W)(Do!V%W3}|`fqm(D@-A1H^ZGqYo`t3Qna>DLdI<;$CB#hg~n>(Ktt+D&5IP{L^ z(o!&y0%gIt*&Z|QEAZo^Ht*)*bi0{FY`w;4z1!@z+mRiwnpjfo$F>=yo30&~qUp)R zuEVAM^L0C>$o`B_cI-QQo!Fo*>+@1p&BkEeZgL6=USY}nd1gTznQ{yA&f;Jn<1!8G z<2R(QJ#O>c&6jV+d%nid9!@h)2fk6&x$SB84wzBQK~#r1Up391>l~ClpXmewUwRh8 zZ!L%b_SNDeOyQsl)1}_-UAoH3oUOOJq25kqy+ygOzD!4lrPjs&-DSXL@f;;o4(rSfm+LJmHNCs zb?Nu5tq#H(jk&IqdL*RXdwea@N_#=u!T0NtV(phaAAZ$G;;zGw`^m1Si--L#!qtwv z5bs9?;dwSVFZ_!oy!N9wm%=%MEN$7|ugSQwIB!$ta?KwF_X6;x`x3Zt?0swOW4=t} zpsf7a2le`JdC%|$f!Zt07p9AJuM{3OF96fL$irzmZJ!qc@oXjKy9ut16Lp#LC@<~n z+$nl_4RGx1aQ*M)c-Qh{UxjnKHv$&9o#)(K84Yn8fU|tjh&`yla}3i;uK*p^_(T(2 zJN;_FbgfLzKv=rT)YsP_ET42cJC#~wR&S#|&cr^c*9zUuaQAn0HI{+~Qa!4V-OiD4 zc426wSxt}LJ z@NIPQ&;}E(HuxQQ4{h)};m-^IE(xE-g*MmORi0I*-Fi1%IOaWhJOS4_p=nZ^`99Fc zvV()l&bZS!l}l~r9TNBZHBQ*fkeAxbo5g0jJ0@H`d<()%WFNVQ^u3lYU8v+St#mtZ zTeBr@$4++wm$adKmp%X(pR{eHKFxql{Gi|io0#QJbCiL4eY!MvOzrwYi|qkMf2hD7 zON&~aHcr2R?dqrtf$BcX@57KY97oXq5s^JCXTn2${TTeJQ*jvR>s=C-`bxO!>nHFY z>gy*9!hcG_XL)U=%he5_lQzYyeOymqkzZGM+|_mSo>T71`}vStN- zU#F<^cS8oX!+a0*`pfXE?h*GT{Ah>2LKhG9nsC+Yui`z_>#xC|7yj!KJ`XobaOBM~ zsq+37-b3EshCeU-y%Jvg$M?WbJN^y2kolY9eg|$QJn&&XXWAGi>F&dOoCknu9^~OP zeQM9Y&p08&4>V5L^N^R?^D9LEwGYg-KfYrR-C9;v_KCj>e^8j{FHI|b53sEv(AMd) zz1JvhtA7YuK51J`UD^%%rG6y%z*dKx3w4R>aRqBY*vOSUNPgV>sB_eK!_}oZSc}Tt zEE%m{E~=_y)}L6}wr}HkU1VqZry?uUBlX8kh59vdMy1>XTz|A$cz3BoTryz3FH{LJ zg`%*2-O1Ul|GuQ%i5j&{*y}M;>&Qxf66Wio+t<}~Js?`f1%YUIyxO)aBdbF|a&=() zHaB0_ogdOyA8omwoO@4lp?z43JXZVgOTHtgQ8(@W|6jweb%=Do!jJahH+1nZ`~cor zhjb0=ckr|BhGSnJwqkxSVRf8bOj|a85ZaJ8=irKXZ%gqmrY)O4=n~?!M z2+h+h&ZmPorXemjl&{LJWv=}w+HlhS2S1R-_LV%C|1l0|wY|h~4a?*FS{iYEpbc>v zcPJM~>=W{282;>o@kkghiA%~tJ&(g75f@8YFuo)%8II)>hTAs?r)jWt20Yh^T;!?Y z6nAlmL)$@~iqp2^ei@Vh+|q8}#_{7w}IzMfIT}y@G*b}|`hv2ufopwKQ$^4V}CA=7b(=)EW`7glGK5inl7#Z zQD3mPS^MIpnWTxT0&7_ zwm%`SuyKTTRoDsBMZ@sdAJv+Y;}O;&b)aXcv2Q8e=2Wai$a{*q8r5)vHUof%k|z~ z@UiDu+2fG@>3)DkE6_nY+jT@(pB_P&^GE&+>kM;10ADmX2s6OCJHtFWfQM&c5A<-< z`I0$^ehJ8M^XNaPy1s^5zO?M<~O_u+5H+_4*Km#d@#pqH&d< zFzV_40&_zFx!KJO>`kQPV?LZ!ygKsharc!T(t-M)Qe~d z;>6U3*a&kNXp**ccIj}y_@w*zoU5*w)hpRI+|L|SK0@e@gnN>)b17hM_ugoc(3r@3 zvTxX}-)u7>-Y~XCniY1XeSep_#r$zPLTUZ}5$d3=`@xzn{f`%Uy}c^;9t{|Ep8Sr* zdl6lP@YHFwWygV5>wX*tb^myYBM+zTupQSy;uAp2IhPaRs?1t%P690Ei+B@!QEx(= z)|>4z{$rY0Z?p}cZgp{{IRvjqg) zKf(PFPXLW?L#J9ETO9!PsbZc8d{Un(B^yt{J_U!fYSU%Cb9QL~`0`2XB=u-_=;D(E zPhCv3XSnOE`#z|0FZ(WG+eZJ%!cTR@mM8MvOZq?`IfW>^F&mmvdV~@-Bf%9-zAb5;PG6VDk$+|zpE@z80tvnY+_?#zL^+W@|30EU!hbvAh9?XzJ!In6Z6=K!xy zs=Q>aB)bRkhA#6RlfBO+ogCTFfh)8odwJAZ&Y+4})p?S0ZF;tEyGrIsRtD*t&WESKzU)AZk|alv*E5X zVeVvSySzHczl1%Jbe%7F#oZ-#e3g^~*Cp5BUDrqLyR47$JzO89KU^QBKfOLmSbBYw zuy8(H;|%A*6_z&-9owE6KV^O$qj7a~4=M5mG&X)lGFTprWr#Bl}tYcq1d zo~g~^zLkRc#`8t+DruWE}?liatW?f=Ed1Im60+>OYW0(qiUc6(QZs|lPa z(JFL;v7e8Nv12K5ILGMe`)Lb8>Uc+4A%e-T|z2mFAY4#MPljpbjdk20u;5UdL>)!_8w4ETH@~owPl%|*gx_C%e2i(!+^Wz;1w@sXn zdL5-^<|K1B-Yuv3t9-akNnt3XiSpdr9_nX0y~C2;12BV;muC&6@y?0U=&qem2_J4s zliYS`dM}ss-dCKaHa1DO$7=Dx7K)Xl?c*%I4e0Zi|MP1olQf&FUZy_-GUiuA52)(37Rc4uJQ*o!sR(KKr#na0Pq zo@4zyTQe@Q>AcfM_^*WwMf&<2i*xhKOiPF1(cW$rK6!C$5!~A1wnc5H)i%!hayNLh zF@Sw*dIdpul8Nfsb w2W4jaq4R-HhkvX5@??L8$W9#FX`kkbd1j2ux6`kbyh`iC zRT7SKrR2wUwYm%<6X;vXV+c;TK+iK z#w_%R(H&djyWH0Obr&J%I}3&-DXj6Ky{0Nhse)FVuB1P2b} z_V=~pL%x}2pD}BX2}SDzvx_l1&cZRS;JnVI@b4P-ZoR36JanB`be2)qxF*H2XT$EU zso=cUOmi*b<*W_gpO1H(`Jopwmdr~iQu1h+eEN!cTS^|%=hNc;RiV{9A#GOf zl6j}l<>8)B`SE0NehyFXySxH?ST4^J_j++}5cfuLZxZ)rac>d#4dT8@+*`$ctGKs` z`wns6CGNY$eGlBZm{%#oo}nf!>O|bW*fI2%a3Yd-n2c;O+wL~gV3nqqX?t%+7(4b4 zyN259%33z# zltn!JTtb?)4%Cr1)MfSw+xXf3EwtkUc;}OcQ=5^8)4HSl*}u-C`$!l5+O8iVeYy{V zmSy@OaX&2XN5%aZ+-w})UgqJ{HmTiHJ2Njg%@y-W#KC8Q$nvd-jvPPb9jesR+{%Wgjv{Q%%krC#&jg}vuy5@aEqn2g{vveBQ_C-}&Oa!$S)9L*S#9N?LCd`OtGIs?_wR7SxTs%Qer59z==g9<%{dD< z*M<9b@J@U9FXFM;=`89So@^d?oUW1l8(}EZf8dgSJ;KJk01tWD@5_MBwI?2@yh^wj zl)TDt$*T$4m{&@!QNdYW0Zw`K2(Kx^YbfM}MCx7FjAt<972uTDG~qQ}cu_{m<PCUja|Gna@J`F<$B{WlqXaF|#2X zAGMjJSKE;vrpN3fVW@Wz@{RL4s;~P2#~eMQyn!z8}L;i~R1Px;gGVEi1{ z`8ayaks^N-x$L8~; zEjtRd%=4qgJx1I5PsKa|aqwaJ zfVDXhe(u{nN#edXj2rOKj&}r?XUEBF0eH}T65M->*GsUCe6+<2@9`DER<+)CYh>|a zy$?rpEIWGF9BH#j9%syUyA>pccjk(L}@cjOR`}FH`ZtRYET$X{h z13HiUz%>6YFH9WRednCld@5+IU-ltzJWn`nVzg=iA3ES30=HkkO1}1-lbZ!49rYoW z-+^s-uFoT2;@e;>@5z3{fbDYl4F$I0cCjb^V3?EBwv(xEC=5YPN1ObH!aBfpaaPmG zeukrsF;;%tmZuhxH4OUz%0Icx%(J4HF;;6MU-!f*Mhxt6r+sS#`$oC{&uoVucY*Ap)n<1tnR?a0 z#s8F_a{dEx;47&(rRmc1PxzzL2*4c)?lzlPmH|v%@*4=;|H#Yk*Vcw{&4u?fVZ>E{ zi&i%V*46BnR2`X(FN2f3D4VGW({_}Wzx5Mq^BHGvAlHE4nK#xS;Mp%85C+6MKMCx< zSDTk(>#$_M9(SrmL-9RrGY}3}yV*GTuDWpXQ{CRq-2iK04?VVpKX+U_;KUnQlHGO-)@9(Xx82YtdF+KE$-#j5~Pr%U5@XLO7 zA1Y}=-6st{N&}i&8&{pvzZd-e%nVmeX`IiZt{wq@bejFFBK%X$@$mcmge&F*_^}|T z#AK}L#hjFnru8Mbci1jvFTmze0kWcv5h>gqDJ=zXScYb|v3wDe` zA+0^}u;5ELBD=*UzI!b8$L77eJtFx-ub$c|s$%6DtnLpDz1Xuof8JBNT5D9$VLJ$Dbfi67`=R zt^po|bT10>K>Lh(@53sTw>vL1(<}y^?w7UivR{_(;eJ{A!~L@Kr}xVemfkN*SbD!K zVd?#{gyrp*WqXf%BNF%DhkIzb?(Y5W{(0u@?wGz<0-pNh@15PTyzO!~V;dh~siXS% zn;;SpDIJu17asV!LmO94Z3>tqL0ZNfzb`}DIB%ry+?S#AVP^oxu?fdGq&uDYfIYp- z>Ehu$GU1#@X85!4?)G@NbJJ(TpBMfd37?0Xg}o1a@^I<9BF+RK-qWyxF2bBE?n=0s z@W8A7YFa5P=~jV0P9I>JzC4`DZpXoh`+UX;ceTcezIVt=#}Hdh#oobn8t7PO*#GBy zcvr-e;ZK$nZR51kd4O+CA!y&$kUsH^_`ORP0LCY6)2J`JFXBSM-;8{g`_59Fxsf0V z3iXBkC|Aa)EqI@W{JOMwOqkvyw=k|LawMd9Go74F5Z$^2a#K%r&gEkG`O|VH{;BwJ zf83>X@nmsc2Xr1I0xfmtGPu-d@=<+Wi+7zkv^3GCIpZ36BnPJO= zd^jw$?e8Q+bsJ&Qg#D4%CwKQr{vERCHjtI;Y7Gns+jV>wWFSJ{51$KjXIhG|-Y&a) zL9XO6!{D*9M;9!?qQ73wsk;|sSAPN-&t+iTDR$#>n-~5rmGwd19i`T&s=-`|dJvrM5Fmi0=EWSRb^FWxb{iVSQm*H{izt@ykGg`AF=V>#B&W_OyTV^^`Z}qSpL@w&rm0+Q(j+vAH~{V$V{EtDtgjDcy#Pts@L?OAY12I`(q#(mbBSqrWb167a(gH`~~cn_|u{-x%bB)Ds*< zt_`U&(bEkcFe88y^`@j)&udgwib5q zTssHCQmB|$i5%M2D1DZ;Y+fz2wB!6H+D-7&eGOb)t7Ld>ugHUSB#iH7;X&PCpN6t( z`+5ufHr_-StfNX8;+VdeAMV#u++9JN5Sx>rUd;o~bQw;zO{gHxHa6>6A#Ab?>>gO^ z1@qLkAqlM28OE0$<1iU{c7?iB@cnL1_u>=ToE;jqceXIz9c@dx@VC>x$`f-<)saor zE%;ocon)n*crApM{EWZ9`8vSD_Qc+a4OrNA5cWpE#&9nou29E17ILan#V3M!a0`jD z8OM`cSmQ!n;avxN;ah8OLKuCdUKCzbkY23Kw0^Fm%k#}e*CnKuW0N-v@NR>Gv(ABv zxr-p}XeowfM$h8I&jPu~9 z?x{X~F*i)f+zmLNEI&Wrr1J`2lK8(2S9RiTc-Qp574LESv9ItR`1z<#kXH4A@g?ai z=4(P9@>aQ%v}N;+99rsImT%d7OK5e!o=xTL4tF)yqIhP;xx>~YHLx5Ddp!t3o_c-E*B^veA7qT>!h0y!ye>G_Egvp9N69%o;;am?IcYuqlgRLAks-+|DMON% z$7y>0D!d*PUL3E+as}zPWtK=!D3=?%>o}TqIIAZW^ALFR32_eMMi2S(yJE+xvXNwNDIFmY6G8NG9$-`;+{HD0il-^eB z`hoG-D$|+L4ZLf1bjUR6oxIZ9n)L80+{uf+nJt$@9rkxe-ao~yyHc0Jy}Y-oKed;a z^&~yl!LV`mg!3YZQ>QgJ4?r8^dc6w$@6Lh86 z?|%d?+=puY!9G*AQ{g^T>ksg3d%}IF&QAh2M^0Ia_Qs}g3}oklw;@cpXLCFJy2pU& zr9U}O=3oQCK4_-xFQ8Ms;{H~J>HgQh0Uz#Rr9a%m`gi!#dm*`x@gIN}?S*7HM~la| zMD6M()*;ffZ)ainjMo*lc2nX1w0zc88`xxu&oo!vz4j%m0}=O0+WGI2E#K%I?9Gu` z%xJt}Cl}o&P3GAQ^DpwcPu?oT7X)E-XG5nP7-PSY(f z+dP^%SS1=6Su_X7)(4zz&%$J&3XDA3yBGbc)!BNou4=5(wV=aHfXTiK9Icl zWI_q$+%A?qI9(%CM&XT@EA=%yy7~N-tv|(Eoo%@1qsx3 zj4yh3gPqj*#l7(!&M(e}e;@pGyhB;`f}eAl`_jduGBTXb0X-dSqmKZdzie3C-!5Up zJMO*>-u%`w$7$+j!%j5^q~hiLmyXXK4P24DkBP&%J<6ob@-LYKg-+8#dH#i8KHrKt zNa$4trO)y%n|Uc(rZb;!*&HIYSw8;T&?=+mS3a+bIV>mMa6BBA>k&e$XM0&Lq~$N4 ze~&pz!l*nNCZE1yj!DTw`h425=@Z(#e9(R2I!?~#Q8LFB^6=wty+3O|&~lFFk>Wl| z+{cPLN8GvM9xU#m;yzB?!^J&P+@r;Pytv1TJ73)6#XSM;U3v3>;gOMUTRYNA9%7mw z&Xrh8^EXwdIuh{>t@ca+?Mi49PJ;g-(W9^|k=1zcJqzIZd}_iwub3d0NWST|TAR$` zv@gk?hD4tZ_km>*>8q}GF!ivjOdoAuT(4lG4q!dPlZQLJ3ofnWw8?oqPL=%2!>LWv zyR8<2mO6g2xTlEQFYY3^Sw7x=<>AzBq-_A_QL^+Ea~k5{qjy^^k+@Z+rQ%;EZjp>k zN0`s){K{>EP#()A{;X^zOo~|1;=3EpO34<=GGEqjc0_)*yL*5q+g;7C6_f|@vaO*^ zyTc!+t5h-P5|2mQ8Pey|md%reR(Y%aR{ErFR?MmtZ_=|($>vSjtj^)B?N64zVlEJR zZBNKs+lPGJ=rK>pk%wWj{LAKIp=F-3ZZJ>7JbEf%+5E&=5ec_g%5Nq7)TQ&pJzv~4 z;$A53MdDr}ZUk4;#xhBlV=}LMOcgYIv}`m?etuWXfY7JoD9-a9Q!9ugKMyNrI28xW zh-E`JUuSwuJrxIO`727t`hqyRrDIgWr0=%su0K;uvp}|@^lwPfYniC-B+Ia3#)SSn z(VeyMQ+Ec%9TIn)xR;ANB5p(6mbh(kJ8-G1xt&PV%1`E(_- zMdvDU5o@st2TvXyX&Dk`1 zoURvLDRDka;+zIPF)y&w{39>k2c4I<%In#}>p8-!7jDceCD)#UvtyzFr@XEfUe6O= zdnDxYc}cmxi@M|G@;K#nt?;@|cqMft*}q7}lT3dy9*@&_ULf(jP~w?~{EO3{%FCn- z$^JnS=hMTq_7(6{o5+45h#f7pZ@2=9a)Ur>;H^sbH z;!|B=zVfH-SCYPB-d8AJ$!H$Tm$vF%pk~<2(&)9C4H> z#-S{9%{jz@1W)#!st*3tJ?9JHuKq~->+%kC-+majKVeTnd(oiY18hd z*NIzL6H1?}A-`bRAU;>qLLR5r#Hj<5-J{R8S69Tjw#s(e&6X}C}Juj_c*v>2e|DW!sIuYr5m{UiF`TPX%DY}zt0dW)D zN%bVsEXmHo@J_15!09?I*Z+AZ)#-rgx;)nu&tUk1JE_hjF6U0Fvje_*C)GLR8{A2C z8T@`fz;0$7{_sw!jqoS$q}uWMC+e7<0}St?dIos=b^Vgr3V+^RRFpy2`?-dF75w3P zKK)!gC+@lAQE(Sk3TM~b8Ri;<3HJb4Ke3RT>+S4chkF35Kftq}8}0#ceiFFwls~=K zf$=^c@T%NJ#dp;Ky^HF4z{33-l!d&~`y*ZiSh$W)f4Gj%K7Du>75%zDf;?Xge|Q%a z{o#HC`qTRjUILiz6Hy-F{sY2pa5V9rkC(z9?rV5C{NY_xuYezQB)*I4Ci?ANN5ywh zS>3lZ{w^xQ{C7Tn7;kVF)m`udlDLcN;+m;1_%xRyJMNyc=+xXJA-{`4VY^{;bCLMZn4T%WxS7<&5d^9`;KKk8wCh zsj@R~7$?V=D)ZNJ`IXGq0q3Lfe-(bl{|&gB$K*pK#V^}K44 zVZRyB9xdU&9l+Qg(?*7{qXou1(0GoNu=fVAlZ7sX9RwK9TeG}u{lW#FY`+wS^VZ8K z8~uMp9`>>hy2MeA(s#f=@B2|_q8{#LmX*H?ygqV&Qaa0Ay&|-Kb)1v^dbAj_TvR+Z zNnXd6-FhomcqGaENq@KIG!Fva7s#o)ns;y8_d%!kw%K>Nw~g=Ny>0Y|_qNfWzPF9A z^u29_rSEMcEPZbqVY}+yHs&wyZTkUu>Lcf0lNq-Y`Fl+6ek`=sBO}-rX7997Pk%pj z_Qc|{#@4=3+>&bptx-?7=VJ}VIJQ`n zdni*X%|8lpDVaK;jnfi@V_XNpuW|h=i0j`WzaUIDe|_1X(xsj}rP^-9w}*=bj0g+w{_7CFXmAi;Ta~+r@r{%Kr(>-@0=88nkhX6d>4LCq zH~&N!`jw69Xngm~p9MAmqon-)qA+{Wh8vIlRbdUvmUCWzgSax{OpgcHo*aVlKm|B`)}eQX zea*49umhqVZBM%F8%(u{97!B|VpMcPY_v*Py1vF05P~;5=%aR!_VOvnXWGlWe#caV z(SC=0mwpG|!+r<-VZVd^biaeJbiaeJbiaeJbiaeJUDfZPO=OyB6Pe%agG>j1ee(Mt zlh1GF=?w5=d#i2qO!yfu?=fM#)(#><$}x>`qkWwvGBEt^cxRbtTYCoR`aqTqSGKl~ zvJ*!d#<8dH(sI`E${v8Tt=$Xmj@D>)1i?Gw+yJ%sb70 zhItHSM;)6hX;2(#=Lv45&0}B3!f^WvPV3RZ2*Y}GDBKJ$z_pxJ9+A_^7S{hbj#QW< zz}JOwx)7%GD2elExITO`ZHEIFrwuuF4E%g35A!X~ALw96r#h(mN&d%5SWQzKI!V1d z1n_8;RYZJi09^-Z%MSy5YXZTxwPI+)5aOIIEN9s)gKQpN0Kq;YJYiuS8x&{gM+b4!z^0wUMRl;v#qsmQO2jQ9CMfib(S#Di#$HH*m3evH@D81mKwt@M=bz`PO=R-Kh zH!i(eni1|?yi-QbjmC16DrRLMV_N?3B0MUBLG8 zEYRYkMz-x-g?C)cZSQrz0PnahYh8WF`7efF*GRdReLnK3ZolhPHfwX4g_&bHAC=kohYDfF>K#vTe(>#gH3!)MqrfxBnM+MEFII)?_io7 z3uk)HaBxW$`A#*L0}h^Yhhw8@C)=zHQ_YCOaVaXw-OGFG{?r<(hr(l8U+tNd3_ny-8_BS4K2%VW;Gw% z9zGKH3pa(&2DtsMUo%lDu(>_;V4*5%53_oktfNU8{W*(e#qD&w4atrLj+^hNCt^&0 zv|1W}wPm!KtUnuz`34)YiZ*!J$l?>9L4fReVU}*3=Zq{}{ zX07M6KU+YT+s-5O>kx*|eO=O+`fQ?0Xq<08N8PchAcYfT$z=DvX|_zX@lEOa!<}!a zbK3rDJ4=^&%QnR8dc|xF^7a{$x6HpQ@vin;^V#;h5MJ|{{GJ9nhISlo9!d}YR?3m?lo|=&3rcA$@5ycjEnKk zf*g9D_Ikki>i{0UYu@F>r#PRlQ_Ty&gOAGcBKRrG3b>XY{5>zSNLdN<9?o_Yhq=_B6?`>#st3~@RNo}`Z}c5D!Lw%%oRA=xite~0?k<=Y(5 za&$eaY{OW($If?iTPdKJ%Xp8g*FCRG)bCdyk6D*!JNZuAc^mF?nz4^DPlTU$2%Q1f z4bCwafNyu;X7%pVN4C#UHfJJSa-3W?X9K4Dr?f9c6?5GtSu28J2=~qIweQ}xUQieO ze!)ozV(S9+41G8k1#BPVWj`Og2@){cBW!JmVXQY7g0_Wk{9*eAcRkoSy#Wv7wg>cW z@U0$&b>e&H%{m9GBg5kPmi2%Q*E;BsxNr^l>y4o2ZD|bH{v!QjYsW`h z62|($gllVzdyIJaU0! zmi_h3R1!O0nQhhpwh}N^eA00od7;3l_=HjKFS9VK_?92zT}K!d*p~Bb^K!sifVs-x z*6-N1Vt)H{yVVi$ao&tD^zB!MFt)Q;J6tY=mX5GFfC*t77VC+pQ}r3I^6LY?5XP`r zV_fbC9UWo)5BjUIW zVeM$deP^}AdKg6((q(+Icj=X&IsHSljm-*pAnG+!;@I3Fl$ znmcC7U89%^Gr{CP@?P6HwkfZo44995t;mwa`F^4H!(Ink_QP(0yC8S3hMhBRHU?_Z z&`5RIHiEHFT0h94ZJf)Wa_<|!kMCW+t7WSwz6b!$+%Y>+<0lo64Xg7IVLSUq@Q%}q zI5fSK;myE>eO6EB)2{hK+PC1xNBgW62c7ab-;Q63J|X*oZ?a*cb0Im#$ra2$x;6Ms z%aB3RPQ48@Tk{fP?L(z>8}NBLwgiTq{SxL|4<@eOF7i=ESzpTKI#Ir<&b|ZuH2pqr zO6FY>kLtPRA?Zo?9>HrqX?auDJbqdxnxA1@I!APc?A?4lcxO6W)}B?&t-vMwHWl+$ zz>v48-Wl7Jig`DAEgEdL+?<7ZFa4*ZwdH4?!BfBMg0^#0yV{C2@q2mW4YUmPp*k*+ zV|iYRGC(NoZ*Dg?V?B|u+rbAm^qeiUTRf6u%duqMXXCRU=I}SsS=o~~Hq?4YotM!E z;ePG_F62y8$);EDyuY(6Tqw4>a6_!0Q&ehe<_2J?h9LilMt z<#?X)&P&jh%%_BoIF3DI9@x9BIQ<3=@$rbt^|o!FoU*0Qz%eiM1Y0k{eGos?8GOH6 zp{_sA`QF4=ZlGhNXP!Fx1lHo1hRL3<>++47|L5Ppxy$FLj5B7MPXZR4v_O5FX+8~D z@~q8F^BKS<`wbk{9exAnvk0S)>!3(z=_jYcVZ| zzs@jtLK!R{;KFYqvQGGL{%o+y_f7Dj9N&UVUet5ayL5Y*u9I(45tsL!!iQ5InV0@F zsjG`D2Uiz8hIN$kO|~BH=(nXvpZDFUdk}B>Tqr0NV73~)baZDwkV11Kl9+e$ z>u-|I*A?=h{a_qFldxL1v;6%Ug4W5OBMj4YKV0rN;X32@EFV`l_#Q3h#vIpQ{3-lH z=pL?%pru(@eE!qZxjiH7YkJsbyN8x6EAPGw{`#kn%_wlTyZh<(Cv z^8oSjmCb`x1Uy^KR7iA<)F+o-f6>4Mi#gaoym)hG3kQ$q+c#`X3YLN$;2 z6F=@-E9=$$r~_OJpe@a_*-YDH?dxRwTa&f#)W`pUTtTuY$TWPP8)4WVjTWz77Oh%- z(P^yH3R^@Y9gSAU)|(i%Y7~|bcFo>8JfJs~TOI!`yL49*%Pej}D+eVyK8qPOW4E-42E#8c<^s_86 z7l!k7_&|LCn?o25P3zc-X~Dj}32#T%l~|;sw4HIM#$#OPJpk>}pMcXx*J38m-8EN% zI1{Qq`&CT4+GS{j&5OTKj-X$q^_sL62ej5}eCK^%)(7Sp)QR7H-?t_H9{9Cx`LMoj zHDIGzwtod*Ef4x1gnz38*z))reaYx{z0Cpe5Re5 zYId9Y5O6x)opk>00z1QYmFK5*y!(Ua!vE$+@ZsB0tNj| z7`(yeXjB~-sEv)qpDTzuGFe-U);XNXpRd{EmJoGsY4Y?9w$unmX-_vGM1=RU~J>XY6W#eXiSjX5?;_bFZza;*eFilXOTR%tvRnKXA$zN^n zUU+9ZDbsAcb6!K`AZ~B`_^95hy!!yoFr*2?gtG4^VKvMn;MeieBD7uMJiHHAHU~&J zmBZt_9E$TYmdqn1T(`Vh#?P6=V_BC~Ntmy{_TD_~1MLOh3f%qaA}<~#?xW!{KOYNM z^K%Z~b#93HsqNL5&?#U#=HkaEou3B*&NO|ofG#h+2MaIa$UDv_%!BIw7R_(+=TCJn zEHj^nWph}-^YD;oAoJzYU)dLUos&nF+WCve5N7YO$-hg5{hC8b@R9>|yy^{X+RG50>}w z;5Q4Dd}kOfd!{{%*Vk7UhIE?$CxHj^{{*;>Wnt?A zWImbl!$y&}hM5HzIh|@<>a`2=MEFT}B3#DRZ}BCw*t$737F^PG@d=cBU+1Iw!SH9|ml>2(w8(O{jUS8ScGxkVPv z53u}n<%E9fjGv7aevmObpF?JzVeBynBJN$(0kUhM^T1E%qKbdU#yKn6uK7+rtdwrifw_er7lxO6ZCF<{ZoU5|q~kp~94{;g==6@ACj~IQM{QvM z)4Ov*81K%Zj3I2Hq&bAim?24*6ZRB=oq~AnPDSkZXE{=*qLsXX5gXm=jdfTz?(iE- z<90dO$-q38_2rgZ^R1XggssBvwy0yjoyIXM`vKg8BXcIDrJ&imixhx)dlvX<8R$8} zvnfZxx5!plT=Hz3wxQ<&$H9H3-l5_>nK(S`*B^$xFe}ARnA|h8i&7<{tXb zBS=rU2Bdb-;ru+O+Pd?RR@$i5aLH>P-o4%Q_Vp%N10pVO4Tx=1+O{z6(1y^i59F-L z(q^Y^3)=!m>oL?{$~W0L%3ZYvbOvMz*MQEUKVAcJbG@ma!YMizcphleYeH*$_;^j| z0>E~5O^AISt_fWT9{Oa~gbKuT8X2c%!amP!#r-RcrXy?&47U6>$8;ZXJgg6}ZY*v; zh-abU&{uf%FU9`p94_7WmHF|KTkqBW2X*J7IFJ0fHr?aEHP?%Yhu*TCC9Q_#eBDo^ z?PiU6s_;>JLfT6OrhSqu&YyeJ^M$(3tMO*Sq|W{&<>)bMi{!xgQ~Mg4KCVmg$9&NG zKY;KR_-k+(cL(obI){Wm`>af(j+N?oXWnSvjeIptYU zPAUy7XY%<#K^oW(V;sry#hHyRacqv`aC>;h;pZNnEpYSlX)bV@Udq8A<4otx(}Ots z5GG9XGX$5%pG#q?4^vV8dAzR-cyrF(^DdcZb>U4ply{Nb&ynzpW!yOme+A*%DR-mz zuMl^uxL1jLHC!uuO1|d;&Sx$7Gp*#$ec60x9CLzq?!P9SaZz@@Gd}LK<~!r;mv_d? zebt0B?v-%0oS2WAm*nH~3wz5!%O_7(%}cFA_FNQbS--RNzMUtIv~gWU4!%I*IaB%o zEVuMojB&tr=IjL9^z50~nI=M<{$5_3TZJF}*!W&v;zzL|-nFwc%{ogz+N$EHCfCv$ z@atJw`ZvJu@82z(r@`;xHDjJLkjq!5*m>!>>;~4`L(p4I|gyj>5^=`f#H* zI0x+Gy%maOkn%nc$#mv81qt8h_gZ8WO2+t@0=PD29X z=iNemW1Q5t1;u>^%MaV92Wyt8_i7ui_25Rx$ou#6^z-E+KXIgandT|JTk(n*=f3|C z<_YzjdBV1yVYIDJ=g&>TL+P$ZE2!xtt>&%Tr`Lks*0DsJhwq8Rvbebr#`$W(&{n@r za3S9oQ2Aw6F>erh#A#)Z=Vhesy1s~C52NgFLKw~qshqdM|3lPi?lHL(`NnlJ>g*+e z>ltybo$EPsp3S}txUIXUr-!)8rpmbFtP96{!|?AK_HK@XdFU&zgR#swN8)BXICnAK zJP+}r^NMq9)6KPb$N6)5A!EtBh%zo48g=L1OXj84Pqf?L{7U+ld;Dvx-{Wtge*448-P_=D zGtWE4eK*`pc;L0KueO2pi*&bxKF)K%w0`H|v^;bU@qGwO8Sco9)A#GGJgDzsJUUN! zyK(jUGfi?ZzPH5}OUXmh?%$egCRrJ_WyiKZEm}pM~Gf7s(vw=ZM$oYFShIJYb{P6M&6Z zmgg7XS3T4F3H7WUHJkf7sMmyj5w!Na3oklx{7QENmZy{4Q#%v)i+>4teZ)x+NzH6KPRp3-7Np}xrM*rb!bn&o1 zK)CABH}FoK*YMwjKQH{ZBzzVZ>J8TOphsT^E!}U^MV$BM@dRA;P18g<$p3qwk7Wl; zWzWN@TxuKdleoXHal-zEywv{b-q~xQyR?5ipZ*<$No2d#y=kTI0*>?IVF_8g_5;9G z-*o<&w39i9`9GlJlV{^*z{dSh@U(F<$DEX)i;lRxH2HU0UQ}y0qYe*+ZLGHI)j{mz z#wJFbUw5mig=p<>Us1eIC!QqK?>*Zo#TaVm@N}CXq{nfm7$+f;+lk^UN5H4QA7yc7 zaony8mmCu5C@8@B{q0@mDRq0HE|cj#)5-3E^!syUpO-SSJ9GTruk6m8WQrxrw{N?% zczmR?x~XuD=wVBoWVf?&ce(c_{fV!n#5PdW-8|#B{<<9@=yOlog%kP0bz)XI~ z5mhzyNqemw>3dY-kJ_^x`6cWo+r~A;8~{S|FC`i8%ui$~>QyQbszr(+WDcfj+fZK)4iF~5()mTX$Io&E#hUvuw@60TuP~p}`IXy7p*#+h_%&a--jhvN$s8nfcJ2%`b44DNGn8xoPNW6# z_x>DZ$~IE-?hwW)?GI)8S*S}T>`xV$wCy3it`{b0v0qkbmABe)rBCW<#T=31O?qvE zlC))WR1WX3T}jec%rQc*?FxBoJCUy^J*F>59<~2T{$(>?Xql(1C(P3@kB$dEo1bNK zf`rpG)yKh4y*ganBgH*h+{cT1thmRCdm>y-8_OhJj!AiY%t@f(qh+IE^7Ff576^Sh zj^aG;F$)Xg$j`%yIVBYb%ZOz|H(zIZOn)j4((+f7j>QFWbW6ul38U+NDpz;?nPQd| z$X1m8Gg9JI?wrm#7Nt{m)!}S&LRGX-Kidf%CpOm3u)r)dr{=zho6<5ky5>9Dp5A)+Fo3_wqW%lDMO{3bqd|nkZ zo{Cp(ULNmFLaTLh41VT+N8F9#ZicJrAV20;9=|I<$7dpbPYd`lJw^PUQNV92;FL3z zkMdC8Vx7ZYhX=)G5SP>)KPJw@X}?f)`&km-Rd7{znE(7~d5{msUvd1n<>5IZe->9U z+OB1Bp=@rChQ_63sb!yxZ;H7_;!|B=zVfH-SCYPBt}B$!kB{d|TlHMfGS9CT_j%%8 zEAI2fy&f*p#Jh3gya;R@ag-^>p+5bJd5I^)IY`Ak!LHY`-!s+TN%SJ{p8@2HB_7TL zcwR|6^IXAMJBu)C&z08=-~rLhONAHj!Xht6@AryqpXR>V$TVTZi;F4TzKNfJ*7{{S zpX+MezePI{ts1Ddw_wp>#8}u*K^xx9OFHrkmIUzKM@P%?1p=Kc{bU7-fXMF zedcV}+zhEgot%@si-NLptf2GAnohR8$(dItKijwTY^{c2yXeAXC~#K=N&~u(yuU(V zb_PQ4uMk+l{S`4Ee76i2o=FyS?!w&{L41kvEU7l4(c0($cG0n*;&A80u=rd|9?o(@ zneU0)z4m|(?ZPP+dp2cH@XXGza1YK5(@WganxqYPdGgZ?dV`1P;a;T4PFi43&lIyi zaN%0so;Y3q7{L4*HRfI!KFEuqc5~FN9hb};;?Cy*RFq~1hi7n4CihRw3;6PT+IwP; z)WPK2YSnQ04*b*26X35m#%gWsC)yLY~`JUEapcL$ZsYWSnm2#6X@w>llmqigkC<9`b1*4BpYH$K$Q#PR(S@>ty% z;B6_%b-jkFtpnrtK(^AL1t#;g}!nrw#}{_6K!~cav(|95a^&A_O4&@rQZe- z`Pnz-^;!BoH2U#<)vBg%7=FJuwPNVky2bR+AD#svY#m^@wuP6u*gPUlsQ;v?JDOVC z-X~Krm&0EhZCU$G{0PHf3$4o0fIr+*yMcat{&y|Du43=L*;MbWi^h0uj^u}}2bRXB z$jU;P-qp@Ju?2p=*Vg&l7U1?ADc*f!04B$lPmg)JghSjgV*uOy?lI3)xV`Kdx@wUr zUN(%Nq#UlKT)2~+=hIkD&xSubZNoU*DAv;#z|Wg|-Jao!c_I9`*jx>0d?(gR7;Z^* zWMF)R7yb;lo0~f8Y<`q%-HjI4z@`@DQ^}S^begMs+(Ss6#K+hMw_tlP6cYIs!h#b* zBDGz0dpn^Vv+}%NP&ti)9+Q59S$Y%K*X6M%B9LW9j9jN!>TXb-+7t z_U%UC^pU++yVA^aSHr_z2XuD?9qD^39ui0}W(-kb5V_M`7*l z?&LI3IN7_SUxj?rJv)5o8l288yc&M?_1K>z?k4=WXXiC^@o-L#a9s<$8Sfl-Y53Q{ zpBMfX37?1a-(%0ld#~LSBjXlyEnW*g+|ToRx{&7$;=U1XhBxrqujCk!a#L2)-HP`( zeSm5D@^C7<9djV=w=hn)Z`C-_rwe)MzMiX%+t+xv?CW7)jqm;rpC0oj@JN@Hvw71> zZw78_2I<;|w*jYZg4^%2cj-33_@wI#b!Ru!m$wT(*vFIMPNh!+L)}@AahvK6-$UJb z7x-%#5cf{T2iFz3n9rXiDMkGtihcPHyUU{-> zJZd+XpCO&iJIM2S#LFj(OO{7E{i<^em&R$_TA%M`8le+kk~C5;e7X32q*eyh^$@3Z zeZL*N-(UmcNRJ~~7J2s@FmH5pNE^a3@F$I3-{J$1{b6jt(o2Qxo*wqUJ_LShU-UkM z4+k*4&)}{AruP|yFul*<3s&D31He+ z{%io#`wT*u-e(ZP^ge?SruP|yu!SOX2-EuvK8JYGXGN#Y-Dg0(ndm+P=5hKygD()4 zy3c?*5#DF;MbN}|BPIv_x{a&rp236y*uHGpd>K5o9CT0VS13#FUinJt9*axfX~6x0 zk3-w@Rp9i|dkSRx;lq{I_0#f|f8y_KAu%AV^_OtHAd)RJ%2mZY9-<9xrxO6`&j5poS`ZoB`CVr1D zI z&-wv)gyp1ttp5RgYXaf=S3dzfsr!4EehL_$bpMLF!v59I1RwOT5}c{1AwYFy1;Q8H z(T6ifu$cqc8#r3;j4i}RkE-rOB}OJmT>m-3&h63Zhn&9Ks z`$4C7>)Cg?TaWMI-Fozgck9ugzFUv5^xb-drSH}wEPb~gVR?7!m7!aM^rQ{Te)Hp}uq(_u*LH5N7!B9Vh>Z^Ayb6GxGc`d161R)?fO6C$g)4(C!ef zcIN@Shj!-=@MprqZv9dCWN}{iv`@JWv^=l29j?ly_TtZgdAX8&`w+(CJYVvloSHT? zvzG2b!1!p|j>)ZO9n9@xqGPCO$IY=1yZo6Ke+LiEi+|uf%!`NMx9NplqFgS%lKCgz z`Gh!^&wkxvE9xP?NBA4i?zQhD&F>`)=8Z82)RcKI2cHgJfb*kGI4)7QbEKRvnF~11 z4Xqx-70K$KWugme)%7xuS~hVuR>=XW#yp}fx(D#fQ zSGc)7$}KRO#3&m5x{_H_N~YJ4j|#A^pmJYMhp_4mVSPc=Mn zkO}2(BbH8I*E@itvz+}yTd8+qVaSzpv_k08-xKa~MlL=d7x79t3X^~&?e1>KE0#6w z3Ex#$X5l@wC%eP1)rvfX1ph8sZ)E2I~#5$ z9PpveQYN+2`{F&85h)7ePUBR5)#v>r&PR|3>H_mY>jG^&`92aqJ{mt|Bb-0`AP*F$ zb3|Mt);oNXv}N;X371WyuRj(C9t>;q9_i9P<^!l(JeRjOaEYR}bL$ne58zvq2s@9z zKj29_TQLU&Fg+W}e%PY`kCu$LalIif;fPOQ!WPankFhx3DdG{d`AjoHEya?}v9z}e zL%TrOe6hi$$1;3QeTH2x9cXdMaT|4icQaI;1Drm3&Qv9vNcZ1Wd`1qQa)nYz`G#)&t&sbO`)(9|t##?_9{hI8|4}_zo8ytT!i%tZEmI1dd_mA-E4y zGDk@m;+Vb|hq*w->37VCmxXJrTC+Fg_6=MDdD8P$lf5&KI-2-W8T6Fx5cAXx{u9_8 z-c#|v`8#HZA@6k~fUAo$%@KeFt7x`<9}QS?9d)KT2C&I~$BcE2-!XeU!sw%S^!#tE zYhA`Q7}vJO8v~t%Iwxh@S3BOd@WkEsY*UX#nzc=xk9TcLILAudagrz6Ua%hUzJVAQ zv?au~F@VU!vCa`r{#sx4KAk?q#jtEsN%I88S+1CqByOd@5b?5p7SS&d`Yf-ootiqE zuxv0u;x(|=I1xsf!+Ud*_W)JQ@sI-_%dTT< zfcwItwAqAr)-}h+@KJ}cXbhL!xN*)2fMel&yoFeF409r2L)DS7TBACu-?JjD(;jyq z*fjPJP6jNiz~npAoC2KQRmA&=PKBTM6Q#5rv}LnMXkl~Z8!KhAgfO{(h~KHE{P^Sj zKgs0T@tVWWark611C-hE31d0oo|dJ|XZ0UoqO*|mRr~D;fv@j1W)5yKinAMWlb-Oy5Q~quQd-J*3;H!y zrf6^o-HZWz*&-SkX^xHCJJ%{Dhnx7WqSL^iPkQ{w`-rC7`-t4y{DHWCXqnKS4z~|l zI=Em#wshUVMd1lsHu-OZP}}WsWp5gTX~Oif3f==fG z?R#}I#_Tf<-@~~;`opjlYzGO~c5oGVscapQ?R?6HN6Vja@lGCw%fs<5ofwyDBiViy;b=QzTq?dqK0#W& zqldc4JwYoWqh4Bri}qj(E9S|7`Mr-7a~}M<=a2Z+@Y}vA^nw00#Ha4(xd5<18FMKA z@D890fe-KRc?$eGZqqRuZ4mPk)?mW>doDuwJiEmE1!v*@o{NFkN5@sXudv(wg48*# zEzCl`@tya@u#8#ueAlv%z&o5*xD0;PtN%mZd%)>cRDay}c{U`0AcO=I!4ilfQv8R2 ziio(I%_dn$cH{0QH05El`y^SijV&pt5m8YQ8!Gm$sMxz=@4feiz1PHEd4J!TIrq-J z&wX|`fdBXZe%_nUW}caI=FFLyGiT0p@Gc>3%`5Z=9vWfQ=^*|Kv6 zTa*TMJ`mi&;MV0@9&Aowo5E85l$)mfiJr+YG{~>XI{gkbE>jqv;g!GDQq#`I=qjC> z+b1Xuy{QbK8R2mLS@ufIr_B*?j~R2i4^!IgE!-+M8?AfU+^#T_tFUh;84A2+^9O$Z zbBDs2``xwO-wTEO4ZAQmwr4K2LfpCB@iP+ADE4E><08$2js|$Nc9pT7o8QXjwvJJL zt7>l*_36_iBbu5}x8`Q}xOF?yPJ&QsorX$>008dJS z+PW?zwtwFVA+73_x7<=&Gcx5KOO#ze`YHj1=n9RoMECM!=j|s-(-rF0;r?xtAyxC1 zq`4%dc_(&O^!p^&MERO3r7y;X?CuCvrh>15y3xKxFWYGMwaX5?Tbb=FrR`9|1*9Tw z-UjOX_pJ=Pt8CagpdHGID=XC%{())jGo|dbqZz;3?@Zn}zmJaFU79|qgW8+vD=hdL zQn$Rd`n+k%W-8elPd`@j_}<=WK4U@*w}FYu(s|-c#`(PA+;q-zkl$u>B*_BL-paoG(Ga} zLo)h~xDRw=wQ0)RnnRSIZDV7DTePv*=ZZ-u(G z|96WA#?#!NCbO=(w~ap)z&Q-p3=J3KSjnG4JM zAo~9+#ecAa-1>;k)zUKnd$h}6CAli(6MN~1$X0$V@tsXoakR{ix|;B?Uj8`!hSuZt z$Cud^{!P`#D7@A-I5zI~%eN#?z^}dSoWQXq!!ldyCo7AgLyXoAn47}+k>Cza%9{n!BNBPXgMEbZ}U*nc${U+Ri!5(fmyaP6eY zo*LIIa*5M$(v)qly}gf3P4GF{92%Q+QhC-{C@CfrU?BW%HE3Xh{Tw=#@Alk3RpsDi zw7U3d{C4tIT}=43`h8B?U%OLJHTUR|+Nig$hDNsN#9U4M)fo`tK=<_WKtpLa8`6%I=lx_M75{pTp0 z_C;K4N6*!7%kT5_`xHU^+UhK2?B=>CV15+YWWC1c`2``(8^sT4+L$Hg|3$*#Ltij9 zh6jGXSih+ko6ltY@KS|AV}kc;*WzX6QcYf!#`9;S%kpb`=bsHNbr>%R zG+!Cq*UN2|?i(D;&x@z&im$jV$yZsvZGPk}AsuK@zR;om;&Ooo`FopSSvr~A0?VgU zP2MhCK1=7F@>6D{S4PWZ$l}pzmjV`bPaWHRkTjmVd7WNQW~YbCbekez@sb z+XMVQg_X^1XwOdN1A_4t$C)v2PWH9-_&4#&=g+6yr~07~moaEK&t)2QPWm>kV^2BD zKd{HDJ;n87?F-mo6W9!QH-@g#_GYFVRhUGy>l^bptsS9fP#-Ma#Tw4@m1mRPyl$u_ zpA6*zf6IjXiQp%1R`~7?_zvKB_{PBD){^EQtVa54e!iw{` zgcav=3A?@Kb4~AmMl>lK`k}a9Kc{d$>h2Eey*?ZKgq6?x9$4LxCVH4O{iik?egn(b zqwei*3d`3c^bQq=bKegENmSWy5UtbG&G0e4J z*#uV3Wpej*#WT5czk}TIJC-~AvE1P=${k@vxg)G7cZ3z?j<6Zz4p454JkvTtV;N-i zN1Y*S-%@(^mCM@P>dbWiH$@LU@ol;O&goffCal~3iHUx93#7&g!B@1N=0S# z;3-n_`(~D?uk-e;x5=&-zYXOj+5SN&AJc!>Tl}HNz9$%Z%;G`w``~Lmn;!K!(%?J4?irtTQ#n@#r-yii9hY3_0Qj`4`(icFu#W;gAfjnoWQqtV+bRE#d|^s z%OAk;=g)txd~o`^;c{ZVW6K)LF9rA49{71}{LF6v`?Y@C9RbW)lZGsUHA54VZY*qJ z+M~8!r{~=~_HPxZ%%))N?l7&b{$6nV!g@&)_82cb_#Q=I>*`D&K4qSt2YHHUE>t-( zXMdf3Q$|xtM58J{LoD5CVKPMAtgiW)lF=fh8|zxwWSAYrkG-dT3ibYxv8~)0K-gyK zcOS-#pbw*+*tiZH>;dQ3jUmIs?xqGmmnM2cV_L3YKp*&;R+yU_a*TL-gu#anLb$!s z(8N|Wvkw0Y)p^y?v%Mt91iClv zEJT|ybXm>102i;4{E#r+FEPAzH0(=}-Rba#MhDed_$ozOv=^w3U9Jypza&aTd1C7f`dQS?(EXB*M|iltk-X zcF5jOy7=5=XLVo52lH6#q|vm`B^58UuX%#Tb@N~Qg&WU_ESLWw(ub}uRG9$(lm6)I z|BS1zYld>s^-(+PemAhDQMc$6)S#ajEdj)Qxc)hs?}3lM>aUECzXv|dcKD0@^y&YQ zYx7{p5jq>0!%k>bp5p$W^!}zl_5%J3SD)EFr2TLGHKZ+z@0NhOIq`kfPhB7Cb;y4N zi`ymbp7a&kRo^}3^ZSY zzct068sB7|M%&P(BU>k}U)e!s>wG=r?WT}7r@xdB@!iH9KFmM-lf0J7@0=Tf>*EsT zrM5~s%C&E;d&m9NLg!bytF(HygjFOZPXr+ z8}#W}uI-iHTceAMw(DA<@JvtY3$0ADX0k<}vVbyBn_d{oVrz*!A3_;Q*ZQ#rI={v7 zpwJoRnQ^SnyRBy*7;%^vlYDPxe<3og`S9+A>Z=S6Ox{HTrFoWqey7lE;vR#TA^gqX!%AEY};Cho0WNybwdiFD~x zoE)?yhl{7!wqGLuUKc>$ad2`c`JLV8w!~u7#9`jfiR_~xZJpKXl8<}mEUpeHZDj!+ z-C8-8@PZCxeP@B%-(3W=FU*HzeTd@=i-8}-R>vNqxt@#HZj6a$=i=9d>i2a@S97{hUzc`0QSaA-Eu;LsRVZ}Kt!fvlQESslVCYtt@ z&r{8>D{dKNYnI9oZh_y4S4-r;MH{H$$}AwxtlDG z&S-@=z{p<;PQjEtPL5PdD#EUwe|m8qRMitl|8Y!sdE@i+1GBZz+y_ zpEbE@}Pice4Q;ne4QiL_+oyPKhh&DerGgv<|@ztR;0gA zZII9Cw*~sEMX-$#jC!~rz^IE$BN*kiJ-{e4D`)gwY~b8ruIe0$wX{nR>!>mxx&iA-;)Enpj83PFQ$Ht-sO#isfoN=(-+S37{)XH=($!?WVCBjJTXIpd zLGbu2T$lWN%OeQCnskF7>{xi+D8J69DL2qt;_`E%%0OY3%`|*P6i#-D{}3PFvg`8S zV_`naE?w%bwtCEGJCswe$4kTDk9rhdC=OqqeI73jV;*u$Wu!4`yW5HfUTj61hZ^~-R|A8r#(l}BZhXz&&7a&-HNT2I*=;FC)G(!`Br z%S#{g{K5Bdu%d3iLiA0yUm$wSd(r+0#|Gm!;r!m&+?KbS+hm@Enatk!0uZG7wENYj zf_=zk9=+*Rb|sg2^ybV$cz7thMPqFI57VDiNUA5K#~q&KrxwMzP``Tp?M!?A?vM$$VLGwwCPY zGO}Wwr5-fXvNuxnFF<&tlJ7DUwmgcdqO*eYYj(yVk{I$Ll*}s%XEGx8fRS zGaHk7ifvu$w9MAMNa5K^s!#jk6gPvQLoZQyl0UgqkG=y{a$nf;!kh`;eQL>GA7fkfiAArBz(HZU^8Lv$$fuY^uO$Wvb zL%^KS__;d#n&(}$TXEgIuj*3kK3X5*+W0JN8DY9iKJZ#0FX=s(bI=&#t8y7>7v?9> zN5@DH?hwqru;=Ums?;mTD8j6wk3J&ru|C2-0w0k+vUZ)q1h#gqxvHaR56HhnM|;Uy zjv5bs?YU0dRu(sFTccr~XjJK0eNcB}^6&Klu0F=$M;JN=;bO(7ty!=?lFP4$H|TJ=K0Cr z7oDe-hZ#REp7>dz^BR26M8^X+npW<{!!?12Ck7t!Ws;}0q6w`s-YuON=Hx|XQ@mTX ztc-|P%(KZ^8O+ji`BMEqoqWl?u28ndLvepm#zWTrmmJ_d)##OCzuT;jMZV%bwzyx3 zJ;#p{@1`$(|7$yvOc$iKodpz)K^cO&|H;|8Ey<%r&(`DZp6aWjFuSMv>L|?asgA?! zp6bWLU&%eyPl)4(JD-s+OWW?Lj`8fC>L*2bc2D)SQJCFR{p2Xj?x~K$?4Ig4%GJp>Zd4OttqDWR3kUD-BV2&7w@TlDq)<5(^EFo5B&r(!J2chQz}mr zPTGIpCIRqctY?Ux)q(BDcqV)_xfA4B4wk>`>@BhdxTE@d!R)*3cT~G=;7(NYRzg10 zEcsY_P&;e1A98D0+1wiE0Gpg|()KC;EQ~vwl=`x`==A3(uhu8>JMI&oC%@@9V9(Vb zed69-a5kQb%A@UnVy* z%nNJ#O?^V=e|JUKq8Gw4I@H7Kl)lLyzhn7(gZx&Hz+SIELwV8#ABPPceB`kO?Dx_=w4_<4J9-yyeww&1b+LD%H(-TIxTquf~jpizVw z?-5R*6pcbNmzhk-ku>4kkz&@lui57p9t~GU`4r$(=E!~ zM@5G^|0J&X`BZQ}Ew_QT;IZ66*W~VV`kkhu+*tmgQG^-qCU>7FP4VyrOH*ee@a8i0jGQbPFnC%TY$);sBGC zx!=WQw;8+Mw&7O(T67MF@}(JmHSh%AR!3#~556Wm+kfDGhy4fqj`ttnkM|$oFYZ4e zthoPxu;Ts$!ixJ32)n)ZAJ|=7Ul&dL%J(14yJotU$b>aY*O&Q z<#=dGz8!e6aXVc#;~wg3h1?8Rd#MAiYY&2bM}FGk_vBi7#3v2@pixZk`-SvalPkxq zCO-_g(1E9nmx?Z-P=G$;+A4j|xAGYpSRpJ@UVp={Fv@qG{KTV-H#(TgR&tk?ty+)i?n6q}8^;wVUT?%-TyMNtv~9id2l{Ob zam+8K{%F1NC&IA>IBW{<&(<4%E_l4&_#63~tvBuy%r9WMahE$=v0q`?8e>cHNBP}~ znX|bUC4VB0-r}6p11lEJofb^0`js^|8LheP`N^M!8`dX%0&f1Hn*4<{(*1SXyN*Ac zdmvALm0xR;mQ80n{msI{IwN?0_hIRpB4PjVVKc5DGQaK8Y_eYHVY9Cn{!?l375h=f z3-{DK`M(1EM$N;mNTT&ZUmAXh>sJZwq!s5*7e7cHp6TWPh=#T6C#sBr-4f_p8=?IZ zZg^7xuX2p%&+trNsR20sTa{~V&!t(wcQDC&2Fv9A!_G#oB-@l0HZt=TH5v<6vIgb$ zZUXSkZmuRRN(1@wZ^Qb%knXCPnpZQn<4vm52){hNVhQ0{&m&Uf@I13 z`61tMZ|fQVJ#Kup7qgq+###$6Y|S>&VR)@8Tko-Ah1p@q19ui65B58@*$-BJt=_>~ zNd9HB9}>y|86@0f@KA-vHv1i##6K*=w|-_yWVtKT`f2)^EWMUwaT9#*{%GW{C0P>i z8)4PtePOQK`cm%FEKj$ZXc5bOWprK}=rqD~COyDb@g9Wi`9-3GdpNEr9ueH7!96m# zcMR^Gf_t=F>V)kQvXQbkufxgM5;Zu%z+-h>KfQz1HkL(HZLjN90Mgb644W*2Rg%*q z*dh9z!n7`AFx&qMylnsLxM&vFG2l5~ub_>U?Fsn*^ZwU+tG*iczbdS_|Mg^r75BfM zqOiH{f8~q_`(IC09QzJ*|En`a4)ke|-28gt=7^Xdv;KzPaeuQy{F(d$`ycpKe{)*k zoBoDy>u*k1c--Hd(IozTL;Nz@#W|ul-Qpb4O3^|0-49o+-9NZz%59)6xanr}FLX`+ zK2Z2+I?9dZ4;n?7@$PIgrF}MO%6*Wfsdg6AG97DkL^e0h+$6s<9Xl_1fN1EdMy{a? zQ_Ji%Sx`Ak;d}D{XIr16@Vri4T6wU-_=*c#x`98sP!iZd4yG^fS@Gn`Rz zGw58OQ5&uAs`-Z>vn81Vz;rS7uuA-x{P8=Mzt!?vJpyajAM)3Ms}K1j+~jYqe#i2+ zPX4m^ogscBERzw&n$+tW;o_c)t2ECmqe-~4r@eguPbOPk`knGFPK|fcF2am2ldW#j zRN5OYP03bF%Vg_@(0{Wg_+f@VsobxHxlJ zkLgidzM>2wKL=|)rZ>PN87yTLQ7i+*@^ga5E@q2SKlnF6Uvgr)1UVrbIk`qWG+9g3 z67NuY3&@}j!w>9Ww$yfNrakT1xw8kD`pqKd2M48Rc+MBEvCLj5KkecIxy|x*5&6?c zzQ7}2Cd*m=^D_A`;dz;qTr2Ko`Eef_+)Lz&p1W7E=6+XQnVB4eOIjD}kFxE@)knHp z^gB&g+*rAn!Hjpat2mdlTykq;+(FSIt-4&xQ|%vJ1&!4c`2=!J~mdycQ!WvyxK8$fm|xOwF~8&=YtY>r^$2l>~^rXr6zZtKEyNBS<>|*rZ4)W2gJ^NicWs1O+u6kIdv66n>S+>Qdh`}(xOZ$80*CgbeJJi;0p?Jqq0?lK$W8~# z?-8+f_fYj|?tM13_g%u{YlLNWif&yb8)J9C1>g3T9C(q2s&5u?7Ts#?evf#eEnXq_ zT-Uy|A5p)H_X^k^9`-N_x?zt7N1O#_e(Ws@Q~7S#vz1$&*u$0VTO%8Oo+jxZ8RgaF zw>^Ia33gDED@T%j{%+VSwHr46++3ONQ}nMT#nX-!n6?JBNBV(Bi4U`buGDYqI~WTB zdvxG4)d)>bW6s^q4$;Q1QaW>KeNR~ScvXg1e6Q;X!ZY~^ zU5oVAqU4DR&(;p+C)dcIz18KVk8?jy3V51Z2>YO`$+d)~YXVDLekfY41LU*ic=hmQ z9-hx$fRmSSwkgdfXPyYB&lcS*t5KXY1I_HctcuG=+>g<(OE2c$>7st(ce?Q3x#XQL z;x3ckExyx5_=$ygx}Hp#G|{(|ZL{-E9ya^>#ZyFsuh`$BOL&{>sR6!L6%p1i3f1m) zs|CioWQKiDqk65o9=#yr#&^ZQ*fxK<_&|rCpZIP1=^6SR+q}<|-`X#D*Xa)%^I5q1 z8ev(xH$8v7aM2CVmW%#^j@fC?)$f$9xM)gO@lBsV13qIN2#pu$kI(Sn?GTl73XAk; z1K&!!xNkY;%XG_M)KA$xeb^+=QJTeaw)xlR36{4xmL|^+Jnn6XsqfRhW!}zvv2dEnHtEh~eE1UK@fGD4+2ehlmj*a@ZUy_HAty+1 zG0`*50#@mA}my8h9Dx-Qb%F*>$u)OXIs&_GH01=)SM_%Ydig?^h%5YFE#^(TZ> zCj31$Ey)cEx4L03G<;Q(dDT~eAHHp7M>Xr{fxPShJ8u!WHrudqr!&hh zGCM8aUK8FWbX&qvF^e9``%!;o*0@hX;SWhX;Rg4-a9*Jv@XJ_wW!_ z+`~iI410JE=si8knY(UZCz|$^@8L-=3Yb$lBUhBA$<-S~AANO6^Lic7GRwfusq{UP zQ|OsbscqQet{F`0HlXQY#MPTpU~6lrVx{ZG_-|Bt@bD(N@L;+Mo?c5{=U0+9}Thkk?0-#dg;mfkxAKu>P z!WJa&3NX@qmuQiu%^^H+apG))I9+h~dynF|wGXA+Eq`OW+TR&ym!=c;*(#>!F0}U)lbTU%E0Q#_Al{9 z?eU_&P`oXd3+-YYD`)FFKPLL{_KCm?{E_BI^_NuVB_GGt2d!KgDE%wMPYlcAHQs-a z@$Gdb#b-3LcyS-;=c+!X^hx(K!Tp@v>s&jrGrf)l{pZF_+Uu)LF1o{(8);o@@p})v z8SZb~az^bko@VRSiy{+y+|`#(ImQ7x>YF3hx>`5VMP$ry3T=zLQ0C;te~n|8G@n8+ zz1mO)Dp$L=;p*EdpL)z!*>pMdKW|0eR)}Z#_iZxIKd@r`QU>HL-5Zd17RY1V(0(YQJA3yk&yo$nE*J)_@m3d`D-*#NDIVtv356%SfJl3SMM zj{{x!KI2YVe*~YT|FZy(by~69%octx7_?#z-fpNk$S?tS>Ac+74y z@cM!9L-4cL{!GS+yAK@6_#XpqnVi}fx-niR z|0eT)5*=jiFLIIVZ_U7;oe_sFe8JD(0w1x=BR|bx#d3O3*l*OpYb5hlhBE6)+vR@( z4<`SYlYalOUQlzl?l@W9Dqb@w_wq~FT;-qqrcxf{pRh9d|Eu^Z%FEfdt<&{SEy+KG z6U#q-lmCC}cP#&;QRpo1@_iXI_ zMvNAZciIZ-D-N&k9@mSG*&CM71mD6HBf}pWO~Z3^qHyr3R~2LRVDW8V`TW7$>(z9^ zLeVUfsYM|z_DVLHBXWlaqw}kgKM0S?<{I|Ei0N;uec^sLxIZYkKMnq01ozj${e5uv z2lvmx{d;i#72I2bTM^%+(-Pcy!97$i@_7fj&H4{JA7prbe!|;TM<`xnIaQOLu5Zoy z80a6aKjxm7;Oc9Pm-Qp62gj4m;oMPin3rgbQ%!yy+MU(iorK$nr+4B49x%!x=IPE6 zPeqvRxv;+NXyJl$Oh~7QZ+q!ThqqeNv0F5cX=l)ngqFgO4K(i(+`AcVjnmTj%0GQD z*=Wdv!c70{myW4O$1E4(JwaAHXMgFpR$6s$vVV8@Ufw^sMS2MMv~-nw5H|QPlI>aR z8rLv~eM|F_4@;JEWA>RR0Nmb+Pb!Yh)B1ZAs>!Dnmc2=`Ao;BP+AlTdnFX^G8T)En z>U-nRcT(PZ6(<*lD%R^cxv(!N&3HP(XnqCW{CHktwU*>-@{f&g-3=W7H}Fs9{k3ia zD5E2i!&GmU-?Pv5)%> zC4S=eUW8e@b8SoQ-~`2`J={yKlX1y^Ov`N0D-z$2vLDpei1{t~7RPnT-n?X)Xhh0a z<-eeEyu$Xzf#R8Upc55t_2%VtY31Gu<0~s`3g{odpR}6XU-V*~bEf=zLjXG9LGqhy#_wviMd8RSV_M2g_IvjZuRkj7 z!YRscL%Ar9l`V6k3zN}mhvL~6Z1>x%WR0a8A_Z-0E?i_(|(qwGqp2 z5oR(34ayl=GyT#jI@Ia8a;+S|Igk9R&6w<4{l;m=^@|*&@$}ou?;Sxe*=I;y%di^|4m*9dMtE*7afpnrTCXsZ2fM2X zyt%9ocL|TLC=*szlsEeaSu5Tca3h@-WrM2Cyg{S6HC@WZ^jWWH#5$l)e#-VCaCqD#+LIOW3n%0bC}su#*{-@*g#pKssw73%*Y@e}tq z7i$iMy1Gy;91{siTt#iOXZRtxN$##e~bQDFthdq z-W3W0&*rZN!I7P3?Kh35h;?B4fEhoIreHr&oN`!p53cdLO?2ROyIg23*Y7NE8GqM= zxlv%XH8kS!iJ_5xEeCm<8s3X@Mz{AJvd!jJF^$UJNf=W(j8BY>_iy7K*RfI5PX%RV4?EkwUwQ5y9Mr9<{x0wV{Ql`6JtmhmQrgs3 z!Q!)C=&_*;KfH<1l3b=R<^^n?%FfZ(HfZK+WO_u*>GJWAik@QB&y-hm#}duM?hp<8 z!hAp(Ti(7+A(`$lIit?mPwwPQ?oX{hmn@BhH2nKkS4v{z&+jpv?R_hB!kFlot{m5I zbY-0W-fpR z^fpr3?mR!c0v~&VdxhMU(#fp#P3yPm(`7pE#JG#_hsWWA+PAF{6#IndYtPRk1hdcf z{IpL@x#Lm+Rduax!nv@_2KVdTrFA&x-R0>H6}xW6pC6q236|PQ9o zg{A2z%+hI~tN5nJfsuX|FApQF3>M3<-zOZytRG()bT4${a|Tz7zuQ!CVXXfI(J@&J zc2@F4@_w6$`*Hm>@K`v1KtAY2;`faSv-x=Jd+IMffAA#eG}#Y(t%K#yA0X?TBY3i4 z_8sUsg4(6_+KY~69iE84nq zy&K`1%42aIm9lr0TFW5+Z`rypR@ub1?o09KY~6F*{O-#YUbJ&>$Z%6T_f-nJwRSFN z5wLS#EgJTf+PStRIc3x~)g}98SifRWzpLKAgEyj`nvDbEwsND=_id%RnBUjR7O*kl z>*P0?1@>C~VUxTbS0A=7;ihljsNbZ-ixXYUj(}AYA5p-h!(%-zt~( zM_ShYXxH%ZcKz|ix}7*F?-2|dgquC|F8$8%vOL0L5oY{5-5}oHt+?=blU$c4>5`b1 z**bO(J)2i*N#3S7aozYeiUr9#6uxVFzk82~Iq!GM@8*!wTJ>|@?@@TczHzv7=>y)Y zxO~Mvz|V)DP<>y37v_#q4p93s?ejxA#?^f4k z`|Up{JX@1@zr&h5zvDG|{PCJR{^FWEVZ}9h!isD1gcaB12`gKZuSj2NOn$5O+kZ$j z?JHj|Pc6JTl`ZX|A`8yi6zvB8M@UC){uA2M#z&hc+}ixd1drSN$K|(nor@p%ZG>fY z=-Rx}_^5D6|C7P}lw9M_+UsW&meLnD#vk+>V8Z3IzWlR+?&st-@FP5vDbgf=RwgS1 zBh4=cdWHv$9jeP_Fzm#bSJMYy4&&udi=IEGp6;Y^>sg;yc%f}4Ur<;$)1D$TH}fTh z$7kBVEPs5a9e8}E9e8}E9lG&Zz{|z6LUL!?FIR}hG3lB1uMnp&M~d#?-1=7qv(M~D zcWyo98ttLGA>7e*yYJ2K2Wc{n$m@l(X;JmTWp1Z>m_yEEw6+I@ME$6GlCMWRS>2WC zjc*9g^oIK#^aj6Uy@5a08~BTQgRr9BAgri22rKFh!e-DLz5t{bZI8}O`+L}D!#SOA zil%+#dSmY8I)nW&I5yJHP9Hr8=xiw^z%k8s7$kAwRYxef6JH<`11 zn=bpg@YDP$HbBRJ~ynia}){gURJ>y@ZVPC^I zFJ;U3i7CIWS-&{L-D3G(&#l=sF{SM`-mu4KTnzmu;>+~YKV+A%zqMC&ZTnkqp$v3_ zhIMcEJM@YCj{8LXai564*e4QJ>=Owq_KAcQ`$WR#+9%!``O~XR|x%ch*@t7tLJc;Hh=7eX3*LN!9shltEgvs6k^ZJ#^>; zH8ziRDE@hrt@`o!+zR?Nh3U7+B6<${IfG^MtRD|@dWmS-{;?L(E@P1Vqt`$k>7U%; z`?i+kAmL}cv#(=8GGAf-es6#5k$F|Znw`P&u-VRFEv+mN4ZdRE$ok_#%>^wC@RQZ< zg3TPUCf%?p^IE@niR873y*v<|hi0e6Z0DhSo1BMUe2Dlm8*7n%o4v*wI5tdtu9&$P z{y5JJoWDCL4)utvLF-Wc2`f3wxxTMue?pNKVf-x?Uh#}_k=7A`R%1HZS>rNTe2&=h zracNy<^r!rLAT_LFSs7oc#b!N#WL>qir-Q3ko7wS_h`AKM_*1n|23YAO=$`t*EZzO zVA;7?Xs!q_U*7q6`SQ!dXm2r1vmwjQm9jVD)}AXpT=}(grAzeN&Xq3JZ##s^*!D>I zo1H7YvtY9dy4pVd)-l43&y^l4f9_mqX)7VFx&z{N>iR>Cw>U!z@04$Ru9Q3!&y|vw zR*z>{a`DMi*}2lYD!kdb(z|&WrbzBwX$U{ybEV|JnNIVt*>u{H%H2hSuc*_|OPn2D z7T`_Jj+U0Vw}L{gYD-6%UfS7Q@9D|LfhnyY$;2&tHnQP%$_%~n#l6xyDUVm4(1CVW zHuuZfpXm;8mXmkg2X>E8292<+-PsuAp29^xoFJF}6FTvj_C)y`=tu|OTj6|VFzaV8 z(%KJpU8`(+>o42%t2h=w7ZuNVHnZEww~Y|!Uq2<`d zCAzlVlAJ`G-d+9URJ&`VA*`=|N8N3X(pD&)nc%*{krd+EjGEgIiWDy|BUGea+hMp^`1+khSdCj>CT%X~>TIg_9@b)sM@08^Po-#ydUm z)CkMk0dv3_UMDMsOFK9txc8OY5KnOH3*qrSO4oSA1|jV;Lz;#M4c7ZpSYf^YQB7dB zmdkqv^qtUIAvdL?A;Z}rEqM8ec%j`|JmQ=a@=%QT;1G|z)6O0w|1!D!Zq;w@duvQj z_uYqhRzIW%Uc186a#xt)ZPxqSx>cLv)#ogJH$j)~$k2AwHthw}9_FzLHXTSH`*IW^8nD zXiD2A-Tuus;b=GKkhGrL>xsRzN@3}|TzH>24zss|<1l+Wcy%0CdK8`Bp|G47DEto6 z(}Zh1ppD7`Z>{_@RR`lJ%4IHVlk0@XSF|fwH(#oG#LfVZ_NNp|8f}^n3gYUE|H;&i%3R_@j=r?*DPlToO9_e(HbsnxA zrlI-kzI6dm3JLf#-9)?Z5~bT@{90>|I;=27c1pUcIk|mo!r$qoBx6)fnyn2rExlqk z8uPPHU_MJO^~ZeYrZlfD$>#9e?uoMb+~#rSB^QJ^mc|az=8t+N4Rn5-#zg@i7&sX$ zTfdBHffLVhXZS72!vZbqUznFQ+?E{eYEmokN#3A6)TAu>Q+&VI_fq-Ud%Q)irAJ(g zzoL-dV2E$_z`vz0U76?bD#_M>2kf{4?454zF-s2`MyHtG&T`nHH zk)%UDLHEJetv#RGc$d+IV_$#x%} zW|=fDb2M~+QaGkd*bas1`Mz3xY^&pI7##hkJs+vJTSnx!FW8@PBeg3p4!AvI>+l|% z*?Gu1{xQ;v)@4{5B;4k$E*IS5&_;nx1Ri7C5WSGn6G?-aUY}GP(wvfu+#-w3Xytf| zXc5m~o`=kaj$w-8KH~w{a)o5+=}kf9gYSw)+s-yjHW>%oqJz8TZPjkwhVRThe(9WF z6uEH}V#^Xi%{rcQ<(AFSZV7jh#bZv|*=-qf-rj3f*i7T9&nVAj69-v=NjIctT2^gZ zQ|s-#s3Q(*W5KEBrkPW`-VybSb~-#6R)!7@Q zw{Awa$r>M2J8MaH0c#tWlEJ5QKfS%(wJptx-}SG6P! z;kun;Kxfv6q-to-dx&>|jyEeGq;rL%Gu%HiUYk?`L*X=!vj-mz%t?$tQ-@!6;403~ zGrmSf-MHBu0LsFakxQL4vavLI(HT8|U~*O|MTfOi9zoiLJtvI4kI~rsk%HN0?;XyW zdKi3X__K<=vm?p7=@r^E{zt(_q>HRgr!ax7P0J2DiuOR6NiC&gj|?|!OQW(QshcZB z-^w5VqvhZ016=uEMf$>+-sL-TTSd()Ej5V)T zT*j17kjuAM*Q^idsZn=Hg6p@Bbuh-1nxh`jY?|?BkpTS zo)zd*KeV9?R&G;MAZ91;(C-YtC3#Lni?*D>G8>w7XipieB`Mm=&l4T&<>$)IWUy>4*Tw>GRvd8N zA{Tu05BUCTT*FOi3BmgRhICZUcDFGwbO-T#S?1&A%Q+8Y{xVB1vmx$QayM`oqU3GDkJoYE zE`Pd?J4~&w@w3F`t!yp#ox*RnmisObYgo$- z;kmWkam`g~ZK{2z8@snu$ZxZCTMwIk-S*w0!B_0J(KmONEqzmfvu@j(_}xLbr@oot zj7Yj*ke}#ud%T;#GP?nN^yyO!krO1DWyW!Ei8J|uXycCaA%u>9G&!Gg+1t>Szo75xGi%X z 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:|>fwfuw`V-Uq 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

xo}ysp4{d5d^!v)!4yUGK@< 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 i)rrXGe_dODb%F^ literal 0 HcmV?d00001 diff --git a/unittest/x64/Debug/unittest.tlog/CL.read.1.tlog b/unittest/x64/Debug/unittest.tlog/CL.read.1.tlog new file mode 100644 index 0000000000000000000000000000000000000000..f19d48a1249afaf3141bce4311caa6e3c30bc40e GIT binary patch literal 60280 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 Zos;1RbLDok9AWOg2y-=7+I_S!{{dxBe&PTC literal 0 HcmV?d00001 diff --git a/unittest/x64/Debug/unittest.tlog/CL.write.1.tlog b/unittest/x64/Debug/unittest.tlog/CL.write.1.tlog new file mode 100644 index 0000000000000000000000000000000000000000..39f109e45c9595d2de8fb086be528bc81ec45918 GIT binary patch literal 1996 zcmeH|%?iRW5QOI}_$q=_Ja}uWwDqsSB+^6hNqly78YrPOCyB{L3Jck$`(-<`?fdmW zg&iym6b`sCS~Tcz;mTsqsBnU2Msj^d34sC|_rw(~?`XG2Go!f6utvqqic#`fViA$h zW9!(%xdd4?sdv_2Gh2`;d18^6*(PF6-)_e~kFL|03N}wK&^&l{n#s%M+?d_X70mm0h}oN;hrB&~ E0KuvuQ2+n{ literal 0 HcmV?d00001 diff --git a/unittest/x64/Debug/unittest.tlog/Cl.items.tlog b/unittest/x64/Debug/unittest.tlog/Cl.items.tlog new file mode 100644 index 0000000..ff0e982 --- /dev/null +++ b/unittest/x64/Debug/unittest.tlog/Cl.items.tlog @@ -0,0 +1,3 @@ +C:\Users\Home\Desktop\lab34\unittest\histogram.cpp;C:\Users\Home\Desktop\lab34\unittest\x64\Debug\histogram.obj +C:\Users\Home\Desktop\lab34\unittest\unittest.cpp;C:\Users\Home\Desktop\lab34\unittest\x64\Debug\unittest.obj +C:\Users\Home\Desktop\lab34\unittest\text.cpp;C:\Users\Home\Desktop\lab34\unittest\x64\Debug\text.obj diff --git a/unittest/x64/Debug/unittest.tlog/link.command.1.tlog b/unittest/x64/Debug/unittest.tlog/link.command.1.tlog new file mode 100644 index 0000000000000000000000000000000000000000..d609b841b339f221ae0bc49c5ab7be628e512bd4 GIT binary patch literal 1914 zcmc(gPixyi5XIlQ(C=V!DHPI@rt~1_L9!KFwIYki${!GgHgTZTNugSu5Jn_1hj z$WYlQDx6)WsEG6Syu@dd;t*T)!K=T=5CL4}HmWKxU>R(_PnQ zU9;0|M{~{ei+8T~dZACcA;W7d-}DvhcWgcV)EE5Ed1lPtxaTFlbN**|gt%8&uJOEd zuOFb#bfwRHFPy`zR*g~Vm3xX^A0h|N6&+2e(wSGv_I^ZNCcXoM4vgy*l_cKzNPCN1 z&hW7_JHtQW&+Z8GEjT5DLc=aMTZUf=hVA{Q$awu^FeUW;?y>zDEzY#wooCzqH+ R|92XO8|^;-?oDKV{{WW%4^#jE literal 0 HcmV?d00001 diff --git a/unittest/x64/Debug/unittest.tlog/link.read.1.tlog b/unittest/x64/Debug/unittest.tlog/link.read.1.tlog new file mode 100644 index 0000000000000000000000000000000000000000..eff3f24d031c8dfc1088ae5be53079096e033d00 GIT binary patch literal 4238 zcmds)-ENye5QXPDQs05g_9CbbRTSk82zE%YK?c&qLVc1xd)x0U-ug#GRi!xDM3z~0 z+1Z($IXiRq_pcw8+qDhWTWf`_c@B1KwJqrlcEhu^d+Qi!=vS6nW{G`s5-ThD(z!Vu zBae3JzDO!##RX%x%xRtcg4I*jjae(RJNtQJ&9dte&99}ew?lt;y`SuCyVC{_)Ocm| zLu7M&Q#tQN_8D8R@ZT4F_MPz+zOQ*}EyDluvm!IIuRJUI*|rxm659p8Oa3$7HKWJR zyLjBAW6g>Mk_ofo?Fw&inMYk%RxR*-8JMR=OthTBnqL)A40G&R;;{;3hZV;Zs~*TX zO>og{$%{ITp`Aw|s|YNLqfIF}tqaVu9-B%q7EV5`u_mM1gmn(RRXHbd+Oh|1Zm4r& z461!%45>RG1v~PU?EI)Qj{L+k4PO<V;aCwMODfihDzJecEqR#Sp(RrL5BJ(hd19BYn?N*M^>zHMcdj= z$MfuMp#GI0SnN)#&5@6&JYv4RvmxTG<6XR>#)b=6nmF5ll&a^FZzFqrVoc~9m_Jr} zVP}c_I68x2$DE=o_e@}X$pI(y9NbID>TVL7?{hyNV>ha4H$+_bA>FY4r-FotHeqw^ zFsyT>Jxyi9=Mnev_aE7_e<$soh41ksWO!70OSf`m5r4vco0Azjc01xociv(zYaM6C l)}Gud1yNEhR-W1Xl@^Py_M}gh$%PkXvIOKeU?p=p{{WGKLk9o= literal 0 HcmV?d00001 diff --git a/unittest/x64/Debug/unittest.tlog/link.write.1.tlog b/unittest/x64/Debug/unittest.tlog/link.write.1.tlog new file mode 100644 index 0000000000000000000000000000000000000000..7090320681d89b0d23a012327160ae1e8be52d4d GIT binary patch literal 726 zcmc(dK@Ng25JlhG#H+B;xL`+>00K&ENmw+V#Ivivlei$Rfz2fIXXd|l+RyvRnViUo zr{tj+skzfDi(C{vEkVklyraNz;Aj&!8dZYz1Su0ItE4F>$4XkQ9&huN+za_;@^V~x oElf`5nnYfUH!|PHkGp5L@J;{8jb5r{3v$|dxe0mDZ*@lg0x6ViMgRZ+ literal 0 HcmV?d00001 diff --git a/unittest/x64/Debug/unittest.tlog/unittest.lastbuildstate b/unittest/x64/Debug/unittest.tlog/unittest.lastbuildstate new file mode 100644 index 0000000..e53b1fd --- /dev/null +++ b/unittest/x64/Debug/unittest.tlog/unittest.lastbuildstate @@ -0,0 +1,2 @@ +PlatformToolSet=v143:VCToolArchitecture=Native64Bit:VCToolsVersion=14.38.33130:TargetPlatformVersion=10.0.22621.0:VcpkgTriplet=x64-windows: +Debug|x64|C:\Users\Home\Desktop\lab34\unittest\| diff --git a/unittest/x64/Debug/unittest.vcxproj.FileListAbsolute.txt b/unittest/x64/Debug/unittest.vcxproj.FileListAbsolute.txt new file mode 100644 index 0000000..7520e85 --- /dev/null +++ b/unittest/x64/Debug/unittest.vcxproj.FileListAbsolute.txt @@ -0,0 +1 @@ +C:\Users\Home\Desktop\lab34\unittest\x64\Debug\unittest.exe diff --git a/unittest/x64/Debug/vc143.idb b/unittest/x64/Debug/vc143.idb new file mode 100644 index 0000000000000000000000000000000000000000..d223998a086a3b7893c57b603ef529359b5370cb GIT binary patch literal 289792 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 literal 0 HcmV?d00001 diff --git a/unittest/x64/Debug/vc143.pdb b/unittest/x64/Debug/vc143.pdb new file mode 100644 index 0000000000000000000000000000000000000000..a96c4e50fcf999230984e39fc379835f08840bad GIT binary patch literal 462848 zcmeFa2bdMb@;=;qc8MY`LCk`Jih>BJs3=G_AQ%u3MUTtw*=1$fT{e(Zj3^>1Am$vd z`6?>rboH8Z!mOBc0(0bh-|niJo;hQV2uUVSYV9> z)>vST1=d(#jRn?NV2uUVSYV9>)>vST1^%D2z${a^-tsla8Vjtkz#0pzvA`M&tg*lv z3#_rg8Vjtkz#0pzvA`M&tg*oVpauMGig!Q#AFSY-Dy^}=8Vjtkz#0pzvA`M&tg*lv z3#_rg8Vjtkz#0pzvA`M&EI$M>{Vh%7cIUS?W_!f?zgFPjy9GYKk%R9Q_-uin68K8M zN0>(KxQ{Tf_t^bvs>*7LCUzK7UXiICJ1ls)U{rZ+eNjb+5q0$?>!ytzHE`^KRaF(BAA!prJ9OKA=Wg3?-(&mkW6LXxE9y%!W2e^E)s$D3nPp3< zYm+v{^nM*nh*ek|z7uc^?VBe3$nP+;ZXX>1 zD}9N;O8=$6YlHspw^eOjNoHzsrn=6yYaUu=80rSm7T!SMP6Brqcn5*^5O|QlhY5V3 z!1V%`2s}sNI)Sec_(Xy47I*>R%D>-Fii;{L(p8nknQr5a^_Ax!e>Cck#Mb{+fe!|J za1MPsbe_6%udT<9F0U-9no`?gXn9@j*dE=-?j_FHqkFgR-Fo)y)w4&p?qlnVYwE@p zSJh;Yrl-`EPo(7UoS(iASqDS*hLAPx6sz~?n~@IZmf1YareVvHYu zzmL{VtF6mSOlN9ps%o5%o&))1(ElQ7$MXf=Ti`1NK1tvQ1-@3`Hw12svHZW#?$DgA z?tFX+WKV?d7*eetyeGQQ2k94|3jC1FGv5Mk5BlNF9R7R3KPLF!1%6uKcI!LaEEaed zfj<-YV1d_3IerxaZz}L~fx8HNioksVPtMUN|8w)!t8O7_@v-L&dVd1Yypj!V}- zkLj?(USg*Q1m0TUHwB(A@OJ`ho444&m468MzrW2VW+qnEOw<0h1!Nx!-A5HToA(vC zMBpI;@6giWhY5TG;J;tjsij55nL5=q4cRlHE8NQZ;{?F10FOia{}*(rs48ZwyMBHm zWY2=^@uJHjfnOE)DS@YpZ@(w-QGloa?Y^2$Ppq9>oSrHwTaT^nHom&r+U*nQavF4R zE4qFqFcOPjCU6J92jtLomFHEcQdGeS)r~bjLdHDkusLMZm%@Nfd>ez z{b!KCFqyUO5P^FMyr;ms3%s|$`wF~|!0HRb1wLHx`wLtl@XQ!~uE1xCubeIL#en~Q z+fB|C*I_jz>*hZo`%c(ycdXZXhy8qHZKkGn?4DH^eE<+r844b5hKtHrG6r%Vh29HM@4vr& z(JnQaqKP8=ZpeNdvY$kq|9;t35!v5E_LGqP4{5I^?VT>m1?~fwcDYIX;UvL7A^7_M zv;36;KQH({0ssAV;pALduXapzFy;m5QV-{*FSm-py#%fme38I)0#A#T{pJfZ)_IDO8K(cciG ze^%hnWK4ZE2EQAFKa0Uzb#(Q8YaJ(VPz*jq;FraoCkp)O+KzrUVA|)ql!LF2;U5zC z8!7*Rz{)Sble;I?F`!Kh?ihoI0%rR@EcPr0O!;p}`&0ntoW$>|ust6J%=@dg1pkb{ ze~Lc80A{}*E%t7_MHKD(T-`kcHd~`JC z$xVf(8OoGa7grS3)|Qt}Gglu! z0vnnrx5tz@?LXV2a`yn&61bw`s@e*3(8k?fx}vV-8=*Xlt1YjrFjsx_!qaQ*+F@3R zYs+$VMU_1(%$r~Bv%F;S`}t9xz*U&Hwz*`~&;6I~9F`+bh#OyFTJ695-J&;|znz7v zFzvp%Y{9ABzTE(JRlBepYEWU8?0(xTj3Uk@9&s6NUORJp&TpQr5JuA%T z_5Ekf3H78d)m2j}%rQqc8u9tb*KHT$i6(+Q?_TfOL4Ak3@?%(zy4dDBW6966 zFWBw1-tlsiYU(P?Cif5D?UdzPzZ)%w<^#_wp854(>rI~BJPTK077RFQzsqU{wgu02 z;=41^KhO;3t!YPW*z=vS<9bT|2dYyC5aoRUWQpV)cDZ;tJOj>)ZOEcGP`7LNLPXUkkP)u8G2@FnKkKlj=&=))?@X;fjBuRnXyl^Z;>eq4^jQ_Rg5{`=@} zHky5TsLK&n-`dJh;fFqb;K-9N+v)0%W_*l>oaWWlPC0#S(~VS?@KH9!Ao;xcn7&>2 zI`P7wPBEGaGp1_c4QuVW?#rHSDs3B0u2n`A=HkM#pK1AJ=(w_?%q2(7u1{dExfyiaWLlXewO2i$h&H{qwjny*3-TRVXV? zLq@yYwC{w94-P2Nv3QE(Gez5J@-N5so^tLd5322=c&giG?}H0(f90j~Lpet|9+d%; z{jb~Q>K{w%e(`J{y45KM?DH?xC5k7DWm^w8 z`~0^~Y8~nlrD2WNN^eticl!@M2-`?#w8{_fIIqh?=U()4VA}|uVg_Yu$~zaFc&1mM zQ>D&>9O)=pcA1njZf0dz0pLdNj00l!o?bxp@8;o9%e(w2{#v$t@PSSG^gS!E-MSqxZfniWeskA5ul4Xv7KFCDz{$}zzVX4g zU+mcG=br*SB6!yL=RO-eG2**l`g!el5qM0ll@ZF^y}`z}f7i6#;LvWae|cSSahr!{ zU)QhTQm-yC8cMot!IKjgzx`3uK$jQ|?e_9vKYac8+e_yL^;H_J&=vz;e>HW|A@8X# zMDY}J<34A%-?-&d1H*Y~G3qk~TkOT-YfRf-*Qk=jGuPQtrkaH9ZsCH!CkLizTLmyd3T}ZOWb&zq1-aXiuH(NCyl?yr%XcR7=Md-kF24P%6YpAg;WGj5^swBqSMM>U+bzGH z72sxv6#ImY%6+T;e0SD!v+{g2vC%M?}}9^h|`;_n~Vc;Y1sCSM!i z7e?{Bp40o}lOG-R&p?m!fKR83>g%f9eG9e%dz$Oc?U#D_g>kRKXS5Hz4!Ytjb?5E3 zS820@?`{*)EdgCkrfz&q)fBH<`}FSg*tQG4gAZ|y$9m;)96QjGjVmfi7uD1hO-tjx zDqWGOEUO!De*0m;pvC7rbToaA^oQV-cKT__?C;9I{N=;IHztR;501HN{^h%#Tx@YH zmkx0^51BD+)`^GQYjKYt{{`ZlU+h);z|Q+0zvw3GQ^dW3GxVv)j%jh)k~0ta*!k4E zzfIBM+Vmr<4|y)b8S3*&$(Z*(TwJ)`vZa6jUQ9*#L8S(MuFYZjbi9+|W(ESOT-~A8J5uQO6uK6mSzG9~dVJ8QcYm?Lqog}p=<0>8C1}N4*( z@;_bZ775+PpxH#|=0CFOsKyI#xSVuzLAO1|y#1gD=h=aP2jNWjui(vbUB*ls_}rU= zZ@>MfWlMSQ%(3fs+*7CfmmE=FTbG_#REYqz8quAkq{ zv1fnC9fecIo*SQiWz?Bx6wg??4R9lnKLKZY-MfL*Q=&ZOBZ3)Q(ouxzpx6kCCx4OY`E~eJ9`P z>fG1I%-DI#KlWdA@KQJL5q}Q(_QwWUS!KGuQuzEb=AI`X{b2J#@ZlU9rxU8e0)rT_|fl`G{Q*YNBe< zFy}t9=_QBm_s3beXdO>dF5Le5n;w0sq8aLt%iccYGu!-j`R)(y_Y&=v&^9J>&Tm(2 zabwBcm1_^>Y=%AdTa%+xRo7#lb$lCaNAuwWzn1ptJ$s64zx!c_f6*2PWGXUz65A>L z-Z6z|wyd`8;?3I!VUosfjtwb&yry)$2b%3S6g2d~uMw;H6Hf8L(fjY;ZQzl|K5qSk zxaBy*dF( zCB8LIDO>tMmvt_Ex$zmc>?X+X7Af0w$>XEW|DtRUSC;s#!?L^YGG_j{C)6Bg%kF^u z!I84VE;;|&@s$^x=gJb_FD!fDk5w~{d}idCw(L;kkByXlVacY`E}ZpPFISfM(P7zp zPWfSVBFwq38&(F=zb|7K;fTrJMfPVYVa z_37KDPJ6=1B)*bmosAz^_TrvDUG>Igw(K&Y|N3XY_d7bUQz>zdZ=aibc0F%k z*;;|jn?l^r!_Mkcw$>?k2IYp!Wh2IpTMODj?WZNNV~wUbX84B zrp9!<2tP`g>^NyO*XaD$O zTj{Ih(*|cTdV7u8^wim<{hxiZ(Akx^)&cI%A-n!Id&0FZx^ZF(^5^3W#`!*`(V;ct z`tAAB<+jb@_}$F!i;h09W1H!3Io@ZX>}5EmT?SmXch_Ytww-BhPu!&;ZtOENckX%g z>>VwRe2)xqXYJVNm^O!e-Yk%LE^wir?C{X7m#+87*>z4P%O20N&QE6kG4#rly6*eB zc6^6ljpwb|qS-Tn-4cLO)MsG>e&s%|~kt1x>`VN8I45RmYm3S%`z*?+M`3BfK!%bY>D3ALfa@H*Y_3tACVoexp54##xdnEvm1; zEiA)v)5TSlCFR`LH|e>heH(Aw)UI_%I~OOoltX9S@tQ8J&TDf}lNSdEZ8s;1zp!TE z(q-=!USs!?Xsf}9-<()9ArlBH$sjgp&kg5)cVaE~ib!(`_Ilzp&z(JN%$fJEdoXSD zCuHP-PkI;_Vfr#RJa*?5yS@GP=h9xpw*X#jKBVh5SKax~@t;_m6W2V%ExC5%5rxRPWn73*D1tZ`offL z_v$=uK~Sz~h`V?3Q^flv zcI9B%)8^PfI(c&-V7GSP6U_}nJ0a{d)$TFq@&fg7_BwRoT_Ya9?!LRNy@-20#BH_i zpyO_xu>26)*NA%^XIRg9&po}v*k}80;M$1zms!^NaM`0BruX{hwnHr6CCLAjIPsZL zU2d+tz48dlm$;=kL%!|%-Idv;QICF(FY#ZptmC`vwol$Ko!o89fbR#yIlklDp1A0n zrsp-axSx@qkDy7x?K9+}_J6iG!>yNyYebymx$^^eZ`k9y9hX~uh-(g9sLxrG4oVH! z;QQh3xdCk)+tVv9s;x68ZgXaJkJ~#S6xP}Jxlph7wmNZ(@|!+)^K2{d-Z0c_^BJ2T zyQJgReXY*KZGzM8x3z8d>Lx#reDDbP0R4=(jyOZTuDW*X&IfL|%ZJWR#BYjI>a_9j z8=gD8>z&;Kz8etd>@=(EXK#Gp;XJp;+XeaCh2=&+{Oa*PFQ4ezTyg0^nc^umnNrhX zew&v&ZL{IN(24h*#P5nTy+@{wQ$hy!&8EX0FTS8 zx;VXu19t#U(fitIuYYrTX=W!|XW|Zxl)dYjVVlgj<@yfcGn`_JFRCprFHhH1Ra8xZ z3fJG>^1{j%&rQ&0D^Z$yJld!+oijgmeDaZT?ezKmB*%wuXO*EgxZlMDo-RT72Q~&W zrR7u2c5j|{Vc}-?-4)8NVwvLcnCi<*ipNjDGn*wx-}S`R%MV@K)vX@*BY8Tz&);a+ z+n>JvqMIv-JDND>gBw25rDUV;KHS*Wo48|e25T4d;iyqR9PnPv9LIMyaF?*G&%^f)Bs%EbU1AmBgd1?RYw)viXC%efeCChrdej#e9jy+*CZX??vZqGb7abYQ;~k zGjm$D>T&iBo4!cjChzM7SAnG!-nUtD&gR|zoQQT-yvi;us=y8VH76au^)(MXu}e0- zt_I83N3S{air=2x$34eOwOa?9xIJ*HJ#Adm>r20Wf0wI2K16((G;QNF&DWZK;11g_ z=;_g{@6$M+H+{NYuw&)->n`SA#D>6k@@eWTxd)Uf>5xt%9;DX}=Ge36&de+vJJZ>v zH)tzxrt#JwyV&Qq@AAOh#b+PLafCQL;4|!h#FcE4KdR*xd;C*zlYkQ+IAYG?(G#k! zJlnRj@|1S&ar%}w^!xDr^DJ%`lsSs!oDa19vhusfn$K8nal0b_gb?@XaX*gSp#6>e zTigc7--kHobDuwY&!Vq7G%gEpdxyB=PHVow>=|=6vu($62jEN(L=X%br?}2^ePhr* z9e3|HKPWqbWt~2+^;&*h>(_ogDkuv>1nt(xblCHmmT#W;{D#hUoGs0t!N+OM&nEm*z!6~*{IPIF7cH8I2FHqL4 z-B=hG)lU8W=kdF?eg zane2P=&)6+PpO*B{_VJXp6a}vvyVrE+x)5$zHvR^>9OhgT~B(SwtpJsaiKcyddq`7 zE^pKRIIAOZ9~0+veB|rrdt7qlVz)*n?h~Bo3*~iY)5q_7zUgO&UgX-7xR-E3e>};! zWdH74Jooy$dxf}H9j>ar&QyQ&Ol4i;eYUo3#d5DZ9D3sT^3pn!H*xyh!@E>p65!u- zczGgMcw~9|bABCsgxkwy`A;1_YPZw+RKN1&b*JTt-AMPDqx0-`@;1AEy65MMZA^%> zi_ipi+vv%&c0T{g3%8@+k;msa!@2VL4p)?Ix8=rrx_bTrTywm;B5i+b!R80uyv2yI z)~>|0B+l7&_j#{e{7Qbo&;Yj%aL%rGoYdyF-(J7#=a6R#IA_-_KHu%#F+c6}MTl$U za8-5O5W?FLCu48Fxk(jP18Px_hv#E?tsCL`6y%S?c^u9?aaP+{?xuyVTq83Zd6LKV)!Gg&h_L{w_N(251e0D(nV$G zn+uW0wxT`QRxJ(MgT~}xad{S(XO=A`-KEGQo$}2GE!&U!vMgb&s?FuX*V5x(AAR~O zfs51s19?hAyw8&`d0vfF?KlwE%7dvfDRV9Is3YGgXyM5uO#16>`KA_6em7XywF~i+ zz=d_-HTm5b!!zHgWkXs3;l(oW6cn|Rb}?gdOb+6#9u=02a!YjfhMkJ3B7`Q~4s?`az0 zsl~B$b??CZT7-2?`Sv|cx83`X48eZ=#IGI_U9^44^WUP6;*!i{KEr3;X2>fr$Sbd`^79%q4}r*hUy^jVr87;LS6NYB zIl%;Z&6!tUZr{&Px)#hU3-c(qka^e{pDg_FXbJDXBCoc5y2{{t@9Q(Kh_87&8O-az zyou4g&de)zd9(>$OHA=SC_TCZAGZnHCYvs7jHI^F_MmUZ+v6$ZbxUlI^ssRhkF9vy z+zO#(;A@4?pq!2;&*GXs*jw6Yb6bJ*=;HC%hL5ySdH@2=jJ8>0?8;ICX{bX!>i;}= z>CqIcr-pQ(9M$1P(Lu)__92c1^l|nF!W=JNMoRrV0MfFruq=EG?-nNbJtF6N_a0wV zJASuPJjtl*Yt6BHC+74U)(=?m)x5&jz(;w$E<7o#Um(l%(KmtH&@{7S49mQMlO^A> zsWAg!$3keraz!;|^%EIWW$(3?EoDCIRFkRYHnq)d1@rQJ-?HjgTNmc#0icG|K!^L=*lky5b1Ru5C zN92k2V19oqjq{eX-6z1Q?O5hxoGkgNO+(wU+{)VSGn7rT-RHv7NeFG%a9vV`)X}%y zmwlRqVdc3P3%Lsn34%c-)yqN2L4CLQf~ojM&TmB-k@`u_+WwEjQgTKvb(iTQb< z¥Ct8bq9#ipUpkZxst=2w*UZNa+G7QYG4xGh$`E~&zc!Nd2TKLGpw^C#fFbK5RG zva-GwaWK_I`0|$BtFr@mJlD5hs*sZ-ZRYrz)R^pgtTJEvAI5Y9P@!#b+C%s@r2ini z9$bXy%7|QWbx0$r3*|GPXJecou9__f)+=S@vybce#kDot(%J?2Ye7y+lfUlKunWgloZKI<_d;AV zao*C@&0(&*TTeAMEv5VbDSr^klb^zPr7{990NmRY+f-czj0JXcSP*S1&>`Mxi&4_N(zeA?nPsXVg*QyjWh;e8J4m`$598wsu2l(gA& zd1e!#%f^8*%JA6SG`9DVj7w*mFm|0ONIPD?&B#(({EbvOg_+z_Y?Yu7mVb>#87xTl4|QUT56` z(*bGF)aV237n>tb`$Zp{*TyhDpT~@l7_@E77RZO6x#t;ny_aXUw0Y@4*jP8fvF&R0`~UA$}Rtohr@^_H*|*Q;zVXf>LzAQ0{j2G=# zQt;&MP)?6R)Z#C-8yNWQrhZHxq8?7iyh7@${cL;DSNqQnfLVudtVx+20jn>QN4CF) zeJdLm`g!2X;K6Ik5}oXP8$$yT4&-0;^eqAm?;jfF_^FR-UHWNz4ChkPAb2bl+VV2 zsr4zA!x)6QX$WYU?#&eFp-DWcjFhA8sT1`e|KYd}bVr`*o`h4qT8r#`DHF2yQ<-QB zpO=muXQMxuw)xgSv8r6U4*J4AC=)Te9WR>X4MYBnC<62;vp@2qV@tlJU77KL@AB}7 zj}P>bW*8qv2;LhXq8f0Fh~$Jm;`=2&O=jmc+JHXWz??~L2tTeW=7?;0TPWnqcH;A7 z^*vtuzBdN2`Ui0b;iT^!%oGQGkNN6*V{z^K-l2e#${!}>lW;nwWaA)E{L9Xb@Cm-F zLf_!KCrIo&QS{HEB)Q1f@>*~8&l1oF^#doZA9aZ1RCo2yjOb9RGU1;-FZIvUv;4Eb zj6<2QkvP9K$ty;l^-b4u)-TJD7xzojt&CstT`(STzog$ZhhLTpKIWGV`i<|8__PJ~ z_}zNiueY|N+M2#Pyy5XO>)oWlZDTJji3i($Pzn9je|hcuZ#7`mjkqeD^xsKLanOI6 zul`$$Yu|tC04J5Nm-5*-FpZ6!HK3)B^4%%==9DC!RK^=SsgwHVbX*6zLsQkAvg0__ zOMUZ5%7pBrR3?1W=cT@RmG~yxPsh%wxVF9-vpx63=%>?wcYYct;MkioM*|=CS(aHD zpPd0Z9&w+g|8OilM(}Z;jcc+Z|MC48Hy)us!OrwsyEel$*D5E7Otw=4^L{Yrr?EF+ z$K6OybnKl8p3Zmk3VE%5crvbiKb!?veT{S{;iMm*!W2gmPWKS9aVX&XC_uhrN#8tG z(m6=8$^ozCXdCLGK6(bO1HDiSUv?a)I$IwF%ef+R9#ZmU-Dwlb?+!fqo{7^Qf!@um zeB$iE!C!FxnvKtP$cJZpC^YxEtiHBJLA z($sdXk#9~%et2JEy~6g7`N)s;kA(MG+1J)GXMr~19af7w$KtB0r+LfGwXsv+o|W1A zoE~nk+vV}z0QWvUT|dsxJCEh#@1@#4o}YKV#YOLT==*D%($odO>A~j@{{7C%_&)V( z0XwQM@j9sud|#rE`fZ@T~`5i)+yoW}K1B>eL z@CEnS2O>hNKga7pnQWBZFQ8s`fv@Uyx5%hOzvKOGJ(a;%lJJt$xO#ppz~1NQo7+HF zV5%pUR*tNkf)Au?{++gb^^mHXDMd9U__lvFZk(meJ;1d!)!CY$FVn7gW}mtjGu? z(s6x5x*@sOVU>v2#};iclG!ONp6Rc@9wATJbIUXP**Wwvk;AqlUfb>oTz3Vezz(wbeHugPx z>Nq2-klQP!3luc>bJc$63r3gQpf-n!LrJ$u&>BU~x8N6`zO7 zy@&P+=y=4}b@WH>p}i`2`j70PWz~dhx_GAgBgZ7R3CwNVlWlo1VEVlJhF;q?mi)^D z8aKX?2YKnZ`VQc|bN3l8lP4F|lo#P?Xi;%7UP7|HCOcd8WWRV9JhflENBQVO)RFmf ztX@u+4*+Yv?~|na2q*i?hfHyhj=bpq+Q&Wttp4bi`Bche$ z&xI%V{K)ftoc0LHx%h&#BTMx|7J}>Q8 zH=%>}_eRL^s(SDepNBWhy&shdK9`XJ_U*o;` zcYmZQnDuypa)kM?w(43lbcwEN==cm|NUv5hp$~34$6Y$Xj{;tQ}uf z;{pe=jX5MzH@XVHQ4$R<>oE4Y2EQ#G^DvBnKD=A9%a3f3z_S?P3?z;!%{dVufwelCCi!TtLm1o+^7hwm~jQ&d#4{SMe`;QhfEeAr9x4-Uq)zxF5Y5S-lM zSdWc@gY9GKP>Sse`x(-?BczMt){pUEnK|I0_Ya2yCU54)br?tfxc?|(io@saaLAOl z*ZcKi&{DS&q{>(Qi2A#0ckfdMm^@37QoiL0-NxgZ$MIO#^Zs=#U|oYV#*}-ehapd! zt-Nw_)r1T}I!ZFdSb|!7IsxxK`NY5G>uc}7Gad~*!QLyEd$JgRvJB%~W3y%c5y;m= z;<9|#P;a6QC!x&agI`8coRgo{?L5SwT_w?Nx{?B)f!fOll~XZE6O zV=*_YC)>>bWH%lZ>&0@*5b4B&qJ4N!qzhx6$Ua!;=BC4VWL-VJi8f4^Lr=!{_aA$c**jX`p2TPDiSIwGUH& zzYiY`m^_a{O8J&2>Nf+|JhTtj5HH{T*FIc_yoUO4eF8q-hmZ7Vv=1NS$zmU-PqGgm zi+nwj`tbkjKI!*cwna56%eMIdbMf;y-?i(2d~>|mLED!7_Vd57-@1?euH4+~XyX&_ zs`uFbgZq!_xqZL=2M-vO9vbPquJ6u-4Yco`gloUw5O=b*Q6n?d>${fD>${|LM@Xmr zOL6O)5J!76-|xF~0Be3+httU)efKnxBd?*pdujqc-goDDG}?F1@?^2^(l6O}&qlr;|Ea$Ff6XuT zeLc>*Y!9xh>3-RLxWJq%_6U3j?e^nJ_Tkl9OP5#T@6YO1t}{E@cxV1gt7z%Z>7m_Y z%W0X5FMvI?KVOJzzb_GYk+oN2Q{(k#OXu}x(zzp~(>|xT^$~sU^I*Q;pDzc@Her5T zhbze+{rL)}IDFm?hs;=i{s(B;pRYoye6>GQf4@Ip3z$5wK}z|SC+c?{u6byGz8G-4 zKVOQxhWhhm3HW$_zS^VF{(QYBi~X5C%Km%<^7TmS&;M&as_(J0Z?kRahCGwk){V@K zVjpeu7HG%6b8Wr)-TE)j(dg6B3XApKrmn-=k0LFjP>VxK+FDoFH+^J{h9jv{rLgF zygx-|H|6> z|B_Go{g-W_{kIyGW*bG<*p1A?Vh?TOzq|kb|G1V(4~=$TdvE+0>aYFxaa{X-hqx!K zeHxity#8zHy#7l%cZ77>#}vo)wa3a)u*|9uj0y#GFpyoUPkGYR;3|9#1$(f<3Y zC(G}@uOVNL|5X3|zvPqt+L~=aw@dE31?CO0g|;vI?tf)%z4``QowYUYmD8hRH_Ns! zzYTk6Uw#MIem^2^iM3ZF^ODz>EuGhwN#~A`PWzkU*q41C%=i29hk)58%#Z8vG5Mn} zf5a4r&)eaU8SBfRfR=svQ>4mQ`!e1N;|ITMT zeHKJ zUBORzs6Y7S)E_urGG>py;@(M0nYAIK*1Cp!7Pk&yZRZa5|G!-OxAOAY{)}g3JrK{j z?*#FO)}Wao%;+C&0LT5~B=|>DQ<-WDoF4M7!z%fQh@oe=%T@G=Y#WAc81#48oY!A; zaBae|X??4Ao*ByT_5s%oK`9)YlwV)iwjBdikQW~d!f^-R|G^lMF$JWNK`T@5p47bY;6X>Iz-7 zFK>%$?N@wXgt%@vNx}C~c=Uze^SuV*;gLhiYw&SrjDecRm~6bwV8^-bP&Pdfp$gUb z^l%#gmk8fxJ-l<6UJyDxB zZ0CmBYcKh~EZ?P~d47AP3WuOhzE2U}!`3tGhn$D$Q`)Y3v5fOCTVC^rGGF|2Z(Nht zJ~-_W_-CGd?~G-JNE_}68hq;-|EcBr@-V{q9x%R%Yx{dkwCQl>;q|2&{5#l`@%SsK z`pU_Os4gwX|B=xi?C1NcEC|&0iPqiOHJTUNqanM7?d-e)6WBNtNeaKH|mW}U%}{bP}b zv47aKQqBnF{L;Pj(NyYCOV2XlSRYz+#ch{mFX*YZr2TEXB9GV9&9w#IJM*q>8_7Kf z?bp@PyRoko`sO`@AD zblEr*5TCN&%K=yqTKeh~Nv9&sDhIrlqd(hvKzm&e9Emb!v5D3bKMqUChKug~{9jVIJwwjB)fG@Pj$(O=n<0QxZEcxJZCh~bu7VD#HA<|RU zS%O!7NjxHYz-N3N)n}&5ID7{9rDOA~w*5Td{I;i0%}3shtO9PIU;%k~Yp}BkufiIP z_hj+$nt8!oU74BcrfN5~o@3?3{*x8{%yHMp$tY{{Lmk6`ob+D4kUKuCuihKP{$thh zi{V{a{;#UlBR}t4mXGxdt`Q5-FU|u_551?1H-#PQW10Rsi1um$zX|+Bt`G3?$H}$- zegOW?BJ#b+UVzDiwsw68?suS<=uEDAOfV5ZRG%0*9f+>!MblN9V zG&v*x6qs2g$Z?Ca*on-a_CnT1kb=fLX# za~%4oq&Fj_-N~E$SpQpb9n>Fr%7b*hfMfgky5EMpEW4piZ%00lY#cIW96MO%oLfMf zPHI@^|7H>J@iF8MmKng0NVsw1PQv=%y(q`_Ld;U?F68T>_hLz+YMQlEnNcyT2Hp~{jizN8T1#z52zi3 zImpq?fj{V)=Rwe@?m-#Ml@Cc-`Z4p>j~~Xh@5hhiDF3LG&*lx~L?8M%2aJD%mg!@X zK8|!a{LGsd_N&8v8t0*Z0q6S+*EUZuuK_!8OlBK2!r<^EX!X!_c0)z2k2OG$)drqz z8CM$ar{3|GlgR9-YMB$RcUq4*E`~&n4G0lN@hk&~Egt=b<;p zkOscj73}iaXFMu9$nB?Zi!a50g5{bg0_t>~d*#fo7=v8L+0_d#mIV1i-7i)N6z(T) zhp`?tx$TTUDd4Mb`1VA_Zf=n}f>Tt+etf^y7Yh*{aX)C0_DQvt>Jts@39*f|nzp^{ z026)bEwCBepc+o=`dzA!@AmQfsukCX8yxmEJ*n8r)HHA%t*bJji8T+#T0#BA3b6ex zE7lVOApR>u1!*(;3D{DV*W!pi0^8LSB zuc%p9t%X*qc2NPVQ^x~x*RdS`NLG&jd7O?1Clz>-92u_SNbS#V9Ly_x5#ylFgKy)S zeNfj`ZvlP>XE0vkK2_&Fj-T)1rsd+v{_@o$dlx}q|-5|JS* znMB)Kb)lXbNAW)7e;{YJe);A@(U0>!_15}+jBE1IcazEI6P(9kEMly+rrA6jn@>T< zL-m>C+3j=SXt(TgDf2~8&aIhAn@yKzz7jgEBlY1Jnanred?WPQc1oYk8{egg(XyV& zd{gE-q0QzKeyd(}RC^`!LR?FNTQ|3>h)iow*v-QS}qkX@Xe&O0TnIGa_gf5#0oCB>h9u<&x$>H_FSGv;gVmSi7dMF2$;}KmLL?!~Yc~ zoX78g6&2T2OfyUGH%+kn)-=UEwZ z9kTO-&;R7X2A2{|44~_hSXF|#9!|g*?mW` zk39_%dpbf+HhsQX4>EZ47M<{y6cL@;3B10fxpZVbd^^YO#de_lINe4fU&pCx@X6K_ zW4zGme~xS_`Xt$|=U=D`=j7L+Bj;qb-DZ&C&tI?kzLbam`4F9St|PtrU6eLuIti`v z);UD!qkfuiwv6#6J?FJ-+oVkA1l~FaX4B`JZG>LuH1gItD%np8OxFZ`bnc1jo-*Bp zmNsQSp-p`obqAh$#ck9>$_j;?svW28uNxHS9T_oLB((NSeiB#*xHi@@mR9}3T z05m+bZM00Xz4J{kp^wYRZSw-Na}F8FHq1A@V=~xAY#XM@K2u@7L5Z$*=cDJ`Ww^lIilyK0>EFwf(aDaLNpi@g!|F z9lmxebUJPh1rLSf4OPLX%Z? zrOvPTygZ!pN(-;Ug;&&{qU(~VoM`={azdQSDHb^;B8Tmm%a&0cqU(w%E?U>_Ie6;$ z$#p8_s!v9B$TvqoHy%2E>bf>}nF3QGW$1S=!`56ItG`wP$CK@#dOHazQzhk;mSbnK zUMVw4Xvrt4b9f)9b<{C3nODB4i^cDM+;*15>D5U>f6VPyyK9n@6i4{ zwLQp(_kDqUy!Uc~=%0PLPP~r{Y~hV@#8IaJ7a6nM|HEs2wVq0kVmR{6 z8IZw)?L*e517d!emzOS!kIQJ|6=wk)M zX&^p@ew`jLa!7i_UI!26J&NY_xAEr_i)tsBAaBG(m`}D!(#1v9MaAW4oUjZYZ1bPX zS<>wh**`Y7_~Fn4e=AX$o|u_fjDJC4Lj`F>wd-B?q)%9bTxaHK==mY47pv(uaACO$YL=uI9@n zfSa1_0lV)m5N>Yv1YDD;t|%(b*cjKn0OMQf-j_MKOSWqJfz*@n@ARR{>MHx69@Osu z@Wx|7ycFo_aUkIIU}mH%tK45!1UeLB`;zYi+E{DQjmwmkS9&ljMBE|dF|x9Fe8$GX zIx_1ESvavl${dC=HICBqw=l8RzWHVp@Wq1XvwsVFc&>emg#qynCV`7Dp$%)t5YU%&(uS z{#@tV5333f!X^B}RH1Rim$3FB)`#%KqN!;=uMByZOEB_9U%tDQG&^hv;kR0U5B#cy_`!R+&H8^*xRmmhQmv zl4)r^ZFFNym{$@EX4*Cuw{K1Lc>C%c-%*lrr-65r=$i{D7crQuBV%{Z0*oBQ!xxpy z`@MN*lO`6U$as`RrdR45OV2XKbpDS#oscDqKc=nfQwOxCU6(+oa9tMO_gt5I4dzQ- zoo~n{RbrLD1;MuEJ>vPWaSN;PMmQK(8OgSLepcDJNDacim zNZ8N{!)x?=%(7ZUeJ1Cw!wMF)@|A=zV#%Y=4l#*Iw(n2mh&%OTY*YxX7yBx$a&&R9 z{7x9}+u1$?FmLj@0l!jRb-}k%aS^IahwM5lpB08bsMf9p!gjcQ#qAJXqOPvSQEq=( z?>BPm9bY;}HCBs7b93B4`IcX)pcLi)m+B?0V!w-a56AS;GRgG$=Fylwq)({?z4OeIF}h@adFE-M%jN-xM;&=+jLh|*<^J4_lHMZeZIa$0>0OfEBk6sT zJ|O9XlKxxLM7OTCkD+W(Vq@qWNDKZ)-32KeiEsIe`tfR_E>RY_ly^bJYhM4Bxl z9Q%@RI?m{rt78WDE3@hI%@WAqp|LG*i)_{D9f9AKG?$L7hi~V&y%Og&w8sY`U&o>3 z@8sfpZ$hWfYd#izR8LW-lWxeD@vO(-zMRVub2MrHx8!eM;Z+yc{=;JbS+Z_3f6^BlV6s(*_Zy|#(^PP7g4O-rFaKz!#9v=M!0xuki(6V8{k zk)%x|<^S~(zm}wHOS%qH`YLfj-^aDCY5cxV9h3aJHF)sQF)o=d&$Jb~>^>WPJ{+xk z7#V#s6JDDOugiR1D6k*P;hC0J9!DOWIq~-H>WM$dC3) z;@1~+JXXYScaI&r{oj^6Mge3e29M=aG%eH#)Cn<9yws@haMu+V)X-jm$nGPkn`U<;il{a`4Ts zoce|L)IDXa+zYg{`QDNam2{Y-`%1bWQp)1JUSQMMxJ;b_oHu5%oZ>)&BRe)_1o$&H zZRN+PT%>R;Mup>FJVxabUhLI>Pk8_)&4Ka*S;rd=Tu=&i1d0bOC+5ltoId8`| zqqPj@d*%PX6r=JS>h&LcFevtY9y}8^pKQF!OT?`pUgc%d49woNVZ6#)z-g=kzmLXv zmG_Y6$E&>0@;TyFJ|r$7UgZ;yug0rF+zQwG ze%uOSKW?Q9U_Wk!upgsBI3Bms6?uN#3TcYHSS`j~Z0l%(xRq{z{kWCxEaSzk^aSk3 zt?Wp61#v6355(eDnCHi>^Z_3~ZiTQPx1#uX+)6(w7mr&RsQC$TD*-PX>k^Gy8H93v z+{zw+{kWC=0sC<)2LMirTN%l6IpS96A4zd5Yzseb#nQ#%R>HjOxD|_w#jS+4cVD?F zsw@dUqEKtcGknjJa=o~fF@TX1iCa0CG_kl9KBH&c$|07XWs>7oR%cXlF}MDVfyb0N zq6s2_xLCgEKUH&1<@$~5&2Zfk-U~GlYv2pELBleeUx}JFipvqbv+6aB3R#_cu1ai6pl8nD7VWL>KavkeU)26OQTnCsNmT%@#2JjW zUTh1;-fEnTZK-04L+RMJb+3f6Ej7UN)VU`tn{R4^vUzqqS6%9n?~fPUm-gdaCIdeO zC--bL&F0_OObz(E`C<-q)A~&Zj`hnfmoi5N-;(*}n`4At zbx`_j-YIijjF$CG=9@An2(3P6AZ<3!JTp`1RA04SGT(f2ve2u(N}tU;Wlj-V-OFPe zv3@+0`4^Z|WBO>BWO~F$$Mhk6GHuG7A+%}}(q`+OXXeG|lKJ5~xk8uC1I~{+^3XV! zNucFAt4`8sk{%`L3`vib^ms{6l=LJ?XGuC+(m9fzF6mrJ=S#Xk(zB2+X45zm3=~Y>o4QCl%|wv75W#~s$2V{I_TV!XRZ>Yaqs@gNBo?-!g8lISjLfWMB98uxNBXxT3=k@QkY zFPHQRq}ejUu`mgz_;!xlD{;<4 zdt5K_wcY5)*?Q)ge+r#G_qkE@Q9XUV^m)Rn)CKYj%fXX#uG;Qq!2X;x9&k{{ynJ&D zU>-UjkY4>RN{d)gp;g{G7btzyPxH;~G2W!tc`QnsGIu8M_UEQ3eZIL{=yh%)?}q)P zz}%alkIo@c{wZ_6(9)*tC$y<=qkkcfZ5+4JgHmpQJP*1RF#YN_N$-&KE=li^^gc-+ zkn|y>S~s>yyd9(ZBEA$fJhW}JOtQTZUn=x*8M$p?sQBiV-e=E;~0wh{X<(`271 zFi*#1kd|kzdOVv$Mnm;@UdqJdUK;kFM&`vFy5*|>%Q1Rw6ZM^F8|Ir=g#G~WoksxE zcOH}U2}z%l^chK?lk^2iUy^jOq^}~SuSUl=Fos=u_L9_c=tX|bmE}S*>wzYeC|ov zAD|4=50R2SgEZiUe6=5O)A7uWIC~G};gr|M!s`>^HNoc<)9VPqSzaDad3`3lJ{MkP zJ}*>qKkPyCpkAduFAt}@z7$?x39qP+MAsToIS?TJlPxF2shn>`&Qg)n5hS^68Py@W zR*2%Fb?u&mr;dqSOHwY!6Y3n*A>aH2JP#ccb?uqEOo91D%J5!!9Im;R)&BGwV4jqv zdOHaz^ShK&T8@Xwdf^+GLYu8~c#o!a)NwDF7rq;b=e9glu8w(0yz_-t`{Z)y!Fm|v zGfhcafYj$ldnNH}ypsHyc>GwOT>P5l;MW}aas8+d{Vnjhgt(Ughc=w)**xl3;r*rh z_Szz^B~tYr+MlPk2j$nnE}@J9`%MC5SzASM`9|lp>~g+t(YP0FOKtloPkf_5?4`a! zyYkfeD@vbl+6jG<4)fYlb7OkSSlLQ!&|1l>81y`M?(57)Km+3UJ<- z<>RbywDK7;*0C+fW+U)t+{?xyr_z_hLTD2nvO1N*KkihI$U zPkD%8#x zd<)m$e*BAtJv`UKe*BArN#NpNsDD!Y%h$*+lJBr##GIKDHo4_SxfU1;$H$@3Gpv2 zP|lBkSqHEm|FQvKKmKJyz)A5ho3LDt_!s&|Qv3_s!jFHkbg}rCFfTj)#o}V|FQM&o z$G>!-u3r4hW`L0siGSIgG&$m5I$C;`NsfP6&57``isN5IrmH2!-pRS2<*&p7*b}|NMQv2_D#X78*2~dW-0Lbl627I+u)9k8@Lr$! z`rL~7yl%kXw9dMWTC&`~iKWPjX6?1?dl{k1dt zqW0GvrC;ja)DD1q;bi}{W33neLU?DKjDOjQDGsG$-_|`7#=rCio~O<|VcC4MYfv`N z%1~YUAm1M^;_)wif!`e`_ii-J=HJ-#3;4S_%ziFria@)pp5z^Uc0O zulg!|Ht&?#Uubntk8Q;I@l57lU`E9B(K5;O`DSEHAJQk&rp#!eRhy7DTkkwGCPtUc zFV7qzblE)M{HP-jjepq%v|MNHCTV|32T3|a(mf^JThe_b9WLp9k{%%Gfs&4r^dLzO zmUOJ7haz3M_!o{A$@j{39C4^%>&fm_$UwMS@h_{q;&bsY9Itd-;F`jZe>ohuBAoO$ zzm3=~Y>jci@mRU|m({XM!cNLc$G@zyWz@ep?y%k*YlATs<6TDTorKfzAPE=m7n~20 z=*k=5uj8Y}zm$TO{i00L@sb`P=>(+NGQzPi38&+Zj%hlEa9=!|KHpS91`myYnJBVV zr%HjVCC#NH>*3ouZm+~S5A9Ja^0nRQ$Ju)3nR=nq=Sh=AAJx;>OP?#ON?jnoum^Z@ z&Q;q@1MJU9-2n%6%*!{^0rSxLfb{BjQQDL_N@$h0&IL*z_0xPaBgUKbI*&zZQ|8zN z-u~ParO!9V3%$-wo}_0=dX}W;NP3>67f5=Mq?aJ2uSUl=Fos=u_r@mVTmUym|OZ$L`=ZIK4NkgxV5?npd$BhKDKc{t^Dqwu;(cx~_V zis{u;aF&;cQ(iXBS>=DGO9y#tq{dU>)JgBPaPAvmZV&cCv3B*4*BK*;CbknsB6#MWeUuLQik`+ z+u)jOS?y2%2F#PPRBtCCWgeDtO3U#uS+A6NRA{qx4)4*ljymoo^U60*#N_Ijm&E%i zq18V57+}`paY>()^l7A85AvhElK4Ff9FG<8d(Pv>`sCvGLJoc}BAb&JNo zXj^LAM|t9#2O>{>g?8o1a@lh7%{w{u3vJL-#>&@0OPjwT>6?%#dejB;^#oZlR6h#?QI@pXS&V_CSa zi0%lx_!rLI@qKbF!#Q91|1ZVA9EN)NkN<)_rN6cfW#aq^0Vl=3P#-`3<)484_!q*AHevkBLh{HF{}RKoh>d@_6=nSR7Ylpw zEnI{9@h=wk@LUV~@h=W0fs22k{z>sKw4- ze|Z(KAOG?mU_buleZWcaFCVd7j`$b)M^gL?+rp23v2?NcmoP6o{>9>A@h_q6bH~4Y zO1WPA%V&U*6N!KMoHRM&U%s&PER#F_Wi>{or1+Or-Ye%ij_b~F?GoM-_01iFQBhS^ zUYyR<)Zh=PsD}s3Lt4ZQ@}BN%*noQpdd=sJx(D(ta4Mg4-_TyEJhPN34(=T?U!Q?~ zhimt&!##ui9&l3mAEbN|?ioCP<&lIl5({qcudr}k20r;ne`Ja>KS}yC(ya1iDr;k{ zD|IE^Z=etAhdixc5>9ou_ePNYJ7psMLuF!p=JOgQGN+sT)~0Q~Y14{|xb+yX;jLI& zWH7(rT@&!|8Vdj4)g73(Rt=lGVIr4bK{hfZ&9N#;_&6_>& zmy2e7WB=93=bY0|vTcb9OIy&E_J6a*mTU*V{@R{u^A@0Mz;8>cCKi=fdXDR7i04|r zZH&68-}2h`+oph3XX2XRq~A7Uii3X3eD&M4aP9kT3&2U`*Ou~0IIU+APHm-r+Z=r8 zGcB1ypLHZHM4DBe3VVJ_z145q;5w)uYNPcdk2p?sSHEpbnb2Wfl?lJ~d8yyd5Wi)c zs^9Y3_uE$B;kOglWc1zE$e$5GINxoD{J8I~hdds+e0P1pd%hdtOy~78)K{|Y8TxJ# zPTP_GN_)^>8;I8{uf)wxq1 zJ21sTzh%Dq?dG`l{k9|Er1G7ld=gIUn}mz|?PlOZpV@*b^x0Cy9Me|rH|J&D^9C;fLPra0)o%vb;21=qg+_6D3(epe}C z`bgRrX;yhE?D;SCR{!mf>!5z9jn zsr&&_J_)DwOv1(ebzktIuZ&;{eGZg#B+{(%RM_)Z>aG5I5Uzvzp*C7S@`&S9clFmX zlnEUUR+;cupVzAR>nQN>+e!U(H1cOe5YAr@A$>J=aq6mSbd5U}c|3CY>!E`8{58Uv z{_1C_uVmXZ+h6^9YdZ!$2D=W(eLq%HUs+dkLmkv-dF}gb31HQg zxMH02*$h)0^jYSs&z9lZ_u27)lggJ%`6QgyH3=8@*;4SKzZ}67`b?0t0%=xxD(v|z z^;Vy)!gWwT)JE$^9&w!Nu0C5$nb2X9%7oAQyy8CF&^_5i@Q5^(z1M1zSBd-?QG~rO zt3iI;XKRtiBkr^G7p@KJ1n>E5lrx<+k`ww%woSAB)~~y^CHdF}h{k$_cK;-=%I-yX#j2mO}$>bEm+?fdO9fRoA}E9H}LTGu38 z+;5KtANtI3Org*5lAeGxt2`C<{FZvF-=2i)pnj;0){i{mIMrSK_GHS04zpAy{MP3c z_gl7~-jng#zb88paI~fP|KUyYW+Hz^48i?`Q%D~hYiA>mM=rlTRq&qQ#yH#2HsV6+ zFWEND_FKR1+LnQz!L|+Dm(^F6WI1juFYH6)ITv+N-{rOMyYm67zQoPLN#8w_DGvHB z^VN6H!nN)v4g3u@Zs4BGE^fVn*MmbH$m?pzLx8?=oL~_Xb@1zWYzWN#$>p@<}+YXA&;%yVrvc{pKd7&}X5f zHzUm|PlY|-rQYhhi*Oy(54F+ykw+Y-x~uQrMw!szc9jX=^?9l9>K<-GzIzLJcnxL! z_EzN0@H53{??8UsXYWKFkGRk3{n%ZC_k7mpY*z}rDT>^UL0+~kvwhXCv$kR2U$Ck2 zVEyg76M6o+jP2+1@Y{emznrew$iEEyT6p|@9@R~w`qhO$YWEqQ+U|@?5fJ* zOuDq9sOsennP8CgIpn1c*7a_K&N-9gnw`@UJaL@p&UM2>s0~dB zYnia7e*?VLE-nM{FM1hFhJaIf3tX|6=L*#u^+CN-ACe#=euQGnwWDJDSyGHy{GfsC zOQPA;Bv7p9)|Z8^_Cd8wHN7m3^LM=`)13-K037K zYsv?m3H72n=bo}r|J;*~d(un?9cX3mQ9ThqP5h*++3giSqOq;!wuU}3w{>VpWrp8( zjrUuv9@$@~olRRiv)vKq>eMB$CBU|hPo}Wtz&20K&xn`P?H%Ywhj%8h!2p{or9A-H z&hBuU_BOz_m(v~+=*qCwz{Y1sXLZ&G<<#D|_V<(aIZF7noYc+t0zTH2#=mf`6fkh{ zu~sYlk>YusL|YN)R#_W4-A{~;IJ$d6V_kQc{LfBzM@~912$RHB`{eU;@riBOTG+j=@07RiyQO`~_;&Vt!SG+^l@=Sm zZ#Hn?wc-J<;VcXB(=GnNO8j`mNlUrgN=qC3Mf_sliaPPfkpJ@V{GA;Bs`zVFhi&x( z?ON$>otoL%nVQi|qchW;7~avqu?J{n7NKK@{G7W%DCC?)twRg!^t{NTvgkqKL0M+gQZHvrcEwAF@>0EqCQ%K*{ywSjP=n{ z9DStpVA>%*a3FB%{5Dp{ODz60t7GyXusU8UoZBzzevSBeAH<%e{Pz^?sg3#`N}^@K zt=i;}kM>F2iXodtyRIP5*oVWtxA#5oWB@gZIw&b?53Fxf175IaK%^-z~x>k0m(YX#BqBw1Pm_qsvJl(Hct$Xr^4>}L-aQ&)!R>ldfytzD&Bb0_bj#QZP zs><$mb-C!$vZCWfSqHMCgA7?;U(V`%dU$lSJ6h5yuk?sYb&Gk@pgeTS)4BMP;R*G9 zbn14>j|Rj?C4Q9R6H~*Z@j1Xic6-IUJ9O$04|Sx6=-nLzvwdqF$8~1sW~AIf2agdx z)j@P5U&-^lm(qIPgr_K;$`H#VL`4VF@>F&3RO5Lcg|3&B&H10y zih7BTyIykddg=CLbbM^AJJV%yIk$6~eRJ*X9-=Gj>x%52q+QqDG&~pg*4;a&(Jooj z%OqXU=`ydV(`8tp(?jA{)#((5PLuYulJ;*rk`bB#YKa>2l7UJU|V;*oH^Ul(J>f7BjXpUB26qWvLn-a;Zxp)yzw2{^MpsH z3oLwqLi!}-_q-T);c=0E;j(ghow;wkp&`vBl{DUWE*6}8FIAYscPIl4Dee5;uT3C`T)&}>_Kt8jjm<|ZYx7)zax@+x;ekCa{Dp8o9f*y-ecpX5H+8>62! zIJ!W8TtQsFa9JO69K53r32V4MdrQKelFo=mx=mV;V8(Yz8DvwTP=@W~8|K1$WlOUS z8#Y+kb^hkVfO&<`8$@7rUqfV+)>f34zPhBW;y_~@$R1kB66G^~3)RJ7#( za0{<%;t4ZLM_V9=+uB`%llPxSSz{spwF>k6<&{23 zI4;@_*__9dD?CX56v3K!Jk@v{BwNMW;q{8IR>=L+bbpM(db(ET?M@pZ6EZ{hOx+U? z`X!jtU6L);tnu-za_9={24zL&0I$)}8O{IVii29?;u2)2Om7usn$i&pF zR43NQs@C&F$5nksgq>ccJzdW?Ja%=kNi$MYVy4^FHP~rn-&=iyzVpK5o;Hv0xF$;< zf+o=08WZ-D_)GM|e!rMd7k#gabKCBI!%IaA&C3*?tbVi4fvvE%tCFsp-!v4#!+s!aj()nHb?NVmiKDK zSzo5VLiHNO^YJ6lwFgP#_5M1$Z_3l_jr7!qry+mxB+ct}pSOcxp2qp5{nv5u!`3sN zxqZhrr(-MlH|ob(rf(wD^yEbb#tZove|)?}Hu8Lj ze&I4Y_#<;K9Ai9;)&(re+t{bJt=;>R9GbNnT zU>oeo+XO4#iyz3|u6Vlc{Z7S$Uu^d0UEtl-(zt+4dbeP`Y#{je2w&LEf$Y7CyZu|e zacYY7QTi2ish)KHPGyLl0rpza%7&f4Q<+BFGthdUV4cqJ{M^)t-UOcI$lMda;bZKb zoz;H7@P3tT55-Phn9*)(bErGlWAf#m{z5y3OLd*Mzi`}-3g&6>xni353=_Wup8_7V zn-n(txZ4xk7XO)KZpHt}ipVK$!e}OA_ z<+7WtrOlxGBJyxqp05ABaOilBtLQ&9YWM+I?4vgV82b{NJq+gwFoSE9v zo$O4HYehA}uF?!V$f;RRXLw^Qy~(txgtKC)D)grQCaTV5+mh1h$Qe~tc-DiA6J;Dv z9)s*Fb=t+0YJar5ZCq=-6XTOxLOpGjg`J%npB!cy=H=BR@bLKDp1TiRCJ9Tx?c9F9O_htwMB1=A*+mHZ`+#*!)>byT49(P*@)vwt%tkiTrM>w;Odf%gogD%(%L8XM76f z)3dXQPVBbKXf5w0qSZdFnfYlnGuGFw>TgE|c@E9tv)%3%--96T!SKZRfvg4%ck&AN zd}iH(biyehf!|y<*`3=yHM6BNI<@r#^zAX zVb#Fu_z-YGIPH!z4fk{p3%EGvblr75TN-fldLCEkxA%DJWmN_5Jli=u=&pK2(Hx{3 z$njn^u`Uh}T=pxWj_~UYKC5c-{(7y$g6OescLiA4&g~sw-N~u>O`BDpY@G>h`iKB8 z3@mbu+o(cM9~qW5PZat-o#0ZFL%LRiqXgO}xpjQ5(C0^1@I|h%eAg%V?NjqonT@Px z200&-Nj0TgI=v+Cd;4S|2YFzjIVZ;@CUQJB%M~E@2y6ex74XLXf0$0akujf|)UXp; zY&NVm1fEB6B2Khuh!ECUql{A{BieOGzAFlv`N>?3b%5E<&hRE3tKfQZ1awT;(-+~a zzdT%XRcr+U%2x6|M?Quc3;m;*s)qPwj-F&pxJw4b`h z_!^9LZ1cxw+u2J{blLD!@#dS3)!NQFd6@Wj-;sadYda(O&zGL4b{#QCgR`ik@1T>i zV=qwok5_uRbs_!tJbg5g#=;`TrO)1%&BL>s?X=Jpy!i6F`hApP@A{7Tvv%_kNw{qi58b?b@<-SPInUJ9qojyG{D)3gZdy) zAHt!tk6OFds!%>;Yw%~1-Rtn@x{q}j=RRwM@%sFwa9*FJ`GtO@{8b2x`b4J|Tc5vH z+O$3?JN5Y+Uw7?Q(~HTs?xN=O32)zHTVbR z<$Cc)@=f{{a}2Ks=>DW1)c+I0LKm2yELIo(EZS5TC?mS?7vmXoDC)^=7OR)uEq14j z$j^L}x$5`y3%VRa|V z!(y`{p6+_pr}w?K7NT8V()^utTKgPefm#>s1>D!ogLeUkN4+#9!2|}&i)Pco7Lh&cod<^ zdbEYdSa?SZ?_}W`3y)JsdsDBp5qaU4QPw-_7p`PY5#D({fJ|%waM}hQC+NPQE84RO zSF}|u%UzY0vYe=}R(A3Cb@hOgElBfmTfln~jPuwD-*du!@s9fP?0E4{b(XOoA9AhW zBba~?U)H*d;=4+OabM}(1h3kFlLYH!1MV&ySJej4#|HJx?jD9uY(ObjOh5|oKGsx6 z-v8^kqR%(ss`{9Yy@%TKjHYzeXE#Ng^yw?oRPT4_;78Ox*qmG+?H*nc9&N^VMaMcl z_Bzu(iZg}BP5{SFxP0jtk&Z=W9WLu;X-pM2AE%IsF&jCYe^Ev~qqMf`Gmk3Sb6?Y8 zI=7(_Q}$ENBk$iKHtO4H=o$l z-k-PxZ^JjHlyPOf+$jD&ZjdMO5&eQAX>Cs51nxT9P0}zff*T_Zm!+YOusu00*)Qew zm*-VU$9t>=u6RF}_evQPcct?A zCxK=$dpfQXFRrQ%(tgXbc6*EAlRX{1a$Z#XrSB_hzm48kTs}y9&{FK5N57~?^y~6I z^R0ZdQdv<>2#GkkKWm!M>EQ|XHnx^BAXXYs!Q7xPjzX#;(90Cw|-UXE9@6&L9-ZL+95iw zsxHxv=+aKZr@GWL=b%l!uthtj`lR=uOYg(#_0KRDpgz&33;XEPMRAi`x%^R?8c`-e z;J*w0i5?MuIAyKq5pdU|Mx1<*bNOj zcAa>X2c7&0Idj$QQNpMC^=QQt{mLGrc<+58%UX{WzA`@M88AMAUySZOPIO#V-J{Ky zOZOgc_*C~A8+H+Gp6c8((=oo!6URjD6|#G58*{+awo&g+7se!M1U8TRHM%Fw(@a+M z09>#+M#sI=J+nd=bjs+sce>{!bjLUL0hY4$P-1K zN=N@F@>4{#TxT_||8}(fb~L6yyzV;Bjt_Fl^&E^B@XGI=GKVxqe`&B=#xear_ z7pq)(otrQDQo*Xem!7$ZvbVUZHr=ZwE5sGsD|E z1#DIJO2N2x6~cx6S^p|HXNwHa4YMb<^(v#Q_C0isb*5Jv{$nbyo^|!rHF&$O{hRLh zPW0=wiqk*P2dG}BIC>OxGSIaLNgva+2mjOV)BdU{ez4ilU7zrNgYgRK6I)LFP5Pm` zZzR-3p2&voy6(S4arY6^G;g&ub(|QP&auZFeSEWM3EyVn+ZB=*{KyL)@6>(HUoe-c z3FmqHyy{)X_uUF7rGw0KqVJ_Iyo~C>r%oO1j;><|beIGEm*{Bc5=Q&4IY>Jy5)?tuHae(2&S33XwgfqS3%wC>RrPyZRko6>*Q(${f%kFK)jQsk=) zO=o=_|5M__y4mLxD#$)hT;UfK!ke`G!X^Kux}KBshQN4JufQn>Jicr^LfHlLvNz$p zT)xKt6{SVKuPO{>l}#@4ENrsR)BIdi*6eRk8gH+-F1I54qF@~!Eop6kencApW~Ovj z(A>H$K?@DIZd+t-c|Gwg(y(Aa7@9Br$ z|A0^zdJo+7{ztk`_5R0-H>JPP(${hIG8g$O!;0SjP<+sz5lt=Bn>D(e?|5S z!4{+UzZ6~2dux5x&3-FbRqvr&jNacQI)bK+HE5w* zwKi+e@3fB6`Yw+Vt<1+-^bNm*{?q5#EhdFGmOIm0WcM-20qMA~zsl+30{5wYuTtF0 z0B)sz==1@Ey3lFhuG6>DeX7&9R=g?wZ7h8qC#I&G!B3Yy9VlA#>b8VJAEb~vATRH8 z_|?d9h<@S9dBpuCx$Gbl-3RWve>>e5bVV7Fv5Ir~UH4ZjEixXiFqBEUpYn3uf0gNe z;r9$=2P;jfvEnny>`=kCZ}xX`mbDI3JlJ|~MCm>D{s_U#x;+qR7h~^_R9dcTABbnc z9^F35@JSyiiP}rAQk%bz*?j5)ovpRGV6IP1IIrux%|+kmed^AI-7$HL`WiwfeD*B# z&@!y(pYXgBa%n!WR9dw}@2dklt|BWmYxE0Ou0O4i)^&d^G?LBd0(Vi|%af;9-#Nkf z)N$f&yn|jTdRNi1ta+kBm(}(4B*AjN$~Wb^R%r@c!51FL>HS8J00P}T1q+wuA7qmb z!z1F#Ydx%K7W@nU#@`J-Ug`E%$Gx-h)vQ)t`_#_p*GD+-{|e6Gt)02e<6*BY@1q?d zxaPqdX1lXGe=ElK&N`RMmIWGg{%+!1ZD`hZ?k;$_FRThOP^?|m1o7ETb`N-+GdZHy zM>><&#CP_P+hAeM$m82Ze-m(v6tLnmeL*q5DY7jHbiGVY0PX`gymFH+3de)e|8q)xt?>fu!FYgUS| zulc^>8D{nN>FLhwu#RC0Cs15^Vi{(_-yHS>*ViNhm(E3-hm|EmqTZ6ww(zj|UKT>n z=NmBP`nVtEOV+B0pRHf|+`;>Fj-wGOeX76}{pNDj6FPK`_%(`R>yPIOul4%|S>v;# z`;)%m`SyU;No{WtFW2Wf$>Vl+AltAW-C7S!dgJv7 z%>^#E)gyEvtRrsnur8xHwc<#tr^#ha^TXCU6u3c%Z23v7(zy%u`ZI|c|&Mp>xunT6F zu$7k!mL_K%tqYql{n7cH&cVbt1sXL^34UhBXv zZs>)~*DN=Yk9gDOK~CNK+2G^CsdmBv58cl62$N&%nx9#%vCVK>H+J-5jb2yT;rMx_ z)L3WuiIMQ^VVcu0ZoY|fU>C0n{KBpRAC!ww;+zMNxb-(Ny(V}+`Ram2kiOR->evk+G zL$^!!d7grKp3os@KEB94KzE&f;WB<9FT(}7#lvj}=Wf#9AEq>UWktUtyH>DWIWX>l ze7Im08<0JMwDL=sGva&U=NUIZVGk9&I-Sumz1>whwgkKK$beHT$*((;SAvy4ZMs}` z;Zef*<#wT8o7U@9dt$8}yk60(Cc0X^ijFidRy~rYpPrpJHIhG@?N}t$vnQ$?v{Umr z>3T(GV#3sPgGYkh=tYlxC=ysqDUNM^wsOX{xq>>}i>@J9_APAiC)@FTM%vChKQ@qe8ELc5 z8Q$9?jJE1nkA{Xi%+0jYVb7lh%AC2cP@a*7uDO@L0X@if=n+LL& zCOG6`&hawAc6kOi&v-d>Nm}S$2~1-{v1ef*`&WbMP4sY{40Nw@Sa5t|9Wdtq45=Jjbo4`L#KV^Jr7Y=!;pT)IXFU?H_Jav40O$onTM6M^?XoTXG-Z$y}TGJCH+m zzTnjg>D^AfOZar0c(>wir_=QBfsd{_PQcur#XTbL6fL&@y%xStq03EP@c4jWIe)=i zz9yXK?SAA3jqisP*5pA*lZQMhpN|`Bg(A<7>KCqDZuywH?}fvkOJ#N6@w35q9LU}; zeyIV){(M-lRIllS9}#R2jj!O@;N^#oL{~Uw$S)M zUDF3$FF&2%$9GfCQ2pjKiH?%ybL1x-{Vbs_d>P=bqhHW{s-rh3?(LqY|DvU@!_oj7cDyaB@4f-(B*R-{iB3=*!_=`ANuXzYhv9&(yeEufprSXBiUuyb*N_8qE>vb>Bf?*xt9~xO>FWL<~!tx zA4ERP^SKX~+Ma&FRL=Xw&yDUvwK4fu<@ts1lIP-ZP)M)?@jGE!|Ikcx%+9ila%()T z$-P9q@|T{!@?D*HVo~s7-i6%wYA!eT;gZ}u*IKQ}k@_jrHzk_oMgAok*Eec?hvl7Q z?dP0Xo%2bxMte4p{Wj#)IcHYiVjAU$CD}^me#m^2=PiC~a!)ZzoX-88lE}+_xFqj8 z<&Tngw4>T|IKEZqIE97tAQNzXlS^M!o7LBOW_7sJbPgZPHqA`UYn6Oc+@A>TZ8*b; zMJuhJhjUPZe-inx&VcJ^sGW7(F`0ZNJ?v=8e{H}u%W#i?tIIKzO;640yyR^81eI&x^!csO4x)QfNr$eQ67X4Cq}m5y!cj&yZ0SjD#O|$ zxGTYxt1`!J23Ku9lby8F;HyoT;CFzpH)GEKI>-0O|MB3<&6cNq8n|-P-NbzLAoYRY zyFRNizYPP9OTK-jh?=!e#N;7X%6M;(KnFs6VIAtshs3i%ki?M~M47 z2hMN#Aaxlo@z2LZSvu}pDo~Vj;6VRw+`k)NkMG-x-;Kjwx_#Wk(jBC8W|ePPr@_zj z-%{a=wbVVbWr{m3V{Q7Y((akiQaAjne6e?#POV;%&{9r*&fEDq?LMMqA9Al}ac5}# zeX_gV9)ZU7>N3n`6w<*y-(%G=Qk!S=`S`HUYeOC@(lXWzN*1rn{dK=aF<&P_-j$(T z+AE^+?5F#9wX;=rAM?-J4^&YgBNZnU`$DiJ1bad&ie2NSAqY{t0=`O9xQhw}{g z)%=BaRjf0jgUFei++IAI=G?T+vTU+_wD5k}n)rfkQ!iU_UV_&hHimY)t@wMp9jklb z{no$En;K!$42L=8t7irq^0Sv7tNPnlJ_XN%SohIVN|wiM&Bx;!F1mBWGhyF{!*obJ zhvDaGIO+{w$no|*TUhULn2y@Y>9xHx&{GaQ|7;(Z)S*AuUQ9XC{!c#)^;+rwcQ)R2 zTv6w&6SEe+R==~LPh^Za8TcQxL3v+yJ7m zs@;jY*_WR_p{A1|F?Zpv%psl`)i-@u>D)RUIM{ue2Yu*Xsu$}+!N#4UIB@!t&u_6; z#81@^dv|X_UC`0juwVWxW=L_)nZZ7|P84YevePWB>qKwbc6Nr*ro0)id-1-n(bw~B zXKyxpnesx`UcAok$x8(@UOq0sr=DjkyT9>RDZPz*gF5S`IAL5il)XQC)DianoG-e# z+PGm7^!V_^_%+%uq^7_0M7=_lz--71XQqYrTGu1*3oP$*)n|F6av#NM$I~r5)55bX zyq|^VSa`05=UKR3VXcgM-s5dl#})MijylTqK>Ff!<2vNJ#yJVlZO~6-d0oSUw$E`w zCG9YHvgqCZU#5F>nlum8eUT=$W%2tiDb8g|`j1xsgSJnyy z5BgcoL$Y>^UmaKQ0Ox%%~fmU*P(8-Z(Xek zvfX?W=S^U z2c>-Mz1I{L-+Nt=Jy>+{ivc6@e^z71P*7 zf17adppP@|xDB3E-1R(9qp@nr_%`9Z54dkWE!wu^xmuyiNgkw~6)fi~Sc$LtPm1&Y zbF=I|eP&(gheiKc9&}(uc9nRd1L{N4p=H?w@qCZlvTQ4H+uuezA0gS)&gbvcj#8eN z;oHxMrqJJ|fyb^0kS=NMQ20u}XoY-w>}!d*(CmG_*|V}WFTPw&>%9A9$G5i`e!a?G z(xsD6j?(q;YrNjwewX#5u;0*Oi=g8kTa)S(@rRlWZi9mksI3ZI@jUx1wH51RJ3<<* zzv>Kn#%b#CVS@R-#OU1xcFsOOwi~B)SS5?M?Y;Bj}#1d*U(QN|~g~ zDbDTAb8OtkCdK#8mS&IAecbz?89|sYwX-J(#?x~jdl`G42<$v<4BI;030o~}Ou9aS zYrBN{Fyq{w*;5iYo8+AL(+jw4TPu4eaZ5+r0;xd05`>8Px8*|fIJ z^KCU?JU>20HN?RMta;F$oimiDJ)^}oJWsH)eO=jlzF=Hc+rXUdRKc=`;-@0xu9E9kt3zMe?kY`c~ifBPubFP6zK;tpPQxSII*&}Jdu>ENL$PU z>+%m|J?D>_ITiC(UkBGWuw-NFe9H6V&xj_LsWr&+D!0RLwDP(AU@e;GsBaMbP5KpU z+)J`ID^8t~W=&|@xHit3G;<>Kyq<24>}|#eJUP?;zE%#5AAP~+)WtgO9@#sUw$J+6 zh|aYb*_OQgkOF*N7Mb5IK8#U(|1Qpfr?$}Fx!10T;TdMT>X*dzCEuADnGo*zo<`WP zC)z7CSLWN0$ogLK3v=Z(!;?=ge~NHwOIXvZeh*UMp){Gx>1~Lt@6nGn4)+aNTLkXy z_5t1dn2XH-_d(KdsV%tRhpfGD1BMHEkswLO8d)xfa&?=2Ma8Bwk9wc-trxtQo5k-5 z#QD>(g4`6!gIW@|Y(qOZf zWgii2SBWv{R|dYk`!zb%DYFmhR%Y;89q~yvF)g@bA}-HPwzfrHO>4{rE|}3ie(S2% zN5zAyYMasZeY2JAj~PBW&#P2A+}0G(Q-{=cg$}g`gWd?1_X*u!p*(v$>#!`s?#{cM z)R|kuPR%uX%pSfdk}p{s*-+=AGdJYOp&=6r-Tk!6bjS(1Ij(y-Qy9n#(gRvxsH-`T8P3tj*ASDTre zK4PP10*<)pWZ5Z=r@>BrOMK#*-Wg^px7ztYTGC5F)>d9F{7B|`-&T5Lqj7j z;@{OTYcI*ZL#WGrR?>Uf%Czn5`$kK-%eX>UeJ}X;L<`LiEc~HD(!rbj<5kS-Ydj&4 z&T!Rn<+Z7`qA7Gpkt7{RuQ6o zr409oFp3iFHDwu!FfUSoQ>L>c+=>Q|rP)sfZ?^4Av!6v=#jfY@+@|AWqwDh9&mZ1F z?L@yD-9JDu0N8fQ-^=bt+(LGLW$WkS!Bw^Ud#Q)*#kboxY>=O^L~j<2N9>rZFky zwZwSQ&e*mBSBzIpI3Jggfi&rOKzuoTlkvdysKC{AqQKSd|DNK9{ol*N6$;@=+mbF` zb^D+5gdnlw@G5Y1`wuSGcR5|Tj>rdy#_u zr%X-ue^BsV_J99~tJ!~p@3#G?{Jrdd#4T+9SBeK$)&9H9UuF0nHovjPD>lD}UD9`% z=&!OF^j++X-(xeluk}^IQk##CH`Dd$(}|rYUu0Ml@`^V55S6!|%|2B4Mc8cHwY|{v zbvt*zr4T|df?Bf?xZx>(lrX*9z!3m zx;@T$K~S;B1+H$7!Ns~Pr^6oi!eNh7o^FpIQ)!g^{beLK6i;?Ry%XzwF9zm#^!Xjun#SuUugJ3}=5(sXB9I?jp5-nl$y3C=I2 zyTX-Ey-7@Yfo!zX@pD!?6 z+^=c0P@iJFSf{*wytqL3K3*KYz<2?k-vgA!?Kr&F>&JL;VF+Wncu$-9OUE8y{4N$< z(|D2c+F-ou`P9dYB3*gB0G^H)#2*OXhVi1n)yIp=m4@-+K?;4mfIeRJ@gnC1fpme( z^}oQ?#|v<=E|nlj$9T~T$9R$Q^zq`bhVkNX@wuhr#YK|M$BRpJ@8iX#x=+W8%M|Z5 zUOZShA1@YAX8Fz94ZMhxFDb}UfC;V*6@V(w8!Ujx}V-W9PU?VdJAA? zBHS;@!fR*Y{?@HcGsDxH!+l#j`nGHJ96n!dP3v6q_#N}XY@wp)DwxMLzr-DKF#s`BDGgPYu z<>zfpUCij0J{zpzP}aouVc+s}YFoE&A60#_K7F#rcVC~L6Yuh~JQG(kuzt-}`mkF; zaeUi((HHXKuPw{A3AQT%vUUorS3iunh5F&D)^_pWs`f+lYq|R24#OvVy%H(Z*BbPz zUU$XVg^mZ^Q=RoW|0Lv5I{zd_vo|lL-P6L{%R-WArAenP@aM8 z;UT17wN|!Oe%fGKKWMSV1#LTfgwgsu?K;I7cOR+H^CP|I*_7X-EBWDPKwqbAXOA^n zaL821qHiIr50Qw)zC0RI-nPwg|Wrkzi*6%v1eF%EylnHkjQ+r-D~^XT0dRg0`K#+i2aMzDse+@*ah5lS%J+!lRns`zrad#tTiI zww-;zXu%;3>r$O9h43m!W6rw{+?`1(=f|1pI=HhMXyC7X|p zv~^3Urmn!4fafsza_?KGMMAU8Fc>p&ve;p(Cq9x`?B_e9WTFhAKE8v%sxS zaJ0i^iZhT9#%s57r;eDu6NB&Yl6CpV0Bv`;$L5wDJQ?-g$!>)x;Xbgawc z$yoPc(fA<1xDeyTSod+^)3NR|iuW4pz93v2>vF>o#M$GQ$d|V2oH2er*N~&WaFxIx$CTrW&L9ekf;uanozabu6)vz`-f7tvmc43YTp<;oDTcOy9_sqjg#g2zDiXX62`%D+1P{l)nIuR_-kFY~nW_3^J<_9fZh zEDzTW@`0W_2@83o7KaF+%ggk4%d;go;~%u?_(yzzG!5(J1+G5+Em0ckY7d3Tais2{ zk5_&C%XvYdI^-f9JPKTW{6klK{6k+>hjelLqrH6mqs@jYI3NGOtxs^YgO7i-#gz$; z`ttFQI`evF{7dEZ@$cM*@sIXN$3NoL@$Y8k)r=ps~U?quUjU3Iu0&Z+{VFb0*!0!Y)|Nu@o+E2)A5kwPA z*Q#!Oob>T9S`@7bh|wsQWw3(!-!jWJlsz_ zxT@nJww>{B(D1eKuUh-*Fj%tf?ZIHrlW{QB-ETYV8f^7>(hr2>S8Pe?qlI$x@Vs1>2IfaQ~K4G-t97D!xQyQ_&Tk=$yK4{Jda+q zM;Wbu|UJl`-oCi<7IQH#>IdY!j3Z?h(xw|$?pXo~!U9Yxu>scL#W zhwB8%pN`?g?@F2Q3a#y3jvPmYBzh5eBszYQ(x+)4r$^i!zPivQ)?{3l?kPAt@+-|( z?O)_u%oU%a_Gf%MQRzZ4FQ}>XIpsxZ(TSKC%)r%n(~V8&g2~RW^9qf z4#p_}Lpm?ElGo9eSNpoZ|Gjh8*7&Bc+J)zbsxd*X>CQ}LH=P^a*@^j{(U`AD$0mk1 z&04M=ZOGHl`MI@D@0hcfi_c2Rb>Bw*5?sV#AkeEp7OQc0-hbCQ=+oWF@F)=3TlW0( zevP~XY4P5XM{C?~zRBNrQr%qC?QYrF)mf<2mD-B9PRopO?Mxuvoz#0Rlx@KBKc_K& zNJq!RS2$- z*qOk*y=B+^jJDY=Z%*($MSRAf-9#lv-AAJX|(TYd-zJDbTEa*6Kbol z*__uzS1%VOX=cVZZRT7G=MneBs0$@DdNnssKc#2uPP@6gBfp;=8P|L6<6}CWF6T8i zzC))@6}&}1HZc{y%jrBePEAe3C;tVVw0(43eaUHtN3WWnof{kPPK@UHQT7Na(go%b z7@l#TMSXjBNXoNmYHD<&PR(-u-KjC6d43G5DPAA$40zh`Y|dkl&|g z{0&b}=Wrc8B$Hdnu9LjkAB30Vf?Soe+PtoiGhB%b%QfFg<@5T0=W4ZE6VB^p zgXHphp^XY!?Sc}H3;n{ULLYrTHfiNSCyO*XYs%7)H~IlCUd6d_&V#hjmGf<7GYO9} zPMoaV$OLb6-ucZ}_<6qDdhz4Tt)93dFK^2oqQ$-6sqoxzhVlaQW(Ej7>mLrEM%|Fd zsvUlDyv|~s#93LS%BeVO5qr^8x7S*EslSKno;HQ<;kr-T(RIk_Vm)hLi|Duyyfw#2 z)A$_oDNEv>u_4iNei+}*{J7?Mj1TCVEM@dkWosQK^B6o!k25TUx6l)sS@Y1Kp-<|J zz3%YVsj)HT0qg?h7h$sP2BRL_enW%4hj>Sa*i3939?_XPz~{wpT+fPv5SAyfFgyi8 zVjjSdLnqdU^MgpsJlm(s#7|H>om*X^xcKP(`>C1LI3<#eIamrmTrl3fez0gq^vwbP zHVZavW;BZB_}T7UE~oRs?}+DIM85Jn!k!iKK(-VopF_{Q2C^%J>+TroPS1_&*Z|)B zZf93QAEpp-zsiW>$}j)EGB#XGU_b)>nBpA9KRzoSp$zQ|m=^zZ6h|!QCdG9^nHJ^Z zzM9R7hfy@(S7hUg?@((v{wna>^(81vzeVxsB)(PgneL|XS-lQlG-J$bS~wexRsI#( z)r!yVoE+(FAD`Q-=EeD=&Srsc9}eeB@lDq`#kqF*IBl|R7o4-8lrns4;7HNvTswJ@ z@%uT{*)^iclSy}2kAo@@x@0&Y7YM!V4IEX|>K|R5OONsEF$I)@$|0HCul$KD|R+!E0i^Uezos;DUVWGuId^CYoq68+uDyd{KsUAw10PQRA;UC zTO0Lp&ut(5Jl@A=THn{Wi!b(gg_*|d#|t0Qs4hGW^}@Z6x70uNncG#ZQ@EW*N1m)7 z&w;Kd)HNnw)Xy?yy$;=dig2keaTXvv1zo2zB7&ZhkM#7M&;p^I2jt%%i;nFIx}bB5 zWWS{|mrN_p7_?ODFi*97;b!LvcpYh7Lk*S;LLRG*LX>T#cvEioUy%pfi|&9A<496= z;?E@S_CWRwLS1~vrCRo9377U6$_~$k%1+)Y>-sUxr6}tjD(kZ?A5z!L>K#*#x=uZe zgKxE@aV?PiDXX_*UKV-1UKaG^u_3?cb5IAgwd)D(=l9fu-y=8oq@UM4t6ca;u21*W zJ-=d3(9T|>IQ-|V4Y;RIuL*qObA*?RhF_ZQ6_##Qk`B4jbgxpJUz+aKmhOcLU2f_m zP4`;G`K9Szr#P}bSD~k)zohB@Q#gKUy4PE}Cnf3dHQ?cGkoP5dY~Gg~M?VhFA4GqM z?zx(9s||;YhZ%pbcb+pmSU==CEpTXOZxapip-P-FgLeC@o|Sul@cm-oNJE@i(!0ci z{NPDFTqWDpW3PdZ4wOT2%IK6nk=S~|vM&hA$I`|_e8d^7`R6~9Q zQ`nF2UghuWsPD5f_u21|^YRSCGopq(7;Cl#pZPjm=;SI3-kF;j)|Y@zDMOumEY606 zztIo%E7!K(b=bKiR3ZzzG0Vv%RMTu~XjCvBP8EtB~hy=9(} ze?OyTn`UX7p$oPD>Y^uA*{AY5^Axt&cCglv-rRUg%T}(~-EE~@tNN9&oW(y@PV5}^ z=6YEi&EW?>kl3D2=sq0>KCbvD_47388Wuc0tsj2VrwDcVngHqCwik4=#W`Jj5IdLV z^?Aj~tDdf%eIZX5eL!gIbgk@*Mt5QFwj9?|eEfXEOlLxq8MiiOLaS)EFY>3grwSwb zW#!RJ&aYVhKHl&?z%TV{rXR?@X7tV*`exd8_6?);I&P+GW#2Nodi_Xv@#o^353KQg zMzn;Vv+xEBzhvQ8E&RHL-?Z@C7Jf&e>jrJ6y`wRbl#krbr-gZqm*Bf7> z{DJr&_YW=nk-}Pe$;isc{sVdHvA-{F>V6?}BrApK7LSWvxRao!3jIIQ7z2=xOPPP4X%;4#h6`g- zl8@KRKE`WbC_QBDoigc~a^^$b&No7!vah%Jr(qvd=GL(6hWhnD1 zaL(&M<8>?J#W2;%Ej0MkHeLwkforbPAKwf;R%mW=(cD6g(nI0aWiGE*gW)|&EGCSz&w6D2~&m61l@%eJ*?vyNc z-f_avQES)wyd$(lsSg*=Am6)3-0MJ{cTStor^(}*=?6V-6F=satfii&`je-vC$r(L z!T=*}E@=Ws55issy|YhRY)tfP9U6I}_xgNEm(S<&>>OJ9Nu(_>!0D&FX&JMLvZW&)UO=qQDoO@Y#cx342xcx8t)4>`T>0_cYigm#;hxV!eLP?7PA* zZa9i(!TwnEmG#){M!|M1k_qeMzYzVjzKNiC?xjV8&b|P}Ja#e673gsJAn&P`q1KIwHhZZrJh;!gd6*e-gqcO(SWsUy< zqH`U3&_iPT0@H4tP}W=Per#qc?6IIOhcCpUuOQo4TF2ydC+Y1O6T~ z>1kh`^eeTBnyS+$yI0Ta)7?QZ>TJ*KP-rf*lX(Jvht0rWI@ii>2h9aDI+A2k;*sn8 zq)MiCfkzYGuqJOUy|wX?@YOe(hQoKgTG{P`y!viQz7!JqA64A zlI~7a>W4Vg|50|u@**{WVw`aDN zHMmxG%%2_IQ}^_BpMTv$@ssrnKEK9--0o@3_FjT>`8)~QI-R~%RL})G>UrHq@HDR> z#e3y-TEQdC)1Yn2>kOm2qIa8C7ifE$*Zo2onI8pa`U1(kRA&PUku0ZShLVjiX zfvjWnDQ_=BnO6H`8)&^8RoW4w^>y7V6sH_lTDZ}|QH83LLCTY^>y9bjR6m;p=W=<| zvcW&E3$5#p8?D#nX2qeost0dhYjJw$pr26qsy^$w)lp{=p5rZF>+SDl=Jtek=T~p@ zb~YtAm+N9PT`RlV=)69r6{kLC6na|vVpBWKSz7uC_St>jC+WRI+Gv~My)VJzNUh5h z?Wc^apLzbn`u2r&;MLujaj>jY@sHSm(Xb)_G}*be;Du9vs8f>IL()->OP2V%!UB zoevg|>UwZjuyj3mi{j~e@K(js_25ax`>h8vW-n$v_|B1Uz8-vu;!W$pz^m)Qvx24T z!O*1Z!SnF4J?5-y?o>Qo4}O^9>3T467GI%#xbD;S;1EyNdl|pd_23Xs@Qg|6dT@+G z5Z8l|rPq3J1xKQ=9(@u2&DT^!&@6a6TZoM@Uw%w_4VNA)Zpdy;O7cYNz?V}qQ7VC%J(TA|~TA^eth=NN}CAW~R34UE%Sqyrvw- z&L)50|Ms~5BFU;Znx}_1@mNYbd890J!{hn_YiDcm^k{4Nb~|N*etg!yJsch>g)!je zf)9_5@@PLit9&JKe+E`}0|U*gL^JBUi1cnZW65iabY1JC+3N&LZ8h(4)3%-SwOX}R zM_mlh>gkl_#%`qH2|b&QGV^?5rOrtDck%Gc-qY?UUhJ$nMX?H&>#OYW0~Mqeh)8}s{Cfcv`Pn}J(DWS&5px9AtHB+tOh=$I!Ee_Msl_4=)X zBmdhKdVebDi)TC=Gu~~{dr^T8&)o(x{Ka5r<=~!R`W^KC{GH)A2HNr+qQR!?QT5EM zo}cRZXzQK88f-ChjHTJ&(su>Ep;T^j|9>~fpq;5dZ}a!qy|05|6a1IcTAR{dqowoCLn(jL+y!WUx(Bt##NT+uk&)-@2!>x~zPeUK!S>&K>*~hIt zsA=;{Zb6ZviAxgJ-@x$6v^_IIXDAnX%h}!6O225&!*nz!@zX6nqni zz{k^miL}=5KCgT7__BU*|6&M>^_4FuPT#pwd8c$=H9GHuUs0Ss_%(&O+)3Xi?Keo% z;QL%C-syT&PAlSXkw#Z4L*P^KbzHuPtNS|N5g+9Hu0nXxzD0QyF`M!N^L4;A`8u>g zweOR+uV&y&P^aoOdRfPz(NCf-i9~iqDLw1&jo+E(SoD%{K9BosQBLE+h?BC zxnNSm(Pka(vu${0e0Wq}rx>2uG~1bDThE4`STjF1Pr~={vS1^*KS<9@_5Hu>*TVfq zzuzW5ueZYA+9SJ3c&-|*UEnA`{L}LPx6*m}!BPI-3kK~c6&B^s+7Gn;3zeT&^v@_i zWh5W>C2myQ%YjcY656Ge{aJ7>Z)eh-oX{5a(a!$YXq``v({p&oVYBZbI=9(>*L{?u zJ;=c1_q?O!wwyh*?6++TPfCA3#bswt7J0JwHl9cy7z%`^u+keuJ;KmvB|vy-z`(+wOe@yQQ|9_m{EV`-z8N zHQViCRgJa1Bh6TYK8C(vz6I|J&`med|Chbw(y;S)N|}7l7<4X~Gae|u)j8v>fHnBTyl23i@z%oo<^J&hSKl+h zo>5P3&u*)-xeYtW?tPv}AM_vXNIGvv+KBj})Q#qehgcnXn-w_WO&7e44-+lvZ>P}t zu1ReB;eyxr2!BMcJcRRk;^htV#3uWKty-*K_s_OP%oA6uEXmxcX`X1kP_skzH|)ca zq^Zmg1FT_wh|JabA+YNF5Lk77cog|G^asukV19UeYX?=~BIk!iQ5G>PET6<+wgx?o zI?^6wY(r=J>|@p%k=!hu))J1z@((V>hjQ`g`*^g1f59W)7g!+ll{)ry zw`(C!xfnUHvumUmZfEbD>u-Elcdg>sK4?;#O8f-VTbMET6;_OSe`zKpI_fqI(r%#ji z-h$=j6U@sF-EqRD<-3pKq#;bx3@Oe<8tU8Y)#*+*yqCx2I!$oOe}+Q%QhzDmqTUKz zFJAXGUS}CE&aupSRnD=zT6yL;mD#_4h76ADmCrer&$*V*wDF4c#dpW*yo&FPdK+A? zyj^$J89(YHmF)t-xtxynf_Ihf0Y>L_yIyfVB>0>%8092IC!Y8n;sU zTo13Y@1JlMqpuUAKk^Fma}en-iqCGe=L&pl$-clC_MlMr>Gx4s2YQKKV2sD{6z?t` zE;>Eri~!kQ=q^ycI&rZCA7EK_Po>+ndkMpHuTzxH_haCH z5U-w{cq%mU^xp8y?M%hz#=GJEe!8C-<+SYRi=3^vpIZpO`zt;+K9QfTc%I_+F_YlC zoUeHLJ(!CW=K-MmHt2`%55d>Dn7AJ86nVC@O9W&8IB9q{3tc%owB+0jk^!TyuV-gM zSLQm*3$%Ar^?#XWo)T}w&tasjzVE`%)}wAai#S{FQqgf$pX)RB9Y3^{&jq zLfG!LSag!|G>aK;p3-~V({U=C4XPT--+kMSv9BTZV&r*iZ+ZB5fVQlZWoXEzOprKX zj?jaX+;20c5>1;R8kj94bK%dm2JfWy^KtvZx@U}XyY~>qv76BN_=0^S-q9~x+RCmV z)a7)keH|9gZCjdVqorxWU7#_9tBxydqVFxgQhXTGM-(F0sD)jHE)V5_*CxSo83c2= zn{Y0l+x5*#OFrX)Z}e&4SCdhEw+PNv#|bDuhR?6OAm~fu8N${Nq85AG_jBd7q5L8} zDbp+EN*ce^lLB;BNQvb_s*%OM_0N)RHi#Bp>5R9#Ef4j`7@4+Rr-g>8uTU2=lULLo@{A&E^=Y;p<3aLP3rim!tI^d!l(7%@$`fTej?TszYreJRG9L3 zmf}tI|Ll-1KA%B%;DH^1$8!~?Jf5d`6OZSIbo#E9ovSsYI5u(4!ud+L!{R$Fe5i%H zEWFObM_Kq73mZKk_@~YJ4`i<}dY9Gd>%6r;&S=5m8yEIT5!rdJ6Ra&>ELz&) zr53*2!dF`ODhpq&(8rt<=kg#sc{R!NTBYRz2VEggS=Op;O6Or^oS0ZSXh(bl_W_*$ z>n%^GBX7?8E%GjSq-B7nsSIy4e%}7fFY0uy?9E2!b@e92so%FKgr0P{46Q;2a0AkT z94EbGF2$Jq9L=R#2MmOH)<-$lSvcl6%)2yy(&}2=n_rzzT@L;no#xqNe)S;m>*N9o z&-o`~ikC*@#SHQxZ9BV4Y0G}RzSSUDF_&1DZB^XoOpEs-V%cu#9FKaMRKBU>!Mp|d z6!JwcAk2-Xp*v@KY=_Fk+=uu$QPC5>n)qyt@28K%y-;y4^Qqc9w4a_*yhbo;l)2cy z#rp~EvJCqmUq|{)lT-R?Vchk?B7b zpVx66v?1~TQhd|M)VvNZ3Gp{5&RO%MN2a$D7r#wL|2D z*4stHRh?(C&UlLES?@4BG&@T3tlenk(p)R1ThJj?nflDPY_;+h&bJy;FGijP=38pI za;Iv@rcAJi`IeYUG|jgfm@Oo8I^Q}@?dbEZ_voIn(e2%P701>>OXD_po&0Bfq&jUo`-sst;Wik~=U*RCoO#iQ6(Z+HE&P~5 zmyhzn>l1?IG70A8Xu`R?Zr?wtwB+-tz&HAv@TPSr&BjYOZS<+*jAynT(fiKl;KrwQlZMR&QVmL|II^^q%`A6I4e z`AQSdbRI%FEEWBUzWif_dn@j8-KcmIkDr8e#XRIoienqTY~fcb;a4sGH4DFP;WsV( zmWAK8@H-ZM*TU~x_yY@nXyK16{HekwIoR(F@Pwiiq_OJgJ_Tco=8Dv49=}&Q-ZV$4K z;rHl(-=kC9FJ}Kt+*5=$)Sp5CEuKo1TXX2l%4VW7<1DC{3$+LLQ9UxxSy&F6B-_`}nX*_iGe$n|XlZ=rJ_u9GLj6^kc8kfrPreFBCWdafEciVT-4;QRR zTa+ET{e?@*cckK^AxzU8r8pO9sBf=Vr#ss4ULGIQZZ9~p-$5aKslSwOQEvsV7q2@S zuVbB;)*y0TmAyjK$}`8Q9uCDZ*M$s@>y^)Ome28)Pno`*JyrW(nt2uZcpF@w=*|ho zuiTcc?5=`yx&G2#$XTVko6&jQo~Sr9C-tEBy7l=9b-z~hb>8jlp2j=i)U|N?6C`|uP;#eVXeXa)J8rY59yw<$L-l^ienF<@o@vYMf?o?n7f@$sLSb6 zyLn&X+-9X|&ayO3xauCDB3)tYd=2_c@nNjKpF-q1+ro1cx;&JJeC{t;&Pyby8Ps5i#Cw5`%L&6566(W+Cfrgrpkvc~Gx(OZwop_rdvoo~Hb+ z>67l-KDdYX!TCO%ru-h=C*9-v;GWnA_vAh}Ut4BB4So<-1;2-WII3`O#oexS6>pMx zEToHjVd!7*pg+N5v%-|exZ+Jbt_tajHRwweM`tdz@UlwyK#N~);e#xEu!Rq?@Cpk% z7G7!Lu!S2f9I zbiNm6+V;XU=Rc6m8NJKu^mQ59**2pEhwoSPTScsIo?v@nrbJ6yTy5d3h4U6}w{V9- zx4kK@DgShxovA{Re_6I_ouu=MGOm!Dc4JKRvCsKGT(EHUu|3s&Di5`?JwhSnV2wYQ zwPB4v$4O`K<;S?9kPx@2z(@pNy> z2I9%ylnKSXyr!v&F;7$+dk2l%J8U)a>-EFee-fcCr@KB${}kb{Yt=MQwKR2HeZNVOSKZftviRVG zKTRQdJl(=)D0F!!5BWSxu$-4*E_V~o<@538*-A@3&k1~^uMfYP{NnpO!MW-<0cEop z9v1ZVtwsCm!eV`WW7c0KvITwpMatCM*I%3*)Z1FsQPEbh-t^zIP90Zm4-TmsD}-{*o%r_m?#3Te_#Dnl9Z_QpNdNUK7uBPf0bM??3)m z;>?lyM3Bd!MT`?qm7>k>?AR`jjtFyt03!|9JmT@F`!YJez#Ve?hjyr+ks(>E4kS z6HoSz5Ks4xyfM(1_l~?tFyA}!7Tu?NN8YM>YWx z;h|~VJJP>qn|6)#U58}Pv}{3m7VLh>dnH5am%LAL`UU-eAKmYZjPga^PpAvK0zCCa zKB#z8nh#l;CR{Oo#OHt?5G{VdhZU0dM-+Nq?q_^Vuv{kfA(sjMRh;MTe#Xa*|0e?9 z=x30oCY$(vN^q_^PC#|q)sEA=K9z?)4Q|r*j4-G4JtOpe-!oF}>(DWu^gSccrq7C? zPv@J{;u;;;ozwo!+<*47p^qxh{MpcAHYP~7n3sN1>8dv5(}JZosYf1Jald&nyX(BeNYMhTl8Fhc4ewV_=(N! zyGQm1OP8+ILf#>2NrmS*1-ZWm8JSy{0Yt>Vr!v)ZL)pAtd3 zzEYfpr6rdAHAZ}oJkR04jW}lfQ1O3qHensJX>TR<&bNVlU&Ve0F3)aO{`h>{|4#R# zQb;*7!b}_Nj(AXzH(({SWbT3jAL}yukmJ__X8#Q!tHm)1w!`)>uxxLO?;9BxJ^q z?d1&Ih3;JRx=cG0aba4}6F(pcD+Dr!Aaoytw6t^k;!Yo(bfhoeA92EaA8-ge0CDDm z4dIpG9jT?Sy#ei>bMvLL)qQ^6y^023-`Whn@xi?Pvr-v1Ff=$=Z`B+9?&Nzz2k~<9 zwS=S7t?e2@TH8xI>*#cpCEU_z8>MNx+&As4j5^<_80>>GOwjt6_W>wh@lQ{6_Gdp8 zciL(89fAW9H&`1Q=J(?H9x3IH7PiVpMdt+J-O}~;lpwb6QsE$^OFQF`?{&@&4lB+A zTrSrZCt4ia=u%R5eeun;3F9L|PehODM~Xl7Lg*FG`F*z2FRnAQPeiK;4k>fZxOC_! zLhO$!<{bUP>>{3z0{#Gg5q>dvT$yL>7iObdiurcZFZUsy`b)hI`}D$$;0UDSMOwsR zi{SjB&U>ai!+#V|@`60}tTOvOt|vR{GUEZ5sL}C8f7qR={XHfgqSJPxFzc9d)DDlu zv-P!$v&^&euc_OWp)pEd=Y+0{8DgwnTc4}Rizh1(y;w9fbkJ*e0y7S9AEnx7^{w<^Eb94 zm;?N+t>*YBa&i7Za0226Yr~kl%xm6WrDj|{38Lh`j1 zJ3kjs|GP|^F5*Vs#Ap1;$R*0RR9L`#Q_ilX%{M${_;421-G^HU`n-G}?lG{=GlLDd z9yWIESom{`$_6z!6Zbx7>A>Q}$=VHFvNXG9?HBzP+SVr;dWGOZ`2Msrw87TS6=ppZ z&*FzH2Ad0-rAJsG$`VS2EFcU)QNMrTz z+jM?@7j#J{XIuH{F6@%-nHhXu+$Eiycjf1INtblb&dBd6UDDl{k#2pLbT?DzF9A zS3ZaBBbXj+0-RS`I<~Dg=%l54TG=EsFwRee?H4>qKm6I0`H6FoPWrNVe>)>s0+^Yf zz$T#h{6yMD@BH%URgppLNE6W!-i zkGBHG`ISN5anUZ&rfQhXucX1Q0S#VB7$Th?A@3$^D_eU#(b-;5^b1m`BF!cfxI?Q4ab?xzX)cY1zzMT+A-6F^B3QTb7W~g z(=(A5{Tq8t5B>^aUbI7mSv!Pxvk@mY=?27e%q8=09M?V#Kl)$vsVLVuc;@`ubIUf| zXTny_p$!HNJwFCiGyiSIZh&dtIZr42SDe4+^L`Tu@RE6(kT1v6G6O9IH{S* zl*h};oVUS<7$2#JQehrtY^Xhi^WfnYY+U3;I+bF*yd3FR7a|{#3uR6lcq`y659ujdfoSm>KJ0%%S$Kr>y=cs2()%*?!o-%=^B9d8sk(n-Jz0ckjvD z^*_o-&y{ojoN|tjZD$7WMZU<>ti8Vv&luY>X#A>s5!P$(?>AwBt>5(lhSl2pKbUX? z|1iVrqP6#rFs#Tr3%r(p261*d|jG1=-53G-;wU4wt zoU>7uXoTP9hEFqh#66;}@vHGsF}S}R#>d7-9o5N=e<)jj{PS5AC*z+75Z7&O{0Q*p zuZ@2m>C(nDd_RV3<6i(=t`2MCor{vaDxPC+ba9sP!Jr$WyY$m!?V5TeK92Mk)HmuD zVPSuVwd=2xZAq4!IiKr`QZ9Rsui3CbiG^r)h8Nf5sPA6`J<<2C<5_%3^Xz;^>J;(5 ziJ!TY?sFYFgcSgFFqV_?(tg;+82%Q1dR|`P*gNe!t`H-^HEj z*oTs)y&^w1L6ZooJTX3D8BQ--3dwZI_2IA#$_AKp=&LnM`s!O!)`uxie|?zpx5nD; z%Z|@imx6x=kMRXm_G30azHn;e9|V3lkcA!)mvPZzX%rVOk^+zG!`}lQ`g6PFYZVOX z_Y1y{c=0i~Hv9vG=~rk(t_%N*!_(`+KV+O*7iM`54@{pOFP7nTwka=A%o=WN`P;!+ z7W$f;&zALDt_w51&&EeZRcX$)u&~ISbNK<%bXyl@{pfXJhL1>D7iQZor>qMz-d`8~ z5%W!%r{TKr4-71QZ=Z#A_b>hxGvgf*&dyaOzrcce_%YMf<`2nPc03Gqj?0 zVA?ZlX9}~H;#us^Pk|@)g6)?udqwS+c7^eR$M(wbFUk%Tvg9T0HG(C_sUa+7oEpI* znvJUL0`%{;6vJUL0Gapk4vgIl3z<#>oaY)o5ovZ`<>85o_ zC+om|x*0B=tONg7+3L`5y!-E5_`lu#kM90wcQ1erb-v{8)7^a^++`h@v}r%ll?0@Z zzwlYc;LNAb#WOG3KH@XKihE|BG6rY9>s&nZzQR2-|IO~1JZ!@=+bGM=_Ah$Qar0vU z=dTT%%8|B>@;PiDnE%=ja9(NY{B>ZR?tn0z9UF)37d%LR`@xj4@z2Y!fmr8E+o%3Z zz|7c~tB5puc2t!zqphIC!`7nOP2ozq#_?&eOF$z%9b#QSF6*$5Lmsqyhr9a`?tUch9LF$E zDZ^2S6JAG=hOna%XD&yV{IJ|1uiiQ=?NkV3LYGc_fMWqCKV{r0ALgm$c09t&qYpSy z{)J!;;&~dkkRy9K>-dPUav^K%8EKJ<-sN)?i6TufcLY0x=!eU@5T&GOy z)4A5i{?}g9gVS7jNT<(4S~{U!G4`f7%lQ9z*7UiSD0x(z&*0PVbMz&h;Lkx`)bCr% z@in#uz-Qj%(T+phT!rIBktf*3#k}K6 zgZXDC^C^^q<*r;BpS~P_Y4|HceEVMh3WTXs=ix5;#yps3GJP>v?b2)9^t_6}1zuj~ zyS&!mPTFV2WETIn;t|lXsGN4p3YLs6u+F7l5xlj`tAJlvU-sLLAq^&0F!G!QBdIJH z>m!22d5)(m1oB-Rmeo)9Q>6p^HYRDBGJwA3lXVm2r{~S>d$UX{Kjst1F9lbSDO`j} zKBi4DQprR3^LdbZ&d#G4Jk907KACOfN`!fTI_@&J`c~w{ANM-w=OoWFf~rSvv!k~R zcj6PQWunjIiI+dp8lB<#C%7fDCa;bI$SkMcHid!^tK#9_RH!G}$^ z4&k9jwYD8E-O2kgPjR&P2}sU|UW)M87R+C|G$srp{Vt#Ngd^N=VFPc}cLKr8r(Q-l zmJIm;N=ZYxjSrD>kR6H za-^%9FJBU;7%;qbv~AwqmGCGO&Ata@;iDeBZW7q^8=0Q6FnJbDJHuJ#?%g7rzHSIu z{7t~Gu5MuNma@RN5^Q(~qSfKiR-I8c%~LIos*_^Cd`Dfr)PbuIM!xPHXGeEkBcy9+ ztZRfcn5IU$YHoQ8!kimvZm+inhnqWW{m%{8~zHlAlMDZEN zK8tfL<~$%MKI5qOn@yZie3O>?%efahCz5#mh#N(moNI6P1Hu+@f8gLyYmDpN5{Gx4 z*6BFfO3Z0r;1CTS5j)3p0?>4&>ci?c24!;En{uGH{V_YKcE;~i+B?@HmDS|5SG5Z zT&<#8J!_HlTZD;iVA>rDcb-eXOU0dbuI-<6+&mXY8Av{-xwO}*xN{wzjyn!u}q~e39Aq z!`RA(P?D8O1(So73VD(GDahakSE4{@6N7hqR7Y8C$;ybU1E!vAh2*?xZ<_yux(Q zoy`0I8wD<}1TTyX^Ru=qq^ZWyOh-GSVg8u;<=~4pq>0A;JpTM5J{}uRGp9pp0!Nazh}YX>Ee9F(?#EY zV)^}a`rJ;gMKM3ar^gHB8}X7H_cE>gl674Q?qb<-5hnQHx+|hkWTt58S}mraeB-<3c2(fgPc8g&2bdV$}2JEW#a75 zCYrG>{UB;IoM}MqKT}d13vhMnT?~ipE?~iq< zD;41Cu`cV@AM3IYTL(Nn)@5Jhk9Dc{n+;wx)@8o_SohtCV_Vl_UD{B8tjjomtV{do zk98SW=2+4Wij9xUwEkF^asF7BY5lP-<0_>0D35j7X7Y@6-vc~e{#cja8s%8`?;O0t zShusKOdsWTU5o1E18W!9WDX-7`oIcUS$V#5fgj!@J~-E|o{gXQ;H<~@xiZqry4O8# z>M$l)TWhtNJF3iD@A#Oj*+}9<+(=)~H7@?xXZE2E-XHQ&3_jqVr5}!9h2Q`>5x9~t zM1meK!bWk|>9)Z4=d}rSi;)Li2X&b}75z=j-fefgUW{zRk(KNyb|{sVD^o^YW^eI* z;9Y$BkKmbp;_=v5un%(k0(?lW&GGj|JX8MseGSi29;W}ODgQpf$ILwqHZAz3^GB2E zrUef=7=2aJ6JM2n3&Woz-IV=*5iDAJm$`!bk%s9%g*)?{<7nZAE843_SS%lcRlUSv z@%@Q?K#j`prGuP8{vcu5-}Gg-zv)A!%+a18=wrRruv6@ua~}mc^xm;Jj?K-m+@fJl zu@rn9hA)2}IPaqy+-)%#KHvEqW57!%8+uQJNCeq1SpPY~QG+-T-$;{F3 z7kmbIvJZ>0Y@8I+#Iv02$AIgKOB$sDc}<(ch+t;+vEx~r4}bExtfR56!=GLKPv{A7?3yux~{{8& zc&6U>yZ3+>KF-33cLZR1{Qh;&B5m$3q(%6KqkS^cXuN-Rcz-y|;yvi_j!?9jhCDEz z?*Pu{!`yq@mOkHgAFs2{*>@CBnC}5ku4&M6zQwz&-5eR}$1CCk1NDJ(hMSG8Vb2i* zRo1w!1N2yi6~=ZJ0^w~r!n7%baU7t__Y<@=;q^z3SD7C<12C51OyVFtZN)r1pN!v+ z4ZnrpA;-6*IUO+KJp=7uk{^TE8-80iM_Hrk7zf4 z3fVw6ad-jOd`iL386Kt`!8vngbi8mu72XbEzXWWc?x2`gW%`FBeA5<)_n(LxsqL(? zENmaN)vW94#Y2su5o|=Q;Uqz@VsaS*@3rBOSDt-28+PbdpdnYmwxu+-toaEcmFfo9 zjJQU?b|HSjuR%|A^DM*@_8ZB==>c`vv?bS0HaooEd3d5)XZ1)?9O7N0Ocif z=PxmRS*h?x=Ix!;{2=OWpJ4WkKLIA!$<78ok{nqD@C#kRr_aJ7hf0A+Ron{a&~;%$ zyvl;g34MK$J(jwC0Bz_&V}EdNm8qks-a}Y1f`xY1^&_lT(Lw48!=>Z#pzI^{mhqyu z(*c(>v@wLuU>aUdZ^<9+QAkh0L|6Ag8s<3@cjEWqIg3_|H$_Y25T%Q3u7)v*xfFkM z5D}%r_aB|D-W|+9iDVD6?K5+$B>LCoJKMXsAaa>`!ZA_#Y8V++%$kkiJ0`oRZEkVz z&8;^bzO~0`eF4js*KSXCzd?ID4RxxD-K8B{-`UvXb3ekC_2W1b_F3!KUsA<>8l28;{pM1zKjAC3)%&lhVs#I*Vb{qaGB8KtqdmSN1@Ea$rgw7slL%+X-& zkeyc)S7sc{s^hi5vh40b=(NwXn73y)x5I88iT>_jz~mCUnY$ghO}L7k4#v%@K5Y}* zqxg-FMgDy5G!L<<-r@f20WHl4)EGft8vkNFB4i-r1FX3N1 z8HgwxO})y!M_ z)s$(PUrkv?-m|sMtdptYS04}AXutXdhGTy9{IkTbJ_#`2uRbNh5B=&>5x2K~^=Y6X zSE^ra*-H4;>y=;4b|L=BJkS%}Y(V~moi2GeJ)jPow&eWkS30~t4^Q;#48&8v=Ho85 zfa!gF1B1Rqu&D1AznZ!ye)Sgf9QUh@ZYsZe0rK?y>V=5QkMb z5Wo6Nz~qwtA%|Z*VUBY7)lMn8`qd6Ek6-;#Q%6y~Yrk4x)F)$ip@n>Ay^0P}Zx~)o zc@^;sb+BOYL~qXlT+-0SFwMClW0ywkWJr${;9#PwOOS?nF2$YreR$5I72{3O5*?4y zMK)K%n8aL)zd4AA((SEZ?NqXNzglWI;a5kpi`r(IU!B$$uxxq#>dEdm=&wE*b*g-- zEWg?bZF2qU3iDQe^)iMt{OaX|b?~cK5T4>!C*nQ7dL`2-zxq5wC*7}JMVRud8J>t= z&9db2t3~Mat5-8`&u)reeLi4viQVk(R||D#1)~Hhesx^+Lwn?G(;DPYe^T19?yJP7 zO~91DOL|w*zBzhp9X;_WUypG#ao&u(*s~R|54R)y6jOHC5+?)Z!##i+_Imf8j@YwH zflE8J9(U3uuFz#X!y8Dih@Z1V;(K!5Ui+RQE|51e4KB@tp#zxqJ%v9Di|nBAcO~eM zk4?Cf7HvdS9t0du;(HR7=6iC#pznJ!Z|!?hj%mK<>p;`@Jy{P^#rM1nveCZhdpAK$>BFA*&2-#+fbOyAAzHXw&CR-9+^r!eEC57TQ>6hgqMZd(;<(hbgNfexdFaW-(s$wE?)K zp=}|oDe`q`#6E`fD0~MK9UVm)=6Nmd#P7p%7Ofa>ik9ehlrFNh8pb5%QvA(9M3gS_ zIj`$^E>~2gyrg%RQ>xdxoQ7w#$4G8bdrb2;)9gRXmDk^#?7o8j<_PMui@zBOOwZX) z!aQz^c`JW&jNuG_vrSkBe{-Dh6n`@j@A;eCnNIneI}Dw4e{&~c%HL#oBK{`J(#_vg zLO1&`b}?_yUW&hY9bj^ay^P$)v>}9|p2yvctG#*WggP(&;WLrH_BVC^i*tO>Y zm-gyL+)0eczMyFjaid=R-Ey_k1D4 zq3_8Zes(XxUnAc4J6{yxhJNRZ5jRo4lV=QaFTvk}hFl51)3W3{opO4qXBA&YRa@<8{)9?)px)H&me(gTzXHw6^&-|)+ zj{BKL50#&JEAsUH%vT_;tDk9PmCLO&n0jvWmCVz#nV%2ro`F{ZCYRXEE@PaC>e*S8 z>Wce{k<6ktwJBxIe-!-t_L^nN>nl#SZKtpJTGVA1U(pF`a_1%QWWLHzd?Ujde&U-5 z>)u8IgcQbIrm-_|wSltV_(2n}PV(|A)b_rN9f(cE{ zdqgAJOOT`y!EWsEKE}%WU=5#ok{yir7`;1(6Xs>{V$a*LpE}@Pv#ezC&1zo#kw^C5 zA9m#q3Xyyb|L_e?!5r?XW*#@PV*)z>KK6me&rZVljk0P+I-Z-iA|oBYZU51XbUfGp zW-lG<;~-VvpH$B#-t}=M=o7=AVp)s$sXinI14v-pBhEcp)M=nY-=l9hO+#4Z5YmO7 z$$Jb9_)oN@pGJOSBN+Y+!nOtfl;U?w&Wzg4h{|drd?q6m8O72|a({ewmY{D_Qe~mOVel z)y~z9r>e<9AnKS%D{L*9|!YBeI^HBtS znMb%ung0m%waot&VJ-8An7@)aeMT*F2aoCck4e*$Ielu%{NDh}C-ceisVVPw-{+EXs+=IX3qMB zk&QhMg6Td5e15Ow6E5A+&KF_2v$6kN>YRGZaTenr1`UaCBR7fvm5S#%QG#R6n?U|d z%eoN!-#UEpRrq}@(u>Mh41NzBhN&Mc*U#}T5$SLbzol>I&jOS&N>>Q}gmlC^4DrP4 zv=?)Q_cADZiMioHG5XC=g^3;R7r5>~_~-j6d>_TwYjSIu##1pUx@YpleNvkDFQKkA z@6&-xyk9yU==46VJ~qa@k6=u#*`x_KNkc1Dx4MqJ3bTvgiu?Y!&rkTBsrcPj@yoR} z&F}G^toH}5(Byh9*KdX9bHaBRiot=3rde-vI>E}d^l=uH(+QS;wu^rlzCPZ0ErDfq z83!>uf&#m#CzA#+vGJ9*=K-Z8YIk_2mCB>ryV`zyk*O-KzLJS^MWT1E*v;>;ghf) z!TFCvP=1;JIFzzL`;+e_a({rFN3?KB=eYSbe zL6|g;$DR3`{D6A`o_XEi{L#Y^mh(nVK85S_`vpfLPO5XLvAuZ>Ui9k6yVJu&ZGGm&BMpn~;MdohXsY$Quk9hWq@H7p=Xj?Q5rqQLbAVey^treTU9m0XU)z=n!lbzr_b@+{ZyCb8#I~G?uy0$Q zh`3I+q8*M}HEo8biMt;+S3(eiO5ko_@YvS1}!jrZqu*2~^AWehu zx?QhBn03T>-L4tF6hF4>r|^zT)3z`~dhL2Wa7&2340oX`?V9}ScD)f{(!3n^Fh7*< z3WRw{yS@lvzg@3IT&H$@NebL=*Bca$wCgKXUToLYS+?swc> z%dyzW_B}0lnv;jrG26HF?dl0UWDY6+jvlTuGFZPF=Z;-arkF-p~ z^aJYo3$Qgd-thb z-YCe~x9Wv`-f+nIEKLYU>S&bpf-#4jov6n{)F=KZPpKQGy_UiaW&|yB=eWau7lCOR zCHS1{i2Te_(02H&OOr3S&~!;v)AeD8t2{}AyxeT`%Z_DsAuRFQCKB%%%o{fGI^J<< z+7^aL@Xt%eQO^W!3E^kqE_COb{4D?W+2(yca7gp7a1ZkX?z0i*B{p%4@X>mUM_I@? zY6s#v*~FbGaNj2GRybl4Z%}#BCQ|2V6Q6^4xzcRn|23VLZ{tvxSvM>`f9YeY>A~}y ze5B5;otZi7)yB>hf*<03ImX4sLrb7iJ@4A_+Hkb+HWo0xfVG(LD3ox%!opxx*W#1x zY2ZDJgMCP~*aqbnf)6u0Q(f2WAF1&?jB&i}jaih9i(*mgJ;%2Z*nt-zj^$*TU+kW_e!{klAe)BScl44F&+0wfIBDDY_(Jefz)6Gi^`!Sm zjs^GLyiVA6gl&xv2Pw~6QFf8%D<~&rSGC_rJ>*Z137Phl_|g8o%G@Kn%Cw9Ue9rww zd8(pw<{5pgsUfWgTy@B*$S6|ONE=}9Q z5DETyiCw)DxFv+&h`Z38Yx1-F+h?2in}I``ci|r92i&_6<|TIZHiUhr-xe_4yN&Fo2k$X=+fED(P?R=CJbOiWK8)i? zO@nE4+x~lmSwD=|ZJXf_;K#Q8e%^6u+7^aLuWf%2xFtmY1MWgs+BW&uZTmiiN%OOxwC%q`*l*kKLtLk}eQyffZ`&VIIMTL1s`Aop`(ucgYqHw*RMJ;HhGbo^ zxasYBTJQ-c3#nhWYxIBS9F>OiHMp0G+J8TAiC0F5`o(ANA=P^D8Q{=|;C@u5`K(Lx zb?6pp6ZR!DKUD}GZ|K`~H|}TVPy05XN7_eaY`6E7w>M)u%w1JCdXrbi=6n(57n}1X zJZqby$9A&jC2gANzKmZ0d+`->xAkUdfTG4Dmd5j8v^kmvY2OSQq9fl#n0ml?ZF3lY z5I@?Sf94&Rrfp$}^lZ+zfLlWJw{aJ`R=t54> zA351beOo(W?E=@;<7?~1;K#t1c?ynIWPegLb}0ov0gmYCLadh&_DpA!erjNLU0v(b z&k;|&*|@Xi{lbK!IVntQg<~=H^WVph_y!&O8TPpJ68#z@W z1<(7e?;LGahek&5WgZ-3iNia2e4=~LYjqvxapIJ$I?nILaxG3h+uCgH3J-wIPG7kk z?`Nc?wWH5)3|gG^Yw&1oeZf47J^C%;wd{U}u(WTc`3-(-`@iQMR}zLu$b*-RCH@<@ zC4~QgJ9U9{mso{Xa~6OGdO{JvL;N}yc<{m4S!D-bqI4o#UfyG$=<99=Z2XH z^AV^_G33{wCS=Su%{qOtd%k0D^!|e8Si4oPjd+T`AfM)ErB3Mn49HV-pUAVq)Ry>%qu~ck)H1BbfWv8 zce+2CqWcGcc6Sxc5}|$f?jX?cb$=G(a_D|GVa#{)y@!LzpSLHGx0l|9X6VuI{&hd<`HqX^dn0t+~S>Ptkuqi~b*uXRZH7AS}8_ zyvN~3{Xdd-TuB%rJ^gC#y zuK%eLTq5U;9t#@2{+AJ#L;o`fTirj7ym`7Ww*Pp*|eta~U;a1zQPaE@#E)9{lOyoS9_{Au{9fWO182Np#h_HJh1#~VY}j@PR= zPS&|lt7`o?&g&&98B^G^QY>N(KH3=fKH>wD~?f>oz|hVQJSP zuW0iN49~U=GhW*8B0l3MWfDBn@L|70o%0gE@Jytmew>B7`1DMZ$RFIEjd)&37$O~A zmhBASN!gx^XIr-7ES6L1;T*=}cP@VB3ey)&dMVpdhiA(c@&ObWp&SGN1J+YHQM%8BoBRZ41{ZBD9XluzXe@31XsJU+=v zt_EXta~(GPD5_{h$+Ohq^J`rT?Y=uVfwItNA*@9h&7B`J2*2OX?HKEmk9@Rl#W zA7Jw;oQ}9^wKm>v_7C&h5{;qu0yzu&0t3VB%gXxjN(|H(PaFT(V0&?mp+$Op@AiLz zjfd4qv_sfUX@^l?X5$2RA>MKMD1NjgA2IjH7H-CTD%0^!tF{g@p$~N#!Z#x<{ppvG z?oz;_Jc_}3g}cAvEy@oho!z@DyZ@of6;fihFgfMOU z({R`6Df>iT@Ncei>60)JadI{=*szdC)Qi}#uVd^M98wDI1ARG@gJr`z=gZjs*uI~R zJbW?rSRrP0P&y^%m(5+nmum)EA#`N4>C3-P57nTsAbYtGac()*7%Pv~$eogl}58&!qc1(|kA@ zQS>5sM3d#S6f4yWOg!T>NdmMq+UE7jbM?E-st8RSbo&>W&B!$ zd~0C{baq!G4kw}1W?tZG(DikSaxX!rt`XkBjq4*OmjkC_QK@>DyUb_voyIxfQ{HK0 zm=ZwueG}82gs{De!OK)S=ArAIN_4B?HyW$I0%4Ie zX;BvT?1Dn@D!`;He7AEB_%N3%%T*n0;)-aGZ20u? zsINlaJMa@(@g4u$T{$VM*SKfO>Z_it_#FX}71LdXu)T`G>r^`Cp=HH)SKk1*)~h=a z7Fm%NVfMU%LhvTQL{@ySbb}`=(IM{r6Mnev#dpGlpSvADg3C3trTA$c?os(f`?5j7 z)rq9#I=tk={b}4EF8RFO%ZGc+S9$ro6F5SPa{n3LPbME$MT^0^4IFv|+O%9}fCl0G zwlLeMen+j0yvd6$$NOA*zE4ejzH2M;>q8^D6Fdm_7}0tY`X5woS}5J~DBK zkq2RB{Ee{i{~_e{2A4l!C)A$dBR2e8kV^w;nk*`Z(fc z{Kq}SoZ~43(~6%k_)No8W?a*4#66)o9+pAoK|YCR;rkps6Lvp-=5jg`mK(k`WzM+| z;(gk~6aV;Ah%bS_XK;oH~YA^5SDPd4|cp1+3hw@h3FBk$*;ZxMdYcN1M3dQg>P1dI~r zrVjnY${x;1a;Mz5Hj?wKB=3kD>M!N@olt+`-{KobKOp5Y->q@w`o1bxW0K3Iz9hgA zbe2fs106Z_!1b0=t{{zfVIgTfg_su&K*fX<(QL;X0@jc@3G z1i|%10}lTg|06MG4kgIV@ZBpue)62F_ri(sdS|$ZpSiqxk6=-~Z*uic{{4C{flh~d z7p~3x!8G9dbxv8Z&Zi4M$f0YU3)R#)0g+fGAq%NX)>Ev$SuE7kKHx#)+yh_qMfjOE z0Sw*O?(6tvy&Czte#o>jJkyun44;;s-#1_jgf8vPHz0HR?2*4-3JwH4v7v`zY(k${ z@{N4CVld0)n}A`CRbb?)jeKr)JaGsk&(FqwIeET8J>Lc0XZ$-l=w?>OmwRH;)mIjs zcn6wi7CIV(a=dXVvtO(TuvD>+Xn~Cc|Of?o-XOjCZiAIdR-QYxLB}>*{sny)6Tj+7QAV@&Ttt&>Yl7? zi*B*p?4w10BHUtdyh&qim7!_$r(o#I_~k_4%(d}m|N2P?Cum`<lhc+5XCTcVU}Ch z;JU$aq?0nPBkT+Vi?0!~P3#w(RqO*yuEPV{mt`q*9+AOROt?*mt>u1b?rq_@U~J0_ zQ_~iJSD7c0c@^8|7lK8ANn7FBJ^V2(^^@}wX8|ts={In14bS%>j-6L61!o%?GEZmc z{0QfnaBP!uMjYq=_D7g7J5Ocjycp&gY{Z?84ufri^Iw8%eUD;rH~I+TTHcER=Z%QV z`K_Cg_VWC;9N&s>)rQ*UW!Vk>2uFa<@2qMPB*LHM+U(nKsov zTN}LE$;s*|)~rp~&Y_Y9@x^{bK6)`&e%FqVRB?i!*>zXeJk5%eD?yFEX zV?hRon>B8sFa*ZhyN2s5%Em>>c*m68Q&mNJ_E$GW{I#0njRB9nJ@$Qc3u-raV12N9 z9X^lkc$D~Rqh14_?ZDs{1Bo~ILybZ9`@2kz4`IsW*m>%Ba2wtvC(?JbGD-N?V-l5Mtuxi)d!ocdRS(dw$U+{z8~^Zk~KI3 zXoCYoTWS6bFHv}YA9a&FGmhUdv3SXNyh74!I9=BG5|0!SouLMVl!C9~HGT`9Y3H}? z*;X;lUmQRg8R*sBQ>gMCl#xwbQW9&YY1ZB=0P(XpZ7W`t|&-n`5crf~*_B;lu7 zn!1fhoNgZym)15S{R#H0HU3dh+?JF92CC-GqT!(tsNOl;+$DSW;-E@(ZD`+q@9I&@ zw00b8?^xxnyTn-_mWKtg*p|NYlH0z_ZBCJUiL(S<8-LEjxyN*)h(S9pil2G0vAA z<0e~n?XI$um9q@dx%IKE{$gM7EV47tPIi3OvSV1wj$vPRjPqs3IA3;*^JT}l4zeRC z^r5@;7wl)*Uu^FxyJ(+KvcazEXzTU^zalsD?BvF0EjNa>+!*%d#yDSYjPvEjIA3mz zn=HAladO+)Rc>;&e^P4acj#Xa0Iwo5^Xz2CXDu^^waggyWyUyPW{mS?#yDSQjGHW( ziLPDORc7$ww`TaqYn;$Be7b|cugJ|jJGt>$%Z*_zH->$=G0vA8<9xX>&X*hGCQEM8 zuRgP@+}!Tw4AE7)$nIe9EV47tPIi3OvSV1wj$vPRjPqs3IA3;*^JT}l4zin&Pq(|P z>_VTelcAFhk*R&_W5Kt`&pbQ%@mb4{VJ$y~efcrYmmlMN`7zFyALAxle%I%hU$()M zkC|k&U3~mCl%IKa^5e6XAH!OH4Eyq9oG(Ad`SN3&FF(djw)}3$FTW1P&#eb$_;!y2 z-=cr!*~yR3T7C>``7!Lvk8!^I80X86alZT*H(B!AoixZWhir`oWs>})bSl;nKqx7HvdWzp-(7tH2%D5)_keV@ljs;!B>2K zvM$V=WF(ttW-^M47KP^Xzn&&sujG*1F5Eue*%%b(e8k z?vkgLxx}T(yPF>^b6Ah|yfJ+$Odl0rn5>idWY{^TCNeyOi(TbByeF-09uL_`-I!-r zH+oL@JL^XrCje%&zce`DSJb=SHXXpV0gu4hz^ObDme&C!sF)Qx#| zb;D;}Hw^2#Vc4%5#`$%_IKOTf=hqG6{x{VPeQLIwzv)^x?2gMFE9er}dh9z0`vogO z6K{_WH+g~>`f9Gt7m(MBlX+z=zgq+9ZJzSi=4J1~7qPbsTL;XV@jR@f2Zdtr66Cch zyMKd^R^Qsf(cJw!kE+&anILg;6Lmm|#kD{z;+0h;!{-0X(yKDU>L@8EC%Qv#9O6B%YWtg`yQ+M5e`|wBDFlZ0Yf!%#_#@5j^#pzg`sPRkmW4F2W>Xv9QQL(j zT^`wP-UWFjcysb}XEp2>yb5sx^)S}--9N@&6!v>8Gw06OkKTtp6=T?<)ZeZq3uOe? z8t-opVYTkzJvTy64-RG(Zv$<)WUbR{0*~moo8^o}zQahJ=6)a9V@Q2@pV<>j4yOgT zJ6@$7$legvJ$039{}FyExWnNSMw|#%2p)jm^3t@3^9{rkpR^Eb*`XQ4~`x)XHRzTSwtv`_AB;g9M2Jlc1ud`DxjLa@cW%avC4LU4dA{eNXN?f=64=Vo=2$F_>@^1mV{s3FJ`7_UHkT)r z7@hum@XAIhI{q5S1Lp#um5!P9Wy0AA1^!yV`*GF_wv-t7>kuBUH@3F7S$c0k7+XdL zh|j%;Z$j9%cME?r!u4yT=V90YwynDn-)>f;;<`5X78@THnYi~D8fJTtDG1}qVc@ z|4x^m=)d4<{nz;K4)JY2(TB!DJ-!`x(Xj}>7-+qX=N;+TDl;Z2xVB{VhwTbqsu&un zwRSma+l_Os4`3UJD&djQxp$$gT8G{NyQ+2QJ%DQ+`a6WR4!sv)(IGyI4t*G9OVgo$ zu<Yw;g^CB zD_W%(t?2u-%qPxs^bH`f&mRFD>h(u)7yG;%dGRND9_3pMKCbe;HkNN8c!84*)A2D% zR|vl5+2;sW44&H|T{cZ*03LaXeI`GCTOsLC(OjF_8~c0%2x|NM0mwt!XTr68{s+Ky z+xif~x^3Nuux?u)Ls+-1ParI9i_g-w{t?em`7;R1C2dQYV0i&6*DL-TWkwtF7yXuV0>$^C&3um21MXk_CzrqAQ~!yp+k?h` zAjG%!`XDqO>h(D8qQ?<_T#uP;1dH@o?6uWZYkT?J$zDGiI`}!1RqNDTlu_%{=K*)LEfqXl}xB6THGWGd8h!;D}w35Cr#$Pe`o=Z>O zpAmxd-*lqIX+ilVd z6>bvj_AMAcYPXv`AhqW zVCn6LZCSUU2p`{1Jjs@XwAdar%x@2m0S{~sC8QBujqsEDAHkBks$stVN3i6WA%bS_1v9=xmr$@K{$4 zvFn0Qy^iA+gF_vzjHM4jnC;*&+=*Ypv!=bp`BsGSthf+Xh|Z*ubq2!I)*0w4`Rfei zOI8#(|485SFY65Pb%w{GPQn!h^l7y5ha=8kXZSArB5$4H2;k*iXW-d8TxU2EY2=dj z(91f*WSo5@I?prlw9eC>N9P8Wf}{D?!qoYbaTlG}w7;z8 zI{EH=2!qbc*;k_Tgs15|=aGD!Ctq6UIVbiPosaAMDX0@)=TAkPuk#P3==^EG>s9CH zB8^b$%u5}g8_)kAnkws>c(iO$n!(mKy`5TbJqO2O%lSJ8RFrw+$)i$R~m6`el= zVe0&R+;x6DQ-OI(JJ9(pbTkO#8J{5x?Lf{&lXgIOT07wI#%~AYRkwq`#y4vI(hlP7 zU;$+Bw}VB9^V`8sQ`*6qz{}eXcn%-^owJZeu3p`!39_nC=Q3iqC<6wt5*f|RJ4hMUjgDp|8UqO#a^FMIs*rNg% z!;4**de1P=;3b^r=1QLIg9uyh=&p2Wc`h(P!cAT2Lx z>w?d=7{@IJ7dTvL>*piPw!Q{;o;mVWfc9jjI^ zz3j3JmgB6P75vW5%KBJ;YiN`o)iDR@WWy^J=0EEyUC5zW5E<;{ll&VEekL;Q-}3hBM6YeOW_i$F_Q_ZoRKmz?8W(!5tUH+Z!tZR`6*xd6Vc(&&+RhPA!Bly7bNFCo_-c@b32I{RU zK5bRoiI-E%nM(!ioKC@Emx3cyrX0mnTq8<{U`ZIJ(^mhez8}d7g zmu$HjJ8v)I2J~iYLCh4TqkyzMPiquqknD+Q%YDmhEE{40F6h`_M}p-j1^RZFq+&|H)n2a9$oKQvSXiC6A*Zk35XHs>_3Fc%Ha?7Fzq0hpmMROkP?h zW$25@F)RFE5?VZmx>AqHKRxvvi)~8VsrxS%)H-cxez0b!p^<%KB?M?bV z$HUGT|0&ET@{3+z=#GXE!vS=O{@^s|(hHT`4hj9DELSg9sw||iPQ@oUA9bpIhO-f# zxPC2?CY~zySW{g@YlQRgRGT|l>DP-)+4Hrz7b`i<&81(x^Eq*u%s(r4`<{PRLMHUt zq|M#ZgG^qkWO7I@ne@)*MEWT)K=HvwOfweH@=!0NpT@Sjp8Ban_@TUdNUU(Sn8;Y=}uLq7? z7;nHv#SpFem8pUx2pm70;q!Oar-eD{e4$t8IB&G4I)5X|=Ii{MRC%A!rOxy6I02ns zn1l90zx>!+*HiiLPAUIeRQcz3E`M$wJM;rdjftBz<(qazHM&L{DD8k_l|1d>Z76eA zJ0S0D2X9w$aXxBShMWqgwi&OOhIf8bCS{JUy1l>Eu5PbYhlj@6RlMlhst;oNsL@}S zP3>hfV_iNq-2arFq_Xb3<<*VI4r5)u@9pL_s_kucWHCI>_r34HoIoL%S?oi@e;3M) z@1W%7VDVyaLLj1?K4GBX6?|ACJFAfMJtu*0?nQbxc$=4=}*+%Z9UXcESE>Ng2-K1Kkw^OKa>~i=ic1)6Dx^nUR_nj$xHj| zW!MGnLqp9&fAIr`m(D))8pC%`{Gj67_KmT*^myNx1erEJk-kBUVh3Mqp+9ePJj&S1 zyv>JEHotGYPnCB;m%bq{j}s{Wg84aogZYrI_J?6EdMf|NQp*2vRsIt@mp?a;6Dhw8 zjylx;0*;Dw`LQJ2Q~5ucQvUl@`A_Xq{=7U+p!^GS&|c`5A4>^6mH#s-<^QZI|Dw+2 z&&^|cpJC>Ey7(9KMGW2j3pGX---u)6JigHbD04U8=<`Z0ZrnWSyl;2onQ=21;Rz!3 zR(mL#7vlW%qEz=bYF?>`IO?{6c@80psnS?8<{Ehu^P$OOjiVPTa2QdGuHtH~w6#;i>t4v8!dsBadDE7nHf1UHzew zi(3Qe%1~r9x}u^c`Q4#3`_yU7Qmt|@$iu;g>vF2pSl+QGzRi@Dyn-v(b6*c*np862 z;t?I*bmAUkG8vaXgnH{VE~U&l?)kB*-_GOGtkRm=?luJK#5Ko3<}6G5?!?1;u5*3C zPhz~8T~%sJojFFv|1=&4XYpMvvllo)2WR+A z4-PCsal&gBPHh@kycjb*lG_kIQpRl%_N*BLrKH_Q@JuZBw=G_rey7>*_5@mGtKpyA&22{|(U|A#X=XP{pEz2!3z=kG1w7jgdH^2Z=9@7{8@5$-MD z4{78Q`}AnH5%IaKo;|#0yYsmYNb;ssE!F4po2`!@_qgJ%HT3=LS%dtpshtNnD9ML% z4XnrEJWmxb{RGcYvU{XQu>fcK-)5_}6@A3L!3=mzGiMwO`mQg~a!l6hj`xNfNM1l6t8Gan#^a0=H`f{<`5e#q# zqwQzEayZiPegy9HEq|-%@|{(teLU&%QgmtavtXnb=BfP7+3svs`i#D9=UH*#I;^wf zj5CT5t;xW#q4m0KjgEVP=F~2c*U@*IQEZ}m9U!2Jz z2O>O^J6?p)S7Q0a58%7@{IPC_ao0M-@bSzSI&+-MUvwsd0dC4i-@xk39N@B!Pr#jY zKdR_5FQz@o(UY{|CuG4$FU&JVXVT6U;CVQ{&M+>o&XCtoGn~#aE=^}nM0tFHt8-F} z&O8A)T4xv*ojDoLT4$J#uQQC(I&%urbkdnq0hcRFXV{_WFDv?Gh)#2fbcSb=@W;Ac zguB)mhUYO~=*(P~zvxT^1KiV@(}Bx6J_C2seSxCOyqI>rqbF%aXR=_V7v`CwGim3q z@XSA7XBd}PXUMCsGmJ~qnLd=qm$%Uw`?*G=GYf#Db%tTlnT2@PI>UT?onf5TnMFv` zNoURkT&_+!qrWKWmjTDkxn3#jy|L^uUxxv*9q`2`O3XgwUdDU9(odh)H~hD1je+J! zwbtLy?}|&Mhki&lSbPxb`9I@**qfo7=)Y&99KmA9U*dJUBHlTyn_?k&va2KF9fv+} zu1dcIFllc(%~F>}>^{$k-vpXT++wiI;U;0o-?iK0Y3sr8xxnSU!aKmr-F*e_!k?6b z=W~;%^8hoKqs4s4PZo^vVOcOn+>S6WkrT^L8W(_Wh(`oRU;3r<9dB!J*JZQ(;Qey* zKBtAnX~ki}k4Xo9bUIXrDn}s@xeE`MI3CtI9^x{I)9TBhmBzc|qhUs0ARGB!KoS4mF(R3Q%(I^AMHt?7d9;! zj5z;q6zuzcBIQ3YH0U<$*~9qh>rubN;bxd}*LMCOyv?u@dBsK#VWYOQHv&VR62XC! zJ@S7{W`;4P17CrD;409I&!6I5eib)wNnrfV3su}{rzPX&&Eq-#rQjm+cR9WbKZsW$ z-Mey(zgVX~*WyyYB=6IlkE-$J0gvAhSf}vjIlQN+xTikd(z{f}o$K<@amS^^o#W_f zyd^1d=cJ@v;^NjLUyLg8QG~Yf?Ws37*RQ@EUpT?3c6hHBPA&$7;|)7DqdX|%>IM@r z%J)PWcNyc>*X!3*+fCLF_a#s#W`SB8V?W>&HUMY0RC2t-mio4%&#nq!zt3<5=t&)% zYs+1@l6<7he>4A02DZK4zp_5OlCOk=PtJ=!Avmk}RKVoIUJ9;RObVxVsE|&IlNka* zkt;mca=p@cnSrqVnd{ZSv&^^HZ|_9&El*cvaC1Ta{E0tJ8t<-s?D%X;+%o_l>>s`j zeUbi${S(7g@&W(!UT1g2E=DlG9Zc-@W~5>I8t$aq2SX!tsYguPFXdBo=eRu6U@?AR zr^QAdsJ>C++c)2Ci7m_PpOROxr_?X8jd69iwqXm(9y%CPvRbv$d| zl=(vPu`w{?v~N0yG-+*v-`?UFcq`y?b@ENk+*H~C*l7sMZQkp^{I$%N41u=PXCE@* zH;%5B{0#3XYhc%5_&r2ZFKE-0AMyQqVtOuOFfZDlYd}kEL3vBFIqdA9jz9SnyN_mi za9MF!@&@g2y(RS=WS@ zgJ(J1Bpu}M?0}4Yb^(_@?=yJ^c(=R%74E{Hl!J4X%;(vFnaj~)KIA70#`uswZ|uW( z8T&jBbVEF5;OI;L^<2l>jkxQwS$^WHIQ_o~6MgKT|H$|1B&R?l1LZD?CWQZurC4 zC#t7t>~mO;W1qA+a)>^4>_h$1V;{=hANyPn-o@98`vSRK-)P$fEFk;48$eI`JG-x^ z6g)@8$=K)lDo(~eI!?wuFCc#@W1ko5^lr>R{gS+8?4$8y>~piild;d=s5lw>yhz2# z*hk07*hk07*hk07*hk07*hk07*yqK_SC4(DH{HfQl(9ed`CG<$V;|~-9{aomID0ep zi75d3HI6M`2AWb2GX8lvdC3_6+-hL)@z1?({PPOHxT2x9_@s7uLW>Cf{{Ur5p2H!*w^FbIKq6 zg!3>~5Zz!O#qgb!8OEq@aI%xWErJ2=^hWyEHv*UG--J8q4l26Li)r8N=t)}Ao#XOM zgT?rPri6W&8>2F)k!dA--m>x0R>vKR79UfE#DE4_|8pT{9@dUbl|RNg}yMRl;* zVXI_M?*@GsW%b{Ux=)p#=M;6!-;}=#4qh~AnKt9=VW)RqTr({ji(fv~-esPvL&C~a z+-VDY?&{&)mh{{n!8cokOV|^6hvj3Cd$^myZkxuCw6%;bfAPj@Bzg$#_e&lY?$-nV0S0d@8ozVbphW=?d5EX7pI&n{6$rs zd0qOMygc=Oo)6v633W2&+?6-L+>_YO#0G6 za5{cVmsX$1IUVe47;IK5XDzQV>O2*-;k;$b)}6QPiVG^6FveO18qag@(vZd?OJn^| zbF8`rC!kyZQ^>?)HKpC4b1nq+EmzK~9i62ofC`rQkh1gpijqa{1Uh%TM>p;0L*IKG zOJJ|daIh!}zFx?M?`HPKMb2cJm!(ylfqe~LWUvMAfx;D6YzmfQ;uY^{Pdt5dd%ZO{ z+}zPC0~bRr&OaYIv2=7xt^b+!Dr4Algw0wLVaDv@9~?#N+fcoD%UBz)fwU`? z%7RLDjje6cCb&m^rMhI&z8r@v7*)an?Rdp{BD5jG%jYk^`Eer2v0aS`Y18>sg(18H zUY`gXS1dbk`Q`T91jr0EdJF8_jj(gyhMlA7-Ho5NGwwa@-mFZnL?7X+k|(_1;?E$)rteZ1>XtraQ$2DL^)p=(YJM{NsvI=B^j3K( zbm*_Tke~@#y}DbEm77SXJ}U>2?!8tHBC9*~TY1xG_FOp#RM)`bRyTI(ymAu4p{15k zcK?-wQf4pHy$9PH>fQUW9Mq#;EEGk0HEI`p*9PD38R858}M&Sbwl%TdiG5AS}m#arsKvriU?y zeDtB0A+LuZ1726*$Go=G2JmgE)cjIFz2(XBU9Iwz@{zDvtc#b=i|#Eij$^M!UjOFG zH>}EMPUNdL>N~2#^~Torwv=r7?UV#YFC1Ks{J*K{a;3|^QO9S<8rb151buC7 z#W%$o?RcK)&|dPTTvw}nrJPn%)5@8I^qSvQDfwZc8t)ZVv7outn>$KEddZJ=XB_#7 z-iY04jW^muBlWZbrht0M(b~G3k>?(#JDXiyip!doX&S7TT&X{Isyw&2Jj3abv`kZh zz2s`!$p=-w(k@L!rsbIc^p@Wpg`*F>4Ih7y>t-y{n?9@6;&B}A#E^I^iJvB7VX<8K z6}(D1R%jBIj^IsO9Bq<`XZ+1@?hfyTWeqm*c1XBY1g|k+dce(k4Aci}RL`wNcw@gFp(?i`8utzY34cD-VVbAhv>ev zx2oQs7O$QZP^@;k`WCcdPePu*_H6Z-+G-ciG70G=$B#n?hmqfZx%}Scbgu3 zbj@SAok{)w-saqox_qIk%lArMYMYbMH^hvOhm%r^9Vn(&VHf;It}S*hm(d)t{gM4P zbMLu20B!##t?w9w9sd^UQGB(_oDahhLVs<{^L^v7vAXKgV{lyfpDLd#R6bnr92$r> zcIKqxd&%oMJsJ7beA$Mk1Jj)DlFF9L3^hD$>@~o#c(yEQ9Foj24JYh|_B@30E^+TYA-mv9Qr=7JgK%l!b^FW1ReUJ4-D>WtRMSw- z!(^?UF~*DO_*yVFrVWjCLB+atDy>*q&`-9j1BPZRot|yb%gp?jS_enxf$=Ekz^ba8 zGN)q?U-ipKj?7D$3J~Y!f<`~Ktyfa9r2N?!ZoUvREq8&h9XP8sz@{Z$FU61RCxbi_ zw>#unjj_;!i?2K@N&$rGF_7eKYwc(O7^OYw0NDO&4on1#IrQ2YkL7d=?y^uW)>F z5gf1ir*fJGdo*}G9{tOw6|b{w|FXWnIZ*H4o=|91b`p|W+vx(Es7#j*G%>BUqqb`d zwgsby?Uf`O7h{g2x|XX2K;{{nZbm8{(@Y%$5#Jwc4sb-1jdoA*=tF-F8I@dp-dePJ zhm)qQlq%KrD`QK^F(vGR_9)bHQhHr^N*860WC^+UkY?r1m8_Glc1si2)lBRzy1GGhbwj$Y_CU9~ zL3DLPK3&aEJBP03Cx*tVboI>6y1Fr+uBM^=PwQ$rPhE92D_JL9?Up94tC`qcbakWX z>c(_k?SXD}qv-0!e7c&Sb`D+5Pb|{aJ78A_l&-!o;RCGBrK)LI|HGP^&Qdo;%}Uil zPrD_Fsc9y1XDwarl+^5jN%Z|a5MAvwbagHT%}=WMMi8!+bB1^tvU$BW&V z!yN9ZMrJZq>&HI|KK!1CFxI#eJkE4}^jF+i11=B8pmOY)u;@iUO0A^b#75zIiw>h^ zijJpqFyUlkuf26GJ7BMjaK=aRmA~8+GqFR8JB9}8##K(|aQVtUDy?HN6FDT;z#_ic z9Gy{O(4%851hdgs8j^e70bBVURnM=EY^7mXP9N|qTH+t2n#Np~u|s?i%wGkl1N#i?3#V;tXCwG^JQOU-2Aa_E!- zd#{A=b~CPVc?f5xP=w=}=aDt7h!PI@$VRVj%+NiLrqo*pZPh7OTDp5~g1#P%_dUce z?eO$ zLKnYqTr_^aHqu2m*R(R1pP7dBC~0bZo(`?01LKd_oE_(VV*X^hK)TK*`Ex$;xui)V znw&_=Pq@23nV**OC%Nb54A{iqxV0VGv&DCy##{9Y_GhMemFdu!Z`o!2>Qw0ekIRuC zi{q}$9+>2J+#>HmPH+?l@=?-rOpp(a-~ZSzydFdnWpA*h(4m;1D6R9%RZ? z#j9$Sl{~H1ZY1UhFXgP4tldktpZ9xv)a%|7dz3ViMV^$x(<~c3>qU4ADtten599O8 zL+h}hf*>dC(NkaH`u!=)4yB zrXH)}NlbN-idQk!`AnZ#n0oaddO}lOpc!)vQ%|DeAx(9Ginlb?`Ana3n0ob|KJPH~ z_%xm<)+A1yarB`@Q^W^0d&_c% ziHK|=rcOne9V6*;5mSjt@gt_L7{!B_x*Udm@)TxKdXK5gqV&U4m&2(qL+L9{O8pMN z1r5m7ocL^>Di!n1p+m4|mftes_lNkbzwdY$!txy>!Vblc-*kK&@3{EQEXK<>vyQ;C z{=Vap2&bigyi1>ifhZ3l!*!(lUj5;~<+u8da`&UtXflCIC*_duES7;E@(xagcjoQG zgfIC{;BhX`<0Vh@xtf-I2YoxfGt2K&--mrIL4albE%nwI-kDEr^BuN12+Oy@E@@_o*f5#MPv_aHbhm}ztX=%x-x|D$1Eh1rar zhi^#{k2I()rz20vkFeA6WBdwpCvIUjrrLsEApA@G1ostq{(FN{4CcEsCt&ynm%yl> z3xO~Cxk#1!O!dro>I-?l3HX%9Z16ySw?MB}|3CKL!mWz0d;ecEBesYNhzTeb2H1#& zqS%3jfdaxIl#&p|PE71pMC=4Ru(3O^yE`xu6~C_meaGi{o`2wX{k*PoA~oWsKEm6-ed#}rfi-`Q z>2^H%58EB$|5JFc{&(GW`u~fwX0+w9{H6`}Yx|GapKI&uQiRVt6fu%^zvuZM$JD=% z{ki@>ZP$_aCGefnx=-u(1{B4Wzv<^X@l&6t{(pUp`v3pq`uxqjjQ+mA?f=)fnDd`w ze|%8CM{&k&&Fk+t(!`B>ec-#x_{3jrtc@o3!}xq1-hZy2D({Z+eS>8bv3;V5AzhKU z_liutsLJgEB4b=MNgbrhw-AwepZSd5nyU0%3s$*c$LX3Rb>edu3#ihnswN9dYceuH zkxGu5gb|dxiYPKZMWomjMJ$f0V)2g8dz-Gv3unGF`>7&%_V7KDOEei^p~!JBMSPa2 zQt7=ahVrW1JgG@Yd65D;xzK378~BSNsR5d-X{^fniHhVaq>B4wtoczBi_)stvpMka zZIMW>)BAxcW_L6(@6GpoM=O$_d)KO_i0@lf2DA~G_6mPGEaDWW$tOO{WGm-q-efGE z-19EqG15$v@bkRyuqLOmLr=!=y`&}$#wwDT4_{%t0~Tn~te7U-8uER9`xU7kClY-? zWZNJS$3RV1=Tv2IRlaL{uPTKmXktkWwT@Jz7{9+Btca#nTm`YK|BU)GIW$8+tXFiGF0(PQ>96wBCq-GQ1e8t zn?W4@)WqwICLOWgn#UrST{T($Q<3MB6xr}YaYA@Y;4|JtL;ORjC%N0CLG`^Ha`jmJdxol~U;_ORm_ z_x&XC4T>g?jZ|6CRgup}6zS8G@!6{4lcdOv)2jSpT&E7Ga+mjcJ!H&AngrU29Qnev zBUQP!UXj5aun~TL0Gq}oYvS@iq}+GD)9|Y*c2BVrzVxZSD*a2UlCgk!5t}a$DUzJ1 zNjrQzu(u+gLNwW%tV-K=_-IQqwljXnoXlCbX|q)^Dz8Z0SBkv1)8y88O?JLgWyNjQ z%T^QZgeoO_^1Z!rs#x1A^7xe|!?AVB1(8#gMe0>kWi7EYnz`8yQlwpRMUpDx@Ab+1 zP058$iX;vro-|DkJX6JGAKwKwRwQQuMfOb)Iq_JLNu3qBegKvr2cpCg_u6_ zj`hY~XB?ReF}VqQ1Q4e-#Ce~Qnyj}JDOysIZ$ToJ(lqH{ERxY1EWr1Vts;)bi7X3a z-MVAj_i(NXiadFwiQhd%R%}%z57#W(NRw6NG`aChliplE^OQ)1k|LWrDe{y1hQ)zl z`9?B>1u_Ls;JiO*M(xtjN-_nzWs)$||l~Vhii$rb%OB=&Y+M zo%SiRd<6F!u1d|7#L9G4%ChbO*mxX18ceKCzQX!-CH5HOd>Dx@F|dXh`xFiqeADC= zSTM4WDsw7na&d-;|5Z(D%+sXIP))A3Vg1ALIg;YO)~YlF2hUU&@mwj=tQq%YEcx%T zo_)cfvV0Efdh&~nB3=6{61J0ZgMa6@kWZ>A;#HAcFhZ5O?wXi^Wob1vscuB<7YAdB z?X)49%>=+(Z2+(MAi@GKL`pw{ zI=U&6s|EIb0hWP9X{nlAp3k>w{a~)#qa1eGMT~@HC^F}~$m1w*oZMEnpe9y)wqZ~) zMTTS&8?0OPCYnsH!FRFRg9FKmRLN9i6qpm(5X{G)KQvJ!fqS1^B+?n*X)#xo7GPdM za$CV8s)X-TrSo*`z?Zxn=5L|IN5(~JklZR;ffX4CCYl9l(sza`(GyiE0rvl7Ew133 zGfh=VvJ!D1hdFB^sWGZJep98M7xN+>I%1=%_{oQb#ODR#5UlA-estjfAEOwP8{fs+ zR-{LSDqA0eQ@!wga&V_|ez+p(0r<58m^D_FYSZwgDZGdIo_VRsuO5oT zv-X`nXmaPcBJX@yGh*jfB}I&CXtDrby8#yad#f@$p81baq&C=C(_EF>&aA^8Rj%}5 zO>V040W5Be?Q4P)KEz%BvzolXUj7@&cZ?<9dU!{ONUxEqd}h7pw1WsWRXV|WBlr24^18rcbU(@_S1?S zCHJoAf&co!EtvD=G5Ej?P2zfkM>*kS7Vyr#ima*%U*k2mttL$U#g5D78kGvPcABQ7`yu&;=7c|mj~e)fwe_mk*l7=1z)^|mlwc(_Zb`h|JV)8 z-K@xgqTqOpCYhyKM{-}8Sn92DiX2N;<=ip8?YEgCJE9di3qH*w)_aV`_PbQEs)WA~ zuboW6O@5zpk~jj3PWK|GF|XD;M9K^R55JK68KXOKf25@8^)EOyVYN@aXI2e{E~KU@a9Us*ttlLg5) z4^`>46<=fQn_2fxd2L0q`vAks^D@dkqutCwy)xaS`7Q z4pvK(bv20V)jU^OUz4ZLG^qwBw8i(#fAZbZaL>2=?S-)>AK*_$&+)rQnw&Vp-^VKw z@d$itPOk0%UY}7VeyGSAQ|bt=SE@JMZ6LO}NPK0$H<`cVH!vJrJorqN!p!3%HgL^J z4j}JL7GjcluE&SgHWBHB&p)frJ;AShcSJ&O5wDE33+vJ8nIb`N6)>H4v2jHMx#ALas~g zAO^t~v!9BTt^y|lXA|+$Hss*gwcru!yS@Z|^bT5G0lvun=aAof^<-VbG#S+fe)3C^ z$VkT1NEMGJp&UR|ikp7W}t6PGuw@q75uH}L5S{?x&b?<{IVEsX!(*+|XA zIvL|*b5<(yqqWGfC-_Vyu1VeY1fMeV=Xdb>Qe$wug({7rMG6igzlLk#!}045A~V1r zf9lVzM^u?yLX%R|?bV3Wy_qsS-Su8Z$uT zO)bWXjSg%lU%?57zab92G->2QOvi{k2_YAe-L577Ax+9Zg0rV{ zEpXgyJiZOj3vZ&yXK=9&d?Irwe*9IFUfbbZ%s=Woe49BG?nhkU*K*RG9_M>!$+xU3R53VQDygCa!HyhA06SP zFI9Q?6FvjK%MEuq`;A(!zapdYVV5GByt{(Vkgmvje592fygZaS*sHR%4)L^s@s~iK z*+MR2T!W}vqTvpOMyL`O0mn8GNvc53^8oMRHM4etAq}X(r>atcIM1z8cR$d?ww)%+ z@XdZJR0(Mbj-7*-6wu@=c`MIO*2hYdN~z>ka!uK{)Nr2ETkqjt<-q!S#OXNZT84Tr zKRN`Q#4ZWGMZPO{8+@z}c2yU#C3epxW6N`3;0fvuY#htD=Y!J*9e2r-HQ@^d!MclZ zoUz2We!Rgdu$eg}r4p0i!z1QvmxElRg5L!c>DOGud$cOcPEZ4MB}T{(uR7p6aEt)_ zwhcLX8g@I?RFgxku|*&LzE-3LSpA0iJitdP9H7pb50?WIJA+vrxaY@3iac10?@{xA zT#2q+5>CjPw)O;XIWN{hmGX?opLIF)3|xSxHiGXJGiJTP;M0e&75vUrBS(YH$8#(4 z(vG}-|CiEBI<1K;1dn|sv+zvAE(#7`->WHI8Sdypocoke;-WewI5GuV5T7x@@Jio^HA z>avc$lEp8)FM%zSsgv-t!uU{EFli6@q3AGG9;L!*;ZXIr!41IRv}(Y?rjRmhF|i1mEvltWdyUQv}d#IklAuI33poXY)J zGvkkp(F3e%3s;2~rkKJ}Qm756t9Czk?#`LC{{FZR`b#BBp*yIXVI5AC;&D8Cuh`qZ`_^c&4iTob)fqHHV`rSO%usd47NJXq? zYEtKnDh0eW*@CZCIH$?3@$gX2ZMB|x1mI6UL^gmM%i%#*jLDDl9;s;8YZN&Wtw_DG zitM$bW&{J)fPKRr;Ag~c&Zfj+V|XSxKGq6d?YYPTFk`wA{FWS|60^7An$5BCItSio zDdI#dc-=;SwjuA5o6a^+#gqBpz<;JvqrF;)211T1xfCs}H1+yWzGG^*B0F6~CN0sV zb1Sd{yzT+E>~f~=y^G%KhK`4i&X~s9>?g;6gUf?~ty-f0VC#_<)EjZ|an`EtF={H- zrTGSM3m^wavlr~ zL-%>5NYD1vK=|@VGzHm$y>7re@X2lbeLL|vcn91ZKH7dGe*TGEwN;gN6~H6n&gK|B zGB5ZI_}dlRb!2U3^~Wy~!6EF_Z2(+1R+Zkx;3k1^B5O1gY&bhFypMdi%ZPjjZ@Jn` zljQE;=@B@62}Klqx_~3O!dH{U&C!3s%z?k))xC*hc+*pN^mtD=1oOL3PU{9H{Pc&f zE`!4cp-V8n=ZmP-7<>ING)6yi^mNAk1HPRD-WG-aWD1XBK0nM^Q}C}GcCyC?t3A+t z+M)MWrG~nR#yo>Mi#bdn&*XZqiPLdxTvBB7D|D6B#7qQvsvWVB1I~L5J{dvIWlfIb zZ>7Moremn9)2R2sAW!T%@gOnuj9T&{xn?!}G2%4^|Fxw4a(h6nsSs<_RvsP6%X8op zVBg{VnoP7OHxJWfd@}s(v4~e)MRG7si)1)F^PJ2aN{yf%!mf9ToA^joE+$e7P#>Kr z0>%+9UT~e$gWwk}(8kF1-h;uLI7Qy_{s)D@%Nq2W@Ua#6`ab;96ii6kk6vv}EjyRB zhGz~3?{1AE9>J^4+&?ClB4_rBiZ2YYip zFY@^Oeqca|$RT*yLgKo8ed4_h8X0RHn@(?woVc6&_h4Nd7?aUt@)t3t&oNTSiMh#f zPS^s>Id%)3mATc%cRu%q^9RxkA_w~7qXpq@^%tPKfw3o#fO!L`q0Hd^%UJ`kXBaio zV$Q#X?^-jr%a5otu-`m#^myh_?IG)@ktA>v&D_TtE-uoY`nH11!1L6*T0}n#?K*#$})nz|*Yp z33p;DjWxO7g_?buCe1rj$H6O_j?m;t0XT`d$V=9u1UXX`|k#8cYUBHq8aDhVy;OpeaRY&RLF}BdLnrwfM_CbAM2}g-*1hz20 z7wxG7PQq(1V0Zl0n7H2C4^EZ|$Bv@Dx{1b4PIu}{&0mMS3U7FPQjtSfI0mL2UqgLV z4PQ6~C+S2k*&%X=+#BUe91$zlq1a_4-0nJD-Gp3a%m3}j|HM`!f8v$c_}qq^hCh08 z-Ij2n$9LfHMO7)5f_4(gI{4wUNh0xi@V}iRfeCQ47OH&xqRKr}@+&!^K??QsN%B|+ zu!7iWR!ftX+vo+>A!mRyH_t25gEbfkW)2>Y?Xcy~bM!Ka-;blF+_eRVB>bJoIp z`@_+m;hVSVwa%qaOZ__w9^>W)uAI>1cs)AWkEz{mlaFH2-N2lFlff7AaMKL1pgaCg z{o#f$&z(z*jun{zHcg|JnY0xA1Y-+*0}txx??+32%UGt6?*>p`a{Mqj*c}@_rmm_( zY)-;1hRgVF5%?|l_|ABDGk%9jn)LgDU5Ha_@S<}8;-xO!2ClWJHt|mG8vC9+v7g!? z7ESIOb&e-B{3$qAL-w==!6CSAgG@L9_Dvr{@52MEh(U9UV@V_+IQTJTbSfEztjXPhKs=bEzF;=+oHz3G=Uo?Me`bM<4Px z_(oHF{YoPNlT|TsfV-0CUcLhhH&ExLfi08Zh*z)yF{oOA&*Y9ql^Fj(F!T#NE)#AH zmYo4lY{;7)@UIQjp+(UuK29f}ZKhWAp?|sypD#$wH=R0hHvFG8ZjE0DAE&-17lv&C z!@c3wE70(ndrz)+=|1}^mV$}cI=_p=*HY8pu<$eR=YLv#%{~td)1Gkm4FGo7JdK z>!fo4RoYQF9&{9cdJZ;O9t5LXaLy2st0(EVbtERi>C_wO z__k<~;Kx4vBsLLE3!lEx3q5<1A`^)V&x7DZ6?AATFfxUntSB+4;Pd3okE_t0iGSC^s?>+?+fM$eh1g*cx&)$?l|sah9;PgTw(^lWUXqQg&UZHC+8HI z+#0QBGkXEZYh!%ifaQoUc*}v&*g6nSm5!E2F1b#*i=Fx-b zrONn&)bcU(Ss8z6)}(z0{>J$7??&(8-Y1!Boh|TCNBG))e1V+rVg-N3HpAe)O=Iy% z?s0_m|H_z~O-CQZcU>Ek-?4{tGyE04e36`Vn)$Z}XN$r?7h~@#;H#lDys;GcybOP_ zLwo2*FQgs(4gBlN9D|IgQGd~ksto2-M+eGB?+Sc5!@OggsB)`6^}a?8{(&_Br|OV@ z>VrEExV~FBYv}=Rd@jTxk5!plk}9vfsh5_*(^;OOE z8hII8WzH#rzf}tcN4`+I!V#+xlO1+4uNv&D0<*nY+b4ap@!--6Vi=y6Iul%8$Uc%P z^qhL2Es}4`hY-)V@G1PG5Wa6SO5ZP~*ZOd?s`wdetbaemOStCA&diPVyopcrdxrni zqQ0n447<>KaDdm4kH-#SEUZ-q#_5~D8pC(4TFb9pox?P3JD@e^)B zUYr2miR!G$L2&pX`Fi_lxZE9b`XknI0zA6BA|dzb`#z&*a}g{a0&Y6ce~4nu%i9?ifhgYc;i-VEer%(bqGBI;5w}?TdhwO>I2>y>RjemjHyT`K5%<(<%dtd_IfHkMV z?IZK)^?;XEmcc{&!-?UoYvD3c)E&3;OO;iC*@*qjqaO1=rZ_toocKV$87Lry|=Sz2XQ%Dk*DF{=1cfcFdS(IxUbLyYYczu zq4Qq$_C+9F)%3 zD^j0ig5T5=&+(C)+&9+(#`7KyG#p-leHR*tb?#~8$R4=k^rpeM3&hP*I9o7lHp-kF zS|9Cp4r7j`E&x|N$%)aH+-Dg9Ri1m_gnJUVo6(Lw)P)zrJKpyP|5t00?uZwnsug?Sr?XXn{ z_`LBAx*m6utPSn3(Xl3jf z5dcqrPXGBH<0BvD?Z*Bc7x)VJxAU_mrugYx$?h{=XM7De(qkZ3j1Fb*1#7pZIyz4p zeG=BA8?o4T68mM^Q0J^8cMv-#DzZ216@Bz#_~BiwpgI(`&Fe2!sl;pA;ysF%Kj zqs-yGD>?%931kj_)rdjX?8b6>zeT~m_xMQ@e1JJVF=k9%(QEMe^W)+1@B<5Y%cMNy zxCx9e8ol`@e3$o*^(4lK12cU0DEVR3P<#TMIUGT~%ROgfXN{UyV}2EgtJr%YPWWBq zS^7Nr88bXW1;Z?ym=m12y$A8P5Dmo`F3i1WFDGW;B&oUhNiDGVHn>_DjW7&d%M+Y< zL2mhkM##EF`BQVgM5{iEhP4tcocuO0l)9a`nSjq2>eJu(LX7W#cQl|*Tua~nm7W*L z`6r2k>+DC2rv~BwDmYy+Qk5>J=;4@9D}qJap0G~DY!KWaFL~3RwHmXU8W|it&>2p~ zS|^dW+criMfKOa#LVm!9J2A&)3)n|Hhguome|;ZbZ~zWthcA|(PAJA+uqyZmcxZo& zy0tX9bv}LQ{p>fYL!Zrs>wpoTQ&|`C!~DzCB)Q=~LR~zTy6z!4)p7EWYj{egHEND)>7)hKm#|hLyr^$hHiTC`R>+gf^Ms3z_BzT42 zMAd>TSD=54uhjv|hAe>3V$X>~;b;}HDcEU>k7Z;~qku8N#6vMKGM-o;HHbM;Ypv`K zb`~S|tpc;af?@gT36uk~!0%7L(8eyZN6`vxDFWSm4Lzs=#N&2!jE0Id2D>kT@8esb znRJ0CeWe~Bgl)+~4!%yn@MvlTh5R;5`40vIJZPs2zn#D@5qd6I z(C;d_-y1#T5Q47i(il7 zGdtm<`XG46JDs z$J!GoJHU;m6NwuzXlq64+q2XF@F06~jot_Nj?d%`WnWkTb?I07s^C}JG~%9h@0*{x zh5XW_Ap46th_qvEH#?!Tz&EaZg7t?fJVi^;vKB9)VpG zN2qcY{9QUjks2qkO&GohFYXNo4ID>3Sc@9_5c$X+zXR7DnTvZOwekw~c(V>hU`|QK zQE(yq3Tm(~wl(`%HZaG$oIeHrITxPE7`A?Zhgri1CXnN2p>=?NFAuBYWCHiWKdhK< z_;mEh1JsgXaKA{_xF75CQjwh0hVcpPu?_<}h$S2HQ?CoG2mHz({F?C!9WjnQ9_{dR zVrVaZ+LQI$6HU#~990Q6_kX z4_{GL)=ME*9NF|8brk1c_hXz&YD91$CSX@W)wPnZyh-{EtmpP?}| zV-KW1z6@5R)FNJoP;0=gE5J)%Y$SJZ{WlZH*B{6g@FZh1bU)U0SQj*`K47yEwI;R1 zVEl4kC3urPae}|qn9u$WZmaJV3%khP?)GRF?5X6B*9T;!mGFAzqZtV#6$|db6_(X1l+=OIJyt_EtLz+v8c#=?tf`L z*y4`QQOA_F&(_7fGs#iR?dLEwB791(FK(U&pP#blka((u&yBD`lX3$CPLK1ck>ON?wGPM?tnT7a3uh>fT7*bfRG*kSL@XVLMWqD3;tQeb8- z)C}-9DXtA+^~r z4d>a;I$Y!a4&;Vl_)cqL&UGz0jhqXtNC(!<{v({M9KIX^c3h)33Kq;HhFq7j=cP9J zq%1MIpPKV6zQ%eK%pl)ca(p5=qAZ-d4toTsQNNQ1i!<(x#8k^I=xz7l4p-P4NPaTp zWv$>)k9M;T_<8R#;6NI+$pLC`a=FJYI5GZ`Mm-jtNIw;y-$~3An89-#uvYPxhXaRL8nB!9(jRs68Og(jpTzQ?E`63*r%1=d{Msq)~rzdOH z>;)P#cD&gg-#U*^!^0j|f(O<_Yx~MNz6Qq*vTy7=eT;tK!AI5xTu&K^ma>ChD1MPp z861UE3@l7vjQ1Mj56vFZN}UEqVvA2tIfmbLuSNf5GF);NeW;3H#yhwX>vWT`-3|;l0CP&l3h`VrfFw1TUJld8X6}CE$e_hnrGn0bGI6B>Z`KZu{k z=u3sz3v!eFFxJ$sC#g~47ztZAhieQK^qH0L7S^f%4>;*~xcYp25C78r$*UJVigfZT zvA+PUPNd%O1H8$;;rf?r*Jsp6T;-v4*(&ByNNu+PW-aOZNGIAKTI0P5jG z)Sp)DJHx-{=V6bj1vTd+YG`7jdJ(Xl_zNNy`*WXA@M#(W(QOa);wQ8U4&mr1Op zR3R2;zz@Dshxb7f`AD7TgP+7xOWfA?RdU~OYMT=HT}k{E->7^He(j1j)(yKbo|bRW z%YwLPL3*ogSc#!uy@jMldNt`_=w%?YAH?w|giQ(8!aAD$S-!}Rc=c(=BvsK978$aP& zcfm6wV)Z3hU`EX_9gY7BJx1bX6k1|&IC8oRwLAXfKNn1D!@3dANv!RdDEwm|dKi3c z2DsbL1dJi?SW}1Hf=lc>O&&^PpVf7G_*^RhpYYqj8hgN#O4AFkO|PAERB*T9J^0Hj z;>(r#9ebF15DyKw4*A>t5pjx-B$6M7z!|o(W>?^kM-<`-zsQ77n+;Xy5u$TFr9XuY zx_#yT)tDQ0(Vs1|EJS?V!k^$9x*yqq{Ugyl_LH|O5i_S5-xhFbWK&{eI%~8ITl3y7 z!Q{3M;2QX134eLBm}jH=5}&iU)^zrCG(fv(Kd6h55@Ho#E}H-c-WP_rCHZ>i5sMGJiLqMnu8-h8U#AP~ z+1myx$evbWHj^-b2KvKd%{Fa9*BVuk%`-le~Pkn5g8r!0fMHjKQL#JZDrM^+-9 zyTX4P!|Cy*VS~}imJu&teU2Egn^@QfmuUc(F3)l6w&W?WFyts4s5v>b6yiGjcVDA{%T{05Q8*GZ& zq)96<*|InJ7yde|IofD9uq-EWI2LZp{N4uXd+*@J#H5Ko@imLw(FR}5BuCv*$YI1# zKTVpDAGWZrCj02I)MZaDIGW1?9>bib!SzRsLc=eKMmd#QW+8L>%sx|co^uoM$(Q$* zCgv^JOM#6SZ|8X!a&9Iub@2oHgbOiGH0@2*c{Yt$J-3%Si`dVRMxDdGPJyGv8aj(7so}r(baX z1NaN;R~DS^d6T_j#WdMUY+t@h?M~haA~srHg;QX2+*5L%V!!Me?j1)Rc%6MbZajwo z-mIt!S0Jag&I#WKzhW;@C+wrw&sc1hkdyg2eG2;1IQpvO$2Ql%>sMe`X*k0 zbcFcE2F9DvEMm#e6Tw7c?^0RzhP2>WMPi~~ENi`$`qdWhPrN$7SC)rS|GlTisSef# zP%o{f?tVgD<_Di7$3!w#vz2JQ@8|`w{!6g=+2-)%dEnbo@&&f=gC`9cK<}~{ST&RT zOhe}+_Z-5;dY#?@99YPjUBiw|?9lVp(eq`DA4AXw2clcfqxRUv-pAq8btTwqFd5B? zIFBHG&1?cn+)@o7tZzrq@{yy^U(YS(jj0{;@OwElJ1}OPHFobq9|-^K?!~?` zaC9Fw{Z@qi1tqC*sk3KtuLWSiBJO8GZf}mwLhw0HPq-?1c;PDQX0BB!9L=Ewwf=W< z@-fay1_$83^|!*!pE0f@%#(V;gLrI*|2nUy-_!=J1)ta#!u}#`X77d_ZOJ>nXbX%r zW(WKDUZbJDVvWFjTVm4!{AxukRDtJMaDG#GNb|LDU~tnE>{`(ZEn+d+ZUOi|wrofK zd_I`k72AIGWxv3A_PX7o_MA;$q9*mtTQvW?*lri~z*_bW8-Yui)FdJBN@9J}H*)DD zd;(m_+{GT4miRfCU_lIA$_00zCer(hZ47WkeBcxI^nFPVF`@TBT{^23x+XZQ5uao6 z#nIsB_e$g=a)TwukAgwR$R%;y_cpmJ5uTR_)?6%4emCQp8nEsfYP_9jz+g&XbM#+qpTvE)VDmZ0(4wxh*5soT*wJe;V_^Pw!N%#V z#i$w7o{YOLac4&iPQDFJuY^}eflue)9HHo9tZ8j{*D`R}Isq&scNW7Y=h`V^WdO_J zN@tVN@WH26L%~FB`wl<3i_MKWj|QC)o82W1rWYTI>uw zJDPkIhEJjEhU8{{(KY-994!Nn`EUUry-$7zXUp2-_i)`$oL}J{8vRA)oeM4D8_$Q0 z0e`_^t7tF;o?y&{)^w((obp5BN|A_QBVor_>GY zp1hqf9L|D2Obk}De6MbE_8wrD1;kKC<`GQ3$(#;GA7xL+9`X`?SE4v$83Cp_)1QdI zw|j!s6&M2;sXtHS!Z`1OPqyIJ4}bQ~kY_!>!x`W3({^AdvA7Qmap*=&^dUdslW(ZK z^`5c=_Z~uy+6K?+fxXi=(zEJGzXls6cHq7Ex+VCuo8yK5RbQb0 z4#$^Tt8#x1x_AxxT0!V{Jr9ES)37N~(GUx}ln9JkrJ%PWzlkdO_=&$5{3n#Ur z#xbVWC(lf`=ebdA^eq)$MvU0Nc@GhbO~I_BiR`r?7H)9<27ItpPqc!q^cjhX$p;zV zG;q8odwIZ~v`OFxHhZ{~UbhLF9=T{<8FEw!>RMuX^CvjZ32Fy&iE})<__T8_y?SFtG(8^9cXooKlM|ceL%&~+7M1`{O+#C#Mc)BmzEPC8gEwC;qKPN|wZMhXICzZB zx}h&&2P1e&7(U}qUG#{bA^6PAr_^N6h|?r+2CQyIj;V-kcVUNPV8?5)w|*z?Q;u3$ zA(kh?H9zCePH<}YOU)|OXLa$xWyIby_EaZHgs;@ZyOb4l5+%N#18&%nRzr=oL` zSMrVqlhFDu-azMtQ@e2fuJY7n@#L&{#z>CtPh2%;9!n?$K4Z5D_~h6~aHcwX&<$+2 zkn`>7r5@Isq4V0ZyA zxG!4#8~l^pkkN(fQbUBVMEk%OGw|b`+`l7vrd15QcOyN5R%nsw)T8x?De^;sk*q6z z=QomGhXS_>qV9hS*EVI1@e5~X=D~V*W34uE-jgouYh6L^xQX3a=bq%E#ka{lmc&mA znjrbHT_<{F%*C-8Sb*)!4yrgA@m`#I^bi~u{1Vix&y4;Dr&gx;9ga7WMz06{J^stU!+yTp8gQupvwsS0sS7kHoZ9#7zTV(E`Zqmr{2k8ajf4|7p zxt!>ABr}(yaO?Bv$z9kFVvE-B1Fg6NI-@0@jd4YhZi~=Y;q&KT!QEfbqYi^F;sg80 z6R&EsUif6&`|!Du?B8R3UmPJf;Zwt@MZBhfLm$E6abO&|zBO}=0OLYE(I=Sa&7SlJ zFS4(-J!8Ocx`4|KPjauuXnFbZUvGT97yHEKfwld?hz;nItZ`y#=913)+JLvz9wxuo zBf$S>vxbL=-K%g3i;nC^B9H2yYt&&9Jo+#;!!Jv{QsrrWdP)VzA0x<{_B>OtmVL<_ z%ykD{Er@H(!j_xh>tIH`Xliz1;`Chd;RXDwF7+&N`gIe0&XK6Wae<#z zpk_`Ial$9p7NPI74-W4{e;)gmd`?_%q-Js?_UE9HfcdHA7(45F6PumA&hwCYsr!kW z;n(1iVCYG-l!`k!&x<`5p2XvK^8RtKp$U8M*73~XamI`f*1t`^aR`0bBH#cReGDH6 zc@KvKhic6QABo)q3*dRwMjTBhSNsD6Wq{J zy1`$W|7URZqBr((M-K+CjppNHybN5gF}|?3BDwktwE?)Nf1XLp(&(t4(F#9PgP!Mk ziUa&^&;88V6Z#mZrc#efopAg zKx`3fr63Tp>DdwUiw4q0bYQ1HyB@n>x?2!oXZp2CD@h?vI4VL)CWiYrT+UpJW zJWyk{NvB@$WIs+(aGTd%@ZdWBe-1qNX-iM%9W?-Wx~@AM6u)n@1AHPcXXb(X^de6O z5|2Ufgm&l=#MxJ3WTFYNRuD{KjpA90dYi!vY*vw<@nEj&LH0%+AeSy?{ZrA`+OW4I zH~JAZxa~tUOkzgYd}_4jS)h4v^!4O4@J8R)GX)!+gclZrvu2Ege+OVsf1Z=^A@6Ua zUM@_1RUY4EZ4%Zor)T)fDEbt|;9o1LN$~e`b?N01+imf4A8T@p9XXUZS~-@Sbc;Tn z3HbreunE7lWo>F!g*$wOlY*&cx!}hS(Wl_!M#Sy$CG=F%7{e5_OL+f+Y2=R`a0>GA zo-_Do2K5j){hIuKhhydXQ#CT1^ZSD|Nu3 ztD~{+NAg4jb$V;&(uI8mn~CYS*q|?bZ7Dw7fIVil!5G#goqFIY_?jyo9~w{X26xQy z5WF72M%&Q@zUYudo)=dGy|ASY%KqVAH&5i!_n4L z>-kbstgFIjaJ-=YB~I&6BTrY)ddBQiRnofaXNzhEEJJ#rZF;K=+t@2A$! z;92F`)a2xVL)+P#H5A-1y)m@@dsTbou`9FzUcU(|Oh)L6I$eS&!oE zwZ^_qN$8!|$OA^KZ7}#_iVs(&_eyP}G(uOuN9@kV$Hx$p9oYkS4g37$`j_bCxl(_Z zL%*U9=t@4V${JO?34X%q63&2c`1G^Z;Q3uNlZMnf@VQ)E>qu_)MOQ$>gIoHO!!JMO zx`B)ZpReAKoX$0W4h4t6^L%OK6!MP|ksN~&aI7BkVGu{ z%w&G&;EC19L-=fJ8?fvfdQ(k$rNmVNK2U!#SOz{hfO~<|Q=Kfpp~>`Mm(h!bt3LTk z549lsnqD#9t=McbJSZoz&pPgU1D^$lw|{|`pIL9SVc2Ip7|R@=g0W8?qW|Q;zvi+|XV{ArO25Sf%q@Vw5u0Bblafj8GMxB$ zLtY}s1Yy&pBy_8jJa5;HeCtj=B-i@hhs%&disSp`1kO|$os%56d@nxpfjuSQrG0bi z)RXw+D{{ydq}VsaK{UEyVRX+Z_J845A+6CI$*T=L+4JUxZv2yaKNbHiO-*|aU*MXR zz>%o%ztpEDsjJX;8esb=)>C}h&(ASfx0kPjY;x<3U zO%ymX2aIUYh57^EG#!ZcWJAxY0W}OZ&%wGJ+C<+7yKVVQE`Nm{xQO?$#$Sn#Q{ete za_Qz1?729GzCt`0I)MMZ(KW#xkF)6J;9xgw_M|)YMGU+nh(1R}`Wk)EO*q#9o8{pA zhG0jNBj|Y4>5lkI4{Vh5jQq*}%R5jy!uF5h5i{6Z@{;{H%+HCqcKk|Sk7wVFGkzaT z?TB9_PN8O{j@WyYz9{!8ORU|2KOb2{Z9r^WV|Rx%_^>s&0d^HXKyQ+Gs!gl~vz8OX z;6eN>v=e>oJ^OC`sMRZR?Y6weQ9XHt-#nI?nkUtgTLi5B9=$dD{4%A zhK-H~(M#)vPlL(*hhRT)W4{*Ekal3s5HQmW9@maoK##nK%`V+#f1EpYDmiZz<9-r@ z-}i^VFqf;>;BZgbhgOWeIIKqozVf&*zQ-7hrl3jxM8~cLw zgnz*!_k$VVw~_m=vt|u>jx!b=$dYT+LrWb9e!|VW`BP`VLsNodo+N$;F{Yi&Bit42 zX^ijK!}0rpr`Y#7xpGA-)?g{R6Wn!RWopr!XykKP$DibOoK<~BzXEKS+npG?jV@S{ zwWj7+@qpZTk$ve0=|6U)#%lxSZbVxL50l{$&+)Y)R@8IMYk@m^XEqZ9_-{fT)~hq) zKf!&e?Q4T+-sI_Rr@)Qk?CEsYbzFS?GCe@z+@AH<^KTyVd4F)?^&b2KZrcmYZwuZP zVBY<(+YoGarwKXyI)0CBN*rb`OVB7|c^2RkwGO!JMm^V}B5N@T+?@wcZ$Uls3m$)p zJ*QLYnWVBVa8>hTJQEqgTE{T&UGO!qMBm@2=ehydFxrK>ClNfzhwk_Qt^Gb6&j~+* z59B{ej}gvMX%D?lv`5!`)C{+%30e2vcQon3ctd$lmC;}`@ldon^*+BRY)9XsJ}p;? zeKLFCF<^QDaO>b}){^&3F^2yfM#G(t28^9QVb>lh)G63D;v%(r3C3g!hRno%`Kgh1 zuvfh!8Y1~DHZS@7Hucn7^vzN1HQ;{pXOQ=DgT>ft0Kex0*U!LX7okz@#x6F4`B{qk zIhK89JJDvztx=q}j=45yPW*2pKKXw$BTYO9aG!qIo^$likLjI?u3}F=_6*!^8<SxyZ*%%N%jhE(heLABL10#VYc%br^h3Gl(0HDy38WYQ z8jY0S+o!@+pYwhKE{yZtz}u1&nLq0l_XIl*KsU`pjLv{71kk_YI%9qii(tZuE$9;& z>`}xQY7+lBR^ta;!;-ucSC;3K_cQK?;2?1m1(r;_kBwe%KI^>@+gSF6^Snm?23ucq zuR23{_PR7pLu1d zxB>fF?0A;_5Wj=B%gDVah{H^C@*novy@v6v=QC=+aN8vAjem|YWgiVZ#TGw*j_>uv z*9xZ47uXDsam?Ps7FCG67TlR(gT~TB#Oea^_8wh>y0SZS3HRjl zHPDQ1x}m+{Un^bVxgpeS;8S6LxD5SGc$)ue`0G}*L1Ls#BsndPdXT@FfhlKypz%y(AMQtvAM^b#&o!_`Hz2xQL$JZ|3s>ID2_e^G40xCfi-dt}Jz z6RC6h5aZ;~e&NHLilTQGp*{cyw>&0Sf_3Zsz(H)|2wx0&&i=5L z%)JY92mjJ%u*NF7g*n;+^K@H;c1GT7Qk}ZG3A`Te@?|;xxr*o4h^6^lrw3y(IZfTP z3_YY4n2-mI%89(XNmeAE-3y8(>IgWsuWHq50>5Iu3$ zW&25fUL!A{C%9ijqlqK8T&AB;5I(h8>?ecQ#7%$;@_U}EXnBlh`71a-T*bExd6;^l zC^gs1>S))n!YCh|Zf{BtsM z$tmzda3qE~rshR^A@7vOXZM|;{^Fk9JFwqo40SX1t~VTglvg!!l3^Y^gY{Xm0?mI2 zc*=Onjz{xlyzR*)zH6yZ6maGWSO&)5!$xJBlLH&0SrQi)PLZ>vuA%0lfQ4>{KBN^F z)!f9AT+A!Xhc6?S{_Zt*_%1b@Gloa^M6@a*gU8CPgz-|)d4ed)Mk>TvTe z27SznxNe)j?`fiT_vn55P?xNG>c?9Dea}PYuU156Z%9~_SD25iHTX1;PhTy{{65x?V;(IG5tu$I%quh$+izY_=<%^D z>HX5m|32qaMb7COtbZX$fLCBZw84ijnF$>%?Or4dt$AVG+478CU(e?Hd7TX5oZ%5> z@Csxty&?>f9A-V;zHrZbX?1>I@9TeFZ(!C}j(CRzhew1(dPjH!vqAh*ns>XC^Z8D? zKl7OXk9myoyguy9fzWS%jxGAfv6JOTZeOza@Q~8K?^ldtk>LgpUoUS%goL-){p^(c6XdvypIp}*Vk1)Z;XCkCj;IbZV;E? z>dyVYMIFf+U-t3Q9RKYvZjZc5C7ifhHEVtJ_YT*OW&2CUoH-^xqBFg-uB+RvlpY7& z0}a7`5&klA&oP_ahc5bZUENpp<0bXu&O`|j;uRL=HCQTN4RlDDU$0R19Q1RFWu4;{ z=p7k|%{}-g>OcyeZZo%eMNM-|J&;#i~ioDMf51b(mNGZ=Y#Wp8JLjG)R@C(35rQl-`nM z*X+3Hudk;wp6n512+BHXXwJ|J``yntX4~Gf92$*&PV=D9Kzzreua|d!>9}j~(2h!E z#}8@Me*0Ijeom9$?(X3g;h}p-gonQ&Fw_txH%#3w2WiD7>DSD@?{xkAf5+TtljJ7F z$-IL$NJ6C$M&!Fv)%Xf)RRdGd$ZS1AOB4K zoPVufk5Q4c8bw?;WRG9>&Dosu_Zaf78u}~a!ydbTkKxbw$D0?n&#}8yiavh*y>tKd z-rn{-t6KL}^Ld4+xJ4@eA_`@`xZqNzB~* zDf`WpOZxkk^S(K}k2Znm>!AC1K|QDZ^Lx1#7%eS3rBjlQ6Mt~pm-j^mdwWIt`A2vd z26-DoBLYH#CCbd?V-0INU-G3<))*oQl?X$4L^bcwQ2jfcii>7$L>rdMnpe}J`fe_& zOqpGh@;zB?$V`9k8h z8CT-ES--u!|lux~=tN zgLn~p-u?!ii+C7hfTWy8D65^qMrC#6hL5a>j3u6B| zw)XF1J4eqena?%p^nW{6_Dive8&{m$_}8)Zf4|Q(enbxEqm?fFb!_9`$5#Jb-gEt^ z(+B=KmiYHE`;@EC0%JN%|LfS+zmGLPlJO?wRbq73F`e%$$9D&XGlgKeo)mn3#?#`{ zvgWVP?;!8<@bEDNHiJt^-Dy3$w;wpSRrWf?aQrOCeZ2w#;U%Rm$Cfo*8vQQoy85xB z9Q&O!CMD-M{j#l3zN}+9C#}ZIHy|(&kt3)7`=$?ESreTv>i5*=uN$<`&jEe&7Hm6B zU#oTa+eTi0)~aG9IbGPov;O(rmRVyx$gz}vA78k<{sgUJ+`FvfS2=d$-^a@sPo6yf zP{p*Y$r;l8u9wa{S7C#)r`%28>-Y&Gxwn?sH4I;u`@|Joa~`NzT{^wT*GH~NzXvIvMr-@%giuxH);OC2ic zT}}K=dG>iwm#p?OJ;x0d-*@kYkA^Bsrn{0zv<`c_Z8;+-|j2N-&$Ng(8li1 z_00drd68FEcx)>)Px*6RmH%;`g%r!N+1lFi&wZQzkMph{nf76ln0e~HrpNzQUb?S^ z-S+GA~|6a*pQzP5wb^lz7fBxZM5A2*imoQpYQh(o{SjrBi z943>$b@~2s>)-EN{&zfh->hCQ{^3?bRy^p}Owg~H#gRHyzwF;?(6qDJIm(53{4>}5 z9g_q9{tn2QnWt~958ZE!KNS9*53->Czvhp@|H>b%(EtDM|3em-U9Gw@AhNMvPUaL{ zVeY;g7U|CM8I%bZoATJSGuD^PN8p) zR%(U5+5p|@i52?JC{@%jk*nS4r3_|Y2*+&?vF{NL#palZCtBKMG_S%B>0Q632QdsS zB#h6{MMo?_z3bMD-by3(ndP7-g)TYF8x1{^{T661uMUup+HgGwbX1LA+Y|H_G@5Ro z(9k~6Yd|9{@Esj>7yC!hz-_qJ$JuC_iAGrezrJQJ?ZF=b&reOx8zxhu4u&QSLc_|@BhqaEis06XkWV?qbu66kK#UDB2=YXaN82eD!+yeK`bU${9=LZTx>rB6rlZ%{ui?yo&9g3>QBF6Kq&h&db1Di z2kYv^J<-JO8^FMpT;~8f+$Nq4>&4zCD?XDLTi9VMo4n{WX!y2rD8{H=;F7-p-8=M(fU?w9dG#EQQgqw7t&h(3po-#?wc$t2e3A{yWc zY=91$fact68h!Kk=tTI*x$X4FE3q%^6Xx-Qz_wEfr)UGP^R`%}@ulREObSo?S;R@f^+99hMnv5!L| zPv@HGj$H@Rvrgt-^dDNRL*qPxFSKQk-eI0GVV)fsqr9ab#n0}%isIAPJ?K~Se=lAJ zUY#tlGg|N@{vXThGk7tJpZ!^zY60vk$VI=N7~D_+Uqi#)ksE#X7X1lgcx_R8$R z-^;vH(S!|r=DHjHL`+OsON^~%uP|#i1|PqG7F~gU)zaMPXk33@49~PYKvQL|kGs?R zCZ3n@_eXu%XNQf?HKFfTo_)iP^fdVUN?wzBP2+WweK_gm*(>ZxzlGoD@rqUHN3q5W z`Tt^GLmE(XBVuo#iw2D5eZC{wv?u!_(AQHJv!4yjh~vC?UJIGylx57pRgvkv(U6&k zLsj}M_`X#M?tdF>Tgu)u;$!oE_PFvMt5D*fpSHyH8GZ)c;aQ7B>}jT{#ML^ zy(|2Da~J=#VxJxVFIo%yS;*QYvc}+s{<$hjZT9sMOJ|6K_7m{o))bL9n5TX|}|WrKJ#z%v+J-|gR!2O z2eyL`js56>(y!W<%3c#wwEl5CYsR%Kz?#eDv3VyxN39;u9N^y#r?55=?2o|*->snk zp9u~(z@O*RduT;Im_Z%@%T4E_<+tWDQ(Ch>;Qz7r7GPB_U)%VDpkiVoHj0UWBDR8H zUJTyt>m zduGj=HEY(a>F2OB&d|A&u*uNpHb@s#7yMxV(s}T<<{|bq;qQHfhX~huV+|O8dmhA^ z-Vv-x=ffUAgc1motHEwpLtUYcOX7Rbaje~-{T{SNe~Is95d4c^{~G>csY5Uc!h9Y6 zT@0Z-LR>r86ym!z>=wQsSS|?O(BpA8ur>jn>D;{I4D4rx-d`Dkbtd#fTEx4Y2kQ?% zab^tvrnTm;&_Qqf?S?RBF7}w9FRzbuseY(G{MHk}525=P?8|=u-5G|uLmMuE{Z+M2 z;!FszcKNUtu@3t`@b7`>A2ybRe!+IvMSr)sAofmRor~^Cq&2|>u#?LXZ!7}c(OS41 z+8qAIWMHluYcdi2&=)K~+nfmbf5duU8~7e&aR$Nxd(;rm8udLZ7i>aB{JsPJ1%7Lf zv@NFN3{x5FObche)t4}TXSq#%qmK_BuMeu)leO}Cl~{`fcX;$(q6cimy1 zZD}7iY(8j}N566rKEW~IClF$rz#oBrB|=Yku7yp3P4_H{y@mGJKm9j+4y?b%qMZ-h zk8uRr?zPr9PYoHB-2|SY_s?E|H^^c9J@^{|u&1!&v>)vhXrDotG#a*q{*C_16@6=q z&9H?wSSLOYc|qSbb+8vFC)U5pVhtU3e0X#Cb(n|Q+!VSn5Boyvf+yIXLl3a08M<;A zv=V#5CTxc7tOYxN4ek6G_`>gXp-|~)*AKT~Z_F*orx#?K7j5k@_IcjMzN9YL$J7nJ zL@DT$1^OhUxrK0d7y4ZAp8y*_9{tM+=-R8lasCpR0d=Id(#n4S4cp{8Jn2#_G;W)xwgv$tpienBQp%a2HLK}oqc_1hJ zEr33Ac5~cCHU;~RuvT^q{pwEG$-C%7n~p#~0X_%x!ybfo;0f*EyDQ3a1^X?2V7;b1 z+S(B8IcW-=g)N+m_FM~o;*W2rw;1&4GvGeipsiHG{2*+_!Mr#p0=++d2W5i4IUM!d zqXhQAufd)P$ok-T&_*BcHU;aq=(D5IrZ;W@U+@dw-NC+k_;qx@LevnfgQA}@4n#i) z8@3H?W=}nw|9guyUf7bBGvHgm&#YGvdz7(OIC(wp5P;uNau<9zlvA%o-86@tIfuJP zptsXIVm;R%bv_F+fv!DV4u1*xtU8VK^KoAd{yi8r+_oIf#~i?3DeyJ{{lZnWiS8Y- z?us@{_ci5#u2pM|gQ0K4aLm3!Sj9ZZB*a`o+r&p*NK=hl+N+ zr!4m2q#<1c$hHvdcocLM{%+nx^l9I)_i_x*7R|-J3zRW%Fzl`td%xh@ErtI)270jA z5B)g)(pwo*9bxZLhr31zY}OS27mmWOXkd;02jh=2uIQhNfDeD{qs1IWrJ*=iL3*|T z=aoRid=JiP({`$qzQB=AQ9esx$WiEE8O&Xo;moFx2Qz7ym&Erf)$xxUSa+ts z_~gZ2Li!!6$FC_3_EQOV_=ew$(A+_Fe9tbut(d+b;?V{Iw_KP5#a!C2adB=>jQcBw zgqV+`PembD5mRJX6>;fr4f>1U?Zv+i_$%=zmFXGM67RKuv5!cL@_G3W7^RVAVS+h& z@J$~|X9HR?Mn8%)ix7YK>Ll`02Y=P&;XL4M6y}KO^DC{)n8X812OiYvXuA~Q5=}|g z5)TbU9vX-|WR^o_TD5*dD?8q$e5AT38LHzk-GOenAYc0Yis465UfGpj(z)y~DQ{Lr z)V~{*5r3PBWz3|%;9&;lZ|TE$fbJ=EhP5k^hl-}AMTBBF=gI2#&1+gep!@m4joRn{ zY-7~Wv4>E7bUbvQFgMWS2ONy?QCflhMs*P!9ulIB)<$AyIRhvz$tFr49tl!xU4rT$ zS}R7A=z%YdSClat-z|!p2{lm`jklIg7vNw9j!7Ds+q=P0ONNslz0qqVWxNK{W`m^K=RX(B_# zV>g@!k}>ujOXqMHUrp&ZPp!6(#;B*g+67P-WD^U48We!yn7AU&V5yS-Lj@q&HU~Ya z4xD+pOld~rw&csyqi|azSyoR z1X}Of6%o}s@7mE7thl*G zv=b5yvEO6#r2eo2=&1X{j`&Wr+T*W63;V|?KYS#6q{bwB6fKw*p*GqUaiJ@b#^`t) zRlyl0UO((i+2Bk7*P~=s22F=}Jx*PT`rR2cvevx^(N&*40Np95-<*O&jxHj9#G^T{ zUt}E~q#>HxfQTkRVFA&0tlsHg8e?=oxY59Vg}s4oQu9kys{X;XX{AiWTw9Ui`!@k#W00hf8hZ<%;QyU&D)c@0PXQ-4IdL1#9o4R;3}15*WVTj(s~ zVDSgim7e%6)iXc;$nCtJ>UV1U1&ZVT7Em?E>B2suEzlrNR(%)+eJ~dybNB<3K85}- z^g(2iG=cx~zo`Si)``+qsXdbX@^U z`XTu?udsiFXxN~xNE5>$59K@dBmtM`(D^cJ1d6u+ztczZdn@33dH5HUmh3%kr;PwD zOZdfR_*RPOAP`1zm3U@?Ud)rH!=53OL!v9CQ{v-pN5mhC`ok+3k`F9D)Jj=;4+hVd=By%HplG+ZnH~JofK(dm2G^tFI3?#WK zad8g>OT+7t(L{Q(6ZCJ%PV~pWsr^ZHH~`;&p#?iJP^9%MrsN~pi9v`W&KLfhie)~@ zFr<}ihv*-$bAp5aF9?z?8bQ2B=W0>^WOKOgYTVh0Pt|X*L+x?6QlL1b_wa+vyVbLpASAt0x;<#`6$0rUG6~3%KQIR=cznuJ45IGURV=n*fWOxQS>2Q z(pBN{NROlN8*a*FZDuUWLFtRYMv(4J2EDNeWJe^Or8AfOgFQWBxrrv(1$7%p0;bpq z+@X=_JN7eS|Bggc(Mi0O0Y8^MQro05F`EPZC7$TaB>!L^jhMg0uN3zYXh^h`__(u6 z=9kYQP<-OCT{WVJeM%yatwfvJ8h@oW-5GHxZhJBAEHN(0hSHM#C7kl6?`9}p4D@i2EMGf06&c z!5ZJDsJ+5R|uv$e0LCsMe@*_HeqD+&^3jp$ta<(G_IFPmb%{9j6C!EX z7Wj8IME}_(%;X-vrt)CupW_?akMzL}Ol*iOW%<9UJW?AY|70-qhV+;F^tb~H`atb^ zt~GDhge_${g1yJEB~tsMbCmlLhjhLa{!JfBcifuWk~iEhpr)((Fqv`J9QBNGY?CRpurYU2gX||LQ(q3*r#Xbo?d07)|iD75}CWjXS9S&T?)R zK0-br4RNGu3y+M|_t9c*Dp(t&V{=UT@b2@kIC^K;(;(=Gi$FfgW>p+$0`on#;WxGK zLHe0XsA9Suze^vnP5=K^Kc)UM5OquS(ia7%dRmQ1MLH9^k|q~X%R5Dx$ohl2d-yNg z^FP??tSyoOx9g<3-BMjdp|Dgp_u+%m+4wum7sbANQ4Uhw=0|-! z{U2<%bnR0ltrPrJTpliHVrSqTb8@}}R_ZTBX=OTTC3;Wp7n+r1^`qo&O< z;91)49mJ)!dsjtQYP-b0y6tA*JJS#RCB7IpPSV0*EVb>JQ3v~>kjJe z!@q39|B){p9*JvujQ_4N^SD_X^FMmg<|ywL45Dz{NvJi6W+L$y=XF~2hVEj_jH8r7 zB!VYGI6`g&N|Og6KLU=CVVr_9nh4Z1Xt|Zl9=R+yA|qhHjX6%7`9rWmAbK?QQ5u1U z<`||6$VQ-{iZwz7go+4M4>YwwLw_3H(KG`M^{E4EKd@2;C8SAowEmMCgU!hoC|5N9cmk9-#w5M+6*w z5;`MzAcP?VAfQ?VF9bRZ8x)B1{t!~J6F8e|i#1&voD2Mcb6Gea>plkeJL5dq_H%fX zBPZ_XyoPxOI-8h=#2;`s@ovl+j>XyHD>y@kv+HGX9&!WD#CGV7^Um{dhXX2M-eJh= zJH26wbt{}9JchH8eGg(?!U6LuH}KB&cbw;}g!`DEf$yD|o4SN^Y8g1UTi8_SR}$|) z^uYQ1JUFWjK~{9nf%gP(w=TlhRNS4p4)2!Xo`66b*v|2&gKaq5>v5a36SI-1&?s zQ*nmy{1coJ-HSIr8sgrCn>era(^Ocx5ogGuthRM<<_&iklv#;0bU24LeK^hzL%A*< zh3ux{OyxG*ss9CMjuY{|1N<7Bjhyb&cg*YMxEjwf|F2`aGa}lEr2_E-{Kx~oXaeYGjEM? z{?8P3QDH02kcOiCVYu@g=M-N}LVHD7$~?!JZpf-N%D6lXXY=Rd?g~eoBZXqw<6Pxz zC~im8V;cDIt%rLZ)}sAh#Th!BNj1f})m*qs;;0YWa17p1*bE)Q`Qb-6&sbzQ`fbQ8 z$7S4y>xnb87C3v02I&@qGk7@TdCnB?PmI8w5#Z(0b-b&KhSUjlQ4X`2Cnw_`;-+}h z%oKNQx5b;@NjOjX%tTlRd6h&Q>zue>-5dAw8?ZhAIr-x(pQ#JV1|7dT8SjoF?&|Ys zvj()I0O%Wb7me8t9YP~D?86%~;CJ#+yuq4|J6@0BEiLGIbu{9>UvWMevql4PUh)IZ zFVY)Lc4(*{q0b9Y?wyBGZyRwg&<^h=8gYL%#p{aqkA~w;TIg0@=uFL3cuNCkcB|kl z?Iu0!;eAu#_G!$2PQ%$~v@dt)+_`bMW8o0qw}Xz1!g<_919J$skx%~n&~H1~0W8gQ z-HW>_7T{jj?cnzl-Xi&k^3BPCgZemEnH!g?tbu-@Tn@SLrr%!JtJAm>eLnU|z-Sa) zg!`7k)7tg8V*zJxeQx6n=Y8Bmi?fe?uHX)k`4}JIJhBap^YdEtRuSG*xr3$;UYlWz zKiD5_6=(5xQ}~obayEUEFPg z_O@~%^tCVE+eZ1mj>6k}(5cEe$2kOs*RKceCzy?Q7*JOU?$rMAZd7@k&7X#~fv0%C z)C=;;zj`AU#M6xu++SIGA@8f_uiCw!_GhE23a8%1Yg?ut+pkUz?Szg9zWF9bRl zs|Dx>(82WFgS*=CcflQ;%S2~W4Sn-%bT|j9;Jl|5(z!xT)baSE{guMsq4eG^?B+t) zxiX-=2WMW(!d~COefaomF5v!`a`_zxw3t1S2HcTX#SyDz`v_B;HeT=0!>M{P``AuK$^C|JBrzU<#Jtth*fl@{EI(3x|G^_I-*KcX(l(KS&d_oTsI9ZJ$GRx%kDB> zo#Ub`!cHah|K9TD1uj=g@5u4YaxD=wJ|yOex>yO9M3G*URT$o9(%UU zT9hlr3*hloa^0MC>e#a}Nqe|lRdHmwc8uBUeSG5E$s||80}&LtW_S+SHaDuu0A9|% zz+wEm$zpwop#z5Nd6e<$6iJq~I3owaFoBLa5}j-JT*pmb9aL_TJBD>cZ(WOYf# z2Vv6@r2A|mmnSUW*z~K6%>ZU(TU~~&EqiHuNJ4ks-YMNo1pXpJkcP*(-}G9GA{K>P zEBVes9I=d5?hl*3Al+}UOnWvkt~-A@esW2=YUh?`@OvXopt_pvD@MOtdNoV6^obDZGcnlU+q6NLHYXzT5-&nn8i9f0b(C7Hbie^Vw9!hjq;gdKXiMJy3al-ZB zNgl0dYpW>flQQ8CO4NAT-=Xv=1z!MM(Ya1nT}H(&{8o_PpPdeDCjxY5TbWhWH+-pU z&E!qL??;e?rgcgA`{TkS_I3nehY&c!n#!Y!wTOCYq&DJf-9M{n!-q3&rz|meXCJbj)seo%8HByWp4JN`AyYPhVz5d)jsC19cu%{$<%5M+H3_*CW28sRaY;0s-XU6nw@kqT<&>Q=X zh)f+}kkXTURC=>&N=Ds|c0N<(^!qa7F}t6v8j<(hQW=-ibG^A}d9X($vV_r`oL8eL6=Qyt29iCx3$ zpMEjtu?j!I>5F=ISo^i*dF{n{iu?#idJzx2ew#M70*SUI4#>@%h zI<(IJYE15XJD$r}9$;LDj>h`NY|AC2aXpdpLRpaA#EhSL657}Qu3#^bC&yBPl8fEg zQ==R&1EqV%F-eCeFCEf%`{U3Ztd6qcq(igrPxf9IacMf~5aFMAda0RJUuM zoc=>*+;jTFn#D?`f0l7MJ=c+Z{X=&&zkK08GTcD*US&&yl-c?EBsuv?|<$WZptA>d2h+ZJ#E4+rd|q z%1^kWL;fk3lP}nOXsO^oIejs`TZVJz?n{GiDYymEmv!i{N%5;5X*KKfx+@9H20_%7 z#Hv5rK-DT|3_wMr+_gr6A!FmCU4mKF+ zF{Cq-%yJdlY2`uXk<#Hn90yZYr=5(5`I-yzkm!0NExmsrET4O^?)epM2~($)pZPEd zLw?+~b831xP)3R;GiYWYwC3DZJ!GT_k}##-=?xc z!-#mIeK@6q%fz4Rn1MqtiVf;;}KHU~MN1b}?&ai>_Jz2qqTuf-(_ODec4M(>xXll zApNx`OxEv=9+u1NwZDO}8p)FIst96v%o{H9&K(@HR>mq2#>+Fk#?>)>FI&%GK5t2k zn}QL3*;{|y@w%zEX5K!=JAWr)f;HlK8uh{bG_g*?@c7n~KUb~3i}>UCL=g{R_?-{l ze{E=VqzuPtXljS~^bizX6A>N>$62`FBB1q}AsgS(+ew5^!Mu1xKp(C0evV+5s(WuY z?v$SKN^i5&MEHf*b7c$7?e6fS7kIT5Y30Y7fkvZ^h%&}&LUsDU038WVi&i=y+RNzqKsgnJ{1bx`hj@`v$3 zJ_lvYg)m+RL#p=Q{Aj`*?kiKeb_zDTRO004?zi`{bhYq%ih|wlw0@?=hoGuV-{{@0 zBEVGqte6)2YOrs?SeBM>db^9gg_9by^!lp9j!t5GuTEvW z*Qs5TVLOoKB{1|S^hAfo;=s@N!kr$<*li_UPLp09y<8IF8Rm<0?$#_F%#v^^=f^5z z2Y&FCv5pEhzv{aMvy1zB%9sl)qk;8ZSFPv!7?C7up1;Az?B{wdczradZB z>@LlJsPK>g9gfD)?*Ce!TDNuf823W79Tdlg)4=<0F;O)CasP2gk9PX8J80}mcttUf zFnx?6ATrpXF=(TNcMfCoj?e#!#t>QJVaING1lk2VIwZWxJ@wu6tyjWD{UCbw2x58M zDxS6ebaghbOL|9S9nXto>sq(|;+7?C?l3tJwoplzVY5M7+bM&O`RUBdN1l#kdv@{R zRnPPGJi^iu_EW(^X5H%C{P{eCjJ;H7MztJ2C;EKLX-u{k@%uHNPL{3lXosFZpX8cE zvQ^=VY?n>e72n_9{i!HhRUBEi3!?jc3XHs6jbujnRWXlDvJE%ptWbAlyPcwJRq-;* z*5-BnZidV6%Zsw5cy|#*+1_qDaa6~1)=OAf9iV?*u$~wbf^oVKx#V22TV2?UD&{|&Dadd74q zdG)W`n`G=dFtMC{t6v*DyYi$POkarR6$Hsf)B&;nkk*CUs`(2;cB%RYOiQg+D$aLdQ*#v)2A8=cw zOL!RsPS>wMbCWl|MZR&mRj{VN5J8kv@w&IGKmYs4QkExST?pfHs8&4h&a(}IRx`}6 z7}_p^m~PFD>Z3z;Yo^NBSi*R^XMy@f-u1h0WEkzWFRY}ibLR7oxj7b%kg@&1#dIr@ zPOYu#WLuYEwAVKr81p=Y$ydYgrP`et!plHdcVJu(Jf1}j*EMaFtY8+v_`XQN&Dx=T zdQ6EvGR;B?c0$*uzyaTOE;7~zm{`6ytrE>Q+1Bz_H~H%67ktLr?7#$A{#n;vrpC`n7M@Zb)u&^8uIN z6V(4V#g15-c62WP)9D%GxdJdJ?8y*iRJ4_CpN46rS2CR78_tz3d8PMCYR6~m^X zEYlUtzv$Nrw!@d4WaT0M$sBeKXXSAgMcV>RL5S1)_B}p-&S4tEkq>n?3tr2kga6@K zcS{gXepFusb^7hQKX-ICEqjA-@};_FNuOg!Cw-pDbyEl@f9iae^yjTzW73AKF(;gS zD)w%$iofl~b1n9CN~ufj)D|+yr<83~_aotdU7E(<91es`nkm@hha)zZ8XRAq$z&d6 zVpOoo1;31r_k4SqVHcn?OBBr2y|3TWR!{l6g`MDw_NMybdh=LlW7YP}gXSz9`M*;T zXf7~7CoDO(>Q?U`)4BgA`P6(&)bhgNw1T&7Ci6NcACLCp;CykEP^{0w&ORlB7Kyfm zuf38QkR)-;-QsQI9^3foQ?D`$sU zDYYl}Fd3uJ+{!R2OYtEIUy58_i}^Ov4WhZ3Fjmf{->cjnIr)Y-zd-HuE@5nbeazdo zE!GTn@1V3{^2OwG4tE;mcKAzm({PGP+$0ta2Dp-C;VH1!3NlCtb;8(zHmx`s0s3sb~@wO4zI9A4N2ApdGPlcR(BFzUY6bs-A{%EK0L?ELRbprN&LQ^TBCQXChu)jGznv6 z`PoK)blQ{l86rkL5&2WR&KE4s<8d!A|9ehT@?SVssedEwVc(_DG1BYT=*! zPYmnDgQr@d!Kd5~?FNi|Akw#hEjp^$qXnN!*zY`^&c`t17nE1%cMo}Acjr}aEu$~_ z48PFNWj9~nqw3?@B7JwzKCjTf>{8t+&VT4YRuAMq_#h9F|E0@?eu>*w&0_Q=-{Keg zm74EsRy@|Mt4N>X)c_4Pe&6G`e%yxPQ<|!jEw$eMBNCtFZ(yjEmtp-N z;~R>cx79s0?dr(cT^UAx%oL;(<$SD#wRe8suDo3nHdVo*^1S@~!aJcYs{_KwZ~CPU zp8HHn&hK5Q4&+R-%p5PA9wOJ>j+v`1dYF$<2oD7vJg`l#uAjM{-h6@KC|`phECd)s z947X>;I*hol8SC1Fr|*BTc35B)h*7C=j(|2shhcuGQCMlwEdA@sw2!rH7hXmVz1YS z+-12~0vG+sW$%LupII}$0V`8$&~2ZYcBc1ii8lG05^dCf+}&jF9}5oY*nSPd%K+DS z(PSNVbQp0NkwIv&Epm#RS-}-@{zWN&t|PW9okqr2dNfSN-hhUvBfamIC^W23bXkV2 zKs`TD>iYTXGqbx?Ey>4N7hV@oj3ujH`Y0z0__L8}iDd|u2d_;>yny-8Q-_iglhU+f1l@_YZ5>C*DIYk8%D zgl`9Kr2QfyKCYv0wdvbNzoNMcO23oibR3csFwCr^&1vELR&4haCl%!qH!$3C>V3P# zarZ(@cAJ2uBT)GSlNUqlf7v$A0qLj=$HX$+6nL4=i{HIXc$r2Z-Dm_VQ-Z#JVnElY z7l~*3J%N5#m8so;-6!173>qonqkyZ+6jjCbbvx%qdMXp8AH#8_OanVzdOqyR6S@zG z{EeZ&ha)h);~wrGY}fvTv?fk>7#xAmAnRfcVaC_Sma9U-8Z%wairWf@hV808wbYXU z-i`=|aOL#Qg7;T+)$f{^aC|%Z_dJ>D_rE#OyZqcoe9W2^w-wSmTO?X8`W~pHf1Zi{ zjPQ@fq0Vj&9G?!qc8loSYC_nJH**gS3EjBR(~I#>^SetCRK3`S79nQy$MpM%{TzH= z{VZfd^W_z6GcGP)?8S7c9C)@tkSDA*_y6=hr^Ns>$W)qBtO(qgX~ODFr*Mo#G% zoa*i(aPr4w8eN7sHyCR1Y=uaJaGLkZOk>8J+*KMz75czw(75Xh_#^u(mhbGY@=htI z-gSEIfIO(L4x)axh1^YRLfAE$Q2{~Wn7O$)dy8pqt0^szr!C@3;}VSKH}269L3EG+2hur=uoXDLLaQfgYKaLp?FaIXhhu!j=o2W zP&sM*=ScAs9*Zqp_c-jy^An6m>hEVG{FcYkIUO2qy%Nw(0i|8c167UGe{p+T8>yw}sL>FnD(PqDh9zLVx7cz?zEp>Xf`VOyiR zx0Lb9z@>JA{@~2gWeW!9F;ue@c5E;kUBQWo^66?%d98qHLw{ zWwx>{>MYbrs@K3@lr6pwc zKEG&_Hz45(D;tgfr)I8`>$>xvb2|49lksVp@$+L&j4W_+pEoPJ+)sMO1w?70qV@ga zHJF!|FU>Isx(|+j?{?Ui!tEf%4?~`smU@G5^>Ua==QfS#ZF|xW!Zg4nIir4iZ}jXn zxvX^;Ru00e0vGGILR*syd9U62#M1tSx}BA|e&zS)Nj{XeIMRys>)hzs;lH*9G-qkk zkZwcfwDQ~Zq~Dab6!F|a8xe$V6*qEfLZbB%LdKDYI|90uo}=QQ`~iu7XCZ2{Ti1mb z53S{TLUi&Ho!{As9m{Hayf;5~Q`8e_t|41J*|NJ*vi;tjG`1lgDQ*hYQ#N+uSs#m% zGgdXh6tB1ISC`V@TL_UYr&Oup3b)`A>Ff5zv1k5#jM2ESvN)bB=M;$5h5dHaL! z9h04rH_@d2&q7J(XLab(^ddF7$(S85u`ln@Yk$PVLb2|wzkV$C&z>f9MmC3~3F4V5 zbOvs9O0aA7ESSapo~3WkPv?o?zu?cIyzM|H;L z1~|6x^YaVitH$(@Z84MEZ|#xhta+Esj~Zjno!Sk_`5wtRYukR+;N$M4F+KqzKP2l| zl2fVnld<|woPxZ2HJ!%S-hHs{PH#4AT4QoR6RpMm61o>O zfVt$i9M%+#Ot|77% z{N#U(-?&z*w=Q00m?M+uPyfgG3r#CK+Hc#0{h(Due!kJ1dvkbJL9s>+7Slyr^~A#^ z&H3D;G&x?m(%Ht-ogFyUX~&(Fay%D`=N7EPmBZ}LaA*w56)@QM*x%cBusuAyuHCYY zH+JL0gu~NH{iX2NGTV6V3!bliAlb8o60dc(@$UCn^|E?+&+oL)kmuVT@vuEbi0tL? zeT7T?Hj*47vQ3|KYk4cn$IY=mE5(b-HeTd_BU=5{qik|mGixtK$8h4#Oz({*QFi~g-kJbjm5tFvD1%!Q$PZLgE|L>%6%26pKf8!^c84o!u zPh#x$070C~*fO`;s1@_BS;+R_88F#i+^%%&{r)VODJ>j*FtnDBE0qMyu3iy;pU4$F3`wPz(2&rvM7UjIM+mYcpENNY( z6ss$$CTuOc=(lD}htZ=C|1N!phnfkU8Z4P8;?y@ZKzgM;wL3R+_1?<)*DHErA<3>s z@4yNDa!r_lv{G9eKzaXSlOBi1`FVW{f-R(RDeVgyO7S`eM5Ec#{7qcAF-!xY1>i1E zldGRDUs&AYm|X9p5LfbF@HWA@A1`yvDUCHWiPkuUR!CGPQt9K~_ADPe0Bu+5Q)We*v_0jwbZkt!1-Fu1;X7$+4&|78)&B6RZu0HC%_fic;3s|wROdt*f%S+ zp+b^u1}EF*%IR(&uab=|e3V~hGi<&0Hmld4(z$GC?~WbC%U(94iyZg4-LrCaxjgoW ztCCHlewANs%oX6rWJ9zZ62MFq02ozPlVrIm~o|=3Jg5C~Z{N%*B|ozla23Cnsi*qnez;;2Yz&v#8l)v0Zi7+7Ce+P`ym&CO^69;# z$GlAI75XNr;WyTo-A;RndHN!fjz2oMdYAK*F=t z5waN<@u~2|4Oc;f^ZgQWl(y@$W@E9U{xP14PyCH&WamG(@!3$e>G&m6RBidEIzRL@ z=x>6wf>)y7iF0#Sw^!_8E{sWJzT|k5ZGG3Z8*&>qRcb>8vW?f%?P$`f%^l}ZJU)h~ zPVu@Z^M9CcjMD_h3wihX*Uvw{K~=J2qysf5o+8iA=7m>y^$3fX^K-~HzwbrX^xhHl z4*O`N`3U#luFe@yXYy;SPIV2^sozMY-{O+${w?Awe8Z>1JpKBnj2Vs2wjln*#)VSphKeBYYpu0y9M66Aj0gv7#h4FPn z;;SV>G+b1AcBcN9LwOtAeZG)*A*>P6h zp!S_k4UA}WjMFBpFEADD33sEvmA=2cJ)=#yUWMBVPIZDeZ0%lF~M?P-YtK3{TQfT&&j;8c*MrsF01;-o#wi65ozzJ z(m(NZGW)Uq#%)SZ7_H@GPQUV8(uDSh4KKJ3lHYKj_3r_?pcox3zL2TLnVt>Lbt9*p z)(3DIQM~O4boiNd#VJFKboR8OYeX5f{k(o!uwnmLCL@|Re2%&mG4o-Y zG#?|=Yp^y+{zYlvbbcmt{ia5J?-e|MiuV>l&R;)ramP(XOE(wur!|+xO8$+f zmN?aV+6z9fM)Q)D6wIvrqZ8Y&USA{I1W(|<=0ACPeOo#DC?ch z($QSz7zJ~Ay|ksth3ovx8O=XWL0e~Qw1Z+NJ$~|hf^?Q-4t}2}VKoc%tP)vuwWpXL zjW0tH#QN?ws?&wid#o0+@{+#SCVkENu1D)W^@itvHh{*5)Sp~LoQ&+^bsw2nyxECC z(q4_$;Nd8OYMrl1ocoDqKP_{zwqFz2J_N}&U|#uT@q+!k83I4B@{?U6yQArhH`#>w zIX}PMzSVmNmnmVD32TGhW8In_o6~JcWUN?5$)@mhuY69n7@Yex>^{{6VX?$JrTd;R zw4!#}5n8__J4j>a2?&~Q;;h>9iQ3tB!V{!56T;bfC$bsQ0dYdeR=c#5Mmt|s`eBG8 z>%r6qW9uaZu9C*>B;V=?qU;ZSY&voCyb*j~CCT)rf}O2g$>H^}HYFI()V?25JA@sA z@!s+&;$r7l<#@kISVp#O)MEC`S~ZFtVB<>cUxgkWQFQ5Y;NYL3*GIo(>lLNpi%WYo zNDenqC$|vfawOWWwcj0+Q`!eb?Y*4BPx$CNW6yS)-izr5VP&%Ar&a^~z4|{cF~28= zCGFKZr|=U~e^TR)qs&toKb5lZb0559sQIz^Qn{Dq<3%)QKy^y(-y8Xg^0^&&IP#Ns zKpw^qVP1s&V#6}*SIx89KLmS1i3aUyx~}lEbysP}d6TcMW&GG@;pYK(d8p>c<5JA# zieH-2dVu6_O+voE=Gn}*;^*a&iMV%x@}#{r8A_h|mKn{*rEI#-bdmPUJW}T&IFws6 zdBWp*Vwp)7Cy}mlooMuM+DePZ-C`NP^|SCx@6i0MruB7{u}q_t-RLY6@j-g&h``TZ z?_2$BUxQOxv7KGS@AqX)KV#8^#U5rWc{*D6ptCWCQ1p+2VSeZP-(SYn$b!*+${=BU zjh{~p>C-o`{Af*Nft+r!O;M9hvwvc4n0S#fp3ZhgPF<_;ynUEVXpH@d+C0iE?rqpV zF~PR}=x6U3PGjYokedoW{daoZljWxGXE=>{12W^^`u9j&Z0=iyJ5vPFe@bqU zu)Rw0N_;H+4)XheAY!FIHtTCTd)qBWm*(>}i*+IL<-M*}pTq5bD(B5=k_^E&)?*EV zLtN3efl+&DkA>vZdVzL!KJC)EWrubto(K3V4X^e zQ{$I7^QWJAdt=kdmS(k$+(cx$Fg8_^+c;hP<=9@G=_jO1x)o;aK>fCY1fQuga% zemTBJ*!Jd8$9+^ZV~{QoXTBqa!^P?j8{VYiTxCs%FkFH!bl#mbq0o{~Vwl zh3@GYo4(#HwGVBKmp`6(p|jc=41OYn+&`VFT{4|RzCOo?$a#7edOhW>(~qJ`o`g}J zJBt=PHYnNdzC?3GW}3+(U)S>MX=o_S$Z$MG^Z(y+&pw$N?`H`30Kd(qRb`r@!OyGHcXVuJT5bT_p5jF z8{Wyau#6{V#xHwoZfb1{O=okr<+)Uyr}eAbB`R9J+acyjef)~w=jq+QzwhDv&tA!SuKG=$)xIrw*00sX%aT6P z9HrFW+FW_wajtHC2`VG`^Qphj@9XjAuEtz#|B~}t`bGftitQh;8otZVl(VQ&pYGh@G%iv3C0!L(v_CZBMcGOxl(q6FYFvX=M4AFI zYQnTSy83BN$&lj9R<@|El*gRfF7GRY!lDJ^z-BEkZ{F;S{P-9quh_O(pS;rP@XdpB zhmbudACBG&tw4CzvCv=T_9t&Cy8S4V8;|Ee@uW8uk1j6Lt%+ZRVR$k0p%ZF%Kx$T?7hr~^MI_?KDia*l|oSM->Gmvvg`I3FAr88+P6yg zBTJo#kmxrm^kroQMxyVT zh5r4=Q_K$T9&uFK>(PjCNxy&5-yH2K&U+9rU$5wIW5ieLt6|)OhR3aMRa5G#tE#@{ z)lUEFT6WV(DKF=L%qwh6j=Tephj}Y`xn#;K-RldQrmxfL=T<2% z*MH1wqUp|cH!H7aX9T$(c306luwQTe)ja-{M9b|TX?Z2gxqfBa43(|xp`z6;J$7|s z>26ac-zAeh(L@A9V(L?eEs^Z$GrXyb!!pnkhlr*fpKfUApwx9Xw#xL?lg>v*Y`VzW z8qJx##yCW7YquOuMt3frr#jR59F{bvRSn||8DFq!-MsDH-S&z&%{lc@<6j4Tv)HIB z)n3GD-e-auH+=fI@YTCkeE$HKVNX@L2d&Am{lcubXh< zS@avcd&$$bCmA=_$LNCL#YNClml`&8i(B|a=gx>%H-+0vz1Jt~H80EhF#(^>ln!U+ zgE7c~6NbkKW8o7DJ%c-SPOz>(cQQJy*sYZ~QM7J2j!Xp8W>`OFjct-^oTH zns5-bG$C{aR=qmmPPK))R>6yp_6}b!~!`@U%J64Q)3~8mfn8 zr1fe^rl097CVU$sT@+&wa!wn9wleUyghwklf0V}Kz%GE66w8yhq!Z@!~bWFBuq zLK+<5h|t!nBjk*2Ym+$cYF3$1-#e@L`bzUPA<WP(*vlNA4MGx@xr z(k3zO4&s5Y76vcPa|3hsYCQ|V=E4x++Hjjrb9M^YluCH61EL{{?I0=m?5hYbosaK z;`>CX-uYc#nQ#0$Q0REWW^LoKU53*(LB70Sf$pI`=_F{@_*tpSkG`j>_>uCb`_D*?g*DSIe$kd* z9)YyIg`CW8HE-0jbF@A*Iv~Q@JzS?X^z0BG6s^a8WuvusxB*U!wWl#AI9%VecCFgA zdp3tWL%ux|m>X&)9%qZHU1kOkjMj z17BU?yQ~%Ev_bs758ov|Sv!Rd4-sB<`g-~L($-kpm+Hv^WzaN_Hns>1#mxuU5$z-7 zZd`iwAkUwx{}%I!Hrj^J4*RKru1Uc z16}8}DiGniPQsQW9c{mcp7%`Jwr927kkhgqcuf0lz4USXD$O%z%Elhvmma9t`h&F3 zn)xo|+hET?2wjefd%Y}PyIkJ%*iG643Q=U=kMMq>Zq@cd&ECBUVe;IRMV{#@c}jQL zt*vO$pz~<-)}>dD57iz1`RHy$f8wsV>6dv;^ve?}w^R z4gPANyH=DoAAm+5BG~LZnrC3somflySN6*w?0Xryb(f`8Fxz8CGVPYF|E8%eba4^# z&p&W&xJnLGR`R2CLdK|l`4TR+hYPFb$ru_C5fKm~tU6({;mMH0VT z2{h}+(?|%w8vP+grVs`PxF8;Y+^WI*T7lunbuR~ne zS+dUsa^;#b!#9@hYE$Zpc{+l%#jUzM+k}Zc9#-)v>BJ+_3HU28j zt&SHy?}xI_6OCVJ&kM)q6HRS&bfjJw6*VO3Uh$T6-vr0Df_Dg$`mK~cSFOYIdES$; zoRm(-b!p_38vS-(sy^o5)Uhz`#9x~Frk=DGDCI-EQ#*oRW@a%k_<1LfD>6pD1oGlC1;c>qJ4U*Igag#V*iW zswd(>6BHK8NL91zf2Xo(6yKk~W${k*?{KU{XuPB3@$!3q4x)T6iuoKuJ`$}@h|5g8 z7QSh$@S=rz#SzKN_#R0_WAj$zOB(gGR1qT7TU*Zj@rNRKwu|RwPCDahj1JQ4bi%j= zORdIs3!r;%X^cqe{bZYIh{v6=5mbLTqAU%kaRkR;pwl<0k=`XL4xJW2d|np$9Dwv{ zxx;2gIO>GlTQ_!}u=SL)+)s_9zAO~;k&4UlV_2Txwk!QJ(WvhuG`4$M-)HBPy>h!=NAxu<`vqyE==fA;V{{j-F^ukrzw|VCkgxqU z%wf>E2r4hX8&w^*c}#RPPF~4B372iJPno;KxK-xONc9zNU@cgq6D(Uj`FXOieGVCy z{Pkcw^C65KZS%Rr&f|k1V|9N58!L>^zaIH$W9f2|%$P3@zc)m9e6ZvKtLy3PPGQbx z1=6qJ@L1uZMVqosKW&lLx2O!FZHfwv?jzioyV581M^O#c%MGz!Mj;M;zoYst$(j5= zr5d_?Oe|u*cVauG?_T+fEa3yuw1qIF#(|UH9(E|K^h+UBXVlND#!QAt$p9OK={G7K zcsut?d8sW=$Tq$_X!NgB$?@B&omQ;PWr)11?U@zHBp}crR5_kp)aGU5Cs|~SrY#io zu(@5h%I9;EjM;b)r{jeLw>4ddZ7xsabzW`+{C;ANhVTw;--d{#c4y1jt5+A?ntGH=e$eU4f?BFSTaX*(7_aDaO zLcdn;uiZ}yZY%khG**!I0$Gc<1MAEpS8l8P#94|Xx7!$4m?+HTVFqu9eu$N0{<0UO zvKJ)#;uB=(7ZM#Ir0<@R>t@MoH0GA@Cz7or`{QUa(Z$+zc1u+qG^RS>osE6|MO_z_ zc->HL^JGUusJ>U2zMTCi*Dbo+OQQQyqRXbwij9w5lQQo^Jq4G1R4&-T6)GlWv`-wW z=q?)vg-2pJA{?ip0x%xHDWquZP9$$t2uO6#eevyX?D?a1^boqJ_T?Xo-^rJk_#r)0 z?66L#xuMCLj}PlDmFi}%Y-bgpn8wl6vdTv1x&GeqpkX2I+)pea=v~jSKj&(xO}RCPtNK)>i16(Zyq{ogdve)%d^g*%BF_BrUbLsWXEeC6sb(ZO{_5ngdyXpF|OZJ_%$|nC>A%b_q>gLW( z>TQwzqUEyAiMtJ?DR?Yu(7II=z3roM6h^0?F})R3;@pNsvS_VC zSX30}^9T5#{ik^DRv_62LZ-c0-=UKIrmnH>lN;}iVzO7ir=^PX{_j>VUgcfg8*!)) zqle?A^3nJF_)c{}cZSjTg5r0o8*0N;pQo@kChgDV;{xGKEAOI_vj>_$S94g#!AD9! zkj4n}j!qsibDHrJ@lDta@}X!6P|}&ZVHq!e90-3U@>B?U(p?>Nw-}{40sHloY?wNY zSMQzGm*%{&RxB$@B9tIorH=Dxv3t%}@ug_}o#+&XZ(u|IfjUl|zfS8~zes5y=3NAN zha&G}vHV3vUVfT$UZNoLep%&SGGvY0h62g7myl#u9BImfM%P?C&27Ygoi$Ba^L^Dz z73(-y-x9||4N;7K)FKWm*-YP_J4Zh3)3 zF%G?r#@_~0$#2~4udU8hP0T08X@`7zX3Z;LNQ!y!&1dPJIm&Ai@P%39)Vy{4`s}Zr z>6|^qp>`FPwOkKv<`$bVpa$)SA-$rvu&G@%$fLBy2~-9jy24Mgt%og z^!P5dNs<-4XA_5@X`?q_FA9#H(_t$i_-+&LGP5c!WAaqqhEbJ!=rErI?=lX{QEpnN zuMHXv7#&RIV_^<7-hQu~QEmK_BH7?9kB!HS`3e^OeumXYUr|n-#lFLU?@}8ezGLuR zk}L6D6!lv*YaKU?8E)$L(dmn*2ec2|DQjCBbEKec$^xOk$af9cu$pAYq#>W5v<@F)s_E8$jyBTEAC9539%}LAm!m&b4k?vg3 zm2`m8{6L>kENgq+|Mu#e6&-hTTc+-t@C+vHZ{z2O*Ozg)aC>V>zt_#g{)^chwhlpC zYH<%HwlwL&Bl}=>3%&s@eX(T;1G|_kAP|cz!mv{LiX85=sU72AdH++TTX#$P*UnRR zMisG)VAhyuK)N4`alzN7HZ)S5jP@Jj1#Q8Mz?XHlA-LbYu<)%1)spBv; zv>4Os!k3imUHLvaiZeqU$1OM*XXOk+-V^$TL*71b3ZBTHBOAlY-Yqa7m`~*i`bLX0 z${Y(_O?5e6tV_E8lD;p*cd6ac_tp5m1@w`BCHx3`aJSYH_VsNUO-A0Ko~|bd?gbe zKHV~5v+>@5)YaALoE^34#)vbT;&s%`&4?%i* zmFX3Y?Ugo4^CIlIsyq)KE_w3c!~n!6y@`T98iye6;r!6^OiJsS)jP;of5NEU3=;Al zd%ezQa<5j*c5MLv@?sBQ3$DWQhGS0s$(hkY+0LV+#qpKi74WzOyPZtzBHHlx6s zG}g;Yx`;VDwkGg0qUMO*e?L|410nt*wE@wA@oW*uzTE=fryq`OmB+CQnN3%ZW1G{h zyPK<|7~In{G?`^E3-IXX%U`Qf4= zdP4|D6K6aOnB4q5+A$w@v%N)Z{zTke6gxY=;ib_jRaFPML4&Q~h6rAUOGnIS_2a|Y@t3KFgzS8EKOhcNZ zWc!Y=KIY%I=CjAE=q?@3V}8;LtQE1j+zZ93Sgp-C5TYu(sJD($I$`p*hqc;m63pea zdr@``7CG6bCuCme(2c;2N7ql1>a8x9J#-hU-G1HuSqW})B#iA*;7gHv3+nAIjIKxb zlX9N;dLtD(MEJ|=T&#!N1{`nZm=EQt3BZE9CR`t=3Bhh;VPWo%_TNrU!=08qjw9k= z`acBg>ZcPEy>l*N_w#d%+O@<4u9HwOAdt1DbdAoiOjtpdpZl zG{54T{W`m&;LxB(tN+v9d4Ok8Y!CnJE*+^-rM>hTAT%*j0-^U_10jS20x6I}6Qn7i z^d<;M5kyc?KtvIdB8U_P>Aiy@B3(Lszu9*;c@u(HE_lEDzt84*PUfAR-PxHl=bV|H zQ)Wi%vbx8;bse6VTZm)XbJd$Ws@laiSZcb@yoFXh!-y*Uxx zZ%KmgP1>;cR~2D=H*xI92ZK_n=eKje!tr!y%*L4-XO7rnnY`fCjVT>d=lncg2B|W& zPm0~)#R=Dv53JBHzRa>|GWAkLvlZ&tHqGdLwhl~vzo@PJ{)Zd1?>YLL=Jps~Qgo}R zCK?4pr3y+-DCK%D={98IkR3KY{z9*Tn*YS z*^`DQ(95Z<^I50Id~4ht)>f$ zXzH=uYV7Sf^XGPXHy9m9OKEuyeY@LsZeWH7FXwNV(e?*X{B7;O+M^`-u6)$=vyg#z z?KZ8pWkZOx-gLxkQ>p!K|2p+-aW!7bNaNKyS3BeyGW)bgdu^UAD=B;5xmT&}_nh}` z*O^Q8#Z;(OiwS+}@(1N2;>%21KdZSH((cM%!Fa8uqL-g6dQtO=z`zXYZ|+HMSpdsk`Nfey(nfY0=w=zZs<^>ygq z->R>-Ebmz-&5Fu$Dz0DI6g{YAQSINhZTUIsvOBhjTi&{Lf$k};&WwR6Gp0B_OwrsP zOQtP@=2U*4l~;4SjZ2FL!@WbK@U|Qa|Ex0am$*K>%sVYP9wId#73!EHP0sA}!In*G zjFgIC$BrIbCXWwd3)bBpHO_H!wp&L^=;@Ke7fdg)_1vQPxi?&`!-IO5@<#1AVwQdpF|Mt=SdHsBNzv{~&5Bjs|>+$tf4fjbB4O3M3;9-Sp>O0S~ z-=-ZhMufLFY>iquXKUP=prDe2o;HNiBdB%i>IW*Wb$=&K14zWJ6u#;pNlboZGf^T+m^kg%;Ryf91l9Y6l` z=-%&o^y4F*#lFL|-%b5{y{=!}>f9%rwI{{4MvQ5)Svsh9Z&CFb*^+Zihx;pc3EcVu zztaHMkS%d~h1Mt{qW$Ydh6nqzfzm4`vbR6Nu6zZ5Wzne&*W!Ly^{VkG!p8f@)X3JG zNo#e;t8d}K*0*vm@@jAHXa;xrutfRkR(`Lwce~We|C-Ky|96S;B7$o=;Jn zSQ5Oifz_U@RzASW*Cnso=Wp#}wvOqrHU)dr^?*lXIC;-S@KTS;>F_1a>PHkC-;&LMX&5rvHRV8sPxNf)h_8G zd!>>+ipGnb{t7rd>P0Zcnvp5FnxkMUyX8hfT0e@_YE4vk6wtsn8nIm#-YFyc!__9r#^w+Bl>!Iwb^lYlm zd+}wt{0eOS=-BSmab*wU%VNUD7s@f`m;7;MTK>4U6s%pMvTyQG@3=A}zU+FxJ~?uC zSywu)EO~s{_JO_Y&O77nKCfA|C1reBNXr*jZH$djwtF6NDh9B?*I)PUwkc}SIg18V z3=4I>Dn5~X{q&MS{=Hr{s@%$NKWCPy?|iwMHO-*+LmFLl?;ol6Wl+z>ohiQXmeKOU z+|$^<`tVNW+f}g$^TOXcLnmF+@^g9(+I~gJCN~`vfcDfL7G6f@=6~J(!Kqxs;>r|l znP*wZo7yYi*Vz+3*xjb~@PI#H(+Dwo5}ZvHNm*3F@&xB1y-C^Vgyjj&HY!S+vJgi^ zwabc~acS3(3#D)0ooUkG2HKT|^7sXql+5?bfD$k6QhvjFwpr9YCt>|@XJx4J<&>>V zSRQxQf-2ua*|vn`apx(h@?(^pOjsTl`(EKy#r`Nyxy5@mj`b{>tVizT%y({C;6s^* zPkn^cxHIMluh~@}TC}2gzP7rjh5Nv&R|j`lJLO)5&Z_Posk?rB-Isq$y{1&|6SWyL z_deAO<{m){L+$%Y7eUg&taM3J}Q1e@y2pOgy6k2{3F1-i?S2H>JR`_lh-~ zd?Ckn+G0PWWXNAW({;s-hb;>oP~WEN8%(vo9c{364Ax$Hqs(`W_u26g70t8+*O{RUYo2(;Rrkd3%2O+w^r*@*P-gS8tE)2LT5nux^GDTo+ik&4xyUP1qoER6MSn$S&)-FMoaK_?rH^ z-0`ba*-PJ5=wBvP*KvDmfa!dM3@TqxPW;j4Dt-`1{KXGY!f=S{hx&Z^G`;1HxN ze1m0+_m*$o)TWGw2GyBjN*1g6OMUwn$yTL*jg-xA+Sk?mq^>uuzI*4umqy=E?^3vV zpm5{HTl?|-ygP1eb&xfyTlPNIR#U@_@nXAvKUF+GG`t4yRrRPjxfQ?}p&|FO88S7Q zCMQP`->;(~qn05D=NeKYzae|B8nXJ9E?ExgGV~o?<}cLbPwwse0e+1W4Jkt3mF{(H zs4lHZUk%r!J!v2i40Hs#0rT?fGLdx5JVW-9{tO%iQq^OBnshgC68J@3JD^KyaGnL| z@rpamrN#hg4vYc5>utz~q$7CWV$w6f3E;Ig#06t4ngY!L6~8+ez(8HJJLoG&=Ueb0 z>2APhk}m1NMRs5Ta0EC3bmtp=4)7t6fpu62&=fcTBx?ix@-12j$OYh7WS&#pg>*Wg z^egj$17|haPkJ0!zfza2r0H0|A0<5m94(_sTJ!}cf5mQtG!u{$XaKYZ=7OI&r1OCZ zzz*OPkhe2qQH3IL*OWoEXa_we8;>5Ct-x*| zBj0I_fo{M!Ur3k|Plj4K)PM^9+2hapBNF-X6Jr{2{i z$9h9{Bh!K=8*-|av9Kj_hj4;2|P+lJoBGbvfHplf8{J(eLSUFT{}fJUjMFLmJmG zWN>{Kx-6l|^{Tp5xlccl;Uk(sYYhx&*pOFUnj}lE%Zi$sd=BkT0arba@SX9KE?+m+ zrT+>|nm6VeW7`mD0yG0!01ID+9!Se&*Q5>U>!WmONBYKZhIAl3_^mGfq~!-_(wQ_P zaVWZw)*7TqSJHl>NjK8zqmY@TS2i1R=@_z{-!)4b@-}IVA9DujjkKDKCvCr7mr0~k zfVQkbrjhPnr^|HG(^WKim$XSEL%I)yK9}>3Rfc>WX~^xay4>EN%g#K8qzQx{59(5) zi7s3A>GB{_&jhMfOem%$jdJXoSj5%Afg9x`-+F0sse zbtl2A7yx8@OOslR?@wMjbAu-1Y8u#F8B+G1Apt)k6PD^yb3bFbQe+PJM3^bT(yI7)s1ef-pranm(P8EDA2n~|v#3^~m_(uT3Bc2bv@f6!z{c|*#~ z01wbd`F9No?Po}TcqH#6LuSD*gBkBJV?_pSFyz9|hNOmmr$rM(XtgfO%4+f%&&KRw zzCMavW*)sgO_NuP7*g*L?E%*jA2ME{ntV~*kVVk(TR$NiRx^(Ekx3T~`DU3ReW9yN zpXf3OI@rH}n7c!C`Eecd@-)VAxGuYBZ_f_U#t2<%56~sB32`6&H0dw_KHQthNT za;&o^FSXI-J;r0leN8@n%aDStb-6|U%VEfevxaeqI24`)&-alD zf5Iyn=jsx&hPe;f-DwyyxD|8eVofR{vlb(}#`V%93>ov_b!2mYU3|dLn~eM5?W`Nl zXcCRg2r8q?HTd8jW7p(6&f0y*czd&MtYV0lnj6E|2diYr_Q|^Z_MRcv8MB*94atHG zS&?6p0-2%JAaIHdn!wtt%4THbI72dTW*#1+NzKoRy}8Dativ_g0zXzRr^!Oz)0(k3 zUqP2Qn}ZMDRr57niuN(&+7;T_5q$P#ZYV_`HW}hwjkQNAO)ev&-(enkk1+@tZAb>@ zhvLwo&)2MV?`hJ1B6|)^p>N)MAeSLSkokqGuy@vxd67ESeQt=>1sMxn?n$G|>IItQ zsc6VT@ZTYwCUfDf{uPlGhp`zzevC78`K%^u(imh|b6vh|$K2gX7bBxC=f7c22q&Hc z^!pp@=Z8e6(S8Wn^hJWDT-^XewR4$I$s2^zjvVntYe>J)`5J zLthKI&%mALWytUI;Jq=_k39A1!Z-#XTRIzZfVJOY=yN&0KSRF0-$j>!^dns*_G4-j za|{}7yH%I2%rWl{JmQ*bLQWH#m*htIOD5bs5jRpN6%=`^<&E(dLEB%^}DlHCN9AR<|*v z;soLbA4g^(Z`U(6xp~hX%8mlxP>&xt?0#LBPQ3Hx$A(mamUiBN2a)A!4ZH4|A#=`a z;y(+q3{4zFZlrCe%a!rEH1*Xa-%RKfd3UKR>-y2Gx%Tr-^C#b|tQGVRbg9Z5^KghJ z^&(gg(eHkj89(Usr*6yv@Z{|JnykvL%WG$J*;kPDN`ECMkiVA=NyR%xvL5+iwkD~N zD@!mIJlI{A0~w&9tCYVZ)XQ3$HQG7k$I(5=0pw@#vCI?A4Vj3%|CxS%&KR60%?i!k ze@l}gjAP`-x_m@^$4EcTiT)z9Ccjr@{kT`{F(Av=LF>D~-5J^pAAZeyi_)f=B}D2b zho8ae+-=ax7+qdZ4ZlGHjiH^{Dfs3@hV;pzNvA@(`0h7k%Pd2Btz=z|e4munkVn;+ zGfzMt_mLMHke%x^DY8%LI59Iscjp_>*0-FmFA6VT-{!Sz)TmLrMw@cweFGYnrJ#dv zmx`4uSE^7hsGG83PJ@-@@5T8xMDLVF^o*DI{X#NuEU7aZBBILv0N^Z%DyUNSSMB?F z%JV*VY5aYO%W@>DL)AT&I%osfLw=K2b*t-%+i+90K}RO3lt0h9-DO{j z{AKP{=`B*b-csiK-2HU_cE9^B_ozDWkgE5ab#m`LeyhLXVr0$)?k|(K_ruuRzM3g( zTDi)#Dq(@)UAqM;la0t;>Wq30Y6z?5F29yUITnSClya1-CK=$*+aC9Lo6i|?-{W0X z8J|BTS=JO%#CX7U`;XZ?rkjrsmgO9Th2d3bME5HF+$Xh{GE3aQqXI)?qV0le?h?yC zJ~Arqx~rOxkNW^(AD@7LuyQ^=cDHC!>FPDw#Aki0dsnaSzSp;UAC1nG{@|d7x{h$J_1CN%OeXv_L#rGIGzW0 zL~2pw;PLl3?o_)UN1VF)7}m^-&j)3-5@D=X5(umH1fH&yfTa~b>&O_JpACL{@{%e` z1}J`hS0RxdZi@-fz}P|1$Ag{n`ASoP1(_PRTW!(v#xn zR7sR4=I8Vt_t^ZL+2dV`pA}6ietwbb_Fq!`{C}M$J^5FSg(5ozy#X~wXIK;L0!{*o zf3sTnu*dkH=3jT<`@bjh-1jCHdC$PV3E9`2k8{v}n}2ii+mm-x*-IvVlFJGY{x$FO z;9qs0`!D`Jo5$?39N^ls4t3p=fAf)7W1y}lZbN=mKm6-bDSw`IyUVzkh<^)kuj1c= zq;|bF|El(T@^2CHs?Nfs>iuS&^sgwt)t}A3xyUEx-#lFVEB?)!M0sNVE#z^J&A-Jw z-sQ=^#kp?(Jum+KZ=y+T%rdhiHRoS77Ek8gWKzshTqT=s=&T&Y) zhDKoQ8XeQFQU(A1fM281!Tp2PJO8lW=@sPis!ssazCpcvbti5q#u#B?!QIr|Uj1;2 zitHC{M>BPKb*S(1YS7rvSyaF_5GUGQa|H<)eWbr+V!Hbl+evxvFb! z8(^1Lok+U-ukC;px@rY?jqUEwBi)|zk-kCR70Q?H-L0$33nMM__xk}}{OPBSJ#Vrgx*tDNi z6Q8QO@FaWrG*!4AO`o|MIF+6y)gQ&{4=rAQnucLjA6Mz$B7Pg;vEej>C;pZ|iDQm` zf*`FR%mw6{-T!!I{3qV`7y~??-aUa6{-SbE`TjIxZnB4m#CjY_PgR@Zj=yN-)6^Bm zCP~((`ddJfWlPC2LTA0D;t(eTl%ASI9rP;-FtD|JWtewz2&tdQjEpT0T|=8CWJ zsktn{qkoIt+R4?-7B94njExEkHl19q*0iqutro=3i*b{j!hb^l8|B#;?|;)GzWxO3 zo2MB8MVtOC4Z}ja5>DOiC#B*nDIcnwEFzVkP9ZCgNs2tTcdAfayqlMrzFAFphw>Q@ zWfk7xdG*VB2XXFI+|;=KwctH30=c1U)xQo_9`&D@?`-8!U7GpcR{jy2`|ADyR{ju- z@!arXH<2+{?|74Us$jF7 zt*m@^E8o+~M_KuyR(>S;e;%iJcDQ4Xnr)lSyS->T=2e_2^c22^e9mw_1RpEiTz(}> zy3Ad4*KK59T_#i zYMVE@2IVv8LJlaps%7P;KvybX+saR}^3AOLOe^2n$}hC?kyic_^8fsJ4p2uB#>w4L zyj#WAQ1YfSp!Vu&WydDr7p3KU^oS<$U+vaWgdK+hUw$_uRe#R+zw`a?eE&b&X2uh~ zdYGpn_}?ch!};>3BDS>JGtiyK6!16+S;pcjF^* z2ER@GDB5qtX5taPB^B`x>WM!jzAd3E3|TQtldEj<&1@~QWg5O`Y48(%TlrQP()B#H zC2vsw_t=|oJvY8{d+%!IGr9K};%X(bAK#wt^ba!>SvrP&kL&o!#nK1x@CJSsBdNO+ z{y3xV=`wl>J~XBAQN!A>fo!G zBE2DNc7s=ZM?&xun>!sJvCrr%zA|;!=`!SPe0mS!6OHdm9(>e3uY^xfPhFztXi~QT z{#jeF)x!5@p%=dD6%5&iA5|a5c@}t>cNG7n2lTZNek;G@KfV?p6#P#1p4BBMW8I%I zNZA43Gsb#VEqvkX;A`6&A7S7gzOdPs6U(A5eq0z1of<1r4Lru;8xy@mmp5p01AJQY z;`1|VswNrm1FG~5exjNtRs1v=0SJCLpRgex+|rN|w68cmNo&|heIY=XdTf$IzA^>> z**zEVMc#lPtF~<4^HV!jGmlK4a5|<5PjX(!QZoVt?W@boPoa^E7;N`r->Y9e=U+;g7NSr$WE0n$bsmnO5|{XKV?+&AT=E zsUv<~Iq>_226wW7xvT&_JU4V%4-X~J1-*_pWW!PVgO6@Ge7u%kz^5Jm%e3D3euuCR zx&lk6DE!o4WlY~NEbw@zFYl zZ=eAkr+_xMvQd~lmN*BiprMAuRPZ65!f<@Ez?qKk;n|kDl+Az-td~fQSWQ~z#c#~O z?`ecCCuz(6BlwrrA%+HHkvB7anPkYm>iAR}&~^h&mg0AH<9AJ#gRh+2<4SJGmu-+M z(VENvPhH-lE%;E?gT@a{(xnFXezJ!>$!OwAz>obi&O+zK>!LrohYxX9O$Ons_2&s_c{OywX6G&Fc^>^}Nh7VKVKeZO$zex11XAC*9Q z8~(nnz}H#k6KK8=IOq)zq(=@Wzlwe5M*Kb(gYQ3?e~_KOAa7>iGg!$*e27uR3qY1@ z_>0Ey-a^6n;Ud$^UxIevhvT>Lu|u|fh3{Sf{QqZ0{BY^-EAU#mCfJ;|1jlFLDg5YG zK|{AE81i5M{+2HqvSg7VUbT=1$jl1OiJJf&%wDF+2KYsTp0}kkWIAoE4!vD{LziL9 zfyv>iS)VW`h3Qf}ikJ}KusyQ;(GihYXtMA_#y=9@b>wu<)W{-eq*Ys8E_Q(T@*#&u z!21J5E+8{qo$$2`(xuB}&dzR#Z!&Y85A(-O=Ea4;)*tXk%BeBeBBy>ZBv}z%Mu4Nc zI}E9YeEbr=tx*y^CHy}TrQts2i^;u^VbEDjQ9};W_j98d>pz*>S|JCJN#)^{n(2{Y zC!uZ1gQ3HhXwULM)&zSrdA+kHx9)&r!O%lvo&oG#3bZ~GYd8N8P{&lpZ6 z)&~5bRmATSpU|VsAz{UJ`RWaP>)_`SRq$g*eqO!=FE_ydG=nDn0^#q5(BU2YL2Ba< zxq~@68h&r4%d6mi9#0WvS##!XO+SaybOJbbSVC(&}WwU%(=O#d%Y$(@?hI>lJx*-D#5oHU-@J% z{92)zEH!m`M4GINE*o9Muo;G5e|~JI=Od4qvomhcQZ|DU2|J96nI(vM zpGs99Ub5~}d39fjB>iau)G4b0G0H!`we{QAR|*iXARXTZ?ssxzNsL^z^U2hSAy$3h zThGgT?7vi;z>-vbc3)L}c7O7i&#~Sm#fF5H(oi*g9)AJm5wLNMbJtAkl>Mu_eeS-- zw@>9$S?yDGs`eH1XkSL!m!N?jb=qxIbtq6cFJQG%?GdQFFV__|6)k3l-W0w2dO-X= ze7Bj;#M7irL+XA-GbIw2b2a{X)~41w-FYCjSceyUrD1QQdb1qJ7h?~64pC843>Q%~|Oftwp=5PpX8ssXA*}b=tn{EXSn=*Ob3pZJ@U$U)-`TxzyoW+;hZJ zsrIki!qMY_kGDfzwc1dhI#qxFs$b!;VKJdy2XHK4qUsVB#Nn`^Rc8r{9~+S8OTm2* zAbhH1MkB7JlJKtP;ecFI@7E!o#^$~1e)V}3kQDYF?~jdft54=wfuFeXHGXN|HttuM{-vFdHbguVXWwZ3@%_5{_FkX~i{L zZpZSNszZ&lqOLZiA3b3lu@sF72#n^qhM0i9fka{nR3|z`2Sh~11Vjag1V;sPa$}Vw zapWrD3W~&$EzW&0;BQr?Li@B%vO-_}l#RO%9^LH~y}j87)eqGZPTc!1Y_Fn$cC^#Y z(|SfVHtP4=&xCW^@6N>WzmIGDyTR&JcU%5ld_Lc{D13FY@Wt5{nH8xkxzvXrDot88 zrI0Q>qhzMK$M#KE@>BVRtLsXJsq4g6&&<|kf;yjEZ%PTKUb`JZ{O)Q&(!7?!Jg?K1 zr}q6x-YlD>x+S=?juxT-Jd`;tjGWh0*_O+78=HdE08+&t=T$8(~mXK06_ zrAY9i_{|fCY77+~6U)gcuGwR4(}bNqJ|Cu#81A?0RrNh-Z2D66{xgkDk|NPn;^}eo zSJL&WyN&fPpZ$P|0r)x0|lc>KM|WH{HKjVDzc0QW@t3_`w^lJU>Rlh3am3Wsli7d3vK zyry_jjX`4km;018G{W0&J@FF#H2G#C3ng^L6HB7MW5w3$ed^kd-hU`Mfn0`^%1i87 z^k1XDGbGoql=Wq0b&Qyii_w#`BX;Xp_OZXx#DyND3Obf^E@Eo3N3BPpZ%3c^Df*Vw zl$T&%zBD@9Lf?yY`Q4B)H<8uY6ug2ix#M6>MzJ413w?MlHW1p@A_g?Nsn3$>GIx_E zgM-jzJVYnpZOFxS#Nup7eU&xYWe_*_96G>z=+JLqCv}au(`ShNb&ojmUl9|zF*+ma zx;|Bx7U(b4+Bg;a8Uj=@i0wF>)eriM9*fv>{|-H^FYU@>$dzh_yu5{2Q~A(?w?=oE z9UTbz$n-a{L!b?fOQLf+i;lF6CYw$|ujq*me__Zn`kS%2Aq&vO3_`c{1?>p$g1&K% zCOJo;=UKzK)^DTF=iRZ>@Bu;hvKc+)F+XC0-X)f3Vf0M7iMQ*kp-UphYAE`wmgtAU z{ea2DcOR%pL-Z$$(W4#6M|{gB*aLuzlC-hGMdFsB8@^0mH=+~ya0FwVO_Nh+n5F9y z^A&y5m;>l*(97Ir{Jvd@-ffp*j^(S^KJ-e9{XuVH7I!iTUctBq^3GZ4a)XI&iEYQJ zb?AxFoe$}#%Rv{qE^tu>Top=#?gPF4By0qhy~;D#6Qtu>t3Je~&c*$ih<}UTH5=DT zg|JdDp-Go>#DC^}cQ1&zxSsw1al(H__w$H$pwmn9He>X&E)9PG2U*dj`k;HCfbR7Q zdo<9=PhSvY8$D5mi^Slp%GiuX7mEHUFhBMO?XfSosmqxH#4xRZo@y{>TD&R}1?}!d zCs+&JVG3WKYlMDsDSJZwiR+ARyahVYwqFxt7rndGMW?%j*oxq#CbV#2CGrqm?RE6^ zr@`4l#w$O1rG4mbf6PGaXLw~#IqXvC*RjsTBtA}T{3DDB-FM07%`|fqBD*qE^-g-Z$3khbDg-` z;43rwrQ~ZhIZAxi9RVuVIQr`a#9rSexIOwyu5;V#+%Vo^e?xzHo_coSXuZR> zU4LKVVXxs`*y_~%h&Zg9poK=*CZNl$LqD6*M)`wyw508T?9lW<6ttcA9S8&iEzl23 zGuG|=9uM3^UQ8kF#n_Y%#eO0sx;}XD6Lgt{4Rp$>beVHRm(%d@k_)=DEvZRIY(z%y z#SRI*aDDWwcj1Y#OW?5&i4V`1jey2?p&Kl^3R{>|*cws)^ihV)KE-(k^!02zbguC8 zdt5)$6?q7bf2x75vk2=JAN0{&{{R>ROaKnwL5GZ9Z+sVGtCF7%jMvd?GsZLdJsWtf z3bBgzLaXm!GgF6H_00?!)CFDM*XU+v6XO?|F^Bu+0W<02*!lDU{qw|5#DAq9mA$ah zf%aXwc>hs%jQUIP$MSE{pYn{WH~ddp0>0is8h%V<12zcl${2EFFfx&AIV+>jB)xPT z`gCEl!SC!9kUujSyU!S751NdIh8ysWeu#dm`)SW8=+FyVIZpl% zI@gT9(U0}mG8E)&46a?KT^h1L#YxuNqN_#M{|B}k)hokiv~TbU>`i!2dvx&AuoXDR zGh2bQ2hpilK)+6V<}yY(Wx<=o?53_9$eKMxu*Ygay!KbH8-Tv6j%93ObSVrCUS5d4{2_7} z-E^mSbm>^1`Ct6(B?N7Tkjdz3qkh>M_}v3 zJQU1*2U2VD$|G!C_}v`12Mx9%Z3n#d9%phem%q$&pLS;axaJRZ2HM|c?RO5^8OGSb z!`aJ$;~$B6Pg%pX*e5L~b~V2TF+Z%t#^E@!yCU=5Dr^%@zDORsfOcG)hn!r@eQyKP zfJ}MeInvm(tSJjX`~8^<=E0j2!2c~xveswqk%xHvr44zP`&^9o%oNCk0$l%w^##`& z@ocT>?3=PiS^b_mLkM}mb>j!#NBTan5O_ml4*8XJNf@>Y*jaVqw`xoI48*Q#k9;mc z-0F9c`P7w$(#y%C5!MUIceHs>em-UUn?g)C9OnXi1ATWhUC z78Yd9wg-Gc?*SDId6-<6ig`HG0y#e158JYI;I}%oFo&4w6=@T)=lgTmG(al{sB5%8 zGGP_6vn+BRJF}|WXcyNjLQr4A*XO^&UgJ3U=>%@E$(g&wkftZlp|rrJs2ytwY#Z8S zU{2zh@4By^?9(<`Hbf(gWHVA@!rrX>)kY? znbYoLul5#aNW5oAdHUG(b>wa^=fJSGTg3YLE$CoDXXbIz(eUdOZ{$5=`0Ys6p3{&~ zynhj8M}ghIuRvaGd9nZvfJQpwN1YwGcU@~@t@pwe!ymHFY;+`8s_EUtY7M4>v)wheus5Y3FeRS*l)6KROjF}WoNBK?@wc1hc}7_gJ0I$+CuD7k6?!kPP3fm{DYL(lG4^H6Zjse zgxzg5U2V9Ve=62QWf%S8+bXv&b8lv4Pb6{|Wlf=>*exj@nuji!ey3WG4Jo|w!bx%d z{s%GO*#A5B|Bn5?WB>2i|2y{oj{U!5|L@rUJNEyM{r~^qLf`3Hv4h9loz_I^# z?Eg*MeP74^U)icF+uZ`@J}LS=(s$Nt~flpT)!zhnRJwl8z+{}n?x_W%Ds{S}nG zqhtU7ubfEm`>=cw6uun$f7`#*vH$-!Y~17g5ELy%vPN?3|J|-yzRmv9yXvZA|NprC zd5pQHbnO41mmh*-|L@rUJNEyM{l8=X@7Vu4_WzFkzhnRJ*#A5B|Bn5?WB>2i|2y{o z=4ONQ&jSOV`v2GP^SDiH-Nfhr{f-Zv0$-jhmDl~SbN-)m{-1OHpL70SM7PL((XNJ} zG12}{IteW9VDo1?*w8+o{P9{;+_Hz_K9lxo&fE4lqRct}ubjVMWO#UN1g9wbxAF6D z6&V>8?cca1KfNo&AGqY4|L2_l=ifH;Z*aW_b0s*$&pH3^iGnhg_==nf-z_Y(Yuq`_ z>df`@0AUfZMRU&obI$*B&i{*_jzS}X!eYB|PFrkDXc#k>Tva@xn85Y?+(&g2*JkZX|<<%`TuzN&g zbWCVav` zY`4%z|8ix^{k`vTOKcU8Yxe$!SNzvjf#<)-alZeZ?|^7 zXPD=7t5|9rBOx3i!C8)+`2*wtRDB!`Be{Uw0B!}GQ|OMt?;_0)6aWeWg#eEGkRm`) zfTJ;_IKWXmQW7Wycmbt>GC*0t8z={q2Pyy+fl9#30LOF4D}WEc5pYrk;0PDa+2(u_ zz!#_i)CBy1T0m`}4p0}U2h;}|0197efV4nspbgL!2m*QmY!ML|igVcjwYSm^Xb*G% zIs*PcC!jMB0CWLb0F8jgKofwYPox>p9N_p82?V+WtpMlG!GMDS2LlcU91J)Za4_It zz`=ln0S5yP1{@4L4F)2f=4R(!2LlcU91J)Za4_Itz`=ln0S5yP1{@4H7;rG)V8FqE og8>Hv4h9?yI2dp+;9$VPfP(=C0}cip3^*8YFyLU|zY+ug4=%DzNdN!< literal 0 HcmV?d00001 diff --git a/unittest/x64/Debug/vcpkg.applocal.log b/unittest/x64/Debug/vcpkg.applocal.log new file mode 100644 index 0000000..e02abfc --- /dev/null +++ b/unittest/x64/Debug/vcpkg.applocal.log @@ -0,0 +1 @@ +